coinley-test 0.1.21 → 0.1.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.esm.js +5343 -16
- package/dist/index.esm.js.map +1 -1
- package/dist/index.umd.js +6 -50
- package/dist/index.umd.js.map +1 -1
- package/dist/style.css +1 -1
- package/dist/vanilla/coinley-vanilla.umd.js +8 -52
- package/dist/vanilla/coinley-vanilla.umd.js.map +1 -1
- package/dist/vanilla/style.css +1 -1
- package/package.json +2 -1
- package/dist/browser-DHO2FbBz.mjs +0 -449
- package/dist/browser-DHO2FbBz.mjs.map +0 -1
- package/dist/ccip-CTWZvyt_.mjs +0 -164
- package/dist/ccip-CTWZvyt_.mjs.map +0 -1
- package/dist/hooks.module-Bfcqh_BB.mjs +0 -505
- package/dist/hooks.module-Bfcqh_BB.mjs.map +0 -1
- package/dist/index-7kjDlBax.mjs +0 -21873
- package/dist/index-7kjDlBax.mjs.map +0 -1
- package/dist/index-C-uwckkC.mjs +0 -11407
- package/dist/index-C-uwckkC.mjs.map +0 -1
- package/dist/index-gav4-Rkv.mjs +0 -21884
- package/dist/index-gav4-Rkv.mjs.map +0 -1
- package/dist/metamask-sdk-DsnqfOjb.mjs +0 -15553
- package/dist/metamask-sdk-DsnqfOjb.mjs.map +0 -1
- package/dist/secp256k1-VR3K94eb.mjs +0 -1890
- package/dist/secp256k1-VR3K94eb.mjs.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"metamask-sdk-DsnqfOjb.mjs","sources":["../node_modules/cross-fetch/dist/browser-ponyfill.js","../node_modules/eventemitter2/lib/eventemitter2.js","../node_modules/uuid/dist/esm-browser/rng.js","../node_modules/uuid/dist/esm-browser/regex.js","../node_modules/uuid/dist/esm-browser/validate.js","../node_modules/uuid/dist/esm-browser/stringify.js","../node_modules/uuid/dist/esm-browser/v4.js","../node_modules/engine.io-parser/build/esm/commons.js","../node_modules/engine.io-parser/build/esm/encodePacket.browser.js","../node_modules/engine.io-parser/build/esm/contrib/base64-arraybuffer.js","../node_modules/engine.io-parser/build/esm/decodePacket.browser.js","../node_modules/engine.io-parser/build/esm/index.js","../node_modules/@socket.io/component-emitter/lib/esm/index.js","../node_modules/engine.io-client/build/esm/globals.js","../node_modules/engine.io-client/build/esm/util.js","../node_modules/engine.io-client/build/esm/contrib/parseqs.js","../node_modules/engine.io-client/build/esm/transport.js","../node_modules/engine.io-client/build/esm/transports/polling.js","../node_modules/engine.io-client/build/esm/contrib/has-cors.js","../node_modules/engine.io-client/build/esm/transports/polling-xhr.js","../node_modules/engine.io-client/build/esm/transports/websocket.js","../node_modules/engine.io-client/build/esm/transports/webtransport.js","../node_modules/engine.io-client/build/esm/transports/index.js","../node_modules/engine.io-client/build/esm/contrib/parseuri.js","../node_modules/engine.io-client/build/esm/socket.js","../node_modules/socket.io-client/build/esm/url.js","../node_modules/socket.io-parser/build/esm/is-binary.js","../node_modules/socket.io-parser/build/esm/binary.js","../node_modules/socket.io-parser/build/esm/index.js","../node_modules/socket.io-client/build/esm/on.js","../node_modules/socket.io-client/build/esm/socket.js","../node_modules/socket.io-client/build/esm/contrib/backo2.js","../node_modules/socket.io-client/build/esm/manager.js","../node_modules/socket.io-client/build/esm/index.js","../node_modules/@metamask/sdk/dist/browser/es/metamask-sdk.js"],"sourcesContent":["// Save global object in a variable\nvar __global__ =\n(typeof globalThis !== 'undefined' && globalThis) ||\n(typeof self !== 'undefined' && self) ||\n(typeof global !== 'undefined' && global);\n// Create an object that extends from __global__ without the fetch function\nvar __globalThis__ = (function () {\nfunction F() {\nthis.fetch = false;\nthis.DOMException = __global__.DOMException\n}\nF.prototype = __global__; // Needed for feature detection on whatwg-fetch's code\nreturn new F();\n})();\n// Wraps whatwg-fetch with a function scope to hijack the global object\n// \"globalThis\" that's going to be patched\n(function(globalThis) {\n\nvar irrelevant = (function (exports) {\n\n /* eslint-disable no-prototype-builtins */\n var g =\n (typeof globalThis !== 'undefined' && globalThis) ||\n (typeof self !== 'undefined' && self) ||\n // eslint-disable-next-line no-undef\n (typeof global !== 'undefined' && global) ||\n {};\n\n var support = {\n searchParams: 'URLSearchParams' in g,\n iterable: 'Symbol' in g && 'iterator' in Symbol,\n blob:\n 'FileReader' in g &&\n 'Blob' in g &&\n (function() {\n try {\n new Blob();\n return true\n } catch (e) {\n return false\n }\n })(),\n formData: 'FormData' in g,\n arrayBuffer: 'ArrayBuffer' in g\n };\n\n function isDataView(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n }\n\n if (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ];\n\n var isArrayBufferView =\n ArrayBuffer.isView ||\n function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n };\n }\n\n function normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name);\n }\n if (/[^a-z0-9\\-#$%&'*+.^_`|~!]/i.test(name) || name === '') {\n throw new TypeError('Invalid character in header field name: \"' + name + '\"')\n }\n return name.toLowerCase()\n }\n\n function normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value);\n }\n return value\n }\n\n // Build a destructive iterator for the value list\n function iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift();\n return {done: value === undefined, value: value}\n }\n };\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n };\n }\n\n return iterator\n }\n\n function Headers(headers) {\n this.map = {};\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value);\n }, this);\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n if (header.length != 2) {\n throw new TypeError('Headers constructor: expected name/value pair to be length 2, found' + header.length)\n }\n this.append(header[0], header[1]);\n }, this);\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name]);\n }, this);\n }\n }\n\n Headers.prototype.append = function(name, value) {\n name = normalizeName(name);\n value = normalizeValue(value);\n var oldValue = this.map[name];\n this.map[name] = oldValue ? oldValue + ', ' + value : value;\n };\n\n Headers.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)];\n };\n\n Headers.prototype.get = function(name) {\n name = normalizeName(name);\n return this.has(name) ? this.map[name] : null\n };\n\n Headers.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n };\n\n Headers.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value);\n };\n\n Headers.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this);\n }\n }\n };\n\n Headers.prototype.keys = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push(name);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.values = function() {\n var items = [];\n this.forEach(function(value) {\n items.push(value);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.entries = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push([name, value]);\n });\n return iteratorFor(items)\n };\n\n if (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries;\n }\n\n function consumed(body) {\n if (body._noBody) return\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true;\n }\n\n function fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result);\n };\n reader.onerror = function() {\n reject(reader.error);\n };\n })\n }\n\n function readBlobAsArrayBuffer(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsArrayBuffer(blob);\n return promise\n }\n\n function readBlobAsText(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n var match = /charset=([A-Za-z0-9_-]+)/.exec(blob.type);\n var encoding = match ? match[1] : 'utf-8';\n reader.readAsText(blob, encoding);\n return promise\n }\n\n function readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf);\n var chars = new Array(view.length);\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i]);\n }\n return chars.join('')\n }\n\n function bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength);\n view.set(new Uint8Array(buf));\n return view.buffer\n }\n }\n\n function Body() {\n this.bodyUsed = false;\n\n this._initBody = function(body) {\n /*\n fetch-mock wraps the Response object in an ES6 Proxy to\n provide useful test harness features such as flush. However, on\n ES5 browsers without fetch or Proxy support pollyfills must be used;\n the proxy-pollyfill is unable to proxy an attribute unless it exists\n on the object before the Proxy is created. This change ensures\n Response.bodyUsed exists on the instance, while maintaining the\n semantic of setting Request.bodyUsed in the constructor before\n _initBody is called.\n */\n // eslint-disable-next-line no-self-assign\n this.bodyUsed = this.bodyUsed;\n this._bodyInit = body;\n if (!body) {\n this._noBody = true;\n this._bodyText = '';\n } else if (typeof body === 'string') {\n this._bodyText = body;\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body;\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body;\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString();\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer);\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer]);\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body);\n } else {\n this._bodyText = body = Object.prototype.toString.call(body);\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8');\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type);\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n }\n };\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n };\n }\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n var isConsumed = consumed(this);\n if (isConsumed) {\n return isConsumed\n } else if (ArrayBuffer.isView(this._bodyArrayBuffer)) {\n return Promise.resolve(\n this._bodyArrayBuffer.buffer.slice(\n this._bodyArrayBuffer.byteOffset,\n this._bodyArrayBuffer.byteOffset + this._bodyArrayBuffer.byteLength\n )\n )\n } else {\n return Promise.resolve(this._bodyArrayBuffer)\n }\n } else if (support.blob) {\n return this.blob().then(readBlobAsArrayBuffer)\n } else {\n throw new Error('could not read as ArrayBuffer')\n }\n };\n\n this.text = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n };\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n };\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n };\n\n return this\n }\n\n // HTTP methods whose capitalization should be normalized\n var methods = ['CONNECT', 'DELETE', 'GET', 'HEAD', 'OPTIONS', 'PATCH', 'POST', 'PUT', 'TRACE'];\n\n function normalizeMethod(method) {\n var upcased = method.toUpperCase();\n return methods.indexOf(upcased) > -1 ? upcased : method\n }\n\n function Request(input, options) {\n if (!(this instanceof Request)) {\n throw new TypeError('Please use the \"new\" operator, this DOM object constructor cannot be called as a function.')\n }\n\n options = options || {};\n var body = options.body;\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url;\n this.credentials = input.credentials;\n if (!options.headers) {\n this.headers = new Headers(input.headers);\n }\n this.method = input.method;\n this.mode = input.mode;\n this.signal = input.signal;\n if (!body && input._bodyInit != null) {\n body = input._bodyInit;\n input.bodyUsed = true;\n }\n } else {\n this.url = String(input);\n }\n\n this.credentials = options.credentials || this.credentials || 'same-origin';\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers);\n }\n this.method = normalizeMethod(options.method || this.method || 'GET');\n this.mode = options.mode || this.mode || null;\n this.signal = options.signal || this.signal || (function () {\n if ('AbortController' in g) {\n var ctrl = new AbortController();\n return ctrl.signal;\n }\n }());\n this.referrer = null;\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body);\n\n if (this.method === 'GET' || this.method === 'HEAD') {\n if (options.cache === 'no-store' || options.cache === 'no-cache') {\n // Search for a '_' parameter in the query string\n var reParamSearch = /([?&])_=[^&]*/;\n if (reParamSearch.test(this.url)) {\n // If it already exists then set the value with the current time\n this.url = this.url.replace(reParamSearch, '$1_=' + new Date().getTime());\n } else {\n // Otherwise add a new '_' parameter to the end with the current time\n var reQueryString = /\\?/;\n this.url += (reQueryString.test(this.url) ? '&' : '?') + '_=' + new Date().getTime();\n }\n }\n }\n }\n\n Request.prototype.clone = function() {\n return new Request(this, {body: this._bodyInit})\n };\n\n function decode(body) {\n var form = new FormData();\n body\n .trim()\n .split('&')\n .forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=');\n var name = split.shift().replace(/\\+/g, ' ');\n var value = split.join('=').replace(/\\+/g, ' ');\n form.append(decodeURIComponent(name), decodeURIComponent(value));\n }\n });\n return form\n }\n\n function parseHeaders(rawHeaders) {\n var headers = new Headers();\n // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\n // https://tools.ietf.org/html/rfc7230#section-3.2\n var preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, ' ');\n // Avoiding split via regex to work around a common IE11 bug with the core-js 3.6.0 regex polyfill\n // https://github.com/github/fetch/issues/748\n // https://github.com/zloirock/core-js/issues/751\n preProcessedHeaders\n .split('\\r')\n .map(function(header) {\n return header.indexOf('\\n') === 0 ? header.substr(1, header.length) : header\n })\n .forEach(function(line) {\n var parts = line.split(':');\n var key = parts.shift().trim();\n if (key) {\n var value = parts.join(':').trim();\n try {\n headers.append(key, value);\n } catch (error) {\n console.warn('Response ' + error.message);\n }\n }\n });\n return headers\n }\n\n Body.call(Request.prototype);\n\n function Response(bodyInit, options) {\n if (!(this instanceof Response)) {\n throw new TypeError('Please use the \"new\" operator, this DOM object constructor cannot be called as a function.')\n }\n if (!options) {\n options = {};\n }\n\n this.type = 'default';\n this.status = options.status === undefined ? 200 : options.status;\n if (this.status < 200 || this.status > 599) {\n throw new RangeError(\"Failed to construct 'Response': The status provided (0) is outside the range [200, 599].\")\n }\n this.ok = this.status >= 200 && this.status < 300;\n this.statusText = options.statusText === undefined ? '' : '' + options.statusText;\n this.headers = new Headers(options.headers);\n this.url = options.url || '';\n this._initBody(bodyInit);\n }\n\n Body.call(Response.prototype);\n\n Response.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n };\n\n Response.error = function() {\n var response = new Response(null, {status: 200, statusText: ''});\n response.ok = false;\n response.status = 0;\n response.type = 'error';\n return response\n };\n\n var redirectStatuses = [301, 302, 303, 307, 308];\n\n Response.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n };\n\n exports.DOMException = g.DOMException;\n try {\n new exports.DOMException();\n } catch (err) {\n exports.DOMException = function(message, name) {\n this.message = message;\n this.name = name;\n var error = Error(message);\n this.stack = error.stack;\n };\n exports.DOMException.prototype = Object.create(Error.prototype);\n exports.DOMException.prototype.constructor = exports.DOMException;\n }\n\n function fetch(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init);\n\n if (request.signal && request.signal.aborted) {\n return reject(new exports.DOMException('Aborted', 'AbortError'))\n }\n\n var xhr = new XMLHttpRequest();\n\n function abortXhr() {\n xhr.abort();\n }\n\n xhr.onload = function() {\n var options = {\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n };\n // This check if specifically for when a user fetches a file locally from the file system\n // Only if the status is out of a normal range\n if (request.url.indexOf('file://') === 0 && (xhr.status < 200 || xhr.status > 599)) {\n options.status = 200;\n } else {\n options.status = xhr.status;\n }\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL');\n var body = 'response' in xhr ? xhr.response : xhr.responseText;\n setTimeout(function() {\n resolve(new Response(body, options));\n }, 0);\n };\n\n xhr.onerror = function() {\n setTimeout(function() {\n reject(new TypeError('Network request failed'));\n }, 0);\n };\n\n xhr.ontimeout = function() {\n setTimeout(function() {\n reject(new TypeError('Network request timed out'));\n }, 0);\n };\n\n xhr.onabort = function() {\n setTimeout(function() {\n reject(new exports.DOMException('Aborted', 'AbortError'));\n }, 0);\n };\n\n function fixUrl(url) {\n try {\n return url === '' && g.location.href ? g.location.href : url\n } catch (e) {\n return url\n }\n }\n\n xhr.open(request.method, fixUrl(request.url), true);\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true;\n } else if (request.credentials === 'omit') {\n xhr.withCredentials = false;\n }\n\n if ('responseType' in xhr) {\n if (support.blob) {\n xhr.responseType = 'blob';\n } else if (\n support.arrayBuffer\n ) {\n xhr.responseType = 'arraybuffer';\n }\n }\n\n if (init && typeof init.headers === 'object' && !(init.headers instanceof Headers || (g.Headers && init.headers instanceof g.Headers))) {\n var names = [];\n Object.getOwnPropertyNames(init.headers).forEach(function(name) {\n names.push(normalizeName(name));\n xhr.setRequestHeader(name, normalizeValue(init.headers[name]));\n });\n request.headers.forEach(function(value, name) {\n if (names.indexOf(name) === -1) {\n xhr.setRequestHeader(name, value);\n }\n });\n } else {\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value);\n });\n }\n\n if (request.signal) {\n request.signal.addEventListener('abort', abortXhr);\n\n xhr.onreadystatechange = function() {\n // DONE (success or failure)\n if (xhr.readyState === 4) {\n request.signal.removeEventListener('abort', abortXhr);\n }\n };\n }\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit);\n })\n }\n\n fetch.polyfill = true;\n\n if (!g.fetch) {\n g.fetch = fetch;\n g.Headers = Headers;\n g.Request = Request;\n g.Response = Response;\n }\n\n exports.Headers = Headers;\n exports.Request = Request;\n exports.Response = Response;\n exports.fetch = fetch;\n\n return exports;\n\n})({});\n})(__globalThis__);\n// This is a ponyfill, so...\n__globalThis__.fetch.ponyfill = true;\ndelete __globalThis__.fetch.polyfill;\n// Choose between native implementation (__global__) or custom implementation (__globalThis__)\nvar ctx = __global__.fetch ? __global__ : __globalThis__;\nexports = ctx.fetch // To enable: import fetch from 'cross-fetch'\nexports.default = ctx.fetch // For TypeScript consumers without esModuleInterop.\nexports.fetch = ctx.fetch // To enable: import {fetch} from 'cross-fetch'\nexports.Headers = ctx.Headers\nexports.Request = ctx.Request\nexports.Response = ctx.Response\nmodule.exports = exports\n","/*!\n * EventEmitter2\n * https://github.com/hij1nx/EventEmitter2\n *\n * Copyright (c) 2013 hij1nx\n * Licensed under the MIT license.\n */\n;!function(undefined) {\n var hasOwnProperty= Object.hasOwnProperty;\n var isArray = Array.isArray ? Array.isArray : function _isArray(obj) {\n return Object.prototype.toString.call(obj) === \"[object Array]\";\n };\n var defaultMaxListeners = 10;\n var nextTickSupported= typeof process=='object' && typeof process.nextTick=='function';\n var symbolsSupported= typeof Symbol==='function';\n var reflectSupported= typeof Reflect === 'object';\n var setImmediateSupported= typeof setImmediate === 'function';\n var _setImmediate= setImmediateSupported ? setImmediate : setTimeout;\n var ownKeys= symbolsSupported? (reflectSupported && typeof Reflect.ownKeys==='function'? Reflect.ownKeys : function(obj){\n var arr= Object.getOwnPropertyNames(obj);\n arr.push.apply(arr, Object.getOwnPropertySymbols(obj));\n return arr;\n }) : Object.keys;\n\n function init() {\n this._events = {};\n if (this._conf) {\n configure.call(this, this._conf);\n }\n }\n\n function configure(conf) {\n if (conf) {\n this._conf = conf;\n\n conf.delimiter && (this.delimiter = conf.delimiter);\n\n if(conf.maxListeners!==undefined){\n this._maxListeners= conf.maxListeners;\n }\n\n conf.wildcard && (this.wildcard = conf.wildcard);\n conf.newListener && (this._newListener = conf.newListener);\n conf.removeListener && (this._removeListener = conf.removeListener);\n conf.verboseMemoryLeak && (this.verboseMemoryLeak = conf.verboseMemoryLeak);\n conf.ignoreErrors && (this.ignoreErrors = conf.ignoreErrors);\n\n if (this.wildcard) {\n this.listenerTree = {};\n }\n }\n }\n\n function logPossibleMemoryLeak(count, eventName) {\n var errorMsg = '(node) warning: possible EventEmitter memory ' +\n 'leak detected. ' + count + ' listeners added. ' +\n 'Use emitter.setMaxListeners() to increase limit.';\n\n if(this.verboseMemoryLeak){\n errorMsg += ' Event name: ' + eventName + '.';\n }\n\n if(typeof process !== 'undefined' && process.emitWarning){\n var e = new Error(errorMsg);\n e.name = 'MaxListenersExceededWarning';\n e.emitter = this;\n e.count = count;\n process.emitWarning(e);\n } else {\n console.error(errorMsg);\n\n if (console.trace){\n console.trace();\n }\n }\n }\n\n var toArray = function (a, b, c) {\n var n = arguments.length;\n switch (n) {\n case 0:\n return [];\n case 1:\n return [a];\n case 2:\n return [a, b];\n case 3:\n return [a, b, c];\n default:\n var arr = new Array(n);\n while (n--) {\n arr[n] = arguments[n];\n }\n return arr;\n }\n };\n\n function toObject(keys, values) {\n var obj = {};\n var key;\n var len = keys.length;\n var valuesCount = values ? values.length : 0;\n for (var i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = i < valuesCount ? values[i] : undefined;\n }\n return obj;\n }\n\n function TargetObserver(emitter, target, options) {\n this._emitter = emitter;\n this._target = target;\n this._listeners = {};\n this._listenersCount = 0;\n\n var on, off;\n\n if (options.on || options.off) {\n on = options.on;\n off = options.off;\n }\n\n if (target.addEventListener) {\n on = target.addEventListener;\n off = target.removeEventListener;\n } else if (target.addListener) {\n on = target.addListener;\n off = target.removeListener;\n } else if (target.on) {\n on = target.on;\n off = target.off;\n }\n\n if (!on && !off) {\n throw Error('target does not implement any known event API');\n }\n\n if (typeof on !== 'function') {\n throw TypeError('on method must be a function');\n }\n\n if (typeof off !== 'function') {\n throw TypeError('off method must be a function');\n }\n\n this._on = on;\n this._off = off;\n\n var _observers= emitter._observers;\n if(_observers){\n _observers.push(this);\n }else{\n emitter._observers= [this];\n }\n }\n\n Object.assign(TargetObserver.prototype, {\n subscribe: function(event, localEvent, reducer){\n var observer= this;\n var target= this._target;\n var emitter= this._emitter;\n var listeners= this._listeners;\n var handler= function(){\n var args= toArray.apply(null, arguments);\n var eventObj= {\n data: args,\n name: localEvent,\n original: event\n };\n if(reducer){\n var result= reducer.call(target, eventObj);\n if(result!==false){\n emitter.emit.apply(emitter, [eventObj.name].concat(args))\n }\n return;\n }\n emitter.emit.apply(emitter, [localEvent].concat(args));\n };\n\n\n if(listeners[event]){\n throw Error('Event \\'' + event + '\\' is already listening');\n }\n\n this._listenersCount++;\n\n if(emitter._newListener && emitter._removeListener && !observer._onNewListener){\n\n this._onNewListener = function (_event) {\n if (_event === localEvent && listeners[event] === null) {\n listeners[event] = handler;\n observer._on.call(target, event, handler);\n }\n };\n\n emitter.on('newListener', this._onNewListener);\n\n this._onRemoveListener= function(_event){\n if(_event === localEvent && !emitter.hasListeners(_event) && listeners[event]){\n listeners[event]= null;\n observer._off.call(target, event, handler);\n }\n };\n\n listeners[event]= null;\n\n emitter.on('removeListener', this._onRemoveListener);\n }else{\n listeners[event]= handler;\n observer._on.call(target, event, handler);\n }\n },\n\n unsubscribe: function(event){\n var observer= this;\n var listeners= this._listeners;\n var emitter= this._emitter;\n var handler;\n var events;\n var off= this._off;\n var target= this._target;\n var i;\n\n if(event && typeof event!=='string'){\n throw TypeError('event must be a string');\n }\n\n function clearRefs(){\n if(observer._onNewListener){\n emitter.off('newListener', observer._onNewListener);\n emitter.off('removeListener', observer._onRemoveListener);\n observer._onNewListener= null;\n observer._onRemoveListener= null;\n }\n var index= findTargetIndex.call(emitter, observer);\n emitter._observers.splice(index, 1);\n }\n\n if(event){\n handler= listeners[event];\n if(!handler) return;\n off.call(target, event, handler);\n delete listeners[event];\n if(!--this._listenersCount){\n clearRefs();\n }\n }else{\n events= ownKeys(listeners);\n i= events.length;\n while(i-->0){\n event= events[i];\n off.call(target, event, listeners[event]);\n }\n this._listeners= {};\n this._listenersCount= 0;\n clearRefs();\n }\n }\n });\n\n function resolveOptions(options, schema, reducers, allowUnknown) {\n var computedOptions = Object.assign({}, schema);\n\n if (!options) return computedOptions;\n\n if (typeof options !== 'object') {\n throw TypeError('options must be an object')\n }\n\n var keys = Object.keys(options);\n var length = keys.length;\n var option, value;\n var reducer;\n\n function reject(reason) {\n throw Error('Invalid \"' + option + '\" option value' + (reason ? '. Reason: ' + reason : ''))\n }\n\n for (var i = 0; i < length; i++) {\n option = keys[i];\n if (!allowUnknown && !hasOwnProperty.call(schema, option)) {\n throw Error('Unknown \"' + option + '\" option');\n }\n value = options[option];\n if (value !== undefined) {\n reducer = reducers[option];\n computedOptions[option] = reducer ? reducer(value, reject) : value;\n }\n }\n return computedOptions;\n }\n\n function constructorReducer(value, reject) {\n if (typeof value !== 'function' || !value.hasOwnProperty('prototype')) {\n reject('value must be a constructor');\n }\n return value;\n }\n\n function makeTypeReducer(types) {\n var message= 'value must be type of ' + types.join('|');\n var len= types.length;\n var firstType= types[0];\n var secondType= types[1];\n\n if (len === 1) {\n return function (v, reject) {\n if (typeof v === firstType) {\n return v;\n }\n reject(message);\n }\n }\n\n if (len === 2) {\n return function (v, reject) {\n var kind= typeof v;\n if (kind === firstType || kind === secondType) return v;\n reject(message);\n }\n }\n\n return function (v, reject) {\n var kind = typeof v;\n var i = len;\n while (i-- > 0) {\n if (kind === types[i]) return v;\n }\n reject(message);\n }\n }\n\n var functionReducer= makeTypeReducer(['function']);\n\n var objectFunctionReducer= makeTypeReducer(['object', 'function']);\n\n function makeCancelablePromise(Promise, executor, options) {\n var isCancelable;\n var callbacks;\n var timer= 0;\n var subscriptionClosed;\n\n var promise = new Promise(function (resolve, reject, onCancel) {\n options= resolveOptions(options, {\n timeout: 0,\n overload: false\n }, {\n timeout: function(value, reject){\n value*= 1;\n if (typeof value !== 'number' || value < 0 || !Number.isFinite(value)) {\n reject('timeout must be a positive number');\n }\n return value;\n }\n });\n\n isCancelable = !options.overload && typeof Promise.prototype.cancel === 'function' && typeof onCancel === 'function';\n\n function cleanup() {\n if (callbacks) {\n callbacks = null;\n }\n if (timer) {\n clearTimeout(timer);\n timer = 0;\n }\n }\n\n var _resolve= function(value){\n cleanup();\n resolve(value);\n };\n\n var _reject= function(err){\n cleanup();\n reject(err);\n };\n\n if (isCancelable) {\n executor(_resolve, _reject, onCancel);\n } else {\n callbacks = [function(reason){\n _reject(reason || Error('canceled'));\n }];\n executor(_resolve, _reject, function (cb) {\n if (subscriptionClosed) {\n throw Error('Unable to subscribe on cancel event asynchronously')\n }\n if (typeof cb !== 'function') {\n throw TypeError('onCancel callback must be a function');\n }\n callbacks.push(cb);\n });\n subscriptionClosed= true;\n }\n\n if (options.timeout > 0) {\n timer= setTimeout(function(){\n var reason= Error('timeout');\n reason.code = 'ETIMEDOUT'\n timer= 0;\n promise.cancel(reason);\n reject(reason);\n }, options.timeout);\n }\n });\n\n if (!isCancelable) {\n promise.cancel = function (reason) {\n if (!callbacks) {\n return;\n }\n var length = callbacks.length;\n for (var i = 1; i < length; i++) {\n callbacks[i](reason);\n }\n // internal callback to reject the promise\n callbacks[0](reason);\n callbacks = null;\n };\n }\n\n return promise;\n }\n\n function findTargetIndex(observer) {\n var observers = this._observers;\n if(!observers){\n return -1;\n }\n var len = observers.length;\n for (var i = 0; i < len; i++) {\n if (observers[i]._target === observer) return i;\n }\n return -1;\n }\n\n // Attention, function return type now is array, always !\n // It has zero elements if no any matches found and one or more\n // elements (leafs) if there are matches\n //\n function searchListenerTree(handlers, type, tree, i, typeLength) {\n if (!tree) {\n return null;\n }\n\n if (i === 0) {\n var kind = typeof type;\n if (kind === 'string') {\n var ns, n, l = 0, j = 0, delimiter = this.delimiter, dl = delimiter.length;\n if ((n = type.indexOf(delimiter)) !== -1) {\n ns = new Array(5);\n do {\n ns[l++] = type.slice(j, n);\n j = n + dl;\n } while ((n = type.indexOf(delimiter, j)) !== -1);\n\n ns[l++] = type.slice(j);\n type = ns;\n typeLength = l;\n } else {\n type = [type];\n typeLength = 1;\n }\n } else if (kind === 'object') {\n typeLength = type.length;\n } else {\n type = [type];\n typeLength = 1;\n }\n }\n\n var listeners= null, branch, xTree, xxTree, isolatedBranch, endReached, currentType = type[i],\n nextType = type[i + 1], branches, _listeners;\n\n if (i === typeLength) {\n //\n // If at the end of the event(s) list and the tree has listeners\n // invoke those listeners.\n //\n\n if(tree._listeners) {\n if (typeof tree._listeners === 'function') {\n handlers && handlers.push(tree._listeners);\n listeners = [tree];\n } else {\n handlers && handlers.push.apply(handlers, tree._listeners);\n listeners = [tree];\n }\n }\n } else {\n\n if (currentType === '*') {\n //\n // If the event emitted is '*' at this part\n // or there is a concrete match at this patch\n //\n branches = ownKeys(tree);\n n = branches.length;\n while (n-- > 0) {\n branch = branches[n];\n if (branch !== '_listeners') {\n _listeners = searchListenerTree(handlers, type, tree[branch], i + 1, typeLength);\n if (_listeners) {\n if (listeners) {\n listeners.push.apply(listeners, _listeners);\n } else {\n listeners = _listeners;\n }\n }\n }\n }\n return listeners;\n } else if (currentType === '**') {\n endReached = (i + 1 === typeLength || (i + 2 === typeLength && nextType === '*'));\n if (endReached && tree._listeners) {\n // The next element has a _listeners, add it to the handlers.\n listeners = searchListenerTree(handlers, type, tree, typeLength, typeLength);\n }\n\n branches = ownKeys(tree);\n n = branches.length;\n while (n-- > 0) {\n branch = branches[n];\n if (branch !== '_listeners') {\n if (branch === '*' || branch === '**') {\n if (tree[branch]._listeners && !endReached) {\n _listeners = searchListenerTree(handlers, type, tree[branch], typeLength, typeLength);\n if (_listeners) {\n if (listeners) {\n listeners.push.apply(listeners, _listeners);\n } else {\n listeners = _listeners;\n }\n }\n }\n _listeners = searchListenerTree(handlers, type, tree[branch], i, typeLength);\n } else if (branch === nextType) {\n _listeners = searchListenerTree(handlers, type, tree[branch], i + 2, typeLength);\n } else {\n // No match on this one, shift into the tree but not in the type array.\n _listeners = searchListenerTree(handlers, type, tree[branch], i, typeLength);\n }\n if (_listeners) {\n if (listeners) {\n listeners.push.apply(listeners, _listeners);\n } else {\n listeners = _listeners;\n }\n }\n }\n }\n return listeners;\n } else if (tree[currentType]) {\n listeners = searchListenerTree(handlers, type, tree[currentType], i + 1, typeLength);\n }\n }\n\n xTree = tree['*'];\n if (xTree) {\n //\n // If the listener tree will allow any match for this part,\n // then recursively explore all branches of the tree\n //\n searchListenerTree(handlers, type, xTree, i + 1, typeLength);\n }\n\n xxTree = tree['**'];\n if (xxTree) {\n if (i < typeLength) {\n if (xxTree._listeners) {\n // If we have a listener on a '**', it will catch all, so add its handler.\n searchListenerTree(handlers, type, xxTree, typeLength, typeLength);\n }\n\n // Build arrays of matching next branches and others.\n branches= ownKeys(xxTree);\n n= branches.length;\n while(n-->0){\n branch= branches[n];\n if (branch !== '_listeners') {\n if (branch === nextType) {\n // We know the next element will match, so jump twice.\n searchListenerTree(handlers, type, xxTree[branch], i + 2, typeLength);\n } else if (branch === currentType) {\n // Current node matches, move into the tree.\n searchListenerTree(handlers, type, xxTree[branch], i + 1, typeLength);\n } else {\n isolatedBranch = {};\n isolatedBranch[branch] = xxTree[branch];\n searchListenerTree(handlers, type, {'**': isolatedBranch}, i + 1, typeLength);\n }\n }\n }\n } else if (xxTree._listeners) {\n // We have reached the end and still on a '**'\n searchListenerTree(handlers, type, xxTree, typeLength, typeLength);\n } else if (xxTree['*'] && xxTree['*']._listeners) {\n searchListenerTree(handlers, type, xxTree['*'], typeLength, typeLength);\n }\n }\n\n return listeners;\n }\n\n function growListenerTree(type, listener, prepend) {\n var len = 0, j = 0, i, delimiter = this.delimiter, dl= delimiter.length, ns;\n\n if(typeof type==='string') {\n if ((i = type.indexOf(delimiter)) !== -1) {\n ns = new Array(5);\n do {\n ns[len++] = type.slice(j, i);\n j = i + dl;\n } while ((i = type.indexOf(delimiter, j)) !== -1);\n\n ns[len++] = type.slice(j);\n }else{\n ns= [type];\n len= 1;\n }\n }else{\n ns= type;\n len= type.length;\n }\n\n //\n // Looks for two consecutive '**', if so, don't add the event at all.\n //\n if (len > 1) {\n for (i = 0; i + 1 < len; i++) {\n if (ns[i] === '**' && ns[i + 1] === '**') {\n return;\n }\n }\n }\n\n\n\n var tree = this.listenerTree, name;\n\n for (i = 0; i < len; i++) {\n name = ns[i];\n\n tree = tree[name] || (tree[name] = {});\n\n if (i === len - 1) {\n if (!tree._listeners) {\n tree._listeners = listener;\n } else {\n if (typeof tree._listeners === 'function') {\n tree._listeners = [tree._listeners];\n }\n\n if (prepend) {\n tree._listeners.unshift(listener);\n } else {\n tree._listeners.push(listener);\n }\n\n if (\n !tree._listeners.warned &&\n this._maxListeners > 0 &&\n tree._listeners.length > this._maxListeners\n ) {\n tree._listeners.warned = true;\n logPossibleMemoryLeak.call(this, tree._listeners.length, name);\n }\n }\n return true;\n }\n }\n\n return true;\n }\n\n function collectTreeEvents(tree, events, root, asArray){\n var branches= ownKeys(tree);\n var i= branches.length;\n var branch, branchName, path;\n var hasListeners= tree['_listeners'];\n var isArrayPath;\n\n while(i-->0){\n branchName= branches[i];\n\n branch= tree[branchName];\n\n if(branchName==='_listeners'){\n path= root;\n }else {\n path = root ? root.concat(branchName) : [branchName];\n }\n\n isArrayPath= asArray || typeof branchName==='symbol';\n\n hasListeners && events.push(isArrayPath? path : path.join(this.delimiter));\n\n if(typeof branch==='object'){\n collectTreeEvents.call(this, branch, events, path, isArrayPath);\n }\n }\n\n return events;\n }\n\n function recursivelyGarbageCollect(root) {\n var keys = ownKeys(root);\n var i= keys.length;\n var obj, key, flag;\n while(i-->0){\n key = keys[i];\n obj = root[key];\n\n if(obj){\n flag= true;\n if(key !== '_listeners' && !recursivelyGarbageCollect(obj)){\n delete root[key];\n }\n }\n }\n\n return flag;\n }\n\n function Listener(emitter, event, listener){\n this.emitter= emitter;\n this.event= event;\n this.listener= listener;\n }\n\n Listener.prototype.off= function(){\n this.emitter.off(this.event, this.listener);\n return this;\n };\n\n function setupListener(event, listener, options){\n if (options === true) {\n promisify = true;\n } else if (options === false) {\n async = true;\n } else {\n if (!options || typeof options !== 'object') {\n throw TypeError('options should be an object or true');\n }\n var async = options.async;\n var promisify = options.promisify;\n var nextTick = options.nextTick;\n var objectify = options.objectify;\n }\n\n if (async || nextTick || promisify) {\n var _listener = listener;\n var _origin = listener._origin || listener;\n\n if (nextTick && !nextTickSupported) {\n throw Error('process.nextTick is not supported');\n }\n\n if (promisify === undefined) {\n promisify = listener.constructor.name === 'AsyncFunction';\n }\n\n listener = function () {\n var args = arguments;\n var context = this;\n var event = this.event;\n\n return promisify ? (nextTick ? Promise.resolve() : new Promise(function (resolve) {\n _setImmediate(resolve);\n }).then(function () {\n context.event = event;\n return _listener.apply(context, args)\n })) : (nextTick ? process.nextTick : _setImmediate)(function () {\n context.event = event;\n _listener.apply(context, args)\n });\n };\n\n listener._async = true;\n listener._origin = _origin;\n }\n\n return [listener, objectify? new Listener(this, event, listener): this];\n }\n\n function EventEmitter(conf) {\n this._events = {};\n this._newListener = false;\n this._removeListener = false;\n this.verboseMemoryLeak = false;\n configure.call(this, conf);\n }\n\n EventEmitter.EventEmitter2 = EventEmitter; // backwards compatibility for exporting EventEmitter property\n\n EventEmitter.prototype.listenTo= function(target, events, options){\n if(typeof target!=='object'){\n throw TypeError('target musts be an object');\n }\n\n var emitter= this;\n\n options = resolveOptions(options, {\n on: undefined,\n off: undefined,\n reducers: undefined\n }, {\n on: functionReducer,\n off: functionReducer,\n reducers: objectFunctionReducer\n });\n\n function listen(events){\n if(typeof events!=='object'){\n throw TypeError('events must be an object');\n }\n\n var reducers= options.reducers;\n var index= findTargetIndex.call(emitter, target);\n var observer;\n\n if(index===-1){\n observer= new TargetObserver(emitter, target, options);\n }else{\n observer= emitter._observers[index];\n }\n\n var keys= ownKeys(events);\n var len= keys.length;\n var event;\n var isSingleReducer= typeof reducers==='function';\n\n for(var i=0; i<len; i++){\n event= keys[i];\n observer.subscribe(\n event,\n events[event] || event,\n isSingleReducer ? reducers : reducers && reducers[event]\n );\n }\n }\n\n isArray(events)?\n listen(toObject(events)) :\n (typeof events==='string'? listen(toObject(events.split(/\\s+/))): listen(events));\n\n return this;\n };\n\n EventEmitter.prototype.stopListeningTo = function (target, event) {\n var observers = this._observers;\n\n if(!observers){\n return false;\n }\n\n var i = observers.length;\n var observer;\n var matched= false;\n\n if(target && typeof target!=='object'){\n throw TypeError('target should be an object');\n }\n\n while (i-- > 0) {\n observer = observers[i];\n if (!target || observer._target === target) {\n observer.unsubscribe(event);\n matched= true;\n }\n }\n\n return matched;\n };\n\n // By default EventEmitters will print a warning if more than\n // 10 listeners are added to it. This is a useful default which\n // helps finding memory leaks.\n //\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 EventEmitter.prototype.delimiter = '.';\n\n EventEmitter.prototype.setMaxListeners = function(n) {\n if (n !== undefined) {\n this._maxListeners = n;\n if (!this._conf) this._conf = {};\n this._conf.maxListeners = n;\n }\n };\n\n EventEmitter.prototype.getMaxListeners = function() {\n return this._maxListeners;\n };\n\n EventEmitter.prototype.event = '';\n\n EventEmitter.prototype.once = function(event, fn, options) {\n return this._once(event, fn, false, options);\n };\n\n EventEmitter.prototype.prependOnceListener = function(event, fn, options) {\n return this._once(event, fn, true, options);\n };\n\n EventEmitter.prototype._once = function(event, fn, prepend, options) {\n return this._many(event, 1, fn, prepend, options);\n };\n\n EventEmitter.prototype.many = function(event, ttl, fn, options) {\n return this._many(event, ttl, fn, false, options);\n };\n\n EventEmitter.prototype.prependMany = function(event, ttl, fn, options) {\n return this._many(event, ttl, fn, true, options);\n };\n\n EventEmitter.prototype._many = function(event, ttl, fn, prepend, options) {\n var self = this;\n\n if (typeof fn !== 'function') {\n throw new Error('many only accepts instances of Function');\n }\n\n function listener() {\n if (--ttl === 0) {\n self.off(event, listener);\n }\n return fn.apply(this, arguments);\n }\n\n listener._origin = fn;\n\n return this._on(event, listener, prepend, options);\n };\n\n EventEmitter.prototype.emit = function() {\n if (!this._events && !this._all) {\n return false;\n }\n\n this._events || init.call(this);\n\n var type = arguments[0], ns, wildcard= this.wildcard;\n var args,l,i,j, containsSymbol;\n\n if (type === 'newListener' && !this._newListener) {\n if (!this._events.newListener) {\n return false;\n }\n }\n\n if (wildcard) {\n ns= type;\n if(type!=='newListener' && type!=='removeListener'){\n if (typeof type === 'object') {\n l = type.length;\n if (symbolsSupported) {\n for (i = 0; i < l; i++) {\n if (typeof type[i] === 'symbol') {\n containsSymbol = true;\n break;\n }\n }\n }\n if (!containsSymbol) {\n type = type.join(this.delimiter);\n }\n }\n }\n }\n\n var al = arguments.length;\n var handler;\n\n if (this._all && this._all.length) {\n handler = this._all.slice();\n\n for (i = 0, l = handler.length; i < l; i++) {\n this.event = type;\n switch (al) {\n case 1:\n handler[i].call(this, type);\n break;\n case 2:\n handler[i].call(this, type, arguments[1]);\n break;\n case 3:\n handler[i].call(this, type, arguments[1], arguments[2]);\n break;\n default:\n handler[i].apply(this, arguments);\n }\n }\n }\n\n if (wildcard) {\n handler = [];\n searchListenerTree.call(this, handler, ns, this.listenerTree, 0, l);\n } else {\n handler = this._events[type];\n if (typeof handler === 'function') {\n this.event = type;\n switch (al) {\n case 1:\n handler.call(this);\n break;\n case 2:\n handler.call(this, arguments[1]);\n break;\n case 3:\n handler.call(this, arguments[1], arguments[2]);\n break;\n default:\n args = new Array(al - 1);\n for (j = 1; j < al; j++) args[j - 1] = arguments[j];\n handler.apply(this, args);\n }\n return true;\n } else if (handler) {\n // need to make copy of handlers because list can change in the middle\n // of emit call\n handler = handler.slice();\n }\n }\n\n if (handler && handler.length) {\n if (al > 3) {\n args = new Array(al - 1);\n for (j = 1; j < al; j++) args[j - 1] = arguments[j];\n }\n for (i = 0, l = handler.length; i < l; i++) {\n this.event = type;\n switch (al) {\n case 1:\n handler[i].call(this);\n break;\n case 2:\n handler[i].call(this, arguments[1]);\n break;\n case 3:\n handler[i].call(this, arguments[1], arguments[2]);\n break;\n default:\n handler[i].apply(this, args);\n }\n }\n return true;\n } else if (!this.ignoreErrors && !this._all && type === 'error') {\n if (arguments[1] instanceof Error) {\n throw arguments[1]; // Unhandled 'error' event\n } else {\n throw new Error(\"Uncaught, unspecified 'error' event.\");\n }\n }\n\n return !!this._all;\n };\n\n EventEmitter.prototype.emitAsync = function() {\n if (!this._events && !this._all) {\n return false;\n }\n\n this._events || init.call(this);\n\n var type = arguments[0], wildcard= this.wildcard, ns, containsSymbol;\n var args,l,i,j;\n\n if (type === 'newListener' && !this._newListener) {\n if (!this._events.newListener) { return Promise.resolve([false]); }\n }\n\n if (wildcard) {\n ns= type;\n if(type!=='newListener' && type!=='removeListener'){\n if (typeof type === 'object') {\n l = type.length;\n if (symbolsSupported) {\n for (i = 0; i < l; i++) {\n if (typeof type[i] === 'symbol') {\n containsSymbol = true;\n break;\n }\n }\n }\n if (!containsSymbol) {\n type = type.join(this.delimiter);\n }\n }\n }\n }\n\n var promises= [];\n\n var al = arguments.length;\n var handler;\n\n if (this._all) {\n for (i = 0, l = this._all.length; i < l; i++) {\n this.event = type;\n switch (al) {\n case 1:\n promises.push(this._all[i].call(this, type));\n break;\n case 2:\n promises.push(this._all[i].call(this, type, arguments[1]));\n break;\n case 3:\n promises.push(this._all[i].call(this, type, arguments[1], arguments[2]));\n break;\n default:\n promises.push(this._all[i].apply(this, arguments));\n }\n }\n }\n\n if (wildcard) {\n handler = [];\n searchListenerTree.call(this, handler, ns, this.listenerTree, 0);\n } else {\n handler = this._events[type];\n }\n\n if (typeof handler === 'function') {\n this.event = type;\n switch (al) {\n case 1:\n promises.push(handler.call(this));\n break;\n case 2:\n promises.push(handler.call(this, arguments[1]));\n break;\n case 3:\n promises.push(handler.call(this, arguments[1], arguments[2]));\n break;\n default:\n args = new Array(al - 1);\n for (j = 1; j < al; j++) args[j - 1] = arguments[j];\n promises.push(handler.apply(this, args));\n }\n } else if (handler && handler.length) {\n handler = handler.slice();\n if (al > 3) {\n args = new Array(al - 1);\n for (j = 1; j < al; j++) args[j - 1] = arguments[j];\n }\n for (i = 0, l = handler.length; i < l; i++) {\n this.event = type;\n switch (al) {\n case 1:\n promises.push(handler[i].call(this));\n break;\n case 2:\n promises.push(handler[i].call(this, arguments[1]));\n break;\n case 3:\n promises.push(handler[i].call(this, arguments[1], arguments[2]));\n break;\n default:\n promises.push(handler[i].apply(this, args));\n }\n }\n } else if (!this.ignoreErrors && !this._all && type === 'error') {\n if (arguments[1] instanceof Error) {\n return Promise.reject(arguments[1]); // Unhandled 'error' event\n } else {\n return Promise.reject(\"Uncaught, unspecified 'error' event.\");\n }\n }\n\n return Promise.all(promises);\n };\n\n EventEmitter.prototype.on = function(type, listener, options) {\n return this._on(type, listener, false, options);\n };\n\n EventEmitter.prototype.prependListener = function(type, listener, options) {\n return this._on(type, listener, true, options);\n };\n\n EventEmitter.prototype.onAny = function(fn) {\n return this._onAny(fn, false);\n };\n\n EventEmitter.prototype.prependAny = function(fn) {\n return this._onAny(fn, true);\n };\n\n EventEmitter.prototype.addListener = EventEmitter.prototype.on;\n\n EventEmitter.prototype._onAny = function(fn, prepend){\n if (typeof fn !== 'function') {\n throw new Error('onAny only accepts instances of Function');\n }\n\n if (!this._all) {\n this._all = [];\n }\n\n // Add the function to the event listener collection.\n if(prepend){\n this._all.unshift(fn);\n }else{\n this._all.push(fn);\n }\n\n return this;\n };\n\n EventEmitter.prototype._on = function(type, listener, prepend, options) {\n if (typeof type === 'function') {\n this._onAny(type, listener);\n return this;\n }\n\n if (typeof listener !== 'function') {\n throw new Error('on only accepts instances of Function');\n }\n this._events || init.call(this);\n\n var returnValue= this, temp;\n\n if (options !== undefined) {\n temp = setupListener.call(this, type, listener, options);\n listener = temp[0];\n returnValue = temp[1];\n }\n\n // To avoid recursion in the case that type == \"newListeners\"! Before\n // adding it to the listeners, first emit \"newListeners\".\n if (this._newListener) {\n this.emit('newListener', type, listener);\n }\n\n if (this.wildcard) {\n growListenerTree.call(this, type, listener, prepend);\n return returnValue;\n }\n\n if (!this._events[type]) {\n // Optimize the case of one listener. Don't need the extra array object.\n this._events[type] = listener;\n } else {\n if (typeof this._events[type] === 'function') {\n // Change to array.\n this._events[type] = [this._events[type]];\n }\n\n // If we've already got an array, just add\n if(prepend){\n this._events[type].unshift(listener);\n }else{\n this._events[type].push(listener);\n }\n\n // Check for listener leak\n if (\n !this._events[type].warned &&\n this._maxListeners > 0 &&\n this._events[type].length > this._maxListeners\n ) {\n this._events[type].warned = true;\n logPossibleMemoryLeak.call(this, this._events[type].length, type);\n }\n }\n\n return returnValue;\n };\n\n EventEmitter.prototype.off = function(type, listener) {\n if (typeof listener !== 'function') {\n throw new Error('removeListener only takes instances of Function');\n }\n\n var handlers,leafs=[];\n\n if(this.wildcard) {\n var ns = typeof type === 'string' ? type.split(this.delimiter) : type.slice();\n leafs = searchListenerTree.call(this, null, ns, this.listenerTree, 0);\n if(!leafs) return this;\n } else {\n // does not use listeners(), so no side effect of creating _events[type]\n if (!this._events[type]) return this;\n handlers = this._events[type];\n leafs.push({_listeners:handlers});\n }\n\n for (var iLeaf=0; iLeaf<leafs.length; iLeaf++) {\n var leaf = leafs[iLeaf];\n handlers = leaf._listeners;\n if (isArray(handlers)) {\n\n var position = -1;\n\n for (var i = 0, length = handlers.length; i < length; i++) {\n if (handlers[i] === listener ||\n (handlers[i].listener && handlers[i].listener === listener) ||\n (handlers[i]._origin && handlers[i]._origin === listener)) {\n position = i;\n break;\n }\n }\n\n if (position < 0) {\n continue;\n }\n\n if(this.wildcard) {\n leaf._listeners.splice(position, 1);\n }\n else {\n this._events[type].splice(position, 1);\n }\n\n if (handlers.length === 0) {\n if(this.wildcard) {\n delete leaf._listeners;\n }\n else {\n delete this._events[type];\n }\n }\n if (this._removeListener)\n this.emit(\"removeListener\", type, listener);\n\n return this;\n }\n else if (handlers === listener ||\n (handlers.listener && handlers.listener === listener) ||\n (handlers._origin && handlers._origin === listener)) {\n if(this.wildcard) {\n delete leaf._listeners;\n }\n else {\n delete this._events[type];\n }\n if (this._removeListener)\n this.emit(\"removeListener\", type, listener);\n }\n }\n\n this.listenerTree && recursivelyGarbageCollect(this.listenerTree);\n\n return this;\n };\n\n EventEmitter.prototype.offAny = function(fn) {\n var i = 0, l = 0, fns;\n if (fn && this._all && this._all.length > 0) {\n fns = this._all;\n for(i = 0, l = fns.length; i < l; i++) {\n if(fn === fns[i]) {\n fns.splice(i, 1);\n if (this._removeListener)\n this.emit(\"removeListenerAny\", fn);\n return this;\n }\n }\n } else {\n fns = this._all;\n if (this._removeListener) {\n for(i = 0, l = fns.length; i < l; i++)\n this.emit(\"removeListenerAny\", fns[i]);\n }\n this._all = [];\n }\n return this;\n };\n\n EventEmitter.prototype.removeListener = EventEmitter.prototype.off;\n\n EventEmitter.prototype.removeAllListeners = function (type) {\n if (type === undefined) {\n !this._events || init.call(this);\n return this;\n }\n\n if (this.wildcard) {\n var leafs = searchListenerTree.call(this, null, type, this.listenerTree, 0), leaf, i;\n if (!leafs) return this;\n for (i = 0; i < leafs.length; i++) {\n leaf = leafs[i];\n leaf._listeners = null;\n }\n this.listenerTree && recursivelyGarbageCollect(this.listenerTree);\n } else if (this._events) {\n this._events[type] = null;\n }\n return this;\n };\n\n EventEmitter.prototype.listeners = function (type) {\n var _events = this._events;\n var keys, listeners, allListeners;\n var i;\n var listenerTree;\n\n if (type === undefined) {\n if (this.wildcard) {\n throw Error('event name required for wildcard emitter');\n }\n\n if (!_events) {\n return [];\n }\n\n keys = ownKeys(_events);\n i = keys.length;\n allListeners = [];\n while (i-- > 0) {\n listeners = _events[keys[i]];\n if (typeof listeners === 'function') {\n allListeners.push(listeners);\n } else {\n allListeners.push.apply(allListeners, listeners);\n }\n }\n return allListeners;\n } else {\n if (this.wildcard) {\n listenerTree= this.listenerTree;\n if(!listenerTree) return [];\n var handlers = [];\n var ns = typeof type === 'string' ? type.split(this.delimiter) : type.slice();\n searchListenerTree.call(this, handlers, ns, listenerTree, 0);\n return handlers;\n }\n\n if (!_events) {\n return [];\n }\n\n listeners = _events[type];\n\n if (!listeners) {\n return [];\n }\n return typeof listeners === 'function' ? [listeners] : listeners;\n }\n };\n\n EventEmitter.prototype.eventNames = function(nsAsArray){\n var _events= this._events;\n return this.wildcard? collectTreeEvents.call(this, this.listenerTree, [], null, nsAsArray) : (_events? ownKeys(_events) : []);\n };\n\n EventEmitter.prototype.listenerCount = function(type) {\n return this.listeners(type).length;\n };\n\n EventEmitter.prototype.hasListeners = function (type) {\n if (this.wildcard) {\n var handlers = [];\n var ns = typeof type === 'string' ? type.split(this.delimiter) : type.slice();\n searchListenerTree.call(this, handlers, ns, this.listenerTree, 0);\n return handlers.length > 0;\n }\n\n var _events = this._events;\n var _all = this._all;\n\n return !!(_all && _all.length || _events && (type === undefined ? ownKeys(_events).length : _events[type]));\n };\n\n EventEmitter.prototype.listenersAny = function() {\n\n if(this._all) {\n return this._all;\n }\n else {\n return [];\n }\n\n };\n\n EventEmitter.prototype.waitFor = function (event, options) {\n var self = this;\n var type = typeof options;\n if (type === 'number') {\n options = {timeout: options};\n } else if (type === 'function') {\n options = {filter: options};\n }\n\n options= resolveOptions(options, {\n timeout: 0,\n filter: undefined,\n handleError: false,\n Promise: Promise,\n overload: false\n }, {\n filter: functionReducer,\n Promise: constructorReducer\n });\n\n return makeCancelablePromise(options.Promise, function (resolve, reject, onCancel) {\n function listener() {\n var filter= options.filter;\n if (filter && !filter.apply(self, arguments)) {\n return;\n }\n self.off(event, listener);\n if (options.handleError) {\n var err = arguments[0];\n err ? reject(err) : resolve(toArray.apply(null, arguments).slice(1));\n } else {\n resolve(toArray.apply(null, arguments));\n }\n }\n\n onCancel(function(){\n self.off(event, listener);\n });\n\n self._on(event, listener, false);\n }, {\n timeout: options.timeout,\n overload: options.overload\n })\n };\n\n function once(emitter, name, options) {\n options= resolveOptions(options, {\n Promise: Promise,\n timeout: 0,\n overload: false\n }, {\n Promise: constructorReducer\n });\n\n var _Promise= options.Promise;\n\n return makeCancelablePromise(_Promise, function(resolve, reject, onCancel){\n var handler;\n if (typeof emitter.addEventListener === 'function') {\n handler= function () {\n resolve(toArray.apply(null, arguments));\n };\n\n onCancel(function(){\n emitter.removeEventListener(name, handler);\n });\n\n emitter.addEventListener(\n name,\n handler,\n {once: true}\n );\n return;\n }\n\n var eventListener = function(){\n errorListener && emitter.removeListener('error', errorListener);\n resolve(toArray.apply(null, arguments));\n };\n\n var errorListener;\n\n if (name !== 'error') {\n errorListener = function (err){\n emitter.removeListener(name, eventListener);\n reject(err);\n };\n\n emitter.once('error', errorListener);\n }\n\n onCancel(function(){\n errorListener && emitter.removeListener('error', errorListener);\n emitter.removeListener(name, eventListener);\n });\n\n emitter.once(name, eventListener);\n }, {\n timeout: options.timeout,\n overload: options.overload\n });\n }\n\n var prototype= EventEmitter.prototype;\n\n Object.defineProperties(EventEmitter, {\n defaultMaxListeners: {\n get: function () {\n return prototype._maxListeners;\n },\n set: function (n) {\n if (typeof n !== 'number' || n < 0 || Number.isNaN(n)) {\n throw TypeError('n must be a non-negative number')\n }\n prototype._maxListeners = n;\n },\n enumerable: true\n },\n once: {\n value: once,\n writable: true,\n configurable: true\n }\n });\n\n Object.defineProperties(prototype, {\n _maxListeners: {\n value: defaultMaxListeners,\n writable: true,\n configurable: true\n },\n _observers: {value: null, writable: true, configurable: true}\n });\n\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(function() {\n return EventEmitter;\n });\n } else if (typeof exports === 'object') {\n // CommonJS\n module.exports = EventEmitter;\n }\n else {\n // global for any kind of environment.\n var _global= new Function('','return this')();\n _global.EventEmitter2 = EventEmitter;\n }\n}();\n","// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nvar getRandomValues;\nvar rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation. Also,\n // find the complete implementation of crypto (msCrypto) on IE11.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto !== 'undefined' && typeof msCrypto.getRandomValues === 'function' && msCrypto.getRandomValues.bind(msCrypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}","export default /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;","import REGEX from './regex.js';\n\nfunction validate(uuid) {\n return typeof uuid === 'string' && REGEX.test(uuid);\n}\n\nexport default validate;","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nvar byteToHex = [];\n\nfor (var i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).substr(1));\n}\n\nfunction stringify(arr) {\n var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n var uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;","import rng from './rng.js';\nimport stringify from './stringify.js';\n\nfunction v4(options, buf, offset) {\n options = options || {};\n var rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (var i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return stringify(rnds);\n}\n\nexport default v4;","const PACKET_TYPES = Object.create(null); // no Map = no polyfill\nPACKET_TYPES[\"open\"] = \"0\";\nPACKET_TYPES[\"close\"] = \"1\";\nPACKET_TYPES[\"ping\"] = \"2\";\nPACKET_TYPES[\"pong\"] = \"3\";\nPACKET_TYPES[\"message\"] = \"4\";\nPACKET_TYPES[\"upgrade\"] = \"5\";\nPACKET_TYPES[\"noop\"] = \"6\";\nconst PACKET_TYPES_REVERSE = Object.create(null);\nObject.keys(PACKET_TYPES).forEach((key) => {\n PACKET_TYPES_REVERSE[PACKET_TYPES[key]] = key;\n});\nconst ERROR_PACKET = { type: \"error\", data: \"parser error\" };\nexport { PACKET_TYPES, PACKET_TYPES_REVERSE, ERROR_PACKET };\n","import { PACKET_TYPES } from \"./commons.js\";\nconst withNativeBlob = typeof Blob === \"function\" ||\n (typeof Blob !== \"undefined\" &&\n Object.prototype.toString.call(Blob) === \"[object BlobConstructor]\");\nconst withNativeArrayBuffer = typeof ArrayBuffer === \"function\";\n// ArrayBuffer.isView method is not defined in IE10\nconst isView = (obj) => {\n return typeof ArrayBuffer.isView === \"function\"\n ? ArrayBuffer.isView(obj)\n : obj && obj.buffer instanceof ArrayBuffer;\n};\nconst encodePacket = ({ type, data }, supportsBinary, callback) => {\n if (withNativeBlob && data instanceof Blob) {\n if (supportsBinary) {\n return callback(data);\n }\n else {\n return encodeBlobAsBase64(data, callback);\n }\n }\n else if (withNativeArrayBuffer &&\n (data instanceof ArrayBuffer || isView(data))) {\n if (supportsBinary) {\n return callback(data);\n }\n else {\n return encodeBlobAsBase64(new Blob([data]), callback);\n }\n }\n // plain string\n return callback(PACKET_TYPES[type] + (data || \"\"));\n};\nconst encodeBlobAsBase64 = (data, callback) => {\n const fileReader = new FileReader();\n fileReader.onload = function () {\n const content = fileReader.result.split(\",\")[1];\n callback(\"b\" + (content || \"\"));\n };\n return fileReader.readAsDataURL(data);\n};\nfunction toArray(data) {\n if (data instanceof Uint8Array) {\n return data;\n }\n else if (data instanceof ArrayBuffer) {\n return new Uint8Array(data);\n }\n else {\n return new Uint8Array(data.buffer, data.byteOffset, data.byteLength);\n }\n}\nlet TEXT_ENCODER;\nexport function encodePacketToBinary(packet, callback) {\n if (withNativeBlob && packet.data instanceof Blob) {\n return packet.data.arrayBuffer().then(toArray).then(callback);\n }\n else if (withNativeArrayBuffer &&\n (packet.data instanceof ArrayBuffer || isView(packet.data))) {\n return callback(toArray(packet.data));\n }\n encodePacket(packet, false, (encoded) => {\n if (!TEXT_ENCODER) {\n TEXT_ENCODER = new TextEncoder();\n }\n callback(TEXT_ENCODER.encode(encoded));\n });\n}\nexport { encodePacket };\n","// imported from https://github.com/socketio/base64-arraybuffer\nconst chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n// Use a lookup table to find the index.\nconst lookup = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (let i = 0; i < chars.length; i++) {\n lookup[chars.charCodeAt(i)] = i;\n}\nexport const encode = (arraybuffer) => {\n let bytes = new Uint8Array(arraybuffer), i, len = bytes.length, base64 = '';\n for (i = 0; i < len; i += 3) {\n base64 += chars[bytes[i] >> 2];\n base64 += chars[((bytes[i] & 3) << 4) | (bytes[i + 1] >> 4)];\n base64 += chars[((bytes[i + 1] & 15) << 2) | (bytes[i + 2] >> 6)];\n base64 += chars[bytes[i + 2] & 63];\n }\n if (len % 3 === 2) {\n base64 = base64.substring(0, base64.length - 1) + '=';\n }\n else if (len % 3 === 1) {\n base64 = base64.substring(0, base64.length - 2) + '==';\n }\n return base64;\n};\nexport const decode = (base64) => {\n let bufferLength = base64.length * 0.75, len = base64.length, i, p = 0, encoded1, encoded2, encoded3, encoded4;\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n const arraybuffer = new ArrayBuffer(bufferLength), bytes = new Uint8Array(arraybuffer);\n for (i = 0; i < len; i += 4) {\n encoded1 = lookup[base64.charCodeAt(i)];\n encoded2 = lookup[base64.charCodeAt(i + 1)];\n encoded3 = lookup[base64.charCodeAt(i + 2)];\n encoded4 = lookup[base64.charCodeAt(i + 3)];\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n return arraybuffer;\n};\n","import { ERROR_PACKET, PACKET_TYPES_REVERSE, } from \"./commons.js\";\nimport { decode } from \"./contrib/base64-arraybuffer.js\";\nconst withNativeArrayBuffer = typeof ArrayBuffer === \"function\";\nexport const decodePacket = (encodedPacket, binaryType) => {\n if (typeof encodedPacket !== \"string\") {\n return {\n type: \"message\",\n data: mapBinary(encodedPacket, binaryType),\n };\n }\n const type = encodedPacket.charAt(0);\n if (type === \"b\") {\n return {\n type: \"message\",\n data: decodeBase64Packet(encodedPacket.substring(1), binaryType),\n };\n }\n const packetType = PACKET_TYPES_REVERSE[type];\n if (!packetType) {\n return ERROR_PACKET;\n }\n return encodedPacket.length > 1\n ? {\n type: PACKET_TYPES_REVERSE[type],\n data: encodedPacket.substring(1),\n }\n : {\n type: PACKET_TYPES_REVERSE[type],\n };\n};\nconst decodeBase64Packet = (data, binaryType) => {\n if (withNativeArrayBuffer) {\n const decoded = decode(data);\n return mapBinary(decoded, binaryType);\n }\n else {\n return { base64: true, data }; // fallback for old browsers\n }\n};\nconst mapBinary = (data, binaryType) => {\n switch (binaryType) {\n case \"blob\":\n if (data instanceof Blob) {\n // from WebSocket + binaryType \"blob\"\n return data;\n }\n else {\n // from HTTP long-polling or WebTransport\n return new Blob([data]);\n }\n case \"arraybuffer\":\n default:\n if (data instanceof ArrayBuffer) {\n // from HTTP long-polling (base64) or WebSocket + binaryType \"arraybuffer\"\n return data;\n }\n else {\n // from WebTransport (Uint8Array)\n return data.buffer;\n }\n }\n};\n","import { encodePacket, encodePacketToBinary } from \"./encodePacket.js\";\nimport { decodePacket } from \"./decodePacket.js\";\nimport { ERROR_PACKET, } from \"./commons.js\";\nconst SEPARATOR = String.fromCharCode(30); // see https://en.wikipedia.org/wiki/Delimiter#ASCII_delimited_text\nconst encodePayload = (packets, callback) => {\n // some packets may be added to the array while encoding, so the initial length must be saved\n const length = packets.length;\n const encodedPackets = new Array(length);\n let count = 0;\n packets.forEach((packet, i) => {\n // force base64 encoding for binary packets\n encodePacket(packet, false, (encodedPacket) => {\n encodedPackets[i] = encodedPacket;\n if (++count === length) {\n callback(encodedPackets.join(SEPARATOR));\n }\n });\n });\n};\nconst decodePayload = (encodedPayload, binaryType) => {\n const encodedPackets = encodedPayload.split(SEPARATOR);\n const packets = [];\n for (let i = 0; i < encodedPackets.length; i++) {\n const decodedPacket = decodePacket(encodedPackets[i], binaryType);\n packets.push(decodedPacket);\n if (decodedPacket.type === \"error\") {\n break;\n }\n }\n return packets;\n};\nexport function createPacketEncoderStream() {\n return new TransformStream({\n transform(packet, controller) {\n encodePacketToBinary(packet, (encodedPacket) => {\n const payloadLength = encodedPacket.length;\n let header;\n // inspired by the WebSocket format: https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API/Writing_WebSocket_servers#decoding_payload_length\n if (payloadLength < 126) {\n header = new Uint8Array(1);\n new DataView(header.buffer).setUint8(0, payloadLength);\n }\n else if (payloadLength < 65536) {\n header = new Uint8Array(3);\n const view = new DataView(header.buffer);\n view.setUint8(0, 126);\n view.setUint16(1, payloadLength);\n }\n else {\n header = new Uint8Array(9);\n const view = new DataView(header.buffer);\n view.setUint8(0, 127);\n view.setBigUint64(1, BigInt(payloadLength));\n }\n // first bit indicates whether the payload is plain text (0) or binary (1)\n if (packet.data && typeof packet.data !== \"string\") {\n header[0] |= 0x80;\n }\n controller.enqueue(header);\n controller.enqueue(encodedPacket);\n });\n },\n });\n}\nlet TEXT_DECODER;\nfunction totalLength(chunks) {\n return chunks.reduce((acc, chunk) => acc + chunk.length, 0);\n}\nfunction concatChunks(chunks, size) {\n if (chunks[0].length === size) {\n return chunks.shift();\n }\n const buffer = new Uint8Array(size);\n let j = 0;\n for (let i = 0; i < size; i++) {\n buffer[i] = chunks[0][j++];\n if (j === chunks[0].length) {\n chunks.shift();\n j = 0;\n }\n }\n if (chunks.length && j < chunks[0].length) {\n chunks[0] = chunks[0].slice(j);\n }\n return buffer;\n}\nexport function createPacketDecoderStream(maxPayload, binaryType) {\n if (!TEXT_DECODER) {\n TEXT_DECODER = new TextDecoder();\n }\n const chunks = [];\n let state = 0 /* State.READ_HEADER */;\n let expectedLength = -1;\n let isBinary = false;\n return new TransformStream({\n transform(chunk, controller) {\n chunks.push(chunk);\n while (true) {\n if (state === 0 /* State.READ_HEADER */) {\n if (totalLength(chunks) < 1) {\n break;\n }\n const header = concatChunks(chunks, 1);\n isBinary = (header[0] & 0x80) === 0x80;\n expectedLength = header[0] & 0x7f;\n if (expectedLength < 126) {\n state = 3 /* State.READ_PAYLOAD */;\n }\n else if (expectedLength === 126) {\n state = 1 /* State.READ_EXTENDED_LENGTH_16 */;\n }\n else {\n state = 2 /* State.READ_EXTENDED_LENGTH_64 */;\n }\n }\n else if (state === 1 /* State.READ_EXTENDED_LENGTH_16 */) {\n if (totalLength(chunks) < 2) {\n break;\n }\n const headerArray = concatChunks(chunks, 2);\n expectedLength = new DataView(headerArray.buffer, headerArray.byteOffset, headerArray.length).getUint16(0);\n state = 3 /* State.READ_PAYLOAD */;\n }\n else if (state === 2 /* State.READ_EXTENDED_LENGTH_64 */) {\n if (totalLength(chunks) < 8) {\n break;\n }\n const headerArray = concatChunks(chunks, 8);\n const view = new DataView(headerArray.buffer, headerArray.byteOffset, headerArray.length);\n const n = view.getUint32(0);\n if (n > Math.pow(2, 53 - 32) - 1) {\n // the maximum safe integer in JavaScript is 2^53 - 1\n controller.enqueue(ERROR_PACKET);\n break;\n }\n expectedLength = n * Math.pow(2, 32) + view.getUint32(4);\n state = 3 /* State.READ_PAYLOAD */;\n }\n else {\n if (totalLength(chunks) < expectedLength) {\n break;\n }\n const data = concatChunks(chunks, expectedLength);\n controller.enqueue(decodePacket(isBinary ? data : TEXT_DECODER.decode(data), binaryType));\n state = 0 /* State.READ_HEADER */;\n }\n if (expectedLength === 0 || expectedLength > maxPayload) {\n controller.enqueue(ERROR_PACKET);\n break;\n }\n }\n },\n });\n}\nexport const protocol = 4;\nexport { encodePacket, encodePayload, decodePacket, decodePayload, };\n","/**\n * Initialize a new `Emitter`.\n *\n * @api public\n */\n\nexport function Emitter(obj) {\n if (obj) return mixin(obj);\n}\n\n/**\n * Mixin the emitter properties.\n *\n * @param {Object} obj\n * @return {Object}\n * @api private\n */\n\nfunction mixin(obj) {\n for (var key in Emitter.prototype) {\n obj[key] = Emitter.prototype[key];\n }\n return obj;\n}\n\n/**\n * Listen on the given `event` with `fn`.\n *\n * @param {String} event\n * @param {Function} fn\n * @return {Emitter}\n * @api public\n */\n\nEmitter.prototype.on =\nEmitter.prototype.addEventListener = function(event, fn){\n this._callbacks = this._callbacks || {};\n (this._callbacks['$' + event] = this._callbacks['$' + event] || [])\n .push(fn);\n return this;\n};\n\n/**\n * Adds an `event` listener that will be invoked a single\n * time then automatically removed.\n *\n * @param {String} event\n * @param {Function} fn\n * @return {Emitter}\n * @api public\n */\n\nEmitter.prototype.once = function(event, fn){\n function on() {\n this.off(event, on);\n fn.apply(this, arguments);\n }\n\n on.fn = fn;\n this.on(event, on);\n return this;\n};\n\n/**\n * Remove the given callback for `event` or all\n * registered callbacks.\n *\n * @param {String} event\n * @param {Function} fn\n * @return {Emitter}\n * @api public\n */\n\nEmitter.prototype.off =\nEmitter.prototype.removeListener =\nEmitter.prototype.removeAllListeners =\nEmitter.prototype.removeEventListener = function(event, fn){\n this._callbacks = this._callbacks || {};\n\n // all\n if (0 == arguments.length) {\n this._callbacks = {};\n return this;\n }\n\n // specific event\n var callbacks = this._callbacks['$' + event];\n if (!callbacks) return this;\n\n // remove all handlers\n if (1 == arguments.length) {\n delete this._callbacks['$' + event];\n return this;\n }\n\n // remove specific handler\n var cb;\n for (var i = 0; i < callbacks.length; i++) {\n cb = callbacks[i];\n if (cb === fn || cb.fn === fn) {\n callbacks.splice(i, 1);\n break;\n }\n }\n\n // Remove event specific arrays for event types that no\n // one is subscribed for to avoid memory leak.\n if (callbacks.length === 0) {\n delete this._callbacks['$' + event];\n }\n\n return this;\n};\n\n/**\n * Emit `event` with the given args.\n *\n * @param {String} event\n * @param {Mixed} ...\n * @return {Emitter}\n */\n\nEmitter.prototype.emit = function(event){\n this._callbacks = this._callbacks || {};\n\n var args = new Array(arguments.length - 1)\n , callbacks = this._callbacks['$' + event];\n\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n\n if (callbacks) {\n callbacks = callbacks.slice(0);\n for (var i = 0, len = callbacks.length; i < len; ++i) {\n callbacks[i].apply(this, args);\n }\n }\n\n return this;\n};\n\n// alias used for reserved events (protected method)\nEmitter.prototype.emitReserved = Emitter.prototype.emit;\n\n/**\n * Return array of callbacks for `event`.\n *\n * @param {String} event\n * @return {Array}\n * @api public\n */\n\nEmitter.prototype.listeners = function(event){\n this._callbacks = this._callbacks || {};\n return this._callbacks['$' + event] || [];\n};\n\n/**\n * Check if this emitter has `event` handlers.\n *\n * @param {String} event\n * @return {Boolean}\n * @api public\n */\n\nEmitter.prototype.hasListeners = function(event){\n return !! this.listeners(event).length;\n};\n","export const nextTick = (() => {\n const isPromiseAvailable = typeof Promise === \"function\" && typeof Promise.resolve === \"function\";\n if (isPromiseAvailable) {\n return (cb) => Promise.resolve().then(cb);\n }\n else {\n return (cb, setTimeoutFn) => setTimeoutFn(cb, 0);\n }\n})();\nexport const globalThisShim = (() => {\n if (typeof self !== \"undefined\") {\n return self;\n }\n else if (typeof window !== \"undefined\") {\n return window;\n }\n else {\n return Function(\"return this\")();\n }\n})();\nexport const defaultBinaryType = \"arraybuffer\";\nexport function createCookieJar() { }\n","import { globalThisShim as globalThis } from \"./globals.node.js\";\nexport function pick(obj, ...attr) {\n return attr.reduce((acc, k) => {\n if (obj.hasOwnProperty(k)) {\n acc[k] = obj[k];\n }\n return acc;\n }, {});\n}\n// Keep a reference to the real timeout functions so they can be used when overridden\nconst NATIVE_SET_TIMEOUT = globalThis.setTimeout;\nconst NATIVE_CLEAR_TIMEOUT = globalThis.clearTimeout;\nexport function installTimerFunctions(obj, opts) {\n if (opts.useNativeTimers) {\n obj.setTimeoutFn = NATIVE_SET_TIMEOUT.bind(globalThis);\n obj.clearTimeoutFn = NATIVE_CLEAR_TIMEOUT.bind(globalThis);\n }\n else {\n obj.setTimeoutFn = globalThis.setTimeout.bind(globalThis);\n obj.clearTimeoutFn = globalThis.clearTimeout.bind(globalThis);\n }\n}\n// base64 encoded buffers are about 33% bigger (https://en.wikipedia.org/wiki/Base64)\nconst BASE64_OVERHEAD = 1.33;\n// we could also have used `new Blob([obj]).size`, but it isn't supported in IE9\nexport function byteLength(obj) {\n if (typeof obj === \"string\") {\n return utf8Length(obj);\n }\n // arraybuffer or blob\n return Math.ceil((obj.byteLength || obj.size) * BASE64_OVERHEAD);\n}\nfunction utf8Length(str) {\n let c = 0, length = 0;\n for (let i = 0, l = str.length; i < l; i++) {\n c = str.charCodeAt(i);\n if (c < 0x80) {\n length += 1;\n }\n else if (c < 0x800) {\n length += 2;\n }\n else if (c < 0xd800 || c >= 0xe000) {\n length += 3;\n }\n else {\n i++;\n length += 4;\n }\n }\n return length;\n}\n/**\n * Generates a random 8-characters string.\n */\nexport function randomString() {\n return (Date.now().toString(36).substring(3) +\n Math.random().toString(36).substring(2, 5));\n}\n","// imported from https://github.com/galkn/querystring\n/**\n * Compiles a querystring\n * Returns string representation of the object\n *\n * @param {Object}\n * @api private\n */\nexport function encode(obj) {\n let str = '';\n for (let i in obj) {\n if (obj.hasOwnProperty(i)) {\n if (str.length)\n str += '&';\n str += encodeURIComponent(i) + '=' + encodeURIComponent(obj[i]);\n }\n }\n return str;\n}\n/**\n * Parses a simple querystring into an object\n *\n * @param {String} qs\n * @api private\n */\nexport function decode(qs) {\n let qry = {};\n let pairs = qs.split('&');\n for (let i = 0, l = pairs.length; i < l; i++) {\n let pair = pairs[i].split('=');\n qry[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1]);\n }\n return qry;\n}\n","import { decodePacket } from \"engine.io-parser\";\nimport { Emitter } from \"@socket.io/component-emitter\";\nimport { installTimerFunctions } from \"./util.js\";\nimport { encode } from \"./contrib/parseqs.js\";\nexport class TransportError extends Error {\n constructor(reason, description, context) {\n super(reason);\n this.description = description;\n this.context = context;\n this.type = \"TransportError\";\n }\n}\nexport class Transport extends Emitter {\n /**\n * Transport abstract constructor.\n *\n * @param {Object} opts - options\n * @protected\n */\n constructor(opts) {\n super();\n this.writable = false;\n installTimerFunctions(this, opts);\n this.opts = opts;\n this.query = opts.query;\n this.socket = opts.socket;\n this.supportsBinary = !opts.forceBase64;\n }\n /**\n * Emits an error.\n *\n * @param {String} reason\n * @param description\n * @param context - the error context\n * @return {Transport} for chaining\n * @protected\n */\n onError(reason, description, context) {\n super.emitReserved(\"error\", new TransportError(reason, description, context));\n return this;\n }\n /**\n * Opens the transport.\n */\n open() {\n this.readyState = \"opening\";\n this.doOpen();\n return this;\n }\n /**\n * Closes the transport.\n */\n close() {\n if (this.readyState === \"opening\" || this.readyState === \"open\") {\n this.doClose();\n this.onClose();\n }\n return this;\n }\n /**\n * Sends multiple packets.\n *\n * @param {Array} packets\n */\n send(packets) {\n if (this.readyState === \"open\") {\n this.write(packets);\n }\n else {\n // this might happen if the transport was silently closed in the beforeunload event handler\n }\n }\n /**\n * Called upon open\n *\n * @protected\n */\n onOpen() {\n this.readyState = \"open\";\n this.writable = true;\n super.emitReserved(\"open\");\n }\n /**\n * Called with data.\n *\n * @param {String} data\n * @protected\n */\n onData(data) {\n const packet = decodePacket(data, this.socket.binaryType);\n this.onPacket(packet);\n }\n /**\n * Called with a decoded packet.\n *\n * @protected\n */\n onPacket(packet) {\n super.emitReserved(\"packet\", packet);\n }\n /**\n * Called upon close.\n *\n * @protected\n */\n onClose(details) {\n this.readyState = \"closed\";\n super.emitReserved(\"close\", details);\n }\n /**\n * Pauses the transport, in order not to lose packets during an upgrade.\n *\n * @param onPause\n */\n pause(onPause) { }\n createUri(schema, query = {}) {\n return (schema +\n \"://\" +\n this._hostname() +\n this._port() +\n this.opts.path +\n this._query(query));\n }\n _hostname() {\n const hostname = this.opts.hostname;\n return hostname.indexOf(\":\") === -1 ? hostname : \"[\" + hostname + \"]\";\n }\n _port() {\n if (this.opts.port &&\n ((this.opts.secure && Number(this.opts.port !== 443)) ||\n (!this.opts.secure && Number(this.opts.port) !== 80))) {\n return \":\" + this.opts.port;\n }\n else {\n return \"\";\n }\n }\n _query(query) {\n const encodedQuery = encode(query);\n return encodedQuery.length ? \"?\" + encodedQuery : \"\";\n }\n}\n","import { Transport } from \"../transport.js\";\nimport { randomString } from \"../util.js\";\nimport { encodePayload, decodePayload } from \"engine.io-parser\";\nexport class Polling extends Transport {\n constructor() {\n super(...arguments);\n this._polling = false;\n }\n get name() {\n return \"polling\";\n }\n /**\n * Opens the socket (triggers polling). We write a PING message to determine\n * when the transport is open.\n *\n * @protected\n */\n doOpen() {\n this._poll();\n }\n /**\n * Pauses polling.\n *\n * @param {Function} onPause - callback upon buffers are flushed and transport is paused\n * @package\n */\n pause(onPause) {\n this.readyState = \"pausing\";\n const pause = () => {\n this.readyState = \"paused\";\n onPause();\n };\n if (this._polling || !this.writable) {\n let total = 0;\n if (this._polling) {\n total++;\n this.once(\"pollComplete\", function () {\n --total || pause();\n });\n }\n if (!this.writable) {\n total++;\n this.once(\"drain\", function () {\n --total || pause();\n });\n }\n }\n else {\n pause();\n }\n }\n /**\n * Starts polling cycle.\n *\n * @private\n */\n _poll() {\n this._polling = true;\n this.doPoll();\n this.emitReserved(\"poll\");\n }\n /**\n * Overloads onData to detect payloads.\n *\n * @protected\n */\n onData(data) {\n const callback = (packet) => {\n // if its the first message we consider the transport open\n if (\"opening\" === this.readyState && packet.type === \"open\") {\n this.onOpen();\n }\n // if its a close packet, we close the ongoing requests\n if (\"close\" === packet.type) {\n this.onClose({ description: \"transport closed by the server\" });\n return false;\n }\n // otherwise bypass onData and handle the message\n this.onPacket(packet);\n };\n // decode payload\n decodePayload(data, this.socket.binaryType).forEach(callback);\n // if an event did not trigger closing\n if (\"closed\" !== this.readyState) {\n // if we got data we're not polling\n this._polling = false;\n this.emitReserved(\"pollComplete\");\n if (\"open\" === this.readyState) {\n this._poll();\n }\n else {\n }\n }\n }\n /**\n * For polling, send a close packet.\n *\n * @protected\n */\n doClose() {\n const close = () => {\n this.write([{ type: \"close\" }]);\n };\n if (\"open\" === this.readyState) {\n close();\n }\n else {\n // in case we're trying to close while\n // handshaking is in progress (GH-164)\n this.once(\"open\", close);\n }\n }\n /**\n * Writes a packets payload.\n *\n * @param {Array} packets - data packets\n * @protected\n */\n write(packets) {\n this.writable = false;\n encodePayload(packets, (data) => {\n this.doWrite(data, () => {\n this.writable = true;\n this.emitReserved(\"drain\");\n });\n });\n }\n /**\n * Generates uri for connection.\n *\n * @private\n */\n uri() {\n const schema = this.opts.secure ? \"https\" : \"http\";\n const query = this.query || {};\n // cache busting is forced\n if (false !== this.opts.timestampRequests) {\n query[this.opts.timestampParam] = randomString();\n }\n if (!this.supportsBinary && !query.sid) {\n query.b64 = 1;\n }\n return this.createUri(schema, query);\n }\n}\n","// imported from https://github.com/component/has-cors\nlet value = false;\ntry {\n value = typeof XMLHttpRequest !== 'undefined' &&\n 'withCredentials' in new XMLHttpRequest();\n}\ncatch (err) {\n // if XMLHttp support is disabled in IE then it will throw\n // when trying to create\n}\nexport const hasCORS = value;\n","import { Polling } from \"./polling.js\";\nimport { Emitter } from \"@socket.io/component-emitter\";\nimport { installTimerFunctions, pick } from \"../util.js\";\nimport { globalThisShim as globalThis } from \"../globals.node.js\";\nimport { hasCORS } from \"../contrib/has-cors.js\";\nfunction empty() { }\nexport class BaseXHR extends Polling {\n /**\n * XHR Polling constructor.\n *\n * @param {Object} opts\n * @package\n */\n constructor(opts) {\n super(opts);\n if (typeof location !== \"undefined\") {\n const isSSL = \"https:\" === location.protocol;\n let port = location.port;\n // some user agents have empty `location.port`\n if (!port) {\n port = isSSL ? \"443\" : \"80\";\n }\n this.xd =\n (typeof location !== \"undefined\" &&\n opts.hostname !== location.hostname) ||\n port !== opts.port;\n }\n }\n /**\n * Sends data.\n *\n * @param {String} data to send.\n * @param {Function} called upon flush.\n * @private\n */\n doWrite(data, fn) {\n const req = this.request({\n method: \"POST\",\n data: data,\n });\n req.on(\"success\", fn);\n req.on(\"error\", (xhrStatus, context) => {\n this.onError(\"xhr post error\", xhrStatus, context);\n });\n }\n /**\n * Starts a poll cycle.\n *\n * @private\n */\n doPoll() {\n const req = this.request();\n req.on(\"data\", this.onData.bind(this));\n req.on(\"error\", (xhrStatus, context) => {\n this.onError(\"xhr poll error\", xhrStatus, context);\n });\n this.pollXhr = req;\n }\n}\nexport class Request extends Emitter {\n /**\n * Request constructor\n *\n * @param {Object} options\n * @package\n */\n constructor(createRequest, uri, opts) {\n super();\n this.createRequest = createRequest;\n installTimerFunctions(this, opts);\n this._opts = opts;\n this._method = opts.method || \"GET\";\n this._uri = uri;\n this._data = undefined !== opts.data ? opts.data : null;\n this._create();\n }\n /**\n * Creates the XHR object and sends the request.\n *\n * @private\n */\n _create() {\n var _a;\n const opts = pick(this._opts, \"agent\", \"pfx\", \"key\", \"passphrase\", \"cert\", \"ca\", \"ciphers\", \"rejectUnauthorized\", \"autoUnref\");\n opts.xdomain = !!this._opts.xd;\n const xhr = (this._xhr = this.createRequest(opts));\n try {\n xhr.open(this._method, this._uri, true);\n try {\n if (this._opts.extraHeaders) {\n // @ts-ignore\n xhr.setDisableHeaderCheck && xhr.setDisableHeaderCheck(true);\n for (let i in this._opts.extraHeaders) {\n if (this._opts.extraHeaders.hasOwnProperty(i)) {\n xhr.setRequestHeader(i, this._opts.extraHeaders[i]);\n }\n }\n }\n }\n catch (e) { }\n if (\"POST\" === this._method) {\n try {\n xhr.setRequestHeader(\"Content-type\", \"text/plain;charset=UTF-8\");\n }\n catch (e) { }\n }\n try {\n xhr.setRequestHeader(\"Accept\", \"*/*\");\n }\n catch (e) { }\n (_a = this._opts.cookieJar) === null || _a === void 0 ? void 0 : _a.addCookies(xhr);\n // ie6 check\n if (\"withCredentials\" in xhr) {\n xhr.withCredentials = this._opts.withCredentials;\n }\n if (this._opts.requestTimeout) {\n xhr.timeout = this._opts.requestTimeout;\n }\n xhr.onreadystatechange = () => {\n var _a;\n if (xhr.readyState === 3) {\n (_a = this._opts.cookieJar) === null || _a === void 0 ? void 0 : _a.parseCookies(\n // @ts-ignore\n xhr.getResponseHeader(\"set-cookie\"));\n }\n if (4 !== xhr.readyState)\n return;\n if (200 === xhr.status || 1223 === xhr.status) {\n this._onLoad();\n }\n else {\n // make sure the `error` event handler that's user-set\n // does not throw in the same tick and gets caught here\n this.setTimeoutFn(() => {\n this._onError(typeof xhr.status === \"number\" ? xhr.status : 0);\n }, 0);\n }\n };\n xhr.send(this._data);\n }\n catch (e) {\n // Need to defer since .create() is called directly from the constructor\n // and thus the 'error' event can only be only bound *after* this exception\n // occurs. Therefore, also, we cannot throw here at all.\n this.setTimeoutFn(() => {\n this._onError(e);\n }, 0);\n return;\n }\n if (typeof document !== \"undefined\") {\n this._index = Request.requestsCount++;\n Request.requests[this._index] = this;\n }\n }\n /**\n * Called upon error.\n *\n * @private\n */\n _onError(err) {\n this.emitReserved(\"error\", err, this._xhr);\n this._cleanup(true);\n }\n /**\n * Cleans up house.\n *\n * @private\n */\n _cleanup(fromError) {\n if (\"undefined\" === typeof this._xhr || null === this._xhr) {\n return;\n }\n this._xhr.onreadystatechange = empty;\n if (fromError) {\n try {\n this._xhr.abort();\n }\n catch (e) { }\n }\n if (typeof document !== \"undefined\") {\n delete Request.requests[this._index];\n }\n this._xhr = null;\n }\n /**\n * Called upon load.\n *\n * @private\n */\n _onLoad() {\n const data = this._xhr.responseText;\n if (data !== null) {\n this.emitReserved(\"data\", data);\n this.emitReserved(\"success\");\n this._cleanup();\n }\n }\n /**\n * Aborts the request.\n *\n * @package\n */\n abort() {\n this._cleanup();\n }\n}\nRequest.requestsCount = 0;\nRequest.requests = {};\n/**\n * Aborts pending requests when unloading the window. This is needed to prevent\n * memory leaks (e.g. when using IE) and to ensure that no spurious error is\n * emitted.\n */\nif (typeof document !== \"undefined\") {\n // @ts-ignore\n if (typeof attachEvent === \"function\") {\n // @ts-ignore\n attachEvent(\"onunload\", unloadHandler);\n }\n else if (typeof addEventListener === \"function\") {\n const terminationEvent = \"onpagehide\" in globalThis ? \"pagehide\" : \"unload\";\n addEventListener(terminationEvent, unloadHandler, false);\n }\n}\nfunction unloadHandler() {\n for (let i in Request.requests) {\n if (Request.requests.hasOwnProperty(i)) {\n Request.requests[i].abort();\n }\n }\n}\nconst hasXHR2 = (function () {\n const xhr = newRequest({\n xdomain: false,\n });\n return xhr && xhr.responseType !== null;\n})();\n/**\n * HTTP long-polling based on the built-in `XMLHttpRequest` object.\n *\n * Usage: browser\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest\n */\nexport class XHR extends BaseXHR {\n constructor(opts) {\n super(opts);\n const forceBase64 = opts && opts.forceBase64;\n this.supportsBinary = hasXHR2 && !forceBase64;\n }\n request(opts = {}) {\n Object.assign(opts, { xd: this.xd }, this.opts);\n return new Request(newRequest, this.uri(), opts);\n }\n}\nfunction newRequest(opts) {\n const xdomain = opts.xdomain;\n // XMLHttpRequest can be disabled on IE\n try {\n if (\"undefined\" !== typeof XMLHttpRequest && (!xdomain || hasCORS)) {\n return new XMLHttpRequest();\n }\n }\n catch (e) { }\n if (!xdomain) {\n try {\n return new globalThis[[\"Active\"].concat(\"Object\").join(\"X\")](\"Microsoft.XMLHTTP\");\n }\n catch (e) { }\n }\n}\n","import { Transport } from \"../transport.js\";\nimport { pick, randomString } from \"../util.js\";\nimport { encodePacket } from \"engine.io-parser\";\nimport { globalThisShim as globalThis, nextTick } from \"../globals.node.js\";\n// detect ReactNative environment\nconst isReactNative = typeof navigator !== \"undefined\" &&\n typeof navigator.product === \"string\" &&\n navigator.product.toLowerCase() === \"reactnative\";\nexport class BaseWS extends Transport {\n get name() {\n return \"websocket\";\n }\n doOpen() {\n const uri = this.uri();\n const protocols = this.opts.protocols;\n // React Native only supports the 'headers' option, and will print a warning if anything else is passed\n const opts = isReactNative\n ? {}\n : pick(this.opts, \"agent\", \"perMessageDeflate\", \"pfx\", \"key\", \"passphrase\", \"cert\", \"ca\", \"ciphers\", \"rejectUnauthorized\", \"localAddress\", \"protocolVersion\", \"origin\", \"maxPayload\", \"family\", \"checkServerIdentity\");\n if (this.opts.extraHeaders) {\n opts.headers = this.opts.extraHeaders;\n }\n try {\n this.ws = this.createSocket(uri, protocols, opts);\n }\n catch (err) {\n return this.emitReserved(\"error\", err);\n }\n this.ws.binaryType = this.socket.binaryType;\n this.addEventListeners();\n }\n /**\n * Adds event listeners to the socket\n *\n * @private\n */\n addEventListeners() {\n this.ws.onopen = () => {\n if (this.opts.autoUnref) {\n this.ws._socket.unref();\n }\n this.onOpen();\n };\n this.ws.onclose = (closeEvent) => this.onClose({\n description: \"websocket connection closed\",\n context: closeEvent,\n });\n this.ws.onmessage = (ev) => this.onData(ev.data);\n this.ws.onerror = (e) => this.onError(\"websocket error\", e);\n }\n write(packets) {\n this.writable = false;\n // encodePacket efficient as it uses WS framing\n // no need for encodePayload\n for (let i = 0; i < packets.length; i++) {\n const packet = packets[i];\n const lastPacket = i === packets.length - 1;\n encodePacket(packet, this.supportsBinary, (data) => {\n // Sometimes the websocket has already been closed but the browser didn't\n // have a chance of informing us about it yet, in that case send will\n // throw an error\n try {\n this.doWrite(packet, data);\n }\n catch (e) {\n }\n if (lastPacket) {\n // fake drain\n // defer to next tick to allow Socket to clear writeBuffer\n nextTick(() => {\n this.writable = true;\n this.emitReserved(\"drain\");\n }, this.setTimeoutFn);\n }\n });\n }\n }\n doClose() {\n if (typeof this.ws !== \"undefined\") {\n this.ws.onerror = () => { };\n this.ws.close();\n this.ws = null;\n }\n }\n /**\n * Generates uri for connection.\n *\n * @private\n */\n uri() {\n const schema = this.opts.secure ? \"wss\" : \"ws\";\n const query = this.query || {};\n // append timestamp to URI\n if (this.opts.timestampRequests) {\n query[this.opts.timestampParam] = randomString();\n }\n // communicate binary support capabilities\n if (!this.supportsBinary) {\n query.b64 = 1;\n }\n return this.createUri(schema, query);\n }\n}\nconst WebSocketCtor = globalThis.WebSocket || globalThis.MozWebSocket;\n/**\n * WebSocket transport based on the built-in `WebSocket` object.\n *\n * Usage: browser, Node.js (since v21), Deno, Bun\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/WebSocket\n * @see https://caniuse.com/mdn-api_websocket\n * @see https://nodejs.org/api/globals.html#websocket\n */\nexport class WS extends BaseWS {\n createSocket(uri, protocols, opts) {\n return !isReactNative\n ? protocols\n ? new WebSocketCtor(uri, protocols)\n : new WebSocketCtor(uri)\n : new WebSocketCtor(uri, protocols, opts);\n }\n doWrite(_packet, data) {\n this.ws.send(data);\n }\n}\n","import { Transport } from \"../transport.js\";\nimport { nextTick } from \"../globals.node.js\";\nimport { createPacketDecoderStream, createPacketEncoderStream, } from \"engine.io-parser\";\n/**\n * WebTransport transport based on the built-in `WebTransport` object.\n *\n * Usage: browser, Node.js (with the `@fails-components/webtransport` package)\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/WebTransport\n * @see https://caniuse.com/webtransport\n */\nexport class WT extends Transport {\n get name() {\n return \"webtransport\";\n }\n doOpen() {\n try {\n // @ts-ignore\n this._transport = new WebTransport(this.createUri(\"https\"), this.opts.transportOptions[this.name]);\n }\n catch (err) {\n return this.emitReserved(\"error\", err);\n }\n this._transport.closed\n .then(() => {\n this.onClose();\n })\n .catch((err) => {\n this.onError(\"webtransport error\", err);\n });\n // note: we could have used async/await, but that would require some additional polyfills\n this._transport.ready.then(() => {\n this._transport.createBidirectionalStream().then((stream) => {\n const decoderStream = createPacketDecoderStream(Number.MAX_SAFE_INTEGER, this.socket.binaryType);\n const reader = stream.readable.pipeThrough(decoderStream).getReader();\n const encoderStream = createPacketEncoderStream();\n encoderStream.readable.pipeTo(stream.writable);\n this._writer = encoderStream.writable.getWriter();\n const read = () => {\n reader\n .read()\n .then(({ done, value }) => {\n if (done) {\n return;\n }\n this.onPacket(value);\n read();\n })\n .catch((err) => {\n });\n };\n read();\n const packet = { type: \"open\" };\n if (this.query.sid) {\n packet.data = `{\"sid\":\"${this.query.sid}\"}`;\n }\n this._writer.write(packet).then(() => this.onOpen());\n });\n });\n }\n write(packets) {\n this.writable = false;\n for (let i = 0; i < packets.length; i++) {\n const packet = packets[i];\n const lastPacket = i === packets.length - 1;\n this._writer.write(packet).then(() => {\n if (lastPacket) {\n nextTick(() => {\n this.writable = true;\n this.emitReserved(\"drain\");\n }, this.setTimeoutFn);\n }\n });\n }\n }\n doClose() {\n var _a;\n (_a = this._transport) === null || _a === void 0 ? void 0 : _a.close();\n }\n}\n","import { XHR } from \"./polling-xhr.node.js\";\nimport { WS } from \"./websocket.node.js\";\nimport { WT } from \"./webtransport.js\";\nexport const transports = {\n websocket: WS,\n webtransport: WT,\n polling: XHR,\n};\n","// imported from https://github.com/galkn/parseuri\n/**\n * Parses a URI\n *\n * Note: we could also have used the built-in URL object, but it isn't supported on all platforms.\n *\n * See:\n * - https://developer.mozilla.org/en-US/docs/Web/API/URL\n * - https://caniuse.com/url\n * - https://www.rfc-editor.org/rfc/rfc3986#appendix-B\n *\n * History of the parse() method:\n * - first commit: https://github.com/socketio/socket.io-client/commit/4ee1d5d94b3906a9c052b459f1a818b15f38f91c\n * - export into its own module: https://github.com/socketio/engine.io-client/commit/de2c561e4564efeb78f1bdb1ba39ef81b2822cb3\n * - reimport: https://github.com/socketio/engine.io-client/commit/df32277c3f6d622eec5ed09f493cae3f3391d242\n *\n * @author Steven Levithan <stevenlevithan.com> (MIT license)\n * @api private\n */\nconst re = /^(?:(?![^:@\\/?#]+:[^:@\\/]*@)(http|https|ws|wss):\\/\\/)?((?:(([^:@\\/?#]*)(?::([^:@\\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\\/?#]*)(?::(\\d*))?)(((\\/(?:[^?#](?![^?#\\/]*\\.[^?#\\/.]+(?:[?#]|$)))*\\/?)?([^?#\\/]*))(?:\\?([^#]*))?(?:#(.*))?)/;\nconst parts = [\n 'source', 'protocol', 'authority', 'userInfo', 'user', 'password', 'host', 'port', 'relative', 'path', 'directory', 'file', 'query', 'anchor'\n];\nexport function parse(str) {\n if (str.length > 8000) {\n throw \"URI too long\";\n }\n const src = str, b = str.indexOf('['), e = str.indexOf(']');\n if (b != -1 && e != -1) {\n str = str.substring(0, b) + str.substring(b, e).replace(/:/g, ';') + str.substring(e, str.length);\n }\n let m = re.exec(str || ''), uri = {}, i = 14;\n while (i--) {\n uri[parts[i]] = m[i] || '';\n }\n if (b != -1 && e != -1) {\n uri.source = src;\n uri.host = uri.host.substring(1, uri.host.length - 1).replace(/;/g, ':');\n uri.authority = uri.authority.replace('[', '').replace(']', '').replace(/;/g, ':');\n uri.ipv6uri = true;\n }\n uri.pathNames = pathNames(uri, uri['path']);\n uri.queryKey = queryKey(uri, uri['query']);\n return uri;\n}\nfunction pathNames(obj, path) {\n const regx = /\\/{2,9}/g, names = path.replace(regx, \"/\").split(\"/\");\n if (path.slice(0, 1) == '/' || path.length === 0) {\n names.splice(0, 1);\n }\n if (path.slice(-1) == '/') {\n names.splice(names.length - 1, 1);\n }\n return names;\n}\nfunction queryKey(uri, query) {\n const data = {};\n query.replace(/(?:^|&)([^&=]*)=?([^&]*)/g, function ($0, $1, $2) {\n if ($1) {\n data[$1] = $2;\n }\n });\n return data;\n}\n","import { transports as DEFAULT_TRANSPORTS } from \"./transports/index.js\";\nimport { installTimerFunctions, byteLength } from \"./util.js\";\nimport { decode } from \"./contrib/parseqs.js\";\nimport { parse } from \"./contrib/parseuri.js\";\nimport { Emitter } from \"@socket.io/component-emitter\";\nimport { protocol } from \"engine.io-parser\";\nimport { createCookieJar, defaultBinaryType, nextTick, } from \"./globals.node.js\";\nconst withEventListeners = typeof addEventListener === \"function\" &&\n typeof removeEventListener === \"function\";\nconst OFFLINE_EVENT_LISTENERS = [];\nif (withEventListeners) {\n // within a ServiceWorker, any event handler for the 'offline' event must be added on the initial evaluation of the\n // script, so we create one single event listener here which will forward the event to the socket instances\n addEventListener(\"offline\", () => {\n OFFLINE_EVENT_LISTENERS.forEach((listener) => listener());\n }, false);\n}\n/**\n * This class provides a WebSocket-like interface to connect to an Engine.IO server. The connection will be established\n * with one of the available low-level transports, like HTTP long-polling, WebSocket or WebTransport.\n *\n * This class comes without upgrade mechanism, which means that it will keep the first low-level transport that\n * successfully establishes the connection.\n *\n * In order to allow tree-shaking, there are no transports included, that's why the `transports` option is mandatory.\n *\n * @example\n * import { SocketWithoutUpgrade, WebSocket } from \"engine.io-client\";\n *\n * const socket = new SocketWithoutUpgrade({\n * transports: [WebSocket]\n * });\n *\n * socket.on(\"open\", () => {\n * socket.send(\"hello\");\n * });\n *\n * @see SocketWithUpgrade\n * @see Socket\n */\nexport class SocketWithoutUpgrade extends Emitter {\n /**\n * Socket constructor.\n *\n * @param {String|Object} uri - uri or options\n * @param {Object} opts - options\n */\n constructor(uri, opts) {\n super();\n this.binaryType = defaultBinaryType;\n this.writeBuffer = [];\n this._prevBufferLen = 0;\n this._pingInterval = -1;\n this._pingTimeout = -1;\n this._maxPayload = -1;\n /**\n * The expiration timestamp of the {@link _pingTimeoutTimer} object is tracked, in case the timer is throttled and the\n * callback is not fired on time. This can happen for example when a laptop is suspended or when a phone is locked.\n */\n this._pingTimeoutTime = Infinity;\n if (uri && \"object\" === typeof uri) {\n opts = uri;\n uri = null;\n }\n if (uri) {\n const parsedUri = parse(uri);\n opts.hostname = parsedUri.host;\n opts.secure =\n parsedUri.protocol === \"https\" || parsedUri.protocol === \"wss\";\n opts.port = parsedUri.port;\n if (parsedUri.query)\n opts.query = parsedUri.query;\n }\n else if (opts.host) {\n opts.hostname = parse(opts.host).host;\n }\n installTimerFunctions(this, opts);\n this.secure =\n null != opts.secure\n ? opts.secure\n : typeof location !== \"undefined\" && \"https:\" === location.protocol;\n if (opts.hostname && !opts.port) {\n // if no port is specified manually, use the protocol default\n opts.port = this.secure ? \"443\" : \"80\";\n }\n this.hostname =\n opts.hostname ||\n (typeof location !== \"undefined\" ? location.hostname : \"localhost\");\n this.port =\n opts.port ||\n (typeof location !== \"undefined\" && location.port\n ? location.port\n : this.secure\n ? \"443\"\n : \"80\");\n this.transports = [];\n this._transportsByName = {};\n opts.transports.forEach((t) => {\n const transportName = t.prototype.name;\n this.transports.push(transportName);\n this._transportsByName[transportName] = t;\n });\n this.opts = Object.assign({\n path: \"/engine.io\",\n agent: false,\n withCredentials: false,\n upgrade: true,\n timestampParam: \"t\",\n rememberUpgrade: false,\n addTrailingSlash: true,\n rejectUnauthorized: true,\n perMessageDeflate: {\n threshold: 1024,\n },\n transportOptions: {},\n closeOnBeforeunload: false,\n }, opts);\n this.opts.path =\n this.opts.path.replace(/\\/$/, \"\") +\n (this.opts.addTrailingSlash ? \"/\" : \"\");\n if (typeof this.opts.query === \"string\") {\n this.opts.query = decode(this.opts.query);\n }\n if (withEventListeners) {\n if (this.opts.closeOnBeforeunload) {\n // Firefox closes the connection when the \"beforeunload\" event is emitted but not Chrome. This event listener\n // ensures every browser behaves the same (no \"disconnect\" event at the Socket.IO level when the page is\n // closed/reloaded)\n this._beforeunloadEventListener = () => {\n if (this.transport) {\n // silently close the transport\n this.transport.removeAllListeners();\n this.transport.close();\n }\n };\n addEventListener(\"beforeunload\", this._beforeunloadEventListener, false);\n }\n if (this.hostname !== \"localhost\") {\n this._offlineEventListener = () => {\n this._onClose(\"transport close\", {\n description: \"network connection lost\",\n });\n };\n OFFLINE_EVENT_LISTENERS.push(this._offlineEventListener);\n }\n }\n if (this.opts.withCredentials) {\n this._cookieJar = createCookieJar();\n }\n this._open();\n }\n /**\n * Creates transport of the given type.\n *\n * @param {String} name - transport name\n * @return {Transport}\n * @private\n */\n createTransport(name) {\n const query = Object.assign({}, this.opts.query);\n // append engine.io protocol identifier\n query.EIO = protocol;\n // transport name\n query.transport = name;\n // session id if we already have one\n if (this.id)\n query.sid = this.id;\n const opts = Object.assign({}, this.opts, {\n query,\n socket: this,\n hostname: this.hostname,\n secure: this.secure,\n port: this.port,\n }, this.opts.transportOptions[name]);\n return new this._transportsByName[name](opts);\n }\n /**\n * Initializes transport to use and starts probe.\n *\n * @private\n */\n _open() {\n if (this.transports.length === 0) {\n // Emit error on next tick so it can be listened to\n this.setTimeoutFn(() => {\n this.emitReserved(\"error\", \"No transports available\");\n }, 0);\n return;\n }\n const transportName = this.opts.rememberUpgrade &&\n SocketWithoutUpgrade.priorWebsocketSuccess &&\n this.transports.indexOf(\"websocket\") !== -1\n ? \"websocket\"\n : this.transports[0];\n this.readyState = \"opening\";\n const transport = this.createTransport(transportName);\n transport.open();\n this.setTransport(transport);\n }\n /**\n * Sets the current transport. Disables the existing one (if any).\n *\n * @private\n */\n setTransport(transport) {\n if (this.transport) {\n this.transport.removeAllListeners();\n }\n // set up transport\n this.transport = transport;\n // set up transport listeners\n transport\n .on(\"drain\", this._onDrain.bind(this))\n .on(\"packet\", this._onPacket.bind(this))\n .on(\"error\", this._onError.bind(this))\n .on(\"close\", (reason) => this._onClose(\"transport close\", reason));\n }\n /**\n * Called when connection is deemed open.\n *\n * @private\n */\n onOpen() {\n this.readyState = \"open\";\n SocketWithoutUpgrade.priorWebsocketSuccess =\n \"websocket\" === this.transport.name;\n this.emitReserved(\"open\");\n this.flush();\n }\n /**\n * Handles a packet.\n *\n * @private\n */\n _onPacket(packet) {\n if (\"opening\" === this.readyState ||\n \"open\" === this.readyState ||\n \"closing\" === this.readyState) {\n this.emitReserved(\"packet\", packet);\n // Socket is live - any packet counts\n this.emitReserved(\"heartbeat\");\n switch (packet.type) {\n case \"open\":\n this.onHandshake(JSON.parse(packet.data));\n break;\n case \"ping\":\n this._sendPacket(\"pong\");\n this.emitReserved(\"ping\");\n this.emitReserved(\"pong\");\n this._resetPingTimeout();\n break;\n case \"error\":\n const err = new Error(\"server error\");\n // @ts-ignore\n err.code = packet.data;\n this._onError(err);\n break;\n case \"message\":\n this.emitReserved(\"data\", packet.data);\n this.emitReserved(\"message\", packet.data);\n break;\n }\n }\n else {\n }\n }\n /**\n * Called upon handshake completion.\n *\n * @param {Object} data - handshake obj\n * @private\n */\n onHandshake(data) {\n this.emitReserved(\"handshake\", data);\n this.id = data.sid;\n this.transport.query.sid = data.sid;\n this._pingInterval = data.pingInterval;\n this._pingTimeout = data.pingTimeout;\n this._maxPayload = data.maxPayload;\n this.onOpen();\n // In case open handler closes socket\n if (\"closed\" === this.readyState)\n return;\n this._resetPingTimeout();\n }\n /**\n * Sets and resets ping timeout timer based on server pings.\n *\n * @private\n */\n _resetPingTimeout() {\n this.clearTimeoutFn(this._pingTimeoutTimer);\n const delay = this._pingInterval + this._pingTimeout;\n this._pingTimeoutTime = Date.now() + delay;\n this._pingTimeoutTimer = this.setTimeoutFn(() => {\n this._onClose(\"ping timeout\");\n }, delay);\n if (this.opts.autoUnref) {\n this._pingTimeoutTimer.unref();\n }\n }\n /**\n * Called on `drain` event\n *\n * @private\n */\n _onDrain() {\n this.writeBuffer.splice(0, this._prevBufferLen);\n // setting prevBufferLen = 0 is very important\n // for example, when upgrading, upgrade packet is sent over,\n // and a nonzero prevBufferLen could cause problems on `drain`\n this._prevBufferLen = 0;\n if (0 === this.writeBuffer.length) {\n this.emitReserved(\"drain\");\n }\n else {\n this.flush();\n }\n }\n /**\n * Flush write buffers.\n *\n * @private\n */\n flush() {\n if (\"closed\" !== this.readyState &&\n this.transport.writable &&\n !this.upgrading &&\n this.writeBuffer.length) {\n const packets = this._getWritablePackets();\n this.transport.send(packets);\n // keep track of current length of writeBuffer\n // splice writeBuffer and callbackBuffer on `drain`\n this._prevBufferLen = packets.length;\n this.emitReserved(\"flush\");\n }\n }\n /**\n * Ensure the encoded size of the writeBuffer is below the maxPayload value sent by the server (only for HTTP\n * long-polling)\n *\n * @private\n */\n _getWritablePackets() {\n const shouldCheckPayloadSize = this._maxPayload &&\n this.transport.name === \"polling\" &&\n this.writeBuffer.length > 1;\n if (!shouldCheckPayloadSize) {\n return this.writeBuffer;\n }\n let payloadSize = 1; // first packet type\n for (let i = 0; i < this.writeBuffer.length; i++) {\n const data = this.writeBuffer[i].data;\n if (data) {\n payloadSize += byteLength(data);\n }\n if (i > 0 && payloadSize > this._maxPayload) {\n return this.writeBuffer.slice(0, i);\n }\n payloadSize += 2; // separator + packet type\n }\n return this.writeBuffer;\n }\n /**\n * Checks whether the heartbeat timer has expired but the socket has not yet been notified.\n *\n * Note: this method is private for now because it does not really fit the WebSocket API, but if we put it in the\n * `write()` method then the message would not be buffered by the Socket.IO client.\n *\n * @return {boolean}\n * @private\n */\n /* private */ _hasPingExpired() {\n if (!this._pingTimeoutTime)\n return true;\n const hasExpired = Date.now() > this._pingTimeoutTime;\n if (hasExpired) {\n this._pingTimeoutTime = 0;\n nextTick(() => {\n this._onClose(\"ping timeout\");\n }, this.setTimeoutFn);\n }\n return hasExpired;\n }\n /**\n * Sends a message.\n *\n * @param {String} msg - message.\n * @param {Object} options.\n * @param {Function} fn - callback function.\n * @return {Socket} for chaining.\n */\n write(msg, options, fn) {\n this._sendPacket(\"message\", msg, options, fn);\n return this;\n }\n /**\n * Sends a message. Alias of {@link Socket#write}.\n *\n * @param {String} msg - message.\n * @param {Object} options.\n * @param {Function} fn - callback function.\n * @return {Socket} for chaining.\n */\n send(msg, options, fn) {\n this._sendPacket(\"message\", msg, options, fn);\n return this;\n }\n /**\n * Sends a packet.\n *\n * @param {String} type: packet type.\n * @param {String} data.\n * @param {Object} options.\n * @param {Function} fn - callback function.\n * @private\n */\n _sendPacket(type, data, options, fn) {\n if (\"function\" === typeof data) {\n fn = data;\n data = undefined;\n }\n if (\"function\" === typeof options) {\n fn = options;\n options = null;\n }\n if (\"closing\" === this.readyState || \"closed\" === this.readyState) {\n return;\n }\n options = options || {};\n options.compress = false !== options.compress;\n const packet = {\n type: type,\n data: data,\n options: options,\n };\n this.emitReserved(\"packetCreate\", packet);\n this.writeBuffer.push(packet);\n if (fn)\n this.once(\"flush\", fn);\n this.flush();\n }\n /**\n * Closes the connection.\n */\n close() {\n const close = () => {\n this._onClose(\"forced close\");\n this.transport.close();\n };\n const cleanupAndClose = () => {\n this.off(\"upgrade\", cleanupAndClose);\n this.off(\"upgradeError\", cleanupAndClose);\n close();\n };\n const waitForUpgrade = () => {\n // wait for upgrade to finish since we can't send packets while pausing a transport\n this.once(\"upgrade\", cleanupAndClose);\n this.once(\"upgradeError\", cleanupAndClose);\n };\n if (\"opening\" === this.readyState || \"open\" === this.readyState) {\n this.readyState = \"closing\";\n if (this.writeBuffer.length) {\n this.once(\"drain\", () => {\n if (this.upgrading) {\n waitForUpgrade();\n }\n else {\n close();\n }\n });\n }\n else if (this.upgrading) {\n waitForUpgrade();\n }\n else {\n close();\n }\n }\n return this;\n }\n /**\n * Called upon transport error\n *\n * @private\n */\n _onError(err) {\n SocketWithoutUpgrade.priorWebsocketSuccess = false;\n if (this.opts.tryAllTransports &&\n this.transports.length > 1 &&\n this.readyState === \"opening\") {\n this.transports.shift();\n return this._open();\n }\n this.emitReserved(\"error\", err);\n this._onClose(\"transport error\", err);\n }\n /**\n * Called upon transport close.\n *\n * @private\n */\n _onClose(reason, description) {\n if (\"opening\" === this.readyState ||\n \"open\" === this.readyState ||\n \"closing\" === this.readyState) {\n // clear timers\n this.clearTimeoutFn(this._pingTimeoutTimer);\n // stop event from firing again for transport\n this.transport.removeAllListeners(\"close\");\n // ensure transport won't stay open\n this.transport.close();\n // ignore further transport communication\n this.transport.removeAllListeners();\n if (withEventListeners) {\n if (this._beforeunloadEventListener) {\n removeEventListener(\"beforeunload\", this._beforeunloadEventListener, false);\n }\n if (this._offlineEventListener) {\n const i = OFFLINE_EVENT_LISTENERS.indexOf(this._offlineEventListener);\n if (i !== -1) {\n OFFLINE_EVENT_LISTENERS.splice(i, 1);\n }\n }\n }\n // set ready state\n this.readyState = \"closed\";\n // clear session id\n this.id = null;\n // emit close event\n this.emitReserved(\"close\", reason, description);\n // clean buffers after, so users can still\n // grab the buffers on `close` event\n this.writeBuffer = [];\n this._prevBufferLen = 0;\n }\n }\n}\nSocketWithoutUpgrade.protocol = protocol;\n/**\n * This class provides a WebSocket-like interface to connect to an Engine.IO server. The connection will be established\n * with one of the available low-level transports, like HTTP long-polling, WebSocket or WebTransport.\n *\n * This class comes with an upgrade mechanism, which means that once the connection is established with the first\n * low-level transport, it will try to upgrade to a better transport.\n *\n * In order to allow tree-shaking, there are no transports included, that's why the `transports` option is mandatory.\n *\n * @example\n * import { SocketWithUpgrade, WebSocket } from \"engine.io-client\";\n *\n * const socket = new SocketWithUpgrade({\n * transports: [WebSocket]\n * });\n *\n * socket.on(\"open\", () => {\n * socket.send(\"hello\");\n * });\n *\n * @see SocketWithoutUpgrade\n * @see Socket\n */\nexport class SocketWithUpgrade extends SocketWithoutUpgrade {\n constructor() {\n super(...arguments);\n this._upgrades = [];\n }\n onOpen() {\n super.onOpen();\n if (\"open\" === this.readyState && this.opts.upgrade) {\n for (let i = 0; i < this._upgrades.length; i++) {\n this._probe(this._upgrades[i]);\n }\n }\n }\n /**\n * Probes a transport.\n *\n * @param {String} name - transport name\n * @private\n */\n _probe(name) {\n let transport = this.createTransport(name);\n let failed = false;\n SocketWithoutUpgrade.priorWebsocketSuccess = false;\n const onTransportOpen = () => {\n if (failed)\n return;\n transport.send([{ type: \"ping\", data: \"probe\" }]);\n transport.once(\"packet\", (msg) => {\n if (failed)\n return;\n if (\"pong\" === msg.type && \"probe\" === msg.data) {\n this.upgrading = true;\n this.emitReserved(\"upgrading\", transport);\n if (!transport)\n return;\n SocketWithoutUpgrade.priorWebsocketSuccess =\n \"websocket\" === transport.name;\n this.transport.pause(() => {\n if (failed)\n return;\n if (\"closed\" === this.readyState)\n return;\n cleanup();\n this.setTransport(transport);\n transport.send([{ type: \"upgrade\" }]);\n this.emitReserved(\"upgrade\", transport);\n transport = null;\n this.upgrading = false;\n this.flush();\n });\n }\n else {\n const err = new Error(\"probe error\");\n // @ts-ignore\n err.transport = transport.name;\n this.emitReserved(\"upgradeError\", err);\n }\n });\n };\n function freezeTransport() {\n if (failed)\n return;\n // Any callback called by transport should be ignored since now\n failed = true;\n cleanup();\n transport.close();\n transport = null;\n }\n // Handle any error that happens while probing\n const onerror = (err) => {\n const error = new Error(\"probe error: \" + err);\n // @ts-ignore\n error.transport = transport.name;\n freezeTransport();\n this.emitReserved(\"upgradeError\", error);\n };\n function onTransportClose() {\n onerror(\"transport closed\");\n }\n // When the socket is closed while we're probing\n function onclose() {\n onerror(\"socket closed\");\n }\n // When the socket is upgraded while we're probing\n function onupgrade(to) {\n if (transport && to.name !== transport.name) {\n freezeTransport();\n }\n }\n // Remove all listeners on the transport and on self\n const cleanup = () => {\n transport.removeListener(\"open\", onTransportOpen);\n transport.removeListener(\"error\", onerror);\n transport.removeListener(\"close\", onTransportClose);\n this.off(\"close\", onclose);\n this.off(\"upgrading\", onupgrade);\n };\n transport.once(\"open\", onTransportOpen);\n transport.once(\"error\", onerror);\n transport.once(\"close\", onTransportClose);\n this.once(\"close\", onclose);\n this.once(\"upgrading\", onupgrade);\n if (this._upgrades.indexOf(\"webtransport\") !== -1 &&\n name !== \"webtransport\") {\n // favor WebTransport\n this.setTimeoutFn(() => {\n if (!failed) {\n transport.open();\n }\n }, 200);\n }\n else {\n transport.open();\n }\n }\n onHandshake(data) {\n this._upgrades = this._filterUpgrades(data.upgrades);\n super.onHandshake(data);\n }\n /**\n * Filters upgrades, returning only those matching client transports.\n *\n * @param {Array} upgrades - server upgrades\n * @private\n */\n _filterUpgrades(upgrades) {\n const filteredUpgrades = [];\n for (let i = 0; i < upgrades.length; i++) {\n if (~this.transports.indexOf(upgrades[i]))\n filteredUpgrades.push(upgrades[i]);\n }\n return filteredUpgrades;\n }\n}\n/**\n * This class provides a WebSocket-like interface to connect to an Engine.IO server. The connection will be established\n * with one of the available low-level transports, like HTTP long-polling, WebSocket or WebTransport.\n *\n * This class comes with an upgrade mechanism, which means that once the connection is established with the first\n * low-level transport, it will try to upgrade to a better transport.\n *\n * @example\n * import { Socket } from \"engine.io-client\";\n *\n * const socket = new Socket();\n *\n * socket.on(\"open\", () => {\n * socket.send(\"hello\");\n * });\n *\n * @see SocketWithoutUpgrade\n * @see SocketWithUpgrade\n */\nexport class Socket extends SocketWithUpgrade {\n constructor(uri, opts = {}) {\n const o = typeof uri === \"object\" ? uri : opts;\n if (!o.transports ||\n (o.transports && typeof o.transports[0] === \"string\")) {\n o.transports = (o.transports || [\"polling\", \"websocket\", \"webtransport\"])\n .map((transportName) => DEFAULT_TRANSPORTS[transportName])\n .filter((t) => !!t);\n }\n super(uri, o);\n }\n}\n","import { parse } from \"engine.io-client\";\n/**\n * URL parser.\n *\n * @param uri - url\n * @param path - the request path of the connection\n * @param loc - An object meant to mimic window.location.\n * Defaults to window.location.\n * @public\n */\nexport function url(uri, path = \"\", loc) {\n let obj = uri;\n // default to window.location\n loc = loc || (typeof location !== \"undefined\" && location);\n if (null == uri)\n uri = loc.protocol + \"//\" + loc.host;\n // relative path support\n if (typeof uri === \"string\") {\n if (\"/\" === uri.charAt(0)) {\n if (\"/\" === uri.charAt(1)) {\n uri = loc.protocol + uri;\n }\n else {\n uri = loc.host + uri;\n }\n }\n if (!/^(https?|wss?):\\/\\//.test(uri)) {\n if (\"undefined\" !== typeof loc) {\n uri = loc.protocol + \"//\" + uri;\n }\n else {\n uri = \"https://\" + uri;\n }\n }\n // parse\n obj = parse(uri);\n }\n // make sure we treat `localhost:80` and `localhost` equally\n if (!obj.port) {\n if (/^(http|ws)$/.test(obj.protocol)) {\n obj.port = \"80\";\n }\n else if (/^(http|ws)s$/.test(obj.protocol)) {\n obj.port = \"443\";\n }\n }\n obj.path = obj.path || \"/\";\n const ipv6 = obj.host.indexOf(\":\") !== -1;\n const host = ipv6 ? \"[\" + obj.host + \"]\" : obj.host;\n // define unique id\n obj.id = obj.protocol + \"://\" + host + \":\" + obj.port + path;\n // define href\n obj.href =\n obj.protocol +\n \"://\" +\n host +\n (loc && loc.port === obj.port ? \"\" : \":\" + obj.port);\n return obj;\n}\n","const withNativeArrayBuffer = typeof ArrayBuffer === \"function\";\nconst isView = (obj) => {\n return typeof ArrayBuffer.isView === \"function\"\n ? ArrayBuffer.isView(obj)\n : obj.buffer instanceof ArrayBuffer;\n};\nconst toString = Object.prototype.toString;\nconst withNativeBlob = typeof Blob === \"function\" ||\n (typeof Blob !== \"undefined\" &&\n toString.call(Blob) === \"[object BlobConstructor]\");\nconst withNativeFile = typeof File === \"function\" ||\n (typeof File !== \"undefined\" &&\n toString.call(File) === \"[object FileConstructor]\");\n/**\n * Returns true if obj is a Buffer, an ArrayBuffer, a Blob or a File.\n *\n * @private\n */\nexport function isBinary(obj) {\n return ((withNativeArrayBuffer && (obj instanceof ArrayBuffer || isView(obj))) ||\n (withNativeBlob && obj instanceof Blob) ||\n (withNativeFile && obj instanceof File));\n}\nexport function hasBinary(obj, toJSON) {\n if (!obj || typeof obj !== \"object\") {\n return false;\n }\n if (Array.isArray(obj)) {\n for (let i = 0, l = obj.length; i < l; i++) {\n if (hasBinary(obj[i])) {\n return true;\n }\n }\n return false;\n }\n if (isBinary(obj)) {\n return true;\n }\n if (obj.toJSON &&\n typeof obj.toJSON === \"function\" &&\n arguments.length === 1) {\n return hasBinary(obj.toJSON(), true);\n }\n for (const key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key) && hasBinary(obj[key])) {\n return true;\n }\n }\n return false;\n}\n","import { isBinary } from \"./is-binary.js\";\n/**\n * Replaces every Buffer | ArrayBuffer | Blob | File in packet with a numbered placeholder.\n *\n * @param {Object} packet - socket.io event packet\n * @return {Object} with deconstructed packet and list of buffers\n * @public\n */\nexport function deconstructPacket(packet) {\n const buffers = [];\n const packetData = packet.data;\n const pack = packet;\n pack.data = _deconstructPacket(packetData, buffers);\n pack.attachments = buffers.length; // number of binary 'attachments'\n return { packet: pack, buffers: buffers };\n}\nfunction _deconstructPacket(data, buffers) {\n if (!data)\n return data;\n if (isBinary(data)) {\n const placeholder = { _placeholder: true, num: buffers.length };\n buffers.push(data);\n return placeholder;\n }\n else if (Array.isArray(data)) {\n const newData = new Array(data.length);\n for (let i = 0; i < data.length; i++) {\n newData[i] = _deconstructPacket(data[i], buffers);\n }\n return newData;\n }\n else if (typeof data === \"object\" && !(data instanceof Date)) {\n const newData = {};\n for (const key in data) {\n if (Object.prototype.hasOwnProperty.call(data, key)) {\n newData[key] = _deconstructPacket(data[key], buffers);\n }\n }\n return newData;\n }\n return data;\n}\n/**\n * Reconstructs a binary packet from its placeholder packet and buffers\n *\n * @param {Object} packet - event packet with placeholders\n * @param {Array} buffers - binary buffers to put in placeholder positions\n * @return {Object} reconstructed packet\n * @public\n */\nexport function reconstructPacket(packet, buffers) {\n packet.data = _reconstructPacket(packet.data, buffers);\n delete packet.attachments; // no longer useful\n return packet;\n}\nfunction _reconstructPacket(data, buffers) {\n if (!data)\n return data;\n if (data && data._placeholder === true) {\n const isIndexValid = typeof data.num === \"number\" &&\n data.num >= 0 &&\n data.num < buffers.length;\n if (isIndexValid) {\n return buffers[data.num]; // appropriate buffer (should be natural order anyway)\n }\n else {\n throw new Error(\"illegal attachments\");\n }\n }\n else if (Array.isArray(data)) {\n for (let i = 0; i < data.length; i++) {\n data[i] = _reconstructPacket(data[i], buffers);\n }\n }\n else if (typeof data === \"object\") {\n for (const key in data) {\n if (Object.prototype.hasOwnProperty.call(data, key)) {\n data[key] = _reconstructPacket(data[key], buffers);\n }\n }\n }\n return data;\n}\n","import { Emitter } from \"@socket.io/component-emitter\";\nimport { deconstructPacket, reconstructPacket } from \"./binary.js\";\nimport { isBinary, hasBinary } from \"./is-binary.js\";\n/**\n * These strings must not be used as event names, as they have a special meaning.\n */\nconst RESERVED_EVENTS = [\n \"connect\",\n \"connect_error\",\n \"disconnect\",\n \"disconnecting\",\n \"newListener\",\n \"removeListener\", // used by the Node.js EventEmitter\n];\n/**\n * Protocol version.\n *\n * @public\n */\nexport const protocol = 5;\nexport var PacketType;\n(function (PacketType) {\n PacketType[PacketType[\"CONNECT\"] = 0] = \"CONNECT\";\n PacketType[PacketType[\"DISCONNECT\"] = 1] = \"DISCONNECT\";\n PacketType[PacketType[\"EVENT\"] = 2] = \"EVENT\";\n PacketType[PacketType[\"ACK\"] = 3] = \"ACK\";\n PacketType[PacketType[\"CONNECT_ERROR\"] = 4] = \"CONNECT_ERROR\";\n PacketType[PacketType[\"BINARY_EVENT\"] = 5] = \"BINARY_EVENT\";\n PacketType[PacketType[\"BINARY_ACK\"] = 6] = \"BINARY_ACK\";\n})(PacketType || (PacketType = {}));\n/**\n * A socket.io Encoder instance\n */\nexport class Encoder {\n /**\n * Encoder constructor\n *\n * @param {function} replacer - custom replacer to pass down to JSON.parse\n */\n constructor(replacer) {\n this.replacer = replacer;\n }\n /**\n * Encode a packet as a single string if non-binary, or as a\n * buffer sequence, depending on packet type.\n *\n * @param {Object} obj - packet object\n */\n encode(obj) {\n if (obj.type === PacketType.EVENT || obj.type === PacketType.ACK) {\n if (hasBinary(obj)) {\n return this.encodeAsBinary({\n type: obj.type === PacketType.EVENT\n ? PacketType.BINARY_EVENT\n : PacketType.BINARY_ACK,\n nsp: obj.nsp,\n data: obj.data,\n id: obj.id,\n });\n }\n }\n return [this.encodeAsString(obj)];\n }\n /**\n * Encode packet as string.\n */\n encodeAsString(obj) {\n // first is type\n let str = \"\" + obj.type;\n // attachments if we have them\n if (obj.type === PacketType.BINARY_EVENT ||\n obj.type === PacketType.BINARY_ACK) {\n str += obj.attachments + \"-\";\n }\n // if we have a namespace other than `/`\n // we append it followed by a comma `,`\n if (obj.nsp && \"/\" !== obj.nsp) {\n str += obj.nsp + \",\";\n }\n // immediately followed by the id\n if (null != obj.id) {\n str += obj.id;\n }\n // json data\n if (null != obj.data) {\n str += JSON.stringify(obj.data, this.replacer);\n }\n return str;\n }\n /**\n * Encode packet as 'buffer sequence' by removing blobs, and\n * deconstructing packet into object with placeholders and\n * a list of buffers.\n */\n encodeAsBinary(obj) {\n const deconstruction = deconstructPacket(obj);\n const pack = this.encodeAsString(deconstruction.packet);\n const buffers = deconstruction.buffers;\n buffers.unshift(pack); // add packet info to beginning of data list\n return buffers; // write all the buffers\n }\n}\n// see https://stackoverflow.com/questions/8511281/check-if-a-value-is-an-object-in-javascript\nfunction isObject(value) {\n return Object.prototype.toString.call(value) === \"[object Object]\";\n}\n/**\n * A socket.io Decoder instance\n *\n * @return {Object} decoder\n */\nexport class Decoder extends Emitter {\n /**\n * Decoder constructor\n *\n * @param {function} reviver - custom reviver to pass down to JSON.stringify\n */\n constructor(reviver) {\n super();\n this.reviver = reviver;\n }\n /**\n * Decodes an encoded packet string into packet JSON.\n *\n * @param {String} obj - encoded packet\n */\n add(obj) {\n let packet;\n if (typeof obj === \"string\") {\n if (this.reconstructor) {\n throw new Error(\"got plaintext data when reconstructing a packet\");\n }\n packet = this.decodeString(obj);\n const isBinaryEvent = packet.type === PacketType.BINARY_EVENT;\n if (isBinaryEvent || packet.type === PacketType.BINARY_ACK) {\n packet.type = isBinaryEvent ? PacketType.EVENT : PacketType.ACK;\n // binary packet's json\n this.reconstructor = new BinaryReconstructor(packet);\n // no attachments, labeled binary but no binary data to follow\n if (packet.attachments === 0) {\n super.emitReserved(\"decoded\", packet);\n }\n }\n else {\n // non-binary full packet\n super.emitReserved(\"decoded\", packet);\n }\n }\n else if (isBinary(obj) || obj.base64) {\n // raw binary data\n if (!this.reconstructor) {\n throw new Error(\"got binary data when not reconstructing a packet\");\n }\n else {\n packet = this.reconstructor.takeBinaryData(obj);\n if (packet) {\n // received final buffer\n this.reconstructor = null;\n super.emitReserved(\"decoded\", packet);\n }\n }\n }\n else {\n throw new Error(\"Unknown type: \" + obj);\n }\n }\n /**\n * Decode a packet String (JSON data)\n *\n * @param {String} str\n * @return {Object} packet\n */\n decodeString(str) {\n let i = 0;\n // look up type\n const p = {\n type: Number(str.charAt(0)),\n };\n if (PacketType[p.type] === undefined) {\n throw new Error(\"unknown packet type \" + p.type);\n }\n // look up attachments if type binary\n if (p.type === PacketType.BINARY_EVENT ||\n p.type === PacketType.BINARY_ACK) {\n const start = i + 1;\n while (str.charAt(++i) !== \"-\" && i != str.length) { }\n const buf = str.substring(start, i);\n if (buf != Number(buf) || str.charAt(i) !== \"-\") {\n throw new Error(\"Illegal attachments\");\n }\n p.attachments = Number(buf);\n }\n // look up namespace (if any)\n if (\"/\" === str.charAt(i + 1)) {\n const start = i + 1;\n while (++i) {\n const c = str.charAt(i);\n if (\",\" === c)\n break;\n if (i === str.length)\n break;\n }\n p.nsp = str.substring(start, i);\n }\n else {\n p.nsp = \"/\";\n }\n // look up id\n const next = str.charAt(i + 1);\n if (\"\" !== next && Number(next) == next) {\n const start = i + 1;\n while (++i) {\n const c = str.charAt(i);\n if (null == c || Number(c) != c) {\n --i;\n break;\n }\n if (i === str.length)\n break;\n }\n p.id = Number(str.substring(start, i + 1));\n }\n // look up json data\n if (str.charAt(++i)) {\n const payload = this.tryParse(str.substr(i));\n if (Decoder.isPayloadValid(p.type, payload)) {\n p.data = payload;\n }\n else {\n throw new Error(\"invalid payload\");\n }\n }\n return p;\n }\n tryParse(str) {\n try {\n return JSON.parse(str, this.reviver);\n }\n catch (e) {\n return false;\n }\n }\n static isPayloadValid(type, payload) {\n switch (type) {\n case PacketType.CONNECT:\n return isObject(payload);\n case PacketType.DISCONNECT:\n return payload === undefined;\n case PacketType.CONNECT_ERROR:\n return typeof payload === \"string\" || isObject(payload);\n case PacketType.EVENT:\n case PacketType.BINARY_EVENT:\n return (Array.isArray(payload) &&\n (typeof payload[0] === \"number\" ||\n (typeof payload[0] === \"string\" &&\n RESERVED_EVENTS.indexOf(payload[0]) === -1)));\n case PacketType.ACK:\n case PacketType.BINARY_ACK:\n return Array.isArray(payload);\n }\n }\n /**\n * Deallocates a parser's resources\n */\n destroy() {\n if (this.reconstructor) {\n this.reconstructor.finishedReconstruction();\n this.reconstructor = null;\n }\n }\n}\n/**\n * A manager of a binary event's 'buffer sequence'. Should\n * be constructed whenever a packet of type BINARY_EVENT is\n * decoded.\n *\n * @param {Object} packet\n * @return {BinaryReconstructor} initialized reconstructor\n */\nclass BinaryReconstructor {\n constructor(packet) {\n this.packet = packet;\n this.buffers = [];\n this.reconPack = packet;\n }\n /**\n * Method to be called when binary data received from connection\n * after a BINARY_EVENT packet.\n *\n * @param {Buffer | ArrayBuffer} binData - the raw binary data received\n * @return {null | Object} returns null if more binary data is expected or\n * a reconstructed packet object if all buffers have been received.\n */\n takeBinaryData(binData) {\n this.buffers.push(binData);\n if (this.buffers.length === this.reconPack.attachments) {\n // done with buffer list\n const packet = reconstructPacket(this.reconPack, this.buffers);\n this.finishedReconstruction();\n return packet;\n }\n return null;\n }\n /**\n * Cleans up binary packet reconstruction variables.\n */\n finishedReconstruction() {\n this.reconPack = null;\n this.buffers = [];\n }\n}\n","export function on(obj, ev, fn) {\n obj.on(ev, fn);\n return function subDestroy() {\n obj.off(ev, fn);\n };\n}\n","import { PacketType } from \"socket.io-parser\";\nimport { on } from \"./on.js\";\nimport { Emitter, } from \"@socket.io/component-emitter\";\n/**\n * Internal events.\n * These events can't be emitted by the user.\n */\nconst RESERVED_EVENTS = Object.freeze({\n connect: 1,\n connect_error: 1,\n disconnect: 1,\n disconnecting: 1,\n // EventEmitter reserved events: https://nodejs.org/api/events.html#events_event_newlistener\n newListener: 1,\n removeListener: 1,\n});\n/**\n * A Socket is the fundamental class for interacting with the server.\n *\n * A Socket belongs to a certain Namespace (by default /) and uses an underlying {@link Manager} to communicate.\n *\n * @example\n * const socket = io();\n *\n * socket.on(\"connect\", () => {\n * console.log(\"connected\");\n * });\n *\n * // send an event to the server\n * socket.emit(\"foo\", \"bar\");\n *\n * socket.on(\"foobar\", () => {\n * // an event was received from the server\n * });\n *\n * // upon disconnection\n * socket.on(\"disconnect\", (reason) => {\n * console.log(`disconnected due to ${reason}`);\n * });\n */\nexport class Socket extends Emitter {\n /**\n * `Socket` constructor.\n */\n constructor(io, nsp, opts) {\n super();\n /**\n * Whether the socket is currently connected to the server.\n *\n * @example\n * const socket = io();\n *\n * socket.on(\"connect\", () => {\n * console.log(socket.connected); // true\n * });\n *\n * socket.on(\"disconnect\", () => {\n * console.log(socket.connected); // false\n * });\n */\n this.connected = false;\n /**\n * Whether the connection state was recovered after a temporary disconnection. In that case, any missed packets will\n * be transmitted by the server.\n */\n this.recovered = false;\n /**\n * Buffer for packets received before the CONNECT packet\n */\n this.receiveBuffer = [];\n /**\n * Buffer for packets that will be sent once the socket is connected\n */\n this.sendBuffer = [];\n /**\n * The queue of packets to be sent with retry in case of failure.\n *\n * Packets are sent one by one, each waiting for the server acknowledgement, in order to guarantee the delivery order.\n * @private\n */\n this._queue = [];\n /**\n * A sequence to generate the ID of the {@link QueuedPacket}.\n * @private\n */\n this._queueSeq = 0;\n this.ids = 0;\n /**\n * A map containing acknowledgement handlers.\n *\n * The `withError` attribute is used to differentiate handlers that accept an error as first argument:\n *\n * - `socket.emit(\"test\", (err, value) => { ... })` with `ackTimeout` option\n * - `socket.timeout(5000).emit(\"test\", (err, value) => { ... })`\n * - `const value = await socket.emitWithAck(\"test\")`\n *\n * From those that don't:\n *\n * - `socket.emit(\"test\", (value) => { ... });`\n *\n * In the first case, the handlers will be called with an error when:\n *\n * - the timeout is reached\n * - the socket gets disconnected\n *\n * In the second case, the handlers will be simply discarded upon disconnection, since the client will never receive\n * an acknowledgement from the server.\n *\n * @private\n */\n this.acks = {};\n this.flags = {};\n this.io = io;\n this.nsp = nsp;\n if (opts && opts.auth) {\n this.auth = opts.auth;\n }\n this._opts = Object.assign({}, opts);\n if (this.io._autoConnect)\n this.open();\n }\n /**\n * Whether the socket is currently disconnected\n *\n * @example\n * const socket = io();\n *\n * socket.on(\"connect\", () => {\n * console.log(socket.disconnected); // false\n * });\n *\n * socket.on(\"disconnect\", () => {\n * console.log(socket.disconnected); // true\n * });\n */\n get disconnected() {\n return !this.connected;\n }\n /**\n * Subscribe to open, close and packet events\n *\n * @private\n */\n subEvents() {\n if (this.subs)\n return;\n const io = this.io;\n this.subs = [\n on(io, \"open\", this.onopen.bind(this)),\n on(io, \"packet\", this.onpacket.bind(this)),\n on(io, \"error\", this.onerror.bind(this)),\n on(io, \"close\", this.onclose.bind(this)),\n ];\n }\n /**\n * Whether the Socket will try to reconnect when its Manager connects or reconnects.\n *\n * @example\n * const socket = io();\n *\n * console.log(socket.active); // true\n *\n * socket.on(\"disconnect\", (reason) => {\n * if (reason === \"io server disconnect\") {\n * // the disconnection was initiated by the server, you need to manually reconnect\n * console.log(socket.active); // false\n * }\n * // else the socket will automatically try to reconnect\n * console.log(socket.active); // true\n * });\n */\n get active() {\n return !!this.subs;\n }\n /**\n * \"Opens\" the socket.\n *\n * @example\n * const socket = io({\n * autoConnect: false\n * });\n *\n * socket.connect();\n */\n connect() {\n if (this.connected)\n return this;\n this.subEvents();\n if (!this.io[\"_reconnecting\"])\n this.io.open(); // ensure open\n if (\"open\" === this.io._readyState)\n this.onopen();\n return this;\n }\n /**\n * Alias for {@link connect()}.\n */\n open() {\n return this.connect();\n }\n /**\n * Sends a `message` event.\n *\n * This method mimics the WebSocket.send() method.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/WebSocket/send\n *\n * @example\n * socket.send(\"hello\");\n *\n * // this is equivalent to\n * socket.emit(\"message\", \"hello\");\n *\n * @return self\n */\n send(...args) {\n args.unshift(\"message\");\n this.emit.apply(this, args);\n return this;\n }\n /**\n * Override `emit`.\n * If the event is in `events`, it's emitted normally.\n *\n * @example\n * socket.emit(\"hello\", \"world\");\n *\n * // all serializable datastructures are supported (no need to call JSON.stringify)\n * socket.emit(\"hello\", 1, \"2\", { 3: [\"4\"], 5: Uint8Array.from([6]) });\n *\n * // with an acknowledgement from the server\n * socket.emit(\"hello\", \"world\", (val) => {\n * // ...\n * });\n *\n * @return self\n */\n emit(ev, ...args) {\n var _a, _b, _c;\n if (RESERVED_EVENTS.hasOwnProperty(ev)) {\n throw new Error('\"' + ev.toString() + '\" is a reserved event name');\n }\n args.unshift(ev);\n if (this._opts.retries && !this.flags.fromQueue && !this.flags.volatile) {\n this._addToQueue(args);\n return this;\n }\n const packet = {\n type: PacketType.EVENT,\n data: args,\n };\n packet.options = {};\n packet.options.compress = this.flags.compress !== false;\n // event ack callback\n if (\"function\" === typeof args[args.length - 1]) {\n const id = this.ids++;\n const ack = args.pop();\n this._registerAckCallback(id, ack);\n packet.id = id;\n }\n const isTransportWritable = (_b = (_a = this.io.engine) === null || _a === void 0 ? void 0 : _a.transport) === null || _b === void 0 ? void 0 : _b.writable;\n const isConnected = this.connected && !((_c = this.io.engine) === null || _c === void 0 ? void 0 : _c._hasPingExpired());\n const discardPacket = this.flags.volatile && !isTransportWritable;\n if (discardPacket) {\n }\n else if (isConnected) {\n this.notifyOutgoingListeners(packet);\n this.packet(packet);\n }\n else {\n this.sendBuffer.push(packet);\n }\n this.flags = {};\n return this;\n }\n /**\n * @private\n */\n _registerAckCallback(id, ack) {\n var _a;\n const timeout = (_a = this.flags.timeout) !== null && _a !== void 0 ? _a : this._opts.ackTimeout;\n if (timeout === undefined) {\n this.acks[id] = ack;\n return;\n }\n // @ts-ignore\n const timer = this.io.setTimeoutFn(() => {\n delete this.acks[id];\n for (let i = 0; i < this.sendBuffer.length; i++) {\n if (this.sendBuffer[i].id === id) {\n this.sendBuffer.splice(i, 1);\n }\n }\n ack.call(this, new Error(\"operation has timed out\"));\n }, timeout);\n const fn = (...args) => {\n // @ts-ignore\n this.io.clearTimeoutFn(timer);\n ack.apply(this, args);\n };\n fn.withError = true;\n this.acks[id] = fn;\n }\n /**\n * Emits an event and waits for an acknowledgement\n *\n * @example\n * // without timeout\n * const response = await socket.emitWithAck(\"hello\", \"world\");\n *\n * // with a specific timeout\n * try {\n * const response = await socket.timeout(1000).emitWithAck(\"hello\", \"world\");\n * } catch (err) {\n * // the server did not acknowledge the event in the given delay\n * }\n *\n * @return a Promise that will be fulfilled when the server acknowledges the event\n */\n emitWithAck(ev, ...args) {\n return new Promise((resolve, reject) => {\n const fn = (arg1, arg2) => {\n return arg1 ? reject(arg1) : resolve(arg2);\n };\n fn.withError = true;\n args.push(fn);\n this.emit(ev, ...args);\n });\n }\n /**\n * Add the packet to the queue.\n * @param args\n * @private\n */\n _addToQueue(args) {\n let ack;\n if (typeof args[args.length - 1] === \"function\") {\n ack = args.pop();\n }\n const packet = {\n id: this._queueSeq++,\n tryCount: 0,\n pending: false,\n args,\n flags: Object.assign({ fromQueue: true }, this.flags),\n };\n args.push((err, ...responseArgs) => {\n if (packet !== this._queue[0]) {\n // the packet has already been acknowledged\n return;\n }\n const hasError = err !== null;\n if (hasError) {\n if (packet.tryCount > this._opts.retries) {\n this._queue.shift();\n if (ack) {\n ack(err);\n }\n }\n }\n else {\n this._queue.shift();\n if (ack) {\n ack(null, ...responseArgs);\n }\n }\n packet.pending = false;\n return this._drainQueue();\n });\n this._queue.push(packet);\n this._drainQueue();\n }\n /**\n * Send the first packet of the queue, and wait for an acknowledgement from the server.\n * @param force - whether to resend a packet that has not been acknowledged yet\n *\n * @private\n */\n _drainQueue(force = false) {\n if (!this.connected || this._queue.length === 0) {\n return;\n }\n const packet = this._queue[0];\n if (packet.pending && !force) {\n return;\n }\n packet.pending = true;\n packet.tryCount++;\n this.flags = packet.flags;\n this.emit.apply(this, packet.args);\n }\n /**\n * Sends a packet.\n *\n * @param packet\n * @private\n */\n packet(packet) {\n packet.nsp = this.nsp;\n this.io._packet(packet);\n }\n /**\n * Called upon engine `open`.\n *\n * @private\n */\n onopen() {\n if (typeof this.auth == \"function\") {\n this.auth((data) => {\n this._sendConnectPacket(data);\n });\n }\n else {\n this._sendConnectPacket(this.auth);\n }\n }\n /**\n * Sends a CONNECT packet to initiate the Socket.IO session.\n *\n * @param data\n * @private\n */\n _sendConnectPacket(data) {\n this.packet({\n type: PacketType.CONNECT,\n data: this._pid\n ? Object.assign({ pid: this._pid, offset: this._lastOffset }, data)\n : data,\n });\n }\n /**\n * Called upon engine or manager `error`.\n *\n * @param err\n * @private\n */\n onerror(err) {\n if (!this.connected) {\n this.emitReserved(\"connect_error\", err);\n }\n }\n /**\n * Called upon engine `close`.\n *\n * @param reason\n * @param description\n * @private\n */\n onclose(reason, description) {\n this.connected = false;\n delete this.id;\n this.emitReserved(\"disconnect\", reason, description);\n this._clearAcks();\n }\n /**\n * Clears the acknowledgement handlers upon disconnection, since the client will never receive an acknowledgement from\n * the server.\n *\n * @private\n */\n _clearAcks() {\n Object.keys(this.acks).forEach((id) => {\n const isBuffered = this.sendBuffer.some((packet) => String(packet.id) === id);\n if (!isBuffered) {\n // note: handlers that do not accept an error as first argument are ignored here\n const ack = this.acks[id];\n delete this.acks[id];\n if (ack.withError) {\n ack.call(this, new Error(\"socket has been disconnected\"));\n }\n }\n });\n }\n /**\n * Called with socket packet.\n *\n * @param packet\n * @private\n */\n onpacket(packet) {\n const sameNamespace = packet.nsp === this.nsp;\n if (!sameNamespace)\n return;\n switch (packet.type) {\n case PacketType.CONNECT:\n if (packet.data && packet.data.sid) {\n this.onconnect(packet.data.sid, packet.data.pid);\n }\n else {\n this.emitReserved(\"connect_error\", new Error(\"It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)\"));\n }\n break;\n case PacketType.EVENT:\n case PacketType.BINARY_EVENT:\n this.onevent(packet);\n break;\n case PacketType.ACK:\n case PacketType.BINARY_ACK:\n this.onack(packet);\n break;\n case PacketType.DISCONNECT:\n this.ondisconnect();\n break;\n case PacketType.CONNECT_ERROR:\n this.destroy();\n const err = new Error(packet.data.message);\n // @ts-ignore\n err.data = packet.data.data;\n this.emitReserved(\"connect_error\", err);\n break;\n }\n }\n /**\n * Called upon a server event.\n *\n * @param packet\n * @private\n */\n onevent(packet) {\n const args = packet.data || [];\n if (null != packet.id) {\n args.push(this.ack(packet.id));\n }\n if (this.connected) {\n this.emitEvent(args);\n }\n else {\n this.receiveBuffer.push(Object.freeze(args));\n }\n }\n emitEvent(args) {\n if (this._anyListeners && this._anyListeners.length) {\n const listeners = this._anyListeners.slice();\n for (const listener of listeners) {\n listener.apply(this, args);\n }\n }\n super.emit.apply(this, args);\n if (this._pid && args.length && typeof args[args.length - 1] === \"string\") {\n this._lastOffset = args[args.length - 1];\n }\n }\n /**\n * Produces an ack callback to emit with an event.\n *\n * @private\n */\n ack(id) {\n const self = this;\n let sent = false;\n return function (...args) {\n // prevent double callbacks\n if (sent)\n return;\n sent = true;\n self.packet({\n type: PacketType.ACK,\n id: id,\n data: args,\n });\n };\n }\n /**\n * Called upon a server acknowledgement.\n *\n * @param packet\n * @private\n */\n onack(packet) {\n const ack = this.acks[packet.id];\n if (typeof ack !== \"function\") {\n return;\n }\n delete this.acks[packet.id];\n // @ts-ignore FIXME ack is incorrectly inferred as 'never'\n if (ack.withError) {\n packet.data.unshift(null);\n }\n // @ts-ignore\n ack.apply(this, packet.data);\n }\n /**\n * Called upon server connect.\n *\n * @private\n */\n onconnect(id, pid) {\n this.id = id;\n this.recovered = pid && this._pid === pid;\n this._pid = pid; // defined only if connection state recovery is enabled\n this.connected = true;\n this.emitBuffered();\n this.emitReserved(\"connect\");\n this._drainQueue(true);\n }\n /**\n * Emit buffered events (received and emitted).\n *\n * @private\n */\n emitBuffered() {\n this.receiveBuffer.forEach((args) => this.emitEvent(args));\n this.receiveBuffer = [];\n this.sendBuffer.forEach((packet) => {\n this.notifyOutgoingListeners(packet);\n this.packet(packet);\n });\n this.sendBuffer = [];\n }\n /**\n * Called upon server disconnect.\n *\n * @private\n */\n ondisconnect() {\n this.destroy();\n this.onclose(\"io server disconnect\");\n }\n /**\n * Called upon forced client/server side disconnections,\n * this method ensures the manager stops tracking us and\n * that reconnections don't get triggered for this.\n *\n * @private\n */\n destroy() {\n if (this.subs) {\n // clean subscriptions to avoid reconnections\n this.subs.forEach((subDestroy) => subDestroy());\n this.subs = undefined;\n }\n this.io[\"_destroy\"](this);\n }\n /**\n * Disconnects the socket manually. In that case, the socket will not try to reconnect.\n *\n * If this is the last active Socket instance of the {@link Manager}, the low-level connection will be closed.\n *\n * @example\n * const socket = io();\n *\n * socket.on(\"disconnect\", (reason) => {\n * // console.log(reason); prints \"io client disconnect\"\n * });\n *\n * socket.disconnect();\n *\n * @return self\n */\n disconnect() {\n if (this.connected) {\n this.packet({ type: PacketType.DISCONNECT });\n }\n // remove socket from pool\n this.destroy();\n if (this.connected) {\n // fire events\n this.onclose(\"io client disconnect\");\n }\n return this;\n }\n /**\n * Alias for {@link disconnect()}.\n *\n * @return self\n */\n close() {\n return this.disconnect();\n }\n /**\n * Sets the compress flag.\n *\n * @example\n * socket.compress(false).emit(\"hello\");\n *\n * @param compress - if `true`, compresses the sending data\n * @return self\n */\n compress(compress) {\n this.flags.compress = compress;\n return this;\n }\n /**\n * Sets a modifier for a subsequent event emission that the event message will be dropped when this socket is not\n * ready to send messages.\n *\n * @example\n * socket.volatile.emit(\"hello\"); // the server may or may not receive it\n *\n * @returns self\n */\n get volatile() {\n this.flags.volatile = true;\n return this;\n }\n /**\n * Sets a modifier for a subsequent event emission that the callback will be called with an error when the\n * given number of milliseconds have elapsed without an acknowledgement from the server:\n *\n * @example\n * socket.timeout(5000).emit(\"my-event\", (err) => {\n * if (err) {\n * // the server did not acknowledge the event in the given delay\n * }\n * });\n *\n * @returns self\n */\n timeout(timeout) {\n this.flags.timeout = timeout;\n return this;\n }\n /**\n * Adds a listener that will be fired when any event is emitted. The event name is passed as the first argument to the\n * callback.\n *\n * @example\n * socket.onAny((event, ...args) => {\n * console.log(`got ${event}`);\n * });\n *\n * @param listener\n */\n onAny(listener) {\n this._anyListeners = this._anyListeners || [];\n this._anyListeners.push(listener);\n return this;\n }\n /**\n * Adds a listener that will be fired when any event is emitted. The event name is passed as the first argument to the\n * callback. The listener is added to the beginning of the listeners array.\n *\n * @example\n * socket.prependAny((event, ...args) => {\n * console.log(`got event ${event}`);\n * });\n *\n * @param listener\n */\n prependAny(listener) {\n this._anyListeners = this._anyListeners || [];\n this._anyListeners.unshift(listener);\n return this;\n }\n /**\n * Removes the listener that will be fired when any event is emitted.\n *\n * @example\n * const catchAllListener = (event, ...args) => {\n * console.log(`got event ${event}`);\n * }\n *\n * socket.onAny(catchAllListener);\n *\n * // remove a specific listener\n * socket.offAny(catchAllListener);\n *\n * // or remove all listeners\n * socket.offAny();\n *\n * @param listener\n */\n offAny(listener) {\n if (!this._anyListeners) {\n return this;\n }\n if (listener) {\n const listeners = this._anyListeners;\n for (let i = 0; i < listeners.length; i++) {\n if (listener === listeners[i]) {\n listeners.splice(i, 1);\n return this;\n }\n }\n }\n else {\n this._anyListeners = [];\n }\n return this;\n }\n /**\n * Returns an array of listeners that are listening for any event that is specified. This array can be manipulated,\n * e.g. to remove listeners.\n */\n listenersAny() {\n return this._anyListeners || [];\n }\n /**\n * Adds a listener that will be fired when any event is emitted. The event name is passed as the first argument to the\n * callback.\n *\n * Note: acknowledgements sent to the server are not included.\n *\n * @example\n * socket.onAnyOutgoing((event, ...args) => {\n * console.log(`sent event ${event}`);\n * });\n *\n * @param listener\n */\n onAnyOutgoing(listener) {\n this._anyOutgoingListeners = this._anyOutgoingListeners || [];\n this._anyOutgoingListeners.push(listener);\n return this;\n }\n /**\n * Adds a listener that will be fired when any event is emitted. The event name is passed as the first argument to the\n * callback. The listener is added to the beginning of the listeners array.\n *\n * Note: acknowledgements sent to the server are not included.\n *\n * @example\n * socket.prependAnyOutgoing((event, ...args) => {\n * console.log(`sent event ${event}`);\n * });\n *\n * @param listener\n */\n prependAnyOutgoing(listener) {\n this._anyOutgoingListeners = this._anyOutgoingListeners || [];\n this._anyOutgoingListeners.unshift(listener);\n return this;\n }\n /**\n * Removes the listener that will be fired when any event is emitted.\n *\n * @example\n * const catchAllListener = (event, ...args) => {\n * console.log(`sent event ${event}`);\n * }\n *\n * socket.onAnyOutgoing(catchAllListener);\n *\n * // remove a specific listener\n * socket.offAnyOutgoing(catchAllListener);\n *\n * // or remove all listeners\n * socket.offAnyOutgoing();\n *\n * @param [listener] - the catch-all listener (optional)\n */\n offAnyOutgoing(listener) {\n if (!this._anyOutgoingListeners) {\n return this;\n }\n if (listener) {\n const listeners = this._anyOutgoingListeners;\n for (let i = 0; i < listeners.length; i++) {\n if (listener === listeners[i]) {\n listeners.splice(i, 1);\n return this;\n }\n }\n }\n else {\n this._anyOutgoingListeners = [];\n }\n return this;\n }\n /**\n * Returns an array of listeners that are listening for any event that is specified. This array can be manipulated,\n * e.g. to remove listeners.\n */\n listenersAnyOutgoing() {\n return this._anyOutgoingListeners || [];\n }\n /**\n * Notify the listeners for each packet sent\n *\n * @param packet\n *\n * @private\n */\n notifyOutgoingListeners(packet) {\n if (this._anyOutgoingListeners && this._anyOutgoingListeners.length) {\n const listeners = this._anyOutgoingListeners.slice();\n for (const listener of listeners) {\n listener.apply(this, packet.data);\n }\n }\n }\n}\n","/**\n * Initialize backoff timer with `opts`.\n *\n * - `min` initial timeout in milliseconds [100]\n * - `max` max timeout [10000]\n * - `jitter` [0]\n * - `factor` [2]\n *\n * @param {Object} opts\n * @api public\n */\nexport function Backoff(opts) {\n opts = opts || {};\n this.ms = opts.min || 100;\n this.max = opts.max || 10000;\n this.factor = opts.factor || 2;\n this.jitter = opts.jitter > 0 && opts.jitter <= 1 ? opts.jitter : 0;\n this.attempts = 0;\n}\n/**\n * Return the backoff duration.\n *\n * @return {Number}\n * @api public\n */\nBackoff.prototype.duration = function () {\n var ms = this.ms * Math.pow(this.factor, this.attempts++);\n if (this.jitter) {\n var rand = Math.random();\n var deviation = Math.floor(rand * this.jitter * ms);\n ms = (Math.floor(rand * 10) & 1) == 0 ? ms - deviation : ms + deviation;\n }\n return Math.min(ms, this.max) | 0;\n};\n/**\n * Reset the number of attempts.\n *\n * @api public\n */\nBackoff.prototype.reset = function () {\n this.attempts = 0;\n};\n/**\n * Set the minimum duration\n *\n * @api public\n */\nBackoff.prototype.setMin = function (min) {\n this.ms = min;\n};\n/**\n * Set the maximum duration\n *\n * @api public\n */\nBackoff.prototype.setMax = function (max) {\n this.max = max;\n};\n/**\n * Set the jitter\n *\n * @api public\n */\nBackoff.prototype.setJitter = function (jitter) {\n this.jitter = jitter;\n};\n","import { Socket as Engine, installTimerFunctions, nextTick, } from \"engine.io-client\";\nimport { Socket } from \"./socket.js\";\nimport * as parser from \"socket.io-parser\";\nimport { on } from \"./on.js\";\nimport { Backoff } from \"./contrib/backo2.js\";\nimport { Emitter, } from \"@socket.io/component-emitter\";\nexport class Manager extends Emitter {\n constructor(uri, opts) {\n var _a;\n super();\n this.nsps = {};\n this.subs = [];\n if (uri && \"object\" === typeof uri) {\n opts = uri;\n uri = undefined;\n }\n opts = opts || {};\n opts.path = opts.path || \"/socket.io\";\n this.opts = opts;\n installTimerFunctions(this, opts);\n this.reconnection(opts.reconnection !== false);\n this.reconnectionAttempts(opts.reconnectionAttempts || Infinity);\n this.reconnectionDelay(opts.reconnectionDelay || 1000);\n this.reconnectionDelayMax(opts.reconnectionDelayMax || 5000);\n this.randomizationFactor((_a = opts.randomizationFactor) !== null && _a !== void 0 ? _a : 0.5);\n this.backoff = new Backoff({\n min: this.reconnectionDelay(),\n max: this.reconnectionDelayMax(),\n jitter: this.randomizationFactor(),\n });\n this.timeout(null == opts.timeout ? 20000 : opts.timeout);\n this._readyState = \"closed\";\n this.uri = uri;\n const _parser = opts.parser || parser;\n this.encoder = new _parser.Encoder();\n this.decoder = new _parser.Decoder();\n this._autoConnect = opts.autoConnect !== false;\n if (this._autoConnect)\n this.open();\n }\n reconnection(v) {\n if (!arguments.length)\n return this._reconnection;\n this._reconnection = !!v;\n if (!v) {\n this.skipReconnect = true;\n }\n return this;\n }\n reconnectionAttempts(v) {\n if (v === undefined)\n return this._reconnectionAttempts;\n this._reconnectionAttempts = v;\n return this;\n }\n reconnectionDelay(v) {\n var _a;\n if (v === undefined)\n return this._reconnectionDelay;\n this._reconnectionDelay = v;\n (_a = this.backoff) === null || _a === void 0 ? void 0 : _a.setMin(v);\n return this;\n }\n randomizationFactor(v) {\n var _a;\n if (v === undefined)\n return this._randomizationFactor;\n this._randomizationFactor = v;\n (_a = this.backoff) === null || _a === void 0 ? void 0 : _a.setJitter(v);\n return this;\n }\n reconnectionDelayMax(v) {\n var _a;\n if (v === undefined)\n return this._reconnectionDelayMax;\n this._reconnectionDelayMax = v;\n (_a = this.backoff) === null || _a === void 0 ? void 0 : _a.setMax(v);\n return this;\n }\n timeout(v) {\n if (!arguments.length)\n return this._timeout;\n this._timeout = v;\n return this;\n }\n /**\n * Starts trying to reconnect if reconnection is enabled and we have not\n * started reconnecting yet\n *\n * @private\n */\n maybeReconnectOnOpen() {\n // Only try to reconnect if it's the first time we're connecting\n if (!this._reconnecting &&\n this._reconnection &&\n this.backoff.attempts === 0) {\n // keeps reconnection from firing twice for the same reconnection loop\n this.reconnect();\n }\n }\n /**\n * Sets the current transport `socket`.\n *\n * @param {Function} fn - optional, callback\n * @return self\n * @public\n */\n open(fn) {\n if (~this._readyState.indexOf(\"open\"))\n return this;\n this.engine = new Engine(this.uri, this.opts);\n const socket = this.engine;\n const self = this;\n this._readyState = \"opening\";\n this.skipReconnect = false;\n // emit `open`\n const openSubDestroy = on(socket, \"open\", function () {\n self.onopen();\n fn && fn();\n });\n const onError = (err) => {\n this.cleanup();\n this._readyState = \"closed\";\n this.emitReserved(\"error\", err);\n if (fn) {\n fn(err);\n }\n else {\n // Only do this if there is no fn to handle the error\n this.maybeReconnectOnOpen();\n }\n };\n // emit `error`\n const errorSub = on(socket, \"error\", onError);\n if (false !== this._timeout) {\n const timeout = this._timeout;\n // set timer\n const timer = this.setTimeoutFn(() => {\n openSubDestroy();\n onError(new Error(\"timeout\"));\n socket.close();\n }, timeout);\n if (this.opts.autoUnref) {\n timer.unref();\n }\n this.subs.push(() => {\n this.clearTimeoutFn(timer);\n });\n }\n this.subs.push(openSubDestroy);\n this.subs.push(errorSub);\n return this;\n }\n /**\n * Alias for open()\n *\n * @return self\n * @public\n */\n connect(fn) {\n return this.open(fn);\n }\n /**\n * Called upon transport open.\n *\n * @private\n */\n onopen() {\n // clear old subs\n this.cleanup();\n // mark as open\n this._readyState = \"open\";\n this.emitReserved(\"open\");\n // add new subs\n const socket = this.engine;\n this.subs.push(on(socket, \"ping\", this.onping.bind(this)), on(socket, \"data\", this.ondata.bind(this)), on(socket, \"error\", this.onerror.bind(this)), on(socket, \"close\", this.onclose.bind(this)), \n // @ts-ignore\n on(this.decoder, \"decoded\", this.ondecoded.bind(this)));\n }\n /**\n * Called upon a ping.\n *\n * @private\n */\n onping() {\n this.emitReserved(\"ping\");\n }\n /**\n * Called with data.\n *\n * @private\n */\n ondata(data) {\n try {\n this.decoder.add(data);\n }\n catch (e) {\n this.onclose(\"parse error\", e);\n }\n }\n /**\n * Called when parser fully decodes a packet.\n *\n * @private\n */\n ondecoded(packet) {\n // the nextTick call prevents an exception in a user-provided event listener from triggering a disconnection due to a \"parse error\"\n nextTick(() => {\n this.emitReserved(\"packet\", packet);\n }, this.setTimeoutFn);\n }\n /**\n * Called upon socket error.\n *\n * @private\n */\n onerror(err) {\n this.emitReserved(\"error\", err);\n }\n /**\n * Creates a new socket for the given `nsp`.\n *\n * @return {Socket}\n * @public\n */\n socket(nsp, opts) {\n let socket = this.nsps[nsp];\n if (!socket) {\n socket = new Socket(this, nsp, opts);\n this.nsps[nsp] = socket;\n }\n else if (this._autoConnect && !socket.active) {\n socket.connect();\n }\n return socket;\n }\n /**\n * Called upon a socket close.\n *\n * @param socket\n * @private\n */\n _destroy(socket) {\n const nsps = Object.keys(this.nsps);\n for (const nsp of nsps) {\n const socket = this.nsps[nsp];\n if (socket.active) {\n return;\n }\n }\n this._close();\n }\n /**\n * Writes a packet.\n *\n * @param packet\n * @private\n */\n _packet(packet) {\n const encodedPackets = this.encoder.encode(packet);\n for (let i = 0; i < encodedPackets.length; i++) {\n this.engine.write(encodedPackets[i], packet.options);\n }\n }\n /**\n * Clean up transport subscriptions and packet buffer.\n *\n * @private\n */\n cleanup() {\n this.subs.forEach((subDestroy) => subDestroy());\n this.subs.length = 0;\n this.decoder.destroy();\n }\n /**\n * Close the current socket.\n *\n * @private\n */\n _close() {\n this.skipReconnect = true;\n this._reconnecting = false;\n this.onclose(\"forced close\");\n }\n /**\n * Alias for close()\n *\n * @private\n */\n disconnect() {\n return this._close();\n }\n /**\n * Called when:\n *\n * - the low-level engine is closed\n * - the parser encountered a badly formatted packet\n * - all sockets are disconnected\n *\n * @private\n */\n onclose(reason, description) {\n var _a;\n this.cleanup();\n (_a = this.engine) === null || _a === void 0 ? void 0 : _a.close();\n this.backoff.reset();\n this._readyState = \"closed\";\n this.emitReserved(\"close\", reason, description);\n if (this._reconnection && !this.skipReconnect) {\n this.reconnect();\n }\n }\n /**\n * Attempt a reconnection.\n *\n * @private\n */\n reconnect() {\n if (this._reconnecting || this.skipReconnect)\n return this;\n const self = this;\n if (this.backoff.attempts >= this._reconnectionAttempts) {\n this.backoff.reset();\n this.emitReserved(\"reconnect_failed\");\n this._reconnecting = false;\n }\n else {\n const delay = this.backoff.duration();\n this._reconnecting = true;\n const timer = this.setTimeoutFn(() => {\n if (self.skipReconnect)\n return;\n this.emitReserved(\"reconnect_attempt\", self.backoff.attempts);\n // check again for the case socket closed in above events\n if (self.skipReconnect)\n return;\n self.open((err) => {\n if (err) {\n self._reconnecting = false;\n self.reconnect();\n this.emitReserved(\"reconnect_error\", err);\n }\n else {\n self.onreconnect();\n }\n });\n }, delay);\n if (this.opts.autoUnref) {\n timer.unref();\n }\n this.subs.push(() => {\n this.clearTimeoutFn(timer);\n });\n }\n }\n /**\n * Called upon successful reconnect.\n *\n * @private\n */\n onreconnect() {\n const attempt = this.backoff.attempts;\n this._reconnecting = false;\n this.backoff.reset();\n this.emitReserved(\"reconnect\", attempt);\n }\n}\n","import { url } from \"./url.js\";\nimport { Manager } from \"./manager.js\";\nimport { Socket } from \"./socket.js\";\n/**\n * Managers cache.\n */\nconst cache = {};\nfunction lookup(uri, opts) {\n if (typeof uri === \"object\") {\n opts = uri;\n uri = undefined;\n }\n opts = opts || {};\n const parsed = url(uri, opts.path || \"/socket.io\");\n const source = parsed.source;\n const id = parsed.id;\n const path = parsed.path;\n const sameNamespace = cache[id] && path in cache[id][\"nsps\"];\n const newConnection = opts.forceNew ||\n opts[\"force new connection\"] ||\n false === opts.multiplex ||\n sameNamespace;\n let io;\n if (newConnection) {\n io = new Manager(source, opts);\n }\n else {\n if (!cache[id]) {\n cache[id] = new Manager(source, opts);\n }\n io = cache[id];\n }\n if (parsed.query && !opts.query) {\n opts.query = parsed.queryKey;\n }\n return io.socket(parsed.path, opts);\n}\n// so that \"lookup\" can be used both as a function (e.g. `io(...)`) and as a\n// namespace (e.g. `io.connect(...)`), for backward compatibility\nObject.assign(lookup, {\n Manager,\n Socket,\n io: lookup,\n connect: lookup,\n});\n/**\n * Protocol version.\n *\n * @public\n */\nexport { protocol } from \"socket.io-parser\";\n/**\n * Expose constructors for standalone build.\n *\n * @public\n */\nexport { Manager, Socket, lookup as io, lookup as connect, lookup as default, };\nexport { Fetch, NodeXHR, XHR, NodeWebSocket, WebSocket, WebTransport, } from \"engine.io-client\";\n","import e from\"cross-fetch\";import t from\"debug\";import n,{EventEmitter2 as r}from\"eventemitter2\";import{validate as i,v4 as o}from\"uuid\";import{io as s}from\"socket.io-client\";function a(e,t,n,r){return new(n||(n=Promise))((function(i,o){function s(e){try{c(r.next(e))}catch(e){o(e)}}function a(e){try{c(r.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,a)}c((r=r.apply(e,t||[])).next())}))}\"function\"==typeof SuppressedError&&SuppressedError;var c=\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{},l=[],d=[],u=\"undefined\"!=typeof Uint8Array?Uint8Array:Array,h=!1;function f(){h=!0;for(var e=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",t=0;t<64;++t)l[t]=e[t],d[e.charCodeAt(t)]=t;d[\"-\".charCodeAt(0)]=62,d[\"_\".charCodeAt(0)]=63}function p(e,t,n){for(var r,i,o=[],s=t;s<n;s+=3)r=(e[s]<<16)+(e[s+1]<<8)+e[s+2],o.push(l[(i=r)>>18&63]+l[i>>12&63]+l[i>>6&63]+l[63&i]);return o.join(\"\")}function g(e){var t;h||f();for(var n=e.length,r=n%3,i=\"\",o=[],s=16383,a=0,c=n-r;a<c;a+=s)o.push(p(e,a,a+s>c?c:a+s));return 1===r?(t=e[n-1],i+=l[t>>2],i+=l[t<<4&63],i+=\"==\"):2===r&&(t=(e[n-2]<<8)+e[n-1],i+=l[t>>10],i+=l[t>>4&63],i+=l[t<<2&63],i+=\"=\"),o.push(i),o.join(\"\")}function m(e,t,n,r,i){var o,s,a=8*i-r-1,c=(1<<a)-1,l=c>>1,d=-7,u=n?i-1:0,h=n?-1:1,f=e[t+u];for(u+=h,o=f&(1<<-d)-1,f>>=-d,d+=a;d>0;o=256*o+e[t+u],u+=h,d-=8);for(s=o&(1<<-d)-1,o>>=-d,d+=r;d>0;s=256*s+e[t+u],u+=h,d-=8);if(0===o)o=1-l;else{if(o===c)return s?NaN:1/0*(f?-1:1);s+=Math.pow(2,r),o-=l}return(f?-1:1)*s*Math.pow(2,o-r)}function y(e,t,n,r,i,o){var s,a,c,l=8*o-i-1,d=(1<<l)-1,u=d>>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,f=r?0:o-1,p=r?1:-1,g=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,s=d):(s=Math.floor(Math.log(t)/Math.LN2),t*(c=Math.pow(2,-s))<1&&(s--,c*=2),(t+=s+u>=1?h/c:h*Math.pow(2,1-u))*c>=2&&(s++,c/=2),s+u>=d?(a=0,s=d):s+u>=1?(a=(t*c-1)*Math.pow(2,i),s+=u):(a=t*Math.pow(2,u-1)*Math.pow(2,i),s=0));i>=8;e[n+f]=255&a,f+=p,a/=256,i-=8);for(s=s<<i|a,l+=i;l>0;e[n+f]=255&s,f+=p,s/=256,l-=8);e[n+f-p]|=128*g}var v={}.toString,b=Array.isArray||function(e){return\"[object Array]\"==v.call(e)};S.TYPED_ARRAY_SUPPORT=void 0===c.TYPED_ARRAY_SUPPORT||c.TYPED_ARRAY_SUPPORT;var w=E();function E(){return S.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function C(e,t){if(E()<t)throw new RangeError(\"Invalid typed array length\");return S.TYPED_ARRAY_SUPPORT?(e=new Uint8Array(t)).__proto__=S.prototype:(null===e&&(e=new S(t)),e.length=t),e}function S(e,t,n){if(!(S.TYPED_ARRAY_SUPPORT||this instanceof S))return new S(e,t,n);if(\"number\"==typeof e){if(\"string\"==typeof t)throw new Error(\"If encoding is specified then the first argument must be a string\");return x(this,e)}return _(this,e,t,n)}function _(e,t,n,r){if(\"number\"==typeof t)throw new TypeError('\"value\" argument must not be a number');return\"undefined\"!=typeof ArrayBuffer&&t instanceof ArrayBuffer?function(e,t,n,r){if(t.byteLength,n<0||t.byteLength<n)throw new RangeError(\"'offset' is out of bounds\");if(t.byteLength<n+(r||0))throw new RangeError(\"'length' is out of bounds\");t=void 0===n&&void 0===r?new Uint8Array(t):void 0===r?new Uint8Array(t,n):new Uint8Array(t,n,r);S.TYPED_ARRAY_SUPPORT?(e=t).__proto__=S.prototype:e=M(e,t);return e}(e,t,n,r):\"string\"==typeof t?function(e,t,n){\"string\"==typeof n&&\"\"!==n||(n=\"utf8\");if(!S.isEncoding(n))throw new TypeError('\"encoding\" must be a valid string encoding');var r=0|R(t,n);e=C(e,r);var i=e.write(t,n);i!==r&&(e=e.slice(0,i));return e}(e,t,n):function(e,t){if(I(t)){var n=0|A(t.length);return 0===(e=C(e,n)).length||t.copy(e,0,0,n),e}if(t){if(\"undefined\"!=typeof ArrayBuffer&&t.buffer instanceof ArrayBuffer||\"length\"in t)return\"number\"!=typeof t.length||(r=t.length)!=r?C(e,0):M(e,t);if(\"Buffer\"===t.type&&b(t.data))return M(e,t.data)}var r;throw new TypeError(\"First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.\")}(e,t)}function k(e){if(\"number\"!=typeof e)throw new TypeError('\"size\" argument must be a number');if(e<0)throw new RangeError('\"size\" argument must not be negative')}function x(e,t){if(k(t),e=C(e,t<0?0:0|A(t)),!S.TYPED_ARRAY_SUPPORT)for(var n=0;n<t;++n)e[n]=0;return e}function M(e,t){var n=t.length<0?0:0|A(t.length);e=C(e,n);for(var r=0;r<n;r+=1)e[r]=255&t[r];return e}function A(e){if(e>=E())throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\"+E().toString(16)+\" bytes\");return 0|e}function I(e){return!(null==e||!e._isBuffer)}function R(e,t){if(I(e))return e.length;if(\"undefined\"!=typeof ArrayBuffer&&\"function\"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;\"string\"!=typeof e&&(e=\"\"+e);var n=e.length;if(0===n)return 0;for(var r=!1;;)switch(t){case\"ascii\":case\"latin1\":case\"binary\":return n;case\"utf8\":case\"utf-8\":case void 0:return re(e).length;case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return 2*n;case\"hex\":return n>>>1;case\"base64\":return ie(e).length;default:if(r)return re(e).length;t=(\"\"+t).toLowerCase(),r=!0}}function P(e,t,n){var r=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return\"\";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return\"\";if((n>>>=0)<=(t>>>=0))return\"\";for(e||(e=\"utf8\");;)switch(e){case\"hex\":return V(this,t,n);case\"utf8\":case\"utf-8\":return H(this,t,n);case\"ascii\":return z(this,t,n);case\"latin1\":case\"binary\":return q(this,t,n);case\"base64\":return U(this,t,n);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return W(this,t,n);default:if(r)throw new TypeError(\"Unknown encoding: \"+e);e=(e+\"\").toLowerCase(),r=!0}}function L(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function O(e,t,n,r,i){if(0===e.length)return-1;if(\"string\"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=i?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(i)return-1;n=e.length-1}else if(n<0){if(!i)return-1;n=0}if(\"string\"==typeof t&&(t=S.from(t,r)),I(t))return 0===t.length?-1:T(e,t,n,r,i);if(\"number\"==typeof t)return t&=255,S.TYPED_ARRAY_SUPPORT&&\"function\"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):T(e,[t],n,r,i);throw new TypeError(\"val must be string, number or Buffer\")}function T(e,t,n,r,i){var o,s=1,a=e.length,c=t.length;if(void 0!==r&&(\"ucs2\"===(r=String(r).toLowerCase())||\"ucs-2\"===r||\"utf16le\"===r||\"utf-16le\"===r)){if(e.length<2||t.length<2)return-1;s=2,a/=2,c/=2,n/=2}function l(e,t){return 1===s?e[t]:e.readUInt16BE(t*s)}if(i){var d=-1;for(o=n;o<a;o++)if(l(e,o)===l(t,-1===d?0:o-d)){if(-1===d&&(d=o),o-d+1===c)return d*s}else-1!==d&&(o-=o-d),d=-1}else for(n+c>a&&(n=a-c),o=n;o>=0;o--){for(var u=!0,h=0;h<c;h++)if(l(e,o+h)!==l(t,h)){u=!1;break}if(u)return o}return-1}function N(e,t,n,r){n=Number(n)||0;var i=e.length-n;r?(r=Number(r))>i&&(r=i):r=i;var o=t.length;if(o%2!=0)throw new TypeError(\"Invalid hex string\");r>o/2&&(r=o/2);for(var s=0;s<r;++s){var a=parseInt(t.substr(2*s,2),16);if(isNaN(a))return s;e[n+s]=a}return s}function D(e,t,n,r){return oe(re(t,e.length-n),e,n,r)}function $(e,t,n,r){return oe(function(e){for(var t=[],n=0;n<e.length;++n)t.push(255&e.charCodeAt(n));return t}(t),e,n,r)}function B(e,t,n,r){return $(e,t,n,r)}function K(e,t,n,r){return oe(ie(t),e,n,r)}function j(e,t,n,r){return oe(function(e,t){for(var n,r,i,o=[],s=0;s<e.length&&!((t-=2)<0);++s)r=(n=e.charCodeAt(s))>>8,i=n%256,o.push(i),o.push(r);return o}(t,e.length-n),e,n,r)}function U(e,t,n){return 0===t&&n===e.length?g(e):g(e.slice(t,n))}function H(e,t,n){n=Math.min(e.length,n);for(var r=[],i=t;i<n;){var o,s,a,c,l=e[i],d=null,u=l>239?4:l>223?3:l>191?2:1;if(i+u<=n)switch(u){case 1:l<128&&(d=l);break;case 2:128==(192&(o=e[i+1]))&&(c=(31&l)<<6|63&o)>127&&(d=c);break;case 3:o=e[i+1],s=e[i+2],128==(192&o)&&128==(192&s)&&(c=(15&l)<<12|(63&o)<<6|63&s)>2047&&(c<55296||c>57343)&&(d=c);break;case 4:o=e[i+1],s=e[i+2],a=e[i+3],128==(192&o)&&128==(192&s)&&128==(192&a)&&(c=(15&l)<<18|(63&o)<<12|(63&s)<<6|63&a)>65535&&c<1114112&&(d=c)}null===d?(d=65533,u=1):d>65535&&(d-=65536,r.push(d>>>10&1023|55296),d=56320|1023&d),r.push(d),i+=u}return function(e){var t=e.length;if(t<=F)return String.fromCharCode.apply(String,e);var n=\"\",r=0;for(;r<t;)n+=String.fromCharCode.apply(String,e.slice(r,r+=F));return n}(r)}S.poolSize=8192,S._augment=function(e){return e.__proto__=S.prototype,e},S.from=function(e,t,n){return _(null,e,t,n)},S.TYPED_ARRAY_SUPPORT&&(S.prototype.__proto__=Uint8Array.prototype,S.__proto__=Uint8Array,\"undefined\"!=typeof Symbol&&Symbol.species&&S[Symbol.species]),S.alloc=function(e,t,n){return function(e,t,n,r){return k(t),t<=0?C(e,t):void 0!==n?\"string\"==typeof r?C(e,t).fill(n,r):C(e,t).fill(n):C(e,t)}(null,e,t,n)},S.allocUnsafe=function(e){return x(null,e)},S.allocUnsafeSlow=function(e){return x(null,e)},S.isBuffer=se,S.compare=function(e,t){if(!I(e)||!I(t))throw new TypeError(\"Arguments must be Buffers\");if(e===t)return 0;for(var n=e.length,r=t.length,i=0,o=Math.min(n,r);i<o;++i)if(e[i]!==t[i]){n=e[i],r=t[i];break}return n<r?-1:r<n?1:0},S.isEncoding=function(e){switch(String(e).toLowerCase()){case\"hex\":case\"utf8\":case\"utf-8\":case\"ascii\":case\"latin1\":case\"binary\":case\"base64\":case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return!0;default:return!1}},S.concat=function(e,t){if(!b(e))throw new TypeError('\"list\" argument must be an Array of Buffers');if(0===e.length)return S.alloc(0);var n;if(void 0===t)for(t=0,n=0;n<e.length;++n)t+=e[n].length;var r=S.allocUnsafe(t),i=0;for(n=0;n<e.length;++n){var o=e[n];if(!I(o))throw new TypeError('\"list\" argument must be an Array of Buffers');o.copy(r,i),i+=o.length}return r},S.byteLength=R,S.prototype._isBuffer=!0,S.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw new RangeError(\"Buffer size must be a multiple of 16-bits\");for(var t=0;t<e;t+=2)L(this,t,t+1);return this},S.prototype.swap32=function(){var e=this.length;if(e%4!=0)throw new RangeError(\"Buffer size must be a multiple of 32-bits\");for(var t=0;t<e;t+=4)L(this,t,t+3),L(this,t+1,t+2);return this},S.prototype.swap64=function(){var e=this.length;if(e%8!=0)throw new RangeError(\"Buffer size must be a multiple of 64-bits\");for(var t=0;t<e;t+=8)L(this,t,t+7),L(this,t+1,t+6),L(this,t+2,t+5),L(this,t+3,t+4);return this},S.prototype.toString=function(){var e=0|this.length;return 0===e?\"\":0===arguments.length?H(this,0,e):P.apply(this,arguments)},S.prototype.equals=function(e){if(!I(e))throw new TypeError(\"Argument must be a Buffer\");return this===e||0===S.compare(this,e)},S.prototype.inspect=function(){var e=\"\";return this.length>0&&(e=this.toString(\"hex\",0,50).match(/.{2}/g).join(\" \"),this.length>50&&(e+=\" ... \")),\"<Buffer \"+e+\">\"},S.prototype.compare=function(e,t,n,r,i){if(!I(e))throw new TypeError(\"Argument must be a Buffer\");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===i&&(i=this.length),t<0||n>e.length||r<0||i>this.length)throw new RangeError(\"out of range index\");if(r>=i&&t>=n)return 0;if(r>=i)return-1;if(t>=n)return 1;if(this===e)return 0;for(var o=(i>>>=0)-(r>>>=0),s=(n>>>=0)-(t>>>=0),a=Math.min(o,s),c=this.slice(r,i),l=e.slice(t,n),d=0;d<a;++d)if(c[d]!==l[d]){o=c[d],s=l[d];break}return o<s?-1:s<o?1:0},S.prototype.includes=function(e,t,n){return-1!==this.indexOf(e,t,n)},S.prototype.indexOf=function(e,t,n){return O(this,e,t,n,!0)},S.prototype.lastIndexOf=function(e,t,n){return O(this,e,t,n,!1)},S.prototype.write=function(e,t,n,r){if(void 0===t)r=\"utf8\",n=this.length,t=0;else if(void 0===n&&\"string\"==typeof t)r=t,n=this.length,t=0;else{if(!isFinite(t))throw new Error(\"Buffer.write(string, encoding, offset[, length]) is no longer supported\");t|=0,isFinite(n)?(n|=0,void 0===r&&(r=\"utf8\")):(r=n,n=void 0)}var i=this.length-t;if((void 0===n||n>i)&&(n=i),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError(\"Attempt to write outside buffer bounds\");r||(r=\"utf8\");for(var o=!1;;)switch(r){case\"hex\":return N(this,e,t,n);case\"utf8\":case\"utf-8\":return D(this,e,t,n);case\"ascii\":return $(this,e,t,n);case\"latin1\":case\"binary\":return B(this,e,t,n);case\"base64\":return K(this,e,t,n);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return j(this,e,t,n);default:if(o)throw new TypeError(\"Unknown encoding: \"+r);r=(\"\"+r).toLowerCase(),o=!0}},S.prototype.toJSON=function(){return{type:\"Buffer\",data:Array.prototype.slice.call(this._arr||this,0)}};var F=4096;function z(e,t,n){var r=\"\";n=Math.min(e.length,n);for(var i=t;i<n;++i)r+=String.fromCharCode(127&e[i]);return r}function q(e,t,n){var r=\"\";n=Math.min(e.length,n);for(var i=t;i<n;++i)r+=String.fromCharCode(e[i]);return r}function V(e,t,n){var r=e.length;(!t||t<0)&&(t=0),(!n||n<0||n>r)&&(n=r);for(var i=\"\",o=t;o<n;++o)i+=ne(e[o]);return i}function W(e,t,n){for(var r=e.slice(t,n),i=\"\",o=0;o<r.length;o+=2)i+=String.fromCharCode(r[o]+256*r[o+1]);return i}function G(e,t,n){if(e%1!=0||e<0)throw new RangeError(\"offset is not uint\");if(e+t>n)throw new RangeError(\"Trying to access beyond buffer length\")}function Z(e,t,n,r,i,o){if(!I(e))throw new TypeError('\"buffer\" argument must be a Buffer instance');if(t>i||t<o)throw new RangeError('\"value\" argument is out of bounds');if(n+r>e.length)throw new RangeError(\"Index out of range\")}function Y(e,t,n,r){t<0&&(t=65535+t+1);for(var i=0,o=Math.min(e.length-n,2);i<o;++i)e[n+i]=(t&255<<8*(r?i:1-i))>>>8*(r?i:1-i)}function J(e,t,n,r){t<0&&(t=4294967295+t+1);for(var i=0,o=Math.min(e.length-n,4);i<o;++i)e[n+i]=t>>>8*(r?i:3-i)&255}function X(e,t,n,r,i,o){if(n+r>e.length)throw new RangeError(\"Index out of range\");if(n<0)throw new RangeError(\"Index out of range\")}function Q(e,t,n,r,i){return i||X(e,0,n,4),y(e,t,n,r,23,4),n+4}function ee(e,t,n,r,i){return i||X(e,0,n,8),y(e,t,n,r,52,8),n+8}S.prototype.slice=function(e,t){var n,r=this.length;if((e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(t=void 0===t?r:~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),t<e&&(t=e),S.TYPED_ARRAY_SUPPORT)(n=this.subarray(e,t)).__proto__=S.prototype;else{var i=t-e;n=new S(i,void 0);for(var o=0;o<i;++o)n[o]=this[o+e]}return n},S.prototype.readUIntLE=function(e,t,n){e|=0,t|=0,n||G(e,t,this.length);for(var r=this[e],i=1,o=0;++o<t&&(i*=256);)r+=this[e+o]*i;return r},S.prototype.readUIntBE=function(e,t,n){e|=0,t|=0,n||G(e,t,this.length);for(var r=this[e+--t],i=1;t>0&&(i*=256);)r+=this[e+--t]*i;return r},S.prototype.readUInt8=function(e,t){return t||G(e,1,this.length),this[e]},S.prototype.readUInt16LE=function(e,t){return t||G(e,2,this.length),this[e]|this[e+1]<<8},S.prototype.readUInt16BE=function(e,t){return t||G(e,2,this.length),this[e]<<8|this[e+1]},S.prototype.readUInt32LE=function(e,t){return t||G(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},S.prototype.readUInt32BE=function(e,t){return t||G(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},S.prototype.readIntLE=function(e,t,n){e|=0,t|=0,n||G(e,t,this.length);for(var r=this[e],i=1,o=0;++o<t&&(i*=256);)r+=this[e+o]*i;return r>=(i*=128)&&(r-=Math.pow(2,8*t)),r},S.prototype.readIntBE=function(e,t,n){e|=0,t|=0,n||G(e,t,this.length);for(var r=t,i=1,o=this[e+--r];r>0&&(i*=256);)o+=this[e+--r]*i;return o>=(i*=128)&&(o-=Math.pow(2,8*t)),o},S.prototype.readInt8=function(e,t){return t||G(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},S.prototype.readInt16LE=function(e,t){t||G(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},S.prototype.readInt16BE=function(e,t){t||G(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},S.prototype.readInt32LE=function(e,t){return t||G(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},S.prototype.readInt32BE=function(e,t){return t||G(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},S.prototype.readFloatLE=function(e,t){return t||G(e,4,this.length),m(this,e,!0,23,4)},S.prototype.readFloatBE=function(e,t){return t||G(e,4,this.length),m(this,e,!1,23,4)},S.prototype.readDoubleLE=function(e,t){return t||G(e,8,this.length),m(this,e,!0,52,8)},S.prototype.readDoubleBE=function(e,t){return t||G(e,8,this.length),m(this,e,!1,52,8)},S.prototype.writeUIntLE=function(e,t,n,r){(e=+e,t|=0,n|=0,r)||Z(this,e,t,n,Math.pow(2,8*n)-1,0);var i=1,o=0;for(this[t]=255&e;++o<n&&(i*=256);)this[t+o]=e/i&255;return t+n},S.prototype.writeUIntBE=function(e,t,n,r){(e=+e,t|=0,n|=0,r)||Z(this,e,t,n,Math.pow(2,8*n)-1,0);var i=n-1,o=1;for(this[t+i]=255&e;--i>=0&&(o*=256);)this[t+i]=e/o&255;return t+n},S.prototype.writeUInt8=function(e,t,n){return e=+e,t|=0,n||Z(this,e,t,1,255,0),S.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},S.prototype.writeUInt16LE=function(e,t,n){return e=+e,t|=0,n||Z(this,e,t,2,65535,0),S.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):Y(this,e,t,!0),t+2},S.prototype.writeUInt16BE=function(e,t,n){return e=+e,t|=0,n||Z(this,e,t,2,65535,0),S.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):Y(this,e,t,!1),t+2},S.prototype.writeUInt32LE=function(e,t,n){return e=+e,t|=0,n||Z(this,e,t,4,4294967295,0),S.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):J(this,e,t,!0),t+4},S.prototype.writeUInt32BE=function(e,t,n){return e=+e,t|=0,n||Z(this,e,t,4,4294967295,0),S.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):J(this,e,t,!1),t+4},S.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*n-1);Z(this,e,t,n,i-1,-i)}var o=0,s=1,a=0;for(this[t]=255&e;++o<n&&(s*=256);)e<0&&0===a&&0!==this[t+o-1]&&(a=1),this[t+o]=(e/s>>0)-a&255;return t+n},S.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*n-1);Z(this,e,t,n,i-1,-i)}var o=n-1,s=1,a=0;for(this[t+o]=255&e;--o>=0&&(s*=256);)e<0&&0===a&&0!==this[t+o+1]&&(a=1),this[t+o]=(e/s>>0)-a&255;return t+n},S.prototype.writeInt8=function(e,t,n){return e=+e,t|=0,n||Z(this,e,t,1,127,-128),S.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},S.prototype.writeInt16LE=function(e,t,n){return e=+e,t|=0,n||Z(this,e,t,2,32767,-32768),S.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):Y(this,e,t,!0),t+2},S.prototype.writeInt16BE=function(e,t,n){return e=+e,t|=0,n||Z(this,e,t,2,32767,-32768),S.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):Y(this,e,t,!1),t+2},S.prototype.writeInt32LE=function(e,t,n){return e=+e,t|=0,n||Z(this,e,t,4,2147483647,-2147483648),S.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):J(this,e,t,!0),t+4},S.prototype.writeInt32BE=function(e,t,n){return e=+e,t|=0,n||Z(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),S.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):J(this,e,t,!1),t+4},S.prototype.writeFloatLE=function(e,t,n){return Q(this,e,t,!0,n)},S.prototype.writeFloatBE=function(e,t,n){return Q(this,e,t,!1,n)},S.prototype.writeDoubleLE=function(e,t,n){return ee(this,e,t,!0,n)},S.prototype.writeDoubleBE=function(e,t,n){return ee(this,e,t,!1,n)},S.prototype.copy=function(e,t,n,r){if(n||(n=0),r||0===r||(r=this.length),t>=e.length&&(t=e.length),t||(t=0),r>0&&r<n&&(r=n),r===n)return 0;if(0===e.length||0===this.length)return 0;if(t<0)throw new RangeError(\"targetStart out of bounds\");if(n<0||n>=this.length)throw new RangeError(\"sourceStart out of bounds\");if(r<0)throw new RangeError(\"sourceEnd out of bounds\");r>this.length&&(r=this.length),e.length-t<r-n&&(r=e.length-t+n);var i,o=r-n;if(this===e&&n<t&&t<r)for(i=o-1;i>=0;--i)e[i+t]=this[i+n];else if(o<1e3||!S.TYPED_ARRAY_SUPPORT)for(i=0;i<o;++i)e[i+t]=this[i+n];else Uint8Array.prototype.set.call(e,this.subarray(n,n+o),t);return o},S.prototype.fill=function(e,t,n,r){if(\"string\"==typeof e){if(\"string\"==typeof t?(r=t,t=0,n=this.length):\"string\"==typeof n&&(r=n,n=this.length),1===e.length){var i=e.charCodeAt(0);i<256&&(e=i)}if(void 0!==r&&\"string\"!=typeof r)throw new TypeError(\"encoding must be a string\");if(\"string\"==typeof r&&!S.isEncoding(r))throw new TypeError(\"Unknown encoding: \"+r)}else\"number\"==typeof e&&(e&=255);if(t<0||this.length<t||this.length<n)throw new RangeError(\"Out of range index\");if(n<=t)return this;var o;if(t>>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),\"number\"==typeof e)for(o=t;o<n;++o)this[o]=e;else{var s=I(e)?e:re(new S(e,r).toString()),a=s.length;for(o=0;o<n-t;++o)this[o+t]=s[o%a]}return this};var te=/[^+\\/0-9A-Za-z-_]/g;function ne(e){return e<16?\"0\"+e.toString(16):e.toString(16)}function re(e,t){var n;t=t||1/0;for(var r=e.length,i=null,o=[],s=0;s<r;++s){if((n=e.charCodeAt(s))>55295&&n<57344){if(!i){if(n>56319){(t-=3)>-1&&o.push(239,191,189);continue}if(s+1===r){(t-=3)>-1&&o.push(239,191,189);continue}i=n;continue}if(n<56320){(t-=3)>-1&&o.push(239,191,189),i=n;continue}n=65536+(i-55296<<10|n-56320)}else i&&(t-=3)>-1&&o.push(239,191,189);if(i=null,n<128){if((t-=1)<0)break;o.push(n)}else if(n<2048){if((t-=2)<0)break;o.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;o.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error(\"Invalid code point\");if((t-=4)<0)break;o.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return o}function ie(e){return function(e){var t,n,r,i,o,s;h||f();var a=e.length;if(a%4>0)throw new Error(\"Invalid string. Length must be a multiple of 4\");o=\"=\"===e[a-2]?2:\"=\"===e[a-1]?1:0,s=new u(3*a/4-o),r=o>0?a-4:a;var c=0;for(t=0,n=0;t<r;t+=4,n+=3)i=d[e.charCodeAt(t)]<<18|d[e.charCodeAt(t+1)]<<12|d[e.charCodeAt(t+2)]<<6|d[e.charCodeAt(t+3)],s[c++]=i>>16&255,s[c++]=i>>8&255,s[c++]=255&i;return 2===o?(i=d[e.charCodeAt(t)]<<2|d[e.charCodeAt(t+1)]>>4,s[c++]=255&i):1===o&&(i=d[e.charCodeAt(t)]<<10|d[e.charCodeAt(t+1)]<<4|d[e.charCodeAt(t+2)]>>2,s[c++]=i>>8&255,s[c++]=255&i),s}(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\\s+|\\s+$/g,\"\")}(e).replace(te,\"\")).length<2)return\"\";for(;e.length%4!=0;)e+=\"=\";return e}(e))}function oe(e,t,n,r){for(var i=0;i<r&&!(i+n>=t.length||i>=e.length);++i)t[i+n]=e[i];return i}function se(e){return null!=e&&(!!e._isBuffer||ae(e)||function(e){return\"function\"==typeof e.readFloatLE&&\"function\"==typeof e.slice&&ae(e.slice(0,0))}(e))}function ae(e){return!!e.constructor&&\"function\"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}var ce=Object.freeze({__proto__:null,Buffer:S,INSPECT_MAX_BYTES:50,SlowBuffer:function(e){return+e!=e&&(e=0),S.alloc(+e)},isBuffer:se,kMaxLength:w}),le=\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:{};function de(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,\"default\")?e.default:e}function ue(e){if(e.__esModule)return e;var t=e.default;if(\"function\"==typeof t){var n=function e(){return this instanceof e?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};n.prototype=t.prototype}else n={};return Object.defineProperty(n,\"__esModule\",{value:!0}),Object.keys(e).forEach((function(t){var r=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,r.get?r:{enumerable:!0,get:function(){return e[t]}})})),n}var he={},fe={},pe={};function ge(e){if(!Number.isSafeInteger(e)||e<0)throw new Error(`positive integer expected, not ${e}`)}function me(e){if(\"boolean\"!=typeof e)throw new Error(`boolean expected, not ${e}`)}function ye(e){return e instanceof Uint8Array||null!=e&&\"object\"==typeof e&&\"Uint8Array\"===e.constructor.name}function ve(e,...t){if(!ye(e))throw new Error(\"Uint8Array expected\");if(t.length>0&&!t.includes(e.length))throw new Error(`Uint8Array expected of length ${t}, not of length=${e.length}`)}function be(e){if(\"function\"!=typeof e||\"function\"!=typeof e.create)throw new Error(\"hash must be wrapped by utils.wrapConstructor\");ge(e.outputLen),ge(e.blockLen)}function we(e,t=!0){if(e.destroyed)throw new Error(\"Hash instance has been destroyed\");if(t&&e.finished)throw new Error(\"Hash#digest() has already been called\")}function Ee(e,t){ve(e);const n=t.outputLen;if(e.length<n)throw new Error(`digestInto() expects output buffer of length at least ${n}`)}Object.defineProperty(pe,\"__esModule\",{value:!0}),pe.isBytes=ye,pe.number=ge,pe.bool=me,pe.bytes=ve,pe.hash=be,pe.exists=we,pe.output=Ee;const Ce={number:ge,bool:me,bytes:ve,hash:be,exists:we,output:Ee};pe.default=Ce,function(e){Object.defineProperty(e,\"__esModule\",{value:!0}),e.wrapCipher=e.Hash=e.nextTick=e.isLE=e.createView=e.u32=e.u16=e.u8=void 0,e.bytesToHex=r,e.hexToBytes=s,e.hexToNumber=a,e.bytesToNumberBE=function(e){return a(r(e))},e.numberToBytesBE=function(e,t){return s(e.toString(16).padStart(2*t,\"0\"))},e.asyncLoop=async function(t,n,r){let i=Date.now();for(let o=0;o<t;o++){r(o);const t=Date.now()-i;t>=0&&t<n||(await(0,e.nextTick)(),i+=t)}},e.utf8ToBytes=c,e.bytesToUtf8=function(e){return(new TextDecoder).decode(e)},e.toBytes=function(e){if(\"string\"==typeof e)e=c(e);else{if(!(0,t.isBytes)(e))throw new Error(\"Uint8Array expected, got \"+typeof e);e=d(e)}return e},e.concatBytes=function(...e){let n=0;for(let r=0;r<e.length;r++){const i=e[r];(0,t.bytes)(i),n+=i.length}const r=new Uint8Array(n);for(let t=0,n=0;t<e.length;t++){const i=e[t];r.set(i,n),n+=i.length}return r},e.checkOpts=function(e,t){if(null==t||\"object\"!=typeof t)throw new Error(\"options must be defined\");return Object.assign(e,t)},e.equalBytes=function(e,t){if(e.length!==t.length)return!1;let n=0;for(let r=0;r<e.length;r++)n|=e[r]^t[r];return 0===n},e.setBigUint64=l,e.u64Lengths=function(t,n){const r=new Uint8Array(16),i=(0,e.createView)(r);return l(i,0,BigInt(n?n.length:0),!0),l(i,8,BigInt(t.length),!0),r},e.isAligned32=function(e){return e.byteOffset%4==0},e.copyBytes=d,e.clean=function(...e){for(let t=0;t<e.length;t++)e[t].fill(0)};const t=pe;e.u8=e=>new Uint8Array(e.buffer,e.byteOffset,e.byteLength);e.u16=e=>new Uint16Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/2));e.u32=e=>new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4));if(e.createView=e=>new DataView(e.buffer,e.byteOffset,e.byteLength),e.isLE=68===new Uint8Array(new Uint32Array([287454020]).buffer)[0],!e.isLE)throw new Error(\"Non little-endian hardware is not supported\");const n=Array.from({length:256},((e,t)=>t.toString(16).padStart(2,\"0\")));function r(e){(0,t.bytes)(e);let r=\"\";for(let t=0;t<e.length;t++)r+=n[e[t]];return r}const i={_0:48,_9:57,_A:65,_F:70,_a:97,_f:102};function o(e){return e>=i._0&&e<=i._9?e-i._0:e>=i._A&&e<=i._F?e-(i._A-10):e>=i._a&&e<=i._f?e-(i._a-10):void 0}function s(e){if(\"string\"!=typeof e)throw new Error(\"hex string expected, got \"+typeof e);const t=e.length,n=t/2;if(t%2)throw new Error(\"padded hex string expected, got unpadded hex of length \"+t);const r=new Uint8Array(n);for(let t=0,i=0;t<n;t++,i+=2){const n=o(e.charCodeAt(i)),s=o(e.charCodeAt(i+1));if(void 0===n||void 0===s){const t=e[i]+e[i+1];throw new Error('hex string expected, got non-hex character \"'+t+'\" at index '+i)}r[t]=16*n+s}return r}function a(e){if(\"string\"!=typeof e)throw new Error(\"hex string expected, got \"+typeof e);return BigInt(\"\"===e?\"0\":`0x${e}`)}function c(e){if(\"string\"!=typeof e)throw new Error(\"string expected, got \"+typeof e);return new Uint8Array((new TextEncoder).encode(e))}e.nextTick=async()=>{};e.Hash=class{};function l(e,t,n,r){if(\"function\"==typeof e.setBigUint64)return e.setBigUint64(t,n,r);const i=BigInt(32),o=BigInt(4294967295),s=Number(n>>i&o),a=Number(n&o),c=r?4:0,l=r?0:4;e.setUint32(t+c,s,r),e.setUint32(t+l,a,r)}function d(e){return Uint8Array.from(e)}e.wrapCipher=(e,t)=>(Object.assign(t,e),t)}(fe);var Se={},_e={};Object.defineProperty(_e,\"__esModule\",{value:!0}),_e.AEAD_TAG_LENGTH=_e.XCHACHA20_NONCE_LENGTH=_e.CURVE25519_PUBLIC_KEY_SIZE=_e.ETH_PUBLIC_KEY_SIZE=_e.UNCOMPRESSED_PUBLIC_KEY_SIZE=_e.COMPRESSED_PUBLIC_KEY_SIZE=_e.SECRET_KEY_LENGTH=void 0,_e.SECRET_KEY_LENGTH=32,_e.COMPRESSED_PUBLIC_KEY_SIZE=33,_e.UNCOMPRESSED_PUBLIC_KEY_SIZE=65,_e.ETH_PUBLIC_KEY_SIZE=64,_e.CURVE25519_PUBLIC_KEY_SIZE=32,_e.XCHACHA20_NONCE_LENGTH=24,_e.AEAD_TAG_LENGTH=16,function(e){Object.defineProperty(e,\"__esModule\",{value:!0}),e.ephemeralKeySize=e.symmetricNonceLength=e.symmetricAlgorithm=e.isHkdfKeyCompressed=e.isEphemeralKeyCompressed=e.ellipticCurve=e.ECIES_CONFIG=void 0;var t=_e,n=function(){this.ellipticCurve=\"secp256k1\",this.isEphemeralKeyCompressed=!1,this.isHkdfKeyCompressed=!1,this.symmetricAlgorithm=\"aes-256-gcm\",this.symmetricNonceLength=16};e.ECIES_CONFIG=new n;e.ellipticCurve=function(){return e.ECIES_CONFIG.ellipticCurve};e.isEphemeralKeyCompressed=function(){return e.ECIES_CONFIG.isEphemeralKeyCompressed};e.isHkdfKeyCompressed=function(){return e.ECIES_CONFIG.isHkdfKeyCompressed};e.symmetricAlgorithm=function(){return e.ECIES_CONFIG.symmetricAlgorithm};e.symmetricNonceLength=function(){return e.ECIES_CONFIG.symmetricNonceLength};e.ephemeralKeySize=function(){var n={secp256k1:e.ECIES_CONFIG.isEphemeralKeyCompressed?t.COMPRESSED_PUBLIC_KEY_SIZE:t.UNCOMPRESSED_PUBLIC_KEY_SIZE,x25519:t.CURVE25519_PUBLIC_KEY_SIZE,ed25519:t.CURVE25519_PUBLIC_KEY_SIZE};if(e.ECIES_CONFIG.ellipticCurve in n)return n[e.ECIES_CONFIG.ellipticCurve];throw new Error(\"Not implemented\")}}(Se);var ke={},xe={},Me={},Ae={},Ie={},Re={};Object.defineProperty(Re,\"__esModule\",{value:!0}),Re.crypto=void 0,Re.crypto=\"object\"==typeof globalThis&&\"crypto\"in globalThis?globalThis.crypto:void 0,function(e){Object.defineProperty(e,\"__esModule\",{value:!0}),e.gcm=e.ctr=e.cbc=e.utils=void 0,e.randomBytes=i,e.getWebcryptoSubtle=o,e.managedNonce=function(e){return(0,n.number)(e.nonceLength),(t,...n)=>({encrypt(o,...s){const{nonceLength:a}=e,c=i(a),l=e(t,c,...n).encrypt(o,...s),d=(0,r.concatBytes)(c,l);return l.fill(0),d},decrypt(r,...i){const{nonceLength:o}=e,s=r.subarray(0,o),a=r.subarray(o);return e(t,s,...n).decrypt(a,...i)}})};const t=Re,n=pe,r=fe;function i(e=32){if(t.crypto&&\"function\"==typeof t.crypto.getRandomValues)return t.crypto.getRandomValues(new Uint8Array(e));if(t.crypto&&\"function\"==typeof t.crypto.randomBytes)return t.crypto.randomBytes(e);throw new Error(\"crypto.getRandomValues must be defined\")}function o(){if(t.crypto&&\"object\"==typeof t.crypto.subtle&&null!=t.crypto.subtle)return t.crypto.subtle;throw new Error(\"crypto.subtle must be defined\")}e.utils={async encrypt(e,t,n,r){const i=o(),s=await i.importKey(\"raw\",e,t,!0,[\"encrypt\"]),a=await i.encrypt(n,s,r);return new Uint8Array(a)},async decrypt(e,t,n,r){const i=o(),s=await i.importKey(\"raw\",e,t,!0,[\"decrypt\"]),a=await i.decrypt(n,s,r);return new Uint8Array(a)}};const s={CBC:\"AES-CBC\",CTR:\"AES-CTR\",GCM:\"AES-GCM\"};function a(t){return(r,i,o)=>{(0,n.bytes)(r),(0,n.bytes)(i);const a={name:t,length:8*r.length},c=function(e,t,n){if(e===s.CBC)return{name:s.CBC,iv:t};if(e===s.CTR)return{name:s.CTR,counter:t,length:64};if(e===s.GCM)return n?{name:s.GCM,iv:t,additionalData:n}:{name:s.GCM,iv:t};throw new Error(\"unknown aes block mode\")}(t,i,o);return{encrypt:t=>((0,n.bytes)(t),e.utils.encrypt(r,a,c,t)),decrypt:t=>((0,n.bytes)(t),e.utils.decrypt(r,a,c,t))}}}e.cbc=a(s.CBC),e.ctr=a(s.CTR),e.gcm=a(s.GCM)}(Ie);var Pe={},Le={},Oe={},Te={};function Ne(e){if(!Number.isSafeInteger(e)||e<0)throw new Error(`positive integer expected, not ${e}`)}function De(e){if(\"boolean\"!=typeof e)throw new Error(`boolean expected, not ${e}`)}function $e(e){return e instanceof Uint8Array||null!=e&&\"object\"==typeof e&&\"Uint8Array\"===e.constructor.name}function Be(e,...t){if(!$e(e))throw new Error(\"Uint8Array expected\");if(t.length>0&&!t.includes(e.length))throw new Error(`Uint8Array expected of length ${t}, not of length=${e.length}`)}function Ke(e){if(\"function\"!=typeof e||\"function\"!=typeof e.create)throw new Error(\"Hash should be wrapped by utils.wrapConstructor\");Ne(e.outputLen),Ne(e.blockLen)}function je(e,t=!0){if(e.destroyed)throw new Error(\"Hash instance has been destroyed\");if(t&&e.finished)throw new Error(\"Hash#digest() has already been called\")}function Ue(e,t){Be(e);const n=t.outputLen;if(e.length<n)throw new Error(`digestInto() expects output buffer of length at least ${n}`)}Object.defineProperty(Te,\"__esModule\",{value:!0}),Te.isBytes=$e,Te.number=Ne,Te.bool=De,Te.bytes=Be,Te.hash=Ke,Te.exists=je,Te.output=Ue;const He={number:Ne,bool:De,bytes:Be,hash:Ke,exists:je,output:Ue};Te.default=He;var Fe={},ze={};Object.defineProperty(ze,\"__esModule\",{value:!0}),ze.crypto=void 0,ze.crypto=\"object\"==typeof globalThis&&\"crypto\"in globalThis?globalThis.crypto:void 0,function(e){Object.defineProperty(e,\"__esModule\",{value:!0}),e.Hash=e.nextTick=e.byteSwapIfBE=e.byteSwap=e.isLE=e.rotl=e.rotr=e.createView=e.u32=e.u8=void 0,e.isBytes=function(e){return e instanceof Uint8Array||null!=e&&\"object\"==typeof e&&\"Uint8Array\"===e.constructor.name},e.byteSwap32=function(t){for(let n=0;n<t.length;n++)t[n]=(0,e.byteSwap)(t[n])},e.bytesToHex=function(e){(0,n.bytes)(e);let t=\"\";for(let n=0;n<e.length;n++)t+=r[e[n]];return t},e.hexToBytes=function(e){if(\"string\"!=typeof e)throw new Error(\"hex string expected, got \"+typeof e);const t=e.length,n=t/2;if(t%2)throw new Error(\"padded hex string expected, got unpadded hex of length \"+t);const r=new Uint8Array(n);for(let t=0,i=0;t<n;t++,i+=2){const n=o(e.charCodeAt(i)),s=o(e.charCodeAt(i+1));if(void 0===n||void 0===s){const t=e[i]+e[i+1];throw new Error('hex string expected, got non-hex character \"'+t+'\" at index '+i)}r[t]=16*n+s}return r},e.asyncLoop=async function(t,n,r){let i=Date.now();for(let o=0;o<t;o++){r(o);const t=Date.now()-i;t>=0&&t<n||(await(0,e.nextTick)(),i+=t)}},e.utf8ToBytes=s,e.toBytes=a,e.concatBytes=function(...e){let t=0;for(let r=0;r<e.length;r++){const i=e[r];(0,n.bytes)(i),t+=i.length}const r=new Uint8Array(t);for(let t=0,n=0;t<e.length;t++){const i=e[t];r.set(i,n),n+=i.length}return r},e.checkOpts=function(e,t){if(void 0!==t&&\"[object Object]\"!==c.call(t))throw new Error(\"Options should be object or undefined\");return Object.assign(e,t)},e.wrapConstructor=function(e){const t=t=>e().update(a(t)).digest(),n=e();return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=()=>e(),t},e.wrapConstructorWithOpts=function(e){const t=(t,n)=>e(n).update(a(t)).digest(),n=e({});return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=t=>e(t),t},e.wrapXOFConstructorWithOpts=function(e){const t=(t,n)=>e(n).update(a(t)).digest(),n=e({});return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=t=>e(t),t},e.randomBytes=function(e=32){if(t.crypto&&\"function\"==typeof t.crypto.getRandomValues)return t.crypto.getRandomValues(new Uint8Array(e));if(t.crypto&&\"function\"==typeof t.crypto.randomBytes)return t.crypto.randomBytes(e);throw new Error(\"crypto.getRandomValues must be defined\")};const t=ze,n=Te;e.u8=e=>new Uint8Array(e.buffer,e.byteOffset,e.byteLength);e.u32=e=>new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4));e.createView=e=>new DataView(e.buffer,e.byteOffset,e.byteLength);e.rotr=(e,t)=>e<<32-t|e>>>t;e.rotl=(e,t)=>e<<t|e>>>32-t>>>0,e.isLE=68===new Uint8Array(new Uint32Array([287454020]).buffer)[0];e.byteSwap=e=>e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255,e.byteSwapIfBE=e.isLE?e=>e:t=>(0,e.byteSwap)(t);const r=Array.from({length:256},((e,t)=>t.toString(16).padStart(2,\"0\")));const i={_0:48,_9:57,_A:65,_F:70,_a:97,_f:102};function o(e){return e>=i._0&&e<=i._9?e-i._0:e>=i._A&&e<=i._F?e-(i._A-10):e>=i._a&&e<=i._f?e-(i._a-10):void 0}function s(e){if(\"string\"!=typeof e)throw new Error(\"utf8ToBytes expected string, got \"+typeof e);return new Uint8Array((new TextEncoder).encode(e))}function a(e){return\"string\"==typeof e&&(e=s(e)),(0,n.bytes)(e),e}e.nextTick=async()=>{};e.Hash=class{clone(){return this._cloneInto()}};const c={}.toString}(Fe),Object.defineProperty(Oe,\"__esModule\",{value:!0}),Oe.HashMD=Oe.Maj=Oe.Chi=void 0;const qe=Te,Ve=Fe;Oe.Chi=(e,t,n)=>e&t^~e&n;Oe.Maj=(e,t,n)=>e&t^e&n^t&n;Oe.HashMD=class extends Ve.Hash{constructor(e,t,n,r){super(),this.blockLen=e,this.outputLen=t,this.padOffset=n,this.isLE=r,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=(0,Ve.createView)(this.buffer)}update(e){(0,qe.exists)(this);const{view:t,buffer:n,blockLen:r}=this,i=(e=(0,Ve.toBytes)(e)).length;for(let o=0;o<i;){const s=Math.min(r-this.pos,i-o);if(s!==r)n.set(e.subarray(o,o+s),this.pos),this.pos+=s,o+=s,this.pos===r&&(this.process(t,0),this.pos=0);else{const t=(0,Ve.createView)(e);for(;r<=i-o;o+=r)this.process(t,o)}}return this.length+=e.length,this.roundClean(),this}digestInto(e){(0,qe.exists)(this),(0,qe.output)(e,this),this.finished=!0;const{buffer:t,view:n,blockLen:r,isLE:i}=this;let{pos:o}=this;t[o++]=128,this.buffer.subarray(o).fill(0),this.padOffset>r-o&&(this.process(n,0),o=0);for(let e=o;e<r;e++)t[e]=0;!function(e,t,n,r){if(\"function\"==typeof e.setBigUint64)return e.setBigUint64(t,n,r);const i=BigInt(32),o=BigInt(4294967295),s=Number(n>>i&o),a=Number(n&o),c=r?4:0,l=r?0:4;e.setUint32(t+c,s,r),e.setUint32(t+l,a,r)}(n,r-8,BigInt(8*this.length),i),this.process(n,0);const s=(0,Ve.createView)(e),a=this.outputLen;if(a%4)throw new Error(\"_sha2: outputLen should be aligned to 32bit\");const c=a/4,l=this.get();if(c>l.length)throw new Error(\"_sha2: outputLen bigger than state\");for(let e=0;e<c;e++)s.setUint32(4*e,l[e],i)}digest(){const{buffer:e,outputLen:t}=this;this.digestInto(e);const n=e.slice(0,t);return this.destroy(),n}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());const{blockLen:t,buffer:n,length:r,finished:i,destroyed:o,pos:s}=this;return e.length=r,e.pos=s,e.finished=i,e.destroyed=o,r%t&&e.buffer.set(n),e}};var We={};Object.defineProperty(We,\"__esModule\",{value:!0}),We.add5L=We.add5H=We.add4H=We.add4L=We.add3H=We.add3L=We.rotlBL=We.rotlBH=We.rotlSL=We.rotlSH=We.rotr32L=We.rotr32H=We.rotrBL=We.rotrBH=We.rotrSL=We.rotrSH=We.shrSL=We.shrSH=We.toBig=void 0,We.fromBig=Ye,We.split=Je,We.add=ut;const Ge=BigInt(2**32-1),Ze=BigInt(32);function Ye(e,t=!1){return t?{h:Number(e&Ge),l:Number(e>>Ze&Ge)}:{h:0|Number(e>>Ze&Ge),l:0|Number(e&Ge)}}function Je(e,t=!1){let n=new Uint32Array(e.length),r=new Uint32Array(e.length);for(let i=0;i<e.length;i++){const{h:o,l:s}=Ye(e[i],t);[n[i],r[i]]=[o,s]}return[n,r]}const Xe=(e,t)=>BigInt(e>>>0)<<Ze|BigInt(t>>>0);We.toBig=Xe;const Qe=(e,t,n)=>e>>>n;We.shrSH=Qe;const et=(e,t,n)=>e<<32-n|t>>>n;We.shrSL=et;const tt=(e,t,n)=>e>>>n|t<<32-n;We.rotrSH=tt;const nt=(e,t,n)=>e<<32-n|t>>>n;We.rotrSL=nt;const rt=(e,t,n)=>e<<64-n|t>>>n-32;We.rotrBH=rt;const it=(e,t,n)=>e>>>n-32|t<<64-n;We.rotrBL=it;const ot=(e,t)=>t;We.rotr32H=ot;const st=(e,t)=>e;We.rotr32L=st;const at=(e,t,n)=>e<<n|t>>>32-n;We.rotlSH=at;const ct=(e,t,n)=>t<<n|e>>>32-n;We.rotlSL=ct;const lt=(e,t,n)=>t<<n-32|e>>>64-n;We.rotlBH=lt;const dt=(e,t,n)=>e<<n-32|t>>>64-n;function ut(e,t,n,r){const i=(t>>>0)+(r>>>0);return{h:e+n+(i/2**32|0)|0,l:0|i}}We.rotlBL=dt;const ht=(e,t,n)=>(e>>>0)+(t>>>0)+(n>>>0);We.add3L=ht;const ft=(e,t,n,r)=>t+n+r+(e/2**32|0)|0;We.add3H=ft;const pt=(e,t,n,r)=>(e>>>0)+(t>>>0)+(n>>>0)+(r>>>0);We.add4L=pt;const gt=(e,t,n,r,i)=>t+n+r+i+(e/2**32|0)|0;We.add4H=gt;const mt=(e,t,n,r,i)=>(e>>>0)+(t>>>0)+(n>>>0)+(r>>>0)+(i>>>0);We.add5L=mt;const yt=(e,t,n,r,i,o)=>t+n+r+i+o+(e/2**32|0)|0;We.add5H=yt;const vt={fromBig:Ye,split:Je,toBig:Xe,shrSH:Qe,shrSL:et,rotrSH:tt,rotrSL:nt,rotrBH:rt,rotrBL:it,rotr32H:ot,rotr32L:st,rotlSH:at,rotlSL:ct,rotlBH:lt,rotlBL:dt,add:ut,add3L:ht,add3H:ft,add4L:pt,add4H:gt,add5H:yt,add5L:mt};We.default=vt,Object.defineProperty(Le,\"__esModule\",{value:!0}),Le.sha384=Le.sha512_256=Le.sha512_224=Le.sha512=Le.SHA384=Le.SHA512_256=Le.SHA512_224=Le.SHA512=void 0;const bt=Oe,wt=We,Et=Fe,[Ct,St]=(()=>wt.default.split([\"0x428a2f98d728ae22\",\"0x7137449123ef65cd\",\"0xb5c0fbcfec4d3b2f\",\"0xe9b5dba58189dbbc\",\"0x3956c25bf348b538\",\"0x59f111f1b605d019\",\"0x923f82a4af194f9b\",\"0xab1c5ed5da6d8118\",\"0xd807aa98a3030242\",\"0x12835b0145706fbe\",\"0x243185be4ee4b28c\",\"0x550c7dc3d5ffb4e2\",\"0x72be5d74f27b896f\",\"0x80deb1fe3b1696b1\",\"0x9bdc06a725c71235\",\"0xc19bf174cf692694\",\"0xe49b69c19ef14ad2\",\"0xefbe4786384f25e3\",\"0x0fc19dc68b8cd5b5\",\"0x240ca1cc77ac9c65\",\"0x2de92c6f592b0275\",\"0x4a7484aa6ea6e483\",\"0x5cb0a9dcbd41fbd4\",\"0x76f988da831153b5\",\"0x983e5152ee66dfab\",\"0xa831c66d2db43210\",\"0xb00327c898fb213f\",\"0xbf597fc7beef0ee4\",\"0xc6e00bf33da88fc2\",\"0xd5a79147930aa725\",\"0x06ca6351e003826f\",\"0x142929670a0e6e70\",\"0x27b70a8546d22ffc\",\"0x2e1b21385c26c926\",\"0x4d2c6dfc5ac42aed\",\"0x53380d139d95b3df\",\"0x650a73548baf63de\",\"0x766a0abb3c77b2a8\",\"0x81c2c92e47edaee6\",\"0x92722c851482353b\",\"0xa2bfe8a14cf10364\",\"0xa81a664bbc423001\",\"0xc24b8b70d0f89791\",\"0xc76c51a30654be30\",\"0xd192e819d6ef5218\",\"0xd69906245565a910\",\"0xf40e35855771202a\",\"0x106aa07032bbd1b8\",\"0x19a4c116b8d2d0c8\",\"0x1e376c085141ab53\",\"0x2748774cdf8eeb99\",\"0x34b0bcb5e19b48a8\",\"0x391c0cb3c5c95a63\",\"0x4ed8aa4ae3418acb\",\"0x5b9cca4f7763e373\",\"0x682e6ff3d6b2b8a3\",\"0x748f82ee5defb2fc\",\"0x78a5636f43172f60\",\"0x84c87814a1f0ab72\",\"0x8cc702081a6439ec\",\"0x90befffa23631e28\",\"0xa4506cebde82bde9\",\"0xbef9a3f7b2c67915\",\"0xc67178f2e372532b\",\"0xca273eceea26619c\",\"0xd186b8c721c0c207\",\"0xeada7dd6cde0eb1e\",\"0xf57d4f7fee6ed178\",\"0x06f067aa72176fba\",\"0x0a637dc5a2c898a6\",\"0x113f9804bef90dae\",\"0x1b710b35131c471b\",\"0x28db77f523047d84\",\"0x32caab7b40c72493\",\"0x3c9ebe0a15c9bebc\",\"0x431d67c49c100d4c\",\"0x4cc5d4becb3e42b6\",\"0x597f299cfc657e2a\",\"0x5fcb6fab3ad6faec\",\"0x6c44198c4a475817\"].map((e=>BigInt(e)))))(),_t=new Uint32Array(80),kt=new Uint32Array(80);class xt extends bt.HashMD{constructor(){super(128,64,16,!1),this.Ah=1779033703,this.Al=-205731576,this.Bh=-1150833019,this.Bl=-2067093701,this.Ch=1013904242,this.Cl=-23791573,this.Dh=-1521486534,this.Dl=1595750129,this.Eh=1359893119,this.El=-1377402159,this.Fh=-1694144372,this.Fl=725511199,this.Gh=528734635,this.Gl=-79577749,this.Hh=1541459225,this.Hl=327033209}get(){const{Ah:e,Al:t,Bh:n,Bl:r,Ch:i,Cl:o,Dh:s,Dl:a,Eh:c,El:l,Fh:d,Fl:u,Gh:h,Gl:f,Hh:p,Hl:g}=this;return[e,t,n,r,i,o,s,a,c,l,d,u,h,f,p,g]}set(e,t,n,r,i,o,s,a,c,l,d,u,h,f,p,g){this.Ah=0|e,this.Al=0|t,this.Bh=0|n,this.Bl=0|r,this.Ch=0|i,this.Cl=0|o,this.Dh=0|s,this.Dl=0|a,this.Eh=0|c,this.El=0|l,this.Fh=0|d,this.Fl=0|u,this.Gh=0|h,this.Gl=0|f,this.Hh=0|p,this.Hl=0|g}process(e,t){for(let n=0;n<16;n++,t+=4)_t[n]=e.getUint32(t),kt[n]=e.getUint32(t+=4);for(let e=16;e<80;e++){const t=0|_t[e-15],n=0|kt[e-15],r=wt.default.rotrSH(t,n,1)^wt.default.rotrSH(t,n,8)^wt.default.shrSH(t,n,7),i=wt.default.rotrSL(t,n,1)^wt.default.rotrSL(t,n,8)^wt.default.shrSL(t,n,7),o=0|_t[e-2],s=0|kt[e-2],a=wt.default.rotrSH(o,s,19)^wt.default.rotrBH(o,s,61)^wt.default.shrSH(o,s,6),c=wt.default.rotrSL(o,s,19)^wt.default.rotrBL(o,s,61)^wt.default.shrSL(o,s,6),l=wt.default.add4L(i,c,kt[e-7],kt[e-16]),d=wt.default.add4H(l,r,a,_t[e-7],_t[e-16]);_t[e]=0|d,kt[e]=0|l}let{Ah:n,Al:r,Bh:i,Bl:o,Ch:s,Cl:a,Dh:c,Dl:l,Eh:d,El:u,Fh:h,Fl:f,Gh:p,Gl:g,Hh:m,Hl:y}=this;for(let e=0;e<80;e++){const t=wt.default.rotrSH(d,u,14)^wt.default.rotrSH(d,u,18)^wt.default.rotrBH(d,u,41),v=wt.default.rotrSL(d,u,14)^wt.default.rotrSL(d,u,18)^wt.default.rotrBL(d,u,41),b=d&h^~d&p,w=u&f^~u&g,E=wt.default.add5L(y,v,w,St[e],kt[e]),C=wt.default.add5H(E,m,t,b,Ct[e],_t[e]),S=0|E,_=wt.default.rotrSH(n,r,28)^wt.default.rotrBH(n,r,34)^wt.default.rotrBH(n,r,39),k=wt.default.rotrSL(n,r,28)^wt.default.rotrBL(n,r,34)^wt.default.rotrBL(n,r,39),x=n&i^n&s^i&s,M=r&o^r&a^o&a;m=0|p,y=0|g,p=0|h,g=0|f,h=0|d,f=0|u,({h:d,l:u}=wt.default.add(0|c,0|l,0|C,0|S)),c=0|s,l=0|a,s=0|i,a=0|o,i=0|n,o=0|r;const A=wt.default.add3L(S,k,M);n=wt.default.add3H(A,C,_,x),r=0|A}({h:n,l:r}=wt.default.add(0|this.Ah,0|this.Al,0|n,0|r)),({h:i,l:o}=wt.default.add(0|this.Bh,0|this.Bl,0|i,0|o)),({h:s,l:a}=wt.default.add(0|this.Ch,0|this.Cl,0|s,0|a)),({h:c,l:l}=wt.default.add(0|this.Dh,0|this.Dl,0|c,0|l)),({h:d,l:u}=wt.default.add(0|this.Eh,0|this.El,0|d,0|u)),({h:h,l:f}=wt.default.add(0|this.Fh,0|this.Fl,0|h,0|f)),({h:p,l:g}=wt.default.add(0|this.Gh,0|this.Gl,0|p,0|g)),({h:m,l:y}=wt.default.add(0|this.Hh,0|this.Hl,0|m,0|y)),this.set(n,r,i,o,s,a,c,l,d,u,h,f,p,g,m,y)}roundClean(){_t.fill(0),kt.fill(0)}destroy(){this.buffer.fill(0),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}}Le.SHA512=xt;class Mt extends xt{constructor(){super(),this.Ah=-1942145080,this.Al=424955298,this.Bh=1944164710,this.Bl=-1982016298,this.Ch=502970286,this.Cl=855612546,this.Dh=1738396948,this.Dl=1479516111,this.Eh=258812777,this.El=2077511080,this.Fh=2011393907,this.Fl=79989058,this.Gh=1067287976,this.Gl=1780299464,this.Hh=286451373,this.Hl=-1848208735,this.outputLen=28}}Le.SHA512_224=Mt;class At extends xt{constructor(){super(),this.Ah=573645204,this.Al=-64227540,this.Bh=-1621794909,this.Bl=-934517566,this.Ch=596883563,this.Cl=1867755857,this.Dh=-1774684391,this.Dl=1497426621,this.Eh=-1775747358,this.El=-1467023389,this.Fh=-1101128155,this.Fl=1401305490,this.Gh=721525244,this.Gl=746961066,this.Hh=246885852,this.Hl=-2117784414,this.outputLen=32}}Le.SHA512_256=At;class It extends xt{constructor(){super(),this.Ah=-876896931,this.Al=-1056596264,this.Bh=1654270250,this.Bl=914150663,this.Ch=-1856437926,this.Cl=812702999,this.Dh=355462360,this.Dl=-150054599,this.Eh=1731405415,this.El=-4191439,this.Fh=-1900787065,this.Fl=1750603025,this.Gh=-619958771,this.Gl=1694076839,this.Hh=1203062813,this.Hl=-1090891868,this.outputLen=48}}Le.SHA384=It,Le.sha512=(0,Et.wrapConstructor)((()=>new xt)),Le.sha512_224=(0,Et.wrapConstructor)((()=>new Mt)),Le.sha512_256=(0,Et.wrapConstructor)((()=>new At)),Le.sha384=(0,Et.wrapConstructor)((()=>new It));var Rt={},Pt={},Lt={},Ot={};Object.defineProperty(Ot,\"__esModule\",{value:!0}),Ot.notImplemented=Ot.bitMask=void 0,Ot.isBytes=$t,Ot.abytes=Bt,Ot.abool=function(e,t){if(\"boolean\"!=typeof t)throw new Error(`${e} must be valid boolean, got \"${t}\".`)},Ot.bytesToHex=jt,Ot.numberToHexUnpadded=Ut,Ot.hexToNumber=Ht,Ot.hexToBytes=qt,Ot.bytesToNumberBE=function(e){return Ht(jt(e))},Ot.bytesToNumberLE=function(e){return Bt(e),Ht(jt(Uint8Array.from(e).reverse()))},Ot.numberToBytesBE=Vt,Ot.numberToBytesLE=function(e,t){return Vt(e,t).reverse()},Ot.numberToVarBytesBE=function(e){return qt(Ut(e))},Ot.ensureBytes=function(e,t,n){let r;if(\"string\"==typeof t)try{r=qt(t)}catch(n){throw new Error(`${e} must be valid hex string, got \"${t}\". Cause: ${n}`)}else{if(!$t(t))throw new Error(`${e} must be hex string or Uint8Array`);r=Uint8Array.from(t)}const i=r.length;if(\"number\"==typeof n&&i!==n)throw new Error(`${e} expected ${n} bytes, got ${i}`);return r},Ot.concatBytes=Wt,Ot.equalBytes=function(e,t){if(e.length!==t.length)return!1;let n=0;for(let r=0;r<e.length;r++)n|=e[r]^t[r];return 0===n},Ot.utf8ToBytes=function(e){if(\"string\"!=typeof e)throw new Error(\"utf8ToBytes expected string, got \"+typeof e);return new Uint8Array((new TextEncoder).encode(e))},Ot.inRange=Zt,Ot.aInRange=function(e,t,n,r){if(!Zt(t,n,r))throw new Error(`expected valid ${e}: ${n} <= n < ${r}, got ${typeof t} ${t}`)},Ot.bitLen=function(e){let t;for(t=0;e>Tt;e>>=Nt,t+=1);return t},Ot.bitGet=function(e,t){return e>>BigInt(t)&Nt},Ot.bitSet=function(e,t,n){return e|(n?Nt:Tt)<<BigInt(t)},Ot.createHmacDrbg=function(e,t,n){if(\"number\"!=typeof e||e<2)throw new Error(\"hashLen must be a number\");if(\"number\"!=typeof t||t<2)throw new Error(\"qByteLen must be a number\");if(\"function\"!=typeof n)throw new Error(\"hmacFn must be a function\");let r=Yt(e),i=Yt(e),o=0;const s=()=>{r.fill(1),i.fill(0),o=0},a=(...e)=>n(i,r,...e),c=(e=Yt())=>{i=a(Jt([0]),e),r=a(),0!==e.length&&(i=a(Jt([1]),e),r=a())},l=()=>{if(o++>=1e3)throw new Error(\"drbg: tried 1000 values\");let e=0;const n=[];for(;e<t;){r=a();const t=r.slice();n.push(t),e+=r.length}return Wt(...n)};return(e,t)=>{let n;for(s(),c(e);!(n=t(l()));)c();return s(),n}},Ot.validateObject=function(e,t,n={}){const r=(t,n,r)=>{const i=Xt[n];if(\"function\"!=typeof i)throw new Error(`Invalid validator \"${n}\", expected function`);const o=e[t];if(!(r&&void 0===o||i(o,e)))throw new Error(`Invalid param ${String(t)}=${o} (${typeof o}), expected ${n}`)};for(const[e,n]of Object.entries(t))r(e,n,!1);for(const[e,t]of Object.entries(n))r(e,t,!0);return e},Ot.memoized=function(e){const t=new WeakMap;return(n,...r)=>{const i=t.get(n);if(void 0!==i)return i;const o=e(n,...r);return t.set(n,o),o}};const Tt=BigInt(0),Nt=BigInt(1),Dt=BigInt(2);function $t(e){return e instanceof Uint8Array||null!=e&&\"object\"==typeof e&&\"Uint8Array\"===e.constructor.name}function Bt(e){if(!$t(e))throw new Error(\"Uint8Array expected\")}const Kt=Array.from({length:256},((e,t)=>t.toString(16).padStart(2,\"0\")));function jt(e){Bt(e);let t=\"\";for(let n=0;n<e.length;n++)t+=Kt[e[n]];return t}function Ut(e){const t=e.toString(16);return 1&t.length?`0${t}`:t}function Ht(e){if(\"string\"!=typeof e)throw new Error(\"hex string expected, got \"+typeof e);return BigInt(\"\"===e?\"0\":`0x${e}`)}const Ft={_0:48,_9:57,_A:65,_F:70,_a:97,_f:102};function zt(e){return e>=Ft._0&&e<=Ft._9?e-Ft._0:e>=Ft._A&&e<=Ft._F?e-(Ft._A-10):e>=Ft._a&&e<=Ft._f?e-(Ft._a-10):void 0}function qt(e){if(\"string\"!=typeof e)throw new Error(\"hex string expected, got \"+typeof e);const t=e.length,n=t/2;if(t%2)throw new Error(\"padded hex string expected, got unpadded hex of length \"+t);const r=new Uint8Array(n);for(let t=0,i=0;t<n;t++,i+=2){const n=zt(e.charCodeAt(i)),o=zt(e.charCodeAt(i+1));if(void 0===n||void 0===o){const t=e[i]+e[i+1];throw new Error('hex string expected, got non-hex character \"'+t+'\" at index '+i)}r[t]=16*n+o}return r}function Vt(e,t){return qt(e.toString(16).padStart(2*t,\"0\"))}function Wt(...e){let t=0;for(let n=0;n<e.length;n++){const r=e[n];Bt(r),t+=r.length}const n=new Uint8Array(t);for(let t=0,r=0;t<e.length;t++){const i=e[t];n.set(i,r),r+=i.length}return n}const Gt=e=>\"bigint\"==typeof e&&Tt<=e;function Zt(e,t,n){return Gt(e)&&Gt(t)&&Gt(n)&&t<=e&&e<n}Ot.bitMask=e=>(Dt<<BigInt(e-1))-Nt;const Yt=e=>new Uint8Array(e),Jt=e=>Uint8Array.from(e);const Xt={bigint:e=>\"bigint\"==typeof e,function:e=>\"function\"==typeof e,boolean:e=>\"boolean\"==typeof e,string:e=>\"string\"==typeof e,stringOrUint8Array:e=>\"string\"==typeof e||$t(e),isSafeInteger:e=>Number.isSafeInteger(e),array:e=>Array.isArray(e),field:(e,t)=>t.Fp.isValid(e),hash:e=>\"function\"==typeof e&&Number.isSafeInteger(e.outputLen)};Ot.notImplemented=()=>{throw new Error(\"not implemented\")},Object.defineProperty(Lt,\"__esModule\",{value:!0}),Lt.isNegativeLE=void 0,Lt.mod=cn,Lt.pow=ln,Lt.pow2=function(e,t,n){let r=e;for(;t-- >en;)r*=r,r%=n;return r},Lt.invert=dn,Lt.tonelliShanks=un,Lt.FpSqrt=hn,Lt.validateField=function(e){const t=fn.reduce(((e,t)=>(e[t]=\"function\",e)),{ORDER:\"bigint\",MASK:\"bigint\",BYTES:\"isSafeInteger\",BITS:\"isSafeInteger\"});return(0,Qt.validateObject)(e,t)},Lt.FpPow=pn,Lt.FpInvertBatch=gn,Lt.FpDiv=function(e,t,n){return e.mul(t,\"bigint\"==typeof n?dn(n,e.ORDER):e.inv(n))},Lt.FpLegendre=mn,Lt.FpIsSquare=function(e){const t=mn(e.ORDER);return n=>{const r=t(e,n);return e.eql(r,e.ZERO)||e.eql(r,e.ONE)}},Lt.nLength=yn,Lt.Field=function(e,t,n=!1,r={}){if(e<=en)throw new Error(`Expected Field ORDER > 0, got ${e}`);const{nBitLength:i,nByteLength:o}=yn(e,t);if(o>2048)throw new Error(\"Field lengths over 2048 bytes are not supported\");const s=hn(e),a=Object.freeze({ORDER:e,BITS:i,BYTES:o,MASK:(0,Qt.bitMask)(i),ZERO:en,ONE:tn,create:t=>cn(t,e),isValid:t=>{if(\"bigint\"!=typeof t)throw new Error(\"Invalid field element: expected bigint, got \"+typeof t);return en<=t&&t<e},is0:e=>e===en,isOdd:e=>(e&tn)===tn,neg:t=>cn(-t,e),eql:(e,t)=>e===t,sqr:t=>cn(t*t,e),add:(t,n)=>cn(t+n,e),sub:(t,n)=>cn(t-n,e),mul:(t,n)=>cn(t*n,e),pow:(e,t)=>pn(a,e,t),div:(t,n)=>cn(t*dn(n,e),e),sqrN:e=>e*e,addN:(e,t)=>e+t,subN:(e,t)=>e-t,mulN:(e,t)=>e*t,inv:t=>dn(t,e),sqrt:r.sqrt||(e=>s(a,e)),invertBatch:e=>gn(a,e),cmov:(e,t,n)=>n?t:e,toBytes:e=>n?(0,Qt.numberToBytesLE)(e,o):(0,Qt.numberToBytesBE)(e,o),fromBytes:e=>{if(e.length!==o)throw new Error(`Fp.fromBytes: expected ${o}, got ${e.length}`);return n?(0,Qt.bytesToNumberLE)(e):(0,Qt.bytesToNumberBE)(e)}});return Object.freeze(a)},Lt.FpSqrtOdd=function(e,t){if(!e.isOdd)throw new Error(\"Field doesn't have isOdd\");const n=e.sqrt(t);return e.isOdd(n)?n:e.neg(n)},Lt.FpSqrtEven=function(e,t){if(!e.isOdd)throw new Error(\"Field doesn't have isOdd\");const n=e.sqrt(t);return e.isOdd(n)?e.neg(n):n},Lt.hashToPrivateScalar=function(e,t,n=!1){e=(0,Qt.ensureBytes)(\"privateHash\",e);const r=e.length,i=yn(t).nByteLength+8;if(i<24||r<i||r>1024)throw new Error(`hashToPrivateScalar: expected ${i}-1024 bytes of input, got ${r}`);const o=n?(0,Qt.bytesToNumberLE)(e):(0,Qt.bytesToNumberBE)(e);return cn(o,t-tn)+tn},Lt.getFieldBytesLength=vn,Lt.getMinHashLength=bn,Lt.mapHashToField=function(e,t,n=!1){const r=e.length,i=vn(t),o=bn(t);if(r<16||r<o||r>1024)throw new Error(`expected ${o}-1024 bytes of input, got ${r}`);const s=cn(n?(0,Qt.bytesToNumberBE)(e):(0,Qt.bytesToNumberLE)(e),t-tn)+tn;return n?(0,Qt.numberToBytesLE)(s,i):(0,Qt.numberToBytesBE)(s,i)};const Qt=Ot,en=BigInt(0),tn=BigInt(1),nn=BigInt(2),rn=BigInt(3),on=BigInt(4),sn=BigInt(5),an=BigInt(8);function cn(e,t){const n=e%t;return n>=en?n:t+n}function ln(e,t,n){if(n<=en||t<en)throw new Error(\"Expected power/modulo > 0\");if(n===tn)return en;let r=tn;for(;t>en;)t&tn&&(r=r*e%n),e=e*e%n,t>>=tn;return r}function dn(e,t){if(e===en||t<=en)throw new Error(`invert: expected positive integers, got n=${e} mod=${t}`);let n=cn(e,t),r=t,i=en,o=tn;for(;n!==en;){const e=r%n,t=i-o*(r/n);r=n,n=e,i=o,o=t}if(r!==tn)throw new Error(\"invert: does not exist\");return cn(i,t)}function un(e){const t=(e-tn)/nn;let n,r,i;for(n=e-tn,r=0;n%nn===en;n/=nn,r++);for(i=nn;i<e&&ln(i,t,e)!==e-tn;i++);if(1===r){const t=(e+tn)/on;return function(e,n){const r=e.pow(n,t);if(!e.eql(e.sqr(r),n))throw new Error(\"Cannot find square root\");return r}}const o=(n+tn)/nn;return function(e,s){if(e.pow(s,t)===e.neg(e.ONE))throw new Error(\"Cannot find square root\");let a=r,c=e.pow(e.mul(e.ONE,i),n),l=e.pow(s,o),d=e.pow(s,n);for(;!e.eql(d,e.ONE);){if(e.eql(d,e.ZERO))return e.ZERO;let t=1;for(let n=e.sqr(d);t<a&&!e.eql(n,e.ONE);t++)n=e.sqr(n);const n=e.pow(c,tn<<BigInt(a-t-1));c=e.sqr(n),l=e.mul(l,n),d=e.mul(d,c),a=t}return l}}function hn(e){if(e%on===rn){const t=(e+tn)/on;return function(e,n){const r=e.pow(n,t);if(!e.eql(e.sqr(r),n))throw new Error(\"Cannot find square root\");return r}}if(e%an===sn){const t=(e-sn)/an;return function(e,n){const r=e.mul(n,nn),i=e.pow(r,t),o=e.mul(n,i),s=e.mul(e.mul(o,nn),i),a=e.mul(o,e.sub(s,e.ONE));if(!e.eql(e.sqr(a),n))throw new Error(\"Cannot find square root\");return a}}return un(e)}BigInt(9),BigInt(16);Lt.isNegativeLE=(e,t)=>(cn(e,t)&tn)===tn;const fn=[\"create\",\"isValid\",\"is0\",\"neg\",\"inv\",\"sqrt\",\"sqr\",\"eql\",\"add\",\"sub\",\"mul\",\"pow\",\"div\",\"addN\",\"subN\",\"mulN\",\"sqrN\"];function pn(e,t,n){if(n<en)throw new Error(\"Expected power > 0\");if(n===en)return e.ONE;if(n===tn)return t;let r=e.ONE,i=t;for(;n>en;)n&tn&&(r=e.mul(r,i)),i=e.sqr(i),n>>=tn;return r}function gn(e,t){const n=new Array(t.length),r=t.reduce(((t,r,i)=>e.is0(r)?t:(n[i]=t,e.mul(t,r))),e.ONE),i=e.inv(r);return t.reduceRight(((t,r,i)=>e.is0(r)?t:(n[i]=e.mul(t,n[i]),e.mul(t,r))),i),n}function mn(e){const t=(e-tn)/nn;return(e,n)=>e.pow(n,t)}function yn(e,t){const n=void 0!==t?t:e.toString(2).length;return{nBitLength:n,nByteLength:Math.ceil(n/8)}}function vn(e){if(\"bigint\"!=typeof e)throw new Error(\"field order must be bigint\");const t=e.toString(2).length;return Math.ceil(t/8)}function bn(e){const t=vn(e);return t+Math.ceil(t/2)}Object.defineProperty(Pt,\"__esModule\",{value:!0}),Pt.wNAF=function(e,t){const n=(e,t)=>{const n=t.negate();return e?n:t},r=e=>{if(!Number.isSafeInteger(e)||e<=0||e>t)throw new Error(`Wrong window size=${e}, should be [1..${t}]`)},i=e=>{r(e);return{windows:Math.ceil(t/e)+1,windowSize:2**(e-1)}};return{constTimeNegate:n,unsafeLadder(t,n){let r=e.ZERO,i=t;for(;n>Cn;)n&Sn&&(r=r.add(i)),i=i.double(),n>>=Sn;return r},precomputeWindow(e,t){const{windows:n,windowSize:r}=i(t),o=[];let s=e,a=s;for(let e=0;e<n;e++){a=s,o.push(a);for(let e=1;e<r;e++)a=a.add(s),o.push(a);s=a.double()}return o},wNAF(t,r,o){const{windows:s,windowSize:a}=i(t);let c=e.ZERO,l=e.BASE;const d=BigInt(2**t-1),u=2**t,h=BigInt(t);for(let e=0;e<s;e++){const t=e*a;let i=Number(o&d);o>>=h,i>a&&(i-=u,o+=Sn);const s=t,f=t+Math.abs(i)-1,p=e%2!=0,g=i<0;0===i?l=l.add(n(p,r[s])):c=c.add(n(g,r[f]))}return{p:c,f:l}},wNAFCached(e,t,n){const r=kn.get(e)||1;let i=_n.get(e);return i||(i=this.precomputeWindow(e,r),1!==r&&_n.set(e,n(i))),this.wNAF(r,i,t)},setWindowSize(e,t){r(t),kn.set(e,t),_n.delete(e)}}},Pt.pippenger=function(e,t,n,r){if(!Array.isArray(n)||!Array.isArray(r)||r.length!==n.length)throw new Error(\"arrays of points and scalars must have equal length\");r.forEach(((e,n)=>{if(!t.isValid(e))throw new Error(`wrong scalar at index ${n}`)})),n.forEach(((t,n)=>{if(!(t instanceof e))throw new Error(`wrong point at index ${n}`)}));const i=(0,En.bitLen)(BigInt(n.length)),o=i>12?i-3:i>4?i-2:i?2:1,s=(1<<o)-1,a=new Array(s+1).fill(e.ZERO),c=Math.floor((t.BITS-1)/o)*o;let l=e.ZERO;for(let t=c;t>=0;t-=o){a.fill(e.ZERO);for(let e=0;e<r.length;e++){const i=r[e],o=Number(i>>BigInt(t)&BigInt(s));a[o]=a[o].add(n[e])}let i=e.ZERO;for(let t=a.length-1,n=e.ZERO;t>0;t--)n=n.add(a[t]),i=i.add(n);if(l=l.add(i),0!==t)for(let e=0;e<o;e++)l=l.double()}return l},Pt.validateBasic=function(e){return(0,wn.validateField)(e.Fp),(0,En.validateObject)(e,{n:\"bigint\",h:\"bigint\",Gx:\"field\",Gy:\"field\"},{nBitLength:\"isSafeInteger\",nByteLength:\"isSafeInteger\"}),Object.freeze({...(0,wn.nLength)(e.n,e.nBitLength),...e,p:e.Fp.ORDER})};const wn=Lt,En=Ot,Cn=BigInt(0),Sn=BigInt(1),_n=new WeakMap,kn=new WeakMap;Object.defineProperty(Rt,\"__esModule\",{value:!0}),Rt.twistedEdwards=function(e){const t=function(e){const t=(0,xn.validateBasic)(e);return An.validateObject(e,{hash:\"function\",a:\"bigint\",d:\"bigint\",randomBytes:\"function\"},{adjustScalarBytes:\"function\",domain:\"function\",uvRatio:\"function\",mapToCurve:\"function\"}),Object.freeze({...t})}(e),{Fp:n,n:r,prehash:i,hash:o,randomBytes:s,nByteLength:a,h:c}=t,l=Ln<<BigInt(8*a)-Pn,d=n.create,u=(0,Mn.Field)(t.n,t.nBitLength),h=t.uvRatio||((e,t)=>{try{return{isValid:!0,value:n.sqrt(e*n.inv(t))}}catch(e){return{isValid:!1,value:Rn}}}),f=t.adjustScalarBytes||(e=>e),p=t.domain||((e,t,n)=>{if((0,In.abool)(\"phflag\",n),t.length||n)throw new Error(\"Contexts/pre-hash are not supported\");return e});function g(e,t){An.aInRange(\"coordinate \"+e,t,Rn,l)}function m(e){if(!(e instanceof b))throw new Error(\"ExtendedPoint expected\")}const y=(0,In.memoized)(((e,t)=>{const{ex:r,ey:i,ez:o}=e,s=e.is0();null==t&&(t=s?On:n.inv(o));const a=d(r*t),c=d(i*t),l=d(o*t);if(s)return{x:Rn,y:Pn};if(l!==Pn)throw new Error(\"invZ was invalid\");return{x:a,y:c}})),v=(0,In.memoized)((e=>{const{a:n,d:r}=t;if(e.is0())throw new Error(\"bad point: ZERO\");const{ex:i,ey:o,ez:s,et:a}=e,c=d(i*i),l=d(o*o),u=d(s*s),h=d(u*u),f=d(c*n);if(d(u*d(f+l))!==d(h+d(r*d(c*l))))throw new Error(\"bad point: equation left != right (1)\");if(d(i*o)!==d(s*a))throw new Error(\"bad point: equation left != right (2)\");return!0}));class b{constructor(e,t,n,r){this.ex=e,this.ey=t,this.ez=n,this.et=r,g(\"x\",e),g(\"y\",t),g(\"z\",n),g(\"t\",r),Object.freeze(this)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(e){if(e instanceof b)throw new Error(\"extended point not allowed\");const{x:t,y:n}=e||{};return g(\"x\",t),g(\"y\",n),new b(t,n,Pn,d(t*n))}static normalizeZ(e){const t=n.invertBatch(e.map((e=>e.ez)));return e.map(((e,n)=>e.toAffine(t[n]))).map(b.fromAffine)}static msm(e,t){return(0,xn.pippenger)(b,u,e,t)}_setWindowSize(e){C.setWindowSize(this,e)}assertValidity(){v(this)}equals(e){m(e);const{ex:t,ey:n,ez:r}=this,{ex:i,ey:o,ez:s}=e,a=d(t*s),c=d(i*r),l=d(n*s),u=d(o*r);return a===c&&l===u}is0(){return this.equals(b.ZERO)}negate(){return new b(d(-this.ex),this.ey,this.ez,d(-this.et))}double(){const{a:e}=t,{ex:n,ey:r,ez:i}=this,o=d(n*n),s=d(r*r),a=d(Ln*d(i*i)),c=d(e*o),l=n+r,u=d(d(l*l)-o-s),h=c+s,f=h-a,p=c-s,g=d(u*f),m=d(h*p),y=d(u*p),v=d(f*h);return new b(g,m,v,y)}add(e){m(e);const{a:n,d:r}=t,{ex:i,ey:o,ez:s,et:a}=this,{ex:c,ey:l,ez:u,et:h}=e;if(n===BigInt(-1)){const e=d((o-i)*(l+c)),t=d((o+i)*(l-c)),n=d(t-e);if(n===Rn)return this.double();const r=d(s*Ln*h),f=d(a*Ln*u),p=f+r,g=t+e,m=f-r,y=d(p*n),v=d(g*m),w=d(p*m),E=d(n*g);return new b(y,v,E,w)}const f=d(i*c),p=d(o*l),g=d(a*r*h),y=d(s*u),v=d((i+o)*(c+l)-f-p),w=y-g,E=y+g,C=d(p-n*f),S=d(v*w),_=d(E*C),k=d(v*C),x=d(w*E);return new b(S,_,x,k)}subtract(e){return this.add(e.negate())}wNAF(e){return C.wNAFCached(this,e,b.normalizeZ)}multiply(e){const t=e;An.aInRange(\"scalar\",t,Pn,r);const{p:n,f:i}=this.wNAF(t);return b.normalizeZ([n,i])[0]}multiplyUnsafe(e){const t=e;return An.aInRange(\"scalar\",t,Rn,r),t===Rn?E:this.equals(E)||t===Pn?this:this.equals(w)?this.wNAF(t).p:C.unsafeLadder(this,t)}isSmallOrder(){return this.multiplyUnsafe(c).is0()}isTorsionFree(){return C.unsafeLadder(this,r).is0()}toAffine(e){return y(this,e)}clearCofactor(){const{h:e}=t;return e===Pn?this:this.multiplyUnsafe(e)}static fromHex(e,r=!1){const{d:i,a:o}=t,s=n.BYTES;e=(0,In.ensureBytes)(\"pointHex\",e,s),(0,In.abool)(\"zip215\",r);const a=e.slice(),c=e[s-1];a[s-1]=-129&c;const u=An.bytesToNumberLE(a),f=r?l:n.ORDER;An.aInRange(\"pointHex.y\",u,Rn,f);const p=d(u*u),g=d(p-Pn),m=d(i*p-o);let{isValid:y,value:v}=h(g,m);if(!y)throw new Error(\"Point.fromHex: invalid y coordinate\");const w=(v&Pn)===Pn,E=0!=(128&c);if(!r&&v===Rn&&E)throw new Error(\"Point.fromHex: x=0 and x_0=1\");return E!==w&&(v=d(-v)),b.fromAffine({x:v,y:u})}static fromPrivateKey(e){return k(e).point}toRawBytes(){const{x:e,y:t}=this.toAffine(),r=An.numberToBytesLE(t,n.BYTES);return r[r.length-1]|=e&Pn?128:0,r}toHex(){return An.bytesToHex(this.toRawBytes())}}b.BASE=new b(t.Gx,t.Gy,Pn,d(t.Gx*t.Gy)),b.ZERO=new b(Rn,Pn,Pn,Rn);const{BASE:w,ZERO:E}=b,C=(0,xn.wNAF)(b,8*a);function S(e){return(0,Mn.mod)(e,r)}function _(e){return S(An.bytesToNumberLE(e))}function k(e){const t=a;e=(0,In.ensureBytes)(\"private key\",e,t);const n=(0,In.ensureBytes)(\"hashed private key\",o(e),2*t),r=f(n.slice(0,t)),i=n.slice(t,2*t),s=_(r),c=w.multiply(s),l=c.toRawBytes();return{head:r,prefix:i,scalar:s,point:c,pointBytes:l}}function x(e=new Uint8Array,...t){const n=An.concatBytes(...t);return _(o(p(n,(0,In.ensureBytes)(\"context\",e),!!i)))}const M=Tn;w._setWindowSize(8);const A={getExtendedPublicKey:k,randomPrivateKey:()=>s(n.BYTES),precompute:(e=8,t=b.BASE)=>(t._setWindowSize(e),t.multiply(BigInt(3)),t)};return{CURVE:t,getPublicKey:function(e){return k(e).pointBytes},sign:function(e,t,o={}){e=(0,In.ensureBytes)(\"message\",e),i&&(e=i(e));const{prefix:s,scalar:c,pointBytes:l}=k(t),d=x(o.context,s,e),u=w.multiply(d).toRawBytes(),h=S(d+x(o.context,u,l,e)*c);An.aInRange(\"signature.s\",h,Rn,r);const f=An.concatBytes(u,An.numberToBytesLE(h,n.BYTES));return(0,In.ensureBytes)(\"result\",f,2*a)},verify:function(e,t,r,o=M){const{context:s,zip215:a}=o,c=n.BYTES;e=(0,In.ensureBytes)(\"signature\",e,2*c),t=(0,In.ensureBytes)(\"message\",t),void 0!==a&&(0,In.abool)(\"zip215\",a),i&&(t=i(t));const l=An.bytesToNumberLE(e.slice(c,2*c));let d,u,h;try{d=b.fromHex(r,a),u=b.fromHex(e.slice(0,c),a),h=w.multiplyUnsafe(l)}catch(e){return!1}if(!a&&d.isSmallOrder())return!1;const f=x(s,u.toRawBytes(),d.toRawBytes(),t);return u.add(d.multiplyUnsafe(f)).subtract(h).clearCofactor().equals(b.ZERO)},ExtendedPoint:b,utils:A}};const xn=Pt,Mn=Lt,An=Ot,In=Ot,Rn=BigInt(0),Pn=BigInt(1),Ln=BigInt(2),On=BigInt(8),Tn={zip215:!0};var Nn={};Object.defineProperty(Nn,\"__esModule\",{value:!0}),Nn.expand_message_xmd=Hn,Nn.expand_message_xof=Fn,Nn.hash_to_field=zn,Nn.isogenyMap=function(e,t){const n=t.map((e=>Array.from(e).reverse()));return(t,r)=>{const[i,o,s,a]=n.map((n=>n.reduce(((n,r)=>e.add(e.mul(n,t),r)))));return t=e.div(i,o),r=e.mul(r,e.div(s,a)),{x:t,y:r}}},Nn.createHasher=function(e,t,n){if(\"function\"!=typeof t)throw new Error(\"mapToCurve() must be defined\");return{hashToCurve(r,i){const o=zn(r,2,{...n,DST:n.DST,...i}),s=e.fromAffine(t(o[0])),a=e.fromAffine(t(o[1])),c=s.add(a).clearCofactor();return c.assertValidity(),c},encodeToCurve(r,i){const o=zn(r,1,{...n,DST:n.encodeDST,...i}),s=e.fromAffine(t(o[0])).clearCofactor();return s.assertValidity(),s},mapToCurve(n){if(!Array.isArray(n))throw new Error(\"mapToCurve: expected array of bigints\");for(const e of n)if(\"bigint\"!=typeof e)throw new Error(`mapToCurve: expected array of bigints, got ${e} in array`);const r=e.fromAffine(t(n)).clearCofactor();return r.assertValidity(),r}}};const Dn=Lt,$n=Ot,Bn=$n.bytesToNumberBE;function Kn(e,t){if(Un(e),Un(t),e<0||e>=1<<8*t)throw new Error(`bad I2OSP call: value=${e} length=${t}`);const n=Array.from({length:t}).fill(0);for(let r=t-1;r>=0;r--)n[r]=255&e,e>>>=8;return new Uint8Array(n)}function jn(e,t){const n=new Uint8Array(e.length);for(let r=0;r<e.length;r++)n[r]=e[r]^t[r];return n}function Un(e){if(!Number.isSafeInteger(e))throw new Error(\"number expected\")}function Hn(e,t,n,r){(0,$n.abytes)(e),(0,$n.abytes)(t),Un(n),t.length>255&&(t=r((0,$n.concatBytes)((0,$n.utf8ToBytes)(\"H2C-OVERSIZE-DST-\"),t)));const{outputLen:i,blockLen:o}=r,s=Math.ceil(n/i);if(n>65535||s>255)throw new Error(\"expand_message_xmd: invalid lenInBytes\");const a=(0,$n.concatBytes)(t,Kn(t.length,1)),c=Kn(0,o),l=Kn(n,2),d=new Array(s),u=r((0,$n.concatBytes)(c,e,l,Kn(0,1),a));d[0]=r((0,$n.concatBytes)(u,Kn(1,1),a));for(let e=1;e<=s;e++){const t=[jn(u,d[e-1]),Kn(e+1,1),a];d[e]=r((0,$n.concatBytes)(...t))}return(0,$n.concatBytes)(...d).slice(0,n)}function Fn(e,t,n,r,i){if((0,$n.abytes)(e),(0,$n.abytes)(t),Un(n),t.length>255){const e=Math.ceil(2*r/8);t=i.create({dkLen:e}).update((0,$n.utf8ToBytes)(\"H2C-OVERSIZE-DST-\")).update(t).digest()}if(n>65535||t.length>255)throw new Error(\"expand_message_xof: invalid lenInBytes\");return i.create({dkLen:n}).update(e).update(Kn(n,2)).update(t).update(Kn(t.length,1)).digest()}function zn(e,t,n){(0,$n.validateObject)(n,{DST:\"stringOrUint8Array\",p:\"bigint\",m:\"isSafeInteger\",k:\"isSafeInteger\",hash:\"hash\"});const{p:r,k:i,m:o,hash:s,expand:a,DST:c}=n;(0,$n.abytes)(e),Un(t);const l=\"string\"==typeof c?(0,$n.utf8ToBytes)(c):c,d=r.toString(2).length,u=Math.ceil((d+i)/8),h=t*o*u;let f;if(\"xmd\"===a)f=Hn(e,l,h,s);else if(\"xof\"===a)f=Fn(e,l,h,i,s);else{if(\"_internal_pass\"!==a)throw new Error('expand must be \"xmd\" or \"xof\"');f=e}const p=new Array(t);for(let e=0;e<t;e++){const t=new Array(o);for(let n=0;n<o;n++){const i=u*(n+e*o),s=f.subarray(i,i+u);t[n]=(0,Dn.mod)(Bn(s),r)}p[e]=t}return p}var qn={};Object.defineProperty(qn,\"__esModule\",{value:!0}),qn.montgomery=function(e){const t=function(e){return(0,Wn.validateObject)(e,{a:\"bigint\"},{montgomeryBits:\"isSafeInteger\",nByteLength:\"isSafeInteger\",adjustScalarBytes:\"function\",domain:\"function\",powPminus2:\"function\",Gu:\"bigint\"}),Object.freeze({...e})}(e),{P:n}=t,r=e=>(0,Vn.mod)(e,n),i=t.montgomeryBits,o=Math.ceil(i/8),s=t.nByteLength,a=t.adjustScalarBytes||(e=>e),c=t.powPminus2||(e=>(0,Vn.pow)(e,n-BigInt(2),n));function l(e,t,n){const i=r(e*(t-n));return[t=r(t-i),n=r(n+i)]}const d=(t.a-BigInt(2))/BigInt(4);function u(e){return(0,Wn.numberToBytesLE)(r(e),o)}function h(e,t){const h=function(e){const t=(0,Wn.ensureBytes)(\"u coordinate\",e,o);return 32===s&&(t[31]&=127),(0,Wn.bytesToNumberLE)(t)}(t),f=function(e){const t=(0,Wn.ensureBytes)(\"scalar\",e),n=t.length;if(n!==o&&n!==s)throw new Error(`Expected ${o} or ${s} bytes, got ${n}`);return(0,Wn.bytesToNumberLE)(a(t))}(e),p=function(e,t){(0,Wn.aInRange)(\"u\",e,Gn,n),(0,Wn.aInRange)(\"scalar\",t,Gn,n);const o=t,s=e;let a,u=Zn,h=Gn,f=e,p=Zn,g=Gn;for(let e=BigInt(i-1);e>=Gn;e--){const t=o>>e&Zn;g^=t,a=l(g,u,f),u=a[0],f=a[1],a=l(g,h,p),h=a[0],p=a[1],g=t;const n=u+h,i=r(n*n),c=u-h,m=r(c*c),y=i-m,v=f+p,b=r((f-p)*n),w=r(v*c),E=b+w,C=b-w;f=r(E*E),p=r(s*r(C*C)),u=r(i*m),h=r(y*(i+r(d*y)))}a=l(g,u,f),u=a[0],f=a[1],a=l(g,h,p),h=a[0],p=a[1];const m=c(h);return r(u*m)}(h,f);if(p===Gn)throw new Error(\"Invalid private or public key received\");return u(p)}const f=u(t.Gu);function p(e){return h(e,f)}return{scalarMult:h,scalarMultBase:p,getSharedSecret:(e,t)=>h(e,t),getPublicKey:e=>p(e),utils:{randomPrivateKey:()=>t.randomBytes(t.nByteLength)},GuBytes:f}};const Vn=Lt,Wn=Ot,Gn=BigInt(0),Zn=BigInt(1);!function(e){Object.defineProperty(e,\"__esModule\",{value:!0}),e.hash_to_ristretto255=e.hashToRistretto255=e.RistrettoPoint=e.encodeToCurve=e.hashToCurve=e.edwardsToMontgomery=e.x25519=e.ed25519ph=e.ed25519ctx=e.ed25519=e.ED25519_TORSION_SUBGROUP=void 0,e.edwardsToMontgomeryPub=C,e.edwardsToMontgomeryPriv=function(e){const t=w.hash(e.subarray(0,32));return w.adjustScalarBytes(t).subarray(0,32)};const t=Le,n=Fe,r=Rt,i=Nn,o=Lt,s=qn,a=Ot,c=BigInt(\"57896044618658097711785492504343953926634992332820282019728792003956564819949\"),l=BigInt(\"19681161376707505956807079304988542015446066515923890162744021073123829784752\"),d=BigInt(0),u=BigInt(1),h=BigInt(2),f=BigInt(3),p=BigInt(5),g=BigInt(8);function m(e){const t=BigInt(10),n=BigInt(20),r=BigInt(40),i=BigInt(80),s=c,a=e*e%s*e%s,l=(0,o.pow2)(a,h,s)*a%s,d=(0,o.pow2)(l,u,s)*e%s,f=(0,o.pow2)(d,p,s)*d%s,g=(0,o.pow2)(f,t,s)*f%s,m=(0,o.pow2)(g,n,s)*g%s,y=(0,o.pow2)(m,r,s)*m%s,v=(0,o.pow2)(y,i,s)*y%s,b=(0,o.pow2)(v,i,s)*y%s,w=(0,o.pow2)(b,t,s)*f%s;return{pow_p_5_8:(0,o.pow2)(w,h,s)*e%s,b2:a}}function y(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}function v(e,t){const n=c,r=(0,o.mod)(t*t*t,n),i=m(e*(0,o.mod)(r*r*t,n)).pow_p_5_8;let s=(0,o.mod)(e*r*i,n);const a=(0,o.mod)(t*s*s,n),d=s,u=(0,o.mod)(s*l,n),h=a===e,f=a===(0,o.mod)(-e,n),p=a===(0,o.mod)(-e*l,n);return h&&(s=d),(f||p)&&(s=u),(0,o.isNegativeLE)(s,n)&&(s=(0,o.mod)(-s,n)),{isValid:h||f,value:s}}e.ED25519_TORSION_SUBGROUP=[\"0100000000000000000000000000000000000000000000000000000000000000\",\"c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac037a\",\"0000000000000000000000000000000000000000000000000000000000000080\",\"26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc05\",\"ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\",\"26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc85\",\"0000000000000000000000000000000000000000000000000000000000000000\",\"c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac03fa\"];const b=(()=>(0,o.Field)(c,void 0,!0))(),w=(()=>({a:BigInt(-1),d:BigInt(\"37095705934669439343138083508754565189542113879843219016388785533085940283555\"),Fp:b,n:BigInt(\"7237005577332262213973186563042994240857116359379907606001950938285454250989\"),h:g,Gx:BigInt(\"15112221349535400772501151409588531511454012693041857206046113283949847762202\"),Gy:BigInt(\"46316835694926478169428394003475163141307993866256225615783033603165251855960\"),hash:t.sha512,randomBytes:n.randomBytes,adjustScalarBytes:y,uvRatio:v}))();function E(e,t,r){if(t.length>255)throw new Error(\"Context is too big\");return(0,n.concatBytes)((0,n.utf8ToBytes)(\"SigEd25519 no Ed25519 collisions\"),new Uint8Array([r?1:0,t.length]),t,e)}function C(t){const{y:n}=e.ed25519.ExtendedPoint.fromHex(t),r=BigInt(1);return b.toBytes(b.create((r+n)*b.inv(r-n)))}e.ed25519=(0,r.twistedEdwards)(w),e.ed25519ctx=(0,r.twistedEdwards)({...w,domain:E}),e.ed25519ph=(0,r.twistedEdwards)(Object.assign({},w,{domain:E,prehash:t.sha512})),e.x25519=(0,s.montgomery)({P:c,a:BigInt(486662),montgomeryBits:255,nByteLength:32,Gu:BigInt(9),powPminus2:e=>{const t=c,{pow_p_5_8:n,b2:r}=m(e);return(0,o.mod)((0,o.pow2)(n,f,t)*r,t)},adjustScalarBytes:y,randomBytes:n.randomBytes}),e.edwardsToMontgomery=C;const S=(()=>(b.ORDER+f)/g)(),_=(()=>b.pow(h,S))(),k=(()=>b.sqrt(b.neg(b.ONE)))();const x=(()=>(0,o.FpSqrtEven)(b,b.neg(BigInt(486664))))();function M(e){const{xMn:t,xMd:n,yMn:r,yMd:i}=function(e){const t=(b.ORDER-p)/g,n=BigInt(486662);let r=b.sqr(e);r=b.mul(r,h);let i=b.add(r,b.ONE),o=b.neg(n),s=b.sqr(i),a=b.mul(s,i),c=b.mul(r,n);c=b.mul(c,o),c=b.add(c,s),c=b.mul(c,o);let l=b.sqr(a);s=b.sqr(l),l=b.mul(l,a),l=b.mul(l,c),s=b.mul(s,l);let d=b.pow(s,t);d=b.mul(d,l);let f=b.mul(d,k);s=b.sqr(d),s=b.mul(s,a);let m=b.eql(s,c),y=b.cmov(f,d,m),v=b.mul(o,r),w=b.mul(d,e);w=b.mul(w,_);let E=b.mul(w,k),C=b.mul(c,r);s=b.sqr(w),s=b.mul(s,a);let S=b.eql(s,C),x=b.cmov(E,w,S);s=b.sqr(y),s=b.mul(s,a);let M=b.eql(s,c),A=b.cmov(v,o,M),I=b.cmov(x,y,M),R=b.isOdd(I);return I=b.cmov(I,b.neg(I),M!==R),{xMn:A,xMd:i,yMn:I,yMd:u}}(e);let o=b.mul(t,i);o=b.mul(o,x);let s=b.mul(n,r),a=b.sub(t,n),c=b.add(t,n),l=b.mul(s,c),d=b.eql(l,b.ZERO);o=b.cmov(o,b.ZERO,d),s=b.cmov(s,b.ONE,d),a=b.cmov(a,b.ONE,d),c=b.cmov(c,b.ONE,d);const f=b.invertBatch([s,c]);return{x:b.mul(o,f[0]),y:b.mul(a,f[1])}}const A=(()=>(0,i.createHasher)(e.ed25519.ExtendedPoint,(e=>M(e[0])),{DST:\"edwards25519_XMD:SHA-512_ELL2_RO_\",encodeDST:\"edwards25519_XMD:SHA-512_ELL2_NU_\",p:b.ORDER,m:1,k:128,expand:\"xmd\",hash:t.sha512}))();function I(e){if(!(e instanceof K))throw new Error(\"RistrettoPoint expected\")}e.hashToCurve=A.hashToCurve,e.encodeToCurve=A.encodeToCurve;const R=l,P=BigInt(\"25063068953384623474111414158702152701244531502492656460079210482610430750235\"),L=BigInt(\"54469307008909316920995813868745141605393597292927456921205312896311721017578\"),O=BigInt(\"1159843021668779879193775521855586647937357759715417654439879720876111806838\"),T=BigInt(\"40440834346308536858101042469323190826248399146238708352240133220865137265952\"),N=e=>v(u,e),D=BigInt(\"0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\"),$=t=>e.ed25519.CURVE.Fp.create((0,a.bytesToNumberLE)(t)&D);function B(t){const{d:n}=e.ed25519.CURVE,r=e.ed25519.CURVE.Fp.ORDER,i=e.ed25519.CURVE.Fp.create,s=i(R*t*t),a=i((s+u)*O);let c=BigInt(-1);const l=i((c-n*s)*i(s+n));let{isValid:d,value:h}=v(a,l),f=i(h*t);(0,o.isNegativeLE)(f,r)||(f=i(-f)),d||(h=f),d||(c=s);const p=i(c*(s-u)*T-l),g=h*h,m=i((h+h)*l),y=i(p*P),b=i(u-g),w=i(u+g);return new e.ed25519.ExtendedPoint(i(m*w),i(b*y),i(y*w),i(m*b))}class K{constructor(e){this.ep=e}static fromAffine(t){return new K(e.ed25519.ExtendedPoint.fromAffine(t))}static hashToCurve(e){e=(0,a.ensureBytes)(\"ristrettoHash\",e,64);const t=B($(e.slice(0,32))),n=B($(e.slice(32,64)));return new K(t.add(n))}static fromHex(t){t=(0,a.ensureBytes)(\"ristrettoHex\",t,32);const{a:n,d:r}=e.ed25519.CURVE,i=e.ed25519.CURVE.Fp.ORDER,s=e.ed25519.CURVE.Fp.create,c=\"RistrettoPoint.fromHex: the hex is not valid encoding of RistrettoPoint\",l=$(t);if(!(0,a.equalBytes)((0,a.numberToBytesLE)(l,32),t)||(0,o.isNegativeLE)(l,i))throw new Error(c);const h=s(l*l),f=s(u+n*h),p=s(u-n*h),g=s(f*f),m=s(p*p),y=s(n*r*g-m),{isValid:v,value:b}=N(s(y*m)),w=s(b*p),E=s(b*w*y);let C=s((l+l)*w);(0,o.isNegativeLE)(C,i)&&(C=s(-C));const S=s(f*E),_=s(C*S);if(!v||(0,o.isNegativeLE)(_,i)||S===d)throw new Error(c);return new K(new e.ed25519.ExtendedPoint(C,S,u,_))}toRawBytes(){let{ex:t,ey:n,ez:r,et:i}=this.ep;const s=e.ed25519.CURVE.Fp.ORDER,c=e.ed25519.CURVE.Fp.create,l=c(c(r+n)*c(r-n)),d=c(t*n),u=c(d*d),{value:h}=N(c(l*u)),f=c(h*l),p=c(h*d),g=c(f*p*i);let m;if((0,o.isNegativeLE)(i*g,s)){let e=c(n*R),r=c(t*R);t=e,n=r,m=c(f*L)}else m=p;(0,o.isNegativeLE)(t*g,s)&&(n=c(-n));let y=c((r-n)*m);return(0,o.isNegativeLE)(y,s)&&(y=c(-y)),(0,a.numberToBytesLE)(y,32)}toHex(){return(0,a.bytesToHex)(this.toRawBytes())}toString(){return this.toHex()}equals(t){I(t);const{ex:n,ey:r}=this.ep,{ex:i,ey:o}=t.ep,s=e.ed25519.CURVE.Fp.create,a=s(n*o)===s(r*i),c=s(r*o)===s(n*i);return a||c}add(e){return I(e),new K(this.ep.add(e.ep))}subtract(e){return I(e),new K(this.ep.subtract(e.ep))}multiply(e){return new K(this.ep.multiply(e))}multiplyUnsafe(e){return new K(this.ep.multiplyUnsafe(e))}double(){return new K(this.ep.double())}negate(){return new K(this.ep.negate())}}e.RistrettoPoint=(K.BASE||(K.BASE=new K(e.ed25519.ExtendedPoint.BASE)),K.ZERO||(K.ZERO=new K(e.ed25519.ExtendedPoint.ZERO)),K);e.hashToRistretto255=(e,r)=>{const o=r.DST,s=\"string\"==typeof o?(0,n.utf8ToBytes)(o):o,a=(0,i.expand_message_xmd)(e,s,64,t.sha512);return K.hashToCurve(a)},e.hash_to_ristretto255=e.hashToRistretto255}(Pe);var Yn={},Jn={};Object.defineProperty(Jn,\"__esModule\",{value:!0}),Jn.sha224=Jn.sha256=Jn.SHA256=void 0;const Xn=Oe,Qn=Fe,er=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),tr=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),nr=new Uint32Array(64);class rr extends Xn.HashMD{constructor(){super(64,32,8,!1),this.A=0|tr[0],this.B=0|tr[1],this.C=0|tr[2],this.D=0|tr[3],this.E=0|tr[4],this.F=0|tr[5],this.G=0|tr[6],this.H=0|tr[7]}get(){const{A:e,B:t,C:n,D:r,E:i,F:o,G:s,H:a}=this;return[e,t,n,r,i,o,s,a]}set(e,t,n,r,i,o,s,a){this.A=0|e,this.B=0|t,this.C=0|n,this.D=0|r,this.E=0|i,this.F=0|o,this.G=0|s,this.H=0|a}process(e,t){for(let n=0;n<16;n++,t+=4)nr[n]=e.getUint32(t,!1);for(let e=16;e<64;e++){const t=nr[e-15],n=nr[e-2],r=(0,Qn.rotr)(t,7)^(0,Qn.rotr)(t,18)^t>>>3,i=(0,Qn.rotr)(n,17)^(0,Qn.rotr)(n,19)^n>>>10;nr[e]=i+nr[e-7]+r+nr[e-16]|0}let{A:n,B:r,C:i,D:o,E:s,F:a,G:c,H:l}=this;for(let e=0;e<64;e++){const t=l+((0,Qn.rotr)(s,6)^(0,Qn.rotr)(s,11)^(0,Qn.rotr)(s,25))+(0,Xn.Chi)(s,a,c)+er[e]+nr[e]|0,d=((0,Qn.rotr)(n,2)^(0,Qn.rotr)(n,13)^(0,Qn.rotr)(n,22))+(0,Xn.Maj)(n,r,i)|0;l=c,c=a,a=s,s=o+t|0,o=i,i=r,r=n,n=t+d|0}n=n+this.A|0,r=r+this.B|0,i=i+this.C|0,o=o+this.D|0,s=s+this.E|0,a=a+this.F|0,c=c+this.G|0,l=l+this.H|0,this.set(n,r,i,o,s,a,c,l)}roundClean(){nr.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}Jn.SHA256=rr;class ir extends rr{constructor(){super(),this.A=-1056596264,this.B=914150663,this.C=812702999,this.D=-150054599,this.E=-4191439,this.F=1750603025,this.G=1694076839,this.H=-1090891868,this.outputLen=28}}Jn.sha256=(0,Qn.wrapConstructor)((()=>new rr)),Jn.sha224=(0,Qn.wrapConstructor)((()=>new ir));var or={},sr={};!function(e){Object.defineProperty(e,\"__esModule\",{value:!0}),e.hmac=e.HMAC=void 0;const t=Te,n=Fe;class r extends n.Hash{constructor(e,r){super(),this.finished=!1,this.destroyed=!1,(0,t.hash)(e);const i=(0,n.toBytes)(r);if(this.iHash=e.create(),\"function\"!=typeof this.iHash.update)throw new Error(\"Expected instance of class which extends utils.Hash\");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const o=this.blockLen,s=new Uint8Array(o);s.set(i.length>o?e.create().update(i).digest():i);for(let e=0;e<s.length;e++)s[e]^=54;this.iHash.update(s),this.oHash=e.create();for(let e=0;e<s.length;e++)s[e]^=106;this.oHash.update(s),s.fill(0)}update(e){return(0,t.exists)(this),this.iHash.update(e),this}digestInto(e){(0,t.exists)(this),(0,t.bytes)(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){const e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||(e=Object.create(Object.getPrototypeOf(this),{}));const{oHash:t,iHash:n,finished:r,destroyed:i,blockLen:o,outputLen:s}=this;return e.finished=r,e.destroyed=i,e.blockLen=o,e.outputLen=s,e.oHash=t._cloneInto(e.oHash),e.iHash=n._cloneInto(e.iHash),e}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}e.HMAC=r;e.hmac=(e,t,n)=>new r(e,t).update(n).digest(),e.hmac.create=(e,t)=>new r(e,t)}(sr);var ar={};!function(e){Object.defineProperty(e,\"__esModule\",{value:!0}),e.DER=void 0,e.weierstrassPoints=f,e.weierstrass=function(s){const a=function(e){const n=(0,t.validateBasic)(e);return r.validateObject(n,{hash:\"hash\",hmac:\"function\",randomBytes:\"function\"},{bits2int:\"function\",bits2int_modN:\"function\",lowS:\"boolean\"}),Object.freeze({lowS:!0,...n})}(s),{Fp:d,n:u}=a,h=d.BYTES+1,p=2*d.BYTES+1;function g(e){return n.mod(e,u)}function m(e){return n.invert(e,u)}const{ProjectivePoint:y,normPrivateKeyToScalar:v,weierstrassEquation:b,isWithinCurveOrder:w}=f({...a,toBytes(e,t,n){const o=t.toAffine(),s=d.toBytes(o.x),a=r.concatBytes;return(0,i.abool)(\"isCompressed\",n),n?a(Uint8Array.from([t.hasEvenY()?2:3]),s):a(Uint8Array.from([4]),s,d.toBytes(o.y))},fromBytes(e){const t=e.length,n=e[0],i=e.subarray(1);if(t!==h||2!==n&&3!==n){if(t===p&&4===n){return{x:d.fromBytes(i.subarray(0,d.BYTES)),y:d.fromBytes(i.subarray(d.BYTES,2*d.BYTES))}}throw new Error(`Point of length ${t} was invalid. Expected ${h} compressed bytes or ${p} uncompressed bytes`)}{const e=r.bytesToNumberBE(i);if(!r.inRange(e,l,d.ORDER))throw new Error(\"Point is not on curve\");const t=b(e);let o;try{o=d.sqrt(t)}catch(e){const t=e instanceof Error?\": \"+e.message:\"\";throw new Error(\"Point is not on curve\"+t)}return 1==(1&n)!==((o&l)===l)&&(o=d.neg(o)),{x:e,y:o}}}}),E=e=>r.bytesToHex(r.numberToBytesBE(e,a.nByteLength));function C(e){return e>u>>l}const S=(e,t,n)=>r.bytesToNumberBE(e.slice(t,n));class _{constructor(e,t,n){this.r=e,this.s=t,this.recovery=n,this.assertValidity()}static fromCompact(e){const t=a.nByteLength;return e=(0,i.ensureBytes)(\"compactSignature\",e,2*t),new _(S(e,0,t),S(e,t,2*t))}static fromDER(t){const{r:n,s:r}=e.DER.toSig((0,i.ensureBytes)(\"DER\",t));return new _(n,r)}assertValidity(){r.aInRange(\"r\",this.r,l,u),r.aInRange(\"s\",this.s,l,u)}addRecoveryBit(e){return new _(this.r,this.s,e)}recoverPublicKey(e){const{r:t,s:n,recovery:r}=this,o=A((0,i.ensureBytes)(\"msgHash\",e));if(null==r||![0,1,2,3].includes(r))throw new Error(\"recovery id invalid\");const s=2===r||3===r?t+a.n:t;if(s>=d.ORDER)throw new Error(\"recovery id 2 or 3 invalid\");const c=0==(1&r)?\"02\":\"03\",l=y.fromHex(c+E(s)),u=m(s),h=g(-o*u),f=g(n*u),p=y.BASE.multiplyAndAddUnsafe(l,h,f);if(!p)throw new Error(\"point at infinify\");return p.assertValidity(),p}hasHighS(){return C(this.s)}normalizeS(){return this.hasHighS()?new _(this.r,g(-this.s),this.recovery):this}toDERRawBytes(){return r.hexToBytes(this.toDERHex())}toDERHex(){return e.DER.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return r.hexToBytes(this.toCompactHex())}toCompactHex(){return E(this.r)+E(this.s)}}const k={isValidPrivateKey(e){try{return v(e),!0}catch(e){return!1}},normPrivateKeyToScalar:v,randomPrivateKey:()=>{const e=n.getMinHashLength(a.n);return n.mapHashToField(a.randomBytes(e),a.n)},precompute:(e=8,t=y.BASE)=>(t._setWindowSize(e),t.multiply(BigInt(3)),t)};function x(e){const t=r.isBytes(e),n=\"string\"==typeof e,i=(t||n)&&e.length;return t?i===h||i===p:n?i===2*h||i===2*p:e instanceof y}const M=a.bits2int||function(e){const t=r.bytesToNumberBE(e),n=8*e.length-a.nBitLength;return n>0?t>>BigInt(n):t},A=a.bits2int_modN||function(e){return g(M(e))},I=r.bitMask(a.nBitLength);function R(e){return r.aInRange(`num < 2^${a.nBitLength}`,e,c,I),r.numberToBytesBE(e,a.nByteLength)}function P(e,t,n=L){if([\"recovered\",\"canonical\"].some((e=>e in n)))throw new Error(\"sign() legacy options not supported\");const{hash:s,randomBytes:u}=a;let{lowS:h,prehash:f,extraEntropy:p}=n;null==h&&(h=!0),e=(0,i.ensureBytes)(\"msgHash\",e),o(n),f&&(e=(0,i.ensureBytes)(\"prehashed msgHash\",s(e)));const b=A(e),E=v(t),S=[R(E),R(b)];if(null!=p&&!1!==p){const e=!0===p?u(d.BYTES):p;S.push((0,i.ensureBytes)(\"extraEntropy\",e))}const k=r.concatBytes(...S),x=b;return{seed:k,k2sig:function(e){const t=M(e);if(!w(t))return;const n=m(t),r=y.BASE.multiply(t).toAffine(),i=g(r.x);if(i===c)return;const o=g(n*g(x+i*E));if(o===c)return;let s=(r.x===i?0:2)|Number(r.y&l),a=o;return h&&C(o)&&(a=function(e){return C(e)?g(-e):e}(o),s^=1),new _(i,a,s)}}}const L={lowS:a.lowS,prehash:!1},O={lowS:a.lowS,prehash:!1};return y.BASE._setWindowSize(8),{CURVE:a,getPublicKey:function(e,t=!0){return y.fromPrivateKey(e).toRawBytes(t)},getSharedSecret:function(e,t,n=!0){if(x(e))throw new Error(\"first arg must be private key\");if(!x(t))throw new Error(\"second arg must be public key\");const r=y.fromHex(t);return r.multiply(v(e)).toRawBytes(n)},sign:function(e,t,n=L){const{seed:i,k2sig:o}=P(e,t,n),s=a,c=r.createHmacDrbg(s.hash.outputLen,s.nByteLength,s.hmac);return c(i,o)},verify:function(t,n,s,c=O){const l=t;if(n=(0,i.ensureBytes)(\"msgHash\",n),s=(0,i.ensureBytes)(\"publicKey\",s),\"strict\"in c)throw new Error(\"options.strict was renamed to lowS\");o(c);const{lowS:d,prehash:u}=c;let h,f;try{if(\"string\"==typeof l||r.isBytes(l))try{h=_.fromDER(l)}catch(t){if(!(t instanceof e.DER.Err))throw t;h=_.fromCompact(l)}else{if(\"object\"!=typeof l||\"bigint\"!=typeof l.r||\"bigint\"!=typeof l.s)throw new Error(\"PARSE\");{const{r:e,s:t}=l;h=new _(e,t)}}f=y.fromHex(s)}catch(e){if(\"PARSE\"===e.message)throw new Error(\"signature must be Signature instance, Uint8Array or hex string\");return!1}if(d&&h.hasHighS())return!1;u&&(n=a.hash(n));const{r:p,s:v}=h,b=A(n),w=m(v),E=g(b*w),C=g(p*w),S=y.BASE.multiplyAndAddUnsafe(f,E,C)?.toAffine();if(!S)return!1;const k=g(S.x);return k===p},ProjectivePoint:y,Signature:_,utils:k}},e.SWUFpSqrtRatio=p,e.mapToCurveSimpleSWU=function(e,t){if(n.validateField(e),!e.isValid(t.A)||!e.isValid(t.B)||!e.isValid(t.Z))throw new Error(\"mapToCurveSimpleSWU: invalid opts\");const r=p(e,t.Z);if(!e.isOdd)throw new Error(\"Fp.isOdd is not implemented!\");return n=>{let i,o,s,a,c,l,d,u;i=e.sqr(n),i=e.mul(i,t.Z),o=e.sqr(i),o=e.add(o,i),s=e.add(o,e.ONE),s=e.mul(s,t.B),a=e.cmov(t.Z,e.neg(o),!e.eql(o,e.ZERO)),a=e.mul(a,t.A),o=e.sqr(s),l=e.sqr(a),c=e.mul(l,t.A),o=e.add(o,c),o=e.mul(o,s),l=e.mul(l,a),c=e.mul(l,t.B),o=e.add(o,c),d=e.mul(i,s);const{isValid:h,value:f}=r(o,l);u=e.mul(i,n),u=e.mul(u,f),d=e.cmov(d,s,h),u=e.cmov(u,f,h);const p=e.isOdd(n)===e.isOdd(u);return u=e.cmov(e.neg(u),u,p),d=e.div(d,a),{x:d,y:u}}};const t=Pt,n=Lt,r=Ot,i=Ot;function o(e){void 0!==e.lowS&&(0,i.abool)(\"lowS\",e.lowS),void 0!==e.prehash&&(0,i.abool)(\"prehash\",e.prehash)}const{bytesToNumberBE:s,hexToBytes:a}=r;e.DER={Err:class extends Error{constructor(e=\"\"){super(e)}},_tlv:{encode:(t,n)=>{const{Err:i}=e.DER;if(t<0||t>256)throw new i(\"tlv.encode: wrong tag\");if(1&n.length)throw new i(\"tlv.encode: unpadded data\");const o=n.length/2,s=r.numberToHexUnpadded(o);if(s.length/2&128)throw new i(\"tlv.encode: long form length too big\");const a=o>127?r.numberToHexUnpadded(s.length/2|128):\"\";return`${r.numberToHexUnpadded(t)}${a}${s}${n}`},decode(t,n){const{Err:r}=e.DER;let i=0;if(t<0||t>256)throw new r(\"tlv.encode: wrong tag\");if(n.length<2||n[i++]!==t)throw new r(\"tlv.decode: wrong tlv\");const o=n[i++];let s=0;if(!!(128&o)){const e=127&o;if(!e)throw new r(\"tlv.decode(long): indefinite length not supported\");if(e>4)throw new r(\"tlv.decode(long): byte length is too big\");const t=n.subarray(i,i+e);if(t.length!==e)throw new r(\"tlv.decode: length bytes not complete\");if(0===t[0])throw new r(\"tlv.decode(long): zero leftmost byte\");for(const e of t)s=s<<8|e;if(i+=e,s<128)throw new r(\"tlv.decode(long): not minimal encoding\")}else s=o;const a=n.subarray(i,i+s);if(a.length!==s)throw new r(\"tlv.decode: wrong value length\");return{v:a,l:n.subarray(i+s)}}},_int:{encode(t){const{Err:n}=e.DER;if(t<c)throw new n(\"integer: negative integers are not allowed\");let i=r.numberToHexUnpadded(t);if(8&Number.parseInt(i[0],16)&&(i=\"00\"+i),1&i.length)throw new n(\"unexpected assertion\");return i},decode(t){const{Err:n}=e.DER;if(128&t[0])throw new n(\"Invalid signature integer: negative\");if(0===t[0]&&!(128&t[1]))throw new n(\"Invalid signature integer: unnecessary leading zero\");return s(t)}},toSig(t){const{Err:n,_int:i,_tlv:o}=e.DER,s=\"string\"==typeof t?a(t):t;r.abytes(s);const{v:c,l:l}=o.decode(48,s);if(l.length)throw new n(\"Invalid signature: left bytes after parsing\");const{v:d,l:u}=o.decode(2,c),{v:h,l:f}=o.decode(2,u);if(f.length)throw new n(\"Invalid signature: left bytes after parsing\");return{r:i.decode(d),s:i.decode(h)}},hexFromSig(t){const{_tlv:n,_int:r}=e.DER,i=`${n.encode(2,r.encode(t.r))}${n.encode(2,r.encode(t.s))}`;return n.encode(48,i)}};const c=BigInt(0),l=BigInt(1),d=BigInt(2),u=BigInt(3),h=BigInt(4);function f(e){const o=function(e){const n=(0,t.validateBasic)(e);r.validateObject(n,{a:\"field\",b:\"field\"},{allowedPrivateKeyLengths:\"array\",wrapPrivateKey:\"boolean\",isTorsionFree:\"function\",clearCofactor:\"function\",allowInfinityPoint:\"boolean\",fromBytes:\"function\",toBytes:\"function\"});const{endo:i,Fp:o,a:s}=n;if(i){if(!o.eql(s,o.ZERO))throw new Error(\"Endomorphism can only be defined for Koblitz curves that have a=0\");if(\"object\"!=typeof i||\"bigint\"!=typeof i.beta||\"function\"!=typeof i.splitScalar)throw new Error(\"Expected endomorphism with beta: bigint and splitScalar: function\")}return Object.freeze({...n})}(e),{Fp:s}=o,a=n.Field(o.n,o.nBitLength),d=o.toBytes||((e,t,n)=>{const i=t.toAffine();return r.concatBytes(Uint8Array.from([4]),s.toBytes(i.x),s.toBytes(i.y))}),h=o.fromBytes||(e=>{const t=e.subarray(1);return{x:s.fromBytes(t.subarray(0,s.BYTES)),y:s.fromBytes(t.subarray(s.BYTES,2*s.BYTES))}});function f(e){const{a:t,b:n}=o,r=s.sqr(e),i=s.mul(r,e);return s.add(s.add(i,s.mul(e,t)),n)}if(!s.eql(s.sqr(o.Gy),f(o.Gx)))throw new Error(\"bad generator point: equation left != right\");function p(e){const{allowedPrivateKeyLengths:t,nByteLength:s,wrapPrivateKey:a,n:c}=o;if(t&&\"bigint\"!=typeof e){if(r.isBytes(e)&&(e=r.bytesToHex(e)),\"string\"!=typeof e||!t.includes(e.length))throw new Error(\"Invalid key\");e=e.padStart(2*s,\"0\")}let d;try{d=\"bigint\"==typeof e?e:r.bytesToNumberBE((0,i.ensureBytes)(\"private key\",e,s))}catch(t){throw new Error(`private key must be ${s} bytes, hex or bigint, not ${typeof e}`)}return a&&(d=n.mod(d,c)),r.aInRange(\"private key\",d,l,c),d}function g(e){if(!(e instanceof v))throw new Error(\"ProjectivePoint expected\")}const m=(0,i.memoized)(((e,t)=>{const{px:n,py:r,pz:i}=e;if(s.eql(i,s.ONE))return{x:n,y:r};const o=e.is0();null==t&&(t=o?s.ONE:s.inv(i));const a=s.mul(n,t),c=s.mul(r,t),l=s.mul(i,t);if(o)return{x:s.ZERO,y:s.ZERO};if(!s.eql(l,s.ONE))throw new Error(\"invZ was invalid\");return{x:a,y:c}})),y=(0,i.memoized)((e=>{if(e.is0()){if(o.allowInfinityPoint&&!s.is0(e.py))return;throw new Error(\"bad point: ZERO\")}const{x:t,y:n}=e.toAffine();if(!s.isValid(t)||!s.isValid(n))throw new Error(\"bad point: x or y not FE\");const r=s.sqr(n),i=f(t);if(!s.eql(r,i))throw new Error(\"bad point: equation left != right\");if(!e.isTorsionFree())throw new Error(\"bad point: not in prime-order subgroup\");return!0}));class v{constructor(e,t,n){if(this.px=e,this.py=t,this.pz=n,null==e||!s.isValid(e))throw new Error(\"x required\");if(null==t||!s.isValid(t))throw new Error(\"y required\");if(null==n||!s.isValid(n))throw new Error(\"z required\");Object.freeze(this)}static fromAffine(e){const{x:t,y:n}=e||{};if(!e||!s.isValid(t)||!s.isValid(n))throw new Error(\"invalid affine point\");if(e instanceof v)throw new Error(\"projective point not allowed\");const r=e=>s.eql(e,s.ZERO);return r(t)&&r(n)?v.ZERO:new v(t,n,s.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(e){const t=s.invertBatch(e.map((e=>e.pz)));return e.map(((e,n)=>e.toAffine(t[n]))).map(v.fromAffine)}static fromHex(e){const t=v.fromAffine(h((0,i.ensureBytes)(\"pointHex\",e)));return t.assertValidity(),t}static fromPrivateKey(e){return v.BASE.multiply(p(e))}static msm(e,n){return(0,t.pippenger)(v,a,e,n)}_setWindowSize(e){w.setWindowSize(this,e)}assertValidity(){y(this)}hasEvenY(){const{y:e}=this.toAffine();if(s.isOdd)return!s.isOdd(e);throw new Error(\"Field doesn't support isOdd\")}equals(e){g(e);const{px:t,py:n,pz:r}=this,{px:i,py:o,pz:a}=e,c=s.eql(s.mul(t,a),s.mul(i,r)),l=s.eql(s.mul(n,a),s.mul(o,r));return c&&l}negate(){return new v(this.px,s.neg(this.py),this.pz)}double(){const{a:e,b:t}=o,n=s.mul(t,u),{px:r,py:i,pz:a}=this;let c=s.ZERO,l=s.ZERO,d=s.ZERO,h=s.mul(r,r),f=s.mul(i,i),p=s.mul(a,a),g=s.mul(r,i);return g=s.add(g,g),d=s.mul(r,a),d=s.add(d,d),c=s.mul(e,d),l=s.mul(n,p),l=s.add(c,l),c=s.sub(f,l),l=s.add(f,l),l=s.mul(c,l),c=s.mul(g,c),d=s.mul(n,d),p=s.mul(e,p),g=s.sub(h,p),g=s.mul(e,g),g=s.add(g,d),d=s.add(h,h),h=s.add(d,h),h=s.add(h,p),h=s.mul(h,g),l=s.add(l,h),p=s.mul(i,a),p=s.add(p,p),h=s.mul(p,g),c=s.sub(c,h),d=s.mul(p,f),d=s.add(d,d),d=s.add(d,d),new v(c,l,d)}add(e){g(e);const{px:t,py:n,pz:r}=this,{px:i,py:a,pz:c}=e;let l=s.ZERO,d=s.ZERO,h=s.ZERO;const f=o.a,p=s.mul(o.b,u);let m=s.mul(t,i),y=s.mul(n,a),b=s.mul(r,c),w=s.add(t,n),E=s.add(i,a);w=s.mul(w,E),E=s.add(m,y),w=s.sub(w,E),E=s.add(t,r);let C=s.add(i,c);return E=s.mul(E,C),C=s.add(m,b),E=s.sub(E,C),C=s.add(n,r),l=s.add(a,c),C=s.mul(C,l),l=s.add(y,b),C=s.sub(C,l),h=s.mul(f,E),l=s.mul(p,b),h=s.add(l,h),l=s.sub(y,h),h=s.add(y,h),d=s.mul(l,h),y=s.add(m,m),y=s.add(y,m),b=s.mul(f,b),E=s.mul(p,E),y=s.add(y,b),b=s.sub(m,b),b=s.mul(f,b),E=s.add(E,b),m=s.mul(y,E),d=s.add(d,m),m=s.mul(C,E),l=s.mul(w,l),l=s.sub(l,m),m=s.mul(w,y),h=s.mul(C,h),h=s.add(h,m),new v(l,d,h)}subtract(e){return this.add(e.negate())}is0(){return this.equals(v.ZERO)}wNAF(e){return w.wNAFCached(this,e,v.normalizeZ)}multiplyUnsafe(e){r.aInRange(\"scalar\",e,c,o.n);const t=v.ZERO;if(e===c)return t;if(e===l)return this;const{endo:n}=o;if(!n)return w.unsafeLadder(this,e);let{k1neg:i,k1:a,k2neg:d,k2:u}=n.splitScalar(e),h=t,f=t,p=this;for(;a>c||u>c;)a&l&&(h=h.add(p)),u&l&&(f=f.add(p)),p=p.double(),a>>=l,u>>=l;return i&&(h=h.negate()),d&&(f=f.negate()),f=new v(s.mul(f.px,n.beta),f.py,f.pz),h.add(f)}multiply(e){const{endo:t,n:n}=o;let i,a;if(r.aInRange(\"scalar\",e,l,n),t){const{k1neg:n,k1:r,k2neg:o,k2:c}=t.splitScalar(e);let{p:l,f:d}=this.wNAF(r),{p:u,f:h}=this.wNAF(c);l=w.constTimeNegate(n,l),u=w.constTimeNegate(o,u),u=new v(s.mul(u.px,t.beta),u.py,u.pz),i=l.add(u),a=d.add(h)}else{const{p:t,f:n}=this.wNAF(e);i=t,a=n}return v.normalizeZ([i,a])[0]}multiplyAndAddUnsafe(e,t,n){const r=v.BASE,i=(e,t)=>t!==c&&t!==l&&e.equals(r)?e.multiply(t):e.multiplyUnsafe(t),o=i(this,t).add(i(e,n));return o.is0()?void 0:o}toAffine(e){return m(this,e)}isTorsionFree(){const{h:e,isTorsionFree:t}=o;if(e===l)return!0;if(t)return t(v,this);throw new Error(\"isTorsionFree() has not been declared for the elliptic curve\")}clearCofactor(){const{h:e,clearCofactor:t}=o;return e===l?this:t?t(v,this):this.multiplyUnsafe(o.h)}toRawBytes(e=!0){return(0,i.abool)(\"isCompressed\",e),this.assertValidity(),d(v,this,e)}toHex(e=!0){return(0,i.abool)(\"isCompressed\",e),r.bytesToHex(this.toRawBytes(e))}}v.BASE=new v(o.Gx,o.Gy,s.ONE),v.ZERO=new v(s.ZERO,s.ONE,s.ZERO);const b=o.nBitLength,w=(0,t.wNAF)(v,o.endo?Math.ceil(b/2):b);return{CURVE:o,ProjectivePoint:v,normPrivateKeyToScalar:p,weierstrassEquation:f,isWithinCurveOrder:function(e){return r.inRange(e,l,o.n)}}}function p(e,t){const n=e.ORDER;let r=c;for(let e=n-l;e%d===c;e/=d)r+=l;const i=r,o=d<<i-l-l,s=o*d,a=(n-l)/s,f=(a-l)/d,p=s-l,g=o,m=e.pow(t,a),y=e.pow(t,(a+l)/d);let v=(t,n)=>{let r=m,o=e.pow(n,p),s=e.sqr(o);s=e.mul(s,n);let a=e.mul(t,s);a=e.pow(a,f),a=e.mul(a,o),o=e.mul(a,n),s=e.mul(a,t);let c=e.mul(s,o);a=e.pow(c,g);let u=e.eql(a,e.ONE);o=e.mul(s,y),a=e.mul(c,r),s=e.cmov(o,s,u),c=e.cmov(a,c,u);for(let t=i;t>l;t--){let n=t-d;n=d<<n-l;let i=e.pow(c,n);const a=e.eql(i,e.ONE);o=e.mul(s,r),r=e.mul(r,r),i=e.mul(c,r),s=e.cmov(o,s,a),c=e.cmov(i,c,a)}return{isValid:u,value:s}};if(e.ORDER%h===u){const n=(e.ORDER-u)/h,r=e.sqrt(e.neg(t));v=(t,i)=>{let o=e.sqr(i);const s=e.mul(t,i);o=e.mul(o,s);let a=e.pow(o,n);a=e.mul(a,s);const c=e.mul(a,r),l=e.mul(e.sqr(a),i),d=e.eql(l,t);return{isValid:d,value:e.cmov(c,a,d)}}}return v}}(ar),Object.defineProperty(or,\"__esModule\",{value:!0}),or.getHash=ur,or.createCurve=function(e,t){const n=t=>(0,dr.weierstrass)({...e,...ur(t)});return Object.freeze({...n(t),create:n})};const cr=sr,lr=Fe,dr=ar;function ur(e){return{hash:e,hmac:(t,...n)=>(0,cr.hmac)(e,t,(0,lr.concatBytes)(...n)),randomBytes:lr.randomBytes}}!function(e){Object.defineProperty(e,\"__esModule\",{value:!0}),e.encodeToCurve=e.hashToCurve=e.schnorr=e.secp256k1=void 0;const t=Jn,n=Fe,r=or,i=Nn,o=Lt,s=Ot,a=ar,c=BigInt(\"0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f\"),l=BigInt(\"0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141\"),d=BigInt(1),u=BigInt(2),h=(e,t)=>(e+t/u)/t;function f(e){const t=c,n=BigInt(3),r=BigInt(6),i=BigInt(11),s=BigInt(22),a=BigInt(23),l=BigInt(44),d=BigInt(88),h=e*e*e%t,f=h*h*e%t,g=(0,o.pow2)(f,n,t)*f%t,m=(0,o.pow2)(g,n,t)*f%t,y=(0,o.pow2)(m,u,t)*h%t,v=(0,o.pow2)(y,i,t)*y%t,b=(0,o.pow2)(v,s,t)*v%t,w=(0,o.pow2)(b,l,t)*b%t,E=(0,o.pow2)(w,d,t)*w%t,C=(0,o.pow2)(E,l,t)*b%t,S=(0,o.pow2)(C,n,t)*f%t,_=(0,o.pow2)(S,a,t)*v%t,k=(0,o.pow2)(_,r,t)*h%t,x=(0,o.pow2)(k,u,t);if(!p.eql(p.sqr(x),e))throw new Error(\"Cannot find square root\");return x}const p=(0,o.Field)(c,void 0,void 0,{sqrt:f});e.secp256k1=(0,r.createCurve)({a:BigInt(0),b:BigInt(7),Fp:p,n:l,Gx:BigInt(\"55066263022277343669578718895168534326250603453777594175500187360389116729240\"),Gy:BigInt(\"32670510020758816978083085130507043184471273380659243275938904335757337482424\"),h:BigInt(1),lowS:!0,endo:{beta:BigInt(\"0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee\"),splitScalar:e=>{const t=l,n=BigInt(\"0x3086d221a7d46bcde86c90e49284eb15\"),r=-d*BigInt(\"0xe4437ed6010e88286f547fa90abfe4c3\"),i=BigInt(\"0x114ca50f7a8e2f3f657c1108d9d44cfd8\"),s=n,a=BigInt(\"0x100000000000000000000000000000000\"),c=h(s*e,t),u=h(-r*e,t);let f=(0,o.mod)(e-c*n-u*i,t),p=(0,o.mod)(-c*r-u*s,t);const g=f>a,m=p>a;if(g&&(f=t-f),m&&(p=t-p),f>a||p>a)throw new Error(\"splitScalar: Endomorphism failed, k=\"+e);return{k1neg:g,k1:f,k2neg:m,k2:p}}}},t.sha256);const g=BigInt(0),m={};function y(e,...n){let r=m[e];if(void 0===r){const n=(0,t.sha256)(Uint8Array.from(e,(e=>e.charCodeAt(0))));r=(0,s.concatBytes)(n,n),m[e]=r}return(0,t.sha256)((0,s.concatBytes)(r,...n))}const v=e=>e.toRawBytes(!0).slice(1),b=e=>(0,s.numberToBytesBE)(e,32),w=e=>(0,o.mod)(e,c),E=e=>(0,o.mod)(e,l),C=e.secp256k1.ProjectivePoint,S=(e,t,n)=>C.BASE.multiplyAndAddUnsafe(e,t,n);function _(t){let n=e.secp256k1.utils.normPrivateKeyToScalar(t),r=C.fromPrivateKey(n);return{scalar:r.hasEvenY()?n:E(-n),bytes:v(r)}}function k(e){(0,s.aInRange)(\"x\",e,d,c);const t=w(e*e);let n=f(w(t*e+BigInt(7)));n%u!==g&&(n=w(-n));const r=new C(e,n,d);return r.assertValidity(),r}const x=s.bytesToNumberBE;function M(...e){return E(x(y(\"BIP0340/challenge\",...e)))}function A(e){return _(e).bytes}function I(e,t,r=(0,n.randomBytes)(32)){const i=(0,s.ensureBytes)(\"message\",e),{bytes:o,scalar:a}=_(t),c=(0,s.ensureBytes)(\"auxRand\",r,32),l=b(a^x(y(\"BIP0340/aux\",c))),d=y(\"BIP0340/nonce\",l,o,i),u=E(x(d));if(u===g)throw new Error(\"sign failed: k is zero\");const{bytes:h,scalar:f}=_(u),p=M(h,o,i),m=new Uint8Array(64);if(m.set(h,0),m.set(b(E(f+p*a)),32),!R(m,i,o))throw new Error(\"sign: Invalid signature produced\");return m}function R(e,t,n){const r=(0,s.ensureBytes)(\"signature\",e,64),i=(0,s.ensureBytes)(\"message\",t),o=(0,s.ensureBytes)(\"publicKey\",n,32);try{const e=k(x(o)),t=x(r.subarray(0,32));if(!(0,s.inRange)(t,d,c))return!1;const n=x(r.subarray(32,64));if(!(0,s.inRange)(n,d,l))return!1;const a=M(b(t),v(e),i),u=S(e,n,E(-a));return!(!u||!u.hasEvenY()||u.toAffine().x!==t)}catch(e){return!1}}e.schnorr={getPublicKey:A,sign:I,verify:R,utils:{randomPrivateKey:e.secp256k1.utils.randomPrivateKey,lift_x:k,pointToBytes:v,numberToBytesBE:s.numberToBytesBE,bytesToNumberBE:s.bytesToNumberBE,taggedHash:y,mod:o.mod}};const P=(()=>(0,i.isogenyMap)(p,[[\"0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa8c7\",\"0x7d3d4c80bc321d5b9f315cea7fd44c5d595d2fc0bf63b92dfff1044f17c6581\",\"0x534c328d23f234e6e2a413deca25caece4506144037c40314ecbd0b53d9dd262\",\"0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa88c\"],[\"0xd35771193d94918a9ca34ccbb7b640dd86cd409542f8487d9fe6b745781eb49b\",\"0xedadc6f64383dc1df7c4b2d51b54225406d36b641f5e41bbc52a56612a8c6d14\",\"0x0000000000000000000000000000000000000000000000000000000000000001\"],[\"0x4bda12f684bda12f684bda12f684bda12f684bda12f684bda12f684b8e38e23c\",\"0xc75e0c32d5cb7c0fa9d0a54b12a0a6d5647ab046d686da6fdffc90fc201d71a3\",\"0x29a6194691f91a73715209ef6512e576722830a201be2018a765e85a9ecee931\",\"0x2f684bda12f684bda12f684bda12f684bda12f684bda12f684bda12f38e38d84\"],[\"0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffff93b\",\"0x7a06534bb8bdb49fd5e9e6632722c2989467c1bfc8e8d978dfb425d2685c2573\",\"0x6484aa716545ca2cf3a70c3fa8fe337e0a3d21162f0d6299a7bf8192bfd2a76f\",\"0x0000000000000000000000000000000000000000000000000000000000000001\"]].map((e=>e.map((e=>BigInt(e)))))))(),L=(()=>(0,a.mapToCurveSimpleSWU)(p,{A:BigInt(\"0x3f8731abdd661adca08a5558f0f5d272e953d363cb6f0e5d405447c01a444533\"),B:BigInt(\"1771\"),Z:p.create(BigInt(\"-11\"))}))(),O=(()=>(0,i.createHasher)(e.secp256k1.ProjectivePoint,(e=>{const{x:t,y:n}=L(p.create(e[0]));return P(t,n)}),{DST:\"secp256k1_XMD:SHA-256_SSWU_RO_\",encodeDST:\"secp256k1_XMD:SHA-256_SSWU_NU_\",p:p.ORDER,m:1,k:128,expand:\"xmd\",hash:t.sha256}))();e.hashToCurve=O.hashToCurve,e.encodeToCurve=O.encodeToCurve}(Yn);var hr={};!function(e){Object.defineProperty(e,\"__esModule\",{value:!0}),e.decodeHex=e.remove0x=void 0;var t=fe;e.remove0x=function(e){return e.startsWith(\"0x\")||e.startsWith(\"0X\")?e.slice(2):e};e.decodeHex=function(n){return(0,t.hexToBytes)((0,e.remove0x)(n))}}(hr),function(e){Object.defineProperty(e,\"__esModule\",{value:!0}),e.hexToPublicKey=e.convertPublicKeyFormat=e.getSharedPoint=e.getPublicKey=e.isValidPrivateKey=e.getValidSecret=void 0;var t=Ie,n=Pe,r=Yn,i=Se,o=_e,s=hr;e.getValidSecret=function(){var n;do{n=(0,t.randomBytes)(o.SECRET_KEY_LENGTH)}while(!(0,e.isValidPrivateKey)(n));return n};e.isValidPrivateKey=function(e){return a((0,i.ellipticCurve)(),(function(t){return t.utils.isValidPrivateKey(e)}),(function(){return!0}),(function(){return!0}))};e.getPublicKey=function(e){return a((0,i.ellipticCurve)(),(function(t){return t.getPublicKey(e)}),(function(t){return t.getPublicKey(e)}),(function(t){return t.getPublicKey(e)}))};e.getSharedPoint=function(e,t,n){return a((0,i.ellipticCurve)(),(function(r){return r.getSharedSecret(e,t,n)}),(function(n){return n.getSharedSecret(e,t)}),(function(n){return l(n,e,t)}))};e.convertPublicKeyFormat=function(e,t){return a((0,i.ellipticCurve)(),(function(n){return n.getSharedSecret(BigInt(1),e,t)}),(function(){return e}),(function(){return e}))};function a(e,t,i,o){if(\"secp256k1\"===e)return t(r.secp256k1);if(\"x25519\"===e)return i(n.x25519);if(\"ed25519\"===e)return o(n.ed25519);throw new Error(\"Not implemented\")}e.hexToPublicKey=function(e){var t=(0,s.decodeHex)(e);return a((0,i.ellipticCurve)(),(function(){return c(t)}),(function(){return t}),(function(){return t}))};var c=function(e){if(e.length===o.ETH_PUBLIC_KEY_SIZE){var t=new Uint8Array(1+e.length);return t.set([4]),t.set(e,1),t}return e},l=function(e,t,n){var r=e.utils.getExtendedPublicKey(t).scalar;return e.ExtendedPoint.fromHex(n).multiply(r).toRawBytes()}}(Ae);var fr={},pr={};Object.defineProperty(pr,\"__esModule\",{value:!0}),pr.hkdf=void 0,pr.extract=vr,pr.expand=Er;const gr=Te,mr=Fe,yr=sr;function vr(e,t,n){return(0,gr.hash)(e),void 0===n&&(n=new Uint8Array(e.outputLen)),(0,yr.hmac)(e,(0,mr.toBytes)(n),(0,mr.toBytes)(t))}const br=new Uint8Array([0]),wr=new Uint8Array;function Er(e,t,n,r=32){if((0,gr.hash)(e),(0,gr.number)(r),r>255*e.outputLen)throw new Error(\"Length should be <= 255*HashLen\");const i=Math.ceil(r/e.outputLen);void 0===n&&(n=wr);const o=new Uint8Array(i*e.outputLen),s=yr.hmac.create(e,t),a=s._cloneInto(),c=new Uint8Array(s.outputLen);for(let t=0;t<i;t++)br[0]=t+1,a.update(0===t?wr:c).update(n).update(br).digestInto(c),o.set(c,e.outputLen*t),s._cloneInto(a);return s.destroy(),a.destroy(),c.fill(0),br.fill(0),o.slice(0,r)}pr.hkdf=(e,t,n,r,i)=>Er(e,vr(e,t,n),r,i),function(e){Object.defineProperty(e,\"__esModule\",{value:!0}),e.getSharedKey=e.deriveKey=void 0;var t=fe,n=pr,r=Jn;e.deriveKey=function(e,t,i){return(0,n.hkdf)(r.sha256,e,t,i,32)};e.getSharedKey=function(){for(var n=[],r=0;r<arguments.length;r++)n[r]=arguments[r];return(0,e.deriveKey)(t.concatBytes.apply(void 0,n))}}(fr);var Cr={},Sr={},_r={},kr={};Object.defineProperty(kr,\"__esModule\",{value:!0}),kr.polyval=kr.ghash=void 0,kr._toGHASHKey=Lr;const xr=pe,Mr=fe,Ar=16,Ir=new Uint8Array(16),Rr=(0,Mr.u32)(Ir),Pr=e=>(e>>>0&255)<<24|(e>>>8&255)<<16|(e>>>16&255)<<8|e>>>24&255|0;function Lr(e){e.reverse();const t=1&e[15];let n=0;for(let t=0;t<e.length;t++){const r=e[t];e[t]=r>>>1|n,n=(1&r)<<7}return e[0]^=225&-t,e}class Or{constructor(e,t){this.blockLen=Ar,this.outputLen=Ar,this.s0=0,this.s1=0,this.s2=0,this.s3=0,this.finished=!1,e=(0,Mr.toBytes)(e),(0,xr.bytes)(e,16);const n=(0,Mr.createView)(e);let r=n.getUint32(0,!1),i=n.getUint32(4,!1),o=n.getUint32(8,!1),s=n.getUint32(12,!1);const a=[];for(let e=0;e<128;e++)a.push({s0:Pr(r),s1:Pr(i),s2:Pr(o),s3:Pr(s)}),({s0:r,s1:i,s2:o,s3:s}={s3:(d=o)<<31|(u=s)>>>1,s2:(l=i)<<31|d>>>1,s1:(c=r)<<31|l>>>1,s0:c>>>1^225<<24&-(1&u)});var c,l,d,u;const h=(e=>e>65536?8:e>1024?4:2)(t||1024);if(![1,2,4,8].includes(h))throw new Error(`ghash: wrong window size=${h}, should be 2, 4 or 8`);this.W=h;const f=128/h,p=this.windowSize=2**h,g=[];for(let e=0;e<f;e++)for(let t=0;t<p;t++){let n=0,r=0,i=0,o=0;for(let s=0;s<h;s++){if(!(t>>>h-s-1&1))continue;const{s0:c,s1:l,s2:d,s3:u}=a[h*e+s];n^=c,r^=l,i^=d,o^=u}g.push({s0:n,s1:r,s2:i,s3:o})}this.t=g}_updateBlock(e,t,n,r){e^=this.s0,t^=this.s1,n^=this.s2,r^=this.s3;const{W:i,t:o,windowSize:s}=this;let a=0,c=0,l=0,d=0;const u=(1<<i)-1;let h=0;for(const f of[e,t,n,r])for(let e=0;e<4;e++){const t=f>>>8*e&255;for(let e=8/i-1;e>=0;e--){const n=t>>>i*e&u,{s0:r,s1:f,s2:p,s3:g}=o[h*s+n];a^=r,c^=f,l^=p,d^=g,h+=1}}this.s0=a,this.s1=c,this.s2=l,this.s3=d}update(e){e=(0,Mr.toBytes)(e),(0,xr.exists)(this);const t=(0,Mr.u32)(e),n=Math.floor(e.length/Ar),r=e.length%Ar;for(let e=0;e<n;e++)this._updateBlock(t[4*e+0],t[4*e+1],t[4*e+2],t[4*e+3]);return r&&(Ir.set(e.subarray(n*Ar)),this._updateBlock(Rr[0],Rr[1],Rr[2],Rr[3]),(0,Mr.clean)(Rr)),this}destroy(){const{t:e}=this;for(const t of e)t.s0=0,t.s1=0,t.s2=0,t.s3=0}digestInto(e){(0,xr.exists)(this),(0,xr.output)(e,this),this.finished=!0;const{s0:t,s1:n,s2:r,s3:i}=this,o=(0,Mr.u32)(e);return o[0]=t,o[1]=n,o[2]=r,o[3]=i,e}digest(){const e=new Uint8Array(Ar);return this.digestInto(e),this.destroy(),e}}class Tr extends Or{constructor(e,t){e=(0,Mr.toBytes)(e);const n=Lr((0,Mr.copyBytes)(e));super(n,t),(0,Mr.clean)(n)}update(e){e=(0,Mr.toBytes)(e),(0,xr.exists)(this);const t=(0,Mr.u32)(e),n=e.length%Ar,r=Math.floor(e.length/Ar);for(let e=0;e<r;e++)this._updateBlock(Pr(t[4*e+3]),Pr(t[4*e+2]),Pr(t[4*e+1]),Pr(t[4*e+0]));return n&&(Ir.set(e.subarray(r*Ar)),this._updateBlock(Pr(Rr[3]),Pr(Rr[2]),Pr(Rr[1]),Pr(Rr[0])),(0,Mr.clean)(Rr)),this}digestInto(e){(0,xr.exists)(this),(0,xr.output)(e,this),this.finished=!0;const{s0:t,s1:n,s2:r,s3:i}=this,o=(0,Mr.u32)(e);return o[0]=t,o[1]=n,o[2]=r,o[3]=i,e.reverse()}}function Nr(e){const t=(t,n)=>e(n,t.length).update((0,Mr.toBytes)(t)).digest(),n=e(new Uint8Array(16),0);return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=(t,n)=>e(t,n),t}kr.ghash=Nr(((e,t)=>new Or(e,t))),kr.polyval=Nr(((e,t)=>new Tr(e,t))),Object.defineProperty(_r,\"__esModule\",{value:!0}),_r.unsafe=_r.aeskwp=_r.aeskw=_r.siv=_r.gcm=_r.cfb=_r.cbc=_r.ecb=_r.ctr=void 0,_r.expandKeyLE=Qr,_r.expandKeyDecLE=ei;const Dr=pe,$r=kr,Br=fe,Kr=16,jr=new Uint8Array(Kr),Ur=283;function Hr(e){return e<<1^Ur&-(e>>7)}function Fr(e,t){let n=0;for(;t>0;t>>=1)n^=e&-(1&t),e=Hr(e);return n}const zr=(()=>{const e=new Uint8Array(256);for(let t=0,n=1;t<256;t++,n^=Hr(n))e[t]=n;const t=new Uint8Array(256);t[0]=99;for(let n=0;n<255;n++){let r=e[255-n];r|=r<<8,t[e[n]]=255&(r^r>>4^r>>5^r>>6^r>>7^99)}return(0,Br.clean)(e),t})(),qr=zr.map(((e,t)=>zr.indexOf(t))),Vr=e=>e<<24|e>>>8,Wr=e=>e<<8|e>>>24,Gr=e=>e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255;function Zr(e,t){if(256!==e.length)throw new Error(\"Wrong sbox length\");const n=new Uint32Array(256).map(((n,r)=>t(e[r]))),r=n.map(Wr),i=r.map(Wr),o=i.map(Wr),s=new Uint32Array(65536),a=new Uint32Array(65536),c=new Uint16Array(65536);for(let t=0;t<256;t++)for(let l=0;l<256;l++){const d=256*t+l;s[d]=n[t]^r[l],a[d]=i[t]^o[l],c[d]=e[t]<<8|e[l]}return{sbox:e,sbox2:c,T0:n,T1:r,T2:i,T3:o,T01:s,T23:a}}const Yr=Zr(zr,(e=>Fr(e,3)<<24|e<<16|e<<8|Fr(e,2))),Jr=Zr(qr,(e=>Fr(e,11)<<24|Fr(e,13)<<16|Fr(e,9)<<8|Fr(e,14))),Xr=(()=>{const e=new Uint8Array(16);for(let t=0,n=1;t<16;t++,n=Hr(n))e[t]=n;return e})();function Qr(e){(0,Dr.bytes)(e);const t=e.length;if(![16,24,32].includes(t))throw new Error(`aes: wrong key size: should be 16, 24 or 32, got: ${t}`);const{sbox2:n}=Yr,r=[];(0,Br.isAligned32)(e)||r.push(e=(0,Br.copyBytes)(e));const i=(0,Br.u32)(e),o=i.length,s=e=>ni(n,e,e,e,e),a=new Uint32Array(t+28);a.set(i);for(let e=o;e<a.length;e++){let t=a[e-1];e%o==0?t=s(Vr(t))^Xr[e/o-1]:o>6&&e%o==4&&(t=s(t)),a[e]=a[e-o]^t}return(0,Br.clean)(...r),a}function ei(e){const t=Qr(e),n=t.slice(),r=t.length,{sbox2:i}=Yr,{T0:o,T1:s,T2:a,T3:c}=Jr;for(let e=0;e<r;e+=4)for(let i=0;i<4;i++)n[e+i]=t[r-e-4+i];(0,Br.clean)(t);for(let e=4;e<r-4;e++){const t=n[e],r=ni(i,t,t,t,t);n[e]=o[255&r]^s[r>>>8&255]^a[r>>>16&255]^c[r>>>24]}return n}function ti(e,t,n,r,i,o){return e[n<<8&65280|r>>>8&255]^t[i>>>8&65280|o>>>24&255]}function ni(e,t,n,r,i){return e[255&t|65280&n]|e[r>>>16&255|i>>>16&65280]<<16}function ri(e,t,n,r,i){const{sbox2:o,T01:s,T23:a}=Yr;let c=0;t^=e[c++],n^=e[c++],r^=e[c++],i^=e[c++];const l=e.length/4-2;for(let o=0;o<l;o++){const o=e[c++]^ti(s,a,t,n,r,i),l=e[c++]^ti(s,a,n,r,i,t),d=e[c++]^ti(s,a,r,i,t,n),u=e[c++]^ti(s,a,i,t,n,r);t=o,n=l,r=d,i=u}return{s0:e[c++]^ni(o,t,n,r,i),s1:e[c++]^ni(o,n,r,i,t),s2:e[c++]^ni(o,r,i,t,n),s3:e[c++]^ni(o,i,t,n,r)}}function ii(e,t,n,r,i){const{sbox2:o,T01:s,T23:a}=Jr;let c=0;t^=e[c++],n^=e[c++],r^=e[c++],i^=e[c++];const l=e.length/4-2;for(let o=0;o<l;o++){const o=e[c++]^ti(s,a,t,i,r,n),l=e[c++]^ti(s,a,n,t,i,r),d=e[c++]^ti(s,a,r,n,t,i),u=e[c++]^ti(s,a,i,r,n,t);t=o,n=l,r=d,i=u}return{s0:e[c++]^ni(o,t,i,r,n),s1:e[c++]^ni(o,n,t,i,r),s2:e[c++]^ni(o,r,n,t,i),s3:e[c++]^ni(o,i,r,n,t)}}function oi(e,t){if(void 0===t)return new Uint8Array(e);if((0,Dr.bytes)(t),t.length<e)throw new Error(`aes: wrong destination length, expected at least ${e}, got: ${t.length}`);if(!(0,Br.isAligned32)(t))throw new Error(\"unaligned dst\");return t}function si(e,t,n,r){(0,Dr.bytes)(t,Kr),(0,Dr.bytes)(n);const i=n.length;r=oi(i,r);const o=t,s=(0,Br.u32)(o);let{s0:a,s1:c,s2:l,s3:d}=ri(e,s[0],s[1],s[2],s[3]);const u=(0,Br.u32)(n),h=(0,Br.u32)(r);for(let t=0;t+4<=u.length;t+=4){h[t+0]=u[t+0]^a,h[t+1]=u[t+1]^c,h[t+2]=u[t+2]^l,h[t+3]=u[t+3]^d;let n=1;for(let e=o.length-1;e>=0;e--)n=n+(255&o[e])|0,o[e]=255&n,n>>>=8;({s0:a,s1:c,s2:l,s3:d}=ri(e,s[0],s[1],s[2],s[3]))}const f=Kr*Math.floor(u.length/4);if(f<i){const e=new Uint32Array([a,c,l,d]),t=(0,Br.u8)(e);for(let e=f,o=0;e<i;e++,o++)r[e]=n[e]^t[o];(0,Br.clean)(e)}return r}function ai(e,t,n,r,i){(0,Dr.bytes)(n,Kr),(0,Dr.bytes)(r),i=oi(r.length,i);const o=n,s=(0,Br.u32)(o),a=(0,Br.createView)(o),c=(0,Br.u32)(r),l=(0,Br.u32)(i),d=t?0:12,u=r.length;let h=a.getUint32(d,t),{s0:f,s1:p,s2:g,s3:m}=ri(e,s[0],s[1],s[2],s[3]);for(let n=0;n+4<=c.length;n+=4)l[n+0]=c[n+0]^f,l[n+1]=c[n+1]^p,l[n+2]=c[n+2]^g,l[n+3]=c[n+3]^m,h=h+1>>>0,a.setUint32(d,h,t),({s0:f,s1:p,s2:g,s3:m}=ri(e,s[0],s[1],s[2],s[3]));const y=Kr*Math.floor(c.length/4);if(y<u){const e=new Uint32Array([f,p,g,m]),t=(0,Br.u8)(e);for(let e=y,n=0;e<u;e++,n++)i[e]=r[e]^t[n];(0,Br.clean)(e)}return i}function ci(e){if((0,Dr.bytes)(e),e.length%Kr!=0)throw new Error(\"aes/(cbc-ecb).decrypt ciphertext should consist of blocks with size 16\")}function li(e,t,n){(0,Dr.bytes)(e);let r=e.length;const i=r%Kr;if(!t&&0!==i)throw new Error(\"aec/(cbc-ecb): unpadded plaintext with disabled padding\");(0,Br.isAligned32)(e)||(e=(0,Br.copyBytes)(e));const o=(0,Br.u32)(e);if(t){let e=Kr-i;e||(e=Kr),r+=e}const s=oi(r,n);return{b:o,o:(0,Br.u32)(s),out:s}}function di(e,t){if(!t)return e;const n=e.length;if(!n)throw new Error(\"aes/pcks5: empty ciphertext not allowed\");const r=e[n-1];if(r<=0||r>16)throw new Error(\"aes/pcks5: wrong padding\");const i=e.subarray(0,-r);for(let t=0;t<r;t++)if(e[n-t-1]!==r)throw new Error(\"aes/pcks5: wrong padding\");return i}function ui(e){const t=new Uint8Array(16),n=(0,Br.u32)(t);t.set(e);const r=Kr-e.length;for(let e=Kr-r;e<Kr;e++)t[e]=r;return n}function hi(e,t,n,r,i){const o=null==i?0:i.length,s=e.create(n,r.length+o);i&&s.update(i),s.update(r);const a=new Uint8Array(16),c=(0,Br.createView)(a);i&&(0,Br.setBigUint64)(c,0,BigInt(8*o),t),(0,Br.setBigUint64)(c,8,BigInt(8*r.length),t),s.update(a);const l=s.digest();return(0,Br.clean)(a),l}_r.ctr=(0,Br.wrapCipher)({blockSize:16,nonceLength:16},(function(e,t){function n(n,r){if((0,Dr.bytes)(n),void 0!==r&&((0,Dr.bytes)(r),!(0,Br.isAligned32)(r)))throw new Error(\"unaligned destination\");const i=Qr(e),o=(0,Br.copyBytes)(t),s=[i,o];(0,Br.isAligned32)(n)||s.push(n=(0,Br.copyBytes)(n));const a=si(i,o,n,r);return(0,Br.clean)(...s),a}return(0,Dr.bytes)(e),(0,Dr.bytes)(t,Kr),{encrypt:(e,t)=>n(e,t),decrypt:(e,t)=>n(e,t)}})),_r.ecb=(0,Br.wrapCipher)({blockSize:16},(function(e,t={}){(0,Dr.bytes)(e);const n=!t.disablePadding;return{encrypt(t,r){const{b:i,o:o,out:s}=li(t,n,r),a=Qr(e);let c=0;for(;c+4<=i.length;){const{s0:e,s1:t,s2:n,s3:r}=ri(a,i[c+0],i[c+1],i[c+2],i[c+3]);o[c++]=e,o[c++]=t,o[c++]=n,o[c++]=r}if(n){const e=ui(t.subarray(4*c)),{s0:n,s1:r,s2:i,s3:s}=ri(a,e[0],e[1],e[2],e[3]);o[c++]=n,o[c++]=r,o[c++]=i,o[c++]=s}return(0,Br.clean)(a),s},decrypt(t,r){ci(t);const i=ei(e),o=oi(t.length,r),s=[i];(0,Br.isAligned32)(t)||s.push(t=(0,Br.copyBytes)(t));const a=(0,Br.u32)(t),c=(0,Br.u32)(o);for(let e=0;e+4<=a.length;){const{s0:t,s1:n,s2:r,s3:o}=ii(i,a[e+0],a[e+1],a[e+2],a[e+3]);c[e++]=t,c[e++]=n,c[e++]=r,c[e++]=o}return(0,Br.clean)(...s),di(o,n)}}})),_r.cbc=(0,Br.wrapCipher)({blockSize:16,nonceLength:16},(function(e,t,n={}){(0,Dr.bytes)(e),(0,Dr.bytes)(t,16);const r=!n.disablePadding;return{encrypt(n,i){const o=Qr(e),{b:s,o:a,out:c}=li(n,r,i);let l=t;const d=[o];(0,Br.isAligned32)(l)||d.push(l=(0,Br.copyBytes)(l));const u=(0,Br.u32)(l);let h=u[0],f=u[1],p=u[2],g=u[3],m=0;for(;m+4<=s.length;)h^=s[m+0],f^=s[m+1],p^=s[m+2],g^=s[m+3],({s0:h,s1:f,s2:p,s3:g}=ri(o,h,f,p,g)),a[m++]=h,a[m++]=f,a[m++]=p,a[m++]=g;if(r){const e=ui(n.subarray(4*m));h^=e[0],f^=e[1],p^=e[2],g^=e[3],({s0:h,s1:f,s2:p,s3:g}=ri(o,h,f,p,g)),a[m++]=h,a[m++]=f,a[m++]=p,a[m++]=g}return(0,Br.clean)(...d),c},decrypt(n,i){ci(n);const o=ei(e);let s=t;const a=[o];(0,Br.isAligned32)(s)||a.push(s=(0,Br.copyBytes)(s));const c=(0,Br.u32)(s),l=oi(n.length,i);(0,Br.isAligned32)(n)||a.push(n=(0,Br.copyBytes)(n));const d=(0,Br.u32)(n),u=(0,Br.u32)(l);let h=c[0],f=c[1],p=c[2],g=c[3];for(let e=0;e+4<=d.length;){const t=h,n=f,r=p,i=g;h=d[e+0],f=d[e+1],p=d[e+2],g=d[e+3];const{s0:s,s1:a,s2:c,s3:l}=ii(o,h,f,p,g);u[e++]=s^t,u[e++]=a^n,u[e++]=c^r,u[e++]=l^i}return(0,Br.clean)(...a),di(l,r)}}})),_r.cfb=(0,Br.wrapCipher)({blockSize:16,nonceLength:16},(function(e,t){function n(n,r,i){(0,Dr.bytes)(n);const o=n.length;i=oi(o,i);const s=Qr(e);let a=t;const c=[s];(0,Br.isAligned32)(a)||c.push(a=(0,Br.copyBytes)(a)),(0,Br.isAligned32)(n)||c.push(n=(0,Br.copyBytes)(n));const l=(0,Br.u32)(n),d=(0,Br.u32)(i),u=r?d:l,h=(0,Br.u32)(a);let f=h[0],p=h[1],g=h[2],m=h[3];for(let e=0;e+4<=l.length;){const{s0:t,s1:n,s2:r,s3:i}=ri(s,f,p,g,m);d[e+0]=l[e+0]^t,d[e+1]=l[e+1]^n,d[e+2]=l[e+2]^r,d[e+3]=l[e+3]^i,f=u[e++],p=u[e++],g=u[e++],m=u[e++]}const y=Kr*Math.floor(l.length/4);if(y<o){({s0:f,s1:p,s2:g,s3:m}=ri(s,f,p,g,m));const e=(0,Br.u8)(new Uint32Array([f,p,g,m]));for(let t=y,r=0;t<o;t++,r++)i[t]=n[t]^e[r];(0,Br.clean)(e)}return(0,Br.clean)(...c),i}return(0,Dr.bytes)(e),(0,Dr.bytes)(t,16),{encrypt:(e,t)=>n(e,!0,t),decrypt:(e,t)=>n(e,!1,t)}})),_r.gcm=(0,Br.wrapCipher)({blockSize:16,nonceLength:12,tagLength:16},(function(e,t,n){if((0,Dr.bytes)(e),(0,Dr.bytes)(t),void 0!==n&&(0,Dr.bytes)(n),t.length<8)throw new Error(\"aes/gcm: invalid nonce length\");const r=16;function i(e,t,r){const i=hi($r.ghash,!1,e,r,n);for(let e=0;e<t.length;e++)i[e]^=t[e];return i}function o(){const n=Qr(e),r=jr.slice(),i=jr.slice();if(ai(n,!1,i,i,r),12===t.length)i.set(t);else{const e=jr.slice(),n=(0,Br.createView)(e);(0,Br.setBigUint64)(n,8,BigInt(8*t.length),!1);const o=$r.ghash.create(r).update(t).update(e);o.digestInto(i),o.destroy()}return{xk:n,authKey:r,counter:i,tagMask:ai(n,!1,i,jr)}}return{encrypt(e){(0,Dr.bytes)(e);const{xk:t,authKey:n,counter:s,tagMask:a}=o(),c=new Uint8Array(e.length+r),l=[t,n,s,a];(0,Br.isAligned32)(e)||l.push(e=(0,Br.copyBytes)(e)),ai(t,!1,s,e,c);const d=i(n,a,c.subarray(0,c.length-r));return l.push(d),c.set(d,e.length),(0,Br.clean)(...l),c},decrypt(e){if((0,Dr.bytes)(e),e.length<r)throw new Error(\"aes/gcm: ciphertext less than tagLen (16)\");const{xk:t,authKey:n,counter:s,tagMask:a}=o(),c=[t,n,a,s];(0,Br.isAligned32)(e)||c.push(e=(0,Br.copyBytes)(e));const l=e.subarray(0,-16),d=e.subarray(-16),u=i(n,a,l);if(c.push(u),!(0,Br.equalBytes)(u,d))throw new Error(\"aes/gcm: invalid ghash tag\");const h=ai(t,!1,s,l);return(0,Br.clean)(...c),h}}}));const fi=(e,t,n)=>r=>{if(!Number.isSafeInteger(r)||t>r||r>n)throw new Error(`${e}: invalid value=${r}, must be [${t}..${n}]`)};function pi(e){return null!=e&&\"object\"==typeof e&&(e instanceof Uint32Array||\"Uint32Array\"===e.constructor.name)}function gi(e,t){if((0,Dr.bytes)(t,16),!pi(e))throw new Error(\"_encryptBlock accepts result of expandKeyLE\");const n=(0,Br.u32)(t);let{s0:r,s1:i,s2:o,s3:s}=ri(e,n[0],n[1],n[2],n[3]);return n[0]=r,n[1]=i,n[2]=o,n[3]=s,t}function mi(e,t){if((0,Dr.bytes)(t,16),!pi(e))throw new Error(\"_decryptBlock accepts result of expandKeyLE\");const n=(0,Br.u32)(t);let{s0:r,s1:i,s2:o,s3:s}=ii(e,n[0],n[1],n[2],n[3]);return n[0]=r,n[1]=i,n[2]=o,n[3]=s,t}_r.siv=(0,Br.wrapCipher)({blockSize:16,nonceLength:12,tagLength:16},(function(e,t,n){const r=fi(\"AAD\",0,2**36),i=fi(\"plaintext\",0,2**36),o=fi(\"nonce\",12,12),s=fi(\"ciphertext\",16,2**36+16);function a(){const n=Qr(e),r=new Uint8Array(e.length),i=new Uint8Array(16),o=[n,r];let s=t;(0,Br.isAligned32)(s)||o.push(s=(0,Br.copyBytes)(s));const a=(0,Br.u32)(s);let c=0,l=a[0],d=a[1],u=a[2],h=0;for(const e of[i,r].map(Br.u32)){const t=(0,Br.u32)(e);for(let e=0;e<t.length;e+=2){const{s0:r,s1:i}=ri(n,c,l,d,u);t[e+0]=r,t[e+1]=i,c=++h}}const f={authKey:i,encKey:Qr(r)};return(0,Br.clean)(...o),f}function c(e,r,i){const o=hi($r.polyval,!0,r,i,n);for(let e=0;e<12;e++)o[e]^=t[e];o[15]&=127;const s=(0,Br.u32)(o);let a=s[0],c=s[1],l=s[2],d=s[3];return({s0:a,s1:c,s2:l,s3:d}=ri(e,a,c,l,d)),s[0]=a,s[1]=c,s[2]=l,s[3]=d,o}function l(e,t,n){let r=(0,Br.copyBytes)(t);r[15]|=128;const i=ai(e,!0,r,n);return(0,Br.clean)(r),i}return(0,Dr.bytes)(e,16,24,32),(0,Dr.bytes)(t),o(t.length),void 0!==n&&((0,Dr.bytes)(n),r(n.length)),{encrypt(e){(0,Dr.bytes)(e),i(e.length);const{encKey:t,authKey:n}=a(),r=c(t,n,e),o=[t,n,r];(0,Br.isAligned32)(e)||o.push(e=(0,Br.copyBytes)(e));const s=new Uint8Array(e.length+16);return s.set(r,e.length),s.set(l(t,r,e)),(0,Br.clean)(...o),s},decrypt(e){(0,Dr.bytes)(e),s(e.length);const t=e.subarray(-16),{encKey:n,authKey:r}=a(),i=[n,r];(0,Br.isAligned32)(e)||i.push(e=(0,Br.copyBytes)(e));const o=l(n,t,e.subarray(0,-16)),d=c(n,r,o);if(i.push(d),!(0,Br.equalBytes)(t,d))throw(0,Br.clean)(...i),new Error(\"invalid polyval tag\");return(0,Br.clean)(...i),o}}}));const yi={encrypt(e,t){if(t.length>=2**32)throw new Error(\"plaintext should be less than 4gb\");const n=Qr(e);if(16===t.length)gi(n,t);else{const e=(0,Br.u32)(t);let r=e[0],i=e[1];for(let t=0,o=1;t<6;t++)for(let t=2;t<e.length;t+=2,o++){const{s0:s,s1:a,s2:c,s3:l}=ri(n,r,i,e[t],e[t+1]);r=s,i=a^Gr(o),e[t]=c,e[t+1]=l}e[0]=r,e[1]=i}n.fill(0)},decrypt(e,t){if(t.length-8>=2**32)throw new Error(\"ciphertext should be less than 4gb\");const n=ei(e),r=t.length/8-1;if(1===r)mi(n,t);else{const e=(0,Br.u32)(t);let i=e[0],o=e[1];for(let t=0,s=6*r;t<6;t++)for(let t=2*r;t>=1;t-=2,s--){o^=Gr(s);const{s0:r,s1:a,s2:c,s3:l}=ii(n,i,o,e[t],e[t+1]);i=r,o=a,e[t]=c,e[t+1]=l}e[0]=i,e[1]=o}n.fill(0)}},vi=new Uint8Array(8).fill(166);_r.aeskw=(0,Br.wrapCipher)({blockSize:8},(e=>({encrypt(t){if((0,Dr.bytes)(t),!t.length||t.length%8!=0)throw new Error(\"invalid plaintext length\");if(8===t.length)throw new Error(\"8-byte keys not allowed in AESKW, use AESKWP instead\");const n=(0,Br.concatBytes)(vi,t);return yi.encrypt(e,n),n},decrypt(t){if((0,Dr.bytes)(t),t.length%8!=0||t.length<24)throw new Error(\"invalid ciphertext length\");const n=(0,Br.copyBytes)(t);if(yi.decrypt(e,n),!(0,Br.equalBytes)(n.subarray(0,8),vi))throw new Error(\"integrity check failed\");return n.subarray(0,8).fill(0),n.subarray(8)}})));const bi=2790873510;_r.aeskwp=(0,Br.wrapCipher)({blockSize:8},(e=>({encrypt(t){if((0,Dr.bytes)(t),!t.length)throw new Error(\"invalid plaintext length\");const n=8*Math.ceil(t.length/8),r=new Uint8Array(8+n);r.set(t,8);const i=(0,Br.u32)(r);return i[0]=bi,i[1]=Gr(t.length),yi.encrypt(e,r),r},decrypt(t){if((0,Dr.bytes)(t),t.length<16)throw new Error(\"invalid ciphertext length\");const n=(0,Br.copyBytes)(t),r=(0,Br.u32)(n);yi.decrypt(e,n);const i=Gr(r[1])>>>0,o=8*Math.ceil(i/8);if(r[0]!==bi||n.length-8!==o)throw new Error(\"integrity check failed\");for(let e=i;e<o;e++)if(0!==n[8+e])throw new Error(\"integrity check failed\");return n.subarray(0,8).fill(0),n.subarray(8,8+i)}}))),_r.unsafe={expandKeyLE:Qr,expandKeyDecLE:ei,encrypt:ri,decrypt:ii,encryptBlock:gi,decryptBlock:mi,ctrCounter:si,ctr32:ai},Object.defineProperty(Sr,\"__esModule\",{value:!0}),Sr.aes256cbc=Sr.aes256gcm=void 0;var wi=_r;Sr.aes256gcm=function(e,t,n){return(0,wi.gcm)(e,t,n)};Sr.aes256cbc=function(e,t,n){return(0,wi.cbc)(e,t)};var Ei={},Ci={},Si={};Object.defineProperty(Si,\"__esModule\",{value:!0}),Si.sigma=void 0,Si.rotl=function(e,t){return e<<t|e>>>32-t},Si.createCipher=function(e,t){const{allowShortKeys:n,extendNonceFn:r,counterLength:i,counterRight:o,rounds:s}=(0,ki.checkOpts)({allowShortKeys:!1,counterLength:8,counterRight:!1,rounds:20},t);if(\"function\"!=typeof e)throw new Error(\"core must be a function\");return(0,_i.number)(i),(0,_i.number)(s),(0,_i.bool)(o),(0,_i.bool)(n),(t,a,c,l,d=0)=>{(0,_i.bytes)(t),(0,_i.bytes)(a),(0,_i.bytes)(c);const u=c.length;if(void 0===l&&(l=new Uint8Array(u)),(0,_i.bytes)(l),(0,_i.number)(d),d<0||d>=Ti)throw new Error(\"arx: counter overflow\");if(l.length<u)throw new Error(`arx: output (${l.length}) is shorter than data (${u})`);const h=[];let f,p,g=t.length;if(32===g)h.push(f=(0,ki.copyBytes)(t)),p=Ri;else{if(16!==g||!n)throw new Error(`arx: invalid 32-byte key, got length=${g}`);f=new Uint8Array(32),f.set(t),f.set(t,16),p=Ii,h.push(f)}Pi(a)||h.push(a=(0,ki.copyBytes)(a));const m=(0,ki.u32)(f);if(r){if(24!==a.length)throw new Error(\"arx: extended nonce must be 24 bytes\");r(p,m,(0,ki.u32)(a.subarray(0,16)),m),a=a.subarray(16)}const y=16-i;if(y!==a.length)throw new Error(`arx: nonce must be ${y} or 16 bytes`);if(12!==y){const e=new Uint8Array(12);e.set(a,o?0:12-a.length),a=e,h.push(a)}const v=(0,ki.u32)(a);return function(e,t,n,r,i,o,s,a){const c=i.length,l=new Uint8Array(Li),d=(0,ki.u32)(l),u=Pi(i)&&Pi(o),h=u?(0,ki.u32)(i):Ni,f=u?(0,ki.u32)(o):Ni;for(let p=0;p<c;s++){if(e(t,n,r,d,s,a),s>=Ti)throw new Error(\"arx: counter overflow\");const g=Math.min(Li,c-p);if(u&&g===Li){const e=p/4;if(p%4!=0)throw new Error(\"arx: invalid block position\");for(let t,n=0;n<Oi;n++)t=e+n,f[t]=h[t]^d[n];p+=Li}else{for(let e,t=0;t<g;t++)e=p+t,o[e]=i[e]^l[t];p+=g}}}(e,p,m,v,c,l,d,s),(0,ki.clean)(...h),l}};const _i=pe,ki=fe,xi=e=>Uint8Array.from(e.split(\"\").map((e=>e.charCodeAt(0)))),Mi=xi(\"expand 16-byte k\"),Ai=xi(\"expand 32-byte k\"),Ii=(0,ki.u32)(Mi),Ri=(0,ki.u32)(Ai);function Pi(e){return e.byteOffset%4==0}Si.sigma=Ri.slice();const Li=64,Oi=16,Ti=2**32-1,Ni=new Uint32Array;var Di={};Object.defineProperty(Di,\"__esModule\",{value:!0}),Di.poly1305=void 0,Di.wrapConstructorWithKey=Ui;const $i=pe,Bi=fe,Ki=(e,t)=>255&e[t++]|(255&e[t++])<<8;class ji{constructor(e){this.blockLen=16,this.outputLen=16,this.buffer=new Uint8Array(16),this.r=new Uint16Array(10),this.h=new Uint16Array(10),this.pad=new Uint16Array(8),this.pos=0,this.finished=!1,e=(0,Bi.toBytes)(e),(0,$i.bytes)(e,32);const t=Ki(e,0),n=Ki(e,2),r=Ki(e,4),i=Ki(e,6),o=Ki(e,8),s=Ki(e,10),a=Ki(e,12),c=Ki(e,14);this.r[0]=8191&t,this.r[1]=8191&(t>>>13|n<<3),this.r[2]=7939&(n>>>10|r<<6),this.r[3]=8191&(r>>>7|i<<9),this.r[4]=255&(i>>>4|o<<12),this.r[5]=o>>>1&8190,this.r[6]=8191&(o>>>14|s<<2),this.r[7]=8065&(s>>>11|a<<5),this.r[8]=8191&(a>>>8|c<<8),this.r[9]=c>>>5&127;for(let t=0;t<8;t++)this.pad[t]=Ki(e,16+2*t)}process(e,t,n=!1){const r=n?0:2048,{h:i,r:o}=this,s=o[0],a=o[1],c=o[2],l=o[3],d=o[4],u=o[5],h=o[6],f=o[7],p=o[8],g=o[9],m=Ki(e,t+0),y=Ki(e,t+2),v=Ki(e,t+4),b=Ki(e,t+6),w=Ki(e,t+8),E=Ki(e,t+10),C=Ki(e,t+12),S=Ki(e,t+14);let _=i[0]+(8191&m),k=i[1]+(8191&(m>>>13|y<<3)),x=i[2]+(8191&(y>>>10|v<<6)),M=i[3]+(8191&(v>>>7|b<<9)),A=i[4]+(8191&(b>>>4|w<<12)),I=i[5]+(w>>>1&8191),R=i[6]+(8191&(w>>>14|E<<2)),P=i[7]+(8191&(E>>>11|C<<5)),L=i[8]+(8191&(C>>>8|S<<8)),O=i[9]+(S>>>5|r),T=0,N=T+_*s+k*(5*g)+x*(5*p)+M*(5*f)+A*(5*h);T=N>>>13,N&=8191,N+=I*(5*u)+R*(5*d)+P*(5*l)+L*(5*c)+O*(5*a),T+=N>>>13,N&=8191;let D=T+_*a+k*s+x*(5*g)+M*(5*p)+A*(5*f);T=D>>>13,D&=8191,D+=I*(5*h)+R*(5*u)+P*(5*d)+L*(5*l)+O*(5*c),T+=D>>>13,D&=8191;let $=T+_*c+k*a+x*s+M*(5*g)+A*(5*p);T=$>>>13,$&=8191,$+=I*(5*f)+R*(5*h)+P*(5*u)+L*(5*d)+O*(5*l),T+=$>>>13,$&=8191;let B=T+_*l+k*c+x*a+M*s+A*(5*g);T=B>>>13,B&=8191,B+=I*(5*p)+R*(5*f)+P*(5*h)+L*(5*u)+O*(5*d),T+=B>>>13,B&=8191;let K=T+_*d+k*l+x*c+M*a+A*s;T=K>>>13,K&=8191,K+=I*(5*g)+R*(5*p)+P*(5*f)+L*(5*h)+O*(5*u),T+=K>>>13,K&=8191;let j=T+_*u+k*d+x*l+M*c+A*a;T=j>>>13,j&=8191,j+=I*s+R*(5*g)+P*(5*p)+L*(5*f)+O*(5*h),T+=j>>>13,j&=8191;let U=T+_*h+k*u+x*d+M*l+A*c;T=U>>>13,U&=8191,U+=I*a+R*s+P*(5*g)+L*(5*p)+O*(5*f),T+=U>>>13,U&=8191;let H=T+_*f+k*h+x*u+M*d+A*l;T=H>>>13,H&=8191,H+=I*c+R*a+P*s+L*(5*g)+O*(5*p),T+=H>>>13,H&=8191;let F=T+_*p+k*f+x*h+M*u+A*d;T=F>>>13,F&=8191,F+=I*l+R*c+P*a+L*s+O*(5*g),T+=F>>>13,F&=8191;let z=T+_*g+k*p+x*f+M*h+A*u;T=z>>>13,z&=8191,z+=I*d+R*l+P*c+L*a+O*s,T+=z>>>13,z&=8191,T=(T<<2)+T|0,T=T+N|0,N=8191&T,T>>>=13,D+=T,i[0]=N,i[1]=D,i[2]=$,i[3]=B,i[4]=K,i[5]=j,i[6]=U,i[7]=H,i[8]=F,i[9]=z}finalize(){const{h:e,pad:t}=this,n=new Uint16Array(10);let r=e[1]>>>13;e[1]&=8191;for(let t=2;t<10;t++)e[t]+=r,r=e[t]>>>13,e[t]&=8191;e[0]+=5*r,r=e[0]>>>13,e[0]&=8191,e[1]+=r,r=e[1]>>>13,e[1]&=8191,e[2]+=r,n[0]=e[0]+5,r=n[0]>>>13,n[0]&=8191;for(let t=1;t<10;t++)n[t]=e[t]+r,r=n[t]>>>13,n[t]&=8191;n[9]-=8192;let i=(1^r)-1;for(let e=0;e<10;e++)n[e]&=i;i=~i;for(let t=0;t<10;t++)e[t]=e[t]&i|n[t];e[0]=65535&(e[0]|e[1]<<13),e[1]=65535&(e[1]>>>3|e[2]<<10),e[2]=65535&(e[2]>>>6|e[3]<<7),e[3]=65535&(e[3]>>>9|e[4]<<4),e[4]=65535&(e[4]>>>12|e[5]<<1|e[6]<<14),e[5]=65535&(e[6]>>>2|e[7]<<11),e[6]=65535&(e[7]>>>5|e[8]<<8),e[7]=65535&(e[8]>>>8|e[9]<<5);let o=e[0]+t[0];e[0]=65535&o;for(let n=1;n<8;n++)o=(e[n]+t[n]|0)+(o>>>16)|0,e[n]=65535&o;(0,Bi.clean)(n)}update(e){(0,$i.exists)(this);const{buffer:t,blockLen:n}=this,r=(e=(0,Bi.toBytes)(e)).length;for(let i=0;i<r;){const o=Math.min(n-this.pos,r-i);if(o!==n)t.set(e.subarray(i,i+o),this.pos),this.pos+=o,i+=o,this.pos===n&&(this.process(t,0,!1),this.pos=0);else for(;n<=r-i;i+=n)this.process(e,i)}return this}destroy(){(0,Bi.clean)(this.h,this.r,this.buffer,this.pad)}digestInto(e){(0,$i.exists)(this),(0,$i.output)(e,this),this.finished=!0;const{buffer:t,h:n}=this;let{pos:r}=this;if(r){for(t[r++]=1;r<16;r++)t[r]=0;this.process(t,0,!0)}this.finalize();let i=0;for(let t=0;t<8;t++)e[i++]=n[t]>>>0,e[i++]=n[t]>>>8;return e}digest(){const{buffer:e,outputLen:t}=this;this.digestInto(e);const n=e.slice(0,t);return this.destroy(),n}}function Ui(e){const t=(t,n)=>e(n).update((0,Bi.toBytes)(t)).digest(),n=e(new Uint8Array(32));return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=t=>e(t),t}Di.poly1305=Ui((e=>new ji(e))),function(e){Object.defineProperty(e,\"__esModule\",{value:!0}),e.xchacha20poly1305=e.chacha20poly1305=e._poly1305_aead=e.chacha12=e.chacha8=e.xchacha20=e.chacha20=e.chacha20orig=void 0,e.hchacha=s;const t=Si,n=pe,r=Di,i=fe;function o(e,n,r,i,o,s=20){let a=e[0],c=e[1],l=e[2],d=e[3],u=n[0],h=n[1],f=n[2],p=n[3],g=n[4],m=n[5],y=n[6],v=n[7],b=o,w=r[0],E=r[1],C=r[2],S=a,_=c,k=l,x=d,M=u,A=h,I=f,R=p,P=g,L=m,O=y,T=v,N=b,D=w,$=E,B=C;for(let e=0;e<s;e+=2)S=S+M|0,N=(0,t.rotl)(N^S,16),P=P+N|0,M=(0,t.rotl)(M^P,12),S=S+M|0,N=(0,t.rotl)(N^S,8),P=P+N|0,M=(0,t.rotl)(M^P,7),_=_+A|0,D=(0,t.rotl)(D^_,16),L=L+D|0,A=(0,t.rotl)(A^L,12),_=_+A|0,D=(0,t.rotl)(D^_,8),L=L+D|0,A=(0,t.rotl)(A^L,7),k=k+I|0,$=(0,t.rotl)($^k,16),O=O+$|0,I=(0,t.rotl)(I^O,12),k=k+I|0,$=(0,t.rotl)($^k,8),O=O+$|0,I=(0,t.rotl)(I^O,7),x=x+R|0,B=(0,t.rotl)(B^x,16),T=T+B|0,R=(0,t.rotl)(R^T,12),x=x+R|0,B=(0,t.rotl)(B^x,8),T=T+B|0,R=(0,t.rotl)(R^T,7),S=S+A|0,B=(0,t.rotl)(B^S,16),O=O+B|0,A=(0,t.rotl)(A^O,12),S=S+A|0,B=(0,t.rotl)(B^S,8),O=O+B|0,A=(0,t.rotl)(A^O,7),_=_+I|0,N=(0,t.rotl)(N^_,16),T=T+N|0,I=(0,t.rotl)(I^T,12),_=_+I|0,N=(0,t.rotl)(N^_,8),T=T+N|0,I=(0,t.rotl)(I^T,7),k=k+R|0,D=(0,t.rotl)(D^k,16),P=P+D|0,R=(0,t.rotl)(R^P,12),k=k+R|0,D=(0,t.rotl)(D^k,8),P=P+D|0,R=(0,t.rotl)(R^P,7),x=x+M|0,$=(0,t.rotl)($^x,16),L=L+$|0,M=(0,t.rotl)(M^L,12),x=x+M|0,$=(0,t.rotl)($^x,8),L=L+$|0,M=(0,t.rotl)(M^L,7);let K=0;i[K++]=a+S|0,i[K++]=c+_|0,i[K++]=l+k|0,i[K++]=d+x|0,i[K++]=u+M|0,i[K++]=h+A|0,i[K++]=f+I|0,i[K++]=p+R|0,i[K++]=g+P|0,i[K++]=m+L|0,i[K++]=y+O|0,i[K++]=v+T|0,i[K++]=b+N|0,i[K++]=w+D|0,i[K++]=E+$|0,i[K++]=C+B|0}function s(e,n,r,i){let o=e[0],s=e[1],a=e[2],c=e[3],l=n[0],d=n[1],u=n[2],h=n[3],f=n[4],p=n[5],g=n[6],m=n[7],y=r[0],v=r[1],b=r[2],w=r[3];for(let e=0;e<20;e+=2)o=o+l|0,y=(0,t.rotl)(y^o,16),f=f+y|0,l=(0,t.rotl)(l^f,12),o=o+l|0,y=(0,t.rotl)(y^o,8),f=f+y|0,l=(0,t.rotl)(l^f,7),s=s+d|0,v=(0,t.rotl)(v^s,16),p=p+v|0,d=(0,t.rotl)(d^p,12),s=s+d|0,v=(0,t.rotl)(v^s,8),p=p+v|0,d=(0,t.rotl)(d^p,7),a=a+u|0,b=(0,t.rotl)(b^a,16),g=g+b|0,u=(0,t.rotl)(u^g,12),a=a+u|0,b=(0,t.rotl)(b^a,8),g=g+b|0,u=(0,t.rotl)(u^g,7),c=c+h|0,w=(0,t.rotl)(w^c,16),m=m+w|0,h=(0,t.rotl)(h^m,12),c=c+h|0,w=(0,t.rotl)(w^c,8),m=m+w|0,h=(0,t.rotl)(h^m,7),o=o+d|0,w=(0,t.rotl)(w^o,16),g=g+w|0,d=(0,t.rotl)(d^g,12),o=o+d|0,w=(0,t.rotl)(w^o,8),g=g+w|0,d=(0,t.rotl)(d^g,7),s=s+u|0,y=(0,t.rotl)(y^s,16),m=m+y|0,u=(0,t.rotl)(u^m,12),s=s+u|0,y=(0,t.rotl)(y^s,8),m=m+y|0,u=(0,t.rotl)(u^m,7),a=a+h|0,v=(0,t.rotl)(v^a,16),f=f+v|0,h=(0,t.rotl)(h^f,12),a=a+h|0,v=(0,t.rotl)(v^a,8),f=f+v|0,h=(0,t.rotl)(h^f,7),c=c+l|0,b=(0,t.rotl)(b^c,16),p=p+b|0,l=(0,t.rotl)(l^p,12),c=c+l|0,b=(0,t.rotl)(b^c,8),p=p+b|0,l=(0,t.rotl)(l^p,7);let E=0;i[E++]=o,i[E++]=s,i[E++]=a,i[E++]=c,i[E++]=y,i[E++]=v,i[E++]=b,i[E++]=w}e.chacha20orig=(0,t.createCipher)(o,{counterRight:!1,counterLength:8,allowShortKeys:!0}),e.chacha20=(0,t.createCipher)(o,{counterRight:!1,counterLength:4,allowShortKeys:!1}),e.xchacha20=(0,t.createCipher)(o,{counterRight:!1,counterLength:8,extendNonceFn:s,allowShortKeys:!1}),e.chacha8=(0,t.createCipher)(o,{counterRight:!1,counterLength:4,rounds:8}),e.chacha12=(0,t.createCipher)(o,{counterRight:!1,counterLength:4,rounds:12});const a=new Uint8Array(16),c=(e,t)=>{e.update(t);const n=t.length%16;n&&e.update(a.subarray(n))},l=new Uint8Array(32);function d(e,t,n,o,s){const a=e(t,n,l),d=r.poly1305.create(a);s&&c(d,s),c(d,o);const u=new Uint8Array(16),h=(0,i.createView)(u);(0,i.setBigUint64)(h,0,BigInt(s?s.length:0),!0),(0,i.setBigUint64)(h,8,BigInt(o.length),!0),d.update(u);const f=d.digest();return(0,i.clean)(a,u),f}e._poly1305_aead=e=>(t,r,o)=>{const s=16;return(0,n.bytes)(t,32),(0,n.bytes)(r),{encrypt(a,c){const l=a.length,u=l+s;c?(0,n.bytes)(c,u):c=new Uint8Array(u),e(t,r,a,c,1);const h=d(e,t,r,c.subarray(0,-16),o);return c.set(h,l),(0,i.clean)(h),c},decrypt(a,c){const l=a.length,u=l-s;if(l<s)throw new Error(\"encrypted data must be at least 16 bytes\");c?(0,n.bytes)(c,u):c=new Uint8Array(u);const h=a.subarray(0,-16),f=a.subarray(-16),p=d(e,t,r,h,o);if(!(0,i.equalBytes)(f,p))throw new Error(\"invalid tag\");return e(t,r,h,c,1),(0,i.clean)(p),c}}},e.chacha20poly1305=(0,i.wrapCipher)({blockSize:64,nonceLength:12,tagLength:16},(0,e._poly1305_aead)(e.chacha20)),e.xchacha20poly1305=(0,i.wrapCipher)({blockSize:64,nonceLength:24,tagLength:16},(0,e._poly1305_aead)(e.xchacha20))}(Ci),Object.defineProperty(Ei,\"__esModule\",{value:!0}),Ei.xchacha20=void 0;var Hi,Fi,zi,qi=Ci;Ei.xchacha20=function(e,t,n){return(0,qi.xchacha20poly1305)(e,t,n)},function(e){Object.defineProperty(e,\"__esModule\",{value:!0}),e.aesDecrypt=e.aesEncrypt=e.symDecrypt=e.symEncrypt=void 0;var t=fe,n=Ie,r=Sr,i=Ei,o=Se,s=_e;e.symEncrypt=function(e,t,n){return a(c,e,t,n)};function a(e,t,n,a){var c=(0,o.symmetricAlgorithm)();if(\"aes-256-gcm\"===c)return e(r.aes256gcm,t,n,(0,o.symmetricNonceLength)(),s.AEAD_TAG_LENGTH,a);if(\"xchacha20\"===c)return e(i.xchacha20,t,n,s.XCHACHA20_NONCE_LENGTH,s.AEAD_TAG_LENGTH,a);if(\"aes-256-cbc\"===c)return e(r.aes256cbc,t,n,16,0);throw new Error(\"Not implemented\")}function c(e,r,i,o,s,a){var c=(0,n.randomBytes)(o),l=e(r,c,a).encrypt(i);if(0===s)return(0,t.concatBytes)(c,l);var d=l.length-s,u=l.subarray(0,d),h=l.subarray(d);return(0,t.concatBytes)(c,h,u)}function l(e,n,r,i,o,s){var a=r.subarray(0,i),c=e(n,Uint8Array.from(a),s),l=r.subarray(i);if(0===o)return c.decrypt(l);var d=l.subarray(0,o),u=l.subarray(o);return c.decrypt((0,t.concatBytes)(u,d))}e.symDecrypt=function(e,t,n){return a(l,e,t,n)},e.aesEncrypt=e.symEncrypt,e.aesDecrypt=e.symDecrypt}(Cr),Hi=Me,Fi=le&&le.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);i&&!(\"get\"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),zi=le&&le.__exportStar||function(e,t){for(var n in e)\"default\"===n||Object.prototype.hasOwnProperty.call(t,n)||Fi(t,e,n)},Object.defineProperty(Hi,\"__esModule\",{value:!0}),zi(Ae,Hi),zi(fr,Hi),zi(hr,Hi),zi(Cr,Hi);var Vi={};Object.defineProperty(Vi,\"__esModule\",{value:!0}),Vi.PublicKey=void 0;var Wi=fe,Gi=Me,Zi=function(){function e(e){this.data=(0,Gi.convertPublicKeyFormat)(e,!0)}return e.fromHex=function(t){return new e((0,Gi.hexToPublicKey)(t))},Object.defineProperty(e.prototype,\"uncompressed\",{get:function(){return S.from((0,Gi.convertPublicKeyFormat)(this.data,!1))},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"compressed\",{get:function(){return S.from(this.data)},enumerable:!1,configurable:!0}),e.prototype.toHex=function(e){return void 0===e&&(e=!0),(0,Wi.bytesToHex)(e?this.data:this.uncompressed)},e.prototype.decapsulate=function(e,t){void 0===t&&(t=!1);var n=t?this.data:this.uncompressed,r=e.multiply(this,t);return(0,Gi.getSharedKey)(n,r)},e.prototype.equals=function(e){return(0,Wi.equalBytes)(this.data,e.data)},e}();Vi.PublicKey=Zi,Object.defineProperty(xe,\"__esModule\",{value:!0}),xe.PrivateKey=void 0;var Yi=fe,Ji=Me,Xi=Vi,Qi=function(){function e(e){if(void 0===e)this.data=(0,Ji.getValidSecret)();else{if(!(0,Ji.isValidPrivateKey)(e))throw new Error(\"Invalid private key\");this.data=e}this.publicKey=new Xi.PublicKey((0,Ji.getPublicKey)(this.data))}return e.fromHex=function(t){return new e((0,Ji.decodeHex)(t))},Object.defineProperty(e.prototype,\"secret\",{get:function(){return S.from(this.data)},enumerable:!1,configurable:!0}),e.prototype.toHex=function(){return(0,Yi.bytesToHex)(this.data)},e.prototype.encapsulate=function(e,t){void 0===t&&(t=!1);var n=t?this.publicKey.compressed:this.publicKey.uncompressed,r=this.multiply(e,t);return(0,Ji.getSharedKey)(n,r)},e.prototype.multiply=function(e,t){return void 0===t&&(t=!1),(0,Ji.getSharedPoint)(this.data,e.compressed,t)},e.prototype.equals=function(e){return(0,Yi.equalBytes)(this.data,e.data)},e}();xe.PrivateKey=Qi,function(e){Object.defineProperty(e,\"__esModule\",{value:!0}),e.PublicKey=e.PrivateKey=void 0;var t=xe;Object.defineProperty(e,\"PrivateKey\",{enumerable:!0,get:function(){return t.PrivateKey}});var n=Vi;Object.defineProperty(e,\"PublicKey\",{enumerable:!0,get:function(){return n.PublicKey}})}(ke),function(e){Object.defineProperty(e,\"__esModule\",{value:!0}),e.utils=e.PublicKey=e.PrivateKey=e.ECIES_CONFIG=void 0,e.encrypt=function(e,o){var s=new r.PrivateKey,a=e instanceof Uint8Array?new r.PublicKey(e):r.PublicKey.fromHex(e),c=s.encapsulate(a,(0,n.isHkdfKeyCompressed)()),l=(0,n.isEphemeralKeyCompressed)()?s.publicKey.compressed:s.publicKey.uncompressed,d=(0,i.symEncrypt)(c,o);return S.from((0,t.concatBytes)(l,d))},e.decrypt=function(e,t){var o=e instanceof Uint8Array?new r.PrivateKey(e):r.PrivateKey.fromHex(e),s=(0,n.ephemeralKeySize)(),a=new r.PublicKey(t.subarray(0,s)),c=t.subarray(s),l=a.decapsulate(o,(0,n.isHkdfKeyCompressed)());return S.from((0,i.symDecrypt)(l,c))};var t=fe,n=Se,r=ke,i=Me;var o=Se;Object.defineProperty(e,\"ECIES_CONFIG\",{enumerable:!0,get:function(){return o.ECIES_CONFIG}});var s=ke;Object.defineProperty(e,\"PrivateKey\",{enumerable:!0,get:function(){return s.PrivateKey}}),Object.defineProperty(e,\"PublicKey\",{enumerable:!0,get:function(){return s.PublicKey}}),e.utils={aesEncrypt:i.aesEncrypt,aesDecrypt:i.aesDecrypt,symEncrypt:i.symEncrypt,symDecrypt:i.symDecrypt,decodeHex:i.decodeHex,getValidSecret:i.getValidSecret,remove0x:i.remove0x}}(he);const eo=t(\"KeyExchange:Layer\"),to=t(\"SocketService:Layer\"),no=t(\"Ecies:Layer\"),ro=t(\"RemoteCommunication:Layer\");eo.color=\"##95c44e\",to.color=\"#f638d7\",no.color=\"#465b9c\",ro.color=\"#47a2be\";const io={KeyExchange:eo,SocketService:to,Ecies:no,RemoteCommunication:ro};let oo,so=[],ao=[];const co=(t,n)=>a(void 0,void 0,void 0,(function*(){oo=n,ao.push(t),function(t){return a(this,void 0,void 0,(function*(){if(!oo||!t)return;!function(){const e=ao;ao=so,so=e}();const n=oo.endsWith(\"/\")?`${oo}evt`:`${oo}/evt`,r=Object.assign({},t);if(delete r.params,t.params)for(const[e,n]of Object.entries(t.params))r[e]=n;const i=JSON.stringify(r);io.RemoteCommunication(`[sendBufferedEvents] Sending ${so.length} analytics events to ${n}`);try{const t=yield e(n,{method:\"POST\",headers:{Accept:\"application/json\",\"Content-Type\":\"application/json\"},body:i}),r=yield t.text();io.RemoteCommunication(`[sendBufferedEvents] Response: ${r}`),so.length=0}catch(n){}}))}(t).catch((()=>{}))}));class lo{constructor(e){this.enabled=!0,(null==e?void 0:e.debug)&&t.enable(\"Ecies:Layer\"),this.ecies=(null==e?void 0:e.privateKey)?he.PrivateKey.fromHex(e.privateKey):new he.PrivateKey,io.Ecies(\"[ECIES constructor()] initialized secret: \",this.ecies.toHex()),io.Ecies(\"[ECIES constructor()] initialized public: \",this.ecies.publicKey.toHex()),io.Ecies(\"[ECIES constructor()] init with\",this)}generateECIES(){this.ecies=new he.PrivateKey}getPublicKey(){return this.ecies.publicKey.toHex()}encrypt(e,t){let n=e;if(this.enabled)try{io.Ecies(\"[ECIES: encrypt()] using otherPublicKey\",t);const r=S.from(e),i=he.encrypt(t,r);n=S.from(i).toString(\"base64\")}catch(n){throw io.Ecies(\"[ECIES: encrypt()] error encrypt:\",n),io.Ecies(\"[ECIES: encrypt()] private: \",this.ecies.toHex()),io.Ecies(\"[ECIES: encrypt()] data: \",e),io.Ecies(\"[ECIES: encrypt()] otherkey: \",t),n}return n}decrypt(e){let t=e;if(this.enabled)try{io.Ecies(\"[ECIES: decrypt()] using privateKey\",this.ecies.toHex());const n=S.from(e.toString(),\"base64\");t=he.decrypt(this.ecies.toHex(),n).toString()}catch(t){throw io.Ecies(\"[ECIES: decrypt()] error decrypt\",t),io.Ecies(\"[ECIES: decrypt()] private: \",this.ecies.toHex()),io.Ecies(\"[ECIES: decrypt()] encryptedData: \",e),t}return t}getKeyInfo(){return{private:this.ecies.toHex(),public:this.ecies.publicKey.toHex()}}toString(){io.Ecies(\"[ECIES: toString()]\",this.getKeyInfo())}}var uo={name:\"@metamask/sdk-communication-layer\",version:\"0.32.0\",description:\"\",homepage:\"https://github.com/MetaMask/metamask-sdk#readme\",bugs:{url:\"https://github.com/MetaMask/metamask-sdk/issues\"},repository:{type:\"git\",url:\"https://github.com/MetaMask/metamask-sdk.git\",directory:\"packages/sdk-communication-layer\"},main:\"dist/node/cjs/metamask-sdk-communication-layer.js\",unpkg:\"dist/browser/umd/metamask-sdk-communication-layer.js\",module:\"dist/node/es/metamask-sdk-communication-layer.js\",browser:\"dist/browser/es/metamask-sdk-communication-layer.js\",\"react-native\":\"dist/react-native/es/metamask-sdk-communication-layer.js\",types:\"dist/types/src/index.d.ts\",files:[\"/dist\"],scripts:{\"build:types\":\"tsc --project tsconfig.build.json --emitDeclarationOnly --outDir dist/types\",\"build:clean\":\"yarn clean && yarn build\",build:\"yarn build:types && rollup -c --bundleConfigAsCjs\",\"build:dev\":\"yarn build:types && NODE_ENV=dev rollup -c --bundleConfigAsCjs\",dev:'concurrently \"tsc --watch\" \"rollup -c --bundleConfigAsCjs -w\"',\"build:post-tsc\":\"echo 'N/A'\",\"build:pre-tsc\":\"echo 'N/A'\",size:\"size-limit\",clean:\"rimraf ./dist\",lint:\"yarn lint:eslint && yarn lint:misc --check\",\"lint:changelog\":\"../../scripts/validate-changelog.sh @metamask/sdk-communication-layer\",\"lint:eslint\":\"eslint . --cache --ext js,ts\",\"lint:fix\":\"yarn lint:eslint --fix && yarn lint:misc --write\",\"lint:misc\":\"prettier '**/*.json' '**/*.md' '!CHANGELOG.md' --ignore-path ../../.gitignore\",\"publish:preview\":\"yarn npm publish --tag preview\",prepack:\"../../scripts/prepack.sh\",reset:\"yarn clean && rimraf ./node_modules/\",test:'jest --testPathIgnorePatterns \"/e2e/\"',\"test:e2e\":'jest --testPathPattern \"/e2e/\"',\"test:coverage\":\"jest --coverage\",\"test:ci\":'jest --coverage --passWithNoTests --setupFilesAfterEnv ./jest-preload.js --testPathIgnorePatterns \"/e2e/\"',\"test:dev\":\"jest\",watch:\"rollup -c --bundleConfigAsCjs -w\"},dependencies:{bufferutil:\"^4.0.8\",\"date-fns\":\"^2.29.3\",debug:\"^4.3.4\",\"utf-8-validate\":\"^5.0.2\",uuid:\"^8.3.2\"},devDependencies:{\"@jest/globals\":\"^29.3.1\",\"@lavamoat/allow-scripts\":\"^2.3.1\",\"@metamask/auto-changelog\":\"3.1.0\",\"@metamask/eslint-config\":\"^6.0.0\",\"@metamask/eslint-config-nodejs\":\"^6.0.0\",\"@metamask/eslint-config-typescript\":\"^6.0.0\",\"@rollup/plugin-commonjs\":\"^25.0.0\",\"@rollup/plugin-json\":\"^6.0.0\",\"@rollup/plugin-node-resolve\":\"^15.0.2\",\"@rollup/plugin-replace\":\"^6.0.1\",\"@rollup/plugin-terser\":\"^0.4.4\",\"@size-limit/preset-big-lib\":\"^11.0.2\",\"@types/jest\":\"^29.2.4\",\"@types/node\":\"^20.1.3\",\"@types/uuid\":\"^9.0.0\",\"@typescript-eslint/eslint-plugin\":\"^4.26.0\",\"@typescript-eslint/parser\":\"^4.26.0\",concurrently:\"^9.1.2\",\"cross-fetch\":\"^4.0.0\",eciesjs:\"^0.4.11\",eslint:\"^7.30.0\",\"eslint-config-prettier\":\"^8.3.0\",\"eslint-plugin-import\":\"^2.23.4\",\"eslint-plugin-jest\":\"^24.4.0\",\"eslint-plugin-jsdoc\":\"^36.1.0\",\"eslint-plugin-node\":\"^11.1.0\",\"eslint-plugin-prettier\":\"^3.4.0\",eventemitter2:\"^6.4.9\",jest:\"^29.3.1\",prettier:\"^2.3.0\",rimraf:\"^3.0.2\",rollup:\"^4.26.0\",\"rollup-plugin-jscc\":\"^2.0.0\",\"rollup-plugin-natives\":\"^0.7.5\",\"rollup-plugin-node-builtins\":\"^2.1.2\",\"rollup-plugin-node-globals\":\"^1.4.0\",\"rollup-plugin-peer-deps-external\":\"^2.2.4\",\"rollup-plugin-polyfill-node\":\"^0.13.0\",\"rollup-plugin-sizes\":\"^1.0.6\",\"rollup-plugin-typescript2\":\"^0.31.2\",\"rollup-plugin-visualizer\":\"^5.12.0\",\"size-limit\":\"^11.1.6\",\"socket.io-client\":\"^4.5.1\",\"stream-browserify\":\"^3.0.0\",\"ts-jest\":\"^29.0.3\",\"ts-node\":\"^10.9.1\",typescript:\"^5.6.3\"},peerDependencies:{\"cross-fetch\":\"^4.0.0\",eciesjs:\"*\",eventemitter2:\"^6.4.9\",\"readable-stream\":\"^3.6.2\",\"socket.io-client\":\"^4.5.1\"},publishConfig:{access:\"public\",registry:\"https://registry.npmjs.org/\"},lavamoat:{allowScripts:{\"@lavamoat/preinstall-always-fail\":!1,canvas:!0,\"eciesjs>secp256k1\":!1,\"socket.io-client>engine.io-client>ws>bufferutil\":!1,\"socket.io-client>engine.io-client>ws>utf-8-validate\":!1,bufferutil:!1,\"utf-8-validate\":!1}}};const ho=\"https://metamask-sdk.api.cx.metamask.io/\",fo=[\"websocket\"],po=6048e5,go=3e3,mo={METAMASK_GETPROVIDERSTATE:\"metamask_getProviderState\",ETH_REQUESTACCOUNTS:\"eth_requestAccounts\"};function yo(e){const{context:t}=e;io.RemoteCommunication(`[RemoteCommunication: clean()] context=${t}`),e.channelConfig=void 0,e.ready=!1,e.originatorConnectStarted=!1}var vo,bo,wo,Eo,Co,So,_o;(_o=vo||(vo={})).DISCONNECTED=\"disconnected\",_o.WAITING=\"waiting\",_o.TIMEOUT=\"timeout\",_o.LINKED=\"linked\",_o.PAUSED=\"paused\",_o.TERMINATED=\"terminated\",function(e){e.KEY_INFO=\"key_info\",e.SERVICE_STATUS=\"service_status\",e.PROVIDER_UPDATE=\"provider_update\",e.RPC_UPDATE=\"rpc_update\",e.KEYS_EXCHANGED=\"keys_exchanged\",e.JOIN_CHANNEL=\"join_channel\",e.PUBLIC_KEY=\"public_key\",e.CHANNEL_CREATED=\"channel_created\",e.CLIENTS_CONNECTED=\"clients_connected\",e.CLIENTS_DISCONNECTED=\"clients_disconnected\",e.CLIENTS_WAITING=\"clients_waiting\",e.CLIENTS_READY=\"clients_ready\",e.REJECTED=\"rejected\",e.WALLET_INIT=\"wallet_init\",e.CHANNEL_PERSISTENCE=\"channel_persistence\",e.CONFIG=\"config\",e.MESSAGE_ACK=\"ack\",e.SOCKET_DISCONNECTED=\"socket_disconnected\",e.SOCKET_RECONNECT=\"socket_reconnect\",e.OTP=\"otp\",e.SDK_RPC_CALL=\"sdk_rpc_call\",e.AUTHORIZED=\"authorized\",e.CONNECTION_STATUS=\"connection_status\",e.MESSAGE=\"message\",e.TERMINATE=\"terminate\"}(bo||(bo={})),(wo||(wo={})).KEY_EXCHANGE=\"key_exchange\",function(e){e.KEY_HANDSHAKE_START=\"key_handshake_start\",e.KEY_HANDSHAKE_CHECK=\"key_handshake_check\",e.KEY_HANDSHAKE_SYN=\"key_handshake_SYN\",e.KEY_HANDSHAKE_SYNACK=\"key_handshake_SYNACK\",e.KEY_HANDSHAKE_ACK=\"key_handshake_ACK\",e.KEY_HANDSHAKE_WALLET=\"key_handshake_wallet\",e.KEY_HANDSHAKE_NONE=\"none\"}(Eo||(Eo={}));class ko extends r{constructor({communicationLayer:e,otherPublicKey:t,context:n,ecies:r,logging:i}){super(),this.keysExchanged=!1,this.step=Eo.KEY_HANDSHAKE_NONE,this.debug=!1,this.context=n,this.communicationLayer=e,(null==r?void 0:r.privateKey)&&t&&(io.KeyExchange(`[KeyExchange: constructor()] otherPubKey=${t} set keysExchanged to true!`,r),this.keysExchanged=!0),this.myECIES=new lo(Object.assign(Object.assign({},r),{debug:null==i?void 0:i.eciesLayer})),this.communicationLayer.state.eciesInstance=this.myECIES,this.myPublicKey=this.myECIES.getPublicKey(),this.debug=!0===(null==i?void 0:i.keyExchangeLayer),t&&this.setOtherPublicKey(t),this.communicationLayer.on(wo.KEY_EXCHANGE,this.onKeyExchangeMessage.bind(this))}onKeyExchangeMessage(e){const{relayPersistence:t}=this.communicationLayer.remote.state;if(io.KeyExchange(`[KeyExchange: onKeyExchangeMessage()] context=${this.context} keysExchanged=${this.keysExchanged} relayPersistence=${t}`,e),t)return void io.KeyExchange(\"[KeyExchange: onKeyExchangeMessage()] Ignoring key exchange message because relay persistence is activated\");const{message:n}=e;this.keysExchanged&&io.KeyExchange(`[KeyExchange: onKeyExchangeMessage()] context=${this.context} received handshake while already exchanged. step=${this.step} otherPubKey=${this.otherPublicKey}`),this.emit(bo.KEY_INFO,n.type),n.type===Eo.KEY_HANDSHAKE_SYN?(this.checkStep([Eo.KEY_HANDSHAKE_NONE,Eo.KEY_HANDSHAKE_ACK]),io.KeyExchange(\"[KeyExchange: onKeyExchangeMessage()] KEY_HANDSHAKE_SYN\",n),n.pubkey&&this.setOtherPublicKey(n.pubkey),this.communicationLayer.sendMessage({type:Eo.KEY_HANDSHAKE_SYNACK,pubkey:this.myPublicKey}).catch((e=>{io.KeyExchange(\"[KeyExchange: onKeyExchangeMessage()] Error sending KEY_HANDSHAKE_SYNACK\",e)})),this.setStep(Eo.KEY_HANDSHAKE_ACK)):n.type===Eo.KEY_HANDSHAKE_SYNACK?(this.checkStep([Eo.KEY_HANDSHAKE_SYNACK,Eo.KEY_HANDSHAKE_ACK,Eo.KEY_HANDSHAKE_NONE]),io.KeyExchange(\"[KeyExchange: onKeyExchangeMessage()] KEY_HANDSHAKE_SYNACK\"),n.pubkey&&this.setOtherPublicKey(n.pubkey),this.communicationLayer.sendMessage({type:Eo.KEY_HANDSHAKE_ACK}).catch((e=>{io.KeyExchange(\"[KeyExchange: onKeyExchangeMessage()] Error sending KEY_HANDSHAKE_ACK\",e)})),this.keysExchanged=!0,this.setStep(Eo.KEY_HANDSHAKE_ACK),this.emit(bo.KEYS_EXCHANGED)):n.type===Eo.KEY_HANDSHAKE_ACK&&(io.KeyExchange(\"[KeyExchange: onKeyExchangeMessage()] KEY_HANDSHAKE_ACK set keysExchanged to true!\"),this.checkStep([Eo.KEY_HANDSHAKE_ACK,Eo.KEY_HANDSHAKE_NONE]),this.keysExchanged=!0,this.setStep(Eo.KEY_HANDSHAKE_ACK),this.emit(bo.KEYS_EXCHANGED))}resetKeys(e){this.clean(),this.myECIES=new lo(e)}clean(){io.KeyExchange(`[KeyExchange: clean()] context=${this.context} reset handshake state`),this.setStep(Eo.KEY_HANDSHAKE_NONE),this.emit(bo.KEY_INFO,this.step),this.keysExchanged=!1}start({isOriginator:e,force:t}){const{relayPersistence:n,protocolVersion:r}=this.communicationLayer.remote.state,i=r>=2;n?io.KeyExchange(\"[KeyExchange: start()] Ignoring key exchange message because relay persistence is activated\"):(io.KeyExchange(`[KeyExchange: start()] context=${this.context} protocolVersion=${r} isOriginator=${e} step=${this.step} force=${t} relayPersistence=${n} keysExchanged=${this.keysExchanged}`),e?!(this.keysExchanged||this.step!==Eo.KEY_HANDSHAKE_NONE&&this.step!==Eo.KEY_HANDSHAKE_SYNACK)||t?(io.KeyExchange(`[KeyExchange: start()] context=${this.context} -- start key exchange (force=${t}) -- step=${this.step}`,this.step),this.clean(),this.setStep(Eo.KEY_HANDSHAKE_SYNACK),this.communicationLayer.sendMessage({type:Eo.KEY_HANDSHAKE_SYN,pubkey:this.myPublicKey,v:2}).catch((e=>{io.KeyExchange(\"[KeyExchange: start()] Error sending KEY_HANDSHAKE_SYN\",e)}))):io.KeyExchange(`[KeyExchange: start()] context=${this.context} -- key exchange already ${this.keysExchanged?\"done\":\"in progress\"} -- aborted.`,this.step):this.keysExchanged&&!0!==t?io.KeyExchange(\"[KeyExchange: start()] don't send KEY_HANDSHAKE_START -- exchange already done.\"):i?this.communicationLayer.sendMessage({type:Eo.KEY_HANDSHAKE_SYNACK,pubkey:this.myPublicKey,v:2}).catch((e=>{io.KeyExchange(\"[KeyExchange: start()] Error sending KEY_HANDSHAKE_SYNACK\",e)})):(this.communicationLayer.sendMessage({type:Eo.KEY_HANDSHAKE_START}).catch((e=>{io.KeyExchange(\"[KeyExchange: start()] Error sending KEY_HANDSHAKE_START\",e)})),this.clean()))}setStep(e){this.step=e,this.emit(bo.KEY_INFO,e)}checkStep(e){e.length>0&&e.indexOf(this.step.toString())}setRelayPersistence({localKey:e,otherKey:t}){this.otherPublicKey=t,this.myECIES=new lo({privateKey:e,debug:this.debug}),this.keysExchanged=!0}setKeysExchanged(e){this.keysExchanged=e}areKeysExchanged(){return this.keysExchanged}getMyPublicKey(){return this.myPublicKey}getOtherPublicKey(){return this.otherPublicKey}setOtherPublicKey(e){io.KeyExchange(\"[KeyExchange: setOtherPubKey()]\",e),this.otherPublicKey=e}encryptMessage(e){if(!this.otherPublicKey)throw new Error(\"encryptMessage: Keys not exchanged - missing otherPubKey\");return this.myECIES.encrypt(e,this.otherPublicKey)}decryptMessage(e){if(!this.otherPublicKey)throw new Error(\"decryptMessage: Keys not exchanged - missing otherPubKey\");return this.myECIES.decrypt(e)}getKeyInfo(){return{ecies:Object.assign(Object.assign({},this.myECIES.getKeyInfo()),{otherPubKey:this.otherPublicKey}),step:this.step,keysExchanged:this.areKeysExchanged()}}toString(){const e={keyInfo:this.getKeyInfo(),keysExchanged:this.keysExchanged,step:this.step};return JSON.stringify(e)}}!function(e){e.TERMINATE=\"terminate\",e.ANSWER=\"answer\",e.OFFER=\"offer\",e.CANDIDATE=\"candidate\",e.JSONRPC=\"jsonrpc\",e.WALLET_INFO=\"wallet_info\",e.WALLET_INIT=\"wallet_init\",e.ORIGINATOR_INFO=\"originator_info\",e.PAUSE=\"pause\",e.OTP=\"otp\",e.AUTHORIZED=\"authorized\",e.PING=\"ping\",e.READY=\"ready\"}(Co||(Co={})),function(e){e.REQUEST=\"sdk_connect_request_started\",e.REQUEST_MOBILE=\"sdk_connect_request_started_mobile\",e.RECONNECT=\"sdk_reconnect_request_started\",e.CONNECTED=\"sdk_connection_established\",e.CONNECTED_MOBILE=\"sdk_connection_established_mobile\",e.AUTHORIZED=\"sdk_connection_authorized\",e.REJECTED=\"sdk_connection_rejected\",e.TERMINATED=\"sdk_connection_terminated\",e.DISCONNECTED=\"sdk_disconnected\",e.SDK_USE_EXTENSION=\"sdk_use_extension\",e.SDK_RPC_REQUEST=\"sdk_rpc_request\",e.SDK_RPC_REQUEST_RECEIVED=\"sdk_rpc_request_received\",e.SDK_RPC_REQUEST_DONE=\"sdk_rpc_request_done\",e.SDK_EXTENSION_UTILIZED=\"sdk_extension_utilized\",e.SDK_USE_INAPP_BROWSER=\"sdk_use_inapp_browser\"}(So||(So={}));const xo=(e,t,n)=>a(void 0,void 0,void 0,(function*(){var r,i,o,s,a,c;const{remote:l,state:d}=e,{channelId:u,isOriginator:h}=d;if(\"error_terminated\"===t)return io.SocketService(`handleJoinChannelResults: Channel ${u} terminated`),void e.emit(bo.TERMINATE);if(!n)return void io.SocketService(`handleJoinChannelResults: No result for channel ${u}`);const{persistence:f,walletKey:p,rejected:g}=n;if(io.SocketService(`handleJoinChannelResults: Channel ${u} persistence=${f} walletKey=${p} rejected=${g}`),g)return io.SocketService(`handleJoinChannelResults: Channel ${u} rejected`),yield e.remote.disconnect({terminate:!0}),e.remote.emit(bo.REJECTED,{channelId:u}),void e.remote.emitServiceStatusEvent();if(p&&!(null===(r=l.state.channelConfig)||void 0===r?void 0:r.otherKey)){e.getKeyExchange().setOtherPublicKey(p),null===(i=e.state.keyExchange)||void 0===i||i.setKeysExchanged(!0),l.state.ready=!0,l.state.authorized=!0,l.emit(bo.AUTHORIZED);const{communicationLayer:t,storageManager:n}=l.state,r=Object.assign(Object.assign({},l.state.channelConfig),{channelId:null!==(o=l.state.channelId)&&void 0!==o?o:\"\",validUntil:Date.now()+po,localKey:null==t?void 0:t.getKeyInfo().ecies.private,otherKey:p});e.sendMessage({type:Eo.KEY_HANDSHAKE_ACK}).catch((e=>{})),null===(s=e.state.socket)||void 0===s||s.emit(Co.PING,{id:u,clientType:h?\"dapp\":\"wallet\",context:\"on_channel_reconnect\",message:\"\"}),yield null==n?void 0:n.persistChannelConfig(r),l.emitServiceStatusEvent(),l.setConnectionStatus(vo.LINKED)}f&&(e.emit(bo.CHANNEL_PERSISTENCE),null===(a=e.state.keyExchange)||void 0===a||a.setKeysExchanged(!0),l.state.ready=!0,l.state.authorized=!0,l.emit(bo.AUTHORIZED),co(Object.assign(Object.assign({id:null!=u?u:\"\",event:h?So.CONNECTED:So.CONNECTED_MOBILE},e.remote.state.originatorInfo),{sdkVersion:e.remote.state.sdkVersion,commLayer:e.state.communicationLayerPreference,commLayerVersion:uo.version,walletVersion:null===(c=e.remote.state.walletInfo)||void 0===c?void 0:c.version}),d.communicationServerUrl).catch((e=>{})))})),Mo=e=>new Promise((t=>{setTimeout(t,e)})),Ao=(e,t,...n)=>a(void 0,[e,t,...n],void 0,(function*(e,t,n=200){let r;const i=Date.now();let o=!1;for(;!o;){if(o=Date.now()-i>3e5,r=t[e],void 0!==r.elapsedTime)return r;yield Mo(n)}throw new Error(`RPC ${e} timed out`)})),Io=e=>a(void 0,void 0,void 0,(function*(){const{state:t}=e,{socket:n,channelId:r,context:i,isOriginator:o,isReconnecting:s}=t;if(s)return io.SocketService(\"[SocketService: reconnectSocket()] Reconnection already in progress, skipping\",e),!1;if(!n)return io.SocketService(\"[SocketService: reconnectSocket()] socket is not defined\",e),!1;if(!r)return!1;const{connected:c}=n;t.isReconnecting=!0,t.reconnectionAttempts=0,io.SocketService(`[SocketService: reconnectSocket()] connected=${c} trying to reconnect after socketio disconnection`,e);try{for(;3>t.reconnectionAttempts;){if(io.SocketService(`[SocketService: reconnectSocket()] Attempt ${t.reconnectionAttempts+1} of 3`,e),yield Mo(200),n.connected)return io.SocketService(\"Socket already connected --- ping to retrieve messages\"),n.emit(Co.PING,{id:r,clientType:o?\"dapp\":\"wallet\",context:\"on_channel_config\",message:\"\"}),!0;t.resumed=!0,n.connect(),e.emit(bo.SOCKET_RECONNECT);try{if(yield new Promise(((t,s)=>{n.emit(bo.JOIN_CHANNEL,{channelId:r,context:`${i}connect_again`,clientType:o?\"dapp\":\"wallet\"},((n,r)=>a(void 0,void 0,void 0,(function*(){try{yield xo(e,n,r),t()}catch(e){s(e)}}))))})),yield Mo(100),n.connected)return io.SocketService(`Reconnection successful on attempt ${t.reconnectionAttempts+1}`),!0}catch(e){io.SocketService(`Error during reconnection attempt ${t.reconnectionAttempts+1}:`,e)}t.reconnectionAttempts+=1,3>t.reconnectionAttempts&&(yield Mo(200))}return io.SocketService(\"Failed to reconnect after 3 attempts\"),!1}finally{t.isReconnecting=!1,t.reconnectionAttempts=0}}));function Ro(e,t){return a(this,void 0,void 0,(function*(){var n;const r=null===(n=e.state.keyExchange)||void 0===n?void 0:n.encryptMessage(JSON.stringify(t)),i={id:e.state.channelId,context:e.state.context,clientType:e.state.isOriginator?\"dapp\":\"wallet\",message:r,plaintext:e.state.hasPlaintext?JSON.stringify(t):void 0};return io.SocketService(`[SocketService: encryptAndSendMessage()] context=${e.state.context}`,i),t.type===Co.TERMINATE&&(e.state.manualDisconnect=!0),new Promise(((t,n)=>{var r;null===(r=e.state.socket)||void 0===r||r.emit(bo.MESSAGE,i,((e,r)=>{var i;e&&(io.SocketService(`[SocketService: encryptAndSendMessage()] error=${e}`),n(e)),io.SocketService(\"[encryptAndSendMessage] response\",r),t(null!==(i=null==r?void 0:r.success)&&void 0!==i&&i)}))}))}))}var Po;!function(e){e.RPC_CHECK=\"rpcCheck\",e.SKIPPED_RPC=\"skippedRpc\"}(Po||(Po={}));const Lo=[\"eth_sendTransaction\",\"eth_signTypedData\",\"eth_signTransaction\",\"personal_sign\",\"wallet_requestPermissions\",\"wallet_switchEthereumChain\",\"eth_signTypedData_v3\",\"eth_signTypedData_v4\",\"metamask_connectSign\",\"metamask_connectWith\",\"metamask_batch\"].map((e=>e.toLowerCase()));const Oo=[{event:bo.CLIENTS_CONNECTED,handler:function(e,t){return n=>a(this,void 0,void 0,(function*(){var n,r,i,o,s,a,c,l,d,u,h;const f=null!==(r=null===(n=e.remote.state.channelConfig)||void 0===n?void 0:n.relayPersistence)&&void 0!==r&&r;if(io.SocketService(`[SocketService: handleClientsConnected()] context=${e.state.context} on 'clients_connected-${t}' relayPersistence=${f} resumed=${e.state.resumed} clientsPaused=${e.state.clientsPaused} keysExchanged=${null===(i=e.state.keyExchange)||void 0===i?void 0:i.areKeysExchanged()} isOriginator=${e.state.isOriginator}`),e.emit(bo.CLIENTS_CONNECTED,{isOriginator:e.state.isOriginator,keysExchanged:null===(o=e.state.keyExchange)||void 0===o?void 0:o.areKeysExchanged(),context:e.state.context}),e.state.resumed)e.state.isOriginator||(io.SocketService(`[SocketService: handleClientsConnected()] context=${e.state.context} 'clients_connected' / keysExchanged=${null===(s=e.state.keyExchange)||void 0===s?void 0:s.areKeysExchanged()} -- backward compatibility`),null===(a=e.state.keyExchange)||void 0===a||a.start({isOriginator:null!==(c=e.state.isOriginator)&&void 0!==c&&c})),e.state.resumed=!1;else if(e.state.clientsPaused)io.SocketService(\"[SocketService: handleClientsConnected()] 'clients_connected' skip sending originatorInfo on pause\");else if(!e.state.isOriginator){const t=!f;io.SocketService(`[SocketService: handleClientsConnected()] context=${e.state.context} on 'clients_connected' / keysExchanged=${null===(l=e.state.keyExchange)||void 0===l?void 0:l.areKeysExchanged()} -- force=${t} -- backward compatibility`),io.SocketService(`[SocketService: handleClientsConnected()] context=${e.state.context} on 'clients_connected' / keysExchanged=${null===(d=e.state.keyExchange)||void 0===d?void 0:d.areKeysExchanged()} -- force=${t} -- backward compatibility`),null===(u=e.state.keyExchange)||void 0===u||u.start({isOriginator:null!==(h=e.state.isOriginator)&&void 0!==h&&h,force:t})}e.state.clientsConnected=!0,e.state.clientsPaused=!1}))}},{event:bo.CHANNEL_CREATED,handler:function(e,t){return n=>{io.SocketService(`[SocketService: handleChannelCreated()] context=${e.state.context} on 'channel_created-${t}'`,n),e.emit(bo.CHANNEL_CREATED,n)}}},{event:bo.CLIENTS_DISCONNECTED,handler:function(e,t){return()=>{var n;e.state.clientsConnected=!1,io.SocketService(`[SocketService: handlesClientsDisconnected()] context=${e.state.context} on 'clients_disconnected-${t}'`),e.remote.state.relayPersistence?io.SocketService(`[SocketService: handlesClientsDisconnected()] context=${e.state.context} on 'clients_disconnected-${t}' - relayPersistence enabled, skipping key exchange cleanup.`):(e.state.isOriginator&&!e.state.clientsPaused&&(null===(n=e.state.keyExchange)||void 0===n||n.clean()),e.emit(bo.CLIENTS_DISCONNECTED,t))}}},{event:bo.CONFIG,handler:function(e,t){return n=>a(this,void 0,void 0,(function*(){var r,i,o;io.SocketService(`[SocketService: handleChannelConfig()] update relayPersistence on 'config-${t}'`,n);const{persistence:s,walletKey:a}=n;e.state.isOriginator&&e.remote.state.channelConfig?(n.walletKey&&!e.remote.state.channelConfig.otherKey&&(io.SocketService(`Setting wallet key ${a}`),e.remote.state.channelConfig.otherKey=a,e.getKeyExchange().setOtherPublicKey(n.walletKey),null===(r=e.state.keyExchange)||void 0===r||r.setKeysExchanged(!0),yield e.remote.sendMessage({type:Eo.KEY_HANDSHAKE_ACK}),yield e.remote.sendMessage({type:Co.PING}),yield null===(i=e.remote.state.storageManager)||void 0===i?void 0:i.persistChannelConfig(e.remote.state.channelConfig)),!0!==s||e.remote.state.channelConfig.relayPersistence||(io.SocketService(`Setting relay persistence ${s}`),e.remote.state.channelConfig.relayPersistence=s,e.remote.state.relayPersistence=!0,e.remote.emit(bo.CHANNEL_PERSISTENCE),e.remote.state.authorized=!0,e.remote.state.ready=!0,e.remote.emit(bo.AUTHORIZED),yield null===(o=e.remote.state.storageManager)||void 0===o?void 0:o.persistChannelConfig(e.remote.state.channelConfig))):e.state.isOriginator||n.persistence&&(e.remote.state.relayPersistence=!0,e.remote.emit(bo.CHANNEL_PERSISTENCE))}))}},{event:bo.MESSAGE,handler:function(e,t){return n=>{var r,i,o,s,a,c,l,d,u,h,f,p,g,m,y,v,b,w;const{ackId:E,message:C,error:S}=n,_=null!==(r=e.remote.state.relayPersistence)&&void 0!==r&&r;if(io.SocketService(`[SocketService handleMessage()] relayPersistence=${_} context=${e.state.context} on 'message' ${t} keysExchanged=${null===(i=e.state.keyExchange)||void 0===i?void 0:i.areKeysExchanged()}`,n),S)throw io.SocketService(`\\n [SocketService handleMessage()] context=${e.state.context}::on 'message' error=${S}`),new Error(S);const k=\"string\"==typeof C;if(!k&&(null==C?void 0:C.type)===Eo.KEY_HANDSHAKE_START){if(_)return;return io.SocketService(`[SocketService handleMessage()] context=${e.state.context}::on 'message' received HANDSHAKE_START isOriginator=${e.state.isOriginator}`,C),void(null===(o=e.state.keyExchange)||void 0===o||o.start({isOriginator:null!==(s=e.state.isOriginator)&&void 0!==s&&s,force:!0}))}if(!k&&(null===(a=null==C?void 0:C.type)||void 0===a?void 0:a.startsWith(\"key_handshake\"))){if(_)return;return io.SocketService(`[SocketService handleMessage()] context=${e.state.context}::on 'message' emit KEY_EXCHANGE`,C),void e.emit(wo.KEY_EXCHANGE,{message:C,context:e.state.context})}if(k&&!(null===(c=e.state.keyExchange)||void 0===c?void 0:c.areKeysExchanged())){let t=!1;try{io.SocketService(`[SocketService handleMessage()] context=${e.state.context}::on 'message' trying to decrypt message`),null===(l=e.state.keyExchange)||void 0===l||l.decryptMessage(C),t=!0}catch(t){io.SocketService(`[SocketService handleMessage()] context=${e.state.context}::on 'message' error`,t)}if(!t)return e.state.isOriginator?null===(u=e.state.keyExchange)||void 0===u||u.start({isOriginator:null!==(h=e.state.isOriginator)&&void 0!==h&&h}):e.sendMessage({type:Eo.KEY_HANDSHAKE_START}).catch((e=>{})),void io.SocketService(`Message ignored because invalid key exchange status. step=${null===(f=e.state.keyExchange)||void 0===f?void 0:f.getKeyInfo().step}`,null===(p=e.state.keyExchange)||void 0===p?void 0:p.getKeyInfo(),C);io.SocketService(\"Invalid key exchange status detected --- updating it.\"),null===(d=e.state.keyExchange)||void 0===d||d.setKeysExchanged(!0)}else if(!k&&(null==C?void 0:C.type))return void e.emit(bo.MESSAGE,C);if(!k)return void e.emit(bo.MESSAGE,C);const x=null===(g=e.state.keyExchange)||void 0===g?void 0:g.decryptMessage(C),M=JSON.parse(null!=x?x:\"{}\");if(E&&(null==E?void 0:E.length)>0&&(io.SocketService(`[SocketService handleMessage()] context=${e.state.context}::on 'message' ackid=${E} channelId=${t}`),null===(m=e.state.socket)||void 0===m||m.emit(bo.MESSAGE_ACK,{ackId:E,channelId:t,clientType:e.state.isOriginator?\"dapp\":\"wallet\"})),e.state.clientsPaused=(null==M?void 0:M.type)===Co.PAUSE,e.state.isOriginator&&M.data){const t=M.data,n=e.state.rpcMethodTracker[t.id];if(n){const r=Date.now()-n.timestamp;io.SocketService(`[SocketService handleMessage()] context=${e.state.context}::on 'message' received answer for id=${t.id} method=${n.method} responseTime=${r}`,M),e.remote.state.analytics&&Lo.includes(n.method.toLowerCase())&&co(Object.assign(Object.assign({id:null!==(y=e.remote.state.channelId)&&void 0!==y?y:\"\",event:So.SDK_RPC_REQUEST_DONE,sdkVersion:e.remote.state.sdkVersion,commLayerVersion:uo.version},e.remote.state.originatorInfo),{walletVersion:null===(v=e.remote.state.walletInfo)||void 0===v?void 0:v.version,params:{method:n.method,from:\"mobile\"}}),e.remote.state.communicationServerUrl).catch((e=>{}));const i=Object.assign(Object.assign({},n),{result:t.result,error:t.error?{code:null===(b=t.error)||void 0===b?void 0:b.code,message:null===(w=t.error)||void 0===w?void 0:w.message}:void 0,elapsedTime:r});e.state.rpcMethodTracker[t.id]=i,e.emit(bo.RPC_UPDATE,i)}}e.emit(bo.MESSAGE,{message:M})}}},{event:bo.REJECTED,handler:function(e,t){return n=>a(this,void 0,void 0,(function*(){var n;e.state.isOriginator&&!e.remote.state.ready?(io.SocketService(`[SocketService: handleChannelRejected()] context=${e.state.context} channelId=${t} isOriginator=${e.state.isOriginator} ready=${e.remote.state.ready}`,e.remote.state.originatorInfo),co(Object.assign(Object.assign({id:t,event:So.REJECTED},e.remote.state.originatorInfo),{sdkVersion:e.remote.state.sdkVersion,commLayer:e.state.communicationLayerPreference,commLayerVersion:uo.version,walletVersion:null===(n=e.remote.state.walletInfo)||void 0===n?void 0:n.version}),e.remote.state.communicationServerUrl).catch((e=>{})),yield e.remote.disconnect({terminate:!0}),e.remote.emit(bo.REJECTED,{channelId:t}),e.remote.setConnectionStatus(vo.DISCONNECTED)):io.SocketService(`[SocketService: handleChannelRejected()] SKIP -- channelId=${t} isOriginator=${e.state.isOriginator} ready=${e.remote.state.ready}`)}))}},{event:\"clients_waiting_to_join\",handler:function(e,t){return n=>{io.SocketService(`[SocketService: handleClientsWaitingToJoin()] context=${e.state.context} on 'clients_waiting_to_join-${t}'`,n),e.emit(bo.CLIENTS_WAITING,n)}}}],To=[{event:bo.KEY_INFO,handler:function(e){return t=>{io.SocketService(\"[SocketService: handleKeyInfo()] on 'KEY_INFO'\",t),e.emit(bo.KEY_INFO,t)}}},{event:bo.KEYS_EXCHANGED,handler:function(e){return()=>{var t,n,r;io.SocketService(`[SocketService: handleKeysExchanged()] on 'keys_exchanged' keyschanged=${null===(t=e.state.keyExchange)||void 0===t?void 0:t.areKeysExchanged()}`);const{channelConfig:i}=e.remote.state;if(i){const t=e.getKeyExchange().getKeyInfo().ecies;i.localKey=t.private,i.otherKey=t.otherPubKey,e.remote.state.channelConfig=i,null===(n=e.remote.state.storageManager)||void 0===n||n.persistChannelConfig(i).catch((e=>{}))}e.emit(bo.KEYS_EXCHANGED,{keysExchanged:null===(r=e.state.keyExchange)||void 0===r?void 0:r.areKeysExchanged(),isOriginator:e.state.isOriginator});const o={keyInfo:e.getKeyInfo()};e.emit(bo.SERVICE_STATUS,o)}}}];function No(e,t){io.SocketService(`[SocketService: setupChannelListener()] context=${e.state.context} setting socket listeners for channel ${t}...`);const{socket:n}=e.state,{keyExchange:r}=e.state;n&&e.state.isOriginator&&(e.state.debug&&(null==n||n.io.on(\"error\",(t=>{io.SocketService(`[SocketService: setupChannelListener()] context=${e.state.context} socket event=error`,t)})),null==n||n.io.on(\"reconnect\",(t=>{io.SocketService(`[SocketService: setupChannelListener()] context=${e.state.context} socket event=reconnect`,t),Io(e).catch((e=>{}))})),null==n||n.io.on(\"reconnect_error\",(t=>{io.SocketService(`[SocketService: setupChannelListener()] context=${e.state.context} socket event=reconnect_error`,t)})),null==n||n.io.on(\"reconnect_failed\",(()=>{io.SocketService(`[SocketService: setupChannelListener()] context=${e.state.context} socket event=reconnect_failed`)}))),null==n||n.on(\"disconnect\",(t=>(io.SocketService(`[SocketService: setupChannelListener()] on 'disconnect' -- MetaMaskSDK socket disconnected '${t}' begin recovery...`),function(e){return t=>{io.SocketService(`[SocketService: handleDisconnect()] on 'disconnect' manualDisconnect=${e.state.manualDisconnect}`,t),e.state.manualDisconnect||(e.emit(bo.SOCKET_DISCONNECTED),Io(e).catch((e=>{})))}}(e)(t))))),Oo.forEach((({event:r,handler:i})=>{null==n||n.on(`${r}-${t}`,i(e,t))})),To.forEach((({event:t,handler:n})=>{null==r||r.on(t,n(e))})),e.state.setupChannelListeners=!0}class Do extends r{constructor(e){super(),this.state={clientsConnected:!1,clientsPaused:!1,manualDisconnect:!1,lastRpcId:void 0,rpcMethodTracker:{},hasPlaintext:!1,communicationServerUrl:\"\",focusListenerAdded:!1,removeFocusListener:void 0,isReconnecting:!1,reconnectionAttempts:0},this.options=e;const{reconnect:n,communicationLayerPreference:r,communicationServerUrl:i,context:o,remote:s,logging:a}=e;this.state.resumed=n,this.state.context=o,this.state.isOriginator=s.state.isOriginator,this.state.communicationLayerPreference=r,this.state.debug=!0===(null==a?void 0:a.serviceLayer),this.remote=s,!0===(null==a?void 0:a.serviceLayer)&&t.enable(\"SocketService:Layer\"),this.state.communicationServerUrl=i,this.state.hasPlaintext=this.state.communicationServerUrl!==ho&&!0===(null==a?void 0:a.plaintext),io.SocketService(`[SocketService: constructor()] Socket IO url: ${this.state.communicationServerUrl}`),this.initSocket()}initSocket(){var e;const{otherPublicKey:t,ecies:n,logging:r}=this.options,i={autoConnect:!1,transports:fo,withCredentials:!0},o=this.state.communicationServerUrl;io.SocketService(`[SocketService: initSocket()] Socket IO url: ${o}`),this.state.socket=s(o,i),function(e){if(\"undefined\"!=typeof window&&\"undefined\"!=typeof document&&(io.SocketService(`[SocketService: setupSocketFocusListener()] hasFocus=${document.hasFocus()}`,e),!e.state.focusListenerAdded)){const t=()=>{io.SocketService(\"Document has focus --- reconnecting socket\"),Io(e).catch((e=>{}))};window.addEventListener(\"focus\",t),e.state.focusListenerAdded=!0,e.state.removeFocusListener=()=>{window.removeEventListener(\"focus\",t),e.state.focusListenerAdded=!1}}}(this);const a={communicationLayer:this,otherPublicKey:t,sendPublicKey:!1,context:null!==(e=this.state.context)&&void 0!==e?e:\"\",ecies:n,logging:r};this.state.keyExchange=new ko(a)}resetKeys(){return io.SocketService(\"[SocketService: resetKeys()] Resetting keys.\"),void(null===(e=this.state.keyExchange)||void 0===e||e.resetKeys());var e}createChannel(){return a(this,void 0,void 0,(function*(){return function(e){return a(this,void 0,void 0,(function*(){var t,n,r;if(io.SocketService(`[SocketService: createChannel()] context=${e.state.context}`),e.state.socket||e.initSocket(),null===(t=e.state.socket)||void 0===t?void 0:t.connected)throw new Error(\"socket already connected\");null===(n=e.state.socket)||void 0===n||n.connect(),e.state.manualDisconnect=!1,e.state.isOriginator=!0;const i=o();e.state.channelId=i,No(e,i),yield new Promise(((t,n)=>{var r;null===(r=e.state.socket)||void 0===r||r.emit(bo.JOIN_CHANNEL,{channelId:i,context:`${e.state.context}createChannel`,clientType:\"dapp\"},((r,i)=>a(this,void 0,void 0,(function*(){try{yield xo(e,r,i),t()}catch(e){n(e)}}))))}));const s=null===(r=e.state.keyExchange)||void 0===r?void 0:r.getKeyInfo();return{channelId:i,pubKey:(null==s?void 0:s.ecies.public)||\"\",privKey:(null==s?void 0:s.ecies.private)||\"\"}}))}(this)}))}connectToChannel({channelId:e,withKeyExchange:t=!1,authorized:n}){return function(e){return a(this,arguments,void 0,(function*({options:e,instance:t}){const{channelId:n,authorized:r,withKeyExchange:i}=e,{state:o,remote:s}=t,{isOriginator:c=!1,socket:l,keyExchange:d}=o,{channelConfig:u}=s.state;if(null==l?void 0:l.connected)throw new Error(\"socket already connected\");if(c&&(null==u?void 0:u.relayPersistence)){const{localKey:e,otherKey:t}=u;e&&t&&(null==d||d.setRelayPersistence({localKey:e,otherKey:t}))}return Object.assign(o,{manualDisconnect:!1,withKeyExchange:i,isOriginator:c,channelId:n}),null==l||l.connect(),No(t,n),!c&&r&&(null==d||d.setKeysExchanged(!0),Object.assign(s.state,{ready:!0,authorized:!0})),new Promise((e=>{var i;const s=null===(i=null==d?void 0:d.getKeyInfo())||void 0===i?void 0:i.ecies.public;null==l||l.emit(bo.JOIN_CHANNEL,{channelId:n,context:`${o.context}_connectToChannel`,clientType:c?\"dapp\":\"wallet\",publicKey:r&&!c?s:void 0},((n,r)=>a(this,void 0,void 0,(function*(){yield xo(t,n,r),e()}))))}))}))}({options:{channelId:e,withKeyExchange:t,authorized:n},instance:this})}getKeyInfo(){return this.state.keyExchange.getKeyInfo()}keyCheck(){var e,t;null===(t=(e=this).state.socket)||void 0===t||t.emit(bo.MESSAGE,{id:e.state.channelId,context:e.state.context,message:{type:Eo.KEY_HANDSHAKE_CHECK,pubkey:e.getKeyInfo().ecies.otherPubKey}})}getKeyExchange(){return this.state.keyExchange}sendMessage(e){return a(this,void 0,void 0,(function*(){return function(e,t){return a(this,void 0,void 0,(function*(){var n,r,i;if(!e.state.channelId)throw io.SocketService(\"handleSendMessage: no channelId - Create a channel first\"),new Error(\"Create a channel first\");if(io.SocketService(`[SocketService: handleSendMessage()] context=${e.state.context} areKeysExchanged=${null===(n=e.state.keyExchange)||void 0===n?void 0:n.areKeysExchanged()}`,t),null===(r=null==t?void 0:t.type)||void 0===r?void 0:r.startsWith(\"key_handshake\"))return function(e,t){var n;io.SocketService(`[SocketService: handleKeyHandshake()] context=${e.state.context}`,t),null===(n=e.state.socket)||void 0===n||n.emit(bo.MESSAGE,{id:e.state.channelId,context:e.state.context,clientType:e.state.isOriginator?\"dapp\":\"wallet\",message:t})}(e,t),!0;!function(e,t){var n;if(!(null===(n=e.state.keyExchange)||void 0===n?void 0:n.areKeysExchanged())&&!e.remote.state.relayPersistence)throw io.SocketService(`[SocketService: validateKeyExchange()] context=${e.state.context} ERROR keys not exchanged`,t),new Error(\"Keys not exchanged BBB\")}(e,t),function(e,t){var n;const r=null!==(n=null==t?void 0:t.method)&&void 0!==n?n:\"\",i=null==t?void 0:t.id;e.state.isOriginator&&i&&(e.state.rpcMethodTracker[i]={id:i,timestamp:Date.now(),method:r},e.emit(bo.RPC_UPDATE,e.state.rpcMethodTracker[i]))}(e,t);const o=yield Ro(e,t);return e.remote.state.analytics&&e.remote.state.isOriginator&&t.method&&Lo.includes(t.method.toLowerCase())&&co({id:null!==(i=e.remote.state.channelId)&&void 0!==i?i:\"\",event:So.SDK_RPC_REQUEST,params:{method:t.method,from:\"mobile\"}},e.remote.state.communicationServerUrl).catch((e=>{})),function(e,t){return a(this,void 0,void 0,(function*(){var n;const r=null==t?void 0:t.id,i=null!==(n=null==t?void 0:t.method)&&void 0!==n?n:\"\";if(e.state.isOriginator&&r)try{const n=Ao(r,e.state.rpcMethodTracker,200).then((e=>({type:Po.RPC_CHECK,result:e}))),o=(()=>a(this,void 0,void 0,(function*(){const t=yield(e=>a(void 0,[e],void 0,(function*({rpcId:e,instance:t}){for(;t.state.lastRpcId===e||void 0===t.state.lastRpcId;)yield Mo(200);return t.state.lastRpcId})))({instance:e,rpcId:r}),n=yield Ao(t,e.state.rpcMethodTracker,200);return{type:Po.SKIPPED_RPC,result:n}})))(),s=yield Promise.race([n,o]);if(s.type===Po.RPC_CHECK){const e=s.result;io.SocketService(`[SocketService:handleRpcReplies()] id=${t.id} ${i} ( ${e.elapsedTime} ms)`,e.result)}else{if(s.type!==Po.SKIPPED_RPC)throw new Error(`Error handling RPC replies for ${r}`);{const t=Object.assign(Object.assign({},e.state.rpcMethodTracker[r]),{error:new Error(\"SDK_CONNECTION_ISSUE\")});e.emit(bo.RPC_UPDATE,t);const n={data:Object.assign(Object.assign({},t),{jsonrpc:\"2.0\"}),name:\"metamask-provider\"};e.emit(bo.MESSAGE,{message:n})}}}catch(e){throw e}}))}(e,t).catch((e=>{})),o}))}(this,e)}))}ping(){return function(e){return a(this,void 0,void 0,(function*(){var t,n;io.SocketService(`[SocketService: ping()] context=${e.state.context} originator=${e.state.isOriginator} keysExchanged=${null===(t=e.state.keyExchange)||void 0===t?void 0:t.areKeysExchanged()}`),null===(n=e.state.socket)||void 0===n||n.emit(Co.PING,{id:e.state.channelId,context:\"ping\",clientType:e.remote.state.isOriginator?\"dapp\":\"wallet\",message:\"\"})}))}(this)}pause(){return function(e){return a(this,void 0,void 0,(function*(){var t,n;io.SocketService(`[SocketService: pause()] context=${e.state.context}`),e.state.manualDisconnect=!0,(null===(t=e.state.keyExchange)||void 0===t?void 0:t.areKeysExchanged())&&(yield e.sendMessage({type:Co.PAUSE})),null===(n=e.state.socket)||void 0===n||n.disconnect()}))}(this)}isConnected(){var e;return null===(e=this.state.socket)||void 0===e?void 0:e.connected}resume(){return function(e){return a(this,void 0,void 0,(function*(){const{state:t,remote:n}=e,{socket:r,channelId:i,context:o,keyExchange:s,isOriginator:c}=t,{isOriginator:l}=n.state;if(io.SocketService(`[SocketService: resume()] channelId=${i} context=${o} connected=${null==r?void 0:r.connected} manualDisconnect=${t.manualDisconnect} resumed=${t.resumed} keysExchanged=${null==s?void 0:s.areKeysExchanged()}`),!i)throw io.SocketService(\"[SocketService: resume()] channelId is not defined\"),new Error(\"ChannelId is not defined\");(null==r?void 0:r.connected)?(io.SocketService(\"[SocketService: resume()] already connected.\"),r.emit(Co.PING,{id:i,clientType:l?\"dapp\":\"wallet\",context:\"on_channel_config\",message:\"\"}),n.hasRelayPersistence()||(null==s?void 0:s.areKeysExchanged())||(c?yield e.sendMessage({type:Co.READY}):null==s||s.start({isOriginator:!1}))):(null==r||r.connect(),io.SocketService(`[SocketService: resume()] after connecting socket --\\x3e connected=${null==r?void 0:r.connected}`),null==r||r.emit(bo.JOIN_CHANNEL,{channelId:i,context:`${o}_resume`,clientType:l?\"dapp\":\"wallet\"},((t,n)=>a(this,void 0,void 0,(function*(){try{yield xo(e,t,n)}catch(e){}}))))),t.manualDisconnect=!1,t.resumed=!0}))}(this)}getRPCMethodTracker(){return this.state.rpcMethodTracker}disconnect(e){return function(e,t){var n,r,i,o,s;io.SocketService(`[SocketService: disconnect()] context=${e.state.context}`,t),(null==t?void 0:t.terminate)&&(null===(r=(n=e.state).removeFocusListener)||void 0===r||r.call(n),e.state.channelId=t.channelId,null===(i=e.state.socket)||void 0===i||i.removeAllListeners(),null===(o=e.state.keyExchange)||void 0===o||o.clean(),e.remote.state.ready=!1,e.state.socket=void 0,e.state.rpcMethodTracker={}),e.state.manualDisconnect=!0,null===(s=e.state.socket)||void 0===s||s.disconnect()}(this,e)}}var $o,Bo,Ko;function jo(e){return()=>a(this,void 0,void 0,(function*(){var t,n,r;const{state:i}=e;if(i.authorized)return;yield(()=>a(this,void 0,void 0,(function*(){for(;!i.walletInfo;)yield Mo(500)})))();const o=\"7.3\".localeCompare((null===(t=i.walletInfo)||void 0===t?void 0:t.version)||\"\");if(io.RemoteCommunication(`[RemoteCommunication: handleAuthorizedEvent()] HACK 'authorized' version=${null===(n=i.walletInfo)||void 0===n?void 0:n.version} compareValue=${o}`),1!==o)return;const s=i.platformType===Bo.MobileWeb||i.platformType===Bo.ReactNative||i.platformType===Bo.MetaMaskMobileWebview;io.RemoteCommunication(`[RemoteCommunication: handleAuthorizedEvent()] HACK 'authorized' platform=${i.platformType} secure=${s} channel=${i.channelId} walletVersion=${null===(r=i.walletInfo)||void 0===r?void 0:r.version}`),s&&(i.authorized=!0,e.emit(bo.AUTHORIZED))}))}function Uo(e){return t=>{const{state:n}=e;io.RemoteCommunication(`[RemoteCommunication: handleChannelCreatedEvent()] context=${n.context} on 'channel_created' channelId=${t}`),e.emit(bo.CHANNEL_CREATED,t)}}function Ho(e,t){return()=>{var n,r,i,o;const{state:s}=e;io.RemoteCommunication(`[RemoteCommunication: handleClientsConnectedEvent()] on 'clients_connected' channel=${s.channelId} keysExchanged=${null===(r=null===(n=s.communicationLayer)||void 0===n?void 0:n.getKeyInfo())||void 0===r?void 0:r.keysExchanged}`),s.analytics&&co(Object.assign(Object.assign({id:null!==(i=s.channelId)&&void 0!==i?i:\"\",event:s.reconnection?So.RECONNECT:s.isOriginator?So.REQUEST:So.REQUEST_MOBILE},s.originatorInfo),{commLayer:t,sdkVersion:s.sdkVersion,walletVersion:null===(o=s.walletInfo)||void 0===o?void 0:o.version,commLayerVersion:uo.version}),s.communicationServerUrl).catch((e=>{})),s.clientsConnected=!0,s.originatorInfoSent=!1,e.emit(bo.CLIENTS_CONNECTED)}}function Fo(e){return t=>{const{state:n}=e;io.RemoteCommunication(`[RemoteCommunication: handleClientsDisconnectedEvent()] context=${n.context} on 'clients_disconnected' channelId=${t}`),n.relayPersistence||(n.clientsConnected=!1,n.ready=!1,n.authorized=!1),e.emit(bo.CLIENTS_DISCONNECTED,n.channelId),e.setConnectionStatus(vo.DISCONNECTED)}}function zo(e){return t=>{var n;const{state:r}=e;if(io.RemoteCommunication(`[RemoteCommunication: handleClientsWaitingEvent()] context=${r.context} on 'clients_waiting' numberUsers=${t} ready=${r.ready} autoStarted=${r.originatorConnectStarted}`),e.setConnectionStatus(vo.WAITING),e.emit(bo.CLIENTS_WAITING,t),r.originatorConnectStarted){io.RemoteCommunication(`[RemoteCommunication: handleClientsWaitingEvent()] on 'clients_waiting' watch autoStarted=${r.originatorConnectStarted} timeout`,r.autoConnectOptions);const t=(null===(n=r.autoConnectOptions)||void 0===n?void 0:n.timeout)||3e3,i=setTimeout((()=>{io.RemoteCommunication(`[RemoteCommunication: handleClientsWaitingEvent()] setTimeout(${t}) terminate channelConfig`,r.autoConnectOptions),r.originatorConnectStarted=!1,r.ready||e.setConnectionStatus(vo.TIMEOUT),clearTimeout(i)}),t)}}}function qo(e,t){return n=>{var r,i,o,s,a,c,l,d;const{state:u}=e;if(io.RemoteCommunication(`[RemoteCommunication: handleKeysExchangedEvent()] context=${u.context} on commLayer.'keys_exchanged' channel=${u.channelId}`,n),null===(i=null===(r=u.communicationLayer)||void 0===r?void 0:r.getKeyInfo())||void 0===i?void 0:i.keysExchanged){const t=Object.assign(Object.assign({},u.channelConfig),{channelId:null!==(o=u.channelId)&&void 0!==o?o:\"\",validUntil:(null===(s=u.channelConfig)||void 0===s?void 0:s.validUntil)||po,localKey:u.communicationLayer.getKeyInfo().ecies.private,otherKey:u.communicationLayer.getKeyInfo().ecies.otherPubKey});null===(a=u.storageManager)||void 0===a||a.persistChannelConfig(t).catch((e=>{})),e.setConnectionStatus(vo.LINKED)}!function(e,t){var n,r,i,o,s,a,c,l;const{state:d}=e;io.RemoteCommunication(`[RemoteCommunication: setLastActiveDate()] channel=${d.channelId}`,t);const u=Object.assign(Object.assign({},d.channelConfig),{channelId:null!==(n=d.channelId)&&void 0!==n?n:\"\",validUntil:null!==(i=null===(r=d.channelConfig)||void 0===r?void 0:r.validUntil)&&void 0!==i?i:0,relayPersistence:d.relayPersistence,localKey:null===(s=null===(o=d.communicationLayer)||void 0===o?void 0:o.state.keyExchange)||void 0===s?void 0:s.getKeyInfo().ecies.private,otherKey:null===(c=null===(a=d.communicationLayer)||void 0===a?void 0:a.state.keyExchange)||void 0===c?void 0:c.getKeyInfo().ecies.otherPubKey,lastActive:t.getTime()});null===(l=d.storageManager)||void 0===l||l.persistChannelConfig(u)}(e,new Date),u.analytics&&u.channelId&&co(Object.assign(Object.assign({id:u.channelId,event:n.isOriginator?So.CONNECTED:So.CONNECTED_MOBILE},u.originatorInfo),{sdkVersion:u.sdkVersion,commLayer:t,commLayerVersion:uo.version,walletVersion:null===(c=u.walletInfo)||void 0===c?void 0:c.version}),u.communicationServerUrl).catch((e=>{})),u.isOriginator=n.isOriginator,n.isOriginator||(null===(l=u.communicationLayer)||void 0===l||l.sendMessage({type:Co.READY}),u.ready=!0,u.paused=!1),n.isOriginator&&!u.originatorInfoSent&&(null===(d=u.communicationLayer)||void 0===d||d.sendMessage({type:Co.ORIGINATOR_INFO,originatorInfo:u.originatorInfo,originator:u.originatorInfo}),u.originatorInfoSent=!0)}}function Vo(e){return t=>{let n=t;t.message&&(n=n.message),function(e,t){const{state:n}=t;if(io.RemoteCommunication(`[RemoteCommunication: onCommunicationLayerMessage()] context=${n.context} on 'message' typeof=${typeof e}`,e),t.state.ready=!0,n.isOriginator||e.type!==Co.ORIGINATOR_INFO)if(n.isOriginator&&e.type===Co.WALLET_INFO)!function(e,t){const{state:n}=e;n.walletInfo=t.walletInfo,n.paused=!1}(t,e);else{if(n.isOriginator&&e.type===Co.WALLET_INIT)(function(e,t){return a(this,void 0,void 0,(function*(){var n,r,i;const{state:o}=e;if(o.isOriginator){const o=t.data||{};if(\"object\"==typeof o&&\"accounts\"in o&&\"chainId\"in o&&\"walletKey\"in o)try{const{channelConfig:t}=e.state;if(io.RemoteCommunication(\"WALLET_INIT: channelConfig\",JSON.stringify(t,null,2)),t){const s=o.accounts,a=o.chainId,c=o.walletKey;let l,d=!1;\"deeplinkProtocol\"in o&&(d=Boolean(o.deeplinkProtocol),e.state.deeplinkProtocolAvailable=d),\"walletVersion\"in o&&(l=o.walletVersion),yield null===(n=e.state.storageManager)||void 0===n?void 0:n.persistChannelConfig(Object.assign(Object.assign({},t),{otherKey:c,walletVersion:l,deeplinkProtocolAvailable:d,relayPersistence:!0})),yield null===(r=e.state.storageManager)||void 0===r?void 0:r.persistAccounts(s),yield null===(i=e.state.storageManager)||void 0===i?void 0:i.persistChainId(a)}e.emit(bo.WALLET_INIT,{accounts:o.accounts,chainId:o.chainId})}catch(n){}}}))})(t,e).catch((e=>{io.RemoteCommunication(`[RemoteCommunication: onCommunicationLayerMessage()] error=${e}`)}));else if(e.type===Co.TERMINATE)(function(e){return a(this,void 0,void 0,(function*(){const{state:t}=e;t.isOriginator&&(yield Jo({options:{terminate:!0,sendMessage:!1},instance:e}),e.emit(bo.TERMINATE))}))})(t).catch((e=>{io.RemoteCommunication(`[RemoteCommunication: onCommunicationLayerMessage()] error=${e}`)}));else if(e.type===Co.PAUSE)!function(e){const{state:t}=e;t.paused=!0,e.setConnectionStatus(vo.PAUSED)}(t);else if(e.type===Co.READY&&n.isOriginator)!function(e){const{state:t}=e;e.setConnectionStatus(vo.LINKED);const n=t.paused;t.paused=!1,e.emit(bo.CLIENTS_READY,{isOriginator:t.isOriginator,walletInfo:t.walletInfo}),n&&(t.authorized=!0,e.emit(bo.AUTHORIZED))}(t);else{if(e.type===Co.OTP&&n.isOriginator)return void function(e,t){var n;const{state:r}=e;e.emit(bo.OTP,t.otpAnswer),1===\"6.6\".localeCompare((null===(n=r.walletInfo)||void 0===n?void 0:n.version)||\"\")&&e.emit(bo.SDK_RPC_CALL,{method:mo.ETH_REQUESTACCOUNTS,params:[]})}(t,e);e.type===Co.AUTHORIZED&&n.isOriginator&&function(e){const{state:t}=e;t.authorized=!0,e.emit(bo.AUTHORIZED)}(t)}t.emit(bo.MESSAGE,e)}else!function(e,t){var n;const{state:r}=e;null===(n=r.communicationLayer)||void 0===n||n.sendMessage({type:Co.WALLET_INFO,walletInfo:r.walletInfo}),r.originatorInfo=t.originatorInfo||t.originator,e.emit(bo.CLIENTS_READY,{isOriginator:r.isOriginator,originatorInfo:r.originatorInfo}),r.paused=!1}(t,e)}(n,e)}}function Wo(e){return()=>{const{state:t}=e;io.RemoteCommunication(\"[RemoteCommunication: handleSocketReconnectEvent()] on 'socket_reconnect' -- reset key exchange status / set ready to false\"),t.ready=!1,t.authorized=!1,yo(t),e.emitServiceStatusEvent({context:\"socket_reconnect\"})}}function Go(e){return()=>{const{state:t}=e;io.RemoteCommunication(\"[RemoteCommunication: handleSocketDisconnectedEvent()] on 'socket_Disconnected' set ready to false\"),t.ready=!1}}function Zo(e){return()=>a(this,void 0,void 0,(function*(){var t,n,r,i,o,s,a;const{state:c}=e;io.RemoteCommunication(`[RemoteCommunication: handleFullPersistenceEvent()] context=${c.context}`),e.state.ready=!0,e.state.clientsConnected=!0,e.state.authorized=!0,e.state.relayPersistence=!0,null===(t=e.state.communicationLayer)||void 0===t||t.getKeyExchange().setKeysExchanged(!0),e.emit(bo.KEYS_EXCHANGED,{keysExchanged:!0,isOriginator:!0}),e.emit(bo.AUTHORIZED),e.emit(bo.CLIENTS_READY),e.emit(bo.CHANNEL_PERSISTENCE);try{c.channelConfig=Object.assign(Object.assign({},c.channelConfig),{localKey:null===(n=c.communicationLayer)||void 0===n?void 0:n.getKeyExchange().getKeyInfo().ecies.private,otherKey:null===(r=c.communicationLayer)||void 0===r?void 0:r.getKeyExchange().getOtherPublicKey(),channelId:null!==(i=c.channelId)&&void 0!==i?i:\"\",validUntil:null!==(s=null===(o=c.channelConfig)||void 0===o?void 0:o.validUntil)&&void 0!==s?s:po,relayPersistence:!0}),yield null===(a=c.storageManager)||void 0===a?void 0:a.persistChannelConfig(c.channelConfig)}catch(t){}}))}function Yo({communicationLayerPreference:e,otherPublicKey:t,reconnect:n,ecies:r,communicationServerUrl:i=ho,instance:o}){var s,a,c,l,d,u,h,f,p,g,m;const{state:y}=o;if(io.RemoteCommunication(\"[initCommunicationLayer()] \",JSON.stringify(y,null,2)),e!==$o.SOCKET)throw new Error(\"Invalid communication protocol\");y.communicationLayer=new Do({communicationLayerPreference:e,otherPublicKey:t,reconnect:n,transports:y.transports,communicationServerUrl:i,context:y.context,ecies:r,logging:y.logging,remote:o});let v=\"undefined\"!=typeof document&&document.URL||\"\",b=\"undefined\"!=typeof document&&document.title||\"\";(null===(s=y.dappMetadata)||void 0===s?void 0:s.url)&&(v=y.dappMetadata.url),(null===(a=y.dappMetadata)||void 0===a?void 0:a.name)&&(b=y.dappMetadata.name);const w=null!==(u=null!==(l=null===(c=y.dappMetadata)||void 0===c?void 0:c.name)&&void 0!==l?l:null===(d=y.dappMetadata)||void 0===d?void 0:d.url)&&void 0!==u?u:\"N/A\",E=\"undefined\"!=typeof window&&void 0!==window.location&&null!==(h=window.location.hostname)&&void 0!==h?h:w,C={url:v,title:b,source:null===(f=y.dappMetadata)||void 0===f?void 0:f.source,dappId:E,icon:(null===(p=y.dappMetadata)||void 0===p?void 0:p.iconUrl)||(null===(g=y.dappMetadata)||void 0===g?void 0:g.base64Icon),platform:y.platformType,apiVersion:uo.version,connector:null===(m=y.dappMetadata)||void 0===m?void 0:m.connector};y.originatorInfo=C;const S={[bo.AUTHORIZED]:jo(o),[bo.MESSAGE]:Vo(o),[bo.CHANNEL_PERSISTENCE]:Zo(o),[bo.CLIENTS_CONNECTED]:Ho(o,e),[bo.KEYS_EXCHANGED]:qo(o,e),[bo.SOCKET_DISCONNECTED]:Go(o),[bo.SOCKET_RECONNECT]:Wo(o),[bo.CLIENTS_DISCONNECTED]:Fo(o),[bo.KEY_INFO]:()=>{},[bo.CHANNEL_CREATED]:Uo(o),[bo.CLIENTS_WAITING]:zo(o),[bo.RPC_UPDATE]:e=>{o.emit(bo.RPC_UPDATE,e)}};for(const[t,n]of Object.entries(S))try{y.communicationLayer.on(t,n)}catch(e){}}function Jo(e){return a(this,arguments,void 0,(function*({options:e,instance:t}){const{state:n}=t;return io.RemoteCommunication(`[RemoteCommunication: disconnect()] channel=${n.channelId}`,e),new Promise(((r,i)=>{var s,a,c,l,d,u;(null==e?void 0:e.terminate)?(t.state.ready&&co({id:null!==(s=t.state.channelId)&&void 0!==s?s:\"\",event:So.TERMINATED},t.state.communicationServerUrl).catch((e=>{})),n.ready=!1,n.paused=!1,null===(a=n.storageManager)||void 0===a||a.terminate(null!==(c=n.channelId)&&void 0!==c?c:\"\"),t.state.terminated=!0,e.sendMessage?(null===(l=n.communicationLayer)||void 0===l?void 0:l.getKeyInfo().keysExchanged)&&t.state.communicationLayer&&Ro(t.state.communicationLayer,{type:Co.TERMINATE}).then((()=>{r(!0)})).catch((e=>{i(e)})):r(!0),n.authorized=!1,n.relayPersistence=!1,n.channelId=o(),e.channelId=n.channelId,n.channelConfig=void 0,n.originatorConnectStarted=!1,null===(d=n.communicationLayer)||void 0===d||d.disconnect(e),t.setConnectionStatus(vo.TERMINATED)):(null===(u=n.communicationLayer)||void 0===u||u.disconnect(e),t.setConnectionStatus(vo.DISCONNECTED),r(!0))}))}))}($o||($o={})).SOCKET=\"socket\",function(e){e.NonBrowser=\"nodejs\",e.MetaMaskMobileWebview=\"in-app-browser\",e.DesktopWeb=\"web-desktop\",e.MobileWeb=\"web-mobile\",e.ReactNative=\"react-native\"}(Bo||(Bo={}));class Xo extends r{constructor(e){super(),this.state={ready:!1,authorized:!1,isOriginator:!1,terminated:!1,protocolVersion:1,paused:!1,deeplinkProtocolAvailable:!1,platformType:\"metamask-mobile\",analytics:!1,reconnection:!1,originatorInfoSent:!1,communicationServerUrl:ho,context:\"\",persist:!1,clientsConnected:!1,sessionDuration:po,originatorConnectStarted:!1,debug:!1,_connectionStatus:vo.DISCONNECTED},this._options=e;const{platformType:n,communicationLayerPreference:r,otherPublicKey:i,reconnect:o,walletInfo:s,dappMetadata:a,protocolVersion:c,transports:l,context:d,relayPersistence:u,ecies:h,analytics:f=!1,storage:p,sdkVersion:g,communicationServerUrl:m=ho,logging:y,autoConnect:v={timeout:go}}=e;this.state.otherPublicKey=i,this.state.dappMetadata=a,this.state.walletInfo=s,this.state.transports=l,this.state.platformType=n,this.state.analytics=f,this.state.protocolVersion=null!=c?c:1,this.state.isOriginator=!i,this.state.relayPersistence=u,this.state.communicationServerUrl=m,this.state.context=d,this.state.terminated=!1,this.state.sdkVersion=g,this.setMaxListeners(50),this.setConnectionStatus(vo.DISCONNECTED),(null==p?void 0:p.duration)&&(this.state.sessionDuration=po),this.state.storageOptions=p,this.state.autoConnectOptions=v,this.state.debug=!0===(null==y?void 0:y.remoteLayer),!0===(null==y?void 0:y.remoteLayer)&&t.enable(\"RemoteCommunication:Layer\"),!0===(null==y?void 0:y.serviceLayer)&&t.enable(\"SocketService:Layer\"),!0===(null==y?void 0:y.eciesLayer)&&t.enable(\"ECIES:Layer\"),!0===(null==y?void 0:y.keyExchangeLayer)&&t.enable(\"KeyExchange:Layer\"),this.state.logging=y,(null==p?void 0:p.storageManager)&&(this.state.storageManager=p.storageManager),io.RemoteCommunication(`[RemoteCommunication: constructor()] protocolVersion=${c} relayPersistence=${u} isOriginator=${this.state.isOriginator} communicationLayerPreference=${r} otherPublicKey=${i} reconnect=${o}`),this.state.isOriginator||Yo({communicationLayerPreference:r,otherPublicKey:i,reconnect:o,ecies:h,communicationServerUrl:m,instance:this}),this.emitServiceStatusEvent({context:\"constructor\"})}initFromDappStorage(){return a(this,void 0,void 0,(function*(){var e;if(this.state.storageManager){const t=yield this.state.storageManager.getPersistedChannelConfig({});t&&(this.state.channelConfig=t,this.state.channelId=t.channelId,this.state.deeplinkProtocolAvailable=null!==(e=t.deeplinkProtocolAvailable)&&void 0!==e&&e,t.relayPersistence&&(this.state.authorized=!0,this.state.ready=!0,this.setConnectionStatus(vo.LINKED),yield this.connectToChannel({channelId:t.channelId})))}Yo({communicationLayerPreference:$o.SOCKET,otherPublicKey:this.state.otherPublicKey,reconnect:this._options.reconnect,ecies:this._options.ecies,communicationServerUrl:this.state.communicationServerUrl,instance:this})}))}originatorSessionConnect(){return a(this,void 0,void 0,(function*(){return yield function(e){return a(this,void 0,void 0,(function*(){var t;const{state:n}=e;if(!n.storageManager)return void io.RemoteCommunication(\"[RemoteCommunication: originatorSessionConnect()] no storage manager defined - skip\");const r=yield n.storageManager.getPersistedChannelConfig({});if(io.RemoteCommunication(`[RemoteCommunication: originatorSessionConnect()] autoStarted=${n.originatorConnectStarted} channelConfig`,r),null===(t=n.communicationLayer)||void 0===t?void 0:t.isConnected())return io.RemoteCommunication(\"[RemoteCommunication: originatorSessionConnect()] socket already connected - skip\"),r;if(r){if(r.validUntil>Date.now())return n.channelConfig=r,n.originatorConnectStarted=!0,n.channelId=null==r?void 0:r.channelId,n.reconnection=!0,r;io.RemoteCommunication(\"[RemoteCommunication: autoConnect()] Session has expired\")}n.originatorConnectStarted=!1}))}(this)}))}generateChannelIdConnect(){return a(this,void 0,void 0,(function*(){return function(e){return a(this,void 0,void 0,(function*(){var t,n,r,i,o,s;if(!e.communicationLayer)throw new Error(\"communication layer not initialized\");if(e.ready)throw new Error(\"Channel already connected\");if(e.channelId&&(null===(t=e.communicationLayer)||void 0===t?void 0:t.isConnected()))return e.channelConfig=Object.assign(Object.assign({},e.channelConfig),{channelId:e.channelId,validUntil:Date.now()+e.sessionDuration}),null===(n=e.storageManager)||void 0===n||n.persistChannelConfig(e.channelConfig),{channelId:e.channelId,privKey:null===(i=null===(r=e.communicationLayer)||void 0===r?void 0:r.getKeyInfo())||void 0===i?void 0:i.ecies.private,pubKey:null===(s=null===(o=e.communicationLayer)||void 0===o?void 0:o.getKeyInfo())||void 0===s?void 0:s.ecies.public};io.RemoteCommunication(\"[RemoteCommunication: generateChannelId()]\");const a=yield e.communicationLayer.createChannel();io.RemoteCommunication(\"[RemoteCommunication: generateChannelId()] channel created\",a);const c=Object.assign(Object.assign({},e.channelConfig),{channelId:a.channelId,localKey:a.privKey,validUntil:Date.now()+e.sessionDuration});return e.channelId=a.channelId,e.channelConfig=c,{channelId:e.channelId,pubKey:a.pubKey,privKey:a.privKey}}))}(this.state)}))}clean(){return yo(this.state)}connectToChannel({channelId:e,withKeyExchange:t,authorized:n}){return function(e){return a(this,arguments,void 0,(function*({channelId:e,withKeyExchange:t,authorized:n,state:r}){var o,s,a;if(!i(e))throw io.RemoteCommunication(`[RemoteCommunication: connectToChannel()] context=${r.context} invalid channel channelId=${e}`),new Error(`Invalid channel ${e}`);if(io.RemoteCommunication(`[RemoteCommunication: connectToChannel()] context=${r.context} channelId=${e} withKeyExchange=${t}`),null===(o=r.communicationLayer)||void 0===o?void 0:o.isConnected())return void io.RemoteCommunication(`[RemoteCommunication: connectToChannel()] context=${r.context} already connected - interrupt connection.`);r.channelId=e,yield null===(s=r.communicationLayer)||void 0===s?void 0:s.connectToChannel({channelId:e,authorized:n,withKeyExchange:t});const c=Object.assign(Object.assign({},r.channelConfig),{channelId:e,validUntil:Date.now()+r.sessionDuration});r.channelConfig=c,null===(a=r.storageManager)||void 0===a||a.persistChannelConfig(c)}))}({channelId:e,authorized:n,withKeyExchange:t,state:this.state})}sendMessage(e){return function(e,t){return a(this,void 0,void 0,(function*(){var n,r;const{state:i}=e;io.RemoteCommunication(`[RemoteCommunication: sendMessage()] context=${i.context} paused=${i.paused} ready=${i.ready} relayPersistence=${i.relayPersistence} authorized=${i.authorized} socket=${null===(n=i.communicationLayer)||void 0===n?void 0:n.isConnected()} clientsConnected=${i.clientsConnected} status=${i._connectionStatus}`,t),i.relayPersistence||i.ready&&(null===(r=i.communicationLayer)||void 0===r?void 0:r.isConnected())&&i.clientsConnected||(io.RemoteCommunication(`[RemoteCommunication: sendMessage()] context=${i.context} SKIP message waiting for MM mobile readiness.`),yield new Promise((t=>{e.once(bo.CLIENTS_READY,t)})),io.RemoteCommunication(`[RemoteCommunication: sendMessage()] context=${i.context} AFTER SKIP / READY -- sending pending message`));try{const n=yield function(e,t){return a(this,void 0,void 0,(function*(){return new Promise((n=>{var r;const{state:i}=e;io.RemoteCommunication(`[RemoteCommunication: handleAuthorization()] context=${i.context} ready=${i.ready} authorized=${i.authorized} method=${t.method}`),!i.isOriginator||i.authorized||i.relayPersistence?null===(r=i.communicationLayer)||void 0===r||r.sendMessage(t).then((e=>{n(e)})).catch((e=>{n(!1)})):e.once(bo.AUTHORIZED,(()=>{var e;io.RemoteCommunication(`[RemoteCommunication: handleAuthorization()] context=${i.context} AFTER SKIP / AUTHORIZED -- sending pending message`),null===(e=i.communicationLayer)||void 0===e||e.sendMessage(t).then((e=>{n(e)})).catch((e=>{n(!1)}))}))}))}))}(e,t);return n}catch(e){throw e}}))}(this,e)}testStorage(){return a(this,void 0,void 0,(function*(){return function(e){return a(this,void 0,void 0,(function*(){var t;const n=yield null===(t=e.storageManager)||void 0===t?void 0:t.getPersistedChannelConfig();io.RemoteCommunication(\"[RemoteCommunication: testStorage()] res\",n)}))}(this.state)}))}hasDeeplinkProtocol(){return this.state.deeplinkProtocolAvailable}getChannelConfig(){return this.state.channelConfig}isReady(){return this.state.ready}isConnected(){var e;return null===(e=this.state.communicationLayer)||void 0===e?void 0:e.isConnected()}isAuthorized(){return this.state.authorized}isPaused(){return this.state.paused}getCommunicationLayer(){return this.state.communicationLayer}ping(){return a(this,void 0,void 0,(function*(){var e;io.RemoteCommunication(`[RemoteCommunication: ping()] channel=${this.state.channelId}`),yield null===(e=this.state.communicationLayer)||void 0===e?void 0:e.ping()}))}testLogger(){io.RemoteCommunication(`testLogger() channel=${this.state.channelId}`),io.SocketService(`testLogger() channel=${this.state.channelId}`),io.Ecies(`testLogger() channel=${this.state.channelId}`),io.KeyExchange(`testLogger() channel=${this.state.channelId}`)}keyCheck(){var e;io.RemoteCommunication(`[RemoteCommunication: keyCheck()] channel=${this.state.channelId}`),null===(e=this.state.communicationLayer)||void 0===e||e.keyCheck()}setConnectionStatus(e){this.state._connectionStatus!==e&&(this.state._connectionStatus=e,this.emit(bo.CONNECTION_STATUS,e),this.emitServiceStatusEvent({context:\"setConnectionStatus\"}))}emitServiceStatusEvent(e={}){this.emit(bo.SERVICE_STATUS,this.getServiceStatus())}getConnectionStatus(){return this.state._connectionStatus}getServiceStatus(){return{originatorInfo:this.state.originatorInfo,keyInfo:this.getKeyInfo(),connectionStatus:this.state._connectionStatus,channelConfig:this.state.channelConfig,channelId:this.state.channelId}}getKeyInfo(){var e;return null===(e=this.state.communicationLayer)||void 0===e?void 0:e.getKeyInfo()}resetKeys(){var e;null===(e=this.state.communicationLayer)||void 0===e||e.resetKeys()}setOtherPublicKey(e){var t;const n=null===(t=this.state.communicationLayer)||void 0===t?void 0:t.getKeyExchange();if(!n)throw new Error(\"KeyExchange is not initialized.\");n.getOtherPublicKey()!==e&&n.setOtherPublicKey(e)}pause(){return a(this,void 0,void 0,(function*(){var e;io.RemoteCommunication(`[RemoteCommunication: pause()] channel=${this.state.channelId}`),yield null===(e=this.state.communicationLayer)||void 0===e?void 0:e.pause(),this.setConnectionStatus(vo.PAUSED)}))}getVersion(){return uo.version}hasRelayPersistence(){var e;return null!==(e=this.state.relayPersistence)&&void 0!==e&&e}resume(){return a(this,void 0,void 0,(function*(){return function(e){return a(this,void 0,void 0,(function*(){var t;const{state:n}=e;io.RemoteCommunication(`[RemoteCommunication: resume()] channel=${n.channelId}`),yield null===(t=n.communicationLayer)||void 0===t?void 0:t.resume(),e.setConnectionStatus(vo.LINKED)}))}(this)}))}encrypt(e){var t,n,r;const i=null===(t=this.state.communicationLayer)||void 0===t?void 0:t.getKeyExchange(),o=null==i?void 0:i.getOtherPublicKey();if(!o)throw new Error(\"KeyExchange not completed\");return null===(r=null===(n=this.state.communicationLayer)||void 0===n?void 0:n.state.eciesInstance)||void 0===r?void 0:r.encrypt(e,o)}decrypt(e){var t,n,r;if(!(null===(t=this.state.communicationLayer)||void 0===t?void 0:t.state.eciesInstance))throw new Error(\"ECIES instance is not initialized\");return null===(r=null===(n=this.state.communicationLayer)||void 0===n?void 0:n.state.eciesInstance)||void 0===r?void 0:r.decrypt(e)}getChannelId(){return this.state.channelId}getRPCMethodTracker(){var e;return null===(e=this.state.communicationLayer)||void 0===e?void 0:e.getRPCMethodTracker()}reject({channelId:e}){return function(e){return a(this,arguments,void 0,(function*({channelId:e,state:t}){var n,r,o;if(!i(e))throw io.RemoteCommunication(`[RemoteCommunication: connectToChannel()] context=${t.context} invalid channel channelId=${e}`),new Error(`Invalid channel ${e}`);if(t.isOriginator)return void io.RemoteCommunication(`[RemoteCommunication: reject()] context=${t.context} isOriginator=${t.isOriginator} channelId=${e}`);const{socket:s}=null!==(r=null===(n=t.communicationLayer)||void 0===n?void 0:n.state)&&void 0!==r?r:{};(null==s?void 0:s.connected)||(io.RemoteCommunication(`[RemoteCommunication: reject()] context=${t.context} socket already connected`),null==s||s.connect()),co(Object.assign(Object.assign({id:e,event:So.REJECTED},t.originatorInfo),{sdkVersion:t.sdkVersion,commLayerVersion:uo.version,walletVersion:null===(o=t.walletInfo)||void 0===o?void 0:o.version}),t.communicationServerUrl).catch((e=>{})),yield new Promise(((n,r)=>{null==s||s.emit(bo.REJECTED,{channelId:e},((e,i)=>{io.RemoteCommunication(`[RemoteCommunication: reject()] context=${t.context} socket=${null==s?void 0:s.id}`,{error:e,response:i}),e?r(e):n(i)}))}))}))}({channelId:e,state:this.state})}disconnect(e){return a(this,void 0,void 0,(function*(){return Jo({options:e,instance:this})}))}}!function(e){e.RENEW=\"renew\",e.LINK=\"link\"}(Ko||(Ko={}));var Qo=\"ERC721\",es=\"ERC1155\",ts={errors:{disconnected:()=>\"MetaMask: Disconnected from chain. Attempting to connect.\",permanentlyDisconnected:()=>\"MetaMask: Disconnected from MetaMask background. Page reload required.\",sendSiteMetadata:()=>\"MetaMask: Failed to send site metadata. This is an internal error, please report this bug.\",unsupportedSync:e=>`MetaMask: The MetaMask Ethereum provider does not support synchronous methods like ${e} without a callback parameter.`,invalidDuplexStream:()=>\"Must provide a Node.js-style duplex stream.\",invalidNetworkParams:()=>\"MetaMask: Received invalid network parameters. Please report this bug.\",invalidRequestArgs:()=>\"Expected a single, non-array, object argument.\",invalidRequestMethod:()=>\"'args.method' must be a non-empty string.\",invalidRequestParams:()=>\"'args.params' must be an object or array if provided.\",invalidLoggerObject:()=>\"'args.logger' must be an object if provided.\",invalidLoggerMethod:e=>`'args.logger' must include required method '${e}'.`},info:{connected:e=>`MetaMask: Connected to chain with ID \"${e}\".`},warnings:{chainIdDeprecation:\"MetaMask: 'ethereum.chainId' is deprecated and may be removed in the future. Please use the 'eth_chainId' RPC method instead.\\nFor more information, see: https://github.com/MetaMask/metamask-improvement-proposals/discussions/23\",networkVersionDeprecation:\"MetaMask: 'ethereum.networkVersion' is deprecated and may be removed in the future. Please use the 'net_version' RPC method instead.\\nFor more information, see: https://github.com/MetaMask/metamask-improvement-proposals/discussions/23\",selectedAddressDeprecation:\"MetaMask: 'ethereum.selectedAddress' is deprecated and may be removed in the future. Please use the 'eth_accounts' RPC method instead.\\nFor more information, see: https://github.com/MetaMask/metamask-improvement-proposals/discussions/23\",enableDeprecation:\"MetaMask: 'ethereum.enable()' is deprecated and may be removed in the future. Please use the 'eth_requestAccounts' RPC method instead.\\nFor more information, see: https://eips.ethereum.org/EIPS/eip-1102\",sendDeprecation:\"MetaMask: 'ethereum.send(...)' is deprecated and may be removed in the future. Please use 'ethereum.sendAsync(...)' or 'ethereum.request(...)' instead.\\nFor more information, see: https://eips.ethereum.org/EIPS/eip-1193\",events:{close:\"MetaMask: The event 'close' is deprecated and may be removed in the future. Please use 'disconnect' instead.\\nFor more information, see: https://eips.ethereum.org/EIPS/eip-1193#disconnect\",data:\"MetaMask: The event 'data' is deprecated and will be removed in the future. Use 'message' instead.\\nFor more information, see: https://eips.ethereum.org/EIPS/eip-1193#message\",networkChanged:\"MetaMask: The event 'networkChanged' is deprecated and may be removed in the future. Use 'chainChanged' instead.\\nFor more information, see: https://eips.ethereum.org/EIPS/eip-1193#chainchanged\",notification:\"MetaMask: The event 'notification' is deprecated and may be removed in the future. Use 'message' instead.\\nFor more information, see: https://eips.ethereum.org/EIPS/eip-1193#message\"},rpc:{ethDecryptDeprecation:\"MetaMask: The RPC method 'eth_decrypt' is deprecated and may be removed in the future.\\nFor more information, see: https://medium.com/metamask/metamask-api-method-deprecation-2b0564a84686\",ethGetEncryptionPublicKeyDeprecation:\"MetaMask: The RPC method 'eth_getEncryptionPublicKey' is deprecated and may be removed in the future.\\nFor more information, see: https://medium.com/metamask/metamask-api-method-deprecation-2b0564a84686\",walletWatchAssetNFTExperimental:\"MetaMask: The RPC method 'wallet_watchAsset' is experimental for ERC721/ERC1155 assets and may change in the future.\\nFor more information, see: https://github.com/MetaMask/metamask-improvement-proposals/blob/main/MIPs/mip-1.md and https://github.com/MetaMask/metamask-improvement-proposals/blob/main/PROCESS-GUIDE.md#proposal-lifecycle\"},experimentalMethods:\"MetaMask: 'ethereum._metamask' exposes non-standard, experimental methods. They may be removed or changed without warning.\"}};function ns(e){const t={ethDecryptDeprecation:!1,ethGetEncryptionPublicKeyDeprecation:!1,walletWatchAssetNFTExperimental:!1};return(n,r,i)=>{t.ethDecryptDeprecation||\"eth_decrypt\"!==n.method?t.ethGetEncryptionPublicKeyDeprecation||\"eth_getEncryptionPublicKey\"!==n.method?!t.walletWatchAssetNFTExperimental&&\"wallet_watchAsset\"===n.method&&[Qo,es].includes(n.params?.type||\"\")&&(e.warn(ts.warnings.rpc.walletWatchAssetNFTExperimental),t.walletWatchAssetNFTExperimental=!0):(e.warn(ts.warnings.rpc.ethGetEncryptionPublicKeyDeprecation),t.ethGetEncryptionPublicKeyDeprecation=!0):(e.warn(ts.warnings.rpc.ethDecryptDeprecation),t.ethDecryptDeprecation=!0),i()}}var rs=4294967295,is=Math.floor(Math.random()*rs);function os(){return(e,t,n,r)=>{const i=e.id,o=is=(is+1)%rs;e.id=o,t.id=o,n((n=>{e.id=i,t.id=i,n()}))}}var ss=(e,t,n)=>{if(!t.has(e))throw TypeError(\"Cannot \"+n)},as=(e,t,n)=>(ss(e,t,\"read from private field\"),n?n.call(e):t.get(e)),cs=(e,t,n)=>{if(t.has(e))throw TypeError(\"Cannot add the same private member more than once\");t instanceof WeakSet?t.add(e):t.set(e,n)},ls=(e,t,n,r)=>(ss(e,t,\"write to private field\"),t.set(e,n),n),ds=(e,t,n)=>(ss(e,t,\"access private method\"),n),us={invalidInput:-32e3,resourceNotFound:-32001,resourceUnavailable:-32002,transactionRejected:-32003,methodNotSupported:-32004,limitExceeded:-32005,parse:-32700,invalidRequest:-32600,methodNotFound:-32601,invalidParams:-32602,internal:-32603},hs={\"-32700\":{standard:\"JSON RPC 2.0\",message:\"Invalid JSON was received by the server. An error occurred on the server while parsing the JSON text.\"},\"-32600\":{standard:\"JSON RPC 2.0\",message:\"The JSON sent is not a valid Request object.\"},\"-32601\":{standard:\"JSON RPC 2.0\",message:\"The method does not exist / is not available.\"},\"-32602\":{standard:\"JSON RPC 2.0\",message:\"Invalid method parameter(s).\"},\"-32603\":{standard:\"JSON RPC 2.0\",message:\"Internal JSON-RPC error.\"},\"-32000\":{standard:\"EIP-1474\",message:\"Invalid input.\"},\"-32001\":{standard:\"EIP-1474\",message:\"Resource not found.\"},\"-32002\":{standard:\"EIP-1474\",message:\"Resource unavailable.\"},\"-32003\":{standard:\"EIP-1474\",message:\"Transaction rejected.\"},\"-32004\":{standard:\"EIP-1474\",message:\"Method not supported.\"},\"-32005\":{standard:\"EIP-1474\",message:\"Request limit exceeded.\"},4001:{standard:\"EIP-1193\",message:\"User rejected the request.\"},4100:{standard:\"EIP-1193\",message:\"The requested account and/or method has not been authorized by the user.\"},4200:{standard:\"EIP-1193\",message:\"The requested method is not supported by this Ethereum provider.\"},4900:{standard:\"EIP-1193\",message:\"The provider is disconnected from all chains.\"},4901:{standard:\"EIP-1193\",message:\"The provider is disconnected from the specified chain.\"}};function fs(e){return Boolean(e)&&\"object\"==typeof e&&!Array.isArray(e)}var ps=(e,t)=>Object.hasOwnProperty.call(e,t);class gs extends TypeError{constructor(e,t){let n;const{message:r,explanation:i,...o}=e,{path:s}=e,a=0===s.length?r:`At path: ${s.join(\".\")} -- ${r}`;super(i??a),null!=i&&(this.cause=a),Object.assign(this,o),this.name=this.constructor.name,this.failures=()=>n??(n=[e,...t()])}}function ms(e){return\"object\"==typeof e&&null!=e}function ys(e){return\"symbol\"==typeof e?e.toString():\"string\"==typeof e?JSON.stringify(e):`${e}`}function vs(e,t,n,r){if(!0===e)return;!1===e?e={}:\"string\"==typeof e&&(e={message:e});const{path:i,branch:o}=t,{type:s}=n,{refinement:a,message:c=`Expected a value of type \\`${s}\\`${a?` with refinement \\`${a}\\``:\"\"}, but received: \\`${ys(r)}\\``}=e;return{value:r,type:s,refinement:a,key:i[i.length-1],path:i,branch:o,...e,message:c}}function*bs(e,t,n,r){(function(e){return ms(e)&&\"function\"==typeof e[Symbol.iterator]})(e)||(e=[e]);for(const i of e){const e=vs(i,t,n,r);e&&(yield e)}}function*ws(e,t,n={}){const{path:r=[],branch:i=[e],coerce:o=!1,mask:s=!1}=n,a={path:r,branch:i};if(o&&(e=t.coercer(e,a),s&&\"type\"!==t.type&&ms(t.schema)&&ms(e)&&!Array.isArray(e)))for(const n in e)void 0===t.schema[n]&&delete e[n];let c=\"valid\";for(const r of t.validator(e,a))r.explanation=n.message,c=\"not_valid\",yield[r,void 0];for(let[l,d,u]of t.entries(e,a)){const t=ws(d,u,{path:void 0===l?r:[...r,l],branch:void 0===l?i:[...i,d],coerce:o,mask:s,message:n.message});for(const n of t)n[0]?(c=null!=n[0].refinement?\"not_refined\":\"not_valid\",yield[n[0],void 0]):o&&(d=n[1],void 0===l?e=d:e instanceof Map?e.set(l,d):e instanceof Set?e.add(d):ms(e)&&(void 0!==d||l in e)&&(e[l]=d))}if(\"not_valid\"!==c)for(const r of t.refiner(e,a))r.explanation=n.message,c=\"not_refined\",yield[r,void 0];\"valid\"===c&&(yield[void 0,e])}class Es{constructor(e){const{type:t,schema:n,validator:r,refiner:i,coercer:o=(e=>e),entries:s=function*(){}}=e;this.type=t,this.schema=n,this.entries=s,this.coercer=o,this.validator=r?(e,t)=>bs(r(e,t),t,this,e):()=>[],this.refiner=i?(e,t)=>bs(i(e,t),t,this,e):()=>[]}assert(e,t){return Cs(e,this,t)}create(e,t){return Ss(e,this,t)}is(e){return _s(e,this)}mask(e,t){return function(e,t,n){const r=ks(e,t,{coerce:!0,mask:!0,message:n});if(r[0])throw r[0];return r[1]}(e,this,t)}validate(e,t={}){return ks(e,this,t)}}function Cs(e,t,n){const r=ks(e,t,{message:n});if(r[0])throw r[0]}function Ss(e,t,n){const r=ks(e,t,{coerce:!0,message:n});if(r[0])throw r[0];return r[1]}function _s(e,t){return!ks(e,t)[0]}function ks(e,t,n={}){const r=ws(e,t,n),i=function(e){const{done:t,value:n}=e.next();return t?void 0:n}(r);if(i[0]){const e=new gs(i[0],(function*(){for(const e of r)e[0]&&(yield e[0])}));return[e,void 0]}return[void 0,i[1]]}function xs(e,t){return new Es({type:e,schema:null,validator:t})}function Ms(e){let t;return new Es({type:\"lazy\",schema:null,*entries(n,r){t??(t=e()),yield*t.entries(n,r)},validator:(n,r)=>(t??(t=e()),t.validator(n,r)),coercer:(n,r)=>(t??(t=e()),t.coercer(n,r)),refiner:(n,r)=>(t??(t=e()),t.refiner(n,r))})}function As(e){return new Es({type:\"array\",schema:e,*entries(t){if(e&&Array.isArray(t))for(const[n,r]of t.entries())yield[n,r,e]},coercer:e=>Array.isArray(e)?e.slice():e,validator:e=>Array.isArray(e)||`Expected an array value, but received: ${ys(e)}`})}function Is(e){const t=ys(e),n=typeof e;return new Es({type:\"literal\",schema:\"string\"===n||\"number\"===n||\"boolean\"===n?e:null,validator:n=>n===e||`Expected the literal \\`${t}\\`, but received: ${ys(n)}`})}function Rs(){return xs(\"number\",(e=>\"number\"==typeof e&&!isNaN(e)||`Expected a number, but received: ${ys(e)}`))}function Ps(e){const t=e?Object.keys(e):[],n=xs(\"never\",(()=>!1));return new Es({type:\"object\",schema:e||null,*entries(r){if(e&&ms(r)){const i=new Set(Object.keys(r));for(const n of t)i.delete(n),yield[n,r[n],e[n]];for(const e of i)yield[e,r[e],n]}},validator:e=>ms(e)||`Expected an object, but received: ${ys(e)}`,coercer:e=>ms(e)?{...e}:e})}function Ls(e){return new Es({...e,validator:(t,n)=>void 0===t||e.validator(t,n),refiner:(t,n)=>void 0===t||e.refiner(t,n)})}function Os(e,t){return new Es({type:\"record\",schema:null,*entries(n){if(ms(n))for(const r in n){const i=n[r];yield[r,r,e],yield[r,i,t]}},validator:e=>ms(e)||`Expected an object, but received: ${ys(e)}`})}function Ts(){return xs(\"string\",(e=>\"string\"==typeof e||`Expected a string, but received: ${ys(e)}`))}function Ns(e){const t=e.map((e=>e.type)).join(\" | \");return new Es({type:\"union\",schema:null,coercer(t){for(const n of e){const[e,r]=n.validate(t,{coerce:!0});if(!e)return r}return t},validator(n,r){const i=[];for(const t of e){const[...e]=ws(n,t,r),[o]=e;if(!o[0])return[];for(const[t]of e)t&&i.push(t)}return[`Expected the value to satisfy a union of \\`${t}\\`, but received: ${ys(n)}`,...i]}})}function Ds(e){return function(e){return function(e){return\"object\"==typeof e&&null!==e&&\"message\"in e}(e)&&\"string\"==typeof e.message?e.message:null==e?\"\":String(e)}(e).replace(/\\.$/u,\"\")}function $s(e,t){return n=e,Boolean(\"string\"==typeof n?.prototype?.constructor?.name)?new e({message:t}):e({message:t});var n}var Bs=class extends Error{constructor(e){super(e.message),this.code=\"ERR_ASSERTION\"}};function Ks(){throw new Error(\"setTimeout has not been defined\")}function js(){throw new Error(\"clearTimeout has not been defined\")}var Us=Ks,Hs=js;function Fs(e){if(Us===setTimeout)return setTimeout(e,0);if((Us===Ks||!Us)&&setTimeout)return Us=setTimeout,setTimeout(e,0);try{return Us(e,0)}catch(t){try{return Us.call(null,e,0)}catch(t){return Us.call(this,e,0)}}}\"function\"==typeof c.setTimeout&&(Us=setTimeout),\"function\"==typeof c.clearTimeout&&(Hs=clearTimeout);var zs,qs=[],Vs=!1,Ws=-1;function Gs(){Vs&&zs&&(Vs=!1,zs.length?qs=zs.concat(qs):Ws=-1,qs.length&&Zs())}function Zs(){if(!Vs){var e=Fs(Gs);Vs=!0;for(var t=qs.length;t;){for(zs=qs,qs=[];++Ws<t;)zs&&zs[Ws].run();Ws=-1,t=qs.length}zs=null,Vs=!1,function(e){if(Hs===clearTimeout)return clearTimeout(e);if((Hs===js||!Hs)&&clearTimeout)return Hs=clearTimeout,clearTimeout(e);try{return Hs(e)}catch(t){try{return Hs.call(null,e)}catch(t){return Hs.call(this,e)}}}(e)}}function Ys(e,t){this.fun=e,this.array=t}Ys.prototype.run=function(){this.fun.apply(null,this.array)};function Js(){}var Xs=Js,Qs=Js,ea=Js,ta=Js,na=Js,ra=Js,ia=Js;var oa=c.performance||{},sa=oa.now||oa.mozNow||oa.msNow||oa.oNow||oa.webkitNow||function(){return(new Date).getTime()};var aa=new Date;var ca={nextTick:function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];qs.push(new Ys(e,t)),1!==qs.length||Vs||Fs(Zs)},title:\"browser\",browser:!0,env:{},argv:[],version:\"\",versions:{},on:Xs,addListener:Qs,once:ea,off:ta,removeListener:na,removeAllListeners:ra,emit:ia,binding:function(e){throw new Error(\"process.binding is not supported\")},cwd:function(){return\"/\"},chdir:function(e){throw new Error(\"process.chdir is not supported\")},umask:function(){return 0},hrtime:function(e){var t=.001*sa.call(oa),n=Math.floor(t),r=Math.floor(t%1*1e9);return e&&(n-=e[0],(r-=e[1])<0&&(n--,r+=1e9)),[n,r]},platform:\"browser\",release:{},config:{},uptime:function(){return(new Date-aa)/1e3}},la=e=>Ps(e);function da({path:e,branch:t}){const n=e[e.length-1];return ps(t[t.length-2],n)}function ua(e){return new Es({...e,type:`optional ${e.type}`,validator:(t,n)=>!da(n)||e.validator(t,n),refiner:(t,n)=>!da(n)||e.refiner(t,n)})}var ha,fa,pa,ga=Ns([Is(null),xs(\"boolean\",(e=>\"boolean\"==typeof e)),xs(\"finite number\",(e=>_s(e,Rs())&&Number.isFinite(e))),Ts(),As(Ms((()=>ga))),Os(Ts(),Ms((()=>ga)))]),ma=(ha=ga,fa=xs(\"any\",(()=>!0)),pa=e=>(function(e,t,n=\"Assertion failed\",r=Bs){try{Cs(e,t)}catch(e){throw $s(r,`${n}: ${Ds(e)}.`)}}(e,ga),JSON.parse(JSON.stringify(e,((e,t)=>{if(\"__proto__\"!==e&&\"constructor\"!==e)return t})))),new Es({...ha,coercer:(e,t)=>_s(e,fa)?ha.coercer(pa(e,t),t):ha.coercer(e,t)}));function ya(e){try{return function(e){Ss(e,ma)}(e),!0}catch{return!1}}var va=Is(\"2.0\"),ba=function(e){return new Es({...e,validator:(t,n)=>null===t||e.validator(t,n),refiner:(t,n)=>null===t||e.refiner(t,n)})}(Ns([Rs(),Ts()])),wa=la({code:xs(\"integer\",(e=>\"number\"==typeof e&&!isNaN(e)&&Number.isInteger(e)||`Expected an integer, but received: ${ys(e)}`)),message:Ts(),data:ua(ma),stack:ua(Ts())}),Ea=Ns([Os(Ts(),ma),As(ma)]),Ca=la({id:ba,jsonrpc:va,method:Ts(),params:ua(Ea)}),Sa=la({jsonrpc:va,method:Ts(),params:ua(Ea)});function _a(e){return _s(e,Ca)}function ka(e){return _s(e,wa)}Ps({id:ba,jsonrpc:va,result:Ls(xs(\"unknown\",(()=>!0))),error:Ls(wa)}),Ns([la({id:ba,jsonrpc:va,result:ma}),la({id:ba,jsonrpc:va,error:wa})]);var xa=us.internal,Ma=\"Unspecified error message. This is a bug, please report it.\",Aa={code:xa,message:Ra(xa)},Ia=\"Unspecified server error.\";function Ra(e,t=Ma){if(function(e){return Number.isInteger(e)}(e)){const t=e.toString();if(ps(hs,t))return hs[t].message;if(function(e){return e>=-32099&&e<=-32e3}(e))return Ia}return t}function Pa(e,{fallbackError:t=Aa,shouldIncludeStack:n=!0}={}){if(!ka(t))throw new Error(\"Must provide fallback error with integer number code and string message.\");const r=function(e,t){if(e&&\"object\"==typeof e&&\"serialize\"in e&&\"function\"==typeof e.serialize)return e.serialize();if(ka(e))return e;const n=La(e),r={...t,data:{cause:n}};return r}(e,t);return n||delete r.stack,r}function La(e){return Array.isArray(e)?e.map((e=>ya(e)?e:fs(e)?Oa(e):null)):fs(e)?Oa(e):ya(e)?e:null}function Oa(e){return Object.getOwnPropertyNames(e).reduce(((t,n)=>{const r=e[n];return ya(r)&&(t[n]=r),t}),{})}var Ta=ja;ja.default=ja,ja.stable=za,ja.stableStringify=za;var Na=\"[...]\",Da=\"[Circular]\",$a=[],Ba=[];function Ka(){return{depthLimit:Number.MAX_SAFE_INTEGER,edgesLimit:Number.MAX_SAFE_INTEGER}}function ja(e,t,n,r){var i;void 0===r&&(r=Ka()),Ha(e,\"\",0,[],void 0,0,r);try{i=0===Ba.length?JSON.stringify(e,t,n):JSON.stringify(e,Va(t),n)}catch(e){return JSON.stringify(\"[unable to serialize, circular reference is too complex to analyze]\")}finally{for(;0!==$a.length;){var o=$a.pop();4===o.length?Object.defineProperty(o[0],o[1],o[3]):o[0][o[1]]=o[2]}}return i}function Ua(e,t,n,r){var i=Object.getOwnPropertyDescriptor(r,n);void 0!==i.get?i.configurable?(Object.defineProperty(r,n,{value:e}),$a.push([r,n,t,i])):Ba.push([t,n,e]):(r[n]=e,$a.push([r,n,t]))}function Ha(e,t,n,r,i,o,s){var a;if(o+=1,\"object\"==typeof e&&null!==e){for(a=0;a<r.length;a++)if(r[a]===e)return void Ua(Da,e,t,i);if(void 0!==s.depthLimit&&o>s.depthLimit)return void Ua(Na,e,t,i);if(void 0!==s.edgesLimit&&n+1>s.edgesLimit)return void Ua(Na,e,t,i);if(r.push(e),Array.isArray(e))for(a=0;a<e.length;a++)Ha(e[a],a,a,r,e,o,s);else{var c=Object.keys(e);for(a=0;a<c.length;a++){var l=c[a];Ha(e[l],l,a,r,e,o,s)}}r.pop()}}function Fa(e,t){return e<t?-1:e>t?1:0}function za(e,t,n,r){void 0===r&&(r=Ka());var i,o=qa(e,\"\",0,[],void 0,0,r)||e;try{i=0===Ba.length?JSON.stringify(o,t,n):JSON.stringify(o,Va(t),n)}catch(e){return JSON.stringify(\"[unable to serialize, circular reference is too complex to analyze]\")}finally{for(;0!==$a.length;){var s=$a.pop();4===s.length?Object.defineProperty(s[0],s[1],s[3]):s[0][s[1]]=s[2]}}return i}function qa(e,t,n,r,i,o,s){var a;if(o+=1,\"object\"==typeof e&&null!==e){for(a=0;a<r.length;a++)if(r[a]===e)return void Ua(Da,e,t,i);try{if(\"function\"==typeof e.toJSON)return}catch(e){return}if(void 0!==s.depthLimit&&o>s.depthLimit)return void Ua(Na,e,t,i);if(void 0!==s.edgesLimit&&n+1>s.edgesLimit)return void Ua(Na,e,t,i);if(r.push(e),Array.isArray(e))for(a=0;a<e.length;a++)qa(e[a],a,a,r,e,o,s);else{var c={},l=Object.keys(e).sort(Fa);for(a=0;a<l.length;a++){var d=l[a];qa(e[d],d,a,r,e,o,s),c[d]=e[d]}if(void 0===i)return c;$a.push([i,t,e]),i[t]=c}r.pop()}}function Va(e){return e=void 0!==e?e:function(e,t){return t},function(t,n){if(Ba.length>0)for(var r=0;r<Ba.length;r++){var i=Ba[r];if(i[1]===t&&i[0]===n){n=i[2],Ba.splice(r,1);break}}return e.call(this,t,n)}}var Wa=de(Ta),Ga=class extends Error{constructor(e,t,n){if(!Number.isInteger(e))throw new Error('\"code\" must be an integer.');if(!t||\"string\"!=typeof t)throw new Error('\"message\" must be a non-empty string.');super(t),this.code=e,void 0!==n&&(this.data=n)}serialize(){const e={code:this.code,message:this.message};return void 0!==this.data&&(e.data=this.data,function(e){if(\"object\"!=typeof e||null===e)return!1;try{let t=e;for(;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}catch(e){return!1}}(this.data)&&(e.data.cause=La(this.data.cause))),this.stack&&(e.stack=this.stack),e}toString(){return Wa(this.serialize(),Za,2)}};function Za(e,t){if(\"[Circular]\"!==t)return t}var Ya=e=>Ja(us.invalidRequest,e);function Ja(e,t){const[n,r]=function(e){if(e){if(\"string\"==typeof e)return[e];if(\"object\"==typeof e&&!Array.isArray(e)){const{message:t,data:n}=e;if(t&&\"string\"!=typeof t)throw new Error(\"Must specify string message.\");return[t??void 0,n]}}return[]}(t);return new Ga(e,n??Ra(e),r)}var Xa={};function Qa(){}function ec(){ec.init.call(this)}function tc(e){return void 0===e._maxListeners?ec.defaultMaxListeners:e._maxListeners}function nc(e,t,n,r){var i,o,s;if(\"function\"!=typeof n)throw new TypeError('\"listener\" argument must be a function');if((o=e._events)?(o.newListener&&(e.emit(\"newListener\",t,n.listener?n.listener:n),o=e._events),s=o[t]):(o=e._events=new Qa,e._eventsCount=0),s){if(\"function\"==typeof s?s=o[t]=r?[n,s]:[s,n]:r?s.unshift(n):s.push(n),!s.warned&&(i=tc(e))&&i>0&&s.length>i){s.warned=!0;var a=new Error(\"Possible EventEmitter memory leak detected. \"+s.length+\" \"+t+\" listeners added. Use emitter.setMaxListeners() to increase limit\");a.name=\"MaxListenersExceededWarning\",a.emitter=e,a.type=t,a.count=s.length,function(e){\"function\"==typeof console.warn?console.warn(e):console.log(e)}(a)}}else s=o[t]=n,++e._eventsCount;return e}function rc(e,t,n){var r=!1;function i(){e.removeListener(t,i),r||(r=!0,n.apply(e,arguments))}return i.listener=n,i}function ic(e){var t=this._events;if(t){var n=t[e];if(\"function\"==typeof n)return 1;if(n)return n.length}return 0}function oc(e,t){for(var n=new Array(t);t--;)n[t]=e[t];return n}Qa.prototype=Object.create(null),ec.EventEmitter=ec,ec.usingDomains=!1,ec.prototype.domain=void 0,ec.prototype._events=void 0,ec.prototype._maxListeners=void 0,ec.defaultMaxListeners=10,ec.init=function(){this.domain=null,ec.usingDomains&&undefined.active,this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=new Qa,this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},ec.prototype.setMaxListeners=function(e){if(\"number\"!=typeof e||e<0||isNaN(e))throw new TypeError('\"n\" argument must be a positive number');return this._maxListeners=e,this},ec.prototype.getMaxListeners=function(){return tc(this)},ec.prototype.emit=function(e){var t,n,r,i,o,s,a,c=\"error\"===e;if(s=this._events)c=c&&null==s.error;else if(!c)return!1;if(a=this.domain,c){if(t=arguments[1],!a){if(t instanceof Error)throw t;var l=new Error('Uncaught, unspecified \"error\" event. ('+t+\")\");throw l.context=t,l}return t||(t=new Error('Uncaught, unspecified \"error\" event')),t.domainEmitter=this,t.domain=a,t.domainThrown=!1,a.emit(\"error\",t),!1}if(!(n=s[e]))return!1;var d=\"function\"==typeof n;switch(r=arguments.length){case 1:!function(e,t,n){if(t)e.call(n);else for(var r=e.length,i=oc(e,r),o=0;o<r;++o)i[o].call(n)}(n,d,this);break;case 2:!function(e,t,n,r){if(t)e.call(n,r);else for(var i=e.length,o=oc(e,i),s=0;s<i;++s)o[s].call(n,r)}(n,d,this,arguments[1]);break;case 3:!function(e,t,n,r,i){if(t)e.call(n,r,i);else for(var o=e.length,s=oc(e,o),a=0;a<o;++a)s[a].call(n,r,i)}(n,d,this,arguments[1],arguments[2]);break;case 4:!function(e,t,n,r,i,o){if(t)e.call(n,r,i,o);else for(var s=e.length,a=oc(e,s),c=0;c<s;++c)a[c].call(n,r,i,o)}(n,d,this,arguments[1],arguments[2],arguments[3]);break;default:for(i=new Array(r-1),o=1;o<r;o++)i[o-1]=arguments[o];!function(e,t,n,r){if(t)e.apply(n,r);else for(var i=e.length,o=oc(e,i),s=0;s<i;++s)o[s].apply(n,r)}(n,d,this,i)}return!0},ec.prototype.addListener=function(e,t){return nc(this,e,t,!1)},ec.prototype.on=ec.prototype.addListener,ec.prototype.prependListener=function(e,t){return nc(this,e,t,!0)},ec.prototype.once=function(e,t){if(\"function\"!=typeof t)throw new TypeError('\"listener\" argument must be a function');return this.on(e,rc(this,e,t)),this},ec.prototype.prependOnceListener=function(e,t){if(\"function\"!=typeof t)throw new TypeError('\"listener\" argument must be a function');return this.prependListener(e,rc(this,e,t)),this},ec.prototype.removeListener=function(e,t){var n,r,i,o,s;if(\"function\"!=typeof t)throw new TypeError('\"listener\" argument must be a function');if(!(r=this._events))return this;if(!(n=r[e]))return this;if(n===t||n.listener&&n.listener===t)0==--this._eventsCount?this._events=new Qa:(delete r[e],r.removeListener&&this.emit(\"removeListener\",e,n.listener||t));else if(\"function\"!=typeof n){for(i=-1,o=n.length;o-- >0;)if(n[o]===t||n[o].listener&&n[o].listener===t){s=n[o].listener,i=o;break}if(i<0)return this;if(1===n.length){if(n[0]=void 0,0==--this._eventsCount)return this._events=new Qa,this;delete r[e]}else!function(e,t){for(var n=t,r=n+1,i=e.length;r<i;n+=1,r+=1)e[n]=e[r];e.pop()}(n,i);r.removeListener&&this.emit(\"removeListener\",e,s||t)}return this},ec.prototype.off=function(e,t){return this.removeListener(e,t)},ec.prototype.removeAllListeners=function(e){var t,n;if(!(n=this._events))return this;if(!n.removeListener)return 0===arguments.length?(this._events=new Qa,this._eventsCount=0):n[e]&&(0==--this._eventsCount?this._events=new Qa:delete n[e]),this;if(0===arguments.length){for(var r,i=Object.keys(n),o=0;o<i.length;++o)\"removeListener\"!==(r=i[o])&&this.removeAllListeners(r);return this.removeAllListeners(\"removeListener\"),this._events=new Qa,this._eventsCount=0,this}if(\"function\"==typeof(t=n[e]))this.removeListener(e,t);else if(t)do{this.removeListener(e,t[t.length-1])}while(t[0]);return this},ec.prototype.listeners=function(e){var t,n,r=this._events;return n=r&&(t=r[e])?\"function\"==typeof t?[t.listener||t]:function(e){for(var t=new Array(e.length),n=0;n<t.length;++n)t[n]=e[n].listener||e[n];return t}(t):[],n},ec.listenerCount=function(e,t){return\"function\"==typeof e.listenerCount?e.listenerCount(t):ic.call(e,t)},ec.prototype.listenerCount=ic,ec.prototype.eventNames=function(){return this._eventsCount>0?Reflect.ownKeys(this._events):[]};var sc=ue(Object.freeze({__proto__:null,EventEmitter:ec,default:ec}));Object.defineProperty(Xa,\"__esModule\",{value:!0});const ac=sc;function cc(e,t,n){try{Reflect.apply(e,t,n)}catch(e){setTimeout((()=>{throw e}))}}let lc=class extends ac.EventEmitter{emit(e,...t){let n=\"error\"===e;const r=this._events;if(void 0!==r)n=n&&void 0===r.error;else if(!n)return!1;if(n){let e;if(t.length>0&&([e]=t),e instanceof Error)throw e;const n=new Error(\"Unhandled error.\"+(e?` (${e.message})`:\"\"));throw n.context=e,n}const i=r[e];if(void 0===i)return!1;if(\"function\"==typeof i)cc(i,this,t);else{const e=i.length,n=function(e){const t=e.length,n=new Array(t);for(let r=0;r<t;r+=1)n[r]=e[r];return n}(i);for(let r=0;r<e;r+=1)cc(n[r],this,t)}return!0}};var dc,uc,hc,fc,pc,gc,mc,yc,vc,bc,wc,Ec,Cc,Sc,_c,kc,xc,Mc,Ac,Ic=Xa.default=lc,Rc=class e extends Ic{constructor({notificationHandler:e}={}){super(),cs(this,fc),cs(this,gc),cs(this,yc),cs(this,dc,!1),cs(this,uc,void 0),cs(this,hc,void 0),ls(this,uc,[]),ls(this,hc,e)}destroy(){as(this,uc).forEach((e=>{\"destroy\"in e&&\"function\"==typeof e.destroy&&e.destroy()})),ls(this,uc,[]),ls(this,dc,!0)}push(e){ds(this,fc,pc).call(this),as(this,uc).push(e)}handle(e,t){if(ds(this,fc,pc).call(this),t&&\"function\"!=typeof t)throw new Error('\"callback\" must be a function if provided.');return Array.isArray(e)?t?ds(this,gc,mc).call(this,e,t):ds(this,gc,mc).call(this,e):t?ds(this,yc,vc).call(this,e,t):this._promiseHandle(e)}asMiddleware(){return ds(this,fc,pc).call(this),async(t,n,r,i)=>{var o,s;try{const[a,c,l]=await ds(o=e,Ec,Cc).call(o,t,n,as(this,uc));return c?(await ds(s=e,kc,xc).call(s,l),i(a)):r((async t=>{var n;try{await ds(n=e,kc,xc).call(n,l)}catch(e){return t(e)}return t()}))}catch(e){return i(e)}}}async _promiseHandle(e){return new Promise(((t,n)=>{ds(this,yc,vc).call(this,e,((e,r)=>{e&&void 0===r?n(e):t(r)})).catch(n)}))}};dc=new WeakMap,uc=new WeakMap,hc=new WeakMap,fc=new WeakSet,pc=function(){if(as(this,dc))throw new Error(\"This engine is destroyed and can no longer be used.\")},gc=new WeakSet,mc=async function(e,t){try{if(0===e.length){const e=[{id:null,jsonrpc:\"2.0\",error:new Ga(us.invalidRequest,\"Request batch must contain plain objects. Received an empty array\")}];return t?t(null,e):e}const n=(await Promise.all(e.map(this._promiseHandle.bind(this)))).filter((e=>void 0!==e));return t?t(null,n):n}catch(e){if(t)return t(e);throw e}},yc=new WeakSet,vc=async function(e,t){var n;if(!e||Array.isArray(e)||\"object\"!=typeof e){const n=new Ga(us.invalidRequest,\"Requests must be plain objects. Received: \"+typeof e,{request:e});return t(n,{id:null,jsonrpc:\"2.0\",error:n})}if(\"string\"!=typeof e.method){const n=new Ga(us.invalidRequest,\"Must specify a string method. Received: \"+typeof e.method,{request:e});return as(this,hc)&&!_a(e)?t(null):t(n,{id:e.id??null,jsonrpc:\"2.0\",error:n})}if(as(this,hc)&&_s(e,Sa)&&!_a(e)){try{await as(this,hc).call(this,e)}catch(e){return t(e)}return t(null)}let r=null;const i={...e},o={id:i.id,jsonrpc:i.jsonrpc};try{await ds(n=Rc,bc,wc).call(n,i,o,as(this,uc))}catch(e){r=e}return r&&(delete o.result,o.error||(o.error=Pa(r))),t(r,o)},bc=new WeakSet,wc=async function(e,t,n){var r,i,o;const[s,a,c]=await ds(r=Rc,Ec,Cc).call(r,e,t,n);if(ds(i=Rc,Mc,Ac).call(i,e,t,a),await ds(o=Rc,kc,xc).call(o,c),s)throw s},Ec=new WeakSet,Cc=async function(e,t,n){var r;const i=[];let o=null,s=!1;for(const a of n)if([o,s]=await ds(r=Rc,Sc,_c).call(r,e,t,a,i),s)break;return[o,s,i.reverse()]},Sc=new WeakSet,_c=async function(e,t,n,r){return new Promise((i=>{const o=e=>{const n=e||t.error;n&&(t.error=Pa(n)),i([n,!0])},s=n=>{t.error?o(t.error):(n&&(\"function\"!=typeof n&&o(new Ga(us.internal,`JsonRpcEngine: \"next\" return handlers must be functions. Received \"${typeof n}\" for request:\\n${Lc(e)}`,{request:e})),r.push(n)),i([null,!1]))};try{n(e,t,s,o)}catch(e){o(e)}}))},kc=new WeakSet,xc=async function(e){for(const t of e)await new Promise(((e,n)=>{t((t=>t?n(t):e()))}))},Mc=new WeakSet,Ac=function(e,t,n){if(!ps(t,\"result\")&&!ps(t,\"error\"))throw new Ga(us.internal,`JsonRpcEngine: Response has no error or result for request:\\n${Lc(e)}`,{request:e});if(!n)throw new Ga(us.internal,`JsonRpcEngine: Nothing ended request:\\n${Lc(e)}`,{request:e})},cs(Rc,bc),cs(Rc,Ec),cs(Rc,Sc),cs(Rc,kc),cs(Rc,Mc);var Pc=Rc;function Lc(e){return JSON.stringify(e,null,2)}var Oc=Object.freeze([\"eth_subscription\"]),Tc=(e=console)=>[os(),Nc(e),ns(e)];function Nc(e){return(t,n,r)=>{\"string\"==typeof t.method&&t.method||(n.error=Ya({message:\"The request 'method' must be a non-empty string.\",data:t})),r((t=>{const{error:r}=n;return r?(e.error(`MetaMask - RPC Error: ${r.message}`,r),t()):t()}))}}var Dc=(e,t,n=!0)=>(r,i)=>{r||i.error?t(r||i.error):!n||Array.isArray(i)?e(i):e(i.result)},$c=e=>Boolean(e)&&\"string\"==typeof e&&e.startsWith(\"0x\"),Bc=()=>{};async function Kc(e,t){try{const t=await async function(){return{name:jc(window),icon:await Uc(window)}}();e.handle({jsonrpc:\"2.0\",id:1,method:\"metamask_sendDomainMetadata\",params:t},Bc)}catch(e){t.error({message:ts.errors.sendSiteMetadata(),originalError:e})}}function jc(e){const{document:t}=e,n=t.querySelector('head > meta[property=\"og:site_name\"]');if(n)return n.content;const r=t.querySelector('head > meta[name=\"title\"]');return r?r.content:t.title&&t.title.length>0?t.title:window.location.hostname}async function Uc(e){const{document:t}=e,n=t.querySelectorAll('head > link[rel~=\"icon\"]');for(const e of Array.from(n))if(e&&await Hc(e.href))return e.href;return null}async function Hc(e){return new Promise(((t,n)=>{try{const n=document.createElement(\"img\");n.onload=()=>t(!0),n.onerror=()=>t(!1),n.src=e}catch(e){n(e)}}))}var Fc=(e,t,n)=>{if(!t.has(e))throw TypeError(\"Cannot \"+n)},zc=(e,t,n)=>(Fc(e,t,\"read from private field\"),n?n.call(e):t.get(e)),qc=(e,t,n)=>{if(t.has(e))throw TypeError(\"Cannot add the same private member more than once\");t instanceof WeakSet?t.add(e):t.set(e,n)},Vc=(e,t,n,r)=>(Fc(e,t,\"write to private field\"),t.set(e,n),n);function Wc(e,t,n){try{Reflect.apply(e,t,n)}catch(e){setTimeout((()=>{throw e}))}}class Gc extends ec{emit(e,...t){let n=\"error\"===e;const r=this._events;if(void 0!==r)n=n&&void 0===r.error;else if(!n)return!1;if(n){let e;if(t.length>0&&([e]=t),e instanceof Error)throw e;const n=new Error(\"Unhandled error.\"+(e?` (${e.message})`:\"\"));throw n.context=e,n}const i=r[e];if(void 0===i)return!1;if(\"function\"==typeof i)Wc(i,this,t);else{const e=i.length,n=function(e){const t=e.length,n=new Array(t);for(let r=0;r<t;r+=1)n[r]=e[r];return n}(i);for(let r=0;r<e;r+=1)Wc(n[r],this,t)}return!0}}var Zc,Yc,Jc=function e(t,n){if(t===n)return!0;if(t&&n&&\"object\"==typeof t&&\"object\"==typeof n){if(t.constructor!==n.constructor)return!1;var r,i,o;if(Array.isArray(t)){if((r=t.length)!=n.length)return!1;for(i=r;0!=i--;)if(!e(t[i],n[i]))return!1;return!0}if(t.constructor===RegExp)return t.source===n.source&&t.flags===n.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===n.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===n.toString();if((r=(o=Object.keys(t)).length)!==Object.keys(n).length)return!1;for(i=r;0!=i--;)if(!Object.prototype.hasOwnProperty.call(n,o[i]))return!1;for(i=r;0!=i--;){var s=o[i];if(!e(t[s],n[s]))return!1}return!0}return t!=t&&n!=n},Xc=de(Jc),Qc=class e extends Gc{constructor({logger:t=console,maxEventListeners:n=100,rpcMiddleware:r=[]}={}){super(),qc(this,Zc,void 0),qc(this,Yc,void 0),this._log=t,this.setMaxListeners(n),this._state={...e._defaultState},Vc(this,Yc,null),Vc(this,Zc,null),this._handleAccountsChanged=this._handleAccountsChanged.bind(this),this._handleConnect=this._handleConnect.bind(this),this._handleChainChanged=this._handleChainChanged.bind(this),this._handleDisconnect=this._handleDisconnect.bind(this),this._handleUnlockStateChanged=this._handleUnlockStateChanged.bind(this),this._rpcRequest=this._rpcRequest.bind(this),this.request=this.request.bind(this);const i=new Pc;r.forEach((e=>i.push(e))),this._rpcEngine=i}get chainId(){return zc(this,Zc)}get selectedAddress(){return zc(this,Yc)}isConnected(){return this._state.isConnected}async request(e){if(!e||\"object\"!=typeof e||Array.isArray(e))throw Ya({message:ts.errors.invalidRequestArgs(),data:e});const{method:t,params:n}=e;if(\"string\"!=typeof t||0===t.length)throw Ya({message:ts.errors.invalidRequestMethod(),data:e});if(void 0!==n&&!Array.isArray(n)&&(\"object\"!=typeof n||null===n))throw Ya({message:ts.errors.invalidRequestParams(),data:e});const r=null==n?{method:t}:{method:t,params:n};return new Promise(((e,t)=>{this._rpcRequest(r,Dc(e,t))}))}_initializeState(e){if(this._state.initialized)throw new Error(\"Provider already initialized.\");if(e){const{accounts:t,chainId:n,isUnlocked:r,networkVersion:i}=e;this._handleConnect(n),this._handleChainChanged({chainId:n,networkVersion:i}),this._handleUnlockStateChanged({accounts:t,isUnlocked:r}),this._handleAccountsChanged(t)}this._state.initialized=!0,this.emit(\"_initialized\")}_rpcRequest(e,t){let n=t;return Array.isArray(e)||(e.jsonrpc||(e.jsonrpc=\"2.0\"),\"eth_accounts\"!==e.method&&\"eth_requestAccounts\"!==e.method||(n=(n,r)=>{this._handleAccountsChanged(r.result??[],\"eth_accounts\"===e.method),t(n,r)})),this._rpcEngine.handle(e,n)}_handleConnect(e){this._state.isConnected||(this._state.isConnected=!0,this.emit(\"connect\",{chainId:e}),this._log.debug(ts.info.connected(e)))}_handleDisconnect(e,t){if(this._state.isConnected||!this._state.isPermanentlyDisconnected&&!e){let n;this._state.isConnected=!1,e?(n=new Ga(1013,t??ts.errors.disconnected()),this._log.debug(n)):(n=new Ga(1011,t??ts.errors.permanentlyDisconnected()),this._log.error(n),Vc(this,Zc,null),this._state.accounts=null,Vc(this,Yc,null),this._state.isUnlocked=!1,this._state.isPermanentlyDisconnected=!0),this.emit(\"disconnect\",n)}}_handleChainChanged({chainId:e}={}){$c(e)?(this._handleConnect(e),e!==zc(this,Zc)&&(Vc(this,Zc,e),this._state.initialized&&this.emit(\"chainChanged\",zc(this,Zc)))):this._log.error(ts.errors.invalidNetworkParams(),{chainId:e})}_handleAccountsChanged(e,t=!1){let n=e;Array.isArray(e)||(this._log.error(\"MetaMask: Received invalid accounts parameter. Please report this bug.\",e),n=[]);for(const t of e)if(\"string\"!=typeof t){this._log.error(\"MetaMask: Received non-string account. Please report this bug.\",e),n=[];break}if(!Xc(this._state.accounts,n)&&(t&&null!==this._state.accounts&&this._log.error(\"MetaMask: 'eth_accounts' unexpectedly updated accounts. Please report this bug.\",n),this._state.accounts=n,zc(this,Yc)!==n[0]&&Vc(this,Yc,n[0]||null),this._state.initialized)){const e=[...n];this.emit(\"accountsChanged\",e)}}_handleUnlockStateChanged({accounts:e,isUnlocked:t}={}){\"boolean\"==typeof t?t!==this._state.isUnlocked&&(this._state.isUnlocked=t,this._handleAccountsChanged(e??[])):this._log.error(\"MetaMask: Received invalid isUnlocked parameter. Please report this bug.\")}};Zc=new WeakMap,Yc=new WeakMap,Qc._defaultState={accounts:null,isConnected:!1,isUnlocked:!1,initialized:!1,isPermanentlyDisconnected:!1};var el,tl,nl=Qc,rl={exports:{}};function il(){return tl?el:(tl=1,el=sc.EventEmitter)}var ol,sl=ue(ce);ol=\"function\"==typeof Object.create?function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:function(e,t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e};var al=Object.getOwnPropertyDescriptors||function(e){for(var t=Object.keys(e),n={},r=0;r<t.length;r++)n[t[r]]=Object.getOwnPropertyDescriptor(e,t[r]);return n},cl=/%[sdj%]/g;function ll(e){if(!kl(e)){for(var t=[],n=0;n<arguments.length;n++)t.push(pl(arguments[n]));return t.join(\" \")}n=1;for(var r=arguments,i=r.length,o=String(e).replace(cl,(function(e){if(\"%%\"===e)return\"%\";if(n>=i)return e;switch(e){case\"%s\":return String(r[n++]);case\"%d\":return Number(r[n++]);case\"%j\":try{return JSON.stringify(r[n++])}catch(e){return\"[Circular]\"}default:return e}})),s=r[n];n<i;s=r[++n])Cl(s)||!Il(s)?o+=\" \"+s:o+=\" \"+pl(s);return o}function dl(e,t){if(Ml(c.process))return function(){return dl(e,t).apply(this,arguments)};if(!0===ca.noDeprecation)return e;var n=!1;return function(){if(!n){if(ca.throwDeprecation)throw new Error(t);ca.traceDeprecation?console.trace(t):console.error(t),n=!0}return e.apply(this,arguments)}}var ul,hl={};function fl(e){if(Ml(ul)&&(ul=ca.env.NODE_DEBUG||\"\"),e=e.toUpperCase(),!hl[e])if(new RegExp(\"\\\\b\"+e+\"\\\\b\",\"i\").test(ul)){hl[e]=function(){var t=ll.apply(null,arguments);console.error(\"%s %d: %s\",e,0,t)}}else hl[e]=function(){};return hl[e]}function pl(e,t){var n={seen:[],stylize:ml};return arguments.length>=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),El(t)?n.showHidden=t:t&&Kl(n,t),Ml(n.showHidden)&&(n.showHidden=!1),Ml(n.depth)&&(n.depth=2),Ml(n.colors)&&(n.colors=!1),Ml(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=gl),yl(n,e,n.depth)}function gl(e,t){var n=pl.styles[t];return n?\"\u001b[\"+pl.colors[n][0]+\"m\"+e+\"\u001b[\"+pl.colors[n][1]+\"m\":e}function ml(e,t){return e}function yl(e,t,n){if(e.customInspect&&t&&Ll(t.inspect)&&t.inspect!==pl&&(!t.constructor||t.constructor.prototype!==t)){var r=t.inspect(n,e);return kl(r)||(r=yl(e,r,n)),r}var i=function(e,t){if(Ml(t))return e.stylize(\"undefined\",\"undefined\");if(kl(t)){var n=\"'\"+JSON.stringify(t).replace(/^\"|\"$/g,\"\").replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"')+\"'\";return e.stylize(n,\"string\")}if(_l(t))return e.stylize(\"\"+t,\"number\");if(El(t))return e.stylize(\"\"+t,\"boolean\");if(Cl(t))return e.stylize(\"null\",\"null\")}(e,t);if(i)return i;var o=Object.keys(t),s=function(e){var t={};return e.forEach((function(e,n){t[e]=!0})),t}(o);if(e.showHidden&&(o=Object.getOwnPropertyNames(t)),Pl(t)&&(o.indexOf(\"message\")>=0||o.indexOf(\"description\")>=0))return vl(t);if(0===o.length){if(Ll(t)){var a=t.name?\": \"+t.name:\"\";return e.stylize(\"[Function\"+a+\"]\",\"special\")}if(Al(t))return e.stylize(RegExp.prototype.toString.call(t),\"regexp\");if(Rl(t))return e.stylize(Date.prototype.toString.call(t),\"date\");if(Pl(t))return vl(t)}var c,l=\"\",d=!1,u=[\"{\",\"}\"];(wl(t)&&(d=!0,u=[\"[\",\"]\"]),Ll(t))&&(l=\" [Function\"+(t.name?\": \"+t.name:\"\")+\"]\");return Al(t)&&(l=\" \"+RegExp.prototype.toString.call(t)),Rl(t)&&(l=\" \"+Date.prototype.toUTCString.call(t)),Pl(t)&&(l=\" \"+vl(t)),0!==o.length||d&&0!=t.length?n<0?Al(t)?e.stylize(RegExp.prototype.toString.call(t),\"regexp\"):e.stylize(\"[Object]\",\"special\"):(e.seen.push(t),c=d?function(e,t,n,r,i){for(var o=[],s=0,a=t.length;s<a;++s)jl(t,String(s))?o.push(bl(e,t,n,r,String(s),!0)):o.push(\"\");return i.forEach((function(i){i.match(/^\\d+$/)||o.push(bl(e,t,n,r,i,!0))})),o}(e,t,n,s,o):o.map((function(r){return bl(e,t,n,s,r,d)})),e.seen.pop(),function(e,t,n){var r=e.reduce((function(e,t){return t.indexOf(\"\\n\"),e+t.replace(/\\u001b\\[\\d\\d?m/g,\"\").length+1}),0);if(r>60)return n[0]+(\"\"===t?\"\":t+\"\\n \")+\" \"+e.join(\",\\n \")+\" \"+n[1];return n[0]+t+\" \"+e.join(\", \")+\" \"+n[1]}(c,l,u)):u[0]+l+u[1]}function vl(e){return\"[\"+Error.prototype.toString.call(e)+\"]\"}function bl(e,t,n,r,i,o){var s,a,c;if((c=Object.getOwnPropertyDescriptor(t,i)||{value:t[i]}).get?a=c.set?e.stylize(\"[Getter/Setter]\",\"special\"):e.stylize(\"[Getter]\",\"special\"):c.set&&(a=e.stylize(\"[Setter]\",\"special\")),jl(r,i)||(s=\"[\"+i+\"]\"),a||(e.seen.indexOf(c.value)<0?(a=Cl(n)?yl(e,c.value,null):yl(e,c.value,n-1)).indexOf(\"\\n\")>-1&&(a=o?a.split(\"\\n\").map((function(e){return\" \"+e})).join(\"\\n\").substr(2):\"\\n\"+a.split(\"\\n\").map((function(e){return\" \"+e})).join(\"\\n\")):a=e.stylize(\"[Circular]\",\"special\")),Ml(s)){if(o&&i.match(/^\\d+$/))return a;(s=JSON.stringify(\"\"+i)).match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)?(s=s.substr(1,s.length-2),s=e.stylize(s,\"name\")):(s=s.replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"').replace(/(^\"|\"$)/g,\"'\"),s=e.stylize(s,\"string\"))}return s+\": \"+a}function wl(e){return Array.isArray(e)}function El(e){return\"boolean\"==typeof e}function Cl(e){return null===e}function Sl(e){return null==e}function _l(e){return\"number\"==typeof e}function kl(e){return\"string\"==typeof e}function xl(e){return\"symbol\"==typeof e}function Ml(e){return void 0===e}function Al(e){return Il(e)&&\"[object RegExp]\"===Nl(e)}function Il(e){return\"object\"==typeof e&&null!==e}function Rl(e){return Il(e)&&\"[object Date]\"===Nl(e)}function Pl(e){return Il(e)&&(\"[object Error]\"===Nl(e)||e instanceof Error)}function Ll(e){return\"function\"==typeof e}function Ol(e){return null===e||\"boolean\"==typeof e||\"number\"==typeof e||\"string\"==typeof e||\"symbol\"==typeof e||void 0===e}function Tl(e){return S.isBuffer(e)}function Nl(e){return Object.prototype.toString.call(e)}function Dl(e){return e<10?\"0\"+e.toString(10):e.toString(10)}pl.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},pl.styles={special:\"cyan\",number:\"yellow\",boolean:\"yellow\",undefined:\"grey\",null:\"bold\",string:\"green\",date:\"magenta\",regexp:\"red\"};var $l=[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"];function Bl(){console.log(\"%s - %s\",function(){var e=new Date,t=[Dl(e.getHours()),Dl(e.getMinutes()),Dl(e.getSeconds())].join(\":\");return[e.getDate(),$l[e.getMonth()],t].join(\" \")}(),ll.apply(null,arguments))}function Kl(e,t){if(!t||!Il(t))return e;for(var n=Object.keys(t),r=n.length;r--;)e[n[r]]=t[n[r]];return e}function jl(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var Ul=\"undefined\"!=typeof Symbol?Symbol(\"util.promisify.custom\"):void 0;function Hl(e){if(\"function\"!=typeof e)throw new TypeError('The \"original\" argument must be of type Function');if(Ul&&e[Ul]){var t;if(\"function\"!=typeof(t=e[Ul]))throw new TypeError('The \"util.promisify.custom\" argument must be of type Function');return Object.defineProperty(t,Ul,{value:t,enumerable:!1,writable:!1,configurable:!0}),t}function t(){for(var t,n,r=new Promise((function(e,r){t=e,n=r})),i=[],o=0;o<arguments.length;o++)i.push(arguments[o]);i.push((function(e,r){e?n(e):t(r)}));try{e.apply(this,i)}catch(e){n(e)}return r}return Object.setPrototypeOf(t,Object.getPrototypeOf(e)),Ul&&Object.defineProperty(t,Ul,{value:t,enumerable:!1,writable:!1,configurable:!0}),Object.defineProperties(t,al(e))}function Fl(e,t){if(!e){var n=new Error(\"Promise was rejected with a falsy value\");n.reason=e,e=n}return t(e)}function zl(e){if(\"function\"!=typeof e)throw new TypeError('The \"original\" argument must be of type Function');function t(){for(var t=[],n=0;n<arguments.length;n++)t.push(arguments[n]);var r=t.pop();if(\"function\"!=typeof r)throw new TypeError(\"The last argument must be of type Function\");var i=this,o=function(){return r.apply(i,arguments)};e.apply(this,t).then((function(e){ca.nextTick(o.bind(null,null,e))}),(function(e){ca.nextTick(Fl.bind(null,e,o))}))}return Object.setPrototypeOf(t,Object.getPrototypeOf(e)),Object.defineProperties(t,al(e)),t}Hl.custom=Ul;var ql,Vl,Wl,Gl,Zl={inherits:ol,_extend:Kl,log:Bl,isBuffer:Tl,isPrimitive:Ol,isFunction:Ll,isError:Pl,isDate:Rl,isObject:Il,isRegExp:Al,isUndefined:Ml,isSymbol:xl,isString:kl,isNumber:_l,isNullOrUndefined:Sl,isNull:Cl,isBoolean:El,isArray:wl,inspect:pl,deprecate:dl,format:ll,debuglog:fl,promisify:Hl,callbackify:zl},Yl=ue(Object.freeze({__proto__:null,_extend:Kl,callbackify:zl,debuglog:fl,default:Zl,deprecate:dl,format:ll,inherits:ol,inspect:pl,isArray:wl,isBoolean:El,isBuffer:Tl,isDate:Rl,isError:Pl,isFunction:Ll,isNull:Cl,isNullOrUndefined:Sl,isNumber:_l,isObject:Il,isPrimitive:Ol,isRegExp:Al,isString:kl,isSymbol:xl,isUndefined:Ml,log:Bl,promisify:Hl}));function Jl(){if(Vl)return ql;function e(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function t(t){for(var r=1;r<arguments.length;r++){var i=null!=arguments[r]?arguments[r]:{};r%2?e(Object(i),!0).forEach((function(e){n(t,e,i[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(i)):e(Object(i)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(i,e))}))}return t}function n(e,t,n){return(t=i(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t,n){return t&&function(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,i(r.key),r)}}(e.prototype,t),Object.defineProperty(e,\"prototype\",{writable:!1}),e}function i(e){var t=function(e,t){if(\"object\"!=typeof e||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||\"default\");if(\"object\"!=typeof r)return r;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(e,\"string\");return\"symbol\"==typeof t?t:String(t)}Vl=1;var o=sl.Buffer,s=Yl.inspect,a=s&&s.custom||\"inspect\";return ql=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,e),this.head=null,this.tail=null,this.length=0}return r(e,[{key:\"push\",value:function(e){var t={data:e,next:null};this.length>0?this.tail.next=t:this.head=t,this.tail=t,++this.length}},{key:\"unshift\",value:function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length}},{key:\"shift\",value:function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}}},{key:\"clear\",value:function(){this.head=this.tail=null,this.length=0}},{key:\"join\",value:function(e){if(0===this.length)return\"\";for(var t=this.head,n=\"\"+t.data;t=t.next;)n+=e+t.data;return n}},{key:\"concat\",value:function(e){if(0===this.length)return o.alloc(0);for(var t,n,r,i=o.allocUnsafe(e>>>0),s=this.head,a=0;s;)t=s.data,n=i,r=a,o.prototype.copy.call(t,n,r),a+=s.data.length,s=s.next;return i}},{key:\"consume\",value:function(e,t){var n;return e<this.head.data.length?(n=this.head.data.slice(0,e),this.head.data=this.head.data.slice(e)):n=e===this.head.data.length?this.shift():t?this._getString(e):this._getBuffer(e),n}},{key:\"first\",value:function(){return this.head.data}},{key:\"_getString\",value:function(e){var t=this.head,n=1,r=t.data;for(e-=r.length;t=t.next;){var i=t.data,o=e>i.length?i.length:e;if(o===i.length?r+=i:r+=i.slice(0,e),0===(e-=o)){o===i.length?(++n,t.next?this.head=t.next:this.head=this.tail=null):(this.head=t,t.data=i.slice(o));break}++n}return this.length-=n,r}},{key:\"_getBuffer\",value:function(e){var t=o.allocUnsafe(e),n=this.head,r=1;for(n.data.copy(t),e-=n.data.length;n=n.next;){var i=n.data,s=e>i.length?i.length:e;if(i.copy(t,t.length-e,0,s),0===(e-=s)){s===i.length?(++r,n.next?this.head=n.next:this.head=this.tail=null):(this.head=n,n.data=i.slice(s));break}++r}return this.length-=r,t}},{key:a,value:function(e,n){return s(this,t(t({},n),{},{depth:0,customInspect:!1}))}}]),e}(),ql}function Xl(){if(Gl)return Wl;function e(e,r){n(e,r),t(e)}function t(e){e._writableState&&!e._writableState.emitClose||e._readableState&&!e._readableState.emitClose||e.emit(\"close\")}function n(e,t){e.emit(\"error\",t)}return Gl=1,Wl={destroy:function(r,i){var o=this,s=this._readableState&&this._readableState.destroyed,a=this._writableState&&this._writableState.destroyed;return s||a?(i?i(r):r&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,ca.nextTick(n,this,r)):ca.nextTick(n,this,r)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(r||null,(function(n){!i&&n?o._writableState?o._writableState.errorEmitted?ca.nextTick(t,o):(o._writableState.errorEmitted=!0,ca.nextTick(e,o,n)):ca.nextTick(e,o,n):i?(ca.nextTick(t,o),i(n)):ca.nextTick(t,o)})),this)},undestroy:function(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)},errorOrDestroy:function(e,t){var n=e._readableState,r=e._writableState;n&&n.autoDestroy||r&&r.autoDestroy?e.destroy(t):e.emit(\"error\",t)}},Wl}var Ql={};var ed,td,nd={};function rd(e,t,n){n||(n=Error);var r=function(e){var n,r;function i(n,r,i){return e.call(this,function(e,n,r){return\"string\"==typeof t?t:t(e,n,r)}(n,r,i))||this}return r=e,(n=i).prototype=Object.create(r.prototype),n.prototype.constructor=n,n.__proto__=r,i}(n);r.prototype.name=n.name,r.prototype.code=e,nd[e]=r}function id(e,t){if(Array.isArray(e)){var n=e.length;return e=e.map((function(e){return String(e)})),n>2?\"one of \".concat(t,\" \").concat(e.slice(0,n-1).join(\", \"),\", or \")+e[n-1]:2===n?\"one of \".concat(t,\" \").concat(e[0],\" or \").concat(e[1]):\"of \".concat(t,\" \").concat(e[0])}return\"of \".concat(t,\" \").concat(String(e))}function od(){if(td)return ed;td=1;var e=Ql.codes.ERR_INVALID_OPT_VALUE;return ed={getHighWaterMark:function(t,n,r,i){var o=function(e,t,n){return null!=e.highWaterMark?e.highWaterMark:t?e[n]:null}(n,i,r);if(null!=o){if(!isFinite(o)||Math.floor(o)!==o||o<0)throw new e(i?r:\"highWaterMark\",o);return Math.floor(o)}return t.objectMode?16:16384}}}rd(\"ERR_INVALID_OPT_VALUE\",(function(e,t){return'The value \"'+t+'\" is invalid for option \"'+e+'\"'}),TypeError),rd(\"ERR_INVALID_ARG_TYPE\",(function(e,t,n){var r,i,o;if(\"string\"==typeof t&&(i=\"not \",t.substr(0,i.length)===i)?(r=\"must not be\",t=t.replace(/^not /,\"\")):r=\"must be\",function(e,t,n){return(void 0===n||n>e.length)&&(n=e.length),e.substring(n-t.length,n)===t}(e,\" argument\"))o=\"The \".concat(e,\" \").concat(r,\" \").concat(id(t,\"type\"));else{var s=function(e,t,n){return\"number\"!=typeof n&&(n=0),!(n+t.length>e.length)&&-1!==e.indexOf(t,n)}(e,\".\")?\"property\":\"argument\";o='The \"'.concat(e,'\" ').concat(s,\" \").concat(r,\" \").concat(id(t,\"type\"))}return o+=\". Received type \".concat(typeof n)}),TypeError),rd(\"ERR_STREAM_PUSH_AFTER_EOF\",\"stream.push() after EOF\"),rd(\"ERR_METHOD_NOT_IMPLEMENTED\",(function(e){return\"The \"+e+\" method is not implemented\"})),rd(\"ERR_STREAM_PREMATURE_CLOSE\",\"Premature close\"),rd(\"ERR_STREAM_DESTROYED\",(function(e){return\"Cannot call \"+e+\" after a stream was destroyed\"})),rd(\"ERR_MULTIPLE_CALLBACK\",\"Callback called multiple times\"),rd(\"ERR_STREAM_CANNOT_PIPE\",\"Cannot pipe, not readable\"),rd(\"ERR_STREAM_WRITE_AFTER_END\",\"write after end\"),rd(\"ERR_STREAM_NULL_VALUES\",\"May not write null values to stream\",TypeError),rd(\"ERR_UNKNOWN_ENCODING\",(function(e){return\"Unknown encoding: \"+e}),TypeError),rd(\"ERR_STREAM_UNSHIFT_AFTER_END_EVENT\",\"stream.unshift() after end event\"),Ql.codes=nd;var sd,ad,cd,ld,dd,ud,hd=\"function\"==typeof Object.create?function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:function(e,t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e},fd=ue(Object.freeze({__proto__:null,default:hd}));function pd(){if(ad)return sd;function e(e){try{if(!le.localStorage)return!1}catch(e){return!1}var t=le.localStorage[e];return null!=t&&\"true\"===String(t).toLowerCase()}return ad=1,sd=function(t,n){if(e(\"noDeprecation\"))return t;var r=!1;return function(){if(!r){if(e(\"throwDeprecation\"))throw new Error(n);e(\"traceDeprecation\")?console.trace(n):console.warn(n),r=!0}return t.apply(this,arguments)}},sd}function gd(){if(ld)return cd;function e(e){var t=this;this.next=null,this.entry=null,this.finish=function(){!function(e,t,n){var r=e.entry;e.entry=null;for(;r;){var i=r.callback;t.pendingcb--,i(n),r=r.next}t.corkedRequestsFree.next=e}(t,e)}}var t;ld=1,cd=E,E.WritableState=w;var n={deprecate:pd()},r=il(),i=sl.Buffer,o=(void 0!==le?le:\"undefined\"!=typeof window?window:\"undefined\"!=typeof self?self:{}).Uint8Array||function(){};var s,a=Xl(),c=od().getHighWaterMark,l=Ql.codes,d=l.ERR_INVALID_ARG_TYPE,u=l.ERR_METHOD_NOT_IMPLEMENTED,h=l.ERR_MULTIPLE_CALLBACK,f=l.ERR_STREAM_CANNOT_PIPE,p=l.ERR_STREAM_DESTROYED,g=l.ERR_STREAM_NULL_VALUES,m=l.ERR_STREAM_WRITE_AFTER_END,y=l.ERR_UNKNOWN_ENCODING,v=a.errorOrDestroy;function b(){}function w(n,r,i){t=t||md(),n=n||{},\"boolean\"!=typeof i&&(i=r instanceof t),this.objectMode=!!n.objectMode,i&&(this.objectMode=this.objectMode||!!n.writableObjectMode),this.highWaterMark=c(this,n,\"writableHighWaterMark\",i),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var o=!1===n.decodeStrings;this.decodeStrings=!o,this.defaultEncoding=n.defaultEncoding||\"utf8\",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){!function(e,t){var n=e._writableState,r=n.sync,i=n.writecb;if(\"function\"!=typeof i)throw new h;if(function(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}(n),t)!function(e,t,n,r,i){--t.pendingcb,n?(ca.nextTick(i,r),ca.nextTick(M,e,t),e._writableState.errorEmitted=!0,v(e,r)):(i(r),e._writableState.errorEmitted=!0,v(e,r),M(e,t))}(e,n,r,t,i);else{var o=k(n)||e.destroyed;o||n.corked||n.bufferProcessing||!n.bufferedRequest||_(e,n),r?ca.nextTick(S,e,n,o,i):S(e,n,o,i)}}(r,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!1!==n.emitClose,this.autoDestroy=!!n.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new e(this)}function E(e){var n=this instanceof(t=t||md());if(!n&&!s.call(E,this))return new E(e);this._writableState=new w(e,this,n),this.writable=!0,e&&(\"function\"==typeof e.write&&(this._write=e.write),\"function\"==typeof e.writev&&(this._writev=e.writev),\"function\"==typeof e.destroy&&(this._destroy=e.destroy),\"function\"==typeof e.final&&(this._final=e.final)),r.call(this)}function C(e,t,n,r,i,o,s){t.writelen=r,t.writecb=s,t.writing=!0,t.sync=!0,t.destroyed?t.onwrite(new p(\"write\")):n?e._writev(i,t.onwrite):e._write(i,o,t.onwrite),t.sync=!1}function S(e,t,n,r){n||function(e,t){0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit(\"drain\"))}(e,t),t.pendingcb--,r(),M(e,t)}function _(t,n){n.bufferProcessing=!0;var r=n.bufferedRequest;if(t._writev&&r&&r.next){var i=n.bufferedRequestCount,o=new Array(i),s=n.corkedRequestsFree;s.entry=r;for(var a=0,c=!0;r;)o[a]=r,r.isBuf||(c=!1),r=r.next,a+=1;o.allBuffers=c,C(t,n,!0,n.length,o,\"\",s.finish),n.pendingcb++,n.lastBufferedRequest=null,s.next?(n.corkedRequestsFree=s.next,s.next=null):n.corkedRequestsFree=new e(n),n.bufferedRequestCount=0}else{for(;r;){var l=r.chunk,d=r.encoding,u=r.callback;if(C(t,n,!1,n.objectMode?1:l.length,l,d,u),r=r.next,n.bufferedRequestCount--,n.writing)break}null===r&&(n.lastBufferedRequest=null)}n.bufferedRequest=r,n.bufferProcessing=!1}function k(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function x(e,t){e._final((function(n){t.pendingcb--,n&&v(e,n),t.prefinished=!0,e.emit(\"prefinish\"),M(e,t)}))}function M(e,t){var n=k(t);if(n&&(function(e,t){t.prefinished||t.finalCalled||(\"function\"!=typeof e._final||t.destroyed?(t.prefinished=!0,e.emit(\"prefinish\")):(t.pendingcb++,t.finalCalled=!0,ca.nextTick(x,e,t)))}(e,t),0===t.pendingcb&&(t.finished=!0,e.emit(\"finish\"),t.autoDestroy))){var r=e._readableState;(!r||r.autoDestroy&&r.endEmitted)&&e.destroy()}return n}return fd(E,r),w.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},function(){try{Object.defineProperty(w.prototype,\"buffer\",{get:n.deprecate((function(){return this.getBuffer()}),\"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.\",\"DEP0003\")})}catch(e){}}(),\"function\"==typeof Symbol&&Symbol.hasInstance&&\"function\"==typeof Function.prototype[Symbol.hasInstance]?(s=Function.prototype[Symbol.hasInstance],Object.defineProperty(E,Symbol.hasInstance,{value:function(e){return!!s.call(this,e)||this===E&&(e&&e._writableState instanceof w)}})):s=function(e){return e instanceof this},E.prototype.pipe=function(){v(this,new f)},E.prototype.write=function(e,t,n){var r,s=this._writableState,a=!1,c=!s.objectMode&&(r=e,i.isBuffer(r)||r instanceof o);return c&&!i.isBuffer(e)&&(e=function(e){return i.from(e)}(e)),\"function\"==typeof t&&(n=t,t=null),c?t=\"buffer\":t||(t=s.defaultEncoding),\"function\"!=typeof n&&(n=b),s.ending?function(e,t){var n=new m;v(e,n),ca.nextTick(t,n)}(this,n):(c||function(e,t,n,r){var i;return null===n?i=new g:\"string\"==typeof n||t.objectMode||(i=new d(\"chunk\",[\"string\",\"Buffer\"],n)),!i||(v(e,i),ca.nextTick(r,i),!1)}(this,s,e,n))&&(s.pendingcb++,a=function(e,t,n,r,o,s){if(!n){var a=function(e,t,n){e.objectMode||!1===e.decodeStrings||\"string\"!=typeof t||(t=i.from(t,n));return t}(t,r,o);r!==a&&(n=!0,o=\"buffer\",r=a)}var c=t.objectMode?1:r.length;t.length+=c;var l=t.length<t.highWaterMark;l||(t.needDrain=!0);if(t.writing||t.corked){var d=t.lastBufferedRequest;t.lastBufferedRequest={chunk:r,encoding:o,isBuf:n,callback:s,next:null},d?d.next=t.lastBufferedRequest:t.bufferedRequest=t.lastBufferedRequest,t.bufferedRequestCount+=1}else C(e,t,!1,c,r,o,s);return l}(this,s,c,e,t,n)),a},E.prototype.cork=function(){this._writableState.corked++},E.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,e.writing||e.corked||e.bufferProcessing||!e.bufferedRequest||_(this,e))},E.prototype.setDefaultEncoding=function(e){if(\"string\"==typeof e&&(e=e.toLowerCase()),!([\"hex\",\"utf8\",\"utf-8\",\"ascii\",\"binary\",\"base64\",\"ucs2\",\"ucs-2\",\"utf16le\",\"utf-16le\",\"raw\"].indexOf((e+\"\").toLowerCase())>-1))throw new y(e);return this._writableState.defaultEncoding=e,this},Object.defineProperty(E.prototype,\"writableBuffer\",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(E.prototype,\"writableHighWaterMark\",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),E.prototype._write=function(e,t,n){n(new u(\"_write()\"))},E.prototype._writev=null,E.prototype.end=function(e,t,n){var r=this._writableState;return\"function\"==typeof e?(n=e,e=null,t=null):\"function\"==typeof t&&(n=t,t=null),null!=e&&this.write(e,t),r.corked&&(r.corked=1,this.uncork()),r.ending||function(e,t,n){t.ending=!0,M(e,t),n&&(t.finished?ca.nextTick(n):e.once(\"finish\",n));t.ended=!0,e.writable=!1}(this,r,n),this},Object.defineProperty(E.prototype,\"writableLength\",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(E.prototype,\"destroyed\",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),E.prototype.destroy=a.destroy,E.prototype._undestroy=a.undestroy,E.prototype._destroy=function(e,t){t(e)},cd}function md(){if(ud)return dd;ud=1;var e=Object.keys||function(e){var t=[];for(var n in e)t.push(n);return t};dd=s;var t=Od(),n=gd();fd(s,t);for(var r=e(n.prototype),i=0;i<r.length;i++){var o=r[i];s.prototype[o]||(s.prototype[o]=n.prototype[o])}function s(e){if(!(this instanceof s))return new s(e);t.call(this,e),n.call(this,e),this.allowHalfOpen=!0,e&&(!1===e.readable&&(this.readable=!1),!1===e.writable&&(this.writable=!1),!1===e.allowHalfOpen&&(this.allowHalfOpen=!1,this.once(\"end\",a)))}function a(){this._writableState.ended||ca.nextTick(c,this)}function c(e){e.end()}return Object.defineProperty(s.prototype,\"writableHighWaterMark\",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Object.defineProperty(s.prototype,\"writableBuffer\",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(s.prototype,\"writableLength\",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(s.prototype,\"destroyed\",{enumerable:!1,get:function(){return void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed&&this._writableState.destroyed)},set:function(e){void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed=e,this._writableState.destroyed=e)}}),dd}var yd=S.isEncoding||function(e){switch(e&&e.toLowerCase()){case\"hex\":case\"utf8\":case\"utf-8\":case\"ascii\":case\"binary\":case\"base64\":case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":case\"raw\":return!0;default:return!1}};function vd(e){switch(this.encoding=(e||\"utf8\").toLowerCase().replace(/[-_]/,\"\"),function(e){if(e&&!yd(e))throw new Error(\"Unknown encoding: \"+e)}(e),this.encoding){case\"utf8\":this.surrogateSize=3;break;case\"ucs2\":case\"utf16le\":this.surrogateSize=2,this.detectIncompleteChar=wd;break;case\"base64\":this.surrogateSize=3,this.detectIncompleteChar=Ed;break;default:return void(this.write=bd)}this.charBuffer=new S(6),this.charReceived=0,this.charLength=0}function bd(e){return e.toString(this.encoding)}function wd(e){this.charReceived=e.length%2,this.charLength=this.charReceived?2:0}function Ed(e){this.charReceived=e.length%3,this.charLength=this.charReceived?3:0}vd.prototype.write=function(e){for(var t=\"\";this.charLength;){var n=e.length>=this.charLength-this.charReceived?this.charLength-this.charReceived:e.length;if(e.copy(this.charBuffer,this.charReceived,0,n),this.charReceived+=n,this.charReceived<this.charLength)return\"\";if(e=e.slice(n,e.length),!((i=(t=this.charBuffer.slice(0,this.charLength).toString(this.encoding)).charCodeAt(t.length-1))>=55296&&i<=56319)){if(this.charReceived=this.charLength=0,0===e.length)return t;break}this.charLength+=this.surrogateSize,t=\"\"}this.detectIncompleteChar(e);var r=e.length;this.charLength&&(e.copy(this.charBuffer,0,e.length-this.charReceived,r),r-=this.charReceived);var i;r=(t+=e.toString(this.encoding,0,r)).length-1;if((i=t.charCodeAt(r))>=55296&&i<=56319){var o=this.surrogateSize;return this.charLength+=o,this.charReceived+=o,this.charBuffer.copy(this.charBuffer,o,0,o),e.copy(this.charBuffer,0,0,o),t.substring(0,r)}return t},vd.prototype.detectIncompleteChar=function(e){for(var t=e.length>=3?3:e.length;t>0;t--){var n=e[e.length-t];if(1==t&&n>>5==6){this.charLength=2;break}if(t<=2&&n>>4==14){this.charLength=3;break}if(t<=3&&n>>3==30){this.charLength=4;break}}this.charReceived=t},vd.prototype.end=function(e){var t=\"\";if(e&&e.length&&(t=this.write(e)),this.charReceived){var n=this.charReceived,r=this.charBuffer,i=this.encoding;t+=r.slice(0,n).toString(i)}return t};var Cd=ue(Object.freeze({__proto__:null,StringDecoder:vd})),Sd=Ql.codes.ERR_STREAM_PREMATURE_CLOSE;function _d(){}var kd,xd,Md,Ad,Id,Rd,Pd=function e(t,n,r){if(\"function\"==typeof n)return e(t,null,n);n||(n={}),r=function(e){var t=!1;return function(){if(!t){t=!0;for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];e.apply(this,r)}}}(r||_d);var i=n.readable||!1!==n.readable&&t.readable,o=n.writable||!1!==n.writable&&t.writable,s=function(){t.writable||c()},a=t._writableState&&t._writableState.finished,c=function(){o=!1,a=!0,i||r.call(t)},l=t._readableState&&t._readableState.endEmitted,d=function(){i=!1,l=!0,o||r.call(t)},u=function(e){r.call(t,e)},h=function(){var e;return i&&!l?(t._readableState&&t._readableState.ended||(e=new Sd),r.call(t,e)):o&&!a?(t._writableState&&t._writableState.ended||(e=new Sd),r.call(t,e)):void 0},f=function(){t.req.on(\"finish\",c)};return!function(e){return e.setHeader&&\"function\"==typeof e.abort}(t)?o&&!t._writableState&&(t.on(\"end\",s),t.on(\"close\",s)):(t.on(\"complete\",c),t.on(\"abort\",h),t.req?f():t.on(\"request\",f)),t.on(\"end\",d),t.on(\"finish\",c),!1!==n.error&&t.on(\"error\",u),t.on(\"close\",h),function(){t.removeListener(\"complete\",c),t.removeListener(\"abort\",h),t.removeListener(\"request\",f),t.req&&t.req.removeListener(\"finish\",c),t.removeListener(\"end\",s),t.removeListener(\"close\",s),t.removeListener(\"finish\",c),t.removeListener(\"end\",d),t.removeListener(\"error\",u),t.removeListener(\"close\",h)}};function Ld(){if(xd)return kd;var e;function t(e,t,n){return(t=function(e){var t=function(e,t){if(\"object\"!=typeof e||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||\"default\");if(\"object\"!=typeof r)return r;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(e,\"string\");return\"symbol\"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}xd=1;var n=Pd,r=Symbol(\"lastResolve\"),i=Symbol(\"lastReject\"),o=Symbol(\"error\"),s=Symbol(\"ended\"),a=Symbol(\"lastPromise\"),c=Symbol(\"handlePromise\"),l=Symbol(\"stream\");function d(e,t){return{value:e,done:t}}function u(e){var t=e[r];if(null!==t){var n=e[l].read();null!==n&&(e[a]=null,e[r]=null,e[i]=null,t(d(n,!1)))}}function h(e){ca.nextTick(u,e)}var f=Object.getPrototypeOf((function(){})),p=Object.setPrototypeOf((t(e={get stream(){return this[l]},next:function(){var e=this,t=this[o];if(null!==t)return Promise.reject(t);if(this[s])return Promise.resolve(d(void 0,!0));if(this[l].destroyed)return new Promise((function(t,n){ca.nextTick((function(){e[o]?n(e[o]):t(d(void 0,!0))}))}));var n,r=this[a];if(r)n=new Promise(function(e,t){return function(n,r){e.then((function(){t[s]?n(d(void 0,!0)):t[c](n,r)}),r)}}(r,this));else{var i=this[l].read();if(null!==i)return Promise.resolve(d(i,!1));n=new Promise(this[c])}return this[a]=n,n}},Symbol.asyncIterator,(function(){return this})),t(e,\"return\",(function(){var e=this;return new Promise((function(t,n){e[l].destroy(null,(function(e){e?n(e):t(d(void 0,!0))}))}))})),e),f);return kd=function(e){var u,f=Object.create(p,(t(u={},l,{value:e,writable:!0}),t(u,r,{value:null,writable:!0}),t(u,i,{value:null,writable:!0}),t(u,o,{value:null,writable:!0}),t(u,s,{value:e._readableState.endEmitted,writable:!0}),t(u,c,{value:function(e,t){var n=f[l].read();n?(f[a]=null,f[r]=null,f[i]=null,e(d(n,!1))):(f[r]=e,f[i]=t)},writable:!0}),u));return f[a]=null,n(e,(function(e){if(e&&\"ERR_STREAM_PREMATURE_CLOSE\"!==e.code){var t=f[i];return null!==t&&(f[a]=null,f[r]=null,f[i]=null,t(e)),void(f[o]=e)}var n=f[r];null!==n&&(f[a]=null,f[r]=null,f[i]=null,n(d(void 0,!0))),f[s]=!0})),e.on(\"readable\",h.bind(null,f)),f},kd}function Od(){if(Rd)return Id;var e;Rd=1,Id=E,E.ReadableState=w,sc.EventEmitter;var t=function(e,t){return e.listeners(t).length},n=il(),r=sl.Buffer,i=(void 0!==le?le:\"undefined\"!=typeof window?window:\"undefined\"!=typeof self?self:{}).Uint8Array||function(){};var o,s=Yl;o=s&&s.debuglog?s.debuglog(\"stream\"):function(){};var a,c,l,d=Jl(),u=Xl(),h=od().getHighWaterMark,f=Ql.codes,p=f.ERR_INVALID_ARG_TYPE,g=f.ERR_STREAM_PUSH_AFTER_EOF,m=f.ERR_METHOD_NOT_IMPLEMENTED,y=f.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;fd(E,n);var v=u.errorOrDestroy,b=[\"error\",\"close\",\"destroy\",\"pause\",\"resume\"];function w(t,n,r){e=e||md(),t=t||{},\"boolean\"!=typeof r&&(r=n instanceof e),this.objectMode=!!t.objectMode,r&&(this.objectMode=this.objectMode||!!t.readableObjectMode),this.highWaterMark=h(this,t,\"readableHighWaterMark\",r),this.buffer=new d,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=!1!==t.emitClose,this.autoDestroy=!!t.autoDestroy,this.destroyed=!1,this.defaultEncoding=t.defaultEncoding||\"utf8\",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,t.encoding&&(a||(a=Cd.StringDecoder),this.decoder=new a(t.encoding),this.encoding=t.encoding)}function E(t){if(e=e||md(),!(this instanceof E))return new E(t);var r=this instanceof e;this._readableState=new w(t,this,r),this.readable=!0,t&&(\"function\"==typeof t.read&&(this._read=t.read),\"function\"==typeof t.destroy&&(this._destroy=t.destroy)),n.call(this)}function C(e,t,n,s,a){o(\"readableAddChunk\",t);var c,l=e._readableState;if(null===t)l.reading=!1,function(e,t){if(o(\"onEofChunk\"),t.ended)return;if(t.decoder){var n=t.decoder.end();n&&n.length&&(t.buffer.push(n),t.length+=t.objectMode?1:n.length)}t.ended=!0,t.sync?x(e):(t.needReadable=!1,t.emittedReadable||(t.emittedReadable=!0,M(e)))}(e,l);else if(a||(c=function(e,t){var n;o=t,r.isBuffer(o)||o instanceof i||\"string\"==typeof t||void 0===t||e.objectMode||(n=new p(\"chunk\",[\"string\",\"Buffer\",\"Uint8Array\"],t));var o;return n}(l,t)),c)v(e,c);else if(l.objectMode||t&&t.length>0)if(\"string\"==typeof t||l.objectMode||Object.getPrototypeOf(t)===r.prototype||(t=function(e){return r.from(e)}(t)),s)l.endEmitted?v(e,new y):S(e,l,t,!0);else if(l.ended)v(e,new g);else{if(l.destroyed)return!1;l.reading=!1,l.decoder&&!n?(t=l.decoder.write(t),l.objectMode||0!==t.length?S(e,l,t,!1):A(e,l)):S(e,l,t,!1)}else s||(l.reading=!1,A(e,l));return!l.ended&&(l.length<l.highWaterMark||0===l.length)}function S(e,t,n,r){t.flowing&&0===t.length&&!t.sync?(t.awaitDrain=0,e.emit(\"data\",n)):(t.length+=t.objectMode?1:n.length,r?t.buffer.unshift(n):t.buffer.push(n),t.needReadable&&x(e)),A(e,t)}Object.defineProperty(E.prototype,\"destroyed\",{enumerable:!1,get:function(){return void 0!==this._readableState&&this._readableState.destroyed},set:function(e){this._readableState&&(this._readableState.destroyed=e)}}),E.prototype.destroy=u.destroy,E.prototype._undestroy=u.undestroy,E.prototype._destroy=function(e,t){t(e)},E.prototype.push=function(e,t){var n,i=this._readableState;return i.objectMode?n=!0:\"string\"==typeof e&&((t=t||i.defaultEncoding)!==i.encoding&&(e=r.from(e,t),t=\"\"),n=!0),C(this,e,t,!1,n)},E.prototype.unshift=function(e){return C(this,e,null,!0,!1)},E.prototype.isPaused=function(){return!1===this._readableState.flowing},E.prototype.setEncoding=function(e){a||(a=Cd.StringDecoder);var t=new a(e);this._readableState.decoder=t,this._readableState.encoding=this._readableState.decoder.encoding;for(var n=this._readableState.buffer.head,r=\"\";null!==n;)r+=t.write(n.data),n=n.next;return this._readableState.buffer.clear(),\"\"!==r&&this._readableState.buffer.push(r),this._readableState.length=r.length,this};var _=1073741824;function k(e,t){return e<=0||0===t.length&&t.ended?0:t.objectMode?1:e!=e?t.flowing&&t.length?t.buffer.head.data.length:t.length:(e>t.highWaterMark&&(t.highWaterMark=function(e){return e>=_?e=_:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function x(e){var t=e._readableState;o(\"emitReadable\",t.needReadable,t.emittedReadable),t.needReadable=!1,t.emittedReadable||(o(\"emitReadable\",t.flowing),t.emittedReadable=!0,ca.nextTick(M,e))}function M(e){var t=e._readableState;o(\"emitReadable_\",t.destroyed,t.length,t.ended),t.destroyed||!t.length&&!t.ended||(e.emit(\"readable\"),t.emittedReadable=!1),t.needReadable=!t.flowing&&!t.ended&&t.length<=t.highWaterMark,O(e)}function A(e,t){t.readingMore||(t.readingMore=!0,ca.nextTick(I,e,t))}function I(e,t){for(;!t.reading&&!t.ended&&(t.length<t.highWaterMark||t.flowing&&0===t.length);){var n=t.length;if(o(\"maybeReadMore read 0\"),e.read(0),n===t.length)break}t.readingMore=!1}function R(e){var t=e._readableState;t.readableListening=e.listenerCount(\"readable\")>0,t.resumeScheduled&&!t.paused?t.flowing=!0:e.listenerCount(\"data\")>0&&e.resume()}function P(e){o(\"readable nexttick read 0\"),e.read(0)}function L(e,t){o(\"resume\",t.reading),t.reading||e.read(0),t.resumeScheduled=!1,e.emit(\"resume\"),O(e),t.flowing&&!t.reading&&e.read(0)}function O(e){var t=e._readableState;for(o(\"flow\",t.flowing);t.flowing&&null!==e.read(););}function T(e,t){return 0===t.length?null:(t.objectMode?n=t.buffer.shift():!e||e>=t.length?(n=t.decoder?t.buffer.join(\"\"):1===t.buffer.length?t.buffer.first():t.buffer.concat(t.length),t.buffer.clear()):n=t.buffer.consume(e,t.decoder),n);var n}function N(e){var t=e._readableState;o(\"endReadable\",t.endEmitted),t.endEmitted||(t.ended=!0,ca.nextTick(D,t,e))}function D(e,t){if(o(\"endReadableNT\",e.endEmitted,e.length),!e.endEmitted&&0===e.length&&(e.endEmitted=!0,t.readable=!1,t.emit(\"end\"),e.autoDestroy)){var n=t._writableState;(!n||n.autoDestroy&&n.finished)&&t.destroy()}}function $(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1}return E.prototype.read=function(e){o(\"read\",e),e=parseInt(e,10);var t=this._readableState,n=e;if(0!==e&&(t.emittedReadable=!1),0===e&&t.needReadable&&((0!==t.highWaterMark?t.length>=t.highWaterMark:t.length>0)||t.ended))return o(\"read: emitReadable\",t.length,t.ended),0===t.length&&t.ended?N(this):x(this),null;if(0===(e=k(e,t))&&t.ended)return 0===t.length&&N(this),null;var r,i=t.needReadable;return o(\"need readable\",i),(0===t.length||t.length-e<t.highWaterMark)&&o(\"length less than watermark\",i=!0),t.ended||t.reading?o(\"reading or ended\",i=!1):i&&(o(\"do read\"),t.reading=!0,t.sync=!0,0===t.length&&(t.needReadable=!0),this._read(t.highWaterMark),t.sync=!1,t.reading||(e=k(n,t))),null===(r=e>0?T(e,t):null)?(t.needReadable=t.length<=t.highWaterMark,e=0):(t.length-=e,t.awaitDrain=0),0===t.length&&(t.ended||(t.needReadable=!0),n!==e&&t.ended&&N(this)),null!==r&&this.emit(\"data\",r),r},E.prototype._read=function(e){v(this,new m(\"_read()\"))},E.prototype.pipe=function(e,n){var r=this,i=this._readableState;switch(i.pipesCount){case 0:i.pipes=e;break;case 1:i.pipes=[i.pipes,e];break;default:i.pipes.push(e)}i.pipesCount+=1,o(\"pipe count=%d opts=%j\",i.pipesCount,n);var s=(!n||!1!==n.end)&&e!==ca.stdout&&e!==ca.stderr?c:g;function a(t,n){o(\"onunpipe\"),t===r&&n&&!1===n.hasUnpiped&&(n.hasUnpiped=!0,o(\"cleanup\"),e.removeListener(\"close\",f),e.removeListener(\"finish\",p),e.removeListener(\"drain\",l),e.removeListener(\"error\",h),e.removeListener(\"unpipe\",a),r.removeListener(\"end\",c),r.removeListener(\"end\",g),r.removeListener(\"data\",u),d=!0,!i.awaitDrain||e._writableState&&!e._writableState.needDrain||l())}function c(){o(\"onend\"),e.end()}i.endEmitted?ca.nextTick(s):r.once(\"end\",s),e.on(\"unpipe\",a);var l=function(e){return function(){var n=e._readableState;o(\"pipeOnDrain\",n.awaitDrain),n.awaitDrain&&n.awaitDrain--,0===n.awaitDrain&&t(e,\"data\")&&(n.flowing=!0,O(e))}}(r);e.on(\"drain\",l);var d=!1;function u(t){o(\"ondata\");var n=e.write(t);o(\"dest.write\",n),!1===n&&((1===i.pipesCount&&i.pipes===e||i.pipesCount>1&&-1!==$(i.pipes,e))&&!d&&(o(\"false write response, pause\",i.awaitDrain),i.awaitDrain++),r.pause())}function h(n){o(\"onerror\",n),g(),e.removeListener(\"error\",h),0===t(e,\"error\")&&v(e,n)}function f(){e.removeListener(\"finish\",p),g()}function p(){o(\"onfinish\"),e.removeListener(\"close\",f),g()}function g(){o(\"unpipe\"),r.unpipe(e)}return r.on(\"data\",u),function(e,t,n){if(\"function\"==typeof e.prependListener)return e.prependListener(t,n);e._events&&e._events[t]?Array.isArray(e._events[t])?e._events[t].unshift(n):e._events[t]=[n,e._events[t]]:e.on(t,n)}(e,\"error\",h),e.once(\"close\",f),e.once(\"finish\",p),e.emit(\"pipe\",r),i.flowing||(o(\"pipe resume\"),r.resume()),e},E.prototype.unpipe=function(e){var t=this._readableState,n={hasUnpiped:!1};if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes||(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit(\"unpipe\",this,n)),this;if(!e){var r=t.pipes,i=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var o=0;o<i;o++)r[o].emit(\"unpipe\",this,{hasUnpiped:!1});return this}var s=$(t.pipes,e);return-1===s||(t.pipes.splice(s,1),t.pipesCount-=1,1===t.pipesCount&&(t.pipes=t.pipes[0]),e.emit(\"unpipe\",this,n)),this},E.prototype.on=function(e,t){var r=n.prototype.on.call(this,e,t),i=this._readableState;return\"data\"===e?(i.readableListening=this.listenerCount(\"readable\")>0,!1!==i.flowing&&this.resume()):\"readable\"===e&&(i.endEmitted||i.readableListening||(i.readableListening=i.needReadable=!0,i.flowing=!1,i.emittedReadable=!1,o(\"on readable\",i.length,i.reading),i.length?x(this):i.reading||ca.nextTick(P,this))),r},E.prototype.addListener=E.prototype.on,E.prototype.removeListener=function(e,t){var r=n.prototype.removeListener.call(this,e,t);return\"readable\"===e&&ca.nextTick(R,this),r},E.prototype.removeAllListeners=function(e){var t=n.prototype.removeAllListeners.apply(this,arguments);return\"readable\"!==e&&void 0!==e||ca.nextTick(R,this),t},E.prototype.resume=function(){var e=this._readableState;return e.flowing||(o(\"resume\"),e.flowing=!e.readableListening,function(e,t){t.resumeScheduled||(t.resumeScheduled=!0,ca.nextTick(L,e,t))}(this,e)),e.paused=!1,this},E.prototype.pause=function(){return o(\"call pause flowing=%j\",this._readableState.flowing),!1!==this._readableState.flowing&&(o(\"pause\"),this._readableState.flowing=!1,this.emit(\"pause\")),this._readableState.paused=!0,this},E.prototype.wrap=function(e){var t=this,n=this._readableState,r=!1;for(var i in e.on(\"end\",(function(){if(o(\"wrapped end\"),n.decoder&&!n.ended){var e=n.decoder.end();e&&e.length&&t.push(e)}t.push(null)})),e.on(\"data\",(function(i){(o(\"wrapped data\"),n.decoder&&(i=n.decoder.write(i)),n.objectMode&&null==i)||(n.objectMode||i&&i.length)&&(t.push(i)||(r=!0,e.pause()))})),e)void 0===this[i]&&\"function\"==typeof e[i]&&(this[i]=function(t){return function(){return e[t].apply(e,arguments)}}(i));for(var s=0;s<b.length;s++)e.on(b[s],this.emit.bind(this,b[s]));return this._read=function(t){o(\"wrapped _read\",t),r&&(r=!1,e.resume())},this},\"function\"==typeof Symbol&&(E.prototype[Symbol.asyncIterator]=function(){return void 0===c&&(c=Ld()),c(this)}),Object.defineProperty(E.prototype,\"readableHighWaterMark\",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),Object.defineProperty(E.prototype,\"readableBuffer\",{enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}}),Object.defineProperty(E.prototype,\"readableFlowing\",{enumerable:!1,get:function(){return this._readableState.flowing},set:function(e){this._readableState&&(this._readableState.flowing=e)}}),E._fromList=T,Object.defineProperty(E.prototype,\"readableLength\",{enumerable:!1,get:function(){return this._readableState.length}}),\"function\"==typeof Symbol&&(E.from=function(e,t){return void 0===l&&(l=Ad?Md:(Ad=1,Md=function(){throw new Error(\"Readable.from is not available in the browser\")})),l(E,e,t)}),Id}var Td=Hd,Nd=Ql.codes,Dd=Nd.ERR_METHOD_NOT_IMPLEMENTED,$d=Nd.ERR_MULTIPLE_CALLBACK,Bd=Nd.ERR_TRANSFORM_ALREADY_TRANSFORMING,Kd=Nd.ERR_TRANSFORM_WITH_LENGTH_0,jd=md();function Ud(e,t){var n=this._transformState;n.transforming=!1;var r=n.writecb;if(null===r)return this.emit(\"error\",new $d);n.writechunk=null,n.writecb=null,null!=t&&this.push(t),r(e);var i=this._readableState;i.reading=!1,(i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}function Hd(e){if(!(this instanceof Hd))return new Hd(e);jd.call(this,e),this._transformState={afterTransform:Ud.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,e&&(\"function\"==typeof e.transform&&(this._transform=e.transform),\"function\"==typeof e.flush&&(this._flush=e.flush)),this.on(\"prefinish\",Fd)}function Fd(){var e=this;\"function\"!=typeof this._flush||this._readableState.destroyed?zd(this,null,null):this._flush((function(t,n){zd(e,t,n)}))}function zd(e,t,n){if(t)return e.emit(\"error\",t);if(null!=n&&e.push(n),e._writableState.length)throw new Kd;if(e._transformState.transforming)throw new Bd;return e.push(null)}fd(Hd,jd),Hd.prototype.push=function(e,t){return this._transformState.needTransform=!1,jd.prototype.push.call(this,e,t)},Hd.prototype._transform=function(e,t,n){n(new Dd(\"_transform()\"))},Hd.prototype._write=function(e,t,n){var r=this._transformState;if(r.writecb=n,r.writechunk=e,r.writeencoding=t,!r.transforming){var i=this._readableState;(r.needTransform||i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}},Hd.prototype._read=function(e){var t=this._transformState;null===t.writechunk||t.transforming?t.needTransform=!0:(t.transforming=!0,this._transform(t.writechunk,t.writeencoding,t.afterTransform))},Hd.prototype._destroy=function(e,t){jd.prototype._destroy.call(this,e,(function(e){t(e)}))};var qd,Vd=Gd,Wd=Td;function Gd(e){if(!(this instanceof Gd))return new Gd(e);Wd.call(this,e)}fd(Gd,Wd),Gd.prototype._transform=function(e,t,n){n(null,e)};var Zd=Ql.codes,Yd=Zd.ERR_MISSING_ARGS,Jd=Zd.ERR_STREAM_DESTROYED;function Xd(e){if(e)throw e}function Qd(e){e()}function eu(e,t){return e.pipe(t)}var tu=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];var r,i=function(e){return e.length?\"function\"!=typeof e[e.length-1]?Xd:e.pop():Xd}(t);if(Array.isArray(t[0])&&(t=t[0]),t.length<2)throw new Yd(\"streams\");var o=t.map((function(e,n){var s=n<t.length-1;return function(e,t,n,r){r=function(e){var t=!1;return function(){t||(t=!0,e.apply(void 0,arguments))}}(r);var i=!1;e.on(\"close\",(function(){i=!0})),void 0===qd&&(qd=Pd),qd(e,{readable:t,writable:n},(function(e){if(e)return r(e);i=!0,r()}));var o=!1;return function(t){if(!i&&!o)return o=!0,function(e){return e.setHeader&&\"function\"==typeof e.abort}(e)?e.abort():\"function\"==typeof e.destroy?e.destroy():void r(t||new Jd(\"pipe\"))}}(e,s,n>0,(function(e){r||(r=e),e&&o.forEach(Qd),s||(o.forEach(Qd),i(r))}))}));return t.reduce(eu)};!function(e,t){(t=rl.exports=Od()).Stream=t,t.Readable=t,t.Writable=gd(),t.Duplex=md(),t.Transform=Td,t.PassThrough=Vd,t.finished=Pd,t.pipeline=tu}(0,rl.exports);var nu=rl.exports;function ru(e={}){const t={},n=new nu.Duplex({objectMode:!0,read:()=>{},write:function(n,o,s){let a=null;try{!n.id?function(n){e?.retryOnMessage&&n.method===e.retryOnMessage&&Object.values(t).forEach((({req:e,retryCount:n=0})=>{if(!e.id)return;if(n>=3)throw new Error(`StreamMiddleware - Retry limit exceeded for request id \"${e.id}\"`);const r=t[e.id];r&&(r.retryCount=n+1),i(e)}));r.emit(\"notification\",n)}(n):function(e){const{id:n}=e;if(null===n)return;const r=t[n];if(!r)return void console.warn(`StreamMiddleware - Unknown response id \"${n}\"`);delete t[n],Object.assign(r.res,e),setTimeout(r.end)}(n)}catch(e){a=e}s(a)}}),r=new Ic;return{events:r,middleware:(e,n,r,o)=>{t[e.id]={req:e,res:n,next:r,end:o},i(e)},stream:n};function i(e){n.push(e)}}var iu={},ou={exports:{}},su=function e(t,n){if(t&&n)return e(t)(n);if(\"function\"!=typeof t)throw new TypeError(\"need wrapper function\");return Object.keys(t).forEach((function(e){r[e]=t[e]})),r;function r(){for(var e=new Array(arguments.length),n=0;n<e.length;n++)e[n]=arguments[n];var r=t.apply(this,e),i=e[e.length-1];return\"function\"==typeof r&&r!==i&&Object.keys(i).forEach((function(e){r[e]=i[e]})),r}};var au=su;function cu(e){var t=function(){return t.called?t.value:(t.called=!0,t.value=e.apply(this,arguments))};return t.called=!1,t}function lu(e){var t=function(){if(t.called)throw new Error(t.onceError);return t.called=!0,t.value=e.apply(this,arguments)},n=e.name||\"Function wrapped with `once`\";return t.onceError=n+\" shouldn't be called more than once\",t.called=!1,t}ou.exports=au(cu),ou.exports.strict=au(lu),cu.proto=cu((function(){Object.defineProperty(Function.prototype,\"once\",{value:function(){return cu(this)},configurable:!0}),Object.defineProperty(Function.prototype,\"onceStrict\",{value:function(){return lu(this)},configurable:!0})}));var du=ou.exports,uu={};Object.defineProperty(uu,\"__esModule\",{value:!0}),uu.Substream=void 0;const hu=nu;class fu extends hu.Duplex{constructor({parent:e,name:t}){super({objectMode:!0}),this._parent=e,this._name=t}_read(){}_write(e,t,n){this._parent.push({name:this._name,data:e}),n()}}uu.Substream=fu;var pu=le&&le.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(iu,\"__esModule\",{value:!0}),iu.ObjectMultiplex=void 0;const gu=nu,mu=pu(du),yu=uu,vu=Symbol(\"IGNORE_SUBSTREAM\");let bu=class extends gu.Duplex{constructor(e={}){super(Object.assign(Object.assign({},e),{objectMode:!0})),this._substreams={}}createStream(e){if(this.destroyed)throw new Error(`ObjectMultiplex - parent stream for name \"${e}\" already destroyed`);if(this._readableState.ended||this._writableState.ended)throw new Error(`ObjectMultiplex - parent stream for name \"${e}\" already ended`);if(!e)throw new Error(\"ObjectMultiplex - name must not be empty\");if(this._substreams[e])throw new Error(`ObjectMultiplex - Substream for name \"${e}\" already exists`);const t=new yu.Substream({parent:this,name:e});return this._substreams[e]=t,function(e,t){const n=(0,mu.default)(t);(0,gu.finished)(e,{readable:!1},n),(0,gu.finished)(e,{writable:!1},n)}(this,(e=>t.destroy(e||void 0))),t}ignoreStream(e){if(!e)throw new Error(\"ObjectMultiplex - name must not be empty\");if(this._substreams[e])throw new Error(`ObjectMultiplex - Substream for name \"${e}\" already exists`);this._substreams[e]=vu}_read(){}_write(e,t,n){const{name:r,data:i}=e;if(!r)return console.warn(`ObjectMultiplex - malformed chunk without name \"${e}\"`),n();const o=this._substreams[r];return o?(o!==vu&&o.push(i),n()):(console.warn(`ObjectMultiplex - orphaned data for stream \"${r}\"`),n())}};iu.ObjectMultiplex=bu;var wu=de(iu.ObjectMultiplex);const Eu=e=>null!==e&&\"object\"==typeof e&&\"function\"==typeof e.pipe;Eu.writable=e=>Eu(e)&&!1!==e.writable&&\"function\"==typeof e._write&&\"object\"==typeof e._writableState,Eu.readable=e=>Eu(e)&&!1!==e.readable&&\"function\"==typeof e._read&&\"object\"==typeof e._readableState,Eu.duplex=e=>Eu.writable(e)&&Eu.readable(e),Eu.transform=e=>Eu.duplex(e)&&\"function\"==typeof e._transform;var Cu,Su=Eu,_u=class extends nl{constructor(e,{jsonRpcStreamName:t,logger:n=console,maxEventListeners:r=100,rpcMiddleware:i=[]}){if(super({logger:n,maxEventListeners:r,rpcMiddleware:i}),!Su.duplex(e))throw new Error(ts.errors.invalidDuplexStream());this._handleStreamDisconnect=this._handleStreamDisconnect.bind(this);const o=new wu;nu.pipeline(e,o,e,this._handleStreamDisconnect.bind(this,\"MetaMask\")),this._jsonRpcConnection=ru({retryOnMessage:\"METAMASK_EXTENSION_CONNECT_CAN_RETRY\"}),nu.pipeline(this._jsonRpcConnection.stream,o.createStream(t),this._jsonRpcConnection.stream,this._handleStreamDisconnect.bind(this,\"MetaMask RpcProvider\")),this._rpcEngine.push(this._jsonRpcConnection.middleware),this._jsonRpcConnection.events.on(\"notification\",(t=>{const{method:n,params:r}=t;\"metamask_accountsChanged\"===n?this._handleAccountsChanged(r):\"metamask_unlockStateChanged\"===n?this._handleUnlockStateChanged(r):\"metamask_chainChanged\"===n?this._handleChainChanged(r):Oc.includes(n)?this.emit(\"message\",{type:n,data:r}):\"METAMASK_STREAM_FAILURE\"===n&&e.destroy(new Error(ts.errors.permanentlyDisconnected()))}))}async _initializeStateAsync(){let e;try{e=await this.request({method:\"metamask_getProviderState\"})}catch(e){this._log.error(\"MetaMask: Failed to get initial state. Please report this bug.\",e)}this._initializeState(e)}_handleStreamDisconnect(e,t){let n=`MetaMask: Lost connection to \"${e}\".`;t?.stack&&(n+=`\\n${t.stack}`),this._log.warn(n),this.listenerCount(\"error\")>0&&this.emit(\"error\",n),this._handleDisconnect(!1,t?t.message:void 0)}_handleChainChanged({chainId:e,networkVersion:t}={}){$c(e)&&(e=>Boolean(e)&&\"string\"==typeof e)(t)?\"loading\"===t?this._handleDisconnect(!0):super._handleChainChanged({chainId:e}):this._log.error(ts.errors.invalidNetworkParams(),{chainId:e,networkVersion:t})}},ku=class extends _u{constructor(e,{jsonRpcStreamName:t=\"metamask-provider\",logger:n=console,maxEventListeners:r=100,shouldSendMetadata:i}={}){if(super(e,{jsonRpcStreamName:t,logger:n,maxEventListeners:r,rpcMiddleware:Tc(n)}),this._sentWarnings={chainId:!1,networkVersion:!1,selectedAddress:!1,enable:!1,experimentalMethods:!1,send:!1,events:{close:!1,data:!1,networkChanged:!1,notification:!1}},qc(this,Cu,void 0),this._initializeStateAsync(),Vc(this,Cu,null),this.isMetaMask=!0,this._sendSync=this._sendSync.bind(this),this.enable=this.enable.bind(this),this.send=this.send.bind(this),this.sendAsync=this.sendAsync.bind(this),this._warnOfDeprecation=this._warnOfDeprecation.bind(this),this._metamask=this._getExperimentalApi(),this._jsonRpcConnection.events.on(\"notification\",(e=>{const{method:t}=e;Oc.includes(t)&&(this.emit(\"data\",e),this.emit(\"notification\",e.params.result))})),i)if(\"complete\"===document.readyState)Kc(this._rpcEngine,this._log);else{const e=()=>{Kc(this._rpcEngine,this._log),window.removeEventListener(\"DOMContentLoaded\",e)};window.addEventListener(\"DOMContentLoaded\",e)}}get chainId(){return this._sentWarnings.chainId||(this._log.warn(ts.warnings.chainIdDeprecation),this._sentWarnings.chainId=!0),super.chainId}get networkVersion(){return this._sentWarnings.networkVersion||(this._log.warn(ts.warnings.networkVersionDeprecation),this._sentWarnings.networkVersion=!0),zc(this,Cu)}get selectedAddress(){return this._sentWarnings.selectedAddress||(this._log.warn(ts.warnings.selectedAddressDeprecation),this._sentWarnings.selectedAddress=!0),super.selectedAddress}sendAsync(e,t){this._rpcRequest(e,t)}addListener(e,t){return this._warnOfDeprecation(e),super.addListener(e,t)}on(e,t){return this._warnOfDeprecation(e),super.on(e,t)}once(e,t){return this._warnOfDeprecation(e),super.once(e,t)}prependListener(e,t){return this._warnOfDeprecation(e),super.prependListener(e,t)}prependOnceListener(e,t){return this._warnOfDeprecation(e),super.prependOnceListener(e,t)}_handleDisconnect(e,t){super._handleDisconnect(e,t),zc(this,Cu)&&!e&&Vc(this,Cu,null)}_warnOfDeprecation(e){!1===this._sentWarnings?.events[e]&&(this._log.warn(ts.warnings.events[e]),this._sentWarnings.events[e]=!0)}async enable(){return this._sentWarnings.enable||(this._log.warn(ts.warnings.enableDeprecation),this._sentWarnings.enable=!0),new Promise(((e,t)=>{try{this._rpcRequest({method:\"eth_requestAccounts\",params:[]},Dc(e,t))}catch(e){t(e)}}))}send(e,t){return this._sentWarnings.send||(this._log.warn(ts.warnings.sendDeprecation),this._sentWarnings.send=!0),\"string\"!=typeof e||t&&!Array.isArray(t)?e&&\"object\"==typeof e&&\"function\"==typeof t?this._rpcRequest(e,t):this._sendSync(e):new Promise(((n,r)=>{try{this._rpcRequest({method:e,params:t},Dc(n,r,!1))}catch(e){r(e)}}))}_sendSync(e){let t;switch(e.method){case\"eth_accounts\":t=this.selectedAddress?[this.selectedAddress]:[];break;case\"eth_coinbase\":t=this.selectedAddress??null;break;case\"eth_uninstallFilter\":this._rpcRequest(e,Bc),t=!0;break;case\"net_version\":t=zc(this,Cu)??null;break;default:throw new Error(ts.errors.unsupportedSync(e.method))}return{id:e.id,jsonrpc:e.jsonrpc,result:t}}_getExperimentalApi(){return new Proxy({isUnlocked:async()=>(this._state.initialized||await new Promise((e=>{this.on(\"_initialized\",(()=>e()))})),this._state.isUnlocked),requestBatch:async e=>{if(!Array.isArray(e))throw Ya({message:\"Batch requests must be made with an array of request objects.\",data:e});return new Promise(((t,n)=>{this._rpcRequest(e,Dc(t,n))}))}},{get:(e,t,...n)=>(this._sentWarnings.experimentalMethods||(this._log.warn(ts.warnings.experimentalMethods),this._sentWarnings.experimentalMethods=!0),Reflect.get(e,t,...n))})}_handleChainChanged({chainId:e,networkVersion:t}={}){super._handleChainChanged({chainId:e,networkVersion:t}),this._state.isConnected&&t!==zc(this,Cu)&&(Vc(this,Cu,t),this._state.initialized&&this.emit(\"networkChanged\",zc(this,Cu)))}};Cu=new WeakMap;const xu=t(\"MM_SDK\");xu.color=\"#FFAC1C\";var Mu={},Au={};Object.defineProperty(Au,\"__esModule\",{value:!0}),Au.EthereumProviderError=Au.EthereumRpcError=void 0;const Iu=Ta;class Ru extends Error{constructor(e,t,n){if(!Number.isInteger(e))throw new Error('\"code\" must be an integer.');if(!t||\"string\"!=typeof t)throw new Error('\"message\" must be a nonempty string.');super(t),this.code=e,void 0!==n&&(this.data=n)}serialize(){const e={code:this.code,message:this.message};return void 0!==this.data&&(e.data=this.data),this.stack&&(e.stack=this.stack),e}toString(){return Iu.default(this.serialize(),Pu,2)}}Au.EthereumRpcError=Ru;function Pu(e,t){if(\"[Circular]\"!==t)return t}Au.EthereumProviderError=class extends Ru{constructor(e,t,n){if(!function(e){return Number.isInteger(e)&&e>=1e3&&e<=4999}(e))throw new Error('\"code\" must be an integer such that: 1000 <= code <= 4999');super(e,t,n)}};var Lu={},Ou={};Object.defineProperty(Ou,\"__esModule\",{value:!0}),Ou.errorValues=Ou.errorCodes=void 0,Ou.errorCodes={rpc:{invalidInput:-32e3,resourceNotFound:-32001,resourceUnavailable:-32002,transactionRejected:-32003,methodNotSupported:-32004,limitExceeded:-32005,parse:-32700,invalidRequest:-32600,methodNotFound:-32601,invalidParams:-32602,internal:-32603},provider:{userRejectedRequest:4001,unauthorized:4100,unsupportedMethod:4200,disconnected:4900,chainDisconnected:4901}},Ou.errorValues={\"-32700\":{standard:\"JSON RPC 2.0\",message:\"Invalid JSON was received by the server. An error occurred on the server while parsing the JSON text.\"},\"-32600\":{standard:\"JSON RPC 2.0\",message:\"The JSON sent is not a valid Request object.\"},\"-32601\":{standard:\"JSON RPC 2.0\",message:\"The method does not exist / is not available.\"},\"-32602\":{standard:\"JSON RPC 2.0\",message:\"Invalid method parameter(s).\"},\"-32603\":{standard:\"JSON RPC 2.0\",message:\"Internal JSON-RPC error.\"},\"-32000\":{standard:\"EIP-1474\",message:\"Invalid input.\"},\"-32001\":{standard:\"EIP-1474\",message:\"Resource not found.\"},\"-32002\":{standard:\"EIP-1474\",message:\"Resource unavailable.\"},\"-32003\":{standard:\"EIP-1474\",message:\"Transaction rejected.\"},\"-32004\":{standard:\"EIP-1474\",message:\"Method not supported.\"},\"-32005\":{standard:\"EIP-1474\",message:\"Request limit exceeded.\"},4001:{standard:\"EIP-1193\",message:\"User rejected the request.\"},4100:{standard:\"EIP-1193\",message:\"The requested account and/or method has not been authorized by the user.\"},4200:{standard:\"EIP-1193\",message:\"The requested method is not supported by this Ethereum provider.\"},4900:{standard:\"EIP-1193\",message:\"The provider is disconnected from all chains.\"},4901:{standard:\"EIP-1193\",message:\"The provider is disconnected from the specified chain.\"}},function(e){Object.defineProperty(e,\"__esModule\",{value:!0}),e.serializeError=e.isValidCode=e.getMessageFromCode=e.JSON_RPC_SERVER_ERROR_MESSAGE=void 0;const t=Ou,n=Au,r=t.errorCodes.rpc.internal,i=\"Unspecified error message. This is a bug, please report it.\",o={code:r,message:s(r)};function s(n,r=i){if(Number.isInteger(n)){const r=n.toString();if(d(t.errorValues,r))return t.errorValues[r].message;if(c(n))return e.JSON_RPC_SERVER_ERROR_MESSAGE}return r}function a(e){if(!Number.isInteger(e))return!1;const n=e.toString();return!!t.errorValues[n]||!!c(e)}function c(e){return e>=-32099&&e<=-32e3}function l(e){return e&&\"object\"==typeof e&&!Array.isArray(e)?Object.assign({},e):e}function d(e,t){return Object.prototype.hasOwnProperty.call(e,t)}e.JSON_RPC_SERVER_ERROR_MESSAGE=\"Unspecified server error.\",e.getMessageFromCode=s,e.isValidCode=a,e.serializeError=function(e,{fallbackError:t=o,shouldIncludeStack:r=!1}={}){var i,c;if(!t||!Number.isInteger(t.code)||\"string\"!=typeof t.message)throw new Error(\"Must provide fallback error with integer number code and string message.\");if(e instanceof n.EthereumRpcError)return e.serialize();const u={};if(e&&\"object\"==typeof e&&!Array.isArray(e)&&d(e,\"code\")&&a(e.code)){const t=e;u.code=t.code,t.message&&\"string\"==typeof t.message?(u.message=t.message,d(t,\"data\")&&(u.data=t.data)):(u.message=s(u.code),u.data={originalError:l(e)})}else{u.code=t.code;const n=null===(i=e)||void 0===i?void 0:i.message;u.message=n&&\"string\"==typeof n?n:t.message,u.data={originalError:l(e)}}const h=null===(c=e)||void 0===c?void 0:c.stack;return r&&e&&h&&\"string\"==typeof h&&(u.stack=h),u}}(Lu);var Tu={};Object.defineProperty(Tu,\"__esModule\",{value:!0}),Tu.ethErrors=void 0;const Nu=Au,Du=Lu,$u=Ou;function Bu(e,t){const[n,r]=ju(t);return new Nu.EthereumRpcError(e,n||Du.getMessageFromCode(e),r)}function Ku(e,t){const[n,r]=ju(t);return new Nu.EthereumProviderError(e,n||Du.getMessageFromCode(e),r)}function ju(e){if(e){if(\"string\"==typeof e)return[e];if(\"object\"==typeof e&&!Array.isArray(e)){const{message:t,data:n}=e;if(t&&\"string\"!=typeof t)throw new Error(\"Must specify string message.\");return[t||void 0,n]}}return[]}Tu.ethErrors={rpc:{parse:e=>Bu($u.errorCodes.rpc.parse,e),invalidRequest:e=>Bu($u.errorCodes.rpc.invalidRequest,e),invalidParams:e=>Bu($u.errorCodes.rpc.invalidParams,e),methodNotFound:e=>Bu($u.errorCodes.rpc.methodNotFound,e),internal:e=>Bu($u.errorCodes.rpc.internal,e),server:e=>{if(!e||\"object\"!=typeof e||Array.isArray(e))throw new Error(\"Ethereum RPC Server errors must provide single object argument.\");const{code:t}=e;if(!Number.isInteger(t)||t>-32005||t<-32099)throw new Error('\"code\" must be an integer such that: -32099 <= code <= -32005');return Bu(t,e)},invalidInput:e=>Bu($u.errorCodes.rpc.invalidInput,e),resourceNotFound:e=>Bu($u.errorCodes.rpc.resourceNotFound,e),resourceUnavailable:e=>Bu($u.errorCodes.rpc.resourceUnavailable,e),transactionRejected:e=>Bu($u.errorCodes.rpc.transactionRejected,e),methodNotSupported:e=>Bu($u.errorCodes.rpc.methodNotSupported,e),limitExceeded:e=>Bu($u.errorCodes.rpc.limitExceeded,e)},provider:{userRejectedRequest:e=>Ku($u.errorCodes.provider.userRejectedRequest,e),unauthorized:e=>Ku($u.errorCodes.provider.unauthorized,e),unsupportedMethod:e=>Ku($u.errorCodes.provider.unsupportedMethod,e),disconnected:e=>Ku($u.errorCodes.provider.disconnected,e),chainDisconnected:e=>Ku($u.errorCodes.provider.chainDisconnected,e),custom:e=>{if(!e||\"object\"!=typeof e||Array.isArray(e))throw new Error(\"Ethereum Provider custom errors must provide single object argument.\");const{code:t,message:n,data:r}=e;if(!n||\"string\"!=typeof n)throw new Error('\"message\" must be a nonempty string');return new Nu.EthereumProviderError(t,n,r)}}},function(e){Object.defineProperty(e,\"__esModule\",{value:!0}),e.getMessageFromCode=e.serializeError=e.EthereumProviderError=e.EthereumRpcError=e.ethErrors=e.errorCodes=void 0;const t=Au;Object.defineProperty(e,\"EthereumRpcError\",{enumerable:!0,get:function(){return t.EthereumRpcError}}),Object.defineProperty(e,\"EthereumProviderError\",{enumerable:!0,get:function(){return t.EthereumProviderError}});const n=Lu;Object.defineProperty(e,\"serializeError\",{enumerable:!0,get:function(){return n.serializeError}}),Object.defineProperty(e,\"getMessageFromCode\",{enumerable:!0,get:function(){return n.getMessageFromCode}});const r=Tu;Object.defineProperty(e,\"ethErrors\",{enumerable:!0,get:function(){return r.ethErrors}});const i=Ou;Object.defineProperty(e,\"errorCodes\",{enumerable:!0,get:function(){return i.errorCodes}})}(Mu);var Uu={exports:{}};Uu.exports=function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,\"a\",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p=\"\",n(n.s=90)}({17:function(e,t,n){t.__esModule=!0,t.default=void 0;var r=n(18),i=function(){function e(){}return e.getFirstMatch=function(e,t){var n=t.match(e);return n&&n.length>0&&n[1]||\"\"},e.getSecondMatch=function(e,t){var n=t.match(e);return n&&n.length>1&&n[2]||\"\"},e.matchAndReturnConst=function(e,t,n){if(e.test(t))return n},e.getWindowsVersionName=function(e){switch(e){case\"NT\":return\"NT\";case\"XP\":case\"NT 5.1\":return\"XP\";case\"NT 5.0\":return\"2000\";case\"NT 5.2\":return\"2003\";case\"NT 6.0\":return\"Vista\";case\"NT 6.1\":return\"7\";case\"NT 6.2\":return\"8\";case\"NT 6.3\":return\"8.1\";case\"NT 10.0\":return\"10\";default:return}},e.getMacOSVersionName=function(e){var t=e.split(\".\").splice(0,2).map((function(e){return parseInt(e,10)||0}));if(t.push(0),10===t[0])switch(t[1]){case 5:return\"Leopard\";case 6:return\"Snow Leopard\";case 7:return\"Lion\";case 8:return\"Mountain Lion\";case 9:return\"Mavericks\";case 10:return\"Yosemite\";case 11:return\"El Capitan\";case 12:return\"Sierra\";case 13:return\"High Sierra\";case 14:return\"Mojave\";case 15:return\"Catalina\";default:return}},e.getAndroidVersionName=function(e){var t=e.split(\".\").splice(0,2).map((function(e){return parseInt(e,10)||0}));if(t.push(0),!(1===t[0]&&t[1]<5))return 1===t[0]&&t[1]<6?\"Cupcake\":1===t[0]&&t[1]>=6?\"Donut\":2===t[0]&&t[1]<2?\"Eclair\":2===t[0]&&2===t[1]?\"Froyo\":2===t[0]&&t[1]>2?\"Gingerbread\":3===t[0]?\"Honeycomb\":4===t[0]&&t[1]<1?\"Ice Cream Sandwich\":4===t[0]&&t[1]<4?\"Jelly Bean\":4===t[0]&&t[1]>=4?\"KitKat\":5===t[0]?\"Lollipop\":6===t[0]?\"Marshmallow\":7===t[0]?\"Nougat\":8===t[0]?\"Oreo\":9===t[0]?\"Pie\":void 0},e.getVersionPrecision=function(e){return e.split(\".\").length},e.compareVersions=function(t,n,r){void 0===r&&(r=!1);var i=e.getVersionPrecision(t),o=e.getVersionPrecision(n),s=Math.max(i,o),a=0,c=e.map([t,n],(function(t){var n=s-e.getVersionPrecision(t),r=t+new Array(n+1).join(\".0\");return e.map(r.split(\".\"),(function(e){return new Array(20-e.length).join(\"0\")+e})).reverse()}));for(r&&(a=s-Math.min(i,o)),s-=1;s>=a;){if(c[0][s]>c[1][s])return 1;if(c[0][s]===c[1][s]){if(s===a)return 0;s-=1}else if(c[0][s]<c[1][s])return-1}},e.map=function(e,t){var n,r=[];if(Array.prototype.map)return Array.prototype.map.call(e,t);for(n=0;n<e.length;n+=1)r.push(t(e[n]));return r},e.find=function(e,t){var n,r;if(Array.prototype.find)return Array.prototype.find.call(e,t);for(n=0,r=e.length;n<r;n+=1){var i=e[n];if(t(i,n))return i}},e.assign=function(e){for(var t,n,r=e,i=arguments.length,o=new Array(i>1?i-1:0),s=1;s<i;s++)o[s-1]=arguments[s];if(Object.assign)return Object.assign.apply(Object,[e].concat(o));var a=function(){var e=o[t];\"object\"==typeof e&&null!==e&&Object.keys(e).forEach((function(t){r[t]=e[t]}))};for(t=0,n=o.length;t<n;t+=1)a();return e},e.getBrowserAlias=function(e){return r.BROWSER_ALIASES_MAP[e]},e.getBrowserTypeByAlias=function(e){return r.BROWSER_MAP[e]||\"\"},e}();t.default=i,e.exports=t.default},18:function(e,t,n){t.__esModule=!0,t.ENGINE_MAP=t.OS_MAP=t.PLATFORMS_MAP=t.BROWSER_MAP=t.BROWSER_ALIASES_MAP=void 0,t.BROWSER_ALIASES_MAP={\"Amazon Silk\":\"amazon_silk\",\"Android Browser\":\"android\",Bada:\"bada\",BlackBerry:\"blackberry\",Chrome:\"chrome\",Chromium:\"chromium\",Electron:\"electron\",Epiphany:\"epiphany\",Firefox:\"firefox\",Focus:\"focus\",Generic:\"generic\",\"Google Search\":\"google_search\",Googlebot:\"googlebot\",\"Internet Explorer\":\"ie\",\"K-Meleon\":\"k_meleon\",Maxthon:\"maxthon\",\"Microsoft Edge\":\"edge\",\"MZ Browser\":\"mz\",\"NAVER Whale Browser\":\"naver\",Opera:\"opera\",\"Opera Coast\":\"opera_coast\",PhantomJS:\"phantomjs\",Puffin:\"puffin\",QupZilla:\"qupzilla\",QQ:\"qq\",QQLite:\"qqlite\",Safari:\"safari\",Sailfish:\"sailfish\",\"Samsung Internet for Android\":\"samsung_internet\",SeaMonkey:\"seamonkey\",Sleipnir:\"sleipnir\",Swing:\"swing\",Tizen:\"tizen\",\"UC Browser\":\"uc\",Vivaldi:\"vivaldi\",\"WebOS Browser\":\"webos\",WeChat:\"wechat\",\"Yandex Browser\":\"yandex\",Roku:\"roku\"},t.BROWSER_MAP={amazon_silk:\"Amazon Silk\",android:\"Android Browser\",bada:\"Bada\",blackberry:\"BlackBerry\",chrome:\"Chrome\",chromium:\"Chromium\",electron:\"Electron\",epiphany:\"Epiphany\",firefox:\"Firefox\",focus:\"Focus\",generic:\"Generic\",googlebot:\"Googlebot\",google_search:\"Google Search\",ie:\"Internet Explorer\",k_meleon:\"K-Meleon\",maxthon:\"Maxthon\",edge:\"Microsoft Edge\",mz:\"MZ Browser\",naver:\"NAVER Whale Browser\",opera:\"Opera\",opera_coast:\"Opera Coast\",phantomjs:\"PhantomJS\",puffin:\"Puffin\",qupzilla:\"QupZilla\",qq:\"QQ Browser\",qqlite:\"QQ Browser Lite\",safari:\"Safari\",sailfish:\"Sailfish\",samsung_internet:\"Samsung Internet for Android\",seamonkey:\"SeaMonkey\",sleipnir:\"Sleipnir\",swing:\"Swing\",tizen:\"Tizen\",uc:\"UC Browser\",vivaldi:\"Vivaldi\",webos:\"WebOS Browser\",wechat:\"WeChat\",yandex:\"Yandex Browser\"},t.PLATFORMS_MAP={tablet:\"tablet\",mobile:\"mobile\",desktop:\"desktop\",tv:\"tv\"},t.OS_MAP={WindowsPhone:\"Windows Phone\",Windows:\"Windows\",MacOS:\"macOS\",iOS:\"iOS\",Android:\"Android\",WebOS:\"WebOS\",BlackBerry:\"BlackBerry\",Bada:\"Bada\",Tizen:\"Tizen\",Linux:\"Linux\",ChromeOS:\"Chrome OS\",PlayStation4:\"PlayStation 4\",Roku:\"Roku\"},t.ENGINE_MAP={EdgeHTML:\"EdgeHTML\",Blink:\"Blink\",Trident:\"Trident\",Presto:\"Presto\",Gecko:\"Gecko\",WebKit:\"WebKit\"}},90:function(e,t,n){t.__esModule=!0,t.default=void 0;var r,i=(r=n(91))&&r.__esModule?r:{default:r},o=n(18);function s(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}var a=function(){function e(){}var t,n,r;return e.getParser=function(e,t){if(void 0===t&&(t=!1),\"string\"!=typeof e)throw new Error(\"UserAgent should be a string\");return new i.default(e,t)},e.parse=function(e){return new i.default(e).getResult()},t=e,r=[{key:\"BROWSER_MAP\",get:function(){return o.BROWSER_MAP}},{key:\"ENGINE_MAP\",get:function(){return o.ENGINE_MAP}},{key:\"OS_MAP\",get:function(){return o.OS_MAP}},{key:\"PLATFORMS_MAP\",get:function(){return o.PLATFORMS_MAP}}],(n=null)&&s(t.prototype,n),r&&s(t,r),e}();t.default=a,e.exports=t.default},91:function(e,t,n){t.__esModule=!0,t.default=void 0;var r=c(n(92)),i=c(n(93)),o=c(n(94)),s=c(n(95)),a=c(n(17));function c(e){return e&&e.__esModule?e:{default:e}}var l=function(){function e(e,t){if(void 0===t&&(t=!1),null==e||\"\"===e)throw new Error(\"UserAgent parameter can't be empty\");this._ua=e,this.parsedResult={},!0!==t&&this.parse()}var t=e.prototype;return t.getUA=function(){return this._ua},t.test=function(e){return e.test(this._ua)},t.parseBrowser=function(){var e=this;this.parsedResult.browser={};var t=a.default.find(r.default,(function(t){if(\"function\"==typeof t.test)return t.test(e);if(t.test instanceof Array)return t.test.some((function(t){return e.test(t)}));throw new Error(\"Browser's test function is not valid\")}));return t&&(this.parsedResult.browser=t.describe(this.getUA())),this.parsedResult.browser},t.getBrowser=function(){return this.parsedResult.browser?this.parsedResult.browser:this.parseBrowser()},t.getBrowserName=function(e){return e?String(this.getBrowser().name).toLowerCase()||\"\":this.getBrowser().name||\"\"},t.getBrowserVersion=function(){return this.getBrowser().version},t.getOS=function(){return this.parsedResult.os?this.parsedResult.os:this.parseOS()},t.parseOS=function(){var e=this;this.parsedResult.os={};var t=a.default.find(i.default,(function(t){if(\"function\"==typeof t.test)return t.test(e);if(t.test instanceof Array)return t.test.some((function(t){return e.test(t)}));throw new Error(\"Browser's test function is not valid\")}));return t&&(this.parsedResult.os=t.describe(this.getUA())),this.parsedResult.os},t.getOSName=function(e){var t=this.getOS().name;return e?String(t).toLowerCase()||\"\":t||\"\"},t.getOSVersion=function(){return this.getOS().version},t.getPlatform=function(){return this.parsedResult.platform?this.parsedResult.platform:this.parsePlatform()},t.getPlatformType=function(e){void 0===e&&(e=!1);var t=this.getPlatform().type;return e?String(t).toLowerCase()||\"\":t||\"\"},t.parsePlatform=function(){var e=this;this.parsedResult.platform={};var t=a.default.find(o.default,(function(t){if(\"function\"==typeof t.test)return t.test(e);if(t.test instanceof Array)return t.test.some((function(t){return e.test(t)}));throw new Error(\"Browser's test function is not valid\")}));return t&&(this.parsedResult.platform=t.describe(this.getUA())),this.parsedResult.platform},t.getEngine=function(){return this.parsedResult.engine?this.parsedResult.engine:this.parseEngine()},t.getEngineName=function(e){return e?String(this.getEngine().name).toLowerCase()||\"\":this.getEngine().name||\"\"},t.parseEngine=function(){var e=this;this.parsedResult.engine={};var t=a.default.find(s.default,(function(t){if(\"function\"==typeof t.test)return t.test(e);if(t.test instanceof Array)return t.test.some((function(t){return e.test(t)}));throw new Error(\"Browser's test function is not valid\")}));return t&&(this.parsedResult.engine=t.describe(this.getUA())),this.parsedResult.engine},t.parse=function(){return this.parseBrowser(),this.parseOS(),this.parsePlatform(),this.parseEngine(),this},t.getResult=function(){return a.default.assign({},this.parsedResult)},t.satisfies=function(e){var t=this,n={},r=0,i={},o=0;if(Object.keys(e).forEach((function(t){var s=e[t];\"string\"==typeof s?(i[t]=s,o+=1):\"object\"==typeof s&&(n[t]=s,r+=1)})),r>0){var s=Object.keys(n),c=a.default.find(s,(function(e){return t.isOS(e)}));if(c){var l=this.satisfies(n[c]);if(void 0!==l)return l}var d=a.default.find(s,(function(e){return t.isPlatform(e)}));if(d){var u=this.satisfies(n[d]);if(void 0!==u)return u}}if(o>0){var h=Object.keys(i),f=a.default.find(h,(function(e){return t.isBrowser(e,!0)}));if(void 0!==f)return this.compareVersion(i[f])}},t.isBrowser=function(e,t){void 0===t&&(t=!1);var n=this.getBrowserName().toLowerCase(),r=e.toLowerCase(),i=a.default.getBrowserTypeByAlias(r);return t&&i&&(r=i.toLowerCase()),r===n},t.compareVersion=function(e){var t=[0],n=e,r=!1,i=this.getBrowserVersion();if(\"string\"==typeof i)return\">\"===e[0]||\"<\"===e[0]?(n=e.substr(1),\"=\"===e[1]?(r=!0,n=e.substr(2)):t=[],\">\"===e[0]?t.push(1):t.push(-1)):\"=\"===e[0]?n=e.substr(1):\"~\"===e[0]&&(r=!0,n=e.substr(1)),t.indexOf(a.default.compareVersions(i,n,r))>-1},t.isOS=function(e){return this.getOSName(!0)===String(e).toLowerCase()},t.isPlatform=function(e){return this.getPlatformType(!0)===String(e).toLowerCase()},t.isEngine=function(e){return this.getEngineName(!0)===String(e).toLowerCase()},t.is=function(e,t){return void 0===t&&(t=!1),this.isBrowser(e,t)||this.isOS(e)||this.isPlatform(e)},t.some=function(e){var t=this;return void 0===e&&(e=[]),e.some((function(e){return t.is(e)}))},e}();t.default=l,e.exports=t.default},92:function(e,t,n){t.__esModule=!0,t.default=void 0;var r,i=(r=n(17))&&r.__esModule?r:{default:r},o=/version\\/(\\d+(\\.?_?\\d+)+)/i,s=[{test:[/googlebot/i],describe:function(e){var t={name:\"Googlebot\"},n=i.default.getFirstMatch(/googlebot\\/(\\d+(\\.\\d+))/i,e)||i.default.getFirstMatch(o,e);return n&&(t.version=n),t}},{test:[/opera/i],describe:function(e){var t={name:\"Opera\"},n=i.default.getFirstMatch(o,e)||i.default.getFirstMatch(/(?:opera)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/opr\\/|opios/i],describe:function(e){var t={name:\"Opera\"},n=i.default.getFirstMatch(/(?:opr|opios)[\\s/](\\S+)/i,e)||i.default.getFirstMatch(o,e);return n&&(t.version=n),t}},{test:[/SamsungBrowser/i],describe:function(e){var t={name:\"Samsung Internet for Android\"},n=i.default.getFirstMatch(o,e)||i.default.getFirstMatch(/(?:SamsungBrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/Whale/i],describe:function(e){var t={name:\"NAVER Whale Browser\"},n=i.default.getFirstMatch(o,e)||i.default.getFirstMatch(/(?:whale)[\\s/](\\d+(?:\\.\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/MZBrowser/i],describe:function(e){var t={name:\"MZ Browser\"},n=i.default.getFirstMatch(/(?:MZBrowser)[\\s/](\\d+(?:\\.\\d+)+)/i,e)||i.default.getFirstMatch(o,e);return n&&(t.version=n),t}},{test:[/focus/i],describe:function(e){var t={name:\"Focus\"},n=i.default.getFirstMatch(/(?:focus)[\\s/](\\d+(?:\\.\\d+)+)/i,e)||i.default.getFirstMatch(o,e);return n&&(t.version=n),t}},{test:[/swing/i],describe:function(e){var t={name:\"Swing\"},n=i.default.getFirstMatch(/(?:swing)[\\s/](\\d+(?:\\.\\d+)+)/i,e)||i.default.getFirstMatch(o,e);return n&&(t.version=n),t}},{test:[/coast/i],describe:function(e){var t={name:\"Opera Coast\"},n=i.default.getFirstMatch(o,e)||i.default.getFirstMatch(/(?:coast)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/opt\\/\\d+(?:.?_?\\d+)+/i],describe:function(e){var t={name:\"Opera Touch\"},n=i.default.getFirstMatch(/(?:opt)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(o,e);return n&&(t.version=n),t}},{test:[/yabrowser/i],describe:function(e){var t={name:\"Yandex Browser\"},n=i.default.getFirstMatch(/(?:yabrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(o,e);return n&&(t.version=n),t}},{test:[/ucbrowser/i],describe:function(e){var t={name:\"UC Browser\"},n=i.default.getFirstMatch(o,e)||i.default.getFirstMatch(/(?:ucbrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/Maxthon|mxios/i],describe:function(e){var t={name:\"Maxthon\"},n=i.default.getFirstMatch(o,e)||i.default.getFirstMatch(/(?:Maxthon|mxios)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/epiphany/i],describe:function(e){var t={name:\"Epiphany\"},n=i.default.getFirstMatch(o,e)||i.default.getFirstMatch(/(?:epiphany)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/puffin/i],describe:function(e){var t={name:\"Puffin\"},n=i.default.getFirstMatch(o,e)||i.default.getFirstMatch(/(?:puffin)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/sleipnir/i],describe:function(e){var t={name:\"Sleipnir\"},n=i.default.getFirstMatch(o,e)||i.default.getFirstMatch(/(?:sleipnir)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/k-meleon/i],describe:function(e){var t={name:\"K-Meleon\"},n=i.default.getFirstMatch(o,e)||i.default.getFirstMatch(/(?:k-meleon)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/micromessenger/i],describe:function(e){var t={name:\"WeChat\"},n=i.default.getFirstMatch(/(?:micromessenger)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(o,e);return n&&(t.version=n),t}},{test:[/qqbrowser/i],describe:function(e){var t={name:/qqbrowserlite/i.test(e)?\"QQ Browser Lite\":\"QQ Browser\"},n=i.default.getFirstMatch(/(?:qqbrowserlite|qqbrowser)[/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(o,e);return n&&(t.version=n),t}},{test:[/msie|trident/i],describe:function(e){var t={name:\"Internet Explorer\"},n=i.default.getFirstMatch(/(?:msie |rv:)(\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/\\sedg\\//i],describe:function(e){var t={name:\"Microsoft Edge\"},n=i.default.getFirstMatch(/\\sedg\\/(\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/edg([ea]|ios)/i],describe:function(e){var t={name:\"Microsoft Edge\"},n=i.default.getSecondMatch(/edg([ea]|ios)\\/(\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/vivaldi/i],describe:function(e){var t={name:\"Vivaldi\"},n=i.default.getFirstMatch(/vivaldi\\/(\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/seamonkey/i],describe:function(e){var t={name:\"SeaMonkey\"},n=i.default.getFirstMatch(/seamonkey\\/(\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/sailfish/i],describe:function(e){var t={name:\"Sailfish\"},n=i.default.getFirstMatch(/sailfish\\s?browser\\/(\\d+(\\.\\d+)?)/i,e);return n&&(t.version=n),t}},{test:[/silk/i],describe:function(e){var t={name:\"Amazon Silk\"},n=i.default.getFirstMatch(/silk\\/(\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/phantom/i],describe:function(e){var t={name:\"PhantomJS\"},n=i.default.getFirstMatch(/phantomjs\\/(\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/slimerjs/i],describe:function(e){var t={name:\"SlimerJS\"},n=i.default.getFirstMatch(/slimerjs\\/(\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/blackberry|\\bbb\\d+/i,/rim\\stablet/i],describe:function(e){var t={name:\"BlackBerry\"},n=i.default.getFirstMatch(o,e)||i.default.getFirstMatch(/blackberry[\\d]+\\/(\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/(web|hpw)[o0]s/i],describe:function(e){var t={name:\"WebOS Browser\"},n=i.default.getFirstMatch(o,e)||i.default.getFirstMatch(/w(?:eb)?[o0]sbrowser\\/(\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/bada/i],describe:function(e){var t={name:\"Bada\"},n=i.default.getFirstMatch(/dolfin\\/(\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/tizen/i],describe:function(e){var t={name:\"Tizen\"},n=i.default.getFirstMatch(/(?:tizen\\s?)?browser\\/(\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(o,e);return n&&(t.version=n),t}},{test:[/qupzilla/i],describe:function(e){var t={name:\"QupZilla\"},n=i.default.getFirstMatch(/(?:qupzilla)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(o,e);return n&&(t.version=n),t}},{test:[/firefox|iceweasel|fxios/i],describe:function(e){var t={name:\"Firefox\"},n=i.default.getFirstMatch(/(?:firefox|iceweasel|fxios)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/electron/i],describe:function(e){var t={name:\"Electron\"},n=i.default.getFirstMatch(/(?:electron)\\/(\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/MiuiBrowser/i],describe:function(e){var t={name:\"Miui\"},n=i.default.getFirstMatch(/(?:MiuiBrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/chromium/i],describe:function(e){var t={name:\"Chromium\"},n=i.default.getFirstMatch(/(?:chromium)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(o,e);return n&&(t.version=n),t}},{test:[/chrome|crios|crmo/i],describe:function(e){var t={name:\"Chrome\"},n=i.default.getFirstMatch(/(?:chrome|crios|crmo)\\/(\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/GSA/i],describe:function(e){var t={name:\"Google Search\"},n=i.default.getFirstMatch(/(?:GSA)\\/(\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:function(e){var t=!e.test(/like android/i),n=e.test(/android/i);return t&&n},describe:function(e){var t={name:\"Android Browser\"},n=i.default.getFirstMatch(o,e);return n&&(t.version=n),t}},{test:[/playstation 4/i],describe:function(e){var t={name:\"PlayStation 4\"},n=i.default.getFirstMatch(o,e);return n&&(t.version=n),t}},{test:[/safari|applewebkit/i],describe:function(e){var t={name:\"Safari\"},n=i.default.getFirstMatch(o,e);return n&&(t.version=n),t}},{test:[/.*/i],describe:function(e){var t=-1!==e.search(\"\\\\(\")?/^(.*)\\/(.*)[ \\t]\\((.*)/:/^(.*)\\/(.*) /;return{name:i.default.getFirstMatch(t,e),version:i.default.getSecondMatch(t,e)}}}];t.default=s,e.exports=t.default},93:function(e,t,n){t.__esModule=!0,t.default=void 0;var r,i=(r=n(17))&&r.__esModule?r:{default:r},o=n(18),s=[{test:[/Roku\\/DVP/],describe:function(e){var t=i.default.getFirstMatch(/Roku\\/DVP-(\\d+\\.\\d+)/i,e);return{name:o.OS_MAP.Roku,version:t}}},{test:[/windows phone/i],describe:function(e){var t=i.default.getFirstMatch(/windows phone (?:os)?\\s?(\\d+(\\.\\d+)*)/i,e);return{name:o.OS_MAP.WindowsPhone,version:t}}},{test:[/windows /i],describe:function(e){var t=i.default.getFirstMatch(/Windows ((NT|XP)( \\d\\d?.\\d)?)/i,e),n=i.default.getWindowsVersionName(t);return{name:o.OS_MAP.Windows,version:t,versionName:n}}},{test:[/Macintosh(.*?) FxiOS(.*?)\\//],describe:function(e){var t={name:o.OS_MAP.iOS},n=i.default.getSecondMatch(/(Version\\/)(\\d[\\d.]+)/,e);return n&&(t.version=n),t}},{test:[/macintosh/i],describe:function(e){var t=i.default.getFirstMatch(/mac os x (\\d+(\\.?_?\\d+)+)/i,e).replace(/[_\\s]/g,\".\"),n=i.default.getMacOSVersionName(t),r={name:o.OS_MAP.MacOS,version:t};return n&&(r.versionName=n),r}},{test:[/(ipod|iphone|ipad)/i],describe:function(e){var t=i.default.getFirstMatch(/os (\\d+([_\\s]\\d+)*) like mac os x/i,e).replace(/[_\\s]/g,\".\");return{name:o.OS_MAP.iOS,version:t}}},{test:function(e){var t=!e.test(/like android/i),n=e.test(/android/i);return t&&n},describe:function(e){var t=i.default.getFirstMatch(/android[\\s/-](\\d+(\\.\\d+)*)/i,e),n=i.default.getAndroidVersionName(t),r={name:o.OS_MAP.Android,version:t};return n&&(r.versionName=n),r}},{test:[/(web|hpw)[o0]s/i],describe:function(e){var t=i.default.getFirstMatch(/(?:web|hpw)[o0]s\\/(\\d+(\\.\\d+)*)/i,e),n={name:o.OS_MAP.WebOS};return t&&t.length&&(n.version=t),n}},{test:[/blackberry|\\bbb\\d+/i,/rim\\stablet/i],describe:function(e){var t=i.default.getFirstMatch(/rim\\stablet\\sos\\s(\\d+(\\.\\d+)*)/i,e)||i.default.getFirstMatch(/blackberry\\d+\\/(\\d+([_\\s]\\d+)*)/i,e)||i.default.getFirstMatch(/\\bbb(\\d+)/i,e);return{name:o.OS_MAP.BlackBerry,version:t}}},{test:[/bada/i],describe:function(e){var t=i.default.getFirstMatch(/bada\\/(\\d+(\\.\\d+)*)/i,e);return{name:o.OS_MAP.Bada,version:t}}},{test:[/tizen/i],describe:function(e){var t=i.default.getFirstMatch(/tizen[/\\s](\\d+(\\.\\d+)*)/i,e);return{name:o.OS_MAP.Tizen,version:t}}},{test:[/linux/i],describe:function(){return{name:o.OS_MAP.Linux}}},{test:[/CrOS/],describe:function(){return{name:o.OS_MAP.ChromeOS}}},{test:[/PlayStation 4/],describe:function(e){var t=i.default.getFirstMatch(/PlayStation 4[/\\s](\\d+(\\.\\d+)*)/i,e);return{name:o.OS_MAP.PlayStation4,version:t}}}];t.default=s,e.exports=t.default},94:function(e,t,n){t.__esModule=!0,t.default=void 0;var r,i=(r=n(17))&&r.__esModule?r:{default:r},o=n(18),s=[{test:[/googlebot/i],describe:function(){return{type:\"bot\",vendor:\"Google\"}}},{test:[/huawei/i],describe:function(e){var t=i.default.getFirstMatch(/(can-l01)/i,e)&&\"Nova\",n={type:o.PLATFORMS_MAP.mobile,vendor:\"Huawei\"};return t&&(n.model=t),n}},{test:[/nexus\\s*(?:7|8|9|10).*/i],describe:function(){return{type:o.PLATFORMS_MAP.tablet,vendor:\"Nexus\"}}},{test:[/ipad/i],describe:function(){return{type:o.PLATFORMS_MAP.tablet,vendor:\"Apple\",model:\"iPad\"}}},{test:[/Macintosh(.*?) FxiOS(.*?)\\//],describe:function(){return{type:o.PLATFORMS_MAP.tablet,vendor:\"Apple\",model:\"iPad\"}}},{test:[/kftt build/i],describe:function(){return{type:o.PLATFORMS_MAP.tablet,vendor:\"Amazon\",model:\"Kindle Fire HD 7\"}}},{test:[/silk/i],describe:function(){return{type:o.PLATFORMS_MAP.tablet,vendor:\"Amazon\"}}},{test:[/tablet(?! pc)/i],describe:function(){return{type:o.PLATFORMS_MAP.tablet}}},{test:function(e){var t=e.test(/ipod|iphone/i),n=e.test(/like (ipod|iphone)/i);return t&&!n},describe:function(e){var t=i.default.getFirstMatch(/(ipod|iphone)/i,e);return{type:o.PLATFORMS_MAP.mobile,vendor:\"Apple\",model:t}}},{test:[/nexus\\s*[0-6].*/i,/galaxy nexus/i],describe:function(){return{type:o.PLATFORMS_MAP.mobile,vendor:\"Nexus\"}}},{test:[/[^-]mobi/i],describe:function(){return{type:o.PLATFORMS_MAP.mobile}}},{test:function(e){return\"blackberry\"===e.getBrowserName(!0)},describe:function(){return{type:o.PLATFORMS_MAP.mobile,vendor:\"BlackBerry\"}}},{test:function(e){return\"bada\"===e.getBrowserName(!0)},describe:function(){return{type:o.PLATFORMS_MAP.mobile}}},{test:function(e){return\"windows phone\"===e.getBrowserName()},describe:function(){return{type:o.PLATFORMS_MAP.mobile,vendor:\"Microsoft\"}}},{test:function(e){var t=Number(String(e.getOSVersion()).split(\".\")[0]);return\"android\"===e.getOSName(!0)&&t>=3},describe:function(){return{type:o.PLATFORMS_MAP.tablet}}},{test:function(e){return\"android\"===e.getOSName(!0)},describe:function(){return{type:o.PLATFORMS_MAP.mobile}}},{test:function(e){return\"macos\"===e.getOSName(!0)},describe:function(){return{type:o.PLATFORMS_MAP.desktop,vendor:\"Apple\"}}},{test:function(e){return\"windows\"===e.getOSName(!0)},describe:function(){return{type:o.PLATFORMS_MAP.desktop}}},{test:function(e){return\"linux\"===e.getOSName(!0)},describe:function(){return{type:o.PLATFORMS_MAP.desktop}}},{test:function(e){return\"playstation 4\"===e.getOSName(!0)},describe:function(){return{type:o.PLATFORMS_MAP.tv}}},{test:function(e){return\"roku\"===e.getOSName(!0)},describe:function(){return{type:o.PLATFORMS_MAP.tv}}}];t.default=s,e.exports=t.default},95:function(e,t,n){t.__esModule=!0,t.default=void 0;var r,i=(r=n(17))&&r.__esModule?r:{default:r},o=n(18),s=[{test:function(e){return\"microsoft edge\"===e.getBrowserName(!0)},describe:function(e){if(/\\sedg\\//i.test(e))return{name:o.ENGINE_MAP.Blink};var t=i.default.getFirstMatch(/edge\\/(\\d+(\\.?_?\\d+)+)/i,e);return{name:o.ENGINE_MAP.EdgeHTML,version:t}}},{test:[/trident/i],describe:function(e){var t={name:o.ENGINE_MAP.Trident},n=i.default.getFirstMatch(/trident\\/(\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:function(e){return e.test(/presto/i)},describe:function(e){var t={name:o.ENGINE_MAP.Presto},n=i.default.getFirstMatch(/presto\\/(\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:function(e){var t=e.test(/gecko/i),n=e.test(/like gecko/i);return t&&!n},describe:function(e){var t={name:o.ENGINE_MAP.Gecko},n=i.default.getFirstMatch(/gecko\\/(\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/(apple)?webkit\\/537\\.36/i],describe:function(){return{name:o.ENGINE_MAP.Blink}}},{test:[/(apple)?webkit/i],describe:function(e){var t={name:o.ENGINE_MAP.WebKit},n=i.default.getFirstMatch(/webkit\\/(\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}}];t.default=s,e.exports=t.default}});var Hu=de(Uu.exports);const Fu={Initialized:\"initialized\",DisplayURI:\"display_uri\",ProviderUpdate:\"provider_update\",ConnectWithResponse:\"connectWithResponse\",ConnectionStatus:\"connection_status\",ServiceStatus:\"service_status\"};class zu{constructor({shouldSetOnWindow:e,connectionStream:t,shouldSendMetadata:n=!1,shouldShimWeb3:r,sdkInstance:i}){const o=new Wu({connectionStream:t,shouldSendMetadata:n,shouldSetOnWindow:e,shouldShimWeb3:r,autoRequestAccounts:!1}),s=new Proxy(o,{deleteProperty:()=>!0});if(this.provider=s,this.sdkInstance=i,e&&\"undefined\"!=typeof window)try{a=o,window.ethereum=a,window.dispatchEvent(new Event(\"ethereum#initialized\"))}catch(e){xu(\"[Ethereum] Unable to set global provider - window.ethereum may be read-only\",e)}var a;if(r&&\"undefined\"!=typeof window)try{!function(e,t=console){let n=!1,r=!1;if(!window.web3){const i=\"__isMetaMaskShim__\";let o={currentProvider:e};Object.defineProperty(o,i,{value:!0,enumerable:!0,configurable:!1,writable:!1}),o=new Proxy(o,{get:(o,s,...a)=>(\"currentProvider\"!==s||n?\"currentProvider\"===s||s===i||r||(r=!0,t.error(\"MetaMask no longer injects web3. For details, see: https://docs.metamask.io/guide/provider-migration.html#replacing-window-web3\"),e.request({method:\"metamask_logWeb3ShimUsage\"}).catch((e=>{t.debug(\"MetaMask: Failed to log web3 shim usage.\",e)}))):(n=!0,t.warn(\"You are accessing the MetaMask window.web3.currentProvider shim. This property is deprecated; use window.ethereum instead. For details, see: https://docs.metamask.io/guide/provider-migration.html#replacing-window-web3\")),Reflect.get(o,s,...a)),set:(...e)=>(t.warn(\"You are accessing the MetaMask window.web3 shim. This object is deprecated; use window.ethereum instead. For details, see: https://docs.metamask.io/guide/provider-migration.html#replacing-window-web3\"),Reflect.set(...e))}),Object.defineProperty(window,\"web3\",{value:o,enumerable:!1,configurable:!0,writable:!0})}}(this.provider)}catch(e){xu(\"[Ethereum] Unable to shim web3 - window.web3 may be read-only\",e)}this.provider.on(\"display_uri\",(e=>{this.sdkInstance.emit(Fu.DisplayURI,e)})),this.provider.on(\"_initialized\",(()=>{const e={chainId:this.provider.getChainId(),isConnected:this.provider.isConnected(),isMetaMask:this.provider.isMetaMask,selectedAddress:this.provider.getSelectedAddress(),networkVersion:this.provider.getNetworkVersion()};this.sdkInstance.emit(Fu.Initialized,e),xu(\"[Ethereum: constructor()] provider initialized\",e)}))}static init(e){var t;return xu(\"[Ethereum: init()] Initializing Ethereum service\"),this.instance=new zu(e),null===(t=this.instance)||void 0===t?void 0:t.provider}static destroy(){}static getInstance(){var e;if(!(null===(e=this.instance)||void 0===e?void 0:e.provider))throw new Error(\"Ethereum instance not intiialized - call Ethereum.factory first.\");return this.instance}static getProvider(){var e;if(!(null===(e=this.instance)||void 0===e?void 0:e.provider))throw new Error(\"Ethereum instance not intiialized - call Ethereum.factory first.\");return this.instance.provider}}class qu{constructor({useDeepLink:e,preferredOpenLink:t,debug:n=!1}){this.state={platformType:void 0,useDeeplink:!1,preferredOpenLink:void 0,debug:!1},this.state.platformType=this.getPlatformType(),this.state.useDeeplink=e,this.state.preferredOpenLink=t,this.state.debug=n}openDeeplink(e,t,n){return function(e,t,n,r){const{state:i}=e;xu(`[PlatfformManager: openDeeplink()] universalLink --\\x3e ${t}`),xu(`[PlatfformManager: openDeeplink()] deepLink --\\x3e ${n}`);try{if(i.preferredOpenLink)return void i.preferredOpenLink(i.useDeeplink?n:t,r);if(xu(`[PlatfformManager: openDeeplink()] open link now useDeepLink=${i.useDeeplink} link=${i.useDeeplink?n:t}`),i.useDeeplink)\"undefined\"!=typeof window&&(window.location.href=n);else if(\"undefined\"!=typeof document){const e=document.createElement(\"a\");e.href=t,e.target=\"_self\",e.rel=\"noreferrer noopener\",e.click()}}catch(e){console.log(\"[PlatfformManager: openDeeplink()] can't open link\",e)}}(this,e,t,n)}isReactNative(){var e;return this.isNotBrowser()&&\"undefined\"!=typeof window&&(null===window||void 0===window?void 0:window.navigator)&&\"ReactNative\"===(null===(e=window.navigator)||void 0===e?void 0:e.product)}isMetaMaskInstalled(){return function(){const e=zu.getProvider()||(null===window||void 0===window?void 0:window.ethereum);return xu(`[PlatfformManager: isMetaMaskInstalled()] isMetaMask=${null==e?void 0:e.isMetaMask} isConnected=${null==e?void 0:e.isConnected()}`),(null==e?void 0:e.isMetaMask)&&(null==e?void 0:e.isConnected())}()}isDesktopWeb(){return this.isBrowser()&&!this.isMobileWeb()}isMobile(){var e,t;const n=Hu.parse(window.navigator.userAgent);return\"mobile\"===(null===(e=null==n?void 0:n.platform)||void 0===e?void 0:e.type)||\"tablet\"===(null===(t=null==n?void 0:n.platform)||void 0===t?void 0:t.type)}isSecure(){return this.isReactNative()||this.isMobileWeb()}isMetaMaskMobileWebView(){return\"undefined\"!=typeof window&&(Boolean(window.ReactNativeWebView)&&Boolean(navigator.userAgent.endsWith(\"MetaMaskMobile\")))}isMobileWeb(){return this.state.platformType===Bo.MobileWeb}static isNotBrowser(){var e;return\"undefined\"==typeof window||!(null===window||void 0===window?void 0:window.navigator)||void 0!==c&&\"ReactNative\"===(null===(e=null==c?void 0:c.navigator)||void 0===e?void 0:e.product)||\"ReactNative\"===(null===navigator||void 0===navigator?void 0:navigator.product)}isNotBrowser(){return qu.isNotBrowser()}static isBrowser(){return!this.isNotBrowser()}isBrowser(){return qu.isBrowser()}isNodeJS(){return this.isNotBrowser()&&!this.isReactNative()}isUseDeepLink(){return this.state.useDeeplink}getPlatformType(){return function(e){const{state:t}=e;return t.platformType?t.platformType:e.isReactNative()?Bo.ReactNative:e.isNotBrowser()?Bo.NonBrowser:e.isMetaMaskMobileWebView()?Bo.MetaMaskMobileWebview:e.isMobile()?Bo.MobileWeb:Bo.DesktopWeb}(this)}}const Vu=e=>a(void 0,void 0,void 0,(function*(){if(qu.isBrowser()){const{StorageManagerWeb:t}=yield Promise.resolve().then((function(){return nf}));return new t(e)}const t={persistChannelConfig:()=>a(void 0,void 0,void 0,(function*(){})),getPersistedChannelConfig:()=>a(void 0,void 0,void 0,(function*(){})),persistAccounts:()=>a(void 0,void 0,void 0,(function*(){})),getCachedAccounts:()=>a(void 0,void 0,void 0,(function*(){return[]})),persistChainId:()=>a(void 0,void 0,void 0,(function*(){})),getCachedChainId:()=>a(void 0,void 0,void 0,(function*(){})),terminate:()=>a(void 0,void 0,void 0,(function*(){}))};return Promise.resolve(t)}));class Wu extends ku{constructor({connectionStream:e,shouldSendMetadata:t,autoRequestAccounts:n=!1}){super(e,{logger:console,maxEventListeners:100,shouldSendMetadata:t}),this.state={accounts:null,autoRequestAccounts:!1,providerStateRequested:!1,chainId:\"\",networkVersion:\"\"},xu(`[SDKProvider: constructor()] autoRequestAccounts=${n}`),this.state.autoRequestAccounts=n}forceInitializeState(){return a(this,void 0,void 0,(function*(){return xu(`[SDKProvider: forceInitializeState()] autoRequestAccounts=${this.state.autoRequestAccounts}`),this._initializeStateAsync()}))}_setConnected(){xu(\"[SDKProvider: _setConnected()] Setting connected state\"),this._state.isConnected=!0}getState(){return this._state}getSDKProviderState(){return this.state}getSelectedAddress(){var e;const{accounts:t}=this._state;return t&&0!==t.length?(null===(e=t[0])||void 0===e?void 0:e.toLowerCase())||\"\":(xu(\"[SDKProvider: getSelectedAddress] No accounts found\"),null)}getChainId(){return this.state.chainId}getNetworkVersion(){return this.state.networkVersion}setSDKProviderState(e){this.state=Object.assign(Object.assign({},this.state),e)}handleAccountsChanged(e,t){return this._handleAccountsChanged(e,t)}handleDisconnect({terminate:e=!1}){!function({terminate:e=!1,instance:t}){const{state:n}=t;xu(`[SDKProvider: handleDisconnect()] cleaning up provider state terminate=${e}`,t),e&&(t._state.accounts=null,t._state.isUnlocked=!1,t._state.isPermanentlyDisconnected=!0,t._state.initialized=!1),t._handleAccountsChanged([]),t._state.isConnected=!1,t.emit(\"disconnect\",Mu.ethErrors.provider.disconnected()),n.providerStateRequested=!1}({terminate:e,instance:this})}_initializeStateAsync(){return a(this,void 0,void 0,(function*(){return function(e){var t,n;return a(this,void 0,void 0,(function*(){void 0===e.state&&(e.state={accounts:null,autoRequestAccounts:!1,providerStateRequested:!1,chainId:\"\"});const{state:r}=e;let i;if(r.providerStateRequested)xu(\"[SDKProvider: initializeStateAsync()] initialization already in progress\");else{let o;r.providerStateRequested=!0;let s=null,a=!1,c=!1;const l=yield Vu({enabled:!0});if(l){const e=yield l.getPersistedChannelConfig({});a=null!==(t=null==e?void 0:e.relayPersistence)&&void 0!==t&&t,o=yield l.getCachedChainId();const n=yield l.getCachedAccounts();n.length>0&&(s=n[0])}if(xu(`[SDKProvider: initializeStateAsync()] relayPersistence=${a}`,{relayPersistence:a,cachedChainId:o,cachedSelectedAddress:s}),a)if(o&&s)i={accounts:[s],chainId:o,isUnlocked:!1},c=!0;else try{i=yield e.request({method:\"metamask_getProviderState\"})}catch(t){return e._log.error(\"MetaMask: Failed to get initial state. Please report this bug.\",t),void(r.providerStateRequested=!1)}if(0===(null===(n=null==i?void 0:i.accounts)||void 0===n?void 0:n.length))if(e.getSelectedAddress())i.accounts=[e.getSelectedAddress()];else{xu(\"[SDKProvider: initializeStateAsync()] Fetch accounts remotely.\");const t=yield e.request({method:\"eth_requestAccounts\",params:[]});i.accounts=t}e._initializeState(i),r.providerStateRequested=!1,c&&(e._state.isConnected=!0,e.emit(\"connect\",{chainId:null==i?void 0:i.chainId}))}}))}(this)}))}_initializeState(e){return xu(\"[SDKProvider: _initializeState()]\",e),function(e,t,n){return xu(\"[SDKProvider: initializeState()] set state._initialized to false\"),e._state.initialized=!1,t(n)}(this,super._initializeState.bind(this),e)}_handleChainChanged({chainId:e,networkVersion:t}={}){this.state.chainId=e,this.state.networkVersion=t,function({instance:e,chainId:t,networkVersion:n,superHandleChainChanged:r}){xu(`[SDKProvider: handleChainChanged()] chainId=${t} networkVersion=${n}`);let i=n;n||(xu(\"[SDKProvider: handleChainChanged()] forced network version to prevent provider error\"),i=\"1\"),e._state.isConnected=!0,e.emit(\"connect\",{chainId:t}),r({chainId:t,networkVersion:i})}({instance:this,chainId:e,networkVersion:t,superHandleChainChanged:super._handleChainChanged.bind(this)})}}var Gu,Zu={name:\"@metamask/sdk\",version:\"0.32.0\",description:\"\",homepage:\"https://github.com/MetaMask/metamask-sdk#readme\",bugs:{url:\"https://github.com/MetaMask/metamask-sdk/issues\"},repository:{type:\"git\",url:\"https://github.com/MetaMask/metamask-sdk\",directory:\"packages/sdk\"},main:\"dist/node/cjs/metamask-sdk.js\",module:\"dist/browser/es/metamask-sdk.js\",browser:\"dist/browser/es/metamask-sdk.js\",unpkg:\"dist/browser/umd/metamask-sdk.js\",\"react-native\":\"dist/react-native/es/metamask-sdk.js\",types:\"dist/types/src/index.d.ts\",sideEffects:!1,files:[\"/dist\"],scripts:{\"build:types\":\"tsc --project tsconfig.build.json --emitDeclarationOnly --outDir dist/types\",build:\"yarn build:types && rollup -c --bundleConfigAsCjs\",\"build:clean\":\"yarn clean && yarn build\",\"build:post-tsc\":\"echo 'N/A'\",\"build:pre-tsc\":\"echo 'N/A'\",typecheck:\"tsc --noEmit\",clean:\"rimraf ./dist\",size:\"node bundle-size && size-limit\",lint:\"yarn lint:eslint && yarn lint:misc --check\",\"lint:changelog\":\"../../scripts/validate-changelog.sh @metamask/sdk\",\"lint:eslint\":\"eslint . --cache --ext js,ts\",\"lint:fix\":\"yarn lint:eslint --fix && yarn lint:misc --write\",\"lint:misc\":\"prettier '**/*.json' '**/*.md' '!CHANGELOG.md' --ignore-path ../../.gitignore\",prepack:\"../../scripts/prepack.sh\",\"publish:preview\":\"yarn npm publish --tag preview\",reset:\"yarn clean && rimraf ./node_modules/\",test:'jest --testPathIgnorePatterns \"/e2e/\"',\"test:coverage\":'jest --coverage --testPathIgnorePatterns \"/e2e/\"',\"test:e2e\":'jest --testPathPattern \"/e2e/\"',\"test:ci\":'jest --coverage --passWithNoTests --setupFilesAfterEnv ./jest-preload.js --testPathIgnorePatterns \"/e2e/\"',\"test:dev\":'jest -c ./jest.config.ts --detectOpenHandles --testPathIgnorePatterns \"/e2e/\"',watch:\"rollup -c -w\",dev:'concurrently \"tsc --watch\" \"rollup -c -w --bundleConfigAsCjs\"',\"build:dev\":\"yarn build:types && NODE_ENV=dev rollup -c --bundleConfigAsCjs\"},dependencies:{\"@babel/runtime\":\"^7.26.0\",\"@metamask/onboarding\":\"^1.0.1\",\"@metamask/providers\":\"16.1.0\",\"@metamask/sdk-communication-layer\":\"workspace:*\",\"@metamask/sdk-install-modal-web\":\"workspace:*\",\"@paulmillr/qr\":\"^0.2.1\",bowser:\"^2.9.0\",\"cross-fetch\":\"^4.0.0\",debug:\"^4.3.4\",eciesjs:\"^0.4.11\",\"eth-rpc-errors\":\"^4.0.3\",eventemitter2:\"^6.4.9\",\"obj-multiplex\":\"^1.0.0\",pump:\"^3.0.0\",\"readable-stream\":\"^3.6.2\",\"socket.io-client\":\"^4.5.1\",tslib:\"^2.6.0\",util:\"^0.12.4\",uuid:\"^8.3.2\"},devDependencies:{\"@jest/globals\":\"^29.3.1\",\"@lavamoat/allow-scripts\":\"^2.3.1\",\"@metamask/auto-changelog\":\"3.1.0\",\"@metamask/eslint-config\":\"^6.0.0\",\"@metamask/eslint-config-nodejs\":\"^6.0.0\",\"@metamask/eslint-config-typescript\":\"^6.0.0\",\"@react-native-async-storage/async-storage\":\"^1.19.6\",\"@rollup/plugin-alias\":\"^5.1.1\",\"@rollup/plugin-commonjs\":\"^25.0.7\",\"@rollup/plugin-json\":\"^6.0.0\",\"@rollup/plugin-node-resolve\":\"^15.0.2\",\"@rollup/plugin-replace\":\"^6.0.1\",\"@rollup/plugin-terser\":\"^0.4.1\",\"@size-limit/preset-big-lib\":\"^11.0.2\",\"@types/dom-screen-wake-lock\":\"^1.0.2\",\"@types/node\":\"^20.1.3\",\"@types/pump\":\"^1.1.1\",\"@types/qrcode-terminal\":\"^0.12.0\",\"@types/uuid\":\"^10.0.0\",\"@typescript-eslint/eslint-plugin\":\"^4.26.0\",\"@typescript-eslint/parser\":\"^4.26.0\",\"browserify-zlib\":\"^0.2.0\",buffer:\"^6.0.3\",concurrently:\"^9.1.2\",\"crypto-browserify\":\"^3.12.0\",eslint:\"^7.30.0\",\"eslint-config-prettier\":\"^8.3.0\",\"eslint-plugin-import\":\"^2.23.4\",\"eslint-plugin-jest\":\"^24.4.0\",\"eslint-plugin-jsdoc\":\"^36.1.0\",\"eslint-plugin-node\":\"^11.1.0\",\"eslint-plugin-prettier\":\"^3.4.0\",\"https-browserify\":\"^1.0.0\",jest:\"^29.3.1\",\"jest-environment-jsdom\":\"^29.3.1\",prettier:\"^2.3.0\",process:\"^0.11.10\",rimraf:\"^4.4.0\",rollup:\"^4.26.0\",\"rollup-plugin-analyzer\":\"^4.0.0\",\"rollup-plugin-jscc\":\"^2.0.0\",\"rollup-plugin-natives\":\"^0.7.5\",\"rollup-plugin-node-builtins\":\"^2.1.2\",\"rollup-plugin-polyfill-node\":\"^0.13.0\",\"rollup-plugin-sizes\":\"^1.0.6\",\"rollup-plugin-typescript2\":\"^0.31.2\",\"rollup-plugin-visualizer\":\"^5.12.0\",\"size-limit\":\"^11.0.2\",\"stream-browserify\":\"^3.0.0\",\"stream-http\":\"^3.2.0\",\"ts-jest\":\"^29.0.3\",\"ts-node\":\"^10.9.1\",typescript:\"^4.3.2\",url:\"^0.11.0\",webpack:\"^5.0.0\"},publishConfig:{access:\"public\",registry:\"https://registry.npmjs.org/\"},lavamoat:{allowScripts:{\"eciesjs>secp256k1\":!1,\"socket.io-client>engine.io-client>ws>bufferutil\":!1,\"socket.io-client>engine.io-client>ws>utf-8-validate\":!1,\"@metamask/sdk-communication-layer>bufferutil\":!1,\"@metamask/sdk-communication-layer>eciesjs>secp256k1\":!1,\"@metamask/sdk-communication-layer>utf-8-validate\":!1}}};!function(e){e.INPAGE=\"metamask-inpage\",e.CONTENT_SCRIPT=\"metamask-contentscript\",e.PROVIDER=\"metamask-provider\"}(Gu||(Gu={}));const Yu=\"direct\",Ju=\"https://metamask.app.link/connect\",Xu=\"metamask://connect\",Qu={NAME:\"MetaMask\",RDNS:[\"io.metamask\",\"io.metamask.flask\"]},eh=/(?:^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[a-f0-9]{4}-[a-f0-9]{12}$)|(?:^0{8}-0{4}-0{4}-0{4}-0{12}$)/u,th={METAMASK_GETPROVIDERSTATE:\"metamask_getProviderState\",METAMASK_CONNECTSIGN:\"metamask_connectSign\",METAMASK_CONNECTWITH:\"metamask_connectWith\",METAMASK_OPEN:\"metamask_open\",METAMASK_BATCH:\"metamask_batch\",PERSONAL_SIGN:\"personal_sign\",WALLET_REQUESTPERMISSIONS:\"wallet_requestPermissions\",WALLET_REVOKEPERMISSIONS:\"wallet_revokePermissions\",WALLET_GETPERMISSIONS:\"wallet_getPermissions\",WALLET_WATCHASSET:\"wallet_watchAsset\",WALLET_ADDETHEREUMCHAIN:\"wallet_addEthereumChain\",WALLET_SWITCHETHETHEREUMCHAIN:\"wallet_switchEthereumChain\",ETH_REQUESTACCOUNTS:\"eth_requestAccounts\",ETH_ACCOUNTS:\"eth_accounts\",ETH_CHAINID:\"eth_chainId\",ETH_SENDTRANSACTION:\"eth_sendTransaction\",ETH_SIGNTYPEDDATA:\"eth_signTypedData\",ETH_SIGNTYPEDDATA_V3:\"eth_signTypedData_v3\",ETH_SIGNTYPEDDATA_V4:\"eth_signTypedData_v4\",ETH_SIGNTRANSACTION:\"eth_signTransaction\",ETH_SIGN:\"eth_sign\",PERSONAL_EC_RECOVER:\"personal_ecRecover\"},nh={[th.ETH_REQUESTACCOUNTS]:!0,[th.ETH_SENDTRANSACTION]:!0,[th.ETH_SIGNTRANSACTION]:!0,[th.ETH_SIGN]:!0,[th.PERSONAL_SIGN]:!0,[th.ETH_ACCOUNTS]:!1,[th.ETH_CHAINID]:!1,[th.PERSONAL_SIGN]:!0,[th.ETH_SIGNTYPEDDATA]:!0,[th.ETH_SIGNTYPEDDATA_V3]:!0,[th.ETH_SIGNTYPEDDATA_V4]:!0,[th.WALLET_REQUESTPERMISSIONS]:!0,[th.WALLET_GETPERMISSIONS]:!0,[th.WALLET_WATCHASSET]:!0,[th.WALLET_ADDETHEREUMCHAIN]:!0,[th.WALLET_SWITCHETHETHEREUMCHAIN]:!0,[th.METAMASK_CONNECTSIGN]:!0,[th.METAMASK_CONNECTWITH]:!0,[th.PERSONAL_EC_RECOVER]:!0,[th.METAMASK_BATCH]:!0,[th.METAMASK_OPEN]:!0},rh=Object.keys(nh).map((e=>e.toLowerCase())),ih=[\"eth_signTypedData\",\"eth_signTypedData_v3\",\"eth_signTypedData_v4\",\"eth_sign\"].map((e=>e.toLowerCase())),oh=\".sdk-comm\",sh=\"providerType\",ah=\".MMSDK_cached_address\",ch=\".MMSDK_cached_chainId\",lh={CHAIN_CHANGED:\"chainChanged\",ACCOUNTS_CHANGED:\"accountsChanged\",DISCONNECT:\"disconnect\",CONNECT:\"connect\",CONNECTED:\"connected\"},dh=1e6;var uh;!function(e){e.TERMINATE=\"terminate\",e.EXTENSION=\"extension\",e.INITIALIZED=\"initialized\"}(uh||(uh={}));const hh=\"undefined\"!=typeof window&&window.localStorage;function fh({instance:e,msg:t}){return a(this,void 0,void 0,(function*(){if(e._initialized||(xu(\"[MetaMaskSDK: connectAndSign()] provider not ready -- wait for init()\"),yield e.init()),xu(`[MetaMaskSDK: connectAndSign()] activeProvider=${e.activeProvider}`),!e.activeProvider)throw new Error(\"SDK state invalid -- undefined provider\");const n=/^0x([0-9A-Fa-f]{2})*$/u.test(t)?t:function(e){let t;if(void 0!==S)t=S.from(e,\"utf8\").toString(\"hex\");else if(\"undefined\"!=typeof TextEncoder){const n=(new TextEncoder).encode(e);t=Array.from(n).map((e=>e.toString(16).padStart(2,\"0\"))).join(\"\")}else{if(\"object\"!=typeof c||!(\"Buffer\"in c))throw new Error(\"Unable to convert string to hex: No available method.\");t=c.Buffer.from(e,\"utf8\").toString(\"hex\")}return`0x${t}`}(t);return e.activeProvider.request({method:th.METAMASK_CONNECTWITH,params:[{method:th.PERSONAL_SIGN,params:[n]}]})}))}function ph(e){var t,n;return a(this,void 0,void 0,(function*(){xu(\"[MetaMaskSDK: connectWithExtensionProvider()] \",e),e.sdkProvider=e.activeProvider,e.activeProvider=window.extension,window.ethereum=window.extension;try{const e=yield null===(t=window.extension)||void 0===t?void 0:t.request({method:\"eth_requestAccounts\"});xu(`[MetaMaskSDK: connectWithExtensionProvider()] accounts=${e}`)}catch(e){return void console.warn(\"[MetaMaskSDK: connectWithExtensionProvider()] can't request accounts error\",e)}localStorage.setItem(sh,\"extension\"),e.extensionActive=!0,e.emit(Fu.ProviderUpdate,uh.EXTENSION),e.options.enableAnalytics&&(null===(n=e.analytics)||void 0===n||n.send({event:So.SDK_USE_EXTENSION}))}))}function gh(e){let t;if(void 0!==S)t=S.from(e,\"utf8\").toString(\"base64\");else if(\"function\"==typeof btoa)t=btoa(encodeURIComponent(e).replace(/%([0-9A-F]{2})/gu,((e,t)=>String.fromCharCode(parseInt(t,16)))));else{if(\"object\"!=typeof c||!(\"Buffer\"in c))throw new Error(\"Unable to base64 encode: No available method.\");t=c.Buffer.from(e,\"utf8\").toString(\"base64\")}return t}function mh(e,t,n,r){var i,o,s,c,l,d,u,h,f,p,g,m,y,v,b,w,E,C,_,k;return a(this,void 0,void 0,(function*(){const n=null===(i=e.state.remote)||void 0===i?void 0:i.isReady(),a=null===(o=e.state.remote)||void 0===o?void 0:o.isConnected(),x=null===(s=e.state.remote)||void 0===s?void 0:s.isPaused(),M=zu.getProvider(),A=null===(c=e.state.remote)||void 0===c?void 0:c.getChannelId(),I=null===(l=e.state.remote)||void 0===l?void 0:l.isAuthorized(),{deeplinkProtocol:R}=e.state,{method:P,data:L,triggeredInstaller:O}=(e=>{var t,n,r,i;let o;S.isBuffer(e)?(o=e.toJSON(),o._isBuffer=!0):o=e;const s=null===(t=null==o?void 0:o.data)||void 0===t?void 0:t.method;let a=!1;return\"object\"==typeof(null===(n=null==o?void 0:o.data)||void 0===n?void 0:n.params)&&!0===(null===(i=null===(r=null==o?void 0:o.data)||void 0===r?void 0:r.params)||void 0===i?void 0:i.__triggeredInstaller)&&(a=!0,o.data.params=o.data.params.wrappedParams),{method:s,data:o,triggeredInstaller:a}})(t);if(xu(`[RCPMS: write()] method='${P}' isRemoteReady=${n} channelId=${A} isSocketConnected=${a} isRemotePaused=${x} providerConnected=${M.isConnected()}`,t),!A)return P!==th.METAMASK_GETPROVIDERSTATE&&xu(`[RCPMS: write()] ${P} --\\x3e channelId is undefined`),r(new Error(\"disconnected\"));xu(`[RCPMS: write()] remote.isPaused()=${null===(d=e.state.remote)||void 0===d?void 0:d.isPaused()} authorized=${I} ready=${n} socketConnected=${a}`,t);const T=null===(u=e.state.platformManager)||void 0===u?void 0:u.isSecure(),N=null!==(f=null===(h=e.state.platformManager)||void 0===h?void 0:h.isMobileWeb())&&void 0!==f&&f,D=null!==(g=null===(p=e.state.remote)||void 0===p?void 0:p.hasDeeplinkProtocol())&&void 0!==g&&g&&N&&I;try{if(!O){const t=JSON.stringify(null==L?void 0:L.data);if(t.length>dh)return r(new Error(`Message size ${t.length} exceeds maximum allowed size of 1000000 bytes`));null===(m=e.state.remote)||void 0===m||m.sendMessage(null==L?void 0:L.data).then((()=>{xu(`[RCPMS: _write()] ${P} sent successfully`)})).catch((e=>{xu(\"[RCPMS: _write()] error sending message\",e)}))}if(!T)return xu(`[RCPMS: _write()] unsecure platform for method ${P} -- return callback`),r();if(O)return xu(\"[RCPMS: _write()] prevent deeplink -- installation completed separately.\"),r();const t=null!==(b=null===(v=null===(y=e.state.remote)||void 0===y?void 0:y.getKeyInfo())||void 0===v?void 0:v.ecies.public)&&void 0!==b?b:\"\";let n=encodeURI(`channelId=${A}&pubkey=${t}&comm=socket&t=d&v=2`);if(D){const t=JSON.stringify(null==L?void 0:L.data),i=null===(w=e.state.remote)||void 0===w?void 0:w.encrypt(t);if(!i)return xu(\"[RCPMS: _write()] error encrypting message\"),r(new Error(\"RemoteCommunicationPostMessageStream - disconnected\"));n+=`&scheme=${R}&rpc=${gh(i)}`}if(!(null===(E=e.state.platformManager)||void 0===E?void 0:E.isMetaMaskInstalled()))return xu(\"[RCPMS: _write()] prevent deeplink until installation is completed.\"),r();nh[P]?(xu(`[RCPMS: _write()] redirect link for '${P}' socketConnected=${a} connect?${n}`),null===(C=e.state.platformManager)||void 0===C||C.openDeeplink(`${Ju}?${n}`,`${Xu}?${n}`,\"_self\")):(null===(_=e.state.remote)||void 0===_?void 0:_.isPaused())?(xu(`[RCPMS: _write()] MM is PAUSED! deeplink with connect! targetMethod=${P}`),null===(k=e.state.platformManager)||void 0===k||k.openDeeplink(`${Ju}?redirect=true&${n}`,`${Xu}?redirect=true&${n}`,\"_self\")):xu(`[RCPMS: _write()] method ${P} doesn't need redirect.`)}catch(e){return xu(\"[RCPMS: _write()] error sending message\",e),r(new Error(\"RemoteCommunicationPostMessageStream - disconnected\"))}return r()}))}class yh extends nu.Duplex{constructor({name:e,remote:t,deeplinkProtocol:n,platformManager:r}){super({objectMode:!0}),this.state={_name:null,remote:null,deeplinkProtocol:!1,platformManager:null},this.state._name=e,this.state.remote=t,this.state.deeplinkProtocol=n,this.state.platformManager=r,this._onMessage=this._onMessage.bind(this),this.state.remote.on(bo.MESSAGE,this._onMessage)}_write(e,t,n){return a(this,void 0,void 0,(function*(){return mh(this,e,0,n)}))}_read(){}_onMessage(e){return function(e,t){try{if(xu(\"[RCPMS: onMessage()] message\",t),!t||\"object\"!=typeof t)return;if(\"object\"!=typeof(null==t?void 0:t.data))return;if(!(null==t?void 0:t.name))return void xu(\"[RCPMS: onMessage()] ignore message without name\",t);if((null==t?void 0:t.name)!==Gu.PROVIDER)return void xu(`[RCPMS: onMessage()] ignore message with wrong name message=${t}`);if(S.isBuffer(t)){const n=S.from(t);e.push(n)}else e.push(t)}catch(e){xu(`[RCPMS: onMessage()] ignore message error err=${e}`)}}(this,e)}start(){}}let vh=1;const bh=e=>new Promise((t=>{setTimeout((()=>{t(!0)}),e)})),wh=({checkInstallationOnAllCalls:t=!1,communicationLayerPreference:n,injectProvider:r,shouldShimWeb3:i,platformManager:o,installer:s,sdk:c,remoteConnection:l,debug:d})=>a(void 0,void 0,void 0,(function*(){var u,h;const f=(({name:e,remoteConnection:t})=>{if(!t||!(null==t?void 0:t.getConnector()))throw new Error(\"Missing remote connection parameter\");return new yh({name:e,remote:null==t?void 0:t.getConnector(),deeplinkProtocol:null==t?void 0:t.state.deeplinkProtocol,platformManager:null==t?void 0:t.getPlatformManager()})})({name:Gu.INPAGE,target:Gu.CONTENT_SCRIPT,platformManager:o,communicationLayerPreference:n,remoteConnection:l}),p=o.getPlatformType(),g=c.options.dappMetadata,m=`Sdk/Javascript SdkVersion/${Zu.version} Platform/${p} dApp/${null!==(u=g.url)&&void 0!==u?u:g.name} dAppTitle/${g.name}`;let y=null,v=null;const b=null===(h=c.options.storage)||void 0===h?void 0:h.storageManager;if(b){try{const e=yield b.getCachedAccounts();e.length>0&&(y=e[0])}catch(e){console.error(`[initializeMobileProvider] failed to get cached addresses: ${e}`)}try{const e=yield b.getCachedChainId();e&&(v=e)}catch(e){console.error(`[initializeMobileProvider] failed to parse cached chainId: ${e}`)}}xu(`[initializeMobileProvider] cachedAccountAddress: ${y}, cachedChainId: ${v}`);const w=!(!r||p===Bo.NonBrowser||p===Bo.ReactNative),E=zu.init({shouldSetOnWindow:w,connectionStream:f,shouldShimWeb3:i,sdkInstance:c});let C=!1;const S=e=>{C=e},_=()=>C,k=(n,r,i,d)=>a(void 0,void 0,void 0,(function*(){var u,h,f,p,g,w,E,k,x;const M=zu.getProvider();if(C){M.emit(\"display_uri\",(null==l?void 0:l.state.qrcodeLink)||\"\"),null==l||l.showActiveModal();let e=_();for(;e;){const t=_(),n=null==l?void 0:l.isAuthorized();e=t&&!n,xu(`[initializeMobileProvider: sendRequest()] waiting for initialization to complete - initializing: ${t} authorized: ${n}`),yield bh(1e3)}return xu(\"[initializeMobileProvider: sendRequest()] initial method completed -- prevent installation and call provider\"),i(...r)}const A=o.isMetaMaskInstalled(),I=null==l?void 0:l.isConnected();let R=null,P=null,L=null;if(R=null!==(u=M.getSelectedAddress())&&void 0!==u?u:y,L=M.getChainId()||v,R&&b&&R!==y&&b.persistAccounts([R]).catch((e=>{console.error(`[initializeMobileProvider] failed to persist account: ${e}`)})),L&&(v=L,b&&b.persistChainId(L).catch((e=>{console.error(`[initializeMobileProvider] failed to persist chainId: ${e}`)}))),xu(\"[initializeMobileProvider: sendRequest()]\",{selectedAddress:R,chainId:L}),d&&xu(`[initializeMobileProvider: sendRequest()] method=${n} ongoing=${C} selectedAddress=${R} isInstalled=${A} checkInstallationOnAllCalls=${t} socketConnected=${I}`),R&&n.toLowerCase()===th.ETH_ACCOUNTS.toLowerCase())return[R];if(L&&n.toLowerCase()===th.ETH_CHAINID.toLowerCase())return L;const O=[th.ETH_REQUESTACCOUNTS,th.WALLET_REQUESTPERMISSIONS,th.METAMASK_CONNECTSIGN,th.METAMASK_CONNECTWITH],T=!nh[n],N=null===(h=c.options.readonlyRPCMap)||void 0===h?void 0:h[L];if(N&&T)try{const t=null===(f=null==r?void 0:r[0])||void 0===f?void 0:f.params,i=yield(({rpcEndpoint:t,method:n,sdkInfo:r,params:i})=>a(void 0,void 0,void 0,(function*(){const o=JSON.stringify({jsonrpc:\"2.0\",method:n,params:i,id:(vh+=1,vh)}),s={Accept:\"application/json\",\"Content-Type\":\"application/json\"};let a;t.includes(\"infura\")&&(s[\"Metamask-Sdk-Info\"]=r);try{a=yield e(t,{method:\"POST\",headers:s,body:o})}catch(e){throw e instanceof Error?new Error(`Failed to fetch from RPC: ${e.message}`):new Error(`Failed to fetch from RPC: ${e}`)}if(!a.ok)throw new Error(`Server responded with a status of ${a.status}`);return(yield a.json()).result})))({rpcEndpoint:N,sdkInfo:m,method:n,params:t||[]});return d&&xu(`initializeProvider::ReadOnlyRPCResponse ${i}`),i}catch(e){console.warn(`[initializeMobileProvider: sendRequest()] method=${n} readOnlyRPCRequest failed:`,e)}if((!A||A&&!I)&&n!==th.METAMASK_GETPROVIDERSTATE){const e=(null===(p=null==r?void 0:r[0])||void 0===p?void 0:p.params)||[];if(-1!==O.indexOf(n)||t){S(!0);const t=n===th.METAMASK_CONNECTWITH,o=`${Date.now()}`;try{yield s.start({wait:!1,connectWith:t?{method:n,id:o,params:e}:void 0}),yield new Promise(((e,t)=>{(null==l?void 0:l.isAuthorized())&&(xu(\"[initializeMobileProvider: sendRequest()] already authorized\"),e(!0)),null==l||l.getConnector().once(bo.AUTHORIZED,(()=>{e(!0)})),c.once(bo.PROVIDER_UPDATE,(e=>{xu(`[initializeMobileProvider: sendRequest()] PROVIDER_UPDATE --- remote provider request interupted type=${e}`),e===uh.EXTENSION?t(bo.PROVIDER_UPDATE):t(new Error(\"Connection Terminated\"))}))}))}catch(t){if(uh.EXTENSION===t){if(xu(`[initializeMobileProvider: sendRequest()] extension provider detect: re-create ${n} on the active provider`),n.toLowerCase()===th.METAMASK_CONNECTSIGN.toLowerCase()){const t=yield null===(g=c.getProvider())||void 0===g?void 0:g.request({method:th.ETH_REQUESTACCOUNTS,params:[]});if(!t.length)throw new Error(\"SDK state invalid -- undefined accounts\");const n=yield null===(w=c.getProvider())||void 0===w?void 0:w.request({method:th.PERSONAL_SIGN,params:[e[0],t[0]]});return c.emit(Fu.ConnectWithResponse,n),n}if(n.toLowerCase()===th.METAMASK_CONNECTWITH.toLowerCase()){const[t]=e,n=yield(({method:e,sdk:t,params:n})=>a(void 0,void 0,void 0,(function*(){var r,i,o,s;if(!t.isExtensionActive())throw new Error(\"SDK state invalid -- extension is not active\");xu(\"[MetaMaskProvider: extensionConnectWithOverwrite()] Overwriting request method\",e,n);const a=yield null===(r=t.getProvider())||void 0===r?void 0:r.request({method:th.ETH_REQUESTACCOUNTS,params:[]});if(!a.length)throw new Error(\"SDK state invalid -- undefined accounts\");if((null==e?void 0:e.toLowerCase())===th.PERSONAL_SIGN.toLowerCase()){const r={method:e,params:[n[0],a[0]]};return yield null===(i=t.getProvider())||void 0===i?void 0:i.request(r)}if((null==e?void 0:e.toLowerCase())===th.ETH_SENDTRANSACTION.toLowerCase()){const r={method:e,params:[Object.assign(Object.assign({},n[0]),{from:a[0]})]};return yield null===(o=t.getProvider())||void 0===o?void 0:o.request(r)}return ih.includes(e.toLowerCase())?(console.warn(`MetaMaskSDK connectWith method=${e} -- not handled by the extension -- call separately`),a):yield null===(s=t.getProvider())||void 0===s?void 0:s.request({method:e,params:n})})))({method:t.method,sdk:c,params:t.params});return c.emit(Fu.ConnectWithResponse,n),n}return xu(`[initializeMobileProvider: sendRequest()] sending '${n}' on active provider`,e),yield null===(E=c.getProvider())||void 0===E?void 0:E.request({method:n,params:e})}if(t===bo.REJECTED)throw null==l||l.closeModal(),null===(k=c.getProvider())||void 0===k||k.handleDisconnect({terminate:!1}),Object.assign(new Error(\"User rejected connection\"),{code:4001});throw xu(`[initializeMobileProvider: sendRequest()] failed to start installer: ${t}`),t}finally{S(!1)}if(n===th.ETH_REQUESTACCOUNTS)return P=yield new Promise((e=>{const t=setInterval((()=>{const{accounts:n}=M.getState();n&&(clearInterval(t),e(n))}),100)})),xu(`[initializeMobileProvider: sendRequest()] selectedAddress: ${R} --- SKIP rpc call`),P;if(n===th.METAMASK_CONNECTWITH)try{let e=0;const t=5,n=({resolve:n,reject:r})=>{e+=1;const i=null==l?void 0:l.getConnector().getRPCMethodTracker(),s=null==i?void 0:i[o];return xu(`TRACKER: update method ${o}`,s),(null==s?void 0:s.result)?(xu(\"[initializeMobileProvider: sendRequest()] found result\",s.result),c.emit(Fu.ConnectWithResponse,s.result),void n(s.result)):(null==s?void 0:s.error)?(xu(\"[initializeMobileProvider: sendRequest()] found error\",s.error),void r(s.error)):e>=t?(xu(\"[initializeMobileProvider: sendRequest()] max message count reached without result\"),void r(new Error(\"Max message count reached without result\"))):void xu(\"[initializeMobileProvider: sendRequest()] not found yet, need to wait for next update\")};let r,i;const s=yield new Promise(((e,t)=>{const s=null==l?void 0:l.getConnector().getRPCMethodTracker();xu(`TRACKER: method ${o}`,s),(null==s?void 0:s[o].result)?(xu(\"[initializeMobileProvider: sendRequest()] found result\",null==s?void 0:s[o].result),e(null==s?void 0:s[o].result)):(null==s?void 0:s[o].error)&&(xu(\"[initializeMobileProvider: sendRequest()] found error\",null==s?void 0:s[o].error),t(null==s?void 0:s[o].error)),i=()=>n({resolve:e,reject:t}),r=null==l?void 0:l.getConnector().on(bo.RPC_UPDATE,i)}));return i&&(null==r||r.off(bo.RPC_UPDATE,i)),xu(\"TRACKER: result\",s),s}catch(e){throw xu(\"[initializeMobileProvider: sendRequest()] error:\",e),e}r[0]&&\"object\"==typeof r[0]&&(r[0].params={__triggeredInstaller:!0,wrappedParams:r[0].params});return i(...r)}if(o.isSecure()&&nh[n])return i(...r);if(c.isExtensionActive())return xu(`[initializeMobileProvider: sendRequest()] EXTENSION active - redirect request '${n}' to it`,r,e),yield null===(x=c.getProvider())||void 0===x?void 0:x.request({method:n,params:e});throw xu(`[initializeMobileProvider: sendRequest()] method=${n} --- skip --- not connected/installed`),new Error(\"MetaMask is not connected/installed, please call eth_requestAccounts to connect first.\")}try{const e=yield i(...r);if(xu(`[initializeMobileProvider: sendRequest()] method=${n} rpcResponse`,e),n===th.WALLET_REQUESTPERMISSIONS){const t=e.reduce(((e,t)=>{var n;if(\"eth_accounts\"===t.parentCapability){const r=null===(n=t.caveats.find((e=>\"restrictReturnedAccounts\"===e.type)))||void 0===n?void 0:n.value;r&&e.push(...r)}return e}),[]);xu(\"[initializeMobileProvider: sendRequest()] accountsToPersist:\",t),t.length>0&&(M.handleAccountsChanged(t,!1),null==b||b.persistAccounts(t))}return e}catch(e){throw console.error(\"[initializeMobileProvider: sendRequest()] error:\",e),e}})),{request:x}=E;E.request=(...e)=>a(void 0,void 0,void 0,(function*(){return k(null==e?void 0:e[0].method,e,x,d)}));const{send:M}=E;return E.send=(...e)=>a(void 0,void 0,void 0,(function*(){return k(null==e?void 0:e[0],e,M,d)})),xu(\"[initializeMobileProvider: sendRequest()] metamaskStream.start()\"),f.start(),E}));function Eh(e){var t,n,r,i;return a(this,void 0,void 0,(function*(){const{options:o}=e,s={communicationLayerPreference:null!==(t=o.communicationLayerPreference)&&void 0!==t?t:$o.SOCKET,platformManager:e.platformManager,sdk:e,checkInstallationOnAllCalls:o.checkInstallationOnAllCalls,injectProvider:null===(n=o.injectProvider)||void 0===n||n,shouldShimWeb3:null===(r=o.shouldShimWeb3)||void 0===r||r,extensionOnly:null===(i=o.extensionOnly)||void 0===i||i,installer:e.installer,remoteConnection:e.remoteConnection,debug:e.debug},a=yield wh(s);e.activeProvider=a,function(e){var t,n,r,i;null===(n=null===(t=e.remoteConnection)||void 0===t?void 0:t.getConnector())||void 0===n||n.on(Fu.ConnectionStatus,(t=>{e.emit(Fu.ConnectionStatus,t)})),null===(i=null===(r=e.remoteConnection)||void 0===r?void 0:r.getConnector())||void 0===i||i.on(Fu.ServiceStatus,(t=>{e.emit(Fu.ServiceStatus,t)}))}(e)}))}const Ch=\"sdk\";class Sh{constructor({serverUrl:e,enabled:t,originatorInfo:n}){this.serverURL=ho,this.serverURL=e,this.originatorInfo=n,this.enabled=null==t||t}send({event:e,params:t}){if(!this.enabled)return;const n=Object.assign(Object.assign({id:Ch,event:e,sdkVersion:Zu.version},this.originatorInfo),{params:t});xu(`[Analytics: send()] event: ${e}`,n),co(n,this.serverURL).catch((e=>{xu(`[Analytics: send()] error: ${e}`)}))}}const _h=()=>{if(\"undefined\"==typeof document)return;let e;const t=document.getElementsByTagName(\"link\");for(let n=0;n<t.length;n++)\"icon\"!==t[n].getAttribute(\"rel\")&&\"shortcut icon\"!==t[n].getAttribute(\"rel\")||(e=t[n].getAttribute(\"href\"));return e},kh=163400;function xh(e){var t,n,r;const{dappMetadata:i}=e,s=function({url:e,name:t}){var n;const r=e+t,i=gh(r);if(!localStorage)return\"\";let s=null!==(n=localStorage.getItem(i))&&void 0!==n?n:\"\";if(!s){s=o();try{localStorage.setItem(i,s)}catch(e){return\"\"}}return s}({url:null!==(t=null==i?void 0:i.url)&&void 0!==t?t:\"no_url\",name:null!==(n=null==i?void 0:i.name)&&void 0!==n?n:\"no_name\"}),a=null===(r=e.platformManager)||void 0===r?void 0:r.getPlatformType(),c=a===Bo.DesktopWeb,l=a===Bo.MetaMaskMobileWebview;let d=\"N/A\";return c?d=\"extension\":l&&(d=\"mobile\"),{id:s,from:d}}const Mh=({provider:e,sdkInstance:t})=>{if(\"state\"in e)throw new Error(\"INVALID EXTENSION PROVIDER\");return new Proxy(e,{get:(n,r)=>\"request\"===r?function(e){var r,i;return a(this,void 0,void 0,(function*(){xu(\"[wrapExtensionProvider()] Overwriting request method\",e);const{method:o,params:s}=e,c=rh.includes(o.toLowerCase()),{id:l,from:d}=xh(t);if(c&&(null===(r=t.analytics)||void 0===r||r.send({event:So.SDK_RPC_REQUEST,params:{method:o,from:d,id:l}})),o===th.METAMASK_BATCH&&Array.isArray(s))return(({target:e,args:t,trackEvent:n,sdkInstance:r})=>a(void 0,void 0,void 0,(function*(){var i,o;if(\"metamask_batch\"!==t.method)throw new Error(\"Invalid usage\");const s=[],a=null!==(i=null==t?void 0:t.params)&&void 0!==i?i:[];for(const t of a){const n=yield null==e?void 0:e.request({method:t.method,params:t.params});s.push(n)}const{id:c,from:l}=xh(r);return n&&(null===(o=r.analytics)||void 0===o||o.send({event:So.SDK_RPC_REQUEST_DONE,params:{method:t.method,from:l,id:c}})),s})))({target:n,args:e,trackEvent:c,sdkInstance:t});if(o.toLowerCase()===th.METAMASK_CONNECTSIGN.toLowerCase()&&Array.isArray(s))return(({target:e,params:t})=>a(void 0,void 0,void 0,(function*(){const n=yield e.request({method:th.ETH_REQUESTACCOUNTS,params:[]});if(!n.length)throw new Error(\"SDK state invalid -- undefined accounts\");return yield e.request({method:th.PERSONAL_SIGN,params:[t[0],n[0]]})})))({target:n,params:s});if(o.toLowerCase()===th.METAMASK_CONNECTWITH.toLowerCase()&&Array.isArray(s))return(({target:e,params:t})=>a(void 0,void 0,void 0,(function*(){const[n]=t,r=n.method,i=n.params,o=yield e.request({method:th.ETH_REQUESTACCOUNTS,params:[]});if(!o.length)throw new Error(\"SDK state invalid -- undefined accounts\");return(null==r?void 0:r.toLowerCase())===th.PERSONAL_SIGN.toLowerCase()?yield e.request({method:r,params:[i[0],o[0]]}):(null==r?void 0:r.toLowerCase())===th.ETH_SENDTRANSACTION.toLowerCase()?yield e.request({method:r,params:[Object.assign(Object.assign({},i[0]),{from:o[0]})]}):ih.includes(r.toLowerCase())?(console.warn(`MetaMaskSDK connectWith method=${r} -- not handled by the extension -- call separately`),o):yield e.request({method:r,params:i})})))({target:n,params:s});let u;try{return u=yield n.request(e),u}finally{c&&(null===(i=t.analytics)||void 0===i||i.send({event:So.SDK_RPC_REQUEST_DONE,params:{method:o,from:d,id:l}}))}}))}:\"getChainId\"===r?function(){return e.chainId}:\"getNetworkVersion\"===r?function(){return e.networkVersion}:\"getSelectedAddress\"===r?function(){return e.selectedAddress}:\"isConnected\"===r?function(){return e._state.isConnected}:n[r]})};var Ah;function Ih({mustBeMetaMask:e,sdkInstance:t}){return a(this,void 0,void 0,(function*(){if(\"undefined\"==typeof window)throw new Error(\"window not available\");try{const e=yield new Promise(((e,t)=>{const n=setTimeout((()=>{t(new Error(\"eip6963RequestProvider timed out\"))}),500);window.addEventListener(Ah.Announce,(t=>{const r=t,{detail:{info:i,provider:o}={}}=r,{name:s,rdns:a,uuid:c}=null!=i?i:{};eh.test(c)&&s.startsWith(Qu.NAME)&&Qu.RDNS.includes(a)&&(clearTimeout(n),e(o))})),window.dispatchEvent(new Event(Ah.Request))}));return Mh({provider:e,sdkInstance:t})}catch(n){if(!e&&window.ethereum)return Mh({provider:window.ethereum,sdkInstance:t});throw new Error(\"Provider not found\")}}))}!function(e){e.Announce=\"eip6963:announceProvider\",e.Request=\"eip6963:requestProvider\"}(Ah||(Ah={}));const Rh=e=>a(void 0,void 0,void 0,(function*(){const{options:t}=e,{infuraAPIKey:n}=t;if(!n)return;const r={\"0x1\":`https://mainnet.infura.io/v3/${n}`,\"0x5\":`https://goerli.infura.io/v3/${n}`,\"0xaa36a7\":`https://sepolia.infura.io/v3/${n}`,\"0xe708\":`https://linea-mainnet.infura.io/v3/${n}`,\"0xe704\":`https://linea-goerli.infura.io/v3/${n}`,\"0x89\":`https://polygon-mainnet.infura.io/v3/${n}`,\"0x13881\":`https://polygon-mumbai.infura.io/v3/${n}`,\"0x45\":`https://optimism-mainnet.infura.io/v3/${n}`,\"0x1a4\":`https://optimism-goerli.infura.io/v3/${n}`,\"0xa4b1\":`https://arbitrum-mainnet.infura.io/v3/${n}`,\"0x66eed\":`https://arbitrum-goerli.infura.io/v3/${n}`,\"0x2a15c308d\":`https://palm-mainnet.infura.io/v3/${n}`,\"0x2a15c3083\":`https://palm-testnet.infura.io/v3/${n}`,\"0xa86a\":`https://avalanche-mainnet.infura.io/v3/${n}`,\"0xa869\":`https://avalanche-fuji.infura.io/v3/${n}`,\"0x4e454152\":`https://aurora-mainnet.infura.io/v3/${n}`,\"0x4e454153\":`https://aurora-testnet.infura.io/v3/${n}`,\"0x534e5f4d41494e\":`https://starknet-mainnet.infura.io/v3/${n}`,\"0x534e5f474f45524c49\":`https://starknet-goerli.infura.io/v3/${n}`,\"0x534e5f474f45524c4932\":`https://starknet-goerli2.infura.io/v3/${n}`,\"0xa4ec\":`https://celo-mainnet.infura.io/v3/${n}`,\"0xaef3\":`https://celo-alfajores.infura.io/v3/${n}`};e.options.readonlyRPCMap?e.options.readonlyRPCMap=Object.assign(Object.assign({},e.options.readonlyRPCMap),r):e.options.readonlyRPCMap=r}));const Ph=e=>a(void 0,void 0,void 0,(function*(){const{options:t}=e,{readonlyRPCMap:n}=t;if(n)try{xu(\"[MetaMaskSDK: setupReadOnlyRPCProviders()] Setting up Readonly RPC Providers\",n),e.setReadOnlyRPCCalls(!0)}catch(e){throw new Error(\"Invalid Infura Settings\")}}));function Lh(e,t,n,r){return new(n||(n=Promise))((function(t,i){function o(e){try{a(r.next(e))}catch(e){i(e)}}function s(e){try{a(r.throw(e))}catch(e){i(e)}}function a(e){var r;e.done?t(e.value):(r=e.value,r instanceof n?r:new n((function(e){e(r)}))).then(o,s)}a((r=r.apply(e,[])).next())}))}function Oh(e,t){var n,r,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},\"function\"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError(\"Generator is already executing.\");for(;s;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,r=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(i=s.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]<i[3])){s.label=o[1];break}if(6===o[0]&&s.label<i[1]){s.label=i[1],i=o;break}if(i&&s.label<i[2]){s.label=i[2],s.ops.push(o);break}i[2]&&s.ops.pop(),s.trys.pop();continue}o=t.call(e,s)}catch(e){o=[6,e],r=0}finally{n=i=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}}var Th=\"INSTALLED\",Nh=\"NOT_INSTALLED\",Dh=\"REGISTERED\",$h=\"REGISTERING\",Bh=\"RELOADING\",Kh={CHROME:\"https://chrome.google.com/webstore/detail/metamask/nkbihfbeogaeaoehlefnkodbefgpgknn\",FIREFOX:\"https://addons.mozilla.org/firefox/addon/ether-metamask/\",DEFAULT:\"https://metamask.io\"},jh=\"REGISTRATION_IN_PROGRESS\",Uh=\"FORWARDER_ID\",Hh=function(){function e(t){var n=void 0===t?{}:t,r=n.forwarderOrigin,i=void 0===r?\"https://fwd.metamask.io\":r,o=n.forwarderMode,s=void 0===o?e.FORWARDER_MODE.INJECT:o;this.forwarderOrigin=i,this.forwarderMode=s,this.state=e.isMetaMaskInstalled()?Th:Nh;var a=e._detectBrowser();this.downloadUrl=a?Kh[a]:Kh.DEFAULT,this._onMessage=this._onMessage.bind(this),this._onMessageFromForwarder=this._onMessageFromForwarder.bind(this),this._openForwarder=this._openForwarder.bind(this),this._openDownloadPage=this._openDownloadPage.bind(this),this.startOnboarding=this.startOnboarding.bind(this),this.stopOnboarding=this.stopOnboarding.bind(this),window.addEventListener(\"message\",this._onMessage),s===e.FORWARDER_MODE.INJECT&&\"true\"===sessionStorage.getItem(jh)&&e._injectForwarder(this.forwarderOrigin)}return e.prototype._onMessage=function(e){if(e.origin===this.forwarderOrigin)return\"metamask:reload\"===e.data.type?this._onMessageFromForwarder(e):void console.debug(\"Unknown message from '\"+e.origin+\"' with data \"+JSON.stringify(e.data))},e.prototype._onMessageUnknownStateError=function(e){throw new Error(\"Unknown state: '\"+e+\"'\")},e.prototype._onMessageFromForwarder=function(t){return Lh(this,0,void 0,(function(){return Oh(this,(function(n){switch(n.label){case 0:switch(this.state){case Bh:return[3,1];case Nh:return[3,2];case Th:return[3,3];case $h:return[3,5];case Dh:return[3,6]}return[3,7];case 1:return console.debug(\"Ignoring message while reloading\"),[3,8];case 2:return console.debug(\"Reloading now to register with MetaMask\"),this.state=Bh,location.reload(),[3,8];case 3:return console.debug(\"Registering with MetaMask\"),this.state=$h,[4,e._register()];case 4:return n.sent(),this.state=Dh,t.source.postMessage({type:\"metamask:registrationCompleted\"},t.origin),this.stopOnboarding(),[3,8];case 5:return console.debug(\"Already registering - ignoring reload message\"),[3,8];case 6:return console.debug(\"Already registered - ignoring reload message\"),[3,8];case 7:this._onMessageUnknownStateError(this.state),n.label=8;case 8:return[2]}}))}))},e.prototype.startOnboarding=function(){sessionStorage.setItem(jh,\"true\"),this._openDownloadPage(),this._openForwarder()},e.prototype.stopOnboarding=function(){\"true\"===sessionStorage.getItem(jh)&&(this.forwarderMode===e.FORWARDER_MODE.INJECT&&(console.debug(\"Removing forwarder\"),e._removeForwarder()),sessionStorage.setItem(jh,\"false\"))},e.prototype._openForwarder=function(){this.forwarderMode===e.FORWARDER_MODE.OPEN_TAB?window.open(this.forwarderOrigin,\"_blank\"):e._injectForwarder(this.forwarderOrigin)},e.prototype._openDownloadPage=function(){window.open(this.downloadUrl,\"_blank\")},e.isMetaMaskInstalled=function(){return Boolean(window.ethereum&&window.ethereum.isMetaMask)},e._register=function(){return window.ethereum.request({method:\"wallet_registerOnboarding\"})},e._injectForwarder=function(e){var t=document.body,n=document.createElement(\"iframe\");n.setAttribute(\"height\",\"0\"),n.setAttribute(\"width\",\"0\"),n.setAttribute(\"style\",\"display: none;\"),n.setAttribute(\"src\",e),n.setAttribute(\"id\",Uh),t.insertBefore(n,t.children[0])},e._removeForwarder=function(){var e;null===(e=document.getElementById(Uh))||void 0===e||e.remove()},e._detectBrowser=function(){var e=Hu.parse(window.navigator.userAgent);return\"Firefox\"===e.browser.name?\"FIREFOX\":[\"Chrome\",\"Chromium\"].includes(e.browser.name||\"\")?\"CHROME\":null},e.FORWARDER_MODE={INJECT:\"INJECT\",OPEN_TAB:\"OPEN_TAB\"},e}();function Fh(e,{wait:t=!1}){return a(this,void 0,void 0,(function*(){return xu(`[MetamaskInstaller: startInstaller()] wait=${t}`),t&&(yield bh(1e3)),yield e.checkInstallation()}))}class zh{constructor({remote:e,preferDesktop:t,platformManager:n,debug:r=!1}){this.state={isInstalling:!1,hasInstalled:!1,resendRequest:null,preferDesktop:!1,platformManager:null,remote:null,debug:!1,connectWith:void 0},this.state.remote=e,this.state.preferDesktop=t,this.state.platformManager=n,this.state.debug=r}startDesktopOnboarding(){return function(){return a(this,void 0,void 0,(function*(){xu(\"[MetamaskInstaller: startDesktopOnboarding() starting desktop onboarding\"),window.ethereum&&(window.ethereum=void 0),(new Hh).startOnboarding()}))}()}redirectToProperInstall(){return a(this,void 0,void 0,(function*(){return function(e){var t,n;return a(this,void 0,void 0,(function*(){const{state:r}=e,i=null===(t=r.platformManager)||void 0===t?void 0:t.getPlatformType();if(xu(`[MetamaskInstaller: redirectToProperInstall()] platform=${i}`),i===Bo.MetaMaskMobileWebview)return!1;r.isInstalling=!0;try{yield null===(n=r.remote)||void 0===n?void 0:n.startConnection({connectWith:r.connectWith}),r.isInstalling=!1,r.hasInstalled=!0}catch(e){throw r.isInstalling=!1,e}return!0}))}(this)}))}checkInstallation(){return a(this,void 0,void 0,(function*(){return function(e){var t;return a(this,void 0,void 0,(function*(){const{state:n}=e,r=null===(t=n.platformManager)||void 0===t?void 0:t.isMetaMaskInstalled();return xu(`[MetamaskInstaller: checkInstallation()] isInstalled=${r}`),!!r||(yield e.redirectToProperInstall())}))}(this)}))}start({wait:e=!1,connectWith:t}){return a(this,void 0,void 0,(function*(){this.state.connectWith=t,xu(`[MetaMaskInstaller: start()] wait=${e}`,t),yield Fh(this,{wait:e})}))}}class qh{constructor({debug:e,sdkVersion:t}){this.containers={install:void 0,pending:void 0,select:void 0},this.defined={install:!1,pending:!1,select:!1},this.debug=null!=e&&e,this.sdkVersion=t}loadComponent(e){return a(this,void 0,void 0,(function*(){if(!this.defined[e]){this.defined[e]=!0;try{const e=yield Promise.resolve().then((function(){return Rp}));console.log(\"loader\",e),e.defineCustomElements()}catch(t){console.error(`Failed to load ${e} modal:`,t)}}}))}renderInstallModal(e){var t;return a(this,void 0,void 0,(function*(){this.debug&&console.debug(\"ModalLoader: renderInstallModal\",e),this.containers.install=e.parentElement,yield this.loadComponent(\"install\");const n=document.createElement(\"mm-install-modal\");n.link=e.link,n.preferDesktop=e.preferDesktop,n.sdkVersion=null!==(t=e.sdkVersion)&&void 0!==t?t:this.sdkVersion,n.addEventListener(\"close\",(({detail:{shouldTerminate:t}})=>e.onClose(t))),n.addEventListener(\"startDesktopOnboarding\",e.metaMaskInstaller.startDesktopOnboarding),n.addEventListener(\"trackAnalytics\",(t=>{var n;return null===(n=e.onAnalyticsEvent)||void 0===n?void 0:n.call(e,t.detail)})),e.parentElement.appendChild(n)}))}renderSelectModal(e){var t;return a(this,void 0,void 0,(function*(){this.containers.select=e.parentElement,yield this.loadComponent(\"select\");const n=document.createElement(\"mm-select-modal\");n.link=e.link,n.sdkVersion=null!==(t=e.sdkVersion)&&void 0!==t?t:this.sdkVersion,n.preferDesktop=e.preferDesktop,n.addEventListener(\"close\",(({detail:{shouldTerminate:t}})=>e.onClose(t))),n.addEventListener(\"connectWithExtension\",e.connectWithExtension),e.parentElement.appendChild(n),setTimeout((()=>this.updateQRCode(e.link)),100)}))}renderPendingModal(e){var t;return a(this,void 0,void 0,(function*(){this.containers.pending=e.parentElement,yield this.loadComponent(\"pending\");const n=document.createElement(\"mm-pending-modal\");n.sdkVersion=null!==(t=e.sdkVersion)&&void 0!==t?t:this.sdkVersion,n.displayOTP=e.displayOTP,n.addEventListener(\"close\",e.onClose),n.addEventListener(\"updateOTPValue\",(({detail:{otpValue:t}})=>e.updateOTPValue(t))),e.onDisconnect&&n.addEventListener(\"disconnect\",e.onDisconnect),e.parentElement.appendChild(n)}))}updateOTPValue(e){const t=()=>{var t;const n=null===(t=this.containers.pending)||void 0===t?void 0:t.querySelector(\"mm-pending-modal\");return!!n&&(n.otpCode=e,!0)};setTimeout((()=>{t()}),800)}updateQRCode(e){var t,n;const r=null===(t=this.containers.install)||void 0===t?void 0:t.querySelector(\"mm-install-modal\");if(r)r.link=e;else{const t=null===(n=this.containers.select)||void 0===n?void 0:n.querySelector(\"mm-select-modal\");t&&(t.link=e)}}unmount(){Object.entries(this.containers).forEach((([e,t])=>{var n;null===(n=null==t?void 0:t.parentNode)||void 0===n||n.removeChild(t),this.containers[e]=void 0}))}}const Vh=({link:e,debug:t,installer:n,terminate:r,connectWithExtension:i,preferDesktop:o,onAnalyticsEvent:s})=>{let a=null,c=null;xu(\"[UI: InstallModal-web: sdkWebInstallModal()] ################## Installing Modal #################\"),xu(`[UI: InstallModal-web: sdkWebInstallModal()] link=${e}`),xu(`[UI: InstallModal-web: sdkWebInstallModal()] npx uri-scheme open \"${e}\" --ios`),xu(`[UI: InstallModal-web: sdkWebInstallModal()] npx uri-scheme open \"${e}\" --android`),xu(`[UI: InstallModal-web: sdkWebInstallModal()] adb shell am start -a android.intent.action.VIEW -d \"${e}\"`);const l=e=>{var t;xu(\"[UI: InstallModal-web: sdkWebInstallModal()] installModal-web unmounting install modal -- shouldTerminate:\",e,c),(null==c?void 0:c.parentNode)&&(null===(t=c.parentNode)||void 0===t||t.removeChild(c)),c=null,a=null,!0===e&&(null==r||r())};return{mount:r=>{if(xu(\"[UI: InstallModal-web: sdkWebInstallModal()] installModal-web mounting install modal\",c),c)return c.style.display=\"block\",void(null==a||a.updateQRCode(r));a=new qh({debug:t,sdkVersion:Zu.version}),c=document.createElement(\"div\"),document.body.appendChild(c),window.extension?a.renderSelectModal({parentElement:c,connectWithExtension:()=>{l(),null==i||i()},onClose:l,link:e,preferDesktop:null!=o&&o}).catch((e=>{console.error(e)})):a.renderInstallModal({parentElement:c,preferDesktop:null!=o&&o,link:e,metaMaskInstaller:n,onClose:l,onAnalyticsEvent:s}).catch((e=>{console.error(\"[UI: InstallModal-web: sdkWebInstallModal()]\",e)}))},unmount:l}},Wh=({onDisconnect:e,debug:t})=>{let n=null,r=null;const i=()=>{xu(\"[UI: pendingModal-web: sdkWebPendingModal()] pendingModal-web unmount\",n),(null==n?void 0:n.parentNode)&&n.parentNode.removeChild(n),n=null,r=null},o=e=>{xu(\"[UI: pendingModal-web: sdkWebPendingModal()] pendingModal-web updateOTPValue\",e),r&&r.updateOTPValue(e)},s=({displayOTP:s}={displayOTP:!0})=>{xu(\"[UI: pendingModal-web: sdkWebPendingModal()] pendingModal-web mount\",n),n?n.style.display=\"block\":(r=new qh({debug:t,sdkVersion:Zu.version}),n=document.createElement(\"div\"),document.body.appendChild(n),r.renderPendingModal({parentElement:n,onClose:i,onDisconnect:e,updateOTPValue:o,displayOTP:s}).catch((e=>{console.error(\"[UI: pendingModal-web: sdkWebPendingModal()]\",e)})))};return s(),{mount:s,unmount:i,updateOTPValue:o}};function Gh(e,t){var n,r,i,o;e.connector||(xu(\"[RemoteConnection: initializeConnector()] initialize connector\"),e.connector=new Xo({platformType:t.platformManager.getPlatformType(),communicationLayerPreference:t.communicationLayerPreference,transports:t.transports,dappMetadata:Object.assign(Object.assign({},t.dappMetadata),{source:t._source}),analytics:t.enableAnalytics,communicationServerUrl:t.communicationServerUrl,sdkVersion:Zu.version,context:\"dapp\",ecies:t.ecies,storage:t.storage,logging:t.logging}),t.timer&&(xu(\"[RemoteConnection: initializeConnector()] reset background timer\",t.timer),null===(r=null===(n=t.timer)||void 0===n?void 0:n.stopBackgroundTimer)||void 0===r||r.call(n),null===(o=null===(i=t.timer)||void 0===i?void 0:i.runBackgroundTimer)||void 0===o||o.call(i,(()=>!1),1e4)))}function Zh(e){e.listeners.forEach((({event:t,handler:n})=>{var r;null===(r=e.connector)||void 0===r||r.off(t,n)})),e.listeners=[]}function Yh(e,t,n){return a(this,void 0,void 0,(function*(){return new Promise(((r,i)=>{if(!e.connector)return void i(new Error(\"No connector available\"));xu(\"[RemoteConnection: connectWithModalInstaller()]\",{state:e,options:t,linkParams:n});const o=`${e.useDeeplink?Xu:Ju}?${n}`;!function(e,t,n){var r,i,o,s;e.installModal=null===(i=(r=t.modals).install)||void 0===i?void 0:i.call(r,{link:n,preferDesktop:e.preferDesktop,installer:t.getMetaMaskInstaller(),terminate:()=>{xu(\"[RemoteConnection: showInstallModal() => terminate()] terminate connection\"),t.sdk.terminate().catch((e=>{console.warn(\"[MMSDK] failed to terminate connection\",e)}))},debug:e.developerMode,connectWithExtension:()=>{var e;return null===(e=t.connectWithExtensionProvider)||void 0===e||e.call(t),!1},onAnalyticsEvent:({event:n,params:r})=>{var i,o,s;const a=Object.assign(Object.assign({},r),{sdkVersion:t.sdk.getVersion(),dappId:null===(i=t.dappMetadata)||void 0===i?void 0:i.name,source:t._source,url:null===(o=t.dappMetadata)||void 0===o?void 0:o.url});null===(s=e.analytics)||void 0===s||s.send({event:n,params:a})}}),null===(s=null===(o=e.installModal)||void 0===o?void 0:o.mount)||void 0===s||s.call(o,n)}(e,t,o),t.sdk.once(bo.PROVIDER_UPDATE,(e=>a(this,void 0,void 0,(function*(){if(xu(\"[RemoteConnection: connectWithModalInstaller()] once provider_update -- resolving startConnection promise\"),e!==uh.TERMINATE)i(e);else{i({code:4001,message:\"User rejected the request.\"})}})))),e.connector.once(bo.AUTHORIZED,(()=>{r()})),e.connector.once(bo.REJECTED,(()=>{i(bo.REJECTED)})),e.connector.once(bo.CLIENTS_READY,(()=>a(this,void 0,void 0,(function*(){xu(\"[RemoteConnection: connectWithModalInstaller()] once clients_ready -- resolving startConnection promise\"),r()}))))}))}))}function Jh(e,t){function n(t,n){var r;null===(r=e.connector)||void 0===r||r.on(t,n),e.listeners.push({event:t,handler:n})}e.connector&&(Zh(e),n(bo.WALLET_INIT,(({accounts:e,chainId:t})=>a(this,void 0,void 0,(function*(){xu(`[RemoteConnection: setupListeners() => EventType.WALLET_INIT] 'wallet_init' accounts=${e} chainId=${t}`);const n=zu.getProvider();n._setConnected();const r={accounts:e,chainId:t,isUnlocked:!1};n._initializeState(r),n.emit(\"chainChanged\",t),n.emit(\"accountsChanged\",e)})))),n(bo.AUTHORIZED,(()=>a(this,void 0,void 0,(function*(){var t,n,r,i;try{xu(\"[RemoteConnection: setupListeners() => EventType.AUTHORIZED] 'authorized' closing modals\",e.pendingModal,e.installModal);const o=zu.getProvider();o._setConnected(),null===(n=null===(t=e.pendingModal)||void 0===t?void 0:t.unmount)||void 0===n||n.call(t),null===(i=null===(r=e.installModal)||void 0===r?void 0:r.unmount)||void 0===i||i.call(r,!1),e.otpAnswer=void 0,e.authorized=!0,xu(\"[RemoteConnection: setupListeners() => EventType.AUTHORIZED] 'authorized' provider.state\",o.getState()),yield o.forceInitializeState()}catch(e){}})))),n(bo.TERMINATE,(()=>{var t,n,r,i,o;null===(n=null===(t=e.pendingModal)||void 0===t?void 0:t.unmount)||void 0===n||n.call(t),null===(i=null===(r=e.installModal)||void 0===r?void 0:r.unmount)||void 0===i||i.call(r,!0),e.pendingModal=void 0,e.installModal=void 0,e.otpAnswer=void 0,null===(o=e.connector)||void 0===o||o.disconnect({terminate:!0}),e.authorized=!1;zu.getProvider().handleDisconnect({terminate:!0}),Zh(e),xu(\"[RemoteConnection: setupListeners()] All listeners cleaned up\")})))}function Xh(e,t,{initialCheck:n,connectWith:r}={}){var i,o,s,c,l,d,u,h,f,p,g,m,y,v,b,w,E,C,S;return a(this,void 0,void 0,(function*(){try{if(Gh(e,t),!e.connector)throw new Error(\"no connector defined\");Jh(e);const _=zu.getProvider();e.authorized=!1,_.emit(\"connecting\");const k=yield null===(i=e.connector)||void 0===i?void 0:i.originatorSessionConnect();xu(`[RemoteConnection: startConnection()] after originatorSessionConnect initialCheck=${n}`,k);let x=null!==(o=null==k?void 0:k.channelId)&&void 0!==o?o:\"\",M=null!==(c=null===(s=e.connector.getKeyInfo())||void 0===s?void 0:s.ecies.public)&&void 0!==c?c:\"\",A=null!==(d=null===(l=e.connector.getKeyInfo())||void 0===l?void 0:l.ecies.private)&&void 0!==d?d:\"\";if(n&&!k)return Promise.resolve();if(!k&&!n){const t=yield e.connector.generateChannelIdConnect();x=null!==(u=t.channelId)&&void 0!==u?u:\"\",M=null!==(h=t.pubKey)&&void 0!==h?h:\"\",A=null!==(f=t.privKey)&&void 0!==f?f:\"\";const n=Date.now();null===(p=e.connector.state.storageManager)||void 0===p||p.persistChannelConfig({channelId:x,localKey:A,lastActive:n,validUntil:n+po})}if(n&&(null==k?void 0:k.channelId))return(null===(g=e.connector)||void 0===g?void 0:g.isConnected())||(xu(`[RemoteConnection: startConnection()] reconnecting to channel initialCheck=${n}`,k),yield null===(m=e.connector)||void 0===m?void 0:m.connectToChannel({channelId:x})),Promise.resolve();k&&!(null===(y=e.connector)||void 0===y?void 0:y.isConnected())&&(xu(\"[RemoteConnection: startConnection()] reconnecting to channel\",k),yield null===(v=e.connector)||void 0===v?void 0:v.connectToChannel({channelId:x}));const I=(null===(b=e.platformManager)||void 0===b?void 0:b.isSecure())?\"\":\"&t=q\",R=Zu.version,{iconUrl:P,name:L,url:O,scheme:T}=t.dappMetadata||{},N=null===(w=e.platformManager)||void 0===w?void 0:w.getPlatformType();let D=\"N/A\";\"undefined\"!=typeof window&&window.location&&window.location.hostname?D=window.location.hostname:void 0!==L?D=L:void 0!==O&&(D=O);const $={url:null!=O?O:\"\",title:null!=L?L:\"\",icon:P,scheme:null!=T?T:\"\",apiVersion:R,dappId:D||O||\"N/A\",platform:null!=N?N:\"\",source:null!==(E=t._source)&&void 0!==E?E:\"\"},B=gh(JSON.stringify($));let K=`channelId=${x}&v=2&comm=${null!==(C=e.communicationLayerPreference)&&void 0!==C?C:\"\"}&pubkey=${M}${I}&originatorInfo=${B}`;if(r){K+=`&rpc=${gh(JSON.stringify(r))}`;const t=e.connector.getRPCMethodTracker();t&&(t[`${r.id}`]=Object.assign(Object.assign({},r),{id:`${r.id}`,timestamp:Date.now()}))}const j=encodeURI(K),U=`${e.useDeeplink?Xu:Ju}?${K}`;return e.qrcodeLink=U,e.developerMode&&xu(`[RemoteConnection: startConnection()] qrcodeLink=${j}`),_.emit(\"display_uri\",U),(null===(S=e.platformManager)||void 0===S?void 0:S.isSecure())?(yield function(e,t){var n,r;return a(this,void 0,void 0,(function*(){const i=`${Ju}?${t}`,o=`${Xu}?${t}`;null===(r=null===(n=e.platformManager)||void 0===n?void 0:n.openDeeplink)||void 0===r||r.call(n,i,o,\"_self\")}))}(e,j),new Promise(((t,n)=>{var r,i,o;(null===(r=e.connector)||void 0===r?void 0:r.isAuthorized())?t():(null===(i=e.connector)||void 0===i||i.once(bo.AUTHORIZED,(()=>{t()})),null===(o=e.connector)||void 0===o||o.once(bo.REJECTED,(()=>{n(bo.REJECTED)})))}))):Yh(e,t,j)}catch(e){throw console.error(\"[startConnection] error\",e),e}}))}class Qh{constructor(e){var t,n,r;this.state={connector:void 0,qrcodeLink:void 0,analytics:void 0,developerMode:!1,authorized:!1,reconnection:!1,preferDesktop:!1,deeplinkProtocol:!1,listeners:[],communicationLayerPreference:void 0,platformManager:void 0,pendingModal:void 0,installModal:void 0,otpAnswer:void 0},this.options=e;const i=!0===(null===(t=e.logging)||void 0===t?void 0:t.developerMode)||!0===(null===(n=e.logging)||void 0===n?void 0:n.sdk);this.state.developerMode=i,this.state.analytics=e.analytics,this.state.preferDesktop=null!==(r=e.preferDesktop)&&void 0!==r&&r,this.state.useDeeplink=e.sdk.options.useDeeplink,this.state.communicationLayerPreference=e.communicationLayerPreference,this.state.platformManager=e.platformManager,e.modals.install||(e.modals.install=Vh),e.modals.otp||(e.modals.otp=Wh)}startConnection(e){return a(this,void 0,void 0,(function*(){return Xh(this.state,this.options,e)}))}initRemoteCommunication({sdkInstance:e}){var t,n,r;return a(this,void 0,void 0,(function*(){const i=yield null===(n=null===(t=e.options.storage)||void 0===t?void 0:t.storageManager)||void 0===n?void 0:n.getPersistedChannelConfig();if(!this.options.ecies){const e={privateKey:null==i?void 0:i.localKey};this.options.ecies=e}Gh(this.state,this.options),yield null===(r=this.getConnector())||void 0===r?void 0:r.initFromDappStorage(),Jh(this.state,this.options)}))}showActiveModal(){return function(e){var t,n,r,i;e.authorized?xu(\"[RemoteConnection: showActiveModal()] already authorized\"):e.pendingModal?null===(n=(t=e.pendingModal).mount)||void 0===n||n.call(t):e.installModal&&(null===(i=(r=e.installModal).mount)||void 0===i||i.call(r,e.qrcodeLink||\"\"))}(this.state)}closeModal(){var e,t,n,r;null===(t=null===(e=this.state.pendingModal)||void 0===e?void 0:e.unmount)||void 0===t||t.call(e),null===(r=null===(n=this.state.installModal)||void 0===n?void 0:n.unmount)||void 0===r||r.call(n,!1)}getUniversalLink(){if(!this.state.qrcodeLink)throw new Error(\"connection not started. run startConnection() first.\");return this.state.qrcodeLink}getChannelConfig(){var e;return null===(e=this.state.connector)||void 0===e?void 0:e.getChannelConfig()}getKeyInfo(){var e;return null===(e=this.state.connector)||void 0===e?void 0:e.getKeyInfo()}getConnector(){if(!this.state.connector)throw new Error(\"invalid remote connector\");return this.state.connector}getPlatformManager(){if(!this.state.platformManager)throw new Error(\"PlatformManager not available\");return this.state.platformManager}isConnected(){var e;return(null===(e=this.state.connector)||void 0===e?void 0:e.isReady())||!1}isAuthorized(){var e;return(null===(e=this.state.connector)||void 0===e?void 0:e.isAuthorized())||!1}isPaused(){var e;return null===(e=this.state.connector)||void 0===e?void 0:e.isPaused()}disconnect(e){var t,n,r;xu(\"[RemoteConnection: disconnect()]\",e),(null==e?void 0:e.terminate)&&(zu.getProvider().handleDisconnect({terminate:!0}),null===(n=null===(t=this.state.pendingModal)||void 0===t?void 0:t.unmount)||void 0===n||n.call(t),this.state.otpAnswer=void 0),null===(r=this.state.connector)||void 0===r||r.disconnect(e),function(e){xu(\"[RemoteConnection: cleanupConnector()] cleaning up connector\"),e.connector&&(Zh(e),e.connector.disconnect({terminate:!0}).catch((e=>{xu(\"[RemoteConnection: cleanupConnector()] error disconnecting connector\",e)})))}(this.state)}}function ef(e){var n,r,i,o,s,c,l,d,u,h,f;return a(this,void 0,void 0,(function*(){const{options:p}=e;if(p.logging=null!==(n=p.logging)&&void 0!==n?n:{},p.communicationLayerPreference=null!==(r=p.communicationLayerPreference)&&void 0!==r?r:$o.SOCKET,void 0!==p.enableDebug&&(t.enable(\"MM_SDK\"),console.warn(\"enableDebug is removed. Please use enableAnalytics instead.\")),p.enableAnalytics=null===(i=p.enableAnalytics)||void 0===i||i,p.injectProvider=null===(o=p.injectProvider)||void 0===o||o,p.shouldShimWeb3=null===(s=p.shouldShimWeb3)||void 0===s||s,p.extensionOnly=null===(c=p.extensionOnly)||void 0===c||c,p.useDeeplink=null===(l=p.useDeeplink)||void 0===l||l,p.storage=null!==(d=p.storage)&&void 0!==d?d:{enabled:!0},p.headless){t(\"[MetaMaskSDK: performSDKInitialization()] headless mode enabled\");const e=()=>{},n={install:()=>({mount:e,unmount:e})},r={installer:e};p.modals=n,p.ui=r}const g=!0===(null===(u=p.logging)||void 0===u?void 0:u.developerMode);e.debug=(null===(h=p.logging)||void 0===h?void 0:h.sdk)||g,xu(\"[MetaMaskSDK: performSDKInitialization()] options\",e.options);const m=Object.assign({},p.logging);g&&(m.sdk=!0,m.eciesLayer=!0,m.keyExchangeLayer=!0,m.remoteLayer=!0,m.serviceLayer=!0,m.plaintext=!0),yield function(e){var t;return a(this,void 0,void 0,(function*(){const{options:n}=e;e.platformManager=new qu({useDeepLink:null!==(t=n.useDeeplink)&&void 0!==t&&t,preferredOpenLink:n.openDeeplink,debug:e.debug})}))}(e),yield function(e){var t,n,r,i,o,s,c,l,d;return a(this,void 0,void 0,(function*(){const{options:a}=e,u=null===(t=e.platformManager)||void 0===t?void 0:t.getPlatformType();e.analytics=new Sh({serverUrl:null!==(n=a.communicationServerUrl)&&void 0!==n?n:ho,enabled:a.enableAnalytics,originatorInfo:{url:null!==(r=a.dappMetadata.url)&&void 0!==r?r:\"\",title:null!==(i=a.dappMetadata.name)&&void 0!==i?i:\"\",dappId:\"undefined\"==typeof window||void 0===window.location?null!==(l=null!==(s=null===(o=a.dappMetadata)||void 0===o?void 0:o.name)&&void 0!==s?s:null===(c=a.dappMetadata)||void 0===c?void 0:c.url)&&void 0!==l?l:\"N/A\":window.location.hostname,platform:null!=u?u:\"\",source:null!==(d=a._source)&&void 0!==d?d:\"\"}})}))}(e),yield function(e){var t;return a(this,void 0,void 0,(function*(){const{options:n}=e;!0!==(null===(t=n.storage)||void 0===t?void 0:t.enabled)||n.storage.storageManager||(n.storage.storageManager=yield Vu(n.storage))}))}(e),yield function(e){return a(this,void 0,void 0,(function*(){const{options:t}=e,n=/^(http|https):\\/\\/[^\\s]*$/;if(t.dappMetadata){t.dappMetadata.iconUrl&&!n.test(t.dappMetadata.iconUrl)&&(console.warn(\"Invalid dappMetadata.iconUrl: URL must start with http:// or https://\"),t.dappMetadata.iconUrl=void 0),t.dappMetadata.base64Icon&&t.dappMetadata.base64Icon.length>kh&&(console.warn(\"Invalid dappMetadata.base64Icon: Base64-encoded icon string length must be less than 163400 characters\"),t.dappMetadata.base64Icon=void 0),t.dappMetadata.url&&!n.test(t.dappMetadata.url)&&console.warn(\"Invalid dappMetadata.url: URL must start with http:// or https://\");const e=_h();if(e&&!t.dappMetadata.iconUrl&&!t.dappMetadata.base64Icon){const n=`${window.location.protocol}//${window.location.host}${e}`;t.dappMetadata.iconUrl=n}}e.dappMetadata=t.dappMetadata}))}(e),yield Rh(e),yield Ph(e);const{metamaskBrowserExtension:y,preferExtension:v,shouldReturn:b}=yield function(e){var t,n,r,i;return a(this,void 0,void 0,(function*(){const{options:o}=e;let s,c=!1,l=!1;if(\"undefined\"!=typeof window&&window.ethereum&&!(null===(t=e.platformManager)||void 0===t?void 0:t.isMetaMaskMobileWebView())){c=\"extension\"===localStorage.getItem(sh);try{s=yield Ih({mustBeMetaMask:!0,sdkInstance:e}),window.extension=s,s.on(lh.CHAIN_CHANGED,(t=>{xu(`[MetaMaskSDK: setupExtensionPreferences()] PROPAGATE chainChanged chainId=${t}`),Boolean(e.sdkProvider)&&e.getMobileProvider().emit(lh.CHAIN_CHANGED,t)})),s.on(lh.ACCOUNTS_CHANGED,(t=>a(this,void 0,void 0,(function*(){var n;xu(`[MetaMaskSDK: setupExtensionPreferences()] PROPAGATE accountsChanged accounts=${t}`);const r=Boolean(e.sdkProvider),i=Boolean(e.extensionActive);if(r&&e.getMobileProvider().emit(lh.ACCOUNTS_CHANGED,t),i&&0===(null==t?void 0:t.length)&&0===(yield null===(n=e.getProvider())||void 0===n?void 0:n.request({method:th.WALLET_GETPERMISSIONS,params:[]})).length)try{yield e.terminate()}catch(e){xu(\"[MetaMaskSDK: setupExtensionPreferences()] error terminating on permissions revoked\",e)}})))),s.on(lh.DISCONNECT,(t=>{xu(`[MetaMaskSDK: setupExtensionPreferences()] PROPAGATE disconnect error=${t}`),Boolean(e.sdkProvider)&&e.getMobileProvider().emit(lh.DISCONNECT,t)})),s.on(lh.CONNECT,(t=>{xu(`[MetaMaskSDK: setupExtensionPreferences()] PROPAGATE connect args=${t}`),Boolean(e.sdkProvider)&&e.getMobileProvider().emit(lh.CONNECT,t)})),s.on(lh.CONNECTED,(t=>{xu(\"[MetaMaskSDK: setupExtensionPreferences()] PROPAGATE connected\",t),Boolean(e.sdkProvider)&&e.getMobileProvider().emit(lh.CONNECTED,t)}))}catch(e){window.extension=void 0}}else(null===(n=e.platformManager)||void 0===n?void 0:n.isMetaMaskMobileWebView())&&(null===(r=e.analytics)||void 0===r||r.send({event:So.SDK_USE_INAPP_BROWSER}),e.activeProvider=Mh({provider:window.ethereum,sdkInstance:e}),e._initialized=!0,l=!0);return s&&o.extensionOnly&&(xu(\"[MetaMaskSDK: setupExtensionPreferences()] EXTENSION ONLY --- prevent sdk initialization\"),null===(i=e.analytics)||void 0===i||i.send({event:So.SDK_USE_EXTENSION}),e.activeProvider=s,e.extensionActive=!0,e.extension=s,e._initialized=!0,l=!0),{preferExtension:c,shouldReturn:l,metamaskBrowserExtension:s}}))}(e);if(b)xu(\"[MetaMaskSDK: performSDKInitialization()] shouldReturn=true --- prevent sdk initialization\");else{yield function(e,t){var n,r,i,o,s;return a(this,void 0,void 0,(function*(){const{options:a}=e,c=Object.assign({},a.logging);e.remoteConnection=new Qh({preferDesktop:null!==(n=a.preferDesktop)&&void 0!==n&&n,communicationLayerPreference:null!==(r=a.communicationLayerPreference)&&void 0!==r?r:$o.SOCKET,analytics:e.analytics,dappMetadata:a.dappMetadata,_source:a._source,enableAnalytics:null===(i=a.enableAnalytics)||void 0===i||i,timer:a.timer,sdk:e,platformManager:e.platformManager,transports:a.transports,communicationServerUrl:a.communicationServerUrl,storage:null!==(o=a.storage)&&void 0!==o?o:{enabled:!0},getMetaMaskInstaller:()=>{if(!e.installer)throw new Error(\"Invalid SDK status -- installer not initialized\");return e.installer},logging:c,connectWithExtensionProvider:void 0===t?void 0:()=>ph(e),modals:Object.assign(Object.assign({},a.modals),{onPendingModalDisconnect:e.terminate.bind(e)})}),yield e.remoteConnection.initRemoteCommunication({sdkInstance:e}),e.installer=new zh({remote:e.remoteConnection,preferDesktop:null!==(s=a.preferDesktop)&&void 0!==s&&s,platformManager:e.platformManager,debug:e.debug})}))}(e,y),yield Eh(e),yield function(e,t){var n,r;return a(this,void 0,void 0,(function*(){const{options:i}=e;t?(xu(\"[MetaMaskSDK: handleAutoAndExtensionConnections()] preferExtension is detected -- connect with it.\"),null===(n=e.analytics)||void 0===n||n.send({event:So.SDK_EXTENSION_UTILIZED}),ph(e).catch((e=>{console.warn(\"Can't connect with MetaMask extension...\",e),localStorage.removeItem(sh)}))):i.checkInstallationImmediately&&((null===(r=e.platformManager)||void 0===r?void 0:r.isDesktopWeb())?(xu(\"[MetaMaskSDK: handleAutoAndExtensionConnections()] checkInstallationImmediately\"),e.connect().catch((e=>{xu(`[MetaMaskSDK: handleAutoAndExtensionConnections()] checkInstallationImmediately --- IGNORED --- error on autoconnect _err=${e}`)}))):console.warn(\"[handleAutoAndExtensionConnections()] checkInstallationImmediately --- IGNORED --- only for web desktop\")),e._initialized=!0}))}(e,v);try{yield null===(f=e.remoteConnection)||void 0===f?void 0:f.startConnection({initialCheck:!0})}catch(e){console.error(\"[MetaMaskSDK: setupRemoteConnectionAndInstaller()] Error while checking installation\",e)}e.emit(Fu.ProviderUpdate,uh.INITIALIZED)}}))}class tf extends n{constructor(e={storage:{enabled:!0},injectProvider:!0,forceInjectProvider:!1,enableAnalytics:!0,shouldShimWeb3:!0,useDeeplink:!0,extensionOnly:!0,headless:!1,dappMetadata:{name:\"\",url:\"\",iconUrl:\"\"},_source:Yu,i18nOptions:{enabled:!1}}){var n,r,i;super(),this.extensionActive=!1,this._initialized=!1,this.sdkInitPromise=void 0,this.debug=!1,this.readonlyRPCCalls=!1,this.availableLanguages=[\"en\"],t.disable();const o=!0===(null===(n=e.logging)||void 0===n?void 0:n.developerMode);if(((null===(r=e.logging)||void 0===r?void 0:r.sdk)||o)&&t.enable(\"MM_SDK\"),xu(\"[MetaMaskSDK: constructor()]: begin.\"),this.setMaxListeners(50),!(null===(i=e.dappMetadata)||void 0===i?void 0:i.url)){if(\"undefined\"==typeof window||\"undefined\"==typeof document)throw new Error(\"You must provide dAppMetadata url\");e.dappMetadata=Object.assign(Object.assign({},e.dappMetadata),{url:`${window.location.protocol}//${window.location.host}`})}this.options=e,this.options._source||(e._source=Yu),this.init().then((()=>{xu(\"[MetaMaskSDK: constructor()]: initialized successfully.\"),\"undefined\"!=typeof window&&(window.mmsdk=this)})).catch((e=>{console.error(\"[MetaMaskSDK: constructor()] error during initialization\",e)}))}init(){return a(this,void 0,void 0,(function*(){return function(e){var t;return a(this,void 0,void 0,(function*(){if(\"undefined\"!=typeof window&&(null===(t=window.mmsdk)||void 0===t?void 0:t.isInitialized()))return xu(\"[MetaMaskSDK: initializeMetaMaskSDK()] already initialized\"),Promise.resolve(window.mmsdk);if(e._initialized)return xu(\"[MetaMaskSDK: initializeMetaMaskSDK()] already initialized\"),e.sdkInitPromise;if(e.sdkInitPromise)return xu(\"[MetaMaskSDK: initializeMetaMaskSDK()] already initializing\"),e.sdkInitPromise;try{e.sdkInitPromise=ef(e),yield e.sdkInitPromise}catch(e){throw console.error(e),e}return e.sdkInitPromise}))}(this)}))}isExtensionActive(){return this.extensionActive}checkExtensionAvailability(){var e;return\"undefined\"!=typeof window&&Boolean(null===(e=window.ethereum)||void 0===e?void 0:e.isMetaMask)}connect(){return a(this,void 0,void 0,(function*(){return function(e){return a(this,void 0,void 0,(function*(){if(e._initialized||(xu(\"[MetaMaskSDK: connect()] provider not ready -- wait for init()\"),yield e.init()),xu(`[MetaMaskSDK: connect()] isExtensionActive=${e.isExtensionActive()} activeProvider`,e.activeProvider),!e.activeProvider)throw new Error(\"SDK state invalid -- undefined provider\");const t=e.activeProvider.getSelectedAddress();return t?[t]:e.activeProvider.request({method:th.ETH_REQUESTACCOUNTS,params:[]})}))}(this)}))}connectAndSign({msg:e}){return a(this,void 0,void 0,(function*(){return fh({instance:this,msg:e})}))}connectWith(e){return a(this,void 0,void 0,(function*(){return function({instance:e,rpc:t}){return a(this,void 0,void 0,(function*(){if(e._initialized||(xu(\"[MetaMaskSDK: connectWith()] provider not ready -- wait for init()\"),yield e.init()),xu(`[MetaMaskSDK: connectWith()] method: ${t.method} rpc=${t}`),!e.activeProvider)throw new Error(\"SDK state invalid -- undefined provider\");return e.activeProvider.request({method:th.METAMASK_CONNECTWITH,params:[t]})}))}({instance:this,rpc:e})}))}resume(){return function(e){var t,n,r;return a(this,void 0,void 0,(function*(){if(!(null===(n=null===(t=e.remoteConnection)||void 0===t?void 0:t.getConnector())||void 0===n?void 0:n.isReady()))return xu(\"[MetaMaskSDK: resume()] channel is not ready -- starting connection\"),void(null===(r=e.remoteConnection)||void 0===r||r.startConnection());xu(\"[MetaMaskSDK: resume()] channel is ready\")}))}(this)}disconnect(){return console.warn(\"MetaMaskSDK.disconnect() is deprecated, use terminate()\"),this.terminate()}isAuthorized(){var e;null===(e=this.remoteConnection)||void 0===e||e.isAuthorized()}terminate(){return function(e){var t,n,r;return a(this,void 0,void 0,(function*(){if(!(null===(t=e.platformManager)||void 0===t?void 0:t.isMetaMaskMobileWebView())){if(hh&&(window.localStorage.removeItem(sh),window.localStorage.removeItem(ch),window.localStorage.removeItem(ah)),e.extensionActive){try{yield null===(n=e.activeProvider)||void 0===n?void 0:n.request({method:th.WALLET_REVOKEPERMISSIONS,params:[{eth_accounts:{}}]})}catch(e){xu(\"[MetaMaskSDK: terminate()] error revoking permissions\",e)}return e.options.extensionOnly?(e.emit(Fu.ProviderUpdate,uh.TERMINATE),void xu(\"[MetaMaskSDK: terminate()] extensionOnly --- prevent switching providers\")):(e.activeProvider=e.sdkProvider,window.ethereum=e.activeProvider,e.extensionActive=!1,void e.emit(Fu.ProviderUpdate,uh.TERMINATE))}e.emit(Fu.ProviderUpdate,uh.TERMINATE),xu(`[MetaMaskSDK: terminate()] remoteConnection=${e.remoteConnection}`),null===(r=e.remoteConnection)||void 0===r||r.disconnect({terminate:!0,sendMessage:!0})}}))}(this)}isInitialized(){return this._initialized}setReadOnlyRPCCalls(e){this.readonlyRPCCalls=e}hasReadOnlyRPCCalls(){return this.readonlyRPCCalls}getProvider(){if(this.activeProvider)return this.activeProvider;console.warn(\"MetaMaskSDK: No active provider found\")}getMobileProvider(){if(!this.sdkProvider)throw new Error(\"SDK state invalid -- undefined mobile provider\");return this.sdkProvider}getUniversalLink(){var e;const t=null===(e=this.remoteConnection)||void 0===e?void 0:e.getUniversalLink();if(!t)throw new Error(\"No Universal Link available, please call eth_requestAccounts first.\");return t}getChannelId(){var e,t;return null===(t=null===(e=this.remoteConnection)||void 0===e?void 0:e.getChannelConfig())||void 0===t?void 0:t.channelId}getRPCHistory(){var e,t;return null===(t=null===(e=this.remoteConnection)||void 0===e?void 0:e.getConnector())||void 0===t?void 0:t.getRPCMethodTracker()}getVersion(){return Zu.version}getWalletStatus(){var e,t;return null===(t=null===(e=this.remoteConnection)||void 0===e?void 0:e.getConnector())||void 0===t?void 0:t.getConnectionStatus()}_getChannelConfig(){var e;return null===(e=this.remoteConnection)||void 0===e?void 0:e.getChannelConfig()}_ping(){var e,t;null===(t=null===(e=this.remoteConnection)||void 0===e?void 0:e.getConnector())||void 0===t||t.ping()}_keyCheck(){var e,t;null===(t=null===(e=this.remoteConnection)||void 0===e?void 0:e.getConnector())||void 0===t||t.keyCheck()}_getServiceStatus(){var e,t;return null===(t=null===(e=this.remoteConnection)||void 0===e?void 0:e.getConnector())||void 0===t?void 0:t.getServiceStatus()}_getRemoteConnection(){return this.remoteConnection}_getDappMetadata(){return this.dappMetadata}_getKeyInfo(){var e;return null===(e=this.remoteConnection)||void 0===e?void 0:e.getKeyInfo()}_resetKeys(){var e,t;null===(t=null===(e=this.remoteConnection)||void 0===e?void 0:e.getConnector())||void 0===t||t.resetKeys()}_getConnection(){return this.remoteConnection}emit(e,t){return super.emit(e,t)}on(e,t){return super.on(e,t)}}var nf=Object.freeze({__proto__:null,StorageManagerWeb:class{constructor({enabled:e}={enabled:!1}){this.enabled=!1,this.enabled=e}persistChannelConfig(e){return a(this,void 0,void 0,(function*(){const t=JSON.stringify(e);xu(`[StorageManagerWeb: persistChannelConfig()] enabled=${this.enabled}`,e),localStorage.setItem(oh,t)}))}getPersistedChannelConfig(){return a(this,void 0,void 0,(function*(){let e;try{if(xu(`[StorageManagerWeb: getPersistedChannelConfig()] enabled=${this.enabled}`),e=localStorage.getItem(oh),xu(\"[StorageManagerWeb: getPersistedChannelConfig()]\",e),!e)return;const t=JSON.parse(e);return xu(\"[StorageManagerWeb: getPersistedChannelConfig()] channelConfig\",t),t}catch(e){return void console.error(\"[StorageManagerWeb: getPersistedChannelConfig()] Can't find existing channel config\",e)}}))}persistAccounts(e){return a(this,void 0,void 0,(function*(){xu(`[StorageManagerWeb: persistAccounts()] enabled=${this.enabled}`,e);const t=JSON.stringify(e);localStorage.setItem(ah,t)}))}getCachedAccounts(){return a(this,void 0,void 0,(function*(){try{const e=localStorage.getItem(ah);return e?JSON.parse(e):[]}catch(e){throw console.error(\"[StorageManagerWeb: getCachedAccounts()] Error reading cached accounts\",e),e}}))}persistChainId(e){return a(this,void 0,void 0,(function*(){xu(`[StorageManagerWeb: persistChainId()] enabled=${this.enabled}`,e),localStorage.setItem(ch,e)}))}getCachedChainId(){return a(this,void 0,void 0,(function*(){try{const e=localStorage.getItem(ch);return null!=e?e:void 0}catch(e){throw console.error(\"[StorageManagerWeb: getCachedChainId()] Error reading cached chainId\",e),e}}))}terminate(){return a(this,void 0,void 0,(function*(){xu(`[StorageManagerWeb: terminate()] enabled=${this.enabled}`),localStorage.removeItem(oh)}))}}});const rf=\"hydrated\",of=!1,sf=!1,af=!0;var cf=Object.defineProperty,lf=new WeakMap,df=e=>lf.get(e),uf=(e,t)=>lf.set(t.$lazyInstance$=e,t),hf=(e,t)=>t in e,ff=(e,t)=>(0,console.error)(e,t),pf=new Map,gf=new Map,mf=\"slot-fb{display:contents}slot-fb[hidden]{display:none}\",yf=\"undefined\"!=typeof window?window:{},vf=yf.document||{head:{}},bf={$flags$:0,$resourcesUrl$:\"\",jmp:e=>e(),raf:e=>requestAnimationFrame(e),ael:(e,t,n,r)=>e.addEventListener(t,n,r),rel:(e,t,n,r)=>e.removeEventListener(t,n,r),ce:(e,t)=>new CustomEvent(e,t)},wf=(()=>{try{return new CSSStyleSheet,\"function\"==typeof(new CSSStyleSheet).replaceSync}catch(e){}return!1})(),Ef=!1,Cf=[],Sf=[],_f=(e,t)=>t=>{e.push(t),Ef||(Ef=!0,4&bf.$flags$?Mf(xf):bf.raf(xf))},kf=e=>{for(let t=0;t<e.length;t++)try{e[t](performance.now())}catch(e){ff(e)}e.length=0},xf=()=>{kf(Cf),kf(Sf),(Ef=Cf.length>0)&&bf.raf(xf)},Mf=e=>(e=>Promise.resolve(e))().then(e),Af=_f(Sf),If={},Rf=e=>\"object\"===(e=typeof e)||\"function\"===e;function Pf(e){var t,n,r;return null!=(r=null==(n=null==(t=e.head)?void 0:t.querySelector('meta[name=\"csp-nonce\"]'))?void 0:n.getAttribute(\"content\"))?r:void 0}((e,t)=>{for(var n in t)cf(e,n,{get:t[n],enumerable:!0})})({},{err:()=>Of,map:()=>Tf,ok:()=>Lf,unwrap:()=>$f,unwrapErr:()=>Bf});var Lf=e=>({isOk:!0,isErr:!1,value:e}),Of=e=>({isOk:!1,isErr:!0,value:e});function Tf(e,t){if(e.isOk){const n=t(e.value);return n instanceof Promise?n.then((e=>Lf(e))):Lf(n)}if(e.isErr){const t=e.value;return Of(t)}throw\"should never get here\"}var Nf,Df,$f=e=>{if(e.isOk)return e.value;throw e.value},Bf=e=>{if(e.isErr)return e.value;throw e.value},Kf=(e,t,...n)=>{let r=null,i=!1,o=!1;const s=[],a=t=>{for(let n=0;n<t.length;n++)r=t[n],Array.isArray(r)?a(r):null!=r&&\"boolean\"!=typeof r&&((i=\"function\"!=typeof e&&!Rf(r))&&(r=String(r)),i&&o?s[s.length-1].$text$+=r:s.push(i?jf(null,r):r),o=i)};if(a(n),t){const e=t.className||t.class;e&&(t.class=\"object\"!=typeof e?e:Object.keys(e).filter((t=>e[t])).join(\" \"))}if(\"function\"==typeof e)return e(null===t?{}:t,s,Hf);const c=jf(e,null);return c.$attrs$=t,s.length>0&&(c.$children$=s),c},jf=(e,t)=>{const n={$flags$:0,$tag$:e,$text$:t,$elm$:null,$children$:null,$attrs$:null};return n},Uf={},Hf={forEach:(e,t)=>e.map(Ff).forEach(t),map:(e,t)=>e.map(Ff).map(t).map(zf)},Ff=e=>({vattrs:e.$attrs$,vchildren:e.$children$,vkey:e.$key$,vname:e.$name$,vtag:e.$tag$,vtext:e.$text$}),zf=e=>{if(\"function\"==typeof e.vtag){const t={...e.vattrs};return e.vkey&&(t.key=e.vkey),e.vname&&(t.name=e.vname),Kf(e.vtag,t,...e.vchildren||[])}const t=jf(e.vtag,e.vtext);return t.$attrs$=e.vattrs,t.$children$=e.vchildren,t.$key$=e.vkey,t.$name$=e.vname,t},qf=e=>df(e).$hostElement$,Vf=(e,t,n)=>{const r=qf(e);return{emit:e=>Wf(r,t,{bubbles:!!(4&n),composed:!!(2&n),cancelable:!!(1&n),detail:e})}},Wf=(e,t,n)=>{const r=bf.ce(t,n);return e.dispatchEvent(r),r},Gf=new WeakMap,Zf=e=>{const t=e.$cmpMeta$,n=e.$hostElement$,r=t.$flags$,i=(t.$tagName$,()=>{}),o=((e,t,n)=>{var r;const i=Yf(t),o=gf.get(i);if(e=11===e.nodeType?e:vf,o)if(\"string\"==typeof o){e=e.head||e;let n,s=Gf.get(e);if(s||Gf.set(e,s=new Set),!s.has(i)){{n=vf.createElement(\"style\"),n.innerHTML=o;const i=null!=(r=bf.$nonce$)?r:Pf(vf);if(null!=i&&n.setAttribute(\"nonce\",i),!(1&t.$flags$))if(\"HEAD\"===e.nodeName){const t=e.querySelectorAll(\"link[rel=preconnect]\"),r=t.length>0?t[t.length-1].nextSibling:e.querySelector(\"style\");e.insertBefore(n,r)}else if(\"host\"in e)if(wf){const t=new CSSStyleSheet;t.replaceSync(o),e.adoptedStyleSheets=[t,...e.adoptedStyleSheets]}else{const t=e.querySelector(\"style\");t?t.innerHTML=o+t.innerHTML:e.prepend(n)}else e.append(n);1&t.$flags$&&\"HEAD\"!==e.nodeName&&e.insertBefore(n,null)}4&t.$flags$&&(n.innerHTML+=mf),s&&s.add(i)}}else e.adoptedStyleSheets.includes(o)||(e.adoptedStyleSheets=[...e.adoptedStyleSheets,o]);return i})(n.shadowRoot?n.shadowRoot:n.getRootNode(),t);10&r&&2&r&&(n[\"s-sc\"]=o,n.classList.add(o+\"-h\")),i()},Yf=(e,t)=>\"sc-\"+e.$tagName$,Jf=(e,t,n,r,i,o)=>{if(n!==r){let s=hf(e,t),a=t.toLowerCase();if(\"class\"===t){const t=e.classList,i=Qf(n),o=Qf(r);t.remove(...i.filter((e=>e&&!o.includes(e)))),t.add(...o.filter((e=>e&&!i.includes(e))))}else if(\"style\"===t){for(const t in n)r&&null!=r[t]||(t.includes(\"-\")?e.style.removeProperty(t):e.style[t]=\"\");for(const t in r)n&&r[t]===n[t]||(t.includes(\"-\")?e.style.setProperty(t,r[t]):e.style[t]=r[t])}else if(s||\"o\"!==t[0]||\"n\"!==t[1]){const a=Rf(r);if((s||a&&null!==r)&&!i)try{if(e.tagName.includes(\"-\"))e[t]=r;else{const i=null==r?\"\":r;\"list\"===t?s=!1:null!=n&&e[t]==i||(\"function\"==typeof e.__lookupSetter__(t)?e[t]=i:e.setAttribute(t,i))}}catch(e){}null==r||!1===r?!1===r&&\"\"!==e.getAttribute(t)||e.removeAttribute(t):(!s||4&o||i)&&!a&&(r=!0===r?\"\":r,e.setAttribute(t,r))}else if(t=\"-\"===t[2]?t.slice(3):hf(yf,a)?a.slice(2):a[2]+t.slice(3),n||r){const i=t.endsWith(ep);t=t.replace(tp,\"\"),n&&bf.rel(e,t,n,i),r&&bf.ael(e,t,r,i)}}},Xf=/\\s/,Qf=e=>e?e.split(Xf):[],ep=\"Capture\",tp=new RegExp(ep+\"$\"),np=(e,t,n)=>{const r=11===t.$elm$.nodeType&&t.$elm$.host?t.$elm$.host:t.$elm$,i=e&&e.$attrs$||If,o=t.$attrs$||If;for(const e of rp(Object.keys(i)))e in o||Jf(r,e,i[e],void 0,n,t.$flags$);for(const e of rp(Object.keys(o)))Jf(r,e,i[e],o[e],n,t.$flags$)};function rp(e){return e.includes(\"ref\")?[...e.filter((e=>\"ref\"!==e)),\"ref\"]:e}var ip=!1,op=!1,sp=(e,t,n,r)=>{const i=t.$children$[n];let o,s,a=0;if(null!==i.$text$)o=i.$elm$=vf.createTextNode(i.$text$);else{op||(op=\"svg\"===i.$tag$),o=i.$elm$=vf.createElementNS(op?\"http://www.w3.org/2000/svg\":\"http://www.w3.org/1999/xhtml\",!ip&&sf&&2&i.$flags$?\"slot-fb\":i.$tag$),op&&\"foreignObject\"===i.$tag$&&(op=!1),np(null,i,op);if(!!o.getRootNode().querySelector(\"body\")&&of&&(e=>null!=e)(Nf)&&o[\"s-si\"]!==Nf&&o.classList.add(o[\"s-si\"]=Nf),i.$children$)for(a=0;a<i.$children$.length;++a)s=sp(e,i,a),s&&o.appendChild(s);\"svg\"===i.$tag$?op=!1:\"foreignObject\"===o.tagName&&(op=!0)}return o[\"s-hn\"]=Df,o},ap=(e,t,n,r,i,o)=>{let s,a=e;for(a.shadowRoot&&a.tagName===Df&&(a=a.shadowRoot);i<=o;++i)r[i]&&(s=sp(null,n,i),s&&(r[i].$elm$=s,up(a,s,t)))},cp=(e,t,n)=>{for(let r=t;r<=n;++r){const t=e[r];if(t){const e=t.$elm$;e&&e.remove()}}},lp=(e,t,n=!1)=>e.$tag$===t.$tag$,dp=(e,t,n=!1)=>{const r=t.$elm$=e.$elm$,i=e.$children$,o=t.$children$,s=t.$tag$,a=t.$text$;null===a?(np(e,t,op=\"svg\"===s||\"foreignObject\"!==s&&op),null!==i&&null!==o?((e,t,n,r,i=!1)=>{let o,s=0,a=0,c=t.length-1,l=t[0],d=t[c],u=r.length-1,h=r[0],f=r[u];for(;s<=c&&a<=u;)null==l?l=t[++s]:null==d?d=t[--c]:null==h?h=r[++a]:null==f?f=r[--u]:lp(l,h,i)?(dp(l,h,i),l=t[++s],h=r[++a]):lp(d,f,i)?(dp(d,f,i),d=t[--c],f=r[--u]):lp(l,f,i)?(dp(l,f,i),up(e,l.$elm$,d.$elm$.nextSibling),l=t[++s],f=r[--u]):lp(d,h,i)?(dp(d,h,i),up(e,d.$elm$,l.$elm$),d=t[--c],h=r[++a]):(o=sp(t&&t[a],n,a),h=r[++a],o&&up(l.$elm$.parentNode,o,l.$elm$));s>c?ap(e,null==r[u+1]?null:r[u+1].$elm$,n,r,a,u):a>u&&cp(t,s,c)})(r,i,t,o,n):null!==o?(null!==e.$text$&&(r.textContent=\"\"),ap(r,null,t,o,0,o.length-1)):!n&&af&&null!==i&&cp(i,0,i.length-1),op&&\"svg\"===s&&(op=!1)):e.$text$!==a&&(r.data=a)},up=(e,t,n)=>null==e?void 0:e.insertBefore(t,n),hp=(e,t,n=!1)=>{const r=e.$hostElement$,i=e.$cmpMeta$,o=e.$vnode$||jf(null,null),s=(a=t)&&a.$tag$===Uf?t:Kf(null,null,t);var a;if(Df=r.tagName,n&&s.$attrs$)for(const e of Object.keys(s.$attrs$))r.hasAttribute(e)&&![\"key\",\"ref\",\"style\",\"class\"].includes(e)&&(s.$attrs$[e]=r[e]);s.$tag$=null,s.$flags$|=4,e.$vnode$=s,s.$elm$=o.$elm$=r.shadowRoot||r,Nf=r[\"s-sc\"],ip=0!=(1&i.$flags$),dp(o,s,n)},fp=(e,t)=>{t&&!e.$onRenderResolve$&&t[\"s-p\"]&&t[\"s-p\"].push(new Promise((t=>e.$onRenderResolve$=t)))},pp=(e,t)=>{if(e.$flags$|=16,4&e.$flags$)return void(e.$flags$|=512);fp(e,e.$ancestorComponent$);return Af((()=>gp(e,t)))},gp=(e,t)=>{const n=e.$hostElement$,r=(e.$cmpMeta$.$tagName$,()=>{}),i=e.$lazyInstance$;if(!i)throw new Error(`Can't render component <${n.tagName.toLowerCase()} /> with invalid Stencil runtime! Make sure this imported component is compiled with a \\`externalRuntime: true\\` flag. For more information, please refer to https://stenciljs.com/docs/custom-elements#externalruntime`);return r(),mp(undefined,(()=>vp(e,i,t)))},mp=(e,t)=>yp(e)?e.then(t).catch((e=>{console.error(e),t()})):t(),yp=e=>e instanceof Promise||e&&e.then&&\"function\"==typeof e.then,vp=async(e,t,n)=>{var r;const i=e.$hostElement$,o=(e.$cmpMeta$.$tagName$,()=>{}),s=i[\"s-rc\"];n&&Zf(e);const a=(e.$cmpMeta$.$tagName$,()=>{});bp(e,t,i,n),s&&(s.map((e=>e())),i[\"s-rc\"]=void 0),a(),o();{const t=null!=(r=i[\"s-p\"])?r:[],n=()=>wp(e);0===t.length?n():(Promise.all(t).then(n),e.$flags$|=4,t.length=0)}},bp=(e,t,n,r)=>{try{t=t.render(),e.$flags$&=-17,e.$flags$|=2,hp(e,t,r)}catch(t){ff(t,e.$hostElement$)}return null},wp=e=>{e.$cmpMeta$.$tagName$;const t=e.$hostElement$,n=()=>{},r=e.$lazyInstance$,i=e.$ancestorComponent$;64&e.$flags$?n():(e.$flags$|=64,Sp(t),Cp(r,\"componentDidLoad\"),n(),e.$onReadyResolve$(t),i||Ep()),e.$onRenderResolve$&&(e.$onRenderResolve$(),e.$onRenderResolve$=void 0),512&e.$flags$&&Mf((()=>pp(e,!1))),e.$flags$&=-517},Ep=e=>{Sp(vf.documentElement),Mf((()=>Wf(yf,\"appload\",{detail:{namespace:\"sdk-install-modal-web\"}})))},Cp=(e,t,n)=>{if(e&&e[t])try{return e[t](n)}catch(e){ff(e)}},Sp=e=>{var t;return e.classList.add(null!=(t=rf)?t:\"hydrated\")},_p=(e,t,n,r)=>{const i=df(e);if(!i)throw new Error(`Couldn't find host element for \"${r.$tagName$}\" as it is unknown to this Stencil runtime. This usually happens when integrating a 3rd party Stencil component with another Stencil component or application. Please reach out to the maintainers of the 3rd party Stencil component or report this on the Stencil Discord server (https://chat.stenciljs.com) or comment on this similar [GitHub issue](https://github.com/ionic-team/stencil/issues/5457).`);const o=i.$hostElement$,s=i.$instanceValues$.get(t),a=i.$flags$,c=i.$lazyInstance$;var l,d;l=n,d=r.$members$[t][0],n=null==l||Rf(l)?l:4&d?\"false\"!==l&&(\"\"===l||!!l):1&d?String(l):l;const u=Number.isNaN(s)&&Number.isNaN(n);if((!(8&a)||void 0===s)&&(n!==s&&!u)&&(i.$instanceValues$.set(t,n),c)){if(r.$watchers$&&128&a){const e=r.$watchers$[t];e&&e.map((e=>{try{c[e](n,s,t)}catch(e){ff(e,o)}}))}2==(18&a)&&pp(i,!1)}},kp=(e,t,n)=>{var r,i;const o=e.prototype;if(t.$members$||t.$watchers$||e.watchers){e.watchers&&!t.$watchers$&&(t.$watchers$=e.watchers);const s=Object.entries(null!=(r=t.$members$)?r:{});if(s.map((([e,[r]])=>{(31&r||2&n&&32&r)&&Object.defineProperty(o,e,{get(){return t=e,df(this).$instanceValues$.get(t);var t},set(n){_p(this,e,n,t)},configurable:!0,enumerable:!0})})),1&n){const n=new Map;o.attributeChangedCallback=function(e,r,i){bf.jmp((()=>{var s;const a=n.get(e);if(this.hasOwnProperty(a))i=this[a],delete this[a];else{if(o.hasOwnProperty(a)&&\"number\"==typeof this[a]&&this[a]==i)return;if(null==a){const n=df(this),o=null==n?void 0:n.$flags$;if(o&&!(8&o)&&128&o&&i!==r){const o=n.$lazyInstance$,a=null==(s=t.$watchers$)?void 0:s[e];null==a||a.forEach((t=>{null!=o[t]&&o[t].call(o,i,r,e)}))}return}}this[a]=(null!==i||\"boolean\"!=typeof this[a])&&i}))},e.observedAttributes=Array.from(new Set([...Object.keys(null!=(i=t.$watchers$)?i:{}),...s.filter((([e,t])=>15&t[0])).map((([e,t])=>{const r=t[1]||e;return n.set(r,e),r}))]))}}return e},xp=async(e,t,n,r)=>{let i;if(0==(32&t.$flags$)){t.$flags$|=32;if(n.$lazyBundleId$){const e=((e,t,n)=>{const r=e.$tagName$.replace(/-/g,\"_\"),i=e.$lazyBundleId$;if(!i)return;const o=pf.get(i);if(o)return o[r];{const e=e=>(pf.set(i,e),e[r]);if(\"mm-install-modal_3\"===i)return Promise.resolve().then((function(){return gg})).then(e,ff)}return import(/* webpackIgnore: true */\n/* @vite-ignore */\n/* webpackInclude: /\\.entry\\.js$/ */\n/* webpackExclude: /\\.system\\.entry\\.js$/ */\n/* webpackMode: \"lazy\" */\n`./${i}.entry.js`).then((e=>(pf.set(i,e),e[r])),ff)})(n);if(e&&\"then\"in e){const t=()=>{};i=await e,t()}else i=e;if(!i)throw new Error(`Constructor for \"${n.$tagName$}#${t.$modeName$}\" was not found`);i.isProxied||(n.$watchers$=i.watchers,kp(i,n,2),i.isProxied=!0);const r=(n.$tagName$,()=>{});t.$flags$|=8;try{new i(t)}catch(e){ff(e)}t.$flags$&=-9,t.$flags$|=128,r(),Mp(t.$lazyInstance$)}else{i=e.constructor;const n=e.localName;customElements.whenDefined(n).then((()=>t.$flags$|=128))}if(i&&i.style){let e;\"string\"==typeof i.style&&(e=i.style);const t=Yf(n);if(!gf.has(t)){const r=(n.$tagName$,()=>{});((e,t,n)=>{let r=gf.get(e);wf&&n?(r=r||new CSSStyleSheet,\"string\"==typeof r?r=t:r.replaceSync(t)):r=t,gf.set(e,r)})(t,e,!!(1&n.$flags$)),r()}}}const o=t.$ancestorComponent$,s=()=>pp(t,!0);o&&o[\"s-rc\"]?o[\"s-rc\"].push(s):s()},Mp=e=>{Cp(e,\"connectedCallback\")},Ap=e=>{Cp(e,\"disconnectedCallback\")},Ip=(e,t={})=>{var n;const r=()=>{},i=[],o=t.exclude||[],s=yf.customElements,a=vf.head,c=a.querySelector(\"meta[charset]\"),l=vf.createElement(\"style\"),d=[];let u,h=!0;Object.assign(bf,t),bf.$resourcesUrl$=new URL(t.resourcesUrl||\"./\",vf.baseURI).href;let f=!1;if(e.map((e=>{e[1].map((t=>{var n;const r={$flags$:t[0],$tagName$:t[1],$members$:t[2],$listeners$:t[3]};4&r.$flags$&&(f=!0),r.$members$=t[2],r.$watchers$=null!=(n=t[4])?n:{};const a=r.$tagName$,c=class extends HTMLElement{constructor(e){if(super(e),this.hasRegisteredEventListeners=!1,((e,t)=>{const n={$flags$:0,$hostElement$:e,$cmpMeta$:t,$instanceValues$:new Map};n.$onReadyPromise$=new Promise((e=>n.$onReadyResolve$=e)),e[\"s-p\"]=[],e[\"s-rc\"]=[],lf.set(e,n)})(e=this,r),1&r.$flags$)if(e.shadowRoot){if(\"open\"!==e.shadowRoot.mode)throw new Error(`Unable to re-use existing shadow root for ${r.$tagName$}! Mode is set to ${e.shadowRoot.mode} but Stencil only supports open shadow roots.`)}else e.attachShadow({mode:\"open\"})}connectedCallback(){df(this),this.hasRegisteredEventListeners||(this.hasRegisteredEventListeners=!0),u&&(clearTimeout(u),u=null),h?d.push(this):bf.jmp((()=>(e=>{if(0==(1&bf.$flags$)){const t=df(e),n=t.$cmpMeta$,r=(n.$tagName$,()=>{});if(1&t.$flags$)(null==t?void 0:t.$lazyInstance$)?Mp(t.$lazyInstance$):(null==t?void 0:t.$onReadyPromise$)&&t.$onReadyPromise$.then((()=>Mp(t.$lazyInstance$)));else{t.$flags$|=1;{let n=e;for(;n=n.parentNode||n.host;)if(n[\"s-p\"]){fp(t,t.$ancestorComponent$=n);break}}n.$members$&&Object.entries(n.$members$).map((([t,[n]])=>{if(31&n&&e.hasOwnProperty(t)){const n=e[t];delete e[t],e[t]=n}})),xp(e,t,n)}r()}})(this)))}disconnectedCallback(){bf.jmp((()=>(async e=>{if(0==(1&bf.$flags$)){const t=df(e);(null==t?void 0:t.$lazyInstance$)?Ap(t.$lazyInstance$):(null==t?void 0:t.$onReadyPromise$)&&t.$onReadyPromise$.then((()=>Ap(t.$lazyInstance$)))}})(this)))}componentOnReady(){return df(this).$onReadyPromise$}};r.$lazyBundleId$=e[0],o.includes(a)||s.get(a)||(i.push(a),s.define(a,kp(c,r,1)))}))})),i.length>0&&(f&&(l.textContent+=mf),l.textContent+=i.sort()+\"{visibility:hidden}.hydrated{visibility:inherit}\",l.innerHTML.length)){l.setAttribute(\"data-styles\",\"\");const e=null!=(n=bf.$nonce$)?n:Pf(vf);null!=e&&l.setAttribute(\"nonce\",e),a.insertBefore(l,c?c.nextSibling:a.firstChild)}h=!1,d.length?d.map((e=>e.connectedCallback())):bf.jmp((()=>u=setTimeout(Ep,30))),r()};!function(){if(\"undefined\"!=typeof window&&void 0!==window.Reflect&&void 0!==window.customElements){var e=HTMLElement;window.HTMLElement=function(){return Reflect.construct(e,[],this.constructor)},HTMLElement.prototype=e.prototype,HTMLElement.prototype.constructor=HTMLElement,Object.setPrototypeOf(HTMLElement,e)}}();var Rp=Object.freeze({__proto__:null,defineCustomElements:async(e,t)=>{if(\"undefined\"!=typeof window)return await void 0,Ip([[\"mm-install-modal_3\",[[1,\"mm-install-modal\",{link:[1],sdkVersion:[1,\"sdk-version\"],preferDesktop:[4,\"prefer-desktop\"],tab:[32],isDefaultTab:[32],translationsLoaded:[32]},null,{preferDesktop:[\"updatePreferDesktop\"]}],[1,\"mm-pending-modal\",{displayOTP:[4,\"display-o-t-p\"],sdkVersion:[1,\"sdk-version\"],otpCode:[1,\"otp-code\"],translationsLoaded:[32]}],[1,\"mm-select-modal\",{link:[1],sdkVersion:[1,\"sdk-version\"],preferDesktop:[4,\"prefer-desktop\"],tab:[32],isDefaultTab:[32],translationsLoaded:[32]},null,{preferDesktop:[\"updatePreferDesktop\"]}]]]],t)},setNonce:e=>bf.$nonce$=e});const Pp={fontFamily:\"Roboto, sans-serif\"},Lp=({className:e},t)=>Kf(\"div\",{style:Pp,class:e},t),Op=({Icon:e,text:t})=>Kf(\"div\",{class:\"flexContainer\",style:{padding:\"6\",flexDirection:\"row\"}},Kf(\"div\",{class:\"flexItem1\"},Kf(e,null)),Kf(\"div\",{class:\"flexItem11\"},Kf(\"span\",{style:{lineHeight:\"2\",color:\"black\"}},t))),Tp=()=>Kf(\"svg\",{width:\"20\",height:\"18\",viewBox:\"0 0 20 18\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\"},Kf(\"path\",{d:\"M20.0002 7.9702V10.0302C20.0002 10.5802 19.5602 11.0302 19.0002 11.0502H17.0402C15.9602 11.0502 14.9702 10.2602 14.8802 9.1802C14.8202 8.5502 15.0602 7.9602 15.4802 7.5502C15.8502 7.1702 16.3602 6.9502 16.9202 6.9502H19.0002C19.5602 6.9702 20.0002 7.4202 20.0002 7.9702Z\",fill:\"#037DD6\"}),Kf(\"path\",{d:\"M18.47 12.55H17.04C15.14 12.55 13.54 11.12 13.38 9.3C13.29 8.26 13.67 7.22 14.43 6.48C15.07 5.82 15.96 5.45 16.92 5.45H18.47C18.76 5.45 19 5.21 18.97 4.92C18.75 2.49 17.14 0.83 14.75 0.55C14.51 0.51 14.26 0.5 14 0.5H5C4.72 0.5 4.45 0.52 4.19 0.56C1.64 0.88 0 2.78 0 5.5V12.5C0 15.26 2.24 17.5 5 17.5H14C16.8 17.5 18.73 15.75 18.97 13.08C19 12.79 18.76 12.55 18.47 12.55ZM11 6.75H5C4.59 6.75 4.25 6.41 4.25 6C4.25 5.59 4.59 5.25 5 5.25H11C11.41 5.25 11.75 5.59 11.75 6C11.75 6.41 11.41 6.75 11 6.75Z\",fill:\"#037DD6\"})),Np=()=>Kf(\"svg\",{width:\"20\",height:\"18\",viewBox:\"0 0 20 18\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\"},Kf(\"path\",{d:\"M14.44 0.0999756C12.63 0.0999756 11.01 0.979976 10 2.32998C8.99 0.979976 7.37 0.0999756 5.56 0.0999756C2.49 0.0999756 0 2.59998 0 5.68998C0 6.87998 0.19 7.97998 0.52 8.99998C2.1 14 6.97 16.99 9.38 17.81C9.72 17.93 10.28 17.93 10.62 17.81C13.03 16.99 17.9 14 19.48 8.99998C19.81 7.97998 20 6.87998 20 5.68998C20 2.59998 17.51 0.0999756 14.44 0.0999756Z\",fill:\"#037DD6\"})),Dp=()=>Kf(\"svg\",{width:\"20\",height:\"20\",viewBox:\"0 0 20 20\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\"},Kf(\"path\",{d:\"M16.28 7.53V6.28C16.28 3.58 15.63 0 10 0C4.37 0 3.72 3.58 3.72 6.28V7.53C0.92 7.88 0 9.3 0 12.79V14.65C0 18.75 1.25 20 5.35 20H14.65C18.75 20 20 18.75 20 14.65V12.79C20 9.3 19.08 7.88 16.28 7.53ZM10 16.74C8.33 16.74 6.98 15.38 6.98 13.72C6.98 12.05 8.34 10.7 10 10.7C11.66 10.7 13.02 12.06 13.02 13.72C13.02 15.39 11.67 16.74 10 16.74ZM5.35 7.44C5.27 7.44 5.2 7.44 5.12 7.44V6.28C5.12 3.35 5.95 1.4 10 1.4C14.05 1.4 14.88 3.35 14.88 6.28V7.45C14.8 7.45 14.73 7.45 14.65 7.45H5.35V7.44Z\",fill:\"#037DD6\"})),$p=()=>Kf(\"svg\",{width:\"20\",height:\"20\",viewBox:\"0 0 24 24\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\"},Kf(\"path\",{d:\"M16.4405 8.8999C20.0405 9.2099 21.5105 11.0599 21.5105 15.1099V15.2399C21.5105 19.7099 19.7205 21.4999 15.2505 21.4999H8.74047C4.27047 21.4999 2.48047 19.7099 2.48047 15.2399V15.1099C2.48047 11.0899 3.93047 9.2399 7.47047 8.9099\",stroke:\"white\",\"stroke-width\":\"1.5\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M12 2V14.88\",stroke:\"white\",\"stroke-width\":\"1.5\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M15.3504 12.6499L12.0004 15.9999L8.65039 12.6499\",stroke:\"white\",\"stroke-width\":\"1.5\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}));function Bp({version:e}){return Kf(\"div\",{style:{textAlign:\"center\",color:\"#BBC0C5\",fontSize:\"12\"}},\"SDK Version \",e?`v${e}`:\"unknown\")}const Kp=()=>Kf(\"svg\",{width:\"14\",height:\"14\",viewBox:\"0 0 16 16\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\"},Kf(\"rect\",{width:\"16\",height:\"16\",fill:\"white\"}),Kf(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M2.40554 2.40554C2.94627 1.86482 3.82296 1.86482 4.36369 2.40554L8 6.04186L11.6363 2.40554C12.177 1.86482 13.0537 1.86482 13.5945 2.40554C14.1352 2.94627 14.1352 3.82296 13.5945 4.36369L9.95814 8L13.5945 11.6363C14.1352 12.177 14.1352 13.0537 13.5945 13.5945C13.0537 14.1352 12.177 14.1352 11.6363 13.5945L8 9.95814L4.36369 13.5945C3.82296 14.1352 2.94627 14.1352 2.40554 13.5945C1.86482 13.0537 1.86482 12.177 2.40554 11.6363L6.04186 8L2.40554 4.36369C1.86482 3.82296 1.86482 2.94627 2.40554 2.40554Z\",fill:\"#BBC0C5\"})),jp=()=>Kf(\"svg\",{width:\"273\",height:\"51\",viewBox:\"0 0 273 51\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\"},Kf(\"path\",{d:\"M240.882 25.9263C239.472 24.997 237.916 24.3361 236.443 23.5101C235.489 22.9731 234.473 22.4982 233.643 21.8167C232.233 20.6602 232.524 18.3885 233.996 17.3973C236.112 15.993 239.617 16.7777 239.99 19.6483C239.99 19.7102 240.052 19.7515 240.114 19.7515H243.308C243.391 19.7515 243.454 19.6896 243.433 19.607C243.267 17.6244 242.5 15.9723 241.089 14.9191C239.741 13.9072 238.206 13.3702 236.568 13.3702C228.127 13.3702 227.359 22.271 231.901 25.0796C232.42 25.41 236.879 27.6404 238.455 28.611C240.032 29.5816 240.529 31.3576 239.845 32.7619C239.223 34.0423 237.605 34.9303 235.987 34.8271C234.224 34.7238 232.855 33.7738 232.378 32.2869C232.295 32.0185 232.254 31.5022 232.254 31.275C232.254 31.2131 232.192 31.1511 232.129 31.1511H228.666C228.604 31.1511 228.541 31.2131 228.541 31.275C228.541 33.7738 229.164 35.1575 230.864 36.4172C232.461 37.615 234.203 38.1106 236.008 38.1106C240.737 38.1106 243.184 35.4466 243.682 32.6793C244.117 29.974 243.308 27.5371 240.882 25.9263Z\",fill:\"#24292E\"}),Kf(\"path\",{d:\"M90.4943 13.8246H88.9595H87.2795C87.2173 13.8246 87.1758 13.8659 87.1551 13.9072L84.3137 23.2416C84.2722 23.3655 84.1063 23.3655 84.0648 23.2416L81.2234 13.9072C81.2026 13.8452 81.1612 13.8246 81.0989 13.8246H79.419H77.8842H75.8102C75.748 13.8246 75.6857 13.8865 75.6857 13.9485V37.7802C75.6857 37.8422 75.748 37.9041 75.8102 37.9041H79.2738C79.336 37.9041 79.3982 37.8422 79.3982 37.7802V19.6689C79.3982 19.5244 79.6056 19.5037 79.6471 19.6276L82.5093 29.024L82.7167 29.6849C82.7374 29.7468 82.7789 29.7675 82.8411 29.7675H85.4959C85.5581 29.7675 85.5996 29.7262 85.6203 29.6849L85.8277 29.024L88.6899 19.6276C88.7313 19.4831 88.9387 19.5244 88.9387 19.6689V37.7802C88.9387 37.8422 89.001 37.9041 89.0632 37.9041H92.5268C92.589 37.9041 92.6513 37.8422 92.6513 37.7802V13.9485C92.6513 13.8865 92.589 13.8246 92.5268 13.8246H90.4943Z\",fill:\"#24292E\"}),Kf(\"path\",{d:\"M187.849 13.8246C187.787 13.8246 187.745 13.8659 187.725 13.9072L184.883 23.2416C184.842 23.3655 184.676 23.3655 184.634 23.2416L181.793 13.9072C181.772 13.8452 181.731 13.8246 181.668 13.8246H176.4C176.338 13.8246 176.276 13.8865 176.276 13.9485V37.7802C176.276 37.8422 176.338 37.9041 176.4 37.9041H179.864C179.926 37.9041 179.988 37.8422 179.988 37.7802V19.6689C179.988 19.5244 180.196 19.5037 180.237 19.6276L183.099 29.024L183.307 29.6849C183.328 29.7468 183.369 29.7675 183.431 29.7675H186.086C186.148 29.7675 186.19 29.7262 186.211 29.6849L186.418 29.024L189.28 19.6276C189.322 19.4831 189.529 19.5244 189.529 19.6689V37.7802C189.529 37.8422 189.591 37.9041 189.653 37.9041H193.117C193.179 37.9041 193.241 37.8422 193.241 37.7802V13.9485C193.241 13.8865 193.179 13.8246 193.117 13.8246H187.849Z\",fill:\"#24292E\"}),Kf(\"path\",{d:\"M143.174 13.8246H136.724H133.261H126.81C126.748 13.8246 126.686 13.8865 126.686 13.9485V16.9223C126.686 16.9843 126.748 17.0462 126.81 17.0462H133.136V37.7802C133.136 37.8422 133.198 37.9041 133.261 37.9041H136.724C136.786 37.9041 136.849 37.8422 136.849 37.7802V17.0462H143.174C143.237 17.0462 143.299 16.9843 143.299 16.9223V13.9485C143.299 13.8865 143.257 13.8246 143.174 13.8246Z\",fill:\"#24292E\"}),Kf(\"path\",{d:\"M163.604 37.9041H166.756C166.839 37.9041 166.901 37.8215 166.881 37.7389L160.368 13.8245C160.347 13.7626 160.306 13.7419 160.244 13.7419H159.041H156.925H155.722C155.66 13.7419 155.619 13.7832 155.598 13.8245L149.085 37.7389C149.065 37.8215 149.127 37.9041 149.21 37.9041H152.362C152.425 37.9041 152.466 37.8628 152.487 37.8215L154.374 30.862C154.395 30.8 154.436 30.7794 154.499 30.7794H161.467C161.53 30.7794 161.571 30.8207 161.592 30.862L163.479 37.8215C163.5 37.8628 163.562 37.9041 163.604 37.9041ZM155.328 27.3719L157.859 18.0581C157.9 17.9342 158.066 17.9342 158.107 18.0581L160.638 27.3719C160.659 27.4545 160.596 27.5371 160.513 27.5371H155.453C155.37 27.5371 155.308 27.4545 155.328 27.3719Z\",fill:\"#24292E\"}),Kf(\"path\",{d:\"M217.362 37.9041H220.515C220.598 37.9041 220.66 37.8215 220.639 37.7389L214.127 13.8245C214.106 13.7626 214.065 13.7419 214.002 13.7419H212.8H210.684H209.481C209.419 13.7419 209.377 13.7832 209.357 13.8245L202.844 37.7389C202.823 37.8215 202.886 37.9041 202.969 37.9041H206.121C206.183 37.9041 206.225 37.8628 206.246 37.8215L208.133 30.862C208.154 30.8 208.195 30.7794 208.257 30.7794H215.226C215.288 30.7794 215.33 30.8207 215.351 30.862L217.238 37.8215C217.259 37.8628 217.3 37.9041 217.362 37.9041ZM209.087 27.3719L211.617 18.0581C211.659 17.9342 211.825 17.9342 211.866 18.0581L214.397 27.3719C214.417 27.4545 214.355 27.5371 214.272 27.5371H209.211C209.129 27.5371 209.066 27.4545 209.087 27.3719Z\",fill:\"#24292E\"}),Kf(\"path\",{d:\"M106.713 34.3727V26.9795C106.713 26.9176 106.775 26.8556 106.837 26.8556H116.067C116.129 26.8556 116.191 26.7936 116.191 26.7317V23.7579C116.191 23.6959 116.129 23.634 116.067 23.634H106.837C106.775 23.634 106.713 23.572 106.713 23.5101V17.1907C106.713 17.1288 106.775 17.0668 106.837 17.0668H117.332C117.394 17.0668 117.457 17.0049 117.457 16.9429V13.9691C117.457 13.9072 117.394 13.8452 117.332 13.8452H106.713H103.125C103.063 13.8452 103.001 13.9072 103.001 13.9691V17.0668V23.6546V26.8763V34.5173V37.7802C103.001 37.8422 103.063 37.9041 103.125 37.9041H106.713H117.768C117.83 37.9041 117.892 37.8422 117.892 37.7802V34.6412C117.892 34.5792 117.83 34.5173 117.768 34.5173H106.817C106.755 34.4966 106.713 34.4553 106.713 34.3727Z\",fill:\"#24292E\"}),Kf(\"path\",{d:\"M272.532 37.6976L260.544 25.3687C260.502 25.3274 260.502 25.2448 260.544 25.2035L271.329 14.0517C271.412 13.9691 271.349 13.8452 271.246 13.8452H266.828C266.787 13.8452 266.766 13.8659 266.745 13.8865L257.599 23.3449C257.516 23.4275 257.391 23.3655 257.391 23.2623V13.9691C257.391 13.9072 257.329 13.8452 257.267 13.8452H253.803C253.741 13.8452 253.679 13.9072 253.679 13.9691V37.8009C253.679 37.8628 253.741 37.9248 253.803 37.9248H257.267C257.329 37.9248 257.391 37.8628 257.391 37.8009V27.3099C257.391 27.2067 257.536 27.1447 257.599 27.2273L267.969 37.8835C267.989 37.9041 268.031 37.9248 268.052 37.9248H272.469C272.552 37.9041 272.615 37.7596 272.532 37.6976Z\",fill:\"#24292E\"}),Kf(\"path\",{d:\"M52.021 1L31.0526 16.4886L34.9517 7.36063L52.021 1Z\",fill:\"#E17726\",stroke:\"#E17726\",\"stroke-width\":\"0.5\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M3.65491 1L24.4366 16.6331L20.7241 7.36063L3.65491 1Z\",fill:\"#E27625\",stroke:\"#E27625\",\"stroke-width\":\"0.5\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M44.4716 36.9127L38.8925 45.4211L50.8389 48.7047L54.261 37.0986L44.4716 36.9127Z\",fill:\"#E27625\",stroke:\"#E27625\",\"stroke-width\":\"0.5\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M1.43555 37.0986L4.83695 48.7047L16.7626 45.4211L11.2042 36.9127L1.43555 37.0986Z\",fill:\"#E27625\",stroke:\"#E27625\",\"stroke-width\":\"0.5\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M16.1197 22.5395L12.8013 27.5371L24.6232 28.074L24.2292 15.3734L16.1197 22.5395Z\",fill:\"#E27625\",stroke:\"#E27625\",\"stroke-width\":\"0.5\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M39.5561 22.5394L31.3222 15.2288L31.0526 28.0739L42.8746 27.537L39.5561 22.5394Z\",fill:\"#E27625\",stroke:\"#E27625\",\"stroke-width\":\"0.5\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M16.7626 45.4212L23.918 41.9724L17.7582 37.1813L16.7626 45.4212Z\",fill:\"#E27625\",stroke:\"#E27625\",\"stroke-width\":\"0.5\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M31.7578 41.9724L38.8925 45.4212L37.9177 37.1813L31.7578 41.9724Z\",fill:\"#E27625\",stroke:\"#E27625\",\"stroke-width\":\"0.5\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M38.8923 45.4212L31.7577 41.9724L32.3384 46.5983L32.2762 48.5602L38.8923 45.4212Z\",fill:\"#D5BFB2\",stroke:\"#D5BFB2\",\"stroke-width\":\"0.5\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M16.7625 45.4212L23.3994 48.5602L23.3579 46.5983L23.9179 41.9724L16.7625 45.4212Z\",fill:\"#D5BFB2\",stroke:\"#D5BFB2\",\"stroke-width\":\"0.5\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M23.5239 34.1249L17.5922 32.3902L21.7818 30.4696L23.5239 34.1249Z\",fill:\"#233447\",stroke:\"#233447\",\"stroke-width\":\"0.5\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M32.1517 34.1249L33.8939 30.4696L38.1042 32.3902L32.1517 34.1249Z\",fill:\"#233447\",stroke:\"#233447\",\"stroke-width\":\"0.5\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M16.7626 45.4212L17.7996 36.9128L11.2042 37.0987L16.7626 45.4212Z\",fill:\"#CC6228\",stroke:\"#CC6228\",\"stroke-width\":\"0.5\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M37.8761 36.9128L38.8924 45.4212L44.4715 37.0987L37.8761 36.9128Z\",fill:\"#CC6228\",stroke:\"#CC6228\",\"stroke-width\":\"0.5\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M42.8745 27.5371L31.0526 28.074L32.1518 34.1249L33.894 30.4696L38.1042 32.3902L42.8745 27.5371Z\",fill:\"#CC6228\",stroke:\"#CC6228\",\"stroke-width\":\"0.5\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M17.5922 32.3902L21.7817 30.4696L23.5239 34.1249L24.6232 28.074L12.8012 27.5371L17.5922 32.3902Z\",fill:\"#CC6228\",stroke:\"#CC6228\",\"stroke-width\":\"0.5\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M12.8013 27.5371L17.7582 37.1813L17.5923 32.3902L12.8013 27.5371Z\",fill:\"#E27525\",stroke:\"#E27525\",\"stroke-width\":\"0.5\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M38.1044 32.3902L37.9177 37.1813L42.8746 27.5371L38.1044 32.3902Z\",fill:\"#E27525\",stroke:\"#E27525\",\"stroke-width\":\"0.5\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M24.6232 28.0741L23.524 34.125L24.9136 41.2703L25.2247 31.8533L24.6232 28.0741Z\",fill:\"#E27525\",stroke:\"#E27525\",\"stroke-width\":\"0.5\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M31.0526 28.0741L30.4719 31.8327L30.7623 41.2703L32.1519 34.125L31.0526 28.0741Z\",fill:\"#E27525\",stroke:\"#E27525\",\"stroke-width\":\"0.5\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M32.1519 34.1249L30.7623 41.2702L31.7578 41.9724L37.9177 37.1813L38.1043 32.3901L32.1519 34.1249Z\",fill:\"#F5841F\",stroke:\"#F5841F\",\"stroke-width\":\"0.5\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M17.5922 32.3901L17.7581 37.1813L23.918 41.9724L24.9135 41.2702L23.5239 34.1249L17.5922 32.3901Z\",fill:\"#F5841F\",stroke:\"#F5841F\",\"stroke-width\":\"0.5\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M32.2763 48.5602L32.3385 46.5983L31.7993 46.1439H23.8765L23.358 46.5983L23.3995 48.5602L16.7626 45.4211L19.0855 47.3211L23.7935 50.5633H31.8615L36.5903 47.3211L38.8924 45.4211L32.2763 48.5602Z\",fill:\"#C0AC9D\",stroke:\"#C0AC9D\",\"stroke-width\":\"0.5\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M31.7578 41.9724L30.7622 41.2703H24.9135L23.918 41.9724L23.358 46.5983L23.8765 46.144H31.7993L32.3385 46.5983L31.7578 41.9724Z\",fill:\"#24292E\",stroke:\"#24292E\",\"stroke-width\":\"0.5\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M52.9128 17.5005L54.6757 8.95079L52.021 1L31.7578 15.9723L39.5561 22.5394L50.5692 25.7404L52.9958 22.9111L51.938 22.147L53.618 20.6188L52.3321 19.6276L54.0121 18.3472L52.9128 17.5005Z\",fill:\"#763E1A\",stroke:\"#763E1A\",\"stroke-width\":\"0.5\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M1 8.95079L2.78366 17.5005L1.64295 18.3472L3.34365 19.6276L2.05775 20.6188L3.73771 22.147L2.67996 22.9111L5.10657 25.7404L16.1196 22.5394L23.918 15.9723L3.65475 1L1 8.95079Z\",fill:\"#763E1A\",stroke:\"#763E1A\",\"stroke-width\":\"0.5\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M50.5692 25.7404L39.5561 22.5394L42.8746 27.5371L37.9177 37.1813L44.4716 37.0987H54.261L50.5692 25.7404Z\",fill:\"#F5841F\",stroke:\"#F5841F\",\"stroke-width\":\"0.5\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M16.1196 22.5394L5.10651 25.7404L1.43549 37.0987H11.2041L17.7581 37.1813L12.8011 27.5371L16.1196 22.5394Z\",fill:\"#F5841F\",stroke:\"#F5841F\",\"stroke-width\":\"0.5\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M31.0526 28.0741L31.7578 15.9724L34.9518 7.36072H20.7239L23.9179 15.9724L24.6231 28.0741L24.8927 31.8739L24.9135 41.2703H30.7622L30.783 31.8739L31.0526 28.0741Z\",fill:\"#F5841F\",stroke:\"#F5841F\",\"stroke-width\":\"0.5\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}));function Up(e,t){return e.toString(2).padStart(t,\"0\")}function Hp(e,t){const n=e%t;return n>=0?n:t+n}function Fp(e,t){return new Array(e).fill(t)}function zp(...e){let t=0;for(const n of e)t=Math.max(t,n.length);const n=[];for(let r=0;r<t;r++)for(const t of e)r>=t.length||n.push(t[r]);return new Uint8Array(n)}function qp(e,t,n){if(n<0||n+t.length>e.length)return!1;for(let r=0;r<t.length;r++)if(t[r]!==e[n+r])return!1;return!0}function Vp(e){return{has:t=>e.includes(t),decode:t=>{if(!Array.isArray(t)||t.length&&\"string\"!=typeof t[0])throw new Error(\"alphabet.decode input should be array of strings\");return t.map((t=>{if(\"string\"!=typeof t)throw new Error(`alphabet.decode: not string element=${t}`);const n=e.indexOf(t);if(-1===n)throw new Error(`Unknown letter: \"${t}\". Allowed: ${e}`);return n}))},encode:t=>{if(!Array.isArray(t)||t.length&&\"number\"!=typeof t[0])throw new Error(\"alphabet.encode input should be an array of numbers\");return t.map((t=>{if(function(e){if(!Number.isSafeInteger(e))throw new Error(`Wrong integer: ${e}`)}(t),t<0||t>=e.length)throw new Error(`Digit index outside alphabet: ${t} (alphabet: ${e.length})`);return e[t]}))}}}class Wp{static size(e,t){if(\"number\"==typeof e&&(e={height:e,width:e}),!Number.isSafeInteger(e.height)&&e.height!==1/0)throw new Error(`Bitmap: wrong height=${e.height} (${typeof e.height})`);if(!Number.isSafeInteger(e.width)&&e.width!==1/0)throw new Error(`Bitmap: wrong width=${e.width} (${typeof e.width})`);return void 0!==t&&(e={width:Math.min(e.width,t.width),height:Math.min(e.height,t.height)}),e}static fromString(e){const t=(e=e.replace(/^\\n+/g,\"\").replace(/\\n+$/g,\"\")).split(\"\\n\"),n=t.length,r=new Array(n);let i;for(const e of t){const t=e.split(\"\").map((e=>{if(\"X\"===e)return!0;if(\" \"===e)return!1;if(\"?\"!==e)throw new Error(`Bitmap.fromString: unknown symbol=${e}`)}));if(i&&t.length!==i)throw new Error(`Bitmap.fromString different row sizes: width=${i} cur=${t.length}`);i=t.length,r.push(t)}return i||(i=0),new Wp({height:n,width:i},r)}constructor(e,t){const{height:n,width:r}=Wp.size(e);this.data=t||Array.from({length:n},(()=>Fp(r,void 0))),this.height=n,this.width=r}point(e){return this.data[e.y][e.x]}isInside(e){return 0<=e.x&&e.x<this.width&&0<=e.y&&e.y<this.height}size(e){if(!e)return{height:this.height,width:this.width};const{x:t,y:n}=this.xy(e);return{height:this.height-n,width:this.width-t}}xy(e){if(\"number\"==typeof e&&(e={x:e,y:e}),!Number.isSafeInteger(e.x))throw new Error(`Bitmap: wrong x=${e.x}`);if(!Number.isSafeInteger(e.y))throw new Error(`Bitmap: wrong y=${e.y}`);return e.x=Hp(e.x,this.width),e.y=Hp(e.y,this.height),e}rect(e,t,n){const{x:r,y:i}=this.xy(e),{height:o,width:s}=Wp.size(t,this.size({x:r,y:i}));for(let e=0;e<o;e++)for(let t=0;t<s;t++)this.data[i+e][r+t]=\"function\"==typeof n?n({x:t,y:e},this.data[i+e][r+t]):n;return this}rectRead(e,t,n){return this.rect(e,t,((e,t)=>(n(e,t),t)))}hLine(e,t,n){return this.rect(e,{width:t,height:1},n)}vLine(e,t,n){return this.rect(e,{width:1,height:t},n)}border(e=2,t){const n=this.height+2*e,r=this.width+2*e,i=Fp(e,t),o=Array.from({length:e},(()=>Fp(r,t)));return new Wp({height:n,width:r},[...o,...this.data.map((e=>[...i,...e,...i])),...o])}embed(e,t){return this.rect(e,t.size(),(({x:e,y:n})=>t.data[n][e]))}rectSlice(e,t=this.size()){const n=new Wp(Wp.size(t,this.size(this.xy(e))));return this.rect(e,t,(({x:e,y:t},r)=>n.data[t][e]=r)),n}inverse(){const{height:e,width:t}=this;return new Wp({height:t,width:e}).rect({x:0,y:0},1/0,(({x:e,y:t})=>this.data[e][t]))}scale(e){if(!Number.isSafeInteger(e)||e>1024)throw new Error(`Wrong scale factor: ${e}`);const{height:t,width:n}=this;return new Wp({height:e*t,width:e*n}).rect({x:0,y:0},1/0,(({x:t,y:n})=>this.data[Math.floor(n/e)][Math.floor(t/e)]))}clone(){return new Wp(this.size()).rect({x:0,y:0},this.size(),(({x:e,y:t})=>this.data[t][e]))}assertDrawn(){this.rectRead(0,1/0,((e,t)=>{if(\"boolean\"!=typeof t)throw new Error(\"Invalid color type=\"+typeof t)}))}toString(){return this.data.map((e=>e.map((e=>void 0===e?\"?\":e?\"X\":\" \")).join(\"\"))).join(\"\\n\")}toASCII(){const{height:e,width:t,data:n}=this;let r=\"\";for(let i=0;i<e;i+=2){for(let o=0;o<t;o++){const t=n[i][o],s=i+1>=e||n[i+1][o];t||s?!t&&s?r+=\"▀\":t&&!s?r+=\"▄\":t&&s&&(r+=\" \"):r+=\"█\"}r+=\"\\n\"}return r}toTerm(){const e=\"\u001b[0m\",t=`\u001b[1;47m ${e}`,n=`\u001b[40m ${e}`;return this.data.map((e=>e.map((e=>e?n:t)).join(\"\"))).join(\"\\n\")}toSVG(){let e=`<svg xmlns:svg=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 ${this.width} ${this.height}\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\">`;return this.rectRead(0,1/0,(({x:t,y:n},r)=>{r&&(e+=`<rect x=\"${t}\" y=\"${n}\" width=\"1\" height=\"1\" />`)})),e+=\"</svg>\",e}toGIF(){const e=e=>[255&e,e>>>8&255],t=[...e(this.width),...e(this.height)],n=[];this.rectRead(0,1/0,((e,t)=>n.push(+(!0===t))));const r=126,i=[71,73,70,56,55,97,...t,246,0,0,255,255,255,...Fp(381,0),44,0,0,0,0,...t,0,7],o=Math.floor(n.length/r);for(let e=0;e<o;e++)i.push(127,128,...n.slice(r*e,r*(e+1)).map((e=>+e)));return i.push(n.length%r+1,128,...n.slice(o*r).map((e=>+e))),i.push(1,129,0,59),new Uint8Array(i)}toImage(e=!1){const{height:t,width:n}=this.size(),r=new Uint8Array(t*n*(e?3:4));let i=0;for(let o=0;o<t;o++)for(let t=0;t<n;t++){const n=this.data[o][t]?0:255;r[i++]=n,r[i++]=n,r[i++]=n,e||(r[i++]=255)}return{height:t,width:n,data:r}}}const Gp=[\"low\",\"medium\",\"quartile\",\"high\"],Zp=[\"numeric\",\"alphanumeric\",\"byte\",\"kanji\",\"eci\"],Yp=[26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706],Jp={low:[7,10,15,20,26,18,20,24,30,18,20,24,26,30,22,24,28,30,28,28,28,28,30,30,26,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],medium:[10,16,26,18,24,16,18,22,22,26,30,22,22,24,24,28,28,26,26,26,26,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28],quartile:[13,22,18,26,18,24,18,22,20,24,28,26,24,20,30,24,28,28,26,30,28,30,30,30,30,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],high:[17,28,22,16,22,28,26,26,24,28,24,28,22,24,24,30,28,28,26,28,30,24,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30]},Xp={low:[1,1,1,1,1,2,2,2,2,4,4,4,4,4,6,6,6,6,7,8,8,9,9,10,12,12,12,13,14,15,16,17,18,19,19,20,21,22,24,25],medium:[1,1,1,2,2,4,4,4,5,5,5,8,9,9,10,10,11,13,14,16,17,17,18,20,21,23,25,26,28,29,31,33,35,37,38,40,43,45,47,49],quartile:[1,1,2,2,4,4,6,6,8,8,8,10,12,16,12,17,16,18,21,20,23,23,25,27,29,34,34,35,38,40,43,45,48,51,53,56,59,62,65,68],high:[1,1,2,4,4,4,5,6,8,8,11,11,16,16,18,16,19,21,25,25,25,34,30,32,35,37,40,42,45,48,51,54,57,60,63,66,70,74,77,81]},Qp={size:{encode:e=>21+4*(e-1),decode:e=>(e-17)/4},sizeType:e=>Math.floor((e+7)/17),alignmentPatterns(e){if(1===e)return[];const t=Qp.size.encode(e)-6-1,n=t-6,r=Math.ceil(n/28);let i=Math.floor(n/r);i%2?i+=1:n%r*2>=r&&(i+=2);const o=[6];for(let e=1;e<r;e++)o.push(t-(r-e)*i);return o.push(t),o},ECCode:{low:1,medium:0,quartile:3,high:2},formatMask:21522,formatBits(e,t){const n=Qp.ECCode[e]<<3|t;let r=n;for(let e=0;e<10;e++)r=r<<1^1335*(r>>9);return(n<<10|r)^Qp.formatMask},versionBits(e){let t=e;for(let e=0;e<12;e++)t=t<<1^7973*(t>>11);return e<<12|t},alphabet:{numeric:Vp(\"0123456789\"),alphanumerc:Vp(\"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:\")},lengthBits:(e,t)=>({numeric:[10,12,14],alphanumeric:[9,11,13],byte:[8,16,16],kanji:[8,10,12],eci:[0,0,0]}[t][Qp.sizeType(e)]),modeBits:{numeric:\"0001\",alphanumeric:\"0010\",byte:\"0100\",kanji:\"1000\",eci:\"0111\"},capacity(e,t){const n=Yp[e-1],r=Jp[t][e-1],i=Xp[t][e-1],o=Math.floor(n/i)-r,s=i-n%i;return{words:r,numBlocks:i,shortBlocks:s,blockLen:o,capacity:8*(n-r*i),total:(r+o)*i+i-s}}},eg=[(e,t)=>(e+t)%2==0,(e,t)=>t%2==0,(e,t)=>e%3==0,(e,t)=>(e+t)%3==0,(e,t)=>(Math.floor(t/2)+Math.floor(e/3))%2==0,(e,t)=>e*t%2+e*t%3==0,(e,t)=>(e*t%2+e*t%3)%2==0,(e,t)=>((e+t)%2+e*t%3)%2==0],tg={tables:(e=>{const t=Fp(256,0),n=Fp(256,0);for(let e=0,r=1;e<256;e++)t[e]=r,n[r]=e,r<<=1,256&r&&(r^=285);return{exp:t,log:n}})(),exp:e=>tg.tables.exp[e],log(e){if(0===e)throw new Error(`GF.log: wrong arg=${e}`);return tg.tables.log[e]%255},mul:(e,t)=>0===e||0===t?0:tg.tables.exp[(tg.tables.log[e]+tg.tables.log[t])%255],add:(e,t)=>e^t,pow:(e,t)=>tg.tables.exp[tg.tables.log[e]*t%255],inv(e){if(0===e)throw new Error(`GF.inverse: wrong arg=${e}`);return tg.tables.exp[255-tg.tables.log[e]]},polynomial(e){if(0==e.length)throw new Error(\"GF.polymomial: wrong length\");if(0!==e[0])return e;let t=0;for(;t<e.length-1&&0==e[t];t++);return e.slice(t)},monomial(e,t){if(e<0)throw new Error(`GF.monomial: wrong degree=${e}`);if(0==t)return[0];let n=Fp(e+1,0);return n[0]=t,tg.polynomial(n)},degree:e=>e.length-1,coefficient:(e,t)=>e[tg.degree(e)-t],mulPoly(e,t){if(0===e[0]||0===t[0])return[0];const n=Fp(e.length+t.length-1,0);for(let r=0;r<e.length;r++)for(let i=0;i<t.length;i++)n[r+i]=tg.add(n[r+i],tg.mul(e[r],t[i]));return tg.polynomial(n)},mulPolyScalar(e,t){if(0==t)return[0];if(1==t)return e;const n=Fp(e.length,0);for(let r=0;r<e.length;r++)n[r]=tg.mul(e[r],t);return tg.polynomial(n)},mulPolyMonomial(e,t,n){if(t<0)throw new Error(\"GF.mulPolyMonomial: wrong degree\");if(0==n)return[0];const r=Fp(e.length+t,0);for(let t=0;t<e.length;t++)r[t]=tg.mul(e[t],n);return tg.polynomial(r)},addPoly(e,t){if(0===e[0])return t;if(0===t[0])return e;let n=e,r=t;n.length>r.length&&([n,r]=[r,n]);let i=Fp(r.length,0),o=r.length-n.length,s=r.slice(0,o);for(let e=0;e<s.length;e++)i[e]=s[e];for(let e=o;e<r.length;e++)i[e]=tg.add(n[e-o],r[e]);return tg.polynomial(i)},remainderPoly(e,t){const n=Array.from(e);for(let r=0;r<e.length-t.length+1;r++){const e=n[r];if(0!==e)for(let i=1;i<t.length;i++)0!==t[i]&&(n[r+i]=tg.add(n[r+i],tg.mul(t[i],e)))}return n.slice(e.length-t.length+1,n.length)},divisorPoly(e){let t=[1];for(let n=0;n<e;n++)t=tg.mulPoly(t,[1,tg.pow(2,n)]);return t},evalPoly(e,t){if(0==t)return tg.coefficient(e,0);let n=e[0];for(let r=1;r<e.length;r++)n=tg.add(tg.mul(t,n),e[r]);return n},euclidian(e,t,n){tg.degree(e)<tg.degree(t)&&([e,t]=[t,e]);let r=e,i=t,o=[0],s=[1];for(;2*tg.degree(i)>=n;){let e=r,t=o;if(r=i,o=s,0===r[0])throw new Error(\"rLast[0] === 0\");i=e;let n=[0];const a=tg.inv(r[0]);for(;tg.degree(i)>=tg.degree(r)&&0!==i[0];){const e=tg.degree(i)-tg.degree(r),t=tg.mul(i[0],a);n=tg.addPoly(n,tg.monomial(e,t)),i=tg.addPoly(i,tg.mulPolyMonomial(r,e,t))}if(n=tg.mulPoly(n,o),s=tg.addPoly(n,t),tg.degree(i)>=tg.degree(r))throw new Error(`Division failed r: ${i}, rLast: ${r}`)}const a=tg.coefficient(s,0);if(0==a)throw new Error(\"sigmaTilde(0) was zero\");const c=tg.inv(a);return[tg.mulPolyScalar(s,c),tg.mulPolyScalar(i,c)]}};function ng(e,t){const{words:n,shortBlocks:r,numBlocks:i,blockLen:o,total:s}=Qp.capacity(e,t),a=(c=n,{encode(e){const t=tg.divisorPoly(c),n=Array.from(e);return n.push(...t.slice(0,-1).fill(0)),Uint8Array.from(tg.remainderPoly(n,t))},decode(e){const t=e.slice(),n=tg.polynomial(Array.from(e));let r=Fp(c,0),i=!1;for(let e=0;e<c;e++){const t=tg.evalPoly(n,tg.exp(e));r[r.length-1-e]=t,0!==t&&(i=!0)}if(!i)return t;r=tg.polynomial(r);const o=tg.monomial(c,1),[s,a]=tg.euclidian(o,r,c),l=Fp(tg.degree(s),0);let d=0;for(let e=1;e<256&&d<l.length;e++)0===tg.evalPoly(s,e)&&(l[d++]=tg.inv(e));if(d!==l.length)throw new Error(\"RS.decode: wrong errors number\");for(let e=0;e<l.length;e++){const n=t.length-1-tg.log(l[e]);if(n<0)throw new Error(\"RS.decode: wrong error location\");const r=tg.inv(l[e]);let i=1;for(let t=0;t<l.length;t++)e!==t&&(i=tg.mul(i,tg.add(1,tg.mul(l[t],r))));t[n]=tg.add(t[n],tg.mul(tg.evalPoly(a,r),tg.inv(i)))}return t}});var c;return{encode(e){const t=[],n=[];for(let s=0;s<i;s++){const i=o+(s<r?0:1);t.push(e.subarray(0,i)),n.push(a.encode(e.subarray(0,i))),e=e.subarray(i)}const s=zp(...t),c=zp(...n),l=new Uint8Array(s.length+c.length);return l.set(s),l.set(c,s.length),l},decode(e){if(e.length!==s)throw new Error(`interleave.decode: len(data)=${e.length}, total=${s}`);const t=[];for(let e=0;e<i;e++){const i=e<r;t.push(new Uint8Array(n+o+(i?0:1)))}let c=0;for(let n=0;n<o;n++)for(let r=0;r<i;r++)t[r][n]=e[c++];for(let n=r;n<i;n++)t[n][o]=e[c++];for(let s=o;s<o+n;s++)for(let n=0;n<i;n++){const i=n<r;t[n][s+(i?0:1)]=e[c++]}const l=[];for(const e of t)l.push(...Array.from(a.decode(e)).slice(0,-n));return Uint8Array.from(l)}}}function rg(e,t,n,r){let i=\"\",o=n.length;if(\"numeric\"===r){const e=Qp.alphabet.numeric.decode(n.split(\"\")),t=e.length;for(let n=0;n<t-2;n+=3)i+=Up(100*e[n]+10*e[n+1]+e[n+2],10);t%3==1?i+=Up(e[t-1],4):t%3==2&&(i+=Up(10*e[t-2]+e[t-1],7))}else if(\"alphanumeric\"===r){const e=Qp.alphabet.alphanumerc.decode(n.split(\"\")),t=e.length;for(let n=0;n<t-1;n+=2)i+=Up(45*e[n]+e[n+1],11);t%2==1&&(i+=Up(e[t-1],6))}else{if(\"byte\"!==r)throw new Error(\"encode: unsupported type\");{const e=function(e){if(\"string\"!=typeof e)throw new Error(\"utf8ToBytes expected string, got \"+typeof e);return new Uint8Array((new TextEncoder).encode(e))}(n);o=e.length,i=Array.from(e).map((e=>Up(e,8))).join(\"\")}}const{capacity:s}=Qp.capacity(e,t),a=Up(o,Qp.lengthBits(e,r));let c=Qp.modeBits[r]+a+i;if(c.length>s)throw new Error(\"Capacity overflow\");c+=\"0\".repeat(Math.min(4,Math.max(0,s-c.length))),c.length%8&&(c+=\"0\".repeat(8-c.length%8));const l=\"1110110000010001\";for(let e=0;c.length!==s;e++)c+=l[e%16];const d=Uint8Array.from(c.match(/(.{8})/g).map((e=>Number(`0b${e}`))));return ng(e,t).encode(d)}function ig(e,t,n,r,i=!1){const o=function(e,t,n,r=!1){const i=Qp.size.encode(e);let o=new Wp(i+2);const s=new Wp(3).rect(0,3,!0).border(1,!1).border(1,!0).border(1,!1);o=o.embed(0,s).embed({x:-s.width,y:0},s).embed({x:0,y:-s.height},s),o=o.rectSlice(1,i);const a=new Wp(1).rect(0,1,!0).border(1,!1).border(1,!0),c=Qp.alignmentPatterns(e);for(const e of c)for(const t of c)void 0===o.data[e][t]&&o.embed({x:t-2,y:e-2},a);o=o.hLine({x:0,y:6},1/0,(({x:e},t)=>void 0===t?e%2==0:t)).vLine({x:6,y:0},1/0,(({y:e},t)=>void 0===t?e%2==0:t));{const e=Qp.formatBits(t,n),s=t=>!r&&1==(e>>t&1);for(let e=0;e<6;e++)o.data[e][8]=s(e);for(let e=6;e<8;e++)o.data[e+1][8]=s(e);for(let e=8;e<15;e++)o.data[i-15+e][8]=s(e);for(let e=0;e<8;e++)o.data[8][i-e-1]=s(e);for(let e=8;e<9;e++)o.data[8][15-e-1+1]=s(e);for(let e=9;e<15;e++)o.data[8][15-e-1]=s(e);o.data[i-8][8]=!r}if(e>=7){const t=Qp.versionBits(e);for(let e=0;e<18;e+=1){const n=!r&&1==(t>>e&1),s=Math.floor(e/3),a=e%3+i-8-3;o.data[s][a]=n,o.data[a][s]=n}}return o}(e,t,r,i);let s=0;const a=8*n.length;if(function(e,t,n){const r=e.height,i=eg[t];let o=-1,s=r-1;for(let t=r-1;t>0;t-=2){for(6==t&&(t=5);;s+=o){for(let r=0;r<2;r+=1){const o=t-r;void 0===e.data[s][o]&&n(o,s,i(o,s))}if(s+o<0||s+o>=r)break}o=-o}}(o,r,((e,t,r)=>{let i=!1;s<a&&(i=0!=(n[s>>>3]>>(7-s&7)&1),s++),o.data[t][e]=i!==r})),s!==a)throw new Error(\"QR: bytes left after draw\");return o}function og(e){const t=e.inverse(),n=e=>{let t=0;for(let n,r=0,i=1;r<e.length;r++)n===e[r]&&(i++,r!==e.length-1)||(i>=5&&(t+=i-5+3),n=e[r],i=1);return t};let r=0;e.data.forEach((e=>r+=n(e))),t.data.forEach((e=>r+=n(e)));let i=0,o=e.data;const s=e.width-1,a=e.height-1;for(let e=0;e<s;e++)for(let t=0;t<a;t++){const n=e+1,r=t+1;o[e][t]===o[n][t]&&o[n][t]===o[e][r]&&o[n][t]===o[n][r]&&(i+=3)}const c=e=>{const t=[!0,!1,!0,!0,!0,!1,!0],n=[!1,!1,!1,!1],r=[...t,...n],i=[...n,...t];let o=0;for(let t=0;t<e.length;t++)qp(e,r,t)&&(o+=40),qp(e,i,t)&&(o+=40);return o};let l=0;for(const t of e.data)l+=c(t);for(const e of t.data)l+=c(e);let d=0;e.rectRead(0,1/0,((e,t)=>d+=t?1:0));const u=d/(e.height*e.width)*100,h=10*Math.floor(Math.abs(u-50)/5);return r+i+l+h}function sg(e,t=\"raw\",n={}){const r=void 0!==n.ecc?n.ecc:\"medium\";!function(e){if(!Gp.includes(e))throw new Error(`Invalid error correction mode=${e}. Expected: ${Gp}`)}(r);const i=void 0!==n.encoding?n.encoding:function(e){let t=\"numeric\";for(let n of e)if(!Qp.alphabet.numeric.has(n)&&(t=\"alphanumeric\",!Qp.alphabet.alphanumerc.has(n)))return\"byte\";return t}(e);!function(e){if(!Zp.includes(e))throw new Error(`Encoding: invalid mode=${e}. Expected: ${Zp}`);if(\"kanji\"===e||\"eci\"===e)throw new Error(`Encoding: ${e} is not supported (yet?).`)}(i),void 0!==n.mask&&function(e){if(![0,1,2,3,4,5,6,7].includes(e)||!eg[e])throw new Error(`Invalid mask=${e}. Expected number [0..7]`)}(n.mask);let o,s=n.version,a=new Error(\"Unknown error\");if(void 0!==s)!function(e){if(!Number.isSafeInteger(e)||e<1||e>40)throw new Error(`Invalid version=${e}. Expected number [1..40]`)}(s),o=rg(s,r,e,i);else for(let t=1;t<=40;t++)try{o=rg(t,r,e,i),s=t;break}catch(e){a=e}if(!s||!o)throw a;let c=function(e,t,n,r){if(void 0===r){const i=function(){let e,t=1/0;return{add(n,r){n>=t||(e=r,t=n)},get:()=>e,score:()=>t}}();for(let r=0;r<eg.length;r++)i.add(og(ig(e,t,n,r,!0)),r);r=i.get()}if(void 0===r)throw new Error(\"Cannot find mask\");return ig(e,t,n,r)}(s,r,o,n.mask);c.assertDrawn();const l=void 0===n.border?2:n.border;if(!Number.isSafeInteger(l))throw new Error(\"Wrong border type=\"+typeof l);if(c=c.border(l,!1),void 0!==n.scale&&(c=c.scale(n.scale)),\"raw\"===t)return c.data;if(\"ascii\"===t)return c.toASCII();if(\"svg\"===t)return c.toSVG();if(\"gif\"===t)return c.toGIF();if(\"term\"===t)return c.toTerm();throw new Error(`Unknown output: ${t}`)}const ag={DESKTOP:\"Desktop\",MOBILE:\"Mobile\",META_MASK_MOBILE_APP:\"MetaMask mobile app\",SCAN_TO_CONNECT:\"Scan to connect and sign with\",CONNECT_WITH_EXTENSION:\"Connect With MetaMask Extension\",INSTALL_MODAL:{TRUSTED_BY_USERS:\"Trusted by over 30 million users to buy, store, send and swap crypto securely\",LEADING_CRYPTO_WALLET:\"The leading crypto wallet & gateway to blockchain apps built on Ethereum Mainnet, Polygon, Optimism, and many other networks\",CONTROL_DIGITAL_INTERACTIONS:\"Puts you in control of your digital interactions by making power of cryptography more accessible\",INSTALL_META_MASK_EXTENSION:\"Install MetaMask Extension\"},PENDING_MODAL:{OPEN_META_MASK_SELECT_CODE:\"Please open the MetaMask wallet app and select the code on the screen OR disconnect\",OPEN_META_MASK_CONTINUE:\"Open the MetaMask app to continue with your session.\",NUMBER_AFTER_OPEN_NOTICE:\"If a number doesn't appear after opening MetaMask, please click disconnect and re-scan the QRCode.\",DISCONNECT:\"Disconnect\"},SELECT_MODAL:{CRYPTO_TAKE_CONTROL_TEXT:\"Take control of your crypto and explore the blockchain with the wallet trusted by over 30 million people worldwide\"},META_MASK_MODAL:{ADDRESS_COPIED:\"Address copied to clipboard!\",DISCONNECT:\"Disconnect\",ACTIVE_NETWORK:\"Active Network\"}};class cg{constructor(e){var t;this.translations=ag,this.supportedLocales=[\"es\",\"fr\",\"he\",\"it\",\"pt\",\"tr\"],this.baseUrl=null!==(t=null==e?void 0:e.baseUrl)&&void 0!==t?t:\"https://raw.githubusercontent.com/MetaMask/metamask-sdk/refs/heads/gh-pages/locales\"}getBrowserLanguage(){if((navigator.languages||[navigator.language]).some((e=>e.toLowerCase().startsWith(\"en\"))))return\"en\";const e=navigator.language.toLowerCase().split(\"-\")[0];return this.supportedLocales.includes(e)?e:\"en\"}async init(e){const t=this.getBrowserLanguage()||e.fallbackLng;await this.loadTranslations(t)}async loadTranslations(e){const t=e.split(\"-\")[0];if(\"en\"!==t&&this.supportedLocales.includes(t))try{const e=`${this.baseUrl}/${t}.json`,n=await fetch(e);if(!n.ok)throw new Error(`HTTP error! status: ${n.status}`);this.translations=await n.json()}catch(e){console.warn(`❌ Failed to load ${t} translations, falling back to English:`,e),this.translations=ag}else this.translations=ag}t(e){return this.getNestedTranslation(e,this.translations)||e}getNestedTranslation(e,t){const n=e.split(\".\");let r=t;for(const e of n){if(\"object\"!=typeof r)return\"\";r=r[e]}return\"string\"==typeof r?r:\"\"}}var lg;!function(e){e.SDK_MODAL_VIEWED=\"sdk_modal_viewed\",e.SDK_MODAL_BUTTON_CLICKED=\"sdk_modal_button_clicked\",e.SDK_MODAL_TOGGLE_CHANGED=\"sdk_modal_toggle_changed\"}(lg||(lg={}));const dg=class{constructor(e){uf(this,e),this.close=Vf(this,\"close\",7),this.startDesktopOnboarding=Vf(this,\"startDesktopOnboarding\",7),this.trackAnalytics=Vf(this,\"trackAnalytics\",7),this.link=void 0,this.sdkVersion=void 0,this.preferDesktop=void 0,this.tab=1,this.isDefaultTab=!0,this.translationsLoaded=!1,this.onClose=this.onClose.bind(this),this.onStartDesktopOnboardingHandler=this.onStartDesktopOnboardingHandler.bind(this),this.setTab=this.setTab.bind(this),this.render=this.render.bind(this),this.setTab(this.preferDesktop?1:2),this.i18nInstance=new cg}componentDidLoad(){this.trackAnalytics.emit({event:lg.SDK_MODAL_VIEWED,params:{extensionInstalled:!1,tab:1===this.tab?\"desktop\":\"mobile\"}})}async connectedCallback(){await this.i18nInstance.init({fallbackLng:\"en\"}),this.translationsLoaded=!0}updatePreferDesktop(e){e?this.setTab(1):this.setTab(2)}onClose(e=!1){this.close.emit({shouldTerminate:e})}onStartDesktopOnboardingHandler(){this.trackAnalytics.emit({event:lg.SDK_MODAL_BUTTON_CLICKED,params:{button_type:\"install_extension\",tab:\"desktop\"}}),this.startDesktopOnboarding.emit()}setTab(e,t=!1){t&&this.trackAnalytics.emit({event:lg.SDK_MODAL_TOGGLE_CHANGED,params:{toggle:1===this.tab?\"desktop_to_mobile\":\"mobile_to_desktop\"}}),this.tab=e,this.isDefaultTab=!1}render(){if(!this.translationsLoaded)return null;const e=e=>this.i18nInstance.t(e),t=this.isDefaultTab?this.preferDesktop?1:2:this.tab,n=sg(this.link,\"svg\",{ecc:\"medium\",scale:2});return Kf(Lp,{className:\"install-model\"},Kf(\"div\",{class:\"backdrop\",onClick:()=>this.onClose(!0)}),Kf(\"div\",{class:\"modal\"},Kf(\"div\",{class:\"closeButtonContainer\"},Kf(\"div\",{class:\"right\"},Kf(\"span\",{class:\"closeButton\",onClick:()=>this.onClose(!0)},Kf(Kp,null)))),Kf(\"div\",{class:\"logoContainer\"},Kf(jp,null)),Kf(\"div\",null,Kf(\"div\",{class:\"tabcontainer\"},Kf(\"div\",{class:\"flexContainer\"},Kf(\"div\",{onClick:()=>this.setTab(1,!0),class:\"tab flexItem \"+(1===t?\"tabactive\":\"\")},e(\"DESKTOP\")),Kf(\"div\",{onClick:()=>this.setTab(2,!0),class:\"tab flexItem \"+(2===t?\"tabactive\":\"\")},e(\"MOBILE\")))),Kf(\"div\",{style:{display:1===t?\"none\":\"block\"}},Kf(\"div\",{class:\"flexContainer\"},Kf(\"div\",{class:\"flexItem\",style:{textAlign:\"center\",marginTop:\"4\"}},n&&Kf(\"div\",{id:\"sdk-mm-qrcode\",class:\"center\",innerHTML:n}),Kf(\"div\",{class:\"connectMobileText\"},e(\"SCAN_TO_CONNECT\"),\" \",Kf(\"br\",null),Kf(\"span\",{class:\"blue\"},Kf(\"b\",null,e(\"META_MASK_MOBILE_APP\"))))))),Kf(\"div\",{style:{display:2===t?\"none\":\"block\"}},Kf(\"div\",{class:\"item\"},Kf(Op,{Icon:Np,text:e(\"INSTALL_MODAL.TRUSTED_BY_USERS\")})),Kf(\"div\",{class:\"item\"},Kf(Op,{Icon:Tp,text:e(\"INSTALL_MODAL.LEADING_CRYPTO_WALLET\")})),Kf(\"div\",{class:\"item\"},Kf(Op,{Icon:Dp,text:e(\"INSTALL_MODAL.CONTROL_DIGITAL_INTERACTIONS\")})),Kf(\"button\",{class:\"button\",onClick:()=>this.onStartDesktopOnboardingHandler()},Kf($p,null),Kf(\"span\",{class:\"installExtensionText\"},e(\"INSTALL_MODAL.INSTALL_META_MASK_EXTENSION\"))))),Kf(Bp,{version:this.sdkVersion})))}get el(){return qf(this)}static get watchers(){return{preferDesktop:[\"updatePreferDesktop\"]}}};dg.style=\".flexContainer {\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n flex-direction: row;\\n}\\n\\n.flexItem {\\n flex: 1;\\n justify-content: center;\\n align-items: center;\\n}\\n\\n.flexItem11 {\\n flex: 11;\\n justify-content: center;\\n align-items: center;\\n}\\n\\n.flexItem1 {\\n flex: 1;\\n justify-content: center;\\n align-items: center;\\n}\\n\\n.tab {\\n padding: 8px;\\n cursor: pointer;\\n background-color: #F2F4F6;\\n font-size: 12px;\\n text-align: center;\\n color: #24292E;\\n}\\n\\n.tabcontainer {\\n padding: 4px;\\n background-color: #F2F4F6;\\n border-radius: 8px;\\n margin-bottom: 30px;\\n margin-top: 30px;\\n}\\n\\n.tabactive {\\n background-color: white;\\n -webkit-transition: background-color 300ms linear;\\n -ms-transition: background-color 300ms linear;\\n transition: background-color 300ms linear;\\n border-radius: 8px;\\n}\\n\\n.item {\\n font-size: 12px;\\n margin-bottom: 16px;\\n border-radius: 8px;\\n padding: 10px;\\n border: 2px #F2F4F6 solid;\\n color: #24292E;\\n}\\n\\n.extensionLabel {\\n font-style: normal;\\n font-weight: bold;\\n font-size: 14px;\\n text-align: cetner;\\n color: #24272A;\\n}\\n\\n.notice {\\n font-size: 12px;\\n margin-left: 10px;\\n margin-right: 10px;\\n color: grey;\\n}\\n\\n.button {\\n margin-top: 41.5px;\\n margin-bottom: 20px;\\n width: 100%;\\n display: flex;\\n flex-direction: row;\\n justify-content: center;\\n align-items: center;\\n padding: 12px 20px;\\n background: #037DD6;\\n border-radius: 32px;\\n color: white;\\n border: 0;\\n font-size: 14px;\\n cursor: pointer;\\n}\\n\\n.backdrop {\\n visibility: visible;\\n position: fixed;\\n top: 0;\\n left: 0;\\n right: 0;\\n bottom: 0;\\n width: 100%;\\n z-index: 99998;\\n background: rgba(0, 0, 0, 0.87);\\n opacity: 0.3;\\n}\\n\\n.modal {\\n visibility: visible;\\n position: fixed;\\n left: 50%;\\n transform: translate(-50%, -50%);\\n z-index: 99999;\\n background: white;\\n padding: 20px;\\n border-radius: 8px;\\n top: 50%;\\n max-width: 100%;\\n width: 460px;\\n min-width: 300px;\\n box-shadow: rgba(0, 0, 0, 0.2) 0px 11px 15px -7px, rgba(0, 0, 0, 0.14) 0px 24px 38px 3px, rgba(0, 0, 0, 0.12) 0px 9px 46px 8px;\\n -webkit-font-smoothing: antialiased;\\n}\\n\\n.closeButton {\\n color: #BBC0C5;\\n cursor: pointer;\\n}\\n\\n.logoContainer {\\n margin-left: 24px;\\n margin-right: 24px;\\n margin-top: 24px;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n}\\n\\n.connectMobileText {\\n font-size: 14px;\\n color: black;\\n margin-top: 28px;\\n margin-bottom: 28px;\\n line-height: 2;\\n}\\n\\n.blue {\\n color: #037DD6;\\n font-weight: 700;\\n}\\n\\n.installExtensionText {\\n margin-left: 10px;\\n}\\n\\n.center {\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n}\\n\\n.right {\\n display: flex;\\n align-items: center;\\n justify-content: right;\\n}\\n\\n#sdk-mm-qrcode {\\n svg {\\n width: 50%;\\n }\\n}\";const ug=class{constructor(e){uf(this,e),this.close=Vf(this,\"close\",7),this.disconnect=Vf(this,\"disconnect\",7),this.updateOTPValue=Vf(this,\"updateOTPValue\",7),this.displayOTP=void 0,this.sdkVersion=void 0,this.otpCode=void 0,this.translationsLoaded=!1,this.i18nInstance=new cg}async connectedCallback(){await this.i18nInstance.init({fallbackLng:\"en\"}),this.translationsLoaded=!0}onClose(){this.close.emit()}onDisconnect(){this.disconnect.emit()}onUpdateOTPValueHandler(e){this.updateOTPValue.emit({otpValue:e})}disconnectedCallback(){this.onClose()}render(){var e;if(!this.translationsLoaded)return null;const t=null===(e=this.displayOTP)||void 0===e||e,n=this.sdkVersion,r=e=>this.i18nInstance.t(e);return Kf(Lp,{className:\"pending-modal\"},Kf(\"div\",{class:\"backdrop\",onClick:()=>this.onClose()}),Kf(\"div\",{class:\"modal\"},Kf(\"div\",{class:\"closeButtonContainer\"},Kf(\"div\",{class:\"right\"},Kf(\"span\",{class:\"closeButton\",onClick:()=>this.onClose()},Kf(Kp,null)))),Kf(\"div\",{class:\"logoContainer\"},Kf(jp,null)),Kf(\"div\",null,Kf(\"div\",{class:\"flexContainer\",style:{flexDirection:\"column\",color:\"black\"}},Kf(\"div\",{class:\"flexItem\",style:{textAlign:\"center\",marginTop:\"30px\",marginBottom:\"30px\",fontSize:\"16px\"}},r(t?\"PENDING_MODAL.OPEN_META_MASK_SELECT_CODE\":\"PENDING_MODAL.OPEN_META_MASK_CONTINUE\")),Kf(\"div\",{id:\"sdk-mm-otp-value\",style:{padding:\"10px\",fontSize:\"32px\",display:this.otpCode?\"block\":\"none\"}},this.otpCode),t&&Kf(\"div\",{class:\"notice\"},\"* \",r(\"PENDING_MODAL.NUMBER_AFTER_OPEN_NOTICE\"))),Kf(\"div\",{style:{marginTop:\"20px\"}},Kf(\"button\",{class:\"button blue\",style:{marginTop:\"5px\",color:\"#0376C9\",borderColor:\"#0376C9\",borderWidth:\"1px\",borderStyle:\"solid\",backgroundColor:\"white\"},onClick:()=>this.onDisconnect()},r(\"PENDING_MODAL.DISCONNECT\")))),Kf(Bp,{version:n})))}get el(){return qf(this)}};ug.style=\".flexContainer {\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n flex-direction: row;\\n}\\n\\n.flexItem {\\n flex: 1;\\n justify-content: center;\\n align-items: center;\\n}\\n\\n.flexItem11 {\\n flex: 11;\\n justify-content: center;\\n align-items: center;\\n}\\n\\n.flexItem1 {\\n flex: 1;\\n justify-content: center;\\n align-items: center;\\n}\\n\\n.tab {\\n padding: 8px;\\n cursor: pointer;\\n background-color: #F2F4F6;\\n font-size: 12px;\\n text-align: center;\\n color: #24292E;\\n}\\n\\n.tabcontainer {\\n padding: 4px;\\n background-color: #F2F4F6;\\n border-radius: 8px;\\n margin-bottom: 30px;\\n margin-top: 30px;\\n}\\n\\n.tabactive {\\n background-color: white;\\n -webkit-transition: background-color 300ms linear;\\n -ms-transition: background-color 300ms linear;\\n transition: background-color 300ms linear;\\n border-radius: 8px;\\n}\\n\\n.item {\\n font-size: 12px;\\n margin-bottom: 16px;\\n border-radius: 8px;\\n padding: 10px;\\n border: 2px #F2F4F6 solid;\\n color: #24292E;\\n}\\n\\n.extensionLabel {\\n font-style: normal;\\n font-weight: bold;\\n font-size: 14px;\\n text-align: cetner;\\n color: #24272A;\\n}\\n\\n.notice {\\n font-size: 12px;\\n margin-left: 10px;\\n margin-right: 10px;\\n color: grey;\\n}\\n\\n.button {\\n margin-top: 41.5px;\\n margin-bottom: 20px;\\n width: 100%;\\n display: flex;\\n flex-direction: row;\\n justify-content: center;\\n align-items: center;\\n padding: 12px 20px;\\n background: #037DD6;\\n border-radius: 32px;\\n color: white;\\n border: 0;\\n font-size: 14px;\\n cursor: pointer;\\n}\\n\\n.backdrop {\\n visibility: visible;\\n position: fixed;\\n top: 0;\\n left: 0;\\n right: 0;\\n bottom: 0;\\n width: 100%;\\n z-index: 99998;\\n background: rgba(0, 0, 0, 0.87);\\n opacity: 0.3;\\n}\\n\\n.modal {\\n visibility: visible;\\n position: fixed;\\n left: 50%;\\n transform: translate(-50%, -50%);\\n z-index: 99999;\\n background: white;\\n padding: 20px;\\n border-radius: 8px;\\n top: 50%;\\n max-width: 100%;\\n width: 460px;\\n min-width: 300px;\\n box-shadow: rgba(0, 0, 0, 0.2) 0px 11px 15px -7px, rgba(0, 0, 0, 0.14) 0px 24px 38px 3px, rgba(0, 0, 0, 0.12) 0px 9px 46px 8px;\\n -webkit-font-smoothing: antialiased;\\n}\\n\\n.closeButton {\\n color: #BBC0C5;\\n cursor: pointer;\\n}\\n\\n.logoContainer {\\n margin-left: 24px;\\n margin-right: 24px;\\n margin-top: 24px;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n}\\n\\n.connectMobileText {\\n font-size: 14px;\\n color: black;\\n margin-top: 28px;\\n margin-bottom: 28px;\\n line-height: 2;\\n}\\n\\n.blue {\\n color: #037DD6;\\n font-weight: 700;\\n}\\n\\n.installExtensionText {\\n margin-left: 10px;\\n}\\n\\n.center {\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n}\\n\\n.right {\\n display: flex;\\n align-items: center;\\n justify-content: right;\\n}\\n\\n#sdk-mm-qrcode {\\n svg {\\n width: 50%;\\n }\\n}\";const hg=()=>Kf(\"svg\",{width:\"21\",height:\"15\",viewBox:\"0 0 21 15\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\"},Kf(\"path\",{d:\"M14.1364 14.9851C13.5909 14.9851 13.2273 14.5851 13.2273 13.9851C13.2273 13.3851 13.5909 12.9851 14.1364 12.9851C16.6818 12.9851 18.6818 10.7851 18.6818 7.98508C18.6818 5.18508 16.6818 2.98508 14.1364 2.98508C11.5909 2.98508 9.59091 5.18508 9.59091 7.98508C9.59091 8.58508 9.22727 8.98508 8.68182 8.98508C8.13636 8.98508 7.77273 8.58508 7.77273 7.98508C7.77273 4.08508 10.5909 0.985077 14.1364 0.985077C17.6818 0.985077 20.5 4.08508 20.5 7.98508C20.5 11.8851 17.6818 14.9851 14.1364 14.9851ZM6.68182 14.7851C3.22727 14.7851 0.5 11.6851 0.5 7.98508C0.5 4.28508 3.22727 1.18508 6.68182 1.18508C7.22727 1.18508 7.59091 1.58508 7.59091 2.18508C7.59091 2.78508 7.22727 3.18508 6.68182 3.18508C4.22727 3.18508 2.31818 5.38508 2.31818 7.98508C2.31818 10.5851 4.22727 12.7851 6.68182 12.7851C9.13636 12.7851 11.0455 10.6851 11.0455 7.98508C11.0455 7.38508 11.4091 6.98508 11.9545 6.98508C12.5 6.98508 12.8636 7.38508 12.8636 7.98508C12.7727 11.6851 10.0455 14.7851 6.68182 14.7851Z\",fill:\"white\"})),fg=()=>Kf(\"svg\",{width:\"400\",height:\"300\",viewBox:\"0 0 467 300\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\"},Kf(\"path\",{d:\"M312.387 280.629C312.549 280.583 312.247 280.735 312.387 280.629L339.678 260.425C340.088 260.118 340.132 259.156 340.07 258.647C340.008 258.138 339.573 258.257 339.106 258.084L311.712 247.455C311.292 247.301 311.308 247.402 310.939 247.673C310.569 247.944 310.356 248.21 310.356 248.672L310.459 279.504C310.461 280.025 311.163 280.619 311.614 280.847C311.913 280.996 312.072 280.718 312.387 280.629ZM336.204 259.736L312.979 276.292L313.439 251.139L336.204 259.736Z\",fill:\"url(#paint0_linear_1356_14057)\"}),Kf(\"path\",{d:\"M324.639 260.342C324.358 259.547 323.485 258.91 322.707 259.215C319.6 260.432 318.17 262.313 317.287 264.066C316.482 265.665 316.197 267.482 314.188 268.269C312.178 269.055 310.763 268.663 309.162 268.007C307.406 267.287 305.504 266.182 302.397 267.399C299.289 268.616 297.859 270.497 296.976 272.25C296.171 273.849 295.697 274.886 293.685 275.673C291.675 276.459 290.261 276.067 288.659 275.411C286.903 274.691 284.999 273.587 281.894 274.803C278.789 276.019 277.549 278.681 276.666 280.434C275.861 282.034 275.386 283.07 273.374 283.857C272.596 284.161 271.931 285.055 272.211 285.849C272.492 286.644 273.365 287.281 274.143 286.977C277.25 285.76 278.68 283.879 279.563 282.125C280.368 280.526 280.65 278.71 282.662 277.923C284.672 277.136 286.087 277.528 287.688 278.184C289.444 278.904 291.348 280.009 294.453 278.793C297.561 277.576 298.991 275.695 299.874 273.941C300.679 272.342 301.153 271.306 303.165 270.519C305.175 269.732 306.589 270.124 308.191 270.78C309.947 271.5 311.849 272.605 314.956 271.388C318.063 270.172 319.301 267.511 320.184 265.757C320.989 264.158 321.466 263.121 323.476 262.335C324.254 262.032 324.919 261.137 324.639 260.342Z\",fill:\"url(#paint1_linear_1356_14057)\"}),Kf(\"path\",{d:\"M389.034 111.124C388.968 112.406 387.342 113.113 386.324 113.549C384.297 114.419 382.089 114.493 379.942 114.5C376.607 114.509 373.215 114.163 369.89 113.976C366.712 113.798 363.156 113.311 360.03 114.232C357.705 114.919 355.667 116.762 353.452 117.739C351.129 118.765 348.957 119.198 346.489 119.687C335.569 121.85 323.587 120.825 312.656 119.977C311.92 119.92 312.539 118.997 313.237 118.981C313.207 118.815 313.001 118.394 313.045 118.201C313.086 118.029 312.781 117.586 312.853 117.421C312.67 117.198 313.316 117.427 313.626 117.204C315.912 115.557 318.721 114.79 321.363 115.041C324.677 115.355 327.293 116.04 330.641 115.781C334.392 115.491 338.125 114.787 341.857 114.312C345.142 113.892 349.09 113.941 352.106 112.28C352.916 111.834 353.137 111.262 353.269 110.287C353.331 109.828 353.672 108.969 353.658 108.511C353.629 107.529 354.191 107.886 355.013 107.298C356.857 105.981 358.274 105.516 360.428 105.784C362.841 106.083 365.264 107.273 367.578 107.953C370.761 108.888 374.328 108.646 377.631 108.477C380.517 108.329 383.141 107.901 385.944 108.653C387.013 108.941 389.104 109.745 389.034 111.124Z\",fill:\"url(#paint2_linear_1356_14057)\"}),Kf(\"path\",{d:\"M278.118 85.4414C280.313 83.8186 283.302 83.9 285.853 83.2728C290.501 82.127 295.644 78.4476 300.549 79.1524C301.299 79.2595 300.904 81.0355 300.159 80.9295C300.131 80.9256 300.187 80.9333 300.159 80.9295C300.089 81.0185 299.516 81.1051 299.385 81.1463C294.999 82.515 292.895 87.5083 289.126 89.8598C287.799 90.688 286.771 90.8351 285.258 90.9441C283.515 91.0691 280.964 90.5775 279.269 90.1219C277.15 89.5532 275.965 87.034 278.118 85.4414Z\",fill:\"url(#paint3_linear_1356_14057)\"}),Kf(\"path\",{d:\"M122.567 166.093C113.597 172.832 104.535 179.836 99.517 190.092C98.5342 192.099 97.519 195.019 97.9533 197.204C98.9699 202.316 105.76 203.049 110.691 201.96C113.468 201.347 116.325 199.231 115.921 196.319C115.576 193.81 113.158 192.986 112.072 190.73C110.779 188.04 112.35 184.97 114.218 182.62C128.134 165.099 150.074 157.394 171.093 151.607C175.385 150.425 180.897 147.69 180.581 143.099C180.372 140.072 177.118 137.683 174.221 137.383C171.324 137.082 168.481 138.773 165.715 139.776C158.416 142.419 151.17 143.799 143.489 143.526C136.865 143.29 130.976 143.316 129.562 150.781C128.138 158.276 129.53 160.863 122.567 166.093Z\",fill:\"url(#paint4_linear_1356_14057)\"}),Kf(\"path\",{d:\"M79.1056 153.531C60.3932 164.378 43.7478 178.354 32.8214 197.415C30.3313 201.76 27.9216 206.554 27.1821 211.512C26.4448 216.47 27.7591 222.525 30.8133 226.337C34.908 231.446 41.6938 232.915 48.1811 233.125C50.7248 233.208 53.0035 233.066 55.3316 231.947C57.6602 230.83 59.7548 228.359 59.5978 225.742C59.3303 221.315 54.5491 219.665 50.9271 217.34C42.6566 212.037 40.4958 199.493 44.2381 190.032C47.9803 180.57 55.8228 173.173 63.2316 166.338C67.229 162.651 71.5194 158.372 76.777 157.522C79.9167 157.015 83.4706 157.589 86.6295 157.252C93.9004 156.479 99.64 151.404 105.588 146.912C115.048 139.765 126.045 134.283 137.501 132.093C141.913 131.248 146.293 130.493 149.682 127.831C151.37 126.507 150.803 123.567 148.726 123.93C138.542 125.713 128.652 131.135 119.142 134.758C105.627 139.914 91.7133 146.223 79.1056 153.531Z\",fill:\"url(#paint5_linear_1356_14057)\"}),Kf(\"path\",{d:\"M96.3677 117.321C96.0315 116.64 95.2914 116.612 94.6293 116.975C91.9858 118.417 91.5452 120.509 90.9466 122.178C90.4004 123.702 89.3647 124.67 87.6542 125.604C85.9437 126.538 85.0983 126.316 83.5956 125.91C81.9481 125.465 79.8603 125.424 77.2168 126.866C74.5734 128.309 74.1348 130.401 73.5341 132.07C72.9879 133.593 71.9522 134.562 70.2417 135.496C68.5313 136.43 67.6859 136.208 66.1832 135.801C64.5357 135.357 62.2569 134.538 59.6128 135.978C56.9694 137.42 56.5308 139.512 55.9301 141.181C55.3839 142.705 54.5398 144.454 52.8293 145.388C52.1667 145.748 52.1006 146.485 52.439 147.165C52.7752 147.845 53.5153 147.874 54.1773 147.511C56.8208 146.069 57.2594 143.977 57.86 142.307C58.4062 140.784 59.4419 139.815 61.1524 138.881C62.8629 137.948 63.7083 138.17 65.211 138.576C66.8585 139.021 68.9458 139.059 71.5898 137.619C74.2333 136.177 74.6718 134.085 75.2725 132.416C75.8187 130.892 76.8544 129.924 78.5649 128.99C80.2754 128.056 81.1207 128.278 82.6235 128.684C84.2709 129.129 86.5503 129.95 89.1938 128.507C91.8373 127.065 92.2779 124.973 92.8765 123.304C93.4227 121.78 94.2663 120.03 95.9773 119.098C96.6378 118.738 96.7039 118.001 96.3677 117.321Z\",fill:\"#FBC49D\"}),Kf(\"path\",{d:\"M391.827 164.699C392.04 164.639 392.39 164.573 392.6 164.481C393.87 163.921 395.363 162.429 395.893 161.051C396.421 159.673 396.237 158.321 395.712 156.931C394.629 154.061 391.777 152.62 389.155 153.775C386.531 154.931 384.962 158.455 386.042 161.325C387.038 163.963 389.369 165.392 391.827 164.699ZM394.166 157.367C394.529 158.332 394.52 159.751 394.156 160.706C393.792 161.662 393.1 162.534 392.218 162.921C390.398 163.723 388.338 162.878 387.589 160.889C387.226 159.925 387.234 158.506 387.599 157.55C387.963 156.594 388.654 155.723 389.536 155.336C391.356 154.534 393.416 155.376 394.166 157.367Z\",fill:\"#86E29B\"}),Kf(\"path\",{d:\"M62.7198 108.691C64.4912 108.191 66.6152 106.609 67.5596 104.824C68.4273 103.187 68.465 101.455 67.9609 99.7066C67.4547 97.9586 66.0792 96.5141 64.4963 95.6786C62.9135 94.843 61.2077 94.8578 59.4756 95.4255C57.7435 95.9933 56.2768 97.4364 55.409 99.074C53.6185 102.456 55.2032 106.494 58.4723 108.22C60.0142 109.035 61.1315 109.138 62.7198 108.691ZM60.6304 96.7682C61.819 96.4332 63.0232 96.8871 64.1048 97.4571C65.2463 98.0603 66.0495 98.8796 66.4145 100.142C66.7791 101.403 66.4488 103.299 65.8224 104.48C64.5299 106.919 61.2212 107.686 58.8638 106.441C56.5063 105.197 55.8538 101.858 57.1462 99.4185C57.7726 98.2375 58.6059 97.3957 59.8573 96.9862C59.9214 96.9635 60.5631 96.7872 60.6304 96.7682Z\",fill:\"#FFB0EB\"}),Kf(\"path\",{d:\"M77.0217 242.979C75.9542 243.28 75.1664 242.151 74.9029 241.074C74.6394 239.996 75 239.378 76.0676 239.077C77.1351 238.776 78.5053 238.907 78.7688 239.984C79.0323 241.061 78.0893 242.678 77.0217 242.979Z\",fill:\"url(#paint6_linear_1356_14057)\"}),Kf(\"path\",{d:\"M380.506 184.577C379.439 184.878 378.651 183.749 378.387 182.672C378.124 181.594 378.484 180.976 379.552 180.675C380.619 180.374 381.99 180.505 382.253 181.582C382.517 182.659 381.574 184.276 380.506 184.577Z\",fill:\"url(#paint7_linear_1356_14057)\"}),Kf(\"path\",{d:\"M348.82 246.969C347.752 247.27 346.382 247.14 346.119 246.063C345.855 244.985 346.798 243.369 347.866 243.068C348.933 242.767 349.721 243.896 349.985 244.973C350.248 246.05 349.888 246.669 348.82 246.969Z\",fill:\"url(#paint8_linear_1356_14057)\"}),Kf(\"path\",{d:\"M140.419 282.412C139.351 282.713 138.754 282.365 138.491 281.288C138.227 280.21 138.397 278.812 139.464 278.511C140.532 278.21 142.093 279.121 142.357 280.198C142.62 281.275 141.486 282.111 140.419 282.412Z\",fill:\"url(#paint9_linear_1356_14057)\"}),Kf(\"path\",{d:\"M121.462 101.679C120.395 101.979 119.798 101.631 119.534 100.554C119.271 99.4764 119.44 98.0779 120.508 97.777C121.575 97.4761 123.136 98.3868 123.4 99.4642C123.663 100.542 122.53 101.378 121.462 101.679Z\",fill:\"url(#paint10_linear_1356_14057)\"}),Kf(\"path\",{d:\"M370.749 159.005C369.682 159.306 368.311 159.175 368.048 158.098C367.784 157.021 368.727 155.404 369.795 155.103C370.863 154.802 371.65 155.931 371.914 157.008C372.177 158.086 371.817 158.704 370.749 159.005Z\",fill:\"url(#paint11_linear_1356_14057)\"}),Kf(\"path\",{d:\"M384.211 245.345C383.143 245.646 381.773 245.515 381.51 244.438C381.246 243.361 382.189 241.744 383.257 241.443C384.324 241.142 385.112 242.271 385.376 243.348C385.639 244.426 385.278 245.044 384.211 245.345Z\",fill:\"url(#paint12_linear_1356_14057)\"}),Kf(\"path\",{d:\"M364.771 41.3873C363.063 41.8687 361.337 40.8616 360.915 39.1378C360.493 37.414 361.536 35.6263 363.244 35.1449C364.953 34.6634 366.679 35.6706 367.101 37.3944C367.522 39.1182 366.479 40.9059 364.771 41.3873Z\",fill:\"url(#paint13_linear_1356_14057)\"}),Kf(\"path\",{d:\"M404.311 77.905C404.602 77.8231 404.875 77.9236 405.084 77.6871C405.437 77.2908 404.814 76.6385 404.703 76.1265L401.277 58.7418C401.149 58.163 400.687 57.5371 400.123 57.3991C399.558 57.2611 398.969 57.3812 398.576 57.835L385.784 73.1179C385.395 73.564 385.199 74.3453 385.393 74.8964C385.585 75.4481 385.978 76.1646 386.548 76.2391L403.538 78.123C403.744 78.1479 404.114 77.9607 404.311 77.905ZM398.948 62.7348L401.811 74.4394L389.841 72.8085L398.948 62.7348Z\",fill:\"#FFB0EB\"}),Kf(\"path\",{d:\"M97.5393 295.311C97.7108 295.263 97.4284 295.461 97.5393 295.311L108.785 280.464C108.975 280.211 108.718 279.972 108.594 279.684C108.47 279.396 108.124 279.917 107.821 279.902L88.5106 278.672C88.2101 278.659 87.895 278.62 87.7374 278.89C87.5798 279.159 87.7755 279.402 87.9283 279.67L96.5753 294.749C96.7102 294.99 97.2696 295.297 97.5393 295.311C97.6283 295.319 97.4556 295.335 97.5393 295.311ZM106.465 281.118L96.9667 292.97L90.6295 280.577L106.465 281.118Z\",fill:\"#86E29B\"}),Kf(\"path\",{d:\"M393.699 108.848C389.518 104.446 414.629 114.366 413.945 120.659C413.259 126.952 401.355 129.102 403.894 123.491C406.042 118.747 400.376 115.876 393.699 108.848Z\",fill:\"#FBC49D\"}),Kf(\"path\",{d:\"M139.414 115.959C139.434 115.953 139.392 115.965 139.414 115.959C141.963 115.2 143.436 111.976 142.717 109.189C142.37 107.839 141.526 107.199 140.408 106.504C139.289 105.808 138.171 105.449 136.933 105.815C135.698 106.182 134.85 107.033 134.222 108.247C133.595 109.461 133.282 111.234 133.63 112.585C133.978 113.935 134.821 114.574 135.94 115.27C137.04 115.952 138.199 116.301 139.414 115.959ZM137.315 107.375C138.222 107.12 139.005 106.994 139.825 107.502C140.661 108.02 140.912 108.618 141.171 109.625C141.708 111.704 140.935 113.834 139.032 114.398C138.11 114.675 137.356 114.791 136.522 114.272C135.686 113.753 135.436 113.155 135.176 112.149C134.917 111.142 134.718 109.714 135.186 108.81C135.654 107.905 136.394 107.649 137.315 107.375C137.329 107.371 137.299 107.38 137.315 107.375Z\",fill:\"#75C4FD\"}),Kf(\"path\",{d:\"M308.981 78.7519C310.052 78.4043 311.158 78.7096 312.265 78.6613C313.655 78.6006 314.936 78.517 316.323 78.3531C319.497 77.9795 322.798 77.4906 325.984 77.3012C329.309 77.1025 332.514 76.8551 335.836 77.0295C338.809 77.1842 342.163 77.3405 345.105 77.7558C352.129 78.7468 359.331 79.0578 366.347 80.1158C372.252 81.008 377.93 82.1319 383.722 83.5644C385.925 84.0054 388.267 85.0754 389.126 85.3792C389.421 85.4833 389.37 85.8347 389.317 86.1595C389.306 86.2271 389.353 86.1146 389.317 86.1595C388.269 87.414 386.564 86.8124 385.259 86.4677C384.406 86.241 381.488 85.9494 381.011 85.9957C380.14 86.0815 379.277 86.014 379.656 87.2114C380.122 88.6824 382.391 89.7375 383.704 90.2419C385.883 91.0803 388.771 91.2561 390.845 92.4015C392.968 92.821 395.425 93.5002 397.022 93.9986C402.83 95.8103 407.806 98.8678 413.033 102.002C415.503 103.482 417.829 104.764 419.973 106.72C421.647 108.248 423.771 109.882 424.595 112.091C425.113 113.482 424.451 115.471 422.848 115.085C420.353 114.488 419.638 111.665 418.227 109.714C415.003 105.251 410.067 102.067 405.118 100.06C402.64 99.0556 399.803 98.729 397.204 98.1176C394.411 97.4613 391.597 97.0442 388.707 97.1736C385.646 97.3097 382.846 97.5534 379.819 98.0078C377.027 98.4264 374.252 98.4441 371.514 97.8441C368.766 97.2421 366.276 96.7553 363.6 95.9021C361.662 95.2848 359.013 94.5583 357.232 93.5247C355.699 92.6339 355.631 91.2381 357.241 90.186C359.87 88.4656 362.778 89.8021 365.546 90.3497C365.561 90.3527 365.532 90.3468 365.546 90.3497C367.858 90.804 369.649 90.098 371.923 89.3884C372.489 89.2128 373.255 89.0482 373.47 88.953C374.383 88.5432 375.895 87.8227 375.407 86.7394C374.868 85.5457 372.659 84.8846 371.55 84.4891C369.74 83.8428 368.053 82.9215 366.147 82.6743C365.654 82.6095 365.109 83.1606 364.6 83.1097C363.36 83.1121 361.769 83.348 360.543 83.418C357.43 83.5916 354.583 83.6228 351.464 83.4719C348.714 83.3377 346.432 82.8542 343.741 82.3102C340.773 81.7101 337.52 81.5879 334.471 81.5839C331.393 81.5811 328.6 81.7214 325.583 82.4181C322.758 83.0702 319.757 83.6198 316.887 84.0326C314.698 84.3481 312.467 84.6054 310.319 84.2137C309.079 83.9871 306.994 83.3394 306.461 81.9635C305.846 80.3659 307.736 79.1556 308.981 78.7519Z\",fill:\"url(#paint14_linear_1356_14057)\"}),Kf(\"path\",{d:\"M242.269 242.95C242.295 242.947 242.244 242.955 242.269 242.95C244.934 242.606 247.53 241.858 250.2 241.574C253.133 241.264 256.006 240.56 258.906 239.982C263.26 239.117 268.026 238.52 272.254 237.097C274.429 236.365 276.067 235.298 278.251 234.592C280.361 233.909 283.058 233.12 285.216 232.652C289.317 231.764 293.049 231.66 297.016 230.198C301.109 228.69 305.088 226.673 308.819 224.409C312.645 222.086 316.282 219.769 320.622 218.62C322.381 218.154 323.919 218.219 325.65 218.886C327.016 219.413 327.739 220.337 327.196 221.79C326.557 223.504 324.659 224.7 323.131 225.423C320.854 226.5 319.53 227.184 317.134 227.927C314.619 228.707 311.888 229.24 309.395 230.083C308.226 230.947 307.17 232.522 306.105 233.501C303.996 235.441 301.666 237.03 298.945 237.996C292.934 240.129 286.354 238.602 280.183 239.056C279.661 239.095 279.162 239.442 278.635 239.487C275.592 240.135 272.2 240.63 269.156 241.294C264.546 242.299 260.456 243.409 255.808 244.179C251.971 244.814 243.815 245.854 243.815 245.854L242.074 245.505C240.575 245.281 240.751 243.152 242.269 242.95Z\",fill:\"url(#paint15_linear_1356_14057)\"}),Kf(\"path\",{d:\"M432.985 171.626C438.212 165.465 445.109 153.64 442.906 144.649C442.162 137.999 433.671 132.912 424.963 135.518C420.16 136.957 416.435 142.146 419.724 144.498C420.656 145.164 422.187 145.591 423.391 145.969C434.204 149.375 434.925 162.538 425.069 169.683C421.087 172.569 416.347 174.292 411.914 176.719C400.151 183.162 399.887 196.847 387.7 202.712C382.326 205.298 375.761 206.838 370.297 209.275C359.98 213.88 352.555 221.733 342.241 226.341C337.225 228.584 330.266 231.632 323.483 234.12C321.475 234.855 321.999 237.058 324.056 236.46C324.098 236.449 324.017 236.474 324.056 236.46C329.079 234.971 334.437 233.161 339.331 231.33C352.278 226.48 365.28 220.971 377.43 214.775C401.78 202.367 416.881 190.609 432.985 171.626Z\",fill:\"url(#paint16_linear_1356_14057)\"}),Kf(\"path\",{d:\"M343.644 241.104C348.002 234.144 357.126 232.455 364.343 231.134C368.176 230.431 372.406 229.878 376.137 228.662C380.691 227.175 384.558 224.095 388.327 221.077C389.452 220.177 391.204 218.466 392.393 217.436C393.185 216.748 393.644 216.026 394.33 215.225C396 213.275 399.599 209.812 401.687 208.16C403.263 206.914 407.779 204.758 408.259 207.986C408.611 210.359 406.379 213.087 404.961 214.747C402.224 217.953 398.998 221.079 395.475 223.243C391.749 225.531 387.701 227.439 383.674 229.051C381.672 229.853 379.519 230.073 377.486 230.785C376.001 231.307 374.486 232.236 373.037 232.866C371.034 233.738 368.99 234.28 367.041 235.38C364.436 236.849 361.782 238.783 359.108 240.105C356.331 241.477 353.823 242.691 350.791 243.27C348.6 243.687 345.501 243.641 343.836 241.884C343.526 241.554 343.389 241.51 343.644 241.104Z\",fill:\"url(#paint17_linear_1356_14057)\"}),Kf(\"path\",{d:\"M190.163 273.219C222.905 268.849 232.64 262.943 213.962 259.057C195.285 255.172 187.5 262.08 188.434 266.2C189.366 270.32 180.381 271.326 169.286 272.39C158.193 273.454 157.141 276.354 190.163 273.219Z\",fill:\"url(#paint18_linear_1356_14057)\"}),Kf(\"path\",{d:\"M295.952 95.4242L241.395 135.226L251.54 111.77L295.952 95.4242Z\",fill:\"#E17726\",stroke:\"#E17726\",\"stroke-width\":\"0.94513\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M170.111 95.4242L224.181 135.598L214.522 111.77L170.111 95.4242Z\",fill:\"#E27625\",stroke:\"#E27625\",\"stroke-width\":\"0.94513\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M276.309 187.712L261.793 209.576L292.876 218.014L301.78 188.189L276.309 187.712Z\",fill:\"#E27625\",stroke:\"#E27625\",\"stroke-width\":\"0.94513\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M164.336 188.189L173.186 218.014L204.215 209.576L189.753 187.712L164.336 188.189Z\",fill:\"#E27625\",stroke:\"#E27625\",\"stroke-width\":\"0.94513\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M202.542 150.776L193.908 163.618L224.667 164.998L223.642 132.36L202.542 150.776Z\",fill:\"#E27625\",stroke:\"#E27625\",\"stroke-width\":\"0.94513\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M263.52 150.775L242.097 131.989L241.395 164.998L272.154 163.618L263.52 150.775Z\",fill:\"#E27625\",stroke:\"#E27625\",\"stroke-width\":\"0.94513\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M204.215 209.576L222.832 200.714L206.805 188.402L204.215 209.576Z\",fill:\"#E27625\",stroke:\"#E27625\",\"stroke-width\":\"0.94513\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M243.23 200.714L261.793 209.576L259.257 188.402L243.23 200.714Z\",fill:\"#E27625\",stroke:\"#E27625\",\"stroke-width\":\"0.94513\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M261.793 209.576L243.23 200.714L244.741 212.601L244.579 217.643L261.793 209.576Z\",fill:\"#D5BFB2\",stroke:\"#D5BFB2\",\"stroke-width\":\"0.94513\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M204.215 209.576L221.483 217.643L221.375 212.601L222.832 200.714L204.215 209.576Z\",fill:\"#D5BFB2\",stroke:\"#D5BFB2\",\"stroke-width\":\"0.94513\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M221.807 180.547L206.373 176.09L217.274 171.154L221.807 180.547Z\",fill:\"#233447\",stroke:\"#233447\",\"stroke-width\":\"0.94513\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M244.255 180.547L248.788 171.154L259.742 176.09L244.255 180.547Z\",fill:\"#233447\",stroke:\"#233447\",\"stroke-width\":\"0.94513\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M204.215 209.576L206.913 187.712L189.753 188.189L204.215 209.576Z\",fill:\"#CC6228\",stroke:\"#CC6228\",\"stroke-width\":\"0.94513\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M259.149 187.712L261.793 209.576L276.309 188.189L259.149 187.712Z\",fill:\"#CC6228\",stroke:\"#CC6228\",\"stroke-width\":\"0.94513\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M272.154 163.618L241.395 164.998L244.255 180.547L248.788 171.154L259.742 176.09L272.154 163.618Z\",fill:\"#CC6228\",stroke:\"#CC6228\",\"stroke-width\":\"0.94513\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M206.373 176.09L217.274 171.154L221.807 180.547L224.667 164.998L193.908 163.618L206.373 176.09Z\",fill:\"#CC6228\",stroke:\"#CC6228\",\"stroke-width\":\"0.94513\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M193.908 163.618L206.805 188.402L206.373 176.09L193.908 163.618Z\",fill:\"#E27525\",stroke:\"#E27525\",\"stroke-width\":\"0.94513\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M259.743 176.09L259.257 188.402L272.154 163.618L259.743 176.09Z\",fill:\"#E27525\",stroke:\"#E27525\",\"stroke-width\":\"0.94513\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M224.667 164.998L221.807 180.548L225.422 198.909L226.232 174.71L224.667 164.998Z\",fill:\"#E27525\",stroke:\"#E27525\",\"stroke-width\":\"0.94513\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M241.395 164.998L239.884 174.657L240.64 198.909L244.255 180.548L241.395 164.998Z\",fill:\"#E27525\",stroke:\"#E27525\",\"stroke-width\":\"0.94513\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M244.255 180.547L240.64 198.909L243.23 200.714L259.257 188.402L259.743 176.09L244.255 180.547Z\",fill:\"#F5841F\",stroke:\"#F5841F\",\"stroke-width\":\"0.94513\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M206.373 176.09L206.805 188.402L222.832 200.714L225.422 198.909L221.807 180.547L206.373 176.09Z\",fill:\"#F5841F\",stroke:\"#F5841F\",\"stroke-width\":\"0.94513\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M244.579 217.643L244.741 212.601L243.338 211.434H222.724L221.375 212.601L221.483 217.643L204.215 209.576L210.259 214.459L222.508 222.791H243.5L255.803 214.459L261.793 209.576L244.579 217.643Z\",fill:\"#C0AC9D\",stroke:\"#C0AC9D\",\"stroke-width\":\"0.94513\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M243.23 200.714L240.64 198.909H225.422L222.832 200.714L221.375 212.601L222.724 211.434H243.338L244.741 212.601L243.23 200.714Z\",fill:\"#161616\",stroke:\"#161616\",\"stroke-width\":\"0.94513\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M298.272 137.827L302.859 115.856L295.952 95.4242L243.23 133.899L263.52 150.775L292.174 159.001L298.488 151.731L295.736 149.767L300.107 145.84L296.761 143.293L301.132 140.002L298.272 137.827Z\",fill:\"#763E1A\",stroke:\"#763E1A\",\"stroke-width\":\"0.94513\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M163.203 115.856L167.844 137.827L164.876 140.002L169.301 143.293L165.955 145.84L170.326 149.767L167.574 151.731L173.888 159.001L202.542 150.775L222.832 133.899L170.11 95.4242L163.203 115.856Z\",fill:\"#763E1A\",stroke:\"#763E1A\",\"stroke-width\":\"0.94513\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M292.175 159.001L263.52 150.775L272.154 163.618L259.257 188.402L276.309 188.189H301.78L292.175 159.001Z\",fill:\"#F5841F\",stroke:\"#F5841F\",\"stroke-width\":\"0.94513\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M202.542 150.775L173.888 159.001L164.336 188.189H189.753L206.805 188.402L193.908 163.618L202.542 150.775Z\",fill:\"#F5841F\",stroke:\"#F5841F\",\"stroke-width\":\"0.94513\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M241.395 164.998L243.23 133.9L251.54 111.77H214.522L222.832 133.9L224.667 164.998L225.368 174.763L225.422 198.909H240.64L240.694 174.763L241.395 164.998Z\",fill:\"#F5841F\",stroke:\"#F5841F\",\"stroke-width\":\"0.94513\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"defs\",null,Kf(\"linearGradient\",{id:\"paint0_linear_1356_14057\",x1:\"335.991\",y1:\"250.487\",x2:\"303.873\",y2:\"266.801\",gradientUnits:\"userSpaceOnUse\"},Kf(\"stop\",{\"stop-color\":\"#FFE466\"}),Kf(\"stop\",{offset:\"1\",\"stop-color\":\"#FFAFEA\"})),Kf(\"linearGradient\",{id:\"paint1_linear_1356_14057\",x1:\"276.993\",y1:\"303.722\",x2:\"205.254\",y2:\"401.574\",gradientUnits:\"userSpaceOnUse\"},Kf(\"stop\",{\"stop-color\":\"#75C3FC\"}),Kf(\"stop\",{offset:\"0.0929\",\"stop-color\":\"#81C2F6\"}),Kf(\"stop\",{offset:\"1\",\"stop-color\":\"#F0B8BD\"})),Kf(\"linearGradient\",{id:\"paint2_linear_1356_14057\",x1:\"271.074\",y1:\"119.924\",x2:\"553.077\",y2:\"104.53\",gradientUnits:\"userSpaceOnUse\"},Kf(\"stop\",{\"stop-color\":\"#FFE466\"}),Kf(\"stop\",{offset:\"1\",\"stop-color\":\"#FFAFEA\"})),Kf(\"linearGradient\",{id:\"paint3_linear_1356_14057\",x1:\"264.209\",y1:\"91.0943\",x2:\"357.834\",y2:\"72.8792\",gradientUnits:\"userSpaceOnUse\"},Kf(\"stop\",{\"stop-color\":\"#FFE466\"}),Kf(\"stop\",{offset:\"1\",\"stop-color\":\"#FFAFEA\"})),Kf(\"linearGradient\",{id:\"paint4_linear_1356_14057\",x1:\"212.46\",y1:\"121.997\",x2:\"92.6119\",y2:\"183.406\",gradientUnits:\"userSpaceOnUse\"},Kf(\"stop\",{\"stop-color\":\"#FFE466\"}),Kf(\"stop\",{offset:\"1\",\"stop-color\":\"#FFAFEA\"})),Kf(\"linearGradient\",{id:\"paint5_linear_1356_14057\",x1:\"23.0498\",y1:\"204.411\",x2:\"161.86\",y2:\"163.003\",gradientUnits:\"userSpaceOnUse\"},Kf(\"stop\",{\"stop-color\":\"#75C3FC\"}),Kf(\"stop\",{offset:\"0.0929\",\"stop-color\":\"#81C2F6\"}),Kf(\"stop\",{offset:\"1\",\"stop-color\":\"#F0B8BD\"})),Kf(\"linearGradient\",{id:\"paint6_linear_1356_14057\",x1:\"78.8647\",y1:\"240.375\",x2:\"74.9655\",y2:\"241.328\",gradientUnits:\"userSpaceOnUse\"},Kf(\"stop\",{\"stop-color\":\"#75C3FC\"}),Kf(\"stop\",{offset:\"1\",\"stop-color\":\"#75C3FC\"})),Kf(\"linearGradient\",{id:\"paint7_linear_1356_14057\",x1:\"382.349\",y1:\"181.971\",x2:\"378.45\",y2:\"182.925\",gradientUnits:\"userSpaceOnUse\"},Kf(\"stop\",{\"stop-color\":\"#75C3FC\"}),Kf(\"stop\",{offset:\"1\",\"stop-color\":\"#75C3FC\"})),Kf(\"linearGradient\",{id:\"paint8_linear_1356_14057\",x1:\"349.889\",y1:\"244.583\",x2:\"345.99\",y2:\"245.537\",gradientUnits:\"userSpaceOnUse\"},Kf(\"stop\",{\"stop-color\":\"#75C3FC\"}),Kf(\"stop\",{offset:\"1\",\"stop-color\":\"#75C3FC\"})),Kf(\"linearGradient\",{id:\"paint9_linear_1356_14057\",x1:\"142.262\",y1:\"279.808\",x2:\"138.362\",y2:\"280.762\",gradientUnits:\"userSpaceOnUse\"},Kf(\"stop\",{\"stop-color\":\"#75C3FC\"}),Kf(\"stop\",{offset:\"1\",\"stop-color\":\"#75C3FC\"})),Kf(\"linearGradient\",{id:\"paint10_linear_1356_14057\",x1:\"123.305\",y1:\"99.0746\",x2:\"119.406\",y2:\"100.028\",gradientUnits:\"userSpaceOnUse\"},Kf(\"stop\",{\"stop-color\":\"#75C3FC\"}),Kf(\"stop\",{offset:\"1\",\"stop-color\":\"#75C3FC\"})),Kf(\"linearGradient\",{id:\"paint11_linear_1356_14057\",x1:\"371.818\",y1:\"156.617\",x2:\"367.919\",y2:\"157.571\",gradientUnits:\"userSpaceOnUse\"},Kf(\"stop\",{\"stop-color\":\"#75C3FC\"}),Kf(\"stop\",{offset:\"1\",\"stop-color\":\"#75C3FC\"})),Kf(\"linearGradient\",{id:\"paint12_linear_1356_14057\",x1:\"385.281\",y1:\"242.958\",x2:\"381.382\",y2:\"243.911\",gradientUnits:\"userSpaceOnUse\"},Kf(\"stop\",{\"stop-color\":\"#75C3FC\"}),Kf(\"stop\",{offset:\"1\",\"stop-color\":\"#75C3FC\"})),Kf(\"linearGradient\",{id:\"paint13_linear_1356_14057\",x1:\"367.125\",y1:\"37.5052\",x2:\"360.843\",y2:\"38.8076\",gradientUnits:\"userSpaceOnUse\"},Kf(\"stop\",{\"stop-color\":\"#75C3FC\"}),Kf(\"stop\",{offset:\"1\",\"stop-color\":\"#75C3FC\"})),Kf(\"linearGradient\",{id:\"paint14_linear_1356_14057\",x1:\"300.182\",y1:\"91.321\",x2:\"479.464\",y2:\"104.041\",gradientUnits:\"userSpaceOnUse\"},Kf(\"stop\",{\"stop-color\":\"#FFE466\"}),Kf(\"stop\",{offset:\"1\",\"stop-color\":\"#FFAFEA\"})),Kf(\"linearGradient\",{id:\"paint15_linear_1356_14057\",x1:\"363.434\",y1:\"201.232\",x2:\"102.977\",y2:\"302.269\",gradientUnits:\"userSpaceOnUse\"},Kf(\"stop\",{\"stop-color\":\"#FFE466\"}),Kf(\"stop\",{offset:\"1\",\"stop-color\":\"#FFAFEA\"})),Kf(\"linearGradient\",{id:\"paint16_linear_1356_14057\",x1:\"447.962\",y1:\"165.159\",x2:\"313.049\",y2:\"197.95\",gradientUnits:\"userSpaceOnUse\"},Kf(\"stop\",{\"stop-color\":\"#75C3FC\"}),Kf(\"stop\",{offset:\"0.0929\",\"stop-color\":\"#81C2F6\"}),Kf(\"stop\",{offset:\"1\",\"stop-color\":\"#F0B8BD\"})),Kf(\"linearGradient\",{id:\"paint17_linear_1356_14057\",x1:\"410.211\",y1:\"215.859\",x2:\"341.378\",y2:\"232.788\",gradientUnits:\"userSpaceOnUse\"},Kf(\"stop\",{\"stop-color\":\"#75C3FC\"}),Kf(\"stop\",{offset:\"0.0929\",\"stop-color\":\"#81C2F6\"}),Kf(\"stop\",{offset:\"1\",\"stop-color\":\"#F0B8BD\"})),Kf(\"linearGradient\",{id:\"paint18_linear_1356_14057\",x1:\"222.282\",y1:\"258.986\",x2:\"162.257\",y2:\"273.774\",gradientUnits:\"userSpaceOnUse\"},Kf(\"stop\",{\"stop-color\":\"#FFE466\"}),Kf(\"stop\",{offset:\"1\",\"stop-color\":\"#FFAFEA\"})))),pg=class{constructor(e){uf(this,e),this.close=Vf(this,\"close\",7),this.connectWithExtension=Vf(this,\"connectWithExtension\",7),this.link=void 0,this.sdkVersion=void 0,this.preferDesktop=void 0,this.tab=1,this.isDefaultTab=!0,this.translationsLoaded=!1,this.i18nInstance=new cg,this.setTab(this.preferDesktop?1:2)}async connectedCallback(){await this.i18nInstance.init({fallbackLng:\"en\"}),this.translationsLoaded=!0}onClose(e=!1){this.close.emit({shouldTerminate:e})}connectWithExtensionHandler(){this.connectWithExtension.emit()}setTab(e){this.tab=e,this.isDefaultTab=!1}disconnectedCallback(){this.onClose()}updatePreferDesktop(e){e?this.setTab(1):this.setTab(2)}render(){if(!this.translationsLoaded)return null;const e=e=>this.i18nInstance.t(e),t=this.sdkVersion,n=this.isDefaultTab?this.preferDesktop?1:2:this.tab,r=sg(this.link,\"svg\",{ecc:\"medium\",scale:2});return Kf(Lp,{className:\"select-modal\"},Kf(\"div\",{class:\"backdrop\",onClick:()=>this.onClose(!0)}),Kf(\"div\",{class:\"modal\"},Kf(\"div\",{class:\"closeButtonContainer\"},Kf(\"div\",{class:\"right\"},Kf(\"span\",{class:\"closeButton\",onClick:()=>this.onClose(!0)},Kf(Kp,null)))),Kf(\"div\",{class:\"logoContainer\"},Kf(jp,null)),Kf(\"div\",null,Kf(\"div\",{class:\"tabcontainer\"},Kf(\"div\",{class:\"flexContainer\"},Kf(\"div\",{onClick:()=>this.setTab(1),class:\"tab flexItem \"+(1===n?\"tabactive\":\"\")},e(\"DESKTOP\")),Kf(\"div\",{onClick:()=>this.setTab(2),class:\"tab flexItem \"+(2===n?\"tabactive\":\"\")},e(\"MOBILE\")))),Kf(\"div\",{style:{display:1===n?\"none\":\"block\"}},Kf(\"div\",{class:\"flexContainer\"},Kf(\"div\",{class:\"flexItem\",style:{textAlign:\"center\",marginTop:\"4\"}},Kf(\"div\",{class:\"center\",id:\"sdk-mm-qrcode\",innerHTML:r}),Kf(\"div\",{class:\"connectMobileText\"},e(\"SCAN_TO_CONNECT\"),Kf(\"br\",null),Kf(\"span\",{class:\"blue\"},Kf(\"b\",null,e(\"META_MASK_MOBILE_APP\"))))))),Kf(\"div\",{style:{display:2===n?\"none\":\"block\"}},Kf(\"div\",{style:{display:\"flex\",justifyContent:\"center\",height:\"300\",marginTop:\"-20\"}},Kf(fg,null)),Kf(\"div\",{class:\"extensionLabel\"},e(\"SELECT_MODAL.CRYPTO_TAKE_CONTROL_TEXT\")),Kf(\"button\",{class:\"button\",onClick:()=>this.connectWithExtensionHandler()},Kf(hg,null),Kf(\"span\",{class:\"installExtensionText\"},e(\"CONNECT_WITH_EXTENSION\"))))),Kf(Bp,{version:t})))}get el(){return qf(this)}static get watchers(){return{preferDesktop:[\"updatePreferDesktop\"]}}};pg.style=\".flexContainer {\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n flex-direction: row;\\n}\\n\\n.flexItem {\\n flex: 1;\\n justify-content: center;\\n align-items: center;\\n}\\n\\n.flexItem11 {\\n flex: 11;\\n justify-content: center;\\n align-items: center;\\n}\\n\\n.flexItem1 {\\n flex: 1;\\n justify-content: center;\\n align-items: center;\\n}\\n\\n.tab {\\n padding: 8px;\\n cursor: pointer;\\n background-color: #F2F4F6;\\n font-size: 12px;\\n text-align: center;\\n color: #24292E;\\n}\\n\\n.tabcontainer {\\n padding: 4px;\\n background-color: #F2F4F6;\\n border-radius: 8px;\\n margin-bottom: 30px;\\n margin-top: 30px;\\n}\\n\\n.tabactive {\\n background-color: white;\\n -webkit-transition: background-color 300ms linear;\\n -ms-transition: background-color 300ms linear;\\n transition: background-color 300ms linear;\\n border-radius: 8px;\\n}\\n\\n.item {\\n font-size: 12px;\\n margin-bottom: 16px;\\n border-radius: 8px;\\n padding: 10px;\\n border: 2px #F2F4F6 solid;\\n color: #24292E;\\n}\\n\\n.extensionLabel {\\n font-style: normal;\\n font-weight: bold;\\n font-size: 14px;\\n text-align: cetner;\\n color: #24272A;\\n}\\n\\n.notice {\\n font-size: 12px;\\n margin-left: 10px;\\n margin-right: 10px;\\n color: grey;\\n}\\n\\n.button {\\n margin-top: 41.5px;\\n margin-bottom: 20px;\\n width: 100%;\\n display: flex;\\n flex-direction: row;\\n justify-content: center;\\n align-items: center;\\n padding: 12px 20px;\\n background: #037DD6;\\n border-radius: 32px;\\n color: white;\\n border: 0;\\n font-size: 14px;\\n cursor: pointer;\\n}\\n\\n.backdrop {\\n visibility: visible;\\n position: fixed;\\n top: 0;\\n left: 0;\\n right: 0;\\n bottom: 0;\\n width: 100%;\\n z-index: 99998;\\n background: rgba(0, 0, 0, 0.87);\\n opacity: 0.3;\\n}\\n\\n.modal {\\n visibility: visible;\\n position: fixed;\\n left: 50%;\\n transform: translate(-50%, -50%);\\n z-index: 99999;\\n background: white;\\n padding: 20px;\\n border-radius: 8px;\\n top: 50%;\\n max-width: 100%;\\n width: 460px;\\n min-width: 300px;\\n box-shadow: rgba(0, 0, 0, 0.2) 0px 11px 15px -7px, rgba(0, 0, 0, 0.14) 0px 24px 38px 3px, rgba(0, 0, 0, 0.12) 0px 9px 46px 8px;\\n -webkit-font-smoothing: antialiased;\\n}\\n\\n.closeButton {\\n color: #BBC0C5;\\n cursor: pointer;\\n}\\n\\n.logoContainer {\\n margin-left: 24px;\\n margin-right: 24px;\\n margin-top: 24px;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n}\\n\\n.connectMobileText {\\n font-size: 14px;\\n color: black;\\n margin-top: 28px;\\n margin-bottom: 28px;\\n line-height: 2;\\n}\\n\\n.blue {\\n color: #037DD6;\\n font-weight: 700;\\n}\\n\\n.installExtensionText {\\n margin-left: 10px;\\n}\\n\\n.center {\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n}\\n\\n.right {\\n display: flex;\\n align-items: center;\\n justify-content: right;\\n}\\n\\n#sdk-mm-qrcode {\\n svg {\\n width: 50%;\\n }\\n}\";var gg=Object.freeze({__proto__:null,mm_install_modal:dg,mm_pending_modal:ug,mm_select_modal:pg});export{$o as CommunicationLayerPreference,vo as ConnectionStatus,ho as DEFAULT_SERVER_URL,bo as EventType,Co as MessageType,tf as MetaMaskSDK,Fu as MetaMaskSDKEvent,uh as PROVIDER_UPDATE_TYPE,Bo as PlatformType,Wu as SDKProvider,tf as default};\n//# sourceMappingURL=metamask-sdk.js.map\n"],"names":["F","globalThis","exports","g","e","value","chars","decode","Request","parts","url","fetch","undefined","toArray","a","b","c","n","on","v","Promise","reject","ns","l","j","dl","nextTick","event","events","fn","self","al","withNativeBlob","withNativeArrayBuffer","isView","lookup","p","isBinary","protocol","k","qs","_a","re","m","t","to","DEFAULT_TRANSPORTS","RESERVED_EVENTS","PacketType","Socket","io","_c","id","ms","Engine","socket","r","i","o","s","d","u","h","f","y","w","E","C","S","_","x","M","A","I","R","K","P","L","O","T","N","D","$","B","U","H","z"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34]}
|