@livechat/accounts-sdk 2.2.0 → 2.2.2

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.
@@ -1 +1 @@
1
- {"version":3,"file":"accounts-sdk.js","sources":["../src/helpers/errors.js","../src/helpers/listener.js","../src/authentication/popup.js","../node_modules/es-errors/type.js","../node_modules/object-inspect/util.inspect.js","../node_modules/object-inspect/index.js","../node_modules/side-channel-list/index.js","../node_modules/es-object-atoms/index.js","../node_modules/es-errors/index.js","../node_modules/es-errors/eval.js","../node_modules/es-errors/range.js","../node_modules/es-errors/ref.js","../node_modules/es-errors/syntax.js","../node_modules/es-errors/uri.js","../node_modules/math-intrinsics/abs.js","../node_modules/math-intrinsics/floor.js","../node_modules/math-intrinsics/max.js","../node_modules/math-intrinsics/min.js","../node_modules/math-intrinsics/pow.js","../node_modules/math-intrinsics/round.js","../node_modules/math-intrinsics/isNaN.js","../node_modules/math-intrinsics/sign.js","../node_modules/gopd/gOPD.js","../node_modules/gopd/index.js","../node_modules/es-define-property/index.js","../node_modules/has-symbols/shams.js","../node_modules/has-symbols/index.js","../node_modules/get-proto/Reflect.getPrototypeOf.js","../node_modules/get-proto/Object.getPrototypeOf.js","../node_modules/function-bind/implementation.js","../node_modules/function-bind/index.js","../node_modules/call-bind-apply-helpers/functionCall.js","../node_modules/call-bind-apply-helpers/functionApply.js","../node_modules/call-bind-apply-helpers/reflectApply.js","../node_modules/call-bind-apply-helpers/actualApply.js","../node_modules/call-bind-apply-helpers/index.js","../node_modules/dunder-proto/get.js","../node_modules/get-proto/index.js","../node_modules/hasown/index.js","../node_modules/get-intrinsic/index.js","../node_modules/call-bound/index.js","../node_modules/side-channel-map/index.js","../node_modules/side-channel-weakmap/index.js","../node_modules/side-channel/index.js","../node_modules/qs/lib/formats.js","../node_modules/qs/lib/utils.js","../node_modules/qs/lib/stringify.js","../node_modules/qs/lib/parse.js","../node_modules/qs/lib/index.js","../src/helpers/object.js","../src/authentication/redirect.js","../src/authentication/iframe.js","../src/helpers/storage/dummy.js","../node_modules/js-cookie/dist/js.cookie.mjs","../src/helpers/storage/cookie.js","../src/helpers/storage/handler.js","../src/helpers/storage.js","../src/authentication/transaction.js","../src/vendor/sjcl.js","../src/helpers/encoding.js","../src/helpers/persister.js","../src/helpers/persisters/redirectUriParams.js","../src/helpers/random.js","../src/sdk.js"],"sourcesContent":["export default {\n extend: function (error) {\n if (error.oauth_exception && this.oauth_exception[error.oauth_exception]) {\n return Object.assign(error, {\n description: this.oauth_exception[error.oauth_exception],\n });\n }\n\n if (\n error.identity_exception &&\n this.identity_exception[error.identity_exception]\n ) {\n return Object.assign(error, {\n description: this.identity_exception[error.identity_exception],\n });\n }\n\n return error;\n },\n oauth_exception: {\n invalid_request:\n 'You may be loading accounts-sdk on a domain that is not whitelisted.',\n\n unauthorized_client:\n 'Client not found, not provided or incorectly configured.',\n\n access_denied:\n 'Probably this application is installed on a different account and you do not have access to it.',\n\n unsupported_response_type:\n 'Provided response type is incorrect or unavailable for a given client.',\n },\n identity_exception: {\n unauthorized: 'Resource owner identity is not known or consent is missing.',\n },\n};\n","import './errors';\nimport errors from './errors';\nexport default class Listener {\n constructor(options = {}) {\n this.options = options;\n this.listening = false;\n\n this.receiveMessage = this.receiveMessage.bind(this);\n }\n\n start(timeout, callback) {\n if (this._listenerInited) {\n return;\n }\n this.listening = true;\n this.callback = callback;\n\n if (timeout) {\n this.tid = setTimeout(() => {\n this.stop();\n callback('timeout', null);\n }, timeout);\n }\n\n window.addEventListener('message', this.receiveMessage);\n }\n\n stop() {\n this.listening = false;\n clearTimeout(this.tid);\n window.removeEventListener('message', this.receiveMessage, false);\n }\n\n receiveMessage(event) {\n if (\n event.origin !== this.options.server_url &&\n event.origin !==\n this.options.server_url.replace(/livechat\\.com$/, 'livechatinc.com')\n ) {\n return;\n }\n\n if (!event.data.data && !event.data.error) {\n return;\n }\n\n this.stop();\n\n if (event.data.error) {\n this.callback(errors.extend(event.data.error), null);\n } else {\n if (event.data.data.scopes) {\n event.data.data.scope = event.data.data.scopes;\n delete event.data.data.scopes;\n }\n if (event.data.data.expires_in) {\n event.data.data.expires_in = parseInt(event.data.data.expires_in) || 0;\n }\n this.callback(null, event.data.data);\n }\n }\n}\n","import Listener from '../helpers/listener';\n/**\n * Class for authentication using popup.\n */\nexport default class Popup {\n constructor(sdk, options) {\n this.options = options;\n this.sdk = sdk;\n }\n\n /**\n * run popup authorization flow, should be called in a click handler to avoid beeing blocked\n * @returns {Promise} promise that resolves to authorize data or error\n */\n authorize() {\n return new Promise((resolve, reject) => {\n const url = this.sdk.authorizeURL(this.options, 'button');\n\n const w = 500;\n const h = 650;\n const left = window.screen.width / 2 - w / 2;\n const top = window.screen.height / 2 - h / 2;\n\n const listener = new Listener(this.options);\n listener.start(null, (err, authorizeData) => {\n if (err) {\n return reject(err);\n }\n resolve(authorizeData);\n });\n\n const open = function () {\n window.open(\n url,\n 'livechat-login-popup',\n `resizable,scrollbars,width=${w},height=${h},left=${left},top=${top}`\n );\n };\n\n if (document.requestStorageAccess) {\n const promise = document.requestStorageAccess();\n promise.then(open, open);\n } else {\n open();\n }\n });\n }\n}\n","'use strict';\n\n/** @type {import('./type')} */\nmodule.exports = TypeError;\n","module.exports = require('util').inspect;\n","var hasMap = typeof Map === 'function' && Map.prototype;\nvar mapSizeDescriptor = Object.getOwnPropertyDescriptor && hasMap ? Object.getOwnPropertyDescriptor(Map.prototype, 'size') : null;\nvar mapSize = hasMap && mapSizeDescriptor && typeof mapSizeDescriptor.get === 'function' ? mapSizeDescriptor.get : null;\nvar mapForEach = hasMap && Map.prototype.forEach;\nvar hasSet = typeof Set === 'function' && Set.prototype;\nvar setSizeDescriptor = Object.getOwnPropertyDescriptor && hasSet ? Object.getOwnPropertyDescriptor(Set.prototype, 'size') : null;\nvar setSize = hasSet && setSizeDescriptor && typeof setSizeDescriptor.get === 'function' ? setSizeDescriptor.get : null;\nvar setForEach = hasSet && Set.prototype.forEach;\nvar hasWeakMap = typeof WeakMap === 'function' && WeakMap.prototype;\nvar weakMapHas = hasWeakMap ? WeakMap.prototype.has : null;\nvar hasWeakSet = typeof WeakSet === 'function' && WeakSet.prototype;\nvar weakSetHas = hasWeakSet ? WeakSet.prototype.has : null;\nvar hasWeakRef = typeof WeakRef === 'function' && WeakRef.prototype;\nvar weakRefDeref = hasWeakRef ? WeakRef.prototype.deref : null;\nvar booleanValueOf = Boolean.prototype.valueOf;\nvar objectToString = Object.prototype.toString;\nvar functionToString = Function.prototype.toString;\nvar $match = String.prototype.match;\nvar $slice = String.prototype.slice;\nvar $replace = String.prototype.replace;\nvar $toUpperCase = String.prototype.toUpperCase;\nvar $toLowerCase = String.prototype.toLowerCase;\nvar $test = RegExp.prototype.test;\nvar $concat = Array.prototype.concat;\nvar $join = Array.prototype.join;\nvar $arrSlice = Array.prototype.slice;\nvar $floor = Math.floor;\nvar bigIntValueOf = typeof BigInt === 'function' ? BigInt.prototype.valueOf : null;\nvar gOPS = Object.getOwnPropertySymbols;\nvar symToString = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? Symbol.prototype.toString : null;\nvar hasShammedSymbols = typeof Symbol === 'function' && typeof Symbol.iterator === 'object';\n// ie, `has-tostringtag/shams\nvar toStringTag = typeof Symbol === 'function' && Symbol.toStringTag && (typeof Symbol.toStringTag === hasShammedSymbols ? 'object' : 'symbol')\n ? Symbol.toStringTag\n : null;\nvar isEnumerable = Object.prototype.propertyIsEnumerable;\n\nvar gPO = (typeof Reflect === 'function' ? Reflect.getPrototypeOf : Object.getPrototypeOf) || (\n [].__proto__ === Array.prototype // eslint-disable-line no-proto\n ? function (O) {\n return O.__proto__; // eslint-disable-line no-proto\n }\n : null\n);\n\nfunction addNumericSeparator(num, str) {\n if (\n num === Infinity\n || num === -Infinity\n || num !== num\n || (num && num > -1000 && num < 1000)\n || $test.call(/e/, str)\n ) {\n return str;\n }\n var sepRegex = /[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;\n if (typeof num === 'number') {\n var int = num < 0 ? -$floor(-num) : $floor(num); // trunc(num)\n if (int !== num) {\n var intStr = String(int);\n var dec = $slice.call(str, intStr.length + 1);\n return $replace.call(intStr, sepRegex, '$&_') + '.' + $replace.call($replace.call(dec, /([0-9]{3})/g, '$&_'), /_$/, '');\n }\n }\n return $replace.call(str, sepRegex, '$&_');\n}\n\nvar utilInspect = require('./util.inspect');\nvar inspectCustom = utilInspect.custom;\nvar inspectSymbol = isSymbol(inspectCustom) ? inspectCustom : null;\n\nvar quotes = {\n __proto__: null,\n 'double': '\"',\n single: \"'\"\n};\nvar quoteREs = {\n __proto__: null,\n 'double': /([\"\\\\])/g,\n single: /(['\\\\])/g\n};\n\nmodule.exports = function inspect_(obj, options, depth, seen) {\n var opts = options || {};\n\n if (has(opts, 'quoteStyle') && !has(quotes, opts.quoteStyle)) {\n throw new TypeError('option \"quoteStyle\" must be \"single\" or \"double\"');\n }\n if (\n has(opts, 'maxStringLength') && (typeof opts.maxStringLength === 'number'\n ? opts.maxStringLength < 0 && opts.maxStringLength !== Infinity\n : opts.maxStringLength !== null\n )\n ) {\n throw new TypeError('option \"maxStringLength\", if provided, must be a positive integer, Infinity, or `null`');\n }\n var customInspect = has(opts, 'customInspect') ? opts.customInspect : true;\n if (typeof customInspect !== 'boolean' && customInspect !== 'symbol') {\n throw new TypeError('option \"customInspect\", if provided, must be `true`, `false`, or `\\'symbol\\'`');\n }\n\n if (\n has(opts, 'indent')\n && opts.indent !== null\n && opts.indent !== '\\t'\n && !(parseInt(opts.indent, 10) === opts.indent && opts.indent > 0)\n ) {\n throw new TypeError('option \"indent\" must be \"\\\\t\", an integer > 0, or `null`');\n }\n if (has(opts, 'numericSeparator') && typeof opts.numericSeparator !== 'boolean') {\n throw new TypeError('option \"numericSeparator\", if provided, must be `true` or `false`');\n }\n var numericSeparator = opts.numericSeparator;\n\n if (typeof obj === 'undefined') {\n return 'undefined';\n }\n if (obj === null) {\n return 'null';\n }\n if (typeof obj === 'boolean') {\n return obj ? 'true' : 'false';\n }\n\n if (typeof obj === 'string') {\n return inspectString(obj, opts);\n }\n if (typeof obj === 'number') {\n if (obj === 0) {\n return Infinity / obj > 0 ? '0' : '-0';\n }\n var str = String(obj);\n return numericSeparator ? addNumericSeparator(obj, str) : str;\n }\n if (typeof obj === 'bigint') {\n var bigIntStr = String(obj) + 'n';\n return numericSeparator ? addNumericSeparator(obj, bigIntStr) : bigIntStr;\n }\n\n var maxDepth = typeof opts.depth === 'undefined' ? 5 : opts.depth;\n if (typeof depth === 'undefined') { depth = 0; }\n if (depth >= maxDepth && maxDepth > 0 && typeof obj === 'object') {\n return isArray(obj) ? '[Array]' : '[Object]';\n }\n\n var indent = getIndent(opts, depth);\n\n if (typeof seen === 'undefined') {\n seen = [];\n } else if (indexOf(seen, obj) >= 0) {\n return '[Circular]';\n }\n\n function inspect(value, from, noIndent) {\n if (from) {\n seen = $arrSlice.call(seen);\n seen.push(from);\n }\n if (noIndent) {\n var newOpts = {\n depth: opts.depth\n };\n if (has(opts, 'quoteStyle')) {\n newOpts.quoteStyle = opts.quoteStyle;\n }\n return inspect_(value, newOpts, depth + 1, seen);\n }\n return inspect_(value, opts, depth + 1, seen);\n }\n\n if (typeof obj === 'function' && !isRegExp(obj)) { // in older engines, regexes are callable\n var name = nameOf(obj);\n var keys = arrObjKeys(obj, inspect);\n return '[Function' + (name ? ': ' + name : ' (anonymous)') + ']' + (keys.length > 0 ? ' { ' + $join.call(keys, ', ') + ' }' : '');\n }\n if (isSymbol(obj)) {\n var symString = hasShammedSymbols ? $replace.call(String(obj), /^(Symbol\\(.*\\))_[^)]*$/, '$1') : symToString.call(obj);\n return typeof obj === 'object' && !hasShammedSymbols ? markBoxed(symString) : symString;\n }\n if (isElement(obj)) {\n var s = '<' + $toLowerCase.call(String(obj.nodeName));\n var attrs = obj.attributes || [];\n for (var i = 0; i < attrs.length; i++) {\n s += ' ' + attrs[i].name + '=' + wrapQuotes(quote(attrs[i].value), 'double', opts);\n }\n s += '>';\n if (obj.childNodes && obj.childNodes.length) { s += '...'; }\n s += '</' + $toLowerCase.call(String(obj.nodeName)) + '>';\n return s;\n }\n if (isArray(obj)) {\n if (obj.length === 0) { return '[]'; }\n var xs = arrObjKeys(obj, inspect);\n if (indent && !singleLineValues(xs)) {\n return '[' + indentedJoin(xs, indent) + ']';\n }\n return '[ ' + $join.call(xs, ', ') + ' ]';\n }\n if (isError(obj)) {\n var parts = arrObjKeys(obj, inspect);\n if (!('cause' in Error.prototype) && 'cause' in obj && !isEnumerable.call(obj, 'cause')) {\n return '{ [' + String(obj) + '] ' + $join.call($concat.call('[cause]: ' + inspect(obj.cause), parts), ', ') + ' }';\n }\n if (parts.length === 0) { return '[' + String(obj) + ']'; }\n return '{ [' + String(obj) + '] ' + $join.call(parts, ', ') + ' }';\n }\n if (typeof obj === 'object' && customInspect) {\n if (inspectSymbol && typeof obj[inspectSymbol] === 'function' && utilInspect) {\n return utilInspect(obj, { depth: maxDepth - depth });\n } else if (customInspect !== 'symbol' && typeof obj.inspect === 'function') {\n return obj.inspect();\n }\n }\n if (isMap(obj)) {\n var mapParts = [];\n if (mapForEach) {\n mapForEach.call(obj, function (value, key) {\n mapParts.push(inspect(key, obj, true) + ' => ' + inspect(value, obj));\n });\n }\n return collectionOf('Map', mapSize.call(obj), mapParts, indent);\n }\n if (isSet(obj)) {\n var setParts = [];\n if (setForEach) {\n setForEach.call(obj, function (value) {\n setParts.push(inspect(value, obj));\n });\n }\n return collectionOf('Set', setSize.call(obj), setParts, indent);\n }\n if (isWeakMap(obj)) {\n return weakCollectionOf('WeakMap');\n }\n if (isWeakSet(obj)) {\n return weakCollectionOf('WeakSet');\n }\n if (isWeakRef(obj)) {\n return weakCollectionOf('WeakRef');\n }\n if (isNumber(obj)) {\n return markBoxed(inspect(Number(obj)));\n }\n if (isBigInt(obj)) {\n return markBoxed(inspect(bigIntValueOf.call(obj)));\n }\n if (isBoolean(obj)) {\n return markBoxed(booleanValueOf.call(obj));\n }\n if (isString(obj)) {\n return markBoxed(inspect(String(obj)));\n }\n // note: in IE 8, sometimes `global !== window` but both are the prototypes of each other\n /* eslint-env browser */\n if (typeof window !== 'undefined' && obj === window) {\n return '{ [object Window] }';\n }\n if (\n (typeof globalThis !== 'undefined' && obj === globalThis)\n || (typeof global !== 'undefined' && obj === global)\n ) {\n return '{ [object globalThis] }';\n }\n if (!isDate(obj) && !isRegExp(obj)) {\n var ys = arrObjKeys(obj, inspect);\n var isPlainObject = gPO ? gPO(obj) === Object.prototype : obj instanceof Object || obj.constructor === Object;\n var protoTag = obj instanceof Object ? '' : 'null prototype';\n var stringTag = !isPlainObject && toStringTag && Object(obj) === obj && toStringTag in obj ? $slice.call(toStr(obj), 8, -1) : protoTag ? 'Object' : '';\n var constructorTag = isPlainObject || typeof obj.constructor !== 'function' ? '' : obj.constructor.name ? obj.constructor.name + ' ' : '';\n var tag = constructorTag + (stringTag || protoTag ? '[' + $join.call($concat.call([], stringTag || [], protoTag || []), ': ') + '] ' : '');\n if (ys.length === 0) { return tag + '{}'; }\n if (indent) {\n return tag + '{' + indentedJoin(ys, indent) + '}';\n }\n return tag + '{ ' + $join.call(ys, ', ') + ' }';\n }\n return String(obj);\n};\n\nfunction wrapQuotes(s, defaultStyle, opts) {\n var style = opts.quoteStyle || defaultStyle;\n var quoteChar = quotes[style];\n return quoteChar + s + quoteChar;\n}\n\nfunction quote(s) {\n return $replace.call(String(s), /\"/g, '&quot;');\n}\n\nfunction canTrustToString(obj) {\n return !toStringTag || !(typeof obj === 'object' && (toStringTag in obj || typeof obj[toStringTag] !== 'undefined'));\n}\nfunction isArray(obj) { return toStr(obj) === '[object Array]' && canTrustToString(obj); }\nfunction isDate(obj) { return toStr(obj) === '[object Date]' && canTrustToString(obj); }\nfunction isRegExp(obj) { return toStr(obj) === '[object RegExp]' && canTrustToString(obj); }\nfunction isError(obj) { return toStr(obj) === '[object Error]' && canTrustToString(obj); }\nfunction isString(obj) { return toStr(obj) === '[object String]' && canTrustToString(obj); }\nfunction isNumber(obj) { return toStr(obj) === '[object Number]' && canTrustToString(obj); }\nfunction isBoolean(obj) { return toStr(obj) === '[object Boolean]' && canTrustToString(obj); }\n\n// Symbol and BigInt do have Symbol.toStringTag by spec, so that can't be used to eliminate false positives\nfunction isSymbol(obj) {\n if (hasShammedSymbols) {\n return obj && typeof obj === 'object' && obj instanceof Symbol;\n }\n if (typeof obj === 'symbol') {\n return true;\n }\n if (!obj || typeof obj !== 'object' || !symToString) {\n return false;\n }\n try {\n symToString.call(obj);\n return true;\n } catch (e) {}\n return false;\n}\n\nfunction isBigInt(obj) {\n if (!obj || typeof obj !== 'object' || !bigIntValueOf) {\n return false;\n }\n try {\n bigIntValueOf.call(obj);\n return true;\n } catch (e) {}\n return false;\n}\n\nvar hasOwn = Object.prototype.hasOwnProperty || function (key) { return key in this; };\nfunction has(obj, key) {\n return hasOwn.call(obj, key);\n}\n\nfunction toStr(obj) {\n return objectToString.call(obj);\n}\n\nfunction nameOf(f) {\n if (f.name) { return f.name; }\n var m = $match.call(functionToString.call(f), /^function\\s*([\\w$]+)/);\n if (m) { return m[1]; }\n return null;\n}\n\nfunction indexOf(xs, x) {\n if (xs.indexOf) { return xs.indexOf(x); }\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x) { return i; }\n }\n return -1;\n}\n\nfunction isMap(x) {\n if (!mapSize || !x || typeof x !== 'object') {\n return false;\n }\n try {\n mapSize.call(x);\n try {\n setSize.call(x);\n } catch (s) {\n return true;\n }\n return x instanceof Map; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isWeakMap(x) {\n if (!weakMapHas || !x || typeof x !== 'object') {\n return false;\n }\n try {\n weakMapHas.call(x, weakMapHas);\n try {\n weakSetHas.call(x, weakSetHas);\n } catch (s) {\n return true;\n }\n return x instanceof WeakMap; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isWeakRef(x) {\n if (!weakRefDeref || !x || typeof x !== 'object') {\n return false;\n }\n try {\n weakRefDeref.call(x);\n return true;\n } catch (e) {}\n return false;\n}\n\nfunction isSet(x) {\n if (!setSize || !x || typeof x !== 'object') {\n return false;\n }\n try {\n setSize.call(x);\n try {\n mapSize.call(x);\n } catch (m) {\n return true;\n }\n return x instanceof Set; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isWeakSet(x) {\n if (!weakSetHas || !x || typeof x !== 'object') {\n return false;\n }\n try {\n weakSetHas.call(x, weakSetHas);\n try {\n weakMapHas.call(x, weakMapHas);\n } catch (s) {\n return true;\n }\n return x instanceof WeakSet; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isElement(x) {\n if (!x || typeof x !== 'object') { return false; }\n if (typeof HTMLElement !== 'undefined' && x instanceof HTMLElement) {\n return true;\n }\n return typeof x.nodeName === 'string' && typeof x.getAttribute === 'function';\n}\n\nfunction inspectString(str, opts) {\n if (str.length > opts.maxStringLength) {\n var remaining = str.length - opts.maxStringLength;\n var trailer = '... ' + remaining + ' more character' + (remaining > 1 ? 's' : '');\n return inspectString($slice.call(str, 0, opts.maxStringLength), opts) + trailer;\n }\n var quoteRE = quoteREs[opts.quoteStyle || 'single'];\n quoteRE.lastIndex = 0;\n // eslint-disable-next-line no-control-regex\n var s = $replace.call($replace.call(str, quoteRE, '\\\\$1'), /[\\x00-\\x1f]/g, lowbyte);\n return wrapQuotes(s, 'single', opts);\n}\n\nfunction lowbyte(c) {\n var n = c.charCodeAt(0);\n var x = {\n 8: 'b',\n 9: 't',\n 10: 'n',\n 12: 'f',\n 13: 'r'\n }[n];\n if (x) { return '\\\\' + x; }\n return '\\\\x' + (n < 0x10 ? '0' : '') + $toUpperCase.call(n.toString(16));\n}\n\nfunction markBoxed(str) {\n return 'Object(' + str + ')';\n}\n\nfunction weakCollectionOf(type) {\n return type + ' { ? }';\n}\n\nfunction collectionOf(type, size, entries, indent) {\n var joinedEntries = indent ? indentedJoin(entries, indent) : $join.call(entries, ', ');\n return type + ' (' + size + ') {' + joinedEntries + '}';\n}\n\nfunction singleLineValues(xs) {\n for (var i = 0; i < xs.length; i++) {\n if (indexOf(xs[i], '\\n') >= 0) {\n return false;\n }\n }\n return true;\n}\n\nfunction getIndent(opts, depth) {\n var baseIndent;\n if (opts.indent === '\\t') {\n baseIndent = '\\t';\n } else if (typeof opts.indent === 'number' && opts.indent > 0) {\n baseIndent = $join.call(Array(opts.indent + 1), ' ');\n } else {\n return null;\n }\n return {\n base: baseIndent,\n prev: $join.call(Array(depth + 1), baseIndent)\n };\n}\n\nfunction indentedJoin(xs, indent) {\n if (xs.length === 0) { return ''; }\n var lineJoiner = '\\n' + indent.prev + indent.base;\n return lineJoiner + $join.call(xs, ',' + lineJoiner) + '\\n' + indent.prev;\n}\n\nfunction arrObjKeys(obj, inspect) {\n var isArr = isArray(obj);\n var xs = [];\n if (isArr) {\n xs.length = obj.length;\n for (var i = 0; i < obj.length; i++) {\n xs[i] = has(obj, i) ? inspect(obj[i], obj) : '';\n }\n }\n var syms = typeof gOPS === 'function' ? gOPS(obj) : [];\n var symMap;\n if (hasShammedSymbols) {\n symMap = {};\n for (var k = 0; k < syms.length; k++) {\n symMap['$' + syms[k]] = syms[k];\n }\n }\n\n for (var key in obj) { // eslint-disable-line no-restricted-syntax\n if (!has(obj, key)) { continue; } // eslint-disable-line no-restricted-syntax, no-continue\n if (isArr && String(Number(key)) === key && key < obj.length) { continue; } // eslint-disable-line no-restricted-syntax, no-continue\n if (hasShammedSymbols && symMap['$' + key] instanceof Symbol) {\n // this is to prevent shammed Symbols, which are stored as strings, from being included in the string key section\n continue; // eslint-disable-line no-restricted-syntax, no-continue\n } else if ($test.call(/[^\\w$]/, key)) {\n xs.push(inspect(key, obj) + ': ' + inspect(obj[key], obj));\n } else {\n xs.push(key + ': ' + inspect(obj[key], obj));\n }\n }\n if (typeof gOPS === 'function') {\n for (var j = 0; j < syms.length; j++) {\n if (isEnumerable.call(obj, syms[j])) {\n xs.push('[' + inspect(syms[j]) + ']: ' + inspect(obj[syms[j]], obj));\n }\n }\n }\n return xs;\n}\n","'use strict';\n\nvar inspect = require('object-inspect');\n\nvar $TypeError = require('es-errors/type');\n\n/*\n* This function traverses the list returning the node corresponding to the given key.\n*\n* That node is also moved to the head of the list, so that if it's accessed again we don't need to traverse the whole list.\n* By doing so, all the recently used nodes can be accessed relatively quickly.\n*/\n/** @type {import('./list.d.ts').listGetNode} */\n// eslint-disable-next-line consistent-return\nvar listGetNode = function (list, key, isDelete) {\n\t/** @type {typeof list | NonNullable<(typeof list)['next']>} */\n\tvar prev = list;\n\t/** @type {(typeof list)['next']} */\n\tvar curr;\n\t// eslint-disable-next-line eqeqeq\n\tfor (; (curr = prev.next) != null; prev = curr) {\n\t\tif (curr.key === key) {\n\t\t\tprev.next = curr.next;\n\t\t\tif (!isDelete) {\n\t\t\t\t// eslint-disable-next-line no-extra-parens\n\t\t\t\tcurr.next = /** @type {NonNullable<typeof list.next>} */ (list.next);\n\t\t\t\tlist.next = curr; // eslint-disable-line no-param-reassign\n\t\t\t}\n\t\t\treturn curr;\n\t\t}\n\t}\n};\n\n/** @type {import('./list.d.ts').listGet} */\nvar listGet = function (objects, key) {\n\tif (!objects) {\n\t\treturn void undefined;\n\t}\n\tvar node = listGetNode(objects, key);\n\treturn node && node.value;\n};\n/** @type {import('./list.d.ts').listSet} */\nvar listSet = function (objects, key, value) {\n\tvar node = listGetNode(objects, key);\n\tif (node) {\n\t\tnode.value = value;\n\t} else {\n\t\t// Prepend the new node to the beginning of the list\n\t\tobjects.next = /** @type {import('./list.d.ts').ListNode<typeof value, typeof key>} */ ({ // eslint-disable-line no-param-reassign, no-extra-parens\n\t\t\tkey: key,\n\t\t\tnext: objects.next,\n\t\t\tvalue: value\n\t\t});\n\t}\n};\n/** @type {import('./list.d.ts').listHas} */\nvar listHas = function (objects, key) {\n\tif (!objects) {\n\t\treturn false;\n\t}\n\treturn !!listGetNode(objects, key);\n};\n/** @type {import('./list.d.ts').listDelete} */\n// eslint-disable-next-line consistent-return\nvar listDelete = function (objects, key) {\n\tif (objects) {\n\t\treturn listGetNode(objects, key, true);\n\t}\n};\n\n/** @type {import('.')} */\nmodule.exports = function getSideChannelList() {\n\t/** @typedef {ReturnType<typeof getSideChannelList>} Channel */\n\t/** @typedef {Parameters<Channel['get']>[0]} K */\n\t/** @typedef {Parameters<Channel['set']>[1]} V */\n\n\t/** @type {import('./list.d.ts').RootNode<V, K> | undefined} */ var $o;\n\n\t/** @type {Channel} */\n\tvar channel = {\n\t\tassert: function (key) {\n\t\t\tif (!channel.has(key)) {\n\t\t\t\tthrow new $TypeError('Side channel does not contain ' + inspect(key));\n\t\t\t}\n\t\t},\n\t\t'delete': function (key) {\n\t\t\tvar root = $o && $o.next;\n\t\t\tvar deletedNode = listDelete($o, key);\n\t\t\tif (deletedNode && root && root === deletedNode) {\n\t\t\t\t$o = void undefined;\n\t\t\t}\n\t\t\treturn !!deletedNode;\n\t\t},\n\t\tget: function (key) {\n\t\t\treturn listGet($o, key);\n\t\t},\n\t\thas: function (key) {\n\t\t\treturn listHas($o, key);\n\t\t},\n\t\tset: function (key, value) {\n\t\t\tif (!$o) {\n\t\t\t\t// Initialize the linked list as an empty node, so that we don't have to special-case handling of the first node: we can always refer to it as (previous node).next, instead of something like (list).head\n\t\t\t\t$o = {\n\t\t\t\t\tnext: void undefined\n\t\t\t\t};\n\t\t\t}\n\t\t\t// eslint-disable-next-line no-extra-parens\n\t\t\tlistSet(/** @type {NonNullable<typeof $o>} */ ($o), key, value);\n\t\t}\n\t};\n\t// @ts-expect-error TODO: figure out why this is erroring\n\treturn channel;\n};\n","'use strict';\n\n/** @type {import('.')} */\nmodule.exports = Object;\n","'use strict';\n\n/** @type {import('.')} */\nmodule.exports = Error;\n","'use strict';\n\n/** @type {import('./eval')} */\nmodule.exports = EvalError;\n","'use strict';\n\n/** @type {import('./range')} */\nmodule.exports = RangeError;\n","'use strict';\n\n/** @type {import('./ref')} */\nmodule.exports = ReferenceError;\n","'use strict';\n\n/** @type {import('./syntax')} */\nmodule.exports = SyntaxError;\n","'use strict';\n\n/** @type {import('./uri')} */\nmodule.exports = URIError;\n","'use strict';\n\n/** @type {import('./abs')} */\nmodule.exports = Math.abs;\n","'use strict';\n\n/** @type {import('./floor')} */\nmodule.exports = Math.floor;\n","'use strict';\n\n/** @type {import('./max')} */\nmodule.exports = Math.max;\n","'use strict';\n\n/** @type {import('./min')} */\nmodule.exports = Math.min;\n","'use strict';\n\n/** @type {import('./pow')} */\nmodule.exports = Math.pow;\n","'use strict';\n\n/** @type {import('./round')} */\nmodule.exports = Math.round;\n","'use strict';\n\n/** @type {import('./isNaN')} */\nmodule.exports = Number.isNaN || function isNaN(a) {\n\treturn a !== a;\n};\n","'use strict';\n\nvar $isNaN = require('./isNaN');\n\n/** @type {import('./sign')} */\nmodule.exports = function sign(number) {\n\tif ($isNaN(number) || number === 0) {\n\t\treturn number;\n\t}\n\treturn number < 0 ? -1 : +1;\n};\n","'use strict';\n\n/** @type {import('./gOPD')} */\nmodule.exports = Object.getOwnPropertyDescriptor;\n","'use strict';\n\n/** @type {import('.')} */\nvar $gOPD = require('./gOPD');\n\nif ($gOPD) {\n\ttry {\n\t\t$gOPD([], 'length');\n\t} catch (e) {\n\t\t// IE 8 has a broken gOPD\n\t\t$gOPD = null;\n\t}\n}\n\nmodule.exports = $gOPD;\n","'use strict';\n\n/** @type {import('.')} */\nvar $defineProperty = Object.defineProperty || false;\nif ($defineProperty) {\n\ttry {\n\t\t$defineProperty({}, 'a', { value: 1 });\n\t} catch (e) {\n\t\t// IE 8 has a broken defineProperty\n\t\t$defineProperty = false;\n\t}\n}\n\nmodule.exports = $defineProperty;\n","'use strict';\n\n/** @type {import('./shams')} */\n/* eslint complexity: [2, 18], max-statements: [2, 33] */\nmodule.exports = function hasSymbols() {\n\tif (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }\n\tif (typeof Symbol.iterator === 'symbol') { return true; }\n\n\t/** @type {{ [k in symbol]?: unknown }} */\n\tvar obj = {};\n\tvar sym = Symbol('test');\n\tvar symObj = Object(sym);\n\tif (typeof sym === 'string') { return false; }\n\n\tif (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }\n\tif (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }\n\n\t// temp disabled per https://github.com/ljharb/object.assign/issues/17\n\t// if (sym instanceof Symbol) { return false; }\n\t// temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4\n\t// if (!(symObj instanceof Symbol)) { return false; }\n\n\t// if (typeof Symbol.prototype.toString !== 'function') { return false; }\n\t// if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }\n\n\tvar symVal = 42;\n\tobj[sym] = symVal;\n\tfor (var _ in obj) { return false; } // eslint-disable-line no-restricted-syntax, no-unreachable-loop\n\tif (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }\n\n\tif (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }\n\n\tvar syms = Object.getOwnPropertySymbols(obj);\n\tif (syms.length !== 1 || syms[0] !== sym) { return false; }\n\n\tif (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }\n\n\tif (typeof Object.getOwnPropertyDescriptor === 'function') {\n\t\t// eslint-disable-next-line no-extra-parens\n\t\tvar descriptor = /** @type {PropertyDescriptor} */ (Object.getOwnPropertyDescriptor(obj, sym));\n\t\tif (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }\n\t}\n\n\treturn true;\n};\n","'use strict';\n\nvar origSymbol = typeof Symbol !== 'undefined' && Symbol;\nvar hasSymbolSham = require('./shams');\n\n/** @type {import('.')} */\nmodule.exports = function hasNativeSymbols() {\n\tif (typeof origSymbol !== 'function') { return false; }\n\tif (typeof Symbol !== 'function') { return false; }\n\tif (typeof origSymbol('foo') !== 'symbol') { return false; }\n\tif (typeof Symbol('bar') !== 'symbol') { return false; }\n\n\treturn hasSymbolSham();\n};\n","'use strict';\n\n/** @type {import('./Reflect.getPrototypeOf')} */\nmodule.exports = (typeof Reflect !== 'undefined' && Reflect.getPrototypeOf) || null;\n","'use strict';\n\nvar $Object = require('es-object-atoms');\n\n/** @type {import('./Object.getPrototypeOf')} */\nmodule.exports = $Object.getPrototypeOf || null;\n","'use strict';\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar toStr = Object.prototype.toString;\nvar max = Math.max;\nvar funcType = '[object Function]';\n\nvar concatty = function concatty(a, b) {\n var arr = [];\n\n for (var i = 0; i < a.length; i += 1) {\n arr[i] = a[i];\n }\n for (var j = 0; j < b.length; j += 1) {\n arr[j + a.length] = b[j];\n }\n\n return arr;\n};\n\nvar slicy = function slicy(arrLike, offset) {\n var arr = [];\n for (var i = offset || 0, j = 0; i < arrLike.length; i += 1, j += 1) {\n arr[j] = arrLike[i];\n }\n return arr;\n};\n\nvar joiny = function (arr, joiner) {\n var str = '';\n for (var i = 0; i < arr.length; i += 1) {\n str += arr[i];\n if (i + 1 < arr.length) {\n str += joiner;\n }\n }\n return str;\n};\n\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.apply(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slicy(arguments, 1);\n\n var bound;\n var binder = function () {\n if (this instanceof bound) {\n var result = target.apply(\n this,\n concatty(args, arguments)\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n }\n return target.apply(\n that,\n concatty(args, arguments)\n );\n\n };\n\n var boundLength = max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs[i] = '$' + i;\n }\n\n bound = Function('binder', 'return function (' + joiny(boundArgs, ',') + '){ return binder.apply(this,arguments); }')(binder);\n\n if (target.prototype) {\n var Empty = function Empty() {};\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n\n return bound;\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;\n","'use strict';\n\n/** @type {import('./functionCall')} */\nmodule.exports = Function.prototype.call;\n","'use strict';\n\n/** @type {import('./functionApply')} */\nmodule.exports = Function.prototype.apply;\n","'use strict';\n\n/** @type {import('./reflectApply')} */\nmodule.exports = typeof Reflect !== 'undefined' && Reflect && Reflect.apply;\n","'use strict';\n\nvar bind = require('function-bind');\n\nvar $apply = require('./functionApply');\nvar $call = require('./functionCall');\nvar $reflectApply = require('./reflectApply');\n\n/** @type {import('./actualApply')} */\nmodule.exports = $reflectApply || bind.call($call, $apply);\n","'use strict';\n\nvar bind = require('function-bind');\nvar $TypeError = require('es-errors/type');\n\nvar $call = require('./functionCall');\nvar $actualApply = require('./actualApply');\n\n/** @type {(args: [Function, thisArg?: unknown, ...args: unknown[]]) => Function} TODO FIXME, find a way to use import('.') */\nmodule.exports = function callBindBasic(args) {\n\tif (args.length < 1 || typeof args[0] !== 'function') {\n\t\tthrow new $TypeError('a function is required');\n\t}\n\treturn $actualApply(bind, $call, args);\n};\n","'use strict';\n\nvar callBind = require('call-bind-apply-helpers');\nvar gOPD = require('gopd');\n\nvar hasProtoAccessor;\ntry {\n\t// eslint-disable-next-line no-extra-parens, no-proto\n\thasProtoAccessor = /** @type {{ __proto__?: typeof Array.prototype }} */ ([]).__proto__ === Array.prototype;\n} catch (e) {\n\tif (!e || typeof e !== 'object' || !('code' in e) || e.code !== 'ERR_PROTO_ACCESS') {\n\t\tthrow e;\n\t}\n}\n\n// eslint-disable-next-line no-extra-parens\nvar desc = !!hasProtoAccessor && gOPD && gOPD(Object.prototype, /** @type {keyof typeof Object.prototype} */ ('__proto__'));\n\nvar $Object = Object;\nvar $getPrototypeOf = $Object.getPrototypeOf;\n\n/** @type {import('./get')} */\nmodule.exports = desc && typeof desc.get === 'function'\n\t? callBind([desc.get])\n\t: typeof $getPrototypeOf === 'function'\n\t\t? /** @type {import('./get')} */ function getDunder(value) {\n\t\t\t// eslint-disable-next-line eqeqeq\n\t\t\treturn $getPrototypeOf(value == null ? value : $Object(value));\n\t\t}\n\t\t: false;\n","'use strict';\n\nvar reflectGetProto = require('./Reflect.getPrototypeOf');\nvar originalGetProto = require('./Object.getPrototypeOf');\n\nvar getDunderProto = require('dunder-proto/get');\n\n/** @type {import('.')} */\nmodule.exports = reflectGetProto\n\t? function getProto(O) {\n\t\t// @ts-expect-error TS can't narrow inside a closure, for some reason\n\t\treturn reflectGetProto(O);\n\t}\n\t: originalGetProto\n\t\t? function getProto(O) {\n\t\t\tif (!O || (typeof O !== 'object' && typeof O !== 'function')) {\n\t\t\t\tthrow new TypeError('getProto: not an object');\n\t\t\t}\n\t\t\t// @ts-expect-error TS can't narrow inside a closure, for some reason\n\t\t\treturn originalGetProto(O);\n\t\t}\n\t\t: getDunderProto\n\t\t\t? function getProto(O) {\n\t\t\t\t// @ts-expect-error TS can't narrow inside a closure, for some reason\n\t\t\t\treturn getDunderProto(O);\n\t\t\t}\n\t\t\t: null;\n","'use strict';\n\nvar call = Function.prototype.call;\nvar $hasOwn = Object.prototype.hasOwnProperty;\nvar bind = require('function-bind');\n\n/** @type {import('.')} */\nmodule.exports = bind.call(call, $hasOwn);\n","'use strict';\n\nvar undefined;\n\nvar $Object = require('es-object-atoms');\n\nvar $Error = require('es-errors');\nvar $EvalError = require('es-errors/eval');\nvar $RangeError = require('es-errors/range');\nvar $ReferenceError = require('es-errors/ref');\nvar $SyntaxError = require('es-errors/syntax');\nvar $TypeError = require('es-errors/type');\nvar $URIError = require('es-errors/uri');\n\nvar abs = require('math-intrinsics/abs');\nvar floor = require('math-intrinsics/floor');\nvar max = require('math-intrinsics/max');\nvar min = require('math-intrinsics/min');\nvar pow = require('math-intrinsics/pow');\nvar round = require('math-intrinsics/round');\nvar sign = require('math-intrinsics/sign');\n\nvar $Function = Function;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = require('gopd');\nvar $defineProperty = require('es-define-property');\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\n\nvar getProto = require('get-proto');\nvar $ObjectGPO = require('get-proto/Object.getPrototypeOf');\nvar $ReflectGPO = require('get-proto/Reflect.getPrototypeOf');\n\nvar $apply = require('call-bind-apply-helpers/functionApply');\nvar $call = require('call-bind-apply-helpers/functionCall');\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' || !getProto ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t__proto__: null,\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols && getProto ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%BigInt64Array%': typeof BigInt64Array === 'undefined' ? undefined : BigInt64Array,\n\t'%BigUint64Array%': typeof BigUint64Array === 'undefined' ? undefined : BigUint64Array,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': $Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': $EvalError,\n\t'%Float16Array%': typeof Float16Array === 'undefined' ? undefined : Float16Array,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols && getProto ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': $Object,\n\t'%Object.getOwnPropertyDescriptor%': $gOPD,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': $RangeError,\n\t'%ReferenceError%': $ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols && getProto ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': $URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet,\n\n\t'%Function.prototype.call%': $call,\n\t'%Function.prototype.apply%': $apply,\n\t'%Object.defineProperty%': $defineProperty,\n\t'%Object.getPrototypeOf%': $ObjectGPO,\n\t'%Math.abs%': abs,\n\t'%Math.floor%': floor,\n\t'%Math.max%': max,\n\t'%Math.min%': min,\n\t'%Math.pow%': pow,\n\t'%Math.round%': round,\n\t'%Math.sign%': sign,\n\t'%Reflect.getPrototypeOf%': $ReflectGPO\n};\n\nif (getProto) {\n\ttry {\n\t\tnull.error; // eslint-disable-line no-unused-expressions\n\t} catch (e) {\n\t\t// https://github.com/tc39/proposal-shadowrealm/pull/384#issuecomment-1364264229\n\t\tvar errorProto = getProto(getProto(e));\n\t\tINTRINSICS['%Error.prototype%'] = errorProto;\n\t}\n}\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen && getProto) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t__proto__: null,\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\nvar hasOwn = require('hasown');\nvar $concat = bind.call($call, Array.prototype.concat);\nvar $spliceApply = bind.call($apply, Array.prototype.splice);\nvar $replace = bind.call($call, String.prototype.replace);\nvar $strSlice = bind.call($call, String.prototype.slice);\nvar $exec = bind.call($call, RegExp.prototype.exec);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tif ($exec(/^%?[^%]*%?$/, name) === null) {\n\t\tthrow new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name');\n\t}\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar callBindBasic = require('call-bind-apply-helpers');\n\n/** @type {(thisArg: string, searchString: string, position?: number) => number} */\nvar $indexOf = callBindBasic([GetIntrinsic('%String.prototype.indexOf%')]);\n\n/** @type {import('.')} */\nmodule.exports = function callBoundIntrinsic(name, allowMissing) {\n\t/* eslint no-extra-parens: 0 */\n\n\tvar intrinsic = /** @type {(this: unknown, ...args: unknown[]) => unknown} */ (GetIntrinsic(name, !!allowMissing));\n\tif (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) {\n\t\treturn callBindBasic(/** @type {const} */ ([intrinsic]));\n\t}\n\treturn intrinsic;\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\nvar callBound = require('call-bound');\nvar inspect = require('object-inspect');\n\nvar $TypeError = require('es-errors/type');\nvar $Map = GetIntrinsic('%Map%', true);\n\n/** @type {<K, V>(thisArg: Map<K, V>, key: K) => V} */\nvar $mapGet = callBound('Map.prototype.get', true);\n/** @type {<K, V>(thisArg: Map<K, V>, key: K, value: V) => void} */\nvar $mapSet = callBound('Map.prototype.set', true);\n/** @type {<K, V>(thisArg: Map<K, V>, key: K) => boolean} */\nvar $mapHas = callBound('Map.prototype.has', true);\n/** @type {<K, V>(thisArg: Map<K, V>, key: K) => boolean} */\nvar $mapDelete = callBound('Map.prototype.delete', true);\n/** @type {<K, V>(thisArg: Map<K, V>) => number} */\nvar $mapSize = callBound('Map.prototype.size', true);\n\n/** @type {import('.')} */\nmodule.exports = !!$Map && /** @type {Exclude<import('.'), false>} */ function getSideChannelMap() {\n\t/** @typedef {ReturnType<typeof getSideChannelMap>} Channel */\n\t/** @typedef {Parameters<Channel['get']>[0]} K */\n\t/** @typedef {Parameters<Channel['set']>[1]} V */\n\n\t/** @type {Map<K, V> | undefined} */ var $m;\n\n\t/** @type {Channel} */\n\tvar channel = {\n\t\tassert: function (key) {\n\t\t\tif (!channel.has(key)) {\n\t\t\t\tthrow new $TypeError('Side channel does not contain ' + inspect(key));\n\t\t\t}\n\t\t},\n\t\t'delete': function (key) {\n\t\t\tif ($m) {\n\t\t\t\tvar result = $mapDelete($m, key);\n\t\t\t\tif ($mapSize($m) === 0) {\n\t\t\t\t\t$m = void undefined;\n\t\t\t\t}\n\t\t\t\treturn result;\n\t\t\t}\n\t\t\treturn false;\n\t\t},\n\t\tget: function (key) { // eslint-disable-line consistent-return\n\t\t\tif ($m) {\n\t\t\t\treturn $mapGet($m, key);\n\t\t\t}\n\t\t},\n\t\thas: function (key) {\n\t\t\tif ($m) {\n\t\t\t\treturn $mapHas($m, key);\n\t\t\t}\n\t\t\treturn false;\n\t\t},\n\t\tset: function (key, value) {\n\t\t\tif (!$m) {\n\t\t\t\t// @ts-expect-error TS can't handle narrowing a variable inside a closure\n\t\t\t\t$m = new $Map();\n\t\t\t}\n\t\t\t$mapSet($m, key, value);\n\t\t}\n\t};\n\n\t// @ts-expect-error TODO: figure out why TS is erroring here\n\treturn channel;\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\nvar callBound = require('call-bound');\nvar inspect = require('object-inspect');\nvar getSideChannelMap = require('side-channel-map');\n\nvar $TypeError = require('es-errors/type');\nvar $WeakMap = GetIntrinsic('%WeakMap%', true);\n\n/** @type {<K extends object, V>(thisArg: WeakMap<K, V>, key: K) => V} */\nvar $weakMapGet = callBound('WeakMap.prototype.get', true);\n/** @type {<K extends object, V>(thisArg: WeakMap<K, V>, key: K, value: V) => void} */\nvar $weakMapSet = callBound('WeakMap.prototype.set', true);\n/** @type {<K extends object, V>(thisArg: WeakMap<K, V>, key: K) => boolean} */\nvar $weakMapHas = callBound('WeakMap.prototype.has', true);\n/** @type {<K extends object, V>(thisArg: WeakMap<K, V>, key: K) => boolean} */\nvar $weakMapDelete = callBound('WeakMap.prototype.delete', true);\n\n/** @type {import('.')} */\nmodule.exports = $WeakMap\n\t? /** @type {Exclude<import('.'), false>} */ function getSideChannelWeakMap() {\n\t\t/** @typedef {ReturnType<typeof getSideChannelWeakMap>} Channel */\n\t\t/** @typedef {Parameters<Channel['get']>[0]} K */\n\t\t/** @typedef {Parameters<Channel['set']>[1]} V */\n\n\t\t/** @type {WeakMap<K & object, V> | undefined} */ var $wm;\n\t\t/** @type {Channel | undefined} */ var $m;\n\n\t\t/** @type {Channel} */\n\t\tvar channel = {\n\t\t\tassert: function (key) {\n\t\t\t\tif (!channel.has(key)) {\n\t\t\t\t\tthrow new $TypeError('Side channel does not contain ' + inspect(key));\n\t\t\t\t}\n\t\t\t},\n\t\t\t'delete': function (key) {\n\t\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\t\tif ($wm) {\n\t\t\t\t\t\treturn $weakMapDelete($wm, key);\n\t\t\t\t\t}\n\t\t\t\t} else if (getSideChannelMap) {\n\t\t\t\t\tif ($m) {\n\t\t\t\t\t\treturn $m['delete'](key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t},\n\t\t\tget: function (key) {\n\t\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\t\tif ($wm) {\n\t\t\t\t\t\treturn $weakMapGet($wm, key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn $m && $m.get(key);\n\t\t\t},\n\t\t\thas: function (key) {\n\t\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\t\tif ($wm) {\n\t\t\t\t\t\treturn $weakMapHas($wm, key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn !!$m && $m.has(key);\n\t\t\t},\n\t\t\tset: function (key, value) {\n\t\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\t\tif (!$wm) {\n\t\t\t\t\t\t$wm = new $WeakMap();\n\t\t\t\t\t}\n\t\t\t\t\t$weakMapSet($wm, key, value);\n\t\t\t\t} else if (getSideChannelMap) {\n\t\t\t\t\tif (!$m) {\n\t\t\t\t\t\t$m = getSideChannelMap();\n\t\t\t\t\t}\n\t\t\t\t\t// eslint-disable-next-line no-extra-parens\n\t\t\t\t\t/** @type {NonNullable<typeof $m>} */ ($m).set(key, value);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\t// @ts-expect-error TODO: figure out why this is erroring\n\t\treturn channel;\n\t}\n\t: getSideChannelMap;\n","'use strict';\n\nvar $TypeError = require('es-errors/type');\nvar inspect = require('object-inspect');\nvar getSideChannelList = require('side-channel-list');\nvar getSideChannelMap = require('side-channel-map');\nvar getSideChannelWeakMap = require('side-channel-weakmap');\n\nvar makeChannel = getSideChannelWeakMap || getSideChannelMap || getSideChannelList;\n\n/** @type {import('.')} */\nmodule.exports = function getSideChannel() {\n\t/** @typedef {ReturnType<typeof getSideChannel>} Channel */\n\n\t/** @type {Channel | undefined} */ var $channelData;\n\n\t/** @type {Channel} */\n\tvar channel = {\n\t\tassert: function (key) {\n\t\t\tif (!channel.has(key)) {\n\t\t\t\tthrow new $TypeError('Side channel does not contain ' + inspect(key));\n\t\t\t}\n\t\t},\n\t\t'delete': function (key) {\n\t\t\treturn !!$channelData && $channelData['delete'](key);\n\t\t},\n\t\tget: function (key) {\n\t\t\treturn $channelData && $channelData.get(key);\n\t\t},\n\t\thas: function (key) {\n\t\t\treturn !!$channelData && $channelData.has(key);\n\t\t},\n\t\tset: function (key, value) {\n\t\t\tif (!$channelData) {\n\t\t\t\t$channelData = makeChannel();\n\t\t\t}\n\n\t\t\t$channelData.set(key, value);\n\t\t}\n\t};\n\t// @ts-expect-error TODO: figure out why this is erroring\n\treturn channel;\n};\n","'use strict';\n\nvar replace = String.prototype.replace;\nvar percentTwenties = /%20/g;\n\nvar Format = {\n RFC1738: 'RFC1738',\n RFC3986: 'RFC3986'\n};\n\nmodule.exports = {\n 'default': Format.RFC3986,\n formatters: {\n RFC1738: function (value) {\n return replace.call(value, percentTwenties, '+');\n },\n RFC3986: function (value) {\n return String(value);\n }\n },\n RFC1738: Format.RFC1738,\n RFC3986: Format.RFC3986\n};\n","'use strict';\n\nvar formats = require('./formats');\nvar getSideChannel = require('side-channel');\n\nvar has = Object.prototype.hasOwnProperty;\nvar isArray = Array.isArray;\n\n// Track objects created from arrayLimit overflow using side-channel\n// Stores the current max numeric index for O(1) lookup\nvar overflowChannel = getSideChannel();\n\nvar markOverflow = function markOverflow(obj, maxIndex) {\n overflowChannel.set(obj, maxIndex);\n return obj;\n};\n\nvar isOverflow = function isOverflow(obj) {\n return overflowChannel.has(obj);\n};\n\nvar getMaxIndex = function getMaxIndex(obj) {\n return overflowChannel.get(obj);\n};\n\nvar setMaxIndex = function setMaxIndex(obj, maxIndex) {\n overflowChannel.set(obj, maxIndex);\n};\n\nvar hexTable = (function () {\n var array = [];\n for (var i = 0; i < 256; ++i) {\n array.push('%' + ((i < 16 ? '0' : '') + i.toString(16)).toUpperCase());\n }\n\n return array;\n}());\n\nvar compactQueue = function compactQueue(queue) {\n while (queue.length > 1) {\n var item = queue.pop();\n var obj = item.obj[item.prop];\n\n if (isArray(obj)) {\n var compacted = [];\n\n for (var j = 0; j < obj.length; ++j) {\n if (typeof obj[j] !== 'undefined') {\n compacted.push(obj[j]);\n }\n }\n\n item.obj[item.prop] = compacted;\n }\n }\n};\n\nvar arrayToObject = function arrayToObject(source, options) {\n var obj = options && options.plainObjects ? { __proto__: null } : {};\n for (var i = 0; i < source.length; ++i) {\n if (typeof source[i] !== 'undefined') {\n obj[i] = source[i];\n }\n }\n\n return obj;\n};\n\nvar merge = function merge(target, source, options) {\n /* eslint no-param-reassign: 0 */\n if (!source) {\n return target;\n }\n\n if (typeof source !== 'object' && typeof source !== 'function') {\n if (isArray(target)) {\n target.push(source);\n } else if (target && typeof target === 'object') {\n if (isOverflow(target)) {\n // Add at next numeric index for overflow objects\n var newIndex = getMaxIndex(target) + 1;\n target[newIndex] = source;\n setMaxIndex(target, newIndex);\n } else if (\n (options && (options.plainObjects || options.allowPrototypes))\n || !has.call(Object.prototype, source)\n ) {\n target[source] = true;\n }\n } else {\n return [target, source];\n }\n\n return target;\n }\n\n if (!target || typeof target !== 'object') {\n if (isOverflow(source)) {\n // Create new object with target at 0, source values shifted by 1\n var sourceKeys = Object.keys(source);\n var result = options && options.plainObjects\n ? { __proto__: null, 0: target }\n : { 0: target };\n for (var m = 0; m < sourceKeys.length; m++) {\n var oldKey = parseInt(sourceKeys[m], 10);\n result[oldKey + 1] = source[sourceKeys[m]];\n }\n return markOverflow(result, getMaxIndex(source) + 1);\n }\n return [target].concat(source);\n }\n\n var mergeTarget = target;\n if (isArray(target) && !isArray(source)) {\n mergeTarget = arrayToObject(target, options);\n }\n\n if (isArray(target) && isArray(source)) {\n source.forEach(function (item, i) {\n if (has.call(target, i)) {\n var targetItem = target[i];\n if (targetItem && typeof targetItem === 'object' && item && typeof item === 'object') {\n target[i] = merge(targetItem, item, options);\n } else {\n target.push(item);\n }\n } else {\n target[i] = item;\n }\n });\n return target;\n }\n\n return Object.keys(source).reduce(function (acc, key) {\n var value = source[key];\n\n if (has.call(acc, key)) {\n acc[key] = merge(acc[key], value, options);\n } else {\n acc[key] = value;\n }\n return acc;\n }, mergeTarget);\n};\n\nvar assign = function assignSingleSource(target, source) {\n return Object.keys(source).reduce(function (acc, key) {\n acc[key] = source[key];\n return acc;\n }, target);\n};\n\nvar decode = function (str, defaultDecoder, charset) {\n var strWithoutPlus = str.replace(/\\+/g, ' ');\n if (charset === 'iso-8859-1') {\n // unescape never throws, no try...catch needed:\n return strWithoutPlus.replace(/%[0-9a-f]{2}/gi, unescape);\n }\n // utf-8\n try {\n return decodeURIComponent(strWithoutPlus);\n } catch (e) {\n return strWithoutPlus;\n }\n};\n\nvar limit = 1024;\n\n/* eslint operator-linebreak: [2, \"before\"] */\n\nvar encode = function encode(str, defaultEncoder, charset, kind, format) {\n // This code was originally written by Brian White (mscdex) for the io.js core querystring library.\n // It has been adapted here for stricter adherence to RFC 3986\n if (str.length === 0) {\n return str;\n }\n\n var string = str;\n if (typeof str === 'symbol') {\n string = Symbol.prototype.toString.call(str);\n } else if (typeof str !== 'string') {\n string = String(str);\n }\n\n if (charset === 'iso-8859-1') {\n return escape(string).replace(/%u[0-9a-f]{4}/gi, function ($0) {\n return '%26%23' + parseInt($0.slice(2), 16) + '%3B';\n });\n }\n\n var out = '';\n for (var j = 0; j < string.length; j += limit) {\n var segment = string.length >= limit ? string.slice(j, j + limit) : string;\n var arr = [];\n\n for (var i = 0; i < segment.length; ++i) {\n var c = segment.charCodeAt(i);\n if (\n c === 0x2D // -\n || c === 0x2E // .\n || c === 0x5F // _\n || c === 0x7E // ~\n || (c >= 0x30 && c <= 0x39) // 0-9\n || (c >= 0x41 && c <= 0x5A) // a-z\n || (c >= 0x61 && c <= 0x7A) // A-Z\n || (format === formats.RFC1738 && (c === 0x28 || c === 0x29)) // ( )\n ) {\n arr[arr.length] = segment.charAt(i);\n continue;\n }\n\n if (c < 0x80) {\n arr[arr.length] = hexTable[c];\n continue;\n }\n\n if (c < 0x800) {\n arr[arr.length] = hexTable[0xC0 | (c >> 6)]\n + hexTable[0x80 | (c & 0x3F)];\n continue;\n }\n\n if (c < 0xD800 || c >= 0xE000) {\n arr[arr.length] = hexTable[0xE0 | (c >> 12)]\n + hexTable[0x80 | ((c >> 6) & 0x3F)]\n + hexTable[0x80 | (c & 0x3F)];\n continue;\n }\n\n i += 1;\n c = 0x10000 + (((c & 0x3FF) << 10) | (segment.charCodeAt(i) & 0x3FF));\n\n arr[arr.length] = hexTable[0xF0 | (c >> 18)]\n + hexTable[0x80 | ((c >> 12) & 0x3F)]\n + hexTable[0x80 | ((c >> 6) & 0x3F)]\n + hexTable[0x80 | (c & 0x3F)];\n }\n\n out += arr.join('');\n }\n\n return out;\n};\n\nvar compact = function compact(value) {\n var queue = [{ obj: { o: value }, prop: 'o' }];\n var refs = [];\n\n for (var i = 0; i < queue.length; ++i) {\n var item = queue[i];\n var obj = item.obj[item.prop];\n\n var keys = Object.keys(obj);\n for (var j = 0; j < keys.length; ++j) {\n var key = keys[j];\n var val = obj[key];\n if (typeof val === 'object' && val !== null && refs.indexOf(val) === -1) {\n queue.push({ obj: obj, prop: key });\n refs.push(val);\n }\n }\n }\n\n compactQueue(queue);\n\n return value;\n};\n\nvar isRegExp = function isRegExp(obj) {\n return Object.prototype.toString.call(obj) === '[object RegExp]';\n};\n\nvar isBuffer = function isBuffer(obj) {\n if (!obj || typeof obj !== 'object') {\n return false;\n }\n\n return !!(obj.constructor && obj.constructor.isBuffer && obj.constructor.isBuffer(obj));\n};\n\nvar combine = function combine(a, b, arrayLimit, plainObjects) {\n // If 'a' is already an overflow object, add to it\n if (isOverflow(a)) {\n var newIndex = getMaxIndex(a) + 1;\n a[newIndex] = b;\n setMaxIndex(a, newIndex);\n return a;\n }\n\n var result = [].concat(a, b);\n if (result.length > arrayLimit) {\n return markOverflow(arrayToObject(result, { plainObjects: plainObjects }), result.length - 1);\n }\n return result;\n};\n\nvar maybeMap = function maybeMap(val, fn) {\n if (isArray(val)) {\n var mapped = [];\n for (var i = 0; i < val.length; i += 1) {\n mapped.push(fn(val[i]));\n }\n return mapped;\n }\n return fn(val);\n};\n\nmodule.exports = {\n arrayToObject: arrayToObject,\n assign: assign,\n combine: combine,\n compact: compact,\n decode: decode,\n encode: encode,\n isBuffer: isBuffer,\n isOverflow: isOverflow,\n isRegExp: isRegExp,\n maybeMap: maybeMap,\n merge: merge\n};\n","'use strict';\n\nvar getSideChannel = require('side-channel');\nvar utils = require('./utils');\nvar formats = require('./formats');\nvar has = Object.prototype.hasOwnProperty;\n\nvar arrayPrefixGenerators = {\n brackets: function brackets(prefix) {\n return prefix + '[]';\n },\n comma: 'comma',\n indices: function indices(prefix, key) {\n return prefix + '[' + key + ']';\n },\n repeat: function repeat(prefix) {\n return prefix;\n }\n};\n\nvar isArray = Array.isArray;\nvar push = Array.prototype.push;\nvar pushToArray = function (arr, valueOrArray) {\n push.apply(arr, isArray(valueOrArray) ? valueOrArray : [valueOrArray]);\n};\n\nvar toISO = Date.prototype.toISOString;\n\nvar defaultFormat = formats['default'];\nvar defaults = {\n addQueryPrefix: false,\n allowDots: false,\n allowEmptyArrays: false,\n arrayFormat: 'indices',\n charset: 'utf-8',\n charsetSentinel: false,\n commaRoundTrip: false,\n delimiter: '&',\n encode: true,\n encodeDotInKeys: false,\n encoder: utils.encode,\n encodeValuesOnly: false,\n filter: void undefined,\n format: defaultFormat,\n formatter: formats.formatters[defaultFormat],\n // deprecated\n indices: false,\n serializeDate: function serializeDate(date) {\n return toISO.call(date);\n },\n skipNulls: false,\n strictNullHandling: false\n};\n\nvar isNonNullishPrimitive = function isNonNullishPrimitive(v) {\n return typeof v === 'string'\n || typeof v === 'number'\n || typeof v === 'boolean'\n || typeof v === 'symbol'\n || typeof v === 'bigint';\n};\n\nvar sentinel = {};\n\nvar stringify = function stringify(\n object,\n prefix,\n generateArrayPrefix,\n commaRoundTrip,\n allowEmptyArrays,\n strictNullHandling,\n skipNulls,\n encodeDotInKeys,\n encoder,\n filter,\n sort,\n allowDots,\n serializeDate,\n format,\n formatter,\n encodeValuesOnly,\n charset,\n sideChannel\n) {\n var obj = object;\n\n var tmpSc = sideChannel;\n var step = 0;\n var findFlag = false;\n while ((tmpSc = tmpSc.get(sentinel)) !== void undefined && !findFlag) {\n // Where object last appeared in the ref tree\n var pos = tmpSc.get(object);\n step += 1;\n if (typeof pos !== 'undefined') {\n if (pos === step) {\n throw new RangeError('Cyclic object value');\n } else {\n findFlag = true; // Break while\n }\n }\n if (typeof tmpSc.get(sentinel) === 'undefined') {\n step = 0;\n }\n }\n\n if (typeof filter === 'function') {\n obj = filter(prefix, obj);\n } else if (obj instanceof Date) {\n obj = serializeDate(obj);\n } else if (generateArrayPrefix === 'comma' && isArray(obj)) {\n obj = utils.maybeMap(obj, function (value) {\n if (value instanceof Date) {\n return serializeDate(value);\n }\n return value;\n });\n }\n\n if (obj === null) {\n if (strictNullHandling) {\n return encoder && !encodeValuesOnly ? encoder(prefix, defaults.encoder, charset, 'key', format) : prefix;\n }\n\n obj = '';\n }\n\n if (isNonNullishPrimitive(obj) || utils.isBuffer(obj)) {\n if (encoder) {\n var keyValue = encodeValuesOnly ? prefix : encoder(prefix, defaults.encoder, charset, 'key', format);\n return [formatter(keyValue) + '=' + formatter(encoder(obj, defaults.encoder, charset, 'value', format))];\n }\n return [formatter(prefix) + '=' + formatter(String(obj))];\n }\n\n var values = [];\n\n if (typeof obj === 'undefined') {\n return values;\n }\n\n var objKeys;\n if (generateArrayPrefix === 'comma' && isArray(obj)) {\n // we need to join elements in\n if (encodeValuesOnly && encoder) {\n obj = utils.maybeMap(obj, encoder);\n }\n objKeys = [{ value: obj.length > 0 ? obj.join(',') || null : void undefined }];\n } else if (isArray(filter)) {\n objKeys = filter;\n } else {\n var keys = Object.keys(obj);\n objKeys = sort ? keys.sort(sort) : keys;\n }\n\n var encodedPrefix = encodeDotInKeys ? String(prefix).replace(/\\./g, '%2E') : String(prefix);\n\n var adjustedPrefix = commaRoundTrip && isArray(obj) && obj.length === 1 ? encodedPrefix + '[]' : encodedPrefix;\n\n if (allowEmptyArrays && isArray(obj) && obj.length === 0) {\n return adjustedPrefix + '[]';\n }\n\n for (var j = 0; j < objKeys.length; ++j) {\n var key = objKeys[j];\n var value = typeof key === 'object' && key && typeof key.value !== 'undefined'\n ? key.value\n : obj[key];\n\n if (skipNulls && value === null) {\n continue;\n }\n\n var encodedKey = allowDots && encodeDotInKeys ? String(key).replace(/\\./g, '%2E') : String(key);\n var keyPrefix = isArray(obj)\n ? typeof generateArrayPrefix === 'function' ? generateArrayPrefix(adjustedPrefix, encodedKey) : adjustedPrefix\n : adjustedPrefix + (allowDots ? '.' + encodedKey : '[' + encodedKey + ']');\n\n sideChannel.set(object, step);\n var valueSideChannel = getSideChannel();\n valueSideChannel.set(sentinel, sideChannel);\n pushToArray(values, stringify(\n value,\n keyPrefix,\n generateArrayPrefix,\n commaRoundTrip,\n allowEmptyArrays,\n strictNullHandling,\n skipNulls,\n encodeDotInKeys,\n generateArrayPrefix === 'comma' && encodeValuesOnly && isArray(obj) ? null : encoder,\n filter,\n sort,\n allowDots,\n serializeDate,\n format,\n formatter,\n encodeValuesOnly,\n charset,\n valueSideChannel\n ));\n }\n\n return values;\n};\n\nvar normalizeStringifyOptions = function normalizeStringifyOptions(opts) {\n if (!opts) {\n return defaults;\n }\n\n if (typeof opts.allowEmptyArrays !== 'undefined' && typeof opts.allowEmptyArrays !== 'boolean') {\n throw new TypeError('`allowEmptyArrays` option can only be `true` or `false`, when provided');\n }\n\n if (typeof opts.encodeDotInKeys !== 'undefined' && typeof opts.encodeDotInKeys !== 'boolean') {\n throw new TypeError('`encodeDotInKeys` option can only be `true` or `false`, when provided');\n }\n\n if (opts.encoder !== null && typeof opts.encoder !== 'undefined' && typeof opts.encoder !== 'function') {\n throw new TypeError('Encoder has to be a function.');\n }\n\n var charset = opts.charset || defaults.charset;\n if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {\n throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');\n }\n\n var format = formats['default'];\n if (typeof opts.format !== 'undefined') {\n if (!has.call(formats.formatters, opts.format)) {\n throw new TypeError('Unknown format option provided.');\n }\n format = opts.format;\n }\n var formatter = formats.formatters[format];\n\n var filter = defaults.filter;\n if (typeof opts.filter === 'function' || isArray(opts.filter)) {\n filter = opts.filter;\n }\n\n var arrayFormat;\n if (opts.arrayFormat in arrayPrefixGenerators) {\n arrayFormat = opts.arrayFormat;\n } else if ('indices' in opts) {\n arrayFormat = opts.indices ? 'indices' : 'repeat';\n } else {\n arrayFormat = defaults.arrayFormat;\n }\n\n if ('commaRoundTrip' in opts && typeof opts.commaRoundTrip !== 'boolean') {\n throw new TypeError('`commaRoundTrip` must be a boolean, or absent');\n }\n\n var allowDots = typeof opts.allowDots === 'undefined' ? opts.encodeDotInKeys === true ? true : defaults.allowDots : !!opts.allowDots;\n\n return {\n addQueryPrefix: typeof opts.addQueryPrefix === 'boolean' ? opts.addQueryPrefix : defaults.addQueryPrefix,\n allowDots: allowDots,\n allowEmptyArrays: typeof opts.allowEmptyArrays === 'boolean' ? !!opts.allowEmptyArrays : defaults.allowEmptyArrays,\n arrayFormat: arrayFormat,\n charset: charset,\n charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,\n commaRoundTrip: !!opts.commaRoundTrip,\n delimiter: typeof opts.delimiter === 'undefined' ? defaults.delimiter : opts.delimiter,\n encode: typeof opts.encode === 'boolean' ? opts.encode : defaults.encode,\n encodeDotInKeys: typeof opts.encodeDotInKeys === 'boolean' ? opts.encodeDotInKeys : defaults.encodeDotInKeys,\n encoder: typeof opts.encoder === 'function' ? opts.encoder : defaults.encoder,\n encodeValuesOnly: typeof opts.encodeValuesOnly === 'boolean' ? opts.encodeValuesOnly : defaults.encodeValuesOnly,\n filter: filter,\n format: format,\n formatter: formatter,\n serializeDate: typeof opts.serializeDate === 'function' ? opts.serializeDate : defaults.serializeDate,\n skipNulls: typeof opts.skipNulls === 'boolean' ? opts.skipNulls : defaults.skipNulls,\n sort: typeof opts.sort === 'function' ? opts.sort : null,\n strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling\n };\n};\n\nmodule.exports = function (object, opts) {\n var obj = object;\n var options = normalizeStringifyOptions(opts);\n\n var objKeys;\n var filter;\n\n if (typeof options.filter === 'function') {\n filter = options.filter;\n obj = filter('', obj);\n } else if (isArray(options.filter)) {\n filter = options.filter;\n objKeys = filter;\n }\n\n var keys = [];\n\n if (typeof obj !== 'object' || obj === null) {\n return '';\n }\n\n var generateArrayPrefix = arrayPrefixGenerators[options.arrayFormat];\n var commaRoundTrip = generateArrayPrefix === 'comma' && options.commaRoundTrip;\n\n if (!objKeys) {\n objKeys = Object.keys(obj);\n }\n\n if (options.sort) {\n objKeys.sort(options.sort);\n }\n\n var sideChannel = getSideChannel();\n for (var i = 0; i < objKeys.length; ++i) {\n var key = objKeys[i];\n var value = obj[key];\n\n if (options.skipNulls && value === null) {\n continue;\n }\n pushToArray(keys, stringify(\n value,\n key,\n generateArrayPrefix,\n commaRoundTrip,\n options.allowEmptyArrays,\n options.strictNullHandling,\n options.skipNulls,\n options.encodeDotInKeys,\n options.encode ? options.encoder : null,\n options.filter,\n options.sort,\n options.allowDots,\n options.serializeDate,\n options.format,\n options.formatter,\n options.encodeValuesOnly,\n options.charset,\n sideChannel\n ));\n }\n\n var joined = keys.join(options.delimiter);\n var prefix = options.addQueryPrefix === true ? '?' : '';\n\n if (options.charsetSentinel) {\n if (options.charset === 'iso-8859-1') {\n // encodeURIComponent('&#10003;'), the \"numeric entity\" representation of a checkmark\n prefix += 'utf8=%26%2310003%3B&';\n } else {\n // encodeURIComponent('✓')\n prefix += 'utf8=%E2%9C%93&';\n }\n }\n\n return joined.length > 0 ? prefix + joined : '';\n};\n","'use strict';\n\nvar utils = require('./utils');\n\nvar has = Object.prototype.hasOwnProperty;\nvar isArray = Array.isArray;\n\nvar defaults = {\n allowDots: false,\n allowEmptyArrays: false,\n allowPrototypes: false,\n allowSparse: false,\n arrayLimit: 20,\n charset: 'utf-8',\n charsetSentinel: false,\n comma: false,\n decodeDotInKeys: false,\n decoder: utils.decode,\n delimiter: '&',\n depth: 5,\n duplicates: 'combine',\n ignoreQueryPrefix: false,\n interpretNumericEntities: false,\n parameterLimit: 1000,\n parseArrays: true,\n plainObjects: false,\n strictDepth: false,\n strictNullHandling: false,\n throwOnLimitExceeded: false\n};\n\nvar interpretNumericEntities = function (str) {\n return str.replace(/&#(\\d+);/g, function ($0, numberStr) {\n return String.fromCharCode(parseInt(numberStr, 10));\n });\n};\n\nvar parseArrayValue = function (val, options, currentArrayLength) {\n if (val && typeof val === 'string' && options.comma && val.indexOf(',') > -1) {\n return val.split(',');\n }\n\n if (options.throwOnLimitExceeded && currentArrayLength >= options.arrayLimit) {\n throw new RangeError('Array limit exceeded. Only ' + options.arrayLimit + ' element' + (options.arrayLimit === 1 ? '' : 's') + ' allowed in an array.');\n }\n\n return val;\n};\n\n// This is what browsers will submit when the ✓ character occurs in an\n// application/x-www-form-urlencoded body and the encoding of the page containing\n// the form is iso-8859-1, or when the submitted form has an accept-charset\n// attribute of iso-8859-1. Presumably also with other charsets that do not contain\n// the ✓ character, such as us-ascii.\nvar isoSentinel = 'utf8=%26%2310003%3B'; // encodeURIComponent('&#10003;')\n\n// These are the percent-encoded utf-8 octets representing a checkmark, indicating that the request actually is utf-8 encoded.\nvar charsetSentinel = 'utf8=%E2%9C%93'; // encodeURIComponent('✓')\n\nvar parseValues = function parseQueryStringValues(str, options) {\n var obj = { __proto__: null };\n\n var cleanStr = options.ignoreQueryPrefix ? str.replace(/^\\?/, '') : str;\n cleanStr = cleanStr.replace(/%5B/gi, '[').replace(/%5D/gi, ']');\n\n var limit = options.parameterLimit === Infinity ? undefined : options.parameterLimit;\n var parts = cleanStr.split(\n options.delimiter,\n options.throwOnLimitExceeded ? limit + 1 : limit\n );\n\n if (options.throwOnLimitExceeded && parts.length > limit) {\n throw new RangeError('Parameter limit exceeded. Only ' + limit + ' parameter' + (limit === 1 ? '' : 's') + ' allowed.');\n }\n\n var skipIndex = -1; // Keep track of where the utf8 sentinel was found\n var i;\n\n var charset = options.charset;\n if (options.charsetSentinel) {\n for (i = 0; i < parts.length; ++i) {\n if (parts[i].indexOf('utf8=') === 0) {\n if (parts[i] === charsetSentinel) {\n charset = 'utf-8';\n } else if (parts[i] === isoSentinel) {\n charset = 'iso-8859-1';\n }\n skipIndex = i;\n i = parts.length; // The eslint settings do not allow break;\n }\n }\n }\n\n for (i = 0; i < parts.length; ++i) {\n if (i === skipIndex) {\n continue;\n }\n var part = parts[i];\n\n var bracketEqualsPos = part.indexOf(']=');\n var pos = bracketEqualsPos === -1 ? part.indexOf('=') : bracketEqualsPos + 1;\n\n var key;\n var val;\n if (pos === -1) {\n key = options.decoder(part, defaults.decoder, charset, 'key');\n val = options.strictNullHandling ? null : '';\n } else {\n key = options.decoder(part.slice(0, pos), defaults.decoder, charset, 'key');\n\n if (key !== null) {\n val = utils.maybeMap(\n parseArrayValue(\n part.slice(pos + 1),\n options,\n isArray(obj[key]) ? obj[key].length : 0\n ),\n function (encodedVal) {\n return options.decoder(encodedVal, defaults.decoder, charset, 'value');\n }\n );\n }\n }\n\n if (val && options.interpretNumericEntities && charset === 'iso-8859-1') {\n val = interpretNumericEntities(String(val));\n }\n\n if (part.indexOf('[]=') > -1) {\n val = isArray(val) ? [val] : val;\n }\n\n if (key !== null) {\n var existing = has.call(obj, key);\n if (existing && options.duplicates === 'combine') {\n obj[key] = utils.combine(\n obj[key],\n val,\n options.arrayLimit,\n options.plainObjects\n );\n } else if (!existing || options.duplicates === 'last') {\n obj[key] = val;\n }\n }\n }\n\n return obj;\n};\n\nvar parseObject = function (chain, val, options, valuesParsed) {\n var currentArrayLength = 0;\n if (chain.length > 0 && chain[chain.length - 1] === '[]') {\n var parentKey = chain.slice(0, -1).join('');\n currentArrayLength = Array.isArray(val) && val[parentKey] ? val[parentKey].length : 0;\n }\n\n var leaf = valuesParsed ? val : parseArrayValue(val, options, currentArrayLength);\n\n for (var i = chain.length - 1; i >= 0; --i) {\n var obj;\n var root = chain[i];\n\n if (root === '[]' && options.parseArrays) {\n if (utils.isOverflow(leaf)) {\n // leaf is already an overflow object, preserve it\n obj = leaf;\n } else {\n obj = options.allowEmptyArrays && (leaf === '' || (options.strictNullHandling && leaf === null))\n ? []\n : utils.combine(\n [],\n leaf,\n options.arrayLimit,\n options.plainObjects\n );\n }\n } else {\n obj = options.plainObjects ? { __proto__: null } : {};\n var cleanRoot = root.charAt(0) === '[' && root.charAt(root.length - 1) === ']' ? root.slice(1, -1) : root;\n var decodedRoot = options.decodeDotInKeys ? cleanRoot.replace(/%2E/g, '.') : cleanRoot;\n var index = parseInt(decodedRoot, 10);\n if (!options.parseArrays && decodedRoot === '') {\n obj = { 0: leaf };\n } else if (\n !isNaN(index)\n && root !== decodedRoot\n && String(index) === decodedRoot\n && index >= 0\n && (options.parseArrays && index <= options.arrayLimit)\n ) {\n obj = [];\n obj[index] = leaf;\n } else if (decodedRoot !== '__proto__') {\n obj[decodedRoot] = leaf;\n }\n }\n\n leaf = obj;\n }\n\n return leaf;\n};\n\nvar splitKeyIntoSegments = function splitKeyIntoSegments(givenKey, options) {\n var key = options.allowDots ? givenKey.replace(/\\.([^.[]+)/g, '[$1]') : givenKey;\n\n if (options.depth <= 0) {\n if (!options.plainObjects && has.call(Object.prototype, key)) {\n if (!options.allowPrototypes) {\n return;\n }\n }\n\n return [key];\n }\n\n var brackets = /(\\[[^[\\]]*])/;\n var child = /(\\[[^[\\]]*])/g;\n\n var segment = brackets.exec(key);\n var parent = segment ? key.slice(0, segment.index) : key;\n\n var keys = [];\n\n if (parent) {\n if (!options.plainObjects && has.call(Object.prototype, parent)) {\n if (!options.allowPrototypes) {\n return;\n }\n }\n\n keys.push(parent);\n }\n\n var i = 0;\n while ((segment = child.exec(key)) !== null && i < options.depth) {\n i += 1;\n\n var segmentContent = segment[1].slice(1, -1);\n if (!options.plainObjects && has.call(Object.prototype, segmentContent)) {\n if (!options.allowPrototypes) {\n return;\n }\n }\n\n keys.push(segment[1]);\n }\n\n if (segment) {\n if (options.strictDepth === true) {\n throw new RangeError('Input depth exceeded depth option of ' + options.depth + ' and strictDepth is true');\n }\n\n keys.push('[' + key.slice(segment.index) + ']');\n }\n\n return keys;\n};\n\nvar parseKeys = function parseQueryStringKeys(givenKey, val, options, valuesParsed) {\n if (!givenKey) {\n return;\n }\n\n var keys = splitKeyIntoSegments(givenKey, options);\n\n if (!keys) {\n return;\n }\n\n return parseObject(keys, val, options, valuesParsed);\n};\n\nvar normalizeParseOptions = function normalizeParseOptions(opts) {\n if (!opts) {\n return defaults;\n }\n\n if (typeof opts.allowEmptyArrays !== 'undefined' && typeof opts.allowEmptyArrays !== 'boolean') {\n throw new TypeError('`allowEmptyArrays` option can only be `true` or `false`, when provided');\n }\n\n if (typeof opts.decodeDotInKeys !== 'undefined' && typeof opts.decodeDotInKeys !== 'boolean') {\n throw new TypeError('`decodeDotInKeys` option can only be `true` or `false`, when provided');\n }\n\n if (opts.decoder !== null && typeof opts.decoder !== 'undefined' && typeof opts.decoder !== 'function') {\n throw new TypeError('Decoder has to be a function.');\n }\n\n if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {\n throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');\n }\n\n if (typeof opts.throwOnLimitExceeded !== 'undefined' && typeof opts.throwOnLimitExceeded !== 'boolean') {\n throw new TypeError('`throwOnLimitExceeded` option must be a boolean');\n }\n\n var charset = typeof opts.charset === 'undefined' ? defaults.charset : opts.charset;\n\n var duplicates = typeof opts.duplicates === 'undefined' ? defaults.duplicates : opts.duplicates;\n\n if (duplicates !== 'combine' && duplicates !== 'first' && duplicates !== 'last') {\n throw new TypeError('The duplicates option must be either combine, first, or last');\n }\n\n var allowDots = typeof opts.allowDots === 'undefined' ? opts.decodeDotInKeys === true ? true : defaults.allowDots : !!opts.allowDots;\n\n return {\n allowDots: allowDots,\n allowEmptyArrays: typeof opts.allowEmptyArrays === 'boolean' ? !!opts.allowEmptyArrays : defaults.allowEmptyArrays,\n allowPrototypes: typeof opts.allowPrototypes === 'boolean' ? opts.allowPrototypes : defaults.allowPrototypes,\n allowSparse: typeof opts.allowSparse === 'boolean' ? opts.allowSparse : defaults.allowSparse,\n arrayLimit: typeof opts.arrayLimit === 'number' ? opts.arrayLimit : defaults.arrayLimit,\n charset: charset,\n charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,\n comma: typeof opts.comma === 'boolean' ? opts.comma : defaults.comma,\n decodeDotInKeys: typeof opts.decodeDotInKeys === 'boolean' ? opts.decodeDotInKeys : defaults.decodeDotInKeys,\n decoder: typeof opts.decoder === 'function' ? opts.decoder : defaults.decoder,\n delimiter: typeof opts.delimiter === 'string' || utils.isRegExp(opts.delimiter) ? opts.delimiter : defaults.delimiter,\n // eslint-disable-next-line no-implicit-coercion, no-extra-parens\n depth: (typeof opts.depth === 'number' || opts.depth === false) ? +opts.depth : defaults.depth,\n duplicates: duplicates,\n ignoreQueryPrefix: opts.ignoreQueryPrefix === true,\n interpretNumericEntities: typeof opts.interpretNumericEntities === 'boolean' ? opts.interpretNumericEntities : defaults.interpretNumericEntities,\n parameterLimit: typeof opts.parameterLimit === 'number' ? opts.parameterLimit : defaults.parameterLimit,\n parseArrays: opts.parseArrays !== false,\n plainObjects: typeof opts.plainObjects === 'boolean' ? opts.plainObjects : defaults.plainObjects,\n strictDepth: typeof opts.strictDepth === 'boolean' ? !!opts.strictDepth : defaults.strictDepth,\n strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling,\n throwOnLimitExceeded: typeof opts.throwOnLimitExceeded === 'boolean' ? opts.throwOnLimitExceeded : false\n };\n};\n\nmodule.exports = function (str, opts) {\n var options = normalizeParseOptions(opts);\n\n if (str === '' || str === null || typeof str === 'undefined') {\n return options.plainObjects ? { __proto__: null } : {};\n }\n\n var tempObj = typeof str === 'string' ? parseValues(str, options) : str;\n var obj = options.plainObjects ? { __proto__: null } : {};\n\n // Iterate over the keys and setup the new object\n\n var keys = Object.keys(tempObj);\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n var newObj = parseKeys(key, tempObj[key], options, typeof str === 'string');\n obj = utils.merge(obj, newObj, options);\n }\n\n if (options.allowSparse === true) {\n return obj;\n }\n\n return utils.compact(obj);\n};\n","'use strict';\n\nvar stringify = require('./stringify');\nvar parse = require('./parse');\nvar formats = require('./formats');\n\nmodule.exports = {\n formats: formats,\n parse: parse,\n stringify: stringify\n};\n","/**\n * @param {Record<string, unknown>} object Source object to pick properties from.\n * @param {string[]} keys Keys to pick from the source object.\n * @returns {Record<string, unknown>} A new object containing only the picked keys.\n * @author Auth0 https://github.com/auth0/auth0.js\n * @license MIT\n */\nexport function pick(object, keys) {\n return keys.reduce((prev, key) => {\n if (object[key]) {\n prev[key] = object[key];\n }\n return prev;\n }, {});\n}\n","import errors from '../helpers/errors';\nimport qs from 'qs';\nimport {pick} from '../helpers/object';\n\nexport default class Redirect {\n constructor(sdk, options) {\n this.options = options;\n this.sdk = sdk;\n }\n\n /**\n * run default authorization flow\n */\n authorize() {\n const url = this.sdk.authorizeURL(this.options);\n window.location = url;\n }\n\n /**\n * this function checks if the current origin was redirected to with authorize data\n * @returns {Promise} promise that resolves to authorize data or error\n */\n authorizeData() {\n return new Promise((resolve, reject) => {\n let authorizeData = {};\n let requiredFields = [];\n\n switch (this.options.response_type) {\n case 'token':\n requiredFields = ['access_token', 'expires_in', 'token_type'];\n\n authorizeData = qs.parse(window.location.hash.substring(1));\n authorizeData = pick(authorizeData, [\n 'access_token',\n 'expires_in',\n 'state',\n 'scope',\n 'token_type',\n ]);\n\n if (\n !requiredFields.every((field) =>\n Object.prototype.hasOwnProperty.call(authorizeData, field)\n )\n ) {\n reject(errors.extend({identity_exception: 'unauthorized'}));\n return;\n }\n\n authorizeData.expires_in = parseInt(authorizeData.expires_in);\n break;\n\n case 'code':\n requiredFields = ['code'];\n\n authorizeData = qs.parse(window.location.search, {\n ignoreQueryPrefix: true,\n });\n authorizeData = pick(authorizeData, ['state', 'code']);\n\n if (\n !requiredFields.every((field) =>\n Object.prototype.hasOwnProperty.call(authorizeData, field)\n )\n ) {\n reject(errors.extend({identity_exception: 'unauthorized'}));\n return;\n }\n }\n\n this.sdk.redirectUriParamsPersister.retrieve(authorizeData.state);\n\n resolve(authorizeData);\n });\n }\n}\n","import Listener from '../helpers/listener';\n\n/**\n * Class for authentication using Iframe\n */\nexport default class Iframe {\n constructor(sdk, options) {\n this.options = options;\n this.sdk = sdk;\n }\n\n /**\n * run iframe authorization flow, not recommended because of ITP 2.0\n * @returns {Promise} promise that resolves to authorize data or error\n */\n authorize() {\n return new Promise((resolve, reject) => {\n const url = this.sdk.authorizeURL(this.options, 'button');\n\n const listener = new Listener(this.options);\n\n const cb = (err, authorizeData) => {\n this.removeIframe();\n if (err) {\n return reject(err);\n }\n resolve(authorizeData);\n };\n\n listener.start(5000, cb);\n\n const iframe = document.createElement('iframe');\n iframe.setAttribute('src', url);\n iframe.setAttribute('id', this.iframeID());\n iframe.style.width = '1px';\n iframe.style.height = '1px';\n iframe.style.position = 'fixed';\n iframe.style.top = '0';\n iframe.style.right = '0';\n iframe.style.opacity = '0';\n iframe.style.visibility = 'none';\n\n document.body.appendChild(iframe);\n });\n }\n\n iframeID() {\n return this.options.client_id + this.options.response_type;\n }\n\n removeIframe() {\n const ref = document.getElementById(this.iframeID());\n if (ref && ref.parentNode) {\n ref.parentNode.removeChild(ref);\n }\n }\n}\n","/**\n * @file\n * @author Auth0 https://github.com/auth0/auth0.js\n * @license MIT\n */\n\n/**\n * A dummy storage mechanism that does not persist data.\n * It provides methods to get, set, and remove items, but they do not perform any actual storage operations.\n * This can be used as a fallback when no other storage mechanism is available.\n */\nfunction DummyStorage() {}\n\nDummyStorage.prototype.getItem = function () {\n return null;\n};\n\nDummyStorage.prototype.removeItem = function () {};\n\nDummyStorage.prototype.setItem = function () {};\n\nexport default DummyStorage;\n","/*! js-cookie v3.0.5 | MIT */\n/* eslint-disable no-var */\nfunction assign (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n target[key] = source[key];\n }\n }\n return target\n}\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\nvar defaultConverter = {\n read: function (value) {\n if (value[0] === '\"') {\n value = value.slice(1, -1);\n }\n return value.replace(/(%[\\dA-F]{2})+/gi, decodeURIComponent)\n },\n write: function (value) {\n return encodeURIComponent(value).replace(\n /%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,\n decodeURIComponent\n )\n }\n};\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\n\nfunction init (converter, defaultAttributes) {\n function set (name, value, attributes) {\n if (typeof document === 'undefined') {\n return\n }\n\n attributes = assign({}, defaultAttributes, attributes);\n\n if (typeof attributes.expires === 'number') {\n attributes.expires = new Date(Date.now() + attributes.expires * 864e5);\n }\n if (attributes.expires) {\n attributes.expires = attributes.expires.toUTCString();\n }\n\n name = encodeURIComponent(name)\n .replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent)\n .replace(/[()]/g, escape);\n\n var stringifiedAttributes = '';\n for (var attributeName in attributes) {\n if (!attributes[attributeName]) {\n continue\n }\n\n stringifiedAttributes += '; ' + attributeName;\n\n if (attributes[attributeName] === true) {\n continue\n }\n\n // Considers RFC 6265 section 5.2:\n // ...\n // 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n // character:\n // Consume the characters of the unparsed-attributes up to,\n // not including, the first %x3B (\";\") character.\n // ...\n stringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n }\n\n return (document.cookie =\n name + '=' + converter.write(value, name) + stringifiedAttributes)\n }\n\n function get (name) {\n if (typeof document === 'undefined' || (arguments.length && !name)) {\n return\n }\n\n // To prevent the for loop in the first place assign an empty array\n // in case there are no cookies at all.\n var cookies = document.cookie ? document.cookie.split('; ') : [];\n var jar = {};\n for (var i = 0; i < cookies.length; i++) {\n var parts = cookies[i].split('=');\n var value = parts.slice(1).join('=');\n\n try {\n var found = decodeURIComponent(parts[0]);\n jar[found] = converter.read(value, found);\n\n if (name === found) {\n break\n }\n } catch (e) {}\n }\n\n return name ? jar[name] : jar\n }\n\n return Object.create(\n {\n set,\n get,\n remove: function (name, attributes) {\n set(\n name,\n '',\n assign({}, attributes, {\n expires: -1\n })\n );\n },\n withAttributes: function (attributes) {\n return init(this.converter, assign({}, this.attributes, attributes))\n },\n withConverter: function (converter) {\n return init(assign({}, this.converter, converter), this.attributes)\n }\n },\n {\n attributes: { value: Object.freeze(defaultAttributes) },\n converter: { value: Object.freeze(converter) }\n }\n )\n}\n\nvar api = init(defaultConverter, { path: '/' });\n/* eslint-enable no-var */\n\nexport { api as default };\n","/**\n * @file\n * @author Auth0 https://github.com/auth0/auth0.js\n * @license MIT\n */\n\nimport Cookie from 'js-cookie';\n\n/**\n * A storage mechanism that uses cookies to store data. It provides methods to get, set, and remove items from cookies.\n */\nfunction CookieStorage() {}\n\nCookieStorage.prototype.getItem = function (key) {\n return Cookie.get(key);\n};\n\nCookieStorage.prototype.removeItem = function (key) {\n Cookie.remove(key);\n};\n\nCookieStorage.prototype.setItem = function (key, value, options) {\n const params = Object.assign(\n {\n expires: 1, // 1 day\n\n // After august 2020 chrome changed iframe cookie policy and without\n // those parameters cookies wont we stored properly if document is inside iframe.\n SameSite: 'none',\n Secure: true,\n },\n options\n );\n Cookie.set(key, value, params);\n};\n\nexport default CookieStorage;\n","/**\n * @file\n * @author Auth0 https://github.com/auth0/auth0.js\n * @license MIT\n */\n\nimport DummyStorage from './dummy';\nimport CookieStorage from './cookie';\n\n/**\n * A handler that manages the underlying storage mechanism, providing failover capabilities between localStorage, CookieStorage, and DummyStorage.\n * It attempts to use localStorage by default, but falls back to CookieStorage if localStorage is unavailable or throws an error.\n * If both localStorage and CookieStorage fail, it falls back to DummyStorage, which does not persist data.\n * The handler provides methods to get, set, and remove items from the storage, with automatic failover in case of errors.\n * @param {object} options Storage configuration options passed to the underlying StorageHandler.\n */\nfunction StorageHandler(options) {\n this.storage = new CookieStorage();\n if (options.force_local_storage !== true) {\n return;\n }\n try {\n // some browsers throw an error when trying to access localStorage\n // when localStorage is disabled.\n const localStorage = window.localStorage;\n if (localStorage) {\n this.storage = localStorage;\n }\n } catch (e) {\n console.warn(e);\n console.warn('Cant use localStorage. Using CookieStorage instead.');\n }\n}\n\nStorageHandler.prototype.failover = function () {\n if (this.storage instanceof DummyStorage) {\n console.warn('DummyStorage: ignore failover');\n return;\n } else if (this.storage instanceof CookieStorage) {\n console.warn('CookieStorage: failing over DummyStorage');\n this.storage = new DummyStorage();\n } else {\n console.warn('LocalStorage: failing over CookieStorage');\n this.storage = new CookieStorage();\n }\n};\n\nStorageHandler.prototype.getItem = function (key) {\n try {\n return this.storage.getItem(key);\n } catch (e) {\n console.warn(e);\n this.failover();\n return this.getItem(key);\n }\n};\n\nStorageHandler.prototype.removeItem = function (key) {\n try {\n return this.storage.removeItem(key);\n } catch (e) {\n console.warn(e);\n this.failover();\n return this.removeItem(key);\n }\n};\n\nStorageHandler.prototype.setItem = function (key, value, options) {\n try {\n return this.storage.setItem(key, value, options);\n } catch (e) {\n console.warn(e);\n this.failover();\n return this.setItem(key, value, options);\n }\n};\n\nexport default StorageHandler;\n","/**\n * @file\n * @author Auth0 https://github.com/auth0/auth0.js\n * @license MIT\n */\n\nimport StorageHandler from './storage/handler';\n\n/**\n * A wrapper around the underlying storage mechanism that handles JSON serialization and deserialization.\n * @param {object} options Storage configuration options passed to the underlying StorageHandler.\n */\nfunction Storage(options) {\n this.handler = new StorageHandler(options);\n}\n\nStorage.prototype.getItem = function (key) {\n const value = this.handler.getItem(key);\n try {\n return JSON.parse(value);\n } catch {\n return value;\n }\n};\n\nStorage.prototype.removeItem = function (key) {\n return this.handler.removeItem(key);\n};\n\nStorage.prototype.setItem = function (key, value, options) {\n const json = JSON.stringify(value);\n return this.handler.setItem(key, json, options);\n};\n\nexport default Storage;\n","/* internal file */\nimport Storage from '../helpers/storage';\n\nexport default class Transaction {\n constructor(options) {\n this.options = options.transaction;\n this.storage = new Storage(this.options);\n }\n\n generate(params) {\n // 30 minutes\n this.storage.setItem(\n this.options.namespace + params.state,\n {state: params.state, code_verifier: params.code_verifier},\n {expires: 1 / 48}\n );\n }\n\n get(state) {\n const transactionData = this.storage.getItem(\n this.options.namespace + state\n );\n this.clear(state);\n return transactionData || {};\n }\n\n clear(state) {\n this.storage.removeItem(this.options.namespace + state);\n }\n}\n","/**\n *\n * @file Javascript cryptography implementation.\n * Crush to remove comments, shorten variable names and\n * generally reduce transmission size.\n * @author Emily Stark\n * @author Mike Hamburg\n * @author Dan Boneh\n */\n\n'use strict';\n/*jslint indent: 2, bitwise: false, nomen: false, plusplus: false, white: false, regexp: false */\n/*global document, window, escape, unescape, module, require, Uint32Array */\n\n/**\n * The Stanford Javascript Crypto Library, top-level namespace.\n * @namespace\n */\nvar sjcl = {\n /**\n * Symmetric ciphers.\n * @namespace\n */\n cipher: {},\n\n /**\n * Hash functions. Right now only SHA256 is implemented.\n * @namespace\n */\n hash: {},\n\n /**\n * Key exchange functions. Right now only SRP is implemented.\n * @namespace\n */\n keyexchange: {},\n\n /**\n * Cipher modes of operation.\n * @namespace\n */\n mode: {},\n\n /**\n * Miscellaneous. HMAC and PBKDF2.\n * @namespace\n */\n misc: {},\n\n /**\n * Bit array encoders and decoders.\n * @namespace\n * @description\n * The members of this namespace are functions which translate between\n * SJCL's bitArrays and other objects (usually strings). Because it\n * isn't always clear which direction is encoding and which is decoding,\n * the method names are \"fromBits\" and \"toBits\".\n */\n codec: {},\n\n /**\n * Exceptions.\n * @namespace\n */\n exception: {\n /**\n * Ciphertext is corrupt.\n * @param {string} message Error message describing the corruption.\n */\n corrupt: function (message) {\n this.toString = function () {\n return 'CORRUPT: ' + this.message;\n };\n this.message = message;\n },\n\n /**\n * Invalid parameter.\n * @param {string} message Error message describing the invalid parameter.\n */\n invalid: function (message) {\n this.toString = function () {\n return 'INVALID: ' + this.message;\n };\n this.message = message;\n },\n\n /**\n * Bug or missing feature in SJCL.\n * @param {string} message Error message describing the bug or missing feature.\n */\n bug: function (message) {\n this.toString = function () {\n return 'BUG: ' + this.message;\n };\n this.message = message;\n },\n\n /**\n * Something isn't ready.\n * @param {string} message Error message describing what is not ready.\n */\n notReady: function (message) {\n this.toString = function () {\n return 'NOT READY: ' + this.message;\n };\n this.message = message;\n },\n },\n};\n\n/**\n *\n * @file Arrays of bits, encoded as arrays of Numbers.\n * @author Emily Stark\n * @author Mike Hamburg\n * @author Dan Boneh\n */\n\n/**\n * Arrays of bits, encoded as arrays of Numbers.\n * @namespace\n * @description\n * <p>\n * These objects are the currency accepted by SJCL's crypto functions.\n * </p>\n *\n * <p>\n * Most of our crypto primitives operate on arrays of 4-byte words internally,\n * but many of them can take arguments that are not a multiple of 4 bytes.\n * This library encodes arrays of bits (whose size need not be a multiple of 8\n * bits) as arrays of 32-bit words. The bits are packed, big-endian, into an\n * array of words, 32 bits at a time. Since the words are double-precision\n * floating point numbers, they fit some extra data. We use this (in a private,\n * possibly-changing manner) to encode the number of bits actually present\n * in the last word of the array.\n * </p>\n *\n * <p>\n * Because bitwise ops clear this out-of-band data, these arrays can be passed\n * to ciphers like AES which want arrays of words.\n * </p>\n */\n/**\n * @typedef {number[]} bitArray\n */\nsjcl.bitArray = {\n /**\n * Array slices in units of bits.\n * @param {bitArray} a The array to slice.\n * @param {number} bstart The offset to the start of the slice, in bits.\n * @param {number} [bend] The offset to the end of the slice, in bits. If this is undefined,\n * slice until the end of the array.\n * @returns {bitArray} The requested slice.\n */\n bitSlice: function (a, bstart, bend) {\n a = sjcl.bitArray\n ._shiftRight(a.slice(bstart / 32), 32 - (bstart & 31))\n .slice(1);\n return bend === undefined ? a : sjcl.bitArray.clamp(a, bend - bstart);\n },\n\n /**\n * Extract a number packed into a bit array.\n * @param {bitArray} a The array to slice.\n * @param {number} bstart The offset to the start of the slice, in bits.\n * @param {number} blength The length of the number to extract.\n * @returns {number} The requested slice.\n */\n extract: function (a, bstart, blength) {\n // FIXME: this Math.floor is not necessary at all, but for some reason\n // seems to suppress a bug in the Chromium JIT.\n var x,\n sh = Math.floor((-bstart - blength) & 31);\n if (((bstart + blength - 1) ^ bstart) & -32) {\n // it crosses a boundary\n x =\n (a[(bstart / 32) | 0] << (32 - sh)) ^ (a[(bstart / 32 + 1) | 0] >>> sh);\n } else {\n // within a single word\n x = a[(bstart / 32) | 0] >>> sh;\n }\n return x & ((1 << blength) - 1);\n },\n\n /**\n * Concatenate two bit arrays.\n * @param {bitArray} a1 The first array.\n * @param {bitArray} a2 The second array.\n * @returns {bitArray} The concatenation of a1 and a2.\n */\n concat: function (a1, a2) {\n if (a1.length === 0 || a2.length === 0) {\n return a1.concat(a2);\n }\n\n var last = a1[a1.length - 1],\n shift = sjcl.bitArray.getPartial(last);\n if (shift === 32) {\n return a1.concat(a2);\n } else {\n return sjcl.bitArray._shiftRight(\n a2,\n shift,\n last | 0,\n a1.slice(0, a1.length - 1)\n );\n }\n },\n\n /**\n * Find the length of an array of bits.\n * @param {bitArray} a The array.\n * @returns {number} The length of a, in bits.\n */\n bitLength: function (a) {\n var l = a.length,\n x;\n if (l === 0) {\n return 0;\n }\n x = a[l - 1];\n return (l - 1) * 32 + sjcl.bitArray.getPartial(x);\n },\n\n /**\n * Truncate an array.\n * @param {bitArray} a The array.\n * @param {number} len The length to truncate to, in bits.\n * @returns {bitArray} A new array, truncated to len bits.\n */\n clamp: function (a, len) {\n if (a.length * 32 < len) {\n return a;\n }\n a = a.slice(0, Math.ceil(len / 32));\n var l = a.length;\n len = len & 31;\n if (l > 0 && len) {\n a[l - 1] = sjcl.bitArray.partial(\n len,\n a[l - 1] & (0x80000000 >> (len - 1)),\n 1\n );\n }\n return a;\n },\n\n /**\n * Make a partial word for a bit array.\n * @param {number} len The number of bits in the word.\n * @param {number} x The bits.\n * @param {number} [_end] Pass 1 if x has already been shifted to the high side.\n * @returns {number} The partial word.\n */\n partial: function (len, x, _end) {\n if (len === 32) {\n return x;\n }\n return (_end ? x | 0 : x << (32 - len)) + len * 0x10000000000;\n },\n\n /**\n * Get the number of bits used by a partial word.\n * @param {number} x The partial word.\n * @returns {number} The number of bits used by the partial word.\n */\n getPartial: function (x) {\n return Math.round(x / 0x10000000000) || 32;\n },\n\n /**\n * Compare two arrays for equality in a predictable amount of time.\n * @param {bitArray} a The first array.\n * @param {bitArray} b The second array.\n * @returns {boolean} true if a == b; false otherwise.\n */\n equal: function (a, b) {\n if (sjcl.bitArray.bitLength(a) !== sjcl.bitArray.bitLength(b)) {\n return false;\n }\n var x = 0,\n i;\n for (i = 0; i < a.length; i++) {\n x |= a[i] ^ b[i];\n }\n return x === 0;\n },\n\n /**\n * Shift an array right.\n * @param {bitArray} a The array to shift.\n * @param {number} shift The number of bits to shift.\n * @param {number} [carry] A word to carry in (defaults to 0).\n * @param {bitArray} [out] An array to prepend to the output (defaults to []).\n * @returns {bitArray} The shifted bitArray.\n * @private\n */\n _shiftRight: function (a, shift, carry, out) {\n var i,\n last2 = 0,\n shift2;\n if (out === undefined) {\n out = [];\n }\n\n for (; shift >= 32; shift -= 32) {\n out.push(carry);\n carry = 0;\n }\n if (shift === 0) {\n return out.concat(a);\n }\n\n for (i = 0; i < a.length; i++) {\n out.push(carry | (a[i] >>> shift));\n carry = a[i] << (32 - shift);\n }\n last2 = a.length ? a[a.length - 1] : 0;\n shift2 = sjcl.bitArray.getPartial(last2);\n out.push(\n sjcl.bitArray.partial(\n (shift + shift2) & 31,\n shift + shift2 > 32 ? carry : out.pop(),\n 1\n )\n );\n return out;\n },\n\n /**\n * XOR a block of 4 words together.\n * @param {bitArray} x The first 4-word block.\n * @param {bitArray} y The second 4-word block.\n * @returns {bitArray} The XOR result as a 4-word block.\n * @private\n */\n _xor4: function (x, y) {\n return [x[0] ^ y[0], x[1] ^ y[1], x[2] ^ y[2], x[3] ^ y[3]];\n },\n\n /**\n * byteswap a word array inplace.\n * (does not handle partial words)\n * @param {sjcl.bitArray} a word array\n * @returns {sjcl.bitArray} byteswapped array\n */\n byteswapM: function (a) {\n var i,\n v,\n m = 0xff00;\n for (i = 0; i < a.length; ++i) {\n v = a[i];\n a[i] = (v >>> 24) | ((v >>> 8) & m) | ((v & m) << 8) | (v << 24);\n }\n return a;\n },\n};\n/**\n *\n * @file Bit array codec implementations.\n * @author Emily Stark\n * @author Mike Hamburg\n * @author Dan Boneh \n */\n\n/**\n * UTF-8 strings\n * @namespace\n */\nsjcl.codec.utf8String = {\n /**\n * Convert from a bitArray to a UTF-8 string.\n * @param {bitArray} arr The input bitArray to decode.\n * @returns {string} The decoded UTF-8 string.\n */\n fromBits: function (arr) {\n var out = '',\n bl = sjcl.bitArray.bitLength(arr),\n i,\n tmp;\n for (i = 0; i < bl / 8; i++) {\n if ((i & 3) === 0) {\n tmp = arr[i / 4];\n }\n out += String.fromCharCode(((tmp >>> 8) >>> 8) >>> 8);\n tmp <<= 8;\n }\n return decodeURIComponent(escape(out));\n },\n\n /**\n * Convert from a UTF-8 string to a bitArray.\n * @param {string} str UTF-8 string to encode.\n * @returns {bitArray} The encoded bitArray.\n */\n toBits: function (str) {\n str = unescape(encodeURIComponent(str));\n var out = [],\n i,\n tmp = 0;\n for (i = 0; i < str.length; i++) {\n tmp = (tmp << 8) | str.charCodeAt(i);\n if ((i & 3) === 3) {\n out.push(tmp);\n tmp = 0;\n }\n }\n if (i & 3) {\n out.push(sjcl.bitArray.partial(8 * (i & 3), tmp));\n }\n return out;\n },\n};\n/**\n *\n * @file Javascript SHA-256 implementation.\n * An older version of this implementation is available in the public\n * domain, but this one is (c) Emily Stark, Mike Hamburg, Dan Boneh,\n * Stanford University 2008-2010 and BSD-licensed for liability\n * reasons.\n * Special thanks to Aldo Cortesi for pointing out several bugs in\n * this code.\n * @author Emily Stark\n * @author Mike Hamburg\n * @author Dan Boneh\n */\n\n/**\n * Context for a SHA-256 operation in progress.\n * @param {sjcl.hash.sha256} [hash] Optional hash to initialize from.\n */\nsjcl.hash.sha256 = function (hash) {\n if (!this._key[0]) {\n this._precompute();\n }\n if (hash) {\n this._h = hash._h.slice(0);\n this._buffer = hash._buffer.slice(0);\n this._length = hash._length;\n } else {\n this.reset();\n }\n};\n\n/**\n * Hash a string or an array of words.\n * @static\n * @param {bitArray | string} data the data to hash.\n * @returns {bitArray} The hash value, an array of 16 big-endian words.\n */\nsjcl.hash.sha256.hash = function (data) {\n return new sjcl.hash.sha256().update(data).finalize();\n};\n\nsjcl.hash.sha256.prototype = {\n /**\n * The hash's block size, in bits.\n * @constant\n */\n blockSize: 512,\n\n /**\n * Reset the hash state.\n * @returns {sjcl.hash.sha256} this\n */\n reset: function () {\n this._h = this._init.slice(0);\n this._buffer = [];\n this._length = 0;\n return this;\n },\n\n /**\n * Input several words to the hash.\n * @param {bitArray | string} data the data to hash.\n * @returns {sjcl.hash.sha256} this\n */\n update: function (data) {\n if (typeof data === 'string') {\n data = sjcl.codec.utf8String.toBits(data);\n }\n var i,\n b = (this._buffer = sjcl.bitArray.concat(this._buffer, data)),\n ol = this._length,\n nl = (this._length = ol + sjcl.bitArray.bitLength(data));\n if (nl > 9007199254740991) {\n throw new sjcl.exception.invalid('Cannot hash more than 2^53 - 1 bits');\n }\n\n if (typeof Uint32Array !== 'undefined') {\n var c = new Uint32Array(b);\n var j = 0;\n for (i = 512 + ol - ((512 + ol) & 511); i <= nl; i += 512) {\n this._block(c.subarray(16 * j, 16 * (j + 1)));\n j += 1;\n }\n b.splice(0, 16 * j);\n } else {\n for (i = 512 + ol - ((512 + ol) & 511); i <= nl; i += 512) {\n this._block(b.splice(0, 16));\n }\n }\n return this;\n },\n\n /**\n * Complete hashing and output the hash value.\n * @returns {bitArray} The hash value, an array of 8 big-endian words.\n */\n finalize: function () {\n var i,\n b = this._buffer,\n h = this._h;\n\n // Round out and push the buffer\n b = sjcl.bitArray.concat(b, [sjcl.bitArray.partial(1, 1)]);\n\n // Round out the buffer to a multiple of 16 words, less the 2 length words.\n for (i = b.length + 2; i & 15; i++) {\n b.push(0);\n }\n\n // append the length\n b.push(Math.floor(this._length / 0x100000000));\n b.push(this._length | 0);\n\n while (b.length) {\n this._block(b.splice(0, 16));\n }\n\n this.reset();\n return h;\n },\n\n /**\n * The SHA-256 initialization vector, to be precomputed.\n * @private\n */\n _init: [],\n /*\n _init:[0x6a09e667,0xbb67ae85,0x3c6ef372,0xa54ff53a,0x510e527f,0x9b05688c,0x1f83d9ab,0x5be0cd19],\n */\n\n /**\n * The SHA-256 hash key, to be precomputed.\n * @private\n */\n _key: [],\n /*\n _key:\n [0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,\n 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,\n 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,\n 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,\n 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,\n 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,\n 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,\n 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2],\n */\n\n /**\n * Function to precompute _init and _key.\n * @private\n */\n _precompute: function () {\n var i = 0,\n prime = 2,\n factor,\n isPrime;\n\n /**\n * Get the fractional part of x scaled to a 32-bit word.\n * @param {number} x Input number.\n * @returns {number} A signed 32-bit integer representing the scaled fractional part.\n */\n function frac(x) {\n return ((x - Math.floor(x)) * 0x100000000) | 0;\n }\n\n for (; i < 64; prime++) {\n isPrime = true;\n for (factor = 2; factor * factor <= prime; factor++) {\n if (prime % factor === 0) {\n isPrime = false;\n break;\n }\n }\n if (isPrime) {\n if (i < 8) {\n this._init[i] = frac(Math.pow(prime, 1 / 2));\n }\n this._key[i] = frac(Math.pow(prime, 1 / 3));\n i++;\n }\n }\n },\n\n /**\n * Perform one cycle of SHA-256.\n * @param {Uint32Array|bitArray} w one block of words.\n * @private\n */\n _block: function (w) {\n var i,\n tmp,\n a,\n b,\n h = this._h,\n k = this._key,\n h0 = h[0],\n h1 = h[1],\n h2 = h[2],\n h3 = h[3],\n h4 = h[4],\n h5 = h[5],\n h6 = h[6],\n h7 = h[7];\n\n /* Rationale for placement of |0 :\n * If a value can overflow is original 32 bits by a factor of more than a few\n * million (2^23 ish), there is a possibility that it might overflow the\n * 53-bit mantissa and lose precision.\n *\n * To avoid this, we clamp back to 32 bits by |'ing with 0 on any value that\n * propagates around the loop, and on the hash state h[]. I don't believe\n * that the clamps on h4 and on h0 are strictly necessary, but it's close\n * (for h4 anyway), and better safe than sorry.\n *\n * The clamps on h[] are necessary for the output to be correct even in the\n * common case and for short inputs.\n */\n for (i = 0; i < 64; i++) {\n // load up the input word for this round\n if (i < 16) {\n tmp = w[i];\n } else {\n a = w[(i + 1) & 15];\n b = w[(i + 14) & 15];\n tmp = w[i & 15] =\n (((a >>> 7) ^ (a >>> 18) ^ (a >>> 3) ^ (a << 25) ^ (a << 14)) +\n ((b >>> 17) ^ (b >>> 19) ^ (b >>> 10) ^ (b << 15) ^ (b << 13)) +\n w[i & 15] +\n w[(i + 9) & 15]) |\n 0;\n }\n\n tmp =\n tmp +\n h7 +\n ((h4 >>> 6) ^\n (h4 >>> 11) ^\n (h4 >>> 25) ^\n (h4 << 26) ^\n (h4 << 21) ^\n (h4 << 7)) +\n (h6 ^ (h4 & (h5 ^ h6))) +\n k[i]; // | 0;\n\n // shift register\n h7 = h6;\n h6 = h5;\n h5 = h4;\n h4 = (h3 + tmp) | 0;\n h3 = h2;\n h2 = h1;\n h1 = h0;\n\n h0 =\n (tmp +\n ((h1 & h2) ^ (h3 & (h1 ^ h2))) +\n ((h1 >>> 2) ^\n (h1 >>> 13) ^\n (h1 >>> 22) ^\n (h1 << 30) ^\n (h1 << 19) ^\n (h1 << 10))) |\n 0;\n }\n\n h[0] = (h[0] + h0) | 0;\n h[1] = (h[1] + h1) | 0;\n h[2] = (h[2] + h2) | 0;\n h[3] = (h[3] + h3) | 0;\n h[4] = (h[4] + h4) | 0;\n h[5] = (h[5] + h5) | 0;\n h[6] = (h[6] + h6) | 0;\n h[7] = (h[7] + h7) | 0;\n },\n};\n\nexport default sjcl;\n","/**\n * Encode a string as base64url (RFC 4648 §5).\n * @param {string} str - The string to encode.\n * @returns {string} The base64url-encoded string.\n */\nfunction base64URLEncode(str) {\n return btoa(str).replace(/\\+/g, '-').replace(/\\//g, '_').replace(/=+$/, '');\n}\n\nexport default {\n base64URLEncode: base64URLEncode,\n};\n","/**\n * @file\n * @author Auth0 https://github.com/auth0/auth0.js\n * @license MIT\n */\n\n/* internal file */\nimport Storage from './storage';\n\nexport default class Persister {\n constructor(options, type) {\n this.options = {\n namespace: options.transaction.namespace + type,\n };\n this.storage = new Storage(this.options);\n }\n\n set(state, data) {\n this.storage.setItem(this.options.namespace + state, data, {\n expires: 1 / 48,\n });\n }\n\n get(state) {\n const data = this.storage.getItem(this.options.namespace + state);\n this.clear(state);\n return data || {};\n }\n\n clear(state) {\n this.storage.removeItem(this.options.namespace + state);\n }\n}\n","/**\n * @file\n * @author Auth0 https://github.com/auth0/auth0.js\n * @license MIT\n */\n\nimport qs from 'qs';\n\nimport Persister from '../persister';\n\nexport default class RedirectUriParamsPersister {\n constructor(options) {\n this.persister = new Persister(options, 'redirect_uri_params');\n }\n\n /**\n * Clears query and hash params from redirect_uri and persists them in storage\n * @param {object} params Params used to persist and normalize the redirect URI.\n * @param {string} params.redirect_uri The redirect URI containing query and hash params to persist.\n */\n persist(params) {\n const redirectUrl = new URL(params.redirect_uri);\n const queryParams = qs.parse(redirectUrl.search.substring(1));\n const hashParams = qs.parse(redirectUrl.hash.substring(1));\n\n this.persister.set(params.state, {\n query_params: queryParams,\n hash_params: hashParams,\n });\n\n params.redirect_uri = redirectUrl.origin + redirectUrl.pathname;\n }\n\n /**\n * Retrieves persisted query and hash params from storage and updates current location accordingly.\n * Params returned by global accounts overrides persisted params in case of duplications.\n * @param {object} state Storage key used to retrieve persisted redirect URI params.\n */\n retrieve(state) {\n const redirectUriParams = this.persister.get(state, false);\n\n if (!redirectUriParams) {\n return;\n }\n\n const queryParams = {\n ...(redirectUriParams.query_params ?? {}),\n ...qs.parse(window.location.search.substring(1)),\n };\n\n const hashParams = {\n ...(redirectUriParams.hash_params ?? {}),\n ...qs.parse(window.location.hash.substring(1)),\n };\n\n let uri = window.location.origin + window.location.pathname;\n\n if (queryParams) {\n uri += '?' + qs.stringify(queryParams);\n }\n\n if (hashParams) {\n uri += '#' + qs.stringify(hashParams);\n }\n\n window.history.replaceState({}, document.title, uri);\n }\n}\n","/**\n * @file\n * @author Auth0 https://github.com/auth0/auth0.js\n * @license MIT\n */\n\n/**\n * Generates a random string of the specified length using characters from a defined set.\n * @param {number} length The length of the random string to generate.\n * @returns {string} The generated random string.\n */\nfunction string(length) {\n const charset =\n '0123456789ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvwxyz-._~';\n const charsetLength = charset.length;\n const cryptoObj = window.crypto || window.msCrypto;\n const hasCrypto =\n cryptoObj && typeof cryptoObj.getRandomValues === 'function';\n\n if (!hasCrypto) {\n return generateWithMathRandom(length, charset, charsetLength);\n }\n\n const maxByte = Math.floor(256 / charsetLength) * charsetLength;\n if (maxByte === 0) {\n return generateWithMathRandom(length, charset, charsetLength);\n }\n\n const result = [];\n\n while (result.length < length) {\n const remaining = length - result.length;\n const buffer = new Uint8Array(remaining);\n cryptoObj.getRandomValues(buffer);\n\n for (let i = 0; i < buffer.length && result.length < length; i++) {\n const value = buffer[i];\n // Skip values that would cause modulo bias.\n if (value >= maxByte) {\n continue;\n }\n result.push(charset.charAt(value % charsetLength));\n }\n }\n\n return result.join('');\n}\n\n/**\n * Generates a random string using `Math.random()` as a fallback when the Web Crypto API is unavailable.\n * @param {number} length The length of the random string to generate.\n * @param {string} charset The set of characters to choose from.\n * @param {number} charsetLength The length of the provided character set.\n * @returns {string} The generated random string.\n */\nfunction generateWithMathRandom(length, charset, charsetLength) {\n let output = '';\n for (let i = 0; i < length; i++) {\n const index = Math.floor(Math.random() * charsetLength);\n output += charset.charAt(index);\n }\n return output;\n}\n\nexport default {\n string: string,\n};\n","import Popup from './authentication/popup';\nimport Redirect from './authentication/redirect';\nimport Iframe from './authentication/iframe';\nimport Transaction from './authentication/transaction';\nimport qs from 'qs';\nimport sjcl from './vendor/sjcl';\nimport {pick} from './helpers/object';\nimport encoding from './helpers/encoding';\nimport RedirectUriParamsPersister from './helpers/persisters/redirectUriParams';\n\nimport random from './helpers/random';\n/**\n * Accounts SDK main class\n */\nexport default class AccountsSDK {\n /**\n * Accounts SDK constructor\n * @class\n * @param {object} options configuration options for AccountsSDK\n * @param {string} options.client_id registered client ID\n * @param {string} options.organization_id organization ID\n * @param {string} [options.prompt] use `consent` to force consent prompt in popup and redirect flows\n * @param {string} [options.response_type] OAuth response type, use `token` or `code` (default: `token`)\n * @param {string} [options.popup_flow] `auto` - close popup when not required, `manual` - always show popup (default: `auto`)\n * @param {string} [options.state] OAuth state param (default: empty string)\n * @param {boolean} [options.verify_state] check if state matches after redirect (default: `true`)\n * @param {string} [options.scope] request exact scopes - must be configured for a given client id (default: `null`)\n * @param {string} [options.redirect_uri] OAuth redirect uri - default current location (default: empty string)\n * @param {string} [options.email_hint] fill in email in forms (default: `null`)\n * @param {string} [options.server_url] authorization server url (default: `https://accounts.livechat.com`)\n * @param {string} [options.path] option to provide a path when loading accounts, for example '/signup' (default: empty string)\n * @param {object} [options.tracking] tracking querystring params\n * @param {object} [options.transaction] options for transaction manager\n * @param {string} [options.transaction.namespace] transaction keys prefix (default: `com.livechat.accounts`)\n * @param {number} [options.transaction.key_length] transaction random state length (default: `32`)\n * @param {boolean} [options.transaction.force_local_storage] try to use local storage instead of cookies (default: `false`)\n * @param {object} [options.pkce] PKCE configuration\n * @param {boolean} [options.pkce.enabled] Oauth 2.1 PKCE extension enabled (default: `true`)\n * @param {string} [options.pkce.code_verifier] override auto generated code verifier\n * @param {number} [options.pkce.code_verifier_length] code verifier length, between 43 and 128 characters\n * https://tools.ietf.org/html/rfc7636#section-4.1 (default: `128`)\n * @param {string} [options.pkce.code_challange_method] code challange method, use `S256` or `plain` (default: `S256`)\n */\n constructor(options = {}) {\n if (options.client_id == null) {\n throw new Error('client id not provided');\n }\n\n const defaultOptions = {\n organization_id: '',\n prompt: '',\n response_type: 'token',\n popup_flow: 'auto',\n state: '',\n verify_state: true,\n verify_callback: true,\n scope: null,\n redirect_uri: '',\n email_hint: null,\n server_url: 'https://accounts.livechat.com',\n tracking: {\n utm_source: 'accounts.livechat.com',\n utm_medium: 'accounts-sdk',\n },\n transaction: {\n namespace: 'com.livechat.accounts',\n key_length: 32,\n force_local_storage: false,\n },\n pkce: {\n enabled: true,\n code_verifier_length: 128,\n code_challange_method: 'S256',\n },\n };\n\n this.options = Object.assign({}, defaultOptions, options);\n this.transaction = new Transaction(this.options);\n this.redirectUriParamsPersister = new RedirectUriParamsPersister(\n this.options\n );\n }\n\n /**\n * use iframe for authorization\n * @param {object} options for overriding defaults\n * @returns {Iframe} instance of an iframe flow\n */\n iframe(options = {}) {\n const localOptions = Object.assign({}, this.options, options);\n return new Iframe(this, localOptions);\n }\n\n /**\n * use popup for authorization\n * @param {object} options for overriding defaults\n * @returns {Popup} instance of a popup flow\n */\n popup(options = {}) {\n const localOptions = Object.assign({}, this.options, options);\n return new Popup(this, localOptions);\n }\n\n /**\n * use redirect for authorization\n * @param {object} options for overriding defaults\n * @returns {Redirect} instance of a redirect flow\n */\n redirect(options = {}) {\n const localOptions = Object.assign({}, this.options, options);\n return new Redirect(this, localOptions);\n }\n\n /**\n * create authorization url\n * @param {object} options for overriding defaults\n * @param {string} flow set 'button' for popup and iframe\n * @returns {string} generated url\n */\n authorizeURL(options = {}, flow = '') {\n const localOptions = Object.assign({}, this.options, options);\n\n if (!localOptions.state) {\n localOptions.state = random.string(localOptions.key_length);\n }\n\n if (!localOptions.redirect_uri) {\n localOptions.redirect_uri = window.location.href;\n }\n\n const params = pick(localOptions, [\n 'client_id',\n 'organization_id',\n 'redirect_uri',\n 'state',\n 'response_type',\n 'scope',\n 'prompt',\n ]);\n\n Object.assign(params, localOptions.tracking);\n\n if (params.scope === null) {\n delete params.scope;\n }\n\n if (flow != null) {\n params.flow = flow;\n }\n\n if (localOptions.email_hint) {\n params.email = localOptions.email_hint;\n }\n\n let url = localOptions.server_url;\n if (localOptions.popup_flow === 'manual') {\n url += '/signin';\n }\n\n if (localOptions.path) {\n url += localOptions.path;\n }\n\n if (localOptions.response_type === 'code' && localOptions.pkce.enabled) {\n const codeVerifier =\n localOptions.pkce.code_verifier ||\n random.string(localOptions.pkce.code_verifier_length);\n\n switch (localOptions.pkce.code_challange_method) {\n case 'S256': {\n const codeChallenge = sjcl.hash.sha256.hash(codeVerifier);\n Object.assign(params, {\n code_verifier: codeVerifier,\n code_challenge: encoding.base64URLEncode(codeChallenge),\n code_challenge_method: localOptions.pkce.code_challange_method,\n });\n break;\n }\n\n default:\n Object.assign(params, {\n code_verifier: codeVerifier,\n code_challenge: codeVerifier,\n code_challenge_method: localOptions.pkce.code_challange_method,\n });\n }\n }\n\n this.transaction.generate(params);\n this.redirectUriParamsPersister.persist(params);\n\n delete params.code_verifier;\n\n return url + '?' + qs.stringify(params);\n }\n\n /**\n * This function verifies if redirect transaction params are valid.\n * @param {object} authorizeData authorize data to validate and return transaction state - redirect state, pkce code verifier\n * @returns {object | null} transaction state if valid, null otherwise\n */\n verify(authorizeData) {\n const transactionData = this.transaction.get(authorizeData.state);\n\n if (authorizeData.state && this.options.verify_state) {\n if (transactionData.state != authorizeData.state) {\n return null;\n }\n }\n\n return transactionData;\n }\n}\n"],"names":["extend","error","oauth_exception","Object","assign","description","identity_exception","invalid_request","unauthorized_client","access_denied","unsupported_response_type","unauthorized","Listener","constructor","options","arguments","length","undefined","listening","receiveMessage","bind","start","timeout","callback","_listenerInited","tid","setTimeout","stop","window","addEventListener","clearTimeout","removeEventListener","event","origin","server_url","replace","data","errors","scopes","scope","expires_in","parseInt","Popup","sdk","authorize","Promise","resolve","reject","url","authorizeURL","w","h","left","screen","width","top","height","listener","err","authorizeData","open","concat","document","requestStorageAccess","promise","then","type","TypeError","util_inspect","require$$0","inspect","hasMap","Map","prototype","mapSizeDescriptor","getOwnPropertyDescriptor","mapSize","get","mapForEach","forEach","hasSet","Set","setSizeDescriptor","setSize","setForEach","hasWeakMap","WeakMap","weakMapHas","has","hasWeakSet","WeakSet","weakSetHas","hasWeakRef","WeakRef","weakRefDeref","deref","booleanValueOf","Boolean","valueOf","objectToString","toString","functionToString","Function","$match","String","match","$slice","slice","$replace","$toUpperCase","toUpperCase","$toLowerCase","toLowerCase","$test","RegExp","test","$concat","Array","$join","join","$arrSlice","$floor","Math","floor","bigIntValueOf","BigInt","gOPS","getOwnPropertySymbols","symToString","Symbol","iterator","hasShammedSymbols","toStringTag","isEnumerable","propertyIsEnumerable","gPO","Reflect","getPrototypeOf","__proto__","O","addNumericSeparator","num","str","Infinity","call","sepRegex","int","intStr","dec","utilInspect","inspectCustom","custom","inspectSymbol","isSymbol","quotes","single","quoteREs","objectInspect","inspect_","obj","depth","seen","opts","quoteStyle","maxStringLength","customInspect","indent","numericSeparator","inspectString","bigIntStr","maxDepth","isArray","getIndent","indexOf","value","from","noIndent","push","newOpts","isRegExp","name","nameOf","keys","arrObjKeys","symString","markBoxed","isElement","s","nodeName","attrs","attributes","i","wrapQuotes","quote","childNodes","xs","singleLineValues","indentedJoin","isError","parts","Error","cause","isMap","mapParts","key","collectionOf","isSet","setParts","isWeakMap","weakCollectionOf","isWeakSet","isWeakRef","isNumber","Number","isBigInt","isBoolean","isString","globalThis","global","isDate","ys","isPlainObject","protoTag","stringTag","toStr","constructorTag","tag","defaultStyle","style","quoteChar","canTrustToString","e","hasOwn","hasOwnProperty","f","m","x","l","HTMLElement","getAttribute","remaining","trailer","quoteRE","lastIndex","lowbyte","c","n","charCodeAt","size","entries","joinedEntries","baseIndent","base","prev","lineJoiner","isArr","syms","symMap","k","j","$TypeError","require$$1","listGetNode","list","isDelete","curr","next","listGet","objects","node","listSet","listHas","listDelete","sideChannelList","getSideChannelList","$o","channel","assert","root","deletedNode","set","esObjectAtoms","esErrors","_eval","EvalError","range","RangeError","ref","ReferenceError","syntax","SyntaxError","uri","URIError","abs","max","min","pow","round","_isNaN","isNaN","a","$isNaN","sign","number","gOPD","$gOPD","gopd","$defineProperty","defineProperty","esDefineProperty","shams","hasSymbols","sym","symObj","symVal","_","getOwnPropertyNames","descriptor","enumerable","origSymbol","hasSymbolSham","hasNativeSymbols","Reflect_getPrototypeOf","$Object","Object_getPrototypeOf","ERROR_MESSAGE","funcType","concatty","b","arr","slicy","arrLike","offset","joiny","joiner","implementation","that","target","apply","args","bound","binder","result","boundLength","boundArgs","Empty","functionBind","functionCall","functionApply","reflectApply","$apply","$call","require$$2","$reflectApply","require$$3","actualApply","$actualApply","callBindApplyHelpers","callBindBasic","callBind","hasProtoAccessor","code","desc","$getPrototypeOf","getDunder","reflectGetProto","originalGetProto","getDunderProto","getProto","$hasOwn","hasown","$Error","$EvalError","$RangeError","$ReferenceError","require$$4","$SyntaxError","require$$5","require$$6","$URIError","require$$7","require$$8","require$$9","require$$10","require$$11","require$$12","require$$13","require$$14","$Function","getEvalledConstructor","expressionSyntax","require$$15","require$$16","throwTypeError","ThrowTypeError","callee","calleeThrows","gOPDthrows","require$$17","require$$18","$ObjectGPO","require$$19","$ReflectGPO","require$$20","require$$21","require$$22","needsEval","TypedArray","Uint8Array","INTRINSICS","AggregateError","ArrayBuffer","Atomics","BigInt64Array","BigUint64Array","DataView","Date","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","eval","Float16Array","Float32Array","Float64Array","FinalizationRegistry","Int8Array","Int16Array","Int32Array","isFinite","JSON","parseFloat","Proxy","SharedArrayBuffer","Uint8ClampedArray","Uint16Array","Uint32Array","errorProto","doEval","fn","gen","LEGACY_ALIASES","require$$23","require$$24","$spliceApply","splice","$strSlice","$exec","exec","rePropName","reEscapeChar","stringToPath","string","first","last","subString","getBaseIntrinsic","allowMissing","intrinsicName","alias","getIntrinsic","GetIntrinsic","intrinsicBaseName","intrinsic","intrinsicRealName","skipFurtherCaching","isOwn","part","$indexOf","callBound","callBoundIntrinsic","$Map","$mapGet","$mapSet","$mapHas","$mapDelete","$mapSize","sideChannelMap","getSideChannelMap","$m","$WeakMap","$weakMapGet","$weakMapSet","$weakMapHas","$weakMapDelete","sideChannelWeakmap","getSideChannelWeakMap","$wm","makeChannel","sideChannel","getSideChannel","$channelData","percentTwenties","Format","RFC1738","RFC3986","formats","formatters","overflowChannel","markOverflow","maxIndex","isOverflow","getMaxIndex","setMaxIndex","hexTable","array","compactQueue","queue","item","pop","prop","compacted","arrayToObject","source","plainObjects","merge","newIndex","allowPrototypes","sourceKeys","oldKey","mergeTarget","targetItem","reduce","acc","assignSingleSource","decode","defaultDecoder","charset","strWithoutPlus","unescape","limit","encode","defaultEncoder","kind","format","escape","$0","out","segment","charAt","compact","o","refs","val","isBuffer","combine","arrayLimit","maybeMap","mapped","utils","arrayPrefixGenerators","brackets","prefix","comma","indices","repeat","pushToArray","valueOrArray","toISO","toISOString","defaultFormat","defaults","addQueryPrefix","allowDots","allowEmptyArrays","arrayFormat","charsetSentinel","commaRoundTrip","delimiter","encodeDotInKeys","encoder","encodeValuesOnly","filter","formatter","serializeDate","date","skipNulls","strictNullHandling","isNonNullishPrimitive","v","sentinel","stringify","object","generateArrayPrefix","sort","tmpSc","step","findFlag","pos","keyValue","values","objKeys","encodedPrefix","adjustedPrefix","encodedKey","keyPrefix","valueSideChannel","normalizeStringifyOptions","stringify_1","joined","allowSparse","decodeDotInKeys","decoder","duplicates","ignoreQueryPrefix","interpretNumericEntities","parameterLimit","parseArrays","strictDepth","throwOnLimitExceeded","numberStr","fromCharCode","parseArrayValue","currentArrayLength","split","isoSentinel","parseValues","parseQueryStringValues","cleanStr","skipIndex","bracketEqualsPos","encodedVal","existing","parseObject","chain","valuesParsed","parentKey","leaf","cleanRoot","decodedRoot","index","splitKeyIntoSegments","givenKey","child","parent","segmentContent","parseKeys","parseQueryStringKeys","normalizeParseOptions","parse","tempObj","newObj","lib","pick","Redirect","location","requiredFields","response_type","qs","hash","substring","every","field","search","redirectUriParamsPersister","retrieve","state","Iframe","cb","removeIframe","iframe","createElement","setAttribute","iframeID","position","right","opacity","visibility","body","appendChild","client_id","getElementById","parentNode","removeChild","DummyStorage","getItem","removeItem","setItem","defaultConverter","read","write","init","converter","defaultAttributes","expires","now","toUTCString","stringifiedAttributes","attributeName","cookie","cookies","jar","found","create","remove","withAttributes","withConverter","freeze","api","path","CookieStorage","Cookie","params","SameSite","Secure","StorageHandler","storage","force_local_storage","localStorage","console","warn","failover","Storage","handler","_unused","json","Transaction","transaction","generate","namespace","code_verifier","transactionData","clear","sjcl","codec","exception","invalid","message","bitArray","bitSlice","bstart","bend","_shiftRight","clamp","extract","blength","sh","a1","a2","shift","getPartial","bitLength","len","ceil","partial","_end","equal","carry","last2","shift2","_xor4","y","byteswapM","utf8String","fromBits","bl","tmp","toBits","sha256","_key","_precompute","_h","_buffer","_length","reset","update","finalize","blockSize","_init","ol","nl","_block","subarray","prime","factor","isPrime","frac","h0","h1","h2","h3","h4","h5","h6","h7","base64URLEncode","btoa","Persister","RedirectUriParamsPersister","persister","persist","redirectUrl","URL","redirect_uri","queryParams","hashParams","query_params","hash_params","pathname","_redirectUriParams$qu","_redirectUriParams$ha","redirectUriParams","_objectSpread","history","replaceState","title","charsetLength","cryptoObj","crypto","msCrypto","hasCrypto","getRandomValues","generateWithMathRandom","maxByte","buffer","output","random","AccountsSDK","defaultOptions","organization_id","prompt","popup_flow","verify_state","verify_callback","email_hint","tracking","utm_source","utm_medium","key_length","pkce","enabled","code_verifier_length","code_challange_method","localOptions","popup","redirect","flow","href","email","codeVerifier","codeChallenge","code_challenge","encoding","code_challenge_method","verify"],"mappings":"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","x_google_ignoreList":[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,35,36,37,38,39,40,41,42,43,44,45,46,47,48,53]}
1
+ {"version":3,"file":"accounts-sdk.js","sources":["../src/helpers/errors.js","../src/helpers/listener.js","../src/authentication/popup.js","../node_modules/es-errors/type.js","../node_modules/object-inspect/util.inspect.js","../node_modules/object-inspect/index.js","../node_modules/side-channel-list/index.js","../node_modules/es-object-atoms/index.js","../node_modules/es-errors/index.js","../node_modules/es-errors/eval.js","../node_modules/es-errors/range.js","../node_modules/es-errors/ref.js","../node_modules/es-errors/syntax.js","../node_modules/es-errors/uri.js","../node_modules/math-intrinsics/abs.js","../node_modules/math-intrinsics/floor.js","../node_modules/math-intrinsics/max.js","../node_modules/math-intrinsics/min.js","../node_modules/math-intrinsics/pow.js","../node_modules/math-intrinsics/round.js","../node_modules/math-intrinsics/isNaN.js","../node_modules/math-intrinsics/sign.js","../node_modules/gopd/gOPD.js","../node_modules/gopd/index.js","../node_modules/es-define-property/index.js","../node_modules/has-symbols/shams.js","../node_modules/has-symbols/index.js","../node_modules/get-proto/Reflect.getPrototypeOf.js","../node_modules/get-proto/Object.getPrototypeOf.js","../node_modules/function-bind/implementation.js","../node_modules/function-bind/index.js","../node_modules/call-bind-apply-helpers/functionCall.js","../node_modules/call-bind-apply-helpers/functionApply.js","../node_modules/call-bind-apply-helpers/reflectApply.js","../node_modules/call-bind-apply-helpers/actualApply.js","../node_modules/call-bind-apply-helpers/index.js","../node_modules/dunder-proto/get.js","../node_modules/get-proto/index.js","../node_modules/hasown/index.js","../node_modules/get-intrinsic/index.js","../node_modules/call-bound/index.js","../node_modules/side-channel-map/index.js","../node_modules/side-channel-weakmap/index.js","../node_modules/side-channel/index.js","../node_modules/qs/lib/formats.js","../node_modules/qs/lib/utils.js","../node_modules/qs/lib/stringify.js","../node_modules/qs/lib/parse.js","../node_modules/qs/lib/index.js","../src/helpers/object.js","../src/authentication/redirect.js","../src/authentication/iframe.js","../src/helpers/storage/dummy.js","../node_modules/js-cookie/dist/js.cookie.mjs","../src/helpers/storage/cookie.js","../src/helpers/storage/handler.js","../src/helpers/storage.js","../src/authentication/transaction.js","../src/vendor/sjcl.js","../src/helpers/encoding.js","../src/helpers/persister.js","../src/helpers/persisters/redirectUriParams.js","../src/helpers/random.js","../src/sdk.js"],"sourcesContent":["export default {\n extend: function (error) {\n if (error.oauth_exception && this.oauth_exception[error.oauth_exception]) {\n return Object.assign(error, {\n description: this.oauth_exception[error.oauth_exception],\n });\n }\n\n if (\n error.identity_exception &&\n this.identity_exception[error.identity_exception]\n ) {\n return Object.assign(error, {\n description: this.identity_exception[error.identity_exception],\n });\n }\n\n return error;\n },\n oauth_exception: {\n invalid_request:\n 'You may be loading accounts-sdk on a domain that is not whitelisted.',\n\n unauthorized_client:\n 'Client not found, not provided or incorectly configured.',\n\n access_denied:\n 'Probably this application is installed on a different account and you do not have access to it.',\n\n unsupported_response_type:\n 'Provided response type is incorrect or unavailable for a given client.',\n },\n identity_exception: {\n unauthorized: 'Resource owner identity is not known or consent is missing.',\n },\n};\n","import './errors';\nimport errors from './errors';\nexport default class Listener {\n constructor(options = {}) {\n this.options = options;\n this.listening = false;\n\n this.receiveMessage = this.receiveMessage.bind(this);\n }\n\n start(timeout, callback) {\n if (this._listenerInited) {\n return;\n }\n this.listening = true;\n this.callback = callback;\n\n if (timeout) {\n this.tid = setTimeout(() => {\n this.stop();\n callback('timeout', null);\n }, timeout);\n }\n\n window.addEventListener('message', this.receiveMessage);\n }\n\n stop() {\n this.listening = false;\n clearTimeout(this.tid);\n window.removeEventListener('message', this.receiveMessage, false);\n }\n\n receiveMessage(event) {\n if (\n event.origin !== this.options.server_url &&\n event.origin !==\n this.options.server_url.replace(/livechat\\.com$/, 'livechatinc.com')\n ) {\n return;\n }\n\n if (!event.data.data && !event.data.error) {\n return;\n }\n\n this.stop();\n\n if (event.data.error) {\n this.callback(errors.extend(event.data.error), null);\n } else {\n if (event.data.data.scopes) {\n event.data.data.scope = event.data.data.scopes;\n delete event.data.data.scopes;\n }\n if (event.data.data.expires_in) {\n event.data.data.expires_in = parseInt(event.data.data.expires_in) || 0;\n }\n this.callback(null, event.data.data);\n }\n }\n}\n","import Listener from '../helpers/listener';\n/**\n * Class for authentication using popup.\n */\nexport default class Popup {\n constructor(sdk, options) {\n this.options = options;\n this.sdk = sdk;\n }\n\n /**\n * run popup authorization flow, should be called in a click handler to avoid beeing blocked\n * @returns {Promise} promise that resolves to authorize data or error\n */\n authorize() {\n return new Promise((resolve, reject) => {\n const url = this.sdk.authorizeURL(this.options, 'button');\n\n const w = 500;\n const h = 650;\n const left = window.screen.width / 2 - w / 2;\n const top = window.screen.height / 2 - h / 2;\n\n const listener = new Listener(this.options);\n listener.start(null, (err, authorizeData) => {\n if (err) {\n return reject(err);\n }\n resolve(authorizeData);\n });\n\n const open = function () {\n window.open(\n url,\n 'livechat-login-popup',\n `resizable,scrollbars,width=${w},height=${h},left=${left},top=${top}`\n );\n };\n\n if (document.requestStorageAccess) {\n const promise = document.requestStorageAccess();\n promise.then(open, open);\n } else {\n open();\n }\n });\n }\n}\n","'use strict';\n\n/** @type {import('./type')} */\nmodule.exports = TypeError;\n","module.exports = require('util').inspect;\n","var hasMap = typeof Map === 'function' && Map.prototype;\nvar mapSizeDescriptor = Object.getOwnPropertyDescriptor && hasMap ? Object.getOwnPropertyDescriptor(Map.prototype, 'size') : null;\nvar mapSize = hasMap && mapSizeDescriptor && typeof mapSizeDescriptor.get === 'function' ? mapSizeDescriptor.get : null;\nvar mapForEach = hasMap && Map.prototype.forEach;\nvar hasSet = typeof Set === 'function' && Set.prototype;\nvar setSizeDescriptor = Object.getOwnPropertyDescriptor && hasSet ? Object.getOwnPropertyDescriptor(Set.prototype, 'size') : null;\nvar setSize = hasSet && setSizeDescriptor && typeof setSizeDescriptor.get === 'function' ? setSizeDescriptor.get : null;\nvar setForEach = hasSet && Set.prototype.forEach;\nvar hasWeakMap = typeof WeakMap === 'function' && WeakMap.prototype;\nvar weakMapHas = hasWeakMap ? WeakMap.prototype.has : null;\nvar hasWeakSet = typeof WeakSet === 'function' && WeakSet.prototype;\nvar weakSetHas = hasWeakSet ? WeakSet.prototype.has : null;\nvar hasWeakRef = typeof WeakRef === 'function' && WeakRef.prototype;\nvar weakRefDeref = hasWeakRef ? WeakRef.prototype.deref : null;\nvar booleanValueOf = Boolean.prototype.valueOf;\nvar objectToString = Object.prototype.toString;\nvar functionToString = Function.prototype.toString;\nvar $match = String.prototype.match;\nvar $slice = String.prototype.slice;\nvar $replace = String.prototype.replace;\nvar $toUpperCase = String.prototype.toUpperCase;\nvar $toLowerCase = String.prototype.toLowerCase;\nvar $test = RegExp.prototype.test;\nvar $concat = Array.prototype.concat;\nvar $join = Array.prototype.join;\nvar $arrSlice = Array.prototype.slice;\nvar $floor = Math.floor;\nvar bigIntValueOf = typeof BigInt === 'function' ? BigInt.prototype.valueOf : null;\nvar gOPS = Object.getOwnPropertySymbols;\nvar symToString = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? Symbol.prototype.toString : null;\nvar hasShammedSymbols = typeof Symbol === 'function' && typeof Symbol.iterator === 'object';\n// ie, `has-tostringtag/shams\nvar toStringTag = typeof Symbol === 'function' && Symbol.toStringTag && (typeof Symbol.toStringTag === hasShammedSymbols ? 'object' : 'symbol')\n ? Symbol.toStringTag\n : null;\nvar isEnumerable = Object.prototype.propertyIsEnumerable;\n\nvar gPO = (typeof Reflect === 'function' ? Reflect.getPrototypeOf : Object.getPrototypeOf) || (\n [].__proto__ === Array.prototype // eslint-disable-line no-proto\n ? function (O) {\n return O.__proto__; // eslint-disable-line no-proto\n }\n : null\n);\n\nfunction addNumericSeparator(num, str) {\n if (\n num === Infinity\n || num === -Infinity\n || num !== num\n || (num && num > -1000 && num < 1000)\n || $test.call(/e/, str)\n ) {\n return str;\n }\n var sepRegex = /[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;\n if (typeof num === 'number') {\n var int = num < 0 ? -$floor(-num) : $floor(num); // trunc(num)\n if (int !== num) {\n var intStr = String(int);\n var dec = $slice.call(str, intStr.length + 1);\n return $replace.call(intStr, sepRegex, '$&_') + '.' + $replace.call($replace.call(dec, /([0-9]{3})/g, '$&_'), /_$/, '');\n }\n }\n return $replace.call(str, sepRegex, '$&_');\n}\n\nvar utilInspect = require('./util.inspect');\nvar inspectCustom = utilInspect.custom;\nvar inspectSymbol = isSymbol(inspectCustom) ? inspectCustom : null;\n\nvar quotes = {\n __proto__: null,\n 'double': '\"',\n single: \"'\"\n};\nvar quoteREs = {\n __proto__: null,\n 'double': /([\"\\\\])/g,\n single: /(['\\\\])/g\n};\n\nmodule.exports = function inspect_(obj, options, depth, seen) {\n var opts = options || {};\n\n if (has(opts, 'quoteStyle') && !has(quotes, opts.quoteStyle)) {\n throw new TypeError('option \"quoteStyle\" must be \"single\" or \"double\"');\n }\n if (\n has(opts, 'maxStringLength') && (typeof opts.maxStringLength === 'number'\n ? opts.maxStringLength < 0 && opts.maxStringLength !== Infinity\n : opts.maxStringLength !== null\n )\n ) {\n throw new TypeError('option \"maxStringLength\", if provided, must be a positive integer, Infinity, or `null`');\n }\n var customInspect = has(opts, 'customInspect') ? opts.customInspect : true;\n if (typeof customInspect !== 'boolean' && customInspect !== 'symbol') {\n throw new TypeError('option \"customInspect\", if provided, must be `true`, `false`, or `\\'symbol\\'`');\n }\n\n if (\n has(opts, 'indent')\n && opts.indent !== null\n && opts.indent !== '\\t'\n && !(parseInt(opts.indent, 10) === opts.indent && opts.indent > 0)\n ) {\n throw new TypeError('option \"indent\" must be \"\\\\t\", an integer > 0, or `null`');\n }\n if (has(opts, 'numericSeparator') && typeof opts.numericSeparator !== 'boolean') {\n throw new TypeError('option \"numericSeparator\", if provided, must be `true` or `false`');\n }\n var numericSeparator = opts.numericSeparator;\n\n if (typeof obj === 'undefined') {\n return 'undefined';\n }\n if (obj === null) {\n return 'null';\n }\n if (typeof obj === 'boolean') {\n return obj ? 'true' : 'false';\n }\n\n if (typeof obj === 'string') {\n return inspectString(obj, opts);\n }\n if (typeof obj === 'number') {\n if (obj === 0) {\n return Infinity / obj > 0 ? '0' : '-0';\n }\n var str = String(obj);\n return numericSeparator ? addNumericSeparator(obj, str) : str;\n }\n if (typeof obj === 'bigint') {\n var bigIntStr = String(obj) + 'n';\n return numericSeparator ? addNumericSeparator(obj, bigIntStr) : bigIntStr;\n }\n\n var maxDepth = typeof opts.depth === 'undefined' ? 5 : opts.depth;\n if (typeof depth === 'undefined') { depth = 0; }\n if (depth >= maxDepth && maxDepth > 0 && typeof obj === 'object') {\n return isArray(obj) ? '[Array]' : '[Object]';\n }\n\n var indent = getIndent(opts, depth);\n\n if (typeof seen === 'undefined') {\n seen = [];\n } else if (indexOf(seen, obj) >= 0) {\n return '[Circular]';\n }\n\n function inspect(value, from, noIndent) {\n if (from) {\n seen = $arrSlice.call(seen);\n seen.push(from);\n }\n if (noIndent) {\n var newOpts = {\n depth: opts.depth\n };\n if (has(opts, 'quoteStyle')) {\n newOpts.quoteStyle = opts.quoteStyle;\n }\n return inspect_(value, newOpts, depth + 1, seen);\n }\n return inspect_(value, opts, depth + 1, seen);\n }\n\n if (typeof obj === 'function' && !isRegExp(obj)) { // in older engines, regexes are callable\n var name = nameOf(obj);\n var keys = arrObjKeys(obj, inspect);\n return '[Function' + (name ? ': ' + name : ' (anonymous)') + ']' + (keys.length > 0 ? ' { ' + $join.call(keys, ', ') + ' }' : '');\n }\n if (isSymbol(obj)) {\n var symString = hasShammedSymbols ? $replace.call(String(obj), /^(Symbol\\(.*\\))_[^)]*$/, '$1') : symToString.call(obj);\n return typeof obj === 'object' && !hasShammedSymbols ? markBoxed(symString) : symString;\n }\n if (isElement(obj)) {\n var s = '<' + $toLowerCase.call(String(obj.nodeName));\n var attrs = obj.attributes || [];\n for (var i = 0; i < attrs.length; i++) {\n s += ' ' + attrs[i].name + '=' + wrapQuotes(quote(attrs[i].value), 'double', opts);\n }\n s += '>';\n if (obj.childNodes && obj.childNodes.length) { s += '...'; }\n s += '</' + $toLowerCase.call(String(obj.nodeName)) + '>';\n return s;\n }\n if (isArray(obj)) {\n if (obj.length === 0) { return '[]'; }\n var xs = arrObjKeys(obj, inspect);\n if (indent && !singleLineValues(xs)) {\n return '[' + indentedJoin(xs, indent) + ']';\n }\n return '[ ' + $join.call(xs, ', ') + ' ]';\n }\n if (isError(obj)) {\n var parts = arrObjKeys(obj, inspect);\n if (!('cause' in Error.prototype) && 'cause' in obj && !isEnumerable.call(obj, 'cause')) {\n return '{ [' + String(obj) + '] ' + $join.call($concat.call('[cause]: ' + inspect(obj.cause), parts), ', ') + ' }';\n }\n if (parts.length === 0) { return '[' + String(obj) + ']'; }\n return '{ [' + String(obj) + '] ' + $join.call(parts, ', ') + ' }';\n }\n if (typeof obj === 'object' && customInspect) {\n if (inspectSymbol && typeof obj[inspectSymbol] === 'function' && utilInspect) {\n return utilInspect(obj, { depth: maxDepth - depth });\n } else if (customInspect !== 'symbol' && typeof obj.inspect === 'function') {\n return obj.inspect();\n }\n }\n if (isMap(obj)) {\n var mapParts = [];\n if (mapForEach) {\n mapForEach.call(obj, function (value, key) {\n mapParts.push(inspect(key, obj, true) + ' => ' + inspect(value, obj));\n });\n }\n return collectionOf('Map', mapSize.call(obj), mapParts, indent);\n }\n if (isSet(obj)) {\n var setParts = [];\n if (setForEach) {\n setForEach.call(obj, function (value) {\n setParts.push(inspect(value, obj));\n });\n }\n return collectionOf('Set', setSize.call(obj), setParts, indent);\n }\n if (isWeakMap(obj)) {\n return weakCollectionOf('WeakMap');\n }\n if (isWeakSet(obj)) {\n return weakCollectionOf('WeakSet');\n }\n if (isWeakRef(obj)) {\n return weakCollectionOf('WeakRef');\n }\n if (isNumber(obj)) {\n return markBoxed(inspect(Number(obj)));\n }\n if (isBigInt(obj)) {\n return markBoxed(inspect(bigIntValueOf.call(obj)));\n }\n if (isBoolean(obj)) {\n return markBoxed(booleanValueOf.call(obj));\n }\n if (isString(obj)) {\n return markBoxed(inspect(String(obj)));\n }\n // note: in IE 8, sometimes `global !== window` but both are the prototypes of each other\n /* eslint-env browser */\n if (typeof window !== 'undefined' && obj === window) {\n return '{ [object Window] }';\n }\n if (\n (typeof globalThis !== 'undefined' && obj === globalThis)\n || (typeof global !== 'undefined' && obj === global)\n ) {\n return '{ [object globalThis] }';\n }\n if (!isDate(obj) && !isRegExp(obj)) {\n var ys = arrObjKeys(obj, inspect);\n var isPlainObject = gPO ? gPO(obj) === Object.prototype : obj instanceof Object || obj.constructor === Object;\n var protoTag = obj instanceof Object ? '' : 'null prototype';\n var stringTag = !isPlainObject && toStringTag && Object(obj) === obj && toStringTag in obj ? $slice.call(toStr(obj), 8, -1) : protoTag ? 'Object' : '';\n var constructorTag = isPlainObject || typeof obj.constructor !== 'function' ? '' : obj.constructor.name ? obj.constructor.name + ' ' : '';\n var tag = constructorTag + (stringTag || protoTag ? '[' + $join.call($concat.call([], stringTag || [], protoTag || []), ': ') + '] ' : '');\n if (ys.length === 0) { return tag + '{}'; }\n if (indent) {\n return tag + '{' + indentedJoin(ys, indent) + '}';\n }\n return tag + '{ ' + $join.call(ys, ', ') + ' }';\n }\n return String(obj);\n};\n\nfunction wrapQuotes(s, defaultStyle, opts) {\n var style = opts.quoteStyle || defaultStyle;\n var quoteChar = quotes[style];\n return quoteChar + s + quoteChar;\n}\n\nfunction quote(s) {\n return $replace.call(String(s), /\"/g, '&quot;');\n}\n\nfunction canTrustToString(obj) {\n return !toStringTag || !(typeof obj === 'object' && (toStringTag in obj || typeof obj[toStringTag] !== 'undefined'));\n}\nfunction isArray(obj) { return toStr(obj) === '[object Array]' && canTrustToString(obj); }\nfunction isDate(obj) { return toStr(obj) === '[object Date]' && canTrustToString(obj); }\nfunction isRegExp(obj) { return toStr(obj) === '[object RegExp]' && canTrustToString(obj); }\nfunction isError(obj) { return toStr(obj) === '[object Error]' && canTrustToString(obj); }\nfunction isString(obj) { return toStr(obj) === '[object String]' && canTrustToString(obj); }\nfunction isNumber(obj) { return toStr(obj) === '[object Number]' && canTrustToString(obj); }\nfunction isBoolean(obj) { return toStr(obj) === '[object Boolean]' && canTrustToString(obj); }\n\n// Symbol and BigInt do have Symbol.toStringTag by spec, so that can't be used to eliminate false positives\nfunction isSymbol(obj) {\n if (hasShammedSymbols) {\n return obj && typeof obj === 'object' && obj instanceof Symbol;\n }\n if (typeof obj === 'symbol') {\n return true;\n }\n if (!obj || typeof obj !== 'object' || !symToString) {\n return false;\n }\n try {\n symToString.call(obj);\n return true;\n } catch (e) {}\n return false;\n}\n\nfunction isBigInt(obj) {\n if (!obj || typeof obj !== 'object' || !bigIntValueOf) {\n return false;\n }\n try {\n bigIntValueOf.call(obj);\n return true;\n } catch (e) {}\n return false;\n}\n\nvar hasOwn = Object.prototype.hasOwnProperty || function (key) { return key in this; };\nfunction has(obj, key) {\n return hasOwn.call(obj, key);\n}\n\nfunction toStr(obj) {\n return objectToString.call(obj);\n}\n\nfunction nameOf(f) {\n if (f.name) { return f.name; }\n var m = $match.call(functionToString.call(f), /^function\\s*([\\w$]+)/);\n if (m) { return m[1]; }\n return null;\n}\n\nfunction indexOf(xs, x) {\n if (xs.indexOf) { return xs.indexOf(x); }\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x) { return i; }\n }\n return -1;\n}\n\nfunction isMap(x) {\n if (!mapSize || !x || typeof x !== 'object') {\n return false;\n }\n try {\n mapSize.call(x);\n try {\n setSize.call(x);\n } catch (s) {\n return true;\n }\n return x instanceof Map; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isWeakMap(x) {\n if (!weakMapHas || !x || typeof x !== 'object') {\n return false;\n }\n try {\n weakMapHas.call(x, weakMapHas);\n try {\n weakSetHas.call(x, weakSetHas);\n } catch (s) {\n return true;\n }\n return x instanceof WeakMap; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isWeakRef(x) {\n if (!weakRefDeref || !x || typeof x !== 'object') {\n return false;\n }\n try {\n weakRefDeref.call(x);\n return true;\n } catch (e) {}\n return false;\n}\n\nfunction isSet(x) {\n if (!setSize || !x || typeof x !== 'object') {\n return false;\n }\n try {\n setSize.call(x);\n try {\n mapSize.call(x);\n } catch (m) {\n return true;\n }\n return x instanceof Set; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isWeakSet(x) {\n if (!weakSetHas || !x || typeof x !== 'object') {\n return false;\n }\n try {\n weakSetHas.call(x, weakSetHas);\n try {\n weakMapHas.call(x, weakMapHas);\n } catch (s) {\n return true;\n }\n return x instanceof WeakSet; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isElement(x) {\n if (!x || typeof x !== 'object') { return false; }\n if (typeof HTMLElement !== 'undefined' && x instanceof HTMLElement) {\n return true;\n }\n return typeof x.nodeName === 'string' && typeof x.getAttribute === 'function';\n}\n\nfunction inspectString(str, opts) {\n if (str.length > opts.maxStringLength) {\n var remaining = str.length - opts.maxStringLength;\n var trailer = '... ' + remaining + ' more character' + (remaining > 1 ? 's' : '');\n return inspectString($slice.call(str, 0, opts.maxStringLength), opts) + trailer;\n }\n var quoteRE = quoteREs[opts.quoteStyle || 'single'];\n quoteRE.lastIndex = 0;\n // eslint-disable-next-line no-control-regex\n var s = $replace.call($replace.call(str, quoteRE, '\\\\$1'), /[\\x00-\\x1f]/g, lowbyte);\n return wrapQuotes(s, 'single', opts);\n}\n\nfunction lowbyte(c) {\n var n = c.charCodeAt(0);\n var x = {\n 8: 'b',\n 9: 't',\n 10: 'n',\n 12: 'f',\n 13: 'r'\n }[n];\n if (x) { return '\\\\' + x; }\n return '\\\\x' + (n < 0x10 ? '0' : '') + $toUpperCase.call(n.toString(16));\n}\n\nfunction markBoxed(str) {\n return 'Object(' + str + ')';\n}\n\nfunction weakCollectionOf(type) {\n return type + ' { ? }';\n}\n\nfunction collectionOf(type, size, entries, indent) {\n var joinedEntries = indent ? indentedJoin(entries, indent) : $join.call(entries, ', ');\n return type + ' (' + size + ') {' + joinedEntries + '}';\n}\n\nfunction singleLineValues(xs) {\n for (var i = 0; i < xs.length; i++) {\n if (indexOf(xs[i], '\\n') >= 0) {\n return false;\n }\n }\n return true;\n}\n\nfunction getIndent(opts, depth) {\n var baseIndent;\n if (opts.indent === '\\t') {\n baseIndent = '\\t';\n } else if (typeof opts.indent === 'number' && opts.indent > 0) {\n baseIndent = $join.call(Array(opts.indent + 1), ' ');\n } else {\n return null;\n }\n return {\n base: baseIndent,\n prev: $join.call(Array(depth + 1), baseIndent)\n };\n}\n\nfunction indentedJoin(xs, indent) {\n if (xs.length === 0) { return ''; }\n var lineJoiner = '\\n' + indent.prev + indent.base;\n return lineJoiner + $join.call(xs, ',' + lineJoiner) + '\\n' + indent.prev;\n}\n\nfunction arrObjKeys(obj, inspect) {\n var isArr = isArray(obj);\n var xs = [];\n if (isArr) {\n xs.length = obj.length;\n for (var i = 0; i < obj.length; i++) {\n xs[i] = has(obj, i) ? inspect(obj[i], obj) : '';\n }\n }\n var syms = typeof gOPS === 'function' ? gOPS(obj) : [];\n var symMap;\n if (hasShammedSymbols) {\n symMap = {};\n for (var k = 0; k < syms.length; k++) {\n symMap['$' + syms[k]] = syms[k];\n }\n }\n\n for (var key in obj) { // eslint-disable-line no-restricted-syntax\n if (!has(obj, key)) { continue; } // eslint-disable-line no-restricted-syntax, no-continue\n if (isArr && String(Number(key)) === key && key < obj.length) { continue; } // eslint-disable-line no-restricted-syntax, no-continue\n if (hasShammedSymbols && symMap['$' + key] instanceof Symbol) {\n // this is to prevent shammed Symbols, which are stored as strings, from being included in the string key section\n continue; // eslint-disable-line no-restricted-syntax, no-continue\n } else if ($test.call(/[^\\w$]/, key)) {\n xs.push(inspect(key, obj) + ': ' + inspect(obj[key], obj));\n } else {\n xs.push(key + ': ' + inspect(obj[key], obj));\n }\n }\n if (typeof gOPS === 'function') {\n for (var j = 0; j < syms.length; j++) {\n if (isEnumerable.call(obj, syms[j])) {\n xs.push('[' + inspect(syms[j]) + ']: ' + inspect(obj[syms[j]], obj));\n }\n }\n }\n return xs;\n}\n","'use strict';\n\nvar inspect = require('object-inspect');\n\nvar $TypeError = require('es-errors/type');\n\n/*\n* This function traverses the list returning the node corresponding to the given key.\n*\n* That node is also moved to the head of the list, so that if it's accessed again we don't need to traverse the whole list.\n* By doing so, all the recently used nodes can be accessed relatively quickly.\n*/\n/** @type {import('./list.d.ts').listGetNode} */\n// eslint-disable-next-line consistent-return\nvar listGetNode = function (list, key, isDelete) {\n\t/** @type {typeof list | NonNullable<(typeof list)['next']>} */\n\tvar prev = list;\n\t/** @type {(typeof list)['next']} */\n\tvar curr;\n\t// eslint-disable-next-line eqeqeq\n\tfor (; (curr = prev.next) != null; prev = curr) {\n\t\tif (curr.key === key) {\n\t\t\tprev.next = curr.next;\n\t\t\tif (!isDelete) {\n\t\t\t\t// eslint-disable-next-line no-extra-parens\n\t\t\t\tcurr.next = /** @type {NonNullable<typeof list.next>} */ (list.next);\n\t\t\t\tlist.next = curr; // eslint-disable-line no-param-reassign\n\t\t\t}\n\t\t\treturn curr;\n\t\t}\n\t}\n};\n\n/** @type {import('./list.d.ts').listGet} */\nvar listGet = function (objects, key) {\n\tif (!objects) {\n\t\treturn void undefined;\n\t}\n\tvar node = listGetNode(objects, key);\n\treturn node && node.value;\n};\n/** @type {import('./list.d.ts').listSet} */\nvar listSet = function (objects, key, value) {\n\tvar node = listGetNode(objects, key);\n\tif (node) {\n\t\tnode.value = value;\n\t} else {\n\t\t// Prepend the new node to the beginning of the list\n\t\tobjects.next = /** @type {import('./list.d.ts').ListNode<typeof value, typeof key>} */ ({ // eslint-disable-line no-param-reassign, no-extra-parens\n\t\t\tkey: key,\n\t\t\tnext: objects.next,\n\t\t\tvalue: value\n\t\t});\n\t}\n};\n/** @type {import('./list.d.ts').listHas} */\nvar listHas = function (objects, key) {\n\tif (!objects) {\n\t\treturn false;\n\t}\n\treturn !!listGetNode(objects, key);\n};\n/** @type {import('./list.d.ts').listDelete} */\n// eslint-disable-next-line consistent-return\nvar listDelete = function (objects, key) {\n\tif (objects) {\n\t\treturn listGetNode(objects, key, true);\n\t}\n};\n\n/** @type {import('.')} */\nmodule.exports = function getSideChannelList() {\n\t/** @typedef {ReturnType<typeof getSideChannelList>} Channel */\n\t/** @typedef {Parameters<Channel['get']>[0]} K */\n\t/** @typedef {Parameters<Channel['set']>[1]} V */\n\n\t/** @type {import('./list.d.ts').RootNode<V, K> | undefined} */ var $o;\n\n\t/** @type {Channel} */\n\tvar channel = {\n\t\tassert: function (key) {\n\t\t\tif (!channel.has(key)) {\n\t\t\t\tthrow new $TypeError('Side channel does not contain ' + inspect(key));\n\t\t\t}\n\t\t},\n\t\t'delete': function (key) {\n\t\t\tvar root = $o && $o.next;\n\t\t\tvar deletedNode = listDelete($o, key);\n\t\t\tif (deletedNode && root && root === deletedNode) {\n\t\t\t\t$o = void undefined;\n\t\t\t}\n\t\t\treturn !!deletedNode;\n\t\t},\n\t\tget: function (key) {\n\t\t\treturn listGet($o, key);\n\t\t},\n\t\thas: function (key) {\n\t\t\treturn listHas($o, key);\n\t\t},\n\t\tset: function (key, value) {\n\t\t\tif (!$o) {\n\t\t\t\t// Initialize the linked list as an empty node, so that we don't have to special-case handling of the first node: we can always refer to it as (previous node).next, instead of something like (list).head\n\t\t\t\t$o = {\n\t\t\t\t\tnext: void undefined\n\t\t\t\t};\n\t\t\t}\n\t\t\t// eslint-disable-next-line no-extra-parens\n\t\t\tlistSet(/** @type {NonNullable<typeof $o>} */ ($o), key, value);\n\t\t}\n\t};\n\t// @ts-expect-error TODO: figure out why this is erroring\n\treturn channel;\n};\n","'use strict';\n\n/** @type {import('.')} */\nmodule.exports = Object;\n","'use strict';\n\n/** @type {import('.')} */\nmodule.exports = Error;\n","'use strict';\n\n/** @type {import('./eval')} */\nmodule.exports = EvalError;\n","'use strict';\n\n/** @type {import('./range')} */\nmodule.exports = RangeError;\n","'use strict';\n\n/** @type {import('./ref')} */\nmodule.exports = ReferenceError;\n","'use strict';\n\n/** @type {import('./syntax')} */\nmodule.exports = SyntaxError;\n","'use strict';\n\n/** @type {import('./uri')} */\nmodule.exports = URIError;\n","'use strict';\n\n/** @type {import('./abs')} */\nmodule.exports = Math.abs;\n","'use strict';\n\n/** @type {import('./floor')} */\nmodule.exports = Math.floor;\n","'use strict';\n\n/** @type {import('./max')} */\nmodule.exports = Math.max;\n","'use strict';\n\n/** @type {import('./min')} */\nmodule.exports = Math.min;\n","'use strict';\n\n/** @type {import('./pow')} */\nmodule.exports = Math.pow;\n","'use strict';\n\n/** @type {import('./round')} */\nmodule.exports = Math.round;\n","'use strict';\n\n/** @type {import('./isNaN')} */\nmodule.exports = Number.isNaN || function isNaN(a) {\n\treturn a !== a;\n};\n","'use strict';\n\nvar $isNaN = require('./isNaN');\n\n/** @type {import('./sign')} */\nmodule.exports = function sign(number) {\n\tif ($isNaN(number) || number === 0) {\n\t\treturn number;\n\t}\n\treturn number < 0 ? -1 : +1;\n};\n","'use strict';\n\n/** @type {import('./gOPD')} */\nmodule.exports = Object.getOwnPropertyDescriptor;\n","'use strict';\n\n/** @type {import('.')} */\nvar $gOPD = require('./gOPD');\n\nif ($gOPD) {\n\ttry {\n\t\t$gOPD([], 'length');\n\t} catch (e) {\n\t\t// IE 8 has a broken gOPD\n\t\t$gOPD = null;\n\t}\n}\n\nmodule.exports = $gOPD;\n","'use strict';\n\n/** @type {import('.')} */\nvar $defineProperty = Object.defineProperty || false;\nif ($defineProperty) {\n\ttry {\n\t\t$defineProperty({}, 'a', { value: 1 });\n\t} catch (e) {\n\t\t// IE 8 has a broken defineProperty\n\t\t$defineProperty = false;\n\t}\n}\n\nmodule.exports = $defineProperty;\n","'use strict';\n\n/** @type {import('./shams')} */\n/* eslint complexity: [2, 18], max-statements: [2, 33] */\nmodule.exports = function hasSymbols() {\n\tif (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }\n\tif (typeof Symbol.iterator === 'symbol') { return true; }\n\n\t/** @type {{ [k in symbol]?: unknown }} */\n\tvar obj = {};\n\tvar sym = Symbol('test');\n\tvar symObj = Object(sym);\n\tif (typeof sym === 'string') { return false; }\n\n\tif (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }\n\tif (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }\n\n\t// temp disabled per https://github.com/ljharb/object.assign/issues/17\n\t// if (sym instanceof Symbol) { return false; }\n\t// temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4\n\t// if (!(symObj instanceof Symbol)) { return false; }\n\n\t// if (typeof Symbol.prototype.toString !== 'function') { return false; }\n\t// if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }\n\n\tvar symVal = 42;\n\tobj[sym] = symVal;\n\tfor (var _ in obj) { return false; } // eslint-disable-line no-restricted-syntax, no-unreachable-loop\n\tif (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }\n\n\tif (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }\n\n\tvar syms = Object.getOwnPropertySymbols(obj);\n\tif (syms.length !== 1 || syms[0] !== sym) { return false; }\n\n\tif (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }\n\n\tif (typeof Object.getOwnPropertyDescriptor === 'function') {\n\t\t// eslint-disable-next-line no-extra-parens\n\t\tvar descriptor = /** @type {PropertyDescriptor} */ (Object.getOwnPropertyDescriptor(obj, sym));\n\t\tif (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }\n\t}\n\n\treturn true;\n};\n","'use strict';\n\nvar origSymbol = typeof Symbol !== 'undefined' && Symbol;\nvar hasSymbolSham = require('./shams');\n\n/** @type {import('.')} */\nmodule.exports = function hasNativeSymbols() {\n\tif (typeof origSymbol !== 'function') { return false; }\n\tif (typeof Symbol !== 'function') { return false; }\n\tif (typeof origSymbol('foo') !== 'symbol') { return false; }\n\tif (typeof Symbol('bar') !== 'symbol') { return false; }\n\n\treturn hasSymbolSham();\n};\n","'use strict';\n\n/** @type {import('./Reflect.getPrototypeOf')} */\nmodule.exports = (typeof Reflect !== 'undefined' && Reflect.getPrototypeOf) || null;\n","'use strict';\n\nvar $Object = require('es-object-atoms');\n\n/** @type {import('./Object.getPrototypeOf')} */\nmodule.exports = $Object.getPrototypeOf || null;\n","'use strict';\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar toStr = Object.prototype.toString;\nvar max = Math.max;\nvar funcType = '[object Function]';\n\nvar concatty = function concatty(a, b) {\n var arr = [];\n\n for (var i = 0; i < a.length; i += 1) {\n arr[i] = a[i];\n }\n for (var j = 0; j < b.length; j += 1) {\n arr[j + a.length] = b[j];\n }\n\n return arr;\n};\n\nvar slicy = function slicy(arrLike, offset) {\n var arr = [];\n for (var i = offset || 0, j = 0; i < arrLike.length; i += 1, j += 1) {\n arr[j] = arrLike[i];\n }\n return arr;\n};\n\nvar joiny = function (arr, joiner) {\n var str = '';\n for (var i = 0; i < arr.length; i += 1) {\n str += arr[i];\n if (i + 1 < arr.length) {\n str += joiner;\n }\n }\n return str;\n};\n\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.apply(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slicy(arguments, 1);\n\n var bound;\n var binder = function () {\n if (this instanceof bound) {\n var result = target.apply(\n this,\n concatty(args, arguments)\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n }\n return target.apply(\n that,\n concatty(args, arguments)\n );\n\n };\n\n var boundLength = max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs[i] = '$' + i;\n }\n\n bound = Function('binder', 'return function (' + joiny(boundArgs, ',') + '){ return binder.apply(this,arguments); }')(binder);\n\n if (target.prototype) {\n var Empty = function Empty() {};\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n\n return bound;\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;\n","'use strict';\n\n/** @type {import('./functionCall')} */\nmodule.exports = Function.prototype.call;\n","'use strict';\n\n/** @type {import('./functionApply')} */\nmodule.exports = Function.prototype.apply;\n","'use strict';\n\n/** @type {import('./reflectApply')} */\nmodule.exports = typeof Reflect !== 'undefined' && Reflect && Reflect.apply;\n","'use strict';\n\nvar bind = require('function-bind');\n\nvar $apply = require('./functionApply');\nvar $call = require('./functionCall');\nvar $reflectApply = require('./reflectApply');\n\n/** @type {import('./actualApply')} */\nmodule.exports = $reflectApply || bind.call($call, $apply);\n","'use strict';\n\nvar bind = require('function-bind');\nvar $TypeError = require('es-errors/type');\n\nvar $call = require('./functionCall');\nvar $actualApply = require('./actualApply');\n\n/** @type {(args: [Function, thisArg?: unknown, ...args: unknown[]]) => Function} TODO FIXME, find a way to use import('.') */\nmodule.exports = function callBindBasic(args) {\n\tif (args.length < 1 || typeof args[0] !== 'function') {\n\t\tthrow new $TypeError('a function is required');\n\t}\n\treturn $actualApply(bind, $call, args);\n};\n","'use strict';\n\nvar callBind = require('call-bind-apply-helpers');\nvar gOPD = require('gopd');\n\nvar hasProtoAccessor;\ntry {\n\t// eslint-disable-next-line no-extra-parens, no-proto\n\thasProtoAccessor = /** @type {{ __proto__?: typeof Array.prototype }} */ ([]).__proto__ === Array.prototype;\n} catch (e) {\n\tif (!e || typeof e !== 'object' || !('code' in e) || e.code !== 'ERR_PROTO_ACCESS') {\n\t\tthrow e;\n\t}\n}\n\n// eslint-disable-next-line no-extra-parens\nvar desc = !!hasProtoAccessor && gOPD && gOPD(Object.prototype, /** @type {keyof typeof Object.prototype} */ ('__proto__'));\n\nvar $Object = Object;\nvar $getPrototypeOf = $Object.getPrototypeOf;\n\n/** @type {import('./get')} */\nmodule.exports = desc && typeof desc.get === 'function'\n\t? callBind([desc.get])\n\t: typeof $getPrototypeOf === 'function'\n\t\t? /** @type {import('./get')} */ function getDunder(value) {\n\t\t\t// eslint-disable-next-line eqeqeq\n\t\t\treturn $getPrototypeOf(value == null ? value : $Object(value));\n\t\t}\n\t\t: false;\n","'use strict';\n\nvar reflectGetProto = require('./Reflect.getPrototypeOf');\nvar originalGetProto = require('./Object.getPrototypeOf');\n\nvar getDunderProto = require('dunder-proto/get');\n\n/** @type {import('.')} */\nmodule.exports = reflectGetProto\n\t? function getProto(O) {\n\t\t// @ts-expect-error TS can't narrow inside a closure, for some reason\n\t\treturn reflectGetProto(O);\n\t}\n\t: originalGetProto\n\t\t? function getProto(O) {\n\t\t\tif (!O || (typeof O !== 'object' && typeof O !== 'function')) {\n\t\t\t\tthrow new TypeError('getProto: not an object');\n\t\t\t}\n\t\t\t// @ts-expect-error TS can't narrow inside a closure, for some reason\n\t\t\treturn originalGetProto(O);\n\t\t}\n\t\t: getDunderProto\n\t\t\t? function getProto(O) {\n\t\t\t\t// @ts-expect-error TS can't narrow inside a closure, for some reason\n\t\t\t\treturn getDunderProto(O);\n\t\t\t}\n\t\t\t: null;\n","'use strict';\n\nvar call = Function.prototype.call;\nvar $hasOwn = Object.prototype.hasOwnProperty;\nvar bind = require('function-bind');\n\n/** @type {import('.')} */\nmodule.exports = bind.call(call, $hasOwn);\n","'use strict';\n\nvar undefined;\n\nvar $Object = require('es-object-atoms');\n\nvar $Error = require('es-errors');\nvar $EvalError = require('es-errors/eval');\nvar $RangeError = require('es-errors/range');\nvar $ReferenceError = require('es-errors/ref');\nvar $SyntaxError = require('es-errors/syntax');\nvar $TypeError = require('es-errors/type');\nvar $URIError = require('es-errors/uri');\n\nvar abs = require('math-intrinsics/abs');\nvar floor = require('math-intrinsics/floor');\nvar max = require('math-intrinsics/max');\nvar min = require('math-intrinsics/min');\nvar pow = require('math-intrinsics/pow');\nvar round = require('math-intrinsics/round');\nvar sign = require('math-intrinsics/sign');\n\nvar $Function = Function;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = require('gopd');\nvar $defineProperty = require('es-define-property');\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\n\nvar getProto = require('get-proto');\nvar $ObjectGPO = require('get-proto/Object.getPrototypeOf');\nvar $ReflectGPO = require('get-proto/Reflect.getPrototypeOf');\n\nvar $apply = require('call-bind-apply-helpers/functionApply');\nvar $call = require('call-bind-apply-helpers/functionCall');\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' || !getProto ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t__proto__: null,\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols && getProto ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%BigInt64Array%': typeof BigInt64Array === 'undefined' ? undefined : BigInt64Array,\n\t'%BigUint64Array%': typeof BigUint64Array === 'undefined' ? undefined : BigUint64Array,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': $Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': $EvalError,\n\t'%Float16Array%': typeof Float16Array === 'undefined' ? undefined : Float16Array,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols && getProto ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': $Object,\n\t'%Object.getOwnPropertyDescriptor%': $gOPD,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': $RangeError,\n\t'%ReferenceError%': $ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols && getProto ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': $URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet,\n\n\t'%Function.prototype.call%': $call,\n\t'%Function.prototype.apply%': $apply,\n\t'%Object.defineProperty%': $defineProperty,\n\t'%Object.getPrototypeOf%': $ObjectGPO,\n\t'%Math.abs%': abs,\n\t'%Math.floor%': floor,\n\t'%Math.max%': max,\n\t'%Math.min%': min,\n\t'%Math.pow%': pow,\n\t'%Math.round%': round,\n\t'%Math.sign%': sign,\n\t'%Reflect.getPrototypeOf%': $ReflectGPO\n};\n\nif (getProto) {\n\ttry {\n\t\tnull.error; // eslint-disable-line no-unused-expressions\n\t} catch (e) {\n\t\t// https://github.com/tc39/proposal-shadowrealm/pull/384#issuecomment-1364264229\n\t\tvar errorProto = getProto(getProto(e));\n\t\tINTRINSICS['%Error.prototype%'] = errorProto;\n\t}\n}\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen && getProto) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t__proto__: null,\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\nvar hasOwn = require('hasown');\nvar $concat = bind.call($call, Array.prototype.concat);\nvar $spliceApply = bind.call($apply, Array.prototype.splice);\nvar $replace = bind.call($call, String.prototype.replace);\nvar $strSlice = bind.call($call, String.prototype.slice);\nvar $exec = bind.call($call, RegExp.prototype.exec);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tif ($exec(/^%?[^%]*%?$/, name) === null) {\n\t\tthrow new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name');\n\t}\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar callBindBasic = require('call-bind-apply-helpers');\n\n/** @type {(thisArg: string, searchString: string, position?: number) => number} */\nvar $indexOf = callBindBasic([GetIntrinsic('%String.prototype.indexOf%')]);\n\n/** @type {import('.')} */\nmodule.exports = function callBoundIntrinsic(name, allowMissing) {\n\t/* eslint no-extra-parens: 0 */\n\n\tvar intrinsic = /** @type {(this: unknown, ...args: unknown[]) => unknown} */ (GetIntrinsic(name, !!allowMissing));\n\tif (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) {\n\t\treturn callBindBasic(/** @type {const} */ ([intrinsic]));\n\t}\n\treturn intrinsic;\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\nvar callBound = require('call-bound');\nvar inspect = require('object-inspect');\n\nvar $TypeError = require('es-errors/type');\nvar $Map = GetIntrinsic('%Map%', true);\n\n/** @type {<K, V>(thisArg: Map<K, V>, key: K) => V} */\nvar $mapGet = callBound('Map.prototype.get', true);\n/** @type {<K, V>(thisArg: Map<K, V>, key: K, value: V) => void} */\nvar $mapSet = callBound('Map.prototype.set', true);\n/** @type {<K, V>(thisArg: Map<K, V>, key: K) => boolean} */\nvar $mapHas = callBound('Map.prototype.has', true);\n/** @type {<K, V>(thisArg: Map<K, V>, key: K) => boolean} */\nvar $mapDelete = callBound('Map.prototype.delete', true);\n/** @type {<K, V>(thisArg: Map<K, V>) => number} */\nvar $mapSize = callBound('Map.prototype.size', true);\n\n/** @type {import('.')} */\nmodule.exports = !!$Map && /** @type {Exclude<import('.'), false>} */ function getSideChannelMap() {\n\t/** @typedef {ReturnType<typeof getSideChannelMap>} Channel */\n\t/** @typedef {Parameters<Channel['get']>[0]} K */\n\t/** @typedef {Parameters<Channel['set']>[1]} V */\n\n\t/** @type {Map<K, V> | undefined} */ var $m;\n\n\t/** @type {Channel} */\n\tvar channel = {\n\t\tassert: function (key) {\n\t\t\tif (!channel.has(key)) {\n\t\t\t\tthrow new $TypeError('Side channel does not contain ' + inspect(key));\n\t\t\t}\n\t\t},\n\t\t'delete': function (key) {\n\t\t\tif ($m) {\n\t\t\t\tvar result = $mapDelete($m, key);\n\t\t\t\tif ($mapSize($m) === 0) {\n\t\t\t\t\t$m = void undefined;\n\t\t\t\t}\n\t\t\t\treturn result;\n\t\t\t}\n\t\t\treturn false;\n\t\t},\n\t\tget: function (key) { // eslint-disable-line consistent-return\n\t\t\tif ($m) {\n\t\t\t\treturn $mapGet($m, key);\n\t\t\t}\n\t\t},\n\t\thas: function (key) {\n\t\t\tif ($m) {\n\t\t\t\treturn $mapHas($m, key);\n\t\t\t}\n\t\t\treturn false;\n\t\t},\n\t\tset: function (key, value) {\n\t\t\tif (!$m) {\n\t\t\t\t// @ts-expect-error TS can't handle narrowing a variable inside a closure\n\t\t\t\t$m = new $Map();\n\t\t\t}\n\t\t\t$mapSet($m, key, value);\n\t\t}\n\t};\n\n\t// @ts-expect-error TODO: figure out why TS is erroring here\n\treturn channel;\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\nvar callBound = require('call-bound');\nvar inspect = require('object-inspect');\nvar getSideChannelMap = require('side-channel-map');\n\nvar $TypeError = require('es-errors/type');\nvar $WeakMap = GetIntrinsic('%WeakMap%', true);\n\n/** @type {<K extends object, V>(thisArg: WeakMap<K, V>, key: K) => V} */\nvar $weakMapGet = callBound('WeakMap.prototype.get', true);\n/** @type {<K extends object, V>(thisArg: WeakMap<K, V>, key: K, value: V) => void} */\nvar $weakMapSet = callBound('WeakMap.prototype.set', true);\n/** @type {<K extends object, V>(thisArg: WeakMap<K, V>, key: K) => boolean} */\nvar $weakMapHas = callBound('WeakMap.prototype.has', true);\n/** @type {<K extends object, V>(thisArg: WeakMap<K, V>, key: K) => boolean} */\nvar $weakMapDelete = callBound('WeakMap.prototype.delete', true);\n\n/** @type {import('.')} */\nmodule.exports = $WeakMap\n\t? /** @type {Exclude<import('.'), false>} */ function getSideChannelWeakMap() {\n\t\t/** @typedef {ReturnType<typeof getSideChannelWeakMap>} Channel */\n\t\t/** @typedef {Parameters<Channel['get']>[0]} K */\n\t\t/** @typedef {Parameters<Channel['set']>[1]} V */\n\n\t\t/** @type {WeakMap<K & object, V> | undefined} */ var $wm;\n\t\t/** @type {Channel | undefined} */ var $m;\n\n\t\t/** @type {Channel} */\n\t\tvar channel = {\n\t\t\tassert: function (key) {\n\t\t\t\tif (!channel.has(key)) {\n\t\t\t\t\tthrow new $TypeError('Side channel does not contain ' + inspect(key));\n\t\t\t\t}\n\t\t\t},\n\t\t\t'delete': function (key) {\n\t\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\t\tif ($wm) {\n\t\t\t\t\t\treturn $weakMapDelete($wm, key);\n\t\t\t\t\t}\n\t\t\t\t} else if (getSideChannelMap) {\n\t\t\t\t\tif ($m) {\n\t\t\t\t\t\treturn $m['delete'](key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t},\n\t\t\tget: function (key) {\n\t\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\t\tif ($wm) {\n\t\t\t\t\t\treturn $weakMapGet($wm, key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn $m && $m.get(key);\n\t\t\t},\n\t\t\thas: function (key) {\n\t\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\t\tif ($wm) {\n\t\t\t\t\t\treturn $weakMapHas($wm, key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn !!$m && $m.has(key);\n\t\t\t},\n\t\t\tset: function (key, value) {\n\t\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\t\tif (!$wm) {\n\t\t\t\t\t\t$wm = new $WeakMap();\n\t\t\t\t\t}\n\t\t\t\t\t$weakMapSet($wm, key, value);\n\t\t\t\t} else if (getSideChannelMap) {\n\t\t\t\t\tif (!$m) {\n\t\t\t\t\t\t$m = getSideChannelMap();\n\t\t\t\t\t}\n\t\t\t\t\t// eslint-disable-next-line no-extra-parens\n\t\t\t\t\t/** @type {NonNullable<typeof $m>} */ ($m).set(key, value);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\t// @ts-expect-error TODO: figure out why this is erroring\n\t\treturn channel;\n\t}\n\t: getSideChannelMap;\n","'use strict';\n\nvar $TypeError = require('es-errors/type');\nvar inspect = require('object-inspect');\nvar getSideChannelList = require('side-channel-list');\nvar getSideChannelMap = require('side-channel-map');\nvar getSideChannelWeakMap = require('side-channel-weakmap');\n\nvar makeChannel = getSideChannelWeakMap || getSideChannelMap || getSideChannelList;\n\n/** @type {import('.')} */\nmodule.exports = function getSideChannel() {\n\t/** @typedef {ReturnType<typeof getSideChannel>} Channel */\n\n\t/** @type {Channel | undefined} */ var $channelData;\n\n\t/** @type {Channel} */\n\tvar channel = {\n\t\tassert: function (key) {\n\t\t\tif (!channel.has(key)) {\n\t\t\t\tthrow new $TypeError('Side channel does not contain ' + inspect(key));\n\t\t\t}\n\t\t},\n\t\t'delete': function (key) {\n\t\t\treturn !!$channelData && $channelData['delete'](key);\n\t\t},\n\t\tget: function (key) {\n\t\t\treturn $channelData && $channelData.get(key);\n\t\t},\n\t\thas: function (key) {\n\t\t\treturn !!$channelData && $channelData.has(key);\n\t\t},\n\t\tset: function (key, value) {\n\t\t\tif (!$channelData) {\n\t\t\t\t$channelData = makeChannel();\n\t\t\t}\n\n\t\t\t$channelData.set(key, value);\n\t\t}\n\t};\n\t// @ts-expect-error TODO: figure out why this is erroring\n\treturn channel;\n};\n","'use strict';\n\nvar replace = String.prototype.replace;\nvar percentTwenties = /%20/g;\n\nvar Format = {\n RFC1738: 'RFC1738',\n RFC3986: 'RFC3986'\n};\n\nmodule.exports = {\n 'default': Format.RFC3986,\n formatters: {\n RFC1738: function (value) {\n return replace.call(value, percentTwenties, '+');\n },\n RFC3986: function (value) {\n return String(value);\n }\n },\n RFC1738: Format.RFC1738,\n RFC3986: Format.RFC3986\n};\n","'use strict';\n\nvar formats = require('./formats');\nvar getSideChannel = require('side-channel');\n\nvar has = Object.prototype.hasOwnProperty;\nvar isArray = Array.isArray;\n\n// Track objects created from arrayLimit overflow using side-channel\n// Stores the current max numeric index for O(1) lookup\nvar overflowChannel = getSideChannel();\n\nvar markOverflow = function markOverflow(obj, maxIndex) {\n overflowChannel.set(obj, maxIndex);\n return obj;\n};\n\nvar isOverflow = function isOverflow(obj) {\n return overflowChannel.has(obj);\n};\n\nvar getMaxIndex = function getMaxIndex(obj) {\n return overflowChannel.get(obj);\n};\n\nvar setMaxIndex = function setMaxIndex(obj, maxIndex) {\n overflowChannel.set(obj, maxIndex);\n};\n\nvar hexTable = (function () {\n var array = [];\n for (var i = 0; i < 256; ++i) {\n array[array.length] = '%' + ((i < 16 ? '0' : '') + i.toString(16)).toUpperCase();\n }\n\n return array;\n}());\n\nvar compactQueue = function compactQueue(queue) {\n while (queue.length > 1) {\n var item = queue.pop();\n var obj = item.obj[item.prop];\n\n if (isArray(obj)) {\n var compacted = [];\n\n for (var j = 0; j < obj.length; ++j) {\n if (typeof obj[j] !== 'undefined') {\n compacted[compacted.length] = obj[j];\n }\n }\n\n item.obj[item.prop] = compacted;\n }\n }\n};\n\nvar arrayToObject = function arrayToObject(source, options) {\n var obj = options && options.plainObjects ? { __proto__: null } : {};\n for (var i = 0; i < source.length; ++i) {\n if (typeof source[i] !== 'undefined') {\n obj[i] = source[i];\n }\n }\n\n return obj;\n};\n\nvar merge = function merge(target, source, options) {\n /* eslint no-param-reassign: 0 */\n if (!source) {\n return target;\n }\n\n if (typeof source !== 'object' && typeof source !== 'function') {\n if (isArray(target)) {\n var nextIndex = target.length;\n if (options && typeof options.arrayLimit === 'number' && nextIndex > options.arrayLimit) {\n return markOverflow(arrayToObject(target.concat(source), options), nextIndex);\n }\n target[nextIndex] = source;\n } else if (target && typeof target === 'object') {\n if (isOverflow(target)) {\n // Add at next numeric index for overflow objects\n var newIndex = getMaxIndex(target) + 1;\n target[newIndex] = source;\n setMaxIndex(target, newIndex);\n } else if (options && options.strictMerge) {\n return [target, source];\n } else if (\n (options && (options.plainObjects || options.allowPrototypes))\n || !has.call(Object.prototype, source)\n ) {\n target[source] = true;\n }\n } else {\n return [target, source];\n }\n\n return target;\n }\n\n if (!target || typeof target !== 'object') {\n if (isOverflow(source)) {\n // Create new object with target at 0, source values shifted by 1\n var sourceKeys = Object.keys(source);\n var result = options && options.plainObjects\n ? { __proto__: null, 0: target }\n : { 0: target };\n for (var m = 0; m < sourceKeys.length; m++) {\n var oldKey = parseInt(sourceKeys[m], 10);\n result[oldKey + 1] = source[sourceKeys[m]];\n }\n return markOverflow(result, getMaxIndex(source) + 1);\n }\n var combined = [target].concat(source);\n if (options && typeof options.arrayLimit === 'number' && combined.length > options.arrayLimit) {\n return markOverflow(arrayToObject(combined, options), combined.length - 1);\n }\n return combined;\n }\n\n var mergeTarget = target;\n if (isArray(target) && !isArray(source)) {\n mergeTarget = arrayToObject(target, options);\n }\n\n if (isArray(target) && isArray(source)) {\n source.forEach(function (item, i) {\n if (has.call(target, i)) {\n var targetItem = target[i];\n if (targetItem && typeof targetItem === 'object' && item && typeof item === 'object') {\n target[i] = merge(targetItem, item, options);\n } else {\n target[target.length] = item;\n }\n } else {\n target[i] = item;\n }\n });\n return target;\n }\n\n return Object.keys(source).reduce(function (acc, key) {\n var value = source[key];\n\n if (has.call(acc, key)) {\n acc[key] = merge(acc[key], value, options);\n } else {\n acc[key] = value;\n }\n\n if (isOverflow(source) && !isOverflow(acc)) {\n markOverflow(acc, getMaxIndex(source));\n }\n if (isOverflow(acc)) {\n var keyNum = parseInt(key, 10);\n if (String(keyNum) === key && keyNum >= 0 && keyNum > getMaxIndex(acc)) {\n setMaxIndex(acc, keyNum);\n }\n }\n\n return acc;\n }, mergeTarget);\n};\n\nvar assign = function assignSingleSource(target, source) {\n return Object.keys(source).reduce(function (acc, key) {\n acc[key] = source[key];\n return acc;\n }, target);\n};\n\nvar decode = function (str, defaultDecoder, charset) {\n var strWithoutPlus = str.replace(/\\+/g, ' ');\n if (charset === 'iso-8859-1') {\n // unescape never throws, no try...catch needed:\n return strWithoutPlus.replace(/%[0-9a-f]{2}/gi, unescape);\n }\n // utf-8\n try {\n return decodeURIComponent(strWithoutPlus);\n } catch (e) {\n return strWithoutPlus;\n }\n};\n\nvar limit = 1024;\n\n/* eslint operator-linebreak: [2, \"before\"] */\n\nvar encode = function encode(str, defaultEncoder, charset, kind, format) {\n // This code was originally written by Brian White (mscdex) for the io.js core querystring library.\n // It has been adapted here for stricter adherence to RFC 3986\n if (str.length === 0) {\n return str;\n }\n\n var string = str;\n if (typeof str === 'symbol') {\n string = Symbol.prototype.toString.call(str);\n } else if (typeof str !== 'string') {\n string = String(str);\n }\n\n if (charset === 'iso-8859-1') {\n return escape(string).replace(/%u[0-9a-f]{4}/gi, function ($0) {\n return '%26%23' + parseInt($0.slice(2), 16) + '%3B';\n });\n }\n\n var out = '';\n for (var j = 0; j < string.length; j += limit) {\n var segment = string.length >= limit ? string.slice(j, j + limit) : string;\n var arr = [];\n\n for (var i = 0; i < segment.length; ++i) {\n var c = segment.charCodeAt(i);\n if (\n c === 0x2D // -\n || c === 0x2E // .\n || c === 0x5F // _\n || c === 0x7E // ~\n || (c >= 0x30 && c <= 0x39) // 0-9\n || (c >= 0x41 && c <= 0x5A) // a-z\n || (c >= 0x61 && c <= 0x7A) // A-Z\n || (format === formats.RFC1738 && (c === 0x28 || c === 0x29)) // ( )\n ) {\n arr[arr.length] = segment.charAt(i);\n continue;\n }\n\n if (c < 0x80) {\n arr[arr.length] = hexTable[c];\n continue;\n }\n\n if (c < 0x800) {\n arr[arr.length] = hexTable[0xC0 | (c >> 6)]\n + hexTable[0x80 | (c & 0x3F)];\n continue;\n }\n\n if (c < 0xD800 || c >= 0xE000) {\n arr[arr.length] = hexTable[0xE0 | (c >> 12)]\n + hexTable[0x80 | ((c >> 6) & 0x3F)]\n + hexTable[0x80 | (c & 0x3F)];\n continue;\n }\n\n i += 1;\n c = 0x10000 + (((c & 0x3FF) << 10) | (segment.charCodeAt(i) & 0x3FF));\n\n arr[arr.length] = hexTable[0xF0 | (c >> 18)]\n + hexTable[0x80 | ((c >> 12) & 0x3F)]\n + hexTable[0x80 | ((c >> 6) & 0x3F)]\n + hexTable[0x80 | (c & 0x3F)];\n }\n\n out += arr.join('');\n }\n\n return out;\n};\n\nvar compact = function compact(value) {\n var queue = [{ obj: { o: value }, prop: 'o' }];\n var refs = [];\n\n for (var i = 0; i < queue.length; ++i) {\n var item = queue[i];\n var obj = item.obj[item.prop];\n\n var keys = Object.keys(obj);\n for (var j = 0; j < keys.length; ++j) {\n var key = keys[j];\n var val = obj[key];\n if (typeof val === 'object' && val !== null && refs.indexOf(val) === -1) {\n queue[queue.length] = { obj: obj, prop: key };\n refs[refs.length] = val;\n }\n }\n }\n\n compactQueue(queue);\n\n return value;\n};\n\nvar isRegExp = function isRegExp(obj) {\n return Object.prototype.toString.call(obj) === '[object RegExp]';\n};\n\nvar isBuffer = function isBuffer(obj) {\n if (!obj || typeof obj !== 'object') {\n return false;\n }\n\n return !!(obj.constructor && obj.constructor.isBuffer && obj.constructor.isBuffer(obj));\n};\n\nvar combine = function combine(a, b, arrayLimit, plainObjects) {\n // If 'a' is already an overflow object, add to it\n if (isOverflow(a)) {\n var newIndex = getMaxIndex(a) + 1;\n a[newIndex] = b;\n setMaxIndex(a, newIndex);\n return a;\n }\n\n var result = [].concat(a, b);\n if (result.length > arrayLimit) {\n return markOverflow(arrayToObject(result, { plainObjects: plainObjects }), result.length - 1);\n }\n return result;\n};\n\nvar maybeMap = function maybeMap(val, fn) {\n if (isArray(val)) {\n var mapped = [];\n for (var i = 0; i < val.length; i += 1) {\n mapped[mapped.length] = fn(val[i]);\n }\n return mapped;\n }\n return fn(val);\n};\n\nmodule.exports = {\n arrayToObject: arrayToObject,\n assign: assign,\n combine: combine,\n compact: compact,\n decode: decode,\n encode: encode,\n isBuffer: isBuffer,\n isOverflow: isOverflow,\n isRegExp: isRegExp,\n markOverflow: markOverflow,\n maybeMap: maybeMap,\n merge: merge\n};\n","'use strict';\n\nvar getSideChannel = require('side-channel');\nvar utils = require('./utils');\nvar formats = require('./formats');\nvar has = Object.prototype.hasOwnProperty;\n\nvar arrayPrefixGenerators = {\n brackets: function brackets(prefix) {\n return prefix + '[]';\n },\n comma: 'comma',\n indices: function indices(prefix, key) {\n return prefix + '[' + key + ']';\n },\n repeat: function repeat(prefix) {\n return prefix;\n }\n};\n\nvar isArray = Array.isArray;\nvar push = Array.prototype.push;\nvar pushToArray = function (arr, valueOrArray) {\n push.apply(arr, isArray(valueOrArray) ? valueOrArray : [valueOrArray]);\n};\n\nvar toISO = Date.prototype.toISOString;\n\nvar defaultFormat = formats['default'];\nvar defaults = {\n addQueryPrefix: false,\n allowDots: false,\n allowEmptyArrays: false,\n arrayFormat: 'indices',\n charset: 'utf-8',\n charsetSentinel: false,\n commaRoundTrip: false,\n delimiter: '&',\n encode: true,\n encodeDotInKeys: false,\n encoder: utils.encode,\n encodeValuesOnly: false,\n filter: void undefined,\n format: defaultFormat,\n formatter: formats.formatters[defaultFormat],\n // deprecated\n indices: false,\n serializeDate: function serializeDate(date) {\n return toISO.call(date);\n },\n skipNulls: false,\n strictNullHandling: false\n};\n\nvar isNonNullishPrimitive = function isNonNullishPrimitive(v) {\n return typeof v === 'string'\n || typeof v === 'number'\n || typeof v === 'boolean'\n || typeof v === 'symbol'\n || typeof v === 'bigint';\n};\n\nvar sentinel = {};\n\nvar stringify = function stringify(\n object,\n prefix,\n generateArrayPrefix,\n commaRoundTrip,\n allowEmptyArrays,\n strictNullHandling,\n skipNulls,\n encodeDotInKeys,\n encoder,\n filter,\n sort,\n allowDots,\n serializeDate,\n format,\n formatter,\n encodeValuesOnly,\n charset,\n sideChannel\n) {\n var obj = object;\n\n var tmpSc = sideChannel;\n var step = 0;\n var findFlag = false;\n while ((tmpSc = tmpSc.get(sentinel)) !== void undefined && !findFlag) {\n // Where object last appeared in the ref tree\n var pos = tmpSc.get(object);\n step += 1;\n if (typeof pos !== 'undefined') {\n if (pos === step) {\n throw new RangeError('Cyclic object value');\n } else {\n findFlag = true; // Break while\n }\n }\n if (typeof tmpSc.get(sentinel) === 'undefined') {\n step = 0;\n }\n }\n\n if (typeof filter === 'function') {\n obj = filter(prefix, obj);\n } else if (obj instanceof Date) {\n obj = serializeDate(obj);\n } else if (generateArrayPrefix === 'comma' && isArray(obj)) {\n obj = utils.maybeMap(obj, function (value) {\n if (value instanceof Date) {\n return serializeDate(value);\n }\n return value;\n });\n }\n\n if (obj === null) {\n if (strictNullHandling) {\n return encoder && !encodeValuesOnly ? encoder(prefix, defaults.encoder, charset, 'key', format) : prefix;\n }\n\n obj = '';\n }\n\n if (isNonNullishPrimitive(obj) || utils.isBuffer(obj)) {\n if (encoder) {\n var keyValue = encodeValuesOnly ? prefix : encoder(prefix, defaults.encoder, charset, 'key', format);\n return [formatter(keyValue) + '=' + formatter(encoder(obj, defaults.encoder, charset, 'value', format))];\n }\n return [formatter(prefix) + '=' + formatter(String(obj))];\n }\n\n var values = [];\n\n if (typeof obj === 'undefined') {\n return values;\n }\n\n var objKeys;\n if (generateArrayPrefix === 'comma' && isArray(obj)) {\n // we need to join elements in\n if (encodeValuesOnly && encoder) {\n obj = utils.maybeMap(obj, encoder);\n }\n objKeys = [{ value: obj.length > 0 ? obj.join(',') || null : void undefined }];\n } else if (isArray(filter)) {\n objKeys = filter;\n } else {\n var keys = Object.keys(obj);\n objKeys = sort ? keys.sort(sort) : keys;\n }\n\n var encodedPrefix = encodeDotInKeys ? String(prefix).replace(/\\./g, '%2E') : String(prefix);\n\n var adjustedPrefix = commaRoundTrip && isArray(obj) && obj.length === 1 ? encodedPrefix + '[]' : encodedPrefix;\n\n if (allowEmptyArrays && isArray(obj) && obj.length === 0) {\n return adjustedPrefix + '[]';\n }\n\n for (var j = 0; j < objKeys.length; ++j) {\n var key = objKeys[j];\n var value = typeof key === 'object' && key && typeof key.value !== 'undefined'\n ? key.value\n : obj[key];\n\n if (skipNulls && value === null) {\n continue;\n }\n\n var encodedKey = allowDots && encodeDotInKeys ? String(key).replace(/\\./g, '%2E') : String(key);\n var keyPrefix = isArray(obj)\n ? typeof generateArrayPrefix === 'function' ? generateArrayPrefix(adjustedPrefix, encodedKey) : adjustedPrefix\n : adjustedPrefix + (allowDots ? '.' + encodedKey : '[' + encodedKey + ']');\n\n sideChannel.set(object, step);\n var valueSideChannel = getSideChannel();\n valueSideChannel.set(sentinel, sideChannel);\n pushToArray(values, stringify(\n value,\n keyPrefix,\n generateArrayPrefix,\n commaRoundTrip,\n allowEmptyArrays,\n strictNullHandling,\n skipNulls,\n encodeDotInKeys,\n generateArrayPrefix === 'comma' && encodeValuesOnly && isArray(obj) ? null : encoder,\n filter,\n sort,\n allowDots,\n serializeDate,\n format,\n formatter,\n encodeValuesOnly,\n charset,\n valueSideChannel\n ));\n }\n\n return values;\n};\n\nvar normalizeStringifyOptions = function normalizeStringifyOptions(opts) {\n if (!opts) {\n return defaults;\n }\n\n if (typeof opts.allowEmptyArrays !== 'undefined' && typeof opts.allowEmptyArrays !== 'boolean') {\n throw new TypeError('`allowEmptyArrays` option can only be `true` or `false`, when provided');\n }\n\n if (typeof opts.encodeDotInKeys !== 'undefined' && typeof opts.encodeDotInKeys !== 'boolean') {\n throw new TypeError('`encodeDotInKeys` option can only be `true` or `false`, when provided');\n }\n\n if (opts.encoder !== null && typeof opts.encoder !== 'undefined' && typeof opts.encoder !== 'function') {\n throw new TypeError('Encoder has to be a function.');\n }\n\n var charset = opts.charset || defaults.charset;\n if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {\n throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');\n }\n\n var format = formats['default'];\n if (typeof opts.format !== 'undefined') {\n if (!has.call(formats.formatters, opts.format)) {\n throw new TypeError('Unknown format option provided.');\n }\n format = opts.format;\n }\n var formatter = formats.formatters[format];\n\n var filter = defaults.filter;\n if (typeof opts.filter === 'function' || isArray(opts.filter)) {\n filter = opts.filter;\n }\n\n var arrayFormat;\n if (opts.arrayFormat in arrayPrefixGenerators) {\n arrayFormat = opts.arrayFormat;\n } else if ('indices' in opts) {\n arrayFormat = opts.indices ? 'indices' : 'repeat';\n } else {\n arrayFormat = defaults.arrayFormat;\n }\n\n if ('commaRoundTrip' in opts && typeof opts.commaRoundTrip !== 'boolean') {\n throw new TypeError('`commaRoundTrip` must be a boolean, or absent');\n }\n\n var allowDots = typeof opts.allowDots === 'undefined' ? opts.encodeDotInKeys === true ? true : defaults.allowDots : !!opts.allowDots;\n\n return {\n addQueryPrefix: typeof opts.addQueryPrefix === 'boolean' ? opts.addQueryPrefix : defaults.addQueryPrefix,\n allowDots: allowDots,\n allowEmptyArrays: typeof opts.allowEmptyArrays === 'boolean' ? !!opts.allowEmptyArrays : defaults.allowEmptyArrays,\n arrayFormat: arrayFormat,\n charset: charset,\n charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,\n commaRoundTrip: !!opts.commaRoundTrip,\n delimiter: typeof opts.delimiter === 'undefined' ? defaults.delimiter : opts.delimiter,\n encode: typeof opts.encode === 'boolean' ? opts.encode : defaults.encode,\n encodeDotInKeys: typeof opts.encodeDotInKeys === 'boolean' ? opts.encodeDotInKeys : defaults.encodeDotInKeys,\n encoder: typeof opts.encoder === 'function' ? opts.encoder : defaults.encoder,\n encodeValuesOnly: typeof opts.encodeValuesOnly === 'boolean' ? opts.encodeValuesOnly : defaults.encodeValuesOnly,\n filter: filter,\n format: format,\n formatter: formatter,\n serializeDate: typeof opts.serializeDate === 'function' ? opts.serializeDate : defaults.serializeDate,\n skipNulls: typeof opts.skipNulls === 'boolean' ? opts.skipNulls : defaults.skipNulls,\n sort: typeof opts.sort === 'function' ? opts.sort : null,\n strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling\n };\n};\n\nmodule.exports = function (object, opts) {\n var obj = object;\n var options = normalizeStringifyOptions(opts);\n\n var objKeys;\n var filter;\n\n if (typeof options.filter === 'function') {\n filter = options.filter;\n obj = filter('', obj);\n } else if (isArray(options.filter)) {\n filter = options.filter;\n objKeys = filter;\n }\n\n var keys = [];\n\n if (typeof obj !== 'object' || obj === null) {\n return '';\n }\n\n var generateArrayPrefix = arrayPrefixGenerators[options.arrayFormat];\n var commaRoundTrip = generateArrayPrefix === 'comma' && options.commaRoundTrip;\n\n if (!objKeys) {\n objKeys = Object.keys(obj);\n }\n\n if (options.sort) {\n objKeys.sort(options.sort);\n }\n\n var sideChannel = getSideChannel();\n for (var i = 0; i < objKeys.length; ++i) {\n var key = objKeys[i];\n var value = obj[key];\n\n if (options.skipNulls && value === null) {\n continue;\n }\n pushToArray(keys, stringify(\n value,\n key,\n generateArrayPrefix,\n commaRoundTrip,\n options.allowEmptyArrays,\n options.strictNullHandling,\n options.skipNulls,\n options.encodeDotInKeys,\n options.encode ? options.encoder : null,\n options.filter,\n options.sort,\n options.allowDots,\n options.serializeDate,\n options.format,\n options.formatter,\n options.encodeValuesOnly,\n options.charset,\n sideChannel\n ));\n }\n\n var joined = keys.join(options.delimiter);\n var prefix = options.addQueryPrefix === true ? '?' : '';\n\n if (options.charsetSentinel) {\n if (options.charset === 'iso-8859-1') {\n // encodeURIComponent('&#10003;'), the \"numeric entity\" representation of a checkmark\n prefix += 'utf8=%26%2310003%3B&';\n } else {\n // encodeURIComponent('✓')\n prefix += 'utf8=%E2%9C%93&';\n }\n }\n\n return joined.length > 0 ? prefix + joined : '';\n};\n","'use strict';\n\nvar utils = require('./utils');\n\nvar has = Object.prototype.hasOwnProperty;\nvar isArray = Array.isArray;\n\nvar defaults = {\n allowDots: false,\n allowEmptyArrays: false,\n allowPrototypes: false,\n allowSparse: false,\n arrayLimit: 20,\n charset: 'utf-8',\n charsetSentinel: false,\n comma: false,\n decodeDotInKeys: false,\n decoder: utils.decode,\n delimiter: '&',\n depth: 5,\n duplicates: 'combine',\n ignoreQueryPrefix: false,\n interpretNumericEntities: false,\n parameterLimit: 1000,\n parseArrays: true,\n plainObjects: false,\n strictDepth: false,\n strictMerge: true,\n strictNullHandling: false,\n throwOnLimitExceeded: false\n};\n\nvar interpretNumericEntities = function (str) {\n return str.replace(/&#(\\d+);/g, function ($0, numberStr) {\n return String.fromCharCode(parseInt(numberStr, 10));\n });\n};\n\nvar parseArrayValue = function (val, options, currentArrayLength) {\n if (val && typeof val === 'string' && options.comma && val.indexOf(',') > -1) {\n return val.split(',');\n }\n\n if (options.throwOnLimitExceeded && currentArrayLength >= options.arrayLimit) {\n throw new RangeError('Array limit exceeded. Only ' + options.arrayLimit + ' element' + (options.arrayLimit === 1 ? '' : 's') + ' allowed in an array.');\n }\n\n return val;\n};\n\n// This is what browsers will submit when the ✓ character occurs in an\n// application/x-www-form-urlencoded body and the encoding of the page containing\n// the form is iso-8859-1, or when the submitted form has an accept-charset\n// attribute of iso-8859-1. Presumably also with other charsets that do not contain\n// the ✓ character, such as us-ascii.\nvar isoSentinel = 'utf8=%26%2310003%3B'; // encodeURIComponent('&#10003;')\n\n// These are the percent-encoded utf-8 octets representing a checkmark, indicating that the request actually is utf-8 encoded.\nvar charsetSentinel = 'utf8=%E2%9C%93'; // encodeURIComponent('✓')\n\nvar parseValues = function parseQueryStringValues(str, options) {\n var obj = { __proto__: null };\n\n var cleanStr = options.ignoreQueryPrefix ? str.replace(/^\\?/, '') : str;\n cleanStr = cleanStr.replace(/%5B/gi, '[').replace(/%5D/gi, ']');\n\n var limit = options.parameterLimit === Infinity ? void undefined : options.parameterLimit;\n var parts = cleanStr.split(\n options.delimiter,\n options.throwOnLimitExceeded ? limit + 1 : limit\n );\n\n if (options.throwOnLimitExceeded && parts.length > limit) {\n throw new RangeError('Parameter limit exceeded. Only ' + limit + ' parameter' + (limit === 1 ? '' : 's') + ' allowed.');\n }\n\n var skipIndex = -1; // Keep track of where the utf8 sentinel was found\n var i;\n\n var charset = options.charset;\n if (options.charsetSentinel) {\n for (i = 0; i < parts.length; ++i) {\n if (parts[i].indexOf('utf8=') === 0) {\n if (parts[i] === charsetSentinel) {\n charset = 'utf-8';\n } else if (parts[i] === isoSentinel) {\n charset = 'iso-8859-1';\n }\n skipIndex = i;\n i = parts.length; // The eslint settings do not allow break;\n }\n }\n }\n\n for (i = 0; i < parts.length; ++i) {\n if (i === skipIndex) {\n continue;\n }\n var part = parts[i];\n\n var bracketEqualsPos = part.indexOf(']=');\n var pos = bracketEqualsPos === -1 ? part.indexOf('=') : bracketEqualsPos + 1;\n\n var key;\n var val;\n if (pos === -1) {\n key = options.decoder(part, defaults.decoder, charset, 'key');\n val = options.strictNullHandling ? null : '';\n } else {\n key = options.decoder(part.slice(0, pos), defaults.decoder, charset, 'key');\n\n if (key !== null) {\n val = utils.maybeMap(\n parseArrayValue(\n part.slice(pos + 1),\n options,\n isArray(obj[key]) ? obj[key].length : 0\n ),\n function (encodedVal) {\n return options.decoder(encodedVal, defaults.decoder, charset, 'value');\n }\n );\n }\n }\n\n if (val && options.interpretNumericEntities && charset === 'iso-8859-1') {\n val = interpretNumericEntities(String(val));\n }\n\n if (part.indexOf('[]=') > -1) {\n val = isArray(val) ? [val] : val;\n }\n\n if (options.comma && isArray(val) && val.length > options.arrayLimit) {\n if (options.throwOnLimitExceeded) {\n throw new RangeError('Array limit exceeded. Only ' + options.arrayLimit + ' element' + (options.arrayLimit === 1 ? '' : 's') + ' allowed in an array.');\n }\n val = utils.combine([], val, options.arrayLimit, options.plainObjects);\n }\n\n if (key !== null) {\n var existing = has.call(obj, key);\n if (existing && (options.duplicates === 'combine' || part.indexOf('[]=') > -1)) {\n obj[key] = utils.combine(\n obj[key],\n val,\n options.arrayLimit,\n options.plainObjects\n );\n } else if (!existing || options.duplicates === 'last') {\n obj[key] = val;\n }\n }\n }\n\n return obj;\n};\n\nvar parseObject = function (chain, val, options, valuesParsed) {\n var currentArrayLength = 0;\n if (chain.length > 0 && chain[chain.length - 1] === '[]') {\n var parentKey = chain.slice(0, -1).join('');\n currentArrayLength = Array.isArray(val) && val[parentKey] ? val[parentKey].length : 0;\n }\n\n var leaf = valuesParsed ? val : parseArrayValue(val, options, currentArrayLength);\n\n for (var i = chain.length - 1; i >= 0; --i) {\n var obj;\n var root = chain[i];\n\n if (root === '[]' && options.parseArrays) {\n if (utils.isOverflow(leaf)) {\n // leaf is already an overflow object, preserve it\n obj = leaf;\n } else {\n obj = options.allowEmptyArrays && (leaf === '' || (options.strictNullHandling && leaf === null))\n ? []\n : utils.combine(\n [],\n leaf,\n options.arrayLimit,\n options.plainObjects\n );\n }\n } else {\n obj = options.plainObjects ? { __proto__: null } : {};\n var cleanRoot = root.charAt(0) === '[' && root.charAt(root.length - 1) === ']' ? root.slice(1, -1) : root;\n var decodedRoot = options.decodeDotInKeys ? cleanRoot.replace(/%2E/g, '.') : cleanRoot;\n var index = parseInt(decodedRoot, 10);\n var isValidArrayIndex = !isNaN(index)\n && root !== decodedRoot\n && String(index) === decodedRoot\n && index >= 0\n && options.parseArrays;\n if (!options.parseArrays && decodedRoot === '') {\n obj = { 0: leaf };\n } else if (isValidArrayIndex && index < options.arrayLimit) {\n obj = [];\n obj[index] = leaf;\n } else if (isValidArrayIndex && options.throwOnLimitExceeded) {\n throw new RangeError('Array limit exceeded. Only ' + options.arrayLimit + ' element' + (options.arrayLimit === 1 ? '' : 's') + ' allowed in an array.');\n } else if (isValidArrayIndex) {\n obj[index] = leaf;\n utils.markOverflow(obj, index);\n } else if (decodedRoot !== '__proto__') {\n obj[decodedRoot] = leaf;\n }\n }\n\n leaf = obj;\n }\n\n return leaf;\n};\n\nvar splitKeyIntoSegments = function splitKeyIntoSegments(givenKey, options) {\n var key = options.allowDots ? givenKey.replace(/\\.([^.[]+)/g, '[$1]') : givenKey;\n\n if (options.depth <= 0) {\n if (!options.plainObjects && has.call(Object.prototype, key)) {\n if (!options.allowPrototypes) {\n return;\n }\n }\n\n return [key];\n }\n\n var brackets = /(\\[[^[\\]]*])/;\n var child = /(\\[[^[\\]]*])/g;\n\n var segment = brackets.exec(key);\n var parent = segment ? key.slice(0, segment.index) : key;\n\n var keys = [];\n\n if (parent) {\n if (!options.plainObjects && has.call(Object.prototype, parent)) {\n if (!options.allowPrototypes) {\n return;\n }\n }\n\n keys[keys.length] = parent;\n }\n\n var i = 0;\n while ((segment = child.exec(key)) !== null && i < options.depth) {\n i += 1;\n\n var segmentContent = segment[1].slice(1, -1);\n if (!options.plainObjects && has.call(Object.prototype, segmentContent)) {\n if (!options.allowPrototypes) {\n return;\n }\n }\n\n keys[keys.length] = segment[1];\n }\n\n if (segment) {\n if (options.strictDepth === true) {\n throw new RangeError('Input depth exceeded depth option of ' + options.depth + ' and strictDepth is true');\n }\n\n keys[keys.length] = '[' + key.slice(segment.index) + ']';\n }\n\n return keys;\n};\n\nvar parseKeys = function parseQueryStringKeys(givenKey, val, options, valuesParsed) {\n if (!givenKey) {\n return;\n }\n\n var keys = splitKeyIntoSegments(givenKey, options);\n\n if (!keys) {\n return;\n }\n\n return parseObject(keys, val, options, valuesParsed);\n};\n\nvar normalizeParseOptions = function normalizeParseOptions(opts) {\n if (!opts) {\n return defaults;\n }\n\n if (typeof opts.allowEmptyArrays !== 'undefined' && typeof opts.allowEmptyArrays !== 'boolean') {\n throw new TypeError('`allowEmptyArrays` option can only be `true` or `false`, when provided');\n }\n\n if (typeof opts.decodeDotInKeys !== 'undefined' && typeof opts.decodeDotInKeys !== 'boolean') {\n throw new TypeError('`decodeDotInKeys` option can only be `true` or `false`, when provided');\n }\n\n if (opts.decoder !== null && typeof opts.decoder !== 'undefined' && typeof opts.decoder !== 'function') {\n throw new TypeError('Decoder has to be a function.');\n }\n\n if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {\n throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');\n }\n\n if (typeof opts.throwOnLimitExceeded !== 'undefined' && typeof opts.throwOnLimitExceeded !== 'boolean') {\n throw new TypeError('`throwOnLimitExceeded` option must be a boolean');\n }\n\n var charset = typeof opts.charset === 'undefined' ? defaults.charset : opts.charset;\n\n var duplicates = typeof opts.duplicates === 'undefined' ? defaults.duplicates : opts.duplicates;\n\n if (duplicates !== 'combine' && duplicates !== 'first' && duplicates !== 'last') {\n throw new TypeError('The duplicates option must be either combine, first, or last');\n }\n\n var allowDots = typeof opts.allowDots === 'undefined' ? opts.decodeDotInKeys === true ? true : defaults.allowDots : !!opts.allowDots;\n\n return {\n allowDots: allowDots,\n allowEmptyArrays: typeof opts.allowEmptyArrays === 'boolean' ? !!opts.allowEmptyArrays : defaults.allowEmptyArrays,\n allowPrototypes: typeof opts.allowPrototypes === 'boolean' ? opts.allowPrototypes : defaults.allowPrototypes,\n allowSparse: typeof opts.allowSparse === 'boolean' ? opts.allowSparse : defaults.allowSparse,\n arrayLimit: typeof opts.arrayLimit === 'number' ? opts.arrayLimit : defaults.arrayLimit,\n charset: charset,\n charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,\n comma: typeof opts.comma === 'boolean' ? opts.comma : defaults.comma,\n decodeDotInKeys: typeof opts.decodeDotInKeys === 'boolean' ? opts.decodeDotInKeys : defaults.decodeDotInKeys,\n decoder: typeof opts.decoder === 'function' ? opts.decoder : defaults.decoder,\n delimiter: typeof opts.delimiter === 'string' || utils.isRegExp(opts.delimiter) ? opts.delimiter : defaults.delimiter,\n // eslint-disable-next-line no-implicit-coercion, no-extra-parens\n depth: (typeof opts.depth === 'number' || opts.depth === false) ? +opts.depth : defaults.depth,\n duplicates: duplicates,\n ignoreQueryPrefix: opts.ignoreQueryPrefix === true,\n interpretNumericEntities: typeof opts.interpretNumericEntities === 'boolean' ? opts.interpretNumericEntities : defaults.interpretNumericEntities,\n parameterLimit: typeof opts.parameterLimit === 'number' ? opts.parameterLimit : defaults.parameterLimit,\n parseArrays: opts.parseArrays !== false,\n plainObjects: typeof opts.plainObjects === 'boolean' ? opts.plainObjects : defaults.plainObjects,\n strictDepth: typeof opts.strictDepth === 'boolean' ? !!opts.strictDepth : defaults.strictDepth,\n strictMerge: typeof opts.strictMerge === 'boolean' ? !!opts.strictMerge : defaults.strictMerge,\n strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling,\n throwOnLimitExceeded: typeof opts.throwOnLimitExceeded === 'boolean' ? opts.throwOnLimitExceeded : false\n };\n};\n\nmodule.exports = function (str, opts) {\n var options = normalizeParseOptions(opts);\n\n if (str === '' || str === null || typeof str === 'undefined') {\n return options.plainObjects ? { __proto__: null } : {};\n }\n\n var tempObj = typeof str === 'string' ? parseValues(str, options) : str;\n var obj = options.plainObjects ? { __proto__: null } : {};\n\n // Iterate over the keys and setup the new object\n\n var keys = Object.keys(tempObj);\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n var newObj = parseKeys(key, tempObj[key], options, typeof str === 'string');\n obj = utils.merge(obj, newObj, options);\n }\n\n if (options.allowSparse === true) {\n return obj;\n }\n\n return utils.compact(obj);\n};\n","'use strict';\n\nvar stringify = require('./stringify');\nvar parse = require('./parse');\nvar formats = require('./formats');\n\nmodule.exports = {\n formats: formats,\n parse: parse,\n stringify: stringify\n};\n","/**\n * @param {Record<string, unknown>} object Source object to pick properties from.\n * @param {string[]} keys Keys to pick from the source object.\n * @returns {Record<string, unknown>} A new object containing only the picked keys.\n * @author Auth0 https://github.com/auth0/auth0.js\n * @license MIT\n */\nexport function pick(object, keys) {\n return keys.reduce((prev, key) => {\n if (object[key]) {\n prev[key] = object[key];\n }\n return prev;\n }, {});\n}\n","import errors from '../helpers/errors';\nimport qs from 'qs';\nimport {pick} from '../helpers/object';\n\nexport default class Redirect {\n constructor(sdk, options) {\n this.options = options;\n this.sdk = sdk;\n }\n\n /**\n * run default authorization flow\n */\n authorize() {\n const url = this.sdk.authorizeURL(this.options);\n window.location = url;\n }\n\n /**\n * this function checks if the current origin was redirected to with authorize data\n * @returns {Promise} promise that resolves to authorize data or error\n */\n authorizeData() {\n return new Promise((resolve, reject) => {\n let authorizeData = {};\n let requiredFields = [];\n\n switch (this.options.response_type) {\n case 'token':\n requiredFields = ['access_token', 'expires_in', 'token_type'];\n\n authorizeData = qs.parse(window.location.hash.substring(1));\n authorizeData = pick(authorizeData, [\n 'access_token',\n 'expires_in',\n 'state',\n 'scope',\n 'token_type',\n ]);\n\n if (\n !requiredFields.every((field) =>\n Object.prototype.hasOwnProperty.call(authorizeData, field)\n )\n ) {\n reject(errors.extend({identity_exception: 'unauthorized'}));\n return;\n }\n\n authorizeData.expires_in = parseInt(authorizeData.expires_in);\n break;\n\n case 'code':\n requiredFields = ['code'];\n\n authorizeData = qs.parse(window.location.search, {\n ignoreQueryPrefix: true,\n });\n authorizeData = pick(authorizeData, ['state', 'code']);\n\n if (\n !requiredFields.every((field) =>\n Object.prototype.hasOwnProperty.call(authorizeData, field)\n )\n ) {\n reject(errors.extend({identity_exception: 'unauthorized'}));\n return;\n }\n }\n\n this.sdk.redirectUriParamsPersister.retrieve(authorizeData.state);\n\n resolve(authorizeData);\n });\n }\n}\n","import Listener from '../helpers/listener';\n\n/**\n * Class for authentication using Iframe\n */\nexport default class Iframe {\n constructor(sdk, options) {\n this.options = options;\n this.sdk = sdk;\n }\n\n /**\n * run iframe authorization flow, not recommended because of ITP 2.0\n * @returns {Promise} promise that resolves to authorize data or error\n */\n authorize() {\n return new Promise((resolve, reject) => {\n const url = this.sdk.authorizeURL(this.options, 'button');\n\n const listener = new Listener(this.options);\n\n const cb = (err, authorizeData) => {\n this.removeIframe();\n if (err) {\n return reject(err);\n }\n resolve(authorizeData);\n };\n\n listener.start(5000, cb);\n\n const iframe = document.createElement('iframe');\n iframe.setAttribute('src', url);\n iframe.setAttribute('id', this.iframeID());\n iframe.style.width = '1px';\n iframe.style.height = '1px';\n iframe.style.position = 'fixed';\n iframe.style.top = '0';\n iframe.style.right = '0';\n iframe.style.opacity = '0';\n iframe.style.visibility = 'none';\n\n document.body.appendChild(iframe);\n });\n }\n\n iframeID() {\n return this.options.client_id + this.options.response_type;\n }\n\n removeIframe() {\n const ref = document.getElementById(this.iframeID());\n if (ref && ref.parentNode) {\n ref.parentNode.removeChild(ref);\n }\n }\n}\n","/**\n * @file\n * @author Auth0 https://github.com/auth0/auth0.js\n * @license MIT\n */\n\n/**\n * A dummy storage mechanism that does not persist data.\n * It provides methods to get, set, and remove items, but they do not perform any actual storage operations.\n * This can be used as a fallback when no other storage mechanism is available.\n */\nfunction DummyStorage() {}\n\nDummyStorage.prototype.getItem = function () {\n return null;\n};\n\nDummyStorage.prototype.removeItem = function () {};\n\nDummyStorage.prototype.setItem = function () {};\n\nexport default DummyStorage;\n","/*! js-cookie v3.0.5 | MIT */\n/* eslint-disable no-var */\nfunction assign (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n target[key] = source[key];\n }\n }\n return target\n}\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\nvar defaultConverter = {\n read: function (value) {\n if (value[0] === '\"') {\n value = value.slice(1, -1);\n }\n return value.replace(/(%[\\dA-F]{2})+/gi, decodeURIComponent)\n },\n write: function (value) {\n return encodeURIComponent(value).replace(\n /%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,\n decodeURIComponent\n )\n }\n};\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\n\nfunction init (converter, defaultAttributes) {\n function set (name, value, attributes) {\n if (typeof document === 'undefined') {\n return\n }\n\n attributes = assign({}, defaultAttributes, attributes);\n\n if (typeof attributes.expires === 'number') {\n attributes.expires = new Date(Date.now() + attributes.expires * 864e5);\n }\n if (attributes.expires) {\n attributes.expires = attributes.expires.toUTCString();\n }\n\n name = encodeURIComponent(name)\n .replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent)\n .replace(/[()]/g, escape);\n\n var stringifiedAttributes = '';\n for (var attributeName in attributes) {\n if (!attributes[attributeName]) {\n continue\n }\n\n stringifiedAttributes += '; ' + attributeName;\n\n if (attributes[attributeName] === true) {\n continue\n }\n\n // Considers RFC 6265 section 5.2:\n // ...\n // 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n // character:\n // Consume the characters of the unparsed-attributes up to,\n // not including, the first %x3B (\";\") character.\n // ...\n stringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n }\n\n return (document.cookie =\n name + '=' + converter.write(value, name) + stringifiedAttributes)\n }\n\n function get (name) {\n if (typeof document === 'undefined' || (arguments.length && !name)) {\n return\n }\n\n // To prevent the for loop in the first place assign an empty array\n // in case there are no cookies at all.\n var cookies = document.cookie ? document.cookie.split('; ') : [];\n var jar = {};\n for (var i = 0; i < cookies.length; i++) {\n var parts = cookies[i].split('=');\n var value = parts.slice(1).join('=');\n\n try {\n var found = decodeURIComponent(parts[0]);\n jar[found] = converter.read(value, found);\n\n if (name === found) {\n break\n }\n } catch (e) {}\n }\n\n return name ? jar[name] : jar\n }\n\n return Object.create(\n {\n set,\n get,\n remove: function (name, attributes) {\n set(\n name,\n '',\n assign({}, attributes, {\n expires: -1\n })\n );\n },\n withAttributes: function (attributes) {\n return init(this.converter, assign({}, this.attributes, attributes))\n },\n withConverter: function (converter) {\n return init(assign({}, this.converter, converter), this.attributes)\n }\n },\n {\n attributes: { value: Object.freeze(defaultAttributes) },\n converter: { value: Object.freeze(converter) }\n }\n )\n}\n\nvar api = init(defaultConverter, { path: '/' });\n/* eslint-enable no-var */\n\nexport { api as default };\n","/**\n * @file\n * @author Auth0 https://github.com/auth0/auth0.js\n * @license MIT\n */\n\nimport Cookie from 'js-cookie';\n\n/**\n * A storage mechanism that uses cookies to store data. It provides methods to get, set, and remove items from cookies.\n */\nfunction CookieStorage() {}\n\nCookieStorage.prototype.getItem = function (key) {\n return Cookie.get(key);\n};\n\nCookieStorage.prototype.removeItem = function (key) {\n Cookie.remove(key);\n};\n\nCookieStorage.prototype.setItem = function (key, value, options) {\n const params = Object.assign(\n {\n expires: 1, // 1 day\n\n // After august 2020 chrome changed iframe cookie policy and without\n // those parameters cookies wont we stored properly if document is inside iframe.\n SameSite: 'none',\n Secure: true,\n },\n options\n );\n Cookie.set(key, value, params);\n};\n\nexport default CookieStorage;\n","/**\n * @file\n * @author Auth0 https://github.com/auth0/auth0.js\n * @license MIT\n */\n\nimport DummyStorage from './dummy';\nimport CookieStorage from './cookie';\n\n/**\n * A handler that manages the underlying storage mechanism, providing failover capabilities between localStorage, CookieStorage, and DummyStorage.\n * It attempts to use localStorage by default, but falls back to CookieStorage if localStorage is unavailable or throws an error.\n * If both localStorage and CookieStorage fail, it falls back to DummyStorage, which does not persist data.\n * The handler provides methods to get, set, and remove items from the storage, with automatic failover in case of errors.\n * @param {object} options Storage configuration options passed to the underlying StorageHandler.\n */\nfunction StorageHandler(options) {\n this.storage = new CookieStorage();\n if (options.force_local_storage !== true) {\n return;\n }\n try {\n // some browsers throw an error when trying to access localStorage\n // when localStorage is disabled.\n const localStorage = window.localStorage;\n if (localStorage) {\n this.storage = localStorage;\n }\n } catch (e) {\n console.warn(e);\n console.warn('Cant use localStorage. Using CookieStorage instead.');\n }\n}\n\nStorageHandler.prototype.failover = function () {\n if (this.storage instanceof DummyStorage) {\n console.warn('DummyStorage: ignore failover');\n return;\n } else if (this.storage instanceof CookieStorage) {\n console.warn('CookieStorage: failing over DummyStorage');\n this.storage = new DummyStorage();\n } else {\n console.warn('LocalStorage: failing over CookieStorage');\n this.storage = new CookieStorage();\n }\n};\n\nStorageHandler.prototype.getItem = function (key) {\n try {\n return this.storage.getItem(key);\n } catch (e) {\n console.warn(e);\n this.failover();\n return this.getItem(key);\n }\n};\n\nStorageHandler.prototype.removeItem = function (key) {\n try {\n return this.storage.removeItem(key);\n } catch (e) {\n console.warn(e);\n this.failover();\n return this.removeItem(key);\n }\n};\n\nStorageHandler.prototype.setItem = function (key, value, options) {\n try {\n return this.storage.setItem(key, value, options);\n } catch (e) {\n console.warn(e);\n this.failover();\n return this.setItem(key, value, options);\n }\n};\n\nexport default StorageHandler;\n","/**\n * @file\n * @author Auth0 https://github.com/auth0/auth0.js\n * @license MIT\n */\n\nimport StorageHandler from './storage/handler';\n\n/**\n * A wrapper around the underlying storage mechanism that handles JSON serialization and deserialization.\n * @param {object} options Storage configuration options passed to the underlying StorageHandler.\n */\nfunction Storage(options) {\n this.handler = new StorageHandler(options);\n}\n\nStorage.prototype.getItem = function (key) {\n const value = this.handler.getItem(key);\n try {\n return JSON.parse(value);\n } catch {\n return value;\n }\n};\n\nStorage.prototype.removeItem = function (key) {\n return this.handler.removeItem(key);\n};\n\nStorage.prototype.setItem = function (key, value, options) {\n const json = JSON.stringify(value);\n return this.handler.setItem(key, json, options);\n};\n\nexport default Storage;\n","/* internal file */\nimport Storage from '../helpers/storage';\n\nexport default class Transaction {\n constructor(options) {\n this.options = options.transaction;\n this.storage = new Storage(this.options);\n }\n\n generate(params) {\n // 30 minutes\n this.storage.setItem(\n this.options.namespace + params.state,\n {state: params.state, code_verifier: params.code_verifier},\n {expires: 1 / 48}\n );\n }\n\n get(state) {\n const transactionData = this.storage.getItem(\n this.options.namespace + state\n );\n this.clear(state);\n return transactionData || {};\n }\n\n clear(state) {\n this.storage.removeItem(this.options.namespace + state);\n }\n}\n","/**\n *\n * @file Javascript cryptography implementation.\n * Crush to remove comments, shorten variable names and\n * generally reduce transmission size.\n * @author Emily Stark\n * @author Mike Hamburg\n * @author Dan Boneh\n */\n\n'use strict';\n/*jslint indent: 2, bitwise: false, nomen: false, plusplus: false, white: false, regexp: false */\n/*global document, window, escape, unescape, module, require, Uint32Array */\n\n/**\n * The Stanford Javascript Crypto Library, top-level namespace.\n * @namespace\n */\nvar sjcl = {\n /**\n * Symmetric ciphers.\n * @namespace\n */\n cipher: {},\n\n /**\n * Hash functions. Right now only SHA256 is implemented.\n * @namespace\n */\n hash: {},\n\n /**\n * Key exchange functions. Right now only SRP is implemented.\n * @namespace\n */\n keyexchange: {},\n\n /**\n * Cipher modes of operation.\n * @namespace\n */\n mode: {},\n\n /**\n * Miscellaneous. HMAC and PBKDF2.\n * @namespace\n */\n misc: {},\n\n /**\n * Bit array encoders and decoders.\n * @namespace\n * @description\n * The members of this namespace are functions which translate between\n * SJCL's bitArrays and other objects (usually strings). Because it\n * isn't always clear which direction is encoding and which is decoding,\n * the method names are \"fromBits\" and \"toBits\".\n */\n codec: {},\n\n /**\n * Exceptions.\n * @namespace\n */\n exception: {\n /**\n * Ciphertext is corrupt.\n * @param {string} message Error message describing the corruption.\n */\n corrupt: function (message) {\n this.toString = function () {\n return 'CORRUPT: ' + this.message;\n };\n this.message = message;\n },\n\n /**\n * Invalid parameter.\n * @param {string} message Error message describing the invalid parameter.\n */\n invalid: function (message) {\n this.toString = function () {\n return 'INVALID: ' + this.message;\n };\n this.message = message;\n },\n\n /**\n * Bug or missing feature in SJCL.\n * @param {string} message Error message describing the bug or missing feature.\n */\n bug: function (message) {\n this.toString = function () {\n return 'BUG: ' + this.message;\n };\n this.message = message;\n },\n\n /**\n * Something isn't ready.\n * @param {string} message Error message describing what is not ready.\n */\n notReady: function (message) {\n this.toString = function () {\n return 'NOT READY: ' + this.message;\n };\n this.message = message;\n },\n },\n};\n\n/**\n *\n * @file Arrays of bits, encoded as arrays of Numbers.\n * @author Emily Stark\n * @author Mike Hamburg\n * @author Dan Boneh\n */\n\n/**\n * Arrays of bits, encoded as arrays of Numbers.\n * @namespace\n * @description\n * <p>\n * These objects are the currency accepted by SJCL's crypto functions.\n * </p>\n *\n * <p>\n * Most of our crypto primitives operate on arrays of 4-byte words internally,\n * but many of them can take arguments that are not a multiple of 4 bytes.\n * This library encodes arrays of bits (whose size need not be a multiple of 8\n * bits) as arrays of 32-bit words. The bits are packed, big-endian, into an\n * array of words, 32 bits at a time. Since the words are double-precision\n * floating point numbers, they fit some extra data. We use this (in a private,\n * possibly-changing manner) to encode the number of bits actually present\n * in the last word of the array.\n * </p>\n *\n * <p>\n * Because bitwise ops clear this out-of-band data, these arrays can be passed\n * to ciphers like AES which want arrays of words.\n * </p>\n */\n/**\n * @typedef {number[]} bitArray\n */\nsjcl.bitArray = {\n /**\n * Array slices in units of bits.\n * @param {bitArray} a The array to slice.\n * @param {number} bstart The offset to the start of the slice, in bits.\n * @param {number} [bend] The offset to the end of the slice, in bits. If this is undefined,\n * slice until the end of the array.\n * @returns {bitArray} The requested slice.\n */\n bitSlice: function (a, bstart, bend) {\n a = sjcl.bitArray\n ._shiftRight(a.slice(bstart / 32), 32 - (bstart & 31))\n .slice(1);\n return bend === undefined ? a : sjcl.bitArray.clamp(a, bend - bstart);\n },\n\n /**\n * Extract a number packed into a bit array.\n * @param {bitArray} a The array to slice.\n * @param {number} bstart The offset to the start of the slice, in bits.\n * @param {number} blength The length of the number to extract.\n * @returns {number} The requested slice.\n */\n extract: function (a, bstart, blength) {\n // FIXME: this Math.floor is not necessary at all, but for some reason\n // seems to suppress a bug in the Chromium JIT.\n var x,\n sh = Math.floor((-bstart - blength) & 31);\n if (((bstart + blength - 1) ^ bstart) & -32) {\n // it crosses a boundary\n x =\n (a[(bstart / 32) | 0] << (32 - sh)) ^ (a[(bstart / 32 + 1) | 0] >>> sh);\n } else {\n // within a single word\n x = a[(bstart / 32) | 0] >>> sh;\n }\n return x & ((1 << blength) - 1);\n },\n\n /**\n * Concatenate two bit arrays.\n * @param {bitArray} a1 The first array.\n * @param {bitArray} a2 The second array.\n * @returns {bitArray} The concatenation of a1 and a2.\n */\n concat: function (a1, a2) {\n if (a1.length === 0 || a2.length === 0) {\n return a1.concat(a2);\n }\n\n var last = a1[a1.length - 1],\n shift = sjcl.bitArray.getPartial(last);\n if (shift === 32) {\n return a1.concat(a2);\n } else {\n return sjcl.bitArray._shiftRight(\n a2,\n shift,\n last | 0,\n a1.slice(0, a1.length - 1)\n );\n }\n },\n\n /**\n * Find the length of an array of bits.\n * @param {bitArray} a The array.\n * @returns {number} The length of a, in bits.\n */\n bitLength: function (a) {\n var l = a.length,\n x;\n if (l === 0) {\n return 0;\n }\n x = a[l - 1];\n return (l - 1) * 32 + sjcl.bitArray.getPartial(x);\n },\n\n /**\n * Truncate an array.\n * @param {bitArray} a The array.\n * @param {number} len The length to truncate to, in bits.\n * @returns {bitArray} A new array, truncated to len bits.\n */\n clamp: function (a, len) {\n if (a.length * 32 < len) {\n return a;\n }\n a = a.slice(0, Math.ceil(len / 32));\n var l = a.length;\n len = len & 31;\n if (l > 0 && len) {\n a[l - 1] = sjcl.bitArray.partial(\n len,\n a[l - 1] & (0x80000000 >> (len - 1)),\n 1\n );\n }\n return a;\n },\n\n /**\n * Make a partial word for a bit array.\n * @param {number} len The number of bits in the word.\n * @param {number} x The bits.\n * @param {number} [_end] Pass 1 if x has already been shifted to the high side.\n * @returns {number} The partial word.\n */\n partial: function (len, x, _end) {\n if (len === 32) {\n return x;\n }\n return (_end ? x | 0 : x << (32 - len)) + len * 0x10000000000;\n },\n\n /**\n * Get the number of bits used by a partial word.\n * @param {number} x The partial word.\n * @returns {number} The number of bits used by the partial word.\n */\n getPartial: function (x) {\n return Math.round(x / 0x10000000000) || 32;\n },\n\n /**\n * Compare two arrays for equality in a predictable amount of time.\n * @param {bitArray} a The first array.\n * @param {bitArray} b The second array.\n * @returns {boolean} true if a == b; false otherwise.\n */\n equal: function (a, b) {\n if (sjcl.bitArray.bitLength(a) !== sjcl.bitArray.bitLength(b)) {\n return false;\n }\n var x = 0,\n i;\n for (i = 0; i < a.length; i++) {\n x |= a[i] ^ b[i];\n }\n return x === 0;\n },\n\n /**\n * Shift an array right.\n * @param {bitArray} a The array to shift.\n * @param {number} shift The number of bits to shift.\n * @param {number} [carry] A word to carry in (defaults to 0).\n * @param {bitArray} [out] An array to prepend to the output (defaults to []).\n * @returns {bitArray} The shifted bitArray.\n * @private\n */\n _shiftRight: function (a, shift, carry, out) {\n var i,\n last2 = 0,\n shift2;\n if (out === undefined) {\n out = [];\n }\n\n for (; shift >= 32; shift -= 32) {\n out.push(carry);\n carry = 0;\n }\n if (shift === 0) {\n return out.concat(a);\n }\n\n for (i = 0; i < a.length; i++) {\n out.push(carry | (a[i] >>> shift));\n carry = a[i] << (32 - shift);\n }\n last2 = a.length ? a[a.length - 1] : 0;\n shift2 = sjcl.bitArray.getPartial(last2);\n out.push(\n sjcl.bitArray.partial(\n (shift + shift2) & 31,\n shift + shift2 > 32 ? carry : out.pop(),\n 1\n )\n );\n return out;\n },\n\n /**\n * XOR a block of 4 words together.\n * @param {bitArray} x The first 4-word block.\n * @param {bitArray} y The second 4-word block.\n * @returns {bitArray} The XOR result as a 4-word block.\n * @private\n */\n _xor4: function (x, y) {\n return [x[0] ^ y[0], x[1] ^ y[1], x[2] ^ y[2], x[3] ^ y[3]];\n },\n\n /**\n * byteswap a word array inplace.\n * (does not handle partial words)\n * @param {sjcl.bitArray} a word array\n * @returns {sjcl.bitArray} byteswapped array\n */\n byteswapM: function (a) {\n var i,\n v,\n m = 0xff00;\n for (i = 0; i < a.length; ++i) {\n v = a[i];\n a[i] = (v >>> 24) | ((v >>> 8) & m) | ((v & m) << 8) | (v << 24);\n }\n return a;\n },\n};\n/**\n *\n * @file Bit array codec implementations.\n * @author Emily Stark\n * @author Mike Hamburg\n * @author Dan Boneh \n */\n\n/**\n * UTF-8 strings\n * @namespace\n */\nsjcl.codec.utf8String = {\n /**\n * Convert from a bitArray to a UTF-8 string.\n * @param {bitArray} arr The input bitArray to decode.\n * @returns {string} The decoded UTF-8 string.\n */\n fromBits: function (arr) {\n var out = '',\n bl = sjcl.bitArray.bitLength(arr),\n i,\n tmp;\n for (i = 0; i < bl / 8; i++) {\n if ((i & 3) === 0) {\n tmp = arr[i / 4];\n }\n out += String.fromCharCode(((tmp >>> 8) >>> 8) >>> 8);\n tmp <<= 8;\n }\n return decodeURIComponent(escape(out));\n },\n\n /**\n * Convert from a UTF-8 string to a bitArray.\n * @param {string} str UTF-8 string to encode.\n * @returns {bitArray} The encoded bitArray.\n */\n toBits: function (str) {\n str = unescape(encodeURIComponent(str));\n var out = [],\n i,\n tmp = 0;\n for (i = 0; i < str.length; i++) {\n tmp = (tmp << 8) | str.charCodeAt(i);\n if ((i & 3) === 3) {\n out.push(tmp);\n tmp = 0;\n }\n }\n if (i & 3) {\n out.push(sjcl.bitArray.partial(8 * (i & 3), tmp));\n }\n return out;\n },\n};\n/**\n *\n * @file Javascript SHA-256 implementation.\n * An older version of this implementation is available in the public\n * domain, but this one is (c) Emily Stark, Mike Hamburg, Dan Boneh,\n * Stanford University 2008-2010 and BSD-licensed for liability\n * reasons.\n * Special thanks to Aldo Cortesi for pointing out several bugs in\n * this code.\n * @author Emily Stark\n * @author Mike Hamburg\n * @author Dan Boneh\n */\n\n/**\n * Context for a SHA-256 operation in progress.\n * @param {sjcl.hash.sha256} [hash] Optional hash to initialize from.\n */\nsjcl.hash.sha256 = function (hash) {\n if (!this._key[0]) {\n this._precompute();\n }\n if (hash) {\n this._h = hash._h.slice(0);\n this._buffer = hash._buffer.slice(0);\n this._length = hash._length;\n } else {\n this.reset();\n }\n};\n\n/**\n * Hash a string or an array of words.\n * @static\n * @param {bitArray | string} data the data to hash.\n * @returns {bitArray} The hash value, an array of 16 big-endian words.\n */\nsjcl.hash.sha256.hash = function (data) {\n return new sjcl.hash.sha256().update(data).finalize();\n};\n\nsjcl.hash.sha256.prototype = {\n /**\n * The hash's block size, in bits.\n * @constant\n */\n blockSize: 512,\n\n /**\n * Reset the hash state.\n * @returns {sjcl.hash.sha256} this\n */\n reset: function () {\n this._h = this._init.slice(0);\n this._buffer = [];\n this._length = 0;\n return this;\n },\n\n /**\n * Input several words to the hash.\n * @param {bitArray | string} data the data to hash.\n * @returns {sjcl.hash.sha256} this\n */\n update: function (data) {\n if (typeof data === 'string') {\n data = sjcl.codec.utf8String.toBits(data);\n }\n var i,\n b = (this._buffer = sjcl.bitArray.concat(this._buffer, data)),\n ol = this._length,\n nl = (this._length = ol + sjcl.bitArray.bitLength(data));\n if (nl > 9007199254740991) {\n throw new sjcl.exception.invalid('Cannot hash more than 2^53 - 1 bits');\n }\n\n if (typeof Uint32Array !== 'undefined') {\n var c = new Uint32Array(b);\n var j = 0;\n for (i = 512 + ol - ((512 + ol) & 511); i <= nl; i += 512) {\n this._block(c.subarray(16 * j, 16 * (j + 1)));\n j += 1;\n }\n b.splice(0, 16 * j);\n } else {\n for (i = 512 + ol - ((512 + ol) & 511); i <= nl; i += 512) {\n this._block(b.splice(0, 16));\n }\n }\n return this;\n },\n\n /**\n * Complete hashing and output the hash value.\n * @returns {bitArray} The hash value, an array of 8 big-endian words.\n */\n finalize: function () {\n var i,\n b = this._buffer,\n h = this._h;\n\n // Round out and push the buffer\n b = sjcl.bitArray.concat(b, [sjcl.bitArray.partial(1, 1)]);\n\n // Round out the buffer to a multiple of 16 words, less the 2 length words.\n for (i = b.length + 2; i & 15; i++) {\n b.push(0);\n }\n\n // append the length\n b.push(Math.floor(this._length / 0x100000000));\n b.push(this._length | 0);\n\n while (b.length) {\n this._block(b.splice(0, 16));\n }\n\n this.reset();\n return h;\n },\n\n /**\n * The SHA-256 initialization vector, to be precomputed.\n * @private\n */\n _init: [],\n /*\n _init:[0x6a09e667,0xbb67ae85,0x3c6ef372,0xa54ff53a,0x510e527f,0x9b05688c,0x1f83d9ab,0x5be0cd19],\n */\n\n /**\n * The SHA-256 hash key, to be precomputed.\n * @private\n */\n _key: [],\n /*\n _key:\n [0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,\n 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,\n 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,\n 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,\n 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,\n 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,\n 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,\n 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2],\n */\n\n /**\n * Function to precompute _init and _key.\n * @private\n */\n _precompute: function () {\n var i = 0,\n prime = 2,\n factor,\n isPrime;\n\n /**\n * Get the fractional part of x scaled to a 32-bit word.\n * @param {number} x Input number.\n * @returns {number} A signed 32-bit integer representing the scaled fractional part.\n */\n function frac(x) {\n return ((x - Math.floor(x)) * 0x100000000) | 0;\n }\n\n for (; i < 64; prime++) {\n isPrime = true;\n for (factor = 2; factor * factor <= prime; factor++) {\n if (prime % factor === 0) {\n isPrime = false;\n break;\n }\n }\n if (isPrime) {\n if (i < 8) {\n this._init[i] = frac(Math.pow(prime, 1 / 2));\n }\n this._key[i] = frac(Math.pow(prime, 1 / 3));\n i++;\n }\n }\n },\n\n /**\n * Perform one cycle of SHA-256.\n * @param {Uint32Array|bitArray} w one block of words.\n * @private\n */\n _block: function (w) {\n var i,\n tmp,\n a,\n b,\n h = this._h,\n k = this._key,\n h0 = h[0],\n h1 = h[1],\n h2 = h[2],\n h3 = h[3],\n h4 = h[4],\n h5 = h[5],\n h6 = h[6],\n h7 = h[7];\n\n /* Rationale for placement of |0 :\n * If a value can overflow is original 32 bits by a factor of more than a few\n * million (2^23 ish), there is a possibility that it might overflow the\n * 53-bit mantissa and lose precision.\n *\n * To avoid this, we clamp back to 32 bits by |'ing with 0 on any value that\n * propagates around the loop, and on the hash state h[]. I don't believe\n * that the clamps on h4 and on h0 are strictly necessary, but it's close\n * (for h4 anyway), and better safe than sorry.\n *\n * The clamps on h[] are necessary for the output to be correct even in the\n * common case and for short inputs.\n */\n for (i = 0; i < 64; i++) {\n // load up the input word for this round\n if (i < 16) {\n tmp = w[i];\n } else {\n a = w[(i + 1) & 15];\n b = w[(i + 14) & 15];\n tmp = w[i & 15] =\n (((a >>> 7) ^ (a >>> 18) ^ (a >>> 3) ^ (a << 25) ^ (a << 14)) +\n ((b >>> 17) ^ (b >>> 19) ^ (b >>> 10) ^ (b << 15) ^ (b << 13)) +\n w[i & 15] +\n w[(i + 9) & 15]) |\n 0;\n }\n\n tmp =\n tmp +\n h7 +\n ((h4 >>> 6) ^\n (h4 >>> 11) ^\n (h4 >>> 25) ^\n (h4 << 26) ^\n (h4 << 21) ^\n (h4 << 7)) +\n (h6 ^ (h4 & (h5 ^ h6))) +\n k[i]; // | 0;\n\n // shift register\n h7 = h6;\n h6 = h5;\n h5 = h4;\n h4 = (h3 + tmp) | 0;\n h3 = h2;\n h2 = h1;\n h1 = h0;\n\n h0 =\n (tmp +\n ((h1 & h2) ^ (h3 & (h1 ^ h2))) +\n ((h1 >>> 2) ^\n (h1 >>> 13) ^\n (h1 >>> 22) ^\n (h1 << 30) ^\n (h1 << 19) ^\n (h1 << 10))) |\n 0;\n }\n\n h[0] = (h[0] + h0) | 0;\n h[1] = (h[1] + h1) | 0;\n h[2] = (h[2] + h2) | 0;\n h[3] = (h[3] + h3) | 0;\n h[4] = (h[4] + h4) | 0;\n h[5] = (h[5] + h5) | 0;\n h[6] = (h[6] + h6) | 0;\n h[7] = (h[7] + h7) | 0;\n },\n};\n\nexport default sjcl;\n","/**\n * Encode a string as base64url (RFC 4648 §5).\n * @param {string} str - The string to encode.\n * @returns {string} The base64url-encoded string.\n */\nfunction base64URLEncode(str) {\n return btoa(str).replace(/\\+/g, '-').replace(/\\//g, '_').replace(/=+$/, '');\n}\n\nexport default {\n base64URLEncode: base64URLEncode,\n};\n","/**\n * @file\n * @author Auth0 https://github.com/auth0/auth0.js\n * @license MIT\n */\n\n/* internal file */\nimport Storage from './storage';\n\nexport default class Persister {\n constructor(options, type) {\n this.options = {\n namespace: options.transaction.namespace + type,\n };\n this.storage = new Storage(this.options);\n }\n\n set(state, data) {\n this.storage.setItem(this.options.namespace + state, data, {\n expires: 1 / 48,\n });\n }\n\n get(state) {\n const data = this.storage.getItem(this.options.namespace + state);\n this.clear(state);\n return data || {};\n }\n\n clear(state) {\n this.storage.removeItem(this.options.namespace + state);\n }\n}\n","/**\n * @file\n * @author Auth0 https://github.com/auth0/auth0.js\n * @license MIT\n */\n\nimport qs from 'qs';\n\nimport Persister from '../persister';\n\nexport default class RedirectUriParamsPersister {\n constructor(options) {\n this.persister = new Persister(options, 'redirect_uri_params');\n }\n\n /**\n * Clears query and hash params from redirect_uri and persists them in storage\n * @param {object} params Params used to persist and normalize the redirect URI.\n * @param {string} params.redirect_uri The redirect URI containing query and hash params to persist.\n */\n persist(params) {\n const redirectUrl = new URL(params.redirect_uri);\n const queryParams = qs.parse(redirectUrl.search.substring(1));\n const hashParams = qs.parse(redirectUrl.hash.substring(1));\n\n this.persister.set(params.state, {\n query_params: queryParams,\n hash_params: hashParams,\n });\n\n params.redirect_uri = redirectUrl.origin + redirectUrl.pathname;\n }\n\n /**\n * Retrieves persisted query and hash params from storage and updates current location accordingly.\n * Params returned by global accounts overrides persisted params in case of duplications.\n * @param {object} state Storage key used to retrieve persisted redirect URI params.\n */\n retrieve(state) {\n const redirectUriParams = this.persister.get(state, false);\n\n if (!redirectUriParams) {\n return;\n }\n\n const queryParams = {\n ...(redirectUriParams.query_params ?? {}),\n ...qs.parse(window.location.search.substring(1)),\n };\n\n const hashParams = {\n ...(redirectUriParams.hash_params ?? {}),\n ...qs.parse(window.location.hash.substring(1)),\n };\n\n let uri = window.location.origin + window.location.pathname;\n\n if (queryParams) {\n uri += '?' + qs.stringify(queryParams);\n }\n\n if (hashParams) {\n uri += '#' + qs.stringify(hashParams);\n }\n\n window.history.replaceState({}, document.title, uri);\n }\n}\n","/**\n * @file\n * @author Auth0 https://github.com/auth0/auth0.js\n * @license MIT\n */\n\n/**\n * Generates a random string of the specified length using characters from a defined set.\n * @param {number} length The length of the random string to generate.\n * @returns {string} The generated random string.\n */\nfunction string(length) {\n const charset =\n '0123456789ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvwxyz-._~';\n const charsetLength = charset.length;\n const cryptoObj = window.crypto || window.msCrypto;\n const hasCrypto =\n cryptoObj && typeof cryptoObj.getRandomValues === 'function';\n\n if (!hasCrypto) {\n return generateWithMathRandom(length, charset, charsetLength);\n }\n\n const maxByte = Math.floor(256 / charsetLength) * charsetLength;\n if (maxByte === 0) {\n return generateWithMathRandom(length, charset, charsetLength);\n }\n\n const result = [];\n\n while (result.length < length) {\n const remaining = length - result.length;\n const buffer = new Uint8Array(remaining);\n cryptoObj.getRandomValues(buffer);\n\n for (let i = 0; i < buffer.length && result.length < length; i++) {\n const value = buffer[i];\n // Skip values that would cause modulo bias.\n if (value >= maxByte) {\n continue;\n }\n result.push(charset.charAt(value % charsetLength));\n }\n }\n\n return result.join('');\n}\n\n/**\n * Generates a random string using `Math.random()` as a fallback when the Web Crypto API is unavailable.\n * @param {number} length The length of the random string to generate.\n * @param {string} charset The set of characters to choose from.\n * @param {number} charsetLength The length of the provided character set.\n * @returns {string} The generated random string.\n */\nfunction generateWithMathRandom(length, charset, charsetLength) {\n let output = '';\n for (let i = 0; i < length; i++) {\n const index = Math.floor(Math.random() * charsetLength);\n output += charset.charAt(index);\n }\n return output;\n}\n\nexport default {\n string: string,\n};\n","import Popup from './authentication/popup';\nimport Redirect from './authentication/redirect';\nimport Iframe from './authentication/iframe';\nimport Transaction from './authentication/transaction';\nimport qs from 'qs';\nimport sjcl from './vendor/sjcl';\nimport {pick} from './helpers/object';\nimport encoding from './helpers/encoding';\nimport RedirectUriParamsPersister from './helpers/persisters/redirectUriParams';\n\nimport random from './helpers/random';\n/**\n * Accounts SDK main class\n */\nexport default class AccountsSDK {\n /**\n * Accounts SDK constructor\n * @class\n * @param {object} options configuration options for AccountsSDK\n * @param {string} options.client_id registered client ID\n * @param {string} options.organization_id organization ID\n * @param {string} [options.prompt] use `consent` to force consent prompt in popup and redirect flows\n * @param {string} [options.response_type] OAuth response type, use `token` or `code` (default: `token`)\n * @param {string} [options.popup_flow] `auto` - close popup when not required, `manual` - always show popup (default: `auto`)\n * @param {string} [options.state] OAuth state param (default: empty string)\n * @param {boolean} [options.verify_state] check if state matches after redirect (default: `true`)\n * @param {string} [options.scope] request exact scopes - must be configured for a given client id (default: `null`)\n * @param {string} [options.redirect_uri] OAuth redirect uri - default current location (default: empty string)\n * @param {string} [options.email_hint] fill in email in forms (default: `null`)\n * @param {string} [options.server_url] authorization server url (default: `https://accounts.livechat.com`)\n * @param {string} [options.path] option to provide a path when loading accounts, for example '/signup' (default: empty string)\n * @param {object} [options.tracking] tracking querystring params\n * @param {object} [options.transaction] options for transaction manager\n * @param {string} [options.transaction.namespace] transaction keys prefix (default: `com.livechat.accounts`)\n * @param {number} [options.transaction.key_length] transaction random state length (default: `32`)\n * @param {boolean} [options.transaction.force_local_storage] try to use local storage instead of cookies (default: `false`)\n * @param {object} [options.pkce] PKCE configuration\n * @param {boolean} [options.pkce.enabled] Oauth 2.1 PKCE extension enabled (default: `true`)\n * @param {string} [options.pkce.code_verifier] override auto generated code verifier\n * @param {number} [options.pkce.code_verifier_length] code verifier length, between 43 and 128 characters\n * https://tools.ietf.org/html/rfc7636#section-4.1 (default: `128`)\n * @param {string} [options.pkce.code_challange_method] code challange method, use `S256` or `plain` (default: `S256`)\n */\n constructor(options = {}) {\n if (options.client_id == null) {\n throw new Error('client id not provided');\n }\n\n const defaultOptions = {\n organization_id: '',\n prompt: '',\n response_type: 'token',\n popup_flow: 'auto',\n state: '',\n verify_state: true,\n verify_callback: true,\n scope: null,\n redirect_uri: '',\n email_hint: null,\n server_url: 'https://accounts.livechat.com',\n tracking: {\n utm_source: 'accounts.livechat.com',\n utm_medium: 'accounts-sdk',\n },\n transaction: {\n namespace: 'com.livechat.accounts',\n key_length: 32,\n force_local_storage: false,\n },\n pkce: {\n enabled: true,\n code_verifier_length: 128,\n code_challange_method: 'S256',\n },\n };\n\n this.options = Object.assign({}, defaultOptions, options);\n this.transaction = new Transaction(this.options);\n this.redirectUriParamsPersister = new RedirectUriParamsPersister(\n this.options\n );\n }\n\n /**\n * use iframe for authorization\n * @param {object} options for overriding defaults\n * @returns {Iframe} instance of an iframe flow\n */\n iframe(options = {}) {\n const localOptions = Object.assign({}, this.options, options);\n return new Iframe(this, localOptions);\n }\n\n /**\n * use popup for authorization\n * @param {object} options for overriding defaults\n * @returns {Popup} instance of a popup flow\n */\n popup(options = {}) {\n const localOptions = Object.assign({}, this.options, options);\n return new Popup(this, localOptions);\n }\n\n /**\n * use redirect for authorization\n * @param {object} options for overriding defaults\n * @returns {Redirect} instance of a redirect flow\n */\n redirect(options = {}) {\n const localOptions = Object.assign({}, this.options, options);\n return new Redirect(this, localOptions);\n }\n\n /**\n * create authorization url\n * @param {object} options for overriding defaults\n * @param {string} flow set 'button' for popup and iframe\n * @returns {string} generated url\n */\n authorizeURL(options = {}, flow = '') {\n const localOptions = Object.assign({}, this.options, options);\n\n if (!localOptions.state) {\n localOptions.state = random.string(localOptions.key_length);\n }\n\n if (!localOptions.redirect_uri) {\n localOptions.redirect_uri = window.location.href;\n }\n\n const params = pick(localOptions, [\n 'client_id',\n 'organization_id',\n 'redirect_uri',\n 'state',\n 'response_type',\n 'scope',\n 'prompt',\n ]);\n\n Object.assign(params, localOptions.tracking);\n\n if (params.scope === null) {\n delete params.scope;\n }\n\n if (flow != null) {\n params.flow = flow;\n }\n\n if (localOptions.email_hint) {\n params.email = localOptions.email_hint;\n }\n\n let url = localOptions.server_url;\n if (localOptions.popup_flow === 'manual') {\n url += '/signin';\n }\n\n if (localOptions.path) {\n url += localOptions.path;\n }\n\n if (localOptions.response_type === 'code' && localOptions.pkce.enabled) {\n const codeVerifier =\n localOptions.pkce.code_verifier ||\n random.string(localOptions.pkce.code_verifier_length);\n\n switch (localOptions.pkce.code_challange_method) {\n case 'S256': {\n const codeChallenge = sjcl.hash.sha256.hash(codeVerifier);\n Object.assign(params, {\n code_verifier: codeVerifier,\n code_challenge: encoding.base64URLEncode(codeChallenge),\n code_challenge_method: localOptions.pkce.code_challange_method,\n });\n break;\n }\n\n default:\n Object.assign(params, {\n code_verifier: codeVerifier,\n code_challenge: codeVerifier,\n code_challenge_method: localOptions.pkce.code_challange_method,\n });\n }\n }\n\n this.transaction.generate(params);\n this.redirectUriParamsPersister.persist(params);\n\n delete params.code_verifier;\n\n return url + '?' + qs.stringify(params);\n }\n\n /**\n * This function verifies if redirect transaction params are valid.\n * @param {object} authorizeData authorize data to validate and return transaction state - redirect state, pkce code verifier\n * @returns {object | null} transaction state if valid, null otherwise\n */\n verify(authorizeData) {\n const transactionData = this.transaction.get(authorizeData.state);\n\n if (authorizeData.state && this.options.verify_state) {\n if (transactionData.state != authorizeData.state) {\n return null;\n }\n }\n\n return transactionData;\n }\n}\n"],"names":["extend","error","oauth_exception","Object","assign","description","identity_exception","invalid_request","unauthorized_client","access_denied","unsupported_response_type","unauthorized","Listener","constructor","options","arguments","length","undefined","listening","receiveMessage","bind","start","timeout","callback","_listenerInited","tid","setTimeout","stop","window","addEventListener","clearTimeout","removeEventListener","event","origin","server_url","replace","data","errors","scopes","scope","expires_in","parseInt","Popup","sdk","authorize","Promise","resolve","reject","url","authorizeURL","w","h","left","screen","width","top","height","listener","err","authorizeData","open","concat","document","requestStorageAccess","promise","then","type","TypeError","util_inspect","require$$0","inspect","hasMap","Map","prototype","mapSizeDescriptor","getOwnPropertyDescriptor","mapSize","get","mapForEach","forEach","hasSet","Set","setSizeDescriptor","setSize","setForEach","hasWeakMap","WeakMap","weakMapHas","has","hasWeakSet","WeakSet","weakSetHas","hasWeakRef","WeakRef","weakRefDeref","deref","booleanValueOf","Boolean","valueOf","objectToString","toString","functionToString","Function","$match","String","match","$slice","slice","$replace","$toUpperCase","toUpperCase","$toLowerCase","toLowerCase","$test","RegExp","test","$concat","Array","$join","join","$arrSlice","$floor","Math","floor","bigIntValueOf","BigInt","gOPS","getOwnPropertySymbols","symToString","Symbol","iterator","hasShammedSymbols","toStringTag","isEnumerable","propertyIsEnumerable","gPO","Reflect","getPrototypeOf","__proto__","O","addNumericSeparator","num","str","Infinity","call","sepRegex","int","intStr","dec","utilInspect","inspectCustom","custom","inspectSymbol","isSymbol","quotes","single","quoteREs","objectInspect","inspect_","obj","depth","seen","opts","quoteStyle","maxStringLength","customInspect","indent","numericSeparator","inspectString","bigIntStr","maxDepth","isArray","getIndent","indexOf","value","from","noIndent","push","newOpts","isRegExp","name","nameOf","keys","arrObjKeys","symString","markBoxed","isElement","s","nodeName","attrs","attributes","i","wrapQuotes","quote","childNodes","xs","singleLineValues","indentedJoin","isError","parts","Error","cause","isMap","mapParts","key","collectionOf","isSet","setParts","isWeakMap","weakCollectionOf","isWeakSet","isWeakRef","isNumber","Number","isBigInt","isBoolean","isString","globalThis","global","isDate","ys","isPlainObject","protoTag","stringTag","toStr","constructorTag","tag","defaultStyle","style","quoteChar","canTrustToString","e","hasOwn","hasOwnProperty","f","m","x","l","HTMLElement","getAttribute","remaining","trailer","quoteRE","lastIndex","lowbyte","c","n","charCodeAt","size","entries","joinedEntries","baseIndent","base","prev","lineJoiner","isArr","syms","symMap","k","j","$TypeError","require$$1","listGetNode","list","isDelete","curr","next","listGet","objects","node","listSet","listHas","listDelete","sideChannelList","getSideChannelList","$o","channel","assert","root","deletedNode","set","esObjectAtoms","esErrors","_eval","EvalError","range","RangeError","ref","ReferenceError","syntax","SyntaxError","uri","URIError","abs","max","min","pow","round","_isNaN","isNaN","a","$isNaN","sign","number","gOPD","$gOPD","gopd","$defineProperty","defineProperty","esDefineProperty","shams","hasSymbols","sym","symObj","symVal","_","getOwnPropertyNames","descriptor","enumerable","origSymbol","hasSymbolSham","hasNativeSymbols","Reflect_getPrototypeOf","$Object","Object_getPrototypeOf","ERROR_MESSAGE","funcType","concatty","b","arr","slicy","arrLike","offset","joiny","joiner","implementation","that","target","apply","args","bound","binder","result","boundLength","boundArgs","Empty","functionBind","functionCall","functionApply","reflectApply","$apply","$call","require$$2","$reflectApply","require$$3","actualApply","$actualApply","callBindApplyHelpers","callBindBasic","callBind","hasProtoAccessor","code","desc","$getPrototypeOf","getDunder","reflectGetProto","originalGetProto","getDunderProto","getProto","$hasOwn","hasown","$Error","$EvalError","$RangeError","$ReferenceError","require$$4","$SyntaxError","require$$5","require$$6","$URIError","require$$7","require$$8","require$$9","require$$10","require$$11","require$$12","require$$13","require$$14","$Function","getEvalledConstructor","expressionSyntax","require$$15","require$$16","throwTypeError","ThrowTypeError","callee","calleeThrows","gOPDthrows","require$$17","require$$18","$ObjectGPO","require$$19","$ReflectGPO","require$$20","require$$21","require$$22","needsEval","TypedArray","Uint8Array","INTRINSICS","AggregateError","ArrayBuffer","Atomics","BigInt64Array","BigUint64Array","DataView","Date","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","eval","Float16Array","Float32Array","Float64Array","FinalizationRegistry","Int8Array","Int16Array","Int32Array","isFinite","JSON","parseFloat","Proxy","SharedArrayBuffer","Uint8ClampedArray","Uint16Array","Uint32Array","errorProto","doEval","fn","gen","LEGACY_ALIASES","require$$23","require$$24","$spliceApply","splice","$strSlice","$exec","exec","rePropName","reEscapeChar","stringToPath","string","first","last","subString","getBaseIntrinsic","allowMissing","intrinsicName","alias","getIntrinsic","GetIntrinsic","intrinsicBaseName","intrinsic","intrinsicRealName","skipFurtherCaching","isOwn","part","$indexOf","callBound","callBoundIntrinsic","$Map","$mapGet","$mapSet","$mapHas","$mapDelete","$mapSize","sideChannelMap","getSideChannelMap","$m","$WeakMap","$weakMapGet","$weakMapSet","$weakMapHas","$weakMapDelete","sideChannelWeakmap","getSideChannelWeakMap","$wm","makeChannel","sideChannel","getSideChannel","$channelData","percentTwenties","Format","RFC1738","RFC3986","formats","formatters","overflowChannel","markOverflow","maxIndex","isOverflow","getMaxIndex","setMaxIndex","hexTable","array","compactQueue","queue","item","pop","prop","compacted","arrayToObject","source","plainObjects","merge","nextIndex","arrayLimit","newIndex","strictMerge","allowPrototypes","sourceKeys","oldKey","combined","mergeTarget","targetItem","reduce","acc","keyNum","assignSingleSource","decode","defaultDecoder","charset","strWithoutPlus","unescape","limit","encode","defaultEncoder","kind","format","escape","$0","out","segment","charAt","compact","o","refs","val","isBuffer","combine","maybeMap","mapped","utils","arrayPrefixGenerators","brackets","prefix","comma","indices","repeat","pushToArray","valueOrArray","toISO","toISOString","defaultFormat","defaults","addQueryPrefix","allowDots","allowEmptyArrays","arrayFormat","charsetSentinel","commaRoundTrip","delimiter","encodeDotInKeys","encoder","encodeValuesOnly","filter","formatter","serializeDate","date","skipNulls","strictNullHandling","isNonNullishPrimitive","v","sentinel","stringify","object","generateArrayPrefix","sort","tmpSc","step","findFlag","pos","keyValue","values","objKeys","encodedPrefix","adjustedPrefix","encodedKey","keyPrefix","valueSideChannel","normalizeStringifyOptions","stringify_1","joined","allowSparse","decodeDotInKeys","decoder","duplicates","ignoreQueryPrefix","interpretNumericEntities","parameterLimit","parseArrays","strictDepth","throwOnLimitExceeded","numberStr","fromCharCode","parseArrayValue","currentArrayLength","split","isoSentinel","parseValues","parseQueryStringValues","cleanStr","skipIndex","bracketEqualsPos","encodedVal","existing","parseObject","chain","valuesParsed","parentKey","leaf","cleanRoot","decodedRoot","index","isValidArrayIndex","splitKeyIntoSegments","givenKey","child","parent","segmentContent","parseKeys","parseQueryStringKeys","normalizeParseOptions","parse","tempObj","newObj","lib","pick","Redirect","location","requiredFields","response_type","qs","hash","substring","every","field","search","redirectUriParamsPersister","retrieve","state","Iframe","cb","removeIframe","iframe","createElement","setAttribute","iframeID","position","right","opacity","visibility","body","appendChild","client_id","getElementById","parentNode","removeChild","DummyStorage","getItem","removeItem","setItem","defaultConverter","read","write","init","converter","defaultAttributes","expires","now","toUTCString","stringifiedAttributes","attributeName","cookie","cookies","jar","found","create","remove","withAttributes","withConverter","freeze","api","path","CookieStorage","Cookie","params","SameSite","Secure","StorageHandler","storage","force_local_storage","localStorage","console","warn","failover","Storage","handler","_unused","json","Transaction","transaction","generate","namespace","code_verifier","transactionData","clear","sjcl","codec","exception","invalid","message","bitArray","bitSlice","bstart","bend","_shiftRight","clamp","extract","blength","sh","a1","a2","shift","getPartial","bitLength","len","ceil","partial","_end","equal","carry","last2","shift2","_xor4","y","byteswapM","utf8String","fromBits","bl","tmp","toBits","sha256","_key","_precompute","_h","_buffer","_length","reset","update","finalize","blockSize","_init","ol","nl","_block","subarray","prime","factor","isPrime","frac","h0","h1","h2","h3","h4","h5","h6","h7","base64URLEncode","btoa","Persister","RedirectUriParamsPersister","persister","persist","redirectUrl","URL","redirect_uri","queryParams","hashParams","query_params","hash_params","pathname","_redirectUriParams$qu","_redirectUriParams$ha","redirectUriParams","_objectSpread","history","replaceState","title","charsetLength","cryptoObj","crypto","msCrypto","hasCrypto","getRandomValues","generateWithMathRandom","maxByte","buffer","output","random","AccountsSDK","defaultOptions","organization_id","prompt","popup_flow","verify_state","verify_callback","email_hint","tracking","utm_source","utm_medium","key_length","pkce","enabled","code_verifier_length","code_challange_method","localOptions","popup","redirect","flow","href","email","codeVerifier","codeChallenge","code_challenge","encoding","code_challenge_method","verify"],"mappings":"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","x_google_ignoreList":[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,35,36,37,38,39,40,41,42,43,44,45,46,47,48,53]}