typeson-registry 14.2.2 → 14.3.0

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":"index.cjs","sources":["../node_modules/.pnpm/whatwg-url@17.1.0/node_modules/whatwg-url/lib/URL.js","../node_modules/.pnpm/whatwg-url@17.1.0/node_modules/whatwg-url/lib/URLSearchParams.js","../node_modules/.pnpm/whatwg-url@17.1.0/node_modules/whatwg-url/webidl2js-wrapper.js","../node_modules/.pnpm/whatwg-url@17.1.0/node_modules/whatwg-url/lib/url-state-machine.js","../node_modules/.pnpm/whatwg-url@17.1.0/node_modules/whatwg-url/lib/percent-encoding.js","../node_modules/.pnpm/whatwg-url@17.1.0/node_modules/whatwg-url/lib/infra.js","../node_modules/.pnpm/whatwg-url@17.1.0/node_modules/whatwg-url/lib/url-miscellaneous.js","../node_modules/.pnpm/whatwg-url@17.1.0/node_modules/whatwg-url/lib/url-string-validator.js","../node_modules/.pnpm/whatwg-url@17.1.0/node_modules/whatwg-url/index.js","../utils/generateUUID.js","SyncBlobFile.js","URL.js","QuotaExceededError.js","WebTransportError.js","AudioData.js","EncodedAudioChunk.js","EncodedVideoChunk.js","VideoFrame.js","DOMRect.js","DOMRectReadOnly.js","DOMPoint.js","DOMPointReadOnly.js","DOMQuad.js","DOMMatrix.js","DOMMatrixReadOnly.js","createImageBitmap.js"],"sourcesContent":["\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\n\nconst implSymbol = utils.implSymbol;\nconst ctorRegistrySymbol = utils.ctorRegistrySymbol;\n\nconst interfaceName = \"URL\";\n\nexports.is = value => {\n return utils.isObject(value) && Object.hasOwn(value, implSymbol) && value[implSymbol] instanceof Impl.implementation;\n};\nexports.isImpl = value => {\n return utils.isObject(value) && value instanceof Impl.implementation;\n};\nexports.convert = (globalObject, value, { context = \"The provided value\" } = {}) => {\n if (exports.is(value)) {\n return utils.implForWrapper(value);\n }\n throw new globalObject.TypeError(`${context} is not of type 'URL'.`);\n};\n\nfunction makeWrapper(globalObject, newTarget) {\n let proto;\n if (newTarget !== undefined) {\n proto = newTarget.prototype;\n }\n\n if (!utils.isObject(proto)) {\n proto = globalObject[ctorRegistrySymbol][\"URL\"].prototype;\n }\n\n return Object.create(proto);\n}\n\nexports.create = (globalObject, constructorArgs, privateData) => {\n const wrapper = makeWrapper(globalObject);\n return exports.setup(wrapper, globalObject, constructorArgs, privateData);\n};\n\nexports.createImpl = (globalObject, constructorArgs, privateData) => {\n const wrapper = exports.create(globalObject, constructorArgs, privateData);\n return utils.implForWrapper(wrapper);\n};\n\nexports._internalSetup = (wrapper, globalObject) => {};\n\nexports.setup = (wrapper, globalObject, constructorArgs = [], privateData = {}) => {\n privateData.wrapper = wrapper;\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: new Impl.implementation(globalObject, constructorArgs, privateData),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper;\n};\n\nexports.new = (globalObject, newTarget) => {\n const wrapper = makeWrapper(globalObject, newTarget);\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: Object.create(Impl.implementation.prototype),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper[implSymbol];\n};\n\nconst exposed = new Set([\"Window\", \"Worker\"]);\n\nexports.install = (globalObject, globalNames) => {\n if (!globalNames.some(globalName => exposed.has(globalName))) {\n return;\n }\n\n const ctorRegistry = utils.initCtorRegistry(globalObject);\n class URL {\n constructor(url) {\n if (arguments.length < 1) {\n throw new globalObject.TypeError(\n `Failed to construct 'URL': 1 argument required, but only ${arguments.length} present.`\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n curArg = conversions[\"USVString\"](curArg, {\n context: \"Failed to construct 'URL': parameter 1\",\n globals: globalObject\n });\n args.push(curArg);\n }\n {\n let curArg = arguments[1];\n if (curArg !== undefined) {\n curArg = conversions[\"USVString\"](curArg, {\n context: \"Failed to construct 'URL': parameter 2\",\n globals: globalObject\n });\n }\n args.push(curArg);\n }\n return exports.setup(Object.create(new.target.prototype), globalObject, args);\n }\n\n toJSON() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'toJSON' called on an object that is not a valid instance of URL.\");\n }\n\n return esValue[implSymbol].toJSON();\n }\n\n get href() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'get href' called on an object that is not a valid instance of URL.\");\n }\n\n return esValue[implSymbol][\"href\"];\n }\n\n set href(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'set href' called on an object that is not a valid instance of URL.\");\n }\n\n V = conversions[\"USVString\"](V, {\n context: \"Failed to set the 'href' property on 'URL': The provided value\",\n globals: globalObject\n });\n\n esValue[implSymbol][\"href\"] = V;\n }\n\n toString() {\n const esValue = this;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'toString' called on an object that is not a valid instance of URL.\");\n }\n\n return esValue[implSymbol][\"href\"];\n }\n\n get origin() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'get origin' called on an object that is not a valid instance of URL.\");\n }\n\n return esValue[implSymbol][\"origin\"];\n }\n\n get protocol() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'get protocol' called on an object that is not a valid instance of URL.\");\n }\n\n return esValue[implSymbol][\"protocol\"];\n }\n\n set protocol(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'set protocol' called on an object that is not a valid instance of URL.\");\n }\n\n V = conversions[\"USVString\"](V, {\n context: \"Failed to set the 'protocol' property on 'URL': The provided value\",\n globals: globalObject\n });\n\n esValue[implSymbol][\"protocol\"] = V;\n }\n\n get username() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'get username' called on an object that is not a valid instance of URL.\");\n }\n\n return esValue[implSymbol][\"username\"];\n }\n\n set username(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'set username' called on an object that is not a valid instance of URL.\");\n }\n\n V = conversions[\"USVString\"](V, {\n context: \"Failed to set the 'username' property on 'URL': The provided value\",\n globals: globalObject\n });\n\n esValue[implSymbol][\"username\"] = V;\n }\n\n get password() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'get password' called on an object that is not a valid instance of URL.\");\n }\n\n return esValue[implSymbol][\"password\"];\n }\n\n set password(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'set password' called on an object that is not a valid instance of URL.\");\n }\n\n V = conversions[\"USVString\"](V, {\n context: \"Failed to set the 'password' property on 'URL': The provided value\",\n globals: globalObject\n });\n\n esValue[implSymbol][\"password\"] = V;\n }\n\n get host() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'get host' called on an object that is not a valid instance of URL.\");\n }\n\n return esValue[implSymbol][\"host\"];\n }\n\n set host(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'set host' called on an object that is not a valid instance of URL.\");\n }\n\n V = conversions[\"USVString\"](V, {\n context: \"Failed to set the 'host' property on 'URL': The provided value\",\n globals: globalObject\n });\n\n esValue[implSymbol][\"host\"] = V;\n }\n\n get hostname() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'get hostname' called on an object that is not a valid instance of URL.\");\n }\n\n return esValue[implSymbol][\"hostname\"];\n }\n\n set hostname(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'set hostname' called on an object that is not a valid instance of URL.\");\n }\n\n V = conversions[\"USVString\"](V, {\n context: \"Failed to set the 'hostname' property on 'URL': The provided value\",\n globals: globalObject\n });\n\n esValue[implSymbol][\"hostname\"] = V;\n }\n\n get port() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'get port' called on an object that is not a valid instance of URL.\");\n }\n\n return esValue[implSymbol][\"port\"];\n }\n\n set port(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'set port' called on an object that is not a valid instance of URL.\");\n }\n\n V = conversions[\"USVString\"](V, {\n context: \"Failed to set the 'port' property on 'URL': The provided value\",\n globals: globalObject\n });\n\n esValue[implSymbol][\"port\"] = V;\n }\n\n get pathname() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'get pathname' called on an object that is not a valid instance of URL.\");\n }\n\n return esValue[implSymbol][\"pathname\"];\n }\n\n set pathname(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'set pathname' called on an object that is not a valid instance of URL.\");\n }\n\n V = conversions[\"USVString\"](V, {\n context: \"Failed to set the 'pathname' property on 'URL': The provided value\",\n globals: globalObject\n });\n\n esValue[implSymbol][\"pathname\"] = V;\n }\n\n get search() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'get search' called on an object that is not a valid instance of URL.\");\n }\n\n return esValue[implSymbol][\"search\"];\n }\n\n set search(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'set search' called on an object that is not a valid instance of URL.\");\n }\n\n V = conversions[\"USVString\"](V, {\n context: \"Failed to set the 'search' property on 'URL': The provided value\",\n globals: globalObject\n });\n\n esValue[implSymbol][\"search\"] = V;\n }\n\n get searchParams() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'get searchParams' called on an object that is not a valid instance of URL.\");\n }\n\n return utils.getSameObject(this, \"searchParams\", () => {\n return utils.tryWrapperForImpl(esValue[implSymbol][\"searchParams\"]);\n });\n }\n\n get hash() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'get hash' called on an object that is not a valid instance of URL.\");\n }\n\n return esValue[implSymbol][\"hash\"];\n }\n\n set hash(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'set hash' called on an object that is not a valid instance of URL.\");\n }\n\n V = conversions[\"USVString\"](V, {\n context: \"Failed to set the 'hash' property on 'URL': The provided value\",\n globals: globalObject\n });\n\n esValue[implSymbol][\"hash\"] = V;\n }\n\n static parse(url) {\n if (arguments.length < 1) {\n throw new globalObject.TypeError(\n `Failed to execute 'parse' on 'URL': 1 argument required, but only ${arguments.length} present.`\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n curArg = conversions[\"USVString\"](curArg, {\n context: \"Failed to execute 'parse' on 'URL': parameter 1\",\n globals: globalObject\n });\n args.push(curArg);\n }\n {\n let curArg = arguments[1];\n if (curArg !== undefined) {\n curArg = conversions[\"USVString\"](curArg, {\n context: \"Failed to execute 'parse' on 'URL': parameter 2\",\n globals: globalObject\n });\n }\n args.push(curArg);\n }\n return utils.tryWrapperForImpl(Impl.implementation.parse(globalObject, ...args));\n }\n\n static canParse(url) {\n if (arguments.length < 1) {\n throw new globalObject.TypeError(\n `Failed to execute 'canParse' on 'URL': 1 argument required, but only ${arguments.length} present.`\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n curArg = conversions[\"USVString\"](curArg, {\n context: \"Failed to execute 'canParse' on 'URL': parameter 1\",\n globals: globalObject\n });\n args.push(curArg);\n }\n {\n let curArg = arguments[1];\n if (curArg !== undefined) {\n curArg = conversions[\"USVString\"](curArg, {\n context: \"Failed to execute 'canParse' on 'URL': parameter 2\",\n globals: globalObject\n });\n }\n args.push(curArg);\n }\n return Impl.implementation.canParse(...args);\n }\n }\n Object.defineProperties(URL.prototype, {\n toJSON: { enumerable: true },\n href: { enumerable: true },\n toString: { enumerable: true },\n origin: { enumerable: true },\n protocol: { enumerable: true },\n username: { enumerable: true },\n password: { enumerable: true },\n host: { enumerable: true },\n hostname: { enumerable: true },\n port: { enumerable: true },\n pathname: { enumerable: true },\n search: { enumerable: true },\n searchParams: { enumerable: true },\n hash: { enumerable: true },\n [Symbol.toStringTag]: { value: \"URL\", configurable: true }\n });\n Object.defineProperties(URL, { parse: { enumerable: true }, canParse: { enumerable: true } });\n ctorRegistry[interfaceName] = URL;\n\n Object.defineProperty(globalObject, interfaceName, {\n configurable: true,\n writable: true,\n value: URL\n });\n\n if (globalNames.includes(\"Window\")) {\n Object.defineProperty(globalObject, \"webkitURL\", {\n configurable: true,\n writable: true,\n value: URL\n });\n }\n};\n\nconst Impl = require(\"./URL-impl.js\");\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\n\nconst Function = require(\"./Function.js\");\nconst newObjectInRealm = utils.newObjectInRealm;\nconst implSymbol = utils.implSymbol;\nconst ctorRegistrySymbol = utils.ctorRegistrySymbol;\n\nconst interfaceName = \"URLSearchParams\";\n\nexports.is = value => {\n return utils.isObject(value) && Object.hasOwn(value, implSymbol) && value[implSymbol] instanceof Impl.implementation;\n};\nexports.isImpl = value => {\n return utils.isObject(value) && value instanceof Impl.implementation;\n};\nexports.convert = (globalObject, value, { context = \"The provided value\" } = {}) => {\n if (exports.is(value)) {\n return utils.implForWrapper(value);\n }\n throw new globalObject.TypeError(`${context} is not of type 'URLSearchParams'.`);\n};\n\nexports.createDefaultIterator = (globalObject, target, kind) => {\n const ctorRegistry = globalObject[ctorRegistrySymbol];\n const iteratorPrototype = ctorRegistry[\"URLSearchParams Iterator\"];\n const iterator = Object.create(iteratorPrototype);\n Object.defineProperty(iterator, utils.iterInternalSymbol, {\n value: { target, kind, index: 0 },\n configurable: true\n });\n return iterator;\n};\n\nfunction makeWrapper(globalObject, newTarget) {\n let proto;\n if (newTarget !== undefined) {\n proto = newTarget.prototype;\n }\n\n if (!utils.isObject(proto)) {\n proto = globalObject[ctorRegistrySymbol][\"URLSearchParams\"].prototype;\n }\n\n return Object.create(proto);\n}\n\nexports.create = (globalObject, constructorArgs, privateData) => {\n const wrapper = makeWrapper(globalObject);\n return exports.setup(wrapper, globalObject, constructorArgs, privateData);\n};\n\nexports.createImpl = (globalObject, constructorArgs, privateData) => {\n const wrapper = exports.create(globalObject, constructorArgs, privateData);\n return utils.implForWrapper(wrapper);\n};\n\nexports._internalSetup = (wrapper, globalObject) => {};\n\nexports.setup = (wrapper, globalObject, constructorArgs = [], privateData = {}) => {\n privateData.wrapper = wrapper;\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: new Impl.implementation(globalObject, constructorArgs, privateData),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper;\n};\n\nexports.new = (globalObject, newTarget) => {\n const wrapper = makeWrapper(globalObject, newTarget);\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: Object.create(Impl.implementation.prototype),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper[implSymbol];\n};\n\nconst exposed = new Set([\"Window\", \"Worker\"]);\n\nexports.install = (globalObject, globalNames) => {\n if (!globalNames.some(globalName => exposed.has(globalName))) {\n return;\n }\n\n const ctorRegistry = utils.initCtorRegistry(globalObject);\n class URLSearchParams {\n constructor() {\n const args = [];\n {\n let curArg = arguments[0];\n if (curArg !== undefined) {\n if (utils.isObject(curArg)) {\n if (\n utils.getMethod(curArg, Symbol.iterator, \"Failed to construct 'URLSearchParams': parameter 1\") !==\n undefined\n ) {\n if (!utils.isObject(curArg)) {\n throw new globalObject.TypeError(\n \"Failed to construct 'URLSearchParams': parameter 1\" + \" sequence\" + \" is not an iterable object.\"\n );\n } else {\n const V = [];\n const tmp = curArg;\n for (let nextItem of tmp) {\n if (!utils.isObject(nextItem)) {\n throw new globalObject.TypeError(\n \"Failed to construct 'URLSearchParams': parameter 1\" +\n \" sequence\" +\n \"'s element\" +\n \" is not an iterable object.\"\n );\n } else {\n const V = [];\n const tmp = nextItem;\n for (let nextItem of tmp) {\n nextItem = conversions[\"USVString\"](nextItem, {\n context:\n \"Failed to construct 'URLSearchParams': parameter 1\" +\n \" sequence\" +\n \"'s element\" +\n \"'s element\",\n globals: globalObject\n });\n\n V.push(nextItem);\n }\n nextItem = V;\n }\n\n V.push(nextItem);\n }\n curArg = V;\n }\n } else {\n if (!utils.isObject(curArg)) {\n throw new globalObject.TypeError(\n \"Failed to construct 'URLSearchParams': parameter 1\" + \" record\" + \" is not an object.\"\n );\n } else {\n const result = Object.create(null);\n for (const key of Reflect.ownKeys(curArg)) {\n const desc = Object.getOwnPropertyDescriptor(curArg, key);\n if (desc && desc.enumerable) {\n let typedKey = key;\n\n typedKey = conversions[\"USVString\"](typedKey, {\n context: \"Failed to construct 'URLSearchParams': parameter 1\" + \" record\" + \"'s key\",\n globals: globalObject\n });\n\n let typedValue = curArg[key];\n\n typedValue = conversions[\"USVString\"](typedValue, {\n context: \"Failed to construct 'URLSearchParams': parameter 1\" + \" record\" + \"'s value\",\n globals: globalObject\n });\n\n result[typedKey] = typedValue;\n }\n }\n curArg = result;\n }\n }\n } else {\n curArg = conversions[\"USVString\"](curArg, {\n context: \"Failed to construct 'URLSearchParams': parameter 1\",\n globals: globalObject\n });\n }\n } else {\n curArg = \"\";\n }\n args.push(curArg);\n }\n return exports.setup(Object.create(new.target.prototype), globalObject, args);\n }\n\n append(name, value) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'append' called on an object that is not a valid instance of URLSearchParams.\"\n );\n }\n\n if (arguments.length < 2) {\n throw new globalObject.TypeError(\n `Failed to execute 'append' on 'URLSearchParams': 2 arguments required, but only ${arguments.length} present.`\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n curArg = conversions[\"USVString\"](curArg, {\n context: \"Failed to execute 'append' on 'URLSearchParams': parameter 1\",\n globals: globalObject\n });\n args.push(curArg);\n }\n {\n let curArg = arguments[1];\n curArg = conversions[\"USVString\"](curArg, {\n context: \"Failed to execute 'append' on 'URLSearchParams': parameter 2\",\n globals: globalObject\n });\n args.push(curArg);\n }\n return utils.tryWrapperForImpl(esValue[implSymbol].append(...args));\n }\n\n delete(name) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'delete' called on an object that is not a valid instance of URLSearchParams.\"\n );\n }\n\n if (arguments.length < 1) {\n throw new globalObject.TypeError(\n `Failed to execute 'delete' on 'URLSearchParams': 1 argument required, but only ${arguments.length} present.`\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n curArg = conversions[\"USVString\"](curArg, {\n context: \"Failed to execute 'delete' on 'URLSearchParams': parameter 1\",\n globals: globalObject\n });\n args.push(curArg);\n }\n {\n let curArg = arguments[1];\n if (curArg !== undefined) {\n curArg = conversions[\"USVString\"](curArg, {\n context: \"Failed to execute 'delete' on 'URLSearchParams': parameter 2\",\n globals: globalObject\n });\n }\n args.push(curArg);\n }\n return utils.tryWrapperForImpl(esValue[implSymbol].delete(...args));\n }\n\n get(name) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'get' called on an object that is not a valid instance of URLSearchParams.\");\n }\n\n if (arguments.length < 1) {\n throw new globalObject.TypeError(\n `Failed to execute 'get' on 'URLSearchParams': 1 argument required, but only ${arguments.length} present.`\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n curArg = conversions[\"USVString\"](curArg, {\n context: \"Failed to execute 'get' on 'URLSearchParams': parameter 1\",\n globals: globalObject\n });\n args.push(curArg);\n }\n return esValue[implSymbol].get(...args);\n }\n\n getAll(name) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'getAll' called on an object that is not a valid instance of URLSearchParams.\"\n );\n }\n\n if (arguments.length < 1) {\n throw new globalObject.TypeError(\n `Failed to execute 'getAll' on 'URLSearchParams': 1 argument required, but only ${arguments.length} present.`\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n curArg = conversions[\"USVString\"](curArg, {\n context: \"Failed to execute 'getAll' on 'URLSearchParams': parameter 1\",\n globals: globalObject\n });\n args.push(curArg);\n }\n return utils.tryWrapperForImpl(esValue[implSymbol].getAll(...args));\n }\n\n has(name) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'has' called on an object that is not a valid instance of URLSearchParams.\");\n }\n\n if (arguments.length < 1) {\n throw new globalObject.TypeError(\n `Failed to execute 'has' on 'URLSearchParams': 1 argument required, but only ${arguments.length} present.`\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n curArg = conversions[\"USVString\"](curArg, {\n context: \"Failed to execute 'has' on 'URLSearchParams': parameter 1\",\n globals: globalObject\n });\n args.push(curArg);\n }\n {\n let curArg = arguments[1];\n if (curArg !== undefined) {\n curArg = conversions[\"USVString\"](curArg, {\n context: \"Failed to execute 'has' on 'URLSearchParams': parameter 2\",\n globals: globalObject\n });\n }\n args.push(curArg);\n }\n return esValue[implSymbol].has(...args);\n }\n\n set(name, value) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'set' called on an object that is not a valid instance of URLSearchParams.\");\n }\n\n if (arguments.length < 2) {\n throw new globalObject.TypeError(\n `Failed to execute 'set' on 'URLSearchParams': 2 arguments required, but only ${arguments.length} present.`\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n curArg = conversions[\"USVString\"](curArg, {\n context: \"Failed to execute 'set' on 'URLSearchParams': parameter 1\",\n globals: globalObject\n });\n args.push(curArg);\n }\n {\n let curArg = arguments[1];\n curArg = conversions[\"USVString\"](curArg, {\n context: \"Failed to execute 'set' on 'URLSearchParams': parameter 2\",\n globals: globalObject\n });\n args.push(curArg);\n }\n return utils.tryWrapperForImpl(esValue[implSymbol].set(...args));\n }\n\n sort() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'sort' called on an object that is not a valid instance of URLSearchParams.\");\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol].sort());\n }\n\n toString() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'toString' called on an object that is not a valid instance of URLSearchParams.\"\n );\n }\n\n return esValue[implSymbol].toString();\n }\n\n keys() {\n if (!exports.is(this)) {\n throw new globalObject.TypeError(\"'keys' called on an object that is not a valid instance of URLSearchParams.\");\n }\n return exports.createDefaultIterator(globalObject, this, \"key\");\n }\n\n values() {\n if (!exports.is(this)) {\n throw new globalObject.TypeError(\n \"'values' called on an object that is not a valid instance of URLSearchParams.\"\n );\n }\n return exports.createDefaultIterator(globalObject, this, \"value\");\n }\n\n entries() {\n if (!exports.is(this)) {\n throw new globalObject.TypeError(\n \"'entries' called on an object that is not a valid instance of URLSearchParams.\"\n );\n }\n return exports.createDefaultIterator(globalObject, this, \"key+value\");\n }\n\n forEach(callback) {\n if (!exports.is(this)) {\n throw new globalObject.TypeError(\n \"'forEach' called on an object that is not a valid instance of URLSearchParams.\"\n );\n }\n if (arguments.length < 1) {\n throw new globalObject.TypeError(\n \"Failed to execute 'forEach' on 'iterable': 1 argument required, but only 0 present.\"\n );\n }\n callback = Function.convert(globalObject, callback, {\n context: \"Failed to execute 'forEach' on 'iterable': The callback provided as parameter 1\"\n });\n const thisArg = arguments[1];\n let pairs = Array.from(this[implSymbol]);\n let i = 0;\n while (i < pairs.length) {\n const [key, value] = pairs[i].map(utils.tryWrapperForImpl);\n callback.call(thisArg, value, key, this);\n pairs = Array.from(this[implSymbol]);\n i++;\n }\n }\n\n get size() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get size' called on an object that is not a valid instance of URLSearchParams.\"\n );\n }\n\n return esValue[implSymbol][\"size\"];\n }\n }\n Object.defineProperties(URLSearchParams.prototype, {\n append: { enumerable: true },\n delete: { enumerable: true },\n get: { enumerable: true },\n getAll: { enumerable: true },\n has: { enumerable: true },\n set: { enumerable: true },\n sort: { enumerable: true },\n toString: { enumerable: true },\n keys: { enumerable: true },\n values: { enumerable: true },\n entries: { enumerable: true },\n forEach: { enumerable: true },\n size: { enumerable: true },\n [Symbol.toStringTag]: { value: \"URLSearchParams\", configurable: true },\n [Symbol.iterator]: { value: URLSearchParams.prototype.entries, configurable: true, writable: true }\n });\n ctorRegistry[interfaceName] = URLSearchParams;\n\n ctorRegistry[\"URLSearchParams Iterator\"] = Object.create(ctorRegistry[\"%IteratorPrototype%\"], {\n [Symbol.toStringTag]: {\n configurable: true,\n value: \"URLSearchParams Iterator\"\n }\n });\n utils.define(ctorRegistry[\"URLSearchParams Iterator\"], {\n next() {\n const internal = this && this[utils.iterInternalSymbol];\n if (!internal) {\n throw new globalObject.TypeError(\"next() called on a value that is not a URLSearchParams iterator object\");\n }\n\n const { target, kind, index } = internal;\n const values = Array.from(target[implSymbol]);\n const len = values.length;\n if (index >= len) {\n return newObjectInRealm(globalObject, { value: undefined, done: true });\n }\n\n const pair = values[index];\n internal.index = index + 1;\n return newObjectInRealm(globalObject, utils.iteratorResult(pair.map(utils.tryWrapperForImpl), kind));\n }\n });\n\n Object.defineProperty(globalObject, interfaceName, {\n configurable: true,\n writable: true,\n value: URLSearchParams\n });\n};\n\nconst Impl = require(\"./URLSearchParams-impl.js\");\n","\"use strict\";\n\nconst URL = require(\"./lib/URL\");\nconst URLSearchParams = require(\"./lib/URLSearchParams\");\n\nexports.URL = URL;\nexports.URLSearchParams = URLSearchParams;\n","\"use strict\";\nrequire(\"@exodus/bytes/encoding.js\"); // for legacy multi-byte encodings\nconst { percentEncodeAfterEncoding } = require(\"@exodus/bytes/whatwg.js\");\n\nconst infra = require(\"./infra\");\nconst { utf8DecodeWithoutBOM } = require(\"./encoding\");\nconst {\n containsForbiddenHostCodePoint,\n containsPercentEncodedByte,\n defaultPort,\n domainParser,\n endsInANumber,\n failure,\n isInvalidURLCodePoint,\n isNormalizedWindowsDriveLetterString,\n isSpecialScheme,\n isWindowsDriveLetterCodePoints,\n isWindowsDriveLetterString,\n parseIPv4Number,\n p\n} = require(\"./url-miscellaneous\");\nconst { percentDecodeString, utf8PercentEncodeCodePoint, utf8PercentEncodeString,\n isC0ControlPercentEncode, isFragmentPercentEncode,\n extraQueryPercentEncodeChars, extraSpecialQueryPercentEncodeChars,\n isPathPercentEncode, isUserinfoPercentEncode } = require(\"./percent-encoding\");\n\nfunction countSymbols(str) {\n return [...str].length;\n}\n\nfunction at(input, idx) {\n const c = input[idx];\n return isNaN(c) ? undefined : String.fromCodePoint(c);\n}\n\nfunction isSingleDot(buffer) {\n return buffer === \".\" || buffer.toLowerCase() === \"%2e\";\n}\n\nfunction isDoubleDot(buffer) {\n buffer = buffer.toLowerCase();\n return buffer === \"..\" || buffer === \"%2e.\" || buffer === \".%2e\" || buffer === \"%2e%2e\";\n}\n\nfunction isInvalidPercentEncoding(input, pointer) {\n return input[pointer] === p(\"%\") &&\n (!infra.isASCIIHex(input[pointer + 1]) || !infra.isASCIIHex(input[pointer + 2]));\n}\n\nfunction validateURLUnits(input, validationErrors = null) {\n if (validationErrors === null) {\n return;\n }\n\n const codePoints = Array.from(input, c => c.codePointAt(0));\n if (codePoints.some(isInvalidURLCodePoint)) {\n validationErrors.push(\"invalid-URL-unit\");\n }\n if (codePoints.some((_, i) => isInvalidPercentEncoding(codePoints, i))) {\n validationErrors.push(\"invalid-URL-unit\");\n }\n}\n\nfunction isSpecial(url) {\n return isSpecialScheme(url.scheme);\n}\n\nfunction isNotSpecial(url) {\n return !isSpecialScheme(url.scheme);\n}\n\nfunction parseIPv4(input, validationErrors = null) {\n const parts = input.split(\".\");\n if (parts[parts.length - 1] === \"\") {\n validationErrors?.push(\"IPv4-empty-part\");\n if (parts.length > 1) {\n parts.pop();\n }\n }\n\n if (parts.length > 4) {\n validationErrors?.push(\"IPv4-too-many-parts\");\n return failure;\n }\n\n if (parts.length < 4) {\n validationErrors?.push(\"IPv4-too-few-parts\");\n }\n\n const numbers = [];\n for (const part of parts) {\n const n = parseIPv4Number(part, validationErrors);\n if (n === failure) {\n validationErrors?.push(\"IPv4-non-numeric-part\");\n return failure;\n }\n\n numbers.push(n);\n }\n\n if (validationErrors !== null && numbers.some(n => n > 255)) {\n validationErrors.push(\"IPv4-out-of-range-part\");\n }\n for (let i = 0; i < numbers.length - 1; ++i) {\n if (numbers[i] > 255) {\n return failure;\n }\n }\n if (numbers[numbers.length - 1] >= 256 ** (5 - numbers.length)) {\n return failure;\n }\n\n let ipv4 = numbers.pop();\n let counter = 0;\n\n for (const n of numbers) {\n ipv4 += n * 256 ** (3 - counter);\n ++counter;\n }\n\n return ipv4;\n}\n\nfunction serializeIPv4(address) {\n let output = \"\";\n let n = address;\n\n for (let i = 1; i <= 4; ++i) {\n output = String(n % 256) + output;\n if (i !== 4) {\n output = `.${output}`;\n }\n n = Math.floor(n / 256);\n }\n\n return output;\n}\n\nfunction parseIPv6(input, validationErrors = null) {\n const address = [0, 0, 0, 0, 0, 0, 0, 0];\n let pieceIndex = 0;\n let compress = null;\n let pointer = 0;\n\n input = Array.from(input, c => c.codePointAt(0));\n\n if (input[pointer] === p(\":\")) {\n if (input[pointer + 1] !== p(\":\")) {\n validationErrors?.push(\"IPv6-invalid-compression\");\n return failure;\n }\n\n pointer += 2;\n ++pieceIndex;\n compress = pieceIndex;\n }\n\n while (pointer < input.length) {\n if (pieceIndex === 8) {\n validationErrors?.push(\"IPv6-too-many-pieces\");\n return failure;\n }\n\n if (input[pointer] === p(\":\")) {\n if (compress !== null) {\n validationErrors?.push(\"IPv6-multiple-compression\");\n return failure;\n }\n ++pointer;\n ++pieceIndex;\n compress = pieceIndex;\n continue;\n }\n\n let value = 0;\n let length = 0;\n\n while (length < 4 && infra.isASCIIHex(input[pointer])) {\n value = value * 0x10 + parseInt(at(input, pointer), 16);\n ++pointer;\n ++length;\n }\n\n if (input[pointer] === p(\".\")) {\n if (length === 0) {\n validationErrors?.push(\"IPv4-in-IPv6-invalid-code-point\");\n return failure;\n }\n\n pointer -= length;\n\n if (pieceIndex > 6) {\n validationErrors?.push(\"IPv4-in-IPv6-too-many-pieces\");\n return failure;\n }\n\n let numbersSeen = 0;\n\n while (input[pointer] !== undefined) {\n let ipv4Piece = null;\n\n if (numbersSeen > 0) {\n if (input[pointer] === p(\".\") && numbersSeen < 4) {\n ++pointer;\n } else {\n validationErrors?.push(\"IPv4-in-IPv6-invalid-code-point\");\n return failure;\n }\n }\n\n if (!infra.isASCIIDigit(input[pointer])) {\n validationErrors?.push(\"IPv4-in-IPv6-invalid-code-point\");\n return failure;\n }\n\n while (infra.isASCIIDigit(input[pointer])) {\n const number = parseInt(at(input, pointer), 10);\n if (ipv4Piece === null) {\n ipv4Piece = number;\n } else if (ipv4Piece === 0) {\n validationErrors?.push(\"IPv4-in-IPv6-invalid-code-point\");\n return failure;\n } else {\n ipv4Piece = ipv4Piece * 10 + number;\n }\n if (ipv4Piece > 255) {\n validationErrors?.push(\"IPv4-in-IPv6-out-of-range-part\");\n return failure;\n }\n ++pointer;\n }\n\n address[pieceIndex] = address[pieceIndex] * 0x100 + ipv4Piece;\n\n ++numbersSeen;\n\n if (numbersSeen === 2 || numbersSeen === 4) {\n ++pieceIndex;\n }\n }\n\n if (numbersSeen !== 4) {\n validationErrors?.push(\"IPv4-in-IPv6-too-few-parts\");\n return failure;\n }\n\n break;\n } else if (input[pointer] === p(\":\")) {\n ++pointer;\n if (input[pointer] === undefined) {\n validationErrors?.push(\"IPv6-invalid-code-point\");\n return failure;\n }\n } else if (input[pointer] !== undefined) {\n validationErrors?.push(\"IPv6-invalid-code-point\");\n return failure;\n }\n\n if (length > 1 && value < 0x10 ** (length - 1)) {\n validationErrors?.push(\"IPv6-piece-leading-zero\");\n }\n\n address[pieceIndex] = value;\n ++pieceIndex;\n }\n\n if (compress !== null) {\n let swaps = pieceIndex - compress;\n pieceIndex = 7;\n while (pieceIndex !== 0 && swaps > 0) {\n const temp = address[compress + swaps - 1];\n address[compress + swaps - 1] = address[pieceIndex];\n address[pieceIndex] = temp;\n --pieceIndex;\n --swaps;\n }\n } else if (compress === null && pieceIndex !== 8) {\n validationErrors?.push(\"IPv6-too-few-pieces\");\n return failure;\n }\n\n return address;\n}\n\nfunction serializeIPv6(address) {\n let output = \"\";\n const compress = findTheIPv6AddressCompressedPieceIndex(address);\n let ignore0 = false;\n\n for (let pieceIndex = 0; pieceIndex <= 7; ++pieceIndex) {\n if (ignore0 && address[pieceIndex] === 0) {\n continue;\n } else if (ignore0) {\n ignore0 = false;\n }\n\n if (compress === pieceIndex) {\n const separator = pieceIndex === 0 ? \"::\" : \":\";\n output += separator;\n ignore0 = true;\n continue;\n }\n\n output += address[pieceIndex].toString(16);\n\n if (pieceIndex !== 7) {\n output += \":\";\n }\n }\n\n return output;\n}\n\nfunction parseHost(input, validationErrors = null, isOpaque = false) {\n if (input[0] === \"[\") {\n if (input[input.length - 1] !== \"]\") {\n validationErrors?.push(\"IPv6-unclosed\");\n return failure;\n }\n\n return parseIPv6(input.substring(1, input.length - 1), validationErrors);\n }\n\n if (isOpaque) {\n return parseOpaqueHost(input, validationErrors);\n }\n\n if (validationErrors && containsPercentEncodedByte(input)) {\n validationErrors.push(\"domain-percent-encoded\");\n }\n\n const domain = utf8DecodeWithoutBOM(percentDecodeString(input));\n const asciiDomain = domainParser(domain, validationErrors);\n if (asciiDomain === failure) {\n return failure;\n }\n\n if (endsInANumber(asciiDomain)) {\n if (!infra.isASCIIString(domain)) {\n validationErrors?.push(\"IPv4-non-ASCII-input\");\n }\n return parseIPv4(asciiDomain, validationErrors);\n }\n\n return asciiDomain;\n}\n\nfunction parseOpaqueHost(input, validationErrors) {\n if (containsForbiddenHostCodePoint(input)) {\n validationErrors?.push(\"host-invalid-code-point\");\n return failure;\n }\n\n validateURLUnits(input, validationErrors);\n\n return utf8PercentEncodeString(input, isC0ControlPercentEncode);\n}\n\nfunction findTheIPv6AddressCompressedPieceIndex(address) {\n let longestIndex = null;\n let longestSize = 1; // only find elements > 1\n let foundIndex = null;\n let foundSize = 0;\n\n for (let pieceIndex = 0; pieceIndex < address.length; ++pieceIndex) {\n if (address[pieceIndex] !== 0) {\n if (foundSize > longestSize) {\n longestIndex = foundIndex;\n longestSize = foundSize;\n }\n\n foundIndex = null;\n foundSize = 0;\n } else {\n if (foundIndex === null) {\n foundIndex = pieceIndex;\n }\n ++foundSize;\n }\n }\n\n if (foundSize > longestSize) {\n return foundIndex;\n }\n\n return longestIndex;\n}\n\nfunction serializeHost(host) {\n if (typeof host === \"number\") {\n return serializeIPv4(host);\n }\n\n // IPv6 serializer\n if (host instanceof Array) {\n return `[${serializeIPv6(host)}]`;\n }\n\n return host;\n}\n\nfunction trimControlChars(string) {\n // Avoid using regexp because of this V8 bug: https://issues.chromium.org/issues/42204424\n\n let start = 0;\n let end = string.length;\n for (; start < end; ++start) {\n if (string.charCodeAt(start) > 0x20) {\n break;\n }\n }\n for (; end > start; --end) {\n if (string.charCodeAt(end - 1) > 0x20) {\n break;\n }\n }\n return string.substring(start, end);\n}\n\nfunction trimTabAndNewline(url) {\n return url.replace(/\\u0009|\\u000A|\\u000D/ug, \"\");\n}\n\nfunction shortenPath(url) {\n const { path } = url;\n if (path.length === 0) {\n return;\n }\n if (url.scheme === \"file\" && path.length === 1 && isNormalizedWindowsDriveLetterString(path[0])) {\n return;\n }\n\n path.pop();\n}\n\nfunction includesCredentials(url) {\n return url.username !== \"\" || url.password !== \"\";\n}\n\nfunction cannotHaveAUsernamePasswordPort(url) {\n return url.host === null || url.host === \"\" || url.scheme === \"file\";\n}\n\nfunction hasAnOpaquePath(url) {\n return typeof url.path === \"string\";\n}\n\nfunction URLStateMachine(input, base, encoding, url, stateOverride, validationErrors = null) {\n this.pointer = 0;\n this.input = input;\n this.base = base || null;\n this.encoding = encoding || \"utf-8\";\n this.stateOverride = stateOverride;\n this.url = url;\n this.failure = false;\n this.validationErrors = validationErrors;\n\n if (!this.url) {\n this.url = {\n scheme: \"\",\n username: \"\",\n password: \"\",\n host: null,\n port: null,\n path: [],\n query: null,\n fragment: null\n };\n\n const res = trimControlChars(this.input);\n if (res !== this.input) {\n this.validationErrors?.push(\"invalid-URL-unit\");\n }\n this.input = res;\n }\n\n const res = trimTabAndNewline(this.input);\n if (res !== this.input) {\n this.validationErrors?.push(\"invalid-URL-unit\");\n }\n this.input = res;\n\n this.state = stateOverride || \"scheme start\";\n\n this.buffer = \"\";\n this.atSignSeen = false;\n this.insideBrackets = false;\n this.passwordTokenSeen = false;\n\n this.input = Array.from(this.input, c => c.codePointAt(0));\n\n for (; this.pointer <= this.input.length; ++this.pointer) {\n const c = this.input[this.pointer];\n const cStr = isNaN(c) ? undefined : String.fromCodePoint(c);\n\n // exec state machine\n const ret = this[`parse ${this.state}`](c, cStr);\n if (!ret) {\n break; // terminate algorithm\n } else if (ret === failure) {\n this.failure = true;\n break;\n }\n }\n}\n\nURLStateMachine.prototype.validateURLUnit = function (c) {\n if (this.validationErrors === null) {\n return;\n }\n\n if (isInvalidURLCodePoint(c)) {\n this.validationErrors.push(\"invalid-URL-unit\");\n }\n if (isInvalidPercentEncoding(this.input, this.pointer)) {\n this.validationErrors.push(\"invalid-URL-unit\");\n }\n};\n\nURLStateMachine.prototype[\"parse scheme start\"] = function parseSchemeStart(c, cStr) {\n if (infra.isASCIIAlpha(c)) {\n this.buffer += cStr.toLowerCase();\n this.state = \"scheme\";\n } else if (!this.stateOverride) {\n this.state = \"no scheme\";\n --this.pointer;\n } else {\n return failure;\n }\n\n return true;\n};\n\nURLStateMachine.prototype[\"parse scheme\"] = function parseScheme(c, cStr) {\n if (infra.isASCIIAlphanumeric(c) || c === p(\"+\") || c === p(\"-\") || c === p(\".\")) {\n this.buffer += cStr.toLowerCase();\n } else if (c === p(\":\")) {\n if (this.stateOverride) {\n if (isSpecial(this.url) && !isSpecialScheme(this.buffer)) {\n return false;\n }\n\n if (!isSpecial(this.url) && isSpecialScheme(this.buffer)) {\n return false;\n }\n\n if ((includesCredentials(this.url) || this.url.port !== null) && this.buffer === \"file\") {\n return false;\n }\n\n if (this.url.scheme === \"file\" && this.url.host === \"\") {\n return false;\n }\n }\n this.url.scheme = this.buffer;\n if (this.stateOverride) {\n if (this.url.port === defaultPort(this.url.scheme)) {\n this.url.port = null;\n }\n return false;\n }\n this.buffer = \"\";\n if (this.url.scheme === \"file\") {\n if (this.input[this.pointer + 1] !== p(\"/\") || this.input[this.pointer + 2] !== p(\"/\")) {\n this.validationErrors?.push(\"special-scheme-missing-following-solidus\");\n }\n this.state = \"file\";\n } else if (isSpecial(this.url) && this.base !== null && this.base.scheme === this.url.scheme) {\n this.state = \"special relative or authority\";\n } else if (isSpecial(this.url)) {\n this.state = \"special authority slashes\";\n } else if (this.input[this.pointer + 1] === p(\"/\")) {\n this.state = \"path or authority\";\n ++this.pointer;\n } else {\n this.url.path = \"\";\n this.state = \"opaque path\";\n }\n } else if (!this.stateOverride) {\n this.buffer = \"\";\n this.state = \"no scheme\";\n this.pointer = -1;\n } else {\n return failure;\n }\n\n return true;\n};\n\nURLStateMachine.prototype[\"parse no scheme\"] = function parseNoScheme(c) {\n if (this.base === null || (hasAnOpaquePath(this.base) && c !== p(\"#\"))) {\n this.validationErrors?.push(\"missing-scheme-non-relative-URL\");\n return failure;\n } else if (hasAnOpaquePath(this.base) && c === p(\"#\")) {\n this.url.scheme = this.base.scheme;\n this.url.path = this.base.path;\n this.url.query = this.base.query;\n this.url.fragment = \"\";\n this.state = \"fragment\";\n } else if (this.base.scheme === \"file\") {\n this.state = \"file\";\n --this.pointer;\n } else {\n this.state = \"relative\";\n --this.pointer;\n }\n\n return true;\n};\n\nURLStateMachine.prototype[\"parse special relative or authority\"] = function parseSpecialRelativeOrAuthority(c) {\n if (c === p(\"/\") && this.input[this.pointer + 1] === p(\"/\")) {\n this.state = \"special authority ignore slashes\";\n ++this.pointer;\n } else {\n this.validationErrors?.push(\"special-scheme-missing-following-solidus\");\n this.state = \"relative\";\n --this.pointer;\n }\n\n return true;\n};\n\nURLStateMachine.prototype[\"parse path or authority\"] = function parsePathOrAuthority(c) {\n if (c === p(\"/\")) {\n this.state = \"authority\";\n } else {\n this.state = \"path\";\n --this.pointer;\n }\n\n return true;\n};\n\nURLStateMachine.prototype[\"parse relative\"] = function parseRelative(c) {\n this.url.scheme = this.base.scheme;\n if (c === p(\"/\")) {\n this.state = \"relative slash\";\n } else if (isSpecial(this.url) && c === p(\"\\\\\")) {\n this.validationErrors?.push(\"invalid-reverse-solidus\");\n this.state = \"relative slash\";\n } else {\n this.url.username = this.base.username;\n this.url.password = this.base.password;\n this.url.host = this.base.host;\n this.url.port = this.base.port;\n this.url.path = this.base.path.slice();\n this.url.query = this.base.query;\n if (c === p(\"?\")) {\n this.url.query = \"\";\n this.state = \"query\";\n } else if (c === p(\"#\")) {\n this.url.fragment = \"\";\n this.state = \"fragment\";\n } else if (!isNaN(c)) {\n this.url.query = null;\n this.url.path.pop();\n this.state = \"path\";\n --this.pointer;\n }\n }\n\n return true;\n};\n\nURLStateMachine.prototype[\"parse relative slash\"] = function parseRelativeSlash(c) {\n if (isSpecial(this.url) && (c === p(\"/\") || c === p(\"\\\\\"))) {\n if (c === p(\"\\\\\")) {\n this.validationErrors?.push(\"invalid-reverse-solidus\");\n }\n this.state = \"special authority ignore slashes\";\n } else if (c === p(\"/\")) {\n this.state = \"authority\";\n } else {\n this.url.username = this.base.username;\n this.url.password = this.base.password;\n this.url.host = this.base.host;\n this.url.port = this.base.port;\n this.state = \"path\";\n --this.pointer;\n }\n\n return true;\n};\n\nURLStateMachine.prototype[\"parse special authority slashes\"] = function parseSpecialAuthoritySlashes(c) {\n if (c === p(\"/\") && this.input[this.pointer + 1] === p(\"/\")) {\n this.state = \"special authority ignore slashes\";\n ++this.pointer;\n } else {\n this.validationErrors?.push(\"special-scheme-missing-following-solidus\");\n this.state = \"special authority ignore slashes\";\n --this.pointer;\n }\n\n return true;\n};\n\nURLStateMachine.prototype[\"parse special authority ignore slashes\"] = function parseSpecialAuthorityIgnoreSlashes(c) {\n if (c !== p(\"/\") && c !== p(\"\\\\\")) {\n this.state = \"authority\";\n --this.pointer;\n } else {\n this.validationErrors?.push(\"special-scheme-missing-following-solidus\");\n }\n\n return true;\n};\n\nURLStateMachine.prototype[\"parse authority\"] = function parseAuthority(c, cStr) {\n if (c === p(\"@\")) {\n this.validationErrors?.push(\"invalid-credentials\");\n if (this.atSignSeen) {\n this.buffer = `%40${this.buffer}`;\n }\n this.atSignSeen = true;\n\n // careful, this iterates over the buffer's code points, independently of this.pointer\n for (const codePointStr of this.buffer) {\n const codePoint = codePointStr.codePointAt(0);\n\n if (codePoint === p(\":\") && !this.passwordTokenSeen) {\n this.passwordTokenSeen = true;\n continue;\n }\n const encodedCodePoints = utf8PercentEncodeCodePoint(codePoint, isUserinfoPercentEncode);\n if (this.passwordTokenSeen) {\n this.url.password += encodedCodePoints;\n } else {\n this.url.username += encodedCodePoints;\n }\n }\n this.buffer = \"\";\n } else if (isNaN(c) || c === p(\"/\") || c === p(\"?\") || c === p(\"#\") ||\n (isSpecial(this.url) && c === p(\"\\\\\"))) {\n if (this.atSignSeen && this.buffer === \"\") {\n this.validationErrors?.push(\"host-missing\");\n return failure;\n }\n this.pointer -= countSymbols(this.buffer) + 1;\n this.buffer = \"\";\n this.state = \"host\";\n } else {\n this.buffer += cStr;\n }\n\n return true;\n};\n\nURLStateMachine.prototype[\"parse hostname\"] =\nURLStateMachine.prototype[\"parse host\"] = function parseHostName(c, cStr) {\n if (this.stateOverride && this.url.scheme === \"file\") {\n --this.pointer;\n this.state = \"file host\";\n } else if (c === p(\":\") && !this.insideBrackets) {\n if (this.buffer === \"\") {\n this.validationErrors?.push(\"host-missing\");\n return failure;\n }\n\n if (this.stateOverride === \"hostname\") {\n return failure;\n }\n\n const host = parseHost(this.buffer, this.validationErrors, isNotSpecial(this.url));\n if (host === failure) {\n return failure;\n }\n\n this.url.host = host;\n this.buffer = \"\";\n this.state = \"port\";\n } else if (isNaN(c) || c === p(\"/\") || c === p(\"?\") || c === p(\"#\") ||\n (isSpecial(this.url) && c === p(\"\\\\\"))) {\n --this.pointer;\n if (isSpecial(this.url) && this.buffer === \"\") {\n this.validationErrors?.push(\"host-missing\");\n return failure;\n } else if (this.stateOverride && this.buffer === \"\" &&\n (includesCredentials(this.url) || this.url.port !== null)) {\n return failure;\n }\n\n const host = parseHost(this.buffer, this.validationErrors, isNotSpecial(this.url));\n if (host === failure) {\n return failure;\n }\n\n this.url.host = host;\n this.buffer = \"\";\n this.state = \"path start\";\n if (this.stateOverride) {\n return false;\n }\n } else {\n if (c === p(\"[\")) {\n this.insideBrackets = true;\n } else if (c === p(\"]\")) {\n this.insideBrackets = false;\n }\n this.buffer += cStr;\n }\n\n return true;\n};\n\nURLStateMachine.prototype[\"parse port\"] = function parsePort(c, cStr) {\n if (infra.isASCIIDigit(c)) {\n this.buffer += cStr;\n } else if (isNaN(c) || c === p(\"/\") || c === p(\"?\") || c === p(\"#\") ||\n (isSpecial(this.url) && c === p(\"\\\\\")) ||\n this.stateOverride) {\n if (this.buffer !== \"\") {\n const port = parseInt(this.buffer, 10);\n if (port > 2 ** 16 - 1) {\n this.validationErrors?.push(\"port-out-of-range\");\n return failure;\n }\n this.url.port = port === defaultPort(this.url.scheme) ? null : port;\n this.buffer = \"\";\n if (this.stateOverride) {\n return false;\n }\n }\n if (this.stateOverride) {\n return failure;\n }\n this.state = \"path start\";\n --this.pointer;\n } else {\n this.validationErrors?.push(\"port-invalid\");\n return failure;\n }\n\n return true;\n};\n\nconst fileOtherwiseCodePoints = new Set([p(\"/\"), p(\"\\\\\"), p(\"?\"), p(\"#\")]);\n\nfunction startsWithWindowsDriveLetter(input, pointer) {\n const length = input.length - pointer;\n return length >= 2 &&\n isWindowsDriveLetterCodePoints(input[pointer], input[pointer + 1]) &&\n (length === 2 || fileOtherwiseCodePoints.has(input[pointer + 2]));\n}\n\nURLStateMachine.prototype[\"parse file\"] = function parseFile(c) {\n this.url.scheme = \"file\";\n this.url.host = \"\";\n\n if (c === p(\"/\") || c === p(\"\\\\\")) {\n if (c === p(\"\\\\\")) {\n this.validationErrors?.push(\"invalid-reverse-solidus\");\n }\n this.state = \"file slash\";\n } else if (this.base !== null && this.base.scheme === \"file\") {\n this.url.host = this.base.host;\n this.url.path = this.base.path.slice();\n this.url.query = this.base.query;\n if (c === p(\"?\")) {\n this.url.query = \"\";\n this.state = \"query\";\n } else if (c === p(\"#\")) {\n this.url.fragment = \"\";\n this.state = \"fragment\";\n } else if (!isNaN(c)) {\n this.url.query = null;\n if (!startsWithWindowsDriveLetter(this.input, this.pointer)) {\n shortenPath(this.url);\n } else {\n this.validationErrors?.push(\"file-invalid-Windows-drive-letter\");\n this.url.path = [];\n }\n\n this.state = \"path\";\n --this.pointer;\n }\n } else {\n this.state = \"path\";\n --this.pointer;\n }\n\n return true;\n};\n\nURLStateMachine.prototype[\"parse file slash\"] = function parseFileSlash(c) {\n if (c === p(\"/\") || c === p(\"\\\\\")) {\n if (c === p(\"\\\\\")) {\n this.validationErrors?.push(\"invalid-reverse-solidus\");\n }\n this.state = \"file host\";\n } else {\n if (this.base !== null && this.base.scheme === \"file\") {\n if (!startsWithWindowsDriveLetter(this.input, this.pointer) &&\n isNormalizedWindowsDriveLetterString(this.base.path[0])) {\n this.url.path.push(this.base.path[0]);\n }\n this.url.host = this.base.host;\n }\n this.state = \"path\";\n --this.pointer;\n }\n\n return true;\n};\n\nURLStateMachine.prototype[\"parse file host\"] = function parseFileHost(c, cStr) {\n if (isNaN(c) || c === p(\"/\") || c === p(\"\\\\\") || c === p(\"?\") || c === p(\"#\")) {\n --this.pointer;\n if (!this.stateOverride && isWindowsDriveLetterString(this.buffer)) {\n this.validationErrors?.push(\"file-invalid-Windows-drive-letter-host\");\n this.state = \"path\";\n } else if (this.buffer === \"\") {\n this.url.host = \"\";\n if (this.stateOverride) {\n return false;\n }\n this.state = \"path start\";\n } else {\n let host = parseHost(this.buffer, this.validationErrors, isNotSpecial(this.url));\n if (host === failure) {\n return failure;\n }\n if (host === \"localhost\") {\n host = \"\";\n }\n this.url.host = host;\n\n if (this.stateOverride) {\n return false;\n }\n\n this.buffer = \"\";\n this.state = \"path start\";\n }\n } else {\n this.buffer += cStr;\n }\n\n return true;\n};\n\nURLStateMachine.prototype[\"parse path start\"] = function parsePathStart(c) {\n if (isSpecial(this.url)) {\n if (c === p(\"\\\\\")) {\n this.validationErrors?.push(\"invalid-reverse-solidus\");\n }\n this.state = \"path\";\n\n if (c !== p(\"/\") && c !== p(\"\\\\\")) {\n --this.pointer;\n }\n } else if (!this.stateOverride && c === p(\"?\")) {\n this.url.query = \"\";\n this.state = \"query\";\n } else if (!this.stateOverride && c === p(\"#\")) {\n this.url.fragment = \"\";\n this.state = \"fragment\";\n } else if (c !== undefined) {\n this.state = \"path\";\n if (c !== p(\"/\")) {\n --this.pointer;\n }\n } else if (this.stateOverride && this.url.host === null) {\n this.url.path.push(\"\");\n }\n\n return true;\n};\n\nURLStateMachine.prototype[\"parse path\"] = function parsePath(c) {\n if (isNaN(c) || c === p(\"/\") || (isSpecial(this.url) && c === p(\"\\\\\")) ||\n (!this.stateOverride && (c === p(\"?\") || c === p(\"#\")))) {\n if (isSpecial(this.url) && c === p(\"\\\\\")) {\n this.validationErrors?.push(\"invalid-reverse-solidus\");\n }\n\n if (isDoubleDot(this.buffer)) {\n shortenPath(this.url);\n if (c !== p(\"/\") && !(isSpecial(this.url) && c === p(\"\\\\\"))) {\n this.url.path.push(\"\");\n }\n } else if (isSingleDot(this.buffer) && c !== p(\"/\") &&\n !(isSpecial(this.url) && c === p(\"\\\\\"))) {\n this.url.path.push(\"\");\n } else if (!isSingleDot(this.buffer)) {\n if (this.url.scheme === \"file\" && this.url.path.length === 0 && isWindowsDriveLetterString(this.buffer)) {\n this.buffer = `${this.buffer[0]}:`;\n }\n this.url.path.push(this.buffer);\n }\n this.buffer = \"\";\n if (c === p(\"?\")) {\n this.url.query = \"\";\n this.state = \"query\";\n }\n if (c === p(\"#\")) {\n this.url.fragment = \"\";\n this.state = \"fragment\";\n }\n } else {\n this.validateURLUnit(c);\n\n this.buffer += utf8PercentEncodeCodePoint(c, isPathPercentEncode);\n }\n\n return true;\n};\n\nURLStateMachine.prototype[\"parse opaque path\"] = function parseOpaquePath(c) {\n if (c === p(\"?\")) {\n this.url.query = \"\";\n this.state = \"query\";\n } else if (c === p(\"#\")) {\n this.url.fragment = \"\";\n this.state = \"fragment\";\n } else if (c === p(\" \")) {\n this.validationErrors?.push(\"invalid-URL-unit\");\n\n const remaining = this.input[this.pointer + 1];\n if (remaining === p(\"?\") || remaining === p(\"#\")) {\n this.url.path += \"%20\";\n } else {\n this.url.path += \" \";\n }\n } else if (!isNaN(c)) {\n this.validateURLUnit(c);\n\n this.url.path += utf8PercentEncodeCodePoint(c, isC0ControlPercentEncode);\n }\n\n return true;\n};\n\nURLStateMachine.prototype[\"parse query\"] = function parseQuery(c, cStr) {\n if (!isSpecial(this.url) || this.url.scheme === \"ws\" || this.url.scheme === \"wss\") {\n this.encoding = \"utf-8\";\n }\n\n if ((!this.stateOverride && c === p(\"#\")) || isNaN(c)) {\n const percentEncodeSet = isSpecial(this.url) ? extraSpecialQueryPercentEncodeChars : extraQueryPercentEncodeChars;\n this.url.query += percentEncodeAfterEncoding(\n this.encoding,\n this.buffer,\n percentEncodeSet\n );\n\n this.buffer = \"\";\n\n if (c === p(\"#\")) {\n this.url.fragment = \"\";\n this.state = \"fragment\";\n }\n } else if (!isNaN(c)) {\n this.validateURLUnit(c);\n\n this.buffer += cStr;\n }\n\n return true;\n};\n\nURLStateMachine.prototype[\"parse fragment\"] = function parseFragment(c) {\n if (!isNaN(c)) {\n this.validateURLUnit(c);\n\n this.url.fragment += utf8PercentEncodeCodePoint(c, isFragmentPercentEncode);\n }\n\n return true;\n};\n\nfunction serializeURL(url, excludeFragment) {\n let output = `${url.scheme}:`;\n if (url.host !== null) {\n output += \"//\";\n\n if (url.username !== \"\" || url.password !== \"\") {\n output += url.username;\n if (url.password !== \"\") {\n output += `:${url.password}`;\n }\n output += \"@\";\n }\n\n output += serializeHost(url.host);\n\n if (url.port !== null) {\n output += `:${url.port}`;\n }\n }\n\n if (url.host === null && !hasAnOpaquePath(url) && url.path.length > 1 && url.path[0] === \"\") {\n output += \"/.\";\n }\n output += serializePath(url);\n\n if (url.query !== null) {\n output += `?${url.query}`;\n }\n\n if (!excludeFragment && url.fragment !== null) {\n output += `#${url.fragment}`;\n }\n\n return output;\n}\n\nfunction serializeOrigin(tuple) {\n let result = `${tuple.scheme}://`;\n result += serializeHost(tuple.host);\n\n if (tuple.port !== null) {\n result += `:${tuple.port}`;\n }\n\n return result;\n}\n\nfunction serializePath(url) {\n if (hasAnOpaquePath(url)) {\n return url.path;\n }\n\n let output = \"\";\n for (const segment of url.path) {\n output += `/${segment}`;\n }\n return output;\n}\n\nmodule.exports.serializeURL = serializeURL;\n\nmodule.exports.serializePath = serializePath;\n\nmodule.exports.serializeURLOrigin = function (url) {\n // https://url.spec.whatwg.org/#concept-url-origin\n switch (url.scheme) {\n case \"blob\": {\n const pathURL = module.exports.parseURL(serializePath(url));\n if (pathURL === null) {\n return \"null\";\n }\n if (pathURL.scheme !== \"http\" && pathURL.scheme !== \"https\") {\n return \"null\";\n }\n return module.exports.serializeURLOrigin(pathURL);\n }\n case \"ftp\":\n case \"http\":\n case \"https\":\n case \"ws\":\n case \"wss\":\n return serializeOrigin({\n scheme: url.scheme,\n host: url.host,\n port: url.port\n });\n case \"file\":\n // The spec says:\n // > Unfortunate as it is, this is left as an exercise to the reader. When in doubt, return a new opaque origin.\n // Browsers tested so far:\n // - Chrome says \"file://\", but treats file: URLs as cross-origin for most (all?) purposes; see e.g.\n // https://bugs.chromium.org/p/chromium/issues/detail?id=37586\n // - Firefox says \"null\", but treats file: URLs as same-origin sometimes based on directory stuff; see\n // https://developer.mozilla.org/en-US/docs/Archive/Misc_top_level/Same-origin_policy_for_file:_URIs\n return \"null\";\n default:\n // serializing an opaque origin returns \"null\"\n return \"null\";\n }\n};\n\nfunction basicURLParse(input, options = {}, validationErrors = null) {\n const usm = new URLStateMachine(\n input,\n options.baseURL,\n options.encoding,\n options.url,\n options.stateOverride,\n validationErrors\n );\n if (usm.failure) {\n return null;\n }\n\n return usm.url;\n}\n\nmodule.exports.basicURLParse = function (input, options = {}) {\n return basicURLParse(input, options);\n};\n\nmodule.exports.setTheUsername = function (url, username) {\n url.username = utf8PercentEncodeString(username, isUserinfoPercentEncode);\n};\n\nmodule.exports.setThePassword = function (url, password) {\n url.password = utf8PercentEncodeString(password, isUserinfoPercentEncode);\n};\n\nmodule.exports.serializeHost = serializeHost;\n\nmodule.exports.cannotHaveAUsernamePasswordPort = cannotHaveAUsernamePasswordPort;\n\nmodule.exports.hasAnOpaquePath = hasAnOpaquePath;\n\nmodule.exports.serializeInteger = function (integer) {\n return String(integer);\n};\n\nmodule.exports.parseURL = function (input, options = {}) {\n // We don't handle blobs, so this just delegates:\n return module.exports.basicURLParse(input, {\n baseURL: options.baseURL,\n encoding: options.encoding\n });\n};\n\nmodule.exports.parseURLWithValidationErrors = function (input, options = {}) {\n const validationErrors = [];\n\n // We don't handle blobs, so this just delegates:\n const url = basicURLParse(input, {\n baseURL: options.baseURL,\n encoding: options.encoding\n }, validationErrors);\n\n return { url, validationErrors };\n};\n","\"use strict\";\nconst { isASCIIHex } = require(\"./infra\");\nconst { utf8Encode } = require(\"./encoding\");\n\nfunction p(char) {\n return char.codePointAt(0);\n}\n\n// https://url.spec.whatwg.org/#percent-encode\nfunction percentEncode(c) {\n let hex = c.toString(16).toUpperCase();\n if (hex.length === 1) {\n hex = `0${hex}`;\n }\n\n return `%${hex}`;\n}\n\n// https://url.spec.whatwg.org/#percent-decode\nfunction percentDecodeBytes(input) {\n const output = new Uint8Array(input.byteLength);\n let outputIndex = 0;\n for (let i = 0; i < input.byteLength; ++i) {\n const byte = input[i];\n if (byte !== 0x25) {\n output[outputIndex++] = byte;\n } else if (byte === 0x25 && (!isASCIIHex(input[i + 1]) || !isASCIIHex(input[i + 2]))) {\n output[outputIndex++] = byte;\n } else {\n const bytePoint = parseInt(String.fromCodePoint(input[i + 1], input[i + 2]), 16);\n output[outputIndex++] = bytePoint;\n i += 2;\n }\n }\n\n return output.slice(0, outputIndex);\n}\n\n// https://url.spec.whatwg.org/#string-percent-decode\nfunction percentDecodeString(input) {\n const bytes = utf8Encode(input);\n return percentDecodeBytes(bytes);\n}\n\n// https://url.spec.whatwg.org/#c0-control-percent-encode-set\nfunction isC0ControlPercentEncode(c) {\n return c <= 0x1F || c > 0x7E;\n}\n\n// https://url.spec.whatwg.org/#fragment-percent-encode-set\nconst extraFragmentPercentEncodeSet = new Set([p(\" \"), p(\"\\\"\"), p(\"<\"), p(\">\"), p(\"`\")]);\nfunction isFragmentPercentEncode(c) {\n return isC0ControlPercentEncode(c) || extraFragmentPercentEncodeSet.has(c);\n}\n\n// https://url.spec.whatwg.org/#query-percent-encode-set\nconst extraQueryPercentEncodeSet = new Set([p(\" \"), p(\"\\\"\"), p(\"#\"), p(\"<\"), p(\">\")]);\nconst extraQueryPercentEncodeChars = String.fromCodePoint(...[...extraQueryPercentEncodeSet].sort());\nfunction isQueryPercentEncode(c) {\n return isC0ControlPercentEncode(c) || extraQueryPercentEncodeSet.has(c);\n}\n\n// https://url.spec.whatwg.org/#special-query-percent-encode-set\nconst extraSpecialQueryPercentEncodeSet = new Set([...extraQueryPercentEncodeSet, p(\"'\")]);\nconst extraSpecialQueryPercentEncodeChars = String.fromCodePoint(...[...extraSpecialQueryPercentEncodeSet].sort());\nfunction isSpecialQueryPercentEncode(c) {\n return isC0ControlPercentEncode(c) || extraSpecialQueryPercentEncodeSet.has(c);\n}\n\n// https://url.spec.whatwg.org/#path-percent-encode-set\nconst extraPathPercentEncodeSet = new Set([p(\"?\"), p(\"`\"), p(\"{\"), p(\"}\"), p(\"^\")]);\nfunction isPathPercentEncode(c) {\n return isQueryPercentEncode(c) || extraPathPercentEncodeSet.has(c);\n}\n\n// https://url.spec.whatwg.org/#userinfo-percent-encode-set\nconst extraUserinfoPercentEncodeSet =\n new Set([p(\"/\"), p(\":\"), p(\";\"), p(\"=\"), p(\"@\"), p(\"[\"), p(\"\\\\\"), p(\"]\"), p(\"|\")]);\nfunction isUserinfoPercentEncode(c) {\n return isPathPercentEncode(c) || extraUserinfoPercentEncodeSet.has(c);\n}\n\n// https://url.spec.whatwg.org/#component-percent-encode-set\nconst extraComponentPercentEncodeSet = new Set([p(\"$\"), p(\"%\"), p(\"&\"), p(\"+\"), p(\",\")]);\nfunction isComponentPercentEncode(c) {\n return isUserinfoPercentEncode(c) || extraComponentPercentEncodeSet.has(c);\n}\n\n// https://url.spec.whatwg.org/#application-x-www-form-urlencoded-percent-encode-set\nconst extraURLEncodedPercentEncodeSet = new Set([p(\"!\"), p(\"'\"), p(\"(\"), p(\")\"), p(\"~\")]);\nfunction isURLEncodedPercentEncode(c) {\n return isComponentPercentEncode(c) || extraURLEncodedPercentEncodeSet.has(c);\n}\n\n// https://url.spec.whatwg.org/#code-point-percent-encode-after-encoding\n// https://url.spec.whatwg.org/#utf-8-percent-encode\n// Assuming encoding is always utf-8 allows us to trim one of the logic branches. TODO: support encoding.\n// The \"-Internal\" variant here has code points as JS strings. The external version used by other files has code points\n// as JS numbers, like the rest of the codebase.\nfunction utf8PercentEncodeCodePointInternal(codePoint, percentEncodePredicate) {\n const bytes = utf8Encode(codePoint);\n let output = \"\";\n for (const byte of bytes) {\n // Our percentEncodePredicate operates on bytes, not code points, so this is slightly different from the spec.\n if (!percentEncodePredicate(byte)) {\n output += String.fromCharCode(byte);\n } else {\n output += percentEncode(byte);\n }\n }\n\n return output;\n}\n\nfunction utf8PercentEncodeCodePoint(codePoint, percentEncodePredicate) {\n return utf8PercentEncodeCodePointInternal(String.fromCodePoint(codePoint), percentEncodePredicate);\n}\n\n// https://url.spec.whatwg.org/#string-percent-encode-after-encoding\n// https://url.spec.whatwg.org/#string-utf-8-percent-encode\nfunction utf8PercentEncodeString(input, percentEncodePredicate, spaceAsPlus = false) {\n let output = \"\";\n for (const codePoint of input) {\n if (spaceAsPlus && codePoint === \" \") {\n output += \"+\";\n } else {\n output += utf8PercentEncodeCodePointInternal(codePoint, percentEncodePredicate);\n }\n }\n return output;\n}\n\nmodule.exports = {\n isC0ControlPercentEncode,\n isFragmentPercentEncode,\n isQueryPercentEncode,\n isSpecialQueryPercentEncode,\n isPathPercentEncode,\n isUserinfoPercentEncode,\n isURLEncodedPercentEncode,\n extraQueryPercentEncodeChars,\n extraSpecialQueryPercentEncodeChars,\n percentDecodeString,\n percentDecodeBytes,\n utf8PercentEncodeString,\n utf8PercentEncodeCodePoint\n};\n","\"use strict\";\n\n// Note that we take code points as JS numbers, not JS strings.\n\nfunction isASCIIDigit(c) {\n return c >= 0x30 && c <= 0x39;\n}\n\nfunction isASCIIAlpha(c) {\n return (c >= 0x41 && c <= 0x5A) || (c >= 0x61 && c <= 0x7A);\n}\n\nfunction isASCIIAlphanumeric(c) {\n return isASCIIAlpha(c) || isASCIIDigit(c);\n}\n\nfunction isASCIIHex(c) {\n return isASCIIDigit(c) || (c >= 0x41 && c <= 0x46) || (c >= 0x61 && c <= 0x66);\n}\n\nfunction isASCIIString(string) {\n return !/[^\\u0000-\\u007F]/u.test(string);\n}\n\nfunction isNoncharacter(c) {\n return (c >= 0xFDD0 && c <= 0xFDEF) || (c & 0xFFFE) === 0xFFFE;\n}\n\nmodule.exports = {\n isASCIIDigit,\n isASCIIAlpha,\n isASCIIAlphanumeric,\n isASCIIHex,\n isASCIIString,\n isNoncharacter\n};\n","\"use strict\";\n\nconst tr46 = require(\"tr46\");\n\nconst infra = require(\"./infra\");\n\nfunction p(char) {\n return char.codePointAt(0);\n}\n\nconst failure = Symbol(\"failure\");\n\nconst specialSchemes = {\n ftp: 21,\n file: null,\n http: 80,\n https: 443,\n ws: 80,\n wss: 443\n};\n\nconst urlCodePoints = new Set([\n p(\"!\"), p(\"$\"), p(\"&\"), p(\"'\"), p(\"(\"), p(\")\"), p(\"*\"), p(\"+\"), p(\",\"), p(\"-\"), p(\".\"), p(\"/\"),\n p(\":\"), p(\";\"), p(\"=\"), p(\"?\"), p(\"@\"), p(\"_\"), p(\"~\")\n]);\n\nconst forbiddenHostCodePoints = new Set([\n 0x00, 0x09, 0x0A, 0x0D, 0x20, p(\"#\"), p(\"/\"), p(\":\"), p(\"<\"), p(\">\"), p(\"?\"), p(\"@\"), p(\"[\"),\n p(\"\\\\\"), p(\"]\"), p(\"^\"), p(\"|\")\n]);\n\nfunction isURLCodePoint(c) {\n return infra.isASCIIAlphanumeric(c) ||\n urlCodePoints.has(c) ||\n (c >= 0xA0 && c <= 0x10FFFD && (c < 0xD800 || c > 0xDFFF) && !infra.isNoncharacter(c));\n}\n\nfunction isInvalidURLCodePoint(c) {\n return !isURLCodePoint(c) && c !== p(\"%\");\n}\n\nfunction isPercentEncodedByteAt(input, index) {\n return index + 2 < input.length &&\n input[index] === \"%\" &&\n infra.isASCIIHex(input.charCodeAt(index + 1)) &&\n infra.isASCIIHex(input.charCodeAt(index + 2));\n}\n\nfunction containsPercentEncodedByte(input) {\n return /%[0-9A-Fa-f]{2}/u.test(input);\n}\n\nfunction containsForbiddenHostCodePoint(string) {\n return [...string].some(c => forbiddenHostCodePoints.has(c.codePointAt(0)));\n}\n\nfunction containsForbiddenDomainCodePoint(string) {\n return [...string].some(c => {\n const cp = c.codePointAt(0);\n return forbiddenHostCodePoints.has(cp) || (cp >= 0x00 && cp <= 0x1F) || cp === p(\"%\") || cp === 0x7F;\n });\n}\n\nfunction domainParserToASCII(domain, beStrict) {\n return tr46.toASCII(domain, {\n checkHyphens: beStrict,\n checkBidi: true,\n checkJoiners: true,\n useSTD3ASCIIRules: beStrict,\n transitionalProcessing: false,\n verifyDNSLength: beStrict,\n ignoreInvalidPunycode: false\n });\n}\n\nfunction parseIPv4Number(input, validationErrors = null) {\n if (input === \"\") {\n return failure;\n }\n\n let validationErrorSeen = false;\n let R = 10;\n\n if (input.length >= 2 && input.charAt(0) === \"0\" && input.charAt(1).toLowerCase() === \"x\") {\n validationErrorSeen = true;\n input = input.substring(2);\n R = 16;\n } else if (input.length >= 2 && input.charAt(0) === \"0\") {\n validationErrorSeen = true;\n input = input.substring(1);\n R = 8;\n }\n\n if (input === \"\") {\n validationErrors?.push(\"IPv4-non-decimal-part\");\n return 0;\n }\n\n let regex = /[^0-7]/u;\n if (R === 10) {\n regex = /[^0-9]/u;\n }\n if (R === 16) {\n regex = /[^0-9A-Fa-f]/u;\n }\n\n if (regex.test(input)) {\n return failure;\n }\n\n if (validationErrorSeen) {\n validationErrors?.push(\"IPv4-non-decimal-part\");\n }\n\n return parseInt(input, R);\n}\n\nfunction endsInANumber(input) {\n const parts = input.split(\".\");\n if (parts[parts.length - 1] === \"\") {\n if (parts.length === 1) {\n return false;\n }\n parts.pop();\n }\n\n const last = parts[parts.length - 1];\n if (/^[0-9]+$/u.test(last)) {\n return true;\n }\n\n if (parseIPv4Number(last) !== failure) {\n return true;\n }\n\n return false;\n}\n\nfunction domainParser(domain, validationErrors = null, beStrict = false) {\n // A domain-to-ASCII validation error is reported whenever the strict Unicode ToASCII (CheckHyphens,\n // UseSTD3ASCIIRules, and VerifyDnsLength all true) fails, even when the relaxed parameters used\n // for non-strict parsing succeed. This step does not itself fail the algorithm.\n //\n // Spec divergence (performance): the URL Standard runs this strict pass unconditionally, but when\n // beStrict is false its only effect is that validation error, so we skip it when we are neither\n // being strict nor collecting validation errors.\n if (beStrict || validationErrors) {\n const strictResult = domainParserToASCII(domain, true);\n if (strictResult === null) {\n validationErrors?.push(\"domain-to-ASCII\");\n }\n\n if (beStrict) {\n return strictResult === null ? failure : strictResult;\n }\n }\n\n let result;\n if (infra.isASCIIString(domain)) {\n // For web compatibility an ASCII domain is returned lowercased regardless of ToASCII's outcome.\n result = domain.toLowerCase();\n } else {\n result = domainParserToASCII(domain, false);\n if (result === null) {\n return failure;\n }\n }\n\n if (result === \"\") {\n return failure;\n }\n if (containsForbiddenDomainCodePoint(result)) {\n return failure;\n }\n\n return result;\n}\n\nfunction isSpecialScheme(scheme) {\n return specialSchemes[scheme.toLowerCase()] !== undefined;\n}\n\nfunction isSpecialSchemeExceptFile(scheme) {\n return isSpecialScheme(scheme) && scheme.toLowerCase() !== \"file\";\n}\n\nfunction defaultPort(scheme) {\n return specialSchemes[scheme.toLowerCase()];\n}\n\nfunction isWindowsDriveLetterCodePoints(cp1, cp2) {\n return infra.isASCIIAlpha(cp1) && (cp2 === p(\":\") || cp2 === p(\"|\"));\n}\n\nfunction isWindowsDriveLetterString(string) {\n return string.length === 2 && infra.isASCIIAlpha(string.codePointAt(0)) && (string[1] === \":\" || string[1] === \"|\");\n}\n\nfunction isNormalizedWindowsDriveLetterString(string) {\n return string.length === 2 && infra.isASCIIAlpha(string.codePointAt(0)) && string[1] === \":\";\n}\n\nmodule.exports = {\n containsForbiddenHostCodePoint,\n containsPercentEncodedByte,\n defaultPort,\n domainParser,\n endsInANumber,\n failure,\n forbiddenHostCodePoints,\n isInvalidURLCodePoint,\n isNormalizedWindowsDriveLetterString,\n isPercentEncodedByteAt,\n parseIPv4Number,\n isSpecialScheme,\n isSpecialSchemeExceptFile,\n isURLCodePoint,\n isWindowsDriveLetterCodePoints,\n isWindowsDriveLetterString,\n p\n};\n","\"use strict\";\n\nconst infra = require(\"./infra\");\nconst {\n domainParser,\n endsInANumber,\n failure,\n forbiddenHostCodePoints,\n isPercentEncodedByteAt,\n isSpecialSchemeExceptFile,\n isURLCodePoint,\n p\n} = require(\"./url-miscellaneous\");\nconst { hasAnOpaquePath } = require(\"./url-state-machine\");\n\nconst pathSegmentExcludedCodePoints = new Set([p(\"/\"), p(\"?\")]);\nconst opaquePathExcludedCodePoints = new Set([p(\"?\")]);\n\nfunction splitOffFragment(input) {\n const fragmentStart = input.indexOf(\"#\");\n\n if (fragmentStart === -1) {\n return { beforeFragment: input, fragment: null };\n }\n\n return {\n beforeFragment: input.substring(0, fragmentStart),\n fragment: input.substring(fragmentStart + 1)\n };\n}\n\nfunction splitOffQuery(input) {\n const queryStart = input.indexOf(\"?\");\n\n if (queryStart === -1) {\n return { beforeQuery: input, query: null };\n }\n\n return {\n beforeQuery: input.substring(0, queryStart),\n query: input.substring(queryStart + 1)\n };\n}\n\nfunction isValidURLString(input, options = {}) {\n const baseURL = options.baseURL ?? null;\n\n return isValidAbsoluteURLWithFragmentString(input) ||\n (baseURL !== null && isValidRelativeURLWithFragmentString(input, baseURL));\n}\n\nfunction isValidAbsoluteURLWithFragmentString(input) {\n const { beforeFragment, fragment } = splitOffFragment(input);\n\n return (fragment === null || isValidURLFragmentString(fragment)) && isValidAbsoluteURLString(beforeFragment);\n}\n\nfunction isValidAbsoluteURLString(input) {\n const { beforeQuery, query } = splitOffQuery(input);\n\n if (query !== null && !isValidURLQueryString(query)) {\n return false;\n }\n\n const schemeMatch = /^([A-Za-z][A-Za-z0-9+.-]*):/u.exec(beforeQuery);\n if (schemeMatch === null) {\n return false;\n }\n\n const scheme = schemeMatch[1].toLowerCase();\n const afterScheme = beforeQuery.substring(schemeMatch[0].length);\n\n if (isSpecialSchemeExceptFile(scheme)) {\n return isValidSchemeRelativeSpecialURLString(afterScheme);\n }\n if (scheme === \"file\") {\n return isValidSchemeRelativeFileURLString(afterScheme);\n }\n\n return isValidSchemeRelativeURLString(afterScheme) ||\n isValidPathAbsoluteNonAuthorityURLString(afterScheme) ||\n isValidOpaquePathURLString(afterScheme);\n}\n\nfunction isValidRelativeURLWithFragmentString(input, baseURL) {\n if (hasAnOpaquePath(baseURL)) {\n return input.startsWith(\"#\") && isValidURLFragmentString(input.substring(1));\n }\n\n const { beforeFragment, fragment } = splitOffFragment(input);\n\n return isValidRelativeURLString(beforeFragment, baseURL) &&\n (fragment === null || isValidURLFragmentString(fragment));\n}\n\nfunction isValidRelativeURLString(input, baseURL) {\n const { beforeQuery, query } = splitOffQuery(input);\n const hasValidQuery = query === null || isValidURLQueryString(query);\n\n if (isValidPathAbsoluteNonAuthorityURLString(beforeQuery)) {\n return hasValidQuery;\n }\n\n if (isValidPathRelativeSchemeLessURLString(beforeQuery)) {\n return hasValidQuery;\n }\n\n if (isSpecialSchemeExceptFile(baseURL.scheme)) {\n return isValidSchemeRelativeSpecialURLString(beforeQuery) && hasValidQuery;\n }\n\n if (baseURL.scheme === \"file\") {\n return isValidSchemeRelativeFileURLString(beforeQuery) && hasValidQuery;\n }\n\n return isValidSchemeRelativeURLString(beforeQuery) && hasValidQuery;\n}\n\nfunction isValidSchemeRelativeSpecialURLString(input) {\n if (!input.startsWith(\"//\")) {\n return false;\n }\n\n const { authority, path } = splitOffPath(input.substring(2));\n\n return isValidHostAndPortString(authority, isValidHostString) &&\n (path === null || isValidPathAbsoluteURLString(path));\n}\n\nfunction isValidSchemeRelativeURLString(input) {\n if (!input.startsWith(\"//\")) {\n return false;\n }\n\n const { authority, path } = splitOffPath(input.substring(2));\n\n return isValidOpaqueHostAndPortString(authority) &&\n (path === null || isValidPathAbsoluteURLString(path));\n}\n\nfunction isValidSchemeRelativeFileURLString(input) {\n if (!input.startsWith(\"//\")) {\n return false;\n }\n\n const afterSlashes = input.substring(2);\n\n return afterSlashes === \"\" ||\n isValidHostAndPathAbsoluteURLString(afterSlashes) ||\n isValidPathAbsoluteURLString(afterSlashes);\n}\n\nfunction isValidHostAndPathAbsoluteURLString(input) {\n const { authority, path } = splitOffPath(input);\n\n return isValidHostString(authority) &&\n (path === null || isValidPathAbsoluteURLString(path));\n}\n\nfunction splitOffPath(input) {\n const pathStart = input.indexOf(\"/\");\n\n if (pathStart === -1) {\n return { authority: input, path: null };\n }\n\n return {\n authority: input.substring(0, pathStart),\n path: input.substring(pathStart)\n };\n}\n\nfunction isValidHostAndPortString(input, isValidHost) {\n const parsed = splitHostAndPort(input);\n\n return parsed !== null &&\n parsed.host !== \"\" &&\n isValidHost(parsed.host) &&\n (parsed.port === null || isValidURLPortString(parsed.port));\n}\n\nfunction isValidOpaqueHostAndPortString(input) {\n if (input === \"\") {\n return true;\n }\n\n const parsed = splitHostAndPort(input);\n\n return parsed !== null &&\n parsed.host !== \"\" &&\n isValidOpaqueHostString(parsed.host) &&\n (parsed.port === null || isValidURLPortString(parsed.port));\n}\n\nfunction splitHostAndPort(input) {\n if (input.startsWith(\"[\")) {\n const hostEnd = input.indexOf(\"]\");\n if (hostEnd === -1) {\n return null;\n }\n\n const rest = input.substring(hostEnd + 1);\n if (rest !== \"\" && !rest.startsWith(\":\")) {\n return null;\n }\n\n return {\n host: input.substring(0, hostEnd + 1),\n port: rest === \"\" ? null : rest.substring(1)\n };\n }\n\n const portStart = input.indexOf(\":\");\n if (portStart === -1) {\n return { host: input, port: null };\n }\n\n return {\n host: input.substring(0, portStart),\n port: input.substring(portStart + 1)\n };\n}\n\nfunction isValidHostString(input) {\n return isValidDomainString(input) ||\n isValidIPv4AddressString(input) ||\n isValidBracketedIPv6AddressString(input);\n}\n\nfunction isValidDomainString(input) {\n const domain = domainParser(input, null, true);\n\n return domain !== failure && !endsInANumber(domain);\n}\n\nfunction isValidIPv4AddressString(input) {\n const pieces = input.split(\".\");\n\n return pieces.length === 4 && pieces.every(isValidIPv4AddressPieceString);\n}\n\nfunction isValidIPv4AddressPieceString(input) {\n if (input === \"\" || input.length > 3) {\n return false;\n }\n\n for (let i = 0; i < input.length; ++i) {\n if (!infra.isASCIIDigit(input.codePointAt(i))) {\n return false;\n }\n }\n\n if (input.length > 1 && input[0] === \"0\") {\n return false;\n }\n\n return Number(input) <= 255;\n}\n\nfunction isValidBracketedIPv6AddressString(input) {\n return input.startsWith(\"[\") &&\n input.endsWith(\"]\") &&\n isValidIPv6AddressString(input.substring(1, input.length - 1));\n}\n\nfunction isValidIPv6AddressString(input) {\n return getIPv6PiecesStringEffectiveLength(input) === 8 ||\n getIPv6PiecesAndIPv4StringEffectiveLength(input) === 8 ||\n isValidCompressedIPv6AddressString(input);\n}\n\nfunction isValidCompressedIPv6AddressString(input) {\n const compressionIndex = input.indexOf(\"::\");\n if (compressionIndex === -1 || compressionIndex !== input.lastIndexOf(\"::\")) {\n return false;\n }\n\n const preceding = input.substring(0, compressionIndex);\n const following = input.substring(compressionIndex + 2);\n\n const precedingLength = getOptionalIPv6PiecesStringEffectiveLength(preceding);\n const followingLength = getOptionalIPv6PiecesOrPiecesAndIPv4StringEffectiveLength(following);\n if (precedingLength === failure || followingLength === failure) {\n return false;\n }\n\n return precedingLength + followingLength <= 7;\n}\n\nfunction getOptionalIPv6PiecesStringEffectiveLength(input) {\n return input === \"\" ? 0 : getIPv6PiecesStringEffectiveLength(input);\n}\n\nfunction getOptionalIPv6PiecesOrPiecesAndIPv4StringEffectiveLength(input) {\n return input === \"\" ? 0 : getIPv6PiecesOrPiecesAndIPv4StringEffectiveLength(input);\n}\n\nfunction getIPv6PiecesOrPiecesAndIPv4StringEffectiveLength(input) {\n if (isValidIPv6PiecesString(input)) {\n return getIPv6PiecesStringEffectiveLength(input);\n }\n\n if (isValidIPv6PiecesAndIPv4String(input)) {\n return getIPv6PiecesAndIPv4StringEffectiveLength(input);\n }\n\n return failure;\n}\n\nfunction isValidIPv6PiecesAndIPv4String(input) {\n if (isValidIPv4AddressString(input)) {\n return true;\n }\n\n const ipv4SeparatorIndex = input.lastIndexOf(\":\");\n if (ipv4SeparatorIndex === -1) {\n return false;\n }\n\n return isValidIPv6PiecesString(input.substring(0, ipv4SeparatorIndex)) &&\n isValidIPv4AddressString(input.substring(ipv4SeparatorIndex + 1));\n}\n\nfunction getIPv6PiecesAndIPv4StringEffectiveLength(input) {\n if (!isValidIPv6PiecesAndIPv4String(input)) {\n return failure;\n }\n\n const ipv4SeparatorIndex = input.lastIndexOf(\":\");\n if (ipv4SeparatorIndex === -1) {\n return 2;\n }\n\n const piecesLength = getIPv6PiecesStringEffectiveLength(input.substring(0, ipv4SeparatorIndex));\n return piecesLength + 2;\n}\n\nfunction isValidIPv6PiecesString(input) {\n if (input === \"\") {\n return false;\n }\n\n const pieces = input.split(\":\");\n return pieces.every(isValidIPv6PieceString);\n}\n\nfunction getIPv6PiecesStringEffectiveLength(input) {\n return isValidIPv6PiecesString(input) ? input.split(\":\").length : failure;\n}\n\nfunction isValidIPv6PieceString(input) {\n if (input === \"\" || input.length > 4) {\n return false;\n }\n\n for (let i = 0; i < input.length; ++i) {\n if (!infra.isASCIIHex(input.codePointAt(i))) {\n return false;\n }\n }\n\n const value = parseInt(input, 16);\n return value <= 0xFFFF && (input.length === 1 || input[0] !== \"0\");\n}\n\nfunction isValidOpaqueHostString(input) {\n return isValidBracketedIPv6AddressString(input) ||\n (input !== \"\" && isValidURLUnits(input, forbiddenHostCodePoints));\n}\n\nfunction isValidURLPortString(input) {\n if (input === \"\") {\n return true;\n }\n if (!/^[0-9]+$/u.test(input)) {\n return false;\n }\n\n return Number(input) <= 65535;\n}\n\nfunction isValidPathAbsoluteURLString(input) {\n return input.startsWith(\"/\") && input.substring(1).split(\"/\").every(isValidURLPathSegmentString);\n}\n\nfunction isValidPathAbsoluteNonAuthorityURLString(input) {\n return isValidPathAbsoluteURLString(input) && !input.startsWith(\"//\");\n}\n\nfunction isValidPathRelativeURLString(input) {\n return !input.startsWith(\"/\") && input.split(\"/\").every(isValidURLPathSegmentString);\n}\n\nfunction isValidURLPathSegmentString(input) {\n return isValidURLUnits(input, pathSegmentExcludedCodePoints);\n}\n\nfunction isValidPathRelativeSchemeLessURLString(input) {\n return isValidPathRelativeURLString(input) && !/^[A-Za-z][A-Za-z0-9+.-]*:/u.test(input);\n}\n\nfunction isValidOpaquePathURLString(input) {\n return (input === \"\" || input[0] !== \"/\") && isValidURLUnits(input, opaquePathExcludedCodePoints);\n}\n\nfunction isValidURLQueryString(input) {\n return isValidURLUnits(input);\n}\n\nfunction isValidURLFragmentString(input) {\n return isValidURLUnits(input);\n}\n\nfunction isValidURLUnits(input, excludedCodePoints = new Set()) {\n for (let i = 0; i < input.length;) {\n if (input[i] === \"%\") {\n if (!isPercentEncodedByteAt(input, i)) {\n return false;\n }\n\n i += 3;\n continue;\n }\n\n const codePoint = input.codePointAt(i);\n if (!isURLCodePoint(codePoint) || excludedCodePoints.has(codePoint)) {\n return false;\n }\n\n i += codePoint > 0xFFFF ? 2 : 1;\n }\n\n return true;\n}\n\nmodule.exports = {\n isValidURLString\n};\n","\"use strict\";\n\nconst { URL, URLSearchParams } = require(\"./webidl2js-wrapper\");\nconst urlStateMachine = require(\"./lib/url-state-machine\");\nconst percentEncoding = require(\"./lib/percent-encoding\");\nconst urlStringValidator = require(\"./lib/url-string-validator\");\n\nconst sharedGlobalObject = { Array, Object, Promise, String, TypeError };\nURL.install(sharedGlobalObject, [\"Window\"]);\nURLSearchParams.install(sharedGlobalObject, [\"Window\"]);\n\nexports.URL = sharedGlobalObject.URL;\nexports.URLSearchParams = sharedGlobalObject.URLSearchParams;\n\nexports.parseURL = urlStateMachine.parseURL;\nexports.parseURLWithValidationErrors = urlStateMachine.parseURLWithValidationErrors;\nexports.isValidURLString = urlStringValidator.isValidURLString;\nexports.basicURLParse = urlStateMachine.basicURLParse;\nexports.serializeURL = urlStateMachine.serializeURL;\nexports.serializePath = urlStateMachine.serializePath;\nexports.serializeHost = urlStateMachine.serializeHost;\nexports.serializeInteger = urlStateMachine.serializeInteger;\nexports.serializeURLOrigin = urlStateMachine.serializeURLOrigin;\nexports.setTheUsername = urlStateMachine.setTheUsername;\nexports.setThePassword = urlStateMachine.setThePassword;\nexports.cannotHaveAUsernamePasswordPort = urlStateMachine.cannotHaveAUsernamePasswordPort;\nexports.hasAnOpaquePath = urlStateMachine.hasAnOpaquePath;\n\nexports.percentDecodeString = percentEncoding.percentDecodeString;\nexports.percentDecodeBytes = percentEncoding.percentDecodeBytes;\n","/**\n * @todo We could use `import generateUUID from 'uuid/v4';` (but it needs\n * crypto library, etc.; `rollup-plugin-node-builtins` doesn't recommend\n * using its own version and though there is <https://www.npmjs.com/package/crypto-browserify>,\n * it may be troublesome to bundle and not strongly needed)\n * @returns {string}\n */\nexport default function generateUUID () { // Adapted from original: public domain/MIT: https://stackoverflow.com/a/8809472/271577\n /* c8 ignore next */\n let d = Date.now();\n\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replaceAll(/[xy]/gu, function (c) {\n /* eslint-disable no-bitwise, sonarjs/pseudo-random -- Convenient */\n const r = Math.trunc((d + (Math.random() * 16)) % 16);\n d = Math.floor(d / 16);\n return (c === 'x' ? r : ((r & 0x3) | 0x8)).toString(16);\n /* eslint-enable no-bitwise, sonarjs/pseudo-random -- Convenient */\n });\n}\n","// @ts-nocheck -- Uses `Buffer`, which has no types without `@types/node`\n// (matches `URL.js`'s own `@ts-nocheck`, also Node-runtime-specific)\n// Node's native `Blob`/`File` only expose their bytes asynchronously\n// (`.arrayBuffer()`/`.text()`/`.stream()`), with no standard synchronous\n// accessor. `xmlHttpRequestOverrideMimeType` (see `URL.js`) needs\n// synchronous access to back the `blob`/`file` types' synchronous\n// `replace()`. For jsdom's own `Blob`/`File`, it gets this via jsdom's\n// internal wrapper-unwrapping; for any other environment (e.g. Node\n// without jsdom, as in a worker thread with no DOM), these\n// `SyncBlob`/`SyncFile` subclasses provide the same synchronous access by\n// capturing a copy of the content as a `Buffer`, at construction time,\n// before handing the same `parts` off to the real, native constructor.\n//\n// The copy is kept in a module-private `WeakMap`, not as a property on the\n// instance: a plain (even non-enumerable) property would let any code\n// holding a reference to the `Blob`/`File` read its full raw content\n// synchronously, bypassing the normal, async-only `Blob`/`File` API --\n// and would risk leaking into `Object.keys()`/`JSON.stringify()`/etc. of\n// an object that's supposed to look like an ordinary `Blob`/`File`. Only\n// code that imports `getSyncBytes` from this same module can read it.\n\n/**\n * @type {WeakMap<Blob, Buffer>}\n */\nconst syncBytesMap = new WeakMap();\n\n/**\n * @param {Blob} blob A `SyncBlob`/`SyncFile` (or any `Blob`/`File` this\n * module has otherwise recorded bytes for).\n * @returns {Buffer|undefined} `undefined` if `blob` isn't one this module\n * has a synchronous copy for.\n */\nfunction getSyncBytes (blob) {\n return syncBytesMap.get(blob);\n}\n\n/**\n * @param {(string|ArrayBuffer|ArrayBufferView|Blob)[]} parts\n * @returns {Buffer}\n */\nfunction partsToBuffer (parts) {\n return Buffer.concat(parts.map((part) => {\n if (typeof part === 'string') {\n return Buffer.from(part, 'utf8');\n }\n if (Object.prototype.toString.call(part) === '[object ArrayBuffer]') {\n return Buffer.from(/** @type {ArrayBuffer} */ (part));\n }\n if (ArrayBuffer.isView(part)) {\n return Buffer.from(\n part.buffer, part.byteOffset, part.byteLength\n );\n }\n const partBytes = part && syncBytesMap.get(/** @type {Blob} */ (part));\n if (partBytes) {\n return partBytes;\n }\n return Buffer.from(String(part), 'utf8');\n }));\n}\n\n/**\n * A `Blob` subclass which also keeps a synchronously-readable copy of its\n * content (accessible only via `getSyncBytes`, not as a property of the\n * instance itself), for environments (e.g. Node without jsdom) where\n * `Blob` alone offers no synchronous way to read it back.\n */\nclass SyncBlob extends Blob {\n /**\n * @param {(string|ArrayBuffer|ArrayBufferView|Blob)[]} [parts]\n * @param {BlobPropertyBag} [options]\n */\n // eslint-disable-next-line @stylistic/max-len -- Long\n // eslint-disable-next-line default-param-last -- Must match native `Blob` positionally\n constructor (parts = [], options) {\n super(parts, options);\n syncBytesMap.set(this, partsToBuffer(parts));\n }\n}\n\n/**\n * `File` counterpart to `SyncBlob` -- see its documentation for why this\n * exists.\n */\nclass SyncFile extends File {\n /**\n * @param {(string|ArrayBuffer|ArrayBufferView|Blob)[]} parts\n * @param {string} name\n * @param {FilePropertyBag} [options]\n */\n constructor (parts, name, options) {\n super(parts, name, options);\n syncBytesMap.set(this, partsToBuffer(parts));\n }\n}\n\nexport {SyncBlob, SyncFile, getSyncBytes};\n","/* eslint-disable unicorn/no-this-outside-of-class -- Monkey-patching */\n// @ts-nocheck -- jsdom has no types for the file we need\n/* globals location, XMLHttpRequest -- Polyfills */\n\n// Imperfectly polyfill jsdom for testing `Blob`/`File`\n\n// Todo: `generateUUID` and `whatwgURL` can be removed once\n// `URL.createObjectURL` may be implemented in jsdom:\n// https://github.com/jsdom/jsdom/issues/1721\n// though local-xmlhttprequest may need to be adapted\n\n// We also need to tweak `XMLHttpRequest` which our types\n// rely on to obtain the Blob/File content\nimport {createRequire} from 'node:module';\nimport whatwgURL from 'whatwg-url';\nimport generateUUID from '../utils/generateUUID.js';\nimport {getSyncBytes} from './SyncBlobFile.js';\n\nconst require = createRequire(import.meta.url);\nconst {implForWrapper} = require('jsdom/lib/generated/idl/utils.js');\n\nconst {serializeURLOrigin, parseURL} = whatwgURL;\n\n/**\n * @type {{[key: string]: Blob}}\n */\nconst blobURLs = {};\n\n/**\n * @param {Blob} blob\n * @returns {string}\n */\nconst createObjectURL = function (blob) {\n const parsedURL = parseURL(location.href);\n // https://github.com/jsdom/jsdom/issues/1721#issuecomment-282465529\n const blobURL = 'blob:' +\n (parsedURL\n ? serializeURLOrigin(parsedURL)\n // While `parseURL` can return `null`, `location.href`\n // tends not to allow\n /* c8 ignore next */\n : 'null'\n ) +\n '/' + generateUUID();\n blobURLs[blobURL] = blob;\n return blobURL;\n};\n\n/**\n * @param {string} blobURL\n * @returns {void}\n */\nconst revokeObjectURL = function (blobURL) {\n delete blobURLs[blobURL];\n};\n\n/**\n * Synchronously reads the content of a `Blob`/`File` previously registered\n * via `createObjectURL`. `SyncBlob`/`SyncFile` (see `SyncBlobFile.js`)\n * keep their own synchronously-readable copy of the content for\n * environments without jsdom (e.g. Node on its own); prefer that if\n * present, falling back to jsdom's internal wrapper-unwrapping otherwise.\n * @param {Blob} blob\n * @returns {Buffer|undefined}\n */\nconst getBlobBytesSync = function (blob) {\n return getSyncBytes(blob) || implForWrapper(blob)?._bytes;\n};\n\n/**\n * Resolves a `blob:` URL (previously registered via `createObjectURL`) back\n * to its content, synchronously -- for use by any XHR/`fetch` polyfill\n * that needs to serve `blob:` URLs itself (mirroring how browsers read\n * `blob:` URLs without going over the network).\n * @param {string} blobURL\n * @returns {{type: string, bytes: Buffer}|undefined} `undefined` if\n * `blobURL` is not (or is no longer) a registered `blob:` URL.\n */\nconst resolveObjectURL = function (blobURL) {\n const blob = blobURLs[blobURL];\n if (!blob) {\n return undefined;\n }\n // eslint-disable-next-line n/no-sync -- Deliberate\n const bytes = getBlobBytesSync(blob);\n if (!bytes) {\n return undefined;\n }\n return {type: blob.type, bytes};\n};\n\n// We only handle the case of binary, so no need to override `open`\n// in all cases; but this only works if override is called first\n\n/**\n * @callback XMLHttpRequestMimeOverrider\n * @param {string} mimeType\n * @returns {void}\n */\n\n/**\n * @param {object} [cfg]\n * @param {boolean} [cfg.polyfillDataURLs]\n * @returns {XMLHttpRequestMimeOverrider}\n */\nconst xmlHttpRequestOverrideMimeType = function (\n {polyfillDataURLs} = {}\n) {\n // Set these references late in case global `XMLHttpRequest` has since\n // been changed/set\n const _xhropen = XMLHttpRequest.prototype.open;\n const _xhrOverrideMimeType = XMLHttpRequest.prototype.overrideMimeType;\n return function (mimeType, ...args) {\n if (mimeType === 'text/plain; charset=x-user-defined') {\n /**\n * @param {string} method\n * @param {string} url\n * @param {boolean} async\n * @returns {void}\n */\n this.open = function (method, url, async) {\n if (url.startsWith('blob:')) {\n const blob = blobURLs[url];\n if (!blob) {\n this.send = function () {\n throw new DOMException(\n `Failed to execute 'send' on ` +\n `'XMLHttpRequest': Failed to ` +\n `load '${url}'`,\n 'NetworkError'\n );\n };\n return undefined;\n }\n const responseType = 'text/plain'; // blob.type;\n // utf16le and base64 both convert lone surrogates\n\n // eslint-disable-next-line n/no-sync -- Deliberate\n const syncBytes = getBlobBytesSync(blob);\n // jsdom changed Blob internals from `_buffer`\n // to `_bytes`; support both.\n const encoded =\n Buffer.from(syncBytes).toString('binary');\n\n // Not usable in jsdom which makes properties readonly,\n // but local-xmlhttprequest can use (and jsdom can\n // handle data URLs anyways)\n if (polyfillDataURLs) {\n this.status = 200;\n this.send = function () {\n // Empty\n };\n this.responseType = responseType;\n this.responseText = encoded;\n return undefined;\n }\n url = 'data:' + responseType + ',' +\n encodeURIComponent(encoded);\n }\n return _xhropen.call(this, method, url, async);\n };\n\n // As of jsdom 22.0.0, this is needed as the code below will\n // have its own effects in overriding `responseText`\n return undefined;\n }\n // The presence of `XMLHttpRequest.prototype.overrideMimeType`\n // is not really needed here, so making optional\n return _xhrOverrideMimeType &&\n _xhrOverrideMimeType.call(this, mimeType, ...args);\n };\n};\n\nexport {\n createObjectURL, xmlHttpRequestOverrideMimeType, revokeObjectURL,\n resolveObjectURL, getBlobBytesSync\n};\n","/* eslint-disable no-shadow -- Polyfill */\n/**\n * QuotaExceededError polyfill (not yet available in Node/jsdom).\n */\nclass QuotaExceededError extends DOMException {\n /* eslint-enable no-shadow -- Polyfill */\n /**\n * @param {string} [message]\n * @param {{quota?: number, requested?: number}} [options]\n */\n constructor (message = '', {quota, requested} = {}) {\n super(message, 'QuotaExceededError');\n this._quota = quota === undefined ? null : quota;\n this._requested = requested === undefined ? null : requested;\n if (this._quota !== null && this._quota < 0) {\n throw new RangeError('quota must not be negative');\n }\n if (this._requested !== null && this._requested < 0) {\n throw new RangeError('requested must not be negative');\n }\n if (\n this._quota !== null && this._requested !== null &&\n this._requested < this._quota\n ) {\n throw new RangeError('requested must not be less than quota');\n }\n }\n\n /**\n * @returns {number|null}\n */\n get quota () {\n return this._quota;\n }\n\n /**\n * @returns {number|null}\n */\n get requested () {\n return this._requested;\n }\n\n /* eslint-disable class-methods-use-this -- Not needed */\n /**\n * @returns {string}\n */\n get [Symbol.toStringTag] () {\n /* eslint-enable class-methods-use-this -- Not needed */\n return 'QuotaExceededError';\n }\n}\n\nexport {QuotaExceededError};\n","/**\n * WebTransportError polyfill (not yet available in Node/jsdom).\n */\nclass WebTransportError extends DOMException {\n /**\n * @param {{\n * message?: string,\n * source?: \"stream\"|\"session\",\n * streamErrorCode?: number|null\n * }} [init]\n */\n constructor ({\n message = '', source = 'stream', streamErrorCode = null\n } = {}) {\n super(message, 'WebTransportError');\n this._source = source;\n this._streamErrorCode = streamErrorCode;\n }\n\n /**\n * @returns {\"stream\"|\"session\"}\n */\n get source () {\n return this._source;\n }\n\n /**\n * @returns {number|null}\n */\n get streamErrorCode () {\n return this._streamErrorCode;\n }\n\n /* eslint-disable class-methods-use-this -- Not needed */\n /**\n * @returns {string}\n */\n get [Symbol.toStringTag] () {\n /* eslint-enable class-methods-use-this -- Not needed */\n return 'WebTransportError';\n }\n}\n\nexport {WebTransportError};\n","// Map format names to byte sizes and TypedArray constructors\nconst FORMAT_MAP = {\n u8: {bytesPerSample: 1, TypedArray: Uint8Array, isPlanar: false},\n s16: {bytesPerSample: 2, TypedArray: Int16Array, isPlanar: false},\n s32: {bytesPerSample: 4, TypedArray: Int32Array, isPlanar: false},\n f32: {bytesPerSample: 4, TypedArray: Float32Array, isPlanar: false},\n 'u8-planar': {bytesPerSample: 1, TypedArray: Uint8Array, isPlanar: true},\n 's16-planar': {bytesPerSample: 2, TypedArray: Int16Array, isPlanar: true},\n 's32-planar': {bytesPerSample: 4, TypedArray: Int32Array, isPlanar: true},\n 'f32-planar': {bytesPerSample: 4, TypedArray: Float32Array, isPlanar: true}\n};\n\n/**\n * AudioData class.\n */\nclass AudioData {\n /**\n * @typedef {\"u8\"|\"s16\"|\"s32\"|\"f32\"|\"u8-planar\"|\"s16-planar\"\n * |\"s32-planar\"|\"f32-planar\"} AudioDataFormat\n */\n\n /**\n *\n * @param {{\n * format: AudioDataFormat,\n * sampleRate: number,\n * numberOfChannels: number,\n * numberOfFrames: number,\n * timestamp: number,\n * data: ArrayBufferView|ArrayBuffer\n * }} cfg\n */\n constructor ({\n format, sampleRate, numberOfChannels, numberOfFrames,\n timestamp = 0, data\n }) {\n if (!Object.hasOwn(FORMAT_MAP, format)) {\n throw new TypeError(`Unsupported audio format: ${format}`);\n }\n\n this.format = format;\n this.sampleRate = sampleRate;\n this.numberOfChannels = numberOfChannels;\n this.numberOfFrames = numberOfFrames;\n this.timestamp = timestamp;\n this.duration = numberOfFrames / sampleRate;\n\n const meta = FORMAT_MAP[format];\n this._bytesPerSample = meta.bytesPerSample;\n this._TypedArray = meta.TypedArray;\n this._isPlanar = Boolean(meta.isPlanar);\n\n // Per the AudioData API, `data` is a single buffer; for planar\n // formats, each channel's plane is stored back-to-back within it.\n this._data = ArrayBuffer.isView(data)\n ? new Uint8Array(data.buffer, data.byteOffset, data.byteLength)\n : new Uint8Array(data);\n }\n\n /* eslint-disable class-methods-use-this -- Not needed */\n /**\n * @returns {string}\n */\n get [Symbol.toStringTag] () {\n /* eslint-enable class-methods-use-this -- Not needed */\n return 'AudioData';\n }\n\n /**\n *\n * @param {{\n * planeIndex?: number,\n * frameCount?: number\n * }} [options]\n * @returns {number}\n */\n allocationSize (options = {}) {\n const planeIndex = options.planeIndex || 0;\n const frameCount = options.frameCount !== undefined\n ? options.frameCount\n : this.numberOfFrames;\n\n if (this._isPlanar) {\n if (planeIndex >= this.numberOfChannels) {\n throw new RangeError(\n `planeIndex ${\n planeIndex\n } out of bounds for channel count ${this.numberOfChannels}`\n );\n }\n // Planar: One independent buffer per channel\n return frameCount * this._bytesPerSample;\n }\n if (planeIndex !== 0) {\n throw new RangeError(\n `Interleaved formats only have 1 plane (planeIndex 0)`\n );\n }\n // Interleaved: Channels multiplexed in one buffer\n return frameCount * this.numberOfChannels * this._bytesPerSample;\n }\n\n /**\n *\n * @param {ArrayBufferView|ArrayBuffer} destination\n * @param {{\n * planeIndex?: number,\n * frameOffset?: number,\n * frameCount?: number\n * }} [options]\n * @returns {void}\n */\n copyTo (destination, options = {}) {\n const planeIndex = options.planeIndex || 0;\n const frameOffset = options.frameOffset || 0;\n const frameCount = options.frameCount !== undefined\n ? options.frameCount\n : (this.numberOfFrames - frameOffset);\n\n if (frameOffset + frameCount > this.numberOfFrames) {\n throw new RangeError(\n 'Requested frame offset or count exceeds ' +\n 'total available frames.'\n );\n }\n\n // Explicitly target the ArrayBuffer underlying the incoming View\n // (e.g. Node Buffer, Float32Array)\n const destIsView = ArrayBuffer.isView(destination);\n const targetBuffer = /** @type {ArrayBuffer} */ (\n destIsView ? destination.buffer : destination\n );\n const targetByteOffset = destIsView ? destination.byteOffset : 0;\n const targetByteLength = destination.byteLength;\n\n // Check size requirements matching standard layout sizes\n const requiredSize = this.allocationSize({planeIndex, frameCount});\n if (targetByteLength < requiredSize) {\n throw new RangeError(\n `Destination buffer is too small. Need ${\n requiredSize\n } bytes, got ${targetByteLength}.`\n );\n }\n\n // Map a TypedArray overlay precisely onto the target buffer location\n const destElements = requiredSize / this._bytesPerSample;\n const destView = new this._TypedArray(\n targetBuffer, targetByteOffset, destElements\n );\n\n // Planar formats store each channel's plane back-to-back within\n // `_data`; interleaved formats store one plane with samples\n // multiplexed across channels.\n const chCount = this._isPlanar ? 1 : this.numberOfChannels;\n const planeByteOffset = this._isPlanar\n ? planeIndex * this.numberOfFrames * this._bytesPerSample\n : 0;\n const startElement = frameOffset * chCount;\n const elementCount = frameCount * chCount;\n const sourceByteOffset = planeByteOffset +\n (startElement * this._bytesPerSample);\n\n const sourceView = new this._TypedArray(\n /** @type {ArrayBuffer} */ (this._data.buffer),\n this._data.byteOffset + sourceByteOffset,\n elementCount\n );\n destView.set(sourceView);\n }\n}\n\nexport {AudioData};\n","/**\n * EncodedAudioChunk class.\n */\nclass EncodedAudioChunk {\n /**\n * @typedef {\"key\"|\"delta\"} EncodedAudioChunkType\n */\n\n /**\n * @param {{\n * type: EncodedAudioChunkType,\n * timestamp: number,\n * duration?: number,\n * data: ArrayBufferView|ArrayBuffer\n * }} init\n */\n constructor ({type, timestamp, duration, data}) {\n if (type !== 'key' && type !== 'delta') {\n throw new TypeError(`Unsupported EncodedAudioChunk type: ${type}`);\n }\n\n this.type = type;\n this.timestamp = timestamp;\n this.duration = duration ?? null;\n\n this._data = ArrayBuffer.isView(data)\n ? new Uint8Array(data.buffer, data.byteOffset, data.byteLength)\n : new Uint8Array(data);\n }\n\n /**\n * @returns {number}\n */\n get byteLength () {\n return this._data.byteLength;\n }\n\n /**\n * @param {ArrayBufferView|ArrayBuffer} destination\n * @returns {void}\n */\n copyTo (destination) {\n const destIsView = ArrayBuffer.isView(destination);\n const targetBuffer = /** @type {ArrayBuffer} */ (\n destIsView ? destination.buffer : destination\n );\n const targetByteOffset = destIsView ? destination.byteOffset : 0;\n const targetByteLength = destination.byteLength;\n\n if (targetByteLength < this._data.byteLength) {\n throw new RangeError(\n `Destination buffer is too small. Need ${\n this._data.byteLength\n } bytes, got ${targetByteLength}.`\n );\n }\n\n const destView = new Uint8Array(\n targetBuffer, targetByteOffset, this._data.byteLength\n );\n destView.set(this._data);\n }\n\n /* eslint-disable class-methods-use-this -- Not needed */\n /**\n * @returns {string}\n */\n get [Symbol.toStringTag] () {\n /* eslint-enable class-methods-use-this -- Not needed */\n return 'EncodedAudioChunk';\n }\n}\n\nexport {EncodedAudioChunk};\n","/**\n * EncodedVideoChunk class.\n */\nclass EncodedVideoChunk {\n /**\n * @typedef {\"key\"|\"delta\"} EncodedVideoChunkType\n */\n\n /**\n * @param {{\n * type: EncodedVideoChunkType,\n * timestamp: number,\n * duration?: number,\n * data: ArrayBufferView|ArrayBuffer\n * }} init\n */\n constructor ({type, timestamp, duration, data}) {\n if (type !== 'key' && type !== 'delta') {\n throw new TypeError(`Unsupported EncodedVideoChunk type: ${type}`);\n }\n\n this.type = type;\n this.timestamp = timestamp;\n this.duration = duration ?? null;\n\n this._data = ArrayBuffer.isView(data)\n ? new Uint8Array(data.buffer, data.byteOffset, data.byteLength)\n : new Uint8Array(data);\n }\n\n /**\n * @returns {number}\n */\n get byteLength () {\n return this._data.byteLength;\n }\n\n /**\n * @param {ArrayBufferView|ArrayBuffer} destination\n * @returns {void}\n */\n copyTo (destination) {\n const destIsView = ArrayBuffer.isView(destination);\n const targetBuffer = /** @type {ArrayBuffer} */ (\n destIsView ? destination.buffer : destination\n );\n const targetByteOffset = destIsView ? destination.byteOffset : 0;\n const targetByteLength = destination.byteLength;\n\n if (targetByteLength < this._data.byteLength) {\n throw new RangeError(\n `Destination buffer is too small. Need ${\n this._data.byteLength\n } bytes, got ${targetByteLength}.`\n );\n }\n\n const destView = new Uint8Array(\n targetBuffer, targetByteOffset, this._data.byteLength\n );\n destView.set(this._data);\n }\n\n /* eslint-disable class-methods-use-this -- Not needed */\n /**\n * @returns {string}\n */\n get [Symbol.toStringTag] () {\n /* eslint-enable class-methods-use-this -- Not needed */\n return 'EncodedVideoChunk';\n }\n}\n\nexport {EncodedVideoChunk};\n","// Per-plane subsampling factors (relative to `codedWidth`/`codedHeight`)\n// and bytes per sample, keyed by `VideoPixelFormat`. Planes are assumed\n// to be stored tightly packed and back-to-back within a single buffer,\n// in the order listed here.\nconst PIXEL_FORMATS = {\n I420: [\n {xSub: 1, ySub: 1, bytesPerSample: 1}, // Y\n {xSub: 2, ySub: 2, bytesPerSample: 1}, // U\n {xSub: 2, ySub: 2, bytesPerSample: 1} // V\n ],\n I420A: [\n {xSub: 1, ySub: 1, bytesPerSample: 1}, // Y\n {xSub: 2, ySub: 2, bytesPerSample: 1}, // U\n {xSub: 2, ySub: 2, bytesPerSample: 1}, // V\n {xSub: 1, ySub: 1, bytesPerSample: 1} // A\n ],\n I422: [\n {xSub: 1, ySub: 1, bytesPerSample: 1}, // Y\n {xSub: 2, ySub: 1, bytesPerSample: 1}, // U\n {xSub: 2, ySub: 1, bytesPerSample: 1} // V\n ],\n I444: [\n {xSub: 1, ySub: 1, bytesPerSample: 1}, // Y\n {xSub: 1, ySub: 1, bytesPerSample: 1}, // U\n {xSub: 1, ySub: 1, bytesPerSample: 1} // V\n ],\n NV12: [\n {xSub: 1, ySub: 1, bytesPerSample: 1}, // Y\n {xSub: 2, ySub: 2, bytesPerSample: 2} // Interleaved UV\n ],\n RGBA: [{xSub: 1, ySub: 1, bytesPerSample: 4}],\n RGBX: [{xSub: 1, ySub: 1, bytesPerSample: 4}],\n BGRA: [{xSub: 1, ySub: 1, bytesPerSample: 4}],\n BGRX: [{xSub: 1, ySub: 1, bytesPerSample: 4}]\n};\n\n/**\n * VideoFrame class.\n *\n * Note: Unlike the spec, this polyfill only supports construction from\n * a raw pixel buffer (`VideoFrameBufferInit`); constructing from a\n * `CanvasImageSource` is not supported as there is no such source of\n * pixels available by default in Node. `copyTo`/`allocationSize` also\n * always treat the source data as tightly packed at `codedWidth` x\n * `codedHeight` (i.e. a custom `layout` is not supported).\n */\nclass VideoFrame {\n /**\n * @typedef {\"BGRA\"|\"BGRX\"|\"I420\"|\"I420A\"|\"I422\"|\"I444\"|\"NV12\"|\"RGBA\"\n * |\"RGBX\"} VideoPixelFormat\n */\n\n /**\n * @typedef {{\n * x: number, y: number, width: number, height: number\n * }} VideoFrameRect\n */\n\n /** @type {Uint8Array|undefined} */\n #data;\n\n /** @type {boolean} */\n #closed;\n\n /** @type {VideoPixelFormat|null} */\n format;\n\n /** @type {number} */\n codedWidth;\n\n /** @type {number} */\n codedHeight;\n\n /** @type {VideoFrameRect|null} */\n codedRect;\n\n /** @type {number} */\n timestamp;\n\n /** @type {number|null} */\n duration;\n\n /** @type {VideoFrameRect|null} */\n visibleRect;\n\n /** @type {number} */\n displayWidth;\n\n /** @type {number} */\n displayHeight;\n\n /**\n * @type {{\n * primaries: string|null, transfer: string|null,\n * matrix: string|null, fullRange: boolean|null\n * }}\n */\n colorSpace;\n\n /**\n * @param {ArrayBufferView|ArrayBuffer} data\n * @param {{\n * format: VideoPixelFormat,\n * codedWidth: number,\n * codedHeight: number,\n * timestamp: number,\n * duration?: number|null,\n * visibleRect?: VideoFrameRect,\n * displayWidth?: number,\n * displayHeight?: number,\n * colorSpace?: {\n * primaries: string|null,\n * transfer: string|null,\n * matrix: string|null,\n * fullRange: boolean|null\n * }\n * }} init\n */\n constructor (data, {\n format, codedWidth, codedHeight, timestamp, duration,\n visibleRect, displayWidth, displayHeight, colorSpace\n }) {\n if (!Object.hasOwn(PIXEL_FORMATS, format)) {\n throw new TypeError(`Unsupported video pixel format: ${format}`);\n }\n\n this.format = format;\n this.codedWidth = codedWidth;\n this.codedHeight = codedHeight;\n this.codedRect = {x: 0, y: 0, width: codedWidth, height: codedHeight};\n this.timestamp = timestamp;\n this.duration = duration ?? null;\n\n this.visibleRect = visibleRect\n ? {\n x: visibleRect.x,\n y: visibleRect.y,\n width: visibleRect.width,\n height: visibleRect.height\n }\n : {x: 0, y: 0, width: codedWidth, height: codedHeight};\n\n this.displayWidth = displayWidth ?? this.visibleRect.width;\n this.displayHeight = displayHeight ?? this.visibleRect.height;\n\n this.colorSpace = colorSpace\n ? {\n primaries: colorSpace.primaries,\n transfer: colorSpace.transfer,\n matrix: colorSpace.matrix,\n fullRange: colorSpace.fullRange\n }\n : {primaries: null, transfer: null, matrix: null, fullRange: null};\n\n this.#data = ArrayBuffer.isView(data)\n ? new Uint8Array(data.buffer, data.byteOffset, data.byteLength)\n : new Uint8Array(data);\n\n this.#closed = false;\n }\n\n /**\n * @returns {void}\n */\n #checkNotClosed () {\n if (this.#closed) {\n throw new DOMException(\n 'VideoFrame is closed', 'InvalidStateError'\n );\n }\n }\n\n /**\n * Computes, for the (cropped) region of interest, the byte layout of\n * each plane both within our tightly packed source data and within\n * a tightly packed destination buffer.\n * @param {{\n * rect?: {x: number, y: number, width: number, height: number},\n * format?: VideoPixelFormat\n * }} options\n * @returns {{\n * planes: {\n * srcPlaneOffset: number, srcStride: number,\n * srcRowStart: number, srcRowStartY: number,\n * planeWidth: number, planeHeight: number, bytesPerSample: number,\n * stride: number, offset: number\n * }[],\n * layout: {offset: number, stride: number}[],\n * totalSize: number\n * }}\n */\n #layout (options) {\n if (options.format && options.format !== this.format) {\n throw new TypeError(\n 'VideoFrame polyfill does not support pixel format conversion'\n );\n }\n\n // Only reached while open (callers always call `#checkNotClosed`\n // first), so `format`/`visibleRect` are known non-null here.\n const {format: rawFormat, visibleRect: rawVisibleRect} = this;\n const format = /** @type {VideoPixelFormat} */ (rawFormat);\n const rect = options.rect ||\n /** @type {VideoFrameRect} */ (rawVisibleRect);\n const specs = PIXEL_FORMATS[format];\n\n let srcOffset = 0;\n const srcPlaneOffsets = specs.map(({xSub, ySub, bytesPerSample}) => {\n const planeOffset = srcOffset;\n srcOffset += Math.ceil(this.codedWidth / xSub) *\n Math.ceil(this.codedHeight / ySub) * bytesPerSample;\n return planeOffset;\n });\n\n let destOffset = 0;\n const planes = specs.map(({xSub, ySub, bytesPerSample}, i) => {\n const planeWidth = Math.ceil(rect.width / xSub);\n const planeHeight = Math.ceil(rect.height / ySub);\n const stride = planeWidth * bytesPerSample;\n const offset = destOffset;\n destOffset += stride * planeHeight;\n return {\n srcPlaneOffset: srcPlaneOffsets[i],\n srcStride: Math.ceil(this.codedWidth / xSub) * bytesPerSample,\n srcRowStart: Math.floor(rect.x / xSub) * bytesPerSample,\n srcRowStartY: Math.floor(rect.y / ySub),\n planeWidth, planeHeight, bytesPerSample, stride, offset\n };\n });\n\n return {\n planes,\n layout: planes.map(({offset, stride}) => ({offset, stride})),\n totalSize: destOffset\n };\n }\n\n /**\n * @param {{\n * rect?: {x: number, y: number, width: number, height: number},\n * format?: VideoPixelFormat\n * }} [options]\n * @returns {number}\n */\n allocationSize (options = {}) {\n this.#checkNotClosed();\n return this.#layout(options).totalSize;\n }\n\n /**\n * @param {ArrayBufferView|ArrayBuffer} destination\n * @param {{\n * rect?: {x: number, y: number, width: number, height: number},\n * format?: VideoPixelFormat\n * }} [options]\n * @returns {Promise<{offset: number, stride: number}[]>}\n */\n copyTo (destination, options = {}) {\n this.#checkNotClosed();\n const {planes, layout, totalSize} = this.#layout(options);\n const data = /** @type {Uint8Array} */ (this.#data);\n\n const destIsView = ArrayBuffer.isView(destination);\n const targetBuffer = /** @type {ArrayBuffer} */ (\n destIsView ? destination.buffer : destination\n );\n const targetByteOffset = destIsView ? destination.byteOffset : 0;\n const targetByteLength = destination.byteLength;\n\n if (targetByteLength < totalSize) {\n throw new RangeError(\n `Destination buffer is too small. Need ${\n totalSize\n } bytes, got ${targetByteLength}.`\n );\n }\n\n const destBytes = new Uint8Array(\n targetBuffer, targetByteOffset, totalSize\n );\n\n for (const plane of planes) {\n const {\n srcPlaneOffset, srcStride, srcRowStart, srcRowStartY,\n planeWidth, planeHeight, bytesPerSample, stride, offset\n } = plane;\n const rowBytes = planeWidth * bytesPerSample;\n for (let row = 0; row < planeHeight; row++) {\n const srcStart = srcPlaneOffset +\n ((srcRowStartY + row) * srcStride) + srcRowStart;\n destBytes.set(\n data.subarray(srcStart, srcStart + rowBytes),\n offset + (row * stride)\n );\n }\n }\n\n return Promise.resolve(layout);\n }\n\n /**\n * @returns {VideoFrame}\n */\n clone () {\n this.#checkNotClosed();\n const data = /** @type {Uint8Array} */ (this.#data);\n return new VideoFrame(data.slice(), {\n format: /** @type {VideoPixelFormat} */ (this.format),\n codedWidth: this.codedWidth,\n codedHeight: this.codedHeight,\n timestamp: this.timestamp,\n duration: this.duration,\n visibleRect: /** @type {VideoFrameRect} */ (this.visibleRect),\n displayWidth: this.displayWidth,\n displayHeight: this.displayHeight,\n colorSpace: this.colorSpace\n });\n }\n\n /**\n * @returns {void}\n */\n close () {\n this.#closed = true;\n this.#data = undefined;\n this.format = null;\n this.codedWidth = 0;\n this.codedHeight = 0;\n this.codedRect = null;\n this.visibleRect = null;\n this.displayWidth = 0;\n this.displayHeight = 0;\n this.duration = null;\n this.timestamp = 0;\n this.colorSpace = {\n primaries: null, transfer: null, matrix: null, fullRange: null\n };\n }\n\n /* eslint-disable class-methods-use-this -- Not needed */\n /**\n * @returns {string}\n */\n get [Symbol.toStringTag] () {\n /* eslint-enable class-methods-use-this -- Not needed */\n return 'VideoFrame';\n }\n}\n\nexport {VideoFrame};\n","// No constructor in JSDom\n// globalThis.DOMRect = window.DOMRect;\n/**\n * DOMRect class.\n */\nclass DOMRect {\n /**\n * @param {number} x\n * @param {number} y\n * @param {number} width\n * @param {number} height\n */\n constructor (x, y, width, height) {\n this.x = this.left = x;\n this.y = this.top = y;\n this.width = width;\n this.height = height;\n this.bottom = y + height;\n this.right = x + width;\n }\n /* eslint-disable class-methods-use-this -- Not needed */\n /**\n * @returns {string}\n */\n get [Symbol.toStringTag] () {\n /* eslint-enable class-methods-use-this -- Not needed */\n return 'DOMRect';\n }\n}\n\nexport {DOMRect};\n","// No constructor in JSDom\n// globalThis.DOMRectReadOnly = window.DOMRectReadOnly;\n/**\n * DOMRectReadOnly class.\n */\nclass DOMRectReadOnly {\n /**\n * @param {number} x\n * @param {number} y\n * @param {number} width\n * @param {number} height\n */\n constructor (x, y, width, height) {\n this.x = this.left = x;\n this.y = this.top = y;\n this.width = width;\n this.height = height;\n this.bottom = y + height;\n this.right = x + width;\n }\n /* eslint-disable class-methods-use-this -- Not needed */\n /**\n * @returns {string}\n */\n get [Symbol.toStringTag] () {\n /* eslint-enable class-methods-use-this -- Not needed */\n return 'DOMRectReadOnly';\n }\n}\n\nexport {DOMRectReadOnly};\n","// No constructor in JSDom\n// globalThis.DOMPoint = window.DOMPoint;\n/**\n * DOMPoint class.\n */\nclass DOMPoint {\n /**\n * @param {number} x\n * @param {number} y\n * @param {number} z\n * @param {number} w\n */\n constructor (x, y, z, w) {\n this.x = x ?? 0;\n this.y = y ?? 0;\n this.z = z ?? 0;\n this.w = w ?? 1;\n }\n /* eslint-disable class-methods-use-this -- Not needed */\n /**\n * @returns {string}\n */\n get [Symbol.toStringTag] () {\n /* eslint-enable class-methods-use-this -- Not needed */\n return 'DOMPoint';\n }\n}\n\nexport {DOMPoint};\n","// No constructor in JSDom\n// globalThis.DOMPointReadOnly = window.DOMPointReadOnly;\n/**\n * DOMPointReadOnly class.\n */\nclass DOMPointReadOnly {\n /**\n * @param {number} x\n * @param {number} y\n * @param {number} z\n * @param {number} w\n */\n constructor (x, y, z, w) {\n this.x = x ?? 0;\n this.y = y ?? 0;\n this.z = z ?? 0;\n this.w = w ?? 1;\n }\n\n /* eslint-disable class-methods-use-this -- Not needed */\n /**\n * @returns {string}\n */\n get [Symbol.toStringTag] () {\n /* eslint-enable class-methods-use-this -- Not needed */\n return 'DOMPointReadOnly';\n }\n}\n\nexport {DOMPointReadOnly};\n","import {DOMPoint} from './DOMPoint.js';\n\n// No constructor in JSDom\n// globalThis.DOMQuad = window.DOMQuad;\n/**\n * DOMQuad class.\n */\nclass DOMQuad {\n /**\n * @param {DOMPoint} p1\n * @param {DOMPoint} p2\n * @param {DOMPoint} p3\n * @param {DOMPoint} p4\n */\n constructor (p1, p2, p3, p4) {\n this.p1 = p1 ?? new DOMPoint(0, 0, 0, 1);\n this.p2 = p2 ?? new DOMPoint(0, 0, 0, 1);\n this.p3 = p3 ?? new DOMPoint(0, 0, 0, 1);\n this.p4 = p4 ?? new DOMPoint(0, 0, 0, 1);\n }\n /* eslint-disable class-methods-use-this -- Not needed */\n /**\n * @returns {string}\n */\n get [Symbol.toStringTag] () {\n /* eslint-enable class-methods-use-this -- Not needed */\n return 'DOMQuad';\n }\n}\n\nexport {DOMQuad};\n","// No constructor in JSDom\n// globalThis.DOMMatrix = window.DOMMatrix;\n/**\n * DOMMatrix class.\n */\nclass DOMMatrix {\n /**\n * @param {[number, number, number, number, number, number]|\n * [\n * number, number, number, number,\n * number, number, number, number,\n * number, number, number, number,\n * number, number, number, number\n * ]} init\n */\n constructor (init) {\n if (typeof init[6] !== 'number') {\n this.is2D = true;\n this.a = init[0];\n this.b = init[1];\n this.c = init[2];\n this.d = init[3];\n this.e = init[4];\n this.f = init[5];\n return;\n }\n this.is2D = false;\n this.m11 = init[0];\n this.m12 = init[1];\n this.m13 = init[2];\n this.m14 = init[3];\n this.m21 = init[4];\n this.m22 = init[5];\n this.m23 = init[6];\n this.m24 = init[7];\n this.m31 = init[8];\n this.m32 = init[9];\n this.m33 = init[10];\n this.m34 = init[11];\n this.m41 = init[12];\n this.m42 = init[13];\n this.m43 = init[14];\n this.m44 = init[15];\n }\n /* eslint-disable class-methods-use-this -- Not needed */\n /**\n * @returns {string}\n */\n get [Symbol.toStringTag] () {\n /* eslint-enable class-methods-use-this -- Not needed */\n return 'DOMMatrix';\n }\n}\n\nexport {DOMMatrix};\n","// No constructor in JSDom\n// globalThis.DOMMatrixReadOnly = window.DOMMatrixReadOnly;\n/**\n * DOMMatrixReadOnly class.\n */\nclass DOMMatrixReadOnly {\n /**\n * @param {[number, number, number, number, number, number]|\n * [\n * number, number, number, number,\n * number, number, number, number,\n * number, number, number, number,\n * number, number, number, number\n * ]} init\n */\n constructor (init) {\n if (typeof init[6] !== 'number') {\n this.is2D = true;\n this.a = init[0];\n this.b = init[1];\n this.c = init[2];\n this.d = init[3];\n this.e = init[4];\n this.f = init[5];\n return;\n }\n this.is2D = false;\n this.m11 = init[0];\n this.m12 = init[1];\n this.m13 = init[2];\n this.m14 = init[3];\n this.m21 = init[4];\n this.m22 = init[5];\n this.m23 = init[6];\n this.m24 = init[7];\n this.m31 = init[8];\n this.m32 = init[9];\n this.m33 = init[10];\n this.m34 = init[11];\n this.m41 = init[12];\n this.m42 = init[13];\n this.m43 = init[14];\n this.m44 = init[15];\n }\n /* eslint-disable class-methods-use-this -- Not needed */\n /**\n * @returns {string}\n */\n get [Symbol.toStringTag] () {\n /* eslint-enable class-methods-use-this -- Not needed */\n return 'DOMMatrixReadOnly';\n }\n}\n\nexport {DOMMatrixReadOnly};\n","/**\n * @param {HTMLCanvasElement} cvs\n * @returns {Promise<HTMLCanvasElement>}\n */\n\n/**\n * @param {ImageBitmapSource & {dataset?: {toStringTag?: string}}} cvs\n * @returns {Promise<ImageBitmap>}\n */\nasync function createImageBitmap (cvs) {\n // This really ought not be a canvas, but it works as a simple shim\n // for our tests\n // cvs[Symbol.toStringTag] = 'ImageBitmap';\n // Above line throwing in current jsdom now\n if (!cvs.dataset) {\n cvs.dataset = {};\n }\n cvs.dataset.toStringTag = 'ImageBitmap';\n return await (/** @type {ImageBitmap} */ (cvs));\n}\n\nexport {createImageBitmap};\n"],"names":["conversions","utils","implSymbol","ctorRegistrySymbol","interfaceName","Impl","makeWrapper","exposed","curArg","Function","V","tmp","nextItem","delete","require$$1","_require","infra","_require2","containsForbiddenHostCodePoint","containsPercentEncodedByte","defaultPort","domainParser","endsInANumber","failure","isInvalidURLCodePoint","isNormalizedWindowsDriveLetterString","isSpecialScheme","isWindowsDriveLetterCodePoints","isWindowsDriveLetterString","parseIPv4Number","p","percentDecodeString","utf8PercentEncodeCodePoint","utf8PercentEncodeString","isC0ControlPercentEncode","isFragmentPercentEncode","extraQueryPercentEncodeChars","extraSpecialQueryPercentEncodeChars","isPathPercentEncode","isUserinfoPercentEncode","n","res","host","char","byte","require$$0","require$$2","require$$3","require","createRequire","format","_classPrivateFieldSet","_classPrivateFieldGet"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8]}
1
+ {"version":3,"file":"index.cjs","sources":["../node_modules/.pnpm/whatwg-url@17.1.0/node_modules/whatwg-url/lib/URL.js","../node_modules/.pnpm/whatwg-url@17.1.0/node_modules/whatwg-url/lib/URLSearchParams.js","../node_modules/.pnpm/whatwg-url@17.1.0/node_modules/whatwg-url/webidl2js-wrapper.js","../node_modules/.pnpm/whatwg-url@17.1.0/node_modules/whatwg-url/lib/url-state-machine.js","../node_modules/.pnpm/whatwg-url@17.1.0/node_modules/whatwg-url/lib/percent-encoding.js","../node_modules/.pnpm/whatwg-url@17.1.0/node_modules/whatwg-url/lib/infra.js","../node_modules/.pnpm/whatwg-url@17.1.0/node_modules/whatwg-url/lib/url-miscellaneous.js","../node_modules/.pnpm/whatwg-url@17.1.0/node_modules/whatwg-url/lib/url-string-validator.js","../node_modules/.pnpm/whatwg-url@17.1.0/node_modules/whatwg-url/index.js","../utils/generateUUID.js","SyncBlobFile.js","URL.js","QuotaExceededError.js","WebTransportError.js","AudioData.js","EncodedAudioChunk.js","EncodedVideoChunk.js","VideoFrame.js","DOMRect.js","DOMRectReadOnly.js","DOMPoint.js","DOMPointReadOnly.js","DOMQuad.js","DOMMatrix.js","DOMMatrixReadOnly.js","createImageBitmap.js"],"sourcesContent":["\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\n\nconst implSymbol = utils.implSymbol;\nconst ctorRegistrySymbol = utils.ctorRegistrySymbol;\n\nconst interfaceName = \"URL\";\n\nexports.is = value => {\n return utils.isObject(value) && Object.hasOwn(value, implSymbol) && value[implSymbol] instanceof Impl.implementation;\n};\nexports.isImpl = value => {\n return utils.isObject(value) && value instanceof Impl.implementation;\n};\nexports.convert = (globalObject, value, { context = \"The provided value\" } = {}) => {\n if (exports.is(value)) {\n return utils.implForWrapper(value);\n }\n throw new globalObject.TypeError(`${context} is not of type 'URL'.`);\n};\n\nfunction makeWrapper(globalObject, newTarget) {\n let proto;\n if (newTarget !== undefined) {\n proto = newTarget.prototype;\n }\n\n if (!utils.isObject(proto)) {\n proto = globalObject[ctorRegistrySymbol][\"URL\"].prototype;\n }\n\n return Object.create(proto);\n}\n\nexports.create = (globalObject, constructorArgs, privateData) => {\n const wrapper = makeWrapper(globalObject);\n return exports.setup(wrapper, globalObject, constructorArgs, privateData);\n};\n\nexports.createImpl = (globalObject, constructorArgs, privateData) => {\n const wrapper = exports.create(globalObject, constructorArgs, privateData);\n return utils.implForWrapper(wrapper);\n};\n\nexports._internalSetup = (wrapper, globalObject) => {};\n\nexports.setup = (wrapper, globalObject, constructorArgs = [], privateData = {}) => {\n privateData.wrapper = wrapper;\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: new Impl.implementation(globalObject, constructorArgs, privateData),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper;\n};\n\nexports.new = (globalObject, newTarget) => {\n const wrapper = makeWrapper(globalObject, newTarget);\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: Object.create(Impl.implementation.prototype),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper[implSymbol];\n};\n\nconst exposed = new Set([\"Window\", \"Worker\"]);\n\nexports.install = (globalObject, globalNames) => {\n if (!globalNames.some(globalName => exposed.has(globalName))) {\n return;\n }\n\n const ctorRegistry = utils.initCtorRegistry(globalObject);\n class URL {\n constructor(url) {\n if (arguments.length < 1) {\n throw new globalObject.TypeError(\n `Failed to construct 'URL': 1 argument required, but only ${arguments.length} present.`\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n curArg = conversions[\"USVString\"](curArg, {\n context: \"Failed to construct 'URL': parameter 1\",\n globals: globalObject\n });\n args.push(curArg);\n }\n {\n let curArg = arguments[1];\n if (curArg !== undefined) {\n curArg = conversions[\"USVString\"](curArg, {\n context: \"Failed to construct 'URL': parameter 2\",\n globals: globalObject\n });\n }\n args.push(curArg);\n }\n return exports.setup(Object.create(new.target.prototype), globalObject, args);\n }\n\n toJSON() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'toJSON' called on an object that is not a valid instance of URL.\");\n }\n\n return esValue[implSymbol].toJSON();\n }\n\n get href() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'get href' called on an object that is not a valid instance of URL.\");\n }\n\n return esValue[implSymbol][\"href\"];\n }\n\n set href(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'set href' called on an object that is not a valid instance of URL.\");\n }\n\n V = conversions[\"USVString\"](V, {\n context: \"Failed to set the 'href' property on 'URL': The provided value\",\n globals: globalObject\n });\n\n esValue[implSymbol][\"href\"] = V;\n }\n\n toString() {\n const esValue = this;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'toString' called on an object that is not a valid instance of URL.\");\n }\n\n return esValue[implSymbol][\"href\"];\n }\n\n get origin() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'get origin' called on an object that is not a valid instance of URL.\");\n }\n\n return esValue[implSymbol][\"origin\"];\n }\n\n get protocol() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'get protocol' called on an object that is not a valid instance of URL.\");\n }\n\n return esValue[implSymbol][\"protocol\"];\n }\n\n set protocol(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'set protocol' called on an object that is not a valid instance of URL.\");\n }\n\n V = conversions[\"USVString\"](V, {\n context: \"Failed to set the 'protocol' property on 'URL': The provided value\",\n globals: globalObject\n });\n\n esValue[implSymbol][\"protocol\"] = V;\n }\n\n get username() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'get username' called on an object that is not a valid instance of URL.\");\n }\n\n return esValue[implSymbol][\"username\"];\n }\n\n set username(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'set username' called on an object that is not a valid instance of URL.\");\n }\n\n V = conversions[\"USVString\"](V, {\n context: \"Failed to set the 'username' property on 'URL': The provided value\",\n globals: globalObject\n });\n\n esValue[implSymbol][\"username\"] = V;\n }\n\n get password() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'get password' called on an object that is not a valid instance of URL.\");\n }\n\n return esValue[implSymbol][\"password\"];\n }\n\n set password(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'set password' called on an object that is not a valid instance of URL.\");\n }\n\n V = conversions[\"USVString\"](V, {\n context: \"Failed to set the 'password' property on 'URL': The provided value\",\n globals: globalObject\n });\n\n esValue[implSymbol][\"password\"] = V;\n }\n\n get host() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'get host' called on an object that is not a valid instance of URL.\");\n }\n\n return esValue[implSymbol][\"host\"];\n }\n\n set host(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'set host' called on an object that is not a valid instance of URL.\");\n }\n\n V = conversions[\"USVString\"](V, {\n context: \"Failed to set the 'host' property on 'URL': The provided value\",\n globals: globalObject\n });\n\n esValue[implSymbol][\"host\"] = V;\n }\n\n get hostname() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'get hostname' called on an object that is not a valid instance of URL.\");\n }\n\n return esValue[implSymbol][\"hostname\"];\n }\n\n set hostname(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'set hostname' called on an object that is not a valid instance of URL.\");\n }\n\n V = conversions[\"USVString\"](V, {\n context: \"Failed to set the 'hostname' property on 'URL': The provided value\",\n globals: globalObject\n });\n\n esValue[implSymbol][\"hostname\"] = V;\n }\n\n get port() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'get port' called on an object that is not a valid instance of URL.\");\n }\n\n return esValue[implSymbol][\"port\"];\n }\n\n set port(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'set port' called on an object that is not a valid instance of URL.\");\n }\n\n V = conversions[\"USVString\"](V, {\n context: \"Failed to set the 'port' property on 'URL': The provided value\",\n globals: globalObject\n });\n\n esValue[implSymbol][\"port\"] = V;\n }\n\n get pathname() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'get pathname' called on an object that is not a valid instance of URL.\");\n }\n\n return esValue[implSymbol][\"pathname\"];\n }\n\n set pathname(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'set pathname' called on an object that is not a valid instance of URL.\");\n }\n\n V = conversions[\"USVString\"](V, {\n context: \"Failed to set the 'pathname' property on 'URL': The provided value\",\n globals: globalObject\n });\n\n esValue[implSymbol][\"pathname\"] = V;\n }\n\n get search() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'get search' called on an object that is not a valid instance of URL.\");\n }\n\n return esValue[implSymbol][\"search\"];\n }\n\n set search(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'set search' called on an object that is not a valid instance of URL.\");\n }\n\n V = conversions[\"USVString\"](V, {\n context: \"Failed to set the 'search' property on 'URL': The provided value\",\n globals: globalObject\n });\n\n esValue[implSymbol][\"search\"] = V;\n }\n\n get searchParams() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'get searchParams' called on an object that is not a valid instance of URL.\");\n }\n\n return utils.getSameObject(this, \"searchParams\", () => {\n return utils.tryWrapperForImpl(esValue[implSymbol][\"searchParams\"]);\n });\n }\n\n get hash() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'get hash' called on an object that is not a valid instance of URL.\");\n }\n\n return esValue[implSymbol][\"hash\"];\n }\n\n set hash(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'set hash' called on an object that is not a valid instance of URL.\");\n }\n\n V = conversions[\"USVString\"](V, {\n context: \"Failed to set the 'hash' property on 'URL': The provided value\",\n globals: globalObject\n });\n\n esValue[implSymbol][\"hash\"] = V;\n }\n\n static parse(url) {\n if (arguments.length < 1) {\n throw new globalObject.TypeError(\n `Failed to execute 'parse' on 'URL': 1 argument required, but only ${arguments.length} present.`\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n curArg = conversions[\"USVString\"](curArg, {\n context: \"Failed to execute 'parse' on 'URL': parameter 1\",\n globals: globalObject\n });\n args.push(curArg);\n }\n {\n let curArg = arguments[1];\n if (curArg !== undefined) {\n curArg = conversions[\"USVString\"](curArg, {\n context: \"Failed to execute 'parse' on 'URL': parameter 2\",\n globals: globalObject\n });\n }\n args.push(curArg);\n }\n return utils.tryWrapperForImpl(Impl.implementation.parse(globalObject, ...args));\n }\n\n static canParse(url) {\n if (arguments.length < 1) {\n throw new globalObject.TypeError(\n `Failed to execute 'canParse' on 'URL': 1 argument required, but only ${arguments.length} present.`\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n curArg = conversions[\"USVString\"](curArg, {\n context: \"Failed to execute 'canParse' on 'URL': parameter 1\",\n globals: globalObject\n });\n args.push(curArg);\n }\n {\n let curArg = arguments[1];\n if (curArg !== undefined) {\n curArg = conversions[\"USVString\"](curArg, {\n context: \"Failed to execute 'canParse' on 'URL': parameter 2\",\n globals: globalObject\n });\n }\n args.push(curArg);\n }\n return Impl.implementation.canParse(...args);\n }\n }\n Object.defineProperties(URL.prototype, {\n toJSON: { enumerable: true },\n href: { enumerable: true },\n toString: { enumerable: true },\n origin: { enumerable: true },\n protocol: { enumerable: true },\n username: { enumerable: true },\n password: { enumerable: true },\n host: { enumerable: true },\n hostname: { enumerable: true },\n port: { enumerable: true },\n pathname: { enumerable: true },\n search: { enumerable: true },\n searchParams: { enumerable: true },\n hash: { enumerable: true },\n [Symbol.toStringTag]: { value: \"URL\", configurable: true }\n });\n Object.defineProperties(URL, { parse: { enumerable: true }, canParse: { enumerable: true } });\n ctorRegistry[interfaceName] = URL;\n\n Object.defineProperty(globalObject, interfaceName, {\n configurable: true,\n writable: true,\n value: URL\n });\n\n if (globalNames.includes(\"Window\")) {\n Object.defineProperty(globalObject, \"webkitURL\", {\n configurable: true,\n writable: true,\n value: URL\n });\n }\n};\n\nconst Impl = require(\"./URL-impl.js\");\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\n\nconst Function = require(\"./Function.js\");\nconst newObjectInRealm = utils.newObjectInRealm;\nconst implSymbol = utils.implSymbol;\nconst ctorRegistrySymbol = utils.ctorRegistrySymbol;\n\nconst interfaceName = \"URLSearchParams\";\n\nexports.is = value => {\n return utils.isObject(value) && Object.hasOwn(value, implSymbol) && value[implSymbol] instanceof Impl.implementation;\n};\nexports.isImpl = value => {\n return utils.isObject(value) && value instanceof Impl.implementation;\n};\nexports.convert = (globalObject, value, { context = \"The provided value\" } = {}) => {\n if (exports.is(value)) {\n return utils.implForWrapper(value);\n }\n throw new globalObject.TypeError(`${context} is not of type 'URLSearchParams'.`);\n};\n\nexports.createDefaultIterator = (globalObject, target, kind) => {\n const ctorRegistry = globalObject[ctorRegistrySymbol];\n const iteratorPrototype = ctorRegistry[\"URLSearchParams Iterator\"];\n const iterator = Object.create(iteratorPrototype);\n Object.defineProperty(iterator, utils.iterInternalSymbol, {\n value: { target, kind, index: 0 },\n configurable: true\n });\n return iterator;\n};\n\nfunction makeWrapper(globalObject, newTarget) {\n let proto;\n if (newTarget !== undefined) {\n proto = newTarget.prototype;\n }\n\n if (!utils.isObject(proto)) {\n proto = globalObject[ctorRegistrySymbol][\"URLSearchParams\"].prototype;\n }\n\n return Object.create(proto);\n}\n\nexports.create = (globalObject, constructorArgs, privateData) => {\n const wrapper = makeWrapper(globalObject);\n return exports.setup(wrapper, globalObject, constructorArgs, privateData);\n};\n\nexports.createImpl = (globalObject, constructorArgs, privateData) => {\n const wrapper = exports.create(globalObject, constructorArgs, privateData);\n return utils.implForWrapper(wrapper);\n};\n\nexports._internalSetup = (wrapper, globalObject) => {};\n\nexports.setup = (wrapper, globalObject, constructorArgs = [], privateData = {}) => {\n privateData.wrapper = wrapper;\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: new Impl.implementation(globalObject, constructorArgs, privateData),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper;\n};\n\nexports.new = (globalObject, newTarget) => {\n const wrapper = makeWrapper(globalObject, newTarget);\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: Object.create(Impl.implementation.prototype),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper[implSymbol];\n};\n\nconst exposed = new Set([\"Window\", \"Worker\"]);\n\nexports.install = (globalObject, globalNames) => {\n if (!globalNames.some(globalName => exposed.has(globalName))) {\n return;\n }\n\n const ctorRegistry = utils.initCtorRegistry(globalObject);\n class URLSearchParams {\n constructor() {\n const args = [];\n {\n let curArg = arguments[0];\n if (curArg !== undefined) {\n if (utils.isObject(curArg)) {\n if (\n utils.getMethod(curArg, Symbol.iterator, \"Failed to construct 'URLSearchParams': parameter 1\") !==\n undefined\n ) {\n if (!utils.isObject(curArg)) {\n throw new globalObject.TypeError(\n \"Failed to construct 'URLSearchParams': parameter 1\" + \" sequence\" + \" is not an iterable object.\"\n );\n } else {\n const V = [];\n const tmp = curArg;\n for (let nextItem of tmp) {\n if (!utils.isObject(nextItem)) {\n throw new globalObject.TypeError(\n \"Failed to construct 'URLSearchParams': parameter 1\" +\n \" sequence\" +\n \"'s element\" +\n \" is not an iterable object.\"\n );\n } else {\n const V = [];\n const tmp = nextItem;\n for (let nextItem of tmp) {\n nextItem = conversions[\"USVString\"](nextItem, {\n context:\n \"Failed to construct 'URLSearchParams': parameter 1\" +\n \" sequence\" +\n \"'s element\" +\n \"'s element\",\n globals: globalObject\n });\n\n V.push(nextItem);\n }\n nextItem = V;\n }\n\n V.push(nextItem);\n }\n curArg = V;\n }\n } else {\n if (!utils.isObject(curArg)) {\n throw new globalObject.TypeError(\n \"Failed to construct 'URLSearchParams': parameter 1\" + \" record\" + \" is not an object.\"\n );\n } else {\n const result = Object.create(null);\n for (const key of Reflect.ownKeys(curArg)) {\n const desc = Object.getOwnPropertyDescriptor(curArg, key);\n if (desc && desc.enumerable) {\n let typedKey = key;\n\n typedKey = conversions[\"USVString\"](typedKey, {\n context: \"Failed to construct 'URLSearchParams': parameter 1\" + \" record\" + \"'s key\",\n globals: globalObject\n });\n\n let typedValue = curArg[key];\n\n typedValue = conversions[\"USVString\"](typedValue, {\n context: \"Failed to construct 'URLSearchParams': parameter 1\" + \" record\" + \"'s value\",\n globals: globalObject\n });\n\n result[typedKey] = typedValue;\n }\n }\n curArg = result;\n }\n }\n } else {\n curArg = conversions[\"USVString\"](curArg, {\n context: \"Failed to construct 'URLSearchParams': parameter 1\",\n globals: globalObject\n });\n }\n } else {\n curArg = \"\";\n }\n args.push(curArg);\n }\n return exports.setup(Object.create(new.target.prototype), globalObject, args);\n }\n\n append(name, value) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'append' called on an object that is not a valid instance of URLSearchParams.\"\n );\n }\n\n if (arguments.length < 2) {\n throw new globalObject.TypeError(\n `Failed to execute 'append' on 'URLSearchParams': 2 arguments required, but only ${arguments.length} present.`\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n curArg = conversions[\"USVString\"](curArg, {\n context: \"Failed to execute 'append' on 'URLSearchParams': parameter 1\",\n globals: globalObject\n });\n args.push(curArg);\n }\n {\n let curArg = arguments[1];\n curArg = conversions[\"USVString\"](curArg, {\n context: \"Failed to execute 'append' on 'URLSearchParams': parameter 2\",\n globals: globalObject\n });\n args.push(curArg);\n }\n return utils.tryWrapperForImpl(esValue[implSymbol].append(...args));\n }\n\n delete(name) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'delete' called on an object that is not a valid instance of URLSearchParams.\"\n );\n }\n\n if (arguments.length < 1) {\n throw new globalObject.TypeError(\n `Failed to execute 'delete' on 'URLSearchParams': 1 argument required, but only ${arguments.length} present.`\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n curArg = conversions[\"USVString\"](curArg, {\n context: \"Failed to execute 'delete' on 'URLSearchParams': parameter 1\",\n globals: globalObject\n });\n args.push(curArg);\n }\n {\n let curArg = arguments[1];\n if (curArg !== undefined) {\n curArg = conversions[\"USVString\"](curArg, {\n context: \"Failed to execute 'delete' on 'URLSearchParams': parameter 2\",\n globals: globalObject\n });\n }\n args.push(curArg);\n }\n return utils.tryWrapperForImpl(esValue[implSymbol].delete(...args));\n }\n\n get(name) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'get' called on an object that is not a valid instance of URLSearchParams.\");\n }\n\n if (arguments.length < 1) {\n throw new globalObject.TypeError(\n `Failed to execute 'get' on 'URLSearchParams': 1 argument required, but only ${arguments.length} present.`\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n curArg = conversions[\"USVString\"](curArg, {\n context: \"Failed to execute 'get' on 'URLSearchParams': parameter 1\",\n globals: globalObject\n });\n args.push(curArg);\n }\n return esValue[implSymbol].get(...args);\n }\n\n getAll(name) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'getAll' called on an object that is not a valid instance of URLSearchParams.\"\n );\n }\n\n if (arguments.length < 1) {\n throw new globalObject.TypeError(\n `Failed to execute 'getAll' on 'URLSearchParams': 1 argument required, but only ${arguments.length} present.`\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n curArg = conversions[\"USVString\"](curArg, {\n context: \"Failed to execute 'getAll' on 'URLSearchParams': parameter 1\",\n globals: globalObject\n });\n args.push(curArg);\n }\n return utils.tryWrapperForImpl(esValue[implSymbol].getAll(...args));\n }\n\n has(name) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'has' called on an object that is not a valid instance of URLSearchParams.\");\n }\n\n if (arguments.length < 1) {\n throw new globalObject.TypeError(\n `Failed to execute 'has' on 'URLSearchParams': 1 argument required, but only ${arguments.length} present.`\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n curArg = conversions[\"USVString\"](curArg, {\n context: \"Failed to execute 'has' on 'URLSearchParams': parameter 1\",\n globals: globalObject\n });\n args.push(curArg);\n }\n {\n let curArg = arguments[1];\n if (curArg !== undefined) {\n curArg = conversions[\"USVString\"](curArg, {\n context: \"Failed to execute 'has' on 'URLSearchParams': parameter 2\",\n globals: globalObject\n });\n }\n args.push(curArg);\n }\n return esValue[implSymbol].has(...args);\n }\n\n set(name, value) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'set' called on an object that is not a valid instance of URLSearchParams.\");\n }\n\n if (arguments.length < 2) {\n throw new globalObject.TypeError(\n `Failed to execute 'set' on 'URLSearchParams': 2 arguments required, but only ${arguments.length} present.`\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n curArg = conversions[\"USVString\"](curArg, {\n context: \"Failed to execute 'set' on 'URLSearchParams': parameter 1\",\n globals: globalObject\n });\n args.push(curArg);\n }\n {\n let curArg = arguments[1];\n curArg = conversions[\"USVString\"](curArg, {\n context: \"Failed to execute 'set' on 'URLSearchParams': parameter 2\",\n globals: globalObject\n });\n args.push(curArg);\n }\n return utils.tryWrapperForImpl(esValue[implSymbol].set(...args));\n }\n\n sort() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'sort' called on an object that is not a valid instance of URLSearchParams.\");\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol].sort());\n }\n\n toString() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'toString' called on an object that is not a valid instance of URLSearchParams.\"\n );\n }\n\n return esValue[implSymbol].toString();\n }\n\n keys() {\n if (!exports.is(this)) {\n throw new globalObject.TypeError(\"'keys' called on an object that is not a valid instance of URLSearchParams.\");\n }\n return exports.createDefaultIterator(globalObject, this, \"key\");\n }\n\n values() {\n if (!exports.is(this)) {\n throw new globalObject.TypeError(\n \"'values' called on an object that is not a valid instance of URLSearchParams.\"\n );\n }\n return exports.createDefaultIterator(globalObject, this, \"value\");\n }\n\n entries() {\n if (!exports.is(this)) {\n throw new globalObject.TypeError(\n \"'entries' called on an object that is not a valid instance of URLSearchParams.\"\n );\n }\n return exports.createDefaultIterator(globalObject, this, \"key+value\");\n }\n\n forEach(callback) {\n if (!exports.is(this)) {\n throw new globalObject.TypeError(\n \"'forEach' called on an object that is not a valid instance of URLSearchParams.\"\n );\n }\n if (arguments.length < 1) {\n throw new globalObject.TypeError(\n \"Failed to execute 'forEach' on 'iterable': 1 argument required, but only 0 present.\"\n );\n }\n callback = Function.convert(globalObject, callback, {\n context: \"Failed to execute 'forEach' on 'iterable': The callback provided as parameter 1\"\n });\n const thisArg = arguments[1];\n let pairs = Array.from(this[implSymbol]);\n let i = 0;\n while (i < pairs.length) {\n const [key, value] = pairs[i].map(utils.tryWrapperForImpl);\n callback.call(thisArg, value, key, this);\n pairs = Array.from(this[implSymbol]);\n i++;\n }\n }\n\n get size() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get size' called on an object that is not a valid instance of URLSearchParams.\"\n );\n }\n\n return esValue[implSymbol][\"size\"];\n }\n }\n Object.defineProperties(URLSearchParams.prototype, {\n append: { enumerable: true },\n delete: { enumerable: true },\n get: { enumerable: true },\n getAll: { enumerable: true },\n has: { enumerable: true },\n set: { enumerable: true },\n sort: { enumerable: true },\n toString: { enumerable: true },\n keys: { enumerable: true },\n values: { enumerable: true },\n entries: { enumerable: true },\n forEach: { enumerable: true },\n size: { enumerable: true },\n [Symbol.toStringTag]: { value: \"URLSearchParams\", configurable: true },\n [Symbol.iterator]: { value: URLSearchParams.prototype.entries, configurable: true, writable: true }\n });\n ctorRegistry[interfaceName] = URLSearchParams;\n\n ctorRegistry[\"URLSearchParams Iterator\"] = Object.create(ctorRegistry[\"%IteratorPrototype%\"], {\n [Symbol.toStringTag]: {\n configurable: true,\n value: \"URLSearchParams Iterator\"\n }\n });\n utils.define(ctorRegistry[\"URLSearchParams Iterator\"], {\n next() {\n const internal = this && this[utils.iterInternalSymbol];\n if (!internal) {\n throw new globalObject.TypeError(\"next() called on a value that is not a URLSearchParams iterator object\");\n }\n\n const { target, kind, index } = internal;\n const values = Array.from(target[implSymbol]);\n const len = values.length;\n if (index >= len) {\n return newObjectInRealm(globalObject, { value: undefined, done: true });\n }\n\n const pair = values[index];\n internal.index = index + 1;\n return newObjectInRealm(globalObject, utils.iteratorResult(pair.map(utils.tryWrapperForImpl), kind));\n }\n });\n\n Object.defineProperty(globalObject, interfaceName, {\n configurable: true,\n writable: true,\n value: URLSearchParams\n });\n};\n\nconst Impl = require(\"./URLSearchParams-impl.js\");\n","\"use strict\";\n\nconst URL = require(\"./lib/URL\");\nconst URLSearchParams = require(\"./lib/URLSearchParams\");\n\nexports.URL = URL;\nexports.URLSearchParams = URLSearchParams;\n","\"use strict\";\nrequire(\"@exodus/bytes/encoding.js\"); // for legacy multi-byte encodings\nconst { percentEncodeAfterEncoding } = require(\"@exodus/bytes/whatwg.js\");\n\nconst infra = require(\"./infra\");\nconst { utf8DecodeWithoutBOM } = require(\"./encoding\");\nconst {\n containsForbiddenHostCodePoint,\n containsPercentEncodedByte,\n defaultPort,\n domainParser,\n endsInANumber,\n failure,\n isInvalidURLCodePoint,\n isNormalizedWindowsDriveLetterString,\n isSpecialScheme,\n isWindowsDriveLetterCodePoints,\n isWindowsDriveLetterString,\n parseIPv4Number,\n p\n} = require(\"./url-miscellaneous\");\nconst { percentDecodeString, utf8PercentEncodeCodePoint, utf8PercentEncodeString,\n isC0ControlPercentEncode, isFragmentPercentEncode,\n extraQueryPercentEncodeChars, extraSpecialQueryPercentEncodeChars,\n isPathPercentEncode, isUserinfoPercentEncode } = require(\"./percent-encoding\");\n\nfunction countSymbols(str) {\n return [...str].length;\n}\n\nfunction at(input, idx) {\n const c = input[idx];\n return isNaN(c) ? undefined : String.fromCodePoint(c);\n}\n\nfunction isSingleDot(buffer) {\n return buffer === \".\" || buffer.toLowerCase() === \"%2e\";\n}\n\nfunction isDoubleDot(buffer) {\n buffer = buffer.toLowerCase();\n return buffer === \"..\" || buffer === \"%2e.\" || buffer === \".%2e\" || buffer === \"%2e%2e\";\n}\n\nfunction isInvalidPercentEncoding(input, pointer) {\n return input[pointer] === p(\"%\") &&\n (!infra.isASCIIHex(input[pointer + 1]) || !infra.isASCIIHex(input[pointer + 2]));\n}\n\nfunction validateURLUnits(input, validationErrors = null) {\n if (validationErrors === null) {\n return;\n }\n\n const codePoints = Array.from(input, c => c.codePointAt(0));\n if (codePoints.some(isInvalidURLCodePoint)) {\n validationErrors.push(\"invalid-URL-unit\");\n }\n if (codePoints.some((_, i) => isInvalidPercentEncoding(codePoints, i))) {\n validationErrors.push(\"invalid-URL-unit\");\n }\n}\n\nfunction isSpecial(url) {\n return isSpecialScheme(url.scheme);\n}\n\nfunction isNotSpecial(url) {\n return !isSpecialScheme(url.scheme);\n}\n\nfunction parseIPv4(input, validationErrors = null) {\n const parts = input.split(\".\");\n if (parts[parts.length - 1] === \"\") {\n validationErrors?.push(\"IPv4-empty-part\");\n if (parts.length > 1) {\n parts.pop();\n }\n }\n\n if (parts.length > 4) {\n validationErrors?.push(\"IPv4-too-many-parts\");\n return failure;\n }\n\n if (parts.length < 4) {\n validationErrors?.push(\"IPv4-too-few-parts\");\n }\n\n const numbers = [];\n for (const part of parts) {\n const n = parseIPv4Number(part, validationErrors);\n if (n === failure) {\n validationErrors?.push(\"IPv4-non-numeric-part\");\n return failure;\n }\n\n numbers.push(n);\n }\n\n if (validationErrors !== null && numbers.some(n => n > 255)) {\n validationErrors.push(\"IPv4-out-of-range-part\");\n }\n for (let i = 0; i < numbers.length - 1; ++i) {\n if (numbers[i] > 255) {\n return failure;\n }\n }\n if (numbers[numbers.length - 1] >= 256 ** (5 - numbers.length)) {\n return failure;\n }\n\n let ipv4 = numbers.pop();\n let counter = 0;\n\n for (const n of numbers) {\n ipv4 += n * 256 ** (3 - counter);\n ++counter;\n }\n\n return ipv4;\n}\n\nfunction serializeIPv4(address) {\n let output = \"\";\n let n = address;\n\n for (let i = 1; i <= 4; ++i) {\n output = String(n % 256) + output;\n if (i !== 4) {\n output = `.${output}`;\n }\n n = Math.floor(n / 256);\n }\n\n return output;\n}\n\nfunction parseIPv6(input, validationErrors = null) {\n const address = [0, 0, 0, 0, 0, 0, 0, 0];\n let pieceIndex = 0;\n let compress = null;\n let pointer = 0;\n\n input = Array.from(input, c => c.codePointAt(0));\n\n if (input[pointer] === p(\":\")) {\n if (input[pointer + 1] !== p(\":\")) {\n validationErrors?.push(\"IPv6-invalid-compression\");\n return failure;\n }\n\n pointer += 2;\n ++pieceIndex;\n compress = pieceIndex;\n }\n\n while (pointer < input.length) {\n if (pieceIndex === 8) {\n validationErrors?.push(\"IPv6-too-many-pieces\");\n return failure;\n }\n\n if (input[pointer] === p(\":\")) {\n if (compress !== null) {\n validationErrors?.push(\"IPv6-multiple-compression\");\n return failure;\n }\n ++pointer;\n ++pieceIndex;\n compress = pieceIndex;\n continue;\n }\n\n let value = 0;\n let length = 0;\n\n while (length < 4 && infra.isASCIIHex(input[pointer])) {\n value = value * 0x10 + parseInt(at(input, pointer), 16);\n ++pointer;\n ++length;\n }\n\n if (input[pointer] === p(\".\")) {\n if (length === 0) {\n validationErrors?.push(\"IPv4-in-IPv6-invalid-code-point\");\n return failure;\n }\n\n pointer -= length;\n\n if (pieceIndex > 6) {\n validationErrors?.push(\"IPv4-in-IPv6-too-many-pieces\");\n return failure;\n }\n\n let numbersSeen = 0;\n\n while (input[pointer] !== undefined) {\n let ipv4Piece = null;\n\n if (numbersSeen > 0) {\n if (input[pointer] === p(\".\") && numbersSeen < 4) {\n ++pointer;\n } else {\n validationErrors?.push(\"IPv4-in-IPv6-invalid-code-point\");\n return failure;\n }\n }\n\n if (!infra.isASCIIDigit(input[pointer])) {\n validationErrors?.push(\"IPv4-in-IPv6-invalid-code-point\");\n return failure;\n }\n\n while (infra.isASCIIDigit(input[pointer])) {\n const number = parseInt(at(input, pointer), 10);\n if (ipv4Piece === null) {\n ipv4Piece = number;\n } else if (ipv4Piece === 0) {\n validationErrors?.push(\"IPv4-in-IPv6-invalid-code-point\");\n return failure;\n } else {\n ipv4Piece = ipv4Piece * 10 + number;\n }\n if (ipv4Piece > 255) {\n validationErrors?.push(\"IPv4-in-IPv6-out-of-range-part\");\n return failure;\n }\n ++pointer;\n }\n\n address[pieceIndex] = address[pieceIndex] * 0x100 + ipv4Piece;\n\n ++numbersSeen;\n\n if (numbersSeen === 2 || numbersSeen === 4) {\n ++pieceIndex;\n }\n }\n\n if (numbersSeen !== 4) {\n validationErrors?.push(\"IPv4-in-IPv6-too-few-parts\");\n return failure;\n }\n\n break;\n } else if (input[pointer] === p(\":\")) {\n ++pointer;\n if (input[pointer] === undefined) {\n validationErrors?.push(\"IPv6-invalid-code-point\");\n return failure;\n }\n } else if (input[pointer] !== undefined) {\n validationErrors?.push(\"IPv6-invalid-code-point\");\n return failure;\n }\n\n if (length > 1 && value < 0x10 ** (length - 1)) {\n validationErrors?.push(\"IPv6-piece-leading-zero\");\n }\n\n address[pieceIndex] = value;\n ++pieceIndex;\n }\n\n if (compress !== null) {\n let swaps = pieceIndex - compress;\n pieceIndex = 7;\n while (pieceIndex !== 0 && swaps > 0) {\n const temp = address[compress + swaps - 1];\n address[compress + swaps - 1] = address[pieceIndex];\n address[pieceIndex] = temp;\n --pieceIndex;\n --swaps;\n }\n } else if (compress === null && pieceIndex !== 8) {\n validationErrors?.push(\"IPv6-too-few-pieces\");\n return failure;\n }\n\n return address;\n}\n\nfunction serializeIPv6(address) {\n let output = \"\";\n const compress = findTheIPv6AddressCompressedPieceIndex(address);\n let ignore0 = false;\n\n for (let pieceIndex = 0; pieceIndex <= 7; ++pieceIndex) {\n if (ignore0 && address[pieceIndex] === 0) {\n continue;\n } else if (ignore0) {\n ignore0 = false;\n }\n\n if (compress === pieceIndex) {\n const separator = pieceIndex === 0 ? \"::\" : \":\";\n output += separator;\n ignore0 = true;\n continue;\n }\n\n output += address[pieceIndex].toString(16);\n\n if (pieceIndex !== 7) {\n output += \":\";\n }\n }\n\n return output;\n}\n\nfunction parseHost(input, validationErrors = null, isOpaque = false) {\n if (input[0] === \"[\") {\n if (input[input.length - 1] !== \"]\") {\n validationErrors?.push(\"IPv6-unclosed\");\n return failure;\n }\n\n return parseIPv6(input.substring(1, input.length - 1), validationErrors);\n }\n\n if (isOpaque) {\n return parseOpaqueHost(input, validationErrors);\n }\n\n if (validationErrors && containsPercentEncodedByte(input)) {\n validationErrors.push(\"domain-percent-encoded\");\n }\n\n const domain = utf8DecodeWithoutBOM(percentDecodeString(input));\n const asciiDomain = domainParser(domain, validationErrors);\n if (asciiDomain === failure) {\n return failure;\n }\n\n if (endsInANumber(asciiDomain)) {\n if (!infra.isASCIIString(domain)) {\n validationErrors?.push(\"IPv4-non-ASCII-input\");\n }\n return parseIPv4(asciiDomain, validationErrors);\n }\n\n return asciiDomain;\n}\n\nfunction parseOpaqueHost(input, validationErrors) {\n if (containsForbiddenHostCodePoint(input)) {\n validationErrors?.push(\"host-invalid-code-point\");\n return failure;\n }\n\n validateURLUnits(input, validationErrors);\n\n return utf8PercentEncodeString(input, isC0ControlPercentEncode);\n}\n\nfunction findTheIPv6AddressCompressedPieceIndex(address) {\n let longestIndex = null;\n let longestSize = 1; // only find elements > 1\n let foundIndex = null;\n let foundSize = 0;\n\n for (let pieceIndex = 0; pieceIndex < address.length; ++pieceIndex) {\n if (address[pieceIndex] !== 0) {\n if (foundSize > longestSize) {\n longestIndex = foundIndex;\n longestSize = foundSize;\n }\n\n foundIndex = null;\n foundSize = 0;\n } else {\n if (foundIndex === null) {\n foundIndex = pieceIndex;\n }\n ++foundSize;\n }\n }\n\n if (foundSize > longestSize) {\n return foundIndex;\n }\n\n return longestIndex;\n}\n\nfunction serializeHost(host) {\n if (typeof host === \"number\") {\n return serializeIPv4(host);\n }\n\n // IPv6 serializer\n if (host instanceof Array) {\n return `[${serializeIPv6(host)}]`;\n }\n\n return host;\n}\n\nfunction trimControlChars(string) {\n // Avoid using regexp because of this V8 bug: https://issues.chromium.org/issues/42204424\n\n let start = 0;\n let end = string.length;\n for (; start < end; ++start) {\n if (string.charCodeAt(start) > 0x20) {\n break;\n }\n }\n for (; end > start; --end) {\n if (string.charCodeAt(end - 1) > 0x20) {\n break;\n }\n }\n return string.substring(start, end);\n}\n\nfunction trimTabAndNewline(url) {\n return url.replace(/\\u0009|\\u000A|\\u000D/ug, \"\");\n}\n\nfunction shortenPath(url) {\n const { path } = url;\n if (path.length === 0) {\n return;\n }\n if (url.scheme === \"file\" && path.length === 1 && isNormalizedWindowsDriveLetterString(path[0])) {\n return;\n }\n\n path.pop();\n}\n\nfunction includesCredentials(url) {\n return url.username !== \"\" || url.password !== \"\";\n}\n\nfunction cannotHaveAUsernamePasswordPort(url) {\n return url.host === null || url.host === \"\" || url.scheme === \"file\";\n}\n\nfunction hasAnOpaquePath(url) {\n return typeof url.path === \"string\";\n}\n\nfunction URLStateMachine(input, base, encoding, url, stateOverride, validationErrors = null) {\n this.pointer = 0;\n this.input = input;\n this.base = base || null;\n this.encoding = encoding || \"utf-8\";\n this.stateOverride = stateOverride;\n this.url = url;\n this.failure = false;\n this.validationErrors = validationErrors;\n\n if (!this.url) {\n this.url = {\n scheme: \"\",\n username: \"\",\n password: \"\",\n host: null,\n port: null,\n path: [],\n query: null,\n fragment: null\n };\n\n const res = trimControlChars(this.input);\n if (res !== this.input) {\n this.validationErrors?.push(\"invalid-URL-unit\");\n }\n this.input = res;\n }\n\n const res = trimTabAndNewline(this.input);\n if (res !== this.input) {\n this.validationErrors?.push(\"invalid-URL-unit\");\n }\n this.input = res;\n\n this.state = stateOverride || \"scheme start\";\n\n this.buffer = \"\";\n this.atSignSeen = false;\n this.insideBrackets = false;\n this.passwordTokenSeen = false;\n\n this.input = Array.from(this.input, c => c.codePointAt(0));\n\n for (; this.pointer <= this.input.length; ++this.pointer) {\n const c = this.input[this.pointer];\n const cStr = isNaN(c) ? undefined : String.fromCodePoint(c);\n\n // exec state machine\n const ret = this[`parse ${this.state}`](c, cStr);\n if (!ret) {\n break; // terminate algorithm\n } else if (ret === failure) {\n this.failure = true;\n break;\n }\n }\n}\n\nURLStateMachine.prototype.validateURLUnit = function (c) {\n if (this.validationErrors === null) {\n return;\n }\n\n if (isInvalidURLCodePoint(c)) {\n this.validationErrors.push(\"invalid-URL-unit\");\n }\n if (isInvalidPercentEncoding(this.input, this.pointer)) {\n this.validationErrors.push(\"invalid-URL-unit\");\n }\n};\n\nURLStateMachine.prototype[\"parse scheme start\"] = function parseSchemeStart(c, cStr) {\n if (infra.isASCIIAlpha(c)) {\n this.buffer += cStr.toLowerCase();\n this.state = \"scheme\";\n } else if (!this.stateOverride) {\n this.state = \"no scheme\";\n --this.pointer;\n } else {\n return failure;\n }\n\n return true;\n};\n\nURLStateMachine.prototype[\"parse scheme\"] = function parseScheme(c, cStr) {\n if (infra.isASCIIAlphanumeric(c) || c === p(\"+\") || c === p(\"-\") || c === p(\".\")) {\n this.buffer += cStr.toLowerCase();\n } else if (c === p(\":\")) {\n if (this.stateOverride) {\n if (isSpecial(this.url) && !isSpecialScheme(this.buffer)) {\n return false;\n }\n\n if (!isSpecial(this.url) && isSpecialScheme(this.buffer)) {\n return false;\n }\n\n if ((includesCredentials(this.url) || this.url.port !== null) && this.buffer === \"file\") {\n return false;\n }\n\n if (this.url.scheme === \"file\" && this.url.host === \"\") {\n return false;\n }\n }\n this.url.scheme = this.buffer;\n if (this.stateOverride) {\n if (this.url.port === defaultPort(this.url.scheme)) {\n this.url.port = null;\n }\n return false;\n }\n this.buffer = \"\";\n if (this.url.scheme === \"file\") {\n if (this.input[this.pointer + 1] !== p(\"/\") || this.input[this.pointer + 2] !== p(\"/\")) {\n this.validationErrors?.push(\"special-scheme-missing-following-solidus\");\n }\n this.state = \"file\";\n } else if (isSpecial(this.url) && this.base !== null && this.base.scheme === this.url.scheme) {\n this.state = \"special relative or authority\";\n } else if (isSpecial(this.url)) {\n this.state = \"special authority slashes\";\n } else if (this.input[this.pointer + 1] === p(\"/\")) {\n this.state = \"path or authority\";\n ++this.pointer;\n } else {\n this.url.path = \"\";\n this.state = \"opaque path\";\n }\n } else if (!this.stateOverride) {\n this.buffer = \"\";\n this.state = \"no scheme\";\n this.pointer = -1;\n } else {\n return failure;\n }\n\n return true;\n};\n\nURLStateMachine.prototype[\"parse no scheme\"] = function parseNoScheme(c) {\n if (this.base === null || (hasAnOpaquePath(this.base) && c !== p(\"#\"))) {\n this.validationErrors?.push(\"missing-scheme-non-relative-URL\");\n return failure;\n } else if (hasAnOpaquePath(this.base) && c === p(\"#\")) {\n this.url.scheme = this.base.scheme;\n this.url.path = this.base.path;\n this.url.query = this.base.query;\n this.url.fragment = \"\";\n this.state = \"fragment\";\n } else if (this.base.scheme === \"file\") {\n this.state = \"file\";\n --this.pointer;\n } else {\n this.state = \"relative\";\n --this.pointer;\n }\n\n return true;\n};\n\nURLStateMachine.prototype[\"parse special relative or authority\"] = function parseSpecialRelativeOrAuthority(c) {\n if (c === p(\"/\") && this.input[this.pointer + 1] === p(\"/\")) {\n this.state = \"special authority ignore slashes\";\n ++this.pointer;\n } else {\n this.validationErrors?.push(\"special-scheme-missing-following-solidus\");\n this.state = \"relative\";\n --this.pointer;\n }\n\n return true;\n};\n\nURLStateMachine.prototype[\"parse path or authority\"] = function parsePathOrAuthority(c) {\n if (c === p(\"/\")) {\n this.state = \"authority\";\n } else {\n this.state = \"path\";\n --this.pointer;\n }\n\n return true;\n};\n\nURLStateMachine.prototype[\"parse relative\"] = function parseRelative(c) {\n this.url.scheme = this.base.scheme;\n if (c === p(\"/\")) {\n this.state = \"relative slash\";\n } else if (isSpecial(this.url) && c === p(\"\\\\\")) {\n this.validationErrors?.push(\"invalid-reverse-solidus\");\n this.state = \"relative slash\";\n } else {\n this.url.username = this.base.username;\n this.url.password = this.base.password;\n this.url.host = this.base.host;\n this.url.port = this.base.port;\n this.url.path = this.base.path.slice();\n this.url.query = this.base.query;\n if (c === p(\"?\")) {\n this.url.query = \"\";\n this.state = \"query\";\n } else if (c === p(\"#\")) {\n this.url.fragment = \"\";\n this.state = \"fragment\";\n } else if (!isNaN(c)) {\n this.url.query = null;\n this.url.path.pop();\n this.state = \"path\";\n --this.pointer;\n }\n }\n\n return true;\n};\n\nURLStateMachine.prototype[\"parse relative slash\"] = function parseRelativeSlash(c) {\n if (isSpecial(this.url) && (c === p(\"/\") || c === p(\"\\\\\"))) {\n if (c === p(\"\\\\\")) {\n this.validationErrors?.push(\"invalid-reverse-solidus\");\n }\n this.state = \"special authority ignore slashes\";\n } else if (c === p(\"/\")) {\n this.state = \"authority\";\n } else {\n this.url.username = this.base.username;\n this.url.password = this.base.password;\n this.url.host = this.base.host;\n this.url.port = this.base.port;\n this.state = \"path\";\n --this.pointer;\n }\n\n return true;\n};\n\nURLStateMachine.prototype[\"parse special authority slashes\"] = function parseSpecialAuthoritySlashes(c) {\n if (c === p(\"/\") && this.input[this.pointer + 1] === p(\"/\")) {\n this.state = \"special authority ignore slashes\";\n ++this.pointer;\n } else {\n this.validationErrors?.push(\"special-scheme-missing-following-solidus\");\n this.state = \"special authority ignore slashes\";\n --this.pointer;\n }\n\n return true;\n};\n\nURLStateMachine.prototype[\"parse special authority ignore slashes\"] = function parseSpecialAuthorityIgnoreSlashes(c) {\n if (c !== p(\"/\") && c !== p(\"\\\\\")) {\n this.state = \"authority\";\n --this.pointer;\n } else {\n this.validationErrors?.push(\"special-scheme-missing-following-solidus\");\n }\n\n return true;\n};\n\nURLStateMachine.prototype[\"parse authority\"] = function parseAuthority(c, cStr) {\n if (c === p(\"@\")) {\n this.validationErrors?.push(\"invalid-credentials\");\n if (this.atSignSeen) {\n this.buffer = `%40${this.buffer}`;\n }\n this.atSignSeen = true;\n\n // careful, this iterates over the buffer's code points, independently of this.pointer\n for (const codePointStr of this.buffer) {\n const codePoint = codePointStr.codePointAt(0);\n\n if (codePoint === p(\":\") && !this.passwordTokenSeen) {\n this.passwordTokenSeen = true;\n continue;\n }\n const encodedCodePoints = utf8PercentEncodeCodePoint(codePoint, isUserinfoPercentEncode);\n if (this.passwordTokenSeen) {\n this.url.password += encodedCodePoints;\n } else {\n this.url.username += encodedCodePoints;\n }\n }\n this.buffer = \"\";\n } else if (isNaN(c) || c === p(\"/\") || c === p(\"?\") || c === p(\"#\") ||\n (isSpecial(this.url) && c === p(\"\\\\\"))) {\n if (this.atSignSeen && this.buffer === \"\") {\n this.validationErrors?.push(\"host-missing\");\n return failure;\n }\n this.pointer -= countSymbols(this.buffer) + 1;\n this.buffer = \"\";\n this.state = \"host\";\n } else {\n this.buffer += cStr;\n }\n\n return true;\n};\n\nURLStateMachine.prototype[\"parse hostname\"] =\nURLStateMachine.prototype[\"parse host\"] = function parseHostName(c, cStr) {\n if (this.stateOverride && this.url.scheme === \"file\") {\n --this.pointer;\n this.state = \"file host\";\n } else if (c === p(\":\") && !this.insideBrackets) {\n if (this.buffer === \"\") {\n this.validationErrors?.push(\"host-missing\");\n return failure;\n }\n\n if (this.stateOverride === \"hostname\") {\n return failure;\n }\n\n const host = parseHost(this.buffer, this.validationErrors, isNotSpecial(this.url));\n if (host === failure) {\n return failure;\n }\n\n this.url.host = host;\n this.buffer = \"\";\n this.state = \"port\";\n } else if (isNaN(c) || c === p(\"/\") || c === p(\"?\") || c === p(\"#\") ||\n (isSpecial(this.url) && c === p(\"\\\\\"))) {\n --this.pointer;\n if (isSpecial(this.url) && this.buffer === \"\") {\n this.validationErrors?.push(\"host-missing\");\n return failure;\n } else if (this.stateOverride && this.buffer === \"\" &&\n (includesCredentials(this.url) || this.url.port !== null)) {\n return failure;\n }\n\n const host = parseHost(this.buffer, this.validationErrors, isNotSpecial(this.url));\n if (host === failure) {\n return failure;\n }\n\n this.url.host = host;\n this.buffer = \"\";\n this.state = \"path start\";\n if (this.stateOverride) {\n return false;\n }\n } else {\n if (c === p(\"[\")) {\n this.insideBrackets = true;\n } else if (c === p(\"]\")) {\n this.insideBrackets = false;\n }\n this.buffer += cStr;\n }\n\n return true;\n};\n\nURLStateMachine.prototype[\"parse port\"] = function parsePort(c, cStr) {\n if (infra.isASCIIDigit(c)) {\n this.buffer += cStr;\n } else if (isNaN(c) || c === p(\"/\") || c === p(\"?\") || c === p(\"#\") ||\n (isSpecial(this.url) && c === p(\"\\\\\")) ||\n this.stateOverride) {\n if (this.buffer !== \"\") {\n const port = parseInt(this.buffer, 10);\n if (port > 2 ** 16 - 1) {\n this.validationErrors?.push(\"port-out-of-range\");\n return failure;\n }\n this.url.port = port === defaultPort(this.url.scheme) ? null : port;\n this.buffer = \"\";\n if (this.stateOverride) {\n return false;\n }\n }\n if (this.stateOverride) {\n return failure;\n }\n this.state = \"path start\";\n --this.pointer;\n } else {\n this.validationErrors?.push(\"port-invalid\");\n return failure;\n }\n\n return true;\n};\n\nconst fileOtherwiseCodePoints = new Set([p(\"/\"), p(\"\\\\\"), p(\"?\"), p(\"#\")]);\n\nfunction startsWithWindowsDriveLetter(input, pointer) {\n const length = input.length - pointer;\n return length >= 2 &&\n isWindowsDriveLetterCodePoints(input[pointer], input[pointer + 1]) &&\n (length === 2 || fileOtherwiseCodePoints.has(input[pointer + 2]));\n}\n\nURLStateMachine.prototype[\"parse file\"] = function parseFile(c) {\n this.url.scheme = \"file\";\n this.url.host = \"\";\n\n if (c === p(\"/\") || c === p(\"\\\\\")) {\n if (c === p(\"\\\\\")) {\n this.validationErrors?.push(\"invalid-reverse-solidus\");\n }\n this.state = \"file slash\";\n } else if (this.base !== null && this.base.scheme === \"file\") {\n this.url.host = this.base.host;\n this.url.path = this.base.path.slice();\n this.url.query = this.base.query;\n if (c === p(\"?\")) {\n this.url.query = \"\";\n this.state = \"query\";\n } else if (c === p(\"#\")) {\n this.url.fragment = \"\";\n this.state = \"fragment\";\n } else if (!isNaN(c)) {\n this.url.query = null;\n if (!startsWithWindowsDriveLetter(this.input, this.pointer)) {\n shortenPath(this.url);\n } else {\n this.validationErrors?.push(\"file-invalid-Windows-drive-letter\");\n this.url.path = [];\n }\n\n this.state = \"path\";\n --this.pointer;\n }\n } else {\n this.state = \"path\";\n --this.pointer;\n }\n\n return true;\n};\n\nURLStateMachine.prototype[\"parse file slash\"] = function parseFileSlash(c) {\n if (c === p(\"/\") || c === p(\"\\\\\")) {\n if (c === p(\"\\\\\")) {\n this.validationErrors?.push(\"invalid-reverse-solidus\");\n }\n this.state = \"file host\";\n } else {\n if (this.base !== null && this.base.scheme === \"file\") {\n if (!startsWithWindowsDriveLetter(this.input, this.pointer) &&\n isNormalizedWindowsDriveLetterString(this.base.path[0])) {\n this.url.path.push(this.base.path[0]);\n }\n this.url.host = this.base.host;\n }\n this.state = \"path\";\n --this.pointer;\n }\n\n return true;\n};\n\nURLStateMachine.prototype[\"parse file host\"] = function parseFileHost(c, cStr) {\n if (isNaN(c) || c === p(\"/\") || c === p(\"\\\\\") || c === p(\"?\") || c === p(\"#\")) {\n --this.pointer;\n if (!this.stateOverride && isWindowsDriveLetterString(this.buffer)) {\n this.validationErrors?.push(\"file-invalid-Windows-drive-letter-host\");\n this.state = \"path\";\n } else if (this.buffer === \"\") {\n this.url.host = \"\";\n if (this.stateOverride) {\n return false;\n }\n this.state = \"path start\";\n } else {\n let host = parseHost(this.buffer, this.validationErrors, isNotSpecial(this.url));\n if (host === failure) {\n return failure;\n }\n if (host === \"localhost\") {\n host = \"\";\n }\n this.url.host = host;\n\n if (this.stateOverride) {\n return false;\n }\n\n this.buffer = \"\";\n this.state = \"path start\";\n }\n } else {\n this.buffer += cStr;\n }\n\n return true;\n};\n\nURLStateMachine.prototype[\"parse path start\"] = function parsePathStart(c) {\n if (isSpecial(this.url)) {\n if (c === p(\"\\\\\")) {\n this.validationErrors?.push(\"invalid-reverse-solidus\");\n }\n this.state = \"path\";\n\n if (c !== p(\"/\") && c !== p(\"\\\\\")) {\n --this.pointer;\n }\n } else if (!this.stateOverride && c === p(\"?\")) {\n this.url.query = \"\";\n this.state = \"query\";\n } else if (!this.stateOverride && c === p(\"#\")) {\n this.url.fragment = \"\";\n this.state = \"fragment\";\n } else if (c !== undefined) {\n this.state = \"path\";\n if (c !== p(\"/\")) {\n --this.pointer;\n }\n } else if (this.stateOverride && this.url.host === null) {\n this.url.path.push(\"\");\n }\n\n return true;\n};\n\nURLStateMachine.prototype[\"parse path\"] = function parsePath(c) {\n if (isNaN(c) || c === p(\"/\") || (isSpecial(this.url) && c === p(\"\\\\\")) ||\n (!this.stateOverride && (c === p(\"?\") || c === p(\"#\")))) {\n if (isSpecial(this.url) && c === p(\"\\\\\")) {\n this.validationErrors?.push(\"invalid-reverse-solidus\");\n }\n\n if (isDoubleDot(this.buffer)) {\n shortenPath(this.url);\n if (c !== p(\"/\") && !(isSpecial(this.url) && c === p(\"\\\\\"))) {\n this.url.path.push(\"\");\n }\n } else if (isSingleDot(this.buffer) && c !== p(\"/\") &&\n !(isSpecial(this.url) && c === p(\"\\\\\"))) {\n this.url.path.push(\"\");\n } else if (!isSingleDot(this.buffer)) {\n if (this.url.scheme === \"file\" && this.url.path.length === 0 && isWindowsDriveLetterString(this.buffer)) {\n this.buffer = `${this.buffer[0]}:`;\n }\n this.url.path.push(this.buffer);\n }\n this.buffer = \"\";\n if (c === p(\"?\")) {\n this.url.query = \"\";\n this.state = \"query\";\n }\n if (c === p(\"#\")) {\n this.url.fragment = \"\";\n this.state = \"fragment\";\n }\n } else {\n this.validateURLUnit(c);\n\n this.buffer += utf8PercentEncodeCodePoint(c, isPathPercentEncode);\n }\n\n return true;\n};\n\nURLStateMachine.prototype[\"parse opaque path\"] = function parseOpaquePath(c) {\n if (c === p(\"?\")) {\n this.url.query = \"\";\n this.state = \"query\";\n } else if (c === p(\"#\")) {\n this.url.fragment = \"\";\n this.state = \"fragment\";\n } else if (c === p(\" \")) {\n this.validationErrors?.push(\"invalid-URL-unit\");\n\n const remaining = this.input[this.pointer + 1];\n if (remaining === p(\"?\") || remaining === p(\"#\")) {\n this.url.path += \"%20\";\n } else {\n this.url.path += \" \";\n }\n } else if (!isNaN(c)) {\n this.validateURLUnit(c);\n\n this.url.path += utf8PercentEncodeCodePoint(c, isC0ControlPercentEncode);\n }\n\n return true;\n};\n\nURLStateMachine.prototype[\"parse query\"] = function parseQuery(c, cStr) {\n if (!isSpecial(this.url) || this.url.scheme === \"ws\" || this.url.scheme === \"wss\") {\n this.encoding = \"utf-8\";\n }\n\n if ((!this.stateOverride && c === p(\"#\")) || isNaN(c)) {\n const percentEncodeSet = isSpecial(this.url) ? extraSpecialQueryPercentEncodeChars : extraQueryPercentEncodeChars;\n this.url.query += percentEncodeAfterEncoding(\n this.encoding,\n this.buffer,\n percentEncodeSet\n );\n\n this.buffer = \"\";\n\n if (c === p(\"#\")) {\n this.url.fragment = \"\";\n this.state = \"fragment\";\n }\n } else if (!isNaN(c)) {\n this.validateURLUnit(c);\n\n this.buffer += cStr;\n }\n\n return true;\n};\n\nURLStateMachine.prototype[\"parse fragment\"] = function parseFragment(c) {\n if (!isNaN(c)) {\n this.validateURLUnit(c);\n\n this.url.fragment += utf8PercentEncodeCodePoint(c, isFragmentPercentEncode);\n }\n\n return true;\n};\n\nfunction serializeURL(url, excludeFragment) {\n let output = `${url.scheme}:`;\n if (url.host !== null) {\n output += \"//\";\n\n if (url.username !== \"\" || url.password !== \"\") {\n output += url.username;\n if (url.password !== \"\") {\n output += `:${url.password}`;\n }\n output += \"@\";\n }\n\n output += serializeHost(url.host);\n\n if (url.port !== null) {\n output += `:${url.port}`;\n }\n }\n\n if (url.host === null && !hasAnOpaquePath(url) && url.path.length > 1 && url.path[0] === \"\") {\n output += \"/.\";\n }\n output += serializePath(url);\n\n if (url.query !== null) {\n output += `?${url.query}`;\n }\n\n if (!excludeFragment && url.fragment !== null) {\n output += `#${url.fragment}`;\n }\n\n return output;\n}\n\nfunction serializeOrigin(tuple) {\n let result = `${tuple.scheme}://`;\n result += serializeHost(tuple.host);\n\n if (tuple.port !== null) {\n result += `:${tuple.port}`;\n }\n\n return result;\n}\n\nfunction serializePath(url) {\n if (hasAnOpaquePath(url)) {\n return url.path;\n }\n\n let output = \"\";\n for (const segment of url.path) {\n output += `/${segment}`;\n }\n return output;\n}\n\nmodule.exports.serializeURL = serializeURL;\n\nmodule.exports.serializePath = serializePath;\n\nmodule.exports.serializeURLOrigin = function (url) {\n // https://url.spec.whatwg.org/#concept-url-origin\n switch (url.scheme) {\n case \"blob\": {\n const pathURL = module.exports.parseURL(serializePath(url));\n if (pathURL === null) {\n return \"null\";\n }\n if (pathURL.scheme !== \"http\" && pathURL.scheme !== \"https\") {\n return \"null\";\n }\n return module.exports.serializeURLOrigin(pathURL);\n }\n case \"ftp\":\n case \"http\":\n case \"https\":\n case \"ws\":\n case \"wss\":\n return serializeOrigin({\n scheme: url.scheme,\n host: url.host,\n port: url.port\n });\n case \"file\":\n // The spec says:\n // > Unfortunate as it is, this is left as an exercise to the reader. When in doubt, return a new opaque origin.\n // Browsers tested so far:\n // - Chrome says \"file://\", but treats file: URLs as cross-origin for most (all?) purposes; see e.g.\n // https://bugs.chromium.org/p/chromium/issues/detail?id=37586\n // - Firefox says \"null\", but treats file: URLs as same-origin sometimes based on directory stuff; see\n // https://developer.mozilla.org/en-US/docs/Archive/Misc_top_level/Same-origin_policy_for_file:_URIs\n return \"null\";\n default:\n // serializing an opaque origin returns \"null\"\n return \"null\";\n }\n};\n\nfunction basicURLParse(input, options = {}, validationErrors = null) {\n const usm = new URLStateMachine(\n input,\n options.baseURL,\n options.encoding,\n options.url,\n options.stateOverride,\n validationErrors\n );\n if (usm.failure) {\n return null;\n }\n\n return usm.url;\n}\n\nmodule.exports.basicURLParse = function (input, options = {}) {\n return basicURLParse(input, options);\n};\n\nmodule.exports.setTheUsername = function (url, username) {\n url.username = utf8PercentEncodeString(username, isUserinfoPercentEncode);\n};\n\nmodule.exports.setThePassword = function (url, password) {\n url.password = utf8PercentEncodeString(password, isUserinfoPercentEncode);\n};\n\nmodule.exports.serializeHost = serializeHost;\n\nmodule.exports.cannotHaveAUsernamePasswordPort = cannotHaveAUsernamePasswordPort;\n\nmodule.exports.hasAnOpaquePath = hasAnOpaquePath;\n\nmodule.exports.serializeInteger = function (integer) {\n return String(integer);\n};\n\nmodule.exports.parseURL = function (input, options = {}) {\n // We don't handle blobs, so this just delegates:\n return module.exports.basicURLParse(input, {\n baseURL: options.baseURL,\n encoding: options.encoding\n });\n};\n\nmodule.exports.parseURLWithValidationErrors = function (input, options = {}) {\n const validationErrors = [];\n\n // We don't handle blobs, so this just delegates:\n const url = basicURLParse(input, {\n baseURL: options.baseURL,\n encoding: options.encoding\n }, validationErrors);\n\n return { url, validationErrors };\n};\n","\"use strict\";\nconst { isASCIIHex } = require(\"./infra\");\nconst { utf8Encode } = require(\"./encoding\");\n\nfunction p(char) {\n return char.codePointAt(0);\n}\n\n// https://url.spec.whatwg.org/#percent-encode\nfunction percentEncode(c) {\n let hex = c.toString(16).toUpperCase();\n if (hex.length === 1) {\n hex = `0${hex}`;\n }\n\n return `%${hex}`;\n}\n\n// https://url.spec.whatwg.org/#percent-decode\nfunction percentDecodeBytes(input) {\n const output = new Uint8Array(input.byteLength);\n let outputIndex = 0;\n for (let i = 0; i < input.byteLength; ++i) {\n const byte = input[i];\n if (byte !== 0x25) {\n output[outputIndex++] = byte;\n } else if (byte === 0x25 && (!isASCIIHex(input[i + 1]) || !isASCIIHex(input[i + 2]))) {\n output[outputIndex++] = byte;\n } else {\n const bytePoint = parseInt(String.fromCodePoint(input[i + 1], input[i + 2]), 16);\n output[outputIndex++] = bytePoint;\n i += 2;\n }\n }\n\n return output.slice(0, outputIndex);\n}\n\n// https://url.spec.whatwg.org/#string-percent-decode\nfunction percentDecodeString(input) {\n const bytes = utf8Encode(input);\n return percentDecodeBytes(bytes);\n}\n\n// https://url.spec.whatwg.org/#c0-control-percent-encode-set\nfunction isC0ControlPercentEncode(c) {\n return c <= 0x1F || c > 0x7E;\n}\n\n// https://url.spec.whatwg.org/#fragment-percent-encode-set\nconst extraFragmentPercentEncodeSet = new Set([p(\" \"), p(\"\\\"\"), p(\"<\"), p(\">\"), p(\"`\")]);\nfunction isFragmentPercentEncode(c) {\n return isC0ControlPercentEncode(c) || extraFragmentPercentEncodeSet.has(c);\n}\n\n// https://url.spec.whatwg.org/#query-percent-encode-set\nconst extraQueryPercentEncodeSet = new Set([p(\" \"), p(\"\\\"\"), p(\"#\"), p(\"<\"), p(\">\")]);\nconst extraQueryPercentEncodeChars = String.fromCodePoint(...[...extraQueryPercentEncodeSet].sort());\nfunction isQueryPercentEncode(c) {\n return isC0ControlPercentEncode(c) || extraQueryPercentEncodeSet.has(c);\n}\n\n// https://url.spec.whatwg.org/#special-query-percent-encode-set\nconst extraSpecialQueryPercentEncodeSet = new Set([...extraQueryPercentEncodeSet, p(\"'\")]);\nconst extraSpecialQueryPercentEncodeChars = String.fromCodePoint(...[...extraSpecialQueryPercentEncodeSet].sort());\nfunction isSpecialQueryPercentEncode(c) {\n return isC0ControlPercentEncode(c) || extraSpecialQueryPercentEncodeSet.has(c);\n}\n\n// https://url.spec.whatwg.org/#path-percent-encode-set\nconst extraPathPercentEncodeSet = new Set([p(\"?\"), p(\"`\"), p(\"{\"), p(\"}\"), p(\"^\")]);\nfunction isPathPercentEncode(c) {\n return isQueryPercentEncode(c) || extraPathPercentEncodeSet.has(c);\n}\n\n// https://url.spec.whatwg.org/#userinfo-percent-encode-set\nconst extraUserinfoPercentEncodeSet =\n new Set([p(\"/\"), p(\":\"), p(\";\"), p(\"=\"), p(\"@\"), p(\"[\"), p(\"\\\\\"), p(\"]\"), p(\"|\")]);\nfunction isUserinfoPercentEncode(c) {\n return isPathPercentEncode(c) || extraUserinfoPercentEncodeSet.has(c);\n}\n\n// https://url.spec.whatwg.org/#component-percent-encode-set\nconst extraComponentPercentEncodeSet = new Set([p(\"$\"), p(\"%\"), p(\"&\"), p(\"+\"), p(\",\")]);\nfunction isComponentPercentEncode(c) {\n return isUserinfoPercentEncode(c) || extraComponentPercentEncodeSet.has(c);\n}\n\n// https://url.spec.whatwg.org/#application-x-www-form-urlencoded-percent-encode-set\nconst extraURLEncodedPercentEncodeSet = new Set([p(\"!\"), p(\"'\"), p(\"(\"), p(\")\"), p(\"~\")]);\nfunction isURLEncodedPercentEncode(c) {\n return isComponentPercentEncode(c) || extraURLEncodedPercentEncodeSet.has(c);\n}\n\n// https://url.spec.whatwg.org/#code-point-percent-encode-after-encoding\n// https://url.spec.whatwg.org/#utf-8-percent-encode\n// Assuming encoding is always utf-8 allows us to trim one of the logic branches. TODO: support encoding.\n// The \"-Internal\" variant here has code points as JS strings. The external version used by other files has code points\n// as JS numbers, like the rest of the codebase.\nfunction utf8PercentEncodeCodePointInternal(codePoint, percentEncodePredicate) {\n const bytes = utf8Encode(codePoint);\n let output = \"\";\n for (const byte of bytes) {\n // Our percentEncodePredicate operates on bytes, not code points, so this is slightly different from the spec.\n if (!percentEncodePredicate(byte)) {\n output += String.fromCharCode(byte);\n } else {\n output += percentEncode(byte);\n }\n }\n\n return output;\n}\n\nfunction utf8PercentEncodeCodePoint(codePoint, percentEncodePredicate) {\n return utf8PercentEncodeCodePointInternal(String.fromCodePoint(codePoint), percentEncodePredicate);\n}\n\n// https://url.spec.whatwg.org/#string-percent-encode-after-encoding\n// https://url.spec.whatwg.org/#string-utf-8-percent-encode\nfunction utf8PercentEncodeString(input, percentEncodePredicate, spaceAsPlus = false) {\n let output = \"\";\n for (const codePoint of input) {\n if (spaceAsPlus && codePoint === \" \") {\n output += \"+\";\n } else {\n output += utf8PercentEncodeCodePointInternal(codePoint, percentEncodePredicate);\n }\n }\n return output;\n}\n\nmodule.exports = {\n isC0ControlPercentEncode,\n isFragmentPercentEncode,\n isQueryPercentEncode,\n isSpecialQueryPercentEncode,\n isPathPercentEncode,\n isUserinfoPercentEncode,\n isURLEncodedPercentEncode,\n extraQueryPercentEncodeChars,\n extraSpecialQueryPercentEncodeChars,\n percentDecodeString,\n percentDecodeBytes,\n utf8PercentEncodeString,\n utf8PercentEncodeCodePoint\n};\n","\"use strict\";\n\n// Note that we take code points as JS numbers, not JS strings.\n\nfunction isASCIIDigit(c) {\n return c >= 0x30 && c <= 0x39;\n}\n\nfunction isASCIIAlpha(c) {\n return (c >= 0x41 && c <= 0x5A) || (c >= 0x61 && c <= 0x7A);\n}\n\nfunction isASCIIAlphanumeric(c) {\n return isASCIIAlpha(c) || isASCIIDigit(c);\n}\n\nfunction isASCIIHex(c) {\n return isASCIIDigit(c) || (c >= 0x41 && c <= 0x46) || (c >= 0x61 && c <= 0x66);\n}\n\nfunction isASCIIString(string) {\n return !/[^\\u0000-\\u007F]/u.test(string);\n}\n\nfunction isNoncharacter(c) {\n return (c >= 0xFDD0 && c <= 0xFDEF) || (c & 0xFFFE) === 0xFFFE;\n}\n\nmodule.exports = {\n isASCIIDigit,\n isASCIIAlpha,\n isASCIIAlphanumeric,\n isASCIIHex,\n isASCIIString,\n isNoncharacter\n};\n","\"use strict\";\n\nconst tr46 = require(\"tr46\");\n\nconst infra = require(\"./infra\");\n\nfunction p(char) {\n return char.codePointAt(0);\n}\n\nconst failure = Symbol(\"failure\");\n\nconst specialSchemes = {\n ftp: 21,\n file: null,\n http: 80,\n https: 443,\n ws: 80,\n wss: 443\n};\n\nconst urlCodePoints = new Set([\n p(\"!\"), p(\"$\"), p(\"&\"), p(\"'\"), p(\"(\"), p(\")\"), p(\"*\"), p(\"+\"), p(\",\"), p(\"-\"), p(\".\"), p(\"/\"),\n p(\":\"), p(\";\"), p(\"=\"), p(\"?\"), p(\"@\"), p(\"_\"), p(\"~\")\n]);\n\nconst forbiddenHostCodePoints = new Set([\n 0x00, 0x09, 0x0A, 0x0D, 0x20, p(\"#\"), p(\"/\"), p(\":\"), p(\"<\"), p(\">\"), p(\"?\"), p(\"@\"), p(\"[\"),\n p(\"\\\\\"), p(\"]\"), p(\"^\"), p(\"|\")\n]);\n\nfunction isURLCodePoint(c) {\n return infra.isASCIIAlphanumeric(c) ||\n urlCodePoints.has(c) ||\n (c >= 0xA0 && c <= 0x10FFFD && (c < 0xD800 || c > 0xDFFF) && !infra.isNoncharacter(c));\n}\n\nfunction isInvalidURLCodePoint(c) {\n return !isURLCodePoint(c) && c !== p(\"%\");\n}\n\nfunction isPercentEncodedByteAt(input, index) {\n return index + 2 < input.length &&\n input[index] === \"%\" &&\n infra.isASCIIHex(input.charCodeAt(index + 1)) &&\n infra.isASCIIHex(input.charCodeAt(index + 2));\n}\n\nfunction containsPercentEncodedByte(input) {\n return /%[0-9A-Fa-f]{2}/u.test(input);\n}\n\nfunction containsForbiddenHostCodePoint(string) {\n return [...string].some(c => forbiddenHostCodePoints.has(c.codePointAt(0)));\n}\n\nfunction containsForbiddenDomainCodePoint(string) {\n return [...string].some(c => {\n const cp = c.codePointAt(0);\n return forbiddenHostCodePoints.has(cp) || (cp >= 0x00 && cp <= 0x1F) || cp === p(\"%\") || cp === 0x7F;\n });\n}\n\nfunction domainParserToASCII(domain, beStrict) {\n return tr46.toASCII(domain, {\n checkHyphens: beStrict,\n checkBidi: true,\n checkJoiners: true,\n useSTD3ASCIIRules: beStrict,\n transitionalProcessing: false,\n verifyDNSLength: beStrict,\n ignoreInvalidPunycode: false\n });\n}\n\nfunction parseIPv4Number(input, validationErrors = null) {\n if (input === \"\") {\n return failure;\n }\n\n let validationErrorSeen = false;\n let R = 10;\n\n if (input.length >= 2 && input.charAt(0) === \"0\" && input.charAt(1).toLowerCase() === \"x\") {\n validationErrorSeen = true;\n input = input.substring(2);\n R = 16;\n } else if (input.length >= 2 && input.charAt(0) === \"0\") {\n validationErrorSeen = true;\n input = input.substring(1);\n R = 8;\n }\n\n if (input === \"\") {\n validationErrors?.push(\"IPv4-non-decimal-part\");\n return 0;\n }\n\n let regex = /[^0-7]/u;\n if (R === 10) {\n regex = /[^0-9]/u;\n }\n if (R === 16) {\n regex = /[^0-9A-Fa-f]/u;\n }\n\n if (regex.test(input)) {\n return failure;\n }\n\n if (validationErrorSeen) {\n validationErrors?.push(\"IPv4-non-decimal-part\");\n }\n\n return parseInt(input, R);\n}\n\nfunction endsInANumber(input) {\n const parts = input.split(\".\");\n if (parts[parts.length - 1] === \"\") {\n if (parts.length === 1) {\n return false;\n }\n parts.pop();\n }\n\n const last = parts[parts.length - 1];\n if (/^[0-9]+$/u.test(last)) {\n return true;\n }\n\n if (parseIPv4Number(last) !== failure) {\n return true;\n }\n\n return false;\n}\n\nfunction domainParser(domain, validationErrors = null, beStrict = false) {\n // A domain-to-ASCII validation error is reported whenever the strict Unicode ToASCII (CheckHyphens,\n // UseSTD3ASCIIRules, and VerifyDnsLength all true) fails, even when the relaxed parameters used\n // for non-strict parsing succeed. This step does not itself fail the algorithm.\n //\n // Spec divergence (performance): the URL Standard runs this strict pass unconditionally, but when\n // beStrict is false its only effect is that validation error, so we skip it when we are neither\n // being strict nor collecting validation errors.\n if (beStrict || validationErrors) {\n const strictResult = domainParserToASCII(domain, true);\n if (strictResult === null) {\n validationErrors?.push(\"domain-to-ASCII\");\n }\n\n if (beStrict) {\n return strictResult === null ? failure : strictResult;\n }\n }\n\n let result;\n if (infra.isASCIIString(domain)) {\n // For web compatibility an ASCII domain is returned lowercased regardless of ToASCII's outcome.\n result = domain.toLowerCase();\n } else {\n result = domainParserToASCII(domain, false);\n if (result === null) {\n return failure;\n }\n }\n\n if (result === \"\") {\n return failure;\n }\n if (containsForbiddenDomainCodePoint(result)) {\n return failure;\n }\n\n return result;\n}\n\nfunction isSpecialScheme(scheme) {\n return specialSchemes[scheme.toLowerCase()] !== undefined;\n}\n\nfunction isSpecialSchemeExceptFile(scheme) {\n return isSpecialScheme(scheme) && scheme.toLowerCase() !== \"file\";\n}\n\nfunction defaultPort(scheme) {\n return specialSchemes[scheme.toLowerCase()];\n}\n\nfunction isWindowsDriveLetterCodePoints(cp1, cp2) {\n return infra.isASCIIAlpha(cp1) && (cp2 === p(\":\") || cp2 === p(\"|\"));\n}\n\nfunction isWindowsDriveLetterString(string) {\n return string.length === 2 && infra.isASCIIAlpha(string.codePointAt(0)) && (string[1] === \":\" || string[1] === \"|\");\n}\n\nfunction isNormalizedWindowsDriveLetterString(string) {\n return string.length === 2 && infra.isASCIIAlpha(string.codePointAt(0)) && string[1] === \":\";\n}\n\nmodule.exports = {\n containsForbiddenHostCodePoint,\n containsPercentEncodedByte,\n defaultPort,\n domainParser,\n endsInANumber,\n failure,\n forbiddenHostCodePoints,\n isInvalidURLCodePoint,\n isNormalizedWindowsDriveLetterString,\n isPercentEncodedByteAt,\n parseIPv4Number,\n isSpecialScheme,\n isSpecialSchemeExceptFile,\n isURLCodePoint,\n isWindowsDriveLetterCodePoints,\n isWindowsDriveLetterString,\n p\n};\n","\"use strict\";\n\nconst infra = require(\"./infra\");\nconst {\n domainParser,\n endsInANumber,\n failure,\n forbiddenHostCodePoints,\n isPercentEncodedByteAt,\n isSpecialSchemeExceptFile,\n isURLCodePoint,\n p\n} = require(\"./url-miscellaneous\");\nconst { hasAnOpaquePath } = require(\"./url-state-machine\");\n\nconst pathSegmentExcludedCodePoints = new Set([p(\"/\"), p(\"?\")]);\nconst opaquePathExcludedCodePoints = new Set([p(\"?\")]);\n\nfunction splitOffFragment(input) {\n const fragmentStart = input.indexOf(\"#\");\n\n if (fragmentStart === -1) {\n return { beforeFragment: input, fragment: null };\n }\n\n return {\n beforeFragment: input.substring(0, fragmentStart),\n fragment: input.substring(fragmentStart + 1)\n };\n}\n\nfunction splitOffQuery(input) {\n const queryStart = input.indexOf(\"?\");\n\n if (queryStart === -1) {\n return { beforeQuery: input, query: null };\n }\n\n return {\n beforeQuery: input.substring(0, queryStart),\n query: input.substring(queryStart + 1)\n };\n}\n\nfunction isValidURLString(input, options = {}) {\n const baseURL = options.baseURL ?? null;\n\n return isValidAbsoluteURLWithFragmentString(input) ||\n (baseURL !== null && isValidRelativeURLWithFragmentString(input, baseURL));\n}\n\nfunction isValidAbsoluteURLWithFragmentString(input) {\n const { beforeFragment, fragment } = splitOffFragment(input);\n\n return (fragment === null || isValidURLFragmentString(fragment)) && isValidAbsoluteURLString(beforeFragment);\n}\n\nfunction isValidAbsoluteURLString(input) {\n const { beforeQuery, query } = splitOffQuery(input);\n\n if (query !== null && !isValidURLQueryString(query)) {\n return false;\n }\n\n const schemeMatch = /^([A-Za-z][A-Za-z0-9+.-]*):/u.exec(beforeQuery);\n if (schemeMatch === null) {\n return false;\n }\n\n const scheme = schemeMatch[1].toLowerCase();\n const afterScheme = beforeQuery.substring(schemeMatch[0].length);\n\n if (isSpecialSchemeExceptFile(scheme)) {\n return isValidSchemeRelativeSpecialURLString(afterScheme);\n }\n if (scheme === \"file\") {\n return isValidSchemeRelativeFileURLString(afterScheme);\n }\n\n return isValidSchemeRelativeURLString(afterScheme) ||\n isValidPathAbsoluteNonAuthorityURLString(afterScheme) ||\n isValidOpaquePathURLString(afterScheme);\n}\n\nfunction isValidRelativeURLWithFragmentString(input, baseURL) {\n if (hasAnOpaquePath(baseURL)) {\n return input.startsWith(\"#\") && isValidURLFragmentString(input.substring(1));\n }\n\n const { beforeFragment, fragment } = splitOffFragment(input);\n\n return isValidRelativeURLString(beforeFragment, baseURL) &&\n (fragment === null || isValidURLFragmentString(fragment));\n}\n\nfunction isValidRelativeURLString(input, baseURL) {\n const { beforeQuery, query } = splitOffQuery(input);\n const hasValidQuery = query === null || isValidURLQueryString(query);\n\n if (isValidPathAbsoluteNonAuthorityURLString(beforeQuery)) {\n return hasValidQuery;\n }\n\n if (isValidPathRelativeSchemeLessURLString(beforeQuery)) {\n return hasValidQuery;\n }\n\n if (isSpecialSchemeExceptFile(baseURL.scheme)) {\n return isValidSchemeRelativeSpecialURLString(beforeQuery) && hasValidQuery;\n }\n\n if (baseURL.scheme === \"file\") {\n return isValidSchemeRelativeFileURLString(beforeQuery) && hasValidQuery;\n }\n\n return isValidSchemeRelativeURLString(beforeQuery) && hasValidQuery;\n}\n\nfunction isValidSchemeRelativeSpecialURLString(input) {\n if (!input.startsWith(\"//\")) {\n return false;\n }\n\n const { authority, path } = splitOffPath(input.substring(2));\n\n return isValidHostAndPortString(authority, isValidHostString) &&\n (path === null || isValidPathAbsoluteURLString(path));\n}\n\nfunction isValidSchemeRelativeURLString(input) {\n if (!input.startsWith(\"//\")) {\n return false;\n }\n\n const { authority, path } = splitOffPath(input.substring(2));\n\n return isValidOpaqueHostAndPortString(authority) &&\n (path === null || isValidPathAbsoluteURLString(path));\n}\n\nfunction isValidSchemeRelativeFileURLString(input) {\n if (!input.startsWith(\"//\")) {\n return false;\n }\n\n const afterSlashes = input.substring(2);\n\n return afterSlashes === \"\" ||\n isValidHostAndPathAbsoluteURLString(afterSlashes) ||\n isValidPathAbsoluteURLString(afterSlashes);\n}\n\nfunction isValidHostAndPathAbsoluteURLString(input) {\n const { authority, path } = splitOffPath(input);\n\n return isValidHostString(authority) &&\n (path === null || isValidPathAbsoluteURLString(path));\n}\n\nfunction splitOffPath(input) {\n const pathStart = input.indexOf(\"/\");\n\n if (pathStart === -1) {\n return { authority: input, path: null };\n }\n\n return {\n authority: input.substring(0, pathStart),\n path: input.substring(pathStart)\n };\n}\n\nfunction isValidHostAndPortString(input, isValidHost) {\n const parsed = splitHostAndPort(input);\n\n return parsed !== null &&\n parsed.host !== \"\" &&\n isValidHost(parsed.host) &&\n (parsed.port === null || isValidURLPortString(parsed.port));\n}\n\nfunction isValidOpaqueHostAndPortString(input) {\n if (input === \"\") {\n return true;\n }\n\n const parsed = splitHostAndPort(input);\n\n return parsed !== null &&\n parsed.host !== \"\" &&\n isValidOpaqueHostString(parsed.host) &&\n (parsed.port === null || isValidURLPortString(parsed.port));\n}\n\nfunction splitHostAndPort(input) {\n if (input.startsWith(\"[\")) {\n const hostEnd = input.indexOf(\"]\");\n if (hostEnd === -1) {\n return null;\n }\n\n const rest = input.substring(hostEnd + 1);\n if (rest !== \"\" && !rest.startsWith(\":\")) {\n return null;\n }\n\n return {\n host: input.substring(0, hostEnd + 1),\n port: rest === \"\" ? null : rest.substring(1)\n };\n }\n\n const portStart = input.indexOf(\":\");\n if (portStart === -1) {\n return { host: input, port: null };\n }\n\n return {\n host: input.substring(0, portStart),\n port: input.substring(portStart + 1)\n };\n}\n\nfunction isValidHostString(input) {\n return isValidDomainString(input) ||\n isValidIPv4AddressString(input) ||\n isValidBracketedIPv6AddressString(input);\n}\n\nfunction isValidDomainString(input) {\n const domain = domainParser(input, null, true);\n\n return domain !== failure && !endsInANumber(domain);\n}\n\nfunction isValidIPv4AddressString(input) {\n const pieces = input.split(\".\");\n\n return pieces.length === 4 && pieces.every(isValidIPv4AddressPieceString);\n}\n\nfunction isValidIPv4AddressPieceString(input) {\n if (input === \"\" || input.length > 3) {\n return false;\n }\n\n for (let i = 0; i < input.length; ++i) {\n if (!infra.isASCIIDigit(input.codePointAt(i))) {\n return false;\n }\n }\n\n if (input.length > 1 && input[0] === \"0\") {\n return false;\n }\n\n return Number(input) <= 255;\n}\n\nfunction isValidBracketedIPv6AddressString(input) {\n return input.startsWith(\"[\") &&\n input.endsWith(\"]\") &&\n isValidIPv6AddressString(input.substring(1, input.length - 1));\n}\n\nfunction isValidIPv6AddressString(input) {\n return getIPv6PiecesStringEffectiveLength(input) === 8 ||\n getIPv6PiecesAndIPv4StringEffectiveLength(input) === 8 ||\n isValidCompressedIPv6AddressString(input);\n}\n\nfunction isValidCompressedIPv6AddressString(input) {\n const compressionIndex = input.indexOf(\"::\");\n if (compressionIndex === -1 || compressionIndex !== input.lastIndexOf(\"::\")) {\n return false;\n }\n\n const preceding = input.substring(0, compressionIndex);\n const following = input.substring(compressionIndex + 2);\n\n const precedingLength = getOptionalIPv6PiecesStringEffectiveLength(preceding);\n const followingLength = getOptionalIPv6PiecesOrPiecesAndIPv4StringEffectiveLength(following);\n if (precedingLength === failure || followingLength === failure) {\n return false;\n }\n\n return precedingLength + followingLength <= 7;\n}\n\nfunction getOptionalIPv6PiecesStringEffectiveLength(input) {\n return input === \"\" ? 0 : getIPv6PiecesStringEffectiveLength(input);\n}\n\nfunction getOptionalIPv6PiecesOrPiecesAndIPv4StringEffectiveLength(input) {\n return input === \"\" ? 0 : getIPv6PiecesOrPiecesAndIPv4StringEffectiveLength(input);\n}\n\nfunction getIPv6PiecesOrPiecesAndIPv4StringEffectiveLength(input) {\n if (isValidIPv6PiecesString(input)) {\n return getIPv6PiecesStringEffectiveLength(input);\n }\n\n if (isValidIPv6PiecesAndIPv4String(input)) {\n return getIPv6PiecesAndIPv4StringEffectiveLength(input);\n }\n\n return failure;\n}\n\nfunction isValidIPv6PiecesAndIPv4String(input) {\n if (isValidIPv4AddressString(input)) {\n return true;\n }\n\n const ipv4SeparatorIndex = input.lastIndexOf(\":\");\n if (ipv4SeparatorIndex === -1) {\n return false;\n }\n\n return isValidIPv6PiecesString(input.substring(0, ipv4SeparatorIndex)) &&\n isValidIPv4AddressString(input.substring(ipv4SeparatorIndex + 1));\n}\n\nfunction getIPv6PiecesAndIPv4StringEffectiveLength(input) {\n if (!isValidIPv6PiecesAndIPv4String(input)) {\n return failure;\n }\n\n const ipv4SeparatorIndex = input.lastIndexOf(\":\");\n if (ipv4SeparatorIndex === -1) {\n return 2;\n }\n\n const piecesLength = getIPv6PiecesStringEffectiveLength(input.substring(0, ipv4SeparatorIndex));\n return piecesLength + 2;\n}\n\nfunction isValidIPv6PiecesString(input) {\n if (input === \"\") {\n return false;\n }\n\n const pieces = input.split(\":\");\n return pieces.every(isValidIPv6PieceString);\n}\n\nfunction getIPv6PiecesStringEffectiveLength(input) {\n return isValidIPv6PiecesString(input) ? input.split(\":\").length : failure;\n}\n\nfunction isValidIPv6PieceString(input) {\n if (input === \"\" || input.length > 4) {\n return false;\n }\n\n for (let i = 0; i < input.length; ++i) {\n if (!infra.isASCIIHex(input.codePointAt(i))) {\n return false;\n }\n }\n\n const value = parseInt(input, 16);\n return value <= 0xFFFF && (input.length === 1 || input[0] !== \"0\");\n}\n\nfunction isValidOpaqueHostString(input) {\n return isValidBracketedIPv6AddressString(input) ||\n (input !== \"\" && isValidURLUnits(input, forbiddenHostCodePoints));\n}\n\nfunction isValidURLPortString(input) {\n if (input === \"\") {\n return true;\n }\n if (!/^[0-9]+$/u.test(input)) {\n return false;\n }\n\n return Number(input) <= 65535;\n}\n\nfunction isValidPathAbsoluteURLString(input) {\n return input.startsWith(\"/\") && input.substring(1).split(\"/\").every(isValidURLPathSegmentString);\n}\n\nfunction isValidPathAbsoluteNonAuthorityURLString(input) {\n return isValidPathAbsoluteURLString(input) && !input.startsWith(\"//\");\n}\n\nfunction isValidPathRelativeURLString(input) {\n return !input.startsWith(\"/\") && input.split(\"/\").every(isValidURLPathSegmentString);\n}\n\nfunction isValidURLPathSegmentString(input) {\n return isValidURLUnits(input, pathSegmentExcludedCodePoints);\n}\n\nfunction isValidPathRelativeSchemeLessURLString(input) {\n return isValidPathRelativeURLString(input) && !/^[A-Za-z][A-Za-z0-9+.-]*:/u.test(input);\n}\n\nfunction isValidOpaquePathURLString(input) {\n return (input === \"\" || input[0] !== \"/\") && isValidURLUnits(input, opaquePathExcludedCodePoints);\n}\n\nfunction isValidURLQueryString(input) {\n return isValidURLUnits(input);\n}\n\nfunction isValidURLFragmentString(input) {\n return isValidURLUnits(input);\n}\n\nfunction isValidURLUnits(input, excludedCodePoints = new Set()) {\n for (let i = 0; i < input.length;) {\n if (input[i] === \"%\") {\n if (!isPercentEncodedByteAt(input, i)) {\n return false;\n }\n\n i += 3;\n continue;\n }\n\n const codePoint = input.codePointAt(i);\n if (!isURLCodePoint(codePoint) || excludedCodePoints.has(codePoint)) {\n return false;\n }\n\n i += codePoint > 0xFFFF ? 2 : 1;\n }\n\n return true;\n}\n\nmodule.exports = {\n isValidURLString\n};\n","\"use strict\";\n\nconst { URL, URLSearchParams } = require(\"./webidl2js-wrapper\");\nconst urlStateMachine = require(\"./lib/url-state-machine\");\nconst percentEncoding = require(\"./lib/percent-encoding\");\nconst urlStringValidator = require(\"./lib/url-string-validator\");\n\nconst sharedGlobalObject = { Array, Object, Promise, String, TypeError };\nURL.install(sharedGlobalObject, [\"Window\"]);\nURLSearchParams.install(sharedGlobalObject, [\"Window\"]);\n\nexports.URL = sharedGlobalObject.URL;\nexports.URLSearchParams = sharedGlobalObject.URLSearchParams;\n\nexports.parseURL = urlStateMachine.parseURL;\nexports.parseURLWithValidationErrors = urlStateMachine.parseURLWithValidationErrors;\nexports.isValidURLString = urlStringValidator.isValidURLString;\nexports.basicURLParse = urlStateMachine.basicURLParse;\nexports.serializeURL = urlStateMachine.serializeURL;\nexports.serializePath = urlStateMachine.serializePath;\nexports.serializeHost = urlStateMachine.serializeHost;\nexports.serializeInteger = urlStateMachine.serializeInteger;\nexports.serializeURLOrigin = urlStateMachine.serializeURLOrigin;\nexports.setTheUsername = urlStateMachine.setTheUsername;\nexports.setThePassword = urlStateMachine.setThePassword;\nexports.cannotHaveAUsernamePasswordPort = urlStateMachine.cannotHaveAUsernamePasswordPort;\nexports.hasAnOpaquePath = urlStateMachine.hasAnOpaquePath;\n\nexports.percentDecodeString = percentEncoding.percentDecodeString;\nexports.percentDecodeBytes = percentEncoding.percentDecodeBytes;\n","/**\n * @todo We could use `import generateUUID from 'uuid/v4';` (but it needs\n * crypto library, etc.; `rollup-plugin-node-builtins` doesn't recommend\n * using its own version and though there is <https://www.npmjs.com/package/crypto-browserify>,\n * it may be troublesome to bundle and not strongly needed)\n * @returns {string}\n */\nexport default function generateUUID () { // Adapted from original: public domain/MIT: https://stackoverflow.com/a/8809472/271577\n /* c8 ignore next */\n let d = Date.now();\n\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replaceAll(/[xy]/gu, function (c) {\n /* eslint-disable no-bitwise, sonarjs/pseudo-random -- Convenient */\n const r = Math.trunc((d + (Math.random() * 16)) % 16);\n d = Math.floor(d / 16);\n return (c === 'x' ? r : ((r & 0x3) | 0x8)).toString(16);\n /* eslint-enable no-bitwise, sonarjs/pseudo-random -- Convenient */\n });\n}\n","// @ts-nocheck -- Uses `Buffer`, which has no types without `@types/node`\n// (matches `URL.js`'s own `@ts-nocheck`, also Node-runtime-specific)\n// Node's native `Blob`/`File` only expose their bytes asynchronously\n// (`.arrayBuffer()`/`.text()`/`.stream()`), with no standard synchronous\n// accessor. `xmlHttpRequestOverrideMimeType` (see `URL.js`) needs\n// synchronous access to back the `blob`/`file` types' synchronous\n// `replace()`. For jsdom's own `Blob`/`File`, it gets this via jsdom's\n// internal wrapper-unwrapping; for any other environment (e.g. Node\n// without jsdom, as in a worker thread with no DOM), these\n// `SyncBlob`/`SyncFile` subclasses provide the same synchronous access by\n// capturing a copy of the content as a `Buffer`, at construction time,\n// before handing the same `parts` off to the real, native constructor.\n//\n// The copy is kept in a module-private `WeakMap`, not as a property on the\n// instance: a plain (even non-enumerable) property would let any code\n// holding a reference to the `Blob`/`File` read its full raw content\n// synchronously, bypassing the normal, async-only `Blob`/`File` API --\n// and would risk leaking into `Object.keys()`/`JSON.stringify()`/etc. of\n// an object that's supposed to look like an ordinary `Blob`/`File`. Only\n// code that imports `getSyncBytes` from this same module can read it.\n\n/**\n * @type {WeakMap<Blob, Buffer>}\n */\nconst syncBytesMap = new WeakMap();\n\n/**\n * @param {Blob} blob A `SyncBlob`/`SyncFile` (or any `Blob`/`File` this\n * module has otherwise recorded bytes for).\n * @returns {Buffer|undefined} `undefined` if `blob` isn't one this module\n * has a synchronous copy for.\n */\nfunction getSyncBytes (blob) {\n return syncBytesMap.get(blob);\n}\n\n/**\n * @param {(string|ArrayBuffer|ArrayBufferView|Blob)[]} parts\n * @returns {Buffer}\n */\nfunction partsToBuffer (parts) {\n return Buffer.concat(parts.map((part) => {\n if (typeof part === 'string') {\n return Buffer.from(part, 'utf8');\n }\n if (Object.prototype.toString.call(part) === '[object ArrayBuffer]') {\n return Buffer.from(/** @type {ArrayBuffer} */ (part));\n }\n if (ArrayBuffer.isView(part)) {\n return Buffer.from(\n part.buffer, part.byteOffset, part.byteLength\n );\n }\n const partBytes = part && syncBytesMap.get(/** @type {Blob} */ (part));\n if (partBytes) {\n return partBytes;\n }\n return Buffer.from(String(part), 'utf8');\n }));\n}\n\n/**\n * A `Blob` subclass which also keeps a synchronously-readable copy of its\n * content (accessible only via `getSyncBytes`, not as a property of the\n * instance itself), for environments (e.g. Node without jsdom) where\n * `Blob` alone offers no synchronous way to read it back.\n */\nclass SyncBlob extends Blob {\n /**\n * @param {(string|ArrayBuffer|ArrayBufferView|Blob)[]} [parts]\n * @param {BlobPropertyBag} [options]\n */\n // eslint-disable-next-line @stylistic/max-len -- Long\n // eslint-disable-next-line default-param-last -- Must match native `Blob` positionally\n constructor (parts = [], options) {\n super(parts, options);\n syncBytesMap.set(this, partsToBuffer(parts));\n }\n}\n\n/**\n * `File` counterpart to `SyncBlob` -- see its documentation for why this\n * exists.\n */\nclass SyncFile extends File {\n /**\n * @param {(string|ArrayBuffer|ArrayBufferView|Blob)[]} parts\n * @param {string} name\n * @param {FilePropertyBag} [options]\n */\n constructor (parts, name, options) {\n super(parts, name, options);\n syncBytesMap.set(this, partsToBuffer(parts));\n }\n}\n\nexport {SyncBlob, SyncFile, getSyncBytes};\n","/* eslint-disable unicorn/no-this-outside-of-class -- Monkey-patching */\n// @ts-nocheck -- jsdom has no types for the file we need\n/* globals location, XMLHttpRequest -- Polyfills */\n\n// Imperfectly polyfill jsdom for testing `Blob`/`File`\n\n// Todo: `generateUUID` and `whatwgURL` can be removed once\n// `URL.createObjectURL` may be implemented in jsdom:\n// https://github.com/jsdom/jsdom/issues/1721\n// though local-xmlhttprequest may need to be adapted\n\n// We also need to tweak `XMLHttpRequest` which our types\n// rely on to obtain the Blob/File content\nimport {createRequire} from 'node:module';\nimport whatwgURL from 'whatwg-url';\nimport generateUUID from '../utils/generateUUID.js';\nimport {getSyncBytes} from './SyncBlobFile.js';\n\nconst require = createRequire(import.meta.url);\nconst {implForWrapper} = require('jsdom/lib/generated/idl/utils.js');\n\nconst {serializeURLOrigin, parseURL} = whatwgURL;\n\n/**\n * @type {{[key: string]: Blob}}\n */\nconst blobURLs = {};\n\n/**\n * @param {Blob} blob\n * @returns {string}\n */\nconst createObjectURL = function (blob) {\n const parsedURL = parseURL(location.href);\n // https://github.com/jsdom/jsdom/issues/1721#issuecomment-282465529\n const blobURL = 'blob:' +\n (parsedURL\n ? serializeURLOrigin(parsedURL)\n // While `parseURL` can return `null`, `location.href`\n // tends not to allow\n /* c8 ignore next */\n : 'null'\n ) +\n '/' + generateUUID();\n blobURLs[blobURL] = blob;\n return blobURL;\n};\n\n/**\n * @param {string} blobURL\n * @returns {void}\n */\nconst revokeObjectURL = function (blobURL) {\n delete blobURLs[blobURL];\n};\n\n/**\n * Synchronously reads the content of a `Blob`/`File` previously registered\n * via `createObjectURL`. `SyncBlob`/`SyncFile` (see `SyncBlobFile.js`)\n * keep their own synchronously-readable copy of the content for\n * environments without jsdom (e.g. Node on its own); prefer that if\n * present, falling back to jsdom's internal wrapper-unwrapping otherwise.\n * @param {Blob} blob\n * @returns {Buffer|undefined}\n */\nconst getBlobBytesSync = function (blob) {\n return getSyncBytes(blob) || implForWrapper(blob)?._bytes;\n};\n\n/**\n * Resolves a `blob:` URL (previously registered via `createObjectURL`) back\n * to its content, synchronously -- for use by any XHR/`fetch` polyfill\n * that needs to serve `blob:` URLs itself (mirroring how browsers read\n * `blob:` URLs without going over the network).\n * @param {string} blobURL\n * @returns {{type: string, bytes: Buffer}|undefined} `undefined` if\n * `blobURL` is not (or is no longer) a registered `blob:` URL.\n */\nconst resolveObjectURL = function (blobURL) {\n const blob = blobURLs[blobURL];\n if (!blob) {\n return undefined;\n }\n // eslint-disable-next-line n/no-sync -- Deliberate\n const bytes = getBlobBytesSync(blob);\n if (!bytes) {\n return undefined;\n }\n return {type: blob.type, bytes};\n};\n\n// We only handle the case of binary, so no need to override `open`\n// in all cases; but this only works if override is called first\n\n/**\n * @callback XMLHttpRequestMimeOverrider\n * @param {string} mimeType\n * @returns {void}\n */\n\n/**\n * @param {object} [cfg]\n * @param {boolean} [cfg.polyfillDataURLs]\n * @returns {XMLHttpRequestMimeOverrider}\n */\nconst xmlHttpRequestOverrideMimeType = function (\n {polyfillDataURLs} = {}\n) {\n // Set these references late in case global `XMLHttpRequest` has since\n // been changed/set\n const _xhropen = XMLHttpRequest.prototype.open;\n const _xhrOverrideMimeType = XMLHttpRequest.prototype.overrideMimeType;\n return function (mimeType, ...args) {\n if (mimeType === 'text/plain; charset=x-user-defined') {\n /**\n * @param {string} method\n * @param {string} url\n * @param {boolean} async\n * @returns {void}\n */\n this.open = function (method, url, async) {\n if (url.startsWith('blob:')) {\n const blob = blobURLs[url];\n if (!blob) {\n this.send = function () {\n throw new DOMException(\n `Failed to execute 'send' on ` +\n `'XMLHttpRequest': Failed to ` +\n `load '${url}'`,\n 'NetworkError'\n );\n };\n return undefined;\n }\n const responseType = 'text/plain'; // blob.type;\n // utf16le and base64 both convert lone surrogates\n\n // eslint-disable-next-line n/no-sync -- Deliberate\n const syncBytes = getBlobBytesSync(blob);\n // jsdom changed Blob internals from `_buffer`\n // to `_bytes`; support both.\n const encoded =\n Buffer.from(syncBytes).toString('binary');\n\n // Not usable in jsdom which makes properties readonly,\n // but local-xmlhttprequest can use (and jsdom can\n // handle data URLs anyways)\n if (polyfillDataURLs) {\n this.status = 200;\n this.send = function () {\n // Empty\n };\n this.responseType = responseType;\n this.responseText = encoded;\n return undefined;\n }\n url = 'data:' + responseType + ',' +\n encodeURIComponent(encoded);\n }\n return _xhropen.call(this, method, url, async);\n };\n\n // As of jsdom 22.0.0, this is needed as the code below will\n // have its own effects in overriding `responseText`\n return undefined;\n }\n // The presence of `XMLHttpRequest.prototype.overrideMimeType`\n // is not really needed here, so making optional\n return _xhrOverrideMimeType &&\n _xhrOverrideMimeType.call(this, mimeType, ...args);\n };\n};\n\nexport {\n createObjectURL, xmlHttpRequestOverrideMimeType, revokeObjectURL,\n resolveObjectURL, getBlobBytesSync\n};\n","/* eslint-disable no-shadow -- Polyfill */\n/**\n * QuotaExceededError polyfill (not yet available in Node/jsdom).\n */\nclass QuotaExceededError extends DOMException {\n /* eslint-enable no-shadow -- Polyfill */\n /**\n * @param {string} [message]\n * @param {{quota?: number, requested?: number}} [options]\n */\n constructor (message = '', {quota, requested} = {}) {\n super(message, 'QuotaExceededError');\n this._quota = quota === undefined ? null : quota;\n this._requested = requested === undefined ? null : requested;\n if (this._quota !== null && this._quota < 0) {\n throw new RangeError('quota must not be negative');\n }\n if (this._requested !== null && this._requested < 0) {\n throw new RangeError('requested must not be negative');\n }\n if (\n this._quota !== null && this._requested !== null &&\n this._requested < this._quota\n ) {\n throw new RangeError('requested must not be less than quota');\n }\n }\n\n /**\n * @returns {number|null}\n */\n get quota () {\n return this._quota;\n }\n\n /**\n * @returns {number|null}\n */\n get requested () {\n return this._requested;\n }\n\n /* eslint-disable class-methods-use-this -- Not needed */\n /**\n * @returns {string}\n */\n get [Symbol.toStringTag] () {\n /* eslint-enable class-methods-use-this -- Not needed */\n return 'QuotaExceededError';\n }\n}\n\nexport {QuotaExceededError};\n","/**\n * WebTransportError polyfill (not yet available in Node/jsdom).\n */\nclass WebTransportError extends DOMException {\n /**\n * @param {{\n * message?: string,\n * source?: \"stream\"|\"session\",\n * streamErrorCode?: number|null\n * }} [init]\n */\n constructor ({\n message = '', source = 'stream', streamErrorCode = null\n } = {}) {\n super(message, 'WebTransportError');\n this._source = source;\n this._streamErrorCode = streamErrorCode;\n }\n\n /**\n * @returns {\"stream\"|\"session\"}\n */\n get source () {\n return this._source;\n }\n\n /**\n * @returns {number|null}\n */\n get streamErrorCode () {\n return this._streamErrorCode;\n }\n\n /* eslint-disable class-methods-use-this -- Not needed */\n /**\n * @returns {string}\n */\n get [Symbol.toStringTag] () {\n /* eslint-enable class-methods-use-this -- Not needed */\n return 'WebTransportError';\n }\n}\n\nexport {WebTransportError};\n","// Map format names to byte sizes and TypedArray constructors\nconst FORMAT_MAP = {\n u8: {bytesPerSample: 1, TypedArray: Uint8Array, isPlanar: false},\n s16: {bytesPerSample: 2, TypedArray: Int16Array, isPlanar: false},\n s32: {bytesPerSample: 4, TypedArray: Int32Array, isPlanar: false},\n f32: {bytesPerSample: 4, TypedArray: Float32Array, isPlanar: false},\n 'u8-planar': {bytesPerSample: 1, TypedArray: Uint8Array, isPlanar: true},\n 's16-planar': {bytesPerSample: 2, TypedArray: Int16Array, isPlanar: true},\n 's32-planar': {bytesPerSample: 4, TypedArray: Int32Array, isPlanar: true},\n 'f32-planar': {bytesPerSample: 4, TypedArray: Float32Array, isPlanar: true}\n};\n\n/**\n * AudioData class.\n */\nclass AudioData {\n /**\n * @typedef {\"u8\"|\"s16\"|\"s32\"|\"f32\"|\"u8-planar\"|\"s16-planar\"\n * |\"s32-planar\"|\"f32-planar\"} AudioDataFormat\n */\n\n /**\n *\n * @param {{\n * format: AudioDataFormat,\n * sampleRate: number,\n * numberOfChannels: number,\n * numberOfFrames: number,\n * timestamp: number,\n * data: ArrayBufferView|ArrayBuffer\n * }} cfg\n */\n constructor ({\n format, sampleRate, numberOfChannels, numberOfFrames,\n timestamp = 0, data\n }) {\n if (!Object.hasOwn(FORMAT_MAP, format)) {\n throw new TypeError(`Unsupported audio format: ${format}`);\n }\n\n this.format = format;\n this.sampleRate = sampleRate;\n this.numberOfChannels = numberOfChannels;\n this.numberOfFrames = numberOfFrames;\n this.timestamp = timestamp;\n this.duration = numberOfFrames / sampleRate;\n\n const meta = FORMAT_MAP[format];\n this._bytesPerSample = meta.bytesPerSample;\n this._TypedArray = meta.TypedArray;\n this._isPlanar = Boolean(meta.isPlanar);\n\n // Per the AudioData API, `data` is a single buffer; for planar\n // formats, each channel's plane is stored back-to-back within it.\n this._data = ArrayBuffer.isView(data)\n ? new Uint8Array(data.buffer, data.byteOffset, data.byteLength)\n : new Uint8Array(data);\n }\n\n /* eslint-disable class-methods-use-this -- Not needed */\n /**\n * @returns {string}\n */\n get [Symbol.toStringTag] () {\n /* eslint-enable class-methods-use-this -- Not needed */\n return 'AudioData';\n }\n\n /**\n *\n * @param {{\n * planeIndex?: number,\n * frameCount?: number\n * }} [options]\n * @returns {number}\n */\n allocationSize (options = {}) {\n const planeIndex = options.planeIndex || 0;\n const frameCount = options.frameCount !== undefined\n ? options.frameCount\n : this.numberOfFrames;\n\n if (this._isPlanar) {\n if (planeIndex >= this.numberOfChannels) {\n throw new RangeError(\n `planeIndex ${\n planeIndex\n } out of bounds for channel count ${this.numberOfChannels}`\n );\n }\n // Planar: One independent buffer per channel\n return frameCount * this._bytesPerSample;\n }\n if (planeIndex !== 0) {\n throw new RangeError(\n `Interleaved formats only have 1 plane (planeIndex 0)`\n );\n }\n // Interleaved: Channels multiplexed in one buffer\n return frameCount * this.numberOfChannels * this._bytesPerSample;\n }\n\n /**\n *\n * @param {ArrayBufferView|ArrayBuffer} destination\n * @param {{\n * planeIndex?: number,\n * frameOffset?: number,\n * frameCount?: number\n * }} [options]\n * @returns {void}\n */\n copyTo (destination, options = {}) {\n const planeIndex = options.planeIndex || 0;\n const frameOffset = options.frameOffset || 0;\n const frameCount = options.frameCount !== undefined\n ? options.frameCount\n : (this.numberOfFrames - frameOffset);\n\n if (frameOffset + frameCount > this.numberOfFrames) {\n throw new RangeError(\n 'Requested frame offset or count exceeds ' +\n 'total available frames.'\n );\n }\n\n // Explicitly target the ArrayBuffer underlying the incoming View\n // (e.g. Node Buffer, Float32Array)\n const destIsView = ArrayBuffer.isView(destination);\n const targetBuffer = /** @type {ArrayBuffer} */ (\n destIsView ? destination.buffer : destination\n );\n const targetByteOffset = destIsView ? destination.byteOffset : 0;\n const targetByteLength = destination.byteLength;\n\n // Check size requirements matching standard layout sizes\n const requiredSize = this.allocationSize({planeIndex, frameCount});\n if (targetByteLength < requiredSize) {\n throw new RangeError(\n `Destination buffer is too small. Need ${\n requiredSize\n } bytes, got ${targetByteLength}.`\n );\n }\n\n // Map a TypedArray overlay precisely onto the target buffer location\n const destElements = requiredSize / this._bytesPerSample;\n const destView = new this._TypedArray(\n targetBuffer, targetByteOffset, destElements\n );\n\n // Planar formats store each channel's plane back-to-back within\n // `_data`; interleaved formats store one plane with samples\n // multiplexed across channels.\n const chCount = this._isPlanar ? 1 : this.numberOfChannels;\n const planeByteOffset = this._isPlanar\n ? planeIndex * this.numberOfFrames * this._bytesPerSample\n : 0;\n const startElement = frameOffset * chCount;\n const elementCount = frameCount * chCount;\n const sourceByteOffset = planeByteOffset +\n (startElement * this._bytesPerSample);\n\n const sourceView = new this._TypedArray(\n /** @type {ArrayBuffer} */ (this._data.buffer),\n this._data.byteOffset + sourceByteOffset,\n elementCount\n );\n destView.set(sourceView);\n }\n}\n\nexport {AudioData};\n","/**\n * EncodedAudioChunk class.\n */\nclass EncodedAudioChunk {\n /**\n * @typedef {\"key\"|\"delta\"} EncodedAudioChunkType\n */\n\n /**\n * @param {{\n * type: EncodedAudioChunkType,\n * timestamp: number,\n * duration?: number,\n * data: ArrayBufferView|ArrayBuffer\n * }} init\n */\n constructor ({type, timestamp, duration, data}) {\n if (type !== 'key' && type !== 'delta') {\n throw new TypeError(`Unsupported EncodedAudioChunk type: ${type}`);\n }\n\n this.type = type;\n this.timestamp = timestamp;\n this.duration = duration ?? null;\n\n this._data = ArrayBuffer.isView(data)\n ? new Uint8Array(data.buffer, data.byteOffset, data.byteLength)\n : new Uint8Array(data);\n }\n\n /**\n * @returns {number}\n */\n get byteLength () {\n return this._data.byteLength;\n }\n\n /**\n * @param {ArrayBufferView|ArrayBuffer} destination\n * @returns {void}\n */\n copyTo (destination) {\n const destIsView = ArrayBuffer.isView(destination);\n const targetBuffer = /** @type {ArrayBuffer} */ (\n destIsView ? destination.buffer : destination\n );\n const targetByteOffset = destIsView ? destination.byteOffset : 0;\n const targetByteLength = destination.byteLength;\n\n if (targetByteLength < this._data.byteLength) {\n throw new RangeError(\n `Destination buffer is too small. Need ${\n this._data.byteLength\n } bytes, got ${targetByteLength}.`\n );\n }\n\n const destView = new Uint8Array(\n targetBuffer, targetByteOffset, this._data.byteLength\n );\n destView.set(this._data);\n }\n\n /* eslint-disable class-methods-use-this -- Not needed */\n /**\n * @returns {string}\n */\n get [Symbol.toStringTag] () {\n /* eslint-enable class-methods-use-this -- Not needed */\n return 'EncodedAudioChunk';\n }\n}\n\nexport {EncodedAudioChunk};\n","/**\n * EncodedVideoChunk class.\n */\nclass EncodedVideoChunk {\n /**\n * @typedef {\"key\"|\"delta\"} EncodedVideoChunkType\n */\n\n /**\n * @param {{\n * type: EncodedVideoChunkType,\n * timestamp: number,\n * duration?: number,\n * data: ArrayBufferView|ArrayBuffer\n * }} init\n */\n constructor ({type, timestamp, duration, data}) {\n if (type !== 'key' && type !== 'delta') {\n throw new TypeError(`Unsupported EncodedVideoChunk type: ${type}`);\n }\n\n this.type = type;\n this.timestamp = timestamp;\n this.duration = duration ?? null;\n\n this._data = ArrayBuffer.isView(data)\n ? new Uint8Array(data.buffer, data.byteOffset, data.byteLength)\n : new Uint8Array(data);\n }\n\n /**\n * @returns {number}\n */\n get byteLength () {\n return this._data.byteLength;\n }\n\n /**\n * @param {ArrayBufferView|ArrayBuffer} destination\n * @returns {void}\n */\n copyTo (destination) {\n const destIsView = ArrayBuffer.isView(destination);\n const targetBuffer = /** @type {ArrayBuffer} */ (\n destIsView ? destination.buffer : destination\n );\n const targetByteOffset = destIsView ? destination.byteOffset : 0;\n const targetByteLength = destination.byteLength;\n\n if (targetByteLength < this._data.byteLength) {\n throw new RangeError(\n `Destination buffer is too small. Need ${\n this._data.byteLength\n } bytes, got ${targetByteLength}.`\n );\n }\n\n const destView = new Uint8Array(\n targetBuffer, targetByteOffset, this._data.byteLength\n );\n destView.set(this._data);\n }\n\n /* eslint-disable class-methods-use-this -- Not needed */\n /**\n * @returns {string}\n */\n get [Symbol.toStringTag] () {\n /* eslint-enable class-methods-use-this -- Not needed */\n return 'EncodedVideoChunk';\n }\n}\n\nexport {EncodedVideoChunk};\n","// Per-plane subsampling factors (relative to `codedWidth`/`codedHeight`)\n// and bytes per sample, keyed by `VideoPixelFormat`. Planes are assumed\n// to be stored tightly packed and back-to-back within a single buffer,\n// in the order listed here.\nconst PIXEL_FORMATS = {\n I420: [\n {xSub: 1, ySub: 1, bytesPerSample: 1}, // Y\n {xSub: 2, ySub: 2, bytesPerSample: 1}, // U\n {xSub: 2, ySub: 2, bytesPerSample: 1} // V\n ],\n I420A: [\n {xSub: 1, ySub: 1, bytesPerSample: 1}, // Y\n {xSub: 2, ySub: 2, bytesPerSample: 1}, // U\n {xSub: 2, ySub: 2, bytesPerSample: 1}, // V\n {xSub: 1, ySub: 1, bytesPerSample: 1} // A\n ],\n I422: [\n {xSub: 1, ySub: 1, bytesPerSample: 1}, // Y\n {xSub: 2, ySub: 1, bytesPerSample: 1}, // U\n {xSub: 2, ySub: 1, bytesPerSample: 1} // V\n ],\n I444: [\n {xSub: 1, ySub: 1, bytesPerSample: 1}, // Y\n {xSub: 1, ySub: 1, bytesPerSample: 1}, // U\n {xSub: 1, ySub: 1, bytesPerSample: 1} // V\n ],\n NV12: [\n {xSub: 1, ySub: 1, bytesPerSample: 1}, // Y\n {xSub: 2, ySub: 2, bytesPerSample: 2} // Interleaved UV\n ],\n RGBA: [{xSub: 1, ySub: 1, bytesPerSample: 4}],\n RGBX: [{xSub: 1, ySub: 1, bytesPerSample: 4}],\n BGRA: [{xSub: 1, ySub: 1, bytesPerSample: 4}],\n BGRX: [{xSub: 1, ySub: 1, bytesPerSample: 4}]\n};\n\n/**\n * VideoFrame class.\n *\n * Note: Unlike the spec, this polyfill only supports construction from\n * a raw pixel buffer (`VideoFrameBufferInit`); constructing from a\n * `CanvasImageSource` is not supported as there is no such source of\n * pixels available by default in Node. `copyTo`/`allocationSize` also\n * always treat the source data as tightly packed at `codedWidth` x\n * `codedHeight` (i.e. a custom `layout` is not supported).\n */\nclass VideoFrame {\n /**\n * @typedef {\"BGRA\"|\"BGRX\"|\"I420\"|\"I420A\"|\"I422\"|\"I444\"|\"NV12\"|\"RGBA\"\n * |\"RGBX\"} VideoPixelFormat\n */\n\n /**\n * @typedef {{\n * x: number, y: number, width: number, height: number\n * }} VideoFrameRect\n */\n\n /** @type {Uint8Array|undefined} */\n #data;\n\n /** @type {boolean} */\n #closed;\n\n /** @type {VideoPixelFormat|null} */\n format;\n\n /** @type {number} */\n codedWidth;\n\n /** @type {number} */\n codedHeight;\n\n /** @type {VideoFrameRect|null} */\n codedRect;\n\n /** @type {number} */\n timestamp;\n\n /** @type {number|null} */\n duration;\n\n /** @type {VideoFrameRect|null} */\n visibleRect;\n\n /** @type {number} */\n displayWidth;\n\n /** @type {number} */\n displayHeight;\n\n /**\n * @type {{\n * primaries: string|null, transfer: string|null,\n * matrix: string|null, fullRange: boolean|null\n * }}\n */\n colorSpace;\n\n /**\n * @param {ArrayBufferView|ArrayBuffer} data\n * @param {{\n * format: VideoPixelFormat,\n * codedWidth: number,\n * codedHeight: number,\n * timestamp: number,\n * duration?: number|null,\n * visibleRect?: VideoFrameRect,\n * displayWidth?: number,\n * displayHeight?: number,\n * colorSpace?: {\n * primaries: string|null,\n * transfer: string|null,\n * matrix: string|null,\n * fullRange: boolean|null\n * }\n * }} init\n */\n constructor (data, {\n format, codedWidth, codedHeight, timestamp, duration,\n visibleRect, displayWidth, displayHeight, colorSpace\n }) {\n if (!Object.hasOwn(PIXEL_FORMATS, format)) {\n throw new TypeError(`Unsupported video pixel format: ${format}`);\n }\n\n this.format = format;\n this.codedWidth = codedWidth;\n this.codedHeight = codedHeight;\n this.codedRect = {x: 0, y: 0, width: codedWidth, height: codedHeight};\n this.timestamp = timestamp;\n this.duration = duration ?? null;\n\n this.visibleRect = visibleRect\n ? {\n x: visibleRect.x,\n y: visibleRect.y,\n width: visibleRect.width,\n height: visibleRect.height\n }\n : {x: 0, y: 0, width: codedWidth, height: codedHeight};\n\n this.displayWidth = displayWidth ?? this.visibleRect.width;\n this.displayHeight = displayHeight ?? this.visibleRect.height;\n\n this.colorSpace = colorSpace\n ? {\n primaries: colorSpace.primaries,\n transfer: colorSpace.transfer,\n matrix: colorSpace.matrix,\n fullRange: colorSpace.fullRange\n }\n : {primaries: null, transfer: null, matrix: null, fullRange: null};\n\n this.#data = ArrayBuffer.isView(data)\n ? new Uint8Array(data.buffer, data.byteOffset, data.byteLength)\n : new Uint8Array(data);\n\n this.#closed = false;\n }\n\n /**\n * @returns {void}\n */\n #checkNotClosed () {\n if (this.#closed) {\n throw new DOMException(\n 'VideoFrame is closed', 'InvalidStateError'\n );\n }\n }\n\n /**\n * Computes, for the (cropped) region of interest, the byte layout of\n * each plane both within our tightly packed source data and within\n * a tightly packed destination buffer.\n * @param {{\n * rect?: {x: number, y: number, width: number, height: number},\n * format?: VideoPixelFormat\n * }} options\n * @returns {{\n * planes: {\n * srcPlaneOffset: number, srcStride: number,\n * srcRowStart: number, srcRowStartY: number,\n * planeWidth: number, planeHeight: number, bytesPerSample: number,\n * stride: number, offset: number\n * }[],\n * layout: {offset: number, stride: number}[],\n * totalSize: number\n * }}\n */\n #layout (options) {\n if (options.format && options.format !== this.format) {\n throw new TypeError(\n 'VideoFrame polyfill does not support pixel format conversion'\n );\n }\n\n // Only reached while open (callers always call `#checkNotClosed`\n // first), so `format`/`visibleRect` are known non-null here.\n const {format: rawFormat, visibleRect: rawVisibleRect} = this;\n const format = /** @type {VideoPixelFormat} */ (rawFormat);\n const rect = options.rect ||\n /** @type {VideoFrameRect} */ (rawVisibleRect);\n const specs = PIXEL_FORMATS[format];\n\n let srcOffset = 0;\n const srcPlaneOffsets = specs.map(({xSub, ySub, bytesPerSample}) => {\n const planeOffset = srcOffset;\n srcOffset += Math.ceil(this.codedWidth / xSub) *\n Math.ceil(this.codedHeight / ySub) * bytesPerSample;\n return planeOffset;\n });\n\n let destOffset = 0;\n const planes = specs.map(({xSub, ySub, bytesPerSample}, i) => {\n const planeWidth = Math.ceil(rect.width / xSub);\n const planeHeight = Math.ceil(rect.height / ySub);\n const stride = planeWidth * bytesPerSample;\n const offset = destOffset;\n destOffset += stride * planeHeight;\n return {\n srcPlaneOffset: srcPlaneOffsets[i],\n srcStride: Math.ceil(this.codedWidth / xSub) * bytesPerSample,\n srcRowStart: Math.floor(rect.x / xSub) * bytesPerSample,\n srcRowStartY: Math.floor(rect.y / ySub),\n planeWidth, planeHeight, bytesPerSample, stride, offset\n };\n });\n\n return {\n planes,\n layout: planes.map(({offset, stride}) => ({offset, stride})),\n totalSize: destOffset\n };\n }\n\n /**\n * @param {{\n * rect?: {x: number, y: number, width: number, height: number},\n * format?: VideoPixelFormat\n * }} [options]\n * @returns {number}\n */\n allocationSize (options = {}) {\n this.#checkNotClosed();\n return this.#layout(options).totalSize;\n }\n\n /**\n * @param {ArrayBufferView|ArrayBuffer} destination\n * @param {{\n * rect?: {x: number, y: number, width: number, height: number},\n * format?: VideoPixelFormat\n * }} [options]\n * @returns {Promise<{offset: number, stride: number}[]>}\n */\n copyTo (destination, options = {}) {\n this.#checkNotClosed();\n const {planes, layout, totalSize} = this.#layout(options);\n const data = /** @type {Uint8Array} */ (this.#data);\n\n const destIsView = ArrayBuffer.isView(destination);\n const targetBuffer = /** @type {ArrayBuffer} */ (\n destIsView ? destination.buffer : destination\n );\n const targetByteOffset = destIsView ? destination.byteOffset : 0;\n const targetByteLength = destination.byteLength;\n\n if (targetByteLength < totalSize) {\n throw new RangeError(\n `Destination buffer is too small. Need ${\n totalSize\n } bytes, got ${targetByteLength}.`\n );\n }\n\n const destBytes = new Uint8Array(\n targetBuffer, targetByteOffset, totalSize\n );\n\n for (const plane of planes) {\n const {\n srcPlaneOffset, srcStride, srcRowStart, srcRowStartY,\n planeWidth, planeHeight, bytesPerSample, stride, offset\n } = plane;\n const rowBytes = planeWidth * bytesPerSample;\n for (let row = 0; row < planeHeight; row++) {\n const srcStart = srcPlaneOffset +\n ((srcRowStartY + row) * srcStride) + srcRowStart;\n destBytes.set(\n data.subarray(srcStart, srcStart + rowBytes),\n offset + (row * stride)\n );\n }\n }\n\n return Promise.resolve(layout);\n }\n\n /**\n * @returns {VideoFrame}\n */\n clone () {\n this.#checkNotClosed();\n const data = /** @type {Uint8Array} */ (this.#data);\n return new VideoFrame(data.slice(), {\n format: /** @type {VideoPixelFormat} */ (this.format),\n codedWidth: this.codedWidth,\n codedHeight: this.codedHeight,\n timestamp: this.timestamp,\n duration: this.duration,\n visibleRect: /** @type {VideoFrameRect} */ (this.visibleRect),\n displayWidth: this.displayWidth,\n displayHeight: this.displayHeight,\n colorSpace: this.colorSpace\n });\n }\n\n /**\n * @returns {void}\n */\n close () {\n this.#closed = true;\n this.#data = undefined;\n this.format = null;\n this.codedWidth = 0;\n this.codedHeight = 0;\n this.codedRect = null;\n this.visibleRect = null;\n this.displayWidth = 0;\n this.displayHeight = 0;\n this.duration = null;\n this.timestamp = 0;\n this.colorSpace = {\n primaries: null, transfer: null, matrix: null, fullRange: null\n };\n }\n\n /* eslint-disable class-methods-use-this -- Not needed */\n /**\n * @returns {string}\n */\n get [Symbol.toStringTag] () {\n /* eslint-enable class-methods-use-this -- Not needed */\n return 'VideoFrame';\n }\n}\n\nexport {VideoFrame};\n","// No constructor in JSDom\n// globalThis.DOMRect = window.DOMRect;\n/**\n * DOMRect class.\n */\nclass DOMRect {\n /**\n * @param {number} x\n * @param {number} y\n * @param {number} width\n * @param {number} height\n */\n constructor (x, y, width, height) {\n this.x = this.left = x;\n this.y = this.top = y;\n this.width = width;\n this.height = height;\n this.bottom = y + height;\n this.right = x + width;\n }\n /* eslint-disable class-methods-use-this -- Not needed */\n /**\n * @returns {string}\n */\n get [Symbol.toStringTag] () {\n /* eslint-enable class-methods-use-this -- Not needed */\n return 'DOMRect';\n }\n}\n\nexport {DOMRect};\n","// No constructor in JSDom\n// globalThis.DOMRectReadOnly = window.DOMRectReadOnly;\n/**\n * DOMRectReadOnly class.\n */\nclass DOMRectReadOnly {\n /**\n * @param {number} x\n * @param {number} y\n * @param {number} width\n * @param {number} height\n */\n constructor (x, y, width, height) {\n this.x = this.left = x;\n this.y = this.top = y;\n this.width = width;\n this.height = height;\n this.bottom = y + height;\n this.right = x + width;\n }\n /* eslint-disable class-methods-use-this -- Not needed */\n /**\n * @returns {string}\n */\n get [Symbol.toStringTag] () {\n /* eslint-enable class-methods-use-this -- Not needed */\n return 'DOMRectReadOnly';\n }\n}\n\nexport {DOMRectReadOnly};\n","// No constructor in JSDom\n// globalThis.DOMPoint = window.DOMPoint;\n/**\n * DOMPoint class.\n */\nclass DOMPoint {\n /**\n * @param {number} x\n * @param {number} y\n * @param {number} z\n * @param {number} w\n */\n constructor (x, y, z, w) {\n this.x = x ?? 0;\n this.y = y ?? 0;\n this.z = z ?? 0;\n this.w = w ?? 1;\n }\n /* eslint-disable class-methods-use-this -- Not needed */\n /**\n * @returns {string}\n */\n get [Symbol.toStringTag] () {\n /* eslint-enable class-methods-use-this -- Not needed */\n return 'DOMPoint';\n }\n}\n\nexport {DOMPoint};\n","// No constructor in JSDom\n// globalThis.DOMPointReadOnly = window.DOMPointReadOnly;\n/**\n * DOMPointReadOnly class.\n */\nclass DOMPointReadOnly {\n /**\n * @param {number} x\n * @param {number} y\n * @param {number} z\n * @param {number} w\n */\n constructor (x, y, z, w) {\n this.x = x ?? 0;\n this.y = y ?? 0;\n this.z = z ?? 0;\n this.w = w ?? 1;\n }\n\n /* eslint-disable class-methods-use-this -- Not needed */\n /**\n * @returns {string}\n */\n get [Symbol.toStringTag] () {\n /* eslint-enable class-methods-use-this -- Not needed */\n return 'DOMPointReadOnly';\n }\n}\n\nexport {DOMPointReadOnly};\n","import {DOMPoint} from './DOMPoint.js';\n\n// No constructor in JSDom\n// globalThis.DOMQuad = window.DOMQuad;\n/**\n * DOMQuad class.\n */\nclass DOMQuad {\n /**\n * @param {DOMPoint} p1\n * @param {DOMPoint} p2\n * @param {DOMPoint} p3\n * @param {DOMPoint} p4\n */\n constructor (p1, p2, p3, p4) {\n this.p1 = p1 ?? new DOMPoint(0, 0, 0, 1);\n this.p2 = p2 ?? new DOMPoint(0, 0, 0, 1);\n this.p3 = p3 ?? new DOMPoint(0, 0, 0, 1);\n this.p4 = p4 ?? new DOMPoint(0, 0, 0, 1);\n }\n /* eslint-disable class-methods-use-this -- Not needed */\n /**\n * @returns {string}\n */\n get [Symbol.toStringTag] () {\n /* eslint-enable class-methods-use-this -- Not needed */\n return 'DOMQuad';\n }\n}\n\nexport {DOMQuad};\n","// No constructor in JSDom\n// globalThis.DOMMatrix = window.DOMMatrix;\n/**\n * DOMMatrix class.\n */\nclass DOMMatrix {\n /**\n * @param {[number, number, number, number, number, number]|\n * [\n * number, number, number, number,\n * number, number, number, number,\n * number, number, number, number,\n * number, number, number, number\n * ]} [init] Per spec, omitting this initializes the 2D identity matrix.\n */\n constructor (init = [1, 0, 0, 1, 0, 0]) {\n if (typeof init[6] !== 'number') {\n this.is2D = true;\n this.a = init[0];\n this.b = init[1];\n this.c = init[2];\n this.d = init[3];\n this.e = init[4];\n this.f = init[5];\n return;\n }\n this.is2D = false;\n this.m11 = init[0];\n this.m12 = init[1];\n this.m13 = init[2];\n this.m14 = init[3];\n this.m21 = init[4];\n this.m22 = init[5];\n this.m23 = init[6];\n this.m24 = init[7];\n this.m31 = init[8];\n this.m32 = init[9];\n this.m33 = init[10];\n this.m34 = init[11];\n this.m41 = init[12];\n this.m42 = init[13];\n this.m43 = init[14];\n this.m44 = init[15];\n }\n /* eslint-disable class-methods-use-this -- Not needed */\n /**\n * @returns {string}\n */\n get [Symbol.toStringTag] () {\n /* eslint-enable class-methods-use-this -- Not needed */\n return 'DOMMatrix';\n }\n}\n\nexport {DOMMatrix};\n","// No constructor in JSDom\n// globalThis.DOMMatrixReadOnly = window.DOMMatrixReadOnly;\n/**\n * DOMMatrixReadOnly class.\n */\nclass DOMMatrixReadOnly {\n /**\n * @param {[number, number, number, number, number, number]|\n * [\n * number, number, number, number,\n * number, number, number, number,\n * number, number, number, number,\n * number, number, number, number\n * ]} [init] Per spec, omitting this initializes the 2D identity matrix.\n */\n constructor (init = [1, 0, 0, 1, 0, 0]) {\n if (typeof init[6] !== 'number') {\n this.is2D = true;\n this.a = init[0];\n this.b = init[1];\n this.c = init[2];\n this.d = init[3];\n this.e = init[4];\n this.f = init[5];\n return;\n }\n this.is2D = false;\n this.m11 = init[0];\n this.m12 = init[1];\n this.m13 = init[2];\n this.m14 = init[3];\n this.m21 = init[4];\n this.m22 = init[5];\n this.m23 = init[6];\n this.m24 = init[7];\n this.m31 = init[8];\n this.m32 = init[9];\n this.m33 = init[10];\n this.m34 = init[11];\n this.m41 = init[12];\n this.m42 = init[13];\n this.m43 = init[14];\n this.m44 = init[15];\n }\n /* eslint-disable class-methods-use-this -- Not needed */\n /**\n * @returns {string}\n */\n get [Symbol.toStringTag] () {\n /* eslint-enable class-methods-use-this -- Not needed */\n return 'DOMMatrixReadOnly';\n }\n}\n\nexport {DOMMatrixReadOnly};\n","/**\n * @param {HTMLCanvasElement} cvs\n * @returns {Promise<HTMLCanvasElement>}\n */\n\n/**\n * @param {ImageBitmapSource & {dataset?: {toStringTag?: string}}} cvs\n * @returns {Promise<ImageBitmap>}\n */\nasync function createImageBitmap (cvs) {\n // This really ought not be a canvas, but it works as a simple shim\n // for our tests\n // cvs[Symbol.toStringTag] = 'ImageBitmap';\n // Above line throwing in current jsdom now\n if (!cvs.dataset) {\n cvs.dataset = {};\n }\n cvs.dataset.toStringTag = 'ImageBitmap';\n return await (/** @type {ImageBitmap} */ (cvs));\n}\n\nexport {createImageBitmap};\n"],"names":["conversions","utils","implSymbol","ctorRegistrySymbol","interfaceName","Impl","makeWrapper","exposed","curArg","Function","V","tmp","nextItem","delete","require$$1","_require","infra","_require2","containsForbiddenHostCodePoint","containsPercentEncodedByte","defaultPort","domainParser","endsInANumber","failure","isInvalidURLCodePoint","isNormalizedWindowsDriveLetterString","isSpecialScheme","isWindowsDriveLetterCodePoints","isWindowsDriveLetterString","parseIPv4Number","p","percentDecodeString","utf8PercentEncodeCodePoint","utf8PercentEncodeString","isC0ControlPercentEncode","isFragmentPercentEncode","extraQueryPercentEncodeChars","extraSpecialQueryPercentEncodeChars","isPathPercentEncode","isUserinfoPercentEncode","n","res","host","char","byte","require$$0","require$$2","require$$3","require","createRequire","format","_classPrivateFieldSet","_classPrivateFieldGet"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8]}