From 9fd9cd80acfd4ec85fcf0317fa648327e4753f12 Mon Sep 17 00:00:00 2001 From: philippedistributive Date: Mon, 4 Mar 2024 15:04:24 -0500 Subject: [PATCH 01/29] dcp client files --- dcp-client-bundle.js | 6358 +++++++++++++++++ dcp-support.py | 31 + fs-basic.py | 46 + main.py | 110 + .../XMLHttpRequest-internal.py | 37 + .../builtin_modules/XMLHttpRequest.js | 32 + 6 files changed, 6614 insertions(+) create mode 100644 dcp-client-bundle.js create mode 100644 dcp-support.py create mode 100644 fs-basic.py create mode 100644 main.py diff --git a/dcp-client-bundle.js b/dcp-client-bundle.js new file mode 100644 index 00000000..72638828 --- /dev/null +++ b/dcp-client-bundle.js @@ -0,0 +1,6358 @@ +(function dcpClientBundleIIFE() { + let currentScript = typeof document !== 'undefined' && document.currentScript; + let bundleExports = false; +/* + * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development"). + * This devtool is neither made for production nor for readable output files. + * It uses "eval()" calls to create a separate source file 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/). + */ +/******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ({ + +/***/ "./node_modules/@bitauth/libauth/build/module/index.js": +/*!*************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/index.js ***! + \*************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _lib_lib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./lib/lib */ \"./node_modules/@bitauth/libauth/build/module/lib/lib.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(const __WEBPACK_IMPORT_KEY__ in _lib_lib__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = () => _lib_lib__WEBPACK_IMPORTED_MODULE_0__[__WEBPACK_IMPORT_KEY__]\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/index.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/address/address.js": +/*!***************************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/address/address.js ***! + \***************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AddressType: () => (/* reexport safe */ _locking_bytecode__WEBPACK_IMPORTED_MODULE_3__.AddressType),\n/* harmony export */ Base58AddressError: () => (/* reexport safe */ _base58_address__WEBPACK_IMPORTED_MODULE_0__.Base58AddressError),\n/* harmony export */ Base58AddressFormatVersion: () => (/* reexport safe */ _base58_address__WEBPACK_IMPORTED_MODULE_0__.Base58AddressFormatVersion),\n/* harmony export */ Bech32DecodingError: () => (/* reexport safe */ _bech32__WEBPACK_IMPORTED_MODULE_1__.Bech32DecodingError),\n/* harmony export */ BitRegroupingError: () => (/* reexport safe */ _bech32__WEBPACK_IMPORTED_MODULE_1__.BitRegroupingError),\n/* harmony export */ CashAddressCorrectionError: () => (/* reexport safe */ _cash_address__WEBPACK_IMPORTED_MODULE_2__.CashAddressCorrectionError),\n/* harmony export */ CashAddressDecodingError: () => (/* reexport safe */ _cash_address__WEBPACK_IMPORTED_MODULE_2__.CashAddressDecodingError),\n/* harmony export */ CashAddressEncodingError: () => (/* reexport safe */ _cash_address__WEBPACK_IMPORTED_MODULE_2__.CashAddressEncodingError),\n/* harmony export */ CashAddressNetworkPrefix: () => (/* reexport safe */ _cash_address__WEBPACK_IMPORTED_MODULE_2__.CashAddressNetworkPrefix),\n/* harmony export */ CashAddressType: () => (/* reexport safe */ _cash_address__WEBPACK_IMPORTED_MODULE_2__.CashAddressType),\n/* harmony export */ CashAddressVersionByte: () => (/* reexport safe */ _cash_address__WEBPACK_IMPORTED_MODULE_2__.CashAddressVersionByte),\n/* harmony export */ CashAddressVersionByteDecodingError: () => (/* reexport safe */ _cash_address__WEBPACK_IMPORTED_MODULE_2__.CashAddressVersionByteDecodingError),\n/* harmony export */ LockingBytecodeEncodingError: () => (/* reexport safe */ _locking_bytecode__WEBPACK_IMPORTED_MODULE_3__.LockingBytecodeEncodingError),\n/* harmony export */ addressContentsToLockingBytecode: () => (/* reexport safe */ _locking_bytecode__WEBPACK_IMPORTED_MODULE_3__.addressContentsToLockingBytecode),\n/* harmony export */ attemptCashAddressFormatErrorCorrection: () => (/* reexport safe */ _cash_address__WEBPACK_IMPORTED_MODULE_2__.attemptCashAddressFormatErrorCorrection),\n/* harmony export */ base58AddressToLockingBytecode: () => (/* reexport safe */ _locking_bytecode__WEBPACK_IMPORTED_MODULE_3__.base58AddressToLockingBytecode),\n/* harmony export */ bech32CharacterSet: () => (/* reexport safe */ _bech32__WEBPACK_IMPORTED_MODULE_1__.bech32CharacterSet),\n/* harmony export */ bech32CharacterSetIndex: () => (/* reexport safe */ _bech32__WEBPACK_IMPORTED_MODULE_1__.bech32CharacterSetIndex),\n/* harmony export */ bech32PaddedToBin: () => (/* reexport safe */ _bech32__WEBPACK_IMPORTED_MODULE_1__.bech32PaddedToBin),\n/* harmony export */ binToBech32Padded: () => (/* reexport safe */ _bech32__WEBPACK_IMPORTED_MODULE_1__.binToBech32Padded),\n/* harmony export */ cashAddressBitToSize: () => (/* reexport safe */ _cash_address__WEBPACK_IMPORTED_MODULE_2__.cashAddressBitToSize),\n/* harmony export */ cashAddressChecksumToUint5Array: () => (/* reexport safe */ _cash_address__WEBPACK_IMPORTED_MODULE_2__.cashAddressChecksumToUint5Array),\n/* harmony export */ cashAddressPolynomialModulo: () => (/* reexport safe */ _cash_address__WEBPACK_IMPORTED_MODULE_2__.cashAddressPolynomialModulo),\n/* harmony export */ cashAddressPolynomialToCashAddress: () => (/* reexport safe */ _cash_address__WEBPACK_IMPORTED_MODULE_2__.cashAddressPolynomialToCashAddress),\n/* harmony export */ cashAddressSizeToBit: () => (/* reexport safe */ _cash_address__WEBPACK_IMPORTED_MODULE_2__.cashAddressSizeToBit),\n/* harmony export */ cashAddressToLockingBytecode: () => (/* reexport safe */ _locking_bytecode__WEBPACK_IMPORTED_MODULE_3__.cashAddressToLockingBytecode),\n/* harmony export */ decodeBase58Address: () => (/* reexport safe */ _base58_address__WEBPACK_IMPORTED_MODULE_0__.decodeBase58Address),\n/* harmony export */ decodeBase58AddressFormat: () => (/* reexport safe */ _base58_address__WEBPACK_IMPORTED_MODULE_0__.decodeBase58AddressFormat),\n/* harmony export */ decodeBech32: () => (/* reexport safe */ _bech32__WEBPACK_IMPORTED_MODULE_1__.decodeBech32),\n/* harmony export */ decodeCashAddress: () => (/* reexport safe */ _cash_address__WEBPACK_IMPORTED_MODULE_2__.decodeCashAddress),\n/* harmony export */ decodeCashAddressFormat: () => (/* reexport safe */ _cash_address__WEBPACK_IMPORTED_MODULE_2__.decodeCashAddressFormat),\n/* harmony export */ decodeCashAddressFormatWithoutPrefix: () => (/* reexport safe */ _cash_address__WEBPACK_IMPORTED_MODULE_2__.decodeCashAddressFormatWithoutPrefix),\n/* harmony export */ decodeCashAddressVersionByte: () => (/* reexport safe */ _cash_address__WEBPACK_IMPORTED_MODULE_2__.decodeCashAddressVersionByte),\n/* harmony export */ encodeBase58Address: () => (/* reexport safe */ _base58_address__WEBPACK_IMPORTED_MODULE_0__.encodeBase58Address),\n/* harmony export */ encodeBase58AddressFormat: () => (/* reexport safe */ _base58_address__WEBPACK_IMPORTED_MODULE_0__.encodeBase58AddressFormat),\n/* harmony export */ encodeBech32: () => (/* reexport safe */ _bech32__WEBPACK_IMPORTED_MODULE_1__.encodeBech32),\n/* harmony export */ encodeCashAddress: () => (/* reexport safe */ _cash_address__WEBPACK_IMPORTED_MODULE_2__.encodeCashAddress),\n/* harmony export */ encodeCashAddressFormat: () => (/* reexport safe */ _cash_address__WEBPACK_IMPORTED_MODULE_2__.encodeCashAddressFormat),\n/* harmony export */ encodeCashAddressVersionByte: () => (/* reexport safe */ _cash_address__WEBPACK_IMPORTED_MODULE_2__.encodeCashAddressVersionByte),\n/* harmony export */ isBech32CharacterSet: () => (/* reexport safe */ _bech32__WEBPACK_IMPORTED_MODULE_1__.isBech32CharacterSet),\n/* harmony export */ lockingBytecodeToAddressContents: () => (/* reexport safe */ _locking_bytecode__WEBPACK_IMPORTED_MODULE_3__.lockingBytecodeToAddressContents),\n/* harmony export */ lockingBytecodeToBase58Address: () => (/* reexport safe */ _locking_bytecode__WEBPACK_IMPORTED_MODULE_3__.lockingBytecodeToBase58Address),\n/* harmony export */ lockingBytecodeToCashAddress: () => (/* reexport safe */ _locking_bytecode__WEBPACK_IMPORTED_MODULE_3__.lockingBytecodeToCashAddress),\n/* harmony export */ maskCashAddressPrefix: () => (/* reexport safe */ _cash_address__WEBPACK_IMPORTED_MODULE_2__.maskCashAddressPrefix),\n/* harmony export */ regroupBits: () => (/* reexport safe */ _bech32__WEBPACK_IMPORTED_MODULE_1__.regroupBits)\n/* harmony export */ });\n/* harmony import */ var _base58_address__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base58-address */ \"./node_modules/@bitauth/libauth/build/module/lib/address/base58-address.js\");\n/* harmony import */ var _bech32__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./bech32 */ \"./node_modules/@bitauth/libauth/build/module/lib/address/bech32.js\");\n/* harmony import */ var _cash_address__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./cash-address */ \"./node_modules/@bitauth/libauth/build/module/lib/address/cash-address.js\");\n/* harmony import */ var _locking_bytecode__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./locking-bytecode */ \"./node_modules/@bitauth/libauth/build/module/lib/address/locking-bytecode.js\");\n\n\n\n\n//# sourceMappingURL=address.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/address/address.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/address/base58-address.js": +/*!**********************************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/address/base58-address.js ***! + \**********************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Base58AddressError: () => (/* binding */ Base58AddressError),\n/* harmony export */ Base58AddressFormatVersion: () => (/* binding */ Base58AddressFormatVersion),\n/* harmony export */ decodeBase58Address: () => (/* binding */ decodeBase58Address),\n/* harmony export */ decodeBase58AddressFormat: () => (/* binding */ decodeBase58AddressFormat),\n/* harmony export */ encodeBase58Address: () => (/* binding */ encodeBase58Address),\n/* harmony export */ encodeBase58AddressFormat: () => (/* binding */ encodeBase58AddressFormat)\n/* harmony export */ });\n/* harmony import */ var _format_format__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../format/format */ \"./node_modules/@bitauth/libauth/build/module/lib/format/hex.js\");\n/* harmony import */ var _format_format__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../format/format */ \"./node_modules/@bitauth/libauth/build/module/lib/format/base-convert.js\");\n\n/**\n * Base58 version byte values for common Base58Address format versions.\n */\nvar Base58AddressFormatVersion;\n(function (Base58AddressFormatVersion) {\n /**\n * A Pay to Public Key Hash (P2PKH) address – base58 encodes to a leading `1`.\n *\n * Hex: `0x00`\n */\n Base58AddressFormatVersion[Base58AddressFormatVersion[\"p2pkh\"] = 0] = \"p2pkh\";\n /**\n * A Pay to Script Hash (P2SH) address – base58 encodes to a leading `3`.\n *\n * Hex: `0x05`\n */\n Base58AddressFormatVersion[Base58AddressFormatVersion[\"p2sh\"] = 5] = \"p2sh\";\n /**\n * A private key in Wallet Import Format. For private keys used with\n * uncompressed public keys, the payload is 32 bytes and causes the version\n * to be encoded as a `5`. For private keys used with compressed public keys,\n * a final `0x01` byte is appended to the private key, increasing the payload\n * to 33 bytes, and causing the version to be encoded as a `K` or `L`.\n *\n * Hex: `0x80`\n */\n Base58AddressFormatVersion[Base58AddressFormatVersion[\"wif\"] = 128] = \"wif\";\n /**\n * A testnet Pay to Public Key Hash (P2PKH) address – base58 encodes to a\n * leading `m` or `n`.\n *\n * Hex: `0x6f`\n */\n Base58AddressFormatVersion[Base58AddressFormatVersion[\"p2pkhTestnet\"] = 111] = \"p2pkhTestnet\";\n /**\n * A testnet Pay to Script Hash (P2SH) address – base58 encodes to a leading\n * `2`.\n *\n * Hex: `0xc4`\n */\n Base58AddressFormatVersion[Base58AddressFormatVersion[\"p2shTestnet\"] = 196] = \"p2shTestnet\";\n /**\n * A private key in Wallet Import Format intended for testnet use. For private\n * keys used with uncompressed public keys, the payload is 32 bytes and causes\n * the version to be encoded as a `9`. For private keys used with compressed\n * public keys, a final `0x01` byte is appended to the private key, increasing\n * the payload to 33 bytes, and causing the version to be encoded as a `c`.\n *\n * Hex: `0xef`\n */\n Base58AddressFormatVersion[Base58AddressFormatVersion[\"wifTestnet\"] = 239] = \"wifTestnet\";\n /**\n * A Pay to Public Key Hash (P2PKH) address intended for use on the Bitcoin\n * Cash network – base58 encodes to a leading `C`. This version was\n * temporarily used by the Copay project before the CashAddress format was\n * standardized.\n *\n * Hex: `0x1c`\n */\n Base58AddressFormatVersion[Base58AddressFormatVersion[\"p2pkhCopayBCH\"] = 28] = \"p2pkhCopayBCH\";\n /**\n * A Pay to Script Hash (P2SH) address intended for use on the Bitcoin\n * Cash network – base58 encodes to a leading `H`. This version was\n * temporarily used by the Copay project before the CashAddress format was\n * standardized.\n *\n * Hex: `0x28`\n */\n Base58AddressFormatVersion[Base58AddressFormatVersion[\"p2shCopayBCH\"] = 40] = \"p2shCopayBCH\";\n})(Base58AddressFormatVersion || (Base58AddressFormatVersion = {}));\n/**\n * Encode a payload using the Base58Address format, the original address format\n * used by the Satoshi implementation.\n *\n * Note, this method does not enforce error handling via the type system. The\n * returned string will not be a valid Base58Address if `hash` is not exactly 20\n * bytes. If needed, validate the length of `hash` before calling this method.\n *\n * @remarks\n * A Base58Address includes a 1-byte prefix to indicate the address version, a\n * variable-length payload, and a 4-byte checksum:\n *\n * `[version: 1 byte] [payload: variable length] [checksum: 4 bytes]`\n *\n * The checksum is the first 4 bytes of the double-SHA256 hash of the version\n * byte followed by the payload.\n *\n * @param sha256 - an implementation of sha256 (a universal implementation is\n * available via `instantiateSha256`)\n * @param version - the address version byte (see `Base58Version`)\n * @param payload - the Uint8Array payload to encode\n */\nconst encodeBase58AddressFormat = (sha256, version, payload) => {\n const checksumBytes = 4;\n const content = Uint8Array.from([version, ...payload]);\n const checksum = sha256.hash(sha256.hash(content)).slice(0, checksumBytes);\n const bin = (0,_format_format__WEBPACK_IMPORTED_MODULE_0__.flattenBinArray)([content, checksum]);\n return (0,_format_format__WEBPACK_IMPORTED_MODULE_1__.binToBase58)(bin);\n};\n/**\n * Encode a hash as a Base58Address.\n *\n * Note, this method does not enforce error handling via the type system. The\n * returned string will not be a valid Base58Address if `hash` is not exactly 20\n * bytes. If needed, validate the length of `hash` before calling this method.\n *\n * For other standards which use the Base58Address format but have other version\n * or length requirements, use `encodeCashAddressFormat`.\n *\n * @param sha256 - an implementation of sha256 (a universal implementation is\n * available via `instantiateSha256`)\n * @param type - the type of address to encode: `p2pkh`, `p2sh`,\n * `p2pkh-testnet`, or `p2sh-testnet`\n * @param hash - the 20-byte hash to encode\n * (`RIPEMD160(SHA256(public key or bytecode))`)\n */\nconst encodeBase58Address = (sha256, type, payload) => encodeBase58AddressFormat(sha256, {\n p2pkh: Base58AddressFormatVersion.p2pkh,\n 'p2pkh-copay-bch': Base58AddressFormatVersion.p2pkhCopayBCH,\n 'p2pkh-testnet': Base58AddressFormatVersion.p2pkhTestnet,\n p2sh: Base58AddressFormatVersion.p2sh,\n 'p2sh-copay-bch': Base58AddressFormatVersion.p2shCopayBCH,\n 'p2sh-testnet': Base58AddressFormatVersion.p2shTestnet,\n}[type], payload);\nvar Base58AddressError;\n(function (Base58AddressError) {\n Base58AddressError[\"unknownCharacter\"] = \"Base58Address error: address may only contain valid base58 characters.\";\n Base58AddressError[\"tooShort\"] = \"Base58Address error: address is too short to be valid.\";\n Base58AddressError[\"invalidChecksum\"] = \"Base58Address error: address has an invalid checksum.\";\n Base58AddressError[\"unknownAddressVersion\"] = \"Base58Address error: address uses an unknown address version.\";\n Base58AddressError[\"incorrectLength\"] = \"Base58Address error: the encoded payload is not the correct length (20 bytes).\";\n})(Base58AddressError || (Base58AddressError = {}));\n/**\n * Attempt to decode a Base58Address-formatted string. This is more lenient than\n * `decodeCashAddress`, which also validates the address version.\n *\n * Returns the contents of the address or an error message as a string.\n *\n * @param sha256 - an implementation of sha256 (a universal implementation is\n * available via `instantiateSha256`)\n * @param address - the string to decode as a base58 address\n */\nconst decodeBase58AddressFormat = (sha256, address) => {\n const checksumBytes = 4;\n const bin = (0,_format_format__WEBPACK_IMPORTED_MODULE_1__.base58ToBin)(address);\n if (bin === _format_format__WEBPACK_IMPORTED_MODULE_1__.BaseConversionError.unknownCharacter) {\n return Base58AddressError.unknownCharacter;\n }\n const minimumBase58AddressLength = 5;\n if (bin.length < minimumBase58AddressLength) {\n return Base58AddressError.tooShort;\n }\n const content = bin.slice(0, -checksumBytes);\n const checksum = bin.slice(-checksumBytes);\n const expectedChecksum = sha256\n .hash(sha256.hash(content))\n .slice(0, checksumBytes);\n if (!checksum.every((value, i) => value === expectedChecksum[i])) {\n return Base58AddressError.invalidChecksum;\n }\n return {\n payload: content.slice(1),\n version: content[0],\n };\n};\n/**\n * Decode and validate a Base58Address, strictly checking the version and\n * payload length.\n *\n * For other address-like standards which closely follow the Base58Address\n * format (but have alternative version byte requirements), use\n * `decodeBase58AddressFormat`.\n *\n * @remarks\n * Because the Wallet Import Format (WIF) private key serialization format uses\n * the Base58Address format, some libraries allow WIF key decoding via the same\n * method as base58 address decoding. This method strictly accepts only\n * Base58Address types, but WIF keys can be decoded with `decodePrivateKeyWif`.\n *\n * @param sha256 - an implementation of sha256 (a universal implementation is\n * available via `instantiateSha256`)\n * @param address - the string to decode as a base58 address\n */\nconst decodeBase58Address = (sha256, address) => {\n const decoded = decodeBase58AddressFormat(sha256, address);\n if (typeof decoded === 'string')\n return decoded;\n if (![\n Base58AddressFormatVersion.p2pkh,\n Base58AddressFormatVersion.p2sh,\n Base58AddressFormatVersion.p2pkhTestnet,\n Base58AddressFormatVersion.p2shTestnet,\n Base58AddressFormatVersion.p2pkhCopayBCH,\n Base58AddressFormatVersion.p2shCopayBCH,\n ].includes(decoded.version)) {\n return Base58AddressError.unknownAddressVersion;\n }\n const hash160Length = 20;\n if (decoded.payload.length !== hash160Length) {\n return Base58AddressError.incorrectLength;\n }\n return decoded;\n};\n//# sourceMappingURL=base58-address.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/address/base58-address.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/address/bech32.js": +/*!**************************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/address/bech32.js ***! + \**************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Bech32DecodingError: () => (/* binding */ Bech32DecodingError),\n/* harmony export */ BitRegroupingError: () => (/* binding */ BitRegroupingError),\n/* harmony export */ bech32CharacterSet: () => (/* binding */ bech32CharacterSet),\n/* harmony export */ bech32CharacterSetIndex: () => (/* binding */ bech32CharacterSetIndex),\n/* harmony export */ bech32PaddedToBin: () => (/* binding */ bech32PaddedToBin),\n/* harmony export */ binToBech32Padded: () => (/* binding */ binToBech32Padded),\n/* harmony export */ decodeBech32: () => (/* binding */ decodeBech32),\n/* harmony export */ encodeBech32: () => (/* binding */ encodeBech32),\n/* harmony export */ isBech32CharacterSet: () => (/* binding */ isBech32CharacterSet),\n/* harmony export */ regroupBits: () => (/* binding */ regroupBits)\n/* harmony export */ });\n/**\n * The list of 32 symbols used in Bech32 encoding.\n */\n// cspell: disable-next-line\nconst bech32CharacterSet = 'qpzry9x8gf2tvdw0s3jn54khce6mua7l';\n/**\n * An object mapping each of the 32 symbols used in Bech32 encoding to their respective index in the character set.\n */\n// prettier-ignore\nconst bech32CharacterSetIndex = { q: 0, p: 1, z: 2, r: 3, y: 4, '9': 5, x: 6, '8': 7, g: 8, f: 9, '2': 10, t: 11, v: 12, d: 13, w: 14, '0': 15, s: 16, '3': 17, j: 18, n: 19, '5': 20, '4': 21, k: 22, h: 23, c: 24, e: 25, '6': 26, m: 27, u: 28, a: 29, '7': 30, l: 31 }; // eslint-disable-line sort-keys\nvar BitRegroupingError;\n(function (BitRegroupingError) {\n BitRegroupingError[\"integerOutOfRange\"] = \"An integer provided in the source array is out of the range of the specified source word length.\";\n BitRegroupingError[\"hasDisallowedPadding\"] = \"Encountered padding when padding was disallowed.\";\n BitRegroupingError[\"requiresDisallowedPadding\"] = \"Encoding requires padding while padding is disallowed.\";\n})(BitRegroupingError || (BitRegroupingError = {}));\n/* eslint-disable functional/no-let, no-bitwise, functional/no-expression-statement, functional/no-conditional-statement, complexity */\n/**\n * Given an array of integers, regroup bits from `sourceWordLength` to\n * `resultWordLength`, returning a new array of integers between 0 and\n * toWordLength^2.\n *\n * Note, if `bin` is within the range of `sourceWordLength` and `padding` is\n * `true`, this method will never error.\n *\n * A.K.A. `convertbits`\n *\n * @param bin - an array of numbers representing the bits to regroup. Each item\n * must be a number within the range of `sourceWordLength`\n * @param sourceWordLength - the bit-length of each number in `bin`, e.g. to\n * regroup bits from a `Uint8Array`, use `8` (must be a positive integer)\n * @param resultWordLength - the bit-length of each number in the desired result\n * array, e.g. to regroup bits into 4-bit numbers, use `4` (must be a positive\n * integer)\n * @param allowPadding - whether to allow the use of padding for `bin` values\n * where the provided number of bits cannot be directly mapped to an equivalent\n * result array (remaining bits are filled with `0`), defaults to `true`\n * @privateRemarks\n * Derived from: https://github.com/sipa/bech32\n */\nconst regroupBits = ({ bin, sourceWordLength, resultWordLength, allowPadding = true, }) => {\n let accumulator = 0;\n let bits = 0;\n const result = [];\n const maxResultInt = (1 << resultWordLength) - 1;\n // eslint-disable-next-line functional/no-loop-statement, @typescript-eslint/prefer-for-of, no-plusplus\n for (let p = 0; p < bin.length; ++p) {\n const value = bin[p];\n if (value < 0 || value >> sourceWordLength !== 0) {\n return BitRegroupingError.integerOutOfRange;\n }\n accumulator = (accumulator << sourceWordLength) | value;\n bits += sourceWordLength;\n // eslint-disable-next-line functional/no-loop-statement\n while (bits >= resultWordLength) {\n bits -= resultWordLength;\n // eslint-disable-next-line functional/immutable-data\n result.push((accumulator >> bits) & maxResultInt);\n }\n }\n if (allowPadding) {\n if (bits > 0) {\n // eslint-disable-next-line functional/immutable-data\n result.push((accumulator << (resultWordLength - bits)) & maxResultInt);\n }\n }\n else if (bits >= sourceWordLength) {\n return BitRegroupingError.hasDisallowedPadding;\n }\n else if (((accumulator << (resultWordLength - bits)) & maxResultInt) > 0) {\n return BitRegroupingError.requiresDisallowedPadding;\n }\n return result;\n};\n/* eslint-enable functional/no-let, no-bitwise, functional/no-expression-statement, functional/no-conditional-statement, complexity */\n/**\n * Encode an array of numbers as a base32 string using the Bech32 character set.\n *\n * Note, this method always completes. For a valid result, all items in\n * `base32IntegerArray` must be between `0` and `32`.\n *\n * @param base32IntegerArray - the array of 5-bit integers to encode\n */\nconst encodeBech32 = (base32IntegerArray) => {\n // eslint-disable-next-line functional/no-let\n let result = '';\n // eslint-disable-next-line @typescript-eslint/prefer-for-of, functional/no-let, functional/no-loop-statement, no-plusplus\n for (let i = 0; i < base32IntegerArray.length; i++) {\n // eslint-disable-next-line functional/no-expression-statement\n result += bech32CharacterSet[base32IntegerArray[i]];\n }\n return result;\n};\n/**\n * Decode a Bech32-encoded string into an array of 5-bit integers.\n *\n * Note, this method always completes. If `validBech32` is not valid bech32,\n * an incorrect result will be returned. If `validBech32` is potentially\n * malformed, check it with `isBech32` before calling this method.\n *\n * @param validBech32 - the bech32-encoded string to decode\n */\nconst decodeBech32 = (validBech32) => {\n const result = [];\n // eslint-disable-next-line @typescript-eslint/prefer-for-of, functional/no-let, functional/no-loop-statement, no-plusplus\n for (let i = 0; i < validBech32.length; i++) {\n // eslint-disable-next-line functional/no-expression-statement, functional/immutable-data\n result.push(bech32CharacterSetIndex[validBech32[i]]);\n }\n return result;\n};\nconst nonBech32Characters = new RegExp(`[^${bech32CharacterSet}]`, 'u');\nconst base32WordLength = 5;\nconst base256WordLength = 8;\n/**\n * Validate that a string uses only characters from the bech32 character set.\n *\n * @param maybeBech32 - a string to test for valid Bech32 encoding\n */\nconst isBech32CharacterSet = (maybeBech32) => !nonBech32Characters.test(maybeBech32);\nvar Bech32DecodingError;\n(function (Bech32DecodingError) {\n Bech32DecodingError[\"notBech32CharacterSet\"] = \"Bech32 decoding error: input contains characters outside of the Bech32 character set.\";\n})(Bech32DecodingError || (Bech32DecodingError = {}));\n/**\n * Convert a padded bech32-encoded string (without checksum) to a Uint8Array,\n * removing the padding. If the string is not valid Bech32, or if the array of\n * 5-bit integers would require padding to be regrouped into 8-bit bytes, this\n * method returns an error message.\n *\n * This method is the reverse of `binToBech32Padded`.\n *\n * @param bech32Padded - the padded bech32-encoded string to decode\n */\nconst bech32PaddedToBin = (bech32Padded) => {\n const result = isBech32CharacterSet(bech32Padded)\n ? regroupBits({\n allowPadding: false,\n bin: decodeBech32(bech32Padded),\n resultWordLength: base256WordLength,\n sourceWordLength: base32WordLength,\n })\n : Bech32DecodingError.notBech32CharacterSet;\n return typeof result === 'string' ? result : Uint8Array.from(result);\n};\n/**\n * Convert a Uint8Array to a padded bech32-encoded string (without a checksum),\n * adding padding bits as necessary to convert all bytes to 5-bit integers.\n *\n * This method is the reverse of `bech32PaddedToBin`.\n *\n * @param bytes - the Uint8Array to bech32 encode\n */\nconst binToBech32Padded = (bytes) => encodeBech32(regroupBits({\n bin: bytes,\n resultWordLength: base32WordLength,\n sourceWordLength: base256WordLength,\n}));\n//# sourceMappingURL=bech32.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/address/bech32.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/address/cash-address.js": +/*!********************************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/address/cash-address.js ***! + \********************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CashAddressCorrectionError: () => (/* binding */ CashAddressCorrectionError),\n/* harmony export */ CashAddressDecodingError: () => (/* binding */ CashAddressDecodingError),\n/* harmony export */ CashAddressEncodingError: () => (/* binding */ CashAddressEncodingError),\n/* harmony export */ CashAddressNetworkPrefix: () => (/* binding */ CashAddressNetworkPrefix),\n/* harmony export */ CashAddressType: () => (/* binding */ CashAddressType),\n/* harmony export */ CashAddressVersionByte: () => (/* binding */ CashAddressVersionByte),\n/* harmony export */ CashAddressVersionByteDecodingError: () => (/* binding */ CashAddressVersionByteDecodingError),\n/* harmony export */ attemptCashAddressFormatErrorCorrection: () => (/* binding */ attemptCashAddressFormatErrorCorrection),\n/* harmony export */ cashAddressBitToSize: () => (/* binding */ cashAddressBitToSize),\n/* harmony export */ cashAddressChecksumToUint5Array: () => (/* binding */ cashAddressChecksumToUint5Array),\n/* harmony export */ cashAddressPolynomialModulo: () => (/* binding */ cashAddressPolynomialModulo),\n/* harmony export */ cashAddressPolynomialToCashAddress: () => (/* binding */ cashAddressPolynomialToCashAddress),\n/* harmony export */ cashAddressSizeToBit: () => (/* binding */ cashAddressSizeToBit),\n/* harmony export */ decodeCashAddress: () => (/* binding */ decodeCashAddress),\n/* harmony export */ decodeCashAddressFormat: () => (/* binding */ decodeCashAddressFormat),\n/* harmony export */ decodeCashAddressFormatWithoutPrefix: () => (/* binding */ decodeCashAddressFormatWithoutPrefix),\n/* harmony export */ decodeCashAddressVersionByte: () => (/* binding */ decodeCashAddressVersionByte),\n/* harmony export */ encodeCashAddress: () => (/* binding */ encodeCashAddress),\n/* harmony export */ encodeCashAddressFormat: () => (/* binding */ encodeCashAddressFormat),\n/* harmony export */ encodeCashAddressVersionByte: () => (/* binding */ encodeCashAddressVersionByte),\n/* harmony export */ maskCashAddressPrefix: () => (/* binding */ maskCashAddressPrefix)\n/* harmony export */ });\n/* harmony import */ var _bech32__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./bech32 */ \"./node_modules/@bitauth/libauth/build/module/lib/address/bech32.js\");\n\nvar CashAddressNetworkPrefix;\n(function (CashAddressNetworkPrefix) {\n CashAddressNetworkPrefix[\"mainnet\"] = \"bitcoincash\";\n CashAddressNetworkPrefix[\"testnet\"] = \"bchtest\";\n CashAddressNetworkPrefix[\"regtest\"] = \"bchreg\";\n})(CashAddressNetworkPrefix || (CashAddressNetworkPrefix = {}));\nconst cashAddressBitToSize = {\n 0: 160,\n 1: 192,\n 2: 224,\n 3: 256,\n 4: 320,\n 5: 384,\n 6: 448,\n 7: 512,\n};\nconst cashAddressSizeToBit = {\n 160: 0,\n 192: 1,\n 224: 2,\n 256: 3,\n 320: 4,\n 384: 5,\n 448: 6,\n 512: 7,\n};\n/**\n * The CashAddress specification standardizes the format of the version byte:\n * - Most significant bit: reserved, must be `0`\n * - next 4 bits: Address Type\n * - 3 least significant bits: Hash Size\n *\n * Only two Address Type values are currently standardized:\n * - 0 (`0b0000`): P2PKH\n * - 1 (`0b0001`): P2SH\n *\n * While both P2PKH and P2SH addresses always use 160 bit hashes, the\n * CashAddress specification standardizes other sizes for future use (or use by\n * other systems), see `CashAddressSizeBit`.\n *\n * With these constraints, only two version byte values are currently standard.\n */\nvar CashAddressVersionByte;\n(function (CashAddressVersionByte) {\n /**\n * Pay to Public Key Hash (P2PKH): `0b00000000`\n *\n * - Most significant bit: `0` (reserved)\n * - Address Type bits: `0000` (P2PKH)\n * - Size bits: `000` (160 bits)\n */\n CashAddressVersionByte[CashAddressVersionByte[\"P2PKH\"] = 0] = \"P2PKH\";\n /**\n * Pay to Script Hash (P2SH): `0b00001000`\n *\n * - Most significant bit: `0` (reserved)\n * - Address Type bits: `0001` (P2SH)\n * - Size bits: `000` (160 bits)\n */\n CashAddressVersionByte[CashAddressVersionByte[\"P2SH\"] = 8] = \"P2SH\";\n})(CashAddressVersionByte || (CashAddressVersionByte = {}));\n/**\n * The address types currently defined in the CashAddress specification. See\n * also: `CashAddressVersionByte`.\n */\nvar CashAddressType;\n(function (CashAddressType) {\n /**\n * Pay to Public Key Hash (P2PKH)\n */\n CashAddressType[CashAddressType[\"P2PKH\"] = 0] = \"P2PKH\";\n /**\n * Pay to Script Hash (P2SH)\n */\n CashAddressType[CashAddressType[\"P2SH\"] = 1] = \"P2SH\";\n})(CashAddressType || (CashAddressType = {}));\nconst cashAddressTypeBitShift = 3;\n/**\n * Encode a CashAddress version byte for the given address type and hash length.\n * See `CashAddressVersionByte` for more information.\n *\n * The `type` parameter must be a number between `0` and `15`, and `bitLength`\n * must be one of the standardized lengths. To use the contents of a variable,\n * cast it to `CashAddressType` or `CashAddressSize` respectively, e.g.:\n * ```ts\n * const type = 3 as CashAddressType;\n * const size = 160 as CashAddressSize;\n * getCashAddressVersionByte(type, size);\n * ```\n * @param type - the address type of the hash being encoded\n * @param bitLength - the bit length of the hash being encoded\n */\nconst encodeCashAddressVersionByte = (type, bitLength\n// eslint-disable-next-line no-bitwise\n) => (type << cashAddressTypeBitShift) | cashAddressSizeToBit[bitLength];\nconst cashAddressReservedBitMask = 0b10000000;\nconst cashAddressTypeBits = 0b1111;\nconst cashAddressSizeBits = 0b111;\nconst empty = 0;\nvar CashAddressVersionByteDecodingError;\n(function (CashAddressVersionByteDecodingError) {\n CashAddressVersionByteDecodingError[\"reservedBitSet\"] = \"Reserved bit is set.\";\n})(CashAddressVersionByteDecodingError || (CashAddressVersionByteDecodingError = {}));\n/**\n * Decode a CashAddress version byte.\n * @param version - the version byte to decode\n */\nconst decodeCashAddressVersionByte = (version) => \n// eslint-disable-next-line no-negated-condition, no-bitwise\n(version & cashAddressReservedBitMask) !== empty\n ? CashAddressVersionByteDecodingError.reservedBitSet\n : {\n bitLength: cashAddressBitToSize[\n // eslint-disable-next-line no-bitwise\n (version & cashAddressSizeBits)],\n // eslint-disable-next-line no-bitwise\n type: (version >>> cashAddressTypeBitShift) & cashAddressTypeBits,\n };\n/**\n * In ASCII, each pair of upper and lower case characters share the same 5 least\n * significant bits.\n */\nconst asciiCaseInsensitiveBits = 0b11111;\n/**\n * Convert a string into an array of 5-bit numbers, representing the\n * characters in a case-insensitive way.\n * @param prefix - the prefix to mask\n */\nconst maskCashAddressPrefix = (prefix) => {\n const result = [];\n // eslint-disable-next-line functional/no-let, functional/no-loop-statement, no-plusplus\n for (let i = 0; i < prefix.length; i++) {\n // eslint-disable-next-line functional/no-expression-statement, no-bitwise, functional/immutable-data\n result.push(prefix.charCodeAt(i) & asciiCaseInsensitiveBits);\n }\n return result;\n};\n// prettier-ignore\nconst bech32GeneratorMostSignificantByte = [0x98, 0x79, 0xf3, 0xae, 0x1e]; // eslint-disable-line @typescript-eslint/no-magic-numbers\n// prettier-ignore\nconst bech32GeneratorRemainingBytes = [0xf2bc8e61, 0xb76d99e2, 0x3e5fb3c4, 0x2eabe2a8, 0x4f43e470]; // eslint-disable-line @typescript-eslint/no-magic-numbers\n/**\n * Perform the CashAddress polynomial modulo operation, which is based on the\n * Bech32 polynomial modulo operation, but the returned checksum is 40 bits,\n * rather than 30.\n *\n * A.K.A. `PolyMod`\n *\n * @remarks\n * Notes from Bitcoin ABC:\n * This function will compute what 8 5-bit values to XOR into the last 8 input\n * values, in order to make the checksum 0. These 8 values are packed together\n * in a single 40-bit integer. The higher bits correspond to earlier values.\n *\n * The input is interpreted as a list of coefficients of a polynomial over F\n * = GF(32), with an implicit 1 in front. If the input is [v0,v1,v2,v3,v4],\n * that polynomial is v(x) = 1*x^5 + v0*x^4 + v1*x^3 + v2*x^2 + v3*x + v4.\n * The implicit 1 guarantees that [v0,v1,v2,...] has a distinct checksum\n * from [0,v0,v1,v2,...].\n *\n * The output is a 40-bit integer whose 5-bit groups are the coefficients of\n * the remainder of v(x) mod g(x), where g(x) is the cashaddr generator, x^8\n * + [19]*x^7 + [3]*x^6 + [25]*x^5 + [11]*x^4 + [25]*x^3 + [3]*x^2 + [19]*x\n * + [1]. g(x) is chosen in such a way that the resulting code is a BCH\n * code, guaranteeing detection of up to 4 errors within a window of 1025\n * characters. Among the various possible BCH codes, one was selected to in\n * fact guarantee detection of up to 5 errors within a window of 160\n * characters and 6 errors within a window of 126 characters. In addition,\n * the code guarantee the detection of a burst of up to 8 errors.\n *\n * Note that the coefficients are elements of GF(32), here represented as\n * decimal numbers between []. In this finite field, addition is just XOR of\n * the corresponding numbers. For example, [27] + [13] = [27 ^ 13] = [22].\n * Multiplication is more complicated, and requires treating the bits of\n * values themselves as coefficients of a polynomial over a smaller field,\n * GF(2), and multiplying those polynomials mod a^5 + a^3 + 1. For example,\n * [5] * [26] = (a^2 + 1) * (a^4 + a^3 + a) = (a^4 + a^3 + a) * a^2 + (a^4 +\n * a^3 + a) = a^6 + a^5 + a^4 + a = a^3 + 1 (mod a^5 + a^3 + 1) = [9].\n *\n * During the course of the loop below, `c` contains the bit-packed\n * coefficients of the polynomial constructed from just the values of v that\n * were processed so far, mod g(x). In the above example, `c` initially\n * corresponds to 1 mod (x), and after processing 2 inputs of v, it\n * corresponds to x^2 + v0*x + v1 mod g(x). As 1 mod g(x) = 1, that is the\n * starting value for `c`.\n *\n * @privateRemarks\n * Derived from the `bitcore-lib-cash` implementation, which does not require\n * BigInt: https://github.com/bitpay/bitcore\n *\n * @param v - Array of 5-bit integers over which the checksum is to be computed\n */\nconst cashAddressPolynomialModulo = (v) => {\n /* eslint-disable functional/no-let, functional/no-loop-statement, functional/no-expression-statement, no-bitwise, @typescript-eslint/no-magic-numbers */\n let mostSignificantByte = 0;\n let lowerBytes = 1;\n let c = 0;\n // eslint-disable-next-line @typescript-eslint/prefer-for-of, no-plusplus\n for (let j = 0; j < v.length; j++) {\n c = mostSignificantByte >>> 3;\n mostSignificantByte &= 0x07;\n mostSignificantByte <<= 5;\n mostSignificantByte |= lowerBytes >>> 27;\n lowerBytes &= 0x07ffffff;\n lowerBytes <<= 5;\n lowerBytes ^= v[j];\n // eslint-disable-next-line no-plusplus\n for (let i = 0; i < bech32GeneratorMostSignificantByte.length; ++i) {\n // eslint-disable-next-line functional/no-conditional-statement\n if (c & (1 << i)) {\n mostSignificantByte ^= bech32GeneratorMostSignificantByte[i];\n lowerBytes ^= bech32GeneratorRemainingBytes[i];\n }\n }\n }\n lowerBytes ^= 1;\n // eslint-disable-next-line functional/no-conditional-statement\n if (lowerBytes < 0) {\n lowerBytes ^= 1 << 31;\n lowerBytes += (1 << 30) * 2;\n }\n return mostSignificantByte * (1 << 30) * 4 + lowerBytes;\n /* eslint-enable functional/no-let, functional/no-loop-statement, functional/no-expression-statement, no-bitwise, @typescript-eslint/no-magic-numbers */\n};\nconst base32WordLength = 5;\nconst base256WordLength = 8;\n/**\n * Convert the checksum returned by `cashAddressPolynomialModulo` to an array of\n * 5-bit positive integers which can be Base32 encoded.\n * @param checksum - a 40 bit checksum returned by `cashAddressPolynomialModulo`\n */\nconst cashAddressChecksumToUint5Array = (checksum) => {\n const result = [];\n // eslint-disable-next-line functional/no-let, functional/no-loop-statement, no-plusplus\n for (let i = 0; i < base256WordLength; ++i) {\n // eslint-disable-next-line functional/no-expression-statement, no-bitwise, @typescript-eslint/no-magic-numbers, functional/immutable-data\n result.push(checksum & 31);\n // eslint-disable-next-line functional/no-expression-statement, @typescript-eslint/no-magic-numbers, no-param-reassign\n checksum /= 32;\n }\n // eslint-disable-next-line functional/immutable-data\n return result.reverse();\n};\nconst payloadSeparator = 0;\n/**\n * Encode a hash as a CashAddress-like string using the CashAddress format.\n *\n * To encode a standard CashAddress, use `encodeCashAddress`.\n *\n * @param prefix - a valid prefix indicating the network for which to encode the\n * address – must be only lowercase letters\n * @param version - a single byte indicating the version of this address\n * @param hash - the hash to encode\n */\nconst encodeCashAddressFormat = (prefix, version, hash) => {\n const checksum40BitPlaceholder = [0, 0, 0, 0, 0, 0, 0, 0];\n const payloadContents = (0,_bech32__WEBPACK_IMPORTED_MODULE_0__.regroupBits)({\n bin: Uint8Array.from([version, ...hash]),\n resultWordLength: base32WordLength,\n sourceWordLength: base256WordLength,\n });\n const checksumContents = [\n ...maskCashAddressPrefix(prefix),\n payloadSeparator,\n ...payloadContents,\n ...checksum40BitPlaceholder,\n ];\n const checksum = cashAddressPolynomialModulo(checksumContents);\n const payload = [\n ...payloadContents,\n ...cashAddressChecksumToUint5Array(checksum),\n ];\n return `${prefix}:${(0,_bech32__WEBPACK_IMPORTED_MODULE_0__.encodeBech32)(payload)}`;\n};\nvar CashAddressEncodingError;\n(function (CashAddressEncodingError) {\n CashAddressEncodingError[\"unsupportedHashLength\"] = \"CashAddress encoding error: a hash of this length can not be encoded as a valid CashAddress.\";\n})(CashAddressEncodingError || (CashAddressEncodingError = {}));\nconst isValidBitLength = (bitLength) => cashAddressSizeToBit[bitLength] !== undefined;\n/**\n * Encode a hash as a CashAddress.\n *\n * Note, this method does not enforce error handling via the type system. The\n * returned string may be a `CashAddressEncodingError.unsupportedHashLength`\n * if `hash` is not a valid length. Check the result if the input is potentially\n * malformed.\n *\n * For other address standards which closely follow the CashAddress\n * specification (but have alternative version byte requirements), use\n * `encodeCashAddressFormat`.\n *\n * @param prefix - a valid prefix indicating the network for which to encode the\n * address (usually a `CashAddressNetworkPrefix`) – must be only lowercase\n * letters\n * @param type - the `CashAddressType` to encode in the version byte – usually a\n * `CashAddressType`\n * @param hash - the hash to encode (for P2PKH, the public key hash; for P2SH,\n * the redeeming bytecode hash)\n */\nconst encodeCashAddress = (prefix, type, hash) => {\n const bitLength = hash.length * base256WordLength;\n if (!isValidBitLength(bitLength)) {\n return CashAddressEncodingError.unsupportedHashLength;\n }\n return encodeCashAddressFormat(prefix, encodeCashAddressVersionByte(type, bitLength), hash);\n};\nvar CashAddressDecodingError;\n(function (CashAddressDecodingError) {\n CashAddressDecodingError[\"improperPadding\"] = \"CashAddress decoding error: the payload is improperly padded.\";\n CashAddressDecodingError[\"invalidCharacters\"] = \"CashAddress decoding error: the payload contains non-bech32 characters.\";\n CashAddressDecodingError[\"invalidChecksum\"] = \"CashAddress decoding error: invalid checksum \\u2013 please review the address for errors.\";\n CashAddressDecodingError[\"invalidFormat\"] = \"CashAddress decoding error: CashAddresses should be of the form \\\"prefix:payload\\\".\";\n CashAddressDecodingError[\"mismatchedHashLength\"] = \"CashAddress decoding error: mismatched hash length for specified address version.\";\n CashAddressDecodingError[\"reservedByte\"] = \"CashAddress decoding error: unknown CashAddress version, reserved byte set.\";\n})(CashAddressDecodingError || (CashAddressDecodingError = {}));\n/**\n * Decode and validate a string using the CashAddress format. This is more\n * lenient than `decodeCashAddress`, which also validates the contents of the\n * version byte.\n *\n * Note, this method requires `address` to include a network prefix. To\n * decode a string with an unknown prefix, try\n * `decodeCashAddressFormatWithoutPrefix`.\n *\n * @param address - the CashAddress-like string to decode\n */\n// eslint-disable-next-line complexity\nconst decodeCashAddressFormat = (address) => {\n const parts = address.toLowerCase().split(':');\n // eslint-disable-next-line @typescript-eslint/no-magic-numbers\n if (parts.length !== 2 || parts[0] === '' || parts[1] === '') {\n return CashAddressDecodingError.invalidFormat;\n }\n const [prefix, payload] = parts;\n if (!(0,_bech32__WEBPACK_IMPORTED_MODULE_0__.isBech32CharacterSet)(payload)) {\n return CashAddressDecodingError.invalidCharacters;\n }\n const decodedPayload = (0,_bech32__WEBPACK_IMPORTED_MODULE_0__.decodeBech32)(payload);\n const polynomial = [\n ...maskCashAddressPrefix(prefix),\n payloadSeparator,\n ...decodedPayload,\n ];\n if (cashAddressPolynomialModulo(polynomial) !== 0) {\n return CashAddressDecodingError.invalidChecksum;\n }\n const checksum40BitPlaceholderLength = 8;\n const payloadContents = (0,_bech32__WEBPACK_IMPORTED_MODULE_0__.regroupBits)({\n allowPadding: false,\n bin: decodedPayload.slice(0, -checksum40BitPlaceholderLength),\n resultWordLength: base256WordLength,\n sourceWordLength: base32WordLength,\n });\n if (typeof payloadContents === 'string') {\n return CashAddressDecodingError.improperPadding;\n }\n const [version, ...hashContents] = payloadContents;\n const hash = Uint8Array.from(hashContents);\n return { hash, prefix, version };\n};\n/**\n * Decode and validate a CashAddress, strictly checking the version byte\n * according to the CashAddress specification. This is important for error\n * detection in CashAddresses.\n *\n * For other address-like standards which closely follow the CashAddress\n * specification (but have alternative version byte requirements), use\n * `decodeCashAddressFormat`.\n *\n * Note, this method requires that CashAddresses include a network prefix. To\n * decode an address with an unknown prefix, try\n * `decodeCashAddressFormatWithoutPrefix`.\n *\n * @param address - the CashAddress to decode\n */\nconst decodeCashAddress = (address) => {\n const decoded = decodeCashAddressFormat(address);\n if (typeof decoded === 'string') {\n return decoded;\n }\n const info = decodeCashAddressVersionByte(decoded.version);\n if (info === CashAddressVersionByteDecodingError.reservedBitSet) {\n return CashAddressDecodingError.reservedByte;\n }\n if (decoded.hash.length * base256WordLength !== info.bitLength) {\n return CashAddressDecodingError.mismatchedHashLength;\n }\n return {\n hash: decoded.hash,\n prefix: decoded.prefix,\n type: info.type,\n };\n};\n/**\n * Attempt to decode and validate a CashAddress against a list of possible\n * prefixes. If the correct prefix is known, use `decodeCashAddress`.\n *\n * @param address - the CashAddress to decode\n * @param possiblePrefixes - the network prefixes to try\n */\n// decodeCashAddressWithoutPrefix\nconst decodeCashAddressFormatWithoutPrefix = (address, possiblePrefixes = [\n CashAddressNetworkPrefix.mainnet,\n CashAddressNetworkPrefix.testnet,\n CashAddressNetworkPrefix.regtest,\n]) => {\n // eslint-disable-next-line functional/no-loop-statement\n for (const prefix of possiblePrefixes) {\n const attempt = decodeCashAddressFormat(`${prefix}:${address}`);\n if (attempt !== CashAddressDecodingError.invalidChecksum) {\n return attempt;\n }\n }\n return CashAddressDecodingError.invalidChecksum;\n};\nconst asciiLowerCaseStart = 96;\n/**\n * Convert a CashAddress polynomial to CashAddress string format.\n *\n * @remarks\n * CashAddress polynomials take the form:\n *\n * `[lowest 5 bits of each prefix character] 0 [payload + checksum]`\n *\n * This method remaps the 5-bit integers in the prefix location to the matching\n * ASCII lowercase characters, replaces the separator with `:`, and then Bech32\n * encodes the remaining payload and checksum.\n *\n * @param polynomial - an array of 5-bit integers representing the terms of a\n * CashAddress polynomial\n */\nconst cashAddressPolynomialToCashAddress = (polynomial) => {\n const separatorPosition = polynomial.indexOf(0);\n const prefix = polynomial\n .slice(0, separatorPosition)\n .map((integer) => String.fromCharCode(asciiLowerCaseStart + integer))\n .join('');\n const contents = (0,_bech32__WEBPACK_IMPORTED_MODULE_0__.encodeBech32)(polynomial.slice(separatorPosition + 1));\n return `${prefix}:${contents}`;\n};\nvar CashAddressCorrectionError;\n(function (CashAddressCorrectionError) {\n CashAddressCorrectionError[\"tooManyErrors\"] = \"This address has more than 2 errors and cannot be corrected.\";\n})(CashAddressCorrectionError || (CashAddressCorrectionError = {}));\nconst finiteFieldOrder = 32;\n/**\n * Attempt to correct up to 2 errors in a CashAddress. The CashAddress must be\n * properly formed (include a prefix and only contain Bech32 characters).\n *\n * ## **Improper use of this method carries the risk of lost funds.**\n *\n * It is strongly advised that this method only be used under explicit user\n * control. With enough errors, this method is likely to find a plausible\n * correction for any address (but for which no private key exists). This is\n * effectively equivalent to burning the funds.\n *\n * Only 2 substitution errors can be corrected (or a single swap) – deletions\n * and insertions (errors which shift many other characters and change the\n * length of the payload) can never be safely corrected and will produce an\n * error.\n *\n * Errors can be corrected in both the prefix and the payload, but attempting to\n * correct errors in the prefix prior to this method can improve results, e.g.\n * for `bchtest:qq2azmyyv6dtgczexyalqar70q036yund53jvfde0x`, the string\n * `bchtest:qq2azmyyv6dtgczexyalqar70q036yund53jvfdecc` can be corrected, while\n * `typo:qq2azmyyv6dtgczexyalqar70q036yund53jvfdecc` can not.\n *\n * @privateRemarks\n * Derived from: https://github.com/deadalnix/cashaddressed\n *\n * @param address - the CashAddress on which to attempt error correction\n */\n// eslint-disable-next-line complexity\nconst attemptCashAddressFormatErrorCorrection = (address) => {\n const parts = address.toLowerCase().split(':');\n // eslint-disable-next-line @typescript-eslint/no-magic-numbers\n if (parts.length !== 2 || parts[0] === '' || parts[1] === '') {\n return CashAddressDecodingError.invalidFormat;\n }\n const [prefix, payload] = parts;\n if (!(0,_bech32__WEBPACK_IMPORTED_MODULE_0__.isBech32CharacterSet)(payload)) {\n return CashAddressDecodingError.invalidCharacters;\n }\n const decodedPayload = (0,_bech32__WEBPACK_IMPORTED_MODULE_0__.decodeBech32)(payload);\n const polynomial = [...maskCashAddressPrefix(prefix), 0, ...decodedPayload];\n const originalChecksum = cashAddressPolynomialModulo(polynomial);\n if (originalChecksum === 0) {\n return {\n address: cashAddressPolynomialToCashAddress(polynomial),\n corrections: [],\n };\n }\n const syndromes = {};\n // eslint-disable-next-line functional/no-let, functional/no-loop-statement, no-plusplus\n for (let term = 0; term < polynomial.length; term++) {\n // eslint-disable-next-line functional/no-let, functional/no-loop-statement, no-plusplus\n for (let errorVector = 1; errorVector < finiteFieldOrder; errorVector++) {\n // eslint-disable-next-line functional/no-expression-statement, no-bitwise, functional/immutable-data\n polynomial[term] ^= errorVector;\n const correct = cashAddressPolynomialModulo(polynomial);\n if (correct === 0) {\n return {\n address: cashAddressPolynomialToCashAddress(polynomial),\n corrections: [term],\n };\n }\n // eslint-disable-next-line no-bitwise\n const s0 = (BigInt(correct) ^ BigInt(originalChecksum)).toString();\n // eslint-disable-next-line functional/no-expression-statement, functional/immutable-data\n syndromes[s0] = term * finiteFieldOrder + errorVector;\n // eslint-disable-next-line functional/no-expression-statement, no-bitwise, functional/immutable-data\n polynomial[term] ^= errorVector;\n }\n }\n // eslint-disable-next-line functional/no-loop-statement\n for (const [s0, pe] of Object.entries(syndromes)) {\n // eslint-disable-next-line no-bitwise\n const s1Location = (BigInt(s0) ^ BigInt(originalChecksum)).toString();\n const s1 = syndromes[s1Location];\n if (s1 !== undefined) {\n const correctionIndex1 = Math.trunc(pe / finiteFieldOrder);\n const correctionIndex2 = Math.trunc(s1 / finiteFieldOrder);\n // eslint-disable-next-line functional/no-expression-statement, no-bitwise, functional/immutable-data\n polynomial[correctionIndex1] ^= pe % finiteFieldOrder;\n // eslint-disable-next-line functional/no-expression-statement, no-bitwise, functional/immutable-data\n polynomial[correctionIndex2] ^= s1 % finiteFieldOrder;\n return {\n address: cashAddressPolynomialToCashAddress(polynomial),\n corrections: [correctionIndex1, correctionIndex2].sort((a, b) => a - b),\n };\n }\n }\n return CashAddressCorrectionError.tooManyErrors;\n};\n//# sourceMappingURL=cash-address.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/address/cash-address.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/address/locking-bytecode.js": +/*!************************************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/address/locking-bytecode.js ***! + \************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AddressType: () => (/* binding */ AddressType),\n/* harmony export */ LockingBytecodeEncodingError: () => (/* binding */ LockingBytecodeEncodingError),\n/* harmony export */ addressContentsToLockingBytecode: () => (/* binding */ addressContentsToLockingBytecode),\n/* harmony export */ base58AddressToLockingBytecode: () => (/* binding */ base58AddressToLockingBytecode),\n/* harmony export */ cashAddressToLockingBytecode: () => (/* binding */ cashAddressToLockingBytecode),\n/* harmony export */ lockingBytecodeToAddressContents: () => (/* binding */ lockingBytecodeToAddressContents),\n/* harmony export */ lockingBytecodeToBase58Address: () => (/* binding */ lockingBytecodeToBase58Address),\n/* harmony export */ lockingBytecodeToCashAddress: () => (/* binding */ lockingBytecodeToCashAddress)\n/* harmony export */ });\n/* harmony import */ var _vm_instruction_sets_common_opcodes__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../vm/instruction-sets/common/opcodes */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/opcodes.js\");\n/* harmony import */ var _base58_address__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./base58-address */ \"./node_modules/@bitauth/libauth/build/module/lib/address/base58-address.js\");\n/* harmony import */ var _cash_address__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./cash-address */ \"./node_modules/@bitauth/libauth/build/module/lib/address/cash-address.js\");\n\n\n\n/**\n * The most common address types used on bitcoin and bitcoin-like networks. Each\n * address type represents a commonly used locking bytecode pattern.\n *\n * @remarks\n * Addresses are strings which encode information about the network and\n * `lockingBytecode` to which a transaction output can pay.\n *\n * Several address formats exist – `Base58Address` was the format used by the\n * original satoshi client, and is still in use on several active chains (see\n * `encodeBase58Address`). On Bitcoin Cash, the `CashAddress` standard is most\n * common (See `encodeCashAddress`).\n */\nvar AddressType;\n(function (AddressType) {\n /**\n * Pay to Public Key (P2PK). This address type is uncommon, and primarily\n * occurs in early blocks because the original satoshi implementation mined\n * rewards to P2PK addresses.\n *\n * There are no standardized address formats for representing a P2PK address.\n * Instead, most applications use the `AddressType.p2pkh` format.\n */\n AddressType[\"p2pk\"] = \"P2PK\";\n /**\n * Pay to Public Key Hash (P2PKH). The most common address type. P2PKH\n * addresses lock funds using a single private key.\n */\n AddressType[\"p2pkh\"] = \"P2PKH\";\n /**\n * Pay to Script Hash (P2SH). An address type which locks funds to the hash of\n * a script provided in the spending transaction. See BIP13 for details.\n */\n AddressType[\"p2sh\"] = \"P2SH\";\n /**\n * This `AddressType` represents an address using an unknown or uncommon\n * locking bytecode pattern for which no standardized address formats exist.\n */\n AddressType[\"unknown\"] = \"unknown\";\n})(AddressType || (AddressType = {}));\n/**\n * Attempt to match a lockingBytecode to a standard address type for use in\n * address encoding. (See `AddressType` for details.)\n *\n * For a locking bytecode matching the Pay to Public Key Hash (P2PKH) pattern,\n * the returned `type` is `AddressType.p2pkh` and `payload` is the `HASH160` of\n * the public key.\n *\n * For a locking bytecode matching the Pay to Script Hash (P2SH) pattern, the\n * returned `type` is `AddressType.p2sh` and `payload` is the `HASH160` of the\n * redeeming bytecode, A.K.A. \"redeem script hash\".\n *\n * For a locking bytecode matching the Pay to Public Key (P2PK) pattern, the\n * returned `type` is `AddressType.p2pk` and `payload` is the full public key.\n *\n * Any other locking bytecode will return a `type` of `AddressType.unknown` and\n * a payload of the unmodified `bytecode`.\n *\n * @param bytecode - the locking bytecode to match\n */\n// eslint-disable-next-line complexity\nconst lockingBytecodeToAddressContents = (bytecode) => {\n const p2pkhLength = 25;\n if (bytecode.length === p2pkhLength &&\n bytecode[0] === _vm_instruction_sets_common_opcodes__WEBPACK_IMPORTED_MODULE_0__.OpcodesCommon.OP_DUP &&\n bytecode[1] === _vm_instruction_sets_common_opcodes__WEBPACK_IMPORTED_MODULE_0__.OpcodesCommon.OP_HASH160 &&\n bytecode[2] === _vm_instruction_sets_common_opcodes__WEBPACK_IMPORTED_MODULE_0__.OpcodesCommon.OP_PUSHBYTES_20 &&\n bytecode[23] === _vm_instruction_sets_common_opcodes__WEBPACK_IMPORTED_MODULE_0__.OpcodesCommon.OP_EQUALVERIFY &&\n bytecode[24] === _vm_instruction_sets_common_opcodes__WEBPACK_IMPORTED_MODULE_0__.OpcodesCommon.OP_CHECKSIG) {\n const start = 3;\n const end = 23;\n return { payload: bytecode.slice(start, end), type: AddressType.p2pkh };\n }\n const p2shLength = 23;\n if (bytecode.length === p2shLength &&\n bytecode[0] === _vm_instruction_sets_common_opcodes__WEBPACK_IMPORTED_MODULE_0__.OpcodesCommon.OP_HASH160 &&\n bytecode[1] === _vm_instruction_sets_common_opcodes__WEBPACK_IMPORTED_MODULE_0__.OpcodesCommon.OP_PUSHBYTES_20 &&\n bytecode[22] === _vm_instruction_sets_common_opcodes__WEBPACK_IMPORTED_MODULE_0__.OpcodesCommon.OP_EQUAL) {\n const start = 2;\n const end = 22;\n return { payload: bytecode.slice(start, end), type: AddressType.p2sh };\n }\n const p2pkUncompressedLength = 67;\n if (bytecode.length === p2pkUncompressedLength &&\n bytecode[0] === _vm_instruction_sets_common_opcodes__WEBPACK_IMPORTED_MODULE_0__.OpcodesCommon.OP_PUSHBYTES_65 &&\n bytecode[66] === _vm_instruction_sets_common_opcodes__WEBPACK_IMPORTED_MODULE_0__.OpcodesCommon.OP_CHECKSIG) {\n const start = 1;\n const end = 66;\n return { payload: bytecode.slice(start, end), type: AddressType.p2pk };\n }\n const p2pkCompressedLength = 35;\n if (bytecode.length === p2pkCompressedLength &&\n bytecode[0] === _vm_instruction_sets_common_opcodes__WEBPACK_IMPORTED_MODULE_0__.OpcodesCommon.OP_PUSHBYTES_33 &&\n bytecode[34] === _vm_instruction_sets_common_opcodes__WEBPACK_IMPORTED_MODULE_0__.OpcodesCommon.OP_CHECKSIG) {\n const start = 1;\n const end = 34;\n return { payload: bytecode.slice(start, end), type: AddressType.p2pk };\n }\n return {\n payload: bytecode.slice(),\n type: AddressType.unknown,\n };\n};\n/**\n * Get the locking bytecode for a valid `AddressContents` object. See\n * `lockingBytecodeToAddressContents` for details.\n *\n * For `AddressContents` of `type` `AddressType.unknown`, this method returns\n * the `payload` without modification.\n *\n * @param addressContents - the `AddressContents` to encode\n */\nconst addressContentsToLockingBytecode = (addressContents) => {\n if (addressContents.type === AddressType.p2pkh) {\n return Uint8Array.from([\n _vm_instruction_sets_common_opcodes__WEBPACK_IMPORTED_MODULE_0__.OpcodesCommon.OP_DUP,\n _vm_instruction_sets_common_opcodes__WEBPACK_IMPORTED_MODULE_0__.OpcodesCommon.OP_HASH160,\n _vm_instruction_sets_common_opcodes__WEBPACK_IMPORTED_MODULE_0__.OpcodesCommon.OP_PUSHBYTES_20,\n ...addressContents.payload,\n _vm_instruction_sets_common_opcodes__WEBPACK_IMPORTED_MODULE_0__.OpcodesCommon.OP_EQUALVERIFY,\n _vm_instruction_sets_common_opcodes__WEBPACK_IMPORTED_MODULE_0__.OpcodesCommon.OP_CHECKSIG,\n ]);\n }\n if (addressContents.type === AddressType.p2sh) {\n return Uint8Array.from([\n _vm_instruction_sets_common_opcodes__WEBPACK_IMPORTED_MODULE_0__.OpcodesCommon.OP_HASH160,\n _vm_instruction_sets_common_opcodes__WEBPACK_IMPORTED_MODULE_0__.OpcodesCommon.OP_PUSHBYTES_20,\n ...addressContents.payload,\n _vm_instruction_sets_common_opcodes__WEBPACK_IMPORTED_MODULE_0__.OpcodesCommon.OP_EQUAL,\n ]);\n }\n if (addressContents.type === AddressType.p2pk) {\n const compressedPublicKeyLength = 33;\n return addressContents.payload.length === compressedPublicKeyLength\n ? Uint8Array.from([\n _vm_instruction_sets_common_opcodes__WEBPACK_IMPORTED_MODULE_0__.OpcodesCommon.OP_PUSHBYTES_33,\n ...addressContents.payload,\n _vm_instruction_sets_common_opcodes__WEBPACK_IMPORTED_MODULE_0__.OpcodesCommon.OP_CHECKSIG,\n ])\n : Uint8Array.from([\n _vm_instruction_sets_common_opcodes__WEBPACK_IMPORTED_MODULE_0__.OpcodesCommon.OP_PUSHBYTES_65,\n ...addressContents.payload,\n _vm_instruction_sets_common_opcodes__WEBPACK_IMPORTED_MODULE_0__.OpcodesCommon.OP_CHECKSIG,\n ]);\n }\n return addressContents.payload;\n};\n/**\n * Encode a locking bytecode as a CashAddress given a network prefix.\n *\n * If `bytecode` matches either the P2PKH or P2SH pattern, it is encoded using\n * the proper address type and returned as a valid CashAddress (string).\n *\n * If `bytecode` cannot be encoded as an address (i.e. because the pattern is\n * not standard), the resulting `AddressContents` is returned.\n *\n * @param bytecode - the locking bytecode to encode\n * @param prefix - the network prefix to use, e.g. `bitcoincash`, `bchtest`, or\n * `bchreg`\n */\nconst lockingBytecodeToCashAddress = (bytecode, prefix) => {\n const contents = lockingBytecodeToAddressContents(bytecode);\n if (contents.type === AddressType.p2pkh) {\n return (0,_cash_address__WEBPACK_IMPORTED_MODULE_1__.encodeCashAddress)(prefix, _cash_address__WEBPACK_IMPORTED_MODULE_1__.CashAddressType.P2PKH, contents.payload);\n }\n if (contents.type === AddressType.p2sh) {\n return (0,_cash_address__WEBPACK_IMPORTED_MODULE_1__.encodeCashAddress)(prefix, _cash_address__WEBPACK_IMPORTED_MODULE_1__.CashAddressType.P2SH, contents.payload);\n }\n return contents;\n};\nvar LockingBytecodeEncodingError;\n(function (LockingBytecodeEncodingError) {\n LockingBytecodeEncodingError[\"unknownCashAddressType\"] = \"This CashAddress uses an unknown address type.\";\n})(LockingBytecodeEncodingError || (LockingBytecodeEncodingError = {}));\n/**\n * Convert a CashAddress to its respective locking bytecode.\n *\n * This method returns the locking bytecode and network prefix. If an error\n * occurs, an error message is returned as a string.\n *\n * @param address - the CashAddress to convert\n */\nconst cashAddressToLockingBytecode = (address) => {\n const decoded = (0,_cash_address__WEBPACK_IMPORTED_MODULE_1__.decodeCashAddress)(address);\n if (typeof decoded === 'string')\n return decoded;\n if (decoded.type === _cash_address__WEBPACK_IMPORTED_MODULE_1__.CashAddressType.P2PKH) {\n return {\n bytecode: addressContentsToLockingBytecode({\n payload: decoded.hash,\n type: AddressType.p2pkh,\n }),\n prefix: decoded.prefix,\n };\n }\n if (decoded.type === _cash_address__WEBPACK_IMPORTED_MODULE_1__.CashAddressType.P2SH) {\n return {\n bytecode: addressContentsToLockingBytecode({\n payload: decoded.hash,\n type: AddressType.p2sh,\n }),\n prefix: decoded.prefix,\n };\n }\n return LockingBytecodeEncodingError.unknownCashAddressType;\n};\n/**\n * Encode a locking bytecode as a Base58Address for a given network.\n *\n * If `bytecode` matches either the P2PKH or P2SH pattern, it is encoded using\n * the proper address type and returned as a valid Base58Address (string).\n *\n * If `bytecode` cannot be encoded as an address (i.e. because the pattern is\n * not standard), the resulting `AddressContents` is returned.\n *\n * @param sha256 - an implementation of sha256 (a universal implementation is\n * available via `instantiateSha256`)\n * @param bytecode - the locking bytecode to encode\n * @param network - the network for which to encode the address (`mainnet` or\n * `testnet`)\n */\nconst lockingBytecodeToBase58Address = (sha256, bytecode, network) => {\n const contents = lockingBytecodeToAddressContents(bytecode);\n if (contents.type === AddressType.p2pkh) {\n return (0,_base58_address__WEBPACK_IMPORTED_MODULE_2__.encodeBase58AddressFormat)(sha256, {\n 'copay-bch': _base58_address__WEBPACK_IMPORTED_MODULE_2__.Base58AddressFormatVersion.p2pkhCopayBCH,\n mainnet: _base58_address__WEBPACK_IMPORTED_MODULE_2__.Base58AddressFormatVersion.p2pkh,\n testnet: _base58_address__WEBPACK_IMPORTED_MODULE_2__.Base58AddressFormatVersion.p2pkhTestnet,\n }[network], contents.payload);\n }\n if (contents.type === AddressType.p2sh) {\n return (0,_base58_address__WEBPACK_IMPORTED_MODULE_2__.encodeBase58AddressFormat)(sha256, {\n 'copay-bch': _base58_address__WEBPACK_IMPORTED_MODULE_2__.Base58AddressFormatVersion.p2shCopayBCH,\n mainnet: _base58_address__WEBPACK_IMPORTED_MODULE_2__.Base58AddressFormatVersion.p2sh,\n testnet: _base58_address__WEBPACK_IMPORTED_MODULE_2__.Base58AddressFormatVersion.p2shTestnet,\n }[network], contents.payload);\n }\n return contents;\n};\n/**\n * Convert a Base58Address to its respective locking bytecode.\n *\n * This method returns the locking bytecode and network version. If an error\n * occurs, an error message is returned as a string.\n *\n * @param address - the CashAddress to convert\n */\nconst base58AddressToLockingBytecode = (sha256, address) => {\n const decoded = (0,_base58_address__WEBPACK_IMPORTED_MODULE_2__.decodeBase58Address)(sha256, address);\n if (typeof decoded === 'string')\n return decoded;\n return {\n bytecode: addressContentsToLockingBytecode({\n payload: decoded.payload,\n type: [\n _base58_address__WEBPACK_IMPORTED_MODULE_2__.Base58AddressFormatVersion.p2pkh,\n _base58_address__WEBPACK_IMPORTED_MODULE_2__.Base58AddressFormatVersion.p2pkhCopayBCH,\n _base58_address__WEBPACK_IMPORTED_MODULE_2__.Base58AddressFormatVersion.p2pkhTestnet,\n ].includes(decoded.version)\n ? AddressType.p2pkh\n : AddressType.p2sh,\n }),\n version: decoded.version,\n };\n};\n//# sourceMappingURL=locking-bytecode.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/address/locking-bytecode.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/bin/bin.js": +/*!*******************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/bin/bin.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CompressionFlag: () => (/* reexport safe */ _secp256k1_secp256k1_wasm__WEBPACK_IMPORTED_MODULE_2__.CompressionFlag),\n/* harmony export */ ContextFlag: () => (/* reexport safe */ _secp256k1_secp256k1_wasm__WEBPACK_IMPORTED_MODULE_2__.ContextFlag),\n/* harmony export */ getEmbeddedSecp256k1Binary: () => (/* reexport safe */ _secp256k1_secp256k1_wasm__WEBPACK_IMPORTED_MODULE_2__.getEmbeddedSecp256k1Binary),\n/* harmony export */ instantiateRustWasm: () => (/* reexport safe */ _hashes__WEBPACK_IMPORTED_MODULE_0__.instantiateRustWasm),\n/* harmony export */ instantiateSecp256k1Wasm: () => (/* reexport safe */ _secp256k1_secp256k1_wasm__WEBPACK_IMPORTED_MODULE_2__.instantiateSecp256k1Wasm),\n/* harmony export */ instantiateSecp256k1WasmBytes: () => (/* reexport safe */ _secp256k1_secp256k1_wasm__WEBPACK_IMPORTED_MODULE_2__.instantiateSecp256k1WasmBytes),\n/* harmony export */ ripemd160Base64Bytes: () => (/* reexport safe */ _ripemd160_ripemd160_base64__WEBPACK_IMPORTED_MODULE_1__.ripemd160Base64Bytes),\n/* harmony export */ sha1Base64Bytes: () => (/* reexport safe */ _sha1_sha1_base64__WEBPACK_IMPORTED_MODULE_3__.sha1Base64Bytes),\n/* harmony export */ sha256Base64Bytes: () => (/* reexport safe */ _sha256_sha256_base64__WEBPACK_IMPORTED_MODULE_4__.sha256Base64Bytes),\n/* harmony export */ sha512Base64Bytes: () => (/* reexport safe */ _sha512_sha512_base64__WEBPACK_IMPORTED_MODULE_5__.sha512Base64Bytes)\n/* harmony export */ });\n/* harmony import */ var _hashes__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./hashes */ \"./node_modules/@bitauth/libauth/build/module/lib/bin/hashes.js\");\n/* harmony import */ var _ripemd160_ripemd160_base64__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ripemd160/ripemd160.base64 */ \"./node_modules/@bitauth/libauth/build/module/lib/bin/ripemd160/ripemd160.base64.js\");\n/* harmony import */ var _secp256k1_secp256k1_wasm__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./secp256k1/secp256k1-wasm */ \"./node_modules/@bitauth/libauth/build/module/lib/bin/secp256k1/secp256k1-wasm.js\");\n/* harmony import */ var _sha1_sha1_base64__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./sha1/sha1.base64 */ \"./node_modules/@bitauth/libauth/build/module/lib/bin/sha1/sha1.base64.js\");\n/* harmony import */ var _sha256_sha256_base64__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./sha256/sha256.base64 */ \"./node_modules/@bitauth/libauth/build/module/lib/bin/sha256/sha256.base64.js\");\n/* harmony import */ var _sha512_sha512_base64__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./sha512/sha512.base64 */ \"./node_modules/@bitauth/libauth/build/module/lib/bin/sha512/sha512.base64.js\");\n\n\n\n\n\n\n//# sourceMappingURL=bin.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/bin/bin.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/bin/hashes.js": +/*!**********************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/bin/hashes.js ***! + \**********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ instantiateRustWasm: () => (/* binding */ instantiateRustWasm)\n/* harmony export */ });\n/* eslint-disable functional/no-conditional-statement, functional/no-let, functional/no-expression-statement, no-underscore-dangle, functional/no-try-statement, @typescript-eslint/no-magic-numbers, max-params, @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-assignment */\n/**\n * Note, most of this method is translated and boiled-down from the wasm-pack\n * workflow. Significant changes to wasm-bindgen or wasm-pack build will likely\n * require modifications to this method.\n */\nconst instantiateRustWasm = async (webassemblyBytes, expectedImportModuleName, hashExportName, initExportName, updateExportName, finalExportName) => {\n const wasm = (await WebAssembly.instantiate(webassemblyBytes, {\n [expectedImportModuleName]: {\n /**\n * This would only be called in cases where a `__wbindgen_malloc` failed.\n * Since `__wbindgen_malloc` isn't exposed to consumers, this error\n * can only be encountered if the code below is broken.\n */\n // eslint-disable-next-line camelcase, @typescript-eslint/naming-convention\n __wbindgen_throw: /* istanbul ignore next */ (ptr, len) => {\n // eslint-disable-next-line functional/no-throw-statement\n throw new Error(\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n Array.from(getUint8Memory().subarray(ptr, ptr + len))\n .map((num) => String.fromCharCode(num))\n .join(''));\n },\n },\n })).instance.exports; // eslint-disable-line @typescript-eslint/no-explicit-any\n let cachedUint8Memory; // eslint-disable-line @typescript-eslint/init-declarations\n let cachedUint32Memory; // eslint-disable-line @typescript-eslint/init-declarations\n let cachedGlobalArgumentPtr; // eslint-disable-line @typescript-eslint/init-declarations\n const globalArgumentPtr = () => {\n if (cachedGlobalArgumentPtr === undefined) {\n cachedGlobalArgumentPtr = wasm.__wbindgen_global_argument_ptr();\n }\n return cachedGlobalArgumentPtr;\n };\n /**\n * Must be hoisted for `__wbindgen_throw`.\n */\n // eslint-disable-next-line func-style\n function getUint8Memory() {\n if (cachedUint8Memory === undefined ||\n cachedUint8Memory.buffer !== wasm.memory.buffer) {\n cachedUint8Memory = new Uint8Array(wasm.memory.buffer);\n }\n return cachedUint8Memory;\n }\n const getUint32Memory = () => {\n if (cachedUint32Memory === undefined ||\n cachedUint32Memory.buffer !== wasm.memory.buffer) {\n cachedUint32Memory = new Uint32Array(wasm.memory.buffer);\n }\n return cachedUint32Memory;\n };\n const passArray8ToWasm = (array) => {\n const ptr = wasm.__wbindgen_malloc(array.length);\n getUint8Memory().set(array, ptr);\n return [ptr, array.length];\n };\n const getArrayU8FromWasm = (ptr, len) => getUint8Memory().subarray(ptr, ptr + len);\n const hash = (input) => {\n const [ptr0, len0] = passArray8ToWasm(input);\n const retPtr = globalArgumentPtr();\n try {\n wasm[hashExportName](retPtr, ptr0, len0);\n const mem = getUint32Memory();\n const ptr = mem[retPtr / 4];\n const len = mem[retPtr / 4 + 1];\n const realRet = getArrayU8FromWasm(ptr, len).slice();\n wasm.__wbindgen_free(ptr, len);\n return realRet;\n }\n finally {\n wasm.__wbindgen_free(ptr0, len0);\n }\n };\n const init = () => {\n const retPtr = globalArgumentPtr();\n wasm[initExportName](retPtr);\n const mem = getUint32Memory();\n const ptr = mem[retPtr / 4];\n const len = mem[retPtr / 4 + 1];\n const realRet = getArrayU8FromWasm(ptr, len).slice();\n wasm.__wbindgen_free(ptr, len);\n return realRet;\n };\n const update = (rawState, input) => {\n const [ptr0, len0] = passArray8ToWasm(rawState);\n const [ptr1, len1] = passArray8ToWasm(input);\n const retPtr = globalArgumentPtr();\n try {\n wasm[updateExportName](retPtr, ptr0, len0, ptr1, len1);\n const mem = getUint32Memory();\n const ptr = mem[retPtr / 4];\n const len = mem[retPtr / 4 + 1];\n const realRet = getArrayU8FromWasm(ptr, len).slice();\n wasm.__wbindgen_free(ptr, len);\n return realRet;\n }\n finally {\n rawState.set(getUint8Memory().subarray(ptr0 / 1, ptr0 / 1 + len0));\n wasm.__wbindgen_free(ptr0, len0);\n wasm.__wbindgen_free(ptr1, len1);\n }\n };\n const final = (rawState) => {\n const [ptr0, len0] = passArray8ToWasm(rawState);\n const retPtr = globalArgumentPtr();\n try {\n wasm[finalExportName](retPtr, ptr0, len0);\n const mem = getUint32Memory();\n const ptr = mem[retPtr / 4];\n const len = mem[retPtr / 4 + 1];\n const realRet = getArrayU8FromWasm(ptr, len).slice();\n wasm.__wbindgen_free(ptr, len);\n return realRet;\n }\n finally {\n rawState.set(getUint8Memory().subarray(ptr0 / 1, ptr0 / 1 + len0));\n wasm.__wbindgen_free(ptr0, len0);\n }\n };\n return {\n final,\n hash,\n init,\n update,\n };\n};\n/* eslint-enable functional/no-conditional-statement, functional/no-let, functional/no-expression-statement, no-underscore-dangle, functional/no-try-statement, @typescript-eslint/no-magic-numbers, max-params, @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-assignment */\n//# sourceMappingURL=hashes.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/bin/hashes.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/bin/ripemd160/ripemd160.base64.js": +/*!******************************************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/bin/ripemd160/ripemd160.base64.js ***! + \******************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ripemd160Base64Bytes: () => (/* binding */ ripemd160Base64Bytes)\n/* harmony export */ });\n/* eslint-disable tsdoc/syntax */\n/**\n * @hidden\n */\n// prettier-ignore\nconst ripemd160Base64Bytes = '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AgQMBQsgAEH8EigCACACaiICQQFyNgIEQYQTIAA2AgBB/BIgAjYCACAAIAJqIAI2AgAMBAsgAxAgDAELQewPQewPKAIAQX4gAUEDdndxNgIACyAEIAJqIQIgAyAEaiEDCyADIAMoAgRBfnE2AgQgACACQQFyNgIEIAAgAmogAjYCAAJ/AkAgAkH/AU0EQCACQQN2IgFBA3RB9A9qIQJB7A8oAgAiA0EBIAFBH3F0IgFxRQ0BIAJBCGohAyACKAIIDAILIAAgAhAhDAILQewPIAMgAXI2AgAgAkEIaiEDIAILIQEgAyAANgIAIAEgADYCDCAAIAI2AgwgACABNgIICyAFQQhqDwtBgBMgACACayIBNgIAQYgTQYgTKAIAIgAgAmoiAzYCACADIAFBAXI2AgQgACACQQNyNgIEIABBCGoLpQEBAn9BAiEFAkACQAJAAkACQCAAKAIEIgYgAWsgAk8NACABIAJqIgIgAUkhAQJAIAQEQEEAIQUgAQ0CIAZBAXQiASACIAIgAUkbIQIMAQtBACEFIAENAQsgAkEASA0AIAZFDQEgACgCACACEBMiAUUNAgwDCyAFDwsgAhAEIgENAQsgAw0BCyABBEAgACABNgIAIABBBGogAjYCAEECDwtBAQ8LAAsIAEGMFBAHAAtmAgF/A34jAEEwayIBJAAgACkCECECIAApAgghAyAAKQIAIQQgAUEUakEANgIAIAEgBDcDGCABQgE3AgQgAUH0DDYCECABIAFBGGo2AgAgASADNwMgIAEgAjcDKCABIAFBIGoQJQALuAEBAX8jAEHgAWsiAyQAIANBOGpBzAgoAgA2AgAgA0EwakHECCkCADcDACADQgA3AyAgA0G8CCkCADcDKCADQTxqQQBBxAAQKhogA0EgaiABIAIQCSADQYABaiADQSBqQeAAECgaIANBCGogA0GAAWoQCiADQSBqIANBCGpBFBADIANBiAFqIANBKGooAgA2AgAgAyADKQMgNwOAASADIANBgAFqEAsgACADKQMANwIAIANB4AFqJAALlwMBBH8jAEFAaiIDJAAgACAAKQMAIAKtfDcDACADIABBCGo2AiggAyADQShqNgIsAkACQAJAAkACQAJAIAAoAhwiBQRAQcAAIAVrIgQgAk0NASADQRhqIAUgBSACaiIEIABBIGoQFiADKAIcIAJHDQUgAygCGCABIAIQKBoMAwsgAiEEDAELIANBMGogASACIAQQFyADQTxqKAIAIQQgAygCOCEBIAMoAjAhBSADKAI0IQIgA0EgaiAAQSBqIgYgACgCHBAYIAIgAygCJEcNBCADKAIgIAUgAhAoGiAAQRxqQQA2AgAgA0EsaiAGEBkLIANBPGohAiADQThqIQUCQANAIARBP00NASADQTBqIAEgBEHAABAXIAIoAgAhBCAFKAIAIQEgA0EIakEAQcAAIAMoAjAgAygCNBAaIANBLGogAygCCBAZDAALAAsgA0EQaiAAQSBqIAQQGyADKAIUIARHDQEgAygCECABIAQQKBoLIABBHGogBDYCACADQUBrJAAPC0H0ExAHAAtB9BMQBwALQfQTEAcAC+MCAgR/AX4jAEFAaiICJAAgAiABQQhqIgU2AiQgASkDACEGIAEoAhwhAyACIAJBJGo2AigCQCADQT9NBEAgAUEgaiIEIANqQYABOgAAIAEgASgCHEEBaiIDNgIcIAJBGGogBCADEBggAigCGEEAIAIoAhwQKhpBwAAgASgCHGtBB00EQCACQShqIAQQGSACQRBqIAQgAUEcaigCABAbIAIoAhBBACACKAIUECoaCyACQQhqIARBOBAYIAIoAgxBCEcNASACKAIIIAZCA4Y3AAAgAkEoaiAEEBkgAUEcakEANgIAIAJBADYCKEEEIQECQANAIAFBGEYNASACQShqIAFqQQA6AAAgAiACKAIoQQFqNgIoIAFBAWohAQwACwALIAAgBSkAADcAACAAQRBqIAVBEGooAAA2AAAgAEEIaiAFQQhqKQAANwAAIAJBQGskAA8LQcwTIANBwAAQHQALQdwTEAcAC2MBAn8gASgCACECAkACQCABKAIEIgMgASgCCCIBRgRAIAMhAQwBCyADIAFJDQEgAQRAIAIgARATIgINAQALIAIgAxARQQEhAkEAIQELIAAgATYCBCAAIAI2AgAPC0G0ExAHAAuQAQEBfyMAQYABayIBJAAgAUEwakHECCkCADcDACABQThqQcwIKAIANgIAIAFCADcDICABQbwIKQIANwMoIAFBPGpBAEHEABAqGiABQRBqIAFBIGpB4AAQAyABQShqIAFBGGooAgA2AgAgASABKQMQNwMgIAFBCGogAUEgahALIAAgASkDCDcCACABQYABaiQAC4YBAQF/IwBB4AFrIgUkACAFQSBqIAEgAhABQeAAECkaIAVBIGogAyAEEAkgBUGAAWogBUEgakHgABAoGiAFQRBqIAVBgAFqQeAAEAMgBUGIAWogBUEYaigCADYCACAFIAUpAxA3A4ABIAVBCGogBUGAAWoQCyAAIAUpAwg3AgAgBUHgAWokAAtuAQF/IwBBkAFrIgMkACADQTBqIAEgAhABQeAAECgaIANBGGogA0EwahAKIANBCGogA0EYakEUEAMgA0E4aiADQRBqKAIANgIAIAMgAykDCDcDMCADIANBMGoQCyAAIAMpAwA3AgAgA0GQAWokAAtKAQF/IwBBEGsiASQAIAFCATcDACABQQA2AgggAUEAIABBAEEAEAVB/wFxQQJGBEAgASgCACEAIAFBEGokACAADwtBgAhBFhAAAAsIACAAIAEQEQsLACABBEAgABAUCwsFAEGQDwvHBQEIfwJAAkACQAJAAkACQCABQb9/Sw0AQRAgAUELakF4cSABQQtJGyECIABBfGoiBigCACIHQXhxIQMCQAJAAkACQCAHQQNxBEAgAEF4aiIIIANqIQUgAyACTw0BQYgTKAIAIAVGDQJBhBMoAgAgBUYNAyAFKAIEIgdBAnENBCAHQXhxIgkgA2oiAyACSQ0EIAMgAmshASAJQf8BSw0HIAUoAgwiBCAFKAIIIgVGDQggBSAENgIMIAQgBTYCCAwJCyACQYACSQ0DIAMgAkEEckkNAyADIAJrQYGACE8NAwwJCyADIAJrIgFBEEkNCCAGIAIgB0EBcXJBAnI2AgAgCCACaiIEIAFBA3I2AgQgBSAFKAIEQQFyNgIEIAQgARAiDAgLQYATKAIAIANqIgMgAk0NASAGIAIgB0EBcXJBAnI2AgBBiBMgCCACaiIBNgIAQYATIAMgAmsiBDYCACABIARBAXI2AgQMBwtB/BIoAgAgA2oiAyACTw0CCyABEAQiAkUNACACIAAgASAGKAIAIgRBeHFBBEEIIARBA3EbayIEIAQgAUsbECghASAAEBQgASEECyAEDwsCQCADIAJrIgFBEEkEQCAGIAdBAXEgA3JBAnI2AgAgCCADaiIBIAEoAgRBAXI2AgRBACEBDAELIAYgAiAHQQFxckECcjYCACAIIAJqIgQgAUEBcjYCBCAIIANqIgIgATYCACACIAIoAgRBfnE2AgQLQYQTIAQ2AgBB/BIgATYCAAwDCyAFECAMAQtB7A9B7A8oAgBBfiAHQQN2d3E2AgALIAFBD00EQCAGIAMgBigCAEEBcXJBAnI2AgAgCCADaiIBIAEoAgRBAXI2AgQMAQsgBiACIAYoAgBBAXFyQQJyNgIAIAggAmoiBCABQQNyNgIEIAggA2oiAiACKAIEQQFyNgIEIAQgARAiIAAPCyAAC+AGAQV/AkAgAEF4aiIBIABBfGooAgAiA0F4cSIAaiECAkACQCADQQFxDQAgA0EDcUUNASABKAIAIgMgAGohAAJAAkBBhBMoAgAgASADayIBRwRAIANB/wFLDQEgASgCDCIEIAEoAggiBUYNAiAFIAQ2AgwgBCAFNgIIDAMLIAIoAgQiA0EDcUEDRw0CQfwSIAA2AgAgAkEEaiADQX5xNgIADAQLIAEQIAwBC0HsD0HsDygCAEF+IANBA3Z3cTYCAAsCQAJ/AkACQAJAAkACQAJAIAIoAgQiA0ECcUUEQEGIEygCACACRg0BQYQTKAIAIAJGDQIgA0F4cSIEIABqIQAgBEH/AUsNAyACKAIMIgQgAigCCCICRg0EIAIgBDYCDCAEIAI2AggMBQsgAkEEaiADQX5xNgIAIAEgAEEBcjYCBCABIABqIAA2AgAMBwtBiBMgATYCAEGAE0GAEygCACAAaiIANgIAIAEgAEEBcjYCBCABQYQTKAIARgRAQfwSQQA2AgBBhBNBADYCAAtBpBMoAgAgAE8NBwJAIABBKUkNAEGUEyEAA0AgACgCACICIAFNBEAgAiAAKAIEaiABSw0CCyAAKAIIIgANAAsLQQAhAUGcEygCACIARQ0EA0AgAUEBaiEBIAAoAggiAA0ACyABQf8fIAFB/x9LGwwFC0GEEyABNgIAQfwSQfwSKAIAIABqIgA2AgAMBwsgAhAgDAELQewPQewPKAIAQX4gA0EDdndxNgIACyABIABBAXI2AgQgASAAaiAANgIAIAFBhBMoAgBHDQJB/BIgADYCAA8LQf8fCyEBQaQTQX82AgBBrBMgATYCAA8LQawTAn8CQAJ/AkAgAEH/AU0EQCAAQQN2IgJBA3RB9A9qIQBB7A8oAgAiA0EBIAJBH3F0IgJxRQ0BIABBCGohAyAAKAIIDAILIAEgABAhQawTQawTKAIAQX9qIgE2AgAgAQ0EQZwTKAIAIgBFDQJBACEBA0AgAUEBaiEBIAAoAggiAA0ACyABQf8fIAFB/x9LGwwDC0HsDyADIAJyNgIAIABBCGohAyAACyECIAMgATYCACACIAE2AgwgASAANgIMIAEgAjYCCA8LQf8fCyIBNgIACw8LIAEgAEEBcjYCBCABIABqIAA2AgAL+ysBIX8gACABKAAsIhkgASgAKCIPIAEoABQiESARIAEoADQiGiAPIBEgASgAHCIUIAEoACQiGyABKAAgIhIgGyABKAAYIhYgFCAZIBYgASgABCITIAAoAhAiH2ogACgCCCIgQQp3IgUgACgCBCIdcyAgIB1zIAAoAgwiBHMgACgCACIhaiABKAAAIhdqQQt3IB9qIhBzakEOdyAEaiIOQQp3IgJqIAEoABAiFSAdQQp3IgdqIAEoAAgiGCAEaiAQIAdzIA5zakEPdyAFaiIDIAJzIAEoAAwiHCAFaiAOIBBBCnciEHMgA3NqQQx3IAdqIg5zakEFdyAQaiIGIA5BCnciCHMgECARaiAOIANBCnciEHMgBnNqQQh3IAJqIg5zakEHdyAQaiICQQp3IgNqIBsgBkEKdyIGaiAQIBRqIA4gBnMgAnNqQQl3IAhqIhAgA3MgCCASaiACIA5BCnciDnMgEHNqQQt3IAZqIgJzakENdyAOaiIGIAJBCnciCHMgDiAPaiACIBBBCnciCXMgBnNqQQ53IANqIgJzakEPdyAJaiIDQQp3IgpqIAJBCnciCyABKAA8IhBqIAggGmogAyALcyAJIAEoADAiDmogAiAGQQp3IgZzIANzakEGdyAIaiICc2pBB3cgBmoiAyACQQp3IghzIAYgASgAOCIBaiACIApzIANzakEJdyALaiIGc2pBCHcgCmoiAiAGcSADQQp3IgkgAkF/c3FyakGZ84nUBWpBB3cgCGoiA0EKdyIKaiAPIAJBCnciC2ogEyAGQQp3IgZqIBogCWogFSAIaiADIAJxIAYgA0F/c3FyakGZ84nUBWpBBncgCWoiAiADcSALIAJBf3NxcmpBmfOJ1AVqQQh3IAZqIgMgAnEgCiADQX9zcXJqQZnzidQFakENdyALaiIGIANxIAJBCnciCCAGQX9zcXJqQZnzidQFakELdyAKaiICIAZxIANBCnciCSACQX9zcXJqQZnzidQFakEJdyAIaiIDQQp3IgpqIBcgAkEKdyILaiAOIAZBCnciBmogHCAJaiAQIAhqIAMgAnEgBiADQX9zcXJqQZnzidQFakEHdyAJaiICIANxIAsgAkF/c3FyakGZ84nUBWpBD3cgBmoiAyACcSAKIANBf3NxcmpBmfOJ1AVqQQd3IAtqIgYgA3EgAkEKdyIIIAZBf3NxcmpBmfOJ1AVqQQx3IApqIgIgBnEgA0EKdyIJIAJBf3NxcmpBmfOJ1AVqQQ93IAhqIgNBCnciCmogGSACQQp3IgtqIAEgBkEKdyIGaiAYIAlqIBEgCGogAyACcSAGIANBf3NxcmpBmfOJ1AVqQQl3IAlqIgIgA3EgCyACQX9zcXJqQZnzidQFakELdyAGaiIDIAJxIAogA0F/c3FyakGZ84nUBWpBB3cgC2oiBiADcSACQQp3IgIgBkF/c3FyakGZ84nUBWpBDXcgCmoiCCAGcSADQQp3IgMgCEF/cyILcXJqQZnzidQFakEMdyACaiIJQQp3IgpqIBUgCEEKdyIIaiABIAZBCnciBmogDyADaiAcIAJqIAkgC3IgBnNqQaHX5/YGakELdyADaiICIAlBf3NyIAhzakGh1+f2BmpBDXcgBmoiAyACQX9zciAKc2pBodfn9gZqQQZ3IAhqIgYgA0F/c3IgAkEKdyICc2pBodfn9gZqQQd3IApqIgggBkF/c3IgA0EKdyIDc2pBodfn9gZqQQ53IAJqIglBCnciCmogGCAIQQp3IgtqIBMgBkEKdyIGaiASIANqIBAgAmogCSAIQX9zciAGc2pBodfn9gZqQQl3IANqIgIgCUF/c3IgC3NqQaHX5/YGakENdyAGaiIDIAJBf3NyIApzakGh1+f2BmpBD3cgC2oiBiADQX9zciACQQp3IgJzakGh1+f2BmpBDncgCmoiCCAGQX9zciADQQp3IgNzakGh1+f2BmpBCHcgAmoiCUEKdyIKaiAZIAhBCnciC2ogGiAGQQp3IgZqIBYgA2ogFyACaiAJIAhBf3NyIAZzakGh1+f2BmpBDXcgA2oiAiAJQX9zciALc2pBodfn9gZqQQZ3IAZqIgMgAkF/c3IgCnNqQaHX5/YGakEFdyALaiIGIANBf3NyIAJBCnciCHNqQaHX5/YGakEMdyAKaiIJIAZBf3NyIANBCnciCnNqQaHX5/YGakEHdyAIaiILQQp3IgJqIBkgCUEKdyIDaiAbIAZBCnciBmogEyAKaiAOIAhqIAsgCUF/c3IgBnNqQaHX5/YGakEFdyAKaiIIIANxIAsgA0F/c3FyakHc+e74eGpBC3cgBmoiBiACcSAIIAJBf3NxcmpB3Pnu+HhqQQx3IANqIgkgCEEKdyIDcSAGIANBf3NxcmpB3Pnu+HhqQQ53IAJqIgogBkEKdyICcSAJIAJBf3NxcmpB3Pnu+HhqQQ93IANqIgtBCnciBmogFSAKQQp3IghqIA4gCUEKdyIJaiASIAJqIBcgA2ogCyAJcSAKIAlBf3NxcmpB3Pnu+HhqQQ53IAJqIgIgCHEgCyAIQX9zcXJqQdz57vh4akEPdyAJaiIDIAZxIAIgBkF/c3FyakHc+e74eGpBCXcgCGoiCSACQQp3IgJxIAMgAkF/c3FyakHc+e74eGpBCHcgBmoiCiADQQp3IgNxIAkgA0F/c3FyakHc+e74eGpBCXcgAmoiC0EKdyIGaiABIApBCnciCGogECAJQQp3IglqIBQgA2ogHCACaiALIAlxIAogCUF/c3FyakHc+e74eGpBDncgA2oiAiAIcSALIAhBf3NxcmpB3Pnu+HhqQQV3IAlqIgMgBnEgAiAGQX9zcXJqQdz57vh4akEGdyAIaiIIIAJBCnciAnEgAyACQX9zcXJqQdz57vh4akEIdyAGaiIJIANBCnciA3EgCCADQX9zcXJqQdz57vh4akEGdyACaiIKQQp3IgtqIBcgCUEKdyIGaiAVIAhBCnciCGogGCADaiAWIAJqIAogCHEgCSAIQX9zcXJqQdz57vh4akEFdyADaiICIAZxIAogBkF/c3FyakHc+e74eGpBDHcgCGoiAyACIAtBf3Nyc2pBzvrPynpqQQl3IAZqIgYgAyACQQp3IgJBf3Nyc2pBzvrPynpqQQ93IAtqIgggBiADQQp3IgNBf3Nyc2pBzvrPynpqQQV3IAJqIglBCnciCmogGCAIQQp3IgtqIA4gBkEKdyIGaiAUIANqIBsgAmogCSAIIAZBf3Nyc2pBzvrPynpqQQt3IANqIgIgCSALQX9zcnNqQc76z8p6akEGdyAGaiIDIAIgCkF/c3JzakHO+s/KempBCHcgC2oiBiADIAJBCnciAkF/c3JzakHO+s/KempBDXcgCmoiCCAGIANBCnciA0F/c3JzakHO+s/KempBDHcgAmoiCUEKdyIKaiASIAhBCnciC2ogHCAGQQp3IgZqIBMgA2ogASACaiAJIAggBkF/c3JzakHO+s/KempBBXcgA2oiAiAJIAtBf3Nyc2pBzvrPynpqQQx3IAZqIgMgAiAKQX9zcnNqQc76z8p6akENdyALaiIGIAMgAkEKdyIIQX9zcnNqQc76z8p6akEOdyAKaiIJIAYgA0EKdyIKQX9zcnNqQc76z8p6akELdyAIaiILQQp3IiIgBGogGyAXIBUgFyAZIBwgEyAQIBcgDiAQIBggISAgIARBf3NyIB1zaiARakHml4qFBWpBCHcgH2oiAkEKdyIDaiAHIBtqIAUgF2ogBCAUaiAfIAIgHSAFQX9zcnNqIAFqQeaXioUFakEJdyAEaiIEIAIgB0F/c3JzakHml4qFBWpBCXcgBWoiBSAEIANBf3Nyc2pB5peKhQVqQQt3IAdqIgcgBSAEQQp3IgRBf3Nyc2pB5peKhQVqQQ13IANqIgIgByAFQQp3IgVBf3Nyc2pB5peKhQVqQQ93IARqIgNBCnciDGogFiACQQp3Ig1qIBogB0EKdyIHaiAVIAVqIBkgBGogAyACIAdBf3Nyc2pB5peKhQVqQQ93IAVqIgQgAyANQX9zcnNqQeaXioUFakEFdyAHaiIFIAQgDEF/c3JzakHml4qFBWpBB3cgDWoiByAFIARBCnciBEF/c3JzakHml4qFBWpBB3cgDGoiAiAHIAVBCnciBUF/c3JzakHml4qFBWpBCHcgBGoiA0EKdyIMaiAcIAJBCnciDWogDyAHQQp3IgdqIBMgBWogEiAEaiADIAIgB0F/c3JzakHml4qFBWpBC3cgBWoiBCADIA1Bf3Nyc2pB5peKhQVqQQ53IAdqIgUgBCAMQX9zcnNqQeaXioUFakEOdyANaiIHIAUgBEEKdyICQX9zcnNqQeaXioUFakEMdyAMaiIDIAcgBUEKdyIMQX9zcnNqQeaXioUFakEGdyACaiINQQp3IgRqIBQgA0EKdyIFaiAcIAdBCnciB2ogGSAMaiAWIAJqIA0gB3EgAyAHQX9zcXJqQaSit+IFakEJdyAMaiICIAVxIA0gBUF/c3FyakGkorfiBWpBDXcgB2oiByAEcSACIARBf3NxcmpBpKK34gVqQQ93IAVqIgMgAkEKdyIFcSAHIAVBf3NxcmpBpKK34gVqQQd3IARqIgwgB0EKdyIEcSADIARBf3NxcmpBpKK34gVqQQx3IAVqIg1BCnciB2ogASAMQQp3IgJqIA8gA0EKdyIDaiARIARqIBogBWogDSADcSAMIANBf3NxcmpBpKK34gVqQQh3IARqIgQgAnEgDSACQX9zcXJqQaSit+IFakEJdyADaiIFIAdxIAQgB0F/c3FyakGkorfiBWpBC3cgAmoiAyAEQQp3IgRxIAUgBEF/c3FyakGkorfiBWpBB3cgB2oiDCAFQQp3IgVxIAMgBUF/c3FyakGkorfiBWpBB3cgBGoiDUEKdyIHaiAbIAxBCnciAmogFSADQQp3IgNqIA4gBWogEiAEaiANIANxIAwgA0F/c3FyakGkorfiBWpBDHcgBWoiBCACcSANIAJBf3NxcmpBpKK34gVqQQd3IANqIgUgB3EgBCAHQX9zcXJqQaSit+IFakEGdyACaiICIARBCnciBHEgBSAEQX9zcXJqQaSit+IFakEPdyAHaiIDIAVBCnciBXEgAiAFQX9zcXJqQaSit+IFakENdyAEaiIMQQp3Ig1qIBMgA0EKdyIeaiARIAJBCnciB2ogECAFaiAYIARqIAwgB3EgAyAHQX9zcXJqQaSit+IFakELdyAFaiIEIAxBf3NyIB5zakHz/cDrBmpBCXcgB2oiBSAEQX9zciANc2pB8/3A6wZqQQd3IB5qIgcgBUF/c3IgBEEKdyIEc2pB8/3A6wZqQQ93IA1qIgIgB0F/c3IgBUEKdyIFc2pB8/3A6wZqQQt3IARqIgNBCnciDGogGyACQQp3Ig1qIBYgB0EKdyIHaiABIAVqIBQgBGogAyACQX9zciAHc2pB8/3A6wZqQQh3IAVqIgQgA0F/c3IgDXNqQfP9wOsGakEGdyAHaiIFIARBf3NyIAxzakHz/cDrBmpBBncgDWoiByAFQX9zciAEQQp3IgRzakHz/cDrBmpBDncgDGoiAiAHQX9zciAFQQp3IgVzakHz/cDrBmpBDHcgBGoiA0EKdyIMaiAPIAJBCnciDWogGCAHQQp3IgdqIA4gBWogEiAEaiADIAJBf3NyIAdzakHz/cDrBmpBDXcgBWoiBCADQX9zciANc2pB8/3A6wZqQQV3IAdqIgUgBEF/c3IgDHNqQfP9wOsGakEOdyANaiIHIAVBf3NyIARBCnciBHNqQfP9wOsGakENdyAMaiICIAdBf3NyIAVBCnciBXNqQfP9wOsGakENdyAEaiIDQQp3IgxqIBYgAkEKdyINaiASIAdBCnciB2ogGiAFaiAVIARqIAMgAkF/c3IgB3NqQfP9wOsGakEHdyAFaiICIANBf3NyIA1zakHz/cDrBmpBBXcgB2oiBCACcSAMIARBf3NxcmpB6e210wdqQQ93IA1qIgUgBHEgAkEKdyICIAVBf3NxcmpB6e210wdqQQV3IAxqIgcgBXEgBEEKdyIDIAdBf3NxcmpB6e210wdqQQh3IAJqIgRBCnciDGogECAHQQp3Ig1qIBkgBUEKdyIeaiAcIANqIBMgAmogBCAHcSAeIARBf3NxcmpB6e210wdqQQt3IANqIgUgBHEgDSAFQX9zcXJqQenttdMHakEOdyAeaiIEIAVxIAwgBEF/c3FyakHp7bXTB2pBDncgDWoiByAEcSAFQQp3IgIgB0F/c3FyakHp7bXTB2pBBncgDGoiBSAHcSAEQQp3IgMgBUF/c3FyakHp7bXTB2pBDncgAmoiBEEKdyIMaiAaIAVBCnciDWogGCAHQQp3IgdqIA4gA2ogESACaiAEIAVxIAcgBEF/c3FyakHp7bXTB2pBBncgA2oiBSAEcSANIAVBf3NxcmpB6e210wdqQQl3IAdqIgQgBXEgDCAEQX9zcXJqQenttdMHakEMdyANaiIHIARxIAVBCnciAiAHQX9zcXJqQenttdMHakEJdyAMaiIFIAdxIARBCnciAyAFQX9zcXJqQenttdMHakEMdyACaiIEQQp3IgwgEGogASAHQQp3Ig1qIA8gA2ogFCACaiAEIAVxIA0gBEF/c3FyakHp7bXTB2pBBXcgA2oiByAEcSAFQQp3IgUgB0F/c3FyakHp7bXTB2pBD3cgDWoiBCAHcSAMIARBf3NxcmpB6e210wdqQQh3IAVqIgIgBEEKdyIDcyAFIA5qIAQgB0EKdyIOcyACc2pBCHcgDGoiBHNqQQV3IA5qIgVBCnciByASaiACQQp3IhIgE2ogDiAPaiAEIBJzIAVzakEMdyADaiIPIAdzIAMgFWogBSAEQQp3IhNzIA9zakEJdyASaiISc2pBDHcgE2oiFSASQQp3Ig5zIBMgEWogEiAPQQp3Ig9zIBVzakEFdyAHaiIRc2pBDncgD2oiEkEKdyITIAFqIBVBCnciASAYaiAPIBRqIBEgAXMgEnNqQQZ3IA5qIg8gE3MgDiAWaiASIBFBCnciEXMgD3NqQQh3IAFqIgFzakENdyARaiIUIAFBCnciEnMgESAaaiABIA9BCnciD3MgFHNqQQZ3IBNqIgFzakEFdyAPaiIRQQp3IhNqNgIIIAAgICAWIAhqIAsgCSAGQQp3IhZBf3Nyc2pBzvrPynpqQQh3IApqIhVBCndqIA8gF2ogASAUQQp3Ig9zIBFzakEPdyASaiIUQQp3IhhqNgIEIAAgHSAQIApqIBUgCyAJQQp3IhdBf3Nyc2pBzvrPynpqQQV3IBZqIhBqIBIgHGogESABQQp3IgFzIBRzakENdyAPaiIRQQp3ajYCACAAIBcgIWogGiAWaiAQIBUgIkF/c3JzakHO+s/KempBBndqIA8gG2ogFCATcyARc2pBC3cgAWoiD2o2AhAgACAXIB9qIBNqIAEgGWogESAYcyAPc2pBC3dqNgIMCzkAAkAgAiABTwRAIAJBwQBPDQEgACACIAFrNgIEIAAgAyABajYCAA8LIAEgAhAcAAsgAkHAABACAAtNAgF/An4jAEEQayIEJAAgBEEIakEAIAMgASACEBogBCkDCCEFIAQgAyACIAEgAhAaIAQpAwAhBiAAIAU3AgAgACAGNwIIIARBEGokAAssAQF/IwBBEGsiAyQAIANBCGogAkHAACABEBYgACADKQMINwIAIANBEGokAAsOACAAKAIAKAIAIAEQFQs3AAJAIAIgAU8EQCAEIAJJDQEgACACIAFrNgIEIAAgAyABajYCAA8LIAEgAhAcAAsgAiAEEAIACysBAX8jAEEQayIDJAAgA0EIakEAIAIgARAWIAAgAykDCDcCACADQRBqJAALfQEBfyMAQTBrIgIkACACIAE2AgQgAiAANgIAIAJBLGpBATYCACACQRRqQQI2AgAgAkEcakECNgIAIAJBATYCJCACQfwUNgIIIAJBAjYCDCACQbwNNgIQIAIgAjYCICACIAJBBGo2AiggAiACQSBqNgIYIAJBCGpBjBUQJQALfAEBfyMAQTBrIgMkACADIAI2AgQgAyABNgIAIANBLGpBATYCACADQRRqQQI2AgAgA0EcakECNgIAIANBATYCJCADQcwUNgIIIANBAjYCDCADQbwNNgIQIAMgA0EEajYCICADIAM2AiggAyADQSBqNgIYIANBCGogABAlAAtQAAJAAkBB2A8oAgBBAUYEQEHcD0HcDygCAEEBaiIANgIAIABBA0kNAQwCC0HYD0KBgICAEDcDAAtB5A8oAgAiAEF/TA0AQeQPIAA2AgALAAs/AQJ/IwBBEGsiASQAAn8gACgCCCICIAINABpBpBQQBwALGiABIAApAgw3AwAgASAAQRRqKQIANwMIIAEQHgALswIBBX8gACgCGCEDAkACQAJAIAAoAgwiAiAARwRAIAAoAggiASACNgIMIAIgATYCCCADDQEMAgsgAEEUaiIBIABBEGogASgCABsiBCgCACIBBEACQANAIAQhBSABIgJBFGoiBCgCACIBBEAgAQ0BDAILIAJBEGohBCACKAIQIgENAAsLIAVBADYCACADDQEMAgtBACECIANFDQELAkAgACgCHCIEQQJ0QfwRaiIBKAIAIABHBEAgA0EQaiADQRRqIAMoAhAgAEYbIAI2AgAgAg0BDAILIAEgAjYCACACRQ0CCyACIAM2AhggACgCECIBBEAgAiABNgIQIAEgAjYCGAsgAEEUaigCACIBRQ0AIAJBFGogATYCACABIAI2AhgLDwtB8A9B8A8oAgBBfiAEd3E2AgALxQIBBH8gAAJ/QQAgAUEIdiIDRQ0AGkEfIgIgAUH///8HSw0AGiABQSYgA2ciAmtBH3F2QQFxQR8gAmtBAXRyCyICNgIcIABCADcCECACQQJ0QfwRaiEDAkACQAJAQfAPKAIAIgRBASACQR9xdCIFcQRAIAMoAgAiBCgCBEF4cSABRw0BIAQhAgwCCyADIAA2AgBB8A8gBCAFcjYCACAAIAM2AhggACAANgIIIAAgADYCDA8LIAFBAEEZIAJBAXZrQR9xIAJBH0YbdCEDA0AgBCADQR12QQRxakEQaiIFKAIAIgJFDQIgA0EBdCEDIAIhBCACKAIEQXhxIAFHDQALCyACKAIIIgMgADYCDCACIAA2AgggACACNgIMIAAgAzYCCCAAQQA2AhgPCyAFIAA2AgAgACAENgIYIAAgADYCDCAAIAA2AggL9QQBBH8gACABaiECAkACQAJAAkACQAJAAkACQCAAKAIEIgNBAXENACADQQNxRQ0BIAAoAgAiAyABaiEBAkACQEGEEygCACAAIANrIgBHBEAgA0H/AUsNASAAKAIMIgQgACgCCCIFRg0CIAUgBDYCDCAEIAU2AggMAwsgAigCBCIDQQNxQQNHDQJB/BIgATYCACACQQRqIANBfnE2AgAgACABQQFyNgIEIAIgATYCAA8LIAAQIAwBC0HsD0HsDygCAEF+IANBA3Z3cTYCAAsCQCACKAIEIgNBAnFFBEBBiBMoAgAgAkYNAUGEEygCACACRg0DIANBeHEiBCABaiEBIARB/wFLDQQgAigCDCIEIAIoAggiAkYNBiACIAQ2AgwgBCACNgIIDAcLIAJBBGogA0F+cTYCACAAIAFBAXI2AgQgACABaiABNgIADAcLQYgTIAA2AgBBgBNBgBMoAgAgAWoiATYCACAAIAFBAXI2AgQgAEGEEygCAEYNAwsPC0GEEyAANgIAQfwSQfwSKAIAIAFqIgE2AgAgACABQQFyNgIEIAAgAWogATYCAA8LIAIQIAwCC0H8EkEANgIAQYQTQQA2AgAPC0HsD0HsDygCAEF+IANBA3Z3cTYCAAsgACABQQFyNgIEIAAgAWogATYCACAAQYQTKAIARw0AQfwSIAE2AgAPCwJ/AkAgAUH/AU0EQCABQQN2IgJBA3RB9A9qIQFB7A8oAgAiA0EBIAJBH3F0IgJxRQ0BIAEoAggMAgsgACABECEPC0HsDyADIAJyNgIAIAELIQIgAUEIaiAANgIAIAIgADYCDCAAIAE2AgwgACACNgIIC9ICAQV/IwBBEGsiAyQAAn8gACgCACgCACICQYCAxABHBEAgAUEcaigCACEEIAEoAhghBSADQQA2AgwCfyACQf8ATQRAIAMgAjoADEEBDAELIAJB/w9NBEAgAyACQT9xQYABcjoADSADIAJBBnZBH3FBwAFyOgAMQQIMAQsgAkH//wNNBEAgAyACQT9xQYABcjoADiADIAJBBnZBP3FBgAFyOgANIAMgAkEMdkEPcUHgAXI6AAxBAwwBCyADIAJBEnZB8AFyOgAMIAMgAkE/cUGAAXI6AA8gAyACQQx2QT9xQYABcjoADSADIAJBBnZBP3FBgAFyOgAOQQQLIQZBASICIAUgA0EMaiAGIAQoAgwRBQANARoLIAAoAgQtAAAEQCABKAIYIAAoAggiACgCACAAKAIEIAFBHGooAgAoAgwRBQAMAQtBAAshAiADQRBqJAAgAguqCAEJfyMAQdAAayICJABBJyEDAkAgACgCACIAQZDOAE8EQANAIAJBCWogA2oiBUF8aiAAIABBkM4AbiIEQfCxf2xqIgdB5ABuIgZBAXRBqgtqLwAAOwAAIAVBfmogByAGQZx/bGpBAXRBqgtqLwAAOwAAIANBfGohAyAAQf/B1y9LIQUgBCEAIAUNAAsMAQsgACEECwJAIARB5ABOBEAgAkEJaiADQX5qIgNqIAQgBEHkAG4iAEGcf2xqQQF0QaoLai8AADsAAAwBCyAEIQALAkAgAEEJTARAIAJBCWogA0F/aiIDaiIIIABBMGo6AAAMAQsgAkEJaiADQX5qIgNqIgggAEEBdEGqC2ovAAA7AAALIAJBADYCNCACQfQMNgIwIAJBgIDEADYCOEEnIANrIgYhAyABKAIAIgBBAXEEQCACQSs2AjggBkEBaiEDCyACIABBAnZBAXE6AD8gASgCCCEEIAIgAkE/ajYCRCACIAJBOGo2AkAgAiACQTBqNgJIAn8CQAJAAn8CQAJAAkACQAJAAkACQCAEQQFGBEAgAUEMaigCACIEIANNDQEgAEEIcQ0CIAQgA2shBUEBIAEtADAiACAAQQNGG0EDcSIARQ0DIABBAkYNBAwFCyACQUBrIAEQIw0IIAEoAhggCCAGIAFBHGooAgAoAgwRBQAMCgsgAkFAayABECMNByABKAIYIAggBiABQRxqKAIAKAIMEQUADAkLIAFBAToAMCABQTA2AgQgAkFAayABECMNBiACQTA2AkwgBCADayEDIAEoAhghBEF/IQAgAUEcaigCACIHQQxqIQUDQCAAQQFqIgAgA08NBCAEIAJBzABqQQEgBSgCABEFAEUNAAsMBgsgBSEJQQAhBQwBCyAFQQFqQQF2IQkgBUEBdiEFCyACQQA2AkwgASgCBCIAQf8ATQRAIAIgADoATEEBDAMLIABB/w9LDQEgAiAAQT9xQYABcjoATSACIABBBnZBH3FBwAFyOgBMQQIMAgsgBCAIIAYgB0EMaigCABEFAA0CDAMLIABB//8DTQRAIAIgAEE/cUGAAXI6AE4gAiAAQQZ2QT9xQYABcjoATSACIABBDHZBD3FB4AFyOgBMQQMMAQsgAiAAQRJ2QfABcjoATCACIABBP3FBgAFyOgBPIAIgAEEMdkE/cUGAAXI6AE0gAiAAQQZ2QT9xQYABcjoATkEECyEEIAEoAhghA0F/IQAgAUEcaigCACIKQQxqIQcCQANAIABBAWoiACAFTw0BIAMgAkHMAGogBCAHKAIAEQUARQ0ACwwBCyACQUBrIAEQIw0AIAMgCCAGIApBDGooAgAiBREFAA0AQX8hAANAIABBAWoiACAJTw0CIAMgAkHMAGogBCAFEQUARQ0ACwtBAQwBC0EACyEAIAJB0ABqJAAgAAtGAgF/AX4jAEEgayICJAAgASkCACEDIAJBFGogASkCCDcCACACQbwUNgIEIAJB9Aw2AgAgAiAANgIIIAIgAzcCDCACEB8ACwMAAQsNAEKIspSTmIGVjP8ACzMBAX8gAgRAIAAhAwNAIAMgAS0AADoAACABQQFqIQEgA0EBaiEDIAJBf2oiAg0ACwsgAAtnAQF/AkAgASAASQRAIAJFDQEDQCAAIAJqQX9qIAEgAmpBf2otAAA6AAAgAkF/aiICDQALDAELIAJFDQAgACEDA0AgAyABLQAAOgAAIAFBAWohASADQQFqIQMgAkF/aiICDQALCyAACykBAX8gAgRAIAAhAwNAIAMgAToAACADQQFqIQMgAkF/aiICDQALCyAACwuWCQIAQYAIC4oHaW52YWxpZCBtYWxsb2MgcmVxdWVzdFRyaWVkIHRvIHNocmluayB0byBhIGxhcmdlciBjYXBhY2l0eQAAASNFZ4mrze/+3LqYdlQyEPDh0sNhc3NlcnRpb24gZmFpbGVkOiA4ID09IGRzdC5sZW4oKS9yb290Ly5jYXJnby9yZWdpc3RyeS9zcmMvZ2l0aHViLmNvbS0xZWNjNjI5OWRiOWVjODIzL2J5dGUtdG9vbHMtMC4yLjAvc3JjL3dyaXRlX3NpbmdsZS5ycwAAAAAAAC9yb290Ly5jYXJnby9yZWdpc3RyeS9zcmMvZ2l0aHViLmNvbS0xZWNjNjI5OWRiOWVjODIzL2Jsb2NrLWJ1ZmZlci0wLjMuMy9zcmMvbGliLnJzZGVzdGluYXRpb24gYW5kIHNvdXJjZSBzbGljZXMgaGF2ZSBkaWZmZXJlbnQgbGVuZ3RocwAAAAAAAGNhcGFjaXR5IG92ZXJmbG93Y2FsbGVkIGBPcHRpb246OnVud3JhcCgpYCBvbiBhIGBOb25lYCB2YWx1ZWxpYmNvcmUvb3B0aW9uLnJzMDAwMTAyMDMwNDA1MDYwNzA4MDkxMDExMTIxMzE0MTUxNjE3MTgxOTIwMjEyMjIzMjQyNTI2MjcyODI5MzAzMTMyMzMzNDM1MzYzNzM4Mzk0MDQxNDI0MzQ0NDU0NjQ3NDg0OTUwNTE1MjUzNTQ1NTU2NTc1ODU5NjA2MTYyNjM2NDY1NjY2NzY4Njk3MDcxNzI3Mzc0NzU3Njc3Nzg3OTgwODE4MjgzODQ4NTg2ODc4ODg5OTA5MTkyOTM5NDk1OTY5Nzk4OTkAAABpbmRleCBvdXQgb2YgYm91bmRzOiB0aGUgbGVuIGlzICBidXQgdGhlIGluZGV4IGlzIGxpYmNvcmUvc2xpY2UvbW9kLnJzAAEAAAAAAAAAIAAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAwAAAAEAAAABAAAAIAAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAwAAAGluZGV4ICBvdXQgb2YgcmFuZ2UgZm9yIHNsaWNlIG9mIGxlbmd0aCBzbGljZSBpbmRleCBzdGFydHMgYXQgIGJ1dCBlbmRzIGF0IGludGVybmFsIGVycm9yOiBlbnRlcmVkIHVucmVhY2hhYmxlIGNvZGVsaWJhbGxvYy9yYXdfdmVjLnJzAEG0Ewv9ARYEAAAkAAAAdwcAABMAAABIAgAACQAAANAEAABTAAAASwAAABEAAABQBAAAIAAAAHAEAABaAAAAHwAAAAUAAAAjBQAANAAAAKcGAAAUAAAAbQYAAAkAAABdBQAAEQAAAHcHAAATAAAA8gIAAAUAAABuBQAAKwAAAJkFAAARAAAAWQEAABUAAAACAAAAAAAAAAEAAAADAAAAdQYAACAAAACVBgAAEgAAAAQHAAAGAAAACgcAACIAAACnBgAAFAAAAK0HAAAFAAAALAcAABYAAABCBwAADQAAAKcGAAAUAAAAswcAAAUAAABPBwAAKAAAAHcHAAATAAAA9QEAAB4ADAdsaW5raW5nAwK0DQ==';\n//# sourceMappingURL=ripemd160.base64.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/bin/ripemd160/ripemd160.base64.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/bin/secp256k1/secp256k1-wasm-types.js": +/*!**********************************************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/bin/secp256k1/secp256k1-wasm-types.js ***! + \**********************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CompressionFlag: () => (/* binding */ CompressionFlag),\n/* harmony export */ ContextFlag: () => (/* binding */ ContextFlag)\n/* harmony export */ });\n// cSpell:ignore noncefp, ndata, outputlen\n/**\n * bitflags used in secp256k1's public API (translated from secp256k1.h)\n */\n/* eslint-disable no-bitwise, @typescript-eslint/no-magic-numbers */\n/** All flags' lower 8 bits indicate what they're for. Do not use directly. */\n// const SECP256K1_FLAGS_TYPE_MASK = (1 << 8) - 1;\nconst SECP256K1_FLAGS_TYPE_CONTEXT = 1 << 0;\nconst SECP256K1_FLAGS_TYPE_COMPRESSION = 1 << 1;\n/** The higher bits contain the actual data. Do not use directly. */\nconst SECP256K1_FLAGS_BIT_CONTEXT_VERIFY = 1 << 8;\nconst SECP256K1_FLAGS_BIT_CONTEXT_SIGN = 1 << 9;\nconst SECP256K1_FLAGS_BIT_COMPRESSION = 1 << 8;\n/** Flags to pass to secp256k1_context_create. */\nconst SECP256K1_CONTEXT_VERIFY = SECP256K1_FLAGS_TYPE_CONTEXT | SECP256K1_FLAGS_BIT_CONTEXT_VERIFY;\nconst SECP256K1_CONTEXT_SIGN = SECP256K1_FLAGS_TYPE_CONTEXT | SECP256K1_FLAGS_BIT_CONTEXT_SIGN;\nconst SECP256K1_CONTEXT_NONE = SECP256K1_FLAGS_TYPE_CONTEXT;\n/** Flag to pass to secp256k1_ec_pubkey_serialize and secp256k1_ec_privkey_export. */\nconst SECP256K1_EC_COMPRESSED = SECP256K1_FLAGS_TYPE_COMPRESSION | SECP256K1_FLAGS_BIT_COMPRESSION;\nconst SECP256K1_EC_UNCOMPRESSED = SECP256K1_FLAGS_TYPE_COMPRESSION;\n/**\n * Flag to pass to a Secp256k1.contextCreate method.\n *\n * The purpose of context structures is to cache large precomputed data tables\n * that are expensive to construct, and also to maintain the randomization data\n * for blinding.\n *\n * You can create a context with only VERIFY or only SIGN capabilities, or you\n * can use BOTH. (NONE can be used for conversion/serialization.)\n */\nvar ContextFlag;\n(function (ContextFlag) {\n ContextFlag[ContextFlag[\"NONE\"] = SECP256K1_CONTEXT_NONE] = \"NONE\";\n ContextFlag[ContextFlag[\"VERIFY\"] = SECP256K1_CONTEXT_VERIFY] = \"VERIFY\";\n ContextFlag[ContextFlag[\"SIGN\"] = SECP256K1_CONTEXT_SIGN] = \"SIGN\";\n ContextFlag[ContextFlag[\"BOTH\"] = SECP256K1_CONTEXT_SIGN | SECP256K1_CONTEXT_VERIFY] = \"BOTH\";\n})(ContextFlag || (ContextFlag = {}));\n/**\n * Flag to pass a Secp256k1 public key serialization method.\n *\n * You can indicate COMPRESSED (33 bytes, header byte 0x02 or 0x03) or\n * UNCOMPRESSED (65 bytes, header byte 0x04) format.\n */\nvar CompressionFlag;\n(function (CompressionFlag) {\n CompressionFlag[CompressionFlag[\"COMPRESSED\"] = SECP256K1_EC_COMPRESSED] = \"COMPRESSED\";\n CompressionFlag[CompressionFlag[\"UNCOMPRESSED\"] = SECP256K1_EC_UNCOMPRESSED] = \"UNCOMPRESSED\";\n})(CompressionFlag || (CompressionFlag = {}));\n//# sourceMappingURL=secp256k1-wasm-types.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/bin/secp256k1/secp256k1-wasm-types.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/bin/secp256k1/secp256k1-wasm.js": +/*!****************************************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/bin/secp256k1/secp256k1-wasm.js ***! + \****************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CompressionFlag: () => (/* reexport safe */ _secp256k1_wasm_types__WEBPACK_IMPORTED_MODULE_0__.CompressionFlag),\n/* harmony export */ ContextFlag: () => (/* reexport safe */ _secp256k1_wasm_types__WEBPACK_IMPORTED_MODULE_0__.ContextFlag),\n/* harmony export */ getEmbeddedSecp256k1Binary: () => (/* binding */ getEmbeddedSecp256k1Binary),\n/* harmony export */ instantiateSecp256k1Wasm: () => (/* binding */ instantiateSecp256k1Wasm),\n/* harmony export */ instantiateSecp256k1WasmBytes: () => (/* binding */ instantiateSecp256k1WasmBytes)\n/* harmony export */ });\n/* harmony import */ var _format_format__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../format/format */ \"./node_modules/@bitauth/libauth/build/module/lib/format/base64.js\");\n/* harmony import */ var _secp256k1_wasm_types__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./secp256k1-wasm-types */ \"./node_modules/@bitauth/libauth/build/module/lib/bin/secp256k1/secp256k1-wasm-types.js\");\n/* harmony import */ var _secp256k1_base64__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./secp256k1.base64 */ \"./node_modules/@bitauth/libauth/build/module/lib/bin/secp256k1/secp256k1.base64.js\");\n/* eslint-disable no-underscore-dangle, max-params, @typescript-eslint/naming-convention */\n// cSpell:ignore memcpy, anyfunc\n\n\n\n\n/* eslint-disable @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-assignment */\nconst wrapSecp256k1Wasm = (instance, heapU8, heapU32) => ({\n contextCreate: (context) => instance.exports._secp256k1_context_create(context),\n contextRandomize: (contextPtr, seedPtr) => instance.exports._secp256k1_context_randomize(contextPtr, seedPtr),\n free: (pointer) => instance.exports._free(pointer),\n heapU32,\n heapU8,\n instance,\n malloc: (bytes) => instance.exports._malloc(bytes),\n mallocSizeT: (num) => {\n // eslint-disable-next-line @typescript-eslint/no-magic-numbers\n const pointer = instance.exports._malloc(4);\n // eslint-disable-next-line no-bitwise, @typescript-eslint/no-magic-numbers\n const pointerView32 = pointer >> 2;\n // eslint-disable-next-line functional/no-expression-statement\n heapU32.set([num], pointerView32);\n return pointer;\n },\n mallocUint8Array: (array) => {\n const pointer = instance.exports._malloc(array.length);\n // eslint-disable-next-line functional/no-expression-statement\n heapU8.set(array, pointer);\n return pointer;\n },\n privkeyTweakAdd: (contextPtr, secretKeyPtr, tweakNum256Ptr) => instance.exports._secp256k1_ec_privkey_tweak_add(contextPtr, secretKeyPtr, tweakNum256Ptr),\n privkeyTweakMul: (contextPtr, secretKeyPtr, tweakNum256Ptr) => instance.exports._secp256k1_ec_privkey_tweak_mul(contextPtr, secretKeyPtr, tweakNum256Ptr),\n pubkeyCreate: (contextPtr, publicKeyPtr, secretKeyPtr) => instance.exports._secp256k1_ec_pubkey_create(contextPtr, publicKeyPtr, secretKeyPtr),\n pubkeyParse: (contextPtr, publicKeyOutPtr, publicKeyInPtr, publicKeyInLength) => instance.exports._secp256k1_ec_pubkey_parse(contextPtr, publicKeyOutPtr, publicKeyInPtr, publicKeyInLength),\n pubkeySerialize: (contextPtr, outputPtr, outputLengthPtr, publicKeyPtr, compression) => instance.exports._secp256k1_ec_pubkey_serialize(contextPtr, outputPtr, outputLengthPtr, publicKeyPtr, compression),\n pubkeyTweakAdd: (contextPtr, publicKeyPtr, tweakNum256Ptr) => instance.exports._secp256k1_ec_pubkey_tweak_add(contextPtr, publicKeyPtr, tweakNum256Ptr),\n pubkeyTweakMul: (contextPtr, publicKeyPtr, tweakNum256Ptr) => instance.exports._secp256k1_ec_pubkey_tweak_mul(contextPtr, publicKeyPtr, tweakNum256Ptr),\n readHeapU8: (pointer, bytes) => new Uint8Array(heapU8.buffer, pointer, bytes),\n readSizeT: (pointer) => {\n // eslint-disable-next-line no-bitwise, @typescript-eslint/no-magic-numbers\n const pointerView32 = pointer >> 2;\n return heapU32[pointerView32];\n },\n recover: (contextPtr, outputPubkeyPointer, rSigPtr, msg32Ptr) => instance.exports._secp256k1_ecdsa_recover(contextPtr, outputPubkeyPointer, rSigPtr, msg32Ptr),\n recoverableSignatureParse: (contextPtr, outputRSigPtr, inputSigPtr, rid) => instance.exports._secp256k1_ecdsa_recoverable_signature_parse_compact(contextPtr, outputRSigPtr, inputSigPtr, rid),\n recoverableSignatureSerialize: (contextPtr, sigOutPtr, recIDOutPtr, rSigPtr) => instance.exports._secp256k1_ecdsa_recoverable_signature_serialize_compact(contextPtr, sigOutPtr, recIDOutPtr, rSigPtr),\n schnorrSign: (contextPtr, outputSigPtr, msg32Ptr, secretKeyPtr) => instance.exports._secp256k1_schnorr_sign(contextPtr, outputSigPtr, msg32Ptr, secretKeyPtr),\n schnorrVerify: (contextPtr, sigPtr, msg32Ptr, publicKeyPtr) => instance.exports._secp256k1_schnorr_verify(contextPtr, sigPtr, msg32Ptr, publicKeyPtr),\n seckeyVerify: (contextPtr, secretKeyPtr) => instance.exports._secp256k1_ec_seckey_verify(contextPtr, secretKeyPtr),\n sign: (contextPtr, outputSigPtr, msg32Ptr, secretKeyPtr) => instance.exports._secp256k1_ecdsa_sign(contextPtr, outputSigPtr, msg32Ptr, secretKeyPtr),\n signRecoverable: (contextPtr, outputRSigPtr, msg32Ptr, secretKeyPtr) => instance.exports._secp256k1_ecdsa_sign_recoverable(contextPtr, outputRSigPtr, msg32Ptr, secretKeyPtr),\n signatureMalleate: (contextPtr, outputSigPtr, inputSigPtr) => instance.exports._secp256k1_ecdsa_signature_malleate(contextPtr, outputSigPtr, inputSigPtr),\n signatureNormalize: (contextPtr, outputSigPtr, inputSigPtr) => instance.exports._secp256k1_ecdsa_signature_normalize(contextPtr, outputSigPtr, inputSigPtr),\n signatureParseCompact: (contextPtr, sigOutPtr, compactSigInPtr) => instance.exports._secp256k1_ecdsa_signature_parse_compact(contextPtr, sigOutPtr, compactSigInPtr),\n signatureParseDER: (contextPtr, sigOutPtr, sigDERInPtr, sigDERInLength) => instance.exports._secp256k1_ecdsa_signature_parse_der(contextPtr, sigOutPtr, sigDERInPtr, sigDERInLength),\n signatureSerializeCompact: (contextPtr, outputCompactSigPtr, inputSigPtr) => instance.exports._secp256k1_ecdsa_signature_serialize_compact(contextPtr, outputCompactSigPtr, inputSigPtr),\n signatureSerializeDER: (contextPtr, outputDERSigPtr, outputDERSigLengthPtr, inputSigPtr) => instance.exports._secp256k1_ecdsa_signature_serialize_der(contextPtr, outputDERSigPtr, outputDERSigLengthPtr, inputSigPtr),\n verify: (contextPtr, sigPtr, msg32Ptr, pubkeyPtr) => instance.exports._secp256k1_ecdsa_verify(contextPtr, sigPtr, msg32Ptr, pubkeyPtr),\n});\n/* eslint-enable @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-assignment */\n/* eslint-disable functional/immutable-data, functional/no-expression-statement, @typescript-eslint/no-magic-numbers, functional/no-conditional-statement, no-bitwise, functional/no-throw-statement */\n/**\n * Method extracted from Emscripten's preamble.js\n */\nconst isLittleEndian = (buffer) => {\n const littleEndian = true;\n const notLittleEndian = false;\n const heap16 = new Int16Array(buffer);\n const heap32 = new Int32Array(buffer);\n const heapU8 = new Uint8Array(buffer);\n heap32[0] = 1668509029;\n heap16[1] = 25459;\n return heapU8[2] !== 115 || heapU8[3] !== 99\n ? /* istanbul ignore next */ notLittleEndian\n : littleEndian;\n};\n/**\n * Method derived from Emscripten's preamble.js\n */\nconst alignMemory = (factor, size) => Math.ceil(size / factor) * factor;\n/**\n * The most performant way to instantiate secp256k1 functionality. To avoid\n * using Node.js or DOM-specific APIs, you can use `instantiateSecp256k1`.\n *\n * Note, most of this method is translated and boiled-down from Emscripten's\n * preamble.js. Significant changes to the WASM build or breaking updates to\n * Emscripten will likely require modifications to this method.\n *\n * @param webassemblyBytes - A buffer containing the secp256k1 binary.\n */\nconst instantiateSecp256k1WasmBytes = async (webassemblyBytes) => {\n const STACK_ALIGN = 16;\n const GLOBAL_BASE = 1024;\n const WASM_PAGE_SIZE = 65536;\n const TOTAL_STACK = 5242880;\n const TOTAL_MEMORY = 16777216;\n const wasmMemory = new WebAssembly.Memory({\n initial: TOTAL_MEMORY / WASM_PAGE_SIZE,\n maximum: TOTAL_MEMORY / WASM_PAGE_SIZE,\n });\n /* istanbul ignore if */\n if (!isLittleEndian(wasmMemory.buffer)) {\n /*\n * note: this block is excluded from test coverage. It's A) hard to test\n * (must be either tested on big-endian hardware or a big-endian buffer\n * mock) and B) extracted from Emscripten's preamble.js, where it should\n * be tested properly.\n */\n throw new Error('Runtime error: expected the system to be little-endian.');\n }\n const STATIC_BASE = GLOBAL_BASE;\n const STATICTOP_INITIAL = STATIC_BASE + 67696 + 16;\n const DYNAMICTOP_PTR = STATICTOP_INITIAL;\n const DYNAMICTOP_PTR_SIZE = 4;\n const STATICTOP = (STATICTOP_INITIAL + DYNAMICTOP_PTR_SIZE + 15) & -16;\n const STACKTOP = alignMemory(STACK_ALIGN, STATICTOP);\n const STACK_BASE = STACKTOP;\n const STACK_MAX = STACK_BASE + TOTAL_STACK;\n const DYNAMIC_BASE = alignMemory(STACK_ALIGN, STACK_MAX);\n const heapU8 = new Uint8Array(wasmMemory.buffer);\n const heap32 = new Int32Array(wasmMemory.buffer);\n const heapU32 = new Uint32Array(wasmMemory.buffer);\n heap32[DYNAMICTOP_PTR >> 2] = DYNAMIC_BASE;\n const TABLE_SIZE = 6;\n const MAX_TABLE_SIZE = 6;\n // eslint-disable-next-line functional/no-let, @typescript-eslint/init-declarations\n let getErrNoLocation;\n /*\n * note: A number of methods below are excluded from test coverage. They are\n * a) not part of the regular usage of this library (should only be evaluated\n * if the consumer mis-implements the library and exist only to make\n * debugging easier) and B) already tested adequately in Emscripten, from\n * which this section is extracted.\n */\n const env = {\n DYNAMICTOP_PTR,\n STACKTOP,\n ___setErrNo: /* istanbul ignore next */ (value) => {\n if (getErrNoLocation !== undefined) {\n heap32[getErrNoLocation() >> 2] = value;\n }\n return value;\n },\n _abort: /* istanbul ignore next */ (err = 'Secp256k1 Error') => {\n throw new Error(err);\n },\n // eslint-disable-next-line camelcase\n _emscripten_memcpy_big: /* istanbul ignore next */ (dest, src, num) => {\n heapU8.set(heapU8.subarray(src, src + num), dest);\n return dest;\n },\n abort: /* istanbul ignore next */ (err = 'Secp256k1 Error') => {\n throw new Error(err);\n },\n abortOnCannotGrowMemory: /* istanbul ignore next */ () => {\n throw new Error('Secp256k1 Error: abortOnCannotGrowMemory was called.');\n },\n enlargeMemory: /* istanbul ignore next */ () => {\n throw new Error('Secp256k1 Error: enlargeMemory was called.');\n },\n getTotalMemory: () => TOTAL_MEMORY,\n };\n const info = {\n env: {\n ...env,\n memory: wasmMemory,\n memoryBase: STATIC_BASE,\n table: new WebAssembly.Table({\n element: 'anyfunc',\n initial: TABLE_SIZE,\n maximum: MAX_TABLE_SIZE,\n }),\n tableBase: 0,\n },\n global: { Infinity, NaN },\n };\n return WebAssembly.instantiate(webassemblyBytes, info).then((result) => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-assignment\n getErrNoLocation = result.instance.exports.___errno_location;\n return wrapSecp256k1Wasm(result.instance, heapU8, heapU32);\n });\n};\n/* eslint-enable functional/immutable-data, functional/no-expression-statement, @typescript-eslint/no-magic-numbers, functional/no-conditional-statement, no-bitwise, functional/no-throw-statement */\nconst getEmbeddedSecp256k1Binary = () => (0,_format_format__WEBPACK_IMPORTED_MODULE_1__.base64ToBin)(_secp256k1_base64__WEBPACK_IMPORTED_MODULE_2__.secp256k1Base64Bytes).buffer;\n/**\n * An ultimately-portable (but slower) version of `instantiateSecp256k1Bytes`\n * which does not require the consumer to provide the secp256k1 binary buffer.\n */\nconst instantiateSecp256k1Wasm = async () => instantiateSecp256k1WasmBytes(getEmbeddedSecp256k1Binary());\n//# sourceMappingURL=secp256k1-wasm.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/bin/secp256k1/secp256k1-wasm.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/bin/secp256k1/secp256k1.base64.js": +/*!******************************************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/bin/secp256k1/secp256k1.base64.js ***! + \******************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ secp256k1Base64Bytes: () => (/* binding */ secp256k1Base64Bytes)\n/* harmony export */ });\n/* eslint-disable tsdoc/syntax */\n/**\n * @hidden\n */\n// prettier-ignore\nconst secp256k1Base64Bytes = 'AGFzbQEAAAABXg5gAn9/AGAGf39/f39/AX9gAX8AYAABf2AAAGADf39/AX9gAX8Bf2ACf38Bf2AEf39/fwF/YAV/f39/fwF/YAN/f38AYAd/f39/f39/AX9gBH9/f38AYAV/f39/fwAC5wEMA2VudgZtZW1vcnkCAYACgAIDZW52BXRhYmxlAXABBgYDZW52CXRhYmxlQmFzZQN/AANlbnYORFlOQU1JQ1RPUF9QVFIDfwADZW52CFNUQUNLVE9QA38AA2VudgVhYm9ydAACA2Vudg1lbmxhcmdlTWVtb3J5AAMDZW52DmdldFRvdGFsTWVtb3J5AAMDZW52F2Fib3J0T25DYW5ub3RHcm93TWVtb3J5AAMDZW52C19fX3NldEVyck5vAAIDZW52Bl9hYm9ydAAEA2VudhZfZW1zY3JpcHRlbl9tZW1jcHlfYmlnAAUDSUgAAAYKBQAKCgIMAAYABwACBgUNCgAKAAoAAAcHAAAAAgYMCgoFAAUFAAULAQYFAwcBCAgBCAgKBwUFBQUHAQEIBQUFCAUICQgGCwJ/ASMBC38BIwILB/QGGxFfX19lcnJub19sb2NhdGlvbgA1BV9mcmVlACYHX21hbGxvYwAnGV9zZWNwMjU2azFfY29udGV4dF9jcmVhdGUAMxxfc2VjcDI1NmsxX2NvbnRleHRfcmFuZG9taXplAD4fX3NlY3AyNTZrMV9lY19wcml2a2V5X3R3ZWFrX2FkZABCH19zZWNwMjU2azFfZWNfcHJpdmtleV90d2Vha19tdWwAQBtfc2VjcDI1NmsxX2VjX3B1YmtleV9jcmVhdGUAMBpfc2VjcDI1NmsxX2VjX3B1YmtleV9wYXJzZQBOHl9zZWNwMjU2azFfZWNfcHVia2V5X3NlcmlhbGl6ZQBNHl9zZWNwMjU2azFfZWNfcHVia2V5X3R3ZWFrX2FkZABBHl9zZWNwMjU2azFfZWNfcHVia2V5X3R3ZWFrX211bAA/G19zZWNwMjU2azFfZWNfc2Vja2V5X3ZlcmlmeQBDGF9zZWNwMjU2azFfZWNkc2FfcmVjb3ZlcgA5NF9zZWNwMjU2azFfZWNkc2FfcmVjb3ZlcmFibGVfc2lnbmF0dXJlX3BhcnNlX2NvbXBhY3QAPDhfc2VjcDI1NmsxX2VjZHNhX3JlY292ZXJhYmxlX3NpZ25hdHVyZV9zZXJpYWxpemVfY29tcGFjdAA7FV9zZWNwMjU2azFfZWNkc2Ffc2lnbgBEIV9zZWNwMjU2azFfZWNkc2Ffc2lnbl9yZWNvdmVyYWJsZQA6I19zZWNwMjU2azFfZWNkc2Ffc2lnbmF0dXJlX21hbGxlYXRlAEgkX3NlY3AyNTZrMV9lY2RzYV9zaWduYXR1cmVfbm9ybWFsaXplAEcoX3NlY3AyNTZrMV9lY2RzYV9zaWduYXR1cmVfcGFyc2VfY29tcGFjdABLJF9zZWNwMjU2azFfZWNkc2Ffc2lnbmF0dXJlX3BhcnNlX2RlcgBMLF9zZWNwMjU2azFfZWNkc2Ffc2lnbmF0dXJlX3NlcmlhbGl6ZV9jb21wYWN0AEkoX3NlY3AyNTZrMV9lY2RzYV9zaWduYXR1cmVfc2VyaWFsaXplX2RlcgBKF19zZWNwMjU2azFfZWNkc2FfdmVyaWZ5AEYXX3NlY3AyNTZrMV9zY2hub3JyX3NpZ24ANxlfc2VjcDI1NmsxX3NjaG5vcnJfdmVyaWZ5ADgJDAEAIwALBjJFJSQkJQqU7wZIzQcCCH8VfiABKAIEIgJBAXStIhMgASgCICIDrSILfiABKAIAIgRBAXStIg8gASgCJK0iCn58IAEoAggiBUEBdK0iFiABKAIcIgatIhF+fCABKAIMIgdBAXStIhggASgCGCIIrSIUfnwgASgCECIJQQF0rSIQIAEoAhQiAa0iF358IRogFiALfiATIAp+fCAYIBF+fCAQIBR+fCAXIBd+fCAaQhqIfCIMQv///x+DIg1CkPoAfiAErSIOIA5+fCEbIA1CCoYgAq0iDSAPfnwgG0IaiHwgGCALfiAWIAp+fCAQIBF+fCABQQF0rSIOIBR+fCAMQhqIfCIZQv///x+DIhJCkPoAfnwhHCAFrSIMIA9+IA0gDX58IBJCCoZ8IBQgFH4gGCAKfnwgECALfnwgDiARfnwgGUIaiHwiFUL///8fgyISQpD6AH58IBxCGoh8IRkgACAHrSINIA9+IAwgE358IBJCCoZ8IBAgCn4gCEEBdK0iEiARfnwgDiALfnwgFUIaiHwiFUL///8fgyIdQpD6AH58IBlCGoh8Ih6nQf///x9xNgIMIAAgDSATfiAMIAx+fCAJrSIQIA9+fCAdQgqGfCASIAt+IBEgEX58IA4gCn58IBVCGoh8Ig5C////H4MiDEKQ+gB+fCAeQhqIfCIVp0H///8fcTYCECAAIBAgE34gDSAWfnwgFyAPfnwgDEIKhnwgEiAKfiAGQQF0rSIMIAt+fCAOQhqIfCIOQv///x+DIhJCkPoAfnwgFUIaiHwiFadB////H3E2AhQgACAUIA9+IA0gDX58IBAgFn58IBcgE358IBJCCoZ8IAwgCn4gCyALfnwgDkIaiHwiDUL///8fgyIOQpD6AH58IBVCGoh8IgynQf///x9xNgIYIAAgFCATfiARIA9+fCAQIBh+fCAXIBZ+fCAOQgqGfCANQhqIIANBAXStIAp+fCINQv///x+DIg5CkPoAfnwgDEIaiHwiDKdB////H3E2AhwgACARIBN+IAsgD358IBQgFn58IBAgEH58IBcgGH58IA5CCoZ8IA1CGoggCiAKfnwiCkL///8fgyILQpD6AH58IAxCGoh8Ig+nQf///x9xNgIgIAAgCkIaiCIKQpD6AH4gGkL///8fg3wgC0IKhnwgD0IaiHwiC6dB////AXE2AiQgACALQhaIIApCDoZ8IgpC0Qd+IBtC////H4N8IgunQf///x9xNgIAIAAgCkIGhiAcQv///x+DfCALQhqIfCIKp0H///8fcTYCBCAAIApCGoggGUL///8fg3w+AggL4xQCIX8MfiMEIQ8jBEFAayQEIA8gASgCAK0iJSAlfiImPgIAIAFBBGoiFygCAK0iJCAlfiIjQiCIISkgI6ciA0EBdCIEICZCIIinaiICIARJIQUgDyACNgIEIAFBCGoiHCgCAK0iJyAlfiIjQiCIISggBCADSSApQgGGpyIGciAFaiIEICOnIgNBAXQiCGoiAiAISSEJIAUgBEVxIAYgKadJaiAIIANJIChCAYanIgVyIAlqIg5qIgggAiAkICR+IiOnIgNqIgIgA0kgI0IgiKdqIgZqIQogDyACNgIIIAFBDGoiHSgCAK0iJiAlfiIjQiCIISUgCiAjpyIEQQF0IgtqIgIgC0khDCAnICR+IiNCIIghJCACICOnIgNBAXQiB2oiAiAHSSENIA8gAjYCDCABQRBqIh4oAgCtIikgASgCAK0iJ34iI0IgiCErIAkgDkVxIAUgKKdJaiAIIA5JaiAKIAZJaiALIARJICVCAYanIgtyIAxqIglqIgUgByADSSAkQgGGpyIIciANaiIKaiIGICOnIgRBAXQiB2oiAiAHSSEVICYgFygCAK0iJn4iI0IgiCEoIAIgI6ciA0EBdCIOaiICIA5JIRAgCCAkp0kgCyAlp0lqIAwgCUVxaiAFIAlJaiANIApFcWogBiAKSWogByAESSArQgGGpyIKciAVaiIRaiIHIA4gA0kgKEIBhqciC3IgEGoiEmoiBSACIBwoAgCtIiUgJX4iI6ciA2oiAiADSSAjQiCIp2oiCGohDCAPIAI2AhAgAUEUaiIYKAIArSAnfiIjQiCIISQgDCAjpyIGQQF0Ig5qIgIgDkkhFiApICZ+IiNCIIghJyACICOnIgRBAXQiDWoiAiANSSETIB0oAgCtICV+IiNCIIghJiACICOnIgNBAXQiCWoiAiAJSSEUIA8gAjYCFCABQRhqIh8oAgCtIAEoAgCtfiIjQiCIISwgCyAop0kgCiArp0lqIBUgEUVxaiAQIBJFcWogByARSWogBSASSWogDCAISWogDiAGSSAkQgGGpyIOciAWaiIQaiIKIA0gBEkgJ0IBhqciB3IgE2oiEWoiCyAJIANJICZCAYanIgVyIBRqIhJqIgggI6ciBkEBdCIJaiICIAlJISEgGCgCAK0gFygCAK1+IiNCIIghLSACICOnIgRBAXQiDGoiAiAMSSEZIB4oAgCtIBwoAgCtfiIjQiCIISggAiAjpyIDQQF0Ig1qIgIgDUkhGiAHICenSSAOICSnSWogBSAmp0lqIBYgEEVxaiAKIBBJaiATIBFFcWogCyARSWogFCASRXFqIAggEklqIAkgBkkgLEIBhqciCXIgIWoiG2oiDiAMIARJIC1CAYanIgpyIBlqIhNqIgcgDSADSSAoQgGGpyILciAaaiIUaiIFIAIgHSgCAK0iIyAjfiIjpyIDaiICIANJICNCIIinaiIIaiEQIA8gAjYCGCABQRxqIiAoAgCtIAEoAgCtfiIjQiCIISogECAjpyIGQQF0IhFqIgEgEUkhIiAfKAIArSAXKAIArSIpfiIjQiCIISsgASAjpyIEQQF0IhJqIgEgEkkhFyAYKAIArSAcKAIArSInfiIjQiCIISUgASAjpyIDQQF0IgxqIgEgDEkhFSAeKAIArSAdKAIArSImfiIjQiCIISQgASAjpyICQQF0Ig1qIgEgDUkhFiAPIAE2AhwgICgCAK0gKX4iI0IgiCEuIAogLadJIAkgLKdJaiALICinSWogISAbRXFqIBkgE0VxaiAaIBRFcWogDiAbSWogByATSWogBSAUSWogECAISWogESAGSSAqQgGGpyIJciAiaiITaiIOIBIgBEkgK0IBhqciCnIgF2oiFGoiByAMIANJICVCAYanIgtyIBVqIhBqIgUgDSACSSAkQgGGpyIIciAWaiIRaiIGICOnIgRBAXQiEmoiASASSSEZIB8oAgCtICd+IiNCIIghLCABICOnIgNBAXQiDGoiASAMSSEaIBgoAgCtICZ+IiNCIIghKCABICOnIgJBAXQiDWoiASANSSEbIAogK6dJIAkgKqdJaiALICWnSWogCCAkp0lqICIgE0VxaiAOIBNJaiAXIBRFcWogByAUSWogFSAQRXFqIAUgEElqIBYgEUVxaiAGIBFJaiASIARJIC5CAYanIg5yIBlqIhVqIgogDCADSSAsQgGGpyIHciAaaiIWaiILIA0gAkkgKEIBhqciBXIgG2oiEGoiCCABIB4oAgCtIiQgJH4iI6ciAmoiASACSSAjQiCIp2oiBmohESAPIAE2AiAgICgCAK0iKSAcKAIArX4iI0IgiCEtIBEgI6ciBEEBdCIMaiIBIAxJIRMgHygCAK0iJyAdKAIArSImfiIjQiCIISogASAjpyIDQQF0Ig1qIgEgDUkhFCAYKAIArSIlICR+IiNCIIghJCABICOnIgJBAXQiCWoiASAJSSESIA8gATYCJCApICZ+IiNCIIghKyAHICynSSAOIC6nSWogBSAop0lqIBkgFUVxaiAaIBZFcWogGyAQRXFqIAogFUlqIAsgFklqIAggEElqIBEgBklqIAwgBEkgLUIBhqciB3IgE2oiDGoiCyANIANJICpCAYanIgVyIBRqIg1qIgggCSACSSAkQgGGpyIGciASaiIJaiIEICOnIgNBAXQiDmoiASAOSSEQICcgHigCAK0iJn4iI0IgiCEoIAEgI6ciAkEBdCIKaiIBIApJIREgBSAqp0kgByAtp0lqIAYgJKdJaiATIAxFcWogCyAMSWogFCANRXFqIAggDUlqIBIgCUVxaiAEIAlJaiAOIANJICtCAYanIgtyIBBqIhJqIgUgCiACSSAoQgGGpyIIciARaiIMaiIGIAEgJSAlfiIjpyICaiIBIAJJICNCIIinaiIEaiENIA8g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QUBrIAJB////H3EiAkHRB2pBGnZqQf///x9LIAYgAXEgB3EgCHEgBEH///8fcSIEcSAJcSALcUH///8fRiAFQf///wFGcXFyIgprQdEHcSACaiECIApBBnQgA2ogAkEadmoiA0EadiABQf///x9xaiIKQRp2IAZB////H3FqIgZBGnYgB0H///8fcWoiB0EadiAIQf///x9xaiIIQRp2IARqIgRBGnYgCUH///8fcWoiCUEadiALQf///x9xaiEBIAAgAkH///8fcTYCACANIANB////H3E2AgAgDiAKQf///x9xNgIAIA8gBkH///8fcTYCACAQIAdB////H3E2AgAgESAIQf///x9xNgIAIBIgBEH///8fcTYCACATIAlB////H3E2AgAgFCABQf///x9xNgIAIAwgAUEadiAFakH///8BcTYCAAuhFwEnfyMEIQQjBEHAA2okBCACKAJQIQYgASgCeARAIAAgBjYCeCAAIAIpAgA3AgAgACACKQIINwIIIAAgAikCEDcCECAAIAIpAhg3AhggACACKQIgNwIgIABBKGoiAyACQShqIgEpAgA3AgAgAyABKQIINwIIIAMgASkCEDcCECADIAEpAhg3AhggAyABKQIgNwIgIABBATYCUCAAQdQAaiIAQgA3AgAgAEIANwIIIABCADcCECAAQgA3AhggAEEANgIgIAQkBA8LIAYEQCADBEAgA0EBNgIAIANBBGoiAkIANwIAIAJCADcCCCACQgA3AhAgAkIANwIYIAJBADYCIAsgACABKQIANwIAIAAgASkCCDcCCCAAIAEpAhA3AhAgACABKQIYNwIYIAAgASkCIDcCICAAIAEpAig3AiggACABKQIwNwIwIAAgASkCODcCOCAAQUBrIAFBQGspAgA3AgAgACABKQJINwJIIAAgASkCUDcCUCAAIAEpAlg3AlggACABKQJgNwJgIAAgASkCaDcCaCAAIAEpAnA3AnAgACABKAJ4NgJ4IAQkBA8LIARB+ABqIQwgBEHQAGohJCAEQShqIQogAEH4AGoiKUEANgIAIARBkANqIiUgAUHQAGoiJhAHIARB6AJqIgggASkCADcCACAIIAEpAgg3AgggCCABKQIQNwIQIAggASkCGDcCGCAIIAEpAiA3AiAgCEEkaiIdKAIAIhNBFnYiBkHRB2wgCCgCAGohGyAGQQZ0IAhBBGoiFygCAGogG0EadmoiGEEadiAIQQhqIhkoAgBqIhpBGnYgCEEMaiIFKAIAaiIHQRp2IAhBEGoiDSgCAGoiFEEadiAIQRRqIhUoAgBqIg5BGnYgCEEYaiIPKAIAaiIQQRp2IAhBHGoiESgCAGoiEkEadiAIQSBqIgYoAgBqIRwgCCAbQf///x9xIio2AgAgFyAYQf///x9xIgs2AgAgGSAaQf///x9xIh42AgAgBSAHQf///x9xIh82AgAgDSAUQf///x9xIiA2AgAgFSAOQf///x9xIiE2AgAgDyAQQf///x9xIiI2AgAgESASQf///x9xIiM2AgAgBiAcQf///x9xIhs2AgAgHSAcQRp2IBNB////AXFqIhw2AgAgBEHAAmoiFiACICUQCiAEQZgCaiIJIAFBKGoiBikCADcCACAJIAYpAgg3AgggCSAGKQIQNwIQIAkgBikCGDcCGCAJIAYpAiA3AiAgCUEkaiInKAIAIh1BFnYiBkHRB2wgCSgCAGohDSAGQQZ0IAlBBGoiEygCAGogDUEadmoiFEEadiAJQQhqIhcoAgBqIhVBGnYgCUEMaiIYKAIAaiIOQRp2IAlBEGoiGSgCAGoiD0EadiAJQRRqIhooAgBqIhBBGnYgCUEYaiIFKAIAaiIRQRp2IAlBHGoiBygCAGoiEkEadiAJQSBqIgYoAgBqISggCSANQf///x9xIg02AgAgEyAUQf///x9xIhQ2AgAgFyAVQf///x9xIhU2AgAgGCAOQf///x9xIg42AgAgGSAPQf///x9xIg82AgAgGiAQQf///x9xIhA2AgAgBSARQf///x9xIhE2AgAgByASQf///x9xIhI2AgAgBiAoQf///x9xIgY2AgAgJyAoQRp2IB1B////AXFqNgIAIARB8AFqIgcgAkEoaiAlEAogByAHICYQCiAEQcgBaiIFQbzh//8AICprIBYoAgBqNgIAIAVB/P3//wAgC2sgFigCBGo2AgQgBUH8////ACAeayAWKAIIajYCCCAFQfz///8AIB9rIBYoAgxqNgIMIAVB/P///wAgIGsgFigCEGo2AhAgBUH8////ACAhayAWKAIUajYCFCAFQfz///8AICJrIBYoAhhqNgIYIAVB/P///wAgI2sgFigCHGo2AhwgBUH8////ACAbayAWKAIgajYCICAFQfz//wcgHGsgFigCJGo2AiRB/P//ByAnKAIAayECIARBoAFqIgtBvOH//wAgDWsgBygCAGo2AgAgC0H8/f//ACAUayAHKAIEajYCBCALQfz///8AIBVrIAcoAghqNgIIIAtB/P///wAgDmsgBygCDGo2AgwgC0H8////ACAPayAHKAIQajYCECALQfz///8AIBBrIAcoAhRqNgIUIAtB/P///wAgEWsgBygCGGo2AhggC0H8////ACASayAHKAIcajYCHCALQfz///8AIAZrIAcoAiBqNgIgIAsgAiAHKAIkajYCJCAFEBdFBEAgDCALEAcgJCAFEAcgCiAFICQQCiADBEAgAyAFKQIANwIAIAMgBSkCCDcCCCADIAUpAhA3AhAgAyAFKQIYNwIYIAMgBSkCIDcCIAsgAEHQAGogJiAFEAogBCAIICQQCiAAIAQpAgA3AgAgACAEKQIINwIIIAAgBCkCEDcCECAAIAQpAhg3AhggACAEKQIgNwIgQfj7//8BIABBBGoiEygCAEEBdCAKQQRqIh4oAgBqayEOQfj///8BIABBCGoiFygCAEEBdCAKQQhqIh8oAgBqayEPQfj///8BIABBDGoiGCgCAEEBdCAKQQxqIiAoAgBqayEQQfj///8BIABBEGoiGSgCAEEBdCAKQRBqIiEoAgBqayERQfj///8BIABBFGoiGigCAEEBdCAKQRRqIiIoAgBqayESQfj///8BIABBGGoiBSgCAEEBdCAKQRhqIiMoAgBqayEGQfj///8BIABBHGoiBygCAEEBdCAKQRxqIhsoAgBqayEDQfj///8BIABBIGoiDSgCAEEBdCAKQSBqIhwoAgBqayECQfj//w8gAEEkaiIUKAIAQQF0IApBJGoiHSgCAGprIQEgAEH4wv//ASAAKAIAQQF0IAooAgBqayAMKAIAaiIVNgIAIBMgDiAMKAIEaiIONgIAIBcgDyAMKAIIaiIPNgIAIBggECAMKAIMaiIQNgIAIBkgESAMKAIQaiIRNgIAIBogEiAMKAIUaiISNgIAIAUgBiAMKAIYaiIGNgIAIAcgAyAMKAIcaiIDNgIAIA0gAiAMKAIgaiICNgIAIBQgASAMKAIkaiIBNgIAIABBKGoiE0G0pP//AiAVayAEKAIAajYCACAAQSxqIhdB9Pn//wIgDmsgBCgCBGo2AgAgAEEwaiIYQfT///8CIA9rIAQoAghqNgIAIABBNGoiGUH0////AiAQayAEKAIMajYCACAAQThqIhpB9P///wIgEWsgBCgCEGo2AgAgAEE8aiIFQfT///8CIBJrIAQoAhRqNgIAIABBQGsiB0H0////AiAGayAEKAIYajYCACAAQcQAaiINQfT///8CIANrIAQoAhxqNgIAIABByABqIhRB9P///wIgAmsgBCgCIGo2AgAgAEHMAGoiFUH0//8XIAFrIAQoAiRqNgIAIBMgEyALEAogCiAKIAkQCiAKQbzh//8AIAooAgBrIg42AgAgHkH8/f//ACAeKAIAayIPNgIAIB9B/P///wAgHygCAGsiEDYCACAgQfz///8AICAoAgBrIhE2AgAgIUH8////ACAhKAIAayISNgIAICJB/P///wAgIigCAGsiBjYCACAjQfz///8AICMoAgBrIgM2AgAgG0H8////ACAbKAIAayICNgIAIBxB/P///wAgHCgCAGsiATYCACAdQfz//wcgHSgCAGsiADYCACATIBMoAgAgDmo2AgAgFyAXKAIAIA9qNgIAIBggGCgCACAQajYCACAZIBkoAgAgEWo2AgAgGiAaKAIAIBJqNgIAIAUgBSgCACAGajYCACAHIAcoAgAgA2o2AgAgDSANKAIAIAJqNgIAIBQgFCgCACABajYCACAVIBUoAgAgAGo2AgAgBCQEDwsgCxAXBEAgACABIAMQGiAEJAQPCyADBEAgA0IANwIAIANCADcCCCADQgA3AhAgA0IANwIYIANCADcCIAsgKUEBNgIAIAQkBAuvAwEBfyAAIAFBHGoiAigCAEEYdjoAACAAIAIoAgBBEHY6AAEgACACKAIAQQh2OgACIAAgAigCADoAAyAAIAFBGGoiAigCAEEYdjoABCAAIAIoAgBBEHY6AAUgACACKAIAQQh2OgAGIAAgAigCADoAByAAIAFBFGoiAigCAEEYdjoACCAAIAIoAgBBEHY6AAkgACACKAIAQQh2OgAKIAAgAigCADoACyAAIAFBEGoiAigCAEEYdjoADCAAIAIoAgBBEHY6AA0gACACKAIAQQh2OgAOIAAgAigCADoADyAAIAFBDGoiAigCAEEYdjoAECAAIAIoAgBBEHY6ABEgACACKAIAQQh2OgASIAAgAigCADoAEyAAIAFBCGoiAigCAEEYdjoA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BxAHIAcgBxAHIAcgBxAHIAcgBxAHIAcgBxAHIAcgByAGEAogBEHIAWoiBSAHKQIANwIAIAUgBykCCDcCCCAFIAcpAhA3AhAgBSAHKQIYNwIYIAUgBykCIDcCICAFIAUQByAFIAUQByAFIAUQByAFIAUQByAFIAUQByAFIAUQByAFIAUQByAFIAUQByAFIAUQByAFIAUQByAFIAUQByAFIAUQByAFIAUQByAFIAUQByAFIAUQByAFIAUQByAFIAUQByAFIAUQByAFIAUQByAFIAUQByAFIAUQByAFIAUQByAFIAUgBxAKIARBoAFqIgIgBSkCADcCACACIAUpAgg3AgggAiAFKQIQNwIQIAIgBSkCGDcCGCACIAUpAiA3AiAgAiACEAcgAiACEAcgAiACEAcgAiACEAcgAiACEAcgAiACEAcgAiACEAcgAiACEAcgAiACEAcgAiACEAcgAiACEAcgAiACEAcgAiACEAcgAiACEAcgAiACEAcgAiACEAcgAiACEAcgAiACEAcgAiACEAcgAiACEAcgAiACEAcgAiACEAcgAiACEAcgAiACEAcgAiACEAcgAiACEAcgAiACEAcgAiACEAcgAiACEAcgAiACEAcgAiACEAcgAiACEAcgAiACEAcgAiACEAcgAiACEAcgAiACEAcgAiACEAcgAiACEAcgAiACEAcgAiACEAcgAiACEAcgAiACEAcgAiACEAcgAiACEAcgAiACIAUQCiAEQfgAaiIJIAIpAgA3AgAgCSACKQIINwIIIAkgAikCEDcCECAJIAIpAhg3AhggCSACKQIgNwIgQQAhBgNAIAkgCRAHIAZBAWoiBkHYAEcNAAsgCSAJIAIQCiADIAkpAgA3AgAgAyAJKQIINwIIIAMgCSkCEDcCECADIAkpAhg3AhggAyAJKQIgNwIgIAMgAxAHIAMgAxAHIAMgAxAHIAMgAxAHIAMgAxAHIAMgAxAHIAMgAxAHIAMgAxAHIAMgAxAHIAMgAxAHIAMgAxAHIAMgAxAHIAMgAxAHIAMgAxAHIAMgAxAHIAMgAxAHIAMgAxAHIAMgAxAHIAMgAxAHIAMgAxAHIAMgAxAHIAMgAxAHIAMgAxAHIAMgAxAHIAMgAxAHIAMgAxAHIAMgAxAHIAMgAxAHIAMgAxAHIAMgAxAHIAMgAxAHIAMgAxAHIAMgAxAHIAMgAxAHIAMgAxAHIAMgAxAHIAMgAxAHIAMgAxAHIAMgAxAHIAMgAxAHIAMgAxAHIAMgAxAHIAMgAxAHIAMgAxAHIAMgAyAFEAogCCADKQIANwIAIAggAykCCDcCCCAIIAMpAhA3AhAgCCADKQIYNwIYIAggAykCIDcCICAIIAgQByAIIAgQByAIIAgQByAIIAggChAKIAQgCCkCADcCACAEIAgpAgg3AgggBCAIKQIQNwIQIAQgCCkCGDcCGCAEIAgpAiA3AiAgBCAEEAcgBCAEEAcgBCAEEAcgBCAEEAcgBCAEEAcgBCAEEAcgBCAEEAcgBCAEEAcgBCAEEAcgBCAEEAcgBCAEEAcgBCAEEAcgBCAEEAcgBCAEEAcgBCAEEAcgBCAEEAcgBCAEEAcgBCAEEAcgBCAEEAcgBCAEEAcgBCAEEAcgBCAEEAcgBCAEEAcgBCAEIAcQCiAEIAQQByAEIAQQByAEIAQQByAEIAQQByAEIAQQByAEIAQgARAKIAQgBBAHIAQgBBAHIAQgBBAHIAQgBCALEAogBCAEEAcgBCAEEAcgACABIAQQCiAEJAQL7gQBG38gAEEkaiILKAIAIgJBFnYiAUHRB2wgACgCAGohBCABQQZ0IABBBGoiDCgCAGogBEEadmoiBUEadiAAQQhqIg0oAgBqIgZB////H3EhByAGQRp2IABBDGoiDigCAGoiCEEadiAAQRBqIg8oAgBqIQEgCEH///8fcSEJIAFB////H3EhCiABQRp2IABBFGoiECgCAGoiEUEadiAAQRhqIhIoAgBqIRMgEUH///8fcSEUIBNBGnYgAEEcaiIVKAIAaiIWQRp2IABBIGoiFygCAGohAyAWQf///x9xIRggA0H///8fcSEZIANBGnYgAkH///8BcWoiAkEWdiAFQf///x9xIgVBQGsgBEH///8fcSIEQdEHaiIaQRp2IhtqQf///x9LIAggBnEgAXEgEXEgE0H///8fcSIBcSAWcSADcUH///8fRiACQf///wFGcXFyIgNFBEAgACAENgIAIAwgBTYCACANIAc2AgAgDiAJNgIAIA8gCjYCACAQIBQ2AgAgEiABNgIAIBUgGDYCACAXIBk2AgAgCyACNgIADwsgGyAFaiADQQZ0aiIDQRp2IAdqIgRBGnYgCWoiBkEadiAKaiIHQRp2IBRqIghBGnYgAWoiAUEadiAYaiIJQRp2IBlqIgpBGnYgAmpB////AXEhAiAAIBpB////H3E2AgAgDCADQf///x9xNgIAIA0gBEH///8fcTYCACAOIAZB////H3E2AgAgDyAHQf///x9xNgIAIBAgCEH///8fcTYCACASIAFB////H3E2AgAgFSAJQf///x9xNgIAIBcgCkH///8fcTYCACALIAI2AgALsAIBCn8gACgCJCIBQRZ2IgJB0QdsIAAoAgBqIgNB////H3EiBEHQB3MhBSAEQQBHIAVB////H0dxBEBBAA8LIANBGnYgAkEGdHIgACgCBGoiAkEadiAAKAIIaiIDQRp2IAAoAgxqIgZBGnYgACgCEGoiB0EadiAAKAIUaiIIQRp2IAAoAhhqIglBGnYgACgCHGoiCkEadiAAKAIgaiIAQRp2IAFB////AXFqIQEgAkHAAHMgBXEgA3EgBnEgB3EgCHEgCXEgCnEgAHEgAUGAgIAec3FB////H0YEf0EBBSACQf///x9xIARyIANB////H3FyIAZB////H3FyIAdB////H3FyIAhB////H3FyIAlB////H3FyIApB////H3FyIABB////H3FyIAFyRQtBAXELmAIBBH8gACACaiEEIAFB/wFxIQEgAkHDAE4EQANAIABBA3EEQCAAIAE6AAAgAEEBaiEADAELCyAEQXxxIgVBQGohBiABIAFBCHRyIAFBEHRyIAFBGHRyIQMDQCAAIAZMBEAgACADNgIAIAAgAzYCBCAAIAM2AgggACADNgIMIAAgAzYCECAAIAM2AhQgACADNgIYIAAgAzYCHCAAIAM2AiAgACADNgIkIAAgAzYCKCAAIAM2AiwgACADNgIwIAAgAzYCNCAAIAM2AjggACADNgI8IABBQGshAAwBCwsDQCAAIAVIBEAgACADNgIAIABBBGohAAwBCwsLA0AgACAESARAIAAgAToAACAAQQFqIQAMAQsLIAQgAmsLqy8BnwF/IwQhDSMEQbAmaiQEIA1BgCZqIQ4gDUHYJWohESANQdgkaiEGIA1BhCRqIRIgDUGwI2ohDCANQcgfaiEWIA1ByBdqIUkgDUHoD2ohBSANQagNaiEJIA1BiAhqIQsCfwJAIAMoAgQgAygCAHIgAygCCHIgAygCDHIgAygCEHIgAygCFHIgAygCGHIgAygCHHJFDQAgAigCeA0AIA1BhAhqIgpBADYCACANQYAIaiANIANBBRArIgM2AgAgBiACIAooAgAiD0H8AGxqIhBBABAaIAwgBikCADcCACAMIAYpAgg3AgggDCAGKQIQNwIQIAwgBikCGDcCGCAMIAYpAiA3AiAgDEEoaiIKIAZBKGoiCCkCADcCACAKIAgpAgg3AgggCiAIKQIQNwIQIAogCCkCGDcCGCAKIAgpAiA3AiAgDEEANgJQIA4gBkHQAGoiChAHIBEgDiAKEAogEiAQIA4QCiASQShqIgggAiAPQfwAbGpBKGogERAKIBIgAiAPQfwAbGooAng2AlAgBSASKQIANwIAIAUgEikCCDcCCCAFIBIpAhA3AhAgBSASKQIYNwIYIAUgEikCIDcCICAFQShqIhAgCCkCADcCACAQIAgpAgg3AgggECAIKQIQNwIQIBAgCCkCGDcCGCAQIAgpAiA3AiAgBUHQAGoiCCACIA9B/ABsakHQAGoiAikCADcCACAIIAIpAgg3AgggCCACKQIQNwIQIAggAikCGDcCGCAIIAIpAiA3AiAgBUH4AGoiE0EANgIAIAkgCikCADcCACAJIAopAgg3AgggCSAKKQIQNwIQIAkgCikCGDcCGCAJIAopAiA3AiAgBUH8AGoiAiAFIAwgCUEoaiIUEBAgBUH4AWoiCCACIAwgCUHQAGoiBxAQIAVB9AJqIgIgCCAMIAlB+ABqIh0QECAFQfADaiIIIAIgDCAJQaABaiIeEBAgBUHsBGoiAiAIIAwgCUHIAWoiHxAQIAVB6AVqIg8gAiAMIAlB8AFqIiEQECAFQeQGaiIIIA8gDCAJQZgCaiIPEBAgBUG0B2oiAiACIAoQCiALQcwEaiIJIAgpAgA3AgAgCSAIKQIINwIIIAkgCCkCEDcCECAJIAgpAhg3AhggCSAIKQIgNwIgIAtB9ARqIgkgBUGMB2oiCikCADcCACAJIAopAgg3AgggCSAKKQIQNwIQIAkgCikCGDcCGCAJIAopAiA3AiAgC0GYBWoiIigCACIjQRZ2IghB0QdsIAkoAgBqIQogCEEGdCALQfgEaiIkKAIAaiAKQRp2aiIlQRp2IAtB/ARqIiYoAgBqIidBGnYgC0GABWoiKCgCAGoiKUEadiALQYQFaiIqKAIAaiIrQRp2IAtBiAVqIiwoAgBqIi1BGnYgC0GMBWoiLigCAGoiL0EadiALQZAFaiIwKAIAaiIxQRp2IAtBlAVqIjIoAgBqIQggCSAKQf///x9xNgIAICQgJUH///8fcTYCACAmICdB////H3E2AgAgKCApQf///x9xNgIAICogK0H///8fcTYCACAsIC1B////H3E2AgAgLiAvQf///x9xNgIAIDAgMUH///8fcTYCACAyIAhB////H3E2AgAgIiAIQRp2ICNB////AXFqNgIAIBYgAikCADcCACAWIAIpAgg3AgggFiACKQIQNwIQIBYgAikCGDcCGCAWIAIpAiA3AiAgC0EANgKcBSAGIA8pAgA3AgAgBiAPKQIINwIIIAYgDykCEDcCECAGIA8pAhg3AhggBiAPKQIgNwIgIA4gBhAHIBEgDiAGEAogC0H4A2ogBUHoBWogDhAKIAtBoARqIAVBkAZqIBEQCiALIAUoAuAGNgLIBCAGIAYgIRAKIA4gBhAHIBEgDiAGEAogC0GkA2ogBUHsBGogDhAKIAtBzANqIAVBlAVqIBEQCiALIAUoAuQFNgL0AyAGIAYgHxAKIA4gBhAHIBEgDiAGEAogC0HQAmogBUHwA2ogDhAKIAtB+AJqIAVBmARqIBEQCiALIAUoAugENgKgAyAGIAYgHhAKIA4gBhAHIBEgDiAGEAogC0H8AWogBUH0AmogDhAKIAtBpAJqIAVBnANqIBEQCiALIAUoAuwDNgLMAiAGIAYgHRAKIA4gBhAHIBEgDiAGEAogC0GoAWogBUH4AWogDhAKIAtB0AFqIAVBoAJqIBEQCiALIAUoAvACNgL4ASAGIAYgBxAKIA4gBhAHIBEgDiAGEAogC0HUAGogBUH8AGogDhAKIAtB/ABqIAVBpAFqIBEQCiALIAUoAvQBNgKkASAGIAYgFBAKIA4gBhAHIBEgDiAGEAogCyAFIA4QCiALQShqIBAgERAKIAsgEygCADYCUEEBIUogA0EASgR/IAMFQQALDAELIBZBATYCACAWQQRqIgJCADcCACACQgA3AgggAkIANwIQIAJCADcCGCACQQA2AiBBASFLQQALIQIgBARAIEkgBEEPECsiAyFMIAMgAkoEQCADIQILCyABQfgAaiIdQQE2AgAgAUIANwIAIAFCADcCCCABQgA3AhAgAUIANwIYIAFCADcCICABQgA3AiggAUIANwIwIAFCADcCOCABQUBrQgA3AgAgAUIANwJIIAFCADcCUCABQgA3AlggAUIANwJgIAFCADcCaCABQgA3AnAgAkEATARAIA0kBA8LIA1B6CFqISsgDUHwIGohLCANQcggaiFNIA1B8B9qIgVB0ABqIWogAUHQAGohHiAGQQRqIU4gBkEIaiFPIAZBDGohUCAGQRBqIVEgBkEUaiFSIAZBGGohUyAGQRxqIVQgBkEgaiFVIAZBJGohViABQShqIRMgDEEEaiFXIAxBCGohWCAMQQxqIVkgDEEQaiFaIAxBFGohWyAMQRhqIVwgDEEcaiFdIAxBIGohXiAMQSRqIV8gBUEoaiFgIA1B4CJqIghBBGohayAIQQhqIWwgCEEMaiFtIAhBEGohbiAIQRRqIW8gCEEYaiFwIAhBHGohcSAIQSBqIXIgCEEkaiFzIBJBBGohdCASQQhqIXUgEkEMaiF2IBJBEGohdyASQRRqIXggEkEYaiF5IBJBHGoheiASQSBqIXsgEkEkaiF8IA1BuCJqIhBBBGohfSAQQQhqIX4gEEEMaiF/IBBBEGohgAEgEEEUaiGBASAQQRhqIYIBIBBBHGohgwEgEEEgaiGEASAQQSRqIYUBIA1BiCNqIg9BBGohhgEgD0EIaiGHASAPQQxqIYgBIA9BEGohiQEgD0EUaiGKASAPQRhqIYsBIA9BHGohjAEgD0EgaiGNASAPQSRqIY4BIAFBBGohYSABQQhqIWIgAUEMaiFjIAFBEGohZCABQRRqIWUgAUEYaiFmIAFBHGohZyABQSBqIWggAUEkaiFpIA1BwCFqIgpBBGohLSAKQQhqIS4gCkEMaiEvIApBEGohMCAKQRRqITEgCkEYaiEyIApBHGohOSAKQSBqITogCkEkaiE7IA1BkCJqIhRBBGohjwEgFEEIaiGQASAUQQxqIZEBIBRBEGohkgEgFEEUaiGTASAUQRhqIZQBIBRBHGohlQEgFEEgaiGWASAUQSRqIZcBIAFBLGohPCABQTBqIT0gAUE0aiE+IAFBOGohPyABQTxqIUAgAUFAayFBIAFBxABqIUIgAUHIAGohQyABQcwAaiFEIA1BmCFqIglBBGohmAEgCUEIaiGZASAJQQxqIZoBIAlBEGohmwEgCUEUaiGcASAJQRhqIZ0BIAlBHGohngEgCUEgaiGfASAJQSRqIaABIAFB0ABqIaEBIAFB1ABqIR8gBUEoaiEhIAVBLGohIiAFQTBqISMgBUE0aiEkIAVBOGohJSAFQTxqISYgBUFAayEnIAVBxABqISggBUHIAGohKSAFQcwAaiEqIA1BgAhqKAIAIaIBA0AgAkF/aiEEIAEgAUEAEBogSyACIKIBSnJFBEBBACEDA0AgDSADQYgIbGogBEECdGooAgAiBwRAIAsgA0EDdEHUAGxqIRUgB0EASgRAIAUgFSAHQX9qQQJtQdQAbGoiBykCADcCACAFIAcpAgg3AgggBSAHKQIQNwIQIAUgBykCGDcCGCAFIAcpAiA3AiAgBSAHKQIoNwIoIAUgBykCMDcCMCAFIAcpAjg3AjggBUFAayAHQUBrKQIANwIAIAUgBykCSDcCSCAFIAcoAlA2AlAFIAUgFSAHQX9zQQJtQdQAbGoiBykCADcCACAFIAcpAgg3AgggBSAHKQIQNwIQIAUgBykCGDcCGCAFIAcpAiA3AiAgBSAHKQIoNwIoIAUgBykCMDcCMCAFIAcpAjg3AjggBUFAayAHQUBrKQIANwIAIAUgBykCSDcCSCAFIAcoAlA2AlAgIUG84f//ACAhKAIAazYCACAiQfz9//8AICIoAgBrNgIAICNB/P///wAgIygCAGs2AgAgJEH8////ACAkKAIAazYCACAlQfz///8AICUoAgBrNgIAICZB/P///wAgJigCAGs2AgAgJ0H8////ACAnKAIAazYCACAoQfz///8AICgoAgBrNgIAIClB/P///wAgKSgCAGs2AgAgKkH8//8HICooAgBrNgIACyABIAEgBUEAEBALIANBAWoiAyBKRw0ACwsgAiBMTARAIEkgBEECdGooAgAiAwRAIAAoAgAhByADQQBKBEAgBSAHIANBf2pBAm1BBnRqECMFIAUgByADQX9zQQJtQQZ0ahAjICFBvOH//wAgISgCAGs2AgAgIkH8/f//ACAiKAIAazYCACAjQfz///8AICMoAgBrNgIAICRB/P///wAgJCgCAGs2AgAgJUH8////ACAlKAIAazYCACAmQfz///8AICYoAgBrNgIAICdB/P///wAgJygCAGs2AgAgKEH8////ACAoKAIAazYCACApQfz///8AICkoAgBrNgIAICpB/P//ByAqKAIAazYCAAsCQCBqKAIARQRAIB0oAgAEQCAdQQA2AgAgLCAWEAcgTSAsIBYQCiABIAUgLBAKIBMgYCBNEAogoQFBATYCACAfQgA3AgAgH0IANwIIIB9CADcCECAfQgA3AhggH0EANgIgDAILIB1BADYCACAOIB4gFhAKIBEgDhAHIAYgASkCADcCACAGIAEpAgg3AgggBiABKQIQNwIQIAYgASkCGDcCGCAGIAEpAiA3AiAgVigCACIVQRZ2IgdB0QdsIAYoAgBqIQMgB0EGdCBOKAIAaiADQRp2aiIXQRp2IE8oAgBqIhhBGnYgUCgCAGoiGUEadiBRKAIAaiIaQRp2IFIoAgBqIhtBGnYgUygCAGoiHEEadiBUKAIAaiIgQRp2IFUoAgBqIQcgBiADQf///x9xIkU2AgAgTiAXQf///x9xIhc2AgAgTyAYQf///x9xIhg2AgAgUCAZQf///x9xIhk2AgAgUSAaQf///x9xIho2AgAgUiAbQf///x9xIhs2AgAgUyAcQf///x9xIhw2AgAgVCAgQf///x9xIiA2AgAgVSAHQf///x9xIkY2AgAgViAHQRp2IBVB////AXFqIhU2AgAgEiAFIBEQCiAMIBMpAgA3AgAgDCATKQIINwIIIAwgEykCEDcCECAMIBMpAhg3AhggDCATKQIgNwIgIF8oAgAiR0EWdiIHQdEHbCAMKAIAaiEDIAdBBnQgVygCAGogA0EadmoiM0EadiBYKAIAaiI0QRp2IFkoAgBqIjVBGnYgWigCAGoiNkEadiBbKAIAaiI3QRp2IFwoAgBqIjhBGnYgXSgCAGoiSEEadiBeKAIAaiEHIAwgA0H///8fcSIDNgIAIFcgM0H///8fcSIzNgIAIFggNEH///8fcSI0NgIAIFkgNUH///8fcSI1NgIAIFogNkH///8fcSI2NgIAIFsgN0H///8fcSI3NgIAIFwgOEH///8fcSI4NgIAIF0gSEH///8fcSJINgIAIF4gB0H///8fcSKjATYCACBfIAdBGnYgR0H///8BcWoiBzYCACAPIGAgERAKIA8gDyAOEAogCEG84f//ACBFayASKAIAajYCACBrQfz9//8AIBdrIHQoAgBqNgIAIGxB/P///wAgGGsgdSgCAGo2AgAgbUH8////ACAZayB2KAIAajYCACBuQfz///8AIBprIHcoAgBqNgIAIG9B/P///wAgG2sgeCgCAGo2AgAgcEH8////ACAcayB5KAIAajYCACBxQfz///8AICBrIHooAgBqNgIAIHJB/P///wAgRmsgeygCAGo2AgAgc0H8//8HIBVrIHwoAgBqNgIAIBBBvOH//wAgA2sgDygCAGo2AgAgfUH8/f//ACAzayCGASgCAGo2AgAgfkH8////ACA0ayCHASgCAGo2AgAgf0H8////ACA1ayCIASgCAGo2AgAggAFB/P///wAgNmsgiQEoAgBqNgIAIIEBQfz///8AIDdrIIoBKAIAajYCACCCAUH8////ACA4ayCLASgCAGo2AgAggwFB/P///wAgSGsgjAEoAgBqNgIAIIQBQfz///8AIKMBayCNASgCAGo2AgAghQFB/P//ByAHayCOASgCAGo2AgAgCBAXRQRAIBQgEBAHICsgCBAHIAogCCArEAogHiAeIAgQCiAJIAYgKxAKIAEgCSkCADcCACABIAkpAgg3AgggASAJKQIQNwIQIAEgCSkCGDcCGCABIAkpAiA3AiAgLSgCACEDIC4oAgAhByAvKAIAIRUgMCgCACEXIDEoAgAhGCAyKAIAIRkgOSgCACEaIDooAgAhGyA7KAIAIRwgYSgCAEF+bCEgIGIoAgBBfmwhRSBjKAIAQX5sIUYgZCgCAEF+bCFHIGUoAgBBfmwhMyBmKAIAQX5sITQgZygCAEF+bCE1IGgoAgBBfmwhNiBpKAIAQX5sITcgASABKAIAQX5sQfjC//8BaiAKKAIAayAUKAIAaiI4NgIAIGEgIEH4+///AWogA2sgjwEoAgBqIgM2AgAgYiBFQfj///8BaiAHayCQASgCAGoiBzYCACBjIEZB+P///wFqIBVrIJEBKAIAaiIVNgIAIGQgR0H4////AWogF2sgkgEoAgBqIhc2AgAgZSAzQfj///8BaiAYayCTASgCAGoiGDYCACBmIDRB+P///wFqIBlrIJQBKAIAaiIZNgIAIGcgNUH4////AWogGmsglQEoAgBqIho2AgAgaCA2Qfj///8BaiAbayCWASgCAGoiGzYCACBpIDdB+P//D2ogHGsglwEoAgBqIhw2AgAgE0G0pP//AiA4ayAJKAIAajYCACA8QfT5//8CIANrIJgBKAIAajYCACA9QfT///8CIAdrIJkBKAIAajYCACA+QfT///8CIBVrIJoBKAIAajYCACA/QfT///8CIBdrIJsBKAIAajYCACBAQfT/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NwIIIAAgAykCEDcCECAAIAMpAhg3AhggACADKQIgNwIgQfb6/78CIABBBGoiASgCAEECdGshD0H2//+/AiAAQQhqIhAoAgBBAnRrIRFB9v//vwIgAEEMaiIbKAIAQQJ0ayEcQfb//78CIABBEGoiHSgCAEECdGshHkH2//+/AiAAQRRqIh8oAgBBAnRrISBB9v//vwIgAEEYaiIhKAIAQQJ0ayEiQfb//78CIABBHGoiIygCAEECdGshJEH2//+/AiAAQSBqIiUoAgBBAnRrISZB9v//EyAAQSRqIicoAgBBAnRrISggAEHWs/+/AiAAKAIAQQJ0ayAHKAIAIilqNgIAIAEgDyAHQQRqIg8oAgAiAWo2AgAgECARIAdBCGoiECgCACIRajYCACAbIBwgB0EMaiIbKAIAIhxqNgIAIB0gHiAHQRBqIh0oAgAiHmo2AgAgHyAgIAdBFGoiHygCACIgajYCACAhICIgB0EYaiIhKAIAIiJqNgIAICMgJCAHQRxqIiMoAgAiJGo2AgAgJSAmIAdBIGoiJSgCACImajYCACAnICggB0EkaiInKAIAIihqNgIAIAIoAgBBBmwhKiAGKAIAQQZsISsgCCgCAEEGbCEsIAkoAgBBBmwhLSAKKAIAQQZsIS4gCygCAEEGbCEvIAwoAgBBBmwhMCANKAIAQQZsITEgDigCAEEGbCEyIAMgAygCAEEGbEG84f//ACApa2o2AgAgAiAqQfz9//8AIAFrajYCACAGICtB/P///wAgEWtqNgIAIAggLEH8////ACAca2o2AgAgCSAtQfz///8AIB5rajYCACAKIC5B/P///wAgIGtqNgIAIAsgL0H8////ACAia2o2AgAgDCAwQfz///8AICRrajYCACANIDFB/P///wAgJmtqNgIAIA4gMkH8//8HIChrajYCACAAQShqIgEgBSADEAogB0Ga0v+/ASAEKAIAayICNgIAIA9B+vz/vwEgEigCAGsiAzYCACAQQfr//78BIBMoAgBrIgU2AgAgG0H6//+/ASAUKAIAayIHNgIAIB1B+v//vwEgFSgCAGsiBjYCACAfQfr//78BIBYoAgBrIgg2AgAgIUH6//+/ASAXKAIAayIJNgIAICNB+v//vwEgGCgCAGsiCjYCACAlQfr//78BIBkoAgBrIgs2AgAgJ0H6//8LIBooAgBr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BGohBCAGIAgQDEEBIANrIgNBwABJBH8gBAUgAkGBf2oiDUFAcSIOIAJrQcSSBGohBSADIQIgBCEDA0AgCCADKQAANwAAIAggAykACDcACCAIIAMpABA3ABAgCCADKQAYNwAYIAggAykAIDcAICAIIAMpACg3ACggCCADKQAwNwAwIAggAykAODcAOCADQUBrIQMgBiAIEAwgAkFAaiICQcAATw0ACyANIA5rIQMgBQshAiADBEAgAiEEQQAhAgwCCwsMAQsgCCACaiAEIAMQCxoLIAogECgCACICQR12QRh0NgIAIAogAkELdEGAgPwHcSACQRt0ciACQQV2QYD+A3FyIAJBFXZB/wFxcjYCBCAQIAJBNyACa0E/cUEBaiIDajYCACAGQSBqIQUCQAJAIANBwAAgAkE/cSICayIESQRAQfmMBCEEDAEFIAUgAmpB+YwEIAQQCxogBEH5jARqIQIgBiAFEAwgAyAEayIDQcAATwRAA0AgBSACKQAANwAAIAUgAikACDcACCAFIAIpABA3ABAgBSACKQAYNwAYIAUgAikAIDcAICAFIAIpACg3ACggBSACKQAwNwAwIAUgAikAODcAOCACQUBrIQIgBiAFEAwgA0FAaiIDQcAATw0ACwsgAwRAIAIhBEEAIQIMAgsLDAELIAUgAmogBCADEAsaCyAQKAIAIgJBP3EhBCAQIAJBCGo2AgAgBkEgaiEFAkACQEHAACAEayIDQQhLBEAgCiECQQghAwwBBSAFIARqIAogAxALGiAKIANqIQIgBiAFEAxBCCADayIDQcAATwRAA0AgBSACKQAANwAAIAUgAikACDcACCAFIAIpABA3ABAgBSACKQAYNwAYIAUgAikAIDcAICAFIAIpACg3ACggBSACKQAwNwAwIAUgAikAODcAOCACQUBrIQIgBiAFEAwgA0FAaiIDQcAATw0ACwsgAwRAQQAhBAwCCwsMAQsgBSAEaiACIAMQCxoLIAYoAgAQCSESIAZBADYCACAGQQRqIh4oAgAQCSEIIB5BADYCACAGQQhqIh8oAgAQCSENIB9BADYCACAGQQxqIiAoAgAQCSEOICBBADYCACAGQRBqIiEoAgAQCSEFICFBADYCACAGQRRqIiMoAgAQCSEEICNBADYCACAGQRhqIhMoAgAQCSEDIBNBADYCACAGQRxqIh0oAgAQ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EAggAyADEAggAyADEAggAyADEAggAyADEAggAyADEAggAyADEAggAyADEAggAyADEAggAyADEAggAyADEAggAyADEAggAyADEAggAyADEAggAyADEAggAyADEAggAyADEAggAyADEAggAyADEAggAyADEAggAyADEAggAyADEAggAyADEAggAyADEAggAyADEAggAyADEAggAyADEAggAyADEAggAyADEAggAyADEAggAyADEAggAyADEAggAyADEAggAyADEAggAyADEAggAyADEAggAyADEAggAyADEAggAyADEAggAyADEAggAyADEAggAyADEAggAyADEAggAyADEAggAyADEAggAyADIAIQDSAEQaABaiICIAMQCCACIAIQCCACIAIQCCACIAIQCCACIAIQCCACIAIQCCACIAIQCCACIAIQCCACIAIQCCACIAIQCCACIAIQCCACIAIQCCACIAIQCCACIAIQCCACIAIgBRANIAIgAhAIIAIgAhAIIAIgAhAIIAIgAiAJEA0gAiACEAggAiACEAggAiACEAggAiACEAggAiACIAYQDSACIAIQCCACIAIQCCACIAIQCCACIAIQCCACIAIgCRANIAIgAhAIIAIgAhAIIAIgAhAIIAIgAhAIIAIgAhAIIAIgAiAKEA0gAiACEAggAiACEAggAiACEAggAiACEAggAiACIAoQDSACIAIQCCACIAIQCCACIAIQCCACIAIQCCACIAIgBhANIAIgAhAIIAIgAhAIIAIgAhAIIAIgAhAIIAIgAhAIIAIgAiAGEA0gAiACEAggAiACEAggAiACEAggAiACEAggAiACEAggAiACEAggAiACIAQQDSACIAIQCCACIAIQCCACIAIQCCACIAIQCCACIAIgCRANIAIgAhAIIAIgAhAIIAIgAhAIIAIgAiAGEA0gAiACEAggAiACEAggAiACEAggAiACEAggAiACEAggAiACIAsQDSACIAIQCCACIAIQCCACIAIQCCACIAIQCCACIAIQCCACIAIQCCACIAIgCRANIAIgAhAIIAIgAhAIIAIgAhAIIAIgAhAIIAIgAhAIIAIgAhAIIAIgAhAIIAIgAhAIIAIgAhAIIAIgAhAIIAIgAiAGEA0gAiACEAggAiACEAggAiACEAggAiACEAggAiACIAYQDSACIAIQCCACIAIQCCACIAIQCCACIAIQCCACIAIQCCACIAIQCCACIAIQCCACIAIQCCACIAIQCCACIAIgCBANIAIgAhAIIAIgAhAIIAIgAhAIIAIgAhAIIAIgAhAIIAIgAiALEA0gAiACEAggAiACEAggAiACEAggAiACEAggAiACEAggAiACEAggAiACIAoQDSACIAIQCCACIAIQCCACIAIQCCACIAIQCCACIAIgBBANIAIgAhAIIAIgAhAIIAIgAhAIIAIgAhAIIAIgAhAIIAIgAiAMEA0gAiACEAggAiACEAggAiACEAggAiACEAggAiACEAggAiACEAggAiACIAQQDSACIAIQCCACIAIQCCACIAIQCCACIAIQCCACIAIQCCACIAIQCCACIAIQCCACIAIQCCACIAIQCCACIAIQCCACIAIgBBANIAIgAhAIIAIgAhAIIAIgAhAIIAIgAhAIIAIgAiALEA0gAiACEAggAiACEAggAiACEAggAiACEAggAiACEAggAiACEAggAiACIAEQDSACIAIQCCACIAIQCCACIAIQCCACIAIQCCACIAIQCCACIAIQCCACIAIQCCACIAIQCCAAIAIgBxANIAQkBAvYAwETfyMEIQIjBEHQAGokBCACIAFB0ABqEAcgAiACIAAQCiABKAIkIgZBFnYiAEHRB2wgASgCAGohBCAAQQZ0IAEoAgRqIARBGnZqIgdBGnYgASgCCGoiCEEadiABKAIMaiIJQRp2IAEoAhBqIgpBGnYgASgCFGoiC0EadiABKAIYaiIMQRp2IAEoAhxqIg1BGnYgASgCIGohBUH8/f//ACACKAIEayEOQfz///8AIAIoAghrIQ9B/P///wAgAigCDGshEEH8////ACACKAIQayERQfz///8AIAIoAhRrIRJB/P///wAgAigCGGshE0H8////ACACKAIcayEUQfz///8AIAIoAiBrIQEgAigCJCEAIAJBKGoiA0G84f//ACACKAIAayAEQf///x9xajYCACADIA4gB0H///8fcWo2AgQgAyAPIAhB////H3FqNgIIIAMgECAJQf///x9xajYCDCADIBEgCkH///8fcWo2AhAgAyASIAtB////H3FqNgIUIAMgEyAMQf///x9xajYCGCADIBQgDUH///8fcWo2AhwgAyABIAVB////H3FqNgIgIAMgBkH///8BcUH8//8HaiAAayAFQRp2ajYCJCADEBchACACJAQgAAuXEAEKfyMEIQQjBEHgA2okBCAEQdAAaiEDIARBKGohCCAEQbgDaiILIAEQByALIAsgARAKIARBkANqIgogCxAHIAogCiABEAogBEHoAmoiBiAKKQIANwIAIAYgCikCCDcCCCAGIAopAhA3AhAgBiAKKQIYNwIYIAYgCikCIDcCICAGIAYQByAGIAYQByAGIAYQByAGIAYgChAKIARBwAJqIgIgBikCADcCACACIAYpAgg3AgggAiAGKQIQNwIQIAIgBikCGDcCGCACIAYpAiA3AiAgAiACEAcgAiACEAcgAiACEAcgAiACIAoQCiAEQZgCaiIGIAIpAgA3AgAgBiACKQIINwIIIAYgAikCEDcCECAGIAIpAhg3AhggBiACKQIgNwIgIAYgBhAHIAYgBhAHIAYgBiALEAogBEHwAWoiByAGKQIANwIAIAcgBikCCDcCCCAHIAYpAhA3AhAgByAGKQIYNwIYIAcgBikCIDcCICAHIAcQByAHIAcQByAHIAcQByAHIAcQByAHIAcQByAHIAcQByAHIAcQByAHIAcQByAHIAcQByAHIAcQByAHIAcQByAHIAcgBhAKIARByAFqIgUgBykCADcCACAFIAcpAgg3AgggBSAHKQIQNwIQIAUgBykCGDcCGCAFIAcpAiA3AiAgBSAFEAcgBSAFEAcgBSAFEAcgBSAFEAcgBSAFEAcgBSAFEAcgBSAFEAcgBSAFEAcgBSAFEAcgBSAFEAcgBSAFEAcgBSAFEAcgBSAFEAcgBSAFEAcgBSAFEAcgBSAFEAcgBSAFEAcgBSAFEAcgBSAFEAcgBSAFEAcgBSAFEAcgBSAFEAcgBSAFIAcQCiAEQaABaiICIAUpAgA3AgAgAiAFKQIINwIIIAIgBSkCEDcCECACIAUpAhg3AhggAiAFKQIgNwIgIAIgAhAHIAIgAhAHIAIgAhAHIAIgAhAHIAIgAhAHIAIgAhAHIAIgAhAHIAIgAhAHIAIgAhAHIAIgAhAHIAIgAhAHIAIgAhAHIAIgAhAHIAIgAhAHIAIgAhAHIAIgAhAHIAIgAhAHIAIgAhAHIAIgAhAHIAIgAhAHIAIgAhAHIAIgAhAHIAIgAhAHIAIgAhAHIAIgAhAHIAIgAhAHIAIgAhAHIAIgAhAHIAIgAhAHIAIgAhAHIAIgAhAHIAIgAhAHIAIgAhAHIAIgAhAHIAIgAhAHIAIgAhAHIAIgAhAHIAIgAhAHIAIgAhAHIAIgAhAHIAIgAhAHIAIgAhAHIAIgAhAHIAIgAhAHIAIgAiAFEAogBEH4AGoiCSACKQIANwIAIAkgAikCCDcCCCAJIAIpAhA3AhAgCSACKQIYNwIYIAkgAikCIDcCIEEAIQYDQCAJIAkQByAGQQFqIgZB2ABHDQALIAkgCSACEAogAyAJKQIANwIAIAMgCSkCCDcCCCADIAkpAhA3AhAgAyAJKQIYNwIYIAMgCSkCIDcCICADIAMQByADIAMQByADIAMQByADIAMQByADIAMQByADIAMQByADIAMQByADIAMQByADIAMQByADIAMQByADIAMQByADIAMQByADIAMQByADIAMQByADIAMQByADIAMQByADIAMQByADIAMQByADIAMQByADIAMQByADIAMQByADIAMQByADIAMQByADIAMQByADIAMQByADIAMQByADIAMQByADIAMQByADIAMQByADIAMQByADIAMQByADIAMQByADIAMQByADIAMQByADIAMQByADIAMQByADIAMQByADIAMQByADIAMQByADIAMQByADIAMQByADIAMQByADIAMQByADIAMQByADIAMgBRAKIAggAykCADcCACAIIAMpAgg3AgggCCADKQIQNwIQIAggAykCGDcCGCAIIAMpAiA3AiAgCCAIEAcgCCAIEAcgCCAIEAcgCCAIIAoQCiAEIAgpAgA3AgAgBCAIKQIINwIIIAQgCCkCEDcCECAEIAgpAhg3AhggBCAIKQIgNwIgIAQgBBAHIAQgBBAHIAQgBBAHIAQgBBAHIAQgBBAHIAQgBBAHIAQgBBAHIAQgBBAHIAQgBBAHIAQgBBAHIAQgBBAHIAQgBBAHIAQgBBAHIAQgBBAHIAQgBBAHIAQgBBAHIAQgBBAHIAQgBBAHIAQgBBAHIAQgBBAHIAQgBBAHIAQgBBAHIAQgBBAHIAQgBCAHEAogBCAEEAcgBCAEEAcgBCAEEAcgBCAEEAcgBCAEEAcgBCAEEAcgBCAEIAsQCiAEIAQQByAAIAQQByAEIAAQB0G84f//ACAEKAIAayABKAIAaiABKAIkQfz//wcgBCgCJGtqIgpBFnYiBkHRB2xqIQBB/P///wAgBCgCIGsgASgC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ACggBCABKQAwNwAwIAQgASkAODcAOCABQUBrIQEgBiAEEAwgAkFAaiICQcAATw0ACwsgAgRAQQAhAwwCCwsMAQsgBCADaiABIAIQCxoLIAYoAgAQCSEIIAZBADYCACAKKAIAEAkhCSAKQQA2AgAgCygCABAJIQogC0EANgIAIAwoAgAQCSELIAxBADYCACANKAIAEAkhByANQQA2AgAgDigCABAJIQMgDkEANgIAIA8oAgAQCSECIA9BADYCACARKAIAEAkhASAFIAg2AgAgBSAJNgIEIAUgCjYCCCAFIAs2AgwgBSAHNgIQIAUgAzYCFCAFIAI2AhggBSABNgIcIAAgBSAQEA4gBSQEC+YBAQN/IABB4ABqIgMoAgAiBEE/cSEFIAMgBCACajYCAEHAACAFayIEIAJNBEAgAEEgaiIDIAVqIAEgBBALGiABIARqIQEgACADEAwgAiAEayICQcAASQRAQQAhBQUDQCADIAEpAAA3AAAgAyABKQAINwAIIAMgASkAEDcAECADIAEpABg3ABggAyABKQAgNwAgIAMgASkAKDcAKCADIAEpADA3ADAgAyABKQA4NwA4IAFBQGshASAAIAMQDCACQUBqIgJBwABPDQBBACEFCwsLIAJFBEAPCyAAQSBqIAVqIAEgAhALGgvASwEzfyMEIQkjBEHwAWokBCAAQoGChIiQoMCAATcCACAAQoGChIiQoMCAATcCCCAAQoGChIiQoMCAATcCECAAQoGChIiQoMCAATcCGCAAQSBqIhlCADcCACAZQgA3AgggGUIANwIQIBlCADcCGCAJIgogGRATIApB4ABqIg0oAgAiCUE/cSEEIA0gCUEgajYCACAKQSBqIQsCQAJAQcAAIARrIglBIEsEQCAAIQkgBCEDQSAhCAwBBSALIARqIAAgCRALGiAAIAlqIQMgCiALEAxBICAJayIIQcAASQR/IAMFIABB5ABqIARBoH9qIgdBQHEiBkEcciAEa2ohBCAIIQkgAyEIA0AgCyAIKQAANwAAIAsgCCkACDcACCALIAgpABA3ABAgCyAIKQAYNwAYIAsgCCkAIDcAICALIAgpACg3ACggCyAIKQAwNwAwIAsgCCkAODcAOCAIQUBrIQggCiALEAwgCUFAaiIJQcAATw0ACyAHIAZrIQggBAshCSAIBEBBACEDDAILCwwBCyAL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cXIgAUEVdkH/AXFyNgIEIA0gAUE3IAFrQT9xQQFqIgJqNgIAIApBIGohBAJAAkAgAkHAACABQT9xIgFrIgNJBEBB+YwEIQMMAQUgBCABakH5jAQgAxALGiADQfmMBGohASAKIAQQDCACIANrIgJBwABPBEADQCAEIAEpAAA3AAAgBCABKQAINwAIIAQgASkAEDcAECAEIAEpABg3ABggBCABKQAgNwAgIAQgASkAKDcAKCAEIAEpADA3ADAgBCABKQA4NwA4IAFBQGshASAKIAQQDCACQUBqIgJBwABPDQALCyACBEAgASEDQQAhAQwCCwsMAQsgBCABaiADIAIQCxoLIA0oAgAiAUE/cSEDIA0gAUEIajYCACAKQSBqIQQCQAJAQcAAIANrIgJBCEsEQCAJIQFBCCECDAEFIAQgA2ogCSACEAsaIAkgAmohASAKIAQQDEEIIAJrIgJBwABPBEADQCAEIAEpAAA3AAAgBCABKQAINwAIIAQgASkAEDcAECAEIAEpABg3ABggBCABKQAgNwAgIAQgASkAKDcAKCAEIAEpADA3ADAgBCABKQA4NwA4IAFBQGshASAKIAQQDCACQUBqIgJBwABPDQALCyACBEBBACEDDAILCwwBCyAEIANqIAEgAhALGgsgCigCABAJIQ4gCkEANgIAIBooAgAQCSELIBpBADYCACAbKAIAEAkhByAbQQA2AgAgHCgCABAJIQYgHEEANgIAIB0oAgAQCSEEIB1BADYCACAeKAIAEAkhAyAeQQA2AgAgHygCABAJIQIgH0EANgIAICAoAgAQCSEBICBBADYCACAIIA42AgAgIiALNgIAICMgBzYCACAkIAY2AgAgJSAENgIAICYgAzYCACAnIAI2AgAgKCABNgIAIBEoAgAiAUE/cSEDIBEgAUEgajYCAAJAAkBBwAAgA2siBEEgSwRAIAghASADIQJBICEDDAEFIAUgA2ogCCAEEAsaIAggBGohAiAMIAUQDEEgIARrIgFBwABJBH8gASEDIAIFIANBoH9qIgNBBnZBAXQhBiAEQUBqIQQDQCAFIAIpAAA3AAAgBSACKQAINwAIIAUgAikAEDcAECAFIAIpABg3ABggBSACKQAgNwAgIAUgAikAKDcAKCAFIAIpADA3ADAgBSACKQA4NwA4IAJBQGshAiAMIAUQDCABQUBqIgFBwABPDQALIANBP3EhAyAIIAZBBGpBBXRqIARqCyEBIAMEQEEAIQIMAgsLDAELIAUgAmogASADEAsaCyAJIBEoAgAiAUEddkEYdDYCACAJIAFBC3RBgID8B3EgAUEbdHIgAUEFdkGA/gNxciABQRV2Qf8BcXI2AgQgESABQTcgAWtBP3FBAWoiAmo2AgACQAJAIAJBwAAgAUE/cSIBayIDSQRAQfmMBCEDDAEFIAUgAWpB+YwEIAMQCxogA0H5jARqIQEgDCAFEAwgAiADayICQcAATwRAA0AgBSABKQAANwAAIAUgASkACDcACCAFIAEpABA3ABAgBSABKQAYNwAYIAUgASkAIDcAICAFIAEpACg3ACggBSABKQAwNwAwIAUgASkAODcAOCABQUBrIQEgDCAFEAwgAkFAaiICQcAATw0ACwsgAgRAIAEhA0EAIQEMAgsLDAELIAUgAWogAyACEAsaCyARKAIAIgFBP3EhAyARIAFBCGo2AgACQAJAQcAAIANrIgJBCEsEQCAJIQFBCCECDAEFIAUgA2ogCSACEAsaIAkgAmohASAMIAUQDEEIIAJrIgJBwABPBEADQCAFIAEpAAA3AAAgBSABKQAINwAIIAUgASkAEDcAECAFIAEpABg3ABggBSABKQAgNwAgIAUgASkAKDcAKCAFIAEpADA3ADAgBSABKQA4NwA4IAFBQGshASAMIAUQDCACQUBqIgJBwABPDQALCyACBEBBACEDDAILCwwBCyAFIANqIAEgAhALGgsgDCgCABAJIQ4gDEEANgIAIBMoAgAQCSELIBNBADYCACAUKAIAEAkhByAUQQA2AgAgFSgCABAJIQYgFUEANgIAIBYoAgAQCSEEIBZBADYCACAXKAIAEAkhAyAXQQA2AgAgGCgCABAJIQIgGEEANgIAICEoAgAQCSEBICFBADYCACAuIA42AAAgLyALNgAAIDAgBzYAACAxIAY2AAAgMiAENgAAIDMgAzYAACA0IAI2AAAgNSABNgAAIAogGRATIA0oAgAiAUE/cSEEIA0gAUEgajYCACAKQSBqIQsCQAJAQcAAIARrIgFBIEsEQCAAIQEgBCEDQSAhAgwBBSALIARqIAAgARALGiAAIAFqIQMgCiALEAxBICABayICQcAASQR/IAMFIABB5ABqIARBoH9qIgdBQHEiBkEcciAEa2ohBCACIQEgAyECA0AgCyACKQAANwAAIAsgAikACDcACCALIAIpABA3ABAgCyACKQAYNwAYIAsgAikAIDcAICALIAIpACg3ACggCyACKQAwNwAwIAsgAikAODcAOCACQUBrIQIgCiALEAwgAUFAaiIBQcAATw0ACyAHIAZrIQIgBAshASACBEBBACEDDAILCwwBCyALIANqIAEgAhALGgsgCSANKAIAIgFBHXZBGHQ2AgAgCSABQQt0QYCA/AdxIAFBG3RyIAFBBXZBgP4DcXIgAUEVdkH/AXFyNgIEIA0gAUE3IAFrQT9xQQFqIgJqNgIAIApBIGohBAJAAkAgAkHAACABQT9xIgFrIgNJBEBB+YwEIQMMAQUgBCABakH5jAQgAxALGiADQfmMBGohASAKIAQQDCACIANrIgJBwABPBEADQCAEIAEpAAA3AAAgBCABKQAINwAIIAQgASkAEDcAECAEIAEpABg3ABggBCABKQAgNwAgIAQgASkAKDcAKCAEIAEpADA3ADAgBCABKQA4NwA4IAFBQGshASAKIAQQDCACQUBqIgJBwABPDQALCyACBEAgASEDQQAhAQwCCwsMAQsgBCABaiADIAIQCxoLIA0oAgAiAUE/cSEDIA0gAUEIajYCACAKQSBqIQQCQAJAQcAAIANrIgJBCEsEQCAJIQFBCCECDAEFIAQgA2ogCSACEAsaIAkgAmohASAKIAQQDEEIIAJrIgJBwABPBEADQCAEIAEpAAA3AAAgBCABKQAINwAIIAQgASkAEDcAECAEIAEpABg3ABggBCABKQAgNwAgIAQgASkAKDcAKCAEIAEpADA3ADAgBCABKQA4NwA4IAFBQGshASAKIAQQDCACQUBqIgJBwABPDQALCyACBEBBACEDDAILCwwBCyAEIANqIAEgAhALGgsgCigCABAJIQ4gCkEANgIAIBooAgAQCSELIBpBADYCACAbKAIAEAkhByAbQQA2AgAgHCgCABAJIQYgHEEANgIAIB0oAgAQCSEEIB1BADYCACAeKAIAEAkhAyAeQQA2AgAgHygCABAJIQIgH0EANgIAICAoAgAQCSEBICBBADYCACAIIA42AgAgIiALNgIAICMgBzYCACAkIAY2AgAgJSAENgIAICYgAzYCACAnIAI2AgAgKCABNgIAIBEoAgAiAUE/cSEDIBEgAUEgajYC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AEIANwIQIABCADcCGAsgASABKAIAIARqNgIAIAMkBEEBC9YDAQN/IwQhAyMEQYABaiQEIAAgASkCADcCACAAIAEpAgg3AgggACABKQIQNwIQIAAgASkCGDcCGCAAIAEpAiA3AiAgA0HQAGoiBSABEAcgA0EoaiIEIAEgBRAKIABBADYCUCADIAQoAgBBB2o2AgAgAyAEKAIENgIEIAMgBCgCCDYCCCADIAQoAgw2AgwgAyAEKAIQNgIQIAMgBCgCFDYCFCADIAQoAhg2AhggAyAEKAIcNgIcIAMgBCgCIDYCICADIAQoAiQ2AiQgAEEoaiIFIAMQIkUEQCADJARBAA8LIAUQFiAFKAIAIgFBAXEgAkYEQCADJARBAQ8LIAVBvOH//wAgAWs2AgAgAEEsaiIBQfz9//8AIAEoAgBrNgIAIABBMGoiAUH8////ACABKAIAazYCACAAQTRqIgFB/P///wAgASgCAGs2AgAgAEE4aiIBQfz///8AIAEoAgBrNgIAIABBPGoiAUH8////ACABKAIAazYCACAAQUBrIgFB/P///wAgASgCAGs2AgAgAEHEAGoiAUH8////ACABKAIAazYCACAAQcgAaiIBQfz///8AIAEoAgBrNgIAIABBzABqIgBB/P//ByAAKAIAazYCACADJARBAQv2CwIRfwJ+IwQhBSMEQaADaiQEIAVBuAJqIgJCADcAACACQgA3AAggAkIANwAQIAJCADcAGCACQgA3ACAgAkIANwAoIAJCADcAMCACQgA3ADggAUUEQCAAQQA2ApwBIABBJGoiA0GQiAQpAgA3AgAgA0GYiAQpAgA3AgggA0GgiAQpAgA3AhAgA0GoiAQpAgA3AhggA0GwiAQpAgA3AiAgAEEBNgJ0IABB+ABqIgNCADcCACADQgA3AgggA0IANwIQIANCADcCGCADQQA2AiAgAEGEuLznADYCTCAAQf61r/AANgJQIABBuMz59QA2AlQgAEHny/X2ADYCWCAAQcjQi/gANgJcIABB0vvu4wA2AmAgAEG8gMHtADYCZCAAQYbVuecANgJoIABB2bKj7AA2AmwgAEHG4rcHNgJwIABBATYCBCAAQQhqIgNCADcCACADQgA3AgggA0IANwIQIANBADYCGAsgBUH4AmoiBiAAQQRqIg8QESACIAYpAAA3AAAgAiAGKQAINwAIIAIgBikAEDcAECACIAYpABg3ABggAUEARyIHBEAgAkEgaiIDIAEpAAA3AAAgAyABKQAINwAIIAMgASkAEDcAECADIAEpABg3ABgLIAVBkAJqIQggBUHwAWohBCAFQfAAaiEDIAVByABqIQEgBUEEaiIQIAIgBwR/QcAABUEgCxAqIAJCADcAACACQgA3AAggAkIANwAQIAJCADcAGCACQgA3ACAgAkIANwAoIAJCADcAMCACQgA3ADggAUEEaiECIAFBCGohByABQQxqIQkgAUEQaiEKIAFBFGohCyABQRhqIQwgAUEcaiENIAFBIGohESABQSRqIRIDQCAQIAYQHyAFIAEgBhAURSIONgIAIA4EQCAFQQE2AgAMAQUgBSACKAIAIAEoAgByIAcoAgByIAkoAgByIAooAgByIAsoAgByIAwoAgByIA0oAgByIBEoAgByIBIoAgByRSIONgIAIA4NAQsLIAggARAHIABBJGoiAiACIAgQCiAAQcwAaiIHIAcgCBAKIAcgByABEAogAEH0AGoiCCAIIAEQCiABQgA3AgAgAUIANwIIIAFCADcCECABQgA3AhggAUIANwIgIARBBGohASAEQQhqIQggBEEMaiEHIARBEGohCSAEQRRqIQogBEEYaiELIARBHGohDANAIBAgBhAfIAQgBiAFEA4gBSgCAARAIAVBATYCAAwBBSAFIAEoAgAgBCgCAHIgCCgCAHIgBygCAHIgCSgCAHIgCigCAHIgCygCAHIgDCgCAHJFIg02AgAgDQ0BCwsgBkIANwAAIAZCADcACCAGQgA3ABAgBkIANwAYIAAgAyAEEB4gBCAEKAIAIgBBf3OtQsKC2YENfCITIAEoAgAiBiAAciAIKAIAIgByIAcoAgAiEHIgCSgCACINciAKKAIAIhFyIAsoAgAiEnIgDCgCACIOckEAR0EfdEEfda0iFIM+AgAgASATQiCIQoy9yf4LhCAGQX9zrXwiEyAUgz4CACAIIABBf3OtQrvAovoKfCATQiCIfCITIBSDPgIAIAcgEEF/c61C5rm71Qt8IBNCIIh8IhMgFIM+AgAgCSANQX9zrUL+////D3wgE0IgiHwiEyAUgz4CACAKIBFBf3OtQv////8PfCATQiCIfCITIBSDPgIAIAsgEkF/c61C/////w98IBNCIIh8IhMgFIM+AgAgDCAO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KSAGQQhqISogBkEMaiErIAZBEGohLCAGQRRqIS0gBkEYaiEuIAZBHGohLyAGQSBqITAgBkEkaiExIANBBGohMiADQQhqITMgA0EMaiE0IANBEGohNSADQRRqITYgA0EYaiE3IANBHGohOCADQSBqITkgA0EkaiE6IARBBGohOyAEQQhqIQkgBEEMaiEMIARBEGohDiAEQRRqIQ8gBEEYaiERIARBHGohEiAEQSBqIRMgBEEkaiEVIA0oAgBBvOH//wBqIRYgDSgCBEH8/f//AGohFyANKAIIQfz///8AaiEYIA0oAgxB/P///wBqIRkgDSgCEEH8////AGohGiANKAIUQfz///8AaiEbIA0oAhhB/P///wBqIRwgDSgCHEH8////AGohHSANKAIgQfz///8AaiEeIA0oAiRB/P//B2ohH0H/PyEBA0AgBiAHIAFBf2oiAkEGdGoiIBAjIBAgECAGEAogFCAQEAcgKCAUIBAQCiAGIAYgFBAKICkoAgAhISAqKAIAISIgKygCACEjICwoAgAhJCAtKAIAISUgLigCACEmIC8oAgAhJyAwKAIAIQsgMSgCACEFIAYgFiAGKAIAazYCACApIBcgIWs2AgAgKiAYICJrNgIAICsgGSAjazYCACAsIBogJGs2AgAgLSAbICVrNgIAIC4gHCAmazYCACAvIB0gJ2s2AgAgMCAeIAtrNgIAIDEgHyAFazYCACAKIAogKBAKIAMgBikCADcCACADIAYpAgg3AgggAyAGKQIQNwIQIAMgBikCGDcCGCADIAYpAiA3AiAgAxAPIAQgCikCADcCACAEIAopAgg3AgggBCAKKQIQNwIQIAQgCikCGDcCGCAEIAopAiA3AiAgBBAPICAgMigCACILQRp0IAMoAgByNgIAIAcgAkEGdGogMygCACIFQRR0IAtBBnZyNgIEIAcgAkEGdGogNCgCACILQQ50IAVBDHZyNgIIIAcgAkEGdGogNSgCACIFQQh0IAtBEnZyNgIMIAcgAkEGdGogNigCAEECdCAFQRh2ciA3KAIAIgVBHHRyNgIQIAcgAkEGdGogOCgCACILQRZ0IAVBBHZyNgIUIAcgAkEGdGogOSgCACIFQRB0IAtBCnZyNgIYIAcgAkEGdGogOigCAEEKdCAFQRB2cjYCHCAHIAJBBnRqIDsoAgAiC0EadCAEKAIA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IAYoAgBFBEAgBygCBCAHKAIAciAHKAIIciAHKAIMciAHKAIQciAHKAIUciAHKAIYciAHKAIccgRAIAkgAkEAEA4CQCAMIAIgA0EAIAVBACAOQQFxEQEAIgAEQCAIQQRqIRAgCEEIaiERIAhBDGohEiAIQRBqIRMgCEEUaiEUIAhBGGohFSAIQRxqIRZBACEEA0AgCCAMIAYQDiAGKAIARQRAIBAoAgAgCCgCAHIgESgCAHIgEigCAHIgEygCAHIgFCgCAHIgFSgCAHIgFigCAHIEQCAPIAogCyAHIAkgCCANEDENBAsLIAwgAiADQQAgBSAEQQFqIgQgDkEBcREBACIADQBBACEACwVBACEACwsgCUIANwIAIAlCADcCCCAJQgA3AhAgCUIANwIYIAhCADcCACAIQgA3AgggCEIANwIQIAhCADcCGCAHQgA3AgAgB0IANwIIIAdCADcCECAHQgA3AhggAARAIA0oAgAhAyABIAopAAA3AAAgASAKKQAINwAIIAEgCikAEDcAECABIAopABg3ABggAUEgaiICIAspAAA3AAAgAiALKQAINwAIIAIgCykAEDcAECACIAspABg3ABggAUFAayADOgAAIAYkBCAADwsLCyABQgA3AAAgAUIANwAIIAFCADcAECABQgA3ABggAUIANwAgIAFCADcAKCABQgA3ADAgAUIANwA4IAFBQGtBADoAACAGJARBAAv+AQECfyMEIQQjBEFAayQEIAFFBEBByooEIAAoAqgBIAAoAqQBQQNxQQJqEQAAIAQkBEEADwsgA0UEQEGuigQgACgCqAEgACgCpAFBA3FBAmoRAAAgBCQEQQAPCyAEQSBqIQUgAgR/IAUgAykAADcAACAFIAMpAAg3AAggBSADKQAQNwAQIAUgAykAGDcAGCAEIANBIGoiACkAADcAACAEIAApAAg3AAggBCAAKQAQNwAQIAQgACkAGDcAGCACIANBQGstAAA2AgAgASAFEBEgAUEgaiAEEBEgBCQEQQEFQb6MBCAAKAKoASAAKAKkAUEDcUECahEAACAEJARBAAsL7wIBA38jBCEEIwRB0ABqJAQgBEEANgIAIAFFBEBBrooEIAAoAqgBIAAoAqQBQQNxQQJqEQAAIAQkBEEADwsgAkUEQEG6igQgACgCqAEgACgCpAFBA3FBAmoRAAAgBCQEQQAPCyADQQNLBEBBpYwEIAAoAqgBIAAoAqQBQQNxQQJqEQAAIAQkBEEADwsgBEEoaiIFIAIgBBAOIAQoAgAhACAEQQhqIgYgAkEgaiAEEA4gBCgCACAAckUiACECIAAEfyABIAUpAAA3AAAgASAFKQAINwAIIAEgBSkAEDcAECABIAUpABg3ABggAUEgaiIAIAYpAAA3AAAgACAGKQAINwAIIAAgBikAEDcAECAAIAYpABg3ABggAUFAayADOgAAIAQkBCACBSABQgA3AAAgAUIANwAIIAFCADcAECABQgA3ABggAUIANwAgIAFCADcAKCABQgA3ADAgAUIANwA4IAFBQGtBADoAACAEJAQgAgsLlCoBX38jBCEHIwRBwANqJAQgB0GgAWohCCAHQfgAaiEKIAFB+ABqIUAgB0GQA2oiBiABQdAAaiI9EAcgB0HoAmoiAyABKQIANwIAIAMgASkCCDcCCCADIAEpAhA3AhAgAyABKQIYNwIYIAMgASkCIDcCICADQSRqIiUoAgAiFEEWdiIEQdEHbCADKAIAaiEFIARBBnQgA0EEaiImKAIAaiAFQRp2aiIVQRp2IANBCGoiJygCAGoiFkEadiADQQxqIhwoAgBqIhdBGnYgA0EQaiIdKAIAaiIYQRp2IANBFGoiMSgCAGoiDkEadiADQRhqIjIoAgBqIiBBGnYgA0EcaiIzKAIAaiIhQRp2IANBIGoiNCgCAGohBCADIAVB////H3E2AgAgJiAVQf///x9xNgIAICcgFkH///8fcTYCACAcIBdB////H3E2AgAgHSAYQf///x9xNgIAIDEgDkH///8fcTYCACAyICBB////H3E2AgAgMyAhQf///x9xNgIAIDQgBEH///8fcTYCACAlIARBGnYgFEH///8BcWo2AgAgB0HAAmoiBCACIAYQCiABKAJMIhlBFnYiBUHRB2wgASgCKGohGiAFQQZ0IAEoAixqIBpBGnZqIihBGnYgASgCMGoiKUEadiABKAI0aiIqQRp2IAEoAjhqIitBGnYgASgCPGoiLEEadiABQUBrKAIAaiItQRp2IAEoAkRqIiJBGnYgASgCSGohHiAHQZgCaiIFIAJBKGoiWCAGEAogBSAFID0QCiAHQfABaiIBIAMpAgA3AgAgASADKQIINwIIIAEgAykCEDcCECABIAMpAhg3AhggASADKQIgNwIgIAEgASgCACAEKAIAIgZqNgIAIAFBBGoiFCAUKAIAIAQoAgQiNWo2AgAgAUEIaiIVIBUoAgAgBCgCCCI2ajYCACABQQxqIhYgFigCACAEKAIMIjdqNgIAIAFBEGoiFyAXKAIAIAQoAhAiCWo2AgAgAUEUaiIYIBgoAgAgBCgCFCIQajYCACABQRhqIg4gDigCACAEKAIYIgtqNgIAIAFBHGoiICAgKAIAIAQoAhwiEWo2AgAgAUEgaiIhICEoAgAgBCgCICIPajYCACABQSRqIi4gLigCACAEKAIkIiNqNgIAIAUoAgAgGkH///8fcSJDaiE4IAUoAgQgKEH///8fcSJEaiEoIAUoAgggKUH///8fcSJFaiEpIAUoAgwgKkH///8fcSJGaiEqIAUoAhAgK0H///8fcSJHaiErIAUoAhQgLEH///8fcSJIaiEsIAUoAhggLUH///8fcSJJaiEtIAUoAhwgIkH///8fcSJKaiEiIAUoAiAgHkH///8fcSJLaiEvIAUoAiQgHkEadiAZQf///wFxaiJMaiEaIAdB0ABqIgQgARAHIAdBKGoiBUG84f//ACAGazYCACAFQQRqIj5B/P3//wAgNWs2AgAgBUEIaiI1Qfz///8AIDZrNgIAIAVBDGoiNkH8////ACA3azYCACAFQRBqIjdB/P///wAgCWs2AgAgBUEUaiIJQfz///8AIBBrNgIAIAVBGGoiEEH8////ACALazYCACAFQRxqIgtB/P///wAgEWs2AgAgBUEgaiIRQfz///8AIA9rNgIAIAVBJGoiD0H8//8HICNrNgIAIAdByAFqIgYgAyAFEAogBCAEKAIAIAYoAgBqNgIAIARBBGoiIygCACAGKAIEaiEMICMgDDYCACAEQQhqIjAoAgAgBigCCGohDSAwIA02AgAgBEEMaiI5KAIAIAYoAgxqIRIgOSASNgIAIARBEGoiOigCACAGKAIQaiETIDogEzYCACAEQRRqIjsoAgAgBigCFGohHyA7IB82AgAgBEEYaiI/KAIAIAYoAhhqIRsgPyAbNgIAIARBHGoiQSgCACAGKAIcaiEkIEEgJDYCACAEQSBqIkIoAgAgBigCIGohPCBCIDw2AgAgBEEkaiJOKAIAIAYoAiRqIQYgTiAGNgIAIBpBFnYiGUHRB2wgOGohHiAZQQZ0IChqIB5BGnZqIk9BGnYgKWoiUEEadiAqaiJRQRp2ICtqIlJBGnYgLGoiU0EadiAtaiJUQRp2ICJqIlVBGnYgL2oiVkEadiAaQf///wFxaiFXIAZBFnYiTUHRB2wgBCgCAGohGSBNQQZ0IAxqIBlBGnZqIgxBGnYgDWoiDUEadiASaiISQRp2IBNqIhNBGnYgH2oiH0EadiAbaiIbQRp2ICRqIiRBGnYgPGoiPEEadiAGQf///wFxaiEGIAdBBGohTSAHQQhqIVkgB0EMaiFaIAdBEGohWyAHQRRqIVwgB0EYaiFdIAdBHGohXiAHQSBqIV8gB0EkaiFgIENBAXQhQyBEQQF0IUQgRUEBdCFFIEZBAXQhRiBHQQF0IUcgSEEBdCFIIElBAXQhSSBKQQF0IUogS0EBdCFLIExBAXQhTCAFKAIAIAMoAgBqIWEgPigCACAmKAIAaiEmIDUoAgAgJygCAGohJyA2KAIAIBwoAgBqIRwgNygCACAdKAIAaiEdIAkoAgAgMSgCAGohMSAQKAIAIDIoAgBqITIgCygCACAzKAIAaiEzIBEoAgAgNCgCAGohNCAPKAIAICUoAgBqISUgBCgCACEEIAcgTyAeciBQciBRciBSciBTciBUciBVciBWckH///8fcSBXcgR/IE9BwABzIB5B0AdzcSBQcSBRcSBScSBTcSBUcSBVcSBWcSBXQYCAgB5zcUH///8fRgVBAQsgDCAZciANciASciATciAfciAbciAkciA8ckH///8fcSAGcgR/IAxBwABzIBlB0AdzcSANcSAScSATcSAfcSAbcSAkcSA8cSAGQYCAgB5zcUH///8fRgVBAQtxIgMEfyBDBSAECzYCACAjKAIAIQQgTSADBH8gRAUgBAs2AgAgMCgCACEEIFkgAwR/IEUFIAQLNgIAIDkoAgAhBCBaIAMEfyBGBSAECzYCACA6KAIAIQQgWyADBH8gRwUgBAs2AgAgOygCACEEIFwgAwR/IEgFIAQLNgIAID8oAgAhBCBdIAMEfyBJBSAECzYCACBBKAIAIQQgXiADBH8gSgUgBAs2AgAgQigCACEEIF8gAwR/IEsFIAQLNgIAIE4oAgAhBCBgIAMEfyBMBSAECzYCACAFIAMEfyBhBSA4CzYCACA+IAMEfyAmBSAoCzYCACA1IAMEfyAnBSApCzYCACA2IAMEfyAcBSAqCzYCACA3IAMEfyAdBSArCzYCACAJIAMEfyAxBSAsCzYCACAQIAMEfyAyBSAtCzYCACALIAMEfyAzBSAiCzYCACARIAMEfyA0BSAvCzYCACAPIAMEfyAlBSAaCzYCACAIIAUQByAKIAggARAKIAggCBAHIAgoAgAhBCAIIAMEfyA4BSAECzYCACAIQQRqIh4oAgAhBCAeIAMEfyAoBSAECzYCACAIQQhqIhkoAgAhBCAZIAMEfyApBSAECzYCACAIQQxqIiUoAgAhBCAlIAMEfyAqBSAECzYCACAIQRBqIiYoAgAhBCAmIAMEfyArBSAECzYCACAIQRRqIicoAgAhBCAnIAMEfyAsBSAECzYCACAIQRhqIhwoAgAhBCAcIAMEfyAtBSAECzYCACAIQRxqIh0oAgAhBCAdIAMEfyAiBSAECzYCACAIQSBqIiIoAgAhBCAiIAMEfyAvBSAECzYCACAIQSRqIi8oAgAhBCAvIAMEfyAaBSAECzYCACABIAcQByAAQdAAaiIEID0gBRAKIABB9ABqIgUoAgAiA0EWdiIaQdEHbCAEKAIAIglqIQYgGkEGdCAAQdQAaiIaKAIAIhBqIAZBGnZqIj1BGnYgAEHYAGoiOCgCACILaiIxQRp2IABB3ABqIigoAgAiEWoiMkEadiAAQeAAaiIpKAIAIg9qIjNBGnYgAEHkAGoiKigCACIjaiI0QRp2IABB6ABqIisoAgAiDGoiPkEadiAAQewAaiIsKAIAIjBqIjVBGnYgAEHwAGoiLSgCACINaiI2QRp2IANB////AXFqITdBASBAKAIAayFBIAQgCUEBdDYCACAaIBBBAXQ2AgAgOCALQQF0NgIAICggEUEBdDYCACApIA9BAXQ2AgAgKiAjQQF0NgIAICsgDEEBdDYCACAsIDBBAXQ2AgAgLSANQQF0NgIAIAUgA0EBdDYCACAKQbzh//8AIAooAgBrIiQ2AgBB/P3//wAgCkEEaiIDKAIAayEJIAMgCTYCAEH8////ACAKQQhqIhAoAgBrIQsgECALNgIAQfz///8AIApBDGoiESgCAGshDyARIA82AgBB/P///wAgCkEQaiIjKAIAayEMICMgDDYCAEH8////ACAKQRRqIjAoAgBrIQ0gMCANNgIAQfz///8AIApBGGoiOSgCAGshEiA5IBI2AgBB/P///wAgCkEcaiI6KAIAayETIDogEzYCAEH8////ACAKQSBqIjsoAgBrIR8gOyAfNgIAQfz//wcgCkEkaiI/KAIAayEbID8gGzYCACAuKAIAIBtqIkJBFnYiPEHRB2wgASgCACAkamohGyA8QQZ0IBQoAgAgCWpqIBtBGnZqIiRBGnYgFSgCACALamoiC0EadiAWKAIAIA9qaiIPQRp2IBcoAgAgDGpqIgxBGnYgGCgCACANamoiDUEadiAOKAIAIBJqaiISQRp2ICAoAgAgE2pqIhNBGnYgISgCACAfamohCSABIBtB////H3EiHzYCACAUICRB////H3EiGzYCACAVIAtB////H3EiCzYCACAWIA9B////H3EiDzYCACAXIAxB////H3EiDDYCACAYIA1B////H3EiDTYCACAOIBJB////H3EiEjYCACAgIBNB////H3EiEzYCACAhIAlB////H3EiJDYCACAuIAlBGnYgQkH///8BcWoiCTYCACAAIAEpAgA3AgAgACABKQIINwIIIAAgASkCEDcCECAAIAEpAhg3AhggACABKQIgNwIgIAEgH0EBdCAKKAIAajYCACAUIBtBAXQgAygCAGo2AgAgFSALQQF0IBAoAgBqNgIAIBYgD0EBdCARKAIAajYCACAXIAxBAXQgIygCAGo2AgAgGCANQQF0IDAoAgBqNgIAIA4gEkEBdCA5KAIAajYCACAgIBNBAXQgOigCAGo2AgAgISAkQQF0IDsoAgBqNgIAIC4gCUEBdCA/KAIAajYCACABIAEgBxAKIAEgASgCACAIKAIAaiIBNgIAIBQgFCgCACAeKAIAaiIDNgIAIBUgFSgCACAZKAIAaiIINgIAIBYgFigCACAlKAIAaiIKNgIAIBcgFygCACAmKAIAaiIUNgIAIBggGCgCACAnKAIAaiIVNgIAIA4gDigCACAcKAIAaiIWNgIAICAgICgCACAdKAIAaiIXNgIAICEgISgCACAiKAIAaiIYNgIAIC4gLigCACAvKAIAaiIONgIAQfj//w8gDmsiD0EWdiIOQdEHbEH4wv//ASABa2ohASAOQQZ0Qfj7//8BIANraiABQRp2aiIcQRp2Qfj///8BIAhraiIdQRp2Qfj///8BIApraiIJQRp2Qfj///8BIBRraiIQQRp2Qfj///8BIBVraiILQRp2Qfj///8BIBZraiIRQRp2Qfj///8BIBdraiIjQRp2Qfj///8BIBhraiEDIAAgACgCAEECdCIMNgIAIABBBGoiCCgCAEECdCEKIAggCjYCACAAQQhqIhQoAgBBAnQhFSAUIBU2AgAgAEEMaiIWKAIAQQJ0IRcgFiAXNgIAIABBEGoiGCgCAEECdCEOIBggDjYCACAAQRRqIiAoAgBBAnQhISAgICE2AgAgAEEYaiIuKAIAQQJ0ISIgLiAiNgIAIABBHGoiLygCAEECdCEeIC8gHjYCACAAQSBqIhkoAgBBAnQhJSAZICU2AgAgAEEkaiImKAIAQQJ0IScgJiAnNgIAIABBKGoiMCABQQJ0Qfz///8AcSINNgIAIABBLGoiOSAcQQJ0Qfz///8AcSISNgIAIABBMGoiOiAdQQJ0Qfz///8AcSITNgIAIABBNGoiOyAJQQJ0Qfz///8AcSIfNgIAIABBOGoiHCAQQQJ0Qfz///8AcTYCACAAQTxqIh0gC0ECdEH8////AHE2AgAgAEFAayIJIBFBAnRB/P///wBxNgIAIABBxABqIhAgI0ECdEH8////AHE2AgAgAEHIAGoiCyADQQJ0Qfz///8AcTYCACAAQcwAaiIRIANBGnYgD0H///8BcWpBAnQ2AgAgQCgCACIDQX9qIQEgACACKAIAQQAgA2siA3EgDCABcXI2AgAgCCACKAIEIANxIAogAXFyNgIAIBQgAigCCCADcSAVIAFxcjYCACAWIAIoAgwgA3EgFyABcXI2AgAgGCACKAIQIANxIA4gAXFyNgIAICAgAigCFCADcSAhIAFxcjYCACAuIAIoAhggA3EgIiABcXI2AgAgLyACKAIcIANxIB4gAXFyNgIAIBkgAigCICADcSAlIAFxcjYCACAmIAIoAiQgA3EgJyABcXI2AgAgQCgCACIDQX9qIQEgMCBYKAIAQQAgA2siA3EgDSABcXI2AgAgOSACKAIsIANxIBIgAXFyNgIAIDogAigCMCADcSATIAFxcjYCACA7IAIoAjQgA3EgHyABcXI2AgAgHCACKAI4IANxIBwoAgAgAXFyNgIAIB0gAigCPCADcSAdKAIAIAFxcjYCACAJIAJBQGsoAgAgA3EgCSgCACABcXI2AgAgECACKAJEIANxIBAoAgAgAXFyNgIAIAsgAigCSCADcSALKAIAIAFxcjYCACARIAIoAkwgA3EgESgCACABcXI2AgAgBCAEKAIAIEAoAgAiAkF/aiIBcSACQQFxcjYCACAaIBooAgAgAXE2AgAgOCA4KAIAIAFxNgIAICggKCgCACABcTYCACApICkoAgAgAXE2AgAgKiAqKAIAIAFxNgIAICsgKygCACABcTYCACAsICwoAgAgAXE2AgAgLSAtKAIAIAFxNgIAIAUgBSgCACABcTYCACAAID0gBnIgMXIgMnIgM3IgNHIgPnIgNXIgNnJB////H3EgN3IEfyA9QcAAcyAGQdAHc3EgMXEgMnEgM3EgNHEgPnEgNXEgNnEgN0GAgIAec3FB////H0YFQQELBH8gQQVBAAs2AnggByQECx0BAX8gAEEEaiICKAIARQRAQQEPCyACIAEQL0EBC6ULARN/IwQhBCMEQfACaiQEIARBADYCACAAKAIARQRAQfiKBCAAKAKoASAAKAKkAUEDcUECahEAACAEJARBAA8LIAFFBEBB5IgEIAAoAqgBIAAoAqQBQQNxQQJqEQAAIAQkBEEADwsgAkUEQEGXjAQgACgCqAEgACgCpAFBA3FBAmoRAAAgBCQEQQAPCyAEQQhqIgkgAiAEEA4gBCgCAARAIAFCADcAACABQgA3AAggAUIANwAQIAFCADcAGCABQgA3ACAgAUIANwAoIAFCADcAMCABQgA3ADggBCQEQQAPCyABKAAEIQYgASgACCEHIAEoAAwhCCABKAAQIQMgASgAFCEKIAEoABghCyABKAAcIQwgASgAICENIAEoACQhDyABKAAoIRAgASgALCERIAEoADAhBSABKAA0IRIgASgAOCETIAEoADwhFCAEQShqIgIgASgAACIOQf///x9xNgIAIAIgBkEGdEHA//8fcSAOQRp2ciIONgIEIAIgB0EMdEGA4P8fcSAGQRR2ciIGNgIIIAIgCEESdEGAgPAfcSAHQQ52ciIHNgIMIAIgA0EYdEGAgIAYcSAIQQh2ciIINgIQIAIgA0ECdkH///8fcSIVNgIUIAIgCkEEdEHw//8fcSADQRx2ciIDNgIYIAIgC0EKdEGA+P8fcSAKQRZ2ciIKNgIcIAIgDEEQdEGAgPwfcSALQRB2ciILNgIgIAIgDEEKdiIMNgIkIAIgDUH///8fcTYCKCACIA9BBnRBwP//H3EgDUEadnI2AiwgAiAQQQx0QYDg/x9xIA9BFHZyNgIwIAIgEUESdEGAgPAfcSAQQQ52cjYCNCACIAVBGHRBgICAGHEgEUEIdnI2AjggAiAFQQJ2Qf///x9xNgI8IAJBQGsgEkEEdEHw//8fcSAFQRx2cjYCACACIBNBCnRBgPj/H3EgEkEWdnI2AkQgAiAUQRB0QYCA/B9xIBNBEHZyNgJIIAIgFEEKdjYCTCACQdAAaiINQQA2AgAgDiACKAIAciAGciAHciAIciAVciADciAKciALciAMckUEQEHajAQgACgCqAEgACgCpAFBA3FBAmoRAAAgAUIANwAAIAFCADcACCABQgA3ABAgAUIANwAYIAFCADcAICABQgA3ACggAUIANwAwIAFCADcAOCAEJARBAA8LIARBwAJqIQogBEGYAmohCyAEQfgBaiEIIARB/ABqIQMgAUIANwAAIAFCADcACCABQgA3ABAgAUIANwAYIAFCADcAICABQgA3ACggAUIANwAwIAFCADcAOCAJKAIEIAkoAgByIAkoAghyIAkoAgxyIAkoAhByIAkoAhRyIAkoAhhyIAkoAhxyBH8gCEIANwIAIAhCADcCCCAIQgA3AhAgCEIANwIYIANB+ABqIgxBADYCACADIAIpAgA3AgAgAyACKQIINwIIIAMgAikCEDcCECADIAIpAhg3AhggAyACKQIgNwIgIANBKGoiBSACQShqIgYpAgA3AgAgBSAGKQIINwIIIAUgBikCEDcCECAFIAYpAhg3AhggBSAGKQIgNwIgIANBATYCUCADQdQAaiIHQgA3AgAgB0IANwIIIAdCADcCECAHQgA3AhggB0EANgIgIAAgAyADIAkgCBAZIA0gDCgCADYCACADQdAAaiIAIAAQFSAKIAAQByALIAAgChAKIAMgAyAKEAogBSAFIAsQCiAAQQE2AgAgB0IANwIAIAdCADcCCCAHQgA3AhAgB0IANwIYIAdBADYCICACIAMpAgA3AgAgAiADKQIINwIIIAIgAykCEDcCECACIAMpAhg3AhggAiADKQIgNwIgIAYgBSkCADcCACAGIAUpAgg3AgggBiAFKQIQNwIQIAYgBSkCGDcCGCAGIAUpAiA3AiAgASACEBsgBCQEQQEFIAQkBEEACwvhAgEBfyMEIQMjBEHQAGokBCADQQA2AgAgAUUEQEGIjAQgACgCqAEgACgCpAFBA3FBAmoRAAAgAyQEQQAPCyACRQRAQZeMBCAAKAKoASAAKAKkAUEDcUECahEAACADJARBAA8LIANBKGoiACACIAMQDiADQQhqIgIgAUEAEA4gAygCAAR/IAFCADcAACABQgA3AAggAUIANwAQIAFCADcAGEEABSAAKAIEIAAoAgByIAAoAghyIAAoAgxyIAAoAhByIAAoAhRyIAAoAhhyIAAoAhxyBH8gAiACIAAQDSABQgA3AAAgAUIANwAIIAFCADcAECABQgA3ABggASACEBFBAQUgAUIANwAAIAFCADcACCABQgA3ABAgAUIANwAYQQALCyEBIAJCADcCACACQgA3AgggAkIANwIQIAJCADcCGCAAQgA3AgAgAEIANwIIIABCADcCECAAQgA3AhggAyQEIAELgAsBE38jBCEEIwRB8AJqJAQgBEEANgIAIAAoAgBFBEBB+IoEIAAoAqgBIAAoAqQBQQNxQQJqEQAAIAQkBEEADwsgAUUEQEHkiAQgACgCqAEgACgCpAFBA3FBAmoRAAAgBCQEQQAPCyACRQRAQZeMBCAAKAKoASAAKAKkAUEDcUECahEAACAEJARBAA8LIARBCGoiFCACIAQQDiAEKAIABEAgAUIANwAAIAFCADcACCABQgA3ABAgAUIANwAYIAFCADcAICABQgA3ACggAUIANwAwIAFCADcAOCAEJARBAA8LIAEoAAQhBiABKAAIIQcgASgADCEIIAEoABAhAyABKAAUIQkgASgAGCEKIAEoABwhCyABKAAgIQwgASgAJCENIAEoACghDyABKAAsIRAgASgAMCEFIAEoADQhESABKAA4IRIgASgAPCETIARBKGoiAiABKAAAIg5B////H3E2AgAgAiAGQQZ0QcD//x9xIA5BGnZyIg42AgQgAiAHQQx0QYDg/x9xIAZBFHZyIgY2AgggAiAIQRJ0QYCA8B9xIAdBDnZyIgc2AgwgAiADQRh0QYCAgBhxIAhBCHZyIgg2AhAgAiADQQJ2Qf///x9xIhU2AhQgAiAJQQR0QfD//x9xIANBHHZyIgM2AhggAiAKQQp0QYD4/x9xIAlBFnZyIgk2AhwgAiALQRB0QYCA/B9xIApBEHZyIgo2AiAgAiALQQp2Igs2AiQgAiAMQf///x9xNgIoIAIgDUEGdEHA//8fcSAMQRp2cjYCLCACIA9BDHRBgOD/H3Eg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AWoiBCANQQFxEQEAIgANAEEAIQALBUEAIQALCyAJQgA3AgAgCUIANwIIIAlCADcCECAJQgA3AhggCEIANwIAIAhCADcCCCAIQgA3AhAgCEIANwIYIAdCADcCACAHQgA3AgggB0IANwIQIAdCADcCGCAABEAgASAKKQAANwAAIAEgCikACDcACCABIAopABA3ABAgASAKKQAYNwAYIAFBIGoiASALKQAANwAAIAEgCykACDcACCABIAspABA3ABAgASALKQAYNwAYIAYkBCAADwsLCyABQgA3AAAgAUIANwAIIAFCADcAECABQgA3ABggAUIANwAgIAFCADcAKCABQgA3ADAgAUIANwA4IAYkBEEAC9cCAQJ/IwQhByMEQcABaiQEIAdByABqIgYgAikAADcAACAGIAIpAAg3AAggBiACKQAQNwAQIAYgAikAGDcAGCAGQSBqIgIgASkAADcAACACIAEpAAg3AAggAiABKQAQNwAQIAIgASkAGDcAGCAEBH8gBkFAayIBIAQpAAA3AAAgASAEKQAINwAIIAEgBCkAEDcAECABIAQpABg3ABhB4AAFQcAACyEBIAMEQCAGIAFqIgIgAykAADcAACACIAMpAAg3AAggAUEQciEBCyAHIAYgARAqIAZCADcAACAGQgA3AAggBkIANwAQIAZCADcAGCAGQgA3ACAgBkIANwAoIAZCADcAMCAGQgA3ADggBkFAa0IANwAAIAZCADcASCAGQgA3AFAgBkIANwBYIAZCADcAYCAGQgA3AGhBACEBA0AgByAAEB8gAUEBaiIBIAVNDQALIAckBEEBC90QASl/IwQhBSMEQYAEaiQEIAAoAgBFBEBB+IoEIAAoAqgBIAAoAqQBQQNxQQJqEQAAIAUkBEEADwsgAkUEQEGsiwQgACgCqAEgACgCpAFBA3FBAmoRAAAgBSQEQQAPCyABRQRAQa6KBCAAKAKoASAAKAKkAUEDcUECahEAACAFJARBAA8LIANFBEBB5IgEIAAoAqgBIAAoAqQBQQNxQQJqEQAAIAUkBEEADwsgBSACQQAQDiAFQUBrIgYgASkAADcAACAGIAEpAAg3AAggBiABKQAQNwAQIAYgASkAGDcAGCAFQSBqIgQgAUEgaiIBKQAANwAAIAQgASkACDcACCAEIAEpABA3ABAgBCABKQAYNwAYIARBGGoi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////HzYCACAGQf///x82AgAgAkH///8BNgIAIAMgBxAhQQBHCwsLCwsLCwsFQQALBUEACwshACAFJAQgAAuYBQIJfwd+IwQhBCMEQSBqJAQgAkUEQEHbigQgACgCqAEgACgCpAFBA3FBAmoRAAAgBCQEQQAPCyAEIgAgAikAADcAACAAIAIpAAg3AAggACACKQAQNwAQIAAgAikAGDcAGCACKAA4IghBf0cgAigAPCIEQR92IgVBf3MiA3EgBEH/////B0lyIAMgAigANCIJQX9HcXIgAyACKAAwIgpBf0dxciADIAIoACwiA0Hz3N3qBUlxciIGQQFzIANB89zd6gVLcSAFciIHQQFzIAIoACgiBUGdoJG9BUlxIAZyIgtBAXMgBUGdoJG9BUtxIAdyIgdBAXMgAigAJCIGQcbepP99SXEgC3JBf3MiCyAGQcbepP99S3EgB3IgCyACKAAgIgJBoMHswAZLcXIhByABRQRAIAAkBCAHDwsgBwRAIAhBf3OtQv////8PfCAJQX9zrUL/////D3wgCkF/c61C/v///w98IANBf3OtQua5u9ULfCAFQX9zrUK7wKL6CnwgBkF/c61CjL3J/gt8IAJBf3OtQsKC2YENfCIMQiCIfCIOQiCIfCIPQiCIfCIQQiCIfCIRQiCIfCISQiCIfCENIAwgBiACciAFciADciAKciAJciAIciAEckEAR0EfdEEfda0iDIOnIQIgDyAMg6chBSAQIAyDpyEDIBEgDIOnIQogEiAMg6chCSANIAyDpyEIIARBf3OtQv////8PfCANQiCIfCAMg6chBCAOIAyDpyEGCyABIAApAAA3AAAgASAAKQAINwAIIAEgACkAEDcAECABIAApABg3ABggASACNgAgIAEgBjYAJCABIAU2ACggASADNgAsIAEgCjYAMCABIAk2ADQgASAINgA4IAEgBDYAPCAAJAQgBwuDAwIGfwh+IAJFBEBB24oEIAAoAqgBIAAoAqQBQQNxQQJqEQAAQQAPCyABBH8gAigAICIAQX9zrULCgtmBDXwhCiACKAAkIgMgAHIgAigAKCIAciACKAAsIgRyIAIoADAiBXIgAigANCIGciACKAA4IgdyIAIoADwiCHJBAEdBH3RBH3WtIQkgB0F/c61C/////w98IAZBf3OtQv////8PfCAFQX9zrUL+////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';\n//# sourceMappingURL=secp256k1.base64.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/bin/secp256k1/secp256k1.base64.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/bin/sha1/sha1.base64.js": +/*!********************************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/bin/sha1/sha1.base64.js ***! + \********************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ sha1Base64Bytes: () => (/* binding */ sha1Base64Bytes)\n/* harmony export */ });\n/* eslint-disable tsdoc/syntax */\n/**\n * @hidden\n */\n// prettier-ignore\nconst sha1Base64Bytes = 'AGFzbQEAAAABRgxgAn9/AX9gAn9/AGADf39/AGABfwF/YAV/f39/fwF/YAN/f38Bf2AAAGABfwBgBX9/f39/AGAAAX9gBH9/f38AYAF/AX4CGwEGLi9zaGExEF9fd2JpbmRnZW5fdGhyb3cAAQMvLgABAgMEBgcCAgEBBwgCAwEBCQAHCgoCAQgCAQECCggCAAEHBwcBAQAABwsFBQUEBQFwAQUFBQMBABEGCQF/AUGQl8AACwd/CAZtZW1vcnkCAARzaGExAAgJc2hhMV9pbml0AAwLc2hhMV91cGRhdGUADQpzaGExX2ZpbmFsAA4RX193YmluZGdlbl9tYWxsb2MADw9fX3diaW5kZ2VuX2ZyZWUAEB5fX3diaW5kZ2VuX2dsb2JhbF9hcmd1bWVudF9wdHIAEgkKAQBBAQsEISkqKwqLiAEuFgAgAUHfAEsEQCAADwtB4AAgARACAAt9AQF/IwBBMGsiAiQAIAIgATYCBCACIAA2AgAgAkEsakECNgIAIAJBFGpBAjYCACACQRxqQQI2AgAgAkECNgIkIAJBtBY2AgggAkECNgIMIAJB9A42AhAgAiACNgIgIAIgAkEEajYCKCACIAJBIGo2AhggAkEIakHEFhAiAAuyAQEDfyMAQRBrIgMkAAJAAkACQCACQX9KBEBBASEEIAIEQCACEAQiBEUNAwsgAyAENgIAIAMgAjYCBCADQQA2AgggA0EAIAJBAUEBEAVB/wFxIgRBAkcNASADQQhqIgQgBCgCACIFIAJqNgIAIAUgAygCAGogASACECwaIABBCGogBCgCADYCACAAIAMpAwA3AgAgA0EQaiQADwsQBgALIARBAXENARAGAAsAC0H0FhAHAAurGQIIfwF+AkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJ/AkACQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAEH0AU0EQEGkESgCACIFQRAgAEELakF4cSAAQQtJGyICQQN2IgFBH3EiA3YiAEEDcUUNASAAQX9zQQFxIAFqIgJBA3QiA0G0EWooAgAiAEEIaiEEIAAoAggiASADQawRaiIDRg0CIAEgAzYCDCADQQhqIAE2AgAMAwsgAEFATw0cIABBC2oiAEF4cSECQagRKAIAIghFDQlBACACayEBAn9BACAAQQh2IgBFDQAaQR8iBiACQf///wdLDQAaIAJBJiAAZyIAa0EfcXZBAXFBHyAAa0EBdHILIgZBAnRBtBNqKAIAIgBFDQYgAkEAQRkgBkEBdmtBH3EgBkEfRht0IQUDQAJAIAAoAgRBeHEiByACSQ0AIAcgAmsiByABTw0AIAAhBCAHIgFFDQYLIABBFGooAgAiByADIAcgACAFQR12QQRxakEQaigCACIARxsgAyAHGyEDIAVBAXQhBSAADQALIANFDQUgAyEADAcLIAJBtBQoAgBNDQggAEUNAiAAIAN0QQIgA3QiAEEAIABrcnEiAEEAIABrcWgiAUEDdCIEQbQRaigCACIAKAIIIgMgBEGsEWoiBEYNCiADIAQ2AgwgBEEIaiADNgIADAsLQaQRIAVBfiACd3E2AgALIAAgAkEDdCICQQNyNgIEIAAgAmoiACAAKAIEQQFyNgIEIAQPC0GoESgCACIARQ0FIABBACAAa3FoQQJ0QbQTaigCACIFKAIEQXhxIAJrIQEgBSIDKAIQIgBFDRRBAAwVC0EAIQEMAgsgBA0CC0EAIQRBAiAGQR9xdCIAQQAgAGtyIAhxIgBFDQIgAEEAIABrcWhBAnRBtBNqKAIAIgBFDQILA0AgACgCBEF4cSIDIAJPIAMgAmsiByABSXEhBSAAKAIQIgNFBEAgAEEUaigCACEDCyAAIAQgBRshBCAHIAEgBRshASADIgANAAsgBEUNAQtBtBQoAgAiACACSQ0BIAEgACACa0kNAQsCQAJAAkBBtBQoAgAiASACSQRAQbgUKAIAIgAgAk0NAQweC0G8FCgCACEAIAEgAmsiA0EQTw0BQbwUQQA2AgBBtBRBADYCACAAIAFBA3I2AgQgACABaiIBQQRqIQIgASgCBEEBciEBDAILQQAhASACQa+ABGoiA0EQdkAAIgBBf0YNFCAAQRB0IgVFDRRBxBRBxBQoAgAgA0GAgHxxIgdqIgA2AgBByBRByBQoAgAiASAAIAAgAUkbNgIAQcAUKAIAIgFFDQlBzBQhAANAIAAoAgAiAyAAKAIEIgRqIAVGDQsgACgCCCIADQALDBILQbQUIAM2AgBBvBQgACACaiIFNgIAIAUgA0EBcjYCBCAAIAFqIAM2AgAgAkEDciEBIABBBGohAgsgAiABNgIAIABBCGoPCyAEECUgAUEPSw0CIAQgASACaiIAQQNyNgIEIAQgAGoiACAAKAIEQQFyNgIEDAwLQaQRIAVBfiABd3E2AgALIABBCGohAyAAIAJBA3I2AgQgACACaiIFIAFBA3QiASACayICQQFyNgIEIAAgAWogAjYCAEG0FCgCACIARQ0DIABBA3YiBEEDdEGsEWohAUG8FCgCACEAQaQRKAIAIgdBASAEQR9xdCIEcUUNASABKAIIDAILIAQgAkEDcjYCBCAEIAJqIgAgAUEBcjYCBCAAIAFqIAE2AgAgAUH/AUsNBSABQQN2IgFBA3RBrBFqIQJBpBEoAgAiA0EBIAFBH3F0IgFxRQ0HIAJBCGohAyACKAIIDAgLQaQRIAcgBHI2AgAgAQshBCABQQhqIAA2AgAgBCAANgIMIAAgATYCDCAAIAQ2AggLQbwUIAU2AgBBtBQgAjYCACADDwsCQEHgFCgCACIABEAgACAFTQ0BC0HgFCAFNgIAC0EAIQBB0BQgBzYCAEHMFCAFNgIAQeQUQf8fNgIAQdgUQQA2AgADQCAAQbQRaiAAQawRaiIBNgIAIABBuBFqIAE2AgAgAEEIaiIAQYACRw0ACyAFIAdBWGoiAEEBcjYCBEHAFCAFNgIAQdwUQYCAgAE2AgBBuBQgADYCACAFIABqQSg2AgQMCQsgACgCDEUNAQwHCyAAIAEQJgwDCyAFIAFNDQUgAyABSw0FIABBBGogBCAHajYCAEHAFCgCACIAQQ9qQXhxIgFBeGoiA0G4FCgCACAHaiIFIAEgAEEIamtrIgFBAXI2AgRB3BRBgICAATYCAEHAFCADNgIAQbgUIAE2AgAgACAFakEoNgIEDAYLQaQRIAMgAXI2AgAgAkEIaiEDIAILIQEgAyAANgIAIAEgADYCDCAAIAI2AgwgACABNgIICyAEQQhqIQEMBAtBAQshBgNAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAYOCgABAgQFBggJCgcDCyAAKAIEQXhxIAJrIgUgASAFIAFJIgUbIQEgACADIAUbIQMgACIFKAIQIgANCkEBIQYMEQsgBUEUaigCACIADQpBAiEGDBALIAMQJSABQRBPDQpBCiEGDA8LIAMgASACaiIAQQNyNgIEIAMgAGoiACAAKAIEQQFyNgIEDA0LIAMgAkEDcjYCBCADIAJqIgIgAUEBcjYCBCACIAFqIAE2AgBBtBQoAgAiAEUNCUEEIQYMDQsgAEEDdiIEQQN0QawRaiEFQbwUKAIAIQBBpBEoAgAiB0EBIARBH3F0IgRxRQ0JQQUhBgwMCyAFKAIIIQQMCQtBpBEgByAEcjYCACAFIQRBBiEGDAoLIAVBCGogADYCACAEIAA2AgwgACAFNgIMIAAgBDYCCEEHIQYMCQtBvBQgAjYCAEG0FCABNgIAQQghBgwICyADQQhqDwtBACEGDAYLQQAhBgwFC0EDIQYMBAtBByEGDAMLQQkhBgwCC0EGIQYMAQtBCCEGDAALAAtB4BRB4BQoAgAiACAFIAAgBUkbNgIAIAUgB2ohA0HMFCEAAn8CQAJAAkACQANAIAAoAgAgA0YNASAAKAIIIgANAAsMAQsgACgCDEUNAQtBzBQhAAJAA0AgACgCACIDIAFNBEAgAyAAKAIEaiIDIAFLDQILIAAoAgghAAwACwALIAUgB0FYaiIAQQFyNgIEIAUgAGpBKDYCBCABIANBYGpBeHFBeGoiBCAEIAFBEGpJGyIEQRs2AgRBwBQgBTYCAEHcFEGAgIABNgIAQbgUIAA2AgBBzBQpAgAhCSAEQRBqQdQUKQIANwIAIAQgCTcCCEHQFCAHNgIAQcwUIAU2AgBB1BQgBEEIajYCAEHYFEEANgIAIARBHGohAANAIABBBzYCACADIABBBGoiAEsNAAsgBCABRg0DIAQgBCgCBEF+cTYCBCABIAQgAWsiAEEBcjYCBCAEIAA2AgAgAEH/AU0EQCAAQQN2IgNBA3RBrBFqIQBBpBEoAgAiBUEBIANBH3F0IgNxRQ0CIAAoAggMAwsgASAAECYMAwsgACAFNgIAIAAgACgCBCAHajYCBCAFIAJBA3I2AgQgBSACaiEAIAMgBWsgAmshAkHAFCgCACADRg0EQbwUKAIAIANGDQUgAygCBCIBQQNxQQFHDQkgAUF4cSIEQf8BSw0GIAMoAgwiByADKAIIIgZGDQcgBiAHNgIMIAcgBjYCCAwIC0GkESAFIANyNgIAIAALIQMgAEEIaiABNgIAIAMgATYCDCABIAA2AgwgASADNgIIC0EAIQFBuBQoAgAiACACTQ0ADAgLIAEPC0HAFCAANgIAQbgUQbgUKAIAIAJqIgI2AgAgACACQQFyNgIEDAULIABBtBQoAgAgAmoiAkEBcjYCBEG8FCAANgIAQbQUIAI2AgAgACACaiACNgIADAQLIAMQJQwBC0GkEUGkESgCAEF+IAFBA3Z3cTYCAAsgBCACaiECIAMgBGohAwsgAyADKAIEQX5xNgIEIAAgAkEBcjYCBCAAIAJqIAI2AgACfwJAIAJB/wFNBEAgAkEDdiIBQQN0QawRaiECQaQRKAIAIgNBASABQR9xdCIBcUUNASACQQhqIQMgAigCCAwCCyAAIAIQJgwCC0GkESADIAFyNgIAIAJBCGohAyACCyEBIAMgADYCACABIAA2AgwgACACNgIMIAAgATYCCAsgBUEIag8LQbgUIAAgAmsiATYCAEHAFEHAFCgCACIAIAJqIgM2AgAgAyABQQFyNgIEIAAgAkEDcjYCBCAAQQhqC6UBAQJ/QQIhBQJAAkACQAJAAkAgACgCBCIGIAFrIAJPDQAgASACaiICIAFJIQECQCAEBEBBACEFIAENAiAGQQF0IgEgAiACIAFJGyECDAELQQAhBSABDQELIAJBAEgNACAGRQ0BIAAoAgAgAhATIgFFDQIMAwsgBQ8LIAIQBCIBDQELIAMNAQsgAQRAIAAgATYCACAAQQRqIAI2AgBBAg8LQQEPCwALCABB5BUQBwALZgIBfwN+IwBBMGsiASQAIAApAhAhAiAAKQIIIQMgACkCACEEIAFBFGpBADYCACABIAQ3AxggAUIBNwIEIAFBrA42AhAgASABQRhqNgIAIAEgAzcDICABIAI3AyggASABQSBqECIAC7gBAQF/IwBB4AFrIgMkACADQThqQcwIKAIANgIAIANBMGpBxAgpAgA3AwAgA0IANwMgIANBvAgpAgA3AyggA0E8akEAQcQAEC4aIANBIGogASACEAkgA0GAAWogA0EgakHgABAsGiADQQhqIANBgAFqEAogA0EgaiADQQhqQRQQAyADQYgBaiADQShqKAIANgIAIAMgAykDIDcDgAEgAyADQYABahALIAAgAykDADcCACADQeABaiQAC5cDAQR/IwBBQGoiAyQAIAAgACkDACACrXw3AwAgAyAAQQhqNgIoIAMgA0EoajYCLAJAAkACQAJAAkACQCAAKAIcIgUEQEHAACAFayIEIAJNDQEgA0EYaiAFIAUgAmoiBCAAQSBqEBUgAygCHCACRw0FIAMoAhggASACECwaDAMLIAIhBAwB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QcgAaiICKQMANwMAIAEgASkDQDcDcCABIAw2AoQBIAEgFCAZQR53ajYCgAEgASAPNgKIASABIAY2AowBIAFB4ABqIAFB8ABqIAFBgAFqQQAQHiABKAJsIRYgASkCZCEfIAEoAiAhDSABKAIsIRAgASgCKCEKIAEoAiQhESABIAEoAmAiDjYCcCABIB83AnQgASAWNgJ8IAEgETYChAEgASAKNgKIASABIBA2AowBIAEgDSABKAJAQR53ajYCgAEgAUHgAGogAUHwAGogAUGAAWpBABAeIAIgAUHoAGoiFikDADcDACABIAEpA2A3A0AgASgCPCEHIAEoAjghCCABKAIwIRIgASgCNCEJIBMgAikDADcDACABIAEpA0A3A3AgASAJNgKEASABIBIgDkEed2o2AoABIAEgCDYCiAEgASAHNgKMASABQeAAaiABQfAAaiABQYABakEAEB4gASgCbCEOIAEpAmQhHyABKAJgIRcgASARIAQgC3NzNgKEASABIA0gBSADc3M2AoABIAEgCiAUIAVzczYCiAEgASAQIAwgBHNzNgKMASABQdAAaiABQYABaiAJIAggBxAfIAEgFzYCcCABIB83AnQgASAONgJ8IAEgASgCVCIDNgKEASABIAEoAlgiCzYCiAEgASABKAJcIg42AowBIAEgASgCQEEedyABKAJQIhVqNgKAASABQeAAaiABQfAAaiABQYABakEAEB4gAiAWKQMANwMAIAEgASkDYDcDQCABIAkgBiAMc3M2AoQBIAEgEiAPIBRzczYCgAEgASAIIA0gD3NzNgKIASABIAcgESAGc3M2AowBIAFB8ABqIAFBgAFqIAMgCyAOEB8gASgCfCEEIAEoAnghBSABKAJwIQ8gASgCdCEGIBMgAikDADcDACABIAEpA0A3A3AgASAGNgKEASABIA8gF0Eed2o2AoABIAEgBTYCiAEgASAENgKMASABQeAAaiABQfAAaiABQYABakEBEB4gASgCbCEMIAEpAmQhHyABKAJgIRcgASADIBAgEXNzNgKEASABIBUgCiANc3M2AoABIAEgCyASIApzczYCiAEgASAOIAkgEHNzNgKMASABQfAAaiABQYABaiAGIAUgBBAfIAEoAnAhFCABKAJ8IQ0gASgCeCEQIAEoAnQhCiABIBc2AnAgASAfNwJ0IAEgDDYCfCABIAo2AoQBIAEgEDYCiAEgASANNgKMASABIBQgASgCQEEed2o2AoABIAFB4ABqIAFB8ABqIAFBgAFqQQEQHiACIBYpAwA3AwAgASABKQNgNwNAIAEgBiAHIAlzczYChAEgASAPIAggEnNzNgKAASABIAUgFSAIc3M2AogBIAEgBCADIAdzczYCjAEgAUHwAGogAUGAAWogCiAQIA0QHyABKAJ8IQcgASgCeCEIIAEoAnAhDCABKAJ0IQkgEyACKQMANwMAIAEgASkDQDcDcCABIAk2AoQBIAEgDCAXQR53ajYCgAEgASAINgKIASABIAc2AowBIAFB4ABqIAFB8ABqIAFBgAFqQQEQHiABKAJsIRcgASkCZCEfIAEoAmAhGCABIAogDiADc3M2AoQBIAEgFCALIBVzczYCgAEgASAQIA8gC3NzNgKIASABIA0gBiAOc3M2AowBIAFB8ABqIAFBgAFqIAkgCCAHEB8gASgCcCELIAEoAnwhESABKAJ4IRIgASgCdCEDIAEgGDYCcCABIB83AnQgASAXNgJ8IAEgAzYChAEgASASNgKIASABIBE2AowBIAEgCyABKAJAQR53ajYCgAEgAUHgAGogAUHwAGogAUGAAWpBARAeIAIgFikDADcDACABIAEpA2A3A0AgASAJIAQgBnNzNgKEASABIAwgBSAPc3M2AoABIAEgCCAUIAVzczYCiAEgASAHIAogBHNzNgKMASABQdAAaiABQYABaiADIBIgERAfIBMgAikDADcDACABIAEpA0A3A3AgASABKAJUIg42AoQBIAEgASgCWCIPNgKIASABIAEoAlwiFTYCjAEgASABKAJQIhcgGEEed2o2AoABIAFB4ABqIAFB8ABqIAFBgAFqQQEQHiABKAJsIRogASkCZCEfIAEoAmAhGCABIAMgDSAKc3M2AoQBIAEgCyAQIBRzczYCgAEgASASIAwgEHNzNgKIASABIBEgCSANc3M2AowBIAFB8ABqIAFBgAFqIA4gDyAVEB8gASgCcCEUIAEoAnwhBCABKAJ4IQUgASgCdCEGIAEgGDYCcCABIB83AnQgASAaNgJ8IAEgBjYChAEgASAFNgKIASABIAQ2AowBIAEgFCABKAJAQR53ajYCgAEgAUHgAGogAUHwAGogAUGAAWpBAhAeIAIgFikDADcDACABIAEpA2A3A0AgASAOIAcgCXNzNgKEASABIBcgCCAMc3M2AoABIAEgDyALIAhzczYCiAEgASAVIAMgB3NzNgKMASABQfAAaiABQYABaiAGIAUgBBAfIAEoAnwhByABKAJ4IQggASgCcCEMIAEoAnQhCSATIAIpAwA3AwAgASABKQNANwNwIAEgCTYChAEgASAMIBhBHndqNgKAASABIAg2AogBIAEgBzYCjAEgAUHgAGogAUHwAGogAUGAAWpBAhAeIAEoAmwhGiABKQJkIR8gASgCYCEYIAEgBiARIANzczYChAEgASAUIBIgC3NzNgKAASABIAUgFyASc3M2AogBIAEgBCAOIBFzczYCjAEgAUHwAGogAUGAAWogCSAIIAcQHyABKAJwIQsgASgCfCENIAEoAnghECABKAJ0IQogASAYNgJwIAEgHzcCdCABIBo2AnwgASAKNgKEASABIBA2AogBIAEgDTYCjAEgASALIAEoAkBBHndqNgKAASABQeAAaiABQfAAaiABQYABakECEB4gAiAWKQMANwMAIAEgASkDYDcDQCABIAkgFSAOc3M2AoQBIAEgDCAPIBdzczYCgAEgASAIIBQgD3NzNgKIASABIAcgBiAVc3M2AowBIAFB8ABqIAFBgAFqIAogECANEB8gASgCfCERIAEoAnghEiABKAJwIQ4gASgCdCEDIBMgAikDADcDACABIAEpA0A3A3AgASADNgKEASABIA4gGEEed2o2AoABIAEgEjYCiAEgASARNgKMASABQeAAaiABQfAAaiABQYABakECEB4gASgCbCEPIAEpAmQhHyABKAJgIRUgASAKIAQgBnNzNgKEASABIAsgBSAUc3M2AoABIAEgECAMIAVzczYCiAEgASANIAkgBHNzNgKMASABQdAAaiABQYABaiADIBIgERAfIAEgFTYCcCABIB83AnQgASAPNgJ8IAEgASgCVCIENgKEASABIAEoAlgiBTYCiAEgASABKAJcIgY2AowBIAEgASgCQEEedyABKAJQIhRqNgKAASABQeAAaiABQfAAaiABQYABakECEB4gAiAWKQMANwMAIAEgASkDYDcDQCABIAMgByAJc3M2AoQBIAEgDiAIIAxzczYCgAEgASASIAsgCHNzNgKIASABIBEgCiAHc3M2AowBIAFB8ABqIAFBgAFqIAQgBSAGEB8gASgCfCEHIAEoAnghCCABKAJwIQ8gASgCdCEJIBMgAikDADcDACABIAEpA0A3A3AgASAJNgKEASABIA8gFUEed2o2AoABIAEgCDYCiAEgASAHNgKMASABQeAAaiABQfAAaiABQYABakEDEB4gASgCbCEVIAEpAmQhHyABKAJgIQwgASAEIA0gCnNzNgKEASABIBQgECALc3M2AoABIAEgBSAOIBBzczYCiAEgASAGIAMgDXNzNgKMASABQfAAaiABQYABaiAJIAggBxAfIAEoAnAhECABKAJ8IQogASgCeCELIAEoAnQhDSABIAw2AnAgASAfNwJ0IAEgFTYCfCABIA02AoQBIAEgCzYCiAEgASAKNgKMASABIBAgASgCQEEed2o2AoABIAFB4ABqIAFB8ABqIAFBgAFqQQMQHiACIBYpAwA3AwAgASABKQNgNwNAIAEgCSARIANzczYChAEgASAPIBIgDnNzNgKAASABIAggFCASc3M2AogBIAEgByAEIBFzczYCjAEgAUHwAGogAUGAAWogDSALIAoQHyABKAJ8IREgASgCeCESIAEoAnAhDiABKAJ0IQMgEyACKQMANwMAIAEgASkDQDcDcCABIAM2AoQBIAEgDiAMQR53ajYCgAEgASASNgKIASABIBE2AowBIAFB4ABqIAFB8ABqIAFBgAFqQQMQHiABKAJsIRUgASkCZCEfIAEoAmAhDCABIA0gBiAEc3M2AoQBIAEgECAFIBRzczYCgAEgASALIA8gBXNzNgKIASABIAogCSAGc3M2AowBIAFB8ABqIAFBgAFqIAMgEiAREB8gASgCcCEKIAEoAnwhBCABKAJ4IQUgASgCdCEGIAEgDDYCcCABIB83AnQgASAVNgJ8IAEgBjYChAEgASAFNgKIASABIAQ2AowBIAEgCiABKAJAQR53ajYCgAEgAUHgAGogAUHwAGogAUGAAWpBAxAeIAIgFikDADcDACABIAEpA2A3A0AgASADIAcgCXNzNgKEASABIA4gCCAPc3M2AoABIAEgEiAQIAhzczYCiAEgASARIA0gB3NzNgKMASABQdAAaiABQYABaiAGIAUgBBAfIBMgAikDADcDACABIAEpA0A3A3AgASABKQJUNwKEASABIAEoAlw2AowBIAEgASgCUCAMQR53ajYCgAEgAUHgAGogAUHwAGogAUGAAWpBAxAe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DSAKIABBDHZBD3FB4AFyOgAMQQMMAQsgCiAAQRJ2QfABcjoADCAKIABBP3FBgAFyOgAPIAogAEEMdkE/cUGAAXI6AA0gCiAAQQZ2QT9xQYABcjoADkEECyEIIAEoAhghAkF/IQAgAUEcaigCACIJQQxqIQECQAJAAkADQCAAQQFqIgAgBE8NASACIApBDGogCCABKAIAEQUARQ0ACwwBCyACIAcgBiAJQQxqKAIAIgERBQANAEF/IQADQCAAQQFqIgAgA08NAiACIApBDGogCCABEQUARQ0ACwtBAQwBC0EACyEAIApBEGokACAAC0YCAX8BfiMAQSBrIgIkACABKQIAIQMgAkEUaiABKQIINwIAIAJBlBY2AgQgAkGsDjYCACACIAA2AgggAiADNwIMIAIQJAALUAACQAJAQZARKAIAQQFGBEBBlBFBlBEoAgBBAWoiADYCACAAQQNJDQEMAgtBkBFCgYCAgBA3AwALQZwRKAIAIgBBf0wNAEGcESAANgIACwALPwECfyMAQRBrIgEkAAJ/IAAoAggiAiACDQAaQfwVEAcACxogASAAKQIMNwMAIAEgAEEUaikCADcDCCABECMAC7MCAQV/IAAoAhghAwJAAkACQCAAKAIMIgIgAEcEQCAAKAIIIgEgAjYCDCACIAE2AgggAw0BDAILIABBFGoiASAAQRBqIAEoAgAbIgQoAgAiAQRAAkADQCAEIQUgASICQRRqIgQoAgAiAQRAIAENAQwCCyACQRBqIQQgAigCECIBDQALCyAFQQA2AgAgAw0BDAILQQAhAiADRQ0BCwJAIAAoAhwiBEECdEG0E2oiASgCACAARwRAIANBEGogA0EUaiADKAIQIABGGyACNgIAIAINAQwCCyABIAI2AgAgAkUNAgsgAiADNgIYIAAoAhAiAQRAIAIgATYCECABIAI2AhgLIABBFGooAgAiAUUNACACQRRqIAE2AgAgASACNgIYCw8LQagRQagRKAIAQX4gBHdxNgIAC8UCAQR/IAACf0EAIAFBCHYiA0UNABpBHyICIAFB////B0sNABogAUEmIANnIgJrQR9xdkEBcUEfIAJrQQF0cgsiAjYCHCAAQgA3AhAgAkECdEG0E2ohAwJAAkACQEGoESgCACIEQQEgAkEfcXQiBXEEQCADKAIAIgQoAgRBeHEgAUcNASAEIQIM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LTFlY2M2Mjk5ZGI5ZWM4MjMvYmxvY2stYnVmZmVyLTAuMy4zL3NyYy9saWIucnNkZXN0aW5hdGlvbiBhbmQgc291cmNlIHNsaWNlcyBoYXZlIGRpZmZlcmVudCBsZW5ndGhzL3Jvb3QvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9naXRodWIuY29tLTFlY2M2Mjk5ZGI5ZWM4MjMvc2hhLTEtMC43LjAvc3JjL3V0aWxzLnJzaW50ZXJuYWwgZXJyb3I6IGVudGVyZWQgdW5yZWFjaGFibGUgY29kZTogdW5rbm93biBpY29zYXJvdW5kIGluZGV4AEHwCwvSBAEAAAAAAAAAIAAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAwAAAGNhcGFjaXR5IG92ZXJmbG93Y2FsbGVkIGBPcHRpb246OnVud3JhcCgpYCBvbiBhIGBOb25lYCB2YWx1ZWxpYmNvcmUvb3B0aW9uLnJzMDAwMTAyMDMwNDA1MDYwNzA4MDkxMDExMTIxMzE0MTUxNjE3MTgxOTIwMjEyMjIzMjQyNTI2MjcyODI5MzAzMTMyMzMzNDM1MzYzNzM4Mzk0MDQxNDI0MzQ0NDU0NjQ3NDg0OTUwNTE1MjUzNTQ1NTU2NTc1ODU5NjA2MTYyNjM2NDY1NjY2NzY4Njk3MDcxNzI3Mzc0NzU3Njc3Nzg3OTgwODE4MjgzODQ4NTg2ODc4ODg5OTA5MTkyOTM5NDk1OTY5Nzk4OTkAAAAAaW5kZXggb3V0IG9mIGJvdW5kczogdGhlIGxlbiBpcyAgYnV0IHRoZSBpbmRleCBpcyBsaWJjb3JlL3NsaWNlL21vZC5ycwABAAAAAAAAACAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAMAAAABAAAAAQAAACAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAMAAABpbmRleCAgb3V0IG9mIHJhbmdlIGZvciBzbGljZSBvZiBsZW5ndGggc2xpY2UgaW5kZXggc3RhcnRzIGF0ICBidXQgZW5kcyBhdCBpbnRlcm5hbCBlcnJvcjogZW50ZXJlZCB1bnJlYWNoYWJsZSBjb2RlbGliYWxsb2MvcmF3X3ZlYy5ycwBB7BQLnQIWBAAAJAAAAC8IAAATAAAASAIAAAkAAADQBAAAUwAAAEsAAAARAAAAUAQAACAAAABwBAAAWgAAAB8AAAAFAAAAIwUAADQAAABfBwAAFAAAAG0GAAAJAAAAzwUAABgAAAClBQAAKgAAAFcFAABOAAAAQgAAAA4AAAAUBgAAEQAAAC8IAAATAAAA8gIAAAUAAAAlBgAAKwAAAFAGAAARAAAAWQEAABUAAAADAAAAAAAAAAEAAAAEAAAALQcAACAAAABNBwAAEgAAALwHAAAGAAAAwgcAACIAAABfBwAAFAAAAK0HAAAFAAAA5AcAABYAAAD6BwAADQAAAF8HAAAUAAAAswcAAAUAAAAHCAAAKAAAAC8IAAATAAAA9QEAAB4ADAdsaW5raW5nAwKMDw==';\n//# sourceMappingURL=sha1.base64.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/bin/sha1/sha1.base64.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/bin/sha256/sha256.base64.js": +/*!************************************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/bin/sha256/sha256.base64.js ***! + \************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ sha256Base64Bytes: () => (/* binding */ sha256Base64Bytes)\n/* harmony export */ });\n/* eslint-disable tsdoc/syntax */\n/**\n * @hidden\n */\n// prettier-ignore\nconst sha256Base64Bytes = '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IAJHDQUgAygCGCABIAIQKxoMAwsgAiEEDAELIANBMGogASACIAQQFiADQTxqKAIAIQQgAygCOCEBIAMoAjAhBSADKAI0IQIgA0EgaiAAQQxqIgYgACgCCBAXIAIgAygCJEcNBCADKAIgIAUgAhArGiAAQQhqQQA2AgAgA0EsaiAGEBgLIANBPGohAiADQThqIQUCQANAIARBP00NASADQTBqIAEgBEHAABAWIAIoAgAhBCAFKAIAIQEgA0EIakEAQcAAIAMoAjAgAygCNBAZIANBLGogAygCCBAYDAALAAsgA0EQaiAAQQxqIAQQGiADKAIUIARHDQEgAygCECABIAQQKxoLIABBCGogBDYCACADQUBrJAAPC0GEFBAHAAtBhBQQBwALQYQUEAcAC98EAgN/AX4jAEHQAGsiAiQAIAIgAUHMAGo2AiQgASkDACEFIAEoAgghBCACIAJBJGo2AigCQCAEQT9NBEAgAUEMaiIDIARqQYABOgAAIAEgASgCCEEBaiIENgIIIAJBGGogAyAEEBcgAigCGEEAIAIoAhwQLRpBwAAgASgCCGtBB00EQCACQShqIAMQGCACQRBqIAMgAUEIaigCABAaIAIoAhBBACACKAIUEC0aCyACQQhqIANBOBAXIAIoAgxBCEcNASACKAIIIAVCOIYgBUIohkKAgICAgIDA/wCDhCAFQhiGQoCAgICA4D+DIAVCCIZCgICAgPAfg4SEIAVCCIhCgICA+A+DIAVCGIhCgID8B4OEIAVCKIhCgP4DgyAFQjiIhISENwAAIAJBKGogAxAYIAFBCGpBADYCACACQQA2AiggAkEoakEEciEEQQAhAwJAA0AgA0EgRg0BIAQgA2pBADoAACACIAIoAihBAWo2AiggA0EBaiEDDAALAAsgAkFAayABQeQAaikAADcDACACQThqIAFB3ABqKQAANwMAIAJBMGogAUHUAGopAAA3AwAgAiABKQBMNwMoQQAhAwJAA0AgA0EgRg0BIAJBKGogA2oiBCAEKAIAIgRBGHQgBEEIdEGAgPwHcXIgBEEIdkGA/gNxIARBGHZycjYCACADQQRqIQMMAAsACyAAIAIpAyg3AAAgAEEYaiACQUBrKQMANwAAIABBEGogAkE4aikDADcAACAAQQhqIAJBMGopAwA3AAAgAkHQAGokAA8LQdwTIARBwAAQ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KAJsIQggASAPNgJkIAEgDjYCYCABIBM2AmggASAYNgJsIAEgAjYCdCABIBc2AnAgASAQNgJ4IAEgDDYCfCABQdAAaiABQeAAaiABQfAAaiAHQevZwaJ6aiAIQfr/+4V5ahAeIAEoAlwhByABKAJYIQggASgCUCEKIAEoAlQhESABIAI2AmQgASAXNgJgIAEgEDYCaCABIAw2AmwgASARNgJ0IAEgCjYCcCABIAg2AnggASAHNgJ8IAFB0ABqIAFB4ABqIAFB8ABqIA1B8vHFs3xqIBlB98fm93tqEB4gASgCXCENIAEoAlghGCABKAJQIRMgACAeIAEoAlRqNgIEIAAgEyAdajYCACAAIAogIWo2AgggACARICJqNgIMIAAgGCAcajYCECAAIA0gG2o2AhQgACAIICBqNgIYIAAgByAfajYCHCABQYABaiQAC30BAX8jAEEwayICJAAgAiABNgIEIAIgADYCACACQSxqQQE2AgAgAkEUakECNgIAIAJBHGpBAjYCACACQQE2AiQgAkGMFTYCCCACQQI2AgwgAkHMDTYCECACIAI2AiAgAiACQQRqNgIoIAIgAkEgajYCGCACQQhqQZwVECgAC3wBAX8jAEEwayIDJAAgAyACNgIEIAMgATYCACADQSxqQQE2AgAgA0EUakECNgIAIANBHGpBAjYCACADQQE2AiQgA0HcFDYCCCADQQI2AgwgA0HMDTYCECADIANBBGo2AiAgAyADNgIoIAMgA0EgajYCGCADQQhqIAAQKAAL1gEBBn8gACABKAIAIgggAigCBCIHcyACKAIAIgVxIAggB3FzIAVBHncgBUETd3MgBUEKd3NqIAIoAggiBkEadyAGQRV3cyAGQQd3cyAEaiABKAIMaiABKAIIIgQgAigCDCIJcyAGcSAEc2oiCmoiAjYCBCAAIAogASgCBGoiATYCDCAAIAJBHncgAkETd3MgAkEKd3MgAiAHIAVzcSAHIAVxc2ogBCADaiAJIAEgCSAGc3FzaiABQRp3IAFBFXdzIAFBB3dzaiIFajYCACAAIAUgCGo2AggLeAAgACACQRl3IAJBA3ZzIAJBDndzIAEoAgAiAmo2AgAgACACQRl3IAJBA3ZzIAJBDndzIAEoAgQiAmo2AgQgACACQRl3IAJBA3ZzIAJBDndzIAEoAggiAmo2AgggACACQRl3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';\n//# sourceMappingURL=sha256.base64.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/bin/sha256/sha256.base64.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/bin/sha512/sha512.base64.js": +/*!************************************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/bin/sha512/sha512.base64.js ***! + \************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ sha512Base64Bytes: () => (/* binding */ sha512Base64Bytes)\n/* harmony export */ });\n/* eslint-disable tsdoc/syntax */\n/**\n * @hidden\n */\n// prettier-ignore\nconst sha512Base64Bytes = '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AjYCACAAIAJBAXI2AgQMBQsgAEGsEygCACACaiICQQFyNgIEQbQTIAA2AgBBrBMgAjYCACAAIAJqIAI2AgAMBAsgAxAiDAELQZwQQZwQKAIAQX4gAUEDdndxNgIACyAEIAJqIQIgAyAEaiEDCyADIAMoAgRBfnE2AgQgACACQQFyNgIEIAAgAmogAjYCAAJ/AkAgAkH/AU0EQCACQQN2IgFBA3RBpBBqIQJBnBAoAgAiA0EBIAFBH3F0IgFxRQ0BIAJBCGohAyACKAIIDAILIAAgAhAjDAILQZwQIAMgAXI2AgAgAkEIaiEDIAILIQEgAyAANgIAIAEgADYCDCAAIAI2AgwgACABNgIICyAFQQhqDwtBsBMgACACayIBNgIAQbgTQbgTKAIAIgAgAmoiAzYCACADIAFBAXI2AgQgACACQQNyNgIEIABBCGoLpQEBAn9BAiEFAkACQAJAAkACQCAAKAIEIgYgAWsgAk8NACABIAJqIgIgAUkhAQJAIAQEQEEAIQUgAQ0CIAZBAXQiASACIAIgAUkbIQIMAQtBACEFIAENAQsgAkEASA0AIAZFDQEgACgCACACEBMiAUUNAgwDCyAFDwsgAhAEIgENAQsgAw0BCyABBEAgACABNgIAIABBBGogAjYCAEECDwtBAQ8LAAsIAEG8FBAHAAtmAgF/A34jAEEwayIBJAAgACkCECECIAApAgghAyAAKQIAIQQgAUEUakEANgIAIAEgBDcDGCABQgE3AgQgAUGkDTYCECABIAFBGGo2AgAgASADNwMgIAEgAjcDKCABIAFBIGoQJwALsgEBAn8jAEGABGsiAyQAIANB2ABqIgRCADcDACADQgA3A1AgA0GgAWpBAEGEARAsGiADQeAAakHICkHAABAqGiADQdAAaiABIAIQCSADQagCaiADQdAAakHYARAqGiADQRBqIANBqAJqEAogA0HQAGogA0EQakHAABADIANBsAJqIAQoAgA2AgAgAyADKQNQNwOoAiADQQhqIANBqAJqEAsgACADKQMINwIAIANBgARqJAALuwMCBH8CfiMAQUBqIgMkACAAIAApAwgiByACrUIDhnwiCDcDCCAIIAdUBEAgACAAKQMAQgF8NwMACyADIABBEGo2AiggAyADQShqNgIsAkACQAJAAkACQAJAIAAoAlAiBQRAQYABIAVrIgQg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sBMoAgAgAGoiADYCACABIABBAXI2AgQgAUG0EygCAEYEQEGsE0EANgIAQbQTQQA2AgALQdQTKAIAIABPDQcCQCAAQSlJDQBBxBMhAANAIAAoAgAiAiABTQRAIAIgACgCBGogAUsNAgsgACgCCCIADQALC0EAIQFBzBMoAgAiAEUNBANAIAFBAWohASAAKAIIIgANAAsgAUH/HyABQf8fSxsMBQtBtBMgATYCAEGsE0GsEygCACAAaiIANgIADAcLIAIQIgwBC0GcEEGcECgCAEF+IANBA3Z3cTYCAAsgASAAQQFyNgIEIAEgAGogADYCACABQbQTKAIARw0CQawTIAA2AgAPC0H/HwshAUHUE0F/NgIAQdwTIAE2AgAPC0HcEwJ/AkACfwJAIABB/wFNBEAgAEEDdiICQQN0QaQQaiEAQZwQKAIAIgNBASACQR9xdCICcUUNASAAQQhqIQMgACgCCAwCCyABIAAQI0HcE0HcEygCAEF/aiIBNgIAIAENBEHMEygCACIARQ0CQQAhAQNAIAFBAWohASAAKAIIIgANAAsgAUH/HyABQf8fSxsMAwtBnBAgAyACcjYCACAAQQhqIQMgAAshAiADIAE2AgAgAiABNgIMIAEgADYCDCABIAI2AggPC0H/HwsiATYCAAsPCyABIABBAXI2AgQgASAAaiAANgIACzkAAkAgAiABTwRAIAJBgQFPDQEgACACIAFrNgIEIAAgAyABajYCAA8LIAEgAhAcAAsgAkGAARACAAtNAgF/An4jAEEQayIEJAAgBEEIakEAIAMgASACEBkgBCkDCCEFIAQgAyACIAEgAhAZIAQpAwAhBiAAIAU3AgAgACAGNwIIIARBEGokAAssAQF/IwBBEGsiAyQAIANBCGogAkGAASABEBUgACADKQMINwIAIANBEGokAAsOACAAKAIAKAIAIAEQGws3AAJAIAIgAU8EQCAEIAJJDQEgACACIAFrNgIEIAAgAyABajYCAA8LIAEgAhAcAAsgAiAEEAIACysBAX8jAEEQayIDJAAgA0EIakEAIAIgARAVIAAgAykDCDcCACADQRBqJAALqioCAn8ifiMAQYAPayICJAAgAkGADmogAUGAARAqGkEAIQECQANAIAFBgAFGDQEgAkGADmogAWoiAyADKQMAIhxCOIYgHEIohkKAgICAgIDA/wCD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c2VydGlvbiBmYWlsZWQ6IDggPT0gZHN0LmxlbigpL3Jvb3QvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9naXRodWIuY29tLTFlY2M2Mjk5ZGI5ZWM4MjMvYnl0ZS10b29scy0wLjIuMC9zcmMvd3JpdGVfc2luZ2xlLnJzAEHwCQvKBS9yb290Ly5jYXJnby9yZWdpc3RyeS9zcmMvZ2l0aHViLmNvbS0xZWNjNjI5OWRiOWVjODIzL2Jsb2NrLWJ1ZmZlci0wLjMuMy9zcmMvbGliLnJzAAAAAAAIybzzZ+YJajunyoSFrme7K/iU/nLzbjzxNh1fOvVPpdGC5q1/Ug5RH2w+K4xoBZtrvUH7q9mDH3khfhMZzeBbAAAAAABjYXBhY2l0eSBvdmVyZmxvd2NhbGxlZCBgT3B0aW9uOjp1bndyYXAoKWAgb24gYSBgTm9uZWAgdmFsdWVsaWJjb3JlL29wdGlvbi5yczAwMDEwMjAzMDQwNTA2MDcwODA5MTAxMTEyMTMxNDE1MTYxNzE4MTkyMDIxMjIyMzI0MjUyNjI3MjgyOTMwMzEzMjMzMzQzNTM2MzczODM5NDA0MTQyNDM0NDQ1NDY0NzQ4NDk1MDUxNTI1MzU0NTU1NjU3NTg1OTYwNjE2MjYzNjQ2NTY2Njc2ODY5NzA3MTcyNzM3NDc1NzY3Nzc4Nzk4MDgxODI4Mzg0ODU4Njg3ODg4OTkwOTE5MjkzOTQ5NTk2OTc5ODk5AAAAaW5kZXggb3V0IG9mIGJvdW5kczogdGhlIGxlbiBpcyAgYnV0IHRoZSBpbmRleCBpcyBsaWJjb3JlL3NsaWNlL21vZC5ycwABAAAAAAAAACAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAMAAAABAAAAAQAAACAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAMAAABpbmRleCAgb3V0IG9mIHJhbmdlIGZvciBzbGljZSBvZiBsZW5ndGggc2xpY2UgaW5kZXggc3RhcnRzIGF0ICBidXQgZW5kcyBhdCBpbnRlcm5hbCBlcnJvcjogZW50ZXJlZCB1bnJlYWNoYWJsZSBjb2RlbGliYWxsb2MvcmF3X3ZlYy5ycwBB5BML/QEWBAAAJAAAAKcHAAATAAAASAIAAAkAAAA6BAAANAAAANcGAAAUAAAAbQYAAAkAAADwBAAAUwAAAEsAAAARAAAAbgQAACAAAACOBAAAWgAAAB8AAAAFAAAAjQUAABEAAACnBwAAEwAAAPICAAAFAAAAngUAACsAAADJBQAAEQAAAFkBAAAVAAAAAgAAAAAAAAABAAAAAwAAAKUGAAAgAAAAxQYAABIAAAA0BwAABgAAADoHAAAiAAAA1wYAABQAAACtBwAABQAAAFwHAAAWAAAAcgcAAA0AAADXBgAAFAAAALMHAAAFAAAAfwcAACgAAACnBwAAEwAAAPUBAAAeAAwHbGlua2luZwMC5A0=';\n//# sourceMappingURL=sha512.base64.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/bin/sha512/sha512.base64.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/crypto/crypto.js": +/*!*************************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/crypto/crypto.js ***! + \*************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getEmbeddedRipemd160Binary: () => (/* reexport safe */ _ripemd160__WEBPACK_IMPORTED_MODULE_1__.getEmbeddedRipemd160Binary),\n/* harmony export */ getEmbeddedSha1Binary: () => (/* reexport safe */ _sha1__WEBPACK_IMPORTED_MODULE_3__.getEmbeddedSha1Binary),\n/* harmony export */ getEmbeddedSha256Binary: () => (/* reexport safe */ _sha256__WEBPACK_IMPORTED_MODULE_4__.getEmbeddedSha256Binary),\n/* harmony export */ getEmbeddedSha512Binary: () => (/* reexport safe */ _sha512__WEBPACK_IMPORTED_MODULE_5__.getEmbeddedSha512Binary),\n/* harmony export */ hmacSha256: () => (/* reexport safe */ _hmac__WEBPACK_IMPORTED_MODULE_0__.hmacSha256),\n/* harmony export */ hmacSha512: () => (/* reexport safe */ _hmac__WEBPACK_IMPORTED_MODULE_0__.hmacSha512),\n/* harmony export */ instantiateHmacFunction: () => (/* reexport safe */ _hmac__WEBPACK_IMPORTED_MODULE_0__.instantiateHmacFunction),\n/* harmony export */ instantiateRipemd160: () => (/* reexport safe */ _ripemd160__WEBPACK_IMPORTED_MODULE_1__.instantiateRipemd160),\n/* harmony export */ instantiateRipemd160Bytes: () => (/* reexport safe */ _ripemd160__WEBPACK_IMPORTED_MODULE_1__.instantiateRipemd160Bytes),\n/* harmony export */ instantiateSecp256k1: () => (/* reexport safe */ _secp256k1__WEBPACK_IMPORTED_MODULE_2__.instantiateSecp256k1),\n/* harmony export */ instantiateSecp256k1Bytes: () => (/* reexport safe */ _secp256k1__WEBPACK_IMPORTED_MODULE_2__.instantiateSecp256k1Bytes),\n/* harmony export */ instantiateSha1: () => (/* reexport safe */ _sha1__WEBPACK_IMPORTED_MODULE_3__.instantiateSha1),\n/* harmony export */ instantiateSha1Bytes: () => (/* reexport safe */ _sha1__WEBPACK_IMPORTED_MODULE_3__.instantiateSha1Bytes),\n/* harmony export */ instantiateSha256: () => (/* reexport safe */ _sha256__WEBPACK_IMPORTED_MODULE_4__.instantiateSha256),\n/* harmony export */ instantiateSha256Bytes: () => (/* reexport safe */ _sha256__WEBPACK_IMPORTED_MODULE_4__.instantiateSha256Bytes),\n/* harmony export */ instantiateSha512: () => (/* reexport safe */ _sha512__WEBPACK_IMPORTED_MODULE_5__.instantiateSha512),\n/* harmony export */ instantiateSha512Bytes: () => (/* reexport safe */ _sha512__WEBPACK_IMPORTED_MODULE_5__.instantiateSha512Bytes)\n/* harmony export */ });\n/* harmony import */ var _hmac__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./hmac */ \"./node_modules/@bitauth/libauth/build/module/lib/crypto/hmac.js\");\n/* harmony import */ var _ripemd160__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ripemd160 */ \"./node_modules/@bitauth/libauth/build/module/lib/crypto/ripemd160.js\");\n/* harmony import */ var _secp256k1__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./secp256k1 */ \"./node_modules/@bitauth/libauth/build/module/lib/crypto/secp256k1.js\");\n/* harmony import */ var _sha1__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./sha1 */ \"./node_modules/@bitauth/libauth/build/module/lib/crypto/sha1.js\");\n/* harmony import */ var _sha256__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./sha256 */ \"./node_modules/@bitauth/libauth/build/module/lib/crypto/sha256.js\");\n/* harmony import */ var _sha512__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./sha512 */ \"./node_modules/@bitauth/libauth/build/module/lib/crypto/sha512.js\");\n\n\n\n\n\n\n//# sourceMappingURL=crypto.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/crypto/crypto.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/crypto/hmac.js": +/*!***********************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/crypto/hmac.js ***! + \***********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ hmacSha256: () => (/* binding */ hmacSha256),\n/* harmony export */ hmacSha512: () => (/* binding */ hmacSha512),\n/* harmony export */ instantiateHmacFunction: () => (/* binding */ instantiateHmacFunction)\n/* harmony export */ });\n/* harmony import */ var _format_hex__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../format/hex */ \"./node_modules/@bitauth/libauth/build/module/lib/format/hex.js\");\n\n/**\n * Instantiate a hash-based message authentication code (HMAC) function as\n * specified by RFC 2104.\n *\n * @param hashFunction - a cryptographic hash function which iterates a basic\n * compression function on blocks of data\n * @param blockByteLength - the byte-length of blocks used in `hashFunction`\n */\nconst instantiateHmacFunction = (hashFunction, blockByteLength) => (secret, message) => {\n const key = new Uint8Array(blockByteLength).fill(0);\n // eslint-disable-next-line functional/no-expression-statement\n key.set(secret.length > blockByteLength ? hashFunction(secret) : secret, 0);\n const innerPaddingFill = 0x36;\n const innerPadding = new Uint8Array(blockByteLength).fill(innerPaddingFill);\n // eslint-disable-next-line no-bitwise\n const innerPrefix = innerPadding.map((pad, index) => pad ^ key[index]);\n const innerContent = (0,_format_hex__WEBPACK_IMPORTED_MODULE_0__.flattenBinArray)([innerPrefix, message]);\n const innerResult = hashFunction(innerContent);\n const outerPaddingFill = 0x5c;\n const outerPadding = new Uint8Array(blockByteLength).fill(outerPaddingFill);\n // eslint-disable-next-line no-bitwise\n const outerPrefix = outerPadding.map((pad, index) => pad ^ key[index]);\n return hashFunction((0,_format_hex__WEBPACK_IMPORTED_MODULE_0__.flattenBinArray)([outerPrefix, innerResult]));\n};\nconst sha256BlockByteLength = 64;\n/**\n * Create a hash-based message authentication code using HMAC-SHA256 as\n * specified in `RFC 4231`. Returns a 32-byte Uint8Array.\n *\n * Secrets longer than the block byte-length (64 bytes) are hashed before\n * use, shortening their length to the minimum recommended length (32 bytes).\n * See `RFC 2104` for details.\n *\n * @param sha256 - an implementation of Sha256\n * @param secret - the secret key (recommended length: 32-64 bytes)\n * @param message - the message to authenticate\n */\nconst hmacSha256 = (sha256, secret, message) => instantiateHmacFunction(sha256.hash, sha256BlockByteLength)(secret, message);\nconst sha512BlockByteLength = 128;\n/**\n * Create a hash-based message authentication code using HMAC-SHA512 as\n * specified in `RFC 4231`. Returns a 64-byte Uint8Array.\n *\n * Secrets longer than the block byte-length (128 bytes) are hashed before\n * use, shortening their length to the minimum recommended length (64 bytes).\n * See `RFC 2104` for details.\n *\n * @param sha512 - an implementation of Sha512\n * @param secret - the secret key (recommended length: 64-128 bytes)\n * @param message - the message to authenticate\n */\nconst hmacSha512 = (sha512, secret, message) => instantiateHmacFunction(sha512.hash, sha512BlockByteLength)(secret, message);\n//# sourceMappingURL=hmac.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/crypto/hmac.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/crypto/ripemd160.js": +/*!****************************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/crypto/ripemd160.js ***! + \****************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getEmbeddedRipemd160Binary: () => (/* binding */ getEmbeddedRipemd160Binary),\n/* harmony export */ instantiateRipemd160: () => (/* binding */ instantiateRipemd160),\n/* harmony export */ instantiateRipemd160Bytes: () => (/* binding */ instantiateRipemd160Bytes)\n/* harmony export */ });\n/* harmony import */ var _bin_bin__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../bin/bin */ \"./node_modules/@bitauth/libauth/build/module/lib/bin/hashes.js\");\n/* harmony import */ var _bin_bin__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../bin/bin */ \"./node_modules/@bitauth/libauth/build/module/lib/bin/ripemd160/ripemd160.base64.js\");\n/* harmony import */ var _format_format__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../format/format */ \"./node_modules/@bitauth/libauth/build/module/lib/format/base64.js\");\n\n\n/**\n * The most performant way to instantiate ripemd160 functionality. To avoid\n * using Node.js or DOM-specific APIs, you can use `instantiateRipemd160`.\n *\n * @param webassemblyBytes - A buffer containing the ripemd160 binary.\n */\nconst instantiateRipemd160Bytes = async (webassemblyBytes) => {\n const wasm = await (0,_bin_bin__WEBPACK_IMPORTED_MODULE_0__.instantiateRustWasm)(webassemblyBytes, './ripemd160', 'ripemd160', 'ripemd160_init', 'ripemd160_update', 'ripemd160_final');\n return {\n final: wasm.final,\n hash: wasm.hash,\n init: wasm.init,\n update: wasm.update,\n };\n};\nconst getEmbeddedRipemd160Binary = () => (0,_format_format__WEBPACK_IMPORTED_MODULE_1__.base64ToBin)(_bin_bin__WEBPACK_IMPORTED_MODULE_2__.ripemd160Base64Bytes).buffer;\nconst cachedRipemd160 = {};\n/**\n * An ultimately-portable (but slower) version of `instantiateRipemd160Bytes`\n * which does not require the consumer to provide the ripemd160 binary buffer.\n */\nconst instantiateRipemd160 = async () => {\n if (cachedRipemd160.cache !== undefined) {\n return cachedRipemd160.cache;\n }\n const result = instantiateRipemd160Bytes(getEmbeddedRipemd160Binary());\n // eslint-disable-next-line functional/immutable-data, functional/no-expression-statement\n cachedRipemd160.cache = result;\n return result;\n};\n//# sourceMappingURL=ripemd160.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/crypto/ripemd160.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/crypto/secp256k1.js": +/*!****************************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/crypto/secp256k1.js ***! + \****************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ instantiateSecp256k1: () => (/* binding */ instantiateSecp256k1),\n/* harmony export */ instantiateSecp256k1Bytes: () => (/* binding */ instantiateSecp256k1Bytes)\n/* harmony export */ });\n/* harmony import */ var _bin_bin__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../bin/bin */ \"./node_modules/@bitauth/libauth/build/module/lib/bin/secp256k1/secp256k1-wasm-types.js\");\n/* harmony import */ var _bin_bin__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../bin/bin */ \"./node_modules/@bitauth/libauth/build/module/lib/bin/secp256k1/secp256k1-wasm.js\");\n/* eslint-disable functional/no-conditional-statement, functional/no-expression-statement, functional/no-throw-statement */\n\n/**\n * @param secp256k1Wasm - a Secp256k1Wasm object\n * @param randomSeed - a 32-byte random seed used to randomize the context after\n * creation\n */\nconst wrapSecp256k1Wasm = (secp256k1Wasm, randomSeed) => {\n /**\n * Currently, this wrapper creates a context with both SIGN and VERIFY\n * capabilities. For better initialization performance, consumers could\n * re-implement a wrapper with only the capabilities they require.\n */\n const contextPtr = secp256k1Wasm.contextCreate(_bin_bin__WEBPACK_IMPORTED_MODULE_0__.ContextFlag.BOTH);\n /**\n * Since all of these methods are single-threaded and synchronous, we can\n * reuse allocated WebAssembly memory for each method without worrying about\n * calls interfering with each other. Likewise, these spaces never need to be\n * `free`d, since we will continue using them until this entire object (and\n * with it, the entire WebAssembly instance) is garbage collected.\n *\n * If malicious javascript gained access to this object, it should be\n * considered a critical vulnerability in the consumer. However, as a best\n * practice, we zero out private keys below when we're finished with them.\n */\n const sigScratch = secp256k1Wasm.malloc(72 /* maxECDSASig */);\n const publicKeyScratch = secp256k1Wasm.malloc(65 /* maxPublicKey */);\n const messageHashScratch = secp256k1Wasm.malloc(32 /* messageHash */);\n const internalPublicKeyPtr = secp256k1Wasm.malloc(64 /* internalPublicKey */);\n const internalSigPtr = secp256k1Wasm.malloc(64 /* internalSig */);\n const schnorrSigPtr = secp256k1Wasm.malloc(64 /* schnorrSig */);\n const privateKeyPtr = secp256k1Wasm.malloc(32 /* privateKey */);\n const internalRSigPtr = secp256k1Wasm.malloc(65 /* recoverableSig */);\n // eslint-disable-next-line @typescript-eslint/no-magic-numbers\n const recoveryNumPtr = secp256k1Wasm.malloc(4);\n // eslint-disable-next-line no-bitwise, @typescript-eslint/no-magic-numbers\n const recoveryNumPtrView32 = recoveryNumPtr >> 2;\n const getRecoveryNumPtr = () => secp256k1Wasm.heapU32[recoveryNumPtrView32];\n // eslint-disable-next-line @typescript-eslint/no-magic-numbers\n const lengthPtr = secp256k1Wasm.malloc(4);\n // eslint-disable-next-line no-bitwise, @typescript-eslint/no-magic-numbers\n const lengthPtrView32 = lengthPtr >> 2;\n const cloneAndPad = (value, expectedLength) => {\n const zeroPaddedValue = new Uint8Array(expectedLength);\n zeroPaddedValue.set(value);\n return zeroPaddedValue;\n };\n const parsePublicKey = (publicKey) => {\n const paddedPublicKey = cloneAndPad(publicKey, 65 /* maxPublicKey */);\n secp256k1Wasm.heapU8.set(paddedPublicKey, publicKeyScratch);\n return (secp256k1Wasm.pubkeyParse(contextPtr, internalPublicKeyPtr, publicKeyScratch, \n // eslint-disable-next-line @typescript-eslint/no-magic-numbers\n publicKey.length) === 1);\n };\n const setLengthPtr = (value) => {\n secp256k1Wasm.heapU32.set([value], lengthPtrView32);\n };\n const getLengthPtr = () => secp256k1Wasm.heapU32[lengthPtrView32];\n const serializePublicKey = (length, flag) => {\n setLengthPtr(length);\n secp256k1Wasm.pubkeySerialize(contextPtr, publicKeyScratch, lengthPtr, internalPublicKeyPtr, flag);\n return secp256k1Wasm.readHeapU8(publicKeyScratch, getLengthPtr()).slice();\n };\n const getSerializedPublicKey = (compressed) => compressed\n ? serializePublicKey(33 /* compressedPublicKey */, _bin_bin__WEBPACK_IMPORTED_MODULE_0__.CompressionFlag.COMPRESSED)\n : serializePublicKey(65 /* uncompressedPublicKey */, _bin_bin__WEBPACK_IMPORTED_MODULE_0__.CompressionFlag.UNCOMPRESSED);\n const convertPublicKey = (compressed) => (publicKey) => {\n if (!parsePublicKey(publicKey)) {\n throw new Error('Failed to parse public key.');\n }\n return getSerializedPublicKey(compressed);\n };\n const parseSignature = (signature, isDer) => {\n const paddedSignature = cloneAndPad(signature, 72 /* maxECDSASig */);\n secp256k1Wasm.heapU8.set(paddedSignature, sigScratch);\n return isDer\n ? secp256k1Wasm.signatureParseDER(contextPtr, internalSigPtr, sigScratch, signature.length) === 1\n : secp256k1Wasm.signatureParseCompact(contextPtr, internalSigPtr, sigScratch) === 1;\n };\n const parseOrThrow = (signature, isDer) => {\n if (!parseSignature(signature, isDer)) {\n throw new Error('Failed to parse signature.');\n }\n };\n const getCompactSig = () => {\n secp256k1Wasm.signatureSerializeCompact(contextPtr, sigScratch, internalSigPtr);\n return secp256k1Wasm.readHeapU8(sigScratch, 64 /* compactSig */).slice();\n };\n const getDERSig = () => {\n setLengthPtr(72 /* maxECDSASig */);\n secp256k1Wasm.signatureSerializeDER(contextPtr, sigScratch, lengthPtr, internalSigPtr);\n return secp256k1Wasm.readHeapU8(sigScratch, getLengthPtr()).slice();\n };\n const convertSignature = (wasDER) => (signature) => {\n parseOrThrow(signature, wasDER);\n return wasDER ? getCompactSig() : getDERSig();\n };\n const fillPrivateKeyPtr = (privateKey) => {\n const paddedPrivateKey = cloneAndPad(privateKey, 32 /* privateKey */);\n secp256k1Wasm.heapU8.set(paddedPrivateKey, privateKeyPtr);\n };\n const zeroOutPtr = (pointer, bytes) => {\n secp256k1Wasm.heapU8.fill(0, pointer, pointer + bytes);\n };\n const zeroOutPrivateKeyPtr = () => {\n zeroOutPtr(privateKeyPtr, 32 /* privateKey */);\n };\n const withPrivateKey = (privateKey, instructions) => {\n fillPrivateKeyPtr(privateKey);\n const ret = instructions();\n zeroOutPrivateKeyPtr();\n return ret;\n };\n const derivePublicKey = (compressed) => (privateKey) => {\n const invalid = withPrivateKey(privateKey, () => secp256k1Wasm.pubkeyCreate(contextPtr, internalPublicKeyPtr, privateKeyPtr) !== 1);\n if (invalid) {\n throw new Error('Cannot derive public key from invalid private key.');\n }\n return getSerializedPublicKey(compressed);\n };\n const fillMessageHashScratch = (messageHash) => {\n const paddedMessageHash = cloneAndPad(messageHash, 32 /* messageHash */);\n secp256k1Wasm.heapU8.set(paddedMessageHash, messageHashScratch);\n };\n const normalizeSignature = () => {\n secp256k1Wasm.signatureNormalize(contextPtr, internalSigPtr, internalSigPtr);\n };\n const modifySignature = (isDer, normalize) => (signature) => {\n parseOrThrow(signature, isDer);\n if (normalize) {\n normalizeSignature();\n }\n else {\n secp256k1Wasm.signatureMalleate(contextPtr, internalSigPtr, internalSigPtr);\n }\n return isDer ? getDERSig() : getCompactSig();\n };\n const parseAndNormalizeSignature = (signature, isDer, normalize) => {\n const ret = parseSignature(signature, isDer);\n if (normalize) {\n normalizeSignature();\n }\n return ret;\n };\n const signMessageHash = (isDer) => (privateKey, messageHash) => {\n fillMessageHashScratch(messageHash);\n return withPrivateKey(privateKey, () => {\n const failed = secp256k1Wasm.sign(contextPtr, internalSigPtr, messageHashScratch, privateKeyPtr) !== 1;\n if (failed) {\n throw new Error('Failed to sign message hash. The private key is not valid.');\n }\n if (isDer) {\n setLengthPtr(72 /* maxECDSASig */);\n secp256k1Wasm.signatureSerializeDER(contextPtr, sigScratch, lengthPtr, internalSigPtr);\n return secp256k1Wasm.readHeapU8(sigScratch, getLengthPtr()).slice();\n }\n secp256k1Wasm.signatureSerializeCompact(contextPtr, sigScratch, internalSigPtr);\n return secp256k1Wasm\n .readHeapU8(sigScratch, 64 /* compactSig */)\n .slice();\n });\n };\n const signMessageHashSchnorr = () => (privateKey, messageHash) => {\n fillMessageHashScratch(messageHash);\n return withPrivateKey(privateKey, () => {\n const failed = secp256k1Wasm.schnorrSign(contextPtr, schnorrSigPtr, messageHashScratch, privateKeyPtr) !== 1;\n if (failed) {\n throw new Error('Failed to sign message hash. The private key is not valid.');\n }\n return secp256k1Wasm\n .readHeapU8(schnorrSigPtr, 64 /* schnorrSig */)\n .slice();\n });\n };\n const verifyMessage = (messageHash) => {\n fillMessageHashScratch(messageHash);\n return (secp256k1Wasm.verify(contextPtr, internalSigPtr, messageHashScratch, internalPublicKeyPtr) === 1);\n };\n const verifySignature = (isDer, normalize) => (signature, publicKey, messageHash) => parsePublicKey(publicKey) &&\n parseAndNormalizeSignature(signature, isDer, normalize) &&\n verifyMessage(messageHash);\n const verifyMessageSchnorr = (messageHash, signature) => {\n fillMessageHashScratch(messageHash);\n const paddedSignature = cloneAndPad(signature, 64 /* schnorrSig */);\n secp256k1Wasm.heapU8.set(paddedSignature, schnorrSigPtr);\n return (secp256k1Wasm.schnorrVerify(contextPtr, schnorrSigPtr, messageHashScratch, internalPublicKeyPtr) === 1);\n };\n const verifySignatureSchnorr = () => (signature, publicKey, messageHash) => parsePublicKey(publicKey)\n ? verifyMessageSchnorr(messageHash, signature)\n : false;\n const signMessageHashRecoverable = (privateKey, messageHash) => {\n fillMessageHashScratch(messageHash);\n return withPrivateKey(privateKey, () => {\n if (secp256k1Wasm.signRecoverable(contextPtr, internalRSigPtr, messageHashScratch, privateKeyPtr) !== 1) {\n throw new Error('Failed to sign message hash. The private key is not valid.');\n }\n secp256k1Wasm.recoverableSignatureSerialize(contextPtr, sigScratch, recoveryNumPtr, internalRSigPtr);\n return {\n recoveryId: getRecoveryNumPtr(),\n signature: secp256k1Wasm\n .readHeapU8(sigScratch, 64 /* compactSig */)\n .slice(),\n };\n });\n };\n const recoverPublicKey = (compressed) => (signature, recoveryId, messageHash) => {\n fillMessageHashScratch(messageHash);\n const paddedSignature = cloneAndPad(signature, 72 /* maxECDSASig */);\n secp256k1Wasm.heapU8.set(paddedSignature, sigScratch);\n if (secp256k1Wasm.recoverableSignatureParse(contextPtr, internalRSigPtr, sigScratch, recoveryId) !== 1) {\n throw new Error('Failed to recover public key. Could not parse signature.');\n }\n if (secp256k1Wasm.recover(contextPtr, internalPublicKeyPtr, internalRSigPtr, messageHashScratch) !== 1) {\n throw new Error('Failed to recover public key. The compact signature, recovery, or message hash is invalid.');\n }\n return getSerializedPublicKey(compressed);\n };\n const addTweakPrivateKey = (privateKey, tweakValue) => {\n fillMessageHashScratch(tweakValue);\n return withPrivateKey(privateKey, () => {\n if (secp256k1Wasm.privkeyTweakAdd(contextPtr, privateKeyPtr, messageHashScratch) !== 1) {\n throw new Error('Private key is invalid or adding failed.');\n }\n return secp256k1Wasm\n .readHeapU8(privateKeyPtr, 32 /* privateKey */)\n .slice();\n });\n };\n const mulTweakPrivateKey = (privateKey, tweakValue) => {\n fillMessageHashScratch(tweakValue);\n return withPrivateKey(privateKey, () => {\n if (secp256k1Wasm.privkeyTweakMul(contextPtr, privateKeyPtr, messageHashScratch) !== 1) {\n throw new Error('Private key is invalid or multiplying failed.');\n }\n return secp256k1Wasm\n .readHeapU8(privateKeyPtr, 32 /* privateKey */)\n .slice();\n });\n };\n const addTweakPublicKey = (compressed) => (publicKey, tweakValue) => {\n if (!parsePublicKey(publicKey)) {\n throw new Error('Failed to parse public key.');\n }\n fillMessageHashScratch(tweakValue);\n if (secp256k1Wasm.pubkeyTweakAdd(contextPtr, internalPublicKeyPtr, messageHashScratch) !== 1) {\n throw new Error('Adding failed');\n }\n return getSerializedPublicKey(compressed);\n };\n const mulTweakPublicKey = (compressed) => (publicKey, tweakValue) => {\n if (!parsePublicKey(publicKey)) {\n throw new Error('Failed to parse public key.');\n }\n fillMessageHashScratch(tweakValue);\n if (secp256k1Wasm.pubkeyTweakMul(contextPtr, internalPublicKeyPtr, messageHashScratch) !== 1) {\n throw new Error('Multiplying failed');\n }\n return getSerializedPublicKey(compressed);\n };\n /**\n * The value of this precaution is debatable, especially in the context of\n * javascript and WebAssembly.\n *\n * In the secp256k1 C library, context randomization is an additional layer of\n * security from side-channel attacks which attempt to extract private key\n * information by analyzing things like a CPU's emitted radio frequencies or\n * power usage.\n *\n * In this library, these attacks seem even less likely, since the \"platform\"\n * on which this code will be executed (e.g. V8) is likely to obscure any\n * such signals.\n *\n * Still, out of an abundance of caution (and because no one has produced a\n * definitive proof indicating that this is not helpful), this library exposes\n * the ability to randomize the context like the C library. Depending on the\n * intended application, consumers can decide whether or not to randomize.\n */\n if (randomSeed !== undefined) {\n const randomSeedPtr = messageHashScratch;\n const paddedRandomSeed = cloneAndPad(randomSeed, 32 /* randomSeed */);\n secp256k1Wasm.heapU8.set(paddedRandomSeed, randomSeedPtr);\n secp256k1Wasm.contextRandomize(contextPtr, randomSeedPtr);\n zeroOutPtr(randomSeedPtr, 32 /* randomSeed */);\n }\n return {\n addTweakPrivateKey,\n addTweakPublicKeyCompressed: addTweakPublicKey(true),\n addTweakPublicKeyUncompressed: addTweakPublicKey(false),\n compressPublicKey: convertPublicKey(true),\n derivePublicKeyCompressed: derivePublicKey(true),\n derivePublicKeyUncompressed: derivePublicKey(false),\n malleateSignatureCompact: modifySignature(false, false),\n malleateSignatureDER: modifySignature(true, false),\n mulTweakPrivateKey,\n mulTweakPublicKeyCompressed: mulTweakPublicKey(true),\n mulTweakPublicKeyUncompressed: mulTweakPublicKey(false),\n normalizeSignatureCompact: modifySignature(false, true),\n normalizeSignatureDER: modifySignature(true, true),\n recoverPublicKeyCompressed: recoverPublicKey(true),\n recoverPublicKeyUncompressed: recoverPublicKey(false),\n signMessageHashCompact: signMessageHash(false),\n signMessageHashDER: signMessageHash(true),\n signMessageHashRecoverableCompact: signMessageHashRecoverable,\n signMessageHashSchnorr: signMessageHashSchnorr(),\n signatureCompactToDER: convertSignature(false),\n signatureDERToCompact: convertSignature(true),\n uncompressPublicKey: convertPublicKey(false),\n validatePrivateKey: (privateKey) => withPrivateKey(privateKey, () => secp256k1Wasm.seckeyVerify(contextPtr, privateKeyPtr) === 1),\n validatePublicKey: parsePublicKey,\n verifySignatureCompact: verifySignature(false, true),\n verifySignatureCompactLowS: verifySignature(false, false),\n verifySignatureDER: verifySignature(true, true),\n verifySignatureDERLowS: verifySignature(true, false),\n verifySignatureSchnorr: verifySignatureSchnorr(),\n };\n};\n/**\n * This method is like `instantiateSecp256k1`, but requires the consumer to\n * `Window.fetch` or `fs.readFile` the `secp256k1.wasm` binary and provide it to\n * this method as `webassemblyBytes`. This skips a base64 decoding of an\n * embedded binary.\n *\n * ### Randomizing the Context with `randomSeed`\n * This method also accepts an optional, 32-byte `randomSeed`, which is passed\n * to the `contextRandomize` method in the underlying WebAssembly.\n *\n * The value of this precaution is debatable, especially in the context of\n * javascript and WebAssembly.\n *\n * In the secp256k1 C library, context randomization is an additional layer of\n * security from side-channel attacks which attempt to extract private key\n * information by analyzing things like a CPU's emitted radio frequencies or\n * power usage.\n *\n * In this library, these attacks seem even less likely, since the \"platform\"\n * on which this code will be executed (e.g. V8) is likely to obscure any\n * such signals.\n *\n * Still, out of an abundance of caution (and because no one has produced a\n * definitive proof indicating that this is not helpful), this library exposes\n * the ability to randomize the context like the C library. Depending on the\n * intended application, consumers can decide whether or not to randomize.\n *\n * @param webassemblyBytes - an ArrayBuffer containing the bytes from Libauth's\n * `secp256k1.wasm` binary. Providing this buffer manually may be faster than\n * the internal base64 decode which happens in `instantiateSecp256k1`.\n * @param randomSeed - a 32-byte random seed used to randomize the secp256k1\n * context after creation. See above for details.\n */\nconst instantiateSecp256k1Bytes = async (webassemblyBytes, randomSeed) => wrapSecp256k1Wasm(await (0,_bin_bin__WEBPACK_IMPORTED_MODULE_1__.instantiateSecp256k1WasmBytes)(webassemblyBytes), randomSeed);\nconst cachedSecp256k1 = {};\n/**\n * Create and wrap a Secp256k1 WebAssembly instance to expose a set of\n * purely-functional Secp256k1 methods. For slightly faster initialization, use\n * `instantiateSecp256k1Bytes`.\n *\n * @param randomSeed - a 32-byte random seed used to randomize the secp256k1\n * context after creation. See the description in `instantiateSecp256k1Bytes`\n * for details.\n */\nconst instantiateSecp256k1 = async (randomSeed) => {\n if (cachedSecp256k1.cache !== undefined) {\n return cachedSecp256k1.cache;\n }\n const result = Promise.resolve(wrapSecp256k1Wasm(await (0,_bin_bin__WEBPACK_IMPORTED_MODULE_1__.instantiateSecp256k1Wasm)(), randomSeed));\n // eslint-disable-next-line require-atomic-updates, functional/immutable-data\n cachedSecp256k1.cache = result;\n return result;\n};\n//# sourceMappingURL=secp256k1.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/crypto/secp256k1.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/crypto/sha1.js": +/*!***********************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/crypto/sha1.js ***! + \***********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getEmbeddedSha1Binary: () => (/* binding */ getEmbeddedSha1Binary),\n/* harmony export */ instantiateSha1: () => (/* binding */ instantiateSha1),\n/* harmony export */ instantiateSha1Bytes: () => (/* binding */ instantiateSha1Bytes)\n/* harmony export */ });\n/* harmony import */ var _bin_bin__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../bin/bin */ \"./node_modules/@bitauth/libauth/build/module/lib/bin/hashes.js\");\n/* harmony import */ var _bin_bin__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../bin/bin */ \"./node_modules/@bitauth/libauth/build/module/lib/bin/sha1/sha1.base64.js\");\n/* harmony import */ var _format_format__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../format/format */ \"./node_modules/@bitauth/libauth/build/module/lib/format/base64.js\");\n\n\n/**\n * The most performant way to instantiate sha1 functionality. To avoid\n * using Node.js or DOM-specific APIs, you can use `instantiateSha1`.\n *\n * @param webassemblyBytes - A buffer containing the sha1 binary.\n */\nconst instantiateSha1Bytes = async (webassemblyBytes) => {\n const wasm = await (0,_bin_bin__WEBPACK_IMPORTED_MODULE_0__.instantiateRustWasm)(webassemblyBytes, './sha1', 'sha1', 'sha1_init', 'sha1_update', 'sha1_final');\n return {\n final: wasm.final,\n hash: wasm.hash,\n init: wasm.init,\n update: wasm.update,\n };\n};\nconst getEmbeddedSha1Binary = () => (0,_format_format__WEBPACK_IMPORTED_MODULE_1__.base64ToBin)(_bin_bin__WEBPACK_IMPORTED_MODULE_2__.sha1Base64Bytes).buffer;\nconst cachedSha1 = {};\n/**\n * An ultimately-portable (but slower) version of `instantiateSha1Bytes`\n * which does not require the consumer to provide the sha1 binary buffer.\n */\nconst instantiateSha1 = async () => {\n if (cachedSha1.cache !== undefined) {\n return cachedSha1.cache;\n }\n const result = instantiateSha1Bytes(getEmbeddedSha1Binary());\n // eslint-disable-next-line functional/immutable-data, functional/no-expression-statement\n cachedSha1.cache = result;\n return result;\n};\n//# sourceMappingURL=sha1.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/crypto/sha1.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/crypto/sha256.js": +/*!*************************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/crypto/sha256.js ***! + \*************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getEmbeddedSha256Binary: () => (/* binding */ getEmbeddedSha256Binary),\n/* harmony export */ instantiateSha256: () => (/* binding */ instantiateSha256),\n/* harmony export */ instantiateSha256Bytes: () => (/* binding */ instantiateSha256Bytes)\n/* harmony export */ });\n/* harmony import */ var _bin_bin__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../bin/bin */ \"./node_modules/@bitauth/libauth/build/module/lib/bin/hashes.js\");\n/* harmony import */ var _bin_bin__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../bin/bin */ \"./node_modules/@bitauth/libauth/build/module/lib/bin/sha256/sha256.base64.js\");\n/* harmony import */ var _format_format__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../format/format */ \"./node_modules/@bitauth/libauth/build/module/lib/format/base64.js\");\n\n\n/**\n * The most performant way to instantiate sha256 functionality. To avoid\n * using Node.js or DOM-specific APIs, you can use `instantiateSha256`.\n *\n * @param webassemblyBytes - A buffer containing the sha256 binary.\n */\nconst instantiateSha256Bytes = async (webassemblyBytes) => {\n const wasm = await (0,_bin_bin__WEBPACK_IMPORTED_MODULE_0__.instantiateRustWasm)(webassemblyBytes, './sha256', 'sha256', 'sha256_init', 'sha256_update', 'sha256_final');\n return {\n final: wasm.final,\n hash: wasm.hash,\n init: wasm.init,\n update: wasm.update,\n };\n};\nconst getEmbeddedSha256Binary = () => (0,_format_format__WEBPACK_IMPORTED_MODULE_1__.base64ToBin)(_bin_bin__WEBPACK_IMPORTED_MODULE_2__.sha256Base64Bytes).buffer;\nconst cachedSha256 = {};\n/**\n * An ultimately-portable (but possibly slower) version of\n * `instantiateSha256Bytes` which does not require the consumer to provide the\n * sha256 binary buffer.\n */\nconst instantiateSha256 = async () => {\n if (cachedSha256.cache !== undefined) {\n return cachedSha256.cache;\n }\n const result = instantiateSha256Bytes(getEmbeddedSha256Binary());\n // eslint-disable-next-line functional/immutable-data, functional/no-expression-statement\n cachedSha256.cache = result;\n return result;\n};\n//# sourceMappingURL=sha256.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/crypto/sha256.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/crypto/sha512.js": +/*!*************************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/crypto/sha512.js ***! + \*************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getEmbeddedSha512Binary: () => (/* binding */ getEmbeddedSha512Binary),\n/* harmony export */ instantiateSha512: () => (/* binding */ instantiateSha512),\n/* harmony export */ instantiateSha512Bytes: () => (/* binding */ instantiateSha512Bytes)\n/* harmony export */ });\n/* harmony import */ var _bin_bin__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../bin/bin */ \"./node_modules/@bitauth/libauth/build/module/lib/bin/hashes.js\");\n/* harmony import */ var _bin_bin__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../bin/bin */ \"./node_modules/@bitauth/libauth/build/module/lib/bin/sha512/sha512.base64.js\");\n/* harmony import */ var _format_format__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../format/format */ \"./node_modules/@bitauth/libauth/build/module/lib/format/base64.js\");\n\n\n/**\n * The most performant way to instantiate sha512 functionality. To avoid\n * using Node.js or DOM-specific APIs, you can use `instantiateSha512`.\n *\n * @param webassemblyBytes - A buffer containing the sha512 binary.\n */\nconst instantiateSha512Bytes = async (webassemblyBytes) => {\n const wasm = await (0,_bin_bin__WEBPACK_IMPORTED_MODULE_0__.instantiateRustWasm)(webassemblyBytes, './sha512', 'sha512', 'sha512_init', 'sha512_update', 'sha512_final');\n return {\n final: wasm.final,\n hash: wasm.hash,\n init: wasm.init,\n update: wasm.update,\n };\n};\nconst getEmbeddedSha512Binary = () => (0,_format_format__WEBPACK_IMPORTED_MODULE_1__.base64ToBin)(_bin_bin__WEBPACK_IMPORTED_MODULE_2__.sha512Base64Bytes).buffer;\nconst cachedSha512 = {};\n/**\n * An ultimately-portable (but slower) version of `instantiateSha512Bytes`\n * which does not require the consumer to provide the sha512 binary buffer.\n */\nconst instantiateSha512 = async () => {\n if (cachedSha512.cache !== undefined) {\n return cachedSha512.cache;\n }\n const result = instantiateSha512Bytes(getEmbeddedSha512Binary());\n // eslint-disable-next-line functional/immutable-data, functional/no-expression-statement\n cachedSha512.cache = result;\n return result;\n};\n//# sourceMappingURL=sha512.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/crypto/sha512.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/format/base-convert.js": +/*!*******************************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/format/base-convert.js ***! + \*******************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ BaseConversionError: () => (/* binding */ BaseConversionError),\n/* harmony export */ base58ToBin: () => (/* binding */ base58ToBin),\n/* harmony export */ binToBase58: () => (/* binding */ binToBase58),\n/* harmony export */ bitcoinBase58Alphabet: () => (/* binding */ bitcoinBase58Alphabet),\n/* harmony export */ createBaseConverter: () => (/* binding */ createBaseConverter)\n/* harmony export */ });\nvar BaseConversionError;\n(function (BaseConversionError) {\n BaseConversionError[\"tooLong\"] = \"An alphabet may be no longer than 254 characters.\";\n BaseConversionError[\"ambiguousCharacter\"] = \"A character code may only appear once in a single alphabet.\";\n BaseConversionError[\"unknownCharacter\"] = \"Encountered an unknown character for this alphabet.\";\n})(BaseConversionError || (BaseConversionError = {}));\n/**\n * Create a `BaseConverter`, which exposes methods for encoding and decoding\n * `Uint8Array`s using bitcoin-style padding: each leading zero in the input is\n * replaced with the zero-index character of the `alphabet`, then the remainder\n * of the input is encoded as a large number in the specified alphabet.\n *\n * For example, using the alphabet `01`, the input `[0, 15]` is encoded `01111`\n * – a single `0` represents the leading padding, followed by the base2 encoded\n * `0x1111` (15). With the same alphabet, the input `[0, 0, 255]` is encoded\n * `0011111111` - only two `0` characters are required to represent both\n * leading zeros, followed by the base2 encoded `0x11111111` (255).\n *\n * **This is not compatible with `RFC 3548`'s `Base16`, `Base32`, or `Base64`.**\n *\n * If the alphabet is malformed, this method returns the error as a `string`.\n *\n * @param alphabet - an ordered string which maps each index to a character,\n * e.g. `0123456789`.\n * @privateRemarks\n * Algorithm from the `base-x` implementation (which is derived from the\n * original Satoshi implementation): https://github.com/cryptocoinjs/base-x\n */\nconst createBaseConverter = (alphabet) => {\n const undefinedValue = 255;\n const uint8ArrayBase = 256;\n if (alphabet.length >= undefinedValue)\n return BaseConversionError.tooLong;\n const alphabetMap = new Uint8Array(uint8ArrayBase).fill(undefinedValue);\n // eslint-disable-next-line functional/no-loop-statement, functional/no-let, no-plusplus\n for (let index = 0; index < alphabet.length; index++) {\n const characterCode = alphabet.charCodeAt(index);\n if (alphabetMap[characterCode] !== undefinedValue) {\n return BaseConversionError.ambiguousCharacter;\n }\n // eslint-disable-next-line functional/no-expression-statement, functional/immutable-data\n alphabetMap[characterCode] = index;\n }\n const base = alphabet.length;\n const paddingCharacter = alphabet.charAt(0);\n const factor = Math.log(base) / Math.log(uint8ArrayBase);\n const inverseFactor = Math.log(uint8ArrayBase) / Math.log(base);\n return {\n // eslint-disable-next-line complexity\n decode: (input) => {\n if (input.length === 0)\n return Uint8Array.of();\n const firstNonZeroIndex = input\n .split('')\n .findIndex((character) => character !== paddingCharacter);\n if (firstNonZeroIndex === -1) {\n return new Uint8Array(input.length);\n }\n const requiredLength = Math.floor((input.length - firstNonZeroIndex) * factor + 1);\n const decoded = new Uint8Array(requiredLength);\n /* eslint-disable functional/no-let, functional/no-expression-statement */\n let nextByte = firstNonZeroIndex;\n let remainingBytes = 0;\n // eslint-disable-next-line functional/no-loop-statement\n while (input[nextByte] !== undefined) {\n let carry = alphabetMap[input.charCodeAt(nextByte)];\n if (carry === undefinedValue)\n return BaseConversionError.unknownCharacter;\n let digit = 0;\n // eslint-disable-next-line functional/no-loop-statement\n for (let steps = requiredLength - 1; (carry !== 0 || digit < remainingBytes) && steps !== -1; \n // eslint-disable-next-line no-plusplus\n steps--, digit++) {\n carry += Math.floor(base * decoded[steps]);\n // eslint-disable-next-line functional/immutable-data\n decoded[steps] = Math.floor(carry % uint8ArrayBase);\n carry = Math.floor(carry / uint8ArrayBase);\n }\n remainingBytes = digit;\n // eslint-disable-next-line no-plusplus\n nextByte++;\n }\n /* eslint-enable functional/no-let, functional/no-expression-statement */\n const firstNonZeroResultDigit = decoded.findIndex((value) => value !== 0);\n const bin = new Uint8Array(firstNonZeroIndex + (requiredLength - firstNonZeroResultDigit));\n // eslint-disable-next-line functional/no-expression-statement\n bin.set(decoded.slice(firstNonZeroResultDigit), firstNonZeroIndex);\n return bin;\n },\n // eslint-disable-next-line complexity\n encode: (input) => {\n if (input.length === 0)\n return '';\n const firstNonZeroIndex = input.findIndex((byte) => byte !== 0);\n if (firstNonZeroIndex === -1) {\n return paddingCharacter.repeat(input.length);\n }\n const requiredLength = Math.floor((input.length - firstNonZeroIndex) * inverseFactor + 1);\n const encoded = new Uint8Array(requiredLength);\n /* eslint-disable functional/no-let, functional/no-expression-statement */\n let nextByte = firstNonZeroIndex;\n let remainingBytes = 0;\n // eslint-disable-next-line functional/no-loop-statement\n while (nextByte !== input.length) {\n let carry = input[nextByte];\n let digit = 0;\n // eslint-disable-next-line functional/no-loop-statement\n for (let steps = requiredLength - 1; (carry !== 0 || digit < remainingBytes) && steps !== -1; \n // eslint-disable-next-line no-plusplus\n steps--, digit++) {\n carry += Math.floor(uint8ArrayBase * encoded[steps]);\n // eslint-disable-next-line functional/immutable-data\n encoded[steps] = Math.floor(carry % base);\n carry = Math.floor(carry / base);\n }\n remainingBytes = digit;\n // eslint-disable-next-line no-plusplus\n nextByte++;\n }\n /* eslint-enable functional/no-let, functional/no-expression-statement */\n const firstNonZeroResultDigit = encoded.findIndex((value) => value !== 0);\n const padding = paddingCharacter.repeat(firstNonZeroIndex);\n return encoded\n .slice(firstNonZeroResultDigit)\n .reduce((all, digit) => all + alphabet.charAt(digit), padding);\n },\n };\n};\nconst bitcoinBase58Alphabet = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz';\nconst base58 = createBaseConverter(bitcoinBase58Alphabet);\n/**\n * Convert a bitcoin-style base58-encoded string to a Uint8Array.\n *\n * See `createBaseConverter` for format details.\n * @param input - a valid base58-encoded string to decode\n */\nconst base58ToBin = base58.decode;\n/**\n * Convert a Uint8Array to a bitcoin-style base58-encoded string.\n *\n * See `createBaseConverter` for format details.\n * @param input - the Uint8Array to base58 encode\n */\nconst binToBase58 = base58.encode;\n//# sourceMappingURL=base-convert.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/format/base-convert.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/format/base64.js": +/*!*************************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/format/base64.js ***! + \*************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ base64ToBin: () => (/* binding */ base64ToBin),\n/* harmony export */ binToBase64: () => (/* binding */ binToBase64),\n/* harmony export */ isBase64: () => (/* binding */ isBase64)\n/* harmony export */ });\n// base64 encode/decode derived from: https://github.com/niklasvh/base64-arraybuffer\nconst chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\nconst base64GroupLength = 4;\nconst nonBase64Chars = new RegExp(`[^${chars}=]`, 'u');\n/**\n * For use before `base64ToBin`. Returns true if the provided string is valid\n * base64 (length is divisible by 4, only uses base64 characters).\n * @param maybeHex - a string to test\n */\nconst isBase64 = (maybeBase64) => maybeBase64.length % base64GroupLength === 0 &&\n !nonBase64Chars.test(maybeBase64);\n/* eslint-disable functional/no-expression-statement, functional/immutable-data, @typescript-eslint/no-magic-numbers, no-bitwise, no-plusplus */\n/**\n * Convert a base64-encoded string to a Uint8Array.\n *\n * Note, this method always completes. If `validBase64` is not valid base64, an\n * incorrect result will be returned. If `validBase64` is potentially malformed,\n * check it with `isBase64` before calling this method.\n *\n * @param validBase64 - a valid base64-encoded string to decode\n */\nconst base64ToBin = (validBase64) => {\n const lookup = new Uint8Array(123);\n // eslint-disable-next-line functional/no-let, functional/no-loop-statement\n for (let i = 0; i < chars.length; i++) {\n lookup[chars.charCodeAt(i)] = i;\n }\n const bufferLengthEstimate = validBase64.length * 0.75;\n const stringLength = validBase64.length;\n const bufferLength = validBase64[validBase64.length - 1] === '=' // eslint-disable-line @typescript-eslint/prefer-string-starts-ends-with\n ? validBase64[validBase64.length - 2] === '='\n ? bufferLengthEstimate - 2\n : bufferLengthEstimate - 1\n : bufferLengthEstimate;\n const buffer = new ArrayBuffer(bufferLength);\n const bytes = new Uint8Array(buffer);\n // eslint-disable-next-line functional/no-let\n let p = 0;\n // eslint-disable-next-line functional/no-let, functional/no-loop-statement\n for (let i = 0; i < stringLength; i += 4) {\n const encoded1 = lookup[validBase64.charCodeAt(i)];\n const encoded2 = lookup[validBase64.charCodeAt(i + 1)];\n const encoded3 = lookup[validBase64.charCodeAt(i + 2)];\n const encoded4 = lookup[validBase64.charCodeAt(i + 3)];\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n return bytes;\n};\n/**\n * Convert a Uint8Array to a base64-encoded string.\n * @param bytes - the Uint8Array to base64 encode\n */\nconst binToBase64 = (bytes) => {\n // eslint-disable-next-line functional/no-let\n let result = '';\n // eslint-disable-next-line functional/no-let, functional/no-loop-statement\n for (let i = 0; i < bytes.length; i += 3) {\n result += chars[bytes[i] >> 2];\n result += chars[((bytes[i] & 3) << 4) | (bytes[i + 1] >> 4)];\n result += chars[((bytes[i + 1] & 15) << 2) | (bytes[i + 2] >> 6)];\n result += chars[bytes[i + 2] & 63];\n }\n const padded = bytes.length % 3 === 2\n ? `${result.substring(0, result.length - 1)}=`\n : bytes.length % 3 === 1\n ? `${result.substring(0, result.length - 2)}==`\n : result;\n return padded;\n};\n/* eslint-enable functional/no-expression-statement, functional/immutable-data, @typescript-eslint/no-magic-numbers, no-bitwise, no-plusplus */\n//# sourceMappingURL=base64.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/format/base64.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/format/bin-string.js": +/*!*****************************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/format/bin-string.js ***! + \*****************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ binStringToBin: () => (/* binding */ binStringToBin),\n/* harmony export */ binToBinString: () => (/* binding */ binToBinString),\n/* harmony export */ isBinString: () => (/* binding */ isBinString)\n/* harmony export */ });\n/* harmony import */ var _hex__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./hex */ \"./node_modules/@bitauth/libauth/build/module/lib/format/hex.js\");\n\nconst binaryByteWidth = 8;\nconst binary = 2;\n/**\n * Decode a binary-encoded string into a Uint8Array.\n *\n * E.g.: `binStringToBin('0010101001100100')` → `new Uint8Array([42, 100])`\n *\n * Note, this method always completes. If `binaryDigits` is not divisible by 8,\n * the final byte will be parsed as if it were prepended with `0`s (e.g. `1`\n * is interpreted as `00000001`). If `binaryDigits` is potentially malformed,\n * check it with `isBinString` before calling this method.\n *\n * @param validHex - a string of valid, hexadecimal-encoded data\n */\nconst binStringToBin = (binaryDigits) => Uint8Array.from((0,_hex__WEBPACK_IMPORTED_MODULE_0__.splitEvery)(binaryDigits, binaryByteWidth).map((byteString) => parseInt(byteString, binary)));\n/**\n * Encode a Uint8Array into a binary-encoded string.\n *\n * E.g.: `binToBinString(Uint8Array.from([42, 100]))` → `'0010101001100100'`\n *\n * @param bytes - a Uint8Array to encode\n */\nconst binToBinString = (bytes) => bytes.reduce((str, byte) => str + byte.toString(binary).padStart(binaryByteWidth, '0'), '');\n/**\n * For use before `binStringToBin`. Returns true if the provided string is a\n * valid binary string (length is divisible by 8 and only uses the characters\n * `0` and `1`).\n * @param maybeBinString - a string to test\n */\nconst isBinString = (maybeBinString) => maybeBinString.length % binaryByteWidth === 0 &&\n !/[^01]/u.test(maybeBinString);\n//# sourceMappingURL=bin-string.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/format/bin-string.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/format/format.js": +/*!*************************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/format/format.js ***! + \*************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ BaseConversionError: () => (/* reexport safe */ _base_convert__WEBPACK_IMPORTED_MODULE_2__.BaseConversionError),\n/* harmony export */ LocktimeError: () => (/* reexport safe */ _time__WEBPACK_IMPORTED_MODULE_6__.LocktimeError),\n/* harmony export */ base58ToBin: () => (/* reexport safe */ _base_convert__WEBPACK_IMPORTED_MODULE_2__.base58ToBin),\n/* harmony export */ base64ToBin: () => (/* reexport safe */ _base64__WEBPACK_IMPORTED_MODULE_3__.base64ToBin),\n/* harmony export */ bigIntToBinUint256BEClamped: () => (/* reexport safe */ _numbers__WEBPACK_IMPORTED_MODULE_4__.bigIntToBinUint256BEClamped),\n/* harmony export */ bigIntToBinUint64LE: () => (/* reexport safe */ _numbers__WEBPACK_IMPORTED_MODULE_4__.bigIntToBinUint64LE),\n/* harmony export */ bigIntToBinUint64LEClamped: () => (/* reexport safe */ _numbers__WEBPACK_IMPORTED_MODULE_4__.bigIntToBinUint64LEClamped),\n/* harmony export */ bigIntToBinUintLE: () => (/* reexport safe */ _numbers__WEBPACK_IMPORTED_MODULE_4__.bigIntToBinUintLE),\n/* harmony export */ bigIntToBitcoinVarInt: () => (/* reexport safe */ _numbers__WEBPACK_IMPORTED_MODULE_4__.bigIntToBitcoinVarInt),\n/* harmony export */ binStringToBin: () => (/* reexport safe */ _bin_string__WEBPACK_IMPORTED_MODULE_1__.binStringToBin),\n/* harmony export */ binToBase58: () => (/* reexport safe */ _base_convert__WEBPACK_IMPORTED_MODULE_2__.binToBase58),\n/* harmony export */ binToBase64: () => (/* reexport safe */ _base64__WEBPACK_IMPORTED_MODULE_3__.binToBase64),\n/* harmony export */ binToBigIntUint256BE: () => (/* reexport safe */ _numbers__WEBPACK_IMPORTED_MODULE_4__.binToBigIntUint256BE),\n/* harmony export */ binToBigIntUint64LE: () => (/* reexport safe */ _numbers__WEBPACK_IMPORTED_MODULE_4__.binToBigIntUint64LE),\n/* harmony export */ binToBigIntUintBE: () => (/* reexport safe */ _numbers__WEBPACK_IMPORTED_MODULE_4__.binToBigIntUintBE),\n/* harmony export */ binToBigIntUintLE: () => (/* reexport safe */ _numbers__WEBPACK_IMPORTED_MODULE_4__.binToBigIntUintLE),\n/* harmony export */ binToBinString: () => (/* reexport safe */ _bin_string__WEBPACK_IMPORTED_MODULE_1__.binToBinString),\n/* harmony export */ binToFixedLength: () => (/* reexport safe */ _numbers__WEBPACK_IMPORTED_MODULE_4__.binToFixedLength),\n/* harmony export */ binToHex: () => (/* reexport safe */ _hex__WEBPACK_IMPORTED_MODULE_0__.binToHex),\n/* harmony export */ binToNumberInt16LE: () => (/* reexport safe */ _numbers__WEBPACK_IMPORTED_MODULE_4__.binToNumberInt16LE),\n/* harmony export */ binToNumberInt32LE: () => (/* reexport safe */ _numbers__WEBPACK_IMPORTED_MODULE_4__.binToNumberInt32LE),\n/* harmony export */ binToNumberUint16LE: () => (/* reexport safe */ _numbers__WEBPACK_IMPORTED_MODULE_4__.binToNumberUint16LE),\n/* harmony export */ binToNumberUint32LE: () => (/* reexport safe */ _numbers__WEBPACK_IMPORTED_MODULE_4__.binToNumberUint32LE),\n/* harmony export */ binToNumberUintLE: () => (/* reexport safe */ _numbers__WEBPACK_IMPORTED_MODULE_4__.binToNumberUintLE),\n/* harmony export */ binToUtf8: () => (/* reexport safe */ _utf8__WEBPACK_IMPORTED_MODULE_8__.binToUtf8),\n/* harmony export */ bitcoinBase58Alphabet: () => (/* reexport safe */ _base_convert__WEBPACK_IMPORTED_MODULE_2__.bitcoinBase58Alphabet),\n/* harmony export */ createBaseConverter: () => (/* reexport safe */ _base_convert__WEBPACK_IMPORTED_MODULE_2__.createBaseConverter),\n/* harmony export */ dateToLocktime: () => (/* reexport safe */ _time__WEBPACK_IMPORTED_MODULE_6__.dateToLocktime),\n/* harmony export */ dateToLocktimeBin: () => (/* reexport safe */ _time__WEBPACK_IMPORTED_MODULE_6__.dateToLocktimeBin),\n/* harmony export */ flattenBinArray: () => (/* reexport safe */ _hex__WEBPACK_IMPORTED_MODULE_0__.flattenBinArray),\n/* harmony export */ hexToBin: () => (/* reexport safe */ _hex__WEBPACK_IMPORTED_MODULE_0__.hexToBin),\n/* harmony export */ isBase64: () => (/* reexport safe */ _base64__WEBPACK_IMPORTED_MODULE_3__.isBase64),\n/* harmony export */ isBinString: () => (/* reexport safe */ _bin_string__WEBPACK_IMPORTED_MODULE_1__.isBinString),\n/* harmony export */ isHex: () => (/* reexport safe */ _hex__WEBPACK_IMPORTED_MODULE_0__.isHex),\n/* harmony export */ locktimeToDate: () => (/* reexport safe */ _time__WEBPACK_IMPORTED_MODULE_6__.locktimeToDate),\n/* harmony export */ maximumLocktimeDate: () => (/* reexport safe */ _time__WEBPACK_IMPORTED_MODULE_6__.maximumLocktimeDate),\n/* harmony export */ maximumLocktimeTimestamp: () => (/* reexport safe */ _time__WEBPACK_IMPORTED_MODULE_6__.maximumLocktimeTimestamp),\n/* harmony export */ minimumLocktimeDate: () => (/* reexport safe */ _time__WEBPACK_IMPORTED_MODULE_6__.minimumLocktimeDate),\n/* harmony export */ minimumLocktimeTimestamp: () => (/* reexport safe */ _time__WEBPACK_IMPORTED_MODULE_6__.minimumLocktimeTimestamp),\n/* harmony export */ numberToBinInt16LE: () => (/* reexport safe */ _numbers__WEBPACK_IMPORTED_MODULE_4__.numberToBinInt16LE),\n/* harmony export */ numberToBinInt32LE: () => (/* reexport safe */ _numbers__WEBPACK_IMPORTED_MODULE_4__.numberToBinInt32LE),\n/* harmony export */ numberToBinInt32TwosCompliment: () => (/* reexport safe */ _numbers__WEBPACK_IMPORTED_MODULE_4__.numberToBinInt32TwosCompliment),\n/* harmony export */ numberToBinUint16BE: () => (/* reexport safe */ _numbers__WEBPACK_IMPORTED_MODULE_4__.numberToBinUint16BE),\n/* harmony export */ numberToBinUint16LE: () => (/* reexport safe */ _numbers__WEBPACK_IMPORTED_MODULE_4__.numberToBinUint16LE),\n/* harmony export */ numberToBinUint16LEClamped: () => (/* reexport safe */ _numbers__WEBPACK_IMPORTED_MODULE_4__.numberToBinUint16LEClamped),\n/* harmony export */ numberToBinUint32BE: () => (/* reexport safe */ _numbers__WEBPACK_IMPORTED_MODULE_4__.numberToBinUint32BE),\n/* harmony export */ numberToBinUint32LE: () => (/* reexport safe */ _numbers__WEBPACK_IMPORTED_MODULE_4__.numberToBinUint32LE),\n/* harmony export */ numberToBinUint32LEClamped: () => (/* reexport safe */ _numbers__WEBPACK_IMPORTED_MODULE_4__.numberToBinUint32LEClamped),\n/* harmony export */ numberToBinUintLE: () => (/* reexport safe */ _numbers__WEBPACK_IMPORTED_MODULE_4__.numberToBinUintLE),\n/* harmony export */ parseLocktimeBin: () => (/* reexport safe */ _time__WEBPACK_IMPORTED_MODULE_6__.parseLocktimeBin),\n/* harmony export */ range: () => (/* reexport safe */ _hex__WEBPACK_IMPORTED_MODULE_0__.range),\n/* harmony export */ readBitcoinVarInt: () => (/* reexport safe */ _numbers__WEBPACK_IMPORTED_MODULE_4__.readBitcoinVarInt),\n/* harmony export */ sortObjectKeys: () => (/* reexport safe */ _log__WEBPACK_IMPORTED_MODULE_5__.sortObjectKeys),\n/* harmony export */ splitEvery: () => (/* reexport safe */ _hex__WEBPACK_IMPORTED_MODULE_0__.splitEvery),\n/* harmony export */ stringify: () => (/* reexport safe */ _log__WEBPACK_IMPORTED_MODULE_5__.stringify),\n/* harmony export */ stringifyTestVector: () => (/* reexport safe */ _log__WEBPACK_IMPORTED_MODULE_5__.stringifyTestVector),\n/* harmony export */ swapEndianness: () => (/* reexport safe */ _hex__WEBPACK_IMPORTED_MODULE_0__.swapEndianness),\n/* harmony export */ utf8ToBin: () => (/* reexport safe */ _utf8__WEBPACK_IMPORTED_MODULE_8__.utf8ToBin),\n/* harmony export */ varIntPrefixToSize: () => (/* reexport safe */ _numbers__WEBPACK_IMPORTED_MODULE_4__.varIntPrefixToSize)\n/* harmony export */ });\n/* harmony import */ var _hex__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./hex */ \"./node_modules/@bitauth/libauth/build/module/lib/format/hex.js\");\n/* harmony import */ var _bin_string__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./bin-string */ \"./node_modules/@bitauth/libauth/build/module/lib/format/bin-string.js\");\n/* harmony import */ var _base_convert__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./base-convert */ \"./node_modules/@bitauth/libauth/build/module/lib/format/base-convert.js\");\n/* harmony import */ var _base64__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./base64 */ \"./node_modules/@bitauth/libauth/build/module/lib/format/base64.js\");\n/* harmony import */ var _numbers__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./numbers */ \"./node_modules/@bitauth/libauth/build/module/lib/format/numbers.js\");\n/* harmony import */ var _log__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./log */ \"./node_modules/@bitauth/libauth/build/module/lib/format/log.js\");\n/* harmony import */ var _time__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./time */ \"./node_modules/@bitauth/libauth/build/module/lib/format/time.js\");\n/* harmony import */ var _type_utils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./type-utils */ \"./node_modules/@bitauth/libauth/build/module/lib/format/type-utils.js\");\n/* harmony import */ var _type_utils__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_type_utils__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(const __WEBPACK_IMPORT_KEY__ in _type_utils__WEBPACK_IMPORTED_MODULE_7__) if([\"default\",\"binToHex\",\"flattenBinArray\",\"hexToBin\",\"isHex\",\"range\",\"splitEvery\",\"swapEndianness\",\"binStringToBin\",\"binToBinString\",\"isBinString\",\"BaseConversionError\",\"base58ToBin\",\"binToBase58\",\"bitcoinBase58Alphabet\",\"createBaseConverter\",\"base64ToBin\",\"binToBase64\",\"isBase64\",\"bigIntToBinUint256BEClamped\",\"bigIntToBinUint64LE\",\"bigIntToBinUint64LEClamped\",\"bigIntToBinUintLE\",\"bigIntToBitcoinVarInt\",\"binToBigIntUint256BE\",\"binToBigIntUint64LE\",\"binToBigIntUintBE\",\"binToBigIntUintLE\",\"binToFixedLength\",\"binToNumberInt16LE\",\"binToNumberInt32LE\",\"binToNumberUint16LE\",\"binToNumberUint32LE\",\"binToNumberUintLE\",\"numberToBinInt16LE\",\"numberToBinInt32LE\",\"numberToBinInt32TwosCompliment\",\"numberToBinUint16BE\",\"numberToBinUint16LE\",\"numberToBinUint16LEClamped\",\"numberToBinUint32BE\",\"numberToBinUint32LE\",\"numberToBinUint32LEClamped\",\"numberToBinUintLE\",\"readBitcoinVarInt\",\"varIntPrefixToSize\",\"sortObjectKeys\",\"stringify\",\"stringifyTestVector\",\"LocktimeError\",\"dateToLocktime\",\"dateToLocktimeBin\",\"locktimeToDate\",\"maximumLocktimeDate\",\"maximumLocktimeTimestamp\",\"minimumLocktimeDate\",\"minimumLocktimeTimestamp\",\"parseLocktimeBin\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = () => _type_utils__WEBPACK_IMPORTED_MODULE_7__[__WEBPACK_IMPORT_KEY__]\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/* harmony import */ var _utf8__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./utf8 */ \"./node_modules/@bitauth/libauth/build/module/lib/format/utf8.js\");\n\n\n\n\n\n\n\n\n\n//# sourceMappingURL=format.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/format/format.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/format/hex.js": +/*!**********************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/format/hex.js ***! + \**********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ binToHex: () => (/* binding */ binToHex),\n/* harmony export */ flattenBinArray: () => (/* binding */ flattenBinArray),\n/* harmony export */ hexToBin: () => (/* binding */ hexToBin),\n/* harmony export */ isHex: () => (/* binding */ isHex),\n/* harmony export */ range: () => (/* binding */ range),\n/* harmony export */ splitEvery: () => (/* binding */ splitEvery),\n/* harmony export */ swapEndianness: () => (/* binding */ swapEndianness)\n/* harmony export */ });\n/**\n * Returns an array of incrementing values starting at `begin` and incrementing by one for `length`.\n *\n * E.g.: `range(3)` → `[0, 1, 2]` and `range(3, 1)` → `[1, 2, 3]`\n *\n * @param length - the number of elements in the array\n * @param begin - the index at which the range starts (default: `0`)\n */\nconst range = (length, begin = 0) => Array.from({ length }, (_, index) => begin + index);\n/**\n * Split a string into an array of `chunkLength` strings. The final string may have a length between 1 and `chunkLength`.\n *\n * E.g.: `splitEvery('abcde', 2)` → `['ab', 'cd', 'e']`\n */\nconst splitEvery = (input, chunkLength) => range(Math.ceil(input.length / chunkLength))\n .map((index) => index * chunkLength)\n .map((begin) => input.slice(begin, begin + chunkLength));\nconst hexByteWidth = 2;\nconst hexadecimal = 16;\n/**\n * Decode a hexadecimal-encoded string into a Uint8Array.\n *\n * E.g.: `hexToBin('2a64ff')` → `new Uint8Array([42, 100, 255])`\n *\n * Note, this method always completes. If `validHex` is not divisible by 2,\n * the final byte will be parsed as if it were prepended with a `0` (e.g. `aaa`\n * is interpreted as `aa0a`). If `validHex` is potentially malformed, check\n * it with `isHex` before calling this method.\n *\n * @param validHex - a string of valid, hexadecimal-encoded data\n */\nconst hexToBin = (validHex) => Uint8Array.from(splitEvery(validHex, hexByteWidth).map((byte) => parseInt(byte, hexadecimal)));\n/**\n * For use before `hexToBin`. Returns true if the provided string is valid\n * hexadecimal (length is divisible by 2, only uses hexadecimal characters).\n * @param maybeHex - a string to test\n */\nconst isHex = (maybeHex) => maybeHex.length % hexByteWidth === 0 && !/[^a-fA-F0-9]/u.test(maybeHex);\n/**\n * Encode a Uint8Array into a hexadecimal-encoded string.\n *\n * E.g.: `binToHex(new Uint8Array([42, 100, 255]))` → `'2a64ff'`\n *\n * @param bytes - a Uint8Array to encode\n */\nconst binToHex = (bytes) => bytes.reduce((str, byte) => str + byte.toString(hexadecimal).padStart(hexByteWidth, '0'), '');\n/**\n * Decode a hexadecimal-encoded string into bytes, reverse it, then re-encode.\n *\n * @param validHex - a string of valid, hexadecimal-encoded data. See\n * `hexToBin` for more information.\n */\nconst swapEndianness = (validHex) => binToHex(hexToBin(validHex).reverse());\n/**\n * Reduce an array of `Uint8Array`s into a single `Uint8Array`.\n * @param array - the array of `Uint8Array`s to flatten\n */\nconst flattenBinArray = (array) => {\n const totalLength = array.reduce((total, bin) => total + bin.length, 0);\n const flattened = new Uint8Array(totalLength);\n // eslint-disable-next-line functional/no-expression-statement\n array.reduce((index, bin) => {\n // eslint-disable-next-line functional/no-expression-statement\n flattened.set(bin, index);\n return index + bin.length;\n }, 0);\n return flattened;\n};\n//# sourceMappingURL=hex.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/format/hex.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/format/log.js": +/*!**********************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/format/log.js ***! + \**********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ sortObjectKeys: () => (/* binding */ sortObjectKeys),\n/* harmony export */ stringify: () => (/* binding */ stringify),\n/* harmony export */ stringifyTestVector: () => (/* binding */ stringifyTestVector)\n/* harmony export */ });\n/* harmony import */ var _hex__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./hex */ \"./node_modules/@bitauth/libauth/build/module/lib/format/hex.js\");\n\nconst defaultStringifySpacing = 2;\n/**\n * A safe method to `JSON.stringify` a value, useful for debugging and logging\n * purposes.\n *\n * @remarks\n * Without modifications, `JSON.stringify` has several shortcomings in\n * debugging and logging usage:\n * - throws when serializing anything containing a `bigint`\n * - `Uint8Array`s are often serialized in base 10 with newlines between each\n * index item\n * - `functions` and `symbols` are not clearly marked\n *\n * This method is more helpful in these cases:\n * - `bigint`: `0n` → ``\n * - `Uint8Array`: `Uint8Array.of(0,0)` → ``\n * - `function`: `(x) => x * 2` → ` x * 2>`\n * - `symbol`: `Symbol(A)` → ``\n *\n * @param value - the data to serialize\n * @param spacing - the number of spaces to use in\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst stringify = (value, spacing = defaultStringifySpacing) => JSON.stringify(value, \n// eslint-disable-next-line complexity\n(_, item) => {\n const type = typeof item;\n const name = typeof item === 'object' && item !== null\n ? item.constructor.name\n : type;\n switch (name) {\n case 'Uint8Array':\n return ``;\n case 'bigint':\n return ``;\n case 'function':\n case 'symbol':\n // eslint-disable-next-line @typescript-eslint/ban-types\n return `<${name}: ${item.toString()}>`;\n default:\n return item;\n }\n}, spacing);\n/**\n * Given a value, recursively sort the keys of all objects it references\n * (without sorting arrays).\n *\n * @param objectOrArray - the object or array in which to sort object keys\n */\nconst sortObjectKeys = (objectOrArray\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\n) => {\n if (Array.isArray(objectOrArray)) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return objectOrArray.map(sortObjectKeys);\n }\n if (typeof objectOrArray !== 'object' ||\n objectOrArray === null ||\n objectOrArray.constructor.name !== 'Object') {\n return objectOrArray;\n }\n // eslint-disable-next-line functional/immutable-data\n const keys = Object.keys(objectOrArray).sort((a, b) => a.localeCompare(b));\n return keys.reduce((all, key) => ({\n ...all,\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n [key]: sortObjectKeys(objectOrArray[key]),\n }), {});\n};\nconst uint8ArrayRegex = /\"[0-9a-f]*)>\"/gu;\nconst bigIntRegex = /\"[0-9]*)n>\"/gu;\n/**\n * An alternative to `stringify` which produces valid JavaScript for use as a\n * test vector in this library. `Uint8Array`s are constructed using `hexToBin`\n * and `bigint` values use the `BigInt` constructor. If `alphabetize` is `true`,\n * all objects will be sorted in the output.\n *\n * Note, this assumes all strings which match the expected regular expressions\n * are values of type `Uint8Array` and `bigint` respectively. String values\n * which otherwise happen to match these regular expressions will be converted\n * incorrectly.\n *\n * @param stringified - the result of `stringify`\n */\nconst stringifyTestVector = (\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nvalue, alphabetize = true) => {\n const stringified = alphabetize\n ? stringify(sortObjectKeys(value))\n : stringify(value);\n return stringified\n .replace(uint8ArrayRegex, \"hexToBin('$1')\")\n .replace(bigIntRegex, \"BigInt('$1')\");\n};\n//# sourceMappingURL=log.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/format/log.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/format/numbers.js": +/*!**************************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/format/numbers.js ***! + \**************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ bigIntToBinUint256BEClamped: () => (/* binding */ bigIntToBinUint256BEClamped),\n/* harmony export */ bigIntToBinUint64LE: () => (/* binding */ bigIntToBinUint64LE),\n/* harmony export */ bigIntToBinUint64LEClamped: () => (/* binding */ bigIntToBinUint64LEClamped),\n/* harmony export */ bigIntToBinUintLE: () => (/* binding */ bigIntToBinUintLE),\n/* harmony export */ bigIntToBitcoinVarInt: () => (/* binding */ bigIntToBitcoinVarInt),\n/* harmony export */ binToBigIntUint256BE: () => (/* binding */ binToBigIntUint256BE),\n/* harmony export */ binToBigIntUint64LE: () => (/* binding */ binToBigIntUint64LE),\n/* harmony export */ binToBigIntUintBE: () => (/* binding */ binToBigIntUintBE),\n/* harmony export */ binToBigIntUintLE: () => (/* binding */ binToBigIntUintLE),\n/* harmony export */ binToFixedLength: () => (/* binding */ binToFixedLength),\n/* harmony export */ binToNumberInt16LE: () => (/* binding */ binToNumberInt16LE),\n/* harmony export */ binToNumberInt32LE: () => (/* binding */ binToNumberInt32LE),\n/* harmony export */ binToNumberUint16LE: () => (/* binding */ binToNumberUint16LE),\n/* harmony export */ binToNumberUint32LE: () => (/* binding */ binToNumberUint32LE),\n/* harmony export */ binToNumberUintLE: () => (/* binding */ binToNumberUintLE),\n/* harmony export */ numberToBinInt16LE: () => (/* binding */ numberToBinInt16LE),\n/* harmony export */ numberToBinInt32LE: () => (/* binding */ numberToBinInt32LE),\n/* harmony export */ numberToBinInt32TwosCompliment: () => (/* binding */ numberToBinInt32TwosCompliment),\n/* harmony export */ numberToBinUint16BE: () => (/* binding */ numberToBinUint16BE),\n/* harmony export */ numberToBinUint16LE: () => (/* binding */ numberToBinUint16LE),\n/* harmony export */ numberToBinUint16LEClamped: () => (/* binding */ numberToBinUint16LEClamped),\n/* harmony export */ numberToBinUint32BE: () => (/* binding */ numberToBinUint32BE),\n/* harmony export */ numberToBinUint32LE: () => (/* binding */ numberToBinUint32LE),\n/* harmony export */ numberToBinUint32LEClamped: () => (/* binding */ numberToBinUint32LEClamped),\n/* harmony export */ numberToBinUintLE: () => (/* binding */ numberToBinUintLE),\n/* harmony export */ readBitcoinVarInt: () => (/* binding */ readBitcoinVarInt),\n/* harmony export */ varIntPrefixToSize: () => (/* binding */ varIntPrefixToSize)\n/* harmony export */ });\n/**\n * Encode a positive integer as a little-endian Uint8Array. For values exceeding\n * `Number.MAX_SAFE_INTEGER` (`9007199254740991`), use `bigIntToBinUintLE`.\n * Negative values will return the same result as `0`.\n *\n * @param value - the number to encode\n */\nconst numberToBinUintLE = (value) => {\n const baseUint8Array = 256;\n const result = [];\n // eslint-disable-next-line functional/no-let\n let remaining = value;\n // eslint-disable-next-line functional/no-loop-statement\n while (remaining >= baseUint8Array) {\n // eslint-disable-next-line functional/no-expression-statement, functional/immutable-data\n result.push(remaining % baseUint8Array);\n // eslint-disable-next-line functional/no-expression-statement\n remaining = Math.floor(remaining / baseUint8Array);\n }\n // eslint-disable-next-line functional/no-conditional-statement, functional/no-expression-statement, functional/immutable-data\n if (remaining > 0)\n result.push(remaining);\n return Uint8Array.from(result);\n};\n/**\n * Fill a new Uint8Array of a specific byte-length with the contents of a given\n * Uint8Array, truncating or padding the Uint8Array with zeros.\n *\n * @param bin - the Uint8Array to resize\n * @param bytes - the desired byte-length\n */\nconst binToFixedLength = (bin, bytes) => {\n const fixedBytes = new Uint8Array(bytes);\n const maxValue = 255;\n // eslint-disable-next-line functional/no-expression-statement\n bin.length > bytes ? fixedBytes.fill(maxValue) : fixedBytes.set(bin);\n // TODO: re-enable eslint-disable-next-line @typescript-eslint/no-unused-expressions\n return fixedBytes;\n};\n/**\n * Encode a positive integer as a 2-byte Uint16LE Uint8Array, clamping the\n * results. (Values exceeding `0xffff` return the same result as `0xffff`,\n * negative values will return the same result as `0`.)\n *\n * @param value - the number to encode\n */\nconst numberToBinUint16LEClamped = (value) => {\n const uint16 = 2;\n return binToFixedLength(numberToBinUintLE(value), uint16);\n};\n/**\n * Encode a positive integer as a 4-byte Uint32LE Uint8Array, clamping the\n * results. (Values exceeding `0xffffffff` return the same result as\n * `0xffffffff`, negative values will return the same result as `0`.)\n *\n * @param value - the number to encode\n */\nconst numberToBinUint32LEClamped = (value) => {\n const uint32 = 4;\n return binToFixedLength(numberToBinUintLE(value), uint32);\n};\n/**\n * Encode a positive integer as a 2-byte Uint16LE Uint8Array.\n *\n * This method will return an incorrect result for values outside of the range\n * `0` to `0xffff`.\n *\n * @param value - the number to encode\n */\nconst numberToBinUint16LE = (value) => {\n const uint16Length = 2;\n const bin = new Uint8Array(uint16Length);\n const writeAsLittleEndian = true;\n const view = new DataView(bin.buffer, bin.byteOffset, bin.byteLength);\n // eslint-disable-next-line functional/no-expression-statement\n view.setUint16(0, value, writeAsLittleEndian);\n return bin;\n};\n/**\n * Encode an integer as a 2-byte Int16LE Uint8Array.\n *\n * This method will return an incorrect result for values outside of the range\n * `0x0000` to `0xffff`.\n *\n * @param value - the number to encode\n */\nconst numberToBinInt16LE = (value) => {\n const int16Length = 2;\n const bin = new Uint8Array(int16Length);\n const writeAsLittleEndian = true;\n const view = new DataView(bin.buffer, bin.byteOffset, bin.byteLength);\n // eslint-disable-next-line functional/no-expression-statement\n view.setInt16(0, value, writeAsLittleEndian);\n return bin;\n};\n/**\n * Encode an integer as a 4-byte Uint32LE Uint8Array.\n *\n * This method will return an incorrect result for values outside of the range\n * `0x00000000` to `0xffffffff`.\n *\n * @param value - the number to encode\n */\nconst numberToBinInt32LE = (value) => {\n const int32Length = 4;\n const bin = new Uint8Array(int32Length);\n const writeAsLittleEndian = true;\n const view = new DataView(bin.buffer, bin.byteOffset, bin.byteLength);\n // eslint-disable-next-line functional/no-expression-statement\n view.setInt32(0, value, writeAsLittleEndian);\n return bin;\n};\n/**\n * Decode a 2-byte Int16LE Uint8Array into a number.\n *\n * Throws if `bin` is shorter than 2 bytes.\n *\n * @param bin - the Uint8Array to decode\n */\nconst binToNumberInt16LE = (bin) => {\n const view = new DataView(bin.buffer, bin.byteOffset, bin.byteLength);\n const readAsLittleEndian = true;\n return view.getInt16(0, readAsLittleEndian);\n};\n/**\n * Decode a 4-byte Int32LE Uint8Array into a number.\n *\n * Throws if `bin` is shorter than 4 bytes.\n *\n * @param bin - the Uint8Array to decode\n */\nconst binToNumberInt32LE = (bin) => {\n const view = new DataView(bin.buffer, bin.byteOffset, bin.byteLength);\n const readAsLittleEndian = true;\n return view.getInt32(0, readAsLittleEndian);\n};\n/**\n * Encode a positive integer as a 2-byte Uint16LE Uint8Array.\n *\n * This method will return an incorrect result for values outside of the range\n * `0` to `0xffff`.\n *\n * @param value - the number to encode\n */\nconst numberToBinUint16BE = (value) => {\n const uint16Length = 2;\n const bin = new Uint8Array(uint16Length);\n const writeAsLittleEndian = false;\n const view = new DataView(bin.buffer, bin.byteOffset, bin.byteLength);\n // eslint-disable-next-line functional/no-expression-statement\n view.setUint16(0, value, writeAsLittleEndian);\n return bin;\n};\n/**\n * Encode a positive number as a 4-byte Uint32LE Uint8Array.\n *\n * This method will return an incorrect result for values outside of the range\n * `0` to `0xffffffff`.\n *\n * @param value - the number to encode\n */\nconst numberToBinUint32LE = (value) => {\n const uint32Length = 4;\n const bin = new Uint8Array(uint32Length);\n const writeAsLittleEndian = true;\n const view = new DataView(bin.buffer, bin.byteOffset, bin.byteLength);\n // eslint-disable-next-line functional/no-expression-statement\n view.setUint32(0, value, writeAsLittleEndian);\n return bin;\n};\n/**\n * Encode a positive number as a 4-byte Uint32BE Uint8Array.\n *\n * This method will return an incorrect result for values outside of the range\n * `0` to `0xffffffff`.\n *\n * @param value - the number to encode\n */\nconst numberToBinUint32BE = (value) => {\n const uint32Length = 4;\n const bin = new Uint8Array(uint32Length);\n const writeAsLittleEndian = false;\n const view = new DataView(bin.buffer, bin.byteOffset, bin.byteLength);\n // eslint-disable-next-line functional/no-expression-statement\n view.setUint32(0, value, writeAsLittleEndian);\n return bin;\n};\n/**\n * Encode a positive BigInt as little-endian Uint8Array. Negative values will\n * return the same result as `0`.\n *\n * @param value - the number to encode\n */\nconst bigIntToBinUintLE = (value) => {\n const baseUint8Array = 256;\n const base = BigInt(baseUint8Array);\n const result = [];\n // eslint-disable-next-line functional/no-let\n let remaining = value;\n // eslint-disable-next-line functional/no-loop-statement\n while (remaining >= base) {\n // eslint-disable-next-line functional/no-expression-statement, functional/immutable-data\n result.push(Number(remaining % base));\n // eslint-disable-next-line functional/no-expression-statement\n remaining /= base;\n }\n // eslint-disable-next-line functional/no-conditional-statement, functional/no-expression-statement, functional/immutable-data\n if (remaining > BigInt(0))\n result.push(Number(remaining));\n return Uint8Array.from(result.length > 0 ? result : [0]);\n};\n/**\n * Encode a positive BigInt as an 8-byte Uint64LE Uint8Array, clamping the\n * results. (Values exceeding `0xffff_ffff_ffff_ffff` return the same result as\n * `0xffff_ffff_ffff_ffff`, negative values return the same result as `0`.)\n *\n * @param value - the number to encode\n */\nconst bigIntToBinUint64LEClamped = (value) => {\n const uint64 = 8;\n return binToFixedLength(bigIntToBinUintLE(value), uint64);\n};\n/**\n * Encode a positive BigInt as an 8-byte Uint64LE Uint8Array.\n *\n * This method will return an incorrect result for values outside of the range\n * `0` to `0xffff_ffff_ffff_ffff`.\n *\n * @param value - the number to encode\n */\nconst bigIntToBinUint64LE = (value) => {\n const uint64LengthInBits = 64;\n const valueAsUint64 = BigInt.asUintN(uint64LengthInBits, value);\n const fixedLengthBin = bigIntToBinUint64LEClamped(valueAsUint64);\n return fixedLengthBin;\n};\n/**\n * Encode an integer as a 4-byte, little-endian Uint8Array using the number's\n * two's compliment representation (the format used by JavaScript's bitwise\n * operators).\n *\n * @remarks\n * The C++ bitcoin implementations sometimes represent short vectors using\n * signed 32-bit integers (e.g. `sighashType`). This method can be used to test\n * compatibility with those implementations.\n *\n * @param value - the number to encode\n */\nconst numberToBinInt32TwosCompliment = (value) => {\n const bytes = 4;\n const bitsInAByte = 8;\n const bin = new Uint8Array(bytes);\n // eslint-disable-next-line functional/no-let, functional/no-loop-statement, no-plusplus\n for (let offset = 0; offset < bytes; offset++) {\n // eslint-disable-next-line functional/no-expression-statement, functional/immutable-data\n bin[offset] = value;\n // eslint-disable-next-line functional/no-expression-statement, no-bitwise, no-param-reassign\n value >>>= bitsInAByte;\n }\n return bin;\n};\n/**\n * Decode a little-endian Uint8Array of any length into a number. For numbers\n * larger than `Number.MAX_SAFE_INTEGER` (`9007199254740991`), use\n * `binToBigIntUintLE`.\n *\n * The `bytes` parameter can be set to constrain the expected length (default:\n * `bin.length`). This method throws if `bin.length` is not equal to `bytes`.\n *\n * @privateRemarks\n * We avoid a bitwise strategy here because JavaScript uses 32-bit signed\n * integers for bitwise math, so larger numbers are converted incorrectly. E.g.\n * `2147483648 << 8` is `0`, while `2147483648n << 8n` is `549755813888n`.\n *\n * @param bin - the Uint8Array to decode\n * @param bytes - the number of bytes to read (default: `bin.length`)\n */\nconst binToNumberUintLE = (bin, bytes = bin.length) => {\n const base = 2;\n const bitsInAByte = 8;\n // eslint-disable-next-line functional/no-conditional-statement\n if (bin.length !== bytes) {\n // eslint-disable-next-line functional/no-throw-statement\n throw new TypeError(`Bin length must be ${bytes}.`);\n }\n return new Uint8Array(bin.buffer, bin.byteOffset, bin.length).reduce((accumulated, byte, i) => accumulated + byte * base ** (bitsInAByte * i), 0);\n};\n/**\n * Decode a 2-byte Uint16LE Uint8Array into a number.\n *\n * Throws if `bin` is shorter than 2 bytes.\n *\n * @param bin - the Uint8Array to decode\n */\nconst binToNumberUint16LE = (bin) => {\n const view = new DataView(bin.buffer, bin.byteOffset, bin.byteLength);\n const readAsLittleEndian = true;\n return view.getUint16(0, readAsLittleEndian);\n};\n/**\n * Decode a 4-byte Uint32LE Uint8Array into a number.\n *\n * Throws if `bin` is shorter than 4 bytes.\n *\n * @param bin - the Uint8Array to decode\n */\nconst binToNumberUint32LE = (bin) => {\n const view = new DataView(bin.buffer, bin.byteOffset, bin.byteLength);\n const readAsLittleEndian = true;\n return view.getUint32(0, readAsLittleEndian);\n};\n/**\n * Decode a big-endian Uint8Array of any length into a BigInt. If starting from\n * a hex value, consider using the BigInt constructor instead:\n * ```\n * BigInt(`0x${hex}`)\n * ```\n *\n * The `bytes` parameter can be set to constrain the expected length (default:\n * `bin.length`). This method throws if `bin.length` is not equal to `bytes`.\n *\n * @param bin - the Uint8Array to decode\n * @param bytes - the number of bytes to read (default: `bin.length`)\n */\nconst binToBigIntUintBE = (bin, bytes = bin.length) => {\n const bitsInAByte = 8;\n const shift = BigInt(bitsInAByte);\n // eslint-disable-next-line functional/no-conditional-statement\n if (bin.length !== bytes) {\n // eslint-disable-next-line functional/no-throw-statement\n throw new TypeError(`Bin length must be ${bytes}.`);\n }\n return new Uint8Array(bin.buffer, bin.byteOffset, bin.length).reduce(\n // eslint-disable-next-line no-bitwise\n (accumulated, byte) => (accumulated << shift) | BigInt(byte), BigInt(0));\n};\n/**\n * Decode an unsigned, 32-byte big-endian Uint8Array into a BigInt. This can be\n * used to decode Uint8Array-encoded cryptographic primitives like private\n * keys, public keys, curve parameters, and signature points.\n *\n * If starting from a hex value, consider using the BigInt constructor instead:\n * ```\n * BigInt(`0x${hex}`)\n * ```\n * @param bin - the Uint8Array to decode\n */\nconst binToBigIntUint256BE = (bin) => {\n const uint256Bytes = 32;\n return binToBigIntUintBE(bin, uint256Bytes);\n};\n/**\n * Encode a positive BigInt into an unsigned 32-byte big-endian Uint8Array. This\n * can be used to encoded numbers for cryptographic primitives like private\n * keys, public keys, curve parameters, and signature points.\n *\n * Negative values will return the same result as `0`, values higher than\n * 2^256-1 will return the maximum expressible unsigned 256-bit value\n * (`0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff`).\n *\n * @param value - the BigInt to encode\n */\nconst bigIntToBinUint256BEClamped = (value) => {\n const uint256Bytes = 32;\n return binToFixedLength(bigIntToBinUintLE(value), uint256Bytes).reverse();\n};\n/**\n * Decode a little-endian Uint8Array of any length into a BigInt.\n *\n * The `bytes` parameter can be set to constrain the expected length (default:\n * `bin.length`). This method throws if `bin.length` is not equal to `bytes`.\n *\n * @param bin - the Uint8Array to decode\n * @param bytes - the number of bytes to read (default: `bin.length`)\n */\nconst binToBigIntUintLE = (bin, bytes = bin.length) => {\n const bitsInAByte = 8;\n // eslint-disable-next-line functional/no-conditional-statement\n if (bin.length !== bytes) {\n // eslint-disable-next-line functional/no-throw-statement\n throw new TypeError(`Bin length must be ${bytes}.`);\n }\n return new Uint8Array(bin.buffer, bin.byteOffset, bin.length).reduceRight(\n // eslint-disable-next-line no-bitwise\n (accumulated, byte) => (accumulated << BigInt(bitsInAByte)) | BigInt(byte), BigInt(0));\n};\n/**\n * Decode an 8-byte Uint64LE Uint8Array into a BigInt.\n *\n * Throws if `bin` is shorter than 8 bytes.\n *\n * @param bin - the Uint8Array to decode\n */\nconst binToBigIntUint64LE = (bin) => {\n const uint64LengthInBytes = 8;\n const truncatedBin = bin.length > uint64LengthInBytes ? bin.slice(0, uint64LengthInBytes) : bin;\n return binToBigIntUintLE(truncatedBin, uint64LengthInBytes);\n};\n/**\n * Get the expected byte length of a Bitcoin VarInt given a first byte.\n *\n * @param firstByte - the first byte of the VarInt\n */\nconst varIntPrefixToSize = (firstByte) => {\n const uint8 = 1;\n const uint16 = 2;\n const uint32 = 4;\n const uint64 = 8;\n switch (firstByte) {\n case 253 /* uint16Prefix */:\n return uint16 + 1;\n case 254 /* uint32Prefix */:\n return uint32 + 1;\n case 255 /* uint64Prefix */:\n return uint64 + 1;\n default:\n return uint8;\n }\n};\n/**\n * Read a Bitcoin VarInt (Variable-length integer) from a Uint8Array, returning\n * the `nextOffset` after the VarInt and the value as a BigInt.\n *\n * @param bin - the Uint8Array from which to read the VarInt\n * @param offset - the offset at which the VarInt begins\n */\nconst readBitcoinVarInt = (bin, offset = 0) => {\n const bytes = varIntPrefixToSize(bin[offset]);\n const hasPrefix = bytes !== 1;\n return {\n nextOffset: offset + bytes,\n value: hasPrefix\n ? binToBigIntUintLE(bin.subarray(offset + 1, offset + bytes), bytes - 1)\n : binToBigIntUintLE(bin.subarray(offset, offset + bytes), 1),\n };\n};\n/**\n * Encode a positive BigInt as a Bitcoin VarInt (Variable-length integer).\n *\n * Note: the maximum value of a Bitcoin VarInt is `0xffff_ffff_ffff_ffff`. This\n * method will return an incorrect result for values outside of the range `0` to\n * `0xffff_ffff_ffff_ffff`.\n *\n * @param value - the BigInt to encode (no larger than `0xffff_ffff_ffff_ffff`)\n */\nconst bigIntToBitcoinVarInt = (value) => value <= BigInt(252 /* uint8MaxValue */)\n ? Uint8Array.of(Number(value))\n : value <= BigInt(65535 /* uint16MaxValue */)\n ? Uint8Array.from([\n 253 /* uint16Prefix */,\n ...numberToBinUint16LE(Number(value)),\n ])\n : value <= BigInt(4294967295 /* uint32MaxValue */)\n ? Uint8Array.from([\n 254 /* uint32Prefix */,\n ...numberToBinUint32LE(Number(value)),\n ])\n : Uint8Array.from([255 /* uint64Prefix */, ...bigIntToBinUint64LE(value)]);\n//# sourceMappingURL=numbers.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/format/numbers.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/format/time.js": +/*!***********************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/format/time.js ***! + \***********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ LocktimeError: () => (/* binding */ LocktimeError),\n/* harmony export */ dateToLocktime: () => (/* binding */ dateToLocktime),\n/* harmony export */ dateToLocktimeBin: () => (/* binding */ dateToLocktimeBin),\n/* harmony export */ locktimeToDate: () => (/* binding */ locktimeToDate),\n/* harmony export */ maximumLocktimeDate: () => (/* binding */ maximumLocktimeDate),\n/* harmony export */ maximumLocktimeTimestamp: () => (/* binding */ maximumLocktimeTimestamp),\n/* harmony export */ minimumLocktimeDate: () => (/* binding */ minimumLocktimeDate),\n/* harmony export */ minimumLocktimeTimestamp: () => (/* binding */ minimumLocktimeTimestamp),\n/* harmony export */ parseLocktimeBin: () => (/* binding */ parseLocktimeBin)\n/* harmony export */ });\n/* harmony import */ var _numbers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./numbers */ \"./node_modules/@bitauth/libauth/build/module/lib/format/numbers.js\");\n\nconst msPerLocktimeSecond = 1000;\n/**\n * The minimum Unix timestamp (inclusive) which can be encoded by a\n * transaction's `locktime`.\n */\nconst minimumLocktimeTimestamp = 500000000;\n/**\n * The maximum Unix timestamp (inclusive) which can be encoded by a\n * transaction's `locktime`.\n */\nconst maximumLocktimeTimestamp = 0xffffffff;\n/**\n * The minimum Date (inclusive) which can be encoded by a transaction's\n * `locktime`.\n */\nconst minimumLocktimeDate = new Date(minimumLocktimeTimestamp * msPerLocktimeSecond);\n/**\n * The maximum Date (inclusive) which can be encoded by a transaction's\n * `locktime`.\n */\nconst maximumLocktimeDate = new Date(maximumLocktimeTimestamp * msPerLocktimeSecond);\nvar LocktimeError;\n(function (LocktimeError) {\n LocktimeError[\"dateOutOfRange\"] = \"The provided Date is outside of the range which can be encoded in locktime.\";\n LocktimeError[\"locktimeOutOfRange\"] = \"The provided locktime is outside of the range which can be encoded as a Date (greater than or equal to 500000000 and less than or equal to 4294967295).\";\n LocktimeError[\"incorrectLength\"] = \"The provided locktime is not the correct length (4 bytes).\";\n})(LocktimeError || (LocktimeError = {}));\n/**\n * Convert a JavaScript `Date` object to its equivalent transaction `locktime`\n * representation. The `date` is rounded to the nearest second (the precision of\n * `locktime` Dates).\n *\n * Note, a locktime values greater than or equal to `500000000`\n * See `Transaction.locktime` for details.\n *\n * @param date - the Date to convert to a locktime number\n */\nconst dateToLocktime = (date) => date < minimumLocktimeDate || date > maximumLocktimeDate\n ? LocktimeError.dateOutOfRange\n : Math.round(date.getTime() / msPerLocktimeSecond);\n/**\n * Convert a transaction `locktime` to its equivalent JavaScript `Date` object.\n * If locktime is outside the possible range (greater than or equal to\n * `500000000` and less than or equal to `4294967295`), an error message is\n * returned.\n *\n * @param locktime - a positive integer between `500000000` and `4294967295`,\n * inclusive\n */\nconst locktimeToDate = (locktime) => locktime < minimumLocktimeTimestamp || locktime > maximumLocktimeTimestamp\n ? LocktimeError.locktimeOutOfRange\n : new Date(locktime * msPerLocktimeSecond);\n/**\n * Convert a JavaScript `Date` object to its equivalent transaction `locktime`\n * bytecode representation. The `date` is rounded to the nearest second (the\n * precision of `locktime` Dates).\n *\n * Note: a block-based locktime can simply be encoded with `numberToBinUint32LE`\n * (provided it is no larger than the maximum, `499999999`).\n *\n * @param date - the Date to convert to a locktime Uint8Array\n */\nconst dateToLocktimeBin = (date) => {\n const result = dateToLocktime(date);\n return typeof result === 'string' ? result : (0,_numbers__WEBPACK_IMPORTED_MODULE_0__.numberToBinUint32LE)(result);\n};\nconst locktimeByteLength = 4;\n/**\n * Parse a locktime, returning a `number` for block heights, a `Date` for block\n * times, or a string for parsing errors.\n *\n * @param bin - the 4-byte Uint8Array locktime to parse\n */\nconst parseLocktimeBin = (bin) => {\n if (bin.length !== locktimeByteLength)\n return LocktimeError.incorrectLength;\n const parsed = (0,_numbers__WEBPACK_IMPORTED_MODULE_0__.binToNumberUint32LE)(bin);\n return parsed >= minimumLocktimeTimestamp\n ? new Date(parsed * msPerLocktimeSecond)\n : parsed;\n};\n//# sourceMappingURL=time.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/format/time.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/format/type-utils.js": +/*!*****************************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/format/type-utils.js ***! + \*****************************************************************************/ +/***/ (() => { + +eval("/*\n * const canBeAssigned: Immutable = Uint8Array.of(0, 0);\n * const canBeSpread = [...canBeAssigned];\n * const spreadResultWorks = Uint8Array.from(canBeSpread);\n * const functionRequiringIt = (bin: Immutable) => bin;\n * const canAcceptNonMutable = functionRequiringIt(Uint8Array.of());\n */\n//# sourceMappingURL=type-utils.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/format/type-utils.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/format/utf8.js": +/*!***********************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/format/utf8.js ***! + \***********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ binToUtf8: () => (/* binding */ binToUtf8),\n/* harmony export */ utf8ToBin: () => (/* binding */ utf8ToBin)\n/* harmony export */ });\n/**\n * This implementations is derived from:\n * https://github.com/google/closure-library/blob/8598d87242af59aac233270742c8984e2b2bdbe0/closure/goog/crypt/crypt.js\n *\n * Copyright 2008 The Closure Library Authors. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS-IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* eslint-disable complexity, functional/no-let, functional/immutable-data, no-bitwise, @typescript-eslint/no-magic-numbers, functional/no-expression-statement, functional/no-conditional-statement, functional/no-loop-statement, no-plusplus */\n/**\n * Interpret a string as UTF-8 and encode it as a Uint8Array.\n * @param utf8 - the string to encode\n */\nconst utf8ToBin = (utf8) => {\n const out = [];\n let p = 0;\n for (let i = 0; i < utf8.length; i++) {\n let c = utf8.charCodeAt(i);\n if (c < 128) {\n out[p++] = c;\n }\n else if (c < 2048) {\n out[p++] = (c >> 6) | 192;\n out[p++] = (c & 63) | 128;\n }\n else if ((c & 0xfc00) === 0xd800 &&\n i + 1 < utf8.length &&\n (utf8.charCodeAt(i + 1) & 0xfc00) === 0xdc00) {\n c = ((c & 0x03ff) << 10) + 0x10000 + (utf8.charCodeAt((i += 1)) & 0x03ff);\n out[p++] = (c >> 18) | 240;\n out[p++] = ((c >> 12) & 63) | 128;\n out[p++] = ((c >> 6) & 63) | 128;\n out[p++] = (c & 63) | 128;\n }\n else {\n out[p++] = (c >> 12) | 224;\n out[p++] = ((c >> 6) & 63) | 128;\n out[p++] = (c & 63) | 128;\n }\n }\n return new Uint8Array(out);\n};\n/**\n * Decode a Uint8Array as a UTF-8 string.\n * @param bytes - the Uint8Array to decode\n */\nconst binToUtf8 = (bytes) => {\n const out = [];\n let pos = 0;\n let c = 0;\n while (pos < bytes.length) {\n const c1 = bytes[pos++];\n if (c1 < 128) {\n out[c++] = String.fromCharCode(c1);\n }\n else if (c1 > 191 && c1 < 224) {\n const c2 = bytes[pos++];\n out[c++] = String.fromCharCode(((c1 & 31) << 6) | (c2 & 63));\n }\n else if (c1 > 239 && c1 < 365) {\n const c2 = bytes[pos++];\n const c3 = bytes[pos++];\n const c4 = bytes[pos++];\n const u = (((c1 & 7) << 18) | ((c2 & 63) << 12) | ((c3 & 63) << 6) | (c4 & 63)) -\n 0x10000;\n out[c++] = String.fromCharCode((u >> 10) + 0xd800);\n out[c++] = String.fromCharCode((u & 1023) + 0xdc00);\n }\n else {\n const c2 = bytes[pos++];\n const c3 = bytes[pos++];\n out[c++] = String.fromCharCode(((c1 & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));\n }\n }\n return out.join('');\n};\n//# sourceMappingURL=utf8.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/format/utf8.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/key/hd-key.js": +/*!**********************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/key/hd-key.js ***! + \**********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ HdKeyDecodingError: () => (/* binding */ HdKeyDecodingError),\n/* harmony export */ HdKeyVersion: () => (/* binding */ HdKeyVersion),\n/* harmony export */ HdNodeCrackingError: () => (/* binding */ HdNodeCrackingError),\n/* harmony export */ HdNodeDerivationError: () => (/* binding */ HdNodeDerivationError),\n/* harmony export */ crackHdPrivateNodeFromHdPublicNodeAndChildPrivateNode: () => (/* binding */ crackHdPrivateNodeFromHdPublicNodeAndChildPrivateNode),\n/* harmony export */ decodeHdKey: () => (/* binding */ decodeHdKey),\n/* harmony export */ decodeHdPrivateKey: () => (/* binding */ decodeHdPrivateKey),\n/* harmony export */ decodeHdPublicKey: () => (/* binding */ decodeHdPublicKey),\n/* harmony export */ deriveHdPath: () => (/* binding */ deriveHdPath),\n/* harmony export */ deriveHdPrivateNodeChild: () => (/* binding */ deriveHdPrivateNodeChild),\n/* harmony export */ deriveHdPrivateNodeFromSeed: () => (/* binding */ deriveHdPrivateNodeFromSeed),\n/* harmony export */ deriveHdPrivateNodeIdentifier: () => (/* binding */ deriveHdPrivateNodeIdentifier),\n/* harmony export */ deriveHdPublicNode: () => (/* binding */ deriveHdPublicNode),\n/* harmony export */ deriveHdPublicNodeChild: () => (/* binding */ deriveHdPublicNodeChild),\n/* harmony export */ deriveHdPublicNodeIdentifier: () => (/* binding */ deriveHdPublicNodeIdentifier),\n/* harmony export */ encodeHdPrivateKey: () => (/* binding */ encodeHdPrivateKey),\n/* harmony export */ encodeHdPublicKey: () => (/* binding */ encodeHdPublicKey),\n/* harmony export */ instantiateBIP32Crypto: () => (/* binding */ instantiateBIP32Crypto)\n/* harmony export */ });\n/* harmony import */ var _crypto_crypto__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../crypto/crypto */ \"./node_modules/@bitauth/libauth/build/module/lib/crypto/ripemd160.js\");\n/* harmony import */ var _crypto_crypto__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../crypto/crypto */ \"./node_modules/@bitauth/libauth/build/module/lib/crypto/secp256k1.js\");\n/* harmony import */ var _crypto_crypto__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../crypto/crypto */ \"./node_modules/@bitauth/libauth/build/module/lib/crypto/sha256.js\");\n/* harmony import */ var _crypto_crypto__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../crypto/crypto */ \"./node_modules/@bitauth/libauth/build/module/lib/crypto/sha512.js\");\n/* harmony import */ var _crypto_hmac__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../crypto/hmac */ \"./node_modules/@bitauth/libauth/build/module/lib/crypto/hmac.js\");\n/* harmony import */ var _format_format__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../format/format */ \"./node_modules/@bitauth/libauth/build/module/lib/format/base-convert.js\");\n/* harmony import */ var _format_format__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../format/format */ \"./node_modules/@bitauth/libauth/build/module/lib/format/numbers.js\");\n/* harmony import */ var _format_format__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../format/format */ \"./node_modules/@bitauth/libauth/build/module/lib/format/hex.js\");\n/* harmony import */ var _format_utf8__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../format/utf8 */ \"./node_modules/@bitauth/libauth/build/module/lib/format/utf8.js\");\n/* harmony import */ var _key_utils__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./key-utils */ \"./node_modules/@bitauth/libauth/build/module/lib/key/key-utils.js\");\n\n\n\n\n\n/**\n * Instantiate an object containing WASM implementations of each cryptographic\n * algorithm required by BIP32 utilities in this library.\n *\n * These WASM implementations provide optimal performance across every\n * JavaScript runtime, but depending on your application, you may prefer to\n * instantiate native implementations such as those provided by Node.js or the\n * `crypto.subtle` API (to reduce bundle size) or an external module (for\n * synchronous instantiation).\n */\nconst instantiateBIP32Crypto = async () => {\n const [ripemd160, secp256k1, sha256, sha512] = await Promise.all([\n (0,_crypto_crypto__WEBPACK_IMPORTED_MODULE_0__.instantiateRipemd160)(),\n (0,_crypto_crypto__WEBPACK_IMPORTED_MODULE_1__.instantiateSecp256k1)(),\n (0,_crypto_crypto__WEBPACK_IMPORTED_MODULE_2__.instantiateSha256)(),\n (0,_crypto_crypto__WEBPACK_IMPORTED_MODULE_3__.instantiateSha512)(),\n ]);\n return { ripemd160, secp256k1, sha256, sha512 };\n};\nconst bip32HmacSha512Key = (0,_format_utf8__WEBPACK_IMPORTED_MODULE_4__.utf8ToBin)('Bitcoin seed');\nconst halfHmacSha512Length = 32;\n/**\n * Derive an `HdPrivateNode` from the provided seed following the BIP32\n * specification. A seed should include between 16 bytes and 64 bytes of\n * entropy (recommended: 32 bytes).\n *\n * @param crypto - an implementation of sha512\n * @param seed - the entropy from which to derive the `HdPrivateNode`\n * @param assumeValidity - if set, the derived private key will not be checked\n * for validity, and will be assumed valid if `true` or invalid if `false` (this\n * is useful for testing)\n */\nconst deriveHdPrivateNodeFromSeed = (crypto, seed, assumeValidity) => {\n const mac = (0,_crypto_hmac__WEBPACK_IMPORTED_MODULE_5__.hmacSha512)(crypto.sha512, bip32HmacSha512Key, seed);\n const privateKey = mac.slice(0, halfHmacSha512Length);\n const chainCode = mac.slice(halfHmacSha512Length);\n const depth = 0;\n const childIndex = 0;\n const parentFingerprint = Uint8Array.from([0, 0, 0, 0]);\n const valid = assumeValidity !== null && assumeValidity !== void 0 ? assumeValidity : (0,_key_utils__WEBPACK_IMPORTED_MODULE_6__.validateSecp256k1PrivateKey)(privateKey);\n return (valid\n ? { chainCode, childIndex, depth, parentFingerprint, privateKey, valid }\n : {\n chainCode,\n childIndex,\n depth,\n invalidPrivateKey: privateKey,\n parentFingerprint,\n valid,\n });\n};\n/**\n * Derive the public identifier for a given HD private node. This is used to\n * uniquely identify HD nodes in software. The first 4 bytes of this identifier\n * are considered its \"fingerprint\".\n *\n * @param crypto - implementations of sha256, ripemd160, and secp256k1\n * compressed public key derivation\n * @param hdPrivateNode - the HD private node from which to derive the public\n * identifier (not require to be valid)\n */\nconst deriveHdPrivateNodeIdentifier = (crypto, hdPrivateNode) => crypto.ripemd160.hash(crypto.sha256.hash(crypto.secp256k1.derivePublicKeyCompressed(hdPrivateNode.privateKey)));\n/**\n * Derive the public identifier for a given `HdPublicNode`. This is used to\n * uniquely identify HD nodes in software. The first 4 bytes of this identifier\n * are considered its fingerprint.\n *\n * @param crypto - implementations of sha256 and ripemd160\n */\nconst deriveHdPublicNodeIdentifier = (crypto, node) => crypto.ripemd160.hash(crypto.sha256.hash(node.publicKey));\n/**\n * The 4-byte version indicating the network and type of an `HdPrivateKey` or\n * `HdPublicKey`.\n */\nvar HdKeyVersion;\n(function (HdKeyVersion) {\n /**\n * Version indicating the HD key is an `HdPrivateKey` intended for use on the\n * main network. Base58 encoding at the expected length of an HD key results\n * in a prefix of `xprv`.\n *\n * Hex: `0x0488ade4`\n */\n HdKeyVersion[HdKeyVersion[\"mainnetPrivateKey\"] = 76066276] = \"mainnetPrivateKey\";\n /**\n * Version indicating the HD key is an `HdPublicKey` intended for use on the\n * main network. Base58 encoding at the expected length of an HD key results\n * in a prefix of `xpub`.\n *\n * Hex: `0x0488b21e`\n */\n HdKeyVersion[HdKeyVersion[\"mainnetPublicKey\"] = 76067358] = \"mainnetPublicKey\";\n /**\n * Version indicating the HD key is an `HdPrivateKey` intended for use on the\n * test network. Base58 encoding at the expected length of an HD key results\n * in a prefix of `tprv`.\n *\n * Hex: `0x04358394`\n */\n HdKeyVersion[HdKeyVersion[\"testnetPrivateKey\"] = 70615956] = \"testnetPrivateKey\";\n /**\n * Version indicating the HD key is an `HdPublicKey` intended for use on the\n * test network. Base58 encoding at the expected length of an HD key results\n * in a prefix of `tpub`.\n *\n * Hex: `0x043587cf`\n */\n HdKeyVersion[HdKeyVersion[\"testnetPublicKey\"] = 70617039] = \"testnetPublicKey\";\n})(HdKeyVersion || (HdKeyVersion = {}));\n/**\n * An error in the decoding of an HD public or private key.\n */\nvar HdKeyDecodingError;\n(function (HdKeyDecodingError) {\n HdKeyDecodingError[\"incorrectLength\"] = \"HD key decoding error: length is incorrect (must encode 82 bytes).\";\n HdKeyDecodingError[\"invalidChecksum\"] = \"HD key decoding error: checksum is invalid.\";\n HdKeyDecodingError[\"invalidPrivateNode\"] = \"HD key decoding error: the key for this HD private node is not a valid Secp256k1 private key.\";\n HdKeyDecodingError[\"missingPrivateKeyPaddingByte\"] = \"HD key decoding error: version indicates a private key, but the key data is missing a padding byte.\";\n HdKeyDecodingError[\"privateKeyExpected\"] = \"HD key decoding error: expected an HD private key, but encountered an HD public key.\";\n HdKeyDecodingError[\"publicKeyExpected\"] = \"HD key decoding error: expected an HD public key, but encountered an HD private key.\";\n HdKeyDecodingError[\"unknownCharacter\"] = \"HD key decoding error: key includes a non-base58 character.\";\n HdKeyDecodingError[\"unknownVersion\"] = \"HD key decoding error: key uses an unknown version.\";\n})(HdKeyDecodingError || (HdKeyDecodingError = {}));\n/**\n * Decode an HD private key as defined by BIP32, returning a `node` and a\n * `network`. Decoding errors are returned as strings.\n *\n * If the type of the key is known, use `decodeHdPrivateKey` or\n * `decodeHdPublicKey`.\n *\n * @param crypto - an implementation of sha256\n * @param hdKey - a BIP32 HD private key or HD public key\n */\n// eslint-disable-next-line complexity\nconst decodeHdKey = (crypto, hdKey) => {\n const decoded = (0,_format_format__WEBPACK_IMPORTED_MODULE_7__.base58ToBin)(hdKey);\n if (decoded === _format_format__WEBPACK_IMPORTED_MODULE_7__.BaseConversionError.unknownCharacter)\n return HdKeyDecodingError.unknownCharacter;\n const expectedLength = 82;\n if (decoded.length !== expectedLength)\n return HdKeyDecodingError.incorrectLength;\n const checksumIndex = 78;\n const payload = decoded.slice(0, checksumIndex);\n const checksumBits = decoded.slice(checksumIndex);\n const checksum = crypto.sha256.hash(crypto.sha256.hash(payload));\n if (!checksumBits.every((value, i) => value === checksum[i])) {\n return HdKeyDecodingError.invalidChecksum;\n }\n const depthIndex = 4;\n const fingerprintIndex = 5;\n const childIndexIndex = 9;\n const chainCodeIndex = 13;\n const keyDataIndex = 45;\n const version = new DataView(decoded.buffer, decoded.byteOffset, depthIndex).getUint32(0);\n const depth = decoded[depthIndex];\n const parentFingerprint = decoded.slice(fingerprintIndex, childIndexIndex);\n const childIndex = new DataView(decoded.buffer, decoded.byteOffset + childIndexIndex, decoded.byteOffset + chainCodeIndex).getUint32(0);\n const chainCode = decoded.slice(chainCodeIndex, keyDataIndex);\n const keyData = decoded.slice(keyDataIndex, checksumIndex);\n const isPrivateKey = version === HdKeyVersion.mainnetPrivateKey ||\n version === HdKeyVersion.testnetPrivateKey;\n if (isPrivateKey && keyData[0] !== 0x00) {\n return HdKeyDecodingError.missingPrivateKeyPaddingByte;\n }\n if (isPrivateKey) {\n const privateKey = keyData.slice(1);\n const valid = (0,_key_utils__WEBPACK_IMPORTED_MODULE_6__.validateSecp256k1PrivateKey)(privateKey);\n return {\n node: valid\n ? {\n chainCode,\n childIndex,\n depth,\n parentFingerprint,\n privateKey,\n valid: true,\n }\n : {\n chainCode,\n childIndex,\n depth,\n invalidPrivateKey: privateKey,\n parentFingerprint,\n valid: false,\n },\n version: version,\n };\n }\n const isPublicKey = version === HdKeyVersion.mainnetPublicKey ||\n version === HdKeyVersion.testnetPublicKey;\n if (!isPublicKey) {\n return HdKeyDecodingError.unknownVersion;\n }\n return {\n node: {\n chainCode,\n childIndex,\n depth,\n parentFingerprint,\n publicKey: keyData,\n },\n version: version,\n };\n};\n/**\n * Decode an HD private key as defined by BIP32.\n *\n * This method is similar to `decodeHdKey` but ensures that the result is a\n * valid HD private node. Decoding error messages are returned as strings.\n *\n * @param crypto - an implementation of sha256\n * @param hdPrivateKey - a BIP32 HD private key\n */\nconst decodeHdPrivateKey = (crypto, hdPrivateKey) => {\n const decoded = decodeHdKey(crypto, hdPrivateKey);\n if (typeof decoded === 'string')\n return decoded;\n if ('publicKey' in decoded.node) {\n return HdKeyDecodingError.privateKeyExpected;\n }\n if (!decoded.node.valid) {\n return HdKeyDecodingError.invalidPrivateNode;\n }\n if (decoded.version === HdKeyVersion.mainnetPrivateKey) {\n return {\n network: 'mainnet',\n node: decoded.node,\n };\n }\n return {\n network: 'testnet',\n node: decoded.node,\n };\n};\n/**\n * Decode an HD public key as defined by BIP32.\n *\n * This method is similar to `decodeHdKey` but ensures that the result is an\n * HD public node. Decoding error messages are returned as strings.\n *\n * @param crypto - an implementation of sha256\n * @param hdPublicKey - a BIP32 HD public key\n */\nconst decodeHdPublicKey = (crypto, hdPublicKey) => {\n const decoded = decodeHdKey(crypto, hdPublicKey);\n if (typeof decoded === 'string')\n return decoded;\n if (decoded.version === HdKeyVersion.mainnetPublicKey) {\n return {\n network: 'mainnet',\n node: decoded.node,\n };\n }\n if (decoded.version === HdKeyVersion.testnetPublicKey) {\n return {\n network: 'testnet',\n node: decoded.node,\n };\n }\n return HdKeyDecodingError.publicKeyExpected;\n};\n/**\n * Encode an HD private key (as defined by BIP32) given an HD private node.\n *\n * @param crypto - an implementation of sha256\n * @param keyParameters - a valid HD private node and the network for which to\n * encode the key\n */\nconst encodeHdPrivateKey = (crypto, keyParameters) => {\n const version = (0,_format_format__WEBPACK_IMPORTED_MODULE_8__.numberToBinUint32BE)(keyParameters.network === 'mainnet'\n ? HdKeyVersion.mainnetPrivateKey\n : HdKeyVersion.testnetPrivateKey);\n const depth = Uint8Array.of(keyParameters.node.depth);\n const childIndex = (0,_format_format__WEBPACK_IMPORTED_MODULE_8__.numberToBinUint32BE)(keyParameters.node.childIndex);\n const isPrivateKey = Uint8Array.of(0x00);\n const payload = (0,_format_format__WEBPACK_IMPORTED_MODULE_9__.flattenBinArray)([\n version,\n depth,\n keyParameters.node.parentFingerprint,\n childIndex,\n keyParameters.node.chainCode,\n isPrivateKey,\n keyParameters.node.privateKey,\n ]);\n const checksumLength = 4;\n const checksum = crypto.sha256\n .hash(crypto.sha256.hash(payload))\n .slice(0, checksumLength);\n return (0,_format_format__WEBPACK_IMPORTED_MODULE_7__.binToBase58)((0,_format_format__WEBPACK_IMPORTED_MODULE_9__.flattenBinArray)([payload, checksum]));\n};\n/**\n * Encode an HD public key (as defined by BIP32) given an HD public node.\n *\n * @param crypto - an implementation of sha256\n * @param keyParameters - an HD public node and the network for which to encode\n * the key\n */\nconst encodeHdPublicKey = (crypto, keyParameters) => {\n const version = (0,_format_format__WEBPACK_IMPORTED_MODULE_8__.numberToBinUint32BE)(keyParameters.network === 'mainnet'\n ? HdKeyVersion.mainnetPublicKey\n : HdKeyVersion.testnetPublicKey);\n const depth = Uint8Array.of(keyParameters.node.depth);\n const childIndex = (0,_format_format__WEBPACK_IMPORTED_MODULE_8__.numberToBinUint32BE)(keyParameters.node.childIndex);\n const payload = (0,_format_format__WEBPACK_IMPORTED_MODULE_9__.flattenBinArray)([\n version,\n depth,\n keyParameters.node.parentFingerprint,\n childIndex,\n keyParameters.node.chainCode,\n keyParameters.node.publicKey,\n ]);\n const checksumLength = 4;\n const checksum = crypto.sha256\n .hash(crypto.sha256.hash(payload))\n .slice(0, checksumLength);\n return (0,_format_format__WEBPACK_IMPORTED_MODULE_7__.binToBase58)((0,_format_format__WEBPACK_IMPORTED_MODULE_9__.flattenBinArray)([payload, checksum]));\n};\n/**\n * Derive the HD public node of an HD private node.\n *\n * Though private keys cannot be derived from HD public keys, sharing HD public\n * keys still carries risk. Along with allowing an attacker to associate wallet\n * addresses together (breaking privacy), should an attacker gain knowledge of a\n * single child private key, **it's possible to derive all parent HD private\n * keys**. See `crackHdPrivateNodeFromHdPublicNodeAndChildPrivateNode` for\n * details.\n *\n * @param crypto - an implementation of secp256k1 compressed public key\n * derivation (e.g. `instantiateSecp256k1`)\n * @param node - a valid HD private node\n */\nconst deriveHdPublicNode = (crypto, node) => {\n return {\n chainCode: node.chainCode,\n childIndex: node.childIndex,\n depth: node.depth,\n parentFingerprint: node.parentFingerprint,\n ...(node.parentIdentifier === undefined\n ? {}\n : { parentIdentifier: node.parentIdentifier }),\n publicKey: crypto.secp256k1.derivePublicKeyCompressed(node.privateKey),\n };\n};\n/**\n * An error in the derivation of child HD public or private nodes.\n */\nvar HdNodeDerivationError;\n(function (HdNodeDerivationError) {\n HdNodeDerivationError[\"childIndexExceedsMaximum\"] = \"HD key derivation error: child index exceeds maximum (4294967295).\";\n HdNodeDerivationError[\"nextChildIndexRequiresHardenedAlgorithm\"] = \"HD key derivation error: an incredibly rare HMAC-SHA512 result occurred, and incrementing the child index would require switching to the hardened algorithm.\";\n HdNodeDerivationError[\"hardenedDerivationRequiresPrivateNode\"] = \"HD key derivation error: derivation for hardened child indexes (indexes greater than or equal to 2147483648) requires an HD private node.\";\n HdNodeDerivationError[\"invalidDerivationPath\"] = \"HD key derivation error: invalid derivation path \\u2013 paths must begin with \\\"m\\\" or \\\"M\\\" and contain only forward slashes (\\\"/\\\"), apostrophes (\\\"'\\\"), or positive child index numbers.\";\n HdNodeDerivationError[\"invalidPrivateDerivationPrefix\"] = \"HD key derivation error: private derivation paths must begin with \\\"m\\\".\";\n HdNodeDerivationError[\"invalidPublicDerivationPrefix\"] = \"HD key derivation error: public derivation paths must begin with \\\"M\\\".\";\n})(HdNodeDerivationError || (HdNodeDerivationError = {}));\n/**\n * Derive a child HD private node from an HD private node.\n *\n * To derive a child HD public node, use `deriveHdPublicNode` on the result of\n * this method. If the child uses a non-hardened index, it's also possible to\n * use `deriveHdPublicNodeChild`.\n *\n * @privateRemarks\n * The `Secp256k1.addTweakPrivateKey` method throws if the tweak is out of range\n * or if the resulting private key would be invalid. The procedure to handle\n * this error is standardized by BIP32: return the HD node at the next child\n * index. (Regardless, this scenario is incredibly unlikely without a weakness\n * in HMAC-SHA512.)\n *\n * @param crypto - implementations of sha256, ripemd160, secp256k1 compressed\n * public key derivation, and secp256k1 private key \"tweak addition\"\n * (application of the EC group operation) – these are available via\n * `instantiateBIP32Crypto`\n * @param node - the valid HD private node from which to derive the child node\n * @param index - the index at which to derive the child node - indexes greater\n * than or equal to the hardened index offset (`0x80000000`/`2147483648`) are\n * derived using the \"hardened\" derivation algorithm\n */\n// eslint-disable-next-line complexity\nconst deriveHdPrivateNodeChild = (crypto, node, index) => {\n const maximumIndex = 0xffffffff;\n if (index > maximumIndex) {\n return HdNodeDerivationError.childIndexExceedsMaximum;\n }\n const hardenedIndexOffset = 0x80000000;\n const useHardenedAlgorithm = index >= hardenedIndexOffset;\n const keyMaterial = useHardenedAlgorithm\n ? node.privateKey\n : crypto.secp256k1.derivePublicKeyCompressed(node.privateKey);\n const serialization = Uint8Array.from([\n ...(useHardenedAlgorithm ? [0x00] : []),\n ...keyMaterial,\n ...(0,_format_format__WEBPACK_IMPORTED_MODULE_8__.numberToBinUint32BE)(index),\n ]);\n const derivation = (0,_crypto_hmac__WEBPACK_IMPORTED_MODULE_5__.hmacSha512)(crypto.sha512, node.chainCode, serialization);\n const tweakValueLength = 32;\n const tweakValue = derivation.slice(0, tweakValueLength);\n const nextChainCode = derivation.slice(tweakValueLength);\n // eslint-disable-next-line functional/no-try-statement\n try {\n const nextPrivateKey = crypto.secp256k1.addTweakPrivateKey(node.privateKey, tweakValue);\n const parentIdentifier = deriveHdPrivateNodeIdentifier(crypto, node);\n const parentFingerprintLength = 4;\n return {\n chainCode: nextChainCode,\n childIndex: index,\n depth: node.depth + 1,\n parentFingerprint: parentIdentifier.slice(0, parentFingerprintLength),\n parentIdentifier,\n privateKey: nextPrivateKey,\n valid: true,\n };\n }\n catch (error) /* istanbul ignore next - testing requires >2^127 brute force */ {\n if (index === hardenedIndexOffset - 1) {\n return HdNodeDerivationError.nextChildIndexRequiresHardenedAlgorithm;\n }\n return deriveHdPrivateNodeChild(crypto, node, index + 1);\n }\n};\n/**\n * Derive a non-hardened child HD public node from an HD public node.\n *\n * Because hardened derivation also requires knowledge of the parent private\n * node, it's not possible to use an HD public node to derive a hardened child\n * HD public node.\n *\n * Though private keys cannot be derived from HD public keys, sharing HD public\n * keys still carries risk. Along with allowing an attacker to associate wallet\n * addresses together (breaking privacy), should an attacker gain knowledge of a\n * single child private key, **it's possible to derive all parent HD private\n * keys**. See `crackHdPrivateNodeFromHdPublicNodeAndChildPrivateNode` for\n * details.\n *\n * @privateRemarks\n * The `Secp256k1.addTweakPublicKeyCompressed` method throws if the tweak is out\n * of range or if the resulting public key would be invalid. The procedure to\n * handle this error is standardized by BIP32: return the HD node at the next\n * child index. (Regardless, this scenario is incredibly unlikely without a\n * weakness in HMAC-SHA512.)\n *\n * @param crypto - implementations of sha256, sha512, ripemd160, and secp256k1\n * compressed public key \"tweak addition\" (application of the EC group\n * operation) – these are available via `instantiateBIP32Crypto`\n * @param node - the HD public node from which to derive the child public node\n * @param index - the index at which to derive the child node\n */\nconst deriveHdPublicNodeChild = (crypto, node, index) => {\n const hardenedIndexOffset = 0x80000000;\n if (index >= hardenedIndexOffset) {\n return HdNodeDerivationError.hardenedDerivationRequiresPrivateNode;\n }\n const serialization = Uint8Array.from([\n ...node.publicKey,\n ...(0,_format_format__WEBPACK_IMPORTED_MODULE_8__.numberToBinUint32BE)(index),\n ]);\n const derivation = (0,_crypto_hmac__WEBPACK_IMPORTED_MODULE_5__.hmacSha512)(crypto.sha512, node.chainCode, serialization);\n const tweakValueLength = 32;\n const tweakValue = derivation.slice(0, tweakValueLength);\n const nextChainCode = derivation.slice(tweakValueLength);\n // eslint-disable-next-line functional/no-try-statement\n try {\n const nextPublicKey = crypto.secp256k1.addTweakPublicKeyCompressed(node.publicKey, tweakValue);\n const parentIdentifier = deriveHdPublicNodeIdentifier(crypto, node);\n const parentFingerprintLength = 4;\n return {\n chainCode: nextChainCode,\n childIndex: index,\n depth: node.depth + 1,\n parentFingerprint: parentIdentifier.slice(0, parentFingerprintLength),\n parentIdentifier,\n publicKey: nextPublicKey,\n };\n }\n catch (error) /* istanbul ignore next - testing requires >2^127 brute force */ {\n if (index === hardenedIndexOffset - 1) {\n return HdNodeDerivationError.nextChildIndexRequiresHardenedAlgorithm;\n }\n return deriveHdPublicNodeChild(crypto, node, index + 1);\n }\n};\n/**\n * Derive a child HD node from a parent node given a derivation path. The\n * resulting node is the same type as the parent node (private nodes return\n * private nodes, public nodes return public nodes).\n *\n * @remarks\n * The derivation path uses the notation specified in BIP32:\n *\n * The first character must be either `m` for private derivation or `M` for\n * public derivation, followed by sets of `/` and a number representing the\n * child index used in the derivation at that depth. Hardened derivation is\n * represented by a trailing `'`, and may only appear in private derivation\n * paths (hardened derivation requires knowledge of the private key). Hardened\n * child indexes are represented with the hardened index offset (`2147483648`)\n * subtracted.\n *\n * For example, `m/0/1'/2` uses private derivation (`m`), with child indexes in\n * the following order:\n *\n * `derivePrivate(derivePrivate(derivePrivate(node, 0), 2147483648 + 1), 2)`\n *\n * Likewise, `M/3/4/5` uses public derivation (`M`), with child indexes in the\n * following order:\n *\n * `derivePublic(derivePublic(derivePublic(node, 3), 4), 5)`\n *\n * Because hardened derivation requires a private node, paths which specify\n * public derivation (`M`) using hardened derivation (`'`) will return an error.\n * To derive the public node associated with a child private node which requires\n * hardened derivation, begin with private derivation, then provide the result\n * to `deriveHdPublicNode`.\n *\n * @param crypto - implementations of sha256, sha512, ripemd160, and secp256k1\n * derivation functions – these are available via `instantiateBIP32Crypto`\n * @param node - the HD node from which to begin the derivation (for paths\n * beginning with `m`, an `HdPrivateNodeValid`; for paths beginning with `M`, an\n * `HdPublicNode`)\n * @param path - the BIP32 derivation path, e.g. `m/0/1'/2` or `M/3/4/5`\n */\n// eslint-disable-next-line complexity\nconst deriveHdPath = (crypto, node, path) => {\n const validDerivationPath = /^[mM](?:\\/[0-9]+'?)*$/u;\n if (!validDerivationPath.test(path)) {\n return HdNodeDerivationError.invalidDerivationPath;\n }\n const parsed = path.split('/');\n const isPrivateDerivation = 'privateKey' in node;\n if (isPrivateDerivation && parsed[0] !== 'm') {\n return HdNodeDerivationError.invalidPrivateDerivationPrefix;\n }\n if (!isPrivateDerivation && parsed[0] !== 'M') {\n return HdNodeDerivationError.invalidPublicDerivationPrefix;\n }\n const base = 10;\n const hardenedIndexOffset = 0x80000000;\n const indexes = parsed\n .slice(1)\n .map((index) => index.endsWith(\"'\")\n ? parseInt(index.slice(0, -1), base) + hardenedIndexOffset\n : parseInt(index, base));\n return (isPrivateDerivation\n ? indexes.reduce((result, nextIndex) => typeof result === 'string'\n ? result\n : deriveHdPrivateNodeChild(crypto, result, nextIndex), node // eslint-disable-line @typescript-eslint/prefer-reduce-type-parameter\n )\n : indexes.reduce((result, nextIndex) => typeof result === 'string'\n ? result\n : deriveHdPublicNodeChild(crypto, result, nextIndex), node // eslint-disable-line @typescript-eslint/prefer-reduce-type-parameter\n ));\n};\nvar HdNodeCrackingError;\n(function (HdNodeCrackingError) {\n HdNodeCrackingError[\"cannotCrackHardenedDerivation\"] = \"HD node cracking error: cannot crack an HD parent node using hardened child node.\";\n})(HdNodeCrackingError || (HdNodeCrackingError = {}));\n/**\n * Derive the HD private node from a HD public node, given any non-hardened\n * child private node.\n *\n * @remarks\n * This exploits the \"non-hardened\" BIP32 derivation algorithm. Because\n * non-hardened derivation only requires knowledge of the \"chain code\" (rather\n * than requiring knowledge of the parent private key) it's possible to\n * calculate the value by which the parent private key is \"tweaked\" to arrive at\n * the child private key. Since we have the child private key, we simply\n * subtract this \"tweaked\" amount to get back to the parent private key.\n *\n * The BIP32 \"hardened\" derivation algorithm is designed to address this\n * weakness. Using hardened derivation, child private nodes can be shared\n * without risk of leaking the parent private node, but this comes at the cost\n * of public node derivation. Given only a parent public node, it is not\n * possible to derive hardened child public keys, so applications must choose\n * between support for HD public node derivation or support for sharing child\n * private nodes.\n *\n * @param crypto - an implementation of sha512\n * @param parentPublicNode - the parent HD public node for which to derive a\n * private node\n * @param childPrivateNode - any non-hardened child private node of the parent\n * node (only the `privateKey` and the `childIndex` are required)\n */\nconst crackHdPrivateNodeFromHdPublicNodeAndChildPrivateNode = (crypto, parentPublicNode, childPrivateNode) => {\n const hardenedIndexOffset = 0x80000000;\n if (childPrivateNode.childIndex >= hardenedIndexOffset) {\n return HdNodeCrackingError.cannotCrackHardenedDerivation;\n }\n const serialization = Uint8Array.from([\n ...parentPublicNode.publicKey,\n ...(0,_format_format__WEBPACK_IMPORTED_MODULE_8__.numberToBinUint32BE)(childPrivateNode.childIndex),\n ]);\n const derivation = (0,_crypto_hmac__WEBPACK_IMPORTED_MODULE_5__.hmacSha512)(crypto.sha512, parentPublicNode.chainCode, serialization);\n const tweakValueLength = 32;\n const tweakValue = (0,_format_format__WEBPACK_IMPORTED_MODULE_8__.binToBigIntUint256BE)(derivation.slice(0, tweakValueLength));\n const childPrivateValue = (0,_format_format__WEBPACK_IMPORTED_MODULE_8__.binToBigIntUint256BE)(childPrivateNode.privateKey);\n const secp256k1OrderN = BigInt('0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141');\n const trueMod = (n, m) => ((n % m) + m) % m;\n const parentPrivateValue = trueMod(childPrivateValue - tweakValue, secp256k1OrderN);\n const privateKey = (0,_format_format__WEBPACK_IMPORTED_MODULE_8__.bigIntToBinUint256BEClamped)(parentPrivateValue);\n return {\n chainCode: parentPublicNode.chainCode,\n childIndex: parentPublicNode.childIndex,\n depth: parentPublicNode.depth,\n parentFingerprint: parentPublicNode.parentFingerprint,\n ...(parentPublicNode.parentIdentifier === undefined\n ? {}\n : { parentIdentifier: parentPublicNode.parentIdentifier }),\n privateKey,\n valid: true,\n };\n};\n//# sourceMappingURL=hd-key.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/key/hd-key.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/key/key-utils.js": +/*!*************************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/key/key-utils.js ***! + \*************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ generatePrivateKey: () => (/* binding */ generatePrivateKey),\n/* harmony export */ validateSecp256k1PrivateKey: () => (/* binding */ validateSecp256k1PrivateKey)\n/* harmony export */ });\n/**\n * Verify that a private key is valid for the Secp256k1 curve. Returns `true`\n * for success, or `false` on failure.\n *\n * Private keys are 256-bit numbers encoded as a 32-byte, big-endian Uint8Array.\n * Nearly every 256-bit number is a valid secp256k1 private key. Specifically,\n * any 256-bit number greater than `0x01` and less than\n * `0xFFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFE BAAE DCE6 AF48 A03B BFD2 5E8C D036 4140`\n * is a valid private key. This range is part of the definition of the\n * secp256k1 elliptic curve parameters.\n *\n * This method does not require the `Secp256k1` WASM implementation (available\n * via `instantiateSecp256k1`).\n */\nconst validateSecp256k1PrivateKey = (privateKey) => {\n const privateKeyLength = 32;\n if (privateKey.length !== privateKeyLength ||\n privateKey.every((value) => value === 0)) {\n return false;\n }\n /**\n * The largest possible Secp256k1 private key – equal to the order of the\n * Secp256k1 curve minus one.\n */\n // prettier-ignore\n const maximumSecp256k1PrivateKey = [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 186, 174, 220, 230, 175, 72, 160, 59, 191, 210, 94, 140, 208, 54, 65, 63]; // eslint-disable-line @typescript-eslint/no-magic-numbers\n const firstDifference = privateKey.findIndex((value, i) => value !== maximumSecp256k1PrivateKey[i]);\n if (firstDifference === -1 ||\n privateKey[firstDifference] < maximumSecp256k1PrivateKey[firstDifference]) {\n return true;\n }\n return false;\n};\n/**\n * Securely generate a valid Secp256k1 private key given a secure source of\n * randomness.\n *\n * **Node.js Usage**\n * ```ts\n * import { randomBytes } from 'crypto';\n * import { generatePrivateKey } from '@bitauth/libauth';\n *\n * const key = generatePrivateKey(secp256k1, () => randomBytes(32));\n * ```\n *\n * **Browser Usage**\n * ```ts\n * import { generatePrivateKey } from '@bitauth/libauth';\n *\n * const key = generatePrivateKey(secp256k1, () =>\n * window.crypto.getRandomValues(new Uint8Array(32))\n * );\n * ```\n *\n * @param secp256k1 - an implementation of Secp256k1\n * @param secureRandom - a method which returns a securely-random 32-byte\n * Uint8Array\n */\nconst generatePrivateKey = (secureRandom) => {\n // eslint-disable-next-line functional/no-let, @typescript-eslint/init-declarations\n let maybeKey;\n // eslint-disable-next-line functional/no-loop-statement\n do {\n // eslint-disable-next-line functional/no-expression-statement\n maybeKey = secureRandom();\n } while (!validateSecp256k1PrivateKey(maybeKey));\n return maybeKey;\n};\n//# sourceMappingURL=key-utils.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/key/key-utils.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/key/key.js": +/*!*******************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/key/key.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ HdKeyDecodingError: () => (/* reexport safe */ _hd_key__WEBPACK_IMPORTED_MODULE_0__.HdKeyDecodingError),\n/* harmony export */ HdKeyVersion: () => (/* reexport safe */ _hd_key__WEBPACK_IMPORTED_MODULE_0__.HdKeyVersion),\n/* harmony export */ HdNodeCrackingError: () => (/* reexport safe */ _hd_key__WEBPACK_IMPORTED_MODULE_0__.HdNodeCrackingError),\n/* harmony export */ HdNodeDerivationError: () => (/* reexport safe */ _hd_key__WEBPACK_IMPORTED_MODULE_0__.HdNodeDerivationError),\n/* harmony export */ WalletImportFormatError: () => (/* reexport safe */ _wallet_import_format__WEBPACK_IMPORTED_MODULE_2__.WalletImportFormatError),\n/* harmony export */ crackHdPrivateNodeFromHdPublicNodeAndChildPrivateNode: () => (/* reexport safe */ _hd_key__WEBPACK_IMPORTED_MODULE_0__.crackHdPrivateNodeFromHdPublicNodeAndChildPrivateNode),\n/* harmony export */ decodeHdKey: () => (/* reexport safe */ _hd_key__WEBPACK_IMPORTED_MODULE_0__.decodeHdKey),\n/* harmony export */ decodeHdPrivateKey: () => (/* reexport safe */ _hd_key__WEBPACK_IMPORTED_MODULE_0__.decodeHdPrivateKey),\n/* harmony export */ decodeHdPublicKey: () => (/* reexport safe */ _hd_key__WEBPACK_IMPORTED_MODULE_0__.decodeHdPublicKey),\n/* harmony export */ decodePrivateKeyWif: () => (/* reexport safe */ _wallet_import_format__WEBPACK_IMPORTED_MODULE_2__.decodePrivateKeyWif),\n/* harmony export */ deriveHdPath: () => (/* reexport safe */ _hd_key__WEBPACK_IMPORTED_MODULE_0__.deriveHdPath),\n/* harmony export */ deriveHdPrivateNodeChild: () => (/* reexport safe */ _hd_key__WEBPACK_IMPORTED_MODULE_0__.deriveHdPrivateNodeChild),\n/* harmony export */ deriveHdPrivateNodeFromSeed: () => (/* reexport safe */ _hd_key__WEBPACK_IMPORTED_MODULE_0__.deriveHdPrivateNodeFromSeed),\n/* harmony export */ deriveHdPrivateNodeIdentifier: () => (/* reexport safe */ _hd_key__WEBPACK_IMPORTED_MODULE_0__.deriveHdPrivateNodeIdentifier),\n/* harmony export */ deriveHdPublicNode: () => (/* reexport safe */ _hd_key__WEBPACK_IMPORTED_MODULE_0__.deriveHdPublicNode),\n/* harmony export */ deriveHdPublicNodeChild: () => (/* reexport safe */ _hd_key__WEBPACK_IMPORTED_MODULE_0__.deriveHdPublicNodeChild),\n/* harmony export */ deriveHdPublicNodeIdentifier: () => (/* reexport safe */ _hd_key__WEBPACK_IMPORTED_MODULE_0__.deriveHdPublicNodeIdentifier),\n/* harmony export */ encodeHdPrivateKey: () => (/* reexport safe */ _hd_key__WEBPACK_IMPORTED_MODULE_0__.encodeHdPrivateKey),\n/* harmony export */ encodeHdPublicKey: () => (/* reexport safe */ _hd_key__WEBPACK_IMPORTED_MODULE_0__.encodeHdPublicKey),\n/* harmony export */ encodePrivateKeyWif: () => (/* reexport safe */ _wallet_import_format__WEBPACK_IMPORTED_MODULE_2__.encodePrivateKeyWif),\n/* harmony export */ generatePrivateKey: () => (/* reexport safe */ _key_utils__WEBPACK_IMPORTED_MODULE_1__.generatePrivateKey),\n/* harmony export */ instantiateBIP32Crypto: () => (/* reexport safe */ _hd_key__WEBPACK_IMPORTED_MODULE_0__.instantiateBIP32Crypto),\n/* harmony export */ validateSecp256k1PrivateKey: () => (/* reexport safe */ _key_utils__WEBPACK_IMPORTED_MODULE_1__.validateSecp256k1PrivateKey)\n/* harmony export */ });\n/* harmony import */ var _hd_key__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./hd-key */ \"./node_modules/@bitauth/libauth/build/module/lib/key/hd-key.js\");\n/* harmony import */ var _key_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./key-utils */ \"./node_modules/@bitauth/libauth/build/module/lib/key/key-utils.js\");\n/* harmony import */ var _wallet_import_format__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./wallet-import-format */ \"./node_modules/@bitauth/libauth/build/module/lib/key/wallet-import-format.js\");\n\n\n\n//# sourceMappingURL=key.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/key/key.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/key/wallet-import-format.js": +/*!************************************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/key/wallet-import-format.js ***! + \************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ WalletImportFormatError: () => (/* binding */ WalletImportFormatError),\n/* harmony export */ decodePrivateKeyWif: () => (/* binding */ decodePrivateKeyWif),\n/* harmony export */ encodePrivateKeyWif: () => (/* binding */ encodePrivateKeyWif)\n/* harmony export */ });\n/* harmony import */ var _address_address__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../address/address */ \"./node_modules/@bitauth/libauth/build/module/lib/address/base58-address.js\");\n\nvar WalletImportFormatError;\n(function (WalletImportFormatError) {\n WalletImportFormatError[\"incorrectLength\"] = \"The WIF private key payload is not the correct length.\";\n})(WalletImportFormatError || (WalletImportFormatError = {}));\n/**\n * Encode a private key using Wallet Import Format (WIF).\n *\n * WIF encodes the 32-byte private key, a 4-byte checksum, and a `type`\n * indicating the intended usage for the private key. See\n * `WalletImportFormatType` for details.\n *\n * @remarks\n * WIF-encoding uses the Base58Address format with version\n * `Base58AddressFormatVersion.wif` (`128`/`0x80`) or\n * `Base58AddressFormatVersion.wifTestnet` (`239`/`0xef`), respectively.\n *\n * To indicate that the private key is intended for use in a P2PKH address using\n * the compressed form of its derived public key, a `0x01` is appended to the\n * payload prior to encoding. For the uncompressed construction, the extra byte\n * is omitted.\n *\n * @param sha256 - an implementation of sha256 (a universal implementation is\n * available via `instantiateSha256`)\n * @param privateKey - a 32-byte Secp256k1 ECDSA private key\n * @param type - the intended usage of the private key (e.g. `mainnet` or\n * `testnet`)\n */\nconst encodePrivateKeyWif = (sha256, privateKey, type) => {\n const compressedByte = 0x01;\n const mainnet = type === 'mainnet' || type === 'mainnet-uncompressed';\n const compressed = type === 'mainnet' || type === 'testnet';\n const payload = compressed\n ? Uint8Array.from([...privateKey, compressedByte])\n : privateKey;\n return (0,_address_address__WEBPACK_IMPORTED_MODULE_0__.encodeBase58AddressFormat)(sha256, mainnet\n ? _address_address__WEBPACK_IMPORTED_MODULE_0__.Base58AddressFormatVersion.wif\n : _address_address__WEBPACK_IMPORTED_MODULE_0__.Base58AddressFormatVersion.wifTestnet, payload);\n};\n/**\n * Decode a private key using Wallet Import Format (WIF). See\n * `encodePrivateKeyWif` for details.\n *\n * @param sha256 - an implementation of sha256 (a universal implementation is\n * available via `instantiateSha256`)\n * @param wifKey - the private key to decode (in Wallet Import Format)\n */\n// eslint-disable-next-line complexity\nconst decodePrivateKeyWif = (sha256, wifKey) => {\n const compressedPayloadLength = 33;\n const decoded = (0,_address_address__WEBPACK_IMPORTED_MODULE_0__.decodeBase58AddressFormat)(sha256, wifKey);\n if (typeof decoded === 'string')\n return decoded;\n const mainnet = decoded.version === _address_address__WEBPACK_IMPORTED_MODULE_0__.Base58AddressFormatVersion.wif;\n const compressed = decoded.payload.length === compressedPayloadLength;\n const privateKey = compressed\n ? decoded.payload.slice(0, -1)\n : decoded.payload;\n const type = mainnet\n ? compressed\n ? 'mainnet'\n : 'mainnet-uncompressed'\n : compressed\n ? 'testnet'\n : 'testnet-uncompressed';\n return { privateKey, type };\n};\n//# sourceMappingURL=wallet-import-format.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/key/wallet-import-format.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/lib.js": +/*!***************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/lib.js ***! + \***************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AddressType: () => (/* reexport safe */ _address_address__WEBPACK_IMPORTED_MODULE_0__.AddressType),\n/* harmony export */ Base58AddressError: () => (/* reexport safe */ _address_address__WEBPACK_IMPORTED_MODULE_0__.Base58AddressError),\n/* harmony export */ Base58AddressFormatVersion: () => (/* reexport safe */ _address_address__WEBPACK_IMPORTED_MODULE_0__.Base58AddressFormatVersion),\n/* harmony export */ Bech32DecodingError: () => (/* reexport safe */ _address_address__WEBPACK_IMPORTED_MODULE_0__.Bech32DecodingError),\n/* harmony export */ BitRegroupingError: () => (/* reexport safe */ _address_address__WEBPACK_IMPORTED_MODULE_0__.BitRegroupingError),\n/* harmony export */ CashAddressCorrectionError: () => (/* reexport safe */ _address_address__WEBPACK_IMPORTED_MODULE_0__.CashAddressCorrectionError),\n/* harmony export */ CashAddressDecodingError: () => (/* reexport safe */ _address_address__WEBPACK_IMPORTED_MODULE_0__.CashAddressDecodingError),\n/* harmony export */ CashAddressEncodingError: () => (/* reexport safe */ _address_address__WEBPACK_IMPORTED_MODULE_0__.CashAddressEncodingError),\n/* harmony export */ CashAddressNetworkPrefix: () => (/* reexport safe */ _address_address__WEBPACK_IMPORTED_MODULE_0__.CashAddressNetworkPrefix),\n/* harmony export */ CashAddressType: () => (/* reexport safe */ _address_address__WEBPACK_IMPORTED_MODULE_0__.CashAddressType),\n/* harmony export */ CashAddressVersionByte: () => (/* reexport safe */ _address_address__WEBPACK_IMPORTED_MODULE_0__.CashAddressVersionByte),\n/* harmony export */ CashAddressVersionByteDecodingError: () => (/* reexport safe */ _address_address__WEBPACK_IMPORTED_MODULE_0__.CashAddressVersionByteDecodingError),\n/* harmony export */ CompressionFlag: () => (/* reexport safe */ _bin_bin__WEBPACK_IMPORTED_MODULE_2__.CompressionFlag),\n/* harmony export */ ContextFlag: () => (/* reexport safe */ _bin_bin__WEBPACK_IMPORTED_MODULE_2__.ContextFlag),\n/* harmony export */ HdKeyDecodingError: () => (/* reexport safe */ _key_key__WEBPACK_IMPORTED_MODULE_4__.HdKeyDecodingError),\n/* harmony export */ HdKeyVersion: () => (/* reexport safe */ _key_key__WEBPACK_IMPORTED_MODULE_4__.HdKeyVersion),\n/* harmony export */ HdNodeCrackingError: () => (/* reexport safe */ _key_key__WEBPACK_IMPORTED_MODULE_4__.HdNodeCrackingError),\n/* harmony export */ HdNodeDerivationError: () => (/* reexport safe */ _key_key__WEBPACK_IMPORTED_MODULE_4__.HdNodeDerivationError),\n/* harmony export */ LockingBytecodeEncodingError: () => (/* reexport safe */ _address_address__WEBPACK_IMPORTED_MODULE_0__.LockingBytecodeEncodingError),\n/* harmony export */ TransactionDecodingError: () => (/* reexport safe */ _transaction_transaction__WEBPACK_IMPORTED_MODULE_6__.TransactionDecodingError),\n/* harmony export */ WalletImportFormatError: () => (/* reexport safe */ _key_key__WEBPACK_IMPORTED_MODULE_4__.WalletImportFormatError),\n/* harmony export */ addressContentsToLockingBytecode: () => (/* reexport safe */ _address_address__WEBPACK_IMPORTED_MODULE_0__.addressContentsToLockingBytecode),\n/* harmony export */ attemptCashAddressFormatErrorCorrection: () => (/* reexport safe */ _address_address__WEBPACK_IMPORTED_MODULE_0__.attemptCashAddressFormatErrorCorrection),\n/* harmony export */ base58AddressToLockingBytecode: () => (/* reexport safe */ _address_address__WEBPACK_IMPORTED_MODULE_0__.base58AddressToLockingBytecode),\n/* harmony export */ bech32CharacterSet: () => (/* reexport safe */ _address_address__WEBPACK_IMPORTED_MODULE_0__.bech32CharacterSet),\n/* harmony export */ bech32CharacterSetIndex: () => (/* reexport safe */ _address_address__WEBPACK_IMPORTED_MODULE_0__.bech32CharacterSetIndex),\n/* harmony export */ bech32PaddedToBin: () => (/* reexport safe */ _address_address__WEBPACK_IMPORTED_MODULE_0__.bech32PaddedToBin),\n/* harmony export */ binToBech32Padded: () => (/* reexport safe */ _address_address__WEBPACK_IMPORTED_MODULE_0__.binToBech32Padded),\n/* harmony export */ cashAddressBitToSize: () => (/* reexport safe */ _address_address__WEBPACK_IMPORTED_MODULE_0__.cashAddressBitToSize),\n/* harmony export */ cashAddressChecksumToUint5Array: () => (/* reexport safe */ _address_address__WEBPACK_IMPORTED_MODULE_0__.cashAddressChecksumToUint5Array),\n/* harmony export */ cashAddressPolynomialModulo: () => (/* reexport safe */ _address_address__WEBPACK_IMPORTED_MODULE_0__.cashAddressPolynomialModulo),\n/* harmony export */ cashAddressPolynomialToCashAddress: () => (/* reexport safe */ _address_address__WEBPACK_IMPORTED_MODULE_0__.cashAddressPolynomialToCashAddress),\n/* harmony export */ cashAddressSizeToBit: () => (/* reexport safe */ _address_address__WEBPACK_IMPORTED_MODULE_0__.cashAddressSizeToBit),\n/* harmony export */ cashAddressToLockingBytecode: () => (/* reexport safe */ _address_address__WEBPACK_IMPORTED_MODULE_0__.cashAddressToLockingBytecode),\n/* harmony export */ compileInputTemplate: () => (/* reexport safe */ _transaction_transaction__WEBPACK_IMPORTED_MODULE_6__.compileInputTemplate),\n/* harmony export */ compileOutputTemplate: () => (/* reexport safe */ _transaction_transaction__WEBPACK_IMPORTED_MODULE_6__.compileOutputTemplate),\n/* harmony export */ crackHdPrivateNodeFromHdPublicNodeAndChildPrivateNode: () => (/* reexport safe */ _key_key__WEBPACK_IMPORTED_MODULE_4__.crackHdPrivateNodeFromHdPublicNodeAndChildPrivateNode),\n/* harmony export */ decodeBase58Address: () => (/* reexport safe */ _address_address__WEBPACK_IMPORTED_MODULE_0__.decodeBase58Address),\n/* harmony export */ decodeBase58AddressFormat: () => (/* reexport safe */ _address_address__WEBPACK_IMPORTED_MODULE_0__.decodeBase58AddressFormat),\n/* harmony export */ decodeBech32: () => (/* reexport safe */ _address_address__WEBPACK_IMPORTED_MODULE_0__.decodeBech32),\n/* harmony export */ decodeCashAddress: () => (/* reexport safe */ _address_address__WEBPACK_IMPORTED_MODULE_0__.decodeCashAddress),\n/* harmony export */ decodeCashAddressFormat: () => (/* reexport safe */ _address_address__WEBPACK_IMPORTED_MODULE_0__.decodeCashAddressFormat),\n/* harmony export */ decodeCashAddressFormatWithoutPrefix: () => (/* reexport safe */ _address_address__WEBPACK_IMPORTED_MODULE_0__.decodeCashAddressFormatWithoutPrefix),\n/* harmony export */ decodeCashAddressVersionByte: () => (/* reexport safe */ _address_address__WEBPACK_IMPORTED_MODULE_0__.decodeCashAddressVersionByte),\n/* harmony export */ decodeHdKey: () => (/* reexport safe */ _key_key__WEBPACK_IMPORTED_MODULE_4__.decodeHdKey),\n/* harmony export */ decodeHdPrivateKey: () => (/* reexport safe */ _key_key__WEBPACK_IMPORTED_MODULE_4__.decodeHdPrivateKey),\n/* harmony export */ decodeHdPublicKey: () => (/* reexport safe */ _key_key__WEBPACK_IMPORTED_MODULE_4__.decodeHdPublicKey),\n/* harmony export */ decodePrivateKeyWif: () => (/* reexport safe */ _key_key__WEBPACK_IMPORTED_MODULE_4__.decodePrivateKeyWif),\n/* harmony export */ decodeTransaction: () => (/* reexport safe */ _transaction_transaction__WEBPACK_IMPORTED_MODULE_6__.decodeTransaction),\n/* harmony export */ decodeTransactionUnsafe: () => (/* reexport safe */ _transaction_transaction__WEBPACK_IMPORTED_MODULE_6__.decodeTransactionUnsafe),\n/* harmony export */ deriveHdPath: () => (/* reexport safe */ _key_key__WEBPACK_IMPORTED_MODULE_4__.deriveHdPath),\n/* harmony export */ deriveHdPrivateNodeChild: () => (/* reexport safe */ _key_key__WEBPACK_IMPORTED_MODULE_4__.deriveHdPrivateNodeChild),\n/* harmony export */ deriveHdPrivateNodeFromSeed: () => (/* reexport safe */ _key_key__WEBPACK_IMPORTED_MODULE_4__.deriveHdPrivateNodeFromSeed),\n/* harmony export */ deriveHdPrivateNodeIdentifier: () => (/* reexport safe */ _key_key__WEBPACK_IMPORTED_MODULE_4__.deriveHdPrivateNodeIdentifier),\n/* harmony export */ deriveHdPublicNode: () => (/* reexport safe */ _key_key__WEBPACK_IMPORTED_MODULE_4__.deriveHdPublicNode),\n/* harmony export */ deriveHdPublicNodeChild: () => (/* reexport safe */ _key_key__WEBPACK_IMPORTED_MODULE_4__.deriveHdPublicNodeChild),\n/* harmony export */ deriveHdPublicNodeIdentifier: () => (/* reexport safe */ _key_key__WEBPACK_IMPORTED_MODULE_4__.deriveHdPublicNodeIdentifier),\n/* harmony export */ encodeBase58Address: () => (/* reexport safe */ _address_address__WEBPACK_IMPORTED_MODULE_0__.encodeBase58Address),\n/* harmony export */ encodeBase58AddressFormat: () => (/* reexport safe */ _address_address__WEBPACK_IMPORTED_MODULE_0__.encodeBase58AddressFormat),\n/* harmony export */ encodeBech32: () => (/* reexport safe */ _address_address__WEBPACK_IMPORTED_MODULE_0__.encodeBech32),\n/* harmony export */ encodeCashAddress: () => (/* reexport safe */ _address_address__WEBPACK_IMPORTED_MODULE_0__.encodeCashAddress),\n/* harmony export */ encodeCashAddressFormat: () => (/* reexport safe */ _address_address__WEBPACK_IMPORTED_MODULE_0__.encodeCashAddressFormat),\n/* harmony export */ encodeCashAddressVersionByte: () => (/* reexport safe */ _address_address__WEBPACK_IMPORTED_MODULE_0__.encodeCashAddressVersionByte),\n/* harmony export */ encodeHdPrivateKey: () => (/* reexport safe */ _key_key__WEBPACK_IMPORTED_MODULE_4__.encodeHdPrivateKey),\n/* harmony export */ encodeHdPublicKey: () => (/* reexport safe */ _key_key__WEBPACK_IMPORTED_MODULE_4__.encodeHdPublicKey),\n/* harmony export */ encodeInput: () => (/* reexport safe */ _transaction_transaction__WEBPACK_IMPORTED_MODULE_6__.encodeInput),\n/* harmony export */ encodeInputs: () => (/* reexport safe */ _transaction_transaction__WEBPACK_IMPORTED_MODULE_6__.encodeInputs),\n/* harmony export */ encodeOutpoints: () => (/* reexport safe */ _transaction_transaction__WEBPACK_IMPORTED_MODULE_6__.encodeOutpoints),\n/* harmony export */ encodeOutput: () => (/* reexport safe */ _transaction_transaction__WEBPACK_IMPORTED_MODULE_6__.encodeOutput),\n/* harmony export */ encodeOutputsForSigning: () => (/* reexport safe */ _transaction_transaction__WEBPACK_IMPORTED_MODULE_6__.encodeOutputsForSigning),\n/* harmony export */ encodeOutputsForTransaction: () => (/* reexport safe */ _transaction_transaction__WEBPACK_IMPORTED_MODULE_6__.encodeOutputsForTransaction),\n/* harmony export */ encodePrivateKeyWif: () => (/* reexport safe */ _key_key__WEBPACK_IMPORTED_MODULE_4__.encodePrivateKeyWif),\n/* harmony export */ encodeSequenceNumbersForSigning: () => (/* reexport safe */ _transaction_transaction__WEBPACK_IMPORTED_MODULE_6__.encodeSequenceNumbersForSigning),\n/* harmony export */ encodeTransaction: () => (/* reexport safe */ _transaction_transaction__WEBPACK_IMPORTED_MODULE_6__.encodeTransaction),\n/* harmony export */ extractMissingVariables: () => (/* reexport safe */ _transaction_transaction__WEBPACK_IMPORTED_MODULE_6__.extractMissingVariables),\n/* harmony export */ extractResolvedVariables: () => (/* reexport safe */ _transaction_transaction__WEBPACK_IMPORTED_MODULE_6__.extractResolvedVariables),\n/* harmony export */ generatePrivateKey: () => (/* reexport safe */ _key_key__WEBPACK_IMPORTED_MODULE_4__.generatePrivateKey),\n/* harmony export */ generateTransaction: () => (/* reexport safe */ _transaction_transaction__WEBPACK_IMPORTED_MODULE_6__.generateTransaction),\n/* harmony export */ getEmbeddedRipemd160Binary: () => (/* reexport safe */ _crypto_crypto__WEBPACK_IMPORTED_MODULE_3__.getEmbeddedRipemd160Binary),\n/* harmony export */ getEmbeddedSecp256k1Binary: () => (/* reexport safe */ _bin_bin__WEBPACK_IMPORTED_MODULE_2__.getEmbeddedSecp256k1Binary),\n/* harmony export */ getEmbeddedSha1Binary: () => (/* reexport safe */ _crypto_crypto__WEBPACK_IMPORTED_MODULE_3__.getEmbeddedSha1Binary),\n/* harmony export */ getEmbeddedSha256Binary: () => (/* reexport safe */ _crypto_crypto__WEBPACK_IMPORTED_MODULE_3__.getEmbeddedSha256Binary),\n/* harmony export */ getEmbeddedSha512Binary: () => (/* reexport safe */ _crypto_crypto__WEBPACK_IMPORTED_MODULE_3__.getEmbeddedSha512Binary),\n/* harmony export */ getTransactionHash: () => (/* reexport safe */ _transaction_transaction__WEBPACK_IMPORTED_MODULE_6__.getTransactionHash),\n/* harmony export */ getTransactionHashBE: () => (/* reexport safe */ _transaction_transaction__WEBPACK_IMPORTED_MODULE_6__.getTransactionHashBE),\n/* harmony export */ getTransactionHashLE: () => (/* reexport safe */ _transaction_transaction__WEBPACK_IMPORTED_MODULE_6__.getTransactionHashLE),\n/* harmony export */ hmacSha256: () => (/* reexport safe */ _crypto_crypto__WEBPACK_IMPORTED_MODULE_3__.hmacSha256),\n/* harmony export */ hmacSha512: () => (/* reexport safe */ _crypto_crypto__WEBPACK_IMPORTED_MODULE_3__.hmacSha512),\n/* harmony export */ instantiateBIP32Crypto: () => (/* reexport safe */ _key_key__WEBPACK_IMPORTED_MODULE_4__.instantiateBIP32Crypto),\n/* harmony export */ instantiateHmacFunction: () => (/* reexport safe */ _crypto_crypto__WEBPACK_IMPORTED_MODULE_3__.instantiateHmacFunction),\n/* harmony export */ instantiateRipemd160: () => (/* reexport safe */ _crypto_crypto__WEBPACK_IMPORTED_MODULE_3__.instantiateRipemd160),\n/* harmony export */ instantiateRipemd160Bytes: () => (/* reexport safe */ _crypto_crypto__WEBPACK_IMPORTED_MODULE_3__.instantiateRipemd160Bytes),\n/* harmony export */ instantiateRustWasm: () => (/* reexport safe */ _bin_bin__WEBPACK_IMPORTED_MODULE_2__.instantiateRustWasm),\n/* harmony export */ instantiateSecp256k1: () => (/* reexport safe */ _crypto_crypto__WEBPACK_IMPORTED_MODULE_3__.instantiateSecp256k1),\n/* harmony export */ instantiateSecp256k1Bytes: () => (/* reexport safe */ _crypto_crypto__WEBPACK_IMPORTED_MODULE_3__.instantiateSecp256k1Bytes),\n/* harmony export */ instantiateSecp256k1Wasm: () => (/* reexport safe */ _bin_bin__WEBPACK_IMPORTED_MODULE_2__.instantiateSecp256k1Wasm),\n/* harmony export */ instantiateSecp256k1WasmBytes: () => (/* reexport safe */ _bin_bin__WEBPACK_IMPORTED_MODULE_2__.instantiateSecp256k1WasmBytes),\n/* harmony export */ instantiateSha1: () => (/* reexport safe */ _crypto_crypto__WEBPACK_IMPORTED_MODULE_3__.instantiateSha1),\n/* harmony export */ instantiateSha1Bytes: () => (/* reexport safe */ _crypto_crypto__WEBPACK_IMPORTED_MODULE_3__.instantiateSha1Bytes),\n/* harmony export */ instantiateSha256: () => (/* reexport safe */ _crypto_crypto__WEBPACK_IMPORTED_MODULE_3__.instantiateSha256),\n/* harmony export */ instantiateSha256Bytes: () => (/* reexport safe */ _crypto_crypto__WEBPACK_IMPORTED_MODULE_3__.instantiateSha256Bytes),\n/* harmony export */ instantiateSha512: () => (/* reexport safe */ _crypto_crypto__WEBPACK_IMPORTED_MODULE_3__.instantiateSha512),\n/* harmony export */ instantiateSha512Bytes: () => (/* reexport safe */ _crypto_crypto__WEBPACK_IMPORTED_MODULE_3__.instantiateSha512Bytes),\n/* harmony export */ invalidSatoshis: () => (/* reexport safe */ _transaction_transaction__WEBPACK_IMPORTED_MODULE_6__.invalidSatoshis),\n/* harmony export */ isBech32CharacterSet: () => (/* reexport safe */ _address_address__WEBPACK_IMPORTED_MODULE_0__.isBech32CharacterSet),\n/* harmony export */ lockingBytecodeToAddressContents: () => (/* reexport safe */ _address_address__WEBPACK_IMPORTED_MODULE_0__.lockingBytecodeToAddressContents),\n/* harmony export */ lockingBytecodeToBase58Address: () => (/* reexport safe */ _address_address__WEBPACK_IMPORTED_MODULE_0__.lockingBytecodeToBase58Address),\n/* harmony export */ lockingBytecodeToCashAddress: () => (/* reexport safe */ _address_address__WEBPACK_IMPORTED_MODULE_0__.lockingBytecodeToCashAddress),\n/* harmony export */ maskCashAddressPrefix: () => (/* reexport safe */ _address_address__WEBPACK_IMPORTED_MODULE_0__.maskCashAddressPrefix),\n/* harmony export */ readTransactionInput: () => (/* reexport safe */ _transaction_transaction__WEBPACK_IMPORTED_MODULE_6__.readTransactionInput),\n/* harmony export */ readTransactionOutput: () => (/* reexport safe */ _transaction_transaction__WEBPACK_IMPORTED_MODULE_6__.readTransactionOutput),\n/* harmony export */ regroupBits: () => (/* reexport safe */ _address_address__WEBPACK_IMPORTED_MODULE_0__.regroupBits),\n/* harmony export */ ripemd160Base64Bytes: () => (/* reexport safe */ _bin_bin__WEBPACK_IMPORTED_MODULE_2__.ripemd160Base64Bytes),\n/* harmony export */ safelyExtendCompilationData: () => (/* reexport safe */ _transaction_transaction__WEBPACK_IMPORTED_MODULE_6__.safelyExtendCompilationData),\n/* harmony export */ sha1Base64Bytes: () => (/* reexport safe */ _bin_bin__WEBPACK_IMPORTED_MODULE_2__.sha1Base64Bytes),\n/* harmony export */ sha256Base64Bytes: () => (/* reexport safe */ _bin_bin__WEBPACK_IMPORTED_MODULE_2__.sha256Base64Bytes),\n/* harmony export */ sha512Base64Bytes: () => (/* reexport safe */ _bin_bin__WEBPACK_IMPORTED_MODULE_2__.sha512Base64Bytes),\n/* harmony export */ validateSecp256k1PrivateKey: () => (/* reexport safe */ _key_key__WEBPACK_IMPORTED_MODULE_4__.validateSecp256k1PrivateKey),\n/* harmony export */ verifyTransaction: () => (/* reexport safe */ _transaction_transaction__WEBPACK_IMPORTED_MODULE_6__.verifyTransaction)\n/* harmony export */ });\n/* harmony import */ var _address_address__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./address/address */ \"./node_modules/@bitauth/libauth/build/module/lib/address/address.js\");\n/* harmony import */ var _vm_vm__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./vm/vm */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/vm.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(const __WEBPACK_IMPORT_KEY__ in _vm_vm__WEBPACK_IMPORTED_MODULE_1__) if([\"default\",\"AddressType\",\"Base58AddressError\",\"Base58AddressFormatVersion\",\"Bech32DecodingError\",\"BitRegroupingError\",\"CashAddressCorrectionError\",\"CashAddressDecodingError\",\"CashAddressEncodingError\",\"CashAddressNetworkPrefix\",\"CashAddressType\",\"CashAddressVersionByte\",\"CashAddressVersionByteDecodingError\",\"LockingBytecodeEncodingError\",\"addressContentsToLockingBytecode\",\"attemptCashAddressFormatErrorCorrection\",\"base58AddressToLockingBytecode\",\"bech32CharacterSet\",\"bech32CharacterSetIndex\",\"bech32PaddedToBin\",\"binToBech32Padded\",\"cashAddressBitToSize\",\"cashAddressChecksumToUint5Array\",\"cashAddressPolynomialModulo\",\"cashAddressPolynomialToCashAddress\",\"cashAddressSizeToBit\",\"cashAddressToLockingBytecode\",\"decodeBase58Address\",\"decodeBase58AddressFormat\",\"decodeBech32\",\"decodeCashAddress\",\"decodeCashAddressFormat\",\"decodeCashAddressFormatWithoutPrefix\",\"decodeCashAddressVersionByte\",\"encodeBase58Address\",\"encodeBase58AddressFormat\",\"encodeBech32\",\"encodeCashAddress\",\"encodeCashAddressFormat\",\"encodeCashAddressVersionByte\",\"isBech32CharacterSet\",\"lockingBytecodeToAddressContents\",\"lockingBytecodeToBase58Address\",\"lockingBytecodeToCashAddress\",\"maskCashAddressPrefix\",\"regroupBits\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = () => _vm_vm__WEBPACK_IMPORTED_MODULE_1__[__WEBPACK_IMPORT_KEY__]\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/* harmony import */ var _bin_bin__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./bin/bin */ \"./node_modules/@bitauth/libauth/build/module/lib/bin/bin.js\");\n/* harmony import */ var _crypto_crypto__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./crypto/crypto */ \"./node_modules/@bitauth/libauth/build/module/lib/crypto/crypto.js\");\n/* harmony import */ var _key_key__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./key/key */ \"./node_modules/@bitauth/libauth/build/module/lib/key/key.js\");\n/* harmony import */ var _template_template__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./template/template */ \"./node_modules/@bitauth/libauth/build/module/lib/template/template.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(const __WEBPACK_IMPORT_KEY__ in _template_template__WEBPACK_IMPORTED_MODULE_5__) if([\"default\",\"AddressType\",\"Base58AddressError\",\"Base58AddressFormatVersion\",\"Bech32DecodingError\",\"BitRegroupingError\",\"CashAddressCorrectionError\",\"CashAddressDecodingError\",\"CashAddressEncodingError\",\"CashAddressNetworkPrefix\",\"CashAddressType\",\"CashAddressVersionByte\",\"CashAddressVersionByteDecodingError\",\"LockingBytecodeEncodingError\",\"addressContentsToLockingBytecode\",\"attemptCashAddressFormatErrorCorrection\",\"base58AddressToLockingBytecode\",\"bech32CharacterSet\",\"bech32CharacterSetIndex\",\"bech32PaddedToBin\",\"binToBech32Padded\",\"cashAddressBitToSize\",\"cashAddressChecksumToUint5Array\",\"cashAddressPolynomialModulo\",\"cashAddressPolynomialToCashAddress\",\"cashAddressSizeToBit\",\"cashAddressToLockingBytecode\",\"decodeBase58Address\",\"decodeBase58AddressFormat\",\"decodeBech32\",\"decodeCashAddress\",\"decodeCashAddressFormat\",\"decodeCashAddressFormatWithoutPrefix\",\"decodeCashAddressVersionByte\",\"encodeBase58Address\",\"encodeBase58AddressFormat\",\"encodeBech32\",\"encodeCashAddress\",\"encodeCashAddressFormat\",\"encodeCashAddressVersionByte\",\"isBech32CharacterSet\",\"lockingBytecodeToAddressContents\",\"lockingBytecodeToBase58Address\",\"lockingBytecodeToCashAddress\",\"maskCashAddressPrefix\",\"regroupBits\",\"createAuthenticationVirtualMachine\",\"CompressionFlag\",\"ContextFlag\",\"getEmbeddedSecp256k1Binary\",\"instantiateRustWasm\",\"instantiateSecp256k1Wasm\",\"instantiateSecp256k1WasmBytes\",\"ripemd160Base64Bytes\",\"sha1Base64Bytes\",\"sha256Base64Bytes\",\"sha512Base64Bytes\",\"getEmbeddedRipemd160Binary\",\"getEmbeddedSha1Binary\",\"getEmbeddedSha256Binary\",\"getEmbeddedSha512Binary\",\"hmacSha256\",\"hmacSha512\",\"instantiateHmacFunction\",\"instantiateRipemd160\",\"instantiateRipemd160Bytes\",\"instantiateSecp256k1\",\"instantiateSecp256k1Bytes\",\"instantiateSha1\",\"instantiateSha1Bytes\",\"instantiateSha256\",\"instantiateSha256Bytes\",\"instantiateSha512\",\"instantiateSha512Bytes\",\"HdKeyDecodingError\",\"HdKeyVersion\",\"HdNodeCrackingError\",\"HdNodeDerivationError\",\"WalletImportFormatError\",\"crackHdPrivateNodeFromHdPublicNodeAndChildPrivateNode\",\"decodeHdKey\",\"decodeHdPrivateKey\",\"decodeHdPublicKey\",\"decodePrivateKeyWif\",\"deriveHdPath\",\"deriveHdPrivateNodeChild\",\"deriveHdPrivateNodeFromSeed\",\"deriveHdPrivateNodeIdentifier\",\"deriveHdPublicNode\",\"deriveHdPublicNodeChild\",\"deriveHdPublicNodeIdentifier\",\"encodeHdPrivateKey\",\"encodeHdPublicKey\",\"encodePrivateKeyWif\",\"generatePrivateKey\",\"instantiateBIP32Crypto\",\"validateSecp256k1PrivateKey\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = () => _template_template__WEBPACK_IMPORTED_MODULE_5__[__WEBPACK_IMPORT_KEY__]\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/* harmony import */ var _transaction_transaction__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./transaction/transaction */ \"./node_modules/@bitauth/libauth/build/module/lib/transaction/transaction.js\");\n/* harmony import */ var _format_format__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./format/format */ \"./node_modules/@bitauth/libauth/build/module/lib/format/format.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(const __WEBPACK_IMPORT_KEY__ in _format_format__WEBPACK_IMPORTED_MODULE_7__) if([\"default\",\"AddressType\",\"Base58AddressError\",\"Base58AddressFormatVersion\",\"Bech32DecodingError\",\"BitRegroupingError\",\"CashAddressCorrectionError\",\"CashAddressDecodingError\",\"CashAddressEncodingError\",\"CashAddressNetworkPrefix\",\"CashAddressType\",\"CashAddressVersionByte\",\"CashAddressVersionByteDecodingError\",\"LockingBytecodeEncodingError\",\"addressContentsToLockingBytecode\",\"attemptCashAddressFormatErrorCorrection\",\"base58AddressToLockingBytecode\",\"bech32CharacterSet\",\"bech32CharacterSetIndex\",\"bech32PaddedToBin\",\"binToBech32Padded\",\"cashAddressBitToSize\",\"cashAddressChecksumToUint5Array\",\"cashAddressPolynomialModulo\",\"cashAddressPolynomialToCashAddress\",\"cashAddressSizeToBit\",\"cashAddressToLockingBytecode\",\"decodeBase58Address\",\"decodeBase58AddressFormat\",\"decodeBech32\",\"decodeCashAddress\",\"decodeCashAddressFormat\",\"decodeCashAddressFormatWithoutPrefix\",\"decodeCashAddressVersionByte\",\"encodeBase58Address\",\"encodeBase58AddressFormat\",\"encodeBech32\",\"encodeCashAddress\",\"encodeCashAddressFormat\",\"encodeCashAddressVersionByte\",\"isBech32CharacterSet\",\"lockingBytecodeToAddressContents\",\"lockingBytecodeToBase58Address\",\"lockingBytecodeToCashAddress\",\"maskCashAddressPrefix\",\"regroupBits\",\"createAuthenticationVirtualMachine\",\"CompressionFlag\",\"ContextFlag\",\"getEmbeddedSecp256k1Binary\",\"instantiateRustWasm\",\"instantiateSecp256k1Wasm\",\"instantiateSecp256k1WasmBytes\",\"ripemd160Base64Bytes\",\"sha1Base64Bytes\",\"sha256Base64Bytes\",\"sha512Base64Bytes\",\"getEmbeddedRipemd160Binary\",\"getEmbeddedSha1Binary\",\"getEmbeddedSha256Binary\",\"getEmbeddedSha512Binary\",\"hmacSha256\",\"hmacSha512\",\"instantiateHmacFunction\",\"instantiateRipemd160\",\"instantiateRipemd160Bytes\",\"instantiateSecp256k1\",\"instantiateSecp256k1Bytes\",\"instantiateSha1\",\"instantiateSha1Bytes\",\"instantiateSha256\",\"instantiateSha256Bytes\",\"instantiateSha512\",\"instantiateSha512Bytes\",\"HdKeyDecodingError\",\"HdKeyVersion\",\"HdNodeCrackingError\",\"HdNodeDerivationError\",\"WalletImportFormatError\",\"crackHdPrivateNodeFromHdPublicNodeAndChildPrivateNode\",\"decodeHdKey\",\"decodeHdPrivateKey\",\"decodeHdPublicKey\",\"decodePrivateKeyWif\",\"deriveHdPath\",\"deriveHdPrivateNodeChild\",\"deriveHdPrivateNodeFromSeed\",\"deriveHdPrivateNodeIdentifier\",\"deriveHdPublicNode\",\"deriveHdPublicNodeChild\",\"deriveHdPublicNodeIdentifier\",\"encodeHdPrivateKey\",\"encodeHdPublicKey\",\"encodePrivateKeyWif\",\"generatePrivateKey\",\"instantiateBIP32Crypto\",\"validateSecp256k1PrivateKey\",\"BuiltInVariables\",\"CompilerDefaults\",\"IdentifierResolutionErrorType\",\"IdentifierResolutionType\",\"SigningSerializationAlgorithmIdentifier\",\"allErrorsAreRecoverable\",\"attemptCompilerOperations\",\"authenticationTemplateP2pkh\",\"authenticationTemplateP2pkhNonHd\",\"authenticationTemplateToCompilationEnvironment\",\"authenticationTemplateToCompilationEnvironmentVirtualizedTests\",\"authenticationTemplateToCompilerBCH\",\"compileBtl\",\"compileScript\",\"compileScriptContents\",\"compileScriptP2shLocking\",\"compileScriptP2shUnlocking\",\"compileScriptRaw\",\"compilerOperationAddressData\",\"compilerOperationAttemptBytecodeResolution\",\"compilerOperationCurrentBlockHeight\",\"compilerOperationCurrentBlockTime\",\"compilerOperationHdKeyEcdsaDataSignatureBCH\",\"compilerOperationHdKeyEcdsaSignatureBCH\",\"compilerOperationHdKeyPublicKeyCommon\",\"compilerOperationHdKeySchnorrDataSignatureBCH\",\"compilerOperationHdKeySchnorrSignatureBCH\",\"compilerOperationHelperAddressIndex\",\"compilerOperationHelperCompileScript\",\"compilerOperationHelperComputeDataSignatureBCH\",\"compilerOperationHelperComputeSignatureBCH\",\"compilerOperationHelperDeriveHdKeyPrivate\",\"compilerOperationHelperDeriveHdPrivateNode\",\"compilerOperationHelperGenerateCoveredBytecode\",\"compilerOperationHelperHdKeyDataSignatureBCH\",\"compilerOperationHelperHdKeySignatureBCH\",\"compilerOperationHelperKeyDataSignatureBCH\",\"compilerOperationHelperKeySignatureBCH\",\"compilerOperationHelperUnknownEntity\",\"compilerOperationKeyEcdsaDataSignatureBCH\",\"compilerOperationKeyEcdsaSignatureBCH\",\"compilerOperationKeyPublicKeyCommon\",\"compilerOperationKeySchnorrDataSignatureBCH\",\"compilerOperationKeySchnorrSignatureBCH\",\"compilerOperationRequires\",\"compilerOperationSigningSerializationCorrespondingOutput\",\"compilerOperationSigningSerializationCorrespondingOutputHash\",\"compilerOperationSigningSerializationCoveredBytecode\",\"compilerOperationSigningSerializationCoveredBytecodeLength\",\"compilerOperationSigningSerializationFullBCH\",\"compilerOperationSigningSerializationLocktime\",\"compilerOperationSigningSerializationOutpointIndex\",\"compilerOperationSigningSerializationOutpointTransactionHash\",\"compilerOperationSigningSerializationOutputValue\",\"compilerOperationSigningSerializationSequenceNumber\",\"compilerOperationSigningSerializationTransactionOutpoints\",\"compilerOperationSigningSerializationTransactionOutpointsHash\",\"compilerOperationSigningSerializationTransactionOutputs\",\"compilerOperationSigningSerializationTransactionOutputsHash\",\"compilerOperationSigningSerializationTransactionSequenceNumbers\",\"compilerOperationSigningSerializationTransactionSequenceNumbersHash\",\"compilerOperationSigningSerializationVersion\",\"compilerOperationWalletData\",\"compilerOperationsBCH\",\"compilerOperationsCommon\",\"containsRange\",\"createAuthenticationProgramEvaluationCommon\",\"createCompiler\",\"createCompilerBCH\",\"createCompilerCommonSynchronous\",\"createIdentifierResolver\",\"describeExpectedInput\",\"extendCompilationDataWithScenarioBytecode\",\"extendScenarioDefinition\",\"extendScenarioDefinitionData\",\"extendedScenarioDefinitionToCompilationData\",\"extractBytecodeResolutions\",\"extractEvaluationSamples\",\"extractEvaluationSamplesRecursive\",\"extractResolvedVariableBytecodeMap\",\"extractUnexecutedRanges\",\"generateDefaultScenarioDefinition\",\"generateExtendedScenario\",\"generateScenarioCommon\",\"getResolutionErrors\",\"mergeRanges\",\"parseAuthenticationTemplateEntities\",\"parseAuthenticationTemplateScenarioData\",\"parseAuthenticationTemplateScenarioDataHdKeys\",\"parseAuthenticationTemplateScenarioDataKeys\",\"parseAuthenticationTemplateScenarioTransaction\",\"parseAuthenticationTemplateScenarioTransactionInputs\",\"parseAuthenticationTemplateScenarioTransactionOutputLockingBytecode\",\"parseAuthenticationTemplateScenarioTransactionOutputs\",\"parseAuthenticationTemplateScenarios\",\"parseAuthenticationTemplateScripts\",\"parseAuthenticationTemplateVariable\",\"parseScript\",\"reduceScript\",\"resolveScriptIdentifier\",\"resolveScriptSegment\",\"resolveVariableIdentifier\",\"stringifyErrors\",\"validateAuthenticationTemplate\",\"verifyBtlEvaluationState\",\"TransactionDecodingError\",\"compileInputTemplate\",\"compileOutputTemplate\",\"decodeTransaction\",\"decodeTransactionUnsafe\",\"encodeInput\",\"encodeInputs\",\"encodeOutpoints\",\"encodeOutput\",\"encodeOutputsForSigning\",\"encodeOutputsForTransaction\",\"encodeSequenceNumbersForSigning\",\"encodeTransaction\",\"extractMissingVariables\",\"extractResolvedVariables\",\"generateTransaction\",\"getTransactionHash\",\"getTransactionHashBE\",\"getTransactionHashLE\",\"invalidSatoshis\",\"readTransactionInput\",\"readTransactionOutput\",\"safelyExtendCompilationData\",\"verifyTransaction\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = () => _format_format__WEBPACK_IMPORTED_MODULE_7__[__WEBPACK_IMPORT_KEY__]\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n\n\n\n\n\n\n\n\n//# sourceMappingURL=lib.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/lib.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/template/compiler-bch/compiler-bch.js": +/*!**********************************************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/template/compiler-bch/compiler-bch.js ***! + \**********************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SigningSerializationAlgorithmIdentifier: () => (/* binding */ SigningSerializationAlgorithmIdentifier),\n/* harmony export */ authenticationTemplateToCompilerBCH: () => (/* binding */ authenticationTemplateToCompilerBCH),\n/* harmony export */ compilerOperationHdKeyEcdsaDataSignatureBCH: () => (/* binding */ compilerOperationHdKeyEcdsaDataSignatureBCH),\n/* harmony export */ compilerOperationHdKeyEcdsaSignatureBCH: () => (/* binding */ compilerOperationHdKeyEcdsaSignatureBCH),\n/* harmony export */ compilerOperationHdKeySchnorrDataSignatureBCH: () => (/* binding */ compilerOperationHdKeySchnorrDataSignatureBCH),\n/* harmony export */ compilerOperationHdKeySchnorrSignatureBCH: () => (/* binding */ compilerOperationHdKeySchnorrSignatureBCH),\n/* harmony export */ compilerOperationHelperComputeDataSignatureBCH: () => (/* binding */ compilerOperationHelperComputeDataSignatureBCH),\n/* harmony export */ compilerOperationHelperComputeSignatureBCH: () => (/* binding */ compilerOperationHelperComputeSignatureBCH),\n/* harmony export */ compilerOperationHelperHdKeyDataSignatureBCH: () => (/* binding */ compilerOperationHelperHdKeyDataSignatureBCH),\n/* harmony export */ compilerOperationHelperHdKeySignatureBCH: () => (/* binding */ compilerOperationHelperHdKeySignatureBCH),\n/* harmony export */ compilerOperationHelperKeyDataSignatureBCH: () => (/* binding */ compilerOperationHelperKeyDataSignatureBCH),\n/* harmony export */ compilerOperationHelperKeySignatureBCH: () => (/* binding */ compilerOperationHelperKeySignatureBCH),\n/* harmony export */ compilerOperationKeyEcdsaDataSignatureBCH: () => (/* binding */ compilerOperationKeyEcdsaDataSignatureBCH),\n/* harmony export */ compilerOperationKeyEcdsaSignatureBCH: () => (/* binding */ compilerOperationKeyEcdsaSignatureBCH),\n/* harmony export */ compilerOperationKeySchnorrDataSignatureBCH: () => (/* binding */ compilerOperationKeySchnorrDataSignatureBCH),\n/* harmony export */ compilerOperationKeySchnorrSignatureBCH: () => (/* binding */ compilerOperationKeySchnorrSignatureBCH),\n/* harmony export */ compilerOperationSigningSerializationFullBCH: () => (/* binding */ compilerOperationSigningSerializationFullBCH),\n/* harmony export */ compilerOperationsBCH: () => (/* binding */ compilerOperationsBCH),\n/* harmony export */ createCompilerBCH: () => (/* binding */ createCompilerBCH)\n/* harmony export */ });\n/* harmony import */ var _crypto_crypto__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../crypto/crypto */ \"./node_modules/@bitauth/libauth/build/module/lib/crypto/sha1.js\");\n/* harmony import */ var _crypto_crypto__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../crypto/crypto */ \"./node_modules/@bitauth/libauth/build/module/lib/crypto/sha256.js\");\n/* harmony import */ var _crypto_crypto__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../crypto/crypto */ \"./node_modules/@bitauth/libauth/build/module/lib/crypto/sha512.js\");\n/* harmony import */ var _crypto_crypto__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../crypto/crypto */ \"./node_modules/@bitauth/libauth/build/module/lib/crypto/ripemd160.js\");\n/* harmony import */ var _crypto_crypto__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../crypto/crypto */ \"./node_modules/@bitauth/libauth/build/module/lib/crypto/secp256k1.js\");\n/* harmony import */ var _vm_instruction_sets_common_signing_serialization__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../vm/instruction-sets/common/signing-serialization */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/signing-serialization.js\");\n/* harmony import */ var _vm_instruction_sets_instruction_sets__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../vm/instruction-sets/instruction-sets */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/bch/bch-instruction-sets.js\");\n/* harmony import */ var _vm_instruction_sets_instruction_sets__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../vm/instruction-sets/instruction-sets */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/instruction-sets-utils.js\");\n/* harmony import */ var _vm_instruction_sets_instruction_sets__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../vm/instruction-sets/instruction-sets */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/bch/bch-opcodes.js\");\n/* harmony import */ var _vm_virtual_machine__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../vm/virtual-machine */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/virtual-machine.js\");\n/* harmony import */ var _compiler__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../compiler */ \"./node_modules/@bitauth/libauth/build/module/lib/template/compiler.js\");\n/* harmony import */ var _compiler_operation_helpers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../compiler-operation-helpers */ \"./node_modules/@bitauth/libauth/build/module/lib/template/compiler-operation-helpers.js\");\n/* harmony import */ var _compiler_operations__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../compiler-operations */ \"./node_modules/@bitauth/libauth/build/module/lib/template/compiler-operations.js\");\n\n\n\n\n\n\n\nvar SigningSerializationAlgorithmIdentifier;\n(function (SigningSerializationAlgorithmIdentifier) {\n /**\n * A.K.A. `SIGHASH_ALL`\n */\n SigningSerializationAlgorithmIdentifier[\"allOutputs\"] = \"all_outputs\";\n /**\n * A.K.A. `SIGHASH_ALL|ANYONE_CAN_PAY`\n */\n SigningSerializationAlgorithmIdentifier[\"allOutputsSingleInput\"] = \"all_outputs_single_input\";\n /**\n * A.K.A. `SIGHASH_SINGLE`\n */\n SigningSerializationAlgorithmIdentifier[\"correspondingOutput\"] = \"corresponding_output\";\n /**\n * A.K.A. `SIGHASH_SINGLE|ANYONE_CAN_PAY`\n */\n SigningSerializationAlgorithmIdentifier[\"correspondingOutputSingleInput\"] = \"corresponding_output_single_input\";\n /**\n * A.K.A `SIGHASH_NONE`\n */\n SigningSerializationAlgorithmIdentifier[\"noOutputs\"] = \"no_outputs\";\n /**\n * A.K.A `SIGHASH_NONE|ANYONE_CAN_PAY`\n */\n SigningSerializationAlgorithmIdentifier[\"noOutputsSingleInput\"] = \"no_outputs_single_input\";\n})(SigningSerializationAlgorithmIdentifier || (SigningSerializationAlgorithmIdentifier = {}));\n// eslint-disable-next-line complexity\nconst getSigningSerializationType = (algorithmIdentifier, prefix = '') => {\n switch (algorithmIdentifier) {\n case `${prefix}${SigningSerializationAlgorithmIdentifier.allOutputs}`:\n return Uint8Array.of(\n // eslint-disable-next-line no-bitwise\n _vm_instruction_sets_common_signing_serialization__WEBPACK_IMPORTED_MODULE_0__.SigningSerializationFlag.allOutputs | _vm_instruction_sets_common_signing_serialization__WEBPACK_IMPORTED_MODULE_0__.SigningSerializationFlag.forkId);\n case `${prefix}${SigningSerializationAlgorithmIdentifier.allOutputsSingleInput}`:\n return Uint8Array.of(\n // eslint-disable-next-line no-bitwise\n _vm_instruction_sets_common_signing_serialization__WEBPACK_IMPORTED_MODULE_0__.SigningSerializationFlag.allOutputs |\n _vm_instruction_sets_common_signing_serialization__WEBPACK_IMPORTED_MODULE_0__.SigningSerializationFlag.singleInput |\n _vm_instruction_sets_common_signing_serialization__WEBPACK_IMPORTED_MODULE_0__.SigningSerializationFlag.forkId);\n case `${prefix}${SigningSerializationAlgorithmIdentifier.correspondingOutput}`:\n return Uint8Array.of(\n // eslint-disable-next-line no-bitwise\n _vm_instruction_sets_common_signing_serialization__WEBPACK_IMPORTED_MODULE_0__.SigningSerializationFlag.correspondingOutput |\n _vm_instruction_sets_common_signing_serialization__WEBPACK_IMPORTED_MODULE_0__.SigningSerializationFlag.forkId);\n case `${prefix}${SigningSerializationAlgorithmIdentifier.correspondingOutputSingleInput}`:\n return Uint8Array.of(\n // eslint-disable-next-line no-bitwise\n _vm_instruction_sets_common_signing_serialization__WEBPACK_IMPORTED_MODULE_0__.SigningSerializationFlag.correspondingOutput |\n _vm_instruction_sets_common_signing_serialization__WEBPACK_IMPORTED_MODULE_0__.SigningSerializationFlag.singleInput |\n _vm_instruction_sets_common_signing_serialization__WEBPACK_IMPORTED_MODULE_0__.SigningSerializationFlag.forkId);\n case `${prefix}${SigningSerializationAlgorithmIdentifier.noOutputs}`:\n return Uint8Array.of(\n // eslint-disable-next-line no-bitwise\n _vm_instruction_sets_common_signing_serialization__WEBPACK_IMPORTED_MODULE_0__.SigningSerializationFlag.noOutputs | _vm_instruction_sets_common_signing_serialization__WEBPACK_IMPORTED_MODULE_0__.SigningSerializationFlag.forkId);\n case `${prefix}${SigningSerializationAlgorithmIdentifier.noOutputsSingleInput}`:\n return Uint8Array.of(\n // eslint-disable-next-line no-bitwise\n _vm_instruction_sets_common_signing_serialization__WEBPACK_IMPORTED_MODULE_0__.SigningSerializationFlag.noOutputs |\n _vm_instruction_sets_common_signing_serialization__WEBPACK_IMPORTED_MODULE_0__.SigningSerializationFlag.singleInput |\n _vm_instruction_sets_common_signing_serialization__WEBPACK_IMPORTED_MODULE_0__.SigningSerializationFlag.forkId);\n default:\n return undefined;\n }\n};\nconst compilerOperationHelperComputeSignatureBCH = ({ coveredBytecode, identifier, transactionContext, operationName, privateKey, sha256, sign, }) => {\n const [, , algorithm, unknown] = identifier.split('.');\n if (unknown !== undefined) {\n return {\n error: `Unknown component in \"${identifier}\" – the fragment \"${unknown}\" is not recognized.`,\n status: 'error',\n };\n }\n if (algorithm === undefined) {\n return {\n error: `Invalid signature identifier. Signatures must be of the form: \"[variable_id].${operationName}.[signing_serialization_type]\".`,\n status: 'error',\n };\n }\n const signingSerializationType = getSigningSerializationType(algorithm);\n if (signingSerializationType === undefined) {\n return {\n error: `Unknown signing serialization algorithm, \"${algorithm}\".`,\n status: 'error',\n };\n }\n const serialization = (0,_vm_instruction_sets_common_signing_serialization__WEBPACK_IMPORTED_MODULE_0__.generateSigningSerializationBCH)({\n correspondingOutput: transactionContext.correspondingOutput,\n coveredBytecode,\n locktime: transactionContext.locktime,\n outpointIndex: transactionContext.outpointIndex,\n outpointTransactionHash: transactionContext.outpointTransactionHash,\n outputValue: transactionContext.outputValue,\n sequenceNumber: transactionContext.sequenceNumber,\n sha256,\n signingSerializationType,\n transactionOutpoints: transactionContext.transactionOutpoints,\n transactionOutputs: transactionContext.transactionOutputs,\n transactionSequenceNumbers: transactionContext.transactionSequenceNumbers,\n version: transactionContext.version,\n });\n const digest = sha256.hash(sha256.hash(serialization));\n const bitcoinEncodedSignature = Uint8Array.from([\n ...sign(privateKey, digest),\n ...signingSerializationType,\n ]);\n return {\n bytecode: bitcoinEncodedSignature,\n signature: { serialization },\n status: 'success',\n };\n};\nconst compilerOperationHelperHdKeySignatureBCH = ({ operationName, secp256k1Method, }) => (0,_compiler_operation_helpers__WEBPACK_IMPORTED_MODULE_1__.attemptCompilerOperations)([_compiler_operation_helpers__WEBPACK_IMPORTED_MODULE_1__.compilerOperationAttemptBytecodeResolution], (0,_compiler_operation_helpers__WEBPACK_IMPORTED_MODULE_1__.compilerOperationRequires)({\n canBeSkipped: false,\n dataProperties: ['hdKeys', 'transactionContext'],\n environmentProperties: [\n 'entityOwnership',\n 'ripemd160',\n 'secp256k1',\n 'sha256',\n 'sha512',\n 'variables',\n 'sourceScriptIds',\n 'unlockingScripts',\n ],\n operation: (identifier, data, environment) => {\n const { hdKeys, transactionContext } = data;\n const { secp256k1, sha256, sourceScriptIds, unlockingScripts, } = environment;\n const derivationResult = (0,_compiler_operation_helpers__WEBPACK_IMPORTED_MODULE_1__.compilerOperationHelperDeriveHdKeyPrivate)({\n environment,\n hdKeys,\n identifier,\n });\n if (derivationResult.status === 'error')\n return derivationResult;\n const result = (0,_compiler_operation_helpers__WEBPACK_IMPORTED_MODULE_1__.compilerOperationHelperGenerateCoveredBytecode)({\n data,\n environment,\n identifier,\n sourceScriptIds,\n unlockingScripts,\n });\n if ('error' in result) {\n return result;\n }\n return compilerOperationHelperComputeSignatureBCH({\n coveredBytecode: result,\n identifier,\n operationName,\n privateKey: derivationResult.bytecode,\n sha256,\n sign: secp256k1[secp256k1Method],\n transactionContext,\n });\n },\n}));\nconst compilerOperationHdKeyEcdsaSignatureBCH = compilerOperationHelperHdKeySignatureBCH({\n operationName: 'signature',\n secp256k1Method: 'signMessageHashDER',\n});\nconst compilerOperationHdKeySchnorrSignatureBCH = compilerOperationHelperHdKeySignatureBCH({\n operationName: 'schnorr_signature',\n secp256k1Method: 'signMessageHashSchnorr',\n});\nconst compilerOperationHelperKeySignatureBCH = ({ operationName, secp256k1Method, }) => (0,_compiler_operation_helpers__WEBPACK_IMPORTED_MODULE_1__.attemptCompilerOperations)([_compiler_operation_helpers__WEBPACK_IMPORTED_MODULE_1__.compilerOperationAttemptBytecodeResolution], (0,_compiler_operation_helpers__WEBPACK_IMPORTED_MODULE_1__.compilerOperationRequires)({\n canBeSkipped: false,\n dataProperties: ['keys', 'transactionContext'],\n environmentProperties: [\n 'sha256',\n 'secp256k1',\n 'unlockingScripts',\n 'sourceScriptIds',\n ],\n operation: (identifier, data, environment) => {\n const { keys, transactionContext } = data;\n const { secp256k1, sha256, unlockingScripts, sourceScriptIds, } = environment;\n const { privateKeys } = keys;\n const [variableId] = identifier.split('.');\n const privateKey = privateKeys === undefined ? undefined : privateKeys[variableId];\n if (privateKey === undefined) {\n return {\n error: `Identifier \"${identifier}\" refers to a Key, but a private key for \"${variableId}\" (or an existing signature) was not provided in the compilation data.`,\n recoverable: true,\n status: 'error',\n };\n }\n const result = (0,_compiler_operation_helpers__WEBPACK_IMPORTED_MODULE_1__.compilerOperationHelperGenerateCoveredBytecode)({\n data,\n environment,\n identifier,\n sourceScriptIds,\n unlockingScripts,\n });\n if ('error' in result) {\n return result;\n }\n return compilerOperationHelperComputeSignatureBCH({\n coveredBytecode: result,\n identifier,\n operationName,\n privateKey,\n sha256,\n sign: secp256k1[secp256k1Method],\n transactionContext,\n });\n },\n}));\nconst compilerOperationKeyEcdsaSignatureBCH = compilerOperationHelperKeySignatureBCH({\n operationName: 'signature',\n secp256k1Method: 'signMessageHashDER',\n});\nconst compilerOperationKeySchnorrSignatureBCH = compilerOperationHelperKeySignatureBCH({\n operationName: 'schnorr_signature',\n secp256k1Method: 'signMessageHashSchnorr',\n});\nconst compilerOperationHelperComputeDataSignatureBCH = ({ data, environment, identifier, operationName, privateKey, sha256, sign, }) => {\n const [, , scriptId, unknown] = identifier.split('.');\n if (unknown !== undefined) {\n return {\n error: `Unknown component in \"${identifier}\" – the fragment \"${unknown}\" is not recognized.`,\n status: 'error',\n };\n }\n if (scriptId === undefined) {\n return {\n error: `Invalid data signature identifier. Data signatures must be of the form: \"[variable_id].${operationName}.[target_script_id]\".`,\n status: 'error',\n };\n }\n const result = (0,_compiler_operation_helpers__WEBPACK_IMPORTED_MODULE_1__.compilerOperationHelperCompileScript)({\n data,\n environment,\n targetScriptId: scriptId,\n });\n if (result === false) {\n return {\n error: `Data signature tried to sign an unknown target script, \"${scriptId}\".`,\n status: 'error',\n };\n }\n if ('error' in result) {\n return result;\n }\n const digest = sha256.hash(result);\n return {\n bytecode: sign(privateKey, digest),\n signature: { message: result },\n status: 'success',\n };\n};\nconst compilerOperationHelperKeyDataSignatureBCH = ({ operationName, secp256k1Method, }) => (0,_compiler_operation_helpers__WEBPACK_IMPORTED_MODULE_1__.attemptCompilerOperations)([_compiler_operation_helpers__WEBPACK_IMPORTED_MODULE_1__.compilerOperationAttemptBytecodeResolution], (0,_compiler_operation_helpers__WEBPACK_IMPORTED_MODULE_1__.compilerOperationRequires)({\n canBeSkipped: false,\n dataProperties: ['keys'],\n environmentProperties: ['sha256', 'secp256k1'],\n operation: (identifier, data, environment) => {\n const { keys } = data;\n const { secp256k1, sha256 } = environment;\n const { privateKeys } = keys;\n const [variableId] = identifier.split('.');\n const privateKey = privateKeys === undefined ? undefined : privateKeys[variableId];\n if (privateKey === undefined) {\n return {\n error: `Identifier \"${identifier}\" refers to a Key, but a private key for \"${variableId}\" (or an existing signature) was not provided in the compilation data.`,\n recoverable: true,\n status: 'error',\n };\n }\n return compilerOperationHelperComputeDataSignatureBCH({\n data,\n environment,\n identifier,\n operationName,\n privateKey,\n sha256,\n sign: secp256k1[secp256k1Method],\n });\n },\n}));\nconst compilerOperationKeyEcdsaDataSignatureBCH = compilerOperationHelperKeyDataSignatureBCH({\n operationName: 'data_signature',\n secp256k1Method: 'signMessageHashDER',\n});\nconst compilerOperationKeySchnorrDataSignatureBCH = compilerOperationHelperKeyDataSignatureBCH({\n operationName: 'schnorr_data_signature',\n secp256k1Method: 'signMessageHashSchnorr',\n});\nconst compilerOperationHelperHdKeyDataSignatureBCH = ({ operationName, secp256k1Method, }) => (0,_compiler_operation_helpers__WEBPACK_IMPORTED_MODULE_1__.attemptCompilerOperations)([_compiler_operation_helpers__WEBPACK_IMPORTED_MODULE_1__.compilerOperationAttemptBytecodeResolution], (0,_compiler_operation_helpers__WEBPACK_IMPORTED_MODULE_1__.compilerOperationRequires)({\n canBeSkipped: false,\n dataProperties: ['hdKeys'],\n environmentProperties: [\n 'entityOwnership',\n 'ripemd160',\n 'secp256k1',\n 'sha256',\n 'sha512',\n 'variables',\n ],\n operation: (identifier, data, environment) => {\n const { hdKeys } = data;\n const { secp256k1, sha256 } = environment;\n const derivationResult = (0,_compiler_operation_helpers__WEBPACK_IMPORTED_MODULE_1__.compilerOperationHelperDeriveHdKeyPrivate)({\n environment,\n hdKeys,\n identifier,\n });\n if (derivationResult.status === 'error')\n return derivationResult;\n return compilerOperationHelperComputeDataSignatureBCH({\n data,\n environment,\n identifier,\n operationName,\n privateKey: derivationResult.bytecode,\n sha256,\n sign: secp256k1[secp256k1Method],\n });\n },\n}));\nconst compilerOperationHdKeyEcdsaDataSignatureBCH = compilerOperationHelperHdKeyDataSignatureBCH({\n operationName: 'data_signature',\n secp256k1Method: 'signMessageHashDER',\n});\nconst compilerOperationHdKeySchnorrDataSignatureBCH = compilerOperationHelperHdKeyDataSignatureBCH({\n operationName: 'schnorr_data_signature',\n secp256k1Method: 'signMessageHashSchnorr',\n});\nconst compilerOperationSigningSerializationFullBCH = (0,_compiler_operation_helpers__WEBPACK_IMPORTED_MODULE_1__.compilerOperationRequires)({\n canBeSkipped: false,\n dataProperties: ['transactionContext'],\n environmentProperties: ['sha256', 'sourceScriptIds', 'unlockingScripts'],\n operation: (identifier, data, environment) => {\n const [, algorithmOrComponent, unknownPart] = identifier.split('.');\n if (algorithmOrComponent === undefined) {\n return {\n error: `Invalid signing serialization operation. Include the desired component or algorithm, e.g. \"signing_serialization.version\".`,\n status: 'error',\n };\n }\n if (unknownPart !== undefined) {\n return {\n error: `Unknown component in \"${identifier}\" – the fragment \"${unknownPart}\" is not recognized.`,\n status: 'error',\n };\n }\n const signingSerializationType = getSigningSerializationType(algorithmOrComponent, 'full_');\n if (signingSerializationType === undefined) {\n return {\n error: `Unknown signing serialization algorithm, \"${algorithmOrComponent}\".`,\n status: 'error',\n };\n }\n const { sha256, sourceScriptIds, unlockingScripts } = environment;\n const result = (0,_compiler_operation_helpers__WEBPACK_IMPORTED_MODULE_1__.compilerOperationHelperGenerateCoveredBytecode)({\n data,\n environment,\n identifier,\n sourceScriptIds,\n unlockingScripts,\n });\n if ('error' in result) {\n return result;\n }\n const { transactionContext } = data;\n return {\n bytecode: (0,_vm_instruction_sets_common_signing_serialization__WEBPACK_IMPORTED_MODULE_0__.generateSigningSerializationBCH)({\n correspondingOutput: transactionContext.correspondingOutput,\n coveredBytecode: result,\n locktime: transactionContext.locktime,\n outpointIndex: transactionContext.outpointIndex,\n outpointTransactionHash: transactionContext.outpointTransactionHash,\n outputValue: transactionContext.outputValue,\n sequenceNumber: transactionContext.sequenceNumber,\n sha256,\n signingSerializationType,\n transactionOutpoints: transactionContext.transactionOutpoints,\n transactionOutputs: transactionContext.transactionOutputs,\n transactionSequenceNumbers: transactionContext.transactionSequenceNumbers,\n version: transactionContext.version,\n }),\n status: 'success',\n };\n },\n});\n/* eslint-disable camelcase, @typescript-eslint/naming-convention */\nconst compilerOperationsBCH = {\n ..._compiler_operations__WEBPACK_IMPORTED_MODULE_2__.compilerOperationsCommon,\n hdKey: {\n data_signature: compilerOperationHdKeyEcdsaDataSignatureBCH,\n public_key: _compiler_operations__WEBPACK_IMPORTED_MODULE_2__.compilerOperationsCommon.hdKey.public_key,\n schnorr_data_signature: compilerOperationHdKeySchnorrDataSignatureBCH,\n schnorr_signature: compilerOperationHdKeySchnorrSignatureBCH,\n signature: compilerOperationHdKeyEcdsaSignatureBCH,\n },\n key: {\n data_signature: compilerOperationKeyEcdsaDataSignatureBCH,\n public_key: _compiler_operations__WEBPACK_IMPORTED_MODULE_2__.compilerOperationsCommon.key.public_key,\n schnorr_data_signature: compilerOperationKeySchnorrDataSignatureBCH,\n schnorr_signature: compilerOperationKeySchnorrSignatureBCH,\n signature: compilerOperationKeyEcdsaSignatureBCH,\n },\n signingSerialization: {\n ..._compiler_operations__WEBPACK_IMPORTED_MODULE_2__.compilerOperationsCommon.signingSerialization,\n full_all_outputs: compilerOperationSigningSerializationFullBCH,\n full_all_outputs_single_input: compilerOperationSigningSerializationFullBCH,\n full_corresponding_output: compilerOperationSigningSerializationFullBCH,\n full_corresponding_output_single_input: compilerOperationSigningSerializationFullBCH,\n full_no_outputs: compilerOperationSigningSerializationFullBCH,\n full_no_outputs_single_input: compilerOperationSigningSerializationFullBCH,\n },\n};\n/**\n * Create a compiler using the default BCH environment.\n *\n * Internally instantiates the necessary crypto and VM implementations – use\n * `createCompiler` for more control.\n *\n * @param scriptsAndOverrides - a compilation environment from which properties\n * will be used to override properties of the default BCH environment – must\n * include the `scripts` property\n */\nconst createCompilerBCH = async (scriptsAndOverrides) => {\n const [sha1, sha256, sha512, ripemd160, secp256k1] = await Promise.all([\n (0,_crypto_crypto__WEBPACK_IMPORTED_MODULE_3__.instantiateSha1)(),\n (0,_crypto_crypto__WEBPACK_IMPORTED_MODULE_4__.instantiateSha256)(),\n (0,_crypto_crypto__WEBPACK_IMPORTED_MODULE_5__.instantiateSha512)(),\n (0,_crypto_crypto__WEBPACK_IMPORTED_MODULE_6__.instantiateRipemd160)(),\n (0,_crypto_crypto__WEBPACK_IMPORTED_MODULE_7__.instantiateSecp256k1)(),\n ]);\n const vm = (0,_vm_virtual_machine__WEBPACK_IMPORTED_MODULE_8__.createAuthenticationVirtualMachine)((0,_vm_instruction_sets_instruction_sets__WEBPACK_IMPORTED_MODULE_9__.createInstructionSetBCH)({\n flags: (0,_vm_instruction_sets_instruction_sets__WEBPACK_IMPORTED_MODULE_9__.getFlagsForInstructionSetBCH)(_vm_instruction_sets_instruction_sets__WEBPACK_IMPORTED_MODULE_9__.instructionSetBCHCurrentStrict),\n ripemd160,\n secp256k1,\n sha1,\n sha256,\n }));\n return (0,_compiler__WEBPACK_IMPORTED_MODULE_10__.createCompiler)({\n ...{\n createAuthenticationProgram: _compiler__WEBPACK_IMPORTED_MODULE_10__.createAuthenticationProgramEvaluationCommon,\n opcodes: (0,_vm_instruction_sets_instruction_sets__WEBPACK_IMPORTED_MODULE_11__.generateBytecodeMap)(_vm_instruction_sets_instruction_sets__WEBPACK_IMPORTED_MODULE_12__.OpcodesBCH),\n operations: compilerOperationsBCH,\n ripemd160,\n secp256k1,\n sha256,\n sha512,\n vm,\n },\n ...scriptsAndOverrides,\n });\n};\n/**\n * Create a BCH `Compiler` from an `AuthenticationTemplate` and an optional set\n * of overrides.\n * @param template - the `AuthenticationTemplate` from which to create the BCH\n * compiler\n * @param overrides - a compilation environment from which properties will be\n * used to override properties of the default BCH environment\n */\nconst authenticationTemplateToCompilerBCH = async (template, overrides) => createCompilerBCH({\n ...overrides,\n ...(0,_compiler__WEBPACK_IMPORTED_MODULE_10__.authenticationTemplateToCompilationEnvironment)(template),\n});\n//# sourceMappingURL=compiler-bch.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/template/compiler-bch/compiler-bch.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/template/compiler-defaults.js": +/*!**************************************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/template/compiler-defaults.js ***! + \**************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CompilerDefaults: () => (/* binding */ CompilerDefaults)\n/* harmony export */ });\nvar CompilerDefaults;\n(function (CompilerDefaults) {\n /**\n * The `addressIndex` used by default scenarios.\n */\n CompilerDefaults[CompilerDefaults[\"defaultScenarioAddressIndex\"] = 0] = \"defaultScenarioAddressIndex\";\n /**\n *\n * The value of `currentBlockHeight` in the default authentication template\n * scenario. This is the height of the second mined block after the genesis\n * block: `000000006a625f06636b8bb6ac7b960a8d03705d1ace08b1a19da3fdcc99ddbd`.\n *\n * This default value was chosen to be low enough to simplify the debugging of\n * block height offsets while remaining differentiated from `0` and `1` which\n * are used both as boolean return values and for control flow.\n */\n CompilerDefaults[CompilerDefaults[\"defaultScenarioCurrentBlockHeight\"] = 2] = \"defaultScenarioCurrentBlockHeight\";\n /**\n * The value of `currentBlockTime` in the default authentication template\n * scenario. This is the Median Time-Past block time (BIP113) of block `2`\n * (the block used in `defaultScenarioCurrentBlockHeight`).\n */\n CompilerDefaults[CompilerDefaults[\"defaultScenarioCurrentBlockTime\"] = 1231469665] = \"defaultScenarioCurrentBlockTime\";\n /**\n * The default `outpointIndex` of inputs in scenarios.\n */\n CompilerDefaults[CompilerDefaults[\"defaultScenarioInputOutpointIndex\"] = 0] = \"defaultScenarioInputOutpointIndex\";\n /**\n * The default `outpointTransactionHash` of inputs in scenarios.\n */\n CompilerDefaults[\"defaultScenarioInputOutpointTransactionHash\"] = \"0000000000000000000000000000000000000000000000000000000000000000\";\n /**\n * The default `sequenceNumber` of inputs in scenarios.\n */\n CompilerDefaults[CompilerDefaults[\"defaultScenarioInputSequenceNumber\"] = 0] = \"defaultScenarioInputSequenceNumber\";\n /**\n * The default `unlockingBytecode` of untested inputs in scenarios.\n */\n CompilerDefaults[\"defaultScenarioInputUnlockingBytecodeHex\"] = \"\";\n /**\n * The default `satoshis` of outputs in scenarios.\n */\n CompilerDefaults[CompilerDefaults[\"defaultScenarioOutputSatoshis\"] = 0] = \"defaultScenarioOutputSatoshis\";\n /**\n * The hexadecimal-encoded value of the `lockingBytecode` in the single\n * default output (`transaction.outputs`) of the default authentication\n * template scenario.\n */\n CompilerDefaults[\"defaultScenarioTransactionOutputsLockingBytecodeHex\"] = \"\";\n /**\n * The value of `transaction.locktime` in the default authentication template\n * scenario.\n */\n CompilerDefaults[CompilerDefaults[\"defaultScenarioTransactionLocktime\"] = 0] = \"defaultScenarioTransactionLocktime\";\n /**\n * The value of `transaction.version` in the default authentication template\n * scenario. Transaction version `2` enables `OP_CHECKSEQUENCEVERIFY` as\n * described in BIP68, BIP112, and BIP113.\n */\n CompilerDefaults[CompilerDefaults[\"defaultScenarioTransactionVersion\"] = 2] = \"defaultScenarioTransactionVersion\";\n /**\n * The default value of the hypothetical UTXO being spent by the input under\n * test in a scenario.\n */\n CompilerDefaults[CompilerDefaults[\"defaultScenarioValue\"] = 0] = \"defaultScenarioValue\";\n /**\n * If unset, each `HdKey` uses this `addressOffset`.\n */\n CompilerDefaults[CompilerDefaults[\"hdKeyAddressOffset\"] = 0] = \"hdKeyAddressOffset\";\n /**\n * If unset, each `HdKey` uses this `hdPublicKeyDerivationPath`.\n */\n CompilerDefaults[\"hdKeyHdPublicKeyDerivationPath\"] = \"m\";\n /**\n * If unset, each `HdKey` uses this `privateDerivationPath`.\n */\n CompilerDefaults[\"hdKeyPrivateDerivationPath\"] = \"m/i\";\n /**\n * The prefix used to refer to other scenario bytecode scripts from within a\n * bytecode script. See `AuthenticationTemplateScenarioData.bytecode` for\n * details.\n */\n CompilerDefaults[\"scenarioBytecodeScriptPrefix\"] = \"_scenario_\";\n /**\n * The prefix used to identify the `check` script from a virtualized\n * `AuthenticationTemplateScriptTest`. For details, see\n * `authenticationTemplateToCompilationEnvironmentVirtualizedTests`.\n */\n CompilerDefaults[\"virtualizedTestCheckScriptPrefix\"] = \"__virtualized_test_check_\";\n /**\n * The prefix used to identify the concatenated tested and `check` script from\n * a virtualized `AuthenticationTemplateScriptTest`. For details, see\n * `authenticationTemplateToCompilationEnvironmentVirtualizedTests`.\n */\n CompilerDefaults[\"virtualizedTestLockingScriptPrefix\"] = \"__virtualized_test_lock_\";\n /**\n * The prefix used to identify the `setup` script from a virtualized\n * `AuthenticationTemplateScriptTest`. For details, see\n * `authenticationTemplateToCompilationEnvironmentVirtualizedTests`.\n */\n CompilerDefaults[\"virtualizedTestUnlockingScriptPrefix\"] = \"__virtualized_test_unlock_\";\n})(CompilerDefaults || (CompilerDefaults = {}));\n//# sourceMappingURL=compiler-defaults.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/template/compiler-defaults.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/template/compiler-operation-helpers.js": +/*!***********************************************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/template/compiler-operation-helpers.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ attemptCompilerOperations: () => (/* binding */ attemptCompilerOperations),\n/* harmony export */ compilerOperationAttemptBytecodeResolution: () => (/* binding */ compilerOperationAttemptBytecodeResolution),\n/* harmony export */ compilerOperationHelperAddressIndex: () => (/* binding */ compilerOperationHelperAddressIndex),\n/* harmony export */ compilerOperationHelperCompileScript: () => (/* binding */ compilerOperationHelperCompileScript),\n/* harmony export */ compilerOperationHelperDeriveHdKeyPrivate: () => (/* binding */ compilerOperationHelperDeriveHdKeyPrivate),\n/* harmony export */ compilerOperationHelperDeriveHdPrivateNode: () => (/* binding */ compilerOperationHelperDeriveHdPrivateNode),\n/* harmony export */ compilerOperationHelperGenerateCoveredBytecode: () => (/* binding */ compilerOperationHelperGenerateCoveredBytecode),\n/* harmony export */ compilerOperationHelperUnknownEntity: () => (/* binding */ compilerOperationHelperUnknownEntity),\n/* harmony export */ compilerOperationRequires: () => (/* binding */ compilerOperationRequires)\n/* harmony export */ });\n/* harmony import */ var _key_hd_key__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../key/hd-key */ \"./node_modules/@bitauth/libauth/build/module/lib/key/hd-key.js\");\n/* harmony import */ var _compiler_defaults__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./compiler-defaults */ \"./node_modules/@bitauth/libauth/build/module/lib/template/compiler-defaults.js\");\n/* harmony import */ var _language_resolve__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./language/resolve */ \"./node_modules/@bitauth/libauth/build/module/lib/template/language/resolve.js\");\n\n\n\n/**\n * Attempt a series of compiler operations, skipping to the next operation if\n * the current operation returns a `CompilerOperationSkip` (indicating it failed\n * and can be skipped). The `finalOperation` may not be skipped, and must either\n * return `CompilerOperationSuccess` or `CompilerOperationError`.\n *\n * @param operations - an array of skippable operations to try\n * @param finalOperation - a final, un-skippable operation\n */\nconst attemptCompilerOperations = (operations, finalOperation) => (identifier, data, environment) => {\n // eslint-disable-next-line functional/no-loop-statement\n for (const operation of operations) {\n const result = operation(identifier, data, environment);\n if (result.status !== 'skip')\n return result;\n }\n return finalOperation(identifier, data, environment);\n};\n/**\n * Modify a compiler operation to verify that certain properties exist in the\n * `CompilationData` and `CompilationEnvironment` before executing the provided\n * operation. If the properties don't exist, an error message is returned.\n *\n * This is useful for eliminating repetitive existence checks.\n *\n * @param canBeSkipped - if `true`, the accepted operation may return `false`,\n * and any missing properties will cause the returned operation to return\n * `false` (meaning the operation should be skipped)\n * @param dataProperties - an array of the top-level properties required in the\n * `CompilationData`\n * @param environmentProperties - an array of the top-level properties required\n * in the `CompilationEnvironment`\n * @param operation - the operation to run if all required properties exist\n */\nconst compilerOperationRequires = ({ canBeSkipped, dataProperties, environmentProperties, operation, }) => (identifier, data, environment) => {\n // eslint-disable-next-line functional/no-loop-statement\n for (const property of environmentProperties) {\n if (environment[property] === undefined)\n return (canBeSkipped\n ? { status: 'skip' }\n : {\n error: `Cannot resolve \"${identifier}\" – the \"${property}\" property was not provided in the compilation environment.`,\n status: 'error',\n });\n }\n // eslint-disable-next-line functional/no-loop-statement\n for (const property of dataProperties) {\n if (data[property] === undefined)\n return (canBeSkipped\n ? { status: 'skip' }\n : {\n error: `Cannot resolve \"${identifier}\" – the \"${property}\" property was not provided in the compilation data.`,\n status: 'error',\n });\n }\n return operation(identifier, data, environment);\n};\nconst compilerOperationAttemptBytecodeResolution = compilerOperationRequires({\n canBeSkipped: true,\n dataProperties: ['bytecode'],\n environmentProperties: [],\n operation: (identifier, data) => {\n const { bytecode } = data;\n if (bytecode[identifier] !== undefined) {\n return { bytecode: bytecode[identifier], status: 'success' };\n }\n return { status: 'skip' };\n },\n});\n// eslint-disable-next-line complexity\nconst compilerOperationHelperDeriveHdPrivateNode = ({ addressIndex, entityId, entityHdPrivateKey, environment, hdKey, identifier, }) => {\n var _a, _b;\n const addressOffset = (_a = hdKey.addressOffset) !== null && _a !== void 0 ? _a : _compiler_defaults__WEBPACK_IMPORTED_MODULE_0__.CompilerDefaults.hdKeyAddressOffset;\n const privateDerivationPath = (_b = hdKey.privateDerivationPath) !== null && _b !== void 0 ? _b : _compiler_defaults__WEBPACK_IMPORTED_MODULE_0__.CompilerDefaults.hdKeyPrivateDerivationPath;\n const i = addressIndex + addressOffset;\n const validPrivatePathWithIndex = /^m(?:\\/(?:[0-9]+|i)'?)*$/u;\n if (!validPrivatePathWithIndex.test(privateDerivationPath)) {\n return {\n error: `Could not generate ${identifier} – the path \"${privateDerivationPath}\" is not a valid \"privateDerivationPath\".`,\n status: 'error',\n };\n }\n const instancePath = privateDerivationPath.replace('i', i.toString());\n const masterContents = (0,_key_hd_key__WEBPACK_IMPORTED_MODULE_1__.decodeHdPrivateKey)(environment, entityHdPrivateKey);\n if (typeof masterContents === 'string') {\n return {\n error: `Could not generate ${identifier} – the HD private key provided for ${entityId} could not be decoded: ${masterContents}`,\n status: 'error',\n };\n }\n const instanceNode = (0,_key_hd_key__WEBPACK_IMPORTED_MODULE_1__.deriveHdPath)(environment, masterContents.node, instancePath);\n if (typeof instanceNode === 'string') {\n return {\n error: `Could not generate ${identifier} – the path \"${instancePath}\" could not be derived for entity \"${entityId}\": ${instanceNode}`,\n status: 'error',\n };\n }\n return {\n bytecode: instanceNode.privateKey,\n status: 'success',\n };\n};\nconst compilerOperationHelperUnknownEntity = (identifier, variableId) => ({\n error: `Identifier \"${identifier}\" refers to an HdKey, but the \"entityOwnership\" for \"${variableId}\" is not available in this compilation environment.`,\n status: 'error',\n});\nconst compilerOperationHelperAddressIndex = (identifier) => ({\n error: `Identifier \"${identifier}\" refers to an HdKey, but \"hdKeys.addressIndex\" was not provided in the compilation data.`,\n status: 'error',\n});\nconst compilerOperationHelperDeriveHdKeyPrivate = ({ environment, hdKeys, identifier, }) => {\n const { addressIndex, hdPrivateKeys } = hdKeys;\n const [variableId] = identifier.split('.');\n const entityId = environment.entityOwnership[variableId];\n if (entityId === undefined) {\n return compilerOperationHelperUnknownEntity(identifier, variableId);\n }\n if (addressIndex === undefined) {\n return compilerOperationHelperAddressIndex(identifier);\n }\n const entityHdPrivateKey = hdPrivateKeys === undefined ? undefined : hdPrivateKeys[entityId];\n if (entityHdPrivateKey === undefined) {\n return {\n error: `Identifier \"${identifier}\" refers to an HdKey owned by \"${entityId}\", but an HD private key for this entity (or an existing signature) was not provided in the compilation data.`,\n recoverable: true,\n status: 'error',\n };\n }\n /**\n * Guaranteed to be an `HdKey` if this method is reached in the compiler.\n */\n const hdKey = environment.variables[variableId];\n return compilerOperationHelperDeriveHdPrivateNode({\n addressIndex,\n entityHdPrivateKey,\n entityId,\n environment,\n hdKey,\n identifier,\n });\n};\n/**\n * Returns `false` if the target script ID doesn't exist in the compilation\n * environment (allows for the caller to generate the error message).\n *\n * If the compilation produced errors, returns a `CompilerOperationErrorFatal`.\n *\n * If the compilation was successful, returns the compiled bytecode as a\n * `Uint8Array`.\n */\nconst compilerOperationHelperCompileScript = ({ targetScriptId, data, environment, }) => {\n const signingTarget = environment.scripts[targetScriptId];\n const compiledTarget = (0,_language_resolve__WEBPACK_IMPORTED_MODULE_2__.resolveScriptIdentifier)({\n data,\n environment,\n identifier: targetScriptId,\n });\n if (signingTarget === undefined || compiledTarget === false) {\n return false;\n }\n if (typeof compiledTarget === 'string') {\n return {\n error: compiledTarget,\n status: 'error',\n };\n }\n return compiledTarget.bytecode;\n};\n/**\n * Returns either the properly generated `coveredBytecode` or a\n * `CompilerOperationErrorFatal`.\n */\nconst compilerOperationHelperGenerateCoveredBytecode = ({ data, environment, identifier, sourceScriptIds, unlockingScripts, }) => {\n const currentScriptId = sourceScriptIds[sourceScriptIds.length - 1];\n if (currentScriptId === undefined) {\n return {\n error: `Identifier \"${identifier}\" requires a signing serialization, but \"coveredBytecode\" cannot be determined because the compilation environment's \"sourceScriptIds\" is empty.`,\n status: 'error',\n };\n }\n const targetLockingScriptId = unlockingScripts[currentScriptId];\n if (targetLockingScriptId === undefined) {\n return {\n error: `Identifier \"${identifier}\" requires a signing serialization, but \"coveredBytecode\" cannot be determined because \"${currentScriptId}\" is not present in the compilation environment \"unlockingScripts\".`,\n status: 'error',\n };\n }\n const result = compilerOperationHelperCompileScript({\n data,\n environment,\n targetScriptId: targetLockingScriptId,\n });\n if (result === false) {\n return {\n error: `Identifier \"${identifier}\" requires a signing serialization which covers an unknown locking script, \"${targetLockingScriptId}\".`,\n status: 'error',\n };\n }\n return result;\n};\n//# sourceMappingURL=compiler-operation-helpers.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/template/compiler-operation-helpers.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/template/compiler-operations.js": +/*!****************************************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/template/compiler-operations.js ***! + \****************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ compilerOperationAddressData: () => (/* binding */ compilerOperationAddressData),\n/* harmony export */ compilerOperationCurrentBlockHeight: () => (/* binding */ compilerOperationCurrentBlockHeight),\n/* harmony export */ compilerOperationCurrentBlockTime: () => (/* binding */ compilerOperationCurrentBlockTime),\n/* harmony export */ compilerOperationHdKeyPublicKeyCommon: () => (/* binding */ compilerOperationHdKeyPublicKeyCommon),\n/* harmony export */ compilerOperationKeyPublicKeyCommon: () => (/* binding */ compilerOperationKeyPublicKeyCommon),\n/* harmony export */ compilerOperationSigningSerializationCorrespondingOutput: () => (/* binding */ compilerOperationSigningSerializationCorrespondingOutput),\n/* harmony export */ compilerOperationSigningSerializationCorrespondingOutputHash: () => (/* binding */ compilerOperationSigningSerializationCorrespondingOutputHash),\n/* harmony export */ compilerOperationSigningSerializationCoveredBytecode: () => (/* binding */ compilerOperationSigningSerializationCoveredBytecode),\n/* harmony export */ compilerOperationSigningSerializationCoveredBytecodeLength: () => (/* binding */ compilerOperationSigningSerializationCoveredBytecodeLength),\n/* harmony export */ compilerOperationSigningSerializationLocktime: () => (/* binding */ compilerOperationSigningSerializationLocktime),\n/* harmony export */ compilerOperationSigningSerializationOutpointIndex: () => (/* binding */ compilerOperationSigningSerializationOutpointIndex),\n/* harmony export */ compilerOperationSigningSerializationOutpointTransactionHash: () => (/* binding */ compilerOperationSigningSerializationOutpointTransactionHash),\n/* harmony export */ compilerOperationSigningSerializationOutputValue: () => (/* binding */ compilerOperationSigningSerializationOutputValue),\n/* harmony export */ compilerOperationSigningSerializationSequenceNumber: () => (/* binding */ compilerOperationSigningSerializationSequenceNumber),\n/* harmony export */ compilerOperationSigningSerializationTransactionOutpoints: () => (/* binding */ compilerOperationSigningSerializationTransactionOutpoints),\n/* harmony export */ compilerOperationSigningSerializationTransactionOutpointsHash: () => (/* binding */ compilerOperationSigningSerializationTransactionOutpointsHash),\n/* harmony export */ compilerOperationSigningSerializationTransactionOutputs: () => (/* binding */ compilerOperationSigningSerializationTransactionOutputs),\n/* harmony export */ compilerOperationSigningSerializationTransactionOutputsHash: () => (/* binding */ compilerOperationSigningSerializationTransactionOutputsHash),\n/* harmony export */ compilerOperationSigningSerializationTransactionSequenceNumbers: () => (/* binding */ compilerOperationSigningSerializationTransactionSequenceNumbers),\n/* harmony export */ compilerOperationSigningSerializationTransactionSequenceNumbersHash: () => (/* binding */ compilerOperationSigningSerializationTransactionSequenceNumbersHash),\n/* harmony export */ compilerOperationSigningSerializationVersion: () => (/* binding */ compilerOperationSigningSerializationVersion),\n/* harmony export */ compilerOperationWalletData: () => (/* binding */ compilerOperationWalletData),\n/* harmony export */ compilerOperationsCommon: () => (/* binding */ compilerOperationsCommon)\n/* harmony export */ });\n/* harmony import */ var _format_numbers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../format/numbers */ \"./node_modules/@bitauth/libauth/build/module/lib/format/numbers.js\");\n/* harmony import */ var _key_hd_key__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../key/hd-key */ \"./node_modules/@bitauth/libauth/build/module/lib/key/hd-key.js\");\n/* harmony import */ var _vm_instruction_sets_instruction_sets__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../vm/instruction-sets/instruction-sets */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/types.js\");\n/* harmony import */ var _compiler_defaults__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./compiler-defaults */ \"./node_modules/@bitauth/libauth/build/module/lib/template/compiler-defaults.js\");\n/* harmony import */ var _compiler_operation_helpers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./compiler-operation-helpers */ \"./node_modules/@bitauth/libauth/build/module/lib/template/compiler-operation-helpers.js\");\n\n\n\n\n\nconst compilerOperationAddressData = (0,_compiler_operation_helpers__WEBPACK_IMPORTED_MODULE_0__.compilerOperationRequires)({\n canBeSkipped: false,\n dataProperties: ['bytecode'],\n environmentProperties: [],\n operation: (identifier, data) => {\n const { bytecode } = data;\n if (identifier in bytecode) {\n return { bytecode: bytecode[identifier], status: 'success' };\n }\n return {\n error: `Identifier \"${identifier}\" refers to an AddressData, but \"${identifier}\" was not provided in the CompilationData \"bytecode\".`,\n recoverable: true,\n status: 'error',\n };\n },\n});\nconst compilerOperationWalletData = (0,_compiler_operation_helpers__WEBPACK_IMPORTED_MODULE_0__.compilerOperationRequires)({\n canBeSkipped: false,\n dataProperties: ['bytecode'],\n environmentProperties: [],\n operation: (identifier, data) => {\n const { bytecode } = data;\n if (identifier in bytecode) {\n return { bytecode: bytecode[identifier], status: 'success' };\n }\n return {\n error: `Identifier \"${identifier}\" refers to a WalletData, but \"${identifier}\" was not provided in the CompilationData \"bytecode\".`,\n recoverable: true,\n status: 'error',\n };\n },\n});\nconst compilerOperationCurrentBlockTime = (0,_compiler_operation_helpers__WEBPACK_IMPORTED_MODULE_0__.compilerOperationRequires)({\n canBeSkipped: false,\n dataProperties: ['currentBlockTime'],\n environmentProperties: [],\n operation: (_, data) => {\n return {\n bytecode: (0,_format_numbers__WEBPACK_IMPORTED_MODULE_1__.numberToBinUint32LE)(data.currentBlockTime),\n status: 'success',\n };\n },\n});\nconst compilerOperationCurrentBlockHeight = (0,_compiler_operation_helpers__WEBPACK_IMPORTED_MODULE_0__.compilerOperationRequires)({\n canBeSkipped: false,\n dataProperties: ['currentBlockHeight'],\n environmentProperties: [],\n operation: (_, data) => ({\n bytecode: (0,_vm_instruction_sets_instruction_sets__WEBPACK_IMPORTED_MODULE_2__.bigIntToScriptNumber)(BigInt(data.currentBlockHeight)),\n status: 'success',\n }),\n});\nconst compilerOperationSigningSerializationCorrespondingOutput = (0,_compiler_operation_helpers__WEBPACK_IMPORTED_MODULE_0__.compilerOperationRequires)({\n canBeSkipped: false,\n dataProperties: ['transactionContext'],\n environmentProperties: [],\n operation: (_, data) => data.transactionContext.correspondingOutput === undefined\n ? { bytecode: Uint8Array.of(), status: 'success' }\n : {\n bytecode: data.transactionContext.correspondingOutput,\n status: 'success',\n },\n});\nconst compilerOperationSigningSerializationCorrespondingOutputHash = (0,_compiler_operation_helpers__WEBPACK_IMPORTED_MODULE_0__.compilerOperationRequires)({\n canBeSkipped: false,\n dataProperties: ['transactionContext'],\n environmentProperties: ['sha256'],\n operation: (_, data, environment) => data.transactionContext.correspondingOutput === undefined\n ? { bytecode: Uint8Array.of(), status: 'success' }\n : {\n bytecode: environment.sha256.hash(environment.sha256.hash(data.transactionContext.correspondingOutput)),\n status: 'success',\n },\n});\nconst compilerOperationHelperSigningSerializationCoveredBytecode = (returnLength) => (0,_compiler_operation_helpers__WEBPACK_IMPORTED_MODULE_0__.compilerOperationRequires)({\n canBeSkipped: false,\n dataProperties: ['transactionContext'],\n environmentProperties: ['sourceScriptIds', 'unlockingScripts'],\n operation: (identifier, data, environment) => {\n const { unlockingScripts, sourceScriptIds } = environment;\n const result = (0,_compiler_operation_helpers__WEBPACK_IMPORTED_MODULE_0__.compilerOperationHelperGenerateCoveredBytecode)({\n data,\n environment,\n identifier,\n sourceScriptIds,\n unlockingScripts,\n });\n if ('error' in result) {\n return result;\n }\n return {\n bytecode: returnLength\n ? (0,_format_numbers__WEBPACK_IMPORTED_MODULE_1__.bigIntToBitcoinVarInt)(BigInt(result.length))\n : result,\n status: 'success',\n };\n },\n});\nconst compilerOperationSigningSerializationCoveredBytecode = compilerOperationHelperSigningSerializationCoveredBytecode(false);\nconst compilerOperationSigningSerializationCoveredBytecodeLength = compilerOperationHelperSigningSerializationCoveredBytecode(true);\nconst compilerOperationSigningSerializationLocktime = (0,_compiler_operation_helpers__WEBPACK_IMPORTED_MODULE_0__.compilerOperationRequires)({\n canBeSkipped: false,\n dataProperties: ['transactionContext'],\n environmentProperties: [],\n operation: (_, data) => ({\n bytecode: (0,_format_numbers__WEBPACK_IMPORTED_MODULE_1__.numberToBinUint32LE)(data.transactionContext.locktime),\n status: 'success',\n }),\n});\nconst compilerOperationSigningSerializationOutpointIndex = (0,_compiler_operation_helpers__WEBPACK_IMPORTED_MODULE_0__.compilerOperationRequires)({\n canBeSkipped: false,\n dataProperties: ['transactionContext'],\n environmentProperties: [],\n operation: (_, data) => ({\n bytecode: (0,_format_numbers__WEBPACK_IMPORTED_MODULE_1__.numberToBinUint32LE)(data.transactionContext.outpointIndex),\n status: 'success',\n }),\n});\nconst compilerOperationSigningSerializationOutpointTransactionHash = (0,_compiler_operation_helpers__WEBPACK_IMPORTED_MODULE_0__.compilerOperationRequires)({\n canBeSkipped: false,\n dataProperties: ['transactionContext'],\n environmentProperties: [],\n operation: (_, data) => ({\n bytecode: data.transactionContext.outpointTransactionHash,\n status: 'success',\n }),\n});\nconst compilerOperationSigningSerializationOutputValue = (0,_compiler_operation_helpers__WEBPACK_IMPORTED_MODULE_0__.compilerOperationRequires)({\n canBeSkipped: false,\n dataProperties: ['transactionContext'],\n environmentProperties: [],\n operation: (_, data) => ({\n bytecode: data.transactionContext.outputValue,\n status: 'success',\n }),\n});\nconst compilerOperationSigningSerializationSequenceNumber = (0,_compiler_operation_helpers__WEBPACK_IMPORTED_MODULE_0__.compilerOperationRequires)({\n canBeSkipped: false,\n dataProperties: ['transactionContext'],\n environmentProperties: [],\n operation: (_, data) => ({\n bytecode: (0,_format_numbers__WEBPACK_IMPORTED_MODULE_1__.numberToBinUint32LE)(data.transactionContext.sequenceNumber),\n status: 'success',\n }),\n});\nconst compilerOperationSigningSerializationTransactionOutpoints = (0,_compiler_operation_helpers__WEBPACK_IMPORTED_MODULE_0__.compilerOperationRequires)({\n canBeSkipped: false,\n dataProperties: ['transactionContext'],\n environmentProperties: [],\n operation: (_, data) => ({\n bytecode: data.transactionContext.transactionOutpoints,\n status: 'success',\n }),\n});\nconst compilerOperationSigningSerializationTransactionOutpointsHash = (0,_compiler_operation_helpers__WEBPACK_IMPORTED_MODULE_0__.compilerOperationRequires)({\n canBeSkipped: false,\n dataProperties: ['transactionContext'],\n environmentProperties: ['sha256'],\n operation: (_, data, environment) => ({\n bytecode: environment.sha256.hash(environment.sha256.hash(data.transactionContext.transactionOutpoints)),\n status: 'success',\n }),\n});\nconst compilerOperationSigningSerializationTransactionOutputs = (0,_compiler_operation_helpers__WEBPACK_IMPORTED_MODULE_0__.compilerOperationRequires)({\n canBeSkipped: false,\n dataProperties: ['transactionContext'],\n environmentProperties: [],\n operation: (_, data) => ({\n bytecode: data.transactionContext.transactionOutputs,\n status: 'success',\n }),\n});\nconst compilerOperationSigningSerializationTransactionOutputsHash = (0,_compiler_operation_helpers__WEBPACK_IMPORTED_MODULE_0__.compilerOperationRequires)({\n canBeSkipped: false,\n dataProperties: ['transactionContext'],\n environmentProperties: ['sha256'],\n operation: (_, data, environment) => ({\n bytecode: environment.sha256.hash(environment.sha256.hash(data.transactionContext.transactionOutputs)),\n status: 'success',\n }),\n});\nconst compilerOperationSigningSerializationTransactionSequenceNumbers = (0,_compiler_operation_helpers__WEBPACK_IMPORTED_MODULE_0__.compilerOperationRequires)({\n canBeSkipped: false,\n dataProperties: ['transactionContext'],\n environmentProperties: [],\n operation: (_, data) => ({\n bytecode: data.transactionContext.transactionSequenceNumbers,\n status: 'success',\n }),\n});\nconst compilerOperationSigningSerializationTransactionSequenceNumbersHash = (0,_compiler_operation_helpers__WEBPACK_IMPORTED_MODULE_0__.compilerOperationRequires)({\n canBeSkipped: false,\n dataProperties: ['transactionContext'],\n environmentProperties: ['sha256'],\n operation: (_, data, environment) => ({\n bytecode: environment.sha256.hash(environment.sha256.hash(data.transactionContext.transactionSequenceNumbers)),\n status: 'success',\n }),\n});\nconst compilerOperationSigningSerializationVersion = (0,_compiler_operation_helpers__WEBPACK_IMPORTED_MODULE_0__.compilerOperationRequires)({\n canBeSkipped: false,\n dataProperties: ['transactionContext'],\n environmentProperties: [],\n operation: (_, data) => ({\n bytecode: (0,_format_numbers__WEBPACK_IMPORTED_MODULE_1__.numberToBinUint32LE)(data.transactionContext.version),\n status: 'success',\n }),\n});\nconst compilerOperationKeyPublicKeyCommon = (0,_compiler_operation_helpers__WEBPACK_IMPORTED_MODULE_0__.attemptCompilerOperations)([_compiler_operation_helpers__WEBPACK_IMPORTED_MODULE_0__.compilerOperationAttemptBytecodeResolution], (0,_compiler_operation_helpers__WEBPACK_IMPORTED_MODULE_0__.compilerOperationRequires)({\n canBeSkipped: false,\n dataProperties: ['keys'],\n environmentProperties: ['secp256k1'],\n operation: (identifier, data, environment) => {\n const { keys } = data;\n const { secp256k1 } = environment;\n const { privateKeys } = keys;\n const [variableId] = identifier.split('.');\n if (privateKeys !== undefined &&\n privateKeys[variableId] !== undefined) {\n return {\n bytecode: secp256k1.derivePublicKeyCompressed(privateKeys[variableId]),\n status: 'success',\n };\n }\n return {\n error: `Identifier \"${identifier}\" refers to a public key, but no public or private keys for \"${variableId}\" were provided in the compilation data.`,\n recoverable: true,\n status: 'error',\n };\n },\n}));\nconst compilerOperationHdKeyPublicKeyCommon = (0,_compiler_operation_helpers__WEBPACK_IMPORTED_MODULE_0__.attemptCompilerOperations)([_compiler_operation_helpers__WEBPACK_IMPORTED_MODULE_0__.compilerOperationAttemptBytecodeResolution], (0,_compiler_operation_helpers__WEBPACK_IMPORTED_MODULE_0__.compilerOperationRequires)({\n canBeSkipped: false,\n dataProperties: ['hdKeys'],\n environmentProperties: [\n 'entityOwnership',\n 'ripemd160',\n 'secp256k1',\n 'sha256',\n 'sha512',\n 'variables',\n ],\n operation: \n // eslint-disable-next-line complexity\n (identifier, data, environment) => {\n var _a, _b, _c;\n const { hdKeys } = data;\n const { hdPrivateKeys, addressIndex, hdPublicKeys } = hdKeys;\n const [variableId] = identifier.split('.');\n const entityId = environment.entityOwnership[variableId];\n if (entityId === undefined) {\n return (0,_compiler_operation_helpers__WEBPACK_IMPORTED_MODULE_0__.compilerOperationHelperUnknownEntity)(identifier, variableId);\n }\n if (addressIndex === undefined) {\n return (0,_compiler_operation_helpers__WEBPACK_IMPORTED_MODULE_0__.compilerOperationHelperAddressIndex)(identifier);\n }\n const entityHdPrivateKey = hdPrivateKeys === undefined ? undefined : hdPrivateKeys[entityId];\n /**\n * Guaranteed to be an `HdKey` if this method is reached in the compiler.\n */\n const hdKey = environment.variables[variableId];\n if (entityHdPrivateKey !== undefined) {\n const privateResult = (0,_compiler_operation_helpers__WEBPACK_IMPORTED_MODULE_0__.compilerOperationHelperDeriveHdPrivateNode)({\n addressIndex,\n entityHdPrivateKey,\n entityId,\n environment,\n hdKey,\n identifier,\n });\n if (privateResult.status === 'error')\n return privateResult;\n return {\n bytecode: environment.secp256k1.derivePublicKeyCompressed(privateResult.bytecode),\n status: 'success',\n };\n }\n const entityHdPublicKey = hdPublicKeys === undefined ? undefined : hdPublicKeys[entityId];\n if (entityHdPublicKey === undefined) {\n return {\n error: `Identifier \"${identifier}\" refers to an HdKey owned by \"${entityId}\", but an HD private key or HD public key for this entity was not provided in the compilation data.`,\n recoverable: true,\n status: 'error',\n };\n }\n const addressOffset = (_a = hdKey.addressOffset) !== null && _a !== void 0 ? _a : _compiler_defaults__WEBPACK_IMPORTED_MODULE_3__.CompilerDefaults.hdKeyAddressOffset;\n const privateDerivationPath = (_b = hdKey.privateDerivationPath) !== null && _b !== void 0 ? _b : _compiler_defaults__WEBPACK_IMPORTED_MODULE_3__.CompilerDefaults.hdKeyPrivateDerivationPath;\n const publicDerivationPath = (_c = hdKey.publicDerivationPath) !== null && _c !== void 0 ? _c : privateDerivationPath.replace('m', 'M');\n const validPublicPathWithIndex = /^M(?:\\/(?:[0-9]+|i))*$/u;\n if (!validPublicPathWithIndex.test(publicDerivationPath)) {\n return {\n error: `Could not generate ${identifier} – the path \"${publicDerivationPath}\" is not a valid \"publicDerivationPath\".`,\n status: 'error',\n };\n }\n const i = addressIndex + addressOffset;\n const instancePath = publicDerivationPath.replace('i', i.toString());\n const masterContents = (0,_key_hd_key__WEBPACK_IMPORTED_MODULE_4__.decodeHdPublicKey)(environment, entityHdPublicKey);\n if (typeof masterContents === 'string') {\n return {\n error: `Could not generate \"${identifier}\" – the HD public key provided for \"${entityId}\" could not be decoded: ${masterContents}`,\n status: 'error',\n };\n }\n const instanceNode = (0,_key_hd_key__WEBPACK_IMPORTED_MODULE_4__.deriveHdPath)(environment, masterContents.node, instancePath);\n if (typeof instanceNode === 'string') {\n return {\n error: `Could not generate \"${identifier}\" – the path \"${instancePath}\" could not be derived for entity \"${entityId}\": ${instanceNode}`,\n status: 'error',\n };\n }\n return { bytecode: instanceNode.publicKey, status: 'success' };\n },\n}));\n/* eslint-disable camelcase, @typescript-eslint/naming-convention */\nconst compilerOperationsCommon = {\n addressData: compilerOperationAddressData,\n currentBlockHeight: compilerOperationCurrentBlockHeight,\n currentBlockTime: compilerOperationCurrentBlockTime,\n hdKey: {\n public_key: compilerOperationHdKeyPublicKeyCommon,\n },\n key: {\n public_key: compilerOperationKeyPublicKeyCommon,\n },\n signingSerialization: {\n corresponding_output: compilerOperationSigningSerializationCorrespondingOutput,\n corresponding_output_hash: compilerOperationSigningSerializationCorrespondingOutputHash,\n covered_bytecode: compilerOperationSigningSerializationCoveredBytecode,\n covered_bytecode_length: compilerOperationSigningSerializationCoveredBytecodeLength,\n locktime: compilerOperationSigningSerializationLocktime,\n outpoint_index: compilerOperationSigningSerializationOutpointIndex,\n outpoint_transaction_hash: compilerOperationSigningSerializationOutpointTransactionHash,\n output_value: compilerOperationSigningSerializationOutputValue,\n sequence_number: compilerOperationSigningSerializationSequenceNumber,\n transaction_outpoints: compilerOperationSigningSerializationTransactionOutpoints,\n transaction_outpoints_hash: compilerOperationSigningSerializationTransactionOutpointsHash,\n transaction_outputs: compilerOperationSigningSerializationTransactionOutputs,\n transaction_outputs_hash: compilerOperationSigningSerializationTransactionOutputsHash,\n transaction_sequence_numbers: compilerOperationSigningSerializationTransactionSequenceNumbers,\n transaction_sequence_numbers_hash: compilerOperationSigningSerializationTransactionSequenceNumbersHash,\n version: compilerOperationSigningSerializationVersion,\n },\n walletData: compilerOperationWalletData,\n};\n/* eslint-enable camelcase, @typescript-eslint/naming-convention */\n//# sourceMappingURL=compiler-operations.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/template/compiler-operations.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/template/compiler-types.js": +/*!***********************************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/template/compiler-types.js ***! + \***********************************************************************************/ +/***/ (() => { + +eval("//# sourceMappingURL=compiler-types.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/template/compiler-types.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/template/compiler.js": +/*!*****************************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/template/compiler.js ***! + \*****************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ authenticationTemplateToCompilationEnvironment: () => (/* binding */ authenticationTemplateToCompilationEnvironment),\n/* harmony export */ authenticationTemplateToCompilationEnvironmentVirtualizedTests: () => (/* binding */ authenticationTemplateToCompilationEnvironmentVirtualizedTests),\n/* harmony export */ createAuthenticationProgramEvaluationCommon: () => (/* binding */ createAuthenticationProgramEvaluationCommon),\n/* harmony export */ createCompiler: () => (/* binding */ createCompiler),\n/* harmony export */ createCompilerCommonSynchronous: () => (/* binding */ createCompilerCommonSynchronous)\n/* harmony export */ });\n/* harmony import */ var _vm_instruction_sets_instruction_sets__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../vm/instruction-sets/instruction-sets */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/instruction-sets-utils.js\");\n/* harmony import */ var _vm_instruction_sets_instruction_sets__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../vm/instruction-sets/instruction-sets */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/opcodes.js\");\n/* harmony import */ var _compiler_defaults__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./compiler-defaults */ \"./node_modules/@bitauth/libauth/build/module/lib/template/compiler-defaults.js\");\n/* harmony import */ var _compiler_operations__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./compiler-operations */ \"./node_modules/@bitauth/libauth/build/module/lib/template/compiler-operations.js\");\n/* harmony import */ var _language_compile__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./language/compile */ \"./node_modules/@bitauth/libauth/build/module/lib/template/language/compile.js\");\n/* harmony import */ var _scenarios__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./scenarios */ \"./node_modules/@bitauth/libauth/build/module/lib/template/scenarios.js\");\n\n\n\n\n\n/**\n * Create a `Compiler` from the provided compilation environment. This method\n * requires a full `CompilationEnvironment` and does not instantiate any new\n * crypto or VM implementations.\n *\n * @param compilationEnvironment - the environment from which to create the\n * compiler\n */\nconst createCompiler = (compilationEnvironment) => ({\n environment: compilationEnvironment,\n generateBytecode: (scriptId, data, debug = false) => {\n const result = (0,_language_compile__WEBPACK_IMPORTED_MODULE_0__.compileScript)(scriptId, data, compilationEnvironment);\n return (debug\n ? result\n : result.success\n ? { bytecode: result.bytecode, success: true }\n : {\n errorType: result.errorType,\n errors: result.errors,\n success: false,\n });\n },\n generateScenario: ({ unlockingScriptId, scenarioId }) => (0,_scenarios__WEBPACK_IMPORTED_MODULE_1__.generateScenarioCommon)({\n environment: compilationEnvironment,\n scenarioId,\n unlockingScriptId,\n }),\n});\nconst nullHashLength = 32;\n/**\n * A common `createAuthenticationProgram` implementation for most compilers.\n *\n * Accepts the compiled contents of an evaluation and produces a\n * `AuthenticationProgramCommon` which can be evaluated to produce the resulting\n * program state.\n *\n * The precise shape of the authentication program produced by this method is\n * critical to the determinism of BTL evaluations for the compiler in which it\n * is used, it therefore must be standardized between compiler implementations.\n *\n * @param evaluationBytecode - the compiled bytecode to incorporate in the\n * created authentication program\n */\nconst createAuthenticationProgramEvaluationCommon = (evaluationBytecode) => ({\n inputIndex: 0,\n sourceOutput: {\n lockingBytecode: evaluationBytecode,\n satoshis: Uint8Array.from([0, 0, 0, 0, 0, 0, 0, 0]),\n },\n spendingTransaction: {\n inputs: [\n {\n outpointIndex: 0,\n outpointTransactionHash: new Uint8Array(nullHashLength),\n sequenceNumber: 0,\n unlockingBytecode: Uint8Array.of(),\n },\n ],\n locktime: 0,\n outputs: [\n {\n lockingBytecode: Uint8Array.of(),\n satoshis: Uint8Array.from([0, 0, 0, 0, 0, 0, 0, 0]),\n },\n ],\n version: 0,\n },\n});\n/**\n * Synchronously create a compiler using the default common environment. Because\n * this compiler has no access to Secp256k1, Sha256, or a VM, it cannot compile\n * evaluations or operations which require key derivation or hashing.\n *\n * @param scriptsAndOverrides - a compilation environment from which properties\n * will be used to override properties of the default common compilation\n * environment – must include the `scripts` property\n */\nconst createCompilerCommonSynchronous = (scriptsAndOverrides) => {\n return createCompiler({\n ...{\n createAuthenticationProgram: createAuthenticationProgramEvaluationCommon,\n opcodes: (0,_vm_instruction_sets_instruction_sets__WEBPACK_IMPORTED_MODULE_2__.generateBytecodeMap)(_vm_instruction_sets_instruction_sets__WEBPACK_IMPORTED_MODULE_3__.OpcodesCommon),\n operations: _compiler_operations__WEBPACK_IMPORTED_MODULE_4__.compilerOperationsCommon,\n },\n ...scriptsAndOverrides,\n });\n};\n/**\n * Create a partial `CompilationEnvironment` from an `AuthenticationTemplate` by\n * extracting and formatting the `scripts` and `variables` properties.\n *\n * Note, if this `AuthenticationTemplate` might be malformed, first validate it\n * with `validateAuthenticationTemplate`.\n *\n * @param template - the `AuthenticationTemplate` from which to extract the\n * compilation environment\n */\nconst authenticationTemplateToCompilationEnvironment = (template) => {\n const scripts = Object.entries(template.scripts).reduce((all, [id, def]) => ({ ...all, [id]: def.script }), {});\n const variables = Object.values(template.entities).reduce((all, entity) => ({ ...all, ...entity.variables }), {});\n const entityOwnership = Object.entries(template.entities).reduce((all, [entityId, entity]) => {\n var _a;\n return ({\n ...all,\n ...Object.keys((_a = entity.variables) !== null && _a !== void 0 ? _a : {}).reduce((entityVariables, variableId) => ({\n ...entityVariables,\n [variableId]: entityId,\n }), {}),\n });\n }, {});\n const unlockingScripts = Object.entries(template.scripts).reduce((all, [id, def]) => 'unlocks' in def && def.unlocks !== undefined\n ? { ...all, [id]: def.unlocks }\n : all, {});\n const unlockingScriptTimeLockTypes = Object.entries(template.scripts).reduce((all, [id, def]) => 'timeLockType' in def && def.timeLockType !== undefined\n ? { ...all, [id]: def.timeLockType }\n : all, {});\n const lockingScriptTypes = Object.entries(template.scripts).reduce((all, [id, def]) => 'lockingType' in def &&\n def.lockingType !== undefined\n ? { ...all, [id]: def.lockingType }\n : all, {});\n const scenarios = template.scenarios === undefined\n ? undefined\n : Object.entries(template.scenarios).reduce((all, [id, def]) => ({ ...all, [id]: def }), {});\n return {\n entityOwnership,\n lockingScriptTypes,\n ...(scenarios === undefined ? {} : { scenarios }),\n scripts,\n unlockingScriptTimeLockTypes,\n unlockingScripts,\n variables,\n };\n};\n/**\n * Create a partial `CompilationEnvironment` from an `AuthenticationTemplate`,\n * virtualizing all script tests as unlocking and locking script pairs.\n *\n * @param template - the authentication template from which to extract the\n * compilation environment\n */\nconst authenticationTemplateToCompilationEnvironmentVirtualizedTests = (template) => {\n const virtualizedScripts = Object.entries(template.scripts).reduce((all, [scriptId, script]) => {\n if ('tests' in script) {\n return {\n ...all,\n ...script.tests.reduce((tests, test, index) => {\n var _a;\n const pushTestedScript = script.pushed === true;\n const checkScriptId = `${_compiler_defaults__WEBPACK_IMPORTED_MODULE_5__.CompilerDefaults.virtualizedTestCheckScriptPrefix}${scriptId}_${index}`;\n const virtualizedLockingScriptId = `${_compiler_defaults__WEBPACK_IMPORTED_MODULE_5__.CompilerDefaults.virtualizedTestLockingScriptPrefix}${scriptId}_${index}`;\n const virtualizedUnlockingScriptId = `${_compiler_defaults__WEBPACK_IMPORTED_MODULE_5__.CompilerDefaults.virtualizedTestUnlockingScriptPrefix}${scriptId}_${index}`;\n return {\n ...tests,\n [checkScriptId]: { script: test.check },\n [virtualizedLockingScriptId]: {\n script: pushTestedScript\n ? `<${scriptId}> ${checkScriptId}`\n : `${scriptId} ${checkScriptId}`,\n },\n [virtualizedUnlockingScriptId]: {\n script: (_a = test.setup) !== null && _a !== void 0 ? _a : '',\n unlocks: virtualizedLockingScriptId,\n },\n };\n }, {}),\n };\n }\n return all;\n }, {});\n const templateWithVirtualizedTests = {\n ...template,\n scripts: {\n ...template.scripts,\n ...virtualizedScripts,\n },\n };\n return authenticationTemplateToCompilationEnvironment(templateWithVirtualizedTests);\n};\n//# sourceMappingURL=compiler.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/template/compiler.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/template/language/compile.js": +/*!*************************************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/template/language/compile.js ***! + \*************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ compileScript: () => (/* binding */ compileScript),\n/* harmony export */ compileScriptContents: () => (/* binding */ compileScriptContents),\n/* harmony export */ compileScriptP2shLocking: () => (/* binding */ compileScriptP2shLocking),\n/* harmony export */ compileScriptP2shUnlocking: () => (/* binding */ compileScriptP2shUnlocking),\n/* harmony export */ compileScriptRaw: () => (/* binding */ compileScriptRaw),\n/* harmony export */ describeExpectedInput: () => (/* binding */ describeExpectedInput)\n/* harmony export */ });\n/* harmony import */ var _compiler__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../compiler */ \"./node_modules/@bitauth/libauth/build/module/lib/template/compiler.js\");\n/* harmony import */ var _language_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./language-utils */ \"./node_modules/@bitauth/libauth/build/module/lib/template/language/language-utils.js\");\n/* harmony import */ var _parse__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./parse */ \"./node_modules/@bitauth/libauth/build/module/lib/template/language/parse.js\");\n/* harmony import */ var _reduce__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./reduce */ \"./node_modules/@bitauth/libauth/build/module/lib/template/language/reduce.js\");\n/* harmony import */ var _resolve__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./resolve */ \"./node_modules/@bitauth/libauth/build/module/lib/template/language/resolve.js\");\n\n\n\n\n\n/**\n * A text-formatting method to pretty-print the list of expected inputs\n * (`Encountered unexpected input while parsing script. Expected ...`). If\n * present, the `EOF` expectation is always moved to the end of the list.\n * @param expectedArray - the alphabetized list of expected inputs produced by\n * `parseScript`\n */\nconst describeExpectedInput = (expectedArray) => {\n /**\n * The constant used by the parser to denote the end of the input\n */\n const EOF = 'EOF';\n const newArray = expectedArray.filter((value) => value !== EOF);\n // eslint-disable-next-line functional/no-conditional-statement\n if (newArray.length !== expectedArray.length) {\n // eslint-disable-next-line functional/no-expression-statement, functional/immutable-data\n newArray.push('the end of the script');\n }\n const withoutLastElement = newArray.slice(0, newArray.length - 1);\n const lastElement = newArray[newArray.length - 1];\n const arrayRequiresCommas = 3;\n const arrayRequiresOr = 2;\n return `Encountered unexpected input while parsing script. Expected ${newArray.length >= arrayRequiresCommas\n ? withoutLastElement.join(', ').concat(`, or ${lastElement}`)\n : newArray.length === arrayRequiresOr\n ? newArray.join(' or ')\n : lastElement}.`;\n};\n/**\n * This method is generally for internal use. The `compileScript` method is the\n * recommended API for direct compilation.\n */\nconst compileScriptContents = ({ data, environment, script, }) => {\n const parseResult = (0,_parse__WEBPACK_IMPORTED_MODULE_0__.parseScript)(script);\n if (!parseResult.status) {\n return {\n errorType: 'parse',\n errors: [\n {\n error: describeExpectedInput(parseResult.expected),\n range: {\n endColumn: parseResult.index.column,\n endLineNumber: parseResult.index.line,\n startColumn: parseResult.index.column,\n startLineNumber: parseResult.index.line,\n },\n },\n ],\n success: false,\n };\n }\n const resolver = (0,_resolve__WEBPACK_IMPORTED_MODULE_1__.createIdentifierResolver)({ data, environment });\n const resolvedScript = (0,_resolve__WEBPACK_IMPORTED_MODULE_1__.resolveScriptSegment)(parseResult.value, resolver);\n const resolutionErrors = (0,_language_utils__WEBPACK_IMPORTED_MODULE_2__.getResolutionErrors)(resolvedScript);\n if (resolutionErrors.length !== 0) {\n return {\n errorType: 'resolve',\n errors: resolutionErrors,\n parse: parseResult.value,\n resolve: resolvedScript,\n success: false,\n };\n }\n const reduction = (0,_reduce__WEBPACK_IMPORTED_MODULE_3__.reduceScript)(resolvedScript, environment.vm, environment.createAuthenticationProgram);\n return {\n ...(reduction.errors === undefined\n ? { bytecode: reduction.bytecode, success: true }\n : { errorType: 'reduce', errors: reduction.errors, success: false }),\n parse: parseResult.value,\n reduce: reduction,\n resolve: resolvedScript,\n };\n};\nconst emptyRange = () => ({\n endColumn: 0,\n endLineNumber: 0,\n startColumn: 0,\n startLineNumber: 0,\n});\n/**\n * This method is generally for internal use. The `compileScript` method is the\n * recommended API for direct compilation.\n */\nconst compileScriptRaw = ({ data, environment, scriptId, }) => {\n var _a;\n const script = environment.scripts[scriptId];\n if (script === undefined) {\n return {\n errorType: 'parse',\n errors: [\n {\n error: `No script with an ID of \"${scriptId}\" was provided in the compilation environment.`,\n range: emptyRange(),\n },\n ],\n success: false,\n };\n }\n if (((_a = environment.sourceScriptIds) === null || _a === void 0 ? void 0 : _a.includes(scriptId)) === true) {\n return {\n errorType: 'parse',\n errors: [\n {\n error: `A circular dependency was encountered: script \"${scriptId}\" relies on itself to be generated. (Source scripts: ${environment.sourceScriptIds.join(' → ')})`,\n range: emptyRange(),\n },\n ],\n success: false,\n };\n }\n const sourceScriptIds = environment.sourceScriptIds === undefined\n ? [scriptId]\n : [...environment.sourceScriptIds, scriptId];\n return compileScriptContents({\n data,\n environment: { ...environment, sourceScriptIds },\n script,\n });\n};\nconst compileScriptP2shLocking = ({ lockingBytecode, vm, }) => {\n const compiler = (0,_compiler__WEBPACK_IMPORTED_MODULE_4__.createCompilerCommonSynchronous)({\n scripts: {\n p2shLocking: 'OP_HASH160 <$( OP_HASH160)> OP_EQUAL',\n },\n variables: { lockingBytecode: { type: 'AddressData' } },\n vm,\n });\n return compiler.generateBytecode('p2shLocking', {\n bytecode: { lockingBytecode },\n });\n};\nconst compileScriptP2shUnlocking = ({ lockingBytecode, unlockingBytecode, }) => {\n const compiler = (0,_compiler__WEBPACK_IMPORTED_MODULE_4__.createCompilerCommonSynchronous)({\n scripts: {\n p2shUnlocking: 'unlockingBytecode ',\n },\n variables: {\n lockingBytecode: { type: 'AddressData' },\n unlockingBytecode: { type: 'AddressData' },\n },\n });\n return compiler.generateBytecode('p2shUnlocking', {\n bytecode: { lockingBytecode, unlockingBytecode },\n });\n};\n/**\n * Parse, resolve, and reduce the selected script using the provided `data` and\n * `environment`.\n *\n * Note, locktime validation only occurs if `transactionContext` is provided in\n * the environment.\n */\n// eslint-disable-next-line complexity\nconst compileScript = (scriptId, data, environment) => {\n var _a, _b, _c, _d, _e, _f, _g, _h;\n const locktimeDisablingSequenceNumber = 0xffffffff;\n const lockTimeTypeBecomesTimestamp = 500000000;\n if (((_a = data.transactionContext) === null || _a === void 0 ? void 0 : _a.locktime) !== undefined) {\n if (((_b = environment.unlockingScriptTimeLockTypes) === null || _b === void 0 ? void 0 : _b[scriptId]) === 'height' &&\n data.transactionContext.locktime >= lockTimeTypeBecomesTimestamp) {\n return {\n errorType: 'parse',\n errors: [\n {\n error: `The script \"${scriptId}\" requires a height-based locktime (less than 500,000,000), but this transaction uses a timestamp-based locktime (\"${data.transactionContext.locktime}\").`,\n range: emptyRange(),\n },\n ],\n success: false,\n };\n }\n if (((_c = environment.unlockingScriptTimeLockTypes) === null || _c === void 0 ? void 0 : _c[scriptId]) === 'timestamp' &&\n data.transactionContext.locktime < lockTimeTypeBecomesTimestamp) {\n return {\n errorType: 'parse',\n errors: [\n {\n error: `The script \"${scriptId}\" requires a timestamp-based locktime (greater than or equal to 500,000,000), but this transaction uses a height-based locktime (\"${data.transactionContext.locktime}\").`,\n range: emptyRange(),\n },\n ],\n success: false,\n };\n }\n }\n if (((_d = data.transactionContext) === null || _d === void 0 ? void 0 : _d.sequenceNumber) !== undefined &&\n ((_e = environment.unlockingScriptTimeLockTypes) === null || _e === void 0 ? void 0 : _e[scriptId]) !== undefined &&\n data.transactionContext.sequenceNumber === locktimeDisablingSequenceNumber) {\n return {\n errorType: 'parse',\n errors: [\n {\n error: `The script \"${scriptId}\" requires a locktime, but this input's sequence number is set to disable transaction locktime (0xffffffff). This will cause the OP_CHECKLOCKTIMEVERIFY operation to error when the transaction is verified. To be valid, this input must use a sequence number which does not disable locktime.`,\n range: emptyRange(),\n },\n ],\n success: false,\n };\n }\n const rawResult = compileScriptRaw({\n data,\n environment,\n scriptId,\n });\n if (!rawResult.success) {\n return rawResult;\n }\n const unlocks = (_f = environment.unlockingScripts) === null || _f === void 0 ? void 0 : _f[scriptId];\n const unlockingScriptType = unlocks === undefined\n ? undefined\n : (_g = environment.lockingScriptTypes) === null || _g === void 0 ? void 0 : _g[unlocks];\n const isP2shUnlockingScript = unlockingScriptType === 'p2sh';\n const lockingScriptType = (_h = environment.lockingScriptTypes) === null || _h === void 0 ? void 0 : _h[scriptId];\n const isP2shLockingScript = lockingScriptType === 'p2sh';\n if (isP2shLockingScript) {\n const transformedResult = compileScriptP2shLocking({\n lockingBytecode: rawResult.bytecode,\n vm: environment.vm,\n });\n if (!transformedResult.success) {\n return transformedResult;\n }\n return {\n ...rawResult,\n bytecode: transformedResult.bytecode,\n transformed: 'p2sh-locking',\n };\n }\n if (isP2shUnlockingScript) {\n const lockingBytecodeResult = compileScriptRaw({\n data,\n environment,\n scriptId: unlocks,\n });\n if (!lockingBytecodeResult.success) {\n return lockingBytecodeResult;\n }\n const transformedResult = compileScriptP2shUnlocking({\n lockingBytecode: lockingBytecodeResult.bytecode,\n unlockingBytecode: rawResult.bytecode,\n });\n return {\n ...rawResult,\n bytecode: transformedResult.bytecode,\n transformed: 'p2sh-unlocking',\n };\n }\n return rawResult;\n};\n//# sourceMappingURL=compile.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/template/language/compile.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/template/language/language-types.js": +/*!********************************************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/template/language/language-types.js ***! + \********************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ IdentifierResolutionErrorType: () => (/* binding */ IdentifierResolutionErrorType),\n/* harmony export */ IdentifierResolutionType: () => (/* binding */ IdentifierResolutionType)\n/* harmony export */ });\nvar IdentifierResolutionType;\n(function (IdentifierResolutionType) {\n IdentifierResolutionType[\"opcode\"] = \"opcode\";\n IdentifierResolutionType[\"variable\"] = \"variable\";\n IdentifierResolutionType[\"script\"] = \"script\";\n})(IdentifierResolutionType || (IdentifierResolutionType = {}));\nvar IdentifierResolutionErrorType;\n(function (IdentifierResolutionErrorType) {\n IdentifierResolutionErrorType[\"unknown\"] = \"unknown\";\n IdentifierResolutionErrorType[\"variable\"] = \"variable\";\n IdentifierResolutionErrorType[\"script\"] = \"script\";\n})(IdentifierResolutionErrorType || (IdentifierResolutionErrorType = {}));\n//# sourceMappingURL=language-types.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/template/language/language-types.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/template/language/language-utils.js": +/*!********************************************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/template/language/language-utils.js ***! + \********************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ allErrorsAreRecoverable: () => (/* binding */ allErrorsAreRecoverable),\n/* harmony export */ compileBtl: () => (/* binding */ compileBtl),\n/* harmony export */ containsRange: () => (/* binding */ containsRange),\n/* harmony export */ extractBytecodeResolutions: () => (/* binding */ extractBytecodeResolutions),\n/* harmony export */ extractEvaluationSamples: () => (/* binding */ extractEvaluationSamples),\n/* harmony export */ extractEvaluationSamplesRecursive: () => (/* binding */ extractEvaluationSamplesRecursive),\n/* harmony export */ extractResolvedVariableBytecodeMap: () => (/* binding */ extractResolvedVariableBytecodeMap),\n/* harmony export */ extractUnexecutedRanges: () => (/* binding */ extractUnexecutedRanges),\n/* harmony export */ getResolutionErrors: () => (/* binding */ getResolutionErrors),\n/* harmony export */ mergeRanges: () => (/* binding */ mergeRanges),\n/* harmony export */ stringifyErrors: () => (/* binding */ stringifyErrors)\n/* harmony export */ });\n/* harmony import */ var _format_hex__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../format/hex */ \"./node_modules/@bitauth/libauth/build/module/lib/format/hex.js\");\n/* harmony import */ var _vm_instruction_sets_instruction_sets_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../vm/instruction-sets/instruction-sets-utils */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/instruction-sets-utils.js\");\n/* harmony import */ var _compiler__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../compiler */ \"./node_modules/@bitauth/libauth/build/module/lib/template/compiler.js\");\n\n\n\nconst pluckStartPosition = (range) => ({\n startColumn: range.startColumn,\n startLineNumber: range.startLineNumber,\n});\nconst pluckEndPosition = (range) => ({\n endColumn: range.endColumn,\n endLineNumber: range.endLineNumber,\n});\n/**\n * Combine an array of `Range`s into a single larger `Range`.\n *\n * @param ranges - an array of `Range`s\n * @param parentRange - the range to assume if `ranges` is an empty array\n */\nconst mergeRanges = (ranges, parentRange = {\n endColumn: 0,\n endLineNumber: 0,\n startColumn: 0,\n startLineNumber: 0,\n}) => {\n const minimumRangesToMerge = 2;\n const unsortedMerged = ranges.length < minimumRangesToMerge\n ? ranges.length === 1\n ? ranges[0]\n : parentRange\n : ranges.reduce(\n // eslint-disable-next-line complexity\n (merged, range) => ({\n ...(range.endLineNumber > merged.endLineNumber\n ? pluckEndPosition(range)\n : range.endLineNumber === merged.endLineNumber &&\n range.endColumn > merged.endColumn\n ? pluckEndPosition(range)\n : pluckEndPosition(merged)),\n ...(range.startLineNumber < merged.startLineNumber\n ? pluckStartPosition(range)\n : range.startLineNumber === merged.startLineNumber &&\n range.startColumn < merged.startColumn\n ? pluckStartPosition(range)\n : pluckStartPosition(merged)),\n }), ranges[0]);\n return {\n ...pluckEndPosition(unsortedMerged),\n ...pluckStartPosition(unsortedMerged),\n };\n};\n/**\n * Returns true if the `outerRange` fully contains the `innerRange`, otherwise,\n * `false`.\n *\n * @param outerRange - the bounds of the outer range\n * @param innerRange - the inner range to test\n * @param exclusive - disallow the `innerRange` from overlapping the\n * `outerRange` (such that the outer start and end columns may not be equal) –\n * defaults to `true`\n */\n// eslint-disable-next-line complexity\nconst containsRange = (outerRange, innerRange, exclusive = true) => {\n const startsAfter = outerRange.startLineNumber < innerRange.startLineNumber\n ? true\n : outerRange.startLineNumber === innerRange.startLineNumber\n ? exclusive\n ? outerRange.startColumn < innerRange.startColumn\n : outerRange.startColumn <= innerRange.startColumn\n : false;\n const endsBefore = outerRange.endLineNumber > innerRange.endLineNumber\n ? true\n : outerRange.endLineNumber === innerRange.endLineNumber\n ? exclusive\n ? outerRange.endColumn > innerRange.endColumn\n : outerRange.endColumn >= innerRange.endColumn\n : false;\n return startsAfter && endsBefore;\n};\n/**\n * Perform a simplified compilation on a Bitauth Templating Language (BTL)\n * script containing only hex literals, bigint literals, UTF8 literals, and push\n * statements. Scripts may not contain variables/operations, evaluations, or\n * opcode identifiers (use hex literals instead).\n *\n * This is useful for accepting complex user input in advanced interfaces,\n * especially for `AddressData` and `WalletData`.\n *\n * Returns the compiled bytecode as a `Uint8Array`, or throws an error message.\n *\n * @param script - a simple BTL script containing no variables or evaluations\n */\nconst compileBtl = (script) => {\n const result = (0,_compiler__WEBPACK_IMPORTED_MODULE_0__.createCompilerCommonSynchronous)({\n scripts: { script },\n }).generateBytecode('script', {});\n if (result.success) {\n return result.bytecode;\n }\n return `BTL compilation error:${result.errors.reduce((all, { error, range }) => `${all} [${range.startLineNumber}, ${range.startColumn}]: ${error}`, '')}`;\n};\n/**\n * Extract a list of the errors which occurred while resolving a script.\n *\n * @param resolvedScript - the result of `resolveScript` from which to extract\n * errors\n */\nconst getResolutionErrors = (resolvedScript) => resolvedScript.reduce((errors, segment) => {\n switch (segment.type) {\n case 'error':\n return [\n ...errors,\n {\n error: segment.value,\n ...(segment.missingIdentifier === undefined\n ? {}\n : {\n missingIdentifier: segment.missingIdentifier,\n owningEntity: segment.owningEntity,\n }),\n range: segment.range,\n },\n ];\n case 'push':\n case 'evaluation':\n return [...errors, ...getResolutionErrors(segment.value)];\n default:\n return errors;\n }\n}, []);\n/**\n * Verify that every error in the provided array can be resolved by providing\n * additional variables in the compilation data (rather than deeper issues, like\n * problems with the authentication template or wallet implementation).\n *\n * Note, errors are only recoverable if the \"entity ownership\" of each missing\n * identifier is known (specified in `CompilationData`'s `entityOwnership`).\n *\n * @param errors - an array of compilation errors\n */\nconst allErrorsAreRecoverable = (errors) => errors.every((error) => 'missingIdentifier' in error && 'owningEntity' in error);\n/**\n * Get an array of all resolutions used in a `ResolvedScript`.\n * @param resolvedScript - the resolved script to search\n */\nconst extractBytecodeResolutions = (resolvedScript) => \n// eslint-disable-next-line complexity\nresolvedScript.reduce((all, segment) => {\n switch (segment.type) {\n case 'push':\n case 'evaluation':\n return [...all, ...extractBytecodeResolutions(segment.value)];\n case 'bytecode':\n if ('variable' in segment) {\n return [\n ...all,\n {\n bytecode: segment.value,\n text: segment.variable,\n type: 'variable',\n },\n ];\n }\n if ('script' in segment) {\n return [\n ...all,\n ...extractBytecodeResolutions(segment.source),\n {\n bytecode: segment.value,\n text: segment.script,\n type: 'script',\n },\n ];\n }\n if ('opcode' in segment) {\n return [\n ...all,\n {\n bytecode: segment.value,\n text: segment.opcode,\n type: 'opcode',\n },\n ];\n }\n return [\n ...all,\n {\n bytecode: segment.value,\n text: segment.literal,\n type: segment.literalType,\n },\n ];\n default:\n return all;\n }\n}, []);\n/**\n * Extract an object mapping the variable identifiers used in a `ResolvedScript`\n * to their resolved bytecode.\n *\n * @param resolvedScript - the resolved script to search\n */\nconst extractResolvedVariableBytecodeMap = (resolvedScript) => extractBytecodeResolutions(resolvedScript).reduce((all, resolution) => resolution.type === 'variable'\n ? { ...all, [resolution.text]: resolution.bytecode }\n : all, {});\n/**\n * Format a list of `CompilationError`s into a single string, with an error\n * start position following each error. E.g. for line 1, column 2:\n * `The error message. [1, 2]`\n *\n * Errors are separated with the `separator`, which defaults to `; `, e.g.:\n * `The first error message. [1, 2]; The second error message. [3, 4]`\n *\n * @param errors - an array of compilation errors\n * @param separator - the characters with which to join the formatted errors.\n */\nconst stringifyErrors = (errors, separator = '; ') => {\n return `${errors\n .map((error) => `[${error.range.startLineNumber}, ${error.range.startColumn}] ${error.error}`)\n .join(separator)}`;\n};\n/**\n * Extract a set of \"evaluation samples\" from the result of a BTL compilation\n * and a matching debug trace (from `vm.debug`), pairing program states with the\n * source ranges which produced them – like a \"source map\" for complete\n * evaluations. This is useful for omniscient debuggers like Bitauth IDE.\n *\n * Returns an array of samples and an array of unmatched program states\n * remaining if `nodes` doesn't contain enough instructions to consume all\n * program states provided in `trace`. Returned samples are ordered by the\n * ending position (line and column) of their range.\n *\n * If all program states are consumed before the available nodes are exhausted,\n * the remaining nodes are ignored (the produced samples end at the last\n * instruction for which a program state exists). This usually occurs when an\n * error halts evaluation before the end of the script. (Note: if this occurs,\n * the final trace state will not be used, as it is expected to be the\n * duplicated final result produced by `vm.debug`, and should not be matched\n * with the next instruction. The returned `unmatchedStates` will have a length\n * of `0`.)\n *\n * This method allows for samples to be extracted from a single evaluation;\n * most applications should use `extractEvaluationSamplesRecursive` instead.\n *\n * @remarks\n * This method incrementally concatenates the reduced bytecode from each node,\n * parsing the result into evaluation samples.\n *\n * Each node can contain only a portion of an instruction (like a long push\n * operation), or it can contain multiple instructions (like a long hex literal\n * representing a string of bytecode or an evaluation which is not wrapped by a\n * push).\n *\n * If a node contains only a portion of an instruction, the bytecode from\n * additional nodes are concatenated (and ranges merged) until an instruction\n * can be created. If any bytecode remains after a sample has been created, the\n * next sample begins in the same range. (For this reason, it's possible that\n * samples overlap.)\n *\n * If a node contains more than one instruction, the intermediate states\n * produced before the final state for that sample are saved to the sample's\n * `intermediateStates` array.\n *\n * If the program states in `trace` are exhausted before the final instruction\n * in a sample (usually caused by an evaluation error), the last instruction\n * with a matching program state is used for the sample (with its program\n * state), and the unmatched instructions are ignored. (This allows the \"last\n * known state\" to be displayed for the sample which caused evaluation to halt.)\n *\n * ---\n *\n * For example, the following script demonstrates many of these cases:\n *\n * `0x00 0x01 0xab01 0xcd9300 $(OP_3 <0x00> OP_SWAP OP_CAT) 0x010203`\n *\n * Which compiles to `0x0001ab01cd93000003010203`, disassembled:\n *\n * `OP_0 OP_PUSHBYTES_1 0xab OP_PUSHBYTES_1 0xcd OP_ADD OP_0 OP_0 OP_PUSHBYTES_3 0x010203`\n *\n * In the script, there are 6 top-level nodes (identified below within `[]`):\n *\n * `[0x00] [0x01] [0xab01] [0xcd9300] [$(OP_3 <0x00> OP_SWAP OP_CAT)] [0x010203]`\n *\n * These nodes together encode 7 instructions, some within a single node, and\n * some split between several nodes. Below we substitute the evaluation for its\n * result `0x0003` to group instructions by `[]`:\n *\n * `[0x00] [0x01 0xab][01 0xcd][93][00] [0x00][03 0x010203]`\n *\n * The \"resolution\" of samples is limited to the range of single nodes: nodes\n * cannot always be introspected to determine where contained instructions begin\n * and end. For example, it is ambiguous which portions of the evaluation are\n * responsible for the initial `0x00` and which are responsible for the `0x03`.\n *\n * For this reason, the range of each sample is limited to the range(s) of one\n * or more adjacent nodes. Samples may overlap in the range of a node which is\n * responsible for both ending a previous sample and beginning a new sample.\n * (Though, only 2 samples can overlap. If a node is responsible for more than 2\n * instructions, the second sample includes `internalStates` for instructions\n * which occur before the end of the second sample.)\n *\n * In this case, there are 6 samples identified below within `[]`, where each\n * `[` is closed by the closest following `]` (no nesting):\n *\n * `[0x00] [0x01 [0xab01] [0xcd9300]] [[$(OP_3 <0x00> OP_SWAP OP_CAT)] 0x010203]`\n *\n * The ranges for each sample (in terms of nodes) are as follows:\n * - Sample 1: node 1\n * - Sample 2: node 2 + node 3\n * - Sample 3: node 3 + node 4\n * - Sample 4: node 4\n * - Sample 5: node 5\n * - Sample 6: node 5 + node 6\n *\n * Note that the following samples overlap:\n * - Sample 2 and Sample 3\n * - Sample 3 and Sample 4\n * - Sample 5 and Sample 6\n *\n * Finally, note that Sample 4 will have one internal state produced by the\n * `OP_ADD` instruction. Sample 4 then ends with the `OP_0` (`0x00`) instruction\n * at the end of the `0xcd9300` node.\n *\n * ---\n *\n * Note, this implementation relies on the expectation that `trace` begins with\n * the initial program state, contains a single program state per instruction,\n * and ends with the final program state (as produced by `vm.debug`). It also\n * expects the `bytecode` provided by nodes to be parsable by `parseBytecode`.\n *\n * @param evaluationRange - the range of the script node which was evaluated to\n * produce the `trace`\n * @param nodes - an array of reduced nodes to parse\n * @param trace - the `vm.debug` result to map to these nodes\n */\n// eslint-disable-next-line complexity\nconst extractEvaluationSamples = ({ evaluationRange, nodes, trace, }) => {\n const traceWithoutFinalState = trace.length > 1 ? trace.slice(0, -1) : trace.slice();\n if (traceWithoutFinalState.length === 0) {\n return {\n samples: [],\n unmatchedStates: [],\n };\n }\n const samples = [\n {\n evaluationRange,\n internalStates: [],\n range: {\n endColumn: evaluationRange.startColumn,\n endLineNumber: evaluationRange.startLineNumber,\n startColumn: evaluationRange.startColumn,\n startLineNumber: evaluationRange.startLineNumber,\n },\n state: traceWithoutFinalState[0],\n },\n ];\n // eslint-disable-next-line functional/no-let\n let nextState = 1;\n // eslint-disable-next-line functional/no-let\n let nextNode = 0;\n // eslint-disable-next-line functional/no-let, @typescript-eslint/init-declarations\n let incomplete;\n // eslint-disable-next-line functional/no-loop-statement\n while (nextState < traceWithoutFinalState.length && nextNode < nodes.length) {\n const currentNode = nodes[nextNode];\n const { mergedBytecode, mergedRange } = incomplete === undefined\n ? {\n mergedBytecode: currentNode.bytecode,\n mergedRange: currentNode.range,\n }\n : {\n mergedBytecode: (0,_format_hex__WEBPACK_IMPORTED_MODULE_1__.flattenBinArray)([\n incomplete.bytecode,\n currentNode.bytecode,\n ]),\n mergedRange: mergeRanges([incomplete.range, currentNode.range]),\n };\n const parsed = (0,_vm_instruction_sets_instruction_sets_utils__WEBPACK_IMPORTED_MODULE_2__.parseBytecode)(mergedBytecode);\n const hasNonMalformedInstructions = parsed.length !== 0 && !('malformed' in parsed[0]);\n if (hasNonMalformedInstructions) {\n const lastInstruction = parsed[parsed.length - 1];\n const validInstructions = ((0,_vm_instruction_sets_instruction_sets_utils__WEBPACK_IMPORTED_MODULE_2__.authenticationInstructionIsMalformed)(lastInstruction)\n ? parsed.slice(0, parsed.length - 1)\n : parsed);\n const firstUnmatchedStateIndex = nextState + validInstructions.length;\n const matchingStates = traceWithoutFinalState.slice(nextState, firstUnmatchedStateIndex);\n const pairedStates = validInstructions.map((instruction, index) => ({\n instruction,\n state: matchingStates[index],\n }));\n /**\n * Guaranteed to have a defined `state` (or the loop would have exited).\n */\n const firstPairedState = pairedStates[0];\n const closesCurrentlyOpenSample = incomplete !== undefined;\n // eslint-disable-next-line functional/no-conditional-statement\n if (closesCurrentlyOpenSample) {\n // eslint-disable-next-line functional/no-expression-statement, functional/immutable-data\n samples.push({\n evaluationRange,\n instruction: firstPairedState.instruction,\n internalStates: [],\n range: mergedRange,\n state: firstPairedState.state,\n });\n }\n const firstUndefinedStateIndex = pairedStates.findIndex(({ state }) => state === undefined);\n const sampleHasError = firstUndefinedStateIndex !== -1;\n const sampleClosingIndex = sampleHasError\n ? firstUndefinedStateIndex - 1\n : pairedStates.length - 1;\n const closesASecondSample = !closesCurrentlyOpenSample || sampleClosingIndex > 0;\n // eslint-disable-next-line functional/no-conditional-statement\n if (closesASecondSample) {\n const finalState = pairedStates[sampleClosingIndex];\n const secondSamplePairsBegin = closesCurrentlyOpenSample ? 1 : 0;\n const internalStates = pairedStates.slice(secondSamplePairsBegin, sampleClosingIndex);\n // eslint-disable-next-line functional/no-expression-statement, functional/immutable-data\n samples.push({\n evaluationRange,\n instruction: finalState.instruction,\n internalStates,\n range: currentNode.range,\n state: finalState.state,\n });\n }\n // eslint-disable-next-line functional/no-expression-statement\n nextState = firstUnmatchedStateIndex;\n // eslint-disable-next-line functional/no-conditional-statement\n if ((0,_vm_instruction_sets_instruction_sets_utils__WEBPACK_IMPORTED_MODULE_2__.authenticationInstructionIsMalformed)(lastInstruction)) {\n // eslint-disable-next-line functional/no-expression-statement\n incomplete = {\n bytecode: (0,_vm_instruction_sets_instruction_sets_utils__WEBPACK_IMPORTED_MODULE_2__.serializeParsedAuthenticationInstructionMalformed)(lastInstruction),\n range: currentNode.range,\n };\n // eslint-disable-next-line functional/no-conditional-statement\n }\n else {\n // eslint-disable-next-line functional/no-expression-statement\n incomplete = undefined;\n }\n // eslint-disable-next-line functional/no-conditional-statement\n }\n else {\n const lastInstruction = parsed[parsed.length - 1];\n // eslint-disable-next-line functional/no-expression-statement\n incomplete =\n lastInstruction === undefined\n ? undefined\n : {\n bytecode: (0,_vm_instruction_sets_instruction_sets_utils__WEBPACK_IMPORTED_MODULE_2__.serializeParsedAuthenticationInstructionMalformed)(lastInstruction),\n range: mergedRange,\n };\n }\n // eslint-disable-next-line functional/no-expression-statement\n nextNode += 1;\n }\n /**\n * Because we ran out of `trace` states before all `nodes` were matched, we\n * know an error occurred which halted evaluation. This error is indicated in\n * the result by returning an empty array of `unmatchedStates`. Successful\n * evaluations will always return at least one unmatched state: the final\n * \"evaluation result\" state produced by `vm.debug`.\n */\n const errorOccurred = nextNode < nodes.length;\n const unmatchedStates = errorOccurred\n ? []\n : trace.slice(nextState);\n return {\n samples,\n unmatchedStates,\n };\n};\n/**\n * Similar to `extractEvaluationSamples`, but recursively extracts samples from\n * evaluations within the provided array of nodes.\n *\n * Because BTL evaluations are fully self-contained, there should never be\n * unmatched states from evaluations within a script reduction trace tree. (For\n * this reason, this method does not return the `unmatchedStates` from nested\n * evaluations.)\n *\n * Returned samples are ordered by the ending position (line and column) of\n * their range. Samples from BTL evaluations which occur within an outer\n * evaluation appear before their parent sample (which uses their result).\n *\n * @param evaluationRange - the range of the script node which was evaluated to\n * produce the `trace`\n * @param nodes - an array of reduced nodes to parse\n * @param trace - the `vm.debug` result to map to these nodes\n */\nconst extractEvaluationSamplesRecursive = ({ evaluationRange, nodes, trace, }) => {\n const extractEvaluations = (node, depth = 1) => {\n if ('push' in node) {\n return node.push.script.reduce((all, childNode) => [...all, ...extractEvaluations(childNode, depth)], []);\n }\n if ('source' in node) {\n const childSamples = node.source.script.reduce((all, childNode) => [\n ...all,\n ...extractEvaluations(childNode, depth + 1),\n ], []);\n const traceWithoutUnlockingPhase = node.trace.slice(1);\n const evaluationBeginToken = '$(';\n const evaluationEndToken = ')';\n const extracted = extractEvaluationSamples({\n evaluationRange: {\n endColumn: node.range.endColumn - evaluationEndToken.length,\n endLineNumber: node.range.endLineNumber,\n startColumn: node.range.startColumn + evaluationBeginToken.length,\n startLineNumber: node.range.startLineNumber,\n },\n nodes: node.source.script,\n trace: traceWithoutUnlockingPhase,\n });\n return [...extracted.samples, ...childSamples];\n }\n return [];\n };\n const { samples, unmatchedStates } = extractEvaluationSamples({\n evaluationRange,\n nodes,\n trace,\n });\n const childSamples = nodes.reduce((all, node) => [...all, ...extractEvaluations(node)], []);\n const endingOrderedSamples = [...samples, ...childSamples].sort((a, b) => {\n const linesOrdered = a.range.endLineNumber - b.range.endLineNumber;\n return linesOrdered === 0\n ? a.range.endColumn - b.range.endColumn\n : linesOrdered;\n });\n return {\n samples: endingOrderedSamples,\n unmatchedStates,\n };\n};\nconst stateIsExecuting = (state) => state.executionStack.every((item) => item);\n/**\n * Extract an array of ranges which were unused by an evaluation. This is useful\n * in development tooling for fading out or hiding code which is unimportant to\n * the current evaluation being tested.\n *\n * @remarks\n * Only ranges which are guaranteed to be unimportant to an evaluation are\n * returned by this method. These ranges are extracted from samples which:\n * - are preceded by a sample which ends with execution disabled (e.g. an\n * unsuccessful `OP_IF`)\n * - end with execution disabled, and\n * - contain no `internalStates` which enable execution.\n *\n * Note, internal states which temporarily re-enable and then disable execution\n * again can still have an effect on the parent evaluation, so this method\n * conservatively excludes such samples. For example, the hex literal\n * `0x675167`, which encodes `OP_ELSE OP_1 OP_ELSE`, could begin and end with\n * states in which execution is disabled, yet a `1` is pushed to the stack\n * during the sample's evaluation. (Samples like this are unusual, and can\n * almost always be reformatted to clearly separate the executed and unexecuted\n * instructions.)\n *\n * @param samples - an array of samples ordered by the ending position (line and\n * column) of their range.\n * @param evaluationBegins - the line and column at which the initial sample's\n * evaluation range begins (where the preceding state is assumed to be\n * executing), defaults to `1,1`\n */\nconst extractUnexecutedRanges = (samples, evaluationBegins = '1,1') => {\n const reduced = samples.reduce((all, sample) => {\n const { precedingStateSkipsByEvaluation, unexecutedRanges } = all;\n const currentEvaluationStartLineAndColumn = `${sample.evaluationRange.startLineNumber},${sample.evaluationRange.startColumn}`;\n const precedingStateSkips = precedingStateSkipsByEvaluation[currentEvaluationStartLineAndColumn];\n const endsWithSkip = !stateIsExecuting(sample.state);\n const sampleHasNoExecutedInstructions = endsWithSkip &&\n sample.internalStates.every((group) => !stateIsExecuting(group.state));\n if (precedingStateSkips && sampleHasNoExecutedInstructions) {\n return {\n precedingStateSkipsByEvaluation: {\n ...precedingStateSkipsByEvaluation,\n [currentEvaluationStartLineAndColumn]: true,\n },\n unexecutedRanges: [...unexecutedRanges, sample.range],\n };\n }\n return {\n precedingStateSkipsByEvaluation: {\n ...precedingStateSkipsByEvaluation,\n [currentEvaluationStartLineAndColumn]: endsWithSkip,\n },\n unexecutedRanges,\n };\n }, {\n precedingStateSkipsByEvaluation: {\n [evaluationBegins]: false,\n },\n unexecutedRanges: [],\n });\n const canHaveContainedRanges = 2;\n const containedRangesExcluded = reduced.unexecutedRanges.length < canHaveContainedRanges\n ? reduced.unexecutedRanges\n : reduced.unexecutedRanges.slice(0, -1).reduceRight((all, range) => {\n if (containsRange(all[0], range)) {\n return all;\n }\n return [range, ...all];\n }, [reduced.unexecutedRanges[reduced.unexecutedRanges.length - 1]]);\n return containedRangesExcluded;\n};\n//# sourceMappingURL=language-utils.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/template/language/language-utils.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/template/language/language.js": +/*!**************************************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/template/language/language.js ***! + \**************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ BuiltInVariables: () => (/* reexport safe */ _resolve__WEBPACK_IMPORTED_MODULE_5__.BuiltInVariables),\n/* harmony export */ IdentifierResolutionErrorType: () => (/* reexport safe */ _language_types__WEBPACK_IMPORTED_MODULE_2__.IdentifierResolutionErrorType),\n/* harmony export */ IdentifierResolutionType: () => (/* reexport safe */ _language_types__WEBPACK_IMPORTED_MODULE_2__.IdentifierResolutionType),\n/* harmony export */ allErrorsAreRecoverable: () => (/* reexport safe */ _language_utils__WEBPACK_IMPORTED_MODULE_1__.allErrorsAreRecoverable),\n/* harmony export */ compileBtl: () => (/* reexport safe */ _language_utils__WEBPACK_IMPORTED_MODULE_1__.compileBtl),\n/* harmony export */ compileScript: () => (/* reexport safe */ _compile__WEBPACK_IMPORTED_MODULE_0__.compileScript),\n/* harmony export */ compileScriptContents: () => (/* reexport safe */ _compile__WEBPACK_IMPORTED_MODULE_0__.compileScriptContents),\n/* harmony export */ compileScriptP2shLocking: () => (/* reexport safe */ _compile__WEBPACK_IMPORTED_MODULE_0__.compileScriptP2shLocking),\n/* harmony export */ compileScriptP2shUnlocking: () => (/* reexport safe */ _compile__WEBPACK_IMPORTED_MODULE_0__.compileScriptP2shUnlocking),\n/* harmony export */ compileScriptRaw: () => (/* reexport safe */ _compile__WEBPACK_IMPORTED_MODULE_0__.compileScriptRaw),\n/* harmony export */ containsRange: () => (/* reexport safe */ _language_utils__WEBPACK_IMPORTED_MODULE_1__.containsRange),\n/* harmony export */ createIdentifierResolver: () => (/* reexport safe */ _resolve__WEBPACK_IMPORTED_MODULE_5__.createIdentifierResolver),\n/* harmony export */ describeExpectedInput: () => (/* reexport safe */ _compile__WEBPACK_IMPORTED_MODULE_0__.describeExpectedInput),\n/* harmony export */ extractBytecodeResolutions: () => (/* reexport safe */ _language_utils__WEBPACK_IMPORTED_MODULE_1__.extractBytecodeResolutions),\n/* harmony export */ extractEvaluationSamples: () => (/* reexport safe */ _language_utils__WEBPACK_IMPORTED_MODULE_1__.extractEvaluationSamples),\n/* harmony export */ extractEvaluationSamplesRecursive: () => (/* reexport safe */ _language_utils__WEBPACK_IMPORTED_MODULE_1__.extractEvaluationSamplesRecursive),\n/* harmony export */ extractResolvedVariableBytecodeMap: () => (/* reexport safe */ _language_utils__WEBPACK_IMPORTED_MODULE_1__.extractResolvedVariableBytecodeMap),\n/* harmony export */ extractUnexecutedRanges: () => (/* reexport safe */ _language_utils__WEBPACK_IMPORTED_MODULE_1__.extractUnexecutedRanges),\n/* harmony export */ getResolutionErrors: () => (/* reexport safe */ _language_utils__WEBPACK_IMPORTED_MODULE_1__.getResolutionErrors),\n/* harmony export */ mergeRanges: () => (/* reexport safe */ _language_utils__WEBPACK_IMPORTED_MODULE_1__.mergeRanges),\n/* harmony export */ parseScript: () => (/* reexport safe */ _parse__WEBPACK_IMPORTED_MODULE_3__.parseScript),\n/* harmony export */ reduceScript: () => (/* reexport safe */ _reduce__WEBPACK_IMPORTED_MODULE_4__.reduceScript),\n/* harmony export */ resolveScriptIdentifier: () => (/* reexport safe */ _resolve__WEBPACK_IMPORTED_MODULE_5__.resolveScriptIdentifier),\n/* harmony export */ resolveScriptSegment: () => (/* reexport safe */ _resolve__WEBPACK_IMPORTED_MODULE_5__.resolveScriptSegment),\n/* harmony export */ resolveVariableIdentifier: () => (/* reexport safe */ _resolve__WEBPACK_IMPORTED_MODULE_5__.resolveVariableIdentifier),\n/* harmony export */ stringifyErrors: () => (/* reexport safe */ _language_utils__WEBPACK_IMPORTED_MODULE_1__.stringifyErrors),\n/* harmony export */ verifyBtlEvaluationState: () => (/* reexport safe */ _reduce__WEBPACK_IMPORTED_MODULE_4__.verifyBtlEvaluationState)\n/* harmony export */ });\n/* harmony import */ var _compile__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./compile */ \"./node_modules/@bitauth/libauth/build/module/lib/template/language/compile.js\");\n/* harmony import */ var _language_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./language-utils */ \"./node_modules/@bitauth/libauth/build/module/lib/template/language/language-utils.js\");\n/* harmony import */ var _language_types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./language-types */ \"./node_modules/@bitauth/libauth/build/module/lib/template/language/language-types.js\");\n/* harmony import */ var _parse__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./parse */ \"./node_modules/@bitauth/libauth/build/module/lib/template/language/parse.js\");\n/* harmony import */ var _reduce__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./reduce */ \"./node_modules/@bitauth/libauth/build/module/lib/template/language/reduce.js\");\n/* harmony import */ var _resolve__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./resolve */ \"./node_modules/@bitauth/libauth/build/module/lib/template/language/resolve.js\");\n\n\n\n\n\n\n//# sourceMappingURL=language.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/template/language/language.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/template/language/parse.js": +/*!***********************************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/template/language/parse.js ***! + \***********************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ parseScript: () => (/* binding */ parseScript)\n/* harmony export */ });\n/* harmony import */ var _parsimmon__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./parsimmon */ \"./node_modules/@bitauth/libauth/build/module/lib/template/language/parsimmon.js\");\n\n/* eslint-disable sort-keys, @typescript-eslint/naming-convention, @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access */\nconst authenticationScriptParser = _parsimmon__WEBPACK_IMPORTED_MODULE_0__.P.createLanguage({\n script: (r) => _parsimmon__WEBPACK_IMPORTED_MODULE_0__.P.seqMap(_parsimmon__WEBPACK_IMPORTED_MODULE_0__.P.optWhitespace, r.expression.sepBy(_parsimmon__WEBPACK_IMPORTED_MODULE_0__.P.optWhitespace), _parsimmon__WEBPACK_IMPORTED_MODULE_0__.P.optWhitespace, (_, expressions) => expressions).node('Script'),\n expression: (r) => _parsimmon__WEBPACK_IMPORTED_MODULE_0__.P.alt(r.comment, r.push, r.evaluation, r.utf8, r.binary, r.hex, r.bigint, r.identifier),\n comment: (r) => _parsimmon__WEBPACK_IMPORTED_MODULE_0__.P.alt(r.singleLineComment, r.multiLineComment).node('Comment'),\n singleLineComment: () => _parsimmon__WEBPACK_IMPORTED_MODULE_0__.P.seqMap(_parsimmon__WEBPACK_IMPORTED_MODULE_0__.P.string('//').desc(\"the start of a single-line comment ('//')\"), _parsimmon__WEBPACK_IMPORTED_MODULE_0__.P.regexp(/[^\\n]*/u), (__, comment) => comment.trim()),\n multiLineComment: () => _parsimmon__WEBPACK_IMPORTED_MODULE_0__.P.seqMap(_parsimmon__WEBPACK_IMPORTED_MODULE_0__.P.string('/*').desc(\"the start of a multi-line comment ('/*')\"), _parsimmon__WEBPACK_IMPORTED_MODULE_0__.P.regexp(/[\\s\\S]*?\\*\\//u).desc(\"the end of this multi-line comment ('*/')\"), (__, comment) => comment.slice(0, -'*/'.length).trim()),\n push: (r) => _parsimmon__WEBPACK_IMPORTED_MODULE_0__.P.seqMap(_parsimmon__WEBPACK_IMPORTED_MODULE_0__.P.string('<').desc(\"the start of a push statement ('<')\"), r.script, _parsimmon__WEBPACK_IMPORTED_MODULE_0__.P.string('>').desc(\"the end of this push statement ('>')\"), (_, push) => push).node('Push'),\n evaluation: (r) => _parsimmon__WEBPACK_IMPORTED_MODULE_0__.P.seqMap(_parsimmon__WEBPACK_IMPORTED_MODULE_0__.P.string('$').desc(\"the start of an evaluation ('$')\"), _parsimmon__WEBPACK_IMPORTED_MODULE_0__.P.string('(').desc(\"the opening parenthesis of this evaluation ('(')\"), r.script, _parsimmon__WEBPACK_IMPORTED_MODULE_0__.P.string(')').desc(\"the closing parenthesis of this evaluation (')')\"), (_, __, evaluation) => evaluation).node('Evaluation'),\n identifier: () => _parsimmon__WEBPACK_IMPORTED_MODULE_0__.P.regexp(/[a-zA-Z_][.a-zA-Z0-9_-]*/u)\n .desc('a valid identifier')\n .node('Identifier'),\n utf8: () => _parsimmon__WEBPACK_IMPORTED_MODULE_0__.P.alt(_parsimmon__WEBPACK_IMPORTED_MODULE_0__.P.seqMap(_parsimmon__WEBPACK_IMPORTED_MODULE_0__.P.string('\"').desc('a double quote (\")'), _parsimmon__WEBPACK_IMPORTED_MODULE_0__.P.regexp(/[^\"]*/u), _parsimmon__WEBPACK_IMPORTED_MODULE_0__.P.string('\"').desc('a closing double quote (\")'), (__, literal) => literal), _parsimmon__WEBPACK_IMPORTED_MODULE_0__.P.seqMap(_parsimmon__WEBPACK_IMPORTED_MODULE_0__.P.string(\"'\").desc(\"a single quote (')\"), _parsimmon__WEBPACK_IMPORTED_MODULE_0__.P.regexp(/[^']*/u), _parsimmon__WEBPACK_IMPORTED_MODULE_0__.P.string(\"'\").desc(\"a closing single quote (')\"), (__, literal) => literal)).node('UTF8Literal'),\n hex: () => _parsimmon__WEBPACK_IMPORTED_MODULE_0__.P.seqMap(_parsimmon__WEBPACK_IMPORTED_MODULE_0__.P.string('0x').desc(\"a hex literal ('0x...')\"), _parsimmon__WEBPACK_IMPORTED_MODULE_0__.P.regexp(/[0-9a-f]_*(?:_*[0-9a-f]_*[0-9a-f]_*)*[0-9a-f]/iu).desc('a valid hexadecimal string'), (__, literal) => literal).node('HexLiteral'),\n binary: () => _parsimmon__WEBPACK_IMPORTED_MODULE_0__.P.seqMap(_parsimmon__WEBPACK_IMPORTED_MODULE_0__.P.string('0b').desc(\"a binary literal ('0b...')\"), _parsimmon__WEBPACK_IMPORTED_MODULE_0__.P.regexp(/[01]+(?:[01_]*[01]+)*/iu).desc('a string of binary digits'), (__, literal) => literal).node('BinaryLiteral'),\n bigint: () => _parsimmon__WEBPACK_IMPORTED_MODULE_0__.P.regexp(/-?[0-9]+(?:[0-9_]*[0-9]+)*/u)\n .desc('an integer literal')\n .node('BigIntLiteral'),\n});\n/* eslint-enable sort-keys, @typescript-eslint/naming-convention, @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access */\nconst parseScript = (script) => authenticationScriptParser.script.parse(script);\n//# sourceMappingURL=parse.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/template/language/parse.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/template/language/parsimmon.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/template/language/parsimmon.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ P: () => (/* binding */ P)\n/* harmony export */ });\n/**\n * This file is derived from https://github.com/jneen/parsimmon and\n * https://github.com/DefinitelyTyped/DefinitelyTyped.\n */\n/* eslint-disable prefer-destructuring, @typescript-eslint/unified-signatures, functional/no-method-signature, functional/no-throw-statement, functional/no-conditional-statement, @typescript-eslint/no-this-alias, consistent-this, @typescript-eslint/ban-ts-comment, prefer-spread, @typescript-eslint/restrict-template-expressions, func-names, @typescript-eslint/init-declarations, new-cap, @typescript-eslint/require-array-sort-compare, guard-for-in, no-plusplus, functional/no-let, functional/no-loop-statement, @typescript-eslint/prefer-for-of, @typescript-eslint/restrict-plus-operands, functional/immutable-data, @typescript-eslint/no-use-before-define, @typescript-eslint/strict-boolean-expressions, no-param-reassign, functional/no-expression-statement, functional/no-this-expression, @typescript-eslint/no-explicit-any, func-style, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-return, @typescript-eslint/naming-convention, @typescript-eslint/method-signature-style */\n// cspell: ignore accum\nfunction Parsimmon(action) {\n // @ts-expect-error\n if (!(this instanceof Parsimmon)) {\n // @ts-expect-error\n return new Parsimmon(action);\n }\n // @ts-expect-error\n this._ = action;\n}\nconst _ = Parsimmon.prototype;\n// -*- Helpers -*-\nfunction makeSuccess(index, value) {\n return {\n expected: [],\n furthest: -1,\n index,\n status: true,\n value,\n };\n}\nfunction makeFailure(index, expected) {\n expected = [expected];\n return {\n expected,\n furthest: index,\n index: -1,\n status: false,\n value: null,\n };\n}\nfunction mergeReplies(result, last) {\n if (!last) {\n return result;\n }\n if (result.furthest > last.furthest) {\n return result;\n }\n const expected = result.furthest === last.furthest\n ? union(result.expected, last.expected)\n : last.expected;\n return {\n expected,\n furthest: last.furthest,\n index: result.index,\n status: result.status,\n value: result.value,\n };\n}\nfunction makeLineColumnIndex(input, i) {\n const lines = input.slice(0, i).split('\\n');\n /*\n * Note that unlike the character offset, the line and column offsets are\n * 1-based.\n */\n const lineWeAreUpTo = lines.length;\n const columnWeAreUpTo = lines[lines.length - 1].length + 1;\n return {\n column: columnWeAreUpTo,\n line: lineWeAreUpTo,\n offset: i,\n };\n}\n// Returns the sorted set union of two arrays of strings\nfunction union(xs, ys) {\n const obj = {};\n for (let i = 0; i < xs.length; i++) {\n // @ts-expect-error\n obj[xs[i]] = true;\n }\n for (let j = 0; j < ys.length; j++) {\n // @ts-expect-error\n obj[ys[j]] = true;\n }\n const keys = [];\n for (const k in obj) {\n keys.push(k);\n }\n keys.sort();\n return keys;\n}\n// -*- Error Formatting -*-\nfunction flags(re) {\n const s = String(re);\n return s.slice(s.lastIndexOf('/') + 1);\n}\nfunction anchoredRegexp(re) {\n return RegExp(`^(?:${re.source})`, flags(re));\n}\n// -*- Combinators -*-\nfunction seq(...params) {\n const parsers = [].slice.call(params);\n const numParsers = parsers.length;\n return Parsimmon(function (input, i) {\n let result;\n const accum = new Array(numParsers);\n for (let j = 0; j < numParsers; j += 1) {\n result = mergeReplies(parsers[j]._(input, i), result);\n if (!result.status) {\n return result;\n }\n accum[j] = result.value;\n i = result.index;\n }\n return mergeReplies(makeSuccess(i, accum), result);\n });\n}\nfunction seqMap(...params) {\n const args = [].slice.call(params);\n const mapper = args.pop();\n return seq.apply(null, args).map(function (results) {\n // @ts-expect-error\n return mapper.apply(null, results);\n });\n}\nfunction createLanguage(parsers) {\n const language = {};\n for (const key in parsers) {\n (function (rule) {\n const func = function () {\n // @ts-expect-error\n return parsers[rule](language);\n };\n // @ts-expect-error\n language[rule] = lazy(func);\n })(key);\n }\n return language;\n}\nfunction alt(...params) {\n const parsers = [].slice.call(params);\n return Parsimmon(function (input, i) {\n let result;\n for (let j = 0; j < parsers.length; j += 1) {\n result = mergeReplies(parsers[j]._(input, i), result);\n if (result.status) {\n return result;\n }\n }\n return result;\n });\n}\nfunction sepBy(parser, separator) {\n return sepBy1(parser, separator).or(succeed([]));\n}\nfunction sepBy1(parser, separator) {\n const pairs = separator.then(parser).many();\n return seqMap(parser, pairs, function (r, rs) {\n return [r].concat(rs);\n });\n}\n// -*- Core Parsing Methods -*-\n_.parse = function (input) {\n const result = this.skip(eof)._(input, 0);\n if (result.status) {\n return {\n status: true,\n value: result.value,\n };\n }\n return {\n expected: result.expected,\n index: makeLineColumnIndex(input, result.furthest),\n status: false,\n };\n};\n// -*- Other Methods -*-\n_.or = function (alternative) {\n return alt(this, alternative);\n};\n_.then = function (next) {\n return seq(this, next).map(function (results) {\n return results[1];\n });\n};\n_.many = function () {\n const self = this;\n return Parsimmon(function (input, i) {\n const accum = [];\n let result;\n for (;;) {\n result = mergeReplies(self._(input, i), result);\n if (result.status) {\n /* istanbul ignore if */ if (i === result.index) {\n throw new Error('infinite loop detected in .many() parser --- calling .many() on ' +\n 'a parser which can accept zero characters is usually the cause');\n }\n i = result.index;\n accum.push(result.value);\n }\n else {\n return mergeReplies(makeSuccess(i, accum), result);\n }\n }\n });\n};\n_.map = function (fn) {\n const self = this;\n return Parsimmon(function (input, i) {\n const result = self._(input, i);\n if (!result.status) {\n return result;\n }\n return mergeReplies(makeSuccess(result.index, fn(result.value)), result);\n });\n};\n_.skip = function (next) {\n return seq(this, next).map(function (results) {\n return results[0];\n });\n};\n_.node = function (name) {\n return seqMap(index, this, index, function (start, value, end) {\n return {\n end,\n name,\n start,\n value,\n };\n });\n};\n_.sepBy = function (separator) {\n return sepBy(this, separator);\n};\n_.desc = function (expected) {\n expected = [expected];\n const self = this;\n return Parsimmon(function (input, i) {\n const reply = self._(input, i);\n if (!reply.status) {\n reply.expected = expected;\n }\n return reply;\n });\n};\n// -*- Constructors -*-\nfunction string(str) {\n const expected = `'${str}'`;\n return Parsimmon(function (input, i) {\n const j = i + str.length;\n const head = input.slice(i, j);\n if (head === str) {\n return makeSuccess(j, head);\n }\n return makeFailure(i, expected);\n });\n}\nfunction regexp(re, group = 0) {\n const anchored = anchoredRegexp(re);\n const expected = String(re);\n return Parsimmon(function (input, i) {\n const match = anchored.exec(input.slice(i));\n if (match) {\n const fullMatch = match[0];\n const groupMatch = match[group];\n return makeSuccess(i + fullMatch.length, groupMatch);\n }\n return makeFailure(i, expected);\n });\n}\nfunction succeed(value) {\n return Parsimmon(function (__, i) {\n return makeSuccess(i, value);\n });\n}\nfunction lazy(f) {\n const parser = Parsimmon(function (input, i) {\n parser._ = f()._;\n return parser._(input, i);\n });\n return parser;\n}\n// -*- Base Parsers -*-\nconst index = Parsimmon(function (input, i) {\n return makeSuccess(i, makeLineColumnIndex(input, i));\n});\nconst eof = Parsimmon(function (input, i) {\n if (i < input.length) {\n return makeFailure(i, 'EOF');\n }\n return makeSuccess(i, null);\n});\nconst optWhitespace = regexp(/\\s*/u).desc('optional whitespace');\nconst whitespace = regexp(/\\s+/u).desc('whitespace');\nconst P = {\n alt,\n createLanguage,\n index,\n lazy,\n makeFailure,\n makeSuccess,\n of: succeed,\n optWhitespace,\n regexp,\n sepBy,\n sepBy1,\n seq,\n seqMap,\n string,\n succeed,\n whitespace,\n};\n//# sourceMappingURL=parsimmon.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/template/language/parsimmon.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/template/language/reduce.js": +/*!************************************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/template/language/reduce.js ***! + \************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ reduceScript: () => (/* binding */ reduceScript),\n/* harmony export */ verifyBtlEvaluationState: () => (/* binding */ verifyBtlEvaluationState)\n/* harmony export */ });\n/* harmony import */ var _format_format__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../format/format */ \"./node_modules/@bitauth/libauth/build/module/lib/format/hex.js\");\n/* harmony import */ var _vm_instruction_sets_instruction_sets__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../vm/instruction-sets/instruction-sets */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/errors.js\");\n/* harmony import */ var _vm_instruction_sets_instruction_sets__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../vm/instruction-sets/instruction-sets */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/push.js\");\n/* harmony import */ var _language_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./language-utils */ \"./node_modules/@bitauth/libauth/build/module/lib/template/language/language-utils.js\");\n\n\n\nconst emptyReductionTraceNode = (range) => ({\n bytecode: Uint8Array.of(),\n range,\n});\n/**\n * Perform the standard verification of BTL evaluation results. This ensures\n * that evaluations complete as expected: if an error occurs while computing an\n * evaluation, script compilation should fail.\n *\n * Three requirements are enforced:\n * - the evaluation may not produce an `error`\n * - the resulting stack must contain exactly 1 item\n * - the resulting execution stack must be empty (no missing `OP_ENDIF`s)\n *\n * This differs from the virtual machine's built-in `vm.verify` in that it is\n * often more lenient, for example, evaluations can succeed with an non-truthy\n * value on top of the stack.\n *\n * @param state - the final program state to verify\n */\nconst verifyBtlEvaluationState = (state) => {\n if (state.error !== undefined) {\n return state.error;\n }\n if (state.executionStack.length !== 0) {\n return _vm_instruction_sets_instruction_sets__WEBPACK_IMPORTED_MODULE_0__.AuthenticationErrorCommon.nonEmptyExecutionStack;\n }\n if (state.stack.length !== 1) {\n return _vm_instruction_sets_instruction_sets__WEBPACK_IMPORTED_MODULE_0__.AuthenticationErrorCommon.requiresCleanStack;\n }\n return true;\n};\n/**\n * Reduce a resolved script, returning the resulting bytecode and a trace of the\n * reduction process.\n *\n * This method will return an error if provided a `resolvedScript` with\n * resolution errors. To check for resolution errors, use `getResolutionErrors`.\n *\n * @param resolvedScript - the `CompiledScript` to reduce\n * @param vm - the `AuthenticationVirtualMachine` to use for evaluations\n * @param createEvaluationProgram - a method which accepts the compiled bytecode\n * of an evaluation and returns the authentication program used to evaluate it\n */\nconst reduceScript = (resolvedScript, vm, createEvaluationProgram) => {\n const script = resolvedScript.map((segment) => {\n switch (segment.type) {\n case 'bytecode':\n return { bytecode: segment.value, range: segment.range };\n case 'push': {\n const push = reduceScript(segment.value, vm, createEvaluationProgram);\n const bytecode = (0,_vm_instruction_sets_instruction_sets__WEBPACK_IMPORTED_MODULE_1__.encodeDataPush)(push.bytecode);\n return {\n bytecode,\n ...(push.errors === undefined ? undefined : { errors: push.errors }),\n push,\n range: segment.range,\n };\n }\n case 'evaluation': {\n if (typeof vm === 'undefined' ||\n typeof createEvaluationProgram === 'undefined') {\n return {\n errors: [\n {\n error: 'Both a VM and a createState method are required to reduce evaluations.',\n range: segment.range,\n },\n ],\n ...emptyReductionTraceNode(segment.range),\n };\n }\n const reductionTrace = reduceScript(segment.value, vm, createEvaluationProgram);\n if (reductionTrace.errors !== undefined) {\n return {\n ...emptyReductionTraceNode(segment.range),\n errors: reductionTrace.errors,\n source: reductionTrace,\n trace: [],\n };\n }\n const trace = vm.debug(createEvaluationProgram(reductionTrace.bytecode));\n /**\n * `vm.debug` should always return at least one state.\n */\n const lastState = trace[trace.length - 1];\n const result = verifyBtlEvaluationState(lastState);\n const bytecode = lastState.stack[lastState.stack.length - 1];\n return {\n ...(typeof result === 'string'\n ? {\n bytecode: Uint8Array.of(),\n errors: [\n {\n error: `Failed to reduce evaluation: ${result}`,\n range: segment.range,\n },\n ],\n }\n : {\n bytecode,\n }),\n range: segment.range,\n source: reductionTrace,\n trace,\n };\n }\n case 'comment':\n return emptyReductionTraceNode(segment.range);\n case 'error':\n return {\n errors: [\n {\n error: `Tried to reduce a BTL script with resolution errors: ${segment.value}`,\n range: segment.range,\n },\n ],\n ...emptyReductionTraceNode(segment.range),\n };\n // eslint-disable-next-line functional/no-conditional-statement\n default:\n // eslint-disable-next-line functional/no-throw-statement, @typescript-eslint/no-throw-literal, no-throw-literal\n throw new Error(`\"${segment.type}\" is not a known segment type.`);\n }\n });\n const reduction = script.reduce((all, segment) => ({\n bytecode: [...all.bytecode, segment.bytecode],\n ranges: [...all.ranges, segment.range],\n ...(all.errors !== undefined || segment.errors !== undefined\n ? {\n errors: [\n ...(all.errors === undefined ? [] : all.errors),\n ...(segment.errors === undefined ? [] : segment.errors),\n ],\n }\n : undefined),\n }), { bytecode: [], ranges: [] });\n return {\n ...(reduction.errors === undefined\n ? undefined\n : { errors: reduction.errors }),\n bytecode: (0,_format_format__WEBPACK_IMPORTED_MODULE_2__.flattenBinArray)(reduction.bytecode),\n range: (0,_language_utils__WEBPACK_IMPORTED_MODULE_3__.mergeRanges)(reduction.ranges, resolvedScript.length === 0 ? undefined : resolvedScript[0].range),\n script,\n };\n};\n//# sourceMappingURL=reduce.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/template/language/reduce.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/template/language/resolve.js": +/*!*************************************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/template/language/resolve.js ***! + \*************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ BuiltInVariables: () => (/* binding */ BuiltInVariables),\n/* harmony export */ createIdentifierResolver: () => (/* binding */ createIdentifierResolver),\n/* harmony export */ resolveScriptIdentifier: () => (/* binding */ resolveScriptIdentifier),\n/* harmony export */ resolveScriptSegment: () => (/* binding */ resolveScriptSegment),\n/* harmony export */ resolveVariableIdentifier: () => (/* binding */ resolveVariableIdentifier)\n/* harmony export */ });\n/* harmony import */ var _format_format__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../format/format */ \"./node_modules/@bitauth/libauth/build/module/lib/format/hex.js\");\n/* harmony import */ var _format_format__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../format/format */ \"./node_modules/@bitauth/libauth/build/module/lib/format/utf8.js\");\n/* harmony import */ var _vm_instruction_sets_instruction_sets__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../vm/instruction-sets/instruction-sets */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/types.js\");\n/* harmony import */ var _compile__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./compile */ \"./node_modules/@bitauth/libauth/build/module/lib/template/language/compile.js\");\n/* harmony import */ var _language_types__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./language-types */ \"./node_modules/@bitauth/libauth/build/module/lib/template/language/language-types.js\");\n/* harmony import */ var _language_utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./language-utils */ \"./node_modules/@bitauth/libauth/build/module/lib/template/language/language-utils.js\");\n\n\n\n\n\nconst pluckRange = (node) => ({\n endColumn: node.end.column,\n endLineNumber: node.end.line,\n startColumn: node.start.column,\n startLineNumber: node.start.line,\n});\nconst removeNumericSeparators = (numericLiteral) => numericLiteral.replace(/_/gu, '');\nconst resolveScriptSegment = (segment, resolveIdentifiers) => {\n // eslint-disable-next-line complexity\n const resolved = segment.value.map((child) => {\n const range = pluckRange(child);\n switch (child.name) {\n case 'Identifier': {\n const identifier = child.value;\n const result = resolveIdentifiers(identifier);\n const ret = result.status\n ? {\n range,\n type: 'bytecode',\n value: result.bytecode,\n ...(result.type === _language_types__WEBPACK_IMPORTED_MODULE_0__.IdentifierResolutionType.opcode\n ? {\n opcode: identifier,\n }\n : result.type === _language_types__WEBPACK_IMPORTED_MODULE_0__.IdentifierResolutionType.variable\n ? {\n ...('debug' in result ? { debug: result.debug } : {}),\n ...('signature' in result\n ? { signature: result.signature }\n : {}),\n variable: identifier,\n }\n : // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n result.type === _language_types__WEBPACK_IMPORTED_MODULE_0__.IdentifierResolutionType.script\n ? { script: identifier, source: result.source }\n : { unknown: identifier }),\n }\n : {\n ...('debug' in result ? { debug: result.debug } : {}),\n ...('recoverable' in result && result.recoverable\n ? {\n missingIdentifier: identifier,\n owningEntity: result.entityOwnership,\n }\n : {}),\n range,\n type: 'error',\n value: result.error,\n };\n return ret;\n }\n case 'Push':\n return {\n range,\n type: 'push',\n value: resolveScriptSegment(child.value, resolveIdentifiers),\n };\n case 'Evaluation':\n return {\n range,\n type: 'evaluation',\n value: resolveScriptSegment(child.value, resolveIdentifiers),\n };\n case 'BigIntLiteral':\n return {\n literal: child.value,\n literalType: 'BigIntLiteral',\n range,\n type: 'bytecode',\n value: (0,_vm_instruction_sets_instruction_sets__WEBPACK_IMPORTED_MODULE_1__.bigIntToScriptNumber)(BigInt(removeNumericSeparators(child.value))),\n };\n case 'BinaryLiteral':\n return {\n literal: child.value,\n literalType: 'BinaryLiteral',\n range,\n type: 'bytecode',\n value: (0,_vm_instruction_sets_instruction_sets__WEBPACK_IMPORTED_MODULE_1__.bigIntToScriptNumber)(BigInt(`0b${removeNumericSeparators(child.value)}`)),\n };\n case 'HexLiteral':\n return {\n literal: child.value,\n literalType: 'HexLiteral',\n range,\n type: 'bytecode',\n value: (0,_format_format__WEBPACK_IMPORTED_MODULE_2__.hexToBin)(removeNumericSeparators(child.value)),\n };\n case 'UTF8Literal':\n return {\n literal: child.value,\n literalType: 'UTF8Literal',\n range,\n type: 'bytecode',\n value: (0,_format_format__WEBPACK_IMPORTED_MODULE_3__.utf8ToBin)(child.value),\n };\n case 'Comment':\n return {\n range,\n type: 'comment',\n value: child.value,\n };\n default:\n return {\n range,\n type: 'error',\n value: `Unrecognized segment: ${child.name}`,\n };\n }\n });\n return resolved.length === 0\n ? [{ range: pluckRange(segment), type: 'comment', value: '' }]\n : resolved;\n};\nvar BuiltInVariables;\n(function (BuiltInVariables) {\n BuiltInVariables[\"currentBlockTime\"] = \"current_block_time\";\n BuiltInVariables[\"currentBlockHeight\"] = \"current_block_height\";\n BuiltInVariables[\"signingSerialization\"] = \"signing_serialization\";\n})(BuiltInVariables || (BuiltInVariables = {}));\nconst attemptCompilerOperation = ({ data, environment, identifier, matchingOperations, operationExample = 'operation_identifier', operationId, variableId, variableType, }) => {\n if (matchingOperations === undefined) {\n return {\n error: `The \"${variableId}\" variable type can not be resolved because the \"${variableType}\" operation has not been included in this compiler's CompilationEnvironment.`,\n status: 'error',\n };\n }\n if (typeof matchingOperations === 'function') {\n const operation = matchingOperations;\n return operation(identifier, data, environment);\n }\n if (operationId === undefined) {\n return {\n error: `This \"${variableId}\" variable could not be resolved because this compiler's \"${variableType}\" operations require an operation identifier, e.g. '${variableId}.${operationExample}'.`,\n status: 'error',\n };\n }\n const operation = matchingOperations[operationId];\n if (operation === undefined) {\n return {\n error: `The identifier \"${identifier}\" could not be resolved because the \"${variableId}.${operationId}\" operation is not available to this compiler.`,\n status: 'error',\n };\n }\n return operation(identifier, data, environment);\n};\n/**\n * If the identifer can be successfully resolved as a variable, the result is\n * returned as a Uint8Array. If the identifier references a known variable, but\n * an error occurs in resolving it, the error is returned as a string.\n * Otherwise, the identifier is not recognized as a variable, and this method\n * simply returns `false`.\n *\n * @param identifier - The full identifier used to describe this operation, e.g.\n * `owner.signature.all_outputs`.\n * @param data - The `CompilationData` provided to the compiler\n * @param environment - The `CompilationEnvironment` provided to the compiler\n */\nconst resolveVariableIdentifier = ({ data, environment, identifier, }) => {\n var _a, _b, _c, _d, _e, _f, _g, _h;\n const [variableId, operationId] = identifier.split('.');\n switch (variableId) {\n case BuiltInVariables.currentBlockHeight:\n return attemptCompilerOperation({\n data,\n environment,\n identifier,\n matchingOperations: (_a = environment.operations) === null || _a === void 0 ? void 0 : _a.currentBlockHeight,\n operationId,\n variableId,\n variableType: 'currentBlockHeight',\n });\n case BuiltInVariables.currentBlockTime:\n return attemptCompilerOperation({\n data,\n environment,\n identifier,\n matchingOperations: (_b = environment.operations) === null || _b === void 0 ? void 0 : _b.currentBlockTime,\n operationId,\n variableId,\n variableType: 'currentBlockTime',\n });\n case BuiltInVariables.signingSerialization:\n return attemptCompilerOperation({\n data,\n environment,\n identifier,\n matchingOperations: (_c = environment.operations) === null || _c === void 0 ? void 0 : _c.signingSerialization,\n operationExample: 'version',\n operationId,\n variableId,\n variableType: 'signingSerialization',\n });\n default: {\n const expectedVariable = (_d = environment.variables) === null || _d === void 0 ? void 0 : _d[variableId];\n if (expectedVariable === undefined) {\n return { status: 'skip' };\n }\n return attemptCompilerOperation({\n data,\n environment,\n identifier,\n operationId,\n variableId,\n ...{\n // eslint-disable-next-line @typescript-eslint/naming-convention\n AddressData: {\n matchingOperations: (_e = environment.operations) === null || _e === void 0 ? void 0 : _e.addressData,\n variableType: 'addressData',\n },\n // eslint-disable-next-line @typescript-eslint/naming-convention\n HdKey: {\n matchingOperations: (_f = environment.operations) === null || _f === void 0 ? void 0 : _f.hdKey,\n operationExample: 'public_key',\n variableType: 'hdKey',\n },\n // eslint-disable-next-line @typescript-eslint/naming-convention\n Key: {\n matchingOperations: (_g = environment.operations) === null || _g === void 0 ? void 0 : _g.key,\n operationExample: 'public_key',\n variableType: 'key',\n },\n // eslint-disable-next-line @typescript-eslint/naming-convention\n WalletData: {\n matchingOperations: (_h = environment.operations) === null || _h === void 0 ? void 0 : _h.walletData,\n variableType: 'walletData',\n },\n }[expectedVariable.type],\n });\n }\n }\n};\n/**\n * Compile an internal script identifier.\n *\n * @remarks\n * If the identifer can be successfully resolved as a script, the script is\n * compiled and returned as a CompilationResultSuccess. If an error occurs in\n * compiling it, the error is returned as a string.\n *\n * Otherwise, the identifier is not recognized as a script, and this method\n * simply returns `false`.\n *\n * @param identifier - the identifier of the script to be resolved\n * @param data - the provided CompilationData\n * @param environment - the provided CompilationEnvironment\n * @param parentIdentifier - the identifier of the script which references the\n * script being resolved (for detecting circular dependencies)\n */\nconst resolveScriptIdentifier = ({ data, environment, identifier, }) => {\n if (environment.scripts[identifier] === undefined) {\n return false;\n }\n const result = (0,_compile__WEBPACK_IMPORTED_MODULE_4__.compileScriptRaw)({ data, environment, scriptId: identifier });\n if (result.success) {\n return result;\n }\n return `Compilation error in resolved script \"${identifier}\": ${(0,_language_utils__WEBPACK_IMPORTED_MODULE_5__.stringifyErrors)(result.errors)}`;\n /*\n * result.errors.reduce(\n * (all, { error, range }) =>\n * `${\n * all === '' ? '' : `${all}; `\n * } [${\n * range.startLineNumber\n * }, ${range.startColumn}]: ${error}`,\n * ''\n * );\n */\n};\n/**\n * Return an `IdentifierResolutionFunction` for use in `resolveScriptSegment`.\n *\n * @param scriptId - the `id` of the script for which the resulting\n * `IdentifierResolutionFunction` will be used.\n * @param environment - a snapshot of the context around `scriptId`. See\n * `CompilationEnvironment` for details.\n * @param data - the actual variable values (private keys, shared wallet data,\n * shared address data, etc.) to use in resolving variables.\n */\nconst createIdentifierResolver = ({ data, environment, }) => \n// eslint-disable-next-line complexity\n(identifier) => {\n var _a;\n const opcodeResult = (_a = environment.opcodes) === null || _a === void 0 ? void 0 : _a[identifier];\n if (opcodeResult !== undefined) {\n return {\n bytecode: opcodeResult,\n status: true,\n type: _language_types__WEBPACK_IMPORTED_MODULE_0__.IdentifierResolutionType.opcode,\n };\n }\n const variableResult = resolveVariableIdentifier({\n data,\n environment,\n identifier,\n });\n if (variableResult.status !== 'skip') {\n return variableResult.status === 'error'\n ? {\n ...('debug' in variableResult\n ? { debug: variableResult.debug }\n : {}),\n error: variableResult.error,\n ...(environment.entityOwnership === undefined\n ? {}\n : {\n entityOwnership: environment.entityOwnership[identifier.split('.')[0]],\n }),\n recoverable: 'recoverable' in variableResult,\n status: false,\n type: _language_types__WEBPACK_IMPORTED_MODULE_0__.IdentifierResolutionErrorType.variable,\n }\n : {\n ...('debug' in variableResult\n ? { debug: variableResult.debug }\n : {}),\n bytecode: variableResult.bytecode,\n ...('signature' in variableResult\n ? {\n signature: variableResult.signature,\n }\n : {}),\n status: true,\n type: _language_types__WEBPACK_IMPORTED_MODULE_0__.IdentifierResolutionType.variable,\n };\n }\n const scriptResult = resolveScriptIdentifier({\n data,\n environment,\n identifier,\n });\n if (scriptResult !== false) {\n return typeof scriptResult === 'string'\n ? {\n error: scriptResult,\n scriptId: identifier,\n status: false,\n type: _language_types__WEBPACK_IMPORTED_MODULE_0__.IdentifierResolutionErrorType.script,\n }\n : {\n bytecode: scriptResult.bytecode,\n source: scriptResult.resolve,\n status: true,\n type: _language_types__WEBPACK_IMPORTED_MODULE_0__.IdentifierResolutionType.script,\n };\n }\n return {\n error: `Unknown identifier \"${identifier}\".`,\n status: false,\n type: _language_types__WEBPACK_IMPORTED_MODULE_0__.IdentifierResolutionErrorType.unknown,\n };\n};\n//# sourceMappingURL=resolve.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/template/language/resolve.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/template/scenarios.js": +/*!******************************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/template/scenarios.js ***! + \******************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ extendCompilationDataWithScenarioBytecode: () => (/* binding */ extendCompilationDataWithScenarioBytecode),\n/* harmony export */ extendScenarioDefinition: () => (/* binding */ extendScenarioDefinition),\n/* harmony export */ extendScenarioDefinitionData: () => (/* binding */ extendScenarioDefinitionData),\n/* harmony export */ extendedScenarioDefinitionToCompilationData: () => (/* binding */ extendedScenarioDefinitionToCompilationData),\n/* harmony export */ generateDefaultScenarioDefinition: () => (/* binding */ generateDefaultScenarioDefinition),\n/* harmony export */ generateExtendedScenario: () => (/* binding */ generateExtendedScenario),\n/* harmony export */ generateScenarioCommon: () => (/* binding */ generateScenarioCommon)\n/* harmony export */ });\n/* harmony import */ var _format_hex__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../format/hex */ \"./node_modules/@bitauth/libauth/build/module/lib/format/hex.js\");\n/* harmony import */ var _format_numbers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../format/numbers */ \"./node_modules/@bitauth/libauth/build/module/lib/format/numbers.js\");\n/* harmony import */ var _key_hd_key__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../key/hd-key */ \"./node_modules/@bitauth/libauth/build/module/lib/key/hd-key.js\");\n/* harmony import */ var _compiler_defaults__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./compiler-defaults */ \"./node_modules/@bitauth/libauth/build/module/lib/template/compiler-defaults.js\");\n/* harmony import */ var _language_compile__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./language/compile */ \"./node_modules/@bitauth/libauth/build/module/lib/template/language/compile.js\");\n/* harmony import */ var _language_language_utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./language/language-utils */ \"./node_modules/@bitauth/libauth/build/module/lib/template/language/language-utils.js\");\n\n\n\n\n\n\n/*\n * & {\n * value: Uint8Array;\n * };\n */\n/**\n * Given a compilation environment, generate the default scenario which is\n * extended by all the environments scenarios.\n *\n * For details on default scenario generation, see\n * `AuthenticationTemplateScenario.extends`.\n *\n * @param environment - the compilation environment from which to generate the\n * default scenario\n */\n// eslint-disable-next-line complexity\nconst generateDefaultScenarioDefinition = (environment) => {\n const { variables, entityOwnership } = environment;\n const keyVariableIds = variables === undefined\n ? []\n : Object.entries(variables)\n .filter((entry) => entry[1].type === 'Key')\n .map(([id]) => id);\n const entityIds = entityOwnership === undefined\n ? []\n : Object.keys(Object.values(entityOwnership).reduce((all, entityId) => ({ ...all, [entityId]: true }), {}));\n const valueMap = [...keyVariableIds, ...entityIds]\n .sort(([idA], [idB]) => idA.localeCompare(idB))\n .reduce((all, id, index) => ({\n ...all,\n [id]: (0,_format_numbers__WEBPACK_IMPORTED_MODULE_0__.bigIntToBinUint256BEClamped)(BigInt(index + 1)),\n }), {});\n const privateKeys = variables === undefined\n ? undefined\n : Object.entries(variables).reduce((all, [variableId, variable]) => variable.type === 'Key'\n ? {\n ...all,\n [variableId]: (0,_format_hex__WEBPACK_IMPORTED_MODULE_1__.binToHex)(valueMap[variableId]),\n }\n : all, {});\n const defaultScenario = {\n data: {\n currentBlockHeight: _compiler_defaults__WEBPACK_IMPORTED_MODULE_2__.CompilerDefaults.defaultScenarioCurrentBlockHeight,\n currentBlockTime: _compiler_defaults__WEBPACK_IMPORTED_MODULE_2__.CompilerDefaults.defaultScenarioCurrentBlockTime,\n ...(privateKeys === undefined || Object.keys(privateKeys).length === 0\n ? {}\n : { keys: { privateKeys } }),\n },\n transaction: {\n inputs: [{ unlockingBytecode: null }],\n locktime: _compiler_defaults__WEBPACK_IMPORTED_MODULE_2__.CompilerDefaults.defaultScenarioTransactionLocktime,\n outputs: [\n {\n lockingBytecode: _compiler_defaults__WEBPACK_IMPORTED_MODULE_2__.CompilerDefaults.defaultScenarioTransactionOutputsLockingBytecodeHex,\n },\n ],\n version: _compiler_defaults__WEBPACK_IMPORTED_MODULE_2__.CompilerDefaults.defaultScenarioTransactionVersion,\n },\n value: _compiler_defaults__WEBPACK_IMPORTED_MODULE_2__.CompilerDefaults.defaultScenarioValue,\n };\n const hasHdKeys = variables === undefined\n ? false\n : Object.values(variables).findIndex((variable) => variable.type === 'HdKey') !== -1;\n if (!hasHdKeys) {\n return defaultScenario;\n }\n const { sha256, sha512 } = environment;\n if (sha256 === undefined) {\n return 'An implementations of \"sha256\" is required to generate defaults for HD keys, but the \"sha256\" property is not included in this compilation environment.';\n }\n if (sha512 === undefined) {\n return 'An implementations of \"sha512\" is required to generate defaults for HD keys, but the \"sha512\" property is not included in this compilation environment.';\n }\n const crypto = { sha256, sha512 };\n const hdPrivateKeys = entityIds.reduce((all, entityId) => {\n /**\n * The first 5,000,000,000 seeds have been tested, scenarios are\n * unlikely to exceed this number of entities.\n */\n const assumeValid = true;\n const masterNode = (0,_key_hd_key__WEBPACK_IMPORTED_MODULE_3__.deriveHdPrivateNodeFromSeed)(crypto, valueMap[entityId], assumeValid);\n const hdPrivateKey = (0,_key_hd_key__WEBPACK_IMPORTED_MODULE_3__.encodeHdPrivateKey)(crypto, {\n network: 'mainnet',\n node: masterNode,\n });\n return { ...all, [entityId]: hdPrivateKey };\n }, {});\n return {\n ...defaultScenario,\n data: {\n ...defaultScenario.data,\n hdKeys: {\n addressIndex: _compiler_defaults__WEBPACK_IMPORTED_MODULE_2__.CompilerDefaults.defaultScenarioAddressIndex,\n hdPrivateKeys,\n },\n },\n };\n};\n/**\n * Extend the `data` property of a scenario definition with values from a parent\n * scenario definition. Returns the extended value for `data`.\n *\n * @param parentData - the scenario `data` which is extended by the child\n * scenario\n * @param childData - the scenario `data` which may override values from the\n * parent scenario\n */\n// eslint-disable-next-line complexity\nconst extendScenarioDefinitionData = (parentData, childData) => {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n return {\n ...parentData,\n ...childData,\n ...(parentData.bytecode === undefined && childData.bytecode === undefined\n ? {}\n : {\n bytecode: {\n ...parentData.bytecode,\n ...childData.bytecode,\n },\n }),\n ...(parentData.hdKeys === undefined && childData.hdKeys === undefined\n ? {}\n : {\n hdKeys: {\n ...parentData.hdKeys,\n ...childData.hdKeys,\n ...(((_a = parentData.hdKeys) === null || _a === void 0 ? void 0 : _a.hdPrivateKeys) === undefined &&\n ((_b = childData.hdKeys) === null || _b === void 0 ? void 0 : _b.hdPrivateKeys) === undefined\n ? {}\n : {\n hdPrivateKeys: {\n ...(_c = parentData.hdKeys) === null || _c === void 0 ? void 0 : _c.hdPrivateKeys,\n ...(_d = childData.hdKeys) === null || _d === void 0 ? void 0 : _d.hdPrivateKeys,\n },\n }),\n ...(((_e = parentData.hdKeys) === null || _e === void 0 ? void 0 : _e.hdPublicKeys) === undefined &&\n ((_f = childData.hdKeys) === null || _f === void 0 ? void 0 : _f.hdPublicKeys) === undefined\n ? {}\n : {\n hdPublicKeys: {\n ...(_g = parentData.hdKeys) === null || _g === void 0 ? void 0 : _g.hdPublicKeys,\n ...(_h = childData.hdKeys) === null || _h === void 0 ? void 0 : _h.hdPublicKeys,\n },\n }),\n },\n }),\n ...(parentData.keys === undefined && childData.keys === undefined\n ? {}\n : {\n keys: {\n privateKeys: {\n ...(_j = parentData.keys) === null || _j === void 0 ? void 0 : _j.privateKeys,\n ...(_k = childData.keys) === null || _k === void 0 ? void 0 : _k.privateKeys,\n },\n },\n }),\n };\n};\n/**\n * Extend a child scenario definition with values from a parent scenario\n * definition. Returns the extended values for `data`, `transaction`, and\n * `value`.\n *\n * @param parentScenario - the scenario which is extended by the child scenario\n * @param childScenario - the scenario which may override values from the parent\n * scenario\n */\n// eslint-disable-next-line complexity\nconst extendScenarioDefinition = (parentScenario, childScenario) => {\n var _a, _b, _c;\n return {\n ...(parentScenario.data === undefined && childScenario.data === undefined\n ? {}\n : {\n data: extendScenarioDefinitionData((_a = parentScenario.data) !== null && _a !== void 0 ? _a : {}, (_b = childScenario.data) !== null && _b !== void 0 ? _b : {}),\n }),\n ...(parentScenario.transaction === undefined &&\n childScenario.transaction === undefined\n ? {}\n : {\n transaction: {\n ...parentScenario.transaction,\n ...childScenario.transaction,\n },\n }),\n ...(parentScenario.value === undefined && childScenario.value === undefined\n ? {}\n : { value: (_c = childScenario.value) !== null && _c !== void 0 ? _c : parentScenario.value }),\n };\n};\n/**\n * Generate the full scenario which is extended by the provided scenario\n * identifier. Scenarios for which `extends` is `undefined` extend the default\n * scenario for the provided compilation environment.\n *\n * @param scenarioId - the identifier of the scenario for from which to select\n * the extended scenario\n * @param environment - the compilation environment from which to generate the\n * extended scenario\n * @param sourceScenarioIds - an array of scenario identifiers indicating the\n * path taken to arrive at the current scenario - used to detect and prevent\n * cycles in extending scenarios (defaults to `[]`)\n */\n// eslint-disable-next-line complexity\nconst generateExtendedScenario = ({ environment, scenarioId, sourceScenarioIds = [], }) => {\n var _a;\n if (scenarioId === undefined) {\n return generateDefaultScenarioDefinition(environment);\n }\n if (sourceScenarioIds.includes(scenarioId)) {\n return `Cannot extend scenario \"${scenarioId}\": scenario \"${scenarioId}\" extends itself. Scenario inheritance path: ${sourceScenarioIds.join(' → ')}`;\n }\n const scenario = (_a = environment.scenarios) === null || _a === void 0 ? void 0 : _a[scenarioId];\n if (scenario === undefined) {\n return `Cannot extend scenario \"${scenarioId}\": a scenario with the identifier ${scenarioId} is not included in this compilation environment.`;\n }\n const parentScenario = scenario.extends === undefined\n ? generateDefaultScenarioDefinition(environment)\n : generateExtendedScenario({\n environment,\n scenarioId: scenario.extends,\n sourceScenarioIds: [...sourceScenarioIds, scenarioId],\n });\n if (typeof parentScenario === 'string') {\n return parentScenario;\n }\n return extendScenarioDefinition(parentScenario, scenario);\n};\n/**\n * Derive standard `CompilationData` properties from an extended scenario\n * definition.\n * @param definition - a scenario definition which has been extended by the\n * default scenario definition\n */\n// eslint-disable-next-line complexity\nconst extendedScenarioDefinitionToCompilationData = (definition) => {\n var _a;\n return ({\n ...(definition.data.currentBlockHeight === undefined\n ? {}\n : {\n currentBlockHeight: definition.data.currentBlockHeight,\n }),\n ...(definition.data.currentBlockTime === undefined\n ? {}\n : {\n currentBlockTime: definition.data.currentBlockTime,\n }),\n ...(definition.data.hdKeys === undefined\n ? {}\n : {\n hdKeys: {\n ...(definition.data.hdKeys.addressIndex === undefined\n ? {}\n : {\n addressIndex: definition.data.hdKeys.addressIndex,\n }),\n ...(definition.data.hdKeys.hdPrivateKeys !== undefined &&\n Object.keys(definition.data.hdKeys.hdPrivateKeys).length > 0\n ? {\n hdPrivateKeys: definition.data.hdKeys.hdPrivateKeys,\n }\n : {}),\n ...(definition.data.hdKeys.hdPublicKeys === undefined\n ? {}\n : {\n hdPublicKeys: definition.data.hdKeys.hdPublicKeys,\n }),\n },\n }),\n ...(((_a = definition.data.keys) === null || _a === void 0 ? void 0 : _a.privateKeys) !== undefined &&\n Object.keys(definition.data.keys.privateKeys).length > 0\n ? {\n keys: {\n privateKeys: Object.entries(definition.data.keys.privateKeys).reduce((all, [id, hex]) => ({ ...all, [id]: (0,_format_hex__WEBPACK_IMPORTED_MODULE_1__.hexToBin)(hex) }), {}),\n },\n }\n : {}),\n });\n};\n/**\n * Extend a `CompilationData` object with the compiled result of the bytecode\n * scripts provided by a `AuthenticationTemplateScenarioData`.\n *\n * @param compilationData - the compilation data to extend\n * @param environment - the compilation environment in which to compile the\n * scripts\n * @param scenarioDataBytecodeScripts - the `data.bytecode` property of an\n * `AuthenticationTemplateScenarioData`\n */\nconst extendCompilationDataWithScenarioBytecode = ({ compilationData, environment, scenarioDataBytecodeScripts, }) => {\n const prefixBytecodeScriptId = (id) => `${_compiler_defaults__WEBPACK_IMPORTED_MODULE_2__.CompilerDefaults.scenarioBytecodeScriptPrefix}${id}`;\n const bytecodeScripts = Object.entries(scenarioDataBytecodeScripts).reduce((all, [id, script]) => {\n return {\n ...all,\n [prefixBytecodeScriptId(id)]: script,\n };\n }, {});\n const bytecodeScriptExtendedEnvironment = {\n ...environment,\n scripts: {\n ...environment.scripts,\n ...bytecodeScripts,\n },\n };\n const bytecodeCompilations = Object.keys(scenarioDataBytecodeScripts).map((id) => {\n const result = (0,_language_compile__WEBPACK_IMPORTED_MODULE_4__.compileScriptRaw)({\n data: compilationData,\n environment: bytecodeScriptExtendedEnvironment,\n scriptId: prefixBytecodeScriptId(id),\n });\n if (result.success) {\n return {\n bytecode: result.bytecode,\n id,\n };\n }\n return {\n errors: result.errors,\n id,\n };\n });\n const failedResults = bytecodeCompilations.filter((result) => 'errors' in result);\n if (failedResults.length > 0) {\n return `${failedResults\n .map((result) => `Compilation error while generating bytecode for \"${result.id}\": ${(0,_language_language_utils__WEBPACK_IMPORTED_MODULE_5__.stringifyErrors)(result.errors)}`)\n .join('; ')}`;\n }\n const compiledBytecode = bytecodeCompilations.reduce((all, result) => ({ ...all, [result.id]: result.bytecode }), {});\n return {\n ...(Object.keys(compiledBytecode).length > 0\n ? { bytecode: compiledBytecode }\n : {}),\n ...compilationData,\n };\n};\n/**\n * The default `lockingBytecode` value for scenario outputs is a new empty\n * object (`{}`).\n */\nconst getScenarioOutputDefaultLockingBytecode = () => ({});\n/**\n * Generate a scenario given a compilation environment. If neither `scenarioId`\n * or `unlockingScriptId` are provided, the default scenario for the compilation\n * environment will be generated.\n *\n * Returns either the full `CompilationData` for the selected scenario or an\n * error message (as a `string`).\n *\n * @param scenarioId - the ID of the scenario to generate – if `undefined`, the\n * default scenario\n * @param unlockingScriptId - the ID of the unlocking script under test by this\n * scenario – if `undefined` but required by the scenario, an error will be\n * produced\n * @param environment - the compilation environment from which to generate the\n * scenario\n */\n// eslint-disable-next-line complexity\nconst generateScenarioCommon = ({ environment, scenarioId, unlockingScriptId, }) => {\n var _a, _b;\n const { scenario, scenarioName } = scenarioId === undefined\n ? { scenario: {}, scenarioName: `the default scenario` }\n : {\n scenario: (_a = environment.scenarios) === null || _a === void 0 ? void 0 : _a[scenarioId],\n scenarioName: `scenario \"${scenarioId}\"`,\n };\n if (scenario === undefined) {\n return `Cannot generate ${scenarioName}: a scenario with the identifier ${scenarioId} is not included in this compilation environment.`;\n }\n const parentScenario = generateExtendedScenario({ environment, scenarioId });\n if (typeof parentScenario === 'string') {\n return `Cannot generate ${scenarioName}: ${parentScenario}`;\n }\n const extendedScenario = extendScenarioDefinition(parentScenario, scenario);\n const partialCompilationData = extendedScenarioDefinitionToCompilationData(extendedScenario);\n const fullCompilationData = extendCompilationDataWithScenarioBytecode({\n compilationData: partialCompilationData,\n environment,\n scenarioDataBytecodeScripts: (_b = extendedScenario.data.bytecode) !== null && _b !== void 0 ? _b : {},\n });\n if (typeof fullCompilationData === 'string') {\n return `Cannot generate ${scenarioName}: ${fullCompilationData}`;\n }\n const testedInputs = extendedScenario.transaction.inputs.filter((input) => input.unlockingBytecode === null);\n if (testedInputs.length !== 1) {\n return `Cannot generate ${scenarioName}: the specific input under test in this scenario is ambiguous – \"transaction.inputs\" must include exactly one input which has \"unlockingBytecode\" set to \"null\".`;\n }\n const testedInputIndex = extendedScenario.transaction.inputs.findIndex((input) => input.unlockingBytecode === null);\n const outputs = extendedScenario.transaction.outputs.map((output) => {\n var _a, _b;\n return ({\n lockingBytecode: (_a = output.lockingBytecode) !== null && _a !== void 0 ? _a : getScenarioOutputDefaultLockingBytecode(),\n satoshis: (_b = output.satoshis) !== null && _b !== void 0 ? _b : _compiler_defaults__WEBPACK_IMPORTED_MODULE_2__.CompilerDefaults.defaultScenarioOutputSatoshis,\n });\n });\n const compiledOutputResults = outputs.map(\n // eslint-disable-next-line complexity\n (output, index) => {\n var _a, _b;\n const satoshis = typeof output.satoshis === 'string'\n ? (0,_format_hex__WEBPACK_IMPORTED_MODULE_1__.hexToBin)(output.satoshis)\n : (0,_format_numbers__WEBPACK_IMPORTED_MODULE_0__.bigIntToBinUint64LE)(BigInt(output.satoshis));\n if (typeof output.lockingBytecode === 'string') {\n return {\n lockingBytecode: (0,_format_hex__WEBPACK_IMPORTED_MODULE_1__.hexToBin)(output.lockingBytecode),\n satoshis,\n };\n }\n const specifiedLockingScriptId = output.lockingBytecode.script;\n const impliedLockingScriptId = unlockingScriptId === undefined\n ? undefined\n : (_a = environment.unlockingScripts) === null || _a === void 0 ? void 0 : _a[unlockingScriptId];\n const scriptId = typeof specifiedLockingScriptId === 'string'\n ? specifiedLockingScriptId\n : impliedLockingScriptId;\n if (scriptId === undefined) {\n if (unlockingScriptId === undefined) {\n return `Cannot generate locking bytecode for output ${index}: this output is set to use the script unlocked by the unlocking script under test, but an unlocking script ID was not provided for scenario generation.`;\n }\n return `Cannot generate locking bytecode for output ${index}: the locking script unlocked by \"${unlockingScriptId}\" is not provided in this compilation environment.`;\n }\n const overriddenDataDefinition = output.lockingBytecode.overrides === undefined\n ? undefined\n : extendScenarioDefinitionData(extendedScenario.data, output.lockingBytecode.overrides);\n const overriddenCompilationData = overriddenDataDefinition === undefined\n ? undefined\n : extendCompilationDataWithScenarioBytecode({\n compilationData: extendedScenarioDefinitionToCompilationData({\n data: overriddenDataDefinition,\n }),\n environment,\n scenarioDataBytecodeScripts: (_b = overriddenDataDefinition.bytecode) !== null && _b !== void 0 ? _b : {},\n });\n if (typeof overriddenCompilationData === 'string') {\n return `Cannot generate locking bytecode for output ${index}: ${overriddenCompilationData}`;\n }\n const data = overriddenCompilationData === undefined\n ? fullCompilationData\n : overriddenCompilationData;\n const result = (0,_language_compile__WEBPACK_IMPORTED_MODULE_4__.compileScript)(scriptId, data, environment);\n if (!result.success) {\n return `Cannot generate locking bytecode for output ${index}: ${(0,_language_language_utils__WEBPACK_IMPORTED_MODULE_5__.stringifyErrors)(result.errors)}`;\n }\n return { lockingBytecode: result.bytecode, satoshis };\n });\n const outputCompilationErrors = compiledOutputResults.filter((result) => typeof result === 'string');\n if (outputCompilationErrors.length > 0) {\n return `Cannot generate ${scenarioName}: ${outputCompilationErrors.join('; ')}`;\n }\n const compiledOutputs = compiledOutputResults;\n const sourceSatoshis = typeof extendedScenario.value === 'number'\n ? (0,_format_numbers__WEBPACK_IMPORTED_MODULE_0__.bigIntToBinUint64LE)(BigInt(extendedScenario.value))\n : (0,_format_hex__WEBPACK_IMPORTED_MODULE_1__.hexToBin)(extendedScenario.value);\n const unlockingBytecodeUnderTest = undefined;\n return {\n data: fullCompilationData,\n program: {\n inputIndex: testedInputIndex,\n sourceOutput: { satoshis: sourceSatoshis },\n spendingTransaction: {\n // eslint-disable-next-line complexity\n inputs: extendedScenario.transaction.inputs.map((input) => {\n var _a, _b, _c;\n return ({\n outpointIndex: (_a = input.outpointIndex) !== null && _a !== void 0 ? _a : _compiler_defaults__WEBPACK_IMPORTED_MODULE_2__.CompilerDefaults.defaultScenarioInputOutpointIndex,\n outpointTransactionHash: (0,_format_hex__WEBPACK_IMPORTED_MODULE_1__.hexToBin)((_b = input.outpointTransactionHash) !== null && _b !== void 0 ? _b : _compiler_defaults__WEBPACK_IMPORTED_MODULE_2__.CompilerDefaults.defaultScenarioInputOutpointTransactionHash),\n sequenceNumber: (_c = input.sequenceNumber) !== null && _c !== void 0 ? _c : _compiler_defaults__WEBPACK_IMPORTED_MODULE_2__.CompilerDefaults.defaultScenarioInputSequenceNumber,\n unlockingBytecode: input.unlockingBytecode === null\n ? unlockingBytecodeUnderTest\n : (0,_format_hex__WEBPACK_IMPORTED_MODULE_1__.hexToBin)(typeof input.unlockingBytecode === 'string'\n ? input.unlockingBytecode\n : _compiler_defaults__WEBPACK_IMPORTED_MODULE_2__.CompilerDefaults.defaultScenarioInputUnlockingBytecodeHex),\n });\n }),\n locktime: extendedScenario.transaction.locktime,\n outputs: compiledOutputs,\n version: extendedScenario.transaction.version,\n },\n },\n };\n};\n//# sourceMappingURL=scenarios.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/template/scenarios.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/template/standard/p2pkh.js": +/*!***********************************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/template/standard/p2pkh.js ***! + \***********************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ authenticationTemplateP2pkh: () => (/* binding */ authenticationTemplateP2pkh),\n/* harmony export */ authenticationTemplateP2pkhNonHd: () => (/* binding */ authenticationTemplateP2pkhNonHd)\n/* harmony export */ });\n/**\n * A standard single-factor authentication template which uses\n * Pay-to-Public-Key-Hash (P2PKH), the most common authentication scheme in use\n * on the network.\n *\n * This P2PKH template uses BCH Schnorr signatures, reducing the size of\n * transactions.\n *\n * Note, this authentication template uses only a single `Key`. For HD key\n * support, see `authenticationTemplateP2pkhHd`.\n */\nconst authenticationTemplateP2pkhNonHd = {\n $schema: 'https://bitauth.com/schemas/authentication-template-v0.schema.json',\n description: 'A standard single-factor authentication template which uses Pay-to-Public-Key-Hash (P2PKH), the most common authentication scheme in use on the network.\\n\\nThis P2PKH template uses BCH Schnorr signatures, reducing the size of transactions.',\n entities: {\n owner: {\n description: 'The individual who can spend from this wallet.',\n name: 'Owner',\n scripts: ['lock', 'unlock'],\n variables: {\n key: {\n description: 'The private key which controls this wallet.',\n name: 'Key',\n type: 'Key',\n },\n },\n },\n },\n name: 'Single Signature (P2PKH)',\n scripts: {\n lock: {\n lockingType: 'standard',\n name: 'P2PKH Lock',\n script: 'OP_DUP\\nOP_HASH160 <$( OP_HASH160\\n)> OP_EQUALVERIFY\\nOP_CHECKSIG',\n },\n unlock: {\n name: 'Unlock',\n script: '\\n',\n unlocks: 'lock',\n },\n },\n supported: ['BCH_2019_05', 'BCH_2019_11', 'BCH_2020_05'],\n version: 0,\n};\n/**\n * A standard single-factor authentication template which uses\n * Pay-to-Public-Key-Hash (P2PKH), the most common authentication scheme in use\n * on the network.\n *\n * This P2PKH template uses BCH Schnorr signatures, reducing the size of\n * transactions.\n *\n * Because the template uses a Hierarchical Deterministic (HD) key, it also\n * supports an \"Observer (Watch-Only)\" entity.\n */\nconst authenticationTemplateP2pkh = {\n $schema: 'https://bitauth.com/schemas/authentication-template-v0.schema.json',\n description: 'A standard single-factor authentication template which uses Pay-to-Public-Key-Hash (P2PKH), the most common authentication scheme in use on the network.\\n\\nThis P2PKH template uses BCH Schnorr signatures, reducing the size of transactions. Because the template uses a Hierarchical Deterministic (HD) key, it also supports an \"Observer (Watch-Only)\" entity.',\n entities: {\n observer: {\n description: 'An entity which can generate addresses but cannot spend funds from this wallet.',\n name: 'Observer (Watch-Only)',\n scripts: ['lock'],\n },\n owner: {\n description: 'The individual who can spend from this wallet.',\n name: 'Owner',\n scripts: ['lock', 'unlock'],\n variables: {\n key: {\n description: 'The private key which controls this wallet.',\n name: 'Key',\n type: 'HdKey',\n },\n },\n },\n },\n name: 'Single Signature (P2PKH)',\n scripts: {\n lock: {\n lockingType: 'standard',\n name: 'P2PKH Lock',\n script: 'OP_DUP\\nOP_HASH160 <$( OP_HASH160\\n)> OP_EQUALVERIFY\\nOP_CHECKSIG',\n },\n unlock: {\n name: 'Unlock',\n script: '\\n',\n unlocks: 'lock',\n },\n },\n supported: ['BCH_2019_05', 'BCH_2019_11', 'BCH_2020_05'],\n version: 0,\n};\n//# sourceMappingURL=p2pkh.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/template/standard/p2pkh.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/template/standard/standard.js": +/*!**************************************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/template/standard/standard.js ***! + \**************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ authenticationTemplateP2pkh: () => (/* reexport safe */ _p2pkh__WEBPACK_IMPORTED_MODULE_0__.authenticationTemplateP2pkh),\n/* harmony export */ authenticationTemplateP2pkhNonHd: () => (/* reexport safe */ _p2pkh__WEBPACK_IMPORTED_MODULE_0__.authenticationTemplateP2pkhNonHd)\n/* harmony export */ });\n/* harmony import */ var _p2pkh__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./p2pkh */ \"./node_modules/@bitauth/libauth/build/module/lib/template/standard/p2pkh.js\");\n\n//# sourceMappingURL=standard.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/template/standard/standard.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/template/template-types.js": +/*!***********************************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/template/template-types.js ***! + \***********************************************************************************/ +/***/ (() => { + +eval("/* eslint-disable max-lines */\n/**\n * Because this file is consumed by the `doc:generate-json-schema` package\n * script to produce a JSON schema, large sections of the below documentation\n * are copied from this libraries `Transaction` and `CompilationData` types.\n *\n * This is preferable to importing those types, as most documentation needs to\n * be slightly modified for this context, and avoiding imports in this file\n * makes it easier to provide a stable API.\n */\n//# sourceMappingURL=template-types.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/template/template-types.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/template/template-validation.js": +/*!****************************************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/template/template-validation.js ***! + \****************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ parseAuthenticationTemplateEntities: () => (/* binding */ parseAuthenticationTemplateEntities),\n/* harmony export */ parseAuthenticationTemplateScenarioData: () => (/* binding */ parseAuthenticationTemplateScenarioData),\n/* harmony export */ parseAuthenticationTemplateScenarioDataHdKeys: () => (/* binding */ parseAuthenticationTemplateScenarioDataHdKeys),\n/* harmony export */ parseAuthenticationTemplateScenarioDataKeys: () => (/* binding */ parseAuthenticationTemplateScenarioDataKeys),\n/* harmony export */ parseAuthenticationTemplateScenarioTransaction: () => (/* binding */ parseAuthenticationTemplateScenarioTransaction),\n/* harmony export */ parseAuthenticationTemplateScenarioTransactionInputs: () => (/* binding */ parseAuthenticationTemplateScenarioTransactionInputs),\n/* harmony export */ parseAuthenticationTemplateScenarioTransactionOutputLockingBytecode: () => (/* binding */ parseAuthenticationTemplateScenarioTransactionOutputLockingBytecode),\n/* harmony export */ parseAuthenticationTemplateScenarioTransactionOutputs: () => (/* binding */ parseAuthenticationTemplateScenarioTransactionOutputs),\n/* harmony export */ parseAuthenticationTemplateScenarios: () => (/* binding */ parseAuthenticationTemplateScenarios),\n/* harmony export */ parseAuthenticationTemplateScripts: () => (/* binding */ parseAuthenticationTemplateScripts),\n/* harmony export */ parseAuthenticationTemplateVariable: () => (/* binding */ parseAuthenticationTemplateVariable),\n/* harmony export */ validateAuthenticationTemplate: () => (/* binding */ validateAuthenticationTemplate)\n/* harmony export */ });\n/* harmony import */ var _format_hex__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../format/hex */ \"./node_modules/@bitauth/libauth/build/module/lib/format/hex.js\");\n/* harmony import */ var _key_key_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../key/key-utils */ \"./node_modules/@bitauth/libauth/build/module/lib/key/key-utils.js\");\n/* harmony import */ var _compiler_defaults__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./compiler-defaults */ \"./node_modules/@bitauth/libauth/build/module/lib/template/compiler-defaults.js\");\n/* harmony import */ var _language_resolve__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./language/resolve */ \"./node_modules/@bitauth/libauth/build/module/lib/template/language/resolve.js\");\n/* eslint-disable max-lines, @typescript-eslint/ban-types */\n\n\n\n\nconst listIds = (ids) => ids\n .map((id) => `\"${id}\"`)\n .sort((a, b) => a.localeCompare(b))\n .join(', ');\n/**\n * Verify that the provided value is an array which is not sparse.\n */\nconst isDenseArray = (maybeArray) => Array.isArray(maybeArray) && !maybeArray.includes(undefined);\n/**\n * Check that a value is an array which contains only strings and has no empty\n * items (is not a sparse array, e.g. `[1, , 3]`).\n */\nconst isStringArray = (maybeArray) => isDenseArray(maybeArray) &&\n !maybeArray.some((item) => typeof item !== 'string');\nconst isObject = (maybeObject) => typeof maybeObject === 'object' && maybeObject !== null;\nconst isStringObject = (maybeStringObject) => !Object.values(maybeStringObject).some((value) => typeof value !== 'string');\nconst hasNonHexCharacter = /[^a-fA-F0-9]/u;\nconst isHexString = (maybeHexString) => typeof maybeHexString === 'string' &&\n !hasNonHexCharacter.test(maybeHexString);\nconst characterLength32BytePrivateKey = 64;\nconst isObjectOfValidPrivateKeys = (maybePrivateKeysObject) => !Object.values(maybePrivateKeysObject).some((value) => !isHexString(value) ||\n value.length !== characterLength32BytePrivateKey ||\n !(0,_key_key_utils__WEBPACK_IMPORTED_MODULE_0__.validateSecp256k1PrivateKey)((0,_format_hex__WEBPACK_IMPORTED_MODULE_1__.hexToBin)(value)));\nconst isInteger = (value) => typeof value === 'number' && Number.isInteger(value);\nconst isPositiveInteger = (value) => isInteger(value) && value >= 0;\nconst isRangedInteger = (value, minimum, maximum) => isInteger(value) && value >= minimum && value <= maximum;\n/**\n * Verify that a value is a valid `satoshi` value: either a number between `0`\n * and `Number.MAX_SAFE_INTEGER` or a 16-character, hexadecimal-encoded string.\n *\n * @param maybeSatoshis - the value to verify\n */\nconst isValidSatoshisValue = (maybeSatoshis) => {\n const uint64HexLength = 16;\n if (maybeSatoshis === undefined ||\n isRangedInteger(maybeSatoshis, 0, Number.MAX_SAFE_INTEGER) ||\n (isHexString(maybeSatoshis) && maybeSatoshis.length === uint64HexLength)) {\n return true;\n }\n return false;\n};\n/**\n * Parse an authentication template `scripts` object into its component scripts,\n * validating the shape of each script object. Returns either an error message\n * as a string or an object of cloned and sorted scripts.\n *\n * @param scripts - the `scripts` property of an `AuthenticationTemplate`\n */\n// eslint-disable-next-line complexity\nconst parseAuthenticationTemplateScripts = (scripts) => {\n const unknownScripts = Object.entries(scripts).map(([id, script]) => ({ id, script }));\n const nonObjectScripts = unknownScripts\n .filter(({ script }) => typeof script !== 'object' || script === null)\n .map(({ id }) => id);\n if (nonObjectScripts.length > 0) {\n return `All authentication template scripts must be objects, but the following scripts are not objects: ${listIds(nonObjectScripts)}.`;\n }\n const allScripts = unknownScripts;\n const unlockingResults = allScripts\n .filter(({ script }) => 'unlocks' in script)\n // eslint-disable-next-line complexity\n .map(({ id, script }) => {\n const { ageLock, estimate, fails, invalid, name, passes, script: scriptContents, timeLockType, unlocks, } = script;\n if (typeof unlocks !== 'string') {\n return `The \"unlocks\" property of unlocking script \"${id}\" must be a string.`;\n }\n if (typeof scriptContents !== 'string') {\n return `The \"script\" property of unlocking script \"${id}\" must be a string.`;\n }\n if (ageLock !== undefined && typeof ageLock !== 'string') {\n return `If defined, the \"ageLock\" property of unlocking script \"${id}\" must be a string.`;\n }\n if (estimate !== undefined && typeof estimate !== 'string') {\n return `If defined, the \"estimate\" property of unlocking script \"${id}\" must be a string.`;\n }\n if (name !== undefined && typeof name !== 'string') {\n return `If defined, the \"name\" property of unlocking script \"${id}\" must be a string.`;\n }\n if (fails !== undefined && !isStringArray(fails)) {\n return `If defined, the \"fails\" property of unlocking script \"${id}\" must be an array containing only scenario identifiers (strings).`;\n }\n if (invalid !== undefined && !isStringArray(invalid)) {\n return `If defined, the \"invalid\" property of unlocking script \"${id}\" must be an array containing only scenario identifiers (strings).`;\n }\n if (passes !== undefined && !isStringArray(passes)) {\n return `If defined, the \"passes\" property of unlocking script \"${id}\" must be an array containing only scenario identifiers (strings).`;\n }\n if (timeLockType !== undefined &&\n timeLockType !== 'timestamp' &&\n timeLockType !== 'height') {\n return `If defined, the \"timeLockType\" property of unlocking script \"${id}\" must be either \"timestamp\" or \"height\".`;\n }\n return {\n id,\n script: {\n ...(ageLock === undefined ? {} : { ageLock }),\n ...(estimate === undefined ? {} : { estimate }),\n ...(fails === undefined ? {} : { fails }),\n ...(invalid === undefined ? {} : { invalid }),\n ...(passes === undefined ? {} : { passes }),\n ...(name === undefined ? {} : { name }),\n script: scriptContents,\n ...(timeLockType === undefined ? {} : { timeLockType }),\n unlocks,\n },\n };\n });\n const invalidUnlockingResults = unlockingResults.filter((result) => typeof result === 'string');\n if (invalidUnlockingResults.length > 0) {\n return invalidUnlockingResults.join(' ');\n }\n const validUnlockingResults = unlockingResults;\n const unlocking = validUnlockingResults.reduce((all, result) => ({ ...all, [result.id]: result.script }), {});\n const unlockingIds = validUnlockingResults.map(({ id }) => id);\n const impliedLockingIds = validUnlockingResults.map(({ script }) => script.unlocks);\n const lockingResults = allScripts\n .filter(({ id, script }) => 'lockingType' in script || impliedLockingIds.includes(id))\n // eslint-disable-next-line complexity\n .map(({ id, script }) => {\n const { lockingType, script: scriptContents, name } = script;\n if (lockingType !== 'standard' && lockingType !== 'p2sh') {\n return `The \"lockingType\" property of locking script \"${id}\" must be either \"standard\" or \"p2sh\".`;\n }\n if (typeof scriptContents !== 'string') {\n return `The \"script\" property of locking script \"${id}\" must be a string.`;\n }\n if (name !== undefined && typeof name !== 'string') {\n return `If defined, the \"name\" property of locking script \"${id}\" must be a string.`;\n }\n return {\n id,\n script: {\n lockingType,\n ...(name === undefined ? {} : { name }),\n script: scriptContents,\n },\n };\n });\n const invalidLockingResults = lockingResults.filter((result) => typeof result === 'string');\n if (invalidLockingResults.length > 0) {\n return invalidLockingResults.join(' ');\n }\n const validLockingResults = lockingResults;\n const locking = validLockingResults.reduce((all, result) => ({ ...all, [result.id]: result.script }), {});\n const lockingIds = validLockingResults.map(({ id }) => id);\n const unknownLockingIds = Object.values(unlocking)\n .map((script) => script.unlocks)\n .filter((unlocks) => !lockingIds.includes(unlocks));\n if (unknownLockingIds.length > 0) {\n return `The following locking scripts (referenced in \"unlocks\" properties) were not provided: ${listIds(unknownLockingIds)}.`;\n }\n const testedResults = allScripts\n .filter(({ script }) => 'tests' in script)\n // eslint-disable-next-line complexity\n .map(({ id, script }) => {\n const { tests, script: scriptContents, name, pushed } = script;\n if (typeof scriptContents !== 'string') {\n return `The \"script\" property of tested script \"${id}\" must be a string.`;\n }\n if (name !== undefined && typeof name !== 'string') {\n return `If defined, the \"name\" property of tested script \"${id}\" must be a string.`;\n }\n if (pushed !== undefined && pushed !== true && pushed !== false) {\n return `If defined, the \"pushed\" property of tested script \"${id}\" must be a boolean value.`;\n }\n if (!Array.isArray(tests)) {\n return `If defined, the \"tests\" property of tested script \"${id}\" must be an array.`;\n }\n const extractedTests = \n // eslint-disable-next-line complexity\n tests.map((test) => {\n const { check, fails, invalid, name: testName, passes, setup, } = test;\n if (typeof check !== 'string') {\n return `The \"check\" properties of all tests in tested script \"${id}\" must be a strings.`;\n }\n if (testName !== undefined && typeof testName !== 'string') {\n return `If defined, the \"name\" properties of all tests in tested script \"${id}\" must be strings.`;\n }\n if (setup !== undefined && typeof setup !== 'string') {\n return `If defined, the \"setup\" properties of all tests in tested script \"${id}\" must be strings.`;\n }\n if (fails !== undefined && !isStringArray(fails)) {\n return `If defined, the \"fails\" property of each test in tested script \"${id}\" must be an array containing only scenario identifiers (strings).`;\n }\n if (invalid !== undefined && !isStringArray(invalid)) {\n return `If defined, the \"invalid\" property of each test in tested script \"${id}\" must be an array containing only scenario identifiers (strings).`;\n }\n if (passes !== undefined && !isStringArray(passes)) {\n return `If defined, the \"passes\" property of each test in tested script \"${id}\" must be an array containing only scenario identifiers (strings).`;\n }\n return {\n check,\n ...(fails === undefined ? {} : { fails }),\n ...(invalid === undefined ? {} : { invalid }),\n ...(passes === undefined ? {} : { passes }),\n ...(testName === undefined ? {} : { name: testName }),\n ...(setup === undefined ? {} : { setup }),\n };\n });\n const invalidTests = extractedTests.filter((result) => typeof result === 'string');\n if (invalidTests.length > 0) {\n return invalidTests.join(' ');\n }\n const validTests = extractedTests;\n return {\n id,\n script: {\n ...(name === undefined ? {} : { name }),\n ...(pushed === undefined ? {} : { pushed }),\n script: scriptContents,\n tests: validTests,\n },\n };\n });\n const invalidTestedResults = testedResults.filter((result) => typeof result === 'string');\n if (invalidTestedResults.length > 0) {\n return invalidTestedResults.join(' ');\n }\n const validTestedResults = testedResults;\n const tested = validTestedResults.reduce((all, result) => ({ ...all, [result.id]: result.script }), {});\n const testedIds = validTestedResults.map(({ id }) => id);\n const lockingAndUnlockingIds = [...lockingIds, ...unlockingIds];\n const lockingAndUnlockingIdsWithTests = lockingAndUnlockingIds.filter((id) => testedIds.includes(id));\n if (lockingAndUnlockingIdsWithTests.length > 0) {\n return `Locking and unlocking scripts may not have tests, but the following scripts include a \"tests\" property: ${listIds(lockingAndUnlockingIdsWithTests)}`;\n }\n const alreadySortedIds = [...lockingAndUnlockingIds, testedIds];\n const otherResults = allScripts\n .filter(({ id }) => !alreadySortedIds.includes(id))\n .map(({ id, script }) => {\n const { script: scriptContents, name } = script;\n if (typeof scriptContents !== 'string') {\n return `The \"script\" property of script \"${id}\" must be a string.`;\n }\n if (name !== undefined && typeof name !== 'string') {\n return `If defined, the \"name\" property of script \"${id}\" must be a string.`;\n }\n return {\n id,\n script: {\n ...(name === undefined ? {} : { name }),\n script: scriptContents,\n },\n };\n });\n const invalidOtherResults = otherResults.filter((result) => typeof result === 'string');\n if (invalidOtherResults.length > 0) {\n return invalidOtherResults.join(' ');\n }\n const validOtherResults = otherResults;\n const other = validOtherResults.reduce((all, result) => ({ ...all, [result.id]: result.script }), {});\n return {\n locking,\n other,\n tested,\n unlocking,\n };\n};\nconst authenticationTemplateVariableTypes = [\n 'AddressData',\n 'HdKey',\n 'Key',\n 'WalletData',\n];\nconst isAuthenticationTemplateVariableType = (type) => authenticationTemplateVariableTypes.includes(type);\n/**\n * Parse an authentication template entity `variables` object into its component\n * variables, validating the shape of each variable object. Returns either an\n * error message as a string or the cloned variables object.\n *\n * @param scripts - the `scripts` property of an `AuthenticationTemplate`\n */\nconst parseAuthenticationTemplateVariable = (variables, entityId) => {\n const unknownVariables = Object.entries(variables).map(([id, variable]) => ({ id, variable }));\n const nonObjectVariables = unknownVariables\n .filter(({ variable }) => typeof variable !== 'object' || variable === null)\n .map(({ id }) => id);\n if (nonObjectVariables.length > 0) {\n return `All authentication template variables must be objects, but the following variables owned by entity \"${entityId}\" are not objects: ${listIds(nonObjectVariables)}.`;\n }\n const allEntities = unknownVariables;\n const variableResults = allEntities\n // eslint-disable-next-line complexity\n .map(({ id, variable }) => {\n const { description, name, type } = variable;\n if (!isAuthenticationTemplateVariableType(type)) {\n return `The \"type\" property of variable \"${id}\" must be a valid authentication template variable type. Available types are: ${listIds(authenticationTemplateVariableTypes)}.`;\n }\n if (description !== undefined && typeof description !== 'string') {\n return `If defined, the \"description\" property of variable \"${id}\" must be a string.`;\n }\n if (name !== undefined && typeof name !== 'string') {\n return `If defined, the \"name\" property of variable \"${id}\" must be a string.`;\n }\n if (type === 'HdKey') {\n const { addressOffset, hdPublicKeyDerivationPath, privateDerivationPath, publicDerivationPath, } = variable;\n if (addressOffset !== undefined && typeof addressOffset !== 'number') {\n return `If defined, the \"addressOffset\" property of HdKey \"${id}\" must be a number.`;\n }\n if (hdPublicKeyDerivationPath !== undefined &&\n typeof hdPublicKeyDerivationPath !== 'string') {\n return `If defined, the \"hdPublicKeyDerivationPath\" property of HdKey \"${id}\" must be a string.`;\n }\n if (privateDerivationPath !== undefined &&\n typeof privateDerivationPath !== 'string') {\n return `If defined, the \"privateDerivationPath\" property of HdKey \"${id}\" must be a string.`;\n }\n if (publicDerivationPath !== undefined &&\n typeof publicDerivationPath !== 'string') {\n return `If defined, the \"publicDerivationPath\" property of HdKey \"${id}\" must be a string.`;\n }\n const hdPublicKeyPath = hdPublicKeyDerivationPath !== null && hdPublicKeyDerivationPath !== void 0 ? hdPublicKeyDerivationPath : _compiler_defaults__WEBPACK_IMPORTED_MODULE_2__.CompilerDefaults.hdKeyHdPublicKeyDerivationPath;\n const privatePath = privateDerivationPath !== null && privateDerivationPath !== void 0 ? privateDerivationPath : _compiler_defaults__WEBPACK_IMPORTED_MODULE_2__.CompilerDefaults.hdKeyPrivateDerivationPath;\n const publicPath = publicDerivationPath !== null && publicDerivationPath !== void 0 ? publicDerivationPath : privatePath.replace('m', 'M');\n const validPrivatePathWithIndex = /^m(?:\\/(?:[0-9]+|i)'?)*$/u;\n const validPrivatePath = /^m(?:\\/[0-9]+'?)*$/u;\n const replacedPrivatePath = privatePath.replace('i', '0');\n if (!validPrivatePathWithIndex.test(privatePath) &&\n !validPrivatePath.test(replacedPrivatePath)) {\n return `If defined, the \"privateDerivationPath\" property of HdKey \"${id}\" must be a valid private derivation path, but the provided value is \"${hdPublicKeyPath}\". A valid path must begin with \"m\" and include only \"/\", \"'\", a single \"i\" address index character, and numbers.`;\n }\n if (!validPrivatePath.test(hdPublicKeyPath)) {\n return `If defined, the \"hdPublicKeyDerivationPath\" property of an HdKey must be a valid private derivation path for the HdKey's HD public node, but the provided value for HdKey \"${id}\" is \"${hdPublicKeyPath}\". A valid path must begin with \"m\" and include only \"/\", \"'\", and numbers (the \"i\" character cannot be used in \"hdPublicKeyDerivationPath\").`;\n }\n const validPublicPathWithIndex = /^M(?:\\/(?:[0-9]+|i))*$/u;\n const validPublicPath = /^M(?:\\/[0-9]+)*$/u;\n const replacedPublicPath = publicPath.replace('i', '0');\n if (!validPublicPathWithIndex.test(publicPath) &&\n !validPublicPath.test(replacedPublicPath)) {\n return `The \"publicDerivationPath\" property of HdKey \"${id}\" must be a valid public derivation path, but the current value is \"${publicPath}\". Public derivation paths must begin with \"M\" and include only \"/\", a single \"i\" address index character, and numbers. If the \"privateDerivationPath\" uses hardened derivation, the \"publicDerivationPath\" should be set to enable public derivation from the \"hdPublicKeyDerivationPath\".`;\n }\n const publicPathSuffix = publicPath.replace('M/', '');\n const impliedPrivatePath = `${hdPublicKeyPath}/${publicPathSuffix}`;\n if (impliedPrivatePath !== privatePath) {\n return `The \"privateDerivationPath\" property of HdKey \"${id}\" is \"${privatePath}\", but the implied private derivation path of \"hdPublicKeyDerivationPath\" and \"publicDerivationPath\" is \"${impliedPrivatePath}\". The \"publicDerivationPath\" property must be set to allow for public derivation of the same HD node derived by \"privateDerivationPath\" beginning from the HD public key derived at \"hdPublicKeyDerivationPath\".`;\n }\n return {\n id,\n variable: {\n ...(addressOffset === undefined ? {} : { addressOffset }),\n ...(description === undefined ? {} : { description }),\n ...(hdPublicKeyDerivationPath === undefined\n ? {}\n : { hdPublicKeyDerivationPath }),\n ...(name === undefined ? {} : { name }),\n ...(privateDerivationPath === undefined\n ? {}\n : { privateDerivationPath }),\n ...(publicDerivationPath === undefined\n ? {}\n : { publicDerivationPath }),\n type,\n },\n };\n }\n return {\n id,\n variable: {\n ...(description === undefined ? {} : { description }),\n ...(name === undefined ? {} : { name }),\n type,\n },\n };\n });\n const invalidVariableResults = variableResults.filter((result) => typeof result === 'string');\n if (invalidVariableResults.length > 0) {\n return invalidVariableResults.join(' ');\n }\n const validVariableResults = variableResults;\n const clonedVariables = validVariableResults.reduce((all, result) => ({ ...all, [result.id]: result.variable }), {});\n return clonedVariables;\n};\n/**\n * Parse an authentication template `entities` object into its component\n * entities, validating the shape of each entity object. Returns either an error\n * message as a string or the cloned entities object.\n *\n * @param scripts - the `scripts` property of an `AuthenticationTemplate`\n */\nconst parseAuthenticationTemplateEntities = (entities) => {\n const unknownEntities = Object.entries(entities).map(([id, entity]) => ({ entity, id }));\n const nonObjectEntities = unknownEntities\n .filter(({ entity }) => typeof entity !== 'object' || entity === null)\n .map(({ id }) => id);\n if (nonObjectEntities.length > 0) {\n return `All authentication template entities must be objects, but the following entities are not objects: ${listIds(nonObjectEntities)}.`;\n }\n const allEntities = unknownEntities;\n const entityResults = allEntities\n // eslint-disable-next-line complexity\n .map(({ id, entity }) => {\n const { description, name, scripts, variables } = entity;\n if (description !== undefined && typeof description !== 'string') {\n return `If defined, the \"description\" property of entity \"${id}\" must be a string.`;\n }\n if (name !== undefined && typeof name !== 'string') {\n return `If defined, the \"name\" property of entity \"${id}\" must be a string.`;\n }\n if (scripts !== undefined && !isStringArray(scripts)) {\n return `If defined, the \"scripts\" property of entity \"${id}\" must be an array containing only script identifiers (strings).`;\n }\n if (variables !== undefined && !isObject(variables)) {\n return `If defined, the \"variables\" property of entity \"${id}\" must be an object.`;\n }\n const variableResult = variables === undefined\n ? undefined\n : parseAuthenticationTemplateVariable(variables, id);\n if (typeof variableResult === 'string') {\n return variableResult;\n }\n return {\n entity: {\n ...(description === undefined ? {} : { description }),\n ...(name === undefined ? {} : { name }),\n ...(scripts === undefined ? {} : { scripts }),\n ...(variableResult === undefined\n ? {}\n : { variables: variableResult }),\n },\n id,\n };\n });\n const invalidEntityResults = entityResults.filter((result) => typeof result === 'string');\n if (invalidEntityResults.length > 0) {\n return invalidEntityResults.join(' ');\n }\n const validEntityResults = entityResults;\n const clonedEntities = validEntityResults.reduce((all, result) => ({ ...all, [result.id]: result.entity }), {});\n return clonedEntities;\n};\n/**\n * Validate and clone an Authentication Template Scenario `data.hdKeys` object.\n *\n * @param hdKeys - the `data.hdKeys` object to validate and clone\n * @param location - the location of the error to specify in error messages,\n * e.g. `scenario \"test\"` or\n * `'lockingBytecode.override' in output 2 of scenario \"test\"`\n */\n// eslint-disable-next-line complexity\nconst parseAuthenticationTemplateScenarioDataHdKeys = (hdKeys, location) => {\n const { addressIndex, hdPublicKeys, hdPrivateKeys } = hdKeys;\n const maximumAddressIndex = 2147483648;\n if (addressIndex !== undefined &&\n !isRangedInteger(addressIndex, 0, maximumAddressIndex)) {\n return `If defined, the \"data.hdKeys.addressIndex\" property of ${location} must be a positive integer between 0 and 2,147,483,648 (inclusive).`;\n }\n if (hdPublicKeys !== undefined &&\n !(isObject(hdPublicKeys) && isStringObject(hdPublicKeys))) {\n return `If defined, the \"data.hdKeys.hdPublicKeys\" property of ${location} must be an object, and each value must be a string.`;\n }\n if (hdPrivateKeys !== undefined &&\n !(isObject(hdPrivateKeys) && isStringObject(hdPrivateKeys))) {\n return `If defined, the \"data.hdKeys.hdPrivateKeys\" property of ${location} must be an object, and each value must be a string.`;\n }\n return {\n ...(addressIndex === undefined ? {} : { addressIndex }),\n ...(hdPublicKeys === undefined\n ? {}\n : { hdPublicKeys: { ...hdPublicKeys } }),\n ...(hdPrivateKeys === undefined\n ? {}\n : { hdPrivateKeys: { ...hdPrivateKeys } }),\n };\n};\n/**\n * Validate and clone an Authentication Template Scenario `data.keys` object.\n *\n * @param keys - the `data.keys` object to validate and clone\n * @param location - the location of the error to specify in error messages,\n * e.g. `scenario \"test\"` or\n * `'lockingBytecode.override' in output 2 of scenario \"test\"`\n */\nconst parseAuthenticationTemplateScenarioDataKeys = (keys, location) => {\n const { privateKeys } = keys;\n if (privateKeys !== undefined &&\n !(isObject(privateKeys) && isObjectOfValidPrivateKeys(privateKeys))) {\n return `If defined, the \"data.keys.privateKeys\" property of ${location} must be an object, and each value must be a 32-byte, hexadecimal-encoded private key.`;\n }\n return { ...(privateKeys === undefined ? {} : { privateKeys }) };\n};\n/**\n * Validate and clone an Authentication Template Scenario `data` object.\n *\n * @param data - the `data` object to validate and clone\n * @param location - the location of the error to specify in error messages,\n * e.g. `scenario \"test\"` or\n * `'lockingBytecode.override' in output 2 of scenario \"test\"`\n */\n// eslint-disable-next-line complexity\nconst parseAuthenticationTemplateScenarioData = (data, location) => {\n const { bytecode, currentBlockHeight, currentBlockTime, hdKeys, keys, } = data;\n if (bytecode !== undefined &&\n (!isObject(bytecode) || !isStringObject(bytecode))) {\n return `If defined, the \"data.bytecode\" property of ${location} must be an object, and each value must be a string.`;\n }\n const minimumBlockTime = 500000000;\n const maximumBlockTime = 4294967295;\n if (currentBlockHeight !== undefined &&\n !isRangedInteger(currentBlockHeight, 0, minimumBlockTime - 1)) {\n return `If defined, the \"currentBlockHeight\" property of ${location} must be a positive integer from 0 to 499,999,999 (inclusive).`;\n }\n if (currentBlockTime !== undefined &&\n !isRangedInteger(currentBlockTime, minimumBlockTime, maximumBlockTime)) {\n return `If defined, the \"currentBlockTime\" property of ${location} must be a positive integer from 500,000,000 to 4,294,967,295 (inclusive).`;\n }\n const hdKeysResult = hdKeys === undefined\n ? undefined\n : isObject(hdKeys)\n ? parseAuthenticationTemplateScenarioDataHdKeys(hdKeys, location)\n : `If defined, the \"data.hdKeys\" property of ${location} must be an object.`;\n if (typeof hdKeysResult === 'string') {\n return hdKeysResult;\n }\n const keysResult = keys === undefined\n ? undefined\n : isObject(keys)\n ? parseAuthenticationTemplateScenarioDataKeys(keys, location)\n : `If defined, the \"data.keys\" property of ${location} must be an object.`;\n if (typeof keysResult === 'string') {\n return keysResult;\n }\n return {\n ...(bytecode === undefined ? {} : { bytecode: { ...bytecode } }),\n ...(currentBlockHeight === undefined ? {} : { currentBlockHeight }),\n ...(currentBlockTime === undefined ? {} : { currentBlockTime }),\n ...(hdKeysResult === undefined ? {} : { hdKeys: hdKeysResult }),\n ...(keysResult === undefined ? {} : { keys: keysResult }),\n };\n};\n/**\n * Validate and clone an Authentication Template Scenario `transaction.inputs`\n * array.\n *\n * @param inputs - the `transaction.inputs` array to validate and clone\n * @param location - the location of the error to specify in error messages,\n * e.g. `scenario \"test\"`\n */\nconst parseAuthenticationTemplateScenarioTransactionInputs = (inputs, location) => {\n if (inputs === undefined) {\n return undefined;\n }\n if (!isDenseArray(inputs)) {\n return `If defined, the \"transaction.inputs\" property of ${location} must be an array of scenario input objects.`;\n }\n const inputResults = inputs\n // eslint-disable-next-line complexity\n .map((maybeInput, inputIndex) => {\n const { outpointIndex, outpointTransactionHash, sequenceNumber, unlockingBytecode, } = maybeInput;\n const newLocation = `input ${inputIndex} in ${location}`;\n if (outpointIndex !== undefined && !isPositiveInteger(outpointIndex)) {\n return `If defined, the \"outpointIndex\" property of ${newLocation} must be a positive integer.`;\n }\n const characterLength32ByteHash = 64;\n if (outpointTransactionHash !== undefined &&\n !(isHexString(outpointTransactionHash) &&\n outpointTransactionHash.length === characterLength32ByteHash)) {\n return `If defined, the \"outpointTransactionHash\" property of ${newLocation} must be a 32-byte, hexadecimal-encoded hash (string).`;\n }\n const maxSequenceNumber = 0xffffffff;\n if (sequenceNumber !== undefined &&\n !isRangedInteger(sequenceNumber, 0, maxSequenceNumber)) {\n return `If defined, the \"sequenceNumber\" property of ${newLocation} must be a number between 0 and 4294967295 (inclusive).`;\n }\n if (unlockingBytecode !== undefined &&\n unlockingBytecode !== null &&\n !isHexString(unlockingBytecode)) {\n return `If defined, the \"unlockingBytecode\" property of ${newLocation} must be either a null value or a hexadecimal-encoded string.`;\n }\n return {\n ...(outpointIndex === undefined ? {} : { outpointIndex }),\n ...(outpointTransactionHash === undefined\n ? {}\n : { outpointTransactionHash }),\n ...(sequenceNumber === undefined ? {} : { sequenceNumber }),\n ...(unlockingBytecode === undefined ? {} : { unlockingBytecode }),\n };\n });\n const invalidInputResults = inputResults.filter((result) => typeof result === 'string');\n if (invalidInputResults.length > 0) {\n return invalidInputResults.join(' ');\n }\n const clonedInputs = inputResults;\n return clonedInputs;\n};\n/**\n * Validate and clone an Authentication Template Scenario transaction output\n * `lockingBytecode` object.\n *\n * @param outputs - the `transaction.outputs[outputIndex].lockingBytecode`\n * object to validate and clone\n * @param location - the location of the error to specify in error messages,\n * e.g. `output 2 in scenario \"test\"`\n */\n// eslint-disable-next-line complexity\nconst parseAuthenticationTemplateScenarioTransactionOutputLockingBytecode = (lockingBytecode, location) => {\n const { overrides, script } = lockingBytecode;\n if (script !== undefined && script !== null && !isHexString(script)) {\n return `If defined, the \"script\" property of ${location} must be a hexadecimal-encoded string or \"null\".`;\n }\n const clonedOverrides = overrides === undefined\n ? undefined\n : isObject(overrides)\n ? parseAuthenticationTemplateScenarioData(overrides, `'lockingBytecode.override' in ${location}`)\n : `If defined, the \"overrides\" property of ${location} must be an object.`;\n if (typeof clonedOverrides === 'string') {\n return clonedOverrides;\n }\n return {\n ...(script === undefined ? {} : { script }),\n ...(clonedOverrides === undefined ? {} : { overrides: clonedOverrides }),\n };\n};\n/**\n * Validate and clone an Authentication Template Scenario `transaction.outputs`\n * array.\n *\n * @param outputs - the `transaction.outputs` array to validate and clone\n * @param location - the location of the error to specify in error messages,\n * e.g. `of output 2 in scenario \"test\"`\n */\nconst parseAuthenticationTemplateScenarioTransactionOutputs = (outputs, location) => {\n if (outputs === undefined) {\n return undefined;\n }\n if (!isDenseArray(outputs)) {\n return `If defined, the \"transaction.outputs\" property of ${location} must be an array of scenario output objects.`;\n }\n const outputResults = outputs\n // eslint-disable-next-line complexity\n .map((maybeOutput, outputIndex) => {\n const { lockingBytecode, satoshis } = maybeOutput;\n const newLocation = `output ${outputIndex} in ${location}`;\n if (lockingBytecode !== undefined &&\n typeof lockingBytecode !== 'string' &&\n !isObject(lockingBytecode)) {\n return `If defined, the \"lockingBytecode\" property of ${newLocation} must be a string or an object.`;\n }\n if (typeof lockingBytecode === 'string' &&\n !isHexString(lockingBytecode)) {\n return `If the \"lockingBytecode\" property of ${newLocation} is a string, it must be a valid, hexadecimal-encoded locking bytecode.`;\n }\n const clonedLockingBytecode = lockingBytecode === undefined || typeof lockingBytecode === 'string'\n ? undefined\n : parseAuthenticationTemplateScenarioTransactionOutputLockingBytecode(lockingBytecode, newLocation);\n if (typeof clonedLockingBytecode === 'string') {\n return clonedLockingBytecode;\n }\n if (!isValidSatoshisValue(satoshis)) {\n return `If defined, the \"satoshis\" property of ${newLocation} must be either a number or a little-endian, unsigned 64-bit integer as a hexadecimal-encoded string (16 characters).`;\n }\n return {\n ...(lockingBytecode === undefined\n ? {}\n : typeof lockingBytecode === 'string'\n ? { lockingBytecode }\n : { lockingBytecode: clonedLockingBytecode }),\n ...(satoshis === undefined ? {} : { satoshis }),\n };\n });\n const invalidOutputResults = outputResults.filter((result) => typeof result === 'string');\n if (invalidOutputResults.length > 0) {\n return invalidOutputResults.join(' ');\n }\n const clonedOutputs = outputResults;\n if (clonedOutputs.length === 0) {\n return `If defined, the \"transaction.outputs\" property of ${location} must be have at least one output.`;\n }\n return clonedOutputs;\n};\n/**\n * Validate and clone an Authentication Template Scenario `transaction` object.\n *\n * @param transaction - the `transaction` object to validate and clone\n * @param location - the location of the error to specify in error messages,\n * e.g. `of output 2 in scenario \"test\"`\n */\n// eslint-disable-next-line complexity\nconst parseAuthenticationTemplateScenarioTransaction = (transaction, location) => {\n const { inputs, locktime, outputs, version } = transaction;\n const maximumLocktime = 4294967295;\n if (locktime !== undefined &&\n !isRangedInteger(locktime, 0, maximumLocktime)) {\n return `If defined, the \"locktime\" property of ${location} must be an integer between 0 and 4,294,967,295 (inclusive).`;\n }\n const maximumVersion = 4294967295;\n if (version !== undefined && !isRangedInteger(version, 0, maximumVersion)) {\n return `If defined, the \"version\" property of ${location} must be an integer between 0 and 4,294,967,295 (inclusive).`;\n }\n const clonedInputs = parseAuthenticationTemplateScenarioTransactionInputs(inputs, location);\n if (typeof clonedInputs === 'string') {\n return clonedInputs;\n }\n const clonedOutputs = parseAuthenticationTemplateScenarioTransactionOutputs(outputs, location);\n if (typeof clonedOutputs === 'string') {\n return clonedOutputs;\n }\n return {\n ...(locktime === undefined ? {} : { locktime }),\n ...(clonedInputs === undefined ? {} : { inputs: clonedInputs }),\n ...(clonedOutputs === undefined ? {} : { outputs: clonedOutputs }),\n ...(version === undefined ? {} : { version }),\n };\n};\n/**\n * Validate and clone an object of Authentication Template scenarios.\n *\n * @param scenarios - the scenarios object to validate and clone\n */\nconst parseAuthenticationTemplateScenarios = (scenarios) => {\n const unknownScenarios = Object.entries(scenarios).map(([id, scenario]) => ({ id, scenario }));\n const nonObjectScenarios = unknownScenarios\n .filter(({ scenario }) => typeof scenario !== 'object' || scenario === null)\n .map(({ id }) => id);\n if (nonObjectScenarios.length > 0) {\n return `All authentication template scenarios must be objects, but the following scenarios are not objects: ${listIds(nonObjectScenarios)}.`;\n }\n const allScenarios = unknownScenarios;\n const scenarioResults = allScenarios\n // eslint-disable-next-line complexity\n .map(({ id, scenario }) => {\n var _a;\n const { data, description, extends: extendsProp, name, transaction, value, } = scenario;\n const location = `scenario \"${id}\"`;\n if (description !== undefined && typeof description !== 'string') {\n return `If defined, the \"description\" property of ${location} must be a string.`;\n }\n if (name !== undefined && typeof name !== 'string') {\n return `If defined, the \"name\" property of ${location} must be a string.`;\n }\n if (extendsProp !== undefined && typeof extendsProp !== 'string') {\n return `If defined, the \"extends\" property of ${location} must be a string.`;\n }\n if (!isValidSatoshisValue(value)) {\n return `If defined, the \"value\" property of ${location} must be either a number or a little-endian, unsigned 64-bit integer as a hexadecimal-encoded string (16 characters).`;\n }\n if (data !== undefined && !isObject(data)) {\n return `If defined, the \"data\" property of ${location} must be an object.`;\n }\n if (transaction !== undefined && !isObject(transaction)) {\n return `If defined, the \"transaction\" property of ${location} must be an object.`;\n }\n const dataResult = data === undefined\n ? undefined\n : parseAuthenticationTemplateScenarioData(data, location);\n if (typeof dataResult === 'string') {\n return dataResult;\n }\n const transactionResult = transaction === undefined\n ? undefined\n : parseAuthenticationTemplateScenarioTransaction(transaction, location);\n if (typeof transactionResult === 'string') {\n return transactionResult;\n }\n const inputsUnderTest = (_a = transactionResult === null || transactionResult === void 0 ? void 0 : transactionResult.inputs) === null || _a === void 0 ? void 0 : _a.filter((input) => input.unlockingBytecode === undefined ||\n input.unlockingBytecode === null);\n if (inputsUnderTest !== undefined && inputsUnderTest.length !== 1) {\n return `If defined, the \"transaction.inputs\" array of ${location} must have exactly one input under test (an \"unlockingBytecode\" set to \"null\").`;\n }\n return {\n id,\n scenario: {\n ...(dataResult === undefined ? {} : { data: dataResult }),\n ...(description === undefined ? {} : { description }),\n ...(extendsProp === undefined ? {} : { extends: extendsProp }),\n ...(name === undefined ? {} : { name }),\n ...(transactionResult === undefined\n ? {}\n : { transaction: transactionResult }),\n ...(value === undefined ? {} : { value }),\n },\n };\n });\n const invalidScenarioResults = scenarioResults.filter((result) => typeof result === 'string');\n if (invalidScenarioResults.length > 0) {\n return invalidScenarioResults.join(' ');\n }\n const validScenarioResults = scenarioResults;\n const clonedScenarios = validScenarioResults.reduce((all, result) => ({ ...all, [result.id]: result.scenario }), {});\n const unknownExtends = Object.values(clonedScenarios).reduce((all, scenario) => scenario.extends !== undefined &&\n clonedScenarios[scenario.extends] === undefined\n ? [...all, scenario.extends]\n : all, []);\n if (unknownExtends.length > 0) {\n return `If defined, each scenario ID referenced by another scenario's \"extends\" property must exist. Unknown scenario IDs: ${listIds(unknownExtends)}.`;\n }\n return clonedScenarios;\n};\nconst isVersion0 = (maybeTemplate) => maybeTemplate.version === 0;\nconst schemaIsOptionalString = (maybeTemplate) => {\n const property = maybeTemplate.$schema;\n return property === undefined || typeof property === 'string';\n};\nconst nameIsOptionalString = (maybeTemplate) => {\n const property = maybeTemplate.name;\n return property === undefined || typeof property === 'string';\n};\nconst descriptionIsOptionalString = (maybeTemplate) => {\n const property = maybeTemplate.description;\n return property === undefined || typeof property === 'string';\n};\nconst supportsOnlyValidVmIdentifiers = (maybeTemplate, availableIdentifiers) => {\n const { supported } = maybeTemplate;\n return (Array.isArray(supported) &&\n supported.every((value) => availableIdentifiers.includes(value)));\n};\n/**\n * Parse and validate an authentication template, returning either an error\n * message as a string or a valid, safely-cloned `AuthenticationTemplate`.\n *\n * This method validates both the structure and the contents of a template:\n * - All properties and sub-properties are verified to be of the expected type.\n * - The ID of each entity, script, and scenario is confirmed to be unique.\n * - Script IDs referenced by entities and other scripts (via `unlocks`) are\n * confirmed to exist.\n * - The derivation paths of each HdKey are validated against each other.\n *\n * This method does not validate the BTL contents of scripts (by attempting\n * compilation, evaluate `AuthenticationTemplateScriptTest`s, or test scenario\n * generation. Unknown properties are ignored and excluded from the final\n * result.\n *\n * @param maybeTemplate - object to validate as an authentication template\n */\n// eslint-disable-next-line complexity\nconst validateAuthenticationTemplate = (maybeTemplate) => {\n if (typeof maybeTemplate !== 'object' || maybeTemplate === null) {\n return 'A valid authentication template must be an object.';\n }\n if (!isVersion0(maybeTemplate)) {\n return 'Only version 0 authentication templates are currently supported.';\n }\n const vmIdentifiers = [\n 'BCH_2022_11_SPEC',\n 'BCH_2022_11',\n 'BCH_2022_05_SPEC',\n 'BCH_2022_05',\n 'BCH_2021_11_SPEC',\n 'BCH_2021_11',\n 'BCH_2021_05_SPEC',\n 'BCH_2021_05',\n 'BCH_2020_11_SPEC',\n 'BCH_2020_11',\n 'BCH_2020_05',\n 'BCH_2019_11',\n 'BCH_2019_05',\n 'BSV_2018_11',\n 'BTC_2017_08',\n ];\n if (!supportsOnlyValidVmIdentifiers(maybeTemplate, vmIdentifiers) ||\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n maybeTemplate.supported.includes(undefined)) {\n return `Version 0 authentication templates must include a \"supported\" list of authentication virtual machine versions. Available identifiers are: ${vmIdentifiers.join(', ')}.`;\n }\n if (!schemaIsOptionalString(maybeTemplate)) {\n return 'The \"$schema\" property of an authentication template must be a string.';\n }\n if (!nameIsOptionalString(maybeTemplate)) {\n return 'The \"name\" property of an authentication template must be a string.';\n }\n if (!descriptionIsOptionalString(maybeTemplate)) {\n return 'The \"description\" property of an authentication template must be a string.';\n }\n const { entities, scenarios, scripts } = maybeTemplate;\n if (typeof entities !== 'object' || entities === null) {\n return `The \"entities\" property of an authentication template must be an object.`;\n }\n if (typeof scripts !== 'object' || scripts === null) {\n return `The \"scripts\" property of an authentication template must be an object.`;\n }\n if (scenarios !== undefined &&\n (typeof scenarios !== 'object' || scenarios === null)) {\n return `If defined, the \"scenarios\" property of an authentication template must be an object.`;\n }\n const parsedScripts = parseAuthenticationTemplateScripts(scripts);\n if (typeof parsedScripts === 'string') {\n return parsedScripts;\n }\n const clonedScripts = [\n ...Object.entries(parsedScripts.locking),\n ...Object.entries(parsedScripts.other),\n ...Object.entries(parsedScripts.tested),\n ...Object.entries(parsedScripts.unlocking),\n ].reduce((all, [id, script]) => ({ ...all, [id]: script }), {});\n const clonedEntities = parseAuthenticationTemplateEntities(entities);\n if (typeof clonedEntities === 'string') {\n return clonedEntities;\n }\n const clonedScenarios = scenarios === undefined\n ? undefined\n : parseAuthenticationTemplateScenarios(scenarios);\n if (typeof clonedScenarios === 'string') {\n return clonedScenarios;\n }\n const variableIds = Object.values(clonedEntities).reduce((all, entity) => entity.variables === undefined\n ? all\n : [...all, ...Object.keys(entity.variables)], []);\n const entityIds = Object.keys(clonedEntities);\n const scriptIds = Object.keys(clonedScripts);\n const scenarioIds = clonedScenarios === undefined ? [] : Object.keys(clonedScenarios);\n const usedIds = [...variableIds, ...entityIds, ...scriptIds, ...scenarioIds];\n const builtInIds = [\n _language_resolve__WEBPACK_IMPORTED_MODULE_3__.BuiltInVariables.currentBlockHeight,\n _language_resolve__WEBPACK_IMPORTED_MODULE_3__.BuiltInVariables.currentBlockTime,\n _language_resolve__WEBPACK_IMPORTED_MODULE_3__.BuiltInVariables.signingSerialization,\n ];\n const usedBuiltInIds = builtInIds.filter((builtInIdentifier) => usedIds.includes(builtInIdentifier));\n if (usedBuiltInIds.length > 0) {\n return `Built-in identifiers may not be re-used by any entity, variable, script, or scenario. The following built-in identifiers are re-used: ${listIds(usedBuiltInIds)}.`;\n }\n const idUsageCount = usedIds.reduce((count, id) => {\n var _a;\n return ({\n ...count,\n [id]: ((_a = count[id]) !== null && _a !== void 0 ? _a : 0) + 1,\n });\n }, {});\n const duplicateIds = Object.entries(idUsageCount)\n .filter(([, count]) => count > 1)\n .map(([id]) => id);\n if (duplicateIds.length > 0) {\n return `The ID of each entity, variable, script, and scenario in an authentication template must be unique. The following IDs are re-used: ${listIds(duplicateIds)}.`;\n }\n const unknownScriptIds = Object.values(clonedEntities)\n .reduce((all, entity) => entity.scripts === undefined ? all : [...all, ...entity.scripts], [])\n .reduce((unique, id) => scriptIds.includes(id) || unique.includes(id)\n ? unique\n : [...unique, id], []);\n if (unknownScriptIds.length > 0) {\n return `Only known scripts may be assigned to entities. The following script IDs are not provided in this template: ${listIds(unknownScriptIds)}.`;\n }\n const unknownScenarioIds = [\n ...Object.values(parsedScripts.unlocking).reduce((all, script) => [\n ...all,\n ...(script.estimate === undefined ? [] : [script.estimate]),\n ...(script.fails === undefined ? [] : script.fails),\n ...(script.invalid === undefined ? [] : script.invalid),\n ...(script.passes === undefined ? [] : script.passes),\n ], []),\n ...Object.values(parsedScripts.tested).reduce((all, script) => [\n ...all,\n ...script.tests.reduce((fromScript, test) => [\n ...fromScript,\n ...(test.fails === undefined ? [] : test.fails),\n ...(test.invalid === undefined ? [] : test.invalid),\n ...(test.passes === undefined ? [] : test.passes),\n ], []),\n ], []),\n ].reduce((unique, id) => scenarioIds.includes(id) || unique.includes(id)\n ? unique\n : [...unique, id], []);\n if (unknownScenarioIds.length > 0) {\n return `Only known scenarios may be referenced by scripts. The following scenario IDs are not provided in this template: ${listIds(unknownScenarioIds)}.`;\n }\n const entityIdsReferencedByScenarioData = (data) => {\n var _a, _b;\n const hdPublicKeyEntityIds = ((_a = data === null || data === void 0 ? void 0 : data.hdKeys) === null || _a === void 0 ? void 0 : _a.hdPublicKeys) === undefined\n ? []\n : Object.keys(data.hdKeys.hdPublicKeys);\n const hdPrivateKeyEntityIds = ((_b = data === null || data === void 0 ? void 0 : data.hdKeys) === null || _b === void 0 ? void 0 : _b.hdPrivateKeys) === undefined\n ? []\n : Object.keys(data.hdKeys.hdPrivateKeys);\n return [...hdPublicKeyEntityIds, ...hdPrivateKeyEntityIds];\n };\n const unknownEntityIds = clonedScenarios === undefined\n ? []\n : Object.values(clonedScenarios)\n .reduce((all, scenario) => {\n var _a, _b;\n return [\n ...all,\n ...entityIdsReferencedByScenarioData(scenario.data),\n ...((_b = (_a = scenario.transaction) === null || _a === void 0 ? void 0 : _a.outputs) !== null && _b !== void 0 ? _b : []).reduce((fromOverrides, output) => isObject(output.lockingBytecode)\n ? [\n ...fromOverrides,\n ...entityIdsReferencedByScenarioData(output.lockingBytecode.overrides),\n ]\n : fromOverrides, []),\n ];\n }, [])\n .reduce((unique, id) => entityIds.includes(id) || unique.includes(id)\n ? unique\n : [...unique, id], []);\n if (unknownEntityIds.length > 0) {\n return `Only known entities may be referenced by hdKeys properties within scenarios. The following entity IDs are not provided in this template: ${listIds(unknownEntityIds)}.`;\n }\n return {\n ...(maybeTemplate.$schema === undefined\n ? {}\n : { $schema: maybeTemplate.$schema }),\n ...(maybeTemplate.description === undefined\n ? {}\n : { description: maybeTemplate.description }),\n entities: clonedEntities,\n ...(maybeTemplate.name === undefined ? {} : { name: maybeTemplate.name }),\n scenarios: clonedScenarios,\n scripts: clonedScripts,\n supported: maybeTemplate.supported,\n version: maybeTemplate.version,\n };\n};\n//# sourceMappingURL=template-validation.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/template/template-validation.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/template/template.js": +/*!*****************************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/template/template.js ***! + \*****************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ BuiltInVariables: () => (/* reexport safe */ _language_language__WEBPACK_IMPORTED_MODULE_1__.BuiltInVariables),\n/* harmony export */ CompilerDefaults: () => (/* reexport safe */ _compiler_defaults__WEBPACK_IMPORTED_MODULE_2__.CompilerDefaults),\n/* harmony export */ IdentifierResolutionErrorType: () => (/* reexport safe */ _language_language__WEBPACK_IMPORTED_MODULE_1__.IdentifierResolutionErrorType),\n/* harmony export */ IdentifierResolutionType: () => (/* reexport safe */ _language_language__WEBPACK_IMPORTED_MODULE_1__.IdentifierResolutionType),\n/* harmony export */ SigningSerializationAlgorithmIdentifier: () => (/* reexport safe */ _compiler_bch_compiler_bch__WEBPACK_IMPORTED_MODULE_0__.SigningSerializationAlgorithmIdentifier),\n/* harmony export */ allErrorsAreRecoverable: () => (/* reexport safe */ _language_language__WEBPACK_IMPORTED_MODULE_1__.allErrorsAreRecoverable),\n/* harmony export */ attemptCompilerOperations: () => (/* reexport safe */ _compiler_operation_helpers__WEBPACK_IMPORTED_MODULE_3__.attemptCompilerOperations),\n/* harmony export */ authenticationTemplateP2pkh: () => (/* reexport safe */ _standard_standard__WEBPACK_IMPORTED_MODULE_8__.authenticationTemplateP2pkh),\n/* harmony export */ authenticationTemplateP2pkhNonHd: () => (/* reexport safe */ _standard_standard__WEBPACK_IMPORTED_MODULE_8__.authenticationTemplateP2pkhNonHd),\n/* harmony export */ authenticationTemplateToCompilationEnvironment: () => (/* reexport safe */ _compiler__WEBPACK_IMPORTED_MODULE_6__.authenticationTemplateToCompilationEnvironment),\n/* harmony export */ authenticationTemplateToCompilationEnvironmentVirtualizedTests: () => (/* reexport safe */ _compiler__WEBPACK_IMPORTED_MODULE_6__.authenticationTemplateToCompilationEnvironmentVirtualizedTests),\n/* harmony export */ authenticationTemplateToCompilerBCH: () => (/* reexport safe */ _compiler_bch_compiler_bch__WEBPACK_IMPORTED_MODULE_0__.authenticationTemplateToCompilerBCH),\n/* harmony export */ compileBtl: () => (/* reexport safe */ _language_language__WEBPACK_IMPORTED_MODULE_1__.compileBtl),\n/* harmony export */ compileScript: () => (/* reexport safe */ _language_language__WEBPACK_IMPORTED_MODULE_1__.compileScript),\n/* harmony export */ compileScriptContents: () => (/* reexport safe */ _language_language__WEBPACK_IMPORTED_MODULE_1__.compileScriptContents),\n/* harmony export */ compileScriptP2shLocking: () => (/* reexport safe */ _language_language__WEBPACK_IMPORTED_MODULE_1__.compileScriptP2shLocking),\n/* harmony export */ compileScriptP2shUnlocking: () => (/* reexport safe */ _language_language__WEBPACK_IMPORTED_MODULE_1__.compileScriptP2shUnlocking),\n/* harmony export */ compileScriptRaw: () => (/* reexport safe */ _language_language__WEBPACK_IMPORTED_MODULE_1__.compileScriptRaw),\n/* harmony export */ compilerOperationAddressData: () => (/* reexport safe */ _compiler_operations__WEBPACK_IMPORTED_MODULE_4__.compilerOperationAddressData),\n/* harmony export */ compilerOperationAttemptBytecodeResolution: () => (/* reexport safe */ _compiler_operation_helpers__WEBPACK_IMPORTED_MODULE_3__.compilerOperationAttemptBytecodeResolution),\n/* harmony export */ compilerOperationCurrentBlockHeight: () => (/* reexport safe */ _compiler_operations__WEBPACK_IMPORTED_MODULE_4__.compilerOperationCurrentBlockHeight),\n/* harmony export */ compilerOperationCurrentBlockTime: () => (/* reexport safe */ _compiler_operations__WEBPACK_IMPORTED_MODULE_4__.compilerOperationCurrentBlockTime),\n/* harmony export */ compilerOperationHdKeyEcdsaDataSignatureBCH: () => (/* reexport safe */ _compiler_bch_compiler_bch__WEBPACK_IMPORTED_MODULE_0__.compilerOperationHdKeyEcdsaDataSignatureBCH),\n/* harmony export */ compilerOperationHdKeyEcdsaSignatureBCH: () => (/* reexport safe */ _compiler_bch_compiler_bch__WEBPACK_IMPORTED_MODULE_0__.compilerOperationHdKeyEcdsaSignatureBCH),\n/* harmony export */ compilerOperationHdKeyPublicKeyCommon: () => (/* reexport safe */ _compiler_operations__WEBPACK_IMPORTED_MODULE_4__.compilerOperationHdKeyPublicKeyCommon),\n/* harmony export */ compilerOperationHdKeySchnorrDataSignatureBCH: () => (/* reexport safe */ _compiler_bch_compiler_bch__WEBPACK_IMPORTED_MODULE_0__.compilerOperationHdKeySchnorrDataSignatureBCH),\n/* harmony export */ compilerOperationHdKeySchnorrSignatureBCH: () => (/* reexport safe */ _compiler_bch_compiler_bch__WEBPACK_IMPORTED_MODULE_0__.compilerOperationHdKeySchnorrSignatureBCH),\n/* harmony export */ compilerOperationHelperAddressIndex: () => (/* reexport safe */ _compiler_operation_helpers__WEBPACK_IMPORTED_MODULE_3__.compilerOperationHelperAddressIndex),\n/* harmony export */ compilerOperationHelperCompileScript: () => (/* reexport safe */ _compiler_operation_helpers__WEBPACK_IMPORTED_MODULE_3__.compilerOperationHelperCompileScript),\n/* harmony export */ compilerOperationHelperComputeDataSignatureBCH: () => (/* reexport safe */ _compiler_bch_compiler_bch__WEBPACK_IMPORTED_MODULE_0__.compilerOperationHelperComputeDataSignatureBCH),\n/* harmony export */ compilerOperationHelperComputeSignatureBCH: () => (/* reexport safe */ _compiler_bch_compiler_bch__WEBPACK_IMPORTED_MODULE_0__.compilerOperationHelperComputeSignatureBCH),\n/* harmony export */ compilerOperationHelperDeriveHdKeyPrivate: () => (/* reexport safe */ _compiler_operation_helpers__WEBPACK_IMPORTED_MODULE_3__.compilerOperationHelperDeriveHdKeyPrivate),\n/* harmony export */ compilerOperationHelperDeriveHdPrivateNode: () => (/* reexport safe */ _compiler_operation_helpers__WEBPACK_IMPORTED_MODULE_3__.compilerOperationHelperDeriveHdPrivateNode),\n/* harmony export */ compilerOperationHelperGenerateCoveredBytecode: () => (/* reexport safe */ _compiler_operation_helpers__WEBPACK_IMPORTED_MODULE_3__.compilerOperationHelperGenerateCoveredBytecode),\n/* harmony export */ compilerOperationHelperHdKeyDataSignatureBCH: () => (/* reexport safe */ _compiler_bch_compiler_bch__WEBPACK_IMPORTED_MODULE_0__.compilerOperationHelperHdKeyDataSignatureBCH),\n/* harmony export */ compilerOperationHelperHdKeySignatureBCH: () => (/* reexport safe */ _compiler_bch_compiler_bch__WEBPACK_IMPORTED_MODULE_0__.compilerOperationHelperHdKeySignatureBCH),\n/* harmony export */ compilerOperationHelperKeyDataSignatureBCH: () => (/* reexport safe */ _compiler_bch_compiler_bch__WEBPACK_IMPORTED_MODULE_0__.compilerOperationHelperKeyDataSignatureBCH),\n/* harmony export */ compilerOperationHelperKeySignatureBCH: () => (/* reexport safe */ _compiler_bch_compiler_bch__WEBPACK_IMPORTED_MODULE_0__.compilerOperationHelperKeySignatureBCH),\n/* harmony export */ compilerOperationHelperUnknownEntity: () => (/* reexport safe */ _compiler_operation_helpers__WEBPACK_IMPORTED_MODULE_3__.compilerOperationHelperUnknownEntity),\n/* harmony export */ compilerOperationKeyEcdsaDataSignatureBCH: () => (/* reexport safe */ _compiler_bch_compiler_bch__WEBPACK_IMPORTED_MODULE_0__.compilerOperationKeyEcdsaDataSignatureBCH),\n/* harmony export */ compilerOperationKeyEcdsaSignatureBCH: () => (/* reexport safe */ _compiler_bch_compiler_bch__WEBPACK_IMPORTED_MODULE_0__.compilerOperationKeyEcdsaSignatureBCH),\n/* harmony export */ compilerOperationKeyPublicKeyCommon: () => (/* reexport safe */ _compiler_operations__WEBPACK_IMPORTED_MODULE_4__.compilerOperationKeyPublicKeyCommon),\n/* harmony export */ compilerOperationKeySchnorrDataSignatureBCH: () => (/* reexport safe */ _compiler_bch_compiler_bch__WEBPACK_IMPORTED_MODULE_0__.compilerOperationKeySchnorrDataSignatureBCH),\n/* harmony export */ compilerOperationKeySchnorrSignatureBCH: () => (/* reexport safe */ _compiler_bch_compiler_bch__WEBPACK_IMPORTED_MODULE_0__.compilerOperationKeySchnorrSignatureBCH),\n/* harmony export */ compilerOperationRequires: () => (/* reexport safe */ _compiler_operation_helpers__WEBPACK_IMPORTED_MODULE_3__.compilerOperationRequires),\n/* harmony export */ compilerOperationSigningSerializationCorrespondingOutput: () => (/* reexport safe */ _compiler_operations__WEBPACK_IMPORTED_MODULE_4__.compilerOperationSigningSerializationCorrespondingOutput),\n/* harmony export */ compilerOperationSigningSerializationCorrespondingOutputHash: () => (/* reexport safe */ _compiler_operations__WEBPACK_IMPORTED_MODULE_4__.compilerOperationSigningSerializationCorrespondingOutputHash),\n/* harmony export */ compilerOperationSigningSerializationCoveredBytecode: () => (/* reexport safe */ _compiler_operations__WEBPACK_IMPORTED_MODULE_4__.compilerOperationSigningSerializationCoveredBytecode),\n/* harmony export */ compilerOperationSigningSerializationCoveredBytecodeLength: () => (/* reexport safe */ _compiler_operations__WEBPACK_IMPORTED_MODULE_4__.compilerOperationSigningSerializationCoveredBytecodeLength),\n/* harmony export */ compilerOperationSigningSerializationFullBCH: () => (/* reexport safe */ _compiler_bch_compiler_bch__WEBPACK_IMPORTED_MODULE_0__.compilerOperationSigningSerializationFullBCH),\n/* harmony export */ compilerOperationSigningSerializationLocktime: () => (/* reexport safe */ _compiler_operations__WEBPACK_IMPORTED_MODULE_4__.compilerOperationSigningSerializationLocktime),\n/* harmony export */ compilerOperationSigningSerializationOutpointIndex: () => (/* reexport safe */ _compiler_operations__WEBPACK_IMPORTED_MODULE_4__.compilerOperationSigningSerializationOutpointIndex),\n/* harmony export */ compilerOperationSigningSerializationOutpointTransactionHash: () => (/* reexport safe */ _compiler_operations__WEBPACK_IMPORTED_MODULE_4__.compilerOperationSigningSerializationOutpointTransactionHash),\n/* harmony export */ compilerOperationSigningSerializationOutputValue: () => (/* reexport safe */ _compiler_operations__WEBPACK_IMPORTED_MODULE_4__.compilerOperationSigningSerializationOutputValue),\n/* harmony export */ compilerOperationSigningSerializationSequenceNumber: () => (/* reexport safe */ _compiler_operations__WEBPACK_IMPORTED_MODULE_4__.compilerOperationSigningSerializationSequenceNumber),\n/* harmony export */ compilerOperationSigningSerializationTransactionOutpoints: () => (/* reexport safe */ _compiler_operations__WEBPACK_IMPORTED_MODULE_4__.compilerOperationSigningSerializationTransactionOutpoints),\n/* harmony export */ compilerOperationSigningSerializationTransactionOutpointsHash: () => (/* reexport safe */ _compiler_operations__WEBPACK_IMPORTED_MODULE_4__.compilerOperationSigningSerializationTransactionOutpointsHash),\n/* harmony export */ compilerOperationSigningSerializationTransactionOutputs: () => (/* reexport safe */ _compiler_operations__WEBPACK_IMPORTED_MODULE_4__.compilerOperationSigningSerializationTransactionOutputs),\n/* harmony export */ compilerOperationSigningSerializationTransactionOutputsHash: () => (/* reexport safe */ _compiler_operations__WEBPACK_IMPORTED_MODULE_4__.compilerOperationSigningSerializationTransactionOutputsHash),\n/* harmony export */ compilerOperationSigningSerializationTransactionSequenceNumbers: () => (/* reexport safe */ _compiler_operations__WEBPACK_IMPORTED_MODULE_4__.compilerOperationSigningSerializationTransactionSequenceNumbers),\n/* harmony export */ compilerOperationSigningSerializationTransactionSequenceNumbersHash: () => (/* reexport safe */ _compiler_operations__WEBPACK_IMPORTED_MODULE_4__.compilerOperationSigningSerializationTransactionSequenceNumbersHash),\n/* harmony export */ compilerOperationSigningSerializationVersion: () => (/* reexport safe */ _compiler_operations__WEBPACK_IMPORTED_MODULE_4__.compilerOperationSigningSerializationVersion),\n/* harmony export */ compilerOperationWalletData: () => (/* reexport safe */ _compiler_operations__WEBPACK_IMPORTED_MODULE_4__.compilerOperationWalletData),\n/* harmony export */ compilerOperationsBCH: () => (/* reexport safe */ _compiler_bch_compiler_bch__WEBPACK_IMPORTED_MODULE_0__.compilerOperationsBCH),\n/* harmony export */ compilerOperationsCommon: () => (/* reexport safe */ _compiler_operations__WEBPACK_IMPORTED_MODULE_4__.compilerOperationsCommon),\n/* harmony export */ containsRange: () => (/* reexport safe */ _language_language__WEBPACK_IMPORTED_MODULE_1__.containsRange),\n/* harmony export */ createAuthenticationProgramEvaluationCommon: () => (/* reexport safe */ _compiler__WEBPACK_IMPORTED_MODULE_6__.createAuthenticationProgramEvaluationCommon),\n/* harmony export */ createCompiler: () => (/* reexport safe */ _compiler__WEBPACK_IMPORTED_MODULE_6__.createCompiler),\n/* harmony export */ createCompilerBCH: () => (/* reexport safe */ _compiler_bch_compiler_bch__WEBPACK_IMPORTED_MODULE_0__.createCompilerBCH),\n/* harmony export */ createCompilerCommonSynchronous: () => (/* reexport safe */ _compiler__WEBPACK_IMPORTED_MODULE_6__.createCompilerCommonSynchronous),\n/* harmony export */ createIdentifierResolver: () => (/* reexport safe */ _language_language__WEBPACK_IMPORTED_MODULE_1__.createIdentifierResolver),\n/* harmony export */ describeExpectedInput: () => (/* reexport safe */ _language_language__WEBPACK_IMPORTED_MODULE_1__.describeExpectedInput),\n/* harmony export */ extendCompilationDataWithScenarioBytecode: () => (/* reexport safe */ _scenarios__WEBPACK_IMPORTED_MODULE_7__.extendCompilationDataWithScenarioBytecode),\n/* harmony export */ extendScenarioDefinition: () => (/* reexport safe */ _scenarios__WEBPACK_IMPORTED_MODULE_7__.extendScenarioDefinition),\n/* harmony export */ extendScenarioDefinitionData: () => (/* reexport safe */ _scenarios__WEBPACK_IMPORTED_MODULE_7__.extendScenarioDefinitionData),\n/* harmony export */ extendedScenarioDefinitionToCompilationData: () => (/* reexport safe */ _scenarios__WEBPACK_IMPORTED_MODULE_7__.extendedScenarioDefinitionToCompilationData),\n/* harmony export */ extractBytecodeResolutions: () => (/* reexport safe */ _language_language__WEBPACK_IMPORTED_MODULE_1__.extractBytecodeResolutions),\n/* harmony export */ extractEvaluationSamples: () => (/* reexport safe */ _language_language__WEBPACK_IMPORTED_MODULE_1__.extractEvaluationSamples),\n/* harmony export */ extractEvaluationSamplesRecursive: () => (/* reexport safe */ _language_language__WEBPACK_IMPORTED_MODULE_1__.extractEvaluationSamplesRecursive),\n/* harmony export */ extractResolvedVariableBytecodeMap: () => (/* reexport safe */ _language_language__WEBPACK_IMPORTED_MODULE_1__.extractResolvedVariableBytecodeMap),\n/* harmony export */ extractUnexecutedRanges: () => (/* reexport safe */ _language_language__WEBPACK_IMPORTED_MODULE_1__.extractUnexecutedRanges),\n/* harmony export */ generateDefaultScenarioDefinition: () => (/* reexport safe */ _scenarios__WEBPACK_IMPORTED_MODULE_7__.generateDefaultScenarioDefinition),\n/* harmony export */ generateExtendedScenario: () => (/* reexport safe */ _scenarios__WEBPACK_IMPORTED_MODULE_7__.generateExtendedScenario),\n/* harmony export */ generateScenarioCommon: () => (/* reexport safe */ _scenarios__WEBPACK_IMPORTED_MODULE_7__.generateScenarioCommon),\n/* harmony export */ getResolutionErrors: () => (/* reexport safe */ _language_language__WEBPACK_IMPORTED_MODULE_1__.getResolutionErrors),\n/* harmony export */ mergeRanges: () => (/* reexport safe */ _language_language__WEBPACK_IMPORTED_MODULE_1__.mergeRanges),\n/* harmony export */ parseAuthenticationTemplateEntities: () => (/* reexport safe */ _template_validation__WEBPACK_IMPORTED_MODULE_10__.parseAuthenticationTemplateEntities),\n/* harmony export */ parseAuthenticationTemplateScenarioData: () => (/* reexport safe */ _template_validation__WEBPACK_IMPORTED_MODULE_10__.parseAuthenticationTemplateScenarioData),\n/* harmony export */ parseAuthenticationTemplateScenarioDataHdKeys: () => (/* reexport safe */ _template_validation__WEBPACK_IMPORTED_MODULE_10__.parseAuthenticationTemplateScenarioDataHdKeys),\n/* harmony export */ parseAuthenticationTemplateScenarioDataKeys: () => (/* reexport safe */ _template_validation__WEBPACK_IMPORTED_MODULE_10__.parseAuthenticationTemplateScenarioDataKeys),\n/* harmony export */ parseAuthenticationTemplateScenarioTransaction: () => (/* reexport safe */ _template_validation__WEBPACK_IMPORTED_MODULE_10__.parseAuthenticationTemplateScenarioTransaction),\n/* harmony export */ parseAuthenticationTemplateScenarioTransactionInputs: () => (/* reexport safe */ _template_validation__WEBPACK_IMPORTED_MODULE_10__.parseAuthenticationTemplateScenarioTransactionInputs),\n/* harmony export */ parseAuthenticationTemplateScenarioTransactionOutputLockingBytecode: () => (/* reexport safe */ _template_validation__WEBPACK_IMPORTED_MODULE_10__.parseAuthenticationTemplateScenarioTransactionOutputLockingBytecode),\n/* harmony export */ parseAuthenticationTemplateScenarioTransactionOutputs: () => (/* reexport safe */ _template_validation__WEBPACK_IMPORTED_MODULE_10__.parseAuthenticationTemplateScenarioTransactionOutputs),\n/* harmony export */ parseAuthenticationTemplateScenarios: () => (/* reexport safe */ _template_validation__WEBPACK_IMPORTED_MODULE_10__.parseAuthenticationTemplateScenarios),\n/* harmony export */ parseAuthenticationTemplateScripts: () => (/* reexport safe */ _template_validation__WEBPACK_IMPORTED_MODULE_10__.parseAuthenticationTemplateScripts),\n/* harmony export */ parseAuthenticationTemplateVariable: () => (/* reexport safe */ _template_validation__WEBPACK_IMPORTED_MODULE_10__.parseAuthenticationTemplateVariable),\n/* harmony export */ parseScript: () => (/* reexport safe */ _language_language__WEBPACK_IMPORTED_MODULE_1__.parseScript),\n/* harmony export */ reduceScript: () => (/* reexport safe */ _language_language__WEBPACK_IMPORTED_MODULE_1__.reduceScript),\n/* harmony export */ resolveScriptIdentifier: () => (/* reexport safe */ _language_language__WEBPACK_IMPORTED_MODULE_1__.resolveScriptIdentifier),\n/* harmony export */ resolveScriptSegment: () => (/* reexport safe */ _language_language__WEBPACK_IMPORTED_MODULE_1__.resolveScriptSegment),\n/* harmony export */ resolveVariableIdentifier: () => (/* reexport safe */ _language_language__WEBPACK_IMPORTED_MODULE_1__.resolveVariableIdentifier),\n/* harmony export */ stringifyErrors: () => (/* reexport safe */ _language_language__WEBPACK_IMPORTED_MODULE_1__.stringifyErrors),\n/* harmony export */ validateAuthenticationTemplate: () => (/* reexport safe */ _template_validation__WEBPACK_IMPORTED_MODULE_10__.validateAuthenticationTemplate),\n/* harmony export */ verifyBtlEvaluationState: () => (/* reexport safe */ _language_language__WEBPACK_IMPORTED_MODULE_1__.verifyBtlEvaluationState)\n/* harmony export */ });\n/* harmony import */ var _compiler_bch_compiler_bch__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./compiler-bch/compiler-bch */ \"./node_modules/@bitauth/libauth/build/module/lib/template/compiler-bch/compiler-bch.js\");\n/* harmony import */ var _language_language__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./language/language */ \"./node_modules/@bitauth/libauth/build/module/lib/template/language/language.js\");\n/* harmony import */ var _compiler_defaults__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./compiler-defaults */ \"./node_modules/@bitauth/libauth/build/module/lib/template/compiler-defaults.js\");\n/* harmony import */ var _compiler_operation_helpers__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./compiler-operation-helpers */ \"./node_modules/@bitauth/libauth/build/module/lib/template/compiler-operation-helpers.js\");\n/* harmony import */ var _compiler_operations__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./compiler-operations */ \"./node_modules/@bitauth/libauth/build/module/lib/template/compiler-operations.js\");\n/* harmony import */ var _compiler_types__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./compiler-types */ \"./node_modules/@bitauth/libauth/build/module/lib/template/compiler-types.js\");\n/* harmony import */ var _compiler_types__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_compiler_types__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(const __WEBPACK_IMPORT_KEY__ in _compiler_types__WEBPACK_IMPORTED_MODULE_5__) if([\"default\",\"SigningSerializationAlgorithmIdentifier\",\"authenticationTemplateToCompilerBCH\",\"compilerOperationHdKeyEcdsaDataSignatureBCH\",\"compilerOperationHdKeyEcdsaSignatureBCH\",\"compilerOperationHdKeySchnorrDataSignatureBCH\",\"compilerOperationHdKeySchnorrSignatureBCH\",\"compilerOperationHelperComputeDataSignatureBCH\",\"compilerOperationHelperComputeSignatureBCH\",\"compilerOperationHelperHdKeyDataSignatureBCH\",\"compilerOperationHelperHdKeySignatureBCH\",\"compilerOperationHelperKeyDataSignatureBCH\",\"compilerOperationHelperKeySignatureBCH\",\"compilerOperationKeyEcdsaDataSignatureBCH\",\"compilerOperationKeyEcdsaSignatureBCH\",\"compilerOperationKeySchnorrDataSignatureBCH\",\"compilerOperationKeySchnorrSignatureBCH\",\"compilerOperationSigningSerializationFullBCH\",\"compilerOperationsBCH\",\"createCompilerBCH\",\"BuiltInVariables\",\"IdentifierResolutionErrorType\",\"IdentifierResolutionType\",\"allErrorsAreRecoverable\",\"compileBtl\",\"compileScript\",\"compileScriptContents\",\"compileScriptP2shLocking\",\"compileScriptP2shUnlocking\",\"compileScriptRaw\",\"containsRange\",\"createIdentifierResolver\",\"describeExpectedInput\",\"extractBytecodeResolutions\",\"extractEvaluationSamples\",\"extractEvaluationSamplesRecursive\",\"extractResolvedVariableBytecodeMap\",\"extractUnexecutedRanges\",\"getResolutionErrors\",\"mergeRanges\",\"parseScript\",\"reduceScript\",\"resolveScriptIdentifier\",\"resolveScriptSegment\",\"resolveVariableIdentifier\",\"stringifyErrors\",\"verifyBtlEvaluationState\",\"CompilerDefaults\",\"attemptCompilerOperations\",\"compilerOperationAttemptBytecodeResolution\",\"compilerOperationHelperAddressIndex\",\"compilerOperationHelperCompileScript\",\"compilerOperationHelperDeriveHdKeyPrivate\",\"compilerOperationHelperDeriveHdPrivateNode\",\"compilerOperationHelperGenerateCoveredBytecode\",\"compilerOperationHelperUnknownEntity\",\"compilerOperationRequires\",\"compilerOperationAddressData\",\"compilerOperationCurrentBlockHeight\",\"compilerOperationCurrentBlockTime\",\"compilerOperationHdKeyPublicKeyCommon\",\"compilerOperationKeyPublicKeyCommon\",\"compilerOperationSigningSerializationCorrespondingOutput\",\"compilerOperationSigningSerializationCorrespondingOutputHash\",\"compilerOperationSigningSerializationCoveredBytecode\",\"compilerOperationSigningSerializationCoveredBytecodeLength\",\"compilerOperationSigningSerializationLocktime\",\"compilerOperationSigningSerializationOutpointIndex\",\"compilerOperationSigningSerializationOutpointTransactionHash\",\"compilerOperationSigningSerializationOutputValue\",\"compilerOperationSigningSerializationSequenceNumber\",\"compilerOperationSigningSerializationTransactionOutpoints\",\"compilerOperationSigningSerializationTransactionOutpointsHash\",\"compilerOperationSigningSerializationTransactionOutputs\",\"compilerOperationSigningSerializationTransactionOutputsHash\",\"compilerOperationSigningSerializationTransactionSequenceNumbers\",\"compilerOperationSigningSerializationTransactionSequenceNumbersHash\",\"compilerOperationSigningSerializationVersion\",\"compilerOperationWalletData\",\"compilerOperationsCommon\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = () => _compiler_types__WEBPACK_IMPORTED_MODULE_5__[__WEBPACK_IMPORT_KEY__]\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/* harmony import */ var _compiler__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./compiler */ \"./node_modules/@bitauth/libauth/build/module/lib/template/compiler.js\");\n/* harmony import */ var _scenarios__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./scenarios */ \"./node_modules/@bitauth/libauth/build/module/lib/template/scenarios.js\");\n/* harmony import */ var _standard_standard__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./standard/standard */ \"./node_modules/@bitauth/libauth/build/module/lib/template/standard/standard.js\");\n/* harmony import */ var _template_types__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./template-types */ \"./node_modules/@bitauth/libauth/build/module/lib/template/template-types.js\");\n/* harmony import */ var _template_types__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_template_types__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(const __WEBPACK_IMPORT_KEY__ in _template_types__WEBPACK_IMPORTED_MODULE_9__) if([\"default\",\"SigningSerializationAlgorithmIdentifier\",\"authenticationTemplateToCompilerBCH\",\"compilerOperationHdKeyEcdsaDataSignatureBCH\",\"compilerOperationHdKeyEcdsaSignatureBCH\",\"compilerOperationHdKeySchnorrDataSignatureBCH\",\"compilerOperationHdKeySchnorrSignatureBCH\",\"compilerOperationHelperComputeDataSignatureBCH\",\"compilerOperationHelperComputeSignatureBCH\",\"compilerOperationHelperHdKeyDataSignatureBCH\",\"compilerOperationHelperHdKeySignatureBCH\",\"compilerOperationHelperKeyDataSignatureBCH\",\"compilerOperationHelperKeySignatureBCH\",\"compilerOperationKeyEcdsaDataSignatureBCH\",\"compilerOperationKeyEcdsaSignatureBCH\",\"compilerOperationKeySchnorrDataSignatureBCH\",\"compilerOperationKeySchnorrSignatureBCH\",\"compilerOperationSigningSerializationFullBCH\",\"compilerOperationsBCH\",\"createCompilerBCH\",\"BuiltInVariables\",\"IdentifierResolutionErrorType\",\"IdentifierResolutionType\",\"allErrorsAreRecoverable\",\"compileBtl\",\"compileScript\",\"compileScriptContents\",\"compileScriptP2shLocking\",\"compileScriptP2shUnlocking\",\"compileScriptRaw\",\"containsRange\",\"createIdentifierResolver\",\"describeExpectedInput\",\"extractBytecodeResolutions\",\"extractEvaluationSamples\",\"extractEvaluationSamplesRecursive\",\"extractResolvedVariableBytecodeMap\",\"extractUnexecutedRanges\",\"getResolutionErrors\",\"mergeRanges\",\"parseScript\",\"reduceScript\",\"resolveScriptIdentifier\",\"resolveScriptSegment\",\"resolveVariableIdentifier\",\"stringifyErrors\",\"verifyBtlEvaluationState\",\"CompilerDefaults\",\"attemptCompilerOperations\",\"compilerOperationAttemptBytecodeResolution\",\"compilerOperationHelperAddressIndex\",\"compilerOperationHelperCompileScript\",\"compilerOperationHelperDeriveHdKeyPrivate\",\"compilerOperationHelperDeriveHdPrivateNode\",\"compilerOperationHelperGenerateCoveredBytecode\",\"compilerOperationHelperUnknownEntity\",\"compilerOperationRequires\",\"compilerOperationAddressData\",\"compilerOperationCurrentBlockHeight\",\"compilerOperationCurrentBlockTime\",\"compilerOperationHdKeyPublicKeyCommon\",\"compilerOperationKeyPublicKeyCommon\",\"compilerOperationSigningSerializationCorrespondingOutput\",\"compilerOperationSigningSerializationCorrespondingOutputHash\",\"compilerOperationSigningSerializationCoveredBytecode\",\"compilerOperationSigningSerializationCoveredBytecodeLength\",\"compilerOperationSigningSerializationLocktime\",\"compilerOperationSigningSerializationOutpointIndex\",\"compilerOperationSigningSerializationOutpointTransactionHash\",\"compilerOperationSigningSerializationOutputValue\",\"compilerOperationSigningSerializationSequenceNumber\",\"compilerOperationSigningSerializationTransactionOutpoints\",\"compilerOperationSigningSerializationTransactionOutpointsHash\",\"compilerOperationSigningSerializationTransactionOutputs\",\"compilerOperationSigningSerializationTransactionOutputsHash\",\"compilerOperationSigningSerializationTransactionSequenceNumbers\",\"compilerOperationSigningSerializationTransactionSequenceNumbersHash\",\"compilerOperationSigningSerializationVersion\",\"compilerOperationWalletData\",\"compilerOperationsCommon\",\"authenticationTemplateToCompilationEnvironment\",\"authenticationTemplateToCompilationEnvironmentVirtualizedTests\",\"createAuthenticationProgramEvaluationCommon\",\"createCompiler\",\"createCompilerCommonSynchronous\",\"extendCompilationDataWithScenarioBytecode\",\"extendScenarioDefinition\",\"extendScenarioDefinitionData\",\"extendedScenarioDefinitionToCompilationData\",\"generateDefaultScenarioDefinition\",\"generateExtendedScenario\",\"generateScenarioCommon\",\"authenticationTemplateP2pkh\",\"authenticationTemplateP2pkhNonHd\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = () => _template_types__WEBPACK_IMPORTED_MODULE_9__[__WEBPACK_IMPORT_KEY__]\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/* harmony import */ var _template_validation__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./template-validation */ \"./node_modules/@bitauth/libauth/build/module/lib/template/template-validation.js\");\n\n\n\n\n\n\n\n\n\n\n\n//# sourceMappingURL=template.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/template/template.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/transaction/generate-transaction.js": +/*!********************************************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/transaction/generate-transaction.js ***! + \********************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ compileInputTemplate: () => (/* binding */ compileInputTemplate),\n/* harmony export */ compileOutputTemplate: () => (/* binding */ compileOutputTemplate),\n/* harmony export */ extractMissingVariables: () => (/* binding */ extractMissingVariables),\n/* harmony export */ extractResolvedVariables: () => (/* binding */ extractResolvedVariables),\n/* harmony export */ generateTransaction: () => (/* binding */ generateTransaction),\n/* harmony export */ safelyExtendCompilationData: () => (/* binding */ safelyExtendCompilationData)\n/* harmony export */ });\n/* harmony import */ var _template_language_language_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../template/language/language-utils */ \"./node_modules/@bitauth/libauth/build/module/lib/template/language/language-utils.js\");\n/* harmony import */ var _transaction_serialization__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./transaction-serialization */ \"./node_modules/@bitauth/libauth/build/module/lib/transaction/transaction-serialization.js\");\n\n\nconst returnFailedCompilationDirective = ({ index, result, type, }) => {\n return {\n errors: result.errors.map((error) => ({\n ...error,\n error: `Failed compilation of ${type} directive at index \"${index}\": ${error.error}`,\n })),\n index,\n ...(result.errorType === 'parse' ? {} : { resolved: result.resolve }),\n type,\n };\n};\nconst compileOutputTemplate = ({ outputTemplate, index, }) => {\n if ('script' in outputTemplate.lockingBytecode) {\n const directive = outputTemplate.lockingBytecode;\n const data = directive.data === undefined ? {} : directive.data;\n const result = directive.compiler.generateBytecode(directive.script, data, true);\n return result.success\n ? {\n lockingBytecode: result.bytecode,\n satoshis: outputTemplate.satoshis,\n }\n : returnFailedCompilationDirective({ index, result, type: 'locking' });\n }\n return {\n lockingBytecode: outputTemplate.lockingBytecode.slice(),\n satoshis: outputTemplate.satoshis,\n };\n};\nconst compileInputTemplate = ({ inputTemplate, index, outputs, template, transactionOutpoints, transactionSequenceNumbers, }) => {\n if ('script' in inputTemplate.unlockingBytecode) {\n const directive = inputTemplate.unlockingBytecode;\n const correspondingOutput = outputs[index];\n const result = directive.compiler.generateBytecode(directive.script, {\n ...directive.data,\n transactionContext: {\n correspondingOutput: correspondingOutput === undefined\n ? undefined\n : (0,_transaction_serialization__WEBPACK_IMPORTED_MODULE_0__.encodeOutput)(correspondingOutput),\n locktime: template.locktime,\n outpointIndex: inputTemplate.outpointIndex,\n outpointTransactionHash: inputTemplate.outpointTransactionHash.slice(),\n outputValue: directive.satoshis,\n sequenceNumber: inputTemplate.sequenceNumber,\n transactionOutpoints: transactionOutpoints.slice(),\n transactionOutputs: (0,_transaction_serialization__WEBPACK_IMPORTED_MODULE_0__.encodeOutputsForSigning)(outputs),\n transactionSequenceNumbers: transactionSequenceNumbers.slice(),\n version: template.version,\n },\n }, true);\n return result.success\n ? {\n outpointIndex: inputTemplate.outpointIndex,\n outpointTransactionHash: inputTemplate.outpointTransactionHash.slice(),\n sequenceNumber: inputTemplate.sequenceNumber,\n unlockingBytecode: result.bytecode,\n }\n : returnFailedCompilationDirective({ index, result, type: 'unlocking' });\n }\n return {\n outpointIndex: inputTemplate.outpointIndex,\n outpointTransactionHash: inputTemplate.outpointTransactionHash.slice(),\n sequenceNumber: inputTemplate.sequenceNumber,\n unlockingBytecode: inputTemplate.unlockingBytecode.slice(),\n };\n};\n/**\n * Generate a `Transaction` given a `TransactionTemplate` and any applicable\n * compilers and compilation data.\n *\n * Returns either a `Transaction` or an array of compilation errors.\n *\n * For each `CompilationDirective`, the `transactionContext` property will be\n * automatically provided to the compiler. All other necessary `CompilationData`\n * properties must be specified in the `TransactionTemplate`.\n *\n * @param template - the `TransactionTemplate` from which to create the\n * `Transaction`\n */\nconst generateTransaction = (template) => {\n const outputResults = template.outputs.map((outputTemplate, index) => compileOutputTemplate({\n index,\n outputTemplate,\n }));\n const outputCompilationErrors = outputResults.filter((result) => 'errors' in result);\n if (outputCompilationErrors.length > 0) {\n const outputCompletions = outputResults\n .map((result, index) => 'lockingBytecode' in result\n ? { index, output: result, type: 'output' }\n : result)\n .filter((result) => 'output' in result);\n return {\n completions: outputCompletions,\n errors: outputCompilationErrors,\n stage: 'outputs',\n success: false,\n };\n }\n const outputs = outputResults;\n const inputSerializationElements = template.inputs.map((inputTemplate) => ({\n outpointIndex: inputTemplate.outpointIndex,\n outpointTransactionHash: inputTemplate.outpointTransactionHash.slice(),\n sequenceNumber: inputTemplate.sequenceNumber,\n }));\n const transactionOutpoints = (0,_transaction_serialization__WEBPACK_IMPORTED_MODULE_0__.encodeOutpoints)(inputSerializationElements);\n const transactionSequenceNumbers = (0,_transaction_serialization__WEBPACK_IMPORTED_MODULE_0__.encodeSequenceNumbersForSigning)(inputSerializationElements);\n const inputResults = template.inputs.map((inputTemplate, index) => compileInputTemplate({\n index,\n inputTemplate,\n outputs,\n template,\n transactionOutpoints,\n transactionSequenceNumbers,\n }));\n const inputCompilationErrors = inputResults.filter((result) => 'errors' in result);\n if (inputCompilationErrors.length > 0) {\n const inputCompletions = inputResults\n .map((result, index) => 'unlockingBytecode' in result\n ? { index, input: result, type: 'input' }\n : result)\n .filter((result) => 'input' in result);\n return {\n completions: inputCompletions,\n errors: inputCompilationErrors,\n stage: 'inputs',\n success: false,\n };\n }\n const inputs = inputResults;\n return {\n success: true,\n transaction: {\n inputs,\n locktime: template.locktime,\n outputs,\n version: template.version,\n },\n };\n};\n/**\n * TODO: fundamentally unsound, migrate to PST format\n *\n * Extract a map of successfully resolved variables to their resolved bytecode.\n *\n * @param transactionGenerationError - a transaction generation attempt where\n * `success` is `false`\n */\nconst extractResolvedVariables = (transactionGenerationError) => transactionGenerationError.errors.reduce((all, error) => error.resolved === undefined\n ? all\n : { ...all, ...(0,_template_language_language_utils__WEBPACK_IMPORTED_MODULE_1__.extractResolvedVariableBytecodeMap)(error.resolved) }, {});\n/**\n * TODO: fundamentally unsound, migrate to PST format\n *\n * Given an unsuccessful transaction generation result, extract a map of the\n * identifiers missing from the compilation mapped to the entity which owns each\n * variable.\n *\n * Returns `false` if any errors are fatal (the error either cannot be resolved\n * by providing a variable, or the entity ownership of the required variable was\n * not provided in the compilation data).\n *\n * @param transactionGenerationError - a transaction generation result where\n * `success` is `false`\n */\nconst extractMissingVariables = (transactionGenerationError) => {\n const allErrors = transactionGenerationError.errors.reduce((all, error) => [...all, ...error.errors], []);\n if (!(0,_template_language_language_utils__WEBPACK_IMPORTED_MODULE_1__.allErrorsAreRecoverable)(allErrors)) {\n return false;\n }\n return allErrors.reduce((all, error) => ({\n ...all,\n [error.missingIdentifier]: error.owningEntity,\n }), {});\n};\n/**\n * TODO: fundamentally unsound, migrate to PST format\n *\n * Safely extend a compilation data with resolutions provided by other entities\n * (via `extractResolvedVariables`).\n *\n * It is security-critical that compilation data only be extended with expected\n * identifiers from the proper owning entity of each variable. See\n * `CompilationData.bytecode` for details.\n *\n * Returns `false` if any errors are fatal (the error either cannot be resolved\n * by providing a variable, or the entity ownership of the required variable was\n * not provided in the compilation data).\n *\n * @remarks\n * To determine which identifiers are required by a given compilation, the\n * compilation is first attempted with only trusted variables: variables owned\n * or previously verified (like `WalletData`) by the compiling entity. If this\n * compilation produces a `TransactionGenerationError`, the error can be\n * provided to `safelyExtendCompilationData`, along with the trusted compilation\n * data and a mapping of untrusted resolutions (where the result of\n * `extractResolvedVariables` is assigned to the entity ID of the entity from\n * which they were received).\n *\n * The first compilation must use only trusted compilation data\n */\nconst safelyExtendCompilationData = (transactionGenerationError, trustedCompilationData, untrustedResolutions) => {\n const missing = extractMissingVariables(transactionGenerationError);\n if (missing === false)\n return false;\n const selectedResolutions = Object.entries(missing).reduce((all, [identifier, entityId]) => {\n const entityResolution = untrustedResolutions[entityId];\n if (entityResolution === undefined) {\n return all;\n }\n const resolution = entityResolution[identifier];\n if (resolution === undefined) {\n return all;\n }\n return { ...all, [identifier]: resolution };\n }, {});\n return {\n ...trustedCompilationData,\n bytecode: {\n ...selectedResolutions,\n ...trustedCompilationData.bytecode,\n },\n };\n};\n//# sourceMappingURL=generate-transaction.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/transaction/generate-transaction.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/transaction/transaction-serialization.js": +/*!*************************************************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/transaction/transaction-serialization.js ***! + \*************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ TransactionDecodingError: () => (/* binding */ TransactionDecodingError),\n/* harmony export */ decodeTransaction: () => (/* binding */ decodeTransaction),\n/* harmony export */ decodeTransactionUnsafe: () => (/* binding */ decodeTransactionUnsafe),\n/* harmony export */ encodeInput: () => (/* binding */ encodeInput),\n/* harmony export */ encodeInputs: () => (/* binding */ encodeInputs),\n/* harmony export */ encodeOutpoints: () => (/* binding */ encodeOutpoints),\n/* harmony export */ encodeOutput: () => (/* binding */ encodeOutput),\n/* harmony export */ encodeOutputsForSigning: () => (/* binding */ encodeOutputsForSigning),\n/* harmony export */ encodeOutputsForTransaction: () => (/* binding */ encodeOutputsForTransaction),\n/* harmony export */ encodeSequenceNumbersForSigning: () => (/* binding */ encodeSequenceNumbersForSigning),\n/* harmony export */ encodeTransaction: () => (/* binding */ encodeTransaction),\n/* harmony export */ getTransactionHash: () => (/* binding */ getTransactionHash),\n/* harmony export */ getTransactionHashBE: () => (/* binding */ getTransactionHashBE),\n/* harmony export */ getTransactionHashLE: () => (/* binding */ getTransactionHashLE),\n/* harmony export */ readTransactionInput: () => (/* binding */ readTransactionInput),\n/* harmony export */ readTransactionOutput: () => (/* binding */ readTransactionOutput)\n/* harmony export */ });\n/* harmony import */ var _format_format__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../format/format */ \"./node_modules/@bitauth/libauth/build/module/lib/format/numbers.js\");\n/* harmony import */ var _format_format__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../format/format */ \"./node_modules/@bitauth/libauth/build/module/lib/format/hex.js\");\n\n/**\n * @param bin - the raw transaction from which to read the input\n * @param offset - the offset at which the input begins\n */\nconst readTransactionInput = (bin, offset) => {\n const sha256HashBytes = 32;\n const uint32Bytes = 4;\n const offsetAfterTxHash = offset + sha256HashBytes;\n const outpointTransactionHash = bin\n .slice(offset, offsetAfterTxHash)\n .reverse();\n const offsetAfterOutpointIndex = offsetAfterTxHash + uint32Bytes;\n const outpointIndex = (0,_format_format__WEBPACK_IMPORTED_MODULE_0__.binToNumberUint32LE)(bin.subarray(offsetAfterTxHash, offsetAfterOutpointIndex));\n const { nextOffset: offsetAfterBytecodeLength, value: bytecodeLength, } = (0,_format_format__WEBPACK_IMPORTED_MODULE_0__.readBitcoinVarInt)(bin, offsetAfterOutpointIndex);\n const offsetAfterBytecode = offsetAfterBytecodeLength + Number(bytecodeLength);\n const unlockingBytecode = bin.slice(offsetAfterBytecodeLength, offsetAfterBytecode);\n const nextOffset = offsetAfterBytecode + uint32Bytes;\n const sequenceNumber = (0,_format_format__WEBPACK_IMPORTED_MODULE_0__.binToNumberUint32LE)(bin.subarray(offsetAfterBytecode, nextOffset));\n return {\n input: {\n outpointIndex,\n outpointTransactionHash,\n sequenceNumber,\n unlockingBytecode,\n },\n nextOffset,\n };\n};\n/**\n * Encode a single input for inclusion in an encoded transaction.\n *\n * @param output - the input to encode\n */\nconst encodeInput = (input) => (0,_format_format__WEBPACK_IMPORTED_MODULE_1__.flattenBinArray)([\n input.outpointTransactionHash.slice().reverse(),\n (0,_format_format__WEBPACK_IMPORTED_MODULE_0__.numberToBinUint32LE)(input.outpointIndex),\n (0,_format_format__WEBPACK_IMPORTED_MODULE_0__.bigIntToBitcoinVarInt)(BigInt(input.unlockingBytecode.length)),\n input.unlockingBytecode,\n (0,_format_format__WEBPACK_IMPORTED_MODULE_0__.numberToBinUint32LE)(input.sequenceNumber),\n]);\n/**\n * Encode a set of inputs for inclusion in an encoded transaction including\n * the prefixed number of inputs.\n *\n * Format: [BitcoinVarInt: input count] [encoded inputs]\n *\n * @param inputs - the set of inputs to encode\n */\nconst encodeInputs = (inputs) => (0,_format_format__WEBPACK_IMPORTED_MODULE_1__.flattenBinArray)([\n (0,_format_format__WEBPACK_IMPORTED_MODULE_0__.bigIntToBitcoinVarInt)(BigInt(inputs.length)),\n ...inputs.map(encodeInput),\n]);\n/**\n * Read a single transaction output from an encoded transaction.\n *\n * @param bin - the raw transaction from which to read the output\n * @param offset - the offset at which the output begins\n */\nconst readTransactionOutput = (bin, offset) => {\n const uint64Bytes = 8;\n const offsetAfterSatoshis = offset + uint64Bytes;\n const satoshis = bin.slice(offset, offsetAfterSatoshis);\n const { nextOffset: offsetAfterScriptLength, value } = (0,_format_format__WEBPACK_IMPORTED_MODULE_0__.readBitcoinVarInt)(bin, offsetAfterSatoshis);\n const bytecodeLength = Number(value);\n const nextOffset = offsetAfterScriptLength + bytecodeLength;\n const lockingBytecode = bytecodeLength === 0\n ? new Uint8Array()\n : bin.slice(offsetAfterScriptLength, nextOffset);\n return {\n nextOffset,\n output: {\n lockingBytecode,\n satoshis,\n },\n };\n};\n/**\n * Encode a single output for inclusion in an encoded transaction.\n *\n * @param output - the output to encode\n */\nconst encodeOutput = (output) => (0,_format_format__WEBPACK_IMPORTED_MODULE_1__.flattenBinArray)([\n output.satoshis,\n (0,_format_format__WEBPACK_IMPORTED_MODULE_0__.bigIntToBitcoinVarInt)(BigInt(output.lockingBytecode.length)),\n output.lockingBytecode,\n]);\n/**\n * Encode a set of outputs for inclusion in an encoded transaction\n * including the prefixed number of outputs.\n *\n * Format: [BitcoinVarInt: output count] [encoded outputs]\n *\n * @param outputs - the set of outputs to encode\n */\nconst encodeOutputsForTransaction = (outputs) => (0,_format_format__WEBPACK_IMPORTED_MODULE_1__.flattenBinArray)([\n (0,_format_format__WEBPACK_IMPORTED_MODULE_0__.bigIntToBitcoinVarInt)(BigInt(outputs.length)),\n ...outputs.map(encodeOutput),\n]);\n/**\n * Decode a `Uint8Array` using the version 1 or 2 raw transaction format.\n *\n * Note: this method throws runtime errors when attempting to decode messages\n * which do not properly follow the transaction format. If the input is\n * untrusted, use `decodeTransaction`.\n *\n * @param bin - the raw message to decode\n */\nconst decodeTransactionUnsafe = (bin) => {\n const uint32Bytes = 4;\n const version = (0,_format_format__WEBPACK_IMPORTED_MODULE_0__.binToNumberUint32LE)(bin.subarray(0, uint32Bytes));\n const offsetAfterVersion = uint32Bytes;\n const { nextOffset: offsetAfterInputCount, value: inputCount, } = (0,_format_format__WEBPACK_IMPORTED_MODULE_0__.readBitcoinVarInt)(bin, offsetAfterVersion);\n // eslint-disable-next-line functional/no-let\n let cursor = offsetAfterInputCount;\n const inputs = [];\n // eslint-disable-next-line functional/no-let, functional/no-loop-statement, no-plusplus\n for (let i = 0; i < Number(inputCount); i++) {\n const { input, nextOffset } = readTransactionInput(bin, cursor);\n // eslint-disable-next-line functional/no-expression-statement\n cursor = nextOffset;\n // eslint-disable-next-line functional/no-expression-statement, functional/immutable-data\n inputs.push(input);\n }\n const { nextOffset: offsetAfterOutputCount, value: outputCount, } = (0,_format_format__WEBPACK_IMPORTED_MODULE_0__.readBitcoinVarInt)(bin, cursor);\n // eslint-disable-next-line functional/no-expression-statement\n cursor = offsetAfterOutputCount;\n const outputs = [];\n // eslint-disable-next-line functional/no-let, functional/no-loop-statement, no-plusplus\n for (let i = 0; i < Number(outputCount); i++) {\n const { output, nextOffset } = readTransactionOutput(bin, cursor);\n // eslint-disable-next-line functional/no-expression-statement\n cursor = nextOffset;\n // eslint-disable-next-line functional/no-expression-statement, functional/immutable-data\n outputs.push(output);\n }\n const locktime = (0,_format_format__WEBPACK_IMPORTED_MODULE_0__.binToNumberUint32LE)(bin.subarray(cursor, cursor + uint32Bytes));\n return {\n inputs,\n locktime,\n outputs,\n version,\n };\n};\nvar TransactionDecodingError;\n(function (TransactionDecodingError) {\n TransactionDecodingError[\"invalidFormat\"] = \"Transaction decoding error: message does not follow the version 1 or version 2 transaction format.\";\n})(TransactionDecodingError || (TransactionDecodingError = {}));\n/**\n * Decode a `Uint8Array` using the version 1 or 2 raw transaction format.\n *\n * @param bin - the raw message to decode\n */\nconst decodeTransaction = (bin) => {\n // eslint-disable-next-line functional/no-try-statement\n try {\n return decodeTransactionUnsafe(bin);\n }\n catch {\n return TransactionDecodingError.invalidFormat;\n }\n};\n/**\n * Encode a `Transaction` using the standard P2P network format. This\n * serialization is also used when computing the transaction's hash (A.K.A.\n * \"transaction ID\" or \"TXID\").\n */\nconst encodeTransaction = (tx) => (0,_format_format__WEBPACK_IMPORTED_MODULE_1__.flattenBinArray)([\n (0,_format_format__WEBPACK_IMPORTED_MODULE_0__.numberToBinUint32LE)(tx.version),\n encodeInputs(tx.inputs),\n encodeOutputsForTransaction(tx.outputs),\n (0,_format_format__WEBPACK_IMPORTED_MODULE_0__.numberToBinUint32LE)(tx.locktime),\n]);\n/**\n * Compute a transaction hash (A.K.A. \"transaction ID\" or \"TXID\") from an\n * encoded transaction in big-endian byte order. This is the byte order\n * typically used by block explorers and other user interfaces.\n *\n * @returns the transaction hash as a string\n *\n * @param transaction - the encoded transaction\n * @param sha256 - an implementation of sha256\n */\nconst getTransactionHashBE = (sha256, transaction) => sha256.hash(sha256.hash(transaction));\n/**\n * Compute a transaction hash (A.K.A. \"transaction ID\" or \"TXID\") from an\n * encoded transaction in little-endian byte order. This is the byte order\n * used in P2P network messages.\n *\n * @remarks\n * The result of sha256 is defined by its specification as big-endian, but\n * bitcoin message formats always reverse the order of this result for\n * serialization in P2P network messages.\n *\n * @returns the transaction hash in little-endian byte order\n *\n * @param transaction - the encoded transaction\n * @param sha256 - an implementation of sha256\n */\nconst getTransactionHashLE = (sha256, transaction) => getTransactionHashBE(sha256, transaction).reverse();\n/**\n * Return a `Transaction`'s hash as a string (in big-endian byte order as is\n * common for user interfaces).\n *\n * @param transaction - the encoded transaction\n * @param sha256 - an implementation of sha256\n */\nconst getTransactionHash = (sha256, transaction) => (0,_format_format__WEBPACK_IMPORTED_MODULE_1__.binToHex)(getTransactionHashBE(sha256, transaction));\n/**\n * Get the hash of all outpoints in a series of inputs. (For use in\n * `hashTransactionOutpoints`.)\n *\n * @param inputs - the series of inputs from which to extract the outpoints\n * @param sha256 - an implementation of sha256\n */\nconst encodeOutpoints = (inputs) => (0,_format_format__WEBPACK_IMPORTED_MODULE_1__.flattenBinArray)(inputs.map((i) => (0,_format_format__WEBPACK_IMPORTED_MODULE_1__.flattenBinArray)([\n i.outpointTransactionHash.slice().reverse(),\n (0,_format_format__WEBPACK_IMPORTED_MODULE_0__.numberToBinUint32LE)(i.outpointIndex),\n])));\n/**\n * Encode an array of transaction outputs for use in transaction signing\n * serializations.\n *\n * @param outputs - the array of outputs to encode\n */\nconst encodeOutputsForSigning = (outputs) => (0,_format_format__WEBPACK_IMPORTED_MODULE_1__.flattenBinArray)(outputs.map(encodeOutput));\n/**\n * Encode an array of input sequence numbers for use in transaction signing\n * serializations.\n *\n * @param inputs - the array of inputs from which to extract the sequence\n * numbers\n */\nconst encodeSequenceNumbersForSigning = (inputs) => (0,_format_format__WEBPACK_IMPORTED_MODULE_1__.flattenBinArray)(inputs.map((i) => (0,_format_format__WEBPACK_IMPORTED_MODULE_0__.numberToBinUint32LE)(i.sequenceNumber)));\n//# sourceMappingURL=transaction-serialization.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/transaction/transaction-serialization.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/transaction/transaction-types.js": +/*!*****************************************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/transaction/transaction-types.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ invalidSatoshis: () => (/* binding */ invalidSatoshis)\n/* harmony export */ });\n/**\n * The maximum uint64 value – an impossibly large, intentionally invalid value\n * for `satoshis`. See `Transaction.satoshis` for details.\n */\n// prettier-ignore\n// eslint-disable-next-line @typescript-eslint/no-magic-numbers\nconst invalidSatoshis = Uint8Array.from([255, 255, 255, 255, 255, 255, 255, 255]);\n//# sourceMappingURL=transaction-types.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/transaction/transaction-types.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/transaction/transaction.js": +/*!***********************************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/transaction/transaction.js ***! + \***********************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ TransactionDecodingError: () => (/* reexport safe */ _transaction_serialization__WEBPACK_IMPORTED_MODULE_1__.TransactionDecodingError),\n/* harmony export */ compileInputTemplate: () => (/* reexport safe */ _generate_transaction__WEBPACK_IMPORTED_MODULE_0__.compileInputTemplate),\n/* harmony export */ compileOutputTemplate: () => (/* reexport safe */ _generate_transaction__WEBPACK_IMPORTED_MODULE_0__.compileOutputTemplate),\n/* harmony export */ decodeTransaction: () => (/* reexport safe */ _transaction_serialization__WEBPACK_IMPORTED_MODULE_1__.decodeTransaction),\n/* harmony export */ decodeTransactionUnsafe: () => (/* reexport safe */ _transaction_serialization__WEBPACK_IMPORTED_MODULE_1__.decodeTransactionUnsafe),\n/* harmony export */ encodeInput: () => (/* reexport safe */ _transaction_serialization__WEBPACK_IMPORTED_MODULE_1__.encodeInput),\n/* harmony export */ encodeInputs: () => (/* reexport safe */ _transaction_serialization__WEBPACK_IMPORTED_MODULE_1__.encodeInputs),\n/* harmony export */ encodeOutpoints: () => (/* reexport safe */ _transaction_serialization__WEBPACK_IMPORTED_MODULE_1__.encodeOutpoints),\n/* harmony export */ encodeOutput: () => (/* reexport safe */ _transaction_serialization__WEBPACK_IMPORTED_MODULE_1__.encodeOutput),\n/* harmony export */ encodeOutputsForSigning: () => (/* reexport safe */ _transaction_serialization__WEBPACK_IMPORTED_MODULE_1__.encodeOutputsForSigning),\n/* harmony export */ encodeOutputsForTransaction: () => (/* reexport safe */ _transaction_serialization__WEBPACK_IMPORTED_MODULE_1__.encodeOutputsForTransaction),\n/* harmony export */ encodeSequenceNumbersForSigning: () => (/* reexport safe */ _transaction_serialization__WEBPACK_IMPORTED_MODULE_1__.encodeSequenceNumbersForSigning),\n/* harmony export */ encodeTransaction: () => (/* reexport safe */ _transaction_serialization__WEBPACK_IMPORTED_MODULE_1__.encodeTransaction),\n/* harmony export */ extractMissingVariables: () => (/* reexport safe */ _generate_transaction__WEBPACK_IMPORTED_MODULE_0__.extractMissingVariables),\n/* harmony export */ extractResolvedVariables: () => (/* reexport safe */ _generate_transaction__WEBPACK_IMPORTED_MODULE_0__.extractResolvedVariables),\n/* harmony export */ generateTransaction: () => (/* reexport safe */ _generate_transaction__WEBPACK_IMPORTED_MODULE_0__.generateTransaction),\n/* harmony export */ getTransactionHash: () => (/* reexport safe */ _transaction_serialization__WEBPACK_IMPORTED_MODULE_1__.getTransactionHash),\n/* harmony export */ getTransactionHashBE: () => (/* reexport safe */ _transaction_serialization__WEBPACK_IMPORTED_MODULE_1__.getTransactionHashBE),\n/* harmony export */ getTransactionHashLE: () => (/* reexport safe */ _transaction_serialization__WEBPACK_IMPORTED_MODULE_1__.getTransactionHashLE),\n/* harmony export */ invalidSatoshis: () => (/* reexport safe */ _transaction_types__WEBPACK_IMPORTED_MODULE_2__.invalidSatoshis),\n/* harmony export */ readTransactionInput: () => (/* reexport safe */ _transaction_serialization__WEBPACK_IMPORTED_MODULE_1__.readTransactionInput),\n/* harmony export */ readTransactionOutput: () => (/* reexport safe */ _transaction_serialization__WEBPACK_IMPORTED_MODULE_1__.readTransactionOutput),\n/* harmony export */ safelyExtendCompilationData: () => (/* reexport safe */ _generate_transaction__WEBPACK_IMPORTED_MODULE_0__.safelyExtendCompilationData),\n/* harmony export */ verifyTransaction: () => (/* reexport safe */ _verify_transaction__WEBPACK_IMPORTED_MODULE_3__.verifyTransaction)\n/* harmony export */ });\n/* harmony import */ var _generate_transaction__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./generate-transaction */ \"./node_modules/@bitauth/libauth/build/module/lib/transaction/generate-transaction.js\");\n/* harmony import */ var _transaction_serialization__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./transaction-serialization */ \"./node_modules/@bitauth/libauth/build/module/lib/transaction/transaction-serialization.js\");\n/* harmony import */ var _transaction_types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./transaction-types */ \"./node_modules/@bitauth/libauth/build/module/lib/transaction/transaction-types.js\");\n/* harmony import */ var _verify_transaction__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./verify-transaction */ \"./node_modules/@bitauth/libauth/build/module/lib/transaction/verify-transaction.js\");\n\n\n\n\n//# sourceMappingURL=transaction.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/transaction/transaction.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/transaction/verify-transaction.js": +/*!******************************************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/transaction/verify-transaction.js ***! + \******************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ verifyTransaction: () => (/* binding */ verifyTransaction)\n/* harmony export */ });\n/**\n * Statelessly verify a transaction given an `AuthenticationVirtualMachine` and\n * a list of spent outputs (the `lockingBytecode` and `satoshis` being spent by\n * each input).\n *\n * Note, while the virtual machine will evaluate locktime-related operations\n * against the transactions own `locktime`, this method does not verify the\n * transaction's `locktime` property itself (allowing verification to be\n * stateless).\n *\n * Before a statelessly verified transaction can be added to the blockchain,\n * node implementations must confirm that:\n * - all `spentOutputs` are still unspent, and\n * - both relative and absolute locktime consensus requirements have been met.\n * (See BIP65, BIP68, and BIP112 for details.)\n *\n * @param spentOutputs - an array of the `Output`s spent by the transaction's\n * `inputs` in matching order (`inputs[0]` spends `spentOutputs[0]`, etc.)\n * @param transaction - the transaction to verify\n * @param vm - the authentication virtual machine to use in validation\n */\nconst verifyTransaction = ({ spentOutputs, transaction, vm, }) => {\n if (transaction.inputs.length !== spentOutputs.length) {\n return [\n 'Unable to verify transaction: a spent output must be provided for each transaction input.',\n ];\n }\n const errors = transaction.inputs.reduce((all, _, index) => {\n const program = {\n inputIndex: index,\n sourceOutput: spentOutputs[index],\n spendingTransaction: transaction,\n };\n const state = vm.evaluate(program);\n const verify = vm.verify(state);\n if (verify === true) {\n return all;\n }\n return [...all, `Error in evaluating input index \"${index}\": ${verify}`];\n }, []);\n return errors.length === 0 ? true : errors;\n};\n//# sourceMappingURL=verify-transaction.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/transaction/verify-transaction.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/bch/bch-descriptions.js": +/*!****************************************************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/bch/bch-descriptions.js ***! + \****************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ OpcodeDescriptionsBCH: () => (/* binding */ OpcodeDescriptionsBCH),\n/* harmony export */ OpcodeDescriptionsUniqueBCH: () => (/* binding */ OpcodeDescriptionsUniqueBCH)\n/* harmony export */ });\n/* harmony import */ var _common_descriptions__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../common/descriptions */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/descriptions.js\");\n\nvar OpcodeDescriptionsUniqueBCH;\n(function (OpcodeDescriptionsUniqueBCH) {\n OpcodeDescriptionsUniqueBCH[\"OP_CAT\"] = \"Pop the top 2 items from the stack and concatenate them, pushing the result.\";\n OpcodeDescriptionsUniqueBCH[\"OP_SPLIT\"] = \"Pop the top item from the stack as an index (Script Number) and the next item as a byte array. Split the byte array into two stack items at the index (zero-based), pushing the results.\";\n OpcodeDescriptionsUniqueBCH[\"OP_NUM2BIN\"] = \"Pop the top item from the stack as an item length (Script Number) and the next item as a Script Number (without encoding restrictions). Re-encode the number using a byte array of the provided length, filling any unused bytes with zeros. (If the requested length is too short to encode the number, error.)\";\n OpcodeDescriptionsUniqueBCH[\"OP_BIN2NUM\"] = \"Pop the top item from the stack as a Script Number without encoding restrictions. Minimally-encode the number and push the result. (If the number can't be encoded in 4 bytes or less, error.)\";\n OpcodeDescriptionsUniqueBCH[\"OP_AND\"] = \"Pop the top 2 items from the stack and perform a bitwise AND on each byte, pushing the result. If the length of the items are not equal, error.\";\n OpcodeDescriptionsUniqueBCH[\"OP_OR\"] = \"Pop the top 2 items from the stack and perform a bitwise OR on each byte, pushing the result. If the length of the items are not equal, error.\";\n OpcodeDescriptionsUniqueBCH[\"OP_XOR\"] = \"Pop the top 2 items from the stack and perform a bitwise XOR on each byte, pushing the result. If the length of the items are not equal, error.\";\n OpcodeDescriptionsUniqueBCH[\"OP_DIV\"] = \"Pop the top item from the stack as a denominator (Script Number) and the next as a numerator (Script Number). Divide and push the result to the stack.\";\n OpcodeDescriptionsUniqueBCH[\"OP_MOD\"] = \"Pop the top item from the stack as a denominator (Script Number) and the next as a numerator (Script Number). Divide and push the remainder to the stack.\";\n OpcodeDescriptionsUniqueBCH[\"OP_CHECKDATASIG\"] = \"Pop the top 3 items from the stack. Treat the top as a public key, the second as a message, and the third as a signature. If the signature is valid, push a Script Number 1, otherwise push a Script Number 0.\";\n OpcodeDescriptionsUniqueBCH[\"OP_CHECKDATASIGVERIFY\"] = \"Pop the top 3 items from the stack. Treat the top as a public key, the second as a message, and the third as a signature. If the signature is not valid, error. (This operation is a combination of OP_CHECKDATASIG followed by OP_VERIFY.)\";\n OpcodeDescriptionsUniqueBCH[\"OP_REVERSEBYTES\"] = \"Pop the top item from the stack and reverse it, pushing the result.\";\n})(OpcodeDescriptionsUniqueBCH || (OpcodeDescriptionsUniqueBCH = {}));\n/**\n * A map of descriptions for each Bitcoin Cash opcode.\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nconst OpcodeDescriptionsBCH = {\n ..._common_descriptions__WEBPACK_IMPORTED_MODULE_0__.OpcodeDescriptionsCommon,\n ...OpcodeDescriptionsUniqueBCH,\n};\n//# sourceMappingURL=bch-descriptions.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/bch/bch-descriptions.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/bch/bch-errors.js": +/*!**********************************************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/bch/bch-errors.js ***! + \**********************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AuthenticationErrorBCH: () => (/* binding */ AuthenticationErrorBCH)\n/* harmony export */ });\nvar AuthenticationErrorBCH;\n(function (AuthenticationErrorBCH) {\n AuthenticationErrorBCH[\"exceededMaximumOperationCount\"] = \"Program exceeded the maximum operation count (201 operations).\";\n AuthenticationErrorBCH[\"exceededMaximumStackItemLength\"] = \"Program attempted to push a stack item which exceeded the maximum stack item length (520 bytes).\";\n AuthenticationErrorBCH[\"exceededMaximumScriptNumberLength\"] = \"Program attempted an OP_BIN2NUM operation on a byte sequence which cannot be encoded within the maximum Script Number length (4 bytes).\";\n AuthenticationErrorBCH[\"divisionByZero\"] = \"Program attempted to divide a number by zero.\";\n AuthenticationErrorBCH[\"insufficientLength\"] = \"Program called an OP_NUM2BIN operation with an insufficient byte length to re-encode the provided number.\";\n AuthenticationErrorBCH[\"invalidSplitIndex\"] = \"Program called an OP_SPLIT operation with an invalid index.\";\n AuthenticationErrorBCH[\"malformedP2shBytecode\"] = \"Redeem bytecode was malformed prior to P2SH evaluation.\";\n AuthenticationErrorBCH[\"mismatchedBitwiseOperandLength\"] = \"Program attempted a bitwise operation on operands of different lengths.\";\n AuthenticationErrorBCH[\"requiresPushOnly\"] = \"Unlocking bytecode may contain only push operations.\";\n})(AuthenticationErrorBCH || (AuthenticationErrorBCH = {}));\n//# sourceMappingURL=bch-errors.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/bch/bch-errors.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/bch/bch-instruction-sets.js": +/*!********************************************************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/bch/bch-instruction-sets.js ***! + \********************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ InstructionSetBCH: () => (/* binding */ InstructionSetBCH),\n/* harmony export */ OpcodesBCH: () => (/* reexport safe */ _bch_opcodes__WEBPACK_IMPORTED_MODULE_0__.OpcodesBCH),\n/* harmony export */ createInstructionSetBCH: () => (/* binding */ createInstructionSetBCH),\n/* harmony export */ getFlagsForInstructionSetBCH: () => (/* binding */ getFlagsForInstructionSetBCH),\n/* harmony export */ instructionSetBCHCurrentStrict: () => (/* binding */ instructionSetBCHCurrentStrict),\n/* harmony export */ isPayToScriptHash: () => (/* binding */ isPayToScriptHash),\n/* harmony export */ isWitnessProgram: () => (/* binding */ isWitnessProgram)\n/* harmony export */ });\n/* harmony import */ var _common_combinators__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../common/combinators */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/combinators.js\");\n/* harmony import */ var _common_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../common/common */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/common.js\");\n/* harmony import */ var _common_common__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../common/common */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/errors.js\");\n/* harmony import */ var _common_common__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../common/common */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/types.js\");\n/* harmony import */ var _instruction_sets_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../instruction-sets-utils */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/instruction-sets-utils.js\");\n/* harmony import */ var _bch_errors__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./bch-errors */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/bch/bch-errors.js\");\n/* harmony import */ var _bch_opcodes__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./bch-opcodes */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/bch/bch-opcodes.js\");\n/* harmony import */ var _bch_operations__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./bch-operations */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/bch/bch-operations.js\");\n\n\n\n\n\n\n\nconst isPayToScriptHash = (verificationInstructions) => verificationInstructions.length === 3 /* length */ &&\n verificationInstructions[0].opcode ===\n _bch_opcodes__WEBPACK_IMPORTED_MODULE_0__.OpcodesBCH.OP_HASH160 &&\n verificationInstructions[1].opcode ===\n _bch_opcodes__WEBPACK_IMPORTED_MODULE_0__.OpcodesBCH.OP_PUSHBYTES_20 &&\n verificationInstructions[2 /* lastElement */]\n .opcode === _bch_opcodes__WEBPACK_IMPORTED_MODULE_0__.OpcodesBCH.OP_EQUAL;\n/**\n * Test a stack item for the SegWit Recovery Rules activated in `BCH_2019_05`.\n *\n * @param bytecode - the stack item to test\n */\n// eslint-disable-next-line complexity\nconst isWitnessProgram = (bytecode) => {\n const correctLength = bytecode.length >= 4 /* minimumLength */ &&\n bytecode.length <= 42 /* maximumLength */;\n const validVersionPush = bytecode[0] === 0 /* OP_0 */ ||\n (bytecode[0] >= 81 /* OP_1 */ && bytecode[0] <= 96 /* OP_16 */);\n const correctLengthByte = bytecode[1] + 2 /* versionAndLengthBytes */ === bytecode.length;\n return correctLength && validVersionPush && correctLengthByte;\n};\n/**\n * From C++ implementation:\n * Note that IsPushOnly() *does* consider OP_RESERVED to be a push-type\n * opcode, however execution of OP_RESERVED fails, so it's not relevant to\n * P2SH/BIP62 as the scriptSig would fail prior to the P2SH special\n * validation code being executed.\n */\nconst isPushOperation = (opcode) => opcode < _bch_opcodes__WEBPACK_IMPORTED_MODULE_0__.OpcodesBCH.OP_16;\n/**\n * This library's supported versions of the BCH virtual machine. \"Strict\"\n * versions (A.K.A. `isStandard` from the C++ implementations) enable additional\n * validation which is commonly used on the P2P network before relaying\n * transactions. Transactions which fail these rules are often called\n * \"non-standard\" – the transactions can technically be included by miners in\n * valid blocks, but most network nodes will refuse to relay them.\n *\n * BCH instruction sets marked `SPEC` (\"specification\") have not yet been\n * deployed on the main network and are subject to change. After deployment, the\n * `SPEC` suffix is removed. This change only effects the name of the TypeScript\n * enum member – the value remains the same. E.g.\n * `InstructionSetBCH.BCH_2020_05_SPEC` became `InstructionSetBCH.BCH_2020_05`,\n * but the value remained `BCH_2020_05`.\n *\n * This allows consumers to select an upgrade policy: when a version of Libauth\n * is released in which compatibility with a deployed virtual machine is\n * confirmed, this change can help to identify downstream code which requires\n * review.\n * - Consumers which prefer to upgrade manually should specify a `SPEC` type,\n * e.g. `InstructionSetBCH.BCH_2020_05_SPEC`.\n * - Consumers which prefer full compatibility between Libauth version should\n * specify a precise instruction set value (e.g. `BCH_2020_05`) or use the\n * dedicated \"current\" value: `instructionSetBCHCurrentStrict`.\n */\nvar InstructionSetBCH;\n(function (InstructionSetBCH) {\n InstructionSetBCH[\"BCH_2019_05\"] = \"BCH_2019_05\";\n InstructionSetBCH[\"BCH_2019_05_STRICT\"] = \"BCH_2019_05_STRICT\";\n InstructionSetBCH[\"BCH_2019_11\"] = \"BCH_2019_11\";\n InstructionSetBCH[\"BCH_2019_11_STRICT\"] = \"BCH_2019_11_STRICT\";\n InstructionSetBCH[\"BCH_2020_05\"] = \"BCH_2020_05\";\n InstructionSetBCH[\"BCH_2020_05_STRICT\"] = \"BCH_2020_05_STRICT\";\n InstructionSetBCH[\"BCH_2020_11_SPEC\"] = \"BCH_2020_11\";\n InstructionSetBCH[\"BCH_2020_11_STRICT_SPEC\"] = \"BCH_2020_11_STRICT\";\n InstructionSetBCH[\"BCH_2021_05_SPEC\"] = \"BCH_2021_05\";\n InstructionSetBCH[\"BCH_2021_05_STRICT_SPEC\"] = \"BCH_2021_05_STRICT\";\n InstructionSetBCH[\"BCH_2021_11_SPEC\"] = \"BCH_2021_11\";\n InstructionSetBCH[\"BCH_2021_11_STRICT_SPEC\"] = \"BCH_2021_11_STRICT\";\n InstructionSetBCH[\"BCH_2022_05_SPEC\"] = \"BCH_2022_05\";\n InstructionSetBCH[\"BCH_2022_05_STRICT_SPEC\"] = \"BCH_2022_05_STRICT\";\n InstructionSetBCH[\"BCH_2022_11_SPEC\"] = \"BCH_2022_11\";\n InstructionSetBCH[\"BCH_2022_11_STRICT_SPEC\"] = \"BCH_2022_11_STRICT\";\n})(InstructionSetBCH || (InstructionSetBCH = {}));\n/**\n * The current strict virtual machine version used by the Bitcoin Cash (BCH)\n * network.\n */\nconst instructionSetBCHCurrentStrict = InstructionSetBCH.BCH_2020_05_STRICT;\n// eslint-disable-next-line complexity\nconst getFlagsForInstructionSetBCH = (instructionSet) => {\n switch (instructionSet) {\n case InstructionSetBCH.BCH_2019_05:\n return {\n disallowUpgradableNops: false,\n opReverseBytes: false,\n requireBugValueZero: false,\n requireMinimalEncoding: false,\n requireNullSignatureFailures: true,\n };\n case InstructionSetBCH.BCH_2019_05_STRICT:\n return {\n disallowUpgradableNops: true,\n opReverseBytes: false,\n requireBugValueZero: false,\n requireMinimalEncoding: true,\n requireNullSignatureFailures: true,\n };\n case InstructionSetBCH.BCH_2019_11:\n return {\n disallowUpgradableNops: false,\n opReverseBytes: false,\n requireBugValueZero: true,\n requireMinimalEncoding: true,\n requireNullSignatureFailures: true,\n };\n case InstructionSetBCH.BCH_2019_11_STRICT:\n return {\n disallowUpgradableNops: true,\n opReverseBytes: false,\n requireBugValueZero: true,\n requireMinimalEncoding: true,\n requireNullSignatureFailures: true,\n };\n case InstructionSetBCH.BCH_2020_05:\n return {\n disallowUpgradableNops: false,\n opReverseBytes: true,\n requireBugValueZero: false,\n requireMinimalEncoding: false,\n requireNullSignatureFailures: true,\n };\n case InstructionSetBCH.BCH_2020_05_STRICT:\n return {\n disallowUpgradableNops: true,\n opReverseBytes: true,\n requireBugValueZero: true,\n requireMinimalEncoding: true,\n requireNullSignatureFailures: true,\n };\n default:\n return new Error(`${instructionSet} is not a known instruction set.`);\n }\n};\n/**\n * Initialize a new instruction set for the BCH virtual machine.\n *\n * @param flags - an object configuring the flags for this vm (see\n * `getFlagsForInstructionSetBCH`)\n * @param sha1 - a Sha1 implementation\n * @param sha256 - a Sha256 implementation\n * @param ripemd160 - a Ripemd160 implementation\n * @param secp256k1 - a Secp256k1 implementation\n */\nconst createInstructionSetBCH = ({ flags, ripemd160, secp256k1, sha1, sha256, }) => ({\n clone: _common_common__WEBPACK_IMPORTED_MODULE_1__.cloneAuthenticationProgramStateCommon,\n continue: (state) => state.error === undefined && state.ip < state.instructions.length,\n // eslint-disable-next-line complexity\n evaluate: (program, stateEvaluate) => {\n var _a;\n const { unlockingBytecode } = program.spendingTransaction.inputs[program.inputIndex];\n const { lockingBytecode } = program.sourceOutput;\n const unlockingInstructions = (0,_instruction_sets_utils__WEBPACK_IMPORTED_MODULE_2__.parseBytecode)(unlockingBytecode);\n const lockingInstructions = (0,_instruction_sets_utils__WEBPACK_IMPORTED_MODULE_2__.parseBytecode)(lockingBytecode);\n const externalState = (0,_common_common__WEBPACK_IMPORTED_MODULE_1__.createTransactionContextCommon)(program);\n const initialState = (0,_common_common__WEBPACK_IMPORTED_MODULE_1__.createAuthenticationProgramStateCommon)({\n instructions: unlockingInstructions,\n stack: [],\n transactionContext: externalState,\n });\n const unlockingResult = unlockingBytecode.length > _common_common__WEBPACK_IMPORTED_MODULE_1__.ConsensusCommon.maximumBytecodeLength\n ? (0,_common_common__WEBPACK_IMPORTED_MODULE_3__.applyError)(_common_common__WEBPACK_IMPORTED_MODULE_3__.AuthenticationErrorCommon.exceededMaximumBytecodeLengthUnlocking, initialState)\n : (0,_instruction_sets_utils__WEBPACK_IMPORTED_MODULE_2__.authenticationInstructionsAreMalformed)(unlockingInstructions)\n ? (0,_common_common__WEBPACK_IMPORTED_MODULE_3__.applyError)(_common_common__WEBPACK_IMPORTED_MODULE_3__.AuthenticationErrorCommon.malformedUnlockingBytecode, initialState)\n : lockingBytecode.length > _common_common__WEBPACK_IMPORTED_MODULE_1__.ConsensusCommon.maximumBytecodeLength\n ? (0,_common_common__WEBPACK_IMPORTED_MODULE_3__.applyError)(_common_common__WEBPACK_IMPORTED_MODULE_3__.AuthenticationErrorCommon.exceededMaximumBytecodeLengthLocking, initialState)\n : (0,_instruction_sets_utils__WEBPACK_IMPORTED_MODULE_2__.authenticationInstructionsAreMalformed)(lockingInstructions)\n ? (0,_common_common__WEBPACK_IMPORTED_MODULE_3__.applyError)(_common_common__WEBPACK_IMPORTED_MODULE_3__.AuthenticationErrorCommon.malformedLockingBytecode, initialState)\n : initialState.instructions.every((instruction) => isPushOperation(instruction.opcode))\n ? stateEvaluate(initialState)\n : (0,_common_common__WEBPACK_IMPORTED_MODULE_3__.applyError)(_bch_errors__WEBPACK_IMPORTED_MODULE_4__.AuthenticationErrorBCH.requiresPushOnly, initialState);\n if (unlockingResult.error !== undefined) {\n return unlockingResult;\n }\n const lockingResult = stateEvaluate((0,_common_common__WEBPACK_IMPORTED_MODULE_1__.createAuthenticationProgramStateCommon)({\n instructions: lockingInstructions,\n stack: unlockingResult.stack,\n transactionContext: externalState,\n }));\n if (!isPayToScriptHash(lockingInstructions)) {\n return lockingResult;\n }\n const p2shStack = (0,_common_common__WEBPACK_IMPORTED_MODULE_1__.cloneStack)(unlockingResult.stack);\n // eslint-disable-next-line functional/immutable-data\n const p2shScript = (_a = p2shStack.pop()) !== null && _a !== void 0 ? _a : Uint8Array.of();\n if (p2shStack.length === 0 && isWitnessProgram(p2shScript)) {\n return lockingResult;\n }\n const p2shInstructions = (0,_instruction_sets_utils__WEBPACK_IMPORTED_MODULE_2__.parseBytecode)(p2shScript);\n return (0,_instruction_sets_utils__WEBPACK_IMPORTED_MODULE_2__.authenticationInstructionsAreMalformed)(p2shInstructions)\n ? {\n ...lockingResult,\n error: _bch_errors__WEBPACK_IMPORTED_MODULE_4__.AuthenticationErrorBCH.malformedP2shBytecode,\n }\n : stateEvaluate((0,_common_common__WEBPACK_IMPORTED_MODULE_1__.createAuthenticationProgramStateCommon)({\n instructions: p2shInstructions,\n stack: p2shStack,\n transactionContext: externalState,\n }));\n },\n operations: {\n ...(0,_common_common__WEBPACK_IMPORTED_MODULE_1__.commonOperations)({ flags, ripemd160, secp256k1, sha1, sha256 }),\n ...(0,_common_combinators__WEBPACK_IMPORTED_MODULE_5__.mapOverOperations)((0,_bch_operations__WEBPACK_IMPORTED_MODULE_6__.bitcoinCashOperations)({\n flags,\n secp256k1,\n sha256,\n }), _common_combinators__WEBPACK_IMPORTED_MODULE_5__.conditionallyEvaluate, _common_combinators__WEBPACK_IMPORTED_MODULE_5__.incrementOperationCount, _common_common__WEBPACK_IMPORTED_MODULE_1__.checkLimitsCommon),\n },\n ...(0,_common_common__WEBPACK_IMPORTED_MODULE_1__.undefinedOperation)(),\n verify: (state) => {\n if (state.error !== undefined) {\n return state.error;\n }\n if (state.executionStack.length !== 0) {\n return _common_common__WEBPACK_IMPORTED_MODULE_3__.AuthenticationErrorCommon.nonEmptyExecutionStack;\n }\n if (state.stack.length !== 1) {\n return _common_common__WEBPACK_IMPORTED_MODULE_3__.AuthenticationErrorCommon.requiresCleanStack;\n }\n if (!(0,_common_common__WEBPACK_IMPORTED_MODULE_7__.stackItemIsTruthy)(state.stack[0])) {\n return _common_common__WEBPACK_IMPORTED_MODULE_3__.AuthenticationErrorCommon.unsuccessfulEvaluation;\n }\n return true;\n },\n});\n//# sourceMappingURL=bch-instruction-sets.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/bch/bch-instruction-sets.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/bch/bch-opcodes.js": +/*!***********************************************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/bch/bch-opcodes.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ OpcodeAlternateNamesBCH: () => (/* binding */ OpcodeAlternateNamesBCH),\n/* harmony export */ OpcodesBCH: () => (/* binding */ OpcodesBCH)\n/* harmony export */ });\nvar OpcodesBCH;\n(function (OpcodesBCH) {\n /**\n * A.K.A. `OP_FALSE` or `OP_PUSHBYTES_0`\n */\n OpcodesBCH[OpcodesBCH[\"OP_0\"] = 0] = \"OP_0\";\n OpcodesBCH[OpcodesBCH[\"OP_PUSHBYTES_1\"] = 1] = \"OP_PUSHBYTES_1\";\n OpcodesBCH[OpcodesBCH[\"OP_PUSHBYTES_2\"] = 2] = \"OP_PUSHBYTES_2\";\n OpcodesBCH[OpcodesBCH[\"OP_PUSHBYTES_3\"] = 3] = \"OP_PUSHBYTES_3\";\n OpcodesBCH[OpcodesBCH[\"OP_PUSHBYTES_4\"] = 4] = \"OP_PUSHBYTES_4\";\n OpcodesBCH[OpcodesBCH[\"OP_PUSHBYTES_5\"] = 5] = \"OP_PUSHBYTES_5\";\n OpcodesBCH[OpcodesBCH[\"OP_PUSHBYTES_6\"] = 6] = \"OP_PUSHBYTES_6\";\n OpcodesBCH[OpcodesBCH[\"OP_PUSHBYTES_7\"] = 7] = \"OP_PUSHBYTES_7\";\n OpcodesBCH[OpcodesBCH[\"OP_PUSHBYTES_8\"] = 8] = \"OP_PUSHBYTES_8\";\n OpcodesBCH[OpcodesBCH[\"OP_PUSHBYTES_9\"] = 9] = \"OP_PUSHBYTES_9\";\n OpcodesBCH[OpcodesBCH[\"OP_PUSHBYTES_10\"] = 10] = \"OP_PUSHBYTES_10\";\n OpcodesBCH[OpcodesBCH[\"OP_PUSHBYTES_11\"] = 11] = \"OP_PUSHBYTES_11\";\n OpcodesBCH[OpcodesBCH[\"OP_PUSHBYTES_12\"] = 12] = \"OP_PUSHBYTES_12\";\n OpcodesBCH[OpcodesBCH[\"OP_PUSHBYTES_13\"] = 13] = \"OP_PUSHBYTES_13\";\n OpcodesBCH[OpcodesBCH[\"OP_PUSHBYTES_14\"] = 14] = \"OP_PUSHBYTES_14\";\n OpcodesBCH[OpcodesBCH[\"OP_PUSHBYTES_15\"] = 15] = \"OP_PUSHBYTES_15\";\n OpcodesBCH[OpcodesBCH[\"OP_PUSHBYTES_16\"] = 16] = \"OP_PUSHBYTES_16\";\n OpcodesBCH[OpcodesBCH[\"OP_PUSHBYTES_17\"] = 17] = \"OP_PUSHBYTES_17\";\n OpcodesBCH[OpcodesBCH[\"OP_PUSHBYTES_18\"] = 18] = \"OP_PUSHBYTES_18\";\n OpcodesBCH[OpcodesBCH[\"OP_PUSHBYTES_19\"] = 19] = \"OP_PUSHBYTES_19\";\n OpcodesBCH[OpcodesBCH[\"OP_PUSHBYTES_20\"] = 20] = \"OP_PUSHBYTES_20\";\n OpcodesBCH[OpcodesBCH[\"OP_PUSHBYTES_21\"] = 21] = \"OP_PUSHBYTES_21\";\n OpcodesBCH[OpcodesBCH[\"OP_PUSHBYTES_22\"] = 22] = \"OP_PUSHBYTES_22\";\n OpcodesBCH[OpcodesBCH[\"OP_PUSHBYTES_23\"] = 23] = \"OP_PUSHBYTES_23\";\n OpcodesBCH[OpcodesBCH[\"OP_PUSHBYTES_24\"] = 24] = \"OP_PUSHBYTES_24\";\n OpcodesBCH[OpcodesBCH[\"OP_PUSHBYTES_25\"] = 25] = \"OP_PUSHBYTES_25\";\n OpcodesBCH[OpcodesBCH[\"OP_PUSHBYTES_26\"] = 26] = \"OP_PUSHBYTES_26\";\n OpcodesBCH[OpcodesBCH[\"OP_PUSHBYTES_27\"] = 27] = \"OP_PUSHBYTES_27\";\n OpcodesBCH[OpcodesBCH[\"OP_PUSHBYTES_28\"] = 28] = \"OP_PUSHBYTES_28\";\n OpcodesBCH[OpcodesBCH[\"OP_PUSHBYTES_29\"] = 29] = \"OP_PUSHBYTES_29\";\n OpcodesBCH[OpcodesBCH[\"OP_PUSHBYTES_30\"] = 30] = \"OP_PUSHBYTES_30\";\n OpcodesBCH[OpcodesBCH[\"OP_PUSHBYTES_31\"] = 31] = \"OP_PUSHBYTES_31\";\n OpcodesBCH[OpcodesBCH[\"OP_PUSHBYTES_32\"] = 32] = \"OP_PUSHBYTES_32\";\n OpcodesBCH[OpcodesBCH[\"OP_PUSHBYTES_33\"] = 33] = \"OP_PUSHBYTES_33\";\n OpcodesBCH[OpcodesBCH[\"OP_PUSHBYTES_34\"] = 34] = \"OP_PUSHBYTES_34\";\n OpcodesBCH[OpcodesBCH[\"OP_PUSHBYTES_35\"] = 35] = \"OP_PUSHBYTES_35\";\n OpcodesBCH[OpcodesBCH[\"OP_PUSHBYTES_36\"] = 36] = \"OP_PUSHBYTES_36\";\n OpcodesBCH[OpcodesBCH[\"OP_PUSHBYTES_37\"] = 37] = \"OP_PUSHBYTES_37\";\n OpcodesBCH[OpcodesBCH[\"OP_PUSHBYTES_38\"] = 38] = \"OP_PUSHBYTES_38\";\n OpcodesBCH[OpcodesBCH[\"OP_PUSHBYTES_39\"] = 39] = \"OP_PUSHBYTES_39\";\n OpcodesBCH[OpcodesBCH[\"OP_PUSHBYTES_40\"] = 40] = \"OP_PUSHBYTES_40\";\n OpcodesBCH[OpcodesBCH[\"OP_PUSHBYTES_41\"] = 41] = \"OP_PUSHBYTES_41\";\n OpcodesBCH[OpcodesBCH[\"OP_PUSHBYTES_42\"] = 42] = \"OP_PUSHBYTES_42\";\n OpcodesBCH[OpcodesBCH[\"OP_PUSHBYTES_43\"] = 43] = \"OP_PUSHBYTES_43\";\n OpcodesBCH[OpcodesBCH[\"OP_PUSHBYTES_44\"] = 44] = \"OP_PUSHBYTES_44\";\n OpcodesBCH[OpcodesBCH[\"OP_PUSHBYTES_45\"] = 45] = \"OP_PUSHBYTES_45\";\n OpcodesBCH[OpcodesBCH[\"OP_PUSHBYTES_46\"] = 46] = \"OP_PUSHBYTES_46\";\n OpcodesBCH[OpcodesBCH[\"OP_PUSHBYTES_47\"] = 47] = \"OP_PUSHBYTES_47\";\n OpcodesBCH[OpcodesBCH[\"OP_PUSHBYTES_48\"] = 48] = \"OP_PUSHBYTES_48\";\n OpcodesBCH[OpcodesBCH[\"OP_PUSHBYTES_49\"] = 49] = \"OP_PUSHBYTES_49\";\n OpcodesBCH[OpcodesBCH[\"OP_PUSHBYTES_50\"] = 50] = \"OP_PUSHBYTES_50\";\n OpcodesBCH[OpcodesBCH[\"OP_PUSHBYTES_51\"] = 51] = \"OP_PUSHBYTES_51\";\n OpcodesBCH[OpcodesBCH[\"OP_PUSHBYTES_52\"] = 52] = \"OP_PUSHBYTES_52\";\n OpcodesBCH[OpcodesBCH[\"OP_PUSHBYTES_53\"] = 53] = \"OP_PUSHBYTES_53\";\n OpcodesBCH[OpcodesBCH[\"OP_PUSHBYTES_54\"] = 54] = \"OP_PUSHBYTES_54\";\n OpcodesBCH[OpcodesBCH[\"OP_PUSHBYTES_55\"] = 55] = \"OP_PUSHBYTES_55\";\n OpcodesBCH[OpcodesBCH[\"OP_PUSHBYTES_56\"] = 56] = \"OP_PUSHBYTES_56\";\n OpcodesBCH[OpcodesBCH[\"OP_PUSHBYTES_57\"] = 57] = \"OP_PUSHBYTES_57\";\n OpcodesBCH[OpcodesBCH[\"OP_PUSHBYTES_58\"] = 58] = \"OP_PUSHBYTES_58\";\n OpcodesBCH[OpcodesBCH[\"OP_PUSHBYTES_59\"] = 59] = \"OP_PUSHBYTES_59\";\n OpcodesBCH[OpcodesBCH[\"OP_PUSHBYTES_60\"] = 60] = \"OP_PUSHBYTES_60\";\n OpcodesBCH[OpcodesBCH[\"OP_PUSHBYTES_61\"] = 61] = \"OP_PUSHBYTES_61\";\n OpcodesBCH[OpcodesBCH[\"OP_PUSHBYTES_62\"] = 62] = \"OP_PUSHBYTES_62\";\n OpcodesBCH[OpcodesBCH[\"OP_PUSHBYTES_63\"] = 63] = \"OP_PUSHBYTES_63\";\n OpcodesBCH[OpcodesBCH[\"OP_PUSHBYTES_64\"] = 64] = \"OP_PUSHBYTES_64\";\n OpcodesBCH[OpcodesBCH[\"OP_PUSHBYTES_65\"] = 65] = \"OP_PUSHBYTES_65\";\n OpcodesBCH[OpcodesBCH[\"OP_PUSHBYTES_66\"] = 66] = \"OP_PUSHBYTES_66\";\n OpcodesBCH[OpcodesBCH[\"OP_PUSHBYTES_67\"] = 67] = \"OP_PUSHBYTES_67\";\n OpcodesBCH[OpcodesBCH[\"OP_PUSHBYTES_68\"] = 68] = \"OP_PUSHBYTES_68\";\n OpcodesBCH[OpcodesBCH[\"OP_PUSHBYTES_69\"] = 69] = \"OP_PUSHBYTES_69\";\n OpcodesBCH[OpcodesBCH[\"OP_PUSHBYTES_70\"] = 70] = \"OP_PUSHBYTES_70\";\n OpcodesBCH[OpcodesBCH[\"OP_PUSHBYTES_71\"] = 71] = \"OP_PUSHBYTES_71\";\n OpcodesBCH[OpcodesBCH[\"OP_PUSHBYTES_72\"] = 72] = \"OP_PUSHBYTES_72\";\n OpcodesBCH[OpcodesBCH[\"OP_PUSHBYTES_73\"] = 73] = \"OP_PUSHBYTES_73\";\n OpcodesBCH[OpcodesBCH[\"OP_PUSHBYTES_74\"] = 74] = \"OP_PUSHBYTES_74\";\n OpcodesBCH[OpcodesBCH[\"OP_PUSHBYTES_75\"] = 75] = \"OP_PUSHBYTES_75\";\n OpcodesBCH[OpcodesBCH[\"OP_PUSHDATA_1\"] = 76] = \"OP_PUSHDATA_1\";\n OpcodesBCH[OpcodesBCH[\"OP_PUSHDATA_2\"] = 77] = \"OP_PUSHDATA_2\";\n OpcodesBCH[OpcodesBCH[\"OP_PUSHDATA_4\"] = 78] = \"OP_PUSHDATA_4\";\n OpcodesBCH[OpcodesBCH[\"OP_1NEGATE\"] = 79] = \"OP_1NEGATE\";\n OpcodesBCH[OpcodesBCH[\"OP_RESERVED\"] = 80] = \"OP_RESERVED\";\n /**\n * A.K.A. `OP_TRUE`\n */\n OpcodesBCH[OpcodesBCH[\"OP_1\"] = 81] = \"OP_1\";\n OpcodesBCH[OpcodesBCH[\"OP_2\"] = 82] = \"OP_2\";\n OpcodesBCH[OpcodesBCH[\"OP_3\"] = 83] = \"OP_3\";\n OpcodesBCH[OpcodesBCH[\"OP_4\"] = 84] = \"OP_4\";\n OpcodesBCH[OpcodesBCH[\"OP_5\"] = 85] = \"OP_5\";\n OpcodesBCH[OpcodesBCH[\"OP_6\"] = 86] = \"OP_6\";\n OpcodesBCH[OpcodesBCH[\"OP_7\"] = 87] = \"OP_7\";\n OpcodesBCH[OpcodesBCH[\"OP_8\"] = 88] = \"OP_8\";\n OpcodesBCH[OpcodesBCH[\"OP_9\"] = 89] = \"OP_9\";\n OpcodesBCH[OpcodesBCH[\"OP_10\"] = 90] = \"OP_10\";\n OpcodesBCH[OpcodesBCH[\"OP_11\"] = 91] = \"OP_11\";\n OpcodesBCH[OpcodesBCH[\"OP_12\"] = 92] = \"OP_12\";\n OpcodesBCH[OpcodesBCH[\"OP_13\"] = 93] = \"OP_13\";\n OpcodesBCH[OpcodesBCH[\"OP_14\"] = 94] = \"OP_14\";\n OpcodesBCH[OpcodesBCH[\"OP_15\"] = 95] = \"OP_15\";\n OpcodesBCH[OpcodesBCH[\"OP_16\"] = 96] = \"OP_16\";\n OpcodesBCH[OpcodesBCH[\"OP_NOP\"] = 97] = \"OP_NOP\";\n OpcodesBCH[OpcodesBCH[\"OP_VER\"] = 98] = \"OP_VER\";\n OpcodesBCH[OpcodesBCH[\"OP_IF\"] = 99] = \"OP_IF\";\n OpcodesBCH[OpcodesBCH[\"OP_NOTIF\"] = 100] = \"OP_NOTIF\";\n OpcodesBCH[OpcodesBCH[\"OP_VERIF\"] = 101] = \"OP_VERIF\";\n OpcodesBCH[OpcodesBCH[\"OP_VERNOTIF\"] = 102] = \"OP_VERNOTIF\";\n OpcodesBCH[OpcodesBCH[\"OP_ELSE\"] = 103] = \"OP_ELSE\";\n OpcodesBCH[OpcodesBCH[\"OP_ENDIF\"] = 104] = \"OP_ENDIF\";\n OpcodesBCH[OpcodesBCH[\"OP_VERIFY\"] = 105] = \"OP_VERIFY\";\n OpcodesBCH[OpcodesBCH[\"OP_RETURN\"] = 106] = \"OP_RETURN\";\n OpcodesBCH[OpcodesBCH[\"OP_TOALTSTACK\"] = 107] = \"OP_TOALTSTACK\";\n OpcodesBCH[OpcodesBCH[\"OP_FROMALTSTACK\"] = 108] = \"OP_FROMALTSTACK\";\n OpcodesBCH[OpcodesBCH[\"OP_2DROP\"] = 109] = \"OP_2DROP\";\n OpcodesBCH[OpcodesBCH[\"OP_2DUP\"] = 110] = \"OP_2DUP\";\n OpcodesBCH[OpcodesBCH[\"OP_3DUP\"] = 111] = \"OP_3DUP\";\n OpcodesBCH[OpcodesBCH[\"OP_2OVER\"] = 112] = \"OP_2OVER\";\n OpcodesBCH[OpcodesBCH[\"OP_2ROT\"] = 113] = \"OP_2ROT\";\n OpcodesBCH[OpcodesBCH[\"OP_2SWAP\"] = 114] = \"OP_2SWAP\";\n OpcodesBCH[OpcodesBCH[\"OP_IFDUP\"] = 115] = \"OP_IFDUP\";\n OpcodesBCH[OpcodesBCH[\"OP_DEPTH\"] = 116] = \"OP_DEPTH\";\n OpcodesBCH[OpcodesBCH[\"OP_DROP\"] = 117] = \"OP_DROP\";\n OpcodesBCH[OpcodesBCH[\"OP_DUP\"] = 118] = \"OP_DUP\";\n OpcodesBCH[OpcodesBCH[\"OP_NIP\"] = 119] = \"OP_NIP\";\n OpcodesBCH[OpcodesBCH[\"OP_OVER\"] = 120] = \"OP_OVER\";\n OpcodesBCH[OpcodesBCH[\"OP_PICK\"] = 121] = \"OP_PICK\";\n OpcodesBCH[OpcodesBCH[\"OP_ROLL\"] = 122] = \"OP_ROLL\";\n OpcodesBCH[OpcodesBCH[\"OP_ROT\"] = 123] = \"OP_ROT\";\n OpcodesBCH[OpcodesBCH[\"OP_SWAP\"] = 124] = \"OP_SWAP\";\n OpcodesBCH[OpcodesBCH[\"OP_TUCK\"] = 125] = \"OP_TUCK\";\n OpcodesBCH[OpcodesBCH[\"OP_CAT\"] = 126] = \"OP_CAT\";\n OpcodesBCH[OpcodesBCH[\"OP_SPLIT\"] = 127] = \"OP_SPLIT\";\n OpcodesBCH[OpcodesBCH[\"OP_NUM2BIN\"] = 128] = \"OP_NUM2BIN\";\n OpcodesBCH[OpcodesBCH[\"OP_BIN2NUM\"] = 129] = \"OP_BIN2NUM\";\n OpcodesBCH[OpcodesBCH[\"OP_SIZE\"] = 130] = \"OP_SIZE\";\n OpcodesBCH[OpcodesBCH[\"OP_INVERT\"] = 131] = \"OP_INVERT\";\n OpcodesBCH[OpcodesBCH[\"OP_AND\"] = 132] = \"OP_AND\";\n OpcodesBCH[OpcodesBCH[\"OP_OR\"] = 133] = \"OP_OR\";\n OpcodesBCH[OpcodesBCH[\"OP_XOR\"] = 134] = \"OP_XOR\";\n OpcodesBCH[OpcodesBCH[\"OP_EQUAL\"] = 135] = \"OP_EQUAL\";\n OpcodesBCH[OpcodesBCH[\"OP_EQUALVERIFY\"] = 136] = \"OP_EQUALVERIFY\";\n OpcodesBCH[OpcodesBCH[\"OP_RESERVED1\"] = 137] = \"OP_RESERVED1\";\n OpcodesBCH[OpcodesBCH[\"OP_RESERVED2\"] = 138] = \"OP_RESERVED2\";\n OpcodesBCH[OpcodesBCH[\"OP_1ADD\"] = 139] = \"OP_1ADD\";\n OpcodesBCH[OpcodesBCH[\"OP_1SUB\"] = 140] = \"OP_1SUB\";\n OpcodesBCH[OpcodesBCH[\"OP_2MUL\"] = 141] = \"OP_2MUL\";\n OpcodesBCH[OpcodesBCH[\"OP_2DIV\"] = 142] = \"OP_2DIV\";\n OpcodesBCH[OpcodesBCH[\"OP_NEGATE\"] = 143] = \"OP_NEGATE\";\n OpcodesBCH[OpcodesBCH[\"OP_ABS\"] = 144] = \"OP_ABS\";\n OpcodesBCH[OpcodesBCH[\"OP_NOT\"] = 145] = \"OP_NOT\";\n OpcodesBCH[OpcodesBCH[\"OP_0NOTEQUAL\"] = 146] = \"OP_0NOTEQUAL\";\n OpcodesBCH[OpcodesBCH[\"OP_ADD\"] = 147] = \"OP_ADD\";\n OpcodesBCH[OpcodesBCH[\"OP_SUB\"] = 148] = \"OP_SUB\";\n OpcodesBCH[OpcodesBCH[\"OP_MUL\"] = 149] = \"OP_MUL\";\n OpcodesBCH[OpcodesBCH[\"OP_DIV\"] = 150] = \"OP_DIV\";\n OpcodesBCH[OpcodesBCH[\"OP_MOD\"] = 151] = \"OP_MOD\";\n OpcodesBCH[OpcodesBCH[\"OP_LSHIFT\"] = 152] = \"OP_LSHIFT\";\n OpcodesBCH[OpcodesBCH[\"OP_RSHIFT\"] = 153] = \"OP_RSHIFT\";\n OpcodesBCH[OpcodesBCH[\"OP_BOOLAND\"] = 154] = \"OP_BOOLAND\";\n OpcodesBCH[OpcodesBCH[\"OP_BOOLOR\"] = 155] = \"OP_BOOLOR\";\n OpcodesBCH[OpcodesBCH[\"OP_NUMEQUAL\"] = 156] = \"OP_NUMEQUAL\";\n OpcodesBCH[OpcodesBCH[\"OP_NUMEQUALVERIFY\"] = 157] = \"OP_NUMEQUALVERIFY\";\n OpcodesBCH[OpcodesBCH[\"OP_NUMNOTEQUAL\"] = 158] = \"OP_NUMNOTEQUAL\";\n OpcodesBCH[OpcodesBCH[\"OP_LESSTHAN\"] = 159] = \"OP_LESSTHAN\";\n OpcodesBCH[OpcodesBCH[\"OP_GREATERTHAN\"] = 160] = \"OP_GREATERTHAN\";\n OpcodesBCH[OpcodesBCH[\"OP_LESSTHANOREQUAL\"] = 161] = \"OP_LESSTHANOREQUAL\";\n OpcodesBCH[OpcodesBCH[\"OP_GREATERTHANOREQUAL\"] = 162] = \"OP_GREATERTHANOREQUAL\";\n OpcodesBCH[OpcodesBCH[\"OP_MIN\"] = 163] = \"OP_MIN\";\n OpcodesBCH[OpcodesBCH[\"OP_MAX\"] = 164] = \"OP_MAX\";\n OpcodesBCH[OpcodesBCH[\"OP_WITHIN\"] = 165] = \"OP_WITHIN\";\n OpcodesBCH[OpcodesBCH[\"OP_RIPEMD160\"] = 166] = \"OP_RIPEMD160\";\n OpcodesBCH[OpcodesBCH[\"OP_SHA1\"] = 167] = \"OP_SHA1\";\n OpcodesBCH[OpcodesBCH[\"OP_SHA256\"] = 168] = \"OP_SHA256\";\n OpcodesBCH[OpcodesBCH[\"OP_HASH160\"] = 169] = \"OP_HASH160\";\n OpcodesBCH[OpcodesBCH[\"OP_HASH256\"] = 170] = \"OP_HASH256\";\n OpcodesBCH[OpcodesBCH[\"OP_CODESEPARATOR\"] = 171] = \"OP_CODESEPARATOR\";\n OpcodesBCH[OpcodesBCH[\"OP_CHECKSIG\"] = 172] = \"OP_CHECKSIG\";\n OpcodesBCH[OpcodesBCH[\"OP_CHECKSIGVERIFY\"] = 173] = \"OP_CHECKSIGVERIFY\";\n OpcodesBCH[OpcodesBCH[\"OP_CHECKMULTISIG\"] = 174] = \"OP_CHECKMULTISIG\";\n OpcodesBCH[OpcodesBCH[\"OP_CHECKMULTISIGVERIFY\"] = 175] = \"OP_CHECKMULTISIGVERIFY\";\n OpcodesBCH[OpcodesBCH[\"OP_NOP1\"] = 176] = \"OP_NOP1\";\n /**\n * Previously `OP_NOP2`\n */\n OpcodesBCH[OpcodesBCH[\"OP_CHECKLOCKTIMEVERIFY\"] = 177] = \"OP_CHECKLOCKTIMEVERIFY\";\n /**\n * Previously `OP_NOP2`\n */\n OpcodesBCH[OpcodesBCH[\"OP_CHECKSEQUENCEVERIFY\"] = 178] = \"OP_CHECKSEQUENCEVERIFY\";\n OpcodesBCH[OpcodesBCH[\"OP_NOP4\"] = 179] = \"OP_NOP4\";\n OpcodesBCH[OpcodesBCH[\"OP_NOP5\"] = 180] = \"OP_NOP5\";\n OpcodesBCH[OpcodesBCH[\"OP_NOP6\"] = 181] = \"OP_NOP6\";\n OpcodesBCH[OpcodesBCH[\"OP_NOP7\"] = 182] = \"OP_NOP7\";\n OpcodesBCH[OpcodesBCH[\"OP_NOP8\"] = 183] = \"OP_NOP8\";\n OpcodesBCH[OpcodesBCH[\"OP_NOP9\"] = 184] = \"OP_NOP9\";\n OpcodesBCH[OpcodesBCH[\"OP_NOP10\"] = 185] = \"OP_NOP10\";\n /**\n * Previously `OP_UNKNOWN186`\n */\n OpcodesBCH[OpcodesBCH[\"OP_CHECKDATASIG\"] = 186] = \"OP_CHECKDATASIG\";\n /**\n * Previously `OP_UNKNOWN187`\n */\n OpcodesBCH[OpcodesBCH[\"OP_CHECKDATASIGVERIFY\"] = 187] = \"OP_CHECKDATASIGVERIFY\";\n /**\n * Previously `OP_UNKNOWN188`\n */\n OpcodesBCH[OpcodesBCH[\"OP_REVERSEBYTES\"] = 188] = \"OP_REVERSEBYTES\";\n /**\n * A.K.A. `FIRST_UNDEFINED_OP_VALUE`\n */\n OpcodesBCH[OpcodesBCH[\"OP_UNKNOWN189\"] = 189] = \"OP_UNKNOWN189\";\n OpcodesBCH[OpcodesBCH[\"OP_UNKNOWN190\"] = 190] = \"OP_UNKNOWN190\";\n OpcodesBCH[OpcodesBCH[\"OP_UNKNOWN191\"] = 191] = \"OP_UNKNOWN191\";\n OpcodesBCH[OpcodesBCH[\"OP_UNKNOWN192\"] = 192] = \"OP_UNKNOWN192\";\n OpcodesBCH[OpcodesBCH[\"OP_UNKNOWN193\"] = 193] = \"OP_UNKNOWN193\";\n OpcodesBCH[OpcodesBCH[\"OP_UNKNOWN194\"] = 194] = \"OP_UNKNOWN194\";\n OpcodesBCH[OpcodesBCH[\"OP_UNKNOWN195\"] = 195] = \"OP_UNKNOWN195\";\n OpcodesBCH[OpcodesBCH[\"OP_UNKNOWN196\"] = 196] = \"OP_UNKNOWN196\";\n OpcodesBCH[OpcodesBCH[\"OP_UNKNOWN197\"] = 197] = \"OP_UNKNOWN197\";\n OpcodesBCH[OpcodesBCH[\"OP_UNKNOWN198\"] = 198] = \"OP_UNKNOWN198\";\n OpcodesBCH[OpcodesBCH[\"OP_UNKNOWN199\"] = 199] = \"OP_UNKNOWN199\";\n OpcodesBCH[OpcodesBCH[\"OP_UNKNOWN200\"] = 200] = \"OP_UNKNOWN200\";\n OpcodesBCH[OpcodesBCH[\"OP_UNKNOWN201\"] = 201] = \"OP_UNKNOWN201\";\n OpcodesBCH[OpcodesBCH[\"OP_UNKNOWN202\"] = 202] = \"OP_UNKNOWN202\";\n OpcodesBCH[OpcodesBCH[\"OP_UNKNOWN203\"] = 203] = \"OP_UNKNOWN203\";\n OpcodesBCH[OpcodesBCH[\"OP_UNKNOWN204\"] = 204] = \"OP_UNKNOWN204\";\n OpcodesBCH[OpcodesBCH[\"OP_UNKNOWN205\"] = 205] = \"OP_UNKNOWN205\";\n OpcodesBCH[OpcodesBCH[\"OP_UNKNOWN206\"] = 206] = \"OP_UNKNOWN206\";\n OpcodesBCH[OpcodesBCH[\"OP_UNKNOWN207\"] = 207] = \"OP_UNKNOWN207\";\n OpcodesBCH[OpcodesBCH[\"OP_UNKNOWN208\"] = 208] = \"OP_UNKNOWN208\";\n OpcodesBCH[OpcodesBCH[\"OP_UNKNOWN209\"] = 209] = \"OP_UNKNOWN209\";\n OpcodesBCH[OpcodesBCH[\"OP_UNKNOWN210\"] = 210] = \"OP_UNKNOWN210\";\n OpcodesBCH[OpcodesBCH[\"OP_UNKNOWN211\"] = 211] = \"OP_UNKNOWN211\";\n OpcodesBCH[OpcodesBCH[\"OP_UNKNOWN212\"] = 212] = \"OP_UNKNOWN212\";\n OpcodesBCH[OpcodesBCH[\"OP_UNKNOWN213\"] = 213] = \"OP_UNKNOWN213\";\n OpcodesBCH[OpcodesBCH[\"OP_UNKNOWN214\"] = 214] = \"OP_UNKNOWN214\";\n OpcodesBCH[OpcodesBCH[\"OP_UNKNOWN215\"] = 215] = \"OP_UNKNOWN215\";\n OpcodesBCH[OpcodesBCH[\"OP_UNKNOWN216\"] = 216] = \"OP_UNKNOWN216\";\n OpcodesBCH[OpcodesBCH[\"OP_UNKNOWN217\"] = 217] = \"OP_UNKNOWN217\";\n OpcodesBCH[OpcodesBCH[\"OP_UNKNOWN218\"] = 218] = \"OP_UNKNOWN218\";\n OpcodesBCH[OpcodesBCH[\"OP_UNKNOWN219\"] = 219] = \"OP_UNKNOWN219\";\n OpcodesBCH[OpcodesBCH[\"OP_UNKNOWN220\"] = 220] = \"OP_UNKNOWN220\";\n OpcodesBCH[OpcodesBCH[\"OP_UNKNOWN221\"] = 221] = \"OP_UNKNOWN221\";\n OpcodesBCH[OpcodesBCH[\"OP_UNKNOWN222\"] = 222] = \"OP_UNKNOWN222\";\n OpcodesBCH[OpcodesBCH[\"OP_UNKNOWN223\"] = 223] = \"OP_UNKNOWN223\";\n OpcodesBCH[OpcodesBCH[\"OP_UNKNOWN224\"] = 224] = \"OP_UNKNOWN224\";\n OpcodesBCH[OpcodesBCH[\"OP_UNKNOWN225\"] = 225] = \"OP_UNKNOWN225\";\n OpcodesBCH[OpcodesBCH[\"OP_UNKNOWN226\"] = 226] = \"OP_UNKNOWN226\";\n OpcodesBCH[OpcodesBCH[\"OP_UNKNOWN227\"] = 227] = \"OP_UNKNOWN227\";\n OpcodesBCH[OpcodesBCH[\"OP_UNKNOWN228\"] = 228] = \"OP_UNKNOWN228\";\n OpcodesBCH[OpcodesBCH[\"OP_UNKNOWN229\"] = 229] = \"OP_UNKNOWN229\";\n OpcodesBCH[OpcodesBCH[\"OP_UNKNOWN230\"] = 230] = \"OP_UNKNOWN230\";\n OpcodesBCH[OpcodesBCH[\"OP_UNKNOWN231\"] = 231] = \"OP_UNKNOWN231\";\n OpcodesBCH[OpcodesBCH[\"OP_UNKNOWN232\"] = 232] = \"OP_UNKNOWN232\";\n OpcodesBCH[OpcodesBCH[\"OP_UNKNOWN233\"] = 233] = \"OP_UNKNOWN233\";\n OpcodesBCH[OpcodesBCH[\"OP_UNKNOWN234\"] = 234] = \"OP_UNKNOWN234\";\n OpcodesBCH[OpcodesBCH[\"OP_UNKNOWN235\"] = 235] = \"OP_UNKNOWN235\";\n OpcodesBCH[OpcodesBCH[\"OP_UNKNOWN236\"] = 236] = \"OP_UNKNOWN236\";\n OpcodesBCH[OpcodesBCH[\"OP_UNKNOWN237\"] = 237] = \"OP_UNKNOWN237\";\n OpcodesBCH[OpcodesBCH[\"OP_UNKNOWN238\"] = 238] = \"OP_UNKNOWN238\";\n OpcodesBCH[OpcodesBCH[\"OP_UNKNOWN239\"] = 239] = \"OP_UNKNOWN239\";\n /**\n * A.K.A. `OP_PREFIX_BEGIN`\n */\n OpcodesBCH[OpcodesBCH[\"OP_UNKNOWN240\"] = 240] = \"OP_UNKNOWN240\";\n OpcodesBCH[OpcodesBCH[\"OP_UNKNOWN241\"] = 241] = \"OP_UNKNOWN241\";\n OpcodesBCH[OpcodesBCH[\"OP_UNKNOWN242\"] = 242] = \"OP_UNKNOWN242\";\n OpcodesBCH[OpcodesBCH[\"OP_UNKNOWN243\"] = 243] = \"OP_UNKNOWN243\";\n OpcodesBCH[OpcodesBCH[\"OP_UNKNOWN244\"] = 244] = \"OP_UNKNOWN244\";\n OpcodesBCH[OpcodesBCH[\"OP_UNKNOWN245\"] = 245] = \"OP_UNKNOWN245\";\n OpcodesBCH[OpcodesBCH[\"OP_UNKNOWN246\"] = 246] = \"OP_UNKNOWN246\";\n /**\n * A.K.A. `OP_PREFIX_END`\n */\n OpcodesBCH[OpcodesBCH[\"OP_UNKNOWN247\"] = 247] = \"OP_UNKNOWN247\";\n OpcodesBCH[OpcodesBCH[\"OP_UNKNOWN248\"] = 248] = \"OP_UNKNOWN248\";\n OpcodesBCH[OpcodesBCH[\"OP_UNKNOWN249\"] = 249] = \"OP_UNKNOWN249\";\n OpcodesBCH[OpcodesBCH[\"OP_UNKNOWN250\"] = 250] = \"OP_UNKNOWN250\";\n OpcodesBCH[OpcodesBCH[\"OP_UNKNOWN251\"] = 251] = \"OP_UNKNOWN251\";\n OpcodesBCH[OpcodesBCH[\"OP_UNKNOWN252\"] = 252] = \"OP_UNKNOWN252\";\n OpcodesBCH[OpcodesBCH[\"OP_UNKNOWN253\"] = 253] = \"OP_UNKNOWN253\";\n OpcodesBCH[OpcodesBCH[\"OP_UNKNOWN254\"] = 254] = \"OP_UNKNOWN254\";\n OpcodesBCH[OpcodesBCH[\"OP_UNKNOWN255\"] = 255] = \"OP_UNKNOWN255\";\n})(OpcodesBCH || (OpcodesBCH = {}));\nvar OpcodeAlternateNamesBCH;\n(function (OpcodeAlternateNamesBCH) {\n /**\n * A.K.A. `OP_0`\n */\n OpcodeAlternateNamesBCH[OpcodeAlternateNamesBCH[\"OP_FALSE\"] = 0] = \"OP_FALSE\";\n /**\n * A.K.A. `OP_0`\n */\n OpcodeAlternateNamesBCH[OpcodeAlternateNamesBCH[\"OP_PUSHBYTES_0\"] = 0] = \"OP_PUSHBYTES_0\";\n /**\n * A.K.A. `OP_1`\n */\n OpcodeAlternateNamesBCH[OpcodeAlternateNamesBCH[\"OP_TRUE\"] = 81] = \"OP_TRUE\";\n /**\n * A.K.A. `OP_CHECKLOCKTIMEVERIFY`\n */\n OpcodeAlternateNamesBCH[OpcodeAlternateNamesBCH[\"OP_NOP2\"] = 177] = \"OP_NOP2\";\n /**\n * A.K.A. `OP_CHECKSEQUENCEVERIFY`\n */\n OpcodeAlternateNamesBCH[OpcodeAlternateNamesBCH[\"OP_NOP3\"] = 178] = \"OP_NOP3\";\n /**\n * A.K.A. `OP_CHECKDATASIG`\n */\n OpcodeAlternateNamesBCH[OpcodeAlternateNamesBCH[\"OP_UNKNOWN186\"] = 186] = \"OP_UNKNOWN186\";\n /**\n * A.K.A. `OP_CHECKDATASIGVERIFY`\n */\n OpcodeAlternateNamesBCH[OpcodeAlternateNamesBCH[\"OP_UNKNOWN187\"] = 187] = \"OP_UNKNOWN187\";\n /**\n * A.K.A. `OP_UNKNOWN189`\n */\n OpcodeAlternateNamesBCH[OpcodeAlternateNamesBCH[\"FIRST_UNDEFINED_OP_VALUE\"] = 189] = \"FIRST_UNDEFINED_OP_VALUE\";\n /**\n * A.K.A. `OP_UNKNOWN240`. Some implementations have reserved opcodes\n * `0xf0` through `0xf7` for a future range of multi-byte opcodes, though none\n * are yet available on the network.\n */\n OpcodeAlternateNamesBCH[OpcodeAlternateNamesBCH[\"OP_PREFIX_BEGIN\"] = 240] = \"OP_PREFIX_BEGIN\";\n /**\n * A.K.A. `OP_UNKNOWN247`. Some implementations have reserved opcodes\n * `0xf0` through `0xf7` for a future range of multi-byte opcodes, though none\n * are yet available on the network.\n */\n OpcodeAlternateNamesBCH[OpcodeAlternateNamesBCH[\"OP_PREFIX_END\"] = 247] = \"OP_PREFIX_END\";\n /**\n * `OP_SMALLINTEGER` is used internally for template matching in the C++\n * implementation. When found on the network, it is `OP_UNKNOWN250`.\n */\n OpcodeAlternateNamesBCH[OpcodeAlternateNamesBCH[\"OP_SMALLINTEGER\"] = 250] = \"OP_SMALLINTEGER\";\n /**\n * `OP_PUBKEYS` is used internally for template matching in the C++\n * implementation. When found on the network, it is `OP_UNKNOWN251`.\n */\n OpcodeAlternateNamesBCH[OpcodeAlternateNamesBCH[\"OP_PUBKEYS\"] = 251] = \"OP_PUBKEYS\";\n /**\n * `OP_PUBKEYHASH` is used internally for template matching in the C++\n * implementation. When found on the network, it is `OP_UNKNOWN253`.\n */\n OpcodeAlternateNamesBCH[OpcodeAlternateNamesBCH[\"OP_PUBKEYHASH\"] = 253] = \"OP_PUBKEYHASH\";\n /**\n * `OP_PUBKEY` is used internally for template matching in the C++\n * implementation. When found on the network, it is `OP_UNKNOWN254`.\n */\n OpcodeAlternateNamesBCH[OpcodeAlternateNamesBCH[\"OP_PUBKEY\"] = 254] = \"OP_PUBKEY\";\n /**\n * `OP_INVALIDOPCODE` is described as such for testing in the C++\n * implementation. When found on the network, it is `OP_UNKNOWN255`.\n */\n OpcodeAlternateNamesBCH[OpcodeAlternateNamesBCH[\"OP_INVALIDOPCODE\"] = 255] = \"OP_INVALIDOPCODE\";\n})(OpcodeAlternateNamesBCH || (OpcodeAlternateNamesBCH = {}));\n//# sourceMappingURL=bch-opcodes.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/bch/bch-opcodes.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/bch/bch-operations.js": +/*!**************************************************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/bch/bch-operations.js ***! + \**************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ bitcoinCashOperations: () => (/* binding */ bitcoinCashOperations),\n/* harmony export */ bitwiseOperation: () => (/* binding */ bitwiseOperation),\n/* harmony export */ isValidSignatureEncodingBCHRaw: () => (/* binding */ isValidSignatureEncodingBCHRaw),\n/* harmony export */ opAnd: () => (/* binding */ opAnd),\n/* harmony export */ opBin2Num: () => (/* binding */ opBin2Num),\n/* harmony export */ opCat: () => (/* binding */ opCat),\n/* harmony export */ opCheckDataSig: () => (/* binding */ opCheckDataSig),\n/* harmony export */ opCheckDataSigVerify: () => (/* binding */ opCheckDataSigVerify),\n/* harmony export */ opDiv: () => (/* binding */ opDiv),\n/* harmony export */ opMod: () => (/* binding */ opMod),\n/* harmony export */ opNum2Bin: () => (/* binding */ opNum2Bin),\n/* harmony export */ opOr: () => (/* binding */ opOr),\n/* harmony export */ opReverseBytes: () => (/* binding */ opReverseBytes),\n/* harmony export */ opSplit: () => (/* binding */ opSplit),\n/* harmony export */ opXor: () => (/* binding */ opXor),\n/* harmony export */ padMinimallyEncodedScriptNumber: () => (/* binding */ padMinimallyEncodedScriptNumber)\n/* harmony export */ });\n/* harmony import */ var _format_hex__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../format/hex */ \"./node_modules/@bitauth/libauth/build/module/lib/format/hex.js\");\n/* harmony import */ var _common_combinators__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../common/combinators */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/combinators.js\");\n/* harmony import */ var _common_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../common/common */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/common.js\");\n/* harmony import */ var _common_encoding__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../common/encoding */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/encoding.js\");\n/* harmony import */ var _common_errors__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../common/errors */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/errors.js\");\n/* harmony import */ var _common_flow_control__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../common/flow-control */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/flow-control.js\");\n/* harmony import */ var _common_types__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../common/types */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/types.js\");\n/* harmony import */ var _bch_errors__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./bch-errors */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/bch/bch-errors.js\");\n/* harmony import */ var _bch_opcodes__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./bch-opcodes */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/bch/bch-opcodes.js\");\n/* harmony import */ var _bch_types__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./bch-types */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/bch/bch-types.js\");\n\n\n\n\n\n\n\n\n\n\nconst opCat = () => (state) => (0,_common_combinators__WEBPACK_IMPORTED_MODULE_0__.useTwoStackItems)(state, (nextState, [a, b]) => a.length + b.length > _common_common__WEBPACK_IMPORTED_MODULE_1__.ConsensusCommon.maximumStackItemLength\n ? (0,_common_errors__WEBPACK_IMPORTED_MODULE_2__.applyError)(_bch_errors__WEBPACK_IMPORTED_MODULE_3__.AuthenticationErrorBCH.exceededMaximumStackItemLength, nextState)\n : (0,_common_combinators__WEBPACK_IMPORTED_MODULE_0__.pushToStack)(nextState, (0,_format_hex__WEBPACK_IMPORTED_MODULE_4__.flattenBinArray)([a, b])));\nconst opSplit = ({ requireMinimalEncoding, }) => (state) => (0,_common_combinators__WEBPACK_IMPORTED_MODULE_0__.useOneScriptNumber)(state, (nextState, value) => {\n const index = Number(value);\n return (0,_common_combinators__WEBPACK_IMPORTED_MODULE_0__.useOneStackItem)(nextState, (finalState, [item]) => index < 0 || index > item.length\n ? (0,_common_errors__WEBPACK_IMPORTED_MODULE_2__.applyError)(_bch_errors__WEBPACK_IMPORTED_MODULE_3__.AuthenticationErrorBCH.invalidSplitIndex, finalState)\n : (0,_common_combinators__WEBPACK_IMPORTED_MODULE_0__.pushToStack)(finalState, item.slice(0, index), item.slice(index)));\n}, { requireMinimalEncoding });\nvar Constants;\n(function (Constants) {\n Constants[Constants[\"positiveSign\"] = 0] = \"positiveSign\";\n Constants[Constants[\"negativeSign\"] = 128] = \"negativeSign\";\n})(Constants || (Constants = {}));\nconst padMinimallyEncodedScriptNumber = (scriptNumber, length) => {\n // eslint-disable-next-line functional/no-let\n let signBit = Constants.positiveSign;\n // eslint-disable-next-line functional/no-conditional-statement\n if (scriptNumber.length > 0) {\n // eslint-disable-next-line functional/no-expression-statement, no-bitwise\n signBit = scriptNumber[scriptNumber.length - 1] & Constants.negativeSign;\n // eslint-disable-next-line functional/no-expression-statement, no-bitwise, functional/immutable-data\n scriptNumber[scriptNumber.length - 1] &= Constants.negativeSign - 1;\n }\n const result = Array.from(scriptNumber);\n // eslint-disable-next-line functional/no-loop-statement\n while (result.length < length - 1) {\n // eslint-disable-next-line functional/no-expression-statement, functional/immutable-data\n result.push(0);\n }\n // eslint-disable-next-line functional/no-expression-statement, functional/immutable-data\n result.push(signBit);\n return Uint8Array.from(result);\n};\nconst opNum2Bin = () => (state) => (0,_common_combinators__WEBPACK_IMPORTED_MODULE_0__.useOneScriptNumber)(state, (nextState, value) => {\n const targetLength = Number(value);\n return targetLength > _common_common__WEBPACK_IMPORTED_MODULE_1__.ConsensusCommon.maximumStackItemLength\n ? (0,_common_errors__WEBPACK_IMPORTED_MODULE_2__.applyError)(_bch_errors__WEBPACK_IMPORTED_MODULE_3__.AuthenticationErrorBCH.exceededMaximumStackItemLength, nextState)\n : (0,_common_combinators__WEBPACK_IMPORTED_MODULE_0__.useOneScriptNumber)(nextState, (finalState, [target]) => {\n const minimallyEncoded = (0,_common_types__WEBPACK_IMPORTED_MODULE_5__.bigIntToScriptNumber)(target);\n return minimallyEncoded.length > targetLength\n ? (0,_common_errors__WEBPACK_IMPORTED_MODULE_2__.applyError)(_bch_errors__WEBPACK_IMPORTED_MODULE_3__.AuthenticationErrorBCH.insufficientLength, finalState)\n : minimallyEncoded.length === targetLength\n ? (0,_common_combinators__WEBPACK_IMPORTED_MODULE_0__.pushToStack)(finalState, minimallyEncoded)\n : (0,_common_combinators__WEBPACK_IMPORTED_MODULE_0__.pushToStack)(finalState, padMinimallyEncodedScriptNumber(minimallyEncoded, targetLength));\n }, {\n maximumScriptNumberByteLength: \n // TODO: is this right?\n _common_common__WEBPACK_IMPORTED_MODULE_1__.ConsensusCommon.maximumStackItemLength,\n requireMinimalEncoding: false,\n });\n}, { requireMinimalEncoding: true });\nconst opBin2Num = () => (state) => (0,_common_combinators__WEBPACK_IMPORTED_MODULE_0__.useOneScriptNumber)(state, (nextState, [target]) => {\n const minimallyEncoded = (0,_common_types__WEBPACK_IMPORTED_MODULE_5__.bigIntToScriptNumber)(target);\n return minimallyEncoded.length > _common_common__WEBPACK_IMPORTED_MODULE_1__.ConsensusCommon.maximumScriptNumberLength\n ? (0,_common_errors__WEBPACK_IMPORTED_MODULE_2__.applyError)(_bch_errors__WEBPACK_IMPORTED_MODULE_3__.AuthenticationErrorBCH.exceededMaximumScriptNumberLength, nextState)\n : (0,_common_combinators__WEBPACK_IMPORTED_MODULE_0__.pushToStack)(nextState, minimallyEncoded);\n}, {\n // TODO: is this right?\n maximumScriptNumberByteLength: _common_common__WEBPACK_IMPORTED_MODULE_1__.ConsensusCommon.maximumStackItemLength,\n requireMinimalEncoding: false,\n});\nconst bitwiseOperation = (combine) => (state) => (0,_common_combinators__WEBPACK_IMPORTED_MODULE_0__.useTwoStackItems)(state, (nextState, [a, b]) => a.length === b.length\n ? (0,_common_combinators__WEBPACK_IMPORTED_MODULE_0__.pushToStack)(nextState, combine(a, b))\n : (0,_common_errors__WEBPACK_IMPORTED_MODULE_2__.applyError)(_bch_errors__WEBPACK_IMPORTED_MODULE_3__.AuthenticationErrorBCH.mismatchedBitwiseOperandLength, nextState));\nconst opAnd = () => bitwiseOperation((a, b) => a.map((v, i) => v & b[i]));\nconst opOr = () => bitwiseOperation((a, b) => a.map((v, i) => v | b[i]));\nconst opXor = () => bitwiseOperation((a, b) => a.map((v, i) => v ^ b[i]));\nconst opDiv = ({ requireMinimalEncoding, }) => (state) => (0,_common_combinators__WEBPACK_IMPORTED_MODULE_0__.useTwoScriptNumbers)(state, (nextState, [a, b]) => b === BigInt(0)\n ? (0,_common_errors__WEBPACK_IMPORTED_MODULE_2__.applyError)(_bch_errors__WEBPACK_IMPORTED_MODULE_3__.AuthenticationErrorBCH.divisionByZero, nextState)\n : (0,_common_combinators__WEBPACK_IMPORTED_MODULE_0__.pushToStack)(nextState, (0,_common_types__WEBPACK_IMPORTED_MODULE_5__.bigIntToScriptNumber)(a / b)), { requireMinimalEncoding });\nconst opMod = ({ requireMinimalEncoding, }) => (state) => (0,_common_combinators__WEBPACK_IMPORTED_MODULE_0__.useTwoScriptNumbers)(state, (nextState, [a, b]) => b === BigInt(0)\n ? (0,_common_errors__WEBPACK_IMPORTED_MODULE_2__.applyError)(_bch_errors__WEBPACK_IMPORTED_MODULE_3__.AuthenticationErrorBCH.divisionByZero, nextState)\n : (0,_common_combinators__WEBPACK_IMPORTED_MODULE_0__.pushToStack)(nextState, (0,_common_types__WEBPACK_IMPORTED_MODULE_5__.bigIntToScriptNumber)(a % b)), { requireMinimalEncoding });\n/**\n * Validate the encoding of a raw signature – a signature without a signing\n * serialization type byte (A.K.A. \"sighash\" byte).\n *\n * @param signature - the raw signature\n */\nconst isValidSignatureEncodingBCHRaw = (signature) => signature.length === 0 ||\n signature.length === _bch_types__WEBPACK_IMPORTED_MODULE_6__.ConsensusBCH.schnorrSignatureLength ||\n (0,_common_encoding__WEBPACK_IMPORTED_MODULE_7__.isValidSignatureEncodingDER)(signature);\nconst opCheckDataSig = ({ secp256k1, sha256, }) => (state) => \n// eslint-disable-next-line complexity\n(0,_common_combinators__WEBPACK_IMPORTED_MODULE_0__.useThreeStackItems)(state, (nextState, [signature, message, publicKey]) => {\n if (!isValidSignatureEncodingBCHRaw(signature)) {\n return (0,_common_errors__WEBPACK_IMPORTED_MODULE_2__.applyError)(_common_errors__WEBPACK_IMPORTED_MODULE_2__.AuthenticationErrorCommon.invalidSignatureEncoding, nextState);\n }\n if (!(0,_common_encoding__WEBPACK_IMPORTED_MODULE_7__.isValidPublicKeyEncoding)(publicKey)) {\n return (0,_common_errors__WEBPACK_IMPORTED_MODULE_2__.applyError)(_common_errors__WEBPACK_IMPORTED_MODULE_2__.AuthenticationErrorCommon.invalidPublicKeyEncoding, nextState);\n }\n const digest = sha256.hash(message);\n // eslint-disable-next-line functional/no-expression-statement, functional/immutable-data\n nextState.signedMessages.push(message);\n const useSchnorr = signature.length === _bch_types__WEBPACK_IMPORTED_MODULE_6__.ConsensusBCH.schnorrSignatureLength;\n const success = useSchnorr\n ? secp256k1.verifySignatureSchnorr(signature, publicKey, digest)\n : secp256k1.verifySignatureDERLowS(signature, publicKey, digest);\n return !success && signature.length !== 0\n ? (0,_common_errors__WEBPACK_IMPORTED_MODULE_2__.applyError)(_common_errors__WEBPACK_IMPORTED_MODULE_2__.AuthenticationErrorCommon.nonNullSignatureFailure, nextState)\n : (0,_common_combinators__WEBPACK_IMPORTED_MODULE_0__.pushToStack)(nextState, (0,_common_types__WEBPACK_IMPORTED_MODULE_5__.booleanToScriptNumber)(success));\n});\nconst opCheckDataSigVerify = ({ secp256k1, sha256, }) => (0,_common_combinators__WEBPACK_IMPORTED_MODULE_0__.combineOperations)(opCheckDataSig({ secp256k1, sha256 }), (0,_common_flow_control__WEBPACK_IMPORTED_MODULE_8__.opVerify)());\nconst opReverseBytes = () => (state) => (0,_common_combinators__WEBPACK_IMPORTED_MODULE_0__.useOneStackItem)(state, (nextState, [item]) => (0,_common_combinators__WEBPACK_IMPORTED_MODULE_0__.pushToStack)(nextState, item.slice().reverse()));\nconst bitcoinCashOperations = ({ flags, secp256k1, sha256, }) => {\n const operations = {\n [_bch_opcodes__WEBPACK_IMPORTED_MODULE_9__.OpcodesBCH.OP_CAT]: opCat(),\n [_bch_opcodes__WEBPACK_IMPORTED_MODULE_9__.OpcodesBCH.OP_SPLIT]: opSplit(flags),\n [_bch_opcodes__WEBPACK_IMPORTED_MODULE_9__.OpcodesBCH.OP_NUM2BIN]: opNum2Bin(),\n [_bch_opcodes__WEBPACK_IMPORTED_MODULE_9__.OpcodesBCH.OP_BIN2NUM]: opBin2Num(),\n [_bch_opcodes__WEBPACK_IMPORTED_MODULE_9__.OpcodesBCH.OP_AND]: opAnd(),\n [_bch_opcodes__WEBPACK_IMPORTED_MODULE_9__.OpcodesBCH.OP_OR]: opOr(),\n [_bch_opcodes__WEBPACK_IMPORTED_MODULE_9__.OpcodesBCH.OP_XOR]: opXor(),\n [_bch_opcodes__WEBPACK_IMPORTED_MODULE_9__.OpcodesBCH.OP_DIV]: opDiv(flags),\n [_bch_opcodes__WEBPACK_IMPORTED_MODULE_9__.OpcodesBCH.OP_MOD]: opMod(flags),\n [_bch_opcodes__WEBPACK_IMPORTED_MODULE_9__.OpcodesBCH.OP_CHECKDATASIG]: opCheckDataSig({\n secp256k1,\n sha256,\n }),\n [_bch_opcodes__WEBPACK_IMPORTED_MODULE_9__.OpcodesBCH.OP_CHECKDATASIGVERIFY]: opCheckDataSigVerify({ secp256k1, sha256 }),\n };\n return flags.opReverseBytes\n ? { ...operations, [_bch_opcodes__WEBPACK_IMPORTED_MODULE_9__.OpcodesBCH.OP_REVERSEBYTES]: opReverseBytes() }\n : operations;\n};\n//# sourceMappingURL=bch-operations.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/bch/bch-operations.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/bch/bch-types.js": +/*!*********************************************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/bch/bch-types.js ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ConsensusBCH: () => (/* binding */ ConsensusBCH),\n/* harmony export */ createTestAuthenticationProgramBCH: () => (/* binding */ createTestAuthenticationProgramBCH)\n/* harmony export */ });\n/* harmony import */ var _format_format__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../format/format */ \"./node_modules/@bitauth/libauth/build/module/lib/format/hex.js\");\n/* harmony import */ var _transaction_transaction_serialization__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../transaction/transaction-serialization */ \"./node_modules/@bitauth/libauth/build/module/lib/transaction/transaction-serialization.js\");\n\n\nvar ConsensusBCH;\n(function (ConsensusBCH) {\n ConsensusBCH[ConsensusBCH[\"schnorrSignatureLength\"] = 64] = \"schnorrSignatureLength\";\n})(ConsensusBCH || (ConsensusBCH = {}));\nconst createTestAuthenticationProgramBCH = ({ lockingBytecode, satoshis, sha256, unlockingBytecode, }) => {\n const testFundingTransaction = {\n inputs: [\n {\n outpointIndex: 0xffffffff,\n outpointTransactionHash: (0,_format_format__WEBPACK_IMPORTED_MODULE_0__.hexToBin)('0000000000000000000000000000000000000000000000000000000000000000'),\n sequenceNumber: 0xffffffff,\n unlockingBytecode: Uint8Array.of(0, 0),\n },\n ],\n locktime: 0,\n outputs: [{ lockingBytecode, satoshis }],\n version: 1,\n };\n const testSpendingTransaction = {\n inputs: [\n {\n outpointIndex: 0,\n outpointTransactionHash: (0,_transaction_transaction_serialization__WEBPACK_IMPORTED_MODULE_1__.getTransactionHashBE)(sha256, (0,_transaction_transaction_serialization__WEBPACK_IMPORTED_MODULE_1__.encodeTransaction)(testFundingTransaction)),\n sequenceNumber: 0xffffffff,\n unlockingBytecode,\n },\n ],\n locktime: 0,\n outputs: [{ lockingBytecode: Uint8Array.of(), satoshis }],\n version: 1,\n };\n return {\n inputIndex: 0,\n sourceOutput: testFundingTransaction.outputs[0],\n spendingTransaction: testSpendingTransaction,\n };\n};\n//# sourceMappingURL=bch-types.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/bch/bch-types.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/bch/bch.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/bch/bch.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AuthenticationErrorBCH: () => (/* reexport safe */ _bch_errors__WEBPACK_IMPORTED_MODULE_1__.AuthenticationErrorBCH),\n/* harmony export */ ConsensusBCH: () => (/* reexport safe */ _bch_types__WEBPACK_IMPORTED_MODULE_5__.ConsensusBCH),\n/* harmony export */ InstructionSetBCH: () => (/* reexport safe */ _bch_instruction_sets__WEBPACK_IMPORTED_MODULE_2__.InstructionSetBCH),\n/* harmony export */ OpcodeAlternateNamesBCH: () => (/* reexport safe */ _bch_opcodes__WEBPACK_IMPORTED_MODULE_3__.OpcodeAlternateNamesBCH),\n/* harmony export */ OpcodeDescriptionsBCH: () => (/* reexport safe */ _bch_descriptions__WEBPACK_IMPORTED_MODULE_0__.OpcodeDescriptionsBCH),\n/* harmony export */ OpcodeDescriptionsUniqueBCH: () => (/* reexport safe */ _bch_descriptions__WEBPACK_IMPORTED_MODULE_0__.OpcodeDescriptionsUniqueBCH),\n/* harmony export */ OpcodesBCH: () => (/* reexport safe */ _bch_instruction_sets__WEBPACK_IMPORTED_MODULE_2__.OpcodesBCH),\n/* harmony export */ assembleBitcoinABCScript: () => (/* reexport safe */ _fixtures_bitcoin_abc_bitcoin_abc_utils__WEBPACK_IMPORTED_MODULE_6__.assembleBitcoinABCScript),\n/* harmony export */ bitcoinABCOpcodes: () => (/* reexport safe */ _fixtures_bitcoin_abc_bitcoin_abc_utils__WEBPACK_IMPORTED_MODULE_6__.bitcoinABCOpcodes),\n/* harmony export */ bitcoinCashOperations: () => (/* reexport safe */ _bch_operations__WEBPACK_IMPORTED_MODULE_4__.bitcoinCashOperations),\n/* harmony export */ bitwiseOperation: () => (/* reexport safe */ _bch_operations__WEBPACK_IMPORTED_MODULE_4__.bitwiseOperation),\n/* harmony export */ createInstructionSetBCH: () => (/* reexport safe */ _bch_instruction_sets__WEBPACK_IMPORTED_MODULE_2__.createInstructionSetBCH),\n/* harmony export */ createTestAuthenticationProgramBCH: () => (/* reexport safe */ _bch_types__WEBPACK_IMPORTED_MODULE_5__.createTestAuthenticationProgramBCH),\n/* harmony export */ getFlagsForInstructionSetBCH: () => (/* reexport safe */ _bch_instruction_sets__WEBPACK_IMPORTED_MODULE_2__.getFlagsForInstructionSetBCH),\n/* harmony export */ instantiateVirtualMachineBCH: () => (/* binding */ instantiateVirtualMachineBCH),\n/* harmony export */ instructionSetBCHCurrentStrict: () => (/* reexport safe */ _bch_instruction_sets__WEBPACK_IMPORTED_MODULE_2__.instructionSetBCHCurrentStrict),\n/* harmony export */ isPayToScriptHash: () => (/* reexport safe */ _bch_instruction_sets__WEBPACK_IMPORTED_MODULE_2__.isPayToScriptHash),\n/* harmony export */ isValidSignatureEncodingBCHRaw: () => (/* reexport safe */ _bch_operations__WEBPACK_IMPORTED_MODULE_4__.isValidSignatureEncodingBCHRaw),\n/* harmony export */ isWitnessProgram: () => (/* reexport safe */ _bch_instruction_sets__WEBPACK_IMPORTED_MODULE_2__.isWitnessProgram),\n/* harmony export */ opAnd: () => (/* reexport safe */ _bch_operations__WEBPACK_IMPORTED_MODULE_4__.opAnd),\n/* harmony export */ opBin2Num: () => (/* reexport safe */ _bch_operations__WEBPACK_IMPORTED_MODULE_4__.opBin2Num),\n/* harmony export */ opCat: () => (/* reexport safe */ _bch_operations__WEBPACK_IMPORTED_MODULE_4__.opCat),\n/* harmony export */ opCheckDataSig: () => (/* reexport safe */ _bch_operations__WEBPACK_IMPORTED_MODULE_4__.opCheckDataSig),\n/* harmony export */ opCheckDataSigVerify: () => (/* reexport safe */ _bch_operations__WEBPACK_IMPORTED_MODULE_4__.opCheckDataSigVerify),\n/* harmony export */ opDiv: () => (/* reexport safe */ _bch_operations__WEBPACK_IMPORTED_MODULE_4__.opDiv),\n/* harmony export */ opMod: () => (/* reexport safe */ _bch_operations__WEBPACK_IMPORTED_MODULE_4__.opMod),\n/* harmony export */ opNum2Bin: () => (/* reexport safe */ _bch_operations__WEBPACK_IMPORTED_MODULE_4__.opNum2Bin),\n/* harmony export */ opOr: () => (/* reexport safe */ _bch_operations__WEBPACK_IMPORTED_MODULE_4__.opOr),\n/* harmony export */ opReverseBytes: () => (/* reexport safe */ _bch_operations__WEBPACK_IMPORTED_MODULE_4__.opReverseBytes),\n/* harmony export */ opSplit: () => (/* reexport safe */ _bch_operations__WEBPACK_IMPORTED_MODULE_4__.opSplit),\n/* harmony export */ opXor: () => (/* reexport safe */ _bch_operations__WEBPACK_IMPORTED_MODULE_4__.opXor),\n/* harmony export */ padMinimallyEncodedScriptNumber: () => (/* reexport safe */ _bch_operations__WEBPACK_IMPORTED_MODULE_4__.padMinimallyEncodedScriptNumber)\n/* harmony export */ });\n/* harmony import */ var _crypto_crypto__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../crypto/crypto */ \"./node_modules/@bitauth/libauth/build/module/lib/crypto/sha1.js\");\n/* harmony import */ var _crypto_crypto__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../../crypto/crypto */ \"./node_modules/@bitauth/libauth/build/module/lib/crypto/sha256.js\");\n/* harmony import */ var _crypto_crypto__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../../crypto/crypto */ \"./node_modules/@bitauth/libauth/build/module/lib/crypto/ripemd160.js\");\n/* harmony import */ var _crypto_crypto__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../../crypto/crypto */ \"./node_modules/@bitauth/libauth/build/module/lib/crypto/secp256k1.js\");\n/* harmony import */ var _virtual_machine__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../virtual-machine */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/virtual-machine.js\");\n/* harmony import */ var _bch_instruction_sets__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./bch-instruction-sets */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/bch/bch-instruction-sets.js\");\n/* harmony import */ var _bch_descriptions__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./bch-descriptions */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/bch/bch-descriptions.js\");\n/* harmony import */ var _bch_errors__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./bch-errors */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/bch/bch-errors.js\");\n/* harmony import */ var _bch_opcodes__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./bch-opcodes */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/bch/bch-opcodes.js\");\n/* harmony import */ var _bch_operations__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./bch-operations */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/bch/bch-operations.js\");\n/* harmony import */ var _bch_types__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./bch-types */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/bch/bch-types.js\");\n/* harmony import */ var _fixtures_bitcoin_abc_bitcoin_abc_utils__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./fixtures/bitcoin-abc/bitcoin-abc-utils */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/bch/fixtures/bitcoin-abc/bitcoin-abc-utils.js\");\n\n\n\n\n\n\n\n\n\n\n/**\n * Initialize a virtual machine using the provided BCH instruction set.\n *\n * @param instructionSet - the VM version to instantiate – by default, the\n * current \"strict\" VM is used (`instructionSetBCHCurrentStrict`)\n */\nconst instantiateVirtualMachineBCH = async (instructionSet = _bch_instruction_sets__WEBPACK_IMPORTED_MODULE_2__.instructionSetBCHCurrentStrict) => {\n const [sha1, sha256, ripemd160, secp256k1] = await Promise.all([\n (0,_crypto_crypto__WEBPACK_IMPORTED_MODULE_7__.instantiateSha1)(),\n (0,_crypto_crypto__WEBPACK_IMPORTED_MODULE_8__.instantiateSha256)(),\n (0,_crypto_crypto__WEBPACK_IMPORTED_MODULE_9__.instantiateRipemd160)(),\n (0,_crypto_crypto__WEBPACK_IMPORTED_MODULE_10__.instantiateSecp256k1)(),\n ]);\n return (0,_virtual_machine__WEBPACK_IMPORTED_MODULE_11__.createAuthenticationVirtualMachine)((0,_bch_instruction_sets__WEBPACK_IMPORTED_MODULE_2__.createInstructionSetBCH)({\n flags: (0,_bch_instruction_sets__WEBPACK_IMPORTED_MODULE_2__.getFlagsForInstructionSetBCH)(instructionSet),\n ripemd160,\n secp256k1,\n sha1,\n sha256,\n }));\n};\n//# sourceMappingURL=bch.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/bch/bch.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/bch/fixtures/bitcoin-abc/bitcoin-abc-utils.js": +/*!**************************************************************************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/bch/fixtures/bitcoin-abc/bitcoin-abc-utils.js ***! + \**************************************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ assembleBitcoinABCScript: () => (/* binding */ assembleBitcoinABCScript),\n/* harmony export */ bitcoinABCOpcodes: () => (/* binding */ bitcoinABCOpcodes)\n/* harmony export */ });\n/* harmony import */ var _format_format__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../format/format */ \"./node_modules/@bitauth/libauth/build/module/lib/format/hex.js\");\n/* harmony import */ var _format_format__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../../../format/format */ \"./node_modules/@bitauth/libauth/build/module/lib/format/utf8.js\");\n/* harmony import */ var _common_common__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../common/common */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/push.js\");\n/* harmony import */ var _common_common__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../common/common */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/types.js\");\n/* harmony import */ var _instruction_sets_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../instruction-sets-utils */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/instruction-sets-utils.js\");\n/* harmony import */ var _bch_opcodes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../bch-opcodes */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/bch/bch-opcodes.js\");\n\n\n\n\nconst bitcoinABCOpcodes = Object.entries((0,_instruction_sets_utils__WEBPACK_IMPORTED_MODULE_0__.generateBytecodeMap)(_bch_opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesBCH)).reduce((acc, cur) => ({ ...acc, [cur[0].slice('OP_'.length)]: cur[1] }), {\n PUSHDATA1: Uint8Array.of(_bch_opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesBCH.OP_PUSHDATA_1),\n PUSHDATA2: Uint8Array.of(_bch_opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesBCH.OP_PUSHDATA_2),\n PUSHDATA4: Uint8Array.of(_bch_opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesBCH.OP_PUSHDATA_4),\n});\n/**\n * Convert a string from Bitcoin ABC's `script_tests.json` text-format to\n * bytecode. The string must be valid – this method attempts to convert all\n * unmatched tokens to `BigInt`s.\n *\n * @privateRemarks\n * This method doesn't use {@link compileScript} because of a slight\n * incompatibility in the languages. In BTL, BigIntLiterals are a primitive\n * type, and must be surrounded by a push statement (e.g. `<100>`) to push a\n * number to the stack. In the `script_tests.json` text-format, numbers are\n * assumed to be pushed. We could implement a transformation after the\n * compiler's parse step, but because this format doesn't require any other\n * features of the compiler, we opt to implement this as a simple method.\n * @param abcScript - the script in Bitcoin ABC's `script_tests.json` text\n * format\n */\nconst assembleBitcoinABCScript = (abcScript) => (0,_format_format__WEBPACK_IMPORTED_MODULE_2__.flattenBinArray)(abcScript\n .split(' ')\n .filter((token) => token !== '')\n .map((token) => token.startsWith('0x')\n ? (0,_format_format__WEBPACK_IMPORTED_MODULE_2__.hexToBin)(token.slice('0x'.length))\n : token.startsWith(\"'\")\n ? (0,_common_common__WEBPACK_IMPORTED_MODULE_3__.encodeDataPush)((0,_format_format__WEBPACK_IMPORTED_MODULE_4__.utf8ToBin)(token.slice(1, token.length - 1)))\n : bitcoinABCOpcodes[token] === undefined\n ? (0,_common_common__WEBPACK_IMPORTED_MODULE_3__.encodeDataPush)((0,_common_common__WEBPACK_IMPORTED_MODULE_5__.bigIntToScriptNumber)(BigInt(token)))\n : bitcoinABCOpcodes[token]));\n//# sourceMappingURL=bitcoin-abc-utils.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/bch/fixtures/bitcoin-abc/bitcoin-abc-utils.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/btc/btc.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/btc/btc.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ OpcodesBTC: () => (/* binding */ OpcodesBTC)\n/* harmony export */ });\nvar OpcodesBTC;\n(function (OpcodesBTC) {\n OpcodesBTC[OpcodesBTC[\"OP_0\"] = 0] = \"OP_0\";\n OpcodesBTC[OpcodesBTC[\"OP_PUSHBYTES_1\"] = 1] = \"OP_PUSHBYTES_1\";\n OpcodesBTC[OpcodesBTC[\"OP_PUSHBYTES_2\"] = 2] = \"OP_PUSHBYTES_2\";\n OpcodesBTC[OpcodesBTC[\"OP_PUSHBYTES_3\"] = 3] = \"OP_PUSHBYTES_3\";\n OpcodesBTC[OpcodesBTC[\"OP_PUSHBYTES_4\"] = 4] = \"OP_PUSHBYTES_4\";\n OpcodesBTC[OpcodesBTC[\"OP_PUSHBYTES_5\"] = 5] = \"OP_PUSHBYTES_5\";\n OpcodesBTC[OpcodesBTC[\"OP_PUSHBYTES_6\"] = 6] = \"OP_PUSHBYTES_6\";\n OpcodesBTC[OpcodesBTC[\"OP_PUSHBYTES_7\"] = 7] = \"OP_PUSHBYTES_7\";\n OpcodesBTC[OpcodesBTC[\"OP_PUSHBYTES_8\"] = 8] = \"OP_PUSHBYTES_8\";\n OpcodesBTC[OpcodesBTC[\"OP_PUSHBYTES_9\"] = 9] = \"OP_PUSHBYTES_9\";\n OpcodesBTC[OpcodesBTC[\"OP_PUSHBYTES_10\"] = 10] = \"OP_PUSHBYTES_10\";\n OpcodesBTC[OpcodesBTC[\"OP_PUSHBYTES_11\"] = 11] = \"OP_PUSHBYTES_11\";\n OpcodesBTC[OpcodesBTC[\"OP_PUSHBYTES_12\"] = 12] = \"OP_PUSHBYTES_12\";\n OpcodesBTC[OpcodesBTC[\"OP_PUSHBYTES_13\"] = 13] = \"OP_PUSHBYTES_13\";\n OpcodesBTC[OpcodesBTC[\"OP_PUSHBYTES_14\"] = 14] = \"OP_PUSHBYTES_14\";\n OpcodesBTC[OpcodesBTC[\"OP_PUSHBYTES_15\"] = 15] = \"OP_PUSHBYTES_15\";\n OpcodesBTC[OpcodesBTC[\"OP_PUSHBYTES_16\"] = 16] = \"OP_PUSHBYTES_16\";\n OpcodesBTC[OpcodesBTC[\"OP_PUSHBYTES_17\"] = 17] = \"OP_PUSHBYTES_17\";\n OpcodesBTC[OpcodesBTC[\"OP_PUSHBYTES_18\"] = 18] = \"OP_PUSHBYTES_18\";\n OpcodesBTC[OpcodesBTC[\"OP_PUSHBYTES_19\"] = 19] = \"OP_PUSHBYTES_19\";\n OpcodesBTC[OpcodesBTC[\"OP_PUSHBYTES_20\"] = 20] = \"OP_PUSHBYTES_20\";\n OpcodesBTC[OpcodesBTC[\"OP_PUSHBYTES_21\"] = 21] = \"OP_PUSHBYTES_21\";\n OpcodesBTC[OpcodesBTC[\"OP_PUSHBYTES_22\"] = 22] = \"OP_PUSHBYTES_22\";\n OpcodesBTC[OpcodesBTC[\"OP_PUSHBYTES_23\"] = 23] = \"OP_PUSHBYTES_23\";\n OpcodesBTC[OpcodesBTC[\"OP_PUSHBYTES_24\"] = 24] = \"OP_PUSHBYTES_24\";\n OpcodesBTC[OpcodesBTC[\"OP_PUSHBYTES_25\"] = 25] = \"OP_PUSHBYTES_25\";\n OpcodesBTC[OpcodesBTC[\"OP_PUSHBYTES_26\"] = 26] = \"OP_PUSHBYTES_26\";\n OpcodesBTC[OpcodesBTC[\"OP_PUSHBYTES_27\"] = 27] = \"OP_PUSHBYTES_27\";\n OpcodesBTC[OpcodesBTC[\"OP_PUSHBYTES_28\"] = 28] = \"OP_PUSHBYTES_28\";\n OpcodesBTC[OpcodesBTC[\"OP_PUSHBYTES_29\"] = 29] = \"OP_PUSHBYTES_29\";\n OpcodesBTC[OpcodesBTC[\"OP_PUSHBYTES_30\"] = 30] = \"OP_PUSHBYTES_30\";\n OpcodesBTC[OpcodesBTC[\"OP_PUSHBYTES_31\"] = 31] = \"OP_PUSHBYTES_31\";\n OpcodesBTC[OpcodesBTC[\"OP_PUSHBYTES_32\"] = 32] = \"OP_PUSHBYTES_32\";\n OpcodesBTC[OpcodesBTC[\"OP_PUSHBYTES_33\"] = 33] = \"OP_PUSHBYTES_33\";\n OpcodesBTC[OpcodesBTC[\"OP_PUSHBYTES_34\"] = 34] = \"OP_PUSHBYTES_34\";\n OpcodesBTC[OpcodesBTC[\"OP_PUSHBYTES_35\"] = 35] = \"OP_PUSHBYTES_35\";\n OpcodesBTC[OpcodesBTC[\"OP_PUSHBYTES_36\"] = 36] = \"OP_PUSHBYTES_36\";\n OpcodesBTC[OpcodesBTC[\"OP_PUSHBYTES_37\"] = 37] = \"OP_PUSHBYTES_37\";\n OpcodesBTC[OpcodesBTC[\"OP_PUSHBYTES_38\"] = 38] = \"OP_PUSHBYTES_38\";\n OpcodesBTC[OpcodesBTC[\"OP_PUSHBYTES_39\"] = 39] = \"OP_PUSHBYTES_39\";\n OpcodesBTC[OpcodesBTC[\"OP_PUSHBYTES_40\"] = 40] = \"OP_PUSHBYTES_40\";\n OpcodesBTC[OpcodesBTC[\"OP_PUSHBYTES_41\"] = 41] = \"OP_PUSHBYTES_41\";\n OpcodesBTC[OpcodesBTC[\"OP_PUSHBYTES_42\"] = 42] = \"OP_PUSHBYTES_42\";\n OpcodesBTC[OpcodesBTC[\"OP_PUSHBYTES_43\"] = 43] = \"OP_PUSHBYTES_43\";\n OpcodesBTC[OpcodesBTC[\"OP_PUSHBYTES_44\"] = 44] = \"OP_PUSHBYTES_44\";\n OpcodesBTC[OpcodesBTC[\"OP_PUSHBYTES_45\"] = 45] = \"OP_PUSHBYTES_45\";\n OpcodesBTC[OpcodesBTC[\"OP_PUSHBYTES_46\"] = 46] = \"OP_PUSHBYTES_46\";\n OpcodesBTC[OpcodesBTC[\"OP_PUSHBYTES_47\"] = 47] = \"OP_PUSHBYTES_47\";\n OpcodesBTC[OpcodesBTC[\"OP_PUSHBYTES_48\"] = 48] = \"OP_PUSHBYTES_48\";\n OpcodesBTC[OpcodesBTC[\"OP_PUSHBYTES_49\"] = 49] = \"OP_PUSHBYTES_49\";\n OpcodesBTC[OpcodesBTC[\"OP_PUSHBYTES_50\"] = 50] = \"OP_PUSHBYTES_50\";\n OpcodesBTC[OpcodesBTC[\"OP_PUSHBYTES_51\"] = 51] = \"OP_PUSHBYTES_51\";\n OpcodesBTC[OpcodesBTC[\"OP_PUSHBYTES_52\"] = 52] = \"OP_PUSHBYTES_52\";\n OpcodesBTC[OpcodesBTC[\"OP_PUSHBYTES_53\"] = 53] = \"OP_PUSHBYTES_53\";\n OpcodesBTC[OpcodesBTC[\"OP_PUSHBYTES_54\"] = 54] = \"OP_PUSHBYTES_54\";\n OpcodesBTC[OpcodesBTC[\"OP_PUSHBYTES_55\"] = 55] = \"OP_PUSHBYTES_55\";\n OpcodesBTC[OpcodesBTC[\"OP_PUSHBYTES_56\"] = 56] = \"OP_PUSHBYTES_56\";\n OpcodesBTC[OpcodesBTC[\"OP_PUSHBYTES_57\"] = 57] = \"OP_PUSHBYTES_57\";\n OpcodesBTC[OpcodesBTC[\"OP_PUSHBYTES_58\"] = 58] = \"OP_PUSHBYTES_58\";\n OpcodesBTC[OpcodesBTC[\"OP_PUSHBYTES_59\"] = 59] = \"OP_PUSHBYTES_59\";\n OpcodesBTC[OpcodesBTC[\"OP_PUSHBYTES_60\"] = 60] = \"OP_PUSHBYTES_60\";\n OpcodesBTC[OpcodesBTC[\"OP_PUSHBYTES_61\"] = 61] = \"OP_PUSHBYTES_61\";\n OpcodesBTC[OpcodesBTC[\"OP_PUSHBYTES_62\"] = 62] = \"OP_PUSHBYTES_62\";\n OpcodesBTC[OpcodesBTC[\"OP_PUSHBYTES_63\"] = 63] = \"OP_PUSHBYTES_63\";\n OpcodesBTC[OpcodesBTC[\"OP_PUSHBYTES_64\"] = 64] = \"OP_PUSHBYTES_64\";\n OpcodesBTC[OpcodesBTC[\"OP_PUSHBYTES_65\"] = 65] = \"OP_PUSHBYTES_65\";\n OpcodesBTC[OpcodesBTC[\"OP_PUSHBYTES_66\"] = 66] = \"OP_PUSHBYTES_66\";\n OpcodesBTC[OpcodesBTC[\"OP_PUSHBYTES_67\"] = 67] = \"OP_PUSHBYTES_67\";\n OpcodesBTC[OpcodesBTC[\"OP_PUSHBYTES_68\"] = 68] = \"OP_PUSHBYTES_68\";\n OpcodesBTC[OpcodesBTC[\"OP_PUSHBYTES_69\"] = 69] = \"OP_PUSHBYTES_69\";\n OpcodesBTC[OpcodesBTC[\"OP_PUSHBYTES_70\"] = 70] = \"OP_PUSHBYTES_70\";\n OpcodesBTC[OpcodesBTC[\"OP_PUSHBYTES_71\"] = 71] = \"OP_PUSHBYTES_71\";\n OpcodesBTC[OpcodesBTC[\"OP_PUSHBYTES_72\"] = 72] = \"OP_PUSHBYTES_72\";\n OpcodesBTC[OpcodesBTC[\"OP_PUSHBYTES_73\"] = 73] = \"OP_PUSHBYTES_73\";\n OpcodesBTC[OpcodesBTC[\"OP_PUSHBYTES_74\"] = 74] = \"OP_PUSHBYTES_74\";\n OpcodesBTC[OpcodesBTC[\"OP_PUSHBYTES_75\"] = 75] = \"OP_PUSHBYTES_75\";\n OpcodesBTC[OpcodesBTC[\"OP_PUSHDATA_1\"] = 76] = \"OP_PUSHDATA_1\";\n OpcodesBTC[OpcodesBTC[\"OP_PUSHDATA_2\"] = 77] = \"OP_PUSHDATA_2\";\n OpcodesBTC[OpcodesBTC[\"OP_PUSHDATA_4\"] = 78] = \"OP_PUSHDATA_4\";\n OpcodesBTC[OpcodesBTC[\"OP_1NEGATE\"] = 79] = \"OP_1NEGATE\";\n OpcodesBTC[OpcodesBTC[\"OP_RESERVED\"] = 80] = \"OP_RESERVED\";\n OpcodesBTC[OpcodesBTC[\"OP_1\"] = 81] = \"OP_1\";\n OpcodesBTC[OpcodesBTC[\"OP_2\"] = 82] = \"OP_2\";\n OpcodesBTC[OpcodesBTC[\"OP_3\"] = 83] = \"OP_3\";\n OpcodesBTC[OpcodesBTC[\"OP_4\"] = 84] = \"OP_4\";\n OpcodesBTC[OpcodesBTC[\"OP_5\"] = 85] = \"OP_5\";\n OpcodesBTC[OpcodesBTC[\"OP_6\"] = 86] = \"OP_6\";\n OpcodesBTC[OpcodesBTC[\"OP_7\"] = 87] = \"OP_7\";\n OpcodesBTC[OpcodesBTC[\"OP_8\"] = 88] = \"OP_8\";\n OpcodesBTC[OpcodesBTC[\"OP_9\"] = 89] = \"OP_9\";\n OpcodesBTC[OpcodesBTC[\"OP_10\"] = 90] = \"OP_10\";\n OpcodesBTC[OpcodesBTC[\"OP_11\"] = 91] = \"OP_11\";\n OpcodesBTC[OpcodesBTC[\"OP_12\"] = 92] = \"OP_12\";\n OpcodesBTC[OpcodesBTC[\"OP_13\"] = 93] = \"OP_13\";\n OpcodesBTC[OpcodesBTC[\"OP_14\"] = 94] = \"OP_14\";\n OpcodesBTC[OpcodesBTC[\"OP_15\"] = 95] = \"OP_15\";\n OpcodesBTC[OpcodesBTC[\"OP_16\"] = 96] = \"OP_16\";\n OpcodesBTC[OpcodesBTC[\"OP_NOP\"] = 97] = \"OP_NOP\";\n OpcodesBTC[OpcodesBTC[\"OP_VER\"] = 98] = \"OP_VER\";\n OpcodesBTC[OpcodesBTC[\"OP_IF\"] = 99] = \"OP_IF\";\n OpcodesBTC[OpcodesBTC[\"OP_NOTIF\"] = 100] = \"OP_NOTIF\";\n OpcodesBTC[OpcodesBTC[\"OP_VERIF\"] = 101] = \"OP_VERIF\";\n OpcodesBTC[OpcodesBTC[\"OP_VERNOTIF\"] = 102] = \"OP_VERNOTIF\";\n OpcodesBTC[OpcodesBTC[\"OP_ELSE\"] = 103] = \"OP_ELSE\";\n OpcodesBTC[OpcodesBTC[\"OP_ENDIF\"] = 104] = \"OP_ENDIF\";\n OpcodesBTC[OpcodesBTC[\"OP_VERIFY\"] = 105] = \"OP_VERIFY\";\n OpcodesBTC[OpcodesBTC[\"OP_RETURN\"] = 106] = \"OP_RETURN\";\n OpcodesBTC[OpcodesBTC[\"OP_TOALTSTACK\"] = 107] = \"OP_TOALTSTACK\";\n OpcodesBTC[OpcodesBTC[\"OP_FROMALTSTACK\"] = 108] = \"OP_FROMALTSTACK\";\n OpcodesBTC[OpcodesBTC[\"OP_2DROP\"] = 109] = \"OP_2DROP\";\n OpcodesBTC[OpcodesBTC[\"OP_2DUP\"] = 110] = \"OP_2DUP\";\n OpcodesBTC[OpcodesBTC[\"OP_3DUP\"] = 111] = \"OP_3DUP\";\n OpcodesBTC[OpcodesBTC[\"OP_2OVER\"] = 112] = \"OP_2OVER\";\n OpcodesBTC[OpcodesBTC[\"OP_2ROT\"] = 113] = \"OP_2ROT\";\n OpcodesBTC[OpcodesBTC[\"OP_2SWAP\"] = 114] = \"OP_2SWAP\";\n OpcodesBTC[OpcodesBTC[\"OP_IFDUP\"] = 115] = \"OP_IFDUP\";\n OpcodesBTC[OpcodesBTC[\"OP_DEPTH\"] = 116] = \"OP_DEPTH\";\n OpcodesBTC[OpcodesBTC[\"OP_DROP\"] = 117] = \"OP_DROP\";\n OpcodesBTC[OpcodesBTC[\"OP_DUP\"] = 118] = \"OP_DUP\";\n OpcodesBTC[OpcodesBTC[\"OP_NIP\"] = 119] = \"OP_NIP\";\n OpcodesBTC[OpcodesBTC[\"OP_OVER\"] = 120] = \"OP_OVER\";\n OpcodesBTC[OpcodesBTC[\"OP_PICK\"] = 121] = \"OP_PICK\";\n OpcodesBTC[OpcodesBTC[\"OP_ROLL\"] = 122] = \"OP_ROLL\";\n OpcodesBTC[OpcodesBTC[\"OP_ROT\"] = 123] = \"OP_ROT\";\n OpcodesBTC[OpcodesBTC[\"OP_SWAP\"] = 124] = \"OP_SWAP\";\n OpcodesBTC[OpcodesBTC[\"OP_TUCK\"] = 125] = \"OP_TUCK\";\n OpcodesBTC[OpcodesBTC[\"OP_CAT\"] = 126] = \"OP_CAT\";\n OpcodesBTC[OpcodesBTC[\"OP_SUBSTR\"] = 127] = \"OP_SUBSTR\";\n OpcodesBTC[OpcodesBTC[\"OP_LEFT\"] = 128] = \"OP_LEFT\";\n OpcodesBTC[OpcodesBTC[\"OP_RIGHT\"] = 129] = \"OP_RIGHT\";\n OpcodesBTC[OpcodesBTC[\"OP_SIZE\"] = 130] = \"OP_SIZE\";\n OpcodesBTC[OpcodesBTC[\"OP_INVERT\"] = 131] = \"OP_INVERT\";\n OpcodesBTC[OpcodesBTC[\"OP_AND\"] = 132] = \"OP_AND\";\n OpcodesBTC[OpcodesBTC[\"OP_OR\"] = 133] = \"OP_OR\";\n OpcodesBTC[OpcodesBTC[\"OP_XOR\"] = 134] = \"OP_XOR\";\n OpcodesBTC[OpcodesBTC[\"OP_EQUAL\"] = 135] = \"OP_EQUAL\";\n OpcodesBTC[OpcodesBTC[\"OP_EQUALVERIFY\"] = 136] = \"OP_EQUALVERIFY\";\n OpcodesBTC[OpcodesBTC[\"OP_RESERVED1\"] = 137] = \"OP_RESERVED1\";\n OpcodesBTC[OpcodesBTC[\"OP_RESERVED2\"] = 138] = \"OP_RESERVED2\";\n OpcodesBTC[OpcodesBTC[\"OP_1ADD\"] = 139] = \"OP_1ADD\";\n OpcodesBTC[OpcodesBTC[\"OP_1SUB\"] = 140] = \"OP_1SUB\";\n OpcodesBTC[OpcodesBTC[\"OP_2MUL\"] = 141] = \"OP_2MUL\";\n OpcodesBTC[OpcodesBTC[\"OP_2DIV\"] = 142] = \"OP_2DIV\";\n OpcodesBTC[OpcodesBTC[\"OP_NEGATE\"] = 143] = \"OP_NEGATE\";\n OpcodesBTC[OpcodesBTC[\"OP_ABS\"] = 144] = \"OP_ABS\";\n OpcodesBTC[OpcodesBTC[\"OP_NOT\"] = 145] = \"OP_NOT\";\n OpcodesBTC[OpcodesBTC[\"OP_0NOTEQUAL\"] = 146] = \"OP_0NOTEQUAL\";\n OpcodesBTC[OpcodesBTC[\"OP_ADD\"] = 147] = \"OP_ADD\";\n OpcodesBTC[OpcodesBTC[\"OP_SUB\"] = 148] = \"OP_SUB\";\n OpcodesBTC[OpcodesBTC[\"OP_MUL\"] = 149] = \"OP_MUL\";\n OpcodesBTC[OpcodesBTC[\"OP_DIV\"] = 150] = \"OP_DIV\";\n OpcodesBTC[OpcodesBTC[\"OP_MOD\"] = 151] = \"OP_MOD\";\n OpcodesBTC[OpcodesBTC[\"OP_LSHIFT\"] = 152] = \"OP_LSHIFT\";\n OpcodesBTC[OpcodesBTC[\"OP_RSHIFT\"] = 153] = \"OP_RSHIFT\";\n OpcodesBTC[OpcodesBTC[\"OP_BOOLAND\"] = 154] = \"OP_BOOLAND\";\n OpcodesBTC[OpcodesBTC[\"OP_BOOLOR\"] = 155] = \"OP_BOOLOR\";\n OpcodesBTC[OpcodesBTC[\"OP_NUMEQUAL\"] = 156] = \"OP_NUMEQUAL\";\n OpcodesBTC[OpcodesBTC[\"OP_NUMEQUALVERIFY\"] = 157] = \"OP_NUMEQUALVERIFY\";\n OpcodesBTC[OpcodesBTC[\"OP_NUMNOTEQUAL\"] = 158] = \"OP_NUMNOTEQUAL\";\n OpcodesBTC[OpcodesBTC[\"OP_LESSTHAN\"] = 159] = \"OP_LESSTHAN\";\n OpcodesBTC[OpcodesBTC[\"OP_GREATERTHAN\"] = 160] = \"OP_GREATERTHAN\";\n OpcodesBTC[OpcodesBTC[\"OP_LESSTHANOREQUAL\"] = 161] = \"OP_LESSTHANOREQUAL\";\n OpcodesBTC[OpcodesBTC[\"OP_GREATERTHANOREQUAL\"] = 162] = \"OP_GREATERTHANOREQUAL\";\n OpcodesBTC[OpcodesBTC[\"OP_MIN\"] = 163] = \"OP_MIN\";\n OpcodesBTC[OpcodesBTC[\"OP_MAX\"] = 164] = \"OP_MAX\";\n OpcodesBTC[OpcodesBTC[\"OP_WITHIN\"] = 165] = \"OP_WITHIN\";\n OpcodesBTC[OpcodesBTC[\"OP_RIPEMD160\"] = 166] = \"OP_RIPEMD160\";\n OpcodesBTC[OpcodesBTC[\"OP_SHA1\"] = 167] = \"OP_SHA1\";\n OpcodesBTC[OpcodesBTC[\"OP_SHA256\"] = 168] = \"OP_SHA256\";\n OpcodesBTC[OpcodesBTC[\"OP_HASH160\"] = 169] = \"OP_HASH160\";\n OpcodesBTC[OpcodesBTC[\"OP_HASH256\"] = 170] = \"OP_HASH256\";\n OpcodesBTC[OpcodesBTC[\"OP_CODESEPARATOR\"] = 171] = \"OP_CODESEPARATOR\";\n OpcodesBTC[OpcodesBTC[\"OP_CHECKSIG\"] = 172] = \"OP_CHECKSIG\";\n OpcodesBTC[OpcodesBTC[\"OP_CHECKSIGVERIFY\"] = 173] = \"OP_CHECKSIGVERIFY\";\n OpcodesBTC[OpcodesBTC[\"OP_CHECKMULTISIG\"] = 174] = \"OP_CHECKMULTISIG\";\n OpcodesBTC[OpcodesBTC[\"OP_CHECKMULTISIGVERIFY\"] = 175] = \"OP_CHECKMULTISIGVERIFY\";\n OpcodesBTC[OpcodesBTC[\"OP_NOP1\"] = 176] = \"OP_NOP1\";\n OpcodesBTC[OpcodesBTC[\"OP_CHECKLOCKTIMEVERIFY\"] = 177] = \"OP_CHECKLOCKTIMEVERIFY\";\n OpcodesBTC[OpcodesBTC[\"OP_CHECKSEQUENCEVERIFY\"] = 178] = \"OP_CHECKSEQUENCEVERIFY\";\n OpcodesBTC[OpcodesBTC[\"OP_NOP4\"] = 179] = \"OP_NOP4\";\n OpcodesBTC[OpcodesBTC[\"OP_NOP5\"] = 180] = \"OP_NOP5\";\n OpcodesBTC[OpcodesBTC[\"OP_NOP6\"] = 181] = \"OP_NOP6\";\n OpcodesBTC[OpcodesBTC[\"OP_NOP7\"] = 182] = \"OP_NOP7\";\n OpcodesBTC[OpcodesBTC[\"OP_NOP8\"] = 183] = \"OP_NOP8\";\n OpcodesBTC[OpcodesBTC[\"OP_NOP9\"] = 184] = \"OP_NOP9\";\n OpcodesBTC[OpcodesBTC[\"OP_NOP10\"] = 185] = \"OP_NOP10\";\n OpcodesBTC[OpcodesBTC[\"OP_UNKNOWN186\"] = 186] = \"OP_UNKNOWN186\";\n OpcodesBTC[OpcodesBTC[\"OP_UNKNOWN187\"] = 187] = \"OP_UNKNOWN187\";\n OpcodesBTC[OpcodesBTC[\"OP_UNKNOWN188\"] = 188] = \"OP_UNKNOWN188\";\n OpcodesBTC[OpcodesBTC[\"OP_UNKNOWN189\"] = 189] = \"OP_UNKNOWN189\";\n OpcodesBTC[OpcodesBTC[\"OP_UNKNOWN190\"] = 190] = \"OP_UNKNOWN190\";\n OpcodesBTC[OpcodesBTC[\"OP_UNKNOWN191\"] = 191] = \"OP_UNKNOWN191\";\n OpcodesBTC[OpcodesBTC[\"OP_UNKNOWN192\"] = 192] = \"OP_UNKNOWN192\";\n OpcodesBTC[OpcodesBTC[\"OP_UNKNOWN193\"] = 193] = \"OP_UNKNOWN193\";\n OpcodesBTC[OpcodesBTC[\"OP_UNKNOWN194\"] = 194] = \"OP_UNKNOWN194\";\n OpcodesBTC[OpcodesBTC[\"OP_UNKNOWN195\"] = 195] = \"OP_UNKNOWN195\";\n OpcodesBTC[OpcodesBTC[\"OP_UNKNOWN196\"] = 196] = \"OP_UNKNOWN196\";\n OpcodesBTC[OpcodesBTC[\"OP_UNKNOWN197\"] = 197] = \"OP_UNKNOWN197\";\n OpcodesBTC[OpcodesBTC[\"OP_UNKNOWN198\"] = 198] = \"OP_UNKNOWN198\";\n OpcodesBTC[OpcodesBTC[\"OP_UNKNOWN199\"] = 199] = \"OP_UNKNOWN199\";\n OpcodesBTC[OpcodesBTC[\"OP_UNKNOWN200\"] = 200] = \"OP_UNKNOWN200\";\n OpcodesBTC[OpcodesBTC[\"OP_UNKNOWN201\"] = 201] = \"OP_UNKNOWN201\";\n OpcodesBTC[OpcodesBTC[\"OP_UNKNOWN202\"] = 202] = \"OP_UNKNOWN202\";\n OpcodesBTC[OpcodesBTC[\"OP_UNKNOWN203\"] = 203] = \"OP_UNKNOWN203\";\n OpcodesBTC[OpcodesBTC[\"OP_UNKNOWN204\"] = 204] = \"OP_UNKNOWN204\";\n OpcodesBTC[OpcodesBTC[\"OP_UNKNOWN205\"] = 205] = \"OP_UNKNOWN205\";\n OpcodesBTC[OpcodesBTC[\"OP_UNKNOWN206\"] = 206] = \"OP_UNKNOWN206\";\n OpcodesBTC[OpcodesBTC[\"OP_UNKNOWN207\"] = 207] = \"OP_UNKNOWN207\";\n OpcodesBTC[OpcodesBTC[\"OP_UNKNOWN208\"] = 208] = \"OP_UNKNOWN208\";\n OpcodesBTC[OpcodesBTC[\"OP_UNKNOWN209\"] = 209] = \"OP_UNKNOWN209\";\n OpcodesBTC[OpcodesBTC[\"OP_UNKNOWN210\"] = 210] = \"OP_UNKNOWN210\";\n OpcodesBTC[OpcodesBTC[\"OP_UNKNOWN211\"] = 211] = \"OP_UNKNOWN211\";\n OpcodesBTC[OpcodesBTC[\"OP_UNKNOWN212\"] = 212] = \"OP_UNKNOWN212\";\n OpcodesBTC[OpcodesBTC[\"OP_UNKNOWN213\"] = 213] = \"OP_UNKNOWN213\";\n OpcodesBTC[OpcodesBTC[\"OP_UNKNOWN214\"] = 214] = \"OP_UNKNOWN214\";\n OpcodesBTC[OpcodesBTC[\"OP_UNKNOWN215\"] = 215] = \"OP_UNKNOWN215\";\n OpcodesBTC[OpcodesBTC[\"OP_UNKNOWN216\"] = 216] = \"OP_UNKNOWN216\";\n OpcodesBTC[OpcodesBTC[\"OP_UNKNOWN217\"] = 217] = \"OP_UNKNOWN217\";\n OpcodesBTC[OpcodesBTC[\"OP_UNKNOWN218\"] = 218] = \"OP_UNKNOWN218\";\n OpcodesBTC[OpcodesBTC[\"OP_UNKNOWN219\"] = 219] = \"OP_UNKNOWN219\";\n OpcodesBTC[OpcodesBTC[\"OP_UNKNOWN220\"] = 220] = \"OP_UNKNOWN220\";\n OpcodesBTC[OpcodesBTC[\"OP_UNKNOWN221\"] = 221] = \"OP_UNKNOWN221\";\n OpcodesBTC[OpcodesBTC[\"OP_UNKNOWN222\"] = 222] = \"OP_UNKNOWN222\";\n OpcodesBTC[OpcodesBTC[\"OP_UNKNOWN223\"] = 223] = \"OP_UNKNOWN223\";\n OpcodesBTC[OpcodesBTC[\"OP_UNKNOWN224\"] = 224] = \"OP_UNKNOWN224\";\n OpcodesBTC[OpcodesBTC[\"OP_UNKNOWN225\"] = 225] = \"OP_UNKNOWN225\";\n OpcodesBTC[OpcodesBTC[\"OP_UNKNOWN226\"] = 226] = \"OP_UNKNOWN226\";\n OpcodesBTC[OpcodesBTC[\"OP_UNKNOWN227\"] = 227] = \"OP_UNKNOWN227\";\n OpcodesBTC[OpcodesBTC[\"OP_UNKNOWN228\"] = 228] = \"OP_UNKNOWN228\";\n OpcodesBTC[OpcodesBTC[\"OP_UNKNOWN229\"] = 229] = \"OP_UNKNOWN229\";\n OpcodesBTC[OpcodesBTC[\"OP_UNKNOWN230\"] = 230] = \"OP_UNKNOWN230\";\n OpcodesBTC[OpcodesBTC[\"OP_UNKNOWN231\"] = 231] = \"OP_UNKNOWN231\";\n OpcodesBTC[OpcodesBTC[\"OP_UNKNOWN232\"] = 232] = \"OP_UNKNOWN232\";\n OpcodesBTC[OpcodesBTC[\"OP_UNKNOWN233\"] = 233] = \"OP_UNKNOWN233\";\n OpcodesBTC[OpcodesBTC[\"OP_UNKNOWN234\"] = 234] = \"OP_UNKNOWN234\";\n OpcodesBTC[OpcodesBTC[\"OP_UNKNOWN235\"] = 235] = \"OP_UNKNOWN235\";\n OpcodesBTC[OpcodesBTC[\"OP_UNKNOWN236\"] = 236] = \"OP_UNKNOWN236\";\n OpcodesBTC[OpcodesBTC[\"OP_UNKNOWN237\"] = 237] = \"OP_UNKNOWN237\";\n OpcodesBTC[OpcodesBTC[\"OP_UNKNOWN238\"] = 238] = \"OP_UNKNOWN238\";\n OpcodesBTC[OpcodesBTC[\"OP_UNKNOWN239\"] = 239] = \"OP_UNKNOWN239\";\n OpcodesBTC[OpcodesBTC[\"OP_UNKNOWN240\"] = 240] = \"OP_UNKNOWN240\";\n OpcodesBTC[OpcodesBTC[\"OP_UNKNOWN241\"] = 241] = \"OP_UNKNOWN241\";\n OpcodesBTC[OpcodesBTC[\"OP_UNKNOWN242\"] = 242] = \"OP_UNKNOWN242\";\n OpcodesBTC[OpcodesBTC[\"OP_UNKNOWN243\"] = 243] = \"OP_UNKNOWN243\";\n OpcodesBTC[OpcodesBTC[\"OP_UNKNOWN244\"] = 244] = \"OP_UNKNOWN244\";\n OpcodesBTC[OpcodesBTC[\"OP_UNKNOWN245\"] = 245] = \"OP_UNKNOWN245\";\n OpcodesBTC[OpcodesBTC[\"OP_UNKNOWN246\"] = 246] = \"OP_UNKNOWN246\";\n OpcodesBTC[OpcodesBTC[\"OP_UNKNOWN247\"] = 247] = \"OP_UNKNOWN247\";\n OpcodesBTC[OpcodesBTC[\"OP_UNKNOWN248\"] = 248] = \"OP_UNKNOWN248\";\n OpcodesBTC[OpcodesBTC[\"OP_UNKNOWN249\"] = 249] = \"OP_UNKNOWN249\";\n /**\n * Used internally in the C++ implementation.\n */\n OpcodesBTC[OpcodesBTC[\"OP_SMALLINTEGER\"] = 250] = \"OP_SMALLINTEGER\";\n /**\n * Used internally in the C++ implementation.\n */\n OpcodesBTC[OpcodesBTC[\"OP_PUBKEYS\"] = 251] = \"OP_PUBKEYS\";\n OpcodesBTC[OpcodesBTC[\"OP_UNKNOWN252\"] = 252] = \"OP_UNKNOWN252\";\n /**\n * Used internally in the C++ implementation.\n */\n OpcodesBTC[OpcodesBTC[\"OP_PUBKEYHASH\"] = 253] = \"OP_PUBKEYHASH\";\n /**\n * Used internally in the C++ implementation.\n */\n OpcodesBTC[OpcodesBTC[\"OP_PUBKEY\"] = 254] = \"OP_PUBKEY\";\n /**\n * Used internally in the C++ implementation.\n */\n OpcodesBTC[OpcodesBTC[\"OP_INVALIDOPCODE\"] = 255] = \"OP_INVALIDOPCODE\";\n})(OpcodesBTC || (OpcodesBTC = {}));\n//# sourceMappingURL=btc.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/btc/btc.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/arithmetic.js": +/*!*************************************************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/arithmetic.js ***! + \*************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ arithmeticOperations: () => (/* binding */ arithmeticOperations),\n/* harmony export */ op0NotEqual: () => (/* binding */ op0NotEqual),\n/* harmony export */ op1Add: () => (/* binding */ op1Add),\n/* harmony export */ op1Sub: () => (/* binding */ op1Sub),\n/* harmony export */ opAbs: () => (/* binding */ opAbs),\n/* harmony export */ opAdd: () => (/* binding */ opAdd),\n/* harmony export */ opBoolAnd: () => (/* binding */ opBoolAnd),\n/* harmony export */ opBoolOr: () => (/* binding */ opBoolOr),\n/* harmony export */ opGreaterThan: () => (/* binding */ opGreaterThan),\n/* harmony export */ opGreaterThanOrEqual: () => (/* binding */ opGreaterThanOrEqual),\n/* harmony export */ opLessThan: () => (/* binding */ opLessThan),\n/* harmony export */ opLessThanOrEqual: () => (/* binding */ opLessThanOrEqual),\n/* harmony export */ opMax: () => (/* binding */ opMax),\n/* harmony export */ opMin: () => (/* binding */ opMin),\n/* harmony export */ opNegate: () => (/* binding */ opNegate),\n/* harmony export */ opNot: () => (/* binding */ opNot),\n/* harmony export */ opNumEqual: () => (/* binding */ opNumEqual),\n/* harmony export */ opNumEqualVerify: () => (/* binding */ opNumEqualVerify),\n/* harmony export */ opNumNotEqual: () => (/* binding */ opNumNotEqual),\n/* harmony export */ opSub: () => (/* binding */ opSub),\n/* harmony export */ opWithin: () => (/* binding */ opWithin)\n/* harmony export */ });\n/* harmony import */ var _combinators__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./combinators */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/combinators.js\");\n/* harmony import */ var _flow_control__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./flow-control */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/flow-control.js\");\n/* harmony import */ var _opcodes__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./opcodes */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/opcodes.js\");\n/* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./types */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/types.js\");\n\n\n\n\nconst op1Add = ({ requireMinimalEncoding, }) => (state) => (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.useOneScriptNumber)(state, (nextState, [value]) => (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.pushToStack)(nextState, (0,_types__WEBPACK_IMPORTED_MODULE_1__.bigIntToScriptNumber)(value + BigInt(1))), { requireMinimalEncoding });\nconst op1Sub = ({ requireMinimalEncoding, }) => (state) => (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.useOneScriptNumber)(state, (nextState, [value]) => (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.pushToStack)(nextState, (0,_types__WEBPACK_IMPORTED_MODULE_1__.bigIntToScriptNumber)(value - BigInt(1))), { requireMinimalEncoding });\nconst opNegate = ({ requireMinimalEncoding, }) => (state) => (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.useOneScriptNumber)(state, (nextState, [value]) => (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.pushToStack)(nextState, (0,_types__WEBPACK_IMPORTED_MODULE_1__.bigIntToScriptNumber)(-value)), { requireMinimalEncoding });\nconst opAbs = ({ requireMinimalEncoding, }) => (state) => (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.useOneScriptNumber)(state, (nextState, [value]) => (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.pushToStack)(nextState, (0,_types__WEBPACK_IMPORTED_MODULE_1__.bigIntToScriptNumber)(value < 0 ? -value : value)), { requireMinimalEncoding });\nconst opNot = ({ requireMinimalEncoding, }) => (state) => (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.useOneScriptNumber)(state, (nextState, [value]) => (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.pushToStack)(nextState, value === BigInt(0)\n ? (0,_types__WEBPACK_IMPORTED_MODULE_1__.bigIntToScriptNumber)(BigInt(1))\n : (0,_types__WEBPACK_IMPORTED_MODULE_1__.bigIntToScriptNumber)(BigInt(0))), { requireMinimalEncoding });\nconst op0NotEqual = ({ requireMinimalEncoding, }) => (state) => (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.useOneScriptNumber)(state, (nextState, [value]) => (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.pushToStack)(nextState, value === BigInt(0)\n ? (0,_types__WEBPACK_IMPORTED_MODULE_1__.bigIntToScriptNumber)(BigInt(0))\n : (0,_types__WEBPACK_IMPORTED_MODULE_1__.bigIntToScriptNumber)(BigInt(1))), { requireMinimalEncoding });\nconst opAdd = ({ requireMinimalEncoding, }) => (state) => (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.useTwoScriptNumbers)(state, (nextState, [firstValue, secondValue]) => (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.pushToStack)(nextState, (0,_types__WEBPACK_IMPORTED_MODULE_1__.bigIntToScriptNumber)(firstValue + secondValue)), { requireMinimalEncoding });\nconst opSub = ({ requireMinimalEncoding, }) => (state) => (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.useTwoScriptNumbers)(state, (nextState, [firstValue, secondValue]) => (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.pushToStack)(nextState, (0,_types__WEBPACK_IMPORTED_MODULE_1__.bigIntToScriptNumber)(firstValue - secondValue)), { requireMinimalEncoding });\nconst opBoolAnd = ({ requireMinimalEncoding, }) => (state) => (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.useTwoScriptNumbers)(state, (nextState, [firstValue, secondValue]) => (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.pushToStack)(nextState, (0,_types__WEBPACK_IMPORTED_MODULE_1__.booleanToScriptNumber)(firstValue !== BigInt(0) && secondValue !== BigInt(0))), { requireMinimalEncoding });\nconst opBoolOr = ({ requireMinimalEncoding, }) => (state) => (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.useTwoScriptNumbers)(state, (nextState, [firstValue, secondValue]) => (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.pushToStack)(nextState, (0,_types__WEBPACK_IMPORTED_MODULE_1__.booleanToScriptNumber)(firstValue !== BigInt(0) || secondValue !== BigInt(0))), { requireMinimalEncoding });\nconst opNumEqual = ({ requireMinimalEncoding, }) => (state) => (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.useTwoScriptNumbers)(state, (nextState, [firstValue, secondValue]) => (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.pushToStack)(nextState, (0,_types__WEBPACK_IMPORTED_MODULE_1__.booleanToScriptNumber)(firstValue === secondValue)), { requireMinimalEncoding });\nconst opNumEqualVerify = (flags) => (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.combineOperations)(opNumEqual(flags), (0,_flow_control__WEBPACK_IMPORTED_MODULE_2__.opVerify)());\nconst opNumNotEqual = ({ requireMinimalEncoding, }) => (state) => (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.useTwoScriptNumbers)(state, (nextState, [firstValue, secondValue]) => (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.pushToStack)(nextState, (0,_types__WEBPACK_IMPORTED_MODULE_1__.booleanToScriptNumber)(firstValue !== secondValue)), { requireMinimalEncoding });\nconst opLessThan = ({ requireMinimalEncoding, }) => (state) => (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.useTwoScriptNumbers)(state, (nextState, [firstValue, secondValue]) => (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.pushToStack)(nextState, (0,_types__WEBPACK_IMPORTED_MODULE_1__.booleanToScriptNumber)(firstValue < secondValue)), { requireMinimalEncoding });\nconst opLessThanOrEqual = ({ requireMinimalEncoding, }) => (state) => (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.useTwoScriptNumbers)(state, (nextState, [firstValue, secondValue]) => (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.pushToStack)(nextState, (0,_types__WEBPACK_IMPORTED_MODULE_1__.booleanToScriptNumber)(firstValue <= secondValue)), { requireMinimalEncoding });\nconst opGreaterThan = ({ requireMinimalEncoding, }) => (state) => (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.useTwoScriptNumbers)(state, (nextState, [firstValue, secondValue]) => (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.pushToStack)(nextState, (0,_types__WEBPACK_IMPORTED_MODULE_1__.booleanToScriptNumber)(firstValue > secondValue)), { requireMinimalEncoding });\nconst opGreaterThanOrEqual = ({ requireMinimalEncoding, }) => (state) => (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.useTwoScriptNumbers)(state, (nextState, [firstValue, secondValue]) => (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.pushToStack)(nextState, (0,_types__WEBPACK_IMPORTED_MODULE_1__.booleanToScriptNumber)(firstValue >= secondValue)), { requireMinimalEncoding });\nconst opMin = ({ requireMinimalEncoding, }) => (state) => (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.useTwoScriptNumbers)(state, (nextState, [firstValue, secondValue]) => (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.pushToStack)(nextState, (0,_types__WEBPACK_IMPORTED_MODULE_1__.bigIntToScriptNumber)(firstValue < secondValue ? firstValue : secondValue)), { requireMinimalEncoding });\nconst opMax = ({ requireMinimalEncoding, }) => (state) => (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.useTwoScriptNumbers)(state, (nextState, [firstValue, secondValue]) => (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.pushToStack)(nextState, (0,_types__WEBPACK_IMPORTED_MODULE_1__.bigIntToScriptNumber)(firstValue > secondValue ? firstValue : secondValue)), { requireMinimalEncoding });\nconst opWithin = ({ requireMinimalEncoding, }) => (state) => (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.useThreeScriptNumbers)(state, (nextState, [firstValue, secondValue, thirdValue]) => (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.pushToStack)(nextState, (0,_types__WEBPACK_IMPORTED_MODULE_1__.booleanToScriptNumber)(secondValue <= firstValue && firstValue < thirdValue)), { requireMinimalEncoding });\nconst arithmeticOperations = (flags) => ({\n [_opcodes__WEBPACK_IMPORTED_MODULE_3__.OpcodesCommon.OP_1ADD]: op1Add(flags),\n [_opcodes__WEBPACK_IMPORTED_MODULE_3__.OpcodesCommon.OP_1SUB]: op1Sub(flags),\n [_opcodes__WEBPACK_IMPORTED_MODULE_3__.OpcodesCommon.OP_NEGATE]: opNegate(flags),\n [_opcodes__WEBPACK_IMPORTED_MODULE_3__.OpcodesCommon.OP_ABS]: opAbs(flags),\n [_opcodes__WEBPACK_IMPORTED_MODULE_3__.OpcodesCommon.OP_NOT]: opNot(flags),\n [_opcodes__WEBPACK_IMPORTED_MODULE_3__.OpcodesCommon.OP_0NOTEQUAL]: op0NotEqual(flags),\n [_opcodes__WEBPACK_IMPORTED_MODULE_3__.OpcodesCommon.OP_ADD]: opAdd(flags),\n [_opcodes__WEBPACK_IMPORTED_MODULE_3__.OpcodesCommon.OP_SUB]: opSub(flags),\n [_opcodes__WEBPACK_IMPORTED_MODULE_3__.OpcodesCommon.OP_BOOLAND]: opBoolAnd(flags),\n [_opcodes__WEBPACK_IMPORTED_MODULE_3__.OpcodesCommon.OP_BOOLOR]: opBoolOr(flags),\n [_opcodes__WEBPACK_IMPORTED_MODULE_3__.OpcodesCommon.OP_NUMEQUAL]: opNumEqual(flags),\n [_opcodes__WEBPACK_IMPORTED_MODULE_3__.OpcodesCommon.OP_NUMEQUALVERIFY]: opNumEqualVerify(flags),\n [_opcodes__WEBPACK_IMPORTED_MODULE_3__.OpcodesCommon.OP_NUMNOTEQUAL]: opNumNotEqual(flags),\n [_opcodes__WEBPACK_IMPORTED_MODULE_3__.OpcodesCommon.OP_LESSTHAN]: opLessThan(flags),\n [_opcodes__WEBPACK_IMPORTED_MODULE_3__.OpcodesCommon.OP_LESSTHANOREQUAL]: opLessThanOrEqual(flags),\n [_opcodes__WEBPACK_IMPORTED_MODULE_3__.OpcodesCommon.OP_GREATERTHAN]: opGreaterThan(flags),\n [_opcodes__WEBPACK_IMPORTED_MODULE_3__.OpcodesCommon.OP_GREATERTHANOREQUAL]: opGreaterThanOrEqual(flags),\n [_opcodes__WEBPACK_IMPORTED_MODULE_3__.OpcodesCommon.OP_MIN]: opMin(flags),\n [_opcodes__WEBPACK_IMPORTED_MODULE_3__.OpcodesCommon.OP_MAX]: opMax(flags),\n [_opcodes__WEBPACK_IMPORTED_MODULE_3__.OpcodesCommon.OP_WITHIN]: opWithin(flags),\n});\n//# sourceMappingURL=arithmetic.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/arithmetic.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/bitwise.js": +/*!**********************************************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/bitwise.js ***! + \**********************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ bitwiseOperations: () => (/* binding */ bitwiseOperations),\n/* harmony export */ opEqual: () => (/* binding */ opEqual),\n/* harmony export */ opEqualVerify: () => (/* binding */ opEqualVerify)\n/* harmony export */ });\n/* harmony import */ var _combinators__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./combinators */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/combinators.js\");\n/* harmony import */ var _flow_control__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./flow-control */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/flow-control.js\");\n/* harmony import */ var _opcodes__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./opcodes */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/opcodes.js\");\n/* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./types */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/types.js\");\n\n\n\n\nconst areEqual = (a, b) => {\n if (a.length !== b.length) {\n return false;\n }\n // eslint-disable-next-line functional/no-let, functional/no-loop-statement, no-plusplus\n for (let i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) {\n return false;\n }\n }\n return true;\n};\nconst opEqual = () => (state) => (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.useTwoStackItems)(state, (nextState, [element1, element2]) => (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.pushToStack)(nextState, (0,_types__WEBPACK_IMPORTED_MODULE_1__.booleanToScriptNumber)(areEqual(element1, element2))));\nconst opEqualVerify = () => (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.combineOperations)(opEqual(), (0,_flow_control__WEBPACK_IMPORTED_MODULE_2__.opVerify)());\nconst bitwiseOperations = () => ({\n [_opcodes__WEBPACK_IMPORTED_MODULE_3__.OpcodesCommon.OP_EQUAL]: opEqual(),\n [_opcodes__WEBPACK_IMPORTED_MODULE_3__.OpcodesCommon.OP_EQUALVERIFY]: opEqualVerify(),\n});\n//# sourceMappingURL=bitwise.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/bitwise.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/combinators.js": +/*!**************************************************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/combinators.js ***! + \**************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ combineOperations: () => (/* binding */ combineOperations),\n/* harmony export */ conditionallyEvaluate: () => (/* binding */ conditionallyEvaluate),\n/* harmony export */ incrementOperationCount: () => (/* binding */ incrementOperationCount),\n/* harmony export */ mapOverOperations: () => (/* binding */ mapOverOperations),\n/* harmony export */ pushToStack: () => (/* binding */ pushToStack),\n/* harmony export */ useFourStackItems: () => (/* binding */ useFourStackItems),\n/* harmony export */ useOneScriptNumber: () => (/* binding */ useOneScriptNumber),\n/* harmony export */ useOneStackItem: () => (/* binding */ useOneStackItem),\n/* harmony export */ useSixStackItems: () => (/* binding */ useSixStackItems),\n/* harmony export */ useThreeScriptNumbers: () => (/* binding */ useThreeScriptNumbers),\n/* harmony export */ useThreeStackItems: () => (/* binding */ useThreeStackItems),\n/* harmony export */ useTwoScriptNumbers: () => (/* binding */ useTwoScriptNumbers),\n/* harmony export */ useTwoStackItems: () => (/* binding */ useTwoStackItems)\n/* harmony export */ });\n/* harmony import */ var _common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./common */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/types.js\");\n/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./errors */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/errors.js\");\n\n\nconst incrementOperationCount = (operation) => (state) => {\n const nextState = operation(state);\n // eslint-disable-next-line functional/no-expression-statement, functional/immutable-data\n nextState.operationCount += 1;\n return nextState;\n};\nconst conditionallyEvaluate = (operation) => (state) => state.executionStack.every((item) => item) ? operation(state) : state;\n/**\n * Map a function over each operation in an `InstructionSet.operations` object,\n * assigning the result to the same `opcode` in the resulting object.\n * @param operations - an operations map from an `InstructionSet`\n * @param combinator - a function to apply to each operation\n */\nconst mapOverOperations = (operations, ...combinators) => Object.keys(operations).reduce((result, operation) => ({\n ...result,\n [operation]: combinators.reduce((op, combinator) => combinator(op), operations[parseInt(operation, 10)]),\n}), {});\n/**\n * Pop one stack item off of `state.stack` and provide that item to `operation`.\n */\nconst useOneStackItem = (state, operation) => {\n // eslint-disable-next-line functional/immutable-data\n const item = state.stack.pop();\n if (item === undefined) {\n return (0,_errors__WEBPACK_IMPORTED_MODULE_0__.applyError)(_errors__WEBPACK_IMPORTED_MODULE_0__.AuthenticationErrorCommon.emptyStack, state);\n }\n return operation(state, [item]);\n};\nconst useTwoStackItems = (state, operation) => useOneStackItem(state, (nextState, [valueTwo]) => useOneStackItem(nextState, (lastState, [valueTop]) => operation(lastState, [valueTop, valueTwo])));\nconst useThreeStackItems = (state, operation) => useOneStackItem(state, (nextState, [valueThree]) => useTwoStackItems(nextState, (lastState, [valueTop, valueTwo]) => operation(lastState, [valueTop, valueTwo, valueThree])));\nconst useFourStackItems = (state, operation) => useTwoStackItems(state, (nextState, [valueThree, valueFour]) => useTwoStackItems(nextState, (lastState, [valueTop, valueTwo]) => operation(lastState, [valueTop, valueTwo, valueThree, valueFour])));\nconst useSixStackItems = (state, operation) => useFourStackItems(state, (nextState, [valueThree, valueFour, valueFive, valueSix]) => useTwoStackItems(nextState, (lastState, [valueTop, valueTwo]) => operation(lastState, [\n valueTop,\n valueTwo,\n valueThree,\n valueFour,\n valueFive,\n valueSix,\n])));\nconst normalMaximumScriptNumberByteLength = 4;\nconst useOneScriptNumber = (state, operation, { requireMinimalEncoding, maximumScriptNumberByteLength = normalMaximumScriptNumberByteLength, }) => useOneStackItem(state, (nextState, [item]) => {\n const value = (0,_common__WEBPACK_IMPORTED_MODULE_1__.parseBytesAsScriptNumber)(item, {\n maximumScriptNumberByteLength,\n requireMinimalEncoding,\n });\n if ((0,_common__WEBPACK_IMPORTED_MODULE_1__.isScriptNumberError)(value)) {\n return (0,_errors__WEBPACK_IMPORTED_MODULE_0__.applyError)(_errors__WEBPACK_IMPORTED_MODULE_0__.AuthenticationErrorCommon.invalidScriptNumber, state);\n }\n return operation(nextState, [value]);\n});\nconst useTwoScriptNumbers = (state, operation, { requireMinimalEncoding, maximumScriptNumberByteLength = normalMaximumScriptNumberByteLength, }) => useOneScriptNumber(state, (nextState, [secondValue]) => useOneScriptNumber(nextState, (lastState, [firstValue]) => operation(lastState, [firstValue, secondValue]), { maximumScriptNumberByteLength, requireMinimalEncoding }), { maximumScriptNumberByteLength, requireMinimalEncoding });\nconst useThreeScriptNumbers = (state, operation, { requireMinimalEncoding, maximumScriptNumberByteLength = normalMaximumScriptNumberByteLength, }) => useTwoScriptNumbers(state, (nextState, [secondValue, thirdValue]) => useOneScriptNumber(nextState, (lastState, [firstValue]) => operation(lastState, [firstValue, secondValue, thirdValue]), { maximumScriptNumberByteLength, requireMinimalEncoding }), { maximumScriptNumberByteLength, requireMinimalEncoding });\n/**\n * Return the provided state with the provided value pushed to its stack.\n * @param state - the state to update and return\n * @param data - the value to push to the stack\n */\nconst pushToStack = (state, ...data) => {\n // eslint-disable-next-line functional/no-expression-statement, functional/immutable-data\n state.stack.push(...data);\n return state;\n};\n// TODO: if firstOperation errors, secondOperation might overwrite the error\nconst combineOperations = (firstOperation, secondOperation) => (state) => secondOperation(firstOperation(state));\n//# sourceMappingURL=combinators.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/combinators.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/common.js": +/*!*********************************************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/common.js ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AuthenticationErrorCommon: () => (/* reexport safe */ _errors__WEBPACK_IMPORTED_MODULE_6__.AuthenticationErrorCommon),\n/* harmony export */ ConsensusCommon: () => (/* binding */ ConsensusCommon),\n/* harmony export */ OpcodeDescriptionsCommon: () => (/* reexport safe */ _descriptions__WEBPACK_IMPORTED_MODULE_4__.OpcodeDescriptionsCommon),\n/* harmony export */ OpcodesCommon: () => (/* reexport safe */ _opcodes__WEBPACK_IMPORTED_MODULE_9__.OpcodesCommon),\n/* harmony export */ PushOperationConstants: () => (/* reexport safe */ _push__WEBPACK_IMPORTED_MODULE_10__.PushOperationConstants),\n/* harmony export */ ScriptNumberError: () => (/* reexport safe */ _types__WEBPACK_IMPORTED_MODULE_15__.ScriptNumberError),\n/* harmony export */ SigningSerializationFlag: () => (/* reexport safe */ _signing_serialization__WEBPACK_IMPORTED_MODULE_11__.SigningSerializationFlag),\n/* harmony export */ applyError: () => (/* reexport safe */ _errors__WEBPACK_IMPORTED_MODULE_6__.applyError),\n/* harmony export */ arithmeticOperations: () => (/* reexport safe */ _arithmetic__WEBPACK_IMPORTED_MODULE_0__.arithmeticOperations),\n/* harmony export */ bigIntToScriptNumber: () => (/* reexport safe */ _types__WEBPACK_IMPORTED_MODULE_15__.bigIntToScriptNumber),\n/* harmony export */ bitwiseOperations: () => (/* reexport safe */ _bitwise__WEBPACK_IMPORTED_MODULE_1__.bitwiseOperations),\n/* harmony export */ booleanToScriptNumber: () => (/* reexport safe */ _types__WEBPACK_IMPORTED_MODULE_15__.booleanToScriptNumber),\n/* harmony export */ checkLimitsCommon: () => (/* binding */ checkLimitsCommon),\n/* harmony export */ cloneAuthenticationProgramStateCommon: () => (/* binding */ cloneAuthenticationProgramStateCommon),\n/* harmony export */ cloneStack: () => (/* binding */ cloneStack),\n/* harmony export */ combineOperations: () => (/* reexport safe */ _combinators__WEBPACK_IMPORTED_MODULE_2__.combineOperations),\n/* harmony export */ commonOperations: () => (/* binding */ commonOperations),\n/* harmony export */ conditionalFlowControlOperations: () => (/* reexport safe */ _flow_control__WEBPACK_IMPORTED_MODULE_7__.conditionalFlowControlOperations),\n/* harmony export */ conditionallyEvaluate: () => (/* reexport safe */ _combinators__WEBPACK_IMPORTED_MODULE_2__.conditionallyEvaluate),\n/* harmony export */ createAuthenticationProgramInternalStateCommon: () => (/* binding */ createAuthenticationProgramInternalStateCommon),\n/* harmony export */ createAuthenticationProgramStateCommon: () => (/* binding */ createAuthenticationProgramStateCommon),\n/* harmony export */ createAuthenticationProgramStateCommonEmpty: () => (/* binding */ createAuthenticationProgramStateCommonEmpty),\n/* harmony export */ createTransactionContextCommon: () => (/* binding */ createTransactionContextCommon),\n/* harmony export */ createTransactionContextCommonEmpty: () => (/* binding */ createTransactionContextCommonEmpty),\n/* harmony export */ createTransactionContextCommonTesting: () => (/* binding */ createTransactionContextCommonTesting),\n/* harmony export */ cryptoOperations: () => (/* reexport safe */ _crypto__WEBPACK_IMPORTED_MODULE_3__.cryptoOperations),\n/* harmony export */ decodeBitcoinSignature: () => (/* reexport safe */ _encoding__WEBPACK_IMPORTED_MODULE_5__.decodeBitcoinSignature),\n/* harmony export */ disabledOperation: () => (/* reexport safe */ _nop__WEBPACK_IMPORTED_MODULE_8__.disabledOperation),\n/* harmony export */ disabledOperations: () => (/* reexport safe */ _nop__WEBPACK_IMPORTED_MODULE_8__.disabledOperations),\n/* harmony export */ encodeDataPush: () => (/* reexport safe */ _push__WEBPACK_IMPORTED_MODULE_10__.encodeDataPush),\n/* harmony export */ generateSigningSerializationBCH: () => (/* reexport safe */ _signing_serialization__WEBPACK_IMPORTED_MODULE_11__.generateSigningSerializationBCH),\n/* harmony export */ hashOutputs: () => (/* reexport safe */ _signing_serialization__WEBPACK_IMPORTED_MODULE_11__.hashOutputs),\n/* harmony export */ hashPrevouts: () => (/* reexport safe */ _signing_serialization__WEBPACK_IMPORTED_MODULE_11__.hashPrevouts),\n/* harmony export */ hashSequence: () => (/* reexport safe */ _signing_serialization__WEBPACK_IMPORTED_MODULE_11__.hashSequence),\n/* harmony export */ incrementOperationCount: () => (/* reexport safe */ _combinators__WEBPACK_IMPORTED_MODULE_2__.incrementOperationCount),\n/* harmony export */ isDefinedSigningSerializationType: () => (/* reexport safe */ _signing_serialization__WEBPACK_IMPORTED_MODULE_11__.isDefinedSigningSerializationType),\n/* harmony export */ isLegacySigningSerialization: () => (/* reexport safe */ _signing_serialization__WEBPACK_IMPORTED_MODULE_11__.isLegacySigningSerialization),\n/* harmony export */ isMinimalDataPush: () => (/* reexport safe */ _push__WEBPACK_IMPORTED_MODULE_10__.isMinimalDataPush),\n/* harmony export */ isScriptNumberError: () => (/* reexport safe */ _types__WEBPACK_IMPORTED_MODULE_15__.isScriptNumberError),\n/* harmony export */ isValidCompressedPublicKeyEncoding: () => (/* reexport safe */ _encoding__WEBPACK_IMPORTED_MODULE_5__.isValidCompressedPublicKeyEncoding),\n/* harmony export */ isValidPublicKeyEncoding: () => (/* reexport safe */ _encoding__WEBPACK_IMPORTED_MODULE_5__.isValidPublicKeyEncoding),\n/* harmony export */ isValidSignatureEncodingBCHTransaction: () => (/* reexport safe */ _encoding__WEBPACK_IMPORTED_MODULE_5__.isValidSignatureEncodingBCHTransaction),\n/* harmony export */ isValidSignatureEncodingDER: () => (/* reexport safe */ _encoding__WEBPACK_IMPORTED_MODULE_5__.isValidSignatureEncodingDER),\n/* harmony export */ isValidUncompressedPublicKeyEncoding: () => (/* reexport safe */ _encoding__WEBPACK_IMPORTED_MODULE_5__.isValidUncompressedPublicKeyEncoding),\n/* harmony export */ mapOverOperations: () => (/* reexport safe */ _combinators__WEBPACK_IMPORTED_MODULE_2__.mapOverOperations),\n/* harmony export */ nonOperations: () => (/* reexport safe */ _nop__WEBPACK_IMPORTED_MODULE_8__.nonOperations),\n/* harmony export */ op0NotEqual: () => (/* reexport safe */ _arithmetic__WEBPACK_IMPORTED_MODULE_0__.op0NotEqual),\n/* harmony export */ op1Add: () => (/* reexport safe */ _arithmetic__WEBPACK_IMPORTED_MODULE_0__.op1Add),\n/* harmony export */ op1Sub: () => (/* reexport safe */ _arithmetic__WEBPACK_IMPORTED_MODULE_0__.op1Sub),\n/* harmony export */ op2Drop: () => (/* reexport safe */ _stack__WEBPACK_IMPORTED_MODULE_13__.op2Drop),\n/* harmony export */ op2Dup: () => (/* reexport safe */ _stack__WEBPACK_IMPORTED_MODULE_13__.op2Dup),\n/* harmony export */ op2Over: () => (/* reexport safe */ _stack__WEBPACK_IMPORTED_MODULE_13__.op2Over),\n/* harmony export */ op2Rot: () => (/* reexport safe */ _stack__WEBPACK_IMPORTED_MODULE_13__.op2Rot),\n/* harmony export */ op2Swap: () => (/* reexport safe */ _stack__WEBPACK_IMPORTED_MODULE_13__.op2Swap),\n/* harmony export */ op3Dup: () => (/* reexport safe */ _stack__WEBPACK_IMPORTED_MODULE_13__.op3Dup),\n/* harmony export */ opAbs: () => (/* reexport safe */ _arithmetic__WEBPACK_IMPORTED_MODULE_0__.opAbs),\n/* harmony export */ opAdd: () => (/* reexport safe */ _arithmetic__WEBPACK_IMPORTED_MODULE_0__.opAdd),\n/* harmony export */ opBoolAnd: () => (/* reexport safe */ _arithmetic__WEBPACK_IMPORTED_MODULE_0__.opBoolAnd),\n/* harmony export */ opBoolOr: () => (/* reexport safe */ _arithmetic__WEBPACK_IMPORTED_MODULE_0__.opBoolOr),\n/* harmony export */ opCheckLockTimeVerify: () => (/* reexport safe */ _time__WEBPACK_IMPORTED_MODULE_14__.opCheckLockTimeVerify),\n/* harmony export */ opCheckMultiSig: () => (/* reexport safe */ _crypto__WEBPACK_IMPORTED_MODULE_3__.opCheckMultiSig),\n/* harmony export */ opCheckMultiSigVerify: () => (/* reexport safe */ _crypto__WEBPACK_IMPORTED_MODULE_3__.opCheckMultiSigVerify),\n/* harmony export */ opCheckSequenceVerify: () => (/* reexport safe */ _time__WEBPACK_IMPORTED_MODULE_14__.opCheckSequenceVerify),\n/* harmony export */ opCheckSig: () => (/* reexport safe */ _crypto__WEBPACK_IMPORTED_MODULE_3__.opCheckSig),\n/* harmony export */ opCheckSigVerify: () => (/* reexport safe */ _crypto__WEBPACK_IMPORTED_MODULE_3__.opCheckSigVerify),\n/* harmony export */ opCodeSeparator: () => (/* reexport safe */ _crypto__WEBPACK_IMPORTED_MODULE_3__.opCodeSeparator),\n/* harmony export */ opDepth: () => (/* reexport safe */ _stack__WEBPACK_IMPORTED_MODULE_13__.opDepth),\n/* harmony export */ opDrop: () => (/* reexport safe */ _stack__WEBPACK_IMPORTED_MODULE_13__.opDrop),\n/* harmony export */ opDup: () => (/* reexport safe */ _stack__WEBPACK_IMPORTED_MODULE_13__.opDup),\n/* harmony export */ opElse: () => (/* reexport safe */ _flow_control__WEBPACK_IMPORTED_MODULE_7__.opElse),\n/* harmony export */ opEndIf: () => (/* reexport safe */ _flow_control__WEBPACK_IMPORTED_MODULE_7__.opEndIf),\n/* harmony export */ opEqual: () => (/* reexport safe */ _bitwise__WEBPACK_IMPORTED_MODULE_1__.opEqual),\n/* harmony export */ opEqualVerify: () => (/* reexport safe */ _bitwise__WEBPACK_IMPORTED_MODULE_1__.opEqualVerify),\n/* harmony export */ opFromAltStack: () => (/* reexport safe */ _stack__WEBPACK_IMPORTED_MODULE_13__.opFromAltStack),\n/* harmony export */ opGreaterThan: () => (/* reexport safe */ _arithmetic__WEBPACK_IMPORTED_MODULE_0__.opGreaterThan),\n/* harmony export */ opGreaterThanOrEqual: () => (/* reexport safe */ _arithmetic__WEBPACK_IMPORTED_MODULE_0__.opGreaterThanOrEqual),\n/* harmony export */ opHash160: () => (/* reexport safe */ _crypto__WEBPACK_IMPORTED_MODULE_3__.opHash160),\n/* harmony export */ opHash256: () => (/* reexport safe */ _crypto__WEBPACK_IMPORTED_MODULE_3__.opHash256),\n/* harmony export */ opIf: () => (/* reexport safe */ _flow_control__WEBPACK_IMPORTED_MODULE_7__.opIf),\n/* harmony export */ opIfDup: () => (/* reexport safe */ _stack__WEBPACK_IMPORTED_MODULE_13__.opIfDup),\n/* harmony export */ opLessThan: () => (/* reexport safe */ _arithmetic__WEBPACK_IMPORTED_MODULE_0__.opLessThan),\n/* harmony export */ opLessThanOrEqual: () => (/* reexport safe */ _arithmetic__WEBPACK_IMPORTED_MODULE_0__.opLessThanOrEqual),\n/* harmony export */ opMax: () => (/* reexport safe */ _arithmetic__WEBPACK_IMPORTED_MODULE_0__.opMax),\n/* harmony export */ opMin: () => (/* reexport safe */ _arithmetic__WEBPACK_IMPORTED_MODULE_0__.opMin),\n/* harmony export */ opNegate: () => (/* reexport safe */ _arithmetic__WEBPACK_IMPORTED_MODULE_0__.opNegate),\n/* harmony export */ opNip: () => (/* reexport safe */ _stack__WEBPACK_IMPORTED_MODULE_13__.opNip),\n/* harmony export */ opNop: () => (/* reexport safe */ _nop__WEBPACK_IMPORTED_MODULE_8__.opNop),\n/* harmony export */ opNot: () => (/* reexport safe */ _arithmetic__WEBPACK_IMPORTED_MODULE_0__.opNot),\n/* harmony export */ opNotIf: () => (/* reexport safe */ _flow_control__WEBPACK_IMPORTED_MODULE_7__.opNotIf),\n/* harmony export */ opNumEqual: () => (/* reexport safe */ _arithmetic__WEBPACK_IMPORTED_MODULE_0__.opNumEqual),\n/* harmony export */ opNumEqualVerify: () => (/* reexport safe */ _arithmetic__WEBPACK_IMPORTED_MODULE_0__.opNumEqualVerify),\n/* harmony export */ opNumNotEqual: () => (/* reexport safe */ _arithmetic__WEBPACK_IMPORTED_MODULE_0__.opNumNotEqual),\n/* harmony export */ opOver: () => (/* reexport safe */ _stack__WEBPACK_IMPORTED_MODULE_13__.opOver),\n/* harmony export */ opPick: () => (/* reexport safe */ _stack__WEBPACK_IMPORTED_MODULE_13__.opPick),\n/* harmony export */ opReturn: () => (/* reexport safe */ _flow_control__WEBPACK_IMPORTED_MODULE_7__.opReturn),\n/* harmony export */ opRipemd160: () => (/* reexport safe */ _crypto__WEBPACK_IMPORTED_MODULE_3__.opRipemd160),\n/* harmony export */ opRoll: () => (/* reexport safe */ _stack__WEBPACK_IMPORTED_MODULE_13__.opRoll),\n/* harmony export */ opRot: () => (/* reexport safe */ _stack__WEBPACK_IMPORTED_MODULE_13__.opRot),\n/* harmony export */ opSha1: () => (/* reexport safe */ _crypto__WEBPACK_IMPORTED_MODULE_3__.opSha1),\n/* harmony export */ opSha256: () => (/* reexport safe */ _crypto__WEBPACK_IMPORTED_MODULE_3__.opSha256),\n/* harmony export */ opSize: () => (/* reexport safe */ _splice__WEBPACK_IMPORTED_MODULE_12__.opSize),\n/* harmony export */ opSub: () => (/* reexport safe */ _arithmetic__WEBPACK_IMPORTED_MODULE_0__.opSub),\n/* harmony export */ opSwap: () => (/* reexport safe */ _stack__WEBPACK_IMPORTED_MODULE_13__.opSwap),\n/* harmony export */ opToAltStack: () => (/* reexport safe */ _stack__WEBPACK_IMPORTED_MODULE_13__.opToAltStack),\n/* harmony export */ opTuck: () => (/* reexport safe */ _stack__WEBPACK_IMPORTED_MODULE_13__.opTuck),\n/* harmony export */ opVerify: () => (/* reexport safe */ _flow_control__WEBPACK_IMPORTED_MODULE_7__.opVerify),\n/* harmony export */ opWithin: () => (/* reexport safe */ _arithmetic__WEBPACK_IMPORTED_MODULE_0__.opWithin),\n/* harmony export */ parseBytesAsScriptNumber: () => (/* reexport safe */ _types__WEBPACK_IMPORTED_MODULE_15__.parseBytesAsScriptNumber),\n/* harmony export */ pushByteOpcodes: () => (/* reexport safe */ _push__WEBPACK_IMPORTED_MODULE_10__.pushByteOpcodes),\n/* harmony export */ pushNumberOpcodes: () => (/* reexport safe */ _push__WEBPACK_IMPORTED_MODULE_10__.pushNumberOpcodes),\n/* harmony export */ pushNumberOperations: () => (/* reexport safe */ _push__WEBPACK_IMPORTED_MODULE_10__.pushNumberOperations),\n/* harmony export */ pushOperation: () => (/* reexport safe */ _push__WEBPACK_IMPORTED_MODULE_10__.pushOperation),\n/* harmony export */ pushOperations: () => (/* reexport safe */ _push__WEBPACK_IMPORTED_MODULE_10__.pushOperations),\n/* harmony export */ pushToStack: () => (/* reexport safe */ _combinators__WEBPACK_IMPORTED_MODULE_2__.pushToStack),\n/* harmony export */ readLocktime: () => (/* reexport safe */ _time__WEBPACK_IMPORTED_MODULE_14__.readLocktime),\n/* harmony export */ reservedOperation: () => (/* reexport safe */ _flow_control__WEBPACK_IMPORTED_MODULE_7__.reservedOperation),\n/* harmony export */ spliceOperations: () => (/* reexport safe */ _splice__WEBPACK_IMPORTED_MODULE_12__.spliceOperations),\n/* harmony export */ stackItemIsTruthy: () => (/* reexport safe */ _types__WEBPACK_IMPORTED_MODULE_15__.stackItemIsTruthy),\n/* harmony export */ stackOperations: () => (/* reexport safe */ _stack__WEBPACK_IMPORTED_MODULE_13__.stackOperations),\n/* harmony export */ timeOperations: () => (/* reexport safe */ _time__WEBPACK_IMPORTED_MODULE_14__.timeOperations),\n/* harmony export */ unconditionalFlowControlOperations: () => (/* reexport safe */ _flow_control__WEBPACK_IMPORTED_MODULE_7__.unconditionalFlowControlOperations),\n/* harmony export */ undefinedOperation: () => (/* binding */ undefinedOperation),\n/* harmony export */ useFourStackItems: () => (/* reexport safe */ _combinators__WEBPACK_IMPORTED_MODULE_2__.useFourStackItems),\n/* harmony export */ useOneScriptNumber: () => (/* reexport safe */ _combinators__WEBPACK_IMPORTED_MODULE_2__.useOneScriptNumber),\n/* harmony export */ useOneStackItem: () => (/* reexport safe */ _combinators__WEBPACK_IMPORTED_MODULE_2__.useOneStackItem),\n/* harmony export */ useSixStackItems: () => (/* reexport safe */ _combinators__WEBPACK_IMPORTED_MODULE_2__.useSixStackItems),\n/* harmony export */ useThreeScriptNumbers: () => (/* reexport safe */ _combinators__WEBPACK_IMPORTED_MODULE_2__.useThreeScriptNumbers),\n/* harmony export */ useThreeStackItems: () => (/* reexport safe */ _combinators__WEBPACK_IMPORTED_MODULE_2__.useThreeStackItems),\n/* harmony export */ useTwoScriptNumbers: () => (/* reexport safe */ _combinators__WEBPACK_IMPORTED_MODULE_2__.useTwoScriptNumbers),\n/* harmony export */ useTwoStackItems: () => (/* reexport safe */ _combinators__WEBPACK_IMPORTED_MODULE_2__.useTwoStackItems)\n/* harmony export */ });\n/* harmony import */ var _transaction_transaction_serialization__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../../../transaction/transaction-serialization */ \"./node_modules/@bitauth/libauth/build/module/lib/transaction/transaction-serialization.js\");\n/* harmony import */ var _arithmetic__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arithmetic */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/arithmetic.js\");\n/* harmony import */ var _bitwise__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./bitwise */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/bitwise.js\");\n/* harmony import */ var _combinators__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./combinators */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/combinators.js\");\n/* harmony import */ var _crypto__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./crypto */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/crypto.js\");\n/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./errors */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/errors.js\");\n/* harmony import */ var _flow_control__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./flow-control */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/flow-control.js\");\n/* harmony import */ var _nop__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./nop */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/nop.js\");\n/* harmony import */ var _opcodes__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./opcodes */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/opcodes.js\");\n/* harmony import */ var _push__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./push */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/push.js\");\n/* harmony import */ var _splice__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./splice */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/splice.js\");\n/* harmony import */ var _stack__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./stack */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/stack.js\");\n/* harmony import */ var _time__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./time */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/time.js\");\n/* harmony import */ var _descriptions__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./descriptions */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/descriptions.js\");\n/* harmony import */ var _encoding__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./encoding */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/encoding.js\");\n/* harmony import */ var _signing_serialization__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./signing-serialization */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/signing-serialization.js\");\n/* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./types */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/types.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar ConsensusCommon;\n(function (ConsensusCommon) {\n /**\n * A.K.A. `MAX_SCRIPT_ELEMENT_SIZE`\n */\n ConsensusCommon[ConsensusCommon[\"maximumStackItemLength\"] = 520] = \"maximumStackItemLength\";\n ConsensusCommon[ConsensusCommon[\"maximumScriptNumberLength\"] = 4] = \"maximumScriptNumberLength\";\n /**\n * A.K.A. `MAX_OPS_PER_SCRIPT`\n */\n ConsensusCommon[ConsensusCommon[\"maximumOperationCount\"] = 201] = \"maximumOperationCount\";\n /**\n * A.K.A. `MAX_SCRIPT_SIZE`\n */\n ConsensusCommon[ConsensusCommon[\"maximumBytecodeLength\"] = 10000] = \"maximumBytecodeLength\";\n /**\n * A.K.A. `MAX_STACK_SIZE`\n */\n ConsensusCommon[ConsensusCommon[\"maximumStackDepth\"] = 1000] = \"maximumStackDepth\";\n})(ConsensusCommon || (ConsensusCommon = {}));\nconst undefinedOperation = () => ({\n undefined: (0,_combinators__WEBPACK_IMPORTED_MODULE_2__.conditionallyEvaluate)((state) => (0,_errors__WEBPACK_IMPORTED_MODULE_6__.applyError)(_errors__WEBPACK_IMPORTED_MODULE_6__.AuthenticationErrorCommon.unknownOpcode, state)),\n});\nconst checkLimitsCommon = (operation) => (state) => {\n const nextState = operation(state);\n return nextState.stack.length + nextState.alternateStack.length >\n ConsensusCommon.maximumStackDepth\n ? (0,_errors__WEBPACK_IMPORTED_MODULE_6__.applyError)(_errors__WEBPACK_IMPORTED_MODULE_6__.AuthenticationErrorCommon.exceededMaximumStackDepth, nextState)\n : nextState.operationCount > ConsensusCommon.maximumOperationCount\n ? (0,_errors__WEBPACK_IMPORTED_MODULE_6__.applyError)(_errors__WEBPACK_IMPORTED_MODULE_6__.AuthenticationErrorCommon.exceededMaximumOperationCount, nextState)\n : nextState;\n};\nconst commonOperations = ({ flags, ripemd160, secp256k1, sha1, sha256, }) => {\n const unconditionalOperations = {\n ...(0,_nop__WEBPACK_IMPORTED_MODULE_8__.disabledOperations)(),\n ...(0,_push__WEBPACK_IMPORTED_MODULE_10__.pushOperations)(flags),\n ...(0,_combinators__WEBPACK_IMPORTED_MODULE_2__.mapOverOperations)((0,_flow_control__WEBPACK_IMPORTED_MODULE_7__.unconditionalFlowControlOperations)(flags), _combinators__WEBPACK_IMPORTED_MODULE_2__.incrementOperationCount),\n };\n const conditionalOperations = (0,_combinators__WEBPACK_IMPORTED_MODULE_2__.mapOverOperations)({\n ...(0,_push__WEBPACK_IMPORTED_MODULE_10__.pushNumberOperations)(),\n [_opcodes__WEBPACK_IMPORTED_MODULE_9__.OpcodesCommon.OP_RESERVED]: (0,_flow_control__WEBPACK_IMPORTED_MODULE_7__.reservedOperation)(),\n }, _combinators__WEBPACK_IMPORTED_MODULE_2__.conditionallyEvaluate);\n const incrementingOperations = (0,_combinators__WEBPACK_IMPORTED_MODULE_2__.mapOverOperations)({\n ...(0,_arithmetic__WEBPACK_IMPORTED_MODULE_0__.arithmeticOperations)(flags),\n ...(0,_bitwise__WEBPACK_IMPORTED_MODULE_1__.bitwiseOperations)(),\n ...(0,_crypto__WEBPACK_IMPORTED_MODULE_3__.cryptoOperations)({\n flags,\n ripemd160,\n secp256k1,\n sha1,\n sha256,\n }),\n ...(0,_flow_control__WEBPACK_IMPORTED_MODULE_7__.conditionalFlowControlOperations)(),\n ...(0,_stack__WEBPACK_IMPORTED_MODULE_13__.stackOperations)(flags),\n ...(0,_splice__WEBPACK_IMPORTED_MODULE_12__.spliceOperations)(),\n ...(0,_time__WEBPACK_IMPORTED_MODULE_14__.timeOperations)(flags),\n ...(0,_nop__WEBPACK_IMPORTED_MODULE_8__.nonOperations)(flags),\n }, _combinators__WEBPACK_IMPORTED_MODULE_2__.conditionallyEvaluate, _combinators__WEBPACK_IMPORTED_MODULE_2__.incrementOperationCount);\n return (0,_combinators__WEBPACK_IMPORTED_MODULE_2__.mapOverOperations)({\n ...unconditionalOperations,\n ...incrementingOperations,\n ...conditionalOperations,\n }, checkLimitsCommon);\n};\nconst cloneStack = (stack) => stack.reduce((newStack, element) => {\n // eslint-disable-next-line functional/no-expression-statement, functional/immutable-data\n newStack.push(element.slice());\n return newStack;\n}, []);\nconst createAuthenticationProgramInternalStateCommon = ({ instructions, stack = [], }) => ({\n alternateStack: [],\n executionStack: [],\n instructions,\n ip: 0,\n lastCodeSeparator: -1,\n operationCount: 0,\n signatureOperationsCount: 0,\n signedMessages: [],\n stack,\n});\nconst createTransactionContextCommon = (program) => ({\n correspondingOutput: program.inputIndex < program.spendingTransaction.outputs.length\n ? (0,_transaction_transaction_serialization__WEBPACK_IMPORTED_MODULE_16__.encodeOutput)(program.spendingTransaction.outputs[program.inputIndex])\n : undefined,\n locktime: program.spendingTransaction.locktime,\n outpointIndex: program.spendingTransaction.inputs[program.inputIndex].outpointIndex,\n outpointTransactionHash: program.spendingTransaction.inputs[program.inputIndex]\n .outpointTransactionHash,\n outputValue: program.sourceOutput.satoshis,\n sequenceNumber: program.spendingTransaction.inputs[program.inputIndex].sequenceNumber,\n transactionOutpoints: (0,_transaction_transaction_serialization__WEBPACK_IMPORTED_MODULE_16__.encodeOutpoints)(program.spendingTransaction.inputs),\n transactionOutputs: (0,_transaction_transaction_serialization__WEBPACK_IMPORTED_MODULE_16__.encodeOutputsForSigning)(program.spendingTransaction.outputs),\n transactionSequenceNumbers: (0,_transaction_transaction_serialization__WEBPACK_IMPORTED_MODULE_16__.encodeSequenceNumbersForSigning)(program.spendingTransaction.inputs),\n version: program.spendingTransaction.version,\n});\nconst createAuthenticationProgramStateCommon = ({ transactionContext, instructions, stack, }) => ({\n ...createAuthenticationProgramInternalStateCommon({\n instructions,\n stack,\n }),\n ...transactionContext,\n});\n/**\n * Note: this implementation does not safely clone elements within array\n * properties. Mutating values within arrays will mutate those values in cloned\n * program states.\n */\nconst cloneAuthenticationProgramStateCommon = (state) => ({\n ...(state.error === undefined ? {} : { error: state.error }),\n alternateStack: state.alternateStack.slice(),\n correspondingOutput: state.correspondingOutput,\n executionStack: state.executionStack.slice(),\n instructions: state.instructions.slice(),\n ip: state.ip,\n lastCodeSeparator: state.lastCodeSeparator,\n locktime: state.locktime,\n operationCount: state.operationCount,\n outpointIndex: state.outpointIndex,\n outpointTransactionHash: state.outpointTransactionHash.slice(),\n outputValue: state.outputValue,\n sequenceNumber: state.sequenceNumber,\n signatureOperationsCount: state.signatureOperationsCount,\n signedMessages: state.signedMessages.slice(),\n stack: state.stack.slice(),\n transactionOutpoints: state.transactionOutpoints,\n transactionOutputs: state.transactionOutputs,\n transactionSequenceNumbers: state.transactionSequenceNumbers,\n version: state.version,\n});\nconst sha256HashLength = 32;\nconst outputValueLength = 8;\n/**\n * This is a meaningless but complete `TransactionContextCommon` which uses `0`\n * values for each property.\n */\nconst createTransactionContextCommonEmpty = () => ({\n correspondingOutput: Uint8Array.of(0),\n locktime: 0,\n outpointIndex: 0,\n outpointTransactionHash: new Uint8Array(sha256HashLength),\n outputValue: new Uint8Array(outputValueLength),\n sequenceNumber: 0,\n transactionOutpoints: Uint8Array.of(0),\n transactionOutputs: Uint8Array.of(0),\n transactionSequenceNumbers: Uint8Array.of(0),\n version: 0,\n});\nconst correspondingOutput = 1;\nconst transactionOutpoints = 2;\nconst transactionOutputs = 3;\nconst transactionSequenceNumbers = 4;\nconst outpointTransactionHashFill = 5;\n/**\n * This is a meaningless but complete `TransactionContextCommon` which uses a\n * different value for each property. This is useful for testing and debugging.\n */\nconst createTransactionContextCommonTesting = () => ({\n correspondingOutput: Uint8Array.of(correspondingOutput),\n locktime: 0,\n outpointIndex: 0,\n outpointTransactionHash: new Uint8Array(sha256HashLength).fill(outpointTransactionHashFill),\n outputValue: new Uint8Array(outputValueLength),\n sequenceNumber: 0,\n transactionOutpoints: Uint8Array.of(transactionOutpoints),\n transactionOutputs: Uint8Array.of(transactionOutputs),\n transactionSequenceNumbers: Uint8Array.of(transactionSequenceNumbers),\n version: 0,\n});\n/**\n * Create an \"empty\" common authentication program state, suitable for testing a\n * VM/compiler.\n */\nconst createAuthenticationProgramStateCommonEmpty = ({ instructions, stack = [], }) => ({\n ...createAuthenticationProgramInternalStateCommon({ instructions, stack }),\n ...createTransactionContextCommonEmpty(),\n});\n//# sourceMappingURL=common.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/common.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/crypto.js": +/*!*********************************************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/crypto.js ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ cryptoOperations: () => (/* binding */ cryptoOperations),\n/* harmony export */ opCheckMultiSig: () => (/* binding */ opCheckMultiSig),\n/* harmony export */ opCheckMultiSigVerify: () => (/* binding */ opCheckMultiSigVerify),\n/* harmony export */ opCheckSig: () => (/* binding */ opCheckSig),\n/* harmony export */ opCheckSigVerify: () => (/* binding */ opCheckSigVerify),\n/* harmony export */ opCodeSeparator: () => (/* binding */ opCodeSeparator),\n/* harmony export */ opHash160: () => (/* binding */ opHash160),\n/* harmony export */ opHash256: () => (/* binding */ opHash256),\n/* harmony export */ opRipemd160: () => (/* binding */ opRipemd160),\n/* harmony export */ opSha1: () => (/* binding */ opSha1),\n/* harmony export */ opSha256: () => (/* binding */ opSha256)\n/* harmony export */ });\n/* harmony import */ var _bch_bch_types__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../bch/bch-types */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/bch/bch-types.js\");\n/* harmony import */ var _instruction_sets_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../instruction-sets-utils */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/instruction-sets-utils.js\");\n/* harmony import */ var _combinators__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./combinators */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/combinators.js\");\n/* harmony import */ var _common__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./common */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/types.js\");\n/* harmony import */ var _common__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./common */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/common.js\");\n/* harmony import */ var _encoding__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./encoding */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/encoding.js\");\n/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./errors */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/errors.js\");\n/* harmony import */ var _flow_control__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./flow-control */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/flow-control.js\");\n/* harmony import */ var _opcodes__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./opcodes */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/opcodes.js\");\n/* harmony import */ var _signing_serialization__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./signing-serialization */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/signing-serialization.js\");\n\n\n\n\n\n\n\n\n\nconst opRipemd160 = ({ ripemd160, }) => (state) => (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.useOneStackItem)(state, (nextState, [value]) => (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.pushToStack)(nextState, ripemd160.hash(value)));\nconst opSha1 = ({ sha1, }) => (state) => (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.useOneStackItem)(state, (nextState, [value]) => (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.pushToStack)(nextState, sha1.hash(value)));\nconst opSha256 = ({ sha256, }) => (state) => (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.useOneStackItem)(state, (nextState, [value]) => (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.pushToStack)(nextState, sha256.hash(value)));\nconst opHash160 = ({ ripemd160, sha256, }) => (state) => (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.useOneStackItem)(state, (nextState, [value]) => (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.pushToStack)(nextState, ripemd160.hash(sha256.hash(value))));\nconst opHash256 = ({ sha256, }) => (state) => (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.useOneStackItem)(state, (nextState, [value]) => (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.pushToStack)(nextState, sha256.hash(sha256.hash(value))));\nconst opCodeSeparator = () => (state) => {\n // eslint-disable-next-line functional/no-expression-statement, functional/immutable-data\n state.lastCodeSeparator = state.ip;\n return state;\n};\nconst opCheckSig = ({ flags, secp256k1, sha256, }) => (s) => \n// eslint-disable-next-line complexity\n(0,_combinators__WEBPACK_IMPORTED_MODULE_0__.useTwoStackItems)(s, (state, [bitcoinEncodedSignature, publicKey]) => {\n if (!(0,_encoding__WEBPACK_IMPORTED_MODULE_1__.isValidPublicKeyEncoding)(publicKey)) {\n return (0,_errors__WEBPACK_IMPORTED_MODULE_2__.applyError)(_errors__WEBPACK_IMPORTED_MODULE_2__.AuthenticationErrorCommon.invalidPublicKeyEncoding, state);\n }\n if (!(0,_encoding__WEBPACK_IMPORTED_MODULE_1__.isValidSignatureEncodingBCHTransaction)(bitcoinEncodedSignature)) {\n return (0,_errors__WEBPACK_IMPORTED_MODULE_2__.applyError)(_errors__WEBPACK_IMPORTED_MODULE_2__.AuthenticationErrorCommon.invalidSignatureEncoding, state);\n }\n const coveredBytecode = (0,_instruction_sets_utils__WEBPACK_IMPORTED_MODULE_3__.serializeAuthenticationInstructions)(state.instructions).subarray(state.lastCodeSeparator + 1);\n const { signingSerializationType, signature } = (0,_encoding__WEBPACK_IMPORTED_MODULE_1__.decodeBitcoinSignature)(bitcoinEncodedSignature);\n const serialization = (0,_signing_serialization__WEBPACK_IMPORTED_MODULE_4__.generateSigningSerializationBCH)({\n correspondingOutput: state.correspondingOutput,\n coveredBytecode,\n locktime: state.locktime,\n outpointIndex: state.outpointIndex,\n outpointTransactionHash: state.outpointTransactionHash,\n outputValue: state.outputValue,\n sequenceNumber: state.sequenceNumber,\n sha256,\n signingSerializationType,\n transactionOutpoints: state.transactionOutpoints,\n transactionOutputs: state.transactionOutputs,\n transactionSequenceNumbers: state.transactionSequenceNumbers,\n version: state.version,\n });\n const digest = sha256.hash(sha256.hash(serialization));\n // eslint-disable-next-line functional/no-expression-statement, functional/immutable-data\n state.signedMessages.push(serialization);\n const useSchnorr = signature.length === _bch_bch_types__WEBPACK_IMPORTED_MODULE_5__.ConsensusBCH.schnorrSignatureLength;\n const success = useSchnorr\n ? secp256k1.verifySignatureSchnorr(signature, publicKey, digest)\n : secp256k1.verifySignatureDERLowS(signature, publicKey, digest);\n return !success &&\n flags.requireNullSignatureFailures &&\n signature.length !== 0\n ? (0,_errors__WEBPACK_IMPORTED_MODULE_2__.applyError)(_errors__WEBPACK_IMPORTED_MODULE_2__.AuthenticationErrorCommon.nonNullSignatureFailure, state)\n : (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.pushToStack)(state, (0,_common__WEBPACK_IMPORTED_MODULE_6__.booleanToScriptNumber)(success));\n});\nconst opCheckMultiSig = ({ flags: { requireMinimalEncoding, requireBugValueZero, requireNullSignatureFailures, }, secp256k1, sha256, }) => (s) => (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.useOneScriptNumber)(s, (state, publicKeysValue) => {\n const potentialPublicKeys = Number(publicKeysValue);\n if (potentialPublicKeys < 0) {\n return (0,_errors__WEBPACK_IMPORTED_MODULE_2__.applyError)(_errors__WEBPACK_IMPORTED_MODULE_2__.AuthenticationErrorCommon.invalidNaturalNumber, state);\n }\n if (potentialPublicKeys > 20 /* maximumPublicKeys */) {\n return (0,_errors__WEBPACK_IMPORTED_MODULE_2__.applyError)(_errors__WEBPACK_IMPORTED_MODULE_2__.AuthenticationErrorCommon.exceedsMaximumMultisigPublicKeyCount, state);\n }\n const publicKeys = \n // eslint-disable-next-line functional/immutable-data\n potentialPublicKeys > 0 ? state.stack.splice(-potentialPublicKeys) : [];\n // eslint-disable-next-line functional/no-expression-statement, functional/immutable-data\n state.operationCount += potentialPublicKeys;\n return state.operationCount > _common__WEBPACK_IMPORTED_MODULE_7__.ConsensusCommon.maximumOperationCount\n ? (0,_errors__WEBPACK_IMPORTED_MODULE_2__.applyError)(_errors__WEBPACK_IMPORTED_MODULE_2__.AuthenticationErrorCommon.exceededMaximumOperationCount, state)\n : (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.useOneScriptNumber)(state, (nextState, approvingKeys) => {\n const requiredApprovingPublicKeys = Number(approvingKeys);\n if (requiredApprovingPublicKeys < 0) {\n return (0,_errors__WEBPACK_IMPORTED_MODULE_2__.applyError)(_errors__WEBPACK_IMPORTED_MODULE_2__.AuthenticationErrorCommon.invalidNaturalNumber, nextState);\n }\n if (requiredApprovingPublicKeys > potentialPublicKeys) {\n return (0,_errors__WEBPACK_IMPORTED_MODULE_2__.applyError)(_errors__WEBPACK_IMPORTED_MODULE_2__.AuthenticationErrorCommon.insufficientPublicKeys, nextState);\n }\n const signatures = requiredApprovingPublicKeys > 0\n ? // eslint-disable-next-line functional/immutable-data\n nextState.stack.splice(-requiredApprovingPublicKeys)\n : [];\n return (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.useOneStackItem)(nextState, \n // eslint-disable-next-line complexity\n (finalState, [protocolBugValue]) => {\n if (requireBugValueZero && protocolBugValue.length !== 0) {\n return (0,_errors__WEBPACK_IMPORTED_MODULE_2__.applyError)(_errors__WEBPACK_IMPORTED_MODULE_2__.AuthenticationErrorCommon.invalidProtocolBugValue, finalState);\n }\n const coveredBytecode = (0,_instruction_sets_utils__WEBPACK_IMPORTED_MODULE_3__.serializeAuthenticationInstructions)(finalState.instructions).subarray(finalState.lastCodeSeparator + 1);\n let approvingPublicKeys = 0; // eslint-disable-line functional/no-let\n let remainingSignatures = signatures.length; // eslint-disable-line functional/no-let\n let remainingPublicKeys = publicKeys.length; // eslint-disable-line functional/no-let\n // eslint-disable-next-line functional/no-loop-statement\n while (remainingSignatures > 0 &&\n remainingPublicKeys > 0 &&\n approvingPublicKeys + remainingPublicKeys >=\n remainingSignatures &&\n approvingPublicKeys !== requiredApprovingPublicKeys) {\n const publicKey = publicKeys[remainingPublicKeys - 1];\n const bitcoinEncodedSignature = signatures[remainingSignatures - 1];\n if (!(0,_encoding__WEBPACK_IMPORTED_MODULE_1__.isValidPublicKeyEncoding)(publicKey)) {\n return (0,_errors__WEBPACK_IMPORTED_MODULE_2__.applyError)(_errors__WEBPACK_IMPORTED_MODULE_2__.AuthenticationErrorCommon.invalidPublicKeyEncoding, finalState);\n }\n if (!(0,_encoding__WEBPACK_IMPORTED_MODULE_1__.isValidSignatureEncodingBCHTransaction)(bitcoinEncodedSignature)) {\n return (0,_errors__WEBPACK_IMPORTED_MODULE_2__.applyError)(_errors__WEBPACK_IMPORTED_MODULE_2__.AuthenticationErrorCommon.invalidSignatureEncoding, finalState);\n }\n const { signingSerializationType, signature, } = (0,_encoding__WEBPACK_IMPORTED_MODULE_1__.decodeBitcoinSignature)(bitcoinEncodedSignature);\n const serialization = (0,_signing_serialization__WEBPACK_IMPORTED_MODULE_4__.generateSigningSerializationBCH)({\n correspondingOutput: state.correspondingOutput,\n coveredBytecode,\n locktime: state.locktime,\n outpointIndex: state.outpointIndex,\n outpointTransactionHash: state.outpointTransactionHash,\n outputValue: state.outputValue,\n sequenceNumber: state.sequenceNumber,\n sha256,\n signingSerializationType,\n transactionOutpoints: state.transactionOutpoints,\n transactionOutputs: state.transactionOutputs,\n transactionSequenceNumbers: state.transactionSequenceNumbers,\n version: state.version,\n });\n const digest = sha256.hash(sha256.hash(serialization));\n // eslint-disable-next-line functional/no-expression-statement, functional/immutable-data\n finalState.signedMessages.push(serialization);\n if (signature.length === _bch_bch_types__WEBPACK_IMPORTED_MODULE_5__.ConsensusBCH.schnorrSignatureLength) {\n return (0,_errors__WEBPACK_IMPORTED_MODULE_2__.applyError)(_errors__WEBPACK_IMPORTED_MODULE_2__.AuthenticationErrorCommon.schnorrSizedSignatureInCheckMultiSig, finalState);\n }\n const signed = secp256k1.verifySignatureDERLowS(signature, publicKey, digest);\n // eslint-disable-next-line functional/no-conditional-statement\n if (signed) {\n approvingPublicKeys += 1; // eslint-disable-line functional/no-expression-statement\n remainingSignatures -= 1; // eslint-disable-line functional/no-expression-statement\n }\n remainingPublicKeys -= 1; // eslint-disable-line functional/no-expression-statement\n }\n const success = approvingPublicKeys === requiredApprovingPublicKeys;\n if (!success &&\n requireNullSignatureFailures &&\n !signatures.every((signature) => signature.length === 0)) {\n return (0,_errors__WEBPACK_IMPORTED_MODULE_2__.applyError)(_errors__WEBPACK_IMPORTED_MODULE_2__.AuthenticationErrorCommon.nonNullSignatureFailure, finalState);\n }\n return (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.pushToStack)(finalState, (0,_common__WEBPACK_IMPORTED_MODULE_6__.booleanToScriptNumber)(success));\n });\n }, { requireMinimalEncoding });\n}, { requireMinimalEncoding });\nconst opCheckSigVerify = ({ flags, secp256k1, sha256, }) => (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.combineOperations)(opCheckSig({ flags, secp256k1, sha256 }), (0,_flow_control__WEBPACK_IMPORTED_MODULE_8__.opVerify)());\nconst opCheckMultiSigVerify = ({ flags, secp256k1, sha256, }) => (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.combineOperations)(opCheckMultiSig({ flags, secp256k1, sha256 }), (0,_flow_control__WEBPACK_IMPORTED_MODULE_8__.opVerify)());\nconst cryptoOperations = ({ flags, ripemd160, secp256k1, sha1, sha256, }) => ({\n [_opcodes__WEBPACK_IMPORTED_MODULE_9__.OpcodesCommon.OP_RIPEMD160]: opRipemd160({\n ripemd160,\n }),\n [_opcodes__WEBPACK_IMPORTED_MODULE_9__.OpcodesCommon.OP_SHA1]: opSha1({ sha1 }),\n [_opcodes__WEBPACK_IMPORTED_MODULE_9__.OpcodesCommon.OP_SHA256]: opSha256({ sha256 }),\n [_opcodes__WEBPACK_IMPORTED_MODULE_9__.OpcodesCommon.OP_HASH160]: opHash160({\n ripemd160,\n sha256,\n }),\n [_opcodes__WEBPACK_IMPORTED_MODULE_9__.OpcodesCommon.OP_HASH256]: opHash256({ sha256 }),\n [_opcodes__WEBPACK_IMPORTED_MODULE_9__.OpcodesCommon.OP_CODESEPARATOR]: opCodeSeparator(),\n [_opcodes__WEBPACK_IMPORTED_MODULE_9__.OpcodesCommon.OP_CHECKSIG]: opCheckSig({\n flags,\n secp256k1,\n sha256,\n }),\n [_opcodes__WEBPACK_IMPORTED_MODULE_9__.OpcodesCommon.OP_CHECKSIGVERIFY]: opCheckSigVerify({\n flags,\n secp256k1,\n sha256,\n }),\n [_opcodes__WEBPACK_IMPORTED_MODULE_9__.OpcodesCommon.OP_CHECKMULTISIG]: opCheckMultiSig({\n flags,\n secp256k1,\n sha256,\n }),\n [_opcodes__WEBPACK_IMPORTED_MODULE_9__.OpcodesCommon.OP_CHECKMULTISIGVERIFY]: opCheckMultiSigVerify({ flags, secp256k1, sha256 }),\n});\n//# sourceMappingURL=crypto.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/crypto.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/descriptions.js": +/*!***************************************************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/descriptions.js ***! + \***************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ OpcodeDescriptionsCommon: () => (/* binding */ OpcodeDescriptionsCommon)\n/* harmony export */ });\nvar OpcodeDescriptionsCommon;\n(function (OpcodeDescriptionsCommon) {\n OpcodeDescriptionsCommon[\"OP_0\"] = \"Push the Script Number 0 onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_PUSHBYTES_1\"] = \"Push the next byte onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_PUSHBYTES_2\"] = \"Push the next 2 bytes onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_PUSHBYTES_3\"] = \"Push the next 3 bytes onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_PUSHBYTES_4\"] = \"Push the next 4 bytes onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_PUSHBYTES_5\"] = \"Push the next 5 bytes onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_PUSHBYTES_6\"] = \"Push the next 6 bytes onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_PUSHBYTES_7\"] = \"Push the next 7 bytes onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_PUSHBYTES_8\"] = \"Push the next 8 bytes onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_PUSHBYTES_9\"] = \"Push the next 9 bytes onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_PUSHBYTES_10\"] = \"Push the next 10 bytes onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_PUSHBYTES_11\"] = \"Push the next 11 bytes onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_PUSHBYTES_12\"] = \"Push the next 12 bytes onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_PUSHBYTES_13\"] = \"Push the next 13 bytes onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_PUSHBYTES_14\"] = \"Push the next 14 bytes onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_PUSHBYTES_15\"] = \"Push the next 15 bytes onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_PUSHBYTES_16\"] = \"Push the next 16 bytes onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_PUSHBYTES_17\"] = \"Push the next 17 bytes onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_PUSHBYTES_18\"] = \"Push the next 18 bytes onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_PUSHBYTES_19\"] = \"Push the next 19 bytes onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_PUSHBYTES_20\"] = \"Push the next 20 bytes onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_PUSHBYTES_21\"] = \"Push the next 21 bytes onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_PUSHBYTES_22\"] = \"Push the next 22 bytes onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_PUSHBYTES_23\"] = \"Push the next 23 bytes onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_PUSHBYTES_24\"] = \"Push the next 24 bytes onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_PUSHBYTES_25\"] = \"Push the next 25 bytes onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_PUSHBYTES_26\"] = \"Push the next 26 bytes onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_PUSHBYTES_27\"] = \"Push the next 27 bytes onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_PUSHBYTES_28\"] = \"Push the next 28 bytes onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_PUSHBYTES_29\"] = \"Push the next 29 bytes onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_PUSHBYTES_30\"] = \"Push the next 30 bytes onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_PUSHBYTES_31\"] = \"Push the next 31 bytes onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_PUSHBYTES_32\"] = \"Push the next 32 bytes onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_PUSHBYTES_33\"] = \"Push the next 33 bytes onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_PUSHBYTES_34\"] = \"Push the next 34 bytes onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_PUSHBYTES_35\"] = \"Push the next 35 bytes onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_PUSHBYTES_36\"] = \"Push the next 36 bytes onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_PUSHBYTES_37\"] = \"Push the next 37 bytes onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_PUSHBYTES_38\"] = \"Push the next 38 bytes onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_PUSHBYTES_39\"] = \"Push the next 39 bytes onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_PUSHBYTES_40\"] = \"Push the next 40 bytes onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_PUSHBYTES_41\"] = \"Push the next 41 bytes onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_PUSHBYTES_42\"] = \"Push the next 42 bytes onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_PUSHBYTES_43\"] = \"Push the next 43 bytes onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_PUSHBYTES_44\"] = \"Push the next 44 bytes onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_PUSHBYTES_45\"] = \"Push the next 45 bytes onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_PUSHBYTES_46\"] = \"Push the next 46 bytes onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_PUSHBYTES_47\"] = \"Push the next 47 bytes onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_PUSHBYTES_48\"] = \"Push the next 48 bytes onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_PUSHBYTES_49\"] = \"Push the next 49 bytes onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_PUSHBYTES_50\"] = \"Push the next 50 bytes onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_PUSHBYTES_51\"] = \"Push the next 51 bytes onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_PUSHBYTES_52\"] = \"Push the next 52 bytes onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_PUSHBYTES_53\"] = \"Push the next 53 bytes onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_PUSHBYTES_54\"] = \"Push the next 54 bytes onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_PUSHBYTES_55\"] = \"Push the next 55 bytes onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_PUSHBYTES_56\"] = \"Push the next 56 bytes onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_PUSHBYTES_57\"] = \"Push the next 57 bytes onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_PUSHBYTES_58\"] = \"Push the next 58 bytes onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_PUSHBYTES_59\"] = \"Push the next 59 bytes onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_PUSHBYTES_60\"] = \"Push the next 60 bytes onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_PUSHBYTES_61\"] = \"Push the next 61 bytes onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_PUSHBYTES_62\"] = \"Push the next 62 bytes onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_PUSHBYTES_63\"] = \"Push the next 63 bytes onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_PUSHBYTES_64\"] = \"Push the next 64 bytes onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_PUSHBYTES_65\"] = \"Push the next 65 bytes onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_PUSHBYTES_66\"] = \"Push the next 66 bytes onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_PUSHBYTES_67\"] = \"Push the next 67 bytes onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_PUSHBYTES_68\"] = \"Push the next 68 bytes onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_PUSHBYTES_69\"] = \"Push the next 69 bytes onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_PUSHBYTES_70\"] = \"Push the next 70 bytes onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_PUSHBYTES_71\"] = \"Push the next 71 bytes onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_PUSHBYTES_72\"] = \"Push the next 72 bytes onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_PUSHBYTES_73\"] = \"Push the next 73 bytes onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_PUSHBYTES_74\"] = \"Push the next 74 bytes onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_PUSHBYTES_75\"] = \"Push the next 75 bytes onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_PUSHDATA_1\"] = \"Read the next Uint8 and push that number of bytes onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_PUSHDATA_2\"] = \"Read the next little-endian Uint16 and push that number of bytes onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_PUSHDATA_4\"] = \"Read the next little-endian Uint32 and push that number of bytes onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_1NEGATE\"] = \"Push the Script Number -1 onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_RESERVED\"] = \"Error unless found in an unexecuted conditional branch. Note: OP_RESERVED does not count toward the opcode limit.\";\n OpcodeDescriptionsCommon[\"OP_1\"] = \"Push the Script Number 1 onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_2\"] = \"Push the Script Number 2 onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_3\"] = \"Push the Script Number 3 onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_4\"] = \"Push the Script Number 4 onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_5\"] = \"Push the Script Number 5 onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_6\"] = \"Push the Script Number 6 onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_7\"] = \"Push the Script Number 7 onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_8\"] = \"Push the Script Number 8 onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_9\"] = \"Push the Script Number 9 onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_10\"] = \"Push the Script Number 10 onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_11\"] = \"Push the Script Number 11 onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_12\"] = \"Push the Script Number 12 onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_13\"] = \"Push the Script Number 13 onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_14\"] = \"Push the Script Number 14 onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_15\"] = \"Push the Script Number 15 onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_16\"] = \"Push the Script Number 16 onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_NOP\"] = \"No operation. Note: OP_NOP counts toward the opcode limit.\";\n OpcodeDescriptionsCommon[\"OP_VER\"] = \"Error unless found in an unexecuted conditional branch. Note: OP_VER counts toward the opcode limit. (Historically, this pushed a protocol version number to the stack.)\";\n OpcodeDescriptionsCommon[\"OP_IF\"] = \"Pop the top item from the stack. If it is not \\\"truthy\\\", skip evaluation until the matching OP_ELSE or OP_ENDIF.\";\n OpcodeDescriptionsCommon[\"OP_NOTIF\"] = \"Evaluate OP_NOT followed by OP_IF.\";\n OpcodeDescriptionsCommon[\"OP_VERIF\"] = \"Error, even when found in an unexecuted conditional branch. (Historically, this was a combination of OP_VER and OP_IF.)\";\n OpcodeDescriptionsCommon[\"OP_VERNOTIF\"] = \"Error, even when found in an unexecuted conditional branch. (Historically, this was a combination of OP_VER and OP_NOTIF.)\";\n OpcodeDescriptionsCommon[\"OP_ELSE\"] = \"Invert conditional evaluation within the current OP_IF ... OP_ENDIF block. (If evaluation is enabled, disable it, if it is disabled, enable it.)\";\n OpcodeDescriptionsCommon[\"OP_ENDIF\"] = \"End the current OP_IF ... OP_ENDIF block.\";\n OpcodeDescriptionsCommon[\"OP_VERIFY\"] = \"Pop the top item from the stack and error if it isn't \\\"truthy\\\".\";\n OpcodeDescriptionsCommon[\"OP_RETURN\"] = \"Error when executed.\";\n OpcodeDescriptionsCommon[\"OP_TOALTSTACK\"] = \"Pop the top item from the stack and push it onto the alternate stack.\";\n OpcodeDescriptionsCommon[\"OP_FROMALTSTACK\"] = \"Pop the top item from the alternate stack and push it onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_2DROP\"] = \"Pop the top 2 items from the stack and discard them.\";\n OpcodeDescriptionsCommon[\"OP_2DUP\"] = \"Duplicate the top 2 items on the stack. (E.g. [a, b] -> [a, b, a, b])\";\n OpcodeDescriptionsCommon[\"OP_3DUP\"] = \"Duplicate the top 3 items on the stack. (E.g. [a, b, c] -> [a, b, c, a, b, c])\";\n OpcodeDescriptionsCommon[\"OP_2OVER\"] = \"Duplicate the 2 items beginning at a depth of 2 on the stack. (E.g. [a, b, c, d] -> [a, b, c, d, a, b])\";\n OpcodeDescriptionsCommon[\"OP_2ROT\"] = \"Rotate the top 6 items on the stack, bringing the fifth and sixth items to the top. (E.g. [a, b, c, d, e, f] -> [c, d, e, f, a, b])\";\n OpcodeDescriptionsCommon[\"OP_2SWAP\"] = \"Swap the positions of the top two pairs of items on the stack. (E.g. [a, b, c, d] -> [c, d, a, b])\";\n OpcodeDescriptionsCommon[\"OP_IFDUP\"] = \"If the top item on the stack is \\\"truthy\\\", duplicate it.\";\n OpcodeDescriptionsCommon[\"OP_DEPTH\"] = \"Push the current number of stack items as a Script Number.\";\n OpcodeDescriptionsCommon[\"OP_DROP\"] = \"Pop the top item from the stack and discard it. (E.g. [a] -> [])\";\n OpcodeDescriptionsCommon[\"OP_DUP\"] = \"Duplicate the top item on the stack. (E.g. [a] -> [a, a])\";\n OpcodeDescriptionsCommon[\"OP_NIP\"] = \"Remove the second-to-top item from the stack. (E.g. [a, b] -> [b])\";\n OpcodeDescriptionsCommon[\"OP_OVER\"] = \"Duplicate the second-to-top item on the stack. (E.g. [a, b] -> [a, b, a])\";\n OpcodeDescriptionsCommon[\"OP_PICK\"] = \"Pop the top item from the stack as a Script Number. Duplicate the item at that depth (zero-indexed), placing it on top of the stack. (E.g. [a, b, c, 2] -> [a, b, c, a])\";\n OpcodeDescriptionsCommon[\"OP_ROLL\"] = \"Pop the top item from the stack as a Script Number. Move the item at that depth (zero-indexed) to the top of the stack. (E.g. [a, b, c, 2] -> [b, c, a])\";\n OpcodeDescriptionsCommon[\"OP_ROT\"] = \"Rotate the top 3 items on the stack, bringing the third item to the top. (E.g. [a, b, c] -> [b, c, a])\";\n OpcodeDescriptionsCommon[\"OP_SWAP\"] = \"Swap the top two items on the stack. (E.g. [a, b] -> [b, a])\";\n OpcodeDescriptionsCommon[\"OP_TUCK\"] = \"Duplicate the item at the top of the stack, inserting it below the second-to-top item. (E.g. [a, b] -> [b, a, b])\";\n OpcodeDescriptionsCommon[\"OP_CAT\"] = \"Error, even when found in an unexecuted conditional branch. (Historically, this concatenated two stack items.)\";\n OpcodeDescriptionsCommon[\"OP_SUBSTR\"] = \"Error, even when found in an unexecuted conditional branch. (Historically, this returned a section of a stack item.)\";\n OpcodeDescriptionsCommon[\"OP_LEFT\"] = \"Error, even when found in an unexecuted conditional branch. (Historically, this returned a section to the left of a point in a stack item.)\";\n OpcodeDescriptionsCommon[\"OP_RIGHT\"] = \"Error, even when found in an unexecuted conditional branch. (Historically, this returned a section to the right of a point in a stack item.)\";\n OpcodeDescriptionsCommon[\"OP_SIZE\"] = \"Push the byte-length of the top stack item as a Script Number.\";\n OpcodeDescriptionsCommon[\"OP_INVERT\"] = \"Error, even when found in an unexecuted conditional branch. (Historically, this flipped all the bits in a stack item.)\";\n OpcodeDescriptionsCommon[\"OP_AND\"] = \"Error, even when found in an unexecuted conditional branch. (Historically, this performed a boolean AND on each bit in two stack items.)\";\n OpcodeDescriptionsCommon[\"OP_OR\"] = \"Error, even when found in an unexecuted conditional branch. (Historically, this performed a boolean OR on each bit in two stack items.)\";\n OpcodeDescriptionsCommon[\"OP_XOR\"] = \"Error, even when found in an unexecuted conditional branch. (Historically, this performed a boolean XOR on each bit in two stack items.)\";\n OpcodeDescriptionsCommon[\"OP_EQUAL\"] = \"Pop the top two items from the stack and compare them byte-by-byte. If they are the same, push a Script Number 1, otherwise push a Script Number 0.\";\n OpcodeDescriptionsCommon[\"OP_EQUALVERIFY\"] = \"Pop the top two items from the stack and compare them byte-by-byte. If the values are different, error. (This operation is a combination of OP_EQUAL followed by OP_VERIFY.)\";\n OpcodeDescriptionsCommon[\"OP_RESERVED1\"] = \"Error unless found in an unexecuted conditional branch. Note: OP_RESERVED1 counts toward the opcode limit.\";\n OpcodeDescriptionsCommon[\"OP_RESERVED2\"] = \"Error unless found in an unexecuted conditional branch. Note: OP_RESERVED2 counts toward the opcode limit.\";\n OpcodeDescriptionsCommon[\"OP_1ADD\"] = \"Pop the top item from the stack as a Script Number, add 1, then push the result.\";\n OpcodeDescriptionsCommon[\"OP_1SUB\"] = \"Pop the top item from the stack as a Script Number, subtract 1, then push the result.\";\n OpcodeDescriptionsCommon[\"OP_2MUL\"] = \"Error, even when found in an unexecuted conditional branch. (Historically, this multiplied a Script Number by 2.)\";\n OpcodeDescriptionsCommon[\"OP_2DIV\"] = \"Error, even when found in an unexecuted conditional branch. (Historically, this divided a Script Number by 2.)\";\n OpcodeDescriptionsCommon[\"OP_NEGATE\"] = \"Pop the top item from the stack as a Script Number, negate it, then push the result.\";\n OpcodeDescriptionsCommon[\"OP_ABS\"] = \"Pop the top item from the stack as a Script Number, take its absolute value, then push the result.\";\n OpcodeDescriptionsCommon[\"OP_NOT\"] = \"Pop the top item from the stack as a Script Number. If its value is 0, push a Script Number 1, otherwise, push a Script Number 0.\";\n OpcodeDescriptionsCommon[\"OP_0NOTEQUAL\"] = \"Pop the top item from the stack as a Script Number. If its value is not 0, push a Script Number 1, otherwise, push a Script Number 0.\";\n OpcodeDescriptionsCommon[\"OP_ADD\"] = \"Pop the top two items from the stack as Script Numbers. Add them, then push the result.\";\n OpcodeDescriptionsCommon[\"OP_SUB\"] = \"Pop the top two items from the stack as Script Numbers. Subtract the top item from the second item, then push the result.\";\n OpcodeDescriptionsCommon[\"OP_MUL\"] = \"Error, even when found in an unexecuted conditional branch. (Historically, this multiplied two Script Numbers.)\";\n OpcodeDescriptionsCommon[\"OP_DIV\"] = \"Error, even when found in an unexecuted conditional branch. (Historically, this divided two Script Numbers.)\";\n OpcodeDescriptionsCommon[\"OP_MOD\"] = \"Error, even when found in an unexecuted conditional branch. (Historically, this returned the remainder after dividing one Script Number by another.)\";\n OpcodeDescriptionsCommon[\"OP_LSHIFT\"] = \"Error, even when found in an unexecuted conditional branch. (Historically, this performed a sign-preserving, left bit shift.)\";\n OpcodeDescriptionsCommon[\"OP_RSHIFT\"] = \"Error, even when found in an unexecuted conditional branch. (Historically, this performed a sign-preserving, right bit shift.)\";\n OpcodeDescriptionsCommon[\"OP_BOOLAND\"] = \"Pop the top two items from the stack as Script Numbers. If neither value is a Script Number 0, push a Script Number 1. Otherwise, push a Script Number 0.\";\n OpcodeDescriptionsCommon[\"OP_BOOLOR\"] = \"Pop the top two items from the stack as Script Numbers. If either value is a Script Number 1, push a Script Number 1. Otherwise, push a Script Number 0.\";\n OpcodeDescriptionsCommon[\"OP_NUMEQUAL\"] = \"Pop the top two items from the stack as Script Numbers. If the values are equal, push a Script Number 1. Otherwise, push a Script Number 0.\";\n OpcodeDescriptionsCommon[\"OP_NUMEQUALVERIFY\"] = \"Pop the top two items from the stack as Script Numbers. If the values are different, error. (This operation is a combination of OP_NUMEQUAL followed by OP_VERIFY.)\";\n OpcodeDescriptionsCommon[\"OP_NUMNOTEQUAL\"] = \"Pop the top two items from the stack as Script Numbers. If the values are not equal, push a Script Number 1. Otherwise, push a Script Number 0.\";\n OpcodeDescriptionsCommon[\"OP_LESSTHAN\"] = \"Pop the top two items from the stack as Script Numbers. If the second item is less than top item, push a Script Number 1. Otherwise, push a Script Number 0.\";\n OpcodeDescriptionsCommon[\"OP_GREATERTHAN\"] = \"Pop the top two items from the stack as Script Numbers. If the second item is greater than top item, push a Script Number 1. Otherwise, push a Script Number 0.\";\n OpcodeDescriptionsCommon[\"OP_LESSTHANOREQUAL\"] = \"Pop the top two items from the stack as Script Numbers. If the second item is less than or equal to the top item, push a Script Number 1. Otherwise, push a Script Number 0.\";\n OpcodeDescriptionsCommon[\"OP_GREATERTHANOREQUAL\"] = \"Pop the top two items from the stack as Script Numbers. If the second item is greater than or equal to the top item, push a Script Number 1. Otherwise, push a Script Number 0.\";\n OpcodeDescriptionsCommon[\"OP_MIN\"] = \"Pop the top two items from the stack as Script Numbers. Push the smaller of the two numbers.\";\n OpcodeDescriptionsCommon[\"OP_MAX\"] = \"Pop the top two items from the stack as Script Numbers. Push the larger of the two numbers.\";\n OpcodeDescriptionsCommon[\"OP_WITHIN\"] = \"Pop the top three items from the stack as Script Numbers. If the top number is within the range defined by the following two numbers (left-inclusive), push a Script Number 1. Otherwise, push a Script Number 0. (E.g. for [a, b, c]: if (b <= a), and (a < c), [1]. Else [0].)\";\n OpcodeDescriptionsCommon[\"OP_RIPEMD160\"] = \"Pop the top item from the stack and pass it through ripemd160, pushing the result onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_SHA1\"] = \"Pop the top item from the stack and pass it through sha1, pushing the result onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_SHA256\"] = \"Pop the top item from the stack and pass it through sha256, pushing the result onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_HASH160\"] = \"Pop the top item from the stack and pass it through sha256, then ripemd160, pushing the result onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_HASH256\"] = \"Pop the top item from the stack and pass it through sha256 twice, pushing the result onto the stack.\";\n OpcodeDescriptionsCommon[\"OP_CODESEPARATOR\"] = \"Update the value of lastCodeSeparator to the instruction pointer's current value. (This reduces the coverage of signing serializations used in signature verification operations.)\";\n OpcodeDescriptionsCommon[\"OP_CHECKSIG\"] = \"Pop the top two items from the stack. Treat the top as a signature and the second as a public key. If the signature is valid, push a Script Number 1, otherwise push a Script Number 0.\";\n OpcodeDescriptionsCommon[\"OP_CHECKSIGVERIFY\"] = \"Pop the top two items from the stack. Treat the top as a signature and the second as a public key. If the signature is not valid, error. (This operation is a combination of OP_CHECKSIG followed by OP_VERIFY.)\";\n OpcodeDescriptionsCommon[\"OP_CHECKMULTISIG\"] = \"Pop items from the stack: first pop the Script Number of public keys, then pop each of those public keys. Next, pop the Script Number of required signatures, then pop each of those signatures. Finally, pop a final Script Number which must be 0 due to a protocol bug. Checking each signature against each public key in order, if all signatures are valid \\u2013 and the required number of signatures have been provided \\u2013 push a Script Number 1, otherwise push a Script Number 0.\";\n OpcodeDescriptionsCommon[\"OP_CHECKMULTISIGVERIFY\"] = \"Pop items from the stack: first pop the Script Number of public keys, then pop each of those public keys. Next, pop the Script Number of required signatures, then pop each of those signatures. Finally, (due to a protocol bug) pop an unused final Script Number which must be 0. Checking each signature against each public key in order, if any signatures are invalid \\u2013 or the required number of signatures have not been provided \\u2013 error. (This operation is a combination of OP_CHECKMULTISIG followed by OP_VERIFY.)\";\n OpcodeDescriptionsCommon[\"OP_NOP1\"] = \"No operation (reserved for future expansion). Note: OP_NOP1 counts toward the opcode limit.\";\n OpcodeDescriptionsCommon[\"OP_CHECKLOCKTIMEVERIFY\"] = \"Verify the transaction occurs after an absolute block time or height: read the top item on the stack as a Script Number (without removing it), and compare it to the transaction's locktime. If the required locktime has not passed, or if locktime has been disabled for this input by a maximized sequence number, error.\";\n OpcodeDescriptionsCommon[\"OP_CHECKSEQUENCEVERIFY\"] = \"Verify the transaction occurs after the output being spent has \\\"aged\\\" by a relative block time or block height since it was created: read the top item on the stack as a Script Number (without removing it), and compare it to the age encoded in the input's sequence number. If the required relative locktime has not passed, or if relative locktime has been disabled by the sequence number or the transaction version, error.\";\n OpcodeDescriptionsCommon[\"OP_NOP4\"] = \"No operation (reserved for future expansion). Note: OP_NOP4 counts toward the opcode limit.\";\n OpcodeDescriptionsCommon[\"OP_NOP6\"] = \"No operation (reserved for future expansion). Note: OP_NOP6 counts toward the opcode limit.\";\n OpcodeDescriptionsCommon[\"OP_NOP5\"] = \"No operation (reserved for future expansion). Note: OP_NOP5 counts toward the opcode limit.\";\n OpcodeDescriptionsCommon[\"OP_NOP7\"] = \"No operation (reserved for future expansion). Note: OP_NOP7 counts toward the opcode limit.\";\n OpcodeDescriptionsCommon[\"OP_NOP8\"] = \"No operation (reserved for future expansion). Note: OP_NOP8 counts toward the opcode limit.\";\n OpcodeDescriptionsCommon[\"OP_NOP9\"] = \"No operation (reserved for future expansion). Note: OP_NOP9 counts toward the opcode limit.\";\n OpcodeDescriptionsCommon[\"OP_NOP10\"] = \"No operation (reserved for future expansion). Note: OP_NOP10 counts toward the opcode limit.\";\n})(OpcodeDescriptionsCommon || (OpcodeDescriptionsCommon = {}));\n//# sourceMappingURL=descriptions.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/descriptions.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/encoding.js": +/*!***********************************************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/encoding.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ decodeBitcoinSignature: () => (/* binding */ decodeBitcoinSignature),\n/* harmony export */ isValidCompressedPublicKeyEncoding: () => (/* binding */ isValidCompressedPublicKeyEncoding),\n/* harmony export */ isValidPublicKeyEncoding: () => (/* binding */ isValidPublicKeyEncoding),\n/* harmony export */ isValidSignatureEncodingBCHTransaction: () => (/* binding */ isValidSignatureEncodingBCHTransaction),\n/* harmony export */ isValidSignatureEncodingDER: () => (/* binding */ isValidSignatureEncodingDER),\n/* harmony export */ isValidUncompressedPublicKeyEncoding: () => (/* binding */ isValidUncompressedPublicKeyEncoding)\n/* harmony export */ });\n/* harmony import */ var _bch_bch__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../bch/bch */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/bch/bch-types.js\");\n/* harmony import */ var _signing_serialization__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./signing-serialization */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/signing-serialization.js\");\n\n\nconst isValidUncompressedPublicKeyEncoding = (publicKey) => publicKey.length === 65 /* uncompressedByteLength */ &&\n publicKey[0] === 4 /* uncompressedHeaderByte */;\nconst isValidCompressedPublicKeyEncoding = (publicKey) => publicKey.length === 33 /* compressedByteLength */ &&\n (publicKey[0] === 2 /* compressedHeaderByteEven */ ||\n publicKey[0] === 3 /* compressedHeaderByteOdd */);\nconst isValidPublicKeyEncoding = (publicKey) => isValidCompressedPublicKeyEncoding(publicKey) ||\n isValidUncompressedPublicKeyEncoding(publicKey);\nconst isNegative = (value) => \n// eslint-disable-next-line no-bitwise\n(value & 128 /* negative */) !== 0;\nconst hasUnnecessaryPadding = (length, firstByte, secondByte) => length > 1 && firstByte === 0 && !isNegative(secondByte);\nconst isValidInteger = (signature, tagIndex, length, valueIndex\n// eslint-disable-next-line max-params\n) => signature[tagIndex] === 2 /* integerTagType */ &&\n length !== 0 &&\n !isNegative(signature[valueIndex]) &&\n !hasUnnecessaryPadding(length, signature[valueIndex], signature[valueIndex + 1]);\n/**\n * Validate a DER-encoded signature.\n *\n * @remarks\n * This function is consensus-critical since BIP66, but differs from the BIP66\n * specification in that it does not validate the existence of a signing\n * serialization type byte at the end of the signature (to support\n * OP_CHECKDATASIG). To validate a bitcoin-encoded signature (including null\n * signatures), use `isValidSignatureEncodingBCH`.\n *\n * @privateRemarks\n * From the Bitcoin ABC C++ implementation:\n *\n * Format: 0x30 [total-length] 0x02 [R-length] [R] 0x02 [S-length] [S]\n * total-length: 1-byte length descriptor of everything that follows,\n * excluding the sighash byte.\n * R-length: 1-byte length descriptor of the R value that follows.\n * R: arbitrary-length big-endian encoded R value. It must use the\n * shortest possible encoding for a positive integers (which means no null\n * bytes at the start, except a single one when the next byte has its highest\n * bit set).\n * S-length: 1-byte length descriptor of the S value that follows.\n * S: arbitrary-length big-endian encoded S value. The same rules apply.\n */\n// eslint-disable-next-line complexity\nconst isValidSignatureEncodingDER = (signature) => {\n const correctLengthRange = signature.length > 8 /* minimumLength */ &&\n signature.length < 72 /* maximumLength */;\n const correctSequenceTagType = signature[0 /* sequenceTagIndex */] === 48 /* sequenceTagType */;\n const correctSequenceLength = signature[1 /* sequenceLengthIndex */] ===\n signature.length - 2 /* sequenceMetadataBytes */;\n const rLength = signature[3 /* rLengthIndex */];\n if (rLength === undefined) {\n return false;\n }\n const consistentRLength = rLength <= signature.length - 7 /* minimumNonRValueBytes */;\n const rIsValid = isValidInteger(signature, 2 /* rTagIndex */, rLength, 4 /* rValueIndex */);\n const sTagIndex = 4 /* rValueIndex */ + rLength; // eslint-disable-line @typescript-eslint/restrict-plus-operands\n const sLengthIndex = sTagIndex + 1;\n const sLength = signature[sLengthIndex];\n if (sLength === undefined) {\n return false;\n }\n const sValueIndex = sLengthIndex + 1;\n const consistentSLength = sValueIndex + sLength === signature.length;\n const sIsValid = isValidInteger(signature, sTagIndex, sLength, sValueIndex);\n return (correctLengthRange &&\n correctSequenceTagType &&\n correctSequenceLength &&\n consistentRLength &&\n rIsValid &&\n consistentSLength &&\n sIsValid);\n};\n/**\n * Validate the encoding of a transaction signature, including a signing\n * serialization type byte (A.K.A. \"sighash\" byte).\n *\n * @param transactionSignature - the full transaction signature\n */\nconst isValidSignatureEncodingBCHTransaction = (transactionSignature) => transactionSignature.length === 0 ||\n transactionSignature.length === _bch_bch__WEBPACK_IMPORTED_MODULE_0__.ConsensusBCH.schnorrSignatureLength + 1 ||\n ((0,_signing_serialization__WEBPACK_IMPORTED_MODULE_1__.isDefinedSigningSerializationType)(transactionSignature[transactionSignature.length - 1]) &&\n isValidSignatureEncodingDER(transactionSignature.slice(0, transactionSignature.length - 1)));\n/**\n * Split a bitcoin-encoded signature into a signature and signing serialization\n * type.\n *\n * While a bitcoin-encoded signature only includes a single byte to encode the\n * signing serialization type, a 3-byte forkId can be appended to the signing\n * serialization to provide replay-protection between different forks. (See\n * Bitcoin Cash's Replay Protected Sighash spec for details.)\n *\n * @param signature - a signature which passes `isValidSignatureEncoding`\n */\nconst decodeBitcoinSignature = (encodedSignature) => ({\n signature: encodedSignature.slice(0, encodedSignature.length - 1),\n signingSerializationType: new Uint8Array([\n encodedSignature[encodedSignature.length - 1],\n ]),\n});\n//# sourceMappingURL=encoding.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/encoding.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/errors.js": +/*!*********************************************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/errors.js ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AuthenticationErrorCommon: () => (/* binding */ AuthenticationErrorCommon),\n/* harmony export */ applyError: () => (/* binding */ applyError)\n/* harmony export */ });\nvar AuthenticationErrorCommon;\n(function (AuthenticationErrorCommon) {\n AuthenticationErrorCommon[\"calledReserved\"] = \"Program called an unassigned, reserved operation.\";\n AuthenticationErrorCommon[\"calledReturn\"] = \"Program called an OP_RETURN operation.\";\n AuthenticationErrorCommon[\"calledUpgradableNop\"] = \"Program called a disallowed upgradable non-operation (OP_NOP1-OP_NOP10).\";\n AuthenticationErrorCommon[\"checkSequenceUnavailable\"] = \"Program called an OP_CHECKSEQUENCEVERIFY operation, but OP_CHECKSEQUENCEVERIFY requires transaction version 2 or higher.\";\n AuthenticationErrorCommon[\"disabledOpcode\"] = \"Program contains a disabled opcode.\";\n AuthenticationErrorCommon[\"emptyAlternateStack\"] = \"Tried to read from an empty alternate stack.\";\n AuthenticationErrorCommon[\"emptyStack\"] = \"Tried to read from an empty stack.\";\n AuthenticationErrorCommon[\"exceededMaximumBytecodeLengthLocking\"] = \"The provided locking bytecode exceeds the maximum bytecode length (10,000 bytes).\";\n AuthenticationErrorCommon[\"exceededMaximumBytecodeLengthUnlocking\"] = \"The provided unlocking bytecode exceeds the maximum bytecode length (10,000 bytes).\";\n AuthenticationErrorCommon[\"exceededMaximumStackDepth\"] = \"Program exceeded the maximum stack depth (1,000 items).\";\n AuthenticationErrorCommon[\"exceededMaximumOperationCount\"] = \"Program exceeded the maximum operation count (201 operations).\";\n AuthenticationErrorCommon[\"exceedsMaximumMultisigPublicKeyCount\"] = \"Program called an OP_CHECKMULTISIG which exceeds the maximum public key count (20 public keys).\";\n AuthenticationErrorCommon[\"exceedsMaximumPush\"] = \"Push exceeds the push size limit of 520 bytes.\";\n AuthenticationErrorCommon[\"failedVerify\"] = \"Program failed an OP_VERIFY operation.\";\n AuthenticationErrorCommon[\"invalidStackIndex\"] = \"Tried to read from an invalid stack index.\";\n AuthenticationErrorCommon[\"incompatibleLocktimeType\"] = \"Program called an OP_CHECKLOCKTIMEVERIFY operation with an incompatible locktime type. The transaction locktime and required locktime must both refer to either a block height or a block time.\";\n AuthenticationErrorCommon[\"incompatibleSequenceType\"] = \"Program called an OP_CHECKSEQUENCEVERIFY operation with an incompatible sequence type flag. The input sequence number and required sequence number must both use the same sequence locktime type.\";\n AuthenticationErrorCommon[\"insufficientPublicKeys\"] = \"Program called an OP_CHECKMULTISIG operation which requires signatures from more public keys than are provided.\";\n AuthenticationErrorCommon[\"invalidNaturalNumber\"] = \"Invalid input: the key/signature count inputs for OP_CHECKMULTISIG require a natural number (n > 0).\";\n AuthenticationErrorCommon[\"invalidProtocolBugValue\"] = \"The OP_CHECKMULTISIG protocol bug value must be a Script Number 0 (to comply with the \\\"NULLDUMMY\\\" rule).\";\n AuthenticationErrorCommon[\"invalidPublicKeyEncoding\"] = \"Encountered an improperly encoded public key.\";\n AuthenticationErrorCommon[\"invalidScriptNumber\"] = \"Invalid input: this operation requires a valid Script Number.\";\n AuthenticationErrorCommon[\"invalidSignatureEncoding\"] = \"Encountered an improperly encoded signature.\";\n AuthenticationErrorCommon[\"locktimeDisabled\"] = \"Program called an OP_CHECKLOCKTIMEVERIFY operation, but locktime is disabled for this transaction.\";\n AuthenticationErrorCommon[\"malformedLockingBytecode\"] = \"The provided locking bytecode is malformed.\";\n AuthenticationErrorCommon[\"malformedPush\"] = \"Program must be long enough to push the requested number of bytes.\";\n AuthenticationErrorCommon[\"malformedUnlockingBytecode\"] = \"The provided unlocking bytecode is malformed.\";\n AuthenticationErrorCommon[\"negativeLocktime\"] = \"Program called an OP_CHECKLOCKTIMEVERIFY or OP_CHECKSEQUENCEVERIFY operation with a negative locktime.\";\n AuthenticationErrorCommon[\"nonEmptyExecutionStack\"] = \"Program completed with a non-empty execution stack (missing `OP_ENDIF`).\";\n AuthenticationErrorCommon[\"nonMinimalPush\"] = \"Push operations must use the smallest possible encoding.\";\n AuthenticationErrorCommon[\"nonNullSignatureFailure\"] = \"Program failed a signature verification with a non-null signature (violating the \\\"NULLFAIL\\\" rule).\";\n AuthenticationErrorCommon[\"requiresCleanStack\"] = \"Program completed with an unexpected number of items on the stack (must be exactly 1).\";\n AuthenticationErrorCommon[\"schnorrSizedSignatureInCheckMultiSig\"] = \"Program used a schnorr-sized signature (65 bytes) in an OP_CHECKMULTISIG operation.\";\n AuthenticationErrorCommon[\"unexpectedElse\"] = \"Encountered an OP_ELSE outside of an OP_IF ... OP_ENDIF block.\";\n AuthenticationErrorCommon[\"unexpectedEndIf\"] = \"Encountered an OP_ENDIF which is not following a matching OP_IF.\";\n AuthenticationErrorCommon[\"unknownOpcode\"] = \"Called an unknown opcode.\";\n AuthenticationErrorCommon[\"unmatchedSequenceDisable\"] = \"Program called an OP_CHECKSEQUENCEVERIFY operation requiring the disable flag, but the input's sequence number is missing the disable flag.\";\n AuthenticationErrorCommon[\"unsatisfiedLocktime\"] = \"Program called an OP_CHECKLOCKTIMEVERIFY operation which requires a locktime greater than the transaction's locktime.\";\n AuthenticationErrorCommon[\"unsatisfiedSequenceNumber\"] = \"Program called an OP_CHECKSEQUENCEVERIFY operation which requires a sequence number greater than the input's sequence number.\";\n AuthenticationErrorCommon[\"unsuccessfulEvaluation\"] = \"Unsuccessful evaluation: completed with a non-truthy value on top of the stack.\";\n})(AuthenticationErrorCommon || (AuthenticationErrorCommon = {}));\n/**\n * Applies the `error` to a `state`.\n *\n * @remarks\n * If the state already has an error, this method does not override it.\n * (Evaluation should end after the first encountered error, so further errors\n * aren't relevant.)\n */\nconst applyError = (error, state) => ({\n ...state,\n error: state.error === undefined ? error : state.error,\n});\n//# sourceMappingURL=errors.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/errors.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/flow-control.js": +/*!***************************************************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/flow-control.js ***! + \***************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ conditionalFlowControlOperations: () => (/* binding */ conditionalFlowControlOperations),\n/* harmony export */ opElse: () => (/* binding */ opElse),\n/* harmony export */ opEndIf: () => (/* binding */ opEndIf),\n/* harmony export */ opIf: () => (/* binding */ opIf),\n/* harmony export */ opNotIf: () => (/* binding */ opNotIf),\n/* harmony export */ opReturn: () => (/* binding */ opReturn),\n/* harmony export */ opVerify: () => (/* binding */ opVerify),\n/* harmony export */ reservedOperation: () => (/* binding */ reservedOperation),\n/* harmony export */ unconditionalFlowControlOperations: () => (/* binding */ unconditionalFlowControlOperations)\n/* harmony export */ });\n/* harmony import */ var _arithmetic__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./arithmetic */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/arithmetic.js\");\n/* harmony import */ var _combinators__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./combinators */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/combinators.js\");\n/* harmony import */ var _common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./common */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/types.js\");\n/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./errors */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/errors.js\");\n/* harmony import */ var _opcodes__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./opcodes */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/opcodes.js\");\n\n\n\n\n\nconst opVerify = () => (state) => (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.useOneStackItem)(state, (nextState, [item]) => (0,_common__WEBPACK_IMPORTED_MODULE_1__.stackItemIsTruthy)(item)\n ? nextState\n : (0,_errors__WEBPACK_IMPORTED_MODULE_2__.applyError)(_errors__WEBPACK_IMPORTED_MODULE_2__.AuthenticationErrorCommon.failedVerify, nextState));\nconst reservedOperation = () => (state) => (0,_errors__WEBPACK_IMPORTED_MODULE_2__.applyError)(_errors__WEBPACK_IMPORTED_MODULE_2__.AuthenticationErrorCommon.calledReserved, state);\nconst opReturn = () => (state) => (0,_errors__WEBPACK_IMPORTED_MODULE_2__.applyError)(_errors__WEBPACK_IMPORTED_MODULE_2__.AuthenticationErrorCommon.calledReturn, state);\nconst conditionalFlowControlOperations = () => ({\n [_opcodes__WEBPACK_IMPORTED_MODULE_3__.OpcodesCommon.OP_RESERVED]: reservedOperation(),\n [_opcodes__WEBPACK_IMPORTED_MODULE_3__.OpcodesCommon.OP_VER]: reservedOperation(),\n [_opcodes__WEBPACK_IMPORTED_MODULE_3__.OpcodesCommon.OP_VERIFY]: opVerify(),\n [_opcodes__WEBPACK_IMPORTED_MODULE_3__.OpcodesCommon.OP_RETURN]: opReturn(),\n [_opcodes__WEBPACK_IMPORTED_MODULE_3__.OpcodesCommon.OP_RESERVED1]: reservedOperation(),\n [_opcodes__WEBPACK_IMPORTED_MODULE_3__.OpcodesCommon.OP_RESERVED2]: reservedOperation(),\n});\nconst opIf = () => (state) => {\n if (state.executionStack.every((item) => item)) {\n // eslint-disable-next-line functional/immutable-data\n const element = state.stack.pop();\n if (element === undefined) {\n return (0,_errors__WEBPACK_IMPORTED_MODULE_2__.applyError)(_errors__WEBPACK_IMPORTED_MODULE_2__.AuthenticationErrorCommon.emptyStack, state);\n }\n // eslint-disable-next-line functional/no-expression-statement, functional/immutable-data\n state.executionStack.push((0,_common__WEBPACK_IMPORTED_MODULE_1__.stackItemIsTruthy)(element));\n return state;\n }\n // eslint-disable-next-line functional/no-expression-statement, functional/immutable-data\n state.executionStack.push(false);\n return state;\n};\nconst opNotIf = (flags) => {\n const not = (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.conditionallyEvaluate)((0,_arithmetic__WEBPACK_IMPORTED_MODULE_4__.opNot)(flags));\n const ifOp = opIf();\n return (state) => ifOp(not(state));\n};\nconst opEndIf = () => (state) => {\n // eslint-disable-next-line functional/immutable-data\n const element = state.executionStack.pop();\n if (element === undefined) {\n return (0,_errors__WEBPACK_IMPORTED_MODULE_2__.applyError)(_errors__WEBPACK_IMPORTED_MODULE_2__.AuthenticationErrorCommon.unexpectedEndIf, state);\n }\n return state;\n};\nconst opElse = () => (state) => {\n const top = state.executionStack[state.executionStack.length - 1];\n if (top === undefined) {\n return (0,_errors__WEBPACK_IMPORTED_MODULE_2__.applyError)(_errors__WEBPACK_IMPORTED_MODULE_2__.AuthenticationErrorCommon.unexpectedElse, state);\n }\n // eslint-disable-next-line functional/no-expression-statement, functional/immutable-data\n state.executionStack[state.executionStack.length - 1] = !top;\n return state;\n};\nconst unconditionalFlowControlOperations = (flags) => ({\n [_opcodes__WEBPACK_IMPORTED_MODULE_3__.OpcodesCommon.OP_IF]: opIf(),\n [_opcodes__WEBPACK_IMPORTED_MODULE_3__.OpcodesCommon.OP_NOTIF]: opNotIf(flags),\n [_opcodes__WEBPACK_IMPORTED_MODULE_3__.OpcodesCommon.OP_VERIF]: reservedOperation(),\n [_opcodes__WEBPACK_IMPORTED_MODULE_3__.OpcodesCommon.OP_VERNOTIF]: reservedOperation(),\n [_opcodes__WEBPACK_IMPORTED_MODULE_3__.OpcodesCommon.OP_ELSE]: opElse(),\n [_opcodes__WEBPACK_IMPORTED_MODULE_3__.OpcodesCommon.OP_ENDIF]: opEndIf(),\n});\n//# sourceMappingURL=flow-control.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/flow-control.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/nop.js": +/*!******************************************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/nop.js ***! + \******************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ disabledOperation: () => (/* binding */ disabledOperation),\n/* harmony export */ disabledOperations: () => (/* binding */ disabledOperations),\n/* harmony export */ nonOperations: () => (/* binding */ nonOperations),\n/* harmony export */ opNop: () => (/* binding */ opNop)\n/* harmony export */ });\n/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./errors */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/errors.js\");\n/* harmony import */ var _opcodes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./opcodes */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/opcodes.js\");\n\n\nconst opNop = (flags) => (state) => flags.disallowUpgradableNops\n ? (0,_errors__WEBPACK_IMPORTED_MODULE_0__.applyError)(_errors__WEBPACK_IMPORTED_MODULE_0__.AuthenticationErrorCommon.calledUpgradableNop, state)\n : state;\nconst nonOperations = (flags) => ({\n [_opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_NOP]: opNop(flags),\n [_opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_NOP1]: opNop(flags),\n [_opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_NOP4]: opNop(flags),\n [_opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_NOP5]: opNop(flags),\n [_opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_NOP6]: opNop(flags),\n [_opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_NOP7]: opNop(flags),\n [_opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_NOP8]: opNop(flags),\n [_opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_NOP9]: opNop(flags),\n [_opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_NOP10]: opNop(flags),\n});\n/**\n * \"Disabled\" operations are explicitly forbidden from occurring anywhere in a\n * script, even within an unexecuted branch.\n */\nconst disabledOperation = () => (state) => (0,_errors__WEBPACK_IMPORTED_MODULE_0__.applyError)(_errors__WEBPACK_IMPORTED_MODULE_0__.AuthenticationErrorCommon.unknownOpcode, state);\nconst disabledOperations = () => ({\n [_opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_CAT]: disabledOperation(),\n [_opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_SUBSTR]: disabledOperation(),\n [_opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_LEFT]: disabledOperation(),\n [_opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_RIGHT]: disabledOperation(),\n [_opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_INVERT]: disabledOperation(),\n [_opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_AND]: disabledOperation(),\n [_opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_OR]: disabledOperation(),\n [_opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_XOR]: disabledOperation(),\n [_opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_2MUL]: disabledOperation(),\n [_opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_2DIV]: disabledOperation(),\n [_opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_MUL]: disabledOperation(),\n [_opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_DIV]: disabledOperation(),\n [_opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_MOD]: disabledOperation(),\n [_opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_LSHIFT]: disabledOperation(),\n [_opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_RSHIFT]: disabledOperation(),\n});\n//# sourceMappingURL=nop.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/nop.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/opcodes.js": +/*!**********************************************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/opcodes.js ***! + \**********************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ OpcodesCommon: () => (/* binding */ OpcodesCommon)\n/* harmony export */ });\nvar OpcodesCommon;\n(function (OpcodesCommon) {\n /**\n * A.K.A. `OP_FALSE` or `OP_PUSHBYTES_0`\n */\n OpcodesCommon[OpcodesCommon[\"OP_0\"] = 0] = \"OP_0\";\n OpcodesCommon[OpcodesCommon[\"OP_PUSHBYTES_1\"] = 1] = \"OP_PUSHBYTES_1\";\n OpcodesCommon[OpcodesCommon[\"OP_PUSHBYTES_2\"] = 2] = \"OP_PUSHBYTES_2\";\n OpcodesCommon[OpcodesCommon[\"OP_PUSHBYTES_3\"] = 3] = \"OP_PUSHBYTES_3\";\n OpcodesCommon[OpcodesCommon[\"OP_PUSHBYTES_4\"] = 4] = \"OP_PUSHBYTES_4\";\n OpcodesCommon[OpcodesCommon[\"OP_PUSHBYTES_5\"] = 5] = \"OP_PUSHBYTES_5\";\n OpcodesCommon[OpcodesCommon[\"OP_PUSHBYTES_6\"] = 6] = \"OP_PUSHBYTES_6\";\n OpcodesCommon[OpcodesCommon[\"OP_PUSHBYTES_7\"] = 7] = \"OP_PUSHBYTES_7\";\n OpcodesCommon[OpcodesCommon[\"OP_PUSHBYTES_8\"] = 8] = \"OP_PUSHBYTES_8\";\n OpcodesCommon[OpcodesCommon[\"OP_PUSHBYTES_9\"] = 9] = \"OP_PUSHBYTES_9\";\n OpcodesCommon[OpcodesCommon[\"OP_PUSHBYTES_10\"] = 10] = \"OP_PUSHBYTES_10\";\n OpcodesCommon[OpcodesCommon[\"OP_PUSHBYTES_11\"] = 11] = \"OP_PUSHBYTES_11\";\n OpcodesCommon[OpcodesCommon[\"OP_PUSHBYTES_12\"] = 12] = \"OP_PUSHBYTES_12\";\n OpcodesCommon[OpcodesCommon[\"OP_PUSHBYTES_13\"] = 13] = \"OP_PUSHBYTES_13\";\n OpcodesCommon[OpcodesCommon[\"OP_PUSHBYTES_14\"] = 14] = \"OP_PUSHBYTES_14\";\n OpcodesCommon[OpcodesCommon[\"OP_PUSHBYTES_15\"] = 15] = \"OP_PUSHBYTES_15\";\n OpcodesCommon[OpcodesCommon[\"OP_PUSHBYTES_16\"] = 16] = \"OP_PUSHBYTES_16\";\n OpcodesCommon[OpcodesCommon[\"OP_PUSHBYTES_17\"] = 17] = \"OP_PUSHBYTES_17\";\n OpcodesCommon[OpcodesCommon[\"OP_PUSHBYTES_18\"] = 18] = \"OP_PUSHBYTES_18\";\n OpcodesCommon[OpcodesCommon[\"OP_PUSHBYTES_19\"] = 19] = \"OP_PUSHBYTES_19\";\n OpcodesCommon[OpcodesCommon[\"OP_PUSHBYTES_20\"] = 20] = \"OP_PUSHBYTES_20\";\n OpcodesCommon[OpcodesCommon[\"OP_PUSHBYTES_21\"] = 21] = \"OP_PUSHBYTES_21\";\n OpcodesCommon[OpcodesCommon[\"OP_PUSHBYTES_22\"] = 22] = \"OP_PUSHBYTES_22\";\n OpcodesCommon[OpcodesCommon[\"OP_PUSHBYTES_23\"] = 23] = \"OP_PUSHBYTES_23\";\n OpcodesCommon[OpcodesCommon[\"OP_PUSHBYTES_24\"] = 24] = \"OP_PUSHBYTES_24\";\n OpcodesCommon[OpcodesCommon[\"OP_PUSHBYTES_25\"] = 25] = \"OP_PUSHBYTES_25\";\n OpcodesCommon[OpcodesCommon[\"OP_PUSHBYTES_26\"] = 26] = \"OP_PUSHBYTES_26\";\n OpcodesCommon[OpcodesCommon[\"OP_PUSHBYTES_27\"] = 27] = \"OP_PUSHBYTES_27\";\n OpcodesCommon[OpcodesCommon[\"OP_PUSHBYTES_28\"] = 28] = \"OP_PUSHBYTES_28\";\n OpcodesCommon[OpcodesCommon[\"OP_PUSHBYTES_29\"] = 29] = \"OP_PUSHBYTES_29\";\n OpcodesCommon[OpcodesCommon[\"OP_PUSHBYTES_30\"] = 30] = \"OP_PUSHBYTES_30\";\n OpcodesCommon[OpcodesCommon[\"OP_PUSHBYTES_31\"] = 31] = \"OP_PUSHBYTES_31\";\n OpcodesCommon[OpcodesCommon[\"OP_PUSHBYTES_32\"] = 32] = \"OP_PUSHBYTES_32\";\n OpcodesCommon[OpcodesCommon[\"OP_PUSHBYTES_33\"] = 33] = \"OP_PUSHBYTES_33\";\n OpcodesCommon[OpcodesCommon[\"OP_PUSHBYTES_34\"] = 34] = \"OP_PUSHBYTES_34\";\n OpcodesCommon[OpcodesCommon[\"OP_PUSHBYTES_35\"] = 35] = \"OP_PUSHBYTES_35\";\n OpcodesCommon[OpcodesCommon[\"OP_PUSHBYTES_36\"] = 36] = \"OP_PUSHBYTES_36\";\n OpcodesCommon[OpcodesCommon[\"OP_PUSHBYTES_37\"] = 37] = \"OP_PUSHBYTES_37\";\n OpcodesCommon[OpcodesCommon[\"OP_PUSHBYTES_38\"] = 38] = \"OP_PUSHBYTES_38\";\n OpcodesCommon[OpcodesCommon[\"OP_PUSHBYTES_39\"] = 39] = \"OP_PUSHBYTES_39\";\n OpcodesCommon[OpcodesCommon[\"OP_PUSHBYTES_40\"] = 40] = \"OP_PUSHBYTES_40\";\n OpcodesCommon[OpcodesCommon[\"OP_PUSHBYTES_41\"] = 41] = \"OP_PUSHBYTES_41\";\n OpcodesCommon[OpcodesCommon[\"OP_PUSHBYTES_42\"] = 42] = \"OP_PUSHBYTES_42\";\n OpcodesCommon[OpcodesCommon[\"OP_PUSHBYTES_43\"] = 43] = \"OP_PUSHBYTES_43\";\n OpcodesCommon[OpcodesCommon[\"OP_PUSHBYTES_44\"] = 44] = \"OP_PUSHBYTES_44\";\n OpcodesCommon[OpcodesCommon[\"OP_PUSHBYTES_45\"] = 45] = \"OP_PUSHBYTES_45\";\n OpcodesCommon[OpcodesCommon[\"OP_PUSHBYTES_46\"] = 46] = \"OP_PUSHBYTES_46\";\n OpcodesCommon[OpcodesCommon[\"OP_PUSHBYTES_47\"] = 47] = \"OP_PUSHBYTES_47\";\n OpcodesCommon[OpcodesCommon[\"OP_PUSHBYTES_48\"] = 48] = \"OP_PUSHBYTES_48\";\n OpcodesCommon[OpcodesCommon[\"OP_PUSHBYTES_49\"] = 49] = \"OP_PUSHBYTES_49\";\n OpcodesCommon[OpcodesCommon[\"OP_PUSHBYTES_50\"] = 50] = \"OP_PUSHBYTES_50\";\n OpcodesCommon[OpcodesCommon[\"OP_PUSHBYTES_51\"] = 51] = \"OP_PUSHBYTES_51\";\n OpcodesCommon[OpcodesCommon[\"OP_PUSHBYTES_52\"] = 52] = \"OP_PUSHBYTES_52\";\n OpcodesCommon[OpcodesCommon[\"OP_PUSHBYTES_53\"] = 53] = \"OP_PUSHBYTES_53\";\n OpcodesCommon[OpcodesCommon[\"OP_PUSHBYTES_54\"] = 54] = \"OP_PUSHBYTES_54\";\n OpcodesCommon[OpcodesCommon[\"OP_PUSHBYTES_55\"] = 55] = \"OP_PUSHBYTES_55\";\n OpcodesCommon[OpcodesCommon[\"OP_PUSHBYTES_56\"] = 56] = \"OP_PUSHBYTES_56\";\n OpcodesCommon[OpcodesCommon[\"OP_PUSHBYTES_57\"] = 57] = \"OP_PUSHBYTES_57\";\n OpcodesCommon[OpcodesCommon[\"OP_PUSHBYTES_58\"] = 58] = \"OP_PUSHBYTES_58\";\n OpcodesCommon[OpcodesCommon[\"OP_PUSHBYTES_59\"] = 59] = \"OP_PUSHBYTES_59\";\n OpcodesCommon[OpcodesCommon[\"OP_PUSHBYTES_60\"] = 60] = \"OP_PUSHBYTES_60\";\n OpcodesCommon[OpcodesCommon[\"OP_PUSHBYTES_61\"] = 61] = \"OP_PUSHBYTES_61\";\n OpcodesCommon[OpcodesCommon[\"OP_PUSHBYTES_62\"] = 62] = \"OP_PUSHBYTES_62\";\n OpcodesCommon[OpcodesCommon[\"OP_PUSHBYTES_63\"] = 63] = \"OP_PUSHBYTES_63\";\n OpcodesCommon[OpcodesCommon[\"OP_PUSHBYTES_64\"] = 64] = \"OP_PUSHBYTES_64\";\n OpcodesCommon[OpcodesCommon[\"OP_PUSHBYTES_65\"] = 65] = \"OP_PUSHBYTES_65\";\n OpcodesCommon[OpcodesCommon[\"OP_PUSHBYTES_66\"] = 66] = \"OP_PUSHBYTES_66\";\n OpcodesCommon[OpcodesCommon[\"OP_PUSHBYTES_67\"] = 67] = \"OP_PUSHBYTES_67\";\n OpcodesCommon[OpcodesCommon[\"OP_PUSHBYTES_68\"] = 68] = \"OP_PUSHBYTES_68\";\n OpcodesCommon[OpcodesCommon[\"OP_PUSHBYTES_69\"] = 69] = \"OP_PUSHBYTES_69\";\n OpcodesCommon[OpcodesCommon[\"OP_PUSHBYTES_70\"] = 70] = \"OP_PUSHBYTES_70\";\n OpcodesCommon[OpcodesCommon[\"OP_PUSHBYTES_71\"] = 71] = \"OP_PUSHBYTES_71\";\n OpcodesCommon[OpcodesCommon[\"OP_PUSHBYTES_72\"] = 72] = \"OP_PUSHBYTES_72\";\n OpcodesCommon[OpcodesCommon[\"OP_PUSHBYTES_73\"] = 73] = \"OP_PUSHBYTES_73\";\n OpcodesCommon[OpcodesCommon[\"OP_PUSHBYTES_74\"] = 74] = \"OP_PUSHBYTES_74\";\n OpcodesCommon[OpcodesCommon[\"OP_PUSHBYTES_75\"] = 75] = \"OP_PUSHBYTES_75\";\n OpcodesCommon[OpcodesCommon[\"OP_PUSHDATA_1\"] = 76] = \"OP_PUSHDATA_1\";\n OpcodesCommon[OpcodesCommon[\"OP_PUSHDATA_2\"] = 77] = \"OP_PUSHDATA_2\";\n OpcodesCommon[OpcodesCommon[\"OP_PUSHDATA_4\"] = 78] = \"OP_PUSHDATA_4\";\n OpcodesCommon[OpcodesCommon[\"OP_1NEGATE\"] = 79] = \"OP_1NEGATE\";\n OpcodesCommon[OpcodesCommon[\"OP_RESERVED\"] = 80] = \"OP_RESERVED\";\n /**\n * A.K.A. `OP_TRUE`\n */\n OpcodesCommon[OpcodesCommon[\"OP_1\"] = 81] = \"OP_1\";\n OpcodesCommon[OpcodesCommon[\"OP_2\"] = 82] = \"OP_2\";\n OpcodesCommon[OpcodesCommon[\"OP_3\"] = 83] = \"OP_3\";\n OpcodesCommon[OpcodesCommon[\"OP_4\"] = 84] = \"OP_4\";\n OpcodesCommon[OpcodesCommon[\"OP_5\"] = 85] = \"OP_5\";\n OpcodesCommon[OpcodesCommon[\"OP_6\"] = 86] = \"OP_6\";\n OpcodesCommon[OpcodesCommon[\"OP_7\"] = 87] = \"OP_7\";\n OpcodesCommon[OpcodesCommon[\"OP_8\"] = 88] = \"OP_8\";\n OpcodesCommon[OpcodesCommon[\"OP_9\"] = 89] = \"OP_9\";\n OpcodesCommon[OpcodesCommon[\"OP_10\"] = 90] = \"OP_10\";\n OpcodesCommon[OpcodesCommon[\"OP_11\"] = 91] = \"OP_11\";\n OpcodesCommon[OpcodesCommon[\"OP_12\"] = 92] = \"OP_12\";\n OpcodesCommon[OpcodesCommon[\"OP_13\"] = 93] = \"OP_13\";\n OpcodesCommon[OpcodesCommon[\"OP_14\"] = 94] = \"OP_14\";\n OpcodesCommon[OpcodesCommon[\"OP_15\"] = 95] = \"OP_15\";\n OpcodesCommon[OpcodesCommon[\"OP_16\"] = 96] = \"OP_16\";\n OpcodesCommon[OpcodesCommon[\"OP_NOP\"] = 97] = \"OP_NOP\";\n OpcodesCommon[OpcodesCommon[\"OP_VER\"] = 98] = \"OP_VER\";\n OpcodesCommon[OpcodesCommon[\"OP_IF\"] = 99] = \"OP_IF\";\n OpcodesCommon[OpcodesCommon[\"OP_NOTIF\"] = 100] = \"OP_NOTIF\";\n OpcodesCommon[OpcodesCommon[\"OP_VERIF\"] = 101] = \"OP_VERIF\";\n OpcodesCommon[OpcodesCommon[\"OP_VERNOTIF\"] = 102] = \"OP_VERNOTIF\";\n OpcodesCommon[OpcodesCommon[\"OP_ELSE\"] = 103] = \"OP_ELSE\";\n OpcodesCommon[OpcodesCommon[\"OP_ENDIF\"] = 104] = \"OP_ENDIF\";\n OpcodesCommon[OpcodesCommon[\"OP_VERIFY\"] = 105] = \"OP_VERIFY\";\n OpcodesCommon[OpcodesCommon[\"OP_RETURN\"] = 106] = \"OP_RETURN\";\n OpcodesCommon[OpcodesCommon[\"OP_TOALTSTACK\"] = 107] = \"OP_TOALTSTACK\";\n OpcodesCommon[OpcodesCommon[\"OP_FROMALTSTACK\"] = 108] = \"OP_FROMALTSTACK\";\n OpcodesCommon[OpcodesCommon[\"OP_2DROP\"] = 109] = \"OP_2DROP\";\n OpcodesCommon[OpcodesCommon[\"OP_2DUP\"] = 110] = \"OP_2DUP\";\n OpcodesCommon[OpcodesCommon[\"OP_3DUP\"] = 111] = \"OP_3DUP\";\n OpcodesCommon[OpcodesCommon[\"OP_2OVER\"] = 112] = \"OP_2OVER\";\n OpcodesCommon[OpcodesCommon[\"OP_2ROT\"] = 113] = \"OP_2ROT\";\n OpcodesCommon[OpcodesCommon[\"OP_2SWAP\"] = 114] = \"OP_2SWAP\";\n OpcodesCommon[OpcodesCommon[\"OP_IFDUP\"] = 115] = \"OP_IFDUP\";\n OpcodesCommon[OpcodesCommon[\"OP_DEPTH\"] = 116] = \"OP_DEPTH\";\n OpcodesCommon[OpcodesCommon[\"OP_DROP\"] = 117] = \"OP_DROP\";\n OpcodesCommon[OpcodesCommon[\"OP_DUP\"] = 118] = \"OP_DUP\";\n OpcodesCommon[OpcodesCommon[\"OP_NIP\"] = 119] = \"OP_NIP\";\n OpcodesCommon[OpcodesCommon[\"OP_OVER\"] = 120] = \"OP_OVER\";\n OpcodesCommon[OpcodesCommon[\"OP_PICK\"] = 121] = \"OP_PICK\";\n OpcodesCommon[OpcodesCommon[\"OP_ROLL\"] = 122] = \"OP_ROLL\";\n OpcodesCommon[OpcodesCommon[\"OP_ROT\"] = 123] = \"OP_ROT\";\n OpcodesCommon[OpcodesCommon[\"OP_SWAP\"] = 124] = \"OP_SWAP\";\n OpcodesCommon[OpcodesCommon[\"OP_TUCK\"] = 125] = \"OP_TUCK\";\n OpcodesCommon[OpcodesCommon[\"OP_CAT\"] = 126] = \"OP_CAT\";\n OpcodesCommon[OpcodesCommon[\"OP_SUBSTR\"] = 127] = \"OP_SUBSTR\";\n OpcodesCommon[OpcodesCommon[\"OP_LEFT\"] = 128] = \"OP_LEFT\";\n OpcodesCommon[OpcodesCommon[\"OP_RIGHT\"] = 129] = \"OP_RIGHT\";\n OpcodesCommon[OpcodesCommon[\"OP_SIZE\"] = 130] = \"OP_SIZE\";\n OpcodesCommon[OpcodesCommon[\"OP_INVERT\"] = 131] = \"OP_INVERT\";\n OpcodesCommon[OpcodesCommon[\"OP_AND\"] = 132] = \"OP_AND\";\n OpcodesCommon[OpcodesCommon[\"OP_OR\"] = 133] = \"OP_OR\";\n OpcodesCommon[OpcodesCommon[\"OP_XOR\"] = 134] = \"OP_XOR\";\n OpcodesCommon[OpcodesCommon[\"OP_EQUAL\"] = 135] = \"OP_EQUAL\";\n OpcodesCommon[OpcodesCommon[\"OP_EQUALVERIFY\"] = 136] = \"OP_EQUALVERIFY\";\n OpcodesCommon[OpcodesCommon[\"OP_RESERVED1\"] = 137] = \"OP_RESERVED1\";\n OpcodesCommon[OpcodesCommon[\"OP_RESERVED2\"] = 138] = \"OP_RESERVED2\";\n OpcodesCommon[OpcodesCommon[\"OP_1ADD\"] = 139] = \"OP_1ADD\";\n OpcodesCommon[OpcodesCommon[\"OP_1SUB\"] = 140] = \"OP_1SUB\";\n OpcodesCommon[OpcodesCommon[\"OP_2MUL\"] = 141] = \"OP_2MUL\";\n OpcodesCommon[OpcodesCommon[\"OP_2DIV\"] = 142] = \"OP_2DIV\";\n OpcodesCommon[OpcodesCommon[\"OP_NEGATE\"] = 143] = \"OP_NEGATE\";\n OpcodesCommon[OpcodesCommon[\"OP_ABS\"] = 144] = \"OP_ABS\";\n OpcodesCommon[OpcodesCommon[\"OP_NOT\"] = 145] = \"OP_NOT\";\n OpcodesCommon[OpcodesCommon[\"OP_0NOTEQUAL\"] = 146] = \"OP_0NOTEQUAL\";\n OpcodesCommon[OpcodesCommon[\"OP_ADD\"] = 147] = \"OP_ADD\";\n OpcodesCommon[OpcodesCommon[\"OP_SUB\"] = 148] = \"OP_SUB\";\n OpcodesCommon[OpcodesCommon[\"OP_MUL\"] = 149] = \"OP_MUL\";\n OpcodesCommon[OpcodesCommon[\"OP_DIV\"] = 150] = \"OP_DIV\";\n OpcodesCommon[OpcodesCommon[\"OP_MOD\"] = 151] = \"OP_MOD\";\n OpcodesCommon[OpcodesCommon[\"OP_LSHIFT\"] = 152] = \"OP_LSHIFT\";\n OpcodesCommon[OpcodesCommon[\"OP_RSHIFT\"] = 153] = \"OP_RSHIFT\";\n OpcodesCommon[OpcodesCommon[\"OP_BOOLAND\"] = 154] = \"OP_BOOLAND\";\n OpcodesCommon[OpcodesCommon[\"OP_BOOLOR\"] = 155] = \"OP_BOOLOR\";\n OpcodesCommon[OpcodesCommon[\"OP_NUMEQUAL\"] = 156] = \"OP_NUMEQUAL\";\n OpcodesCommon[OpcodesCommon[\"OP_NUMEQUALVERIFY\"] = 157] = \"OP_NUMEQUALVERIFY\";\n OpcodesCommon[OpcodesCommon[\"OP_NUMNOTEQUAL\"] = 158] = \"OP_NUMNOTEQUAL\";\n OpcodesCommon[OpcodesCommon[\"OP_LESSTHAN\"] = 159] = \"OP_LESSTHAN\";\n OpcodesCommon[OpcodesCommon[\"OP_GREATERTHAN\"] = 160] = \"OP_GREATERTHAN\";\n OpcodesCommon[OpcodesCommon[\"OP_LESSTHANOREQUAL\"] = 161] = \"OP_LESSTHANOREQUAL\";\n OpcodesCommon[OpcodesCommon[\"OP_GREATERTHANOREQUAL\"] = 162] = \"OP_GREATERTHANOREQUAL\";\n OpcodesCommon[OpcodesCommon[\"OP_MIN\"] = 163] = \"OP_MIN\";\n OpcodesCommon[OpcodesCommon[\"OP_MAX\"] = 164] = \"OP_MAX\";\n OpcodesCommon[OpcodesCommon[\"OP_WITHIN\"] = 165] = \"OP_WITHIN\";\n OpcodesCommon[OpcodesCommon[\"OP_RIPEMD160\"] = 166] = \"OP_RIPEMD160\";\n OpcodesCommon[OpcodesCommon[\"OP_SHA1\"] = 167] = \"OP_SHA1\";\n OpcodesCommon[OpcodesCommon[\"OP_SHA256\"] = 168] = \"OP_SHA256\";\n OpcodesCommon[OpcodesCommon[\"OP_HASH160\"] = 169] = \"OP_HASH160\";\n OpcodesCommon[OpcodesCommon[\"OP_HASH256\"] = 170] = \"OP_HASH256\";\n OpcodesCommon[OpcodesCommon[\"OP_CODESEPARATOR\"] = 171] = \"OP_CODESEPARATOR\";\n OpcodesCommon[OpcodesCommon[\"OP_CHECKSIG\"] = 172] = \"OP_CHECKSIG\";\n OpcodesCommon[OpcodesCommon[\"OP_CHECKSIGVERIFY\"] = 173] = \"OP_CHECKSIGVERIFY\";\n OpcodesCommon[OpcodesCommon[\"OP_CHECKMULTISIG\"] = 174] = \"OP_CHECKMULTISIG\";\n OpcodesCommon[OpcodesCommon[\"OP_CHECKMULTISIGVERIFY\"] = 175] = \"OP_CHECKMULTISIGVERIFY\";\n OpcodesCommon[OpcodesCommon[\"OP_NOP1\"] = 176] = \"OP_NOP1\";\n /**\n * Previously `OP_NOP2`\n */\n OpcodesCommon[OpcodesCommon[\"OP_CHECKLOCKTIMEVERIFY\"] = 177] = \"OP_CHECKLOCKTIMEVERIFY\";\n /**\n * Previously `OP_NOP2`\n */\n OpcodesCommon[OpcodesCommon[\"OP_CHECKSEQUENCEVERIFY\"] = 178] = \"OP_CHECKSEQUENCEVERIFY\";\n OpcodesCommon[OpcodesCommon[\"OP_NOP4\"] = 179] = \"OP_NOP4\";\n OpcodesCommon[OpcodesCommon[\"OP_NOP5\"] = 180] = \"OP_NOP5\";\n OpcodesCommon[OpcodesCommon[\"OP_NOP6\"] = 181] = \"OP_NOP6\";\n OpcodesCommon[OpcodesCommon[\"OP_NOP7\"] = 182] = \"OP_NOP7\";\n OpcodesCommon[OpcodesCommon[\"OP_NOP8\"] = 183] = \"OP_NOP8\";\n OpcodesCommon[OpcodesCommon[\"OP_NOP9\"] = 184] = \"OP_NOP9\";\n OpcodesCommon[OpcodesCommon[\"OP_NOP10\"] = 185] = \"OP_NOP10\";\n OpcodesCommon[OpcodesCommon[\"OP_UNKNOWN186\"] = 186] = \"OP_UNKNOWN186\";\n OpcodesCommon[OpcodesCommon[\"OP_UNKNOWN187\"] = 187] = \"OP_UNKNOWN187\";\n OpcodesCommon[OpcodesCommon[\"OP_UNKNOWN188\"] = 188] = \"OP_UNKNOWN188\";\n OpcodesCommon[OpcodesCommon[\"OP_UNKNOWN189\"] = 189] = \"OP_UNKNOWN189\";\n OpcodesCommon[OpcodesCommon[\"OP_UNKNOWN190\"] = 190] = \"OP_UNKNOWN190\";\n OpcodesCommon[OpcodesCommon[\"OP_UNKNOWN191\"] = 191] = \"OP_UNKNOWN191\";\n OpcodesCommon[OpcodesCommon[\"OP_UNKNOWN192\"] = 192] = \"OP_UNKNOWN192\";\n OpcodesCommon[OpcodesCommon[\"OP_UNKNOWN193\"] = 193] = \"OP_UNKNOWN193\";\n OpcodesCommon[OpcodesCommon[\"OP_UNKNOWN194\"] = 194] = \"OP_UNKNOWN194\";\n OpcodesCommon[OpcodesCommon[\"OP_UNKNOWN195\"] = 195] = \"OP_UNKNOWN195\";\n OpcodesCommon[OpcodesCommon[\"OP_UNKNOWN196\"] = 196] = \"OP_UNKNOWN196\";\n OpcodesCommon[OpcodesCommon[\"OP_UNKNOWN197\"] = 197] = \"OP_UNKNOWN197\";\n OpcodesCommon[OpcodesCommon[\"OP_UNKNOWN198\"] = 198] = \"OP_UNKNOWN198\";\n OpcodesCommon[OpcodesCommon[\"OP_UNKNOWN199\"] = 199] = \"OP_UNKNOWN199\";\n OpcodesCommon[OpcodesCommon[\"OP_UNKNOWN200\"] = 200] = \"OP_UNKNOWN200\";\n OpcodesCommon[OpcodesCommon[\"OP_UNKNOWN201\"] = 201] = \"OP_UNKNOWN201\";\n OpcodesCommon[OpcodesCommon[\"OP_UNKNOWN202\"] = 202] = \"OP_UNKNOWN202\";\n OpcodesCommon[OpcodesCommon[\"OP_UNKNOWN203\"] = 203] = \"OP_UNKNOWN203\";\n OpcodesCommon[OpcodesCommon[\"OP_UNKNOWN204\"] = 204] = \"OP_UNKNOWN204\";\n OpcodesCommon[OpcodesCommon[\"OP_UNKNOWN205\"] = 205] = \"OP_UNKNOWN205\";\n OpcodesCommon[OpcodesCommon[\"OP_UNKNOWN206\"] = 206] = \"OP_UNKNOWN206\";\n OpcodesCommon[OpcodesCommon[\"OP_UNKNOWN207\"] = 207] = \"OP_UNKNOWN207\";\n OpcodesCommon[OpcodesCommon[\"OP_UNKNOWN208\"] = 208] = \"OP_UNKNOWN208\";\n OpcodesCommon[OpcodesCommon[\"OP_UNKNOWN209\"] = 209] = \"OP_UNKNOWN209\";\n OpcodesCommon[OpcodesCommon[\"OP_UNKNOWN210\"] = 210] = \"OP_UNKNOWN210\";\n OpcodesCommon[OpcodesCommon[\"OP_UNKNOWN211\"] = 211] = \"OP_UNKNOWN211\";\n OpcodesCommon[OpcodesCommon[\"OP_UNKNOWN212\"] = 212] = \"OP_UNKNOWN212\";\n OpcodesCommon[OpcodesCommon[\"OP_UNKNOWN213\"] = 213] = \"OP_UNKNOWN213\";\n OpcodesCommon[OpcodesCommon[\"OP_UNKNOWN214\"] = 214] = \"OP_UNKNOWN214\";\n OpcodesCommon[OpcodesCommon[\"OP_UNKNOWN215\"] = 215] = \"OP_UNKNOWN215\";\n OpcodesCommon[OpcodesCommon[\"OP_UNKNOWN216\"] = 216] = \"OP_UNKNOWN216\";\n OpcodesCommon[OpcodesCommon[\"OP_UNKNOWN217\"] = 217] = \"OP_UNKNOWN217\";\n OpcodesCommon[OpcodesCommon[\"OP_UNKNOWN218\"] = 218] = \"OP_UNKNOWN218\";\n OpcodesCommon[OpcodesCommon[\"OP_UNKNOWN219\"] = 219] = \"OP_UNKNOWN219\";\n OpcodesCommon[OpcodesCommon[\"OP_UNKNOWN220\"] = 220] = \"OP_UNKNOWN220\";\n OpcodesCommon[OpcodesCommon[\"OP_UNKNOWN221\"] = 221] = \"OP_UNKNOWN221\";\n OpcodesCommon[OpcodesCommon[\"OP_UNKNOWN222\"] = 222] = \"OP_UNKNOWN222\";\n OpcodesCommon[OpcodesCommon[\"OP_UNKNOWN223\"] = 223] = \"OP_UNKNOWN223\";\n OpcodesCommon[OpcodesCommon[\"OP_UNKNOWN224\"] = 224] = \"OP_UNKNOWN224\";\n OpcodesCommon[OpcodesCommon[\"OP_UNKNOWN225\"] = 225] = \"OP_UNKNOWN225\";\n OpcodesCommon[OpcodesCommon[\"OP_UNKNOWN226\"] = 226] = \"OP_UNKNOWN226\";\n OpcodesCommon[OpcodesCommon[\"OP_UNKNOWN227\"] = 227] = \"OP_UNKNOWN227\";\n OpcodesCommon[OpcodesCommon[\"OP_UNKNOWN228\"] = 228] = \"OP_UNKNOWN228\";\n OpcodesCommon[OpcodesCommon[\"OP_UNKNOWN229\"] = 229] = \"OP_UNKNOWN229\";\n OpcodesCommon[OpcodesCommon[\"OP_UNKNOWN230\"] = 230] = \"OP_UNKNOWN230\";\n OpcodesCommon[OpcodesCommon[\"OP_UNKNOWN231\"] = 231] = \"OP_UNKNOWN231\";\n OpcodesCommon[OpcodesCommon[\"OP_UNKNOWN232\"] = 232] = \"OP_UNKNOWN232\";\n OpcodesCommon[OpcodesCommon[\"OP_UNKNOWN233\"] = 233] = \"OP_UNKNOWN233\";\n OpcodesCommon[OpcodesCommon[\"OP_UNKNOWN234\"] = 234] = \"OP_UNKNOWN234\";\n OpcodesCommon[OpcodesCommon[\"OP_UNKNOWN235\"] = 235] = \"OP_UNKNOWN235\";\n OpcodesCommon[OpcodesCommon[\"OP_UNKNOWN236\"] = 236] = \"OP_UNKNOWN236\";\n OpcodesCommon[OpcodesCommon[\"OP_UNKNOWN237\"] = 237] = \"OP_UNKNOWN237\";\n OpcodesCommon[OpcodesCommon[\"OP_UNKNOWN238\"] = 238] = \"OP_UNKNOWN238\";\n OpcodesCommon[OpcodesCommon[\"OP_UNKNOWN239\"] = 239] = \"OP_UNKNOWN239\";\n OpcodesCommon[OpcodesCommon[\"OP_UNKNOWN240\"] = 240] = \"OP_UNKNOWN240\";\n OpcodesCommon[OpcodesCommon[\"OP_UNKNOWN241\"] = 241] = \"OP_UNKNOWN241\";\n OpcodesCommon[OpcodesCommon[\"OP_UNKNOWN242\"] = 242] = \"OP_UNKNOWN242\";\n OpcodesCommon[OpcodesCommon[\"OP_UNKNOWN243\"] = 243] = \"OP_UNKNOWN243\";\n OpcodesCommon[OpcodesCommon[\"OP_UNKNOWN244\"] = 244] = \"OP_UNKNOWN244\";\n OpcodesCommon[OpcodesCommon[\"OP_UNKNOWN245\"] = 245] = \"OP_UNKNOWN245\";\n OpcodesCommon[OpcodesCommon[\"OP_UNKNOWN246\"] = 246] = \"OP_UNKNOWN246\";\n OpcodesCommon[OpcodesCommon[\"OP_UNKNOWN247\"] = 247] = \"OP_UNKNOWN247\";\n OpcodesCommon[OpcodesCommon[\"OP_UNKNOWN248\"] = 248] = \"OP_UNKNOWN248\";\n OpcodesCommon[OpcodesCommon[\"OP_UNKNOWN249\"] = 249] = \"OP_UNKNOWN249\";\n OpcodesCommon[OpcodesCommon[\"OP_UNKNOWN250\"] = 250] = \"OP_UNKNOWN250\";\n OpcodesCommon[OpcodesCommon[\"OP_UNKNOWN251\"] = 251] = \"OP_UNKNOWN251\";\n OpcodesCommon[OpcodesCommon[\"OP_UNKNOWN252\"] = 252] = \"OP_UNKNOWN252\";\n OpcodesCommon[OpcodesCommon[\"OP_UNKNOWN253\"] = 253] = \"OP_UNKNOWN253\";\n OpcodesCommon[OpcodesCommon[\"OP_UNKNOWN254\"] = 254] = \"OP_UNKNOWN254\";\n OpcodesCommon[OpcodesCommon[\"OP_UNKNOWN255\"] = 255] = \"OP_UNKNOWN255\";\n})(OpcodesCommon || (OpcodesCommon = {}));\n//# sourceMappingURL=opcodes.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/opcodes.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/push.js": +/*!*******************************************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/push.js ***! + \*******************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PushOperationConstants: () => (/* binding */ PushOperationConstants),\n/* harmony export */ encodeDataPush: () => (/* binding */ encodeDataPush),\n/* harmony export */ isMinimalDataPush: () => (/* binding */ isMinimalDataPush),\n/* harmony export */ pushByteOpcodes: () => (/* binding */ pushByteOpcodes),\n/* harmony export */ pushNumberOpcodes: () => (/* binding */ pushNumberOpcodes),\n/* harmony export */ pushNumberOperations: () => (/* binding */ pushNumberOperations),\n/* harmony export */ pushOperation: () => (/* binding */ pushOperation),\n/* harmony export */ pushOperations: () => (/* binding */ pushOperations)\n/* harmony export */ });\n/* harmony import */ var _format_format__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../format/format */ \"./node_modules/@bitauth/libauth/build/module/lib/format/numbers.js\");\n/* harmony import */ var _format_hex__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../format/hex */ \"./node_modules/@bitauth/libauth/build/module/lib/format/hex.js\");\n/* harmony import */ var _combinators__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./combinators */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/combinators.js\");\n/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./errors */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/errors.js\");\n/* harmony import */ var _opcodes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./opcodes */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/opcodes.js\");\n/* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./types */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/types.js\");\n\n\n\n\n\n\nvar PushOperationConstants;\n(function (PushOperationConstants) {\n PushOperationConstants[PushOperationConstants[\"OP_0\"] = 0] = \"OP_0\";\n /**\n * OP_PUSHBYTES_75\n */\n PushOperationConstants[PushOperationConstants[\"maximumPushByteOperationSize\"] = 75] = \"maximumPushByteOperationSize\";\n PushOperationConstants[PushOperationConstants[\"OP_PUSHDATA_1\"] = 76] = \"OP_PUSHDATA_1\";\n PushOperationConstants[PushOperationConstants[\"OP_PUSHDATA_2\"] = 77] = \"OP_PUSHDATA_2\";\n PushOperationConstants[PushOperationConstants[\"OP_PUSHDATA_4\"] = 78] = \"OP_PUSHDATA_4\";\n /**\n * OP_PUSHDATA_4\n */\n PushOperationConstants[PushOperationConstants[\"highestPushDataOpcode\"] = 78] = \"highestPushDataOpcode\";\n /**\n * For OP_1 to OP_16, `opcode` is the number offset by `0x50` (80):\n *\n * `OP_N = 0x50 + N`\n *\n * OP_0 is really OP_PUSHBYTES_0 (`0x00`), so it does not follow this pattern.\n */\n PushOperationConstants[PushOperationConstants[\"pushNumberOpcodesOffset\"] = 80] = \"pushNumberOpcodesOffset\";\n /** OP_1 through OP_16 */\n PushOperationConstants[PushOperationConstants[\"pushNumberOpcodes\"] = 16] = \"pushNumberOpcodes\";\n PushOperationConstants[PushOperationConstants[\"negativeOne\"] = 129] = \"negativeOne\";\n PushOperationConstants[PushOperationConstants[\"OP_1NEGATE\"] = 79] = \"OP_1NEGATE\";\n /**\n * 256 - 1\n */\n PushOperationConstants[PushOperationConstants[\"maximumPushData1Size\"] = 255] = \"maximumPushData1Size\";\n /**\n * Standard consensus parameter for most Bitcoin forks.\n */\n PushOperationConstants[PushOperationConstants[\"maximumPushSize\"] = 520] = \"maximumPushSize\";\n /**\n * 256 ** 2 - 1\n */\n PushOperationConstants[PushOperationConstants[\"maximumPushData2Size\"] = 65535] = \"maximumPushData2Size\";\n /**\n * 256 ** 4 - 1\n */\n PushOperationConstants[PushOperationConstants[\"maximumPushData4Size\"] = 4294967295] = \"maximumPushData4Size\";\n})(PushOperationConstants || (PushOperationConstants = {}));\n/**\n * Returns the minimal bytecode required to push the provided `data` to the\n * stack.\n *\n * @remarks\n * This method conservatively encodes a `Uint8Array` as a data push. For Script\n * Numbers which can be pushed using a single opcode (-1 through 16), the\n * equivalent bytecode value is returned. Other `data` values will be prefixed\n * with the proper opcode and push length bytes (if necessary) to create the\n * minimal push instruction.\n *\n * Note, while some single-byte Script Number pushes will be minimally-encoded\n * by this method, all larger inputs will be encoded as-is (it cannot be assumed\n * that inputs are intended to be used as Script Numbers). To encode the push of\n * a Script Number, minimally-encode the number before passing it to this\n * method, e.g.:\n * `encodeDataPush(bigIntToScriptNumber(parseBytesAsScriptNumber(nonMinimalNumber)))`.\n *\n * The maximum `bytecode` length which can be encoded for a push in the Bitcoin\n * system is `4294967295` (~4GB). This method assumes a smaller input – if\n * `bytecode` has the potential to be longer, it should be checked (and the\n * error handled) prior to calling this method.\n *\n * @param data - the Uint8Array to push to the stack\n */\n// eslint-disable-next-line complexity\nconst encodeDataPush = (data) => data.length <= PushOperationConstants.maximumPushByteOperationSize\n ? data.length === 0\n ? Uint8Array.of(0)\n : data.length === 1\n ? data[0] !== 0 && data[0] <= PushOperationConstants.pushNumberOpcodes\n ? Uint8Array.of(data[0] + PushOperationConstants.pushNumberOpcodesOffset)\n : data[0] === PushOperationConstants.negativeOne\n ? Uint8Array.of(PushOperationConstants.OP_1NEGATE)\n : Uint8Array.from([1, ...data])\n : Uint8Array.from([data.length, ...data])\n : data.length <= PushOperationConstants.maximumPushData1Size\n ? Uint8Array.from([\n PushOperationConstants.OP_PUSHDATA_1,\n data.length,\n ...data,\n ])\n : data.length <= PushOperationConstants.maximumPushData2Size\n ? Uint8Array.from([\n PushOperationConstants.OP_PUSHDATA_2,\n ...(0,_format_format__WEBPACK_IMPORTED_MODULE_0__.numberToBinUint16LE)(data.length),\n ...data,\n ])\n : Uint8Array.from([\n PushOperationConstants.OP_PUSHDATA_4,\n ...(0,_format_format__WEBPACK_IMPORTED_MODULE_0__.numberToBinUint32LE)(data.length),\n ...data,\n ]);\n/**\n * Returns true if the provided `data` is minimally-encoded by the provided\n * `opcode`.\n * @param opcode - the opcode used to push `data`\n * @param data - the contents of the push\n */\n// eslint-disable-next-line complexity\nconst isMinimalDataPush = (opcode, data) => data.length === 0\n ? opcode === PushOperationConstants.OP_0\n : data.length === 1\n ? data[0] >= 1 && data[0] <= PushOperationConstants.pushNumberOpcodes\n ? opcode === data[0] + PushOperationConstants.pushNumberOpcodesOffset\n : data[0] === PushOperationConstants.negativeOne\n ? opcode === PushOperationConstants.OP_1NEGATE\n : true\n : data.length <= PushOperationConstants.maximumPushByteOperationSize\n ? opcode === data.length\n : data.length <= PushOperationConstants.maximumPushData1Size\n ? opcode === PushOperationConstants.OP_PUSHDATA_1\n : data.length <= PushOperationConstants.maximumPushData2Size\n ? opcode === PushOperationConstants.OP_PUSHDATA_2\n : true;\nconst pushByteOpcodes = [\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_PUSHBYTES_1,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_PUSHBYTES_2,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_PUSHBYTES_3,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_PUSHBYTES_4,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_PUSHBYTES_5,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_PUSHBYTES_6,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_PUSHBYTES_7,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_PUSHBYTES_8,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_PUSHBYTES_9,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_PUSHBYTES_10,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_PUSHBYTES_11,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_PUSHBYTES_12,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_PUSHBYTES_13,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_PUSHBYTES_14,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_PUSHBYTES_15,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_PUSHBYTES_16,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_PUSHBYTES_17,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_PUSHBYTES_18,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_PUSHBYTES_19,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_PUSHBYTES_20,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_PUSHBYTES_21,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_PUSHBYTES_22,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_PUSHBYTES_23,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_PUSHBYTES_24,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_PUSHBYTES_25,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_PUSHBYTES_26,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_PUSHBYTES_27,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_PUSHBYTES_28,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_PUSHBYTES_29,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_PUSHBYTES_30,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_PUSHBYTES_31,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_PUSHBYTES_32,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_PUSHBYTES_33,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_PUSHBYTES_34,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_PUSHBYTES_35,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_PUSHBYTES_36,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_PUSHBYTES_37,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_PUSHBYTES_38,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_PUSHBYTES_39,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_PUSHBYTES_40,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_PUSHBYTES_41,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_PUSHBYTES_42,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_PUSHBYTES_43,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_PUSHBYTES_44,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_PUSHBYTES_45,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_PUSHBYTES_46,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_PUSHBYTES_47,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_PUSHBYTES_48,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_PUSHBYTES_49,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_PUSHBYTES_50,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_PUSHBYTES_51,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_PUSHBYTES_52,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_PUSHBYTES_53,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_PUSHBYTES_54,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_PUSHBYTES_55,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_PUSHBYTES_56,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_PUSHBYTES_57,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_PUSHBYTES_58,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_PUSHBYTES_59,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_PUSHBYTES_60,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_PUSHBYTES_61,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_PUSHBYTES_62,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_PUSHBYTES_63,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_PUSHBYTES_64,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_PUSHBYTES_65,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_PUSHBYTES_66,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_PUSHBYTES_67,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_PUSHBYTES_68,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_PUSHBYTES_69,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_PUSHBYTES_70,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_PUSHBYTES_71,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_PUSHBYTES_72,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_PUSHBYTES_73,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_PUSHBYTES_74,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_PUSHBYTES_75,\n];\nconst executionIsActive = (state) => state.executionStack.every((item) => item);\nconst pushOperation = (flags, maximumPushSize = PushOperationConstants.maximumPushSize) => (state) => {\n const instruction = state.instructions[state.ip];\n return instruction.data.length > maximumPushSize\n ? (0,_errors__WEBPACK_IMPORTED_MODULE_2__.applyError)(_errors__WEBPACK_IMPORTED_MODULE_2__.AuthenticationErrorCommon.exceedsMaximumPush, state)\n : executionIsActive(state)\n ? flags.requireMinimalEncoding &&\n !isMinimalDataPush(instruction.opcode, instruction.data)\n ? (0,_errors__WEBPACK_IMPORTED_MODULE_2__.applyError)(_errors__WEBPACK_IMPORTED_MODULE_2__.AuthenticationErrorCommon.nonMinimalPush, state)\n : (0,_combinators__WEBPACK_IMPORTED_MODULE_3__.pushToStack)(state, instruction.data)\n : state;\n};\nconst pushOperations = (flags, maximumPushSize = PushOperationConstants.maximumPushSize) => {\n const push = pushOperation(flags, maximumPushSize);\n return (0,_format_hex__WEBPACK_IMPORTED_MODULE_4__.range)(PushOperationConstants.highestPushDataOpcode + 1).reduce((group, i) => ({ ...group, [i]: push }), {});\n};\nconst pushNumberOpcodes = [\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_1NEGATE,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_1,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_2,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_3,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_4,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_5,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_6,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_7,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_8,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_9,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_10,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_11,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_12,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_13,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_14,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_15,\n _opcodes__WEBPACK_IMPORTED_MODULE_1__.OpcodesCommon.OP_16,\n];\nconst op1NegateValue = -1;\nconst pushNumberOperations = () => pushNumberOpcodes\n .map((opcode, i) => [\n opcode,\n [op1NegateValue, ...(0,_format_hex__WEBPACK_IMPORTED_MODULE_4__.range)(PushOperationConstants.pushNumberOpcodes, 1)]\n .map(BigInt)\n .map(_types__WEBPACK_IMPORTED_MODULE_5__.bigIntToScriptNumber)[i],\n])\n .reduce((group, pair) => ({\n ...group,\n [pair[0]]: (state) => (0,_combinators__WEBPACK_IMPORTED_MODULE_3__.pushToStack)(state, pair[1].slice()),\n}), {});\n//# sourceMappingURL=push.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/push.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/signing-serialization.js": +/*!************************************************************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/signing-serialization.js ***! + \************************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SigningSerializationFlag: () => (/* binding */ SigningSerializationFlag),\n/* harmony export */ generateSigningSerializationBCH: () => (/* binding */ generateSigningSerializationBCH),\n/* harmony export */ hashOutputs: () => (/* binding */ hashOutputs),\n/* harmony export */ hashPrevouts: () => (/* binding */ hashPrevouts),\n/* harmony export */ hashSequence: () => (/* binding */ hashSequence),\n/* harmony export */ isDefinedSigningSerializationType: () => (/* binding */ isDefinedSigningSerializationType),\n/* harmony export */ isLegacySigningSerialization: () => (/* binding */ isLegacySigningSerialization)\n/* harmony export */ });\n/* harmony import */ var _format_format__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../format/format */ \"./node_modules/@bitauth/libauth/build/module/lib/format/hex.js\");\n/* harmony import */ var _format_format__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../format/format */ \"./node_modules/@bitauth/libauth/build/module/lib/format/numbers.js\");\n\n/**\n * A.K.A. `sighash` flags\n */\nvar SigningSerializationFlag;\n(function (SigningSerializationFlag) {\n /**\n * A.K.A. `SIGHASH_ALL`\n */\n SigningSerializationFlag[SigningSerializationFlag[\"allOutputs\"] = 1] = \"allOutputs\";\n /**\n * A.K.A `SIGHASH_NONE`\n */\n SigningSerializationFlag[SigningSerializationFlag[\"noOutputs\"] = 2] = \"noOutputs\";\n /**\n * A.K.A. `SIGHASH_SINGLE`\n */\n SigningSerializationFlag[SigningSerializationFlag[\"correspondingOutput\"] = 3] = \"correspondingOutput\";\n SigningSerializationFlag[SigningSerializationFlag[\"forkId\"] = 64] = \"forkId\";\n /**\n * A.K.A `ANYONE_CAN_PAY`\n */\n SigningSerializationFlag[SigningSerializationFlag[\"singleInput\"] = 128] = \"singleInput\";\n})(SigningSerializationFlag || (SigningSerializationFlag = {}));\nconst isDefinedSigningSerializationType = (byte) => {\n const baseType = \n // eslint-disable-next-line no-bitwise\n byte &\n // eslint-disable-next-line no-bitwise\n ~(SigningSerializationFlag.forkId | SigningSerializationFlag.singleInput);\n return (baseType >= SigningSerializationFlag.allOutputs &&\n baseType <= SigningSerializationFlag.correspondingOutput);\n};\nconst match = (type, flag) => \n// eslint-disable-next-line no-bitwise\n(type[0] & flag) !== 0;\nconst equals = (type, flag\n// eslint-disable-next-line no-bitwise\n) => (type[0] & 31 /* mask5Bits */) === flag;\nconst shouldSerializeSingleInput = (type) => match(type, SigningSerializationFlag.singleInput);\nconst shouldSerializeCorrespondingOutput = (type) => equals(type, SigningSerializationFlag.correspondingOutput);\nconst shouldSerializeNoOutputs = (type) => equals(type, SigningSerializationFlag.noOutputs);\nconst emptyHash = () => new Uint8Array(32 /* sha256HashByteLength */).fill(0);\n/**\n * Return the proper `hashPrevouts` value for a given a signing serialization\n * type.\n * @param signingSerializationType - the signing serialization type to test\n * @param transactionOutpoints - see `generateSigningSerializationBCH`\n */\nconst hashPrevouts = ({ sha256, signingSerializationType, transactionOutpoints, }) => shouldSerializeSingleInput(signingSerializationType)\n ? emptyHash()\n : sha256.hash(sha256.hash(transactionOutpoints));\n/**\n * Return the proper `hashSequence` value for a given a signing serialization\n * type.\n * @param signingSerializationType - the signing serialization type to test\n * @param transactionSequenceNumbers - see\n * `generateSigningSerializationBCH`\n */\nconst hashSequence = ({ sha256, signingSerializationType, transactionSequenceNumbers, }) => !shouldSerializeSingleInput(signingSerializationType) &&\n !shouldSerializeCorrespondingOutput(signingSerializationType) &&\n !shouldSerializeNoOutputs(signingSerializationType)\n ? sha256.hash(sha256.hash(transactionSequenceNumbers))\n : emptyHash();\n/**\n * Return the proper `hashOutputs` value for a given a signing serialization\n * type.\n * @param signingSerializationType - the signing serialization type to test\n * @param transactionOutputs - see `generateSigningSerializationBCH`\n * @param correspondingOutput - see `generateSigningSerializationBCH`\n */\nconst hashOutputs = ({ correspondingOutput, sha256, signingSerializationType, transactionOutputs, }) => !shouldSerializeCorrespondingOutput(signingSerializationType) &&\n !shouldSerializeNoOutputs(signingSerializationType)\n ? sha256.hash(sha256.hash(transactionOutputs))\n : shouldSerializeCorrespondingOutput(signingSerializationType)\n ? correspondingOutput === undefined\n ? emptyHash()\n : sha256.hash(sha256.hash(correspondingOutput))\n : emptyHash();\n/**\n * Serialize the signature-protected properties of a transaction following the\n * algorithm required by the `signingSerializationType` of a signature.\n *\n * Note: this implementation re-computes all hashes each time it is called. A\n * performance-critical application could instead use memoization to avoid\n * re-computing these values when validating many signatures within a single\n * transaction. See BIP143 for details.\n */\nconst generateSigningSerializationBCH = ({ correspondingOutput, coveredBytecode, forkId = new Uint8Array([0, 0, 0]), locktime, outpointIndex, outpointTransactionHash, outputValue, sequenceNumber, sha256, signingSerializationType, transactionOutpoints, transactionOutputs, transactionSequenceNumbers, version, }) => (0,_format_format__WEBPACK_IMPORTED_MODULE_0__.flattenBinArray)([\n (0,_format_format__WEBPACK_IMPORTED_MODULE_1__.numberToBinUint32LE)(version),\n hashPrevouts({ sha256, signingSerializationType, transactionOutpoints }),\n hashSequence({\n sha256,\n signingSerializationType,\n transactionSequenceNumbers,\n }),\n outpointTransactionHash.slice().reverse(),\n (0,_format_format__WEBPACK_IMPORTED_MODULE_1__.numberToBinUint32LE)(outpointIndex),\n (0,_format_format__WEBPACK_IMPORTED_MODULE_1__.bigIntToBitcoinVarInt)(BigInt(coveredBytecode.length)),\n coveredBytecode,\n outputValue,\n (0,_format_format__WEBPACK_IMPORTED_MODULE_1__.numberToBinUint32LE)(sequenceNumber),\n hashOutputs({\n correspondingOutput,\n sha256,\n signingSerializationType,\n transactionOutputs,\n }),\n (0,_format_format__WEBPACK_IMPORTED_MODULE_1__.numberToBinUint32LE)(locktime),\n signingSerializationType,\n forkId,\n]);\n/**\n * @param signingSerializationType - the 32-bit number indicating the signing\n * serialization algorithm to use\n */\nconst isLegacySigningSerialization = (signingSerializationType) => {\n // eslint-disable-next-line no-bitwise, @typescript-eslint/no-magic-numbers\n const forkValue = signingSerializationType >> 8;\n // eslint-disable-next-line no-bitwise, @typescript-eslint/no-magic-numbers\n const newForkValue = (forkValue ^ 0xdead) | 0xff0000;\n // eslint-disable-next-line no-bitwise, @typescript-eslint/no-magic-numbers\n const sighashType = (newForkValue << 8) | (signingSerializationType & 0xff);\n // eslint-disable-next-line no-bitwise\n return (sighashType & SigningSerializationFlag.forkId) === 0;\n};\n//# sourceMappingURL=signing-serialization.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/signing-serialization.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/splice.js": +/*!*********************************************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/splice.js ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ opSize: () => (/* binding */ opSize),\n/* harmony export */ spliceOperations: () => (/* binding */ spliceOperations)\n/* harmony export */ });\n/* harmony import */ var _combinators__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./combinators */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/combinators.js\");\n/* harmony import */ var _opcodes__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./opcodes */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/opcodes.js\");\n/* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./types */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/types.js\");\n\n\n\nconst opSize = () => (state) => (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.useOneStackItem)(state, (nextState, [item]) => (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.pushToStack)(nextState, item, (0,_types__WEBPACK_IMPORTED_MODULE_1__.bigIntToScriptNumber)(BigInt(item.length))));\nconst spliceOperations = () => ({\n [_opcodes__WEBPACK_IMPORTED_MODULE_2__.OpcodesCommon.OP_SIZE]: opSize(),\n});\n//# sourceMappingURL=splice.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/splice.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/stack.js": +/*!********************************************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/stack.js ***! + \********************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ op2Drop: () => (/* binding */ op2Drop),\n/* harmony export */ op2Dup: () => (/* binding */ op2Dup),\n/* harmony export */ op2Over: () => (/* binding */ op2Over),\n/* harmony export */ op2Rot: () => (/* binding */ op2Rot),\n/* harmony export */ op2Swap: () => (/* binding */ op2Swap),\n/* harmony export */ op3Dup: () => (/* binding */ op3Dup),\n/* harmony export */ opDepth: () => (/* binding */ opDepth),\n/* harmony export */ opDrop: () => (/* binding */ opDrop),\n/* harmony export */ opDup: () => (/* binding */ opDup),\n/* harmony export */ opFromAltStack: () => (/* binding */ opFromAltStack),\n/* harmony export */ opIfDup: () => (/* binding */ opIfDup),\n/* harmony export */ opNip: () => (/* binding */ opNip),\n/* harmony export */ opOver: () => (/* binding */ opOver),\n/* harmony export */ opPick: () => (/* binding */ opPick),\n/* harmony export */ opRoll: () => (/* binding */ opRoll),\n/* harmony export */ opRot: () => (/* binding */ opRot),\n/* harmony export */ opSwap: () => (/* binding */ opSwap),\n/* harmony export */ opToAltStack: () => (/* binding */ opToAltStack),\n/* harmony export */ opTuck: () => (/* binding */ opTuck),\n/* harmony export */ stackOperations: () => (/* binding */ stackOperations)\n/* harmony export */ });\n/* harmony import */ var _combinators__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./combinators */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/combinators.js\");\n/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./errors */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/errors.js\");\n/* harmony import */ var _opcodes__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./opcodes */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/opcodes.js\");\n/* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./types */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/types.js\");\n\n\n\n\nconst opToAltStack = () => (state) => (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.useOneStackItem)(state, (nextState, [item]) => {\n // eslint-disable-next-line functional/no-expression-statement, functional/immutable-data\n nextState.alternateStack.push(item);\n return nextState;\n});\nconst opFromAltStack = () => (state) => {\n // eslint-disable-next-line functional/immutable-data\n const item = state.alternateStack.pop();\n if (item === undefined) {\n return (0,_errors__WEBPACK_IMPORTED_MODULE_1__.applyError)(_errors__WEBPACK_IMPORTED_MODULE_1__.AuthenticationErrorCommon.emptyAlternateStack, state);\n }\n return (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.pushToStack)(state, item);\n};\nconst op2Drop = () => (state) => (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.useTwoStackItems)(state, (nextState) => nextState);\nconst op2Dup = () => (state) => (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.useTwoStackItems)(state, (nextState, [a, b]) => (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.pushToStack)(nextState, a, b, a.slice(), b.slice()));\nconst op3Dup = () => (state) => (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.useThreeStackItems)(state, (nextState, [a, b, c]) => (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.pushToStack)(nextState, a, b, c, a.slice(), b.slice(), c.slice()));\nconst op2Over = () => (state) => (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.useFourStackItems)(state, (nextState, [a, b, c, d]) => (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.pushToStack)(nextState, a, b, c, d, a.slice(), b.slice()));\nconst op2Rot = () => (state) => (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.useSixStackItems)(state, (nextState, [a, b, c, d, e, f]) => (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.pushToStack)(nextState, c, d, e, f, a, b));\nconst op2Swap = () => (state) => (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.useFourStackItems)(state, (nextState, [a, b, c, d]) => (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.pushToStack)(nextState, c, d, a, b));\nconst opIfDup = () => (state) => (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.useOneStackItem)(state, (nextState, [item]) => (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.pushToStack)(nextState, ...((0,_types__WEBPACK_IMPORTED_MODULE_2__.stackItemIsTruthy)(item) ? [item, item.slice()] : [item])));\nconst opDepth = () => (state) => (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.pushToStack)(state, (0,_types__WEBPACK_IMPORTED_MODULE_2__.bigIntToScriptNumber)(BigInt(state.stack.length)));\nconst opDrop = () => (state) => (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.useOneStackItem)(state, (nextState) => nextState);\nconst opDup = () => (state) => (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.useOneStackItem)(state, (nextState, [item]) => (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.pushToStack)(nextState, item, item.slice()));\nconst opNip = () => (state) => (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.useTwoStackItems)(state, (nextState, [, b]) => (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.pushToStack)(nextState, b));\nconst opOver = () => (state) => (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.useTwoStackItems)(state, (nextState, [a, b]) => (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.pushToStack)(nextState, a, b, a.slice()));\nconst opPick = ({ requireMinimalEncoding, }) => (state) => (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.useOneScriptNumber)(state, (nextState, depth) => {\n const item = nextState.stack[nextState.stack.length - 1 - Number(depth)];\n if (item === undefined) {\n return (0,_errors__WEBPACK_IMPORTED_MODULE_1__.applyError)(_errors__WEBPACK_IMPORTED_MODULE_1__.AuthenticationErrorCommon.invalidStackIndex, state);\n }\n return (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.pushToStack)(nextState, item.slice());\n}, { requireMinimalEncoding });\nconst opRoll = ({ requireMinimalEncoding, }) => (state) => (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.useOneScriptNumber)(state, (nextState, depth) => {\n const index = nextState.stack.length - 1 - Number(depth);\n if (index < 0 || index > nextState.stack.length - 1) {\n return (0,_errors__WEBPACK_IMPORTED_MODULE_1__.applyError)(_errors__WEBPACK_IMPORTED_MODULE_1__.AuthenticationErrorCommon.invalidStackIndex, state);\n }\n // eslint-disable-next-line functional/immutable-data\n return (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.pushToStack)(nextState, nextState.stack.splice(index, 1)[0]);\n}, { requireMinimalEncoding });\nconst opRot = () => (state) => (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.useThreeStackItems)(state, (nextState, [a, b, c]) => (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.pushToStack)(nextState, b, c, a));\nconst opSwap = () => (state) => (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.useTwoStackItems)(state, (nextState, [a, b]) => (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.pushToStack)(nextState, b, a));\nconst opTuck = () => (state) => (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.useTwoStackItems)(state, (nextState, [a, b]) => (0,_combinators__WEBPACK_IMPORTED_MODULE_0__.pushToStack)(nextState, b.slice(), a, b));\nconst stackOperations = (flags) => ({\n [_opcodes__WEBPACK_IMPORTED_MODULE_3__.OpcodesCommon.OP_TOALTSTACK]: opToAltStack(),\n [_opcodes__WEBPACK_IMPORTED_MODULE_3__.OpcodesCommon.OP_FROMALTSTACK]: opFromAltStack(),\n [_opcodes__WEBPACK_IMPORTED_MODULE_3__.OpcodesCommon.OP_2DROP]: op2Drop(),\n [_opcodes__WEBPACK_IMPORTED_MODULE_3__.OpcodesCommon.OP_2DUP]: op2Dup(),\n [_opcodes__WEBPACK_IMPORTED_MODULE_3__.OpcodesCommon.OP_3DUP]: op3Dup(),\n [_opcodes__WEBPACK_IMPORTED_MODULE_3__.OpcodesCommon.OP_2OVER]: op2Over(),\n [_opcodes__WEBPACK_IMPORTED_MODULE_3__.OpcodesCommon.OP_2ROT]: op2Rot(),\n [_opcodes__WEBPACK_IMPORTED_MODULE_3__.OpcodesCommon.OP_2SWAP]: op2Swap(),\n [_opcodes__WEBPACK_IMPORTED_MODULE_3__.OpcodesCommon.OP_IFDUP]: opIfDup(),\n [_opcodes__WEBPACK_IMPORTED_MODULE_3__.OpcodesCommon.OP_DEPTH]: opDepth(),\n [_opcodes__WEBPACK_IMPORTED_MODULE_3__.OpcodesCommon.OP_DROP]: opDrop(),\n [_opcodes__WEBPACK_IMPORTED_MODULE_3__.OpcodesCommon.OP_DUP]: opDup(),\n [_opcodes__WEBPACK_IMPORTED_MODULE_3__.OpcodesCommon.OP_NIP]: opNip(),\n [_opcodes__WEBPACK_IMPORTED_MODULE_3__.OpcodesCommon.OP_OVER]: opOver(),\n [_opcodes__WEBPACK_IMPORTED_MODULE_3__.OpcodesCommon.OP_PICK]: opPick(flags),\n [_opcodes__WEBPACK_IMPORTED_MODULE_3__.OpcodesCommon.OP_ROLL]: opRoll(flags),\n [_opcodes__WEBPACK_IMPORTED_MODULE_3__.OpcodesCommon.OP_ROT]: opRot(),\n [_opcodes__WEBPACK_IMPORTED_MODULE_3__.OpcodesCommon.OP_SWAP]: opSwap(),\n [_opcodes__WEBPACK_IMPORTED_MODULE_3__.OpcodesCommon.OP_TUCK]: opTuck(),\n});\n//# sourceMappingURL=stack.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/stack.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/time.js": +/*!*******************************************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/time.js ***! + \*******************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ opCheckLockTimeVerify: () => (/* binding */ opCheckLockTimeVerify),\n/* harmony export */ opCheckSequenceVerify: () => (/* binding */ opCheckSequenceVerify),\n/* harmony export */ readLocktime: () => (/* binding */ readLocktime),\n/* harmony export */ timeOperations: () => (/* binding */ timeOperations)\n/* harmony export */ });\n/* harmony import */ var _common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./common */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/types.js\");\n/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./errors */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/errors.js\");\n/* harmony import */ var _opcodes__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./opcodes */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/opcodes.js\");\n\n\n\nvar Bits;\n(function (Bits) {\n Bits[Bits[\"sequenceLocktimeDisableFlag\"] = 31] = \"sequenceLocktimeDisableFlag\";\n Bits[Bits[\"sequenceLocktimeTypeFlag\"] = 22] = \"sequenceLocktimeTypeFlag\";\n})(Bits || (Bits = {}));\nvar Constants;\n(function (Constants) {\n Constants[Constants[\"locktimeScriptNumberByteLength\"] = 5] = \"locktimeScriptNumberByteLength\";\n Constants[Constants[\"locktimeThreshold\"] = 500000000] = \"locktimeThreshold\";\n Constants[Constants[\"locktimeDisablingSequenceNumber\"] = 4294967295] = \"locktimeDisablingSequenceNumber\";\n Constants[Constants[\"sequenceLocktimeTransactionVersionMinimum\"] = 2] = \"sequenceLocktimeTransactionVersionMinimum\";\n // eslint-disable-next-line no-bitwise\n Constants[Constants[\"sequenceLocktimeDisableFlag\"] = 2147483648] = \"sequenceLocktimeDisableFlag\";\n // eslint-disable-next-line no-bitwise\n Constants[Constants[\"sequenceLocktimeTypeFlag\"] = 4194304] = \"sequenceLocktimeTypeFlag\";\n Constants[Constants[\"sequenceGranularity\"] = 9] = \"sequenceGranularity\";\n Constants[Constants[\"sequenceLocktimeMask\"] = 65535] = \"sequenceLocktimeMask\";\n})(Constants || (Constants = {}));\nconst readLocktime = (state, operation, flags) => {\n const item = state.stack[state.stack.length - 1];\n if (item === undefined) {\n return (0,_errors__WEBPACK_IMPORTED_MODULE_0__.applyError)(_errors__WEBPACK_IMPORTED_MODULE_0__.AuthenticationErrorCommon.emptyStack, state);\n }\n const parsedLocktime = (0,_common__WEBPACK_IMPORTED_MODULE_1__.parseBytesAsScriptNumber)(item, {\n maximumScriptNumberByteLength: Constants.locktimeScriptNumberByteLength,\n requireMinimalEncoding: flags.requireMinimalEncoding,\n });\n if ((0,_common__WEBPACK_IMPORTED_MODULE_1__.isScriptNumberError)(parsedLocktime)) {\n return (0,_errors__WEBPACK_IMPORTED_MODULE_0__.applyError)(_errors__WEBPACK_IMPORTED_MODULE_0__.AuthenticationErrorCommon.invalidScriptNumber, state);\n }\n const locktime = Number(parsedLocktime);\n if (locktime < 0) {\n return (0,_errors__WEBPACK_IMPORTED_MODULE_0__.applyError)(_errors__WEBPACK_IMPORTED_MODULE_0__.AuthenticationErrorCommon.negativeLocktime, state);\n }\n return operation(state, locktime);\n};\nconst locktimeTypesAreCompatible = (locktime, requiredLocktime) => (locktime < Constants.locktimeThreshold &&\n requiredLocktime < Constants.locktimeThreshold) ||\n (locktime >= Constants.locktimeThreshold &&\n requiredLocktime >= Constants.locktimeThreshold);\nconst opCheckLockTimeVerify = (flags) => (state) => readLocktime(state, (nextState, requiredLocktime) => {\n if (!locktimeTypesAreCompatible(nextState.locktime, requiredLocktime)) {\n return (0,_errors__WEBPACK_IMPORTED_MODULE_0__.applyError)(_errors__WEBPACK_IMPORTED_MODULE_0__.AuthenticationErrorCommon.incompatibleLocktimeType, nextState);\n }\n if (requiredLocktime > nextState.locktime) {\n return (0,_errors__WEBPACK_IMPORTED_MODULE_0__.applyError)(_errors__WEBPACK_IMPORTED_MODULE_0__.AuthenticationErrorCommon.unsatisfiedLocktime, nextState);\n }\n if (nextState.sequenceNumber === Constants.locktimeDisablingSequenceNumber) {\n return (0,_errors__WEBPACK_IMPORTED_MODULE_0__.applyError)(_errors__WEBPACK_IMPORTED_MODULE_0__.AuthenticationErrorCommon.locktimeDisabled, nextState);\n }\n return nextState;\n}, flags);\n// eslint-disable-next-line no-bitwise\nconst includesFlag = (value, flag) => (value & flag) !== 0;\nconst opCheckSequenceVerify = (flags) => (state) => readLocktime(state, \n// eslint-disable-next-line complexity\n(nextState, requiredSequence) => {\n const sequenceLocktimeDisabled = includesFlag(requiredSequence, Constants.sequenceLocktimeDisableFlag);\n if (sequenceLocktimeDisabled) {\n return nextState;\n }\n if (nextState.version < Constants.sequenceLocktimeTransactionVersionMinimum) {\n return (0,_errors__WEBPACK_IMPORTED_MODULE_0__.applyError)(_errors__WEBPACK_IMPORTED_MODULE_0__.AuthenticationErrorCommon.checkSequenceUnavailable, nextState);\n }\n if (includesFlag(nextState.sequenceNumber, Constants.sequenceLocktimeDisableFlag)) {\n return (0,_errors__WEBPACK_IMPORTED_MODULE_0__.applyError)(_errors__WEBPACK_IMPORTED_MODULE_0__.AuthenticationErrorCommon.unmatchedSequenceDisable, nextState);\n }\n if (includesFlag(requiredSequence, Constants.sequenceLocktimeTypeFlag) !==\n includesFlag(nextState.sequenceNumber, Constants.sequenceLocktimeTypeFlag)) {\n return (0,_errors__WEBPACK_IMPORTED_MODULE_0__.applyError)(_errors__WEBPACK_IMPORTED_MODULE_0__.AuthenticationErrorCommon.incompatibleSequenceType, nextState);\n }\n if (\n // eslint-disable-next-line no-bitwise\n (requiredSequence & Constants.sequenceLocktimeMask) >\n // eslint-disable-next-line no-bitwise\n (nextState.sequenceNumber & Constants.sequenceLocktimeMask)) {\n return (0,_errors__WEBPACK_IMPORTED_MODULE_0__.applyError)(_errors__WEBPACK_IMPORTED_MODULE_0__.AuthenticationErrorCommon.unsatisfiedSequenceNumber, nextState);\n }\n return nextState;\n}, flags);\nconst timeOperations = (flags) => ({\n [_opcodes__WEBPACK_IMPORTED_MODULE_2__.OpcodesCommon.OP_CHECKLOCKTIMEVERIFY]: opCheckLockTimeVerify(flags),\n [_opcodes__WEBPACK_IMPORTED_MODULE_2__.OpcodesCommon.OP_CHECKSEQUENCEVERIFY]: opCheckSequenceVerify(flags),\n});\n//# sourceMappingURL=time.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/time.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/types.js": +/*!********************************************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/types.js ***! + \********************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ScriptNumberError: () => (/* binding */ ScriptNumberError),\n/* harmony export */ bigIntToScriptNumber: () => (/* binding */ bigIntToScriptNumber),\n/* harmony export */ booleanToScriptNumber: () => (/* binding */ booleanToScriptNumber),\n/* harmony export */ isScriptNumberError: () => (/* binding */ isScriptNumberError),\n/* harmony export */ parseBytesAsScriptNumber: () => (/* binding */ parseBytesAsScriptNumber),\n/* harmony export */ stackItemIsTruthy: () => (/* binding */ stackItemIsTruthy)\n/* harmony export */ });\nvar ScriptNumberError;\n(function (ScriptNumberError) {\n ScriptNumberError[\"outOfRange\"] = \"Failed to parse Script Number: overflows Script Number range.\";\n ScriptNumberError[\"requiresMinimal\"] = \"Failed to parse Script Number: the number is not minimally-encoded.\";\n})(ScriptNumberError || (ScriptNumberError = {}));\nconst isScriptNumberError = (value) => value === ScriptNumberError.outOfRange ||\n value === ScriptNumberError.requiresMinimal;\nconst normalMaximumScriptNumberByteLength = 4;\n/**\n * This method attempts to parse a \"Script Number\", a format with which numeric\n * values are represented on the stack. (The Satoshi implementation calls this\n * `CScriptNum`.)\n *\n * If `bytes` is a valid Script Number, this method returns the represented\n * number in BigInt format. If `bytes` is not valid, a `ScriptNumberError` is\n * returned.\n *\n * All common operations accepting numeric parameters or pushing numeric values\n * to the stack currently use the Script Number format. The binary format of\n * numbers wouldn't be important if they could only be operated on by arithmetic\n * operators, but since the results of these operations may become input to\n * other operations (e.g. hashing), the specific representation is consensus-\n * critical.\n *\n * Parsing of Script Numbers is limited to 4 bytes (with the exception of\n * OP_CHECKLOCKTIMEVERIFY and OP_CHECKSEQUENCEVERIFY, which read up to 5-bytes).\n * The bytes are read as a signed integer (for 32-bits: inclusive range from\n * -2^31 + 1 to 2^31 - 1) in little-endian byte order. Script Numbers must\n * further be encoded as minimally as possible (no zero-padding). See code/tests\n * for details.\n *\n * @remarks\n * Operators may push numeric results to the stack which exceed the current\n * 4-byte length limit of Script Numbers. While these stack elements would\n * otherwise be valid Script Numbers, because of the 4-byte length limit, they\n * can only be used as non-numeric values in later operations.\n *\n * Most other implementations currently parse Script Numbers into 64-bit\n * integers to operate on them (rather than integers of arbitrary size like\n * BigInt). Currently, no operators are at risk of overflowing 64-bit integers\n * given 32-bit integer inputs, but future operators may require additional\n * refactoring in those implementations.\n *\n * @param bytes - a Uint8Array from the stack\n * @param requireMinimalEncoding - if true, this method returns an error when\n * parsing non-minimally encoded Script Numbers\n * @param maximumScriptNumberByteLength - the maximum valid number of bytes\n */\n// eslint-disable-next-line complexity\nconst parseBytesAsScriptNumber = (bytes, { maximumScriptNumberByteLength = normalMaximumScriptNumberByteLength, requireMinimalEncoding = true, } = {\n maximumScriptNumberByteLength: normalMaximumScriptNumberByteLength,\n requireMinimalEncoding: true,\n}) => {\n if (bytes.length === 0) {\n return BigInt(0);\n }\n if (bytes.length > maximumScriptNumberByteLength) {\n return ScriptNumberError.outOfRange;\n }\n const mostSignificantByte = bytes[bytes.length - 1];\n const secondMostSignificantByte = bytes[bytes.length - 1 - 1];\n const allButTheSignBit = 127;\n const justTheSignBit = 128;\n if (requireMinimalEncoding &&\n // eslint-disable-next-line no-bitwise\n (mostSignificantByte & allButTheSignBit) === 0 &&\n // eslint-disable-next-line no-bitwise\n (bytes.length <= 1 || (secondMostSignificantByte & justTheSignBit) === 0)) {\n return ScriptNumberError.requiresMinimal;\n }\n const bitsPerByte = 8;\n const signFlippingByte = 0x80;\n // eslint-disable-next-line functional/no-let\n let result = BigInt(0);\n // eslint-disable-next-line functional/no-let, functional/no-loop-statement, no-plusplus\n for (let byte = 0; byte < bytes.length; byte++) {\n // eslint-disable-next-line functional/no-expression-statement, no-bitwise\n result |= BigInt(bytes[byte]) << BigInt(byte * bitsPerByte);\n }\n /* eslint-disable no-bitwise */\n const isNegative = (bytes[bytes.length - 1] & signFlippingByte) !== 0;\n return isNegative\n ? -(result &\n ~(BigInt(signFlippingByte) << BigInt(bitsPerByte * (bytes.length - 1))))\n : result;\n /* eslint-enable no-bitwise */\n};\n/**\n * Convert a BigInt into the \"Script Number\" format. See\n * `parseBytesAsScriptNumber` for more information.\n *\n * @param integer - the BigInt to encode as a Script Number\n */\n// eslint-disable-next-line complexity\nconst bigIntToScriptNumber = (integer) => {\n if (integer === BigInt(0)) {\n return new Uint8Array();\n }\n const bytes = [];\n const isNegative = integer < 0;\n const byteStates = 0xff;\n const bitsPerByte = 8;\n // eslint-disable-next-line functional/no-let\n let remaining = isNegative ? -integer : integer;\n // eslint-disable-next-line functional/no-loop-statement\n while (remaining > 0) {\n // eslint-disable-next-line functional/no-expression-statement, functional/immutable-data, no-bitwise\n bytes.push(Number(remaining & BigInt(byteStates)));\n // eslint-disable-next-line functional/no-expression-statement, no-bitwise\n remaining >>= BigInt(bitsPerByte);\n }\n const signFlippingByte = 0x80;\n // eslint-disable-next-line no-bitwise, functional/no-conditional-statement\n if ((bytes[bytes.length - 1] & signFlippingByte) > 0) {\n // eslint-disable-next-line functional/no-expression-statement, functional/immutable-data\n bytes.push(isNegative ? signFlippingByte : 0x00);\n // eslint-disable-next-line functional/no-conditional-statement\n }\n else if (isNegative) {\n // eslint-disable-next-line functional/no-expression-statement, functional/immutable-data, no-bitwise\n bytes[bytes.length - 1] |= signFlippingByte;\n }\n return new Uint8Array(bytes);\n};\n/**\n * Returns true if the provided stack item is \"truthy\" in the sense required\n * by several operations (anything but zero and \"negative zero\").\n *\n * The Satoshi implementation calls this method `CastToBool`.\n *\n * @param item - the stack item to check for truthiness\n */\nconst stackItemIsTruthy = (item) => {\n const signFlippingByte = 0x80;\n // eslint-disable-next-line functional/no-let, functional/no-loop-statement, no-plusplus\n for (let i = 0; i < item.length; i++) {\n if (item[i] !== 0) {\n if (i === item.length - 1 && item[i] === signFlippingByte) {\n return false;\n }\n return true;\n }\n }\n return false;\n};\n/**\n * Convert a boolean into Script Number format (the type used to express\n * boolean values emitted by several operations).\n *\n * @param value - the boolean value to convert\n */\nconst booleanToScriptNumber = (value) => value ? bigIntToScriptNumber(BigInt(1)) : bigIntToScriptNumber(BigInt(0));\n//# sourceMappingURL=types.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/types.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/instruction-sets-types.js": +/*!******************************************************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/instruction-sets-types.js ***! + \******************************************************************************************************/ +/***/ (() => { + +eval("//# sourceMappingURL=instruction-sets-types.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/instruction-sets-types.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/instruction-sets-utils.js": +/*!******************************************************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/instruction-sets-utils.js ***! + \******************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ assembleBytecode: () => (/* binding */ assembleBytecode),\n/* harmony export */ assembleBytecodeBCH: () => (/* binding */ assembleBytecodeBCH),\n/* harmony export */ assembleBytecodeBTC: () => (/* binding */ assembleBytecodeBTC),\n/* harmony export */ authenticationInstructionIsMalformed: () => (/* binding */ authenticationInstructionIsMalformed),\n/* harmony export */ authenticationInstructionsAreMalformed: () => (/* binding */ authenticationInstructionsAreMalformed),\n/* harmony export */ authenticationInstructionsAreNotMalformed: () => (/* binding */ authenticationInstructionsAreNotMalformed),\n/* harmony export */ disassembleAuthenticationInstruction: () => (/* binding */ disassembleAuthenticationInstruction),\n/* harmony export */ disassembleBytecode: () => (/* binding */ disassembleBytecode),\n/* harmony export */ disassembleBytecodeBCH: () => (/* binding */ disassembleBytecodeBCH),\n/* harmony export */ disassembleBytecodeBTC: () => (/* binding */ disassembleBytecodeBTC),\n/* harmony export */ disassembleParsedAuthenticationInstruction: () => (/* binding */ disassembleParsedAuthenticationInstruction),\n/* harmony export */ disassembleParsedAuthenticationInstructionMalformed: () => (/* binding */ disassembleParsedAuthenticationInstructionMalformed),\n/* harmony export */ disassembleParsedAuthenticationInstructions: () => (/* binding */ disassembleParsedAuthenticationInstructions),\n/* harmony export */ generateBytecodeMap: () => (/* binding */ generateBytecodeMap),\n/* harmony export */ lengthBytesForPushOpcode: () => (/* binding */ lengthBytesForPushOpcode),\n/* harmony export */ parseBytecode: () => (/* binding */ parseBytecode),\n/* harmony export */ readAuthenticationInstruction: () => (/* binding */ readAuthenticationInstruction),\n/* harmony export */ serializeAuthenticationInstruction: () => (/* binding */ serializeAuthenticationInstruction),\n/* harmony export */ serializeAuthenticationInstructions: () => (/* binding */ serializeAuthenticationInstructions),\n/* harmony export */ serializeParsedAuthenticationInstruction: () => (/* binding */ serializeParsedAuthenticationInstruction),\n/* harmony export */ serializeParsedAuthenticationInstructionMalformed: () => (/* binding */ serializeParsedAuthenticationInstructionMalformed),\n/* harmony export */ serializeParsedAuthenticationInstructions: () => (/* binding */ serializeParsedAuthenticationInstructions)\n/* harmony export */ });\n/* harmony import */ var _format_format__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../format/format */ \"./node_modules/@bitauth/libauth/build/module/lib/format/hex.js\");\n/* harmony import */ var _format_format__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../format/format */ \"./node_modules/@bitauth/libauth/build/module/lib/format/numbers.js\");\n/* harmony import */ var _template_compiler__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../template/compiler */ \"./node_modules/@bitauth/libauth/build/module/lib/template/compiler.js\");\n/* harmony import */ var _bch_bch__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./bch/bch */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/bch/bch-opcodes.js\");\n/* harmony import */ var _btc_btc__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./btc/btc */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/btc/btc.js\");\n\n\n\n\n/**\n * A type-guard which checks if the provided instruction is malformed.\n * @param instruction - the instruction to check\n */\nconst authenticationInstructionIsMalformed = (instruction) => 'malformed' in instruction;\n/**\n * A type-guard which checks if the final instruction in the provided array of\n * instructions is malformed. (Only the final instruction can be malformed.)\n * @param instruction - the array of instructions to check\n */\nconst authenticationInstructionsAreMalformed = (instructions) => instructions.length > 0 &&\n authenticationInstructionIsMalformed(instructions[instructions.length - 1]);\n/**\n * A type-guard which confirms that the final instruction in the provided array\n * is not malformed. (Only the final instruction can be malformed.)\n * @param instruction - the array of instructions to check\n */\nconst authenticationInstructionsAreNotMalformed = (instructions) => !authenticationInstructionsAreMalformed(instructions);\nvar CommonPushOpcodes;\n(function (CommonPushOpcodes) {\n CommonPushOpcodes[CommonPushOpcodes[\"OP_0\"] = 0] = \"OP_0\";\n CommonPushOpcodes[CommonPushOpcodes[\"OP_PUSHDATA_1\"] = 76] = \"OP_PUSHDATA_1\";\n CommonPushOpcodes[CommonPushOpcodes[\"OP_PUSHDATA_2\"] = 77] = \"OP_PUSHDATA_2\";\n CommonPushOpcodes[CommonPushOpcodes[\"OP_PUSHDATA_4\"] = 78] = \"OP_PUSHDATA_4\";\n})(CommonPushOpcodes || (CommonPushOpcodes = {}));\nconst uint8Bytes = 1;\nconst uint16Bytes = 2;\nconst uint32Bytes = 4;\nconst readLittleEndianNumber = (script, index, length) => {\n const view = new DataView(script.buffer, index, length);\n const readAsLittleEndian = true;\n return length === uint8Bytes\n ? view.getUint8(0)\n : length === uint16Bytes\n ? view.getUint16(0, readAsLittleEndian)\n : view.getUint32(0, readAsLittleEndian);\n};\n/**\n * Returns the number of bytes used to indicate the length of the push in this\n * operation.\n * @param opcode - an opcode between 0x00 and 0x4e\n */\nconst lengthBytesForPushOpcode = (opcode) => opcode < CommonPushOpcodes.OP_PUSHDATA_1\n ? 0\n : opcode === CommonPushOpcodes.OP_PUSHDATA_1\n ? uint8Bytes\n : opcode === CommonPushOpcodes.OP_PUSHDATA_2\n ? uint16Bytes\n : uint32Bytes;\n/**\n * Parse one instruction from the provided script.\n *\n * Returns an object with an `instruction` referencing a\n * `ParsedAuthenticationInstruction`, and a `nextIndex` indicating the next\n * index from which to read. If the next index is greater than or equal to the\n * length of the script, the script has been fully parsed.\n *\n * The final `ParsedAuthenticationInstruction` from a serialized script may be\n * malformed if 1) the final operation is a push and 2) too few bytes remain for\n * the push operation to complete.\n *\n * @param script - the script from which to read the next instruction\n * @param index - the offset from which to begin reading\n */\n// eslint-disable-next-line complexity\nconst readAuthenticationInstruction = (script, index) => {\n const opcode = script[index];\n if (opcode > CommonPushOpcodes.OP_PUSHDATA_4) {\n return {\n instruction: {\n opcode: opcode,\n },\n nextIndex: index + 1,\n };\n }\n const lengthBytes = lengthBytesForPushOpcode(opcode);\n if (lengthBytes !== 0 && index + lengthBytes >= script.length) {\n const sliceStart = index + 1;\n const sliceEnd = sliceStart + lengthBytes;\n return {\n instruction: {\n expectedLengthBytes: lengthBytes,\n length: script.slice(sliceStart, sliceEnd),\n malformed: true,\n opcode: opcode,\n },\n nextIndex: sliceEnd,\n };\n }\n const dataBytes = lengthBytes === 0\n ? opcode\n : readLittleEndianNumber(script, index + 1, lengthBytes);\n const dataStart = index + 1 + lengthBytes;\n const dataEnd = dataStart + dataBytes;\n return {\n instruction: {\n data: script.slice(dataStart, dataEnd),\n ...(dataEnd > script.length\n ? {\n expectedDataBytes: dataEnd - dataStart,\n malformed: true,\n }\n : undefined),\n opcode: opcode,\n },\n nextIndex: dataEnd,\n };\n};\n/**\n * Parse authentication bytecode (`lockingBytecode` or `unlockingBytecode`)\n * into `ParsedAuthenticationInstructions`. The method\n * `authenticationInstructionsAreMalformed` can be used to check if these\n * instructions include a malformed instruction. If not, they are valid\n * `AuthenticationInstructions`.\n *\n * This implementation is common to most bitcoin forks, but the type parameter\n * can be used to strongly type the resulting instructions. For example:\n *\n * ```js\n * const instructions = parseAuthenticationBytecode(script);\n * ```\n *\n * @param script - the serialized script to parse\n */\nconst parseBytecode = (script) => {\n const instructions = [];\n // eslint-disable-next-line functional/no-let\n let i = 0;\n // eslint-disable-next-line functional/no-loop-statement\n while (i < script.length) {\n const { instruction, nextIndex } = readAuthenticationInstruction(script, i);\n // eslint-disable-next-line functional/no-expression-statement\n i = nextIndex;\n // eslint-disable-next-line functional/no-expression-statement, functional/immutable-data\n instructions.push(instruction);\n }\n return instructions;\n};\n/**\n * OP_0 is the only single-word push. All other push instructions will\n * disassemble to multiple ASM words. (OP_1-OP_16 are handled like normal\n * operations.)\n */\nconst isMultiWordPush = (opcode) => opcode !== CommonPushOpcodes.OP_0;\nconst formatAsmPushHex = (data) => data.length > 0 ? `0x${(0,_format_format__WEBPACK_IMPORTED_MODULE_0__.binToHex)(data)}` : '';\nconst formatMissingBytesAsm = (missing) => `[missing ${missing} byte${missing === 1 ? '' : 's'}]`;\nconst hasMalformedLength = (instruction) => 'length' in instruction;\nconst isPushData = (pushOpcode) => pushOpcode >= CommonPushOpcodes.OP_PUSHDATA_1;\n/**\n * Disassemble a malformed authentication instruction into a string description.\n * @param opcodes - a mapping of possible opcodes to their string representation\n * @param instruction - the malformed instruction to disassemble\n */\nconst disassembleParsedAuthenticationInstructionMalformed = (opcodes, instruction) => `${opcodes[instruction.opcode]} ${hasMalformedLength(instruction)\n ? `${formatAsmPushHex(instruction.length)}${formatMissingBytesAsm(instruction.expectedLengthBytes - instruction.length.length)}`\n : `${isPushData(instruction.opcode)\n ? `${instruction.expectedDataBytes} `\n : ''}${formatAsmPushHex(instruction.data)}${formatMissingBytesAsm(instruction.expectedDataBytes - instruction.data.length)}`}`;\n/**\n * Disassemble a properly-formed authentication instruction into a string\n * description.\n * @param opcodes - a mapping of possible opcodes to their string representation\n * @param instruction - the instruction to disassemble\n */\nconst disassembleAuthenticationInstruction = (opcodes, instruction) => `${opcodes[instruction.opcode]}${'data' in instruction &&\n isMultiWordPush(instruction.opcode)\n ? ` ${isPushData(instruction.opcode)\n ? `${instruction.data.length} `\n : ''}${formatAsmPushHex(instruction.data)}`\n : ''}`;\n/**\n * Disassemble a single `ParsedAuthenticationInstruction` (includes potentially\n * malformed instructions) into its ASM representation.\n *\n * @param script - the instruction to disassemble\n */\nconst disassembleParsedAuthenticationInstruction = (opcodes, instruction) => authenticationInstructionIsMalformed(instruction)\n ? disassembleParsedAuthenticationInstructionMalformed(opcodes, instruction)\n : disassembleAuthenticationInstruction(opcodes, instruction);\n/**\n * Disassemble an array of `ParsedAuthenticationInstructions` (including\n * potentially malformed instructions) into its ASM representation.\n *\n * @param script - the array of instructions to disassemble\n */\nconst disassembleParsedAuthenticationInstructions = (opcodes, instructions) => instructions\n .map((instruction) => disassembleParsedAuthenticationInstruction(opcodes, instruction))\n .join(' ');\n/**\n * Disassemble authentication bytecode into a lossless ASM representation. (All\n * push operations are represented with the same opcodes used in the bytecode,\n * even when non-minimally encoded.)\n *\n * @param opcodes - the set to use when determining the name of opcodes, e.g. `OpcodesBCH`\n * @param bytecode - the authentication bytecode to disassemble\n */\nconst disassembleBytecode = (opcodes, bytecode) => disassembleParsedAuthenticationInstructions(opcodes, parseBytecode(bytecode));\n/**\n * Disassemble BCH authentication bytecode into its ASM representation.\n * @param bytecode - the authentication bytecode to disassemble\n */\nconst disassembleBytecodeBCH = (bytecode) => disassembleParsedAuthenticationInstructions(_bch_bch__WEBPACK_IMPORTED_MODULE_1__.OpcodesBCH, parseBytecode(bytecode));\n/**\n * Disassemble BTC authentication bytecode into its ASM representation.\n * @param bytecode - the authentication bytecode to disassemble\n */\nconst disassembleBytecodeBTC = (bytecode) => disassembleParsedAuthenticationInstructions(_btc_btc__WEBPACK_IMPORTED_MODULE_2__.OpcodesBTC, parseBytecode(bytecode));\n/**\n * Create an object where each key is an opcode identifier and each value is\n * the bytecode value (`Uint8Array`) it represents.\n * @param opcodes - An opcode enum, e.g. `OpcodesBCH`\n */\nconst generateBytecodeMap = (opcodes) => Object.entries(opcodes)\n .filter((entry) => typeof entry[1] === 'number')\n .reduce((identifiers, pair) => ({\n ...identifiers,\n [pair[0]]: Uint8Array.of(pair[1]),\n}), {});\n/**\n * Re-assemble a string of disassembled bytecode (see `disassembleBytecode`).\n *\n * @param opcodes - a mapping of opcodes to their respective Uint8Array\n * representation\n * @param disassembledBytecode - the disassembled bytecode to re-assemble\n */\nconst assembleBytecode = (opcodes, disassembledBytecode) => {\n const environment = {\n opcodes,\n scripts: { asm: disassembledBytecode },\n };\n return (0,_template_compiler__WEBPACK_IMPORTED_MODULE_3__.createCompilerCommonSynchronous)(environment).generateBytecode('asm', {});\n};\n/**\n * Re-assemble a string of disassembled BCH bytecode (see\n * `disassembleBytecodeBCH`).\n *\n * Note, this method performs automatic minimization of push instructions.\n *\n * @param disassembledBytecode - the disassembled BCH bytecode to re-assemble\n */\nconst assembleBytecodeBCH = (disassembledBytecode) => assembleBytecode(generateBytecodeMap(_bch_bch__WEBPACK_IMPORTED_MODULE_1__.OpcodesBCH), disassembledBytecode);\n/**\n * Re-assemble a string of disassembled BCH bytecode (see\n * `disassembleBytecodeBTC`).\n *\n * Note, this method performs automatic minimization of push instructions.\n *\n * @param disassembledBytecode - the disassembled BTC bytecode to re-assemble\n */\nconst assembleBytecodeBTC = (disassembledBytecode) => assembleBytecode(generateBytecodeMap(_btc_btc__WEBPACK_IMPORTED_MODULE_2__.OpcodesBTC), disassembledBytecode);\nconst getInstructionLengthBytes = (instruction) => {\n const opcode = instruction.opcode;\n const expectedLength = lengthBytesForPushOpcode(opcode);\n return expectedLength === uint8Bytes\n ? Uint8Array.of(instruction.data.length)\n : expectedLength === uint16Bytes\n ? (0,_format_format__WEBPACK_IMPORTED_MODULE_4__.numberToBinUint16LE)(instruction.data.length)\n : (0,_format_format__WEBPACK_IMPORTED_MODULE_4__.numberToBinUint32LE)(instruction.data.length);\n};\n/**\n * Re-serialize a valid authentication instruction.\n * @param instruction - the instruction to serialize\n */\nconst serializeAuthenticationInstruction = (instruction) => Uint8Array.from([\n instruction.opcode,\n ...('data' in instruction\n ? [\n ...(isPushData(instruction.opcode)\n ? getInstructionLengthBytes(instruction)\n : []),\n ...instruction.data,\n ]\n : []),\n]);\n/**\n * Re-serialize a malformed authentication instruction.\n * @param instruction - the malformed instruction to serialize\n */\nconst serializeParsedAuthenticationInstructionMalformed = (instruction) => {\n const opcode = instruction.opcode;\n if (hasMalformedLength(instruction)) {\n return Uint8Array.from([opcode, ...instruction.length]);\n }\n if (isPushData(opcode)) {\n return Uint8Array.from([\n opcode,\n ...(opcode === CommonPushOpcodes.OP_PUSHDATA_1\n ? Uint8Array.of(instruction.expectedDataBytes)\n : opcode === CommonPushOpcodes.OP_PUSHDATA_2\n ? (0,_format_format__WEBPACK_IMPORTED_MODULE_4__.numberToBinUint16LE)(instruction.expectedDataBytes)\n : (0,_format_format__WEBPACK_IMPORTED_MODULE_4__.numberToBinUint32LE)(instruction.expectedDataBytes)),\n ...instruction.data,\n ]);\n }\n return Uint8Array.from([opcode, ...instruction.data]);\n};\n/**\n * Re-serialize a potentially-malformed authentication instruction.\n * @param instruction - the potentially-malformed instruction to serialize\n */\nconst serializeParsedAuthenticationInstruction = (instruction) => authenticationInstructionIsMalformed(instruction)\n ? serializeParsedAuthenticationInstructionMalformed(instruction)\n : serializeAuthenticationInstruction(instruction);\n/**\n * Re-serialize an array of valid authentication instructions.\n * @param instructions - the array of valid instructions to serialize\n */\nconst serializeAuthenticationInstructions = (instructions) => (0,_format_format__WEBPACK_IMPORTED_MODULE_0__.flattenBinArray)(instructions.map(serializeAuthenticationInstruction));\n/**\n * Re-serialize an array of potentially-malformed authentication instructions.\n * @param instructions - the array of instructions to serialize\n */\nconst serializeParsedAuthenticationInstructions = (instructions) => (0,_format_format__WEBPACK_IMPORTED_MODULE_0__.flattenBinArray)(instructions.map(serializeParsedAuthenticationInstruction));\n//# sourceMappingURL=instruction-sets-utils.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/instruction-sets-utils.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/instruction-sets.js": +/*!************************************************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/instruction-sets.js ***! + \************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AuthenticationErrorBCH: () => (/* reexport safe */ _bch_bch__WEBPACK_IMPORTED_MODULE_1__.AuthenticationErrorBCH),\n/* harmony export */ AuthenticationErrorCommon: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.AuthenticationErrorCommon),\n/* harmony export */ ConsensusBCH: () => (/* reexport safe */ _bch_bch__WEBPACK_IMPORTED_MODULE_1__.ConsensusBCH),\n/* harmony export */ ConsensusCommon: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.ConsensusCommon),\n/* harmony export */ InstructionSetBCH: () => (/* reexport safe */ _bch_bch__WEBPACK_IMPORTED_MODULE_1__.InstructionSetBCH),\n/* harmony export */ OpcodeAlternateNamesBCH: () => (/* reexport safe */ _bch_bch__WEBPACK_IMPORTED_MODULE_1__.OpcodeAlternateNamesBCH),\n/* harmony export */ OpcodeDescriptionsBCH: () => (/* reexport safe */ _bch_bch__WEBPACK_IMPORTED_MODULE_1__.OpcodeDescriptionsBCH),\n/* harmony export */ OpcodeDescriptionsCommon: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.OpcodeDescriptionsCommon),\n/* harmony export */ OpcodeDescriptionsUniqueBCH: () => (/* reexport safe */ _bch_bch__WEBPACK_IMPORTED_MODULE_1__.OpcodeDescriptionsUniqueBCH),\n/* harmony export */ OpcodesBCH: () => (/* reexport safe */ _bch_bch__WEBPACK_IMPORTED_MODULE_1__.OpcodesBCH),\n/* harmony export */ OpcodesBTC: () => (/* reexport safe */ _btc_btc__WEBPACK_IMPORTED_MODULE_0__.OpcodesBTC),\n/* harmony export */ OpcodesCommon: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.OpcodesCommon),\n/* harmony export */ PushOperationConstants: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.PushOperationConstants),\n/* harmony export */ ScriptNumberError: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.ScriptNumberError),\n/* harmony export */ SigningSerializationFlag: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.SigningSerializationFlag),\n/* harmony export */ applyError: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.applyError),\n/* harmony export */ arithmeticOperations: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.arithmeticOperations),\n/* harmony export */ assembleBitcoinABCScript: () => (/* reexport safe */ _bch_bch__WEBPACK_IMPORTED_MODULE_1__.assembleBitcoinABCScript),\n/* harmony export */ assembleBytecode: () => (/* reexport safe */ _instruction_sets_utils__WEBPACK_IMPORTED_MODULE_3__.assembleBytecode),\n/* harmony export */ assembleBytecodeBCH: () => (/* reexport safe */ _instruction_sets_utils__WEBPACK_IMPORTED_MODULE_3__.assembleBytecodeBCH),\n/* harmony export */ assembleBytecodeBTC: () => (/* reexport safe */ _instruction_sets_utils__WEBPACK_IMPORTED_MODULE_3__.assembleBytecodeBTC),\n/* harmony export */ authenticationInstructionIsMalformed: () => (/* reexport safe */ _instruction_sets_utils__WEBPACK_IMPORTED_MODULE_3__.authenticationInstructionIsMalformed),\n/* harmony export */ authenticationInstructionsAreMalformed: () => (/* reexport safe */ _instruction_sets_utils__WEBPACK_IMPORTED_MODULE_3__.authenticationInstructionsAreMalformed),\n/* harmony export */ authenticationInstructionsAreNotMalformed: () => (/* reexport safe */ _instruction_sets_utils__WEBPACK_IMPORTED_MODULE_3__.authenticationInstructionsAreNotMalformed),\n/* harmony export */ bigIntToScriptNumber: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.bigIntToScriptNumber),\n/* harmony export */ bitcoinABCOpcodes: () => (/* reexport safe */ _bch_bch__WEBPACK_IMPORTED_MODULE_1__.bitcoinABCOpcodes),\n/* harmony export */ bitcoinCashOperations: () => (/* reexport safe */ _bch_bch__WEBPACK_IMPORTED_MODULE_1__.bitcoinCashOperations),\n/* harmony export */ bitwiseOperation: () => (/* reexport safe */ _bch_bch__WEBPACK_IMPORTED_MODULE_1__.bitwiseOperation),\n/* harmony export */ bitwiseOperations: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.bitwiseOperations),\n/* harmony export */ booleanToScriptNumber: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.booleanToScriptNumber),\n/* harmony export */ checkLimitsCommon: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.checkLimitsCommon),\n/* harmony export */ cloneAuthenticationProgramStateCommon: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.cloneAuthenticationProgramStateCommon),\n/* harmony export */ cloneStack: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.cloneStack),\n/* harmony export */ combineOperations: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.combineOperations),\n/* harmony export */ commonOperations: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.commonOperations),\n/* harmony export */ conditionalFlowControlOperations: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.conditionalFlowControlOperations),\n/* harmony export */ conditionallyEvaluate: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.conditionallyEvaluate),\n/* harmony export */ createAuthenticationProgramInternalStateCommon: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.createAuthenticationProgramInternalStateCommon),\n/* harmony export */ createAuthenticationProgramStateCommon: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.createAuthenticationProgramStateCommon),\n/* harmony export */ createAuthenticationProgramStateCommonEmpty: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.createAuthenticationProgramStateCommonEmpty),\n/* harmony export */ createInstructionSetBCH: () => (/* reexport safe */ _bch_bch__WEBPACK_IMPORTED_MODULE_1__.createInstructionSetBCH),\n/* harmony export */ createTestAuthenticationProgramBCH: () => (/* reexport safe */ _bch_bch__WEBPACK_IMPORTED_MODULE_1__.createTestAuthenticationProgramBCH),\n/* harmony export */ createTransactionContextCommon: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.createTransactionContextCommon),\n/* harmony export */ createTransactionContextCommonEmpty: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.createTransactionContextCommonEmpty),\n/* harmony export */ createTransactionContextCommonTesting: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.createTransactionContextCommonTesting),\n/* harmony export */ cryptoOperations: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.cryptoOperations),\n/* harmony export */ decodeBitcoinSignature: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.decodeBitcoinSignature),\n/* harmony export */ disabledOperation: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.disabledOperation),\n/* harmony export */ disabledOperations: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.disabledOperations),\n/* harmony export */ disassembleAuthenticationInstruction: () => (/* reexport safe */ _instruction_sets_utils__WEBPACK_IMPORTED_MODULE_3__.disassembleAuthenticationInstruction),\n/* harmony export */ disassembleBytecode: () => (/* reexport safe */ _instruction_sets_utils__WEBPACK_IMPORTED_MODULE_3__.disassembleBytecode),\n/* harmony export */ disassembleBytecodeBCH: () => (/* reexport safe */ _instruction_sets_utils__WEBPACK_IMPORTED_MODULE_3__.disassembleBytecodeBCH),\n/* harmony export */ disassembleBytecodeBTC: () => (/* reexport safe */ _instruction_sets_utils__WEBPACK_IMPORTED_MODULE_3__.disassembleBytecodeBTC),\n/* harmony export */ disassembleParsedAuthenticationInstruction: () => (/* reexport safe */ _instruction_sets_utils__WEBPACK_IMPORTED_MODULE_3__.disassembleParsedAuthenticationInstruction),\n/* harmony export */ disassembleParsedAuthenticationInstructionMalformed: () => (/* reexport safe */ _instruction_sets_utils__WEBPACK_IMPORTED_MODULE_3__.disassembleParsedAuthenticationInstructionMalformed),\n/* harmony export */ disassembleParsedAuthenticationInstructions: () => (/* reexport safe */ _instruction_sets_utils__WEBPACK_IMPORTED_MODULE_3__.disassembleParsedAuthenticationInstructions),\n/* harmony export */ encodeDataPush: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.encodeDataPush),\n/* harmony export */ generateBytecodeMap: () => (/* reexport safe */ _instruction_sets_utils__WEBPACK_IMPORTED_MODULE_3__.generateBytecodeMap),\n/* harmony export */ generateSigningSerializationBCH: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.generateSigningSerializationBCH),\n/* harmony export */ getFlagsForInstructionSetBCH: () => (/* reexport safe */ _bch_bch__WEBPACK_IMPORTED_MODULE_1__.getFlagsForInstructionSetBCH),\n/* harmony export */ hashOutputs: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.hashOutputs),\n/* harmony export */ hashPrevouts: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.hashPrevouts),\n/* harmony export */ hashSequence: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.hashSequence),\n/* harmony export */ incrementOperationCount: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.incrementOperationCount),\n/* harmony export */ instantiateVirtualMachineBCH: () => (/* reexport safe */ _bch_bch__WEBPACK_IMPORTED_MODULE_1__.instantiateVirtualMachineBCH),\n/* harmony export */ instructionSetBCHCurrentStrict: () => (/* reexport safe */ _bch_bch__WEBPACK_IMPORTED_MODULE_1__.instructionSetBCHCurrentStrict),\n/* harmony export */ isDefinedSigningSerializationType: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.isDefinedSigningSerializationType),\n/* harmony export */ isLegacySigningSerialization: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.isLegacySigningSerialization),\n/* harmony export */ isMinimalDataPush: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.isMinimalDataPush),\n/* harmony export */ isPayToScriptHash: () => (/* reexport safe */ _bch_bch__WEBPACK_IMPORTED_MODULE_1__.isPayToScriptHash),\n/* harmony export */ isScriptNumberError: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.isScriptNumberError),\n/* harmony export */ isValidCompressedPublicKeyEncoding: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.isValidCompressedPublicKeyEncoding),\n/* harmony export */ isValidPublicKeyEncoding: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.isValidPublicKeyEncoding),\n/* harmony export */ isValidSignatureEncodingBCHRaw: () => (/* reexport safe */ _bch_bch__WEBPACK_IMPORTED_MODULE_1__.isValidSignatureEncodingBCHRaw),\n/* harmony export */ isValidSignatureEncodingBCHTransaction: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.isValidSignatureEncodingBCHTransaction),\n/* harmony export */ isValidSignatureEncodingDER: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.isValidSignatureEncodingDER),\n/* harmony export */ isValidUncompressedPublicKeyEncoding: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.isValidUncompressedPublicKeyEncoding),\n/* harmony export */ isWitnessProgram: () => (/* reexport safe */ _bch_bch__WEBPACK_IMPORTED_MODULE_1__.isWitnessProgram),\n/* harmony export */ lengthBytesForPushOpcode: () => (/* reexport safe */ _instruction_sets_utils__WEBPACK_IMPORTED_MODULE_3__.lengthBytesForPushOpcode),\n/* harmony export */ mapOverOperations: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.mapOverOperations),\n/* harmony export */ nonOperations: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.nonOperations),\n/* harmony export */ op0NotEqual: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.op0NotEqual),\n/* harmony export */ op1Add: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.op1Add),\n/* harmony export */ op1Sub: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.op1Sub),\n/* harmony export */ op2Drop: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.op2Drop),\n/* harmony export */ op2Dup: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.op2Dup),\n/* harmony export */ op2Over: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.op2Over),\n/* harmony export */ op2Rot: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.op2Rot),\n/* harmony export */ op2Swap: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.op2Swap),\n/* harmony export */ op3Dup: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.op3Dup),\n/* harmony export */ opAbs: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.opAbs),\n/* harmony export */ opAdd: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.opAdd),\n/* harmony export */ opAnd: () => (/* reexport safe */ _bch_bch__WEBPACK_IMPORTED_MODULE_1__.opAnd),\n/* harmony export */ opBin2Num: () => (/* reexport safe */ _bch_bch__WEBPACK_IMPORTED_MODULE_1__.opBin2Num),\n/* harmony export */ opBoolAnd: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.opBoolAnd),\n/* harmony export */ opBoolOr: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.opBoolOr),\n/* harmony export */ opCat: () => (/* reexport safe */ _bch_bch__WEBPACK_IMPORTED_MODULE_1__.opCat),\n/* harmony export */ opCheckDataSig: () => (/* reexport safe */ _bch_bch__WEBPACK_IMPORTED_MODULE_1__.opCheckDataSig),\n/* harmony export */ opCheckDataSigVerify: () => (/* reexport safe */ _bch_bch__WEBPACK_IMPORTED_MODULE_1__.opCheckDataSigVerify),\n/* harmony export */ opCheckLockTimeVerify: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.opCheckLockTimeVerify),\n/* harmony export */ opCheckMultiSig: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.opCheckMultiSig),\n/* harmony export */ opCheckMultiSigVerify: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.opCheckMultiSigVerify),\n/* harmony export */ opCheckSequenceVerify: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.opCheckSequenceVerify),\n/* harmony export */ opCheckSig: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.opCheckSig),\n/* harmony export */ opCheckSigVerify: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.opCheckSigVerify),\n/* harmony export */ opCodeSeparator: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.opCodeSeparator),\n/* harmony export */ opDepth: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.opDepth),\n/* harmony export */ opDiv: () => (/* reexport safe */ _bch_bch__WEBPACK_IMPORTED_MODULE_1__.opDiv),\n/* harmony export */ opDrop: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.opDrop),\n/* harmony export */ opDup: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.opDup),\n/* harmony export */ opElse: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.opElse),\n/* harmony export */ opEndIf: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.opEndIf),\n/* harmony export */ opEqual: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.opEqual),\n/* harmony export */ opEqualVerify: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.opEqualVerify),\n/* harmony export */ opFromAltStack: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.opFromAltStack),\n/* harmony export */ opGreaterThan: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.opGreaterThan),\n/* harmony export */ opGreaterThanOrEqual: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.opGreaterThanOrEqual),\n/* harmony export */ opHash160: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.opHash160),\n/* harmony export */ opHash256: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.opHash256),\n/* harmony export */ opIf: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.opIf),\n/* harmony export */ opIfDup: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.opIfDup),\n/* harmony export */ opLessThan: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.opLessThan),\n/* harmony export */ opLessThanOrEqual: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.opLessThanOrEqual),\n/* harmony export */ opMax: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.opMax),\n/* harmony export */ opMin: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.opMin),\n/* harmony export */ opMod: () => (/* reexport safe */ _bch_bch__WEBPACK_IMPORTED_MODULE_1__.opMod),\n/* harmony export */ opNegate: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.opNegate),\n/* harmony export */ opNip: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.opNip),\n/* harmony export */ opNop: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.opNop),\n/* harmony export */ opNot: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.opNot),\n/* harmony export */ opNotIf: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.opNotIf),\n/* harmony export */ opNum2Bin: () => (/* reexport safe */ _bch_bch__WEBPACK_IMPORTED_MODULE_1__.opNum2Bin),\n/* harmony export */ opNumEqual: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.opNumEqual),\n/* harmony export */ opNumEqualVerify: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.opNumEqualVerify),\n/* harmony export */ opNumNotEqual: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.opNumNotEqual),\n/* harmony export */ opOr: () => (/* reexport safe */ _bch_bch__WEBPACK_IMPORTED_MODULE_1__.opOr),\n/* harmony export */ opOver: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.opOver),\n/* harmony export */ opPick: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.opPick),\n/* harmony export */ opReturn: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.opReturn),\n/* harmony export */ opReverseBytes: () => (/* reexport safe */ _bch_bch__WEBPACK_IMPORTED_MODULE_1__.opReverseBytes),\n/* harmony export */ opRipemd160: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.opRipemd160),\n/* harmony export */ opRoll: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.opRoll),\n/* harmony export */ opRot: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.opRot),\n/* harmony export */ opSha1: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.opSha1),\n/* harmony export */ opSha256: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.opSha256),\n/* harmony export */ opSize: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.opSize),\n/* harmony export */ opSplit: () => (/* reexport safe */ _bch_bch__WEBPACK_IMPORTED_MODULE_1__.opSplit),\n/* harmony export */ opSub: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.opSub),\n/* harmony export */ opSwap: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.opSwap),\n/* harmony export */ opToAltStack: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.opToAltStack),\n/* harmony export */ opTuck: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.opTuck),\n/* harmony export */ opVerify: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.opVerify),\n/* harmony export */ opWithin: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.opWithin),\n/* harmony export */ opXor: () => (/* reexport safe */ _bch_bch__WEBPACK_IMPORTED_MODULE_1__.opXor),\n/* harmony export */ padMinimallyEncodedScriptNumber: () => (/* reexport safe */ _bch_bch__WEBPACK_IMPORTED_MODULE_1__.padMinimallyEncodedScriptNumber),\n/* harmony export */ parseBytecode: () => (/* reexport safe */ _instruction_sets_utils__WEBPACK_IMPORTED_MODULE_3__.parseBytecode),\n/* harmony export */ parseBytesAsScriptNumber: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.parseBytesAsScriptNumber),\n/* harmony export */ pushByteOpcodes: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.pushByteOpcodes),\n/* harmony export */ pushNumberOpcodes: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.pushNumberOpcodes),\n/* harmony export */ pushNumberOperations: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.pushNumberOperations),\n/* harmony export */ pushOperation: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.pushOperation),\n/* harmony export */ pushOperations: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.pushOperations),\n/* harmony export */ pushToStack: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.pushToStack),\n/* harmony export */ readAuthenticationInstruction: () => (/* reexport safe */ _instruction_sets_utils__WEBPACK_IMPORTED_MODULE_3__.readAuthenticationInstruction),\n/* harmony export */ readLocktime: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.readLocktime),\n/* harmony export */ reservedOperation: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.reservedOperation),\n/* harmony export */ serializeAuthenticationInstruction: () => (/* reexport safe */ _instruction_sets_utils__WEBPACK_IMPORTED_MODULE_3__.serializeAuthenticationInstruction),\n/* harmony export */ serializeAuthenticationInstructions: () => (/* reexport safe */ _instruction_sets_utils__WEBPACK_IMPORTED_MODULE_3__.serializeAuthenticationInstructions),\n/* harmony export */ serializeParsedAuthenticationInstruction: () => (/* reexport safe */ _instruction_sets_utils__WEBPACK_IMPORTED_MODULE_3__.serializeParsedAuthenticationInstruction),\n/* harmony export */ serializeParsedAuthenticationInstructionMalformed: () => (/* reexport safe */ _instruction_sets_utils__WEBPACK_IMPORTED_MODULE_3__.serializeParsedAuthenticationInstructionMalformed),\n/* harmony export */ serializeParsedAuthenticationInstructions: () => (/* reexport safe */ _instruction_sets_utils__WEBPACK_IMPORTED_MODULE_3__.serializeParsedAuthenticationInstructions),\n/* harmony export */ spliceOperations: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.spliceOperations),\n/* harmony export */ stackItemIsTruthy: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.stackItemIsTruthy),\n/* harmony export */ stackOperations: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.stackOperations),\n/* harmony export */ timeOperations: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.timeOperations),\n/* harmony export */ unconditionalFlowControlOperations: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.unconditionalFlowControlOperations),\n/* harmony export */ undefinedOperation: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.undefinedOperation),\n/* harmony export */ useFourStackItems: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.useFourStackItems),\n/* harmony export */ useOneScriptNumber: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.useOneScriptNumber),\n/* harmony export */ useOneStackItem: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.useOneStackItem),\n/* harmony export */ useSixStackItems: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.useSixStackItems),\n/* harmony export */ useThreeScriptNumbers: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.useThreeScriptNumbers),\n/* harmony export */ useThreeStackItems: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.useThreeStackItems),\n/* harmony export */ useTwoScriptNumbers: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.useTwoScriptNumbers),\n/* harmony export */ useTwoStackItems: () => (/* reexport safe */ _common_common__WEBPACK_IMPORTED_MODULE_2__.useTwoStackItems)\n/* harmony export */ });\n/* harmony import */ var _btc_btc__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./btc/btc */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/btc/btc.js\");\n/* harmony import */ var _bch_bch__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./bch/bch */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/bch/bch.js\");\n/* harmony import */ var _common_common__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./common/common */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/common/common.js\");\n/* harmony import */ var _instruction_sets_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./instruction-sets-utils */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/instruction-sets-utils.js\");\n/* harmony import */ var _instruction_sets_types__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./instruction-sets-types */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/instruction-sets-types.js\");\n/* harmony import */ var _instruction_sets_types__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_instruction_sets_types__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(const __WEBPACK_IMPORT_KEY__ in _instruction_sets_types__WEBPACK_IMPORTED_MODULE_4__) if([\"default\",\"OpcodesBTC\",\"AuthenticationErrorBCH\",\"ConsensusBCH\",\"InstructionSetBCH\",\"OpcodeAlternateNamesBCH\",\"OpcodeDescriptionsBCH\",\"OpcodeDescriptionsUniqueBCH\",\"OpcodesBCH\",\"assembleBitcoinABCScript\",\"bitcoinABCOpcodes\",\"bitcoinCashOperations\",\"bitwiseOperation\",\"createInstructionSetBCH\",\"createTestAuthenticationProgramBCH\",\"getFlagsForInstructionSetBCH\",\"instantiateVirtualMachineBCH\",\"instructionSetBCHCurrentStrict\",\"isPayToScriptHash\",\"isValidSignatureEncodingBCHRaw\",\"isWitnessProgram\",\"opAnd\",\"opBin2Num\",\"opCat\",\"opCheckDataSig\",\"opCheckDataSigVerify\",\"opDiv\",\"opMod\",\"opNum2Bin\",\"opOr\",\"opReverseBytes\",\"opSplit\",\"opXor\",\"padMinimallyEncodedScriptNumber\",\"AuthenticationErrorCommon\",\"ConsensusCommon\",\"OpcodeDescriptionsCommon\",\"OpcodesCommon\",\"PushOperationConstants\",\"ScriptNumberError\",\"SigningSerializationFlag\",\"applyError\",\"arithmeticOperations\",\"bigIntToScriptNumber\",\"bitwiseOperations\",\"booleanToScriptNumber\",\"checkLimitsCommon\",\"cloneAuthenticationProgramStateCommon\",\"cloneStack\",\"combineOperations\",\"commonOperations\",\"conditionalFlowControlOperations\",\"conditionallyEvaluate\",\"createAuthenticationProgramInternalStateCommon\",\"createAuthenticationProgramStateCommon\",\"createAuthenticationProgramStateCommonEmpty\",\"createTransactionContextCommon\",\"createTransactionContextCommonEmpty\",\"createTransactionContextCommonTesting\",\"cryptoOperations\",\"decodeBitcoinSignature\",\"disabledOperation\",\"disabledOperations\",\"encodeDataPush\",\"generateSigningSerializationBCH\",\"hashOutputs\",\"hashPrevouts\",\"hashSequence\",\"incrementOperationCount\",\"isDefinedSigningSerializationType\",\"isLegacySigningSerialization\",\"isMinimalDataPush\",\"isScriptNumberError\",\"isValidCompressedPublicKeyEncoding\",\"isValidPublicKeyEncoding\",\"isValidSignatureEncodingBCHTransaction\",\"isValidSignatureEncodingDER\",\"isValidUncompressedPublicKeyEncoding\",\"mapOverOperations\",\"nonOperations\",\"op0NotEqual\",\"op1Add\",\"op1Sub\",\"op2Drop\",\"op2Dup\",\"op2Over\",\"op2Rot\",\"op2Swap\",\"op3Dup\",\"opAbs\",\"opAdd\",\"opBoolAnd\",\"opBoolOr\",\"opCheckLockTimeVerify\",\"opCheckMultiSig\",\"opCheckMultiSigVerify\",\"opCheckSequenceVerify\",\"opCheckSig\",\"opCheckSigVerify\",\"opCodeSeparator\",\"opDepth\",\"opDrop\",\"opDup\",\"opElse\",\"opEndIf\",\"opEqual\",\"opEqualVerify\",\"opFromAltStack\",\"opGreaterThan\",\"opGreaterThanOrEqual\",\"opHash160\",\"opHash256\",\"opIf\",\"opIfDup\",\"opLessThan\",\"opLessThanOrEqual\",\"opMax\",\"opMin\",\"opNegate\",\"opNip\",\"opNop\",\"opNot\",\"opNotIf\",\"opNumEqual\",\"opNumEqualVerify\",\"opNumNotEqual\",\"opOver\",\"opPick\",\"opReturn\",\"opRipemd160\",\"opRoll\",\"opRot\",\"opSha1\",\"opSha256\",\"opSize\",\"opSub\",\"opSwap\",\"opToAltStack\",\"opTuck\",\"opVerify\",\"opWithin\",\"parseBytesAsScriptNumber\",\"pushByteOpcodes\",\"pushNumberOpcodes\",\"pushNumberOperations\",\"pushOperation\",\"pushOperations\",\"pushToStack\",\"readLocktime\",\"reservedOperation\",\"spliceOperations\",\"stackItemIsTruthy\",\"stackOperations\",\"timeOperations\",\"unconditionalFlowControlOperations\",\"undefinedOperation\",\"useFourStackItems\",\"useOneScriptNumber\",\"useOneStackItem\",\"useSixStackItems\",\"useThreeScriptNumbers\",\"useThreeStackItems\",\"useTwoScriptNumbers\",\"useTwoStackItems\",\"assembleBytecode\",\"assembleBytecodeBCH\",\"assembleBytecodeBTC\",\"authenticationInstructionIsMalformed\",\"authenticationInstructionsAreMalformed\",\"authenticationInstructionsAreNotMalformed\",\"disassembleAuthenticationInstruction\",\"disassembleBytecode\",\"disassembleBytecodeBCH\",\"disassembleBytecodeBTC\",\"disassembleParsedAuthenticationInstruction\",\"disassembleParsedAuthenticationInstructionMalformed\",\"disassembleParsedAuthenticationInstructions\",\"generateBytecodeMap\",\"lengthBytesForPushOpcode\",\"parseBytecode\",\"readAuthenticationInstruction\",\"serializeAuthenticationInstruction\",\"serializeAuthenticationInstructions\",\"serializeParsedAuthenticationInstruction\",\"serializeParsedAuthenticationInstructionMalformed\",\"serializeParsedAuthenticationInstructions\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = () => _instruction_sets_types__WEBPACK_IMPORTED_MODULE_4__[__WEBPACK_IMPORT_KEY__]\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n\n\n\n\n\n//# sourceMappingURL=instruction-sets.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/instruction-sets.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/vm/virtual-machine.js": +/*!******************************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/vm/virtual-machine.js ***! + \******************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ createAuthenticationVirtualMachine: () => (/* binding */ createAuthenticationVirtualMachine)\n/* harmony export */ });\n/* harmony import */ var _format_format__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../format/format */ \"./node_modules/@bitauth/libauth/build/module/lib/format/hex.js\");\n\n/**\n * Create an AuthenticationVirtualMachine to evaluate authentication programs\n * constructed from operations in the `instructionSet`.\n * @param instructionSet - an `InstructionSet`\n */\nconst createAuthenticationVirtualMachine = (instructionSet) => {\n const availableOpcodes = 256;\n const operators = (0,_format_format__WEBPACK_IMPORTED_MODULE_0__.range)(availableOpcodes).map((codepoint) => instructionSet.operations[codepoint] === undefined\n ? instructionSet.undefined\n : instructionSet.operations[codepoint]);\n const getCodepoint = (state) => state.instructions[state.ip];\n const after = (state) => {\n // eslint-disable-next-line functional/no-expression-statement, functional/immutable-data\n state.ip += 1;\n return state;\n };\n const getOperation = (state) => operators[getCodepoint(state).opcode];\n const stateStepMutate = (state) => after(getOperation(state)(state));\n const stateContinue = instructionSet.continue;\n /**\n * When we get real tail call optimization, this can be replaced\n * with recursion.\n */\n const untilComplete = (state, stepFunction) => {\n // eslint-disable-next-line functional/no-loop-statement\n while (stateContinue(state)) {\n // eslint-disable-next-line functional/no-expression-statement, no-param-reassign\n state = stepFunction(state);\n }\n return state;\n };\n const clone = (state) => instructionSet.clone(state);\n const { verify } = instructionSet;\n const stateEvaluate = (state) => untilComplete(clone(state), stateStepMutate);\n const stateDebugStep = (state) => {\n const operator = getOperation(state);\n return after(operator(clone(state)));\n };\n const stateDebug = (state) => {\n const trace = [];\n // eslint-disable-next-line functional/no-expression-statement, functional/immutable-data\n trace.push(state);\n // eslint-disable-next-line functional/no-expression-statement\n untilComplete(state, (currentState) => {\n const nextState = stateDebugStep(currentState);\n // eslint-disable-next-line functional/no-expression-statement, functional/immutable-data\n trace.push(nextState);\n return nextState;\n });\n return trace;\n };\n const stateStep = (state) => stateStepMutate(clone(state));\n const evaluate = (program) => instructionSet.evaluate(program, stateEvaluate);\n const debug = (program) => {\n const results = [];\n const proxyDebug = (state) => {\n var _a;\n const debugResult = stateDebug(state);\n // eslint-disable-next-line functional/no-expression-statement, functional/immutable-data\n results.push(...debugResult);\n return ((_a = debugResult[debugResult.length - 1]) !== null && _a !== void 0 ? _a : state);\n };\n const finalResult = instructionSet.evaluate(program, proxyDebug);\n return [...results, finalResult];\n };\n return {\n debug,\n evaluate,\n stateContinue,\n stateDebug,\n stateEvaluate,\n stateStep,\n stateStepMutate,\n verify,\n };\n};\n//# sourceMappingURL=virtual-machine.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/vm/virtual-machine.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/vm/vm-types.js": +/*!***********************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/vm/vm-types.js ***! + \***********************************************************************/ +/***/ (() => { + +eval("//# sourceMappingURL=vm-types.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/vm/vm-types.js?"); + +/***/ }), + +/***/ "./node_modules/@bitauth/libauth/build/module/lib/vm/vm.js": +/*!*****************************************************************!*\ + !*** ./node_modules/@bitauth/libauth/build/module/lib/vm/vm.js ***! + \*****************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ createAuthenticationVirtualMachine: () => (/* reexport safe */ _virtual_machine__WEBPACK_IMPORTED_MODULE_2__.createAuthenticationVirtualMachine)\n/* harmony export */ });\n/* harmony import */ var _instruction_sets_instruction_sets__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./instruction-sets/instruction-sets */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/instruction-sets/instruction-sets.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(const __WEBPACK_IMPORT_KEY__ in _instruction_sets_instruction_sets__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = () => _instruction_sets_instruction_sets__WEBPACK_IMPORTED_MODULE_0__[__WEBPACK_IMPORT_KEY__]\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/* harmony import */ var _vm_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./vm-types */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/vm-types.js\");\n/* harmony import */ var _vm_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_vm_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(const __WEBPACK_IMPORT_KEY__ in _vm_types__WEBPACK_IMPORTED_MODULE_1__) if([\"default\",\"OpcodesBTC\",\"instantiateVirtualMachineBCH\",\"ConsensusCommon\",\"OpcodesCommon\",\"checkLimitsCommon\",\"cloneAuthenticationProgramStateCommon\",\"cloneStack\",\"commonOperations\",\"createAuthenticationProgramInternalStateCommon\",\"createAuthenticationProgramStateCommon\",\"createAuthenticationProgramStateCommonEmpty\",\"createTransactionContextCommon\",\"createTransactionContextCommonEmpty\",\"createTransactionContextCommonTesting\",\"undefinedOperation\",\"assembleBytecode\",\"assembleBytecodeBCH\",\"assembleBytecodeBTC\",\"authenticationInstructionIsMalformed\",\"authenticationInstructionsAreMalformed\",\"authenticationInstructionsAreNotMalformed\",\"disassembleAuthenticationInstruction\",\"disassembleBytecode\",\"disassembleBytecodeBCH\",\"disassembleBytecodeBTC\",\"disassembleParsedAuthenticationInstruction\",\"disassembleParsedAuthenticationInstructionMalformed\",\"disassembleParsedAuthenticationInstructions\",\"generateBytecodeMap\",\"lengthBytesForPushOpcode\",\"parseBytecode\",\"readAuthenticationInstruction\",\"serializeAuthenticationInstruction\",\"serializeAuthenticationInstructions\",\"serializeParsedAuthenticationInstruction\",\"serializeParsedAuthenticationInstructionMalformed\",\"serializeParsedAuthenticationInstructions\",\"AuthenticationErrorBCH\",\"ConsensusBCH\",\"InstructionSetBCH\",\"OpcodeAlternateNamesBCH\",\"OpcodeDescriptionsBCH\",\"OpcodeDescriptionsUniqueBCH\",\"OpcodesBCH\",\"assembleBitcoinABCScript\",\"bitcoinABCOpcodes\",\"bitcoinCashOperations\",\"bitwiseOperation\",\"createInstructionSetBCH\",\"createTestAuthenticationProgramBCH\",\"getFlagsForInstructionSetBCH\",\"instructionSetBCHCurrentStrict\",\"isPayToScriptHash\",\"isValidSignatureEncodingBCHRaw\",\"isWitnessProgram\",\"opAnd\",\"opBin2Num\",\"opCat\",\"opCheckDataSig\",\"opCheckDataSigVerify\",\"opDiv\",\"opMod\",\"opNum2Bin\",\"opOr\",\"opReverseBytes\",\"opSplit\",\"opXor\",\"padMinimallyEncodedScriptNumber\",\"AuthenticationErrorCommon\",\"OpcodeDescriptionsCommon\",\"PushOperationConstants\",\"ScriptNumberError\",\"SigningSerializationFlag\",\"applyError\",\"arithmeticOperations\",\"bigIntToScriptNumber\",\"bitwiseOperations\",\"booleanToScriptNumber\",\"combineOperations\",\"conditionalFlowControlOperations\",\"conditionallyEvaluate\",\"cryptoOperations\",\"decodeBitcoinSignature\",\"disabledOperation\",\"disabledOperations\",\"encodeDataPush\",\"generateSigningSerializationBCH\",\"hashOutputs\",\"hashPrevouts\",\"hashSequence\",\"incrementOperationCount\",\"isDefinedSigningSerializationType\",\"isLegacySigningSerialization\",\"isMinimalDataPush\",\"isScriptNumberError\",\"isValidCompressedPublicKeyEncoding\",\"isValidPublicKeyEncoding\",\"isValidSignatureEncodingBCHTransaction\",\"isValidSignatureEncodingDER\",\"isValidUncompressedPublicKeyEncoding\",\"mapOverOperations\",\"nonOperations\",\"op0NotEqual\",\"op1Add\",\"op1Sub\",\"op2Drop\",\"op2Dup\",\"op2Over\",\"op2Rot\",\"op2Swap\",\"op3Dup\",\"opAbs\",\"opAdd\",\"opBoolAnd\",\"opBoolOr\",\"opCheckLockTimeVerify\",\"opCheckMultiSig\",\"opCheckMultiSigVerify\",\"opCheckSequenceVerify\",\"opCheckSig\",\"opCheckSigVerify\",\"opCodeSeparator\",\"opDepth\",\"opDrop\",\"opDup\",\"opElse\",\"opEndIf\",\"opEqual\",\"opEqualVerify\",\"opFromAltStack\",\"opGreaterThan\",\"opGreaterThanOrEqual\",\"opHash160\",\"opHash256\",\"opIf\",\"opIfDup\",\"opLessThan\",\"opLessThanOrEqual\",\"opMax\",\"opMin\",\"opNegate\",\"opNip\",\"opNop\",\"opNot\",\"opNotIf\",\"opNumEqual\",\"opNumEqualVerify\",\"opNumNotEqual\",\"opOver\",\"opPick\",\"opReturn\",\"opRipemd160\",\"opRoll\",\"opRot\",\"opSha1\",\"opSha256\",\"opSize\",\"opSub\",\"opSwap\",\"opToAltStack\",\"opTuck\",\"opVerify\",\"opWithin\",\"parseBytesAsScriptNumber\",\"pushByteOpcodes\",\"pushNumberOpcodes\",\"pushNumberOperations\",\"pushOperation\",\"pushOperations\",\"pushToStack\",\"readLocktime\",\"reservedOperation\",\"spliceOperations\",\"stackItemIsTruthy\",\"stackOperations\",\"timeOperations\",\"unconditionalFlowControlOperations\",\"useFourStackItems\",\"useOneScriptNumber\",\"useOneStackItem\",\"useSixStackItems\",\"useThreeScriptNumbers\",\"useThreeStackItems\",\"useTwoScriptNumbers\",\"useTwoStackItems\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = () => _vm_types__WEBPACK_IMPORTED_MODULE_1__[__WEBPACK_IMPORT_KEY__]\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/* harmony import */ var _virtual_machine__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./virtual-machine */ \"./node_modules/@bitauth/libauth/build/module/lib/vm/virtual-machine.js\");\n\n\n\n//# sourceMappingURL=vm.js.map\n\n//# sourceURL=webpack://dcp/./node_modules/@bitauth/libauth/build/module/lib/vm/vm.js?"); + +/***/ }), + +/***/ "./node_modules/aes-js/index.js": +/*!**************************************!*\ + !*** ./node_modules/aes-js/index.js ***! + \**************************************/ +/***/ (function(module) { + +eval("/*! MIT License. Copyright 2015-2018 Richard Moore . See LICENSE.txt. */\n(function(root) {\n \"use strict\";\n\n function checkInt(value) {\n return (parseInt(value) === value);\n }\n\n function checkInts(arrayish) {\n if (!checkInt(arrayish.length)) { return false; }\n\n for (var i = 0; i < arrayish.length; i++) {\n if (!checkInt(arrayish[i]) || arrayish[i] < 0 || arrayish[i] > 255) {\n return false;\n }\n }\n\n return true;\n }\n\n function coerceArray(arg, copy) {\n\n // ArrayBuffer view\n if (arg.buffer && arg.name === 'Uint8Array') {\n\n if (copy) {\n if (arg.slice) {\n arg = arg.slice();\n } else {\n arg = Array.prototype.slice.call(arg);\n }\n }\n\n return arg;\n }\n\n // It's an array; check it is a valid representation of a byte\n if (Array.isArray(arg)) {\n if (!checkInts(arg)) {\n throw new Error('Array contains invalid value: ' + arg);\n }\n\n return new Uint8Array(arg);\n }\n\n // Something else, but behaves like an array (maybe a Buffer? Arguments?)\n if (checkInt(arg.length) && checkInts(arg)) {\n return new Uint8Array(arg);\n }\n\n throw new Error('unsupported array-like object');\n }\n\n function createArray(length) {\n return new Uint8Array(length);\n }\n\n function copyArray(sourceArray, targetArray, targetStart, sourceStart, sourceEnd) {\n if (sourceStart != null || sourceEnd != null) {\n if (sourceArray.slice) {\n sourceArray = sourceArray.slice(sourceStart, sourceEnd);\n } else {\n sourceArray = Array.prototype.slice.call(sourceArray, sourceStart, sourceEnd);\n }\n }\n targetArray.set(sourceArray, targetStart);\n }\n\n\n\n var convertUtf8 = (function() {\n function toBytes(text) {\n var result = [], i = 0;\n text = encodeURI(text);\n while (i < text.length) {\n var c = text.charCodeAt(i++);\n\n // if it is a % sign, encode the following 2 bytes as a hex value\n if (c === 37) {\n result.push(parseInt(text.substr(i, 2), 16))\n i += 2;\n\n // otherwise, just the actual byte\n } else {\n result.push(c)\n }\n }\n\n return coerceArray(result);\n }\n\n function fromBytes(bytes) {\n var result = [], i = 0;\n\n while (i < bytes.length) {\n var c = bytes[i];\n\n if (c < 128) {\n result.push(String.fromCharCode(c));\n i++;\n } else if (c > 191 && c < 224) {\n result.push(String.fromCharCode(((c & 0x1f) << 6) | (bytes[i + 1] & 0x3f)));\n i += 2;\n } else {\n result.push(String.fromCharCode(((c & 0x0f) << 12) | ((bytes[i + 1] & 0x3f) << 6) | (bytes[i + 2] & 0x3f)));\n i += 3;\n }\n }\n\n return result.join('');\n }\n\n return {\n toBytes: toBytes,\n fromBytes: fromBytes,\n }\n })();\n\n var convertHex = (function() {\n function toBytes(text) {\n var result = [];\n for (var i = 0; i < text.length; i += 2) {\n result.push(parseInt(text.substr(i, 2), 16));\n }\n\n return result;\n }\n\n // http://ixti.net/development/javascript/2011/11/11/base64-encodedecode-of-utf8-in-browser-with-js.html\n var Hex = '0123456789abcdef';\n\n function fromBytes(bytes) {\n var result = [];\n for (var i = 0; i < bytes.length; i++) {\n var v = bytes[i];\n result.push(Hex[(v & 0xf0) >> 4] + Hex[v & 0x0f]);\n }\n return result.join('');\n }\n\n return {\n toBytes: toBytes,\n fromBytes: fromBytes,\n }\n })();\n\n\n // Number of rounds by keysize\n var numberOfRounds = {16: 10, 24: 12, 32: 14}\n\n // Round constant words\n var rcon = [0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91];\n\n // S-box and Inverse S-box (S is for Substitution)\n var S = [0x63, 0x7c, 0x77, 0x7b, 0xf2, 0x6b, 0x6f, 0xc5, 0x30, 0x01, 0x67, 0x2b, 0xfe, 0xd7, 0xab, 0x76, 0xca, 0x82, 0xc9, 0x7d, 0xfa, 0x59, 0x47, 0xf0, 0xad, 0xd4, 0xa2, 0xaf, 0x9c, 0xa4, 0x72, 0xc0, 0xb7, 0xfd, 0x93, 0x26, 0x36, 0x3f, 0xf7, 0xcc, 0x34, 0xa5, 0xe5, 0xf1, 0x71, 0xd8, 0x31, 0x15, 0x04, 0xc7, 0x23, 0xc3, 0x18, 0x96, 0x05, 0x9a, 0x07, 0x12, 0x80, 0xe2, 0xeb, 0x27, 0xb2, 0x75, 0x09, 0x83, 0x2c, 0x1a, 0x1b, 0x6e, 0x5a, 0xa0, 0x52, 0x3b, 0xd6, 0xb3, 0x29, 0xe3, 0x2f, 0x84, 0x53, 0xd1, 0x00, 0xed, 0x20, 0xfc, 0xb1, 0x5b, 0x6a, 0xcb, 0xbe, 0x39, 0x4a, 0x4c, 0x58, 0xcf, 0xd0, 0xef, 0xaa, 0xfb, 0x43, 0x4d, 0x33, 0x85, 0x45, 0xf9, 0x02, 0x7f, 0x50, 0x3c, 0x9f, 0xa8, 0x51, 0xa3, 0x40, 0x8f, 0x92, 0x9d, 0x38, 0xf5, 0xbc, 0xb6, 0xda, 0x21, 0x10, 0xff, 0xf3, 0xd2, 0xcd, 0x0c, 0x13, 0xec, 0x5f, 0x97, 0x44, 0x17, 0xc4, 0xa7, 0x7e, 0x3d, 0x64, 0x5d, 0x19, 0x73, 0x60, 0x81, 0x4f, 0xdc, 0x22, 0x2a, 0x90, 0x88, 0x46, 0xee, 0xb8, 0x14, 0xde, 0x5e, 0x0b, 0xdb, 0xe0, 0x32, 0x3a, 0x0a, 0x49, 0x06, 0x24, 0x5c, 0xc2, 0xd3, 0xac, 0x62, 0x91, 0x95, 0xe4, 0x79, 0xe7, 0xc8, 0x37, 0x6d, 0x8d, 0xd5, 0x4e, 0xa9, 0x6c, 0x56, 0xf4, 0xea, 0x65, 0x7a, 0xae, 0x08, 0xba, 0x78, 0x25, 0x2e, 0x1c, 0xa6, 0xb4, 0xc6, 0xe8, 0xdd, 0x74, 0x1f, 0x4b, 0xbd, 0x8b, 0x8a, 0x70, 0x3e, 0xb5, 0x66, 0x48, 0x03, 0xf6, 0x0e, 0x61, 0x35, 0x57, 0xb9, 0x86, 0xc1, 0x1d, 0x9e, 0xe1, 0xf8, 0x98, 0x11, 0x69, 0xd9, 0x8e, 0x94, 0x9b, 0x1e, 0x87, 0xe9, 0xce, 0x55, 0x28, 0xdf, 0x8c, 0xa1, 0x89, 0x0d, 0xbf, 0xe6, 0x42, 0x68, 0x41, 0x99, 0x2d, 0x0f, 0xb0, 0x54, 0xbb, 0x16];\n var Si =[0x52, 0x09, 0x6a, 0xd5, 0x30, 0x36, 0xa5, 0x38, 0xbf, 0x40, 0xa3, 0x9e, 0x81, 0xf3, 0xd7, 0xfb, 0x7c, 0xe3, 0x39, 0x82, 0x9b, 0x2f, 0xff, 0x87, 0x34, 0x8e, 0x43, 0x44, 0xc4, 0xde, 0xe9, 0xcb, 0x54, 0x7b, 0x94, 0x32, 0xa6, 0xc2, 0x23, 0x3d, 0xee, 0x4c, 0x95, 0x0b, 0x42, 0xfa, 0xc3, 0x4e, 0x08, 0x2e, 0xa1, 0x66, 0x28, 0xd9, 0x24, 0xb2, 0x76, 0x5b, 0xa2, 0x49, 0x6d, 0x8b, 0xd1, 0x25, 0x72, 0xf8, 0xf6, 0x64, 0x86, 0x68, 0x98, 0x16, 0xd4, 0xa4, 0x5c, 0xcc, 0x5d, 0x65, 0xb6, 0x92, 0x6c, 0x70, 0x48, 0x50, 0xfd, 0xed, 0xb9, 0xda, 0x5e, 0x15, 0x46, 0x57, 0xa7, 0x8d, 0x9d, 0x84, 0x90, 0xd8, 0xab, 0x00, 0x8c, 0xbc, 0xd3, 0x0a, 0xf7, 0xe4, 0x58, 0x05, 0xb8, 0xb3, 0x45, 0x06, 0xd0, 0x2c, 0x1e, 0x8f, 0xca, 0x3f, 0x0f, 0x02, 0xc1, 0xaf, 0xbd, 0x03, 0x01, 0x13, 0x8a, 0x6b, 0x3a, 0x91, 0x11, 0x41, 0x4f, 0x67, 0xdc, 0xea, 0x97, 0xf2, 0xcf, 0xce, 0xf0, 0xb4, 0xe6, 0x73, 0x96, 0xac, 0x74, 0x22, 0xe7, 0xad, 0x35, 0x85, 0xe2, 0xf9, 0x37, 0xe8, 0x1c, 0x75, 0xdf, 0x6e, 0x47, 0xf1, 0x1a, 0x71, 0x1d, 0x29, 0xc5, 0x89, 0x6f, 0xb7, 0x62, 0x0e, 0xaa, 0x18, 0xbe, 0x1b, 0xfc, 0x56, 0x3e, 0x4b, 0xc6, 0xd2, 0x79, 0x20, 0x9a, 0xdb, 0xc0, 0xfe, 0x78, 0xcd, 0x5a, 0xf4, 0x1f, 0xdd, 0xa8, 0x33, 0x88, 0x07, 0xc7, 0x31, 0xb1, 0x12, 0x10, 0x59, 0x27, 0x80, 0xec, 0x5f, 0x60, 0x51, 0x7f, 0xa9, 0x19, 0xb5, 0x4a, 0x0d, 0x2d, 0xe5, 0x7a, 0x9f, 0x93, 0xc9, 0x9c, 0xef, 0xa0, 0xe0, 0x3b, 0x4d, 0xae, 0x2a, 0xf5, 0xb0, 0xc8, 0xeb, 0xbb, 0x3c, 0x83, 0x53, 0x99, 0x61, 0x17, 0x2b, 0x04, 0x7e, 0xba, 0x77, 0xd6, 0x26, 0xe1, 0x69, 0x14, 0x63, 0x55, 0x21, 0x0c, 0x7d];\n\n // Transformations for encryption\n var T1 = [0xc66363a5, 0xf87c7c84, 0xee777799, 0xf67b7b8d, 0xfff2f20d, 0xd66b6bbd, 0xde6f6fb1, 0x91c5c554, 0x60303050, 0x02010103, 0xce6767a9, 0x562b2b7d, 0xe7fefe19, 0xb5d7d762, 0x4dababe6, 0xec76769a, 0x8fcaca45, 0x1f82829d, 0x89c9c940, 0xfa7d7d87, 0xeffafa15, 0xb25959eb, 0x8e4747c9, 0xfbf0f00b, 0x41adadec, 0xb3d4d467, 0x5fa2a2fd, 0x45afafea, 0x239c9cbf, 0x53a4a4f7, 0xe4727296, 0x9bc0c05b, 0x75b7b7c2, 0xe1fdfd1c, 0x3d9393ae, 0x4c26266a, 0x6c36365a, 0x7e3f3f41, 0xf5f7f702, 0x83cccc4f, 0x6834345c, 0x51a5a5f4, 0xd1e5e534, 0xf9f1f108, 0xe2717193, 0xabd8d873, 0x62313153, 0x2a15153f, 0x0804040c, 0x95c7c752, 0x46232365, 0x9dc3c35e, 0x30181828, 0x379696a1, 0x0a05050f, 0x2f9a9ab5, 0x0e070709, 0x24121236, 0x1b80809b, 0xdfe2e23d, 0xcdebeb26, 0x4e272769, 0x7fb2b2cd, 0xea75759f, 0x1209091b, 0x1d83839e, 0x582c2c74, 0x341a1a2e, 0x361b1b2d, 0xdc6e6eb2, 0xb45a5aee, 0x5ba0a0fb, 0xa45252f6, 0x763b3b4d, 0xb7d6d661, 0x7db3b3ce, 0x5229297b, 0xdde3e33e, 0x5e2f2f71, 0x13848497, 0xa65353f5, 0xb9d1d168, 0x00000000, 0xc1eded2c, 0x40202060, 0xe3fcfc1f, 0x79b1b1c8, 0xb65b5bed, 0xd46a6abe, 0x8dcbcb46, 0x67bebed9, 0x7239394b, 0x944a4ade, 0x984c4cd4, 0xb05858e8, 0x85cfcf4a, 0xbbd0d06b, 0xc5efef2a, 0x4faaaae5, 0xedfbfb16, 0x864343c5, 0x9a4d4dd7, 0x66333355, 0x11858594, 0x8a4545cf, 0xe9f9f910, 0x04020206, 0xfe7f7f81, 0xa05050f0, 0x783c3c44, 0x259f9fba, 0x4ba8a8e3, 0xa25151f3, 0x5da3a3fe, 0x804040c0, 0x058f8f8a, 0x3f9292ad, 0x219d9dbc, 0x70383848, 0xf1f5f504, 0x63bcbcdf, 0x77b6b6c1, 0xafdada75, 0x42212163, 0x20101030, 0xe5ffff1a, 0xfdf3f30e, 0xbfd2d26d, 0x81cdcd4c, 0x180c0c14, 0x26131335, 0xc3ecec2f, 0xbe5f5fe1, 0x359797a2, 0x884444cc, 0x2e171739, 0x93c4c457, 0x55a7a7f2, 0xfc7e7e82, 0x7a3d3d47, 0xc86464ac, 0xba5d5de7, 0x3219192b, 0xe6737395, 0xc06060a0, 0x19818198, 0x9e4f4fd1, 0xa3dcdc7f, 0x44222266, 0x542a2a7e, 0x3b9090ab, 0x0b888883, 0x8c4646ca, 0xc7eeee29, 0x6bb8b8d3, 0x2814143c, 0xa7dede79, 0xbc5e5ee2, 0x160b0b1d, 0xaddbdb76, 0xdbe0e03b, 0x64323256, 0x743a3a4e, 0x140a0a1e, 0x924949db, 0x0c06060a, 0x4824246c, 0xb85c5ce4, 0x9fc2c25d, 0xbdd3d36e, 0x43acacef, 0xc46262a6, 0x399191a8, 0x319595a4, 0xd3e4e437, 0xf279798b, 0xd5e7e732, 0x8bc8c843, 0x6e373759, 0xda6d6db7, 0x018d8d8c, 0xb1d5d564, 0x9c4e4ed2, 0x49a9a9e0, 0xd86c6cb4, 0xac5656fa, 0xf3f4f407, 0xcfeaea25, 0xca6565af, 0xf47a7a8e, 0x47aeaee9, 0x10080818, 0x6fbabad5, 0xf0787888, 0x4a25256f, 0x5c2e2e72, 0x381c1c24, 0x57a6a6f1, 0x73b4b4c7, 0x97c6c651, 0xcbe8e823, 0xa1dddd7c, 0xe874749c, 0x3e1f1f21, 0x964b4bdd, 0x61bdbddc, 0x0d8b8b86, 0x0f8a8a85, 0xe0707090, 0x7c3e3e42, 0x71b5b5c4, 0xcc6666aa, 0x904848d8, 0x06030305, 0xf7f6f601, 0x1c0e0e12, 0xc26161a3, 0x6a35355f, 0xae5757f9, 0x69b9b9d0, 0x17868691, 0x99c1c158, 0x3a1d1d27, 0x279e9eb9, 0xd9e1e138, 0xebf8f813, 0x2b9898b3, 0x22111133, 0xd26969bb, 0xa9d9d970, 0x078e8e89, 0x339494a7, 0x2d9b9bb6, 0x3c1e1e22, 0x15878792, 0xc9e9e920, 0x87cece49, 0xaa5555ff, 0x50282878, 0xa5dfdf7a, 0x038c8c8f, 0x59a1a1f8, 0x09898980, 0x1a0d0d17, 0x65bfbfda, 0xd7e6e631, 0x844242c6, 0xd06868b8, 0x824141c3, 0x299999b0, 0x5a2d2d77, 0x1e0f0f11, 0x7bb0b0cb, 0xa85454fc, 0x6dbbbbd6, 0x2c16163a];\n var T2 = [0xa5c66363, 0x84f87c7c, 0x99ee7777, 0x8df67b7b, 0x0dfff2f2, 0xbdd66b6b, 0xb1de6f6f, 0x5491c5c5, 0x50603030, 0x03020101, 0xa9ce6767, 0x7d562b2b, 0x19e7fefe, 0x62b5d7d7, 0xe64dabab, 0x9aec7676, 0x458fcaca, 0x9d1f8282, 0x4089c9c9, 0x87fa7d7d, 0x15effafa, 0xebb25959, 0xc98e4747, 0x0bfbf0f0, 0xec41adad, 0x67b3d4d4, 0xfd5fa2a2, 0xea45afaf, 0xbf239c9c, 0xf753a4a4, 0x96e47272, 0x5b9bc0c0, 0xc275b7b7, 0x1ce1fdfd, 0xae3d9393, 0x6a4c2626, 0x5a6c3636, 0x417e3f3f, 0x02f5f7f7, 0x4f83cccc, 0x5c683434, 0xf451a5a5, 0x34d1e5e5, 0x08f9f1f1, 0x93e27171, 0x73abd8d8, 0x53623131, 0x3f2a1515, 0x0c080404, 0x5295c7c7, 0x65462323, 0x5e9dc3c3, 0x28301818, 0xa1379696, 0x0f0a0505, 0xb52f9a9a, 0x090e0707, 0x36241212, 0x9b1b8080, 0x3ddfe2e2, 0x26cdebeb, 0x694e2727, 0xcd7fb2b2, 0x9fea7575, 0x1b120909, 0x9e1d8383, 0x74582c2c, 0x2e341a1a, 0x2d361b1b, 0xb2dc6e6e, 0xeeb45a5a, 0xfb5ba0a0, 0xf6a45252, 0x4d763b3b, 0x61b7d6d6, 0xce7db3b3, 0x7b522929, 0x3edde3e3, 0x715e2f2f, 0x97138484, 0xf5a65353, 0x68b9d1d1, 0x00000000, 0x2cc1eded, 0x60402020, 0x1fe3fcfc, 0xc879b1b1, 0xedb65b5b, 0xbed46a6a, 0x468dcbcb, 0xd967bebe, 0x4b723939, 0xde944a4a, 0xd4984c4c, 0xe8b05858, 0x4a85cfcf, 0x6bbbd0d0, 0x2ac5efef, 0xe54faaaa, 0x16edfbfb, 0xc5864343, 0xd79a4d4d, 0x55663333, 0x94118585, 0xcf8a4545, 0x10e9f9f9, 0x06040202, 0x81fe7f7f, 0xf0a05050, 0x44783c3c, 0xba259f9f, 0xe34ba8a8, 0xf3a25151, 0xfe5da3a3, 0xc0804040, 0x8a058f8f, 0xad3f9292, 0xbc219d9d, 0x48703838, 0x04f1f5f5, 0xdf63bcbc, 0xc177b6b6, 0x75afdada, 0x63422121, 0x30201010, 0x1ae5ffff, 0x0efdf3f3, 0x6dbfd2d2, 0x4c81cdcd, 0x14180c0c, 0x35261313, 0x2fc3ecec, 0xe1be5f5f, 0xa2359797, 0xcc884444, 0x392e1717, 0x5793c4c4, 0xf255a7a7, 0x82fc7e7e, 0x477a3d3d, 0xacc86464, 0xe7ba5d5d, 0x2b321919, 0x95e67373, 0xa0c06060, 0x98198181, 0xd19e4f4f, 0x7fa3dcdc, 0x66442222, 0x7e542a2a, 0xab3b9090, 0x830b8888, 0xca8c4646, 0x29c7eeee, 0xd36bb8b8, 0x3c281414, 0x79a7dede, 0xe2bc5e5e, 0x1d160b0b, 0x76addbdb, 0x3bdbe0e0, 0x56643232, 0x4e743a3a, 0x1e140a0a, 0xdb924949, 0x0a0c0606, 0x6c482424, 0xe4b85c5c, 0x5d9fc2c2, 0x6ebdd3d3, 0xef43acac, 0xa6c46262, 0xa8399191, 0xa4319595, 0x37d3e4e4, 0x8bf27979, 0x32d5e7e7, 0x438bc8c8, 0x596e3737, 0xb7da6d6d, 0x8c018d8d, 0x64b1d5d5, 0xd29c4e4e, 0xe049a9a9, 0xb4d86c6c, 0xfaac5656, 0x07f3f4f4, 0x25cfeaea, 0xafca6565, 0x8ef47a7a, 0xe947aeae, 0x18100808, 0xd56fbaba, 0x88f07878, 0x6f4a2525, 0x725c2e2e, 0x24381c1c, 0xf157a6a6, 0xc773b4b4, 0x5197c6c6, 0x23cbe8e8, 0x7ca1dddd, 0x9ce87474, 0x213e1f1f, 0xdd964b4b, 0xdc61bdbd, 0x860d8b8b, 0x850f8a8a, 0x90e07070, 0x427c3e3e, 0xc471b5b5, 0xaacc6666, 0xd8904848, 0x05060303, 0x01f7f6f6, 0x121c0e0e, 0xa3c26161, 0x5f6a3535, 0xf9ae5757, 0xd069b9b9, 0x91178686, 0x5899c1c1, 0x273a1d1d, 0xb9279e9e, 0x38d9e1e1, 0x13ebf8f8, 0xb32b9898, 0x33221111, 0xbbd26969, 0x70a9d9d9, 0x89078e8e, 0xa7339494, 0xb62d9b9b, 0x223c1e1e, 0x92158787, 0x20c9e9e9, 0x4987cece, 0xffaa5555, 0x78502828, 0x7aa5dfdf, 0x8f038c8c, 0xf859a1a1, 0x80098989, 0x171a0d0d, 0xda65bfbf, 0x31d7e6e6, 0xc6844242, 0xb8d06868, 0xc3824141, 0xb0299999, 0x775a2d2d, 0x111e0f0f, 0xcb7bb0b0, 0xfca85454, 0xd66dbbbb, 0x3a2c1616];\n var T3 = [0x63a5c663, 0x7c84f87c, 0x7799ee77, 0x7b8df67b, 0xf20dfff2, 0x6bbdd66b, 0x6fb1de6f, 0xc55491c5, 0x30506030, 0x01030201, 0x67a9ce67, 0x2b7d562b, 0xfe19e7fe, 0xd762b5d7, 0xabe64dab, 0x769aec76, 0xca458fca, 0x829d1f82, 0xc94089c9, 0x7d87fa7d, 0xfa15effa, 0x59ebb259, 0x47c98e47, 0xf00bfbf0, 0xadec41ad, 0xd467b3d4, 0xa2fd5fa2, 0xafea45af, 0x9cbf239c, 0xa4f753a4, 0x7296e472, 0xc05b9bc0, 0xb7c275b7, 0xfd1ce1fd, 0x93ae3d93, 0x266a4c26, 0x365a6c36, 0x3f417e3f, 0xf702f5f7, 0xcc4f83cc, 0x345c6834, 0xa5f451a5, 0xe534d1e5, 0xf108f9f1, 0x7193e271, 0xd873abd8, 0x31536231, 0x153f2a15, 0x040c0804, 0xc75295c7, 0x23654623, 0xc35e9dc3, 0x18283018, 0x96a13796, 0x050f0a05, 0x9ab52f9a, 0x07090e07, 0x12362412, 0x809b1b80, 0xe23ddfe2, 0xeb26cdeb, 0x27694e27, 0xb2cd7fb2, 0x759fea75, 0x091b1209, 0x839e1d83, 0x2c74582c, 0x1a2e341a, 0x1b2d361b, 0x6eb2dc6e, 0x5aeeb45a, 0xa0fb5ba0, 0x52f6a452, 0x3b4d763b, 0xd661b7d6, 0xb3ce7db3, 0x297b5229, 0xe33edde3, 0x2f715e2f, 0x84971384, 0x53f5a653, 0xd168b9d1, 0x00000000, 0xed2cc1ed, 0x20604020, 0xfc1fe3fc, 0xb1c879b1, 0x5bedb65b, 0x6abed46a, 0xcb468dcb, 0xbed967be, 0x394b7239, 0x4ade944a, 0x4cd4984c, 0x58e8b058, 0xcf4a85cf, 0xd06bbbd0, 0xef2ac5ef, 0xaae54faa, 0xfb16edfb, 0x43c58643, 0x4dd79a4d, 0x33556633, 0x85941185, 0x45cf8a45, 0xf910e9f9, 0x02060402, 0x7f81fe7f, 0x50f0a050, 0x3c44783c, 0x9fba259f, 0xa8e34ba8, 0x51f3a251, 0xa3fe5da3, 0x40c08040, 0x8f8a058f, 0x92ad3f92, 0x9dbc219d, 0x38487038, 0xf504f1f5, 0xbcdf63bc, 0xb6c177b6, 0xda75afda, 0x21634221, 0x10302010, 0xff1ae5ff, 0xf30efdf3, 0xd26dbfd2, 0xcd4c81cd, 0x0c14180c, 0x13352613, 0xec2fc3ec, 0x5fe1be5f, 0x97a23597, 0x44cc8844, 0x17392e17, 0xc45793c4, 0xa7f255a7, 0x7e82fc7e, 0x3d477a3d, 0x64acc864, 0x5de7ba5d, 0x192b3219, 0x7395e673, 0x60a0c060, 0x81981981, 0x4fd19e4f, 0xdc7fa3dc, 0x22664422, 0x2a7e542a, 0x90ab3b90, 0x88830b88, 0x46ca8c46, 0xee29c7ee, 0xb8d36bb8, 0x143c2814, 0xde79a7de, 0x5ee2bc5e, 0x0b1d160b, 0xdb76addb, 0xe03bdbe0, 0x32566432, 0x3a4e743a, 0x0a1e140a, 0x49db9249, 0x060a0c06, 0x246c4824, 0x5ce4b85c, 0xc25d9fc2, 0xd36ebdd3, 0xacef43ac, 0x62a6c462, 0x91a83991, 0x95a43195, 0xe437d3e4, 0x798bf279, 0xe732d5e7, 0xc8438bc8, 0x37596e37, 0x6db7da6d, 0x8d8c018d, 0xd564b1d5, 0x4ed29c4e, 0xa9e049a9, 0x6cb4d86c, 0x56faac56, 0xf407f3f4, 0xea25cfea, 0x65afca65, 0x7a8ef47a, 0xaee947ae, 0x08181008, 0xbad56fba, 0x7888f078, 0x256f4a25, 0x2e725c2e, 0x1c24381c, 0xa6f157a6, 0xb4c773b4, 0xc65197c6, 0xe823cbe8, 0xdd7ca1dd, 0x749ce874, 0x1f213e1f, 0x4bdd964b, 0xbddc61bd, 0x8b860d8b, 0x8a850f8a, 0x7090e070, 0x3e427c3e, 0xb5c471b5, 0x66aacc66, 0x48d89048, 0x03050603, 0xf601f7f6, 0x0e121c0e, 0x61a3c261, 0x355f6a35, 0x57f9ae57, 0xb9d069b9, 0x86911786, 0xc15899c1, 0x1d273a1d, 0x9eb9279e, 0xe138d9e1, 0xf813ebf8, 0x98b32b98, 0x11332211, 0x69bbd269, 0xd970a9d9, 0x8e89078e, 0x94a73394, 0x9bb62d9b, 0x1e223c1e, 0x87921587, 0xe920c9e9, 0xce4987ce, 0x55ffaa55, 0x28785028, 0xdf7aa5df, 0x8c8f038c, 0xa1f859a1, 0x89800989, 0x0d171a0d, 0xbfda65bf, 0xe631d7e6, 0x42c68442, 0x68b8d068, 0x41c38241, 0x99b02999, 0x2d775a2d, 0x0f111e0f, 0xb0cb7bb0, 0x54fca854, 0xbbd66dbb, 0x163a2c16];\n var T4 = [0x6363a5c6, 0x7c7c84f8, 0x777799ee, 0x7b7b8df6, 0xf2f20dff, 0x6b6bbdd6, 0x6f6fb1de, 0xc5c55491, 0x30305060, 0x01010302, 0x6767a9ce, 0x2b2b7d56, 0xfefe19e7, 0xd7d762b5, 0xababe64d, 0x76769aec, 0xcaca458f, 0x82829d1f, 0xc9c94089, 0x7d7d87fa, 0xfafa15ef, 0x5959ebb2, 0x4747c98e, 0xf0f00bfb, 0xadadec41, 0xd4d467b3, 0xa2a2fd5f, 0xafafea45, 0x9c9cbf23, 0xa4a4f753, 0x727296e4, 0xc0c05b9b, 0xb7b7c275, 0xfdfd1ce1, 0x9393ae3d, 0x26266a4c, 0x36365a6c, 0x3f3f417e, 0xf7f702f5, 0xcccc4f83, 0x34345c68, 0xa5a5f451, 0xe5e534d1, 0xf1f108f9, 0x717193e2, 0xd8d873ab, 0x31315362, 0x15153f2a, 0x04040c08, 0xc7c75295, 0x23236546, 0xc3c35e9d, 0x18182830, 0x9696a137, 0x05050f0a, 0x9a9ab52f, 0x0707090e, 0x12123624, 0x80809b1b, 0xe2e23ddf, 0xebeb26cd, 0x2727694e, 0xb2b2cd7f, 0x75759fea, 0x09091b12, 0x83839e1d, 0x2c2c7458, 0x1a1a2e34, 0x1b1b2d36, 0x6e6eb2dc, 0x5a5aeeb4, 0xa0a0fb5b, 0x5252f6a4, 0x3b3b4d76, 0xd6d661b7, 0xb3b3ce7d, 0x29297b52, 0xe3e33edd, 0x2f2f715e, 0x84849713, 0x5353f5a6, 0xd1d168b9, 0x00000000, 0xeded2cc1, 0x20206040, 0xfcfc1fe3, 0xb1b1c879, 0x5b5bedb6, 0x6a6abed4, 0xcbcb468d, 0xbebed967, 0x39394b72, 0x4a4ade94, 0x4c4cd498, 0x5858e8b0, 0xcfcf4a85, 0xd0d06bbb, 0xefef2ac5, 0xaaaae54f, 0xfbfb16ed, 0x4343c586, 0x4d4dd79a, 0x33335566, 0x85859411, 0x4545cf8a, 0xf9f910e9, 0x02020604, 0x7f7f81fe, 0x5050f0a0, 0x3c3c4478, 0x9f9fba25, 0xa8a8e34b, 0x5151f3a2, 0xa3a3fe5d, 0x4040c080, 0x8f8f8a05, 0x9292ad3f, 0x9d9dbc21, 0x38384870, 0xf5f504f1, 0xbcbcdf63, 0xb6b6c177, 0xdada75af, 0x21216342, 0x10103020, 0xffff1ae5, 0xf3f30efd, 0xd2d26dbf, 0xcdcd4c81, 0x0c0c1418, 0x13133526, 0xecec2fc3, 0x5f5fe1be, 0x9797a235, 0x4444cc88, 0x1717392e, 0xc4c45793, 0xa7a7f255, 0x7e7e82fc, 0x3d3d477a, 0x6464acc8, 0x5d5de7ba, 0x19192b32, 0x737395e6, 0x6060a0c0, 0x81819819, 0x4f4fd19e, 0xdcdc7fa3, 0x22226644, 0x2a2a7e54, 0x9090ab3b, 0x8888830b, 0x4646ca8c, 0xeeee29c7, 0xb8b8d36b, 0x14143c28, 0xdede79a7, 0x5e5ee2bc, 0x0b0b1d16, 0xdbdb76ad, 0xe0e03bdb, 0x32325664, 0x3a3a4e74, 0x0a0a1e14, 0x4949db92, 0x06060a0c, 0x24246c48, 0x5c5ce4b8, 0xc2c25d9f, 0xd3d36ebd, 0xacacef43, 0x6262a6c4, 0x9191a839, 0x9595a431, 0xe4e437d3, 0x79798bf2, 0xe7e732d5, 0xc8c8438b, 0x3737596e, 0x6d6db7da, 0x8d8d8c01, 0xd5d564b1, 0x4e4ed29c, 0xa9a9e049, 0x6c6cb4d8, 0x5656faac, 0xf4f407f3, 0xeaea25cf, 0x6565afca, 0x7a7a8ef4, 0xaeaee947, 0x08081810, 0xbabad56f, 0x787888f0, 0x25256f4a, 0x2e2e725c, 0x1c1c2438, 0xa6a6f157, 0xb4b4c773, 0xc6c65197, 0xe8e823cb, 0xdddd7ca1, 0x74749ce8, 0x1f1f213e, 0x4b4bdd96, 0xbdbddc61, 0x8b8b860d, 0x8a8a850f, 0x707090e0, 0x3e3e427c, 0xb5b5c471, 0x6666aacc, 0x4848d890, 0x03030506, 0xf6f601f7, 0x0e0e121c, 0x6161a3c2, 0x35355f6a, 0x5757f9ae, 0xb9b9d069, 0x86869117, 0xc1c15899, 0x1d1d273a, 0x9e9eb927, 0xe1e138d9, 0xf8f813eb, 0x9898b32b, 0x11113322, 0x6969bbd2, 0xd9d970a9, 0x8e8e8907, 0x9494a733, 0x9b9bb62d, 0x1e1e223c, 0x87879215, 0xe9e920c9, 0xcece4987, 0x5555ffaa, 0x28287850, 0xdfdf7aa5, 0x8c8c8f03, 0xa1a1f859, 0x89898009, 0x0d0d171a, 0xbfbfda65, 0xe6e631d7, 0x4242c684, 0x6868b8d0, 0x4141c382, 0x9999b029, 0x2d2d775a, 0x0f0f111e, 0xb0b0cb7b, 0x5454fca8, 0xbbbbd66d, 0x16163a2c];\n\n // Transformations for decryption\n var T5 = [0x51f4a750, 0x7e416553, 0x1a17a4c3, 0x3a275e96, 0x3bab6bcb, 0x1f9d45f1, 0xacfa58ab, 0x4be30393, 0x2030fa55, 0xad766df6, 0x88cc7691, 0xf5024c25, 0x4fe5d7fc, 0xc52acbd7, 0x26354480, 0xb562a38f, 0xdeb15a49, 0x25ba1b67, 0x45ea0e98, 0x5dfec0e1, 0xc32f7502, 0x814cf012, 0x8d4697a3, 0x6bd3f9c6, 0x038f5fe7, 0x15929c95, 0xbf6d7aeb, 0x955259da, 0xd4be832d, 0x587421d3, 0x49e06929, 0x8ec9c844, 0x75c2896a, 0xf48e7978, 0x99583e6b, 0x27b971dd, 0xbee14fb6, 0xf088ad17, 0xc920ac66, 0x7dce3ab4, 0x63df4a18, 0xe51a3182, 0x97513360, 0x62537f45, 0xb16477e0, 0xbb6bae84, 0xfe81a01c, 0xf9082b94, 0x70486858, 0x8f45fd19, 0x94de6c87, 0x527bf8b7, 0xab73d323, 0x724b02e2, 0xe31f8f57, 0x6655ab2a, 0xb2eb2807, 0x2fb5c203, 0x86c57b9a, 0xd33708a5, 0x302887f2, 0x23bfa5b2, 0x02036aba, 0xed16825c, 0x8acf1c2b, 0xa779b492, 0xf307f2f0, 0x4e69e2a1, 0x65daf4cd, 0x0605bed5, 0xd134621f, 0xc4a6fe8a, 0x342e539d, 0xa2f355a0, 0x058ae132, 0xa4f6eb75, 0x0b83ec39, 0x4060efaa, 0x5e719f06, 0xbd6e1051, 0x3e218af9, 0x96dd063d, 0xdd3e05ae, 0x4de6bd46, 0x91548db5, 0x71c45d05, 0x0406d46f, 0x605015ff, 0x1998fb24, 0xd6bde997, 0x894043cc, 0x67d99e77, 0xb0e842bd, 0x07898b88, 0xe7195b38, 0x79c8eedb, 0xa17c0a47, 0x7c420fe9, 0xf8841ec9, 0x00000000, 0x09808683, 0x322bed48, 0x1e1170ac, 0x6c5a724e, 0xfd0efffb, 0x0f853856, 0x3daed51e, 0x362d3927, 0x0a0fd964, 0x685ca621, 0x9b5b54d1, 0x24362e3a, 0x0c0a67b1, 0x9357e70f, 0xb4ee96d2, 0x1b9b919e, 0x80c0c54f, 0x61dc20a2, 0x5a774b69, 0x1c121a16, 0xe293ba0a, 0xc0a02ae5, 0x3c22e043, 0x121b171d, 0x0e090d0b, 0xf28bc7ad, 0x2db6a8b9, 0x141ea9c8, 0x57f11985, 0xaf75074c, 0xee99ddbb, 0xa37f60fd, 0xf701269f, 0x5c72f5bc, 0x44663bc5, 0x5bfb7e34, 0x8b432976, 0xcb23c6dc, 0xb6edfc68, 0xb8e4f163, 0xd731dcca, 0x42638510, 0x13972240, 0x84c61120, 0x854a247d, 0xd2bb3df8, 0xaef93211, 0xc729a16d, 0x1d9e2f4b, 0xdcb230f3, 0x0d8652ec, 0x77c1e3d0, 0x2bb3166c, 0xa970b999, 0x119448fa, 0x47e96422, 0xa8fc8cc4, 0xa0f03f1a, 0x567d2cd8, 0x223390ef, 0x87494ec7, 0xd938d1c1, 0x8ccaa2fe, 0x98d40b36, 0xa6f581cf, 0xa57ade28, 0xdab78e26, 0x3fadbfa4, 0x2c3a9de4, 0x5078920d, 0x6a5fcc9b, 0x547e4662, 0xf68d13c2, 0x90d8b8e8, 0x2e39f75e, 0x82c3aff5, 0x9f5d80be, 0x69d0937c, 0x6fd52da9, 0xcf2512b3, 0xc8ac993b, 0x10187da7, 0xe89c636e, 0xdb3bbb7b, 0xcd267809, 0x6e5918f4, 0xec9ab701, 0x834f9aa8, 0xe6956e65, 0xaaffe67e, 0x21bccf08, 0xef15e8e6, 0xbae79bd9, 0x4a6f36ce, 0xea9f09d4, 0x29b07cd6, 0x31a4b2af, 0x2a3f2331, 0xc6a59430, 0x35a266c0, 0x744ebc37, 0xfc82caa6, 0xe090d0b0, 0x33a7d815, 0xf104984a, 0x41ecdaf7, 0x7fcd500e, 0x1791f62f, 0x764dd68d, 0x43efb04d, 0xccaa4d54, 0xe49604df, 0x9ed1b5e3, 0x4c6a881b, 0xc12c1fb8, 0x4665517f, 0x9d5eea04, 0x018c355d, 0xfa877473, 0xfb0b412e, 0xb3671d5a, 0x92dbd252, 0xe9105633, 0x6dd64713, 0x9ad7618c, 0x37a10c7a, 0x59f8148e, 0xeb133c89, 0xcea927ee, 0xb761c935, 0xe11ce5ed, 0x7a47b13c, 0x9cd2df59, 0x55f2733f, 0x1814ce79, 0x73c737bf, 0x53f7cdea, 0x5ffdaa5b, 0xdf3d6f14, 0x7844db86, 0xcaaff381, 0xb968c43e, 0x3824342c, 0xc2a3405f, 0x161dc372, 0xbce2250c, 0x283c498b, 0xff0d9541, 0x39a80171, 0x080cb3de, 0xd8b4e49c, 0x6456c190, 0x7bcb8461, 0xd532b670, 0x486c5c74, 0xd0b85742];\n var T6 = [0x5051f4a7, 0x537e4165, 0xc31a17a4, 0x963a275e, 0xcb3bab6b, 0xf11f9d45, 0xabacfa58, 0x934be303, 0x552030fa, 0xf6ad766d, 0x9188cc76, 0x25f5024c, 0xfc4fe5d7, 0xd7c52acb, 0x80263544, 0x8fb562a3, 0x49deb15a, 0x6725ba1b, 0x9845ea0e, 0xe15dfec0, 0x02c32f75, 0x12814cf0, 0xa38d4697, 0xc66bd3f9, 0xe7038f5f, 0x9515929c, 0xebbf6d7a, 0xda955259, 0x2dd4be83, 0xd3587421, 0x2949e069, 0x448ec9c8, 0x6a75c289, 0x78f48e79, 0x6b99583e, 0xdd27b971, 0xb6bee14f, 0x17f088ad, 0x66c920ac, 0xb47dce3a, 0x1863df4a, 0x82e51a31, 0x60975133, 0x4562537f, 0xe0b16477, 0x84bb6bae, 0x1cfe81a0, 0x94f9082b, 0x58704868, 0x198f45fd, 0x8794de6c, 0xb7527bf8, 0x23ab73d3, 0xe2724b02, 0x57e31f8f, 0x2a6655ab, 0x07b2eb28, 0x032fb5c2, 0x9a86c57b, 0xa5d33708, 0xf2302887, 0xb223bfa5, 0xba02036a, 0x5ced1682, 0x2b8acf1c, 0x92a779b4, 0xf0f307f2, 0xa14e69e2, 0xcd65daf4, 0xd50605be, 0x1fd13462, 0x8ac4a6fe, 0x9d342e53, 0xa0a2f355, 0x32058ae1, 0x75a4f6eb, 0x390b83ec, 0xaa4060ef, 0x065e719f, 0x51bd6e10, 0xf93e218a, 0x3d96dd06, 0xaedd3e05, 0x464de6bd, 0xb591548d, 0x0571c45d, 0x6f0406d4, 0xff605015, 0x241998fb, 0x97d6bde9, 0xcc894043, 0x7767d99e, 0xbdb0e842, 0x8807898b, 0x38e7195b, 0xdb79c8ee, 0x47a17c0a, 0xe97c420f, 0xc9f8841e, 0x00000000, 0x83098086, 0x48322bed, 0xac1e1170, 0x4e6c5a72, 0xfbfd0eff, 0x560f8538, 0x1e3daed5, 0x27362d39, 0x640a0fd9, 0x21685ca6, 0xd19b5b54, 0x3a24362e, 0xb10c0a67, 0x0f9357e7, 0xd2b4ee96, 0x9e1b9b91, 0x4f80c0c5, 0xa261dc20, 0x695a774b, 0x161c121a, 0x0ae293ba, 0xe5c0a02a, 0x433c22e0, 0x1d121b17, 0x0b0e090d, 0xadf28bc7, 0xb92db6a8, 0xc8141ea9, 0x8557f119, 0x4caf7507, 0xbbee99dd, 0xfda37f60, 0x9ff70126, 0xbc5c72f5, 0xc544663b, 0x345bfb7e, 0x768b4329, 0xdccb23c6, 0x68b6edfc, 0x63b8e4f1, 0xcad731dc, 0x10426385, 0x40139722, 0x2084c611, 0x7d854a24, 0xf8d2bb3d, 0x11aef932, 0x6dc729a1, 0x4b1d9e2f, 0xf3dcb230, 0xec0d8652, 0xd077c1e3, 0x6c2bb316, 0x99a970b9, 0xfa119448, 0x2247e964, 0xc4a8fc8c, 0x1aa0f03f, 0xd8567d2c, 0xef223390, 0xc787494e, 0xc1d938d1, 0xfe8ccaa2, 0x3698d40b, 0xcfa6f581, 0x28a57ade, 0x26dab78e, 0xa43fadbf, 0xe42c3a9d, 0x0d507892, 0x9b6a5fcc, 0x62547e46, 0xc2f68d13, 0xe890d8b8, 0x5e2e39f7, 0xf582c3af, 0xbe9f5d80, 0x7c69d093, 0xa96fd52d, 0xb3cf2512, 0x3bc8ac99, 0xa710187d, 0x6ee89c63, 0x7bdb3bbb, 0x09cd2678, 0xf46e5918, 0x01ec9ab7, 0xa8834f9a, 0x65e6956e, 0x7eaaffe6, 0x0821bccf, 0xe6ef15e8, 0xd9bae79b, 0xce4a6f36, 0xd4ea9f09, 0xd629b07c, 0xaf31a4b2, 0x312a3f23, 0x30c6a594, 0xc035a266, 0x37744ebc, 0xa6fc82ca, 0xb0e090d0, 0x1533a7d8, 0x4af10498, 0xf741ecda, 0x0e7fcd50, 0x2f1791f6, 0x8d764dd6, 0x4d43efb0, 0x54ccaa4d, 0xdfe49604, 0xe39ed1b5, 0x1b4c6a88, 0xb8c12c1f, 0x7f466551, 0x049d5eea, 0x5d018c35, 0x73fa8774, 0x2efb0b41, 0x5ab3671d, 0x5292dbd2, 0x33e91056, 0x136dd647, 0x8c9ad761, 0x7a37a10c, 0x8e59f814, 0x89eb133c, 0xeecea927, 0x35b761c9, 0xede11ce5, 0x3c7a47b1, 0x599cd2df, 0x3f55f273, 0x791814ce, 0xbf73c737, 0xea53f7cd, 0x5b5ffdaa, 0x14df3d6f, 0x867844db, 0x81caaff3, 0x3eb968c4, 0x2c382434, 0x5fc2a340, 0x72161dc3, 0x0cbce225, 0x8b283c49, 0x41ff0d95, 0x7139a801, 0xde080cb3, 0x9cd8b4e4, 0x906456c1, 0x617bcb84, 0x70d532b6, 0x74486c5c, 0x42d0b857];\n var T7 = [0xa75051f4, 0x65537e41, 0xa4c31a17, 0x5e963a27, 0x6bcb3bab, 0x45f11f9d, 0x58abacfa, 0x03934be3, 0xfa552030, 0x6df6ad76, 0x769188cc, 0x4c25f502, 0xd7fc4fe5, 0xcbd7c52a, 0x44802635, 0xa38fb562, 0x5a49deb1, 0x1b6725ba, 0x0e9845ea, 0xc0e15dfe, 0x7502c32f, 0xf012814c, 0x97a38d46, 0xf9c66bd3, 0x5fe7038f, 0x9c951592, 0x7aebbf6d, 0x59da9552, 0x832dd4be, 0x21d35874, 0x692949e0, 0xc8448ec9, 0x896a75c2, 0x7978f48e, 0x3e6b9958, 0x71dd27b9, 0x4fb6bee1, 0xad17f088, 0xac66c920, 0x3ab47dce, 0x4a1863df, 0x3182e51a, 0x33609751, 0x7f456253, 0x77e0b164, 0xae84bb6b, 0xa01cfe81, 0x2b94f908, 0x68587048, 0xfd198f45, 0x6c8794de, 0xf8b7527b, 0xd323ab73, 0x02e2724b, 0x8f57e31f, 0xab2a6655, 0x2807b2eb, 0xc2032fb5, 0x7b9a86c5, 0x08a5d337, 0x87f23028, 0xa5b223bf, 0x6aba0203, 0x825ced16, 0x1c2b8acf, 0xb492a779, 0xf2f0f307, 0xe2a14e69, 0xf4cd65da, 0xbed50605, 0x621fd134, 0xfe8ac4a6, 0x539d342e, 0x55a0a2f3, 0xe132058a, 0xeb75a4f6, 0xec390b83, 0xefaa4060, 0x9f065e71, 0x1051bd6e, 0x8af93e21, 0x063d96dd, 0x05aedd3e, 0xbd464de6, 0x8db59154, 0x5d0571c4, 0xd46f0406, 0x15ff6050, 0xfb241998, 0xe997d6bd, 0x43cc8940, 0x9e7767d9, 0x42bdb0e8, 0x8b880789, 0x5b38e719, 0xeedb79c8, 0x0a47a17c, 0x0fe97c42, 0x1ec9f884, 0x00000000, 0x86830980, 0xed48322b, 0x70ac1e11, 0x724e6c5a, 0xfffbfd0e, 0x38560f85, 0xd51e3dae, 0x3927362d, 0xd9640a0f, 0xa621685c, 0x54d19b5b, 0x2e3a2436, 0x67b10c0a, 0xe70f9357, 0x96d2b4ee, 0x919e1b9b, 0xc54f80c0, 0x20a261dc, 0x4b695a77, 0x1a161c12, 0xba0ae293, 0x2ae5c0a0, 0xe0433c22, 0x171d121b, 0x0d0b0e09, 0xc7adf28b, 0xa8b92db6, 0xa9c8141e, 0x198557f1, 0x074caf75, 0xddbbee99, 0x60fda37f, 0x269ff701, 0xf5bc5c72, 0x3bc54466, 0x7e345bfb, 0x29768b43, 0xc6dccb23, 0xfc68b6ed, 0xf163b8e4, 0xdccad731, 0x85104263, 0x22401397, 0x112084c6, 0x247d854a, 0x3df8d2bb, 0x3211aef9, 0xa16dc729, 0x2f4b1d9e, 0x30f3dcb2, 0x52ec0d86, 0xe3d077c1, 0x166c2bb3, 0xb999a970, 0x48fa1194, 0x642247e9, 0x8cc4a8fc, 0x3f1aa0f0, 0x2cd8567d, 0x90ef2233, 0x4ec78749, 0xd1c1d938, 0xa2fe8cca, 0x0b3698d4, 0x81cfa6f5, 0xde28a57a, 0x8e26dab7, 0xbfa43fad, 0x9de42c3a, 0x920d5078, 0xcc9b6a5f, 0x4662547e, 0x13c2f68d, 0xb8e890d8, 0xf75e2e39, 0xaff582c3, 0x80be9f5d, 0x937c69d0, 0x2da96fd5, 0x12b3cf25, 0x993bc8ac, 0x7da71018, 0x636ee89c, 0xbb7bdb3b, 0x7809cd26, 0x18f46e59, 0xb701ec9a, 0x9aa8834f, 0x6e65e695, 0xe67eaaff, 0xcf0821bc, 0xe8e6ef15, 0x9bd9bae7, 0x36ce4a6f, 0x09d4ea9f, 0x7cd629b0, 0xb2af31a4, 0x23312a3f, 0x9430c6a5, 0x66c035a2, 0xbc37744e, 0xcaa6fc82, 0xd0b0e090, 0xd81533a7, 0x984af104, 0xdaf741ec, 0x500e7fcd, 0xf62f1791, 0xd68d764d, 0xb04d43ef, 0x4d54ccaa, 0x04dfe496, 0xb5e39ed1, 0x881b4c6a, 0x1fb8c12c, 0x517f4665, 0xea049d5e, 0x355d018c, 0x7473fa87, 0x412efb0b, 0x1d5ab367, 0xd25292db, 0x5633e910, 0x47136dd6, 0x618c9ad7, 0x0c7a37a1, 0x148e59f8, 0x3c89eb13, 0x27eecea9, 0xc935b761, 0xe5ede11c, 0xb13c7a47, 0xdf599cd2, 0x733f55f2, 0xce791814, 0x37bf73c7, 0xcdea53f7, 0xaa5b5ffd, 0x6f14df3d, 0xdb867844, 0xf381caaf, 0xc43eb968, 0x342c3824, 0x405fc2a3, 0xc372161d, 0x250cbce2, 0x498b283c, 0x9541ff0d, 0x017139a8, 0xb3de080c, 0xe49cd8b4, 0xc1906456, 0x84617bcb, 0xb670d532, 0x5c74486c, 0x5742d0b8];\n var T8 = [0xf4a75051, 0x4165537e, 0x17a4c31a, 0x275e963a, 0xab6bcb3b, 0x9d45f11f, 0xfa58abac, 0xe303934b, 0x30fa5520, 0x766df6ad, 0xcc769188, 0x024c25f5, 0xe5d7fc4f, 0x2acbd7c5, 0x35448026, 0x62a38fb5, 0xb15a49de, 0xba1b6725, 0xea0e9845, 0xfec0e15d, 0x2f7502c3, 0x4cf01281, 0x4697a38d, 0xd3f9c66b, 0x8f5fe703, 0x929c9515, 0x6d7aebbf, 0x5259da95, 0xbe832dd4, 0x7421d358, 0xe0692949, 0xc9c8448e, 0xc2896a75, 0x8e7978f4, 0x583e6b99, 0xb971dd27, 0xe14fb6be, 0x88ad17f0, 0x20ac66c9, 0xce3ab47d, 0xdf4a1863, 0x1a3182e5, 0x51336097, 0x537f4562, 0x6477e0b1, 0x6bae84bb, 0x81a01cfe, 0x082b94f9, 0x48685870, 0x45fd198f, 0xde6c8794, 0x7bf8b752, 0x73d323ab, 0x4b02e272, 0x1f8f57e3, 0x55ab2a66, 0xeb2807b2, 0xb5c2032f, 0xc57b9a86, 0x3708a5d3, 0x2887f230, 0xbfa5b223, 0x036aba02, 0x16825ced, 0xcf1c2b8a, 0x79b492a7, 0x07f2f0f3, 0x69e2a14e, 0xdaf4cd65, 0x05bed506, 0x34621fd1, 0xa6fe8ac4, 0x2e539d34, 0xf355a0a2, 0x8ae13205, 0xf6eb75a4, 0x83ec390b, 0x60efaa40, 0x719f065e, 0x6e1051bd, 0x218af93e, 0xdd063d96, 0x3e05aedd, 0xe6bd464d, 0x548db591, 0xc45d0571, 0x06d46f04, 0x5015ff60, 0x98fb2419, 0xbde997d6, 0x4043cc89, 0xd99e7767, 0xe842bdb0, 0x898b8807, 0x195b38e7, 0xc8eedb79, 0x7c0a47a1, 0x420fe97c, 0x841ec9f8, 0x00000000, 0x80868309, 0x2bed4832, 0x1170ac1e, 0x5a724e6c, 0x0efffbfd, 0x8538560f, 0xaed51e3d, 0x2d392736, 0x0fd9640a, 0x5ca62168, 0x5b54d19b, 0x362e3a24, 0x0a67b10c, 0x57e70f93, 0xee96d2b4, 0x9b919e1b, 0xc0c54f80, 0xdc20a261, 0x774b695a, 0x121a161c, 0x93ba0ae2, 0xa02ae5c0, 0x22e0433c, 0x1b171d12, 0x090d0b0e, 0x8bc7adf2, 0xb6a8b92d, 0x1ea9c814, 0xf1198557, 0x75074caf, 0x99ddbbee, 0x7f60fda3, 0x01269ff7, 0x72f5bc5c, 0x663bc544, 0xfb7e345b, 0x4329768b, 0x23c6dccb, 0xedfc68b6, 0xe4f163b8, 0x31dccad7, 0x63851042, 0x97224013, 0xc6112084, 0x4a247d85, 0xbb3df8d2, 0xf93211ae, 0x29a16dc7, 0x9e2f4b1d, 0xb230f3dc, 0x8652ec0d, 0xc1e3d077, 0xb3166c2b, 0x70b999a9, 0x9448fa11, 0xe9642247, 0xfc8cc4a8, 0xf03f1aa0, 0x7d2cd856, 0x3390ef22, 0x494ec787, 0x38d1c1d9, 0xcaa2fe8c, 0xd40b3698, 0xf581cfa6, 0x7ade28a5, 0xb78e26da, 0xadbfa43f, 0x3a9de42c, 0x78920d50, 0x5fcc9b6a, 0x7e466254, 0x8d13c2f6, 0xd8b8e890, 0x39f75e2e, 0xc3aff582, 0x5d80be9f, 0xd0937c69, 0xd52da96f, 0x2512b3cf, 0xac993bc8, 0x187da710, 0x9c636ee8, 0x3bbb7bdb, 0x267809cd, 0x5918f46e, 0x9ab701ec, 0x4f9aa883, 0x956e65e6, 0xffe67eaa, 0xbccf0821, 0x15e8e6ef, 0xe79bd9ba, 0x6f36ce4a, 0x9f09d4ea, 0xb07cd629, 0xa4b2af31, 0x3f23312a, 0xa59430c6, 0xa266c035, 0x4ebc3774, 0x82caa6fc, 0x90d0b0e0, 0xa7d81533, 0x04984af1, 0xecdaf741, 0xcd500e7f, 0x91f62f17, 0x4dd68d76, 0xefb04d43, 0xaa4d54cc, 0x9604dfe4, 0xd1b5e39e, 0x6a881b4c, 0x2c1fb8c1, 0x65517f46, 0x5eea049d, 0x8c355d01, 0x877473fa, 0x0b412efb, 0x671d5ab3, 0xdbd25292, 0x105633e9, 0xd647136d, 0xd7618c9a, 0xa10c7a37, 0xf8148e59, 0x133c89eb, 0xa927eece, 0x61c935b7, 0x1ce5ede1, 0x47b13c7a, 0xd2df599c, 0xf2733f55, 0x14ce7918, 0xc737bf73, 0xf7cdea53, 0xfdaa5b5f, 0x3d6f14df, 0x44db8678, 0xaff381ca, 0x68c43eb9, 0x24342c38, 0xa3405fc2, 0x1dc37216, 0xe2250cbc, 0x3c498b28, 0x0d9541ff, 0xa8017139, 0x0cb3de08, 0xb4e49cd8, 0x56c19064, 0xcb84617b, 0x32b670d5, 0x6c5c7448, 0xb85742d0];\n\n // Transformations for decryption key expansion\n var U1 = [0x00000000, 0x0e090d0b, 0x1c121a16, 0x121b171d, 0x3824342c, 0x362d3927, 0x24362e3a, 0x2a3f2331, 0x70486858, 0x7e416553, 0x6c5a724e, 0x62537f45, 0x486c5c74, 0x4665517f, 0x547e4662, 0x5a774b69, 0xe090d0b0, 0xee99ddbb, 0xfc82caa6, 0xf28bc7ad, 0xd8b4e49c, 0xd6bde997, 0xc4a6fe8a, 0xcaaff381, 0x90d8b8e8, 0x9ed1b5e3, 0x8ccaa2fe, 0x82c3aff5, 0xa8fc8cc4, 0xa6f581cf, 0xb4ee96d2, 0xbae79bd9, 0xdb3bbb7b, 0xd532b670, 0xc729a16d, 0xc920ac66, 0xe31f8f57, 0xed16825c, 0xff0d9541, 0xf104984a, 0xab73d323, 0xa57ade28, 0xb761c935, 0xb968c43e, 0x9357e70f, 0x9d5eea04, 0x8f45fd19, 0x814cf012, 0x3bab6bcb, 0x35a266c0, 0x27b971dd, 0x29b07cd6, 0x038f5fe7, 0x0d8652ec, 0x1f9d45f1, 0x119448fa, 0x4be30393, 0x45ea0e98, 0x57f11985, 0x59f8148e, 0x73c737bf, 0x7dce3ab4, 0x6fd52da9, 0x61dc20a2, 0xad766df6, 0xa37f60fd, 0xb16477e0, 0xbf6d7aeb, 0x955259da, 0x9b5b54d1, 0x894043cc, 0x87494ec7, 0xdd3e05ae, 0xd33708a5, 0xc12c1fb8, 0xcf2512b3, 0xe51a3182, 0xeb133c89, 0xf9082b94, 0xf701269f, 0x4de6bd46, 0x43efb04d, 0x51f4a750, 0x5ffdaa5b, 0x75c2896a, 0x7bcb8461, 0x69d0937c, 0x67d99e77, 0x3daed51e, 0x33a7d815, 0x21bccf08, 0x2fb5c203, 0x058ae132, 0x0b83ec39, 0x1998fb24, 0x1791f62f, 0x764dd68d, 0x7844db86, 0x6a5fcc9b, 0x6456c190, 0x4e69e2a1, 0x4060efaa, 0x527bf8b7, 0x5c72f5bc, 0x0605bed5, 0x080cb3de, 0x1a17a4c3, 0x141ea9c8, 0x3e218af9, 0x302887f2, 0x223390ef, 0x2c3a9de4, 0x96dd063d, 0x98d40b36, 0x8acf1c2b, 0x84c61120, 0xaef93211, 0xa0f03f1a, 0xb2eb2807, 0xbce2250c, 0xe6956e65, 0xe89c636e, 0xfa877473, 0xf48e7978, 0xdeb15a49, 0xd0b85742, 0xc2a3405f, 0xccaa4d54, 0x41ecdaf7, 0x4fe5d7fc, 0x5dfec0e1, 0x53f7cdea, 0x79c8eedb, 0x77c1e3d0, 0x65daf4cd, 0x6bd3f9c6, 0x31a4b2af, 0x3fadbfa4, 0x2db6a8b9, 0x23bfa5b2, 0x09808683, 0x07898b88, 0x15929c95, 0x1b9b919e, 0xa17c0a47, 0xaf75074c, 0xbd6e1051, 0xb3671d5a, 0x99583e6b, 0x97513360, 0x854a247d, 0x8b432976, 0xd134621f, 0xdf3d6f14, 0xcd267809, 0xc32f7502, 0xe9105633, 0xe7195b38, 0xf5024c25, 0xfb0b412e, 0x9ad7618c, 0x94de6c87, 0x86c57b9a, 0x88cc7691, 0xa2f355a0, 0xacfa58ab, 0xbee14fb6, 0xb0e842bd, 0xea9f09d4, 0xe49604df, 0xf68d13c2, 0xf8841ec9, 0xd2bb3df8, 0xdcb230f3, 0xcea927ee, 0xc0a02ae5, 0x7a47b13c, 0x744ebc37, 0x6655ab2a, 0x685ca621, 0x42638510, 0x4c6a881b, 0x5e719f06, 0x5078920d, 0x0a0fd964, 0x0406d46f, 0x161dc372, 0x1814ce79, 0x322bed48, 0x3c22e043, 0x2e39f75e, 0x2030fa55, 0xec9ab701, 0xe293ba0a, 0xf088ad17, 0xfe81a01c, 0xd4be832d, 0xdab78e26, 0xc8ac993b, 0xc6a59430, 0x9cd2df59, 0x92dbd252, 0x80c0c54f, 0x8ec9c844, 0xa4f6eb75, 0xaaffe67e, 0xb8e4f163, 0xb6edfc68, 0x0c0a67b1, 0x02036aba, 0x10187da7, 0x1e1170ac, 0x342e539d, 0x3a275e96, 0x283c498b, 0x26354480, 0x7c420fe9, 0x724b02e2, 0x605015ff, 0x6e5918f4, 0x44663bc5, 0x4a6f36ce, 0x587421d3, 0x567d2cd8, 0x37a10c7a, 0x39a80171, 0x2bb3166c, 0x25ba1b67, 0x0f853856, 0x018c355d, 0x13972240, 0x1d9e2f4b, 0x47e96422, 0x49e06929, 0x5bfb7e34, 0x55f2733f, 0x7fcd500e, 0x71c45d05, 0x63df4a18, 0x6dd64713, 0xd731dcca, 0xd938d1c1, 0xcb23c6dc, 0xc52acbd7, 0xef15e8e6, 0xe11ce5ed, 0xf307f2f0, 0xfd0efffb, 0xa779b492, 0xa970b999, 0xbb6bae84, 0xb562a38f, 0x9f5d80be, 0x91548db5, 0x834f9aa8, 0x8d4697a3];\n var U2 = [0x00000000, 0x0b0e090d, 0x161c121a, 0x1d121b17, 0x2c382434, 0x27362d39, 0x3a24362e, 0x312a3f23, 0x58704868, 0x537e4165, 0x4e6c5a72, 0x4562537f, 0x74486c5c, 0x7f466551, 0x62547e46, 0x695a774b, 0xb0e090d0, 0xbbee99dd, 0xa6fc82ca, 0xadf28bc7, 0x9cd8b4e4, 0x97d6bde9, 0x8ac4a6fe, 0x81caaff3, 0xe890d8b8, 0xe39ed1b5, 0xfe8ccaa2, 0xf582c3af, 0xc4a8fc8c, 0xcfa6f581, 0xd2b4ee96, 0xd9bae79b, 0x7bdb3bbb, 0x70d532b6, 0x6dc729a1, 0x66c920ac, 0x57e31f8f, 0x5ced1682, 0x41ff0d95, 0x4af10498, 0x23ab73d3, 0x28a57ade, 0x35b761c9, 0x3eb968c4, 0x0f9357e7, 0x049d5eea, 0x198f45fd, 0x12814cf0, 0xcb3bab6b, 0xc035a266, 0xdd27b971, 0xd629b07c, 0xe7038f5f, 0xec0d8652, 0xf11f9d45, 0xfa119448, 0x934be303, 0x9845ea0e, 0x8557f119, 0x8e59f814, 0xbf73c737, 0xb47dce3a, 0xa96fd52d, 0xa261dc20, 0xf6ad766d, 0xfda37f60, 0xe0b16477, 0xebbf6d7a, 0xda955259, 0xd19b5b54, 0xcc894043, 0xc787494e, 0xaedd3e05, 0xa5d33708, 0xb8c12c1f, 0xb3cf2512, 0x82e51a31, 0x89eb133c, 0x94f9082b, 0x9ff70126, 0x464de6bd, 0x4d43efb0, 0x5051f4a7, 0x5b5ffdaa, 0x6a75c289, 0x617bcb84, 0x7c69d093, 0x7767d99e, 0x1e3daed5, 0x1533a7d8, 0x0821bccf, 0x032fb5c2, 0x32058ae1, 0x390b83ec, 0x241998fb, 0x2f1791f6, 0x8d764dd6, 0x867844db, 0x9b6a5fcc, 0x906456c1, 0xa14e69e2, 0xaa4060ef, 0xb7527bf8, 0xbc5c72f5, 0xd50605be, 0xde080cb3, 0xc31a17a4, 0xc8141ea9, 0xf93e218a, 0xf2302887, 0xef223390, 0xe42c3a9d, 0x3d96dd06, 0x3698d40b, 0x2b8acf1c, 0x2084c611, 0x11aef932, 0x1aa0f03f, 0x07b2eb28, 0x0cbce225, 0x65e6956e, 0x6ee89c63, 0x73fa8774, 0x78f48e79, 0x49deb15a, 0x42d0b857, 0x5fc2a340, 0x54ccaa4d, 0xf741ecda, 0xfc4fe5d7, 0xe15dfec0, 0xea53f7cd, 0xdb79c8ee, 0xd077c1e3, 0xcd65daf4, 0xc66bd3f9, 0xaf31a4b2, 0xa43fadbf, 0xb92db6a8, 0xb223bfa5, 0x83098086, 0x8807898b, 0x9515929c, 0x9e1b9b91, 0x47a17c0a, 0x4caf7507, 0x51bd6e10, 0x5ab3671d, 0x6b99583e, 0x60975133, 0x7d854a24, 0x768b4329, 0x1fd13462, 0x14df3d6f, 0x09cd2678, 0x02c32f75, 0x33e91056, 0x38e7195b, 0x25f5024c, 0x2efb0b41, 0x8c9ad761, 0x8794de6c, 0x9a86c57b, 0x9188cc76, 0xa0a2f355, 0xabacfa58, 0xb6bee14f, 0xbdb0e842, 0xd4ea9f09, 0xdfe49604, 0xc2f68d13, 0xc9f8841e, 0xf8d2bb3d, 0xf3dcb230, 0xeecea927, 0xe5c0a02a, 0x3c7a47b1, 0x37744ebc, 0x2a6655ab, 0x21685ca6, 0x10426385, 0x1b4c6a88, 0x065e719f, 0x0d507892, 0x640a0fd9, 0x6f0406d4, 0x72161dc3, 0x791814ce, 0x48322bed, 0x433c22e0, 0x5e2e39f7, 0x552030fa, 0x01ec9ab7, 0x0ae293ba, 0x17f088ad, 0x1cfe81a0, 0x2dd4be83, 0x26dab78e, 0x3bc8ac99, 0x30c6a594, 0x599cd2df, 0x5292dbd2, 0x4f80c0c5, 0x448ec9c8, 0x75a4f6eb, 0x7eaaffe6, 0x63b8e4f1, 0x68b6edfc, 0xb10c0a67, 0xba02036a, 0xa710187d, 0xac1e1170, 0x9d342e53, 0x963a275e, 0x8b283c49, 0x80263544, 0xe97c420f, 0xe2724b02, 0xff605015, 0xf46e5918, 0xc544663b, 0xce4a6f36, 0xd3587421, 0xd8567d2c, 0x7a37a10c, 0x7139a801, 0x6c2bb316, 0x6725ba1b, 0x560f8538, 0x5d018c35, 0x40139722, 0x4b1d9e2f, 0x2247e964, 0x2949e069, 0x345bfb7e, 0x3f55f273, 0x0e7fcd50, 0x0571c45d, 0x1863df4a, 0x136dd647, 0xcad731dc, 0xc1d938d1, 0xdccb23c6, 0xd7c52acb, 0xe6ef15e8, 0xede11ce5, 0xf0f307f2, 0xfbfd0eff, 0x92a779b4, 0x99a970b9, 0x84bb6bae, 0x8fb562a3, 0xbe9f5d80, 0xb591548d, 0xa8834f9a, 0xa38d4697];\n var U3 = [0x00000000, 0x0d0b0e09, 0x1a161c12, 0x171d121b, 0x342c3824, 0x3927362d, 0x2e3a2436, 0x23312a3f, 0x68587048, 0x65537e41, 0x724e6c5a, 0x7f456253, 0x5c74486c, 0x517f4665, 0x4662547e, 0x4b695a77, 0xd0b0e090, 0xddbbee99, 0xcaa6fc82, 0xc7adf28b, 0xe49cd8b4, 0xe997d6bd, 0xfe8ac4a6, 0xf381caaf, 0xb8e890d8, 0xb5e39ed1, 0xa2fe8cca, 0xaff582c3, 0x8cc4a8fc, 0x81cfa6f5, 0x96d2b4ee, 0x9bd9bae7, 0xbb7bdb3b, 0xb670d532, 0xa16dc729, 0xac66c920, 0x8f57e31f, 0x825ced16, 0x9541ff0d, 0x984af104, 0xd323ab73, 0xde28a57a, 0xc935b761, 0xc43eb968, 0xe70f9357, 0xea049d5e, 0xfd198f45, 0xf012814c, 0x6bcb3bab, 0x66c035a2, 0x71dd27b9, 0x7cd629b0, 0x5fe7038f, 0x52ec0d86, 0x45f11f9d, 0x48fa1194, 0x03934be3, 0x0e9845ea, 0x198557f1, 0x148e59f8, 0x37bf73c7, 0x3ab47dce, 0x2da96fd5, 0x20a261dc, 0x6df6ad76, 0x60fda37f, 0x77e0b164, 0x7aebbf6d, 0x59da9552, 0x54d19b5b, 0x43cc8940, 0x4ec78749, 0x05aedd3e, 0x08a5d337, 0x1fb8c12c, 0x12b3cf25, 0x3182e51a, 0x3c89eb13, 0x2b94f908, 0x269ff701, 0xbd464de6, 0xb04d43ef, 0xa75051f4, 0xaa5b5ffd, 0x896a75c2, 0x84617bcb, 0x937c69d0, 0x9e7767d9, 0xd51e3dae, 0xd81533a7, 0xcf0821bc, 0xc2032fb5, 0xe132058a, 0xec390b83, 0xfb241998, 0xf62f1791, 0xd68d764d, 0xdb867844, 0xcc9b6a5f, 0xc1906456, 0xe2a14e69, 0xefaa4060, 0xf8b7527b, 0xf5bc5c72, 0xbed50605, 0xb3de080c, 0xa4c31a17, 0xa9c8141e, 0x8af93e21, 0x87f23028, 0x90ef2233, 0x9de42c3a, 0x063d96dd, 0x0b3698d4, 0x1c2b8acf, 0x112084c6, 0x3211aef9, 0x3f1aa0f0, 0x2807b2eb, 0x250cbce2, 0x6e65e695, 0x636ee89c, 0x7473fa87, 0x7978f48e, 0x5a49deb1, 0x5742d0b8, 0x405fc2a3, 0x4d54ccaa, 0xdaf741ec, 0xd7fc4fe5, 0xc0e15dfe, 0xcdea53f7, 0xeedb79c8, 0xe3d077c1, 0xf4cd65da, 0xf9c66bd3, 0xb2af31a4, 0xbfa43fad, 0xa8b92db6, 0xa5b223bf, 0x86830980, 0x8b880789, 0x9c951592, 0x919e1b9b, 0x0a47a17c, 0x074caf75, 0x1051bd6e, 0x1d5ab367, 0x3e6b9958, 0x33609751, 0x247d854a, 0x29768b43, 0x621fd134, 0x6f14df3d, 0x7809cd26, 0x7502c32f, 0x5633e910, 0x5b38e719, 0x4c25f502, 0x412efb0b, 0x618c9ad7, 0x6c8794de, 0x7b9a86c5, 0x769188cc, 0x55a0a2f3, 0x58abacfa, 0x4fb6bee1, 0x42bdb0e8, 0x09d4ea9f, 0x04dfe496, 0x13c2f68d, 0x1ec9f884, 0x3df8d2bb, 0x30f3dcb2, 0x27eecea9, 0x2ae5c0a0, 0xb13c7a47, 0xbc37744e, 0xab2a6655, 0xa621685c, 0x85104263, 0x881b4c6a, 0x9f065e71, 0x920d5078, 0xd9640a0f, 0xd46f0406, 0xc372161d, 0xce791814, 0xed48322b, 0xe0433c22, 0xf75e2e39, 0xfa552030, 0xb701ec9a, 0xba0ae293, 0xad17f088, 0xa01cfe81, 0x832dd4be, 0x8e26dab7, 0x993bc8ac, 0x9430c6a5, 0xdf599cd2, 0xd25292db, 0xc54f80c0, 0xc8448ec9, 0xeb75a4f6, 0xe67eaaff, 0xf163b8e4, 0xfc68b6ed, 0x67b10c0a, 0x6aba0203, 0x7da71018, 0x70ac1e11, 0x539d342e, 0x5e963a27, 0x498b283c, 0x44802635, 0x0fe97c42, 0x02e2724b, 0x15ff6050, 0x18f46e59, 0x3bc54466, 0x36ce4a6f, 0x21d35874, 0x2cd8567d, 0x0c7a37a1, 0x017139a8, 0x166c2bb3, 0x1b6725ba, 0x38560f85, 0x355d018c, 0x22401397, 0x2f4b1d9e, 0x642247e9, 0x692949e0, 0x7e345bfb, 0x733f55f2, 0x500e7fcd, 0x5d0571c4, 0x4a1863df, 0x47136dd6, 0xdccad731, 0xd1c1d938, 0xc6dccb23, 0xcbd7c52a, 0xe8e6ef15, 0xe5ede11c, 0xf2f0f307, 0xfffbfd0e, 0xb492a779, 0xb999a970, 0xae84bb6b, 0xa38fb562, 0x80be9f5d, 0x8db59154, 0x9aa8834f, 0x97a38d46];\n var U4 = [0x00000000, 0x090d0b0e, 0x121a161c, 0x1b171d12, 0x24342c38, 0x2d392736, 0x362e3a24, 0x3f23312a, 0x48685870, 0x4165537e, 0x5a724e6c, 0x537f4562, 0x6c5c7448, 0x65517f46, 0x7e466254, 0x774b695a, 0x90d0b0e0, 0x99ddbbee, 0x82caa6fc, 0x8bc7adf2, 0xb4e49cd8, 0xbde997d6, 0xa6fe8ac4, 0xaff381ca, 0xd8b8e890, 0xd1b5e39e, 0xcaa2fe8c, 0xc3aff582, 0xfc8cc4a8, 0xf581cfa6, 0xee96d2b4, 0xe79bd9ba, 0x3bbb7bdb, 0x32b670d5, 0x29a16dc7, 0x20ac66c9, 0x1f8f57e3, 0x16825ced, 0x0d9541ff, 0x04984af1, 0x73d323ab, 0x7ade28a5, 0x61c935b7, 0x68c43eb9, 0x57e70f93, 0x5eea049d, 0x45fd198f, 0x4cf01281, 0xab6bcb3b, 0xa266c035, 0xb971dd27, 0xb07cd629, 0x8f5fe703, 0x8652ec0d, 0x9d45f11f, 0x9448fa11, 0xe303934b, 0xea0e9845, 0xf1198557, 0xf8148e59, 0xc737bf73, 0xce3ab47d, 0xd52da96f, 0xdc20a261, 0x766df6ad, 0x7f60fda3, 0x6477e0b1, 0x6d7aebbf, 0x5259da95, 0x5b54d19b, 0x4043cc89, 0x494ec787, 0x3e05aedd, 0x3708a5d3, 0x2c1fb8c1, 0x2512b3cf, 0x1a3182e5, 0x133c89eb, 0x082b94f9, 0x01269ff7, 0xe6bd464d, 0xefb04d43, 0xf4a75051, 0xfdaa5b5f, 0xc2896a75, 0xcb84617b, 0xd0937c69, 0xd99e7767, 0xaed51e3d, 0xa7d81533, 0xbccf0821, 0xb5c2032f, 0x8ae13205, 0x83ec390b, 0x98fb2419, 0x91f62f17, 0x4dd68d76, 0x44db8678, 0x5fcc9b6a, 0x56c19064, 0x69e2a14e, 0x60efaa40, 0x7bf8b752, 0x72f5bc5c, 0x05bed506, 0x0cb3de08, 0x17a4c31a, 0x1ea9c814, 0x218af93e, 0x2887f230, 0x3390ef22, 0x3a9de42c, 0xdd063d96, 0xd40b3698, 0xcf1c2b8a, 0xc6112084, 0xf93211ae, 0xf03f1aa0, 0xeb2807b2, 0xe2250cbc, 0x956e65e6, 0x9c636ee8, 0x877473fa, 0x8e7978f4, 0xb15a49de, 0xb85742d0, 0xa3405fc2, 0xaa4d54cc, 0xecdaf741, 0xe5d7fc4f, 0xfec0e15d, 0xf7cdea53, 0xc8eedb79, 0xc1e3d077, 0xdaf4cd65, 0xd3f9c66b, 0xa4b2af31, 0xadbfa43f, 0xb6a8b92d, 0xbfa5b223, 0x80868309, 0x898b8807, 0x929c9515, 0x9b919e1b, 0x7c0a47a1, 0x75074caf, 0x6e1051bd, 0x671d5ab3, 0x583e6b99, 0x51336097, 0x4a247d85, 0x4329768b, 0x34621fd1, 0x3d6f14df, 0x267809cd, 0x2f7502c3, 0x105633e9, 0x195b38e7, 0x024c25f5, 0x0b412efb, 0xd7618c9a, 0xde6c8794, 0xc57b9a86, 0xcc769188, 0xf355a0a2, 0xfa58abac, 0xe14fb6be, 0xe842bdb0, 0x9f09d4ea, 0x9604dfe4, 0x8d13c2f6, 0x841ec9f8, 0xbb3df8d2, 0xb230f3dc, 0xa927eece, 0xa02ae5c0, 0x47b13c7a, 0x4ebc3774, 0x55ab2a66, 0x5ca62168, 0x63851042, 0x6a881b4c, 0x719f065e, 0x78920d50, 0x0fd9640a, 0x06d46f04, 0x1dc37216, 0x14ce7918, 0x2bed4832, 0x22e0433c, 0x39f75e2e, 0x30fa5520, 0x9ab701ec, 0x93ba0ae2, 0x88ad17f0, 0x81a01cfe, 0xbe832dd4, 0xb78e26da, 0xac993bc8, 0xa59430c6, 0xd2df599c, 0xdbd25292, 0xc0c54f80, 0xc9c8448e, 0xf6eb75a4, 0xffe67eaa, 0xe4f163b8, 0xedfc68b6, 0x0a67b10c, 0x036aba02, 0x187da710, 0x1170ac1e, 0x2e539d34, 0x275e963a, 0x3c498b28, 0x35448026, 0x420fe97c, 0x4b02e272, 0x5015ff60, 0x5918f46e, 0x663bc544, 0x6f36ce4a, 0x7421d358, 0x7d2cd856, 0xa10c7a37, 0xa8017139, 0xb3166c2b, 0xba1b6725, 0x8538560f, 0x8c355d01, 0x97224013, 0x9e2f4b1d, 0xe9642247, 0xe0692949, 0xfb7e345b, 0xf2733f55, 0xcd500e7f, 0xc45d0571, 0xdf4a1863, 0xd647136d, 0x31dccad7, 0x38d1c1d9, 0x23c6dccb, 0x2acbd7c5, 0x15e8e6ef, 0x1ce5ede1, 0x07f2f0f3, 0x0efffbfd, 0x79b492a7, 0x70b999a9, 0x6bae84bb, 0x62a38fb5, 0x5d80be9f, 0x548db591, 0x4f9aa883, 0x4697a38d];\n\n function convertToInt32(bytes) {\n var result = [];\n for (var i = 0; i < bytes.length; i += 4) {\n result.push(\n (bytes[i ] << 24) |\n (bytes[i + 1] << 16) |\n (bytes[i + 2] << 8) |\n bytes[i + 3]\n );\n }\n return result;\n }\n\n var AES = function(key) {\n if (!(this instanceof AES)) {\n throw Error('AES must be instanitated with `new`');\n }\n\n Object.defineProperty(this, 'key', {\n value: coerceArray(key, true)\n });\n\n this._prepare();\n }\n\n\n AES.prototype._prepare = function() {\n\n var rounds = numberOfRounds[this.key.length];\n if (rounds == null) {\n throw new Error('invalid key size (must be 16, 24 or 32 bytes)');\n }\n\n // encryption round keys\n this._Ke = [];\n\n // decryption round keys\n this._Kd = [];\n\n for (var i = 0; i <= rounds; i++) {\n this._Ke.push([0, 0, 0, 0]);\n this._Kd.push([0, 0, 0, 0]);\n }\n\n var roundKeyCount = (rounds + 1) * 4;\n var KC = this.key.length / 4;\n\n // convert the key into ints\n var tk = convertToInt32(this.key);\n\n // copy values into round key arrays\n var index;\n for (var i = 0; i < KC; i++) {\n index = i >> 2;\n this._Ke[index][i % 4] = tk[i];\n this._Kd[rounds - index][i % 4] = tk[i];\n }\n\n // key expansion (fips-197 section 5.2)\n var rconpointer = 0;\n var t = KC, tt;\n while (t < roundKeyCount) {\n tt = tk[KC - 1];\n tk[0] ^= ((S[(tt >> 16) & 0xFF] << 24) ^\n (S[(tt >> 8) & 0xFF] << 16) ^\n (S[ tt & 0xFF] << 8) ^\n S[(tt >> 24) & 0xFF] ^\n (rcon[rconpointer] << 24));\n rconpointer += 1;\n\n // key expansion (for non-256 bit)\n if (KC != 8) {\n for (var i = 1; i < KC; i++) {\n tk[i] ^= tk[i - 1];\n }\n\n // key expansion for 256-bit keys is \"slightly different\" (fips-197)\n } else {\n for (var i = 1; i < (KC / 2); i++) {\n tk[i] ^= tk[i - 1];\n }\n tt = tk[(KC / 2) - 1];\n\n tk[KC / 2] ^= (S[ tt & 0xFF] ^\n (S[(tt >> 8) & 0xFF] << 8) ^\n (S[(tt >> 16) & 0xFF] << 16) ^\n (S[(tt >> 24) & 0xFF] << 24));\n\n for (var i = (KC / 2) + 1; i < KC; i++) {\n tk[i] ^= tk[i - 1];\n }\n }\n\n // copy values into round key arrays\n var i = 0, r, c;\n while (i < KC && t < roundKeyCount) {\n r = t >> 2;\n c = t % 4;\n this._Ke[r][c] = tk[i];\n this._Kd[rounds - r][c] = tk[i++];\n t++;\n }\n }\n\n // inverse-cipher-ify the decryption round key (fips-197 section 5.3)\n for (var r = 1; r < rounds; r++) {\n for (var c = 0; c < 4; c++) {\n tt = this._Kd[r][c];\n this._Kd[r][c] = (U1[(tt >> 24) & 0xFF] ^\n U2[(tt >> 16) & 0xFF] ^\n U3[(tt >> 8) & 0xFF] ^\n U4[ tt & 0xFF]);\n }\n }\n }\n\n AES.prototype.encrypt = function(plaintext) {\n if (plaintext.length != 16) {\n throw new Error('invalid plaintext size (must be 16 bytes)');\n }\n\n var rounds = this._Ke.length - 1;\n var a = [0, 0, 0, 0];\n\n // convert plaintext to (ints ^ key)\n var t = convertToInt32(plaintext);\n for (var i = 0; i < 4; i++) {\n t[i] ^= this._Ke[0][i];\n }\n\n // apply round transforms\n for (var r = 1; r < rounds; r++) {\n for (var i = 0; i < 4; i++) {\n a[i] = (T1[(t[ i ] >> 24) & 0xff] ^\n T2[(t[(i + 1) % 4] >> 16) & 0xff] ^\n T3[(t[(i + 2) % 4] >> 8) & 0xff] ^\n T4[ t[(i + 3) % 4] & 0xff] ^\n this._Ke[r][i]);\n }\n t = a.slice();\n }\n\n // the last round is special\n var result = createArray(16), tt;\n for (var i = 0; i < 4; i++) {\n tt = this._Ke[rounds][i];\n result[4 * i ] = (S[(t[ i ] >> 24) & 0xff] ^ (tt >> 24)) & 0xff;\n result[4 * i + 1] = (S[(t[(i + 1) % 4] >> 16) & 0xff] ^ (tt >> 16)) & 0xff;\n result[4 * i + 2] = (S[(t[(i + 2) % 4] >> 8) & 0xff] ^ (tt >> 8)) & 0xff;\n result[4 * i + 3] = (S[ t[(i + 3) % 4] & 0xff] ^ tt ) & 0xff;\n }\n\n return result;\n }\n\n AES.prototype.decrypt = function(ciphertext) {\n if (ciphertext.length != 16) {\n throw new Error('invalid ciphertext size (must be 16 bytes)');\n }\n\n var rounds = this._Kd.length - 1;\n var a = [0, 0, 0, 0];\n\n // convert plaintext to (ints ^ key)\n var t = convertToInt32(ciphertext);\n for (var i = 0; i < 4; i++) {\n t[i] ^= this._Kd[0][i];\n }\n\n // apply round transforms\n for (var r = 1; r < rounds; r++) {\n for (var i = 0; i < 4; i++) {\n a[i] = (T5[(t[ i ] >> 24) & 0xff] ^\n T6[(t[(i + 3) % 4] >> 16) & 0xff] ^\n T7[(t[(i + 2) % 4] >> 8) & 0xff] ^\n T8[ t[(i + 1) % 4] & 0xff] ^\n this._Kd[r][i]);\n }\n t = a.slice();\n }\n\n // the last round is special\n var result = createArray(16), tt;\n for (var i = 0; i < 4; i++) {\n tt = this._Kd[rounds][i];\n result[4 * i ] = (Si[(t[ i ] >> 24) & 0xff] ^ (tt >> 24)) & 0xff;\n result[4 * i + 1] = (Si[(t[(i + 3) % 4] >> 16) & 0xff] ^ (tt >> 16)) & 0xff;\n result[4 * i + 2] = (Si[(t[(i + 2) % 4] >> 8) & 0xff] ^ (tt >> 8)) & 0xff;\n result[4 * i + 3] = (Si[ t[(i + 1) % 4] & 0xff] ^ tt ) & 0xff;\n }\n\n return result;\n }\n\n\n /**\n * Mode Of Operation - Electonic Codebook (ECB)\n */\n var ModeOfOperationECB = function(key) {\n if (!(this instanceof ModeOfOperationECB)) {\n throw Error('AES must be instanitated with `new`');\n }\n\n this.description = \"Electronic Code Block\";\n this.name = \"ecb\";\n\n this._aes = new AES(key);\n }\n\n ModeOfOperationECB.prototype.encrypt = function(plaintext) {\n plaintext = coerceArray(plaintext);\n\n if ((plaintext.length % 16) !== 0) {\n throw new Error('invalid plaintext size (must be multiple of 16 bytes)');\n }\n\n var ciphertext = createArray(plaintext.length);\n var block = createArray(16);\n\n for (var i = 0; i < plaintext.length; i += 16) {\n copyArray(plaintext, block, 0, i, i + 16);\n block = this._aes.encrypt(block);\n copyArray(block, ciphertext, i);\n }\n\n return ciphertext;\n }\n\n ModeOfOperationECB.prototype.decrypt = function(ciphertext) {\n ciphertext = coerceArray(ciphertext);\n\n if ((ciphertext.length % 16) !== 0) {\n throw new Error('invalid ciphertext size (must be multiple of 16 bytes)');\n }\n\n var plaintext = createArray(ciphertext.length);\n var block = createArray(16);\n\n for (var i = 0; i < ciphertext.length; i += 16) {\n copyArray(ciphertext, block, 0, i, i + 16);\n block = this._aes.decrypt(block);\n copyArray(block, plaintext, i);\n }\n\n return plaintext;\n }\n\n\n /**\n * Mode Of Operation - Cipher Block Chaining (CBC)\n */\n var ModeOfOperationCBC = function(key, iv) {\n if (!(this instanceof ModeOfOperationCBC)) {\n throw Error('AES must be instanitated with `new`');\n }\n\n this.description = \"Cipher Block Chaining\";\n this.name = \"cbc\";\n\n if (!iv) {\n iv = createArray(16);\n\n } else if (iv.length != 16) {\n throw new Error('invalid initialation vector size (must be 16 bytes)');\n }\n\n this._lastCipherblock = coerceArray(iv, true);\n\n this._aes = new AES(key);\n }\n\n ModeOfOperationCBC.prototype.encrypt = function(plaintext) {\n plaintext = coerceArray(plaintext);\n\n if ((plaintext.length % 16) !== 0) {\n throw new Error('invalid plaintext size (must be multiple of 16 bytes)');\n }\n\n var ciphertext = createArray(plaintext.length);\n var block = createArray(16);\n\n for (var i = 0; i < plaintext.length; i += 16) {\n copyArray(plaintext, block, 0, i, i + 16);\n\n for (var j = 0; j < 16; j++) {\n block[j] ^= this._lastCipherblock[j];\n }\n\n this._lastCipherblock = this._aes.encrypt(block);\n copyArray(this._lastCipherblock, ciphertext, i);\n }\n\n return ciphertext;\n }\n\n ModeOfOperationCBC.prototype.decrypt = function(ciphertext) {\n ciphertext = coerceArray(ciphertext);\n\n if ((ciphertext.length % 16) !== 0) {\n throw new Error('invalid ciphertext size (must be multiple of 16 bytes)');\n }\n\n var plaintext = createArray(ciphertext.length);\n var block = createArray(16);\n\n for (var i = 0; i < ciphertext.length; i += 16) {\n copyArray(ciphertext, block, 0, i, i + 16);\n block = this._aes.decrypt(block);\n\n for (var j = 0; j < 16; j++) {\n plaintext[i + j] = block[j] ^ this._lastCipherblock[j];\n }\n\n copyArray(ciphertext, this._lastCipherblock, 0, i, i + 16);\n }\n\n return plaintext;\n }\n\n\n /**\n * Mode Of Operation - Cipher Feedback (CFB)\n */\n var ModeOfOperationCFB = function(key, iv, segmentSize) {\n if (!(this instanceof ModeOfOperationCFB)) {\n throw Error('AES must be instanitated with `new`');\n }\n\n this.description = \"Cipher Feedback\";\n this.name = \"cfb\";\n\n if (!iv) {\n iv = createArray(16);\n\n } else if (iv.length != 16) {\n throw new Error('invalid initialation vector size (must be 16 size)');\n }\n\n if (!segmentSize) { segmentSize = 1; }\n\n this.segmentSize = segmentSize;\n\n this._shiftRegister = coerceArray(iv, true);\n\n this._aes = new AES(key);\n }\n\n ModeOfOperationCFB.prototype.encrypt = function(plaintext) {\n if ((plaintext.length % this.segmentSize) != 0) {\n throw new Error('invalid plaintext size (must be segmentSize bytes)');\n }\n\n var encrypted = coerceArray(plaintext, true);\n\n var xorSegment;\n for (var i = 0; i < encrypted.length; i += this.segmentSize) {\n xorSegment = this._aes.encrypt(this._shiftRegister);\n for (var j = 0; j < this.segmentSize; j++) {\n encrypted[i + j] ^= xorSegment[j];\n }\n\n // Shift the register\n copyArray(this._shiftRegister, this._shiftRegister, 0, this.segmentSize);\n copyArray(encrypted, this._shiftRegister, 16 - this.segmentSize, i, i + this.segmentSize);\n }\n\n return encrypted;\n }\n\n ModeOfOperationCFB.prototype.decrypt = function(ciphertext) {\n if ((ciphertext.length % this.segmentSize) != 0) {\n throw new Error('invalid ciphertext size (must be segmentSize bytes)');\n }\n\n var plaintext = coerceArray(ciphertext, true);\n\n var xorSegment;\n for (var i = 0; i < plaintext.length; i += this.segmentSize) {\n xorSegment = this._aes.encrypt(this._shiftRegister);\n\n for (var j = 0; j < this.segmentSize; j++) {\n plaintext[i + j] ^= xorSegment[j];\n }\n\n // Shift the register\n copyArray(this._shiftRegister, this._shiftRegister, 0, this.segmentSize);\n copyArray(ciphertext, this._shiftRegister, 16 - this.segmentSize, i, i + this.segmentSize);\n }\n\n return plaintext;\n }\n\n /**\n * Mode Of Operation - Output Feedback (OFB)\n */\n var ModeOfOperationOFB = function(key, iv) {\n if (!(this instanceof ModeOfOperationOFB)) {\n throw Error('AES must be instanitated with `new`');\n }\n\n this.description = \"Output Feedback\";\n this.name = \"ofb\";\n\n if (!iv) {\n iv = createArray(16);\n\n } else if (iv.length != 16) {\n throw new Error('invalid initialation vector size (must be 16 bytes)');\n }\n\n this._lastPrecipher = coerceArray(iv, true);\n this._lastPrecipherIndex = 16;\n\n this._aes = new AES(key);\n }\n\n ModeOfOperationOFB.prototype.encrypt = function(plaintext) {\n var encrypted = coerceArray(plaintext, true);\n\n for (var i = 0; i < encrypted.length; i++) {\n if (this._lastPrecipherIndex === 16) {\n this._lastPrecipher = this._aes.encrypt(this._lastPrecipher);\n this._lastPrecipherIndex = 0;\n }\n encrypted[i] ^= this._lastPrecipher[this._lastPrecipherIndex++];\n }\n\n return encrypted;\n }\n\n // Decryption is symetric\n ModeOfOperationOFB.prototype.decrypt = ModeOfOperationOFB.prototype.encrypt;\n\n\n /**\n * Counter object for CTR common mode of operation\n */\n var Counter = function(initialValue) {\n if (!(this instanceof Counter)) {\n throw Error('Counter must be instanitated with `new`');\n }\n\n // We allow 0, but anything false-ish uses the default 1\n if (initialValue !== 0 && !initialValue) { initialValue = 1; }\n\n if (typeof(initialValue) === 'number') {\n this._counter = createArray(16);\n this.setValue(initialValue);\n\n } else {\n this.setBytes(initialValue);\n }\n }\n\n Counter.prototype.setValue = function(value) {\n if (typeof(value) !== 'number' || parseInt(value) != value) {\n throw new Error('invalid counter value (must be an integer)');\n }\n\n // We cannot safely handle numbers beyond the safe range for integers\n if (value > Number.MAX_SAFE_INTEGER) {\n throw new Error('integer value out of safe range');\n }\n\n for (var index = 15; index >= 0; --index) {\n this._counter[index] = value % 256;\n value = parseInt(value / 256);\n }\n }\n\n Counter.prototype.setBytes = function(bytes) {\n bytes = coerceArray(bytes, true);\n\n if (bytes.length != 16) {\n throw new Error('invalid counter bytes size (must be 16 bytes)');\n }\n\n this._counter = bytes;\n };\n\n Counter.prototype.increment = function() {\n for (var i = 15; i >= 0; i--) {\n if (this._counter[i] === 255) {\n this._counter[i] = 0;\n } else {\n this._counter[i]++;\n break;\n }\n }\n }\n\n\n /**\n * Mode Of Operation - Counter (CTR)\n */\n var ModeOfOperationCTR = function(key, counter) {\n if (!(this instanceof ModeOfOperationCTR)) {\n throw Error('AES must be instanitated with `new`');\n }\n\n this.description = \"Counter\";\n this.name = \"ctr\";\n\n if (!(counter instanceof Counter)) {\n counter = new Counter(counter)\n }\n\n this._counter = counter;\n\n this._remainingCounter = null;\n this._remainingCounterIndex = 16;\n\n this._aes = new AES(key);\n }\n\n ModeOfOperationCTR.prototype.encrypt = function(plaintext) {\n var encrypted = coerceArray(plaintext, true);\n\n for (var i = 0; i < encrypted.length; i++) {\n if (this._remainingCounterIndex === 16) {\n this._remainingCounter = this._aes.encrypt(this._counter._counter);\n this._remainingCounterIndex = 0;\n this._counter.increment();\n }\n encrypted[i] ^= this._remainingCounter[this._remainingCounterIndex++];\n }\n\n return encrypted;\n }\n\n // Decryption is symetric\n ModeOfOperationCTR.prototype.decrypt = ModeOfOperationCTR.prototype.encrypt;\n\n\n ///////////////////////\n // Padding\n\n // See:https://tools.ietf.org/html/rfc2315\n function pkcs7pad(data) {\n data = coerceArray(data, true);\n var padder = 16 - (data.length % 16);\n var result = createArray(data.length + padder);\n copyArray(data, result);\n for (var i = data.length; i < result.length; i++) {\n result[i] = padder;\n }\n return result;\n }\n\n function pkcs7strip(data) {\n data = coerceArray(data, true);\n if (data.length < 16) { throw new Error('PKCS#7 invalid length'); }\n\n var padder = data[data.length - 1];\n if (padder > 16) { throw new Error('PKCS#7 padding byte out of range'); }\n\n var length = data.length - padder;\n for (var i = 0; i < padder; i++) {\n if (data[length + i] !== padder) {\n throw new Error('PKCS#7 invalid padding byte');\n }\n }\n\n var result = createArray(length);\n copyArray(data, result, 0, 0, length);\n return result;\n }\n\n ///////////////////////\n // Exporting\n\n\n // The block cipher\n var aesjs = {\n AES: AES,\n Counter: Counter,\n\n ModeOfOperation: {\n ecb: ModeOfOperationECB,\n cbc: ModeOfOperationCBC,\n cfb: ModeOfOperationCFB,\n ofb: ModeOfOperationOFB,\n ctr: ModeOfOperationCTR\n },\n\n utils: {\n hex: convertHex,\n utf8: convertUtf8\n },\n\n padding: {\n pkcs7: {\n pad: pkcs7pad,\n strip: pkcs7strip\n }\n },\n\n _arrayTest: {\n coerceArray: coerceArray,\n createArray: createArray,\n copyArray: copyArray,\n }\n };\n\n\n // node.js\n if (true) {\n module.exports = aesjs\n\n // RequireJS/AMD\n // http://www.requirejs.org/docs/api.html\n // https://github.com/amdjs/amdjs-api/wiki/AMD\n } else {}\n\n\n})(this);\n\n\n//# sourceURL=webpack://dcp/./node_modules/aes-js/index.js?"); + +/***/ }), + +/***/ "./node_modules/ansi-styles/index.js": +/*!*******************************************!*\ + !*** ./node_modules/ansi-styles/index.js ***! + \*******************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("/* module decorator */ module = __webpack_require__.nmd(module);\n\n\nconst wrapAnsi16 = (fn, offset) => (...args) => {\n\tconst code = fn(...args);\n\treturn `\\u001B[${code + offset}m`;\n};\n\nconst wrapAnsi256 = (fn, offset) => (...args) => {\n\tconst code = fn(...args);\n\treturn `\\u001B[${38 + offset};5;${code}m`;\n};\n\nconst wrapAnsi16m = (fn, offset) => (...args) => {\n\tconst rgb = fn(...args);\n\treturn `\\u001B[${38 + offset};2;${rgb[0]};${rgb[1]};${rgb[2]}m`;\n};\n\nconst ansi2ansi = n => n;\nconst rgb2rgb = (r, g, b) => [r, g, b];\n\nconst setLazyProperty = (object, property, get) => {\n\tObject.defineProperty(object, property, {\n\t\tget: () => {\n\t\t\tconst value = get();\n\n\t\t\tObject.defineProperty(object, property, {\n\t\t\t\tvalue,\n\t\t\t\tenumerable: true,\n\t\t\t\tconfigurable: true\n\t\t\t});\n\n\t\t\treturn value;\n\t\t},\n\t\tenumerable: true,\n\t\tconfigurable: true\n\t});\n};\n\n/** @type {typeof import('color-convert')} */\nlet colorConvert;\nconst makeDynamicStyles = (wrap, targetSpace, identity, isBackground) => {\n\tif (colorConvert === undefined) {\n\t\tcolorConvert = __webpack_require__(/*! color-convert */ \"./node_modules/color-convert/index.js\");\n\t}\n\n\tconst offset = isBackground ? 10 : 0;\n\tconst styles = {};\n\n\tfor (const [sourceSpace, suite] of Object.entries(colorConvert)) {\n\t\tconst name = sourceSpace === 'ansi16' ? 'ansi' : sourceSpace;\n\t\tif (sourceSpace === targetSpace) {\n\t\t\tstyles[name] = wrap(identity, offset);\n\t\t} else if (typeof suite === 'object') {\n\t\t\tstyles[name] = wrap(suite[targetSpace], offset);\n\t\t}\n\t}\n\n\treturn styles;\n};\n\nfunction assembleStyles() {\n\tconst codes = new Map();\n\tconst styles = {\n\t\tmodifier: {\n\t\t\treset: [0, 0],\n\t\t\t// 21 isn't widely supported and 22 does the same thing\n\t\t\tbold: [1, 22],\n\t\t\tdim: [2, 22],\n\t\t\titalic: [3, 23],\n\t\t\tunderline: [4, 24],\n\t\t\tinverse: [7, 27],\n\t\t\thidden: [8, 28],\n\t\t\tstrikethrough: [9, 29]\n\t\t},\n\t\tcolor: {\n\t\t\tblack: [30, 39],\n\t\t\tred: [31, 39],\n\t\t\tgreen: [32, 39],\n\t\t\tyellow: [33, 39],\n\t\t\tblue: [34, 39],\n\t\t\tmagenta: [35, 39],\n\t\t\tcyan: [36, 39],\n\t\t\twhite: [37, 39],\n\n\t\t\t// Bright color\n\t\t\tblackBright: [90, 39],\n\t\t\tredBright: [91, 39],\n\t\t\tgreenBright: [92, 39],\n\t\t\tyellowBright: [93, 39],\n\t\t\tblueBright: [94, 39],\n\t\t\tmagentaBright: [95, 39],\n\t\t\tcyanBright: [96, 39],\n\t\t\twhiteBright: [97, 39]\n\t\t},\n\t\tbgColor: {\n\t\t\tbgBlack: [40, 49],\n\t\t\tbgRed: [41, 49],\n\t\t\tbgGreen: [42, 49],\n\t\t\tbgYellow: [43, 49],\n\t\t\tbgBlue: [44, 49],\n\t\t\tbgMagenta: [45, 49],\n\t\t\tbgCyan: [46, 49],\n\t\t\tbgWhite: [47, 49],\n\n\t\t\t// Bright color\n\t\t\tbgBlackBright: [100, 49],\n\t\t\tbgRedBright: [101, 49],\n\t\t\tbgGreenBright: [102, 49],\n\t\t\tbgYellowBright: [103, 49],\n\t\t\tbgBlueBright: [104, 49],\n\t\t\tbgMagentaBright: [105, 49],\n\t\t\tbgCyanBright: [106, 49],\n\t\t\tbgWhiteBright: [107, 49]\n\t\t}\n\t};\n\n\t// Alias bright black as gray (and grey)\n\tstyles.color.gray = styles.color.blackBright;\n\tstyles.bgColor.bgGray = styles.bgColor.bgBlackBright;\n\tstyles.color.grey = styles.color.blackBright;\n\tstyles.bgColor.bgGrey = styles.bgColor.bgBlackBright;\n\n\tfor (const [groupName, group] of Object.entries(styles)) {\n\t\tfor (const [styleName, style] of Object.entries(group)) {\n\t\t\tstyles[styleName] = {\n\t\t\t\topen: `\\u001B[${style[0]}m`,\n\t\t\t\tclose: `\\u001B[${style[1]}m`\n\t\t\t};\n\n\t\t\tgroup[styleName] = styles[styleName];\n\n\t\t\tcodes.set(style[0], style[1]);\n\t\t}\n\n\t\tObject.defineProperty(styles, groupName, {\n\t\t\tvalue: group,\n\t\t\tenumerable: false\n\t\t});\n\t}\n\n\tObject.defineProperty(styles, 'codes', {\n\t\tvalue: codes,\n\t\tenumerable: false\n\t});\n\n\tstyles.color.close = '\\u001B[39m';\n\tstyles.bgColor.close = '\\u001B[49m';\n\n\tsetLazyProperty(styles.color, 'ansi', () => makeDynamicStyles(wrapAnsi16, 'ansi16', ansi2ansi, false));\n\tsetLazyProperty(styles.color, 'ansi256', () => makeDynamicStyles(wrapAnsi256, 'ansi256', ansi2ansi, false));\n\tsetLazyProperty(styles.color, 'ansi16m', () => makeDynamicStyles(wrapAnsi16m, 'rgb', rgb2rgb, false));\n\tsetLazyProperty(styles.bgColor, 'ansi', () => makeDynamicStyles(wrapAnsi16, 'ansi16', ansi2ansi, true));\n\tsetLazyProperty(styles.bgColor, 'ansi256', () => makeDynamicStyles(wrapAnsi256, 'ansi256', ansi2ansi, true));\n\tsetLazyProperty(styles.bgColor, 'ansi16m', () => makeDynamicStyles(wrapAnsi16m, 'rgb', rgb2rgb, true));\n\n\treturn styles;\n}\n\n// Make the export immutable\nObject.defineProperty(module, 'exports', {\n\tenumerable: true,\n\tget: assembleStyles\n});\n\n\n//# sourceURL=webpack://dcp/./node_modules/ansi-styles/index.js?"); + +/***/ }), + +/***/ "./node_modules/asn1.js/lib/asn1.js": +/*!******************************************!*\ + !*** ./node_modules/asn1.js/lib/asn1.js ***! + \******************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nconst asn1 = exports;\n\nasn1.bignum = __webpack_require__(/*! bn.js */ \"./node_modules/bn.js/lib/bn.js\");\n\nasn1.define = (__webpack_require__(/*! ./asn1/api */ \"./node_modules/asn1.js/lib/asn1/api.js\").define);\nasn1.base = __webpack_require__(/*! ./asn1/base */ \"./node_modules/asn1.js/lib/asn1/base/index.js\");\nasn1.constants = __webpack_require__(/*! ./asn1/constants */ \"./node_modules/asn1.js/lib/asn1/constants/index.js\");\nasn1.decoders = __webpack_require__(/*! ./asn1/decoders */ \"./node_modules/asn1.js/lib/asn1/decoders/index.js\");\nasn1.encoders = __webpack_require__(/*! ./asn1/encoders */ \"./node_modules/asn1.js/lib/asn1/encoders/index.js\");\n\n\n//# sourceURL=webpack://dcp/./node_modules/asn1.js/lib/asn1.js?"); + +/***/ }), + +/***/ "./node_modules/asn1.js/lib/asn1/api.js": +/*!**********************************************!*\ + !*** ./node_modules/asn1.js/lib/asn1/api.js ***! + \**********************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nconst encoders = __webpack_require__(/*! ./encoders */ \"./node_modules/asn1.js/lib/asn1/encoders/index.js\");\nconst decoders = __webpack_require__(/*! ./decoders */ \"./node_modules/asn1.js/lib/asn1/decoders/index.js\");\nconst inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n\nconst api = exports;\n\napi.define = function define(name, body) {\n return new Entity(name, body);\n};\n\nfunction Entity(name, body) {\n this.name = name;\n this.body = body;\n\n this.decoders = {};\n this.encoders = {};\n}\n\nEntity.prototype._createNamed = function createNamed(Base) {\n const name = this.name;\n\n function Generated(entity) {\n this._initNamed(entity, name);\n }\n inherits(Generated, Base);\n Generated.prototype._initNamed = function _initNamed(entity, name) {\n Base.call(this, entity, name);\n };\n\n return new Generated(this);\n};\n\nEntity.prototype._getDecoder = function _getDecoder(enc) {\n enc = enc || 'der';\n // Lazily create decoder\n if (!this.decoders.hasOwnProperty(enc))\n this.decoders[enc] = this._createNamed(decoders[enc]);\n return this.decoders[enc];\n};\n\nEntity.prototype.decode = function decode(data, enc, options) {\n return this._getDecoder(enc).decode(data, options);\n};\n\nEntity.prototype._getEncoder = function _getEncoder(enc) {\n enc = enc || 'der';\n // Lazily create encoder\n if (!this.encoders.hasOwnProperty(enc))\n this.encoders[enc] = this._createNamed(encoders[enc]);\n return this.encoders[enc];\n};\n\nEntity.prototype.encode = function encode(data, enc, /* internal */ reporter) {\n return this._getEncoder(enc).encode(data, reporter);\n};\n\n\n//# sourceURL=webpack://dcp/./node_modules/asn1.js/lib/asn1/api.js?"); + +/***/ }), + +/***/ "./node_modules/asn1.js/lib/asn1/base/buffer.js": +/*!******************************************************!*\ + !*** ./node_modules/asn1.js/lib/asn1/base/buffer.js ***! + \******************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nconst inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\nconst Reporter = (__webpack_require__(/*! ../base/reporter */ \"./node_modules/asn1.js/lib/asn1/base/reporter.js\").Reporter);\nconst Buffer = (__webpack_require__(/*! safer-buffer */ \"./node_modules/safer-buffer/safer.js\").Buffer);\n\nfunction DecoderBuffer(base, options) {\n Reporter.call(this, options);\n if (!Buffer.isBuffer(base)) {\n this.error('Input not Buffer');\n return;\n }\n\n this.base = base;\n this.offset = 0;\n this.length = base.length;\n}\ninherits(DecoderBuffer, Reporter);\nexports.DecoderBuffer = DecoderBuffer;\n\nDecoderBuffer.isDecoderBuffer = function isDecoderBuffer(data) {\n if (data instanceof DecoderBuffer) {\n return true;\n }\n\n // Or accept compatible API\n const isCompatible = typeof data === 'object' &&\n Buffer.isBuffer(data.base) &&\n data.constructor.name === 'DecoderBuffer' &&\n typeof data.offset === 'number' &&\n typeof data.length === 'number' &&\n typeof data.save === 'function' &&\n typeof data.restore === 'function' &&\n typeof data.isEmpty === 'function' &&\n typeof data.readUInt8 === 'function' &&\n typeof data.skip === 'function' &&\n typeof data.raw === 'function';\n\n return isCompatible;\n};\n\nDecoderBuffer.prototype.save = function save() {\n return { offset: this.offset, reporter: Reporter.prototype.save.call(this) };\n};\n\nDecoderBuffer.prototype.restore = function restore(save) {\n // Return skipped data\n const res = new DecoderBuffer(this.base);\n res.offset = save.offset;\n res.length = this.offset;\n\n this.offset = save.offset;\n Reporter.prototype.restore.call(this, save.reporter);\n\n return res;\n};\n\nDecoderBuffer.prototype.isEmpty = function isEmpty() {\n return this.offset === this.length;\n};\n\nDecoderBuffer.prototype.readUInt8 = function readUInt8(fail) {\n if (this.offset + 1 <= this.length)\n return this.base.readUInt8(this.offset++, true);\n else\n return this.error(fail || 'DecoderBuffer overrun');\n};\n\nDecoderBuffer.prototype.skip = function skip(bytes, fail) {\n if (!(this.offset + bytes <= this.length))\n return this.error(fail || 'DecoderBuffer overrun');\n\n const res = new DecoderBuffer(this.base);\n\n // Share reporter state\n res._reporterState = this._reporterState;\n\n res.offset = this.offset;\n res.length = this.offset + bytes;\n this.offset += bytes;\n return res;\n};\n\nDecoderBuffer.prototype.raw = function raw(save) {\n return this.base.slice(save ? save.offset : this.offset, this.length);\n};\n\nfunction EncoderBuffer(value, reporter) {\n if (Array.isArray(value)) {\n this.length = 0;\n this.value = value.map(function(item) {\n if (!EncoderBuffer.isEncoderBuffer(item))\n item = new EncoderBuffer(item, reporter);\n this.length += item.length;\n return item;\n }, this);\n } else if (typeof value === 'number') {\n if (!(0 <= value && value <= 0xff))\n return reporter.error('non-byte EncoderBuffer value');\n this.value = value;\n this.length = 1;\n } else if (typeof value === 'string') {\n this.value = value;\n this.length = Buffer.byteLength(value);\n } else if (Buffer.isBuffer(value)) {\n this.value = value;\n this.length = value.length;\n } else {\n return reporter.error('Unsupported type: ' + typeof value);\n }\n}\nexports.EncoderBuffer = EncoderBuffer;\n\nEncoderBuffer.isEncoderBuffer = function isEncoderBuffer(data) {\n if (data instanceof EncoderBuffer) {\n return true;\n }\n\n // Or accept compatible API\n const isCompatible = typeof data === 'object' &&\n data.constructor.name === 'EncoderBuffer' &&\n typeof data.length === 'number' &&\n typeof data.join === 'function';\n\n return isCompatible;\n};\n\nEncoderBuffer.prototype.join = function join(out, offset) {\n if (!out)\n out = Buffer.alloc(this.length);\n if (!offset)\n offset = 0;\n\n if (this.length === 0)\n return out;\n\n if (Array.isArray(this.value)) {\n this.value.forEach(function(item) {\n item.join(out, offset);\n offset += item.length;\n });\n } else {\n if (typeof this.value === 'number')\n out[offset] = this.value;\n else if (typeof this.value === 'string')\n out.write(this.value, offset);\n else if (Buffer.isBuffer(this.value))\n this.value.copy(out, offset);\n offset += this.length;\n }\n\n return out;\n};\n\n\n//# sourceURL=webpack://dcp/./node_modules/asn1.js/lib/asn1/base/buffer.js?"); + +/***/ }), + +/***/ "./node_modules/asn1.js/lib/asn1/base/index.js": +/*!*****************************************************!*\ + !*** ./node_modules/asn1.js/lib/asn1/base/index.js ***! + \*****************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nconst base = exports;\n\nbase.Reporter = (__webpack_require__(/*! ./reporter */ \"./node_modules/asn1.js/lib/asn1/base/reporter.js\").Reporter);\nbase.DecoderBuffer = (__webpack_require__(/*! ./buffer */ \"./node_modules/asn1.js/lib/asn1/base/buffer.js\").DecoderBuffer);\nbase.EncoderBuffer = (__webpack_require__(/*! ./buffer */ \"./node_modules/asn1.js/lib/asn1/base/buffer.js\").EncoderBuffer);\nbase.Node = __webpack_require__(/*! ./node */ \"./node_modules/asn1.js/lib/asn1/base/node.js\");\n\n\n//# sourceURL=webpack://dcp/./node_modules/asn1.js/lib/asn1/base/index.js?"); + +/***/ }), + +/***/ "./node_modules/asn1.js/lib/asn1/base/node.js": +/*!****************************************************!*\ + !*** ./node_modules/asn1.js/lib/asn1/base/node.js ***! + \****************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nconst Reporter = (__webpack_require__(/*! ../base/reporter */ \"./node_modules/asn1.js/lib/asn1/base/reporter.js\").Reporter);\nconst EncoderBuffer = (__webpack_require__(/*! ../base/buffer */ \"./node_modules/asn1.js/lib/asn1/base/buffer.js\").EncoderBuffer);\nconst DecoderBuffer = (__webpack_require__(/*! ../base/buffer */ \"./node_modules/asn1.js/lib/asn1/base/buffer.js\").DecoderBuffer);\nconst assert = __webpack_require__(/*! minimalistic-assert */ \"./node_modules/minimalistic-assert/index.js\");\n\n// Supported tags\nconst tags = [\n 'seq', 'seqof', 'set', 'setof', 'objid', 'bool',\n 'gentime', 'utctime', 'null_', 'enum', 'int', 'objDesc',\n 'bitstr', 'bmpstr', 'charstr', 'genstr', 'graphstr', 'ia5str', 'iso646str',\n 'numstr', 'octstr', 'printstr', 't61str', 'unistr', 'utf8str', 'videostr'\n];\n\n// Public methods list\nconst methods = [\n 'key', 'obj', 'use', 'optional', 'explicit', 'implicit', 'def', 'choice',\n 'any', 'contains'\n].concat(tags);\n\n// Overrided methods list\nconst overrided = [\n '_peekTag', '_decodeTag', '_use',\n '_decodeStr', '_decodeObjid', '_decodeTime',\n '_decodeNull', '_decodeInt', '_decodeBool', '_decodeList',\n\n '_encodeComposite', '_encodeStr', '_encodeObjid', '_encodeTime',\n '_encodeNull', '_encodeInt', '_encodeBool'\n];\n\nfunction Node(enc, parent, name) {\n const state = {};\n this._baseState = state;\n\n state.name = name;\n state.enc = enc;\n\n state.parent = parent || null;\n state.children = null;\n\n // State\n state.tag = null;\n state.args = null;\n state.reverseArgs = null;\n state.choice = null;\n state.optional = false;\n state.any = false;\n state.obj = false;\n state.use = null;\n state.useDecoder = null;\n state.key = null;\n state['default'] = null;\n state.explicit = null;\n state.implicit = null;\n state.contains = null;\n\n // Should create new instance on each method\n if (!state.parent) {\n state.children = [];\n this._wrap();\n }\n}\nmodule.exports = Node;\n\nconst stateProps = [\n 'enc', 'parent', 'children', 'tag', 'args', 'reverseArgs', 'choice',\n 'optional', 'any', 'obj', 'use', 'alteredUse', 'key', 'default', 'explicit',\n 'implicit', 'contains'\n];\n\nNode.prototype.clone = function clone() {\n const state = this._baseState;\n const cstate = {};\n stateProps.forEach(function(prop) {\n cstate[prop] = state[prop];\n });\n const res = new this.constructor(cstate.parent);\n res._baseState = cstate;\n return res;\n};\n\nNode.prototype._wrap = function wrap() {\n const state = this._baseState;\n methods.forEach(function(method) {\n this[method] = function _wrappedMethod() {\n const clone = new this.constructor(this);\n state.children.push(clone);\n return clone[method].apply(clone, arguments);\n };\n }, this);\n};\n\nNode.prototype._init = function init(body) {\n const state = this._baseState;\n\n assert(state.parent === null);\n body.call(this);\n\n // Filter children\n state.children = state.children.filter(function(child) {\n return child._baseState.parent === this;\n }, this);\n assert.equal(state.children.length, 1, 'Root node can have only one child');\n};\n\nNode.prototype._useArgs = function useArgs(args) {\n const state = this._baseState;\n\n // Filter children and args\n const children = args.filter(function(arg) {\n return arg instanceof this.constructor;\n }, this);\n args = args.filter(function(arg) {\n return !(arg instanceof this.constructor);\n }, this);\n\n if (children.length !== 0) {\n assert(state.children === null);\n state.children = children;\n\n // Replace parent to maintain backward link\n children.forEach(function(child) {\n child._baseState.parent = this;\n }, this);\n }\n if (args.length !== 0) {\n assert(state.args === null);\n state.args = args;\n state.reverseArgs = args.map(function(arg) {\n if (typeof arg !== 'object' || arg.constructor !== Object)\n return arg;\n\n const res = {};\n Object.keys(arg).forEach(function(key) {\n if (key == (key | 0))\n key |= 0;\n const value = arg[key];\n res[value] = key;\n });\n return res;\n });\n }\n};\n\n//\n// Overrided methods\n//\n\noverrided.forEach(function(method) {\n Node.prototype[method] = function _overrided() {\n const state = this._baseState;\n throw new Error(method + ' not implemented for encoding: ' + state.enc);\n };\n});\n\n//\n// Public methods\n//\n\ntags.forEach(function(tag) {\n Node.prototype[tag] = function _tagMethod() {\n const state = this._baseState;\n const args = Array.prototype.slice.call(arguments);\n\n assert(state.tag === null);\n state.tag = tag;\n\n this._useArgs(args);\n\n return this;\n };\n});\n\nNode.prototype.use = function use(item) {\n assert(item);\n const state = this._baseState;\n\n assert(state.use === null);\n state.use = item;\n\n return this;\n};\n\nNode.prototype.optional = function optional() {\n const state = this._baseState;\n\n state.optional = true;\n\n return this;\n};\n\nNode.prototype.def = function def(val) {\n const state = this._baseState;\n\n assert(state['default'] === null);\n state['default'] = val;\n state.optional = true;\n\n return this;\n};\n\nNode.prototype.explicit = function explicit(num) {\n const state = this._baseState;\n\n assert(state.explicit === null && state.implicit === null);\n state.explicit = num;\n\n return this;\n};\n\nNode.prototype.implicit = function implicit(num) {\n const state = this._baseState;\n\n assert(state.explicit === null && state.implicit === null);\n state.implicit = num;\n\n return this;\n};\n\nNode.prototype.obj = function obj() {\n const state = this._baseState;\n const args = Array.prototype.slice.call(arguments);\n\n state.obj = true;\n\n if (args.length !== 0)\n this._useArgs(args);\n\n return this;\n};\n\nNode.prototype.key = function key(newKey) {\n const state = this._baseState;\n\n assert(state.key === null);\n state.key = newKey;\n\n return this;\n};\n\nNode.prototype.any = function any() {\n const state = this._baseState;\n\n state.any = true;\n\n return this;\n};\n\nNode.prototype.choice = function choice(obj) {\n const state = this._baseState;\n\n assert(state.choice === null);\n state.choice = obj;\n this._useArgs(Object.keys(obj).map(function(key) {\n return obj[key];\n }));\n\n return this;\n};\n\nNode.prototype.contains = function contains(item) {\n const state = this._baseState;\n\n assert(state.use === null);\n state.contains = item;\n\n return this;\n};\n\n//\n// Decoding\n//\n\nNode.prototype._decode = function decode(input, options) {\n const state = this._baseState;\n\n // Decode root node\n if (state.parent === null)\n return input.wrapResult(state.children[0]._decode(input, options));\n\n let result = state['default'];\n let present = true;\n\n let prevKey = null;\n if (state.key !== null)\n prevKey = input.enterKey(state.key);\n\n // Check if tag is there\n if (state.optional) {\n let tag = null;\n if (state.explicit !== null)\n tag = state.explicit;\n else if (state.implicit !== null)\n tag = state.implicit;\n else if (state.tag !== null)\n tag = state.tag;\n\n if (tag === null && !state.any) {\n // Trial and Error\n const save = input.save();\n try {\n if (state.choice === null)\n this._decodeGeneric(state.tag, input, options);\n else\n this._decodeChoice(input, options);\n present = true;\n } catch (e) {\n present = false;\n }\n input.restore(save);\n } else {\n present = this._peekTag(input, tag, state.any);\n\n if (input.isError(present))\n return present;\n }\n }\n\n // Push object on stack\n let prevObj;\n if (state.obj && present)\n prevObj = input.enterObject();\n\n if (present) {\n // Unwrap explicit values\n if (state.explicit !== null) {\n const explicit = this._decodeTag(input, state.explicit);\n if (input.isError(explicit))\n return explicit;\n input = explicit;\n }\n\n const start = input.offset;\n\n // Unwrap implicit and normal values\n if (state.use === null && state.choice === null) {\n let save;\n if (state.any)\n save = input.save();\n const body = this._decodeTag(\n input,\n state.implicit !== null ? state.implicit : state.tag,\n state.any\n );\n if (input.isError(body))\n return body;\n\n if (state.any)\n result = input.raw(save);\n else\n input = body;\n }\n\n if (options && options.track && state.tag !== null)\n options.track(input.path(), start, input.length, 'tagged');\n\n if (options && options.track && state.tag !== null)\n options.track(input.path(), input.offset, input.length, 'content');\n\n // Select proper method for tag\n if (state.any) {\n // no-op\n } else if (state.choice === null) {\n result = this._decodeGeneric(state.tag, input, options);\n } else {\n result = this._decodeChoice(input, options);\n }\n\n if (input.isError(result))\n return result;\n\n // Decode children\n if (!state.any && state.choice === null && state.children !== null) {\n state.children.forEach(function decodeChildren(child) {\n // NOTE: We are ignoring errors here, to let parser continue with other\n // parts of encoded data\n child._decode(input, options);\n });\n }\n\n // Decode contained/encoded by schema, only in bit or octet strings\n if (state.contains && (state.tag === 'octstr' || state.tag === 'bitstr')) {\n const data = new DecoderBuffer(result);\n result = this._getUse(state.contains, input._reporterState.obj)\n ._decode(data, options);\n }\n }\n\n // Pop object\n if (state.obj && present)\n result = input.leaveObject(prevObj);\n\n // Set key\n if (state.key !== null && (result !== null || present === true))\n input.leaveKey(prevKey, state.key, result);\n else if (prevKey !== null)\n input.exitKey(prevKey);\n\n return result;\n};\n\nNode.prototype._decodeGeneric = function decodeGeneric(tag, input, options) {\n const state = this._baseState;\n\n if (tag === 'seq' || tag === 'set')\n return null;\n if (tag === 'seqof' || tag === 'setof')\n return this._decodeList(input, tag, state.args[0], options);\n else if (/str$/.test(tag))\n return this._decodeStr(input, tag, options);\n else if (tag === 'objid' && state.args)\n return this._decodeObjid(input, state.args[0], state.args[1], options);\n else if (tag === 'objid')\n return this._decodeObjid(input, null, null, options);\n else if (tag === 'gentime' || tag === 'utctime')\n return this._decodeTime(input, tag, options);\n else if (tag === 'null_')\n return this._decodeNull(input, options);\n else if (tag === 'bool')\n return this._decodeBool(input, options);\n else if (tag === 'objDesc')\n return this._decodeStr(input, tag, options);\n else if (tag === 'int' || tag === 'enum')\n return this._decodeInt(input, state.args && state.args[0], options);\n\n if (state.use !== null) {\n return this._getUse(state.use, input._reporterState.obj)\n ._decode(input, options);\n } else {\n return input.error('unknown tag: ' + tag);\n }\n};\n\nNode.prototype._getUse = function _getUse(entity, obj) {\n\n const state = this._baseState;\n // Create altered use decoder if implicit is set\n state.useDecoder = this._use(entity, obj);\n assert(state.useDecoder._baseState.parent === null);\n state.useDecoder = state.useDecoder._baseState.children[0];\n if (state.implicit !== state.useDecoder._baseState.implicit) {\n state.useDecoder = state.useDecoder.clone();\n state.useDecoder._baseState.implicit = state.implicit;\n }\n return state.useDecoder;\n};\n\nNode.prototype._decodeChoice = function decodeChoice(input, options) {\n const state = this._baseState;\n let result = null;\n let match = false;\n\n Object.keys(state.choice).some(function(key) {\n const save = input.save();\n const node = state.choice[key];\n try {\n const value = node._decode(input, options);\n if (input.isError(value))\n return false;\n\n result = { type: key, value: value };\n match = true;\n } catch (e) {\n input.restore(save);\n return false;\n }\n return true;\n }, this);\n\n if (!match)\n return input.error('Choice not matched');\n\n return result;\n};\n\n//\n// Encoding\n//\n\nNode.prototype._createEncoderBuffer = function createEncoderBuffer(data) {\n return new EncoderBuffer(data, this.reporter);\n};\n\nNode.prototype._encode = function encode(data, reporter, parent) {\n const state = this._baseState;\n if (state['default'] !== null && state['default'] === data)\n return;\n\n const result = this._encodeValue(data, reporter, parent);\n if (result === undefined)\n return;\n\n if (this._skipDefault(result, reporter, parent))\n return;\n\n return result;\n};\n\nNode.prototype._encodeValue = function encode(data, reporter, parent) {\n const state = this._baseState;\n\n // Decode root node\n if (state.parent === null)\n return state.children[0]._encode(data, reporter || new Reporter());\n\n let result = null;\n\n // Set reporter to share it with a child class\n this.reporter = reporter;\n\n // Check if data is there\n if (state.optional && data === undefined) {\n if (state['default'] !== null)\n data = state['default'];\n else\n return;\n }\n\n // Encode children first\n let content = null;\n let primitive = false;\n if (state.any) {\n // Anything that was given is translated to buffer\n result = this._createEncoderBuffer(data);\n } else if (state.choice) {\n result = this._encodeChoice(data, reporter);\n } else if (state.contains) {\n content = this._getUse(state.contains, parent)._encode(data, reporter);\n primitive = true;\n } else if (state.children) {\n content = state.children.map(function(child) {\n if (child._baseState.tag === 'null_')\n return child._encode(null, reporter, data);\n\n if (child._baseState.key === null)\n return reporter.error('Child should have a key');\n const prevKey = reporter.enterKey(child._baseState.key);\n\n if (typeof data !== 'object')\n return reporter.error('Child expected, but input is not object');\n\n const res = child._encode(data[child._baseState.key], reporter, data);\n reporter.leaveKey(prevKey);\n\n return res;\n }, this).filter(function(child) {\n return child;\n });\n content = this._createEncoderBuffer(content);\n } else {\n if (state.tag === 'seqof' || state.tag === 'setof') {\n // TODO(indutny): this should be thrown on DSL level\n if (!(state.args && state.args.length === 1))\n return reporter.error('Too many args for : ' + state.tag);\n\n if (!Array.isArray(data))\n return reporter.error('seqof/setof, but data is not Array');\n\n const child = this.clone();\n child._baseState.implicit = null;\n content = this._createEncoderBuffer(data.map(function(item) {\n const state = this._baseState;\n\n return this._getUse(state.args[0], data)._encode(item, reporter);\n }, child));\n } else if (state.use !== null) {\n result = this._getUse(state.use, parent)._encode(data, reporter);\n } else {\n content = this._encodePrimitive(state.tag, data);\n primitive = true;\n }\n }\n\n // Encode data itself\n if (!state.any && state.choice === null) {\n const tag = state.implicit !== null ? state.implicit : state.tag;\n const cls = state.implicit === null ? 'universal' : 'context';\n\n if (tag === null) {\n if (state.use === null)\n reporter.error('Tag could be omitted only for .use()');\n } else {\n if (state.use === null)\n result = this._encodeComposite(tag, primitive, cls, content);\n }\n }\n\n // Wrap in explicit\n if (state.explicit !== null)\n result = this._encodeComposite(state.explicit, false, 'context', result);\n\n return result;\n};\n\nNode.prototype._encodeChoice = function encodeChoice(data, reporter) {\n const state = this._baseState;\n\n const node = state.choice[data.type];\n if (!node) {\n assert(\n false,\n data.type + ' not found in ' +\n JSON.stringify(Object.keys(state.choice)));\n }\n return node._encode(data.value, reporter);\n};\n\nNode.prototype._encodePrimitive = function encodePrimitive(tag, data) {\n const state = this._baseState;\n\n if (/str$/.test(tag))\n return this._encodeStr(data, tag);\n else if (tag === 'objid' && state.args)\n return this._encodeObjid(data, state.reverseArgs[0], state.args[1]);\n else if (tag === 'objid')\n return this._encodeObjid(data, null, null);\n else if (tag === 'gentime' || tag === 'utctime')\n return this._encodeTime(data, tag);\n else if (tag === 'null_')\n return this._encodeNull();\n else if (tag === 'int' || tag === 'enum')\n return this._encodeInt(data, state.args && state.reverseArgs[0]);\n else if (tag === 'bool')\n return this._encodeBool(data);\n else if (tag === 'objDesc')\n return this._encodeStr(data, tag);\n else\n throw new Error('Unsupported tag: ' + tag);\n};\n\nNode.prototype._isNumstr = function isNumstr(str) {\n return /^[0-9 ]*$/.test(str);\n};\n\nNode.prototype._isPrintstr = function isPrintstr(str) {\n return /^[A-Za-z0-9 '()+,-./:=?]*$/.test(str);\n};\n\n\n//# sourceURL=webpack://dcp/./node_modules/asn1.js/lib/asn1/base/node.js?"); + +/***/ }), + +/***/ "./node_modules/asn1.js/lib/asn1/base/reporter.js": +/*!********************************************************!*\ + !*** ./node_modules/asn1.js/lib/asn1/base/reporter.js ***! + \********************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nconst inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n\nfunction Reporter(options) {\n this._reporterState = {\n obj: null,\n path: [],\n options: options || {},\n errors: []\n };\n}\nexports.Reporter = Reporter;\n\nReporter.prototype.isError = function isError(obj) {\n return obj instanceof ReporterError;\n};\n\nReporter.prototype.save = function save() {\n const state = this._reporterState;\n\n return { obj: state.obj, pathLen: state.path.length };\n};\n\nReporter.prototype.restore = function restore(data) {\n const state = this._reporterState;\n\n state.obj = data.obj;\n state.path = state.path.slice(0, data.pathLen);\n};\n\nReporter.prototype.enterKey = function enterKey(key) {\n return this._reporterState.path.push(key);\n};\n\nReporter.prototype.exitKey = function exitKey(index) {\n const state = this._reporterState;\n\n state.path = state.path.slice(0, index - 1);\n};\n\nReporter.prototype.leaveKey = function leaveKey(index, key, value) {\n const state = this._reporterState;\n\n this.exitKey(index);\n if (state.obj !== null)\n state.obj[key] = value;\n};\n\nReporter.prototype.path = function path() {\n return this._reporterState.path.join('/');\n};\n\nReporter.prototype.enterObject = function enterObject() {\n const state = this._reporterState;\n\n const prev = state.obj;\n state.obj = {};\n return prev;\n};\n\nReporter.prototype.leaveObject = function leaveObject(prev) {\n const state = this._reporterState;\n\n const now = state.obj;\n state.obj = prev;\n return now;\n};\n\nReporter.prototype.error = function error(msg) {\n let err;\n const state = this._reporterState;\n\n const inherited = msg instanceof ReporterError;\n if (inherited) {\n err = msg;\n } else {\n err = new ReporterError(state.path.map(function(elem) {\n return '[' + JSON.stringify(elem) + ']';\n }).join(''), msg.message || msg, msg.stack);\n }\n\n if (!state.options.partial)\n throw err;\n\n if (!inherited)\n state.errors.push(err);\n\n return err;\n};\n\nReporter.prototype.wrapResult = function wrapResult(result) {\n const state = this._reporterState;\n if (!state.options.partial)\n return result;\n\n return {\n result: this.isError(result) ? null : result,\n errors: state.errors\n };\n};\n\nfunction ReporterError(path, msg) {\n this.path = path;\n this.rethrow(msg);\n}\ninherits(ReporterError, Error);\n\nReporterError.prototype.rethrow = function rethrow(msg) {\n this.message = msg + ' at: ' + (this.path || '(shallow)');\n if (Error.captureStackTrace)\n Error.captureStackTrace(this, ReporterError);\n\n if (!this.stack) {\n try {\n // IE only adds stack when thrown\n throw new Error(this.message);\n } catch (e) {\n this.stack = e.stack;\n }\n }\n return this;\n};\n\n\n//# sourceURL=webpack://dcp/./node_modules/asn1.js/lib/asn1/base/reporter.js?"); + +/***/ }), + +/***/ "./node_modules/asn1.js/lib/asn1/constants/der.js": +/*!********************************************************!*\ + !*** ./node_modules/asn1.js/lib/asn1/constants/der.js ***! + \********************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\n\n// Helper\nfunction reverse(map) {\n const res = {};\n\n Object.keys(map).forEach(function(key) {\n // Convert key to integer if it is stringified\n if ((key | 0) == key)\n key = key | 0;\n\n const value = map[key];\n res[value] = key;\n });\n\n return res;\n}\n\nexports.tagClass = {\n 0: 'universal',\n 1: 'application',\n 2: 'context',\n 3: 'private'\n};\nexports.tagClassByName = reverse(exports.tagClass);\n\nexports.tag = {\n 0x00: 'end',\n 0x01: 'bool',\n 0x02: 'int',\n 0x03: 'bitstr',\n 0x04: 'octstr',\n 0x05: 'null_',\n 0x06: 'objid',\n 0x07: 'objDesc',\n 0x08: 'external',\n 0x09: 'real',\n 0x0a: 'enum',\n 0x0b: 'embed',\n 0x0c: 'utf8str',\n 0x0d: 'relativeOid',\n 0x10: 'seq',\n 0x11: 'set',\n 0x12: 'numstr',\n 0x13: 'printstr',\n 0x14: 't61str',\n 0x15: 'videostr',\n 0x16: 'ia5str',\n 0x17: 'utctime',\n 0x18: 'gentime',\n 0x19: 'graphstr',\n 0x1a: 'iso646str',\n 0x1b: 'genstr',\n 0x1c: 'unistr',\n 0x1d: 'charstr',\n 0x1e: 'bmpstr'\n};\nexports.tagByName = reverse(exports.tag);\n\n\n//# sourceURL=webpack://dcp/./node_modules/asn1.js/lib/asn1/constants/der.js?"); + +/***/ }), + +/***/ "./node_modules/asn1.js/lib/asn1/constants/index.js": +/*!**********************************************************!*\ + !*** ./node_modules/asn1.js/lib/asn1/constants/index.js ***! + \**********************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nconst constants = exports;\n\n// Helper\nconstants._reverse = function reverse(map) {\n const res = {};\n\n Object.keys(map).forEach(function(key) {\n // Convert key to integer if it is stringified\n if ((key | 0) == key)\n key = key | 0;\n\n const value = map[key];\n res[value] = key;\n });\n\n return res;\n};\n\nconstants.der = __webpack_require__(/*! ./der */ \"./node_modules/asn1.js/lib/asn1/constants/der.js\");\n\n\n//# sourceURL=webpack://dcp/./node_modules/asn1.js/lib/asn1/constants/index.js?"); + +/***/ }), + +/***/ "./node_modules/asn1.js/lib/asn1/decoders/der.js": +/*!*******************************************************!*\ + !*** ./node_modules/asn1.js/lib/asn1/decoders/der.js ***! + \*******************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nconst inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n\nconst bignum = __webpack_require__(/*! bn.js */ \"./node_modules/bn.js/lib/bn.js\");\nconst DecoderBuffer = (__webpack_require__(/*! ../base/buffer */ \"./node_modules/asn1.js/lib/asn1/base/buffer.js\").DecoderBuffer);\nconst Node = __webpack_require__(/*! ../base/node */ \"./node_modules/asn1.js/lib/asn1/base/node.js\");\n\n// Import DER constants\nconst der = __webpack_require__(/*! ../constants/der */ \"./node_modules/asn1.js/lib/asn1/constants/der.js\");\n\nfunction DERDecoder(entity) {\n this.enc = 'der';\n this.name = entity.name;\n this.entity = entity;\n\n // Construct base tree\n this.tree = new DERNode();\n this.tree._init(entity.body);\n}\nmodule.exports = DERDecoder;\n\nDERDecoder.prototype.decode = function decode(data, options) {\n if (!DecoderBuffer.isDecoderBuffer(data)) {\n data = new DecoderBuffer(data, options);\n }\n\n return this.tree._decode(data, options);\n};\n\n// Tree methods\n\nfunction DERNode(parent) {\n Node.call(this, 'der', parent);\n}\ninherits(DERNode, Node);\n\nDERNode.prototype._peekTag = function peekTag(buffer, tag, any) {\n if (buffer.isEmpty())\n return false;\n\n const state = buffer.save();\n const decodedTag = derDecodeTag(buffer, 'Failed to peek tag: \"' + tag + '\"');\n if (buffer.isError(decodedTag))\n return decodedTag;\n\n buffer.restore(state);\n\n return decodedTag.tag === tag || decodedTag.tagStr === tag ||\n (decodedTag.tagStr + 'of') === tag || any;\n};\n\nDERNode.prototype._decodeTag = function decodeTag(buffer, tag, any) {\n const decodedTag = derDecodeTag(buffer,\n 'Failed to decode tag of \"' + tag + '\"');\n if (buffer.isError(decodedTag))\n return decodedTag;\n\n let len = derDecodeLen(buffer,\n decodedTag.primitive,\n 'Failed to get length of \"' + tag + '\"');\n\n // Failure\n if (buffer.isError(len))\n return len;\n\n if (!any &&\n decodedTag.tag !== tag &&\n decodedTag.tagStr !== tag &&\n decodedTag.tagStr + 'of' !== tag) {\n return buffer.error('Failed to match tag: \"' + tag + '\"');\n }\n\n if (decodedTag.primitive || len !== null)\n return buffer.skip(len, 'Failed to match body of: \"' + tag + '\"');\n\n // Indefinite length... find END tag\n const state = buffer.save();\n const res = this._skipUntilEnd(\n buffer,\n 'Failed to skip indefinite length body: \"' + this.tag + '\"');\n if (buffer.isError(res))\n return res;\n\n len = buffer.offset - state.offset;\n buffer.restore(state);\n return buffer.skip(len, 'Failed to match body of: \"' + tag + '\"');\n};\n\nDERNode.prototype._skipUntilEnd = function skipUntilEnd(buffer, fail) {\n for (;;) {\n const tag = derDecodeTag(buffer, fail);\n if (buffer.isError(tag))\n return tag;\n const len = derDecodeLen(buffer, tag.primitive, fail);\n if (buffer.isError(len))\n return len;\n\n let res;\n if (tag.primitive || len !== null)\n res = buffer.skip(len);\n else\n res = this._skipUntilEnd(buffer, fail);\n\n // Failure\n if (buffer.isError(res))\n return res;\n\n if (tag.tagStr === 'end')\n break;\n }\n};\n\nDERNode.prototype._decodeList = function decodeList(buffer, tag, decoder,\n options) {\n const result = [];\n while (!buffer.isEmpty()) {\n const possibleEnd = this._peekTag(buffer, 'end');\n if (buffer.isError(possibleEnd))\n return possibleEnd;\n\n const res = decoder.decode(buffer, 'der', options);\n if (buffer.isError(res) && possibleEnd)\n break;\n result.push(res);\n }\n return result;\n};\n\nDERNode.prototype._decodeStr = function decodeStr(buffer, tag) {\n if (tag === 'bitstr') {\n const unused = buffer.readUInt8();\n if (buffer.isError(unused))\n return unused;\n return { unused: unused, data: buffer.raw() };\n } else if (tag === 'bmpstr') {\n const raw = buffer.raw();\n if (raw.length % 2 === 1)\n return buffer.error('Decoding of string type: bmpstr length mismatch');\n\n let str = '';\n for (let i = 0; i < raw.length / 2; i++) {\n str += String.fromCharCode(raw.readUInt16BE(i * 2));\n }\n return str;\n } else if (tag === 'numstr') {\n const numstr = buffer.raw().toString('ascii');\n if (!this._isNumstr(numstr)) {\n return buffer.error('Decoding of string type: ' +\n 'numstr unsupported characters');\n }\n return numstr;\n } else if (tag === 'octstr') {\n return buffer.raw();\n } else if (tag === 'objDesc') {\n return buffer.raw();\n } else if (tag === 'printstr') {\n const printstr = buffer.raw().toString('ascii');\n if (!this._isPrintstr(printstr)) {\n return buffer.error('Decoding of string type: ' +\n 'printstr unsupported characters');\n }\n return printstr;\n } else if (/str$/.test(tag)) {\n return buffer.raw().toString();\n } else {\n return buffer.error('Decoding of string type: ' + tag + ' unsupported');\n }\n};\n\nDERNode.prototype._decodeObjid = function decodeObjid(buffer, values, relative) {\n let result;\n const identifiers = [];\n let ident = 0;\n let subident = 0;\n while (!buffer.isEmpty()) {\n subident = buffer.readUInt8();\n ident <<= 7;\n ident |= subident & 0x7f;\n if ((subident & 0x80) === 0) {\n identifiers.push(ident);\n ident = 0;\n }\n }\n if (subident & 0x80)\n identifiers.push(ident);\n\n const first = (identifiers[0] / 40) | 0;\n const second = identifiers[0] % 40;\n\n if (relative)\n result = identifiers;\n else\n result = [first, second].concat(identifiers.slice(1));\n\n if (values) {\n let tmp = values[result.join(' ')];\n if (tmp === undefined)\n tmp = values[result.join('.')];\n if (tmp !== undefined)\n result = tmp;\n }\n\n return result;\n};\n\nDERNode.prototype._decodeTime = function decodeTime(buffer, tag) {\n const str = buffer.raw().toString();\n\n let year;\n let mon;\n let day;\n let hour;\n let min;\n let sec;\n if (tag === 'gentime') {\n year = str.slice(0, 4) | 0;\n mon = str.slice(4, 6) | 0;\n day = str.slice(6, 8) | 0;\n hour = str.slice(8, 10) | 0;\n min = str.slice(10, 12) | 0;\n sec = str.slice(12, 14) | 0;\n } else if (tag === 'utctime') {\n year = str.slice(0, 2) | 0;\n mon = str.slice(2, 4) | 0;\n day = str.slice(4, 6) | 0;\n hour = str.slice(6, 8) | 0;\n min = str.slice(8, 10) | 0;\n sec = str.slice(10, 12) | 0;\n if (year < 70)\n year = 2000 + year;\n else\n year = 1900 + year;\n } else {\n return buffer.error('Decoding ' + tag + ' time is not supported yet');\n }\n\n return Date.UTC(year, mon - 1, day, hour, min, sec, 0);\n};\n\nDERNode.prototype._decodeNull = function decodeNull() {\n return null;\n};\n\nDERNode.prototype._decodeBool = function decodeBool(buffer) {\n const res = buffer.readUInt8();\n if (buffer.isError(res))\n return res;\n else\n return res !== 0;\n};\n\nDERNode.prototype._decodeInt = function decodeInt(buffer, values) {\n // Bigint, return as it is (assume big endian)\n const raw = buffer.raw();\n let res = new bignum(raw);\n\n if (values)\n res = values[res.toString(10)] || res;\n\n return res;\n};\n\nDERNode.prototype._use = function use(entity, obj) {\n if (typeof entity === 'function')\n entity = entity(obj);\n return entity._getDecoder('der').tree;\n};\n\n// Utility methods\n\nfunction derDecodeTag(buf, fail) {\n let tag = buf.readUInt8(fail);\n if (buf.isError(tag))\n return tag;\n\n const cls = der.tagClass[tag >> 6];\n const primitive = (tag & 0x20) === 0;\n\n // Multi-octet tag - load\n if ((tag & 0x1f) === 0x1f) {\n let oct = tag;\n tag = 0;\n while ((oct & 0x80) === 0x80) {\n oct = buf.readUInt8(fail);\n if (buf.isError(oct))\n return oct;\n\n tag <<= 7;\n tag |= oct & 0x7f;\n }\n } else {\n tag &= 0x1f;\n }\n const tagStr = der.tag[tag];\n\n return {\n cls: cls,\n primitive: primitive,\n tag: tag,\n tagStr: tagStr\n };\n}\n\nfunction derDecodeLen(buf, primitive, fail) {\n let len = buf.readUInt8(fail);\n if (buf.isError(len))\n return len;\n\n // Indefinite form\n if (!primitive && len === 0x80)\n return null;\n\n // Definite form\n if ((len & 0x80) === 0) {\n // Short form\n return len;\n }\n\n // Long form\n const num = len & 0x7f;\n if (num > 4)\n return buf.error('length octect is too long');\n\n len = 0;\n for (let i = 0; i < num; i++) {\n len <<= 8;\n const j = buf.readUInt8(fail);\n if (buf.isError(j))\n return j;\n len |= j;\n }\n\n return len;\n}\n\n\n//# sourceURL=webpack://dcp/./node_modules/asn1.js/lib/asn1/decoders/der.js?"); + +/***/ }), + +/***/ "./node_modules/asn1.js/lib/asn1/decoders/index.js": +/*!*********************************************************!*\ + !*** ./node_modules/asn1.js/lib/asn1/decoders/index.js ***! + \*********************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nconst decoders = exports;\n\ndecoders.der = __webpack_require__(/*! ./der */ \"./node_modules/asn1.js/lib/asn1/decoders/der.js\");\ndecoders.pem = __webpack_require__(/*! ./pem */ \"./node_modules/asn1.js/lib/asn1/decoders/pem.js\");\n\n\n//# sourceURL=webpack://dcp/./node_modules/asn1.js/lib/asn1/decoders/index.js?"); + +/***/ }), + +/***/ "./node_modules/asn1.js/lib/asn1/decoders/pem.js": +/*!*******************************************************!*\ + !*** ./node_modules/asn1.js/lib/asn1/decoders/pem.js ***! + \*******************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nconst inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\nconst Buffer = (__webpack_require__(/*! safer-buffer */ \"./node_modules/safer-buffer/safer.js\").Buffer);\n\nconst DERDecoder = __webpack_require__(/*! ./der */ \"./node_modules/asn1.js/lib/asn1/decoders/der.js\");\n\nfunction PEMDecoder(entity) {\n DERDecoder.call(this, entity);\n this.enc = 'pem';\n}\ninherits(PEMDecoder, DERDecoder);\nmodule.exports = PEMDecoder;\n\nPEMDecoder.prototype.decode = function decode(data, options) {\n const lines = data.toString().split(/[\\r\\n]+/g);\n\n const label = options.label.toUpperCase();\n\n const re = /^-----(BEGIN|END) ([^-]+)-----$/;\n let start = -1;\n let end = -1;\n for (let i = 0; i < lines.length; i++) {\n const match = lines[i].match(re);\n if (match === null)\n continue;\n\n if (match[2] !== label)\n continue;\n\n if (start === -1) {\n if (match[1] !== 'BEGIN')\n break;\n start = i;\n } else {\n if (match[1] !== 'END')\n break;\n end = i;\n break;\n }\n }\n if (start === -1 || end === -1)\n throw new Error('PEM section not found for: ' + label);\n\n const base64 = lines.slice(start + 1, end).join('');\n // Remove excessive symbols\n base64.replace(/[^a-z0-9+/=]+/gi, '');\n\n const input = Buffer.from(base64, 'base64');\n return DERDecoder.prototype.decode.call(this, input, options);\n};\n\n\n//# sourceURL=webpack://dcp/./node_modules/asn1.js/lib/asn1/decoders/pem.js?"); + +/***/ }), + +/***/ "./node_modules/asn1.js/lib/asn1/encoders/der.js": +/*!*******************************************************!*\ + !*** ./node_modules/asn1.js/lib/asn1/encoders/der.js ***! + \*******************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nconst inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\nconst Buffer = (__webpack_require__(/*! safer-buffer */ \"./node_modules/safer-buffer/safer.js\").Buffer);\nconst Node = __webpack_require__(/*! ../base/node */ \"./node_modules/asn1.js/lib/asn1/base/node.js\");\n\n// Import DER constants\nconst der = __webpack_require__(/*! ../constants/der */ \"./node_modules/asn1.js/lib/asn1/constants/der.js\");\n\nfunction DEREncoder(entity) {\n this.enc = 'der';\n this.name = entity.name;\n this.entity = entity;\n\n // Construct base tree\n this.tree = new DERNode();\n this.tree._init(entity.body);\n}\nmodule.exports = DEREncoder;\n\nDEREncoder.prototype.encode = function encode(data, reporter) {\n return this.tree._encode(data, reporter).join();\n};\n\n// Tree methods\n\nfunction DERNode(parent) {\n Node.call(this, 'der', parent);\n}\ninherits(DERNode, Node);\n\nDERNode.prototype._encodeComposite = function encodeComposite(tag,\n primitive,\n cls,\n content) {\n const encodedTag = encodeTag(tag, primitive, cls, this.reporter);\n\n // Short form\n if (content.length < 0x80) {\n const header = Buffer.alloc(2);\n header[0] = encodedTag;\n header[1] = content.length;\n return this._createEncoderBuffer([ header, content ]);\n }\n\n // Long form\n // Count octets required to store length\n let lenOctets = 1;\n for (let i = content.length; i >= 0x100; i >>= 8)\n lenOctets++;\n\n const header = Buffer.alloc(1 + 1 + lenOctets);\n header[0] = encodedTag;\n header[1] = 0x80 | lenOctets;\n\n for (let i = 1 + lenOctets, j = content.length; j > 0; i--, j >>= 8)\n header[i] = j & 0xff;\n\n return this._createEncoderBuffer([ header, content ]);\n};\n\nDERNode.prototype._encodeStr = function encodeStr(str, tag) {\n if (tag === 'bitstr') {\n return this._createEncoderBuffer([ str.unused | 0, str.data ]);\n } else if (tag === 'bmpstr') {\n const buf = Buffer.alloc(str.length * 2);\n for (let i = 0; i < str.length; i++) {\n buf.writeUInt16BE(str.charCodeAt(i), i * 2);\n }\n return this._createEncoderBuffer(buf);\n } else if (tag === 'numstr') {\n if (!this._isNumstr(str)) {\n return this.reporter.error('Encoding of string type: numstr supports ' +\n 'only digits and space');\n }\n return this._createEncoderBuffer(str);\n } else if (tag === 'printstr') {\n if (!this._isPrintstr(str)) {\n return this.reporter.error('Encoding of string type: printstr supports ' +\n 'only latin upper and lower case letters, ' +\n 'digits, space, apostrophe, left and rigth ' +\n 'parenthesis, plus sign, comma, hyphen, ' +\n 'dot, slash, colon, equal sign, ' +\n 'question mark');\n }\n return this._createEncoderBuffer(str);\n } else if (/str$/.test(tag)) {\n return this._createEncoderBuffer(str);\n } else if (tag === 'objDesc') {\n return this._createEncoderBuffer(str);\n } else {\n return this.reporter.error('Encoding of string type: ' + tag +\n ' unsupported');\n }\n};\n\nDERNode.prototype._encodeObjid = function encodeObjid(id, values, relative) {\n if (typeof id === 'string') {\n if (!values)\n return this.reporter.error('string objid given, but no values map found');\n if (!values.hasOwnProperty(id))\n return this.reporter.error('objid not found in values map');\n id = values[id].split(/[\\s.]+/g);\n for (let i = 0; i < id.length; i++)\n id[i] |= 0;\n } else if (Array.isArray(id)) {\n id = id.slice();\n for (let i = 0; i < id.length; i++)\n id[i] |= 0;\n }\n\n if (!Array.isArray(id)) {\n return this.reporter.error('objid() should be either array or string, ' +\n 'got: ' + JSON.stringify(id));\n }\n\n if (!relative) {\n if (id[1] >= 40)\n return this.reporter.error('Second objid identifier OOB');\n id.splice(0, 2, id[0] * 40 + id[1]);\n }\n\n // Count number of octets\n let size = 0;\n for (let i = 0; i < id.length; i++) {\n let ident = id[i];\n for (size++; ident >= 0x80; ident >>= 7)\n size++;\n }\n\n const objid = Buffer.alloc(size);\n let offset = objid.length - 1;\n for (let i = id.length - 1; i >= 0; i--) {\n let ident = id[i];\n objid[offset--] = ident & 0x7f;\n while ((ident >>= 7) > 0)\n objid[offset--] = 0x80 | (ident & 0x7f);\n }\n\n return this._createEncoderBuffer(objid);\n};\n\nfunction two(num) {\n if (num < 10)\n return '0' + num;\n else\n return num;\n}\n\nDERNode.prototype._encodeTime = function encodeTime(time, tag) {\n let str;\n const date = new Date(time);\n\n if (tag === 'gentime') {\n str = [\n two(date.getUTCFullYear()),\n two(date.getUTCMonth() + 1),\n two(date.getUTCDate()),\n two(date.getUTCHours()),\n two(date.getUTCMinutes()),\n two(date.getUTCSeconds()),\n 'Z'\n ].join('');\n } else if (tag === 'utctime') {\n str = [\n two(date.getUTCFullYear() % 100),\n two(date.getUTCMonth() + 1),\n two(date.getUTCDate()),\n two(date.getUTCHours()),\n two(date.getUTCMinutes()),\n two(date.getUTCSeconds()),\n 'Z'\n ].join('');\n } else {\n this.reporter.error('Encoding ' + tag + ' time is not supported yet');\n }\n\n return this._encodeStr(str, 'octstr');\n};\n\nDERNode.prototype._encodeNull = function encodeNull() {\n return this._createEncoderBuffer('');\n};\n\nDERNode.prototype._encodeInt = function encodeInt(num, values) {\n if (typeof num === 'string') {\n if (!values)\n return this.reporter.error('String int or enum given, but no values map');\n if (!values.hasOwnProperty(num)) {\n return this.reporter.error('Values map doesn\\'t contain: ' +\n JSON.stringify(num));\n }\n num = values[num];\n }\n\n // Bignum, assume big endian\n if (typeof num !== 'number' && !Buffer.isBuffer(num)) {\n const numArray = num.toArray();\n if (!num.sign && numArray[0] & 0x80) {\n numArray.unshift(0);\n }\n num = Buffer.from(numArray);\n }\n\n if (Buffer.isBuffer(num)) {\n let size = num.length;\n if (num.length === 0)\n size++;\n\n const out = Buffer.alloc(size);\n num.copy(out);\n if (num.length === 0)\n out[0] = 0;\n return this._createEncoderBuffer(out);\n }\n\n if (num < 0x80)\n return this._createEncoderBuffer(num);\n\n if (num < 0x100)\n return this._createEncoderBuffer([0, num]);\n\n let size = 1;\n for (let i = num; i >= 0x100; i >>= 8)\n size++;\n\n const out = new Array(size);\n for (let i = out.length - 1; i >= 0; i--) {\n out[i] = num & 0xff;\n num >>= 8;\n }\n if(out[0] & 0x80) {\n out.unshift(0);\n }\n\n return this._createEncoderBuffer(Buffer.from(out));\n};\n\nDERNode.prototype._encodeBool = function encodeBool(value) {\n return this._createEncoderBuffer(value ? 0xff : 0);\n};\n\nDERNode.prototype._use = function use(entity, obj) {\n if (typeof entity === 'function')\n entity = entity(obj);\n return entity._getEncoder('der').tree;\n};\n\nDERNode.prototype._skipDefault = function skipDefault(dataBuffer, reporter, parent) {\n const state = this._baseState;\n let i;\n if (state['default'] === null)\n return false;\n\n const data = dataBuffer.join();\n if (state.defaultBuffer === undefined)\n state.defaultBuffer = this._encodeValue(state['default'], reporter, parent).join();\n\n if (data.length !== state.defaultBuffer.length)\n return false;\n\n for (i=0; i < data.length; i++)\n if (data[i] !== state.defaultBuffer[i])\n return false;\n\n return true;\n};\n\n// Utility methods\n\nfunction encodeTag(tag, primitive, cls, reporter) {\n let res;\n\n if (tag === 'seqof')\n tag = 'seq';\n else if (tag === 'setof')\n tag = 'set';\n\n if (der.tagByName.hasOwnProperty(tag))\n res = der.tagByName[tag];\n else if (typeof tag === 'number' && (tag | 0) === tag)\n res = tag;\n else\n return reporter.error('Unknown tag: ' + tag);\n\n if (res >= 0x1f)\n return reporter.error('Multi-octet tag encoding unsupported');\n\n if (!primitive)\n res |= 0x20;\n\n res |= (der.tagClassByName[cls || 'universal'] << 6);\n\n return res;\n}\n\n\n//# sourceURL=webpack://dcp/./node_modules/asn1.js/lib/asn1/encoders/der.js?"); + +/***/ }), + +/***/ "./node_modules/asn1.js/lib/asn1/encoders/index.js": +/*!*********************************************************!*\ + !*** ./node_modules/asn1.js/lib/asn1/encoders/index.js ***! + \*********************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nconst encoders = exports;\n\nencoders.der = __webpack_require__(/*! ./der */ \"./node_modules/asn1.js/lib/asn1/encoders/der.js\");\nencoders.pem = __webpack_require__(/*! ./pem */ \"./node_modules/asn1.js/lib/asn1/encoders/pem.js\");\n\n\n//# sourceURL=webpack://dcp/./node_modules/asn1.js/lib/asn1/encoders/index.js?"); + +/***/ }), + +/***/ "./node_modules/asn1.js/lib/asn1/encoders/pem.js": +/*!*******************************************************!*\ + !*** ./node_modules/asn1.js/lib/asn1/encoders/pem.js ***! + \*******************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nconst inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n\nconst DEREncoder = __webpack_require__(/*! ./der */ \"./node_modules/asn1.js/lib/asn1/encoders/der.js\");\n\nfunction PEMEncoder(entity) {\n DEREncoder.call(this, entity);\n this.enc = 'pem';\n}\ninherits(PEMEncoder, DEREncoder);\nmodule.exports = PEMEncoder;\n\nPEMEncoder.prototype.encode = function encode(data, options) {\n const buf = DEREncoder.prototype.encode.call(this, data);\n\n const p = buf.toString('base64');\n const out = [ '-----BEGIN ' + options.label + '-----' ];\n for (let i = 0; i < p.length; i += 64)\n out.push(p.slice(i, i + 64));\n out.push('-----END ' + options.label + '-----');\n return out.join('\\n');\n};\n\n\n//# sourceURL=webpack://dcp/./node_modules/asn1.js/lib/asn1/encoders/pem.js?"); + +/***/ }), + +/***/ "./node_modules/assert/build/assert.js": +/*!*********************************************!*\ + !*** ./node_modules/assert/build/assert.js ***! + \*********************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("/* provided dependency */ var process = __webpack_require__(/*! ./node_modules/process/browser.js */ \"./node_modules/process/browser.js\");\n// Currently in sync with Node.js lib/assert.js\n// https://github.com/nodejs/node/commit/2a51ae424a513ec9a6aa3466baa0cc1d55dd4f3b\n// Originally from narwhal.js (http://narwhaljs.org)\n// Copyright (c) 2009 Thomas Robinson <280north.com>\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the 'Software'), to\n// deal in the Software without restriction, including without limitation the\n// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n// sell copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\n// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar _require = __webpack_require__(/*! ./internal/errors */ \"./node_modules/assert/build/internal/errors.js\"),\n _require$codes = _require.codes,\n ERR_AMBIGUOUS_ARGUMENT = _require$codes.ERR_AMBIGUOUS_ARGUMENT,\n ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n ERR_INVALID_ARG_VALUE = _require$codes.ERR_INVALID_ARG_VALUE,\n ERR_INVALID_RETURN_VALUE = _require$codes.ERR_INVALID_RETURN_VALUE,\n ERR_MISSING_ARGS = _require$codes.ERR_MISSING_ARGS;\n\nvar AssertionError = __webpack_require__(/*! ./internal/assert/assertion_error */ \"./node_modules/assert/build/internal/assert/assertion_error.js\");\n\nvar _require2 = __webpack_require__(/*! util/ */ \"./node_modules/util/util.js\"),\n inspect = _require2.inspect;\n\nvar _require$types = (__webpack_require__(/*! util/ */ \"./node_modules/util/util.js\").types),\n isPromise = _require$types.isPromise,\n isRegExp = _require$types.isRegExp;\n\nvar objectAssign = Object.assign ? Object.assign : (__webpack_require__(/*! es6-object-assign */ \"./node_modules/es6-object-assign/index.js\").assign);\nvar objectIs = Object.is ? Object.is : __webpack_require__(/*! object-is */ \"./node_modules/object-is/index.js\");\nvar errorCache = new Map();\nvar isDeepEqual;\nvar isDeepStrictEqual;\nvar parseExpressionAt;\nvar findNodeAround;\nvar decoder;\n\nfunction lazyLoadComparison() {\n var comparison = __webpack_require__(/*! ./internal/util/comparisons */ \"./node_modules/assert/build/internal/util/comparisons.js\");\n\n isDeepEqual = comparison.isDeepEqual;\n isDeepStrictEqual = comparison.isDeepStrictEqual;\n} // Escape control characters but not \\n and \\t to keep the line breaks and\n// indentation intact.\n// eslint-disable-next-line no-control-regex\n\n\nvar escapeSequencesRegExp = /[\\x00-\\x08\\x0b\\x0c\\x0e-\\x1f]/g;\nvar meta = [\"\\\\u0000\", \"\\\\u0001\", \"\\\\u0002\", \"\\\\u0003\", \"\\\\u0004\", \"\\\\u0005\", \"\\\\u0006\", \"\\\\u0007\", '\\\\b', '', '', \"\\\\u000b\", '\\\\f', '', \"\\\\u000e\", \"\\\\u000f\", \"\\\\u0010\", \"\\\\u0011\", \"\\\\u0012\", \"\\\\u0013\", \"\\\\u0014\", \"\\\\u0015\", \"\\\\u0016\", \"\\\\u0017\", \"\\\\u0018\", \"\\\\u0019\", \"\\\\u001a\", \"\\\\u001b\", \"\\\\u001c\", \"\\\\u001d\", \"\\\\u001e\", \"\\\\u001f\"];\n\nvar escapeFn = function escapeFn(str) {\n return meta[str.charCodeAt(0)];\n};\n\nvar warned = false; // The assert module provides functions that throw\n// AssertionError's when particular conditions are not met. The\n// assert module must conform to the following interface.\n\nvar assert = module.exports = ok;\nvar NO_EXCEPTION_SENTINEL = {}; // All of the following functions must throw an AssertionError\n// when a corresponding condition is not met, with a message that\n// may be undefined if not provided. All assertion methods provide\n// both the actual and expected values to the assertion error for\n// display purposes.\n\nfunction innerFail(obj) {\n if (obj.message instanceof Error) throw obj.message;\n throw new AssertionError(obj);\n}\n\nfunction fail(actual, expected, message, operator, stackStartFn) {\n var argsLen = arguments.length;\n var internalMessage;\n\n if (argsLen === 0) {\n internalMessage = 'Failed';\n } else if (argsLen === 1) {\n message = actual;\n actual = undefined;\n } else {\n if (warned === false) {\n warned = true;\n var warn = process.emitWarning ? process.emitWarning : console.warn.bind(console);\n warn('assert.fail() with more than one argument is deprecated. ' + 'Please use assert.strictEqual() instead or only pass a message.', 'DeprecationWarning', 'DEP0094');\n }\n\n if (argsLen === 2) operator = '!=';\n }\n\n if (message instanceof Error) throw message;\n var errArgs = {\n actual: actual,\n expected: expected,\n operator: operator === undefined ? 'fail' : operator,\n stackStartFn: stackStartFn || fail\n };\n\n if (message !== undefined) {\n errArgs.message = message;\n }\n\n var err = new AssertionError(errArgs);\n\n if (internalMessage) {\n err.message = internalMessage;\n err.generatedMessage = true;\n }\n\n throw err;\n}\n\nassert.fail = fail; // The AssertionError is defined in internal/error.\n\nassert.AssertionError = AssertionError;\n\nfunction innerOk(fn, argLen, value, message) {\n if (!value) {\n var generatedMessage = false;\n\n if (argLen === 0) {\n generatedMessage = true;\n message = 'No value argument passed to `assert.ok()`';\n } else if (message instanceof Error) {\n throw message;\n }\n\n var err = new AssertionError({\n actual: value,\n expected: true,\n message: message,\n operator: '==',\n stackStartFn: fn\n });\n err.generatedMessage = generatedMessage;\n throw err;\n }\n} // Pure assertion tests whether a value is truthy, as determined\n// by !!value.\n\n\nfunction ok() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n innerOk.apply(void 0, [ok, args.length].concat(args));\n}\n\nassert.ok = ok; // The equality assertion tests shallow, coercive equality with ==.\n\n/* eslint-disable no-restricted-properties */\n\nassert.equal = function equal(actual, expected, message) {\n if (arguments.length < 2) {\n throw new ERR_MISSING_ARGS('actual', 'expected');\n } // eslint-disable-next-line eqeqeq\n\n\n if (actual != expected) {\n innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: '==',\n stackStartFn: equal\n });\n }\n}; // The non-equality assertion tests for whether two objects are not\n// equal with !=.\n\n\nassert.notEqual = function notEqual(actual, expected, message) {\n if (arguments.length < 2) {\n throw new ERR_MISSING_ARGS('actual', 'expected');\n } // eslint-disable-next-line eqeqeq\n\n\n if (actual == expected) {\n innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: '!=',\n stackStartFn: notEqual\n });\n }\n}; // The equivalence assertion tests a deep equality relation.\n\n\nassert.deepEqual = function deepEqual(actual, expected, message) {\n if (arguments.length < 2) {\n throw new ERR_MISSING_ARGS('actual', 'expected');\n }\n\n if (isDeepEqual === undefined) lazyLoadComparison();\n\n if (!isDeepEqual(actual, expected)) {\n innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: 'deepEqual',\n stackStartFn: deepEqual\n });\n }\n}; // The non-equivalence assertion tests for any deep inequality.\n\n\nassert.notDeepEqual = function notDeepEqual(actual, expected, message) {\n if (arguments.length < 2) {\n throw new ERR_MISSING_ARGS('actual', 'expected');\n }\n\n if (isDeepEqual === undefined) lazyLoadComparison();\n\n if (isDeepEqual(actual, expected)) {\n innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: 'notDeepEqual',\n stackStartFn: notDeepEqual\n });\n }\n};\n/* eslint-enable */\n\n\nassert.deepStrictEqual = function deepStrictEqual(actual, expected, message) {\n if (arguments.length < 2) {\n throw new ERR_MISSING_ARGS('actual', 'expected');\n }\n\n if (isDeepEqual === undefined) lazyLoadComparison();\n\n if (!isDeepStrictEqual(actual, expected)) {\n innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: 'deepStrictEqual',\n stackStartFn: deepStrictEqual\n });\n }\n};\n\nassert.notDeepStrictEqual = notDeepStrictEqual;\n\nfunction notDeepStrictEqual(actual, expected, message) {\n if (arguments.length < 2) {\n throw new ERR_MISSING_ARGS('actual', 'expected');\n }\n\n if (isDeepEqual === undefined) lazyLoadComparison();\n\n if (isDeepStrictEqual(actual, expected)) {\n innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: 'notDeepStrictEqual',\n stackStartFn: notDeepStrictEqual\n });\n }\n}\n\nassert.strictEqual = function strictEqual(actual, expected, message) {\n if (arguments.length < 2) {\n throw new ERR_MISSING_ARGS('actual', 'expected');\n }\n\n if (!objectIs(actual, expected)) {\n innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: 'strictEqual',\n stackStartFn: strictEqual\n });\n }\n};\n\nassert.notStrictEqual = function notStrictEqual(actual, expected, message) {\n if (arguments.length < 2) {\n throw new ERR_MISSING_ARGS('actual', 'expected');\n }\n\n if (objectIs(actual, expected)) {\n innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: 'notStrictEqual',\n stackStartFn: notStrictEqual\n });\n }\n};\n\nvar Comparison = function Comparison(obj, keys, actual) {\n var _this = this;\n\n _classCallCheck(this, Comparison);\n\n keys.forEach(function (key) {\n if (key in obj) {\n if (actual !== undefined && typeof actual[key] === 'string' && isRegExp(obj[key]) && obj[key].test(actual[key])) {\n _this[key] = actual[key];\n } else {\n _this[key] = obj[key];\n }\n }\n });\n};\n\nfunction compareExceptionKey(actual, expected, key, message, keys, fn) {\n if (!(key in actual) || !isDeepStrictEqual(actual[key], expected[key])) {\n if (!message) {\n // Create placeholder objects to create a nice output.\n var a = new Comparison(actual, keys);\n var b = new Comparison(expected, keys, actual);\n var err = new AssertionError({\n actual: a,\n expected: b,\n operator: 'deepStrictEqual',\n stackStartFn: fn\n });\n err.actual = actual;\n err.expected = expected;\n err.operator = fn.name;\n throw err;\n }\n\n innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: fn.name,\n stackStartFn: fn\n });\n }\n}\n\nfunction expectedException(actual, expected, msg, fn) {\n if (typeof expected !== 'function') {\n if (isRegExp(expected)) return expected.test(actual); // assert.doesNotThrow does not accept objects.\n\n if (arguments.length === 2) {\n throw new ERR_INVALID_ARG_TYPE('expected', ['Function', 'RegExp'], expected);\n } // Handle primitives properly.\n\n\n if (_typeof(actual) !== 'object' || actual === null) {\n var err = new AssertionError({\n actual: actual,\n expected: expected,\n message: msg,\n operator: 'deepStrictEqual',\n stackStartFn: fn\n });\n err.operator = fn.name;\n throw err;\n }\n\n var keys = Object.keys(expected); // Special handle errors to make sure the name and the message are compared\n // as well.\n\n if (expected instanceof Error) {\n keys.push('name', 'message');\n } else if (keys.length === 0) {\n throw new ERR_INVALID_ARG_VALUE('error', expected, 'may not be an empty object');\n }\n\n if (isDeepEqual === undefined) lazyLoadComparison();\n keys.forEach(function (key) {\n if (typeof actual[key] === 'string' && isRegExp(expected[key]) && expected[key].test(actual[key])) {\n return;\n }\n\n compareExceptionKey(actual, expected, key, msg, keys, fn);\n });\n return true;\n } // Guard instanceof against arrow functions as they don't have a prototype.\n\n\n if (expected.prototype !== undefined && actual instanceof expected) {\n return true;\n }\n\n if (Error.isPrototypeOf(expected)) {\n return false;\n }\n\n return expected.call({}, actual) === true;\n}\n\nfunction getActual(fn) {\n if (typeof fn !== 'function') {\n throw new ERR_INVALID_ARG_TYPE('fn', 'Function', fn);\n }\n\n try {\n fn();\n } catch (e) {\n return e;\n }\n\n return NO_EXCEPTION_SENTINEL;\n}\n\nfunction checkIsPromise(obj) {\n // Accept native ES6 promises and promises that are implemented in a similar\n // way. Do not accept thenables that use a function as `obj` and that have no\n // `catch` handler.\n // TODO: thenables are checked up until they have the correct methods,\n // but according to documentation, the `then` method should receive\n // the `fulfill` and `reject` arguments as well or it may be never resolved.\n return isPromise(obj) || obj !== null && _typeof(obj) === 'object' && typeof obj.then === 'function' && typeof obj.catch === 'function';\n}\n\nfunction waitForActual(promiseFn) {\n return Promise.resolve().then(function () {\n var resultPromise;\n\n if (typeof promiseFn === 'function') {\n // Return a rejected promise if `promiseFn` throws synchronously.\n resultPromise = promiseFn(); // Fail in case no promise is returned.\n\n if (!checkIsPromise(resultPromise)) {\n throw new ERR_INVALID_RETURN_VALUE('instance of Promise', 'promiseFn', resultPromise);\n }\n } else if (checkIsPromise(promiseFn)) {\n resultPromise = promiseFn;\n } else {\n throw new ERR_INVALID_ARG_TYPE('promiseFn', ['Function', 'Promise'], promiseFn);\n }\n\n return Promise.resolve().then(function () {\n return resultPromise;\n }).then(function () {\n return NO_EXCEPTION_SENTINEL;\n }).catch(function (e) {\n return e;\n });\n });\n}\n\nfunction expectsError(stackStartFn, actual, error, message) {\n if (typeof error === 'string') {\n if (arguments.length === 4) {\n throw new ERR_INVALID_ARG_TYPE('error', ['Object', 'Error', 'Function', 'RegExp'], error);\n }\n\n if (_typeof(actual) === 'object' && actual !== null) {\n if (actual.message === error) {\n throw new ERR_AMBIGUOUS_ARGUMENT('error/message', \"The error message \\\"\".concat(actual.message, \"\\\" is identical to the message.\"));\n }\n } else if (actual === error) {\n throw new ERR_AMBIGUOUS_ARGUMENT('error/message', \"The error \\\"\".concat(actual, \"\\\" is identical to the message.\"));\n }\n\n message = error;\n error = undefined;\n } else if (error != null && _typeof(error) !== 'object' && typeof error !== 'function') {\n throw new ERR_INVALID_ARG_TYPE('error', ['Object', 'Error', 'Function', 'RegExp'], error);\n }\n\n if (actual === NO_EXCEPTION_SENTINEL) {\n var details = '';\n\n if (error && error.name) {\n details += \" (\".concat(error.name, \")\");\n }\n\n details += message ? \": \".concat(message) : '.';\n var fnType = stackStartFn.name === 'rejects' ? 'rejection' : 'exception';\n innerFail({\n actual: undefined,\n expected: error,\n operator: stackStartFn.name,\n message: \"Missing expected \".concat(fnType).concat(details),\n stackStartFn: stackStartFn\n });\n }\n\n if (error && !expectedException(actual, error, message, stackStartFn)) {\n throw actual;\n }\n}\n\nfunction expectsNoError(stackStartFn, actual, error, message) {\n if (actual === NO_EXCEPTION_SENTINEL) return;\n\n if (typeof error === 'string') {\n message = error;\n error = undefined;\n }\n\n if (!error || expectedException(actual, error)) {\n var details = message ? \": \".concat(message) : '.';\n var fnType = stackStartFn.name === 'doesNotReject' ? 'rejection' : 'exception';\n innerFail({\n actual: actual,\n expected: error,\n operator: stackStartFn.name,\n message: \"Got unwanted \".concat(fnType).concat(details, \"\\n\") + \"Actual message: \\\"\".concat(actual && actual.message, \"\\\"\"),\n stackStartFn: stackStartFn\n });\n }\n\n throw actual;\n}\n\nassert.throws = function throws(promiseFn) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n expectsError.apply(void 0, [throws, getActual(promiseFn)].concat(args));\n};\n\nassert.rejects = function rejects(promiseFn) {\n for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {\n args[_key3 - 1] = arguments[_key3];\n }\n\n return waitForActual(promiseFn).then(function (result) {\n return expectsError.apply(void 0, [rejects, result].concat(args));\n });\n};\n\nassert.doesNotThrow = function doesNotThrow(fn) {\n for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n args[_key4 - 1] = arguments[_key4];\n }\n\n expectsNoError.apply(void 0, [doesNotThrow, getActual(fn)].concat(args));\n};\n\nassert.doesNotReject = function doesNotReject(fn) {\n for (var _len5 = arguments.length, args = new Array(_len5 > 1 ? _len5 - 1 : 0), _key5 = 1; _key5 < _len5; _key5++) {\n args[_key5 - 1] = arguments[_key5];\n }\n\n return waitForActual(fn).then(function (result) {\n return expectsNoError.apply(void 0, [doesNotReject, result].concat(args));\n });\n};\n\nassert.ifError = function ifError(err) {\n if (err !== null && err !== undefined) {\n var message = 'ifError got unwanted exception: ';\n\n if (_typeof(err) === 'object' && typeof err.message === 'string') {\n if (err.message.length === 0 && err.constructor) {\n message += err.constructor.name;\n } else {\n message += err.message;\n }\n } else {\n message += inspect(err);\n }\n\n var newErr = new AssertionError({\n actual: err,\n expected: null,\n operator: 'ifError',\n message: message,\n stackStartFn: ifError\n }); // Make sure we actually have a stack trace!\n\n var origStack = err.stack;\n\n if (typeof origStack === 'string') {\n // This will remove any duplicated frames from the error frames taken\n // from within `ifError` and add the original error frames to the newly\n // created ones.\n var tmp2 = origStack.split('\\n');\n tmp2.shift(); // Filter all frames existing in err.stack.\n\n var tmp1 = newErr.stack.split('\\n');\n\n for (var i = 0; i < tmp2.length; i++) {\n // Find the first occurrence of the frame.\n var pos = tmp1.indexOf(tmp2[i]);\n\n if (pos !== -1) {\n // Only keep new frames.\n tmp1 = tmp1.slice(0, pos);\n break;\n }\n }\n\n newErr.stack = \"\".concat(tmp1.join('\\n'), \"\\n\").concat(tmp2.join('\\n'));\n }\n\n throw newErr;\n }\n}; // Expose a strict only variant of assert\n\n\nfunction strict() {\n for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {\n args[_key6] = arguments[_key6];\n }\n\n innerOk.apply(void 0, [strict, args.length].concat(args));\n}\n\nassert.strict = objectAssign(strict, assert, {\n equal: assert.strictEqual,\n deepEqual: assert.deepStrictEqual,\n notEqual: assert.notStrictEqual,\n notDeepEqual: assert.notDeepStrictEqual\n});\nassert.strict.strict = assert.strict;\n\n//# sourceURL=webpack://dcp/./node_modules/assert/build/assert.js?"); + +/***/ }), + +/***/ "./node_modules/assert/build/internal/assert/assertion_error.js": +/*!**********************************************************************!*\ + !*** ./node_modules/assert/build/internal/assert/assertion_error.js ***! + \**********************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("/* provided dependency */ var process = __webpack_require__(/*! ./node_modules/process/browser.js */ \"./node_modules/process/browser.js\");\n// Currently in sync with Node.js lib/internal/assert/assertion_error.js\n// https://github.com/nodejs/node/commit/0817840f775032169ddd70c85ac059f18ffcc81c\n\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _wrapNativeSuper(Class) { var _cache = typeof Map === \"function\" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== \"function\") { throw new TypeError(\"Super expression must either be null or a function\"); } if (typeof _cache !== \"undefined\") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }\n\nfunction isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _construct(Parent, args, Class) { if (isNativeReflectConstruct()) { _construct = Reflect.construct; } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }\n\nfunction _isNativeFunction(fn) { return Function.toString.call(fn).indexOf(\"[native code]\") !== -1; }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar _require = __webpack_require__(/*! util/ */ \"./node_modules/util/util.js\"),\n inspect = _require.inspect;\n\nvar _require2 = __webpack_require__(/*! ../errors */ \"./node_modules/assert/build/internal/errors.js\"),\n ERR_INVALID_ARG_TYPE = _require2.codes.ERR_INVALID_ARG_TYPE; // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith\n\n\nfunction endsWith(str, search, this_len) {\n if (this_len === undefined || this_len > str.length) {\n this_len = str.length;\n }\n\n return str.substring(this_len - search.length, this_len) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/repeat\n\n\nfunction repeat(str, count) {\n count = Math.floor(count);\n if (str.length == 0 || count == 0) return '';\n var maxCount = str.length * count;\n count = Math.floor(Math.log(count) / Math.log(2));\n\n while (count) {\n str += str;\n count--;\n }\n\n str += str.substring(0, maxCount - str.length);\n return str;\n}\n\nvar blue = '';\nvar green = '';\nvar red = '';\nvar white = '';\nvar kReadableOperator = {\n deepStrictEqual: 'Expected values to be strictly deep-equal:',\n strictEqual: 'Expected values to be strictly equal:',\n strictEqualObject: 'Expected \"actual\" to be reference-equal to \"expected\":',\n deepEqual: 'Expected values to be loosely deep-equal:',\n equal: 'Expected values to be loosely equal:',\n notDeepStrictEqual: 'Expected \"actual\" not to be strictly deep-equal to:',\n notStrictEqual: 'Expected \"actual\" to be strictly unequal to:',\n notStrictEqualObject: 'Expected \"actual\" not to be reference-equal to \"expected\":',\n notDeepEqual: 'Expected \"actual\" not to be loosely deep-equal to:',\n notEqual: 'Expected \"actual\" to be loosely unequal to:',\n notIdentical: 'Values identical but not reference-equal:'\n}; // Comparing short primitives should just show === / !== instead of using the\n// diff.\n\nvar kMaxShortLength = 10;\n\nfunction copyError(source) {\n var keys = Object.keys(source);\n var target = Object.create(Object.getPrototypeOf(source));\n keys.forEach(function (key) {\n target[key] = source[key];\n });\n Object.defineProperty(target, 'message', {\n value: source.message\n });\n return target;\n}\n\nfunction inspectValue(val) {\n // The util.inspect default values could be changed. This makes sure the\n // error messages contain the necessary information nevertheless.\n return inspect(val, {\n compact: false,\n customInspect: false,\n depth: 1000,\n maxArrayLength: Infinity,\n // Assert compares only enumerable properties (with a few exceptions).\n showHidden: false,\n // Having a long line as error is better than wrapping the line for\n // comparison for now.\n // TODO(BridgeAR): `breakLength` should be limited as soon as soon as we\n // have meta information about the inspected properties (i.e., know where\n // in what line the property starts and ends).\n breakLength: Infinity,\n // Assert does not detect proxies currently.\n showProxy: false,\n sorted: true,\n // Inspect getters as we also check them when comparing entries.\n getters: true\n });\n}\n\nfunction createErrDiff(actual, expected, operator) {\n var other = '';\n var res = '';\n var lastPos = 0;\n var end = '';\n var skipped = false;\n var actualInspected = inspectValue(actual);\n var actualLines = actualInspected.split('\\n');\n var expectedLines = inspectValue(expected).split('\\n');\n var i = 0;\n var indicator = ''; // In case both values are objects explicitly mark them as not reference equal\n // for the `strictEqual` operator.\n\n if (operator === 'strictEqual' && _typeof(actual) === 'object' && _typeof(expected) === 'object' && actual !== null && expected !== null) {\n operator = 'strictEqualObject';\n } // If \"actual\" and \"expected\" fit on a single line and they are not strictly\n // equal, check further special handling.\n\n\n if (actualLines.length === 1 && expectedLines.length === 1 && actualLines[0] !== expectedLines[0]) {\n var inputLength = actualLines[0].length + expectedLines[0].length; // If the character length of \"actual\" and \"expected\" together is less than\n // kMaxShortLength and if neither is an object and at least one of them is\n // not `zero`, use the strict equal comparison to visualize the output.\n\n if (inputLength <= kMaxShortLength) {\n if ((_typeof(actual) !== 'object' || actual === null) && (_typeof(expected) !== 'object' || expected === null) && (actual !== 0 || expected !== 0)) {\n // -0 === +0\n return \"\".concat(kReadableOperator[operator], \"\\n\\n\") + \"\".concat(actualLines[0], \" !== \").concat(expectedLines[0], \"\\n\");\n }\n } else if (operator !== 'strictEqualObject') {\n // If the stderr is a tty and the input length is lower than the current\n // columns per line, add a mismatch indicator below the output. If it is\n // not a tty, use a default value of 80 characters.\n var maxLength = process.stderr && process.stderr.isTTY ? process.stderr.columns : 80;\n\n if (inputLength < maxLength) {\n while (actualLines[0][i] === expectedLines[0][i]) {\n i++;\n } // Ignore the first characters.\n\n\n if (i > 2) {\n // Add position indicator for the first mismatch in case it is a\n // single line and the input length is less than the column length.\n indicator = \"\\n \".concat(repeat(' ', i), \"^\");\n i = 0;\n }\n }\n }\n } // Remove all ending lines that match (this optimizes the output for\n // readability by reducing the number of total changed lines).\n\n\n var a = actualLines[actualLines.length - 1];\n var b = expectedLines[expectedLines.length - 1];\n\n while (a === b) {\n if (i++ < 2) {\n end = \"\\n \".concat(a).concat(end);\n } else {\n other = a;\n }\n\n actualLines.pop();\n expectedLines.pop();\n if (actualLines.length === 0 || expectedLines.length === 0) break;\n a = actualLines[actualLines.length - 1];\n b = expectedLines[expectedLines.length - 1];\n }\n\n var maxLines = Math.max(actualLines.length, expectedLines.length); // Strict equal with identical objects that are not identical by reference.\n // E.g., assert.deepStrictEqual({ a: Symbol() }, { a: Symbol() })\n\n if (maxLines === 0) {\n // We have to get the result again. The lines were all removed before.\n var _actualLines = actualInspected.split('\\n'); // Only remove lines in case it makes sense to collapse those.\n // TODO: Accept env to always show the full error.\n\n\n if (_actualLines.length > 30) {\n _actualLines[26] = \"\".concat(blue, \"...\").concat(white);\n\n while (_actualLines.length > 27) {\n _actualLines.pop();\n }\n }\n\n return \"\".concat(kReadableOperator.notIdentical, \"\\n\\n\").concat(_actualLines.join('\\n'), \"\\n\");\n }\n\n if (i > 3) {\n end = \"\\n\".concat(blue, \"...\").concat(white).concat(end);\n skipped = true;\n }\n\n if (other !== '') {\n end = \"\\n \".concat(other).concat(end);\n other = '';\n }\n\n var printedLines = 0;\n var msg = kReadableOperator[operator] + \"\\n\".concat(green, \"+ actual\").concat(white, \" \").concat(red, \"- expected\").concat(white);\n var skippedMsg = \" \".concat(blue, \"...\").concat(white, \" Lines skipped\");\n\n for (i = 0; i < maxLines; i++) {\n // Only extra expected lines exist\n var cur = i - lastPos;\n\n if (actualLines.length < i + 1) {\n // If the last diverging line is more than one line above and the\n // current line is at least line three, add some of the former lines and\n // also add dots to indicate skipped entries.\n if (cur > 1 && i > 2) {\n if (cur > 4) {\n res += \"\\n\".concat(blue, \"...\").concat(white);\n skipped = true;\n } else if (cur > 3) {\n res += \"\\n \".concat(expectedLines[i - 2]);\n printedLines++;\n }\n\n res += \"\\n \".concat(expectedLines[i - 1]);\n printedLines++;\n } // Mark the current line as the last diverging one.\n\n\n lastPos = i; // Add the expected line to the cache.\n\n other += \"\\n\".concat(red, \"-\").concat(white, \" \").concat(expectedLines[i]);\n printedLines++; // Only extra actual lines exist\n } else if (expectedLines.length < i + 1) {\n // If the last diverging line is more than one line above and the\n // current line is at least line three, add some of the former lines and\n // also add dots to indicate skipped entries.\n if (cur > 1 && i > 2) {\n if (cur > 4) {\n res += \"\\n\".concat(blue, \"...\").concat(white);\n skipped = true;\n } else if (cur > 3) {\n res += \"\\n \".concat(actualLines[i - 2]);\n printedLines++;\n }\n\n res += \"\\n \".concat(actualLines[i - 1]);\n printedLines++;\n } // Mark the current line as the last diverging one.\n\n\n lastPos = i; // Add the actual line to the result.\n\n res += \"\\n\".concat(green, \"+\").concat(white, \" \").concat(actualLines[i]);\n printedLines++; // Lines diverge\n } else {\n var expectedLine = expectedLines[i];\n var actualLine = actualLines[i]; // If the lines diverge, specifically check for lines that only diverge by\n // a trailing comma. In that case it is actually identical and we should\n // mark it as such.\n\n var divergingLines = actualLine !== expectedLine && (!endsWith(actualLine, ',') || actualLine.slice(0, -1) !== expectedLine); // If the expected line has a trailing comma but is otherwise identical,\n // add a comma at the end of the actual line. Otherwise the output could\n // look weird as in:\n //\n // [\n // 1 // No comma at the end!\n // + 2\n // ]\n //\n\n if (divergingLines && endsWith(expectedLine, ',') && expectedLine.slice(0, -1) === actualLine) {\n divergingLines = false;\n actualLine += ',';\n }\n\n if (divergingLines) {\n // If the last diverging line is more than one line above and the\n // current line is at least line three, add some of the former lines and\n // also add dots to indicate skipped entries.\n if (cur > 1 && i > 2) {\n if (cur > 4) {\n res += \"\\n\".concat(blue, \"...\").concat(white);\n skipped = true;\n } else if (cur > 3) {\n res += \"\\n \".concat(actualLines[i - 2]);\n printedLines++;\n }\n\n res += \"\\n \".concat(actualLines[i - 1]);\n printedLines++;\n } // Mark the current line as the last diverging one.\n\n\n lastPos = i; // Add the actual line to the result and cache the expected diverging\n // line so consecutive diverging lines show up as +++--- and not +-+-+-.\n\n res += \"\\n\".concat(green, \"+\").concat(white, \" \").concat(actualLine);\n other += \"\\n\".concat(red, \"-\").concat(white, \" \").concat(expectedLine);\n printedLines += 2; // Lines are identical\n } else {\n // Add all cached information to the result before adding other things\n // and reset the cache.\n res += other;\n other = ''; // If the last diverging line is exactly one line above or if it is the\n // very first line, add the line to the result.\n\n if (cur === 1 || i === 0) {\n res += \"\\n \".concat(actualLine);\n printedLines++;\n }\n }\n } // Inspected object to big (Show ~20 rows max)\n\n\n if (printedLines > 20 && i < maxLines - 2) {\n return \"\".concat(msg).concat(skippedMsg, \"\\n\").concat(res, \"\\n\").concat(blue, \"...\").concat(white).concat(other, \"\\n\") + \"\".concat(blue, \"...\").concat(white);\n }\n }\n\n return \"\".concat(msg).concat(skipped ? skippedMsg : '', \"\\n\").concat(res).concat(other).concat(end).concat(indicator);\n}\n\nvar AssertionError =\n/*#__PURE__*/\nfunction (_Error) {\n _inherits(AssertionError, _Error);\n\n function AssertionError(options) {\n var _this;\n\n _classCallCheck(this, AssertionError);\n\n if (_typeof(options) !== 'object' || options === null) {\n throw new ERR_INVALID_ARG_TYPE('options', 'Object', options);\n }\n\n var message = options.message,\n operator = options.operator,\n stackStartFn = options.stackStartFn;\n var actual = options.actual,\n expected = options.expected;\n var limit = Error.stackTraceLimit;\n Error.stackTraceLimit = 0;\n\n if (message != null) {\n _this = _possibleConstructorReturn(this, _getPrototypeOf(AssertionError).call(this, String(message)));\n } else {\n if (process.stderr && process.stderr.isTTY) {\n // Reset on each call to make sure we handle dynamically set environment\n // variables correct.\n if (process.stderr && process.stderr.getColorDepth && process.stderr.getColorDepth() !== 1) {\n blue = \"\\x1B[34m\";\n green = \"\\x1B[32m\";\n white = \"\\x1B[39m\";\n red = \"\\x1B[31m\";\n } else {\n blue = '';\n green = '';\n white = '';\n red = '';\n }\n } // Prevent the error stack from being visible by duplicating the error\n // in a very close way to the original in case both sides are actually\n // instances of Error.\n\n\n if (_typeof(actual) === 'object' && actual !== null && _typeof(expected) === 'object' && expected !== null && 'stack' in actual && actual instanceof Error && 'stack' in expected && expected instanceof Error) {\n actual = copyError(actual);\n expected = copyError(expected);\n }\n\n if (operator === 'deepStrictEqual' || operator === 'strictEqual') {\n _this = _possibleConstructorReturn(this, _getPrototypeOf(AssertionError).call(this, createErrDiff(actual, expected, operator)));\n } else if (operator === 'notDeepStrictEqual' || operator === 'notStrictEqual') {\n // In case the objects are equal but the operator requires unequal, show\n // the first object and say A equals B\n var base = kReadableOperator[operator];\n var res = inspectValue(actual).split('\\n'); // In case \"actual\" is an object, it should not be reference equal.\n\n if (operator === 'notStrictEqual' && _typeof(actual) === 'object' && actual !== null) {\n base = kReadableOperator.notStrictEqualObject;\n } // Only remove lines in case it makes sense to collapse those.\n // TODO: Accept env to always show the full error.\n\n\n if (res.length > 30) {\n res[26] = \"\".concat(blue, \"...\").concat(white);\n\n while (res.length > 27) {\n res.pop();\n }\n } // Only print a single input.\n\n\n if (res.length === 1) {\n _this = _possibleConstructorReturn(this, _getPrototypeOf(AssertionError).call(this, \"\".concat(base, \" \").concat(res[0])));\n } else {\n _this = _possibleConstructorReturn(this, _getPrototypeOf(AssertionError).call(this, \"\".concat(base, \"\\n\\n\").concat(res.join('\\n'), \"\\n\")));\n }\n } else {\n var _res = inspectValue(actual);\n\n var other = '';\n var knownOperators = kReadableOperator[operator];\n\n if (operator === 'notDeepEqual' || operator === 'notEqual') {\n _res = \"\".concat(kReadableOperator[operator], \"\\n\\n\").concat(_res);\n\n if (_res.length > 1024) {\n _res = \"\".concat(_res.slice(0, 1021), \"...\");\n }\n } else {\n other = \"\".concat(inspectValue(expected));\n\n if (_res.length > 512) {\n _res = \"\".concat(_res.slice(0, 509), \"...\");\n }\n\n if (other.length > 512) {\n other = \"\".concat(other.slice(0, 509), \"...\");\n }\n\n if (operator === 'deepEqual' || operator === 'equal') {\n _res = \"\".concat(knownOperators, \"\\n\\n\").concat(_res, \"\\n\\nshould equal\\n\\n\");\n } else {\n other = \" \".concat(operator, \" \").concat(other);\n }\n }\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(AssertionError).call(this, \"\".concat(_res).concat(other)));\n }\n }\n\n Error.stackTraceLimit = limit;\n _this.generatedMessage = !message;\n Object.defineProperty(_assertThisInitialized(_this), 'name', {\n value: 'AssertionError [ERR_ASSERTION]',\n enumerable: false,\n writable: true,\n configurable: true\n });\n _this.code = 'ERR_ASSERTION';\n _this.actual = actual;\n _this.expected = expected;\n _this.operator = operator;\n\n if (Error.captureStackTrace) {\n // eslint-disable-next-line no-restricted-syntax\n Error.captureStackTrace(_assertThisInitialized(_this), stackStartFn);\n } // Create error message including the error code in the name.\n\n\n _this.stack; // Reset the name.\n\n _this.name = 'AssertionError';\n return _possibleConstructorReturn(_this);\n }\n\n _createClass(AssertionError, [{\n key: \"toString\",\n value: function toString() {\n return \"\".concat(this.name, \" [\").concat(this.code, \"]: \").concat(this.message);\n }\n }, {\n key: inspect.custom,\n value: function value(recurseTimes, ctx) {\n // This limits the `actual` and `expected` property default inspection to\n // the minimum depth. Otherwise those values would be too verbose compared\n // to the actual error message which contains a combined view of these two\n // input values.\n return inspect(this, _objectSpread({}, ctx, {\n customInspect: false,\n depth: 0\n }));\n }\n }]);\n\n return AssertionError;\n}(_wrapNativeSuper(Error));\n\nmodule.exports = AssertionError;\n\n//# sourceURL=webpack://dcp/./node_modules/assert/build/internal/assert/assertion_error.js?"); + +/***/ }), + +/***/ "./node_modules/assert/build/internal/errors.js": +/*!******************************************************!*\ + !*** ./node_modules/assert/build/internal/errors.js ***! + \******************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("// Currently in sync with Node.js lib/internal/errors.js\n// https://github.com/nodejs/node/commit/3b044962c48fe313905877a96b5d0894a5404f6f\n\n/* eslint node-core/documented-errors: \"error\" */\n\n/* eslint node-core/alphabetize-errors: \"error\" */\n\n/* eslint node-core/prefer-util-format-errors: \"error\" */\n // The whole point behind this internal module is to allow Node.js to no\n// longer be forced to treat every error message change as a semver-major\n// change. The NodeError classes here all expose a `code` property whose\n// value statically and permanently identifies the error. While the error\n// message may change, the code should not.\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nvar codes = {}; // Lazy loaded\n\nvar assert;\nvar util;\n\nfunction createErrorType(code, message, Base) {\n if (!Base) {\n Base = Error;\n }\n\n function getMessage(arg1, arg2, arg3) {\n if (typeof message === 'string') {\n return message;\n } else {\n return message(arg1, arg2, arg3);\n }\n }\n\n var NodeError =\n /*#__PURE__*/\n function (_Base) {\n _inherits(NodeError, _Base);\n\n function NodeError(arg1, arg2, arg3) {\n var _this;\n\n _classCallCheck(this, NodeError);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(NodeError).call(this, getMessage(arg1, arg2, arg3)));\n _this.code = code;\n return _this;\n }\n\n return NodeError;\n }(Base);\n\n codes[code] = NodeError;\n} // https://github.com/nodejs/node/blob/v10.8.0/lib/internal/errors.js\n\n\nfunction oneOf(expected, thing) {\n if (Array.isArray(expected)) {\n var len = expected.length;\n expected = expected.map(function (i) {\n return String(i);\n });\n\n if (len > 2) {\n return \"one of \".concat(thing, \" \").concat(expected.slice(0, len - 1).join(', '), \", or \") + expected[len - 1];\n } else if (len === 2) {\n return \"one of \".concat(thing, \" \").concat(expected[0], \" or \").concat(expected[1]);\n } else {\n return \"of \".concat(thing, \" \").concat(expected[0]);\n }\n } else {\n return \"of \".concat(thing, \" \").concat(String(expected));\n }\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith\n\n\nfunction startsWith(str, search, pos) {\n return str.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith\n\n\nfunction endsWith(str, search, this_len) {\n if (this_len === undefined || this_len > str.length) {\n this_len = str.length;\n }\n\n return str.substring(this_len - search.length, this_len) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes\n\n\nfunction includes(str, search, start) {\n if (typeof start !== 'number') {\n start = 0;\n }\n\n if (start + search.length > str.length) {\n return false;\n } else {\n return str.indexOf(search, start) !== -1;\n }\n}\n\ncreateErrorType('ERR_AMBIGUOUS_ARGUMENT', 'The \"%s\" argument is ambiguous. %s', TypeError);\ncreateErrorType('ERR_INVALID_ARG_TYPE', function (name, expected, actual) {\n if (assert === undefined) assert = __webpack_require__(/*! ../assert */ \"./node_modules/assert/build/assert.js\");\n assert(typeof name === 'string', \"'name' must be a string\"); // determiner: 'must be' or 'must not be'\n\n var determiner;\n\n if (typeof expected === 'string' && startsWith(expected, 'not ')) {\n determiner = 'must not be';\n expected = expected.replace(/^not /, '');\n } else {\n determiner = 'must be';\n }\n\n var msg;\n\n if (endsWith(name, ' argument')) {\n // For cases like 'first argument'\n msg = \"The \".concat(name, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n } else {\n var type = includes(name, '.') ? 'property' : 'argument';\n msg = \"The \\\"\".concat(name, \"\\\" \").concat(type, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n } // TODO(BridgeAR): Improve the output by showing `null` and similar.\n\n\n msg += \". Received type \".concat(_typeof(actual));\n return msg;\n}, TypeError);\ncreateErrorType('ERR_INVALID_ARG_VALUE', function (name, value) {\n var reason = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'is invalid';\n if (util === undefined) util = __webpack_require__(/*! util/ */ \"./node_modules/util/util.js\");\n var inspected = util.inspect(value);\n\n if (inspected.length > 128) {\n inspected = \"\".concat(inspected.slice(0, 128), \"...\");\n }\n\n return \"The argument '\".concat(name, \"' \").concat(reason, \". Received \").concat(inspected);\n}, TypeError, RangeError);\ncreateErrorType('ERR_INVALID_RETURN_VALUE', function (input, name, value) {\n var type;\n\n if (value && value.constructor && value.constructor.name) {\n type = \"instance of \".concat(value.constructor.name);\n } else {\n type = \"type \".concat(_typeof(value));\n }\n\n return \"Expected \".concat(input, \" to be returned from the \\\"\").concat(name, \"\\\"\") + \" function but got \".concat(type, \".\");\n}, TypeError);\ncreateErrorType('ERR_MISSING_ARGS', function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (assert === undefined) assert = __webpack_require__(/*! ../assert */ \"./node_modules/assert/build/assert.js\");\n assert(args.length > 0, 'At least one arg needs to be specified');\n var msg = 'The ';\n var len = args.length;\n args = args.map(function (a) {\n return \"\\\"\".concat(a, \"\\\"\");\n });\n\n switch (len) {\n case 1:\n msg += \"\".concat(args[0], \" argument\");\n break;\n\n case 2:\n msg += \"\".concat(args[0], \" and \").concat(args[1], \" arguments\");\n break;\n\n default:\n msg += args.slice(0, len - 1).join(', ');\n msg += \", and \".concat(args[len - 1], \" arguments\");\n break;\n }\n\n return \"\".concat(msg, \" must be specified\");\n}, TypeError);\nmodule.exports.codes = codes;\n\n//# sourceURL=webpack://dcp/./node_modules/assert/build/internal/errors.js?"); + +/***/ }), + +/***/ "./node_modules/assert/build/internal/util/comparisons.js": +/*!****************************************************************!*\ + !*** ./node_modules/assert/build/internal/util/comparisons.js ***! + \****************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("// Currently in sync with Node.js lib/internal/util/comparisons.js\n// https://github.com/nodejs/node/commit/112cc7c27551254aa2b17098fb774867f05ed0d9\n\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar regexFlagsSupported = /a/g.flags !== undefined;\n\nvar arrayFromSet = function arrayFromSet(set) {\n var array = [];\n set.forEach(function (value) {\n return array.push(value);\n });\n return array;\n};\n\nvar arrayFromMap = function arrayFromMap(map) {\n var array = [];\n map.forEach(function (value, key) {\n return array.push([key, value]);\n });\n return array;\n};\n\nvar objectIs = Object.is ? Object.is : __webpack_require__(/*! object-is */ \"./node_modules/object-is/index.js\");\nvar objectGetOwnPropertySymbols = Object.getOwnPropertySymbols ? Object.getOwnPropertySymbols : function () {\n return [];\n};\nvar numberIsNaN = Number.isNaN ? Number.isNaN : __webpack_require__(/*! is-nan */ \"./node_modules/is-nan/index.js\");\n\nfunction uncurryThis(f) {\n return f.call.bind(f);\n}\n\nvar hasOwnProperty = uncurryThis(Object.prototype.hasOwnProperty);\nvar propertyIsEnumerable = uncurryThis(Object.prototype.propertyIsEnumerable);\nvar objectToString = uncurryThis(Object.prototype.toString);\n\nvar _require$types = (__webpack_require__(/*! util/ */ \"./node_modules/util/util.js\").types),\n isAnyArrayBuffer = _require$types.isAnyArrayBuffer,\n isArrayBufferView = _require$types.isArrayBufferView,\n isDate = _require$types.isDate,\n isMap = _require$types.isMap,\n isRegExp = _require$types.isRegExp,\n isSet = _require$types.isSet,\n isNativeError = _require$types.isNativeError,\n isBoxedPrimitive = _require$types.isBoxedPrimitive,\n isNumberObject = _require$types.isNumberObject,\n isStringObject = _require$types.isStringObject,\n isBooleanObject = _require$types.isBooleanObject,\n isBigIntObject = _require$types.isBigIntObject,\n isSymbolObject = _require$types.isSymbolObject,\n isFloat32Array = _require$types.isFloat32Array,\n isFloat64Array = _require$types.isFloat64Array;\n\nfunction isNonIndex(key) {\n if (key.length === 0 || key.length > 10) return true;\n\n for (var i = 0; i < key.length; i++) {\n var code = key.charCodeAt(i);\n if (code < 48 || code > 57) return true;\n } // The maximum size for an array is 2 ** 32 -1.\n\n\n return key.length === 10 && key >= Math.pow(2, 32);\n}\n\nfunction getOwnNonIndexProperties(value) {\n return Object.keys(value).filter(isNonIndex).concat(objectGetOwnPropertySymbols(value).filter(Object.prototype.propertyIsEnumerable.bind(value)));\n} // Taken from https://github.com/feross/buffer/blob/680e9e5e488f22aac27599a57dc844a6315928dd/index.js\n// original notice:\n\n/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n\n\nfunction compare(a, b) {\n if (a === b) {\n return 0;\n }\n\n var x = a.length;\n var y = b.length;\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i];\n y = b[i];\n break;\n }\n }\n\n if (x < y) {\n return -1;\n }\n\n if (y < x) {\n return 1;\n }\n\n return 0;\n}\n\nvar ONLY_ENUMERABLE = undefined;\nvar kStrict = true;\nvar kLoose = false;\nvar kNoIterator = 0;\nvar kIsArray = 1;\nvar kIsSet = 2;\nvar kIsMap = 3; // Check if they have the same source and flags\n\nfunction areSimilarRegExps(a, b) {\n return regexFlagsSupported ? a.source === b.source && a.flags === b.flags : RegExp.prototype.toString.call(a) === RegExp.prototype.toString.call(b);\n}\n\nfunction areSimilarFloatArrays(a, b) {\n if (a.byteLength !== b.byteLength) {\n return false;\n }\n\n for (var offset = 0; offset < a.byteLength; offset++) {\n if (a[offset] !== b[offset]) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction areSimilarTypedArrays(a, b) {\n if (a.byteLength !== b.byteLength) {\n return false;\n }\n\n return compare(new Uint8Array(a.buffer, a.byteOffset, a.byteLength), new Uint8Array(b.buffer, b.byteOffset, b.byteLength)) === 0;\n}\n\nfunction areEqualArrayBuffers(buf1, buf2) {\n return buf1.byteLength === buf2.byteLength && compare(new Uint8Array(buf1), new Uint8Array(buf2)) === 0;\n}\n\nfunction isEqualBoxedPrimitive(val1, val2) {\n if (isNumberObject(val1)) {\n return isNumberObject(val2) && objectIs(Number.prototype.valueOf.call(val1), Number.prototype.valueOf.call(val2));\n }\n\n if (isStringObject(val1)) {\n return isStringObject(val2) && String.prototype.valueOf.call(val1) === String.prototype.valueOf.call(val2);\n }\n\n if (isBooleanObject(val1)) {\n return isBooleanObject(val2) && Boolean.prototype.valueOf.call(val1) === Boolean.prototype.valueOf.call(val2);\n }\n\n if (isBigIntObject(val1)) {\n return isBigIntObject(val2) && BigInt.prototype.valueOf.call(val1) === BigInt.prototype.valueOf.call(val2);\n }\n\n return isSymbolObject(val2) && Symbol.prototype.valueOf.call(val1) === Symbol.prototype.valueOf.call(val2);\n} // Notes: Type tags are historical [[Class]] properties that can be set by\n// FunctionTemplate::SetClassName() in C++ or Symbol.toStringTag in JS\n// and retrieved using Object.prototype.toString.call(obj) in JS\n// See https://tc39.github.io/ecma262/#sec-object.prototype.tostring\n// for a list of tags pre-defined in the spec.\n// There are some unspecified tags in the wild too (e.g. typed array tags).\n// Since tags can be altered, they only serve fast failures\n//\n// Typed arrays and buffers are checked by comparing the content in their\n// underlying ArrayBuffer. This optimization requires that it's\n// reasonable to interpret their underlying memory in the same way,\n// which is checked by comparing their type tags.\n// (e.g. a Uint8Array and a Uint16Array with the same memory content\n// could still be different because they will be interpreted differently).\n//\n// For strict comparison, objects should have\n// a) The same built-in type tags\n// b) The same prototypes.\n\n\nfunction innerDeepEqual(val1, val2, strict, memos) {\n // All identical values are equivalent, as determined by ===.\n if (val1 === val2) {\n if (val1 !== 0) return true;\n return strict ? objectIs(val1, val2) : true;\n } // Check more closely if val1 and val2 are equal.\n\n\n if (strict) {\n if (_typeof(val1) !== 'object') {\n return typeof val1 === 'number' && numberIsNaN(val1) && numberIsNaN(val2);\n }\n\n if (_typeof(val2) !== 'object' || val1 === null || val2 === null) {\n return false;\n }\n\n if (Object.getPrototypeOf(val1) !== Object.getPrototypeOf(val2)) {\n return false;\n }\n } else {\n if (val1 === null || _typeof(val1) !== 'object') {\n if (val2 === null || _typeof(val2) !== 'object') {\n // eslint-disable-next-line eqeqeq\n return val1 == val2;\n }\n\n return false;\n }\n\n if (val2 === null || _typeof(val2) !== 'object') {\n return false;\n }\n }\n\n var val1Tag = objectToString(val1);\n var val2Tag = objectToString(val2);\n\n if (val1Tag !== val2Tag) {\n return false;\n }\n\n if (Array.isArray(val1)) {\n // Check for sparse arrays and general fast path\n if (val1.length !== val2.length) {\n return false;\n }\n\n var keys1 = getOwnNonIndexProperties(val1, ONLY_ENUMERABLE);\n var keys2 = getOwnNonIndexProperties(val2, ONLY_ENUMERABLE);\n\n if (keys1.length !== keys2.length) {\n return false;\n }\n\n return keyCheck(val1, val2, strict, memos, kIsArray, keys1);\n } // [browserify] This triggers on certain types in IE (Map/Set) so we don't\n // wan't to early return out of the rest of the checks. However we can check\n // if the second value is one of these values and the first isn't.\n\n\n if (val1Tag === '[object Object]') {\n // return keyCheck(val1, val2, strict, memos, kNoIterator);\n if (!isMap(val1) && isMap(val2) || !isSet(val1) && isSet(val2)) {\n return false;\n }\n }\n\n if (isDate(val1)) {\n if (!isDate(val2) || Date.prototype.getTime.call(val1) !== Date.prototype.getTime.call(val2)) {\n return false;\n }\n } else if (isRegExp(val1)) {\n if (!isRegExp(val2) || !areSimilarRegExps(val1, val2)) {\n return false;\n }\n } else if (isNativeError(val1) || val1 instanceof Error) {\n // Do not compare the stack as it might differ even though the error itself\n // is otherwise identical.\n if (val1.message !== val2.message || val1.name !== val2.name) {\n return false;\n }\n } else if (isArrayBufferView(val1)) {\n if (!strict && (isFloat32Array(val1) || isFloat64Array(val1))) {\n if (!areSimilarFloatArrays(val1, val2)) {\n return false;\n }\n } else if (!areSimilarTypedArrays(val1, val2)) {\n return false;\n } // Buffer.compare returns true, so val1.length === val2.length. If they both\n // only contain numeric keys, we don't need to exam further than checking\n // the symbols.\n\n\n var _keys = getOwnNonIndexProperties(val1, ONLY_ENUMERABLE);\n\n var _keys2 = getOwnNonIndexProperties(val2, ONLY_ENUMERABLE);\n\n if (_keys.length !== _keys2.length) {\n return false;\n }\n\n return keyCheck(val1, val2, strict, memos, kNoIterator, _keys);\n } else if (isSet(val1)) {\n if (!isSet(val2) || val1.size !== val2.size) {\n return false;\n }\n\n return keyCheck(val1, val2, strict, memos, kIsSet);\n } else if (isMap(val1)) {\n if (!isMap(val2) || val1.size !== val2.size) {\n return false;\n }\n\n return keyCheck(val1, val2, strict, memos, kIsMap);\n } else if (isAnyArrayBuffer(val1)) {\n if (!areEqualArrayBuffers(val1, val2)) {\n return false;\n }\n } else if (isBoxedPrimitive(val1) && !isEqualBoxedPrimitive(val1, val2)) {\n return false;\n }\n\n return keyCheck(val1, val2, strict, memos, kNoIterator);\n}\n\nfunction getEnumerables(val, keys) {\n return keys.filter(function (k) {\n return propertyIsEnumerable(val, k);\n });\n}\n\nfunction keyCheck(val1, val2, strict, memos, iterationType, aKeys) {\n // For all remaining Object pairs, including Array, objects and Maps,\n // equivalence is determined by having:\n // a) The same number of owned enumerable properties\n // b) The same set of keys/indexes (although not necessarily the same order)\n // c) Equivalent values for every corresponding key/index\n // d) For Sets and Maps, equal contents\n // Note: this accounts for both named and indexed properties on Arrays.\n if (arguments.length === 5) {\n aKeys = Object.keys(val1);\n var bKeys = Object.keys(val2); // The pair must have the same number of owned properties.\n\n if (aKeys.length !== bKeys.length) {\n return false;\n }\n } // Cheap key test\n\n\n var i = 0;\n\n for (; i < aKeys.length; i++) {\n if (!hasOwnProperty(val2, aKeys[i])) {\n return false;\n }\n }\n\n if (strict && arguments.length === 5) {\n var symbolKeysA = objectGetOwnPropertySymbols(val1);\n\n if (symbolKeysA.length !== 0) {\n var count = 0;\n\n for (i = 0; i < symbolKeysA.length; i++) {\n var key = symbolKeysA[i];\n\n if (propertyIsEnumerable(val1, key)) {\n if (!propertyIsEnumerable(val2, key)) {\n return false;\n }\n\n aKeys.push(key);\n count++;\n } else if (propertyIsEnumerable(val2, key)) {\n return false;\n }\n }\n\n var symbolKeysB = objectGetOwnPropertySymbols(val2);\n\n if (symbolKeysA.length !== symbolKeysB.length && getEnumerables(val2, symbolKeysB).length !== count) {\n return false;\n }\n } else {\n var _symbolKeysB = objectGetOwnPropertySymbols(val2);\n\n if (_symbolKeysB.length !== 0 && getEnumerables(val2, _symbolKeysB).length !== 0) {\n return false;\n }\n }\n }\n\n if (aKeys.length === 0 && (iterationType === kNoIterator || iterationType === kIsArray && val1.length === 0 || val1.size === 0)) {\n return true;\n } // Use memos to handle cycles.\n\n\n if (memos === undefined) {\n memos = {\n val1: new Map(),\n val2: new Map(),\n position: 0\n };\n } else {\n // We prevent up to two map.has(x) calls by directly retrieving the value\n // and checking for undefined. The map can only contain numbers, so it is\n // safe to check for undefined only.\n var val2MemoA = memos.val1.get(val1);\n\n if (val2MemoA !== undefined) {\n var val2MemoB = memos.val2.get(val2);\n\n if (val2MemoB !== undefined) {\n return val2MemoA === val2MemoB;\n }\n }\n\n memos.position++;\n }\n\n memos.val1.set(val1, memos.position);\n memos.val2.set(val2, memos.position);\n var areEq = objEquiv(val1, val2, strict, aKeys, memos, iterationType);\n memos.val1.delete(val1);\n memos.val2.delete(val2);\n return areEq;\n}\n\nfunction setHasEqualElement(set, val1, strict, memo) {\n // Go looking.\n var setValues = arrayFromSet(set);\n\n for (var i = 0; i < setValues.length; i++) {\n var val2 = setValues[i];\n\n if (innerDeepEqual(val1, val2, strict, memo)) {\n // Remove the matching element to make sure we do not check that again.\n set.delete(val2);\n return true;\n }\n }\n\n return false;\n} // See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Equality_comparisons_and_sameness#Loose_equality_using\n// Sadly it is not possible to detect corresponding values properly in case the\n// type is a string, number, bigint or boolean. The reason is that those values\n// can match lots of different string values (e.g., 1n == '+00001').\n\n\nfunction findLooseMatchingPrimitives(prim) {\n switch (_typeof(prim)) {\n case 'undefined':\n return null;\n\n case 'object':\n // Only pass in null as object!\n return undefined;\n\n case 'symbol':\n return false;\n\n case 'string':\n prim = +prim;\n // Loose equal entries exist only if the string is possible to convert to\n // a regular number and not NaN.\n // Fall through\n\n case 'number':\n if (numberIsNaN(prim)) {\n return false;\n }\n\n }\n\n return true;\n}\n\nfunction setMightHaveLoosePrim(a, b, prim) {\n var altValue = findLooseMatchingPrimitives(prim);\n if (altValue != null) return altValue;\n return b.has(altValue) && !a.has(altValue);\n}\n\nfunction mapMightHaveLoosePrim(a, b, prim, item, memo) {\n var altValue = findLooseMatchingPrimitives(prim);\n\n if (altValue != null) {\n return altValue;\n }\n\n var curB = b.get(altValue);\n\n if (curB === undefined && !b.has(altValue) || !innerDeepEqual(item, curB, false, memo)) {\n return false;\n }\n\n return !a.has(altValue) && innerDeepEqual(item, curB, false, memo);\n}\n\nfunction setEquiv(a, b, strict, memo) {\n // This is a lazily initiated Set of entries which have to be compared\n // pairwise.\n var set = null;\n var aValues = arrayFromSet(a);\n\n for (var i = 0; i < aValues.length; i++) {\n var val = aValues[i]; // Note: Checking for the objects first improves the performance for object\n // heavy sets but it is a minor slow down for primitives. As they are fast\n // to check this improves the worst case scenario instead.\n\n if (_typeof(val) === 'object' && val !== null) {\n if (set === null) {\n set = new Set();\n } // If the specified value doesn't exist in the second set its an not null\n // object (or non strict only: a not matching primitive) we'll need to go\n // hunting for something thats deep-(strict-)equal to it. To make this\n // O(n log n) complexity we have to copy these values in a new set first.\n\n\n set.add(val);\n } else if (!b.has(val)) {\n if (strict) return false; // Fast path to detect missing string, symbol, undefined and null values.\n\n if (!setMightHaveLoosePrim(a, b, val)) {\n return false;\n }\n\n if (set === null) {\n set = new Set();\n }\n\n set.add(val);\n }\n }\n\n if (set !== null) {\n var bValues = arrayFromSet(b);\n\n for (var _i = 0; _i < bValues.length; _i++) {\n var _val = bValues[_i]; // We have to check if a primitive value is already\n // matching and only if it's not, go hunting for it.\n\n if (_typeof(_val) === 'object' && _val !== null) {\n if (!setHasEqualElement(set, _val, strict, memo)) return false;\n } else if (!strict && !a.has(_val) && !setHasEqualElement(set, _val, strict, memo)) {\n return false;\n }\n }\n\n return set.size === 0;\n }\n\n return true;\n}\n\nfunction mapHasEqualEntry(set, map, key1, item1, strict, memo) {\n // To be able to handle cases like:\n // Map([[{}, 'a'], [{}, 'b']]) vs Map([[{}, 'b'], [{}, 'a']])\n // ... we need to consider *all* matching keys, not just the first we find.\n var setValues = arrayFromSet(set);\n\n for (var i = 0; i < setValues.length; i++) {\n var key2 = setValues[i];\n\n if (innerDeepEqual(key1, key2, strict, memo) && innerDeepEqual(item1, map.get(key2), strict, memo)) {\n set.delete(key2);\n return true;\n }\n }\n\n return false;\n}\n\nfunction mapEquiv(a, b, strict, memo) {\n var set = null;\n var aEntries = arrayFromMap(a);\n\n for (var i = 0; i < aEntries.length; i++) {\n var _aEntries$i = _slicedToArray(aEntries[i], 2),\n key = _aEntries$i[0],\n item1 = _aEntries$i[1];\n\n if (_typeof(key) === 'object' && key !== null) {\n if (set === null) {\n set = new Set();\n }\n\n set.add(key);\n } else {\n // By directly retrieving the value we prevent another b.has(key) check in\n // almost all possible cases.\n var item2 = b.get(key);\n\n if (item2 === undefined && !b.has(key) || !innerDeepEqual(item1, item2, strict, memo)) {\n if (strict) return false; // Fast path to detect missing string, symbol, undefined and null\n // keys.\n\n if (!mapMightHaveLoosePrim(a, b, key, item1, memo)) return false;\n\n if (set === null) {\n set = new Set();\n }\n\n set.add(key);\n }\n }\n }\n\n if (set !== null) {\n var bEntries = arrayFromMap(b);\n\n for (var _i2 = 0; _i2 < bEntries.length; _i2++) {\n var _bEntries$_i = _slicedToArray(bEntries[_i2], 2),\n key = _bEntries$_i[0],\n item = _bEntries$_i[1];\n\n if (_typeof(key) === 'object' && key !== null) {\n if (!mapHasEqualEntry(set, a, key, item, strict, memo)) return false;\n } else if (!strict && (!a.has(key) || !innerDeepEqual(a.get(key), item, false, memo)) && !mapHasEqualEntry(set, a, key, item, false, memo)) {\n return false;\n }\n }\n\n return set.size === 0;\n }\n\n return true;\n}\n\nfunction objEquiv(a, b, strict, keys, memos, iterationType) {\n // Sets and maps don't have their entries accessible via normal object\n // properties.\n var i = 0;\n\n if (iterationType === kIsSet) {\n if (!setEquiv(a, b, strict, memos)) {\n return false;\n }\n } else if (iterationType === kIsMap) {\n if (!mapEquiv(a, b, strict, memos)) {\n return false;\n }\n } else if (iterationType === kIsArray) {\n for (; i < a.length; i++) {\n if (hasOwnProperty(a, i)) {\n if (!hasOwnProperty(b, i) || !innerDeepEqual(a[i], b[i], strict, memos)) {\n return false;\n }\n } else if (hasOwnProperty(b, i)) {\n return false;\n } else {\n // Array is sparse.\n var keysA = Object.keys(a);\n\n for (; i < keysA.length; i++) {\n var key = keysA[i];\n\n if (!hasOwnProperty(b, key) || !innerDeepEqual(a[key], b[key], strict, memos)) {\n return false;\n }\n }\n\n if (keysA.length !== Object.keys(b).length) {\n return false;\n }\n\n return true;\n }\n }\n } // The pair must have equivalent values for every corresponding key.\n // Possibly expensive deep test:\n\n\n for (i = 0; i < keys.length; i++) {\n var _key = keys[i];\n\n if (!innerDeepEqual(a[_key], b[_key], strict, memos)) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction isDeepEqual(val1, val2) {\n return innerDeepEqual(val1, val2, kLoose);\n}\n\nfunction isDeepStrictEqual(val1, val2) {\n return innerDeepEqual(val1, val2, kStrict);\n}\n\nmodule.exports = {\n isDeepEqual: isDeepEqual,\n isDeepStrictEqual: isDeepStrictEqual\n};\n\n//# sourceURL=webpack://dcp/./node_modules/assert/build/internal/util/comparisons.js?"); + +/***/ }), + +/***/ "./node_modules/atob/browser-atob.js": +/*!*******************************************!*\ + !*** ./node_modules/atob/browser-atob.js ***! + \*******************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +eval("/* module decorator */ module = __webpack_require__.nmd(module);\n/* provided dependency */ var Buffer = __webpack_require__(/*! ./node_modules/node-polyfill-webpack-plugin/node_modules/buffer/index.js */ \"./node_modules/node-polyfill-webpack-plugin/node_modules/buffer/index.js\")[\"Buffer\"];\n(function (w) {\n \"use strict\";\n\n function findBest(atobNative) {\n // normal window\n if ('function' === typeof atobNative) { return atobNative; }\n\n\n // browserify (web worker)\n if ('function' === typeof Buffer) {\n return function atobBrowserify(a) {\n //!! Deliberately using an API that's deprecated in node.js because\n //!! this file is for browsers and we expect them to cope with it.\n //!! Discussion: github.com/node-browser-compat/atob/pull/9\n return new Buffer(a, 'base64').toString('binary');\n };\n }\n\n // ios web worker with base64js\n if ('object' === typeof w.base64js) {\n // bufferToBinaryString\n // https://git.coolaj86.com/coolaj86/unibabel.js/blob/master/index.js#L50\n return function atobWebWorker_iOS(a) {\n var buf = w.base64js.b64ToByteArray(a);\n return Array.prototype.map.call(buf, function (ch) {\n return String.fromCharCode(ch);\n }).join('');\n };\n }\n\n\t\treturn function () {\n\t\t\t// ios web worker without base64js\n\t\t\tthrow new Error(\"You're probably in an old browser or an iOS webworker.\" +\n\t\t\t\t\" It might help to include beatgammit's base64-js.\");\n };\n }\n\n var atobBest = findBest(w.atob);\n w.atob = atobBest;\n\n if (( true) && module && module.exports) {\n module.exports = atobBest;\n }\n}(window));\n\n\n//# sourceURL=webpack://dcp/./node_modules/atob/browser-atob.js?"); + +/***/ }), + +/***/ "./node_modules/base-x/src/index.js": +/*!******************************************!*\ + !*** ./node_modules/base-x/src/index.js ***! + \******************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n// base-x encoding / decoding\n// Copyright (c) 2018 base-x contributors\n// Copyright (c) 2014-2018 The Bitcoin Core developers (base58.cpp)\n// Distributed under the MIT software license, see the accompanying\n// file LICENSE or http://www.opensource.org/licenses/mit-license.php.\n// @ts-ignore\nvar _Buffer = (__webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer)\nfunction base (ALPHABET) {\n if (ALPHABET.length >= 255) { throw new TypeError('Alphabet too long') }\n var BASE_MAP = new Uint8Array(256)\n for (var j = 0; j < BASE_MAP.length; j++) {\n BASE_MAP[j] = 255\n }\n for (var i = 0; i < ALPHABET.length; i++) {\n var x = ALPHABET.charAt(i)\n var xc = x.charCodeAt(0)\n if (BASE_MAP[xc] !== 255) { throw new TypeError(x + ' is ambiguous') }\n BASE_MAP[xc] = i\n }\n var BASE = ALPHABET.length\n var LEADER = ALPHABET.charAt(0)\n var FACTOR = Math.log(BASE) / Math.log(256) // log(BASE) / log(256), rounded up\n var iFACTOR = Math.log(256) / Math.log(BASE) // log(256) / log(BASE), rounded up\n function encode (source) {\n if (Array.isArray(source) || source instanceof Uint8Array) { source = _Buffer.from(source) }\n if (!_Buffer.isBuffer(source)) { throw new TypeError('Expected Buffer') }\n if (source.length === 0) { return '' }\n // Skip & count leading zeroes.\n var zeroes = 0\n var length = 0\n var pbegin = 0\n var pend = source.length\n while (pbegin !== pend && source[pbegin] === 0) {\n pbegin++\n zeroes++\n }\n // Allocate enough space in big-endian base58 representation.\n var size = ((pend - pbegin) * iFACTOR + 1) >>> 0\n var b58 = new Uint8Array(size)\n // Process the bytes.\n while (pbegin !== pend) {\n var carry = source[pbegin]\n // Apply \"b58 = b58 * 256 + ch\".\n var i = 0\n for (var it1 = size - 1; (carry !== 0 || i < length) && (it1 !== -1); it1--, i++) {\n carry += (256 * b58[it1]) >>> 0\n b58[it1] = (carry % BASE) >>> 0\n carry = (carry / BASE) >>> 0\n }\n if (carry !== 0) { throw new Error('Non-zero carry') }\n length = i\n pbegin++\n }\n // Skip leading zeroes in base58 result.\n var it2 = size - length\n while (it2 !== size && b58[it2] === 0) {\n it2++\n }\n // Translate the result into a string.\n var str = LEADER.repeat(zeroes)\n for (; it2 < size; ++it2) { str += ALPHABET.charAt(b58[it2]) }\n return str\n }\n function decodeUnsafe (source) {\n if (typeof source !== 'string') { throw new TypeError('Expected String') }\n if (source.length === 0) { return _Buffer.alloc(0) }\n var psz = 0\n // Skip and count leading '1's.\n var zeroes = 0\n var length = 0\n while (source[psz] === LEADER) {\n zeroes++\n psz++\n }\n // Allocate enough space in big-endian base256 representation.\n var size = (((source.length - psz) * FACTOR) + 1) >>> 0 // log(58) / log(256), rounded up.\n var b256 = new Uint8Array(size)\n // Process the characters.\n while (source[psz]) {\n // Decode character\n var carry = BASE_MAP[source.charCodeAt(psz)]\n // Invalid character\n if (carry === 255) { return }\n var i = 0\n for (var it3 = size - 1; (carry !== 0 || i < length) && (it3 !== -1); it3--, i++) {\n carry += (BASE * b256[it3]) >>> 0\n b256[it3] = (carry % 256) >>> 0\n carry = (carry / 256) >>> 0\n }\n if (carry !== 0) { throw new Error('Non-zero carry') }\n length = i\n psz++\n }\n // Skip leading zeroes in b256.\n var it4 = size - length\n while (it4 !== size && b256[it4] === 0) {\n it4++\n }\n var vch = _Buffer.allocUnsafe(zeroes + (size - it4))\n vch.fill(0x00, 0, zeroes)\n var j = zeroes\n while (it4 !== size) {\n vch[j++] = b256[it4++]\n }\n return vch\n }\n function decode (string) {\n var buffer = decodeUnsafe(string)\n if (buffer) { return buffer }\n throw new Error('Non-base' + BASE + ' character')\n }\n return {\n encode: encode,\n decodeUnsafe: decodeUnsafe,\n decode: decode\n }\n}\nmodule.exports = base\n\n\n//# sourceURL=webpack://dcp/./node_modules/base-x/src/index.js?"); + +/***/ }), + +/***/ "./node_modules/base64-js/index.js": +/*!*****************************************!*\ + !*** ./node_modules/base64-js/index.js ***! + \*****************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n\n\n//# sourceURL=webpack://dcp/./node_modules/base64-js/index.js?"); + +/***/ }), + +/***/ "./node_modules/bignumber.js/bignumber.js": +/*!************************************************!*\ + !*** ./node_modules/bignumber.js/bignumber.js ***! + \************************************************/ +/***/ (function(module, exports, __webpack_require__) { + +eval("var __WEBPACK_AMD_DEFINE_RESULT__;;(function (globalObject) {\r\n 'use strict';\r\n\r\n/*\r\n * bignumber.js v9.0.1\r\n * A JavaScript library for arbitrary-precision arithmetic.\r\n * https://github.com/MikeMcl/bignumber.js\r\n * Copyright (c) 2020 Michael Mclaughlin \r\n * MIT Licensed.\r\n *\r\n * BigNumber.prototype methods | BigNumber methods\r\n * |\r\n * absoluteValue abs | clone\r\n * comparedTo | config set\r\n * decimalPlaces dp | DECIMAL_PLACES\r\n * dividedBy div | ROUNDING_MODE\r\n * dividedToIntegerBy idiv | EXPONENTIAL_AT\r\n * exponentiatedBy pow | RANGE\r\n * integerValue | CRYPTO\r\n * isEqualTo eq | MODULO_MODE\r\n * isFinite | POW_PRECISION\r\n * isGreaterThan gt | FORMAT\r\n * isGreaterThanOrEqualTo gte | ALPHABET\r\n * isInteger | isBigNumber\r\n * isLessThan lt | maximum max\r\n * isLessThanOrEqualTo lte | minimum min\r\n * isNaN | random\r\n * isNegative | sum\r\n * isPositive |\r\n * isZero |\r\n * minus |\r\n * modulo mod |\r\n * multipliedBy times |\r\n * negated |\r\n * plus |\r\n * precision sd |\r\n * shiftedBy |\r\n * squareRoot sqrt |\r\n * toExponential |\r\n * toFixed |\r\n * toFormat |\r\n * toFraction |\r\n * toJSON |\r\n * toNumber |\r\n * toPrecision |\r\n * toString |\r\n * valueOf |\r\n *\r\n */\r\n\r\n\r\n var BigNumber,\r\n isNumeric = /^-?(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?$/i,\r\n mathceil = Math.ceil,\r\n mathfloor = Math.floor,\r\n\r\n bignumberError = '[BigNumber Error] ',\r\n tooManyDigits = bignumberError + 'Number primitive has more than 15 significant digits: ',\r\n\r\n BASE = 1e14,\r\n LOG_BASE = 14,\r\n MAX_SAFE_INTEGER = 0x1fffffffffffff, // 2^53 - 1\r\n // MAX_INT32 = 0x7fffffff, // 2^31 - 1\r\n POWS_TEN = [1, 10, 100, 1e3, 1e4, 1e5, 1e6, 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, 1e13],\r\n SQRT_BASE = 1e7,\r\n\r\n // EDITABLE\r\n // The limit on the value of DECIMAL_PLACES, TO_EXP_NEG, TO_EXP_POS, MIN_EXP, MAX_EXP, and\r\n // the arguments to toExponential, toFixed, toFormat, and toPrecision.\r\n MAX = 1E9; // 0 to MAX_INT32\r\n\r\n\r\n /*\r\n * Create and return a BigNumber constructor.\r\n */\r\n function clone(configObject) {\r\n var div, convertBase, parseNumeric,\r\n P = BigNumber.prototype = { constructor: BigNumber, toString: null, valueOf: null },\r\n ONE = new BigNumber(1),\r\n\r\n\r\n //----------------------------- EDITABLE CONFIG DEFAULTS -------------------------------\r\n\r\n\r\n // The default values below must be integers within the inclusive ranges stated.\r\n // The values can also be changed at run-time using BigNumber.set.\r\n\r\n // The maximum number of decimal places for operations involving division.\r\n DECIMAL_PLACES = 20, // 0 to MAX\r\n\r\n // The rounding mode used when rounding to the above decimal places, and when using\r\n // toExponential, toFixed, toFormat and toPrecision, and round (default value).\r\n // UP 0 Away from zero.\r\n // DOWN 1 Towards zero.\r\n // CEIL 2 Towards +Infinity.\r\n // FLOOR 3 Towards -Infinity.\r\n // HALF_UP 4 Towards nearest neighbour. If equidistant, up.\r\n // HALF_DOWN 5 Towards nearest neighbour. If equidistant, down.\r\n // HALF_EVEN 6 Towards nearest neighbour. If equidistant, towards even neighbour.\r\n // HALF_CEIL 7 Towards nearest neighbour. If equidistant, towards +Infinity.\r\n // HALF_FLOOR 8 Towards nearest neighbour. If equidistant, towards -Infinity.\r\n ROUNDING_MODE = 4, // 0 to 8\r\n\r\n // EXPONENTIAL_AT : [TO_EXP_NEG , TO_EXP_POS]\r\n\r\n // The exponent value at and beneath which toString returns exponential notation.\r\n // Number type: -7\r\n TO_EXP_NEG = -7, // 0 to -MAX\r\n\r\n // The exponent value at and above which toString returns exponential notation.\r\n // Number type: 21\r\n TO_EXP_POS = 21, // 0 to MAX\r\n\r\n // RANGE : [MIN_EXP, MAX_EXP]\r\n\r\n // The minimum exponent value, beneath which underflow to zero occurs.\r\n // Number type: -324 (5e-324)\r\n MIN_EXP = -1e7, // -1 to -MAX\r\n\r\n // The maximum exponent value, above which overflow to Infinity occurs.\r\n // Number type: 308 (1.7976931348623157e+308)\r\n // For MAX_EXP > 1e7, e.g. new BigNumber('1e100000000').plus(1) may be slow.\r\n MAX_EXP = 1e7, // 1 to MAX\r\n\r\n // Whether to use cryptographically-secure random number generation, if available.\r\n CRYPTO = false, // true or false\r\n\r\n // The modulo mode used when calculating the modulus: a mod n.\r\n // The quotient (q = a / n) is calculated according to the corresponding rounding mode.\r\n // The remainder (r) is calculated as: r = a - n * q.\r\n //\r\n // UP 0 The remainder is positive if the dividend is negative, else is negative.\r\n // DOWN 1 The remainder has the same sign as the dividend.\r\n // This modulo mode is commonly known as 'truncated division' and is\r\n // equivalent to (a % n) in JavaScript.\r\n // FLOOR 3 The remainder has the same sign as the divisor (Python %).\r\n // HALF_EVEN 6 This modulo mode implements the IEEE 754 remainder function.\r\n // EUCLID 9 Euclidian division. q = sign(n) * floor(a / abs(n)).\r\n // The remainder is always positive.\r\n //\r\n // The truncated division, floored division, Euclidian division and IEEE 754 remainder\r\n // modes are commonly used for the modulus operation.\r\n // Although the other rounding modes can also be used, they may not give useful results.\r\n MODULO_MODE = 1, // 0 to 9\r\n\r\n // The maximum number of significant digits of the result of the exponentiatedBy operation.\r\n // If POW_PRECISION is 0, there will be unlimited significant digits.\r\n POW_PRECISION = 0, // 0 to MAX\r\n\r\n // The format specification used by the BigNumber.prototype.toFormat method.\r\n FORMAT = {\r\n prefix: '',\r\n groupSize: 3,\r\n secondaryGroupSize: 0,\r\n groupSeparator: ',',\r\n decimalSeparator: '.',\r\n fractionGroupSize: 0,\r\n fractionGroupSeparator: '\\xA0', // non-breaking space\r\n suffix: ''\r\n },\r\n\r\n // The alphabet used for base conversion. It must be at least 2 characters long, with no '+',\r\n // '-', '.', whitespace, or repeated character.\r\n // '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ$_'\r\n ALPHABET = '0123456789abcdefghijklmnopqrstuvwxyz';\r\n\r\n\r\n //------------------------------------------------------------------------------------------\r\n\r\n\r\n // CONSTRUCTOR\r\n\r\n\r\n /*\r\n * The BigNumber constructor and exported function.\r\n * Create and return a new instance of a BigNumber object.\r\n *\r\n * v {number|string|BigNumber} A numeric value.\r\n * [b] {number} The base of v. Integer, 2 to ALPHABET.length inclusive.\r\n */\r\n function BigNumber(v, b) {\r\n var alphabet, c, caseChanged, e, i, isNum, len, str,\r\n x = this;\r\n\r\n // Enable constructor call without `new`.\r\n if (!(x instanceof BigNumber)) return new BigNumber(v, b);\r\n\r\n if (b == null) {\r\n\r\n if (v && v._isBigNumber === true) {\r\n x.s = v.s;\r\n\r\n if (!v.c || v.e > MAX_EXP) {\r\n x.c = x.e = null;\r\n } else if (v.e < MIN_EXP) {\r\n x.c = [x.e = 0];\r\n } else {\r\n x.e = v.e;\r\n x.c = v.c.slice();\r\n }\r\n\r\n return;\r\n }\r\n\r\n if ((isNum = typeof v == 'number') && v * 0 == 0) {\r\n\r\n // Use `1 / n` to handle minus zero also.\r\n x.s = 1 / v < 0 ? (v = -v, -1) : 1;\r\n\r\n // Fast path for integers, where n < 2147483648 (2**31).\r\n if (v === ~~v) {\r\n for (e = 0, i = v; i >= 10; i /= 10, e++);\r\n\r\n if (e > MAX_EXP) {\r\n x.c = x.e = null;\r\n } else {\r\n x.e = e;\r\n x.c = [v];\r\n }\r\n\r\n return;\r\n }\r\n\r\n str = String(v);\r\n } else {\r\n\r\n if (!isNumeric.test(str = String(v))) return parseNumeric(x, str, isNum);\r\n\r\n x.s = str.charCodeAt(0) == 45 ? (str = str.slice(1), -1) : 1;\r\n }\r\n\r\n // Decimal point?\r\n if ((e = str.indexOf('.')) > -1) str = str.replace('.', '');\r\n\r\n // Exponential form?\r\n if ((i = str.search(/e/i)) > 0) {\r\n\r\n // Determine exponent.\r\n if (e < 0) e = i;\r\n e += +str.slice(i + 1);\r\n str = str.substring(0, i);\r\n } else if (e < 0) {\r\n\r\n // Integer.\r\n e = str.length;\r\n }\r\n\r\n } else {\r\n\r\n // '[BigNumber Error] Base {not a primitive number|not an integer|out of range}: {b}'\r\n intCheck(b, 2, ALPHABET.length, 'Base');\r\n\r\n // Allow exponential notation to be used with base 10 argument, while\r\n // also rounding to DECIMAL_PLACES as with other bases.\r\n if (b == 10) {\r\n x = new BigNumber(v);\r\n return round(x, DECIMAL_PLACES + x.e + 1, ROUNDING_MODE);\r\n }\r\n\r\n str = String(v);\r\n\r\n if (isNum = typeof v == 'number') {\r\n\r\n // Avoid potential interpretation of Infinity and NaN as base 44+ values.\r\n if (v * 0 != 0) return parseNumeric(x, str, isNum, b);\r\n\r\n x.s = 1 / v < 0 ? (str = str.slice(1), -1) : 1;\r\n\r\n // '[BigNumber Error] Number primitive has more than 15 significant digits: {n}'\r\n if (BigNumber.DEBUG && str.replace(/^0\\.0*|\\./, '').length > 15) {\r\n throw Error\r\n (tooManyDigits + v);\r\n }\r\n } else {\r\n x.s = str.charCodeAt(0) === 45 ? (str = str.slice(1), -1) : 1;\r\n }\r\n\r\n alphabet = ALPHABET.slice(0, b);\r\n e = i = 0;\r\n\r\n // Check that str is a valid base b number.\r\n // Don't use RegExp, so alphabet can contain special characters.\r\n for (len = str.length; i < len; i++) {\r\n if (alphabet.indexOf(c = str.charAt(i)) < 0) {\r\n if (c == '.') {\r\n\r\n // If '.' is not the first character and it has not be found before.\r\n if (i > e) {\r\n e = len;\r\n continue;\r\n }\r\n } else if (!caseChanged) {\r\n\r\n // Allow e.g. hexadecimal 'FF' as well as 'ff'.\r\n if (str == str.toUpperCase() && (str = str.toLowerCase()) ||\r\n str == str.toLowerCase() && (str = str.toUpperCase())) {\r\n caseChanged = true;\r\n i = -1;\r\n e = 0;\r\n continue;\r\n }\r\n }\r\n\r\n return parseNumeric(x, String(v), isNum, b);\r\n }\r\n }\r\n\r\n // Prevent later check for length on converted number.\r\n isNum = false;\r\n str = convertBase(str, b, 10, x.s);\r\n\r\n // Decimal point?\r\n if ((e = str.indexOf('.')) > -1) str = str.replace('.', '');\r\n else e = str.length;\r\n }\r\n\r\n // Determine leading zeros.\r\n for (i = 0; str.charCodeAt(i) === 48; i++);\r\n\r\n // Determine trailing zeros.\r\n for (len = str.length; str.charCodeAt(--len) === 48;);\r\n\r\n if (str = str.slice(i, ++len)) {\r\n len -= i;\r\n\r\n // '[BigNumber Error] Number primitive has more than 15 significant digits: {n}'\r\n if (isNum && BigNumber.DEBUG &&\r\n len > 15 && (v > MAX_SAFE_INTEGER || v !== mathfloor(v))) {\r\n throw Error\r\n (tooManyDigits + (x.s * v));\r\n }\r\n\r\n // Overflow?\r\n if ((e = e - i - 1) > MAX_EXP) {\r\n\r\n // Infinity.\r\n x.c = x.e = null;\r\n\r\n // Underflow?\r\n } else if (e < MIN_EXP) {\r\n\r\n // Zero.\r\n x.c = [x.e = 0];\r\n } else {\r\n x.e = e;\r\n x.c = [];\r\n\r\n // Transform base\r\n\r\n // e is the base 10 exponent.\r\n // i is where to slice str to get the first element of the coefficient array.\r\n i = (e + 1) % LOG_BASE;\r\n if (e < 0) i += LOG_BASE; // i < 1\r\n\r\n if (i < len) {\r\n if (i) x.c.push(+str.slice(0, i));\r\n\r\n for (len -= LOG_BASE; i < len;) {\r\n x.c.push(+str.slice(i, i += LOG_BASE));\r\n }\r\n\r\n i = LOG_BASE - (str = str.slice(i)).length;\r\n } else {\r\n i -= len;\r\n }\r\n\r\n for (; i--; str += '0');\r\n x.c.push(+str);\r\n }\r\n } else {\r\n\r\n // Zero.\r\n x.c = [x.e = 0];\r\n }\r\n }\r\n\r\n\r\n // CONSTRUCTOR PROPERTIES\r\n\r\n\r\n BigNumber.clone = clone;\r\n\r\n BigNumber.ROUND_UP = 0;\r\n BigNumber.ROUND_DOWN = 1;\r\n BigNumber.ROUND_CEIL = 2;\r\n BigNumber.ROUND_FLOOR = 3;\r\n BigNumber.ROUND_HALF_UP = 4;\r\n BigNumber.ROUND_HALF_DOWN = 5;\r\n BigNumber.ROUND_HALF_EVEN = 6;\r\n BigNumber.ROUND_HALF_CEIL = 7;\r\n BigNumber.ROUND_HALF_FLOOR = 8;\r\n BigNumber.EUCLID = 9;\r\n\r\n\r\n /*\r\n * Configure infrequently-changing library-wide settings.\r\n *\r\n * Accept an object with the following optional properties (if the value of a property is\r\n * a number, it must be an integer within the inclusive range stated):\r\n *\r\n * DECIMAL_PLACES {number} 0 to MAX\r\n * ROUNDING_MODE {number} 0 to 8\r\n * EXPONENTIAL_AT {number|number[]} -MAX to MAX or [-MAX to 0, 0 to MAX]\r\n * RANGE {number|number[]} -MAX to MAX (not zero) or [-MAX to -1, 1 to MAX]\r\n * CRYPTO {boolean} true or false\r\n * MODULO_MODE {number} 0 to 9\r\n * POW_PRECISION {number} 0 to MAX\r\n * ALPHABET {string} A string of two or more unique characters which does\r\n * not contain '.'.\r\n * FORMAT {object} An object with some of the following properties:\r\n * prefix {string}\r\n * groupSize {number}\r\n * secondaryGroupSize {number}\r\n * groupSeparator {string}\r\n * decimalSeparator {string}\r\n * fractionGroupSize {number}\r\n * fractionGroupSeparator {string}\r\n * suffix {string}\r\n *\r\n * (The values assigned to the above FORMAT object properties are not checked for validity.)\r\n *\r\n * E.g.\r\n * BigNumber.config({ DECIMAL_PLACES : 20, ROUNDING_MODE : 4 })\r\n *\r\n * Ignore properties/parameters set to null or undefined, except for ALPHABET.\r\n *\r\n * Return an object with the properties current values.\r\n */\r\n BigNumber.config = BigNumber.set = function (obj) {\r\n var p, v;\r\n\r\n if (obj != null) {\r\n\r\n if (typeof obj == 'object') {\r\n\r\n // DECIMAL_PLACES {number} Integer, 0 to MAX inclusive.\r\n // '[BigNumber Error] DECIMAL_PLACES {not a primitive number|not an integer|out of range}: {v}'\r\n if (obj.hasOwnProperty(p = 'DECIMAL_PLACES')) {\r\n v = obj[p];\r\n intCheck(v, 0, MAX, p);\r\n DECIMAL_PLACES = v;\r\n }\r\n\r\n // ROUNDING_MODE {number} Integer, 0 to 8 inclusive.\r\n // '[BigNumber Error] ROUNDING_MODE {not a primitive number|not an integer|out of range}: {v}'\r\n if (obj.hasOwnProperty(p = 'ROUNDING_MODE')) {\r\n v = obj[p];\r\n intCheck(v, 0, 8, p);\r\n ROUNDING_MODE = v;\r\n }\r\n\r\n // EXPONENTIAL_AT {number|number[]}\r\n // Integer, -MAX to MAX inclusive or\r\n // [integer -MAX to 0 inclusive, 0 to MAX inclusive].\r\n // '[BigNumber Error] EXPONENTIAL_AT {not a primitive number|not an integer|out of range}: {v}'\r\n if (obj.hasOwnProperty(p = 'EXPONENTIAL_AT')) {\r\n v = obj[p];\r\n if (v && v.pop) {\r\n intCheck(v[0], -MAX, 0, p);\r\n intCheck(v[1], 0, MAX, p);\r\n TO_EXP_NEG = v[0];\r\n TO_EXP_POS = v[1];\r\n } else {\r\n intCheck(v, -MAX, MAX, p);\r\n TO_EXP_NEG = -(TO_EXP_POS = v < 0 ? -v : v);\r\n }\r\n }\r\n\r\n // RANGE {number|number[]} Non-zero integer, -MAX to MAX inclusive or\r\n // [integer -MAX to -1 inclusive, integer 1 to MAX inclusive].\r\n // '[BigNumber Error] RANGE {not a primitive number|not an integer|out of range|cannot be zero}: {v}'\r\n if (obj.hasOwnProperty(p = 'RANGE')) {\r\n v = obj[p];\r\n if (v && v.pop) {\r\n intCheck(v[0], -MAX, -1, p);\r\n intCheck(v[1], 1, MAX, p);\r\n MIN_EXP = v[0];\r\n MAX_EXP = v[1];\r\n } else {\r\n intCheck(v, -MAX, MAX, p);\r\n if (v) {\r\n MIN_EXP = -(MAX_EXP = v < 0 ? -v : v);\r\n } else {\r\n throw Error\r\n (bignumberError + p + ' cannot be zero: ' + v);\r\n }\r\n }\r\n }\r\n\r\n // CRYPTO {boolean} true or false.\r\n // '[BigNumber Error] CRYPTO not true or false: {v}'\r\n // '[BigNumber Error] crypto unavailable'\r\n if (obj.hasOwnProperty(p = 'CRYPTO')) {\r\n v = obj[p];\r\n if (v === !!v) {\r\n if (v) {\r\n if (typeof crypto != 'undefined' && crypto &&\r\n (crypto.getRandomValues || crypto.randomBytes)) {\r\n CRYPTO = v;\r\n } else {\r\n CRYPTO = !v;\r\n throw Error\r\n (bignumberError + 'crypto unavailable');\r\n }\r\n } else {\r\n CRYPTO = v;\r\n }\r\n } else {\r\n throw Error\r\n (bignumberError + p + ' not true or false: ' + v);\r\n }\r\n }\r\n\r\n // MODULO_MODE {number} Integer, 0 to 9 inclusive.\r\n // '[BigNumber Error] MODULO_MODE {not a primitive number|not an integer|out of range}: {v}'\r\n if (obj.hasOwnProperty(p = 'MODULO_MODE')) {\r\n v = obj[p];\r\n intCheck(v, 0, 9, p);\r\n MODULO_MODE = v;\r\n }\r\n\r\n // POW_PRECISION {number} Integer, 0 to MAX inclusive.\r\n // '[BigNumber Error] POW_PRECISION {not a primitive number|not an integer|out of range}: {v}'\r\n if (obj.hasOwnProperty(p = 'POW_PRECISION')) {\r\n v = obj[p];\r\n intCheck(v, 0, MAX, p);\r\n POW_PRECISION = v;\r\n }\r\n\r\n // FORMAT {object}\r\n // '[BigNumber Error] FORMAT not an object: {v}'\r\n if (obj.hasOwnProperty(p = 'FORMAT')) {\r\n v = obj[p];\r\n if (typeof v == 'object') FORMAT = v;\r\n else throw Error\r\n (bignumberError + p + ' not an object: ' + v);\r\n }\r\n\r\n // ALPHABET {string}\r\n // '[BigNumber Error] ALPHABET invalid: {v}'\r\n if (obj.hasOwnProperty(p = 'ALPHABET')) {\r\n v = obj[p];\r\n\r\n // Disallow if less than two characters,\r\n // or if it contains '+', '-', '.', whitespace, or a repeated character.\r\n if (typeof v == 'string' && !/^.?$|[+\\-.\\s]|(.).*\\1/.test(v)) {\r\n ALPHABET = v;\r\n } else {\r\n throw Error\r\n (bignumberError + p + ' invalid: ' + v);\r\n }\r\n }\r\n\r\n } else {\r\n\r\n // '[BigNumber Error] Object expected: {v}'\r\n throw Error\r\n (bignumberError + 'Object expected: ' + obj);\r\n }\r\n }\r\n\r\n return {\r\n DECIMAL_PLACES: DECIMAL_PLACES,\r\n ROUNDING_MODE: ROUNDING_MODE,\r\n EXPONENTIAL_AT: [TO_EXP_NEG, TO_EXP_POS],\r\n RANGE: [MIN_EXP, MAX_EXP],\r\n CRYPTO: CRYPTO,\r\n MODULO_MODE: MODULO_MODE,\r\n POW_PRECISION: POW_PRECISION,\r\n FORMAT: FORMAT,\r\n ALPHABET: ALPHABET\r\n };\r\n };\r\n\r\n\r\n /*\r\n * Return true if v is a BigNumber instance, otherwise return false.\r\n *\r\n * If BigNumber.DEBUG is true, throw if a BigNumber instance is not well-formed.\r\n *\r\n * v {any}\r\n *\r\n * '[BigNumber Error] Invalid BigNumber: {v}'\r\n */\r\n BigNumber.isBigNumber = function (v) {\r\n if (!v || v._isBigNumber !== true) return false;\r\n if (!BigNumber.DEBUG) return true;\r\n\r\n var i, n,\r\n c = v.c,\r\n e = v.e,\r\n s = v.s;\r\n\r\n out: if ({}.toString.call(c) == '[object Array]') {\r\n\r\n if ((s === 1 || s === -1) && e >= -MAX && e <= MAX && e === mathfloor(e)) {\r\n\r\n // If the first element is zero, the BigNumber value must be zero.\r\n if (c[0] === 0) {\r\n if (e === 0 && c.length === 1) return true;\r\n break out;\r\n }\r\n\r\n // Calculate number of digits that c[0] should have, based on the exponent.\r\n i = (e + 1) % LOG_BASE;\r\n if (i < 1) i += LOG_BASE;\r\n\r\n // Calculate number of digits of c[0].\r\n //if (Math.ceil(Math.log(c[0] + 1) / Math.LN10) == i) {\r\n if (String(c[0]).length == i) {\r\n\r\n for (i = 0; i < c.length; i++) {\r\n n = c[i];\r\n if (n < 0 || n >= BASE || n !== mathfloor(n)) break out;\r\n }\r\n\r\n // Last element cannot be zero, unless it is the only element.\r\n if (n !== 0) return true;\r\n }\r\n }\r\n\r\n // Infinity/NaN\r\n } else if (c === null && e === null && (s === null || s === 1 || s === -1)) {\r\n return true;\r\n }\r\n\r\n throw Error\r\n (bignumberError + 'Invalid BigNumber: ' + v);\r\n };\r\n\r\n\r\n /*\r\n * Return a new BigNumber whose value is the maximum of the arguments.\r\n *\r\n * arguments {number|string|BigNumber}\r\n */\r\n BigNumber.maximum = BigNumber.max = function () {\r\n return maxOrMin(arguments, P.lt);\r\n };\r\n\r\n\r\n /*\r\n * Return a new BigNumber whose value is the minimum of the arguments.\r\n *\r\n * arguments {number|string|BigNumber}\r\n */\r\n BigNumber.minimum = BigNumber.min = function () {\r\n return maxOrMin(arguments, P.gt);\r\n };\r\n\r\n\r\n /*\r\n * Return a new BigNumber with a random value equal to or greater than 0 and less than 1,\r\n * and with dp, or DECIMAL_PLACES if dp is omitted, decimal places (or less if trailing\r\n * zeros are produced).\r\n *\r\n * [dp] {number} Decimal places. Integer, 0 to MAX inclusive.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {dp}'\r\n * '[BigNumber Error] crypto unavailable'\r\n */\r\n BigNumber.random = (function () {\r\n var pow2_53 = 0x20000000000000;\r\n\r\n // Return a 53 bit integer n, where 0 <= n < 9007199254740992.\r\n // Check if Math.random() produces more than 32 bits of randomness.\r\n // If it does, assume at least 53 bits are produced, otherwise assume at least 30 bits.\r\n // 0x40000000 is 2^30, 0x800000 is 2^23, 0x1fffff is 2^21 - 1.\r\n var random53bitInt = (Math.random() * pow2_53) & 0x1fffff\r\n ? function () { return mathfloor(Math.random() * pow2_53); }\r\n : function () { return ((Math.random() * 0x40000000 | 0) * 0x800000) +\r\n (Math.random() * 0x800000 | 0); };\r\n\r\n return function (dp) {\r\n var a, b, e, k, v,\r\n i = 0,\r\n c = [],\r\n rand = new BigNumber(ONE);\r\n\r\n if (dp == null) dp = DECIMAL_PLACES;\r\n else intCheck(dp, 0, MAX);\r\n\r\n k = mathceil(dp / LOG_BASE);\r\n\r\n if (CRYPTO) {\r\n\r\n // Browsers supporting crypto.getRandomValues.\r\n if (crypto.getRandomValues) {\r\n\r\n a = crypto.getRandomValues(new Uint32Array(k *= 2));\r\n\r\n for (; i < k;) {\r\n\r\n // 53 bits:\r\n // ((Math.pow(2, 32) - 1) * Math.pow(2, 21)).toString(2)\r\n // 11111 11111111 11111111 11111111 11100000 00000000 00000000\r\n // ((Math.pow(2, 32) - 1) >>> 11).toString(2)\r\n // 11111 11111111 11111111\r\n // 0x20000 is 2^21.\r\n v = a[i] * 0x20000 + (a[i + 1] >>> 11);\r\n\r\n // Rejection sampling:\r\n // 0 <= v < 9007199254740992\r\n // Probability that v >= 9e15, is\r\n // 7199254740992 / 9007199254740992 ~= 0.0008, i.e. 1 in 1251\r\n if (v >= 9e15) {\r\n b = crypto.getRandomValues(new Uint32Array(2));\r\n a[i] = b[0];\r\n a[i + 1] = b[1];\r\n } else {\r\n\r\n // 0 <= v <= 8999999999999999\r\n // 0 <= (v % 1e14) <= 99999999999999\r\n c.push(v % 1e14);\r\n i += 2;\r\n }\r\n }\r\n i = k / 2;\r\n\r\n // Node.js supporting crypto.randomBytes.\r\n } else if (crypto.randomBytes) {\r\n\r\n // buffer\r\n a = crypto.randomBytes(k *= 7);\r\n\r\n for (; i < k;) {\r\n\r\n // 0x1000000000000 is 2^48, 0x10000000000 is 2^40\r\n // 0x100000000 is 2^32, 0x1000000 is 2^24\r\n // 11111 11111111 11111111 11111111 11111111 11111111 11111111\r\n // 0 <= v < 9007199254740992\r\n v = ((a[i] & 31) * 0x1000000000000) + (a[i + 1] * 0x10000000000) +\r\n (a[i + 2] * 0x100000000) + (a[i + 3] * 0x1000000) +\r\n (a[i + 4] << 16) + (a[i + 5] << 8) + a[i + 6];\r\n\r\n if (v >= 9e15) {\r\n crypto.randomBytes(7).copy(a, i);\r\n } else {\r\n\r\n // 0 <= (v % 1e14) <= 99999999999999\r\n c.push(v % 1e14);\r\n i += 7;\r\n }\r\n }\r\n i = k / 7;\r\n } else {\r\n CRYPTO = false;\r\n throw Error\r\n (bignumberError + 'crypto unavailable');\r\n }\r\n }\r\n\r\n // Use Math.random.\r\n if (!CRYPTO) {\r\n\r\n for (; i < k;) {\r\n v = random53bitInt();\r\n if (v < 9e15) c[i++] = v % 1e14;\r\n }\r\n }\r\n\r\n k = c[--i];\r\n dp %= LOG_BASE;\r\n\r\n // Convert trailing digits to zeros according to dp.\r\n if (k && dp) {\r\n v = POWS_TEN[LOG_BASE - dp];\r\n c[i] = mathfloor(k / v) * v;\r\n }\r\n\r\n // Remove trailing elements which are zero.\r\n for (; c[i] === 0; c.pop(), i--);\r\n\r\n // Zero?\r\n if (i < 0) {\r\n c = [e = 0];\r\n } else {\r\n\r\n // Remove leading elements which are zero and adjust exponent accordingly.\r\n for (e = -1 ; c[0] === 0; c.splice(0, 1), e -= LOG_BASE);\r\n\r\n // Count the digits of the first element of c to determine leading zeros, and...\r\n for (i = 1, v = c[0]; v >= 10; v /= 10, i++);\r\n\r\n // adjust the exponent accordingly.\r\n if (i < LOG_BASE) e -= LOG_BASE - i;\r\n }\r\n\r\n rand.e = e;\r\n rand.c = c;\r\n return rand;\r\n };\r\n })();\r\n\r\n\r\n /*\r\n * Return a BigNumber whose value is the sum of the arguments.\r\n *\r\n * arguments {number|string|BigNumber}\r\n */\r\n BigNumber.sum = function () {\r\n var i = 1,\r\n args = arguments,\r\n sum = new BigNumber(args[0]);\r\n for (; i < args.length;) sum = sum.plus(args[i++]);\r\n return sum;\r\n };\r\n\r\n\r\n // PRIVATE FUNCTIONS\r\n\r\n\r\n // Called by BigNumber and BigNumber.prototype.toString.\r\n convertBase = (function () {\r\n var decimal = '0123456789';\r\n\r\n /*\r\n * Convert string of baseIn to an array of numbers of baseOut.\r\n * Eg. toBaseOut('255', 10, 16) returns [15, 15].\r\n * Eg. toBaseOut('ff', 16, 10) returns [2, 5, 5].\r\n */\r\n function toBaseOut(str, baseIn, baseOut, alphabet) {\r\n var j,\r\n arr = [0],\r\n arrL,\r\n i = 0,\r\n len = str.length;\r\n\r\n for (; i < len;) {\r\n for (arrL = arr.length; arrL--; arr[arrL] *= baseIn);\r\n\r\n arr[0] += alphabet.indexOf(str.charAt(i++));\r\n\r\n for (j = 0; j < arr.length; j++) {\r\n\r\n if (arr[j] > baseOut - 1) {\r\n if (arr[j + 1] == null) arr[j + 1] = 0;\r\n arr[j + 1] += arr[j] / baseOut | 0;\r\n arr[j] %= baseOut;\r\n }\r\n }\r\n }\r\n\r\n return arr.reverse();\r\n }\r\n\r\n // Convert a numeric string of baseIn to a numeric string of baseOut.\r\n // If the caller is toString, we are converting from base 10 to baseOut.\r\n // If the caller is BigNumber, we are converting from baseIn to base 10.\r\n return function (str, baseIn, baseOut, sign, callerIsToString) {\r\n var alphabet, d, e, k, r, x, xc, y,\r\n i = str.indexOf('.'),\r\n dp = DECIMAL_PLACES,\r\n rm = ROUNDING_MODE;\r\n\r\n // Non-integer.\r\n if (i >= 0) {\r\n k = POW_PRECISION;\r\n\r\n // Unlimited precision.\r\n POW_PRECISION = 0;\r\n str = str.replace('.', '');\r\n y = new BigNumber(baseIn);\r\n x = y.pow(str.length - i);\r\n POW_PRECISION = k;\r\n\r\n // Convert str as if an integer, then restore the fraction part by dividing the\r\n // result by its base raised to a power.\r\n\r\n y.c = toBaseOut(toFixedPoint(coeffToString(x.c), x.e, '0'),\r\n 10, baseOut, decimal);\r\n y.e = y.c.length;\r\n }\r\n\r\n // Convert the number as integer.\r\n\r\n xc = toBaseOut(str, baseIn, baseOut, callerIsToString\r\n ? (alphabet = ALPHABET, decimal)\r\n : (alphabet = decimal, ALPHABET));\r\n\r\n // xc now represents str as an integer and converted to baseOut. e is the exponent.\r\n e = k = xc.length;\r\n\r\n // Remove trailing zeros.\r\n for (; xc[--k] == 0; xc.pop());\r\n\r\n // Zero?\r\n if (!xc[0]) return alphabet.charAt(0);\r\n\r\n // Does str represent an integer? If so, no need for the division.\r\n if (i < 0) {\r\n --e;\r\n } else {\r\n x.c = xc;\r\n x.e = e;\r\n\r\n // The sign is needed for correct rounding.\r\n x.s = sign;\r\n x = div(x, y, dp, rm, baseOut);\r\n xc = x.c;\r\n r = x.r;\r\n e = x.e;\r\n }\r\n\r\n // xc now represents str converted to baseOut.\r\n\r\n // THe index of the rounding digit.\r\n d = e + dp + 1;\r\n\r\n // The rounding digit: the digit to the right of the digit that may be rounded up.\r\n i = xc[d];\r\n\r\n // Look at the rounding digits and mode to determine whether to round up.\r\n\r\n k = baseOut / 2;\r\n r = r || d < 0 || xc[d + 1] != null;\r\n\r\n r = rm < 4 ? (i != null || r) && (rm == 0 || rm == (x.s < 0 ? 3 : 2))\r\n : i > k || i == k &&(rm == 4 || r || rm == 6 && xc[d - 1] & 1 ||\r\n rm == (x.s < 0 ? 8 : 7));\r\n\r\n // If the index of the rounding digit is not greater than zero, or xc represents\r\n // zero, then the result of the base conversion is zero or, if rounding up, a value\r\n // such as 0.00001.\r\n if (d < 1 || !xc[0]) {\r\n\r\n // 1^-dp or 0\r\n str = r ? toFixedPoint(alphabet.charAt(1), -dp, alphabet.charAt(0)) : alphabet.charAt(0);\r\n } else {\r\n\r\n // Truncate xc to the required number of decimal places.\r\n xc.length = d;\r\n\r\n // Round up?\r\n if (r) {\r\n\r\n // Rounding up may mean the previous digit has to be rounded up and so on.\r\n for (--baseOut; ++xc[--d] > baseOut;) {\r\n xc[d] = 0;\r\n\r\n if (!d) {\r\n ++e;\r\n xc = [1].concat(xc);\r\n }\r\n }\r\n }\r\n\r\n // Determine trailing zeros.\r\n for (k = xc.length; !xc[--k];);\r\n\r\n // E.g. [4, 11, 15] becomes 4bf.\r\n for (i = 0, str = ''; i <= k; str += alphabet.charAt(xc[i++]));\r\n\r\n // Add leading zeros, decimal point and trailing zeros as required.\r\n str = toFixedPoint(str, e, alphabet.charAt(0));\r\n }\r\n\r\n // The caller will add the sign.\r\n return str;\r\n };\r\n })();\r\n\r\n\r\n // Perform division in the specified base. Called by div and convertBase.\r\n div = (function () {\r\n\r\n // Assume non-zero x and k.\r\n function multiply(x, k, base) {\r\n var m, temp, xlo, xhi,\r\n carry = 0,\r\n i = x.length,\r\n klo = k % SQRT_BASE,\r\n khi = k / SQRT_BASE | 0;\r\n\r\n for (x = x.slice(); i--;) {\r\n xlo = x[i] % SQRT_BASE;\r\n xhi = x[i] / SQRT_BASE | 0;\r\n m = khi * xlo + xhi * klo;\r\n temp = klo * xlo + ((m % SQRT_BASE) * SQRT_BASE) + carry;\r\n carry = (temp / base | 0) + (m / SQRT_BASE | 0) + khi * xhi;\r\n x[i] = temp % base;\r\n }\r\n\r\n if (carry) x = [carry].concat(x);\r\n\r\n return x;\r\n }\r\n\r\n function compare(a, b, aL, bL) {\r\n var i, cmp;\r\n\r\n if (aL != bL) {\r\n cmp = aL > bL ? 1 : -1;\r\n } else {\r\n\r\n for (i = cmp = 0; i < aL; i++) {\r\n\r\n if (a[i] != b[i]) {\r\n cmp = a[i] > b[i] ? 1 : -1;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n return cmp;\r\n }\r\n\r\n function subtract(a, b, aL, base) {\r\n var i = 0;\r\n\r\n // Subtract b from a.\r\n for (; aL--;) {\r\n a[aL] -= i;\r\n i = a[aL] < b[aL] ? 1 : 0;\r\n a[aL] = i * base + a[aL] - b[aL];\r\n }\r\n\r\n // Remove leading zeros.\r\n for (; !a[0] && a.length > 1; a.splice(0, 1));\r\n }\r\n\r\n // x: dividend, y: divisor.\r\n return function (x, y, dp, rm, base) {\r\n var cmp, e, i, more, n, prod, prodL, q, qc, rem, remL, rem0, xi, xL, yc0,\r\n yL, yz,\r\n s = x.s == y.s ? 1 : -1,\r\n xc = x.c,\r\n yc = y.c;\r\n\r\n // Either NaN, Infinity or 0?\r\n if (!xc || !xc[0] || !yc || !yc[0]) {\r\n\r\n return new BigNumber(\r\n\r\n // Return NaN if either NaN, or both Infinity or 0.\r\n !x.s || !y.s || (xc ? yc && xc[0] == yc[0] : !yc) ? NaN :\r\n\r\n // Return ±0 if x is ±0 or y is ±Infinity, or return ±Infinity as y is ±0.\r\n xc && xc[0] == 0 || !yc ? s * 0 : s / 0\r\n );\r\n }\r\n\r\n q = new BigNumber(s);\r\n qc = q.c = [];\r\n e = x.e - y.e;\r\n s = dp + e + 1;\r\n\r\n if (!base) {\r\n base = BASE;\r\n e = bitFloor(x.e / LOG_BASE) - bitFloor(y.e / LOG_BASE);\r\n s = s / LOG_BASE | 0;\r\n }\r\n\r\n // Result exponent may be one less then the current value of e.\r\n // The coefficients of the BigNumbers from convertBase may have trailing zeros.\r\n for (i = 0; yc[i] == (xc[i] || 0); i++);\r\n\r\n if (yc[i] > (xc[i] || 0)) e--;\r\n\r\n if (s < 0) {\r\n qc.push(1);\r\n more = true;\r\n } else {\r\n xL = xc.length;\r\n yL = yc.length;\r\n i = 0;\r\n s += 2;\r\n\r\n // Normalise xc and yc so highest order digit of yc is >= base / 2.\r\n\r\n n = mathfloor(base / (yc[0] + 1));\r\n\r\n // Not necessary, but to handle odd bases where yc[0] == (base / 2) - 1.\r\n // if (n > 1 || n++ == 1 && yc[0] < base / 2) {\r\n if (n > 1) {\r\n yc = multiply(yc, n, base);\r\n xc = multiply(xc, n, base);\r\n yL = yc.length;\r\n xL = xc.length;\r\n }\r\n\r\n xi = yL;\r\n rem = xc.slice(0, yL);\r\n remL = rem.length;\r\n\r\n // Add zeros to make remainder as long as divisor.\r\n for (; remL < yL; rem[remL++] = 0);\r\n yz = yc.slice();\r\n yz = [0].concat(yz);\r\n yc0 = yc[0];\r\n if (yc[1] >= base / 2) yc0++;\r\n // Not necessary, but to prevent trial digit n > base, when using base 3.\r\n // else if (base == 3 && yc0 == 1) yc0 = 1 + 1e-15;\r\n\r\n do {\r\n n = 0;\r\n\r\n // Compare divisor and remainder.\r\n cmp = compare(yc, rem, yL, remL);\r\n\r\n // If divisor < remainder.\r\n if (cmp < 0) {\r\n\r\n // Calculate trial digit, n.\r\n\r\n rem0 = rem[0];\r\n if (yL != remL) rem0 = rem0 * base + (rem[1] || 0);\r\n\r\n // n is how many times the divisor goes into the current remainder.\r\n n = mathfloor(rem0 / yc0);\r\n\r\n // Algorithm:\r\n // product = divisor multiplied by trial digit (n).\r\n // Compare product and remainder.\r\n // If product is greater than remainder:\r\n // Subtract divisor from product, decrement trial digit.\r\n // Subtract product from remainder.\r\n // If product was less than remainder at the last compare:\r\n // Compare new remainder and divisor.\r\n // If remainder is greater than divisor:\r\n // Subtract divisor from remainder, increment trial digit.\r\n\r\n if (n > 1) {\r\n\r\n // n may be > base only when base is 3.\r\n if (n >= base) n = base - 1;\r\n\r\n // product = divisor * trial digit.\r\n prod = multiply(yc, n, base);\r\n prodL = prod.length;\r\n remL = rem.length;\r\n\r\n // Compare product and remainder.\r\n // If product > remainder then trial digit n too high.\r\n // n is 1 too high about 5% of the time, and is not known to have\r\n // ever been more than 1 too high.\r\n while (compare(prod, rem, prodL, remL) == 1) {\r\n n--;\r\n\r\n // Subtract divisor from product.\r\n subtract(prod, yL < prodL ? yz : yc, prodL, base);\r\n prodL = prod.length;\r\n cmp = 1;\r\n }\r\n } else {\r\n\r\n // n is 0 or 1, cmp is -1.\r\n // If n is 0, there is no need to compare yc and rem again below,\r\n // so change cmp to 1 to avoid it.\r\n // If n is 1, leave cmp as -1, so yc and rem are compared again.\r\n if (n == 0) {\r\n\r\n // divisor < remainder, so n must be at least 1.\r\n cmp = n = 1;\r\n }\r\n\r\n // product = divisor\r\n prod = yc.slice();\r\n prodL = prod.length;\r\n }\r\n\r\n if (prodL < remL) prod = [0].concat(prod);\r\n\r\n // Subtract product from remainder.\r\n subtract(rem, prod, remL, base);\r\n remL = rem.length;\r\n\r\n // If product was < remainder.\r\n if (cmp == -1) {\r\n\r\n // Compare divisor and new remainder.\r\n // If divisor < new remainder, subtract divisor from remainder.\r\n // Trial digit n too low.\r\n // n is 1 too low about 5% of the time, and very rarely 2 too low.\r\n while (compare(yc, rem, yL, remL) < 1) {\r\n n++;\r\n\r\n // Subtract divisor from remainder.\r\n subtract(rem, yL < remL ? yz : yc, remL, base);\r\n remL = rem.length;\r\n }\r\n }\r\n } else if (cmp === 0) {\r\n n++;\r\n rem = [0];\r\n } // else cmp === 1 and n will be 0\r\n\r\n // Add the next digit, n, to the result array.\r\n qc[i++] = n;\r\n\r\n // Update the remainder.\r\n if (rem[0]) {\r\n rem[remL++] = xc[xi] || 0;\r\n } else {\r\n rem = [xc[xi]];\r\n remL = 1;\r\n }\r\n } while ((xi++ < xL || rem[0] != null) && s--);\r\n\r\n more = rem[0] != null;\r\n\r\n // Leading zero?\r\n if (!qc[0]) qc.splice(0, 1);\r\n }\r\n\r\n if (base == BASE) {\r\n\r\n // To calculate q.e, first get the number of digits of qc[0].\r\n for (i = 1, s = qc[0]; s >= 10; s /= 10, i++);\r\n\r\n round(q, dp + (q.e = i + e * LOG_BASE - 1) + 1, rm, more);\r\n\r\n // Caller is convertBase.\r\n } else {\r\n q.e = e;\r\n q.r = +more;\r\n }\r\n\r\n return q;\r\n };\r\n })();\r\n\r\n\r\n /*\r\n * Return a string representing the value of BigNumber n in fixed-point or exponential\r\n * notation rounded to the specified decimal places or significant digits.\r\n *\r\n * n: a BigNumber.\r\n * i: the index of the last digit required (i.e. the digit that may be rounded up).\r\n * rm: the rounding mode.\r\n * id: 1 (toExponential) or 2 (toPrecision).\r\n */\r\n function format(n, i, rm, id) {\r\n var c0, e, ne, len, str;\r\n\r\n if (rm == null) rm = ROUNDING_MODE;\r\n else intCheck(rm, 0, 8);\r\n\r\n if (!n.c) return n.toString();\r\n\r\n c0 = n.c[0];\r\n ne = n.e;\r\n\r\n if (i == null) {\r\n str = coeffToString(n.c);\r\n str = id == 1 || id == 2 && (ne <= TO_EXP_NEG || ne >= TO_EXP_POS)\r\n ? toExponential(str, ne)\r\n : toFixedPoint(str, ne, '0');\r\n } else {\r\n n = round(new BigNumber(n), i, rm);\r\n\r\n // n.e may have changed if the value was rounded up.\r\n e = n.e;\r\n\r\n str = coeffToString(n.c);\r\n len = str.length;\r\n\r\n // toPrecision returns exponential notation if the number of significant digits\r\n // specified is less than the number of digits necessary to represent the integer\r\n // part of the value in fixed-point notation.\r\n\r\n // Exponential notation.\r\n if (id == 1 || id == 2 && (i <= e || e <= TO_EXP_NEG)) {\r\n\r\n // Append zeros?\r\n for (; len < i; str += '0', len++);\r\n str = toExponential(str, e);\r\n\r\n // Fixed-point notation.\r\n } else {\r\n i -= ne;\r\n str = toFixedPoint(str, e, '0');\r\n\r\n // Append zeros?\r\n if (e + 1 > len) {\r\n if (--i > 0) for (str += '.'; i--; str += '0');\r\n } else {\r\n i += e - len;\r\n if (i > 0) {\r\n if (e + 1 == len) str += '.';\r\n for (; i--; str += '0');\r\n }\r\n }\r\n }\r\n }\r\n\r\n return n.s < 0 && c0 ? '-' + str : str;\r\n }\r\n\r\n\r\n // Handle BigNumber.max and BigNumber.min.\r\n function maxOrMin(args, method) {\r\n var n,\r\n i = 1,\r\n m = new BigNumber(args[0]);\r\n\r\n for (; i < args.length; i++) {\r\n n = new BigNumber(args[i]);\r\n\r\n // If any number is NaN, return NaN.\r\n if (!n.s) {\r\n m = n;\r\n break;\r\n } else if (method.call(m, n)) {\r\n m = n;\r\n }\r\n }\r\n\r\n return m;\r\n }\r\n\r\n\r\n /*\r\n * Strip trailing zeros, calculate base 10 exponent and check against MIN_EXP and MAX_EXP.\r\n * Called by minus, plus and times.\r\n */\r\n function normalise(n, c, e) {\r\n var i = 1,\r\n j = c.length;\r\n\r\n // Remove trailing zeros.\r\n for (; !c[--j]; c.pop());\r\n\r\n // Calculate the base 10 exponent. First get the number of digits of c[0].\r\n for (j = c[0]; j >= 10; j /= 10, i++);\r\n\r\n // Overflow?\r\n if ((e = i + e * LOG_BASE - 1) > MAX_EXP) {\r\n\r\n // Infinity.\r\n n.c = n.e = null;\r\n\r\n // Underflow?\r\n } else if (e < MIN_EXP) {\r\n\r\n // Zero.\r\n n.c = [n.e = 0];\r\n } else {\r\n n.e = e;\r\n n.c = c;\r\n }\r\n\r\n return n;\r\n }\r\n\r\n\r\n // Handle values that fail the validity test in BigNumber.\r\n parseNumeric = (function () {\r\n var basePrefix = /^(-?)0([xbo])(?=\\w[\\w.]*$)/i,\r\n dotAfter = /^([^.]+)\\.$/,\r\n dotBefore = /^\\.([^.]+)$/,\r\n isInfinityOrNaN = /^-?(Infinity|NaN)$/,\r\n whitespaceOrPlus = /^\\s*\\+(?=[\\w.])|^\\s+|\\s+$/g;\r\n\r\n return function (x, str, isNum, b) {\r\n var base,\r\n s = isNum ? str : str.replace(whitespaceOrPlus, '');\r\n\r\n // No exception on ±Infinity or NaN.\r\n if (isInfinityOrNaN.test(s)) {\r\n x.s = isNaN(s) ? null : s < 0 ? -1 : 1;\r\n } else {\r\n if (!isNum) {\r\n\r\n // basePrefix = /^(-?)0([xbo])(?=\\w[\\w.]*$)/i\r\n s = s.replace(basePrefix, function (m, p1, p2) {\r\n base = (p2 = p2.toLowerCase()) == 'x' ? 16 : p2 == 'b' ? 2 : 8;\r\n return !b || b == base ? p1 : m;\r\n });\r\n\r\n if (b) {\r\n base = b;\r\n\r\n // E.g. '1.' to '1', '.1' to '0.1'\r\n s = s.replace(dotAfter, '$1').replace(dotBefore, '0.$1');\r\n }\r\n\r\n if (str != s) return new BigNumber(s, base);\r\n }\r\n\r\n // '[BigNumber Error] Not a number: {n}'\r\n // '[BigNumber Error] Not a base {b} number: {n}'\r\n if (BigNumber.DEBUG) {\r\n throw Error\r\n (bignumberError + 'Not a' + (b ? ' base ' + b : '') + ' number: ' + str);\r\n }\r\n\r\n // NaN\r\n x.s = null;\r\n }\r\n\r\n x.c = x.e = null;\r\n }\r\n })();\r\n\r\n\r\n /*\r\n * Round x to sd significant digits using rounding mode rm. Check for over/under-flow.\r\n * If r is truthy, it is known that there are more digits after the rounding digit.\r\n */\r\n function round(x, sd, rm, r) {\r\n var d, i, j, k, n, ni, rd,\r\n xc = x.c,\r\n pows10 = POWS_TEN;\r\n\r\n // if x is not Infinity or NaN...\r\n if (xc) {\r\n\r\n // rd is the rounding digit, i.e. the digit after the digit that may be rounded up.\r\n // n is a base 1e14 number, the value of the element of array x.c containing rd.\r\n // ni is the index of n within x.c.\r\n // d is the number of digits of n.\r\n // i is the index of rd within n including leading zeros.\r\n // j is the actual index of rd within n (if < 0, rd is a leading zero).\r\n out: {\r\n\r\n // Get the number of digits of the first element of xc.\r\n for (d = 1, k = xc[0]; k >= 10; k /= 10, d++);\r\n i = sd - d;\r\n\r\n // If the rounding digit is in the first element of xc...\r\n if (i < 0) {\r\n i += LOG_BASE;\r\n j = sd;\r\n n = xc[ni = 0];\r\n\r\n // Get the rounding digit at index j of n.\r\n rd = n / pows10[d - j - 1] % 10 | 0;\r\n } else {\r\n ni = mathceil((i + 1) / LOG_BASE);\r\n\r\n if (ni >= xc.length) {\r\n\r\n if (r) {\r\n\r\n // Needed by sqrt.\r\n for (; xc.length <= ni; xc.push(0));\r\n n = rd = 0;\r\n d = 1;\r\n i %= LOG_BASE;\r\n j = i - LOG_BASE + 1;\r\n } else {\r\n break out;\r\n }\r\n } else {\r\n n = k = xc[ni];\r\n\r\n // Get the number of digits of n.\r\n for (d = 1; k >= 10; k /= 10, d++);\r\n\r\n // Get the index of rd within n.\r\n i %= LOG_BASE;\r\n\r\n // Get the index of rd within n, adjusted for leading zeros.\r\n // The number of leading zeros of n is given by LOG_BASE - d.\r\n j = i - LOG_BASE + d;\r\n\r\n // Get the rounding digit at index j of n.\r\n rd = j < 0 ? 0 : n / pows10[d - j - 1] % 10 | 0;\r\n }\r\n }\r\n\r\n r = r || sd < 0 ||\r\n\r\n // Are there any non-zero digits after the rounding digit?\r\n // The expression n % pows10[d - j - 1] returns all digits of n to the right\r\n // of the digit at j, e.g. if n is 908714 and j is 2, the expression gives 714.\r\n xc[ni + 1] != null || (j < 0 ? n : n % pows10[d - j - 1]);\r\n\r\n r = rm < 4\r\n ? (rd || r) && (rm == 0 || rm == (x.s < 0 ? 3 : 2))\r\n : rd > 5 || rd == 5 && (rm == 4 || r || rm == 6 &&\r\n\r\n // Check whether the digit to the left of the rounding digit is odd.\r\n ((i > 0 ? j > 0 ? n / pows10[d - j] : 0 : xc[ni - 1]) % 10) & 1 ||\r\n rm == (x.s < 0 ? 8 : 7));\r\n\r\n if (sd < 1 || !xc[0]) {\r\n xc.length = 0;\r\n\r\n if (r) {\r\n\r\n // Convert sd to decimal places.\r\n sd -= x.e + 1;\r\n\r\n // 1, 0.1, 0.01, 0.001, 0.0001 etc.\r\n xc[0] = pows10[(LOG_BASE - sd % LOG_BASE) % LOG_BASE];\r\n x.e = -sd || 0;\r\n } else {\r\n\r\n // Zero.\r\n xc[0] = x.e = 0;\r\n }\r\n\r\n return x;\r\n }\r\n\r\n // Remove excess digits.\r\n if (i == 0) {\r\n xc.length = ni;\r\n k = 1;\r\n ni--;\r\n } else {\r\n xc.length = ni + 1;\r\n k = pows10[LOG_BASE - i];\r\n\r\n // E.g. 56700 becomes 56000 if 7 is the rounding digit.\r\n // j > 0 means i > number of leading zeros of n.\r\n xc[ni] = j > 0 ? mathfloor(n / pows10[d - j] % pows10[j]) * k : 0;\r\n }\r\n\r\n // Round up?\r\n if (r) {\r\n\r\n for (; ;) {\r\n\r\n // If the digit to be rounded up is in the first element of xc...\r\n if (ni == 0) {\r\n\r\n // i will be the length of xc[0] before k is added.\r\n for (i = 1, j = xc[0]; j >= 10; j /= 10, i++);\r\n j = xc[0] += k;\r\n for (k = 1; j >= 10; j /= 10, k++);\r\n\r\n // if i != k the length has increased.\r\n if (i != k) {\r\n x.e++;\r\n if (xc[0] == BASE) xc[0] = 1;\r\n }\r\n\r\n break;\r\n } else {\r\n xc[ni] += k;\r\n if (xc[ni] != BASE) break;\r\n xc[ni--] = 0;\r\n k = 1;\r\n }\r\n }\r\n }\r\n\r\n // Remove trailing zeros.\r\n for (i = xc.length; xc[--i] === 0; xc.pop());\r\n }\r\n\r\n // Overflow? Infinity.\r\n if (x.e > MAX_EXP) {\r\n x.c = x.e = null;\r\n\r\n // Underflow? Zero.\r\n } else if (x.e < MIN_EXP) {\r\n x.c = [x.e = 0];\r\n }\r\n }\r\n\r\n return x;\r\n }\r\n\r\n\r\n function valueOf(n) {\r\n var str,\r\n e = n.e;\r\n\r\n if (e === null) return n.toString();\r\n\r\n str = coeffToString(n.c);\r\n\r\n str = e <= TO_EXP_NEG || e >= TO_EXP_POS\r\n ? toExponential(str, e)\r\n : toFixedPoint(str, e, '0');\r\n\r\n return n.s < 0 ? '-' + str : str;\r\n }\r\n\r\n\r\n // PROTOTYPE/INSTANCE METHODS\r\n\r\n\r\n /*\r\n * Return a new BigNumber whose value is the absolute value of this BigNumber.\r\n */\r\n P.absoluteValue = P.abs = function () {\r\n var x = new BigNumber(this);\r\n if (x.s < 0) x.s = 1;\r\n return x;\r\n };\r\n\r\n\r\n /*\r\n * Return\r\n * 1 if the value of this BigNumber is greater than the value of BigNumber(y, b),\r\n * -1 if the value of this BigNumber is less than the value of BigNumber(y, b),\r\n * 0 if they have the same value,\r\n * or null if the value of either is NaN.\r\n */\r\n P.comparedTo = function (y, b) {\r\n return compare(this, new BigNumber(y, b));\r\n };\r\n\r\n\r\n /*\r\n * If dp is undefined or null or true or false, return the number of decimal places of the\r\n * value of this BigNumber, or null if the value of this BigNumber is ±Infinity or NaN.\r\n *\r\n * Otherwise, if dp is a number, return a new BigNumber whose value is the value of this\r\n * BigNumber rounded to a maximum of dp decimal places using rounding mode rm, or\r\n * ROUNDING_MODE if rm is omitted.\r\n *\r\n * [dp] {number} Decimal places: integer, 0 to MAX inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {dp|rm}'\r\n */\r\n P.decimalPlaces = P.dp = function (dp, rm) {\r\n var c, n, v,\r\n x = this;\r\n\r\n if (dp != null) {\r\n intCheck(dp, 0, MAX);\r\n if (rm == null) rm = ROUNDING_MODE;\r\n else intCheck(rm, 0, 8);\r\n\r\n return round(new BigNumber(x), dp + x.e + 1, rm);\r\n }\r\n\r\n if (!(c = x.c)) return null;\r\n n = ((v = c.length - 1) - bitFloor(this.e / LOG_BASE)) * LOG_BASE;\r\n\r\n // Subtract the number of trailing zeros of the last number.\r\n if (v = c[v]) for (; v % 10 == 0; v /= 10, n--);\r\n if (n < 0) n = 0;\r\n\r\n return n;\r\n };\r\n\r\n\r\n /*\r\n * n / 0 = I\r\n * n / N = N\r\n * n / I = 0\r\n * 0 / n = 0\r\n * 0 / 0 = N\r\n * 0 / N = N\r\n * 0 / I = 0\r\n * N / n = N\r\n * N / 0 = N\r\n * N / N = N\r\n * N / I = N\r\n * I / n = I\r\n * I / 0 = I\r\n * I / N = N\r\n * I / I = N\r\n *\r\n * Return a new BigNumber whose value is the value of this BigNumber divided by the value of\r\n * BigNumber(y, b), rounded according to DECIMAL_PLACES and ROUNDING_MODE.\r\n */\r\n P.dividedBy = P.div = function (y, b) {\r\n return div(this, new BigNumber(y, b), DECIMAL_PLACES, ROUNDING_MODE);\r\n };\r\n\r\n\r\n /*\r\n * Return a new BigNumber whose value is the integer part of dividing the value of this\r\n * BigNumber by the value of BigNumber(y, b).\r\n */\r\n P.dividedToIntegerBy = P.idiv = function (y, b) {\r\n return div(this, new BigNumber(y, b), 0, 1);\r\n };\r\n\r\n\r\n /*\r\n * Return a BigNumber whose value is the value of this BigNumber exponentiated by n.\r\n *\r\n * If m is present, return the result modulo m.\r\n * If n is negative round according to DECIMAL_PLACES and ROUNDING_MODE.\r\n * If POW_PRECISION is non-zero and m is not present, round to POW_PRECISION using ROUNDING_MODE.\r\n *\r\n * The modular power operation works efficiently when x, n, and m are integers, otherwise it\r\n * is equivalent to calculating x.exponentiatedBy(n).modulo(m) with a POW_PRECISION of 0.\r\n *\r\n * n {number|string|BigNumber} The exponent. An integer.\r\n * [m] {number|string|BigNumber} The modulus.\r\n *\r\n * '[BigNumber Error] Exponent not an integer: {n}'\r\n */\r\n P.exponentiatedBy = P.pow = function (n, m) {\r\n var half, isModExp, i, k, more, nIsBig, nIsNeg, nIsOdd, y,\r\n x = this;\r\n\r\n n = new BigNumber(n);\r\n\r\n // Allow NaN and ±Infinity, but not other non-integers.\r\n if (n.c && !n.isInteger()) {\r\n throw Error\r\n (bignumberError + 'Exponent not an integer: ' + valueOf(n));\r\n }\r\n\r\n if (m != null) m = new BigNumber(m);\r\n\r\n // Exponent of MAX_SAFE_INTEGER is 15.\r\n nIsBig = n.e > 14;\r\n\r\n // If x is NaN, ±Infinity, ±0 or ±1, or n is ±Infinity, NaN or ±0.\r\n if (!x.c || !x.c[0] || x.c[0] == 1 && !x.e && x.c.length == 1 || !n.c || !n.c[0]) {\r\n\r\n // The sign of the result of pow when x is negative depends on the evenness of n.\r\n // If +n overflows to ±Infinity, the evenness of n would be not be known.\r\n y = new BigNumber(Math.pow(+valueOf(x), nIsBig ? 2 - isOdd(n) : +valueOf(n)));\r\n return m ? y.mod(m) : y;\r\n }\r\n\r\n nIsNeg = n.s < 0;\r\n\r\n if (m) {\r\n\r\n // x % m returns NaN if abs(m) is zero, or m is NaN.\r\n if (m.c ? !m.c[0] : !m.s) return new BigNumber(NaN);\r\n\r\n isModExp = !nIsNeg && x.isInteger() && m.isInteger();\r\n\r\n if (isModExp) x = x.mod(m);\r\n\r\n // Overflow to ±Infinity: >=2**1e10 or >=1.0000024**1e15.\r\n // Underflow to ±0: <=0.79**1e10 or <=0.9999975**1e15.\r\n } else if (n.e > 9 && (x.e > 0 || x.e < -1 || (x.e == 0\r\n // [1, 240000000]\r\n ? x.c[0] > 1 || nIsBig && x.c[1] >= 24e7\r\n // [80000000000000] [99999750000000]\r\n : x.c[0] < 8e13 || nIsBig && x.c[0] <= 9999975e7))) {\r\n\r\n // If x is negative and n is odd, k = -0, else k = 0.\r\n k = x.s < 0 && isOdd(n) ? -0 : 0;\r\n\r\n // If x >= 1, k = ±Infinity.\r\n if (x.e > -1) k = 1 / k;\r\n\r\n // If n is negative return ±0, else return ±Infinity.\r\n return new BigNumber(nIsNeg ? 1 / k : k);\r\n\r\n } else if (POW_PRECISION) {\r\n\r\n // Truncating each coefficient array to a length of k after each multiplication\r\n // equates to truncating significant digits to POW_PRECISION + [28, 41],\r\n // i.e. there will be a minimum of 28 guard digits retained.\r\n k = mathceil(POW_PRECISION / LOG_BASE + 2);\r\n }\r\n\r\n if (nIsBig) {\r\n half = new BigNumber(0.5);\r\n if (nIsNeg) n.s = 1;\r\n nIsOdd = isOdd(n);\r\n } else {\r\n i = Math.abs(+valueOf(n));\r\n nIsOdd = i % 2;\r\n }\r\n\r\n y = new BigNumber(ONE);\r\n\r\n // Performs 54 loop iterations for n of 9007199254740991.\r\n for (; ;) {\r\n\r\n if (nIsOdd) {\r\n y = y.times(x);\r\n if (!y.c) break;\r\n\r\n if (k) {\r\n if (y.c.length > k) y.c.length = k;\r\n } else if (isModExp) {\r\n y = y.mod(m); //y = y.minus(div(y, m, 0, MODULO_MODE).times(m));\r\n }\r\n }\r\n\r\n if (i) {\r\n i = mathfloor(i / 2);\r\n if (i === 0) break;\r\n nIsOdd = i % 2;\r\n } else {\r\n n = n.times(half);\r\n round(n, n.e + 1, 1);\r\n\r\n if (n.e > 14) {\r\n nIsOdd = isOdd(n);\r\n } else {\r\n i = +valueOf(n);\r\n if (i === 0) break;\r\n nIsOdd = i % 2;\r\n }\r\n }\r\n\r\n x = x.times(x);\r\n\r\n if (k) {\r\n if (x.c && x.c.length > k) x.c.length = k;\r\n } else if (isModExp) {\r\n x = x.mod(m); //x = x.minus(div(x, m, 0, MODULO_MODE).times(m));\r\n }\r\n }\r\n\r\n if (isModExp) return y;\r\n if (nIsNeg) y = ONE.div(y);\r\n\r\n return m ? y.mod(m) : k ? round(y, POW_PRECISION, ROUNDING_MODE, more) : y;\r\n };\r\n\r\n\r\n /*\r\n * Return a new BigNumber whose value is the value of this BigNumber rounded to an integer\r\n * using rounding mode rm, or ROUNDING_MODE if rm is omitted.\r\n *\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {rm}'\r\n */\r\n P.integerValue = function (rm) {\r\n var n = new BigNumber(this);\r\n if (rm == null) rm = ROUNDING_MODE;\r\n else intCheck(rm, 0, 8);\r\n return round(n, n.e + 1, rm);\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is equal to the value of BigNumber(y, b),\r\n * otherwise return false.\r\n */\r\n P.isEqualTo = P.eq = function (y, b) {\r\n return compare(this, new BigNumber(y, b)) === 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is a finite number, otherwise return false.\r\n */\r\n P.isFinite = function () {\r\n return !!this.c;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is greater than the value of BigNumber(y, b),\r\n * otherwise return false.\r\n */\r\n P.isGreaterThan = P.gt = function (y, b) {\r\n return compare(this, new BigNumber(y, b)) > 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is greater than or equal to the value of\r\n * BigNumber(y, b), otherwise return false.\r\n */\r\n P.isGreaterThanOrEqualTo = P.gte = function (y, b) {\r\n return (b = compare(this, new BigNumber(y, b))) === 1 || b === 0;\r\n\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is an integer, otherwise return false.\r\n */\r\n P.isInteger = function () {\r\n return !!this.c && bitFloor(this.e / LOG_BASE) > this.c.length - 2;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is less than the value of BigNumber(y, b),\r\n * otherwise return false.\r\n */\r\n P.isLessThan = P.lt = function (y, b) {\r\n return compare(this, new BigNumber(y, b)) < 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is less than or equal to the value of\r\n * BigNumber(y, b), otherwise return false.\r\n */\r\n P.isLessThanOrEqualTo = P.lte = function (y, b) {\r\n return (b = compare(this, new BigNumber(y, b))) === -1 || b === 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is NaN, otherwise return false.\r\n */\r\n P.isNaN = function () {\r\n return !this.s;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is negative, otherwise return false.\r\n */\r\n P.isNegative = function () {\r\n return this.s < 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is positive, otherwise return false.\r\n */\r\n P.isPositive = function () {\r\n return this.s > 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is 0 or -0, otherwise return false.\r\n */\r\n P.isZero = function () {\r\n return !!this.c && this.c[0] == 0;\r\n };\r\n\r\n\r\n /*\r\n * n - 0 = n\r\n * n - N = N\r\n * n - I = -I\r\n * 0 - n = -n\r\n * 0 - 0 = 0\r\n * 0 - N = N\r\n * 0 - I = -I\r\n * N - n = N\r\n * N - 0 = N\r\n * N - N = N\r\n * N - I = N\r\n * I - n = I\r\n * I - 0 = I\r\n * I - N = N\r\n * I - I = N\r\n *\r\n * Return a new BigNumber whose value is the value of this BigNumber minus the value of\r\n * BigNumber(y, b).\r\n */\r\n P.minus = function (y, b) {\r\n var i, j, t, xLTy,\r\n x = this,\r\n a = x.s;\r\n\r\n y = new BigNumber(y, b);\r\n b = y.s;\r\n\r\n // Either NaN?\r\n if (!a || !b) return new BigNumber(NaN);\r\n\r\n // Signs differ?\r\n if (a != b) {\r\n y.s = -b;\r\n return x.plus(y);\r\n }\r\n\r\n var xe = x.e / LOG_BASE,\r\n ye = y.e / LOG_BASE,\r\n xc = x.c,\r\n yc = y.c;\r\n\r\n if (!xe || !ye) {\r\n\r\n // Either Infinity?\r\n if (!xc || !yc) return xc ? (y.s = -b, y) : new BigNumber(yc ? x : NaN);\r\n\r\n // Either zero?\r\n if (!xc[0] || !yc[0]) {\r\n\r\n // Return y if y is non-zero, x if x is non-zero, or zero if both are zero.\r\n return yc[0] ? (y.s = -b, y) : new BigNumber(xc[0] ? x :\r\n\r\n // IEEE 754 (2008) 6.3: n - n = -0 when rounding to -Infinity\r\n ROUNDING_MODE == 3 ? -0 : 0);\r\n }\r\n }\r\n\r\n xe = bitFloor(xe);\r\n ye = bitFloor(ye);\r\n xc = xc.slice();\r\n\r\n // Determine which is the bigger number.\r\n if (a = xe - ye) {\r\n\r\n if (xLTy = a < 0) {\r\n a = -a;\r\n t = xc;\r\n } else {\r\n ye = xe;\r\n t = yc;\r\n }\r\n\r\n t.reverse();\r\n\r\n // Prepend zeros to equalise exponents.\r\n for (b = a; b--; t.push(0));\r\n t.reverse();\r\n } else {\r\n\r\n // Exponents equal. Check digit by digit.\r\n j = (xLTy = (a = xc.length) < (b = yc.length)) ? a : b;\r\n\r\n for (a = b = 0; b < j; b++) {\r\n\r\n if (xc[b] != yc[b]) {\r\n xLTy = xc[b] < yc[b];\r\n break;\r\n }\r\n }\r\n }\r\n\r\n // x < y? Point xc to the array of the bigger number.\r\n if (xLTy) t = xc, xc = yc, yc = t, y.s = -y.s;\r\n\r\n b = (j = yc.length) - (i = xc.length);\r\n\r\n // Append zeros to xc if shorter.\r\n // No need to add zeros to yc if shorter as subtract only needs to start at yc.length.\r\n if (b > 0) for (; b--; xc[i++] = 0);\r\n b = BASE - 1;\r\n\r\n // Subtract yc from xc.\r\n for (; j > a;) {\r\n\r\n if (xc[--j] < yc[j]) {\r\n for (i = j; i && !xc[--i]; xc[i] = b);\r\n --xc[i];\r\n xc[j] += BASE;\r\n }\r\n\r\n xc[j] -= yc[j];\r\n }\r\n\r\n // Remove leading zeros and adjust exponent accordingly.\r\n for (; xc[0] == 0; xc.splice(0, 1), --ye);\r\n\r\n // Zero?\r\n if (!xc[0]) {\r\n\r\n // Following IEEE 754 (2008) 6.3,\r\n // n - n = +0 but n - n = -0 when rounding towards -Infinity.\r\n y.s = ROUNDING_MODE == 3 ? -1 : 1;\r\n y.c = [y.e = 0];\r\n return y;\r\n }\r\n\r\n // No need to check for Infinity as +x - +y != Infinity && -x - -y != Infinity\r\n // for finite x and y.\r\n return normalise(y, xc, ye);\r\n };\r\n\r\n\r\n /*\r\n * n % 0 = N\r\n * n % N = N\r\n * n % I = n\r\n * 0 % n = 0\r\n * -0 % n = -0\r\n * 0 % 0 = N\r\n * 0 % N = N\r\n * 0 % I = 0\r\n * N % n = N\r\n * N % 0 = N\r\n * N % N = N\r\n * N % I = N\r\n * I % n = N\r\n * I % 0 = N\r\n * I % N = N\r\n * I % I = N\r\n *\r\n * Return a new BigNumber whose value is the value of this BigNumber modulo the value of\r\n * BigNumber(y, b). The result depends on the value of MODULO_MODE.\r\n */\r\n P.modulo = P.mod = function (y, b) {\r\n var q, s,\r\n x = this;\r\n\r\n y = new BigNumber(y, b);\r\n\r\n // Return NaN if x is Infinity or NaN, or y is NaN or zero.\r\n if (!x.c || !y.s || y.c && !y.c[0]) {\r\n return new BigNumber(NaN);\r\n\r\n // Return x if y is Infinity or x is zero.\r\n } else if (!y.c || x.c && !x.c[0]) {\r\n return new BigNumber(x);\r\n }\r\n\r\n if (MODULO_MODE == 9) {\r\n\r\n // Euclidian division: q = sign(y) * floor(x / abs(y))\r\n // r = x - qy where 0 <= r < abs(y)\r\n s = y.s;\r\n y.s = 1;\r\n q = div(x, y, 0, 3);\r\n y.s = s;\r\n q.s *= s;\r\n } else {\r\n q = div(x, y, 0, MODULO_MODE);\r\n }\r\n\r\n y = x.minus(q.times(y));\r\n\r\n // To match JavaScript %, ensure sign of zero is sign of dividend.\r\n if (!y.c[0] && MODULO_MODE == 1) y.s = x.s;\r\n\r\n return y;\r\n };\r\n\r\n\r\n /*\r\n * n * 0 = 0\r\n * n * N = N\r\n * n * I = I\r\n * 0 * n = 0\r\n * 0 * 0 = 0\r\n * 0 * N = N\r\n * 0 * I = N\r\n * N * n = N\r\n * N * 0 = N\r\n * N * N = N\r\n * N * I = N\r\n * I * n = I\r\n * I * 0 = N\r\n * I * N = N\r\n * I * I = I\r\n *\r\n * Return a new BigNumber whose value is the value of this BigNumber multiplied by the value\r\n * of BigNumber(y, b).\r\n */\r\n P.multipliedBy = P.times = function (y, b) {\r\n var c, e, i, j, k, m, xcL, xlo, xhi, ycL, ylo, yhi, zc,\r\n base, sqrtBase,\r\n x = this,\r\n xc = x.c,\r\n yc = (y = new BigNumber(y, b)).c;\r\n\r\n // Either NaN, ±Infinity or ±0?\r\n if (!xc || !yc || !xc[0] || !yc[0]) {\r\n\r\n // Return NaN if either is NaN, or one is 0 and the other is Infinity.\r\n if (!x.s || !y.s || xc && !xc[0] && !yc || yc && !yc[0] && !xc) {\r\n y.c = y.e = y.s = null;\r\n } else {\r\n y.s *= x.s;\r\n\r\n // Return ±Infinity if either is ±Infinity.\r\n if (!xc || !yc) {\r\n y.c = y.e = null;\r\n\r\n // Return ±0 if either is ±0.\r\n } else {\r\n y.c = [0];\r\n y.e = 0;\r\n }\r\n }\r\n\r\n return y;\r\n }\r\n\r\n e = bitFloor(x.e / LOG_BASE) + bitFloor(y.e / LOG_BASE);\r\n y.s *= x.s;\r\n xcL = xc.length;\r\n ycL = yc.length;\r\n\r\n // Ensure xc points to longer array and xcL to its length.\r\n if (xcL < ycL) zc = xc, xc = yc, yc = zc, i = xcL, xcL = ycL, ycL = i;\r\n\r\n // Initialise the result array with zeros.\r\n for (i = xcL + ycL, zc = []; i--; zc.push(0));\r\n\r\n base = BASE;\r\n sqrtBase = SQRT_BASE;\r\n\r\n for (i = ycL; --i >= 0;) {\r\n c = 0;\r\n ylo = yc[i] % sqrtBase;\r\n yhi = yc[i] / sqrtBase | 0;\r\n\r\n for (k = xcL, j = i + k; j > i;) {\r\n xlo = xc[--k] % sqrtBase;\r\n xhi = xc[k] / sqrtBase | 0;\r\n m = yhi * xlo + xhi * ylo;\r\n xlo = ylo * xlo + ((m % sqrtBase) * sqrtBase) + zc[j] + c;\r\n c = (xlo / base | 0) + (m / sqrtBase | 0) + yhi * xhi;\r\n zc[j--] = xlo % base;\r\n }\r\n\r\n zc[j] = c;\r\n }\r\n\r\n if (c) {\r\n ++e;\r\n } else {\r\n zc.splice(0, 1);\r\n }\r\n\r\n return normalise(y, zc, e);\r\n };\r\n\r\n\r\n /*\r\n * Return a new BigNumber whose value is the value of this BigNumber negated,\r\n * i.e. multiplied by -1.\r\n */\r\n P.negated = function () {\r\n var x = new BigNumber(this);\r\n x.s = -x.s || null;\r\n return x;\r\n };\r\n\r\n\r\n /*\r\n * n + 0 = n\r\n * n + N = N\r\n * n + I = I\r\n * 0 + n = n\r\n * 0 + 0 = 0\r\n * 0 + N = N\r\n * 0 + I = I\r\n * N + n = N\r\n * N + 0 = N\r\n * N + N = N\r\n * N + I = N\r\n * I + n = I\r\n * I + 0 = I\r\n * I + N = N\r\n * I + I = I\r\n *\r\n * Return a new BigNumber whose value is the value of this BigNumber plus the value of\r\n * BigNumber(y, b).\r\n */\r\n P.plus = function (y, b) {\r\n var t,\r\n x = this,\r\n a = x.s;\r\n\r\n y = new BigNumber(y, b);\r\n b = y.s;\r\n\r\n // Either NaN?\r\n if (!a || !b) return new BigNumber(NaN);\r\n\r\n // Signs differ?\r\n if (a != b) {\r\n y.s = -b;\r\n return x.minus(y);\r\n }\r\n\r\n var xe = x.e / LOG_BASE,\r\n ye = y.e / LOG_BASE,\r\n xc = x.c,\r\n yc = y.c;\r\n\r\n if (!xe || !ye) {\r\n\r\n // Return ±Infinity if either ±Infinity.\r\n if (!xc || !yc) return new BigNumber(a / 0);\r\n\r\n // Either zero?\r\n // Return y if y is non-zero, x if x is non-zero, or zero if both are zero.\r\n if (!xc[0] || !yc[0]) return yc[0] ? y : new BigNumber(xc[0] ? x : a * 0);\r\n }\r\n\r\n xe = bitFloor(xe);\r\n ye = bitFloor(ye);\r\n xc = xc.slice();\r\n\r\n // Prepend zeros to equalise exponents. Faster to use reverse then do unshifts.\r\n if (a = xe - ye) {\r\n if (a > 0) {\r\n ye = xe;\r\n t = yc;\r\n } else {\r\n a = -a;\r\n t = xc;\r\n }\r\n\r\n t.reverse();\r\n for (; a--; t.push(0));\r\n t.reverse();\r\n }\r\n\r\n a = xc.length;\r\n b = yc.length;\r\n\r\n // Point xc to the longer array, and b to the shorter length.\r\n if (a - b < 0) t = yc, yc = xc, xc = t, b = a;\r\n\r\n // Only start adding at yc.length - 1 as the further digits of xc can be ignored.\r\n for (a = 0; b;) {\r\n a = (xc[--b] = xc[b] + yc[b] + a) / BASE | 0;\r\n xc[b] = BASE === xc[b] ? 0 : xc[b] % BASE;\r\n }\r\n\r\n if (a) {\r\n xc = [a].concat(xc);\r\n ++ye;\r\n }\r\n\r\n // No need to check for zero, as +x + +y != 0 && -x + -y != 0\r\n // ye = MAX_EXP + 1 possible\r\n return normalise(y, xc, ye);\r\n };\r\n\r\n\r\n /*\r\n * If sd is undefined or null or true or false, return the number of significant digits of\r\n * the value of this BigNumber, or null if the value of this BigNumber is ±Infinity or NaN.\r\n * If sd is true include integer-part trailing zeros in the count.\r\n *\r\n * Otherwise, if sd is a number, return a new BigNumber whose value is the value of this\r\n * BigNumber rounded to a maximum of sd significant digits using rounding mode rm, or\r\n * ROUNDING_MODE if rm is omitted.\r\n *\r\n * sd {number|boolean} number: significant digits: integer, 1 to MAX inclusive.\r\n * boolean: whether to count integer-part trailing zeros: true or false.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {sd|rm}'\r\n */\r\n P.precision = P.sd = function (sd, rm) {\r\n var c, n, v,\r\n x = this;\r\n\r\n if (sd != null && sd !== !!sd) {\r\n intCheck(sd, 1, MAX);\r\n if (rm == null) rm = ROUNDING_MODE;\r\n else intCheck(rm, 0, 8);\r\n\r\n return round(new BigNumber(x), sd, rm);\r\n }\r\n\r\n if (!(c = x.c)) return null;\r\n v = c.length - 1;\r\n n = v * LOG_BASE + 1;\r\n\r\n if (v = c[v]) {\r\n\r\n // Subtract the number of trailing zeros of the last element.\r\n for (; v % 10 == 0; v /= 10, n--);\r\n\r\n // Add the number of digits of the first element.\r\n for (v = c[0]; v >= 10; v /= 10, n++);\r\n }\r\n\r\n if (sd && x.e + 1 > n) n = x.e + 1;\r\n\r\n return n;\r\n };\r\n\r\n\r\n /*\r\n * Return a new BigNumber whose value is the value of this BigNumber shifted by k places\r\n * (powers of 10). Shift to the right if n > 0, and to the left if n < 0.\r\n *\r\n * k {number} Integer, -MAX_SAFE_INTEGER to MAX_SAFE_INTEGER inclusive.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {k}'\r\n */\r\n P.shiftedBy = function (k) {\r\n intCheck(k, -MAX_SAFE_INTEGER, MAX_SAFE_INTEGER);\r\n return this.times('1e' + k);\r\n };\r\n\r\n\r\n /*\r\n * sqrt(-n) = N\r\n * sqrt(N) = N\r\n * sqrt(-I) = N\r\n * sqrt(I) = I\r\n * sqrt(0) = 0\r\n * sqrt(-0) = -0\r\n *\r\n * Return a new BigNumber whose value is the square root of the value of this BigNumber,\r\n * rounded according to DECIMAL_PLACES and ROUNDING_MODE.\r\n */\r\n P.squareRoot = P.sqrt = function () {\r\n var m, n, r, rep, t,\r\n x = this,\r\n c = x.c,\r\n s = x.s,\r\n e = x.e,\r\n dp = DECIMAL_PLACES + 4,\r\n half = new BigNumber('0.5');\r\n\r\n // Negative/NaN/Infinity/zero?\r\n if (s !== 1 || !c || !c[0]) {\r\n return new BigNumber(!s || s < 0 && (!c || c[0]) ? NaN : c ? x : 1 / 0);\r\n }\r\n\r\n // Initial estimate.\r\n s = Math.sqrt(+valueOf(x));\r\n\r\n // Math.sqrt underflow/overflow?\r\n // Pass x to Math.sqrt as integer, then adjust the exponent of the result.\r\n if (s == 0 || s == 1 / 0) {\r\n n = coeffToString(c);\r\n if ((n.length + e) % 2 == 0) n += '0';\r\n s = Math.sqrt(+n);\r\n e = bitFloor((e + 1) / 2) - (e < 0 || e % 2);\r\n\r\n if (s == 1 / 0) {\r\n n = '5e' + e;\r\n } else {\r\n n = s.toExponential();\r\n n = n.slice(0, n.indexOf('e') + 1) + e;\r\n }\r\n\r\n r = new BigNumber(n);\r\n } else {\r\n r = new BigNumber(s + '');\r\n }\r\n\r\n // Check for zero.\r\n // r could be zero if MIN_EXP is changed after the this value was created.\r\n // This would cause a division by zero (x/t) and hence Infinity below, which would cause\r\n // coeffToString to throw.\r\n if (r.c[0]) {\r\n e = r.e;\r\n s = e + dp;\r\n if (s < 3) s = 0;\r\n\r\n // Newton-Raphson iteration.\r\n for (; ;) {\r\n t = r;\r\n r = half.times(t.plus(div(x, t, dp, 1)));\r\n\r\n if (coeffToString(t.c).slice(0, s) === (n = coeffToString(r.c)).slice(0, s)) {\r\n\r\n // The exponent of r may here be one less than the final result exponent,\r\n // e.g 0.0009999 (e-4) --> 0.001 (e-3), so adjust s so the rounding digits\r\n // are indexed correctly.\r\n if (r.e < e) --s;\r\n n = n.slice(s - 3, s + 1);\r\n\r\n // The 4th rounding digit may be in error by -1 so if the 4 rounding digits\r\n // are 9999 or 4999 (i.e. approaching a rounding boundary) continue the\r\n // iteration.\r\n if (n == '9999' || !rep && n == '4999') {\r\n\r\n // On the first iteration only, check to see if rounding up gives the\r\n // exact result as the nines may infinitely repeat.\r\n if (!rep) {\r\n round(t, t.e + DECIMAL_PLACES + 2, 0);\r\n\r\n if (t.times(t).eq(x)) {\r\n r = t;\r\n break;\r\n }\r\n }\r\n\r\n dp += 4;\r\n s += 4;\r\n rep = 1;\r\n } else {\r\n\r\n // If rounding digits are null, 0{0,4} or 50{0,3}, check for exact\r\n // result. If not, then there are further digits and m will be truthy.\r\n if (!+n || !+n.slice(1) && n.charAt(0) == '5') {\r\n\r\n // Truncate to the first rounding digit.\r\n round(r, r.e + DECIMAL_PLACES + 2, 1);\r\n m = !r.times(r).eq(x);\r\n }\r\n\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n\r\n return round(r, r.e + DECIMAL_PLACES + 1, ROUNDING_MODE, m);\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this BigNumber in exponential notation and\r\n * rounded using ROUNDING_MODE to dp fixed decimal places.\r\n *\r\n * [dp] {number} Decimal places. Integer, 0 to MAX inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {dp|rm}'\r\n */\r\n P.toExponential = function (dp, rm) {\r\n if (dp != null) {\r\n intCheck(dp, 0, MAX);\r\n dp++;\r\n }\r\n return format(this, dp, rm, 1);\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this BigNumber in fixed-point notation rounding\r\n * to dp fixed decimal places using rounding mode rm, or ROUNDING_MODE if rm is omitted.\r\n *\r\n * Note: as with JavaScript's number type, (-0).toFixed(0) is '0',\r\n * but e.g. (-0.00001).toFixed(0) is '-0'.\r\n *\r\n * [dp] {number} Decimal places. Integer, 0 to MAX inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {dp|rm}'\r\n */\r\n P.toFixed = function (dp, rm) {\r\n if (dp != null) {\r\n intCheck(dp, 0, MAX);\r\n dp = dp + this.e + 1;\r\n }\r\n return format(this, dp, rm);\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this BigNumber in fixed-point notation rounded\r\n * using rm or ROUNDING_MODE to dp decimal places, and formatted according to the properties\r\n * of the format or FORMAT object (see BigNumber.set).\r\n *\r\n * The formatting object may contain some or all of the properties shown below.\r\n *\r\n * FORMAT = {\r\n * prefix: '',\r\n * groupSize: 3,\r\n * secondaryGroupSize: 0,\r\n * groupSeparator: ',',\r\n * decimalSeparator: '.',\r\n * fractionGroupSize: 0,\r\n * fractionGroupSeparator: '\\xA0', // non-breaking space\r\n * suffix: ''\r\n * };\r\n *\r\n * [dp] {number} Decimal places. Integer, 0 to MAX inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n * [format] {object} Formatting options. See FORMAT pbject above.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {dp|rm}'\r\n * '[BigNumber Error] Argument not an object: {format}'\r\n */\r\n P.toFormat = function (dp, rm, format) {\r\n var str,\r\n x = this;\r\n\r\n if (format == null) {\r\n if (dp != null && rm && typeof rm == 'object') {\r\n format = rm;\r\n rm = null;\r\n } else if (dp && typeof dp == 'object') {\r\n format = dp;\r\n dp = rm = null;\r\n } else {\r\n format = FORMAT;\r\n }\r\n } else if (typeof format != 'object') {\r\n throw Error\r\n (bignumberError + 'Argument not an object: ' + format);\r\n }\r\n\r\n str = x.toFixed(dp, rm);\r\n\r\n if (x.c) {\r\n var i,\r\n arr = str.split('.'),\r\n g1 = +format.groupSize,\r\n g2 = +format.secondaryGroupSize,\r\n groupSeparator = format.groupSeparator || '',\r\n intPart = arr[0],\r\n fractionPart = arr[1],\r\n isNeg = x.s < 0,\r\n intDigits = isNeg ? intPart.slice(1) : intPart,\r\n len = intDigits.length;\r\n\r\n if (g2) i = g1, g1 = g2, g2 = i, len -= i;\r\n\r\n if (g1 > 0 && len > 0) {\r\n i = len % g1 || g1;\r\n intPart = intDigits.substr(0, i);\r\n for (; i < len; i += g1) intPart += groupSeparator + intDigits.substr(i, g1);\r\n if (g2 > 0) intPart += groupSeparator + intDigits.slice(i);\r\n if (isNeg) intPart = '-' + intPart;\r\n }\r\n\r\n str = fractionPart\r\n ? intPart + (format.decimalSeparator || '') + ((g2 = +format.fractionGroupSize)\r\n ? fractionPart.replace(new RegExp('\\\\d{' + g2 + '}\\\\B', 'g'),\r\n '$&' + (format.fractionGroupSeparator || ''))\r\n : fractionPart)\r\n : intPart;\r\n }\r\n\r\n return (format.prefix || '') + str + (format.suffix || '');\r\n };\r\n\r\n\r\n /*\r\n * Return an array of two BigNumbers representing the value of this BigNumber as a simple\r\n * fraction with an integer numerator and an integer denominator.\r\n * The denominator will be a positive non-zero value less than or equal to the specified\r\n * maximum denominator. If a maximum denominator is not specified, the denominator will be\r\n * the lowest value necessary to represent the number exactly.\r\n *\r\n * [md] {number|string|BigNumber} Integer >= 1, or Infinity. The maximum denominator.\r\n *\r\n * '[BigNumber Error] Argument {not an integer|out of range} : {md}'\r\n */\r\n P.toFraction = function (md) {\r\n var d, d0, d1, d2, e, exp, n, n0, n1, q, r, s,\r\n x = this,\r\n xc = x.c;\r\n\r\n if (md != null) {\r\n n = new BigNumber(md);\r\n\r\n // Throw if md is less than one or is not an integer, unless it is Infinity.\r\n if (!n.isInteger() && (n.c || n.s !== 1) || n.lt(ONE)) {\r\n throw Error\r\n (bignumberError + 'Argument ' +\r\n (n.isInteger() ? 'out of range: ' : 'not an integer: ') + valueOf(n));\r\n }\r\n }\r\n\r\n if (!xc) return new BigNumber(x);\r\n\r\n d = new BigNumber(ONE);\r\n n1 = d0 = new BigNumber(ONE);\r\n d1 = n0 = new BigNumber(ONE);\r\n s = coeffToString(xc);\r\n\r\n // Determine initial denominator.\r\n // d is a power of 10 and the minimum max denominator that specifies the value exactly.\r\n e = d.e = s.length - x.e - 1;\r\n d.c[0] = POWS_TEN[(exp = e % LOG_BASE) < 0 ? LOG_BASE + exp : exp];\r\n md = !md || n.comparedTo(d) > 0 ? (e > 0 ? d : n1) : n;\r\n\r\n exp = MAX_EXP;\r\n MAX_EXP = 1 / 0;\r\n n = new BigNumber(s);\r\n\r\n // n0 = d1 = 0\r\n n0.c[0] = 0;\r\n\r\n for (; ;) {\r\n q = div(n, d, 0, 1);\r\n d2 = d0.plus(q.times(d1));\r\n if (d2.comparedTo(md) == 1) break;\r\n d0 = d1;\r\n d1 = d2;\r\n n1 = n0.plus(q.times(d2 = n1));\r\n n0 = d2;\r\n d = n.minus(q.times(d2 = d));\r\n n = d2;\r\n }\r\n\r\n d2 = div(md.minus(d0), d1, 0, 1);\r\n n0 = n0.plus(d2.times(n1));\r\n d0 = d0.plus(d2.times(d1));\r\n n0.s = n1.s = x.s;\r\n e = e * 2;\r\n\r\n // Determine which fraction is closer to x, n0/d0 or n1/d1\r\n r = div(n1, d1, e, ROUNDING_MODE).minus(x).abs().comparedTo(\r\n div(n0, d0, e, ROUNDING_MODE).minus(x).abs()) < 1 ? [n1, d1] : [n0, d0];\r\n\r\n MAX_EXP = exp;\r\n\r\n return r;\r\n };\r\n\r\n\r\n /*\r\n * Return the value of this BigNumber converted to a number primitive.\r\n */\r\n P.toNumber = function () {\r\n return +valueOf(this);\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this BigNumber rounded to sd significant digits\r\n * using rounding mode rm or ROUNDING_MODE. If sd is less than the number of digits\r\n * necessary to represent the integer part of the value in fixed-point notation, then use\r\n * exponential notation.\r\n *\r\n * [sd] {number} Significant digits. Integer, 1 to MAX inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {sd|rm}'\r\n */\r\n P.toPrecision = function (sd, rm) {\r\n if (sd != null) intCheck(sd, 1, MAX);\r\n return format(this, sd, rm, 2);\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this BigNumber in base b, or base 10 if b is\r\n * omitted. If a base is specified, including base 10, round according to DECIMAL_PLACES and\r\n * ROUNDING_MODE. If a base is not specified, and this BigNumber has a positive exponent\r\n * that is equal to or greater than TO_EXP_POS, or a negative exponent equal to or less than\r\n * TO_EXP_NEG, return exponential notation.\r\n *\r\n * [b] {number} Integer, 2 to ALPHABET.length inclusive.\r\n *\r\n * '[BigNumber Error] Base {not a primitive number|not an integer|out of range}: {b}'\r\n */\r\n P.toString = function (b) {\r\n var str,\r\n n = this,\r\n s = n.s,\r\n e = n.e;\r\n\r\n // Infinity or NaN?\r\n if (e === null) {\r\n if (s) {\r\n str = 'Infinity';\r\n if (s < 0) str = '-' + str;\r\n } else {\r\n str = 'NaN';\r\n }\r\n } else {\r\n if (b == null) {\r\n str = e <= TO_EXP_NEG || e >= TO_EXP_POS\r\n ? toExponential(coeffToString(n.c), e)\r\n : toFixedPoint(coeffToString(n.c), e, '0');\r\n } else if (b === 10) {\r\n n = round(new BigNumber(n), DECIMAL_PLACES + e + 1, ROUNDING_MODE);\r\n str = toFixedPoint(coeffToString(n.c), n.e, '0');\r\n } else {\r\n intCheck(b, 2, ALPHABET.length, 'Base');\r\n str = convertBase(toFixedPoint(coeffToString(n.c), e, '0'), 10, b, s, true);\r\n }\r\n\r\n if (s < 0 && n.c[0]) str = '-' + str;\r\n }\r\n\r\n return str;\r\n };\r\n\r\n\r\n /*\r\n * Return as toString, but do not accept a base argument, and include the minus sign for\r\n * negative zero.\r\n */\r\n P.valueOf = P.toJSON = function () {\r\n return valueOf(this);\r\n };\r\n\r\n\r\n P._isBigNumber = true;\r\n\r\n if (configObject != null) BigNumber.set(configObject);\r\n\r\n return BigNumber;\r\n }\r\n\r\n\r\n // PRIVATE HELPER FUNCTIONS\r\n\r\n // These functions don't need access to variables,\r\n // e.g. DECIMAL_PLACES, in the scope of the `clone` function above.\r\n\r\n\r\n function bitFloor(n) {\r\n var i = n | 0;\r\n return n > 0 || n === i ? i : i - 1;\r\n }\r\n\r\n\r\n // Return a coefficient array as a string of base 10 digits.\r\n function coeffToString(a) {\r\n var s, z,\r\n i = 1,\r\n j = a.length,\r\n r = a[0] + '';\r\n\r\n for (; i < j;) {\r\n s = a[i++] + '';\r\n z = LOG_BASE - s.length;\r\n for (; z--; s = '0' + s);\r\n r += s;\r\n }\r\n\r\n // Determine trailing zeros.\r\n for (j = r.length; r.charCodeAt(--j) === 48;);\r\n\r\n return r.slice(0, j + 1 || 1);\r\n }\r\n\r\n\r\n // Compare the value of BigNumbers x and y.\r\n function compare(x, y) {\r\n var a, b,\r\n xc = x.c,\r\n yc = y.c,\r\n i = x.s,\r\n j = y.s,\r\n k = x.e,\r\n l = y.e;\r\n\r\n // Either NaN?\r\n if (!i || !j) return null;\r\n\r\n a = xc && !xc[0];\r\n b = yc && !yc[0];\r\n\r\n // Either zero?\r\n if (a || b) return a ? b ? 0 : -j : i;\r\n\r\n // Signs differ?\r\n if (i != j) return i;\r\n\r\n a = i < 0;\r\n b = k == l;\r\n\r\n // Either Infinity?\r\n if (!xc || !yc) return b ? 0 : !xc ^ a ? 1 : -1;\r\n\r\n // Compare exponents.\r\n if (!b) return k > l ^ a ? 1 : -1;\r\n\r\n j = (k = xc.length) < (l = yc.length) ? k : l;\r\n\r\n // Compare digit by digit.\r\n for (i = 0; i < j; i++) if (xc[i] != yc[i]) return xc[i] > yc[i] ^ a ? 1 : -1;\r\n\r\n // Compare lengths.\r\n return k == l ? 0 : k > l ^ a ? 1 : -1;\r\n }\r\n\r\n\r\n /*\r\n * Check that n is a primitive number, an integer, and in range, otherwise throw.\r\n */\r\n function intCheck(n, min, max, name) {\r\n if (n < min || n > max || n !== mathfloor(n)) {\r\n throw Error\r\n (bignumberError + (name || 'Argument') + (typeof n == 'number'\r\n ? n < min || n > max ? ' out of range: ' : ' not an integer: '\r\n : ' not a primitive number: ') + String(n));\r\n }\r\n }\r\n\r\n\r\n // Assumes finite n.\r\n function isOdd(n) {\r\n var k = n.c.length - 1;\r\n return bitFloor(n.e / LOG_BASE) == k && n.c[k] % 2 != 0;\r\n }\r\n\r\n\r\n function toExponential(str, e) {\r\n return (str.length > 1 ? str.charAt(0) + '.' + str.slice(1) : str) +\r\n (e < 0 ? 'e' : 'e+') + e;\r\n }\r\n\r\n\r\n function toFixedPoint(str, e, z) {\r\n var len, zs;\r\n\r\n // Negative exponent?\r\n if (e < 0) {\r\n\r\n // Prepend zeros.\r\n for (zs = z + '.'; ++e; zs += z);\r\n str = zs + str;\r\n\r\n // Positive exponent\r\n } else {\r\n len = str.length;\r\n\r\n // Append zeros.\r\n if (++e > len) {\r\n for (zs = z, e -= len; --e; zs += z);\r\n str += zs;\r\n } else if (e < len) {\r\n str = str.slice(0, e) + '.' + str.slice(e);\r\n }\r\n }\r\n\r\n return str;\r\n }\r\n\r\n\r\n // EXPORT\r\n\r\n\r\n BigNumber = clone();\r\n BigNumber['default'] = BigNumber.BigNumber = BigNumber;\r\n\r\n // AMD.\r\n if (true) {\r\n !(__WEBPACK_AMD_DEFINE_RESULT__ = (function () { return BigNumber; }).call(exports, __webpack_require__, exports, module),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\r\n\r\n // Node.js and other environments that support module.exports.\r\n } else {}\r\n})(this);\r\n\n\n//# sourceURL=webpack://dcp/./node_modules/bignumber.js/bignumber.js?"); + +/***/ }), + +/***/ "./node_modules/bn.js/lib/bn.js": +/*!**************************************!*\ + !*** ./node_modules/bn.js/lib/bn.js ***! + \**************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +eval("/* module decorator */ module = __webpack_require__.nmd(module);\n(function (module, exports) {\n 'use strict';\n\n // Utils\n function assert (val, msg) {\n if (!val) throw new Error(msg || 'Assertion failed');\n }\n\n // Could use `inherits` module, but don't want to move from single file\n // architecture yet.\n function inherits (ctor, superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function () {};\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n }\n\n // BN\n\n function BN (number, base, endian) {\n if (BN.isBN(number)) {\n return number;\n }\n\n this.negative = 0;\n this.words = null;\n this.length = 0;\n\n // Reduction context\n this.red = null;\n\n if (number !== null) {\n if (base === 'le' || base === 'be') {\n endian = base;\n base = 10;\n }\n\n this._init(number || 0, base || 10, endian || 'be');\n }\n }\n if (typeof module === 'object') {\n module.exports = BN;\n } else {\n exports.BN = BN;\n }\n\n BN.BN = BN;\n BN.wordSize = 26;\n\n var Buffer;\n try {\n if (typeof window !== 'undefined' && typeof window.Buffer !== 'undefined') {\n Buffer = window.Buffer;\n } else {\n Buffer = (__webpack_require__(/*! buffer */ \"?8131\").Buffer);\n }\n } catch (e) {\n }\n\n BN.isBN = function isBN (num) {\n if (num instanceof BN) {\n return true;\n }\n\n return num !== null && typeof num === 'object' &&\n num.constructor.wordSize === BN.wordSize && Array.isArray(num.words);\n };\n\n BN.max = function max (left, right) {\n if (left.cmp(right) > 0) return left;\n return right;\n };\n\n BN.min = function min (left, right) {\n if (left.cmp(right) < 0) return left;\n return right;\n };\n\n BN.prototype._init = function init (number, base, endian) {\n if (typeof number === 'number') {\n return this._initNumber(number, base, endian);\n }\n\n if (typeof number === 'object') {\n return this._initArray(number, base, endian);\n }\n\n if (base === 'hex') {\n base = 16;\n }\n assert(base === (base | 0) && base >= 2 && base <= 36);\n\n number = number.toString().replace(/\\s+/g, '');\n var start = 0;\n if (number[0] === '-') {\n start++;\n this.negative = 1;\n }\n\n if (start < number.length) {\n if (base === 16) {\n this._parseHex(number, start, endian);\n } else {\n this._parseBase(number, base, start);\n if (endian === 'le') {\n this._initArray(this.toArray(), base, endian);\n }\n }\n }\n };\n\n BN.prototype._initNumber = function _initNumber (number, base, endian) {\n if (number < 0) {\n this.negative = 1;\n number = -number;\n }\n if (number < 0x4000000) {\n this.words = [number & 0x3ffffff];\n this.length = 1;\n } else if (number < 0x10000000000000) {\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff\n ];\n this.length = 2;\n } else {\n assert(number < 0x20000000000000); // 2 ^ 53 (unsafe)\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff,\n 1\n ];\n this.length = 3;\n }\n\n if (endian !== 'le') return;\n\n // Reverse the bytes\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initArray = function _initArray (number, base, endian) {\n // Perhaps a Uint8Array\n assert(typeof number.length === 'number');\n if (number.length <= 0) {\n this.words = [0];\n this.length = 1;\n return this;\n }\n\n this.length = Math.ceil(number.length / 3);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n var off = 0;\n if (endian === 'be') {\n for (i = number.length - 1, j = 0; i >= 0; i -= 3) {\n w = number[i] | (number[i - 1] << 8) | (number[i - 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n } else if (endian === 'le') {\n for (i = 0, j = 0; i < number.length; i += 3) {\n w = number[i] | (number[i + 1] << 8) | (number[i + 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n }\n return this._strip();\n };\n\n function parseHex4Bits (string, index) {\n var c = string.charCodeAt(index);\n // '0' - '9'\n if (c >= 48 && c <= 57) {\n return c - 48;\n // 'A' - 'F'\n } else if (c >= 65 && c <= 70) {\n return c - 55;\n // 'a' - 'f'\n } else if (c >= 97 && c <= 102) {\n return c - 87;\n } else {\n assert(false, 'Invalid character in ' + string);\n }\n }\n\n function parseHexByte (string, lowerBound, index) {\n var r = parseHex4Bits(string, index);\n if (index - 1 >= lowerBound) {\n r |= parseHex4Bits(string, index - 1) << 4;\n }\n return r;\n }\n\n BN.prototype._parseHex = function _parseHex (number, start, endian) {\n // Create possibly bigger array to ensure that it fits the number\n this.length = Math.ceil((number.length - start) / 6);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n // 24-bits chunks\n var off = 0;\n var j = 0;\n\n var w;\n if (endian === 'be') {\n for (i = number.length - 1; i >= start; i -= 2) {\n w = parseHexByte(number, start, i) << off;\n this.words[j] |= w & 0x3ffffff;\n if (off >= 18) {\n off -= 18;\n j += 1;\n this.words[j] |= w >>> 26;\n } else {\n off += 8;\n }\n }\n } else {\n var parseLength = number.length - start;\n for (i = parseLength % 2 === 0 ? start + 1 : start; i < number.length; i += 2) {\n w = parseHexByte(number, start, i) << off;\n this.words[j] |= w & 0x3ffffff;\n if (off >= 18) {\n off -= 18;\n j += 1;\n this.words[j] |= w >>> 26;\n } else {\n off += 8;\n }\n }\n }\n\n this._strip();\n };\n\n function parseBase (str, start, end, mul) {\n var r = 0;\n var b = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r *= mul;\n\n // 'a'\n if (c >= 49) {\n b = c - 49 + 0xa;\n\n // 'A'\n } else if (c >= 17) {\n b = c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n b = c;\n }\n assert(c >= 0 && b < mul, 'Invalid character');\n r += b;\n }\n return r;\n }\n\n BN.prototype._parseBase = function _parseBase (number, base, start) {\n // Initialize as zero\n this.words = [0];\n this.length = 1;\n\n // Find length of limb in base\n for (var limbLen = 0, limbPow = 1; limbPow <= 0x3ffffff; limbPow *= base) {\n limbLen++;\n }\n limbLen--;\n limbPow = (limbPow / base) | 0;\n\n var total = number.length - start;\n var mod = total % limbLen;\n var end = Math.min(total, total - mod) + start;\n\n var word = 0;\n for (var i = start; i < end; i += limbLen) {\n word = parseBase(number, i, i + limbLen, base);\n\n this.imuln(limbPow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n if (mod !== 0) {\n var pow = 1;\n word = parseBase(number, i, number.length, base);\n\n for (i = 0; i < mod; i++) {\n pow *= base;\n }\n\n this.imuln(pow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n this._strip();\n };\n\n BN.prototype.copy = function copy (dest) {\n dest.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n dest.words[i] = this.words[i];\n }\n dest.length = this.length;\n dest.negative = this.negative;\n dest.red = this.red;\n };\n\n function move (dest, src) {\n dest.words = src.words;\n dest.length = src.length;\n dest.negative = src.negative;\n dest.red = src.red;\n }\n\n BN.prototype._move = function _move (dest) {\n move(dest, this);\n };\n\n BN.prototype.clone = function clone () {\n var r = new BN(null);\n this.copy(r);\n return r;\n };\n\n BN.prototype._expand = function _expand (size) {\n while (this.length < size) {\n this.words[this.length++] = 0;\n }\n return this;\n };\n\n // Remove leading `0` from `this`\n BN.prototype._strip = function strip () {\n while (this.length > 1 && this.words[this.length - 1] === 0) {\n this.length--;\n }\n return this._normSign();\n };\n\n BN.prototype._normSign = function _normSign () {\n // -0 = 0\n if (this.length === 1 && this.words[0] === 0) {\n this.negative = 0;\n }\n return this;\n };\n\n // Check Symbol.for because not everywhere where Symbol defined\n // See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol#Browser_compatibility\n if (typeof Symbol !== 'undefined' && typeof Symbol.for === 'function') {\n try {\n BN.prototype[Symbol.for('nodejs.util.inspect.custom')] = inspect;\n } catch (e) {\n BN.prototype.inspect = inspect;\n }\n } else {\n BN.prototype.inspect = inspect;\n }\n\n function inspect () {\n return (this.red ? '';\n }\n\n /*\n\n var zeros = [];\n var groupSizes = [];\n var groupBases = [];\n\n var s = '';\n var i = -1;\n while (++i < BN.wordSize) {\n zeros[i] = s;\n s += '0';\n }\n groupSizes[0] = 0;\n groupSizes[1] = 0;\n groupBases[0] = 0;\n groupBases[1] = 0;\n var base = 2 - 1;\n while (++base < 36 + 1) {\n var groupSize = 0;\n var groupBase = 1;\n while (groupBase < (1 << BN.wordSize) / base) {\n groupBase *= base;\n groupSize += 1;\n }\n groupSizes[base] = groupSize;\n groupBases[base] = groupBase;\n }\n\n */\n\n var zeros = [\n '',\n '0',\n '00',\n '000',\n '0000',\n '00000',\n '000000',\n '0000000',\n '00000000',\n '000000000',\n '0000000000',\n '00000000000',\n '000000000000',\n '0000000000000',\n '00000000000000',\n '000000000000000',\n '0000000000000000',\n '00000000000000000',\n '000000000000000000',\n '0000000000000000000',\n '00000000000000000000',\n '000000000000000000000',\n '0000000000000000000000',\n '00000000000000000000000',\n '000000000000000000000000',\n '0000000000000000000000000'\n ];\n\n var groupSizes = [\n 0, 0,\n 25, 16, 12, 11, 10, 9, 8,\n 8, 7, 7, 7, 7, 6, 6,\n 6, 6, 6, 6, 6, 5, 5,\n 5, 5, 5, 5, 5, 5, 5,\n 5, 5, 5, 5, 5, 5, 5\n ];\n\n var groupBases = [\n 0, 0,\n 33554432, 43046721, 16777216, 48828125, 60466176, 40353607, 16777216,\n 43046721, 10000000, 19487171, 35831808, 62748517, 7529536, 11390625,\n 16777216, 24137569, 34012224, 47045881, 64000000, 4084101, 5153632,\n 6436343, 7962624, 9765625, 11881376, 14348907, 17210368, 20511149,\n 24300000, 28629151, 33554432, 39135393, 45435424, 52521875, 60466176\n ];\n\n BN.prototype.toString = function toString (base, padding) {\n base = base || 10;\n padding = padding | 0 || 1;\n\n var out;\n if (base === 16 || base === 'hex') {\n out = '';\n var off = 0;\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = this.words[i];\n var word = (((w << off) | carry) & 0xffffff).toString(16);\n carry = (w >>> (24 - off)) & 0xffffff;\n off += 2;\n if (off >= 26) {\n off -= 26;\n i--;\n }\n if (carry !== 0 || i !== this.length - 1) {\n out = zeros[6 - word.length] + word + out;\n } else {\n out = word + out;\n }\n }\n if (carry !== 0) {\n out = carry.toString(16) + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n if (base === (base | 0) && base >= 2 && base <= 36) {\n // var groupSize = Math.floor(BN.wordSize * Math.LN2 / Math.log(base));\n var groupSize = groupSizes[base];\n // var groupBase = Math.pow(base, groupSize);\n var groupBase = groupBases[base];\n out = '';\n var c = this.clone();\n c.negative = 0;\n while (!c.isZero()) {\n var r = c.modrn(groupBase).toString(base);\n c = c.idivn(groupBase);\n\n if (!c.isZero()) {\n out = zeros[groupSize - r.length] + r + out;\n } else {\n out = r + out;\n }\n }\n if (this.isZero()) {\n out = '0' + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n assert(false, 'Base should be between 2 and 36');\n };\n\n BN.prototype.toNumber = function toNumber () {\n var ret = this.words[0];\n if (this.length === 2) {\n ret += this.words[1] * 0x4000000;\n } else if (this.length === 3 && this.words[2] === 0x01) {\n // NOTE: at this stage it is known that the top bit is set\n ret += 0x10000000000000 + (this.words[1] * 0x4000000);\n } else if (this.length > 2) {\n assert(false, 'Number can only safely store up to 53 bits');\n }\n return (this.negative !== 0) ? -ret : ret;\n };\n\n BN.prototype.toJSON = function toJSON () {\n return this.toString(16, 2);\n };\n\n if (Buffer) {\n BN.prototype.toBuffer = function toBuffer (endian, length) {\n return this.toArrayLike(Buffer, endian, length);\n };\n }\n\n BN.prototype.toArray = function toArray (endian, length) {\n return this.toArrayLike(Array, endian, length);\n };\n\n var allocate = function allocate (ArrayType, size) {\n if (ArrayType.allocUnsafe) {\n return ArrayType.allocUnsafe(size);\n }\n return new ArrayType(size);\n };\n\n BN.prototype.toArrayLike = function toArrayLike (ArrayType, endian, length) {\n this._strip();\n\n var byteLength = this.byteLength();\n var reqLength = length || Math.max(1, byteLength);\n assert(byteLength <= reqLength, 'byte array longer than desired length');\n assert(reqLength > 0, 'Requested array length <= 0');\n\n var res = allocate(ArrayType, reqLength);\n var postfix = endian === 'le' ? 'LE' : 'BE';\n this['_toArrayLike' + postfix](res, byteLength);\n return res;\n };\n\n BN.prototype._toArrayLikeLE = function _toArrayLikeLE (res, byteLength) {\n var position = 0;\n var carry = 0;\n\n for (var i = 0, shift = 0; i < this.length; i++) {\n var word = (this.words[i] << shift) | carry;\n\n res[position++] = word & 0xff;\n if (position < res.length) {\n res[position++] = (word >> 8) & 0xff;\n }\n if (position < res.length) {\n res[position++] = (word >> 16) & 0xff;\n }\n\n if (shift === 6) {\n if (position < res.length) {\n res[position++] = (word >> 24) & 0xff;\n }\n carry = 0;\n shift = 0;\n } else {\n carry = word >>> 24;\n shift += 2;\n }\n }\n\n if (position < res.length) {\n res[position++] = carry;\n\n while (position < res.length) {\n res[position++] = 0;\n }\n }\n };\n\n BN.prototype._toArrayLikeBE = function _toArrayLikeBE (res, byteLength) {\n var position = res.length - 1;\n var carry = 0;\n\n for (var i = 0, shift = 0; i < this.length; i++) {\n var word = (this.words[i] << shift) | carry;\n\n res[position--] = word & 0xff;\n if (position >= 0) {\n res[position--] = (word >> 8) & 0xff;\n }\n if (position >= 0) {\n res[position--] = (word >> 16) & 0xff;\n }\n\n if (shift === 6) {\n if (position >= 0) {\n res[position--] = (word >> 24) & 0xff;\n }\n carry = 0;\n shift = 0;\n } else {\n carry = word >>> 24;\n shift += 2;\n }\n }\n\n if (position >= 0) {\n res[position--] = carry;\n\n while (position >= 0) {\n res[position--] = 0;\n }\n }\n };\n\n if (Math.clz32) {\n BN.prototype._countBits = function _countBits (w) {\n return 32 - Math.clz32(w);\n };\n } else {\n BN.prototype._countBits = function _countBits (w) {\n var t = w;\n var r = 0;\n if (t >= 0x1000) {\n r += 13;\n t >>>= 13;\n }\n if (t >= 0x40) {\n r += 7;\n t >>>= 7;\n }\n if (t >= 0x8) {\n r += 4;\n t >>>= 4;\n }\n if (t >= 0x02) {\n r += 2;\n t >>>= 2;\n }\n return r + t;\n };\n }\n\n BN.prototype._zeroBits = function _zeroBits (w) {\n // Short-cut\n if (w === 0) return 26;\n\n var t = w;\n var r = 0;\n if ((t & 0x1fff) === 0) {\n r += 13;\n t >>>= 13;\n }\n if ((t & 0x7f) === 0) {\n r += 7;\n t >>>= 7;\n }\n if ((t & 0xf) === 0) {\n r += 4;\n t >>>= 4;\n }\n if ((t & 0x3) === 0) {\n r += 2;\n t >>>= 2;\n }\n if ((t & 0x1) === 0) {\n r++;\n }\n return r;\n };\n\n // Return number of used bits in a BN\n BN.prototype.bitLength = function bitLength () {\n var w = this.words[this.length - 1];\n var hi = this._countBits(w);\n return (this.length - 1) * 26 + hi;\n };\n\n function toBitArray (num) {\n var w = new Array(num.bitLength());\n\n for (var bit = 0; bit < w.length; bit++) {\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n w[bit] = (num.words[off] >>> wbit) & 0x01;\n }\n\n return w;\n }\n\n // Number of trailing zero bits\n BN.prototype.zeroBits = function zeroBits () {\n if (this.isZero()) return 0;\n\n var r = 0;\n for (var i = 0; i < this.length; i++) {\n var b = this._zeroBits(this.words[i]);\n r += b;\n if (b !== 26) break;\n }\n return r;\n };\n\n BN.prototype.byteLength = function byteLength () {\n return Math.ceil(this.bitLength() / 8);\n };\n\n BN.prototype.toTwos = function toTwos (width) {\n if (this.negative !== 0) {\n return this.abs().inotn(width).iaddn(1);\n }\n return this.clone();\n };\n\n BN.prototype.fromTwos = function fromTwos (width) {\n if (this.testn(width - 1)) {\n return this.notn(width).iaddn(1).ineg();\n }\n return this.clone();\n };\n\n BN.prototype.isNeg = function isNeg () {\n return this.negative !== 0;\n };\n\n // Return negative clone of `this`\n BN.prototype.neg = function neg () {\n return this.clone().ineg();\n };\n\n BN.prototype.ineg = function ineg () {\n if (!this.isZero()) {\n this.negative ^= 1;\n }\n\n return this;\n };\n\n // Or `num` with `this` in-place\n BN.prototype.iuor = function iuor (num) {\n while (this.length < num.length) {\n this.words[this.length++] = 0;\n }\n\n for (var i = 0; i < num.length; i++) {\n this.words[i] = this.words[i] | num.words[i];\n }\n\n return this._strip();\n };\n\n BN.prototype.ior = function ior (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuor(num);\n };\n\n // Or `num` with `this`\n BN.prototype.or = function or (num) {\n if (this.length > num.length) return this.clone().ior(num);\n return num.clone().ior(this);\n };\n\n BN.prototype.uor = function uor (num) {\n if (this.length > num.length) return this.clone().iuor(num);\n return num.clone().iuor(this);\n };\n\n // And `num` with `this` in-place\n BN.prototype.iuand = function iuand (num) {\n // b = min-length(num, this)\n var b;\n if (this.length > num.length) {\n b = num;\n } else {\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = this.words[i] & num.words[i];\n }\n\n this.length = b.length;\n\n return this._strip();\n };\n\n BN.prototype.iand = function iand (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuand(num);\n };\n\n // And `num` with `this`\n BN.prototype.and = function and (num) {\n if (this.length > num.length) return this.clone().iand(num);\n return num.clone().iand(this);\n };\n\n BN.prototype.uand = function uand (num) {\n if (this.length > num.length) return this.clone().iuand(num);\n return num.clone().iuand(this);\n };\n\n // Xor `num` with `this` in-place\n BN.prototype.iuxor = function iuxor (num) {\n // a.length > b.length\n var a;\n var b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = a.words[i] ^ b.words[i];\n }\n\n if (this !== a) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = a.length;\n\n return this._strip();\n };\n\n BN.prototype.ixor = function ixor (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuxor(num);\n };\n\n // Xor `num` with `this`\n BN.prototype.xor = function xor (num) {\n if (this.length > num.length) return this.clone().ixor(num);\n return num.clone().ixor(this);\n };\n\n BN.prototype.uxor = function uxor (num) {\n if (this.length > num.length) return this.clone().iuxor(num);\n return num.clone().iuxor(this);\n };\n\n // Not ``this`` with ``width`` bitwidth\n BN.prototype.inotn = function inotn (width) {\n assert(typeof width === 'number' && width >= 0);\n\n var bytesNeeded = Math.ceil(width / 26) | 0;\n var bitsLeft = width % 26;\n\n // Extend the buffer with leading zeroes\n this._expand(bytesNeeded);\n\n if (bitsLeft > 0) {\n bytesNeeded--;\n }\n\n // Handle complete words\n for (var i = 0; i < bytesNeeded; i++) {\n this.words[i] = ~this.words[i] & 0x3ffffff;\n }\n\n // Handle the residue\n if (bitsLeft > 0) {\n this.words[i] = ~this.words[i] & (0x3ffffff >> (26 - bitsLeft));\n }\n\n // And remove leading zeroes\n return this._strip();\n };\n\n BN.prototype.notn = function notn (width) {\n return this.clone().inotn(width);\n };\n\n // Set `bit` of `this`\n BN.prototype.setn = function setn (bit, val) {\n assert(typeof bit === 'number' && bit >= 0);\n\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n this._expand(off + 1);\n\n if (val) {\n this.words[off] = this.words[off] | (1 << wbit);\n } else {\n this.words[off] = this.words[off] & ~(1 << wbit);\n }\n\n return this._strip();\n };\n\n // Add `num` to `this` in-place\n BN.prototype.iadd = function iadd (num) {\n var r;\n\n // negative + positive\n if (this.negative !== 0 && num.negative === 0) {\n this.negative = 0;\n r = this.isub(num);\n this.negative ^= 1;\n return this._normSign();\n\n // positive + negative\n } else if (this.negative === 0 && num.negative !== 0) {\n num.negative = 0;\n r = this.isub(num);\n num.negative = 1;\n return r._normSign();\n }\n\n // a.length > b.length\n var a, b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) + (b.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n\n this.length = a.length;\n if (carry !== 0) {\n this.words[this.length] = carry;\n this.length++;\n // Copy the rest of the words\n } else if (a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n return this;\n };\n\n // Add `num` to `this`\n BN.prototype.add = function add (num) {\n var res;\n if (num.negative !== 0 && this.negative === 0) {\n num.negative = 0;\n res = this.sub(num);\n num.negative ^= 1;\n return res;\n } else if (num.negative === 0 && this.negative !== 0) {\n this.negative = 0;\n res = num.sub(this);\n this.negative = 1;\n return res;\n }\n\n if (this.length > num.length) return this.clone().iadd(num);\n\n return num.clone().iadd(this);\n };\n\n // Subtract `num` from `this` in-place\n BN.prototype.isub = function isub (num) {\n // this - (-num) = this + num\n if (num.negative !== 0) {\n num.negative = 0;\n var r = this.iadd(num);\n num.negative = 1;\n return r._normSign();\n\n // -this - num = -(this + num)\n } else if (this.negative !== 0) {\n this.negative = 0;\n this.iadd(num);\n this.negative = 1;\n return this._normSign();\n }\n\n // At this point both numbers are positive\n var cmp = this.cmp(num);\n\n // Optimization - zeroify\n if (cmp === 0) {\n this.negative = 0;\n this.length = 1;\n this.words[0] = 0;\n return this;\n }\n\n // a > b\n var a, b;\n if (cmp > 0) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) - (b.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n\n // Copy rest of the words\n if (carry === 0 && i < a.length && a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = Math.max(this.length, i);\n\n if (a !== this) {\n this.negative = 1;\n }\n\n return this._strip();\n };\n\n // Subtract `num` from `this`\n BN.prototype.sub = function sub (num) {\n return this.clone().isub(num);\n };\n\n function smallMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n var len = (self.length + num.length) | 0;\n out.length = len;\n len = (len - 1) | 0;\n\n // Peel one iteration (compiler can't do it, because of code complexity)\n var a = self.words[0] | 0;\n var b = num.words[0] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n var carry = (r / 0x4000000) | 0;\n out.words[0] = lo;\n\n for (var k = 1; k < len; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = carry >>> 26;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = (k - j) | 0;\n a = self.words[i] | 0;\n b = num.words[j] | 0;\n r = a * b + rword;\n ncarry += (r / 0x4000000) | 0;\n rword = r & 0x3ffffff;\n }\n out.words[k] = rword | 0;\n carry = ncarry | 0;\n }\n if (carry !== 0) {\n out.words[k] = carry | 0;\n } else {\n out.length--;\n }\n\n return out._strip();\n }\n\n // TODO(indutny): it may be reasonable to omit it for users who don't need\n // to work with 256-bit numbers, otherwise it gives 20% improvement for 256-bit\n // multiplication (like elliptic secp256k1).\n var comb10MulTo = function comb10MulTo (self, num, out) {\n var a = self.words;\n var b = num.words;\n var o = out.words;\n var c = 0;\n var lo;\n var mid;\n var hi;\n var a0 = a[0] | 0;\n var al0 = a0 & 0x1fff;\n var ah0 = a0 >>> 13;\n var a1 = a[1] | 0;\n var al1 = a1 & 0x1fff;\n var ah1 = a1 >>> 13;\n var a2 = a[2] | 0;\n var al2 = a2 & 0x1fff;\n var ah2 = a2 >>> 13;\n var a3 = a[3] | 0;\n var al3 = a3 & 0x1fff;\n var ah3 = a3 >>> 13;\n var a4 = a[4] | 0;\n var al4 = a4 & 0x1fff;\n var ah4 = a4 >>> 13;\n var a5 = a[5] | 0;\n var al5 = a5 & 0x1fff;\n var ah5 = a5 >>> 13;\n var a6 = a[6] | 0;\n var al6 = a6 & 0x1fff;\n var ah6 = a6 >>> 13;\n var a7 = a[7] | 0;\n var al7 = a7 & 0x1fff;\n var ah7 = a7 >>> 13;\n var a8 = a[8] | 0;\n var al8 = a8 & 0x1fff;\n var ah8 = a8 >>> 13;\n var a9 = a[9] | 0;\n var al9 = a9 & 0x1fff;\n var ah9 = a9 >>> 13;\n var b0 = b[0] | 0;\n var bl0 = b0 & 0x1fff;\n var bh0 = b0 >>> 13;\n var b1 = b[1] | 0;\n var bl1 = b1 & 0x1fff;\n var bh1 = b1 >>> 13;\n var b2 = b[2] | 0;\n var bl2 = b2 & 0x1fff;\n var bh2 = b2 >>> 13;\n var b3 = b[3] | 0;\n var bl3 = b3 & 0x1fff;\n var bh3 = b3 >>> 13;\n var b4 = b[4] | 0;\n var bl4 = b4 & 0x1fff;\n var bh4 = b4 >>> 13;\n var b5 = b[5] | 0;\n var bl5 = b5 & 0x1fff;\n var bh5 = b5 >>> 13;\n var b6 = b[6] | 0;\n var bl6 = b6 & 0x1fff;\n var bh6 = b6 >>> 13;\n var b7 = b[7] | 0;\n var bl7 = b7 & 0x1fff;\n var bh7 = b7 >>> 13;\n var b8 = b[8] | 0;\n var bl8 = b8 & 0x1fff;\n var bh8 = b8 >>> 13;\n var b9 = b[9] | 0;\n var bl9 = b9 & 0x1fff;\n var bh9 = b9 >>> 13;\n\n out.negative = self.negative ^ num.negative;\n out.length = 19;\n /* k = 0 */\n lo = Math.imul(al0, bl0);\n mid = Math.imul(al0, bh0);\n mid = (mid + Math.imul(ah0, bl0)) | 0;\n hi = Math.imul(ah0, bh0);\n var w0 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w0 >>> 26)) | 0;\n w0 &= 0x3ffffff;\n /* k = 1 */\n lo = Math.imul(al1, bl0);\n mid = Math.imul(al1, bh0);\n mid = (mid + Math.imul(ah1, bl0)) | 0;\n hi = Math.imul(ah1, bh0);\n lo = (lo + Math.imul(al0, bl1)) | 0;\n mid = (mid + Math.imul(al0, bh1)) | 0;\n mid = (mid + Math.imul(ah0, bl1)) | 0;\n hi = (hi + Math.imul(ah0, bh1)) | 0;\n var w1 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w1 >>> 26)) | 0;\n w1 &= 0x3ffffff;\n /* k = 2 */\n lo = Math.imul(al2, bl0);\n mid = Math.imul(al2, bh0);\n mid = (mid + Math.imul(ah2, bl0)) | 0;\n hi = Math.imul(ah2, bh0);\n lo = (lo + Math.imul(al1, bl1)) | 0;\n mid = (mid + Math.imul(al1, bh1)) | 0;\n mid = (mid + Math.imul(ah1, bl1)) | 0;\n hi = (hi + Math.imul(ah1, bh1)) | 0;\n lo = (lo + Math.imul(al0, bl2)) | 0;\n mid = (mid + Math.imul(al0, bh2)) | 0;\n mid = (mid + Math.imul(ah0, bl2)) | 0;\n hi = (hi + Math.imul(ah0, bh2)) | 0;\n var w2 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w2 >>> 26)) | 0;\n w2 &= 0x3ffffff;\n /* k = 3 */\n lo = Math.imul(al3, bl0);\n mid = Math.imul(al3, bh0);\n mid = (mid + Math.imul(ah3, bl0)) | 0;\n hi = Math.imul(ah3, bh0);\n lo = (lo + Math.imul(al2, bl1)) | 0;\n mid = (mid + Math.imul(al2, bh1)) | 0;\n mid = (mid + Math.imul(ah2, bl1)) | 0;\n hi = (hi + Math.imul(ah2, bh1)) | 0;\n lo = (lo + Math.imul(al1, bl2)) | 0;\n mid = (mid + Math.imul(al1, bh2)) | 0;\n mid = (mid + Math.imul(ah1, bl2)) | 0;\n hi = (hi + Math.imul(ah1, bh2)) | 0;\n lo = (lo + Math.imul(al0, bl3)) | 0;\n mid = (mid + Math.imul(al0, bh3)) | 0;\n mid = (mid + Math.imul(ah0, bl3)) | 0;\n hi = (hi + Math.imul(ah0, bh3)) | 0;\n var w3 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w3 >>> 26)) | 0;\n w3 &= 0x3ffffff;\n /* k = 4 */\n lo = Math.imul(al4, bl0);\n mid = Math.imul(al4, bh0);\n mid = (mid + Math.imul(ah4, bl0)) | 0;\n hi = Math.imul(ah4, bh0);\n lo = (lo + Math.imul(al3, bl1)) | 0;\n mid = (mid + Math.imul(al3, bh1)) | 0;\n mid = (mid + Math.imul(ah3, bl1)) | 0;\n hi = (hi + Math.imul(ah3, bh1)) | 0;\n lo = (lo + Math.imul(al2, bl2)) | 0;\n mid = (mid + Math.imul(al2, bh2)) | 0;\n mid = (mid + Math.imul(ah2, bl2)) | 0;\n hi = (hi + Math.imul(ah2, bh2)) | 0;\n lo = (lo + Math.imul(al1, bl3)) | 0;\n mid = (mid + Math.imul(al1, bh3)) | 0;\n mid = (mid + Math.imul(ah1, bl3)) | 0;\n hi = (hi + Math.imul(ah1, bh3)) | 0;\n lo = (lo + Math.imul(al0, bl4)) | 0;\n mid = (mid + Math.imul(al0, bh4)) | 0;\n mid = (mid + Math.imul(ah0, bl4)) | 0;\n hi = (hi + Math.imul(ah0, bh4)) | 0;\n var w4 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w4 >>> 26)) | 0;\n w4 &= 0x3ffffff;\n /* k = 5 */\n lo = Math.imul(al5, bl0);\n mid = Math.imul(al5, bh0);\n mid = (mid + Math.imul(ah5, bl0)) | 0;\n hi = Math.imul(ah5, bh0);\n lo = (lo + Math.imul(al4, bl1)) | 0;\n mid = (mid + Math.imul(al4, bh1)) | 0;\n mid = (mid + Math.imul(ah4, bl1)) | 0;\n hi = (hi + Math.imul(ah4, bh1)) | 0;\n lo = (lo + Math.imul(al3, bl2)) | 0;\n mid = (mid + Math.imul(al3, bh2)) | 0;\n mid = (mid + Math.imul(ah3, bl2)) | 0;\n hi = (hi + Math.imul(ah3, bh2)) | 0;\n lo = (lo + Math.imul(al2, bl3)) | 0;\n mid = (mid + Math.imul(al2, bh3)) | 0;\n mid = (mid + Math.imul(ah2, bl3)) | 0;\n hi = (hi + Math.imul(ah2, bh3)) | 0;\n lo = (lo + Math.imul(al1, bl4)) | 0;\n mid = (mid + Math.imul(al1, bh4)) | 0;\n mid = (mid + Math.imul(ah1, bl4)) | 0;\n hi = (hi + Math.imul(ah1, bh4)) | 0;\n lo = (lo + Math.imul(al0, bl5)) | 0;\n mid = (mid + Math.imul(al0, bh5)) | 0;\n mid = (mid + Math.imul(ah0, bl5)) | 0;\n hi = (hi + Math.imul(ah0, bh5)) | 0;\n var w5 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w5 >>> 26)) | 0;\n w5 &= 0x3ffffff;\n /* k = 6 */\n lo = Math.imul(al6, bl0);\n mid = Math.imul(al6, bh0);\n mid = (mid + Math.imul(ah6, bl0)) | 0;\n hi = Math.imul(ah6, bh0);\n lo = (lo + Math.imul(al5, bl1)) | 0;\n mid = (mid + Math.imul(al5, bh1)) | 0;\n mid = (mid + Math.imul(ah5, bl1)) | 0;\n hi = (hi + Math.imul(ah5, bh1)) | 0;\n lo = (lo + Math.imul(al4, bl2)) | 0;\n mid = (mid + Math.imul(al4, bh2)) | 0;\n mid = (mid + Math.imul(ah4, bl2)) | 0;\n hi = (hi + Math.imul(ah4, bh2)) | 0;\n lo = (lo + Math.imul(al3, bl3)) | 0;\n mid = (mid + Math.imul(al3, bh3)) | 0;\n mid = (mid + Math.imul(ah3, bl3)) | 0;\n hi = (hi + Math.imul(ah3, bh3)) | 0;\n lo = (lo + Math.imul(al2, bl4)) | 0;\n mid = (mid + Math.imul(al2, bh4)) | 0;\n mid = (mid + Math.imul(ah2, bl4)) | 0;\n hi = (hi + Math.imul(ah2, bh4)) | 0;\n lo = (lo + Math.imul(al1, bl5)) | 0;\n mid = (mid + Math.imul(al1, bh5)) | 0;\n mid = (mid + Math.imul(ah1, bl5)) | 0;\n hi = (hi + Math.imul(ah1, bh5)) | 0;\n lo = (lo + Math.imul(al0, bl6)) | 0;\n mid = (mid + Math.imul(al0, bh6)) | 0;\n mid = (mid + Math.imul(ah0, bl6)) | 0;\n hi = (hi + Math.imul(ah0, bh6)) | 0;\n var w6 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w6 >>> 26)) | 0;\n w6 &= 0x3ffffff;\n /* k = 7 */\n lo = Math.imul(al7, bl0);\n mid = Math.imul(al7, bh0);\n mid = (mid + Math.imul(ah7, bl0)) | 0;\n hi = Math.imul(ah7, bh0);\n lo = (lo + Math.imul(al6, bl1)) | 0;\n mid = (mid + Math.imul(al6, bh1)) | 0;\n mid = (mid + Math.imul(ah6, bl1)) | 0;\n hi = (hi + Math.imul(ah6, bh1)) | 0;\n lo = (lo + Math.imul(al5, bl2)) | 0;\n mid = (mid + Math.imul(al5, bh2)) | 0;\n mid = (mid + Math.imul(ah5, bl2)) | 0;\n hi = (hi + Math.imul(ah5, bh2)) | 0;\n lo = (lo + Math.imul(al4, bl3)) | 0;\n mid = (mid + Math.imul(al4, bh3)) | 0;\n mid = (mid + Math.imul(ah4, bl3)) | 0;\n hi = (hi + Math.imul(ah4, bh3)) | 0;\n lo = (lo + Math.imul(al3, bl4)) | 0;\n mid = (mid + Math.imul(al3, bh4)) | 0;\n mid = (mid + Math.imul(ah3, bl4)) | 0;\n hi = (hi + Math.imul(ah3, bh4)) | 0;\n lo = (lo + Math.imul(al2, bl5)) | 0;\n mid = (mid + Math.imul(al2, bh5)) | 0;\n mid = (mid + Math.imul(ah2, bl5)) | 0;\n hi = (hi + Math.imul(ah2, bh5)) | 0;\n lo = (lo + Math.imul(al1, bl6)) | 0;\n mid = (mid + Math.imul(al1, bh6)) | 0;\n mid = (mid + Math.imul(ah1, bl6)) | 0;\n hi = (hi + Math.imul(ah1, bh6)) | 0;\n lo = (lo + Math.imul(al0, bl7)) | 0;\n mid = (mid + Math.imul(al0, bh7)) | 0;\n mid = (mid + Math.imul(ah0, bl7)) | 0;\n hi = (hi + Math.imul(ah0, bh7)) | 0;\n var w7 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w7 >>> 26)) | 0;\n w7 &= 0x3ffffff;\n /* k = 8 */\n lo = Math.imul(al8, bl0);\n mid = Math.imul(al8, bh0);\n mid = (mid + Math.imul(ah8, bl0)) | 0;\n hi = Math.imul(ah8, bh0);\n lo = (lo + Math.imul(al7, bl1)) | 0;\n mid = (mid + Math.imul(al7, bh1)) | 0;\n mid = (mid + Math.imul(ah7, bl1)) | 0;\n hi = (hi + Math.imul(ah7, bh1)) | 0;\n lo = (lo + Math.imul(al6, bl2)) | 0;\n mid = (mid + Math.imul(al6, bh2)) | 0;\n mid = (mid + Math.imul(ah6, bl2)) | 0;\n hi = (hi + Math.imul(ah6, bh2)) | 0;\n lo = (lo + Math.imul(al5, bl3)) | 0;\n mid = (mid + Math.imul(al5, bh3)) | 0;\n mid = (mid + Math.imul(ah5, bl3)) | 0;\n hi = (hi + Math.imul(ah5, bh3)) | 0;\n lo = (lo + Math.imul(al4, bl4)) | 0;\n mid = (mid + Math.imul(al4, bh4)) | 0;\n mid = (mid + Math.imul(ah4, bl4)) | 0;\n hi = (hi + Math.imul(ah4, bh4)) | 0;\n lo = (lo + Math.imul(al3, bl5)) | 0;\n mid = (mid + Math.imul(al3, bh5)) | 0;\n mid = (mid + Math.imul(ah3, bl5)) | 0;\n hi = (hi + Math.imul(ah3, bh5)) | 0;\n lo = (lo + Math.imul(al2, bl6)) | 0;\n mid = (mid + Math.imul(al2, bh6)) | 0;\n mid = (mid + Math.imul(ah2, bl6)) | 0;\n hi = (hi + Math.imul(ah2, bh6)) | 0;\n lo = (lo + Math.imul(al1, bl7)) | 0;\n mid = (mid + Math.imul(al1, bh7)) | 0;\n mid = (mid + Math.imul(ah1, bl7)) | 0;\n hi = (hi + Math.imul(ah1, bh7)) | 0;\n lo = (lo + Math.imul(al0, bl8)) | 0;\n mid = (mid + Math.imul(al0, bh8)) | 0;\n mid = (mid + Math.imul(ah0, bl8)) | 0;\n hi = (hi + Math.imul(ah0, bh8)) | 0;\n var w8 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w8 >>> 26)) | 0;\n w8 &= 0x3ffffff;\n /* k = 9 */\n lo = Math.imul(al9, bl0);\n mid = Math.imul(al9, bh0);\n mid = (mid + Math.imul(ah9, bl0)) | 0;\n hi = Math.imul(ah9, bh0);\n lo = (lo + Math.imul(al8, bl1)) | 0;\n mid = (mid + Math.imul(al8, bh1)) | 0;\n mid = (mid + Math.imul(ah8, bl1)) | 0;\n hi = (hi + Math.imul(ah8, bh1)) | 0;\n lo = (lo + Math.imul(al7, bl2)) | 0;\n mid = (mid + Math.imul(al7, bh2)) | 0;\n mid = (mid + Math.imul(ah7, bl2)) | 0;\n hi = (hi + Math.imul(ah7, bh2)) | 0;\n lo = (lo + Math.imul(al6, bl3)) | 0;\n mid = (mid + Math.imul(al6, bh3)) | 0;\n mid = (mid + Math.imul(ah6, bl3)) | 0;\n hi = (hi + Math.imul(ah6, bh3)) | 0;\n lo = (lo + Math.imul(al5, bl4)) | 0;\n mid = (mid + Math.imul(al5, bh4)) | 0;\n mid = (mid + Math.imul(ah5, bl4)) | 0;\n hi = (hi + Math.imul(ah5, bh4)) | 0;\n lo = (lo + Math.imul(al4, bl5)) | 0;\n mid = (mid + Math.imul(al4, bh5)) | 0;\n mid = (mid + Math.imul(ah4, bl5)) | 0;\n hi = (hi + Math.imul(ah4, bh5)) | 0;\n lo = (lo + Math.imul(al3, bl6)) | 0;\n mid = (mid + Math.imul(al3, bh6)) | 0;\n mid = (mid + Math.imul(ah3, bl6)) | 0;\n hi = (hi + Math.imul(ah3, bh6)) | 0;\n lo = (lo + Math.imul(al2, bl7)) | 0;\n mid = (mid + Math.imul(al2, bh7)) | 0;\n mid = (mid + Math.imul(ah2, bl7)) | 0;\n hi = (hi + Math.imul(ah2, bh7)) | 0;\n lo = (lo + Math.imul(al1, bl8)) | 0;\n mid = (mid + Math.imul(al1, bh8)) | 0;\n mid = (mid + Math.imul(ah1, bl8)) | 0;\n hi = (hi + Math.imul(ah1, bh8)) | 0;\n lo = (lo + Math.imul(al0, bl9)) | 0;\n mid = (mid + Math.imul(al0, bh9)) | 0;\n mid = (mid + Math.imul(ah0, bl9)) | 0;\n hi = (hi + Math.imul(ah0, bh9)) | 0;\n var w9 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w9 >>> 26)) | 0;\n w9 &= 0x3ffffff;\n /* k = 10 */\n lo = Math.imul(al9, bl1);\n mid = Math.imul(al9, bh1);\n mid = (mid + Math.imul(ah9, bl1)) | 0;\n hi = Math.imul(ah9, bh1);\n lo = (lo + Math.imul(al8, bl2)) | 0;\n mid = (mid + Math.imul(al8, bh2)) | 0;\n mid = (mid + Math.imul(ah8, bl2)) | 0;\n hi = (hi + Math.imul(ah8, bh2)) | 0;\n lo = (lo + Math.imul(al7, bl3)) | 0;\n mid = (mid + Math.imul(al7, bh3)) | 0;\n mid = (mid + Math.imul(ah7, bl3)) | 0;\n hi = (hi + Math.imul(ah7, bh3)) | 0;\n lo = (lo + Math.imul(al6, bl4)) | 0;\n mid = (mid + Math.imul(al6, bh4)) | 0;\n mid = (mid + Math.imul(ah6, bl4)) | 0;\n hi = (hi + Math.imul(ah6, bh4)) | 0;\n lo = (lo + Math.imul(al5, bl5)) | 0;\n mid = (mid + Math.imul(al5, bh5)) | 0;\n mid = (mid + Math.imul(ah5, bl5)) | 0;\n hi = (hi + Math.imul(ah5, bh5)) | 0;\n lo = (lo + Math.imul(al4, bl6)) | 0;\n mid = (mid + Math.imul(al4, bh6)) | 0;\n mid = (mid + Math.imul(ah4, bl6)) | 0;\n hi = (hi + Math.imul(ah4, bh6)) | 0;\n lo = (lo + Math.imul(al3, bl7)) | 0;\n mid = (mid + Math.imul(al3, bh7)) | 0;\n mid = (mid + Math.imul(ah3, bl7)) | 0;\n hi = (hi + Math.imul(ah3, bh7)) | 0;\n lo = (lo + Math.imul(al2, bl8)) | 0;\n mid = (mid + Math.imul(al2, bh8)) | 0;\n mid = (mid + Math.imul(ah2, bl8)) | 0;\n hi = (hi + Math.imul(ah2, bh8)) | 0;\n lo = (lo + Math.imul(al1, bl9)) | 0;\n mid = (mid + Math.imul(al1, bh9)) | 0;\n mid = (mid + Math.imul(ah1, bl9)) | 0;\n hi = (hi + Math.imul(ah1, bh9)) | 0;\n var w10 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w10 >>> 26)) | 0;\n w10 &= 0x3ffffff;\n /* k = 11 */\n lo = Math.imul(al9, bl2);\n mid = Math.imul(al9, bh2);\n mid = (mid + Math.imul(ah9, bl2)) | 0;\n hi = Math.imul(ah9, bh2);\n lo = (lo + Math.imul(al8, bl3)) | 0;\n mid = (mid + Math.imul(al8, bh3)) | 0;\n mid = (mid + Math.imul(ah8, bl3)) | 0;\n hi = (hi + Math.imul(ah8, bh3)) | 0;\n lo = (lo + Math.imul(al7, bl4)) | 0;\n mid = (mid + Math.imul(al7, bh4)) | 0;\n mid = (mid + Math.imul(ah7, bl4)) | 0;\n hi = (hi + Math.imul(ah7, bh4)) | 0;\n lo = (lo + Math.imul(al6, bl5)) | 0;\n mid = (mid + Math.imul(al6, bh5)) | 0;\n mid = (mid + Math.imul(ah6, bl5)) | 0;\n hi = (hi + Math.imul(ah6, bh5)) | 0;\n lo = (lo + Math.imul(al5, bl6)) | 0;\n mid = (mid + Math.imul(al5, bh6)) | 0;\n mid = (mid + Math.imul(ah5, bl6)) | 0;\n hi = (hi + Math.imul(ah5, bh6)) | 0;\n lo = (lo + Math.imul(al4, bl7)) | 0;\n mid = (mid + Math.imul(al4, bh7)) | 0;\n mid = (mid + Math.imul(ah4, bl7)) | 0;\n hi = (hi + Math.imul(ah4, bh7)) | 0;\n lo = (lo + Math.imul(al3, bl8)) | 0;\n mid = (mid + Math.imul(al3, bh8)) | 0;\n mid = (mid + Math.imul(ah3, bl8)) | 0;\n hi = (hi + Math.imul(ah3, bh8)) | 0;\n lo = (lo + Math.imul(al2, bl9)) | 0;\n mid = (mid + Math.imul(al2, bh9)) | 0;\n mid = (mid + Math.imul(ah2, bl9)) | 0;\n hi = (hi + Math.imul(ah2, bh9)) | 0;\n var w11 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w11 >>> 26)) | 0;\n w11 &= 0x3ffffff;\n /* k = 12 */\n lo = Math.imul(al9, bl3);\n mid = Math.imul(al9, bh3);\n mid = (mid + Math.imul(ah9, bl3)) | 0;\n hi = Math.imul(ah9, bh3);\n lo = (lo + Math.imul(al8, bl4)) | 0;\n mid = (mid + Math.imul(al8, bh4)) | 0;\n mid = (mid + Math.imul(ah8, bl4)) | 0;\n hi = (hi + Math.imul(ah8, bh4)) | 0;\n lo = (lo + Math.imul(al7, bl5)) | 0;\n mid = (mid + Math.imul(al7, bh5)) | 0;\n mid = (mid + Math.imul(ah7, bl5)) | 0;\n hi = (hi + Math.imul(ah7, bh5)) | 0;\n lo = (lo + Math.imul(al6, bl6)) | 0;\n mid = (mid + Math.imul(al6, bh6)) | 0;\n mid = (mid + Math.imul(ah6, bl6)) | 0;\n hi = (hi + Math.imul(ah6, bh6)) | 0;\n lo = (lo + Math.imul(al5, bl7)) | 0;\n mid = (mid + Math.imul(al5, bh7)) | 0;\n mid = (mid + Math.imul(ah5, bl7)) | 0;\n hi = (hi + Math.imul(ah5, bh7)) | 0;\n lo = (lo + Math.imul(al4, bl8)) | 0;\n mid = (mid + Math.imul(al4, bh8)) | 0;\n mid = (mid + Math.imul(ah4, bl8)) | 0;\n hi = (hi + Math.imul(ah4, bh8)) | 0;\n lo = (lo + Math.imul(al3, bl9)) | 0;\n mid = (mid + Math.imul(al3, bh9)) | 0;\n mid = (mid + Math.imul(ah3, bl9)) | 0;\n hi = (hi + Math.imul(ah3, bh9)) | 0;\n var w12 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w12 >>> 26)) | 0;\n w12 &= 0x3ffffff;\n /* k = 13 */\n lo = Math.imul(al9, bl4);\n mid = Math.imul(al9, bh4);\n mid = (mid + Math.imul(ah9, bl4)) | 0;\n hi = Math.imul(ah9, bh4);\n lo = (lo + Math.imul(al8, bl5)) | 0;\n mid = (mid + Math.imul(al8, bh5)) | 0;\n mid = (mid + Math.imul(ah8, bl5)) | 0;\n hi = (hi + Math.imul(ah8, bh5)) | 0;\n lo = (lo + Math.imul(al7, bl6)) | 0;\n mid = (mid + Math.imul(al7, bh6)) | 0;\n mid = (mid + Math.imul(ah7, bl6)) | 0;\n hi = (hi + Math.imul(ah7, bh6)) | 0;\n lo = (lo + Math.imul(al6, bl7)) | 0;\n mid = (mid + Math.imul(al6, bh7)) | 0;\n mid = (mid + Math.imul(ah6, bl7)) | 0;\n hi = (hi + Math.imul(ah6, bh7)) | 0;\n lo = (lo + Math.imul(al5, bl8)) | 0;\n mid = (mid + Math.imul(al5, bh8)) | 0;\n mid = (mid + Math.imul(ah5, bl8)) | 0;\n hi = (hi + Math.imul(ah5, bh8)) | 0;\n lo = (lo + Math.imul(al4, bl9)) | 0;\n mid = (mid + Math.imul(al4, bh9)) | 0;\n mid = (mid + Math.imul(ah4, bl9)) | 0;\n hi = (hi + Math.imul(ah4, bh9)) | 0;\n var w13 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w13 >>> 26)) | 0;\n w13 &= 0x3ffffff;\n /* k = 14 */\n lo = Math.imul(al9, bl5);\n mid = Math.imul(al9, bh5);\n mid = (mid + Math.imul(ah9, bl5)) | 0;\n hi = Math.imul(ah9, bh5);\n lo = (lo + Math.imul(al8, bl6)) | 0;\n mid = (mid + Math.imul(al8, bh6)) | 0;\n mid = (mid + Math.imul(ah8, bl6)) | 0;\n hi = (hi + Math.imul(ah8, bh6)) | 0;\n lo = (lo + Math.imul(al7, bl7)) | 0;\n mid = (mid + Math.imul(al7, bh7)) | 0;\n mid = (mid + Math.imul(ah7, bl7)) | 0;\n hi = (hi + Math.imul(ah7, bh7)) | 0;\n lo = (lo + Math.imul(al6, bl8)) | 0;\n mid = (mid + Math.imul(al6, bh8)) | 0;\n mid = (mid + Math.imul(ah6, bl8)) | 0;\n hi = (hi + Math.imul(ah6, bh8)) | 0;\n lo = (lo + Math.imul(al5, bl9)) | 0;\n mid = (mid + Math.imul(al5, bh9)) | 0;\n mid = (mid + Math.imul(ah5, bl9)) | 0;\n hi = (hi + Math.imul(ah5, bh9)) | 0;\n var w14 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w14 >>> 26)) | 0;\n w14 &= 0x3ffffff;\n /* k = 15 */\n lo = Math.imul(al9, bl6);\n mid = Math.imul(al9, bh6);\n mid = (mid + Math.imul(ah9, bl6)) | 0;\n hi = Math.imul(ah9, bh6);\n lo = (lo + Math.imul(al8, bl7)) | 0;\n mid = (mid + Math.imul(al8, bh7)) | 0;\n mid = (mid + Math.imul(ah8, bl7)) | 0;\n hi = (hi + Math.imul(ah8, bh7)) | 0;\n lo = (lo + Math.imul(al7, bl8)) | 0;\n mid = (mid + Math.imul(al7, bh8)) | 0;\n mid = (mid + Math.imul(ah7, bl8)) | 0;\n hi = (hi + Math.imul(ah7, bh8)) | 0;\n lo = (lo + Math.imul(al6, bl9)) | 0;\n mid = (mid + Math.imul(al6, bh9)) | 0;\n mid = (mid + Math.imul(ah6, bl9)) | 0;\n hi = (hi + Math.imul(ah6, bh9)) | 0;\n var w15 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w15 >>> 26)) | 0;\n w15 &= 0x3ffffff;\n /* k = 16 */\n lo = Math.imul(al9, bl7);\n mid = Math.imul(al9, bh7);\n mid = (mid + Math.imul(ah9, bl7)) | 0;\n hi = Math.imul(ah9, bh7);\n lo = (lo + Math.imul(al8, bl8)) | 0;\n mid = (mid + Math.imul(al8, bh8)) | 0;\n mid = (mid + Math.imul(ah8, bl8)) | 0;\n hi = (hi + Math.imul(ah8, bh8)) | 0;\n lo = (lo + Math.imul(al7, bl9)) | 0;\n mid = (mid + Math.imul(al7, bh9)) | 0;\n mid = (mid + Math.imul(ah7, bl9)) | 0;\n hi = (hi + Math.imul(ah7, bh9)) | 0;\n var w16 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w16 >>> 26)) | 0;\n w16 &= 0x3ffffff;\n /* k = 17 */\n lo = Math.imul(al9, bl8);\n mid = Math.imul(al9, bh8);\n mid = (mid + Math.imul(ah9, bl8)) | 0;\n hi = Math.imul(ah9, bh8);\n lo = (lo + Math.imul(al8, bl9)) | 0;\n mid = (mid + Math.imul(al8, bh9)) | 0;\n mid = (mid + Math.imul(ah8, bl9)) | 0;\n hi = (hi + Math.imul(ah8, bh9)) | 0;\n var w17 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w17 >>> 26)) | 0;\n w17 &= 0x3ffffff;\n /* k = 18 */\n lo = Math.imul(al9, bl9);\n mid = Math.imul(al9, bh9);\n mid = (mid + Math.imul(ah9, bl9)) | 0;\n hi = Math.imul(ah9, bh9);\n var w18 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w18 >>> 26)) | 0;\n w18 &= 0x3ffffff;\n o[0] = w0;\n o[1] = w1;\n o[2] = w2;\n o[3] = w3;\n o[4] = w4;\n o[5] = w5;\n o[6] = w6;\n o[7] = w7;\n o[8] = w8;\n o[9] = w9;\n o[10] = w10;\n o[11] = w11;\n o[12] = w12;\n o[13] = w13;\n o[14] = w14;\n o[15] = w15;\n o[16] = w16;\n o[17] = w17;\n o[18] = w18;\n if (c !== 0) {\n o[19] = c;\n out.length++;\n }\n return out;\n };\n\n // Polyfill comb\n if (!Math.imul) {\n comb10MulTo = smallMulTo;\n }\n\n function bigMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n out.length = self.length + num.length;\n\n var carry = 0;\n var hncarry = 0;\n for (var k = 0; k < out.length - 1; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = hncarry;\n hncarry = 0;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = k - j;\n var a = self.words[i] | 0;\n var b = num.words[j] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n ncarry = (ncarry + ((r / 0x4000000) | 0)) | 0;\n lo = (lo + rword) | 0;\n rword = lo & 0x3ffffff;\n ncarry = (ncarry + (lo >>> 26)) | 0;\n\n hncarry += ncarry >>> 26;\n ncarry &= 0x3ffffff;\n }\n out.words[k] = rword;\n carry = ncarry;\n ncarry = hncarry;\n }\n if (carry !== 0) {\n out.words[k] = carry;\n } else {\n out.length--;\n }\n\n return out._strip();\n }\n\n function jumboMulTo (self, num, out) {\n // Temporary disable, see https://github.com/indutny/bn.js/issues/211\n // var fftm = new FFTM();\n // return fftm.mulp(self, num, out);\n return bigMulTo(self, num, out);\n }\n\n BN.prototype.mulTo = function mulTo (num, out) {\n var res;\n var len = this.length + num.length;\n if (this.length === 10 && num.length === 10) {\n res = comb10MulTo(this, num, out);\n } else if (len < 63) {\n res = smallMulTo(this, num, out);\n } else if (len < 1024) {\n res = bigMulTo(this, num, out);\n } else {\n res = jumboMulTo(this, num, out);\n }\n\n return res;\n };\n\n // Cooley-Tukey algorithm for FFT\n // slightly revisited to rely on looping instead of recursion\n\n function FFTM (x, y) {\n this.x = x;\n this.y = y;\n }\n\n FFTM.prototype.makeRBT = function makeRBT (N) {\n var t = new Array(N);\n var l = BN.prototype._countBits(N) - 1;\n for (var i = 0; i < N; i++) {\n t[i] = this.revBin(i, l, N);\n }\n\n return t;\n };\n\n // Returns binary-reversed representation of `x`\n FFTM.prototype.revBin = function revBin (x, l, N) {\n if (x === 0 || x === N - 1) return x;\n\n var rb = 0;\n for (var i = 0; i < l; i++) {\n rb |= (x & 1) << (l - i - 1);\n x >>= 1;\n }\n\n return rb;\n };\n\n // Performs \"tweedling\" phase, therefore 'emulating'\n // behaviour of the recursive algorithm\n FFTM.prototype.permute = function permute (rbt, rws, iws, rtws, itws, N) {\n for (var i = 0; i < N; i++) {\n rtws[i] = rws[rbt[i]];\n itws[i] = iws[rbt[i]];\n }\n };\n\n FFTM.prototype.transform = function transform (rws, iws, rtws, itws, N, rbt) {\n this.permute(rbt, rws, iws, rtws, itws, N);\n\n for (var s = 1; s < N; s <<= 1) {\n var l = s << 1;\n\n var rtwdf = Math.cos(2 * Math.PI / l);\n var itwdf = Math.sin(2 * Math.PI / l);\n\n for (var p = 0; p < N; p += l) {\n var rtwdf_ = rtwdf;\n var itwdf_ = itwdf;\n\n for (var j = 0; j < s; j++) {\n var re = rtws[p + j];\n var ie = itws[p + j];\n\n var ro = rtws[p + j + s];\n var io = itws[p + j + s];\n\n var rx = rtwdf_ * ro - itwdf_ * io;\n\n io = rtwdf_ * io + itwdf_ * ro;\n ro = rx;\n\n rtws[p + j] = re + ro;\n itws[p + j] = ie + io;\n\n rtws[p + j + s] = re - ro;\n itws[p + j + s] = ie - io;\n\n /* jshint maxdepth : false */\n if (j !== l) {\n rx = rtwdf * rtwdf_ - itwdf * itwdf_;\n\n itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_;\n rtwdf_ = rx;\n }\n }\n }\n }\n };\n\n FFTM.prototype.guessLen13b = function guessLen13b (n, m) {\n var N = Math.max(m, n) | 1;\n var odd = N & 1;\n var i = 0;\n for (N = N / 2 | 0; N; N = N >>> 1) {\n i++;\n }\n\n return 1 << i + 1 + odd;\n };\n\n FFTM.prototype.conjugate = function conjugate (rws, iws, N) {\n if (N <= 1) return;\n\n for (var i = 0; i < N / 2; i++) {\n var t = rws[i];\n\n rws[i] = rws[N - i - 1];\n rws[N - i - 1] = t;\n\n t = iws[i];\n\n iws[i] = -iws[N - i - 1];\n iws[N - i - 1] = -t;\n }\n };\n\n FFTM.prototype.normalize13b = function normalize13b (ws, N) {\n var carry = 0;\n for (var i = 0; i < N / 2; i++) {\n var w = Math.round(ws[2 * i + 1] / N) * 0x2000 +\n Math.round(ws[2 * i] / N) +\n carry;\n\n ws[i] = w & 0x3ffffff;\n\n if (w < 0x4000000) {\n carry = 0;\n } else {\n carry = w / 0x4000000 | 0;\n }\n }\n\n return ws;\n };\n\n FFTM.prototype.convert13b = function convert13b (ws, len, rws, N) {\n var carry = 0;\n for (var i = 0; i < len; i++) {\n carry = carry + (ws[i] | 0);\n\n rws[2 * i] = carry & 0x1fff; carry = carry >>> 13;\n rws[2 * i + 1] = carry & 0x1fff; carry = carry >>> 13;\n }\n\n // Pad with zeroes\n for (i = 2 * len; i < N; ++i) {\n rws[i] = 0;\n }\n\n assert(carry === 0);\n assert((carry & ~0x1fff) === 0);\n };\n\n FFTM.prototype.stub = function stub (N) {\n var ph = new Array(N);\n for (var i = 0; i < N; i++) {\n ph[i] = 0;\n }\n\n return ph;\n };\n\n FFTM.prototype.mulp = function mulp (x, y, out) {\n var N = 2 * this.guessLen13b(x.length, y.length);\n\n var rbt = this.makeRBT(N);\n\n var _ = this.stub(N);\n\n var rws = new Array(N);\n var rwst = new Array(N);\n var iwst = new Array(N);\n\n var nrws = new Array(N);\n var nrwst = new Array(N);\n var niwst = new Array(N);\n\n var rmws = out.words;\n rmws.length = N;\n\n this.convert13b(x.words, x.length, rws, N);\n this.convert13b(y.words, y.length, nrws, N);\n\n this.transform(rws, _, rwst, iwst, N, rbt);\n this.transform(nrws, _, nrwst, niwst, N, rbt);\n\n for (var i = 0; i < N; i++) {\n var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i];\n iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i];\n rwst[i] = rx;\n }\n\n this.conjugate(rwst, iwst, N);\n this.transform(rwst, iwst, rmws, _, N, rbt);\n this.conjugate(rmws, _, N);\n this.normalize13b(rmws, N);\n\n out.negative = x.negative ^ y.negative;\n out.length = x.length + y.length;\n return out._strip();\n };\n\n // Multiply `this` by `num`\n BN.prototype.mul = function mul (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return this.mulTo(num, out);\n };\n\n // Multiply employing FFT\n BN.prototype.mulf = function mulf (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return jumboMulTo(this, num, out);\n };\n\n // In-place Multiplication\n BN.prototype.imul = function imul (num) {\n return this.clone().mulTo(num, this);\n };\n\n BN.prototype.imuln = function imuln (num) {\n var isNegNum = num < 0;\n if (isNegNum) num = -num;\n\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n\n // Carry\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = (this.words[i] | 0) * num;\n var lo = (w & 0x3ffffff) + (carry & 0x3ffffff);\n carry >>= 26;\n carry += (w / 0x4000000) | 0;\n // NOTE: lo is 27bit maximum\n carry += lo >>> 26;\n this.words[i] = lo & 0x3ffffff;\n }\n\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n\n return isNegNum ? this.ineg() : this;\n };\n\n BN.prototype.muln = function muln (num) {\n return this.clone().imuln(num);\n };\n\n // `this` * `this`\n BN.prototype.sqr = function sqr () {\n return this.mul(this);\n };\n\n // `this` * `this` in-place\n BN.prototype.isqr = function isqr () {\n return this.imul(this.clone());\n };\n\n // Math.pow(`this`, `num`)\n BN.prototype.pow = function pow (num) {\n var w = toBitArray(num);\n if (w.length === 0) return new BN(1);\n\n // Skip leading zeroes\n var res = this;\n for (var i = 0; i < w.length; i++, res = res.sqr()) {\n if (w[i] !== 0) break;\n }\n\n if (++i < w.length) {\n for (var q = res.sqr(); i < w.length; i++, q = q.sqr()) {\n if (w[i] === 0) continue;\n\n res = res.mul(q);\n }\n }\n\n return res;\n };\n\n // Shift-left in-place\n BN.prototype.iushln = function iushln (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n var carryMask = (0x3ffffff >>> (26 - r)) << (26 - r);\n var i;\n\n if (r !== 0) {\n var carry = 0;\n\n for (i = 0; i < this.length; i++) {\n var newCarry = this.words[i] & carryMask;\n var c = ((this.words[i] | 0) - newCarry) << r;\n this.words[i] = c | carry;\n carry = newCarry >>> (26 - r);\n }\n\n if (carry) {\n this.words[i] = carry;\n this.length++;\n }\n }\n\n if (s !== 0) {\n for (i = this.length - 1; i >= 0; i--) {\n this.words[i + s] = this.words[i];\n }\n\n for (i = 0; i < s; i++) {\n this.words[i] = 0;\n }\n\n this.length += s;\n }\n\n return this._strip();\n };\n\n BN.prototype.ishln = function ishln (bits) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushln(bits);\n };\n\n // Shift-right in-place\n // NOTE: `hint` is a lowest bit before trailing zeroes\n // NOTE: if `extended` is present - it will be filled with destroyed bits\n BN.prototype.iushrn = function iushrn (bits, hint, extended) {\n assert(typeof bits === 'number' && bits >= 0);\n var h;\n if (hint) {\n h = (hint - (hint % 26)) / 26;\n } else {\n h = 0;\n }\n\n var r = bits % 26;\n var s = Math.min((bits - r) / 26, this.length);\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n var maskedWords = extended;\n\n h -= s;\n h = Math.max(0, h);\n\n // Extended mode, copy masked part\n if (maskedWords) {\n for (var i = 0; i < s; i++) {\n maskedWords.words[i] = this.words[i];\n }\n maskedWords.length = s;\n }\n\n if (s === 0) {\n // No-op, we should not move anything at all\n } else if (this.length > s) {\n this.length -= s;\n for (i = 0; i < this.length; i++) {\n this.words[i] = this.words[i + s];\n }\n } else {\n this.words[0] = 0;\n this.length = 1;\n }\n\n var carry = 0;\n for (i = this.length - 1; i >= 0 && (carry !== 0 || i >= h); i--) {\n var word = this.words[i] | 0;\n this.words[i] = (carry << (26 - r)) | (word >>> r);\n carry = word & mask;\n }\n\n // Push carried bits as a mask\n if (maskedWords && carry !== 0) {\n maskedWords.words[maskedWords.length++] = carry;\n }\n\n if (this.length === 0) {\n this.words[0] = 0;\n this.length = 1;\n }\n\n return this._strip();\n };\n\n BN.prototype.ishrn = function ishrn (bits, hint, extended) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushrn(bits, hint, extended);\n };\n\n // Shift-left\n BN.prototype.shln = function shln (bits) {\n return this.clone().ishln(bits);\n };\n\n BN.prototype.ushln = function ushln (bits) {\n return this.clone().iushln(bits);\n };\n\n // Shift-right\n BN.prototype.shrn = function shrn (bits) {\n return this.clone().ishrn(bits);\n };\n\n BN.prototype.ushrn = function ushrn (bits) {\n return this.clone().iushrn(bits);\n };\n\n // Test if n bit is set\n BN.prototype.testn = function testn (bit) {\n assert(typeof bit === 'number' && bit >= 0);\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) return false;\n\n // Check bit and return\n var w = this.words[s];\n\n return !!(w & q);\n };\n\n // Return only lowers bits of number (in-place)\n BN.prototype.imaskn = function imaskn (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n\n assert(this.negative === 0, 'imaskn works only with positive numbers');\n\n if (this.length <= s) {\n return this;\n }\n\n if (r !== 0) {\n s++;\n }\n this.length = Math.min(s, this.length);\n\n if (r !== 0) {\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n this.words[this.length - 1] &= mask;\n }\n\n return this._strip();\n };\n\n // Return only lowers bits of number\n BN.prototype.maskn = function maskn (bits) {\n return this.clone().imaskn(bits);\n };\n\n // Add plain number `num` to `this`\n BN.prototype.iaddn = function iaddn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.isubn(-num);\n\n // Possible sign change\n if (this.negative !== 0) {\n if (this.length === 1 && (this.words[0] | 0) <= num) {\n this.words[0] = num - (this.words[0] | 0);\n this.negative = 0;\n return this;\n }\n\n this.negative = 0;\n this.isubn(num);\n this.negative = 1;\n return this;\n }\n\n // Add without checks\n return this._iaddn(num);\n };\n\n BN.prototype._iaddn = function _iaddn (num) {\n this.words[0] += num;\n\n // Carry\n for (var i = 0; i < this.length && this.words[i] >= 0x4000000; i++) {\n this.words[i] -= 0x4000000;\n if (i === this.length - 1) {\n this.words[i + 1] = 1;\n } else {\n this.words[i + 1]++;\n }\n }\n this.length = Math.max(this.length, i + 1);\n\n return this;\n };\n\n // Subtract plain number `num` from `this`\n BN.prototype.isubn = function isubn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.iaddn(-num);\n\n if (this.negative !== 0) {\n this.negative = 0;\n this.iaddn(num);\n this.negative = 1;\n return this;\n }\n\n this.words[0] -= num;\n\n if (this.length === 1 && this.words[0] < 0) {\n this.words[0] = -this.words[0];\n this.negative = 1;\n } else {\n // Carry\n for (var i = 0; i < this.length && this.words[i] < 0; i++) {\n this.words[i] += 0x4000000;\n this.words[i + 1] -= 1;\n }\n }\n\n return this._strip();\n };\n\n BN.prototype.addn = function addn (num) {\n return this.clone().iaddn(num);\n };\n\n BN.prototype.subn = function subn (num) {\n return this.clone().isubn(num);\n };\n\n BN.prototype.iabs = function iabs () {\n this.negative = 0;\n\n return this;\n };\n\n BN.prototype.abs = function abs () {\n return this.clone().iabs();\n };\n\n BN.prototype._ishlnsubmul = function _ishlnsubmul (num, mul, shift) {\n var len = num.length + shift;\n var i;\n\n this._expand(len);\n\n var w;\n var carry = 0;\n for (i = 0; i < num.length; i++) {\n w = (this.words[i + shift] | 0) + carry;\n var right = (num.words[i] | 0) * mul;\n w -= right & 0x3ffffff;\n carry = (w >> 26) - ((right / 0x4000000) | 0);\n this.words[i + shift] = w & 0x3ffffff;\n }\n for (; i < this.length - shift; i++) {\n w = (this.words[i + shift] | 0) + carry;\n carry = w >> 26;\n this.words[i + shift] = w & 0x3ffffff;\n }\n\n if (carry === 0) return this._strip();\n\n // Subtraction overflow\n assert(carry === -1);\n carry = 0;\n for (i = 0; i < this.length; i++) {\n w = -(this.words[i] | 0) + carry;\n carry = w >> 26;\n this.words[i] = w & 0x3ffffff;\n }\n this.negative = 1;\n\n return this._strip();\n };\n\n BN.prototype._wordDiv = function _wordDiv (num, mode) {\n var shift = this.length - num.length;\n\n var a = this.clone();\n var b = num;\n\n // Normalize\n var bhi = b.words[b.length - 1] | 0;\n var bhiBits = this._countBits(bhi);\n shift = 26 - bhiBits;\n if (shift !== 0) {\n b = b.ushln(shift);\n a.iushln(shift);\n bhi = b.words[b.length - 1] | 0;\n }\n\n // Initialize quotient\n var m = a.length - b.length;\n var q;\n\n if (mode !== 'mod') {\n q = new BN(null);\n q.length = m + 1;\n q.words = new Array(q.length);\n for (var i = 0; i < q.length; i++) {\n q.words[i] = 0;\n }\n }\n\n var diff = a.clone()._ishlnsubmul(b, 1, m);\n if (diff.negative === 0) {\n a = diff;\n if (q) {\n q.words[m] = 1;\n }\n }\n\n for (var j = m - 1; j >= 0; j--) {\n var qj = (a.words[b.length + j] | 0) * 0x4000000 +\n (a.words[b.length + j - 1] | 0);\n\n // NOTE: (qj / bhi) is (0x3ffffff * 0x4000000 + 0x3ffffff) / 0x2000000 max\n // (0x7ffffff)\n qj = Math.min((qj / bhi) | 0, 0x3ffffff);\n\n a._ishlnsubmul(b, qj, j);\n while (a.negative !== 0) {\n qj--;\n a.negative = 0;\n a._ishlnsubmul(b, 1, j);\n if (!a.isZero()) {\n a.negative ^= 1;\n }\n }\n if (q) {\n q.words[j] = qj;\n }\n }\n if (q) {\n q._strip();\n }\n a._strip();\n\n // Denormalize\n if (mode !== 'div' && shift !== 0) {\n a.iushrn(shift);\n }\n\n return {\n div: q || null,\n mod: a\n };\n };\n\n // NOTE: 1) `mode` can be set to `mod` to request mod only,\n // to `div` to request div only, or be absent to\n // request both div & mod\n // 2) `positive` is true if unsigned mod is requested\n BN.prototype.divmod = function divmod (num, mode, positive) {\n assert(!num.isZero());\n\n if (this.isZero()) {\n return {\n div: new BN(0),\n mod: new BN(0)\n };\n }\n\n var div, mod, res;\n if (this.negative !== 0 && num.negative === 0) {\n res = this.neg().divmod(num, mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.iadd(num);\n }\n }\n\n return {\n div: div,\n mod: mod\n };\n }\n\n if (this.negative === 0 && num.negative !== 0) {\n res = this.divmod(num.neg(), mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n return {\n div: div,\n mod: res.mod\n };\n }\n\n if ((this.negative & num.negative) !== 0) {\n res = this.neg().divmod(num.neg(), mode);\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.isub(num);\n }\n }\n\n return {\n div: res.div,\n mod: mod\n };\n }\n\n // Both numbers are positive at this point\n\n // Strip both numbers to approximate shift value\n if (num.length > this.length || this.cmp(num) < 0) {\n return {\n div: new BN(0),\n mod: this\n };\n }\n\n // Very short reduction\n if (num.length === 1) {\n if (mode === 'div') {\n return {\n div: this.divn(num.words[0]),\n mod: null\n };\n }\n\n if (mode === 'mod') {\n return {\n div: null,\n mod: new BN(this.modrn(num.words[0]))\n };\n }\n\n return {\n div: this.divn(num.words[0]),\n mod: new BN(this.modrn(num.words[0]))\n };\n }\n\n return this._wordDiv(num, mode);\n };\n\n // Find `this` / `num`\n BN.prototype.div = function div (num) {\n return this.divmod(num, 'div', false).div;\n };\n\n // Find `this` % `num`\n BN.prototype.mod = function mod (num) {\n return this.divmod(num, 'mod', false).mod;\n };\n\n BN.prototype.umod = function umod (num) {\n return this.divmod(num, 'mod', true).mod;\n };\n\n // Find Round(`this` / `num`)\n BN.prototype.divRound = function divRound (num) {\n var dm = this.divmod(num);\n\n // Fast case - exact division\n if (dm.mod.isZero()) return dm.div;\n\n var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod;\n\n var half = num.ushrn(1);\n var r2 = num.andln(1);\n var cmp = mod.cmp(half);\n\n // Round down\n if (cmp < 0 || (r2 === 1 && cmp === 0)) return dm.div;\n\n // Round up\n return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1);\n };\n\n BN.prototype.modrn = function modrn (num) {\n var isNegNum = num < 0;\n if (isNegNum) num = -num;\n\n assert(num <= 0x3ffffff);\n var p = (1 << 26) % num;\n\n var acc = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n acc = (p * acc + (this.words[i] | 0)) % num;\n }\n\n return isNegNum ? -acc : acc;\n };\n\n // WARNING: DEPRECATED\n BN.prototype.modn = function modn (num) {\n return this.modrn(num);\n };\n\n // In-place division by number\n BN.prototype.idivn = function idivn (num) {\n var isNegNum = num < 0;\n if (isNegNum) num = -num;\n\n assert(num <= 0x3ffffff);\n\n var carry = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var w = (this.words[i] | 0) + carry * 0x4000000;\n this.words[i] = (w / num) | 0;\n carry = w % num;\n }\n\n this._strip();\n return isNegNum ? this.ineg() : this;\n };\n\n BN.prototype.divn = function divn (num) {\n return this.clone().idivn(num);\n };\n\n BN.prototype.egcd = function egcd (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var x = this;\n var y = p.clone();\n\n if (x.negative !== 0) {\n x = x.umod(p);\n } else {\n x = x.clone();\n }\n\n // A * x + B * y = x\n var A = new BN(1);\n var B = new BN(0);\n\n // C * x + D * y = y\n var C = new BN(0);\n var D = new BN(1);\n\n var g = 0;\n\n while (x.isEven() && y.isEven()) {\n x.iushrn(1);\n y.iushrn(1);\n ++g;\n }\n\n var yp = y.clone();\n var xp = x.clone();\n\n while (!x.isZero()) {\n for (var i = 0, im = 1; (x.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n x.iushrn(i);\n while (i-- > 0) {\n if (A.isOdd() || B.isOdd()) {\n A.iadd(yp);\n B.isub(xp);\n }\n\n A.iushrn(1);\n B.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n y.iushrn(j);\n while (j-- > 0) {\n if (C.isOdd() || D.isOdd()) {\n C.iadd(yp);\n D.isub(xp);\n }\n\n C.iushrn(1);\n D.iushrn(1);\n }\n }\n\n if (x.cmp(y) >= 0) {\n x.isub(y);\n A.isub(C);\n B.isub(D);\n } else {\n y.isub(x);\n C.isub(A);\n D.isub(B);\n }\n }\n\n return {\n a: C,\n b: D,\n gcd: y.iushln(g)\n };\n };\n\n // This is reduced incarnation of the binary EEA\n // above, designated to invert members of the\n // _prime_ fields F(p) at a maximal speed\n BN.prototype._invmp = function _invmp (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var a = this;\n var b = p.clone();\n\n if (a.negative !== 0) {\n a = a.umod(p);\n } else {\n a = a.clone();\n }\n\n var x1 = new BN(1);\n var x2 = new BN(0);\n\n var delta = b.clone();\n\n while (a.cmpn(1) > 0 && b.cmpn(1) > 0) {\n for (var i = 0, im = 1; (a.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n a.iushrn(i);\n while (i-- > 0) {\n if (x1.isOdd()) {\n x1.iadd(delta);\n }\n\n x1.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n b.iushrn(j);\n while (j-- > 0) {\n if (x2.isOdd()) {\n x2.iadd(delta);\n }\n\n x2.iushrn(1);\n }\n }\n\n if (a.cmp(b) >= 0) {\n a.isub(b);\n x1.isub(x2);\n } else {\n b.isub(a);\n x2.isub(x1);\n }\n }\n\n var res;\n if (a.cmpn(1) === 0) {\n res = x1;\n } else {\n res = x2;\n }\n\n if (res.cmpn(0) < 0) {\n res.iadd(p);\n }\n\n return res;\n };\n\n BN.prototype.gcd = function gcd (num) {\n if (this.isZero()) return num.abs();\n if (num.isZero()) return this.abs();\n\n var a = this.clone();\n var b = num.clone();\n a.negative = 0;\n b.negative = 0;\n\n // Remove common factor of two\n for (var shift = 0; a.isEven() && b.isEven(); shift++) {\n a.iushrn(1);\n b.iushrn(1);\n }\n\n do {\n while (a.isEven()) {\n a.iushrn(1);\n }\n while (b.isEven()) {\n b.iushrn(1);\n }\n\n var r = a.cmp(b);\n if (r < 0) {\n // Swap `a` and `b` to make `a` always bigger than `b`\n var t = a;\n a = b;\n b = t;\n } else if (r === 0 || b.cmpn(1) === 0) {\n break;\n }\n\n a.isub(b);\n } while (true);\n\n return b.iushln(shift);\n };\n\n // Invert number in the field F(num)\n BN.prototype.invm = function invm (num) {\n return this.egcd(num).a.umod(num);\n };\n\n BN.prototype.isEven = function isEven () {\n return (this.words[0] & 1) === 0;\n };\n\n BN.prototype.isOdd = function isOdd () {\n return (this.words[0] & 1) === 1;\n };\n\n // And first word and num\n BN.prototype.andln = function andln (num) {\n return this.words[0] & num;\n };\n\n // Increment at the bit position in-line\n BN.prototype.bincn = function bincn (bit) {\n assert(typeof bit === 'number');\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) {\n this._expand(s + 1);\n this.words[s] |= q;\n return this;\n }\n\n // Add bit and propagate, if needed\n var carry = q;\n for (var i = s; carry !== 0 && i < this.length; i++) {\n var w = this.words[i] | 0;\n w += carry;\n carry = w >>> 26;\n w &= 0x3ffffff;\n this.words[i] = w;\n }\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n return this;\n };\n\n BN.prototype.isZero = function isZero () {\n return this.length === 1 && this.words[0] === 0;\n };\n\n BN.prototype.cmpn = function cmpn (num) {\n var negative = num < 0;\n\n if (this.negative !== 0 && !negative) return -1;\n if (this.negative === 0 && negative) return 1;\n\n this._strip();\n\n var res;\n if (this.length > 1) {\n res = 1;\n } else {\n if (negative) {\n num = -num;\n }\n\n assert(num <= 0x3ffffff, 'Number is too big');\n\n var w = this.words[0] | 0;\n res = w === num ? 0 : w < num ? -1 : 1;\n }\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Compare two numbers and return:\n // 1 - if `this` > `num`\n // 0 - if `this` == `num`\n // -1 - if `this` < `num`\n BN.prototype.cmp = function cmp (num) {\n if (this.negative !== 0 && num.negative === 0) return -1;\n if (this.negative === 0 && num.negative !== 0) return 1;\n\n var res = this.ucmp(num);\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Unsigned comparison\n BN.prototype.ucmp = function ucmp (num) {\n // At this point both numbers have the same sign\n if (this.length > num.length) return 1;\n if (this.length < num.length) return -1;\n\n var res = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var a = this.words[i] | 0;\n var b = num.words[i] | 0;\n\n if (a === b) continue;\n if (a < b) {\n res = -1;\n } else if (a > b) {\n res = 1;\n }\n break;\n }\n return res;\n };\n\n BN.prototype.gtn = function gtn (num) {\n return this.cmpn(num) === 1;\n };\n\n BN.prototype.gt = function gt (num) {\n return this.cmp(num) === 1;\n };\n\n BN.prototype.gten = function gten (num) {\n return this.cmpn(num) >= 0;\n };\n\n BN.prototype.gte = function gte (num) {\n return this.cmp(num) >= 0;\n };\n\n BN.prototype.ltn = function ltn (num) {\n return this.cmpn(num) === -1;\n };\n\n BN.prototype.lt = function lt (num) {\n return this.cmp(num) === -1;\n };\n\n BN.prototype.lten = function lten (num) {\n return this.cmpn(num) <= 0;\n };\n\n BN.prototype.lte = function lte (num) {\n return this.cmp(num) <= 0;\n };\n\n BN.prototype.eqn = function eqn (num) {\n return this.cmpn(num) === 0;\n };\n\n BN.prototype.eq = function eq (num) {\n return this.cmp(num) === 0;\n };\n\n //\n // A reduce context, could be using montgomery or something better, depending\n // on the `m` itself.\n //\n BN.red = function red (num) {\n return new Red(num);\n };\n\n BN.prototype.toRed = function toRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n assert(this.negative === 0, 'red works only with positives');\n return ctx.convertTo(this)._forceRed(ctx);\n };\n\n BN.prototype.fromRed = function fromRed () {\n assert(this.red, 'fromRed works only with numbers in reduction context');\n return this.red.convertFrom(this);\n };\n\n BN.prototype._forceRed = function _forceRed (ctx) {\n this.red = ctx;\n return this;\n };\n\n BN.prototype.forceRed = function forceRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n return this._forceRed(ctx);\n };\n\n BN.prototype.redAdd = function redAdd (num) {\n assert(this.red, 'redAdd works only with red numbers');\n return this.red.add(this, num);\n };\n\n BN.prototype.redIAdd = function redIAdd (num) {\n assert(this.red, 'redIAdd works only with red numbers');\n return this.red.iadd(this, num);\n };\n\n BN.prototype.redSub = function redSub (num) {\n assert(this.red, 'redSub works only with red numbers');\n return this.red.sub(this, num);\n };\n\n BN.prototype.redISub = function redISub (num) {\n assert(this.red, 'redISub works only with red numbers');\n return this.red.isub(this, num);\n };\n\n BN.prototype.redShl = function redShl (num) {\n assert(this.red, 'redShl works only with red numbers');\n return this.red.shl(this, num);\n };\n\n BN.prototype.redMul = function redMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.mul(this, num);\n };\n\n BN.prototype.redIMul = function redIMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.imul(this, num);\n };\n\n BN.prototype.redSqr = function redSqr () {\n assert(this.red, 'redSqr works only with red numbers');\n this.red._verify1(this);\n return this.red.sqr(this);\n };\n\n BN.prototype.redISqr = function redISqr () {\n assert(this.red, 'redISqr works only with red numbers');\n this.red._verify1(this);\n return this.red.isqr(this);\n };\n\n // Square root over p\n BN.prototype.redSqrt = function redSqrt () {\n assert(this.red, 'redSqrt works only with red numbers');\n this.red._verify1(this);\n return this.red.sqrt(this);\n };\n\n BN.prototype.redInvm = function redInvm () {\n assert(this.red, 'redInvm works only with red numbers');\n this.red._verify1(this);\n return this.red.invm(this);\n };\n\n // Return negative clone of `this` % `red modulo`\n BN.prototype.redNeg = function redNeg () {\n assert(this.red, 'redNeg works only with red numbers');\n this.red._verify1(this);\n return this.red.neg(this);\n };\n\n BN.prototype.redPow = function redPow (num) {\n assert(this.red && !num.red, 'redPow(normalNum)');\n this.red._verify1(this);\n return this.red.pow(this, num);\n };\n\n // Prime numbers with efficient reduction\n var primes = {\n k256: null,\n p224: null,\n p192: null,\n p25519: null\n };\n\n // Pseudo-Mersenne prime\n function MPrime (name, p) {\n // P = 2 ^ N - K\n this.name = name;\n this.p = new BN(p, 16);\n this.n = this.p.bitLength();\n this.k = new BN(1).iushln(this.n).isub(this.p);\n\n this.tmp = this._tmp();\n }\n\n MPrime.prototype._tmp = function _tmp () {\n var tmp = new BN(null);\n tmp.words = new Array(Math.ceil(this.n / 13));\n return tmp;\n };\n\n MPrime.prototype.ireduce = function ireduce (num) {\n // Assumes that `num` is less than `P^2`\n // num = HI * (2 ^ N - K) + HI * K + LO = HI * K + LO (mod P)\n var r = num;\n var rlen;\n\n do {\n this.split(r, this.tmp);\n r = this.imulK(r);\n r = r.iadd(this.tmp);\n rlen = r.bitLength();\n } while (rlen > this.n);\n\n var cmp = rlen < this.n ? -1 : r.ucmp(this.p);\n if (cmp === 0) {\n r.words[0] = 0;\n r.length = 1;\n } else if (cmp > 0) {\n r.isub(this.p);\n } else {\n if (r.strip !== undefined) {\n // r is a BN v4 instance\n r.strip();\n } else {\n // r is a BN v5 instance\n r._strip();\n }\n }\n\n return r;\n };\n\n MPrime.prototype.split = function split (input, out) {\n input.iushrn(this.n, 0, out);\n };\n\n MPrime.prototype.imulK = function imulK (num) {\n return num.imul(this.k);\n };\n\n function K256 () {\n MPrime.call(\n this,\n 'k256',\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f');\n }\n inherits(K256, MPrime);\n\n K256.prototype.split = function split (input, output) {\n // 256 = 9 * 26 + 22\n var mask = 0x3fffff;\n\n var outLen = Math.min(input.length, 9);\n for (var i = 0; i < outLen; i++) {\n output.words[i] = input.words[i];\n }\n output.length = outLen;\n\n if (input.length <= 9) {\n input.words[0] = 0;\n input.length = 1;\n return;\n }\n\n // Shift by 9 limbs\n var prev = input.words[9];\n output.words[output.length++] = prev & mask;\n\n for (i = 10; i < input.length; i++) {\n var next = input.words[i] | 0;\n input.words[i - 10] = ((next & mask) << 4) | (prev >>> 22);\n prev = next;\n }\n prev >>>= 22;\n input.words[i - 10] = prev;\n if (prev === 0 && input.length > 10) {\n input.length -= 10;\n } else {\n input.length -= 9;\n }\n };\n\n K256.prototype.imulK = function imulK (num) {\n // K = 0x1000003d1 = [ 0x40, 0x3d1 ]\n num.words[num.length] = 0;\n num.words[num.length + 1] = 0;\n num.length += 2;\n\n // bounded at: 0x40 * 0x3ffffff + 0x3d0 = 0x100000390\n var lo = 0;\n for (var i = 0; i < num.length; i++) {\n var w = num.words[i] | 0;\n lo += w * 0x3d1;\n num.words[i] = lo & 0x3ffffff;\n lo = w * 0x40 + ((lo / 0x4000000) | 0);\n }\n\n // Fast length reduction\n if (num.words[num.length - 1] === 0) {\n num.length--;\n if (num.words[num.length - 1] === 0) {\n num.length--;\n }\n }\n return num;\n };\n\n function P224 () {\n MPrime.call(\n this,\n 'p224',\n 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001');\n }\n inherits(P224, MPrime);\n\n function P192 () {\n MPrime.call(\n this,\n 'p192',\n 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff');\n }\n inherits(P192, MPrime);\n\n function P25519 () {\n // 2 ^ 255 - 19\n MPrime.call(\n this,\n '25519',\n '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed');\n }\n inherits(P25519, MPrime);\n\n P25519.prototype.imulK = function imulK (num) {\n // K = 0x13\n var carry = 0;\n for (var i = 0; i < num.length; i++) {\n var hi = (num.words[i] | 0) * 0x13 + carry;\n var lo = hi & 0x3ffffff;\n hi >>>= 26;\n\n num.words[i] = lo;\n carry = hi;\n }\n if (carry !== 0) {\n num.words[num.length++] = carry;\n }\n return num;\n };\n\n // Exported mostly for testing purposes, use plain name instead\n BN._prime = function prime (name) {\n // Cached version of prime\n if (primes[name]) return primes[name];\n\n var prime;\n if (name === 'k256') {\n prime = new K256();\n } else if (name === 'p224') {\n prime = new P224();\n } else if (name === 'p192') {\n prime = new P192();\n } else if (name === 'p25519') {\n prime = new P25519();\n } else {\n throw new Error('Unknown prime ' + name);\n }\n primes[name] = prime;\n\n return prime;\n };\n\n //\n // Base reduction engine\n //\n function Red (m) {\n if (typeof m === 'string') {\n var prime = BN._prime(m);\n this.m = prime.p;\n this.prime = prime;\n } else {\n assert(m.gtn(1), 'modulus must be greater than 1');\n this.m = m;\n this.prime = null;\n }\n }\n\n Red.prototype._verify1 = function _verify1 (a) {\n assert(a.negative === 0, 'red works only with positives');\n assert(a.red, 'red works only with red numbers');\n };\n\n Red.prototype._verify2 = function _verify2 (a, b) {\n assert((a.negative | b.negative) === 0, 'red works only with positives');\n assert(a.red && a.red === b.red,\n 'red works only with red numbers');\n };\n\n Red.prototype.imod = function imod (a) {\n if (this.prime) return this.prime.ireduce(a)._forceRed(this);\n\n move(a, a.umod(this.m)._forceRed(this));\n return a;\n };\n\n Red.prototype.neg = function neg (a) {\n if (a.isZero()) {\n return a.clone();\n }\n\n return this.m.sub(a)._forceRed(this);\n };\n\n Red.prototype.add = function add (a, b) {\n this._verify2(a, b);\n\n var res = a.add(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.iadd = function iadd (a, b) {\n this._verify2(a, b);\n\n var res = a.iadd(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res;\n };\n\n Red.prototype.sub = function sub (a, b) {\n this._verify2(a, b);\n\n var res = a.sub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.isub = function isub (a, b) {\n this._verify2(a, b);\n\n var res = a.isub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res;\n };\n\n Red.prototype.shl = function shl (a, num) {\n this._verify1(a);\n return this.imod(a.ushln(num));\n };\n\n Red.prototype.imul = function imul (a, b) {\n this._verify2(a, b);\n return this.imod(a.imul(b));\n };\n\n Red.prototype.mul = function mul (a, b) {\n this._verify2(a, b);\n return this.imod(a.mul(b));\n };\n\n Red.prototype.isqr = function isqr (a) {\n return this.imul(a, a.clone());\n };\n\n Red.prototype.sqr = function sqr (a) {\n return this.mul(a, a);\n };\n\n Red.prototype.sqrt = function sqrt (a) {\n if (a.isZero()) return a.clone();\n\n var mod3 = this.m.andln(3);\n assert(mod3 % 2 === 1);\n\n // Fast case\n if (mod3 === 3) {\n var pow = this.m.add(new BN(1)).iushrn(2);\n return this.pow(a, pow);\n }\n\n // Tonelli-Shanks algorithm (Totally unoptimized and slow)\n //\n // Find Q and S, that Q * 2 ^ S = (P - 1)\n var q = this.m.subn(1);\n var s = 0;\n while (!q.isZero() && q.andln(1) === 0) {\n s++;\n q.iushrn(1);\n }\n assert(!q.isZero());\n\n var one = new BN(1).toRed(this);\n var nOne = one.redNeg();\n\n // Find quadratic non-residue\n // NOTE: Max is such because of generalized Riemann hypothesis.\n var lpow = this.m.subn(1).iushrn(1);\n var z = this.m.bitLength();\n z = new BN(2 * z * z).toRed(this);\n\n while (this.pow(z, lpow).cmp(nOne) !== 0) {\n z.redIAdd(nOne);\n }\n\n var c = this.pow(z, q);\n var r = this.pow(a, q.addn(1).iushrn(1));\n var t = this.pow(a, q);\n var m = s;\n while (t.cmp(one) !== 0) {\n var tmp = t;\n for (var i = 0; tmp.cmp(one) !== 0; i++) {\n tmp = tmp.redSqr();\n }\n assert(i < m);\n var b = this.pow(c, new BN(1).iushln(m - i - 1));\n\n r = r.redMul(b);\n c = b.redSqr();\n t = t.redMul(c);\n m = i;\n }\n\n return r;\n };\n\n Red.prototype.invm = function invm (a) {\n var inv = a._invmp(this.m);\n if (inv.negative !== 0) {\n inv.negative = 0;\n return this.imod(inv).redNeg();\n } else {\n return this.imod(inv);\n }\n };\n\n Red.prototype.pow = function pow (a, num) {\n if (num.isZero()) return new BN(1).toRed(this);\n if (num.cmpn(1) === 0) return a.clone();\n\n var windowSize = 4;\n var wnd = new Array(1 << windowSize);\n wnd[0] = new BN(1).toRed(this);\n wnd[1] = a;\n for (var i = 2; i < wnd.length; i++) {\n wnd[i] = this.mul(wnd[i - 1], a);\n }\n\n var res = wnd[0];\n var current = 0;\n var currentLen = 0;\n var start = num.bitLength() % 26;\n if (start === 0) {\n start = 26;\n }\n\n for (i = num.length - 1; i >= 0; i--) {\n var word = num.words[i];\n for (var j = start - 1; j >= 0; j--) {\n var bit = (word >> j) & 1;\n if (res !== wnd[0]) {\n res = this.sqr(res);\n }\n\n if (bit === 0 && current === 0) {\n currentLen = 0;\n continue;\n }\n\n current <<= 1;\n current |= bit;\n currentLen++;\n if (currentLen !== windowSize && (i !== 0 || j !== 0)) continue;\n\n res = this.mul(res, wnd[current]);\n currentLen = 0;\n current = 0;\n }\n start = 26;\n }\n\n return res;\n };\n\n Red.prototype.convertTo = function convertTo (num) {\n var r = num.umod(this.m);\n\n return r === num ? r.clone() : r;\n };\n\n Red.prototype.convertFrom = function convertFrom (num) {\n var res = num.clone();\n res.red = null;\n return res;\n };\n\n //\n // Montgomery method engine\n //\n\n BN.mont = function mont (num) {\n return new Mont(num);\n };\n\n function Mont (m) {\n Red.call(this, m);\n\n this.shift = this.m.bitLength();\n if (this.shift % 26 !== 0) {\n this.shift += 26 - (this.shift % 26);\n }\n\n this.r = new BN(1).iushln(this.shift);\n this.r2 = this.imod(this.r.sqr());\n this.rinv = this.r._invmp(this.m);\n\n this.minv = this.rinv.mul(this.r).isubn(1).div(this.m);\n this.minv = this.minv.umod(this.r);\n this.minv = this.r.sub(this.minv);\n }\n inherits(Mont, Red);\n\n Mont.prototype.convertTo = function convertTo (num) {\n return this.imod(num.ushln(this.shift));\n };\n\n Mont.prototype.convertFrom = function convertFrom (num) {\n var r = this.imod(num.mul(this.rinv));\n r.red = null;\n return r;\n };\n\n Mont.prototype.imul = function imul (a, b) {\n if (a.isZero() || b.isZero()) {\n a.words[0] = 0;\n a.length = 1;\n return a;\n }\n\n var t = a.imul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.mul = function mul (a, b) {\n if (a.isZero() || b.isZero()) return new BN(0)._forceRed(this);\n\n var t = a.mul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.invm = function invm (a) {\n // (AR)^-1 * R^2 = (A^-1 * R^-1) * R^2 = A^-1 * R\n var res = this.imod(a._invmp(this.m).mul(this.r2));\n return res._forceRed(this);\n };\n})( false || module, this);\n\n\n//# sourceURL=webpack://dcp/./node_modules/bn.js/lib/bn.js?"); + +/***/ }), + +/***/ "./node_modules/brorand/index.js": +/*!***************************************!*\ + !*** ./node_modules/brorand/index.js ***! + \***************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +eval("var r;\n\nmodule.exports = function rand(len) {\n if (!r)\n r = new Rand(null);\n\n return r.generate(len);\n};\n\nfunction Rand(rand) {\n this.rand = rand;\n}\nmodule.exports.Rand = Rand;\n\nRand.prototype.generate = function generate(len) {\n return this._rand(len);\n};\n\n// Emulate crypto API using randy\nRand.prototype._rand = function _rand(n) {\n if (this.rand.getBytes)\n return this.rand.getBytes(n);\n\n var res = new Uint8Array(n);\n for (var i = 0; i < res.length; i++)\n res[i] = this.rand.getByte();\n return res;\n};\n\nif (typeof self === 'object') {\n if (self.crypto && self.crypto.getRandomValues) {\n // Modern browsers\n Rand.prototype._rand = function _rand(n) {\n var arr = new Uint8Array(n);\n self.crypto.getRandomValues(arr);\n return arr;\n };\n } else if (self.msCrypto && self.msCrypto.getRandomValues) {\n // IE\n Rand.prototype._rand = function _rand(n) {\n var arr = new Uint8Array(n);\n self.msCrypto.getRandomValues(arr);\n return arr;\n };\n\n // Safari's WebWorkers do not have `crypto`\n } else if (typeof window === 'object') {\n // Old junk\n Rand.prototype._rand = function() {\n throw new Error('Not implemented yet');\n };\n }\n} else {\n // Node.js or Web worker with no crypto support\n try {\n var crypto = __webpack_require__(/*! crypto */ \"?3fc0\");\n if (typeof crypto.randomBytes !== 'function')\n throw new Error('Not supported');\n\n Rand.prototype._rand = function _rand(n) {\n return crypto.randomBytes(n);\n };\n } catch (e) {\n }\n}\n\n\n//# sourceURL=webpack://dcp/./node_modules/brorand/index.js?"); + +/***/ }), + +/***/ "./node_modules/browserify-aes/aes.js": +/*!********************************************!*\ + !*** ./node_modules/browserify-aes/aes.js ***! + \********************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +eval("// based on the aes implimentation in triple sec\n// https://github.com/keybase/triplesec\n// which is in turn based on the one from crypto-js\n// https://code.google.com/p/crypto-js/\n\nvar Buffer = (__webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer)\n\nfunction asUInt32Array (buf) {\n if (!Buffer.isBuffer(buf)) buf = Buffer.from(buf)\n\n var len = (buf.length / 4) | 0\n var out = new Array(len)\n\n for (var i = 0; i < len; i++) {\n out[i] = buf.readUInt32BE(i * 4)\n }\n\n return out\n}\n\nfunction scrubVec (v) {\n for (var i = 0; i < v.length; v++) {\n v[i] = 0\n }\n}\n\nfunction cryptBlock (M, keySchedule, SUB_MIX, SBOX, nRounds) {\n var SUB_MIX0 = SUB_MIX[0]\n var SUB_MIX1 = SUB_MIX[1]\n var SUB_MIX2 = SUB_MIX[2]\n var SUB_MIX3 = SUB_MIX[3]\n\n var s0 = M[0] ^ keySchedule[0]\n var s1 = M[1] ^ keySchedule[1]\n var s2 = M[2] ^ keySchedule[2]\n var s3 = M[3] ^ keySchedule[3]\n var t0, t1, t2, t3\n var ksRow = 4\n\n for (var round = 1; round < nRounds; round++) {\n t0 = SUB_MIX0[s0 >>> 24] ^ SUB_MIX1[(s1 >>> 16) & 0xff] ^ SUB_MIX2[(s2 >>> 8) & 0xff] ^ SUB_MIX3[s3 & 0xff] ^ keySchedule[ksRow++]\n t1 = SUB_MIX0[s1 >>> 24] ^ SUB_MIX1[(s2 >>> 16) & 0xff] ^ SUB_MIX2[(s3 >>> 8) & 0xff] ^ SUB_MIX3[s0 & 0xff] ^ keySchedule[ksRow++]\n t2 = SUB_MIX0[s2 >>> 24] ^ SUB_MIX1[(s3 >>> 16) & 0xff] ^ SUB_MIX2[(s0 >>> 8) & 0xff] ^ SUB_MIX3[s1 & 0xff] ^ keySchedule[ksRow++]\n t3 = SUB_MIX0[s3 >>> 24] ^ SUB_MIX1[(s0 >>> 16) & 0xff] ^ SUB_MIX2[(s1 >>> 8) & 0xff] ^ SUB_MIX3[s2 & 0xff] ^ keySchedule[ksRow++]\n s0 = t0\n s1 = t1\n s2 = t2\n s3 = t3\n }\n\n t0 = ((SBOX[s0 >>> 24] << 24) | (SBOX[(s1 >>> 16) & 0xff] << 16) | (SBOX[(s2 >>> 8) & 0xff] << 8) | SBOX[s3 & 0xff]) ^ keySchedule[ksRow++]\n t1 = ((SBOX[s1 >>> 24] << 24) | (SBOX[(s2 >>> 16) & 0xff] << 16) | (SBOX[(s3 >>> 8) & 0xff] << 8) | SBOX[s0 & 0xff]) ^ keySchedule[ksRow++]\n t2 = ((SBOX[s2 >>> 24] << 24) | (SBOX[(s3 >>> 16) & 0xff] << 16) | (SBOX[(s0 >>> 8) & 0xff] << 8) | SBOX[s1 & 0xff]) ^ keySchedule[ksRow++]\n t3 = ((SBOX[s3 >>> 24] << 24) | (SBOX[(s0 >>> 16) & 0xff] << 16) | (SBOX[(s1 >>> 8) & 0xff] << 8) | SBOX[s2 & 0xff]) ^ keySchedule[ksRow++]\n t0 = t0 >>> 0\n t1 = t1 >>> 0\n t2 = t2 >>> 0\n t3 = t3 >>> 0\n\n return [t0, t1, t2, t3]\n}\n\n// AES constants\nvar RCON = [0x00, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36]\nvar G = (function () {\n // Compute double table\n var d = new Array(256)\n for (var j = 0; j < 256; j++) {\n if (j < 128) {\n d[j] = j << 1\n } else {\n d[j] = (j << 1) ^ 0x11b\n }\n }\n\n var SBOX = []\n var INV_SBOX = []\n var SUB_MIX = [[], [], [], []]\n var INV_SUB_MIX = [[], [], [], []]\n\n // Walk GF(2^8)\n var x = 0\n var xi = 0\n for (var i = 0; i < 256; ++i) {\n // Compute sbox\n var sx = xi ^ (xi << 1) ^ (xi << 2) ^ (xi << 3) ^ (xi << 4)\n sx = (sx >>> 8) ^ (sx & 0xff) ^ 0x63\n SBOX[x] = sx\n INV_SBOX[sx] = x\n\n // Compute multiplication\n var x2 = d[x]\n var x4 = d[x2]\n var x8 = d[x4]\n\n // Compute sub bytes, mix columns tables\n var t = (d[sx] * 0x101) ^ (sx * 0x1010100)\n SUB_MIX[0][x] = (t << 24) | (t >>> 8)\n SUB_MIX[1][x] = (t << 16) | (t >>> 16)\n SUB_MIX[2][x] = (t << 8) | (t >>> 24)\n SUB_MIX[3][x] = t\n\n // Compute inv sub bytes, inv mix columns tables\n t = (x8 * 0x1010101) ^ (x4 * 0x10001) ^ (x2 * 0x101) ^ (x * 0x1010100)\n INV_SUB_MIX[0][sx] = (t << 24) | (t >>> 8)\n INV_SUB_MIX[1][sx] = (t << 16) | (t >>> 16)\n INV_SUB_MIX[2][sx] = (t << 8) | (t >>> 24)\n INV_SUB_MIX[3][sx] = t\n\n if (x === 0) {\n x = xi = 1\n } else {\n x = x2 ^ d[d[d[x8 ^ x2]]]\n xi ^= d[d[xi]]\n }\n }\n\n return {\n SBOX: SBOX,\n INV_SBOX: INV_SBOX,\n SUB_MIX: SUB_MIX,\n INV_SUB_MIX: INV_SUB_MIX\n }\n})()\n\nfunction AES (key) {\n this._key = asUInt32Array(key)\n this._reset()\n}\n\nAES.blockSize = 4 * 4\nAES.keySize = 256 / 8\nAES.prototype.blockSize = AES.blockSize\nAES.prototype.keySize = AES.keySize\nAES.prototype._reset = function () {\n var keyWords = this._key\n var keySize = keyWords.length\n var nRounds = keySize + 6\n var ksRows = (nRounds + 1) * 4\n\n var keySchedule = []\n for (var k = 0; k < keySize; k++) {\n keySchedule[k] = keyWords[k]\n }\n\n for (k = keySize; k < ksRows; k++) {\n var t = keySchedule[k - 1]\n\n if (k % keySize === 0) {\n t = (t << 8) | (t >>> 24)\n t =\n (G.SBOX[t >>> 24] << 24) |\n (G.SBOX[(t >>> 16) & 0xff] << 16) |\n (G.SBOX[(t >>> 8) & 0xff] << 8) |\n (G.SBOX[t & 0xff])\n\n t ^= RCON[(k / keySize) | 0] << 24\n } else if (keySize > 6 && k % keySize === 4) {\n t =\n (G.SBOX[t >>> 24] << 24) |\n (G.SBOX[(t >>> 16) & 0xff] << 16) |\n (G.SBOX[(t >>> 8) & 0xff] << 8) |\n (G.SBOX[t & 0xff])\n }\n\n keySchedule[k] = keySchedule[k - keySize] ^ t\n }\n\n var invKeySchedule = []\n for (var ik = 0; ik < ksRows; ik++) {\n var ksR = ksRows - ik\n var tt = keySchedule[ksR - (ik % 4 ? 0 : 4)]\n\n if (ik < 4 || ksR <= 4) {\n invKeySchedule[ik] = tt\n } else {\n invKeySchedule[ik] =\n G.INV_SUB_MIX[0][G.SBOX[tt >>> 24]] ^\n G.INV_SUB_MIX[1][G.SBOX[(tt >>> 16) & 0xff]] ^\n G.INV_SUB_MIX[2][G.SBOX[(tt >>> 8) & 0xff]] ^\n G.INV_SUB_MIX[3][G.SBOX[tt & 0xff]]\n }\n }\n\n this._nRounds = nRounds\n this._keySchedule = keySchedule\n this._invKeySchedule = invKeySchedule\n}\n\nAES.prototype.encryptBlockRaw = function (M) {\n M = asUInt32Array(M)\n return cryptBlock(M, this._keySchedule, G.SUB_MIX, G.SBOX, this._nRounds)\n}\n\nAES.prototype.encryptBlock = function (M) {\n var out = this.encryptBlockRaw(M)\n var buf = Buffer.allocUnsafe(16)\n buf.writeUInt32BE(out[0], 0)\n buf.writeUInt32BE(out[1], 4)\n buf.writeUInt32BE(out[2], 8)\n buf.writeUInt32BE(out[3], 12)\n return buf\n}\n\nAES.prototype.decryptBlock = function (M) {\n M = asUInt32Array(M)\n\n // swap\n var m1 = M[1]\n M[1] = M[3]\n M[3] = m1\n\n var out = cryptBlock(M, this._invKeySchedule, G.INV_SUB_MIX, G.INV_SBOX, this._nRounds)\n var buf = Buffer.allocUnsafe(16)\n buf.writeUInt32BE(out[0], 0)\n buf.writeUInt32BE(out[3], 4)\n buf.writeUInt32BE(out[2], 8)\n buf.writeUInt32BE(out[1], 12)\n return buf\n}\n\nAES.prototype.scrub = function () {\n scrubVec(this._keySchedule)\n scrubVec(this._invKeySchedule)\n scrubVec(this._key)\n}\n\nmodule.exports.AES = AES\n\n\n//# sourceURL=webpack://dcp/./node_modules/browserify-aes/aes.js?"); + +/***/ }), + +/***/ "./node_modules/browserify-aes/authCipher.js": +/*!***************************************************!*\ + !*** ./node_modules/browserify-aes/authCipher.js ***! + \***************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +eval("var aes = __webpack_require__(/*! ./aes */ \"./node_modules/browserify-aes/aes.js\")\nvar Buffer = (__webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer)\nvar Transform = __webpack_require__(/*! cipher-base */ \"./node_modules/cipher-base/index.js\")\nvar inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\")\nvar GHASH = __webpack_require__(/*! ./ghash */ \"./node_modules/browserify-aes/ghash.js\")\nvar xor = __webpack_require__(/*! buffer-xor */ \"./node_modules/buffer-xor/index.js\")\nvar incr32 = __webpack_require__(/*! ./incr32 */ \"./node_modules/browserify-aes/incr32.js\")\n\nfunction xorTest (a, b) {\n var out = 0\n if (a.length !== b.length) out++\n\n var len = Math.min(a.length, b.length)\n for (var i = 0; i < len; ++i) {\n out += (a[i] ^ b[i])\n }\n\n return out\n}\n\nfunction calcIv (self, iv, ck) {\n if (iv.length === 12) {\n self._finID = Buffer.concat([iv, Buffer.from([0, 0, 0, 1])])\n return Buffer.concat([iv, Buffer.from([0, 0, 0, 2])])\n }\n var ghash = new GHASH(ck)\n var len = iv.length\n var toPad = len % 16\n ghash.update(iv)\n if (toPad) {\n toPad = 16 - toPad\n ghash.update(Buffer.alloc(toPad, 0))\n }\n ghash.update(Buffer.alloc(8, 0))\n var ivBits = len * 8\n var tail = Buffer.alloc(8)\n tail.writeUIntBE(ivBits, 0, 8)\n ghash.update(tail)\n self._finID = ghash.state\n var out = Buffer.from(self._finID)\n incr32(out)\n return out\n}\nfunction StreamCipher (mode, key, iv, decrypt) {\n Transform.call(this)\n\n var h = Buffer.alloc(4, 0)\n\n this._cipher = new aes.AES(key)\n var ck = this._cipher.encryptBlock(h)\n this._ghash = new GHASH(ck)\n iv = calcIv(this, iv, ck)\n\n this._prev = Buffer.from(iv)\n this._cache = Buffer.allocUnsafe(0)\n this._secCache = Buffer.allocUnsafe(0)\n this._decrypt = decrypt\n this._alen = 0\n this._len = 0\n this._mode = mode\n\n this._authTag = null\n this._called = false\n}\n\ninherits(StreamCipher, Transform)\n\nStreamCipher.prototype._update = function (chunk) {\n if (!this._called && this._alen) {\n var rump = 16 - (this._alen % 16)\n if (rump < 16) {\n rump = Buffer.alloc(rump, 0)\n this._ghash.update(rump)\n }\n }\n\n this._called = true\n var out = this._mode.encrypt(this, chunk)\n if (this._decrypt) {\n this._ghash.update(chunk)\n } else {\n this._ghash.update(out)\n }\n this._len += chunk.length\n return out\n}\n\nStreamCipher.prototype._final = function () {\n if (this._decrypt && !this._authTag) throw new Error('Unsupported state or unable to authenticate data')\n\n var tag = xor(this._ghash.final(this._alen * 8, this._len * 8), this._cipher.encryptBlock(this._finID))\n if (this._decrypt && xorTest(tag, this._authTag)) throw new Error('Unsupported state or unable to authenticate data')\n\n this._authTag = tag\n this._cipher.scrub()\n}\n\nStreamCipher.prototype.getAuthTag = function getAuthTag () {\n if (this._decrypt || !Buffer.isBuffer(this._authTag)) throw new Error('Attempting to get auth tag in unsupported state')\n\n return this._authTag\n}\n\nStreamCipher.prototype.setAuthTag = function setAuthTag (tag) {\n if (!this._decrypt) throw new Error('Attempting to set auth tag in unsupported state')\n\n this._authTag = tag\n}\n\nStreamCipher.prototype.setAAD = function setAAD (buf) {\n if (this._called) throw new Error('Attempting to set AAD in unsupported state')\n\n this._ghash.update(buf)\n this._alen += buf.length\n}\n\nmodule.exports = StreamCipher\n\n\n//# sourceURL=webpack://dcp/./node_modules/browserify-aes/authCipher.js?"); + +/***/ }), + +/***/ "./node_modules/browserify-aes/browser.js": +/*!************************************************!*\ + !*** ./node_modules/browserify-aes/browser.js ***! + \************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +eval("var ciphers = __webpack_require__(/*! ./encrypter */ \"./node_modules/browserify-aes/encrypter.js\")\nvar deciphers = __webpack_require__(/*! ./decrypter */ \"./node_modules/browserify-aes/decrypter.js\")\nvar modes = __webpack_require__(/*! ./modes/list.json */ \"./node_modules/browserify-aes/modes/list.json\")\n\nfunction getCiphers () {\n return Object.keys(modes)\n}\n\nexports.createCipher = exports.Cipher = ciphers.createCipher\nexports.createCipheriv = exports.Cipheriv = ciphers.createCipheriv\nexports.createDecipher = exports.Decipher = deciphers.createDecipher\nexports.createDecipheriv = exports.Decipheriv = deciphers.createDecipheriv\nexports.listCiphers = exports.getCiphers = getCiphers\n\n\n//# sourceURL=webpack://dcp/./node_modules/browserify-aes/browser.js?"); + +/***/ }), + +/***/ "./node_modules/browserify-aes/decrypter.js": +/*!**************************************************!*\ + !*** ./node_modules/browserify-aes/decrypter.js ***! + \**************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +eval("var AuthCipher = __webpack_require__(/*! ./authCipher */ \"./node_modules/browserify-aes/authCipher.js\")\nvar Buffer = (__webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer)\nvar MODES = __webpack_require__(/*! ./modes */ \"./node_modules/browserify-aes/modes/index.js\")\nvar StreamCipher = __webpack_require__(/*! ./streamCipher */ \"./node_modules/browserify-aes/streamCipher.js\")\nvar Transform = __webpack_require__(/*! cipher-base */ \"./node_modules/cipher-base/index.js\")\nvar aes = __webpack_require__(/*! ./aes */ \"./node_modules/browserify-aes/aes.js\")\nvar ebtk = __webpack_require__(/*! evp_bytestokey */ \"./node_modules/evp_bytestokey/index.js\")\nvar inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\")\n\nfunction Decipher (mode, key, iv) {\n Transform.call(this)\n\n this._cache = new Splitter()\n this._last = void 0\n this._cipher = new aes.AES(key)\n this._prev = Buffer.from(iv)\n this._mode = mode\n this._autopadding = true\n}\n\ninherits(Decipher, Transform)\n\nDecipher.prototype._update = function (data) {\n this._cache.add(data)\n var chunk\n var thing\n var out = []\n while ((chunk = this._cache.get(this._autopadding))) {\n thing = this._mode.decrypt(this, chunk)\n out.push(thing)\n }\n return Buffer.concat(out)\n}\n\nDecipher.prototype._final = function () {\n var chunk = this._cache.flush()\n if (this._autopadding) {\n return unpad(this._mode.decrypt(this, chunk))\n } else if (chunk) {\n throw new Error('data not multiple of block length')\n }\n}\n\nDecipher.prototype.setAutoPadding = function (setTo) {\n this._autopadding = !!setTo\n return this\n}\n\nfunction Splitter () {\n this.cache = Buffer.allocUnsafe(0)\n}\n\nSplitter.prototype.add = function (data) {\n this.cache = Buffer.concat([this.cache, data])\n}\n\nSplitter.prototype.get = function (autoPadding) {\n var out\n if (autoPadding) {\n if (this.cache.length > 16) {\n out = this.cache.slice(0, 16)\n this.cache = this.cache.slice(16)\n return out\n }\n } else {\n if (this.cache.length >= 16) {\n out = this.cache.slice(0, 16)\n this.cache = this.cache.slice(16)\n return out\n }\n }\n\n return null\n}\n\nSplitter.prototype.flush = function () {\n if (this.cache.length) return this.cache\n}\n\nfunction unpad (last) {\n var padded = last[15]\n if (padded < 1 || padded > 16) {\n throw new Error('unable to decrypt data')\n }\n var i = -1\n while (++i < padded) {\n if (last[(i + (16 - padded))] !== padded) {\n throw new Error('unable to decrypt data')\n }\n }\n if (padded === 16) return\n\n return last.slice(0, 16 - padded)\n}\n\nfunction createDecipheriv (suite, password, iv) {\n var config = MODES[suite.toLowerCase()]\n if (!config) throw new TypeError('invalid suite type')\n\n if (typeof iv === 'string') iv = Buffer.from(iv)\n if (config.mode !== 'GCM' && iv.length !== config.iv) throw new TypeError('invalid iv length ' + iv.length)\n\n if (typeof password === 'string') password = Buffer.from(password)\n if (password.length !== config.key / 8) throw new TypeError('invalid key length ' + password.length)\n\n if (config.type === 'stream') {\n return new StreamCipher(config.module, password, iv, true)\n } else if (config.type === 'auth') {\n return new AuthCipher(config.module, password, iv, true)\n }\n\n return new Decipher(config.module, password, iv)\n}\n\nfunction createDecipher (suite, password) {\n var config = MODES[suite.toLowerCase()]\n if (!config) throw new TypeError('invalid suite type')\n\n var keys = ebtk(password, false, config.key, config.iv)\n return createDecipheriv(suite, keys.key, keys.iv)\n}\n\nexports.createDecipher = createDecipher\nexports.createDecipheriv = createDecipheriv\n\n\n//# sourceURL=webpack://dcp/./node_modules/browserify-aes/decrypter.js?"); + +/***/ }), + +/***/ "./node_modules/browserify-aes/encrypter.js": +/*!**************************************************!*\ + !*** ./node_modules/browserify-aes/encrypter.js ***! + \**************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +eval("var MODES = __webpack_require__(/*! ./modes */ \"./node_modules/browserify-aes/modes/index.js\")\nvar AuthCipher = __webpack_require__(/*! ./authCipher */ \"./node_modules/browserify-aes/authCipher.js\")\nvar Buffer = (__webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer)\nvar StreamCipher = __webpack_require__(/*! ./streamCipher */ \"./node_modules/browserify-aes/streamCipher.js\")\nvar Transform = __webpack_require__(/*! cipher-base */ \"./node_modules/cipher-base/index.js\")\nvar aes = __webpack_require__(/*! ./aes */ \"./node_modules/browserify-aes/aes.js\")\nvar ebtk = __webpack_require__(/*! evp_bytestokey */ \"./node_modules/evp_bytestokey/index.js\")\nvar inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\")\n\nfunction Cipher (mode, key, iv) {\n Transform.call(this)\n\n this._cache = new Splitter()\n this._cipher = new aes.AES(key)\n this._prev = Buffer.from(iv)\n this._mode = mode\n this._autopadding = true\n}\n\ninherits(Cipher, Transform)\n\nCipher.prototype._update = function (data) {\n this._cache.add(data)\n var chunk\n var thing\n var out = []\n\n while ((chunk = this._cache.get())) {\n thing = this._mode.encrypt(this, chunk)\n out.push(thing)\n }\n\n return Buffer.concat(out)\n}\n\nvar PADDING = Buffer.alloc(16, 0x10)\n\nCipher.prototype._final = function () {\n var chunk = this._cache.flush()\n if (this._autopadding) {\n chunk = this._mode.encrypt(this, chunk)\n this._cipher.scrub()\n return chunk\n }\n\n if (!chunk.equals(PADDING)) {\n this._cipher.scrub()\n throw new Error('data not multiple of block length')\n }\n}\n\nCipher.prototype.setAutoPadding = function (setTo) {\n this._autopadding = !!setTo\n return this\n}\n\nfunction Splitter () {\n this.cache = Buffer.allocUnsafe(0)\n}\n\nSplitter.prototype.add = function (data) {\n this.cache = Buffer.concat([this.cache, data])\n}\n\nSplitter.prototype.get = function () {\n if (this.cache.length > 15) {\n var out = this.cache.slice(0, 16)\n this.cache = this.cache.slice(16)\n return out\n }\n return null\n}\n\nSplitter.prototype.flush = function () {\n var len = 16 - this.cache.length\n var padBuff = Buffer.allocUnsafe(len)\n\n var i = -1\n while (++i < len) {\n padBuff.writeUInt8(len, i)\n }\n\n return Buffer.concat([this.cache, padBuff])\n}\n\nfunction createCipheriv (suite, password, iv) {\n var config = MODES[suite.toLowerCase()]\n if (!config) throw new TypeError('invalid suite type')\n\n if (typeof password === 'string') password = Buffer.from(password)\n if (password.length !== config.key / 8) throw new TypeError('invalid key length ' + password.length)\n\n if (typeof iv === 'string') iv = Buffer.from(iv)\n if (config.mode !== 'GCM' && iv.length !== config.iv) throw new TypeError('invalid iv length ' + iv.length)\n\n if (config.type === 'stream') {\n return new StreamCipher(config.module, password, iv)\n } else if (config.type === 'auth') {\n return new AuthCipher(config.module, password, iv)\n }\n\n return new Cipher(config.module, password, iv)\n}\n\nfunction createCipher (suite, password) {\n var config = MODES[suite.toLowerCase()]\n if (!config) throw new TypeError('invalid suite type')\n\n var keys = ebtk(password, false, config.key, config.iv)\n return createCipheriv(suite, keys.key, keys.iv)\n}\n\nexports.createCipheriv = createCipheriv\nexports.createCipher = createCipher\n\n\n//# sourceURL=webpack://dcp/./node_modules/browserify-aes/encrypter.js?"); + +/***/ }), + +/***/ "./node_modules/browserify-aes/ghash.js": +/*!**********************************************!*\ + !*** ./node_modules/browserify-aes/ghash.js ***! + \**********************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +eval("var Buffer = (__webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer)\nvar ZEROES = Buffer.alloc(16, 0)\n\nfunction toArray (buf) {\n return [\n buf.readUInt32BE(0),\n buf.readUInt32BE(4),\n buf.readUInt32BE(8),\n buf.readUInt32BE(12)\n ]\n}\n\nfunction fromArray (out) {\n var buf = Buffer.allocUnsafe(16)\n buf.writeUInt32BE(out[0] >>> 0, 0)\n buf.writeUInt32BE(out[1] >>> 0, 4)\n buf.writeUInt32BE(out[2] >>> 0, 8)\n buf.writeUInt32BE(out[3] >>> 0, 12)\n return buf\n}\n\nfunction GHASH (key) {\n this.h = key\n this.state = Buffer.alloc(16, 0)\n this.cache = Buffer.allocUnsafe(0)\n}\n\n// from http://bitwiseshiftleft.github.io/sjcl/doc/symbols/src/core_gcm.js.html\n// by Juho Vähä-Herttua\nGHASH.prototype.ghash = function (block) {\n var i = -1\n while (++i < block.length) {\n this.state[i] ^= block[i]\n }\n this._multiply()\n}\n\nGHASH.prototype._multiply = function () {\n var Vi = toArray(this.h)\n var Zi = [0, 0, 0, 0]\n var j, xi, lsbVi\n var i = -1\n while (++i < 128) {\n xi = (this.state[~~(i / 8)] & (1 << (7 - (i % 8)))) !== 0\n if (xi) {\n // Z_i+1 = Z_i ^ V_i\n Zi[0] ^= Vi[0]\n Zi[1] ^= Vi[1]\n Zi[2] ^= Vi[2]\n Zi[3] ^= Vi[3]\n }\n\n // Store the value of LSB(V_i)\n lsbVi = (Vi[3] & 1) !== 0\n\n // V_i+1 = V_i >> 1\n for (j = 3; j > 0; j--) {\n Vi[j] = (Vi[j] >>> 1) | ((Vi[j - 1] & 1) << 31)\n }\n Vi[0] = Vi[0] >>> 1\n\n // If LSB(V_i) is 1, V_i+1 = (V_i >> 1) ^ R\n if (lsbVi) {\n Vi[0] = Vi[0] ^ (0xe1 << 24)\n }\n }\n this.state = fromArray(Zi)\n}\n\nGHASH.prototype.update = function (buf) {\n this.cache = Buffer.concat([this.cache, buf])\n var chunk\n while (this.cache.length >= 16) {\n chunk = this.cache.slice(0, 16)\n this.cache = this.cache.slice(16)\n this.ghash(chunk)\n }\n}\n\nGHASH.prototype.final = function (abl, bl) {\n if (this.cache.length) {\n this.ghash(Buffer.concat([this.cache, ZEROES], 16))\n }\n\n this.ghash(fromArray([0, abl, 0, bl]))\n return this.state\n}\n\nmodule.exports = GHASH\n\n\n//# sourceURL=webpack://dcp/./node_modules/browserify-aes/ghash.js?"); + +/***/ }), + +/***/ "./node_modules/browserify-aes/incr32.js": +/*!***********************************************!*\ + !*** ./node_modules/browserify-aes/incr32.js ***! + \***********************************************/ +/***/ ((module) => { + +eval("function incr32 (iv) {\n var len = iv.length\n var item\n while (len--) {\n item = iv.readUInt8(len)\n if (item === 255) {\n iv.writeUInt8(0, len)\n } else {\n item++\n iv.writeUInt8(item, len)\n break\n }\n }\n}\nmodule.exports = incr32\n\n\n//# sourceURL=webpack://dcp/./node_modules/browserify-aes/incr32.js?"); + +/***/ }), + +/***/ "./node_modules/browserify-aes/modes/cbc.js": +/*!**************************************************!*\ + !*** ./node_modules/browserify-aes/modes/cbc.js ***! + \**************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +eval("var xor = __webpack_require__(/*! buffer-xor */ \"./node_modules/buffer-xor/index.js\")\n\nexports.encrypt = function (self, block) {\n var data = xor(block, self._prev)\n\n self._prev = self._cipher.encryptBlock(data)\n return self._prev\n}\n\nexports.decrypt = function (self, block) {\n var pad = self._prev\n\n self._prev = block\n var out = self._cipher.decryptBlock(block)\n\n return xor(out, pad)\n}\n\n\n//# sourceURL=webpack://dcp/./node_modules/browserify-aes/modes/cbc.js?"); + +/***/ }), + +/***/ "./node_modules/browserify-aes/modes/cfb.js": +/*!**************************************************!*\ + !*** ./node_modules/browserify-aes/modes/cfb.js ***! + \**************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +eval("var Buffer = (__webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer)\nvar xor = __webpack_require__(/*! buffer-xor */ \"./node_modules/buffer-xor/index.js\")\n\nfunction encryptStart (self, data, decrypt) {\n var len = data.length\n var out = xor(data, self._cache)\n self._cache = self._cache.slice(len)\n self._prev = Buffer.concat([self._prev, decrypt ? data : out])\n return out\n}\n\nexports.encrypt = function (self, data, decrypt) {\n var out = Buffer.allocUnsafe(0)\n var len\n\n while (data.length) {\n if (self._cache.length === 0) {\n self._cache = self._cipher.encryptBlock(self._prev)\n self._prev = Buffer.allocUnsafe(0)\n }\n\n if (self._cache.length <= data.length) {\n len = self._cache.length\n out = Buffer.concat([out, encryptStart(self, data.slice(0, len), decrypt)])\n data = data.slice(len)\n } else {\n out = Buffer.concat([out, encryptStart(self, data, decrypt)])\n break\n }\n }\n\n return out\n}\n\n\n//# sourceURL=webpack://dcp/./node_modules/browserify-aes/modes/cfb.js?"); + +/***/ }), + +/***/ "./node_modules/browserify-aes/modes/cfb1.js": +/*!***************************************************!*\ + !*** ./node_modules/browserify-aes/modes/cfb1.js ***! + \***************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +eval("var Buffer = (__webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer)\n\nfunction encryptByte (self, byteParam, decrypt) {\n var pad\n var i = -1\n var len = 8\n var out = 0\n var bit, value\n while (++i < len) {\n pad = self._cipher.encryptBlock(self._prev)\n bit = (byteParam & (1 << (7 - i))) ? 0x80 : 0\n value = pad[0] ^ bit\n out += ((value & 0x80) >> (i % 8))\n self._prev = shiftIn(self._prev, decrypt ? bit : value)\n }\n return out\n}\n\nfunction shiftIn (buffer, value) {\n var len = buffer.length\n var i = -1\n var out = Buffer.allocUnsafe(buffer.length)\n buffer = Buffer.concat([buffer, Buffer.from([value])])\n\n while (++i < len) {\n out[i] = buffer[i] << 1 | buffer[i + 1] >> (7)\n }\n\n return out\n}\n\nexports.encrypt = function (self, chunk, decrypt) {\n var len = chunk.length\n var out = Buffer.allocUnsafe(len)\n var i = -1\n\n while (++i < len) {\n out[i] = encryptByte(self, chunk[i], decrypt)\n }\n\n return out\n}\n\n\n//# sourceURL=webpack://dcp/./node_modules/browserify-aes/modes/cfb1.js?"); + +/***/ }), + +/***/ "./node_modules/browserify-aes/modes/cfb8.js": +/*!***************************************************!*\ + !*** ./node_modules/browserify-aes/modes/cfb8.js ***! + \***************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +eval("var Buffer = (__webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer)\n\nfunction encryptByte (self, byteParam, decrypt) {\n var pad = self._cipher.encryptBlock(self._prev)\n var out = pad[0] ^ byteParam\n\n self._prev = Buffer.concat([\n self._prev.slice(1),\n Buffer.from([decrypt ? byteParam : out])\n ])\n\n return out\n}\n\nexports.encrypt = function (self, chunk, decrypt) {\n var len = chunk.length\n var out = Buffer.allocUnsafe(len)\n var i = -1\n\n while (++i < len) {\n out[i] = encryptByte(self, chunk[i], decrypt)\n }\n\n return out\n}\n\n\n//# sourceURL=webpack://dcp/./node_modules/browserify-aes/modes/cfb8.js?"); + +/***/ }), + +/***/ "./node_modules/browserify-aes/modes/ctr.js": +/*!**************************************************!*\ + !*** ./node_modules/browserify-aes/modes/ctr.js ***! + \**************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +eval("var xor = __webpack_require__(/*! buffer-xor */ \"./node_modules/buffer-xor/index.js\")\nvar Buffer = (__webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer)\nvar incr32 = __webpack_require__(/*! ../incr32 */ \"./node_modules/browserify-aes/incr32.js\")\n\nfunction getBlock (self) {\n var out = self._cipher.encryptBlockRaw(self._prev)\n incr32(self._prev)\n return out\n}\n\nvar blockSize = 16\nexports.encrypt = function (self, chunk) {\n var chunkNum = Math.ceil(chunk.length / blockSize)\n var start = self._cache.length\n self._cache = Buffer.concat([\n self._cache,\n Buffer.allocUnsafe(chunkNum * blockSize)\n ])\n for (var i = 0; i < chunkNum; i++) {\n var out = getBlock(self)\n var offset = start + i * blockSize\n self._cache.writeUInt32BE(out[0], offset + 0)\n self._cache.writeUInt32BE(out[1], offset + 4)\n self._cache.writeUInt32BE(out[2], offset + 8)\n self._cache.writeUInt32BE(out[3], offset + 12)\n }\n var pad = self._cache.slice(0, chunk.length)\n self._cache = self._cache.slice(chunk.length)\n return xor(chunk, pad)\n}\n\n\n//# sourceURL=webpack://dcp/./node_modules/browserify-aes/modes/ctr.js?"); + +/***/ }), + +/***/ "./node_modules/browserify-aes/modes/ecb.js": +/*!**************************************************!*\ + !*** ./node_modules/browserify-aes/modes/ecb.js ***! + \**************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +eval("exports.encrypt = function (self, block) {\n return self._cipher.encryptBlock(block)\n}\n\nexports.decrypt = function (self, block) {\n return self._cipher.decryptBlock(block)\n}\n\n\n//# sourceURL=webpack://dcp/./node_modules/browserify-aes/modes/ecb.js?"); + +/***/ }), + +/***/ "./node_modules/browserify-aes/modes/index.js": +/*!****************************************************!*\ + !*** ./node_modules/browserify-aes/modes/index.js ***! + \****************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +eval("var modeModules = {\n ECB: __webpack_require__(/*! ./ecb */ \"./node_modules/browserify-aes/modes/ecb.js\"),\n CBC: __webpack_require__(/*! ./cbc */ \"./node_modules/browserify-aes/modes/cbc.js\"),\n CFB: __webpack_require__(/*! ./cfb */ \"./node_modules/browserify-aes/modes/cfb.js\"),\n CFB8: __webpack_require__(/*! ./cfb8 */ \"./node_modules/browserify-aes/modes/cfb8.js\"),\n CFB1: __webpack_require__(/*! ./cfb1 */ \"./node_modules/browserify-aes/modes/cfb1.js\"),\n OFB: __webpack_require__(/*! ./ofb */ \"./node_modules/browserify-aes/modes/ofb.js\"),\n CTR: __webpack_require__(/*! ./ctr */ \"./node_modules/browserify-aes/modes/ctr.js\"),\n GCM: __webpack_require__(/*! ./ctr */ \"./node_modules/browserify-aes/modes/ctr.js\")\n}\n\nvar modes = __webpack_require__(/*! ./list.json */ \"./node_modules/browserify-aes/modes/list.json\")\n\nfor (var key in modes) {\n modes[key].module = modeModules[modes[key].mode]\n}\n\nmodule.exports = modes\n\n\n//# sourceURL=webpack://dcp/./node_modules/browserify-aes/modes/index.js?"); + +/***/ }), + +/***/ "./node_modules/browserify-aes/modes/ofb.js": +/*!**************************************************!*\ + !*** ./node_modules/browserify-aes/modes/ofb.js ***! + \**************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +eval("/* provided dependency */ var Buffer = __webpack_require__(/*! ./node_modules/node-polyfill-webpack-plugin/node_modules/buffer/index.js */ \"./node_modules/node-polyfill-webpack-plugin/node_modules/buffer/index.js\")[\"Buffer\"];\nvar xor = __webpack_require__(/*! buffer-xor */ \"./node_modules/buffer-xor/index.js\")\n\nfunction getBlock (self) {\n self._prev = self._cipher.encryptBlock(self._prev)\n return self._prev\n}\n\nexports.encrypt = function (self, chunk) {\n while (self._cache.length < chunk.length) {\n self._cache = Buffer.concat([self._cache, getBlock(self)])\n }\n\n var pad = self._cache.slice(0, chunk.length)\n self._cache = self._cache.slice(chunk.length)\n return xor(chunk, pad)\n}\n\n\n//# sourceURL=webpack://dcp/./node_modules/browserify-aes/modes/ofb.js?"); + +/***/ }), + +/***/ "./node_modules/browserify-aes/streamCipher.js": +/*!*****************************************************!*\ + !*** ./node_modules/browserify-aes/streamCipher.js ***! + \*****************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +eval("var aes = __webpack_require__(/*! ./aes */ \"./node_modules/browserify-aes/aes.js\")\nvar Buffer = (__webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer)\nvar Transform = __webpack_require__(/*! cipher-base */ \"./node_modules/cipher-base/index.js\")\nvar inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\")\n\nfunction StreamCipher (mode, key, iv, decrypt) {\n Transform.call(this)\n\n this._cipher = new aes.AES(key)\n this._prev = Buffer.from(iv)\n this._cache = Buffer.allocUnsafe(0)\n this._secCache = Buffer.allocUnsafe(0)\n this._decrypt = decrypt\n this._mode = mode\n}\n\ninherits(StreamCipher, Transform)\n\nStreamCipher.prototype._update = function (chunk) {\n return this._mode.encrypt(this, chunk, this._decrypt)\n}\n\nStreamCipher.prototype._final = function () {\n this._cipher.scrub()\n}\n\nmodule.exports = StreamCipher\n\n\n//# sourceURL=webpack://dcp/./node_modules/browserify-aes/streamCipher.js?"); + +/***/ }), + +/***/ "./node_modules/browserify-cipher/browser.js": +/*!***************************************************!*\ + !*** ./node_modules/browserify-cipher/browser.js ***! + \***************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +eval("var DES = __webpack_require__(/*! browserify-des */ \"./node_modules/browserify-des/index.js\")\nvar aes = __webpack_require__(/*! browserify-aes/browser */ \"./node_modules/browserify-aes/browser.js\")\nvar aesModes = __webpack_require__(/*! browserify-aes/modes */ \"./node_modules/browserify-aes/modes/index.js\")\nvar desModes = __webpack_require__(/*! browserify-des/modes */ \"./node_modules/browserify-des/modes.js\")\nvar ebtk = __webpack_require__(/*! evp_bytestokey */ \"./node_modules/evp_bytestokey/index.js\")\n\nfunction createCipher (suite, password) {\n suite = suite.toLowerCase()\n\n var keyLen, ivLen\n if (aesModes[suite]) {\n keyLen = aesModes[suite].key\n ivLen = aesModes[suite].iv\n } else if (desModes[suite]) {\n keyLen = desModes[suite].key * 8\n ivLen = desModes[suite].iv\n } else {\n throw new TypeError('invalid suite type')\n }\n\n var keys = ebtk(password, false, keyLen, ivLen)\n return createCipheriv(suite, keys.key, keys.iv)\n}\n\nfunction createDecipher (suite, password) {\n suite = suite.toLowerCase()\n\n var keyLen, ivLen\n if (aesModes[suite]) {\n keyLen = aesModes[suite].key\n ivLen = aesModes[suite].iv\n } else if (desModes[suite]) {\n keyLen = desModes[suite].key * 8\n ivLen = desModes[suite].iv\n } else {\n throw new TypeError('invalid suite type')\n }\n\n var keys = ebtk(password, false, keyLen, ivLen)\n return createDecipheriv(suite, keys.key, keys.iv)\n}\n\nfunction createCipheriv (suite, key, iv) {\n suite = suite.toLowerCase()\n if (aesModes[suite]) return aes.createCipheriv(suite, key, iv)\n if (desModes[suite]) return new DES({ key: key, iv: iv, mode: suite })\n\n throw new TypeError('invalid suite type')\n}\n\nfunction createDecipheriv (suite, key, iv) {\n suite = suite.toLowerCase()\n if (aesModes[suite]) return aes.createDecipheriv(suite, key, iv)\n if (desModes[suite]) return new DES({ key: key, iv: iv, mode: suite, decrypt: true })\n\n throw new TypeError('invalid suite type')\n}\n\nfunction getCiphers () {\n return Object.keys(desModes).concat(aes.getCiphers())\n}\n\nexports.createCipher = exports.Cipher = createCipher\nexports.createCipheriv = exports.Cipheriv = createCipheriv\nexports.createDecipher = exports.Decipher = createDecipher\nexports.createDecipheriv = exports.Decipheriv = createDecipheriv\nexports.listCiphers = exports.getCiphers = getCiphers\n\n\n//# sourceURL=webpack://dcp/./node_modules/browserify-cipher/browser.js?"); + +/***/ }), + +/***/ "./node_modules/browserify-des/index.js": +/*!**********************************************!*\ + !*** ./node_modules/browserify-des/index.js ***! + \**********************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +eval("var CipherBase = __webpack_require__(/*! cipher-base */ \"./node_modules/cipher-base/index.js\")\nvar des = __webpack_require__(/*! des.js */ \"./node_modules/des.js/lib/des.js\")\nvar inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\")\nvar Buffer = (__webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer)\n\nvar modes = {\n 'des-ede3-cbc': des.CBC.instantiate(des.EDE),\n 'des-ede3': des.EDE,\n 'des-ede-cbc': des.CBC.instantiate(des.EDE),\n 'des-ede': des.EDE,\n 'des-cbc': des.CBC.instantiate(des.DES),\n 'des-ecb': des.DES\n}\nmodes.des = modes['des-cbc']\nmodes.des3 = modes['des-ede3-cbc']\nmodule.exports = DES\ninherits(DES, CipherBase)\nfunction DES (opts) {\n CipherBase.call(this)\n var modeName = opts.mode.toLowerCase()\n var mode = modes[modeName]\n var type\n if (opts.decrypt) {\n type = 'decrypt'\n } else {\n type = 'encrypt'\n }\n var key = opts.key\n if (!Buffer.isBuffer(key)) {\n key = Buffer.from(key)\n }\n if (modeName === 'des-ede' || modeName === 'des-ede-cbc') {\n key = Buffer.concat([key, key.slice(0, 8)])\n }\n var iv = opts.iv\n if (!Buffer.isBuffer(iv)) {\n iv = Buffer.from(iv)\n }\n this._des = mode.create({\n key: key,\n iv: iv,\n type: type\n })\n}\nDES.prototype._update = function (data) {\n return Buffer.from(this._des.update(data))\n}\nDES.prototype._final = function () {\n return Buffer.from(this._des.final())\n}\n\n\n//# sourceURL=webpack://dcp/./node_modules/browserify-des/index.js?"); + +/***/ }), + +/***/ "./node_modules/browserify-des/modes.js": +/*!**********************************************!*\ + !*** ./node_modules/browserify-des/modes.js ***! + \**********************************************/ +/***/ ((__unused_webpack_module, exports) => { + +eval("exports[\"des-ecb\"] = {\n key: 8,\n iv: 0\n}\nexports[\"des-cbc\"] = exports.des = {\n key: 8,\n iv: 8\n}\nexports[\"des-ede3-cbc\"] = exports.des3 = {\n key: 24,\n iv: 8\n}\nexports[\"des-ede3\"] = {\n key: 24,\n iv: 0\n}\nexports[\"des-ede-cbc\"] = {\n key: 16,\n iv: 8\n}\nexports[\"des-ede\"] = {\n key: 16,\n iv: 0\n}\n\n\n//# sourceURL=webpack://dcp/./node_modules/browserify-des/modes.js?"); + +/***/ }), + +/***/ "./node_modules/browserify-rsa/index.js": +/*!**********************************************!*\ + !*** ./node_modules/browserify-rsa/index.js ***! + \**********************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +eval("/* provided dependency */ var Buffer = __webpack_require__(/*! ./node_modules/node-polyfill-webpack-plugin/node_modules/buffer/index.js */ \"./node_modules/node-polyfill-webpack-plugin/node_modules/buffer/index.js\")[\"Buffer\"];\nvar BN = __webpack_require__(/*! bn.js */ \"./node_modules/bn.js/lib/bn.js\")\nvar randomBytes = __webpack_require__(/*! randombytes */ \"./node_modules/randombytes/browser.js\")\n\nfunction blind (priv) {\n var r = getr(priv)\n var blinder = r.toRed(BN.mont(priv.modulus)).redPow(new BN(priv.publicExponent)).fromRed()\n return { blinder: blinder, unblinder: r.invm(priv.modulus) }\n}\n\nfunction getr (priv) {\n var len = priv.modulus.byteLength()\n var r\n do {\n r = new BN(randomBytes(len))\n } while (r.cmp(priv.modulus) >= 0 || !r.umod(priv.prime1) || !r.umod(priv.prime2))\n return r\n}\n\nfunction crt (msg, priv) {\n var blinds = blind(priv)\n var len = priv.modulus.byteLength()\n var blinded = new BN(msg).mul(blinds.blinder).umod(priv.modulus)\n var c1 = blinded.toRed(BN.mont(priv.prime1))\n var c2 = blinded.toRed(BN.mont(priv.prime2))\n var qinv = priv.coefficient\n var p = priv.prime1\n var q = priv.prime2\n var m1 = c1.redPow(priv.exponent1).fromRed()\n var m2 = c2.redPow(priv.exponent2).fromRed()\n var h = m1.isub(m2).imul(qinv).umod(p).imul(q)\n return m2.iadd(h).imul(blinds.unblinder).umod(priv.modulus).toArrayLike(Buffer, 'be', len)\n}\ncrt.getr = getr\n\nmodule.exports = crt\n\n\n//# sourceURL=webpack://dcp/./node_modules/browserify-rsa/index.js?"); + +/***/ }), + +/***/ "./node_modules/browserify-sign/algos.js": +/*!***********************************************!*\ + !*** ./node_modules/browserify-sign/algos.js ***! + \***********************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nmodule.exports = __webpack_require__(/*! ./browser/algorithms.json */ \"./node_modules/browserify-sign/browser/algorithms.json\");\n\n\n//# sourceURL=webpack://dcp/./node_modules/browserify-sign/algos.js?"); + +/***/ }), + +/***/ "./node_modules/browserify-sign/browser/index.js": +/*!*******************************************************!*\ + !*** ./node_modules/browserify-sign/browser/index.js ***! + \*******************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar Buffer = (__webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer);\nvar createHash = __webpack_require__(/*! create-hash */ \"./node_modules/create-hash/browser.js\");\nvar stream = __webpack_require__(/*! readable-stream */ \"./node_modules/readable-stream/readable-browser.js\");\nvar inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\nvar sign = __webpack_require__(/*! ./sign */ \"./node_modules/browserify-sign/browser/sign.js\");\nvar verify = __webpack_require__(/*! ./verify */ \"./node_modules/browserify-sign/browser/verify.js\");\n\nvar algorithms = __webpack_require__(/*! ./algorithms.json */ \"./node_modules/browserify-sign/browser/algorithms.json\");\nObject.keys(algorithms).forEach(function (key) {\n algorithms[key].id = Buffer.from(algorithms[key].id, 'hex');\n algorithms[key.toLowerCase()] = algorithms[key];\n});\n\nfunction Sign(algorithm) {\n stream.Writable.call(this);\n\n var data = algorithms[algorithm];\n if (!data) { throw new Error('Unknown message digest'); }\n\n this._hashType = data.hash;\n this._hash = createHash(data.hash);\n this._tag = data.id;\n this._signType = data.sign;\n}\ninherits(Sign, stream.Writable);\n\nSign.prototype._write = function _write(data, _, done) {\n this._hash.update(data);\n done();\n};\n\nSign.prototype.update = function update(data, enc) {\n this._hash.update(typeof data === 'string' ? Buffer.from(data, enc) : data);\n\n return this;\n};\n\nSign.prototype.sign = function signMethod(key, enc) {\n this.end();\n var hash = this._hash.digest();\n var sig = sign(hash, key, this._hashType, this._signType, this._tag);\n\n return enc ? sig.toString(enc) : sig;\n};\n\nfunction Verify(algorithm) {\n stream.Writable.call(this);\n\n var data = algorithms[algorithm];\n if (!data) { throw new Error('Unknown message digest'); }\n\n this._hash = createHash(data.hash);\n this._tag = data.id;\n this._signType = data.sign;\n}\ninherits(Verify, stream.Writable);\n\nVerify.prototype._write = function _write(data, _, done) {\n this._hash.update(data);\n done();\n};\n\nVerify.prototype.update = function update(data, enc) {\n this._hash.update(typeof data === 'string' ? Buffer.from(data, enc) : data);\n\n return this;\n};\n\nVerify.prototype.verify = function verifyMethod(key, sig, enc) {\n var sigBuffer = typeof sig === 'string' ? Buffer.from(sig, enc) : sig;\n\n this.end();\n var hash = this._hash.digest();\n return verify(sigBuffer, hash, key, this._signType, this._tag);\n};\n\nfunction createSign(algorithm) {\n return new Sign(algorithm);\n}\n\nfunction createVerify(algorithm) {\n return new Verify(algorithm);\n}\n\nmodule.exports = {\n Sign: createSign,\n Verify: createVerify,\n createSign: createSign,\n createVerify: createVerify\n};\n\n\n//# sourceURL=webpack://dcp/./node_modules/browserify-sign/browser/index.js?"); + +/***/ }), + +/***/ "./node_modules/browserify-sign/browser/sign.js": +/*!******************************************************!*\ + !*** ./node_modules/browserify-sign/browser/sign.js ***! + \******************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\n// much of this based on https://github.com/indutny/self-signed/blob/gh-pages/lib/rsa.js\nvar Buffer = (__webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer);\nvar createHmac = __webpack_require__(/*! create-hmac */ \"./node_modules/create-hmac/browser.js\");\nvar crt = __webpack_require__(/*! browserify-rsa */ \"./node_modules/browserify-rsa/index.js\");\nvar EC = (__webpack_require__(/*! elliptic */ \"./node_modules/elliptic/lib/elliptic.js\").ec);\nvar BN = __webpack_require__(/*! bn.js */ \"./node_modules/bn.js/lib/bn.js\");\nvar parseKeys = __webpack_require__(/*! parse-asn1 */ \"./node_modules/parse-asn1/index.js\");\nvar curves = __webpack_require__(/*! ./curves.json */ \"./node_modules/browserify-sign/browser/curves.json\");\n\nvar RSA_PKCS1_PADDING = 1;\n\nfunction sign(hash, key, hashType, signType, tag) {\n var priv = parseKeys(key);\n if (priv.curve) {\n // rsa keys can be interpreted as ecdsa ones in openssl\n if (signType !== 'ecdsa' && signType !== 'ecdsa/rsa') { throw new Error('wrong private key type'); }\n return ecSign(hash, priv);\n } else if (priv.type === 'dsa') {\n if (signType !== 'dsa') { throw new Error('wrong private key type'); }\n return dsaSign(hash, priv, hashType);\n }\n if (signType !== 'rsa' && signType !== 'ecdsa/rsa') { throw new Error('wrong private key type'); }\n if (key.padding !== undefined && key.padding !== RSA_PKCS1_PADDING) { throw new Error('illegal or unsupported padding mode'); }\n\n hash = Buffer.concat([tag, hash]);\n var len = priv.modulus.byteLength();\n var pad = [0, 1];\n while (hash.length + pad.length + 1 < len) { pad.push(0xff); }\n pad.push(0x00);\n var i = -1;\n while (++i < hash.length) { pad.push(hash[i]); }\n\n var out = crt(pad, priv);\n return out;\n}\n\nfunction ecSign(hash, priv) {\n var curveId = curves[priv.curve.join('.')];\n if (!curveId) { throw new Error('unknown curve ' + priv.curve.join('.')); }\n\n var curve = new EC(curveId);\n var key = curve.keyFromPrivate(priv.privateKey);\n var out = key.sign(hash);\n\n return Buffer.from(out.toDER());\n}\n\nfunction dsaSign(hash, priv, algo) {\n var x = priv.params.priv_key;\n var p = priv.params.p;\n var q = priv.params.q;\n var g = priv.params.g;\n var r = new BN(0);\n var k;\n var H = bits2int(hash, q).mod(q);\n var s = false;\n var kv = getKey(x, q, hash, algo);\n while (s === false) {\n k = makeKey(q, kv, algo);\n r = makeR(g, k, p, q);\n s = k.invm(q).imul(H.add(x.mul(r))).mod(q);\n if (s.cmpn(0) === 0) {\n s = false;\n r = new BN(0);\n }\n }\n return toDER(r, s);\n}\n\nfunction toDER(r, s) {\n r = r.toArray();\n s = s.toArray();\n\n // Pad values\n if (r[0] & 0x80) { r = [0].concat(r); }\n if (s[0] & 0x80) { s = [0].concat(s); }\n\n var total = r.length + s.length + 4;\n var res = [\n 0x30, total, 0x02, r.length\n ];\n res = res.concat(r, [0x02, s.length], s);\n return Buffer.from(res);\n}\n\nfunction getKey(x, q, hash, algo) {\n x = Buffer.from(x.toArray());\n if (x.length < q.byteLength()) {\n var zeros = Buffer.alloc(q.byteLength() - x.length);\n x = Buffer.concat([zeros, x]);\n }\n var hlen = hash.length;\n var hbits = bits2octets(hash, q);\n var v = Buffer.alloc(hlen);\n v.fill(1);\n var k = Buffer.alloc(hlen);\n k = createHmac(algo, k).update(v).update(Buffer.from([0])).update(x).update(hbits).digest();\n v = createHmac(algo, k).update(v).digest();\n k = createHmac(algo, k).update(v).update(Buffer.from([1])).update(x).update(hbits).digest();\n v = createHmac(algo, k).update(v).digest();\n return { k: k, v: v };\n}\n\nfunction bits2int(obits, q) {\n var bits = new BN(obits);\n var shift = (obits.length << 3) - q.bitLength();\n if (shift > 0) { bits.ishrn(shift); }\n return bits;\n}\n\nfunction bits2octets(bits, q) {\n bits = bits2int(bits, q);\n bits = bits.mod(q);\n var out = Buffer.from(bits.toArray());\n if (out.length < q.byteLength()) {\n var zeros = Buffer.alloc(q.byteLength() - out.length);\n out = Buffer.concat([zeros, out]);\n }\n return out;\n}\n\nfunction makeKey(q, kv, algo) {\n var t;\n var k;\n\n do {\n t = Buffer.alloc(0);\n\n while (t.length * 8 < q.bitLength()) {\n kv.v = createHmac(algo, kv.k).update(kv.v).digest();\n t = Buffer.concat([t, kv.v]);\n }\n\n k = bits2int(t, q);\n kv.k = createHmac(algo, kv.k).update(kv.v).update(Buffer.from([0])).digest();\n kv.v = createHmac(algo, kv.k).update(kv.v).digest();\n } while (k.cmp(q) !== -1);\n\n return k;\n}\n\nfunction makeR(g, k, p, q) {\n return g.toRed(BN.mont(p)).redPow(k).fromRed().mod(q);\n}\n\nmodule.exports = sign;\nmodule.exports.getKey = getKey;\nmodule.exports.makeKey = makeKey;\n\n\n//# sourceURL=webpack://dcp/./node_modules/browserify-sign/browser/sign.js?"); + +/***/ }), + +/***/ "./node_modules/browserify-sign/browser/verify.js": +/*!********************************************************!*\ + !*** ./node_modules/browserify-sign/browser/verify.js ***! + \********************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\n// much of this based on https://github.com/indutny/self-signed/blob/gh-pages/lib/rsa.js\nvar Buffer = (__webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer);\nvar BN = __webpack_require__(/*! bn.js */ \"./node_modules/bn.js/lib/bn.js\");\nvar EC = (__webpack_require__(/*! elliptic */ \"./node_modules/elliptic/lib/elliptic.js\").ec);\nvar parseKeys = __webpack_require__(/*! parse-asn1 */ \"./node_modules/parse-asn1/index.js\");\nvar curves = __webpack_require__(/*! ./curves.json */ \"./node_modules/browserify-sign/browser/curves.json\");\n\nfunction verify(sig, hash, key, signType, tag) {\n var pub = parseKeys(key);\n if (pub.type === 'ec') {\n // rsa keys can be interpreted as ecdsa ones in openssl\n if (signType !== 'ecdsa' && signType !== 'ecdsa/rsa') { throw new Error('wrong public key type'); }\n return ecVerify(sig, hash, pub);\n } else if (pub.type === 'dsa') {\n if (signType !== 'dsa') { throw new Error('wrong public key type'); }\n return dsaVerify(sig, hash, pub);\n }\n if (signType !== 'rsa' && signType !== 'ecdsa/rsa') { throw new Error('wrong public key type'); }\n\n hash = Buffer.concat([tag, hash]);\n var len = pub.modulus.byteLength();\n var pad = [1];\n var padNum = 0;\n while (hash.length + pad.length + 2 < len) {\n pad.push(0xff);\n padNum += 1;\n }\n pad.push(0x00);\n var i = -1;\n while (++i < hash.length) {\n pad.push(hash[i]);\n }\n pad = Buffer.from(pad);\n var red = BN.mont(pub.modulus);\n sig = new BN(sig).toRed(red);\n\n sig = sig.redPow(new BN(pub.publicExponent));\n sig = Buffer.from(sig.fromRed().toArray());\n var out = padNum < 8 ? 1 : 0;\n len = Math.min(sig.length, pad.length);\n if (sig.length !== pad.length) { out = 1; }\n\n i = -1;\n while (++i < len) { out |= sig[i] ^ pad[i]; }\n return out === 0;\n}\n\nfunction ecVerify(sig, hash, pub) {\n var curveId = curves[pub.data.algorithm.curve.join('.')];\n if (!curveId) { throw new Error('unknown curve ' + pub.data.algorithm.curve.join('.')); }\n\n var curve = new EC(curveId);\n var pubkey = pub.data.subjectPrivateKey.data;\n\n return curve.verify(hash, sig, pubkey);\n}\n\nfunction dsaVerify(sig, hash, pub) {\n var p = pub.data.p;\n var q = pub.data.q;\n var g = pub.data.g;\n var y = pub.data.pub_key;\n var unpacked = parseKeys.signature.decode(sig, 'der');\n var s = unpacked.s;\n var r = unpacked.r;\n checkValue(s, q);\n checkValue(r, q);\n var montp = BN.mont(p);\n var w = s.invm(q);\n var v = g.toRed(montp)\n .redPow(new BN(hash).mul(w).mod(q))\n .fromRed()\n .mul(y.toRed(montp).redPow(r.mul(w).mod(q)).fromRed())\n .mod(p)\n .mod(q);\n return v.cmp(r) === 0;\n}\n\nfunction checkValue(b, q) {\n if (b.cmpn(0) <= 0) { throw new Error('invalid sig'); }\n if (b.cmp(q) >= 0) { throw new Error('invalid sig'); }\n}\n\nmodule.exports = verify;\n\n\n//# sourceURL=webpack://dcp/./node_modules/browserify-sign/browser/verify.js?"); + +/***/ }), + +/***/ "./node_modules/bs58/index.js": +/*!************************************!*\ + !*** ./node_modules/bs58/index.js ***! + \************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +eval("var basex = __webpack_require__(/*! base-x */ \"./node_modules/base-x/src/index.js\")\nvar ALPHABET = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz'\n\nmodule.exports = basex(ALPHABET)\n\n\n//# sourceURL=webpack://dcp/./node_modules/bs58/index.js?"); + +/***/ }), + +/***/ "./node_modules/bs58check/base.js": +/*!****************************************!*\ + !*** ./node_modules/bs58check/base.js ***! + \****************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar base58 = __webpack_require__(/*! bs58 */ \"./node_modules/bs58/index.js\")\nvar Buffer = (__webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer)\n\nmodule.exports = function (checksumFn) {\n // Encode a buffer as a base58-check encoded string\n function encode (payload) {\n var checksum = checksumFn(payload)\n\n return base58.encode(Buffer.concat([\n payload,\n checksum\n ], payload.length + 4))\n }\n\n function decodeRaw (buffer) {\n var payload = buffer.slice(0, -4)\n var checksum = buffer.slice(-4)\n var newChecksum = checksumFn(payload)\n\n if (checksum[0] ^ newChecksum[0] |\n checksum[1] ^ newChecksum[1] |\n checksum[2] ^ newChecksum[2] |\n checksum[3] ^ newChecksum[3]) return\n\n return payload\n }\n\n // Decode a base58-check encoded string to a buffer, no result if checksum is wrong\n function decodeUnsafe (string) {\n var buffer = base58.decodeUnsafe(string)\n if (!buffer) return\n\n return decodeRaw(buffer)\n }\n\n function decode (string) {\n var buffer = base58.decode(string)\n var payload = decodeRaw(buffer, checksumFn)\n if (!payload) throw new Error('Invalid checksum')\n return payload\n }\n\n return {\n encode: encode,\n decode: decode,\n decodeUnsafe: decodeUnsafe\n }\n}\n\n\n//# sourceURL=webpack://dcp/./node_modules/bs58check/base.js?"); + +/***/ }), + +/***/ "./node_modules/bs58check/index.js": +/*!*****************************************!*\ + !*** ./node_modules/bs58check/index.js ***! + \*****************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar createHash = __webpack_require__(/*! create-hash */ \"./node_modules/create-hash/browser.js\")\nvar bs58checkBase = __webpack_require__(/*! ./base */ \"./node_modules/bs58check/base.js\")\n\n// SHA256(SHA256(buffer))\nfunction sha256x2 (buffer) {\n var tmp = createHash('sha256').update(buffer).digest()\n return createHash('sha256').update(tmp).digest()\n}\n\nmodule.exports = bs58checkBase(sha256x2)\n\n\n//# sourceURL=webpack://dcp/./node_modules/bs58check/index.js?"); + +/***/ }), + +/***/ "./node_modules/btoa/index.js": +/*!************************************!*\ + !*** ./node_modules/btoa/index.js ***! + \************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +eval("/* provided dependency */ var Buffer = __webpack_require__(/*! ./node_modules/node-polyfill-webpack-plugin/node_modules/buffer/index.js */ \"./node_modules/node-polyfill-webpack-plugin/node_modules/buffer/index.js\")[\"Buffer\"];\n(function () {\n \"use strict\";\n\n function btoa(str) {\n var buffer;\n\n if (str instanceof Buffer) {\n buffer = str;\n } else {\n buffer = Buffer.from(str.toString(), 'binary');\n }\n\n return buffer.toString('base64');\n }\n\n module.exports = btoa;\n}());\n\n\n//# sourceURL=webpack://dcp/./node_modules/btoa/index.js?"); + +/***/ }), + +/***/ "./node_modules/buffer-xor/index.js": +/*!******************************************!*\ + !*** ./node_modules/buffer-xor/index.js ***! + \******************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +eval("/* provided dependency */ var Buffer = __webpack_require__(/*! ./node_modules/node-polyfill-webpack-plugin/node_modules/buffer/index.js */ \"./node_modules/node-polyfill-webpack-plugin/node_modules/buffer/index.js\")[\"Buffer\"];\nmodule.exports = function xor (a, b) {\n var length = Math.min(a.length, b.length)\n var buffer = new Buffer(length)\n\n for (var i = 0; i < length; ++i) {\n buffer[i] = a[i] ^ b[i]\n }\n\n return buffer\n}\n\n\n//# sourceURL=webpack://dcp/./node_modules/buffer-xor/index.js?"); + +/***/ }), + +/***/ "./node_modules/buffer/index.js": +/*!**************************************!*\ + !*** ./node_modules/buffer/index.js ***! + \**************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n\n\nvar base64 = __webpack_require__(/*! base64-js */ \"./node_modules/base64-js/index.js\")\nvar ieee754 = __webpack_require__(/*! ieee754 */ \"./node_modules/ieee754/index.js\")\nvar customInspectSymbol =\n (typeof Symbol === 'function' && typeof Symbol['for'] === 'function') // eslint-disable-line dot-notation\n ? Symbol['for']('nodejs.util.inspect.custom') // eslint-disable-line dot-notation\n : null\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\nvar K_MAX_LENGTH = 0x7fffffff\nexports.kMaxLength = K_MAX_LENGTH\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Print warning and recommend using `buffer` v4.x which has an Object\n * implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * We report that the browser does not support typed arrays if the are not subclassable\n * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`\n * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support\n * for __proto__ and has a buggy typed array implementation.\n */\nBuffer.TYPED_ARRAY_SUPPORT = typedArraySupport()\n\nif (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' &&\n typeof console.error === 'function') {\n console.error(\n 'This browser lacks typed array (Uint8Array) support which is required by ' +\n '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.'\n )\n}\n\nfunction typedArraySupport () {\n // Can typed array instances can be augmented?\n try {\n var arr = new Uint8Array(1)\n var proto = { foo: function () { return 42 } }\n Object.setPrototypeOf(proto, Uint8Array.prototype)\n Object.setPrototypeOf(arr, proto)\n return arr.foo() === 42\n } catch (e) {\n return false\n }\n}\n\nObject.defineProperty(Buffer.prototype, 'parent', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.buffer\n }\n})\n\nObject.defineProperty(Buffer.prototype, 'offset', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.byteOffset\n }\n})\n\nfunction createBuffer (length) {\n if (length > K_MAX_LENGTH) {\n throw new RangeError('The value \"' + length + '\" is invalid for option \"size\"')\n }\n // Return an augmented `Uint8Array` instance\n var buf = new Uint8Array(length)\n Object.setPrototypeOf(buf, Buffer.prototype)\n return buf\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new TypeError(\n 'The \"string\" argument must be of type string. Received type number'\n )\n }\n return allocUnsafe(arg)\n }\n return from(arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\nfunction from (value, encodingOrOffset, length) {\n if (typeof value === 'string') {\n return fromString(value, encodingOrOffset)\n }\n\n if (ArrayBuffer.isView(value)) {\n return fromArrayView(value)\n }\n\n if (value == null) {\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n }\n\n if (isInstance(value, ArrayBuffer) ||\n (value && isInstance(value.buffer, ArrayBuffer))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof SharedArrayBuffer !== 'undefined' &&\n (isInstance(value, SharedArrayBuffer) ||\n (value && isInstance(value.buffer, SharedArrayBuffer)))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof value === 'number') {\n throw new TypeError(\n 'The \"value\" argument must not be of type number. Received type number'\n )\n }\n\n var valueOf = value.valueOf && value.valueOf()\n if (valueOf != null && valueOf !== value) {\n return Buffer.from(valueOf, encodingOrOffset, length)\n }\n\n var b = fromObject(value)\n if (b) return b\n\n if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null &&\n typeof value[Symbol.toPrimitive] === 'function') {\n return Buffer.from(\n value[Symbol.toPrimitive]('string'), encodingOrOffset, length\n )\n }\n\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(value, encodingOrOffset, length)\n}\n\n// Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:\n// https://github.com/feross/buffer/pull/148\nObject.setPrototypeOf(Buffer.prototype, Uint8Array.prototype)\nObject.setPrototypeOf(Buffer, Uint8Array)\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be of type number')\n } else if (size < 0) {\n throw new RangeError('The value \"' + size + '\" is invalid for option \"size\"')\n }\n}\n\nfunction alloc (size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpreted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(size).fill(fill, encoding)\n : createBuffer(size).fill(fill)\n }\n return createBuffer(size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(size, fill, encoding)\n}\n\nfunction allocUnsafe (size) {\n assertSize(size)\n return createBuffer(size < 0 ? 0 : checked(size) | 0)\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(size)\n}\n\nfunction fromString (string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n\n var length = byteLength(string, encoding) | 0\n var buf = createBuffer(length)\n\n var actual = buf.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n buf = buf.slice(0, actual)\n }\n\n return buf\n}\n\nfunction fromArrayLike (array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n var buf = createBuffer(length)\n for (var i = 0; i < length; i += 1) {\n buf[i] = array[i] & 255\n }\n return buf\n}\n\nfunction fromArrayView (arrayView) {\n if (isInstance(arrayView, Uint8Array)) {\n var copy = new Uint8Array(arrayView)\n return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength)\n }\n return fromArrayLike(arrayView)\n}\n\nfunction fromArrayBuffer (array, byteOffset, length) {\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\"offset\" is outside of buffer bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\"length\" is outside of buffer bounds')\n }\n\n var buf\n if (byteOffset === undefined && length === undefined) {\n buf = new Uint8Array(array)\n } else if (length === undefined) {\n buf = new Uint8Array(array, byteOffset)\n } else {\n buf = new Uint8Array(array, byteOffset, length)\n }\n\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(buf, Buffer.prototype)\n\n return buf\n}\n\nfunction fromObject (obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n var buf = createBuffer(len)\n\n if (buf.length === 0) {\n return buf\n }\n\n obj.copy(buf, 0, 0, len)\n return buf\n }\n\n if (obj.length !== undefined) {\n if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {\n return createBuffer(0)\n }\n return fromArrayLike(obj)\n }\n\n if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n return fromArrayLike(obj.data)\n }\n}\n\nfunction checked (length) {\n // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= K_MAX_LENGTH) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return b != null && b._isBuffer === true &&\n b !== Buffer.prototype // so Buffer.isBuffer(Buffer.prototype) will be false\n}\n\nBuffer.compare = function compare (a, b) {\n if (isInstance(a, Uint8Array)) a = Buffer.from(a, a.offset, a.byteLength)\n if (isInstance(b, Uint8Array)) b = Buffer.from(b, b.offset, b.byteLength)\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError(\n 'The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array'\n )\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!Array.isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (isInstance(buf, Uint8Array)) {\n if (pos + buf.length > buffer.length) {\n Buffer.from(buf).copy(buffer, pos)\n } else {\n Uint8Array.prototype.set.call(\n buffer,\n buf,\n pos\n )\n }\n } else if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n } else {\n buf.copy(buffer, pos)\n }\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n throw new TypeError(\n 'The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. ' +\n 'Received type ' + typeof string\n )\n }\n\n var len = string.length\n var mustMatch = (arguments.length > 2 && arguments[2] === true)\n if (!mustMatch && len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) {\n return mustMatch ? -1 : utf8ToBytes(string).length // assume utf8\n }\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coercion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)\n// to detect a Buffer instance. It's not possible to use `instanceof Buffer`\n// reliably in a browserify context because there could be multiple different\n// copies of the 'buffer' package in use. This method works even for Buffer\n// instances that were created from another copy of the `buffer` package.\n// See: https://github.com/feross/buffer/issues/154\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.toLocaleString = Buffer.prototype.toString\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim()\n if (this.length > max) str += ' ... '\n return ''\n}\nif (customInspectSymbol) {\n Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (isInstance(target, Uint8Array)) {\n target = Buffer.from(target, target.offset, target.byteLength)\n }\n if (!Buffer.isBuffer(target)) {\n throw new TypeError(\n 'The \"target\" argument must be one of type Buffer or Uint8Array. ' +\n 'Received type ' + (typeof target)\n )\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (numberIsNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [val], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n var strLen = string.length\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (numberIsNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset >>> 0\n if (isFinite(length)) {\n length = length >>> 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n case 'latin1':\n case 'binary':\n return asciiWrite(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF)\n ? 4\n : (firstByte > 0xDF)\n ? 3\n : (firstByte > 0xBF)\n ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += hexSliceLookupTable[buf[i]]\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n // If bytes.length is odd, the last 8 bits must be ignored (same as node.js)\n for (var i = 0; i < bytes.length - 1; i += 2) {\n res += String.fromCharCode(bytes[i] + (bytes[i + 1] * 256))\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf = this.subarray(start, end)\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(newBuf, Buffer.prototype)\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUintLE =\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUintBE =\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUint8 =\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUint16LE =\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUint16BE =\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUint32LE =\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUint32BE =\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUintLE =\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUintBE =\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUint8 =\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeUint16LE =\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeUint16BE =\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeUint32LE =\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeUint32BE =\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n var limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n var limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer')\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('Index out of range')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n\n if (this === target && typeof Uint8Array.prototype.copyWithin === 'function') {\n // Use built-in when available, missing from IE11\n this.copyWithin(targetStart, start, end)\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, end),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if ((encoding === 'utf8' && code < 128) ||\n encoding === 'latin1') {\n // Fast path: If `val` fits into a single byte, use that numeric value.\n val = code\n }\n }\n } else if (typeof val === 'number') {\n val = val & 255\n } else if (typeof val === 'boolean') {\n val = Number(val)\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : Buffer.from(val, encoding)\n var len = bytes.length\n if (len === 0) {\n throw new TypeError('The value \"' + val +\n '\" is invalid for argument \"value\"')\n }\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node takes equal signs as end of the Base64 encoding\n str = str.split('=')[0]\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = str.trim().replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\n// ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass\n// the `instanceof` check but they should be treated as of that type.\n// See: https://github.com/feross/buffer/issues/166\nfunction isInstance (obj, type) {\n return obj instanceof type ||\n (obj != null && obj.constructor != null && obj.constructor.name != null &&\n obj.constructor.name === type.name)\n}\nfunction numberIsNaN (obj) {\n // For IE11 support\n return obj !== obj // eslint-disable-line no-self-compare\n}\n\n// Create lookup table for `toString('hex')`\n// See: https://github.com/feross/buffer/issues/219\nvar hexSliceLookupTable = (function () {\n var alphabet = '0123456789abcdef'\n var table = new Array(256)\n for (var i = 0; i < 16; ++i) {\n var i16 = i * 16\n for (var j = 0; j < 16; ++j) {\n table[i16 + j] = alphabet[i] + alphabet[j]\n }\n }\n return table\n})()\n\n\n//# sourceURL=webpack://dcp/./node_modules/buffer/index.js?"); + +/***/ }), + +/***/ "./node_modules/call-bind/callBound.js": +/*!*********************************************!*\ + !*** ./node_modules/call-bind/callBound.js ***! + \*********************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar GetIntrinsic = __webpack_require__(/*! get-intrinsic */ \"./node_modules/get-intrinsic/index.js\");\n\nvar callBind = __webpack_require__(/*! ./ */ \"./node_modules/call-bind/index.js\");\n\nvar $indexOf = callBind(GetIntrinsic('String.prototype.indexOf'));\n\nmodule.exports = function callBoundIntrinsic(name, allowMissing) {\n\tvar intrinsic = GetIntrinsic(name, !!allowMissing);\n\tif (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) {\n\t\treturn callBind(intrinsic);\n\t}\n\treturn intrinsic;\n};\n\n\n//# sourceURL=webpack://dcp/./node_modules/call-bind/callBound.js?"); + +/***/ }), + +/***/ "./node_modules/call-bind/index.js": +/*!*****************************************!*\ + !*** ./node_modules/call-bind/index.js ***! + \*****************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar bind = __webpack_require__(/*! function-bind */ \"./node_modules/function-bind/index.js\");\nvar GetIntrinsic = __webpack_require__(/*! get-intrinsic */ \"./node_modules/get-intrinsic/index.js\");\n\nvar $apply = GetIntrinsic('%Function.prototype.apply%');\nvar $call = GetIntrinsic('%Function.prototype.call%');\nvar $reflectApply = GetIntrinsic('%Reflect.apply%', true) || bind.call($call, $apply);\n\nvar $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%', true);\nvar $defineProperty = GetIntrinsic('%Object.defineProperty%', true);\nvar $max = GetIntrinsic('%Math.max%');\n\nif ($defineProperty) {\n\ttry {\n\t\t$defineProperty({}, 'a', { value: 1 });\n\t} catch (e) {\n\t\t// IE 8 has a broken defineProperty\n\t\t$defineProperty = null;\n\t}\n}\n\nmodule.exports = function callBind(originalFunction) {\n\tvar func = $reflectApply(bind, $call, arguments);\n\tif ($gOPD && $defineProperty) {\n\t\tvar desc = $gOPD(func, 'length');\n\t\tif (desc.configurable) {\n\t\t\t// original length, plus the receiver, minus any additional arguments (after the receiver)\n\t\t\t$defineProperty(\n\t\t\t\tfunc,\n\t\t\t\t'length',\n\t\t\t\t{ value: 1 + $max(0, originalFunction.length - (arguments.length - 1)) }\n\t\t\t);\n\t\t}\n\t}\n\treturn func;\n};\n\nvar applyBind = function applyBind() {\n\treturn $reflectApply(bind, $apply, arguments);\n};\n\nif ($defineProperty) {\n\t$defineProperty(module.exports, 'apply', { value: applyBind });\n} else {\n\tmodule.exports.apply = applyBind;\n}\n\n\n//# sourceURL=webpack://dcp/./node_modules/call-bind/index.js?"); + +/***/ }), + +/***/ "./node_modules/chalk/source/index.js": +/*!********************************************!*\ + !*** ./node_modules/chalk/source/index.js ***! + \********************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\nconst ansiStyles = __webpack_require__(/*! ansi-styles */ \"./node_modules/ansi-styles/index.js\");\nconst {stdout: stdoutColor, stderr: stderrColor} = __webpack_require__(/*! supports-color */ \"./node_modules/supports-color/browser.js\");\nconst {\n\tstringReplaceAll,\n\tstringEncaseCRLFWithFirstIndex\n} = __webpack_require__(/*! ./util */ \"./node_modules/chalk/source/util.js\");\n\nconst {isArray} = Array;\n\n// `supportsColor.level` → `ansiStyles.color[name]` mapping\nconst levelMapping = [\n\t'ansi',\n\t'ansi',\n\t'ansi256',\n\t'ansi16m'\n];\n\nconst styles = Object.create(null);\n\nconst applyOptions = (object, options = {}) => {\n\tif (options.level && !(Number.isInteger(options.level) && options.level >= 0 && options.level <= 3)) {\n\t\tthrow new Error('The `level` option should be an integer from 0 to 3');\n\t}\n\n\t// Detect level if not set manually\n\tconst colorLevel = stdoutColor ? stdoutColor.level : 0;\n\tobject.level = options.level === undefined ? colorLevel : options.level;\n};\n\nclass ChalkClass {\n\tconstructor(options) {\n\t\t// eslint-disable-next-line no-constructor-return\n\t\treturn chalkFactory(options);\n\t}\n}\n\nconst chalkFactory = options => {\n\tconst chalk = {};\n\tapplyOptions(chalk, options);\n\n\tchalk.template = (...arguments_) => chalkTag(chalk.template, ...arguments_);\n\n\tObject.setPrototypeOf(chalk, Chalk.prototype);\n\tObject.setPrototypeOf(chalk.template, chalk);\n\n\tchalk.template.constructor = () => {\n\t\tthrow new Error('`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.');\n\t};\n\n\tchalk.template.Instance = ChalkClass;\n\n\treturn chalk.template;\n};\n\nfunction Chalk(options) {\n\treturn chalkFactory(options);\n}\n\nfor (const [styleName, style] of Object.entries(ansiStyles)) {\n\tstyles[styleName] = {\n\t\tget() {\n\t\t\tconst builder = createBuilder(this, createStyler(style.open, style.close, this._styler), this._isEmpty);\n\t\t\tObject.defineProperty(this, styleName, {value: builder});\n\t\t\treturn builder;\n\t\t}\n\t};\n}\n\nstyles.visible = {\n\tget() {\n\t\tconst builder = createBuilder(this, this._styler, true);\n\t\tObject.defineProperty(this, 'visible', {value: builder});\n\t\treturn builder;\n\t}\n};\n\nconst usedModels = ['rgb', 'hex', 'keyword', 'hsl', 'hsv', 'hwb', 'ansi', 'ansi256'];\n\nfor (const model of usedModels) {\n\tstyles[model] = {\n\t\tget() {\n\t\t\tconst {level} = this;\n\t\t\treturn function (...arguments_) {\n\t\t\t\tconst styler = createStyler(ansiStyles.color[levelMapping[level]][model](...arguments_), ansiStyles.color.close, this._styler);\n\t\t\t\treturn createBuilder(this, styler, this._isEmpty);\n\t\t\t};\n\t\t}\n\t};\n}\n\nfor (const model of usedModels) {\n\tconst bgModel = 'bg' + model[0].toUpperCase() + model.slice(1);\n\tstyles[bgModel] = {\n\t\tget() {\n\t\t\tconst {level} = this;\n\t\t\treturn function (...arguments_) {\n\t\t\t\tconst styler = createStyler(ansiStyles.bgColor[levelMapping[level]][model](...arguments_), ansiStyles.bgColor.close, this._styler);\n\t\t\t\treturn createBuilder(this, styler, this._isEmpty);\n\t\t\t};\n\t\t}\n\t};\n}\n\nconst proto = Object.defineProperties(() => {}, {\n\t...styles,\n\tlevel: {\n\t\tenumerable: true,\n\t\tget() {\n\t\t\treturn this._generator.level;\n\t\t},\n\t\tset(level) {\n\t\t\tthis._generator.level = level;\n\t\t}\n\t}\n});\n\nconst createStyler = (open, close, parent) => {\n\tlet openAll;\n\tlet closeAll;\n\tif (parent === undefined) {\n\t\topenAll = open;\n\t\tcloseAll = close;\n\t} else {\n\t\topenAll = parent.openAll + open;\n\t\tcloseAll = close + parent.closeAll;\n\t}\n\n\treturn {\n\t\topen,\n\t\tclose,\n\t\topenAll,\n\t\tcloseAll,\n\t\tparent\n\t};\n};\n\nconst createBuilder = (self, _styler, _isEmpty) => {\n\tconst builder = (...arguments_) => {\n\t\tif (isArray(arguments_[0]) && isArray(arguments_[0].raw)) {\n\t\t\t// Called as a template literal, for example: chalk.red`2 + 3 = {bold ${2+3}}`\n\t\t\treturn applyStyle(builder, chalkTag(builder, ...arguments_));\n\t\t}\n\n\t\t// Single argument is hot path, implicit coercion is faster than anything\n\t\t// eslint-disable-next-line no-implicit-coercion\n\t\treturn applyStyle(builder, (arguments_.length === 1) ? ('' + arguments_[0]) : arguments_.join(' '));\n\t};\n\n\t// We alter the prototype because we must return a function, but there is\n\t// no way to create a function with a different prototype\n\tObject.setPrototypeOf(builder, proto);\n\n\tbuilder._generator = self;\n\tbuilder._styler = _styler;\n\tbuilder._isEmpty = _isEmpty;\n\n\treturn builder;\n};\n\nconst applyStyle = (self, string) => {\n\tif (self.level <= 0 || !string) {\n\t\treturn self._isEmpty ? '' : string;\n\t}\n\n\tlet styler = self._styler;\n\n\tif (styler === undefined) {\n\t\treturn string;\n\t}\n\n\tconst {openAll, closeAll} = styler;\n\tif (string.indexOf('\\u001B') !== -1) {\n\t\twhile (styler !== undefined) {\n\t\t\t// Replace any instances already present with a re-opening code\n\t\t\t// otherwise only the part of the string until said closing code\n\t\t\t// will be colored, and the rest will simply be 'plain'.\n\t\t\tstring = stringReplaceAll(string, styler.close, styler.open);\n\n\t\t\tstyler = styler.parent;\n\t\t}\n\t}\n\n\t// We can move both next actions out of loop, because remaining actions in loop won't have\n\t// any/visible effect on parts we add here. Close the styling before a linebreak and reopen\n\t// after next line to fix a bleed issue on macOS: https://github.com/chalk/chalk/pull/92\n\tconst lfIndex = string.indexOf('\\n');\n\tif (lfIndex !== -1) {\n\t\tstring = stringEncaseCRLFWithFirstIndex(string, closeAll, openAll, lfIndex);\n\t}\n\n\treturn openAll + string + closeAll;\n};\n\nlet template;\nconst chalkTag = (chalk, ...strings) => {\n\tconst [firstString] = strings;\n\n\tif (!isArray(firstString) || !isArray(firstString.raw)) {\n\t\t// If chalk() was called by itself or with a string,\n\t\t// return the string itself as a string.\n\t\treturn strings.join(' ');\n\t}\n\n\tconst arguments_ = strings.slice(1);\n\tconst parts = [firstString.raw[0]];\n\n\tfor (let i = 1; i < firstString.length; i++) {\n\t\tparts.push(\n\t\t\tString(arguments_[i - 1]).replace(/[{}\\\\]/g, '\\\\$&'),\n\t\t\tString(firstString.raw[i])\n\t\t);\n\t}\n\n\tif (template === undefined) {\n\t\ttemplate = __webpack_require__(/*! ./templates */ \"./node_modules/chalk/source/templates.js\");\n\t}\n\n\treturn template(chalk, parts.join(''));\n};\n\nObject.defineProperties(Chalk.prototype, styles);\n\nconst chalk = Chalk(); // eslint-disable-line new-cap\nchalk.supportsColor = stdoutColor;\nchalk.stderr = Chalk({level: stderrColor ? stderrColor.level : 0}); // eslint-disable-line new-cap\nchalk.stderr.supportsColor = stderrColor;\n\nmodule.exports = chalk;\n\n\n//# sourceURL=webpack://dcp/./node_modules/chalk/source/index.js?"); + +/***/ }), + +/***/ "./node_modules/chalk/source/templates.js": +/*!************************************************!*\ + !*** ./node_modules/chalk/source/templates.js ***! + \************************************************/ +/***/ ((module) => { + +"use strict"; +eval("\nconst TEMPLATE_REGEX = /(?:\\\\(u(?:[a-f\\d]{4}|\\{[a-f\\d]{1,6}\\})|x[a-f\\d]{2}|.))|(?:\\{(~)?(\\w+(?:\\([^)]*\\))?(?:\\.\\w+(?:\\([^)]*\\))?)*)(?:[ \\t]|(?=\\r?\\n)))|(\\})|((?:.|[\\r\\n\\f])+?)/gi;\nconst STYLE_REGEX = /(?:^|\\.)(\\w+)(?:\\(([^)]*)\\))?/g;\nconst STRING_REGEX = /^(['\"])((?:\\\\.|(?!\\1)[^\\\\])*)\\1$/;\nconst ESCAPE_REGEX = /\\\\(u(?:[a-f\\d]{4}|{[a-f\\d]{1,6}})|x[a-f\\d]{2}|.)|([^\\\\])/gi;\n\nconst ESCAPES = new Map([\n\t['n', '\\n'],\n\t['r', '\\r'],\n\t['t', '\\t'],\n\t['b', '\\b'],\n\t['f', '\\f'],\n\t['v', '\\v'],\n\t['0', '\\0'],\n\t['\\\\', '\\\\'],\n\t['e', '\\u001B'],\n\t['a', '\\u0007']\n]);\n\nfunction unescape(c) {\n\tconst u = c[0] === 'u';\n\tconst bracket = c[1] === '{';\n\n\tif ((u && !bracket && c.length === 5) || (c[0] === 'x' && c.length === 3)) {\n\t\treturn String.fromCharCode(parseInt(c.slice(1), 16));\n\t}\n\n\tif (u && bracket) {\n\t\treturn String.fromCodePoint(parseInt(c.slice(2, -1), 16));\n\t}\n\n\treturn ESCAPES.get(c) || c;\n}\n\nfunction parseArguments(name, arguments_) {\n\tconst results = [];\n\tconst chunks = arguments_.trim().split(/\\s*,\\s*/g);\n\tlet matches;\n\n\tfor (const chunk of chunks) {\n\t\tconst number = Number(chunk);\n\t\tif (!Number.isNaN(number)) {\n\t\t\tresults.push(number);\n\t\t} else if ((matches = chunk.match(STRING_REGEX))) {\n\t\t\tresults.push(matches[2].replace(ESCAPE_REGEX, (m, escape, character) => escape ? unescape(escape) : character));\n\t\t} else {\n\t\t\tthrow new Error(`Invalid Chalk template style argument: ${chunk} (in style '${name}')`);\n\t\t}\n\t}\n\n\treturn results;\n}\n\nfunction parseStyle(style) {\n\tSTYLE_REGEX.lastIndex = 0;\n\n\tconst results = [];\n\tlet matches;\n\n\twhile ((matches = STYLE_REGEX.exec(style)) !== null) {\n\t\tconst name = matches[1];\n\n\t\tif (matches[2]) {\n\t\t\tconst args = parseArguments(name, matches[2]);\n\t\t\tresults.push([name].concat(args));\n\t\t} else {\n\t\t\tresults.push([name]);\n\t\t}\n\t}\n\n\treturn results;\n}\n\nfunction buildStyle(chalk, styles) {\n\tconst enabled = {};\n\n\tfor (const layer of styles) {\n\t\tfor (const style of layer.styles) {\n\t\t\tenabled[style[0]] = layer.inverse ? null : style.slice(1);\n\t\t}\n\t}\n\n\tlet current = chalk;\n\tfor (const [styleName, styles] of Object.entries(enabled)) {\n\t\tif (!Array.isArray(styles)) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (!(styleName in current)) {\n\t\t\tthrow new Error(`Unknown Chalk style: ${styleName}`);\n\t\t}\n\n\t\tcurrent = styles.length > 0 ? current[styleName](...styles) : current[styleName];\n\t}\n\n\treturn current;\n}\n\nmodule.exports = (chalk, temporary) => {\n\tconst styles = [];\n\tconst chunks = [];\n\tlet chunk = [];\n\n\t// eslint-disable-next-line max-params\n\ttemporary.replace(TEMPLATE_REGEX, (m, escapeCharacter, inverse, style, close, character) => {\n\t\tif (escapeCharacter) {\n\t\t\tchunk.push(unescape(escapeCharacter));\n\t\t} else if (style) {\n\t\t\tconst string = chunk.join('');\n\t\t\tchunk = [];\n\t\t\tchunks.push(styles.length === 0 ? string : buildStyle(chalk, styles)(string));\n\t\t\tstyles.push({inverse, styles: parseStyle(style)});\n\t\t} else if (close) {\n\t\t\tif (styles.length === 0) {\n\t\t\t\tthrow new Error('Found extraneous } in Chalk template literal');\n\t\t\t}\n\n\t\t\tchunks.push(buildStyle(chalk, styles)(chunk.join('')));\n\t\t\tchunk = [];\n\t\t\tstyles.pop();\n\t\t} else {\n\t\t\tchunk.push(character);\n\t\t}\n\t});\n\n\tchunks.push(chunk.join(''));\n\n\tif (styles.length > 0) {\n\t\tconst errMessage = `Chalk template literal is missing ${styles.length} closing bracket${styles.length === 1 ? '' : 's'} (\\`}\\`)`;\n\t\tthrow new Error(errMessage);\n\t}\n\n\treturn chunks.join('');\n};\n\n\n//# sourceURL=webpack://dcp/./node_modules/chalk/source/templates.js?"); + +/***/ }), + +/***/ "./node_modules/chalk/source/util.js": +/*!*******************************************!*\ + !*** ./node_modules/chalk/source/util.js ***! + \*******************************************/ +/***/ ((module) => { + +"use strict"; +eval("\n\nconst stringReplaceAll = (string, substring, replacer) => {\n\tlet index = string.indexOf(substring);\n\tif (index === -1) {\n\t\treturn string;\n\t}\n\n\tconst substringLength = substring.length;\n\tlet endIndex = 0;\n\tlet returnValue = '';\n\tdo {\n\t\treturnValue += string.substr(endIndex, index - endIndex) + substring + replacer;\n\t\tendIndex = index + substringLength;\n\t\tindex = string.indexOf(substring, endIndex);\n\t} while (index !== -1);\n\n\treturnValue += string.substr(endIndex);\n\treturn returnValue;\n};\n\nconst stringEncaseCRLFWithFirstIndex = (string, prefix, postfix, index) => {\n\tlet endIndex = 0;\n\tlet returnValue = '';\n\tdo {\n\t\tconst gotCR = string[index - 1] === '\\r';\n\t\treturnValue += string.substr(endIndex, (gotCR ? index - 1 : index) - endIndex) + prefix + (gotCR ? '\\r\\n' : '\\n') + postfix;\n\t\tendIndex = index + 1;\n\t\tindex = string.indexOf('\\n', endIndex);\n\t} while (index !== -1);\n\n\treturnValue += string.substr(endIndex);\n\treturn returnValue;\n};\n\nmodule.exports = {\n\tstringReplaceAll,\n\tstringEncaseCRLFWithFirstIndex\n};\n\n\n//# sourceURL=webpack://dcp/./node_modules/chalk/source/util.js?"); + +/***/ }), + +/***/ "./node_modules/cipher-base/index.js": +/*!*******************************************!*\ + !*** ./node_modules/cipher-base/index.js ***! + \*******************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +eval("var Buffer = (__webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer)\nvar Transform = (__webpack_require__(/*! stream */ \"./node_modules/stream-browserify/index.js\").Transform)\nvar StringDecoder = (__webpack_require__(/*! string_decoder */ \"./node_modules/string_decoder/lib/string_decoder.js\").StringDecoder)\nvar inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\")\n\nfunction CipherBase (hashMode) {\n Transform.call(this)\n this.hashMode = typeof hashMode === 'string'\n if (this.hashMode) {\n this[hashMode] = this._finalOrDigest\n } else {\n this.final = this._finalOrDigest\n }\n if (this._final) {\n this.__final = this._final\n this._final = null\n }\n this._decoder = null\n this._encoding = null\n}\ninherits(CipherBase, Transform)\n\nCipherBase.prototype.update = function (data, inputEnc, outputEnc) {\n if (typeof data === 'string') {\n data = Buffer.from(data, inputEnc)\n }\n\n var outData = this._update(data)\n if (this.hashMode) return this\n\n if (outputEnc) {\n outData = this._toString(outData, outputEnc)\n }\n\n return outData\n}\n\nCipherBase.prototype.setAutoPadding = function () {}\nCipherBase.prototype.getAuthTag = function () {\n throw new Error('trying to get auth tag in unsupported state')\n}\n\nCipherBase.prototype.setAuthTag = function () {\n throw new Error('trying to set auth tag in unsupported state')\n}\n\nCipherBase.prototype.setAAD = function () {\n throw new Error('trying to set aad in unsupported state')\n}\n\nCipherBase.prototype._transform = function (data, _, next) {\n var err\n try {\n if (this.hashMode) {\n this._update(data)\n } else {\n this.push(this._update(data))\n }\n } catch (e) {\n err = e\n } finally {\n next(err)\n }\n}\nCipherBase.prototype._flush = function (done) {\n var err\n try {\n this.push(this.__final())\n } catch (e) {\n err = e\n }\n\n done(err)\n}\nCipherBase.prototype._finalOrDigest = function (outputEnc) {\n var outData = this.__final() || Buffer.alloc(0)\n if (outputEnc) {\n outData = this._toString(outData, outputEnc, true)\n }\n return outData\n}\n\nCipherBase.prototype._toString = function (value, enc, fin) {\n if (!this._decoder) {\n this._decoder = new StringDecoder(enc)\n this._encoding = enc\n }\n\n if (this._encoding !== enc) throw new Error('can\\'t switch encodings')\n\n var out = this._decoder.write(value)\n if (fin) {\n out += this._decoder.end()\n }\n\n return out\n}\n\nmodule.exports = CipherBase\n\n\n//# sourceURL=webpack://dcp/./node_modules/cipher-base/index.js?"); + +/***/ }), + +/***/ "./node_modules/clone/clone.js": +/*!*************************************!*\ + !*** ./node_modules/clone/clone.js ***! + \*************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +eval("/* provided dependency */ var Buffer = __webpack_require__(/*! ./node_modules/node-polyfill-webpack-plugin/node_modules/buffer/index.js */ \"./node_modules/node-polyfill-webpack-plugin/node_modules/buffer/index.js\")[\"Buffer\"];\nvar clone = (function() {\n'use strict';\n\n/**\n * Clones (copies) an Object using deep copying.\n *\n * This function supports circular references by default, but if you are certain\n * there are no circular references in your object, you can save some CPU time\n * by calling clone(obj, false).\n *\n * Caution: if `circular` is false and `parent` contains circular references,\n * your program may enter an infinite loop and crash.\n *\n * @param `parent` - the object to be cloned\n * @param `circular` - set to true if the object to be cloned may contain\n * circular references. (optional - true by default)\n * @param `depth` - set to a number if the object is only to be cloned to\n * a particular depth. (optional - defaults to Infinity)\n * @param `prototype` - sets the prototype to be used when cloning an object.\n * (optional - defaults to parent prototype).\n*/\nfunction clone(parent, circular, depth, prototype) {\n var filter;\n if (typeof circular === 'object') {\n depth = circular.depth;\n prototype = circular.prototype;\n filter = circular.filter;\n circular = circular.circular\n }\n // maintain two arrays for circular references, where corresponding parents\n // and children have the same index\n var allParents = [];\n var allChildren = [];\n\n var useBuffer = typeof Buffer != 'undefined';\n\n if (typeof circular == 'undefined')\n circular = true;\n\n if (typeof depth == 'undefined')\n depth = Infinity;\n\n // recurse this function so we don't reset allParents and allChildren\n function _clone(parent, depth) {\n // cloning null always returns null\n if (parent === null)\n return null;\n\n if (depth == 0)\n return parent;\n\n var child;\n var proto;\n if (typeof parent != 'object') {\n return parent;\n }\n\n if (clone.__isArray(parent)) {\n child = [];\n } else if (clone.__isRegExp(parent)) {\n child = new RegExp(parent.source, __getRegExpFlags(parent));\n if (parent.lastIndex) child.lastIndex = parent.lastIndex;\n } else if (clone.__isDate(parent)) {\n child = new Date(parent.getTime());\n } else if (useBuffer && Buffer.isBuffer(parent)) {\n if (Buffer.allocUnsafe) {\n // Node.js >= 4.5.0\n child = Buffer.allocUnsafe(parent.length);\n } else {\n // Older Node.js versions\n child = new Buffer(parent.length);\n }\n parent.copy(child);\n return child;\n } else {\n if (typeof prototype == 'undefined') {\n proto = Object.getPrototypeOf(parent);\n child = Object.create(proto);\n }\n else {\n child = Object.create(prototype);\n proto = prototype;\n }\n }\n\n if (circular) {\n var index = allParents.indexOf(parent);\n\n if (index != -1) {\n return allChildren[index];\n }\n allParents.push(parent);\n allChildren.push(child);\n }\n\n for (var i in parent) {\n var attrs;\n if (proto) {\n attrs = Object.getOwnPropertyDescriptor(proto, i);\n }\n\n if (attrs && attrs.set == null) {\n continue;\n }\n child[i] = _clone(parent[i], depth - 1);\n }\n\n return child;\n }\n\n return _clone(parent, depth);\n}\n\n/**\n * Simple flat clone using prototype, accepts only objects, usefull for property\n * override on FLAT configuration object (no nested props).\n *\n * USE WITH CAUTION! This may not behave as you wish if you do not know how this\n * works.\n */\nclone.clonePrototype = function clonePrototype(parent) {\n if (parent === null)\n return null;\n\n var c = function () {};\n c.prototype = parent;\n return new c();\n};\n\n// private utility functions\n\nfunction __objToStr(o) {\n return Object.prototype.toString.call(o);\n};\nclone.__objToStr = __objToStr;\n\nfunction __isDate(o) {\n return typeof o === 'object' && __objToStr(o) === '[object Date]';\n};\nclone.__isDate = __isDate;\n\nfunction __isArray(o) {\n return typeof o === 'object' && __objToStr(o) === '[object Array]';\n};\nclone.__isArray = __isArray;\n\nfunction __isRegExp(o) {\n return typeof o === 'object' && __objToStr(o) === '[object RegExp]';\n};\nclone.__isRegExp = __isRegExp;\n\nfunction __getRegExpFlags(re) {\n var flags = '';\n if (re.global) flags += 'g';\n if (re.ignoreCase) flags += 'i';\n if (re.multiline) flags += 'm';\n return flags;\n};\nclone.__getRegExpFlags = __getRegExpFlags;\n\nreturn clone;\n})();\n\nif ( true && module.exports) {\n module.exports = clone;\n}\n\n\n//# sourceURL=webpack://dcp/./node_modules/clone/clone.js?"); + +/***/ }), + +/***/ "./node_modules/color-convert/conversions.js": +/*!***************************************************!*\ + !*** ./node_modules/color-convert/conversions.js ***! + \***************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +eval("/* MIT license */\n/* eslint-disable no-mixed-operators */\nconst cssKeywords = __webpack_require__(/*! color-name */ \"./node_modules/color-name/index.js\");\n\n// NOTE: conversions should only return primitive values (i.e. arrays, or\n// values that give correct `typeof` results).\n// do not use box values types (i.e. Number(), String(), etc.)\n\nconst reverseKeywords = {};\nfor (const key of Object.keys(cssKeywords)) {\n\treverseKeywords[cssKeywords[key]] = key;\n}\n\nconst convert = {\n\trgb: {channels: 3, labels: 'rgb'},\n\thsl: {channels: 3, labels: 'hsl'},\n\thsv: {channels: 3, labels: 'hsv'},\n\thwb: {channels: 3, labels: 'hwb'},\n\tcmyk: {channels: 4, labels: 'cmyk'},\n\txyz: {channels: 3, labels: 'xyz'},\n\tlab: {channels: 3, labels: 'lab'},\n\tlch: {channels: 3, labels: 'lch'},\n\thex: {channels: 1, labels: ['hex']},\n\tkeyword: {channels: 1, labels: ['keyword']},\n\tansi16: {channels: 1, labels: ['ansi16']},\n\tansi256: {channels: 1, labels: ['ansi256']},\n\thcg: {channels: 3, labels: ['h', 'c', 'g']},\n\tapple: {channels: 3, labels: ['r16', 'g16', 'b16']},\n\tgray: {channels: 1, labels: ['gray']}\n};\n\nmodule.exports = convert;\n\n// Hide .channels and .labels properties\nfor (const model of Object.keys(convert)) {\n\tif (!('channels' in convert[model])) {\n\t\tthrow new Error('missing channels property: ' + model);\n\t}\n\n\tif (!('labels' in convert[model])) {\n\t\tthrow new Error('missing channel labels property: ' + model);\n\t}\n\n\tif (convert[model].labels.length !== convert[model].channels) {\n\t\tthrow new Error('channel and label counts mismatch: ' + model);\n\t}\n\n\tconst {channels, labels} = convert[model];\n\tdelete convert[model].channels;\n\tdelete convert[model].labels;\n\tObject.defineProperty(convert[model], 'channels', {value: channels});\n\tObject.defineProperty(convert[model], 'labels', {value: labels});\n}\n\nconvert.rgb.hsl = function (rgb) {\n\tconst r = rgb[0] / 255;\n\tconst g = rgb[1] / 255;\n\tconst b = rgb[2] / 255;\n\tconst min = Math.min(r, g, b);\n\tconst max = Math.max(r, g, b);\n\tconst delta = max - min;\n\tlet h;\n\tlet s;\n\n\tif (max === min) {\n\t\th = 0;\n\t} else if (r === max) {\n\t\th = (g - b) / delta;\n\t} else if (g === max) {\n\t\th = 2 + (b - r) / delta;\n\t} else if (b === max) {\n\t\th = 4 + (r - g) / delta;\n\t}\n\n\th = Math.min(h * 60, 360);\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tconst l = (min + max) / 2;\n\n\tif (max === min) {\n\t\ts = 0;\n\t} else if (l <= 0.5) {\n\t\ts = delta / (max + min);\n\t} else {\n\t\ts = delta / (2 - max - min);\n\t}\n\n\treturn [h, s * 100, l * 100];\n};\n\nconvert.rgb.hsv = function (rgb) {\n\tlet rdif;\n\tlet gdif;\n\tlet bdif;\n\tlet h;\n\tlet s;\n\n\tconst r = rgb[0] / 255;\n\tconst g = rgb[1] / 255;\n\tconst b = rgb[2] / 255;\n\tconst v = Math.max(r, g, b);\n\tconst diff = v - Math.min(r, g, b);\n\tconst diffc = function (c) {\n\t\treturn (v - c) / 6 / diff + 1 / 2;\n\t};\n\n\tif (diff === 0) {\n\t\th = 0;\n\t\ts = 0;\n\t} else {\n\t\ts = diff / v;\n\t\trdif = diffc(r);\n\t\tgdif = diffc(g);\n\t\tbdif = diffc(b);\n\n\t\tif (r === v) {\n\t\t\th = bdif - gdif;\n\t\t} else if (g === v) {\n\t\t\th = (1 / 3) + rdif - bdif;\n\t\t} else if (b === v) {\n\t\t\th = (2 / 3) + gdif - rdif;\n\t\t}\n\n\t\tif (h < 0) {\n\t\t\th += 1;\n\t\t} else if (h > 1) {\n\t\t\th -= 1;\n\t\t}\n\t}\n\n\treturn [\n\t\th * 360,\n\t\ts * 100,\n\t\tv * 100\n\t];\n};\n\nconvert.rgb.hwb = function (rgb) {\n\tconst r = rgb[0];\n\tconst g = rgb[1];\n\tlet b = rgb[2];\n\tconst h = convert.rgb.hsl(rgb)[0];\n\tconst w = 1 / 255 * Math.min(r, Math.min(g, b));\n\n\tb = 1 - 1 / 255 * Math.max(r, Math.max(g, b));\n\n\treturn [h, w * 100, b * 100];\n};\n\nconvert.rgb.cmyk = function (rgb) {\n\tconst r = rgb[0] / 255;\n\tconst g = rgb[1] / 255;\n\tconst b = rgb[2] / 255;\n\n\tconst k = Math.min(1 - r, 1 - g, 1 - b);\n\tconst c = (1 - r - k) / (1 - k) || 0;\n\tconst m = (1 - g - k) / (1 - k) || 0;\n\tconst y = (1 - b - k) / (1 - k) || 0;\n\n\treturn [c * 100, m * 100, y * 100, k * 100];\n};\n\nfunction comparativeDistance(x, y) {\n\t/*\n\t\tSee https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance\n\t*/\n\treturn (\n\t\t((x[0] - y[0]) ** 2) +\n\t\t((x[1] - y[1]) ** 2) +\n\t\t((x[2] - y[2]) ** 2)\n\t);\n}\n\nconvert.rgb.keyword = function (rgb) {\n\tconst reversed = reverseKeywords[rgb];\n\tif (reversed) {\n\t\treturn reversed;\n\t}\n\n\tlet currentClosestDistance = Infinity;\n\tlet currentClosestKeyword;\n\n\tfor (const keyword of Object.keys(cssKeywords)) {\n\t\tconst value = cssKeywords[keyword];\n\n\t\t// Compute comparative distance\n\t\tconst distance = comparativeDistance(rgb, value);\n\n\t\t// Check if its less, if so set as closest\n\t\tif (distance < currentClosestDistance) {\n\t\t\tcurrentClosestDistance = distance;\n\t\t\tcurrentClosestKeyword = keyword;\n\t\t}\n\t}\n\n\treturn currentClosestKeyword;\n};\n\nconvert.keyword.rgb = function (keyword) {\n\treturn cssKeywords[keyword];\n};\n\nconvert.rgb.xyz = function (rgb) {\n\tlet r = rgb[0] / 255;\n\tlet g = rgb[1] / 255;\n\tlet b = rgb[2] / 255;\n\n\t// Assume sRGB\n\tr = r > 0.04045 ? (((r + 0.055) / 1.055) ** 2.4) : (r / 12.92);\n\tg = g > 0.04045 ? (((g + 0.055) / 1.055) ** 2.4) : (g / 12.92);\n\tb = b > 0.04045 ? (((b + 0.055) / 1.055) ** 2.4) : (b / 12.92);\n\n\tconst x = (r * 0.4124) + (g * 0.3576) + (b * 0.1805);\n\tconst y = (r * 0.2126) + (g * 0.7152) + (b * 0.0722);\n\tconst z = (r * 0.0193) + (g * 0.1192) + (b * 0.9505);\n\n\treturn [x * 100, y * 100, z * 100];\n};\n\nconvert.rgb.lab = function (rgb) {\n\tconst xyz = convert.rgb.xyz(rgb);\n\tlet x = xyz[0];\n\tlet y = xyz[1];\n\tlet z = xyz[2];\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? (x ** (1 / 3)) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? (y ** (1 / 3)) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? (z ** (1 / 3)) : (7.787 * z) + (16 / 116);\n\n\tconst l = (116 * y) - 16;\n\tconst a = 500 * (x - y);\n\tconst b = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n\nconvert.hsl.rgb = function (hsl) {\n\tconst h = hsl[0] / 360;\n\tconst s = hsl[1] / 100;\n\tconst l = hsl[2] / 100;\n\tlet t2;\n\tlet t3;\n\tlet val;\n\n\tif (s === 0) {\n\t\tval = l * 255;\n\t\treturn [val, val, val];\n\t}\n\n\tif (l < 0.5) {\n\t\tt2 = l * (1 + s);\n\t} else {\n\t\tt2 = l + s - l * s;\n\t}\n\n\tconst t1 = 2 * l - t2;\n\n\tconst rgb = [0, 0, 0];\n\tfor (let i = 0; i < 3; i++) {\n\t\tt3 = h + 1 / 3 * -(i - 1);\n\t\tif (t3 < 0) {\n\t\t\tt3++;\n\t\t}\n\n\t\tif (t3 > 1) {\n\t\t\tt3--;\n\t\t}\n\n\t\tif (6 * t3 < 1) {\n\t\t\tval = t1 + (t2 - t1) * 6 * t3;\n\t\t} else if (2 * t3 < 1) {\n\t\t\tval = t2;\n\t\t} else if (3 * t3 < 2) {\n\t\t\tval = t1 + (t2 - t1) * (2 / 3 - t3) * 6;\n\t\t} else {\n\t\t\tval = t1;\n\t\t}\n\n\t\trgb[i] = val * 255;\n\t}\n\n\treturn rgb;\n};\n\nconvert.hsl.hsv = function (hsl) {\n\tconst h = hsl[0];\n\tlet s = hsl[1] / 100;\n\tlet l = hsl[2] / 100;\n\tlet smin = s;\n\tconst lmin = Math.max(l, 0.01);\n\n\tl *= 2;\n\ts *= (l <= 1) ? l : 2 - l;\n\tsmin *= lmin <= 1 ? lmin : 2 - lmin;\n\tconst v = (l + s) / 2;\n\tconst sv = l === 0 ? (2 * smin) / (lmin + smin) : (2 * s) / (l + s);\n\n\treturn [h, sv * 100, v * 100];\n};\n\nconvert.hsv.rgb = function (hsv) {\n\tconst h = hsv[0] / 60;\n\tconst s = hsv[1] / 100;\n\tlet v = hsv[2] / 100;\n\tconst hi = Math.floor(h) % 6;\n\n\tconst f = h - Math.floor(h);\n\tconst p = 255 * v * (1 - s);\n\tconst q = 255 * v * (1 - (s * f));\n\tconst t = 255 * v * (1 - (s * (1 - f)));\n\tv *= 255;\n\n\tswitch (hi) {\n\t\tcase 0:\n\t\t\treturn [v, t, p];\n\t\tcase 1:\n\t\t\treturn [q, v, p];\n\t\tcase 2:\n\t\t\treturn [p, v, t];\n\t\tcase 3:\n\t\t\treturn [p, q, v];\n\t\tcase 4:\n\t\t\treturn [t, p, v];\n\t\tcase 5:\n\t\t\treturn [v, p, q];\n\t}\n};\n\nconvert.hsv.hsl = function (hsv) {\n\tconst h = hsv[0];\n\tconst s = hsv[1] / 100;\n\tconst v = hsv[2] / 100;\n\tconst vmin = Math.max(v, 0.01);\n\tlet sl;\n\tlet l;\n\n\tl = (2 - s) * v;\n\tconst lmin = (2 - s) * vmin;\n\tsl = s * vmin;\n\tsl /= (lmin <= 1) ? lmin : 2 - lmin;\n\tsl = sl || 0;\n\tl /= 2;\n\n\treturn [h, sl * 100, l * 100];\n};\n\n// http://dev.w3.org/csswg/css-color/#hwb-to-rgb\nconvert.hwb.rgb = function (hwb) {\n\tconst h = hwb[0] / 360;\n\tlet wh = hwb[1] / 100;\n\tlet bl = hwb[2] / 100;\n\tconst ratio = wh + bl;\n\tlet f;\n\n\t// Wh + bl cant be > 1\n\tif (ratio > 1) {\n\t\twh /= ratio;\n\t\tbl /= ratio;\n\t}\n\n\tconst i = Math.floor(6 * h);\n\tconst v = 1 - bl;\n\tf = 6 * h - i;\n\n\tif ((i & 0x01) !== 0) {\n\t\tf = 1 - f;\n\t}\n\n\tconst n = wh + f * (v - wh); // Linear interpolation\n\n\tlet r;\n\tlet g;\n\tlet b;\n\t/* eslint-disable max-statements-per-line,no-multi-spaces */\n\tswitch (i) {\n\t\tdefault:\n\t\tcase 6:\n\t\tcase 0: r = v; g = n; b = wh; break;\n\t\tcase 1: r = n; g = v; b = wh; break;\n\t\tcase 2: r = wh; g = v; b = n; break;\n\t\tcase 3: r = wh; g = n; b = v; break;\n\t\tcase 4: r = n; g = wh; b = v; break;\n\t\tcase 5: r = v; g = wh; b = n; break;\n\t}\n\t/* eslint-enable max-statements-per-line,no-multi-spaces */\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.cmyk.rgb = function (cmyk) {\n\tconst c = cmyk[0] / 100;\n\tconst m = cmyk[1] / 100;\n\tconst y = cmyk[2] / 100;\n\tconst k = cmyk[3] / 100;\n\n\tconst r = 1 - Math.min(1, c * (1 - k) + k);\n\tconst g = 1 - Math.min(1, m * (1 - k) + k);\n\tconst b = 1 - Math.min(1, y * (1 - k) + k);\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.xyz.rgb = function (xyz) {\n\tconst x = xyz[0] / 100;\n\tconst y = xyz[1] / 100;\n\tconst z = xyz[2] / 100;\n\tlet r;\n\tlet g;\n\tlet b;\n\n\tr = (x * 3.2406) + (y * -1.5372) + (z * -0.4986);\n\tg = (x * -0.9689) + (y * 1.8758) + (z * 0.0415);\n\tb = (x * 0.0557) + (y * -0.2040) + (z * 1.0570);\n\n\t// Assume sRGB\n\tr = r > 0.0031308\n\t\t? ((1.055 * (r ** (1.0 / 2.4))) - 0.055)\n\t\t: r * 12.92;\n\n\tg = g > 0.0031308\n\t\t? ((1.055 * (g ** (1.0 / 2.4))) - 0.055)\n\t\t: g * 12.92;\n\n\tb = b > 0.0031308\n\t\t? ((1.055 * (b ** (1.0 / 2.4))) - 0.055)\n\t\t: b * 12.92;\n\n\tr = Math.min(Math.max(0, r), 1);\n\tg = Math.min(Math.max(0, g), 1);\n\tb = Math.min(Math.max(0, b), 1);\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.xyz.lab = function (xyz) {\n\tlet x = xyz[0];\n\tlet y = xyz[1];\n\tlet z = xyz[2];\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? (x ** (1 / 3)) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? (y ** (1 / 3)) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? (z ** (1 / 3)) : (7.787 * z) + (16 / 116);\n\n\tconst l = (116 * y) - 16;\n\tconst a = 500 * (x - y);\n\tconst b = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n\nconvert.lab.xyz = function (lab) {\n\tconst l = lab[0];\n\tconst a = lab[1];\n\tconst b = lab[2];\n\tlet x;\n\tlet y;\n\tlet z;\n\n\ty = (l + 16) / 116;\n\tx = a / 500 + y;\n\tz = y - b / 200;\n\n\tconst y2 = y ** 3;\n\tconst x2 = x ** 3;\n\tconst z2 = z ** 3;\n\ty = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787;\n\tx = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787;\n\tz = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787;\n\n\tx *= 95.047;\n\ty *= 100;\n\tz *= 108.883;\n\n\treturn [x, y, z];\n};\n\nconvert.lab.lch = function (lab) {\n\tconst l = lab[0];\n\tconst a = lab[1];\n\tconst b = lab[2];\n\tlet h;\n\n\tconst hr = Math.atan2(b, a);\n\th = hr * 360 / 2 / Math.PI;\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tconst c = Math.sqrt(a * a + b * b);\n\n\treturn [l, c, h];\n};\n\nconvert.lch.lab = function (lch) {\n\tconst l = lch[0];\n\tconst c = lch[1];\n\tconst h = lch[2];\n\n\tconst hr = h / 360 * 2 * Math.PI;\n\tconst a = c * Math.cos(hr);\n\tconst b = c * Math.sin(hr);\n\n\treturn [l, a, b];\n};\n\nconvert.rgb.ansi16 = function (args, saturation = null) {\n\tconst [r, g, b] = args;\n\tlet value = saturation === null ? convert.rgb.hsv(args)[2] : saturation; // Hsv -> ansi16 optimization\n\n\tvalue = Math.round(value / 50);\n\n\tif (value === 0) {\n\t\treturn 30;\n\t}\n\n\tlet ansi = 30\n\t\t+ ((Math.round(b / 255) << 2)\n\t\t| (Math.round(g / 255) << 1)\n\t\t| Math.round(r / 255));\n\n\tif (value === 2) {\n\t\tansi += 60;\n\t}\n\n\treturn ansi;\n};\n\nconvert.hsv.ansi16 = function (args) {\n\t// Optimization here; we already know the value and don't need to get\n\t// it converted for us.\n\treturn convert.rgb.ansi16(convert.hsv.rgb(args), args[2]);\n};\n\nconvert.rgb.ansi256 = function (args) {\n\tconst r = args[0];\n\tconst g = args[1];\n\tconst b = args[2];\n\n\t// We use the extended greyscale palette here, with the exception of\n\t// black and white. normal palette only has 4 greyscale shades.\n\tif (r === g && g === b) {\n\t\tif (r < 8) {\n\t\t\treturn 16;\n\t\t}\n\n\t\tif (r > 248) {\n\t\t\treturn 231;\n\t\t}\n\n\t\treturn Math.round(((r - 8) / 247) * 24) + 232;\n\t}\n\n\tconst ansi = 16\n\t\t+ (36 * Math.round(r / 255 * 5))\n\t\t+ (6 * Math.round(g / 255 * 5))\n\t\t+ Math.round(b / 255 * 5);\n\n\treturn ansi;\n};\n\nconvert.ansi16.rgb = function (args) {\n\tlet color = args % 10;\n\n\t// Handle greyscale\n\tif (color === 0 || color === 7) {\n\t\tif (args > 50) {\n\t\t\tcolor += 3.5;\n\t\t}\n\n\t\tcolor = color / 10.5 * 255;\n\n\t\treturn [color, color, color];\n\t}\n\n\tconst mult = (~~(args > 50) + 1) * 0.5;\n\tconst r = ((color & 1) * mult) * 255;\n\tconst g = (((color >> 1) & 1) * mult) * 255;\n\tconst b = (((color >> 2) & 1) * mult) * 255;\n\n\treturn [r, g, b];\n};\n\nconvert.ansi256.rgb = function (args) {\n\t// Handle greyscale\n\tif (args >= 232) {\n\t\tconst c = (args - 232) * 10 + 8;\n\t\treturn [c, c, c];\n\t}\n\n\targs -= 16;\n\n\tlet rem;\n\tconst r = Math.floor(args / 36) / 5 * 255;\n\tconst g = Math.floor((rem = args % 36) / 6) / 5 * 255;\n\tconst b = (rem % 6) / 5 * 255;\n\n\treturn [r, g, b];\n};\n\nconvert.rgb.hex = function (args) {\n\tconst integer = ((Math.round(args[0]) & 0xFF) << 16)\n\t\t+ ((Math.round(args[1]) & 0xFF) << 8)\n\t\t+ (Math.round(args[2]) & 0xFF);\n\n\tconst string = integer.toString(16).toUpperCase();\n\treturn '000000'.substring(string.length) + string;\n};\n\nconvert.hex.rgb = function (args) {\n\tconst match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);\n\tif (!match) {\n\t\treturn [0, 0, 0];\n\t}\n\n\tlet colorString = match[0];\n\n\tif (match[0].length === 3) {\n\t\tcolorString = colorString.split('').map(char => {\n\t\t\treturn char + char;\n\t\t}).join('');\n\t}\n\n\tconst integer = parseInt(colorString, 16);\n\tconst r = (integer >> 16) & 0xFF;\n\tconst g = (integer >> 8) & 0xFF;\n\tconst b = integer & 0xFF;\n\n\treturn [r, g, b];\n};\n\nconvert.rgb.hcg = function (rgb) {\n\tconst r = rgb[0] / 255;\n\tconst g = rgb[1] / 255;\n\tconst b = rgb[2] / 255;\n\tconst max = Math.max(Math.max(r, g), b);\n\tconst min = Math.min(Math.min(r, g), b);\n\tconst chroma = (max - min);\n\tlet grayscale;\n\tlet hue;\n\n\tif (chroma < 1) {\n\t\tgrayscale = min / (1 - chroma);\n\t} else {\n\t\tgrayscale = 0;\n\t}\n\n\tif (chroma <= 0) {\n\t\thue = 0;\n\t} else\n\tif (max === r) {\n\t\thue = ((g - b) / chroma) % 6;\n\t} else\n\tif (max === g) {\n\t\thue = 2 + (b - r) / chroma;\n\t} else {\n\t\thue = 4 + (r - g) / chroma;\n\t}\n\n\thue /= 6;\n\thue %= 1;\n\n\treturn [hue * 360, chroma * 100, grayscale * 100];\n};\n\nconvert.hsl.hcg = function (hsl) {\n\tconst s = hsl[1] / 100;\n\tconst l = hsl[2] / 100;\n\n\tconst c = l < 0.5 ? (2.0 * s * l) : (2.0 * s * (1.0 - l));\n\n\tlet f = 0;\n\tif (c < 1.0) {\n\t\tf = (l - 0.5 * c) / (1.0 - c);\n\t}\n\n\treturn [hsl[0], c * 100, f * 100];\n};\n\nconvert.hsv.hcg = function (hsv) {\n\tconst s = hsv[1] / 100;\n\tconst v = hsv[2] / 100;\n\n\tconst c = s * v;\n\tlet f = 0;\n\n\tif (c < 1.0) {\n\t\tf = (v - c) / (1 - c);\n\t}\n\n\treturn [hsv[0], c * 100, f * 100];\n};\n\nconvert.hcg.rgb = function (hcg) {\n\tconst h = hcg[0] / 360;\n\tconst c = hcg[1] / 100;\n\tconst g = hcg[2] / 100;\n\n\tif (c === 0.0) {\n\t\treturn [g * 255, g * 255, g * 255];\n\t}\n\n\tconst pure = [0, 0, 0];\n\tconst hi = (h % 1) * 6;\n\tconst v = hi % 1;\n\tconst w = 1 - v;\n\tlet mg = 0;\n\n\t/* eslint-disable max-statements-per-line */\n\tswitch (Math.floor(hi)) {\n\t\tcase 0:\n\t\t\tpure[0] = 1; pure[1] = v; pure[2] = 0; break;\n\t\tcase 1:\n\t\t\tpure[0] = w; pure[1] = 1; pure[2] = 0; break;\n\t\tcase 2:\n\t\t\tpure[0] = 0; pure[1] = 1; pure[2] = v; break;\n\t\tcase 3:\n\t\t\tpure[0] = 0; pure[1] = w; pure[2] = 1; break;\n\t\tcase 4:\n\t\t\tpure[0] = v; pure[1] = 0; pure[2] = 1; break;\n\t\tdefault:\n\t\t\tpure[0] = 1; pure[1] = 0; pure[2] = w;\n\t}\n\t/* eslint-enable max-statements-per-line */\n\n\tmg = (1.0 - c) * g;\n\n\treturn [\n\t\t(c * pure[0] + mg) * 255,\n\t\t(c * pure[1] + mg) * 255,\n\t\t(c * pure[2] + mg) * 255\n\t];\n};\n\nconvert.hcg.hsv = function (hcg) {\n\tconst c = hcg[1] / 100;\n\tconst g = hcg[2] / 100;\n\n\tconst v = c + g * (1.0 - c);\n\tlet f = 0;\n\n\tif (v > 0.0) {\n\t\tf = c / v;\n\t}\n\n\treturn [hcg[0], f * 100, v * 100];\n};\n\nconvert.hcg.hsl = function (hcg) {\n\tconst c = hcg[1] / 100;\n\tconst g = hcg[2] / 100;\n\n\tconst l = g * (1.0 - c) + 0.5 * c;\n\tlet s = 0;\n\n\tif (l > 0.0 && l < 0.5) {\n\t\ts = c / (2 * l);\n\t} else\n\tif (l >= 0.5 && l < 1.0) {\n\t\ts = c / (2 * (1 - l));\n\t}\n\n\treturn [hcg[0], s * 100, l * 100];\n};\n\nconvert.hcg.hwb = function (hcg) {\n\tconst c = hcg[1] / 100;\n\tconst g = hcg[2] / 100;\n\tconst v = c + g * (1.0 - c);\n\treturn [hcg[0], (v - c) * 100, (1 - v) * 100];\n};\n\nconvert.hwb.hcg = function (hwb) {\n\tconst w = hwb[1] / 100;\n\tconst b = hwb[2] / 100;\n\tconst v = 1 - b;\n\tconst c = v - w;\n\tlet g = 0;\n\n\tif (c < 1) {\n\t\tg = (v - c) / (1 - c);\n\t}\n\n\treturn [hwb[0], c * 100, g * 100];\n};\n\nconvert.apple.rgb = function (apple) {\n\treturn [(apple[0] / 65535) * 255, (apple[1] / 65535) * 255, (apple[2] / 65535) * 255];\n};\n\nconvert.rgb.apple = function (rgb) {\n\treturn [(rgb[0] / 255) * 65535, (rgb[1] / 255) * 65535, (rgb[2] / 255) * 65535];\n};\n\nconvert.gray.rgb = function (args) {\n\treturn [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255];\n};\n\nconvert.gray.hsl = function (args) {\n\treturn [0, 0, args[0]];\n};\n\nconvert.gray.hsv = convert.gray.hsl;\n\nconvert.gray.hwb = function (gray) {\n\treturn [0, 100, gray[0]];\n};\n\nconvert.gray.cmyk = function (gray) {\n\treturn [0, 0, 0, gray[0]];\n};\n\nconvert.gray.lab = function (gray) {\n\treturn [gray[0], 0, 0];\n};\n\nconvert.gray.hex = function (gray) {\n\tconst val = Math.round(gray[0] / 100 * 255) & 0xFF;\n\tconst integer = (val << 16) + (val << 8) + val;\n\n\tconst string = integer.toString(16).toUpperCase();\n\treturn '000000'.substring(string.length) + string;\n};\n\nconvert.rgb.gray = function (rgb) {\n\tconst val = (rgb[0] + rgb[1] + rgb[2]) / 3;\n\treturn [val / 255 * 100];\n};\n\n\n//# sourceURL=webpack://dcp/./node_modules/color-convert/conversions.js?"); + +/***/ }), + +/***/ "./node_modules/color-convert/index.js": +/*!*********************************************!*\ + !*** ./node_modules/color-convert/index.js ***! + \*********************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +eval("const conversions = __webpack_require__(/*! ./conversions */ \"./node_modules/color-convert/conversions.js\");\nconst route = __webpack_require__(/*! ./route */ \"./node_modules/color-convert/route.js\");\n\nconst convert = {};\n\nconst models = Object.keys(conversions);\n\nfunction wrapRaw(fn) {\n\tconst wrappedFn = function (...args) {\n\t\tconst arg0 = args[0];\n\t\tif (arg0 === undefined || arg0 === null) {\n\t\t\treturn arg0;\n\t\t}\n\n\t\tif (arg0.length > 1) {\n\t\t\targs = arg0;\n\t\t}\n\n\t\treturn fn(args);\n\t};\n\n\t// Preserve .conversion property if there is one\n\tif ('conversion' in fn) {\n\t\twrappedFn.conversion = fn.conversion;\n\t}\n\n\treturn wrappedFn;\n}\n\nfunction wrapRounded(fn) {\n\tconst wrappedFn = function (...args) {\n\t\tconst arg0 = args[0];\n\n\t\tif (arg0 === undefined || arg0 === null) {\n\t\t\treturn arg0;\n\t\t}\n\n\t\tif (arg0.length > 1) {\n\t\t\targs = arg0;\n\t\t}\n\n\t\tconst result = fn(args);\n\n\t\t// We're assuming the result is an array here.\n\t\t// see notice in conversions.js; don't use box types\n\t\t// in conversion functions.\n\t\tif (typeof result === 'object') {\n\t\t\tfor (let len = result.length, i = 0; i < len; i++) {\n\t\t\t\tresult[i] = Math.round(result[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t};\n\n\t// Preserve .conversion property if there is one\n\tif ('conversion' in fn) {\n\t\twrappedFn.conversion = fn.conversion;\n\t}\n\n\treturn wrappedFn;\n}\n\nmodels.forEach(fromModel => {\n\tconvert[fromModel] = {};\n\n\tObject.defineProperty(convert[fromModel], 'channels', {value: conversions[fromModel].channels});\n\tObject.defineProperty(convert[fromModel], 'labels', {value: conversions[fromModel].labels});\n\n\tconst routes = route(fromModel);\n\tconst routeModels = Object.keys(routes);\n\n\trouteModels.forEach(toModel => {\n\t\tconst fn = routes[toModel];\n\n\t\tconvert[fromModel][toModel] = wrapRounded(fn);\n\t\tconvert[fromModel][toModel].raw = wrapRaw(fn);\n\t});\n});\n\nmodule.exports = convert;\n\n\n//# sourceURL=webpack://dcp/./node_modules/color-convert/index.js?"); + +/***/ }), + +/***/ "./node_modules/color-convert/route.js": +/*!*********************************************!*\ + !*** ./node_modules/color-convert/route.js ***! + \*********************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +eval("const conversions = __webpack_require__(/*! ./conversions */ \"./node_modules/color-convert/conversions.js\");\n\n/*\n\tThis function routes a model to all other models.\n\n\tall functions that are routed have a property `.conversion` attached\n\tto the returned synthetic function. This property is an array\n\tof strings, each with the steps in between the 'from' and 'to'\n\tcolor models (inclusive).\n\n\tconversions that are not possible simply are not included.\n*/\n\nfunction buildGraph() {\n\tconst graph = {};\n\t// https://jsperf.com/object-keys-vs-for-in-with-closure/3\n\tconst models = Object.keys(conversions);\n\n\tfor (let len = models.length, i = 0; i < len; i++) {\n\t\tgraph[models[i]] = {\n\t\t\t// http://jsperf.com/1-vs-infinity\n\t\t\t// micro-opt, but this is simple.\n\t\t\tdistance: -1,\n\t\t\tparent: null\n\t\t};\n\t}\n\n\treturn graph;\n}\n\n// https://en.wikipedia.org/wiki/Breadth-first_search\nfunction deriveBFS(fromModel) {\n\tconst graph = buildGraph();\n\tconst queue = [fromModel]; // Unshift -> queue -> pop\n\n\tgraph[fromModel].distance = 0;\n\n\twhile (queue.length) {\n\t\tconst current = queue.pop();\n\t\tconst adjacents = Object.keys(conversions[current]);\n\n\t\tfor (let len = adjacents.length, i = 0; i < len; i++) {\n\t\t\tconst adjacent = adjacents[i];\n\t\t\tconst node = graph[adjacent];\n\n\t\t\tif (node.distance === -1) {\n\t\t\t\tnode.distance = graph[current].distance + 1;\n\t\t\t\tnode.parent = current;\n\t\t\t\tqueue.unshift(adjacent);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn graph;\n}\n\nfunction link(from, to) {\n\treturn function (args) {\n\t\treturn to(from(args));\n\t};\n}\n\nfunction wrapConversion(toModel, graph) {\n\tconst path = [graph[toModel].parent, toModel];\n\tlet fn = conversions[graph[toModel].parent][toModel];\n\n\tlet cur = graph[toModel].parent;\n\twhile (graph[cur].parent) {\n\t\tpath.unshift(graph[cur].parent);\n\t\tfn = link(conversions[graph[cur].parent][cur], fn);\n\t\tcur = graph[cur].parent;\n\t}\n\n\tfn.conversion = path;\n\treturn fn;\n}\n\nmodule.exports = function (fromModel) {\n\tconst graph = deriveBFS(fromModel);\n\tconst conversion = {};\n\n\tconst models = Object.keys(graph);\n\tfor (let len = models.length, i = 0; i < len; i++) {\n\t\tconst toModel = models[i];\n\t\tconst node = graph[toModel];\n\n\t\tif (node.parent === null) {\n\t\t\t// No possible conversion, or this node is the source model.\n\t\t\tcontinue;\n\t\t}\n\n\t\tconversion[toModel] = wrapConversion(toModel, graph);\n\t}\n\n\treturn conversion;\n};\n\n\n\n//# sourceURL=webpack://dcp/./node_modules/color-convert/route.js?"); + +/***/ }), + +/***/ "./node_modules/color-name/index.js": +/*!******************************************!*\ + !*** ./node_modules/color-name/index.js ***! + \******************************************/ +/***/ ((module) => { + +"use strict"; +eval("\r\n\r\nmodule.exports = {\r\n\t\"aliceblue\": [240, 248, 255],\r\n\t\"antiquewhite\": [250, 235, 215],\r\n\t\"aqua\": [0, 255, 255],\r\n\t\"aquamarine\": [127, 255, 212],\r\n\t\"azure\": [240, 255, 255],\r\n\t\"beige\": [245, 245, 220],\r\n\t\"bisque\": [255, 228, 196],\r\n\t\"black\": [0, 0, 0],\r\n\t\"blanchedalmond\": [255, 235, 205],\r\n\t\"blue\": [0, 0, 255],\r\n\t\"blueviolet\": [138, 43, 226],\r\n\t\"brown\": [165, 42, 42],\r\n\t\"burlywood\": [222, 184, 135],\r\n\t\"cadetblue\": [95, 158, 160],\r\n\t\"chartreuse\": [127, 255, 0],\r\n\t\"chocolate\": [210, 105, 30],\r\n\t\"coral\": [255, 127, 80],\r\n\t\"cornflowerblue\": [100, 149, 237],\r\n\t\"cornsilk\": [255, 248, 220],\r\n\t\"crimson\": [220, 20, 60],\r\n\t\"cyan\": [0, 255, 255],\r\n\t\"darkblue\": [0, 0, 139],\r\n\t\"darkcyan\": [0, 139, 139],\r\n\t\"darkgoldenrod\": [184, 134, 11],\r\n\t\"darkgray\": [169, 169, 169],\r\n\t\"darkgreen\": [0, 100, 0],\r\n\t\"darkgrey\": [169, 169, 169],\r\n\t\"darkkhaki\": [189, 183, 107],\r\n\t\"darkmagenta\": [139, 0, 139],\r\n\t\"darkolivegreen\": [85, 107, 47],\r\n\t\"darkorange\": [255, 140, 0],\r\n\t\"darkorchid\": [153, 50, 204],\r\n\t\"darkred\": [139, 0, 0],\r\n\t\"darksalmon\": [233, 150, 122],\r\n\t\"darkseagreen\": [143, 188, 143],\r\n\t\"darkslateblue\": [72, 61, 139],\r\n\t\"darkslategray\": [47, 79, 79],\r\n\t\"darkslategrey\": [47, 79, 79],\r\n\t\"darkturquoise\": [0, 206, 209],\r\n\t\"darkviolet\": [148, 0, 211],\r\n\t\"deeppink\": [255, 20, 147],\r\n\t\"deepskyblue\": [0, 191, 255],\r\n\t\"dimgray\": [105, 105, 105],\r\n\t\"dimgrey\": [105, 105, 105],\r\n\t\"dodgerblue\": [30, 144, 255],\r\n\t\"firebrick\": [178, 34, 34],\r\n\t\"floralwhite\": [255, 250, 240],\r\n\t\"forestgreen\": [34, 139, 34],\r\n\t\"fuchsia\": [255, 0, 255],\r\n\t\"gainsboro\": [220, 220, 220],\r\n\t\"ghostwhite\": [248, 248, 255],\r\n\t\"gold\": [255, 215, 0],\r\n\t\"goldenrod\": [218, 165, 32],\r\n\t\"gray\": [128, 128, 128],\r\n\t\"green\": [0, 128, 0],\r\n\t\"greenyellow\": [173, 255, 47],\r\n\t\"grey\": [128, 128, 128],\r\n\t\"honeydew\": [240, 255, 240],\r\n\t\"hotpink\": [255, 105, 180],\r\n\t\"indianred\": [205, 92, 92],\r\n\t\"indigo\": [75, 0, 130],\r\n\t\"ivory\": [255, 255, 240],\r\n\t\"khaki\": [240, 230, 140],\r\n\t\"lavender\": [230, 230, 250],\r\n\t\"lavenderblush\": [255, 240, 245],\r\n\t\"lawngreen\": [124, 252, 0],\r\n\t\"lemonchiffon\": [255, 250, 205],\r\n\t\"lightblue\": [173, 216, 230],\r\n\t\"lightcoral\": [240, 128, 128],\r\n\t\"lightcyan\": [224, 255, 255],\r\n\t\"lightgoldenrodyellow\": [250, 250, 210],\r\n\t\"lightgray\": [211, 211, 211],\r\n\t\"lightgreen\": [144, 238, 144],\r\n\t\"lightgrey\": [211, 211, 211],\r\n\t\"lightpink\": [255, 182, 193],\r\n\t\"lightsalmon\": [255, 160, 122],\r\n\t\"lightseagreen\": [32, 178, 170],\r\n\t\"lightskyblue\": [135, 206, 250],\r\n\t\"lightslategray\": [119, 136, 153],\r\n\t\"lightslategrey\": [119, 136, 153],\r\n\t\"lightsteelblue\": [176, 196, 222],\r\n\t\"lightyellow\": [255, 255, 224],\r\n\t\"lime\": [0, 255, 0],\r\n\t\"limegreen\": [50, 205, 50],\r\n\t\"linen\": [250, 240, 230],\r\n\t\"magenta\": [255, 0, 255],\r\n\t\"maroon\": [128, 0, 0],\r\n\t\"mediumaquamarine\": [102, 205, 170],\r\n\t\"mediumblue\": [0, 0, 205],\r\n\t\"mediumorchid\": [186, 85, 211],\r\n\t\"mediumpurple\": [147, 112, 219],\r\n\t\"mediumseagreen\": [60, 179, 113],\r\n\t\"mediumslateblue\": [123, 104, 238],\r\n\t\"mediumspringgreen\": [0, 250, 154],\r\n\t\"mediumturquoise\": [72, 209, 204],\r\n\t\"mediumvioletred\": [199, 21, 133],\r\n\t\"midnightblue\": [25, 25, 112],\r\n\t\"mintcream\": [245, 255, 250],\r\n\t\"mistyrose\": [255, 228, 225],\r\n\t\"moccasin\": [255, 228, 181],\r\n\t\"navajowhite\": [255, 222, 173],\r\n\t\"navy\": [0, 0, 128],\r\n\t\"oldlace\": [253, 245, 230],\r\n\t\"olive\": [128, 128, 0],\r\n\t\"olivedrab\": [107, 142, 35],\r\n\t\"orange\": [255, 165, 0],\r\n\t\"orangered\": [255, 69, 0],\r\n\t\"orchid\": [218, 112, 214],\r\n\t\"palegoldenrod\": [238, 232, 170],\r\n\t\"palegreen\": [152, 251, 152],\r\n\t\"paleturquoise\": [175, 238, 238],\r\n\t\"palevioletred\": [219, 112, 147],\r\n\t\"papayawhip\": [255, 239, 213],\r\n\t\"peachpuff\": [255, 218, 185],\r\n\t\"peru\": [205, 133, 63],\r\n\t\"pink\": [255, 192, 203],\r\n\t\"plum\": [221, 160, 221],\r\n\t\"powderblue\": [176, 224, 230],\r\n\t\"purple\": [128, 0, 128],\r\n\t\"rebeccapurple\": [102, 51, 153],\r\n\t\"red\": [255, 0, 0],\r\n\t\"rosybrown\": [188, 143, 143],\r\n\t\"royalblue\": [65, 105, 225],\r\n\t\"saddlebrown\": [139, 69, 19],\r\n\t\"salmon\": [250, 128, 114],\r\n\t\"sandybrown\": [244, 164, 96],\r\n\t\"seagreen\": [46, 139, 87],\r\n\t\"seashell\": [255, 245, 238],\r\n\t\"sienna\": [160, 82, 45],\r\n\t\"silver\": [192, 192, 192],\r\n\t\"skyblue\": [135, 206, 235],\r\n\t\"slateblue\": [106, 90, 205],\r\n\t\"slategray\": [112, 128, 144],\r\n\t\"slategrey\": [112, 128, 144],\r\n\t\"snow\": [255, 250, 250],\r\n\t\"springgreen\": [0, 255, 127],\r\n\t\"steelblue\": [70, 130, 180],\r\n\t\"tan\": [210, 180, 140],\r\n\t\"teal\": [0, 128, 128],\r\n\t\"thistle\": [216, 191, 216],\r\n\t\"tomato\": [255, 99, 71],\r\n\t\"turquoise\": [64, 224, 208],\r\n\t\"violet\": [238, 130, 238],\r\n\t\"wheat\": [245, 222, 179],\r\n\t\"white\": [255, 255, 255],\r\n\t\"whitesmoke\": [245, 245, 245],\r\n\t\"yellow\": [255, 255, 0],\r\n\t\"yellowgreen\": [154, 205, 50]\r\n};\r\n\n\n//# sourceURL=webpack://dcp/./node_modules/color-name/index.js?"); + +/***/ }), + +/***/ "./node_modules/create-ecdh/browser.js": +/*!*********************************************!*\ + !*** ./node_modules/create-ecdh/browser.js ***! + \*********************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +eval("/* provided dependency */ var Buffer = __webpack_require__(/*! ./node_modules/node-polyfill-webpack-plugin/node_modules/buffer/index.js */ \"./node_modules/node-polyfill-webpack-plugin/node_modules/buffer/index.js\")[\"Buffer\"];\nvar elliptic = __webpack_require__(/*! elliptic */ \"./node_modules/elliptic/lib/elliptic.js\")\nvar BN = __webpack_require__(/*! bn.js */ \"./node_modules/bn.js/lib/bn.js\")\n\nmodule.exports = function createECDH (curve) {\n return new ECDH(curve)\n}\n\nvar aliases = {\n secp256k1: {\n name: 'secp256k1',\n byteLength: 32\n },\n secp224r1: {\n name: 'p224',\n byteLength: 28\n },\n prime256v1: {\n name: 'p256',\n byteLength: 32\n },\n prime192v1: {\n name: 'p192',\n byteLength: 24\n },\n ed25519: {\n name: 'ed25519',\n byteLength: 32\n },\n secp384r1: {\n name: 'p384',\n byteLength: 48\n },\n secp521r1: {\n name: 'p521',\n byteLength: 66\n }\n}\n\naliases.p224 = aliases.secp224r1\naliases.p256 = aliases.secp256r1 = aliases.prime256v1\naliases.p192 = aliases.secp192r1 = aliases.prime192v1\naliases.p384 = aliases.secp384r1\naliases.p521 = aliases.secp521r1\n\nfunction ECDH (curve) {\n this.curveType = aliases[curve]\n if (!this.curveType) {\n this.curveType = {\n name: curve\n }\n }\n this.curve = new elliptic.ec(this.curveType.name) // eslint-disable-line new-cap\n this.keys = void 0\n}\n\nECDH.prototype.generateKeys = function (enc, format) {\n this.keys = this.curve.genKeyPair()\n return this.getPublicKey(enc, format)\n}\n\nECDH.prototype.computeSecret = function (other, inenc, enc) {\n inenc = inenc || 'utf8'\n if (!Buffer.isBuffer(other)) {\n other = new Buffer(other, inenc)\n }\n var otherPub = this.curve.keyFromPublic(other).getPublic()\n var out = otherPub.mul(this.keys.getPrivate()).getX()\n return formatReturnValue(out, enc, this.curveType.byteLength)\n}\n\nECDH.prototype.getPublicKey = function (enc, format) {\n var key = this.keys.getPublic(format === 'compressed', true)\n if (format === 'hybrid') {\n if (key[key.length - 1] % 2) {\n key[0] = 7\n } else {\n key[0] = 6\n }\n }\n return formatReturnValue(key, enc)\n}\n\nECDH.prototype.getPrivateKey = function (enc) {\n return formatReturnValue(this.keys.getPrivate(), enc)\n}\n\nECDH.prototype.setPublicKey = function (pub, enc) {\n enc = enc || 'utf8'\n if (!Buffer.isBuffer(pub)) {\n pub = new Buffer(pub, enc)\n }\n this.keys._importPublic(pub)\n return this\n}\n\nECDH.prototype.setPrivateKey = function (priv, enc) {\n enc = enc || 'utf8'\n if (!Buffer.isBuffer(priv)) {\n priv = new Buffer(priv, enc)\n }\n\n var _priv = new BN(priv)\n _priv = _priv.toString(16)\n this.keys = this.curve.genKeyPair()\n this.keys._importPrivate(_priv)\n return this\n}\n\nfunction formatReturnValue (bn, enc, len) {\n if (!Array.isArray(bn)) {\n bn = bn.toArray()\n }\n var buf = new Buffer(bn)\n if (len && buf.length < len) {\n var zeros = new Buffer(len - buf.length)\n zeros.fill(0)\n buf = Buffer.concat([zeros, buf])\n }\n if (!enc) {\n return buf\n } else {\n return buf.toString(enc)\n }\n}\n\n\n//# sourceURL=webpack://dcp/./node_modules/create-ecdh/browser.js?"); + +/***/ }), + +/***/ "./node_modules/create-hash/browser.js": +/*!*********************************************!*\ + !*** ./node_modules/create-hash/browser.js ***! + \*********************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\nvar inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\")\nvar MD5 = __webpack_require__(/*! md5.js */ \"./node_modules/md5.js/index.js\")\nvar RIPEMD160 = __webpack_require__(/*! ripemd160 */ \"./node_modules/ripemd160/index.js\")\nvar sha = __webpack_require__(/*! sha.js */ \"./node_modules/sha.js/index.js\")\nvar Base = __webpack_require__(/*! cipher-base */ \"./node_modules/cipher-base/index.js\")\n\nfunction Hash (hash) {\n Base.call(this, 'digest')\n\n this._hash = hash\n}\n\ninherits(Hash, Base)\n\nHash.prototype._update = function (data) {\n this._hash.update(data)\n}\n\nHash.prototype._final = function () {\n return this._hash.digest()\n}\n\nmodule.exports = function createHash (alg) {\n alg = alg.toLowerCase()\n if (alg === 'md5') return new MD5()\n if (alg === 'rmd160' || alg === 'ripemd160') return new RIPEMD160()\n\n return new Hash(sha(alg))\n}\n\n\n//# sourceURL=webpack://dcp/./node_modules/create-hash/browser.js?"); + +/***/ }), + +/***/ "./node_modules/create-hash/md5.js": +/*!*****************************************!*\ + !*** ./node_modules/create-hash/md5.js ***! + \*****************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +eval("var MD5 = __webpack_require__(/*! md5.js */ \"./node_modules/md5.js/index.js\")\n\nmodule.exports = function (buffer) {\n return new MD5().update(buffer).digest()\n}\n\n\n//# sourceURL=webpack://dcp/./node_modules/create-hash/md5.js?"); + +/***/ }), + +/***/ "./node_modules/create-hmac/browser.js": +/*!*********************************************!*\ + !*** ./node_modules/create-hmac/browser.js ***! + \*********************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\nvar inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\")\nvar Legacy = __webpack_require__(/*! ./legacy */ \"./node_modules/create-hmac/legacy.js\")\nvar Base = __webpack_require__(/*! cipher-base */ \"./node_modules/cipher-base/index.js\")\nvar Buffer = (__webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer)\nvar md5 = __webpack_require__(/*! create-hash/md5 */ \"./node_modules/create-hash/md5.js\")\nvar RIPEMD160 = __webpack_require__(/*! ripemd160 */ \"./node_modules/ripemd160/index.js\")\n\nvar sha = __webpack_require__(/*! sha.js */ \"./node_modules/sha.js/index.js\")\n\nvar ZEROS = Buffer.alloc(128)\n\nfunction Hmac (alg, key) {\n Base.call(this, 'digest')\n if (typeof key === 'string') {\n key = Buffer.from(key)\n }\n\n var blocksize = (alg === 'sha512' || alg === 'sha384') ? 128 : 64\n\n this._alg = alg\n this._key = key\n if (key.length > blocksize) {\n var hash = alg === 'rmd160' ? new RIPEMD160() : sha(alg)\n key = hash.update(key).digest()\n } else if (key.length < blocksize) {\n key = Buffer.concat([key, ZEROS], blocksize)\n }\n\n var ipad = this._ipad = Buffer.allocUnsafe(blocksize)\n var opad = this._opad = Buffer.allocUnsafe(blocksize)\n\n for (var i = 0; i < blocksize; i++) {\n ipad[i] = key[i] ^ 0x36\n opad[i] = key[i] ^ 0x5C\n }\n this._hash = alg === 'rmd160' ? new RIPEMD160() : sha(alg)\n this._hash.update(ipad)\n}\n\ninherits(Hmac, Base)\n\nHmac.prototype._update = function (data) {\n this._hash.update(data)\n}\n\nHmac.prototype._final = function () {\n var h = this._hash.digest()\n var hash = this._alg === 'rmd160' ? new RIPEMD160() : sha(this._alg)\n return hash.update(this._opad).update(h).digest()\n}\n\nmodule.exports = function createHmac (alg, key) {\n alg = alg.toLowerCase()\n if (alg === 'rmd160' || alg === 'ripemd160') {\n return new Hmac('rmd160', key)\n }\n if (alg === 'md5') {\n return new Legacy(md5, key)\n }\n return new Hmac(alg, key)\n}\n\n\n//# sourceURL=webpack://dcp/./node_modules/create-hmac/browser.js?"); + +/***/ }), + +/***/ "./node_modules/create-hmac/legacy.js": +/*!********************************************!*\ + !*** ./node_modules/create-hmac/legacy.js ***! + \********************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\nvar inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\")\nvar Buffer = (__webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer)\n\nvar Base = __webpack_require__(/*! cipher-base */ \"./node_modules/cipher-base/index.js\")\n\nvar ZEROS = Buffer.alloc(128)\nvar blocksize = 64\n\nfunction Hmac (alg, key) {\n Base.call(this, 'digest')\n if (typeof key === 'string') {\n key = Buffer.from(key)\n }\n\n this._alg = alg\n this._key = key\n\n if (key.length > blocksize) {\n key = alg(key)\n } else if (key.length < blocksize) {\n key = Buffer.concat([key, ZEROS], blocksize)\n }\n\n var ipad = this._ipad = Buffer.allocUnsafe(blocksize)\n var opad = this._opad = Buffer.allocUnsafe(blocksize)\n\n for (var i = 0; i < blocksize; i++) {\n ipad[i] = key[i] ^ 0x36\n opad[i] = key[i] ^ 0x5C\n }\n\n this._hash = [ipad]\n}\n\ninherits(Hmac, Base)\n\nHmac.prototype._update = function (data) {\n this._hash.push(data)\n}\n\nHmac.prototype._final = function () {\n var h = this._alg(Buffer.concat(this._hash))\n return this._alg(Buffer.concat([this._opad, h]))\n}\nmodule.exports = Hmac\n\n\n//# sourceURL=webpack://dcp/./node_modules/create-hmac/legacy.js?"); + +/***/ }), + +/***/ "./node_modules/crypto-browserify/index.js": +/*!*************************************************!*\ + !*** ./node_modules/crypto-browserify/index.js ***! + \*************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nexports.randomBytes = exports.rng = exports.pseudoRandomBytes = exports.prng = __webpack_require__(/*! randombytes */ \"./node_modules/randombytes/browser.js\")\nexports.createHash = exports.Hash = __webpack_require__(/*! create-hash */ \"./node_modules/create-hash/browser.js\")\nexports.createHmac = exports.Hmac = __webpack_require__(/*! create-hmac */ \"./node_modules/create-hmac/browser.js\")\n\nvar algos = __webpack_require__(/*! browserify-sign/algos */ \"./node_modules/browserify-sign/algos.js\")\nvar algoKeys = Object.keys(algos)\nvar hashes = ['sha1', 'sha224', 'sha256', 'sha384', 'sha512', 'md5', 'rmd160'].concat(algoKeys)\nexports.getHashes = function () {\n return hashes\n}\n\nvar p = __webpack_require__(/*! pbkdf2 */ \"./node_modules/pbkdf2/browser.js\")\nexports.pbkdf2 = p.pbkdf2\nexports.pbkdf2Sync = p.pbkdf2Sync\n\nvar aes = __webpack_require__(/*! browserify-cipher */ \"./node_modules/browserify-cipher/browser.js\")\n\nexports.Cipher = aes.Cipher\nexports.createCipher = aes.createCipher\nexports.Cipheriv = aes.Cipheriv\nexports.createCipheriv = aes.createCipheriv\nexports.Decipher = aes.Decipher\nexports.createDecipher = aes.createDecipher\nexports.Decipheriv = aes.Decipheriv\nexports.createDecipheriv = aes.createDecipheriv\nexports.getCiphers = aes.getCiphers\nexports.listCiphers = aes.listCiphers\n\nvar dh = __webpack_require__(/*! diffie-hellman */ \"./node_modules/diffie-hellman/browser.js\")\n\nexports.DiffieHellmanGroup = dh.DiffieHellmanGroup\nexports.createDiffieHellmanGroup = dh.createDiffieHellmanGroup\nexports.getDiffieHellman = dh.getDiffieHellman\nexports.createDiffieHellman = dh.createDiffieHellman\nexports.DiffieHellman = dh.DiffieHellman\n\nvar sign = __webpack_require__(/*! browserify-sign */ \"./node_modules/browserify-sign/browser/index.js\")\n\nexports.createSign = sign.createSign\nexports.Sign = sign.Sign\nexports.createVerify = sign.createVerify\nexports.Verify = sign.Verify\n\nexports.createECDH = __webpack_require__(/*! create-ecdh */ \"./node_modules/create-ecdh/browser.js\")\n\nvar publicEncrypt = __webpack_require__(/*! public-encrypt */ \"./node_modules/public-encrypt/browser.js\")\n\nexports.publicEncrypt = publicEncrypt.publicEncrypt\nexports.privateEncrypt = publicEncrypt.privateEncrypt\nexports.publicDecrypt = publicEncrypt.publicDecrypt\nexports.privateDecrypt = publicEncrypt.privateDecrypt\n\n// the least I can do is make error messages for the rest of the node.js/crypto api.\n// ;[\n// 'createCredentials'\n// ].forEach(function (name) {\n// exports[name] = function () {\n// throw new Error([\n// 'sorry, ' + name + ' is not implemented yet',\n// 'we accept pull requests',\n// 'https://github.com/crypto-browserify/crypto-browserify'\n// ].join('\\n'))\n// }\n// })\n\nvar rf = __webpack_require__(/*! randomfill */ \"./node_modules/randomfill/browser.js\")\n\nexports.randomFill = rf.randomFill\nexports.randomFillSync = rf.randomFillSync\n\nexports.createCredentials = function () {\n throw new Error([\n 'sorry, createCredentials is not implemented yet',\n 'we accept pull requests',\n 'https://github.com/crypto-browserify/crypto-browserify'\n ].join('\\n'))\n}\n\nexports.constants = {\n 'DH_CHECK_P_NOT_SAFE_PRIME': 2,\n 'DH_CHECK_P_NOT_PRIME': 1,\n 'DH_UNABLE_TO_CHECK_GENERATOR': 4,\n 'DH_NOT_SUITABLE_GENERATOR': 8,\n 'NPN_ENABLED': 1,\n 'ALPN_ENABLED': 1,\n 'RSA_PKCS1_PADDING': 1,\n 'RSA_SSLV23_PADDING': 2,\n 'RSA_NO_PADDING': 3,\n 'RSA_PKCS1_OAEP_PADDING': 4,\n 'RSA_X931_PADDING': 5,\n 'RSA_PKCS1_PSS_PADDING': 6,\n 'POINT_CONVERSION_COMPRESSED': 2,\n 'POINT_CONVERSION_UNCOMPRESSED': 4,\n 'POINT_CONVERSION_HYBRID': 6\n}\n\n\n//# sourceURL=webpack://dcp/./node_modules/crypto-browserify/index.js?"); + +/***/ }), + +/***/ "./node_modules/debug/src/browser.js": +/*!*******************************************!*\ + !*** ./node_modules/debug/src/browser.js ***! + \*******************************************/ +/***/ ((module, exports, __webpack_require__) => { + +eval("/* provided dependency */ var process = __webpack_require__(/*! ./node_modules/process/browser.js */ \"./node_modules/process/browser.js\");\n/* eslint-env browser */\n\n/**\n * This is the web browser implementation of `debug()`.\n */\n\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.storage = localstorage();\nexports.destroy = (() => {\n\tlet warned = false;\n\n\treturn () => {\n\t\tif (!warned) {\n\t\t\twarned = true;\n\t\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t\t}\n\t};\n})();\n\n/**\n * Colors.\n */\n\nexports.colors = [\n\t'#0000CC',\n\t'#0000FF',\n\t'#0033CC',\n\t'#0033FF',\n\t'#0066CC',\n\t'#0066FF',\n\t'#0099CC',\n\t'#0099FF',\n\t'#00CC00',\n\t'#00CC33',\n\t'#00CC66',\n\t'#00CC99',\n\t'#00CCCC',\n\t'#00CCFF',\n\t'#3300CC',\n\t'#3300FF',\n\t'#3333CC',\n\t'#3333FF',\n\t'#3366CC',\n\t'#3366FF',\n\t'#3399CC',\n\t'#3399FF',\n\t'#33CC00',\n\t'#33CC33',\n\t'#33CC66',\n\t'#33CC99',\n\t'#33CCCC',\n\t'#33CCFF',\n\t'#6600CC',\n\t'#6600FF',\n\t'#6633CC',\n\t'#6633FF',\n\t'#66CC00',\n\t'#66CC33',\n\t'#9900CC',\n\t'#9900FF',\n\t'#9933CC',\n\t'#9933FF',\n\t'#99CC00',\n\t'#99CC33',\n\t'#CC0000',\n\t'#CC0033',\n\t'#CC0066',\n\t'#CC0099',\n\t'#CC00CC',\n\t'#CC00FF',\n\t'#CC3300',\n\t'#CC3333',\n\t'#CC3366',\n\t'#CC3399',\n\t'#CC33CC',\n\t'#CC33FF',\n\t'#CC6600',\n\t'#CC6633',\n\t'#CC9900',\n\t'#CC9933',\n\t'#CCCC00',\n\t'#CCCC33',\n\t'#FF0000',\n\t'#FF0033',\n\t'#FF0066',\n\t'#FF0099',\n\t'#FF00CC',\n\t'#FF00FF',\n\t'#FF3300',\n\t'#FF3333',\n\t'#FF3366',\n\t'#FF3399',\n\t'#FF33CC',\n\t'#FF33FF',\n\t'#FF6600',\n\t'#FF6633',\n\t'#FF9900',\n\t'#FF9933',\n\t'#FFCC00',\n\t'#FFCC33'\n];\n\n/**\n * Currently only WebKit-based Web Inspectors, Firefox >= v31,\n * and the Firebug extension (any Firefox version) are known\n * to support \"%c\" CSS customizations.\n *\n * TODO: add a `localStorage` variable to explicitly enable/disable colors\n */\n\n// eslint-disable-next-line complexity\nfunction useColors() {\n\t// NB: In an Electron preload script, document will be defined but not fully\n\t// initialized. Since we know we're in Chrome, we'll just detect this case\n\t// explicitly\n\tif (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) {\n\t\treturn true;\n\t}\n\n\t// Internet Explorer and Edge do not support colors.\n\tif (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/)) {\n\t\treturn false;\n\t}\n\n\t// Is webkit? http://stackoverflow.com/a/16459606/376773\n\t// document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n\treturn (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||\n\t\t// Is firebug? http://stackoverflow.com/a/398120/376773\n\t\t(typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||\n\t\t// Is firefox >= v31?\n\t\t// https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/) && parseInt(RegExp.$1, 10) >= 31) ||\n\t\t// Double check webkit in userAgent just in case we are in a worker\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/));\n}\n\n/**\n * Colorize log arguments if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n\targs[0] = (this.useColors ? '%c' : '') +\n\t\tthis.namespace +\n\t\t(this.useColors ? ' %c' : ' ') +\n\t\targs[0] +\n\t\t(this.useColors ? '%c ' : ' ') +\n\t\t'+' + module.exports.humanize(this.diff);\n\n\tif (!this.useColors) {\n\t\treturn;\n\t}\n\n\tconst c = 'color: ' + this.color;\n\targs.splice(1, 0, c, 'color: inherit');\n\n\t// The final \"%c\" is somewhat tricky, because there could be other\n\t// arguments passed either before or after the %c, so we need to\n\t// figure out the correct index to insert the CSS into\n\tlet index = 0;\n\tlet lastC = 0;\n\targs[0].replace(/%[a-zA-Z%]/g, match => {\n\t\tif (match === '%%') {\n\t\t\treturn;\n\t\t}\n\t\tindex++;\n\t\tif (match === '%c') {\n\t\t\t// We only are interested in the *last* %c\n\t\t\t// (the user may have provided their own)\n\t\t\tlastC = index;\n\t\t}\n\t});\n\n\targs.splice(lastC, 0, c);\n}\n\n/**\n * Invokes `console.debug()` when available.\n * No-op when `console.debug` is not a \"function\".\n * If `console.debug` is not available, falls back\n * to `console.log`.\n *\n * @api public\n */\nexports.log = console.debug || console.log || (() => {});\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\nfunction save(namespaces) {\n\ttry {\n\t\tif (namespaces) {\n\t\t\texports.storage.setItem('debug', namespaces);\n\t\t} else {\n\t\t\texports.storage.removeItem('debug');\n\t\t}\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\nfunction load() {\n\tlet r;\n\ttry {\n\t\tr = exports.storage.getItem('debug');\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n\n\t// If debug isn't set in LS, and we're in Electron, try to load $DEBUG\n\tif (!r && typeof process !== 'undefined' && 'env' in process) {\n\t\tr = process.env.DEBUG;\n\t}\n\n\treturn r;\n}\n\n/**\n * Localstorage attempts to return the localstorage.\n *\n * This is necessary because safari throws\n * when a user disables cookies/localstorage\n * and you attempt to access it.\n *\n * @return {LocalStorage}\n * @api private\n */\n\nfunction localstorage() {\n\ttry {\n\t\t// TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context\n\t\t// The Browser also has localStorage in the global context.\n\t\treturn localStorage;\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\nmodule.exports = __webpack_require__(/*! ./common */ \"./node_modules/debug/src/common.js\")(exports);\n\nconst {formatters} = module.exports;\n\n/**\n * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.\n */\n\nformatters.j = function (v) {\n\ttry {\n\t\treturn JSON.stringify(v);\n\t} catch (error) {\n\t\treturn '[UnexpectedJSONParseError]: ' + error.message;\n\t}\n};\n\n\n//# sourceURL=webpack://dcp/./node_modules/debug/src/browser.js?"); + +/***/ }), + +/***/ "./node_modules/debug/src/common.js": +/*!******************************************!*\ + !*** ./node_modules/debug/src/common.js ***! + \******************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +eval("\n/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n */\n\nfunction setup(env) {\n\tcreateDebug.debug = createDebug;\n\tcreateDebug.default = createDebug;\n\tcreateDebug.coerce = coerce;\n\tcreateDebug.disable = disable;\n\tcreateDebug.enable = enable;\n\tcreateDebug.enabled = enabled;\n\tcreateDebug.humanize = __webpack_require__(/*! ms */ \"./node_modules/ms/index.js\");\n\tcreateDebug.destroy = destroy;\n\n\tObject.keys(env).forEach(key => {\n\t\tcreateDebug[key] = env[key];\n\t});\n\n\t/**\n\t* The currently active debug mode names, and names to skip.\n\t*/\n\n\tcreateDebug.names = [];\n\tcreateDebug.skips = [];\n\n\t/**\n\t* Map of special \"%n\" handling functions, for the debug \"format\" argument.\n\t*\n\t* Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n\t*/\n\tcreateDebug.formatters = {};\n\n\t/**\n\t* Selects a color for a debug namespace\n\t* @param {String} namespace The namespace string for the debug instance to be colored\n\t* @return {Number|String} An ANSI color code for the given namespace\n\t* @api private\n\t*/\n\tfunction selectColor(namespace) {\n\t\tlet hash = 0;\n\n\t\tfor (let i = 0; i < namespace.length; i++) {\n\t\t\thash = ((hash << 5) - hash) + namespace.charCodeAt(i);\n\t\t\thash |= 0; // Convert to 32bit integer\n\t\t}\n\n\t\treturn createDebug.colors[Math.abs(hash) % createDebug.colors.length];\n\t}\n\tcreateDebug.selectColor = selectColor;\n\n\t/**\n\t* Create a debugger with the given `namespace`.\n\t*\n\t* @param {String} namespace\n\t* @return {Function}\n\t* @api public\n\t*/\n\tfunction createDebug(namespace) {\n\t\tlet prevTime;\n\t\tlet enableOverride = null;\n\t\tlet namespacesCache;\n\t\tlet enabledCache;\n\n\t\tfunction debug(...args) {\n\t\t\t// Disabled?\n\t\t\tif (!debug.enabled) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst self = debug;\n\n\t\t\t// Set `diff` timestamp\n\t\t\tconst curr = Number(new Date());\n\t\t\tconst ms = curr - (prevTime || curr);\n\t\t\tself.diff = ms;\n\t\t\tself.prev = prevTime;\n\t\t\tself.curr = curr;\n\t\t\tprevTime = curr;\n\n\t\t\targs[0] = createDebug.coerce(args[0]);\n\n\t\t\tif (typeof args[0] !== 'string') {\n\t\t\t\t// Anything else let's inspect with %O\n\t\t\t\targs.unshift('%O');\n\t\t\t}\n\n\t\t\t// Apply any `formatters` transformations\n\t\t\tlet index = 0;\n\t\t\targs[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {\n\t\t\t\t// If we encounter an escaped % then don't increase the array index\n\t\t\t\tif (match === '%%') {\n\t\t\t\t\treturn '%';\n\t\t\t\t}\n\t\t\t\tindex++;\n\t\t\t\tconst formatter = createDebug.formatters[format];\n\t\t\t\tif (typeof formatter === 'function') {\n\t\t\t\t\tconst val = args[index];\n\t\t\t\t\tmatch = formatter.call(self, val);\n\n\t\t\t\t\t// Now we need to remove `args[index]` since it's inlined in the `format`\n\t\t\t\t\targs.splice(index, 1);\n\t\t\t\t\tindex--;\n\t\t\t\t}\n\t\t\t\treturn match;\n\t\t\t});\n\n\t\t\t// Apply env-specific formatting (colors, etc.)\n\t\t\tcreateDebug.formatArgs.call(self, args);\n\n\t\t\tconst logFn = self.log || createDebug.log;\n\t\t\tlogFn.apply(self, args);\n\t\t}\n\n\t\tdebug.namespace = namespace;\n\t\tdebug.useColors = createDebug.useColors();\n\t\tdebug.color = createDebug.selectColor(namespace);\n\t\tdebug.extend = extend;\n\t\tdebug.destroy = createDebug.destroy; // XXX Temporary. Will be removed in the next major release.\n\n\t\tObject.defineProperty(debug, 'enabled', {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: false,\n\t\t\tget: () => {\n\t\t\t\tif (enableOverride !== null) {\n\t\t\t\t\treturn enableOverride;\n\t\t\t\t}\n\t\t\t\tif (namespacesCache !== createDebug.namespaces) {\n\t\t\t\t\tnamespacesCache = createDebug.namespaces;\n\t\t\t\t\tenabledCache = createDebug.enabled(namespace);\n\t\t\t\t}\n\n\t\t\t\treturn enabledCache;\n\t\t\t},\n\t\t\tset: v => {\n\t\t\t\tenableOverride = v;\n\t\t\t}\n\t\t});\n\n\t\t// Env-specific initialization logic for debug instances\n\t\tif (typeof createDebug.init === 'function') {\n\t\t\tcreateDebug.init(debug);\n\t\t}\n\n\t\treturn debug;\n\t}\n\n\tfunction extend(namespace, delimiter) {\n\t\tconst newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace);\n\t\tnewDebug.log = this.log;\n\t\treturn newDebug;\n\t}\n\n\t/**\n\t* Enables a debug mode by namespaces. This can include modes\n\t* separated by a colon and wildcards.\n\t*\n\t* @param {String} namespaces\n\t* @api public\n\t*/\n\tfunction enable(namespaces) {\n\t\tcreateDebug.save(namespaces);\n\t\tcreateDebug.namespaces = namespaces;\n\n\t\tcreateDebug.names = [];\n\t\tcreateDebug.skips = [];\n\n\t\tlet i;\n\t\tconst split = (typeof namespaces === 'string' ? namespaces : '').split(/[\\s,]+/);\n\t\tconst len = split.length;\n\n\t\tfor (i = 0; i < len; i++) {\n\t\t\tif (!split[i]) {\n\t\t\t\t// ignore empty strings\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tnamespaces = split[i].replace(/\\*/g, '.*?');\n\n\t\t\tif (namespaces[0] === '-') {\n\t\t\t\tcreateDebug.skips.push(new RegExp('^' + namespaces.slice(1) + '$'));\n\t\t\t} else {\n\t\t\t\tcreateDebug.names.push(new RegExp('^' + namespaces + '$'));\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t* Disable debug output.\n\t*\n\t* @return {String} namespaces\n\t* @api public\n\t*/\n\tfunction disable() {\n\t\tconst namespaces = [\n\t\t\t...createDebug.names.map(toNamespace),\n\t\t\t...createDebug.skips.map(toNamespace).map(namespace => '-' + namespace)\n\t\t].join(',');\n\t\tcreateDebug.enable('');\n\t\treturn namespaces;\n\t}\n\n\t/**\n\t* Returns true if the given mode name is enabled, false otherwise.\n\t*\n\t* @param {String} name\n\t* @return {Boolean}\n\t* @api public\n\t*/\n\tfunction enabled(name) {\n\t\tif (name[name.length - 1] === '*') {\n\t\t\treturn true;\n\t\t}\n\n\t\tlet i;\n\t\tlet len;\n\n\t\tfor (i = 0, len = createDebug.skips.length; i < len; i++) {\n\t\t\tif (createDebug.skips[i].test(name)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tfor (i = 0, len = createDebug.names.length; i < len; i++) {\n\t\t\tif (createDebug.names[i].test(name)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t* Convert regexp to namespace\n\t*\n\t* @param {RegExp} regxep\n\t* @return {String} namespace\n\t* @api private\n\t*/\n\tfunction toNamespace(regexp) {\n\t\treturn regexp.toString()\n\t\t\t.substring(2, regexp.toString().length - 2)\n\t\t\t.replace(/\\.\\*\\?$/, '*');\n\t}\n\n\t/**\n\t* Coerce `val`.\n\t*\n\t* @param {Mixed} val\n\t* @return {Mixed}\n\t* @api private\n\t*/\n\tfunction coerce(val) {\n\t\tif (val instanceof Error) {\n\t\t\treturn val.stack || val.message;\n\t\t}\n\t\treturn val;\n\t}\n\n\t/**\n\t* XXX DO NOT USE. This is a temporary stub function.\n\t* XXX It WILL be removed in the next major release.\n\t*/\n\tfunction destroy() {\n\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t}\n\n\tcreateDebug.enable(createDebug.load());\n\n\treturn createDebug;\n}\n\nmodule.exports = setup;\n\n\n//# sourceURL=webpack://dcp/./node_modules/debug/src/common.js?"); + +/***/ }), + +/***/ "./node_modules/deepmerge/dist/cjs.js": +/*!********************************************!*\ + !*** ./node_modules/deepmerge/dist/cjs.js ***! + \********************************************/ +/***/ ((module) => { + +"use strict"; +eval("\n\nvar isMergeableObject = function isMergeableObject(value) {\n\treturn isNonNullObject(value)\n\t\t&& !isSpecial(value)\n};\n\nfunction isNonNullObject(value) {\n\treturn !!value && typeof value === 'object'\n}\n\nfunction isSpecial(value) {\n\tvar stringValue = Object.prototype.toString.call(value);\n\n\treturn stringValue === '[object RegExp]'\n\t\t|| stringValue === '[object Date]'\n\t\t|| isReactElement(value)\n}\n\n// see https://github.com/facebook/react/blob/b5ac963fb791d1298e7f396236383bc955f916c1/src/isomorphic/classic/element/ReactElement.js#L21-L25\nvar canUseSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for('react.element') : 0xeac7;\n\nfunction isReactElement(value) {\n\treturn value.$$typeof === REACT_ELEMENT_TYPE\n}\n\nfunction emptyTarget(val) {\n\treturn Array.isArray(val) ? [] : {}\n}\n\nfunction cloneUnlessOtherwiseSpecified(value, options) {\n\treturn (options.clone !== false && options.isMergeableObject(value))\n\t\t? deepmerge(emptyTarget(value), value, options)\n\t\t: value\n}\n\nfunction defaultArrayMerge(target, source, options) {\n\treturn target.concat(source).map(function(element) {\n\t\treturn cloneUnlessOtherwiseSpecified(element, options)\n\t})\n}\n\nfunction getMergeFunction(key, options) {\n\tif (!options.customMerge) {\n\t\treturn deepmerge\n\t}\n\tvar customMerge = options.customMerge(key);\n\treturn typeof customMerge === 'function' ? customMerge : deepmerge\n}\n\nfunction getEnumerableOwnPropertySymbols(target) {\n\treturn Object.getOwnPropertySymbols\n\t\t? Object.getOwnPropertySymbols(target).filter(function(symbol) {\n\t\t\treturn Object.propertyIsEnumerable.call(target, symbol)\n\t\t})\n\t\t: []\n}\n\nfunction getKeys(target) {\n\treturn Object.keys(target).concat(getEnumerableOwnPropertySymbols(target))\n}\n\nfunction propertyIsOnObject(object, property) {\n\ttry {\n\t\treturn property in object\n\t} catch(_) {\n\t\treturn false\n\t}\n}\n\n// Protects from prototype poisoning and unexpected merging up the prototype chain.\nfunction propertyIsUnsafe(target, key) {\n\treturn propertyIsOnObject(target, key) // Properties are safe to merge if they don't exist in the target yet,\n\t\t&& !(Object.hasOwnProperty.call(target, key) // unsafe if they exist up the prototype chain,\n\t\t\t&& Object.propertyIsEnumerable.call(target, key)) // and also unsafe if they're nonenumerable.\n}\n\nfunction mergeObject(target, source, options) {\n\tvar destination = {};\n\tif (options.isMergeableObject(target)) {\n\t\tgetKeys(target).forEach(function(key) {\n\t\t\tdestination[key] = cloneUnlessOtherwiseSpecified(target[key], options);\n\t\t});\n\t}\n\tgetKeys(source).forEach(function(key) {\n\t\tif (propertyIsUnsafe(target, key)) {\n\t\t\treturn\n\t\t}\n\n\t\tif (propertyIsOnObject(target, key) && options.isMergeableObject(source[key])) {\n\t\t\tdestination[key] = getMergeFunction(key, options)(target[key], source[key], options);\n\t\t} else {\n\t\t\tdestination[key] = cloneUnlessOtherwiseSpecified(source[key], options);\n\t\t}\n\t});\n\treturn destination\n}\n\nfunction deepmerge(target, source, options) {\n\toptions = options || {};\n\toptions.arrayMerge = options.arrayMerge || defaultArrayMerge;\n\toptions.isMergeableObject = options.isMergeableObject || isMergeableObject;\n\t// cloneUnlessOtherwiseSpecified is added to `options` so that custom arrayMerge()\n\t// implementations can use it. The caller may not replace it.\n\toptions.cloneUnlessOtherwiseSpecified = cloneUnlessOtherwiseSpecified;\n\n\tvar sourceIsArray = Array.isArray(source);\n\tvar targetIsArray = Array.isArray(target);\n\tvar sourceAndTargetTypesMatch = sourceIsArray === targetIsArray;\n\n\tif (!sourceAndTargetTypesMatch) {\n\t\treturn cloneUnlessOtherwiseSpecified(source, options)\n\t} else if (sourceIsArray) {\n\t\treturn options.arrayMerge(target, source, options)\n\t} else {\n\t\treturn mergeObject(target, source, options)\n\t}\n}\n\ndeepmerge.all = function deepmergeAll(array, options) {\n\tif (!Array.isArray(array)) {\n\t\tthrow new Error('first argument should be an array')\n\t}\n\n\treturn array.reduce(function(prev, next) {\n\t\treturn deepmerge(prev, next, options)\n\t}, {})\n};\n\nvar deepmerge_1 = deepmerge;\n\nmodule.exports = deepmerge_1;\n\n\n//# sourceURL=webpack://dcp/./node_modules/deepmerge/dist/cjs.js?"); + +/***/ }), + +/***/ "./node_modules/defaults/index.js": +/*!****************************************!*\ + !*** ./node_modules/defaults/index.js ***! + \****************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +eval("var clone = __webpack_require__(/*! clone */ \"./node_modules/clone/clone.js\");\n\nmodule.exports = function(options, defaults) {\n options = options || {};\n\n Object.keys(defaults).forEach(function(key) {\n if (typeof options[key] === 'undefined') {\n options[key] = clone(defaults[key]);\n }\n });\n\n return options;\n};\n\n//# sourceURL=webpack://dcp/./node_modules/defaults/index.js?"); + +/***/ }), + +/***/ "./node_modules/define-properties/index.js": +/*!*************************************************!*\ + !*** ./node_modules/define-properties/index.js ***! + \*************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar keys = __webpack_require__(/*! object-keys */ \"./node_modules/object-keys/index.js\");\nvar hasSymbols = typeof Symbol === 'function' && typeof Symbol('foo') === 'symbol';\n\nvar toStr = Object.prototype.toString;\nvar concat = Array.prototype.concat;\nvar origDefineProperty = Object.defineProperty;\n\nvar isFunction = function (fn) {\n\treturn typeof fn === 'function' && toStr.call(fn) === '[object Function]';\n};\n\nvar hasPropertyDescriptors = __webpack_require__(/*! has-property-descriptors */ \"./node_modules/has-property-descriptors/index.js\")();\n\nvar supportsDescriptors = origDefineProperty && hasPropertyDescriptors;\n\nvar defineProperty = function (object, name, value, predicate) {\n\tif (name in object) {\n\t\tif (predicate === true) {\n\t\t\tif (object[name] === value) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t} else if (!isFunction(predicate) || !predicate()) {\n\t\t\treturn;\n\t\t}\n\t}\n\tif (supportsDescriptors) {\n\t\torigDefineProperty(object, name, {\n\t\t\tconfigurable: true,\n\t\t\tenumerable: false,\n\t\t\tvalue: value,\n\t\t\twritable: true\n\t\t});\n\t} else {\n\t\tobject[name] = value; // eslint-disable-line no-param-reassign\n\t}\n};\n\nvar defineProperties = function (object, map) {\n\tvar predicates = arguments.length > 2 ? arguments[2] : {};\n\tvar props = keys(map);\n\tif (hasSymbols) {\n\t\tprops = concat.call(props, Object.getOwnPropertySymbols(map));\n\t}\n\tfor (var i = 0; i < props.length; i += 1) {\n\t\tdefineProperty(object, props[i], map[props[i]], predicates[props[i]]);\n\t}\n};\n\ndefineProperties.supportsDescriptors = !!supportsDescriptors;\n\nmodule.exports = defineProperties;\n\n\n//# sourceURL=webpack://dcp/./node_modules/define-properties/index.js?"); + +/***/ }), + +/***/ "./node_modules/des.js/lib/des.js": +/*!****************************************!*\ + !*** ./node_modules/des.js/lib/des.js ***! + \****************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nexports.utils = __webpack_require__(/*! ./des/utils */ \"./node_modules/des.js/lib/des/utils.js\");\nexports.Cipher = __webpack_require__(/*! ./des/cipher */ \"./node_modules/des.js/lib/des/cipher.js\");\nexports.DES = __webpack_require__(/*! ./des/des */ \"./node_modules/des.js/lib/des/des.js\");\nexports.CBC = __webpack_require__(/*! ./des/cbc */ \"./node_modules/des.js/lib/des/cbc.js\");\nexports.EDE = __webpack_require__(/*! ./des/ede */ \"./node_modules/des.js/lib/des/ede.js\");\n\n\n//# sourceURL=webpack://dcp/./node_modules/des.js/lib/des.js?"); + +/***/ }), + +/***/ "./node_modules/des.js/lib/des/cbc.js": +/*!********************************************!*\ + !*** ./node_modules/des.js/lib/des/cbc.js ***! + \********************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar assert = __webpack_require__(/*! minimalistic-assert */ \"./node_modules/minimalistic-assert/index.js\");\nvar inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n\nvar proto = {};\n\nfunction CBCState(iv) {\n assert.equal(iv.length, 8, 'Invalid IV length');\n\n this.iv = new Array(8);\n for (var i = 0; i < this.iv.length; i++)\n this.iv[i] = iv[i];\n}\n\nfunction instantiate(Base) {\n function CBC(options) {\n Base.call(this, options);\n this._cbcInit();\n }\n inherits(CBC, Base);\n\n var keys = Object.keys(proto);\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n CBC.prototype[key] = proto[key];\n }\n\n CBC.create = function create(options) {\n return new CBC(options);\n };\n\n return CBC;\n}\n\nexports.instantiate = instantiate;\n\nproto._cbcInit = function _cbcInit() {\n var state = new CBCState(this.options.iv);\n this._cbcState = state;\n};\n\nproto._update = function _update(inp, inOff, out, outOff) {\n var state = this._cbcState;\n var superProto = this.constructor.super_.prototype;\n\n var iv = state.iv;\n if (this.type === 'encrypt') {\n for (var i = 0; i < this.blockSize; i++)\n iv[i] ^= inp[inOff + i];\n\n superProto._update.call(this, iv, 0, out, outOff);\n\n for (var i = 0; i < this.blockSize; i++)\n iv[i] = out[outOff + i];\n } else {\n superProto._update.call(this, inp, inOff, out, outOff);\n\n for (var i = 0; i < this.blockSize; i++)\n out[outOff + i] ^= iv[i];\n\n for (var i = 0; i < this.blockSize; i++)\n iv[i] = inp[inOff + i];\n }\n};\n\n\n//# sourceURL=webpack://dcp/./node_modules/des.js/lib/des/cbc.js?"); + +/***/ }), + +/***/ "./node_modules/des.js/lib/des/cipher.js": +/*!***********************************************!*\ + !*** ./node_modules/des.js/lib/des/cipher.js ***! + \***********************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar assert = __webpack_require__(/*! minimalistic-assert */ \"./node_modules/minimalistic-assert/index.js\");\n\nfunction Cipher(options) {\n this.options = options;\n\n this.type = this.options.type;\n this.blockSize = 8;\n this._init();\n\n this.buffer = new Array(this.blockSize);\n this.bufferOff = 0;\n this.padding = options.padding !== false\n}\nmodule.exports = Cipher;\n\nCipher.prototype._init = function _init() {\n // Might be overrided\n};\n\nCipher.prototype.update = function update(data) {\n if (data.length === 0)\n return [];\n\n if (this.type === 'decrypt')\n return this._updateDecrypt(data);\n else\n return this._updateEncrypt(data);\n};\n\nCipher.prototype._buffer = function _buffer(data, off) {\n // Append data to buffer\n var min = Math.min(this.buffer.length - this.bufferOff, data.length - off);\n for (var i = 0; i < min; i++)\n this.buffer[this.bufferOff + i] = data[off + i];\n this.bufferOff += min;\n\n // Shift next\n return min;\n};\n\nCipher.prototype._flushBuffer = function _flushBuffer(out, off) {\n this._update(this.buffer, 0, out, off);\n this.bufferOff = 0;\n return this.blockSize;\n};\n\nCipher.prototype._updateEncrypt = function _updateEncrypt(data) {\n var inputOff = 0;\n var outputOff = 0;\n\n var count = ((this.bufferOff + data.length) / this.blockSize) | 0;\n var out = new Array(count * this.blockSize);\n\n if (this.bufferOff !== 0) {\n inputOff += this._buffer(data, inputOff);\n\n if (this.bufferOff === this.buffer.length)\n outputOff += this._flushBuffer(out, outputOff);\n }\n\n // Write blocks\n var max = data.length - ((data.length - inputOff) % this.blockSize);\n for (; inputOff < max; inputOff += this.blockSize) {\n this._update(data, inputOff, out, outputOff);\n outputOff += this.blockSize;\n }\n\n // Queue rest\n for (; inputOff < data.length; inputOff++, this.bufferOff++)\n this.buffer[this.bufferOff] = data[inputOff];\n\n return out;\n};\n\nCipher.prototype._updateDecrypt = function _updateDecrypt(data) {\n var inputOff = 0;\n var outputOff = 0;\n\n var count = Math.ceil((this.bufferOff + data.length) / this.blockSize) - 1;\n var out = new Array(count * this.blockSize);\n\n // TODO(indutny): optimize it, this is far from optimal\n for (; count > 0; count--) {\n inputOff += this._buffer(data, inputOff);\n outputOff += this._flushBuffer(out, outputOff);\n }\n\n // Buffer rest of the input\n inputOff += this._buffer(data, inputOff);\n\n return out;\n};\n\nCipher.prototype.final = function final(buffer) {\n var first;\n if (buffer)\n first = this.update(buffer);\n\n var last;\n if (this.type === 'encrypt')\n last = this._finalEncrypt();\n else\n last = this._finalDecrypt();\n\n if (first)\n return first.concat(last);\n else\n return last;\n};\n\nCipher.prototype._pad = function _pad(buffer, off) {\n if (off === 0)\n return false;\n\n while (off < buffer.length)\n buffer[off++] = 0;\n\n return true;\n};\n\nCipher.prototype._finalEncrypt = function _finalEncrypt() {\n if (!this._pad(this.buffer, this.bufferOff))\n return [];\n\n var out = new Array(this.blockSize);\n this._update(this.buffer, 0, out, 0);\n return out;\n};\n\nCipher.prototype._unpad = function _unpad(buffer) {\n return buffer;\n};\n\nCipher.prototype._finalDecrypt = function _finalDecrypt() {\n assert.equal(this.bufferOff, this.blockSize, 'Not enough data to decrypt');\n var out = new Array(this.blockSize);\n this._flushBuffer(out, 0);\n\n return this._unpad(out);\n};\n\n\n//# sourceURL=webpack://dcp/./node_modules/des.js/lib/des/cipher.js?"); + +/***/ }), + +/***/ "./node_modules/des.js/lib/des/des.js": +/*!********************************************!*\ + !*** ./node_modules/des.js/lib/des/des.js ***! + \********************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar assert = __webpack_require__(/*! minimalistic-assert */ \"./node_modules/minimalistic-assert/index.js\");\nvar inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n\nvar utils = __webpack_require__(/*! ./utils */ \"./node_modules/des.js/lib/des/utils.js\");\nvar Cipher = __webpack_require__(/*! ./cipher */ \"./node_modules/des.js/lib/des/cipher.js\");\n\nfunction DESState() {\n this.tmp = new Array(2);\n this.keys = null;\n}\n\nfunction DES(options) {\n Cipher.call(this, options);\n\n var state = new DESState();\n this._desState = state;\n\n this.deriveKeys(state, options.key);\n}\ninherits(DES, Cipher);\nmodule.exports = DES;\n\nDES.create = function create(options) {\n return new DES(options);\n};\n\nvar shiftTable = [\n 1, 1, 2, 2, 2, 2, 2, 2,\n 1, 2, 2, 2, 2, 2, 2, 1\n];\n\nDES.prototype.deriveKeys = function deriveKeys(state, key) {\n state.keys = new Array(16 * 2);\n\n assert.equal(key.length, this.blockSize, 'Invalid key length');\n\n var kL = utils.readUInt32BE(key, 0);\n var kR = utils.readUInt32BE(key, 4);\n\n utils.pc1(kL, kR, state.tmp, 0);\n kL = state.tmp[0];\n kR = state.tmp[1];\n for (var i = 0; i < state.keys.length; i += 2) {\n var shift = shiftTable[i >>> 1];\n kL = utils.r28shl(kL, shift);\n kR = utils.r28shl(kR, shift);\n utils.pc2(kL, kR, state.keys, i);\n }\n};\n\nDES.prototype._update = function _update(inp, inOff, out, outOff) {\n var state = this._desState;\n\n var l = utils.readUInt32BE(inp, inOff);\n var r = utils.readUInt32BE(inp, inOff + 4);\n\n // Initial Permutation\n utils.ip(l, r, state.tmp, 0);\n l = state.tmp[0];\n r = state.tmp[1];\n\n if (this.type === 'encrypt')\n this._encrypt(state, l, r, state.tmp, 0);\n else\n this._decrypt(state, l, r, state.tmp, 0);\n\n l = state.tmp[0];\n r = state.tmp[1];\n\n utils.writeUInt32BE(out, l, outOff);\n utils.writeUInt32BE(out, r, outOff + 4);\n};\n\nDES.prototype._pad = function _pad(buffer, off) {\n if (this.padding === false) {\n return false;\n }\n\n var value = buffer.length - off;\n for (var i = off; i < buffer.length; i++)\n buffer[i] = value;\n\n return true;\n};\n\nDES.prototype._unpad = function _unpad(buffer) {\n if (this.padding === false) {\n return buffer;\n }\n\n var pad = buffer[buffer.length - 1];\n for (var i = buffer.length - pad; i < buffer.length; i++)\n assert.equal(buffer[i], pad);\n\n return buffer.slice(0, buffer.length - pad);\n};\n\nDES.prototype._encrypt = function _encrypt(state, lStart, rStart, out, off) {\n var l = lStart;\n var r = rStart;\n\n // Apply f() x16 times\n for (var i = 0; i < state.keys.length; i += 2) {\n var keyL = state.keys[i];\n var keyR = state.keys[i + 1];\n\n // f(r, k)\n utils.expand(r, state.tmp, 0);\n\n keyL ^= state.tmp[0];\n keyR ^= state.tmp[1];\n var s = utils.substitute(keyL, keyR);\n var f = utils.permute(s);\n\n var t = r;\n r = (l ^ f) >>> 0;\n l = t;\n }\n\n // Reverse Initial Permutation\n utils.rip(r, l, out, off);\n};\n\nDES.prototype._decrypt = function _decrypt(state, lStart, rStart, out, off) {\n var l = rStart;\n var r = lStart;\n\n // Apply f() x16 times\n for (var i = state.keys.length - 2; i >= 0; i -= 2) {\n var keyL = state.keys[i];\n var keyR = state.keys[i + 1];\n\n // f(r, k)\n utils.expand(l, state.tmp, 0);\n\n keyL ^= state.tmp[0];\n keyR ^= state.tmp[1];\n var s = utils.substitute(keyL, keyR);\n var f = utils.permute(s);\n\n var t = l;\n l = (r ^ f) >>> 0;\n r = t;\n }\n\n // Reverse Initial Permutation\n utils.rip(l, r, out, off);\n};\n\n\n//# sourceURL=webpack://dcp/./node_modules/des.js/lib/des/des.js?"); + +/***/ }), + +/***/ "./node_modules/des.js/lib/des/ede.js": +/*!********************************************!*\ + !*** ./node_modules/des.js/lib/des/ede.js ***! + \********************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar assert = __webpack_require__(/*! minimalistic-assert */ \"./node_modules/minimalistic-assert/index.js\");\nvar inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n\nvar Cipher = __webpack_require__(/*! ./cipher */ \"./node_modules/des.js/lib/des/cipher.js\");\nvar DES = __webpack_require__(/*! ./des */ \"./node_modules/des.js/lib/des/des.js\");\n\nfunction EDEState(type, key) {\n assert.equal(key.length, 24, 'Invalid key length');\n\n var k1 = key.slice(0, 8);\n var k2 = key.slice(8, 16);\n var k3 = key.slice(16, 24);\n\n if (type === 'encrypt') {\n this.ciphers = [\n DES.create({ type: 'encrypt', key: k1 }),\n DES.create({ type: 'decrypt', key: k2 }),\n DES.create({ type: 'encrypt', key: k3 })\n ];\n } else {\n this.ciphers = [\n DES.create({ type: 'decrypt', key: k3 }),\n DES.create({ type: 'encrypt', key: k2 }),\n DES.create({ type: 'decrypt', key: k1 })\n ];\n }\n}\n\nfunction EDE(options) {\n Cipher.call(this, options);\n\n var state = new EDEState(this.type, this.options.key);\n this._edeState = state;\n}\ninherits(EDE, Cipher);\n\nmodule.exports = EDE;\n\nEDE.create = function create(options) {\n return new EDE(options);\n};\n\nEDE.prototype._update = function _update(inp, inOff, out, outOff) {\n var state = this._edeState;\n\n state.ciphers[0]._update(inp, inOff, out, outOff);\n state.ciphers[1]._update(out, outOff, out, outOff);\n state.ciphers[2]._update(out, outOff, out, outOff);\n};\n\nEDE.prototype._pad = DES.prototype._pad;\nEDE.prototype._unpad = DES.prototype._unpad;\n\n\n//# sourceURL=webpack://dcp/./node_modules/des.js/lib/des/ede.js?"); + +/***/ }), + +/***/ "./node_modules/des.js/lib/des/utils.js": +/*!**********************************************!*\ + !*** ./node_modules/des.js/lib/des/utils.js ***! + \**********************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\n\nexports.readUInt32BE = function readUInt32BE(bytes, off) {\n var res = (bytes[0 + off] << 24) |\n (bytes[1 + off] << 16) |\n (bytes[2 + off] << 8) |\n bytes[3 + off];\n return res >>> 0;\n};\n\nexports.writeUInt32BE = function writeUInt32BE(bytes, value, off) {\n bytes[0 + off] = value >>> 24;\n bytes[1 + off] = (value >>> 16) & 0xff;\n bytes[2 + off] = (value >>> 8) & 0xff;\n bytes[3 + off] = value & 0xff;\n};\n\nexports.ip = function ip(inL, inR, out, off) {\n var outL = 0;\n var outR = 0;\n\n for (var i = 6; i >= 0; i -= 2) {\n for (var j = 0; j <= 24; j += 8) {\n outL <<= 1;\n outL |= (inR >>> (j + i)) & 1;\n }\n for (var j = 0; j <= 24; j += 8) {\n outL <<= 1;\n outL |= (inL >>> (j + i)) & 1;\n }\n }\n\n for (var i = 6; i >= 0; i -= 2) {\n for (var j = 1; j <= 25; j += 8) {\n outR <<= 1;\n outR |= (inR >>> (j + i)) & 1;\n }\n for (var j = 1; j <= 25; j += 8) {\n outR <<= 1;\n outR |= (inL >>> (j + i)) & 1;\n }\n }\n\n out[off + 0] = outL >>> 0;\n out[off + 1] = outR >>> 0;\n};\n\nexports.rip = function rip(inL, inR, out, off) {\n var outL = 0;\n var outR = 0;\n\n for (var i = 0; i < 4; i++) {\n for (var j = 24; j >= 0; j -= 8) {\n outL <<= 1;\n outL |= (inR >>> (j + i)) & 1;\n outL <<= 1;\n outL |= (inL >>> (j + i)) & 1;\n }\n }\n for (var i = 4; i < 8; i++) {\n for (var j = 24; j >= 0; j -= 8) {\n outR <<= 1;\n outR |= (inR >>> (j + i)) & 1;\n outR <<= 1;\n outR |= (inL >>> (j + i)) & 1;\n }\n }\n\n out[off + 0] = outL >>> 0;\n out[off + 1] = outR >>> 0;\n};\n\nexports.pc1 = function pc1(inL, inR, out, off) {\n var outL = 0;\n var outR = 0;\n\n // 7, 15, 23, 31, 39, 47, 55, 63\n // 6, 14, 22, 30, 39, 47, 55, 63\n // 5, 13, 21, 29, 39, 47, 55, 63\n // 4, 12, 20, 28\n for (var i = 7; i >= 5; i--) {\n for (var j = 0; j <= 24; j += 8) {\n outL <<= 1;\n outL |= (inR >> (j + i)) & 1;\n }\n for (var j = 0; j <= 24; j += 8) {\n outL <<= 1;\n outL |= (inL >> (j + i)) & 1;\n }\n }\n for (var j = 0; j <= 24; j += 8) {\n outL <<= 1;\n outL |= (inR >> (j + i)) & 1;\n }\n\n // 1, 9, 17, 25, 33, 41, 49, 57\n // 2, 10, 18, 26, 34, 42, 50, 58\n // 3, 11, 19, 27, 35, 43, 51, 59\n // 36, 44, 52, 60\n for (var i = 1; i <= 3; i++) {\n for (var j = 0; j <= 24; j += 8) {\n outR <<= 1;\n outR |= (inR >> (j + i)) & 1;\n }\n for (var j = 0; j <= 24; j += 8) {\n outR <<= 1;\n outR |= (inL >> (j + i)) & 1;\n }\n }\n for (var j = 0; j <= 24; j += 8) {\n outR <<= 1;\n outR |= (inL >> (j + i)) & 1;\n }\n\n out[off + 0] = outL >>> 0;\n out[off + 1] = outR >>> 0;\n};\n\nexports.r28shl = function r28shl(num, shift) {\n return ((num << shift) & 0xfffffff) | (num >>> (28 - shift));\n};\n\nvar pc2table = [\n // inL => outL\n 14, 11, 17, 4, 27, 23, 25, 0,\n 13, 22, 7, 18, 5, 9, 16, 24,\n 2, 20, 12, 21, 1, 8, 15, 26,\n\n // inR => outR\n 15, 4, 25, 19, 9, 1, 26, 16,\n 5, 11, 23, 8, 12, 7, 17, 0,\n 22, 3, 10, 14, 6, 20, 27, 24\n];\n\nexports.pc2 = function pc2(inL, inR, out, off) {\n var outL = 0;\n var outR = 0;\n\n var len = pc2table.length >>> 1;\n for (var i = 0; i < len; i++) {\n outL <<= 1;\n outL |= (inL >>> pc2table[i]) & 0x1;\n }\n for (var i = len; i < pc2table.length; i++) {\n outR <<= 1;\n outR |= (inR >>> pc2table[i]) & 0x1;\n }\n\n out[off + 0] = outL >>> 0;\n out[off + 1] = outR >>> 0;\n};\n\nexports.expand = function expand(r, out, off) {\n var outL = 0;\n var outR = 0;\n\n outL = ((r & 1) << 5) | (r >>> 27);\n for (var i = 23; i >= 15; i -= 4) {\n outL <<= 6;\n outL |= (r >>> i) & 0x3f;\n }\n for (var i = 11; i >= 3; i -= 4) {\n outR |= (r >>> i) & 0x3f;\n outR <<= 6;\n }\n outR |= ((r & 0x1f) << 1) | (r >>> 31);\n\n out[off + 0] = outL >>> 0;\n out[off + 1] = outR >>> 0;\n};\n\nvar sTable = [\n 14, 0, 4, 15, 13, 7, 1, 4, 2, 14, 15, 2, 11, 13, 8, 1,\n 3, 10, 10, 6, 6, 12, 12, 11, 5, 9, 9, 5, 0, 3, 7, 8,\n 4, 15, 1, 12, 14, 8, 8, 2, 13, 4, 6, 9, 2, 1, 11, 7,\n 15, 5, 12, 11, 9, 3, 7, 14, 3, 10, 10, 0, 5, 6, 0, 13,\n\n 15, 3, 1, 13, 8, 4, 14, 7, 6, 15, 11, 2, 3, 8, 4, 14,\n 9, 12, 7, 0, 2, 1, 13, 10, 12, 6, 0, 9, 5, 11, 10, 5,\n 0, 13, 14, 8, 7, 10, 11, 1, 10, 3, 4, 15, 13, 4, 1, 2,\n 5, 11, 8, 6, 12, 7, 6, 12, 9, 0, 3, 5, 2, 14, 15, 9,\n\n 10, 13, 0, 7, 9, 0, 14, 9, 6, 3, 3, 4, 15, 6, 5, 10,\n 1, 2, 13, 8, 12, 5, 7, 14, 11, 12, 4, 11, 2, 15, 8, 1,\n 13, 1, 6, 10, 4, 13, 9, 0, 8, 6, 15, 9, 3, 8, 0, 7,\n 11, 4, 1, 15, 2, 14, 12, 3, 5, 11, 10, 5, 14, 2, 7, 12,\n\n 7, 13, 13, 8, 14, 11, 3, 5, 0, 6, 6, 15, 9, 0, 10, 3,\n 1, 4, 2, 7, 8, 2, 5, 12, 11, 1, 12, 10, 4, 14, 15, 9,\n 10, 3, 6, 15, 9, 0, 0, 6, 12, 10, 11, 1, 7, 13, 13, 8,\n 15, 9, 1, 4, 3, 5, 14, 11, 5, 12, 2, 7, 8, 2, 4, 14,\n\n 2, 14, 12, 11, 4, 2, 1, 12, 7, 4, 10, 7, 11, 13, 6, 1,\n 8, 5, 5, 0, 3, 15, 15, 10, 13, 3, 0, 9, 14, 8, 9, 6,\n 4, 11, 2, 8, 1, 12, 11, 7, 10, 1, 13, 14, 7, 2, 8, 13,\n 15, 6, 9, 15, 12, 0, 5, 9, 6, 10, 3, 4, 0, 5, 14, 3,\n\n 12, 10, 1, 15, 10, 4, 15, 2, 9, 7, 2, 12, 6, 9, 8, 5,\n 0, 6, 13, 1, 3, 13, 4, 14, 14, 0, 7, 11, 5, 3, 11, 8,\n 9, 4, 14, 3, 15, 2, 5, 12, 2, 9, 8, 5, 12, 15, 3, 10,\n 7, 11, 0, 14, 4, 1, 10, 7, 1, 6, 13, 0, 11, 8, 6, 13,\n\n 4, 13, 11, 0, 2, 11, 14, 7, 15, 4, 0, 9, 8, 1, 13, 10,\n 3, 14, 12, 3, 9, 5, 7, 12, 5, 2, 10, 15, 6, 8, 1, 6,\n 1, 6, 4, 11, 11, 13, 13, 8, 12, 1, 3, 4, 7, 10, 14, 7,\n 10, 9, 15, 5, 6, 0, 8, 15, 0, 14, 5, 2, 9, 3, 2, 12,\n\n 13, 1, 2, 15, 8, 13, 4, 8, 6, 10, 15, 3, 11, 7, 1, 4,\n 10, 12, 9, 5, 3, 6, 14, 11, 5, 0, 0, 14, 12, 9, 7, 2,\n 7, 2, 11, 1, 4, 14, 1, 7, 9, 4, 12, 10, 14, 8, 2, 13,\n 0, 15, 6, 12, 10, 9, 13, 0, 15, 3, 3, 5, 5, 6, 8, 11\n];\n\nexports.substitute = function substitute(inL, inR) {\n var out = 0;\n for (var i = 0; i < 4; i++) {\n var b = (inL >>> (18 - i * 6)) & 0x3f;\n var sb = sTable[i * 0x40 + b];\n\n out <<= 4;\n out |= sb;\n }\n for (var i = 0; i < 4; i++) {\n var b = (inR >>> (18 - i * 6)) & 0x3f;\n var sb = sTable[4 * 0x40 + i * 0x40 + b];\n\n out <<= 4;\n out |= sb;\n }\n return out >>> 0;\n};\n\nvar permuteTable = [\n 16, 25, 12, 11, 3, 20, 4, 15, 31, 17, 9, 6, 27, 14, 1, 22,\n 30, 24, 8, 18, 0, 5, 29, 23, 13, 19, 2, 26, 10, 21, 28, 7\n];\n\nexports.permute = function permute(num) {\n var out = 0;\n for (var i = 0; i < permuteTable.length; i++) {\n out <<= 1;\n out |= (num >>> permuteTable[i]) & 0x1;\n }\n return out >>> 0;\n};\n\nexports.padSplit = function padSplit(num, size, group) {\n var str = num.toString(2);\n while (str.length < size)\n str = '0' + str;\n\n var out = [];\n for (var i = 0; i < size; i += group)\n out.push(str.slice(i, i + group));\n return out.join(' ');\n};\n\n\n//# sourceURL=webpack://dcp/./node_modules/des.js/lib/des/utils.js?"); + +/***/ }), + +/***/ "./node_modules/diffie-hellman/browser.js": +/*!************************************************!*\ + !*** ./node_modules/diffie-hellman/browser.js ***! + \************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +eval("/* provided dependency */ var Buffer = __webpack_require__(/*! ./node_modules/node-polyfill-webpack-plugin/node_modules/buffer/index.js */ \"./node_modules/node-polyfill-webpack-plugin/node_modules/buffer/index.js\")[\"Buffer\"];\nvar generatePrime = __webpack_require__(/*! ./lib/generatePrime */ \"./node_modules/diffie-hellman/lib/generatePrime.js\")\nvar primes = __webpack_require__(/*! ./lib/primes.json */ \"./node_modules/diffie-hellman/lib/primes.json\")\n\nvar DH = __webpack_require__(/*! ./lib/dh */ \"./node_modules/diffie-hellman/lib/dh.js\")\n\nfunction getDiffieHellman (mod) {\n var prime = new Buffer(primes[mod].prime, 'hex')\n var gen = new Buffer(primes[mod].gen, 'hex')\n\n return new DH(prime, gen)\n}\n\nvar ENCODINGS = {\n 'binary': true, 'hex': true, 'base64': true\n}\n\nfunction createDiffieHellman (prime, enc, generator, genc) {\n if (Buffer.isBuffer(enc) || ENCODINGS[enc] === undefined) {\n return createDiffieHellman(prime, 'binary', enc, generator)\n }\n\n enc = enc || 'binary'\n genc = genc || 'binary'\n generator = generator || new Buffer([2])\n\n if (!Buffer.isBuffer(generator)) {\n generator = new Buffer(generator, genc)\n }\n\n if (typeof prime === 'number') {\n return new DH(generatePrime(prime, generator), generator, true)\n }\n\n if (!Buffer.isBuffer(prime)) {\n prime = new Buffer(prime, enc)\n }\n\n return new DH(prime, generator, true)\n}\n\nexports.DiffieHellmanGroup = exports.createDiffieHellmanGroup = exports.getDiffieHellman = getDiffieHellman\nexports.createDiffieHellman = exports.DiffieHellman = createDiffieHellman\n\n\n//# sourceURL=webpack://dcp/./node_modules/diffie-hellman/browser.js?"); + +/***/ }), + +/***/ "./node_modules/diffie-hellman/lib/dh.js": +/*!***********************************************!*\ + !*** ./node_modules/diffie-hellman/lib/dh.js ***! + \***********************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +eval("/* provided dependency */ var Buffer = __webpack_require__(/*! ./node_modules/node-polyfill-webpack-plugin/node_modules/buffer/index.js */ \"./node_modules/node-polyfill-webpack-plugin/node_modules/buffer/index.js\")[\"Buffer\"];\nvar BN = __webpack_require__(/*! bn.js */ \"./node_modules/bn.js/lib/bn.js\");\nvar MillerRabin = __webpack_require__(/*! miller-rabin */ \"./node_modules/miller-rabin/lib/mr.js\");\nvar millerRabin = new MillerRabin();\nvar TWENTYFOUR = new BN(24);\nvar ELEVEN = new BN(11);\nvar TEN = new BN(10);\nvar THREE = new BN(3);\nvar SEVEN = new BN(7);\nvar primes = __webpack_require__(/*! ./generatePrime */ \"./node_modules/diffie-hellman/lib/generatePrime.js\");\nvar randomBytes = __webpack_require__(/*! randombytes */ \"./node_modules/randombytes/browser.js\");\nmodule.exports = DH;\n\nfunction setPublicKey(pub, enc) {\n enc = enc || 'utf8';\n if (!Buffer.isBuffer(pub)) {\n pub = new Buffer(pub, enc);\n }\n this._pub = new BN(pub);\n return this;\n}\n\nfunction setPrivateKey(priv, enc) {\n enc = enc || 'utf8';\n if (!Buffer.isBuffer(priv)) {\n priv = new Buffer(priv, enc);\n }\n this._priv = new BN(priv);\n return this;\n}\n\nvar primeCache = {};\nfunction checkPrime(prime, generator) {\n var gen = generator.toString('hex');\n var hex = [gen, prime.toString(16)].join('_');\n if (hex in primeCache) {\n return primeCache[hex];\n }\n var error = 0;\n\n if (prime.isEven() ||\n !primes.simpleSieve ||\n !primes.fermatTest(prime) ||\n !millerRabin.test(prime)) {\n //not a prime so +1\n error += 1;\n\n if (gen === '02' || gen === '05') {\n // we'd be able to check the generator\n // it would fail so +8\n error += 8;\n } else {\n //we wouldn't be able to test the generator\n // so +4\n error += 4;\n }\n primeCache[hex] = error;\n return error;\n }\n if (!millerRabin.test(prime.shrn(1))) {\n //not a safe prime\n error += 2;\n }\n var rem;\n switch (gen) {\n case '02':\n if (prime.mod(TWENTYFOUR).cmp(ELEVEN)) {\n // unsuidable generator\n error += 8;\n }\n break;\n case '05':\n rem = prime.mod(TEN);\n if (rem.cmp(THREE) && rem.cmp(SEVEN)) {\n // prime mod 10 needs to equal 3 or 7\n error += 8;\n }\n break;\n default:\n error += 4;\n }\n primeCache[hex] = error;\n return error;\n}\n\nfunction DH(prime, generator, malleable) {\n this.setGenerator(generator);\n this.__prime = new BN(prime);\n this._prime = BN.mont(this.__prime);\n this._primeLen = prime.length;\n this._pub = undefined;\n this._priv = undefined;\n this._primeCode = undefined;\n if (malleable) {\n this.setPublicKey = setPublicKey;\n this.setPrivateKey = setPrivateKey;\n } else {\n this._primeCode = 8;\n }\n}\nObject.defineProperty(DH.prototype, 'verifyError', {\n enumerable: true,\n get: function () {\n if (typeof this._primeCode !== 'number') {\n this._primeCode = checkPrime(this.__prime, this.__gen);\n }\n return this._primeCode;\n }\n});\nDH.prototype.generateKeys = function () {\n if (!this._priv) {\n this._priv = new BN(randomBytes(this._primeLen));\n }\n this._pub = this._gen.toRed(this._prime).redPow(this._priv).fromRed();\n return this.getPublicKey();\n};\n\nDH.prototype.computeSecret = function (other) {\n other = new BN(other);\n other = other.toRed(this._prime);\n var secret = other.redPow(this._priv).fromRed();\n var out = new Buffer(secret.toArray());\n var prime = this.getPrime();\n if (out.length < prime.length) {\n var front = new Buffer(prime.length - out.length);\n front.fill(0);\n out = Buffer.concat([front, out]);\n }\n return out;\n};\n\nDH.prototype.getPublicKey = function getPublicKey(enc) {\n return formatReturnValue(this._pub, enc);\n};\n\nDH.prototype.getPrivateKey = function getPrivateKey(enc) {\n return formatReturnValue(this._priv, enc);\n};\n\nDH.prototype.getPrime = function (enc) {\n return formatReturnValue(this.__prime, enc);\n};\n\nDH.prototype.getGenerator = function (enc) {\n return formatReturnValue(this._gen, enc);\n};\n\nDH.prototype.setGenerator = function (gen, enc) {\n enc = enc || 'utf8';\n if (!Buffer.isBuffer(gen)) {\n gen = new Buffer(gen, enc);\n }\n this.__gen = gen;\n this._gen = new BN(gen);\n return this;\n};\n\nfunction formatReturnValue(bn, enc) {\n var buf = new Buffer(bn.toArray());\n if (!enc) {\n return buf;\n } else {\n return buf.toString(enc);\n }\n}\n\n\n//# sourceURL=webpack://dcp/./node_modules/diffie-hellman/lib/dh.js?"); + +/***/ }), + +/***/ "./node_modules/diffie-hellman/lib/generatePrime.js": +/*!**********************************************************!*\ + !*** ./node_modules/diffie-hellman/lib/generatePrime.js ***! + \**********************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +eval("var randomBytes = __webpack_require__(/*! randombytes */ \"./node_modules/randombytes/browser.js\");\nmodule.exports = findPrime;\nfindPrime.simpleSieve = simpleSieve;\nfindPrime.fermatTest = fermatTest;\nvar BN = __webpack_require__(/*! bn.js */ \"./node_modules/bn.js/lib/bn.js\");\nvar TWENTYFOUR = new BN(24);\nvar MillerRabin = __webpack_require__(/*! miller-rabin */ \"./node_modules/miller-rabin/lib/mr.js\");\nvar millerRabin = new MillerRabin();\nvar ONE = new BN(1);\nvar TWO = new BN(2);\nvar FIVE = new BN(5);\nvar SIXTEEN = new BN(16);\nvar EIGHT = new BN(8);\nvar TEN = new BN(10);\nvar THREE = new BN(3);\nvar SEVEN = new BN(7);\nvar ELEVEN = new BN(11);\nvar FOUR = new BN(4);\nvar TWELVE = new BN(12);\nvar primes = null;\n\nfunction _getPrimes() {\n if (primes !== null)\n return primes;\n\n var limit = 0x100000;\n var res = [];\n res[0] = 2;\n for (var i = 1, k = 3; k < limit; k += 2) {\n var sqrt = Math.ceil(Math.sqrt(k));\n for (var j = 0; j < i && res[j] <= sqrt; j++)\n if (k % res[j] === 0)\n break;\n\n if (i !== j && res[j] <= sqrt)\n continue;\n\n res[i++] = k;\n }\n primes = res;\n return res;\n}\n\nfunction simpleSieve(p) {\n var primes = _getPrimes();\n\n for (var i = 0; i < primes.length; i++)\n if (p.modn(primes[i]) === 0) {\n if (p.cmpn(primes[i]) === 0) {\n return true;\n } else {\n return false;\n }\n }\n\n return true;\n}\n\nfunction fermatTest(p) {\n var red = BN.mont(p);\n return TWO.toRed(red).redPow(p.subn(1)).fromRed().cmpn(1) === 0;\n}\n\nfunction findPrime(bits, gen) {\n if (bits < 16) {\n // this is what openssl does\n if (gen === 2 || gen === 5) {\n return new BN([0x8c, 0x7b]);\n } else {\n return new BN([0x8c, 0x27]);\n }\n }\n gen = new BN(gen);\n\n var num, n2;\n\n while (true) {\n num = new BN(randomBytes(Math.ceil(bits / 8)));\n while (num.bitLength() > bits) {\n num.ishrn(1);\n }\n if (num.isEven()) {\n num.iadd(ONE);\n }\n if (!num.testn(1)) {\n num.iadd(TWO);\n }\n if (!gen.cmp(TWO)) {\n while (num.mod(TWENTYFOUR).cmp(ELEVEN)) {\n num.iadd(FOUR);\n }\n } else if (!gen.cmp(FIVE)) {\n while (num.mod(TEN).cmp(THREE)) {\n num.iadd(FOUR);\n }\n }\n n2 = num.shrn(1);\n if (simpleSieve(n2) && simpleSieve(num) &&\n fermatTest(n2) && fermatTest(num) &&\n millerRabin.test(n2) && millerRabin.test(num)) {\n return num;\n }\n }\n\n}\n\n\n//# sourceURL=webpack://dcp/./node_modules/diffie-hellman/lib/generatePrime.js?"); + +/***/ }), + +/***/ "./node_modules/dom-serializer/lib/foreignNames.js": +/*!*********************************************************!*\ + !*** ./node_modules/dom-serializer/lib/foreignNames.js ***! + \*********************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.attributeNames = exports.elementNames = void 0;\nexports.elementNames = new Map([\n [\"altglyph\", \"altGlyph\"],\n [\"altglyphdef\", \"altGlyphDef\"],\n [\"altglyphitem\", \"altGlyphItem\"],\n [\"animatecolor\", \"animateColor\"],\n [\"animatemotion\", \"animateMotion\"],\n [\"animatetransform\", \"animateTransform\"],\n [\"clippath\", \"clipPath\"],\n [\"feblend\", \"feBlend\"],\n [\"fecolormatrix\", \"feColorMatrix\"],\n [\"fecomponenttransfer\", \"feComponentTransfer\"],\n [\"fecomposite\", \"feComposite\"],\n [\"feconvolvematrix\", \"feConvolveMatrix\"],\n [\"fediffuselighting\", \"feDiffuseLighting\"],\n [\"fedisplacementmap\", \"feDisplacementMap\"],\n [\"fedistantlight\", \"feDistantLight\"],\n [\"fedropshadow\", \"feDropShadow\"],\n [\"feflood\", \"feFlood\"],\n [\"fefunca\", \"feFuncA\"],\n [\"fefuncb\", \"feFuncB\"],\n [\"fefuncg\", \"feFuncG\"],\n [\"fefuncr\", \"feFuncR\"],\n [\"fegaussianblur\", \"feGaussianBlur\"],\n [\"feimage\", \"feImage\"],\n [\"femerge\", \"feMerge\"],\n [\"femergenode\", \"feMergeNode\"],\n [\"femorphology\", \"feMorphology\"],\n [\"feoffset\", \"feOffset\"],\n [\"fepointlight\", \"fePointLight\"],\n [\"fespecularlighting\", \"feSpecularLighting\"],\n [\"fespotlight\", \"feSpotLight\"],\n [\"fetile\", \"feTile\"],\n [\"feturbulence\", \"feTurbulence\"],\n [\"foreignobject\", \"foreignObject\"],\n [\"glyphref\", \"glyphRef\"],\n [\"lineargradient\", \"linearGradient\"],\n [\"radialgradient\", \"radialGradient\"],\n [\"textpath\", \"textPath\"],\n]);\nexports.attributeNames = new Map([\n [\"definitionurl\", \"definitionURL\"],\n [\"attributename\", \"attributeName\"],\n [\"attributetype\", \"attributeType\"],\n [\"basefrequency\", \"baseFrequency\"],\n [\"baseprofile\", \"baseProfile\"],\n [\"calcmode\", \"calcMode\"],\n [\"clippathunits\", \"clipPathUnits\"],\n [\"diffuseconstant\", \"diffuseConstant\"],\n [\"edgemode\", \"edgeMode\"],\n [\"filterunits\", \"filterUnits\"],\n [\"glyphref\", \"glyphRef\"],\n [\"gradienttransform\", \"gradientTransform\"],\n [\"gradientunits\", \"gradientUnits\"],\n [\"kernelmatrix\", \"kernelMatrix\"],\n [\"kernelunitlength\", \"kernelUnitLength\"],\n [\"keypoints\", \"keyPoints\"],\n [\"keysplines\", \"keySplines\"],\n [\"keytimes\", \"keyTimes\"],\n [\"lengthadjust\", \"lengthAdjust\"],\n [\"limitingconeangle\", \"limitingConeAngle\"],\n [\"markerheight\", \"markerHeight\"],\n [\"markerunits\", \"markerUnits\"],\n [\"markerwidth\", \"markerWidth\"],\n [\"maskcontentunits\", \"maskContentUnits\"],\n [\"maskunits\", \"maskUnits\"],\n [\"numoctaves\", \"numOctaves\"],\n [\"pathlength\", \"pathLength\"],\n [\"patterncontentunits\", \"patternContentUnits\"],\n [\"patterntransform\", \"patternTransform\"],\n [\"patternunits\", \"patternUnits\"],\n [\"pointsatx\", \"pointsAtX\"],\n [\"pointsaty\", \"pointsAtY\"],\n [\"pointsatz\", \"pointsAtZ\"],\n [\"preservealpha\", \"preserveAlpha\"],\n [\"preserveaspectratio\", \"preserveAspectRatio\"],\n [\"primitiveunits\", \"primitiveUnits\"],\n [\"refx\", \"refX\"],\n [\"refy\", \"refY\"],\n [\"repeatcount\", \"repeatCount\"],\n [\"repeatdur\", \"repeatDur\"],\n [\"requiredextensions\", \"requiredExtensions\"],\n [\"requiredfeatures\", \"requiredFeatures\"],\n [\"specularconstant\", \"specularConstant\"],\n [\"specularexponent\", \"specularExponent\"],\n [\"spreadmethod\", \"spreadMethod\"],\n [\"startoffset\", \"startOffset\"],\n [\"stddeviation\", \"stdDeviation\"],\n [\"stitchtiles\", \"stitchTiles\"],\n [\"surfacescale\", \"surfaceScale\"],\n [\"systemlanguage\", \"systemLanguage\"],\n [\"tablevalues\", \"tableValues\"],\n [\"targetx\", \"targetX\"],\n [\"targety\", \"targetY\"],\n [\"textlength\", \"textLength\"],\n [\"viewbox\", \"viewBox\"],\n [\"viewtarget\", \"viewTarget\"],\n [\"xchannelselector\", \"xChannelSelector\"],\n [\"ychannelselector\", \"yChannelSelector\"],\n [\"zoomandpan\", \"zoomAndPan\"],\n]);\n\n\n//# sourceURL=webpack://dcp/./node_modules/dom-serializer/lib/foreignNames.js?"); + +/***/ }), + +/***/ "./node_modules/dom-serializer/lib/index.js": +/*!**************************************************!*\ + !*** ./node_modules/dom-serializer/lib/index.js ***! + \**************************************************/ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; +eval("\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\n/*\n * Module dependencies\n */\nvar ElementType = __importStar(__webpack_require__(/*! domelementtype */ \"./node_modules/domelementtype/lib/index.js\"));\nvar entities_1 = __webpack_require__(/*! entities */ \"./node_modules/entities/lib/index.js\");\n/**\n * Mixed-case SVG and MathML tags & attributes\n * recognized by the HTML parser.\n *\n * @see https://html.spec.whatwg.org/multipage/parsing.html#parsing-main-inforeign\n */\nvar foreignNames_1 = __webpack_require__(/*! ./foreignNames */ \"./node_modules/dom-serializer/lib/foreignNames.js\");\nvar unencodedElements = new Set([\n \"style\",\n \"script\",\n \"xmp\",\n \"iframe\",\n \"noembed\",\n \"noframes\",\n \"plaintext\",\n \"noscript\",\n]);\n/**\n * Format attributes\n */\nfunction formatAttributes(attributes, opts) {\n if (!attributes)\n return;\n return Object.keys(attributes)\n .map(function (key) {\n var _a, _b;\n var value = (_a = attributes[key]) !== null && _a !== void 0 ? _a : \"\";\n if (opts.xmlMode === \"foreign\") {\n /* Fix up mixed-case attribute names */\n key = (_b = foreignNames_1.attributeNames.get(key)) !== null && _b !== void 0 ? _b : key;\n }\n if (!opts.emptyAttrs && !opts.xmlMode && value === \"\") {\n return key;\n }\n return key + \"=\\\"\" + (opts.decodeEntities !== false\n ? entities_1.encodeXML(value)\n : value.replace(/\"/g, \""\")) + \"\\\"\";\n })\n .join(\" \");\n}\n/**\n * Self-enclosing tags\n */\nvar singleTag = new Set([\n \"area\",\n \"base\",\n \"basefont\",\n \"br\",\n \"col\",\n \"command\",\n \"embed\",\n \"frame\",\n \"hr\",\n \"img\",\n \"input\",\n \"isindex\",\n \"keygen\",\n \"link\",\n \"meta\",\n \"param\",\n \"source\",\n \"track\",\n \"wbr\",\n]);\n/**\n * Renders a DOM node or an array of DOM nodes to a string.\n *\n * Can be thought of as the equivalent of the `outerHTML` of the passed node(s).\n *\n * @param node Node to be rendered.\n * @param options Changes serialization behavior\n */\nfunction render(node, options) {\n if (options === void 0) { options = {}; }\n var nodes = \"length\" in node ? node : [node];\n var output = \"\";\n for (var i = 0; i < nodes.length; i++) {\n output += renderNode(nodes[i], options);\n }\n return output;\n}\nexports[\"default\"] = render;\nfunction renderNode(node, options) {\n switch (node.type) {\n case ElementType.Root:\n return render(node.children, options);\n case ElementType.Directive:\n case ElementType.Doctype:\n return renderDirective(node);\n case ElementType.Comment:\n return renderComment(node);\n case ElementType.CDATA:\n return renderCdata(node);\n case ElementType.Script:\n case ElementType.Style:\n case ElementType.Tag:\n return renderTag(node, options);\n case ElementType.Text:\n return renderText(node, options);\n }\n}\nvar foreignModeIntegrationPoints = new Set([\n \"mi\",\n \"mo\",\n \"mn\",\n \"ms\",\n \"mtext\",\n \"annotation-xml\",\n \"foreignObject\",\n \"desc\",\n \"title\",\n]);\nvar foreignElements = new Set([\"svg\", \"math\"]);\nfunction renderTag(elem, opts) {\n var _a;\n // Handle SVG / MathML in HTML\n if (opts.xmlMode === \"foreign\") {\n /* Fix up mixed-case element names */\n elem.name = (_a = foreignNames_1.elementNames.get(elem.name)) !== null && _a !== void 0 ? _a : elem.name;\n /* Exit foreign mode at integration points */\n if (elem.parent &&\n foreignModeIntegrationPoints.has(elem.parent.name)) {\n opts = __assign(__assign({}, opts), { xmlMode: false });\n }\n }\n if (!opts.xmlMode && foreignElements.has(elem.name)) {\n opts = __assign(__assign({}, opts), { xmlMode: \"foreign\" });\n }\n var tag = \"<\" + elem.name;\n var attribs = formatAttributes(elem.attribs, opts);\n if (attribs) {\n tag += \" \" + attribs;\n }\n if (elem.children.length === 0 &&\n (opts.xmlMode\n ? // In XML mode or foreign mode, and user hasn't explicitly turned off self-closing tags\n opts.selfClosingTags !== false\n : // User explicitly asked for self-closing tags, even in HTML mode\n opts.selfClosingTags && singleTag.has(elem.name))) {\n if (!opts.xmlMode)\n tag += \" \";\n tag += \"/>\";\n }\n else {\n tag += \">\";\n if (elem.children.length > 0) {\n tag += render(elem.children, opts);\n }\n if (opts.xmlMode || !singleTag.has(elem.name)) {\n tag += \"\";\n }\n }\n return tag;\n}\nfunction renderDirective(elem) {\n return \"<\" + elem.data + \">\";\n}\nfunction renderText(elem, opts) {\n var data = elem.data || \"\";\n // If entities weren't decoded, no need to encode them back\n if (opts.decodeEntities !== false &&\n !(!opts.xmlMode &&\n elem.parent &&\n unencodedElements.has(elem.parent.name))) {\n data = entities_1.encodeXML(data);\n }\n return data;\n}\nfunction renderCdata(elem) {\n return \"\";\n}\nfunction renderComment(elem) {\n return \"\";\n}\n\n\n//# sourceURL=webpack://dcp/./node_modules/dom-serializer/lib/index.js?"); + +/***/ }), + +/***/ "./node_modules/domelementtype/lib/index.js": +/*!**************************************************!*\ + !*** ./node_modules/domelementtype/lib/index.js ***! + \**************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Doctype = exports.CDATA = exports.Tag = exports.Style = exports.Script = exports.Comment = exports.Directive = exports.Text = exports.Root = exports.isTag = exports.ElementType = void 0;\n/** Types of elements found in htmlparser2's DOM */\nvar ElementType;\n(function (ElementType) {\n /** Type for the root element of a document */\n ElementType[\"Root\"] = \"root\";\n /** Type for Text */\n ElementType[\"Text\"] = \"text\";\n /** Type for */\n ElementType[\"Directive\"] = \"directive\";\n /** Type for */\n ElementType[\"Comment\"] = \"comment\";\n /** Type for