@taquito/local-forging 14.1.0 → 14.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/lib/version.js
CHANGED
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.VERSION = void 0;
|
|
4
4
|
// IMPORTANT: THIS FILE IS AUTO GENERATED! DO NOT MANUALLY EDIT OR CHECKIN!
|
|
5
5
|
exports.VERSION = {
|
|
6
|
-
"commitHash": "
|
|
7
|
-
"version": "14.
|
|
6
|
+
"commitHash": "22fd810dcadf5272cb7a57d65165caa0eddbc57e",
|
|
7
|
+
"version": "14.2.0"
|
|
8
8
|
};
|
|
9
9
|
//# sourceMappingURL=version.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Prefix,
|
|
1
|
+
import { Prefix, buf2hex, b58cdecode, prefix, prefixLength, b58cencode, InvalidKeyHashError, InvalidPublicKeyError, InvalidAddressError, InvalidContractAddressError, InvalidOperationKindError, validateBlock, ValidationResult } from '@taquito/utils';
|
|
2
2
|
import BigNumber$1, { BigNumber } from 'bignumber.js';
|
|
3
3
|
|
|
4
4
|
const toHexString = (bytes) => bytes.reduce((str, byte) => str + byte.toString(16).padStart(2, '0'), '');
|
|
@@ -1290,8 +1290,8 @@ var ProtocolsHash;
|
|
|
1290
1290
|
|
|
1291
1291
|
// IMPORTANT: THIS FILE IS AUTO GENERATED! DO NOT MANUALLY EDIT OR CHECKIN!
|
|
1292
1292
|
const VERSION = {
|
|
1293
|
-
"commitHash": "
|
|
1294
|
-
"version": "14.
|
|
1293
|
+
"commitHash": "22fd810dcadf5272cb7a57d65165caa0eddbc57e",
|
|
1294
|
+
"version": "14.2.0"
|
|
1295
1295
|
};
|
|
1296
1296
|
|
|
1297
1297
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taquito-local-forging.es6.js","sources":["../src/utils.ts","../src/constants.ts","../src/error.ts","../src/uint8array-consumer.ts","../src/michelson/codec.ts","../src/codec.ts","../src/schema/operation.ts","../src/decoder.ts","../src/encoder.ts","../src/validator.ts","../src/protocols.ts","../src/version.ts","../src/taquito-local-forging.ts"],"sourcesContent":["export const concat = (...arr: Uint8Array[]) => {\n return arr.reduce((a: Uint8Array, b: Uint8Array) => {\n const c = new Uint8Array(a.length + b.length);\n c.set(a);\n c.set(b, a.length);\n return c;\n }, new Uint8Array());\n};\n\nexport const toHexString = (bytes: Uint8Array) =>\n bytes.reduce((str, byte) => str + byte.toString(16).padStart(2, '0'), '');\n\nexport const pad = (num: number, paddingLen = 8) => {\n return num.toString(16).padStart(paddingLen, '0');\n};\n","/*\n * Some code in this file is originally from sotez\n * Copyright (c) 2018 Andrew Kishino\n */\n\nimport { pad } from './utils';\n\n// See: https://tezos.gitlab.io/protocols/005_babylon.html#transactions-now-have-an-entrypoint\nexport const ENTRYPOINT_MAX_LENGTH = 31;\n\nexport enum CODEC {\n SECRET = 'secret',\n RAW = 'raw',\n TZ1 = 'tz1',\n BRANCH = 'branch',\n ZARITH = 'zarith',\n PUBLIC_KEY = 'public_key',\n PKH = 'pkh',\n DELEGATE = 'delegate',\n SCRIPT = 'script',\n BALLOT_STATEMENT = 'ballotStmt',\n PROPOSAL = 'proposal',\n PROPOSAL_ARR = 'proposalArr',\n INT32 = 'int32',\n INT16 = 'int16',\n PARAMETERS = 'parameters',\n ADDRESS = 'address',\n SMART_CONTRACT_ADDRESS = 'smart_contract_address',\n VALUE = 'value',\n MANAGER = 'manager',\n BLOCK_PAYLOAD_HASH = 'blockPayloadHash',\n ENTRYPOINT = 'entrypoint',\n OPERATION = 'operation',\n OP_ACTIVATE_ACCOUNT = 'activate_account',\n OP_DELEGATION = 'delegation',\n OP_TRANSACTION = 'transaction',\n OP_ORIGINATION = 'origination',\n OP_BALLOT = 'ballot',\n OP_ENDORSEMENT = 'endorsement',\n OP_SEED_NONCE_REVELATION = 'seed_nonce_revelation',\n OP_REVEAL = 'reveal',\n OP_PROPOSALS = 'proposals',\n OP_REGISTER_GLOBAL_CONSTANT = 'register_global_constant',\n OP_TRANSFER_TICKET = 'transfer_ticket',\n OP_TX_ROLLUP_ORIGINATION = 'tx_rollup_origination',\n OP_TX_ROLLUP_SUBMIT_BATCH = 'tx_rollup_submit_batch',\n BURN_LIMIT = 'burn_limit',\n TX_ROLLUP_ORIGINATION_PARAM = 'tx_rollup_origination_param',\n TX_ROLLUP_ID = 'tx_rollup_id',\n TX_ROLLUP_BATCH_CONTENT = 'tx_rollup_batch_content',\n OP_INCREASE_PAID_STORAGE = 'increase_paid_storage',\n}\n\n// See https://tezos.gitlab.io/whitedoc/michelson.html#full-grammar\nexport const opMapping: { [key: string]: string } = {\n '00': 'parameter',\n '01': 'storage',\n '02': 'code',\n '03': 'False',\n '04': 'Elt',\n '05': 'Left',\n '06': 'None',\n '07': 'Pair',\n '08': 'Right',\n '09': 'Some',\n '0a': 'True',\n '0b': 'Unit',\n '0c': 'PACK',\n '0d': 'UNPACK',\n '0e': 'BLAKE2B',\n '0f': 'SHA256',\n '10': 'SHA512',\n '11': 'ABS',\n '12': 'ADD',\n '13': 'AMOUNT',\n '14': 'AND',\n '15': 'BALANCE',\n '16': 'CAR',\n '17': 'CDR',\n '18': 'CHECK_SIGNATURE',\n '19': 'COMPARE',\n '1a': 'CONCAT',\n '1b': 'CONS',\n '1c': 'CREATE_ACCOUNT', // Removed in Edo\n '1d': 'CREATE_CONTRACT', // Removed in Edo\n '1e': 'IMPLICIT_ACCOUNT',\n '1f': 'DIP',\n '20': 'DROP',\n '21': 'DUP',\n '22': 'EDIV',\n '23': 'EMPTY_MAP',\n '24': 'EMPTY_SET',\n '25': 'EQ',\n '26': 'EXEC',\n '27': 'FAILWITH',\n '28': 'GE',\n '29': 'GET',\n '2a': 'GT',\n '2b': 'HASH_KEY',\n '2c': 'IF',\n '2d': 'IF_CONS',\n '2e': 'IF_LEFT',\n '2f': 'IF_NONE',\n '30': 'INT',\n '31': 'LAMBDA',\n '32': 'LE',\n '33': 'LEFT',\n '34': 'LOOP',\n '35': 'LSL',\n '36': 'LSR',\n '37': 'LT',\n '38': 'MAP',\n '39': 'MEM',\n '3a': 'MUL',\n '3b': 'NEG',\n '3c': 'NEQ',\n '3d': 'NIL',\n '3e': 'NONE',\n '3f': 'NOT',\n '40': 'NOW',\n '41': 'OR',\n '42': 'PAIR',\n '43': 'PUSH',\n '44': 'RIGHT',\n '45': 'SIZE',\n '46': 'SOME',\n '47': 'SOURCE',\n '48': 'SENDER',\n '49': 'SELF',\n '4a': 'STEPS_TO_QUOTA', // Removed in Edo\n '4b': 'SUB',\n '4c': 'SWAP',\n '4d': 'TRANSFER_TOKENS',\n '4e': 'SET_DELEGATE',\n '4f': 'UNIT',\n '50': 'UPDATE',\n '51': 'XOR',\n '52': 'ITER',\n '53': 'LOOP_LEFT',\n '54': 'ADDRESS',\n '55': 'CONTRACT',\n '56': 'ISNAT',\n '57': 'CAST',\n '58': 'RENAME',\n '59': 'bool',\n '5a': 'contract',\n '5b': 'int',\n '5c': 'key',\n '5d': 'key_hash',\n '5e': 'lambda',\n '5f': 'list',\n '60': 'map',\n '61': 'big_map',\n '62': 'nat',\n '63': 'option',\n '64': 'or',\n '65': 'pair',\n '66': 'set',\n '67': 'signature',\n '68': 'string',\n '69': 'bytes',\n '6a': 'mutez',\n '6b': 'timestamp',\n '6c': 'unit',\n '6d': 'operation',\n '6e': 'address',\n '6f': 'SLICE',\n '70': 'DIG',\n '71': 'DUG',\n '72': 'EMPTY_BIG_MAP',\n '73': 'APPLY',\n '74': 'chain_id',\n '75': 'CHAIN_ID',\n '76': 'LEVEL',\n '77': 'SELF_ADDRESS',\n '78': 'never',\n '79': 'NEVER',\n '7a': 'UNPAIR',\n '7b': 'VOTING_POWER',\n '7c': 'TOTAL_VOTING_POWER',\n '7d': 'KECCAK',\n '7e': 'SHA3',\n '7f': 'PAIRING_CHECK',\n '80': 'bls12_381_g1',\n '81': 'bls12_381_g2',\n '82': 'bls12_381_fr',\n '83': 'sapling_state',\n '84': 'sapling_transaction_deprecated',\n '85': 'SAPLING_EMPTY_STATE',\n '86': 'SAPLING_VERIFY_UPDATE',\n '87': 'ticket',\n '88': 'TICKET',\n '89': 'READ_TICKET',\n '8a': 'SPLIT_TICKET',\n '8b': 'JOIN_TICKETS',\n '8c': 'GET_AND_UPDATE',\n '8d': 'chest',\n '8e': 'chest_key',\n '8f': 'OPEN_CHEST',\n '90': 'VIEW',\n '91': 'view',\n '92': 'constant',\n '93': 'SUB_MUTEZ',\n '94': 'tx_rollup_l2_address',\n '95': 'MIN_BLOCK_TIME',\n '96': 'sapling_transaction',\n '97': 'EMIT',\n};\n\nexport const opMappingReverse = (() => {\n const result: { [key: string]: string } = {};\n Object.keys(opMapping).forEach((key: string) => {\n result[opMapping[key]] = key;\n });\n return result;\n})();\n\n// See https://tezos.gitlab.io/api/p2p.html\nexport const kindMapping: { [key: number]: string } = {\n 0x04: 'activate_account',\n 0x6b: 'reveal',\n 0x6e: 'delegation',\n 0x6c: 'transaction',\n 0x6d: 'origination',\n 0x06: 'ballot',\n 0x15: 'endorsement',\n 0x01: 'seed_nonce_revelation',\n 0x05: 'proposals',\n 0x6f: 'register_global_constant',\n 0x96: 'tx_rollup_origination',\n 0x97: 'tx_rollup_submit_batch',\n 0x9e: 'transfer_ticket',\n 0x71: 'increase_paid_storage',\n};\n\nexport const kindMappingReverse = (() => {\n const result: { [key: string]: string } = {};\n Object.keys(kindMapping).forEach((key: number | string) => {\n const keyNum = typeof key === 'string' ? parseInt(key, 10) : key;\n result[kindMapping[keyNum]] = pad(keyNum, 2);\n });\n return result;\n})();\n\n// See https://tezos.gitlab.io/protocols/005_babylon.html#transactions-now-have-an-entrypoint\nexport const entrypointMapping: { [key: string]: string } = {\n '00': 'default',\n '01': 'root',\n '02': 'do',\n '03': 'set_delegate',\n '04': 'remove_delegate',\n};\n\nexport const entrypointMappingReverse = (() => {\n const result: { [key: string]: string } = {};\n Object.keys(entrypointMapping).forEach((key: string) => {\n result[entrypointMapping[key]] = key;\n });\n return result;\n})();\n","import { ENTRYPOINT_MAX_LENGTH } from './constants';\n\n/**\n * @category Error\n * @description Error that indicates an invalid block hash being passed or used\n */\nexport class InvalidBlockHashError extends Error {\n public name = 'InvalidBlockHashError';\n constructor(public message: string) {\n super(message);\n }\n}\n\n/**\n * @category Error\n * @description Error that indicates an invalid operation schema being passed or used\n */ export class InvalidOperationSchemaError extends Error {\n public name = 'InvalidOperationSchemaError';\n constructor(public message: string) {\n super(message);\n }\n}\n\n/**\n * @category Error\n * @description Error that indicates an entrypoint exceeding maximum size\n */\nexport class OversizedEntryPointError extends Error {\n public name = 'OversizedEntryPointError';\n constructor(public entrypoint: string) {\n super(\n `Oversized entrypoint: ${entrypoint}. The maximum length of entrypoint is ${ENTRYPOINT_MAX_LENGTH}`\n );\n }\n}\n\n/**\n * @category Error\n * @description Error that indicates an invalid ballot value\n */\nexport class InvalidBallotValueError extends Error {\n public name = 'InvalidBallotValueError';\n constructor(public ballotValue: string) {\n super(`The ballot value '${ballotValue}' is invalid`);\n }\n}\n\n/**\n * @category Error\n * @description Error that indicates a failure when trying to decode ballot value\n */\nexport class DecodeBallotValueError extends Error {\n public name = 'DecodeBallotValueError';\n constructor(public ballotValue: string) {\n super(`Failed to decode ballot value ${ballotValue}`);\n }\n}\n\n/**\n * @category Error\n * @description Error that indicates an invalid hex string have been passed or used\n */\nexport class InvalidHexStringError extends Error {\n public name = 'InvalidHexStringError';\n constructor(public hexString: string) {\n super(`The hex string '${hexString}' is invalid`);\n }\n}\n\n/**\n * @category Error\n * @description Error that indicates unexpected Michelson Value being passed or used\n */\nexport class UnexpectedMichelsonValueError extends Error {\n public name = 'UnexpectedMichelsonValueError';\n constructor(public value: string) {\n super(`Failed to encode michelson value '${value}'`);\n }\n}\n\n/**\n * @category Error\n * @description Error that indicates a failure when trying to decode an operation\n */\nexport class OperationDecodingError extends Error {\n public name = 'OperationDecodingError';\n constructor(public message: string) {\n super(message);\n }\n}\n\n/**\n * @category Error\n * @description Error that indicates a failure when trying to encode an operation\n */\nexport class OperationEncodingError extends Error {\n public name = 'OperationEncodingError';\n constructor(public message: string) {\n super(message);\n }\n}\n\n/**\n * @category Error\n * @description Error that indicates an unsupported operation being passed or used\n */\nexport class UnsupportedOperationError extends Error {\n public name = 'UnsupportedOperationError';\n constructor(public op: string) {\n super(`The operation '${op}' is unsupported`);\n }\n}\n","import { InvalidHexStringError } from './error';\nexport class Uint8ArrayConsumer {\n static fromHexString(hex: string) {\n const lowHex = hex.toLowerCase();\n if (/^(([a-f]|\\d){2})*$/.test(lowHex)) {\n const arr = new Uint8Array(\n (lowHex.match(/([a-z]|\\d){2}/g) || []).map((byte) => parseInt(byte, 16))\n );\n return new Uint8ArrayConsumer(arr);\n } else {\n throw new InvalidHexStringError(lowHex);\n }\n }\n\n constructor(private readonly arr: Uint8Array, private offset: number = 0) {}\n\n public consume(count: number): Uint8Array {\n const subArr = this.arr.subarray(this.offset, this.offset + count);\n this.offset += count;\n return subArr;\n }\n\n public get(idx: number) {\n return this.arr[this.offset + idx];\n }\n\n public length() {\n return this.arr.length - this.offset;\n }\n}\n","import { BigNumber } from 'bignumber.js';\nimport { Decoder } from '../decoder';\nimport { Uint8ArrayConsumer } from '../uint8array-consumer';\nimport { Encoder } from '../taquito-local-forging';\nimport { opMappingReverse, opMapping } from '../constants';\nimport { pad } from '../utils';\nimport { InvalidHexStringError, UnexpectedMichelsonValueError } from '../error';\n\nexport type PrimValue = { prim: string; args?: MichelsonValue[]; annots?: string[] };\nexport type BytesValue = { bytes: string };\nexport type StringValue = { string: string };\nexport type IntValue = { int: string };\nexport type MichelsonValue =\n | PrimValue\n | BytesValue\n | StringValue\n | IntValue\n | (PrimValue | BytesValue | StringValue | IntValue)[];\n\nexport const isPrim = (value: MichelsonValue): value is PrimValue => {\n return 'prim' in value;\n};\n\nexport const isBytes = (value: MichelsonValue): value is BytesValue => {\n return 'bytes' in value && typeof value.bytes === 'string';\n};\n\nexport const isString = (value: MichelsonValue): value is StringValue => {\n return 'string' in value && typeof value.string === 'string';\n};\n\nexport const isInt = (value: MichelsonValue): value is IntValue => {\n return 'int' in value && typeof value.int === 'string';\n};\n\nexport const scriptEncoder: Encoder<{ code: MichelsonValue; storage: MichelsonValue }> = (\n script\n) => {\n const code = valueEncoder(script.code);\n const storage = valueEncoder(script.storage);\n return `${pad(code.length / 2, 8)}${code}${pad(storage.length / 2, 8)}${storage}`;\n};\n\nexport const scriptDecoder: Decoder = (value: Uint8ArrayConsumer) => {\n const code = extractRequiredLen(value);\n const storage = extractRequiredLen(value);\n\n return {\n code: valueDecoder(new Uint8ArrayConsumer(code)),\n storage: valueDecoder(new Uint8ArrayConsumer(storage)),\n };\n};\n\nexport const valueEncoder: Encoder<MichelsonValue> = (value: MichelsonValue) => {\n if (Array.isArray(value)) {\n const encoded = value.map((x) => valueEncoder(x)).join('');\n const len = encoded.length / 2;\n return `02${pad(len)}${encoded}`;\n } else if (isPrim(value)) {\n return primEncoder(value);\n } else if (isBytes(value)) {\n return bytesEncoder(value);\n } else if (isString(value)) {\n return stringEncoder(value);\n } else if (isInt(value)) {\n return intEncoder(value);\n }\n\n throw new UnexpectedMichelsonValueError(JSON.stringify(value));\n};\n\nexport const valueDecoder: Decoder = (value: Uint8ArrayConsumer) => {\n const preamble = value.consume(1);\n switch (preamble[0]) {\n case 0x0a:\n return bytesDecoder(value);\n case 0x01:\n return stringDecoder(value);\n case 0x00:\n return intDecoder(value);\n case 0x02: {\n const val = new Uint8ArrayConsumer(extractRequiredLen(value));\n const results = [];\n while (val.length() > 0) {\n results.push(valueDecoder(val));\n }\n return results;\n }\n default:\n return primDecoder(value, preamble);\n }\n};\n\nexport const extractRequiredLen = (value: Uint8ArrayConsumer, bytesLength = 4) => {\n const len = value.consume(bytesLength);\n const valueLen = parseInt(Buffer.from(len).toString('hex'), 16);\n return value.consume(valueLen);\n};\n\nexport const bytesEncoder: Encoder<BytesValue> = (value) => {\n if (!/^([A-Fa-f0-9]{2})*$/.test(value.bytes)) {\n throw new InvalidHexStringError(value.bytes);\n }\n\n const len = value.bytes.length / 2;\n return `0a${pad(len)}${value.bytes}`;\n};\n\nexport const bytesDecoder: Decoder = (value: Uint8ArrayConsumer) => {\n const bytes = extractRequiredLen(value);\n return {\n bytes: Buffer.from(bytes).toString('hex'),\n };\n};\n\nexport const stringEncoder: Encoder<StringValue> = (value) => {\n const str = Buffer.from(value.string, 'utf8').toString('hex');\n const hexLength = str.length / 2;\n return `01${pad(hexLength)}${str}`;\n};\n\nexport const stringDecoder: Decoder = (value: Uint8ArrayConsumer) => {\n const str = extractRequiredLen(value);\n return {\n string: Buffer.from(str).toString('utf8'),\n };\n};\n\nexport const intEncoder: Encoder<IntValue> = ({ int }) => {\n const num = new BigNumber(int, 10);\n const positiveMark = num.toString(2)[0] === '-' ? '1' : '0';\n const binary = num.toString(2).replace(/-/g, '');\n\n const pad =\n binary.length <= 6\n ? 6\n : (binary.length - 6) % 7\n ? binary.length + 7 - ((binary.length - 6) % 7)\n : binary.length;\n\n const splitted = binary.padStart(pad, '0').match(/\\d{6,7}/g);\n\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const reversed = splitted!.reverse();\n\n reversed[0] = positiveMark + reversed[0];\n\n const numHex = reversed.map((x: string, i: number) =>\n // Add one to the last chunk\n parseInt((i === reversed.length - 1 ? '0' : '1') + x, 2)\n .toString(16)\n .padStart(2, '0')\n );\n\n return `00${numHex.join('')}`;\n};\n\nexport const intDecoder = (value: Uint8ArrayConsumer): IntValue => {\n let c = value.consume(1)[0];\n const hexNumber: number[] = [];\n const isNotLastChunkMask = 1 << 7;\n while (c & isNotLastChunkMask) {\n hexNumber.push(c);\n c = value.consume(1)[0];\n }\n\n hexNumber.push(c);\n const isNegative = !!((1 << 6) & hexNumber[0]);\n\n hexNumber[0] = hexNumber[0] & 0b1111111;\n\n const numBin = hexNumber\n .map((x, i) =>\n x\n .toString(2)\n .slice(i === 0 ? -6 : -7)\n .padStart(i === 0 ? 6 : 7, '0')\n )\n .reverse();\n let num = new BigNumber(numBin.join(''), 2);\n if (isNegative) {\n num = num.times(-1);\n }\n\n return {\n int: num.toFixed(),\n };\n};\n\nexport const primEncoder: Encoder<PrimValue> = (value) => {\n const hasAnnot = +Array.isArray(value.annots);\n const argsCount = Array.isArray(value.args) ? value.args.length : 0;\n\n // Specify the number of args max is 3 without annotation\n const preamble = pad(Math.min(2 * argsCount + hasAnnot + 0x03, 9), 2);\n\n const op = opMappingReverse[value.prim];\n\n let encodedArgs = (value.args || []).map((arg) => valueEncoder(arg)).join('');\n const encodedAnnots = Array.isArray(value.annots) ? encodeAnnots(value.annots) : '';\n\n if (value.prim === 'LAMBDA' && argsCount) {\n encodedArgs = pad(encodedArgs.length / 2) + encodedArgs + pad(0);\n }\n\n if ((value.prim === 'pair' || value.prim === 'Pair') && argsCount > 2) {\n encodedArgs =\n encodedAnnots === ''\n ? pad(encodedArgs.length / 2) + encodedArgs + pad(0)\n : pad(encodedArgs.length / 2) + encodedArgs;\n }\n\n if (value.prim === 'view' && value.args) {\n encodedArgs = pad(encodedArgs.length / 2) + encodedArgs + pad(0);\n }\n\n return `${preamble}${op}${encodedArgs}${encodedAnnots}`;\n};\n\nexport const primDecoder = (value: Uint8ArrayConsumer, preamble: Uint8Array) => {\n const hasAnnot = (preamble[0] - 0x03) % 2 === 1;\n let argsCount = Math.floor((preamble[0] - 0x03) / 2);\n const op = value.consume(1)[0].toString(16).padStart(2, '0');\n\n const result: Partial<PrimValue> = {\n prim: opMapping[op],\n };\n\n if (opMapping[op] === 'LAMBDA') {\n value.consume(4);\n }\n\n if (opMapping[op] === 'view') {\n if (argsCount != 0) {\n return primViewDecoder(value, result);\n } else {\n return result;\n }\n }\n\n let combPairArgs;\n let combPairAnnots;\n if ((opMapping[op] === 'pair' || opMapping[op] === 'Pair') && argsCount > 2) {\n combPairArgs = decodeCombPair(value);\n argsCount = 0;\n combPairAnnots = decodeAnnots(value);\n }\n\n const args = new Array(argsCount).fill(0).map(() => valueDecoder(value));\n\n if (opMapping[op] === 'LAMBDA') {\n value.consume(4);\n }\n\n if (combPairArgs) {\n result['args'] = combPairArgs as any;\n } else if (args.length) {\n result['args'] = args as any;\n }\n\n if (combPairAnnots && (combPairAnnots as any)[0] !== '') {\n result['annots'] = combPairAnnots as any;\n } else if (hasAnnot) {\n result['annots'] = decodeAnnots(value) as any;\n }\n\n return result;\n};\n\nexport const primViewDecoder = (value: Uint8ArrayConsumer, result: Partial<PrimValue>) => {\n value.consume(4);\n result['args'] = new Array(4).fill(0).map(() => valueDecoder(value)) as any;\n value.consume(4);\n return result;\n};\n\nexport const decodeCombPair: Decoder = (val: Uint8ArrayConsumer) => {\n const array = new Uint8ArrayConsumer(extractRequiredLen(val));\n const args = [];\n while (array.length() > 0) {\n args.push(valueDecoder(array));\n }\n return args;\n};\n\nexport const encodeAnnots: Encoder<string[]> = (value: string[]) => {\n const mergedAnnot = value\n .map((x) => {\n return Buffer.from(x, 'utf8').toString('hex');\n })\n .join('20');\n\n const len = mergedAnnot.length / 2;\n return `${pad(len)}${mergedAnnot}`;\n};\n\nexport const decodeAnnots: Decoder = (val: Uint8ArrayConsumer): string[] => {\n const len = val.consume(4);\n const annotLen = parseInt(Buffer.from(len).toString('hex'), 16);\n const restOfAnnot = val.consume(annotLen);\n\n const restOfAnnotHex = Buffer.from(restOfAnnot).toString('hex');\n return restOfAnnotHex.split('20').map((x) => Buffer.from(x, 'hex').toString('utf8'));\n};\n","import {\n b58cdecode,\n b58cencode,\n buf2hex,\n Prefix,\n prefix as prefixMap,\n prefixLength,\n InvalidKeyHashError,\n InvalidPublicKeyError,\n InvalidAddressError,\n InvalidContractAddressError,\n} from '@taquito/utils';\nimport { OversizedEntryPointError, InvalidBallotValueError, DecodeBallotValueError } from './error';\nimport BigNumber from 'bignumber.js';\nimport { entrypointMapping, entrypointMappingReverse, ENTRYPOINT_MAX_LENGTH } from './constants';\nimport { extractRequiredLen, valueDecoder, valueEncoder, MichelsonValue } from './michelson/codec';\nimport { Uint8ArrayConsumer } from './uint8array-consumer';\nimport { pad } from './utils';\n\nexport const prefixEncoder = (prefix: Prefix) => (str: string) => {\n return buf2hex(Buffer.from(b58cdecode(str, prefixMap[prefix])));\n};\n\nexport const prefixDecoder = (pre: Prefix) => (str: Uint8ArrayConsumer) => {\n const val = str.consume(prefixLength[pre]);\n return b58cencode(val, prefixMap[pre]);\n};\n\nexport const tz1Decoder = prefixDecoder(Prefix.TZ1);\nexport const branchDecoder = prefixDecoder(Prefix.B);\nexport const pkhDecoder = (val: Uint8ArrayConsumer) => {\n const prefix = val.consume(1);\n\n if (prefix[0] === 0x00) {\n return prefixDecoder(Prefix.TZ1)(val);\n } else if (prefix[0] === 0x01) {\n return prefixDecoder(Prefix.TZ2)(val);\n } else if (prefix[0] === 0x02) {\n return prefixDecoder(Prefix.TZ3)(val);\n }\n};\n\nexport const branchEncoder = prefixEncoder(Prefix.B);\nexport const tz1Encoder = prefixEncoder(Prefix.TZ1);\n\nexport const boolEncoder = (bool: unknown): string => (bool ? 'ff' : '00');\n\nexport const proposalEncoder = (proposal: string): string => {\n return prefixEncoder(Prefix.P)(proposal);\n};\n\nexport const proposalDecoder = (proposal: Uint8ArrayConsumer): string => {\n return prefixDecoder(Prefix.P)(proposal);\n};\n\nexport const proposalsDecoder = (proposal: Uint8ArrayConsumer): string[] => {\n const proposals = [];\n proposal.consume(4);\n while (proposal.length() > 0) {\n proposals.push(proposalDecoder(proposal));\n }\n return proposals;\n};\n\nexport const proposalsEncoder = (proposals: string[]): string => {\n return pad(32 * proposals.length) + proposals.map((x) => proposalEncoder(x)).join('');\n};\n\nexport const ballotEncoder = (ballot: string): string => {\n switch (ballot) {\n case 'yay':\n return '00';\n case 'nay':\n return '01';\n case 'pass':\n return '02';\n default:\n throw new InvalidBallotValueError(ballot);\n }\n};\n\nexport const ballotDecoder = (ballot: Uint8ArrayConsumer): string => {\n const value = ballot.consume(1);\n switch (value[0]) {\n case 0x00:\n return 'yay';\n case 0x01:\n return 'nay';\n case 0x02:\n return 'pass';\n default:\n throw new DecodeBallotValueError(value[0].toString());\n }\n};\n\nexport const delegateEncoder = (val: string) => {\n if (val) {\n return boolEncoder(true) + pkhEncoder(val);\n } else {\n return boolEncoder(false);\n }\n};\n\nexport const int32Encoder = (val: number | string): string => {\n const num = parseInt(String(val), 10);\n const byte = [];\n for (let i = 0; i < 4; i++) {\n const shiftBy = (4 - (i + 1)) * 8;\n byte.push((num & (0xff << shiftBy)) >> shiftBy);\n }\n return Buffer.from(byte).toString('hex');\n};\n\nexport const int32Decoder = (val: Uint8ArrayConsumer) => {\n const num = val.consume(4);\n let finalNum = 0;\n for (let i = 0; i < num.length; i++) {\n finalNum = finalNum | (num[i] << ((num.length - (i + 1)) * 8));\n }\n\n return finalNum;\n};\n\nexport const int16Encoder = (val: number | string): string => {\n const num = parseInt(String(val), 10);\n const byte = [];\n for (let i = 0; i < 2; i++) {\n const shiftBy = (2 - (i + 1)) * 8;\n byte.push((num & (0xff << shiftBy)) >> shiftBy);\n }\n return Buffer.from(byte).toString('hex');\n};\n\nexport const int16Decoder = (val: Uint8ArrayConsumer) => {\n const num = val.consume(2);\n let finalNum = 0;\n for (let i = 0; i < num.length; i++) {\n finalNum = finalNum | (num[i] << ((num.length - (i + 1)) * 8));\n }\n\n return finalNum;\n};\n\nexport const boolDecoder = (val: Uint8ArrayConsumer): boolean => {\n const bool = val.consume(1);\n return bool[0] === 0xff;\n};\n\nexport const delegateDecoder = (val: Uint8ArrayConsumer) => {\n const hasDelegate = boolDecoder(val);\n if (hasDelegate) {\n return pkhDecoder(val);\n }\n};\n\nexport const pkhEncoder = (val: string) => {\n const pubkeyPrefix = val.substr(0, 3);\n switch (pubkeyPrefix) {\n case Prefix.TZ1:\n return '00' + prefixEncoder(Prefix.TZ1)(val);\n case Prefix.TZ2:\n return '01' + prefixEncoder(Prefix.TZ2)(val);\n case Prefix.TZ3:\n return '02' + prefixEncoder(Prefix.TZ3)(val);\n default:\n throw new InvalidKeyHashError(val);\n }\n};\n\nexport const publicKeyEncoder = (val: string) => {\n const pubkeyPrefix = val.substr(0, 4);\n switch (pubkeyPrefix) {\n case Prefix.EDPK:\n return '00' + prefixEncoder(Prefix.EDPK)(val);\n case Prefix.SPPK:\n return '01' + prefixEncoder(Prefix.SPPK)(val);\n case Prefix.P2PK:\n return '02' + prefixEncoder(Prefix.P2PK)(val);\n default:\n throw new InvalidPublicKeyError(val);\n }\n};\n\nexport const addressEncoder = (val: string): string => {\n const pubkeyPrefix = val.substr(0, 3);\n switch (pubkeyPrefix) {\n case Prefix.TZ1:\n case Prefix.TZ2:\n case Prefix.TZ3:\n return '00' + pkhEncoder(val);\n case Prefix.KT1:\n return '01' + prefixEncoder(Prefix.KT1)(val) + '00';\n default:\n throw new InvalidAddressError(val);\n }\n};\n\nexport const smartContractAddressEncoder = (val: string): string => {\n const prefix = val.substring(0, 3);\n\n if (prefix === Prefix.KT1) {\n return '01' + prefixEncoder(Prefix.KT1)(val) + '00';\n }\n throw new InvalidContractAddressError(val);\n};\n\nexport const publicKeyDecoder = (val: Uint8ArrayConsumer) => {\n const preamble = val.consume(1);\n switch (preamble[0]) {\n case 0x00:\n return prefixDecoder(Prefix.EDPK)(val);\n case 0x01:\n return prefixDecoder(Prefix.SPPK)(val);\n case 0x02:\n return prefixDecoder(Prefix.P2PK)(val);\n default:\n throw new InvalidPublicKeyError(val.toString());\n }\n};\n\nexport const addressDecoder = (val: Uint8ArrayConsumer) => {\n const preamble = val.consume(1);\n switch (preamble[0]) {\n case 0x00:\n return pkhDecoder(val);\n case 0x01: {\n const address = prefixDecoder(Prefix.KT1)(val);\n val.consume(1);\n return address;\n }\n default:\n throw new InvalidAddressError(val.toString());\n }\n};\n\nexport const smartContractAddressDecoder = (val: Uint8ArrayConsumer) => {\n const preamble = val.consume(1);\n if (preamble[0] === 0x01) {\n const scAddress = prefixDecoder(Prefix.KT1)(val);\n val.consume(1);\n return scAddress;\n }\n throw new InvalidContractAddressError(val.toString());\n};\n\nexport const zarithEncoder = (n: string): string => {\n const fn: Array<string> = [];\n let nn = new BigNumber(n, 10);\n if (nn.isNaN()) {\n throw new TypeError(`Invalid zarith number ${n}`);\n }\n // eslint-disable-next-line no-constant-condition\n while (true) {\n if (nn.lt(128)) {\n if (nn.lt(16)) fn.push('0');\n fn.push(nn.toString(16));\n break;\n } else {\n let b = nn.mod(128);\n nn = nn.minus(b);\n nn = nn.dividedBy(128);\n b = b.plus(128);\n fn.push(b.toString(16));\n }\n }\n return fn.join('');\n};\n\nexport const zarithDecoder = (n: Uint8ArrayConsumer): string => {\n let mostSignificantByte = 0;\n while (mostSignificantByte < n.length() && (n.get(mostSignificantByte) & 128) !== 0) {\n mostSignificantByte += 1;\n }\n\n let num = new BigNumber(0);\n for (let i = mostSignificantByte; i >= 0; i -= 1) {\n const tmp = n.get(i) & 0x7f;\n num = num.multipliedBy(128);\n num = num.plus(tmp);\n }\n\n n.consume(mostSignificantByte + 1);\n return new BigNumber(num).toString();\n};\n\nexport const entrypointDecoder = (value: Uint8ArrayConsumer) => {\n const preamble = pad(value.consume(1)[0], 2);\n\n if (preamble in entrypointMapping) {\n return entrypointMapping[preamble];\n } else {\n const entry = extractRequiredLen(value, 1);\n\n const entrypoint = Buffer.from(entry).toString('utf8');\n\n if (entrypoint.length > ENTRYPOINT_MAX_LENGTH) {\n throw new OversizedEntryPointError(entrypoint);\n }\n return entrypoint;\n }\n};\n\nexport const parametersDecoder = (val: Uint8ArrayConsumer) => {\n const preamble = val.consume(1);\n if (preamble[0] === 0x00) {\n return;\n } else {\n const encodedEntrypoint = entrypointDecoder(val);\n const params = extractRequiredLen(val);\n const parameters = valueDecoder(new Uint8ArrayConsumer(params));\n return {\n entrypoint: encodedEntrypoint,\n value: parameters,\n };\n }\n};\nexport const entrypointEncoder = (entrypoint: string) => {\n if (entrypoint in entrypointMappingReverse) {\n return `${entrypointMappingReverse[entrypoint]}`;\n } else {\n if (entrypoint.length > ENTRYPOINT_MAX_LENGTH) {\n throw new OversizedEntryPointError(entrypoint);\n }\n\n const value = { string: entrypoint };\n return `ff${valueEncoder(value).slice(8)}`;\n }\n};\n\nexport const parametersEncoder = (val: { entrypoint: string; value: MichelsonValue }) => {\n if (!val || (val.entrypoint === 'default' && 'prim' in val.value && val.value.prim === 'Unit')) {\n return '00';\n }\n\n const encodedEntrypoint = entrypointEncoder(val.entrypoint);\n const parameters = valueEncoder(val.value);\n const length = (parameters.length / 2).toString(16).padStart(8, '0');\n return `ff${encodedEntrypoint}${length}${parameters}`;\n};\n\nexport const valueParameterEncoder = (value: MichelsonValue) => {\n const valueEncoded = valueEncoder(value);\n return `${pad(valueEncoded.length / 2)}${valueEncoded}`;\n};\n\nexport const valueParameterDecoder = (val: Uint8ArrayConsumer) => {\n const value = extractRequiredLen(val);\n return valueDecoder(new Uint8ArrayConsumer(value));\n};\n\nexport const blockPayloadHashEncoder = prefixEncoder(Prefix.VH);\nexport const blockPayloadHashDecoder = prefixDecoder(Prefix.VH);\n\nexport const entrypointNameEncoder = (entrypoint: string) => {\n const value = { string: entrypoint };\n return `${valueEncoder(value).slice(2)}`;\n};\n\nexport const entrypointNameDecoder = (val: Uint8ArrayConsumer) => {\n const entry = extractRequiredLen(val);\n\n return Buffer.from(entry).toString('utf8');\n};\n\nexport const txRollupOriginationParamEncoder = (_value: string) => {\n return '';\n};\n\nexport const txRollupOriginationParamDecoder = (_val: Uint8ArrayConsumer) => {\n return {};\n};\n\nexport const txRollupIdEncoder = prefixEncoder(Prefix.TXR1);\n\nexport const txRollupIdDecoder = prefixDecoder(Prefix.TXR1);\n\nexport const txRollupBatchContentEncoder = (value: string) => {\n return `${pad(value.length / 2)}${value}`;\n};\n\nexport const txRollupBatchContentDecoder = (val: Uint8ArrayConsumer) => {\n const value = extractRequiredLen(val);\n return Buffer.from(value).toString('hex');\n};\n\nexport const burnLimitEncoder = (val: string) => {\n return !val ? '00' : `ff${zarithEncoder(val)}`;\n};\n\nexport const burnLimitDecoder = (value: Uint8ArrayConsumer) => {\n const prefix = value.consume(1);\n if (Buffer.from(prefix).toString('hex') !== '00') {\n return zarithDecoder(value);\n }\n};\n","import { Decoder } from '../decoder';\nimport { Uint8ArrayConsumer } from '../uint8array-consumer';\nimport { CODEC, kindMapping, kindMappingReverse } from '../constants';\nimport { InvalidOperationKindError } from '@taquito/utils';\nimport {\n OperationDecodingError,\n OperationEncodingError,\n UnsupportedOperationError,\n} from '../error';\n\nexport const ManagerOperationSchema = {\n branch: CODEC.BRANCH,\n contents: [CODEC.OPERATION],\n};\n\nexport const ActivationSchema = {\n pkh: CODEC.TZ1,\n secret: CODEC.SECRET,\n};\n\nexport const RevealSchema = {\n source: CODEC.PKH,\n fee: CODEC.ZARITH,\n counter: CODEC.ZARITH,\n gas_limit: CODEC.ZARITH,\n storage_limit: CODEC.ZARITH,\n public_key: CODEC.PUBLIC_KEY,\n};\n\nexport const DelegationSchema = {\n source: CODEC.PKH,\n fee: CODEC.ZARITH,\n counter: CODEC.ZARITH,\n gas_limit: CODEC.ZARITH,\n storage_limit: CODEC.ZARITH,\n delegate: CODEC.DELEGATE,\n};\n\nexport const TransactionSchema = {\n source: CODEC.PKH,\n fee: CODEC.ZARITH,\n counter: CODEC.ZARITH,\n gas_limit: CODEC.ZARITH,\n storage_limit: CODEC.ZARITH,\n amount: CODEC.ZARITH,\n destination: CODEC.ADDRESS,\n parameters: CODEC.PARAMETERS,\n};\n\nexport const OriginationSchema = {\n source: CODEC.PKH,\n fee: CODEC.ZARITH,\n counter: CODEC.ZARITH,\n gas_limit: CODEC.ZARITH,\n storage_limit: CODEC.ZARITH,\n balance: CODEC.ZARITH,\n delegate: CODEC.DELEGATE,\n script: CODEC.SCRIPT,\n};\n\nexport const BallotSchema = {\n source: CODEC.PKH,\n period: CODEC.INT32,\n proposal: CODEC.PROPOSAL,\n ballot: CODEC.BALLOT_STATEMENT,\n};\n\nexport const EndorsementSchema = {\n slot: CODEC.INT16,\n level: CODEC.INT32,\n round: CODEC.INT32,\n block_payload_hash: CODEC.BLOCK_PAYLOAD_HASH,\n};\n\nexport const SeedNonceRevelationSchema = {\n level: CODEC.INT32,\n nonce: CODEC.RAW,\n};\n\nexport const ProposalsSchema = {\n source: CODEC.PKH,\n period: CODEC.INT32,\n proposals: CODEC.PROPOSAL_ARR,\n};\n\nexport const RegisterGlobalConstantSchema = {\n source: CODEC.PKH,\n fee: CODEC.ZARITH,\n counter: CODEC.ZARITH,\n gas_limit: CODEC.ZARITH,\n storage_limit: CODEC.ZARITH,\n value: CODEC.VALUE,\n};\n\nexport const TransferTicketSchema = {\n source: CODEC.PKH,\n fee: CODEC.ZARITH,\n counter: CODEC.ZARITH,\n gas_limit: CODEC.ZARITH,\n storage_limit: CODEC.ZARITH,\n ticket_contents: CODEC.VALUE,\n ticket_ty: CODEC.VALUE,\n ticket_ticketer: CODEC.ADDRESS,\n ticket_amount: CODEC.ZARITH,\n destination: CODEC.ADDRESS,\n entrypoint: CODEC.ENTRYPOINT,\n};\n\nexport const TxRollupOriginationSchema = {\n source: CODEC.PKH,\n fee: CODEC.ZARITH,\n counter: CODEC.ZARITH,\n gas_limit: CODEC.ZARITH,\n storage_limit: CODEC.ZARITH,\n tx_rollup_origination: CODEC.TX_ROLLUP_ORIGINATION_PARAM,\n};\n\nexport const TxRollupSubmitBatchSchema = {\n source: CODEC.PKH,\n fee: CODEC.ZARITH,\n counter: CODEC.ZARITH,\n gas_limit: CODEC.ZARITH,\n storage_limit: CODEC.ZARITH,\n rollup: CODEC.TX_ROLLUP_ID,\n content: CODEC.TX_ROLLUP_BATCH_CONTENT,\n burn_limit: CODEC.BURN_LIMIT,\n};\n\nexport const IncreasePaidStorageSchema = {\n source: CODEC.PKH,\n fee: CODEC.ZARITH,\n counter: CODEC.ZARITH,\n gas_limit: CODEC.ZARITH,\n storage_limit: CODEC.ZARITH,\n amount: CODEC.ZARITH,\n destination: CODEC.SMART_CONTRACT_ADDRESS,\n};\n\nexport const operationEncoder =\n (encoders: { [key: string]: (val: object) => string }) => (operation: { kind: string }) => {\n if (!(operation.kind in encoders) || !(operation.kind in kindMappingReverse)) {\n throw new InvalidOperationKindError(operation.kind);\n }\n\n return kindMappingReverse[operation.kind] + encoders[operation.kind](operation);\n };\n\nexport const operationDecoder =\n (decoders: { [key: string]: Decoder }) => (value: Uint8ArrayConsumer) => {\n const op = value.consume(1);\n\n const operationName = kindMapping[op[0]];\n if (operationName === undefined) {\n throw new UnsupportedOperationError(op[0].toString());\n }\n\n const decodedObj = decoders[operationName](value);\n\n if (typeof decodedObj !== 'object') {\n throw new OperationDecodingError('Decoded invalid operation');\n }\n\n return {\n kind: operationName,\n ...decodedObj,\n };\n };\n\ntype Schema = Record<string, CODEC | CODEC[]>;\nexport type Value = Record<keyof Schema, unknown[]>;\n\nexport const schemaEncoder =\n (encoders: { [key: string]: (val: object) => string }) => (schema: Schema) => (value: Value) => {\n const keys = Object.keys(schema);\n return keys.reduce((prev, key) => {\n const valueToEncode = schema[key] as CODEC;\n\n if (value && Array.isArray(valueToEncode)) {\n const encoder = encoders[valueToEncode[0]];\n const values = value[key];\n\n if (!Array.isArray(values)) {\n throw new OperationEncodingError(`Expected value to be Array ${JSON.stringify(values)}`);\n }\n\n return prev + values.reduce((prevBytes, current) => prevBytes + encoder(current), '');\n } else {\n const encoder = encoders[valueToEncode];\n return prev + encoder(value[key]);\n }\n }, '');\n };\n\nexport const schemaDecoder =\n (decoders: { [key: string]: Decoder }) =>\n (schema: { [key: string]: string | string[] }) =>\n (value: Uint8ArrayConsumer) => {\n const keys = Object.keys(schema);\n return keys.reduce((prev, key) => {\n const valueToEncode = schema[key];\n\n if (Array.isArray(valueToEncode)) {\n const decoder = decoders[valueToEncode[0]];\n\n const decoded = [];\n const lastLength = value.length();\n while (value.length() > 0) {\n decoded.push(decoder(value));\n\n if (lastLength === value.length()) {\n throw new OperationDecodingError('Unable to decode value');\n }\n }\n\n return {\n ...prev,\n [key]: decoded,\n };\n } else {\n const decoder = decoders[valueToEncode];\n\n const result = decoder(value);\n\n if (typeof result !== 'undefined') {\n return {\n ...prev,\n [key]: result,\n };\n } else {\n return {\n ...prev,\n };\n }\n }\n }, {});\n };\n","import {\n addressDecoder,\n ballotDecoder,\n blockPayloadHashDecoder,\n branchDecoder,\n burnLimitDecoder,\n delegateDecoder,\n entrypointNameDecoder,\n int16Decoder,\n int32Decoder,\n parametersDecoder,\n pkhDecoder,\n proposalDecoder,\n proposalsDecoder,\n publicKeyDecoder,\n smartContractAddressDecoder,\n txRollupBatchContentDecoder,\n txRollupIdDecoder,\n txRollupOriginationParamDecoder,\n tz1Decoder,\n valueParameterDecoder,\n zarithDecoder,\n} from './codec';\nimport { CODEC } from './constants';\nimport { scriptDecoder } from './michelson/codec';\nimport {\n ActivationSchema,\n BallotSchema,\n DelegationSchema,\n EndorsementSchema,\n IncreasePaidStorageSchema,\n ManagerOperationSchema,\n operationDecoder,\n OriginationSchema,\n ProposalsSchema,\n RegisterGlobalConstantSchema,\n RevealSchema,\n schemaDecoder,\n SeedNonceRevelationSchema,\n TransactionSchema,\n TransferTicketSchema,\n TxRollupOriginationSchema,\n TxRollupSubmitBatchSchema,\n} from './schema/operation';\nimport { Uint8ArrayConsumer } from './uint8array-consumer';\nimport { toHexString } from './utils';\n\nexport type Decoder = (val: Uint8ArrayConsumer) => string | number | object | undefined;\n\nexport const decoders: { [key: string]: Decoder } = {\n [CODEC.SECRET]: (val) => toHexString(val.consume(20)),\n [CODEC.RAW]: (val) => toHexString(val.consume(32)),\n [CODEC.TZ1]: tz1Decoder,\n [CODEC.BRANCH]: branchDecoder,\n [CODEC.ZARITH]: zarithDecoder,\n [CODEC.PUBLIC_KEY]: publicKeyDecoder,\n [CODEC.PKH]: pkhDecoder,\n [CODEC.DELEGATE]: delegateDecoder,\n [CODEC.INT32]: int32Decoder,\n [CODEC.SCRIPT]: scriptDecoder,\n [CODEC.BALLOT_STATEMENT]: ballotDecoder,\n [CODEC.PROPOSAL]: proposalDecoder,\n [CODEC.PROPOSAL_ARR]: proposalsDecoder,\n [CODEC.PARAMETERS]: parametersDecoder,\n [CODEC.ADDRESS]: addressDecoder,\n [CODEC.SMART_CONTRACT_ADDRESS]: smartContractAddressDecoder,\n [CODEC.VALUE]: valueParameterDecoder,\n [CODEC.INT16]: int16Decoder,\n [CODEC.BLOCK_PAYLOAD_HASH]: blockPayloadHashDecoder,\n [CODEC.ENTRYPOINT]: entrypointNameDecoder,\n [CODEC.TX_ROLLUP_ORIGINATION_PARAM]: txRollupOriginationParamDecoder,\n [CODEC.TX_ROLLUP_ID]: txRollupIdDecoder,\n [CODEC.TX_ROLLUP_BATCH_CONTENT]: txRollupBatchContentDecoder,\n [CODEC.BURN_LIMIT]: burnLimitDecoder,\n};\n\ndecoders[CODEC.OPERATION] = operationDecoder(decoders);\ndecoders[CODEC.OP_ACTIVATE_ACCOUNT] = (val: Uint8ArrayConsumer) =>\n schemaDecoder(decoders)(ActivationSchema)(val);\ndecoders[CODEC.OP_DELEGATION] = (val: Uint8ArrayConsumer) =>\n schemaDecoder(decoders)(DelegationSchema)(val);\ndecoders[CODEC.OP_TRANSACTION] = (val: Uint8ArrayConsumer) =>\n schemaDecoder(decoders)(TransactionSchema)(val);\ndecoders[CODEC.OP_ORIGINATION] = (val: Uint8ArrayConsumer) =>\n schemaDecoder(decoders)(OriginationSchema)(val);\ndecoders[CODEC.OP_BALLOT] = (val: Uint8ArrayConsumer) => schemaDecoder(decoders)(BallotSchema)(val);\ndecoders[CODEC.OP_ENDORSEMENT] = (val: Uint8ArrayConsumer) =>\n schemaDecoder(decoders)(EndorsementSchema)(val);\ndecoders[CODEC.OP_SEED_NONCE_REVELATION] = (val: Uint8ArrayConsumer) =>\n schemaDecoder(decoders)(SeedNonceRevelationSchema)(val);\ndecoders[CODEC.OP_PROPOSALS] = (val: Uint8ArrayConsumer) =>\n schemaDecoder(decoders)(ProposalsSchema)(val);\ndecoders[CODEC.OP_REVEAL] = (val: Uint8ArrayConsumer) => schemaDecoder(decoders)(RevealSchema)(val);\ndecoders[CODEC.OP_REGISTER_GLOBAL_CONSTANT] = (val: Uint8ArrayConsumer) =>\n schemaDecoder(decoders)(RegisterGlobalConstantSchema)(val);\ndecoders[CODEC.OP_TRANSFER_TICKET] = (val: Uint8ArrayConsumer) =>\n schemaDecoder(decoders)(TransferTicketSchema)(val);\ndecoders[CODEC.OP_TX_ROLLUP_ORIGINATION] = (val: Uint8ArrayConsumer) =>\n schemaDecoder(decoders)(TxRollupOriginationSchema)(val);\ndecoders[CODEC.OP_TX_ROLLUP_SUBMIT_BATCH] = (val: Uint8ArrayConsumer) =>\n schemaDecoder(decoders)(TxRollupSubmitBatchSchema)(val);\ndecoders[CODEC.OP_INCREASE_PAID_STORAGE] = (val: Uint8ArrayConsumer) =>\n schemaDecoder(decoders)(IncreasePaidStorageSchema)(val);\ndecoders[CODEC.MANAGER] = schemaDecoder(decoders)(ManagerOperationSchema);\n","import {\n addressEncoder,\n ballotEncoder,\n blockPayloadHashEncoder,\n branchEncoder,\n burnLimitEncoder,\n delegateEncoder,\n entrypointNameEncoder,\n int16Encoder,\n int32Encoder,\n parametersEncoder,\n pkhEncoder,\n proposalEncoder,\n proposalsEncoder,\n publicKeyEncoder,\n smartContractAddressEncoder,\n txRollupBatchContentEncoder,\n txRollupIdEncoder,\n txRollupOriginationParamEncoder,\n tz1Encoder,\n valueParameterEncoder,\n zarithEncoder,\n} from './codec';\nimport { CODEC } from './constants';\nimport { scriptEncoder } from './michelson/codec';\nimport {\n ActivationSchema,\n BallotSchema,\n DelegationSchema,\n EndorsementSchema,\n IncreasePaidStorageSchema,\n ManagerOperationSchema,\n operationEncoder,\n OriginationSchema,\n ProposalsSchema,\n RegisterGlobalConstantSchema,\n RevealSchema,\n schemaEncoder,\n SeedNonceRevelationSchema,\n TransactionSchema,\n TransferTicketSchema,\n TxRollupOriginationSchema,\n TxRollupSubmitBatchSchema,\n} from './schema/operation';\n\nexport type Encoder<T> = (val: T) => string;\n\nexport const encoders: { [key: string]: Encoder<any> } = {\n [CODEC.SECRET]: (val: string) => val,\n [CODEC.RAW]: (val: string) => val,\n [CODEC.TZ1]: tz1Encoder,\n [CODEC.BRANCH]: branchEncoder,\n [CODEC.ZARITH]: zarithEncoder,\n [CODEC.PUBLIC_KEY]: publicKeyEncoder,\n [CODEC.PKH]: pkhEncoder,\n [CODEC.DELEGATE]: delegateEncoder,\n [CODEC.SCRIPT]: scriptEncoder,\n [CODEC.BALLOT_STATEMENT]: ballotEncoder,\n [CODEC.PROPOSAL]: proposalEncoder,\n [CODEC.PROPOSAL_ARR]: proposalsEncoder,\n [CODEC.INT32]: int32Encoder,\n [CODEC.PARAMETERS]: parametersEncoder,\n [CODEC.ADDRESS]: addressEncoder,\n [CODEC.SMART_CONTRACT_ADDRESS]: smartContractAddressEncoder,\n [CODEC.VALUE]: valueParameterEncoder,\n [CODEC.INT16]: int16Encoder,\n [CODEC.BLOCK_PAYLOAD_HASH]: blockPayloadHashEncoder,\n [CODEC.ENTRYPOINT]: entrypointNameEncoder,\n [CODEC.TX_ROLLUP_ORIGINATION_PARAM]: txRollupOriginationParamEncoder,\n [CODEC.TX_ROLLUP_ID]: txRollupIdEncoder,\n [CODEC.TX_ROLLUP_BATCH_CONTENT]: txRollupBatchContentEncoder,\n [CODEC.BURN_LIMIT]: burnLimitEncoder,\n};\n\nencoders[CODEC.OPERATION] = operationEncoder(encoders);\nencoders[CODEC.OP_ACTIVATE_ACCOUNT] = (val: any) => schemaEncoder(encoders)(ActivationSchema)(val);\nencoders[CODEC.OP_DELEGATION] = (val: any) => schemaEncoder(encoders)(DelegationSchema)(val);\nencoders[CODEC.OP_TRANSACTION] = (val: any) => schemaEncoder(encoders)(TransactionSchema)(val);\nencoders[CODEC.OP_ORIGINATION] = (val: any) => schemaEncoder(encoders)(OriginationSchema)(val);\nencoders[CODEC.OP_BALLOT] = (val: any) => schemaEncoder(encoders)(BallotSchema)(val);\nencoders[CODEC.OP_ENDORSEMENT] = (val: any) => schemaEncoder(encoders)(EndorsementSchema)(val);\nencoders[CODEC.OP_SEED_NONCE_REVELATION] = (val: any) =>\n schemaEncoder(encoders)(SeedNonceRevelationSchema)(val);\nencoders[CODEC.OP_PROPOSALS] = (val: any) => schemaEncoder(encoders)(ProposalsSchema)(val);\nencoders[CODEC.OP_REVEAL] = (val: any) => schemaEncoder(encoders)(RevealSchema)(val);\nencoders[CODEC.OP_REGISTER_GLOBAL_CONSTANT] = (val: any) =>\n schemaEncoder(encoders)(RegisterGlobalConstantSchema)(val);\nencoders[CODEC.OP_TRANSFER_TICKET] = (val: any) =>\n schemaEncoder(encoders)(TransferTicketSchema)(val);\nencoders[CODEC.OP_TX_ROLLUP_ORIGINATION] = (val: any) =>\n schemaEncoder(encoders)(TxRollupOriginationSchema)(val);\nencoders[CODEC.OP_TX_ROLLUP_SUBMIT_BATCH] = (val: any) =>\n schemaEncoder(encoders)(TxRollupSubmitBatchSchema)(val);\nencoders[CODEC.OP_INCREASE_PAID_STORAGE] = (val: any) =>\n schemaEncoder(encoders)(IncreasePaidStorageSchema)(val);\nencoders[CODEC.MANAGER] = schemaEncoder(encoders)(ManagerOperationSchema);\n","import { OpKind } from '@taquito/rpc';\nimport { OperationContents } from '@taquito/rpc';\nimport {\n ActivationSchema,\n DelegationSchema,\n TransactionSchema,\n OriginationSchema,\n BallotSchema,\n SeedNonceRevelationSchema,\n ProposalsSchema,\n RevealSchema,\n RegisterGlobalConstantSchema,\n EndorsementSchema,\n TransferTicketSchema,\n TxRollupOriginationSchema,\n TxRollupSubmitBatchSchema,\n IncreasePaidStorageSchema,\n} from './schema/operation';\n\ntype OperationKind =\n | OpKind.ACTIVATION\n | OpKind.REVEAL\n | OpKind.DELEGATION\n | OpKind.TRANSACTION\n | OpKind.ORIGINATION\n | OpKind.BALLOT\n | OpKind.ENDORSEMENT\n | OpKind.SEED_NONCE_REVELATION\n | OpKind.PROPOSALS\n | OpKind.REGISTER_GLOBAL_CONSTANT\n | OpKind.TRANSFER_TICKET\n | OpKind.TX_ROLLUP_ORIGINATION\n | OpKind.TX_ROLLUP_SUBMIT_BATCH\n | OpKind.INCREASE_PAID_STORAGE;\n\nconst OperationKindMapping = {\n activate_account: ActivationSchema,\n reveal: RevealSchema,\n delegation: DelegationSchema,\n transaction: TransactionSchema,\n origination: OriginationSchema,\n ballot: BallotSchema,\n endorsement: EndorsementSchema,\n seed_nonce_revelation: SeedNonceRevelationSchema,\n proposals: ProposalsSchema,\n register_global_constant: RegisterGlobalConstantSchema,\n transfer_ticket: TransferTicketSchema,\n tx_rollup_origination: TxRollupOriginationSchema,\n tx_rollup_submit_batch: TxRollupSubmitBatchSchema,\n increase_paid_storage: IncreasePaidStorageSchema,\n};\n\n// Asymmetric difference: only account for things in arr2 that are not present in arr1, not vice versa\nconst getArrayDifference = (arr1: string[], arr2: string[]) => {\n return arr2.filter((x) => !arr1.includes(x));\n};\n\nconst deleteArrayElementByValue = (array: string[], item: string) => {\n return array.filter((e) => e !== item);\n};\n\n/**\n * @returns A boolean value to indicate whether the operation kind is valid or not\n */\nexport const validateOperationKind = (opKind: OpKind) => {\n const opKindList = Object.keys(OperationKindMapping);\n return opKindList.includes(opKind);\n};\n\n/**\n * returns 0 when the two array of properties are identical or the passed property\n * does not have any missing parameters from the corresponding schema\n *\n * @returns array element differences if there are missing required property keys\n */\nexport const validateMissingProperty = (operationContent: OperationContents) => {\n const kind = operationContent.kind as OperationKind;\n\n const keys = Object.keys(operationContent);\n const cleanKeys = deleteArrayElementByValue(keys, 'kind');\n\n const schemaKeys = Object.keys(OperationKindMapping[kind]);\n\n return getArrayDifference(cleanKeys, schemaKeys);\n};\n","export enum ProtocolsHash {\n Pt24m4xi = 'Pt24m4xiPbLDhVgVfABUjirbmda3yohdN82Sp9FeuAXJ4eV9otd',\n PsBABY5H = 'PsBABY5HQTSkA4297zNHfsZNKtxULfL18y95qb3m53QJiXGmrbU',\n PsBabyM1 = 'PsBabyM1eUXZseaJdmXFApDSBqj8YBfwELoxZHHW77EMcAbbwAS',\n PsCARTHA = 'PsCARTHAGazKbHtnKfLzQg3kms52kSRpgnDY982a9oYsSXRLQEb',\n PsDELPH1 = 'PsDELPH1Kxsxt8f9eWbxQeRxkjfbxoqM52jvs5Y5fBxWWh4ifpo',\n PtEdo2Zk = 'PtEdo2ZkT9oKpimTah6x2embF25oss54njMuPzkJTEi5RqfdZFA',\n PsFLorena = 'PsFLorenaUUuikDWvMDr6fGBRG8kt3e3D3fHoXK1j1BFRxeSH4i',\n PtGRANADs = 'PtGRANADsDU8R9daYKAgWnQYAJ64omN1o3KMGVCykShA97vQbvV',\n PtHangz2 = 'PtHangz2aRngywmSRGGvrcTyMbbdpWdpFKuS4uMWxg2RaH9i1qx',\n Psithaca2 = 'Psithaca2MLRFYargivpo7YvUr7wUDqyxrdhC5CQq78mRvimz6A',\n PtJakart2 = 'PtJakart2xVj7pYXJBXrqHgd82rdkLey5ZeeGwDgPp9rhQUbSqY',\n PtKathman = 'PtKathmankSpLLDALzWw7CGD2j2MtyveTwboEYokqUCP4a1LxMg',\n ProtoALpha = 'ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK',\n}\n\nconst protoLevel: Record<ProtocolsHash, number> = {\n Pt24m4xiPbLDhVgVfABUjirbmda3yohdN82Sp9FeuAXJ4eV9otd: 4,\n PsBABY5HQTSkA4297zNHfsZNKtxULfL18y95qb3m53QJiXGmrbU: 5,\n PsBabyM1eUXZseaJdmXFApDSBqj8YBfwELoxZHHW77EMcAbbwAS: 5,\n PsCARTHAGazKbHtnKfLzQg3kms52kSRpgnDY982a9oYsSXRLQEb: 6,\n PsDELPH1Kxsxt8f9eWbxQeRxkjfbxoqM52jvs5Y5fBxWWh4ifpo: 7,\n PtEdo2ZkT9oKpimTah6x2embF25oss54njMuPzkJTEi5RqfdZFA: 8,\n PsFLorenaUUuikDWvMDr6fGBRG8kt3e3D3fHoXK1j1BFRxeSH4i: 9,\n PtGRANADsDU8R9daYKAgWnQYAJ64omN1o3KMGVCykShA97vQbvV: 10,\n PtHangz2aRngywmSRGGvrcTyMbbdpWdpFKuS4uMWxg2RaH9i1qx: 11,\n Psithaca2MLRFYargivpo7YvUr7wUDqyxrdhC5CQq78mRvimz6A: 12,\n PtJakart2xVj7pYXJBXrqHgd82rdkLey5ZeeGwDgPp9rhQUbSqY: 13,\n PtKathmankSpLLDALzWw7CGD2j2MtyveTwboEYokqUCP4a1LxMg: 14,\n ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK: 15,\n};\n\nexport function ProtoInferiorTo(a: ProtocolsHash, b: ProtocolsHash): boolean {\n return protoLevel[a] < protoLevel[b];\n}\n","\n// IMPORTANT: THIS FILE IS AUTO GENERATED! DO NOT MANUALLY EDIT OR CHECKIN!\nexport const VERSION = {\n \"commitHash\": \"232709b09cd380c4a70183a7e0b506d6bf2c2626\",\n \"version\": \"14.1.0\"\n};\n","/**\n * @packageDocumentation\n * @module @taquito/local-forging\n */\n\nimport { ForgeParams, Forger } from './interface';\nimport { CODEC } from './constants';\nimport { decoders } from './decoder';\nimport { encoders } from './encoder';\nimport { Uint8ArrayConsumer } from './uint8array-consumer';\nimport { validateBlock, ValidationResult, InvalidOperationKindError } from '@taquito/utils';\nimport { InvalidBlockHashError, InvalidOperationSchemaError } from './error';\nimport { validateMissingProperty, validateOperationKind } from './validator';\nimport { ProtocolsHash } from './protocols';\n\nexport { CODEC, opMapping, opMappingReverse } from './constants';\nexport * from './decoder';\nexport * from './encoder';\nexport * from './uint8array-consumer';\nexport * from './interface';\nexport { VERSION } from './version';\nexport { ProtocolsHash } from './protocols';\n\nconst PROTOCOL_CURRENT = ProtocolsHash.Psithaca2;\n\nexport function getCodec(codec: CODEC, _proto: ProtocolsHash) {\n return {\n encoder: encoders[codec],\n decoder: (hex: string) => {\n const consumer = Uint8ArrayConsumer.fromHexString(hex);\n return decoders[codec](consumer) as any;\n },\n };\n}\n\nexport class LocalForger implements Forger {\n constructor(public readonly protocolHash = PROTOCOL_CURRENT) {}\n\n private codec = getCodec(CODEC.MANAGER, this.protocolHash);\n\n forge(params: ForgeParams): Promise<string> {\n if (validateBlock(params.branch) !== ValidationResult.VALID) {\n throw new InvalidBlockHashError(`The block hash ${params.branch} is invalid`);\n }\n\n for (const content of params.contents) {\n if (!validateOperationKind(content.kind)) {\n throw new InvalidOperationKindError(content.kind);\n }\n\n const diff = validateMissingProperty(content);\n if (diff.length === 1) {\n if (content.kind === 'delegation' && diff[0] === 'delegate') {\n continue;\n } else if (content.kind === 'origination' && diff[0] === 'delegate') {\n continue;\n } else if (content.kind === 'transaction' && diff[0] === 'parameters') {\n continue;\n } else if (\n content.kind === ('tx_rollup_submit_batch' as unknown) &&\n diff[0] === 'burn_limit'\n ) {\n continue;\n } else {\n throw new InvalidOperationSchemaError(\n `Missing properties: ${diff.join(', ').toString()}`\n );\n }\n } else if (diff.length > 1) {\n throw new InvalidOperationSchemaError(`Missing properties: ${diff.join(', ').toString()}`);\n }\n }\n const forged = this.codec.encoder(params).toLowerCase();\n return Promise.resolve(forged);\n }\n\n parse(hex: string): Promise<ForgeParams> {\n return Promise.resolve(this.codec.decoder(hex) as ForgeParams);\n }\n}\n\nexport const localForger = new LocalForger();\n"],"names":["prefix","prefixMap","BigNumber"],"mappings":";;;AASO,MAAM,WAAW,GAAG,CAAC,KAAiB,KAC3C,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,KAAK,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;AAErE,MAAM,GAAG,GAAG,CAAC,GAAW,EAAE,UAAU,GAAG,CAAC,KAAI;AACjD,IAAA,OAAO,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;AACpD,CAAC;;ACdD;;;AAGG;AAIH;AACO,MAAM,qBAAqB,GAAG,EAAE,CAAC;IAE5B,MAyCX;AAzCD,CAAA,UAAY,KAAK,EAAA;AACf,IAAA,KAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,IAAA,KAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,KAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,KAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,IAAA,KAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,IAAA,KAAA,CAAA,YAAA,CAAA,GAAA,YAAyB,CAAA;AACzB,IAAA,KAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,KAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrB,IAAA,KAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,IAAA,KAAA,CAAA,kBAAA,CAAA,GAAA,YAA+B,CAAA;AAC/B,IAAA,KAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrB,IAAA,KAAA,CAAA,cAAA,CAAA,GAAA,aAA4B,CAAA;AAC5B,IAAA,KAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACf,IAAA,KAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACf,IAAA,KAAA,CAAA,YAAA,CAAA,GAAA,YAAyB,CAAA;AACzB,IAAA,KAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnB,IAAA,KAAA,CAAA,wBAAA,CAAA,GAAA,wBAAiD,CAAA;AACjD,IAAA,KAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACf,IAAA,KAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnB,IAAA,KAAA,CAAA,oBAAA,CAAA,GAAA,kBAAuC,CAAA;AACvC,IAAA,KAAA,CAAA,YAAA,CAAA,GAAA,YAAyB,CAAA;AACzB,IAAA,KAAA,CAAA,WAAA,CAAA,GAAA,WAAuB,CAAA;AACvB,IAAA,KAAA,CAAA,qBAAA,CAAA,GAAA,kBAAwC,CAAA;AACxC,IAAA,KAAA,CAAA,eAAA,CAAA,GAAA,YAA4B,CAAA;AAC5B,IAAA,KAAA,CAAA,gBAAA,CAAA,GAAA,aAA8B,CAAA;AAC9B,IAAA,KAAA,CAAA,gBAAA,CAAA,GAAA,aAA8B,CAAA;AAC9B,IAAA,KAAA,CAAA,WAAA,CAAA,GAAA,QAAoB,CAAA;AACpB,IAAA,KAAA,CAAA,gBAAA,CAAA,GAAA,aAA8B,CAAA;AAC9B,IAAA,KAAA,CAAA,0BAAA,CAAA,GAAA,uBAAkD,CAAA;AAClD,IAAA,KAAA,CAAA,WAAA,CAAA,GAAA,QAAoB,CAAA;AACpB,IAAA,KAAA,CAAA,cAAA,CAAA,GAAA,WAA0B,CAAA;AAC1B,IAAA,KAAA,CAAA,6BAAA,CAAA,GAAA,0BAAwD,CAAA;AACxD,IAAA,KAAA,CAAA,oBAAA,CAAA,GAAA,iBAAsC,CAAA;AACtC,IAAA,KAAA,CAAA,0BAAA,CAAA,GAAA,uBAAkD,CAAA;AAClD,IAAA,KAAA,CAAA,2BAAA,CAAA,GAAA,wBAAoD,CAAA;AACpD,IAAA,KAAA,CAAA,YAAA,CAAA,GAAA,YAAyB,CAAA;AACzB,IAAA,KAAA,CAAA,6BAAA,CAAA,GAAA,6BAA2D,CAAA;AAC3D,IAAA,KAAA,CAAA,cAAA,CAAA,GAAA,cAA6B,CAAA;AAC7B,IAAA,KAAA,CAAA,yBAAA,CAAA,GAAA,yBAAmD,CAAA;AACnD,IAAA,KAAA,CAAA,0BAAA,CAAA,GAAA,uBAAkD,CAAA;AACpD,CAAC,EAzCW,KAAK,KAAL,KAAK,GAyChB,EAAA,CAAA,CAAA,CAAA;AAED;AACa,MAAA,SAAS,GAA8B;AAClD,IAAA,IAAI,EAAE,WAAW;AACjB,IAAA,IAAI,EAAE,SAAS;AACf,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,IAAI,EAAE,OAAO;AACb,IAAA,IAAI,EAAE,KAAK;AACX,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,IAAI,EAAE,OAAO;AACb,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,IAAI,EAAE,QAAQ;AACd,IAAA,IAAI,EAAE,SAAS;AACf,IAAA,IAAI,EAAE,QAAQ;AACd,IAAA,IAAI,EAAE,QAAQ;AACd,IAAA,IAAI,EAAE,KAAK;AACX,IAAA,IAAI,EAAE,KAAK;AACX,IAAA,IAAI,EAAE,QAAQ;AACd,IAAA,IAAI,EAAE,KAAK;AACX,IAAA,IAAI,EAAE,SAAS;AACf,IAAA,IAAI,EAAE,KAAK;AACX,IAAA,IAAI,EAAE,KAAK;AACX,IAAA,IAAI,EAAE,iBAAiB;AACvB,IAAA,IAAI,EAAE,SAAS;AACf,IAAA,IAAI,EAAE,QAAQ;AACd,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,IAAI,EAAE,gBAAgB;AACtB,IAAA,IAAI,EAAE,iBAAiB;AACvB,IAAA,IAAI,EAAE,kBAAkB;AACxB,IAAA,IAAI,EAAE,KAAK;AACX,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,IAAI,EAAE,KAAK;AACX,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,IAAI,EAAE,WAAW;AACjB,IAAA,IAAI,EAAE,WAAW;AACjB,IAAA,IAAI,EAAE,IAAI;AACV,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,IAAI,EAAE,UAAU;AAChB,IAAA,IAAI,EAAE,IAAI;AACV,IAAA,IAAI,EAAE,KAAK;AACX,IAAA,IAAI,EAAE,IAAI;AACV,IAAA,IAAI,EAAE,UAAU;AAChB,IAAA,IAAI,EAAE,IAAI;AACV,IAAA,IAAI,EAAE,SAAS;AACf,IAAA,IAAI,EAAE,SAAS;AACf,IAAA,IAAI,EAAE,SAAS;AACf,IAAA,IAAI,EAAE,KAAK;AACX,IAAA,IAAI,EAAE,QAAQ;AACd,IAAA,IAAI,EAAE,IAAI;AACV,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,IAAI,EAAE,KAAK;AACX,IAAA,IAAI,EAAE,KAAK;AACX,IAAA,IAAI,EAAE,IAAI;AACV,IAAA,IAAI,EAAE,KAAK;AACX,IAAA,IAAI,EAAE,KAAK;AACX,IAAA,IAAI,EAAE,KAAK;AACX,IAAA,IAAI,EAAE,KAAK;AACX,IAAA,IAAI,EAAE,KAAK;AACX,IAAA,IAAI,EAAE,KAAK;AACX,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,IAAI,EAAE,KAAK;AACX,IAAA,IAAI,EAAE,KAAK;AACX,IAAA,IAAI,EAAE,IAAI;AACV,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,IAAI,EAAE,OAAO;AACb,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,IAAI,EAAE,QAAQ;AACd,IAAA,IAAI,EAAE,QAAQ;AACd,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,IAAI,EAAE,gBAAgB;AACtB,IAAA,IAAI,EAAE,KAAK;AACX,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,IAAI,EAAE,iBAAiB;AACvB,IAAA,IAAI,EAAE,cAAc;AACpB,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,IAAI,EAAE,QAAQ;AACd,IAAA,IAAI,EAAE,KAAK;AACX,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,IAAI,EAAE,WAAW;AACjB,IAAA,IAAI,EAAE,SAAS;AACf,IAAA,IAAI,EAAE,UAAU;AAChB,IAAA,IAAI,EAAE,OAAO;AACb,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,IAAI,EAAE,QAAQ;AACd,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,IAAI,EAAE,UAAU;AAChB,IAAA,IAAI,EAAE,KAAK;AACX,IAAA,IAAI,EAAE,KAAK;AACX,IAAA,IAAI,EAAE,UAAU;AAChB,IAAA,IAAI,EAAE,QAAQ;AACd,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,IAAI,EAAE,KAAK;AACX,IAAA,IAAI,EAAE,SAAS;AACf,IAAA,IAAI,EAAE,KAAK;AACX,IAAA,IAAI,EAAE,QAAQ;AACd,IAAA,IAAI,EAAE,IAAI;AACV,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,IAAI,EAAE,KAAK;AACX,IAAA,IAAI,EAAE,WAAW;AACjB,IAAA,IAAI,EAAE,QAAQ;AACd,IAAA,IAAI,EAAE,OAAO;AACb,IAAA,IAAI,EAAE,OAAO;AACb,IAAA,IAAI,EAAE,WAAW;AACjB,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,IAAI,EAAE,WAAW;AACjB,IAAA,IAAI,EAAE,SAAS;AACf,IAAA,IAAI,EAAE,OAAO;AACb,IAAA,IAAI,EAAE,KAAK;AACX,IAAA,IAAI,EAAE,KAAK;AACX,IAAA,IAAI,EAAE,eAAe;AACrB,IAAA,IAAI,EAAE,OAAO;AACb,IAAA,IAAI,EAAE,UAAU;AAChB,IAAA,IAAI,EAAE,UAAU;AAChB,IAAA,IAAI,EAAE,OAAO;AACb,IAAA,IAAI,EAAE,cAAc;AACpB,IAAA,IAAI,EAAE,OAAO;AACb,IAAA,IAAI,EAAE,OAAO;AACb,IAAA,IAAI,EAAE,QAAQ;AACd,IAAA,IAAI,EAAE,cAAc;AACpB,IAAA,IAAI,EAAE,oBAAoB;AAC1B,IAAA,IAAI,EAAE,QAAQ;AACd,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,IAAI,EAAE,eAAe;AACrB,IAAA,IAAI,EAAE,cAAc;AACpB,IAAA,IAAI,EAAE,cAAc;AACpB,IAAA,IAAI,EAAE,cAAc;AACpB,IAAA,IAAI,EAAE,eAAe;AACrB,IAAA,IAAI,EAAE,gCAAgC;AACtC,IAAA,IAAI,EAAE,qBAAqB;AAC3B,IAAA,IAAI,EAAE,uBAAuB;AAC7B,IAAA,IAAI,EAAE,QAAQ;AACd,IAAA,IAAI,EAAE,QAAQ;AACd,IAAA,IAAI,EAAE,aAAa;AACnB,IAAA,IAAI,EAAE,cAAc;AACpB,IAAA,IAAI,EAAE,cAAc;AACpB,IAAA,IAAI,EAAE,gBAAgB;AACtB,IAAA,IAAI,EAAE,OAAO;AACb,IAAA,IAAI,EAAE,WAAW;AACjB,IAAA,IAAI,EAAE,YAAY;AAClB,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,IAAI,EAAE,UAAU;AAChB,IAAA,IAAI,EAAE,WAAW;AACjB,IAAA,IAAI,EAAE,sBAAsB;AAC5B,IAAA,IAAI,EAAE,gBAAgB;AACtB,IAAA,IAAI,EAAE,qBAAqB;AAC3B,IAAA,IAAI,EAAE,MAAM;EACZ;AAEW,MAAA,gBAAgB,GAAG,CAAC,MAAK;IACpC,MAAM,MAAM,GAA8B,EAAE,CAAC;IAC7C,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,GAAW,KAAI;QAC7C,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;AAC/B,KAAC,CAAC,CAAC;AACH,IAAA,OAAO,MAAM,CAAC;AAChB,CAAC,IAAI;AAEL;AACO,MAAM,WAAW,GAA8B;AACpD,IAAA,IAAI,EAAE,kBAAkB;AACxB,IAAA,IAAI,EAAE,QAAQ;AACd,IAAA,IAAI,EAAE,YAAY;AAClB,IAAA,IAAI,EAAE,aAAa;AACnB,IAAA,IAAI,EAAE,aAAa;AACnB,IAAA,IAAI,EAAE,QAAQ;AACd,IAAA,IAAI,EAAE,aAAa;AACnB,IAAA,IAAI,EAAE,uBAAuB;AAC7B,IAAA,IAAI,EAAE,WAAW;AACjB,IAAA,IAAI,EAAE,0BAA0B;AAChC,IAAA,IAAI,EAAE,uBAAuB;AAC7B,IAAA,IAAI,EAAE,wBAAwB;AAC9B,IAAA,IAAI,EAAE,iBAAiB;AACvB,IAAA,IAAI,EAAE,uBAAuB;CAC9B,CAAC;AAEK,MAAM,kBAAkB,GAAG,CAAC,MAAK;IACtC,MAAM,MAAM,GAA8B,EAAE,CAAC;IAC7C,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,GAAoB,KAAI;AACxD,QAAA,MAAM,MAAM,GAAG,OAAO,GAAG,KAAK,QAAQ,GAAG,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC;AACjE,QAAA,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AAC/C,KAAC,CAAC,CAAC;AACH,IAAA,OAAO,MAAM,CAAC;AAChB,CAAC,GAAG,CAAC;AAEL;AACO,MAAM,iBAAiB,GAA8B;AAC1D,IAAA,IAAI,EAAE,SAAS;AACf,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,IAAI,EAAE,IAAI;AACV,IAAA,IAAI,EAAE,cAAc;AACpB,IAAA,IAAI,EAAE,iBAAiB;CACxB,CAAC;AAEK,MAAM,wBAAwB,GAAG,CAAC,MAAK;IAC5C,MAAM,MAAM,GAA8B,EAAE,CAAC;IAC7C,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAC,GAAW,KAAI;QACrD,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;AACvC,KAAC,CAAC,CAAC;AACH,IAAA,OAAO,MAAM,CAAC;AAChB,CAAC,GAAG;;ACjQJ;;;AAGG;AACG,MAAO,qBAAsB,SAAQ,KAAK,CAAA;AAE9C,IAAA,WAAA,CAAmB,OAAe,EAAA;QAChC,KAAK,CAAC,OAAO,CAAC,CAAC;QADE,IAAO,CAAA,OAAA,GAAP,OAAO,CAAQ;QAD3B,IAAI,CAAA,IAAA,GAAG,uBAAuB,CAAC;KAGrC;AACF,CAAA;AAED;;;AAGG,IAAO,MAAO,2BAA4B,SAAQ,KAAK,CAAA;AAExD,IAAA,WAAA,CAAmB,OAAe,EAAA;QAChC,KAAK,CAAC,OAAO,CAAC,CAAC;QADE,IAAO,CAAA,OAAA,GAAP,OAAO,CAAQ;QAD3B,IAAI,CAAA,IAAA,GAAG,6BAA6B,CAAC;KAG3C;AACF,CAAA;AAED;;;AAGG;AACG,MAAO,wBAAyB,SAAQ,KAAK,CAAA;AAEjD,IAAA,WAAA,CAAmB,UAAkB,EAAA;AACnC,QAAA,KAAK,CACH,CAAyB,sBAAA,EAAA,UAAU,yCAAyC,qBAAqB,CAAA,CAAE,CACpG,CAAC;QAHe,IAAU,CAAA,UAAA,GAAV,UAAU,CAAQ;QAD9B,IAAI,CAAA,IAAA,GAAG,0BAA0B,CAAC;KAKxC;AACF,CAAA;AAED;;;AAGG;AACG,MAAO,uBAAwB,SAAQ,KAAK,CAAA;AAEhD,IAAA,WAAA,CAAmB,WAAmB,EAAA;AACpC,QAAA,KAAK,CAAC,CAAA,kBAAA,EAAqB,WAAW,CAAA,YAAA,CAAc,CAAC,CAAC;QADrC,IAAW,CAAA,WAAA,GAAX,WAAW,CAAQ;QAD/B,IAAI,CAAA,IAAA,GAAG,yBAAyB,CAAC;KAGvC;AACF,CAAA;AAED;;;AAGG;AACG,MAAO,sBAAuB,SAAQ,KAAK,CAAA;AAE/C,IAAA,WAAA,CAAmB,WAAmB,EAAA;AACpC,QAAA,KAAK,CAAC,CAAA,8BAAA,EAAiC,WAAW,CAAA,CAAE,CAAC,CAAC;QADrC,IAAW,CAAA,WAAA,GAAX,WAAW,CAAQ;QAD/B,IAAI,CAAA,IAAA,GAAG,wBAAwB,CAAC;KAGtC;AACF,CAAA;AAED;;;AAGG;AACG,MAAO,qBAAsB,SAAQ,KAAK,CAAA;AAE9C,IAAA,WAAA,CAAmB,SAAiB,EAAA;AAClC,QAAA,KAAK,CAAC,CAAA,gBAAA,EAAmB,SAAS,CAAA,YAAA,CAAc,CAAC,CAAC;QADjC,IAAS,CAAA,SAAA,GAAT,SAAS,CAAQ;QAD7B,IAAI,CAAA,IAAA,GAAG,uBAAuB,CAAC;KAGrC;AACF,CAAA;AAED;;;AAGG;AACG,MAAO,6BAA8B,SAAQ,KAAK,CAAA;AAEtD,IAAA,WAAA,CAAmB,KAAa,EAAA;AAC9B,QAAA,KAAK,CAAC,CAAA,kCAAA,EAAqC,KAAK,CAAA,CAAA,CAAG,CAAC,CAAC;QADpC,IAAK,CAAA,KAAA,GAAL,KAAK,CAAQ;QADzB,IAAI,CAAA,IAAA,GAAG,+BAA+B,CAAC;KAG7C;AACF,CAAA;AAED;;;AAGG;AACG,MAAO,sBAAuB,SAAQ,KAAK,CAAA;AAE/C,IAAA,WAAA,CAAmB,OAAe,EAAA;QAChC,KAAK,CAAC,OAAO,CAAC,CAAC;QADE,IAAO,CAAA,OAAA,GAAP,OAAO,CAAQ;QAD3B,IAAI,CAAA,IAAA,GAAG,wBAAwB,CAAC;KAGtC;AACF,CAAA;AAED;;;AAGG;AACG,MAAO,sBAAuB,SAAQ,KAAK,CAAA;AAE/C,IAAA,WAAA,CAAmB,OAAe,EAAA;QAChC,KAAK,CAAC,OAAO,CAAC,CAAC;QADE,IAAO,CAAA,OAAA,GAAP,OAAO,CAAQ;QAD3B,IAAI,CAAA,IAAA,GAAG,wBAAwB,CAAC;KAGtC;AACF,CAAA;AAED;;;AAGG;AACG,MAAO,yBAA0B,SAAQ,KAAK,CAAA;AAElD,IAAA,WAAA,CAAmB,EAAU,EAAA;AAC3B,QAAA,KAAK,CAAC,CAAA,eAAA,EAAkB,EAAE,CAAA,gBAAA,CAAkB,CAAC,CAAC;QAD7B,IAAE,CAAA,EAAA,GAAF,EAAE,CAAQ;QADtB,IAAI,CAAA,IAAA,GAAG,2BAA2B,CAAC;KAGzC;AACF;;MC9GY,kBAAkB,CAAA;IAa7B,WAA6B,CAAA,GAAe,EAAU,MAAA,GAAiB,CAAC,EAAA;QAA3C,IAAG,CAAA,GAAA,GAAH,GAAG,CAAY;QAAU,IAAM,CAAA,MAAA,GAAN,MAAM,CAAY;KAAI;IAZ5E,OAAO,aAAa,CAAC,GAAW,EAAA;AAC9B,QAAA,MAAM,MAAM,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;AACjC,QAAA,IAAI,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;AACrC,YAAA,MAAM,GAAG,GAAG,IAAI,UAAU,CACxB,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CACzE,CAAC;AACF,YAAA,OAAO,IAAI,kBAAkB,CAAC,GAAG,CAAC,CAAC;AACpC,SAAA;AAAM,aAAA;AACL,YAAA,MAAM,IAAI,qBAAqB,CAAC,MAAM,CAAC,CAAC;AACzC,SAAA;KACF;AAIM,IAAA,OAAO,CAAC,KAAa,EAAA;AAC1B,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;AACnE,QAAA,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC;AACrB,QAAA,OAAO,MAAM,CAAC;KACf;AAEM,IAAA,GAAG,CAAC,GAAW,EAAA;QACpB,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;KACpC;IAEM,MAAM,GAAA;QACX,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;KACtC;AACF;;ACVM,MAAM,MAAM,GAAG,CAAC,KAAqB,KAAwB;IAClE,OAAO,MAAM,IAAI,KAAK,CAAC;AACzB,CAAC,CAAC;AAEK,MAAM,OAAO,GAAG,CAAC,KAAqB,KAAyB;IACpE,OAAO,OAAO,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC;AAC7D,CAAC,CAAC;AAEK,MAAM,QAAQ,GAAG,CAAC,KAAqB,KAA0B;IACtE,OAAO,QAAQ,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC;AAC/D,CAAC,CAAC;AAEK,MAAM,KAAK,GAAG,CAAC,KAAqB,KAAuB;IAChE,OAAO,KAAK,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ,CAAC;AACzD,CAAC,CAAC;AAEK,MAAM,aAAa,GAA+D,CACvF,MAAM,KACJ;IACF,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC7C,OAAO,CAAA,EAAG,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,CAAG,EAAA,IAAI,CAAG,EAAA,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA,EAAG,OAAO,CAAA,CAAE,CAAC;AACpF,CAAC,CAAC;AAEK,MAAM,aAAa,GAAY,CAAC,KAAyB,KAAI;AAClE,IAAA,MAAM,IAAI,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;AACvC,IAAA,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAE1C,OAAO;QACL,IAAI,EAAE,YAAY,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAChD,OAAO,EAAE,YAAY,CAAC,IAAI,kBAAkB,CAAC,OAAO,CAAC,CAAC;KACvD,CAAC;AACJ,CAAC,CAAC;AAEK,MAAM,YAAY,GAA4B,CAAC,KAAqB,KAAI;AAC7E,IAAA,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACxB,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC3D,QAAA,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;QAC/B,OAAO,CAAA,EAAA,EAAK,GAAG,CAAC,GAAG,CAAC,CAAG,EAAA,OAAO,EAAE,CAAC;AAClC,KAAA;AAAM,SAAA,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE;AACxB,QAAA,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC;AAC3B,KAAA;AAAM,SAAA,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE;AACzB,QAAA,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC;AAC5B,KAAA;AAAM,SAAA,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE;AAC1B,QAAA,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;AAC7B,KAAA;AAAM,SAAA,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE;AACvB,QAAA,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;AAC1B,KAAA;IAED,MAAM,IAAI,6BAA6B,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;AACjE,CAAC,CAAC;AAEK,MAAM,YAAY,GAAY,CAAC,KAAyB,KAAI;IACjE,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAClC,IAAA,QAAQ,QAAQ,CAAC,CAAC,CAAC;AACjB,QAAA,KAAK,IAAI;AACP,YAAA,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC;AAC7B,QAAA,KAAK,IAAI;AACP,YAAA,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;AAC9B,QAAA,KAAK,IAAI;AACP,YAAA,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;QAC3B,KAAK,IAAI,EAAE;YACT,MAAM,GAAG,GAAG,IAAI,kBAAkB,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC;YAC9D,MAAM,OAAO,GAAG,EAAE,CAAC;AACnB,YAAA,OAAO,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE;gBACvB,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;AACjC,aAAA;AACD,YAAA,OAAO,OAAO,CAAC;AAChB,SAAA;AACD,QAAA;AACE,YAAA,OAAO,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AACvC,KAAA;AACH,CAAC,CAAC;AAEK,MAAM,kBAAkB,GAAG,CAAC,KAAyB,EAAE,WAAW,GAAG,CAAC,KAAI;IAC/E,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;AACvC,IAAA,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;AAChE,IAAA,OAAO,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AACjC,CAAC,CAAC;AAEK,MAAM,YAAY,GAAwB,CAAC,KAAK,KAAI;IACzD,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;AAC5C,QAAA,MAAM,IAAI,qBAAqB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC9C,KAAA;IAED,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IACnC,OAAO,CAAA,EAAA,EAAK,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAA,CAAE,CAAC;AACvC,CAAC,CAAC;AAEK,MAAM,YAAY,GAAY,CAAC,KAAyB,KAAI;AACjE,IAAA,MAAM,KAAK,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IACxC,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;KAC1C,CAAC;AACJ,CAAC,CAAC;AAEK,MAAM,aAAa,GAAyB,CAAC,KAAK,KAAI;AAC3D,IAAA,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC9D,IAAA,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;IACjC,OAAO,CAAA,EAAA,EAAK,GAAG,CAAC,SAAS,CAAC,CAAG,EAAA,GAAG,EAAE,CAAC;AACrC,CAAC,CAAC;AAEK,MAAM,aAAa,GAAY,CAAC,KAAyB,KAAI;AAClE,IAAA,MAAM,GAAG,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IACtC,OAAO;QACL,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;KAC1C,CAAC;AACJ,CAAC,CAAC;AAEK,MAAM,UAAU,GAAsB,CAAC,EAAE,GAAG,EAAE,KAAI;IACvD,MAAM,GAAG,GAAG,IAAI,SAAS,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACnC,MAAM,YAAY,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;AAC5D,IAAA,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AAEjD,IAAA,MAAM,GAAG,GACP,MAAM,CAAC,MAAM,IAAI,CAAC;AAChB,UAAE,CAAC;UACD,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC;AACzB,cAAE,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC;AAC/C,cAAE,MAAM,CAAC,MAAM,CAAC;AAEpB,IAAA,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;;AAG7D,IAAA,MAAM,QAAQ,GAAG,QAAS,CAAC,OAAO,EAAE,CAAC;IAErC,QAAQ,CAAC,CAAC,CAAC,GAAG,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAEzC,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,CAAS;;IAE/C,QAAQ,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;SACrD,QAAQ,CAAC,EAAE,CAAC;AACZ,SAAA,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CACpB,CAAC;IAEF,OAAO,CAAA,EAAA,EAAK,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;AAChC,CAAC,CAAC;AAEK,MAAM,UAAU,GAAG,CAAC,KAAyB,KAAc;IAChE,IAAI,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5B,MAAM,SAAS,GAAa,EAAE,CAAC;AAC/B,IAAA,MAAM,kBAAkB,GAAG,CAAC,IAAI,CAAC,CAAC;IAClC,OAAO,CAAC,GAAG,kBAAkB,EAAE;AAC7B,QAAA,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzB,KAAA;AAED,IAAA,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,IAAA,MAAM,UAAU,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAE/C,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IAExC,MAAM,MAAM,GAAG,SAAS;SACrB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KACR,CAAC;SACE,QAAQ,CAAC,CAAC,CAAC;AACX,SAAA,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AACxB,SAAA,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAClC;AACA,SAAA,OAAO,EAAE,CAAC;AACb,IAAA,IAAI,GAAG,GAAG,IAAI,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAC5C,IAAA,IAAI,UAAU,EAAE;QACd,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACrB,KAAA;IAED,OAAO;AACL,QAAA,GAAG,EAAE,GAAG,CAAC,OAAO,EAAE;KACnB,CAAC;AACJ,CAAC,CAAC;AAEK,MAAM,WAAW,GAAuB,CAAC,KAAK,KAAI;IACvD,MAAM,QAAQ,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC9C,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;;IAGpE,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,GAAG,QAAQ,GAAG,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAEtE,MAAM,EAAE,GAAG,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAExC,IAAI,WAAW,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,GAAG,KAAK,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9E,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;AAEpF,IAAA,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,SAAS,EAAE;AACxC,QAAA,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,WAAW,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;AAClE,KAAA;AAED,IAAA,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,KAAK,SAAS,GAAG,CAAC,EAAE;QACrE,WAAW;AACT,YAAA,aAAa,KAAK,EAAE;AAClB,kBAAE,GAAG,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,WAAW,GAAG,GAAG,CAAC,CAAC,CAAC;kBAClD,GAAG,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,WAAW,CAAC;AACjD,KAAA;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,EAAE;AACvC,QAAA,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,WAAW,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;AAClE,KAAA;IAED,OAAO,CAAA,EAAG,QAAQ,CAAG,EAAA,EAAE,GAAG,WAAW,CAAA,EAAG,aAAa,CAAA,CAAE,CAAC;AAC1D,CAAC,CAAC;AAEK,MAAM,WAAW,GAAG,CAAC,KAAyB,EAAE,QAAoB,KAAI;AAC7E,IAAA,MAAM,QAAQ,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;AAChD,IAAA,IAAI,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC;IACrD,MAAM,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAE7D,IAAA,MAAM,MAAM,GAAuB;AACjC,QAAA,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC;KACpB,CAAC;AAEF,IAAA,IAAI,SAAS,CAAC,EAAE,CAAC,KAAK,QAAQ,EAAE;AAC9B,QAAA,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAClB,KAAA;AAED,IAAA,IAAI,SAAS,CAAC,EAAE,CAAC,KAAK,MAAM,EAAE;QAC5B,IAAI,SAAS,IAAI,CAAC,EAAE;AAClB,YAAA,OAAO,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AACvC,SAAA;AAAM,aAAA;AACL,YAAA,OAAO,MAAM,CAAC;AACf,SAAA;AACF,KAAA;AAED,IAAA,IAAI,YAAY,CAAC;AACjB,IAAA,IAAI,cAAc,CAAC;AACnB,IAAA,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,MAAM,IAAI,SAAS,CAAC,EAAE,CAAC,KAAK,MAAM,KAAK,SAAS,GAAG,CAAC,EAAE;AAC3E,QAAA,YAAY,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;QACrC,SAAS,GAAG,CAAC,CAAC;AACd,QAAA,cAAc,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;AACtC,KAAA;IAED,MAAM,IAAI,GAAG,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;AAEzE,IAAA,IAAI,SAAS,CAAC,EAAE,CAAC,KAAK,QAAQ,EAAE;AAC9B,QAAA,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAClB,KAAA;AAED,IAAA,IAAI,YAAY,EAAE;AAChB,QAAA,MAAM,CAAC,MAAM,CAAC,GAAG,YAAmB,CAAC;AACtC,KAAA;SAAM,IAAI,IAAI,CAAC,MAAM,EAAE;AACtB,QAAA,MAAM,CAAC,MAAM,CAAC,GAAG,IAAW,CAAC;AAC9B,KAAA;IAED,IAAI,cAAc,IAAK,cAAsB,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE;AACvD,QAAA,MAAM,CAAC,QAAQ,CAAC,GAAG,cAAqB,CAAC;AAC1C,KAAA;AAAM,SAAA,IAAI,QAAQ,EAAE;QACnB,MAAM,CAAC,QAAQ,CAAC,GAAG,YAAY,CAAC,KAAK,CAAQ,CAAC;AAC/C,KAAA;AAED,IAAA,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEK,MAAM,eAAe,GAAG,CAAC,KAAyB,EAAE,MAA0B,KAAI;AACvF,IAAA,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACjB,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,YAAY,CAAC,KAAK,CAAC,CAAQ,CAAC;AAC5E,IAAA,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACjB,IAAA,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEK,MAAM,cAAc,GAAY,CAAC,GAAuB,KAAI;IACjE,MAAM,KAAK,GAAG,IAAI,kBAAkB,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9D,MAAM,IAAI,GAAG,EAAE,CAAC;AAChB,IAAA,OAAO,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE;QACzB,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;AAChC,KAAA;AACD,IAAA,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEK,MAAM,YAAY,GAAsB,CAAC,KAAe,KAAI;IACjE,MAAM,WAAW,GAAG,KAAK;AACtB,SAAA,GAAG,CAAC,CAAC,CAAC,KAAI;AACT,QAAA,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAChD,KAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;AAEd,IAAA,MAAM,GAAG,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;IACnC,OAAO,CAAA,EAAG,GAAG,CAAC,GAAG,CAAC,CAAG,EAAA,WAAW,EAAE,CAAC;AACrC,CAAC,CAAC;AAEK,MAAM,YAAY,GAAY,CAAC,GAAuB,KAAc;IACzE,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAC3B,IAAA,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;IAChE,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AAE1C,IAAA,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAChE,IAAA,OAAO,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;AACvF,CAAC;;AC5RM,MAAM,aAAa,GAAG,CAACA,QAAc,KAAK,CAAC,GAAW,KAAI;AAC/D,IAAA,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAEC,MAAS,CAACD,QAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAClE,CAAC,CAAC;AAEK,MAAM,aAAa,GAAG,CAAC,GAAW,KAAK,CAAC,GAAuB,KAAI;IACxE,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3C,OAAO,UAAU,CAAC,GAAG,EAAEC,MAAS,CAAC,GAAG,CAAC,CAAC,CAAC;AACzC,CAAC,CAAC;AAEK,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAC7C,MAAM,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAC9C,MAAM,UAAU,GAAG,CAAC,GAAuB,KAAI;IACpD,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAE9B,IAAA,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE;QACtB,OAAO,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;AACvC,KAAA;AAAM,SAAA,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE;QAC7B,OAAO,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;AACvC,KAAA;AAAM,SAAA,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE;QAC7B,OAAO,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;AACvC,KAAA;AACH,CAAC,CAAC;AAEK,MAAM,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAC9C,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAE7C,MAAM,WAAW,GAAG,CAAC,IAAa,MAAc,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;AAEpE,MAAM,eAAe,GAAG,CAAC,QAAgB,KAAY;IAC1D,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;AAC3C,CAAC,CAAC;AAEK,MAAM,eAAe,GAAG,CAAC,QAA4B,KAAY;IACtE,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;AAC3C,CAAC,CAAC;AAEK,MAAM,gBAAgB,GAAG,CAAC,QAA4B,KAAc;IACzE,MAAM,SAAS,GAAG,EAAE,CAAC;AACrB,IAAA,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACpB,IAAA,OAAO,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE;QAC5B,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC3C,KAAA;AACD,IAAA,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEK,MAAM,gBAAgB,GAAG,CAAC,SAAmB,KAAY;AAC9D,IAAA,OAAO,GAAG,CAAC,EAAE,GAAG,SAAS,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACxF,CAAC,CAAC;AAEK,MAAM,aAAa,GAAG,CAAC,MAAc,KAAY;AACtD,IAAA,QAAQ,MAAM;AACZ,QAAA,KAAK,KAAK;AACR,YAAA,OAAO,IAAI,CAAC;AACd,QAAA,KAAK,KAAK;AACR,YAAA,OAAO,IAAI,CAAC;AACd,QAAA,KAAK,MAAM;AACT,YAAA,OAAO,IAAI,CAAC;AACd,QAAA;AACE,YAAA,MAAM,IAAI,uBAAuB,CAAC,MAAM,CAAC,CAAC;AAC7C,KAAA;AACH,CAAC,CAAC;AAEK,MAAM,aAAa,GAAG,CAAC,MAA0B,KAAY;IAClE,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAChC,IAAA,QAAQ,KAAK,CAAC,CAAC,CAAC;AACd,QAAA,KAAK,IAAI;AACP,YAAA,OAAO,KAAK,CAAC;AACf,QAAA,KAAK,IAAI;AACP,YAAA,OAAO,KAAK,CAAC;AACf,QAAA,KAAK,IAAI;AACP,YAAA,OAAO,MAAM,CAAC;AAChB,QAAA;YACE,MAAM,IAAI,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;AACzD,KAAA;AACH,CAAC,CAAC;AAEK,MAAM,eAAe,GAAG,CAAC,GAAW,KAAI;AAC7C,IAAA,IAAI,GAAG,EAAE;QACP,OAAO,WAAW,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;AAC5C,KAAA;AAAM,SAAA;AACL,QAAA,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC;AAC3B,KAAA;AACH,CAAC,CAAC;AAEK,MAAM,YAAY,GAAG,CAAC,GAAoB,KAAY;IAC3D,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;IACtC,MAAM,IAAI,GAAG,EAAE,CAAC;IAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;AAC1B,QAAA,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;AAClC,QAAA,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,IAAI,IAAI,OAAO,CAAC,KAAK,OAAO,CAAC,CAAC;AACjD,KAAA;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC3C,CAAC,CAAC;AAEK,MAAM,YAAY,GAAG,CAAC,GAAuB,KAAI;IACtD,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3B,IAAI,QAAQ,GAAG,CAAC,CAAC;AACjB,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACnC,QAAQ,GAAG,QAAQ,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAChE,KAAA;AAED,IAAA,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAEK,MAAM,YAAY,GAAG,CAAC,GAAoB,KAAY;IAC3D,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;IACtC,MAAM,IAAI,GAAG,EAAE,CAAC;IAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;AAC1B,QAAA,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;AAClC,QAAA,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,IAAI,IAAI,OAAO,CAAC,KAAK,OAAO,CAAC,CAAC;AACjD,KAAA;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC3C,CAAC,CAAC;AAEK,MAAM,YAAY,GAAG,CAAC,GAAuB,KAAI;IACtD,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3B,IAAI,QAAQ,GAAG,CAAC,CAAC;AACjB,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACnC,QAAQ,GAAG,QAAQ,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAChE,KAAA;AAED,IAAA,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAEK,MAAM,WAAW,GAAG,CAAC,GAAuB,KAAa;IAC9D,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAC5B,IAAA,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;AAC1B,CAAC,CAAC;AAEK,MAAM,eAAe,GAAG,CAAC,GAAuB,KAAI;AACzD,IAAA,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;AACrC,IAAA,IAAI,WAAW,EAAE;AACf,QAAA,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC;AACxB,KAAA;AACH,CAAC,CAAC;AAEK,MAAM,UAAU,GAAG,CAAC,GAAW,KAAI;IACxC,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACtC,IAAA,QAAQ,YAAY;QAClB,KAAK,MAAM,CAAC,GAAG;YACb,OAAO,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QAC/C,KAAK,MAAM,CAAC,GAAG;YACb,OAAO,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QAC/C,KAAK,MAAM,CAAC,GAAG;YACb,OAAO,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;AAC/C,QAAA;AACE,YAAA,MAAM,IAAI,mBAAmB,CAAC,GAAG,CAAC,CAAC;AACtC,KAAA;AACH,CAAC,CAAC;AAEK,MAAM,gBAAgB,GAAG,CAAC,GAAW,KAAI;IAC9C,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACtC,IAAA,QAAQ,YAAY;QAClB,KAAK,MAAM,CAAC,IAAI;YACd,OAAO,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAChD,KAAK,MAAM,CAAC,IAAI;YACd,OAAO,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAChD,KAAK,MAAM,CAAC,IAAI;YACd,OAAO,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;AAChD,QAAA;AACE,YAAA,MAAM,IAAI,qBAAqB,CAAC,GAAG,CAAC,CAAC;AACxC,KAAA;AACH,CAAC,CAAC;AAEK,MAAM,cAAc,GAAG,CAAC,GAAW,KAAY;IACpD,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACtC,IAAA,QAAQ,YAAY;QAClB,KAAK,MAAM,CAAC,GAAG,CAAC;QAChB,KAAK,MAAM,CAAC,GAAG,CAAC;QAChB,KAAK,MAAM,CAAC,GAAG;AACb,YAAA,OAAO,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;QAChC,KAAK,MAAM,CAAC,GAAG;AACb,YAAA,OAAO,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;AACtD,QAAA;AACE,YAAA,MAAM,IAAI,mBAAmB,CAAC,GAAG,CAAC,CAAC;AACtC,KAAA;AACH,CAAC,CAAC;AAEK,MAAM,2BAA2B,GAAG,CAAC,GAAW,KAAY;IACjE,MAAM,MAAM,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAEnC,IAAA,IAAI,MAAM,KAAK,MAAM,CAAC,GAAG,EAAE;AACzB,QAAA,OAAO,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;AACrD,KAAA;AACD,IAAA,MAAM,IAAI,2BAA2B,CAAC,GAAG,CAAC,CAAC;AAC7C,CAAC,CAAC;AAEK,MAAM,gBAAgB,GAAG,CAAC,GAAuB,KAAI;IAC1D,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAChC,IAAA,QAAQ,QAAQ,CAAC,CAAC,CAAC;AACjB,QAAA,KAAK,IAAI;YACP,OAAO,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;AACzC,QAAA,KAAK,IAAI;YACP,OAAO,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;AACzC,QAAA,KAAK,IAAI;YACP,OAAO,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;AACzC,QAAA;YACE,MAAM,IAAI,qBAAqB,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;AACnD,KAAA;AACH,CAAC,CAAC;AAEK,MAAM,cAAc,GAAG,CAAC,GAAuB,KAAI;IACxD,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAChC,IAAA,QAAQ,QAAQ,CAAC,CAAC,CAAC;AACjB,QAAA,KAAK,IAAI;AACP,YAAA,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC;QACzB,KAAK,IAAI,EAAE;YACT,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;AAC/C,YAAA,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACf,YAAA,OAAO,OAAO,CAAC;AAChB,SAAA;AACD,QAAA;YACE,MAAM,IAAI,mBAAmB,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;AACjD,KAAA;AACH,CAAC,CAAC;AAEK,MAAM,2BAA2B,GAAG,CAAC,GAAuB,KAAI;IACrE,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAChC,IAAA,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE;QACxB,MAAM,SAAS,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;AACjD,QAAA,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACf,QAAA,OAAO,SAAS,CAAC;AAClB,KAAA;IACD,MAAM,IAAI,2BAA2B,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;AACxD,CAAC,CAAC;AAEK,MAAM,aAAa,GAAG,CAAC,CAAS,KAAY;IACjD,MAAM,EAAE,GAAkB,EAAE,CAAC;IAC7B,IAAI,EAAE,GAAG,IAAIC,WAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC9B,IAAA,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE;AACd,QAAA,MAAM,IAAI,SAAS,CAAC,yBAAyB,CAAC,CAAA,CAAE,CAAC,CAAC;AACnD,KAAA;;AAED,IAAA,OAAO,IAAI,EAAE;AACX,QAAA,IAAI,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE;AACd,YAAA,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;AAAE,gBAAA,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC5B,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;YACzB,MAAM;AACP,SAAA;AAAM,aAAA;YACL,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACpB,YAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACjB,YAAA,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;AACvB,YAAA,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAChB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;AACzB,SAAA;AACF,KAAA;AACD,IAAA,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACrB,CAAC,CAAC;AAEK,MAAM,aAAa,GAAG,CAAC,CAAqB,KAAY;IAC7D,IAAI,mBAAmB,GAAG,CAAC,CAAC;AAC5B,IAAA,OAAO,mBAAmB,GAAG,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,mBAAmB,CAAC,GAAG,GAAG,MAAM,CAAC,EAAE;QACnF,mBAAmB,IAAI,CAAC,CAAC;AAC1B,KAAA;AAED,IAAA,IAAI,GAAG,GAAG,IAAIA,WAAS,CAAC,CAAC,CAAC,CAAC;AAC3B,IAAA,KAAK,IAAI,CAAC,GAAG,mBAAmB,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE;QAChD,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;AAC5B,QAAA,GAAG,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;AAC5B,QAAA,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACrB,KAAA;AAED,IAAA,CAAC,CAAC,OAAO,CAAC,mBAAmB,GAAG,CAAC,CAAC,CAAC;IACnC,OAAO,IAAIA,WAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;AACvC,CAAC,CAAC;AAEK,MAAM,iBAAiB,GAAG,CAAC,KAAyB,KAAI;AAC7D,IAAA,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAE7C,IAAI,QAAQ,IAAI,iBAAiB,EAAE;AACjC,QAAA,OAAO,iBAAiB,CAAC,QAAQ,CAAC,CAAC;AACpC,KAAA;AAAM,SAAA;QACL,MAAM,KAAK,GAAG,kBAAkB,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;AAE3C,QAAA,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAEvD,QAAA,IAAI,UAAU,CAAC,MAAM,GAAG,qBAAqB,EAAE;AAC7C,YAAA,MAAM,IAAI,wBAAwB,CAAC,UAAU,CAAC,CAAC;AAChD,SAAA;AACD,QAAA,OAAO,UAAU,CAAC;AACnB,KAAA;AACH,CAAC,CAAC;AAEK,MAAM,iBAAiB,GAAG,CAAC,GAAuB,KAAI;IAC3D,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAChC,IAAA,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE;QACxB,OAAO;AACR,KAAA;AAAM,SAAA;AACL,QAAA,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;AACjD,QAAA,MAAM,MAAM,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;QACvC,MAAM,UAAU,GAAG,YAAY,CAAC,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;QAChE,OAAO;AACL,YAAA,UAAU,EAAE,iBAAiB;AAC7B,YAAA,KAAK,EAAE,UAAU;SAClB,CAAC;AACH,KAAA;AACH,CAAC,CAAC;AACK,MAAM,iBAAiB,GAAG,CAAC,UAAkB,KAAI;IACtD,IAAI,UAAU,IAAI,wBAAwB,EAAE;AAC1C,QAAA,OAAO,GAAG,wBAAwB,CAAC,UAAU,CAAC,EAAE,CAAC;AAClD,KAAA;AAAM,SAAA;AACL,QAAA,IAAI,UAAU,CAAC,MAAM,GAAG,qBAAqB,EAAE;AAC7C,YAAA,MAAM,IAAI,wBAAwB,CAAC,UAAU,CAAC,CAAC;AAChD,SAAA;AAED,QAAA,MAAM,KAAK,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;QACrC,OAAO,CAAA,EAAA,EAAK,YAAY,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA,CAAE,CAAC;AAC5C,KAAA;AACH,CAAC,CAAC;AAEK,MAAM,iBAAiB,GAAG,CAAC,GAAkD,KAAI;IACtF,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,UAAU,KAAK,SAAS,IAAI,MAAM,IAAI,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,EAAE;AAC9F,QAAA,OAAO,IAAI,CAAC;AACb,KAAA;IAED,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC5D,MAAM,UAAU,GAAG,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACrE,IAAA,OAAO,KAAK,iBAAiB,CAAA,EAAG,MAAM,CAAG,EAAA,UAAU,EAAE,CAAC;AACxD,CAAC,CAAC;AAEK,MAAM,qBAAqB,GAAG,CAAC,KAAqB,KAAI;AAC7D,IAAA,MAAM,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;AACzC,IAAA,OAAO,CAAG,EAAA,GAAG,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA,EAAG,YAAY,CAAA,CAAE,CAAC;AAC1D,CAAC,CAAC;AAEK,MAAM,qBAAqB,GAAG,CAAC,GAAuB,KAAI;AAC/D,IAAA,MAAM,KAAK,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACtC,OAAO,YAAY,CAAC,IAAI,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC;AACrD,CAAC,CAAC;AAEK,MAAM,uBAAuB,GAAG,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AACzD,MAAM,uBAAuB,GAAG,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAEzD,MAAM,qBAAqB,GAAG,CAAC,UAAkB,KAAI;AAC1D,IAAA,MAAM,KAAK,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;IACrC,OAAO,CAAA,EAAG,YAAY,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA,CAAE,CAAC;AAC3C,CAAC,CAAC;AAEK,MAAM,qBAAqB,GAAG,CAAC,GAAuB,KAAI;AAC/D,IAAA,MAAM,KAAK,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;IAEtC,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC7C,CAAC,CAAC;AAEK,MAAM,+BAA+B,GAAG,CAAC,MAAc,KAAI;AAChE,IAAA,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAEK,MAAM,+BAA+B,GAAG,CAAC,IAAwB,KAAI;AAC1E,IAAA,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAEK,MAAM,iBAAiB,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAErD,MAAM,iBAAiB,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAErD,MAAM,2BAA2B,GAAG,CAAC,KAAa,KAAI;AAC3D,IAAA,OAAO,CAAG,EAAA,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA,EAAG,KAAK,CAAA,CAAE,CAAC;AAC5C,CAAC,CAAC;AAEK,MAAM,2BAA2B,GAAG,CAAC,GAAuB,KAAI;AACrE,IAAA,MAAM,KAAK,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACtC,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC5C,CAAC,CAAC;AAEK,MAAM,gBAAgB,GAAG,CAAC,GAAW,KAAI;AAC9C,IAAA,OAAO,CAAC,GAAG,GAAG,IAAI,GAAG,KAAK,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;AACjD,CAAC,CAAC;AAEK,MAAM,gBAAgB,GAAG,CAAC,KAAyB,KAAI;IAC5D,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAChC,IAAA,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE;AAChD,QAAA,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;AAC7B,KAAA;AACH,CAAC;;AChYM,MAAM,sBAAsB,GAAG;IACpC,MAAM,EAAE,KAAK,CAAC,MAAM;AACpB,IAAA,QAAQ,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC;CAC5B,CAAC;AAEK,MAAM,gBAAgB,GAAG;IAC9B,GAAG,EAAE,KAAK,CAAC,GAAG;IACd,MAAM,EAAE,KAAK,CAAC,MAAM;CACrB,CAAC;AAEK,MAAM,YAAY,GAAG;IAC1B,MAAM,EAAE,KAAK,CAAC,GAAG;IACjB,GAAG,EAAE,KAAK,CAAC,MAAM;IACjB,OAAO,EAAE,KAAK,CAAC,MAAM;IACrB,SAAS,EAAE,KAAK,CAAC,MAAM;IACvB,aAAa,EAAE,KAAK,CAAC,MAAM;IAC3B,UAAU,EAAE,KAAK,CAAC,UAAU;CAC7B,CAAC;AAEK,MAAM,gBAAgB,GAAG;IAC9B,MAAM,EAAE,KAAK,CAAC,GAAG;IACjB,GAAG,EAAE,KAAK,CAAC,MAAM;IACjB,OAAO,EAAE,KAAK,CAAC,MAAM;IACrB,SAAS,EAAE,KAAK,CAAC,MAAM;IACvB,aAAa,EAAE,KAAK,CAAC,MAAM;IAC3B,QAAQ,EAAE,KAAK,CAAC,QAAQ;CACzB,CAAC;AAEK,MAAM,iBAAiB,GAAG;IAC/B,MAAM,EAAE,KAAK,CAAC,GAAG;IACjB,GAAG,EAAE,KAAK,CAAC,MAAM;IACjB,OAAO,EAAE,KAAK,CAAC,MAAM;IACrB,SAAS,EAAE,KAAK,CAAC,MAAM;IACvB,aAAa,EAAE,KAAK,CAAC,MAAM;IAC3B,MAAM,EAAE,KAAK,CAAC,MAAM;IACpB,WAAW,EAAE,KAAK,CAAC,OAAO;IAC1B,UAAU,EAAE,KAAK,CAAC,UAAU;CAC7B,CAAC;AAEK,MAAM,iBAAiB,GAAG;IAC/B,MAAM,EAAE,KAAK,CAAC,GAAG;IACjB,GAAG,EAAE,KAAK,CAAC,MAAM;IACjB,OAAO,EAAE,KAAK,CAAC,MAAM;IACrB,SAAS,EAAE,KAAK,CAAC,MAAM;IACvB,aAAa,EAAE,KAAK,CAAC,MAAM;IAC3B,OAAO,EAAE,KAAK,CAAC,MAAM;IACrB,QAAQ,EAAE,KAAK,CAAC,QAAQ;IACxB,MAAM,EAAE,KAAK,CAAC,MAAM;CACrB,CAAC;AAEK,MAAM,YAAY,GAAG;IAC1B,MAAM,EAAE,KAAK,CAAC,GAAG;IACjB,MAAM,EAAE,KAAK,CAAC,KAAK;IACnB,QAAQ,EAAE,KAAK,CAAC,QAAQ;IACxB,MAAM,EAAE,KAAK,CAAC,gBAAgB;CAC/B,CAAC;AAEK,MAAM,iBAAiB,GAAG;IAC/B,IAAI,EAAE,KAAK,CAAC,KAAK;IACjB,KAAK,EAAE,KAAK,CAAC,KAAK;IAClB,KAAK,EAAE,KAAK,CAAC,KAAK;IAClB,kBAAkB,EAAE,KAAK,CAAC,kBAAkB;CAC7C,CAAC;AAEK,MAAM,yBAAyB,GAAG;IACvC,KAAK,EAAE,KAAK,CAAC,KAAK;IAClB,KAAK,EAAE,KAAK,CAAC,GAAG;CACjB,CAAC;AAEK,MAAM,eAAe,GAAG;IAC7B,MAAM,EAAE,KAAK,CAAC,GAAG;IACjB,MAAM,EAAE,KAAK,CAAC,KAAK;IACnB,SAAS,EAAE,KAAK,CAAC,YAAY;CAC9B,CAAC;AAEK,MAAM,4BAA4B,GAAG;IAC1C,MAAM,EAAE,KAAK,CAAC,GAAG;IACjB,GAAG,EAAE,KAAK,CAAC,MAAM;IACjB,OAAO,EAAE,KAAK,CAAC,MAAM;IACrB,SAAS,EAAE,KAAK,CAAC,MAAM;IACvB,aAAa,EAAE,KAAK,CAAC,MAAM;IAC3B,KAAK,EAAE,KAAK,CAAC,KAAK;CACnB,CAAC;AAEK,MAAM,oBAAoB,GAAG;IAClC,MAAM,EAAE,KAAK,CAAC,GAAG;IACjB,GAAG,EAAE,KAAK,CAAC,MAAM;IACjB,OAAO,EAAE,KAAK,CAAC,MAAM;IACrB,SAAS,EAAE,KAAK,CAAC,MAAM;IACvB,aAAa,EAAE,KAAK,CAAC,MAAM;IAC3B,eAAe,EAAE,KAAK,CAAC,KAAK;IAC5B,SAAS,EAAE,KAAK,CAAC,KAAK;IACtB,eAAe,EAAE,KAAK,CAAC,OAAO;IAC9B,aAAa,EAAE,KAAK,CAAC,MAAM;IAC3B,WAAW,EAAE,KAAK,CAAC,OAAO;IAC1B,UAAU,EAAE,KAAK,CAAC,UAAU;CAC7B,CAAC;AAEK,MAAM,yBAAyB,GAAG;IACvC,MAAM,EAAE,KAAK,CAAC,GAAG;IACjB,GAAG,EAAE,KAAK,CAAC,MAAM;IACjB,OAAO,EAAE,KAAK,CAAC,MAAM;IACrB,SAAS,EAAE,KAAK,CAAC,MAAM;IACvB,aAAa,EAAE,KAAK,CAAC,MAAM;IAC3B,qBAAqB,EAAE,KAAK,CAAC,2BAA2B;CACzD,CAAC;AAEK,MAAM,yBAAyB,GAAG;IACvC,MAAM,EAAE,KAAK,CAAC,GAAG;IACjB,GAAG,EAAE,KAAK,CAAC,MAAM;IACjB,OAAO,EAAE,KAAK,CAAC,MAAM;IACrB,SAAS,EAAE,KAAK,CAAC,MAAM;IACvB,aAAa,EAAE,KAAK,CAAC,MAAM;IAC3B,MAAM,EAAE,KAAK,CAAC,YAAY;IAC1B,OAAO,EAAE,KAAK,CAAC,uBAAuB;IACtC,UAAU,EAAE,KAAK,CAAC,UAAU;CAC7B,CAAC;AAEK,MAAM,yBAAyB,GAAG;IACvC,MAAM,EAAE,KAAK,CAAC,GAAG;IACjB,GAAG,EAAE,KAAK,CAAC,MAAM;IACjB,OAAO,EAAE,KAAK,CAAC,MAAM;IACrB,SAAS,EAAE,KAAK,CAAC,MAAM;IACvB,aAAa,EAAE,KAAK,CAAC,MAAM;IAC3B,MAAM,EAAE,KAAK,CAAC,MAAM;IACpB,WAAW,EAAE,KAAK,CAAC,sBAAsB;CAC1C,CAAC;AAEK,MAAM,gBAAgB,GAC3B,CAAC,QAAoD,KAAK,CAAC,SAA2B,KAAI;AACxF,IAAA,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,kBAAkB,CAAC,EAAE;AAC5E,QAAA,MAAM,IAAI,yBAAyB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AACrD,KAAA;AAED,IAAA,OAAO,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC;AAClF,CAAC,CAAC;AAEG,MAAM,gBAAgB,GAC3B,CAAC,QAAoC,KAAK,CAAC,KAAyB,KAAI;IACtE,MAAM,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAE5B,MAAM,aAAa,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACzC,IAAI,aAAa,KAAK,SAAS,EAAE;QAC/B,MAAM,IAAI,yBAAyB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;AACvD,KAAA;IAED,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC;AAElD,IAAA,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE;AAClC,QAAA,MAAM,IAAI,sBAAsB,CAAC,2BAA2B,CAAC,CAAC;AAC/D,KAAA;AAED,IAAA,OAAA,MAAA,CAAA,MAAA,CAAA,EACE,IAAI,EAAE,aAAa,EAAA,EAChB,UAAU,CACb,CAAA;AACJ,CAAC,CAAC;AAKG,MAAM,aAAa,GACxB,CAAC,QAAoD,KAAK,CAAC,MAAc,KAAK,CAAC,KAAY,KAAI;IAC7F,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACjC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,GAAG,KAAI;AAC/B,QAAA,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAU,CAAC;QAE3C,IAAI,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;YACzC,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,YAAA,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;AAE1B,YAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;AAC1B,gBAAA,MAAM,IAAI,sBAAsB,CAAC,CAAA,2BAAA,EAA8B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAE,CAAA,CAAC,CAAC;AAC1F,aAAA;YAED,OAAO,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,OAAO,KAAK,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;AACvF,SAAA;AAAM,aAAA;AACL,YAAA,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC;YACxC,OAAO,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;AACnC,SAAA;KACF,EAAE,EAAE,CAAC,CAAC;AACT,CAAC,CAAC;AAEG,MAAM,aAAa,GACxB,CAAC,QAAoC,KACrC,CAAC,MAA4C,KAC7C,CAAC,KAAyB,KAAI;IAC5B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACjC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,GAAG,KAAI;AAC/B,QAAA,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;AAElC,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;YAChC,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;YAE3C,MAAM,OAAO,GAAG,EAAE,CAAC;AACnB,YAAA,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;AAClC,YAAA,OAAO,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE;gBACzB,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;AAE7B,gBAAA,IAAI,UAAU,KAAK,KAAK,CAAC,MAAM,EAAE,EAAE;AACjC,oBAAA,MAAM,IAAI,sBAAsB,CAAC,wBAAwB,CAAC,CAAC;AAC5D,iBAAA;AACF,aAAA;AAED,YAAA,OAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACK,IAAI,CACP,EAAA,EAAA,CAAC,GAAG,GAAG,OAAO,EACd,CAAA,CAAA;AACH,SAAA;AAAM,aAAA;AACL,YAAA,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC;AAExC,YAAA,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;AAE9B,YAAA,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;AACjC,gBAAA,OAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACK,IAAI,CACP,EAAA,EAAA,CAAC,GAAG,GAAG,MAAM,EACb,CAAA,CAAA;AACH,aAAA;AAAM,iBAAA;AACL,gBAAA,OAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACK,IAAI,CACP,CAAA;AACH,aAAA;AACF,SAAA;KACF,EAAE,EAAE,CAAC,CAAC;AACT,CAAC;;AC1LU,MAAA,QAAQ,GAA+B;AAClD,IAAA,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,KAAK,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AACrD,IAAA,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,GAAG,KAAK,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AAClD,IAAA,CAAC,KAAK,CAAC,GAAG,GAAG,UAAU;AACvB,IAAA,CAAC,KAAK,CAAC,MAAM,GAAG,aAAa;AAC7B,IAAA,CAAC,KAAK,CAAC,MAAM,GAAG,aAAa;AAC7B,IAAA,CAAC,KAAK,CAAC,UAAU,GAAG,gBAAgB;AACpC,IAAA,CAAC,KAAK,CAAC,GAAG,GAAG,UAAU;AACvB,IAAA,CAAC,KAAK,CAAC,QAAQ,GAAG,eAAe;AACjC,IAAA,CAAC,KAAK,CAAC,KAAK,GAAG,YAAY;AAC3B,IAAA,CAAC,KAAK,CAAC,MAAM,GAAG,aAAa;AAC7B,IAAA,CAAC,KAAK,CAAC,gBAAgB,GAAG,aAAa;AACvC,IAAA,CAAC,KAAK,CAAC,QAAQ,GAAG,eAAe;AACjC,IAAA,CAAC,KAAK,CAAC,YAAY,GAAG,gBAAgB;AACtC,IAAA,CAAC,KAAK,CAAC,UAAU,GAAG,iBAAiB;AACrC,IAAA,CAAC,KAAK,CAAC,OAAO,GAAG,cAAc;AAC/B,IAAA,CAAC,KAAK,CAAC,sBAAsB,GAAG,2BAA2B;AAC3D,IAAA,CAAC,KAAK,CAAC,KAAK,GAAG,qBAAqB;AACpC,IAAA,CAAC,KAAK,CAAC,KAAK,GAAG,YAAY;AAC3B,IAAA,CAAC,KAAK,CAAC,kBAAkB,GAAG,uBAAuB;AACnD,IAAA,CAAC,KAAK,CAAC,UAAU,GAAG,qBAAqB;AACzC,IAAA,CAAC,KAAK,CAAC,2BAA2B,GAAG,+BAA+B;AACpE,IAAA,CAAC,KAAK,CAAC,YAAY,GAAG,iBAAiB;AACvC,IAAA,CAAC,KAAK,CAAC,uBAAuB,GAAG,2BAA2B;AAC5D,IAAA,CAAC,KAAK,CAAC,UAAU,GAAG,gBAAgB;EACpC;AAEF,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;AACvD,QAAQ,CAAC,KAAK,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAuB,KAC5D,aAAa,CAAC,QAAQ,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC;AACjD,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,GAAuB,KACtD,aAAa,CAAC,QAAQ,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC;AACjD,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,GAAuB,KACvD,aAAa,CAAC,QAAQ,CAAC,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC;AAClD,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,GAAuB,KACvD,aAAa,CAAC,QAAQ,CAAC,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC;AAClD,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,GAAuB,KAAK,aAAa,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC;AACpG,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,GAAuB,KACvD,aAAa,CAAC,QAAQ,CAAC,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC;AAClD,QAAQ,CAAC,KAAK,CAAC,wBAAwB,CAAC,GAAG,CAAC,GAAuB,KACjE,aAAa,CAAC,QAAQ,CAAC,CAAC,yBAAyB,CAAC,CAAC,GAAG,CAAC,CAAC;AAC1D,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,GAAuB,KACrD,aAAa,CAAC,QAAQ,CAAC,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,CAAC;AAChD,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,GAAuB,KAAK,aAAa,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC;AACpG,QAAQ,CAAC,KAAK,CAAC,2BAA2B,CAAC,GAAG,CAAC,GAAuB,KACpE,aAAa,CAAC,QAAQ,CAAC,CAAC,4BAA4B,CAAC,CAAC,GAAG,CAAC,CAAC;AAC7D,QAAQ,CAAC,KAAK,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAuB,KAC3D,aAAa,CAAC,QAAQ,CAAC,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,CAAC;AACrD,QAAQ,CAAC,KAAK,CAAC,wBAAwB,CAAC,GAAG,CAAC,GAAuB,KACjE,aAAa,CAAC,QAAQ,CAAC,CAAC,yBAAyB,CAAC,CAAC,GAAG,CAAC,CAAC;AAC1D,QAAQ,CAAC,KAAK,CAAC,yBAAyB,CAAC,GAAG,CAAC,GAAuB,KAClE,aAAa,CAAC,QAAQ,CAAC,CAAC,yBAAyB,CAAC,CAAC,GAAG,CAAC,CAAC;AAC1D,QAAQ,CAAC,KAAK,CAAC,wBAAwB,CAAC,GAAG,CAAC,GAAuB,KACjE,aAAa,CAAC,QAAQ,CAAC,CAAC,yBAAyB,CAAC,CAAC,GAAG,CAAC,CAAC;AAC1D,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC,sBAAsB,CAAC;;ACxD5D,MAAA,QAAQ,GAAoC;IACvD,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,GAAW,KAAK,GAAG;IACpC,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,GAAW,KAAK,GAAG;AACjC,IAAA,CAAC,KAAK,CAAC,GAAG,GAAG,UAAU;AACvB,IAAA,CAAC,KAAK,CAAC,MAAM,GAAG,aAAa;AAC7B,IAAA,CAAC,KAAK,CAAC,MAAM,GAAG,aAAa;AAC7B,IAAA,CAAC,KAAK,CAAC,UAAU,GAAG,gBAAgB;AACpC,IAAA,CAAC,KAAK,CAAC,GAAG,GAAG,UAAU;AACvB,IAAA,CAAC,KAAK,CAAC,QAAQ,GAAG,eAAe;AACjC,IAAA,CAAC,KAAK,CAAC,MAAM,GAAG,aAAa;AAC7B,IAAA,CAAC,KAAK,CAAC,gBAAgB,GAAG,aAAa;AACvC,IAAA,CAAC,KAAK,CAAC,QAAQ,GAAG,eAAe;AACjC,IAAA,CAAC,KAAK,CAAC,YAAY,GAAG,gBAAgB;AACtC,IAAA,CAAC,KAAK,CAAC,KAAK,GAAG,YAAY;AAC3B,IAAA,CAAC,KAAK,CAAC,UAAU,GAAG,iBAAiB;AACrC,IAAA,CAAC,KAAK,CAAC,OAAO,GAAG,cAAc;AAC/B,IAAA,CAAC,KAAK,CAAC,sBAAsB,GAAG,2BAA2B;AAC3D,IAAA,CAAC,KAAK,CAAC,KAAK,GAAG,qBAAqB;AACpC,IAAA,CAAC,KAAK,CAAC,KAAK,GAAG,YAAY;AAC3B,IAAA,CAAC,KAAK,CAAC,kBAAkB,GAAG,uBAAuB;AACnD,IAAA,CAAC,KAAK,CAAC,UAAU,GAAG,qBAAqB;AACzC,IAAA,CAAC,KAAK,CAAC,2BAA2B,GAAG,+BAA+B;AACpE,IAAA,CAAC,KAAK,CAAC,YAAY,GAAG,iBAAiB;AACvC,IAAA,CAAC,KAAK,CAAC,uBAAuB,GAAG,2BAA2B;AAC5D,IAAA,CAAC,KAAK,CAAC,UAAU,GAAG,gBAAgB;EACpC;AAEF,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;AACvD,QAAQ,CAAC,KAAK,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAQ,KAAK,aAAa,CAAC,QAAQ,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC;AACnG,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,GAAQ,KAAK,aAAa,CAAC,QAAQ,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC;AAC7F,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,GAAQ,KAAK,aAAa,CAAC,QAAQ,CAAC,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC;AAC/F,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,GAAQ,KAAK,aAAa,CAAC,QAAQ,CAAC,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC;AAC/F,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,GAAQ,KAAK,aAAa,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC;AACrF,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,GAAQ,KAAK,aAAa,CAAC,QAAQ,CAAC,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC;AAC/F,QAAQ,CAAC,KAAK,CAAC,wBAAwB,CAAC,GAAG,CAAC,GAAQ,KAClD,aAAa,CAAC,QAAQ,CAAC,CAAC,yBAAyB,CAAC,CAAC,GAAG,CAAC,CAAC;AAC1D,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,GAAQ,KAAK,aAAa,CAAC,QAAQ,CAAC,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,CAAC;AAC3F,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,GAAQ,KAAK,aAAa,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC;AACrF,QAAQ,CAAC,KAAK,CAAC,2BAA2B,CAAC,GAAG,CAAC,GAAQ,KACrD,aAAa,CAAC,QAAQ,CAAC,CAAC,4BAA4B,CAAC,CAAC,GAAG,CAAC,CAAC;AAC7D,QAAQ,CAAC,KAAK,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAQ,KAC5C,aAAa,CAAC,QAAQ,CAAC,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,CAAC;AACrD,QAAQ,CAAC,KAAK,CAAC,wBAAwB,CAAC,GAAG,CAAC,GAAQ,KAClD,aAAa,CAAC,QAAQ,CAAC,CAAC,yBAAyB,CAAC,CAAC,GAAG,CAAC,CAAC;AAC1D,QAAQ,CAAC,KAAK,CAAC,yBAAyB,CAAC,GAAG,CAAC,GAAQ,KACnD,aAAa,CAAC,QAAQ,CAAC,CAAC,yBAAyB,CAAC,CAAC,GAAG,CAAC,CAAC;AAC1D,QAAQ,CAAC,KAAK,CAAC,wBAAwB,CAAC,GAAG,CAAC,GAAQ,KAClD,aAAa,CAAC,QAAQ,CAAC,CAAC,yBAAyB,CAAC,CAAC,GAAG,CAAC,CAAC;AAC1D,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC,sBAAsB,CAAC;;AC5DzE,MAAM,oBAAoB,GAAG;AAC3B,IAAA,gBAAgB,EAAE,gBAAgB;AAClC,IAAA,MAAM,EAAE,YAAY;AACpB,IAAA,UAAU,EAAE,gBAAgB;AAC5B,IAAA,WAAW,EAAE,iBAAiB;AAC9B,IAAA,WAAW,EAAE,iBAAiB;AAC9B,IAAA,MAAM,EAAE,YAAY;AACpB,IAAA,WAAW,EAAE,iBAAiB;AAC9B,IAAA,qBAAqB,EAAE,yBAAyB;AAChD,IAAA,SAAS,EAAE,eAAe;AAC1B,IAAA,wBAAwB,EAAE,4BAA4B;AACtD,IAAA,eAAe,EAAE,oBAAoB;AACrC,IAAA,qBAAqB,EAAE,yBAAyB;AAChD,IAAA,sBAAsB,EAAE,yBAAyB;AACjD,IAAA,qBAAqB,EAAE,yBAAyB;CACjD,CAAC;AAEF;AACA,MAAM,kBAAkB,GAAG,CAAC,IAAc,EAAE,IAAc,KAAI;AAC5D,IAAA,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/C,CAAC,CAAC;AAEF,MAAM,yBAAyB,GAAG,CAAC,KAAe,EAAE,IAAY,KAAI;AAClE,IAAA,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;AACzC,CAAC,CAAC;AAEF;;AAEG;AACI,MAAM,qBAAqB,GAAG,CAAC,MAAc,KAAI;IACtD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;AACrD,IAAA,OAAO,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF;;;;;AAKG;AACI,MAAM,uBAAuB,GAAG,CAAC,gBAAmC,KAAI;AAC7E,IAAA,MAAM,IAAI,GAAG,gBAAgB,CAAC,IAAqB,CAAC;IAEpD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC3C,MAAM,SAAS,GAAG,yBAAyB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAE1D,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC;AAE3D,IAAA,OAAO,kBAAkB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;AACnD,CAAC;;ICpFW,cAcX;AAdD,CAAA,UAAY,aAAa,EAAA;AACvB,IAAA,aAAA,CAAA,UAAA,CAAA,GAAA,qDAAgE,CAAA;AAChE,IAAA,aAAA,CAAA,UAAA,CAAA,GAAA,qDAAgE,CAAA;AAChE,IAAA,aAAA,CAAA,UAAA,CAAA,GAAA,qDAAgE,CAAA;AAChE,IAAA,aAAA,CAAA,UAAA,CAAA,GAAA,qDAAgE,CAAA;AAChE,IAAA,aAAA,CAAA,UAAA,CAAA,GAAA,qDAAgE,CAAA;AAChE,IAAA,aAAA,CAAA,UAAA,CAAA,GAAA,qDAAgE,CAAA;AAChE,IAAA,aAAA,CAAA,WAAA,CAAA,GAAA,qDAAiE,CAAA;AACjE,IAAA,aAAA,CAAA,WAAA,CAAA,GAAA,qDAAiE,CAAA;AACjE,IAAA,aAAA,CAAA,UAAA,CAAA,GAAA,qDAAgE,CAAA;AAChE,IAAA,aAAA,CAAA,WAAA,CAAA,GAAA,qDAAiE,CAAA;AACjE,IAAA,aAAA,CAAA,WAAA,CAAA,GAAA,qDAAiE,CAAA;AACjE,IAAA,aAAA,CAAA,WAAA,CAAA,GAAA,qDAAiE,CAAA;AACjE,IAAA,aAAA,CAAA,YAAA,CAAA,GAAA,qDAAkE,CAAA;AACpE,CAAC,EAdW,aAAa,KAAb,aAAa,GAcxB,EAAA,CAAA,CAAA;;ACbD;AACa,MAAA,OAAO,GAAG;AACnB,IAAA,YAAY,EAAE,0CAA0C;AACxD,IAAA,SAAS,EAAE,QAAQ;;;ACJvB;;;AAGG;AAoBH,MAAM,gBAAgB,GAAG,aAAa,CAAC,SAAS,CAAC;AAEjC,SAAA,QAAQ,CAAC,KAAY,EAAE,MAAqB,EAAA;IAC1D,OAAO;AACL,QAAA,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC;AACxB,QAAA,OAAO,EAAE,CAAC,GAAW,KAAI;YACvB,MAAM,QAAQ,GAAG,kBAAkB,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;AACvD,YAAA,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAQ,CAAC;SACzC;KACF,CAAC;AACJ,CAAC;MAEY,WAAW,CAAA;AACtB,IAAA,WAAA,CAA4B,eAAe,gBAAgB,EAAA;QAA/B,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAmB;QAEnD,IAAK,CAAA,KAAA,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;KAFI;AAI/D,IAAA,KAAK,CAAC,MAAmB,EAAA;QACvB,IAAI,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,gBAAgB,CAAC,KAAK,EAAE;YAC3D,MAAM,IAAI,qBAAqB,CAAC,CAAA,eAAA,EAAkB,MAAM,CAAC,MAAM,CAAa,WAAA,CAAA,CAAC,CAAC;AAC/E,SAAA;AAED,QAAA,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE;AACrC,YAAA,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;AACxC,gBAAA,MAAM,IAAI,yBAAyB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACnD,aAAA;AAED,YAAA,MAAM,IAAI,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;AAC9C,YAAA,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;AACrB,gBAAA,IAAI,OAAO,CAAC,IAAI,KAAK,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,UAAU,EAAE;oBAC3D,SAAS;AACV,iBAAA;AAAM,qBAAA,IAAI,OAAO,CAAC,IAAI,KAAK,aAAa,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,UAAU,EAAE;oBACnE,SAAS;AACV,iBAAA;AAAM,qBAAA,IAAI,OAAO,CAAC,IAAI,KAAK,aAAa,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,YAAY,EAAE;oBACrE,SAAS;AACV,iBAAA;AAAM,qBAAA,IACL,OAAO,CAAC,IAAI,KAAM,wBAAoC;AACtD,oBAAA,IAAI,CAAC,CAAC,CAAC,KAAK,YAAY,EACxB;oBACA,SAAS;AACV,iBAAA;AAAM,qBAAA;AACL,oBAAA,MAAM,IAAI,2BAA2B,CACnC,CAAA,oBAAA,EAAuB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAA,CAAE,CACpD,CAAC;AACH,iBAAA;AACF,aAAA;AAAM,iBAAA,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;AAC1B,gBAAA,MAAM,IAAI,2BAA2B,CAAC,CAAA,oBAAA,EAAuB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAA,CAAE,CAAC,CAAC;AAC5F,aAAA;AACF,SAAA;AACD,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;AACxD,QAAA,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;KAChC;AAED,IAAA,KAAK,CAAC,GAAW,EAAA;AACf,QAAA,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAgB,CAAC,CAAC;KAChE;AACF,CAAA;AAEY,MAAA,WAAW,GAAG,IAAI,WAAW;;;;"}
|
|
1
|
+
{"version":3,"file":"taquito-local-forging.es6.js","sources":["../src/utils.ts","../src/constants.ts","../src/error.ts","../src/uint8array-consumer.ts","../src/michelson/codec.ts","../src/codec.ts","../src/schema/operation.ts","../src/decoder.ts","../src/encoder.ts","../src/validator.ts","../src/protocols.ts","../src/version.ts","../src/taquito-local-forging.ts"],"sourcesContent":["export const concat = (...arr: Uint8Array[]) => {\n return arr.reduce((a: Uint8Array, b: Uint8Array) => {\n const c = new Uint8Array(a.length + b.length);\n c.set(a);\n c.set(b, a.length);\n return c;\n }, new Uint8Array());\n};\n\nexport const toHexString = (bytes: Uint8Array) =>\n bytes.reduce((str, byte) => str + byte.toString(16).padStart(2, '0'), '');\n\nexport const pad = (num: number, paddingLen = 8) => {\n return num.toString(16).padStart(paddingLen, '0');\n};\n","/*\n * Some code in this file is originally from sotez\n * Copyright (c) 2018 Andrew Kishino\n */\n\nimport { pad } from './utils';\n\n// See: https://tezos.gitlab.io/protocols/005_babylon.html#transactions-now-have-an-entrypoint\nexport const ENTRYPOINT_MAX_LENGTH = 31;\n\nexport enum CODEC {\n SECRET = 'secret',\n RAW = 'raw',\n TZ1 = 'tz1',\n BRANCH = 'branch',\n ZARITH = 'zarith',\n PUBLIC_KEY = 'public_key',\n PKH = 'pkh',\n DELEGATE = 'delegate',\n SCRIPT = 'script',\n BALLOT_STATEMENT = 'ballotStmt',\n PROPOSAL = 'proposal',\n PROPOSAL_ARR = 'proposalArr',\n INT32 = 'int32',\n INT16 = 'int16',\n PARAMETERS = 'parameters',\n ADDRESS = 'address',\n SMART_CONTRACT_ADDRESS = 'smart_contract_address',\n VALUE = 'value',\n MANAGER = 'manager',\n BLOCK_PAYLOAD_HASH = 'blockPayloadHash',\n ENTRYPOINT = 'entrypoint',\n OPERATION = 'operation',\n OP_ACTIVATE_ACCOUNT = 'activate_account',\n OP_DELEGATION = 'delegation',\n OP_TRANSACTION = 'transaction',\n OP_ORIGINATION = 'origination',\n OP_BALLOT = 'ballot',\n OP_ENDORSEMENT = 'endorsement',\n OP_SEED_NONCE_REVELATION = 'seed_nonce_revelation',\n OP_REVEAL = 'reveal',\n OP_PROPOSALS = 'proposals',\n OP_REGISTER_GLOBAL_CONSTANT = 'register_global_constant',\n OP_TRANSFER_TICKET = 'transfer_ticket',\n OP_TX_ROLLUP_ORIGINATION = 'tx_rollup_origination',\n OP_TX_ROLLUP_SUBMIT_BATCH = 'tx_rollup_submit_batch',\n BURN_LIMIT = 'burn_limit',\n TX_ROLLUP_ORIGINATION_PARAM = 'tx_rollup_origination_param',\n TX_ROLLUP_ID = 'tx_rollup_id',\n TX_ROLLUP_BATCH_CONTENT = 'tx_rollup_batch_content',\n OP_INCREASE_PAID_STORAGE = 'increase_paid_storage',\n}\n\n// See https://tezos.gitlab.io/whitedoc/michelson.html#full-grammar\nexport const opMapping: { [key: string]: string } = {\n '00': 'parameter',\n '01': 'storage',\n '02': 'code',\n '03': 'False',\n '04': 'Elt',\n '05': 'Left',\n '06': 'None',\n '07': 'Pair',\n '08': 'Right',\n '09': 'Some',\n '0a': 'True',\n '0b': 'Unit',\n '0c': 'PACK',\n '0d': 'UNPACK',\n '0e': 'BLAKE2B',\n '0f': 'SHA256',\n '10': 'SHA512',\n '11': 'ABS',\n '12': 'ADD',\n '13': 'AMOUNT',\n '14': 'AND',\n '15': 'BALANCE',\n '16': 'CAR',\n '17': 'CDR',\n '18': 'CHECK_SIGNATURE',\n '19': 'COMPARE',\n '1a': 'CONCAT',\n '1b': 'CONS',\n '1c': 'CREATE_ACCOUNT', // Removed in Edo\n '1d': 'CREATE_CONTRACT', // Removed in Edo\n '1e': 'IMPLICIT_ACCOUNT',\n '1f': 'DIP',\n '20': 'DROP',\n '21': 'DUP',\n '22': 'EDIV',\n '23': 'EMPTY_MAP',\n '24': 'EMPTY_SET',\n '25': 'EQ',\n '26': 'EXEC',\n '27': 'FAILWITH',\n '28': 'GE',\n '29': 'GET',\n '2a': 'GT',\n '2b': 'HASH_KEY',\n '2c': 'IF',\n '2d': 'IF_CONS',\n '2e': 'IF_LEFT',\n '2f': 'IF_NONE',\n '30': 'INT',\n '31': 'LAMBDA',\n '32': 'LE',\n '33': 'LEFT',\n '34': 'LOOP',\n '35': 'LSL',\n '36': 'LSR',\n '37': 'LT',\n '38': 'MAP',\n '39': 'MEM',\n '3a': 'MUL',\n '3b': 'NEG',\n '3c': 'NEQ',\n '3d': 'NIL',\n '3e': 'NONE',\n '3f': 'NOT',\n '40': 'NOW',\n '41': 'OR',\n '42': 'PAIR',\n '43': 'PUSH',\n '44': 'RIGHT',\n '45': 'SIZE',\n '46': 'SOME',\n '47': 'SOURCE',\n '48': 'SENDER',\n '49': 'SELF',\n '4a': 'STEPS_TO_QUOTA', // Removed in Edo\n '4b': 'SUB',\n '4c': 'SWAP',\n '4d': 'TRANSFER_TOKENS',\n '4e': 'SET_DELEGATE',\n '4f': 'UNIT',\n '50': 'UPDATE',\n '51': 'XOR',\n '52': 'ITER',\n '53': 'LOOP_LEFT',\n '54': 'ADDRESS',\n '55': 'CONTRACT',\n '56': 'ISNAT',\n '57': 'CAST',\n '58': 'RENAME',\n '59': 'bool',\n '5a': 'contract',\n '5b': 'int',\n '5c': 'key',\n '5d': 'key_hash',\n '5e': 'lambda',\n '5f': 'list',\n '60': 'map',\n '61': 'big_map',\n '62': 'nat',\n '63': 'option',\n '64': 'or',\n '65': 'pair',\n '66': 'set',\n '67': 'signature',\n '68': 'string',\n '69': 'bytes',\n '6a': 'mutez',\n '6b': 'timestamp',\n '6c': 'unit',\n '6d': 'operation',\n '6e': 'address',\n '6f': 'SLICE',\n '70': 'DIG',\n '71': 'DUG',\n '72': 'EMPTY_BIG_MAP',\n '73': 'APPLY',\n '74': 'chain_id',\n '75': 'CHAIN_ID',\n '76': 'LEVEL',\n '77': 'SELF_ADDRESS',\n '78': 'never',\n '79': 'NEVER',\n '7a': 'UNPAIR',\n '7b': 'VOTING_POWER',\n '7c': 'TOTAL_VOTING_POWER',\n '7d': 'KECCAK',\n '7e': 'SHA3',\n '7f': 'PAIRING_CHECK',\n '80': 'bls12_381_g1',\n '81': 'bls12_381_g2',\n '82': 'bls12_381_fr',\n '83': 'sapling_state',\n '84': 'sapling_transaction_deprecated',\n '85': 'SAPLING_EMPTY_STATE',\n '86': 'SAPLING_VERIFY_UPDATE',\n '87': 'ticket',\n '88': 'TICKET',\n '89': 'READ_TICKET',\n '8a': 'SPLIT_TICKET',\n '8b': 'JOIN_TICKETS',\n '8c': 'GET_AND_UPDATE',\n '8d': 'chest',\n '8e': 'chest_key',\n '8f': 'OPEN_CHEST',\n '90': 'VIEW',\n '91': 'view',\n '92': 'constant',\n '93': 'SUB_MUTEZ',\n '94': 'tx_rollup_l2_address',\n '95': 'MIN_BLOCK_TIME',\n '96': 'sapling_transaction',\n '97': 'EMIT',\n};\n\nexport const opMappingReverse = (() => {\n const result: { [key: string]: string } = {};\n Object.keys(opMapping).forEach((key: string) => {\n result[opMapping[key]] = key;\n });\n return result;\n})();\n\n// See https://tezos.gitlab.io/api/p2p.html\nexport const kindMapping: { [key: number]: string } = {\n 0x04: 'activate_account',\n 0x6b: 'reveal',\n 0x6e: 'delegation',\n 0x6c: 'transaction',\n 0x6d: 'origination',\n 0x06: 'ballot',\n 0x15: 'endorsement',\n 0x01: 'seed_nonce_revelation',\n 0x05: 'proposals',\n 0x6f: 'register_global_constant',\n 0x96: 'tx_rollup_origination',\n 0x97: 'tx_rollup_submit_batch',\n 0x9e: 'transfer_ticket',\n 0x71: 'increase_paid_storage',\n};\n\nexport const kindMappingReverse = (() => {\n const result: { [key: string]: string } = {};\n Object.keys(kindMapping).forEach((key: number | string) => {\n const keyNum = typeof key === 'string' ? parseInt(key, 10) : key;\n result[kindMapping[keyNum]] = pad(keyNum, 2);\n });\n return result;\n})();\n\n// See https://tezos.gitlab.io/protocols/005_babylon.html#transactions-now-have-an-entrypoint\nexport const entrypointMapping: { [key: string]: string } = {\n '00': 'default',\n '01': 'root',\n '02': 'do',\n '03': 'set_delegate',\n '04': 'remove_delegate',\n};\n\nexport const entrypointMappingReverse = (() => {\n const result: { [key: string]: string } = {};\n Object.keys(entrypointMapping).forEach((key: string) => {\n result[entrypointMapping[key]] = key;\n });\n return result;\n})();\n","import { ENTRYPOINT_MAX_LENGTH } from './constants';\n\n/**\n * @category Error\n * @description Error that indicates an invalid block hash being passed or used\n */\nexport class InvalidBlockHashError extends Error {\n public name = 'InvalidBlockHashError';\n constructor(public message: string) {\n super(message);\n }\n}\n\n/**\n * @category Error\n * @description Error that indicates an invalid operation schema being passed or used\n */ export class InvalidOperationSchemaError extends Error {\n public name = 'InvalidOperationSchemaError';\n constructor(public message: string) {\n super(message);\n }\n}\n\n/**\n * @category Error\n * @description Error that indicates an entrypoint exceeding maximum size\n */\nexport class OversizedEntryPointError extends Error {\n public name = 'OversizedEntryPointError';\n constructor(public entrypoint: string) {\n super(\n `Oversized entrypoint: ${entrypoint}. The maximum length of entrypoint is ${ENTRYPOINT_MAX_LENGTH}`\n );\n }\n}\n\n/**\n * @category Error\n * @description Error that indicates an invalid ballot value\n */\nexport class InvalidBallotValueError extends Error {\n public name = 'InvalidBallotValueError';\n constructor(public ballotValue: string) {\n super(`The ballot value '${ballotValue}' is invalid`);\n }\n}\n\n/**\n * @category Error\n * @description Error that indicates a failure when trying to decode ballot value\n */\nexport class DecodeBallotValueError extends Error {\n public name = 'DecodeBallotValueError';\n constructor(public ballotValue: string) {\n super(`Failed to decode ballot value ${ballotValue}`);\n }\n}\n\n/**\n * @category Error\n * @description Error that indicates an invalid hex string have been passed or used\n */\nexport class InvalidHexStringError extends Error {\n public name = 'InvalidHexStringError';\n constructor(public hexString: string) {\n super(`The hex string '${hexString}' is invalid`);\n }\n}\n\n/**\n * @category Error\n * @description Error that indicates unexpected Michelson Value being passed or used\n */\nexport class UnexpectedMichelsonValueError extends Error {\n public name = 'UnexpectedMichelsonValueError';\n constructor(public value: string) {\n super(`Failed to encode michelson value '${value}'`);\n }\n}\n\n/**\n * @category Error\n * @description Error that indicates a failure when trying to decode an operation\n */\nexport class OperationDecodingError extends Error {\n public name = 'OperationDecodingError';\n constructor(public message: string) {\n super(message);\n }\n}\n\n/**\n * @category Error\n * @description Error that indicates a failure when trying to encode an operation\n */\nexport class OperationEncodingError extends Error {\n public name = 'OperationEncodingError';\n constructor(public message: string) {\n super(message);\n }\n}\n\n/**\n * @category Error\n * @description Error that indicates an unsupported operation being passed or used\n */\nexport class UnsupportedOperationError extends Error {\n public name = 'UnsupportedOperationError';\n constructor(public op: string) {\n super(`The operation '${op}' is unsupported`);\n }\n}\n","import { InvalidHexStringError } from './error';\nexport class Uint8ArrayConsumer {\n static fromHexString(hex: string) {\n const lowHex = hex.toLowerCase();\n if (/^(([a-f]|\\d){2})*$/.test(lowHex)) {\n const arr = new Uint8Array(\n (lowHex.match(/([a-z]|\\d){2}/g) || []).map((byte) => parseInt(byte, 16))\n );\n return new Uint8ArrayConsumer(arr);\n } else {\n throw new InvalidHexStringError(lowHex);\n }\n }\n\n constructor(private readonly arr: Uint8Array, private offset: number = 0) {}\n\n public consume(count: number): Uint8Array {\n const subArr = this.arr.subarray(this.offset, this.offset + count);\n this.offset += count;\n return subArr;\n }\n\n public get(idx: number) {\n return this.arr[this.offset + idx];\n }\n\n public length() {\n return this.arr.length - this.offset;\n }\n}\n","import { BigNumber } from 'bignumber.js';\nimport { Decoder } from '../decoder';\nimport { Uint8ArrayConsumer } from '../uint8array-consumer';\nimport { Encoder } from '../taquito-local-forging';\nimport { opMappingReverse, opMapping } from '../constants';\nimport { pad } from '../utils';\nimport { InvalidHexStringError, UnexpectedMichelsonValueError } from '../error';\n\nexport type PrimValue = { prim: string; args?: MichelsonValue[]; annots?: string[] };\nexport type BytesValue = { bytes: string };\nexport type StringValue = { string: string };\nexport type IntValue = { int: string };\nexport type MichelsonValue =\n | PrimValue\n | BytesValue\n | StringValue\n | IntValue\n | (PrimValue | BytesValue | StringValue | IntValue)[];\n\nexport const isPrim = (value: MichelsonValue): value is PrimValue => {\n return 'prim' in value;\n};\n\nexport const isBytes = (value: MichelsonValue): value is BytesValue => {\n return 'bytes' in value && typeof value.bytes === 'string';\n};\n\nexport const isString = (value: MichelsonValue): value is StringValue => {\n return 'string' in value && typeof value.string === 'string';\n};\n\nexport const isInt = (value: MichelsonValue): value is IntValue => {\n return 'int' in value && typeof value.int === 'string';\n};\n\nexport const scriptEncoder: Encoder<{ code: MichelsonValue; storage: MichelsonValue }> = (\n script\n) => {\n const code = valueEncoder(script.code);\n const storage = valueEncoder(script.storage);\n return `${pad(code.length / 2, 8)}${code}${pad(storage.length / 2, 8)}${storage}`;\n};\n\nexport const scriptDecoder: Decoder = (value: Uint8ArrayConsumer) => {\n const code = extractRequiredLen(value);\n const storage = extractRequiredLen(value);\n\n return {\n code: valueDecoder(new Uint8ArrayConsumer(code)),\n storage: valueDecoder(new Uint8ArrayConsumer(storage)),\n };\n};\n\nexport const valueEncoder: Encoder<MichelsonValue> = (value: MichelsonValue) => {\n if (Array.isArray(value)) {\n const encoded = value.map((x) => valueEncoder(x)).join('');\n const len = encoded.length / 2;\n return `02${pad(len)}${encoded}`;\n } else if (isPrim(value)) {\n return primEncoder(value);\n } else if (isBytes(value)) {\n return bytesEncoder(value);\n } else if (isString(value)) {\n return stringEncoder(value);\n } else if (isInt(value)) {\n return intEncoder(value);\n }\n\n throw new UnexpectedMichelsonValueError(JSON.stringify(value));\n};\n\nexport const valueDecoder: Decoder = (value: Uint8ArrayConsumer) => {\n const preamble = value.consume(1);\n switch (preamble[0]) {\n case 0x0a:\n return bytesDecoder(value);\n case 0x01:\n return stringDecoder(value);\n case 0x00:\n return intDecoder(value);\n case 0x02: {\n const val = new Uint8ArrayConsumer(extractRequiredLen(value));\n const results = [];\n while (val.length() > 0) {\n results.push(valueDecoder(val));\n }\n return results;\n }\n default:\n return primDecoder(value, preamble);\n }\n};\n\nexport const extractRequiredLen = (value: Uint8ArrayConsumer, bytesLength = 4) => {\n const len = value.consume(bytesLength);\n const valueLen = parseInt(Buffer.from(len).toString('hex'), 16);\n return value.consume(valueLen);\n};\n\nexport const bytesEncoder: Encoder<BytesValue> = (value) => {\n if (!/^([A-Fa-f0-9]{2})*$/.test(value.bytes)) {\n throw new InvalidHexStringError(value.bytes);\n }\n\n const len = value.bytes.length / 2;\n return `0a${pad(len)}${value.bytes}`;\n};\n\nexport const bytesDecoder: Decoder = (value: Uint8ArrayConsumer) => {\n const bytes = extractRequiredLen(value);\n return {\n bytes: Buffer.from(bytes).toString('hex'),\n };\n};\n\nexport const stringEncoder: Encoder<StringValue> = (value) => {\n const str = Buffer.from(value.string, 'utf8').toString('hex');\n const hexLength = str.length / 2;\n return `01${pad(hexLength)}${str}`;\n};\n\nexport const stringDecoder: Decoder = (value: Uint8ArrayConsumer) => {\n const str = extractRequiredLen(value);\n return {\n string: Buffer.from(str).toString('utf8'),\n };\n};\n\nexport const intEncoder: Encoder<IntValue> = ({ int }) => {\n const num = new BigNumber(int, 10);\n const positiveMark = num.toString(2)[0] === '-' ? '1' : '0';\n const binary = num.toString(2).replace(/-/g, '');\n\n const pad =\n binary.length <= 6\n ? 6\n : (binary.length - 6) % 7\n ? binary.length + 7 - ((binary.length - 6) % 7)\n : binary.length;\n\n const splitted = binary.padStart(pad, '0').match(/\\d{6,7}/g);\n\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const reversed = splitted!.reverse();\n\n reversed[0] = positiveMark + reversed[0];\n\n const numHex = reversed.map((x: string, i: number) =>\n // Add one to the last chunk\n parseInt((i === reversed.length - 1 ? '0' : '1') + x, 2)\n .toString(16)\n .padStart(2, '0')\n );\n\n return `00${numHex.join('')}`;\n};\n\nexport const intDecoder = (value: Uint8ArrayConsumer): IntValue => {\n let c = value.consume(1)[0];\n const hexNumber: number[] = [];\n const isNotLastChunkMask = 1 << 7;\n while (c & isNotLastChunkMask) {\n hexNumber.push(c);\n c = value.consume(1)[0];\n }\n\n hexNumber.push(c);\n const isNegative = !!((1 << 6) & hexNumber[0]);\n\n hexNumber[0] = hexNumber[0] & 0b1111111;\n\n const numBin = hexNumber\n .map((x, i) =>\n x\n .toString(2)\n .slice(i === 0 ? -6 : -7)\n .padStart(i === 0 ? 6 : 7, '0')\n )\n .reverse();\n let num = new BigNumber(numBin.join(''), 2);\n if (isNegative) {\n num = num.times(-1);\n }\n\n return {\n int: num.toFixed(),\n };\n};\n\nexport const primEncoder: Encoder<PrimValue> = (value) => {\n const hasAnnot = +Array.isArray(value.annots);\n const argsCount = Array.isArray(value.args) ? value.args.length : 0;\n\n // Specify the number of args max is 3 without annotation\n const preamble = pad(Math.min(2 * argsCount + hasAnnot + 0x03, 9), 2);\n\n const op = opMappingReverse[value.prim];\n\n let encodedArgs = (value.args || []).map((arg) => valueEncoder(arg)).join('');\n const encodedAnnots = Array.isArray(value.annots) ? encodeAnnots(value.annots) : '';\n\n if (value.prim === 'LAMBDA' && argsCount) {\n encodedArgs = pad(encodedArgs.length / 2) + encodedArgs + pad(0);\n }\n\n if ((value.prim === 'pair' || value.prim === 'Pair') && argsCount > 2) {\n encodedArgs =\n encodedAnnots === ''\n ? pad(encodedArgs.length / 2) + encodedArgs + pad(0)\n : pad(encodedArgs.length / 2) + encodedArgs;\n }\n\n if (value.prim === 'view' && value.args) {\n encodedArgs = pad(encodedArgs.length / 2) + encodedArgs + pad(0);\n }\n\n return `${preamble}${op}${encodedArgs}${encodedAnnots}`;\n};\n\nexport const primDecoder = (value: Uint8ArrayConsumer, preamble: Uint8Array) => {\n const hasAnnot = (preamble[0] - 0x03) % 2 === 1;\n let argsCount = Math.floor((preamble[0] - 0x03) / 2);\n const op = value.consume(1)[0].toString(16).padStart(2, '0');\n\n const result: Partial<PrimValue> = {\n prim: opMapping[op],\n };\n\n if (opMapping[op] === 'LAMBDA') {\n value.consume(4);\n }\n\n if (opMapping[op] === 'view') {\n if (argsCount != 0) {\n return primViewDecoder(value, result);\n } else {\n return result;\n }\n }\n\n let combPairArgs;\n let combPairAnnots;\n if ((opMapping[op] === 'pair' || opMapping[op] === 'Pair') && argsCount > 2) {\n combPairArgs = decodeCombPair(value);\n argsCount = 0;\n combPairAnnots = decodeAnnots(value);\n }\n\n const args = new Array(argsCount).fill(0).map(() => valueDecoder(value));\n\n if (opMapping[op] === 'LAMBDA') {\n value.consume(4);\n }\n\n if (combPairArgs) {\n result['args'] = combPairArgs as any;\n } else if (args.length) {\n result['args'] = args as any;\n }\n\n if (combPairAnnots && (combPairAnnots as any)[0] !== '') {\n result['annots'] = combPairAnnots as any;\n } else if (hasAnnot) {\n result['annots'] = decodeAnnots(value) as any;\n }\n\n return result;\n};\n\nexport const primViewDecoder = (value: Uint8ArrayConsumer, result: Partial<PrimValue>) => {\n value.consume(4);\n result['args'] = new Array(4).fill(0).map(() => valueDecoder(value)) as any;\n value.consume(4);\n return result;\n};\n\nexport const decodeCombPair: Decoder = (val: Uint8ArrayConsumer) => {\n const array = new Uint8ArrayConsumer(extractRequiredLen(val));\n const args = [];\n while (array.length() > 0) {\n args.push(valueDecoder(array));\n }\n return args;\n};\n\nexport const encodeAnnots: Encoder<string[]> = (value: string[]) => {\n const mergedAnnot = value\n .map((x) => {\n return Buffer.from(x, 'utf8').toString('hex');\n })\n .join('20');\n\n const len = mergedAnnot.length / 2;\n return `${pad(len)}${mergedAnnot}`;\n};\n\nexport const decodeAnnots: Decoder = (val: Uint8ArrayConsumer): string[] => {\n const len = val.consume(4);\n const annotLen = parseInt(Buffer.from(len).toString('hex'), 16);\n const restOfAnnot = val.consume(annotLen);\n\n const restOfAnnotHex = Buffer.from(restOfAnnot).toString('hex');\n return restOfAnnotHex.split('20').map((x) => Buffer.from(x, 'hex').toString('utf8'));\n};\n","import {\n b58cdecode,\n b58cencode,\n buf2hex,\n Prefix,\n prefix as prefixMap,\n prefixLength,\n InvalidKeyHashError,\n InvalidPublicKeyError,\n InvalidAddressError,\n InvalidContractAddressError,\n} from '@taquito/utils';\nimport { OversizedEntryPointError, InvalidBallotValueError, DecodeBallotValueError } from './error';\nimport BigNumber from 'bignumber.js';\nimport { entrypointMapping, entrypointMappingReverse, ENTRYPOINT_MAX_LENGTH } from './constants';\nimport { extractRequiredLen, valueDecoder, valueEncoder, MichelsonValue } from './michelson/codec';\nimport { Uint8ArrayConsumer } from './uint8array-consumer';\nimport { pad } from './utils';\n\nexport const prefixEncoder = (prefix: Prefix) => (str: string) => {\n return buf2hex(Buffer.from(b58cdecode(str, prefixMap[prefix])));\n};\n\nexport const prefixDecoder = (pre: Prefix) => (str: Uint8ArrayConsumer) => {\n const val = str.consume(prefixLength[pre]);\n return b58cencode(val, prefixMap[pre]);\n};\n\nexport const tz1Decoder = prefixDecoder(Prefix.TZ1);\nexport const branchDecoder = prefixDecoder(Prefix.B);\nexport const pkhDecoder = (val: Uint8ArrayConsumer) => {\n const prefix = val.consume(1);\n\n if (prefix[0] === 0x00) {\n return prefixDecoder(Prefix.TZ1)(val);\n } else if (prefix[0] === 0x01) {\n return prefixDecoder(Prefix.TZ2)(val);\n } else if (prefix[0] === 0x02) {\n return prefixDecoder(Prefix.TZ3)(val);\n }\n};\n\nexport const branchEncoder = prefixEncoder(Prefix.B);\nexport const tz1Encoder = prefixEncoder(Prefix.TZ1);\n\nexport const boolEncoder = (bool: unknown): string => (bool ? 'ff' : '00');\n\nexport const proposalEncoder = (proposal: string): string => {\n return prefixEncoder(Prefix.P)(proposal);\n};\n\nexport const proposalDecoder = (proposal: Uint8ArrayConsumer): string => {\n return prefixDecoder(Prefix.P)(proposal);\n};\n\nexport const proposalsDecoder = (proposal: Uint8ArrayConsumer): string[] => {\n const proposals = [];\n proposal.consume(4);\n while (proposal.length() > 0) {\n proposals.push(proposalDecoder(proposal));\n }\n return proposals;\n};\n\nexport const proposalsEncoder = (proposals: string[]): string => {\n return pad(32 * proposals.length) + proposals.map((x) => proposalEncoder(x)).join('');\n};\n\nexport const ballotEncoder = (ballot: string): string => {\n switch (ballot) {\n case 'yay':\n return '00';\n case 'nay':\n return '01';\n case 'pass':\n return '02';\n default:\n throw new InvalidBallotValueError(ballot);\n }\n};\n\nexport const ballotDecoder = (ballot: Uint8ArrayConsumer): string => {\n const value = ballot.consume(1);\n switch (value[0]) {\n case 0x00:\n return 'yay';\n case 0x01:\n return 'nay';\n case 0x02:\n return 'pass';\n default:\n throw new DecodeBallotValueError(value[0].toString());\n }\n};\n\nexport const delegateEncoder = (val: string) => {\n if (val) {\n return boolEncoder(true) + pkhEncoder(val);\n } else {\n return boolEncoder(false);\n }\n};\n\nexport const int32Encoder = (val: number | string): string => {\n const num = parseInt(String(val), 10);\n const byte = [];\n for (let i = 0; i < 4; i++) {\n const shiftBy = (4 - (i + 1)) * 8;\n byte.push((num & (0xff << shiftBy)) >> shiftBy);\n }\n return Buffer.from(byte).toString('hex');\n};\n\nexport const int32Decoder = (val: Uint8ArrayConsumer) => {\n const num = val.consume(4);\n let finalNum = 0;\n for (let i = 0; i < num.length; i++) {\n finalNum = finalNum | (num[i] << ((num.length - (i + 1)) * 8));\n }\n\n return finalNum;\n};\n\nexport const int16Encoder = (val: number | string): string => {\n const num = parseInt(String(val), 10);\n const byte = [];\n for (let i = 0; i < 2; i++) {\n const shiftBy = (2 - (i + 1)) * 8;\n byte.push((num & (0xff << shiftBy)) >> shiftBy);\n }\n return Buffer.from(byte).toString('hex');\n};\n\nexport const int16Decoder = (val: Uint8ArrayConsumer) => {\n const num = val.consume(2);\n let finalNum = 0;\n for (let i = 0; i < num.length; i++) {\n finalNum = finalNum | (num[i] << ((num.length - (i + 1)) * 8));\n }\n\n return finalNum;\n};\n\nexport const boolDecoder = (val: Uint8ArrayConsumer): boolean => {\n const bool = val.consume(1);\n return bool[0] === 0xff;\n};\n\nexport const delegateDecoder = (val: Uint8ArrayConsumer) => {\n const hasDelegate = boolDecoder(val);\n if (hasDelegate) {\n return pkhDecoder(val);\n }\n};\n\nexport const pkhEncoder = (val: string) => {\n const pubkeyPrefix = val.substr(0, 3);\n switch (pubkeyPrefix) {\n case Prefix.TZ1:\n return '00' + prefixEncoder(Prefix.TZ1)(val);\n case Prefix.TZ2:\n return '01' + prefixEncoder(Prefix.TZ2)(val);\n case Prefix.TZ3:\n return '02' + prefixEncoder(Prefix.TZ3)(val);\n default:\n throw new InvalidKeyHashError(val);\n }\n};\n\nexport const publicKeyEncoder = (val: string) => {\n const pubkeyPrefix = val.substr(0, 4);\n switch (pubkeyPrefix) {\n case Prefix.EDPK:\n return '00' + prefixEncoder(Prefix.EDPK)(val);\n case Prefix.SPPK:\n return '01' + prefixEncoder(Prefix.SPPK)(val);\n case Prefix.P2PK:\n return '02' + prefixEncoder(Prefix.P2PK)(val);\n default:\n throw new InvalidPublicKeyError(val);\n }\n};\n\nexport const addressEncoder = (val: string): string => {\n const pubkeyPrefix = val.substr(0, 3);\n switch (pubkeyPrefix) {\n case Prefix.TZ1:\n case Prefix.TZ2:\n case Prefix.TZ3:\n return '00' + pkhEncoder(val);\n case Prefix.KT1:\n return '01' + prefixEncoder(Prefix.KT1)(val) + '00';\n default:\n throw new InvalidAddressError(val);\n }\n};\n\nexport const smartContractAddressEncoder = (val: string): string => {\n const prefix = val.substring(0, 3);\n\n if (prefix === Prefix.KT1) {\n return '01' + prefixEncoder(Prefix.KT1)(val) + '00';\n }\n throw new InvalidContractAddressError(val);\n};\n\nexport const publicKeyDecoder = (val: Uint8ArrayConsumer) => {\n const preamble = val.consume(1);\n switch (preamble[0]) {\n case 0x00:\n return prefixDecoder(Prefix.EDPK)(val);\n case 0x01:\n return prefixDecoder(Prefix.SPPK)(val);\n case 0x02:\n return prefixDecoder(Prefix.P2PK)(val);\n default:\n throw new InvalidPublicKeyError(val.toString());\n }\n};\n\nexport const addressDecoder = (val: Uint8ArrayConsumer) => {\n const preamble = val.consume(1);\n switch (preamble[0]) {\n case 0x00:\n return pkhDecoder(val);\n case 0x01: {\n const address = prefixDecoder(Prefix.KT1)(val);\n val.consume(1);\n return address;\n }\n default:\n throw new InvalidAddressError(val.toString());\n }\n};\n\nexport const smartContractAddressDecoder = (val: Uint8ArrayConsumer) => {\n const preamble = val.consume(1);\n if (preamble[0] === 0x01) {\n const scAddress = prefixDecoder(Prefix.KT1)(val);\n val.consume(1);\n return scAddress;\n }\n throw new InvalidContractAddressError(val.toString());\n};\n\nexport const zarithEncoder = (n: string): string => {\n const fn: Array<string> = [];\n let nn = new BigNumber(n, 10);\n if (nn.isNaN()) {\n throw new TypeError(`Invalid zarith number ${n}`);\n }\n // eslint-disable-next-line no-constant-condition\n while (true) {\n if (nn.lt(128)) {\n if (nn.lt(16)) fn.push('0');\n fn.push(nn.toString(16));\n break;\n } else {\n let b = nn.mod(128);\n nn = nn.minus(b);\n nn = nn.dividedBy(128);\n b = b.plus(128);\n fn.push(b.toString(16));\n }\n }\n return fn.join('');\n};\n\nexport const zarithDecoder = (n: Uint8ArrayConsumer): string => {\n let mostSignificantByte = 0;\n while (mostSignificantByte < n.length() && (n.get(mostSignificantByte) & 128) !== 0) {\n mostSignificantByte += 1;\n }\n\n let num = new BigNumber(0);\n for (let i = mostSignificantByte; i >= 0; i -= 1) {\n const tmp = n.get(i) & 0x7f;\n num = num.multipliedBy(128);\n num = num.plus(tmp);\n }\n\n n.consume(mostSignificantByte + 1);\n return new BigNumber(num).toString();\n};\n\nexport const entrypointDecoder = (value: Uint8ArrayConsumer) => {\n const preamble = pad(value.consume(1)[0], 2);\n\n if (preamble in entrypointMapping) {\n return entrypointMapping[preamble];\n } else {\n const entry = extractRequiredLen(value, 1);\n\n const entrypoint = Buffer.from(entry).toString('utf8');\n\n if (entrypoint.length > ENTRYPOINT_MAX_LENGTH) {\n throw new OversizedEntryPointError(entrypoint);\n }\n return entrypoint;\n }\n};\n\nexport const parametersDecoder = (val: Uint8ArrayConsumer) => {\n const preamble = val.consume(1);\n if (preamble[0] === 0x00) {\n return;\n } else {\n const encodedEntrypoint = entrypointDecoder(val);\n const params = extractRequiredLen(val);\n const parameters = valueDecoder(new Uint8ArrayConsumer(params));\n return {\n entrypoint: encodedEntrypoint,\n value: parameters,\n };\n }\n};\nexport const entrypointEncoder = (entrypoint: string) => {\n if (entrypoint in entrypointMappingReverse) {\n return `${entrypointMappingReverse[entrypoint]}`;\n } else {\n if (entrypoint.length > ENTRYPOINT_MAX_LENGTH) {\n throw new OversizedEntryPointError(entrypoint);\n }\n\n const value = { string: entrypoint };\n return `ff${valueEncoder(value).slice(8)}`;\n }\n};\n\nexport const parametersEncoder = (val: { entrypoint: string; value: MichelsonValue }) => {\n if (!val || (val.entrypoint === 'default' && 'prim' in val.value && val.value.prim === 'Unit')) {\n return '00';\n }\n\n const encodedEntrypoint = entrypointEncoder(val.entrypoint);\n const parameters = valueEncoder(val.value);\n const length = (parameters.length / 2).toString(16).padStart(8, '0');\n return `ff${encodedEntrypoint}${length}${parameters}`;\n};\n\nexport const valueParameterEncoder = (value: MichelsonValue) => {\n const valueEncoded = valueEncoder(value);\n return `${pad(valueEncoded.length / 2)}${valueEncoded}`;\n};\n\nexport const valueParameterDecoder = (val: Uint8ArrayConsumer) => {\n const value = extractRequiredLen(val);\n return valueDecoder(new Uint8ArrayConsumer(value));\n};\n\nexport const blockPayloadHashEncoder = prefixEncoder(Prefix.VH);\nexport const blockPayloadHashDecoder = prefixDecoder(Prefix.VH);\n\nexport const entrypointNameEncoder = (entrypoint: string) => {\n const value = { string: entrypoint };\n return `${valueEncoder(value).slice(2)}`;\n};\n\nexport const entrypointNameDecoder = (val: Uint8ArrayConsumer) => {\n const entry = extractRequiredLen(val);\n\n return Buffer.from(entry).toString('utf8');\n};\n\nexport const txRollupOriginationParamEncoder = (_value: string) => {\n return '';\n};\n\nexport const txRollupOriginationParamDecoder = (_val: Uint8ArrayConsumer) => {\n return {};\n};\n\nexport const txRollupIdEncoder = prefixEncoder(Prefix.TXR1);\n\nexport const txRollupIdDecoder = prefixDecoder(Prefix.TXR1);\n\nexport const txRollupBatchContentEncoder = (value: string) => {\n return `${pad(value.length / 2)}${value}`;\n};\n\nexport const txRollupBatchContentDecoder = (val: Uint8ArrayConsumer) => {\n const value = extractRequiredLen(val);\n return Buffer.from(value).toString('hex');\n};\n\nexport const burnLimitEncoder = (val: string) => {\n return !val ? '00' : `ff${zarithEncoder(val)}`;\n};\n\nexport const burnLimitDecoder = (value: Uint8ArrayConsumer) => {\n const prefix = value.consume(1);\n if (Buffer.from(prefix).toString('hex') !== '00') {\n return zarithDecoder(value);\n }\n};\n","import { Decoder } from '../decoder';\nimport { Uint8ArrayConsumer } from '../uint8array-consumer';\nimport { CODEC, kindMapping, kindMappingReverse } from '../constants';\nimport { InvalidOperationKindError } from '@taquito/utils';\nimport {\n OperationDecodingError,\n OperationEncodingError,\n UnsupportedOperationError,\n} from '../error';\n\nexport const ManagerOperationSchema = {\n branch: CODEC.BRANCH,\n contents: [CODEC.OPERATION],\n};\n\nexport const ActivationSchema = {\n pkh: CODEC.TZ1,\n secret: CODEC.SECRET,\n};\n\nexport const RevealSchema = {\n source: CODEC.PKH,\n fee: CODEC.ZARITH,\n counter: CODEC.ZARITH,\n gas_limit: CODEC.ZARITH,\n storage_limit: CODEC.ZARITH,\n public_key: CODEC.PUBLIC_KEY,\n};\n\nexport const DelegationSchema = {\n source: CODEC.PKH,\n fee: CODEC.ZARITH,\n counter: CODEC.ZARITH,\n gas_limit: CODEC.ZARITH,\n storage_limit: CODEC.ZARITH,\n delegate: CODEC.DELEGATE,\n};\n\nexport const TransactionSchema = {\n source: CODEC.PKH,\n fee: CODEC.ZARITH,\n counter: CODEC.ZARITH,\n gas_limit: CODEC.ZARITH,\n storage_limit: CODEC.ZARITH,\n amount: CODEC.ZARITH,\n destination: CODEC.ADDRESS,\n parameters: CODEC.PARAMETERS,\n};\n\nexport const OriginationSchema = {\n source: CODEC.PKH,\n fee: CODEC.ZARITH,\n counter: CODEC.ZARITH,\n gas_limit: CODEC.ZARITH,\n storage_limit: CODEC.ZARITH,\n balance: CODEC.ZARITH,\n delegate: CODEC.DELEGATE,\n script: CODEC.SCRIPT,\n};\n\nexport const BallotSchema = {\n source: CODEC.PKH,\n period: CODEC.INT32,\n proposal: CODEC.PROPOSAL,\n ballot: CODEC.BALLOT_STATEMENT,\n};\n\nexport const EndorsementSchema = {\n slot: CODEC.INT16,\n level: CODEC.INT32,\n round: CODEC.INT32,\n block_payload_hash: CODEC.BLOCK_PAYLOAD_HASH,\n};\n\nexport const SeedNonceRevelationSchema = {\n level: CODEC.INT32,\n nonce: CODEC.RAW,\n};\n\nexport const ProposalsSchema = {\n source: CODEC.PKH,\n period: CODEC.INT32,\n proposals: CODEC.PROPOSAL_ARR,\n};\n\nexport const RegisterGlobalConstantSchema = {\n source: CODEC.PKH,\n fee: CODEC.ZARITH,\n counter: CODEC.ZARITH,\n gas_limit: CODEC.ZARITH,\n storage_limit: CODEC.ZARITH,\n value: CODEC.VALUE,\n};\n\nexport const TransferTicketSchema = {\n source: CODEC.PKH,\n fee: CODEC.ZARITH,\n counter: CODEC.ZARITH,\n gas_limit: CODEC.ZARITH,\n storage_limit: CODEC.ZARITH,\n ticket_contents: CODEC.VALUE,\n ticket_ty: CODEC.VALUE,\n ticket_ticketer: CODEC.ADDRESS,\n ticket_amount: CODEC.ZARITH,\n destination: CODEC.ADDRESS,\n entrypoint: CODEC.ENTRYPOINT,\n};\n\nexport const TxRollupOriginationSchema = {\n source: CODEC.PKH,\n fee: CODEC.ZARITH,\n counter: CODEC.ZARITH,\n gas_limit: CODEC.ZARITH,\n storage_limit: CODEC.ZARITH,\n tx_rollup_origination: CODEC.TX_ROLLUP_ORIGINATION_PARAM,\n};\n\nexport const TxRollupSubmitBatchSchema = {\n source: CODEC.PKH,\n fee: CODEC.ZARITH,\n counter: CODEC.ZARITH,\n gas_limit: CODEC.ZARITH,\n storage_limit: CODEC.ZARITH,\n rollup: CODEC.TX_ROLLUP_ID,\n content: CODEC.TX_ROLLUP_BATCH_CONTENT,\n burn_limit: CODEC.BURN_LIMIT,\n};\n\nexport const IncreasePaidStorageSchema = {\n source: CODEC.PKH,\n fee: CODEC.ZARITH,\n counter: CODEC.ZARITH,\n gas_limit: CODEC.ZARITH,\n storage_limit: CODEC.ZARITH,\n amount: CODEC.ZARITH,\n destination: CODEC.SMART_CONTRACT_ADDRESS,\n};\n\nexport const operationEncoder =\n (encoders: { [key: string]: (val: object) => string }) => (operation: { kind: string }) => {\n if (!(operation.kind in encoders) || !(operation.kind in kindMappingReverse)) {\n throw new InvalidOperationKindError(operation.kind);\n }\n\n return kindMappingReverse[operation.kind] + encoders[operation.kind](operation);\n };\n\nexport const operationDecoder =\n (decoders: { [key: string]: Decoder }) => (value: Uint8ArrayConsumer) => {\n const op = value.consume(1);\n\n const operationName = kindMapping[op[0]];\n if (operationName === undefined) {\n throw new UnsupportedOperationError(op[0].toString());\n }\n\n const decodedObj = decoders[operationName](value);\n\n if (typeof decodedObj !== 'object') {\n throw new OperationDecodingError('Decoded invalid operation');\n }\n\n return {\n kind: operationName,\n ...decodedObj,\n };\n };\n\ntype Schema = Record<string, CODEC | CODEC[]>;\nexport type Value = Record<keyof Schema, unknown[]>;\n\nexport const schemaEncoder =\n (encoders: { [key: string]: (val: object) => string }) => (schema: Schema) => (value: Value) => {\n const keys = Object.keys(schema);\n return keys.reduce((prev, key) => {\n const valueToEncode = schema[key] as CODEC;\n\n if (value && Array.isArray(valueToEncode)) {\n const encoder = encoders[valueToEncode[0]];\n const values = value[key];\n\n if (!Array.isArray(values)) {\n throw new OperationEncodingError(`Expected value to be Array ${JSON.stringify(values)}`);\n }\n\n return prev + values.reduce((prevBytes, current) => prevBytes + encoder(current), '');\n } else {\n const encoder = encoders[valueToEncode];\n return prev + encoder(value[key]);\n }\n }, '');\n };\n\nexport const schemaDecoder =\n (decoders: { [key: string]: Decoder }) =>\n (schema: { [key: string]: string | string[] }) =>\n (value: Uint8ArrayConsumer) => {\n const keys = Object.keys(schema);\n return keys.reduce((prev, key) => {\n const valueToEncode = schema[key];\n\n if (Array.isArray(valueToEncode)) {\n const decoder = decoders[valueToEncode[0]];\n\n const decoded = [];\n const lastLength = value.length();\n while (value.length() > 0) {\n decoded.push(decoder(value));\n\n if (lastLength === value.length()) {\n throw new OperationDecodingError('Unable to decode value');\n }\n }\n\n return {\n ...prev,\n [key]: decoded,\n };\n } else {\n const decoder = decoders[valueToEncode];\n\n const result = decoder(value);\n\n if (typeof result !== 'undefined') {\n return {\n ...prev,\n [key]: result,\n };\n } else {\n return {\n ...prev,\n };\n }\n }\n }, {});\n };\n","import {\n addressDecoder,\n ballotDecoder,\n blockPayloadHashDecoder,\n branchDecoder,\n burnLimitDecoder,\n delegateDecoder,\n entrypointNameDecoder,\n int16Decoder,\n int32Decoder,\n parametersDecoder,\n pkhDecoder,\n proposalDecoder,\n proposalsDecoder,\n publicKeyDecoder,\n smartContractAddressDecoder,\n txRollupBatchContentDecoder,\n txRollupIdDecoder,\n txRollupOriginationParamDecoder,\n tz1Decoder,\n valueParameterDecoder,\n zarithDecoder,\n} from './codec';\nimport { CODEC } from './constants';\nimport { scriptDecoder } from './michelson/codec';\nimport {\n ActivationSchema,\n BallotSchema,\n DelegationSchema,\n EndorsementSchema,\n IncreasePaidStorageSchema,\n ManagerOperationSchema,\n operationDecoder,\n OriginationSchema,\n ProposalsSchema,\n RegisterGlobalConstantSchema,\n RevealSchema,\n schemaDecoder,\n SeedNonceRevelationSchema,\n TransactionSchema,\n TransferTicketSchema,\n TxRollupOriginationSchema,\n TxRollupSubmitBatchSchema,\n} from './schema/operation';\nimport { Uint8ArrayConsumer } from './uint8array-consumer';\nimport { toHexString } from './utils';\n\nexport type Decoder = (val: Uint8ArrayConsumer) => string | number | object | undefined;\n\nexport const decoders: { [key: string]: Decoder } = {\n [CODEC.SECRET]: (val) => toHexString(val.consume(20)),\n [CODEC.RAW]: (val) => toHexString(val.consume(32)),\n [CODEC.TZ1]: tz1Decoder,\n [CODEC.BRANCH]: branchDecoder,\n [CODEC.ZARITH]: zarithDecoder,\n [CODEC.PUBLIC_KEY]: publicKeyDecoder,\n [CODEC.PKH]: pkhDecoder,\n [CODEC.DELEGATE]: delegateDecoder,\n [CODEC.INT32]: int32Decoder,\n [CODEC.SCRIPT]: scriptDecoder,\n [CODEC.BALLOT_STATEMENT]: ballotDecoder,\n [CODEC.PROPOSAL]: proposalDecoder,\n [CODEC.PROPOSAL_ARR]: proposalsDecoder,\n [CODEC.PARAMETERS]: parametersDecoder,\n [CODEC.ADDRESS]: addressDecoder,\n [CODEC.SMART_CONTRACT_ADDRESS]: smartContractAddressDecoder,\n [CODEC.VALUE]: valueParameterDecoder,\n [CODEC.INT16]: int16Decoder,\n [CODEC.BLOCK_PAYLOAD_HASH]: blockPayloadHashDecoder,\n [CODEC.ENTRYPOINT]: entrypointNameDecoder,\n [CODEC.TX_ROLLUP_ORIGINATION_PARAM]: txRollupOriginationParamDecoder,\n [CODEC.TX_ROLLUP_ID]: txRollupIdDecoder,\n [CODEC.TX_ROLLUP_BATCH_CONTENT]: txRollupBatchContentDecoder,\n [CODEC.BURN_LIMIT]: burnLimitDecoder,\n};\n\ndecoders[CODEC.OPERATION] = operationDecoder(decoders);\ndecoders[CODEC.OP_ACTIVATE_ACCOUNT] = (val: Uint8ArrayConsumer) =>\n schemaDecoder(decoders)(ActivationSchema)(val);\ndecoders[CODEC.OP_DELEGATION] = (val: Uint8ArrayConsumer) =>\n schemaDecoder(decoders)(DelegationSchema)(val);\ndecoders[CODEC.OP_TRANSACTION] = (val: Uint8ArrayConsumer) =>\n schemaDecoder(decoders)(TransactionSchema)(val);\ndecoders[CODEC.OP_ORIGINATION] = (val: Uint8ArrayConsumer) =>\n schemaDecoder(decoders)(OriginationSchema)(val);\ndecoders[CODEC.OP_BALLOT] = (val: Uint8ArrayConsumer) => schemaDecoder(decoders)(BallotSchema)(val);\ndecoders[CODEC.OP_ENDORSEMENT] = (val: Uint8ArrayConsumer) =>\n schemaDecoder(decoders)(EndorsementSchema)(val);\ndecoders[CODEC.OP_SEED_NONCE_REVELATION] = (val: Uint8ArrayConsumer) =>\n schemaDecoder(decoders)(SeedNonceRevelationSchema)(val);\ndecoders[CODEC.OP_PROPOSALS] = (val: Uint8ArrayConsumer) =>\n schemaDecoder(decoders)(ProposalsSchema)(val);\ndecoders[CODEC.OP_REVEAL] = (val: Uint8ArrayConsumer) => schemaDecoder(decoders)(RevealSchema)(val);\ndecoders[CODEC.OP_REGISTER_GLOBAL_CONSTANT] = (val: Uint8ArrayConsumer) =>\n schemaDecoder(decoders)(RegisterGlobalConstantSchema)(val);\ndecoders[CODEC.OP_TRANSFER_TICKET] = (val: Uint8ArrayConsumer) =>\n schemaDecoder(decoders)(TransferTicketSchema)(val);\ndecoders[CODEC.OP_TX_ROLLUP_ORIGINATION] = (val: Uint8ArrayConsumer) =>\n schemaDecoder(decoders)(TxRollupOriginationSchema)(val);\ndecoders[CODEC.OP_TX_ROLLUP_SUBMIT_BATCH] = (val: Uint8ArrayConsumer) =>\n schemaDecoder(decoders)(TxRollupSubmitBatchSchema)(val);\ndecoders[CODEC.OP_INCREASE_PAID_STORAGE] = (val: Uint8ArrayConsumer) =>\n schemaDecoder(decoders)(IncreasePaidStorageSchema)(val);\ndecoders[CODEC.MANAGER] = schemaDecoder(decoders)(ManagerOperationSchema);\n","import {\n addressEncoder,\n ballotEncoder,\n blockPayloadHashEncoder,\n branchEncoder,\n burnLimitEncoder,\n delegateEncoder,\n entrypointNameEncoder,\n int16Encoder,\n int32Encoder,\n parametersEncoder,\n pkhEncoder,\n proposalEncoder,\n proposalsEncoder,\n publicKeyEncoder,\n smartContractAddressEncoder,\n txRollupBatchContentEncoder,\n txRollupIdEncoder,\n txRollupOriginationParamEncoder,\n tz1Encoder,\n valueParameterEncoder,\n zarithEncoder,\n} from './codec';\nimport { CODEC } from './constants';\nimport { scriptEncoder } from './michelson/codec';\nimport {\n ActivationSchema,\n BallotSchema,\n DelegationSchema,\n EndorsementSchema,\n IncreasePaidStorageSchema,\n ManagerOperationSchema,\n operationEncoder,\n OriginationSchema,\n ProposalsSchema,\n RegisterGlobalConstantSchema,\n RevealSchema,\n schemaEncoder,\n SeedNonceRevelationSchema,\n TransactionSchema,\n TransferTicketSchema,\n TxRollupOriginationSchema,\n TxRollupSubmitBatchSchema,\n} from './schema/operation';\n\nexport type Encoder<T> = (val: T) => string;\n\nexport const encoders: { [key: string]: Encoder<any> } = {\n [CODEC.SECRET]: (val: string) => val,\n [CODEC.RAW]: (val: string) => val,\n [CODEC.TZ1]: tz1Encoder,\n [CODEC.BRANCH]: branchEncoder,\n [CODEC.ZARITH]: zarithEncoder,\n [CODEC.PUBLIC_KEY]: publicKeyEncoder,\n [CODEC.PKH]: pkhEncoder,\n [CODEC.DELEGATE]: delegateEncoder,\n [CODEC.SCRIPT]: scriptEncoder,\n [CODEC.BALLOT_STATEMENT]: ballotEncoder,\n [CODEC.PROPOSAL]: proposalEncoder,\n [CODEC.PROPOSAL_ARR]: proposalsEncoder,\n [CODEC.INT32]: int32Encoder,\n [CODEC.PARAMETERS]: parametersEncoder,\n [CODEC.ADDRESS]: addressEncoder,\n [CODEC.SMART_CONTRACT_ADDRESS]: smartContractAddressEncoder,\n [CODEC.VALUE]: valueParameterEncoder,\n [CODEC.INT16]: int16Encoder,\n [CODEC.BLOCK_PAYLOAD_HASH]: blockPayloadHashEncoder,\n [CODEC.ENTRYPOINT]: entrypointNameEncoder,\n [CODEC.TX_ROLLUP_ORIGINATION_PARAM]: txRollupOriginationParamEncoder,\n [CODEC.TX_ROLLUP_ID]: txRollupIdEncoder,\n [CODEC.TX_ROLLUP_BATCH_CONTENT]: txRollupBatchContentEncoder,\n [CODEC.BURN_LIMIT]: burnLimitEncoder,\n};\n\nencoders[CODEC.OPERATION] = operationEncoder(encoders);\nencoders[CODEC.OP_ACTIVATE_ACCOUNT] = (val: any) => schemaEncoder(encoders)(ActivationSchema)(val);\nencoders[CODEC.OP_DELEGATION] = (val: any) => schemaEncoder(encoders)(DelegationSchema)(val);\nencoders[CODEC.OP_TRANSACTION] = (val: any) => schemaEncoder(encoders)(TransactionSchema)(val);\nencoders[CODEC.OP_ORIGINATION] = (val: any) => schemaEncoder(encoders)(OriginationSchema)(val);\nencoders[CODEC.OP_BALLOT] = (val: any) => schemaEncoder(encoders)(BallotSchema)(val);\nencoders[CODEC.OP_ENDORSEMENT] = (val: any) => schemaEncoder(encoders)(EndorsementSchema)(val);\nencoders[CODEC.OP_SEED_NONCE_REVELATION] = (val: any) =>\n schemaEncoder(encoders)(SeedNonceRevelationSchema)(val);\nencoders[CODEC.OP_PROPOSALS] = (val: any) => schemaEncoder(encoders)(ProposalsSchema)(val);\nencoders[CODEC.OP_REVEAL] = (val: any) => schemaEncoder(encoders)(RevealSchema)(val);\nencoders[CODEC.OP_REGISTER_GLOBAL_CONSTANT] = (val: any) =>\n schemaEncoder(encoders)(RegisterGlobalConstantSchema)(val);\nencoders[CODEC.OP_TRANSFER_TICKET] = (val: any) =>\n schemaEncoder(encoders)(TransferTicketSchema)(val);\nencoders[CODEC.OP_TX_ROLLUP_ORIGINATION] = (val: any) =>\n schemaEncoder(encoders)(TxRollupOriginationSchema)(val);\nencoders[CODEC.OP_TX_ROLLUP_SUBMIT_BATCH] = (val: any) =>\n schemaEncoder(encoders)(TxRollupSubmitBatchSchema)(val);\nencoders[CODEC.OP_INCREASE_PAID_STORAGE] = (val: any) =>\n schemaEncoder(encoders)(IncreasePaidStorageSchema)(val);\nencoders[CODEC.MANAGER] = schemaEncoder(encoders)(ManagerOperationSchema);\n","import { OpKind } from '@taquito/rpc';\nimport { OperationContents } from '@taquito/rpc';\nimport {\n ActivationSchema,\n DelegationSchema,\n TransactionSchema,\n OriginationSchema,\n BallotSchema,\n SeedNonceRevelationSchema,\n ProposalsSchema,\n RevealSchema,\n RegisterGlobalConstantSchema,\n EndorsementSchema,\n TransferTicketSchema,\n TxRollupOriginationSchema,\n TxRollupSubmitBatchSchema,\n IncreasePaidStorageSchema,\n} from './schema/operation';\n\ntype OperationKind =\n | OpKind.ACTIVATION\n | OpKind.REVEAL\n | OpKind.DELEGATION\n | OpKind.TRANSACTION\n | OpKind.ORIGINATION\n | OpKind.BALLOT\n | OpKind.ENDORSEMENT\n | OpKind.SEED_NONCE_REVELATION\n | OpKind.PROPOSALS\n | OpKind.REGISTER_GLOBAL_CONSTANT\n | OpKind.TRANSFER_TICKET\n | OpKind.TX_ROLLUP_ORIGINATION\n | OpKind.TX_ROLLUP_SUBMIT_BATCH\n | OpKind.INCREASE_PAID_STORAGE;\n\nconst OperationKindMapping = {\n activate_account: ActivationSchema,\n reveal: RevealSchema,\n delegation: DelegationSchema,\n transaction: TransactionSchema,\n origination: OriginationSchema,\n ballot: BallotSchema,\n endorsement: EndorsementSchema,\n seed_nonce_revelation: SeedNonceRevelationSchema,\n proposals: ProposalsSchema,\n register_global_constant: RegisterGlobalConstantSchema,\n transfer_ticket: TransferTicketSchema,\n tx_rollup_origination: TxRollupOriginationSchema,\n tx_rollup_submit_batch: TxRollupSubmitBatchSchema,\n increase_paid_storage: IncreasePaidStorageSchema,\n};\n\n// Asymmetric difference: only account for things in arr2 that are not present in arr1, not vice versa\nconst getArrayDifference = (arr1: string[], arr2: string[]) => {\n return arr2.filter((x) => !arr1.includes(x));\n};\n\nconst deleteArrayElementByValue = (array: string[], item: string) => {\n return array.filter((e) => e !== item);\n};\n\n/**\n * @returns A boolean value to indicate whether the operation kind is valid or not\n */\nexport const validateOperationKind = (opKind: OpKind) => {\n const opKindList = Object.keys(OperationKindMapping);\n return opKindList.includes(opKind);\n};\n\n/**\n * returns 0 when the two array of properties are identical or the passed property\n * does not have any missing parameters from the corresponding schema\n *\n * @returns array element differences if there are missing required property keys\n */\nexport const validateMissingProperty = (operationContent: OperationContents) => {\n const kind = operationContent.kind as OperationKind;\n\n const keys = Object.keys(operationContent);\n const cleanKeys = deleteArrayElementByValue(keys, 'kind');\n\n const schemaKeys = Object.keys(OperationKindMapping[kind]);\n\n return getArrayDifference(cleanKeys, schemaKeys);\n};\n","export enum ProtocolsHash {\n Pt24m4xi = 'Pt24m4xiPbLDhVgVfABUjirbmda3yohdN82Sp9FeuAXJ4eV9otd',\n PsBABY5H = 'PsBABY5HQTSkA4297zNHfsZNKtxULfL18y95qb3m53QJiXGmrbU',\n PsBabyM1 = 'PsBabyM1eUXZseaJdmXFApDSBqj8YBfwELoxZHHW77EMcAbbwAS',\n PsCARTHA = 'PsCARTHAGazKbHtnKfLzQg3kms52kSRpgnDY982a9oYsSXRLQEb',\n PsDELPH1 = 'PsDELPH1Kxsxt8f9eWbxQeRxkjfbxoqM52jvs5Y5fBxWWh4ifpo',\n PtEdo2Zk = 'PtEdo2ZkT9oKpimTah6x2embF25oss54njMuPzkJTEi5RqfdZFA',\n PsFLorena = 'PsFLorenaUUuikDWvMDr6fGBRG8kt3e3D3fHoXK1j1BFRxeSH4i',\n PtGRANADs = 'PtGRANADsDU8R9daYKAgWnQYAJ64omN1o3KMGVCykShA97vQbvV',\n PtHangz2 = 'PtHangz2aRngywmSRGGvrcTyMbbdpWdpFKuS4uMWxg2RaH9i1qx',\n Psithaca2 = 'Psithaca2MLRFYargivpo7YvUr7wUDqyxrdhC5CQq78mRvimz6A',\n PtJakart2 = 'PtJakart2xVj7pYXJBXrqHgd82rdkLey5ZeeGwDgPp9rhQUbSqY',\n PtKathman = 'PtKathmankSpLLDALzWw7CGD2j2MtyveTwboEYokqUCP4a1LxMg',\n ProtoALpha = 'ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK',\n}\n\nconst protoLevel: Record<ProtocolsHash, number> = {\n Pt24m4xiPbLDhVgVfABUjirbmda3yohdN82Sp9FeuAXJ4eV9otd: 4,\n PsBABY5HQTSkA4297zNHfsZNKtxULfL18y95qb3m53QJiXGmrbU: 5,\n PsBabyM1eUXZseaJdmXFApDSBqj8YBfwELoxZHHW77EMcAbbwAS: 5,\n PsCARTHAGazKbHtnKfLzQg3kms52kSRpgnDY982a9oYsSXRLQEb: 6,\n PsDELPH1Kxsxt8f9eWbxQeRxkjfbxoqM52jvs5Y5fBxWWh4ifpo: 7,\n PtEdo2ZkT9oKpimTah6x2embF25oss54njMuPzkJTEi5RqfdZFA: 8,\n PsFLorenaUUuikDWvMDr6fGBRG8kt3e3D3fHoXK1j1BFRxeSH4i: 9,\n PtGRANADsDU8R9daYKAgWnQYAJ64omN1o3KMGVCykShA97vQbvV: 10,\n PtHangz2aRngywmSRGGvrcTyMbbdpWdpFKuS4uMWxg2RaH9i1qx: 11,\n Psithaca2MLRFYargivpo7YvUr7wUDqyxrdhC5CQq78mRvimz6A: 12,\n PtJakart2xVj7pYXJBXrqHgd82rdkLey5ZeeGwDgPp9rhQUbSqY: 13,\n PtKathmankSpLLDALzWw7CGD2j2MtyveTwboEYokqUCP4a1LxMg: 14,\n ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK: 15,\n};\n\nexport function ProtoInferiorTo(a: ProtocolsHash, b: ProtocolsHash): boolean {\n return protoLevel[a] < protoLevel[b];\n}\n","\n// IMPORTANT: THIS FILE IS AUTO GENERATED! DO NOT MANUALLY EDIT OR CHECKIN!\nexport const VERSION = {\n \"commitHash\": \"22fd810dcadf5272cb7a57d65165caa0eddbc57e\",\n \"version\": \"14.2.0\"\n};\n","/**\n * @packageDocumentation\n * @module @taquito/local-forging\n */\n\nimport { ForgeParams, Forger } from './interface';\nimport { CODEC } from './constants';\nimport { decoders } from './decoder';\nimport { encoders } from './encoder';\nimport { Uint8ArrayConsumer } from './uint8array-consumer';\nimport { validateBlock, ValidationResult, InvalidOperationKindError } from '@taquito/utils';\nimport { InvalidBlockHashError, InvalidOperationSchemaError } from './error';\nimport { validateMissingProperty, validateOperationKind } from './validator';\nimport { ProtocolsHash } from './protocols';\n\nexport { CODEC, opMapping, opMappingReverse } from './constants';\nexport * from './decoder';\nexport * from './encoder';\nexport * from './uint8array-consumer';\nexport * from './interface';\nexport { VERSION } from './version';\nexport { ProtocolsHash } from './protocols';\n\nconst PROTOCOL_CURRENT = ProtocolsHash.Psithaca2;\n\nexport function getCodec(codec: CODEC, _proto: ProtocolsHash) {\n return {\n encoder: encoders[codec],\n decoder: (hex: string) => {\n const consumer = Uint8ArrayConsumer.fromHexString(hex);\n return decoders[codec](consumer) as any;\n },\n };\n}\n\nexport class LocalForger implements Forger {\n constructor(public readonly protocolHash = PROTOCOL_CURRENT) {}\n\n private codec = getCodec(CODEC.MANAGER, this.protocolHash);\n\n forge(params: ForgeParams): Promise<string> {\n if (validateBlock(params.branch) !== ValidationResult.VALID) {\n throw new InvalidBlockHashError(`The block hash ${params.branch} is invalid`);\n }\n\n for (const content of params.contents) {\n if (!validateOperationKind(content.kind)) {\n throw new InvalidOperationKindError(content.kind);\n }\n\n const diff = validateMissingProperty(content);\n if (diff.length === 1) {\n if (content.kind === 'delegation' && diff[0] === 'delegate') {\n continue;\n } else if (content.kind === 'origination' && diff[0] === 'delegate') {\n continue;\n } else if (content.kind === 'transaction' && diff[0] === 'parameters') {\n continue;\n } else if (\n content.kind === ('tx_rollup_submit_batch' as unknown) &&\n diff[0] === 'burn_limit'\n ) {\n continue;\n } else {\n throw new InvalidOperationSchemaError(\n `Missing properties: ${diff.join(', ').toString()}`\n );\n }\n } else if (diff.length > 1) {\n throw new InvalidOperationSchemaError(`Missing properties: ${diff.join(', ').toString()}`);\n }\n }\n const forged = this.codec.encoder(params).toLowerCase();\n return Promise.resolve(forged);\n }\n\n parse(hex: string): Promise<ForgeParams> {\n return Promise.resolve(this.codec.decoder(hex) as ForgeParams);\n }\n}\n\nexport const localForger = new LocalForger();\n"],"names":["prefix","prefixMap","BigNumber"],"mappings":";;;AASO,MAAM,WAAW,GAAG,CAAC,KAAiB,KAC3C,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,KAAK,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;AAErE,MAAM,GAAG,GAAG,CAAC,GAAW,EAAE,UAAU,GAAG,CAAC,KAAI;AACjD,IAAA,OAAO,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;AACpD,CAAC;;ACdD;;;AAGG;AAIH;AACO,MAAM,qBAAqB,GAAG,EAAE,CAAC;IAE5B,MAyCX;AAzCD,CAAA,UAAY,KAAK,EAAA;AACf,IAAA,KAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,IAAA,KAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,KAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,KAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,IAAA,KAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,IAAA,KAAA,CAAA,YAAA,CAAA,GAAA,YAAyB,CAAA;AACzB,IAAA,KAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,KAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrB,IAAA,KAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,IAAA,KAAA,CAAA,kBAAA,CAAA,GAAA,YAA+B,CAAA;AAC/B,IAAA,KAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrB,IAAA,KAAA,CAAA,cAAA,CAAA,GAAA,aAA4B,CAAA;AAC5B,IAAA,KAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACf,IAAA,KAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACf,IAAA,KAAA,CAAA,YAAA,CAAA,GAAA,YAAyB,CAAA;AACzB,IAAA,KAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnB,IAAA,KAAA,CAAA,wBAAA,CAAA,GAAA,wBAAiD,CAAA;AACjD,IAAA,KAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACf,IAAA,KAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnB,IAAA,KAAA,CAAA,oBAAA,CAAA,GAAA,kBAAuC,CAAA;AACvC,IAAA,KAAA,CAAA,YAAA,CAAA,GAAA,YAAyB,CAAA;AACzB,IAAA,KAAA,CAAA,WAAA,CAAA,GAAA,WAAuB,CAAA;AACvB,IAAA,KAAA,CAAA,qBAAA,CAAA,GAAA,kBAAwC,CAAA;AACxC,IAAA,KAAA,CAAA,eAAA,CAAA,GAAA,YAA4B,CAAA;AAC5B,IAAA,KAAA,CAAA,gBAAA,CAAA,GAAA,aAA8B,CAAA;AAC9B,IAAA,KAAA,CAAA,gBAAA,CAAA,GAAA,aAA8B,CAAA;AAC9B,IAAA,KAAA,CAAA,WAAA,CAAA,GAAA,QAAoB,CAAA;AACpB,IAAA,KAAA,CAAA,gBAAA,CAAA,GAAA,aAA8B,CAAA;AAC9B,IAAA,KAAA,CAAA,0BAAA,CAAA,GAAA,uBAAkD,CAAA;AAClD,IAAA,KAAA,CAAA,WAAA,CAAA,GAAA,QAAoB,CAAA;AACpB,IAAA,KAAA,CAAA,cAAA,CAAA,GAAA,WAA0B,CAAA;AAC1B,IAAA,KAAA,CAAA,6BAAA,CAAA,GAAA,0BAAwD,CAAA;AACxD,IAAA,KAAA,CAAA,oBAAA,CAAA,GAAA,iBAAsC,CAAA;AACtC,IAAA,KAAA,CAAA,0BAAA,CAAA,GAAA,uBAAkD,CAAA;AAClD,IAAA,KAAA,CAAA,2BAAA,CAAA,GAAA,wBAAoD,CAAA;AACpD,IAAA,KAAA,CAAA,YAAA,CAAA,GAAA,YAAyB,CAAA;AACzB,IAAA,KAAA,CAAA,6BAAA,CAAA,GAAA,6BAA2D,CAAA;AAC3D,IAAA,KAAA,CAAA,cAAA,CAAA,GAAA,cAA6B,CAAA;AAC7B,IAAA,KAAA,CAAA,yBAAA,CAAA,GAAA,yBAAmD,CAAA;AACnD,IAAA,KAAA,CAAA,0BAAA,CAAA,GAAA,uBAAkD,CAAA;AACpD,CAAC,EAzCW,KAAK,KAAL,KAAK,GAyChB,EAAA,CAAA,CAAA,CAAA;AAED;AACa,MAAA,SAAS,GAA8B;AAClD,IAAA,IAAI,EAAE,WAAW;AACjB,IAAA,IAAI,EAAE,SAAS;AACf,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,IAAI,EAAE,OAAO;AACb,IAAA,IAAI,EAAE,KAAK;AACX,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,IAAI,EAAE,OAAO;AACb,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,IAAI,EAAE,QAAQ;AACd,IAAA,IAAI,EAAE,SAAS;AACf,IAAA,IAAI,EAAE,QAAQ;AACd,IAAA,IAAI,EAAE,QAAQ;AACd,IAAA,IAAI,EAAE,KAAK;AACX,IAAA,IAAI,EAAE,KAAK;AACX,IAAA,IAAI,EAAE,QAAQ;AACd,IAAA,IAAI,EAAE,KAAK;AACX,IAAA,IAAI,EAAE,SAAS;AACf,IAAA,IAAI,EAAE,KAAK;AACX,IAAA,IAAI,EAAE,KAAK;AACX,IAAA,IAAI,EAAE,iBAAiB;AACvB,IAAA,IAAI,EAAE,SAAS;AACf,IAAA,IAAI,EAAE,QAAQ;AACd,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,IAAI,EAAE,gBAAgB;AACtB,IAAA,IAAI,EAAE,iBAAiB;AACvB,IAAA,IAAI,EAAE,kBAAkB;AACxB,IAAA,IAAI,EAAE,KAAK;AACX,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,IAAI,EAAE,KAAK;AACX,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,IAAI,EAAE,WAAW;AACjB,IAAA,IAAI,EAAE,WAAW;AACjB,IAAA,IAAI,EAAE,IAAI;AACV,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,IAAI,EAAE,UAAU;AAChB,IAAA,IAAI,EAAE,IAAI;AACV,IAAA,IAAI,EAAE,KAAK;AACX,IAAA,IAAI,EAAE,IAAI;AACV,IAAA,IAAI,EAAE,UAAU;AAChB,IAAA,IAAI,EAAE,IAAI;AACV,IAAA,IAAI,EAAE,SAAS;AACf,IAAA,IAAI,EAAE,SAAS;AACf,IAAA,IAAI,EAAE,SAAS;AACf,IAAA,IAAI,EAAE,KAAK;AACX,IAAA,IAAI,EAAE,QAAQ;AACd,IAAA,IAAI,EAAE,IAAI;AACV,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,IAAI,EAAE,KAAK;AACX,IAAA,IAAI,EAAE,KAAK;AACX,IAAA,IAAI,EAAE,IAAI;AACV,IAAA,IAAI,EAAE,KAAK;AACX,IAAA,IAAI,EAAE,KAAK;AACX,IAAA,IAAI,EAAE,KAAK;AACX,IAAA,IAAI,EAAE,KAAK;AACX,IAAA,IAAI,EAAE,KAAK;AACX,IAAA,IAAI,EAAE,KAAK;AACX,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,IAAI,EAAE,KAAK;AACX,IAAA,IAAI,EAAE,KAAK;AACX,IAAA,IAAI,EAAE,IAAI;AACV,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,IAAI,EAAE,OAAO;AACb,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,IAAI,EAAE,QAAQ;AACd,IAAA,IAAI,EAAE,QAAQ;AACd,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,IAAI,EAAE,gBAAgB;AACtB,IAAA,IAAI,EAAE,KAAK;AACX,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,IAAI,EAAE,iBAAiB;AACvB,IAAA,IAAI,EAAE,cAAc;AACpB,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,IAAI,EAAE,QAAQ;AACd,IAAA,IAAI,EAAE,KAAK;AACX,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,IAAI,EAAE,WAAW;AACjB,IAAA,IAAI,EAAE,SAAS;AACf,IAAA,IAAI,EAAE,UAAU;AAChB,IAAA,IAAI,EAAE,OAAO;AACb,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,IAAI,EAAE,QAAQ;AACd,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,IAAI,EAAE,UAAU;AAChB,IAAA,IAAI,EAAE,KAAK;AACX,IAAA,IAAI,EAAE,KAAK;AACX,IAAA,IAAI,EAAE,UAAU;AAChB,IAAA,IAAI,EAAE,QAAQ;AACd,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,IAAI,EAAE,KAAK;AACX,IAAA,IAAI,EAAE,SAAS;AACf,IAAA,IAAI,EAAE,KAAK;AACX,IAAA,IAAI,EAAE,QAAQ;AACd,IAAA,IAAI,EAAE,IAAI;AACV,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,IAAI,EAAE,KAAK;AACX,IAAA,IAAI,EAAE,WAAW;AACjB,IAAA,IAAI,EAAE,QAAQ;AACd,IAAA,IAAI,EAAE,OAAO;AACb,IAAA,IAAI,EAAE,OAAO;AACb,IAAA,IAAI,EAAE,WAAW;AACjB,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,IAAI,EAAE,WAAW;AACjB,IAAA,IAAI,EAAE,SAAS;AACf,IAAA,IAAI,EAAE,OAAO;AACb,IAAA,IAAI,EAAE,KAAK;AACX,IAAA,IAAI,EAAE,KAAK;AACX,IAAA,IAAI,EAAE,eAAe;AACrB,IAAA,IAAI,EAAE,OAAO;AACb,IAAA,IAAI,EAAE,UAAU;AAChB,IAAA,IAAI,EAAE,UAAU;AAChB,IAAA,IAAI,EAAE,OAAO;AACb,IAAA,IAAI,EAAE,cAAc;AACpB,IAAA,IAAI,EAAE,OAAO;AACb,IAAA,IAAI,EAAE,OAAO;AACb,IAAA,IAAI,EAAE,QAAQ;AACd,IAAA,IAAI,EAAE,cAAc;AACpB,IAAA,IAAI,EAAE,oBAAoB;AAC1B,IAAA,IAAI,EAAE,QAAQ;AACd,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,IAAI,EAAE,eAAe;AACrB,IAAA,IAAI,EAAE,cAAc;AACpB,IAAA,IAAI,EAAE,cAAc;AACpB,IAAA,IAAI,EAAE,cAAc;AACpB,IAAA,IAAI,EAAE,eAAe;AACrB,IAAA,IAAI,EAAE,gCAAgC;AACtC,IAAA,IAAI,EAAE,qBAAqB;AAC3B,IAAA,IAAI,EAAE,uBAAuB;AAC7B,IAAA,IAAI,EAAE,QAAQ;AACd,IAAA,IAAI,EAAE,QAAQ;AACd,IAAA,IAAI,EAAE,aAAa;AACnB,IAAA,IAAI,EAAE,cAAc;AACpB,IAAA,IAAI,EAAE,cAAc;AACpB,IAAA,IAAI,EAAE,gBAAgB;AACtB,IAAA,IAAI,EAAE,OAAO;AACb,IAAA,IAAI,EAAE,WAAW;AACjB,IAAA,IAAI,EAAE,YAAY;AAClB,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,IAAI,EAAE,UAAU;AAChB,IAAA,IAAI,EAAE,WAAW;AACjB,IAAA,IAAI,EAAE,sBAAsB;AAC5B,IAAA,IAAI,EAAE,gBAAgB;AACtB,IAAA,IAAI,EAAE,qBAAqB;AAC3B,IAAA,IAAI,EAAE,MAAM;EACZ;AAEW,MAAA,gBAAgB,GAAG,CAAC,MAAK;IACpC,MAAM,MAAM,GAA8B,EAAE,CAAC;IAC7C,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,GAAW,KAAI;QAC7C,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;AAC/B,KAAC,CAAC,CAAC;AACH,IAAA,OAAO,MAAM,CAAC;AAChB,CAAC,IAAI;AAEL;AACO,MAAM,WAAW,GAA8B;AACpD,IAAA,IAAI,EAAE,kBAAkB;AACxB,IAAA,IAAI,EAAE,QAAQ;AACd,IAAA,IAAI,EAAE,YAAY;AAClB,IAAA,IAAI,EAAE,aAAa;AACnB,IAAA,IAAI,EAAE,aAAa;AACnB,IAAA,IAAI,EAAE,QAAQ;AACd,IAAA,IAAI,EAAE,aAAa;AACnB,IAAA,IAAI,EAAE,uBAAuB;AAC7B,IAAA,IAAI,EAAE,WAAW;AACjB,IAAA,IAAI,EAAE,0BAA0B;AAChC,IAAA,IAAI,EAAE,uBAAuB;AAC7B,IAAA,IAAI,EAAE,wBAAwB;AAC9B,IAAA,IAAI,EAAE,iBAAiB;AACvB,IAAA,IAAI,EAAE,uBAAuB;CAC9B,CAAC;AAEK,MAAM,kBAAkB,GAAG,CAAC,MAAK;IACtC,MAAM,MAAM,GAA8B,EAAE,CAAC;IAC7C,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,GAAoB,KAAI;AACxD,QAAA,MAAM,MAAM,GAAG,OAAO,GAAG,KAAK,QAAQ,GAAG,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC;AACjE,QAAA,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AAC/C,KAAC,CAAC,CAAC;AACH,IAAA,OAAO,MAAM,CAAC;AAChB,CAAC,GAAG,CAAC;AAEL;AACO,MAAM,iBAAiB,GAA8B;AAC1D,IAAA,IAAI,EAAE,SAAS;AACf,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,IAAI,EAAE,IAAI;AACV,IAAA,IAAI,EAAE,cAAc;AACpB,IAAA,IAAI,EAAE,iBAAiB;CACxB,CAAC;AAEK,MAAM,wBAAwB,GAAG,CAAC,MAAK;IAC5C,MAAM,MAAM,GAA8B,EAAE,CAAC;IAC7C,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAC,GAAW,KAAI;QACrD,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;AACvC,KAAC,CAAC,CAAC;AACH,IAAA,OAAO,MAAM,CAAC;AAChB,CAAC,GAAG;;ACjQJ;;;AAGG;AACG,MAAO,qBAAsB,SAAQ,KAAK,CAAA;AAE9C,IAAA,WAAA,CAAmB,OAAe,EAAA;QAChC,KAAK,CAAC,OAAO,CAAC,CAAC;QADE,IAAO,CAAA,OAAA,GAAP,OAAO,CAAQ;QAD3B,IAAI,CAAA,IAAA,GAAG,uBAAuB,CAAC;KAGrC;AACF,CAAA;AAED;;;AAGG,IAAO,MAAO,2BAA4B,SAAQ,KAAK,CAAA;AAExD,IAAA,WAAA,CAAmB,OAAe,EAAA;QAChC,KAAK,CAAC,OAAO,CAAC,CAAC;QADE,IAAO,CAAA,OAAA,GAAP,OAAO,CAAQ;QAD3B,IAAI,CAAA,IAAA,GAAG,6BAA6B,CAAC;KAG3C;AACF,CAAA;AAED;;;AAGG;AACG,MAAO,wBAAyB,SAAQ,KAAK,CAAA;AAEjD,IAAA,WAAA,CAAmB,UAAkB,EAAA;AACnC,QAAA,KAAK,CACH,CAAyB,sBAAA,EAAA,UAAU,yCAAyC,qBAAqB,CAAA,CAAE,CACpG,CAAC;QAHe,IAAU,CAAA,UAAA,GAAV,UAAU,CAAQ;QAD9B,IAAI,CAAA,IAAA,GAAG,0BAA0B,CAAC;KAKxC;AACF,CAAA;AAED;;;AAGG;AACG,MAAO,uBAAwB,SAAQ,KAAK,CAAA;AAEhD,IAAA,WAAA,CAAmB,WAAmB,EAAA;AACpC,QAAA,KAAK,CAAC,CAAA,kBAAA,EAAqB,WAAW,CAAA,YAAA,CAAc,CAAC,CAAC;QADrC,IAAW,CAAA,WAAA,GAAX,WAAW,CAAQ;QAD/B,IAAI,CAAA,IAAA,GAAG,yBAAyB,CAAC;KAGvC;AACF,CAAA;AAED;;;AAGG;AACG,MAAO,sBAAuB,SAAQ,KAAK,CAAA;AAE/C,IAAA,WAAA,CAAmB,WAAmB,EAAA;AACpC,QAAA,KAAK,CAAC,CAAA,8BAAA,EAAiC,WAAW,CAAA,CAAE,CAAC,CAAC;QADrC,IAAW,CAAA,WAAA,GAAX,WAAW,CAAQ;QAD/B,IAAI,CAAA,IAAA,GAAG,wBAAwB,CAAC;KAGtC;AACF,CAAA;AAED;;;AAGG;AACG,MAAO,qBAAsB,SAAQ,KAAK,CAAA;AAE9C,IAAA,WAAA,CAAmB,SAAiB,EAAA;AAClC,QAAA,KAAK,CAAC,CAAA,gBAAA,EAAmB,SAAS,CAAA,YAAA,CAAc,CAAC,CAAC;QADjC,IAAS,CAAA,SAAA,GAAT,SAAS,CAAQ;QAD7B,IAAI,CAAA,IAAA,GAAG,uBAAuB,CAAC;KAGrC;AACF,CAAA;AAED;;;AAGG;AACG,MAAO,6BAA8B,SAAQ,KAAK,CAAA;AAEtD,IAAA,WAAA,CAAmB,KAAa,EAAA;AAC9B,QAAA,KAAK,CAAC,CAAA,kCAAA,EAAqC,KAAK,CAAA,CAAA,CAAG,CAAC,CAAC;QADpC,IAAK,CAAA,KAAA,GAAL,KAAK,CAAQ;QADzB,IAAI,CAAA,IAAA,GAAG,+BAA+B,CAAC;KAG7C;AACF,CAAA;AAED;;;AAGG;AACG,MAAO,sBAAuB,SAAQ,KAAK,CAAA;AAE/C,IAAA,WAAA,CAAmB,OAAe,EAAA;QAChC,KAAK,CAAC,OAAO,CAAC,CAAC;QADE,IAAO,CAAA,OAAA,GAAP,OAAO,CAAQ;QAD3B,IAAI,CAAA,IAAA,GAAG,wBAAwB,CAAC;KAGtC;AACF,CAAA;AAED;;;AAGG;AACG,MAAO,sBAAuB,SAAQ,KAAK,CAAA;AAE/C,IAAA,WAAA,CAAmB,OAAe,EAAA;QAChC,KAAK,CAAC,OAAO,CAAC,CAAC;QADE,IAAO,CAAA,OAAA,GAAP,OAAO,CAAQ;QAD3B,IAAI,CAAA,IAAA,GAAG,wBAAwB,CAAC;KAGtC;AACF,CAAA;AAED;;;AAGG;AACG,MAAO,yBAA0B,SAAQ,KAAK,CAAA;AAElD,IAAA,WAAA,CAAmB,EAAU,EAAA;AAC3B,QAAA,KAAK,CAAC,CAAA,eAAA,EAAkB,EAAE,CAAA,gBAAA,CAAkB,CAAC,CAAC;QAD7B,IAAE,CAAA,EAAA,GAAF,EAAE,CAAQ;QADtB,IAAI,CAAA,IAAA,GAAG,2BAA2B,CAAC;KAGzC;AACF;;MC9GY,kBAAkB,CAAA;IAa7B,WAA6B,CAAA,GAAe,EAAU,MAAA,GAAiB,CAAC,EAAA;QAA3C,IAAG,CAAA,GAAA,GAAH,GAAG,CAAY;QAAU,IAAM,CAAA,MAAA,GAAN,MAAM,CAAY;KAAI;IAZ5E,OAAO,aAAa,CAAC,GAAW,EAAA;AAC9B,QAAA,MAAM,MAAM,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;AACjC,QAAA,IAAI,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;AACrC,YAAA,MAAM,GAAG,GAAG,IAAI,UAAU,CACxB,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CACzE,CAAC;AACF,YAAA,OAAO,IAAI,kBAAkB,CAAC,GAAG,CAAC,CAAC;AACpC,SAAA;AAAM,aAAA;AACL,YAAA,MAAM,IAAI,qBAAqB,CAAC,MAAM,CAAC,CAAC;AACzC,SAAA;KACF;AAIM,IAAA,OAAO,CAAC,KAAa,EAAA;AAC1B,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;AACnE,QAAA,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC;AACrB,QAAA,OAAO,MAAM,CAAC;KACf;AAEM,IAAA,GAAG,CAAC,GAAW,EAAA;QACpB,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;KACpC;IAEM,MAAM,GAAA;QACX,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;KACtC;AACF;;ACVM,MAAM,MAAM,GAAG,CAAC,KAAqB,KAAwB;IAClE,OAAO,MAAM,IAAI,KAAK,CAAC;AACzB,CAAC,CAAC;AAEK,MAAM,OAAO,GAAG,CAAC,KAAqB,KAAyB;IACpE,OAAO,OAAO,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC;AAC7D,CAAC,CAAC;AAEK,MAAM,QAAQ,GAAG,CAAC,KAAqB,KAA0B;IACtE,OAAO,QAAQ,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC;AAC/D,CAAC,CAAC;AAEK,MAAM,KAAK,GAAG,CAAC,KAAqB,KAAuB;IAChE,OAAO,KAAK,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ,CAAC;AACzD,CAAC,CAAC;AAEK,MAAM,aAAa,GAA+D,CACvF,MAAM,KACJ;IACF,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC7C,OAAO,CAAA,EAAG,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,CAAG,EAAA,IAAI,CAAG,EAAA,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA,EAAG,OAAO,CAAA,CAAE,CAAC;AACpF,CAAC,CAAC;AAEK,MAAM,aAAa,GAAY,CAAC,KAAyB,KAAI;AAClE,IAAA,MAAM,IAAI,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;AACvC,IAAA,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAE1C,OAAO;QACL,IAAI,EAAE,YAAY,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAChD,OAAO,EAAE,YAAY,CAAC,IAAI,kBAAkB,CAAC,OAAO,CAAC,CAAC;KACvD,CAAC;AACJ,CAAC,CAAC;AAEK,MAAM,YAAY,GAA4B,CAAC,KAAqB,KAAI;AAC7E,IAAA,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACxB,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC3D,QAAA,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;QAC/B,OAAO,CAAA,EAAA,EAAK,GAAG,CAAC,GAAG,CAAC,CAAG,EAAA,OAAO,EAAE,CAAC;AAClC,KAAA;AAAM,SAAA,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE;AACxB,QAAA,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC;AAC3B,KAAA;AAAM,SAAA,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE;AACzB,QAAA,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC;AAC5B,KAAA;AAAM,SAAA,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE;AAC1B,QAAA,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;AAC7B,KAAA;AAAM,SAAA,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE;AACvB,QAAA,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;AAC1B,KAAA;IAED,MAAM,IAAI,6BAA6B,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;AACjE,CAAC,CAAC;AAEK,MAAM,YAAY,GAAY,CAAC,KAAyB,KAAI;IACjE,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAClC,IAAA,QAAQ,QAAQ,CAAC,CAAC,CAAC;AACjB,QAAA,KAAK,IAAI;AACP,YAAA,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC;AAC7B,QAAA,KAAK,IAAI;AACP,YAAA,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;AAC9B,QAAA,KAAK,IAAI;AACP,YAAA,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;QAC3B,KAAK,IAAI,EAAE;YACT,MAAM,GAAG,GAAG,IAAI,kBAAkB,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC;YAC9D,MAAM,OAAO,GAAG,EAAE,CAAC;AACnB,YAAA,OAAO,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE;gBACvB,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;AACjC,aAAA;AACD,YAAA,OAAO,OAAO,CAAC;AAChB,SAAA;AACD,QAAA;AACE,YAAA,OAAO,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AACvC,KAAA;AACH,CAAC,CAAC;AAEK,MAAM,kBAAkB,GAAG,CAAC,KAAyB,EAAE,WAAW,GAAG,CAAC,KAAI;IAC/E,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;AACvC,IAAA,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;AAChE,IAAA,OAAO,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AACjC,CAAC,CAAC;AAEK,MAAM,YAAY,GAAwB,CAAC,KAAK,KAAI;IACzD,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;AAC5C,QAAA,MAAM,IAAI,qBAAqB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC9C,KAAA;IAED,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IACnC,OAAO,CAAA,EAAA,EAAK,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAA,CAAE,CAAC;AACvC,CAAC,CAAC;AAEK,MAAM,YAAY,GAAY,CAAC,KAAyB,KAAI;AACjE,IAAA,MAAM,KAAK,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IACxC,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;KAC1C,CAAC;AACJ,CAAC,CAAC;AAEK,MAAM,aAAa,GAAyB,CAAC,KAAK,KAAI;AAC3D,IAAA,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC9D,IAAA,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;IACjC,OAAO,CAAA,EAAA,EAAK,GAAG,CAAC,SAAS,CAAC,CAAG,EAAA,GAAG,EAAE,CAAC;AACrC,CAAC,CAAC;AAEK,MAAM,aAAa,GAAY,CAAC,KAAyB,KAAI;AAClE,IAAA,MAAM,GAAG,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IACtC,OAAO;QACL,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;KAC1C,CAAC;AACJ,CAAC,CAAC;AAEK,MAAM,UAAU,GAAsB,CAAC,EAAE,GAAG,EAAE,KAAI;IACvD,MAAM,GAAG,GAAG,IAAI,SAAS,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACnC,MAAM,YAAY,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;AAC5D,IAAA,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AAEjD,IAAA,MAAM,GAAG,GACP,MAAM,CAAC,MAAM,IAAI,CAAC;AAChB,UAAE,CAAC;UACD,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC;AACzB,cAAE,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC;AAC/C,cAAE,MAAM,CAAC,MAAM,CAAC;AAEpB,IAAA,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;;AAG7D,IAAA,MAAM,QAAQ,GAAG,QAAS,CAAC,OAAO,EAAE,CAAC;IAErC,QAAQ,CAAC,CAAC,CAAC,GAAG,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAEzC,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,CAAS;;IAE/C,QAAQ,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;SACrD,QAAQ,CAAC,EAAE,CAAC;AACZ,SAAA,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CACpB,CAAC;IAEF,OAAO,CAAA,EAAA,EAAK,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;AAChC,CAAC,CAAC;AAEK,MAAM,UAAU,GAAG,CAAC,KAAyB,KAAc;IAChE,IAAI,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5B,MAAM,SAAS,GAAa,EAAE,CAAC;AAC/B,IAAA,MAAM,kBAAkB,GAAG,CAAC,IAAI,CAAC,CAAC;IAClC,OAAO,CAAC,GAAG,kBAAkB,EAAE;AAC7B,QAAA,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzB,KAAA;AAED,IAAA,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,IAAA,MAAM,UAAU,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAE/C,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IAExC,MAAM,MAAM,GAAG,SAAS;SACrB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KACR,CAAC;SACE,QAAQ,CAAC,CAAC,CAAC;AACX,SAAA,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AACxB,SAAA,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAClC;AACA,SAAA,OAAO,EAAE,CAAC;AACb,IAAA,IAAI,GAAG,GAAG,IAAI,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAC5C,IAAA,IAAI,UAAU,EAAE;QACd,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACrB,KAAA;IAED,OAAO;AACL,QAAA,GAAG,EAAE,GAAG,CAAC,OAAO,EAAE;KACnB,CAAC;AACJ,CAAC,CAAC;AAEK,MAAM,WAAW,GAAuB,CAAC,KAAK,KAAI;IACvD,MAAM,QAAQ,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC9C,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;;IAGpE,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,GAAG,QAAQ,GAAG,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAEtE,MAAM,EAAE,GAAG,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAExC,IAAI,WAAW,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,GAAG,KAAK,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9E,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;AAEpF,IAAA,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,SAAS,EAAE;AACxC,QAAA,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,WAAW,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;AAClE,KAAA;AAED,IAAA,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,KAAK,SAAS,GAAG,CAAC,EAAE;QACrE,WAAW;AACT,YAAA,aAAa,KAAK,EAAE;AAClB,kBAAE,GAAG,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,WAAW,GAAG,GAAG,CAAC,CAAC,CAAC;kBAClD,GAAG,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,WAAW,CAAC;AACjD,KAAA;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,EAAE;AACvC,QAAA,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,WAAW,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;AAClE,KAAA;IAED,OAAO,CAAA,EAAG,QAAQ,CAAG,EAAA,EAAE,GAAG,WAAW,CAAA,EAAG,aAAa,CAAA,CAAE,CAAC;AAC1D,CAAC,CAAC;AAEK,MAAM,WAAW,GAAG,CAAC,KAAyB,EAAE,QAAoB,KAAI;AAC7E,IAAA,MAAM,QAAQ,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;AAChD,IAAA,IAAI,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC;IACrD,MAAM,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAE7D,IAAA,MAAM,MAAM,GAAuB;AACjC,QAAA,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC;KACpB,CAAC;AAEF,IAAA,IAAI,SAAS,CAAC,EAAE,CAAC,KAAK,QAAQ,EAAE;AAC9B,QAAA,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAClB,KAAA;AAED,IAAA,IAAI,SAAS,CAAC,EAAE,CAAC,KAAK,MAAM,EAAE;QAC5B,IAAI,SAAS,IAAI,CAAC,EAAE;AAClB,YAAA,OAAO,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AACvC,SAAA;AAAM,aAAA;AACL,YAAA,OAAO,MAAM,CAAC;AACf,SAAA;AACF,KAAA;AAED,IAAA,IAAI,YAAY,CAAC;AACjB,IAAA,IAAI,cAAc,CAAC;AACnB,IAAA,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,MAAM,IAAI,SAAS,CAAC,EAAE,CAAC,KAAK,MAAM,KAAK,SAAS,GAAG,CAAC,EAAE;AAC3E,QAAA,YAAY,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;QACrC,SAAS,GAAG,CAAC,CAAC;AACd,QAAA,cAAc,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;AACtC,KAAA;IAED,MAAM,IAAI,GAAG,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;AAEzE,IAAA,IAAI,SAAS,CAAC,EAAE,CAAC,KAAK,QAAQ,EAAE;AAC9B,QAAA,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAClB,KAAA;AAED,IAAA,IAAI,YAAY,EAAE;AAChB,QAAA,MAAM,CAAC,MAAM,CAAC,GAAG,YAAmB,CAAC;AACtC,KAAA;SAAM,IAAI,IAAI,CAAC,MAAM,EAAE;AACtB,QAAA,MAAM,CAAC,MAAM,CAAC,GAAG,IAAW,CAAC;AAC9B,KAAA;IAED,IAAI,cAAc,IAAK,cAAsB,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE;AACvD,QAAA,MAAM,CAAC,QAAQ,CAAC,GAAG,cAAqB,CAAC;AAC1C,KAAA;AAAM,SAAA,IAAI,QAAQ,EAAE;QACnB,MAAM,CAAC,QAAQ,CAAC,GAAG,YAAY,CAAC,KAAK,CAAQ,CAAC;AAC/C,KAAA;AAED,IAAA,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEK,MAAM,eAAe,GAAG,CAAC,KAAyB,EAAE,MAA0B,KAAI;AACvF,IAAA,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACjB,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,YAAY,CAAC,KAAK,CAAC,CAAQ,CAAC;AAC5E,IAAA,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACjB,IAAA,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEK,MAAM,cAAc,GAAY,CAAC,GAAuB,KAAI;IACjE,MAAM,KAAK,GAAG,IAAI,kBAAkB,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9D,MAAM,IAAI,GAAG,EAAE,CAAC;AAChB,IAAA,OAAO,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE;QACzB,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;AAChC,KAAA;AACD,IAAA,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEK,MAAM,YAAY,GAAsB,CAAC,KAAe,KAAI;IACjE,MAAM,WAAW,GAAG,KAAK;AACtB,SAAA,GAAG,CAAC,CAAC,CAAC,KAAI;AACT,QAAA,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAChD,KAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;AAEd,IAAA,MAAM,GAAG,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;IACnC,OAAO,CAAA,EAAG,GAAG,CAAC,GAAG,CAAC,CAAG,EAAA,WAAW,EAAE,CAAC;AACrC,CAAC,CAAC;AAEK,MAAM,YAAY,GAAY,CAAC,GAAuB,KAAc;IACzE,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAC3B,IAAA,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;IAChE,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AAE1C,IAAA,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAChE,IAAA,OAAO,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;AACvF,CAAC;;AC5RM,MAAM,aAAa,GAAG,CAACA,QAAc,KAAK,CAAC,GAAW,KAAI;AAC/D,IAAA,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAEC,MAAS,CAACD,QAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAClE,CAAC,CAAC;AAEK,MAAM,aAAa,GAAG,CAAC,GAAW,KAAK,CAAC,GAAuB,KAAI;IACxE,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3C,OAAO,UAAU,CAAC,GAAG,EAAEC,MAAS,CAAC,GAAG,CAAC,CAAC,CAAC;AACzC,CAAC,CAAC;AAEK,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAC7C,MAAM,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAC9C,MAAM,UAAU,GAAG,CAAC,GAAuB,KAAI;IACpD,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAE9B,IAAA,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE;QACtB,OAAO,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;AACvC,KAAA;AAAM,SAAA,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE;QAC7B,OAAO,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;AACvC,KAAA;AAAM,SAAA,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE;QAC7B,OAAO,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;AACvC,KAAA;AACH,CAAC,CAAC;AAEK,MAAM,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAC9C,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAE7C,MAAM,WAAW,GAAG,CAAC,IAAa,MAAc,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;AAEpE,MAAM,eAAe,GAAG,CAAC,QAAgB,KAAY;IAC1D,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;AAC3C,CAAC,CAAC;AAEK,MAAM,eAAe,GAAG,CAAC,QAA4B,KAAY;IACtE,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;AAC3C,CAAC,CAAC;AAEK,MAAM,gBAAgB,GAAG,CAAC,QAA4B,KAAc;IACzE,MAAM,SAAS,GAAG,EAAE,CAAC;AACrB,IAAA,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACpB,IAAA,OAAO,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE;QAC5B,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC3C,KAAA;AACD,IAAA,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEK,MAAM,gBAAgB,GAAG,CAAC,SAAmB,KAAY;AAC9D,IAAA,OAAO,GAAG,CAAC,EAAE,GAAG,SAAS,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACxF,CAAC,CAAC;AAEK,MAAM,aAAa,GAAG,CAAC,MAAc,KAAY;AACtD,IAAA,QAAQ,MAAM;AACZ,QAAA,KAAK,KAAK;AACR,YAAA,OAAO,IAAI,CAAC;AACd,QAAA,KAAK,KAAK;AACR,YAAA,OAAO,IAAI,CAAC;AACd,QAAA,KAAK,MAAM;AACT,YAAA,OAAO,IAAI,CAAC;AACd,QAAA;AACE,YAAA,MAAM,IAAI,uBAAuB,CAAC,MAAM,CAAC,CAAC;AAC7C,KAAA;AACH,CAAC,CAAC;AAEK,MAAM,aAAa,GAAG,CAAC,MAA0B,KAAY;IAClE,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAChC,IAAA,QAAQ,KAAK,CAAC,CAAC,CAAC;AACd,QAAA,KAAK,IAAI;AACP,YAAA,OAAO,KAAK,CAAC;AACf,QAAA,KAAK,IAAI;AACP,YAAA,OAAO,KAAK,CAAC;AACf,QAAA,KAAK,IAAI;AACP,YAAA,OAAO,MAAM,CAAC;AAChB,QAAA;YACE,MAAM,IAAI,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;AACzD,KAAA;AACH,CAAC,CAAC;AAEK,MAAM,eAAe,GAAG,CAAC,GAAW,KAAI;AAC7C,IAAA,IAAI,GAAG,EAAE;QACP,OAAO,WAAW,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;AAC5C,KAAA;AAAM,SAAA;AACL,QAAA,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC;AAC3B,KAAA;AACH,CAAC,CAAC;AAEK,MAAM,YAAY,GAAG,CAAC,GAAoB,KAAY;IAC3D,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;IACtC,MAAM,IAAI,GAAG,EAAE,CAAC;IAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;AAC1B,QAAA,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;AAClC,QAAA,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,IAAI,IAAI,OAAO,CAAC,KAAK,OAAO,CAAC,CAAC;AACjD,KAAA;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC3C,CAAC,CAAC;AAEK,MAAM,YAAY,GAAG,CAAC,GAAuB,KAAI;IACtD,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3B,IAAI,QAAQ,GAAG,CAAC,CAAC;AACjB,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACnC,QAAQ,GAAG,QAAQ,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAChE,KAAA;AAED,IAAA,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAEK,MAAM,YAAY,GAAG,CAAC,GAAoB,KAAY;IAC3D,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;IACtC,MAAM,IAAI,GAAG,EAAE,CAAC;IAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;AAC1B,QAAA,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;AAClC,QAAA,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,IAAI,IAAI,OAAO,CAAC,KAAK,OAAO,CAAC,CAAC;AACjD,KAAA;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC3C,CAAC,CAAC;AAEK,MAAM,YAAY,GAAG,CAAC,GAAuB,KAAI;IACtD,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3B,IAAI,QAAQ,GAAG,CAAC,CAAC;AACjB,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACnC,QAAQ,GAAG,QAAQ,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAChE,KAAA;AAED,IAAA,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAEK,MAAM,WAAW,GAAG,CAAC,GAAuB,KAAa;IAC9D,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAC5B,IAAA,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;AAC1B,CAAC,CAAC;AAEK,MAAM,eAAe,GAAG,CAAC,GAAuB,KAAI;AACzD,IAAA,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;AACrC,IAAA,IAAI,WAAW,EAAE;AACf,QAAA,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC;AACxB,KAAA;AACH,CAAC,CAAC;AAEK,MAAM,UAAU,GAAG,CAAC,GAAW,KAAI;IACxC,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACtC,IAAA,QAAQ,YAAY;QAClB,KAAK,MAAM,CAAC,GAAG;YACb,OAAO,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QAC/C,KAAK,MAAM,CAAC,GAAG;YACb,OAAO,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QAC/C,KAAK,MAAM,CAAC,GAAG;YACb,OAAO,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;AAC/C,QAAA;AACE,YAAA,MAAM,IAAI,mBAAmB,CAAC,GAAG,CAAC,CAAC;AACtC,KAAA;AACH,CAAC,CAAC;AAEK,MAAM,gBAAgB,GAAG,CAAC,GAAW,KAAI;IAC9C,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACtC,IAAA,QAAQ,YAAY;QAClB,KAAK,MAAM,CAAC,IAAI;YACd,OAAO,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAChD,KAAK,MAAM,CAAC,IAAI;YACd,OAAO,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAChD,KAAK,MAAM,CAAC,IAAI;YACd,OAAO,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;AAChD,QAAA;AACE,YAAA,MAAM,IAAI,qBAAqB,CAAC,GAAG,CAAC,CAAC;AACxC,KAAA;AACH,CAAC,CAAC;AAEK,MAAM,cAAc,GAAG,CAAC,GAAW,KAAY;IACpD,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACtC,IAAA,QAAQ,YAAY;QAClB,KAAK,MAAM,CAAC,GAAG,CAAC;QAChB,KAAK,MAAM,CAAC,GAAG,CAAC;QAChB,KAAK,MAAM,CAAC,GAAG;AACb,YAAA,OAAO,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;QAChC,KAAK,MAAM,CAAC,GAAG;AACb,YAAA,OAAO,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;AACtD,QAAA;AACE,YAAA,MAAM,IAAI,mBAAmB,CAAC,GAAG,CAAC,CAAC;AACtC,KAAA;AACH,CAAC,CAAC;AAEK,MAAM,2BAA2B,GAAG,CAAC,GAAW,KAAY;IACjE,MAAM,MAAM,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAEnC,IAAA,IAAI,MAAM,KAAK,MAAM,CAAC,GAAG,EAAE;AACzB,QAAA,OAAO,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;AACrD,KAAA;AACD,IAAA,MAAM,IAAI,2BAA2B,CAAC,GAAG,CAAC,CAAC;AAC7C,CAAC,CAAC;AAEK,MAAM,gBAAgB,GAAG,CAAC,GAAuB,KAAI;IAC1D,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAChC,IAAA,QAAQ,QAAQ,CAAC,CAAC,CAAC;AACjB,QAAA,KAAK,IAAI;YACP,OAAO,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;AACzC,QAAA,KAAK,IAAI;YACP,OAAO,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;AACzC,QAAA,KAAK,IAAI;YACP,OAAO,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;AACzC,QAAA;YACE,MAAM,IAAI,qBAAqB,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;AACnD,KAAA;AACH,CAAC,CAAC;AAEK,MAAM,cAAc,GAAG,CAAC,GAAuB,KAAI;IACxD,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAChC,IAAA,QAAQ,QAAQ,CAAC,CAAC,CAAC;AACjB,QAAA,KAAK,IAAI;AACP,YAAA,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC;QACzB,KAAK,IAAI,EAAE;YACT,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;AAC/C,YAAA,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACf,YAAA,OAAO,OAAO,CAAC;AAChB,SAAA;AACD,QAAA;YACE,MAAM,IAAI,mBAAmB,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;AACjD,KAAA;AACH,CAAC,CAAC;AAEK,MAAM,2BAA2B,GAAG,CAAC,GAAuB,KAAI;IACrE,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAChC,IAAA,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE;QACxB,MAAM,SAAS,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;AACjD,QAAA,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACf,QAAA,OAAO,SAAS,CAAC;AAClB,KAAA;IACD,MAAM,IAAI,2BAA2B,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;AACxD,CAAC,CAAC;AAEK,MAAM,aAAa,GAAG,CAAC,CAAS,KAAY;IACjD,MAAM,EAAE,GAAkB,EAAE,CAAC;IAC7B,IAAI,EAAE,GAAG,IAAIC,WAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC9B,IAAA,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE;AACd,QAAA,MAAM,IAAI,SAAS,CAAC,yBAAyB,CAAC,CAAA,CAAE,CAAC,CAAC;AACnD,KAAA;;AAED,IAAA,OAAO,IAAI,EAAE;AACX,QAAA,IAAI,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE;AACd,YAAA,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;AAAE,gBAAA,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC5B,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;YACzB,MAAM;AACP,SAAA;AAAM,aAAA;YACL,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACpB,YAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACjB,YAAA,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;AACvB,YAAA,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAChB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;AACzB,SAAA;AACF,KAAA;AACD,IAAA,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACrB,CAAC,CAAC;AAEK,MAAM,aAAa,GAAG,CAAC,CAAqB,KAAY;IAC7D,IAAI,mBAAmB,GAAG,CAAC,CAAC;AAC5B,IAAA,OAAO,mBAAmB,GAAG,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,mBAAmB,CAAC,GAAG,GAAG,MAAM,CAAC,EAAE;QACnF,mBAAmB,IAAI,CAAC,CAAC;AAC1B,KAAA;AAED,IAAA,IAAI,GAAG,GAAG,IAAIA,WAAS,CAAC,CAAC,CAAC,CAAC;AAC3B,IAAA,KAAK,IAAI,CAAC,GAAG,mBAAmB,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE;QAChD,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;AAC5B,QAAA,GAAG,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;AAC5B,QAAA,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACrB,KAAA;AAED,IAAA,CAAC,CAAC,OAAO,CAAC,mBAAmB,GAAG,CAAC,CAAC,CAAC;IACnC,OAAO,IAAIA,WAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;AACvC,CAAC,CAAC;AAEK,MAAM,iBAAiB,GAAG,CAAC,KAAyB,KAAI;AAC7D,IAAA,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAE7C,IAAI,QAAQ,IAAI,iBAAiB,EAAE;AACjC,QAAA,OAAO,iBAAiB,CAAC,QAAQ,CAAC,CAAC;AACpC,KAAA;AAAM,SAAA;QACL,MAAM,KAAK,GAAG,kBAAkB,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;AAE3C,QAAA,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAEvD,QAAA,IAAI,UAAU,CAAC,MAAM,GAAG,qBAAqB,EAAE;AAC7C,YAAA,MAAM,IAAI,wBAAwB,CAAC,UAAU,CAAC,CAAC;AAChD,SAAA;AACD,QAAA,OAAO,UAAU,CAAC;AACnB,KAAA;AACH,CAAC,CAAC;AAEK,MAAM,iBAAiB,GAAG,CAAC,GAAuB,KAAI;IAC3D,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAChC,IAAA,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE;QACxB,OAAO;AACR,KAAA;AAAM,SAAA;AACL,QAAA,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;AACjD,QAAA,MAAM,MAAM,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;QACvC,MAAM,UAAU,GAAG,YAAY,CAAC,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;QAChE,OAAO;AACL,YAAA,UAAU,EAAE,iBAAiB;AAC7B,YAAA,KAAK,EAAE,UAAU;SAClB,CAAC;AACH,KAAA;AACH,CAAC,CAAC;AACK,MAAM,iBAAiB,GAAG,CAAC,UAAkB,KAAI;IACtD,IAAI,UAAU,IAAI,wBAAwB,EAAE;AAC1C,QAAA,OAAO,GAAG,wBAAwB,CAAC,UAAU,CAAC,EAAE,CAAC;AAClD,KAAA;AAAM,SAAA;AACL,QAAA,IAAI,UAAU,CAAC,MAAM,GAAG,qBAAqB,EAAE;AAC7C,YAAA,MAAM,IAAI,wBAAwB,CAAC,UAAU,CAAC,CAAC;AAChD,SAAA;AAED,QAAA,MAAM,KAAK,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;QACrC,OAAO,CAAA,EAAA,EAAK,YAAY,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA,CAAE,CAAC;AAC5C,KAAA;AACH,CAAC,CAAC;AAEK,MAAM,iBAAiB,GAAG,CAAC,GAAkD,KAAI;IACtF,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,UAAU,KAAK,SAAS,IAAI,MAAM,IAAI,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,EAAE;AAC9F,QAAA,OAAO,IAAI,CAAC;AACb,KAAA;IAED,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC5D,MAAM,UAAU,GAAG,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACrE,IAAA,OAAO,KAAK,iBAAiB,CAAA,EAAG,MAAM,CAAG,EAAA,UAAU,EAAE,CAAC;AACxD,CAAC,CAAC;AAEK,MAAM,qBAAqB,GAAG,CAAC,KAAqB,KAAI;AAC7D,IAAA,MAAM,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;AACzC,IAAA,OAAO,CAAG,EAAA,GAAG,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA,EAAG,YAAY,CAAA,CAAE,CAAC;AAC1D,CAAC,CAAC;AAEK,MAAM,qBAAqB,GAAG,CAAC,GAAuB,KAAI;AAC/D,IAAA,MAAM,KAAK,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACtC,OAAO,YAAY,CAAC,IAAI,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC;AACrD,CAAC,CAAC;AAEK,MAAM,uBAAuB,GAAG,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AACzD,MAAM,uBAAuB,GAAG,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAEzD,MAAM,qBAAqB,GAAG,CAAC,UAAkB,KAAI;AAC1D,IAAA,MAAM,KAAK,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;IACrC,OAAO,CAAA,EAAG,YAAY,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA,CAAE,CAAC;AAC3C,CAAC,CAAC;AAEK,MAAM,qBAAqB,GAAG,CAAC,GAAuB,KAAI;AAC/D,IAAA,MAAM,KAAK,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;IAEtC,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC7C,CAAC,CAAC;AAEK,MAAM,+BAA+B,GAAG,CAAC,MAAc,KAAI;AAChE,IAAA,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAEK,MAAM,+BAA+B,GAAG,CAAC,IAAwB,KAAI;AAC1E,IAAA,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAEK,MAAM,iBAAiB,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAErD,MAAM,iBAAiB,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAErD,MAAM,2BAA2B,GAAG,CAAC,KAAa,KAAI;AAC3D,IAAA,OAAO,CAAG,EAAA,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA,EAAG,KAAK,CAAA,CAAE,CAAC;AAC5C,CAAC,CAAC;AAEK,MAAM,2BAA2B,GAAG,CAAC,GAAuB,KAAI;AACrE,IAAA,MAAM,KAAK,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACtC,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC5C,CAAC,CAAC;AAEK,MAAM,gBAAgB,GAAG,CAAC,GAAW,KAAI;AAC9C,IAAA,OAAO,CAAC,GAAG,GAAG,IAAI,GAAG,KAAK,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;AACjD,CAAC,CAAC;AAEK,MAAM,gBAAgB,GAAG,CAAC,KAAyB,KAAI;IAC5D,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAChC,IAAA,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE;AAChD,QAAA,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;AAC7B,KAAA;AACH,CAAC;;AChYM,MAAM,sBAAsB,GAAG;IACpC,MAAM,EAAE,KAAK,CAAC,MAAM;AACpB,IAAA,QAAQ,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC;CAC5B,CAAC;AAEK,MAAM,gBAAgB,GAAG;IAC9B,GAAG,EAAE,KAAK,CAAC,GAAG;IACd,MAAM,EAAE,KAAK,CAAC,MAAM;CACrB,CAAC;AAEK,MAAM,YAAY,GAAG;IAC1B,MAAM,EAAE,KAAK,CAAC,GAAG;IACjB,GAAG,EAAE,KAAK,CAAC,MAAM;IACjB,OAAO,EAAE,KAAK,CAAC,MAAM;IACrB,SAAS,EAAE,KAAK,CAAC,MAAM;IACvB,aAAa,EAAE,KAAK,CAAC,MAAM;IAC3B,UAAU,EAAE,KAAK,CAAC,UAAU;CAC7B,CAAC;AAEK,MAAM,gBAAgB,GAAG;IAC9B,MAAM,EAAE,KAAK,CAAC,GAAG;IACjB,GAAG,EAAE,KAAK,CAAC,MAAM;IACjB,OAAO,EAAE,KAAK,CAAC,MAAM;IACrB,SAAS,EAAE,KAAK,CAAC,MAAM;IACvB,aAAa,EAAE,KAAK,CAAC,MAAM;IAC3B,QAAQ,EAAE,KAAK,CAAC,QAAQ;CACzB,CAAC;AAEK,MAAM,iBAAiB,GAAG;IAC/B,MAAM,EAAE,KAAK,CAAC,GAAG;IACjB,GAAG,EAAE,KAAK,CAAC,MAAM;IACjB,OAAO,EAAE,KAAK,CAAC,MAAM;IACrB,SAAS,EAAE,KAAK,CAAC,MAAM;IACvB,aAAa,EAAE,KAAK,CAAC,MAAM;IAC3B,MAAM,EAAE,KAAK,CAAC,MAAM;IACpB,WAAW,EAAE,KAAK,CAAC,OAAO;IAC1B,UAAU,EAAE,KAAK,CAAC,UAAU;CAC7B,CAAC;AAEK,MAAM,iBAAiB,GAAG;IAC/B,MAAM,EAAE,KAAK,CAAC,GAAG;IACjB,GAAG,EAAE,KAAK,CAAC,MAAM;IACjB,OAAO,EAAE,KAAK,CAAC,MAAM;IACrB,SAAS,EAAE,KAAK,CAAC,MAAM;IACvB,aAAa,EAAE,KAAK,CAAC,MAAM;IAC3B,OAAO,EAAE,KAAK,CAAC,MAAM;IACrB,QAAQ,EAAE,KAAK,CAAC,QAAQ;IACxB,MAAM,EAAE,KAAK,CAAC,MAAM;CACrB,CAAC;AAEK,MAAM,YAAY,GAAG;IAC1B,MAAM,EAAE,KAAK,CAAC,GAAG;IACjB,MAAM,EAAE,KAAK,CAAC,KAAK;IACnB,QAAQ,EAAE,KAAK,CAAC,QAAQ;IACxB,MAAM,EAAE,KAAK,CAAC,gBAAgB;CAC/B,CAAC;AAEK,MAAM,iBAAiB,GAAG;IAC/B,IAAI,EAAE,KAAK,CAAC,KAAK;IACjB,KAAK,EAAE,KAAK,CAAC,KAAK;IAClB,KAAK,EAAE,KAAK,CAAC,KAAK;IAClB,kBAAkB,EAAE,KAAK,CAAC,kBAAkB;CAC7C,CAAC;AAEK,MAAM,yBAAyB,GAAG;IACvC,KAAK,EAAE,KAAK,CAAC,KAAK;IAClB,KAAK,EAAE,KAAK,CAAC,GAAG;CACjB,CAAC;AAEK,MAAM,eAAe,GAAG;IAC7B,MAAM,EAAE,KAAK,CAAC,GAAG;IACjB,MAAM,EAAE,KAAK,CAAC,KAAK;IACnB,SAAS,EAAE,KAAK,CAAC,YAAY;CAC9B,CAAC;AAEK,MAAM,4BAA4B,GAAG;IAC1C,MAAM,EAAE,KAAK,CAAC,GAAG;IACjB,GAAG,EAAE,KAAK,CAAC,MAAM;IACjB,OAAO,EAAE,KAAK,CAAC,MAAM;IACrB,SAAS,EAAE,KAAK,CAAC,MAAM;IACvB,aAAa,EAAE,KAAK,CAAC,MAAM;IAC3B,KAAK,EAAE,KAAK,CAAC,KAAK;CACnB,CAAC;AAEK,MAAM,oBAAoB,GAAG;IAClC,MAAM,EAAE,KAAK,CAAC,GAAG;IACjB,GAAG,EAAE,KAAK,CAAC,MAAM;IACjB,OAAO,EAAE,KAAK,CAAC,MAAM;IACrB,SAAS,EAAE,KAAK,CAAC,MAAM;IACvB,aAAa,EAAE,KAAK,CAAC,MAAM;IAC3B,eAAe,EAAE,KAAK,CAAC,KAAK;IAC5B,SAAS,EAAE,KAAK,CAAC,KAAK;IACtB,eAAe,EAAE,KAAK,CAAC,OAAO;IAC9B,aAAa,EAAE,KAAK,CAAC,MAAM;IAC3B,WAAW,EAAE,KAAK,CAAC,OAAO;IAC1B,UAAU,EAAE,KAAK,CAAC,UAAU;CAC7B,CAAC;AAEK,MAAM,yBAAyB,GAAG;IACvC,MAAM,EAAE,KAAK,CAAC,GAAG;IACjB,GAAG,EAAE,KAAK,CAAC,MAAM;IACjB,OAAO,EAAE,KAAK,CAAC,MAAM;IACrB,SAAS,EAAE,KAAK,CAAC,MAAM;IACvB,aAAa,EAAE,KAAK,CAAC,MAAM;IAC3B,qBAAqB,EAAE,KAAK,CAAC,2BAA2B;CACzD,CAAC;AAEK,MAAM,yBAAyB,GAAG;IACvC,MAAM,EAAE,KAAK,CAAC,GAAG;IACjB,GAAG,EAAE,KAAK,CAAC,MAAM;IACjB,OAAO,EAAE,KAAK,CAAC,MAAM;IACrB,SAAS,EAAE,KAAK,CAAC,MAAM;IACvB,aAAa,EAAE,KAAK,CAAC,MAAM;IAC3B,MAAM,EAAE,KAAK,CAAC,YAAY;IAC1B,OAAO,EAAE,KAAK,CAAC,uBAAuB;IACtC,UAAU,EAAE,KAAK,CAAC,UAAU;CAC7B,CAAC;AAEK,MAAM,yBAAyB,GAAG;IACvC,MAAM,EAAE,KAAK,CAAC,GAAG;IACjB,GAAG,EAAE,KAAK,CAAC,MAAM;IACjB,OAAO,EAAE,KAAK,CAAC,MAAM;IACrB,SAAS,EAAE,KAAK,CAAC,MAAM;IACvB,aAAa,EAAE,KAAK,CAAC,MAAM;IAC3B,MAAM,EAAE,KAAK,CAAC,MAAM;IACpB,WAAW,EAAE,KAAK,CAAC,sBAAsB;CAC1C,CAAC;AAEK,MAAM,gBAAgB,GAC3B,CAAC,QAAoD,KAAK,CAAC,SAA2B,KAAI;AACxF,IAAA,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,kBAAkB,CAAC,EAAE;AAC5E,QAAA,MAAM,IAAI,yBAAyB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AACrD,KAAA;AAED,IAAA,OAAO,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC;AAClF,CAAC,CAAC;AAEG,MAAM,gBAAgB,GAC3B,CAAC,QAAoC,KAAK,CAAC,KAAyB,KAAI;IACtE,MAAM,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAE5B,MAAM,aAAa,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACzC,IAAI,aAAa,KAAK,SAAS,EAAE;QAC/B,MAAM,IAAI,yBAAyB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;AACvD,KAAA;IAED,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC;AAElD,IAAA,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE;AAClC,QAAA,MAAM,IAAI,sBAAsB,CAAC,2BAA2B,CAAC,CAAC;AAC/D,KAAA;AAED,IAAA,OAAA,MAAA,CAAA,MAAA,CAAA,EACE,IAAI,EAAE,aAAa,EAAA,EAChB,UAAU,CACb,CAAA;AACJ,CAAC,CAAC;AAKG,MAAM,aAAa,GACxB,CAAC,QAAoD,KAAK,CAAC,MAAc,KAAK,CAAC,KAAY,KAAI;IAC7F,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACjC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,GAAG,KAAI;AAC/B,QAAA,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAU,CAAC;QAE3C,IAAI,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;YACzC,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,YAAA,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;AAE1B,YAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;AAC1B,gBAAA,MAAM,IAAI,sBAAsB,CAAC,CAAA,2BAAA,EAA8B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAE,CAAA,CAAC,CAAC;AAC1F,aAAA;YAED,OAAO,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,OAAO,KAAK,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;AACvF,SAAA;AAAM,aAAA;AACL,YAAA,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC;YACxC,OAAO,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;AACnC,SAAA;KACF,EAAE,EAAE,CAAC,CAAC;AACT,CAAC,CAAC;AAEG,MAAM,aAAa,GACxB,CAAC,QAAoC,KACrC,CAAC,MAA4C,KAC7C,CAAC,KAAyB,KAAI;IAC5B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACjC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,GAAG,KAAI;AAC/B,QAAA,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;AAElC,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;YAChC,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;YAE3C,MAAM,OAAO,GAAG,EAAE,CAAC;AACnB,YAAA,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;AAClC,YAAA,OAAO,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE;gBACzB,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;AAE7B,gBAAA,IAAI,UAAU,KAAK,KAAK,CAAC,MAAM,EAAE,EAAE;AACjC,oBAAA,MAAM,IAAI,sBAAsB,CAAC,wBAAwB,CAAC,CAAC;AAC5D,iBAAA;AACF,aAAA;AAED,YAAA,OAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACK,IAAI,CACP,EAAA,EAAA,CAAC,GAAG,GAAG,OAAO,EACd,CAAA,CAAA;AACH,SAAA;AAAM,aAAA;AACL,YAAA,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC;AAExC,YAAA,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;AAE9B,YAAA,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;AACjC,gBAAA,OAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACK,IAAI,CACP,EAAA,EAAA,CAAC,GAAG,GAAG,MAAM,EACb,CAAA,CAAA;AACH,aAAA;AAAM,iBAAA;AACL,gBAAA,OAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACK,IAAI,CACP,CAAA;AACH,aAAA;AACF,SAAA;KACF,EAAE,EAAE,CAAC,CAAC;AACT,CAAC;;AC1LU,MAAA,QAAQ,GAA+B;AAClD,IAAA,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,KAAK,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AACrD,IAAA,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,GAAG,KAAK,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AAClD,IAAA,CAAC,KAAK,CAAC,GAAG,GAAG,UAAU;AACvB,IAAA,CAAC,KAAK,CAAC,MAAM,GAAG,aAAa;AAC7B,IAAA,CAAC,KAAK,CAAC,MAAM,GAAG,aAAa;AAC7B,IAAA,CAAC,KAAK,CAAC,UAAU,GAAG,gBAAgB;AACpC,IAAA,CAAC,KAAK,CAAC,GAAG,GAAG,UAAU;AACvB,IAAA,CAAC,KAAK,CAAC,QAAQ,GAAG,eAAe;AACjC,IAAA,CAAC,KAAK,CAAC,KAAK,GAAG,YAAY;AAC3B,IAAA,CAAC,KAAK,CAAC,MAAM,GAAG,aAAa;AAC7B,IAAA,CAAC,KAAK,CAAC,gBAAgB,GAAG,aAAa;AACvC,IAAA,CAAC,KAAK,CAAC,QAAQ,GAAG,eAAe;AACjC,IAAA,CAAC,KAAK,CAAC,YAAY,GAAG,gBAAgB;AACtC,IAAA,CAAC,KAAK,CAAC,UAAU,GAAG,iBAAiB;AACrC,IAAA,CAAC,KAAK,CAAC,OAAO,GAAG,cAAc;AAC/B,IAAA,CAAC,KAAK,CAAC,sBAAsB,GAAG,2BAA2B;AAC3D,IAAA,CAAC,KAAK,CAAC,KAAK,GAAG,qBAAqB;AACpC,IAAA,CAAC,KAAK,CAAC,KAAK,GAAG,YAAY;AAC3B,IAAA,CAAC,KAAK,CAAC,kBAAkB,GAAG,uBAAuB;AACnD,IAAA,CAAC,KAAK,CAAC,UAAU,GAAG,qBAAqB;AACzC,IAAA,CAAC,KAAK,CAAC,2BAA2B,GAAG,+BAA+B;AACpE,IAAA,CAAC,KAAK,CAAC,YAAY,GAAG,iBAAiB;AACvC,IAAA,CAAC,KAAK,CAAC,uBAAuB,GAAG,2BAA2B;AAC5D,IAAA,CAAC,KAAK,CAAC,UAAU,GAAG,gBAAgB;EACpC;AAEF,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;AACvD,QAAQ,CAAC,KAAK,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAuB,KAC5D,aAAa,CAAC,QAAQ,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC;AACjD,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,GAAuB,KACtD,aAAa,CAAC,QAAQ,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC;AACjD,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,GAAuB,KACvD,aAAa,CAAC,QAAQ,CAAC,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC;AAClD,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,GAAuB,KACvD,aAAa,CAAC,QAAQ,CAAC,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC;AAClD,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,GAAuB,KAAK,aAAa,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC;AACpG,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,GAAuB,KACvD,aAAa,CAAC,QAAQ,CAAC,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC;AAClD,QAAQ,CAAC,KAAK,CAAC,wBAAwB,CAAC,GAAG,CAAC,GAAuB,KACjE,aAAa,CAAC,QAAQ,CAAC,CAAC,yBAAyB,CAAC,CAAC,GAAG,CAAC,CAAC;AAC1D,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,GAAuB,KACrD,aAAa,CAAC,QAAQ,CAAC,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,CAAC;AAChD,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,GAAuB,KAAK,aAAa,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC;AACpG,QAAQ,CAAC,KAAK,CAAC,2BAA2B,CAAC,GAAG,CAAC,GAAuB,KACpE,aAAa,CAAC,QAAQ,CAAC,CAAC,4BAA4B,CAAC,CAAC,GAAG,CAAC,CAAC;AAC7D,QAAQ,CAAC,KAAK,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAuB,KAC3D,aAAa,CAAC,QAAQ,CAAC,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,CAAC;AACrD,QAAQ,CAAC,KAAK,CAAC,wBAAwB,CAAC,GAAG,CAAC,GAAuB,KACjE,aAAa,CAAC,QAAQ,CAAC,CAAC,yBAAyB,CAAC,CAAC,GAAG,CAAC,CAAC;AAC1D,QAAQ,CAAC,KAAK,CAAC,yBAAyB,CAAC,GAAG,CAAC,GAAuB,KAClE,aAAa,CAAC,QAAQ,CAAC,CAAC,yBAAyB,CAAC,CAAC,GAAG,CAAC,CAAC;AAC1D,QAAQ,CAAC,KAAK,CAAC,wBAAwB,CAAC,GAAG,CAAC,GAAuB,KACjE,aAAa,CAAC,QAAQ,CAAC,CAAC,yBAAyB,CAAC,CAAC,GAAG,CAAC,CAAC;AAC1D,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC,sBAAsB,CAAC;;ACxD5D,MAAA,QAAQ,GAAoC;IACvD,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,GAAW,KAAK,GAAG;IACpC,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,GAAW,KAAK,GAAG;AACjC,IAAA,CAAC,KAAK,CAAC,GAAG,GAAG,UAAU;AACvB,IAAA,CAAC,KAAK,CAAC,MAAM,GAAG,aAAa;AAC7B,IAAA,CAAC,KAAK,CAAC,MAAM,GAAG,aAAa;AAC7B,IAAA,CAAC,KAAK,CAAC,UAAU,GAAG,gBAAgB;AACpC,IAAA,CAAC,KAAK,CAAC,GAAG,GAAG,UAAU;AACvB,IAAA,CAAC,KAAK,CAAC,QAAQ,GAAG,eAAe;AACjC,IAAA,CAAC,KAAK,CAAC,MAAM,GAAG,aAAa;AAC7B,IAAA,CAAC,KAAK,CAAC,gBAAgB,GAAG,aAAa;AACvC,IAAA,CAAC,KAAK,CAAC,QAAQ,GAAG,eAAe;AACjC,IAAA,CAAC,KAAK,CAAC,YAAY,GAAG,gBAAgB;AACtC,IAAA,CAAC,KAAK,CAAC,KAAK,GAAG,YAAY;AAC3B,IAAA,CAAC,KAAK,CAAC,UAAU,GAAG,iBAAiB;AACrC,IAAA,CAAC,KAAK,CAAC,OAAO,GAAG,cAAc;AAC/B,IAAA,CAAC,KAAK,CAAC,sBAAsB,GAAG,2BAA2B;AAC3D,IAAA,CAAC,KAAK,CAAC,KAAK,GAAG,qBAAqB;AACpC,IAAA,CAAC,KAAK,CAAC,KAAK,GAAG,YAAY;AAC3B,IAAA,CAAC,KAAK,CAAC,kBAAkB,GAAG,uBAAuB;AACnD,IAAA,CAAC,KAAK,CAAC,UAAU,GAAG,qBAAqB;AACzC,IAAA,CAAC,KAAK,CAAC,2BAA2B,GAAG,+BAA+B;AACpE,IAAA,CAAC,KAAK,CAAC,YAAY,GAAG,iBAAiB;AACvC,IAAA,CAAC,KAAK,CAAC,uBAAuB,GAAG,2BAA2B;AAC5D,IAAA,CAAC,KAAK,CAAC,UAAU,GAAG,gBAAgB;EACpC;AAEF,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;AACvD,QAAQ,CAAC,KAAK,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAQ,KAAK,aAAa,CAAC,QAAQ,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC;AACnG,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,GAAQ,KAAK,aAAa,CAAC,QAAQ,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC;AAC7F,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,GAAQ,KAAK,aAAa,CAAC,QAAQ,CAAC,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC;AAC/F,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,GAAQ,KAAK,aAAa,CAAC,QAAQ,CAAC,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC;AAC/F,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,GAAQ,KAAK,aAAa,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC;AACrF,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,GAAQ,KAAK,aAAa,CAAC,QAAQ,CAAC,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC;AAC/F,QAAQ,CAAC,KAAK,CAAC,wBAAwB,CAAC,GAAG,CAAC,GAAQ,KAClD,aAAa,CAAC,QAAQ,CAAC,CAAC,yBAAyB,CAAC,CAAC,GAAG,CAAC,CAAC;AAC1D,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,GAAQ,KAAK,aAAa,CAAC,QAAQ,CAAC,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,CAAC;AAC3F,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,GAAQ,KAAK,aAAa,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC;AACrF,QAAQ,CAAC,KAAK,CAAC,2BAA2B,CAAC,GAAG,CAAC,GAAQ,KACrD,aAAa,CAAC,QAAQ,CAAC,CAAC,4BAA4B,CAAC,CAAC,GAAG,CAAC,CAAC;AAC7D,QAAQ,CAAC,KAAK,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAQ,KAC5C,aAAa,CAAC,QAAQ,CAAC,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,CAAC;AACrD,QAAQ,CAAC,KAAK,CAAC,wBAAwB,CAAC,GAAG,CAAC,GAAQ,KAClD,aAAa,CAAC,QAAQ,CAAC,CAAC,yBAAyB,CAAC,CAAC,GAAG,CAAC,CAAC;AAC1D,QAAQ,CAAC,KAAK,CAAC,yBAAyB,CAAC,GAAG,CAAC,GAAQ,KACnD,aAAa,CAAC,QAAQ,CAAC,CAAC,yBAAyB,CAAC,CAAC,GAAG,CAAC,CAAC;AAC1D,QAAQ,CAAC,KAAK,CAAC,wBAAwB,CAAC,GAAG,CAAC,GAAQ,KAClD,aAAa,CAAC,QAAQ,CAAC,CAAC,yBAAyB,CAAC,CAAC,GAAG,CAAC,CAAC;AAC1D,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC,sBAAsB,CAAC;;AC5DzE,MAAM,oBAAoB,GAAG;AAC3B,IAAA,gBAAgB,EAAE,gBAAgB;AAClC,IAAA,MAAM,EAAE,YAAY;AACpB,IAAA,UAAU,EAAE,gBAAgB;AAC5B,IAAA,WAAW,EAAE,iBAAiB;AAC9B,IAAA,WAAW,EAAE,iBAAiB;AAC9B,IAAA,MAAM,EAAE,YAAY;AACpB,IAAA,WAAW,EAAE,iBAAiB;AAC9B,IAAA,qBAAqB,EAAE,yBAAyB;AAChD,IAAA,SAAS,EAAE,eAAe;AAC1B,IAAA,wBAAwB,EAAE,4BAA4B;AACtD,IAAA,eAAe,EAAE,oBAAoB;AACrC,IAAA,qBAAqB,EAAE,yBAAyB;AAChD,IAAA,sBAAsB,EAAE,yBAAyB;AACjD,IAAA,qBAAqB,EAAE,yBAAyB;CACjD,CAAC;AAEF;AACA,MAAM,kBAAkB,GAAG,CAAC,IAAc,EAAE,IAAc,KAAI;AAC5D,IAAA,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/C,CAAC,CAAC;AAEF,MAAM,yBAAyB,GAAG,CAAC,KAAe,EAAE,IAAY,KAAI;AAClE,IAAA,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;AACzC,CAAC,CAAC;AAEF;;AAEG;AACI,MAAM,qBAAqB,GAAG,CAAC,MAAc,KAAI;IACtD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;AACrD,IAAA,OAAO,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF;;;;;AAKG;AACI,MAAM,uBAAuB,GAAG,CAAC,gBAAmC,KAAI;AAC7E,IAAA,MAAM,IAAI,GAAG,gBAAgB,CAAC,IAAqB,CAAC;IAEpD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC3C,MAAM,SAAS,GAAG,yBAAyB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAE1D,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC;AAE3D,IAAA,OAAO,kBAAkB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;AACnD,CAAC;;ICpFW,cAcX;AAdD,CAAA,UAAY,aAAa,EAAA;AACvB,IAAA,aAAA,CAAA,UAAA,CAAA,GAAA,qDAAgE,CAAA;AAChE,IAAA,aAAA,CAAA,UAAA,CAAA,GAAA,qDAAgE,CAAA;AAChE,IAAA,aAAA,CAAA,UAAA,CAAA,GAAA,qDAAgE,CAAA;AAChE,IAAA,aAAA,CAAA,UAAA,CAAA,GAAA,qDAAgE,CAAA;AAChE,IAAA,aAAA,CAAA,UAAA,CAAA,GAAA,qDAAgE,CAAA;AAChE,IAAA,aAAA,CAAA,UAAA,CAAA,GAAA,qDAAgE,CAAA;AAChE,IAAA,aAAA,CAAA,WAAA,CAAA,GAAA,qDAAiE,CAAA;AACjE,IAAA,aAAA,CAAA,WAAA,CAAA,GAAA,qDAAiE,CAAA;AACjE,IAAA,aAAA,CAAA,UAAA,CAAA,GAAA,qDAAgE,CAAA;AAChE,IAAA,aAAA,CAAA,WAAA,CAAA,GAAA,qDAAiE,CAAA;AACjE,IAAA,aAAA,CAAA,WAAA,CAAA,GAAA,qDAAiE,CAAA;AACjE,IAAA,aAAA,CAAA,WAAA,CAAA,GAAA,qDAAiE,CAAA;AACjE,IAAA,aAAA,CAAA,YAAA,CAAA,GAAA,qDAAkE,CAAA;AACpE,CAAC,EAdW,aAAa,KAAb,aAAa,GAcxB,EAAA,CAAA,CAAA;;ACbD;AACa,MAAA,OAAO,GAAG;AACnB,IAAA,YAAY,EAAE,0CAA0C;AACxD,IAAA,SAAS,EAAE,QAAQ;;;ACJvB;;;AAGG;AAoBH,MAAM,gBAAgB,GAAG,aAAa,CAAC,SAAS,CAAC;AAEjC,SAAA,QAAQ,CAAC,KAAY,EAAE,MAAqB,EAAA;IAC1D,OAAO;AACL,QAAA,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC;AACxB,QAAA,OAAO,EAAE,CAAC,GAAW,KAAI;YACvB,MAAM,QAAQ,GAAG,kBAAkB,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;AACvD,YAAA,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAQ,CAAC;SACzC;KACF,CAAC;AACJ,CAAC;MAEY,WAAW,CAAA;AACtB,IAAA,WAAA,CAA4B,eAAe,gBAAgB,EAAA;QAA/B,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAmB;QAEnD,IAAK,CAAA,KAAA,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;KAFI;AAI/D,IAAA,KAAK,CAAC,MAAmB,EAAA;QACvB,IAAI,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,gBAAgB,CAAC,KAAK,EAAE;YAC3D,MAAM,IAAI,qBAAqB,CAAC,CAAA,eAAA,EAAkB,MAAM,CAAC,MAAM,CAAa,WAAA,CAAA,CAAC,CAAC;AAC/E,SAAA;AAED,QAAA,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE;AACrC,YAAA,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;AACxC,gBAAA,MAAM,IAAI,yBAAyB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACnD,aAAA;AAED,YAAA,MAAM,IAAI,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;AAC9C,YAAA,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;AACrB,gBAAA,IAAI,OAAO,CAAC,IAAI,KAAK,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,UAAU,EAAE;oBAC3D,SAAS;AACV,iBAAA;AAAM,qBAAA,IAAI,OAAO,CAAC,IAAI,KAAK,aAAa,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,UAAU,EAAE;oBACnE,SAAS;AACV,iBAAA;AAAM,qBAAA,IAAI,OAAO,CAAC,IAAI,KAAK,aAAa,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,YAAY,EAAE;oBACrE,SAAS;AACV,iBAAA;AAAM,qBAAA,IACL,OAAO,CAAC,IAAI,KAAM,wBAAoC;AACtD,oBAAA,IAAI,CAAC,CAAC,CAAC,KAAK,YAAY,EACxB;oBACA,SAAS;AACV,iBAAA;AAAM,qBAAA;AACL,oBAAA,MAAM,IAAI,2BAA2B,CACnC,CAAA,oBAAA,EAAuB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAA,CAAE,CACpD,CAAC;AACH,iBAAA;AACF,aAAA;AAAM,iBAAA,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;AAC1B,gBAAA,MAAM,IAAI,2BAA2B,CAAC,CAAA,oBAAA,EAAuB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAA,CAAE,CAAC,CAAC;AAC5F,aAAA;AACF,SAAA;AACD,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;AACxD,QAAA,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;KAChC;AAED,IAAA,KAAK,CAAC,GAAW,EAAA;AACf,QAAA,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAgB,CAAC,CAAC;KAChE;AACF,CAAA;AAEY,MAAA,WAAW,GAAG,IAAI,WAAW;;;;"}
|
|
@@ -1297,8 +1297,8 @@
|
|
|
1297
1297
|
|
|
1298
1298
|
// IMPORTANT: THIS FILE IS AUTO GENERATED! DO NOT MANUALLY EDIT OR CHECKIN!
|
|
1299
1299
|
const VERSION = {
|
|
1300
|
-
"commitHash": "
|
|
1301
|
-
"version": "14.
|
|
1300
|
+
"commitHash": "22fd810dcadf5272cb7a57d65165caa0eddbc57e",
|
|
1301
|
+
"version": "14.2.0"
|
|
1302
1302
|
};
|
|
1303
1303
|
|
|
1304
1304
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taquito-local-forging.umd.js","sources":["../src/utils.ts","../src/constants.ts","../src/error.ts","../src/uint8array-consumer.ts","../src/michelson/codec.ts","../src/codec.ts","../src/schema/operation.ts","../src/decoder.ts","../src/encoder.ts","../src/validator.ts","../src/protocols.ts","../src/version.ts","../src/taquito-local-forging.ts"],"sourcesContent":["export const concat = (...arr: Uint8Array[]) => {\n return arr.reduce((a: Uint8Array, b: Uint8Array) => {\n const c = new Uint8Array(a.length + b.length);\n c.set(a);\n c.set(b, a.length);\n return c;\n }, new Uint8Array());\n};\n\nexport const toHexString = (bytes: Uint8Array) =>\n bytes.reduce((str, byte) => str + byte.toString(16).padStart(2, '0'), '');\n\nexport const pad = (num: number, paddingLen = 8) => {\n return num.toString(16).padStart(paddingLen, '0');\n};\n","/*\n * Some code in this file is originally from sotez\n * Copyright (c) 2018 Andrew Kishino\n */\n\nimport { pad } from './utils';\n\n// See: https://tezos.gitlab.io/protocols/005_babylon.html#transactions-now-have-an-entrypoint\nexport const ENTRYPOINT_MAX_LENGTH = 31;\n\nexport enum CODEC {\n SECRET = 'secret',\n RAW = 'raw',\n TZ1 = 'tz1',\n BRANCH = 'branch',\n ZARITH = 'zarith',\n PUBLIC_KEY = 'public_key',\n PKH = 'pkh',\n DELEGATE = 'delegate',\n SCRIPT = 'script',\n BALLOT_STATEMENT = 'ballotStmt',\n PROPOSAL = 'proposal',\n PROPOSAL_ARR = 'proposalArr',\n INT32 = 'int32',\n INT16 = 'int16',\n PARAMETERS = 'parameters',\n ADDRESS = 'address',\n SMART_CONTRACT_ADDRESS = 'smart_contract_address',\n VALUE = 'value',\n MANAGER = 'manager',\n BLOCK_PAYLOAD_HASH = 'blockPayloadHash',\n ENTRYPOINT = 'entrypoint',\n OPERATION = 'operation',\n OP_ACTIVATE_ACCOUNT = 'activate_account',\n OP_DELEGATION = 'delegation',\n OP_TRANSACTION = 'transaction',\n OP_ORIGINATION = 'origination',\n OP_BALLOT = 'ballot',\n OP_ENDORSEMENT = 'endorsement',\n OP_SEED_NONCE_REVELATION = 'seed_nonce_revelation',\n OP_REVEAL = 'reveal',\n OP_PROPOSALS = 'proposals',\n OP_REGISTER_GLOBAL_CONSTANT = 'register_global_constant',\n OP_TRANSFER_TICKET = 'transfer_ticket',\n OP_TX_ROLLUP_ORIGINATION = 'tx_rollup_origination',\n OP_TX_ROLLUP_SUBMIT_BATCH = 'tx_rollup_submit_batch',\n BURN_LIMIT = 'burn_limit',\n TX_ROLLUP_ORIGINATION_PARAM = 'tx_rollup_origination_param',\n TX_ROLLUP_ID = 'tx_rollup_id',\n TX_ROLLUP_BATCH_CONTENT = 'tx_rollup_batch_content',\n OP_INCREASE_PAID_STORAGE = 'increase_paid_storage',\n}\n\n// See https://tezos.gitlab.io/whitedoc/michelson.html#full-grammar\nexport const opMapping: { [key: string]: string } = {\n '00': 'parameter',\n '01': 'storage',\n '02': 'code',\n '03': 'False',\n '04': 'Elt',\n '05': 'Left',\n '06': 'None',\n '07': 'Pair',\n '08': 'Right',\n '09': 'Some',\n '0a': 'True',\n '0b': 'Unit',\n '0c': 'PACK',\n '0d': 'UNPACK',\n '0e': 'BLAKE2B',\n '0f': 'SHA256',\n '10': 'SHA512',\n '11': 'ABS',\n '12': 'ADD',\n '13': 'AMOUNT',\n '14': 'AND',\n '15': 'BALANCE',\n '16': 'CAR',\n '17': 'CDR',\n '18': 'CHECK_SIGNATURE',\n '19': 'COMPARE',\n '1a': 'CONCAT',\n '1b': 'CONS',\n '1c': 'CREATE_ACCOUNT', // Removed in Edo\n '1d': 'CREATE_CONTRACT', // Removed in Edo\n '1e': 'IMPLICIT_ACCOUNT',\n '1f': 'DIP',\n '20': 'DROP',\n '21': 'DUP',\n '22': 'EDIV',\n '23': 'EMPTY_MAP',\n '24': 'EMPTY_SET',\n '25': 'EQ',\n '26': 'EXEC',\n '27': 'FAILWITH',\n '28': 'GE',\n '29': 'GET',\n '2a': 'GT',\n '2b': 'HASH_KEY',\n '2c': 'IF',\n '2d': 'IF_CONS',\n '2e': 'IF_LEFT',\n '2f': 'IF_NONE',\n '30': 'INT',\n '31': 'LAMBDA',\n '32': 'LE',\n '33': 'LEFT',\n '34': 'LOOP',\n '35': 'LSL',\n '36': 'LSR',\n '37': 'LT',\n '38': 'MAP',\n '39': 'MEM',\n '3a': 'MUL',\n '3b': 'NEG',\n '3c': 'NEQ',\n '3d': 'NIL',\n '3e': 'NONE',\n '3f': 'NOT',\n '40': 'NOW',\n '41': 'OR',\n '42': 'PAIR',\n '43': 'PUSH',\n '44': 'RIGHT',\n '45': 'SIZE',\n '46': 'SOME',\n '47': 'SOURCE',\n '48': 'SENDER',\n '49': 'SELF',\n '4a': 'STEPS_TO_QUOTA', // Removed in Edo\n '4b': 'SUB',\n '4c': 'SWAP',\n '4d': 'TRANSFER_TOKENS',\n '4e': 'SET_DELEGATE',\n '4f': 'UNIT',\n '50': 'UPDATE',\n '51': 'XOR',\n '52': 'ITER',\n '53': 'LOOP_LEFT',\n '54': 'ADDRESS',\n '55': 'CONTRACT',\n '56': 'ISNAT',\n '57': 'CAST',\n '58': 'RENAME',\n '59': 'bool',\n '5a': 'contract',\n '5b': 'int',\n '5c': 'key',\n '5d': 'key_hash',\n '5e': 'lambda',\n '5f': 'list',\n '60': 'map',\n '61': 'big_map',\n '62': 'nat',\n '63': 'option',\n '64': 'or',\n '65': 'pair',\n '66': 'set',\n '67': 'signature',\n '68': 'string',\n '69': 'bytes',\n '6a': 'mutez',\n '6b': 'timestamp',\n '6c': 'unit',\n '6d': 'operation',\n '6e': 'address',\n '6f': 'SLICE',\n '70': 'DIG',\n '71': 'DUG',\n '72': 'EMPTY_BIG_MAP',\n '73': 'APPLY',\n '74': 'chain_id',\n '75': 'CHAIN_ID',\n '76': 'LEVEL',\n '77': 'SELF_ADDRESS',\n '78': 'never',\n '79': 'NEVER',\n '7a': 'UNPAIR',\n '7b': 'VOTING_POWER',\n '7c': 'TOTAL_VOTING_POWER',\n '7d': 'KECCAK',\n '7e': 'SHA3',\n '7f': 'PAIRING_CHECK',\n '80': 'bls12_381_g1',\n '81': 'bls12_381_g2',\n '82': 'bls12_381_fr',\n '83': 'sapling_state',\n '84': 'sapling_transaction_deprecated',\n '85': 'SAPLING_EMPTY_STATE',\n '86': 'SAPLING_VERIFY_UPDATE',\n '87': 'ticket',\n '88': 'TICKET',\n '89': 'READ_TICKET',\n '8a': 'SPLIT_TICKET',\n '8b': 'JOIN_TICKETS',\n '8c': 'GET_AND_UPDATE',\n '8d': 'chest',\n '8e': 'chest_key',\n '8f': 'OPEN_CHEST',\n '90': 'VIEW',\n '91': 'view',\n '92': 'constant',\n '93': 'SUB_MUTEZ',\n '94': 'tx_rollup_l2_address',\n '95': 'MIN_BLOCK_TIME',\n '96': 'sapling_transaction',\n '97': 'EMIT',\n};\n\nexport const opMappingReverse = (() => {\n const result: { [key: string]: string } = {};\n Object.keys(opMapping).forEach((key: string) => {\n result[opMapping[key]] = key;\n });\n return result;\n})();\n\n// See https://tezos.gitlab.io/api/p2p.html\nexport const kindMapping: { [key: number]: string } = {\n 0x04: 'activate_account',\n 0x6b: 'reveal',\n 0x6e: 'delegation',\n 0x6c: 'transaction',\n 0x6d: 'origination',\n 0x06: 'ballot',\n 0x15: 'endorsement',\n 0x01: 'seed_nonce_revelation',\n 0x05: 'proposals',\n 0x6f: 'register_global_constant',\n 0x96: 'tx_rollup_origination',\n 0x97: 'tx_rollup_submit_batch',\n 0x9e: 'transfer_ticket',\n 0x71: 'increase_paid_storage',\n};\n\nexport const kindMappingReverse = (() => {\n const result: { [key: string]: string } = {};\n Object.keys(kindMapping).forEach((key: number | string) => {\n const keyNum = typeof key === 'string' ? parseInt(key, 10) : key;\n result[kindMapping[keyNum]] = pad(keyNum, 2);\n });\n return result;\n})();\n\n// See https://tezos.gitlab.io/protocols/005_babylon.html#transactions-now-have-an-entrypoint\nexport const entrypointMapping: { [key: string]: string } = {\n '00': 'default',\n '01': 'root',\n '02': 'do',\n '03': 'set_delegate',\n '04': 'remove_delegate',\n};\n\nexport const entrypointMappingReverse = (() => {\n const result: { [key: string]: string } = {};\n Object.keys(entrypointMapping).forEach((key: string) => {\n result[entrypointMapping[key]] = key;\n });\n return result;\n})();\n","import { ENTRYPOINT_MAX_LENGTH } from './constants';\n\n/**\n * @category Error\n * @description Error that indicates an invalid block hash being passed or used\n */\nexport class InvalidBlockHashError extends Error {\n public name = 'InvalidBlockHashError';\n constructor(public message: string) {\n super(message);\n }\n}\n\n/**\n * @category Error\n * @description Error that indicates an invalid operation schema being passed or used\n */ export class InvalidOperationSchemaError extends Error {\n public name = 'InvalidOperationSchemaError';\n constructor(public message: string) {\n super(message);\n }\n}\n\n/**\n * @category Error\n * @description Error that indicates an entrypoint exceeding maximum size\n */\nexport class OversizedEntryPointError extends Error {\n public name = 'OversizedEntryPointError';\n constructor(public entrypoint: string) {\n super(\n `Oversized entrypoint: ${entrypoint}. The maximum length of entrypoint is ${ENTRYPOINT_MAX_LENGTH}`\n );\n }\n}\n\n/**\n * @category Error\n * @description Error that indicates an invalid ballot value\n */\nexport class InvalidBallotValueError extends Error {\n public name = 'InvalidBallotValueError';\n constructor(public ballotValue: string) {\n super(`The ballot value '${ballotValue}' is invalid`);\n }\n}\n\n/**\n * @category Error\n * @description Error that indicates a failure when trying to decode ballot value\n */\nexport class DecodeBallotValueError extends Error {\n public name = 'DecodeBallotValueError';\n constructor(public ballotValue: string) {\n super(`Failed to decode ballot value ${ballotValue}`);\n }\n}\n\n/**\n * @category Error\n * @description Error that indicates an invalid hex string have been passed or used\n */\nexport class InvalidHexStringError extends Error {\n public name = 'InvalidHexStringError';\n constructor(public hexString: string) {\n super(`The hex string '${hexString}' is invalid`);\n }\n}\n\n/**\n * @category Error\n * @description Error that indicates unexpected Michelson Value being passed or used\n */\nexport class UnexpectedMichelsonValueError extends Error {\n public name = 'UnexpectedMichelsonValueError';\n constructor(public value: string) {\n super(`Failed to encode michelson value '${value}'`);\n }\n}\n\n/**\n * @category Error\n * @description Error that indicates a failure when trying to decode an operation\n */\nexport class OperationDecodingError extends Error {\n public name = 'OperationDecodingError';\n constructor(public message: string) {\n super(message);\n }\n}\n\n/**\n * @category Error\n * @description Error that indicates a failure when trying to encode an operation\n */\nexport class OperationEncodingError extends Error {\n public name = 'OperationEncodingError';\n constructor(public message: string) {\n super(message);\n }\n}\n\n/**\n * @category Error\n * @description Error that indicates an unsupported operation being passed or used\n */\nexport class UnsupportedOperationError extends Error {\n public name = 'UnsupportedOperationError';\n constructor(public op: string) {\n super(`The operation '${op}' is unsupported`);\n }\n}\n","import { InvalidHexStringError } from './error';\nexport class Uint8ArrayConsumer {\n static fromHexString(hex: string) {\n const lowHex = hex.toLowerCase();\n if (/^(([a-f]|\\d){2})*$/.test(lowHex)) {\n const arr = new Uint8Array(\n (lowHex.match(/([a-z]|\\d){2}/g) || []).map((byte) => parseInt(byte, 16))\n );\n return new Uint8ArrayConsumer(arr);\n } else {\n throw new InvalidHexStringError(lowHex);\n }\n }\n\n constructor(private readonly arr: Uint8Array, private offset: number = 0) {}\n\n public consume(count: number): Uint8Array {\n const subArr = this.arr.subarray(this.offset, this.offset + count);\n this.offset += count;\n return subArr;\n }\n\n public get(idx: number) {\n return this.arr[this.offset + idx];\n }\n\n public length() {\n return this.arr.length - this.offset;\n }\n}\n","import { BigNumber } from 'bignumber.js';\nimport { Decoder } from '../decoder';\nimport { Uint8ArrayConsumer } from '../uint8array-consumer';\nimport { Encoder } from '../taquito-local-forging';\nimport { opMappingReverse, opMapping } from '../constants';\nimport { pad } from '../utils';\nimport { InvalidHexStringError, UnexpectedMichelsonValueError } from '../error';\n\nexport type PrimValue = { prim: string; args?: MichelsonValue[]; annots?: string[] };\nexport type BytesValue = { bytes: string };\nexport type StringValue = { string: string };\nexport type IntValue = { int: string };\nexport type MichelsonValue =\n | PrimValue\n | BytesValue\n | StringValue\n | IntValue\n | (PrimValue | BytesValue | StringValue | IntValue)[];\n\nexport const isPrim = (value: MichelsonValue): value is PrimValue => {\n return 'prim' in value;\n};\n\nexport const isBytes = (value: MichelsonValue): value is BytesValue => {\n return 'bytes' in value && typeof value.bytes === 'string';\n};\n\nexport const isString = (value: MichelsonValue): value is StringValue => {\n return 'string' in value && typeof value.string === 'string';\n};\n\nexport const isInt = (value: MichelsonValue): value is IntValue => {\n return 'int' in value && typeof value.int === 'string';\n};\n\nexport const scriptEncoder: Encoder<{ code: MichelsonValue; storage: MichelsonValue }> = (\n script\n) => {\n const code = valueEncoder(script.code);\n const storage = valueEncoder(script.storage);\n return `${pad(code.length / 2, 8)}${code}${pad(storage.length / 2, 8)}${storage}`;\n};\n\nexport const scriptDecoder: Decoder = (value: Uint8ArrayConsumer) => {\n const code = extractRequiredLen(value);\n const storage = extractRequiredLen(value);\n\n return {\n code: valueDecoder(new Uint8ArrayConsumer(code)),\n storage: valueDecoder(new Uint8ArrayConsumer(storage)),\n };\n};\n\nexport const valueEncoder: Encoder<MichelsonValue> = (value: MichelsonValue) => {\n if (Array.isArray(value)) {\n const encoded = value.map((x) => valueEncoder(x)).join('');\n const len = encoded.length / 2;\n return `02${pad(len)}${encoded}`;\n } else if (isPrim(value)) {\n return primEncoder(value);\n } else if (isBytes(value)) {\n return bytesEncoder(value);\n } else if (isString(value)) {\n return stringEncoder(value);\n } else if (isInt(value)) {\n return intEncoder(value);\n }\n\n throw new UnexpectedMichelsonValueError(JSON.stringify(value));\n};\n\nexport const valueDecoder: Decoder = (value: Uint8ArrayConsumer) => {\n const preamble = value.consume(1);\n switch (preamble[0]) {\n case 0x0a:\n return bytesDecoder(value);\n case 0x01:\n return stringDecoder(value);\n case 0x00:\n return intDecoder(value);\n case 0x02: {\n const val = new Uint8ArrayConsumer(extractRequiredLen(value));\n const results = [];\n while (val.length() > 0) {\n results.push(valueDecoder(val));\n }\n return results;\n }\n default:\n return primDecoder(value, preamble);\n }\n};\n\nexport const extractRequiredLen = (value: Uint8ArrayConsumer, bytesLength = 4) => {\n const len = value.consume(bytesLength);\n const valueLen = parseInt(Buffer.from(len).toString('hex'), 16);\n return value.consume(valueLen);\n};\n\nexport const bytesEncoder: Encoder<BytesValue> = (value) => {\n if (!/^([A-Fa-f0-9]{2})*$/.test(value.bytes)) {\n throw new InvalidHexStringError(value.bytes);\n }\n\n const len = value.bytes.length / 2;\n return `0a${pad(len)}${value.bytes}`;\n};\n\nexport const bytesDecoder: Decoder = (value: Uint8ArrayConsumer) => {\n const bytes = extractRequiredLen(value);\n return {\n bytes: Buffer.from(bytes).toString('hex'),\n };\n};\n\nexport const stringEncoder: Encoder<StringValue> = (value) => {\n const str = Buffer.from(value.string, 'utf8').toString('hex');\n const hexLength = str.length / 2;\n return `01${pad(hexLength)}${str}`;\n};\n\nexport const stringDecoder: Decoder = (value: Uint8ArrayConsumer) => {\n const str = extractRequiredLen(value);\n return {\n string: Buffer.from(str).toString('utf8'),\n };\n};\n\nexport const intEncoder: Encoder<IntValue> = ({ int }) => {\n const num = new BigNumber(int, 10);\n const positiveMark = num.toString(2)[0] === '-' ? '1' : '0';\n const binary = num.toString(2).replace(/-/g, '');\n\n const pad =\n binary.length <= 6\n ? 6\n : (binary.length - 6) % 7\n ? binary.length + 7 - ((binary.length - 6) % 7)\n : binary.length;\n\n const splitted = binary.padStart(pad, '0').match(/\\d{6,7}/g);\n\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const reversed = splitted!.reverse();\n\n reversed[0] = positiveMark + reversed[0];\n\n const numHex = reversed.map((x: string, i: number) =>\n // Add one to the last chunk\n parseInt((i === reversed.length - 1 ? '0' : '1') + x, 2)\n .toString(16)\n .padStart(2, '0')\n );\n\n return `00${numHex.join('')}`;\n};\n\nexport const intDecoder = (value: Uint8ArrayConsumer): IntValue => {\n let c = value.consume(1)[0];\n const hexNumber: number[] = [];\n const isNotLastChunkMask = 1 << 7;\n while (c & isNotLastChunkMask) {\n hexNumber.push(c);\n c = value.consume(1)[0];\n }\n\n hexNumber.push(c);\n const isNegative = !!((1 << 6) & hexNumber[0]);\n\n hexNumber[0] = hexNumber[0] & 0b1111111;\n\n const numBin = hexNumber\n .map((x, i) =>\n x\n .toString(2)\n .slice(i === 0 ? -6 : -7)\n .padStart(i === 0 ? 6 : 7, '0')\n )\n .reverse();\n let num = new BigNumber(numBin.join(''), 2);\n if (isNegative) {\n num = num.times(-1);\n }\n\n return {\n int: num.toFixed(),\n };\n};\n\nexport const primEncoder: Encoder<PrimValue> = (value) => {\n const hasAnnot = +Array.isArray(value.annots);\n const argsCount = Array.isArray(value.args) ? value.args.length : 0;\n\n // Specify the number of args max is 3 without annotation\n const preamble = pad(Math.min(2 * argsCount + hasAnnot + 0x03, 9), 2);\n\n const op = opMappingReverse[value.prim];\n\n let encodedArgs = (value.args || []).map((arg) => valueEncoder(arg)).join('');\n const encodedAnnots = Array.isArray(value.annots) ? encodeAnnots(value.annots) : '';\n\n if (value.prim === 'LAMBDA' && argsCount) {\n encodedArgs = pad(encodedArgs.length / 2) + encodedArgs + pad(0);\n }\n\n if ((value.prim === 'pair' || value.prim === 'Pair') && argsCount > 2) {\n encodedArgs =\n encodedAnnots === ''\n ? pad(encodedArgs.length / 2) + encodedArgs + pad(0)\n : pad(encodedArgs.length / 2) + encodedArgs;\n }\n\n if (value.prim === 'view' && value.args) {\n encodedArgs = pad(encodedArgs.length / 2) + encodedArgs + pad(0);\n }\n\n return `${preamble}${op}${encodedArgs}${encodedAnnots}`;\n};\n\nexport const primDecoder = (value: Uint8ArrayConsumer, preamble: Uint8Array) => {\n const hasAnnot = (preamble[0] - 0x03) % 2 === 1;\n let argsCount = Math.floor((preamble[0] - 0x03) / 2);\n const op = value.consume(1)[0].toString(16).padStart(2, '0');\n\n const result: Partial<PrimValue> = {\n prim: opMapping[op],\n };\n\n if (opMapping[op] === 'LAMBDA') {\n value.consume(4);\n }\n\n if (opMapping[op] === 'view') {\n if (argsCount != 0) {\n return primViewDecoder(value, result);\n } else {\n return result;\n }\n }\n\n let combPairArgs;\n let combPairAnnots;\n if ((opMapping[op] === 'pair' || opMapping[op] === 'Pair') && argsCount > 2) {\n combPairArgs = decodeCombPair(value);\n argsCount = 0;\n combPairAnnots = decodeAnnots(value);\n }\n\n const args = new Array(argsCount).fill(0).map(() => valueDecoder(value));\n\n if (opMapping[op] === 'LAMBDA') {\n value.consume(4);\n }\n\n if (combPairArgs) {\n result['args'] = combPairArgs as any;\n } else if (args.length) {\n result['args'] = args as any;\n }\n\n if (combPairAnnots && (combPairAnnots as any)[0] !== '') {\n result['annots'] = combPairAnnots as any;\n } else if (hasAnnot) {\n result['annots'] = decodeAnnots(value) as any;\n }\n\n return result;\n};\n\nexport const primViewDecoder = (value: Uint8ArrayConsumer, result: Partial<PrimValue>) => {\n value.consume(4);\n result['args'] = new Array(4).fill(0).map(() => valueDecoder(value)) as any;\n value.consume(4);\n return result;\n};\n\nexport const decodeCombPair: Decoder = (val: Uint8ArrayConsumer) => {\n const array = new Uint8ArrayConsumer(extractRequiredLen(val));\n const args = [];\n while (array.length() > 0) {\n args.push(valueDecoder(array));\n }\n return args;\n};\n\nexport const encodeAnnots: Encoder<string[]> = (value: string[]) => {\n const mergedAnnot = value\n .map((x) => {\n return Buffer.from(x, 'utf8').toString('hex');\n })\n .join('20');\n\n const len = mergedAnnot.length / 2;\n return `${pad(len)}${mergedAnnot}`;\n};\n\nexport const decodeAnnots: Decoder = (val: Uint8ArrayConsumer): string[] => {\n const len = val.consume(4);\n const annotLen = parseInt(Buffer.from(len).toString('hex'), 16);\n const restOfAnnot = val.consume(annotLen);\n\n const restOfAnnotHex = Buffer.from(restOfAnnot).toString('hex');\n return restOfAnnotHex.split('20').map((x) => Buffer.from(x, 'hex').toString('utf8'));\n};\n","import {\n b58cdecode,\n b58cencode,\n buf2hex,\n Prefix,\n prefix as prefixMap,\n prefixLength,\n InvalidKeyHashError,\n InvalidPublicKeyError,\n InvalidAddressError,\n InvalidContractAddressError,\n} from '@taquito/utils';\nimport { OversizedEntryPointError, InvalidBallotValueError, DecodeBallotValueError } from './error';\nimport BigNumber from 'bignumber.js';\nimport { entrypointMapping, entrypointMappingReverse, ENTRYPOINT_MAX_LENGTH } from './constants';\nimport { extractRequiredLen, valueDecoder, valueEncoder, MichelsonValue } from './michelson/codec';\nimport { Uint8ArrayConsumer } from './uint8array-consumer';\nimport { pad } from './utils';\n\nexport const prefixEncoder = (prefix: Prefix) => (str: string) => {\n return buf2hex(Buffer.from(b58cdecode(str, prefixMap[prefix])));\n};\n\nexport const prefixDecoder = (pre: Prefix) => (str: Uint8ArrayConsumer) => {\n const val = str.consume(prefixLength[pre]);\n return b58cencode(val, prefixMap[pre]);\n};\n\nexport const tz1Decoder = prefixDecoder(Prefix.TZ1);\nexport const branchDecoder = prefixDecoder(Prefix.B);\nexport const pkhDecoder = (val: Uint8ArrayConsumer) => {\n const prefix = val.consume(1);\n\n if (prefix[0] === 0x00) {\n return prefixDecoder(Prefix.TZ1)(val);\n } else if (prefix[0] === 0x01) {\n return prefixDecoder(Prefix.TZ2)(val);\n } else if (prefix[0] === 0x02) {\n return prefixDecoder(Prefix.TZ3)(val);\n }\n};\n\nexport const branchEncoder = prefixEncoder(Prefix.B);\nexport const tz1Encoder = prefixEncoder(Prefix.TZ1);\n\nexport const boolEncoder = (bool: unknown): string => (bool ? 'ff' : '00');\n\nexport const proposalEncoder = (proposal: string): string => {\n return prefixEncoder(Prefix.P)(proposal);\n};\n\nexport const proposalDecoder = (proposal: Uint8ArrayConsumer): string => {\n return prefixDecoder(Prefix.P)(proposal);\n};\n\nexport const proposalsDecoder = (proposal: Uint8ArrayConsumer): string[] => {\n const proposals = [];\n proposal.consume(4);\n while (proposal.length() > 0) {\n proposals.push(proposalDecoder(proposal));\n }\n return proposals;\n};\n\nexport const proposalsEncoder = (proposals: string[]): string => {\n return pad(32 * proposals.length) + proposals.map((x) => proposalEncoder(x)).join('');\n};\n\nexport const ballotEncoder = (ballot: string): string => {\n switch (ballot) {\n case 'yay':\n return '00';\n case 'nay':\n return '01';\n case 'pass':\n return '02';\n default:\n throw new InvalidBallotValueError(ballot);\n }\n};\n\nexport const ballotDecoder = (ballot: Uint8ArrayConsumer): string => {\n const value = ballot.consume(1);\n switch (value[0]) {\n case 0x00:\n return 'yay';\n case 0x01:\n return 'nay';\n case 0x02:\n return 'pass';\n default:\n throw new DecodeBallotValueError(value[0].toString());\n }\n};\n\nexport const delegateEncoder = (val: string) => {\n if (val) {\n return boolEncoder(true) + pkhEncoder(val);\n } else {\n return boolEncoder(false);\n }\n};\n\nexport const int32Encoder = (val: number | string): string => {\n const num = parseInt(String(val), 10);\n const byte = [];\n for (let i = 0; i < 4; i++) {\n const shiftBy = (4 - (i + 1)) * 8;\n byte.push((num & (0xff << shiftBy)) >> shiftBy);\n }\n return Buffer.from(byte).toString('hex');\n};\n\nexport const int32Decoder = (val: Uint8ArrayConsumer) => {\n const num = val.consume(4);\n let finalNum = 0;\n for (let i = 0; i < num.length; i++) {\n finalNum = finalNum | (num[i] << ((num.length - (i + 1)) * 8));\n }\n\n return finalNum;\n};\n\nexport const int16Encoder = (val: number | string): string => {\n const num = parseInt(String(val), 10);\n const byte = [];\n for (let i = 0; i < 2; i++) {\n const shiftBy = (2 - (i + 1)) * 8;\n byte.push((num & (0xff << shiftBy)) >> shiftBy);\n }\n return Buffer.from(byte).toString('hex');\n};\n\nexport const int16Decoder = (val: Uint8ArrayConsumer) => {\n const num = val.consume(2);\n let finalNum = 0;\n for (let i = 0; i < num.length; i++) {\n finalNum = finalNum | (num[i] << ((num.length - (i + 1)) * 8));\n }\n\n return finalNum;\n};\n\nexport const boolDecoder = (val: Uint8ArrayConsumer): boolean => {\n const bool = val.consume(1);\n return bool[0] === 0xff;\n};\n\nexport const delegateDecoder = (val: Uint8ArrayConsumer) => {\n const hasDelegate = boolDecoder(val);\n if (hasDelegate) {\n return pkhDecoder(val);\n }\n};\n\nexport const pkhEncoder = (val: string) => {\n const pubkeyPrefix = val.substr(0, 3);\n switch (pubkeyPrefix) {\n case Prefix.TZ1:\n return '00' + prefixEncoder(Prefix.TZ1)(val);\n case Prefix.TZ2:\n return '01' + prefixEncoder(Prefix.TZ2)(val);\n case Prefix.TZ3:\n return '02' + prefixEncoder(Prefix.TZ3)(val);\n default:\n throw new InvalidKeyHashError(val);\n }\n};\n\nexport const publicKeyEncoder = (val: string) => {\n const pubkeyPrefix = val.substr(0, 4);\n switch (pubkeyPrefix) {\n case Prefix.EDPK:\n return '00' + prefixEncoder(Prefix.EDPK)(val);\n case Prefix.SPPK:\n return '01' + prefixEncoder(Prefix.SPPK)(val);\n case Prefix.P2PK:\n return '02' + prefixEncoder(Prefix.P2PK)(val);\n default:\n throw new InvalidPublicKeyError(val);\n }\n};\n\nexport const addressEncoder = (val: string): string => {\n const pubkeyPrefix = val.substr(0, 3);\n switch (pubkeyPrefix) {\n case Prefix.TZ1:\n case Prefix.TZ2:\n case Prefix.TZ3:\n return '00' + pkhEncoder(val);\n case Prefix.KT1:\n return '01' + prefixEncoder(Prefix.KT1)(val) + '00';\n default:\n throw new InvalidAddressError(val);\n }\n};\n\nexport const smartContractAddressEncoder = (val: string): string => {\n const prefix = val.substring(0, 3);\n\n if (prefix === Prefix.KT1) {\n return '01' + prefixEncoder(Prefix.KT1)(val) + '00';\n }\n throw new InvalidContractAddressError(val);\n};\n\nexport const publicKeyDecoder = (val: Uint8ArrayConsumer) => {\n const preamble = val.consume(1);\n switch (preamble[0]) {\n case 0x00:\n return prefixDecoder(Prefix.EDPK)(val);\n case 0x01:\n return prefixDecoder(Prefix.SPPK)(val);\n case 0x02:\n return prefixDecoder(Prefix.P2PK)(val);\n default:\n throw new InvalidPublicKeyError(val.toString());\n }\n};\n\nexport const addressDecoder = (val: Uint8ArrayConsumer) => {\n const preamble = val.consume(1);\n switch (preamble[0]) {\n case 0x00:\n return pkhDecoder(val);\n case 0x01: {\n const address = prefixDecoder(Prefix.KT1)(val);\n val.consume(1);\n return address;\n }\n default:\n throw new InvalidAddressError(val.toString());\n }\n};\n\nexport const smartContractAddressDecoder = (val: Uint8ArrayConsumer) => {\n const preamble = val.consume(1);\n if (preamble[0] === 0x01) {\n const scAddress = prefixDecoder(Prefix.KT1)(val);\n val.consume(1);\n return scAddress;\n }\n throw new InvalidContractAddressError(val.toString());\n};\n\nexport const zarithEncoder = (n: string): string => {\n const fn: Array<string> = [];\n let nn = new BigNumber(n, 10);\n if (nn.isNaN()) {\n throw new TypeError(`Invalid zarith number ${n}`);\n }\n // eslint-disable-next-line no-constant-condition\n while (true) {\n if (nn.lt(128)) {\n if (nn.lt(16)) fn.push('0');\n fn.push(nn.toString(16));\n break;\n } else {\n let b = nn.mod(128);\n nn = nn.minus(b);\n nn = nn.dividedBy(128);\n b = b.plus(128);\n fn.push(b.toString(16));\n }\n }\n return fn.join('');\n};\n\nexport const zarithDecoder = (n: Uint8ArrayConsumer): string => {\n let mostSignificantByte = 0;\n while (mostSignificantByte < n.length() && (n.get(mostSignificantByte) & 128) !== 0) {\n mostSignificantByte += 1;\n }\n\n let num = new BigNumber(0);\n for (let i = mostSignificantByte; i >= 0; i -= 1) {\n const tmp = n.get(i) & 0x7f;\n num = num.multipliedBy(128);\n num = num.plus(tmp);\n }\n\n n.consume(mostSignificantByte + 1);\n return new BigNumber(num).toString();\n};\n\nexport const entrypointDecoder = (value: Uint8ArrayConsumer) => {\n const preamble = pad(value.consume(1)[0], 2);\n\n if (preamble in entrypointMapping) {\n return entrypointMapping[preamble];\n } else {\n const entry = extractRequiredLen(value, 1);\n\n const entrypoint = Buffer.from(entry).toString('utf8');\n\n if (entrypoint.length > ENTRYPOINT_MAX_LENGTH) {\n throw new OversizedEntryPointError(entrypoint);\n }\n return entrypoint;\n }\n};\n\nexport const parametersDecoder = (val: Uint8ArrayConsumer) => {\n const preamble = val.consume(1);\n if (preamble[0] === 0x00) {\n return;\n } else {\n const encodedEntrypoint = entrypointDecoder(val);\n const params = extractRequiredLen(val);\n const parameters = valueDecoder(new Uint8ArrayConsumer(params));\n return {\n entrypoint: encodedEntrypoint,\n value: parameters,\n };\n }\n};\nexport const entrypointEncoder = (entrypoint: string) => {\n if (entrypoint in entrypointMappingReverse) {\n return `${entrypointMappingReverse[entrypoint]}`;\n } else {\n if (entrypoint.length > ENTRYPOINT_MAX_LENGTH) {\n throw new OversizedEntryPointError(entrypoint);\n }\n\n const value = { string: entrypoint };\n return `ff${valueEncoder(value).slice(8)}`;\n }\n};\n\nexport const parametersEncoder = (val: { entrypoint: string; value: MichelsonValue }) => {\n if (!val || (val.entrypoint === 'default' && 'prim' in val.value && val.value.prim === 'Unit')) {\n return '00';\n }\n\n const encodedEntrypoint = entrypointEncoder(val.entrypoint);\n const parameters = valueEncoder(val.value);\n const length = (parameters.length / 2).toString(16).padStart(8, '0');\n return `ff${encodedEntrypoint}${length}${parameters}`;\n};\n\nexport const valueParameterEncoder = (value: MichelsonValue) => {\n const valueEncoded = valueEncoder(value);\n return `${pad(valueEncoded.length / 2)}${valueEncoded}`;\n};\n\nexport const valueParameterDecoder = (val: Uint8ArrayConsumer) => {\n const value = extractRequiredLen(val);\n return valueDecoder(new Uint8ArrayConsumer(value));\n};\n\nexport const blockPayloadHashEncoder = prefixEncoder(Prefix.VH);\nexport const blockPayloadHashDecoder = prefixDecoder(Prefix.VH);\n\nexport const entrypointNameEncoder = (entrypoint: string) => {\n const value = { string: entrypoint };\n return `${valueEncoder(value).slice(2)}`;\n};\n\nexport const entrypointNameDecoder = (val: Uint8ArrayConsumer) => {\n const entry = extractRequiredLen(val);\n\n return Buffer.from(entry).toString('utf8');\n};\n\nexport const txRollupOriginationParamEncoder = (_value: string) => {\n return '';\n};\n\nexport const txRollupOriginationParamDecoder = (_val: Uint8ArrayConsumer) => {\n return {};\n};\n\nexport const txRollupIdEncoder = prefixEncoder(Prefix.TXR1);\n\nexport const txRollupIdDecoder = prefixDecoder(Prefix.TXR1);\n\nexport const txRollupBatchContentEncoder = (value: string) => {\n return `${pad(value.length / 2)}${value}`;\n};\n\nexport const txRollupBatchContentDecoder = (val: Uint8ArrayConsumer) => {\n const value = extractRequiredLen(val);\n return Buffer.from(value).toString('hex');\n};\n\nexport const burnLimitEncoder = (val: string) => {\n return !val ? '00' : `ff${zarithEncoder(val)}`;\n};\n\nexport const burnLimitDecoder = (value: Uint8ArrayConsumer) => {\n const prefix = value.consume(1);\n if (Buffer.from(prefix).toString('hex') !== '00') {\n return zarithDecoder(value);\n }\n};\n","import { Decoder } from '../decoder';\nimport { Uint8ArrayConsumer } from '../uint8array-consumer';\nimport { CODEC, kindMapping, kindMappingReverse } from '../constants';\nimport { InvalidOperationKindError } from '@taquito/utils';\nimport {\n OperationDecodingError,\n OperationEncodingError,\n UnsupportedOperationError,\n} from '../error';\n\nexport const ManagerOperationSchema = {\n branch: CODEC.BRANCH,\n contents: [CODEC.OPERATION],\n};\n\nexport const ActivationSchema = {\n pkh: CODEC.TZ1,\n secret: CODEC.SECRET,\n};\n\nexport const RevealSchema = {\n source: CODEC.PKH,\n fee: CODEC.ZARITH,\n counter: CODEC.ZARITH,\n gas_limit: CODEC.ZARITH,\n storage_limit: CODEC.ZARITH,\n public_key: CODEC.PUBLIC_KEY,\n};\n\nexport const DelegationSchema = {\n source: CODEC.PKH,\n fee: CODEC.ZARITH,\n counter: CODEC.ZARITH,\n gas_limit: CODEC.ZARITH,\n storage_limit: CODEC.ZARITH,\n delegate: CODEC.DELEGATE,\n};\n\nexport const TransactionSchema = {\n source: CODEC.PKH,\n fee: CODEC.ZARITH,\n counter: CODEC.ZARITH,\n gas_limit: CODEC.ZARITH,\n storage_limit: CODEC.ZARITH,\n amount: CODEC.ZARITH,\n destination: CODEC.ADDRESS,\n parameters: CODEC.PARAMETERS,\n};\n\nexport const OriginationSchema = {\n source: CODEC.PKH,\n fee: CODEC.ZARITH,\n counter: CODEC.ZARITH,\n gas_limit: CODEC.ZARITH,\n storage_limit: CODEC.ZARITH,\n balance: CODEC.ZARITH,\n delegate: CODEC.DELEGATE,\n script: CODEC.SCRIPT,\n};\n\nexport const BallotSchema = {\n source: CODEC.PKH,\n period: CODEC.INT32,\n proposal: CODEC.PROPOSAL,\n ballot: CODEC.BALLOT_STATEMENT,\n};\n\nexport const EndorsementSchema = {\n slot: CODEC.INT16,\n level: CODEC.INT32,\n round: CODEC.INT32,\n block_payload_hash: CODEC.BLOCK_PAYLOAD_HASH,\n};\n\nexport const SeedNonceRevelationSchema = {\n level: CODEC.INT32,\n nonce: CODEC.RAW,\n};\n\nexport const ProposalsSchema = {\n source: CODEC.PKH,\n period: CODEC.INT32,\n proposals: CODEC.PROPOSAL_ARR,\n};\n\nexport const RegisterGlobalConstantSchema = {\n source: CODEC.PKH,\n fee: CODEC.ZARITH,\n counter: CODEC.ZARITH,\n gas_limit: CODEC.ZARITH,\n storage_limit: CODEC.ZARITH,\n value: CODEC.VALUE,\n};\n\nexport const TransferTicketSchema = {\n source: CODEC.PKH,\n fee: CODEC.ZARITH,\n counter: CODEC.ZARITH,\n gas_limit: CODEC.ZARITH,\n storage_limit: CODEC.ZARITH,\n ticket_contents: CODEC.VALUE,\n ticket_ty: CODEC.VALUE,\n ticket_ticketer: CODEC.ADDRESS,\n ticket_amount: CODEC.ZARITH,\n destination: CODEC.ADDRESS,\n entrypoint: CODEC.ENTRYPOINT,\n};\n\nexport const TxRollupOriginationSchema = {\n source: CODEC.PKH,\n fee: CODEC.ZARITH,\n counter: CODEC.ZARITH,\n gas_limit: CODEC.ZARITH,\n storage_limit: CODEC.ZARITH,\n tx_rollup_origination: CODEC.TX_ROLLUP_ORIGINATION_PARAM,\n};\n\nexport const TxRollupSubmitBatchSchema = {\n source: CODEC.PKH,\n fee: CODEC.ZARITH,\n counter: CODEC.ZARITH,\n gas_limit: CODEC.ZARITH,\n storage_limit: CODEC.ZARITH,\n rollup: CODEC.TX_ROLLUP_ID,\n content: CODEC.TX_ROLLUP_BATCH_CONTENT,\n burn_limit: CODEC.BURN_LIMIT,\n};\n\nexport const IncreasePaidStorageSchema = {\n source: CODEC.PKH,\n fee: CODEC.ZARITH,\n counter: CODEC.ZARITH,\n gas_limit: CODEC.ZARITH,\n storage_limit: CODEC.ZARITH,\n amount: CODEC.ZARITH,\n destination: CODEC.SMART_CONTRACT_ADDRESS,\n};\n\nexport const operationEncoder =\n (encoders: { [key: string]: (val: object) => string }) => (operation: { kind: string }) => {\n if (!(operation.kind in encoders) || !(operation.kind in kindMappingReverse)) {\n throw new InvalidOperationKindError(operation.kind);\n }\n\n return kindMappingReverse[operation.kind] + encoders[operation.kind](operation);\n };\n\nexport const operationDecoder =\n (decoders: { [key: string]: Decoder }) => (value: Uint8ArrayConsumer) => {\n const op = value.consume(1);\n\n const operationName = kindMapping[op[0]];\n if (operationName === undefined) {\n throw new UnsupportedOperationError(op[0].toString());\n }\n\n const decodedObj = decoders[operationName](value);\n\n if (typeof decodedObj !== 'object') {\n throw new OperationDecodingError('Decoded invalid operation');\n }\n\n return {\n kind: operationName,\n ...decodedObj,\n };\n };\n\ntype Schema = Record<string, CODEC | CODEC[]>;\nexport type Value = Record<keyof Schema, unknown[]>;\n\nexport const schemaEncoder =\n (encoders: { [key: string]: (val: object) => string }) => (schema: Schema) => (value: Value) => {\n const keys = Object.keys(schema);\n return keys.reduce((prev, key) => {\n const valueToEncode = schema[key] as CODEC;\n\n if (value && Array.isArray(valueToEncode)) {\n const encoder = encoders[valueToEncode[0]];\n const values = value[key];\n\n if (!Array.isArray(values)) {\n throw new OperationEncodingError(`Expected value to be Array ${JSON.stringify(values)}`);\n }\n\n return prev + values.reduce((prevBytes, current) => prevBytes + encoder(current), '');\n } else {\n const encoder = encoders[valueToEncode];\n return prev + encoder(value[key]);\n }\n }, '');\n };\n\nexport const schemaDecoder =\n (decoders: { [key: string]: Decoder }) =>\n (schema: { [key: string]: string | string[] }) =>\n (value: Uint8ArrayConsumer) => {\n const keys = Object.keys(schema);\n return keys.reduce((prev, key) => {\n const valueToEncode = schema[key];\n\n if (Array.isArray(valueToEncode)) {\n const decoder = decoders[valueToEncode[0]];\n\n const decoded = [];\n const lastLength = value.length();\n while (value.length() > 0) {\n decoded.push(decoder(value));\n\n if (lastLength === value.length()) {\n throw new OperationDecodingError('Unable to decode value');\n }\n }\n\n return {\n ...prev,\n [key]: decoded,\n };\n } else {\n const decoder = decoders[valueToEncode];\n\n const result = decoder(value);\n\n if (typeof result !== 'undefined') {\n return {\n ...prev,\n [key]: result,\n };\n } else {\n return {\n ...prev,\n };\n }\n }\n }, {});\n };\n","import {\n addressDecoder,\n ballotDecoder,\n blockPayloadHashDecoder,\n branchDecoder,\n burnLimitDecoder,\n delegateDecoder,\n entrypointNameDecoder,\n int16Decoder,\n int32Decoder,\n parametersDecoder,\n pkhDecoder,\n proposalDecoder,\n proposalsDecoder,\n publicKeyDecoder,\n smartContractAddressDecoder,\n txRollupBatchContentDecoder,\n txRollupIdDecoder,\n txRollupOriginationParamDecoder,\n tz1Decoder,\n valueParameterDecoder,\n zarithDecoder,\n} from './codec';\nimport { CODEC } from './constants';\nimport { scriptDecoder } from './michelson/codec';\nimport {\n ActivationSchema,\n BallotSchema,\n DelegationSchema,\n EndorsementSchema,\n IncreasePaidStorageSchema,\n ManagerOperationSchema,\n operationDecoder,\n OriginationSchema,\n ProposalsSchema,\n RegisterGlobalConstantSchema,\n RevealSchema,\n schemaDecoder,\n SeedNonceRevelationSchema,\n TransactionSchema,\n TransferTicketSchema,\n TxRollupOriginationSchema,\n TxRollupSubmitBatchSchema,\n} from './schema/operation';\nimport { Uint8ArrayConsumer } from './uint8array-consumer';\nimport { toHexString } from './utils';\n\nexport type Decoder = (val: Uint8ArrayConsumer) => string | number | object | undefined;\n\nexport const decoders: { [key: string]: Decoder } = {\n [CODEC.SECRET]: (val) => toHexString(val.consume(20)),\n [CODEC.RAW]: (val) => toHexString(val.consume(32)),\n [CODEC.TZ1]: tz1Decoder,\n [CODEC.BRANCH]: branchDecoder,\n [CODEC.ZARITH]: zarithDecoder,\n [CODEC.PUBLIC_KEY]: publicKeyDecoder,\n [CODEC.PKH]: pkhDecoder,\n [CODEC.DELEGATE]: delegateDecoder,\n [CODEC.INT32]: int32Decoder,\n [CODEC.SCRIPT]: scriptDecoder,\n [CODEC.BALLOT_STATEMENT]: ballotDecoder,\n [CODEC.PROPOSAL]: proposalDecoder,\n [CODEC.PROPOSAL_ARR]: proposalsDecoder,\n [CODEC.PARAMETERS]: parametersDecoder,\n [CODEC.ADDRESS]: addressDecoder,\n [CODEC.SMART_CONTRACT_ADDRESS]: smartContractAddressDecoder,\n [CODEC.VALUE]: valueParameterDecoder,\n [CODEC.INT16]: int16Decoder,\n [CODEC.BLOCK_PAYLOAD_HASH]: blockPayloadHashDecoder,\n [CODEC.ENTRYPOINT]: entrypointNameDecoder,\n [CODEC.TX_ROLLUP_ORIGINATION_PARAM]: txRollupOriginationParamDecoder,\n [CODEC.TX_ROLLUP_ID]: txRollupIdDecoder,\n [CODEC.TX_ROLLUP_BATCH_CONTENT]: txRollupBatchContentDecoder,\n [CODEC.BURN_LIMIT]: burnLimitDecoder,\n};\n\ndecoders[CODEC.OPERATION] = operationDecoder(decoders);\ndecoders[CODEC.OP_ACTIVATE_ACCOUNT] = (val: Uint8ArrayConsumer) =>\n schemaDecoder(decoders)(ActivationSchema)(val);\ndecoders[CODEC.OP_DELEGATION] = (val: Uint8ArrayConsumer) =>\n schemaDecoder(decoders)(DelegationSchema)(val);\ndecoders[CODEC.OP_TRANSACTION] = (val: Uint8ArrayConsumer) =>\n schemaDecoder(decoders)(TransactionSchema)(val);\ndecoders[CODEC.OP_ORIGINATION] = (val: Uint8ArrayConsumer) =>\n schemaDecoder(decoders)(OriginationSchema)(val);\ndecoders[CODEC.OP_BALLOT] = (val: Uint8ArrayConsumer) => schemaDecoder(decoders)(BallotSchema)(val);\ndecoders[CODEC.OP_ENDORSEMENT] = (val: Uint8ArrayConsumer) =>\n schemaDecoder(decoders)(EndorsementSchema)(val);\ndecoders[CODEC.OP_SEED_NONCE_REVELATION] = (val: Uint8ArrayConsumer) =>\n schemaDecoder(decoders)(SeedNonceRevelationSchema)(val);\ndecoders[CODEC.OP_PROPOSALS] = (val: Uint8ArrayConsumer) =>\n schemaDecoder(decoders)(ProposalsSchema)(val);\ndecoders[CODEC.OP_REVEAL] = (val: Uint8ArrayConsumer) => schemaDecoder(decoders)(RevealSchema)(val);\ndecoders[CODEC.OP_REGISTER_GLOBAL_CONSTANT] = (val: Uint8ArrayConsumer) =>\n schemaDecoder(decoders)(RegisterGlobalConstantSchema)(val);\ndecoders[CODEC.OP_TRANSFER_TICKET] = (val: Uint8ArrayConsumer) =>\n schemaDecoder(decoders)(TransferTicketSchema)(val);\ndecoders[CODEC.OP_TX_ROLLUP_ORIGINATION] = (val: Uint8ArrayConsumer) =>\n schemaDecoder(decoders)(TxRollupOriginationSchema)(val);\ndecoders[CODEC.OP_TX_ROLLUP_SUBMIT_BATCH] = (val: Uint8ArrayConsumer) =>\n schemaDecoder(decoders)(TxRollupSubmitBatchSchema)(val);\ndecoders[CODEC.OP_INCREASE_PAID_STORAGE] = (val: Uint8ArrayConsumer) =>\n schemaDecoder(decoders)(IncreasePaidStorageSchema)(val);\ndecoders[CODEC.MANAGER] = schemaDecoder(decoders)(ManagerOperationSchema);\n","import {\n addressEncoder,\n ballotEncoder,\n blockPayloadHashEncoder,\n branchEncoder,\n burnLimitEncoder,\n delegateEncoder,\n entrypointNameEncoder,\n int16Encoder,\n int32Encoder,\n parametersEncoder,\n pkhEncoder,\n proposalEncoder,\n proposalsEncoder,\n publicKeyEncoder,\n smartContractAddressEncoder,\n txRollupBatchContentEncoder,\n txRollupIdEncoder,\n txRollupOriginationParamEncoder,\n tz1Encoder,\n valueParameterEncoder,\n zarithEncoder,\n} from './codec';\nimport { CODEC } from './constants';\nimport { scriptEncoder } from './michelson/codec';\nimport {\n ActivationSchema,\n BallotSchema,\n DelegationSchema,\n EndorsementSchema,\n IncreasePaidStorageSchema,\n ManagerOperationSchema,\n operationEncoder,\n OriginationSchema,\n ProposalsSchema,\n RegisterGlobalConstantSchema,\n RevealSchema,\n schemaEncoder,\n SeedNonceRevelationSchema,\n TransactionSchema,\n TransferTicketSchema,\n TxRollupOriginationSchema,\n TxRollupSubmitBatchSchema,\n} from './schema/operation';\n\nexport type Encoder<T> = (val: T) => string;\n\nexport const encoders: { [key: string]: Encoder<any> } = {\n [CODEC.SECRET]: (val: string) => val,\n [CODEC.RAW]: (val: string) => val,\n [CODEC.TZ1]: tz1Encoder,\n [CODEC.BRANCH]: branchEncoder,\n [CODEC.ZARITH]: zarithEncoder,\n [CODEC.PUBLIC_KEY]: publicKeyEncoder,\n [CODEC.PKH]: pkhEncoder,\n [CODEC.DELEGATE]: delegateEncoder,\n [CODEC.SCRIPT]: scriptEncoder,\n [CODEC.BALLOT_STATEMENT]: ballotEncoder,\n [CODEC.PROPOSAL]: proposalEncoder,\n [CODEC.PROPOSAL_ARR]: proposalsEncoder,\n [CODEC.INT32]: int32Encoder,\n [CODEC.PARAMETERS]: parametersEncoder,\n [CODEC.ADDRESS]: addressEncoder,\n [CODEC.SMART_CONTRACT_ADDRESS]: smartContractAddressEncoder,\n [CODEC.VALUE]: valueParameterEncoder,\n [CODEC.INT16]: int16Encoder,\n [CODEC.BLOCK_PAYLOAD_HASH]: blockPayloadHashEncoder,\n [CODEC.ENTRYPOINT]: entrypointNameEncoder,\n [CODEC.TX_ROLLUP_ORIGINATION_PARAM]: txRollupOriginationParamEncoder,\n [CODEC.TX_ROLLUP_ID]: txRollupIdEncoder,\n [CODEC.TX_ROLLUP_BATCH_CONTENT]: txRollupBatchContentEncoder,\n [CODEC.BURN_LIMIT]: burnLimitEncoder,\n};\n\nencoders[CODEC.OPERATION] = operationEncoder(encoders);\nencoders[CODEC.OP_ACTIVATE_ACCOUNT] = (val: any) => schemaEncoder(encoders)(ActivationSchema)(val);\nencoders[CODEC.OP_DELEGATION] = (val: any) => schemaEncoder(encoders)(DelegationSchema)(val);\nencoders[CODEC.OP_TRANSACTION] = (val: any) => schemaEncoder(encoders)(TransactionSchema)(val);\nencoders[CODEC.OP_ORIGINATION] = (val: any) => schemaEncoder(encoders)(OriginationSchema)(val);\nencoders[CODEC.OP_BALLOT] = (val: any) => schemaEncoder(encoders)(BallotSchema)(val);\nencoders[CODEC.OP_ENDORSEMENT] = (val: any) => schemaEncoder(encoders)(EndorsementSchema)(val);\nencoders[CODEC.OP_SEED_NONCE_REVELATION] = (val: any) =>\n schemaEncoder(encoders)(SeedNonceRevelationSchema)(val);\nencoders[CODEC.OP_PROPOSALS] = (val: any) => schemaEncoder(encoders)(ProposalsSchema)(val);\nencoders[CODEC.OP_REVEAL] = (val: any) => schemaEncoder(encoders)(RevealSchema)(val);\nencoders[CODEC.OP_REGISTER_GLOBAL_CONSTANT] = (val: any) =>\n schemaEncoder(encoders)(RegisterGlobalConstantSchema)(val);\nencoders[CODEC.OP_TRANSFER_TICKET] = (val: any) =>\n schemaEncoder(encoders)(TransferTicketSchema)(val);\nencoders[CODEC.OP_TX_ROLLUP_ORIGINATION] = (val: any) =>\n schemaEncoder(encoders)(TxRollupOriginationSchema)(val);\nencoders[CODEC.OP_TX_ROLLUP_SUBMIT_BATCH] = (val: any) =>\n schemaEncoder(encoders)(TxRollupSubmitBatchSchema)(val);\nencoders[CODEC.OP_INCREASE_PAID_STORAGE] = (val: any) =>\n schemaEncoder(encoders)(IncreasePaidStorageSchema)(val);\nencoders[CODEC.MANAGER] = schemaEncoder(encoders)(ManagerOperationSchema);\n","import { OpKind } from '@taquito/rpc';\nimport { OperationContents } from '@taquito/rpc';\nimport {\n ActivationSchema,\n DelegationSchema,\n TransactionSchema,\n OriginationSchema,\n BallotSchema,\n SeedNonceRevelationSchema,\n ProposalsSchema,\n RevealSchema,\n RegisterGlobalConstantSchema,\n EndorsementSchema,\n TransferTicketSchema,\n TxRollupOriginationSchema,\n TxRollupSubmitBatchSchema,\n IncreasePaidStorageSchema,\n} from './schema/operation';\n\ntype OperationKind =\n | OpKind.ACTIVATION\n | OpKind.REVEAL\n | OpKind.DELEGATION\n | OpKind.TRANSACTION\n | OpKind.ORIGINATION\n | OpKind.BALLOT\n | OpKind.ENDORSEMENT\n | OpKind.SEED_NONCE_REVELATION\n | OpKind.PROPOSALS\n | OpKind.REGISTER_GLOBAL_CONSTANT\n | OpKind.TRANSFER_TICKET\n | OpKind.TX_ROLLUP_ORIGINATION\n | OpKind.TX_ROLLUP_SUBMIT_BATCH\n | OpKind.INCREASE_PAID_STORAGE;\n\nconst OperationKindMapping = {\n activate_account: ActivationSchema,\n reveal: RevealSchema,\n delegation: DelegationSchema,\n transaction: TransactionSchema,\n origination: OriginationSchema,\n ballot: BallotSchema,\n endorsement: EndorsementSchema,\n seed_nonce_revelation: SeedNonceRevelationSchema,\n proposals: ProposalsSchema,\n register_global_constant: RegisterGlobalConstantSchema,\n transfer_ticket: TransferTicketSchema,\n tx_rollup_origination: TxRollupOriginationSchema,\n tx_rollup_submit_batch: TxRollupSubmitBatchSchema,\n increase_paid_storage: IncreasePaidStorageSchema,\n};\n\n// Asymmetric difference: only account for things in arr2 that are not present in arr1, not vice versa\nconst getArrayDifference = (arr1: string[], arr2: string[]) => {\n return arr2.filter((x) => !arr1.includes(x));\n};\n\nconst deleteArrayElementByValue = (array: string[], item: string) => {\n return array.filter((e) => e !== item);\n};\n\n/**\n * @returns A boolean value to indicate whether the operation kind is valid or not\n */\nexport const validateOperationKind = (opKind: OpKind) => {\n const opKindList = Object.keys(OperationKindMapping);\n return opKindList.includes(opKind);\n};\n\n/**\n * returns 0 when the two array of properties are identical or the passed property\n * does not have any missing parameters from the corresponding schema\n *\n * @returns array element differences if there are missing required property keys\n */\nexport const validateMissingProperty = (operationContent: OperationContents) => {\n const kind = operationContent.kind as OperationKind;\n\n const keys = Object.keys(operationContent);\n const cleanKeys = deleteArrayElementByValue(keys, 'kind');\n\n const schemaKeys = Object.keys(OperationKindMapping[kind]);\n\n return getArrayDifference(cleanKeys, schemaKeys);\n};\n","export enum ProtocolsHash {\n Pt24m4xi = 'Pt24m4xiPbLDhVgVfABUjirbmda3yohdN82Sp9FeuAXJ4eV9otd',\n PsBABY5H = 'PsBABY5HQTSkA4297zNHfsZNKtxULfL18y95qb3m53QJiXGmrbU',\n PsBabyM1 = 'PsBabyM1eUXZseaJdmXFApDSBqj8YBfwELoxZHHW77EMcAbbwAS',\n PsCARTHA = 'PsCARTHAGazKbHtnKfLzQg3kms52kSRpgnDY982a9oYsSXRLQEb',\n PsDELPH1 = 'PsDELPH1Kxsxt8f9eWbxQeRxkjfbxoqM52jvs5Y5fBxWWh4ifpo',\n PtEdo2Zk = 'PtEdo2ZkT9oKpimTah6x2embF25oss54njMuPzkJTEi5RqfdZFA',\n PsFLorena = 'PsFLorenaUUuikDWvMDr6fGBRG8kt3e3D3fHoXK1j1BFRxeSH4i',\n PtGRANADs = 'PtGRANADsDU8R9daYKAgWnQYAJ64omN1o3KMGVCykShA97vQbvV',\n PtHangz2 = 'PtHangz2aRngywmSRGGvrcTyMbbdpWdpFKuS4uMWxg2RaH9i1qx',\n Psithaca2 = 'Psithaca2MLRFYargivpo7YvUr7wUDqyxrdhC5CQq78mRvimz6A',\n PtJakart2 = 'PtJakart2xVj7pYXJBXrqHgd82rdkLey5ZeeGwDgPp9rhQUbSqY',\n PtKathman = 'PtKathmankSpLLDALzWw7CGD2j2MtyveTwboEYokqUCP4a1LxMg',\n ProtoALpha = 'ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK',\n}\n\nconst protoLevel: Record<ProtocolsHash, number> = {\n Pt24m4xiPbLDhVgVfABUjirbmda3yohdN82Sp9FeuAXJ4eV9otd: 4,\n PsBABY5HQTSkA4297zNHfsZNKtxULfL18y95qb3m53QJiXGmrbU: 5,\n PsBabyM1eUXZseaJdmXFApDSBqj8YBfwELoxZHHW77EMcAbbwAS: 5,\n PsCARTHAGazKbHtnKfLzQg3kms52kSRpgnDY982a9oYsSXRLQEb: 6,\n PsDELPH1Kxsxt8f9eWbxQeRxkjfbxoqM52jvs5Y5fBxWWh4ifpo: 7,\n PtEdo2ZkT9oKpimTah6x2embF25oss54njMuPzkJTEi5RqfdZFA: 8,\n PsFLorenaUUuikDWvMDr6fGBRG8kt3e3D3fHoXK1j1BFRxeSH4i: 9,\n PtGRANADsDU8R9daYKAgWnQYAJ64omN1o3KMGVCykShA97vQbvV: 10,\n PtHangz2aRngywmSRGGvrcTyMbbdpWdpFKuS4uMWxg2RaH9i1qx: 11,\n Psithaca2MLRFYargivpo7YvUr7wUDqyxrdhC5CQq78mRvimz6A: 12,\n PtJakart2xVj7pYXJBXrqHgd82rdkLey5ZeeGwDgPp9rhQUbSqY: 13,\n PtKathmankSpLLDALzWw7CGD2j2MtyveTwboEYokqUCP4a1LxMg: 14,\n ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK: 15,\n};\n\nexport function ProtoInferiorTo(a: ProtocolsHash, b: ProtocolsHash): boolean {\n return protoLevel[a] < protoLevel[b];\n}\n","\n// IMPORTANT: THIS FILE IS AUTO GENERATED! DO NOT MANUALLY EDIT OR CHECKIN!\nexport const VERSION = {\n \"commitHash\": \"232709b09cd380c4a70183a7e0b506d6bf2c2626\",\n \"version\": \"14.1.0\"\n};\n","/**\n * @packageDocumentation\n * @module @taquito/local-forging\n */\n\nimport { ForgeParams, Forger } from './interface';\nimport { CODEC } from './constants';\nimport { decoders } from './decoder';\nimport { encoders } from './encoder';\nimport { Uint8ArrayConsumer } from './uint8array-consumer';\nimport { validateBlock, ValidationResult, InvalidOperationKindError } from '@taquito/utils';\nimport { InvalidBlockHashError, InvalidOperationSchemaError } from './error';\nimport { validateMissingProperty, validateOperationKind } from './validator';\nimport { ProtocolsHash } from './protocols';\n\nexport { CODEC, opMapping, opMappingReverse } from './constants';\nexport * from './decoder';\nexport * from './encoder';\nexport * from './uint8array-consumer';\nexport * from './interface';\nexport { VERSION } from './version';\nexport { ProtocolsHash } from './protocols';\n\nconst PROTOCOL_CURRENT = ProtocolsHash.Psithaca2;\n\nexport function getCodec(codec: CODEC, _proto: ProtocolsHash) {\n return {\n encoder: encoders[codec],\n decoder: (hex: string) => {\n const consumer = Uint8ArrayConsumer.fromHexString(hex);\n return decoders[codec](consumer) as any;\n },\n };\n}\n\nexport class LocalForger implements Forger {\n constructor(public readonly protocolHash = PROTOCOL_CURRENT) {}\n\n private codec = getCodec(CODEC.MANAGER, this.protocolHash);\n\n forge(params: ForgeParams): Promise<string> {\n if (validateBlock(params.branch) !== ValidationResult.VALID) {\n throw new InvalidBlockHashError(`The block hash ${params.branch} is invalid`);\n }\n\n for (const content of params.contents) {\n if (!validateOperationKind(content.kind)) {\n throw new InvalidOperationKindError(content.kind);\n }\n\n const diff = validateMissingProperty(content);\n if (diff.length === 1) {\n if (content.kind === 'delegation' && diff[0] === 'delegate') {\n continue;\n } else if (content.kind === 'origination' && diff[0] === 'delegate') {\n continue;\n } else if (content.kind === 'transaction' && diff[0] === 'parameters') {\n continue;\n } else if (\n content.kind === ('tx_rollup_submit_batch' as unknown) &&\n diff[0] === 'burn_limit'\n ) {\n continue;\n } else {\n throw new InvalidOperationSchemaError(\n `Missing properties: ${diff.join(', ').toString()}`\n );\n }\n } else if (diff.length > 1) {\n throw new InvalidOperationSchemaError(`Missing properties: ${diff.join(', ').toString()}`);\n }\n }\n const forged = this.codec.encoder(params).toLowerCase();\n return Promise.resolve(forged);\n }\n\n parse(hex: string): Promise<ForgeParams> {\n return Promise.resolve(this.codec.decoder(hex) as ForgeParams);\n }\n}\n\nexport const localForger = new LocalForger();\n"],"names":["CODEC","BigNumber","buf2hex","b58cdecode","prefixMap","prefixLength","b58cencode","Prefix","InvalidKeyHashError","InvalidPublicKeyError","InvalidAddressError","InvalidContractAddressError","InvalidOperationKindError","ProtocolsHash","validateBlock","ValidationResult"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"taquito-local-forging.umd.js","sources":["../src/utils.ts","../src/constants.ts","../src/error.ts","../src/uint8array-consumer.ts","../src/michelson/codec.ts","../src/codec.ts","../src/schema/operation.ts","../src/decoder.ts","../src/encoder.ts","../src/validator.ts","../src/protocols.ts","../src/version.ts","../src/taquito-local-forging.ts"],"sourcesContent":["export const concat = (...arr: Uint8Array[]) => {\n return arr.reduce((a: Uint8Array, b: Uint8Array) => {\n const c = new Uint8Array(a.length + b.length);\n c.set(a);\n c.set(b, a.length);\n return c;\n }, new Uint8Array());\n};\n\nexport const toHexString = (bytes: Uint8Array) =>\n bytes.reduce((str, byte) => str + byte.toString(16).padStart(2, '0'), '');\n\nexport const pad = (num: number, paddingLen = 8) => {\n return num.toString(16).padStart(paddingLen, '0');\n};\n","/*\n * Some code in this file is originally from sotez\n * Copyright (c) 2018 Andrew Kishino\n */\n\nimport { pad } from './utils';\n\n// See: https://tezos.gitlab.io/protocols/005_babylon.html#transactions-now-have-an-entrypoint\nexport const ENTRYPOINT_MAX_LENGTH = 31;\n\nexport enum CODEC {\n SECRET = 'secret',\n RAW = 'raw',\n TZ1 = 'tz1',\n BRANCH = 'branch',\n ZARITH = 'zarith',\n PUBLIC_KEY = 'public_key',\n PKH = 'pkh',\n DELEGATE = 'delegate',\n SCRIPT = 'script',\n BALLOT_STATEMENT = 'ballotStmt',\n PROPOSAL = 'proposal',\n PROPOSAL_ARR = 'proposalArr',\n INT32 = 'int32',\n INT16 = 'int16',\n PARAMETERS = 'parameters',\n ADDRESS = 'address',\n SMART_CONTRACT_ADDRESS = 'smart_contract_address',\n VALUE = 'value',\n MANAGER = 'manager',\n BLOCK_PAYLOAD_HASH = 'blockPayloadHash',\n ENTRYPOINT = 'entrypoint',\n OPERATION = 'operation',\n OP_ACTIVATE_ACCOUNT = 'activate_account',\n OP_DELEGATION = 'delegation',\n OP_TRANSACTION = 'transaction',\n OP_ORIGINATION = 'origination',\n OP_BALLOT = 'ballot',\n OP_ENDORSEMENT = 'endorsement',\n OP_SEED_NONCE_REVELATION = 'seed_nonce_revelation',\n OP_REVEAL = 'reveal',\n OP_PROPOSALS = 'proposals',\n OP_REGISTER_GLOBAL_CONSTANT = 'register_global_constant',\n OP_TRANSFER_TICKET = 'transfer_ticket',\n OP_TX_ROLLUP_ORIGINATION = 'tx_rollup_origination',\n OP_TX_ROLLUP_SUBMIT_BATCH = 'tx_rollup_submit_batch',\n BURN_LIMIT = 'burn_limit',\n TX_ROLLUP_ORIGINATION_PARAM = 'tx_rollup_origination_param',\n TX_ROLLUP_ID = 'tx_rollup_id',\n TX_ROLLUP_BATCH_CONTENT = 'tx_rollup_batch_content',\n OP_INCREASE_PAID_STORAGE = 'increase_paid_storage',\n}\n\n// See https://tezos.gitlab.io/whitedoc/michelson.html#full-grammar\nexport const opMapping: { [key: string]: string } = {\n '00': 'parameter',\n '01': 'storage',\n '02': 'code',\n '03': 'False',\n '04': 'Elt',\n '05': 'Left',\n '06': 'None',\n '07': 'Pair',\n '08': 'Right',\n '09': 'Some',\n '0a': 'True',\n '0b': 'Unit',\n '0c': 'PACK',\n '0d': 'UNPACK',\n '0e': 'BLAKE2B',\n '0f': 'SHA256',\n '10': 'SHA512',\n '11': 'ABS',\n '12': 'ADD',\n '13': 'AMOUNT',\n '14': 'AND',\n '15': 'BALANCE',\n '16': 'CAR',\n '17': 'CDR',\n '18': 'CHECK_SIGNATURE',\n '19': 'COMPARE',\n '1a': 'CONCAT',\n '1b': 'CONS',\n '1c': 'CREATE_ACCOUNT', // Removed in Edo\n '1d': 'CREATE_CONTRACT', // Removed in Edo\n '1e': 'IMPLICIT_ACCOUNT',\n '1f': 'DIP',\n '20': 'DROP',\n '21': 'DUP',\n '22': 'EDIV',\n '23': 'EMPTY_MAP',\n '24': 'EMPTY_SET',\n '25': 'EQ',\n '26': 'EXEC',\n '27': 'FAILWITH',\n '28': 'GE',\n '29': 'GET',\n '2a': 'GT',\n '2b': 'HASH_KEY',\n '2c': 'IF',\n '2d': 'IF_CONS',\n '2e': 'IF_LEFT',\n '2f': 'IF_NONE',\n '30': 'INT',\n '31': 'LAMBDA',\n '32': 'LE',\n '33': 'LEFT',\n '34': 'LOOP',\n '35': 'LSL',\n '36': 'LSR',\n '37': 'LT',\n '38': 'MAP',\n '39': 'MEM',\n '3a': 'MUL',\n '3b': 'NEG',\n '3c': 'NEQ',\n '3d': 'NIL',\n '3e': 'NONE',\n '3f': 'NOT',\n '40': 'NOW',\n '41': 'OR',\n '42': 'PAIR',\n '43': 'PUSH',\n '44': 'RIGHT',\n '45': 'SIZE',\n '46': 'SOME',\n '47': 'SOURCE',\n '48': 'SENDER',\n '49': 'SELF',\n '4a': 'STEPS_TO_QUOTA', // Removed in Edo\n '4b': 'SUB',\n '4c': 'SWAP',\n '4d': 'TRANSFER_TOKENS',\n '4e': 'SET_DELEGATE',\n '4f': 'UNIT',\n '50': 'UPDATE',\n '51': 'XOR',\n '52': 'ITER',\n '53': 'LOOP_LEFT',\n '54': 'ADDRESS',\n '55': 'CONTRACT',\n '56': 'ISNAT',\n '57': 'CAST',\n '58': 'RENAME',\n '59': 'bool',\n '5a': 'contract',\n '5b': 'int',\n '5c': 'key',\n '5d': 'key_hash',\n '5e': 'lambda',\n '5f': 'list',\n '60': 'map',\n '61': 'big_map',\n '62': 'nat',\n '63': 'option',\n '64': 'or',\n '65': 'pair',\n '66': 'set',\n '67': 'signature',\n '68': 'string',\n '69': 'bytes',\n '6a': 'mutez',\n '6b': 'timestamp',\n '6c': 'unit',\n '6d': 'operation',\n '6e': 'address',\n '6f': 'SLICE',\n '70': 'DIG',\n '71': 'DUG',\n '72': 'EMPTY_BIG_MAP',\n '73': 'APPLY',\n '74': 'chain_id',\n '75': 'CHAIN_ID',\n '76': 'LEVEL',\n '77': 'SELF_ADDRESS',\n '78': 'never',\n '79': 'NEVER',\n '7a': 'UNPAIR',\n '7b': 'VOTING_POWER',\n '7c': 'TOTAL_VOTING_POWER',\n '7d': 'KECCAK',\n '7e': 'SHA3',\n '7f': 'PAIRING_CHECK',\n '80': 'bls12_381_g1',\n '81': 'bls12_381_g2',\n '82': 'bls12_381_fr',\n '83': 'sapling_state',\n '84': 'sapling_transaction_deprecated',\n '85': 'SAPLING_EMPTY_STATE',\n '86': 'SAPLING_VERIFY_UPDATE',\n '87': 'ticket',\n '88': 'TICKET',\n '89': 'READ_TICKET',\n '8a': 'SPLIT_TICKET',\n '8b': 'JOIN_TICKETS',\n '8c': 'GET_AND_UPDATE',\n '8d': 'chest',\n '8e': 'chest_key',\n '8f': 'OPEN_CHEST',\n '90': 'VIEW',\n '91': 'view',\n '92': 'constant',\n '93': 'SUB_MUTEZ',\n '94': 'tx_rollup_l2_address',\n '95': 'MIN_BLOCK_TIME',\n '96': 'sapling_transaction',\n '97': 'EMIT',\n};\n\nexport const opMappingReverse = (() => {\n const result: { [key: string]: string } = {};\n Object.keys(opMapping).forEach((key: string) => {\n result[opMapping[key]] = key;\n });\n return result;\n})();\n\n// See https://tezos.gitlab.io/api/p2p.html\nexport const kindMapping: { [key: number]: string } = {\n 0x04: 'activate_account',\n 0x6b: 'reveal',\n 0x6e: 'delegation',\n 0x6c: 'transaction',\n 0x6d: 'origination',\n 0x06: 'ballot',\n 0x15: 'endorsement',\n 0x01: 'seed_nonce_revelation',\n 0x05: 'proposals',\n 0x6f: 'register_global_constant',\n 0x96: 'tx_rollup_origination',\n 0x97: 'tx_rollup_submit_batch',\n 0x9e: 'transfer_ticket',\n 0x71: 'increase_paid_storage',\n};\n\nexport const kindMappingReverse = (() => {\n const result: { [key: string]: string } = {};\n Object.keys(kindMapping).forEach((key: number | string) => {\n const keyNum = typeof key === 'string' ? parseInt(key, 10) : key;\n result[kindMapping[keyNum]] = pad(keyNum, 2);\n });\n return result;\n})();\n\n// See https://tezos.gitlab.io/protocols/005_babylon.html#transactions-now-have-an-entrypoint\nexport const entrypointMapping: { [key: string]: string } = {\n '00': 'default',\n '01': 'root',\n '02': 'do',\n '03': 'set_delegate',\n '04': 'remove_delegate',\n};\n\nexport const entrypointMappingReverse = (() => {\n const result: { [key: string]: string } = {};\n Object.keys(entrypointMapping).forEach((key: string) => {\n result[entrypointMapping[key]] = key;\n });\n return result;\n})();\n","import { ENTRYPOINT_MAX_LENGTH } from './constants';\n\n/**\n * @category Error\n * @description Error that indicates an invalid block hash being passed or used\n */\nexport class InvalidBlockHashError extends Error {\n public name = 'InvalidBlockHashError';\n constructor(public message: string) {\n super(message);\n }\n}\n\n/**\n * @category Error\n * @description Error that indicates an invalid operation schema being passed or used\n */ export class InvalidOperationSchemaError extends Error {\n public name = 'InvalidOperationSchemaError';\n constructor(public message: string) {\n super(message);\n }\n}\n\n/**\n * @category Error\n * @description Error that indicates an entrypoint exceeding maximum size\n */\nexport class OversizedEntryPointError extends Error {\n public name = 'OversizedEntryPointError';\n constructor(public entrypoint: string) {\n super(\n `Oversized entrypoint: ${entrypoint}. The maximum length of entrypoint is ${ENTRYPOINT_MAX_LENGTH}`\n );\n }\n}\n\n/**\n * @category Error\n * @description Error that indicates an invalid ballot value\n */\nexport class InvalidBallotValueError extends Error {\n public name = 'InvalidBallotValueError';\n constructor(public ballotValue: string) {\n super(`The ballot value '${ballotValue}' is invalid`);\n }\n}\n\n/**\n * @category Error\n * @description Error that indicates a failure when trying to decode ballot value\n */\nexport class DecodeBallotValueError extends Error {\n public name = 'DecodeBallotValueError';\n constructor(public ballotValue: string) {\n super(`Failed to decode ballot value ${ballotValue}`);\n }\n}\n\n/**\n * @category Error\n * @description Error that indicates an invalid hex string have been passed or used\n */\nexport class InvalidHexStringError extends Error {\n public name = 'InvalidHexStringError';\n constructor(public hexString: string) {\n super(`The hex string '${hexString}' is invalid`);\n }\n}\n\n/**\n * @category Error\n * @description Error that indicates unexpected Michelson Value being passed or used\n */\nexport class UnexpectedMichelsonValueError extends Error {\n public name = 'UnexpectedMichelsonValueError';\n constructor(public value: string) {\n super(`Failed to encode michelson value '${value}'`);\n }\n}\n\n/**\n * @category Error\n * @description Error that indicates a failure when trying to decode an operation\n */\nexport class OperationDecodingError extends Error {\n public name = 'OperationDecodingError';\n constructor(public message: string) {\n super(message);\n }\n}\n\n/**\n * @category Error\n * @description Error that indicates a failure when trying to encode an operation\n */\nexport class OperationEncodingError extends Error {\n public name = 'OperationEncodingError';\n constructor(public message: string) {\n super(message);\n }\n}\n\n/**\n * @category Error\n * @description Error that indicates an unsupported operation being passed or used\n */\nexport class UnsupportedOperationError extends Error {\n public name = 'UnsupportedOperationError';\n constructor(public op: string) {\n super(`The operation '${op}' is unsupported`);\n }\n}\n","import { InvalidHexStringError } from './error';\nexport class Uint8ArrayConsumer {\n static fromHexString(hex: string) {\n const lowHex = hex.toLowerCase();\n if (/^(([a-f]|\\d){2})*$/.test(lowHex)) {\n const arr = new Uint8Array(\n (lowHex.match(/([a-z]|\\d){2}/g) || []).map((byte) => parseInt(byte, 16))\n );\n return new Uint8ArrayConsumer(arr);\n } else {\n throw new InvalidHexStringError(lowHex);\n }\n }\n\n constructor(private readonly arr: Uint8Array, private offset: number = 0) {}\n\n public consume(count: number): Uint8Array {\n const subArr = this.arr.subarray(this.offset, this.offset + count);\n this.offset += count;\n return subArr;\n }\n\n public get(idx: number) {\n return this.arr[this.offset + idx];\n }\n\n public length() {\n return this.arr.length - this.offset;\n }\n}\n","import { BigNumber } from 'bignumber.js';\nimport { Decoder } from '../decoder';\nimport { Uint8ArrayConsumer } from '../uint8array-consumer';\nimport { Encoder } from '../taquito-local-forging';\nimport { opMappingReverse, opMapping } from '../constants';\nimport { pad } from '../utils';\nimport { InvalidHexStringError, UnexpectedMichelsonValueError } from '../error';\n\nexport type PrimValue = { prim: string; args?: MichelsonValue[]; annots?: string[] };\nexport type BytesValue = { bytes: string };\nexport type StringValue = { string: string };\nexport type IntValue = { int: string };\nexport type MichelsonValue =\n | PrimValue\n | BytesValue\n | StringValue\n | IntValue\n | (PrimValue | BytesValue | StringValue | IntValue)[];\n\nexport const isPrim = (value: MichelsonValue): value is PrimValue => {\n return 'prim' in value;\n};\n\nexport const isBytes = (value: MichelsonValue): value is BytesValue => {\n return 'bytes' in value && typeof value.bytes === 'string';\n};\n\nexport const isString = (value: MichelsonValue): value is StringValue => {\n return 'string' in value && typeof value.string === 'string';\n};\n\nexport const isInt = (value: MichelsonValue): value is IntValue => {\n return 'int' in value && typeof value.int === 'string';\n};\n\nexport const scriptEncoder: Encoder<{ code: MichelsonValue; storage: MichelsonValue }> = (\n script\n) => {\n const code = valueEncoder(script.code);\n const storage = valueEncoder(script.storage);\n return `${pad(code.length / 2, 8)}${code}${pad(storage.length / 2, 8)}${storage}`;\n};\n\nexport const scriptDecoder: Decoder = (value: Uint8ArrayConsumer) => {\n const code = extractRequiredLen(value);\n const storage = extractRequiredLen(value);\n\n return {\n code: valueDecoder(new Uint8ArrayConsumer(code)),\n storage: valueDecoder(new Uint8ArrayConsumer(storage)),\n };\n};\n\nexport const valueEncoder: Encoder<MichelsonValue> = (value: MichelsonValue) => {\n if (Array.isArray(value)) {\n const encoded = value.map((x) => valueEncoder(x)).join('');\n const len = encoded.length / 2;\n return `02${pad(len)}${encoded}`;\n } else if (isPrim(value)) {\n return primEncoder(value);\n } else if (isBytes(value)) {\n return bytesEncoder(value);\n } else if (isString(value)) {\n return stringEncoder(value);\n } else if (isInt(value)) {\n return intEncoder(value);\n }\n\n throw new UnexpectedMichelsonValueError(JSON.stringify(value));\n};\n\nexport const valueDecoder: Decoder = (value: Uint8ArrayConsumer) => {\n const preamble = value.consume(1);\n switch (preamble[0]) {\n case 0x0a:\n return bytesDecoder(value);\n case 0x01:\n return stringDecoder(value);\n case 0x00:\n return intDecoder(value);\n case 0x02: {\n const val = new Uint8ArrayConsumer(extractRequiredLen(value));\n const results = [];\n while (val.length() > 0) {\n results.push(valueDecoder(val));\n }\n return results;\n }\n default:\n return primDecoder(value, preamble);\n }\n};\n\nexport const extractRequiredLen = (value: Uint8ArrayConsumer, bytesLength = 4) => {\n const len = value.consume(bytesLength);\n const valueLen = parseInt(Buffer.from(len).toString('hex'), 16);\n return value.consume(valueLen);\n};\n\nexport const bytesEncoder: Encoder<BytesValue> = (value) => {\n if (!/^([A-Fa-f0-9]{2})*$/.test(value.bytes)) {\n throw new InvalidHexStringError(value.bytes);\n }\n\n const len = value.bytes.length / 2;\n return `0a${pad(len)}${value.bytes}`;\n};\n\nexport const bytesDecoder: Decoder = (value: Uint8ArrayConsumer) => {\n const bytes = extractRequiredLen(value);\n return {\n bytes: Buffer.from(bytes).toString('hex'),\n };\n};\n\nexport const stringEncoder: Encoder<StringValue> = (value) => {\n const str = Buffer.from(value.string, 'utf8').toString('hex');\n const hexLength = str.length / 2;\n return `01${pad(hexLength)}${str}`;\n};\n\nexport const stringDecoder: Decoder = (value: Uint8ArrayConsumer) => {\n const str = extractRequiredLen(value);\n return {\n string: Buffer.from(str).toString('utf8'),\n };\n};\n\nexport const intEncoder: Encoder<IntValue> = ({ int }) => {\n const num = new BigNumber(int, 10);\n const positiveMark = num.toString(2)[0] === '-' ? '1' : '0';\n const binary = num.toString(2).replace(/-/g, '');\n\n const pad =\n binary.length <= 6\n ? 6\n : (binary.length - 6) % 7\n ? binary.length + 7 - ((binary.length - 6) % 7)\n : binary.length;\n\n const splitted = binary.padStart(pad, '0').match(/\\d{6,7}/g);\n\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const reversed = splitted!.reverse();\n\n reversed[0] = positiveMark + reversed[0];\n\n const numHex = reversed.map((x: string, i: number) =>\n // Add one to the last chunk\n parseInt((i === reversed.length - 1 ? '0' : '1') + x, 2)\n .toString(16)\n .padStart(2, '0')\n );\n\n return `00${numHex.join('')}`;\n};\n\nexport const intDecoder = (value: Uint8ArrayConsumer): IntValue => {\n let c = value.consume(1)[0];\n const hexNumber: number[] = [];\n const isNotLastChunkMask = 1 << 7;\n while (c & isNotLastChunkMask) {\n hexNumber.push(c);\n c = value.consume(1)[0];\n }\n\n hexNumber.push(c);\n const isNegative = !!((1 << 6) & hexNumber[0]);\n\n hexNumber[0] = hexNumber[0] & 0b1111111;\n\n const numBin = hexNumber\n .map((x, i) =>\n x\n .toString(2)\n .slice(i === 0 ? -6 : -7)\n .padStart(i === 0 ? 6 : 7, '0')\n )\n .reverse();\n let num = new BigNumber(numBin.join(''), 2);\n if (isNegative) {\n num = num.times(-1);\n }\n\n return {\n int: num.toFixed(),\n };\n};\n\nexport const primEncoder: Encoder<PrimValue> = (value) => {\n const hasAnnot = +Array.isArray(value.annots);\n const argsCount = Array.isArray(value.args) ? value.args.length : 0;\n\n // Specify the number of args max is 3 without annotation\n const preamble = pad(Math.min(2 * argsCount + hasAnnot + 0x03, 9), 2);\n\n const op = opMappingReverse[value.prim];\n\n let encodedArgs = (value.args || []).map((arg) => valueEncoder(arg)).join('');\n const encodedAnnots = Array.isArray(value.annots) ? encodeAnnots(value.annots) : '';\n\n if (value.prim === 'LAMBDA' && argsCount) {\n encodedArgs = pad(encodedArgs.length / 2) + encodedArgs + pad(0);\n }\n\n if ((value.prim === 'pair' || value.prim === 'Pair') && argsCount > 2) {\n encodedArgs =\n encodedAnnots === ''\n ? pad(encodedArgs.length / 2) + encodedArgs + pad(0)\n : pad(encodedArgs.length / 2) + encodedArgs;\n }\n\n if (value.prim === 'view' && value.args) {\n encodedArgs = pad(encodedArgs.length / 2) + encodedArgs + pad(0);\n }\n\n return `${preamble}${op}${encodedArgs}${encodedAnnots}`;\n};\n\nexport const primDecoder = (value: Uint8ArrayConsumer, preamble: Uint8Array) => {\n const hasAnnot = (preamble[0] - 0x03) % 2 === 1;\n let argsCount = Math.floor((preamble[0] - 0x03) / 2);\n const op = value.consume(1)[0].toString(16).padStart(2, '0');\n\n const result: Partial<PrimValue> = {\n prim: opMapping[op],\n };\n\n if (opMapping[op] === 'LAMBDA') {\n value.consume(4);\n }\n\n if (opMapping[op] === 'view') {\n if (argsCount != 0) {\n return primViewDecoder(value, result);\n } else {\n return result;\n }\n }\n\n let combPairArgs;\n let combPairAnnots;\n if ((opMapping[op] === 'pair' || opMapping[op] === 'Pair') && argsCount > 2) {\n combPairArgs = decodeCombPair(value);\n argsCount = 0;\n combPairAnnots = decodeAnnots(value);\n }\n\n const args = new Array(argsCount).fill(0).map(() => valueDecoder(value));\n\n if (opMapping[op] === 'LAMBDA') {\n value.consume(4);\n }\n\n if (combPairArgs) {\n result['args'] = combPairArgs as any;\n } else if (args.length) {\n result['args'] = args as any;\n }\n\n if (combPairAnnots && (combPairAnnots as any)[0] !== '') {\n result['annots'] = combPairAnnots as any;\n } else if (hasAnnot) {\n result['annots'] = decodeAnnots(value) as any;\n }\n\n return result;\n};\n\nexport const primViewDecoder = (value: Uint8ArrayConsumer, result: Partial<PrimValue>) => {\n value.consume(4);\n result['args'] = new Array(4).fill(0).map(() => valueDecoder(value)) as any;\n value.consume(4);\n return result;\n};\n\nexport const decodeCombPair: Decoder = (val: Uint8ArrayConsumer) => {\n const array = new Uint8ArrayConsumer(extractRequiredLen(val));\n const args = [];\n while (array.length() > 0) {\n args.push(valueDecoder(array));\n }\n return args;\n};\n\nexport const encodeAnnots: Encoder<string[]> = (value: string[]) => {\n const mergedAnnot = value\n .map((x) => {\n return Buffer.from(x, 'utf8').toString('hex');\n })\n .join('20');\n\n const len = mergedAnnot.length / 2;\n return `${pad(len)}${mergedAnnot}`;\n};\n\nexport const decodeAnnots: Decoder = (val: Uint8ArrayConsumer): string[] => {\n const len = val.consume(4);\n const annotLen = parseInt(Buffer.from(len).toString('hex'), 16);\n const restOfAnnot = val.consume(annotLen);\n\n const restOfAnnotHex = Buffer.from(restOfAnnot).toString('hex');\n return restOfAnnotHex.split('20').map((x) => Buffer.from(x, 'hex').toString('utf8'));\n};\n","import {\n b58cdecode,\n b58cencode,\n buf2hex,\n Prefix,\n prefix as prefixMap,\n prefixLength,\n InvalidKeyHashError,\n InvalidPublicKeyError,\n InvalidAddressError,\n InvalidContractAddressError,\n} from '@taquito/utils';\nimport { OversizedEntryPointError, InvalidBallotValueError, DecodeBallotValueError } from './error';\nimport BigNumber from 'bignumber.js';\nimport { entrypointMapping, entrypointMappingReverse, ENTRYPOINT_MAX_LENGTH } from './constants';\nimport { extractRequiredLen, valueDecoder, valueEncoder, MichelsonValue } from './michelson/codec';\nimport { Uint8ArrayConsumer } from './uint8array-consumer';\nimport { pad } from './utils';\n\nexport const prefixEncoder = (prefix: Prefix) => (str: string) => {\n return buf2hex(Buffer.from(b58cdecode(str, prefixMap[prefix])));\n};\n\nexport const prefixDecoder = (pre: Prefix) => (str: Uint8ArrayConsumer) => {\n const val = str.consume(prefixLength[pre]);\n return b58cencode(val, prefixMap[pre]);\n};\n\nexport const tz1Decoder = prefixDecoder(Prefix.TZ1);\nexport const branchDecoder = prefixDecoder(Prefix.B);\nexport const pkhDecoder = (val: Uint8ArrayConsumer) => {\n const prefix = val.consume(1);\n\n if (prefix[0] === 0x00) {\n return prefixDecoder(Prefix.TZ1)(val);\n } else if (prefix[0] === 0x01) {\n return prefixDecoder(Prefix.TZ2)(val);\n } else if (prefix[0] === 0x02) {\n return prefixDecoder(Prefix.TZ3)(val);\n }\n};\n\nexport const branchEncoder = prefixEncoder(Prefix.B);\nexport const tz1Encoder = prefixEncoder(Prefix.TZ1);\n\nexport const boolEncoder = (bool: unknown): string => (bool ? 'ff' : '00');\n\nexport const proposalEncoder = (proposal: string): string => {\n return prefixEncoder(Prefix.P)(proposal);\n};\n\nexport const proposalDecoder = (proposal: Uint8ArrayConsumer): string => {\n return prefixDecoder(Prefix.P)(proposal);\n};\n\nexport const proposalsDecoder = (proposal: Uint8ArrayConsumer): string[] => {\n const proposals = [];\n proposal.consume(4);\n while (proposal.length() > 0) {\n proposals.push(proposalDecoder(proposal));\n }\n return proposals;\n};\n\nexport const proposalsEncoder = (proposals: string[]): string => {\n return pad(32 * proposals.length) + proposals.map((x) => proposalEncoder(x)).join('');\n};\n\nexport const ballotEncoder = (ballot: string): string => {\n switch (ballot) {\n case 'yay':\n return '00';\n case 'nay':\n return '01';\n case 'pass':\n return '02';\n default:\n throw new InvalidBallotValueError(ballot);\n }\n};\n\nexport const ballotDecoder = (ballot: Uint8ArrayConsumer): string => {\n const value = ballot.consume(1);\n switch (value[0]) {\n case 0x00:\n return 'yay';\n case 0x01:\n return 'nay';\n case 0x02:\n return 'pass';\n default:\n throw new DecodeBallotValueError(value[0].toString());\n }\n};\n\nexport const delegateEncoder = (val: string) => {\n if (val) {\n return boolEncoder(true) + pkhEncoder(val);\n } else {\n return boolEncoder(false);\n }\n};\n\nexport const int32Encoder = (val: number | string): string => {\n const num = parseInt(String(val), 10);\n const byte = [];\n for (let i = 0; i < 4; i++) {\n const shiftBy = (4 - (i + 1)) * 8;\n byte.push((num & (0xff << shiftBy)) >> shiftBy);\n }\n return Buffer.from(byte).toString('hex');\n};\n\nexport const int32Decoder = (val: Uint8ArrayConsumer) => {\n const num = val.consume(4);\n let finalNum = 0;\n for (let i = 0; i < num.length; i++) {\n finalNum = finalNum | (num[i] << ((num.length - (i + 1)) * 8));\n }\n\n return finalNum;\n};\n\nexport const int16Encoder = (val: number | string): string => {\n const num = parseInt(String(val), 10);\n const byte = [];\n for (let i = 0; i < 2; i++) {\n const shiftBy = (2 - (i + 1)) * 8;\n byte.push((num & (0xff << shiftBy)) >> shiftBy);\n }\n return Buffer.from(byte).toString('hex');\n};\n\nexport const int16Decoder = (val: Uint8ArrayConsumer) => {\n const num = val.consume(2);\n let finalNum = 0;\n for (let i = 0; i < num.length; i++) {\n finalNum = finalNum | (num[i] << ((num.length - (i + 1)) * 8));\n }\n\n return finalNum;\n};\n\nexport const boolDecoder = (val: Uint8ArrayConsumer): boolean => {\n const bool = val.consume(1);\n return bool[0] === 0xff;\n};\n\nexport const delegateDecoder = (val: Uint8ArrayConsumer) => {\n const hasDelegate = boolDecoder(val);\n if (hasDelegate) {\n return pkhDecoder(val);\n }\n};\n\nexport const pkhEncoder = (val: string) => {\n const pubkeyPrefix = val.substr(0, 3);\n switch (pubkeyPrefix) {\n case Prefix.TZ1:\n return '00' + prefixEncoder(Prefix.TZ1)(val);\n case Prefix.TZ2:\n return '01' + prefixEncoder(Prefix.TZ2)(val);\n case Prefix.TZ3:\n return '02' + prefixEncoder(Prefix.TZ3)(val);\n default:\n throw new InvalidKeyHashError(val);\n }\n};\n\nexport const publicKeyEncoder = (val: string) => {\n const pubkeyPrefix = val.substr(0, 4);\n switch (pubkeyPrefix) {\n case Prefix.EDPK:\n return '00' + prefixEncoder(Prefix.EDPK)(val);\n case Prefix.SPPK:\n return '01' + prefixEncoder(Prefix.SPPK)(val);\n case Prefix.P2PK:\n return '02' + prefixEncoder(Prefix.P2PK)(val);\n default:\n throw new InvalidPublicKeyError(val);\n }\n};\n\nexport const addressEncoder = (val: string): string => {\n const pubkeyPrefix = val.substr(0, 3);\n switch (pubkeyPrefix) {\n case Prefix.TZ1:\n case Prefix.TZ2:\n case Prefix.TZ3:\n return '00' + pkhEncoder(val);\n case Prefix.KT1:\n return '01' + prefixEncoder(Prefix.KT1)(val) + '00';\n default:\n throw new InvalidAddressError(val);\n }\n};\n\nexport const smartContractAddressEncoder = (val: string): string => {\n const prefix = val.substring(0, 3);\n\n if (prefix === Prefix.KT1) {\n return '01' + prefixEncoder(Prefix.KT1)(val) + '00';\n }\n throw new InvalidContractAddressError(val);\n};\n\nexport const publicKeyDecoder = (val: Uint8ArrayConsumer) => {\n const preamble = val.consume(1);\n switch (preamble[0]) {\n case 0x00:\n return prefixDecoder(Prefix.EDPK)(val);\n case 0x01:\n return prefixDecoder(Prefix.SPPK)(val);\n case 0x02:\n return prefixDecoder(Prefix.P2PK)(val);\n default:\n throw new InvalidPublicKeyError(val.toString());\n }\n};\n\nexport const addressDecoder = (val: Uint8ArrayConsumer) => {\n const preamble = val.consume(1);\n switch (preamble[0]) {\n case 0x00:\n return pkhDecoder(val);\n case 0x01: {\n const address = prefixDecoder(Prefix.KT1)(val);\n val.consume(1);\n return address;\n }\n default:\n throw new InvalidAddressError(val.toString());\n }\n};\n\nexport const smartContractAddressDecoder = (val: Uint8ArrayConsumer) => {\n const preamble = val.consume(1);\n if (preamble[0] === 0x01) {\n const scAddress = prefixDecoder(Prefix.KT1)(val);\n val.consume(1);\n return scAddress;\n }\n throw new InvalidContractAddressError(val.toString());\n};\n\nexport const zarithEncoder = (n: string): string => {\n const fn: Array<string> = [];\n let nn = new BigNumber(n, 10);\n if (nn.isNaN()) {\n throw new TypeError(`Invalid zarith number ${n}`);\n }\n // eslint-disable-next-line no-constant-condition\n while (true) {\n if (nn.lt(128)) {\n if (nn.lt(16)) fn.push('0');\n fn.push(nn.toString(16));\n break;\n } else {\n let b = nn.mod(128);\n nn = nn.minus(b);\n nn = nn.dividedBy(128);\n b = b.plus(128);\n fn.push(b.toString(16));\n }\n }\n return fn.join('');\n};\n\nexport const zarithDecoder = (n: Uint8ArrayConsumer): string => {\n let mostSignificantByte = 0;\n while (mostSignificantByte < n.length() && (n.get(mostSignificantByte) & 128) !== 0) {\n mostSignificantByte += 1;\n }\n\n let num = new BigNumber(0);\n for (let i = mostSignificantByte; i >= 0; i -= 1) {\n const tmp = n.get(i) & 0x7f;\n num = num.multipliedBy(128);\n num = num.plus(tmp);\n }\n\n n.consume(mostSignificantByte + 1);\n return new BigNumber(num).toString();\n};\n\nexport const entrypointDecoder = (value: Uint8ArrayConsumer) => {\n const preamble = pad(value.consume(1)[0], 2);\n\n if (preamble in entrypointMapping) {\n return entrypointMapping[preamble];\n } else {\n const entry = extractRequiredLen(value, 1);\n\n const entrypoint = Buffer.from(entry).toString('utf8');\n\n if (entrypoint.length > ENTRYPOINT_MAX_LENGTH) {\n throw new OversizedEntryPointError(entrypoint);\n }\n return entrypoint;\n }\n};\n\nexport const parametersDecoder = (val: Uint8ArrayConsumer) => {\n const preamble = val.consume(1);\n if (preamble[0] === 0x00) {\n return;\n } else {\n const encodedEntrypoint = entrypointDecoder(val);\n const params = extractRequiredLen(val);\n const parameters = valueDecoder(new Uint8ArrayConsumer(params));\n return {\n entrypoint: encodedEntrypoint,\n value: parameters,\n };\n }\n};\nexport const entrypointEncoder = (entrypoint: string) => {\n if (entrypoint in entrypointMappingReverse) {\n return `${entrypointMappingReverse[entrypoint]}`;\n } else {\n if (entrypoint.length > ENTRYPOINT_MAX_LENGTH) {\n throw new OversizedEntryPointError(entrypoint);\n }\n\n const value = { string: entrypoint };\n return `ff${valueEncoder(value).slice(8)}`;\n }\n};\n\nexport const parametersEncoder = (val: { entrypoint: string; value: MichelsonValue }) => {\n if (!val || (val.entrypoint === 'default' && 'prim' in val.value && val.value.prim === 'Unit')) {\n return '00';\n }\n\n const encodedEntrypoint = entrypointEncoder(val.entrypoint);\n const parameters = valueEncoder(val.value);\n const length = (parameters.length / 2).toString(16).padStart(8, '0');\n return `ff${encodedEntrypoint}${length}${parameters}`;\n};\n\nexport const valueParameterEncoder = (value: MichelsonValue) => {\n const valueEncoded = valueEncoder(value);\n return `${pad(valueEncoded.length / 2)}${valueEncoded}`;\n};\n\nexport const valueParameterDecoder = (val: Uint8ArrayConsumer) => {\n const value = extractRequiredLen(val);\n return valueDecoder(new Uint8ArrayConsumer(value));\n};\n\nexport const blockPayloadHashEncoder = prefixEncoder(Prefix.VH);\nexport const blockPayloadHashDecoder = prefixDecoder(Prefix.VH);\n\nexport const entrypointNameEncoder = (entrypoint: string) => {\n const value = { string: entrypoint };\n return `${valueEncoder(value).slice(2)}`;\n};\n\nexport const entrypointNameDecoder = (val: Uint8ArrayConsumer) => {\n const entry = extractRequiredLen(val);\n\n return Buffer.from(entry).toString('utf8');\n};\n\nexport const txRollupOriginationParamEncoder = (_value: string) => {\n return '';\n};\n\nexport const txRollupOriginationParamDecoder = (_val: Uint8ArrayConsumer) => {\n return {};\n};\n\nexport const txRollupIdEncoder = prefixEncoder(Prefix.TXR1);\n\nexport const txRollupIdDecoder = prefixDecoder(Prefix.TXR1);\n\nexport const txRollupBatchContentEncoder = (value: string) => {\n return `${pad(value.length / 2)}${value}`;\n};\n\nexport const txRollupBatchContentDecoder = (val: Uint8ArrayConsumer) => {\n const value = extractRequiredLen(val);\n return Buffer.from(value).toString('hex');\n};\n\nexport const burnLimitEncoder = (val: string) => {\n return !val ? '00' : `ff${zarithEncoder(val)}`;\n};\n\nexport const burnLimitDecoder = (value: Uint8ArrayConsumer) => {\n const prefix = value.consume(1);\n if (Buffer.from(prefix).toString('hex') !== '00') {\n return zarithDecoder(value);\n }\n};\n","import { Decoder } from '../decoder';\nimport { Uint8ArrayConsumer } from '../uint8array-consumer';\nimport { CODEC, kindMapping, kindMappingReverse } from '../constants';\nimport { InvalidOperationKindError } from '@taquito/utils';\nimport {\n OperationDecodingError,\n OperationEncodingError,\n UnsupportedOperationError,\n} from '../error';\n\nexport const ManagerOperationSchema = {\n branch: CODEC.BRANCH,\n contents: [CODEC.OPERATION],\n};\n\nexport const ActivationSchema = {\n pkh: CODEC.TZ1,\n secret: CODEC.SECRET,\n};\n\nexport const RevealSchema = {\n source: CODEC.PKH,\n fee: CODEC.ZARITH,\n counter: CODEC.ZARITH,\n gas_limit: CODEC.ZARITH,\n storage_limit: CODEC.ZARITH,\n public_key: CODEC.PUBLIC_KEY,\n};\n\nexport const DelegationSchema = {\n source: CODEC.PKH,\n fee: CODEC.ZARITH,\n counter: CODEC.ZARITH,\n gas_limit: CODEC.ZARITH,\n storage_limit: CODEC.ZARITH,\n delegate: CODEC.DELEGATE,\n};\n\nexport const TransactionSchema = {\n source: CODEC.PKH,\n fee: CODEC.ZARITH,\n counter: CODEC.ZARITH,\n gas_limit: CODEC.ZARITH,\n storage_limit: CODEC.ZARITH,\n amount: CODEC.ZARITH,\n destination: CODEC.ADDRESS,\n parameters: CODEC.PARAMETERS,\n};\n\nexport const OriginationSchema = {\n source: CODEC.PKH,\n fee: CODEC.ZARITH,\n counter: CODEC.ZARITH,\n gas_limit: CODEC.ZARITH,\n storage_limit: CODEC.ZARITH,\n balance: CODEC.ZARITH,\n delegate: CODEC.DELEGATE,\n script: CODEC.SCRIPT,\n};\n\nexport const BallotSchema = {\n source: CODEC.PKH,\n period: CODEC.INT32,\n proposal: CODEC.PROPOSAL,\n ballot: CODEC.BALLOT_STATEMENT,\n};\n\nexport const EndorsementSchema = {\n slot: CODEC.INT16,\n level: CODEC.INT32,\n round: CODEC.INT32,\n block_payload_hash: CODEC.BLOCK_PAYLOAD_HASH,\n};\n\nexport const SeedNonceRevelationSchema = {\n level: CODEC.INT32,\n nonce: CODEC.RAW,\n};\n\nexport const ProposalsSchema = {\n source: CODEC.PKH,\n period: CODEC.INT32,\n proposals: CODEC.PROPOSAL_ARR,\n};\n\nexport const RegisterGlobalConstantSchema = {\n source: CODEC.PKH,\n fee: CODEC.ZARITH,\n counter: CODEC.ZARITH,\n gas_limit: CODEC.ZARITH,\n storage_limit: CODEC.ZARITH,\n value: CODEC.VALUE,\n};\n\nexport const TransferTicketSchema = {\n source: CODEC.PKH,\n fee: CODEC.ZARITH,\n counter: CODEC.ZARITH,\n gas_limit: CODEC.ZARITH,\n storage_limit: CODEC.ZARITH,\n ticket_contents: CODEC.VALUE,\n ticket_ty: CODEC.VALUE,\n ticket_ticketer: CODEC.ADDRESS,\n ticket_amount: CODEC.ZARITH,\n destination: CODEC.ADDRESS,\n entrypoint: CODEC.ENTRYPOINT,\n};\n\nexport const TxRollupOriginationSchema = {\n source: CODEC.PKH,\n fee: CODEC.ZARITH,\n counter: CODEC.ZARITH,\n gas_limit: CODEC.ZARITH,\n storage_limit: CODEC.ZARITH,\n tx_rollup_origination: CODEC.TX_ROLLUP_ORIGINATION_PARAM,\n};\n\nexport const TxRollupSubmitBatchSchema = {\n source: CODEC.PKH,\n fee: CODEC.ZARITH,\n counter: CODEC.ZARITH,\n gas_limit: CODEC.ZARITH,\n storage_limit: CODEC.ZARITH,\n rollup: CODEC.TX_ROLLUP_ID,\n content: CODEC.TX_ROLLUP_BATCH_CONTENT,\n burn_limit: CODEC.BURN_LIMIT,\n};\n\nexport const IncreasePaidStorageSchema = {\n source: CODEC.PKH,\n fee: CODEC.ZARITH,\n counter: CODEC.ZARITH,\n gas_limit: CODEC.ZARITH,\n storage_limit: CODEC.ZARITH,\n amount: CODEC.ZARITH,\n destination: CODEC.SMART_CONTRACT_ADDRESS,\n};\n\nexport const operationEncoder =\n (encoders: { [key: string]: (val: object) => string }) => (operation: { kind: string }) => {\n if (!(operation.kind in encoders) || !(operation.kind in kindMappingReverse)) {\n throw new InvalidOperationKindError(operation.kind);\n }\n\n return kindMappingReverse[operation.kind] + encoders[operation.kind](operation);\n };\n\nexport const operationDecoder =\n (decoders: { [key: string]: Decoder }) => (value: Uint8ArrayConsumer) => {\n const op = value.consume(1);\n\n const operationName = kindMapping[op[0]];\n if (operationName === undefined) {\n throw new UnsupportedOperationError(op[0].toString());\n }\n\n const decodedObj = decoders[operationName](value);\n\n if (typeof decodedObj !== 'object') {\n throw new OperationDecodingError('Decoded invalid operation');\n }\n\n return {\n kind: operationName,\n ...decodedObj,\n };\n };\n\ntype Schema = Record<string, CODEC | CODEC[]>;\nexport type Value = Record<keyof Schema, unknown[]>;\n\nexport const schemaEncoder =\n (encoders: { [key: string]: (val: object) => string }) => (schema: Schema) => (value: Value) => {\n const keys = Object.keys(schema);\n return keys.reduce((prev, key) => {\n const valueToEncode = schema[key] as CODEC;\n\n if (value && Array.isArray(valueToEncode)) {\n const encoder = encoders[valueToEncode[0]];\n const values = value[key];\n\n if (!Array.isArray(values)) {\n throw new OperationEncodingError(`Expected value to be Array ${JSON.stringify(values)}`);\n }\n\n return prev + values.reduce((prevBytes, current) => prevBytes + encoder(current), '');\n } else {\n const encoder = encoders[valueToEncode];\n return prev + encoder(value[key]);\n }\n }, '');\n };\n\nexport const schemaDecoder =\n (decoders: { [key: string]: Decoder }) =>\n (schema: { [key: string]: string | string[] }) =>\n (value: Uint8ArrayConsumer) => {\n const keys = Object.keys(schema);\n return keys.reduce((prev, key) => {\n const valueToEncode = schema[key];\n\n if (Array.isArray(valueToEncode)) {\n const decoder = decoders[valueToEncode[0]];\n\n const decoded = [];\n const lastLength = value.length();\n while (value.length() > 0) {\n decoded.push(decoder(value));\n\n if (lastLength === value.length()) {\n throw new OperationDecodingError('Unable to decode value');\n }\n }\n\n return {\n ...prev,\n [key]: decoded,\n };\n } else {\n const decoder = decoders[valueToEncode];\n\n const result = decoder(value);\n\n if (typeof result !== 'undefined') {\n return {\n ...prev,\n [key]: result,\n };\n } else {\n return {\n ...prev,\n };\n }\n }\n }, {});\n };\n","import {\n addressDecoder,\n ballotDecoder,\n blockPayloadHashDecoder,\n branchDecoder,\n burnLimitDecoder,\n delegateDecoder,\n entrypointNameDecoder,\n int16Decoder,\n int32Decoder,\n parametersDecoder,\n pkhDecoder,\n proposalDecoder,\n proposalsDecoder,\n publicKeyDecoder,\n smartContractAddressDecoder,\n txRollupBatchContentDecoder,\n txRollupIdDecoder,\n txRollupOriginationParamDecoder,\n tz1Decoder,\n valueParameterDecoder,\n zarithDecoder,\n} from './codec';\nimport { CODEC } from './constants';\nimport { scriptDecoder } from './michelson/codec';\nimport {\n ActivationSchema,\n BallotSchema,\n DelegationSchema,\n EndorsementSchema,\n IncreasePaidStorageSchema,\n ManagerOperationSchema,\n operationDecoder,\n OriginationSchema,\n ProposalsSchema,\n RegisterGlobalConstantSchema,\n RevealSchema,\n schemaDecoder,\n SeedNonceRevelationSchema,\n TransactionSchema,\n TransferTicketSchema,\n TxRollupOriginationSchema,\n TxRollupSubmitBatchSchema,\n} from './schema/operation';\nimport { Uint8ArrayConsumer } from './uint8array-consumer';\nimport { toHexString } from './utils';\n\nexport type Decoder = (val: Uint8ArrayConsumer) => string | number | object | undefined;\n\nexport const decoders: { [key: string]: Decoder } = {\n [CODEC.SECRET]: (val) => toHexString(val.consume(20)),\n [CODEC.RAW]: (val) => toHexString(val.consume(32)),\n [CODEC.TZ1]: tz1Decoder,\n [CODEC.BRANCH]: branchDecoder,\n [CODEC.ZARITH]: zarithDecoder,\n [CODEC.PUBLIC_KEY]: publicKeyDecoder,\n [CODEC.PKH]: pkhDecoder,\n [CODEC.DELEGATE]: delegateDecoder,\n [CODEC.INT32]: int32Decoder,\n [CODEC.SCRIPT]: scriptDecoder,\n [CODEC.BALLOT_STATEMENT]: ballotDecoder,\n [CODEC.PROPOSAL]: proposalDecoder,\n [CODEC.PROPOSAL_ARR]: proposalsDecoder,\n [CODEC.PARAMETERS]: parametersDecoder,\n [CODEC.ADDRESS]: addressDecoder,\n [CODEC.SMART_CONTRACT_ADDRESS]: smartContractAddressDecoder,\n [CODEC.VALUE]: valueParameterDecoder,\n [CODEC.INT16]: int16Decoder,\n [CODEC.BLOCK_PAYLOAD_HASH]: blockPayloadHashDecoder,\n [CODEC.ENTRYPOINT]: entrypointNameDecoder,\n [CODEC.TX_ROLLUP_ORIGINATION_PARAM]: txRollupOriginationParamDecoder,\n [CODEC.TX_ROLLUP_ID]: txRollupIdDecoder,\n [CODEC.TX_ROLLUP_BATCH_CONTENT]: txRollupBatchContentDecoder,\n [CODEC.BURN_LIMIT]: burnLimitDecoder,\n};\n\ndecoders[CODEC.OPERATION] = operationDecoder(decoders);\ndecoders[CODEC.OP_ACTIVATE_ACCOUNT] = (val: Uint8ArrayConsumer) =>\n schemaDecoder(decoders)(ActivationSchema)(val);\ndecoders[CODEC.OP_DELEGATION] = (val: Uint8ArrayConsumer) =>\n schemaDecoder(decoders)(DelegationSchema)(val);\ndecoders[CODEC.OP_TRANSACTION] = (val: Uint8ArrayConsumer) =>\n schemaDecoder(decoders)(TransactionSchema)(val);\ndecoders[CODEC.OP_ORIGINATION] = (val: Uint8ArrayConsumer) =>\n schemaDecoder(decoders)(OriginationSchema)(val);\ndecoders[CODEC.OP_BALLOT] = (val: Uint8ArrayConsumer) => schemaDecoder(decoders)(BallotSchema)(val);\ndecoders[CODEC.OP_ENDORSEMENT] = (val: Uint8ArrayConsumer) =>\n schemaDecoder(decoders)(EndorsementSchema)(val);\ndecoders[CODEC.OP_SEED_NONCE_REVELATION] = (val: Uint8ArrayConsumer) =>\n schemaDecoder(decoders)(SeedNonceRevelationSchema)(val);\ndecoders[CODEC.OP_PROPOSALS] = (val: Uint8ArrayConsumer) =>\n schemaDecoder(decoders)(ProposalsSchema)(val);\ndecoders[CODEC.OP_REVEAL] = (val: Uint8ArrayConsumer) => schemaDecoder(decoders)(RevealSchema)(val);\ndecoders[CODEC.OP_REGISTER_GLOBAL_CONSTANT] = (val: Uint8ArrayConsumer) =>\n schemaDecoder(decoders)(RegisterGlobalConstantSchema)(val);\ndecoders[CODEC.OP_TRANSFER_TICKET] = (val: Uint8ArrayConsumer) =>\n schemaDecoder(decoders)(TransferTicketSchema)(val);\ndecoders[CODEC.OP_TX_ROLLUP_ORIGINATION] = (val: Uint8ArrayConsumer) =>\n schemaDecoder(decoders)(TxRollupOriginationSchema)(val);\ndecoders[CODEC.OP_TX_ROLLUP_SUBMIT_BATCH] = (val: Uint8ArrayConsumer) =>\n schemaDecoder(decoders)(TxRollupSubmitBatchSchema)(val);\ndecoders[CODEC.OP_INCREASE_PAID_STORAGE] = (val: Uint8ArrayConsumer) =>\n schemaDecoder(decoders)(IncreasePaidStorageSchema)(val);\ndecoders[CODEC.MANAGER] = schemaDecoder(decoders)(ManagerOperationSchema);\n","import {\n addressEncoder,\n ballotEncoder,\n blockPayloadHashEncoder,\n branchEncoder,\n burnLimitEncoder,\n delegateEncoder,\n entrypointNameEncoder,\n int16Encoder,\n int32Encoder,\n parametersEncoder,\n pkhEncoder,\n proposalEncoder,\n proposalsEncoder,\n publicKeyEncoder,\n smartContractAddressEncoder,\n txRollupBatchContentEncoder,\n txRollupIdEncoder,\n txRollupOriginationParamEncoder,\n tz1Encoder,\n valueParameterEncoder,\n zarithEncoder,\n} from './codec';\nimport { CODEC } from './constants';\nimport { scriptEncoder } from './michelson/codec';\nimport {\n ActivationSchema,\n BallotSchema,\n DelegationSchema,\n EndorsementSchema,\n IncreasePaidStorageSchema,\n ManagerOperationSchema,\n operationEncoder,\n OriginationSchema,\n ProposalsSchema,\n RegisterGlobalConstantSchema,\n RevealSchema,\n schemaEncoder,\n SeedNonceRevelationSchema,\n TransactionSchema,\n TransferTicketSchema,\n TxRollupOriginationSchema,\n TxRollupSubmitBatchSchema,\n} from './schema/operation';\n\nexport type Encoder<T> = (val: T) => string;\n\nexport const encoders: { [key: string]: Encoder<any> } = {\n [CODEC.SECRET]: (val: string) => val,\n [CODEC.RAW]: (val: string) => val,\n [CODEC.TZ1]: tz1Encoder,\n [CODEC.BRANCH]: branchEncoder,\n [CODEC.ZARITH]: zarithEncoder,\n [CODEC.PUBLIC_KEY]: publicKeyEncoder,\n [CODEC.PKH]: pkhEncoder,\n [CODEC.DELEGATE]: delegateEncoder,\n [CODEC.SCRIPT]: scriptEncoder,\n [CODEC.BALLOT_STATEMENT]: ballotEncoder,\n [CODEC.PROPOSAL]: proposalEncoder,\n [CODEC.PROPOSAL_ARR]: proposalsEncoder,\n [CODEC.INT32]: int32Encoder,\n [CODEC.PARAMETERS]: parametersEncoder,\n [CODEC.ADDRESS]: addressEncoder,\n [CODEC.SMART_CONTRACT_ADDRESS]: smartContractAddressEncoder,\n [CODEC.VALUE]: valueParameterEncoder,\n [CODEC.INT16]: int16Encoder,\n [CODEC.BLOCK_PAYLOAD_HASH]: blockPayloadHashEncoder,\n [CODEC.ENTRYPOINT]: entrypointNameEncoder,\n [CODEC.TX_ROLLUP_ORIGINATION_PARAM]: txRollupOriginationParamEncoder,\n [CODEC.TX_ROLLUP_ID]: txRollupIdEncoder,\n [CODEC.TX_ROLLUP_BATCH_CONTENT]: txRollupBatchContentEncoder,\n [CODEC.BURN_LIMIT]: burnLimitEncoder,\n};\n\nencoders[CODEC.OPERATION] = operationEncoder(encoders);\nencoders[CODEC.OP_ACTIVATE_ACCOUNT] = (val: any) => schemaEncoder(encoders)(ActivationSchema)(val);\nencoders[CODEC.OP_DELEGATION] = (val: any) => schemaEncoder(encoders)(DelegationSchema)(val);\nencoders[CODEC.OP_TRANSACTION] = (val: any) => schemaEncoder(encoders)(TransactionSchema)(val);\nencoders[CODEC.OP_ORIGINATION] = (val: any) => schemaEncoder(encoders)(OriginationSchema)(val);\nencoders[CODEC.OP_BALLOT] = (val: any) => schemaEncoder(encoders)(BallotSchema)(val);\nencoders[CODEC.OP_ENDORSEMENT] = (val: any) => schemaEncoder(encoders)(EndorsementSchema)(val);\nencoders[CODEC.OP_SEED_NONCE_REVELATION] = (val: any) =>\n schemaEncoder(encoders)(SeedNonceRevelationSchema)(val);\nencoders[CODEC.OP_PROPOSALS] = (val: any) => schemaEncoder(encoders)(ProposalsSchema)(val);\nencoders[CODEC.OP_REVEAL] = (val: any) => schemaEncoder(encoders)(RevealSchema)(val);\nencoders[CODEC.OP_REGISTER_GLOBAL_CONSTANT] = (val: any) =>\n schemaEncoder(encoders)(RegisterGlobalConstantSchema)(val);\nencoders[CODEC.OP_TRANSFER_TICKET] = (val: any) =>\n schemaEncoder(encoders)(TransferTicketSchema)(val);\nencoders[CODEC.OP_TX_ROLLUP_ORIGINATION] = (val: any) =>\n schemaEncoder(encoders)(TxRollupOriginationSchema)(val);\nencoders[CODEC.OP_TX_ROLLUP_SUBMIT_BATCH] = (val: any) =>\n schemaEncoder(encoders)(TxRollupSubmitBatchSchema)(val);\nencoders[CODEC.OP_INCREASE_PAID_STORAGE] = (val: any) =>\n schemaEncoder(encoders)(IncreasePaidStorageSchema)(val);\nencoders[CODEC.MANAGER] = schemaEncoder(encoders)(ManagerOperationSchema);\n","import { OpKind } from '@taquito/rpc';\nimport { OperationContents } from '@taquito/rpc';\nimport {\n ActivationSchema,\n DelegationSchema,\n TransactionSchema,\n OriginationSchema,\n BallotSchema,\n SeedNonceRevelationSchema,\n ProposalsSchema,\n RevealSchema,\n RegisterGlobalConstantSchema,\n EndorsementSchema,\n TransferTicketSchema,\n TxRollupOriginationSchema,\n TxRollupSubmitBatchSchema,\n IncreasePaidStorageSchema,\n} from './schema/operation';\n\ntype OperationKind =\n | OpKind.ACTIVATION\n | OpKind.REVEAL\n | OpKind.DELEGATION\n | OpKind.TRANSACTION\n | OpKind.ORIGINATION\n | OpKind.BALLOT\n | OpKind.ENDORSEMENT\n | OpKind.SEED_NONCE_REVELATION\n | OpKind.PROPOSALS\n | OpKind.REGISTER_GLOBAL_CONSTANT\n | OpKind.TRANSFER_TICKET\n | OpKind.TX_ROLLUP_ORIGINATION\n | OpKind.TX_ROLLUP_SUBMIT_BATCH\n | OpKind.INCREASE_PAID_STORAGE;\n\nconst OperationKindMapping = {\n activate_account: ActivationSchema,\n reveal: RevealSchema,\n delegation: DelegationSchema,\n transaction: TransactionSchema,\n origination: OriginationSchema,\n ballot: BallotSchema,\n endorsement: EndorsementSchema,\n seed_nonce_revelation: SeedNonceRevelationSchema,\n proposals: ProposalsSchema,\n register_global_constant: RegisterGlobalConstantSchema,\n transfer_ticket: TransferTicketSchema,\n tx_rollup_origination: TxRollupOriginationSchema,\n tx_rollup_submit_batch: TxRollupSubmitBatchSchema,\n increase_paid_storage: IncreasePaidStorageSchema,\n};\n\n// Asymmetric difference: only account for things in arr2 that are not present in arr1, not vice versa\nconst getArrayDifference = (arr1: string[], arr2: string[]) => {\n return arr2.filter((x) => !arr1.includes(x));\n};\n\nconst deleteArrayElementByValue = (array: string[], item: string) => {\n return array.filter((e) => e !== item);\n};\n\n/**\n * @returns A boolean value to indicate whether the operation kind is valid or not\n */\nexport const validateOperationKind = (opKind: OpKind) => {\n const opKindList = Object.keys(OperationKindMapping);\n return opKindList.includes(opKind);\n};\n\n/**\n * returns 0 when the two array of properties are identical or the passed property\n * does not have any missing parameters from the corresponding schema\n *\n * @returns array element differences if there are missing required property keys\n */\nexport const validateMissingProperty = (operationContent: OperationContents) => {\n const kind = operationContent.kind as OperationKind;\n\n const keys = Object.keys(operationContent);\n const cleanKeys = deleteArrayElementByValue(keys, 'kind');\n\n const schemaKeys = Object.keys(OperationKindMapping[kind]);\n\n return getArrayDifference(cleanKeys, schemaKeys);\n};\n","export enum ProtocolsHash {\n Pt24m4xi = 'Pt24m4xiPbLDhVgVfABUjirbmda3yohdN82Sp9FeuAXJ4eV9otd',\n PsBABY5H = 'PsBABY5HQTSkA4297zNHfsZNKtxULfL18y95qb3m53QJiXGmrbU',\n PsBabyM1 = 'PsBabyM1eUXZseaJdmXFApDSBqj8YBfwELoxZHHW77EMcAbbwAS',\n PsCARTHA = 'PsCARTHAGazKbHtnKfLzQg3kms52kSRpgnDY982a9oYsSXRLQEb',\n PsDELPH1 = 'PsDELPH1Kxsxt8f9eWbxQeRxkjfbxoqM52jvs5Y5fBxWWh4ifpo',\n PtEdo2Zk = 'PtEdo2ZkT9oKpimTah6x2embF25oss54njMuPzkJTEi5RqfdZFA',\n PsFLorena = 'PsFLorenaUUuikDWvMDr6fGBRG8kt3e3D3fHoXK1j1BFRxeSH4i',\n PtGRANADs = 'PtGRANADsDU8R9daYKAgWnQYAJ64omN1o3KMGVCykShA97vQbvV',\n PtHangz2 = 'PtHangz2aRngywmSRGGvrcTyMbbdpWdpFKuS4uMWxg2RaH9i1qx',\n Psithaca2 = 'Psithaca2MLRFYargivpo7YvUr7wUDqyxrdhC5CQq78mRvimz6A',\n PtJakart2 = 'PtJakart2xVj7pYXJBXrqHgd82rdkLey5ZeeGwDgPp9rhQUbSqY',\n PtKathman = 'PtKathmankSpLLDALzWw7CGD2j2MtyveTwboEYokqUCP4a1LxMg',\n ProtoALpha = 'ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK',\n}\n\nconst protoLevel: Record<ProtocolsHash, number> = {\n Pt24m4xiPbLDhVgVfABUjirbmda3yohdN82Sp9FeuAXJ4eV9otd: 4,\n PsBABY5HQTSkA4297zNHfsZNKtxULfL18y95qb3m53QJiXGmrbU: 5,\n PsBabyM1eUXZseaJdmXFApDSBqj8YBfwELoxZHHW77EMcAbbwAS: 5,\n PsCARTHAGazKbHtnKfLzQg3kms52kSRpgnDY982a9oYsSXRLQEb: 6,\n PsDELPH1Kxsxt8f9eWbxQeRxkjfbxoqM52jvs5Y5fBxWWh4ifpo: 7,\n PtEdo2ZkT9oKpimTah6x2embF25oss54njMuPzkJTEi5RqfdZFA: 8,\n PsFLorenaUUuikDWvMDr6fGBRG8kt3e3D3fHoXK1j1BFRxeSH4i: 9,\n PtGRANADsDU8R9daYKAgWnQYAJ64omN1o3KMGVCykShA97vQbvV: 10,\n PtHangz2aRngywmSRGGvrcTyMbbdpWdpFKuS4uMWxg2RaH9i1qx: 11,\n Psithaca2MLRFYargivpo7YvUr7wUDqyxrdhC5CQq78mRvimz6A: 12,\n PtJakart2xVj7pYXJBXrqHgd82rdkLey5ZeeGwDgPp9rhQUbSqY: 13,\n PtKathmankSpLLDALzWw7CGD2j2MtyveTwboEYokqUCP4a1LxMg: 14,\n ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK: 15,\n};\n\nexport function ProtoInferiorTo(a: ProtocolsHash, b: ProtocolsHash): boolean {\n return protoLevel[a] < protoLevel[b];\n}\n","\n// IMPORTANT: THIS FILE IS AUTO GENERATED! DO NOT MANUALLY EDIT OR CHECKIN!\nexport const VERSION = {\n \"commitHash\": \"22fd810dcadf5272cb7a57d65165caa0eddbc57e\",\n \"version\": \"14.2.0\"\n};\n","/**\n * @packageDocumentation\n * @module @taquito/local-forging\n */\n\nimport { ForgeParams, Forger } from './interface';\nimport { CODEC } from './constants';\nimport { decoders } from './decoder';\nimport { encoders } from './encoder';\nimport { Uint8ArrayConsumer } from './uint8array-consumer';\nimport { validateBlock, ValidationResult, InvalidOperationKindError } from '@taquito/utils';\nimport { InvalidBlockHashError, InvalidOperationSchemaError } from './error';\nimport { validateMissingProperty, validateOperationKind } from './validator';\nimport { ProtocolsHash } from './protocols';\n\nexport { CODEC, opMapping, opMappingReverse } from './constants';\nexport * from './decoder';\nexport * from './encoder';\nexport * from './uint8array-consumer';\nexport * from './interface';\nexport { VERSION } from './version';\nexport { ProtocolsHash } from './protocols';\n\nconst PROTOCOL_CURRENT = ProtocolsHash.Psithaca2;\n\nexport function getCodec(codec: CODEC, _proto: ProtocolsHash) {\n return {\n encoder: encoders[codec],\n decoder: (hex: string) => {\n const consumer = Uint8ArrayConsumer.fromHexString(hex);\n return decoders[codec](consumer) as any;\n },\n };\n}\n\nexport class LocalForger implements Forger {\n constructor(public readonly protocolHash = PROTOCOL_CURRENT) {}\n\n private codec = getCodec(CODEC.MANAGER, this.protocolHash);\n\n forge(params: ForgeParams): Promise<string> {\n if (validateBlock(params.branch) !== ValidationResult.VALID) {\n throw new InvalidBlockHashError(`The block hash ${params.branch} is invalid`);\n }\n\n for (const content of params.contents) {\n if (!validateOperationKind(content.kind)) {\n throw new InvalidOperationKindError(content.kind);\n }\n\n const diff = validateMissingProperty(content);\n if (diff.length === 1) {\n if (content.kind === 'delegation' && diff[0] === 'delegate') {\n continue;\n } else if (content.kind === 'origination' && diff[0] === 'delegate') {\n continue;\n } else if (content.kind === 'transaction' && diff[0] === 'parameters') {\n continue;\n } else if (\n content.kind === ('tx_rollup_submit_batch' as unknown) &&\n diff[0] === 'burn_limit'\n ) {\n continue;\n } else {\n throw new InvalidOperationSchemaError(\n `Missing properties: ${diff.join(', ').toString()}`\n );\n }\n } else if (diff.length > 1) {\n throw new InvalidOperationSchemaError(`Missing properties: ${diff.join(', ').toString()}`);\n }\n }\n const forged = this.codec.encoder(params).toLowerCase();\n return Promise.resolve(forged);\n }\n\n parse(hex: string): Promise<ForgeParams> {\n return Promise.resolve(this.codec.decoder(hex) as ForgeParams);\n }\n}\n\nexport const localForger = new LocalForger();\n"],"names":["CODEC","BigNumber","buf2hex","b58cdecode","prefixMap","prefixLength","b58cencode","Prefix","InvalidKeyHashError","InvalidPublicKeyError","InvalidAddressError","InvalidContractAddressError","InvalidOperationKindError","ProtocolsHash","validateBlock","ValidationResult"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@taquito/local-forging",
|
|
3
|
-
"version": "14.
|
|
3
|
+
"version": "14.2.0",
|
|
4
4
|
"description": "Provide local forging functionality to be with taquito",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"tezos",
|
|
@@ -68,11 +68,11 @@
|
|
|
68
68
|
]
|
|
69
69
|
},
|
|
70
70
|
"dependencies": {
|
|
71
|
-
"@taquito/utils": "
|
|
71
|
+
"@taquito/utils": "*",
|
|
72
72
|
"bignumber.js": "^9.1.0"
|
|
73
73
|
},
|
|
74
74
|
"devDependencies": {
|
|
75
|
-
"@taquito/rpc": "
|
|
75
|
+
"@taquito/rpc": "*",
|
|
76
76
|
"@types/bluebird": "^3.5.36",
|
|
77
77
|
"@types/estree": "^1.0.0",
|
|
78
78
|
"@types/jest": "^26.0.23",
|
|
@@ -105,5 +105,5 @@
|
|
|
105
105
|
"webpack": "^5.74.0",
|
|
106
106
|
"webpack-cli": "^4.10.0"
|
|
107
107
|
},
|
|
108
|
-
"gitHead": "
|
|
108
|
+
"gitHead": "01924663dda2aa0d4d49a5e43c27146b498ad40b"
|
|
109
109
|
}
|