115 lines
282 KiB
JavaScript
Raw Normal View History

"use strict";
/*
* ATTENTION: An "eval-source-map" devtool has been used.
* This devtool is neither made for production nor for readable output files.
* It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools.
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
* or disable the default devtool with "devtool: false".
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
*/
exports.id = "vendor-chunks/@leichtgewicht";
exports.ids = ["vendor-chunks/@leichtgewicht"];
exports.modules = {
/***/ "(ssr)/./node_modules/@leichtgewicht/base64-codec/index.mjs":
/*!************************************************************!*\
!*** ./node_modules/@leichtgewicht/base64-codec/index.mjs ***!
\************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PREFERS_NO_PADDING: () => (/* binding */ PREFERS_NO_PADDING),\n/* harmony export */ PREFERS_PADDING: () => (/* binding */ PREFERS_PADDING),\n/* harmony export */ base64: () => (/* binding */ base64),\n/* harmony export */ base64URL: () => (/* binding */ base64URL),\n/* harmony export */ make: () => (/* binding */ make)\n/* harmony export */ });\nconst PREFERS_PADDING = 1;\nconst PREFERS_NO_PADDING = 2;\nfunction make(name, charset, padding, paddingMode) {\n if (charset.length !== 64) {\n throw new Error(`Charset needs to be 64 characters long! (${charset.length})`);\n }\n const byCharCode = new Uint8Array(256);\n const byNum = new Uint8Array(64);\n for(let i = 0; i < 64; i += 1){\n const code = charset.charCodeAt(i);\n if (code > 255) {\n throw new Error(`Character #${i} in charset [code=${code}, char=${charset.charAt(i)}] is too high! (max=255)`);\n }\n if (byCharCode[code] !== 0) {\n throw new Error(`Character [code=${code}, char=${charset.charAt(i)}] is more than once in the charset!`);\n }\n byCharCode[code] = i;\n byNum[i] = code;\n }\n const padCode = padding.charCodeAt(0);\n const codec = {\n name,\n encodingLength (str) {\n const strLen = str.length;\n const len = strLen * 0.75 | 0;\n if (str.charCodeAt(strLen - 1) === padCode) {\n if (str.charCodeAt(strLen - 2) === padCode) {\n return len - 2;\n }\n return len - 1;\n }\n return len;\n },\n encode (str, buffer, offset) {\n if (buffer === null || buffer === undefined) {\n buffer = new Uint8Array(codec.encodingLength(str));\n }\n if (offset === null || offset === undefined) {\n offset = 0;\n }\n let strLen = str.length;\n if (str.charCodeAt(strLen - 1) === padCode) {\n if (str.charCodeAt(strLen - 2) === padCode) {\n strLen -= 2;\n } else {\n strLen -= 1;\n }\n }\n const padding = strLen % 4;\n const safeLen = strLen - padding;\n let off = offset;\n let i = 0;\n while(i < safeLen){\n const code = byCharCode[str.charCodeAt(i)] << 18 | byCharCode[str.charCodeAt(i + 1)] << 12 | byCharCode[str.charCodeAt(i + 2)] << 6 | byCharCode[str.charCodeAt(i + 3)];\n buffer[off++] = code >> 16;\n buffer[off++] = code >> 8;\n buffer[off++] = code;\n i += 4;\n }\n if (padding === 3) {\n const code = byCharCode[str.charCodeAt(i)] << 10 | byCharCode[str.charCodeAt(i + 1)] << 4 | byCharCode[str.charCodeAt(i + 2)] >> 2;\n buffer[off++] = code >> 8;\n buffer[off++] = code;\n } else if (padding === 2) {\n buffer[off++] = byCharCode[str.charCodeAt(i)] << 2 | byCharCode[str.charCodeAt(i + 1)] >> 4;\n }\n codec.encode.bytes = off - offset;\n return buffer;\n },\n decode (buffer, start, end) {\n if (start === null || start === undefined) {\n start = 0;\n }\n if (end === null || end === undefined) {\n end = buffer.length;\n }\n const length = end - start;\n const pad = length % 3;\n const safeEnd = start + length - pad;\n const codes = [];\n for(let off = start; off < safeEnd; off += 3){\n const num = buffer[off] << 16 | buffer[off + 1] << 8 | buffer[off + 2];\n codes.push(byNum[num >> 18 & 0x3F], byNum[num >> 12 & 0x3F], byNum[num >> 6 & 0x3F], byNum[num & 0x3F]);\n }\n if
/***/ }),
/***/ "(ssr)/./node_modules/@leichtgewicht/dns-packet/buffer_utils.mjs":
/*!*****************************************************************!*\
!*** ./node_modules/@leichtgewicht/dns-packet/buffer_utils.mjs ***!
\*****************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ bytelength: () => (/* binding */ bytelength),\n/* harmony export */ copy: () => (/* binding */ copy),\n/* harmony export */ from: () => (/* binding */ from),\n/* harmony export */ isU8Arr: () => (/* binding */ isU8Arr),\n/* harmony export */ readUInt16BE: () => (/* binding */ readUInt16BE),\n/* harmony export */ readUInt32BE: () => (/* binding */ readUInt32BE),\n/* harmony export */ toHex: () => (/* binding */ toHex),\n/* harmony export */ write: () => (/* binding */ write),\n/* harmony export */ writeUInt16BE: () => (/* binding */ writeUInt16BE),\n/* harmony export */ writeUInt32BE: () => (/* binding */ writeUInt32BE)\n/* harmony export */ });\n/* harmony import */ var utf8_codec__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! utf8-codec */ \"(ssr)/./node_modules/utf8-codec/index.mjs\");\n\nconst isU8Arr = (input)=>input instanceof Uint8Array;\nfunction bytelength(input) {\n return typeof input === \"string\" ? utf8_codec__WEBPACK_IMPORTED_MODULE_0__.encodingLength(input) : input.byteLength;\n}\nfunction from(input) {\n if (input instanceof Uint8Array) {\n return input;\n }\n if (Array.isArray(input)) {\n return new Uint8Array(input);\n }\n return utf8_codec__WEBPACK_IMPORTED_MODULE_0__.encode(input);\n}\nfunction write(arr, str, start) {\n if (typeof str !== \"string\") {\n throw new Error(\"unknown input type\");\n }\n utf8_codec__WEBPACK_IMPORTED_MODULE_0__.encode(str, arr, start);\n return utf8_codec__WEBPACK_IMPORTED_MODULE_0__.encode.bytes;\n}\nfunction toHex(buf, start, end) {\n let result = \"\";\n for(let offset = start; offset < end;){\n const num = buf[offset++];\n const str = num.toString(16);\n result += str.length === 1 ? \"0\" + str : str;\n }\n return result;\n}\nconst P_24 = Math.pow(2, 24);\nconst P_16 = Math.pow(2, 16);\nconst P_8 = Math.pow(2, 8);\nconst readUInt32BE = (buf, offset)=>buf[offset] * P_24 + buf[offset + 1] * P_16 + buf[offset + 2] * P_8 + buf[offset + 3];\nconst readUInt16BE = (buf, offset)=>buf[offset] << 8 | buf[offset + 1];\nconst writeUInt32BE = (buf, value, offset)=>{\n value = +value;\n buf[offset + 3] = value;\n value = value >>> 8;\n buf[offset + 2] = value;\n value = value >>> 8;\n buf[offset + 1] = value;\n value = value >>> 8;\n buf[offset] = value;\n return offset + 4;\n};\nconst writeUInt16BE = (buf, value, offset)=>{\n buf[offset] = value >> 8;\n buf[offset + 1] = value & 0xFF;\n return offset + 2;\n};\nfunction copy(source, target, targetStart, sourceStart, sourceEnd) {\n if (targetStart < 0) {\n sourceStart -= targetStart;\n targetStart = 0;\n }\n if (sourceStart < 0) {\n sourceStart = 0;\n }\n if (sourceEnd < 0) {\n return new Uint8Array(0);\n }\n if (targetStart >= target.length || sourceStart >= sourceEnd) {\n return 0;\n }\n return _copyActual(source, target, targetStart, sourceStart, sourceEnd);\n}\nfunction _copyActual(source, target, targetStart, sourceStart, sourceEnd) {\n if (sourceEnd - sourceStart > target.length - targetStart) {\n sourceEnd = sourceStart + target.length - targetStart;\n }\n let nb = sourceEnd - sourceStart;\n const sourceLen = source.length - sourceStart;\n if (nb > sourceLen) {\n nb = sourceLen;\n }\n if (sourceStart !== 0 || sourceEnd < source.length) {\n source = new Uint8Array(source.buffer, source.byteOffset + sourceStart, nb);\n }\n target.set(source, targetStart);\n return nb;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGxlaWNodGdld2ljaHQvZG5zLXBhY2tldC9idWZmZXJfdXRpbHMubWpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBQWtDO0FBRTNCLE1BQU1DLFVBQVVDLENBQUFBLFFBQVNBLGlCQUFpQkMsV0FBVTtBQUVwRCxTQUFTQyxXQUFZRixLQUFLO0lBQy9CLE9BQU8sT0FBT0EsVUFBVSxXQUFXR
/***/ }),
/***/ "(ssr)/./node_modules/@leichtgewicht/dns-packet/classes.mjs":
/*!************************************************************!*\
!*** ./node_modules/@leichtgewicht/dns-packet/classes.mjs ***!
\************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ toClass: () => (/* binding */ toClass),\n/* harmony export */ toString: () => (/* binding */ toString)\n/* harmony export */ });\nfunction toString(klass) {\n switch(klass){\n case 1:\n return \"IN\";\n case 2:\n return \"CS\";\n case 3:\n return \"CH\";\n case 4:\n return \"HS\";\n case 255:\n return \"ANY\";\n }\n return \"UNKNOWN_\" + klass;\n}\nfunction toClass(name) {\n switch(name.toUpperCase()){\n case \"IN\":\n return 1;\n case \"CS\":\n return 2;\n case \"CH\":\n return 3;\n case \"HS\":\n return 4;\n case \"ANY\":\n return 255;\n }\n return 0;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGxlaWNodGdld2ljaHQvZG5zLXBhY2tldC9jbGFzc2VzLm1qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUFPLFNBQVNBLFNBQVVDLEtBQUs7SUFDN0IsT0FBUUE7UUFDTixLQUFLO1lBQUcsT0FBTztRQUNmLEtBQUs7WUFBRyxPQUFPO1FBQ2YsS0FBSztZQUFHLE9BQU87UUFDZixLQUFLO1lBQUcsT0FBTztRQUNmLEtBQUs7WUFBSyxPQUFPO0lBQ25CO0lBQ0EsT0FBTyxhQUFhQTtBQUN0QjtBQUVPLFNBQVNDLFFBQVNDLElBQUk7SUFDM0IsT0FBUUEsS0FBS0MsV0FBVztRQUN0QixLQUFLO1lBQU0sT0FBTztRQUNsQixLQUFLO1lBQU0sT0FBTztRQUNsQixLQUFLO1lBQU0sT0FBTztRQUNsQixLQUFLO1lBQU0sT0FBTztRQUNsQixLQUFLO1lBQU8sT0FBTztJQUNyQjtJQUNBLE9BQU87QUFDVCIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0BsZWljaHRnZXdpY2h0L2Rucy1wYWNrZXQvY2xhc3Nlcy5tanM/MGRlMSJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gdG9TdHJpbmcgKGtsYXNzKSB7XG4gIHN3aXRjaCAoa2xhc3MpIHtcbiAgICBjYXNlIDE6IHJldHVybiAnSU4nXG4gICAgY2FzZSAyOiByZXR1cm4gJ0NTJ1xuICAgIGNhc2UgMzogcmV0dXJuICdDSCdcbiAgICBjYXNlIDQ6IHJldHVybiAnSFMnXG4gICAgY2FzZSAyNTU6IHJldHVybiAnQU5ZJ1xuICB9XG4gIHJldHVybiAnVU5LTk9XTl8nICsga2xhc3Ncbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRvQ2xhc3MgKG5hbWUpIHtcbiAgc3dpdGNoIChuYW1lLnRvVXBwZXJDYXNlKCkpIHtcbiAgICBjYXNlICdJTic6IHJldHVybiAxXG4gICAgY2FzZSAnQ1MnOiByZXR1cm4gMlxuICAgIGNhc2UgJ0NIJzogcmV0dXJuIDNcbiAgICBjYXNlICdIUyc6IHJldHVybiA0XG4gICAgY2FzZSAnQU5ZJzogcmV0dXJuIDI1NVxuICB9XG4gIHJldHVybiAwXG59XG4iXSwibmFtZXMiOlsidG9TdHJpbmciLCJrbGFzcyIsInRvQ2xhc3MiLCJuYW1lIiwidG9VcHBlckNhc2UiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@leichtgewicht/dns-packet/classes.mjs\n");
/***/ }),
/***/ "(ssr)/./node_modules/@leichtgewicht/dns-packet/index.mjs":
/*!**********************************************************!*\
!*** ./node_modules/@leichtgewicht/dns-packet/index.mjs ***!
\**********************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AUTHENTIC_DATA: () => (/* binding */ AUTHENTIC_DATA),\n/* harmony export */ AUTHORITATIVE_ANSWER: () => (/* binding */ AUTHORITATIVE_ANSWER),\n/* harmony export */ CHECKING_DISABLED: () => (/* binding */ CHECKING_DISABLED),\n/* harmony export */ DNSSEC_OK: () => (/* binding */ DNSSEC_OK),\n/* harmony export */ RECURSION_AVAILABLE: () => (/* binding */ RECURSION_AVAILABLE),\n/* harmony export */ RECURSION_DESIRED: () => (/* binding */ RECURSION_DESIRED),\n/* harmony export */ TRUNCATED_RESPONSE: () => (/* binding */ TRUNCATED_RESPONSE),\n/* harmony export */ a: () => (/* binding */ ra),\n/* harmony export */ aaaa: () => (/* binding */ raaaa),\n/* harmony export */ answer: () => (/* binding */ answer),\n/* harmony export */ caa: () => (/* binding */ rcaa),\n/* harmony export */ cname: () => (/* binding */ rptr),\n/* harmony export */ decode: () => (/* binding */ decode),\n/* harmony export */ decodeList: () => (/* binding */ decodeList),\n/* harmony export */ dname: () => (/* binding */ rptr),\n/* harmony export */ dnskey: () => (/* binding */ rdnskey),\n/* harmony export */ ds: () => (/* binding */ rds),\n/* harmony export */ enc: () => (/* binding */ renc),\n/* harmony export */ encode: () => (/* binding */ encode),\n/* harmony export */ encodeList: () => (/* binding */ encodeList),\n/* harmony export */ encodingLength: () => (/* binding */ encodingLength),\n/* harmony export */ encodingLengthList: () => (/* binding */ encodingLengthList),\n/* harmony export */ hinfo: () => (/* binding */ rhinfo),\n/* harmony export */ mx: () => (/* binding */ rmx),\n/* harmony export */ name: () => (/* binding */ name),\n/* harmony export */ ns: () => (/* binding */ rns),\n/* harmony export */ nsec: () => (/* binding */ rnsec),\n/* harmony export */ nsec3: () => (/* binding */ rnsec3),\n/* harmony export */ \"null\": () => (/* binding */ rnull),\n/* harmony export */ opt: () => (/* binding */ ropt),\n/* harmony export */ option: () => (/* binding */ roption),\n/* harmony export */ packet: () => (/* binding */ packet),\n/* harmony export */ ptr: () => (/* binding */ rptr),\n/* harmony export */ query: () => (/* binding */ query),\n/* harmony export */ question: () => (/* binding */ question),\n/* harmony export */ response: () => (/* binding */ response),\n/* harmony export */ rp: () => (/* binding */ rrp),\n/* harmony export */ rrsig: () => (/* binding */ rrrsig),\n/* harmony export */ soa: () => (/* binding */ rsoa),\n/* harmony export */ srv: () => (/* binding */ rsrv),\n/* harmony export */ streamDecode: () => (/* binding */ streamDecode),\n/* harmony export */ streamEncode: () => (/* binding */ streamEncode),\n/* harmony export */ txt: () => (/* binding */ rtxt),\n/* harmony export */ unknown: () => (/* binding */ runknown)\n/* harmony export */ });\n/* harmony import */ var _leichtgewicht_ip_codec__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @leichtgewicht/ip-codec */ \"(ssr)/./node_modules/@leichtgewicht/ip-codec/index.mjs\");\n/* harmony import */ var _types_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./types.mjs */ \"(ssr)/./node_modules/@leichtgewicht/dns-packet/types.mjs\");\n/* harmony import */ var _rcodes_mjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./rcodes.mjs */ \"(ssr)/./node_modules/@leichtgewicht/dns-packet/rcodes.mjs\");\n/* harmony import */ var _opcodes_mjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./opcodes.mjs */ \"(ssr)/./node_modules/@leichtgewicht/dns-packet/opcodes.mjs\");\n/* harmony import */ var _classes_mjs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./classes.mjs */ \"(ssr)/./node_modules/@leichtgewicht/dns-packet/classes.mjs\");\n/* harmony import */ var _optioncodes_mjs__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./optioncodes.mjs */ \"(ssr)/./node_modules/@leichtgewicht/dns-packet/optioncodes.mjs\");\n/*
/***/ }),
/***/ "(ssr)/./node_modules/@leichtgewicht/dns-packet/opcodes.mjs":
/*!************************************************************!*\
!*** ./node_modules/@leichtgewicht/dns-packet/opcodes.mjs ***!
\************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ toOpcode: () => (/* binding */ toOpcode),\n/* harmony export */ toString: () => (/* binding */ toString)\n/* harmony export */ });\n/*\n * Traditional DNS header OPCODEs (4-bits) defined by IANA in\n * https://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml#dns-parameters-5\n */ function toString(opcode) {\n switch(opcode){\n case 0:\n return \"QUERY\";\n case 1:\n return \"IQUERY\";\n case 2:\n return \"STATUS\";\n case 3:\n return \"OPCODE_3\";\n case 4:\n return \"NOTIFY\";\n case 5:\n return \"UPDATE\";\n case 6:\n return \"OPCODE_6\";\n case 7:\n return \"OPCODE_7\";\n case 8:\n return \"OPCODE_8\";\n case 9:\n return \"OPCODE_9\";\n case 10:\n return \"OPCODE_10\";\n case 11:\n return \"OPCODE_11\";\n case 12:\n return \"OPCODE_12\";\n case 13:\n return \"OPCODE_13\";\n case 14:\n return \"OPCODE_14\";\n case 15:\n return \"OPCODE_15\";\n }\n return \"OPCODE_\" + opcode;\n}\nfunction toOpcode(code) {\n switch(code.toUpperCase()){\n case \"QUERY\":\n return 0;\n case \"IQUERY\":\n return 1;\n case \"STATUS\":\n return 2;\n case \"OPCODE_3\":\n return 3;\n case \"NOTIFY\":\n return 4;\n case \"UPDATE\":\n return 5;\n case \"OPCODE_6\":\n return 6;\n case \"OPCODE_7\":\n return 7;\n case \"OPCODE_8\":\n return 8;\n case \"OPCODE_9\":\n return 9;\n case \"OPCODE_10\":\n return 10;\n case \"OPCODE_11\":\n return 11;\n case \"OPCODE_12\":\n return 12;\n case \"OPCODE_13\":\n return 13;\n case \"OPCODE_14\":\n return 14;\n case \"OPCODE_15\":\n return 15;\n }\n return 0;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGxlaWNodGdld2ljaHQvZG5zLXBhY2tldC9vcGNvZGVzLm1qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUFBOzs7Q0FHQyxHQUVNLFNBQVNBLFNBQVVDLE1BQU07SUFDOUIsT0FBUUE7UUFDTixLQUFLO1lBQUcsT0FBTztRQUNmLEtBQUs7WUFBRyxPQUFPO1FBQ2YsS0FBSztZQUFHLE9BQU87UUFDZixLQUFLO1lBQUcsT0FBTztRQUNmLEtBQUs7WUFBRyxPQUFPO1FBQ2YsS0FBSztZQUFHLE9BQU87UUFDZixLQUFLO1lBQUcsT0FBTztRQUNmLEtBQUs7WUFBRyxPQUFPO1FBQ2YsS0FBSztZQUFHLE9BQU87UUFDZixLQUFLO1lBQUcsT0FBTztRQUNmLEtBQUs7WUFBSSxPQUFPO1FBQ2hCLEtBQUs7WUFBSSxPQUFPO1FBQ2hCLEtBQUs7WUFBSSxPQUFPO1FBQ2hCLEtBQUs7WUFBSSxPQUFPO1FBQ2hCLEtBQUs7WUFBSSxPQUFPO1FBQ2hCLEtBQUs7WUFBSSxPQUFPO0lBQ2xCO0lBQ0EsT0FBTyxZQUFZQTtBQUNyQjtBQUVPLFNBQVNDLFNBQVVDLElBQUk7SUFDNUIsT0FBUUEsS0FBS0MsV0FBVztRQUN0QixLQUFLO1lBQVMsT0FBTztRQUNyQixLQUFLO1lBQVUsT0FBTztRQUN0QixLQUFLO1lBQVUsT0FBTztRQUN0QixLQUFLO1lBQVksT0FBTztRQUN4QixLQUFLO1lBQVUsT0FBTztRQUN0QixLQUFLO1lBQVUsT0FBTztRQUN0QixLQUFLO1lBQVksT0FBTztRQUN4QixLQUFLO1lBQVksT0FBTztRQUN4QixLQUFLO1lBQVksT0FBTztRQUN4QixLQUFLO1lBQVksT0FBTztRQUN4QixLQUFLO1lBQWEsT0FBTztRQUN6QixLQUFLO1lBQWEsT0FBTztRQUN6QixLQUFLO1lBQWEsT0FBTztRQUN6QixLQUFLO1lBQWEsT0FBTztRQUN6QixLQUFLO1lBQWEsT0FBTztRQUN6QixLQUFLO1lBQWEsT0FBTztJQUMzQjtJQUNBLE9BQU87QUFDVCIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0BsZWljaHRnZXdpY2h0L2Rucy1wYWNrZXQvb3Bjb2Rlcy5tanM/YTcwMCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogVHJhZGl0aW9uYWwgRE5TIGhlYWRlciBPUENPREVzICg0LWJpdHMpIGRlZmluZWQgYnkgSUFOQSBpblxuICogaHR0cHM6Ly93d3cuaWFuYS5vcmcvYXNzaWdubWVudHMvZG5zLXBhcmFtZXRlcnMvZG5zLXBhcmFtZXRlcnMueGh0bWwjZG5zLXBhcmFtZXRlcnMtNVxuICovXG5cbmV4cG9ydCBmdW5jdGlvbiB0b1N0cmluZyAob3Bjb2RlKSB7XG4gIHN3aXRjaCAob3Bjb2RlKSB7XG4gICAgY2FzZSAwOiByZXR1cm4gJ1FVRVJZJ1xuICAgIGNhc2UgMTogcmV0dXJuICdJUVVFUlknXG4gICAgY2FzZSAyOiByZXR1cm4gJ1NUQVRVUy
/***/ }),
/***/ "(ssr)/./node_modules/@leichtgewicht/dns-packet/optioncodes.mjs":
/*!****************************************************************!*\
!*** ./node_modules/@leichtgewicht/dns-packet/optioncodes.mjs ***!
\****************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ toCode: () => (/* binding */ toCode),\n/* harmony export */ toString: () => (/* binding */ toString)\n/* harmony export */ });\nfunction toString(type) {\n switch(type){\n // list at\n // https://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml#dns-parameters-11\n case 1:\n return \"LLQ\";\n case 2:\n return \"UL\";\n case 3:\n return \"NSID\";\n case 5:\n return \"DAU\";\n case 6:\n return \"DHU\";\n case 7:\n return \"N3U\";\n case 8:\n return \"CLIENT_SUBNET\";\n case 9:\n return \"EXPIRE\";\n case 10:\n return \"COOKIE\";\n case 11:\n return \"TCP_KEEPALIVE\";\n case 12:\n return \"PADDING\";\n case 13:\n return \"CHAIN\";\n case 14:\n return \"KEY_TAG\";\n case 26946:\n return \"DEVICEID\";\n }\n if (type < 0) {\n return null;\n }\n return `OPTION_${type}`;\n}\nfunction toCode(name) {\n if (typeof name === \"number\") {\n return name;\n }\n if (!name) {\n return -1;\n }\n switch(name.toUpperCase()){\n case \"OPTION_0\":\n return 0;\n case \"LLQ\":\n return 1;\n case \"UL\":\n return 2;\n case \"NSID\":\n return 3;\n case \"OPTION_4\":\n return 4;\n case \"DAU\":\n return 5;\n case \"DHU\":\n return 6;\n case \"N3U\":\n return 7;\n case \"CLIENT_SUBNET\":\n return 8;\n case \"EXPIRE\":\n return 9;\n case \"COOKIE\":\n return 10;\n case \"TCP_KEEPALIVE\":\n return 11;\n case \"PADDING\":\n return 12;\n case \"CHAIN\":\n return 13;\n case \"KEY_TAG\":\n return 14;\n case \"DEVICEID\":\n return 26946;\n case \"OPTION_65535\":\n return 65535;\n }\n const m = name.match(/_(\\d+)$/);\n if (m) {\n return parseInt(m[1], 10);\n }\n return -1;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGxlaWNodGdld2ljaHQvZG5zLXBhY2tldC9vcHRpb25jb2Rlcy5tanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBTyxTQUFTQSxTQUFVQyxJQUFJO0lBQzVCLE9BQVFBO1FBQ04sVUFBVTtRQUNWLHlGQUF5RjtRQUN6RixLQUFLO1lBQUcsT0FBTztRQUNmLEtBQUs7WUFBRyxPQUFPO1FBQ2YsS0FBSztZQUFHLE9BQU87UUFDZixLQUFLO1lBQUcsT0FBTztRQUNmLEtBQUs7WUFBRyxPQUFPO1FBQ2YsS0FBSztZQUFHLE9BQU87UUFDZixLQUFLO1lBQUcsT0FBTztRQUNmLEtBQUs7WUFBRyxPQUFPO1FBQ2YsS0FBSztZQUFJLE9BQU87UUFDaEIsS0FBSztZQUFJLE9BQU87UUFDaEIsS0FBSztZQUFJLE9BQU87UUFDaEIsS0FBSztZQUFJLE9BQU87UUFDaEIsS0FBSztZQUFJLE9BQU87UUFDaEIsS0FBSztZQUFPLE9BQU87SUFDckI7SUFDQSxJQUFJQSxPQUFPLEdBQUc7UUFDWixPQUFPO0lBQ1Q7SUFDQSxPQUFPLENBQUMsT0FBTyxFQUFFQSxLQUFLLENBQUM7QUFDekI7QUFFTyxTQUFTQyxPQUFRQyxJQUFJO0lBQzFCLElBQUksT0FBT0EsU0FBUyxVQUFVO1FBQzVCLE9BQU9BO0lBQ1Q7SUFDQSxJQUFJLENBQUNBLE1BQU07UUFDVCxPQUFPLENBQUM7SUFDVjtJQUNBLE9BQVFBLEtBQUtDLFdBQVc7UUFDdEIsS0FBSztZQUFZLE9BQU87UUFDeEIsS0FBSztZQUFPLE9BQU87UUFDbkIsS0FBSztZQUFNLE9BQU87UUFDbEIsS0FBSztZQUFRLE9BQU87UUFDcEIsS0FBSztZQUFZLE9BQU87UUFDeEIsS0FBSztZQUFPLE9BQU87UUFDbkIsS0FBSztZQUFPLE9BQU87UUFDbkIsS0FBSztZQUFPLE9BQU87UUFDbkIsS0FBSztZQUFpQixPQUFPO1FBQzdCLEtBQUs7WUFBVSxPQUFPO1FBQ3RCLEtBQUs7WUFBVSxPQUFPO1FBQ3RCLEtBQUs7WUFBaUIsT0FBTztRQUM3QixLQUFLO1lBQVcsT0FBTztRQUN2QixLQUFLO1lBQVMsT0FBTztRQUNyQixLQUFLO1lBQVcsT0FBTztRQUN2QixLQUFLO1lBQVksT0FBTztRQUN4QixLQUFLO1lBQWdCLE9BQU87SUFDOUI7SUFDQSxNQUFNQyxJQUFJRixLQUFLRyxLQUFLLENBQUM7SUFDckIsSUFBSUQsR0FBRztRQUNMLE9BQU9FLFNBQVNGLENBQUMsQ0FBQyxFQUFFLEVBQUU7SUFDeEI7SUFDQSxPQUFPLENBQUM7QUFDViIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0BsZWljaHRnZXdpY2h0L2Rucy1wYWNrZXQvb3B0aW9uY29kZXMubWpzPzJ
/***/ }),
/***/ "(ssr)/./node_modules/@leichtgewicht/dns-packet/rcodes.mjs":
/*!***********************************************************!*\
!*** ./node_modules/@leichtgewicht/dns-packet/rcodes.mjs ***!
\***********************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ toRcode: () => (/* binding */ toRcode),\n/* harmony export */ toString: () => (/* binding */ toString)\n/* harmony export */ });\n/*\n * Traditional DNS header RCODEs (4-bits) defined by IANA in\n * https://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml\n */ function toString(rcode) {\n switch(rcode){\n case 0:\n return \"NOERROR\";\n case 1:\n return \"FORMERR\";\n case 2:\n return \"SERVFAIL\";\n case 3:\n return \"NXDOMAIN\";\n case 4:\n return \"NOTIMP\";\n case 5:\n return \"REFUSED\";\n case 6:\n return \"YXDOMAIN\";\n case 7:\n return \"YXRRSET\";\n case 8:\n return \"NXRRSET\";\n case 9:\n return \"NOTAUTH\";\n case 10:\n return \"NOTZONE\";\n case 11:\n return \"RCODE_11\";\n case 12:\n return \"RCODE_12\";\n case 13:\n return \"RCODE_13\";\n case 14:\n return \"RCODE_14\";\n case 15:\n return \"RCODE_15\";\n }\n return \"RCODE_\" + rcode;\n}\nfunction toRcode(code) {\n switch(code.toUpperCase()){\n case \"NOERROR\":\n return 0;\n case \"FORMERR\":\n return 1;\n case \"SERVFAIL\":\n return 2;\n case \"NXDOMAIN\":\n return 3;\n case \"NOTIMP\":\n return 4;\n case \"REFUSED\":\n return 5;\n case \"YXDOMAIN\":\n return 6;\n case \"YXRRSET\":\n return 7;\n case \"NXRRSET\":\n return 8;\n case \"NOTAUTH\":\n return 9;\n case \"NOTZONE\":\n return 10;\n case \"RCODE_11\":\n return 11;\n case \"RCODE_12\":\n return 12;\n case \"RCODE_13\":\n return 13;\n case \"RCODE_14\":\n return 14;\n case \"RCODE_15\":\n return 15;\n }\n return 0;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGxlaWNodGdld2ljaHQvZG5zLXBhY2tldC9yY29kZXMubWpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQUE7OztDQUdDLEdBRU0sU0FBU0EsU0FBVUMsS0FBSztJQUM3QixPQUFRQTtRQUNOLEtBQUs7WUFBRyxPQUFPO1FBQ2YsS0FBSztZQUFHLE9BQU87UUFDZixLQUFLO1lBQUcsT0FBTztRQUNmLEtBQUs7WUFBRyxPQUFPO1FBQ2YsS0FBSztZQUFHLE9BQU87UUFDZixLQUFLO1lBQUcsT0FBTztRQUNmLEtBQUs7WUFBRyxPQUFPO1FBQ2YsS0FBSztZQUFHLE9BQU87UUFDZixLQUFLO1lBQUcsT0FBTztRQUNmLEtBQUs7WUFBRyxPQUFPO1FBQ2YsS0FBSztZQUFJLE9BQU87UUFDaEIsS0FBSztZQUFJLE9BQU87UUFDaEIsS0FBSztZQUFJLE9BQU87UUFDaEIsS0FBSztZQUFJLE9BQU87UUFDaEIsS0FBSztZQUFJLE9BQU87UUFDaEIsS0FBSztZQUFJLE9BQU87SUFDbEI7SUFDQSxPQUFPLFdBQVdBO0FBQ3BCO0FBRU8sU0FBU0MsUUFBU0MsSUFBSTtJQUMzQixPQUFRQSxLQUFLQyxXQUFXO1FBQ3RCLEtBQUs7WUFBVyxPQUFPO1FBQ3ZCLEtBQUs7WUFBVyxPQUFPO1FBQ3ZCLEtBQUs7WUFBWSxPQUFPO1FBQ3hCLEtBQUs7WUFBWSxPQUFPO1FBQ3hCLEtBQUs7WUFBVSxPQUFPO1FBQ3RCLEtBQUs7WUFBVyxPQUFPO1FBQ3ZCLEtBQUs7WUFBWSxPQUFPO1FBQ3hCLEtBQUs7WUFBVyxPQUFPO1FBQ3ZCLEtBQUs7WUFBVyxPQUFPO1FBQ3ZCLEtBQUs7WUFBVyxPQUFPO1FBQ3ZCLEtBQUs7WUFBVyxPQUFPO1FBQ3ZCLEtBQUs7WUFBWSxPQUFPO1FBQ3hCLEtBQUs7WUFBWSxPQUFPO1FBQ3hCLEtBQUs7WUFBWSxPQUFPO1FBQ3hCLEtBQUs7WUFBWSxPQUFPO1FBQ3hCLEtBQUs7WUFBWSxPQUFPO0lBQzFCO0lBQ0EsT0FBTztBQUNUIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQGxlaWNodGdld2ljaHQvZG5zLXBhY2tldC9yY29kZXMubWpzPzFjMzMiXSwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFRyYWRpdGlvbmFsIEROUyBoZWFkZXIgUkNPREVzICg0LWJpdHMpIGRlZmluZWQgYnkgSUFOQSBpblxuICogaHR0cHM6Ly93d3cuaWFuYS5vcmcvYXNzaWdubWVudHMvZG5zLXBhcmFtZXRlcnMvZG5zLXBhcmFtZXRlcnMueGh0bWxcbiAqL1xuXG5leHBvcnQgZnVuY3Rpb24gdG9TdHJpbmcgKHJjb2RlKSB7XG4gIHN3aXRjaCAocmNvZGUpIHtcbiAgICBjYXNlIDA6IHJldHVybiAnTk9FUlJPUidcbiAgICBjYXNlIDE6IHJldHVybiAnRk9STUVSUidcbiAgICBjYXNlIDI6IHJldHVybiAnU0VSVkZBSUwnXG4gICAgY2FzZSAzOiByZXR1cm4gJ05YRE9NQUlOJ1xuICAgIGNhc2U
/***/ }),
/***/ "(ssr)/./node_modules/@leichtgewicht/dns-packet/types.mjs":
/*!**********************************************************!*\
!*** ./node_modules/@leichtgewicht/dns-packet/types.mjs ***!
\**********************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ toString: () => (/* binding */ toString),\n/* harmony export */ toType: () => (/* binding */ toType)\n/* harmony export */ });\nfunction toString(type) {\n switch(type){\n case 1:\n return \"A\";\n case 10:\n return \"NULL\";\n case 28:\n return \"AAAA\";\n case 18:\n return \"AFSDB\";\n case 42:\n return \"APL\";\n case 257:\n return \"CAA\";\n case 60:\n return \"CDNSKEY\";\n case 59:\n return \"CDS\";\n case 37:\n return \"CERT\";\n case 5:\n return \"CNAME\";\n case 49:\n return \"DHCID\";\n case 32769:\n return \"DLV\";\n case 39:\n return \"DNAME\";\n case 48:\n return \"DNSKEY\";\n case 43:\n return \"DS\";\n case 55:\n return \"HIP\";\n case 13:\n return \"HINFO\";\n case 45:\n return \"IPSECKEY\";\n case 25:\n return \"KEY\";\n case 36:\n return \"KX\";\n case 29:\n return \"LOC\";\n case 15:\n return \"MX\";\n case 35:\n return \"NAPTR\";\n case 2:\n return \"NS\";\n case 47:\n return \"NSEC\";\n case 50:\n return \"NSEC3\";\n case 51:\n return \"NSEC3PARAM\";\n case 12:\n return \"PTR\";\n case 46:\n return \"RRSIG\";\n case 17:\n return \"RP\";\n case 24:\n return \"SIG\";\n case 6:\n return \"SOA\";\n case 99:\n return \"SPF\";\n case 33:\n return \"SRV\";\n case 44:\n return \"SSHFP\";\n case 32768:\n return \"TA\";\n case 249:\n return \"TKEY\";\n case 52:\n return \"TLSA\";\n case 250:\n return \"TSIG\";\n case 16:\n return \"TXT\";\n case 252:\n return \"AXFR\";\n case 251:\n return \"IXFR\";\n case 41:\n return \"OPT\";\n case 255:\n return \"ANY\";\n }\n return \"UNKNOWN_\" + type;\n}\nfunction toType(name) {\n switch(name.toUpperCase()){\n case \"A\":\n return 1;\n case \"NULL\":\n return 10;\n case \"AAAA\":\n return 28;\n case \"AFSDB\":\n return 18;\n case \"APL\":\n return 42;\n case \"CAA\":\n return 257;\n case \"CDNSKEY\":\n return 60;\n case \"CDS\":\n return 59;\n case \"CERT\":\n return 37;\n case \"CNAME\":\n return 5;\n case \"DHCID\":\n return 49;\n case \"DLV\":\n return 32769;\n case \"DNAME\":\n return 39;\n case \"DNSKEY\":\n return 48;\n case \"DS\":\n return 43;\n case \"HIP\":\n return 55;\n case \"HINFO\":\n return 13;\n case \"IPSECKEY\":\n return 45;\n case \"KEY\":\n return 25;\n case \"KX\":\n return 36;\n case \"LOC\":\n return 29;\n case \"MX\":\n return 15;\n case \"NAPTR\":\n return 35;\n case \"NS\":\n return 2;\n case \"NSEC\":\n return 47;\n case \"NSEC3\":\n return 50;\n case \"NSEC3PARAM\":\n return 51;\n case \"PTR\":\n return 12;\n case \"RRSIG\":\n return 46;\n case \"RP\":\n return 17;\n case \"SIG\":\n return 24;\n case \"SOA\":\n return 6;\n case \"SPF\":\n
/***/ }),
/***/ "(ssr)/./node_modules/@leichtgewicht/dns-socket/index.mjs":
/*!**********************************************************!*\
!*** ./node_modules/@leichtgewicht/dns-socket/index.mjs ***!
\**********************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DNSSocket: () => (/* binding */ DNSSocket)\n/* harmony export */ });\n/* harmony import */ var dgram__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dgram */ \"dgram\");\n/* harmony import */ var _leichtgewicht_dns_packet__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @leichtgewicht/dns-packet */ \"(ssr)/./node_modules/@leichtgewicht/dns-packet/index.mjs\");\n/* harmony import */ var events__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! events */ \"events\");\n/* harmony import */ var buffer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! buffer */ \"buffer\");\n\n\n\n\nclass DNSSocket extends events__WEBPACK_IMPORTED_MODULE_2__.EventEmitter {\n constructor(opts = {}){\n super();\n this.retries = opts.retries !== undefined ? opts.retries : 5;\n this.timeout = opts.timeout || 7500;\n this.timeoutChecks = opts.timeoutChecks || this.timeout / 10;\n this.destroyed = false;\n this.inflight = 0;\n this.raw = opts.raw === true;\n this.maxQueries = opts.maxQueries || 10000;\n this.maxRedirects = opts.maxRedirects || 0;\n this.socket = opts.socket || dgram__WEBPACK_IMPORTED_MODULE_0__.createSocket(\"udp4\");\n this._id = Math.ceil(Math.random() * this.maxQueries);\n this._queries = new Array(this.maxQueries).fill(null);\n this._interval = null;\n this.socket.on(\"error\", (err)=>{\n if (err.code === \"EACCES\" || err.code === \"EADDRINUSE\") {\n this.emit(\"error\", err);\n } else {\n this.emit(\"warning\", err);\n }\n });\n this.socket.on(\"message\", (message, rinfo)=>{\n this._onmessage(message, rinfo);\n });\n const onlistening = ()=>{\n this._interval = setInterval(()=>this._ontimeoutCheck(), this.timeoutChecks);\n this.emit(\"listening\");\n };\n if (isListening(this.socket)) onlistening();\n else this.socket.on(\"listening\", onlistening);\n this.socket.on(\"close\", ()=>this.emit(\"close\"));\n }\n address() {\n return this.socket.address();\n }\n bind(...args) {\n const onlistening = args.length > 0 && args[args.length - 1];\n if (typeof onlistening === \"function\") {\n this.once(\"listening\", onlistening);\n this.socket.bind(...args.slice(0, -1));\n } else {\n this.socket.bind(...args);\n }\n }\n destroy(onclose) {\n if (onclose) {\n this.once(\"close\", onclose);\n }\n if (this.destroyed) {\n return;\n }\n this.destroyed = true;\n clearInterval(this._interval);\n this.socket.close();\n for(let i = 0; i < this.maxQueries; i++){\n const q = this._queries[i];\n if (q) {\n q.callback(new Error(\"Socket destroyed\"));\n this._queries[i] = null;\n }\n }\n this.inflight = 0;\n }\n _ontimeoutCheck() {\n const now = Date.now();\n for(let i = 0; i < this.maxQueries; i++){\n const q = this._queries[i];\n if (!q || now - q.firstTry < (q.tries + 1) * this.timeout) {\n continue;\n }\n if (q.tries > this.retries) {\n this._queries[i] = null;\n this.inflight--;\n this.emit(\"timeout\", q.query, q.port, q.host);\n q.callback(new Error(\"Query timed out\"));\n continue;\n }\n q.tries++;\n this.socket.send(q.buffer, 0, q.buffer.length, q.port, Array.isArray(q.host) ? q.host[Math.floor(q.host.length * Math.random())] : q.host || \"127.0.0.1\");\n }\n }\n _shouldRedirect(q, result) {\n // no redirects, no query, more than 1 questions, has any A record answer\n if (this.maxRe
/***/ }),
/***/ "(ssr)/./node_modules/@leichtgewicht/ip-codec/index.mjs":
/*!********************************************************!*\
!*** ./node_modules/@leichtgewicht/ip-codec/index.mjs ***!
\********************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ decode: () => (/* binding */ decode),\n/* harmony export */ encode: () => (/* binding */ encode),\n/* harmony export */ familyOf: () => (/* binding */ familyOf),\n/* harmony export */ name: () => (/* binding */ name),\n/* harmony export */ sizeOf: () => (/* binding */ sizeOf),\n/* harmony export */ v4: () => (/* binding */ v4),\n/* harmony export */ v6: () => (/* binding */ v6)\n/* harmony export */ });\nconst v4Regex = /^(\\d{1,3}\\.){3,3}\\d{1,3}$/;\nconst v4Size = 4;\nconst v6Regex = /^(::)?(((\\d{1,3}\\.){3}(\\d{1,3}){1})?([0-9a-f]){0,4}:{0,2}){1,8}(::)?$/i;\nconst v6Size = 16;\nconst v4 = {\n name: \"v4\",\n size: v4Size,\n isFormat: (ip)=>v4Regex.test(ip),\n encode (ip, buff, offset) {\n offset = ~~offset;\n buff = buff || new Uint8Array(offset + v4Size);\n const max = ip.length;\n let n = 0;\n for(let i = 0; i < max;){\n const c = ip.charCodeAt(i++);\n if (c === 46) {\n buff[offset++] = n;\n n = 0;\n } else {\n n = n * 10 + (c - 48);\n }\n }\n buff[offset] = n;\n return buff;\n },\n decode (buff, offset) {\n offset = ~~offset;\n return `${buff[offset++]}.${buff[offset++]}.${buff[offset++]}.${buff[offset]}`;\n }\n};\nconst v6 = {\n name: \"v6\",\n size: v6Size,\n isFormat: (ip)=>ip.length > 0 && v6Regex.test(ip),\n encode (ip, buff, offset) {\n offset = ~~offset;\n let end = offset + v6Size;\n let fill = -1;\n let hexN = 0;\n let decN = 0;\n let prevColon = true;\n let useDec = false;\n buff = buff || new Uint8Array(offset + v6Size);\n // Note: This algorithm needs to check if the offset\n // could exceed the buffer boundaries as it supports\n // non-standard compliant encodings that may go beyond\n // the boundary limits. if (offset < end) checks should\n // not be necessary...\n for(let i = 0; i < ip.length; i++){\n let c = ip.charCodeAt(i);\n if (c === 58) {\n if (prevColon) {\n if (fill !== -1) {\n // Not Standard! (standard doesn't allow multiple ::)\n // We need to treat\n if (offset < end) buff[offset] = 0;\n if (offset < end - 1) buff[offset + 1] = 0;\n offset += 2;\n } else if (offset < end) {\n // :: in the middle\n fill = offset;\n }\n } else {\n // : ends the previous number\n if (useDec === true) {\n // Non-standard! (ipv4 should be at end only)\n // A ipv4 address should not be found anywhere else but at\n // the end. This codec also support putting characters\n // after the ipv4 address..\n if (offset < end) buff[offset] = decN;\n offset++;\n } else {\n if (offset < end) buff[offset] = hexN >> 8;\n if (offset < end - 1) buff[offset + 1] = hexN & 0xff;\n offset += 2;\n }\n hexN = 0;\n decN = 0;\n }\n prevColon = true;\n useDec = false;\n } else if (c === 46) {\n if (offset < end) buff[offset] = decN;\n offset++;\n decN = 0;\n hexN = 0;\n prevColon = false;\n useDec = true;\n } else {\n prevColon = false;\n if (c >= 97) {\n c -= 87 // a-f ... 97~102 -87 => 10~15\n ;\
/***/ })
};
;