@rango-dev/provider-trezor 0.2.2-next.4 → 0.3.1-next.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/CHANGELOG.md +9 -0
- package/dist/helpers.d.ts +0 -1
- package/dist/index.d.ts +2 -3
- package/dist/index.js +35 -1
- package/dist/index.js.map +4 -4
- package/dist/provider-trezor.build.json +1 -1
- package/dist/signer.d.ts +0 -1
- package/dist/signers/ethereum.d.ts +1 -2
- package/dist/state.d.ts +0 -1
- package/dist/types.d.ts +0 -1
- package/package.json +8 -5
- package/src/helpers.ts +1 -1
- package/src/index.ts +4 -4
- package/src/signer.ts +1 -1
- package/src/signers/ethereum.ts +7 -3
- package/dist/helpers.d.ts.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/signer.d.ts.map +0 -1
- package/dist/signers/ethereum.d.ts.map +0 -1
- package/dist/state.d.ts.map +0 -1
- package/dist/types.d.ts.map +0 -1
package/dist/index.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../src/index.ts", "../src/helpers.ts", "../src/state.ts", "../src/signer.ts", "../src/signers/ethereum.ts"],
|
|
4
|
-
"sourcesContent": ["import type { Environments } from './types';\nimport type {\n Connect,\n ProviderConnectResult,\n WalletInfo,\n} from '@rango-dev/wallets-shared';\n\nimport { Namespace, Networks, WalletTypes } from '@rango-dev/wallets-shared';\nimport { type BlockchainMeta, type SignerFactory } from 'rango-types';\n\nimport {\n getEthereumAccounts,\n getTrezorInstance,\n getTrezorModule,\n getTrezorNormalizedDerivationPath,\n} from './helpers';\nimport signer from './signer';\nimport { setDerivationPath } from './state';\n\nlet trezorManifest: Environments['manifest'] = {\n appUrl: '',\n email: '',\n};\nexport const config = {\n type: WalletTypes.TREZOR,\n};\n\nexport type { Environments };\n\nexport const init = (environments: Environments) => {\n trezorManifest = environments.manifest;\n};\n\nexport const getInstance = getTrezorInstance;\n\nlet isTrezorInitialized = false;\nexport const connect: Connect = async ({ namespaces }) => {\n const results: ProviderConnectResult[] = [];\n\n const TrezorConnect = await getTrezorModule();\n\n const evmNamespace = namespaces?.find(\n (namespaceItem) => namespaceItem.namespace === Namespace.Evm\n );\n\n if (evmNamespace) {\n if (evmNamespace.derivationPath) {\n setDerivationPath(\n getTrezorNormalizedDerivationPath(evmNamespace.derivationPath)\n );\n\n if (!isTrezorInitialized) {\n await TrezorConnect.init({\n lazyLoad: true, // this param will prevent iframe injection until TrezorConnect.method will be called\n manifest: trezorManifest,\n });\n\n isTrezorInitialized = true;\n }\n\n const accounts = await getEthereumAccounts();\n results.push(accounts);\n } else {\n throw new Error('Derivation Path can not be empty.');\n }\n } else {\n throw new Error(\n `It appears that you have selected a namespace that is not yet supported by our system. Your namespaces: ${namespaces?.map(\n (namespaceItem) => namespaceItem.namespace\n )}`\n );\n }\n\n return results;\n};\n\nexport const getSigners: (provider: any) => SignerFactory = signer;\n\nexport const getWalletInfo: (allBlockChains: BlockchainMeta[]) => WalletInfo = (\n allBlockChains\n) => {\n const supportedChains: BlockchainMeta[] = [];\n\n const ethereumBlockchain = allBlockChains.find(\n (chain) => chain.name === Networks.ETHEREUM\n );\n if (ethereumBlockchain) {\n supportedChains.push(ethereumBlockchain);\n }\n return {\n name: 'Trezor',\n img: 'https://raw.githubusercontent.com/rango-exchange/assets/main/wallets/trezor/icon.svg',\n installLink: {\n DEFAULT: 'https://trezor.io/learn/a/download-verify-trezor-suite',\n },\n color: 'black',\n supportedChains,\n namespaces: [Namespace.Evm],\n singleNamespace: true,\n showOnMobile: false,\n needsDerivationPath: true,\n };\n};\n", "import type { TrezorConnect } from '@trezor/connect-web';\n\nimport { cleanEvmError } from '@rango-dev/signer-evm';\nimport { ETHEREUM_CHAIN_ID, Networks } from '@rango-dev/wallets-shared';\n\nimport { getDerivationPath } from './state';\n\n// `@trezor/connect-web` is commonjs, when we are importing it dynamically, it has some differences in different tooling. for example vite (you can check widget-examples), goes throw error. this is a workaround for solving this interop issue.\nexport async function getTrezorModule() {\n const mod = await import('@trezor/connect-web');\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n if (mod.default.default) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n return mod.default.default as unknown as TrezorConnect;\n }\n\n return mod.default;\n}\n\nexport function getTrezorErrorMessage(error: any) {\n if (error?.shortMessage) {\n /*\n * Some error signs have lengthy, challenging-to-read messages.\n * shortMessage is used because it is shorter and easier to understand.\n */\n return new Error(error.shortMessage, { cause: error });\n }\n return cleanEvmError(error);\n}\n\nexport function getTrezorInstance() {\n /*\n * Instances have a required property which is `chainId` and is using in swap execution.\n * Here we are setting it as Ethereum always since we are supporting only eth for now.\n */\n const instances = new Map();\n\n instances.set(Networks.ETHEREUM, { chainId: ETHEREUM_CHAIN_ID });\n\n return instances;\n}\n\nexport async function getEthereumAccounts(): Promise<{\n accounts: string[];\n chainId: string;\n}> {\n const TrezorConnect = await getTrezorModule();\n const result = await TrezorConnect.ethereumGetAddress({\n path: getDerivationPath(),\n });\n\n if (!result.success) {\n throw new Error(result.payload.error);\n }\n\n return {\n accounts: [result.payload.address],\n chainId: ETHEREUM_CHAIN_ID,\n };\n}\n\n/*\n * Using BigInt in the valueToHex function ensures that the function\n * can handle very large integer values that exceed the range of standard JavaScript number types.\n */\nexport const valueToHex = (value: string) => {\n const ZERO_BIGINT = BigInt(0);\n const HEX_BASE = 16;\n return BigInt(value) > ZERO_BIGINT\n ? `0x${BigInt(value).toString(HEX_BASE)}`\n : '0x0';\n};\n\nexport const getTrezorNormalizedDerivationPath = (\n path: string // TrezorConnect needs master node to be added to derivation path\n) => (path && !path.startsWith('m/') ? 'm/' + path : path);\n", "// We keep derivationPath here because we need to maintain it for signing transactions after it is set in connect method\nlet derivationPath = '';\n\nexport function setDerivationPath(path: string) {\n derivationPath = path;\n}\n\nexport function getDerivationPath() {\n return derivationPath;\n}\n", "import type { SignerFactory } from 'rango-types';\n\nimport { DefaultSignerFactory, TransactionType as TxType } from 'rango-types';\n\nimport { EthereumSigner } from './signers/ethereum';\n\nexport default function getSigners(): SignerFactory {\n const signers = new DefaultSignerFactory();\n signers.registerSigner(TxType.EVM, new EthereumSigner());\n return signers;\n}\n", "import type { EvmTransaction } from 'rango-types/lib/api/main';\n\nimport { DEFAULT_ETHEREUM_RPC_URL } from '@rango-dev/wallets-shared';\nimport { JsonRpcProvider, Transaction } from 'ethers';\nimport { type GenericSigner } from 'rango-types';\n\nimport { getTrezorErrorMessage, getTrezorModule, valueToHex } from '../helpers';\nimport { getDerivationPath } from '../state';\n\nexport class EthereumSigner implements GenericSigner<EvmTransaction> {\n async signMessage(msg: string): Promise<string> {\n const TrezorConnect = await getTrezorModule();\n\n const { success, payload } = await TrezorConnect.signMessage({\n message: msg,\n path: getDerivationPath(),\n });\n if (!success) {\n throw new Error(payload.error);\n }\n return payload.signature;\n }\n\n async signAndSendTx(\n tx: EvmTransaction,\n fromAddress: string,\n chainId: string\n ): Promise<{ hash: string }> {\n try {\n const TrezorConnect = await getTrezorModule();\n const { gasPrice, maxFeePerGas, maxPriorityFeePerGas } = tx;\n const isEIP1559 = maxFeePerGas && maxPriorityFeePerGas;\n\n if (isEIP1559 && !maxFeePerGas) {\n throw new Error('Missing maxFeePerGas');\n }\n if (isEIP1559 && !maxPriorityFeePerGas) {\n throw new Error('Missing maxPriorityFeePerGas');\n }\n if (!isEIP1559 && !gasPrice) {\n throw new Error('Missing gasPrice');\n }\n const provider = new JsonRpcProvider(DEFAULT_ETHEREUM_RPC_URL); // Provider to broadcast transaction\n const transactionCount = await provider.getTransactionCount(fromAddress); // Get nonce\n const additionalFields = isEIP1559\n ? {\n maxFeePerGas: valueToHex(maxFeePerGas || '0'),\n maxPriorityFeePerGas: valueToHex(maxPriorityFeePerGas || '0'),\n }\n : {\n gasPrice: valueToHex(gasPrice || '0'),\n };\n\n const transaction = {\n to: tx.to,\n data: tx.data || '0x',\n value: valueToHex(tx.value?.toString() || '0'),\n gasLimit: valueToHex(tx.gasLimit?.toString() || '0'),\n chainId: Number.parseInt(chainId),\n nonce: valueToHex(transactionCount.toString()),\n ...additionalFields,\n };\n\n const { success, payload } = await TrezorConnect.ethereumSignTransaction({\n path: getDerivationPath(),\n transaction,\n });\n if (!success) {\n throw new Error(payload.error);\n }\n const { r, s, v } = payload;\n\n const serializedTx = Transaction.from({\n ...transaction,\n nonce: Number.parseInt(transaction.nonce),\n /*\n * Type 0: This refers to the legacy transaction type that has been used since Ethereum's inception.\n * Type 2: This refers to the new transaction type introduced with the EIP-1559 (Ethereum Improvement Proposal 1559) update,\n * which was part of the London hard fork.\n */\n type: isEIP1559 ? 2 : 0,\n signature: { r, s, v: parseInt(v) },\n }).serialized;\n const broadcastResult = await provider.broadcastTransaction(serializedTx);\n\n return { hash: broadcastResult.hash };\n } catch (error) {\n throw getTrezorErrorMessage(error);\n }\n }\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["Namespace", "Networks", "WalletTypes", "cleanEvmError", "ETHEREUM_CHAIN_ID", "Networks", "derivationPath", "setDerivationPath", "path", "__name", "getDerivationPath", "getTrezorModule", "mod", "__name", "getTrezorErrorMessage", "error", "cleanEvmError", "getTrezorInstance", "instances", "Networks", "ETHEREUM_CHAIN_ID", "getEthereumAccounts", "result", "getDerivationPath", "valueToHex", "value", "ZERO_BIGINT", "getTrezorNormalizedDerivationPath", "path", "DefaultSignerFactory", "TxType", "DEFAULT_ETHEREUM_RPC_URL", "JsonRpcProvider", "Transaction", "EthereumSigner", "__name", "msg", "TrezorConnect", "getTrezorModule", "success", "payload", "getDerivationPath", "tx", "fromAddress", "chainId", "gasPrice", "maxFeePerGas", "maxPriorityFeePerGas", "isEIP1559", "provider", "JsonRpcProvider", "DEFAULT_ETHEREUM_RPC_URL", "transactionCount", "additionalFields", "valueToHex", "transaction", "r", "s", "v", "serializedTx", "Transaction", "error", "getTrezorErrorMessage", "getSigners", "signers", "DefaultSignerFactory", "TxType", "EthereumSigner", "__name", "trezorManifest", "config", "WalletTypes", "init", "__name", "environments", "getInstance", "getTrezorInstance", "isTrezorInitialized", "connect", "namespaces", "results", "TrezorConnect", "getTrezorModule", "evmNamespace", "namespaceItem", "Namespace", "setDerivationPath", "getTrezorNormalizedDerivationPath", "accounts", "getEthereumAccounts", "getSigners", "getWalletInfo", "allBlockChains", "supportedChains", "ethereumBlockchain", "chain", "Networks"]
|
|
3
|
+
"sources": ["../../../node_modules/tslib/tslib.es6.mjs", "../../../node_modules/@trezor/connect/lib/constants/errors.js", "../../../node_modules/@trezor/connect/lib/events/ui-request.js", "../../../node_modules/@trezor/connect/lib/events/ui-response.js", "../../../node_modules/@trezor/connect/lib/events/blockchain.js", "../../../node_modules/@trezor/connect/lib/events/call.js", "../../../node_modules/@trezor/connect/lib/events/core.js", "../../../node_modules/@trezor/connect/lib/events/device.js", "../../../node_modules/@trezor/connect/lib/events/iframe.js", "../../../node_modules/@trezor/connect/lib/events/popup.js", "../../../node_modules/@trezor/transport/lib/constants.js", "../../../node_modules/@trezor/connect/lib/events/transport.js", "../../../node_modules/@trezor/connect/lib/events/ui-promise.js", "../../../node_modules/@trezor/connect/lib/events/webextension.js", "../../../node_modules/@trezor/connect/lib/events/index.js", "../../../node_modules/@trezor/connect/lib/factory.js", "../../../node_modules/@trezor/utils/lib/bufferUtils.js", "../../../node_modules/@trezor/utils/lib/enumUtils.js", "../../../node_modules/@trezor/utils/lib/versionUtils.js", "../../../node_modules/@trezor/utils/lib/xssFilters.js", "../../../node_modules/@trezor/utils/lib/addDashesToSpaces.js", "../../../node_modules/@trezor/utils/lib/arrayDistinct.js", "../../../node_modules/@trezor/utils/lib/arrayPartition.js", "../../../node_modules/@trezor/utils/lib/arrayShuffle.js", "../../../node_modules/@trezor/utils/lib/arrayToDictionary.js", "../../../node_modules/@trezor/utils/lib/bytesToHumanReadable.js", "../../../node_modules/@trezor/utils/lib/capitalizeFirstLetter.js", "../../../node_modules/@trezor/utils/lib/cloneObject.js", "../../../node_modules/@trezor/utils/lib/countBytesInString.js", "../../../node_modules/@trezor/utils/lib/createCooldown.js", "../../../node_modules/@trezor/utils/lib/createDeferred.js", "../../../node_modules/@trezor/utils/lib/createDeferredManager.js", "../../../node_modules/@trezor/utils/lib/createTimeoutPromise.js", "../../../node_modules/@trezor/utils/lib/getLocaleSeparators.js", "../../../node_modules/@trezor/utils/lib/getNumberFromPixelString.js", "../../../node_modules/@trezor/utils/lib/getRandomNumberInRange.js", "../../../node_modules/@trezor/utils/lib/getSynchronize.js", "../../../node_modules/@trezor/utils/lib/getWeakRandomId.js", "../../../node_modules/@trezor/utils/lib/hasUppercaseLetter.js", "../../../node_modules/@trezor/utils/lib/isAscii.js", "../../../node_modules/@trezor/utils/lib/isHex.js", "../../../node_modules/@trezor/utils/lib/isNotUndefined.js", "../../../node_modules/@trezor/utils/lib/isUrl.js", "../../../node_modules/@trezor/utils/lib/mergeDeepObject.js", "../../../node_modules/@trezor/utils/lib/objectPartition.js", "../../../node_modules/@trezor/utils/lib/parseElectrumUrl.js", "../../../node_modules/@trezor/utils/lib/parseHostname.js", "../../../node_modules/@trezor/utils/lib/promiseAllSequence.js", "../../../node_modules/@trezor/utils/lib/redactUserPath.js", "../../../node_modules/@trezor/utils/lib/scheduleAction.js", "../../../node_modules/@trezor/utils/lib/splitStringEveryNCharacters.js", "../../../node_modules/@trezor/utils/lib/throwError.js", "../../../node_modules/@trezor/utils/lib/topologicalSort.js", "../../../node_modules/@trezor/utils/lib/truncateMiddle.js", "../../../node_modules/@trezor/utils/lib/typedEventEmitter.js", "../../../node_modules/@trezor/utils/lib/urlToOnion.js", "../../../node_modules/@trezor/utils/lib/logs.js", "../../../node_modules/@trezor/utils/lib/logsManager.js", "../../../node_modules/bignumber.js/bignumber.js", "../../../node_modules/@trezor/utils/lib/bigNumber.js", "../../../node_modules/@trezor/utils/lib/index.js", "../../../node_modules/@trezor/connect/lib/utils/debug.js", "../../../node_modules/@trezor/connect/lib/data/config.js", "../../../node_modules/@trezor/connect/lib/utils/urlUtils.js", "../../../node_modules/@trezor/connect-web/lib/iframe/inlineStyles.js", "../../../node_modules/@trezor/connect-web/lib/iframe/index.js", "../../../node_modules/@trezor/connect-web/lib/popup/showPopupRequest.js", "../../../node_modules/@trezor/connect-common/lib/storage.js", "../../../node_modules/@trezor/connect-common/lib/messageChannel/abstract.js", "../../../node_modules/@trezor/env-utils/node_modules/ua-parser-js/src/ua-parser.js", "../../../node_modules/@trezor/env-utils/lib/jws.js", "../../../node_modules/@trezor/env-utils/lib/envUtils.js", "../../../node_modules/@trezor/env-utils/lib/index.js", "../../../node_modules/@trezor/connect-common/lib/systemInfo.js", "../../../node_modules/@trezor/connect-common/lib/index.js", "../../../node_modules/@trezor/connect-web/lib/channels/serviceworker-window.js", "../../../node_modules/@trezor/connect-web/lib/channels/window-window.js", "../../../node_modules/@trezor/connect-web/lib/popup/index.js", "../../../node_modules/@trezor/connect-web/lib/webusb/button.js", "../../../node_modules/@trezor/connect/lib/data/version.js", "../../../node_modules/@trezor/connect/lib/data/connectSettings.js", "../../../node_modules/@trezor/connect-web/lib/connectSettings.js", "../../../node_modules/@trezor/connect/lib/constants/network.js", "../../../node_modules/@trezor/connect/lib/constants/cardano.js", "../../../node_modules/@trezor/schema-utils/node_modules/@sinclair/typebox/typebox.js", "../../../node_modules/@trezor/schema-utils/node_modules/@sinclair/typebox/value/guard.js", "../../../node_modules/@trezor/schema-utils/node_modules/@sinclair/typebox/system/system.js", "../../../node_modules/@trezor/schema-utils/node_modules/@sinclair/typebox/value/deref.js", "../../../node_modules/@trezor/schema-utils/node_modules/@sinclair/typebox/value/hash.js", "../../../node_modules/@trezor/schema-utils/node_modules/@sinclair/typebox/errors/errors.js", "../../../node_modules/@trezor/schema-utils/node_modules/@sinclair/typebox/errors/index.js", "../../../node_modules/ts-mixer/dist/cjs/util.js", "../../../node_modules/ts-mixer/dist/cjs/proxy.js", "../../../node_modules/ts-mixer/dist/cjs/settings.js", "../../../node_modules/ts-mixer/dist/cjs/mixin-tracking.js", "../../../node_modules/ts-mixer/dist/cjs/decorator.js", "../../../node_modules/ts-mixer/dist/cjs/mixins.js", "../../../node_modules/ts-mixer/dist/cjs/index.js", "../../../node_modules/@trezor/schema-utils/src/custom-types/array-buffer.ts", "../../../node_modules/@trezor/schema-utils/src/custom-types/buffer.ts", "../../../node_modules/@trezor/schema-utils/src/custom-types/keyof-enum.ts", "../../../node_modules/@trezor/schema-utils/src/custom-types/uint.ts", "../../../node_modules/@trezor/schema-utils/src/custom-types/index.ts", "../../../node_modules/@trezor/schema-utils/src/errors.ts", "../../../node_modules/@trezor/schema-utils/src/utils.ts", "../../../node_modules/@trezor/schema-utils/src/index.ts", "../../../node_modules/@trezor/connect/lib/constants/nem.js", "../../../node_modules/@protobufjs/aspromise/index.js", "../../../node_modules/@protobufjs/base64/index.js", "../../../node_modules/@protobufjs/eventemitter/index.js", "../../../node_modules/@protobufjs/float/index.js", "../../../node_modules/@protobufjs/inquire/index.js", "../../../node_modules/@protobufjs/utf8/index.js", "../../../node_modules/@protobufjs/pool/index.js", "../../../node_modules/@trezor/protobuf/node_modules/protobufjs/src/util/longbits.js", "../../../node_modules/@trezor/protobuf/node_modules/protobufjs/src/util/minimal.js", "../../../node_modules/@trezor/protobuf/node_modules/protobufjs/src/writer.js", "../../../node_modules/@trezor/protobuf/node_modules/protobufjs/src/writer_buffer.js", "../../../node_modules/@trezor/protobuf/node_modules/protobufjs/src/reader.js", "../../../node_modules/@trezor/protobuf/node_modules/protobufjs/src/reader_buffer.js", "../../../node_modules/@trezor/protobuf/node_modules/protobufjs/src/rpc/service.js", "../../../node_modules/@trezor/protobuf/node_modules/protobufjs/src/rpc.js", "../../../node_modules/@trezor/protobuf/node_modules/protobufjs/src/roots.js", "../../../node_modules/@trezor/protobuf/node_modules/protobufjs/src/index-minimal.js", "../../../node_modules/@protobufjs/codegen/index.js", "../../../node_modules/@protobufjs/fetch/index.js", "../../../node_modules/@protobufjs/path/index.js", "../../../node_modules/@trezor/protobuf/node_modules/protobufjs/src/types.js", "../../../node_modules/@trezor/protobuf/node_modules/protobufjs/src/field.js", "../../../node_modules/@trezor/protobuf/node_modules/protobufjs/src/oneof.js", "../../../node_modules/@trezor/protobuf/node_modules/protobufjs/src/namespace.js", "../../../node_modules/@trezor/protobuf/node_modules/protobufjs/src/mapfield.js", "../../../node_modules/@trezor/protobuf/node_modules/protobufjs/src/method.js", "../../../node_modules/@trezor/protobuf/node_modules/protobufjs/src/service.js", "../../../node_modules/@trezor/protobuf/node_modules/protobufjs/src/message.js", "../../../node_modules/@trezor/protobuf/node_modules/protobufjs/src/decoder.js", "../../../node_modules/@trezor/protobuf/node_modules/protobufjs/src/verifier.js", "../../../node_modules/@trezor/protobuf/node_modules/protobufjs/src/converter.js", "../../../node_modules/@trezor/protobuf/node_modules/protobufjs/src/wrappers.js", "../../../node_modules/@trezor/protobuf/node_modules/protobufjs/src/type.js", "../../../node_modules/@trezor/protobuf/node_modules/protobufjs/src/root.js", "../../../node_modules/@trezor/protobuf/node_modules/protobufjs/src/util.js", "../../../node_modules/@trezor/protobuf/node_modules/protobufjs/src/object.js", "../../../node_modules/@trezor/protobuf/node_modules/protobufjs/src/enum.js", "../../../node_modules/@trezor/protobuf/node_modules/protobufjs/src/encoder.js", "../../../node_modules/@trezor/protobuf/node_modules/protobufjs/src/index-light.js", "../../../node_modules/@trezor/protobuf/node_modules/protobufjs/light.js", "../../../node_modules/@trezor/protobuf/lib/utils.js", "../../../node_modules/@trezor/protobuf/lib/decode.js", "../../../node_modules/@trezor/protobuf/lib/encode.js", "../../../node_modules/@trezor/protobuf/lib/messages.js", "../../../node_modules/@trezor/protobuf/lib/types.js", "../../../node_modules/@trezor/protobuf/lib/messages-schema.js", "../../../node_modules/@trezor/protobuf/lib/index.js", "../../../node_modules/@trezor/connect/lib/constants/index.js", "../../../node_modules/@trezor/connect/lib/types/api/index.js", "../../../node_modules/@trezor/connect/lib/types/account.js", "../../../node_modules/@trezor/connect/lib/types/fees.js", "../../../node_modules/@trezor/connect/lib/types/device.js", "../../../node_modules/@trezor/connect/lib/types/coinInfo.js", "../../../node_modules/@trezor/connect/lib/types/firmware.js", "../../../node_modules/@trezor/connect/lib/types/params.js", "../../../node_modules/@trezor/connect/lib/types/settings.js", "../../../node_modules/@trezor/connect/lib/types/api/cardano/index.js", "../../../node_modules/@trezor/connect/lib/types/api/binance/index.js", "../../../node_modules/@trezor/connect/lib/types/api/bitcoin/index.js", "../../../node_modules/@trezor/connect/lib/types/api/eos/index.js", "../../../node_modules/@trezor/connect/lib/types/api/ripple/index.js", "../../../node_modules/@trezor/connect/lib/types/api/ethereum/index.js", "../../../node_modules/@trezor/connect/lib/types/api/solana/index.js", "../../../node_modules/@trezor/connect/lib/types/api/stellar/index.js", "../../../node_modules/@trezor/connect/lib/types/api/tezos/index.js", "../../../node_modules/@trezor/connect/lib/types/index.js", "../../../node_modules/@trezor/connect/lib/exports.js", "../../../node_modules/@trezor/connect-web/lib/index.js", "../src/index.ts", "../src/helpers.ts", "../src/state.ts", "../src/signer.ts", "../src/signers/ethereum.ts"],
|
|
4
|
+
"sourcesContent": ["/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n function next() {\n while (env.stack.length) {\n var rec = env.stack.pop();\n try {\n var result = rec.dispose && rec.dispose.call(rec.value);\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n catch (e) {\n fail(e);\n }\n }\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n};\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LIBUSB_ERROR_MESSAGE = exports.serializeError = exports.TypedError = exports.TrezorError = exports.ERROR_CODES = void 0;\nexports.ERROR_CODES = {\n Init_NotInitialized: 'TrezorConnect not initialized',\n Init_AlreadyInitialized: 'TrezorConnect has been already initialized',\n Init_IframeBlocked: 'Iframe blocked',\n Init_IframeTimeout: 'Iframe timeout',\n Init_ManifestMissing: 'Manifest not set. Read more at https://github.com/trezor/trezor-suite/blob/develop/docs/packages/connect/index.md',\n Popup_ConnectionMissing: 'Unable to establish connection with iframe',\n Transport_Missing: 'Transport is missing',\n Transport_InvalidProtobuf: '',\n Method_InvalidPackage: 'This package is not suitable to work with browser. Use @trezor/connect-web package instead',\n Method_InvalidParameter: '',\n Method_NotAllowed: 'Method not allowed for this configuration',\n Method_PermissionsNotGranted: 'Permissions not granted',\n Method_Cancel: 'Cancelled',\n Method_Interrupted: 'Popup closed',\n Method_UnknownCoin: 'Coin not found',\n Method_AddressNotMatch: 'Addresses do not match',\n Method_FirmwareUpdate_DownloadFailed: 'Failed to download firmware binary',\n Method_Discovery_BundleException: '',\n Method_Override: 'override',\n Method_NoResponse: 'Call resolved without response',\n Backend_NotSupported: 'BlockchainLink settings not found in coins.json',\n Backend_WorkerMissing: '',\n Backend_Disconnected: 'Backend disconnected',\n Backend_Invalid: 'Invalid backend',\n Backend_Error: '',\n Runtime: '',\n Device_NotFound: 'Device not found',\n Device_InitializeFailed: '',\n Device_FwException: '',\n Device_ModeException: '',\n Device_Disconnected: 'Device disconnected',\n Device_UsedElsewhere: 'Device is used in another window',\n Device_InvalidState: 'Passphrase is incorrect',\n Device_CallInProgress: 'Device call in progress',\n Device_MultipleNotSupported: 'Multiple devices are not supported',\n};\nclass TrezorError extends Error {\n constructor(code, message) {\n super(message);\n this.code = code;\n this.message = message;\n }\n}\nexports.TrezorError = TrezorError;\nconst TypedError = (id, message) => new TrezorError(id, message || exports.ERROR_CODES[id]);\nexports.TypedError = TypedError;\nconst serializeError = (payload) => {\n if (payload && payload.error instanceof Error) {\n return { error: payload.error.message, code: payload.error.code };\n }\n return payload;\n};\nexports.serializeError = serializeError;\nexports.LIBUSB_ERROR_MESSAGE = 'LIBUSB_ERROR';\n//# sourceMappingURL=errors.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createUiMessage = exports.UI_REQUEST = exports.UI_EVENT = void 0;\nexports.UI_EVENT = 'UI_EVENT';\nexports.UI_REQUEST = {\n TRANSPORT: 'ui-no_transport',\n BOOTLOADER: 'ui-device_bootloader_mode',\n NOT_IN_BOOTLOADER: 'ui-device_not_in_bootloader_mode',\n REQUIRE_MODE: 'ui-device_require_mode',\n INITIALIZE: 'ui-device_not_initialized',\n SEEDLESS: 'ui-device_seedless',\n FIRMWARE_OLD: 'ui-device_firmware_old',\n FIRMWARE_OUTDATED: 'ui-device_firmware_outdated',\n FIRMWARE_NOT_SUPPORTED: 'ui-device_firmware_unsupported',\n FIRMWARE_NOT_COMPATIBLE: 'ui-device_firmware_not_compatible',\n FIRMWARE_NOT_INSTALLED: 'ui-device_firmware_not_installed',\n FIRMWARE_PROGRESS: 'ui-firmware-progress',\n FIRMWARE_RECONNECT: 'ui-firmware_reconnect',\n DEVICE_NEEDS_BACKUP: 'ui-device_needs_backup',\n REQUEST_UI_WINDOW: 'ui-request_window',\n CLOSE_UI_WINDOW: 'ui-close_window',\n REQUEST_PERMISSION: 'ui-request_permission',\n REQUEST_CONFIRMATION: 'ui-request_confirmation',\n REQUEST_PIN: 'ui-request_pin',\n INVALID_PIN: 'ui-invalid_pin',\n REQUEST_PASSPHRASE: 'ui-request_passphrase',\n REQUEST_PASSPHRASE_ON_DEVICE: 'ui-request_passphrase_on_device',\n INVALID_PASSPHRASE: 'ui-invalid_passphrase',\n CONNECT: 'ui-connect',\n LOADING: 'ui-loading',\n SET_OPERATION: 'ui-set_operation',\n SELECT_DEVICE: 'ui-select_device',\n SELECT_ACCOUNT: 'ui-select_account',\n SELECT_FEE: 'ui-select_fee',\n UPDATE_CUSTOM_FEE: 'ui-update_custom_fee',\n INSUFFICIENT_FUNDS: 'ui-insufficient_funds',\n REQUEST_BUTTON: 'ui-button',\n REQUEST_WORD: 'ui-request_word',\n LOGIN_CHALLENGE_REQUEST: 'ui-login_challenge_request',\n BUNDLE_PROGRESS: 'ui-bundle_progress',\n ADDRESS_VALIDATION: 'ui-address_validation',\n IFRAME_FAILURE: 'ui-iframe_failure',\n};\nconst createUiMessage = (type, payload) => ({\n event: exports.UI_EVENT,\n type,\n payload,\n});\nexports.createUiMessage = createUiMessage;\n//# sourceMappingURL=ui-request.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createUiResponse = exports.UI_RESPONSE = void 0;\nconst ui_request_1 = require(\"./ui-request\");\nexports.UI_RESPONSE = {\n RECEIVE_PERMISSION: 'ui-receive_permission',\n RECEIVE_CONFIRMATION: 'ui-receive_confirmation',\n RECEIVE_PIN: 'ui-receive_pin',\n RECEIVE_PASSPHRASE: 'ui-receive_passphrase',\n RECEIVE_DEVICE: 'ui-receive_device',\n RECEIVE_ACCOUNT: 'ui-receive_account',\n RECEIVE_FEE: 'ui-receive_fee',\n RECEIVE_WORD: 'ui-receive_word',\n INVALID_PASSPHRASE_ACTION: 'ui-invalid_passphrase_action',\n CHANGE_SETTINGS: 'ui-change_settings',\n LOGIN_CHALLENGE_RESPONSE: 'ui-login_challenge_response',\n};\nconst createUiResponse = (type, payload) => ({\n event: ui_request_1.UI_EVENT,\n type,\n payload,\n});\nexports.createUiResponse = createUiResponse;\n//# sourceMappingURL=ui-response.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createBlockchainMessage = exports.BLOCKCHAIN = exports.BLOCKCHAIN_EVENT = void 0;\nexports.BLOCKCHAIN_EVENT = 'BLOCKCHAIN_EVENT';\nexports.BLOCKCHAIN = {\n CONNECT: 'blockchain-connect',\n RECONNECTING: 'blockchain-reconnecting',\n ERROR: 'blockchain-error',\n BLOCK: 'blockchain-block',\n NOTIFICATION: 'blockchain-notification',\n FIAT_RATES_UPDATE: 'fiat-rates-update',\n};\nconst createBlockchainMessage = (type, payload) => ({\n event: exports.BLOCKCHAIN_EVENT,\n type,\n payload,\n});\nexports.createBlockchainMessage = createBlockchainMessage;\n//# sourceMappingURL=blockchain.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createResponseMessage = exports.RESPONSE_EVENT = void 0;\nconst errors_1 = require(\"../constants/errors\");\nexports.RESPONSE_EVENT = 'RESPONSE_EVENT';\nconst createResponseMessage = (id, success, payload) => ({\n event: exports.RESPONSE_EVENT,\n type: exports.RESPONSE_EVENT,\n id,\n success,\n payload: success ? payload : (0, errors_1.serializeError)(payload),\n});\nexports.createResponseMessage = createResponseMessage;\n//# sourceMappingURL=call.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createErrorMessage = exports.parseMessage = exports.CORE_EVENT = void 0;\nexports.CORE_EVENT = 'CORE_EVENT';\nconst parseMessage = (messageData) => {\n const message = {\n event: messageData.event,\n type: messageData.type,\n payload: messageData.payload,\n };\n if (typeof messageData.id === 'number') {\n message.id = messageData.id;\n }\n if (typeof messageData.success === 'boolean') {\n message.success = messageData.success;\n }\n return message;\n};\nexports.parseMessage = parseMessage;\nconst createErrorMessage = (error) => ({\n success: false,\n payload: {\n error: error.message,\n code: error.code,\n },\n});\nexports.createErrorMessage = createErrorMessage;\n//# sourceMappingURL=core.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createDeviceMessage = exports.DEVICE = exports.DEVICE_EVENT = void 0;\nexports.DEVICE_EVENT = 'DEVICE_EVENT';\nexports.DEVICE = {\n CONNECT: 'device-connect',\n CONNECT_UNACQUIRED: 'device-connect_unacquired',\n DISCONNECT: 'device-disconnect',\n CHANGED: 'device-changed',\n ACQUIRE: 'device-acquire',\n RELEASE: 'device-release',\n ACQUIRED: 'device-acquired',\n RELEASED: 'device-released',\n USED_ELSEWHERE: 'device-used_elsewhere',\n SAVE_STATE: 'device-save_state',\n LOADING: 'device-loading',\n BUTTON: 'button',\n PIN: 'pin',\n PASSPHRASE: 'passphrase',\n PASSPHRASE_ON_DEVICE: 'passphrase_on_device',\n WORD: 'word',\n};\nconst createDeviceMessage = (type, payload) => ({\n event: exports.DEVICE_EVENT,\n type,\n payload,\n});\nexports.createDeviceMessage = createDeviceMessage;\n//# sourceMappingURL=device.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createIFrameMessage = exports.IFRAME = void 0;\nconst ui_request_1 = require(\"./ui-request\");\nexports.IFRAME = {\n BOOTSTRAP: 'iframe-bootstrap',\n LOADED: 'iframe-loaded',\n INIT: 'iframe-init',\n ERROR: 'iframe-error',\n CALL: 'iframe-call',\n LOG: 'iframe-log',\n};\nconst createIFrameMessage = (type, payload) => ({\n event: ui_request_1.UI_EVENT,\n type,\n payload,\n});\nexports.createIFrameMessage = createIFrameMessage;\n//# sourceMappingURL=iframe.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createPopupMessage = exports.POPUP = void 0;\nconst ui_request_1 = require(\"./ui-request\");\nexports.POPUP = {\n BOOTSTRAP: 'popup-bootstrap',\n LOADED: 'popup-loaded',\n CORE_LOADED: 'popup-core-loaded',\n INIT: 'popup-init',\n ERROR: 'popup-error',\n EXTENSION_USB_PERMISSIONS: 'open-usb-permissions',\n HANDSHAKE: 'popup-handshake',\n CLOSED: 'popup-closed',\n CANCEL_POPUP_REQUEST: 'ui-cancel-popup-request',\n CLOSE_WINDOW: 'window.close',\n ANALYTICS_RESPONSE: 'popup-analytics-response',\n CONTENT_SCRIPT_LOADED: 'popup-content-script-loaded',\n METHOD_INFO: 'popup-method-info',\n};\nconst createPopupMessage = (type, payload) => ({\n event: ui_request_1.UI_EVENT,\n type,\n payload,\n});\nexports.createPopupMessage = createPopupMessage;\n//# sourceMappingURL=popup.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TRANSPORT = exports.ACTION_TIMEOUT = exports.TREZOR_USB_DESCRIPTORS = exports.WEBUSB_BOOTLOADER_PRODUCT = exports.T1_HID_VENDOR = exports.ENDPOINT_ID = exports.INTERFACE_ID = exports.CONFIGURATION_ID = void 0;\nexports.CONFIGURATION_ID = 1;\nexports.INTERFACE_ID = 0;\nexports.ENDPOINT_ID = 1;\nexports.T1_HID_VENDOR = 0x534c;\nconst T1_HID_PRODUCT = 0x0001;\nconst WEBUSB_FIRMWARE_PRODUCT = 0x53c1;\nexports.WEBUSB_BOOTLOADER_PRODUCT = 0x53c0;\nexports.TREZOR_USB_DESCRIPTORS = [\n { vendorId: 0x534c, productId: T1_HID_PRODUCT },\n { vendorId: 0x1209, productId: exports.WEBUSB_BOOTLOADER_PRODUCT },\n { vendorId: 0x1209, productId: WEBUSB_FIRMWARE_PRODUCT },\n];\nexports.ACTION_TIMEOUT = 10000;\nexports.TRANSPORT = {\n START: 'transport-start',\n ERROR: 'transport-error',\n UPDATE: 'transport-update',\n DISABLE_WEBUSB: 'transport-disable_webusb',\n REQUEST_DEVICE: 'transport-request_device',\n};\n//# sourceMappingURL=constants.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createTransportMessage = exports.TRANSPORT_EVENT = exports.TRANSPORT = void 0;\nconst errors_1 = require(\"../constants/errors\");\nvar constants_1 = require(\"@trezor/transport/lib/constants\");\nObject.defineProperty(exports, \"TRANSPORT\", { enumerable: true, get: function () { return constants_1.TRANSPORT; } });\nexports.TRANSPORT_EVENT = 'TRANSPORT_EVENT';\nconst createTransportMessage = (type, payload) => ({\n event: exports.TRANSPORT_EVENT,\n type,\n payload: 'error' in payload ? (0, errors_1.serializeError)(payload) : payload,\n});\nexports.createTransportMessage = createTransportMessage;\n//# sourceMappingURL=transport.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=ui-promise.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WEBEXTENSION = void 0;\nexports.WEBEXTENSION = {\n USB_PERMISSIONS_BROADCAST: 'usb-permissions',\n USB_PERMISSIONS_INIT: 'usb-permissions-init',\n USB_PERMISSIONS_CLOSE: 'usb-permissions-close',\n USB_PERMISSIONS_FINISHED: 'usb-permissions-finished',\n CHANNEL_HANDSHAKE_CONFIRM: 'channel-handshake-confirm',\n};\n//# sourceMappingURL=webextension.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UI = void 0;\nconst tslib_1 = require(\"tslib\");\nconst ui_request_1 = require(\"./ui-request\");\nconst ui_response_1 = require(\"./ui-response\");\ntslib_1.__exportStar(require(\"./blockchain\"), exports);\ntslib_1.__exportStar(require(\"./call\"), exports);\ntslib_1.__exportStar(require(\"./core\"), exports);\ntslib_1.__exportStar(require(\"./device\"), exports);\ntslib_1.__exportStar(require(\"./iframe\"), exports);\ntslib_1.__exportStar(require(\"./popup\"), exports);\ntslib_1.__exportStar(require(\"./transport\"), exports);\ntslib_1.__exportStar(require(\"./ui-promise\"), exports);\ntslib_1.__exportStar(require(\"./ui-request\"), exports);\ntslib_1.__exportStar(require(\"./ui-response\"), exports);\ntslib_1.__exportStar(require(\"./webextension\"), exports);\nexports.UI = {\n ...ui_request_1.UI_REQUEST,\n ...ui_response_1.UI_RESPONSE,\n};\n//# sourceMappingURL=index.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.factory = void 0;\nconst events_1 = require(\"./events\");\nconst factory = ({ eventEmitter, manifest, init, call, requestLogin, uiResponse, renderWebUSBButton, disableWebUSB, requestWebUSBDevice, cancel, dispose, }) => {\n const api = {\n manifest,\n init,\n getSettings: () => call({ method: 'getSettings' }),\n on: (type, fn) => {\n eventEmitter.on(type, fn);\n },\n off: (type, fn) => {\n eventEmitter.removeListener(type, fn);\n },\n removeAllListeners: type => {\n if (typeof type === 'string') {\n eventEmitter.removeAllListeners(type);\n }\n else {\n eventEmitter.removeAllListeners();\n }\n },\n uiResponse,\n blockchainGetAccountBalanceHistory: params => call({ ...params, method: 'blockchainGetAccountBalanceHistory' }),\n blockchainGetCurrentFiatRates: params => call({ ...params, method: 'blockchainGetCurrentFiatRates' }),\n blockchainGetFiatRatesForTimestamps: params => call({ ...params, method: 'blockchainGetFiatRatesForTimestamps' }),\n blockchainDisconnect: params => call({ ...params, method: 'blockchainDisconnect' }),\n blockchainEstimateFee: params => call({ ...params, method: 'blockchainEstimateFee' }),\n blockchainGetTransactions: params => call({ ...params, method: 'blockchainGetTransactions' }),\n blockchainSetCustomBackend: params => call({ ...params, method: 'blockchainSetCustomBackend' }),\n blockchainSubscribe: params => call({ ...params, method: 'blockchainSubscribe' }),\n blockchainSubscribeFiatRates: params => call({ ...params, method: 'blockchainSubscribeFiatRates' }),\n blockchainUnsubscribe: params => call({ ...params, method: 'blockchainUnsubscribe' }),\n blockchainUnsubscribeFiatRates: params => call({ ...params, method: 'blockchainUnsubscribeFiatRates' }),\n requestLogin: params => requestLogin(params),\n cardanoGetAddress: params => call({\n ...params,\n method: 'cardanoGetAddress',\n useEventListener: eventEmitter.listenerCount(events_1.UI.ADDRESS_VALIDATION) > 0,\n }),\n cardanoGetNativeScriptHash: params => call({ ...params, method: 'cardanoGetNativeScriptHash' }),\n cardanoGetPublicKey: params => call({ ...params, method: 'cardanoGetPublicKey' }),\n cardanoSignTransaction: params => call({ ...params, method: 'cardanoSignTransaction' }),\n cardanoComposeTransaction: params => call({ ...params, method: 'cardanoComposeTransaction' }),\n cipherKeyValue: params => call({ ...params, method: 'cipherKeyValue' }),\n composeTransaction: params => call({ ...params, method: 'composeTransaction' }),\n ethereumGetAddress: params => call({\n ...params,\n method: 'ethereumGetAddress',\n useEventListener: eventEmitter.listenerCount(events_1.UI.ADDRESS_VALIDATION) > 0,\n }),\n ethereumGetPublicKey: params => call({ ...params, method: 'ethereumGetPublicKey' }),\n ethereumSignMessage: params => call({ ...params, method: 'ethereumSignMessage' }),\n ethereumSignTransaction: params => call({ ...params, method: 'ethereumSignTransaction' }),\n ethereumSignTypedData: params => call({ ...params, method: 'ethereumSignTypedData' }),\n ethereumVerifyMessage: params => call({ ...params, method: 'ethereumVerifyMessage' }),\n getAccountDescriptor: params => call({ ...params, method: 'getAccountDescriptor' }),\n getAccountInfo: params => call({ ...params, method: 'getAccountInfo' }),\n getAddress: params => call({\n ...params,\n method: 'getAddress',\n useEventListener: eventEmitter.listenerCount(events_1.UI.ADDRESS_VALIDATION) > 0,\n }),\n getDeviceState: params => call({ ...params, method: 'getDeviceState' }),\n getFeatures: params => call({ ...params, method: 'getFeatures' }),\n getFirmwareHash: params => call({ ...params, method: 'getFirmwareHash' }),\n getOwnershipId: params => call({ ...params, method: 'getOwnershipId' }),\n getOwnershipProof: params => call({ ...params, method: 'getOwnershipProof' }),\n getPublicKey: params => call({ ...params, method: 'getPublicKey' }),\n nemGetAddress: params => call({\n ...params,\n method: 'nemGetAddress',\n useEventListener: eventEmitter.listenerCount(events_1.UI.ADDRESS_VALIDATION) > 0,\n }),\n nemSignTransaction: params => call({ ...params, method: 'nemSignTransaction' }),\n pushTransaction: params => call({ ...params, method: 'pushTransaction' }),\n rippleGetAddress: params => call({\n ...params,\n method: 'rippleGetAddress',\n useEventListener: eventEmitter.listenerCount(events_1.UI.ADDRESS_VALIDATION) > 0,\n }),\n rippleSignTransaction: params => call({ ...params, method: 'rippleSignTransaction' }),\n signMessage: params => call({ ...params, method: 'signMessage' }),\n signTransaction: params => call({ ...params, method: 'signTransaction' }),\n solanaGetPublicKey: params => call({ ...params, method: 'solanaGetPublicKey' }),\n solanaGetAddress: params => call({ ...params, method: 'solanaGetAddress' }),\n solanaSignTransaction: params => call({ ...params, method: 'solanaSignTransaction' }),\n stellarGetAddress: params => call({\n ...params,\n method: 'stellarGetAddress',\n useEventListener: eventEmitter.listenerCount(events_1.UI.ADDRESS_VALIDATION) > 0,\n }),\n stellarSignTransaction: params => call({ ...params, method: 'stellarSignTransaction' }),\n tezosGetAddress: params => call({\n ...params,\n method: 'tezosGetAddress',\n useEventListener: eventEmitter.listenerCount(events_1.UI.ADDRESS_VALIDATION) > 0,\n }),\n tezosGetPublicKey: params => call({ ...params, method: 'tezosGetPublicKey' }),\n tezosSignTransaction: params => call({ ...params, method: 'tezosSignTransaction' }),\n unlockPath: params => call({ ...params, method: 'unlockPath' }),\n eosGetPublicKey: params => call({ ...params, method: 'eosGetPublicKey' }),\n eosSignTransaction: params => call({ ...params, method: 'eosSignTransaction' }),\n binanceGetAddress: params => call({\n ...params,\n method: 'binanceGetAddress',\n useEventListener: eventEmitter.listenerCount(events_1.UI.ADDRESS_VALIDATION) > 0,\n }),\n binanceGetPublicKey: params => call({ ...params, method: 'binanceGetPublicKey' }),\n binanceSignTransaction: params => call({ ...params, method: 'binanceSignTransaction' }),\n verifyMessage: params => call({ ...params, method: 'verifyMessage' }),\n resetDevice: params => call({ ...params, method: 'resetDevice' }),\n wipeDevice: params => call({ ...params, method: 'wipeDevice' }),\n checkFirmwareAuthenticity: params => call({ ...params, method: 'checkFirmwareAuthenticity' }),\n applyFlags: params => call({ ...params, method: 'applyFlags' }),\n applySettings: params => call({ ...params, method: 'applySettings' }),\n authenticateDevice: params => call({ ...params, method: 'authenticateDevice' }),\n authorizeCoinjoin: params => call({ ...params, method: 'authorizeCoinjoin' }),\n cancelCoinjoinAuthorization: params => call({ ...params, method: 'cancelCoinjoinAuthorization' }),\n showDeviceTutorial: params => call({ ...params, method: 'showDeviceTutorial' }),\n backupDevice: params => call({ ...params, method: 'backupDevice' }),\n changeLanguage: params => call({ ...params, method: 'changeLanguage' }),\n changePin: params => call({ ...params, method: 'changePin' }),\n changeWipeCode: params => call({ ...params, method: 'changeWipeCode' }),\n firmwareUpdate: params => call({ ...params, method: 'firmwareUpdate' }),\n recoveryDevice: params => call({ ...params, method: 'recoveryDevice' }),\n getCoinInfo: params => call({ ...params, method: 'getCoinInfo' }),\n rebootToBootloader: params => call({ ...params, method: 'rebootToBootloader' }),\n setBusy: params => call({ ...params, method: 'setBusy' }),\n setProxy: params => call({ ...params, method: 'setProxy' }),\n dispose,\n cancel,\n renderWebUSBButton,\n disableWebUSB,\n requestWebUSBDevice,\n };\n return api;\n};\nexports.factory = factory;\n//# sourceMappingURL=factory.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getChunkSize = exports.reverseBuffer = void 0;\nconst reverseBuffer = (src) => {\n if (src.length < 1)\n return src;\n const buffer = Buffer.alloc(src.length);\n let j = buffer.length - 1;\n for (let i = 0; i < buffer.length / 2; i++) {\n buffer[i] = src[j];\n buffer[j] = src[i];\n j--;\n }\n return buffer;\n};\nexports.reverseBuffer = reverseBuffer;\nconst getChunkSize = (n) => {\n const buf = Buffer.allocUnsafe(1);\n buf.writeUInt8(n);\n return buf;\n};\nexports.getChunkSize = getChunkSize;\n//# sourceMappingURL=bufferUtils.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getValueByKey = exports.getKeyByValue = void 0;\nfunction getKeyByValue(obj, value) {\n return obj && Object.keys(obj).find(x => obj[x] === value);\n}\nexports.getKeyByValue = getKeyByValue;\nfunction getValueByKey(obj, enumKey) {\n const key = obj && Object.keys(obj).find(x => x === enumKey);\n return key && obj[key];\n}\nexports.getValueByKey = getValueByKey;\n//# sourceMappingURL=enumUtils.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.normalizeVersion = exports.isNewerOrEqual = exports.isEqual = exports.isNewer = exports.isVersionArray = void 0;\nconst isVersionArray = (arr) => {\n if (!Array.isArray(arr)) {\n return false;\n }\n if (arr.length !== 3) {\n return false;\n }\n for (let i = 0; i < arr.length; i++) {\n const versionNumber = arr[i];\n if (typeof versionNumber !== 'number' || versionNumber < 0) {\n return false;\n }\n }\n return true;\n};\nexports.isVersionArray = isVersionArray;\nconst parse = (versionArr) => ({\n major: versionArr[0],\n minor: versionArr[1],\n patch: versionArr[2],\n});\nconst split = (version) => {\n const arr = version.split('.').map(v => Number(v));\n if (!(0, exports.isVersionArray)(arr)) {\n throw new Error(`version string is in wrong format: ${version}`);\n }\n return arr;\n};\nconst versionToString = (arr) => `${arr[0]}.${arr[1]}.${arr[2]}`;\nconst isNewer = (versionX, versionY) => {\n const parsedX = parse(typeof versionX === 'string' ? split(versionX) : versionX);\n const parsedY = parse(typeof versionY === 'string' ? split(versionY) : versionY);\n if (parsedX.major - parsedY.major !== 0) {\n return parsedX.major > parsedY.major;\n }\n if (parsedX.minor - parsedY.minor !== 0) {\n return parsedX.minor > parsedY.minor;\n }\n if (parsedX.patch - parsedY.patch !== 0) {\n return parsedX.patch > parsedY.patch;\n }\n return false;\n};\nexports.isNewer = isNewer;\nconst isEqual = (versionX, versionY) => {\n const strX = typeof versionX === 'string' ? versionX : versionToString(versionX);\n const strY = typeof versionY === 'string' ? versionY : versionToString(versionY);\n return strX === strY;\n};\nexports.isEqual = isEqual;\nconst isNewerOrEqual = (versionX, versionY) => (0, exports.isNewer)(versionX, versionY) || (0, exports.isEqual)(versionX, versionY);\nexports.isNewerOrEqual = isNewerOrEqual;\nconst normalizeVersion = (version) => version.replace(/\\b0+(\\d)/g, '$1');\nexports.normalizeVersion = normalizeVersion;\n//# sourceMappingURL=versionUtils.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.inDoubleQuotes = exports.inSingleQuotes = exports.inHTML = void 0;\nconst LT = /</g;\nconst SQUOT = /'/g;\nconst QUOT = /\"/g;\nconst inHTML = (value) => value.replace(LT, '<');\nexports.inHTML = inHTML;\nconst inSingleQuotes = (value) => value.replace(SQUOT, ''');\nexports.inSingleQuotes = inSingleQuotes;\nconst inDoubleQuotes = (value) => value.replace(QUOT, '"');\nexports.inDoubleQuotes = inDoubleQuotes;\n//# sourceMappingURL=xssFilters.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.addDashesToSpaces = void 0;\nconst addDashesToSpaces = (inputString) => inputString.replace(/\\s+/g, '-');\nexports.addDashesToSpaces = addDashesToSpaces;\n//# sourceMappingURL=addDashesToSpaces.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.arrayDistinct = void 0;\nconst arrayDistinct = (item, index, self) => self.indexOf(item) === index;\nexports.arrayDistinct = arrayDistinct;\n//# sourceMappingURL=arrayDistinct.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.arrayPartition = void 0;\nconst arrayPartition = (array, condition) => array.reduce(([pass, fail], elem) => condition(elem) ? [[...pass, elem], fail] : [pass, [...fail, elem]], [[], []]);\nexports.arrayPartition = arrayPartition;\n//# sourceMappingURL=arrayPartition.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.arrayShuffle = void 0;\nconst arrayShuffle = (array) => {\n const shuffled = array.slice();\n for (let i = shuffled.length - 1; i > 0; i--) {\n const j = Math.floor(Math.random() * (i + 1));\n [shuffled[i], shuffled[j]] = [shuffled[j], shuffled[i]];\n }\n return shuffled;\n};\nexports.arrayShuffle = arrayShuffle;\n//# sourceMappingURL=arrayShuffle.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.arrayToDictionary = void 0;\nconst validateKey = (key) => {\n if (['string', 'number'].includes(typeof key)) {\n return true;\n }\n return false;\n};\nconst arrayToDictionary = (array, getKey, multiple) => multiple\n ? array.reduce((prev, cur) => {\n var _a;\n const key = getKey(cur);\n if (validateKey(key)) {\n return Object.assign(Object.assign({}, prev), { [key]: [...((_a = prev[key]) !== null && _a !== void 0 ? _a : []), cur] });\n }\n return prev;\n }, {})\n : array.reduce((prev, cur) => {\n const key = getKey(cur);\n if (validateKey(key)) {\n return Object.assign(Object.assign({}, prev), { [key]: cur });\n }\n return prev;\n }, {});\nexports.arrayToDictionary = arrayToDictionary;\n//# sourceMappingURL=arrayToDictionary.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.bytesToHumanReadable = void 0;\nconst units = ['B', 'KB', 'MB', 'GB', 'TB'];\nconst bytesToHumanReadable = (bytes) => {\n let size = Math.abs(bytes);\n let i = 0;\n while (size >= 1024 || i >= units.length) {\n size /= 1024;\n i++;\n }\n return `${size.toFixed(1)} ${units[i]}`;\n};\nexports.bytesToHumanReadable = bytesToHumanReadable;\n//# sourceMappingURL=bytesToHumanReadable.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.capitalizeFirstLetter = void 0;\nconst capitalizeFirstLetter = (str) => (str.charAt(0).toUpperCase() + str.slice(1));\nexports.capitalizeFirstLetter = capitalizeFirstLetter;\n//# sourceMappingURL=capitalizeFirstLetter.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.cloneObject = void 0;\nconst cloneObject = (obj) => {\n const jsonString = JSON.stringify(obj);\n if (jsonString === undefined) {\n return obj;\n }\n return JSON.parse(jsonString);\n};\nexports.cloneObject = cloneObject;\n//# sourceMappingURL=cloneObject.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.countBytesInString = void 0;\nconst countBytesInString = (input) => encodeURI(input).split(/%..|./).length - 1;\nexports.countBytesInString = countBytesInString;\n//# sourceMappingURL=countBytesInString.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createCooldown = void 0;\nconst createCooldown = (cooldownMs) => {\n let last = 0;\n return () => {\n const now = Date.now();\n if (now - last >= cooldownMs) {\n last = now;\n return true;\n }\n return false;\n };\n};\nexports.createCooldown = createCooldown;\n//# sourceMappingURL=createCooldown.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createDeferred = void 0;\nconst createDeferred = (id) => {\n let localResolve = () => { };\n let localReject = () => { };\n const promise = new Promise((resolve, reject) => {\n localResolve = resolve;\n localReject = reject;\n });\n return {\n id,\n resolve: localResolve,\n reject: localReject,\n promise,\n };\n};\nexports.createDeferred = createDeferred;\n//# sourceMappingURL=createDeferred.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createDeferredManager = void 0;\nconst createDeferred_1 = require(\"./createDeferred\");\nconst createDeferredManager = (options) => {\n const { initialId = 0, timeout: defaultTimeout = 0, onTimeout } = options !== null && options !== void 0 ? options : {};\n const promises = [];\n let ID = initialId;\n let timeoutHandle;\n const length = () => promises.length;\n const nextId = () => ID;\n const replanTimeout = () => {\n const now = Date.now();\n const nearestDeadline = promises.reduce((prev, { deadline }) => (prev && deadline ? Math.min : Math.max)(prev, deadline), 0);\n if (timeoutHandle)\n clearTimeout(timeoutHandle);\n timeoutHandle = nearestDeadline\n ?\n setTimeout(timeoutCallback, Math.max(nearestDeadline - now, 0))\n : undefined;\n };\n const timeoutCallback = () => {\n const now = Date.now();\n promises\n .filter(promise => promise.deadline && promise.deadline <= now)\n .forEach(promise => {\n onTimeout === null || onTimeout === void 0 ? void 0 : onTimeout(promise.id);\n promise.deadline = 0;\n });\n replanTimeout();\n };\n const create = (timeout = defaultTimeout) => {\n const promiseId = ID++;\n const deferred = (0, createDeferred_1.createDeferred)(promiseId);\n const deadline = timeout && Date.now() + timeout;\n promises.push(Object.assign(Object.assign({}, deferred), { deadline }));\n if (timeout)\n replanTimeout();\n return { promiseId, promise: deferred.promise };\n };\n const extract = (promiseId) => {\n const index = promises.findIndex(({ id }) => id === promiseId);\n const [promise] = index >= 0 ? promises.splice(index, 1) : [undefined];\n if (promise === null || promise === void 0 ? void 0 : promise.deadline)\n replanTimeout();\n return promise;\n };\n const resolve = (promiseId, value) => {\n const promise = extract(promiseId);\n promise === null || promise === void 0 ? void 0 : promise.resolve(value);\n return !!promise;\n };\n const reject = (promiseId, error) => {\n const promise = extract(promiseId);\n promise === null || promise === void 0 ? void 0 : promise.reject(error);\n return !!promise;\n };\n const rejectAll = (error) => {\n promises.forEach(promise => promise.reject(error));\n const deleted = promises.splice(0, promises.length);\n if (deleted.length)\n replanTimeout();\n };\n return { length, nextId, create, resolve, reject, rejectAll };\n};\nexports.createDeferredManager = createDeferredManager;\n//# sourceMappingURL=createDeferredManager.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createTimeoutPromise = void 0;\nconst createTimeoutPromise = (timeout) => new Promise(resolve => setTimeout(resolve, timeout));\nexports.createTimeoutPromise = createTimeoutPromise;\n//# sourceMappingURL=createTimeoutPromise.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getLocaleSeparators = void 0;\nconst getLocaleSeparators = (locale) => {\n var _a, _b;\n const numberFormat = new Intl.NumberFormat(locale);\n const parts = numberFormat.formatToParts(10000.1);\n const decimalSeparator = (_a = parts.find(({ type }) => type === 'decimal')) === null || _a === void 0 ? void 0 : _a.value;\n const thousandsSeparator = (_b = parts.find(({ type }) => type === 'group')) === null || _b === void 0 ? void 0 : _b.value;\n return { decimalSeparator, thousandsSeparator };\n};\nexports.getLocaleSeparators = getLocaleSeparators;\n//# sourceMappingURL=getLocaleSeparators.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getNumberFromPixelString = void 0;\nconst getNumberFromPixelString = (size) => parseInt(size.replace('px', ''), 10);\nexports.getNumberFromPixelString = getNumberFromPixelString;\n//# sourceMappingURL=getNumberFromPixelString.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getRandomNumberInRange = void 0;\nconst getRandomNumberInRange = (min, max) => Math.floor(Math.random() * (max - min + 1)) + min;\nexports.getRandomNumberInRange = getRandomNumberInRange;\n//# sourceMappingURL=getRandomNumberInRange.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getSynchronize = void 0;\nconst getSynchronize = () => {\n let lock;\n return (action) => {\n const newLock = (lock !== null && lock !== void 0 ? lock : Promise.resolve())\n .catch(() => { })\n .then(action)\n .finally(() => {\n if (lock === newLock) {\n lock = undefined;\n }\n });\n lock = newLock;\n return lock;\n };\n};\nexports.getSynchronize = getSynchronize;\n//# sourceMappingURL=getSynchronize.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getWeakRandomId = void 0;\nconst getWeakRandomId = (length) => {\n let id = '';\n const list = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\n for (let i = 0; i < length; i++) {\n id += list.charAt(Math.floor(Math.random() * list.length));\n }\n return id;\n};\nexports.getWeakRandomId = getWeakRandomId;\n//# sourceMappingURL=getWeakRandomId.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.hasUppercaseLetter = void 0;\nconst HAS_UPPERCASE_LATER_REGEXP = new RegExp('^(.*[A-Z].*)$');\nconst hasUppercaseLetter = (value) => HAS_UPPERCASE_LATER_REGEXP.test(value);\nexports.hasUppercaseLetter = hasUppercaseLetter;\n//# sourceMappingURL=hasUppercaseLetter.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isAscii = void 0;\nfunction isAscii(value) {\n if (!value)\n return true;\n return /^[\\x00-\\x7F]*$/.test(value);\n}\nexports.isAscii = isAscii;\n//# sourceMappingURL=isAscii.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isHex = void 0;\nconst isHex = (str) => {\n const regExp = /^(0x|0X)?[0-9A-Fa-f]+$/g;\n return regExp.test(str);\n};\nexports.isHex = isHex;\n//# sourceMappingURL=isHex.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isNotUndefined = void 0;\nconst isNotUndefined = (item) => typeof item !== 'undefined';\nexports.isNotUndefined = isNotUndefined;\n//# sourceMappingURL=isNotUndefined.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isUrl = void 0;\nconst URL_REGEXP = /^(http|ws)s?:\\/\\/[a-z0-9]([a-z0-9.-]+)?(:[0-9]{1,5})?((\\/)?(([a-z0-9-_])+(\\/)?)+)$/i;\nconst isUrl = (value) => URL_REGEXP.test(value);\nexports.isUrl = isUrl;\n//# sourceMappingURL=isUrl.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.mergeDeepObject = void 0;\nconst isObject = (obj) => {\n if (typeof obj === 'object' && obj !== null) {\n if (typeof Object.getPrototypeOf === 'function') {\n const prototype = Object.getPrototypeOf(obj);\n return prototype === Object.prototype || prototype === null;\n }\n return Object.prototype.toString.call(obj) === '[object Object]';\n }\n return false;\n};\nconst mergeDeepObject = (...objects) => objects.reduce((result, current) => {\n if (Array.isArray(current)) {\n throw new TypeError('Arguments provided to ts-deepmerge must be objects, not arrays.');\n }\n Object.keys(current).forEach(key => {\n if (['__proto__', 'constructor', 'prototype'].includes(key)) {\n return;\n }\n if (Array.isArray(result[key]) && Array.isArray(current[key])) {\n result[key] = exports.mergeDeepObject.options.mergeArrays\n ? Array.from(new Set(result[key].concat(current[key])))\n : current[key];\n }\n else if (isObject(result[key]) && isObject(current[key])) {\n result[key] = (0, exports.mergeDeepObject)(result[key], current[key]);\n }\n else {\n result[key] = current[key];\n }\n });\n return result;\n}, {});\nexports.mergeDeepObject = mergeDeepObject;\nconst defaultOptions = {\n mergeArrays: true,\n};\nexports.mergeDeepObject.options = defaultOptions;\nexports.mergeDeepObject.withOptions = (options, ...objects) => {\n exports.mergeDeepObject.options = Object.assign({ mergeArrays: true }, options);\n const result = (0, exports.mergeDeepObject)(...objects);\n exports.mergeDeepObject.options = defaultOptions;\n return result;\n};\n//# sourceMappingURL=mergeDeepObject.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.objectPartition = void 0;\nconst tslib_1 = require(\"tslib\");\nconst objectPartition = (obj, keys) => keys.reduce(([included, excluded], key) => {\n const _a = excluded, _b = key, value = _a[_b], rest = tslib_1.__rest(_a, [typeof _b === \"symbol\" ? _b : _b + \"\"]);\n return typeof value !== 'undefined'\n ? [Object.assign(Object.assign({}, included), { [key]: value }), rest]\n : [included, excluded];\n}, [{}, obj]);\nexports.objectPartition = objectPartition;\n//# sourceMappingURL=objectPartition.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.parseElectrumUrl = void 0;\nconst ELECTRUM_URL_REGEX = /^(?:([a-zA-Z0-9.-]+)|\\[([a-f0-9:]+)\\]):([0-9]{1,5}):([ts])$/;\nconst parseElectrumUrl = (url) => {\n var _a;\n const match = url.match(ELECTRUM_URL_REGEX);\n if (!match)\n return undefined;\n return {\n host: (_a = match[1]) !== null && _a !== void 0 ? _a : match[2],\n port: Number.parseInt(match[3], 10),\n protocol: match[4],\n };\n};\nexports.parseElectrumUrl = parseElectrumUrl;\n//# sourceMappingURL=parseElectrumUrl.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.parseHostname = void 0;\nconst HOSTNAME_REGEX = /^([a-z0-9.+-]+:\\/\\/)?([a-z0-9.-]+)([:/][^:/]+)*\\/?$/i;\nconst parseHostname = (url) => { var _a, _b; return (_b = (_a = url.match(HOSTNAME_REGEX)) === null || _a === void 0 ? void 0 : _a[2]) === null || _b === void 0 ? void 0 : _b.toLowerCase(); };\nexports.parseHostname = parseHostname;\n//# sourceMappingURL=parseHostname.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.promiseAllSequence = void 0;\nconst tslib_1 = require(\"tslib\");\nconst promiseAllSequence = (actions) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {\n const results = [];\n for (let i = 0; i < actions.length; ++i) {\n const result = yield actions[i]();\n results.push(result);\n }\n return results;\n});\nexports.promiseAllSequence = promiseAllSequence;\n//# sourceMappingURL=promiseAllSequence.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.redactUserPathFromString = exports.startOfUserPathRegex = void 0;\nexports.startOfUserPathRegex = /([/\\\\][Uu]sers[/\\\\]{1,4})([^\"^'^[^\\]^/^\\\\]*)/g;\nconst redactUserPathFromString = (text) => text.replace(exports.startOfUserPathRegex, '$1[*]');\nexports.redactUserPathFromString = redactUserPathFromString;\n//# sourceMappingURL=redactUserPath.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.scheduleAction = void 0;\nconst tslib_1 = require(\"tslib\");\nconst isArray = (attempts) => Array.isArray(attempts);\nconst abortedBySignal = () => new Error('Aborted by signal');\nconst abortedByDeadline = () => new Error('Aborted by deadline');\nconst abortedByTimeout = () => new Error('Aborted by timeout');\nconst resolveAfterMs = (ms, clear) => new Promise((resolve, reject) => {\n if (clear.aborted)\n return reject();\n if (ms === undefined)\n return resolve();\n const timeout = setTimeout(resolve, ms);\n const onClear = () => {\n clearTimeout(timeout);\n clear.removeEventListener('abort', onClear);\n reject();\n };\n clear.addEventListener('abort', onClear);\n});\nconst rejectAfterMs = (ms, reason, clear) => new Promise((_, reject) => {\n if (clear.aborted)\n return reject();\n const timeout = ms !== undefined ? setTimeout(() => reject(reason()), ms) : undefined;\n const onClear = () => {\n clearTimeout(timeout);\n clear.removeEventListener('abort', onClear);\n reject();\n };\n clear.addEventListener('abort', onClear);\n});\nconst rejectWhenAborted = (signal, clear) => new Promise((_, reject) => {\n if (clear.aborted)\n return reject();\n if (signal === null || signal === void 0 ? void 0 : signal.aborted)\n return reject(abortedBySignal());\n const onAbort = () => reject(abortedBySignal());\n signal === null || signal === void 0 ? void 0 : signal.addEventListener('abort', onAbort);\n const onClear = () => {\n signal === null || signal === void 0 ? void 0 : signal.removeEventListener('abort', onAbort);\n clear.removeEventListener('abort', onClear);\n reject();\n };\n clear.addEventListener('abort', onClear);\n});\nconst resolveAction = (action, clear) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {\n const aborter = new AbortController();\n const onClear = () => aborter.abort();\n if (clear.aborted)\n onClear();\n clear.addEventListener('abort', onClear);\n try {\n return yield new Promise(resolve => resolve(action(aborter.signal)));\n }\n finally {\n clear.removeEventListener('abort', onClear);\n }\n});\nconst attemptLoop = (attempts, attempt, failure, clear) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {\n for (let a = 0; a < attempts - 1; a++) {\n if (clear.aborted)\n break;\n const aborter = new AbortController();\n const onClear = () => aborter.abort();\n clear.addEventListener('abort', onClear);\n try {\n return yield attempt(a, aborter.signal);\n }\n catch (_a) {\n onClear();\n yield failure(a);\n }\n finally {\n clear.removeEventListener('abort', onClear);\n }\n }\n return clear.aborted ? Promise.reject() : attempt(attempts - 1, clear);\n});\nconst scheduleAction = (action, params) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {\n const { signal, delay, attempts, timeout, deadline, gap } = params;\n const deadlineMs = deadline && deadline - Date.now();\n const attemptCount = isArray(attempts)\n ? attempts.length\n : attempts !== null && attempts !== void 0 ? attempts : (deadline ? Infinity : 1);\n const clearAborter = new AbortController();\n const clear = clearAborter.signal;\n const getParams = isArray(attempts)\n ? (attempt) => attempts[attempt]\n : () => ({ timeout, gap });\n try {\n return yield Promise.race([\n rejectWhenAborted(signal, clear),\n rejectAfterMs(deadlineMs, abortedByDeadline, clear),\n resolveAfterMs(delay, clear).then(() => attemptLoop(attemptCount, (attempt, abort) => Promise.race([\n rejectAfterMs(getParams(attempt).timeout, abortedByTimeout, clear),\n resolveAction(action, abort),\n ]), attempt => { var _a; return resolveAfterMs((_a = getParams(attempt).gap) !== null && _a !== void 0 ? _a : 0, clear); }, clear)),\n ]);\n }\n finally {\n clearAborter.abort();\n }\n});\nexports.scheduleAction = scheduleAction;\n//# sourceMappingURL=scheduleAction.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.splitStringEveryNCharacters = void 0;\nfunction splitStringEveryNCharacters(value, n) {\n var _a;\n if (n === 0) {\n return [];\n }\n const regex = new RegExp(`.{1,${n}}`, 'g');\n return (_a = value.match(regex)) !== null && _a !== void 0 ? _a : [];\n}\nexports.splitStringEveryNCharacters = splitStringEveryNCharacters;\n//# sourceMappingURL=splitStringEveryNCharacters.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.throwError = void 0;\nconst throwError = (reason) => {\n throw new Error(reason);\n};\nexports.throwError = throwError;\n//# sourceMappingURL=throwError.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.topologicalSort = void 0;\nconst arrayPartition_1 = require(\"./arrayPartition\");\nconst topologicalSort = (elements, precedes, tie) => {\n const result = [];\n const filterRoots = (verts) => (0, arrayPartition_1.arrayPartition)(verts, succ => !verts.some(pred => precedes(pred, succ)));\n let elem = elements;\n while (elem.length) {\n const [roots, rest] = filterRoots(elem);\n if (!roots.length)\n throw new Error('Cycle detected');\n result.push(...(tie ? roots.sort(tie) : roots));\n elem = rest;\n }\n return result;\n};\nexports.topologicalSort = topologicalSort;\n//# sourceMappingURL=topologicalSort.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.truncateMiddle = void 0;\nconst truncateMiddle = (text, startChars, endChars) => {\n if (text.length <= startChars + endChars)\n return text;\n const start = text.substring(0, startChars);\n const end = text.substring(text.length - endChars, text.length);\n return `${start}\u2026${end}`;\n};\nexports.truncateMiddle = truncateMiddle;\n//# sourceMappingURL=truncateMiddle.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TypedEmitter = void 0;\nconst events_1 = require(\"events\");\nclass TypedEmitter extends events_1.EventEmitter {\n listenerCount(eventName) {\n return super.listenerCount(eventName);\n }\n}\nexports.TypedEmitter = TypedEmitter;\n//# sourceMappingURL=typedEventEmitter.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.urlToOnion = void 0;\nconst urlToOnion = (url, onionDomains) => {\n var _a;\n const [, protocol, subdomain, domain, rest] = (_a = url.match(/^(http|ws)s?:\\/\\/([^:/]+\\.)?([^/.]+\\.[^/.]+)(\\/.*)?$/i)) !== null && _a !== void 0 ? _a : [];\n if (!domain || !onionDomains[domain])\n return;\n return `${protocol}://${subdomain !== null && subdomain !== void 0 ? subdomain : ''}${onionDomains[domain]}${rest !== null && rest !== void 0 ? rest : ''}`;\n};\nexports.urlToOnion = urlToOnion;\n//# sourceMappingURL=urlToOnion.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Log = void 0;\nclass Log {\n constructor(prefix, enabled, logWriter) {\n this.css = '';\n this.MAX_ENTRIES = 100;\n this.prefix = prefix;\n this.enabled = enabled;\n this.messages = [];\n if (logWriter) {\n this.logWriter = logWriter;\n }\n }\n setColors(colors) {\n this.css = typeof window !== 'undefined' && colors[this.prefix] ? colors[this.prefix] : '';\n }\n addMessage({ level, prefix, timestamp }, ...args) {\n const message = {\n level,\n prefix,\n css: this.css,\n message: args,\n timestamp: timestamp || Date.now(),\n };\n this.messages.push(message);\n if (this.logWriter) {\n try {\n this.logWriter.add(message);\n }\n catch (err) {\n console.error('There was an error adding log message', err, message);\n }\n }\n if (this.messages.length > this.MAX_ENTRIES) {\n this.messages.shift();\n }\n }\n setWriter(logWriter) {\n this.logWriter = logWriter;\n }\n log(...args) {\n this.addMessage({ level: 'log', prefix: this.prefix }, ...args);\n if (this.enabled) {\n console.log(`%c${this.prefix}`, this.css, ...args);\n }\n }\n error(...args) {\n this.addMessage({ level: 'error', prefix: this.prefix }, ...args);\n if (this.enabled) {\n console.error(`%c${this.prefix}`, this.css, ...args);\n }\n }\n info(...args) {\n this.addMessage({ level: 'info', prefix: this.prefix }, ...args);\n if (this.enabled) {\n console.info(`%c${this.prefix}`, this.css, ...args);\n }\n }\n warn(...args) {\n this.addMessage({ level: 'warn', prefix: this.prefix }, ...args);\n if (this.enabled) {\n console.warn(`%c${this.prefix}`, this.css, ...args);\n }\n }\n debug(...args) {\n this.addMessage({ level: 'debug', prefix: this.prefix }, ...args);\n if (this.enabled) {\n if (this.css) {\n console.log(`%c${this.prefix}`, this.css, ...args);\n }\n else {\n console.log(this.prefix, ...args);\n }\n }\n }\n getLog() {\n return this.messages;\n }\n}\nexports.Log = Log;\n//# sourceMappingURL=logs.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsManager = void 0;\nconst logs_1 = require(\"./logs\");\nclass LogsManager {\n constructor({ colors }) {\n this.logs = {};\n this.colors = {};\n this.colors = colors;\n }\n initLog(prefix, enabled, logWriter) {\n const instanceWriter = logWriter || this.writer;\n const instance = new logs_1.Log(prefix, !!enabled, instanceWriter);\n if (this.colors) {\n instance.setColors(this.colors);\n }\n this.logs[prefix] = instance;\n return instance;\n }\n setLogWriter(logWriterFactory) {\n Object.keys(this.logs).forEach(key => {\n this.writer = logWriterFactory();\n if (this.writer) {\n this.logs[key].setWriter(this.writer);\n const { messages } = this.logs[key];\n messages.forEach(message => {\n var _a;\n (_a = this.writer) === null || _a === void 0 ? void 0 : _a.add(message);\n });\n }\n });\n }\n enableLog(enabled) {\n Object.keys(this.logs).forEach(key => {\n this.logs[key].enabled = !!enabled;\n });\n }\n enableLogByPrefix(prefix, enabled) {\n if (this.logs[prefix]) {\n this.logs[prefix].enabled = enabled;\n }\n }\n getLog() {\n let logs = [];\n Object.keys(this.logs).forEach(key => {\n logs = logs.concat(this.logs[key].messages);\n });\n logs.sort((a, b) => a.timestamp - b.timestamp);\n return logs;\n }\n}\nexports.LogsManager = LogsManager;\n//# sourceMappingURL=logsManager.js.map", ";(function (globalObject) {\r\n 'use strict';\r\n\r\n/*\r\n * bignumber.js v9.1.2\r\n * A JavaScript library for arbitrary-precision arithmetic.\r\n * https://github.com/MikeMcl/bignumber.js\r\n * Copyright (c) 2022 Michael Mclaughlin <M8ch88l@gmail.com>\r\n * MIT Licensed.\r\n *\r\n * BigNumber.prototype methods | BigNumber methods\r\n * |\r\n * absoluteValue abs | clone\r\n * comparedTo | config set\r\n * decimalPlaces dp | DECIMAL_PLACES\r\n * dividedBy div | ROUNDING_MODE\r\n * dividedToIntegerBy idiv | EXPONENTIAL_AT\r\n * exponentiatedBy pow | RANGE\r\n * integerValue | CRYPTO\r\n * isEqualTo eq | MODULO_MODE\r\n * isFinite | POW_PRECISION\r\n * isGreaterThan gt | FORMAT\r\n * isGreaterThanOrEqualTo gte | ALPHABET\r\n * isInteger | isBigNumber\r\n * isLessThan lt | maximum max\r\n * isLessThanOrEqualTo lte | minimum min\r\n * isNaN | random\r\n * isNegative | sum\r\n * isPositive |\r\n * isZero |\r\n * minus |\r\n * modulo mod |\r\n * multipliedBy times |\r\n * negated |\r\n * plus |\r\n * precision sd |\r\n * shiftedBy |\r\n * squareRoot sqrt |\r\n * toExponential |\r\n * toFixed |\r\n * toFormat |\r\n * toFraction |\r\n * toJSON |\r\n * toNumber |\r\n * toPrecision |\r\n * toString |\r\n * valueOf |\r\n *\r\n */\r\n\r\n\r\n var BigNumber,\r\n isNumeric = /^-?(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?$/i,\r\n mathceil = Math.ceil,\r\n mathfloor = Math.floor,\r\n\r\n bignumberError = '[BigNumber Error] ',\r\n tooManyDigits = bignumberError + 'Number primitive has more than 15 significant digits: ',\r\n\r\n BASE = 1e14,\r\n LOG_BASE = 14,\r\n MAX_SAFE_INTEGER = 0x1fffffffffffff, // 2^53 - 1\r\n // MAX_INT32 = 0x7fffffff, // 2^31 - 1\r\n POWS_TEN = [1, 10, 100, 1e3, 1e4, 1e5, 1e6, 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, 1e13],\r\n SQRT_BASE = 1e7,\r\n\r\n // EDITABLE\r\n // The limit on the value of DECIMAL_PLACES, TO_EXP_NEG, TO_EXP_POS, MIN_EXP, MAX_EXP, and\r\n // the arguments to toExponential, toFixed, toFormat, and toPrecision.\r\n MAX = 1E9; // 0 to MAX_INT32\r\n\r\n\r\n /*\r\n * Create and return a BigNumber constructor.\r\n */\r\n function clone(configObject) {\r\n var div, convertBase, parseNumeric,\r\n P = BigNumber.prototype = { constructor: BigNumber, toString: null, valueOf: null },\r\n ONE = new BigNumber(1),\r\n\r\n\r\n //----------------------------- EDITABLE CONFIG DEFAULTS -------------------------------\r\n\r\n\r\n // The default values below must be integers within the inclusive ranges stated.\r\n // The values can also be changed at run-time using BigNumber.set.\r\n\r\n // The maximum number of decimal places for operations involving division.\r\n DECIMAL_PLACES = 20, // 0 to MAX\r\n\r\n // The rounding mode used when rounding to the above decimal places, and when using\r\n // toExponential, toFixed, toFormat and toPrecision, and round (default value).\r\n // UP 0 Away from zero.\r\n // DOWN 1 Towards zero.\r\n // CEIL 2 Towards +Infinity.\r\n // FLOOR 3 Towards -Infinity.\r\n // HALF_UP 4 Towards nearest neighbour. If equidistant, up.\r\n // HALF_DOWN 5 Towards nearest neighbour. If equidistant, down.\r\n // HALF_EVEN 6 Towards nearest neighbour. If equidistant, towards even neighbour.\r\n // HALF_CEIL 7 Towards nearest neighbour. If equidistant, towards +Infinity.\r\n // HALF_FLOOR 8 Towards nearest neighbour. If equidistant, towards -Infinity.\r\n ROUNDING_MODE = 4, // 0 to 8\r\n\r\n // EXPONENTIAL_AT : [TO_EXP_NEG , TO_EXP_POS]\r\n\r\n // The exponent value at and beneath which toString returns exponential notation.\r\n // Number type: -7\r\n TO_EXP_NEG = -7, // 0 to -MAX\r\n\r\n // The exponent value at and above which toString returns exponential notation.\r\n // Number type: 21\r\n TO_EXP_POS = 21, // 0 to MAX\r\n\r\n // RANGE : [MIN_EXP, MAX_EXP]\r\n\r\n // The minimum exponent value, beneath which underflow to zero occurs.\r\n // Number type: -324 (5e-324)\r\n MIN_EXP = -1e7, // -1 to -MAX\r\n\r\n // The maximum exponent value, above which overflow to Infinity occurs.\r\n // Number type: 308 (1.7976931348623157e+308)\r\n // For MAX_EXP > 1e7, e.g. new BigNumber('1e100000000').plus(1) may be slow.\r\n MAX_EXP = 1e7, // 1 to MAX\r\n\r\n // Whether to use cryptographically-secure random number generation, if available.\r\n CRYPTO = false, // true or false\r\n\r\n // The modulo mode used when calculating the modulus: a mod n.\r\n // The quotient (q = a / n) is calculated according to the corresponding rounding mode.\r\n // The remainder (r) is calculated as: r = a - n * q.\r\n //\r\n // UP 0 The remainder is positive if the dividend is negative, else is negative.\r\n // DOWN 1 The remainder has the same sign as the dividend.\r\n // This modulo mode is commonly known as 'truncated division' and is\r\n // equivalent to (a % n) in JavaScript.\r\n // FLOOR 3 The remainder has the same sign as the divisor (Python %).\r\n // HALF_EVEN 6 This modulo mode implements the IEEE 754 remainder function.\r\n // EUCLID 9 Euclidian division. q = sign(n) * floor(a / abs(n)).\r\n // The remainder is always positive.\r\n //\r\n // The truncated division, floored division, Euclidian division and IEEE 754 remainder\r\n // modes are commonly used for the modulus operation.\r\n // Although the other rounding modes can also be used, they may not give useful results.\r\n MODULO_MODE = 1, // 0 to 9\r\n\r\n // The maximum number of significant digits of the result of the exponentiatedBy operation.\r\n // If POW_PRECISION is 0, there will be unlimited significant digits.\r\n POW_PRECISION = 0, // 0 to MAX\r\n\r\n // The format specification used by the BigNumber.prototype.toFormat method.\r\n FORMAT = {\r\n prefix: '',\r\n groupSize: 3,\r\n secondaryGroupSize: 0,\r\n groupSeparator: ',',\r\n decimalSeparator: '.',\r\n fractionGroupSize: 0,\r\n fractionGroupSeparator: '\\xA0', // non-breaking space\r\n suffix: ''\r\n },\r\n\r\n // The alphabet used for base conversion. It must be at least 2 characters long, with no '+',\r\n // '-', '.', whitespace, or repeated character.\r\n // '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ$_'\r\n ALPHABET = '0123456789abcdefghijklmnopqrstuvwxyz',\r\n alphabetHasNormalDecimalDigits = true;\r\n\r\n\r\n //------------------------------------------------------------------------------------------\r\n\r\n\r\n // CONSTRUCTOR\r\n\r\n\r\n /*\r\n * The BigNumber constructor and exported function.\r\n * Create and return a new instance of a BigNumber object.\r\n *\r\n * v {number|string|BigNumber} A numeric value.\r\n * [b] {number} The base of v. Integer, 2 to ALPHABET.length inclusive.\r\n */\r\n function BigNumber(v, b) {\r\n var alphabet, c, caseChanged, e, i, isNum, len, str,\r\n x = this;\r\n\r\n // Enable constructor call without `new`.\r\n if (!(x instanceof BigNumber)) return new BigNumber(v, b);\r\n\r\n if (b == null) {\r\n\r\n if (v && v._isBigNumber === true) {\r\n x.s = v.s;\r\n\r\n if (!v.c || v.e > MAX_EXP) {\r\n x.c = x.e = null;\r\n } else if (v.e < MIN_EXP) {\r\n x.c = [x.e = 0];\r\n } else {\r\n x.e = v.e;\r\n x.c = v.c.slice();\r\n }\r\n\r\n return;\r\n }\r\n\r\n if ((isNum = typeof v == 'number') && v * 0 == 0) {\r\n\r\n // Use `1 / n` to handle minus zero also.\r\n x.s = 1 / v < 0 ? (v = -v, -1) : 1;\r\n\r\n // Fast path for integers, where n < 2147483648 (2**31).\r\n if (v === ~~v) {\r\n for (e = 0, i = v; i >= 10; i /= 10, e++);\r\n\r\n if (e > MAX_EXP) {\r\n x.c = x.e = null;\r\n } else {\r\n x.e = e;\r\n x.c = [v];\r\n }\r\n\r\n return;\r\n }\r\n\r\n str = String(v);\r\n } else {\r\n\r\n if (!isNumeric.test(str = String(v))) return parseNumeric(x, str, isNum);\r\n\r\n x.s = str.charCodeAt(0) == 45 ? (str = str.slice(1), -1) : 1;\r\n }\r\n\r\n // Decimal point?\r\n if ((e = str.indexOf('.')) > -1) str = str.replace('.', '');\r\n\r\n // Exponential form?\r\n if ((i = str.search(/e/i)) > 0) {\r\n\r\n // Determine exponent.\r\n if (e < 0) e = i;\r\n e += +str.slice(i + 1);\r\n str = str.substring(0, i);\r\n } else if (e < 0) {\r\n\r\n // Integer.\r\n e = str.length;\r\n }\r\n\r\n } else {\r\n\r\n // '[BigNumber Error] Base {not a primitive number|not an integer|out of range}: {b}'\r\n intCheck(b, 2, ALPHABET.length, 'Base');\r\n\r\n // Allow exponential notation to be used with base 10 argument, while\r\n // also rounding to DECIMAL_PLACES as with other bases.\r\n if (b == 10 && alphabetHasNormalDecimalDigits) {\r\n x = new BigNumber(v);\r\n return round(x, DECIMAL_PLACES + x.e + 1, ROUNDING_MODE);\r\n }\r\n\r\n str = String(v);\r\n\r\n if (isNum = typeof v == 'number') {\r\n\r\n // Avoid potential interpretation of Infinity and NaN as base 44+ values.\r\n if (v * 0 != 0) return parseNumeric(x, str, isNum, b);\r\n\r\n x.s = 1 / v < 0 ? (str = str.slice(1), -1) : 1;\r\n\r\n // '[BigNumber Error] Number primitive has more than 15 significant digits: {n}'\r\n if (BigNumber.DEBUG && str.replace(/^0\\.0*|\\./, '').length > 15) {\r\n throw Error\r\n (tooManyDigits + v);\r\n }\r\n } else {\r\n x.s = str.charCodeAt(0) === 45 ? (str = str.slice(1), -1) : 1;\r\n }\r\n\r\n alphabet = ALPHABET.slice(0, b);\r\n e = i = 0;\r\n\r\n // Check that str is a valid base b number.\r\n // Don't use RegExp, so alphabet can contain special characters.\r\n for (len = str.length; i < len; i++) {\r\n if (alphabet.indexOf(c = str.charAt(i)) < 0) {\r\n if (c == '.') {\r\n\r\n // If '.' is not the first character and it has not be found before.\r\n if (i > e) {\r\n e = len;\r\n continue;\r\n }\r\n } else if (!caseChanged) {\r\n\r\n // Allow e.g. hexadecimal 'FF' as well as 'ff'.\r\n if (str == str.toUpperCase() && (str = str.toLowerCase()) ||\r\n str == str.toLowerCase() && (str = str.toUpperCase())) {\r\n caseChanged = true;\r\n i = -1;\r\n e = 0;\r\n continue;\r\n }\r\n }\r\n\r\n return parseNumeric(x, String(v), isNum, b);\r\n }\r\n }\r\n\r\n // Prevent later check for length on converted number.\r\n isNum = false;\r\n str = convertBase(str, b, 10, x.s);\r\n\r\n // Decimal point?\r\n if ((e = str.indexOf('.')) > -1) str = str.replace('.', '');\r\n else e = str.length;\r\n }\r\n\r\n // Determine leading zeros.\r\n for (i = 0; str.charCodeAt(i) === 48; i++);\r\n\r\n // Determine trailing zeros.\r\n for (len = str.length; str.charCodeAt(--len) === 48;);\r\n\r\n if (str = str.slice(i, ++len)) {\r\n len -= i;\r\n\r\n // '[BigNumber Error] Number primitive has more than 15 significant digits: {n}'\r\n if (isNum && BigNumber.DEBUG &&\r\n len > 15 && (v > MAX_SAFE_INTEGER || v !== mathfloor(v))) {\r\n throw Error\r\n (tooManyDigits + (x.s * v));\r\n }\r\n\r\n // Overflow?\r\n if ((e = e - i - 1) > MAX_EXP) {\r\n\r\n // Infinity.\r\n x.c = x.e = null;\r\n\r\n // Underflow?\r\n } else if (e < MIN_EXP) {\r\n\r\n // Zero.\r\n x.c = [x.e = 0];\r\n } else {\r\n x.e = e;\r\n x.c = [];\r\n\r\n // Transform base\r\n\r\n // e is the base 10 exponent.\r\n // i is where to slice str to get the first element of the coefficient array.\r\n i = (e + 1) % LOG_BASE;\r\n if (e < 0) i += LOG_BASE; // i < 1\r\n\r\n if (i < len) {\r\n if (i) x.c.push(+str.slice(0, i));\r\n\r\n for (len -= LOG_BASE; i < len;) {\r\n x.c.push(+str.slice(i, i += LOG_BASE));\r\n }\r\n\r\n i = LOG_BASE - (str = str.slice(i)).length;\r\n } else {\r\n i -= len;\r\n }\r\n\r\n for (; i--; str += '0');\r\n x.c.push(+str);\r\n }\r\n } else {\r\n\r\n // Zero.\r\n x.c = [x.e = 0];\r\n }\r\n }\r\n\r\n\r\n // CONSTRUCTOR PROPERTIES\r\n\r\n\r\n BigNumber.clone = clone;\r\n\r\n BigNumber.ROUND_UP = 0;\r\n BigNumber.ROUND_DOWN = 1;\r\n BigNumber.ROUND_CEIL = 2;\r\n BigNumber.ROUND_FLOOR = 3;\r\n BigNumber.ROUND_HALF_UP = 4;\r\n BigNumber.ROUND_HALF_DOWN = 5;\r\n BigNumber.ROUND_HALF_EVEN = 6;\r\n BigNumber.ROUND_HALF_CEIL = 7;\r\n BigNumber.ROUND_HALF_FLOOR = 8;\r\n BigNumber.EUCLID = 9;\r\n\r\n\r\n /*\r\n * Configure infrequently-changing library-wide settings.\r\n *\r\n * Accept an object with the following optional properties (if the value of a property is\r\n * a number, it must be an integer within the inclusive range stated):\r\n *\r\n * DECIMAL_PLACES {number} 0 to MAX\r\n * ROUNDING_MODE {number} 0 to 8\r\n * EXPONENTIAL_AT {number|number[]} -MAX to MAX or [-MAX to 0, 0 to MAX]\r\n * RANGE {number|number[]} -MAX to MAX (not zero) or [-MAX to -1, 1 to MAX]\r\n * CRYPTO {boolean} true or false\r\n * MODULO_MODE {number} 0 to 9\r\n * POW_PRECISION {number} 0 to MAX\r\n * ALPHABET {string} A string of two or more unique characters which does\r\n * not contain '.'.\r\n * FORMAT {object} An object with some of the following properties:\r\n * prefix {string}\r\n * groupSize {number}\r\n * secondaryGroupSize {number}\r\n * groupSeparator {string}\r\n * decimalSeparator {string}\r\n * fractionGroupSize {number}\r\n * fractionGroupSeparator {string}\r\n * suffix {string}\r\n *\r\n * (The values assigned to the above FORMAT object properties are not checked for validity.)\r\n *\r\n * E.g.\r\n * BigNumber.config({ DECIMAL_PLACES : 20, ROUNDING_MODE : 4 })\r\n *\r\n * Ignore properties/parameters set to null or undefined, except for ALPHABET.\r\n *\r\n * Return an object with the properties current values.\r\n */\r\n BigNumber.config = BigNumber.set = function (obj) {\r\n var p, v;\r\n\r\n if (obj != null) {\r\n\r\n if (typeof obj == 'object') {\r\n\r\n // DECIMAL_PLACES {number} Integer, 0 to MAX inclusive.\r\n // '[BigNumber Error] DECIMAL_PLACES {not a primitive number|not an integer|out of range}: {v}'\r\n if (obj.hasOwnProperty(p = 'DECIMAL_PLACES')) {\r\n v = obj[p];\r\n intCheck(v, 0, MAX, p);\r\n DECIMAL_PLACES = v;\r\n }\r\n\r\n // ROUNDING_MODE {number} Integer, 0 to 8 inclusive.\r\n // '[BigNumber Error] ROUNDING_MODE {not a primitive number|not an integer|out of range}: {v}'\r\n if (obj.hasOwnProperty(p = 'ROUNDING_MODE')) {\r\n v = obj[p];\r\n intCheck(v, 0, 8, p);\r\n ROUNDING_MODE = v;\r\n }\r\n\r\n // EXPONENTIAL_AT {number|number[]}\r\n // Integer, -MAX to MAX inclusive or\r\n // [integer -MAX to 0 inclusive, 0 to MAX inclusive].\r\n // '[BigNumber Error] EXPONENTIAL_AT {not a primitive number|not an integer|out of range}: {v}'\r\n if (obj.hasOwnProperty(p = 'EXPONENTIAL_AT')) {\r\n v = obj[p];\r\n if (v && v.pop) {\r\n intCheck(v[0], -MAX, 0, p);\r\n intCheck(v[1], 0, MAX, p);\r\n TO_EXP_NEG = v[0];\r\n TO_EXP_POS = v[1];\r\n } else {\r\n intCheck(v, -MAX, MAX, p);\r\n TO_EXP_NEG = -(TO_EXP_POS = v < 0 ? -v : v);\r\n }\r\n }\r\n\r\n // RANGE {number|number[]} Non-zero integer, -MAX to MAX inclusive or\r\n // [integer -MAX to -1 inclusive, integer 1 to MAX inclusive].\r\n // '[BigNumber Error] RANGE {not a primitive number|not an integer|out of range|cannot be zero}: {v}'\r\n if (obj.hasOwnProperty(p = 'RANGE')) {\r\n v = obj[p];\r\n if (v && v.pop) {\r\n intCheck(v[0], -MAX, -1, p);\r\n intCheck(v[1], 1, MAX, p);\r\n MIN_EXP = v[0];\r\n MAX_EXP = v[1];\r\n } else {\r\n intCheck(v, -MAX, MAX, p);\r\n if (v) {\r\n MIN_EXP = -(MAX_EXP = v < 0 ? -v : v);\r\n } else {\r\n throw Error\r\n (bignumberError + p + ' cannot be zero: ' + v);\r\n }\r\n }\r\n }\r\n\r\n // CRYPTO {boolean} true or false.\r\n // '[BigNumber Error] CRYPTO not true or false: {v}'\r\n // '[BigNumber Error] crypto unavailable'\r\n if (obj.hasOwnProperty(p = 'CRYPTO')) {\r\n v = obj[p];\r\n if (v === !!v) {\r\n if (v) {\r\n if (typeof crypto != 'undefined' && crypto &&\r\n (crypto.getRandomValues || crypto.randomBytes)) {\r\n CRYPTO = v;\r\n } else {\r\n CRYPTO = !v;\r\n throw Error\r\n (bignumberError + 'crypto unavailable');\r\n }\r\n } else {\r\n CRYPTO = v;\r\n }\r\n } else {\r\n throw Error\r\n (bignumberError + p + ' not true or false: ' + v);\r\n }\r\n }\r\n\r\n // MODULO_MODE {number} Integer, 0 to 9 inclusive.\r\n // '[BigNumber Error] MODULO_MODE {not a primitive number|not an integer|out of range}: {v}'\r\n if (obj.hasOwnProperty(p = 'MODULO_MODE')) {\r\n v = obj[p];\r\n intCheck(v, 0, 9, p);\r\n MODULO_MODE = v;\r\n }\r\n\r\n // POW_PRECISION {number} Integer, 0 to MAX inclusive.\r\n // '[BigNumber Error] POW_PRECISION {not a primitive number|not an integer|out of range}: {v}'\r\n if (obj.hasOwnProperty(p = 'POW_PRECISION')) {\r\n v = obj[p];\r\n intCheck(v, 0, MAX, p);\r\n POW_PRECISION = v;\r\n }\r\n\r\n // FORMAT {object}\r\n // '[BigNumber Error] FORMAT not an object: {v}'\r\n if (obj.hasOwnProperty(p = 'FORMAT')) {\r\n v = obj[p];\r\n if (typeof v == 'object') FORMAT = v;\r\n else throw Error\r\n (bignumberError + p + ' not an object: ' + v);\r\n }\r\n\r\n // ALPHABET {string}\r\n // '[BigNumber Error] ALPHABET invalid: {v}'\r\n if (obj.hasOwnProperty(p = 'ALPHABET')) {\r\n v = obj[p];\r\n\r\n // Disallow if less than two characters,\r\n // or if it contains '+', '-', '.', whitespace, or a repeated character.\r\n if (typeof v == 'string' && !/^.?$|[+\\-.\\s]|(.).*\\1/.test(v)) {\r\n alphabetHasNormalDecimalDigits = v.slice(0, 10) == '0123456789';\r\n ALPHABET = v;\r\n } else {\r\n throw Error\r\n (bignumberError + p + ' invalid: ' + v);\r\n }\r\n }\r\n\r\n } else {\r\n\r\n // '[BigNumber Error] Object expected: {v}'\r\n throw Error\r\n (bignumberError + 'Object expected: ' + obj);\r\n }\r\n }\r\n\r\n return {\r\n DECIMAL_PLACES: DECIMAL_PLACES,\r\n ROUNDING_MODE: ROUNDING_MODE,\r\n EXPONENTIAL_AT: [TO_EXP_NEG, TO_EXP_POS],\r\n RANGE: [MIN_EXP, MAX_EXP],\r\n CRYPTO: CRYPTO,\r\n MODULO_MODE: MODULO_MODE,\r\n POW_PRECISION: POW_PRECISION,\r\n FORMAT: FORMAT,\r\n ALPHABET: ALPHABET\r\n };\r\n };\r\n\r\n\r\n /*\r\n * Return true if v is a BigNumber instance, otherwise return false.\r\n *\r\n * If BigNumber.DEBUG is true, throw if a BigNumber instance is not well-formed.\r\n *\r\n * v {any}\r\n *\r\n * '[BigNumber Error] Invalid BigNumber: {v}'\r\n */\r\n BigNumber.isBigNumber = function (v) {\r\n if (!v || v._isBigNumber !== true) return false;\r\n if (!BigNumber.DEBUG) return true;\r\n\r\n var i, n,\r\n c = v.c,\r\n e = v.e,\r\n s = v.s;\r\n\r\n out: if ({}.toString.call(c) == '[object Array]') {\r\n\r\n if ((s === 1 || s === -1) && e >= -MAX && e <= MAX && e === mathfloor(e)) {\r\n\r\n // If the first element is zero, the BigNumber value must be zero.\r\n if (c[0] === 0) {\r\n if (e === 0 && c.length === 1) return true;\r\n break out;\r\n }\r\n\r\n // Calculate number of digits that c[0] should have, based on the exponent.\r\n i = (e + 1) % LOG_BASE;\r\n if (i < 1) i += LOG_BASE;\r\n\r\n // Calculate number of digits of c[0].\r\n //if (Math.ceil(Math.log(c[0] + 1) / Math.LN10) == i) {\r\n if (String(c[0]).length == i) {\r\n\r\n for (i = 0; i < c.length; i++) {\r\n n = c[i];\r\n if (n < 0 || n >= BASE || n !== mathfloor(n)) break out;\r\n }\r\n\r\n // Last element cannot be zero, unless it is the only element.\r\n if (n !== 0) return true;\r\n }\r\n }\r\n\r\n // Infinity/NaN\r\n } else if (c === null && e === null && (s === null || s === 1 || s === -1)) {\r\n return true;\r\n }\r\n\r\n throw Error\r\n (bignumberError + 'Invalid BigNumber: ' + v);\r\n };\r\n\r\n\r\n /*\r\n * Return a new BigNumber whose value is the maximum of the arguments.\r\n *\r\n * arguments {number|string|BigNumber}\r\n */\r\n BigNumber.maximum = BigNumber.max = function () {\r\n return maxOrMin(arguments, -1);\r\n };\r\n\r\n\r\n /*\r\n * Return a new BigNumber whose value is the minimum of the arguments.\r\n *\r\n * arguments {number|string|BigNumber}\r\n */\r\n BigNumber.minimum = BigNumber.min = function () {\r\n return maxOrMin(arguments, 1);\r\n };\r\n\r\n\r\n /*\r\n * Return a new BigNumber with a random value equal to or greater than 0 and less than 1,\r\n * and with dp, or DECIMAL_PLACES if dp is omitted, decimal places (or less if trailing\r\n * zeros are produced).\r\n *\r\n * [dp] {number} Decimal places. Integer, 0 to MAX inclusive.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {dp}'\r\n * '[BigNumber Error] crypto unavailable'\r\n */\r\n BigNumber.random = (function () {\r\n var pow2_53 = 0x20000000000000;\r\n\r\n // Return a 53 bit integer n, where 0 <= n < 9007199254740992.\r\n // Check if Math.random() produces more than 32 bits of randomness.\r\n // If it does, assume at least 53 bits are produced, otherwise assume at least 30 bits.\r\n // 0x40000000 is 2^30, 0x800000 is 2^23, 0x1fffff is 2^21 - 1.\r\n var random53bitInt = (Math.random() * pow2_53) & 0x1fffff\r\n ? function () { return mathfloor(Math.random() * pow2_53); }\r\n : function () { return ((Math.random() * 0x40000000 | 0) * 0x800000) +\r\n (Math.random() * 0x800000 | 0); };\r\n\r\n return function (dp) {\r\n var a, b, e, k, v,\r\n i = 0,\r\n c = [],\r\n rand = new BigNumber(ONE);\r\n\r\n if (dp == null) dp = DECIMAL_PLACES;\r\n else intCheck(dp, 0, MAX);\r\n\r\n k = mathceil(dp / LOG_BASE);\r\n\r\n if (CRYPTO) {\r\n\r\n // Browsers supporting crypto.getRandomValues.\r\n if (crypto.getRandomValues) {\r\n\r\n a = crypto.getRandomValues(new Uint32Array(k *= 2));\r\n\r\n for (; i < k;) {\r\n\r\n // 53 bits:\r\n // ((Math.pow(2, 32) - 1) * Math.pow(2, 21)).toString(2)\r\n // 11111 11111111 11111111 11111111 11100000 00000000 00000000\r\n // ((Math.pow(2, 32) - 1) >>> 11).toString(2)\r\n // 11111 11111111 11111111\r\n // 0x20000 is 2^21.\r\n v = a[i] * 0x20000 + (a[i + 1] >>> 11);\r\n\r\n // Rejection sampling:\r\n // 0 <= v < 9007199254740992\r\n // Probability that v >= 9e15, is\r\n // 7199254740992 / 9007199254740992 ~= 0.0008, i.e. 1 in 1251\r\n if (v >= 9e15) {\r\n b = crypto.getRandomValues(new Uint32Array(2));\r\n a[i] = b[0];\r\n a[i + 1] = b[1];\r\n } else {\r\n\r\n // 0 <= v <= 8999999999999999\r\n // 0 <= (v % 1e14) <= 99999999999999\r\n c.push(v % 1e14);\r\n i += 2;\r\n }\r\n }\r\n i = k / 2;\r\n\r\n // Node.js supporting crypto.randomBytes.\r\n } else if (crypto.randomBytes) {\r\n\r\n // buffer\r\n a = crypto.randomBytes(k *= 7);\r\n\r\n for (; i < k;) {\r\n\r\n // 0x1000000000000 is 2^48, 0x10000000000 is 2^40\r\n // 0x100000000 is 2^32, 0x1000000 is 2^24\r\n // 11111 11111111 11111111 11111111 11111111 11111111 11111111\r\n // 0 <= v < 9007199254740992\r\n v = ((a[i] & 31) * 0x1000000000000) + (a[i + 1] * 0x10000000000) +\r\n (a[i + 2] * 0x100000000) + (a[i + 3] * 0x1000000) +\r\n (a[i + 4] << 16) + (a[i + 5] << 8) + a[i + 6];\r\n\r\n if (v >= 9e15) {\r\n crypto.randomBytes(7).copy(a, i);\r\n } else {\r\n\r\n // 0 <= (v % 1e14) <= 99999999999999\r\n c.push(v % 1e14);\r\n i += 7;\r\n }\r\n }\r\n i = k / 7;\r\n } else {\r\n CRYPTO = false;\r\n throw Error\r\n (bignumberError + 'crypto unavailable');\r\n }\r\n }\r\n\r\n // Use Math.random.\r\n if (!CRYPTO) {\r\n\r\n for (; i < k;) {\r\n v = random53bitInt();\r\n if (v < 9e15) c[i++] = v % 1e14;\r\n }\r\n }\r\n\r\n k = c[--i];\r\n dp %= LOG_BASE;\r\n\r\n // Convert trailing digits to zeros according to dp.\r\n if (k && dp) {\r\n v = POWS_TEN[LOG_BASE - dp];\r\n c[i] = mathfloor(k / v) * v;\r\n }\r\n\r\n // Remove trailing elements which are zero.\r\n for (; c[i] === 0; c.pop(), i--);\r\n\r\n // Zero?\r\n if (i < 0) {\r\n c = [e = 0];\r\n } else {\r\n\r\n // Remove leading elements which are zero and adjust exponent accordingly.\r\n for (e = -1 ; c[0] === 0; c.splice(0, 1), e -= LOG_BASE);\r\n\r\n // Count the digits of the first element of c to determine leading zeros, and...\r\n for (i = 1, v = c[0]; v >= 10; v /= 10, i++);\r\n\r\n // adjust the exponent accordingly.\r\n if (i < LOG_BASE) e -= LOG_BASE - i;\r\n }\r\n\r\n rand.e = e;\r\n rand.c = c;\r\n return rand;\r\n };\r\n })();\r\n\r\n\r\n /*\r\n * Return a BigNumber whose value is the sum of the arguments.\r\n *\r\n * arguments {number|string|BigNumber}\r\n */\r\n BigNumber.sum = function () {\r\n var i = 1,\r\n args = arguments,\r\n sum = new BigNumber(args[0]);\r\n for (; i < args.length;) sum = sum.plus(args[i++]);\r\n return sum;\r\n };\r\n\r\n\r\n // PRIVATE FUNCTIONS\r\n\r\n\r\n // Called by BigNumber and BigNumber.prototype.toString.\r\n convertBase = (function () {\r\n var decimal = '0123456789';\r\n\r\n /*\r\n * Convert string of baseIn to an array of numbers of baseOut.\r\n * Eg. toBaseOut('255', 10, 16) returns [15, 15].\r\n * Eg. toBaseOut('ff', 16, 10) returns [2, 5, 5].\r\n */\r\n function toBaseOut(str, baseIn, baseOut, alphabet) {\r\n var j,\r\n arr = [0],\r\n arrL,\r\n i = 0,\r\n len = str.length;\r\n\r\n for (; i < len;) {\r\n for (arrL = arr.length; arrL--; arr[arrL] *= baseIn);\r\n\r\n arr[0] += alphabet.indexOf(str.charAt(i++));\r\n\r\n for (j = 0; j < arr.length; j++) {\r\n\r\n if (arr[j] > baseOut - 1) {\r\n if (arr[j + 1] == null) arr[j + 1] = 0;\r\n arr[j + 1] += arr[j] / baseOut | 0;\r\n arr[j] %= baseOut;\r\n }\r\n }\r\n }\r\n\r\n return arr.reverse();\r\n }\r\n\r\n // Convert a numeric string of baseIn to a numeric string of baseOut.\r\n // If the caller is toString, we are converting from base 10 to baseOut.\r\n // If the caller is BigNumber, we are converting from baseIn to base 10.\r\n return function (str, baseIn, baseOut, sign, callerIsToString) {\r\n var alphabet, d, e, k, r, x, xc, y,\r\n i = str.indexOf('.'),\r\n dp = DECIMAL_PLACES,\r\n rm = ROUNDING_MODE;\r\n\r\n // Non-integer.\r\n if (i >= 0) {\r\n k = POW_PRECISION;\r\n\r\n // Unlimited precision.\r\n POW_PRECISION = 0;\r\n str = str.replace('.', '');\r\n y = new BigNumber(baseIn);\r\n x = y.pow(str.length - i);\r\n POW_PRECISION = k;\r\n\r\n // Convert str as if an integer, then restore the fraction part by dividing the\r\n // result by its base raised to a power.\r\n\r\n y.c = toBaseOut(toFixedPoint(coeffToString(x.c), x.e, '0'),\r\n 10, baseOut, decimal);\r\n y.e = y.c.length;\r\n }\r\n\r\n // Convert the number as integer.\r\n\r\n xc = toBaseOut(str, baseIn, baseOut, callerIsToString\r\n ? (alphabet = ALPHABET, decimal)\r\n : (alphabet = decimal, ALPHABET));\r\n\r\n // xc now represents str as an integer and converted to baseOut. e is the exponent.\r\n e = k = xc.length;\r\n\r\n // Remove trailing zeros.\r\n for (; xc[--k] == 0; xc.pop());\r\n\r\n // Zero?\r\n if (!xc[0]) return alphabet.charAt(0);\r\n\r\n // Does str represent an integer? If so, no need for the division.\r\n if (i < 0) {\r\n --e;\r\n } else {\r\n x.c = xc;\r\n x.e = e;\r\n\r\n // The sign is needed for correct rounding.\r\n x.s = sign;\r\n x = div(x, y, dp, rm, baseOut);\r\n xc = x.c;\r\n r = x.r;\r\n e = x.e;\r\n }\r\n\r\n // xc now represents str converted to baseOut.\r\n\r\n // THe index of the rounding digit.\r\n d = e + dp + 1;\r\n\r\n // The rounding digit: the digit to the right of the digit that may be rounded up.\r\n i = xc[d];\r\n\r\n // Look at the rounding digits and mode to determine whether to round up.\r\n\r\n k = baseOut / 2;\r\n r = r || d < 0 || xc[d + 1] != null;\r\n\r\n r = rm < 4 ? (i != null || r) && (rm == 0 || rm == (x.s < 0 ? 3 : 2))\r\n : i > k || i == k &&(rm == 4 || r || rm == 6 && xc[d - 1] & 1 ||\r\n rm == (x.s < 0 ? 8 : 7));\r\n\r\n // If the index of the rounding digit is not greater than zero, or xc represents\r\n // zero, then the result of the base conversion is zero or, if rounding up, a value\r\n // such as 0.00001.\r\n if (d < 1 || !xc[0]) {\r\n\r\n // 1^-dp or 0\r\n str = r ? toFixedPoint(alphabet.charAt(1), -dp, alphabet.charAt(0)) : alphabet.charAt(0);\r\n } else {\r\n\r\n // Truncate xc to the required number of decimal places.\r\n xc.length = d;\r\n\r\n // Round up?\r\n if (r) {\r\n\r\n // Rounding up may mean the previous digit has to be rounded up and so on.\r\n for (--baseOut; ++xc[--d] > baseOut;) {\r\n xc[d] = 0;\r\n\r\n if (!d) {\r\n ++e;\r\n xc = [1].concat(xc);\r\n }\r\n }\r\n }\r\n\r\n // Determine trailing zeros.\r\n for (k = xc.length; !xc[--k];);\r\n\r\n // E.g. [4, 11, 15] becomes 4bf.\r\n for (i = 0, str = ''; i <= k; str += alphabet.charAt(xc[i++]));\r\n\r\n // Add leading zeros, decimal point and trailing zeros as required.\r\n str = toFixedPoint(str, e, alphabet.charAt(0));\r\n }\r\n\r\n // The caller will add the sign.\r\n return str;\r\n };\r\n })();\r\n\r\n\r\n // Perform division in the specified base. Called by div and convertBase.\r\n div = (function () {\r\n\r\n // Assume non-zero x and k.\r\n function multiply(x, k, base) {\r\n var m, temp, xlo, xhi,\r\n carry = 0,\r\n i = x.length,\r\n klo = k % SQRT_BASE,\r\n khi = k / SQRT_BASE | 0;\r\n\r\n for (x = x.slice(); i--;) {\r\n xlo = x[i] % SQRT_BASE;\r\n xhi = x[i] / SQRT_BASE | 0;\r\n m = khi * xlo + xhi * klo;\r\n temp = klo * xlo + ((m % SQRT_BASE) * SQRT_BASE) + carry;\r\n carry = (temp / base | 0) + (m / SQRT_BASE | 0) + khi * xhi;\r\n x[i] = temp % base;\r\n }\r\n\r\n if (carry) x = [carry].concat(x);\r\n\r\n return x;\r\n }\r\n\r\n function compare(a, b, aL, bL) {\r\n var i, cmp;\r\n\r\n if (aL != bL) {\r\n cmp = aL > bL ? 1 : -1;\r\n } else {\r\n\r\n for (i = cmp = 0; i < aL; i++) {\r\n\r\n if (a[i] != b[i]) {\r\n cmp = a[i] > b[i] ? 1 : -1;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n return cmp;\r\n }\r\n\r\n function subtract(a, b, aL, base) {\r\n var i = 0;\r\n\r\n // Subtract b from a.\r\n for (; aL--;) {\r\n a[aL] -= i;\r\n i = a[aL] < b[aL] ? 1 : 0;\r\n a[aL] = i * base + a[aL] - b[aL];\r\n }\r\n\r\n // Remove leading zeros.\r\n for (; !a[0] && a.length > 1; a.splice(0, 1));\r\n }\r\n\r\n // x: dividend, y: divisor.\r\n return function (x, y, dp, rm, base) {\r\n var cmp, e, i, more, n, prod, prodL, q, qc, rem, remL, rem0, xi, xL, yc0,\r\n yL, yz,\r\n s = x.s == y.s ? 1 : -1,\r\n xc = x.c,\r\n yc = y.c;\r\n\r\n // Either NaN, Infinity or 0?\r\n if (!xc || !xc[0] || !yc || !yc[0]) {\r\n\r\n return new BigNumber(\r\n\r\n // Return NaN if either NaN, or both Infinity or 0.\r\n !x.s || !y.s || (xc ? yc && xc[0] == yc[0] : !yc) ? NaN :\r\n\r\n // Return \u00B10 if x is \u00B10 or y is \u00B1Infinity, or return \u00B1Infinity as y is \u00B10.\r\n xc && xc[0] == 0 || !yc ? s * 0 : s / 0\r\n );\r\n }\r\n\r\n q = new BigNumber(s);\r\n qc = q.c = [];\r\n e = x.e - y.e;\r\n s = dp + e + 1;\r\n\r\n if (!base) {\r\n base = BASE;\r\n e = bitFloor(x.e / LOG_BASE) - bitFloor(y.e / LOG_BASE);\r\n s = s / LOG_BASE | 0;\r\n }\r\n\r\n // Result exponent may be one less then the current value of e.\r\n // The coefficients of the BigNumbers from convertBase may have trailing zeros.\r\n for (i = 0; yc[i] == (xc[i] || 0); i++);\r\n\r\n if (yc[i] > (xc[i] || 0)) e--;\r\n\r\n if (s < 0) {\r\n qc.push(1);\r\n more = true;\r\n } else {\r\n xL = xc.length;\r\n yL = yc.length;\r\n i = 0;\r\n s += 2;\r\n\r\n // Normalise xc and yc so highest order digit of yc is >= base / 2.\r\n\r\n n = mathfloor(base / (yc[0] + 1));\r\n\r\n // Not necessary, but to handle odd bases where yc[0] == (base / 2) - 1.\r\n // if (n > 1 || n++ == 1 && yc[0] < base / 2) {\r\n if (n > 1) {\r\n yc = multiply(yc, n, base);\r\n xc = multiply(xc, n, base);\r\n yL = yc.length;\r\n xL = xc.length;\r\n }\r\n\r\n xi = yL;\r\n rem = xc.slice(0, yL);\r\n remL = rem.length;\r\n\r\n // Add zeros to make remainder as long as divisor.\r\n for (; remL < yL; rem[remL++] = 0);\r\n yz = yc.slice();\r\n yz = [0].concat(yz);\r\n yc0 = yc[0];\r\n if (yc[1] >= base / 2) yc0++;\r\n // Not necessary, but to prevent trial digit n > base, when using base 3.\r\n // else if (base == 3 && yc0 == 1) yc0 = 1 + 1e-15;\r\n\r\n do {\r\n n = 0;\r\n\r\n // Compare divisor and remainder.\r\n cmp = compare(yc, rem, yL, remL);\r\n\r\n // If divisor < remainder.\r\n if (cmp < 0) {\r\n\r\n // Calculate trial digit, n.\r\n\r\n rem0 = rem[0];\r\n if (yL != remL) rem0 = rem0 * base + (rem[1] || 0);\r\n\r\n // n is how many times the divisor goes into the current remainder.\r\n n = mathfloor(rem0 / yc0);\r\n\r\n // Algorithm:\r\n // product = divisor multiplied by trial digit (n).\r\n // Compare product and remainder.\r\n // If product is greater than remainder:\r\n // Subtract divisor from product, decrement trial digit.\r\n // Subtract product from remainder.\r\n // If product was less than remainder at the last compare:\r\n // Compare new remainder and divisor.\r\n // If remainder is greater than divisor:\r\n // Subtract divisor from remainder, increment trial digit.\r\n\r\n if (n > 1) {\r\n\r\n // n may be > base only when base is 3.\r\n if (n >= base) n = base - 1;\r\n\r\n // product = divisor * trial digit.\r\n prod = multiply(yc, n, base);\r\n prodL = prod.length;\r\n remL = rem.length;\r\n\r\n // Compare product and remainder.\r\n // If product > remainder then trial digit n too high.\r\n // n is 1 too high about 5% of the time, and is not known to have\r\n // ever been more than 1 too high.\r\n while (compare(prod, rem, prodL, remL) == 1) {\r\n n--;\r\n\r\n // Subtract divisor from product.\r\n subtract(prod, yL < prodL ? yz : yc, prodL, base);\r\n prodL = prod.length;\r\n cmp = 1;\r\n }\r\n } else {\r\n\r\n // n is 0 or 1, cmp is -1.\r\n // If n is 0, there is no need to compare yc and rem again below,\r\n // so change cmp to 1 to avoid it.\r\n // If n is 1, leave cmp as -1, so yc and rem are compared again.\r\n if (n == 0) {\r\n\r\n // divisor < remainder, so n must be at least 1.\r\n cmp = n = 1;\r\n }\r\n\r\n // product = divisor\r\n prod = yc.slice();\r\n prodL = prod.length;\r\n }\r\n\r\n if (prodL < remL) prod = [0].concat(prod);\r\n\r\n // Subtract product from remainder.\r\n subtract(rem, prod, remL, base);\r\n remL = rem.length;\r\n\r\n // If product was < remainder.\r\n if (cmp == -1) {\r\n\r\n // Compare divisor and new remainder.\r\n // If divisor < new remainder, subtract divisor from remainder.\r\n // Trial digit n too low.\r\n // n is 1 too low about 5% of the time, and very rarely 2 too low.\r\n while (compare(yc, rem, yL, remL) < 1) {\r\n n++;\r\n\r\n // Subtract divisor from remainder.\r\n subtract(rem, yL < remL ? yz : yc, remL, base);\r\n remL = rem.length;\r\n }\r\n }\r\n } else if (cmp === 0) {\r\n n++;\r\n rem = [0];\r\n } // else cmp === 1 and n will be 0\r\n\r\n // Add the next digit, n, to the result array.\r\n qc[i++] = n;\r\n\r\n // Update the remainder.\r\n if (rem[0]) {\r\n rem[remL++] = xc[xi] || 0;\r\n } else {\r\n rem = [xc[xi]];\r\n remL = 1;\r\n }\r\n } while ((xi++ < xL || rem[0] != null) && s--);\r\n\r\n more = rem[0] != null;\r\n\r\n // Leading zero?\r\n if (!qc[0]) qc.splice(0, 1);\r\n }\r\n\r\n if (base == BASE) {\r\n\r\n // To calculate q.e, first get the number of digits of qc[0].\r\n for (i = 1, s = qc[0]; s >= 10; s /= 10, i++);\r\n\r\n round(q, dp + (q.e = i + e * LOG_BASE - 1) + 1, rm, more);\r\n\r\n // Caller is convertBase.\r\n } else {\r\n q.e = e;\r\n q.r = +more;\r\n }\r\n\r\n return q;\r\n };\r\n })();\r\n\r\n\r\n /*\r\n * Return a string representing the value of BigNumber n in fixed-point or exponential\r\n * notation rounded to the specified decimal places or significant digits.\r\n *\r\n * n: a BigNumber.\r\n * i: the index of the last digit required (i.e. the digit that may be rounded up).\r\n * rm: the rounding mode.\r\n * id: 1 (toExponential) or 2 (toPrecision).\r\n */\r\n function format(n, i, rm, id) {\r\n var c0, e, ne, len, str;\r\n\r\n if (rm == null) rm = ROUNDING_MODE;\r\n else intCheck(rm, 0, 8);\r\n\r\n if (!n.c) return n.toString();\r\n\r\n c0 = n.c[0];\r\n ne = n.e;\r\n\r\n if (i == null) {\r\n str = coeffToString(n.c);\r\n str = id == 1 || id == 2 && (ne <= TO_EXP_NEG || ne >= TO_EXP_POS)\r\n ? toExponential(str, ne)\r\n : toFixedPoint(str, ne, '0');\r\n } else {\r\n n = round(new BigNumber(n), i, rm);\r\n\r\n // n.e may have changed if the value was rounded up.\r\n e = n.e;\r\n\r\n str = coeffToString(n.c);\r\n len = str.length;\r\n\r\n // toPrecision returns exponential notation if the number of significant digits\r\n // specified is less than the number of digits necessary to represent the integer\r\n // part of the value in fixed-point notation.\r\n\r\n // Exponential notation.\r\n if (id == 1 || id == 2 && (i <= e || e <= TO_EXP_NEG)) {\r\n\r\n // Append zeros?\r\n for (; len < i; str += '0', len++);\r\n str = toExponential(str, e);\r\n\r\n // Fixed-point notation.\r\n } else {\r\n i -= ne;\r\n str = toFixedPoint(str, e, '0');\r\n\r\n // Append zeros?\r\n if (e + 1 > len) {\r\n if (--i > 0) for (str += '.'; i--; str += '0');\r\n } else {\r\n i += e - len;\r\n if (i > 0) {\r\n if (e + 1 == len) str += '.';\r\n for (; i--; str += '0');\r\n }\r\n }\r\n }\r\n }\r\n\r\n return n.s < 0 && c0 ? '-' + str : str;\r\n }\r\n\r\n\r\n // Handle BigNumber.max and BigNumber.min.\r\n // If any number is NaN, return NaN.\r\n function maxOrMin(args, n) {\r\n var k, y,\r\n i = 1,\r\n x = new BigNumber(args[0]);\r\n\r\n for (; i < args.length; i++) {\r\n y = new BigNumber(args[i]);\r\n if (!y.s || (k = compare(x, y)) === n || k === 0 && x.s === n) {\r\n x = y;\r\n }\r\n }\r\n\r\n return x;\r\n }\r\n\r\n\r\n /*\r\n * Strip trailing zeros, calculate base 10 exponent and check against MIN_EXP and MAX_EXP.\r\n * Called by minus, plus and times.\r\n */\r\n function normalise(n, c, e) {\r\n var i = 1,\r\n j = c.length;\r\n\r\n // Remove trailing zeros.\r\n for (; !c[--j]; c.pop());\r\n\r\n // Calculate the base 10 exponent. First get the number of digits of c[0].\r\n for (j = c[0]; j >= 10; j /= 10, i++);\r\n\r\n // Overflow?\r\n if ((e = i + e * LOG_BASE - 1) > MAX_EXP) {\r\n\r\n // Infinity.\r\n n.c = n.e = null;\r\n\r\n // Underflow?\r\n } else if (e < MIN_EXP) {\r\n\r\n // Zero.\r\n n.c = [n.e = 0];\r\n } else {\r\n n.e = e;\r\n n.c = c;\r\n }\r\n\r\n return n;\r\n }\r\n\r\n\r\n // Handle values that fail the validity test in BigNumber.\r\n parseNumeric = (function () {\r\n var basePrefix = /^(-?)0([xbo])(?=\\w[\\w.]*$)/i,\r\n dotAfter = /^([^.]+)\\.$/,\r\n dotBefore = /^\\.([^.]+)$/,\r\n isInfinityOrNaN = /^-?(Infinity|NaN)$/,\r\n whitespaceOrPlus = /^\\s*\\+(?=[\\w.])|^\\s+|\\s+$/g;\r\n\r\n return function (x, str, isNum, b) {\r\n var base,\r\n s = isNum ? str : str.replace(whitespaceOrPlus, '');\r\n\r\n // No exception on \u00B1Infinity or NaN.\r\n if (isInfinityOrNaN.test(s)) {\r\n x.s = isNaN(s) ? null : s < 0 ? -1 : 1;\r\n } else {\r\n if (!isNum) {\r\n\r\n // basePrefix = /^(-?)0([xbo])(?=\\w[\\w.]*$)/i\r\n s = s.replace(basePrefix, function (m, p1, p2) {\r\n base = (p2 = p2.toLowerCase()) == 'x' ? 16 : p2 == 'b' ? 2 : 8;\r\n return !b || b == base ? p1 : m;\r\n });\r\n\r\n if (b) {\r\n base = b;\r\n\r\n // E.g. '1.' to '1', '.1' to '0.1'\r\n s = s.replace(dotAfter, '$1').replace(dotBefore, '0.$1');\r\n }\r\n\r\n if (str != s) return new BigNumber(s, base);\r\n }\r\n\r\n // '[BigNumber Error] Not a number: {n}'\r\n // '[BigNumber Error] Not a base {b} number: {n}'\r\n if (BigNumber.DEBUG) {\r\n throw Error\r\n (bignumberError + 'Not a' + (b ? ' base ' + b : '') + ' number: ' + str);\r\n }\r\n\r\n // NaN\r\n x.s = null;\r\n }\r\n\r\n x.c = x.e = null;\r\n }\r\n })();\r\n\r\n\r\n /*\r\n * Round x to sd significant digits using rounding mode rm. Check for over/under-flow.\r\n * If r is truthy, it is known that there are more digits after the rounding digit.\r\n */\r\n function round(x, sd, rm, r) {\r\n var d, i, j, k, n, ni, rd,\r\n xc = x.c,\r\n pows10 = POWS_TEN;\r\n\r\n // if x is not Infinity or NaN...\r\n if (xc) {\r\n\r\n // rd is the rounding digit, i.e. the digit after the digit that may be rounded up.\r\n // n is a base 1e14 number, the value of the element of array x.c containing rd.\r\n // ni is the index of n within x.c.\r\n // d is the number of digits of n.\r\n // i is the index of rd within n including leading zeros.\r\n // j is the actual index of rd within n (if < 0, rd is a leading zero).\r\n out: {\r\n\r\n // Get the number of digits of the first element of xc.\r\n for (d = 1, k = xc[0]; k >= 10; k /= 10, d++);\r\n i = sd - d;\r\n\r\n // If the rounding digit is in the first element of xc...\r\n if (i < 0) {\r\n i += LOG_BASE;\r\n j = sd;\r\n n = xc[ni = 0];\r\n\r\n // Get the rounding digit at index j of n.\r\n rd = mathfloor(n / pows10[d - j - 1] % 10);\r\n } else {\r\n ni = mathceil((i + 1) / LOG_BASE);\r\n\r\n if (ni >= xc.length) {\r\n\r\n if (r) {\r\n\r\n // Needed by sqrt.\r\n for (; xc.length <= ni; xc.push(0));\r\n n = rd = 0;\r\n d = 1;\r\n i %= LOG_BASE;\r\n j = i - LOG_BASE + 1;\r\n } else {\r\n break out;\r\n }\r\n } else {\r\n n = k = xc[ni];\r\n\r\n // Get the number of digits of n.\r\n for (d = 1; k >= 10; k /= 10, d++);\r\n\r\n // Get the index of rd within n.\r\n i %= LOG_BASE;\r\n\r\n // Get the index of rd within n, adjusted for leading zeros.\r\n // The number of leading zeros of n is given by LOG_BASE - d.\r\n j = i - LOG_BASE + d;\r\n\r\n // Get the rounding digit at index j of n.\r\n rd = j < 0 ? 0 : mathfloor(n / pows10[d - j - 1] % 10);\r\n }\r\n }\r\n\r\n r = r || sd < 0 ||\r\n\r\n // Are there any non-zero digits after the rounding digit?\r\n // The expression n % pows10[d - j - 1] returns all digits of n to the right\r\n // of the digit at j, e.g. if n is 908714 and j is 2, the expression gives 714.\r\n xc[ni + 1] != null || (j < 0 ? n : n % pows10[d - j - 1]);\r\n\r\n r = rm < 4\r\n ? (rd || r) && (rm == 0 || rm == (x.s < 0 ? 3 : 2))\r\n : rd > 5 || rd == 5 && (rm == 4 || r || rm == 6 &&\r\n\r\n // Check whether the digit to the left of the rounding digit is odd.\r\n ((i > 0 ? j > 0 ? n / pows10[d - j] : 0 : xc[ni - 1]) % 10) & 1 ||\r\n rm == (x.s < 0 ? 8 : 7));\r\n\r\n if (sd < 1 || !xc[0]) {\r\n xc.length = 0;\r\n\r\n if (r) {\r\n\r\n // Convert sd to decimal places.\r\n sd -= x.e + 1;\r\n\r\n // 1, 0.1, 0.01, 0.001, 0.0001 etc.\r\n xc[0] = pows10[(LOG_BASE - sd % LOG_BASE) % LOG_BASE];\r\n x.e = -sd || 0;\r\n } else {\r\n\r\n // Zero.\r\n xc[0] = x.e = 0;\r\n }\r\n\r\n return x;\r\n }\r\n\r\n // Remove excess digits.\r\n if (i == 0) {\r\n xc.length = ni;\r\n k = 1;\r\n ni--;\r\n } else {\r\n xc.length = ni + 1;\r\n k = pows10[LOG_BASE - i];\r\n\r\n // E.g. 56700 becomes 56000 if 7 is the rounding digit.\r\n // j > 0 means i > number of leading zeros of n.\r\n xc[ni] = j > 0 ? mathfloor(n / pows10[d - j] % pows10[j]) * k : 0;\r\n }\r\n\r\n // Round up?\r\n if (r) {\r\n\r\n for (; ;) {\r\n\r\n // If the digit to be rounded up is in the first element of xc...\r\n if (ni == 0) {\r\n\r\n // i will be the length of xc[0] before k is added.\r\n for (i = 1, j = xc[0]; j >= 10; j /= 10, i++);\r\n j = xc[0] += k;\r\n for (k = 1; j >= 10; j /= 10, k++);\r\n\r\n // if i != k the length has increased.\r\n if (i != k) {\r\n x.e++;\r\n if (xc[0] == BASE) xc[0] = 1;\r\n }\r\n\r\n break;\r\n } else {\r\n xc[ni] += k;\r\n if (xc[ni] != BASE) break;\r\n xc[ni--] = 0;\r\n k = 1;\r\n }\r\n }\r\n }\r\n\r\n // Remove trailing zeros.\r\n for (i = xc.length; xc[--i] === 0; xc.pop());\r\n }\r\n\r\n // Overflow? Infinity.\r\n if (x.e > MAX_EXP) {\r\n x.c = x.e = null;\r\n\r\n // Underflow? Zero.\r\n } else if (x.e < MIN_EXP) {\r\n x.c = [x.e = 0];\r\n }\r\n }\r\n\r\n return x;\r\n }\r\n\r\n\r\n function valueOf(n) {\r\n var str,\r\n e = n.e;\r\n\r\n if (e === null) return n.toString();\r\n\r\n str = coeffToString(n.c);\r\n\r\n str = e <= TO_EXP_NEG || e >= TO_EXP_POS\r\n ? toExponential(str, e)\r\n : toFixedPoint(str, e, '0');\r\n\r\n return n.s < 0 ? '-' + str : str;\r\n }\r\n\r\n\r\n // PROTOTYPE/INSTANCE METHODS\r\n\r\n\r\n /*\r\n * Return a new BigNumber whose value is the absolute value of this BigNumber.\r\n */\r\n P.absoluteValue = P.abs = function () {\r\n var x = new BigNumber(this);\r\n if (x.s < 0) x.s = 1;\r\n return x;\r\n };\r\n\r\n\r\n /*\r\n * Return\r\n * 1 if the value of this BigNumber is greater than the value of BigNumber(y, b),\r\n * -1 if the value of this BigNumber is less than the value of BigNumber(y, b),\r\n * 0 if they have the same value,\r\n * or null if the value of either is NaN.\r\n */\r\n P.comparedTo = function (y, b) {\r\n return compare(this, new BigNumber(y, b));\r\n };\r\n\r\n\r\n /*\r\n * If dp is undefined or null or true or false, return the number of decimal places of the\r\n * value of this BigNumber, or null if the value of this BigNumber is \u00B1Infinity or NaN.\r\n *\r\n * Otherwise, if dp is a number, return a new BigNumber whose value is the value of this\r\n * BigNumber rounded to a maximum of dp decimal places using rounding mode rm, or\r\n * ROUNDING_MODE if rm is omitted.\r\n *\r\n * [dp] {number} Decimal places: integer, 0 to MAX inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {dp|rm}'\r\n */\r\n P.decimalPlaces = P.dp = function (dp, rm) {\r\n var c, n, v,\r\n x = this;\r\n\r\n if (dp != null) {\r\n intCheck(dp, 0, MAX);\r\n if (rm == null) rm = ROUNDING_MODE;\r\n else intCheck(rm, 0, 8);\r\n\r\n return round(new BigNumber(x), dp + x.e + 1, rm);\r\n }\r\n\r\n if (!(c = x.c)) return null;\r\n n = ((v = c.length - 1) - bitFloor(this.e / LOG_BASE)) * LOG_BASE;\r\n\r\n // Subtract the number of trailing zeros of the last number.\r\n if (v = c[v]) for (; v % 10 == 0; v /= 10, n--);\r\n if (n < 0) n = 0;\r\n\r\n return n;\r\n };\r\n\r\n\r\n /*\r\n * n / 0 = I\r\n * n / N = N\r\n * n / I = 0\r\n * 0 / n = 0\r\n * 0 / 0 = N\r\n * 0 / N = N\r\n * 0 / I = 0\r\n * N / n = N\r\n * N / 0 = N\r\n * N / N = N\r\n * N / I = N\r\n * I / n = I\r\n * I / 0 = I\r\n * I / N = N\r\n * I / I = N\r\n *\r\n * Return a new BigNumber whose value is the value of this BigNumber divided by the value of\r\n * BigNumber(y, b), rounded according to DECIMAL_PLACES and ROUNDING_MODE.\r\n */\r\n P.dividedBy = P.div = function (y, b) {\r\n return div(this, new BigNumber(y, b), DECIMAL_PLACES, ROUNDING_MODE);\r\n };\r\n\r\n\r\n /*\r\n * Return a new BigNumber whose value is the integer part of dividing the value of this\r\n * BigNumber by the value of BigNumber(y, b).\r\n */\r\n P.dividedToIntegerBy = P.idiv = function (y, b) {\r\n return div(this, new BigNumber(y, b), 0, 1);\r\n };\r\n\r\n\r\n /*\r\n * Return a BigNumber whose value is the value of this BigNumber exponentiated by n.\r\n *\r\n * If m is present, return the result modulo m.\r\n * If n is negative round according to DECIMAL_PLACES and ROUNDING_MODE.\r\n * If POW_PRECISION is non-zero and m is not present, round to POW_PRECISION using ROUNDING_MODE.\r\n *\r\n * The modular power operation works efficiently when x, n, and m are integers, otherwise it\r\n * is equivalent to calculating x.exponentiatedBy(n).modulo(m) with a POW_PRECISION of 0.\r\n *\r\n * n {number|string|BigNumber} The exponent. An integer.\r\n * [m] {number|string|BigNumber} The modulus.\r\n *\r\n * '[BigNumber Error] Exponent not an integer: {n}'\r\n */\r\n P.exponentiatedBy = P.pow = function (n, m) {\r\n var half, isModExp, i, k, more, nIsBig, nIsNeg, nIsOdd, y,\r\n x = this;\r\n\r\n n = new BigNumber(n);\r\n\r\n // Allow NaN and \u00B1Infinity, but not other non-integers.\r\n if (n.c && !n.isInteger()) {\r\n throw Error\r\n (bignumberError + 'Exponent not an integer: ' + valueOf(n));\r\n }\r\n\r\n if (m != null) m = new BigNumber(m);\r\n\r\n // Exponent of MAX_SAFE_INTEGER is 15.\r\n nIsBig = n.e > 14;\r\n\r\n // If x is NaN, \u00B1Infinity, \u00B10 or \u00B11, or n is \u00B1Infinity, NaN or \u00B10.\r\n if (!x.c || !x.c[0] || x.c[0] == 1 && !x.e && x.c.length == 1 || !n.c || !n.c[0]) {\r\n\r\n // The sign of the result of pow when x is negative depends on the evenness of n.\r\n // If +n overflows to \u00B1Infinity, the evenness of n would be not be known.\r\n y = new BigNumber(Math.pow(+valueOf(x), nIsBig ? n.s * (2 - isOdd(n)) : +valueOf(n)));\r\n return m ? y.mod(m) : y;\r\n }\r\n\r\n nIsNeg = n.s < 0;\r\n\r\n if (m) {\r\n\r\n // x % m returns NaN if abs(m) is zero, or m is NaN.\r\n if (m.c ? !m.c[0] : !m.s) return new BigNumber(NaN);\r\n\r\n isModExp = !nIsNeg && x.isInteger() && m.isInteger();\r\n\r\n if (isModExp) x = x.mod(m);\r\n\r\n // Overflow to \u00B1Infinity: >=2**1e10 or >=1.0000024**1e15.\r\n // Underflow to \u00B10: <=0.79**1e10 or <=0.9999975**1e15.\r\n } else if (n.e > 9 && (x.e > 0 || x.e < -1 || (x.e == 0\r\n // [1, 240000000]\r\n ? x.c[0] > 1 || nIsBig && x.c[1] >= 24e7\r\n // [80000000000000] [99999750000000]\r\n : x.c[0] < 8e13 || nIsBig && x.c[0] <= 9999975e7))) {\r\n\r\n // If x is negative and n is odd, k = -0, else k = 0.\r\n k = x.s < 0 && isOdd(n) ? -0 : 0;\r\n\r\n // If x >= 1, k = \u00B1Infinity.\r\n if (x.e > -1) k = 1 / k;\r\n\r\n // If n is negative return \u00B10, else return \u00B1Infinity.\r\n return new BigNumber(nIsNeg ? 1 / k : k);\r\n\r\n } else if (POW_PRECISION) {\r\n\r\n // Truncating each coefficient array to a length of k after each multiplication\r\n // equates to truncating significant digits to POW_PRECISION + [28, 41],\r\n // i.e. there will be a minimum of 28 guard digits retained.\r\n k = mathceil(POW_PRECISION / LOG_BASE + 2);\r\n }\r\n\r\n if (nIsBig) {\r\n half = new BigNumber(0.5);\r\n if (nIsNeg) n.s = 1;\r\n nIsOdd = isOdd(n);\r\n } else {\r\n i = Math.abs(+valueOf(n));\r\n nIsOdd = i % 2;\r\n }\r\n\r\n y = new BigNumber(ONE);\r\n\r\n // Performs 54 loop iterations for n of 9007199254740991.\r\n for (; ;) {\r\n\r\n if (nIsOdd) {\r\n y = y.times(x);\r\n if (!y.c) break;\r\n\r\n if (k) {\r\n if (y.c.length > k) y.c.length = k;\r\n } else if (isModExp) {\r\n y = y.mod(m); //y = y.minus(div(y, m, 0, MODULO_MODE).times(m));\r\n }\r\n }\r\n\r\n if (i) {\r\n i = mathfloor(i / 2);\r\n if (i === 0) break;\r\n nIsOdd = i % 2;\r\n } else {\r\n n = n.times(half);\r\n round(n, n.e + 1, 1);\r\n\r\n if (n.e > 14) {\r\n nIsOdd = isOdd(n);\r\n } else {\r\n i = +valueOf(n);\r\n if (i === 0) break;\r\n nIsOdd = i % 2;\r\n }\r\n }\r\n\r\n x = x.times(x);\r\n\r\n if (k) {\r\n if (x.c && x.c.length > k) x.c.length = k;\r\n } else if (isModExp) {\r\n x = x.mod(m); //x = x.minus(div(x, m, 0, MODULO_MODE).times(m));\r\n }\r\n }\r\n\r\n if (isModExp) return y;\r\n if (nIsNeg) y = ONE.div(y);\r\n\r\n return m ? y.mod(m) : k ? round(y, POW_PRECISION, ROUNDING_MODE, more) : y;\r\n };\r\n\r\n\r\n /*\r\n * Return a new BigNumber whose value is the value of this BigNumber rounded to an integer\r\n * using rounding mode rm, or ROUNDING_MODE if rm is omitted.\r\n *\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {rm}'\r\n */\r\n P.integerValue = function (rm) {\r\n var n = new BigNumber(this);\r\n if (rm == null) rm = ROUNDING_MODE;\r\n else intCheck(rm, 0, 8);\r\n return round(n, n.e + 1, rm);\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is equal to the value of BigNumber(y, b),\r\n * otherwise return false.\r\n */\r\n P.isEqualTo = P.eq = function (y, b) {\r\n return compare(this, new BigNumber(y, b)) === 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is a finite number, otherwise return false.\r\n */\r\n P.isFinite = function () {\r\n return !!this.c;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is greater than the value of BigNumber(y, b),\r\n * otherwise return false.\r\n */\r\n P.isGreaterThan = P.gt = function (y, b) {\r\n return compare(this, new BigNumber(y, b)) > 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is greater than or equal to the value of\r\n * BigNumber(y, b), otherwise return false.\r\n */\r\n P.isGreaterThanOrEqualTo = P.gte = function (y, b) {\r\n return (b = compare(this, new BigNumber(y, b))) === 1 || b === 0;\r\n\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is an integer, otherwise return false.\r\n */\r\n P.isInteger = function () {\r\n return !!this.c && bitFloor(this.e / LOG_BASE) > this.c.length - 2;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is less than the value of BigNumber(y, b),\r\n * otherwise return false.\r\n */\r\n P.isLessThan = P.lt = function (y, b) {\r\n return compare(this, new BigNumber(y, b)) < 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is less than or equal to the value of\r\n * BigNumber(y, b), otherwise return false.\r\n */\r\n P.isLessThanOrEqualTo = P.lte = function (y, b) {\r\n return (b = compare(this, new BigNumber(y, b))) === -1 || b === 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is NaN, otherwise return false.\r\n */\r\n P.isNaN = function () {\r\n return !this.s;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is negative, otherwise return false.\r\n */\r\n P.isNegative = function () {\r\n return this.s < 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is positive, otherwise return false.\r\n */\r\n P.isPositive = function () {\r\n return this.s > 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is 0 or -0, otherwise return false.\r\n */\r\n P.isZero = function () {\r\n return !!this.c && this.c[0] == 0;\r\n };\r\n\r\n\r\n /*\r\n * n - 0 = n\r\n * n - N = N\r\n * n - I = -I\r\n * 0 - n = -n\r\n * 0 - 0 = 0\r\n * 0 - N = N\r\n * 0 - I = -I\r\n * N - n = N\r\n * N - 0 = N\r\n * N - N = N\r\n * N - I = N\r\n * I - n = I\r\n * I - 0 = I\r\n * I - N = N\r\n * I - I = N\r\n *\r\n * Return a new BigNumber whose value is the value of this BigNumber minus the value of\r\n * BigNumber(y, b).\r\n */\r\n P.minus = function (y, b) {\r\n var i, j, t, xLTy,\r\n x = this,\r\n a = x.s;\r\n\r\n y = new BigNumber(y, b);\r\n b = y.s;\r\n\r\n // Either NaN?\r\n if (!a || !b) return new BigNumber(NaN);\r\n\r\n // Signs differ?\r\n if (a != b) {\r\n y.s = -b;\r\n return x.plus(y);\r\n }\r\n\r\n var xe = x.e / LOG_BASE,\r\n ye = y.e / LOG_BASE,\r\n xc = x.c,\r\n yc = y.c;\r\n\r\n if (!xe || !ye) {\r\n\r\n // Either Infinity?\r\n if (!xc || !yc) return xc ? (y.s = -b, y) : new BigNumber(yc ? x : NaN);\r\n\r\n // Either zero?\r\n if (!xc[0] || !yc[0]) {\r\n\r\n // Return y if y is non-zero, x if x is non-zero, or zero if both are zero.\r\n return yc[0] ? (y.s = -b, y) : new BigNumber(xc[0] ? x :\r\n\r\n // IEEE 754 (2008) 6.3: n - n = -0 when rounding to -Infinity\r\n ROUNDING_MODE == 3 ? -0 : 0);\r\n }\r\n }\r\n\r\n xe = bitFloor(xe);\r\n ye = bitFloor(ye);\r\n xc = xc.slice();\r\n\r\n // Determine which is the bigger number.\r\n if (a = xe - ye) {\r\n\r\n if (xLTy = a < 0) {\r\n a = -a;\r\n t = xc;\r\n } else {\r\n ye = xe;\r\n t = yc;\r\n }\r\n\r\n t.reverse();\r\n\r\n // Prepend zeros to equalise exponents.\r\n for (b = a; b--; t.push(0));\r\n t.reverse();\r\n } else {\r\n\r\n // Exponents equal. Check digit by digit.\r\n j = (xLTy = (a = xc.length) < (b = yc.length)) ? a : b;\r\n\r\n for (a = b = 0; b < j; b++) {\r\n\r\n if (xc[b] != yc[b]) {\r\n xLTy = xc[b] < yc[b];\r\n break;\r\n }\r\n }\r\n }\r\n\r\n // x < y? Point xc to the array of the bigger number.\r\n if (xLTy) {\r\n t = xc;\r\n xc = yc;\r\n yc = t;\r\n y.s = -y.s;\r\n }\r\n\r\n b = (j = yc.length) - (i = xc.length);\r\n\r\n // Append zeros to xc if shorter.\r\n // No need to add zeros to yc if shorter as subtract only needs to start at yc.length.\r\n if (b > 0) for (; b--; xc[i++] = 0);\r\n b = BASE - 1;\r\n\r\n // Subtract yc from xc.\r\n for (; j > a;) {\r\n\r\n if (xc[--j] < yc[j]) {\r\n for (i = j; i && !xc[--i]; xc[i] = b);\r\n --xc[i];\r\n xc[j] += BASE;\r\n }\r\n\r\n xc[j] -= yc[j];\r\n }\r\n\r\n // Remove leading zeros and adjust exponent accordingly.\r\n for (; xc[0] == 0; xc.splice(0, 1), --ye);\r\n\r\n // Zero?\r\n if (!xc[0]) {\r\n\r\n // Following IEEE 754 (2008) 6.3,\r\n // n - n = +0 but n - n = -0 when rounding towards -Infinity.\r\n y.s = ROUNDING_MODE == 3 ? -1 : 1;\r\n y.c = [y.e = 0];\r\n return y;\r\n }\r\n\r\n // No need to check for Infinity as +x - +y != Infinity && -x - -y != Infinity\r\n // for finite x and y.\r\n return normalise(y, xc, ye);\r\n };\r\n\r\n\r\n /*\r\n * n % 0 = N\r\n * n % N = N\r\n * n % I = n\r\n * 0 % n = 0\r\n * -0 % n = -0\r\n * 0 % 0 = N\r\n * 0 % N = N\r\n * 0 % I = 0\r\n * N % n = N\r\n * N % 0 = N\r\n * N % N = N\r\n * N % I = N\r\n * I % n = N\r\n * I % 0 = N\r\n * I % N = N\r\n * I % I = N\r\n *\r\n * Return a new BigNumber whose value is the value of this BigNumber modulo the value of\r\n * BigNumber(y, b). The result depends on the value of MODULO_MODE.\r\n */\r\n P.modulo = P.mod = function (y, b) {\r\n var q, s,\r\n x = this;\r\n\r\n y = new BigNumber(y, b);\r\n\r\n // Return NaN if x is Infinity or NaN, or y is NaN or zero.\r\n if (!x.c || !y.s || y.c && !y.c[0]) {\r\n return new BigNumber(NaN);\r\n\r\n // Return x if y is Infinity or x is zero.\r\n } else if (!y.c || x.c && !x.c[0]) {\r\n return new BigNumber(x);\r\n }\r\n\r\n if (MODULO_MODE == 9) {\r\n\r\n // Euclidian division: q = sign(y) * floor(x / abs(y))\r\n // r = x - qy where 0 <= r < abs(y)\r\n s = y.s;\r\n y.s = 1;\r\n q = div(x, y, 0, 3);\r\n y.s = s;\r\n q.s *= s;\r\n } else {\r\n q = div(x, y, 0, MODULO_MODE);\r\n }\r\n\r\n y = x.minus(q.times(y));\r\n\r\n // To match JavaScript %, ensure sign of zero is sign of dividend.\r\n if (!y.c[0] && MODULO_MODE == 1) y.s = x.s;\r\n\r\n return y;\r\n };\r\n\r\n\r\n /*\r\n * n * 0 = 0\r\n * n * N = N\r\n * n * I = I\r\n * 0 * n = 0\r\n * 0 * 0 = 0\r\n * 0 * N = N\r\n * 0 * I = N\r\n * N * n = N\r\n * N * 0 = N\r\n * N * N = N\r\n * N * I = N\r\n * I * n = I\r\n * I * 0 = N\r\n * I * N = N\r\n * I * I = I\r\n *\r\n * Return a new BigNumber whose value is the value of this BigNumber multiplied by the value\r\n * of BigNumber(y, b).\r\n */\r\n P.multipliedBy = P.times = function (y, b) {\r\n var c, e, i, j, k, m, xcL, xlo, xhi, ycL, ylo, yhi, zc,\r\n base, sqrtBase,\r\n x = this,\r\n xc = x.c,\r\n yc = (y = new BigNumber(y, b)).c;\r\n\r\n // Either NaN, \u00B1Infinity or \u00B10?\r\n if (!xc || !yc || !xc[0] || !yc[0]) {\r\n\r\n // Return NaN if either is NaN, or one is 0 and the other is Infinity.\r\n if (!x.s || !y.s || xc && !xc[0] && !yc || yc && !yc[0] && !xc) {\r\n y.c = y.e = y.s = null;\r\n } else {\r\n y.s *= x.s;\r\n\r\n // Return \u00B1Infinity if either is \u00B1Infinity.\r\n if (!xc || !yc) {\r\n y.c = y.e = null;\r\n\r\n // Return \u00B10 if either is \u00B10.\r\n } else {\r\n y.c = [0];\r\n y.e = 0;\r\n }\r\n }\r\n\r\n return y;\r\n }\r\n\r\n e = bitFloor(x.e / LOG_BASE) + bitFloor(y.e / LOG_BASE);\r\n y.s *= x.s;\r\n xcL = xc.length;\r\n ycL = yc.length;\r\n\r\n // Ensure xc points to longer array and xcL to its length.\r\n if (xcL < ycL) {\r\n zc = xc;\r\n xc = yc;\r\n yc = zc;\r\n i = xcL;\r\n xcL = ycL;\r\n ycL = i;\r\n }\r\n\r\n // Initialise the result array with zeros.\r\n for (i = xcL + ycL, zc = []; i--; zc.push(0));\r\n\r\n base = BASE;\r\n sqrtBase = SQRT_BASE;\r\n\r\n for (i = ycL; --i >= 0;) {\r\n c = 0;\r\n ylo = yc[i] % sqrtBase;\r\n yhi = yc[i] / sqrtBase | 0;\r\n\r\n for (k = xcL, j = i + k; j > i;) {\r\n xlo = xc[--k] % sqrtBase;\r\n xhi = xc[k] / sqrtBase | 0;\r\n m = yhi * xlo + xhi * ylo;\r\n xlo = ylo * xlo + ((m % sqrtBase) * sqrtBase) + zc[j] + c;\r\n c = (xlo / base | 0) + (m / sqrtBase | 0) + yhi * xhi;\r\n zc[j--] = xlo % base;\r\n }\r\n\r\n zc[j] = c;\r\n }\r\n\r\n if (c) {\r\n ++e;\r\n } else {\r\n zc.splice(0, 1);\r\n }\r\n\r\n return normalise(y, zc, e);\r\n };\r\n\r\n\r\n /*\r\n * Return a new BigNumber whose value is the value of this BigNumber negated,\r\n * i.e. multiplied by -1.\r\n */\r\n P.negated = function () {\r\n var x = new BigNumber(this);\r\n x.s = -x.s || null;\r\n return x;\r\n };\r\n\r\n\r\n /*\r\n * n + 0 = n\r\n * n + N = N\r\n * n + I = I\r\n * 0 + n = n\r\n * 0 + 0 = 0\r\n * 0 + N = N\r\n * 0 + I = I\r\n * N + n = N\r\n * N + 0 = N\r\n * N + N = N\r\n * N + I = N\r\n * I + n = I\r\n * I + 0 = I\r\n * I + N = N\r\n * I + I = I\r\n *\r\n * Return a new BigNumber whose value is the value of this BigNumber plus the value of\r\n * BigNumber(y, b).\r\n */\r\n P.plus = function (y, b) {\r\n var t,\r\n x = this,\r\n a = x.s;\r\n\r\n y = new BigNumber(y, b);\r\n b = y.s;\r\n\r\n // Either NaN?\r\n if (!a || !b) return new BigNumber(NaN);\r\n\r\n // Signs differ?\r\n if (a != b) {\r\n y.s = -b;\r\n return x.minus(y);\r\n }\r\n\r\n var xe = x.e / LOG_BASE,\r\n ye = y.e / LOG_BASE,\r\n xc = x.c,\r\n yc = y.c;\r\n\r\n if (!xe || !ye) {\r\n\r\n // Return \u00B1Infinity if either \u00B1Infinity.\r\n if (!xc || !yc) return new BigNumber(a / 0);\r\n\r\n // Either zero?\r\n // Return y if y is non-zero, x if x is non-zero, or zero if both are zero.\r\n if (!xc[0] || !yc[0]) return yc[0] ? y : new BigNumber(xc[0] ? x : a * 0);\r\n }\r\n\r\n xe = bitFloor(xe);\r\n ye = bitFloor(ye);\r\n xc = xc.slice();\r\n\r\n // Prepend zeros to equalise exponents. Faster to use reverse then do unshifts.\r\n if (a = xe - ye) {\r\n if (a > 0) {\r\n ye = xe;\r\n t = yc;\r\n } else {\r\n a = -a;\r\n t = xc;\r\n }\r\n\r\n t.reverse();\r\n for (; a--; t.push(0));\r\n t.reverse();\r\n }\r\n\r\n a = xc.length;\r\n b = yc.length;\r\n\r\n // Point xc to the longer array, and b to the shorter length.\r\n if (a - b < 0) {\r\n t = yc;\r\n yc = xc;\r\n xc = t;\r\n b = a;\r\n }\r\n\r\n // Only start adding at yc.length - 1 as the further digits of xc can be ignored.\r\n for (a = 0; b;) {\r\n a = (xc[--b] = xc[b] + yc[b] + a) / BASE | 0;\r\n xc[b] = BASE === xc[b] ? 0 : xc[b] % BASE;\r\n }\r\n\r\n if (a) {\r\n xc = [a].concat(xc);\r\n ++ye;\r\n }\r\n\r\n // No need to check for zero, as +x + +y != 0 && -x + -y != 0\r\n // ye = MAX_EXP + 1 possible\r\n return normalise(y, xc, ye);\r\n };\r\n\r\n\r\n /*\r\n * If sd is undefined or null or true or false, return the number of significant digits of\r\n * the value of this BigNumber, or null if the value of this BigNumber is \u00B1Infinity or NaN.\r\n * If sd is true include integer-part trailing zeros in the count.\r\n *\r\n * Otherwise, if sd is a number, return a new BigNumber whose value is the value of this\r\n * BigNumber rounded to a maximum of sd significant digits using rounding mode rm, or\r\n * ROUNDING_MODE if rm is omitted.\r\n *\r\n * sd {number|boolean} number: significant digits: integer, 1 to MAX inclusive.\r\n * boolean: whether to count integer-part trailing zeros: true or false.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {sd|rm}'\r\n */\r\n P.precision = P.sd = function (sd, rm) {\r\n var c, n, v,\r\n x = this;\r\n\r\n if (sd != null && sd !== !!sd) {\r\n intCheck(sd, 1, MAX);\r\n if (rm == null) rm = ROUNDING_MODE;\r\n else intCheck(rm, 0, 8);\r\n\r\n return round(new BigNumber(x), sd, rm);\r\n }\r\n\r\n if (!(c = x.c)) return null;\r\n v = c.length - 1;\r\n n = v * LOG_BASE + 1;\r\n\r\n if (v = c[v]) {\r\n\r\n // Subtract the number of trailing zeros of the last element.\r\n for (; v % 10 == 0; v /= 10, n--);\r\n\r\n // Add the number of digits of the first element.\r\n for (v = c[0]; v >= 10; v /= 10, n++);\r\n }\r\n\r\n if (sd && x.e + 1 > n) n = x.e + 1;\r\n\r\n return n;\r\n };\r\n\r\n\r\n /*\r\n * Return a new BigNumber whose value is the value of this BigNumber shifted by k places\r\n * (powers of 10). Shift to the right if n > 0, and to the left if n < 0.\r\n *\r\n * k {number} Integer, -MAX_SAFE_INTEGER to MAX_SAFE_INTEGER inclusive.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {k}'\r\n */\r\n P.shiftedBy = function (k) {\r\n intCheck(k, -MAX_SAFE_INTEGER, MAX_SAFE_INTEGER);\r\n return this.times('1e' + k);\r\n };\r\n\r\n\r\n /*\r\n * sqrt(-n) = N\r\n * sqrt(N) = N\r\n * sqrt(-I) = N\r\n * sqrt(I) = I\r\n * sqrt(0) = 0\r\n * sqrt(-0) = -0\r\n *\r\n * Return a new BigNumber whose value is the square root of the value of this BigNumber,\r\n * rounded according to DECIMAL_PLACES and ROUNDING_MODE.\r\n */\r\n P.squareRoot = P.sqrt = function () {\r\n var m, n, r, rep, t,\r\n x = this,\r\n c = x.c,\r\n s = x.s,\r\n e = x.e,\r\n dp = DECIMAL_PLACES + 4,\r\n half = new BigNumber('0.5');\r\n\r\n // Negative/NaN/Infinity/zero?\r\n if (s !== 1 || !c || !c[0]) {\r\n return new BigNumber(!s || s < 0 && (!c || c[0]) ? NaN : c ? x : 1 / 0);\r\n }\r\n\r\n // Initial estimate.\r\n s = Math.sqrt(+valueOf(x));\r\n\r\n // Math.sqrt underflow/overflow?\r\n // Pass x to Math.sqrt as integer, then adjust the exponent of the result.\r\n if (s == 0 || s == 1 / 0) {\r\n n = coeffToString(c);\r\n if ((n.length + e) % 2 == 0) n += '0';\r\n s = Math.sqrt(+n);\r\n e = bitFloor((e + 1) / 2) - (e < 0 || e % 2);\r\n\r\n if (s == 1 / 0) {\r\n n = '5e' + e;\r\n } else {\r\n n = s.toExponential();\r\n n = n.slice(0, n.indexOf('e') + 1) + e;\r\n }\r\n\r\n r = new BigNumber(n);\r\n } else {\r\n r = new BigNumber(s + '');\r\n }\r\n\r\n // Check for zero.\r\n // r could be zero if MIN_EXP is changed after the this value was created.\r\n // This would cause a division by zero (x/t) and hence Infinity below, which would cause\r\n // coeffToString to throw.\r\n if (r.c[0]) {\r\n e = r.e;\r\n s = e + dp;\r\n if (s < 3) s = 0;\r\n\r\n // Newton-Raphson iteration.\r\n for (; ;) {\r\n t = r;\r\n r = half.times(t.plus(div(x, t, dp, 1)));\r\n\r\n if (coeffToString(t.c).slice(0, s) === (n = coeffToString(r.c)).slice(0, s)) {\r\n\r\n // The exponent of r may here be one less than the final result exponent,\r\n // e.g 0.0009999 (e-4) --> 0.001 (e-3), so adjust s so the rounding digits\r\n // are indexed correctly.\r\n if (r.e < e) --s;\r\n n = n.slice(s - 3, s + 1);\r\n\r\n // The 4th rounding digit may be in error by -1 so if the 4 rounding digits\r\n // are 9999 or 4999 (i.e. approaching a rounding boundary) continue the\r\n // iteration.\r\n if (n == '9999' || !rep && n == '4999') {\r\n\r\n // On the first iteration only, check to see if rounding up gives the\r\n // exact result as the nines may infinitely repeat.\r\n if (!rep) {\r\n round(t, t.e + DECIMAL_PLACES + 2, 0);\r\n\r\n if (t.times(t).eq(x)) {\r\n r = t;\r\n break;\r\n }\r\n }\r\n\r\n dp += 4;\r\n s += 4;\r\n rep = 1;\r\n } else {\r\n\r\n // If rounding digits are null, 0{0,4} or 50{0,3}, check for exact\r\n // result. If not, then there are further digits and m will be truthy.\r\n if (!+n || !+n.slice(1) && n.charAt(0) == '5') {\r\n\r\n // Truncate to the first rounding digit.\r\n round(r, r.e + DECIMAL_PLACES + 2, 1);\r\n m = !r.times(r).eq(x);\r\n }\r\n\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n\r\n return round(r, r.e + DECIMAL_PLACES + 1, ROUNDING_MODE, m);\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this BigNumber in exponential notation and\r\n * rounded using ROUNDING_MODE to dp fixed decimal places.\r\n *\r\n * [dp] {number} Decimal places. Integer, 0 to MAX inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {dp|rm}'\r\n */\r\n P.toExponential = function (dp, rm) {\r\n if (dp != null) {\r\n intCheck(dp, 0, MAX);\r\n dp++;\r\n }\r\n return format(this, dp, rm, 1);\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this BigNumber in fixed-point notation rounding\r\n * to dp fixed decimal places using rounding mode rm, or ROUNDING_MODE if rm is omitted.\r\n *\r\n * Note: as with JavaScript's number type, (-0).toFixed(0) is '0',\r\n * but e.g. (-0.00001).toFixed(0) is '-0'.\r\n *\r\n * [dp] {number} Decimal places. Integer, 0 to MAX inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {dp|rm}'\r\n */\r\n P.toFixed = function (dp, rm) {\r\n if (dp != null) {\r\n intCheck(dp, 0, MAX);\r\n dp = dp + this.e + 1;\r\n }\r\n return format(this, dp, rm);\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this BigNumber in fixed-point notation rounded\r\n * using rm or ROUNDING_MODE to dp decimal places, and formatted according to the properties\r\n * of the format or FORMAT object (see BigNumber.set).\r\n *\r\n * The formatting object may contain some or all of the properties shown below.\r\n *\r\n * FORMAT = {\r\n * prefix: '',\r\n * groupSize: 3,\r\n * secondaryGroupSize: 0,\r\n * groupSeparator: ',',\r\n * decimalSeparator: '.',\r\n * fractionGroupSize: 0,\r\n * fractionGroupSeparator: '\\xA0', // non-breaking space\r\n * suffix: ''\r\n * };\r\n *\r\n * [dp] {number} Decimal places. Integer, 0 to MAX inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n * [format] {object} Formatting options. See FORMAT pbject above.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {dp|rm}'\r\n * '[BigNumber Error] Argument not an object: {format}'\r\n */\r\n P.toFormat = function (dp, rm, format) {\r\n var str,\r\n x = this;\r\n\r\n if (format == null) {\r\n if (dp != null && rm && typeof rm == 'object') {\r\n format = rm;\r\n rm = null;\r\n } else if (dp && typeof dp == 'object') {\r\n format = dp;\r\n dp = rm = null;\r\n } else {\r\n format = FORMAT;\r\n }\r\n } else if (typeof format != 'object') {\r\n throw Error\r\n (bignumberError + 'Argument not an object: ' + format);\r\n }\r\n\r\n str = x.toFixed(dp, rm);\r\n\r\n if (x.c) {\r\n var i,\r\n arr = str.split('.'),\r\n g1 = +format.groupSize,\r\n g2 = +format.secondaryGroupSize,\r\n groupSeparator = format.groupSeparator || '',\r\n intPart = arr[0],\r\n fractionPart = arr[1],\r\n isNeg = x.s < 0,\r\n intDigits = isNeg ? intPart.slice(1) : intPart,\r\n len = intDigits.length;\r\n\r\n if (g2) {\r\n i = g1;\r\n g1 = g2;\r\n g2 = i;\r\n len -= i;\r\n }\r\n\r\n if (g1 > 0 && len > 0) {\r\n i = len % g1 || g1;\r\n intPart = intDigits.substr(0, i);\r\n for (; i < len; i += g1) intPart += groupSeparator + intDigits.substr(i, g1);\r\n if (g2 > 0) intPart += groupSeparator + intDigits.slice(i);\r\n if (isNeg) intPart = '-' + intPart;\r\n }\r\n\r\n str = fractionPart\r\n ? intPart + (format.decimalSeparator || '') + ((g2 = +format.fractionGroupSize)\r\n ? fractionPart.replace(new RegExp('\\\\d{' + g2 + '}\\\\B', 'g'),\r\n '$&' + (format.fractionGroupSeparator || ''))\r\n : fractionPart)\r\n : intPart;\r\n }\r\n\r\n return (format.prefix || '') + str + (format.suffix || '');\r\n };\r\n\r\n\r\n /*\r\n * Return an array of two BigNumbers representing the value of this BigNumber as a simple\r\n * fraction with an integer numerator and an integer denominator.\r\n * The denominator will be a positive non-zero value less than or equal to the specified\r\n * maximum denominator. If a maximum denominator is not specified, the denominator will be\r\n * the lowest value necessary to represent the number exactly.\r\n *\r\n * [md] {number|string|BigNumber} Integer >= 1, or Infinity. The maximum denominator.\r\n *\r\n * '[BigNumber Error] Argument {not an integer|out of range} : {md}'\r\n */\r\n P.toFraction = function (md) {\r\n var d, d0, d1, d2, e, exp, n, n0, n1, q, r, s,\r\n x = this,\r\n xc = x.c;\r\n\r\n if (md != null) {\r\n n = new BigNumber(md);\r\n\r\n // Throw if md is less than one or is not an integer, unless it is Infinity.\r\n if (!n.isInteger() && (n.c || n.s !== 1) || n.lt(ONE)) {\r\n throw Error\r\n (bignumberError + 'Argument ' +\r\n (n.isInteger() ? 'out of range: ' : 'not an integer: ') + valueOf(n));\r\n }\r\n }\r\n\r\n if (!xc) return new BigNumber(x);\r\n\r\n d = new BigNumber(ONE);\r\n n1 = d0 = new BigNumber(ONE);\r\n d1 = n0 = new BigNumber(ONE);\r\n s = coeffToString(xc);\r\n\r\n // Determine initial denominator.\r\n // d is a power of 10 and the minimum max denominator that specifies the value exactly.\r\n e = d.e = s.length - x.e - 1;\r\n d.c[0] = POWS_TEN[(exp = e % LOG_BASE) < 0 ? LOG_BASE + exp : exp];\r\n md = !md || n.comparedTo(d) > 0 ? (e > 0 ? d : n1) : n;\r\n\r\n exp = MAX_EXP;\r\n MAX_EXP = 1 / 0;\r\n n = new BigNumber(s);\r\n\r\n // n0 = d1 = 0\r\n n0.c[0] = 0;\r\n\r\n for (; ;) {\r\n q = div(n, d, 0, 1);\r\n d2 = d0.plus(q.times(d1));\r\n if (d2.comparedTo(md) == 1) break;\r\n d0 = d1;\r\n d1 = d2;\r\n n1 = n0.plus(q.times(d2 = n1));\r\n n0 = d2;\r\n d = n.minus(q.times(d2 = d));\r\n n = d2;\r\n }\r\n\r\n d2 = div(md.minus(d0), d1, 0, 1);\r\n n0 = n0.plus(d2.times(n1));\r\n d0 = d0.plus(d2.times(d1));\r\n n0.s = n1.s = x.s;\r\n e = e * 2;\r\n\r\n // Determine which fraction is closer to x, n0/d0 or n1/d1\r\n r = div(n1, d1, e, ROUNDING_MODE).minus(x).abs().comparedTo(\r\n div(n0, d0, e, ROUNDING_MODE).minus(x).abs()) < 1 ? [n1, d1] : [n0, d0];\r\n\r\n MAX_EXP = exp;\r\n\r\n return r;\r\n };\r\n\r\n\r\n /*\r\n * Return the value of this BigNumber converted to a number primitive.\r\n */\r\n P.toNumber = function () {\r\n return +valueOf(this);\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this BigNumber rounded to sd significant digits\r\n * using rounding mode rm or ROUNDING_MODE. If sd is less than the number of digits\r\n * necessary to represent the integer part of the value in fixed-point notation, then use\r\n * exponential notation.\r\n *\r\n * [sd] {number} Significant digits. Integer, 1 to MAX inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {sd|rm}'\r\n */\r\n P.toPrecision = function (sd, rm) {\r\n if (sd != null) intCheck(sd, 1, MAX);\r\n return format(this, sd, rm, 2);\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this BigNumber in base b, or base 10 if b is\r\n * omitted. If a base is specified, including base 10, round according to DECIMAL_PLACES and\r\n * ROUNDING_MODE. If a base is not specified, and this BigNumber has a positive exponent\r\n * that is equal to or greater than TO_EXP_POS, or a negative exponent equal to or less than\r\n * TO_EXP_NEG, return exponential notation.\r\n *\r\n * [b] {number} Integer, 2 to ALPHABET.length inclusive.\r\n *\r\n * '[BigNumber Error] Base {not a primitive number|not an integer|out of range}: {b}'\r\n */\r\n P.toString = function (b) {\r\n var str,\r\n n = this,\r\n s = n.s,\r\n e = n.e;\r\n\r\n // Infinity or NaN?\r\n if (e === null) {\r\n if (s) {\r\n str = 'Infinity';\r\n if (s < 0) str = '-' + str;\r\n } else {\r\n str = 'NaN';\r\n }\r\n } else {\r\n if (b == null) {\r\n str = e <= TO_EXP_NEG || e >= TO_EXP_POS\r\n ? toExponential(coeffToString(n.c), e)\r\n : toFixedPoint(coeffToString(n.c), e, '0');\r\n } else if (b === 10 && alphabetHasNormalDecimalDigits) {\r\n n = round(new BigNumber(n), DECIMAL_PLACES + e + 1, ROUNDING_MODE);\r\n str = toFixedPoint(coeffToString(n.c), n.e, '0');\r\n } else {\r\n intCheck(b, 2, ALPHABET.length, 'Base');\r\n str = convertBase(toFixedPoint(coeffToString(n.c), e, '0'), 10, b, s, true);\r\n }\r\n\r\n if (s < 0 && n.c[0]) str = '-' + str;\r\n }\r\n\r\n return str;\r\n };\r\n\r\n\r\n /*\r\n * Return as toString, but do not accept a base argument, and include the minus sign for\r\n * negative zero.\r\n */\r\n P.valueOf = P.toJSON = function () {\r\n return valueOf(this);\r\n };\r\n\r\n\r\n P._isBigNumber = true;\r\n\r\n if (configObject != null) BigNumber.set(configObject);\r\n\r\n return BigNumber;\r\n }\r\n\r\n\r\n // PRIVATE HELPER FUNCTIONS\r\n\r\n // These functions don't need access to variables,\r\n // e.g. DECIMAL_PLACES, in the scope of the `clone` function above.\r\n\r\n\r\n function bitFloor(n) {\r\n var i = n | 0;\r\n return n > 0 || n === i ? i : i - 1;\r\n }\r\n\r\n\r\n // Return a coefficient array as a string of base 10 digits.\r\n function coeffToString(a) {\r\n var s, z,\r\n i = 1,\r\n j = a.length,\r\n r = a[0] + '';\r\n\r\n for (; i < j;) {\r\n s = a[i++] + '';\r\n z = LOG_BASE - s.length;\r\n for (; z--; s = '0' + s);\r\n r += s;\r\n }\r\n\r\n // Determine trailing zeros.\r\n for (j = r.length; r.charCodeAt(--j) === 48;);\r\n\r\n return r.slice(0, j + 1 || 1);\r\n }\r\n\r\n\r\n // Compare the value of BigNumbers x and y.\r\n function compare(x, y) {\r\n var a, b,\r\n xc = x.c,\r\n yc = y.c,\r\n i = x.s,\r\n j = y.s,\r\n k = x.e,\r\n l = y.e;\r\n\r\n // Either NaN?\r\n if (!i || !j) return null;\r\n\r\n a = xc && !xc[0];\r\n b = yc && !yc[0];\r\n\r\n // Either zero?\r\n if (a || b) return a ? b ? 0 : -j : i;\r\n\r\n // Signs differ?\r\n if (i != j) return i;\r\n\r\n a = i < 0;\r\n b = k == l;\r\n\r\n // Either Infinity?\r\n if (!xc || !yc) return b ? 0 : !xc ^ a ? 1 : -1;\r\n\r\n // Compare exponents.\r\n if (!b) return k > l ^ a ? 1 : -1;\r\n\r\n j = (k = xc.length) < (l = yc.length) ? k : l;\r\n\r\n // Compare digit by digit.\r\n for (i = 0; i < j; i++) if (xc[i] != yc[i]) return xc[i] > yc[i] ^ a ? 1 : -1;\r\n\r\n // Compare lengths.\r\n return k == l ? 0 : k > l ^ a ? 1 : -1;\r\n }\r\n\r\n\r\n /*\r\n * Check that n is a primitive number, an integer, and in range, otherwise throw.\r\n */\r\n function intCheck(n, min, max, name) {\r\n if (n < min || n > max || n !== mathfloor(n)) {\r\n throw Error\r\n (bignumberError + (name || 'Argument') + (typeof n == 'number'\r\n ? n < min || n > max ? ' out of range: ' : ' not an integer: '\r\n : ' not a primitive number: ') + String(n));\r\n }\r\n }\r\n\r\n\r\n // Assumes finite n.\r\n function isOdd(n) {\r\n var k = n.c.length - 1;\r\n return bitFloor(n.e / LOG_BASE) == k && n.c[k] % 2 != 0;\r\n }\r\n\r\n\r\n function toExponential(str, e) {\r\n return (str.length > 1 ? str.charAt(0) + '.' + str.slice(1) : str) +\r\n (e < 0 ? 'e' : 'e+') + e;\r\n }\r\n\r\n\r\n function toFixedPoint(str, e, z) {\r\n var len, zs;\r\n\r\n // Negative exponent?\r\n if (e < 0) {\r\n\r\n // Prepend zeros.\r\n for (zs = z + '.'; ++e; zs += z);\r\n str = zs + str;\r\n\r\n // Positive exponent\r\n } else {\r\n len = str.length;\r\n\r\n // Append zeros.\r\n if (++e > len) {\r\n for (zs = z, e -= len; --e; zs += z);\r\n str += zs;\r\n } else if (e < len) {\r\n str = str.slice(0, e) + '.' + str.slice(e);\r\n }\r\n }\r\n\r\n return str;\r\n }\r\n\r\n\r\n // EXPORT\r\n\r\n\r\n BigNumber = clone();\r\n BigNumber['default'] = BigNumber.BigNumber = BigNumber;\r\n\r\n // AMD.\r\n if (typeof define == 'function' && define.amd) {\r\n define(function () { return BigNumber; });\r\n\r\n // Node.js and other environments that support module.exports.\r\n } else if (typeof module != 'undefined' && module.exports) {\r\n module.exports = BigNumber;\r\n\r\n // Browser.\r\n } else {\r\n if (!globalObject) {\r\n globalObject = typeof self != 'undefined' && self ? self : window;\r\n }\r\n\r\n globalObject.BigNumber = BigNumber;\r\n }\r\n})(this);\r\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BigNumber = void 0;\nconst tslib_1 = require(\"tslib\");\nconst bignumber_js_1 = tslib_1.__importDefault(require(\"bignumber.js\"));\nexports.BigNumber = bignumber_js_1.default.clone({\n EXPONENTIAL_AT: 1e9,\n});\n//# sourceMappingURL=bigNumber.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.xssFilters = exports.versionUtils = exports.enumUtils = exports.bufferUtils = void 0;\nconst tslib_1 = require(\"tslib\");\nexports.bufferUtils = tslib_1.__importStar(require(\"./bufferUtils\"));\nexports.enumUtils = tslib_1.__importStar(require(\"./enumUtils\"));\nexports.versionUtils = tslib_1.__importStar(require(\"./versionUtils\"));\nexports.xssFilters = tslib_1.__importStar(require(\"./xssFilters\"));\ntslib_1.__exportStar(require(\"./addDashesToSpaces\"), exports);\ntslib_1.__exportStar(require(\"./arrayDistinct\"), exports);\ntslib_1.__exportStar(require(\"./arrayPartition\"), exports);\ntslib_1.__exportStar(require(\"./arrayShuffle\"), exports);\ntslib_1.__exportStar(require(\"./arrayToDictionary\"), exports);\ntslib_1.__exportStar(require(\"./bytesToHumanReadable\"), exports);\ntslib_1.__exportStar(require(\"./capitalizeFirstLetter\"), exports);\ntslib_1.__exportStar(require(\"./cloneObject\"), exports);\ntslib_1.__exportStar(require(\"./countBytesInString\"), exports);\ntslib_1.__exportStar(require(\"./createCooldown\"), exports);\ntslib_1.__exportStar(require(\"./createDeferred\"), exports);\ntslib_1.__exportStar(require(\"./createDeferredManager\"), exports);\ntslib_1.__exportStar(require(\"./createTimeoutPromise\"), exports);\ntslib_1.__exportStar(require(\"./getLocaleSeparators\"), exports);\ntslib_1.__exportStar(require(\"./getNumberFromPixelString\"), exports);\ntslib_1.__exportStar(require(\"./getRandomNumberInRange\"), exports);\ntslib_1.__exportStar(require(\"./getSynchronize\"), exports);\ntslib_1.__exportStar(require(\"./getWeakRandomId\"), exports);\ntslib_1.__exportStar(require(\"./hasUppercaseLetter\"), exports);\ntslib_1.__exportStar(require(\"./isAscii\"), exports);\ntslib_1.__exportStar(require(\"./isHex\"), exports);\ntslib_1.__exportStar(require(\"./isNotUndefined\"), exports);\ntslib_1.__exportStar(require(\"./isUrl\"), exports);\ntslib_1.__exportStar(require(\"./mergeDeepObject\"), exports);\ntslib_1.__exportStar(require(\"./objectPartition\"), exports);\ntslib_1.__exportStar(require(\"./parseElectrumUrl\"), exports);\ntslib_1.__exportStar(require(\"./parseHostname\"), exports);\ntslib_1.__exportStar(require(\"./promiseAllSequence\"), exports);\ntslib_1.__exportStar(require(\"./redactUserPath\"), exports);\ntslib_1.__exportStar(require(\"./scheduleAction\"), exports);\ntslib_1.__exportStar(require(\"./splitStringEveryNCharacters\"), exports);\ntslib_1.__exportStar(require(\"./throwError\"), exports);\ntslib_1.__exportStar(require(\"./topologicalSort\"), exports);\ntslib_1.__exportStar(require(\"./truncateMiddle\"), exports);\ntslib_1.__exportStar(require(\"./typedEventEmitter\"), exports);\ntslib_1.__exportStar(require(\"./urlToOnion\"), exports);\ntslib_1.__exportStar(require(\"./logs\"), exports);\ntslib_1.__exportStar(require(\"./logsManager\"), exports);\ntslib_1.__exportStar(require(\"./bigNumber\"), exports);\n//# sourceMappingURL=index.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getLog = exports.enableLogByPrefix = exports.enableLog = exports.setLogWriter = exports.initLog = void 0;\nconst utils_1 = require(\"@trezor/utils\");\nconst green = '#bada55';\nconst blue = '#20abd8';\nconst orange = '#f4a744';\nconst yellow = '#fbd948';\nconst colors = {\n '@trezor/connect': `color: ${blue}; background: #000;`,\n '@trezor/connect-web': `color: ${blue}; background: #000;`,\n '@trezor/connect-webextension': `color: ${blue}; background: #000;`,\n IFrame: `color: ${orange}; background: #000;`,\n Core: `color: ${orange}; background: #000;`,\n DeviceList: `color: ${green}; background: #000;`,\n Device: `color: ${green}; background: #000;`,\n DeviceCommands: `color: ${green}; background: #000;`,\n '@trezor/transport': `color: ${green}; background: #000;`,\n InteractionTimeout: `color: ${green}; background: #000;`,\n '@trezor/connect-popup': `color: ${yellow}; background: #000;`,\n};\nconst logsManager = new utils_1.LogsManager({ colors });\nexports.initLog = logsManager.initLog.bind(logsManager);\nexports.setLogWriter = logsManager.setLogWriter.bind(logsManager);\nexports.enableLog = logsManager.enableLog.bind(logsManager);\nexports.enableLogByPrefix = logsManager.enableLogByPrefix.bind(logsManager);\nexports.getLog = logsManager.getLog.bind(logsManager);\n//# sourceMappingURL=debug.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.config = void 0;\nconst constants_1 = require(\"@trezor/transport/lib/constants\");\nexports.config = {\n webusb: constants_1.TREZOR_USB_DESCRIPTORS,\n whitelist: [\n { origin: 'chrome-extension://imloifkgjagghnncjkhggdhalmcnfklk', priority: 1 },\n { origin: 'chrome-extension://niebkpllfhmpfbffbfifagfgoamhpflf', priority: 1 },\n { origin: 'file://', priority: 2 },\n { origin: 'trezor.io', priority: 0 },\n { origin: 'sldev.cz', priority: 0 },\n { origin: 'localhost', priority: 0 },\n { origin: 'trezoriovpjcahpzkrewelclulmszwbqpzmzgub37gbcjlvluxtruqad.onion', priority: 0 },\n ],\n management: [{ origin: 'trezor.io' }, { origin: 'sldev.cz' }, { origin: 'localhost' }],\n knownHosts: [\n {\n origin: 'imloifkgjagghnncjkhggdhalmcnfklk',\n label: 'Trezor Password Manager (Develop)',\n icon: '',\n },\n { origin: 'niebkpllfhmpfbffbfifagfgoamhpflf', label: 'Trezor Password Manager', icon: '' },\n {\n origin: 'mnpfhpndmjholfdlhpkjfmjkgppmodaf',\n label: 'MetaMask',\n icon: '',\n },\n {\n origin: 'webextension@metamask.io',\n label: 'MetaMask',\n icon: '',\n },\n {\n origin: 'nkbihfbeogaeaoehlefnkodbefgpgknn',\n label: 'MetaMask',\n icon: '',\n },\n {\n origin: 'bpcdaglidgnlggelgbjfagekoapjmccp',\n label: 'Rainbow DEV',\n icon: '',\n },\n {\n origin: 'opfgelmcmbiajamepnmloijbpoleiama',\n label: 'Rainbow',\n icon: '',\n },\n {\n origin: 'acmacodkjbdgmoleebolmdjonilkdbch',\n label: 'Rabby',\n icon: '',\n },\n { origin: 'file://', label: ' ', icon: '' },\n ],\n onionDomains: {\n 'trezor.io': 'trezoriovpjcahpzkrewelclulmszwbqpzmzgub37gbcjlvluxtruqad.onion',\n },\n assets: [\n {\n name: 'coins',\n url: './data/coins.json',\n },\n {\n name: 'coinsEth',\n url: './data/coins-eth.json',\n },\n {\n name: 'bridge',\n url: './data/bridge/releases.json',\n },\n {\n name: 'firmware-t1b1',\n url: './data/firmware/t1b1/releases.json',\n },\n {\n name: 'firmware-t2t1',\n url: './data/firmware/t2t1/releases.json',\n },\n {\n name: 'firmware-t2b1',\n url: './data/firmware/t2b1/releases.json',\n },\n {\n name: 'firmware-t3t1',\n url: './data/firmware/t3t1/releases.json',\n },\n ],\n messages: './data/messages/messages.json',\n supportedBrowsers: {\n chrome: {\n version: 59,\n download: 'https://www.google.com/chrome/',\n update: 'https://support.google.com/chrome/answer/95414',\n },\n chromium: {\n version: 59,\n download: 'https://www.chromium.org/',\n update: 'https://www.chromium.org/',\n },\n electron: {\n version: 0,\n download: 'https://www.electronjs.org/',\n update: 'https://www.electronjs.org/',\n },\n firefox: {\n version: 54,\n download: 'https://www.mozilla.org/en-US/firefox/new/',\n update: 'https://support.mozilla.org/en-US/kb/update-firefox-latest-version',\n },\n brave: {\n version: 59,\n download: 'https://brave.com/download/',\n update: 'https://brave.com/download/',\n },\n edge: {\n version: 79,\n download: 'https://www.microsoft.com/en-us/edge',\n update: 'https://www.microsoft.com/en-us/edge',\n },\n },\n supportedFirmware: [\n {\n coin: ['xrp', 'txrp'],\n methods: ['getAccountInfo'],\n min: { T1B1: '0', T2T1: '2.1.0' },\n max: undefined,\n comment: [\n \"Since firmware 2.1.0 there is a new protobuf field 'destination_tag' in RippleSignTx\",\n ],\n },\n {\n coin: ['bnb'],\n min: { T1B1: '1.9.0', T2T1: '2.3.0' },\n comment: [\n 'There were protobuf backwards incompatible changes with introduction of 1.9.0/2.3.0 firmwares',\n ],\n },\n {\n coin: ['eth', 'tsep', 'thol'],\n min: { T1B1: '1.8.0', T2T1: '2.1.0' },\n comment: ['There were protobuf backwards incompatible changes.'],\n },\n {\n coin: ['ada', 'tada'],\n min: { T1B1: '0', T2T1: '2.4.3' },\n comment: ['Since 2.4.3 there is initialize.derive_cardano message'],\n },\n {\n methods: ['rippleGetAddress', 'rippleSignTransaction'],\n min: { T1B1: '0', T2T1: '2.1.0' },\n comment: [\n \"Since firmware 2.1.0 there is a new protobuf field 'destination_tag' in RippleSignTx\",\n ],\n },\n {\n methods: ['cardanoGetAddress', 'cardanoGetPublicKey'],\n min: { T1B1: '0', T2T1: '2.4.3' },\n comment: ['Since 2.4.3 Cardano derivation behavior has changed'],\n },\n {\n methods: ['cardanoSignTransaction'],\n min: { T1B1: '0', T2T1: '2.6.0' },\n comment: ['Before 2.6.0 not all Cardano transactions were supported'],\n },\n {\n methods: ['cardanoGetNativeScriptHash'],\n min: { T1B1: '0', T2T1: '2.4.3' },\n comment: ['Since 2.4.3 Cardano derivation behavior has changed'],\n },\n {\n methods: ['tezosSignTransaction'],\n min: { T1B1: '0', T2T1: '2.1.8' },\n comment: [\n 'Since 2.1.8 there are new protobuf fields in tezos transaction (Babylon fork)',\n ],\n },\n {\n methods: ['stellarSignTransaction'],\n min: { T1B1: '1.9.0', T2T1: '2.3.0' },\n comment: [\n 'There were protobuf backwards incompatible changes with introduction of 1.9.0/2.3.0 firmwares',\n ],\n },\n {\n capabilities: ['replaceTransaction', 'amountUnit'],\n min: { T1B1: '1.9.4', T2T1: '2.3.5' },\n comment: ['new sign tx process since 1.9.4/2.3.5'],\n },\n {\n capabilities: ['decreaseOutput'],\n min: { T1B1: '1.10.0', T2T1: '2.4.0' },\n comment: ['allow reduce output in RBF transaction since 1.10.0/2.4.0'],\n },\n {\n capabilities: ['eip1559'],\n min: { T1B1: '1.10.4', T2T1: '2.4.2' },\n comment: ['new eth transaction pricing mechanism (EIP1559) since 1.10.4/2.4.2'],\n },\n {\n capabilities: ['taproot', 'signMessageNoScriptType'],\n min: { T1B1: '1.10.4', T2T1: '2.4.3' },\n comment: [\n 'new btc accounts taproot since 1.10.4/2.4.3 (BTC + TEST only)',\n 'SignMessage with no_script_type support',\n ],\n },\n {\n coin: ['dcr', 'tdcr'],\n methods: ['signTransaction'],\n min: { T1B1: '1.10.1', T2T1: '2.4.0' },\n comment: [''],\n },\n {\n methods: ['ethereumSignTypedData'],\n min: { T1B1: '1.10.5', T2T1: '2.4.3' },\n comment: ['EIP-712 typed signing support added in 1.10.5/2.4.3'],\n },\n {\n capabilities: ['eip712-domain-only'],\n min: { T1B1: '1.10.6', T2T1: '2.4.4' },\n comment: ['EIP-712 domain-only signing, when primaryType=EIP712Domain'],\n },\n {\n capabilities: ['coinjoin'],\n methods: [\n 'authorizeCoinjoin',\n 'cancelCoinjoinAuthorization',\n 'getOwnershipId',\n 'getOwnershipProof',\n 'setBusy',\n 'unlockPath',\n ],\n min: { T1B1: '1.12.1', T2T1: '2.5.3' },\n },\n {\n methods: ['showDeviceTutorial', 'authenticateDevice'],\n min: { T1B1: '0', T2T1: '0', T2B1: '2.6.1' },\n comment: ['Only on T2B1'],\n },\n {\n methods: ['rebootToBootloader'],\n min: { T1B1: '1.10.0', T2T1: '2.6.0' },\n },\n {\n methods: ['getFirmwareHash'],\n min: { T1B1: '1.11.1', T2T1: '2.5.1' },\n },\n {\n methods: ['solanaGetPublicKey', 'solanaGetAddress', 'solanaSignTransaction'],\n min: { T1B1: '0', T2T1: '2.6.4', T2B1: '2.6.4' },\n },\n {\n capabilities: ['chunkify'],\n min: { T1B1: '0', T2T1: '2.6.3', T2B1: '2.6.3' },\n comment: [\n \"Since firmware 2.6.3 there is a new protobuf field 'chunkify' in almost all getAddress and signTx methods\",\n ],\n },\n {\n methods: ['changeLanguage'],\n min: { T1B1: '0', T2T1: '2.7.0', T2B1: '2.7.0', T3T1: '2.7.1' },\n },\n ],\n};\n//# sourceMappingURL=config.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getOnionDomain = exports.getHost = exports.getOrigin = void 0;\nconst utils_1 = require(\"@trezor/utils\");\nconst getOrigin = (url) => {\n var _a;\n if (typeof url !== 'string')\n return 'unknown';\n if (url.indexOf('file://') === 0)\n return 'file://';\n const [origin] = (_a = url.match(/^https?:\\/\\/[^/]+/)) !== null && _a !== void 0 ? _a : [];\n return origin !== null && origin !== void 0 ? origin : 'unknown';\n};\nexports.getOrigin = getOrigin;\nconst getHost = (url) => {\n var _a;\n if (typeof url !== 'string')\n return;\n const [, , uri] = (_a = url.match(/^(https?):\\/\\/([^:/]+)?/i)) !== null && _a !== void 0 ? _a : [];\n if (uri) {\n const parts = uri.split('.');\n return parts.length > 2\n ?\n parts.slice(parts.length - 2, parts.length).join('.')\n : uri;\n }\n};\nexports.getHost = getHost;\nconst getOnionDomain = (url, dict) => {\n var _a;\n if (Array.isArray(url))\n return url.map(u => { var _a; return (_a = (0, utils_1.urlToOnion)(u, dict)) !== null && _a !== void 0 ? _a : u; });\n if (typeof url === 'string')\n return (_a = (0, utils_1.urlToOnion)(url, dict)) !== null && _a !== void 0 ? _a : url;\n return url;\n};\nexports.getOnionDomain = getOnionDomain;\n//# sourceMappingURL=urlUtils.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst css = '.trezorconnect-container{position:fixed!important;display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important;-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-webkit-flex-direction:column!important;-ms-flex-direction:column!important;flex-direction:column!important;-webkit-box-align:center!important;-webkit-align-items:center!important;-ms-flex-align:center!important;align-items:center!important;z-index:10000!important;width:100%!important;height:100%!important;top:0!important;left:0!important;background:rgba(0,0,0,.35)!important;overflow:auto!important;padding:20px!important;margin:0!important}.trezorconnect-container .trezorconnect-window{position:relative!important;display:block!important;width:370px!important;font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,\"Helvetica Neue\",Arial,sans-serif!important;margin:auto!important;border-radius:3px!important;background-color:#fff!important;text-align:center!important;overflow:hidden!important}.trezorconnect-container .trezorconnect-window .trezorconnect-head{text-align:left;padding:12px 24px!important;display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important;-webkit-box-align:center!important;-webkit-align-items:center!important;-ms-flex-align:center!important;align-items:center!important}.trezorconnect-container .trezorconnect-window .trezorconnect-head .trezorconnect-logo{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.trezorconnect-container .trezorconnect-window .trezorconnect-head .trezorconnect-close{cursor:pointer!important;height:24px!important}.trezorconnect-container .trezorconnect-window .trezorconnect-head .trezorconnect-close svg{fill:#757575;-webkit-transition:fill .3s ease-in-out!important;transition:fill .3s ease-in-out!important}.trezorconnect-container .trezorconnect-window .trezorconnect-head .trezorconnect-close:hover svg{fill:#494949}.trezorconnect-container .trezorconnect-window .trezorconnect-body{padding:24px 24px 32px!important;background:#FBFBFB!important;border-top:1px solid #EBEBEB}.trezorconnect-container .trezorconnect-window .trezorconnect-body h3{color:#505050!important;font-size:16px!important;font-weight:500!important}.trezorconnect-container .trezorconnect-window .trezorconnect-body p{margin:8px 0 24px!important;font-weight:400!important;color:#A9A9A9!important;font-size:12px!important}.trezorconnect-container .trezorconnect-window .trezorconnect-body button{width:100%!important;padding:12px 24px!important;margin:0!important;border-radius:3px!important;font-size:14px!important;font-weight:300!important;cursor:pointer!important;background:#01B757!important;color:#fff!important;border:0!important;-webkit-transition:background-color .3s ease-in-out!important;transition:background-color .3s ease-in-out!important}.trezorconnect-container .trezorconnect-window .trezorconnect-body button:hover{background-color:#00AB51!important}.trezorconnect-container .trezorconnect-window .trezorconnect-body button:active{background-color:#009546!important}/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImlucHV0IiwiJHN0ZGluIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWNBLHlCQUNJLFNBQUEsZ0JBQ0EsUUFBQSxzQkFDQSxRQUFBLHVCQUNBLFFBQUEsc0JBRUEsUUFBQSxlQUNBLG1CQUFBLG1CQUNBLHNCQUFBLGlCQUNBLHVCQUFBLGlCQUNBLG1CQUFBLGlCQUNBLGVBQUEsaUJBRUEsa0JBQUEsaUJBQ0Esb0JBQUEsaUJBQ0EsZUFBQSxpQkNmTSxZQUFhLGlCREFyQixRQUFTLGdCQWtCSCxNQUFBLGVBQ0EsT0FBQSxlQUNBLElBQUEsWUFDQSxLQUFBLFlBQ0EsV0FBQSwwQkFDQSxTQUFBLGVBQ0EsUUFBQSxlQUNBLE9BQUEsWUNkUiwrQ0RYRSxTQUFVLG1CQTZCQSxRQUFBLGdCQUNBLE1BQUEsZ0JBQ0EsWUFBQSxjQUFBLG1CQUFBLFdBQUEsT0FBQSxpQkFBQSxNQUFBLHFCQUNBLE9BQUEsZUNmVixjQUFlLGNEakJmLGlCQWlCRSxlQWtCWSxXQUFBLGlCQ2ZkLFNBQVUsaUJEbUJJLG1FQUNBLFdBQUEsS0NoQmQsUUFBUyxLQUFLLGVEeEJkLFFBQVMsc0JBMENTLFFBQUEsdUJBQ0EsUUFBQSxzQkNmbEIsUUFBUyxlRGlCSyxrQkE1QlosaUJBOEJvQixvQkFBQSxpQkNoQmxCLGVBQWdCLGlCRC9CWixZQWlCTixpQkFzQ1EsdUZBQ0EsaUJBQUEsRUNwQlYsYUFBYyxFRHBDVixTQUFVLEVBMkRBLEtBQUEsRUFFQSx3RkNwQmQsT0FBUSxrQkR6Q1IsT0FBUSxlQWlFTSw0RkFDQSxLQUFBLFFBQ0EsbUJBQUEsS0FBQSxJQUFBLHNCQ3BCZCxXQUFZLEtBQUssSUFBSyxzQkR3QlIsa0dBQ0EsS0FBQSxRQUVBLG1FQUNBLFFBQUEsS0FBQSxLQUFBLGVBQ0EsV0FBQSxrQkFDQSxXQUFBLElBQUEsTUFBQSxRQUVBLHNFQUNBLE1BQUEsa0JBQ0EsVUFBQSxlQ3JCZCxZQUFhLGNEd0JLLHFFQ3JCbEIsT0FBUSxJQUFJLEVBQUksZUR3QkYsWUFBQSxjQUNJLE1BQUEsa0JDdEJsQixVQUFXLGVBRWIsMEVBQ0UsTUFBTyxlQUNQLFFBQVMsS0FBSyxlQUNkLE9BQVEsWUFDUixjQUFlLGNBQ2YsVUFBVyxlQUNYLFlBQWEsY0FDYixPQUFRLGtCQUNSLFdBQVksa0JBQ1osTUFBTyxlQUNQLE9BQVEsWUFDUixtQkFBb0IsaUJBQWlCLElBQUssc0JBQzFDLFdBQVksaUJBQWlCLElBQUssc0JBRXBDLGdGQUNFLGlCQUFrQixrQkFFcEIsaUZBQ0UsaUJBQWtCIn0= */';\nexports.default = css;\n//# sourceMappingURL=inlineStyles.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.initIframeLogger = exports.clearTimeout = exports.postMessage = exports.init = exports.dispose = exports.error = exports.timeout = exports.initPromise = exports.origin = exports.instance = void 0;\nconst tslib_1 = require(\"tslib\");\nconst utils_1 = require(\"@trezor/utils\");\nconst ERRORS = tslib_1.__importStar(require(\"@trezor/connect/lib/constants/errors\"));\nconst events_1 = require(\"@trezor/connect/lib/events\");\nconst urlUtils_1 = require(\"@trezor/connect/lib/utils/urlUtils\");\nconst debug_1 = require(\"@trezor/connect/lib/utils/debug\");\nconst inlineStyles_1 = tslib_1.__importDefault(require(\"./inlineStyles\"));\nexports.initPromise = (0, utils_1.createDeferred)();\nexports.timeout = 0;\nconst dispose = () => {\n if (exports.instance && exports.instance.parentNode) {\n try {\n exports.instance.parentNode.removeChild(exports.instance);\n }\n catch (e) {\n }\n }\n exports.instance = null;\n exports.timeout = 0;\n};\nexports.dispose = dispose;\nconst handleIframeBlocked = () => {\n window.clearTimeout(exports.timeout);\n exports.error = ERRORS.TypedError('Init_IframeBlocked');\n (0, exports.dispose)();\n exports.initPromise.reject(exports.error);\n};\nconst injectStyleSheet = () => {\n if (!exports.instance) {\n throw ERRORS.TypedError('Init_IframeBlocked');\n }\n const doc = exports.instance.ownerDocument;\n const head = doc.head || doc.getElementsByTagName('head')[0];\n const style = document.createElement('style');\n style.setAttribute('type', 'text/css');\n style.setAttribute('id', 'TrezorConnectStylesheet');\n if (style.styleSheet) {\n style.styleSheet.cssText = inlineStyles_1.default;\n head.appendChild(style);\n }\n else {\n style.appendChild(document.createTextNode(inlineStyles_1.default));\n head.append(style);\n }\n};\nconst init = async (settings) => {\n exports.initPromise = (0, utils_1.createDeferred)();\n const existedFrame = document.getElementById('trezorconnect');\n if (existedFrame) {\n exports.instance = existedFrame;\n }\n else {\n exports.instance = document.createElement('iframe');\n exports.instance.frameBorder = '0';\n exports.instance.width = '0px';\n exports.instance.height = '0px';\n exports.instance.style.position = 'absolute';\n exports.instance.style.display = 'none';\n exports.instance.style.border = '0px';\n exports.instance.style.width = '0px';\n exports.instance.style.height = '0px';\n exports.instance.id = 'trezorconnect';\n }\n let src;\n if (settings.env === 'web') {\n const manifestString = settings.manifest ? JSON.stringify(settings.manifest) : 'undefined';\n const manifest = `version=${settings.version}&manifest=${encodeURIComponent(btoa(JSON.stringify(manifestString)))}`;\n src = `${settings.iframeSrc}?${manifest}`;\n }\n else {\n src = settings.iframeSrc;\n }\n exports.instance.setAttribute('src', src);\n if (settings.webusb) {\n console.warn('webusb option is deprecated. use `transports: [\"WebUsbTransport\"] instead`');\n }\n if (navigator.usb) {\n exports.instance.setAttribute('allow', 'usb');\n }\n exports.origin = (0, urlUtils_1.getOrigin)(exports.instance.src);\n exports.timeout = window.setTimeout(() => {\n exports.initPromise.reject(ERRORS.TypedError('Init_IframeTimeout'));\n }, 10000);\n const onLoad = () => {\n var _a, _b;\n if (!exports.instance) {\n exports.initPromise.reject(ERRORS.TypedError('Init_IframeBlocked'));\n return;\n }\n try {\n const iframeOrigin = (_a = exports.instance.contentWindow) === null || _a === void 0 ? void 0 : _a.location.origin;\n if (!iframeOrigin || iframeOrigin === 'null') {\n handleIframeBlocked();\n return;\n }\n }\n catch (e) {\n }\n let extension;\n if (typeof chrome !== 'undefined' &&\n chrome.runtime &&\n typeof chrome.runtime.onConnect !== 'undefined') {\n chrome.runtime.onConnect.addListener(() => { });\n extension = chrome.runtime.id;\n }\n (_b = exports.instance.contentWindow) === null || _b === void 0 ? void 0 : _b.postMessage({\n type: events_1.IFRAME.INIT,\n payload: {\n settings,\n extension,\n },\n }, exports.origin);\n exports.instance.onload = null;\n };\n if (exports.instance.attachEvent) {\n exports.instance.attachEvent('onload', onLoad);\n }\n else {\n exports.instance.onload = onLoad;\n }\n if (document.body) {\n document.body.appendChild(exports.instance);\n injectStyleSheet();\n }\n try {\n await exports.initPromise.promise;\n }\n catch (e) {\n if (exports.instance) {\n if (exports.instance.parentNode) {\n exports.instance.parentNode.removeChild(exports.instance);\n }\n exports.instance = null;\n }\n throw e;\n }\n finally {\n window.clearTimeout(exports.timeout);\n exports.timeout = 0;\n }\n};\nexports.init = init;\nconst postMessage = (message) => {\n var _a;\n if (!exports.instance) {\n throw ERRORS.TypedError('Init_IframeBlocked');\n }\n (_a = exports.instance.contentWindow) === null || _a === void 0 ? void 0 : _a.postMessage(message, exports.origin);\n};\nexports.postMessage = postMessage;\nconst clearTimeout = () => {\n window.clearTimeout(exports.timeout);\n};\nexports.clearTimeout = clearTimeout;\nconst initIframeLogger = () => {\n const logWriterFactory = () => ({\n add: (message) => {\n (0, exports.postMessage)({\n type: events_1.IFRAME.LOG,\n payload: message,\n });\n },\n });\n (0, debug_1.setLogWriter)(logWriterFactory);\n};\nexports.initIframeLogger = initIframeLogger;\n//# sourceMappingURL=index.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.showPopupRequest = void 0;\nconst LAYER_ID = 'TrezorConnectInteractionLayer';\nconst HTML = `\n <div class=\"trezorconnect-container\" id=\"${LAYER_ID}\">\n <div class=\"trezorconnect-window\">\n <div class=\"trezorconnect-head\">\n <svg class=\"trezorconnect-logo\" x=\"0px\" y=\"0px\" viewBox=\"0 0 163.7 41.9\" width=\"78px\" height=\"20px\" preserveAspectRatio=\"xMinYMin meet\">\n <polygon points=\"101.1,12.8 118.2,12.8 118.2,17.3 108.9,29.9 118.2,29.9 118.2,35.2 101.1,35.2 101.1,30.7 110.4,18.1 101.1,18.1\"/>\n <path d=\"M158.8,26.9c2.1-0.8,4.3-2.9,4.3-6.6c0-4.5-3.1-7.4-7.7-7.4h-10.5v22.3h5.8v-7.5h2.2l4.1,7.5h6.7L158.8,26.9z M154.7,22.5 h-4V18h4c1.5,0,2.5,0.9,2.5,2.2C157.2,21.6,156.2,22.5,154.7,22.5z\"/>\n <path d=\"M130.8,12.5c-6.8,0-11.6,4.9-11.6,11.5s4.9,11.5,11.6,11.5s11.7-4.9,11.7-11.5S137.6,12.5,130.8,12.5z M130.8,30.3 c-3.4,0-5.7-2.6-5.7-6.3c0-3.8,2.3-6.3,5.7-6.3c3.4,0,5.8,2.6,5.8,6.3C136.6,27.7,134.2,30.3,130.8,30.3z\"/>\n <polygon points=\"82.1,12.8 98.3,12.8 98.3,18 87.9,18 87.9,21.3 98,21.3 98,26.4 87.9,26.4 87.9,30 98.3,30 98.3,35.2 82.1,35.2 \"/>\n <path d=\"M24.6,9.7C24.6,4.4,20,0,14.4,0S4.2,4.4,4.2,9.7v3.1H0v22.3h0l14.4,6.7l14.4-6.7h0V12.9h-4.2V9.7z M9.4,9.7 c0-2.5,2.2-4.5,5-4.5s5,2,5,4.5v3.1H9.4V9.7z M23,31.5l-8.6,4l-8.6-4V18.1H23V31.5z\"/>\n <path d=\"M79.4,20.3c0-4.5-3.1-7.4-7.7-7.4H61.2v22.3H67v-7.5h2.2l4.1,7.5H80l-4.9-8.3C77.2,26.1,79.4,24,79.4,20.3z M71,22.5h-4V18 h4c1.5,0,2.5,0.9,2.5,2.2C73.5,21.6,72.5,22.5,71,22.5z\"/>\n <polygon points=\"40.5,12.8 58.6,12.8 58.6,18.1 52.4,18.1 52.4,35.2 46.6,35.2 46.6,18.1 40.5,18.1 \"/>\n </svg>\n <div class=\"trezorconnect-close\">\n <svg x=\"0px\" y=\"0px\" viewBox=\"24 24 60 60\" width=\"24px\" height=\"24px\" preserveAspectRatio=\"xMinYMin meet\">\n <polygon class=\"st0\" points=\"40,67.9 42.1,70 55,57.1 67.9,70 70,67.9 57.1,55 70,42.1 67.9,40 55,52.9 42.1,40 40,42.1 52.9,55 \"/>\n </svg>\n </div>\n </div>\n <div class=\"trezorconnect-body\">\n <h3>Popup was blocked</h3>\n <p>Please click to \"Continue\" to open popup manually</p>\n <button class=\"trezorconnect-open\">Continue</button>\n </div>\n </div>\n </div>\n`;\nconst showPopupRequest = (open, cancel) => {\n if (document.getElementById(LAYER_ID)) {\n return;\n }\n const div = document.createElement('div');\n div.id = LAYER_ID;\n div.className = 'trezorconnect-container';\n div.innerHTML = HTML;\n if (document.body) {\n document.body.appendChild(div);\n }\n const button = div.getElementsByClassName('trezorconnect-open')[0];\n button.onclick = () => {\n open();\n if (document.body) {\n document.body.removeChild(div);\n }\n };\n const close = div.getElementsByClassName('trezorconnect-close')[0];\n close.onclick = () => {\n cancel();\n if (document.body) {\n document.body.removeChild(div);\n }\n };\n};\nexports.showPopupRequest = showPopupRequest;\n//# sourceMappingURL=showPopupRequest.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.storage = void 0;\nconst utils_1 = require(\"@trezor/utils\");\nconst storageVersion = 2;\nconst storageName = `storage_v${storageVersion}`;\nconst getEmptyState = () => ({\n origin: {},\n});\nlet memoryStorage = getEmptyState();\nconst getPermanentStorage = () => {\n const ls = localStorage.getItem(storageName);\n return ls ? JSON.parse(ls) : getEmptyState();\n};\nclass Storage extends utils_1.TypedEmitter {\n save(getNewState, temporary = false) {\n if (temporary || !global.window) {\n memoryStorage = getNewState(memoryStorage);\n return;\n }\n try {\n const newState = getNewState(getPermanentStorage());\n localStorage.setItem(storageName, JSON.stringify(newState));\n this.emit('changed', newState);\n }\n catch (err) {\n console.warn('long term storage not available');\n memoryStorage = getNewState(memoryStorage);\n }\n }\n saveForOrigin(getNewState, origin, temporary = false) {\n this.save(state => {\n var _a;\n return (Object.assign(Object.assign({}, state), { origin: Object.assign(Object.assign({}, state.origin), { [origin]: getNewState(((_a = state.origin) === null || _a === void 0 ? void 0 : _a[origin]) || {}) }) }));\n }, temporary);\n }\n load(temporary = false) {\n var _a;\n if (temporary || !((_a = global === null || global === void 0 ? void 0 : global.window) === null || _a === void 0 ? void 0 : _a.localStorage)) {\n return memoryStorage;\n }\n try {\n return getPermanentStorage();\n }\n catch (err) {\n console.warn('long term storage not available');\n return memoryStorage;\n }\n }\n loadForOrigin(origin, temporary = false) {\n var _a;\n const state = this.load(temporary);\n return ((_a = state.origin) === null || _a === void 0 ? void 0 : _a[origin]) || {};\n }\n}\nconst storage = new Storage();\nexports.storage = storage;\n//# sourceMappingURL=storage.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AbstractMessageChannel = void 0;\nconst tslib_1 = require(\"tslib\");\nconst utils_1 = require(\"@trezor/utils\");\nconst utils_2 = require(\"@trezor/utils\");\nconst utils_3 = require(\"@trezor/utils\");\nclass AbstractMessageChannel extends utils_2.TypedEmitter {\n constructor({ sendFn, channel, logger, lazyHandshake = false, legacyMode = false, }) {\n super();\n this.messagePromises = {};\n this.messagesQueue = [];\n this.messageID = 0;\n this.isConnected = false;\n this.handshakeMaxRetries = 5;\n this.handshakeRetryInterval = 2000;\n this.channel = channel;\n this.sendFn = sendFn;\n this.lazyHandshake = lazyHandshake;\n this.legacyMode = legacyMode;\n this.logger = logger;\n }\n init() {\n if (!this.handshakeFinished) {\n this.handshakeFinished = (0, utils_1.createDeferred)();\n if (this.legacyMode) {\n setTimeout(() => {\n var _a;\n (_a = this.handshakeFinished) === null || _a === void 0 ? void 0 : _a.resolve();\n }, 500);\n }\n if (!this.lazyHandshake) {\n this.handshakeWithPeer();\n }\n }\n return this.handshakeFinished.promise;\n }\n handshakeWithPeer() {\n var _a;\n (_a = this.logger) === null || _a === void 0 ? void 0 : _a.log(this.channel.here, 'handshake');\n return (0, utils_3.scheduleAction)(() => tslib_1.__awaiter(this, void 0, void 0, function* () {\n var _b;\n this.postMessage({\n type: 'channel-handshake-request',\n data: { success: true, payload: undefined },\n }, { usePromise: false, useQueue: false });\n yield ((_b = this.handshakeFinished) === null || _b === void 0 ? void 0 : _b.promise);\n }), {\n attempts: this.handshakeMaxRetries,\n timeout: this.handshakeRetryInterval,\n })\n .then(() => {\n var _a;\n (_a = this.logger) === null || _a === void 0 ? void 0 : _a.log(this.channel.here, 'handshake confirmed');\n this.messagesQueue.forEach(message => {\n message.channel = this.channel;\n this.sendFn(message);\n });\n this.messagesQueue = [];\n })\n .catch(() => {\n var _a;\n (_a = this.handshakeFinished) === null || _a === void 0 ? void 0 : _a.reject(new Error('handshake failed'));\n this.handshakeFinished = undefined;\n });\n }\n onMessage(_message) {\n var _a, _b;\n let message = _message;\n if (this.legacyMode &&\n message.type === undefined &&\n 'data' in message &&\n typeof message.data === 'object' &&\n message.data !== null &&\n 'type' in message.data &&\n typeof message.data.type === 'string') {\n message = message.data;\n }\n const { channel, id, type, payload, success } = message;\n if (!this.legacyMode) {\n if (!(channel === null || channel === void 0 ? void 0 : channel.peer) || channel.peer !== this.channel.here) {\n return;\n }\n if (!(channel === null || channel === void 0 ? void 0 : channel.here) || this.channel.peer !== channel.here) {\n return;\n }\n }\n if (type === 'channel-handshake-request') {\n this.postMessage({\n type: 'channel-handshake-confirm',\n data: { success: true, payload: undefined },\n }, { usePromise: false, useQueue: false });\n if (this.lazyHandshake) {\n this.handshakeWithPeer();\n }\n return;\n }\n if (type === 'channel-handshake-confirm') {\n (_a = this.handshakeFinished) === null || _a === void 0 ? void 0 : _a.resolve(undefined);\n return;\n }\n if (this.messagePromises[id]) {\n this.messagePromises[id].resolve({ id, payload, success });\n delete this.messagePromises[id];\n }\n const messagePromisesLength = Object.keys(this.messagePromises).length;\n if (messagePromisesLength > 5) {\n (_b = this.logger) === null || _b === void 0 ? void 0 : _b.warn(`too many message promises (${messagePromisesLength}). this feels unexpected!`);\n }\n this.emit('message', message);\n }\n postMessage(message, { usePromise = true, useQueue = true } = {}) {\n message.channel = this.channel;\n if (!usePromise) {\n try {\n this.sendFn(message);\n }\n catch (err) {\n if (useQueue) {\n this.messagesQueue.push(message);\n }\n }\n return;\n }\n this.messageID++;\n message.id = this.messageID;\n this.messagePromises[message.id] = (0, utils_1.createDeferred)();\n try {\n this.sendFn(message);\n }\n catch (err) {\n if (useQueue) {\n this.messagesQueue.push(message);\n }\n }\n return this.messagePromises[message.id].promise;\n }\n resolveMessagePromises(resolvePayload) {\n Object.keys(this.messagePromises).forEach(id => this.messagePromises[id].resolve({\n id,\n payload: resolvePayload,\n }));\n }\n clear() {\n this.handshakeFinished = undefined;\n }\n}\nexports.AbstractMessageChannel = AbstractMessageChannel;\n//# sourceMappingURL=abstract.js.map", "/////////////////////////////////////////////////////////////////////////////////\n/* UAParser.js v1.0.38\n Copyright \u00A9 2012-2021 Faisal Salman <f@faisalman.com>\n MIT License *//*\n Detect Browser, Engine, OS, CPU, and Device type/model from User-Agent data.\n Supports browser & node.js environment. \n Demo : https://faisalman.github.io/ua-parser-js\n Source : https://github.com/faisalman/ua-parser-js */\n/////////////////////////////////////////////////////////////////////////////////\n\n(function (window, undefined) {\n\n 'use strict';\n\n //////////////\n // Constants\n /////////////\n\n\n var LIBVERSION = '1.0.38',\n EMPTY = '',\n UNKNOWN = '?',\n FUNC_TYPE = 'function',\n UNDEF_TYPE = 'undefined',\n OBJ_TYPE = 'object',\n STR_TYPE = 'string',\n MAJOR = 'major',\n MODEL = 'model',\n NAME = 'name',\n TYPE = 'type',\n VENDOR = 'vendor',\n VERSION = 'version',\n ARCHITECTURE= 'architecture',\n CONSOLE = 'console',\n MOBILE = 'mobile',\n TABLET = 'tablet',\n SMARTTV = 'smarttv',\n WEARABLE = 'wearable',\n EMBEDDED = 'embedded',\n UA_MAX_LENGTH = 500;\n\n var AMAZON = 'Amazon',\n APPLE = 'Apple',\n ASUS = 'ASUS',\n BLACKBERRY = 'BlackBerry',\n BROWSER = 'Browser',\n CHROME = 'Chrome',\n EDGE = 'Edge',\n FIREFOX = 'Firefox',\n GOOGLE = 'Google',\n HUAWEI = 'Huawei',\n LG = 'LG',\n MICROSOFT = 'Microsoft',\n MOTOROLA = 'Motorola',\n OPERA = 'Opera',\n SAMSUNG = 'Samsung',\n SHARP = 'Sharp',\n SONY = 'Sony',\n XIAOMI = 'Xiaomi',\n ZEBRA = 'Zebra',\n FACEBOOK = 'Facebook',\n CHROMIUM_OS = 'Chromium OS',\n MAC_OS = 'Mac OS';\n\n ///////////\n // Helper\n //////////\n\n var extend = function (regexes, extensions) {\n var mergedRegexes = {};\n for (var i in regexes) {\n if (extensions[i] && extensions[i].length % 2 === 0) {\n mergedRegexes[i] = extensions[i].concat(regexes[i]);\n } else {\n mergedRegexes[i] = regexes[i];\n }\n }\n return mergedRegexes;\n },\n enumerize = function (arr) {\n var enums = {};\n for (var i=0; i<arr.length; i++) {\n enums[arr[i].toUpperCase()] = arr[i];\n }\n return enums;\n },\n has = function (str1, str2) {\n return typeof str1 === STR_TYPE ? lowerize(str2).indexOf(lowerize(str1)) !== -1 : false;\n },\n lowerize = function (str) {\n return str.toLowerCase();\n },\n majorize = function (version) {\n return typeof(version) === STR_TYPE ? version.replace(/[^\\d\\.]/g, EMPTY).split('.')[0] : undefined;\n },\n trim = function (str, len) {\n if (typeof(str) === STR_TYPE) {\n str = str.replace(/^\\s\\s*/, EMPTY);\n return typeof(len) === UNDEF_TYPE ? str : str.substring(0, UA_MAX_LENGTH);\n }\n };\n\n ///////////////\n // Map helper\n //////////////\n\n var rgxMapper = function (ua, arrays) {\n\n var i = 0, j, k, p, q, matches, match;\n\n // loop through all regexes maps\n while (i < arrays.length && !matches) {\n\n var regex = arrays[i], // even sequence (0,2,4,..)\n props = arrays[i + 1]; // odd sequence (1,3,5,..)\n j = k = 0;\n\n // try matching uastring with regexes\n while (j < regex.length && !matches) {\n\n if (!regex[j]) { break; }\n matches = regex[j++].exec(ua);\n\n if (!!matches) {\n for (p = 0; p < props.length; p++) {\n match = matches[++k];\n q = props[p];\n // check if given property is actually array\n if (typeof q === OBJ_TYPE && q.length > 0) {\n if (q.length === 2) {\n if (typeof q[1] == FUNC_TYPE) {\n // assign modified match\n this[q[0]] = q[1].call(this, match);\n } else {\n // assign given value, ignore regex match\n this[q[0]] = q[1];\n }\n } else if (q.length === 3) {\n // check whether function or regex\n if (typeof q[1] === FUNC_TYPE && !(q[1].exec && q[1].test)) {\n // call function (usually string mapper)\n this[q[0]] = match ? q[1].call(this, match, q[2]) : undefined;\n } else {\n // sanitize match using given regex\n this[q[0]] = match ? match.replace(q[1], q[2]) : undefined;\n }\n } else if (q.length === 4) {\n this[q[0]] = match ? q[3].call(this, match.replace(q[1], q[2])) : undefined;\n }\n } else {\n this[q] = match ? match : undefined;\n }\n }\n }\n }\n i += 2;\n }\n },\n\n strMapper = function (str, map) {\n\n for (var i in map) {\n // check if current value is array\n if (typeof map[i] === OBJ_TYPE && map[i].length > 0) {\n for (var j = 0; j < map[i].length; j++) {\n if (has(map[i][j], str)) {\n return (i === UNKNOWN) ? undefined : i;\n }\n }\n } else if (has(map[i], str)) {\n return (i === UNKNOWN) ? undefined : i;\n }\n }\n return str;\n };\n\n ///////////////\n // String map\n //////////////\n\n // Safari < 3.0\n var oldSafariMap = {\n '1.0' : '/8',\n '1.2' : '/1',\n '1.3' : '/3',\n '2.0' : '/412',\n '2.0.2' : '/416',\n '2.0.3' : '/417',\n '2.0.4' : '/419',\n '?' : '/'\n },\n windowsVersionMap = {\n 'ME' : '4.90',\n 'NT 3.11' : 'NT3.51',\n 'NT 4.0' : 'NT4.0',\n '2000' : 'NT 5.0',\n 'XP' : ['NT 5.1', 'NT 5.2'],\n 'Vista' : 'NT 6.0',\n '7' : 'NT 6.1',\n '8' : 'NT 6.2',\n '8.1' : 'NT 6.3',\n '10' : ['NT 6.4', 'NT 10.0'],\n 'RT' : 'ARM'\n };\n\n //////////////\n // Regex map\n /////////////\n\n var regexes = {\n\n browser : [[\n\n /\\b(?:crmo|crios)\\/([\\w\\.]+)/i // Chrome for Android/iOS\n ], [VERSION, [NAME, 'Chrome']], [\n /edg(?:e|ios|a)?\\/([\\w\\.]+)/i // Microsoft Edge\n ], [VERSION, [NAME, 'Edge']], [\n\n // Presto based\n /(opera mini)\\/([-\\w\\.]+)/i, // Opera Mini\n /(opera [mobiletab]{3,6})\\b.+version\\/([-\\w\\.]+)/i, // Opera Mobi/Tablet\n /(opera)(?:.+version\\/|[\\/ ]+)([\\w\\.]+)/i // Opera\n ], [NAME, VERSION], [\n /opios[\\/ ]+([\\w\\.]+)/i // Opera mini on iphone >= 8.0\n ], [VERSION, [NAME, OPERA+' Mini']], [\n /\\bop(?:rg)?x\\/([\\w\\.]+)/i // Opera GX\n ], [VERSION, [NAME, OPERA+' GX']], [\n /\\bopr\\/([\\w\\.]+)/i // Opera Webkit\n ], [VERSION, [NAME, OPERA]], [\n\n // Mixed\n /\\bb[ai]*d(?:uhd|[ub]*[aekoprswx]{5,6})[\\/ ]?([\\w\\.]+)/i // Baidu\n ], [VERSION, [NAME, 'Baidu']], [\n /(kindle)\\/([\\w\\.]+)/i, // Kindle\n /(lunascape|maxthon|netfront|jasmine|blazer)[\\/ ]?([\\w\\.]*)/i, // Lunascape/Maxthon/Netfront/Jasmine/Blazer\n // Trident based\n /(avant|iemobile|slim)\\s?(?:browser)?[\\/ ]?([\\w\\.]*)/i, // Avant/IEMobile/SlimBrowser\n /(?:ms|\\()(ie) ([\\w\\.]+)/i, // Internet Explorer\n\n // Webkit/KHTML based // Flock/RockMelt/Midori/Epiphany/Silk/Skyfire/Bolt/Iron/Iridium/PhantomJS/Bowser/QupZilla/Falkon\n /(flock|rockmelt|midori|epiphany|silk|skyfire|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|qq|duckduckgo)\\/([-\\w\\.]+)/i,\n // Rekonq/Puffin/Brave/Whale/QQBrowserLite/QQ, aka ShouQ\n /(heytap|ovi)browser\\/([\\d\\.]+)/i, // Heytap/Ovi\n /(weibo)__([\\d\\.]+)/i // Weibo\n ], [NAME, VERSION], [\n /\\bddg\\/([\\w\\.]+)/i // DuckDuckGo\n ], [VERSION, [NAME, 'DuckDuckGo']], [\n /(?:\\buc? ?browser|(?:juc.+)ucweb)[\\/ ]?([\\w\\.]+)/i // UCBrowser\n ], [VERSION, [NAME, 'UC'+BROWSER]], [\n /microm.+\\bqbcore\\/([\\w\\.]+)/i, // WeChat Desktop for Windows Built-in Browser\n /\\bqbcore\\/([\\w\\.]+).+microm/i,\n /micromessenger\\/([\\w\\.]+)/i // WeChat\n ], [VERSION, [NAME, 'WeChat']], [\n /konqueror\\/([\\w\\.]+)/i // Konqueror\n ], [VERSION, [NAME, 'Konqueror']], [\n /trident.+rv[: ]([\\w\\.]{1,9})\\b.+like gecko/i // IE11\n ], [VERSION, [NAME, 'IE']], [\n /ya(?:search)?browser\\/([\\w\\.]+)/i // Yandex\n ], [VERSION, [NAME, 'Yandex']], [\n /slbrowser\\/([\\w\\.]+)/i // Smart Lenovo Browser\n ], [VERSION, [NAME, 'Smart Lenovo '+BROWSER]], [\n /(avast|avg)\\/([\\w\\.]+)/i // Avast/AVG Secure Browser\n ], [[NAME, /(.+)/, '$1 Secure '+BROWSER], VERSION], [\n /\\bfocus\\/([\\w\\.]+)/i // Firefox Focus\n ], [VERSION, [NAME, FIREFOX+' Focus']], [\n /\\bopt\\/([\\w\\.]+)/i // Opera Touch\n ], [VERSION, [NAME, OPERA+' Touch']], [\n /coc_coc\\w+\\/([\\w\\.]+)/i // Coc Coc Browser\n ], [VERSION, [NAME, 'Coc Coc']], [\n /dolfin\\/([\\w\\.]+)/i // Dolphin\n ], [VERSION, [NAME, 'Dolphin']], [\n /coast\\/([\\w\\.]+)/i // Opera Coast\n ], [VERSION, [NAME, OPERA+' Coast']], [\n /miuibrowser\\/([\\w\\.]+)/i // MIUI Browser\n ], [VERSION, [NAME, 'MIUI '+BROWSER]], [\n /fxios\\/([-\\w\\.]+)/i // Firefox for iOS\n ], [VERSION, [NAME, FIREFOX]], [\n /\\bqihu|(qi?ho?o?|360)browser/i // 360\n ], [[NAME, '360 ' + BROWSER]], [\n /(oculus|sailfish|huawei|vivo)browser\\/([\\w\\.]+)/i\n ], [[NAME, /(.+)/, '$1 ' + BROWSER], VERSION], [ // Oculus/Sailfish/HuaweiBrowser/VivoBrowser\n /samsungbrowser\\/([\\w\\.]+)/i // Samsung Internet\n ], [VERSION, [NAME, SAMSUNG + ' Internet']], [\n /(comodo_dragon)\\/([\\w\\.]+)/i // Comodo Dragon\n ], [[NAME, /_/g, ' '], VERSION], [\n /metasr[\\/ ]?([\\d\\.]+)/i // Sogou Explorer\n ], [VERSION, [NAME, 'Sogou Explorer']], [\n /(sogou)mo\\w+\\/([\\d\\.]+)/i // Sogou Mobile\n ], [[NAME, 'Sogou Mobile'], VERSION], [\n /(electron)\\/([\\w\\.]+) safari/i, // Electron-based App\n /(tesla)(?: qtcarbrowser|\\/(20\\d\\d\\.[-\\w\\.]+))/i, // Tesla\n /m?(qqbrowser|2345Explorer)[\\/ ]?([\\w\\.]+)/i // QQBrowser/2345 Browser\n ], [NAME, VERSION], [\n /(lbbrowser)/i, // LieBao Browser\n /\\[(linkedin)app\\]/i // LinkedIn App for iOS & Android\n ], [NAME], [\n\n // WebView\n /((?:fban\\/fbios|fb_iab\\/fb4a)(?!.+fbav)|;fbav\\/([\\w\\.]+);)/i // Facebook App for iOS & Android\n ], [[NAME, FACEBOOK], VERSION], [\n /(Klarna)\\/([\\w\\.]+)/i, // Klarna Shopping Browser for iOS & Android\n /(kakao(?:talk|story))[\\/ ]([\\w\\.]+)/i, // Kakao App\n /(naver)\\(.*?(\\d+\\.[\\w\\.]+).*\\)/i, // Naver InApp\n /safari (line)\\/([\\w\\.]+)/i, // Line App for iOS\n /\\b(line)\\/([\\w\\.]+)\\/iab/i, // Line App for Android\n /(alipay)client\\/([\\w\\.]+)/i, // Alipay\n /(twitter)(?:and| f.+e\\/([\\w\\.]+))/i, // Twitter\n /(chromium|instagram|snapchat)[\\/ ]([-\\w\\.]+)/i // Chromium/Instagram/Snapchat\n ], [NAME, VERSION], [\n /\\bgsa\\/([\\w\\.]+) .*safari\\//i // Google Search Appliance on iOS\n ], [VERSION, [NAME, 'GSA']], [\n /musical_ly(?:.+app_?version\\/|_)([\\w\\.]+)/i // TikTok\n ], [VERSION, [NAME, 'TikTok']], [\n\n /headlesschrome(?:\\/([\\w\\.]+)| )/i // Chrome Headless\n ], [VERSION, [NAME, CHROME+' Headless']], [\n\n / wv\\).+(chrome)\\/([\\w\\.]+)/i // Chrome WebView\n ], [[NAME, CHROME+' WebView'], VERSION], [\n\n /droid.+ version\\/([\\w\\.]+)\\b.+(?:mobile safari|safari)/i // Android Browser\n ], [VERSION, [NAME, 'Android '+BROWSER]], [\n\n /(chrome|omniweb|arora|[tizenoka]{5} ?browser)\\/v?([\\w\\.]+)/i // Chrome/OmniWeb/Arora/Tizen/Nokia\n ], [NAME, VERSION], [\n\n /version\\/([\\w\\.\\,]+) .*mobile\\/\\w+ (safari)/i // Mobile Safari\n ], [VERSION, [NAME, 'Mobile Safari']], [\n /version\\/([\\w(\\.|\\,)]+) .*(mobile ?safari|safari)/i // Safari & Safari Mobile\n ], [VERSION, NAME], [\n /webkit.+?(mobile ?safari|safari)(\\/[\\w\\.]+)/i // Safari < 3.0\n ], [NAME, [VERSION, strMapper, oldSafariMap]], [\n\n /(webkit|khtml)\\/([\\w\\.]+)/i\n ], [NAME, VERSION], [\n\n // Gecko based\n /(navigator|netscape\\d?)\\/([-\\w\\.]+)/i // Netscape\n ], [[NAME, 'Netscape'], VERSION], [\n /mobile vr; rv:([\\w\\.]+)\\).+firefox/i // Firefox Reality\n ], [VERSION, [NAME, FIREFOX+' Reality']], [\n /ekiohf.+(flow)\\/([\\w\\.]+)/i, // Flow\n /(swiftfox)/i, // Swiftfox\n /(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror|klar)[\\/ ]?([\\w\\.\\+]+)/i,\n // IceDragon/Iceweasel/Camino/Chimera/Fennec/Maemo/Minimo/Conkeror/Klar\n /(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\\/([-\\w\\.]+)$/i,\n // Firefox/SeaMonkey/K-Meleon/IceCat/IceApe/Firebird/Phoenix\n /(firefox)\\/([\\w\\.]+)/i, // Other Firefox-based\n /(mozilla)\\/([\\w\\.]+) .+rv\\:.+gecko\\/\\d+/i, // Mozilla\n\n // Other\n /(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir|obigo|mosaic|(?:go|ice|up)[\\. ]?browser)[-\\/ ]?v?([\\w\\.]+)/i,\n // Polaris/Lynx/Dillo/iCab/Doris/Amaya/w3m/NetSurf/Sleipnir/Obigo/Mosaic/Go/ICE/UP.Browser\n /(links) \\(([\\w\\.]+)/i, // Links\n /panasonic;(viera)/i // Panasonic Viera\n ], [NAME, VERSION], [\n \n /(cobalt)\\/([\\w\\.]+)/i // Cobalt\n ], [NAME, [VERSION, /master.|lts./, \"\"]]\n ],\n\n cpu : [[\n\n /(?:(amd|x(?:(?:86|64)[-_])?|wow|win)64)[;\\)]/i // AMD64 (x64)\n ], [[ARCHITECTURE, 'amd64']], [\n\n /(ia32(?=;))/i // IA32 (quicktime)\n ], [[ARCHITECTURE, lowerize]], [\n\n /((?:i[346]|x)86)[;\\)]/i // IA32 (x86)\n ], [[ARCHITECTURE, 'ia32']], [\n\n /\\b(aarch64|arm(v?8e?l?|_?64))\\b/i // ARM64\n ], [[ARCHITECTURE, 'arm64']], [\n\n /\\b(arm(?:v[67])?ht?n?[fl]p?)\\b/i // ARMHF\n ], [[ARCHITECTURE, 'armhf']], [\n\n // PocketPC mistakenly identified as PowerPC\n /windows (ce|mobile); ppc;/i\n ], [[ARCHITECTURE, 'arm']], [\n\n /((?:ppc|powerpc)(?:64)?)(?: mac|;|\\))/i // PowerPC\n ], [[ARCHITECTURE, /ower/, EMPTY, lowerize]], [\n\n /(sun4\\w)[;\\)]/i // SPARC\n ], [[ARCHITECTURE, 'sparc']], [\n\n /((?:avr32|ia64(?=;))|68k(?=\\))|\\barm(?=v(?:[1-7]|[5-7]1)l?|;|eabi)|(?=atmel )avr|(?:irix|mips|sparc)(?:64)?\\b|pa-risc)/i\n // IA64, 68K, ARM/64, AVR/32, IRIX/64, MIPS/64, SPARC/64, PA-RISC\n ], [[ARCHITECTURE, lowerize]]\n ],\n\n device : [[\n\n //////////////////////////\n // MOBILES & TABLETS\n /////////////////////////\n\n // Samsung\n /\\b(sch-i[89]0\\d|shw-m380s|sm-[ptx]\\w{2,4}|gt-[pn]\\d{2,4}|sgh-t8[56]9|nexus 10)/i\n ], [MODEL, [VENDOR, SAMSUNG], [TYPE, TABLET]], [\n /\\b((?:s[cgp]h|gt|sm)-\\w+|sc[g-]?[\\d]+a?|galaxy nexus)/i,\n /samsung[- ]([-\\w]+)/i,\n /sec-(sgh\\w+)/i\n ], [MODEL, [VENDOR, SAMSUNG], [TYPE, MOBILE]], [\n\n // Apple\n /(?:\\/|\\()(ip(?:hone|od)[\\w, ]*)(?:\\/|;)/i // iPod/iPhone\n ], [MODEL, [VENDOR, APPLE], [TYPE, MOBILE]], [\n /\\((ipad);[-\\w\\),; ]+apple/i, // iPad\n /applecoremedia\\/[\\w\\.]+ \\((ipad)/i,\n /\\b(ipad)\\d\\d?,\\d\\d?[;\\]].+ios/i\n ], [MODEL, [VENDOR, APPLE], [TYPE, TABLET]], [\n /(macintosh);/i\n ], [MODEL, [VENDOR, APPLE]], [\n\n // Sharp\n /\\b(sh-?[altvz]?\\d\\d[a-ekm]?)/i\n ], [MODEL, [VENDOR, SHARP], [TYPE, MOBILE]], [\n\n // Huawei\n /\\b((?:ag[rs][23]?|bah2?|sht?|btv)-a?[lw]\\d{2})\\b(?!.+d\\/s)/i\n ], [MODEL, [VENDOR, HUAWEI], [TYPE, TABLET]], [\n /(?:huawei|honor)([-\\w ]+)[;\\)]/i,\n /\\b(nexus 6p|\\w{2,4}e?-[atu]?[ln][\\dx][012359c][adn]?)\\b(?!.+d\\/s)/i\n ], [MODEL, [VENDOR, HUAWEI], [TYPE, MOBILE]], [\n\n // Xiaomi\n /\\b(poco[\\w ]+|m2\\d{3}j\\d\\d[a-z]{2})(?: bui|\\))/i, // Xiaomi POCO\n /\\b; (\\w+) build\\/hm\\1/i, // Xiaomi Hongmi 'numeric' models\n /\\b(hm[-_ ]?note?[_ ]?(?:\\d\\w)?) bui/i, // Xiaomi Hongmi\n /\\b(redmi[\\-_ ]?(?:note|k)?[\\w_ ]+)(?: bui|\\))/i, // Xiaomi Redmi\n /oid[^\\)]+; (m?[12][0-389][01]\\w{3,6}[c-y])( bui|; wv|\\))/i, // Xiaomi Redmi 'numeric' models\n /\\b(mi[-_ ]?(?:a\\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\\d?\\w?)[_ ]?(?:plus|se|lite)?)(?: bui|\\))/i // Xiaomi Mi\n ], [[MODEL, /_/g, ' '], [VENDOR, XIAOMI], [TYPE, MOBILE]], [\n /oid[^\\)]+; (2\\d{4}(283|rpbf)[cgl])( bui|\\))/i, // Redmi Pad\n /\\b(mi[-_ ]?(?:pad)(?:[\\w_ ]+))(?: bui|\\))/i // Mi Pad tablets\n ],[[MODEL, /_/g, ' '], [VENDOR, XIAOMI], [TYPE, TABLET]], [\n\n // OPPO\n /; (\\w+) bui.+ oppo/i,\n /\\b(cph[12]\\d{3}|p(?:af|c[al]|d\\w|e[ar])[mt]\\d0|x9007|a101op)\\b/i\n ], [MODEL, [VENDOR, 'OPPO'], [TYPE, MOBILE]], [\n /\\b(opd2\\d{3}a?) bui/i\n ], [MODEL, [VENDOR, 'OPPO'], [TYPE, TABLET]], [\n\n // Vivo\n /vivo (\\w+)(?: bui|\\))/i,\n /\\b(v[12]\\d{3}\\w?[at])(?: bui|;)/i\n ], [MODEL, [VENDOR, 'Vivo'], [TYPE, MOBILE]], [\n\n // Realme\n /\\b(rmx[1-3]\\d{3})(?: bui|;|\\))/i\n ], [MODEL, [VENDOR, 'Realme'], [TYPE, MOBILE]], [\n\n // Motorola\n /\\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\\b[\\w ]+build\\//i,\n /\\bmot(?:orola)?[- ](\\w*)/i,\n /((?:moto[\\w\\(\\) ]+|xt\\d{3,4}|nexus 6)(?= bui|\\)))/i\n ], [MODEL, [VENDOR, MOTOROLA], [TYPE, MOBILE]], [\n /\\b(mz60\\d|xoom[2 ]{0,2}) build\\//i\n ], [MODEL, [VENDOR, MOTOROLA], [TYPE, TABLET]], [\n\n // LG\n /((?=lg)?[vl]k\\-?\\d{3}) bui| 3\\.[-\\w; ]{10}lg?-([06cv9]{3,4})/i\n ], [MODEL, [VENDOR, LG], [TYPE, TABLET]], [\n /(lm(?:-?f100[nv]?|-[\\w\\.]+)(?= bui|\\))|nexus [45])/i,\n /\\blg[-e;\\/ ]+((?!browser|netcast|android tv)\\w+)/i,\n /\\blg-?([\\d\\w]+) bui/i\n ], [MODEL, [VENDOR, LG], [TYPE, MOBILE]], [\n\n // Lenovo\n /(ideatab[-\\w ]+)/i,\n /lenovo ?(s[56]000[-\\w]+|tab(?:[\\w ]+)|yt[-\\d\\w]{6}|tb[-\\d\\w]{6})/i\n ], [MODEL, [VENDOR, 'Lenovo'], [TYPE, TABLET]], [\n\n // Nokia\n /(?:maemo|nokia).*(n900|lumia \\d+)/i,\n /nokia[-_ ]?([-\\w\\.]*)/i\n ], [[MODEL, /_/g, ' '], [VENDOR, 'Nokia'], [TYPE, MOBILE]], [\n\n // Google\n /(pixel c)\\b/i // Google Pixel C\n ], [MODEL, [VENDOR, GOOGLE], [TYPE, TABLET]], [\n /droid.+; (pixel[\\daxl ]{0,6})(?: bui|\\))/i // Google Pixel\n ], [MODEL, [VENDOR, GOOGLE], [TYPE, MOBILE]], [\n\n // Sony\n /droid.+ (a?\\d[0-2]{2}so|[c-g]\\d{4}|so[-gl]\\w+|xq-a\\w[4-7][12])(?= bui|\\).+chrome\\/(?![1-6]{0,1}\\d\\.))/i\n ], [MODEL, [VENDOR, SONY], [TYPE, MOBILE]], [\n /sony tablet [ps]/i,\n /\\b(?:sony)?sgp\\w+(?: bui|\\))/i\n ], [[MODEL, 'Xperia Tablet'], [VENDOR, SONY], [TYPE, TABLET]], [\n\n // OnePlus\n / (kb2005|in20[12]5|be20[12][59])\\b/i,\n /(?:one)?(?:plus)? (a\\d0\\d\\d)(?: b|\\))/i\n ], [MODEL, [VENDOR, 'OnePlus'], [TYPE, MOBILE]], [\n\n // Amazon\n /(alexa)webm/i,\n /(kf[a-z]{2}wi|aeo[c-r]{2})( bui|\\))/i, // Kindle Fire without Silk / Echo Show\n /(kf[a-z]+)( bui|\\)).+silk\\//i // Kindle Fire HD\n ], [MODEL, [VENDOR, AMAZON], [TYPE, TABLET]], [\n /((?:sd|kf)[0349hijorstuw]+)( bui|\\)).+silk\\//i // Fire Phone\n ], [[MODEL, /(.+)/g, 'Fire Phone $1'], [VENDOR, AMAZON], [TYPE, MOBILE]], [\n\n // BlackBerry\n /(playbook);[-\\w\\),; ]+(rim)/i // BlackBerry PlayBook\n ], [MODEL, VENDOR, [TYPE, TABLET]], [\n /\\b((?:bb[a-f]|st[hv])100-\\d)/i,\n /\\(bb10; (\\w+)/i // BlackBerry 10\n ], [MODEL, [VENDOR, BLACKBERRY], [TYPE, MOBILE]], [\n\n // Asus\n /(?:\\b|asus_)(transfo[prime ]{4,10} \\w+|eeepc|slider \\w+|nexus 7|padfone|p00[cj])/i\n ], [MODEL, [VENDOR, ASUS], [TYPE, TABLET]], [\n / (z[bes]6[027][012][km][ls]|zenfone \\d\\w?)\\b/i\n ], [MODEL, [VENDOR, ASUS], [TYPE, MOBILE]], [\n\n // HTC\n /(nexus 9)/i // HTC Nexus 9\n ], [MODEL, [VENDOR, 'HTC'], [TYPE, TABLET]], [\n /(htc)[-;_ ]{1,2}([\\w ]+(?=\\)| bui)|\\w+)/i, // HTC\n\n // ZTE\n /(zte)[- ]([\\w ]+?)(?: bui|\\/|\\))/i,\n /(alcatel|geeksphone|nexian|panasonic(?!(?:;|\\.))|sony(?!-bra))[-_ ]?([-\\w]*)/i // Alcatel/GeeksPhone/Nexian/Panasonic/Sony\n ], [VENDOR, [MODEL, /_/g, ' '], [TYPE, MOBILE]], [\n\n // Acer\n /droid.+; ([ab][1-7]-?[0178a]\\d\\d?)/i\n ], [MODEL, [VENDOR, 'Acer'], [TYPE, TABLET]], [\n\n // Meizu\n /droid.+; (m[1-5] note) bui/i,\n /\\bmz-([-\\w]{2,})/i\n ], [MODEL, [VENDOR, 'Meizu'], [TYPE, MOBILE]], [\n \n // Ulefone\n /; ((?:power )?armor(?:[\\w ]{0,8}))(?: bui|\\))/i\n ], [MODEL, [VENDOR, 'Ulefone'], [TYPE, MOBILE]], [\n\n // MIXED\n /(blackberry|benq|palm(?=\\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron|infinix|tecno)[-_ ]?([-\\w]*)/i,\n // BlackBerry/BenQ/Palm/Sony-Ericsson/Acer/Asus/Dell/Meizu/Motorola/Polytron\n /(hp) ([\\w ]+\\w)/i, // HP iPAQ\n /(asus)-?(\\w+)/i, // Asus\n /(microsoft); (lumia[\\w ]+)/i, // Microsoft Lumia\n /(lenovo)[-_ ]?([-\\w]+)/i, // Lenovo\n /(jolla)/i, // Jolla\n /(oppo) ?([\\w ]+) bui/i // OPPO\n ], [VENDOR, MODEL, [TYPE, MOBILE]], [\n\n /(kobo)\\s(ereader|touch)/i, // Kobo\n /(archos) (gamepad2?)/i, // Archos\n /(hp).+(touchpad(?!.+tablet)|tablet)/i, // HP TouchPad\n /(kindle)\\/([\\w\\.]+)/i, // Kindle\n /(nook)[\\w ]+build\\/(\\w+)/i, // Nook\n /(dell) (strea[kpr\\d ]*[\\dko])/i, // Dell Streak\n /(le[- ]+pan)[- ]+(\\w{1,9}) bui/i, // Le Pan Tablets\n /(trinity)[- ]*(t\\d{3}) bui/i, // Trinity Tablets\n /(gigaset)[- ]+(q\\w{1,9}) bui/i, // Gigaset Tablets\n /(vodafone) ([\\w ]+)(?:\\)| bui)/i // Vodafone\n ], [VENDOR, MODEL, [TYPE, TABLET]], [\n\n /(surface duo)/i // Surface Duo\n ], [MODEL, [VENDOR, MICROSOFT], [TYPE, TABLET]], [\n /droid [\\d\\.]+; (fp\\du?)(?: b|\\))/i // Fairphone\n ], [MODEL, [VENDOR, 'Fairphone'], [TYPE, MOBILE]], [\n /(u304aa)/i // AT&T\n ], [MODEL, [VENDOR, 'AT&T'], [TYPE, MOBILE]], [\n /\\bsie-(\\w*)/i // Siemens\n ], [MODEL, [VENDOR, 'Siemens'], [TYPE, MOBILE]], [\n /\\b(rct\\w+) b/i // RCA Tablets\n ], [MODEL, [VENDOR, 'RCA'], [TYPE, TABLET]], [\n /\\b(venue[\\d ]{2,7}) b/i // Dell Venue Tablets\n ], [MODEL, [VENDOR, 'Dell'], [TYPE, TABLET]], [\n /\\b(q(?:mv|ta)\\w+) b/i // Verizon Tablet\n ], [MODEL, [VENDOR, 'Verizon'], [TYPE, TABLET]], [\n /\\b(?:barnes[& ]+noble |bn[rt])([\\w\\+ ]*) b/i // Barnes & Noble Tablet\n ], [MODEL, [VENDOR, 'Barnes & Noble'], [TYPE, TABLET]], [\n /\\b(tm\\d{3}\\w+) b/i\n ], [MODEL, [VENDOR, 'NuVision'], [TYPE, TABLET]], [\n /\\b(k88) b/i // ZTE K Series Tablet\n ], [MODEL, [VENDOR, 'ZTE'], [TYPE, TABLET]], [\n /\\b(nx\\d{3}j) b/i // ZTE Nubia\n ], [MODEL, [VENDOR, 'ZTE'], [TYPE, MOBILE]], [\n /\\b(gen\\d{3}) b.+49h/i // Swiss GEN Mobile\n ], [MODEL, [VENDOR, 'Swiss'], [TYPE, MOBILE]], [\n /\\b(zur\\d{3}) b/i // Swiss ZUR Tablet\n ], [MODEL, [VENDOR, 'Swiss'], [TYPE, TABLET]], [\n /\\b((zeki)?tb.*\\b) b/i // Zeki Tablets\n ], [MODEL, [VENDOR, 'Zeki'], [TYPE, TABLET]], [\n /\\b([yr]\\d{2}) b/i,\n /\\b(dragon[- ]+touch |dt)(\\w{5}) b/i // Dragon Touch Tablet\n ], [[VENDOR, 'Dragon Touch'], MODEL, [TYPE, TABLET]], [\n /\\b(ns-?\\w{0,9}) b/i // Insignia Tablets\n ], [MODEL, [VENDOR, 'Insignia'], [TYPE, TABLET]], [\n /\\b((nxa|next)-?\\w{0,9}) b/i // NextBook Tablets\n ], [MODEL, [VENDOR, 'NextBook'], [TYPE, TABLET]], [\n /\\b(xtreme\\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i // Voice Xtreme Phones\n ], [[VENDOR, 'Voice'], MODEL, [TYPE, MOBILE]], [\n /\\b(lvtel\\-)?(v1[12]) b/i // LvTel Phones\n ], [[VENDOR, 'LvTel'], MODEL, [TYPE, MOBILE]], [\n /\\b(ph-1) /i // Essential PH-1\n ], [MODEL, [VENDOR, 'Essential'], [TYPE, MOBILE]], [\n /\\b(v(100md|700na|7011|917g).*\\b) b/i // Envizen Tablets\n ], [MODEL, [VENDOR, 'Envizen'], [TYPE, TABLET]], [\n /\\b(trio[-\\w\\. ]+) b/i // MachSpeed Tablets\n ], [MODEL, [VENDOR, 'MachSpeed'], [TYPE, TABLET]], [\n /\\btu_(1491) b/i // Rotor Tablets\n ], [MODEL, [VENDOR, 'Rotor'], [TYPE, TABLET]], [\n /(shield[\\w ]+) b/i // Nvidia Shield Tablets\n ], [MODEL, [VENDOR, 'Nvidia'], [TYPE, TABLET]], [\n /(sprint) (\\w+)/i // Sprint Phones\n ], [VENDOR, MODEL, [TYPE, MOBILE]], [\n /(kin\\.[onetw]{3})/i // Microsoft Kin\n ], [[MODEL, /\\./g, ' '], [VENDOR, MICROSOFT], [TYPE, MOBILE]], [\n /droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\\)/i // Zebra\n ], [MODEL, [VENDOR, ZEBRA], [TYPE, TABLET]], [\n /droid.+; (ec30|ps20|tc[2-8]\\d[kx])\\)/i\n ], [MODEL, [VENDOR, ZEBRA], [TYPE, MOBILE]], [\n\n ///////////////////\n // SMARTTVS\n ///////////////////\n\n /smart-tv.+(samsung)/i // Samsung\n ], [VENDOR, [TYPE, SMARTTV]], [\n /hbbtv.+maple;(\\d+)/i\n ], [[MODEL, /^/, 'SmartTV'], [VENDOR, SAMSUNG], [TYPE, SMARTTV]], [\n /(nux; netcast.+smarttv|lg (netcast\\.tv-201\\d|android tv))/i // LG SmartTV\n ], [[VENDOR, LG], [TYPE, SMARTTV]], [\n /(apple) ?tv/i // Apple TV\n ], [VENDOR, [MODEL, APPLE+' TV'], [TYPE, SMARTTV]], [\n /crkey/i // Google Chromecast\n ], [[MODEL, CHROME+'cast'], [VENDOR, GOOGLE], [TYPE, SMARTTV]], [\n /droid.+aft(\\w+)( bui|\\))/i // Fire TV\n ], [MODEL, [VENDOR, AMAZON], [TYPE, SMARTTV]], [\n /\\(dtv[\\);].+(aquos)/i,\n /(aquos-tv[\\w ]+)\\)/i // Sharp\n ], [MODEL, [VENDOR, SHARP], [TYPE, SMARTTV]],[\n /(bravia[\\w ]+)( bui|\\))/i // Sony\n ], [MODEL, [VENDOR, SONY], [TYPE, SMARTTV]], [\n /(mitv-\\w{5}) bui/i // Xiaomi\n ], [MODEL, [VENDOR, XIAOMI], [TYPE, SMARTTV]], [\n /Hbbtv.*(technisat) (.*);/i // TechniSAT\n ], [VENDOR, MODEL, [TYPE, SMARTTV]], [\n /\\b(roku)[\\dx]*[\\)\\/]((?:dvp-)?[\\d\\.]*)/i, // Roku\n /hbbtv\\/\\d+\\.\\d+\\.\\d+ +\\([\\w\\+ ]*; *([\\w\\d][^;]*);([^;]*)/i // HbbTV devices\n ], [[VENDOR, trim], [MODEL, trim], [TYPE, SMARTTV]], [\n /\\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\\b/i // SmartTV from Unidentified Vendors\n ], [[TYPE, SMARTTV]], [\n\n ///////////////////\n // CONSOLES\n ///////////////////\n\n /(ouya)/i, // Ouya\n /(nintendo) ([wids3utch]+)/i // Nintendo\n ], [VENDOR, MODEL, [TYPE, CONSOLE]], [\n /droid.+; (shield) bui/i // Nvidia\n ], [MODEL, [VENDOR, 'Nvidia'], [TYPE, CONSOLE]], [\n /(playstation [345portablevi]+)/i // Playstation\n ], [MODEL, [VENDOR, SONY], [TYPE, CONSOLE]], [\n /\\b(xbox(?: one)?(?!; xbox))[\\); ]/i // Microsoft Xbox\n ], [MODEL, [VENDOR, MICROSOFT], [TYPE, CONSOLE]], [\n\n ///////////////////\n // WEARABLES\n ///////////////////\n\n /((pebble))app/i // Pebble\n ], [VENDOR, MODEL, [TYPE, WEARABLE]], [\n /(watch)(?: ?os[,\\/]|\\d,\\d\\/)[\\d\\.]+/i // Apple Watch\n ], [MODEL, [VENDOR, APPLE], [TYPE, WEARABLE]], [\n /droid.+; (glass) \\d/i // Google Glass\n ], [MODEL, [VENDOR, GOOGLE], [TYPE, WEARABLE]], [\n /droid.+; (wt63?0{2,3})\\)/i\n ], [MODEL, [VENDOR, ZEBRA], [TYPE, WEARABLE]], [\n /(quest( \\d| pro)?)/i // Oculus Quest\n ], [MODEL, [VENDOR, FACEBOOK], [TYPE, WEARABLE]], [\n\n ///////////////////\n // EMBEDDED\n ///////////////////\n\n /(tesla)(?: qtcarbrowser|\\/[-\\w\\.]+)/i // Tesla\n ], [VENDOR, [TYPE, EMBEDDED]], [\n /(aeobc)\\b/i // Echo Dot\n ], [MODEL, [VENDOR, AMAZON], [TYPE, EMBEDDED]], [\n\n ////////////////////\n // MIXED (GENERIC)\n ///////////////////\n\n /droid .+?; ([^;]+?)(?: bui|; wv\\)|\\) applew).+? mobile safari/i // Android Phones from Unidentified Vendors\n ], [MODEL, [TYPE, MOBILE]], [\n /droid .+?; ([^;]+?)(?: bui|\\) applew).+?(?! mobile) safari/i // Android Tablets from Unidentified Vendors\n ], [MODEL, [TYPE, TABLET]], [\n /\\b((tablet|tab)[;\\/]|focus\\/\\d(?!.+mobile))/i // Unidentifiable Tablet\n ], [[TYPE, TABLET]], [\n /(phone|mobile(?:[;\\/]| [ \\w\\/\\.]*safari)|pda(?=.+windows ce))/i // Unidentifiable Mobile\n ], [[TYPE, MOBILE]], [\n /(android[-\\w\\. ]{0,9});.+buil/i // Generic Android Device\n ], [MODEL, [VENDOR, 'Generic']]\n ],\n\n engine : [[\n\n /windows.+ edge\\/([\\w\\.]+)/i // EdgeHTML\n ], [VERSION, [NAME, EDGE+'HTML']], [\n\n /webkit\\/537\\.36.+chrome\\/(?!27)([\\w\\.]+)/i // Blink\n ], [VERSION, [NAME, 'Blink']], [\n\n /(presto)\\/([\\w\\.]+)/i, // Presto\n /(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\\/([\\w\\.]+)/i, // WebKit/Trident/NetFront/NetSurf/Amaya/Lynx/w3m/Goanna\n /ekioh(flow)\\/([\\w\\.]+)/i, // Flow\n /(khtml|tasman|links)[\\/ ]\\(?([\\w\\.]+)/i, // KHTML/Tasman/Links\n /(icab)[\\/ ]([23]\\.[\\d\\.]+)/i, // iCab\n /\\b(libweb)/i\n ], [NAME, VERSION], [\n\n /rv\\:([\\w\\.]{1,9})\\b.+(gecko)/i // Gecko\n ], [VERSION, NAME]\n ],\n\n os : [[\n\n // Windows\n /microsoft (windows) (vista|xp)/i // Windows (iTunes)\n ], [NAME, VERSION], [\n /(windows (?:phone(?: os)?|mobile))[\\/ ]?([\\d\\.\\w ]*)/i // Windows Phone\n ], [NAME, [VERSION, strMapper, windowsVersionMap]], [\n /windows nt 6\\.2; (arm)/i, // Windows RT\n /windows[\\/ ]?([ntce\\d\\. ]+\\w)(?!.+xbox)/i,\n /(?:win(?=3|9|n)|win 9x )([nt\\d\\.]+)/i\n ], [[VERSION, strMapper, windowsVersionMap], [NAME, 'Windows']], [\n\n // iOS/macOS\n /ip[honead]{2,4}\\b(?:.*os ([\\w]+) like mac|; opera)/i, // iOS\n /(?:ios;fbsv\\/|iphone.+ios[\\/ ])([\\d\\.]+)/i,\n /cfnetwork\\/.+darwin/i\n ], [[VERSION, /_/g, '.'], [NAME, 'iOS']], [\n /(mac os x) ?([\\w\\. ]*)/i,\n /(macintosh|mac_powerpc\\b)(?!.+haiku)/i // Mac OS\n ], [[NAME, MAC_OS], [VERSION, /_/g, '.']], [\n\n // Mobile OSes\n /droid ([\\w\\.]+)\\b.+(android[- ]x86|harmonyos)/i // Android-x86/HarmonyOS\n ], [VERSION, NAME], [ // Android/WebOS/QNX/Bada/RIM/Maemo/MeeGo/Sailfish OS\n /(android|webos|qnx|bada|rim tablet os|maemo|meego|sailfish)[-\\/ ]?([\\w\\.]*)/i,\n /(blackberry)\\w*\\/([\\w\\.]*)/i, // Blackberry\n /(tizen|kaios)[\\/ ]([\\w\\.]+)/i, // Tizen/KaiOS\n /\\((series40);/i // Series 40\n ], [NAME, VERSION], [\n /\\(bb(10);/i // BlackBerry 10\n ], [VERSION, [NAME, BLACKBERRY]], [\n /(?:symbian ?os|symbos|s60(?=;)|series60)[-\\/ ]?([\\w\\.]*)/i // Symbian\n ], [VERSION, [NAME, 'Symbian']], [\n /mozilla\\/[\\d\\.]+ \\((?:mobile|tablet|tv|mobile; [\\w ]+); rv:.+ gecko\\/([\\w\\.]+)/i // Firefox OS\n ], [VERSION, [NAME, FIREFOX+' OS']], [\n /web0s;.+rt(tv)/i,\n /\\b(?:hp)?wos(?:browser)?\\/([\\w\\.]+)/i // WebOS\n ], [VERSION, [NAME, 'webOS']], [\n /watch(?: ?os[,\\/]|\\d,\\d\\/)([\\d\\.]+)/i // watchOS\n ], [VERSION, [NAME, 'watchOS']], [\n\n // Google Chromecast\n /crkey\\/([\\d\\.]+)/i // Google Chromecast\n ], [VERSION, [NAME, CHROME+'cast']], [\n /(cros) [\\w]+(?:\\)| ([\\w\\.]+)\\b)/i // Chromium OS\n ], [[NAME, CHROMIUM_OS], VERSION],[\n\n // Smart TVs\n /panasonic;(viera)/i, // Panasonic Viera\n /(netrange)mmh/i, // Netrange\n /(nettv)\\/(\\d+\\.[\\w\\.]+)/i, // NetTV\n\n // Console\n /(nintendo|playstation) ([wids345portablevuch]+)/i, // Nintendo/Playstation\n /(xbox); +xbox ([^\\);]+)/i, // Microsoft Xbox (360, One, X, S, Series X, Series S)\n\n // Other\n /\\b(joli|palm)\\b ?(?:os)?\\/?([\\w\\.]*)/i, // Joli/Palm\n /(mint)[\\/\\(\\) ]?(\\w*)/i, // Mint\n /(mageia|vectorlinux)[; ]/i, // Mageia/VectorLinux\n /([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\\/ ]?(?!chrom|package)([-\\w\\.]*)/i,\n // Ubuntu/Debian/SUSE/Gentoo/Arch/Slackware/Fedora/Mandriva/CentOS/PCLinuxOS/RedHat/Zenwalk/Linpus/Raspbian/Plan9/Minix/RISCOS/Contiki/Deepin/Manjaro/elementary/Sabayon/Linspire\n /(hurd|linux) ?([\\w\\.]*)/i, // Hurd/Linux\n /(gnu) ?([\\w\\.]*)/i, // GNU\n /\\b([-frentopcghs]{0,5}bsd|dragonfly)[\\/ ]?(?!amd|[ix346]{1,2}86)([\\w\\.]*)/i, // FreeBSD/NetBSD/OpenBSD/PC-BSD/GhostBSD/DragonFly\n /(haiku) (\\w+)/i // Haiku\n ], [NAME, VERSION], [\n /(sunos) ?([\\w\\.\\d]*)/i // Solaris\n ], [[NAME, 'Solaris'], VERSION], [\n /((?:open)?solaris)[-\\/ ]?([\\w\\.]*)/i, // Solaris\n /(aix) ((\\d)(?=\\.|\\)| )[\\w\\.])*/i, // AIX\n /\\b(beos|os\\/2|amigaos|morphos|openvms|fuchsia|hp-ux|serenityos)/i, // BeOS/OS2/AmigaOS/MorphOS/OpenVMS/Fuchsia/HP-UX/SerenityOS\n /(unix) ?([\\w\\.]*)/i // UNIX\n ], [NAME, VERSION]\n ]\n };\n\n /////////////////\n // Constructor\n ////////////////\n\n var UAParser = function (ua, extensions) {\n\n if (typeof ua === OBJ_TYPE) {\n extensions = ua;\n ua = undefined;\n }\n\n if (!(this instanceof UAParser)) {\n return new UAParser(ua, extensions).getResult();\n }\n\n var _navigator = (typeof window !== UNDEF_TYPE && window.navigator) ? window.navigator : undefined;\n var _ua = ua || ((_navigator && _navigator.userAgent) ? _navigator.userAgent : EMPTY);\n var _uach = (_navigator && _navigator.userAgentData) ? _navigator.userAgentData : undefined;\n var _rgxmap = extensions ? extend(regexes, extensions) : regexes;\n var _isSelfNav = _navigator && _navigator.userAgent == _ua;\n\n this.getBrowser = function () {\n var _browser = {};\n _browser[NAME] = undefined;\n _browser[VERSION] = undefined;\n rgxMapper.call(_browser, _ua, _rgxmap.browser);\n _browser[MAJOR] = majorize(_browser[VERSION]);\n // Brave-specific detection\n if (_isSelfNav && _navigator && _navigator.brave && typeof _navigator.brave.isBrave == FUNC_TYPE) {\n _browser[NAME] = 'Brave';\n }\n return _browser;\n };\n this.getCPU = function () {\n var _cpu = {};\n _cpu[ARCHITECTURE] = undefined;\n rgxMapper.call(_cpu, _ua, _rgxmap.cpu);\n return _cpu;\n };\n this.getDevice = function () {\n var _device = {};\n _device[VENDOR] = undefined;\n _device[MODEL] = undefined;\n _device[TYPE] = undefined;\n rgxMapper.call(_device, _ua, _rgxmap.device);\n if (_isSelfNav && !_device[TYPE] && _uach && _uach.mobile) {\n _device[TYPE] = MOBILE;\n }\n // iPadOS-specific detection: identified as Mac, but has some iOS-only properties\n if (_isSelfNav && _device[MODEL] == 'Macintosh' && _navigator && typeof _navigator.standalone !== UNDEF_TYPE && _navigator.maxTouchPoints && _navigator.maxTouchPoints > 2) {\n _device[MODEL] = 'iPad';\n _device[TYPE] = TABLET;\n }\n return _device;\n };\n this.getEngine = function () {\n var _engine = {};\n _engine[NAME] = undefined;\n _engine[VERSION] = undefined;\n rgxMapper.call(_engine, _ua, _rgxmap.engine);\n return _engine;\n };\n this.getOS = function () {\n var _os = {};\n _os[NAME] = undefined;\n _os[VERSION] = undefined;\n rgxMapper.call(_os, _ua, _rgxmap.os);\n if (_isSelfNav && !_os[NAME] && _uach && _uach.platform && _uach.platform != 'Unknown') {\n _os[NAME] = _uach.platform \n .replace(/chrome os/i, CHROMIUM_OS)\n .replace(/macos/i, MAC_OS); // backward compatibility\n }\n return _os;\n };\n this.getResult = function () {\n return {\n ua : this.getUA(),\n browser : this.getBrowser(),\n engine : this.getEngine(),\n os : this.getOS(),\n device : this.getDevice(),\n cpu : this.getCPU()\n };\n };\n this.getUA = function () {\n return _ua;\n };\n this.setUA = function (ua) {\n _ua = (typeof ua === STR_TYPE && ua.length > UA_MAX_LENGTH) ? trim(ua, UA_MAX_LENGTH) : ua;\n return this;\n };\n this.setUA(_ua);\n return this;\n };\n\n UAParser.VERSION = LIBVERSION;\n UAParser.BROWSER = enumerize([NAME, VERSION, MAJOR]);\n UAParser.CPU = enumerize([ARCHITECTURE]);\n UAParser.DEVICE = enumerize([MODEL, VENDOR, TYPE, CONSOLE, MOBILE, SMARTTV, TABLET, WEARABLE, EMBEDDED]);\n UAParser.ENGINE = UAParser.OS = enumerize([NAME, VERSION]);\n\n ///////////\n // Export\n //////////\n\n // check js environment\n if (typeof(exports) !== UNDEF_TYPE) {\n // nodejs env\n if (typeof module !== UNDEF_TYPE && module.exports) {\n exports = module.exports = UAParser;\n }\n exports.UAParser = UAParser;\n } else {\n // requirejs env (optional)\n if (typeof(define) === FUNC_TYPE && define.amd) {\n define(function () {\n return UAParser;\n });\n } else if (typeof window !== UNDEF_TYPE) {\n // browser env\n window.UAParser = UAParser;\n }\n }\n\n // jQuery/Zepto specific (optional)\n // Note:\n // In AMD env the global scope should be kept clean, but jQuery is an exception.\n // jQuery always exports to global scope, unless jQuery.noConflict(true) is used,\n // and we should catch that.\n var $ = typeof window !== UNDEF_TYPE && (window.jQuery || window.Zepto);\n if ($ && !$.ua) {\n var parser = new UAParser();\n $.ua = parser.getResult();\n $.ua.get = function () {\n return parser.getUA();\n };\n $.ua.set = function (ua) {\n parser.setUA(ua);\n var result = parser.getResult();\n for (var prop in result) {\n $.ua[prop] = result[prop];\n }\n };\n }\n\n})(typeof window === 'object' ? window : this);\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.publicKey = void 0;\nexports.publicKey = {\n dev: `-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEbSUHJlr17+NywPS/w+xMkp3dSD8eWXSuAfFKwonZPe5fL63kISipJC+eJP7Mad0WxgyJoiMsZCV6BZPK2jIFdg==\n-----END PUBLIC KEY-----`,\n codesign: `-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAES7MbBzU/v5BsljkTM8Mz0Jsk+Nn5n2wH\\no2/+MUI3TgCVdTbEHhn3HXaY7GJ6TLyWqxn+pIDY9wUUAyUqOStTUQ==\n-----END PUBLIC KEY-----`,\n};\n//# sourceMappingURL=jws.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.envUtils = exports.getJWSPublicKey = exports.getEnvironment = exports.isNative = exports.isDesktop = exports.isWeb = void 0;\nconst tslib_1 = require(\"tslib\");\nconst ua_parser_js_1 = tslib_1.__importDefault(require(\"ua-parser-js\"));\nconst jws_1 = require(\"./jws\");\nconst isWeb = () => process.env.SUITE_TYPE === 'web';\nexports.isWeb = isWeb;\nconst isDesktop = () => process.env.SUITE_TYPE === 'desktop';\nexports.isDesktop = isDesktop;\nconst isNative = () => false;\nexports.isNative = isNative;\nconst getEnvironment = () => {\n if ((0, exports.isWeb)())\n return 'web';\n return 'desktop';\n};\nexports.getEnvironment = getEnvironment;\nlet userAgentParser;\nconst getUserAgent = () => window.navigator.userAgent;\nconst getUserAgentParser = () => {\n if (!userAgentParser) {\n const ua = getUserAgent();\n userAgentParser = new ua_parser_js_1.default(ua);\n }\n return userAgentParser;\n};\nconst isAndroid = () => /Android/.test(getUserAgent());\nconst isChromeOs = () => /CrOS/.test(getUserAgent());\nconst getBrowserVersion = () => getUserAgentParser().getBrowser().version || '';\nconst getCommitHash = () => process.env.COMMITHASH || '';\nconst getOsVersion = () => getUserAgentParser().getOS().version || '';\nconst getSuiteVersion = () => process.env.VERSION || '';\nconst getBrowserName = () => {\n const browserName = getUserAgentParser().getBrowser().name;\n return (browserName === null || browserName === void 0 ? void 0 : browserName.toLowerCase()) || '';\n};\nconst isFirefox = () => getBrowserName() === 'firefox';\nconst getPlatform = () => window.navigator.platform;\nconst getPlatformLanguages = () => window.navigator.languages;\nconst getScreenWidth = () => window.screen.width;\nconst getScreenHeight = () => window.screen.height;\nconst getWindowWidth = () => window.innerWidth;\nconst getWindowHeight = () => window.innerHeight;\nconst getLocationOrigin = () => window.location.origin;\nconst getLocationHostname = () => window.location.hostname;\nconst getProcessPlatform = () => (typeof process !== 'undefined' ? process.platform : '');\nconst isMacOs = () => {\n if (getProcessPlatform() === 'darwin')\n return true;\n if (typeof window === 'undefined')\n return;\n return getPlatform().startsWith('Mac');\n};\nconst isWindows = () => {\n if (getProcessPlatform() === 'win32')\n return true;\n if (typeof window === 'undefined')\n return;\n return getPlatform().startsWith('Win');\n};\nconst isIOs = () => ['iPhone', 'iPad', 'iPod'].includes(getPlatform());\nconst isLinux = () => {\n if (getProcessPlatform() === 'linux')\n return true;\n if (typeof window === 'undefined')\n return;\n if (isAndroid() || isChromeOs())\n return false;\n return getPlatform().startsWith('Linux');\n};\nconst isCodesignBuild = () => process.env.IS_CODESIGN_BUILD === 'true';\nconst getOsName = () => {\n if (isWindows())\n return 'windows';\n if (isMacOs())\n return 'macos';\n if (isAndroid())\n return 'android';\n if (isChromeOs())\n return 'chromeos';\n if (isLinux())\n return 'linux';\n if (isIOs())\n return 'ios';\n return '';\n};\nconst getOsNameWeb = () => getUserAgentParser().getOS().name;\nconst getOsFamily = () => {\n const osName = getUserAgentParser().getOS().name;\n if (osName === 'Windows') {\n return 'Windows';\n }\n if (osName === 'Mac OS') {\n return 'MacOS';\n }\n return 'Linux';\n};\nconst getDeviceType = () => getUserAgentParser().getDevice().type;\nconst getJWSPublicKey = () => (isCodesignBuild() ? jws_1.publicKey.codesign : jws_1.publicKey.dev);\nexports.getJWSPublicKey = getJWSPublicKey;\nexports.envUtils = {\n isWeb: exports.isWeb,\n isDesktop: exports.isDesktop,\n isNative: exports.isNative,\n getEnvironment: exports.getEnvironment,\n getUserAgent,\n isAndroid,\n isChromeOs,\n getOsVersion,\n getBrowserName,\n getBrowserVersion,\n getCommitHash,\n getDeviceType,\n getSuiteVersion,\n isFirefox,\n getPlatform,\n getPlatformLanguages,\n getScreenWidth,\n getScreenHeight,\n getWindowWidth,\n getWindowHeight,\n getLocationOrigin,\n getLocationHostname,\n getProcessPlatform,\n isMacOs,\n isWindows,\n isIOs,\n isLinux,\n isCodesignBuild,\n getOsName,\n getOsNameWeb,\n getOsFamily,\n getJWSPublicKey: exports.getJWSPublicKey,\n};\n//# sourceMappingURL=envUtils.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getJWSPublicKey = exports.getOsFamily = exports.getOsNameWeb = exports.getOsName = exports.isCodesignBuild = exports.isLinux = exports.isIOs = exports.isWindows = exports.isMacOs = exports.getProcessPlatform = exports.getLocationHostname = exports.getLocationOrigin = exports.getWindowHeight = exports.getWindowWidth = exports.getScreenHeight = exports.getScreenWidth = exports.getPlatformLanguages = exports.getPlatform = exports.isFirefox = exports.getSuiteVersion = exports.getOsVersion = exports.getDeviceType = exports.getCommitHash = exports.getBrowserName = exports.getBrowserVersion = exports.isChromeOs = exports.isAndroid = exports.getUserAgent = exports.getEnvironment = exports.isNative = exports.isDesktop = exports.isWeb = void 0;\nconst envUtils_1 = require(\"./envUtils\");\nexports.isWeb = envUtils_1.envUtils.isWeb, exports.isDesktop = envUtils_1.envUtils.isDesktop, exports.isNative = envUtils_1.envUtils.isNative, exports.getEnvironment = envUtils_1.envUtils.getEnvironment, exports.getUserAgent = envUtils_1.envUtils.getUserAgent, exports.isAndroid = envUtils_1.envUtils.isAndroid, exports.isChromeOs = envUtils_1.envUtils.isChromeOs, exports.getBrowserVersion = envUtils_1.envUtils.getBrowserVersion, exports.getBrowserName = envUtils_1.envUtils.getBrowserName, exports.getCommitHash = envUtils_1.envUtils.getCommitHash, exports.getDeviceType = envUtils_1.envUtils.getDeviceType, exports.getOsVersion = envUtils_1.envUtils.getOsVersion, exports.getSuiteVersion = envUtils_1.envUtils.getSuiteVersion, exports.isFirefox = envUtils_1.envUtils.isFirefox, exports.getPlatform = envUtils_1.envUtils.getPlatform, exports.getPlatformLanguages = envUtils_1.envUtils.getPlatformLanguages, exports.getScreenWidth = envUtils_1.envUtils.getScreenWidth, exports.getScreenHeight = envUtils_1.envUtils.getScreenHeight, exports.getWindowWidth = envUtils_1.envUtils.getWindowWidth, exports.getWindowHeight = envUtils_1.envUtils.getWindowHeight, exports.getLocationOrigin = envUtils_1.envUtils.getLocationOrigin, exports.getLocationHostname = envUtils_1.envUtils.getLocationHostname, exports.getProcessPlatform = envUtils_1.envUtils.getProcessPlatform, exports.isMacOs = envUtils_1.envUtils.isMacOs, exports.isWindows = envUtils_1.envUtils.isWindows, exports.isIOs = envUtils_1.envUtils.isIOs, exports.isLinux = envUtils_1.envUtils.isLinux, exports.isCodesignBuild = envUtils_1.envUtils.isCodesignBuild, exports.getOsName = envUtils_1.envUtils.getOsName, exports.getOsNameWeb = envUtils_1.envUtils.getOsNameWeb, exports.getOsFamily = envUtils_1.envUtils.getOsFamily, exports.getJWSPublicKey = envUtils_1.envUtils.getJWSPublicKey;\n//# sourceMappingURL=index.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getSystemInfo = exports.getInstallerPackage = void 0;\nconst env_utils_1 = require(\"@trezor/env-utils\");\nconst getInstallerPackage = () => {\n const agent = (0, env_utils_1.getUserAgent)();\n switch ((0, env_utils_1.getOsFamily)()) {\n case 'MacOS':\n return 'mac';\n case 'Windows': {\n const arch = agent.match(/(Win64|WOW64)/) ? '64' : '32';\n return `win${arch}`;\n }\n case 'Linux': {\n const isRpm = agent.match(/CentOS|Fedora|Mandriva|Mageia|Red Hat|Scientific|SUSE/)\n ? 'rpm'\n : 'deb';\n const is64x = agent.match(/Linux i[3456]86/) ? '32' : '64';\n return `${isRpm}${is64x}`;\n }\n default:\n }\n};\nexports.getInstallerPackage = getInstallerPackage;\nconst getSystemInfo = (supportedBrowsers) => {\n const browserName = (0, env_utils_1.getBrowserName)();\n const browserVersion = (0, env_utils_1.getBrowserVersion)();\n const supportedBrowser = browserName ? supportedBrowsers[browserName.toLowerCase()] : undefined;\n const outdatedBrowser = supportedBrowser\n ? supportedBrowser.version > parseInt(browserVersion, 10)\n : false;\n const mobile = (0, env_utils_1.getDeviceType)() === 'mobile';\n const supportedMobile = mobile ? 'usb' in navigator : true;\n const supported = !!(supportedBrowser && !outdatedBrowser && supportedMobile);\n return {\n os: {\n family: (0, env_utils_1.getOsFamily)(),\n mobile,\n },\n browser: {\n supported,\n outdated: outdatedBrowser,\n },\n };\n};\nexports.getSystemInfo = getSystemInfo;\n//# sourceMappingURL=systemInfo.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./storage\"), exports);\ntslib_1.__exportStar(require(\"./messageChannel/abstract\"), exports);\ntslib_1.__exportStar(require(\"./systemInfo\"), exports);\n//# sourceMappingURL=index.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ServiceWorkerWindowChannel = void 0;\nconst connect_common_1 = require(\"@trezor/connect-common\");\nclass ServiceWorkerWindowChannel extends connect_common_1.AbstractMessageChannel {\n constructor({ name, channel, logger, lazyHandshake, legacyMode, allowSelfOrigin = false, currentId, }) {\n super({\n channel,\n sendFn: (message) => {\n if (!this.port)\n throw new Error('port not assigned');\n this.port.postMessage(message);\n },\n logger,\n lazyHandshake,\n legacyMode,\n });\n this.name = name;\n this.allowSelfOrigin = allowSelfOrigin;\n this.currentId = currentId;\n this.connect();\n }\n connect() {\n chrome.runtime.onConnect.addListener(port => {\n var _a, _b, _c, _d;\n if (port.name !== this.name)\n return;\n if (((_a = this.currentId) === null || _a === void 0 ? void 0 : _a.call(this)) && ((_b = this.currentId) === null || _b === void 0 ? void 0 : _b.call(this)) !== ((_d = (_c = port.sender) === null || _c === void 0 ? void 0 : _c.tab) === null || _d === void 0 ? void 0 : _d.id))\n return;\n this.port = port;\n this.port.onMessage.addListener((message, { sender }) => {\n var _a, _b, _c, _d;\n if (!sender) {\n (_a = this.logger) === null || _a === void 0 ? void 0 : _a.error('service-worker-window', 'no sender');\n return;\n }\n const { origin } = sender;\n const whitelist = [\n 'https://connect.trezor.io',\n 'https://staging-connect.trezor.io',\n 'https://suite.corp.sldev.cz',\n 'https://dev.suite.sldev.cz',\n 'http://localhost:8088',\n ];\n const webextensionId = (_b = chrome === null || chrome === void 0 ? void 0 : chrome.runtime) === null || _b === void 0 ? void 0 : _b.id;\n if (webextensionId) {\n whitelist.push(`chrome-extension://${webextensionId}`);\n }\n if (!origin) {\n (_c = this.logger) === null || _c === void 0 ? void 0 : _c.error('connect-webextension/messageChannel/extensionPort/onMessage', 'no origin');\n return;\n }\n if (!whitelist.includes(origin)) {\n (_d = this.logger) === null || _d === void 0 ? void 0 : _d.error('connect-webextension/messageChannel/extensionPort/onMessage', 'origin not whitelisted', origin);\n return;\n }\n if (origin === self.origin && !this.allowSelfOrigin) {\n return;\n }\n this.onMessage(message);\n });\n });\n this.isConnected = true;\n }\n disconnect() {\n var _a;\n if (!this.isConnected)\n return;\n (_a = this.port) === null || _a === void 0 ? void 0 : _a.disconnect();\n this.clear();\n this.isConnected = false;\n }\n}\nexports.ServiceWorkerWindowChannel = ServiceWorkerWindowChannel;\n//# sourceMappingURL=serviceworker-window.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WindowWindowChannel = void 0;\nconst connect_common_1 = require(\"@trezor/connect-common\");\nclass WindowWindowChannel extends connect_common_1.AbstractMessageChannel {\n constructor({ windowHere, windowPeer, channel, logger, origin, }) {\n super({\n channel,\n sendFn: (message) => {\n var _a;\n (_a = windowPeer()) === null || _a === void 0 ? void 0 : _a.postMessage(message, origin);\n },\n logger,\n });\n this._listener = this.listener.bind(this);\n this._windowHere = windowHere;\n this.connect();\n }\n listener(event) {\n const message = Object.assign(Object.assign({}, event.data), { success: true, origin: event.origin, payload: event.data.payload || {}, channel: event.data.channel || {\n peer: this.channel.here,\n here: this.channel.peer,\n } });\n this.onMessage(message);\n }\n connect() {\n this._windowHere.addEventListener('message', this._listener);\n this.isConnected = true;\n }\n disconnect() {\n if (!this.isConnected)\n return;\n this._windowHere.removeEventListener('message', this._listener);\n this.isConnected = false;\n }\n}\nexports.WindowWindowChannel = WindowWindowChannel;\n//# sourceMappingURL=window-window.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PopupManager = void 0;\nconst tslib_1 = require(\"tslib\");\nconst events_1 = tslib_1.__importDefault(require(\"events\"));\nconst utils_1 = require(\"@trezor/utils\");\nconst events_2 = require(\"@trezor/connect/lib/events\");\nconst urlUtils_1 = require(\"@trezor/connect/lib/utils/urlUtils\");\nconst showPopupRequest_1 = require(\"./showPopupRequest\");\nconst serviceworker_window_1 = require(\"../channels/serviceworker-window\");\nconst window_window_1 = require(\"../channels/window-window\");\nconst checkIfTabExists = (tabId) => new Promise(resolve => {\n if (!tabId)\n return resolve(false);\n function callback() {\n if (chrome.runtime.lastError) {\n resolve(false);\n }\n else {\n resolve(true);\n }\n }\n chrome.tabs.get(tabId, callback);\n});\nconst POPUP_REQUEST_TIMEOUT = 850;\nconst POPUP_CLOSE_INTERVAL = 500;\nconst POPUP_OPEN_TIMEOUT = 5000;\nclass PopupManager extends events_1.default {\n constructor(settings, { logger }) {\n var _a;\n super();\n this.locked = false;\n this.extensionTabId = 0;\n this.injectContentScript = (tabId) => {\n chrome.permissions.getAll(permissions => {\n var _a;\n if ((_a = permissions.permissions) === null || _a === void 0 ? void 0 : _a.includes('scripting')) {\n chrome.scripting\n .executeScript({\n target: { tabId },\n func: () => {\n },\n })\n .then(() => this.logger.debug('content script injected'))\n .catch(error => this.logger.error('content script injection error', error));\n }\n else {\n }\n });\n };\n this.settings = settings;\n this.origin = (0, urlUtils_1.getOrigin)(settings.popupSrc);\n this.logger = logger;\n if (this.settings.env === 'webextension') {\n this.channel = new serviceworker_window_1.ServiceWorkerWindowChannel({\n name: 'trezor-connect',\n channel: {\n here: '@trezor/connect-webextension',\n peer: '@trezor/connect-content-script',\n },\n logger,\n currentId: () => {\n var _a, _b;\n if (((_a = this.popupWindow) === null || _a === void 0 ? void 0 : _a.mode) === 'tab')\n return (_b = this.popupWindow) === null || _b === void 0 ? void 0 : _b.tab.id;\n },\n legacyMode: !this.settings.useCoreInPopup,\n });\n }\n else {\n this.channel = new window_window_1.WindowWindowChannel({\n windowHere: window,\n windowPeer: () => {\n var _a, _b;\n if (((_a = this.popupWindow) === null || _a === void 0 ? void 0 : _a.mode) === 'window')\n return (_b = this.popupWindow) === null || _b === void 0 ? void 0 : _b.window;\n },\n channel: {\n here: '@trezor/connect-web',\n peer: '@trezor/connect-popup',\n },\n logger,\n origin: this.origin,\n });\n }\n if (!this.settings.useCoreInPopup) {\n this.iframeHandshakePromise = (0, utils_1.createDeferred)(events_2.IFRAME.LOADED);\n this.channelIframe = new window_window_1.WindowWindowChannel({\n windowHere: window,\n windowPeer: () => window,\n channel: {\n here: '@trezor/connect-web',\n peer: '@trezor/connect-iframe',\n },\n logger,\n origin: this.origin,\n });\n (_a = this.channelIframe) === null || _a === void 0 ? void 0 : _a.on('message', this.handleMessage.bind(this));\n }\n if (this.settings.useCoreInPopup) {\n this.handshakePromise = (0, utils_1.createDeferred)();\n this.channel.on('message', this.handleCoreMessage.bind(this));\n }\n else if (this.settings.env === 'webextension') {\n this.channel.on('message', this.handleExtensionMessage.bind(this));\n }\n else {\n this.channel.on('message', this.handleMessage.bind(this));\n }\n this.channel.init();\n }\n async request() {\n var _a, _b, _c, _d, _f;\n if (this.settings.useCoreInPopup && ((_a = this.popupWindow) === null || _a === void 0 ? void 0 : _a.mode) === 'tab') {\n const currentPopupExists = await checkIfTabExists((_c = (_b = this.popupWindow) === null || _b === void 0 ? void 0 : _b.tab) === null || _c === void 0 ? void 0 : _c.id);\n if (!currentPopupExists) {\n this.clear();\n }\n }\n if (this.locked) {\n if (((_d = this.popupWindow) === null || _d === void 0 ? void 0 : _d.mode) === 'tab' && this.popupWindow.tab.id) {\n chrome.tabs.update(this.popupWindow.tab.id, { active: true });\n }\n else if (((_f = this.popupWindow) === null || _f === void 0 ? void 0 : _f.mode) === 'window') {\n this.popupWindow.window.focus();\n }\n return;\n }\n if (this.popupWindow && !this.locked) {\n this.close();\n }\n const openFn = this.open.bind(this);\n this.locked = true;\n const timeout = this.settings.env === 'webextension' ? 1 : POPUP_REQUEST_TIMEOUT;\n this.requestTimeout = setTimeout(() => {\n this.requestTimeout = undefined;\n openFn();\n }, timeout);\n }\n unlock() {\n this.locked = false;\n }\n open() {\n const src = this.settings.popupSrc;\n this.popupPromise = (0, utils_1.createDeferred)(events_2.POPUP.LOADED);\n this.openWrapper(src);\n if (this.settings.useCoreInPopup) {\n return;\n }\n this.closeInterval = setInterval(() => {\n if (!this.popupWindow)\n return;\n if (this.popupWindow.mode === 'tab' && this.popupWindow.tab.id) {\n chrome.tabs.get(this.popupWindow.tab.id, tab => {\n if (!tab) {\n this.emit(events_2.POPUP.CLOSED);\n this.clear();\n }\n });\n }\n else if (this.popupWindow.mode === 'window' && this.popupWindow.window.closed) {\n this.clear();\n this.emit(events_2.POPUP.CLOSED);\n }\n }, POPUP_CLOSE_INTERVAL);\n this.openTimeout = setTimeout(() => {\n this.clear();\n (0, showPopupRequest_1.showPopupRequest)(this.open.bind(this), () => {\n this.emit(events_2.POPUP.CLOSED);\n });\n }, POPUP_OPEN_TIMEOUT);\n }\n openWrapper(url) {\n if (this.settings.env === 'webextension') {\n chrome.windows.getCurrent(currentWindow => {\n this.logger.debug('opening popup. currentWindow: ', currentWindow);\n if (currentWindow.type !== 'normal') {\n chrome.windows.create({ url }, newWindow => {\n chrome.tabs.query({\n windowId: newWindow === null || newWindow === void 0 ? void 0 : newWindow.id,\n active: true,\n }, tabs => {\n this.popupWindow = { mode: 'tab', tab: tabs[0] };\n this.injectContentScript(tabs[0].id);\n });\n });\n }\n else {\n chrome.tabs.query({\n currentWindow: true,\n active: true,\n }, tabs => {\n this.extensionTabId = tabs[0].id;\n chrome.tabs.create({\n url,\n index: tabs[0].index + 1,\n }, tab => {\n this.popupWindow = { mode: 'tab', tab };\n this.injectContentScript(tab.id);\n });\n });\n }\n });\n }\n else {\n const windowResult = window.open(url, 'modal');\n if (!windowResult)\n return;\n this.popupWindow = { mode: 'window', window: windowResult };\n }\n if (!this.channel.isConnected) {\n this.channel.connect();\n }\n }\n handleCoreMessage(message) {\n var _a;\n if (message.type === events_2.POPUP.LOADED) {\n this.handleMessage(message);\n }\n else if (message.type === events_2.POPUP.CORE_LOADED) {\n this.channel.postMessage({\n type: events_2.POPUP.HANDSHAKE,\n payload: { settings: this.settings },\n });\n (_a = this.handshakePromise) === null || _a === void 0 ? void 0 : _a.resolve();\n }\n else if (message.type === events_2.POPUP.CLOSED) {\n this.channel.resolveMessagePromises({\n code: 'Method_Interrupted',\n error: events_2.POPUP.CLOSED,\n });\n }\n }\n handleExtensionMessage(data) {\n if (data.type === events_2.POPUP.ERROR ||\n data.type === events_2.POPUP.LOADED ||\n data.type === events_2.POPUP.BOOTSTRAP) {\n this.handleMessage(data);\n }\n else if (data.type === events_2.POPUP.EXTENSION_USB_PERMISSIONS) {\n chrome.tabs.query({\n currentWindow: true,\n active: true,\n }, tabs => {\n chrome.tabs.create({\n url: 'trezor-usb-permissions.html',\n index: tabs[0].index + 1,\n }, _tab => {\n });\n });\n }\n else if (data.type === events_2.POPUP.CLOSE_WINDOW) {\n this.clear();\n }\n }\n handleMessage(data) {\n var _a, _b;\n if (data.type === events_2.IFRAME.LOADED) {\n (_a = this.iframeHandshakePromise) === null || _a === void 0 ? void 0 : _a.resolve(data.payload);\n }\n else if (data.type === events_2.POPUP.BOOTSTRAP) {\n if (this.openTimeout)\n clearTimeout(this.openTimeout);\n }\n else if (data.type === events_2.POPUP.ERROR && this.popupWindow) {\n const errorMessage = data.payload && typeof data.payload.error === 'string' ? data.payload.error : null;\n this.emit(events_2.POPUP.CLOSED, errorMessage ? `Popup error: ${errorMessage}` : null);\n this.clear();\n }\n else if (data.type === events_2.POPUP.LOADED) {\n if (this.openTimeout)\n clearTimeout(this.openTimeout);\n if (this.popupPromise) {\n this.popupPromise.resolve();\n }\n (_b = this.iframeHandshakePromise) === null || _b === void 0 ? void 0 : _b.promise.then(payload => {\n this.channel.postMessage({\n type: events_2.POPUP.INIT,\n payload: Object.assign(Object.assign({}, payload), { settings: this.settings }),\n });\n });\n }\n else if (data.type === events_2.POPUP.CANCEL_POPUP_REQUEST || data.type === events_2.UI.CLOSE_UI_WINDOW) {\n this.clear(false);\n }\n }\n clear(focus = true) {\n this.locked = false;\n this.popupPromise = undefined;\n this.handshakePromise = (0, utils_1.createDeferred)();\n if (this.channel) {\n this.channel.disconnect();\n }\n if (this.requestTimeout) {\n clearTimeout(this.requestTimeout);\n this.requestTimeout = undefined;\n }\n if (this.openTimeout) {\n clearTimeout(this.openTimeout);\n this.openTimeout = undefined;\n }\n if (this.closeInterval) {\n clearInterval(this.closeInterval);\n this.closeInterval = undefined;\n }\n if (focus && this.extensionTabId) {\n chrome.tabs.update(this.extensionTabId, { active: true });\n this.extensionTabId = 0;\n }\n }\n close() {\n if (!this.popupWindow)\n return;\n this.logger.debug('closing popup');\n if (this.popupWindow.mode === 'tab') {\n let _e = chrome.runtime.lastError;\n if (this.popupWindow.tab.id) {\n chrome.tabs.remove(this.popupWindow.tab.id, () => {\n _e = chrome.runtime.lastError;\n if (_e) {\n this.logger.error('closed with error', _e);\n }\n });\n }\n }\n else if (this.popupWindow.mode === 'window') {\n this.popupWindow.window.close();\n }\n this.popupWindow = undefined;\n }\n async postMessage(message) {\n var _a, _b;\n if (!this.popupWindow && message.type !== events_2.UI.REQUEST_UI_WINDOW && this.openTimeout) {\n this.clear();\n (0, showPopupRequest_1.showPopupRequest)(this.open.bind(this), () => {\n this.emit(events_2.POPUP.CLOSED);\n });\n return;\n }\n if (this.popupPromise) {\n await this.popupPromise.promise;\n }\n if (((_a = this.popupWindow) === null || _a === void 0 ? void 0 : _a.mode) === 'window') {\n this.popupWindow.window.postMessage(message, this.origin);\n }\n else if (((_b = this.popupWindow) === null || _b === void 0 ? void 0 : _b.mode) === 'tab') {\n this.channel.postMessage(message);\n }\n }\n}\nexports.PopupManager = PopupManager;\n//# sourceMappingURL=index.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst render = (className = '', url) => {\n const query = className || '.trezor-webusb-button';\n const buttons = document.querySelectorAll(query);\n const src = `${url}?${Date.now()}`;\n buttons.forEach(b => {\n if (b.getElementsByTagName('iframe').length < 1) {\n const bounds = b.getBoundingClientRect();\n const btnIframe = document.createElement('iframe');\n btnIframe.frameBorder = '0';\n btnIframe.width = `${Math.round(bounds.width)}px`;\n btnIframe.height = `${Math.round(bounds.height)}px`;\n btnIframe.style.position = 'absolute';\n btnIframe.style.top = '0px';\n btnIframe.style.left = '0px';\n btnIframe.style.zIndex = '1';\n btnIframe.setAttribute('allow', 'usb');\n btnIframe.setAttribute('scrolling', 'no');\n btnIframe.src = src;\n b.append(btnIframe);\n }\n });\n};\nexports.default = render;\n//# sourceMappingURL=button.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DEFAULT_DOMAIN = exports.VERSION = void 0;\nexports.VERSION = '9.2.4';\nconst versionN = exports.VERSION.split('.').map(s => parseInt(s, 10));\nconst isBeta = exports.VERSION.includes('beta');\nexports.DEFAULT_DOMAIN = isBeta\n ? `https://connect.trezor.io/${exports.VERSION}/`\n : `https://connect.trezor.io/${versionN[0]}/`;\n//# sourceMappingURL=version.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.parseConnectSettings = exports.corsValidator = exports.DEFAULT_PRIORITY = void 0;\nconst version_1 = require(\"./version\");\nexports.DEFAULT_PRIORITY = 2;\nconst initialSettings = {\n configSrc: './data/config.json',\n version: version_1.VERSION,\n debug: false,\n priority: exports.DEFAULT_PRIORITY,\n trustedHost: true,\n connectSrc: version_1.DEFAULT_DOMAIN,\n iframeSrc: `${version_1.DEFAULT_DOMAIN}iframe.html`,\n popup: false,\n popupSrc: `${version_1.DEFAULT_DOMAIN}popup.html`,\n webusbSrc: `${version_1.DEFAULT_DOMAIN}webusb.html`,\n transports: undefined,\n pendingTransportEvent: true,\n env: 'node',\n lazyLoad: false,\n timestamp: new Date().getTime(),\n interactionTimeout: 600,\n sharedLogger: true,\n};\nconst parseManifest = (manifest) => {\n if (!manifest)\n return;\n if (typeof manifest.email !== 'string')\n return;\n if (typeof manifest.appUrl !== 'string')\n return;\n return {\n email: manifest.email,\n appUrl: manifest.appUrl,\n };\n};\nconst corsValidator = (url) => {\n if (typeof url !== 'string')\n return;\n if (url.match(/^https:\\/\\/([A-Za-z0-9\\-_]+\\.)*trezor\\.io\\//))\n return url;\n if (url.match(/^https?:\\/\\/localhost:[58][0-9]{3}\\//))\n return url;\n if (url.match(/^https:\\/\\/([A-Za-z0-9\\-_]+\\.)*sldev\\.cz\\//))\n return url;\n if (url.match(/^https?:\\/\\/([A-Za-z0-9\\-_]+\\.)*trezoriovpjcahpzkrewelclulmszwbqpzmzgub37gbcjlvluxtruqad\\.onion\\//))\n return url;\n};\nexports.corsValidator = corsValidator;\nconst parseConnectSettings = (input = {}) => {\n var _a;\n const settings = { ...initialSettings };\n if ('debug' in input) {\n if (typeof input.debug === 'boolean') {\n settings.debug = input.debug;\n }\n else if (typeof input.debug === 'string') {\n settings.debug = input.debug === 'true';\n }\n }\n if (input.trustedHost === false) {\n settings.trustedHost = input.trustedHost;\n }\n if (typeof input.connectSrc === 'string' && ((_a = input.connectSrc) === null || _a === void 0 ? void 0 : _a.startsWith('http'))) {\n settings.connectSrc = (0, exports.corsValidator)(input.connectSrc);\n }\n else if (settings.trustedHost) {\n settings.connectSrc = input.connectSrc;\n }\n const src = settings.connectSrc || version_1.DEFAULT_DOMAIN;\n settings.iframeSrc = `${src}iframe.html`;\n settings.popupSrc = `${src}popup.html`;\n settings.webusbSrc = `${src}webusb.html`;\n if (typeof input.transportReconnect === 'boolean') {\n settings.transportReconnect = input.transportReconnect;\n }\n if (typeof input.webusb === 'boolean') {\n settings.webusb = input.webusb;\n }\n if (Array.isArray(input.transports)) {\n settings.transports = input.transports;\n }\n if (typeof input.popup === 'boolean') {\n settings.popup = input.popup;\n }\n if (typeof input.lazyLoad === 'boolean') {\n settings.lazyLoad = input.lazyLoad;\n }\n if (typeof input.pendingTransportEvent === 'boolean') {\n settings.pendingTransportEvent = input.pendingTransportEvent;\n }\n if (typeof input.extension === 'string') {\n settings.extension = input.extension;\n }\n if (typeof input.env === 'string') {\n settings.env = input.env;\n }\n if (typeof input.timestamp === 'number') {\n settings.timestamp = input.timestamp;\n }\n if (typeof input.interactionTimeout === 'number') {\n settings.interactionTimeout = input.interactionTimeout;\n }\n if (typeof input.manifest === 'object') {\n settings.manifest = parseManifest(input.manifest);\n }\n if (typeof input.sharedLogger === 'boolean') {\n settings.sharedLogger = input.sharedLogger;\n }\n if (typeof input.useCoreInPopup === 'boolean') {\n settings.useCoreInPopup = input.useCoreInPopup;\n }\n if (typeof input._extendWebextensionLifetime === 'boolean') {\n settings._extendWebextensionLifetime = input._extendWebextensionLifetime;\n }\n return settings;\n};\nexports.parseConnectSettings = parseConnectSettings;\n//# sourceMappingURL=connectSettings.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.parseConnectSettings = exports.getEnv = void 0;\nconst connectSettings_1 = require(\"@trezor/connect/lib/data/connectSettings\");\nconst getEnv = () => {\n var _a;\n if (typeof chrome !== 'undefined' && typeof ((_a = chrome.runtime) === null || _a === void 0 ? void 0 : _a.onConnect) !== 'undefined') {\n return 'webextension';\n }\n if (typeof navigator !== 'undefined') {\n if (typeof navigator.product === 'string' &&\n navigator.product.toLowerCase() === 'reactnative') {\n return 'react-native';\n }\n const userAgent = navigator.userAgent.toLowerCase();\n if (userAgent.indexOf(' electron/') > -1) {\n return 'electron';\n }\n }\n return 'web';\n};\nexports.getEnv = getEnv;\nconst processQueryString = (url, keys) => {\n const searchParams = new URLSearchParams(url);\n const result = {};\n const paramArray = Array.from(searchParams.entries());\n paramArray.forEach(([key, value]) => {\n if (keys.includes(key)) {\n result[key] = decodeURIComponent(value);\n }\n });\n return result;\n};\nconst parseConnectSettings = (input = {}) => {\n var _a;\n const settings = Object.assign({ popup: true }, input);\n let globalSrc;\n if (typeof window !== 'undefined') {\n globalSrc = window.__TREZOR_CONNECT_SRC;\n }\n else if (typeof global !== 'undefined') {\n globalSrc = global.__TREZOR_CONNECT_SRC;\n }\n if (typeof globalSrc === 'string') {\n settings.connectSrc = globalSrc;\n settings.debug = true;\n }\n if (typeof window !== 'undefined' && typeof ((_a = window.location) === null || _a === void 0 ? void 0 : _a.search) === 'string') {\n const query = processQueryString(window.location.search, ['trezor-connect-src']);\n if (query['trezor-connect-src']) {\n settings.debug = true;\n settings.connectSrc = query['trezor-connect-src'];\n }\n }\n if (typeof input.env !== 'string') {\n settings.env = (0, exports.getEnv)();\n }\n return (0, connectSettings_1.parseConnectSettings)(settings);\n};\nexports.parseConnectSettings = parseConnectSettings;\n//# sourceMappingURL=connectSettings.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MODULES = exports.TYPES = void 0;\nexports.TYPES = {\n bitcoin: 'Bitcoin',\n ethereum: 'Ethereum',\n eos: 'Eos',\n nem: 'NEM',\n stellar: 'Stellar',\n cardano: 'Cardano',\n ripple: 'Ripple',\n tezos: 'Tezos',\n binance: 'Binance',\n solana: 'Solana',\n};\nexports.MODULES = [\n 'binance',\n 'cardano',\n 'eos',\n 'ethereum',\n 'nem',\n 'ripple',\n 'solana',\n 'stellar',\n 'tezos',\n];\n//# sourceMappingURL=network.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NETWORK_IDS = exports.PROTOCOL_MAGICS = void 0;\nvar PROTOCOL_MAGICS;\n(function (PROTOCOL_MAGICS) {\n PROTOCOL_MAGICS[PROTOCOL_MAGICS[\"mainnet\"] = 764824073] = \"mainnet\";\n PROTOCOL_MAGICS[PROTOCOL_MAGICS[\"testnet_preprod\"] = 1] = \"testnet_preprod\";\n PROTOCOL_MAGICS[PROTOCOL_MAGICS[\"testnet_preview\"] = 2] = \"testnet_preview\";\n PROTOCOL_MAGICS[PROTOCOL_MAGICS[\"testnet_legacy\"] = 1097911063] = \"testnet_legacy\";\n})(PROTOCOL_MAGICS || (exports.PROTOCOL_MAGICS = PROTOCOL_MAGICS = {}));\nvar NETWORK_IDS;\n(function (NETWORK_IDS) {\n NETWORK_IDS[NETWORK_IDS[\"mainnet\"] = 1] = \"mainnet\";\n NETWORK_IDS[NETWORK_IDS[\"testnet\"] = 0] = \"testnet\";\n})(NETWORK_IDS || (exports.NETWORK_IDS = NETWORK_IDS = {}));\n//# sourceMappingURL=cardano.js.map", "\"use strict\";\n/*--------------------------------------------------------------------------\n\n@sinclair/typebox\n\nThe MIT License (MIT)\n\nCopyright (c) 2017-2023 Haydn Paterson (sinclair) <haydn.developer@gmail.com>\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n\n---------------------------------------------------------------------------*/\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Type = exports.JsonType = exports.JavaScriptTypeBuilder = exports.JsonTypeBuilder = exports.TypeBuilder = exports.TypeBuilderError = exports.TransformEncodeBuilder = exports.TransformDecodeBuilder = exports.TemplateLiteralDslParser = exports.TemplateLiteralGenerator = exports.TemplateLiteralGeneratorError = exports.TemplateLiteralFinite = exports.TemplateLiteralFiniteError = exports.TemplateLiteralParser = exports.TemplateLiteralParserError = exports.TemplateLiteralResolver = exports.TemplateLiteralPattern = exports.TemplateLiteralPatternError = exports.UnionResolver = exports.KeyArrayResolver = exports.KeyArrayResolverError = exports.KeyResolver = exports.ObjectMap = exports.Intrinsic = exports.IndexedAccessor = exports.TypeClone = exports.TypeExtends = exports.TypeExtendsResult = exports.TypeExtendsError = exports.ExtendsUndefined = exports.TypeGuard = exports.TypeGuardUnknownTypeError = exports.ValueGuard = exports.FormatRegistry = exports.TypeBoxError = exports.TypeRegistry = exports.PatternStringExact = exports.PatternNumberExact = exports.PatternBooleanExact = exports.PatternString = exports.PatternNumber = exports.PatternBoolean = exports.Kind = exports.Hint = exports.Optional = exports.Readonly = exports.Transform = void 0;\n// --------------------------------------------------------------------------\n// Symbols\n// --------------------------------------------------------------------------\nexports.Transform = Symbol.for('TypeBox.Transform');\nexports.Readonly = Symbol.for('TypeBox.Readonly');\nexports.Optional = Symbol.for('TypeBox.Optional');\nexports.Hint = Symbol.for('TypeBox.Hint');\nexports.Kind = Symbol.for('TypeBox.Kind');\n// --------------------------------------------------------------------------\n// Patterns\n// --------------------------------------------------------------------------\nexports.PatternBoolean = '(true|false)';\nexports.PatternNumber = '(0|[1-9][0-9]*)';\nexports.PatternString = '(.*)';\nexports.PatternBooleanExact = `^${exports.PatternBoolean}$`;\nexports.PatternNumberExact = `^${exports.PatternNumber}$`;\nexports.PatternStringExact = `^${exports.PatternString}$`;\n/** A registry for user defined types */\nvar TypeRegistry;\n(function (TypeRegistry) {\n const map = new Map();\n /** Returns the entries in this registry */\n function Entries() {\n return new Map(map);\n }\n TypeRegistry.Entries = Entries;\n /** Clears all user defined types */\n function Clear() {\n return map.clear();\n }\n TypeRegistry.Clear = Clear;\n /** Deletes a registered type */\n function Delete(kind) {\n return map.delete(kind);\n }\n TypeRegistry.Delete = Delete;\n /** Returns true if this registry contains this kind */\n function Has(kind) {\n return map.has(kind);\n }\n TypeRegistry.Has = Has;\n /** Sets a validation function for a user defined type */\n function Set(kind, func) {\n map.set(kind, func);\n }\n TypeRegistry.Set = Set;\n /** Gets a custom validation function for a user defined type */\n function Get(kind) {\n return map.get(kind);\n }\n TypeRegistry.Get = Get;\n})(TypeRegistry || (exports.TypeRegistry = TypeRegistry = {}));\n// --------------------------------------------------------------------------\n// TypeBoxError\n// --------------------------------------------------------------------------\nclass TypeBoxError extends Error {\n constructor(message) {\n super(message);\n }\n}\nexports.TypeBoxError = TypeBoxError;\n/** A registry for user defined string formats */\nvar FormatRegistry;\n(function (FormatRegistry) {\n const map = new Map();\n /** Returns the entries in this registry */\n function Entries() {\n return new Map(map);\n }\n FormatRegistry.Entries = Entries;\n /** Clears all user defined string formats */\n function Clear() {\n return map.clear();\n }\n FormatRegistry.Clear = Clear;\n /** Deletes a registered format */\n function Delete(format) {\n return map.delete(format);\n }\n FormatRegistry.Delete = Delete;\n /** Returns true if the user defined string format exists */\n function Has(format) {\n return map.has(format);\n }\n FormatRegistry.Has = Has;\n /** Sets a validation function for a user defined string format */\n function Set(format, func) {\n map.set(format, func);\n }\n FormatRegistry.Set = Set;\n /** Gets a validation function for a user defined string format */\n function Get(format) {\n return map.get(format);\n }\n FormatRegistry.Get = Get;\n})(FormatRegistry || (exports.FormatRegistry = FormatRegistry = {}));\n// --------------------------------------------------------------------------\n// ValueGuard\n// --------------------------------------------------------------------------\n/** Provides functions to type guard raw JavaScript values */\nvar ValueGuard;\n(function (ValueGuard) {\n /** Returns true if this value is an array */\n function IsArray(value) {\n return Array.isArray(value);\n }\n ValueGuard.IsArray = IsArray;\n /** Returns true if this value is bigint */\n function IsBigInt(value) {\n return typeof value === 'bigint';\n }\n ValueGuard.IsBigInt = IsBigInt;\n /** Returns true if this value is a boolean */\n function IsBoolean(value) {\n return typeof value === 'boolean';\n }\n ValueGuard.IsBoolean = IsBoolean;\n /** Returns true if this value is a Date object */\n function IsDate(value) {\n return value instanceof globalThis.Date;\n }\n ValueGuard.IsDate = IsDate;\n /** Returns true if this value is null */\n function IsNull(value) {\n return value === null;\n }\n ValueGuard.IsNull = IsNull;\n /** Returns true if this value is number */\n function IsNumber(value) {\n return typeof value === 'number';\n }\n ValueGuard.IsNumber = IsNumber;\n /** Returns true if this value is an object */\n function IsObject(value) {\n return typeof value === 'object' && value !== null;\n }\n ValueGuard.IsObject = IsObject;\n /** Returns true if this value is string */\n function IsString(value) {\n return typeof value === 'string';\n }\n ValueGuard.IsString = IsString;\n /** Returns true if this value is a Uint8Array */\n function IsUint8Array(value) {\n return value instanceof globalThis.Uint8Array;\n }\n ValueGuard.IsUint8Array = IsUint8Array;\n /** Returns true if this value is undefined */\n function IsUndefined(value) {\n return value === undefined;\n }\n ValueGuard.IsUndefined = IsUndefined;\n})(ValueGuard || (exports.ValueGuard = ValueGuard = {}));\n// --------------------------------------------------------------------------\n// TypeGuard\n// --------------------------------------------------------------------------\nclass TypeGuardUnknownTypeError extends TypeBoxError {\n}\nexports.TypeGuardUnknownTypeError = TypeGuardUnknownTypeError;\n/** Provides functions to test if JavaScript values are TypeBox types */\nvar TypeGuard;\n(function (TypeGuard) {\n function IsPattern(value) {\n try {\n new RegExp(value);\n return true;\n }\n catch {\n return false;\n }\n }\n function IsControlCharacterFree(value) {\n if (!ValueGuard.IsString(value))\n return false;\n for (let i = 0; i < value.length; i++) {\n const code = value.charCodeAt(i);\n if ((code >= 7 && code <= 13) || code === 27 || code === 127) {\n return false;\n }\n }\n return true;\n }\n function IsAdditionalProperties(value) {\n return IsOptionalBoolean(value) || TSchema(value);\n }\n function IsOptionalBigInt(value) {\n return ValueGuard.IsUndefined(value) || ValueGuard.IsBigInt(value);\n }\n function IsOptionalNumber(value) {\n return ValueGuard.IsUndefined(value) || ValueGuard.IsNumber(value);\n }\n function IsOptionalBoolean(value) {\n return ValueGuard.IsUndefined(value) || ValueGuard.IsBoolean(value);\n }\n function IsOptionalString(value) {\n return ValueGuard.IsUndefined(value) || ValueGuard.IsString(value);\n }\n function IsOptionalPattern(value) {\n return ValueGuard.IsUndefined(value) || (ValueGuard.IsString(value) && IsControlCharacterFree(value) && IsPattern(value));\n }\n function IsOptionalFormat(value) {\n return ValueGuard.IsUndefined(value) || (ValueGuard.IsString(value) && IsControlCharacterFree(value));\n }\n function IsOptionalSchema(value) {\n return ValueGuard.IsUndefined(value) || TSchema(value);\n }\n // ----------------------------------------------------------------\n // Types\n // ----------------------------------------------------------------\n /** Returns true if the given value is TAny */\n function TAny(schema) {\n // prettier-ignore\n return (TKindOf(schema, 'Any') &&\n IsOptionalString(schema.$id));\n }\n TypeGuard.TAny = TAny;\n /** Returns true if the given value is TArray */\n function TArray(schema) {\n return (TKindOf(schema, 'Array') &&\n schema.type === 'array' &&\n IsOptionalString(schema.$id) &&\n TSchema(schema.items) &&\n IsOptionalNumber(schema.minItems) &&\n IsOptionalNumber(schema.maxItems) &&\n IsOptionalBoolean(schema.uniqueItems) &&\n IsOptionalSchema(schema.contains) &&\n IsOptionalNumber(schema.minContains) &&\n IsOptionalNumber(schema.maxContains));\n }\n TypeGuard.TArray = TArray;\n /** Returns true if the given value is TAsyncIterator */\n function TAsyncIterator(schema) {\n // prettier-ignore\n return (TKindOf(schema, 'AsyncIterator') &&\n schema.type === 'AsyncIterator' &&\n IsOptionalString(schema.$id) &&\n TSchema(schema.items));\n }\n TypeGuard.TAsyncIterator = TAsyncIterator;\n /** Returns true if the given value is TBigInt */\n function TBigInt(schema) {\n // prettier-ignore\n return (TKindOf(schema, 'BigInt') &&\n schema.type === 'bigint' &&\n IsOptionalString(schema.$id) &&\n IsOptionalBigInt(schema.exclusiveMaximum) &&\n IsOptionalBigInt(schema.exclusiveMinimum) &&\n IsOptionalBigInt(schema.maximum) &&\n IsOptionalBigInt(schema.minimum) &&\n IsOptionalBigInt(schema.multipleOf));\n }\n TypeGuard.TBigInt = TBigInt;\n /** Returns true if the given value is TBoolean */\n function TBoolean(schema) {\n // prettier-ignore\n return (TKindOf(schema, 'Boolean') &&\n schema.type === 'boolean' &&\n IsOptionalString(schema.$id));\n }\n TypeGuard.TBoolean = TBoolean;\n /** Returns true if the given value is TConstructor */\n function TConstructor(schema) {\n // prettier-ignore\n return (TKindOf(schema, 'Constructor') &&\n schema.type === 'Constructor' &&\n IsOptionalString(schema.$id) &&\n ValueGuard.IsArray(schema.parameters) &&\n schema.parameters.every(schema => TSchema(schema)) &&\n TSchema(schema.returns));\n }\n TypeGuard.TConstructor = TConstructor;\n /** Returns true if the given value is TDate */\n function TDate(schema) {\n return (TKindOf(schema, 'Date') &&\n schema.type === 'Date' &&\n IsOptionalString(schema.$id) &&\n IsOptionalNumber(schema.exclusiveMaximumTimestamp) &&\n IsOptionalNumber(schema.exclusiveMinimumTimestamp) &&\n IsOptionalNumber(schema.maximumTimestamp) &&\n IsOptionalNumber(schema.minimumTimestamp) &&\n IsOptionalNumber(schema.multipleOfTimestamp));\n }\n TypeGuard.TDate = TDate;\n /** Returns true if the given value is TFunction */\n function TFunction(schema) {\n // prettier-ignore\n return (TKindOf(schema, 'Function') &&\n schema.type === 'Function' &&\n IsOptionalString(schema.$id) &&\n ValueGuard.IsArray(schema.parameters) &&\n schema.parameters.every(schema => TSchema(schema)) &&\n TSchema(schema.returns));\n }\n TypeGuard.TFunction = TFunction;\n /** Returns true if the given value is TInteger */\n function TInteger(schema) {\n return (TKindOf(schema, 'Integer') &&\n schema.type === 'integer' &&\n IsOptionalString(schema.$id) &&\n IsOptionalNumber(schema.exclusiveMaximum) &&\n IsOptionalNumber(schema.exclusiveMinimum) &&\n IsOptionalNumber(schema.maximum) &&\n IsOptionalNumber(schema.minimum) &&\n IsOptionalNumber(schema.multipleOf));\n }\n TypeGuard.TInteger = TInteger;\n /** Returns true if the given value is TIntersect */\n function TIntersect(schema) {\n // prettier-ignore\n return (TKindOf(schema, 'Intersect') &&\n (ValueGuard.IsString(schema.type) && schema.type !== 'object' ? false : true) &&\n ValueGuard.IsArray(schema.allOf) &&\n schema.allOf.every(schema => TSchema(schema) && !TTransform(schema)) &&\n IsOptionalString(schema.type) &&\n (IsOptionalBoolean(schema.unevaluatedProperties) || IsOptionalSchema(schema.unevaluatedProperties)) &&\n IsOptionalString(schema.$id));\n }\n TypeGuard.TIntersect = TIntersect;\n /** Returns true if the given value is TIterator */\n function TIterator(schema) {\n // prettier-ignore\n return (TKindOf(schema, 'Iterator') &&\n schema.type === 'Iterator' &&\n IsOptionalString(schema.$id) &&\n TSchema(schema.items));\n }\n TypeGuard.TIterator = TIterator;\n /** Returns true if the given value is a TKind with the given name. */\n function TKindOf(schema, kind) {\n return TKind(schema) && schema[exports.Kind] === kind;\n }\n TypeGuard.TKindOf = TKindOf;\n /** Returns true if the given value is TKind */\n function TKind(schema) {\n return ValueGuard.IsObject(schema) && exports.Kind in schema && ValueGuard.IsString(schema[exports.Kind]);\n }\n TypeGuard.TKind = TKind;\n /** Returns true if the given value is TLiteral<string> */\n function TLiteralString(schema) {\n return TLiteral(schema) && ValueGuard.IsString(schema.const);\n }\n TypeGuard.TLiteralString = TLiteralString;\n /** Returns true if the given value is TLiteral<number> */\n function TLiteralNumber(schema) {\n return TLiteral(schema) && ValueGuard.IsNumber(schema.const);\n }\n TypeGuard.TLiteralNumber = TLiteralNumber;\n /** Returns true if the given value is TLiteral<boolean> */\n function TLiteralBoolean(schema) {\n return TLiteral(schema) && ValueGuard.IsBoolean(schema.const);\n }\n TypeGuard.TLiteralBoolean = TLiteralBoolean;\n /** Returns true if the given value is TLiteral */\n function TLiteral(schema) {\n // prettier-ignore\n return (TKindOf(schema, 'Literal') &&\n IsOptionalString(schema.$id) && (ValueGuard.IsBoolean(schema.const) ||\n ValueGuard.IsNumber(schema.const) ||\n ValueGuard.IsString(schema.const)));\n }\n TypeGuard.TLiteral = TLiteral;\n /** Returns true if the given value is TNever */\n function TNever(schema) {\n // prettier-ignore\n return (TKindOf(schema, 'Never') &&\n ValueGuard.IsObject(schema.not) &&\n Object.getOwnPropertyNames(schema.not).length === 0);\n }\n TypeGuard.TNever = TNever;\n /** Returns true if the given value is TNot */\n function TNot(schema) {\n // prettier-ignore\n return (TKindOf(schema, 'Not') &&\n TSchema(schema.not));\n }\n TypeGuard.TNot = TNot;\n /** Returns true if the given value is TNull */\n function TNull(schema) {\n // prettier-ignore\n return (TKindOf(schema, 'Null') &&\n schema.type === 'null' &&\n IsOptionalString(schema.$id));\n }\n TypeGuard.TNull = TNull;\n /** Returns true if the given value is TNumber */\n function TNumber(schema) {\n return (TKindOf(schema, 'Number') &&\n schema.type === 'number' &&\n IsOptionalString(schema.$id) &&\n IsOptionalNumber(schema.exclusiveMaximum) &&\n IsOptionalNumber(schema.exclusiveMinimum) &&\n IsOptionalNumber(schema.maximum) &&\n IsOptionalNumber(schema.minimum) &&\n IsOptionalNumber(schema.multipleOf));\n }\n TypeGuard.TNumber = TNumber;\n /** Returns true if the given value is TObject */\n function TObject(schema) {\n // prettier-ignore\n return (TKindOf(schema, 'Object') &&\n schema.type === 'object' &&\n IsOptionalString(schema.$id) &&\n ValueGuard.IsObject(schema.properties) &&\n IsAdditionalProperties(schema.additionalProperties) &&\n IsOptionalNumber(schema.minProperties) &&\n IsOptionalNumber(schema.maxProperties) &&\n Object.entries(schema.properties).every(([key, schema]) => IsControlCharacterFree(key) && TSchema(schema)));\n }\n TypeGuard.TObject = TObject;\n /** Returns true if the given value is TPromise */\n function TPromise(schema) {\n // prettier-ignore\n return (TKindOf(schema, 'Promise') &&\n schema.type === 'Promise' &&\n IsOptionalString(schema.$id) &&\n TSchema(schema.item));\n }\n TypeGuard.TPromise = TPromise;\n /** Returns true if the given value is TRecord */\n function TRecord(schema) {\n // prettier-ignore\n return (TKindOf(schema, 'Record') &&\n schema.type === 'object' &&\n IsOptionalString(schema.$id) &&\n IsAdditionalProperties(schema.additionalProperties) &&\n ValueGuard.IsObject(schema.patternProperties) &&\n ((schema) => {\n const keys = Object.getOwnPropertyNames(schema.patternProperties);\n return (keys.length === 1 &&\n IsPattern(keys[0]) &&\n ValueGuard.IsObject(schema.patternProperties) &&\n TSchema(schema.patternProperties[keys[0]]));\n })(schema));\n }\n TypeGuard.TRecord = TRecord;\n /** Returns true if this value is TRecursive */\n function TRecursive(schema) {\n return ValueGuard.IsObject(schema) && exports.Hint in schema && schema[exports.Hint] === 'Recursive';\n }\n TypeGuard.TRecursive = TRecursive;\n /** Returns true if the given value is TRef */\n function TRef(schema) {\n // prettier-ignore\n return (TKindOf(schema, 'Ref') &&\n IsOptionalString(schema.$id) &&\n ValueGuard.IsString(schema.$ref));\n }\n TypeGuard.TRef = TRef;\n /** Returns true if the given value is TString */\n function TString(schema) {\n // prettier-ignore\n return (TKindOf(schema, 'String') &&\n schema.type === 'string' &&\n IsOptionalString(schema.$id) &&\n IsOptionalNumber(schema.minLength) &&\n IsOptionalNumber(schema.maxLength) &&\n IsOptionalPattern(schema.pattern) &&\n IsOptionalFormat(schema.format));\n }\n TypeGuard.TString = TString;\n /** Returns true if the given value is TSymbol */\n function TSymbol(schema) {\n // prettier-ignore\n return (TKindOf(schema, 'Symbol') &&\n schema.type === 'symbol' &&\n IsOptionalString(schema.$id));\n }\n TypeGuard.TSymbol = TSymbol;\n /** Returns true if the given value is TTemplateLiteral */\n function TTemplateLiteral(schema) {\n // prettier-ignore\n return (TKindOf(schema, 'TemplateLiteral') &&\n schema.type === 'string' &&\n ValueGuard.IsString(schema.pattern) &&\n schema.pattern[0] === '^' &&\n schema.pattern[schema.pattern.length - 1] === '$');\n }\n TypeGuard.TTemplateLiteral = TTemplateLiteral;\n /** Returns true if the given value is TThis */\n function TThis(schema) {\n // prettier-ignore\n return (TKindOf(schema, 'This') &&\n IsOptionalString(schema.$id) &&\n ValueGuard.IsString(schema.$ref));\n }\n TypeGuard.TThis = TThis;\n /** Returns true of this value is TTransform */\n function TTransform(schema) {\n return ValueGuard.IsObject(schema) && exports.Transform in schema;\n }\n TypeGuard.TTransform = TTransform;\n /** Returns true if the given value is TTuple */\n function TTuple(schema) {\n // prettier-ignore\n return (TKindOf(schema, 'Tuple') &&\n schema.type === 'array' &&\n IsOptionalString(schema.$id) &&\n ValueGuard.IsNumber(schema.minItems) &&\n ValueGuard.IsNumber(schema.maxItems) &&\n schema.minItems === schema.maxItems &&\n (( // empty\n ValueGuard.IsUndefined(schema.items) &&\n ValueGuard.IsUndefined(schema.additionalItems) &&\n schema.minItems === 0) || (ValueGuard.IsArray(schema.items) &&\n schema.items.every(schema => TSchema(schema)))));\n }\n TypeGuard.TTuple = TTuple;\n /** Returns true if the given value is TUndefined */\n function TUndefined(schema) {\n // prettier-ignore\n return (TKindOf(schema, 'Undefined') &&\n schema.type === 'undefined' &&\n IsOptionalString(schema.$id));\n }\n TypeGuard.TUndefined = TUndefined;\n /** Returns true if the given value is TUnion<Literal<string | number>[]> */\n function TUnionLiteral(schema) {\n return TUnion(schema) && schema.anyOf.every((schema) => TLiteralString(schema) || TLiteralNumber(schema));\n }\n TypeGuard.TUnionLiteral = TUnionLiteral;\n /** Returns true if the given value is TUnion */\n function TUnion(schema) {\n // prettier-ignore\n return (TKindOf(schema, 'Union') &&\n IsOptionalString(schema.$id) &&\n ValueGuard.IsObject(schema) &&\n ValueGuard.IsArray(schema.anyOf) &&\n schema.anyOf.every(schema => TSchema(schema)));\n }\n TypeGuard.TUnion = TUnion;\n /** Returns true if the given value is TUint8Array */\n function TUint8Array(schema) {\n // prettier-ignore\n return (TKindOf(schema, 'Uint8Array') &&\n schema.type === 'Uint8Array' &&\n IsOptionalString(schema.$id) &&\n IsOptionalNumber(schema.minByteLength) &&\n IsOptionalNumber(schema.maxByteLength));\n }\n TypeGuard.TUint8Array = TUint8Array;\n /** Returns true if the given value is TUnknown */\n function TUnknown(schema) {\n // prettier-ignore\n return (TKindOf(schema, 'Unknown') &&\n IsOptionalString(schema.$id));\n }\n TypeGuard.TUnknown = TUnknown;\n /** Returns true if the given value is a raw TUnsafe */\n function TUnsafe(schema) {\n return TKindOf(schema, 'Unsafe');\n }\n TypeGuard.TUnsafe = TUnsafe;\n /** Returns true if the given value is TVoid */\n function TVoid(schema) {\n // prettier-ignore\n return (TKindOf(schema, 'Void') &&\n schema.type === 'void' &&\n IsOptionalString(schema.$id));\n }\n TypeGuard.TVoid = TVoid;\n /** Returns true if this value has a Readonly symbol */\n function TReadonly(schema) {\n return ValueGuard.IsObject(schema) && schema[exports.Readonly] === 'Readonly';\n }\n TypeGuard.TReadonly = TReadonly;\n /** Returns true if this value has a Optional symbol */\n function TOptional(schema) {\n return ValueGuard.IsObject(schema) && schema[exports.Optional] === 'Optional';\n }\n TypeGuard.TOptional = TOptional;\n /** Returns true if the given value is TSchema */\n function TSchema(schema) {\n // prettier-ignore\n return (ValueGuard.IsObject(schema)) && (TAny(schema) ||\n TArray(schema) ||\n TBoolean(schema) ||\n TBigInt(schema) ||\n TAsyncIterator(schema) ||\n TConstructor(schema) ||\n TDate(schema) ||\n TFunction(schema) ||\n TInteger(schema) ||\n TIntersect(schema) ||\n TIterator(schema) ||\n TLiteral(schema) ||\n TNever(schema) ||\n TNot(schema) ||\n TNull(schema) ||\n TNumber(schema) ||\n TObject(schema) ||\n TPromise(schema) ||\n TRecord(schema) ||\n TRef(schema) ||\n TString(schema) ||\n TSymbol(schema) ||\n TTemplateLiteral(schema) ||\n TThis(schema) ||\n TTuple(schema) ||\n TUndefined(schema) ||\n TUnion(schema) ||\n TUint8Array(schema) ||\n TUnknown(schema) ||\n TUnsafe(schema) ||\n TVoid(schema) ||\n (TKind(schema) && TypeRegistry.Has(schema[exports.Kind])));\n }\n TypeGuard.TSchema = TSchema;\n})(TypeGuard || (exports.TypeGuard = TypeGuard = {}));\n// --------------------------------------------------------------------------\n// ExtendsUndefined\n// --------------------------------------------------------------------------\n/** Fast undefined check used for properties of type undefined */\nvar ExtendsUndefined;\n(function (ExtendsUndefined) {\n function Check(schema) {\n return schema[exports.Kind] === 'Intersect'\n ? schema.allOf.every((schema) => Check(schema))\n : schema[exports.Kind] === 'Union'\n ? schema.anyOf.some((schema) => Check(schema))\n : schema[exports.Kind] === 'Undefined'\n ? true\n : schema[exports.Kind] === 'Not'\n ? !Check(schema.not)\n : false;\n }\n ExtendsUndefined.Check = Check;\n})(ExtendsUndefined || (exports.ExtendsUndefined = ExtendsUndefined = {}));\n// --------------------------------------------------------------------------\n// TypeExtends\n// --------------------------------------------------------------------------\nclass TypeExtendsError extends TypeBoxError {\n}\nexports.TypeExtendsError = TypeExtendsError;\nvar TypeExtendsResult;\n(function (TypeExtendsResult) {\n TypeExtendsResult[TypeExtendsResult[\"Union\"] = 0] = \"Union\";\n TypeExtendsResult[TypeExtendsResult[\"True\"] = 1] = \"True\";\n TypeExtendsResult[TypeExtendsResult[\"False\"] = 2] = \"False\";\n})(TypeExtendsResult || (exports.TypeExtendsResult = TypeExtendsResult = {}));\nvar TypeExtends;\n(function (TypeExtends) {\n // --------------------------------------------------------------------------\n // IntoBooleanResult\n // --------------------------------------------------------------------------\n function IntoBooleanResult(result) {\n return result === TypeExtendsResult.False ? result : TypeExtendsResult.True;\n }\n // --------------------------------------------------------------------------\n // Throw\n // --------------------------------------------------------------------------\n function Throw(message) {\n throw new TypeExtendsError(message);\n }\n // --------------------------------------------------------------------------\n // StructuralRight\n // --------------------------------------------------------------------------\n function IsStructuralRight(right) {\n // prettier-ignore\n return (TypeGuard.TNever(right) ||\n TypeGuard.TIntersect(right) ||\n TypeGuard.TUnion(right) ||\n TypeGuard.TUnknown(right) ||\n TypeGuard.TAny(right));\n }\n function StructuralRight(left, right) {\n // prettier-ignore\n return (TypeGuard.TNever(right) ? TNeverRight(left, right) :\n TypeGuard.TIntersect(right) ? TIntersectRight(left, right) :\n TypeGuard.TUnion(right) ? TUnionRight(left, right) :\n TypeGuard.TUnknown(right) ? TUnknownRight(left, right) :\n TypeGuard.TAny(right) ? TAnyRight(left, right) :\n Throw('StructuralRight'));\n }\n // --------------------------------------------------------------------------\n // Any\n // --------------------------------------------------------------------------\n function TAnyRight(left, right) {\n return TypeExtendsResult.True;\n }\n function TAny(left, right) {\n // prettier-ignore\n return (TypeGuard.TIntersect(right) ? TIntersectRight(left, right) :\n (TypeGuard.TUnion(right) && right.anyOf.some((schema) => TypeGuard.TAny(schema) || TypeGuard.TUnknown(schema))) ? TypeExtendsResult.True :\n TypeGuard.TUnion(right) ? TypeExtendsResult.Union :\n TypeGuard.TUnknown(right) ? TypeExtendsResult.True :\n TypeGuard.TAny(right) ? TypeExtendsResult.True :\n TypeExtendsResult.Union);\n }\n // --------------------------------------------------------------------------\n // Array\n // --------------------------------------------------------------------------\n function TArrayRight(left, right) {\n // prettier-ignore\n return (TypeGuard.TUnknown(left) ? TypeExtendsResult.False :\n TypeGuard.TAny(left) ? TypeExtendsResult.Union :\n TypeGuard.TNever(left) ? TypeExtendsResult.True :\n TypeExtendsResult.False);\n }\n function TArray(left, right) {\n // prettier-ignore\n return (TypeGuard.TObject(right) && IsObjectArrayLike(right) ? TypeExtendsResult.True :\n IsStructuralRight(right) ? StructuralRight(left, right) :\n !TypeGuard.TArray(right) ? TypeExtendsResult.False :\n IntoBooleanResult(Visit(left.items, right.items)));\n }\n // --------------------------------------------------------------------------\n // AsyncIterator\n // --------------------------------------------------------------------------\n function TAsyncIterator(left, right) {\n // prettier-ignore\n return (IsStructuralRight(right) ? StructuralRight(left, right) :\n !TypeGuard.TAsyncIterator(right) ? TypeExtendsResult.False :\n IntoBooleanResult(Visit(left.items, right.items)));\n }\n // --------------------------------------------------------------------------\n // BigInt\n // --------------------------------------------------------------------------\n function TBigInt(left, right) {\n // prettier-ignore\n return (IsStructuralRight(right) ? StructuralRight(left, right) :\n TypeGuard.TObject(right) ? TObjectRight(left, right) :\n TypeGuard.TRecord(right) ? TRecordRight(left, right) :\n TypeGuard.TBigInt(right) ? TypeExtendsResult.True :\n TypeExtendsResult.False);\n }\n // --------------------------------------------------------------------------\n // Boolean\n // --------------------------------------------------------------------------\n function TBooleanRight(left, right) {\n return TypeGuard.TLiteral(left) && ValueGuard.IsBoolean(left.const) ? TypeExtendsResult.True : TypeGuard.TBoolean(left) ? TypeExtendsResult.True : TypeExtendsResult.False;\n }\n function TBoolean(left, right) {\n // prettier-ignore\n return (IsStructuralRight(right) ? StructuralRight(left, right) :\n TypeGuard.TObject(right) ? TObjectRight(left, right) :\n TypeGuard.TRecord(right) ? TRecordRight(left, right) :\n TypeGuard.TBoolean(right) ? TypeExtendsResult.True :\n TypeExtendsResult.False);\n }\n // --------------------------------------------------------------------------\n // Constructor\n // --------------------------------------------------------------------------\n function TConstructor(left, right) {\n // prettier-ignore\n return (IsStructuralRight(right) ? StructuralRight(left, right) :\n TypeGuard.TObject(right) ? TObjectRight(left, right) :\n !TypeGuard.TConstructor(right) ? TypeExtendsResult.False :\n left.parameters.length > right.parameters.length ? TypeExtendsResult.False :\n (!left.parameters.every((schema, index) => IntoBooleanResult(Visit(right.parameters[index], schema)) === TypeExtendsResult.True)) ? TypeExtendsResult.False :\n IntoBooleanResult(Visit(left.returns, right.returns)));\n }\n // --------------------------------------------------------------------------\n // Date\n // --------------------------------------------------------------------------\n function TDate(left, right) {\n // prettier-ignore\n return (IsStructuralRight(right) ? StructuralRight(left, right) :\n TypeGuard.TObject(right) ? TObjectRight(left, right) :\n TypeGuard.TRecord(right) ? TRecordRight(left, right) :\n TypeGuard.TDate(right) ? TypeExtendsResult.True :\n TypeExtendsResult.False);\n }\n // --------------------------------------------------------------------------\n // Function\n // --------------------------------------------------------------------------\n function TFunction(left, right) {\n // prettier-ignore\n return (IsStructuralRight(right) ? StructuralRight(left, right) :\n TypeGuard.TObject(right) ? TObjectRight(left, right) :\n !TypeGuard.TFunction(right) ? TypeExtendsResult.False :\n left.parameters.length > right.parameters.length ? TypeExtendsResult.False :\n (!left.parameters.every((schema, index) => IntoBooleanResult(Visit(right.parameters[index], schema)) === TypeExtendsResult.True)) ? TypeExtendsResult.False :\n IntoBooleanResult(Visit(left.returns, right.returns)));\n }\n // --------------------------------------------------------------------------\n // Integer\n // --------------------------------------------------------------------------\n function TIntegerRight(left, right) {\n // prettier-ignore\n return (TypeGuard.TLiteral(left) && ValueGuard.IsNumber(left.const) ? TypeExtendsResult.True :\n TypeGuard.TNumber(left) || TypeGuard.TInteger(left) ? TypeExtendsResult.True :\n TypeExtendsResult.False);\n }\n function TInteger(left, right) {\n // prettier-ignore\n return (TypeGuard.TInteger(right) || TypeGuard.TNumber(right) ? TypeExtendsResult.True :\n IsStructuralRight(right) ? StructuralRight(left, right) :\n TypeGuard.TObject(right) ? TObjectRight(left, right) :\n TypeGuard.TRecord(right) ? TRecordRight(left, right) :\n TypeExtendsResult.False);\n }\n // --------------------------------------------------------------------------\n // Intersect\n // --------------------------------------------------------------------------\n function TIntersectRight(left, right) {\n // prettier-ignore\n return right.allOf.every((schema) => Visit(left, schema) === TypeExtendsResult.True)\n ? TypeExtendsResult.True\n : TypeExtendsResult.False;\n }\n function TIntersect(left, right) {\n // prettier-ignore\n return left.allOf.some((schema) => Visit(schema, right) === TypeExtendsResult.True)\n ? TypeExtendsResult.True\n : TypeExtendsResult.False;\n }\n // --------------------------------------------------------------------------\n // Iterator\n // --------------------------------------------------------------------------\n function TIterator(left, right) {\n // prettier-ignore\n return (IsStructuralRight(right) ? StructuralRight(left, right) :\n !TypeGuard.TIterator(right) ? TypeExtendsResult.False :\n IntoBooleanResult(Visit(left.items, right.items)));\n }\n // --------------------------------------------------------------------------\n // Literal\n // --------------------------------------------------------------------------\n function TLiteral(left, right) {\n // prettier-ignore\n return (TypeGuard.TLiteral(right) && right.const === left.const ? TypeExtendsResult.True :\n IsStructuralRight(right) ? StructuralRight(left, right) :\n TypeGuard.TObject(right) ? TObjectRight(left, right) :\n TypeGuard.TRecord(right) ? TRecordRight(left, right) :\n TypeGuard.TString(right) ? TStringRight(left, right) :\n TypeGuard.TNumber(right) ? TNumberRight(left, right) :\n TypeGuard.TInteger(right) ? TIntegerRight(left, right) :\n TypeGuard.TBoolean(right) ? TBooleanRight(left, right) :\n TypeExtendsResult.False);\n }\n // --------------------------------------------------------------------------\n // Never\n // --------------------------------------------------------------------------\n function TNeverRight(left, right) {\n return TypeExtendsResult.False;\n }\n function TNever(left, right) {\n return TypeExtendsResult.True;\n }\n // --------------------------------------------------------------------------\n // Not\n // --------------------------------------------------------------------------\n function UnwrapTNot(schema) {\n let [current, depth] = [schema, 0];\n while (true) {\n if (!TypeGuard.TNot(current))\n break;\n current = current.not;\n depth += 1;\n }\n return depth % 2 === 0 ? current : exports.Type.Unknown();\n }\n function TNot(left, right) {\n // TypeScript has no concept of negated types, and attempts to correctly check the negated\n // type at runtime would put TypeBox at odds with TypeScripts ability to statically infer\n // the type. Instead we unwrap to either unknown or T and continue evaluating.\n // prettier-ignore\n return (TypeGuard.TNot(left) ? Visit(UnwrapTNot(left), right) :\n TypeGuard.TNot(right) ? Visit(left, UnwrapTNot(right)) :\n Throw('Invalid fallthrough for Not'));\n }\n // --------------------------------------------------------------------------\n // Null\n // --------------------------------------------------------------------------\n function TNull(left, right) {\n // prettier-ignore\n return (IsStructuralRight(right) ? StructuralRight(left, right) :\n TypeGuard.TObject(right) ? TObjectRight(left, right) :\n TypeGuard.TRecord(right) ? TRecordRight(left, right) :\n TypeGuard.TNull(right) ? TypeExtendsResult.True :\n TypeExtendsResult.False);\n }\n // --------------------------------------------------------------------------\n // Number\n // --------------------------------------------------------------------------\n function TNumberRight(left, right) {\n // prettier-ignore\n return (TypeGuard.TLiteralNumber(left) ? TypeExtendsResult.True :\n TypeGuard.TNumber(left) || TypeGuard.TInteger(left) ? TypeExtendsResult.True :\n TypeExtendsResult.False);\n }\n function TNumber(left, right) {\n // prettier-ignore\n return (IsStructuralRight(right) ? StructuralRight(left, right) :\n TypeGuard.TObject(right) ? TObjectRight(left, right) :\n TypeGuard.TRecord(right) ? TRecordRight(left, right) :\n TypeGuard.TInteger(right) || TypeGuard.TNumber(right) ? TypeExtendsResult.True :\n TypeExtendsResult.False);\n }\n // --------------------------------------------------------------------------\n // Object\n // --------------------------------------------------------------------------\n function IsObjectPropertyCount(schema, count) {\n return Object.getOwnPropertyNames(schema.properties).length === count;\n }\n function IsObjectStringLike(schema) {\n return IsObjectArrayLike(schema);\n }\n function IsObjectSymbolLike(schema) {\n // prettier-ignore\n return IsObjectPropertyCount(schema, 0) || (IsObjectPropertyCount(schema, 1) && 'description' in schema.properties && TypeGuard.TUnion(schema.properties.description) && schema.properties.description.anyOf.length === 2 && ((TypeGuard.TString(schema.properties.description.anyOf[0]) &&\n TypeGuard.TUndefined(schema.properties.description.anyOf[1])) || (TypeGuard.TString(schema.properties.description.anyOf[1]) &&\n TypeGuard.TUndefined(schema.properties.description.anyOf[0]))));\n }\n function IsObjectNumberLike(schema) {\n return IsObjectPropertyCount(schema, 0);\n }\n function IsObjectBooleanLike(schema) {\n return IsObjectPropertyCount(schema, 0);\n }\n function IsObjectBigIntLike(schema) {\n return IsObjectPropertyCount(schema, 0);\n }\n function IsObjectDateLike(schema) {\n return IsObjectPropertyCount(schema, 0);\n }\n function IsObjectUint8ArrayLike(schema) {\n return IsObjectArrayLike(schema);\n }\n function IsObjectFunctionLike(schema) {\n const length = exports.Type.Number();\n return IsObjectPropertyCount(schema, 0) || (IsObjectPropertyCount(schema, 1) && 'length' in schema.properties && IntoBooleanResult(Visit(schema.properties['length'], length)) === TypeExtendsResult.True);\n }\n function IsObjectConstructorLike(schema) {\n return IsObjectPropertyCount(schema, 0);\n }\n function IsObjectArrayLike(schema) {\n const length = exports.Type.Number();\n return IsObjectPropertyCount(schema, 0) || (IsObjectPropertyCount(schema, 1) && 'length' in schema.properties && IntoBooleanResult(Visit(schema.properties['length'], length)) === TypeExtendsResult.True);\n }\n function IsObjectPromiseLike(schema) {\n const then = exports.Type.Function([exports.Type.Any()], exports.Type.Any());\n return IsObjectPropertyCount(schema, 0) || (IsObjectPropertyCount(schema, 1) && 'then' in schema.properties && IntoBooleanResult(Visit(schema.properties['then'], then)) === TypeExtendsResult.True);\n }\n // --------------------------------------------------------------------------\n // Property\n // --------------------------------------------------------------------------\n function Property(left, right) {\n // prettier-ignore\n return (Visit(left, right) === TypeExtendsResult.False ? TypeExtendsResult.False :\n TypeGuard.TOptional(left) && !TypeGuard.TOptional(right) ? TypeExtendsResult.False :\n TypeExtendsResult.True);\n }\n function TObjectRight(left, right) {\n // prettier-ignore\n return (TypeGuard.TUnknown(left) ? TypeExtendsResult.False :\n TypeGuard.TAny(left) ? TypeExtendsResult.Union : (TypeGuard.TNever(left) ||\n (TypeGuard.TLiteralString(left) && IsObjectStringLike(right)) ||\n (TypeGuard.TLiteralNumber(left) && IsObjectNumberLike(right)) ||\n (TypeGuard.TLiteralBoolean(left) && IsObjectBooleanLike(right)) ||\n (TypeGuard.TSymbol(left) && IsObjectSymbolLike(right)) ||\n (TypeGuard.TBigInt(left) && IsObjectBigIntLike(right)) ||\n (TypeGuard.TString(left) && IsObjectStringLike(right)) ||\n (TypeGuard.TSymbol(left) && IsObjectSymbolLike(right)) ||\n (TypeGuard.TNumber(left) && IsObjectNumberLike(right)) ||\n (TypeGuard.TInteger(left) && IsObjectNumberLike(right)) ||\n (TypeGuard.TBoolean(left) && IsObjectBooleanLike(right)) ||\n (TypeGuard.TUint8Array(left) && IsObjectUint8ArrayLike(right)) ||\n (TypeGuard.TDate(left) && IsObjectDateLike(right)) ||\n (TypeGuard.TConstructor(left) && IsObjectConstructorLike(right)) ||\n (TypeGuard.TFunction(left) && IsObjectFunctionLike(right))) ? TypeExtendsResult.True :\n (TypeGuard.TRecord(left) && TypeGuard.TString(RecordKey(left))) ? (() => {\n // When expressing a Record with literal key values, the Record is converted into a Object with\n // the Hint assigned as `Record`. This is used to invert the extends logic.\n return right[exports.Hint] === 'Record' ? TypeExtendsResult.True : TypeExtendsResult.False;\n })() :\n (TypeGuard.TRecord(left) && TypeGuard.TNumber(RecordKey(left))) ? (() => {\n return IsObjectPropertyCount(right, 0)\n ? TypeExtendsResult.True\n : TypeExtendsResult.False;\n })() :\n TypeExtendsResult.False);\n }\n function TObject(left, right) {\n // prettier-ignore\n return (IsStructuralRight(right) ? StructuralRight(left, right) :\n TypeGuard.TRecord(right) ? TRecordRight(left, right) :\n !TypeGuard.TObject(right) ? TypeExtendsResult.False :\n (() => {\n for (const key of Object.getOwnPropertyNames(right.properties)) {\n if (!(key in left.properties) && !TypeGuard.TOptional(right.properties[key])) {\n return TypeExtendsResult.False;\n }\n if (TypeGuard.TOptional(right.properties[key])) {\n return TypeExtendsResult.True;\n }\n if (Property(left.properties[key], right.properties[key]) === TypeExtendsResult.False) {\n return TypeExtendsResult.False;\n }\n }\n return TypeExtendsResult.True;\n })());\n }\n // --------------------------------------------------------------------------\n // Promise\n // --------------------------------------------------------------------------\n function TPromise(left, right) {\n // prettier-ignore\n return (IsStructuralRight(right) ? StructuralRight(left, right) :\n TypeGuard.TObject(right) && IsObjectPromiseLike(right) ? TypeExtendsResult.True :\n !TypeGuard.TPromise(right) ? TypeExtendsResult.False :\n IntoBooleanResult(Visit(left.item, right.item)));\n }\n // --------------------------------------------------------------------------\n // Record\n // --------------------------------------------------------------------------\n function RecordKey(schema) {\n // prettier-ignore\n return (exports.PatternNumberExact in schema.patternProperties ? exports.Type.Number() :\n exports.PatternStringExact in schema.patternProperties ? exports.Type.String() :\n Throw('Unknown record key pattern'));\n }\n function RecordValue(schema) {\n // prettier-ignore\n return (exports.PatternNumberExact in schema.patternProperties ? schema.patternProperties[exports.PatternNumberExact] :\n exports.PatternStringExact in schema.patternProperties ? schema.patternProperties[exports.PatternStringExact] :\n Throw('Unable to get record value schema'));\n }\n function TRecordRight(left, right) {\n const [Key, Value] = [RecordKey(right), RecordValue(right)];\n // prettier-ignore\n return ((TypeGuard.TLiteralString(left) && TypeGuard.TNumber(Key) && IntoBooleanResult(Visit(left, Value)) === TypeExtendsResult.True) ? TypeExtendsResult.True :\n TypeGuard.TUint8Array(left) && TypeGuard.TNumber(Key) ? Visit(left, Value) :\n TypeGuard.TString(left) && TypeGuard.TNumber(Key) ? Visit(left, Value) :\n TypeGuard.TArray(left) && TypeGuard.TNumber(Key) ? Visit(left, Value) :\n TypeGuard.TObject(left) ? (() => {\n for (const key of Object.getOwnPropertyNames(left.properties)) {\n if (Property(Value, left.properties[key]) === TypeExtendsResult.False) {\n return TypeExtendsResult.False;\n }\n }\n return TypeExtendsResult.True;\n })() :\n TypeExtendsResult.False);\n }\n function TRecord(left, right) {\n // prettier-ignore\n return (IsStructuralRight(right) ? StructuralRight(left, right) :\n TypeGuard.TObject(right) ? TObjectRight(left, right) :\n !TypeGuard.TRecord(right) ? TypeExtendsResult.False :\n Visit(RecordValue(left), RecordValue(right)));\n }\n // --------------------------------------------------------------------------\n // String\n // --------------------------------------------------------------------------\n function TStringRight(left, right) {\n // prettier-ignore\n return (TypeGuard.TLiteral(left) && ValueGuard.IsString(left.const) ? TypeExtendsResult.True :\n TypeGuard.TString(left) ? TypeExtendsResult.True :\n TypeExtendsResult.False);\n }\n function TString(left, right) {\n // prettier-ignore\n return (IsStructuralRight(right) ? StructuralRight(left, right) :\n TypeGuard.TObject(right) ? TObjectRight(left, right) :\n TypeGuard.TRecord(right) ? TRecordRight(left, right) :\n TypeGuard.TString(right) ? TypeExtendsResult.True :\n TypeExtendsResult.False);\n }\n // --------------------------------------------------------------------------\n // Symbol\n // --------------------------------------------------------------------------\n function TSymbol(left, right) {\n // prettier-ignore\n return (IsStructuralRight(right) ? StructuralRight(left, right) :\n TypeGuard.TObject(right) ? TObjectRight(left, right) :\n TypeGuard.TRecord(right) ? TRecordRight(left, right) :\n TypeGuard.TSymbol(right) ? TypeExtendsResult.True :\n TypeExtendsResult.False);\n }\n // --------------------------------------------------------------------------\n // TemplateLiteral\n // --------------------------------------------------------------------------\n function TTemplateLiteral(left, right) {\n // TemplateLiteral types are resolved to either unions for finite expressions or string\n // for infinite expressions. Here we call to TemplateLiteralResolver to resolve for\n // either type and continue evaluating.\n // prettier-ignore\n return (TypeGuard.TTemplateLiteral(left) ? Visit(TemplateLiteralResolver.Resolve(left), right) :\n TypeGuard.TTemplateLiteral(right) ? Visit(left, TemplateLiteralResolver.Resolve(right)) :\n Throw('Invalid fallthrough for TemplateLiteral'));\n }\n // --------------------------------------------------------------------------\n // Tuple\n // --------------------------------------------------------------------------\n function IsArrayOfTuple(left, right) {\n // prettier-ignore\n return (TypeGuard.TArray(right) &&\n left.items !== undefined &&\n left.items.every((schema) => Visit(schema, right.items) === TypeExtendsResult.True));\n }\n function TTupleRight(left, right) {\n // prettier-ignore\n return (TypeGuard.TNever(left) ? TypeExtendsResult.True :\n TypeGuard.TUnknown(left) ? TypeExtendsResult.False :\n TypeGuard.TAny(left) ? TypeExtendsResult.Union :\n TypeExtendsResult.False);\n }\n function TTuple(left, right) {\n // prettier-ignore\n return (IsStructuralRight(right) ? StructuralRight(left, right) :\n TypeGuard.TObject(right) && IsObjectArrayLike(right) ? TypeExtendsResult.True :\n TypeGuard.TArray(right) && IsArrayOfTuple(left, right) ? TypeExtendsResult.True :\n !TypeGuard.TTuple(right) ? TypeExtendsResult.False :\n (ValueGuard.IsUndefined(left.items) && !ValueGuard.IsUndefined(right.items)) || (!ValueGuard.IsUndefined(left.items) && ValueGuard.IsUndefined(right.items)) ? TypeExtendsResult.False :\n (ValueGuard.IsUndefined(left.items) && !ValueGuard.IsUndefined(right.items)) ? TypeExtendsResult.True :\n left.items.every((schema, index) => Visit(schema, right.items[index]) === TypeExtendsResult.True) ? TypeExtendsResult.True :\n TypeExtendsResult.False);\n }\n // --------------------------------------------------------------------------\n // Uint8Array\n // --------------------------------------------------------------------------\n function TUint8Array(left, right) {\n // prettier-ignore\n return (IsStructuralRight(right) ? StructuralRight(left, right) :\n TypeGuard.TObject(right) ? TObjectRight(left, right) :\n TypeGuard.TRecord(right) ? TRecordRight(left, right) :\n TypeGuard.TUint8Array(right) ? TypeExtendsResult.True :\n TypeExtendsResult.False);\n }\n // --------------------------------------------------------------------------\n // Undefined\n // --------------------------------------------------------------------------\n function TUndefined(left, right) {\n // prettier-ignore\n return (IsStructuralRight(right) ? StructuralRight(left, right) :\n TypeGuard.TObject(right) ? TObjectRight(left, right) :\n TypeGuard.TRecord(right) ? TRecordRight(left, right) :\n TypeGuard.TVoid(right) ? VoidRight(left, right) :\n TypeGuard.TUndefined(right) ? TypeExtendsResult.True :\n TypeExtendsResult.False);\n }\n // --------------------------------------------------------------------------\n // Union\n // --------------------------------------------------------------------------\n function TUnionRight(left, right) {\n // prettier-ignore\n return right.anyOf.some((schema) => Visit(left, schema) === TypeExtendsResult.True)\n ? TypeExtendsResult.True\n : TypeExtendsResult.False;\n }\n function TUnion(left, right) {\n // prettier-ignore\n return left.anyOf.every((schema) => Visit(schema, right) === TypeExtendsResult.True)\n ? TypeExtendsResult.True\n : TypeExtendsResult.False;\n }\n // --------------------------------------------------------------------------\n // Unknown\n // --------------------------------------------------------------------------\n function TUnknownRight(left, right) {\n return TypeExtendsResult.True;\n }\n function TUnknown(left, right) {\n // prettier-ignore\n return (TypeGuard.TNever(right) ? TNeverRight(left, right) :\n TypeGuard.TIntersect(right) ? TIntersectRight(left, right) :\n TypeGuard.TUnion(right) ? TUnionRight(left, right) :\n TypeGuard.TAny(right) ? TAnyRight(left, right) :\n TypeGuard.TString(right) ? TStringRight(left, right) :\n TypeGuard.TNumber(right) ? TNumberRight(left, right) :\n TypeGuard.TInteger(right) ? TIntegerRight(left, right) :\n TypeGuard.TBoolean(right) ? TBooleanRight(left, right) :\n TypeGuard.TArray(right) ? TArrayRight(left, right) :\n TypeGuard.TTuple(right) ? TTupleRight(left, right) :\n TypeGuard.TObject(right) ? TObjectRight(left, right) :\n TypeGuard.TUnknown(right) ? TypeExtendsResult.True :\n TypeExtendsResult.False);\n }\n // --------------------------------------------------------------------------\n // Void\n // --------------------------------------------------------------------------\n function VoidRight(left, right) {\n // prettier-ignore\n return TypeGuard.TUndefined(left) ? TypeExtendsResult.True :\n TypeGuard.TUndefined(left) ? TypeExtendsResult.True :\n TypeExtendsResult.False;\n }\n function TVoid(left, right) {\n // prettier-ignore\n return TypeGuard.TIntersect(right) ? TIntersectRight(left, right) :\n TypeGuard.TUnion(right) ? TUnionRight(left, right) :\n TypeGuard.TUnknown(right) ? TUnknownRight(left, right) :\n TypeGuard.TAny(right) ? TAnyRight(left, right) :\n TypeGuard.TObject(right) ? TObjectRight(left, right) :\n TypeGuard.TVoid(right) ? TypeExtendsResult.True :\n TypeExtendsResult.False;\n }\n function Visit(left, right) {\n // prettier-ignore\n return (\n // resolvable\n (TypeGuard.TTemplateLiteral(left) || TypeGuard.TTemplateLiteral(right)) ? TTemplateLiteral(left, right) :\n (TypeGuard.TNot(left) || TypeGuard.TNot(right)) ? TNot(left, right) :\n // standard\n TypeGuard.TAny(left) ? TAny(left, right) :\n TypeGuard.TArray(left) ? TArray(left, right) :\n TypeGuard.TBigInt(left) ? TBigInt(left, right) :\n TypeGuard.TBoolean(left) ? TBoolean(left, right) :\n TypeGuard.TAsyncIterator(left) ? TAsyncIterator(left, right) :\n TypeGuard.TConstructor(left) ? TConstructor(left, right) :\n TypeGuard.TDate(left) ? TDate(left, right) :\n TypeGuard.TFunction(left) ? TFunction(left, right) :\n TypeGuard.TInteger(left) ? TInteger(left, right) :\n TypeGuard.TIntersect(left) ? TIntersect(left, right) :\n TypeGuard.TIterator(left) ? TIterator(left, right) :\n TypeGuard.TLiteral(left) ? TLiteral(left, right) :\n TypeGuard.TNever(left) ? TNever(left, right) :\n TypeGuard.TNull(left) ? TNull(left, right) :\n TypeGuard.TNumber(left) ? TNumber(left, right) :\n TypeGuard.TObject(left) ? TObject(left, right) :\n TypeGuard.TRecord(left) ? TRecord(left, right) :\n TypeGuard.TString(left) ? TString(left, right) :\n TypeGuard.TSymbol(left) ? TSymbol(left, right) :\n TypeGuard.TTuple(left) ? TTuple(left, right) :\n TypeGuard.TPromise(left) ? TPromise(left, right) :\n TypeGuard.TUint8Array(left) ? TUint8Array(left, right) :\n TypeGuard.TUndefined(left) ? TUndefined(left, right) :\n TypeGuard.TUnion(left) ? TUnion(left, right) :\n TypeGuard.TUnknown(left) ? TUnknown(left, right) :\n TypeGuard.TVoid(left) ? TVoid(left, right) :\n Throw(`Unknown left type operand '${left[exports.Kind]}'`));\n }\n function Extends(left, right) {\n return Visit(left, right);\n }\n TypeExtends.Extends = Extends;\n})(TypeExtends || (exports.TypeExtends = TypeExtends = {}));\n// --------------------------------------------------------------------------\n// TypeClone\n// --------------------------------------------------------------------------\n/** Specialized Clone for Types */\nvar TypeClone;\n(function (TypeClone) {\n function ArrayType(value) {\n return value.map((value) => Visit(value));\n }\n function DateType(value) {\n return new Date(value.getTime());\n }\n function Uint8ArrayType(value) {\n return new Uint8Array(value);\n }\n function ObjectType(value) {\n const clonedProperties = Object.getOwnPropertyNames(value).reduce((acc, key) => ({ ...acc, [key]: Visit(value[key]) }), {});\n const clonedSymbols = Object.getOwnPropertySymbols(value).reduce((acc, key) => ({ ...acc, [key]: Visit(value[key]) }), {});\n return { ...clonedProperties, ...clonedSymbols };\n }\n function Visit(value) {\n // prettier-ignore\n return (ValueGuard.IsArray(value) ? ArrayType(value) :\n ValueGuard.IsDate(value) ? DateType(value) :\n ValueGuard.IsUint8Array(value) ? Uint8ArrayType(value) :\n ValueGuard.IsObject(value) ? ObjectType(value) :\n value);\n }\n /** Clones a Rest */\n function Rest(schemas) {\n return schemas.map((schema) => Type(schema));\n }\n TypeClone.Rest = Rest;\n /** Clones a Type */\n function Type(schema, options = {}) {\n return { ...Visit(schema), ...options };\n }\n TypeClone.Type = Type;\n})(TypeClone || (exports.TypeClone = TypeClone = {}));\n// --------------------------------------------------------------------------\n// IndexedAccessor\n// --------------------------------------------------------------------------\nvar IndexedAccessor;\n(function (IndexedAccessor) {\n function OptionalUnwrap(schema) {\n return schema.map((schema) => {\n const { [exports.Optional]: _, ...clone } = TypeClone.Type(schema);\n return clone;\n });\n }\n function IsIntersectOptional(schema) {\n return schema.every((schema) => TypeGuard.TOptional(schema));\n }\n function IsUnionOptional(schema) {\n return schema.some((schema) => TypeGuard.TOptional(schema));\n }\n function ResolveIntersect(schema) {\n return IsIntersectOptional(schema.allOf) ? exports.Type.Optional(exports.Type.Intersect(OptionalUnwrap(schema.allOf))) : schema;\n }\n function ResolveUnion(schema) {\n return IsUnionOptional(schema.anyOf) ? exports.Type.Optional(exports.Type.Union(OptionalUnwrap(schema.anyOf))) : schema;\n }\n function ResolveOptional(schema) {\n // prettier-ignore\n return schema[exports.Kind] === 'Intersect' ? ResolveIntersect(schema) :\n schema[exports.Kind] === 'Union' ? ResolveUnion(schema) :\n schema;\n }\n function TIntersect(schema, key) {\n const resolved = schema.allOf.reduce((acc, schema) => {\n const indexed = Visit(schema, key);\n return indexed[exports.Kind] === 'Never' ? acc : [...acc, indexed];\n }, []);\n return ResolveOptional(exports.Type.Intersect(resolved));\n }\n function TUnion(schema, key) {\n const resolved = schema.anyOf.map((schema) => Visit(schema, key));\n return ResolveOptional(exports.Type.Union(resolved));\n }\n function TObject(schema, key) {\n const property = schema.properties[key];\n return ValueGuard.IsUndefined(property) ? exports.Type.Never() : exports.Type.Union([property]);\n }\n function TTuple(schema, key) {\n const items = schema.items;\n if (ValueGuard.IsUndefined(items))\n return exports.Type.Never();\n const element = items[key]; //\n if (ValueGuard.IsUndefined(element))\n return exports.Type.Never();\n return element;\n }\n function Visit(schema, key) {\n // prettier-ignore\n return schema[exports.Kind] === 'Intersect' ? TIntersect(schema, key) :\n schema[exports.Kind] === 'Union' ? TUnion(schema, key) :\n schema[exports.Kind] === 'Object' ? TObject(schema, key) :\n schema[exports.Kind] === 'Tuple' ? TTuple(schema, key) :\n exports.Type.Never();\n }\n function Resolve(schema, keys, options = {}) {\n const resolved = keys.map((key) => Visit(schema, key.toString()));\n return ResolveOptional(exports.Type.Union(resolved, options));\n }\n IndexedAccessor.Resolve = Resolve;\n})(IndexedAccessor || (exports.IndexedAccessor = IndexedAccessor = {}));\n// --------------------------------------------------------------------------\n// Intrinsic\n// --------------------------------------------------------------------------\nvar Intrinsic;\n(function (Intrinsic) {\n function Uncapitalize(value) {\n const [first, rest] = [value.slice(0, 1), value.slice(1)];\n return `${first.toLowerCase()}${rest}`;\n }\n function Capitalize(value) {\n const [first, rest] = [value.slice(0, 1), value.slice(1)];\n return `${first.toUpperCase()}${rest}`;\n }\n function Uppercase(value) {\n return value.toUpperCase();\n }\n function Lowercase(value) {\n return value.toLowerCase();\n }\n function IntrinsicTemplateLiteral(schema, mode) {\n // note: template literals require special runtime handling as they are encoded in string patterns.\n // This diverges from the mapped type which would otherwise map on the template literal kind.\n const expression = TemplateLiteralParser.ParseExact(schema.pattern);\n const finite = TemplateLiteralFinite.Check(expression);\n if (!finite)\n return { ...schema, pattern: IntrinsicLiteral(schema.pattern, mode) };\n const strings = [...TemplateLiteralGenerator.Generate(expression)];\n const literals = strings.map((value) => exports.Type.Literal(value));\n const mapped = IntrinsicRest(literals, mode);\n const union = exports.Type.Union(mapped);\n return exports.Type.TemplateLiteral([union]);\n }\n function IntrinsicLiteral(value, mode) {\n // prettier-ignore\n return typeof value === 'string' ? (mode === 'Uncapitalize' ? Uncapitalize(value) :\n mode === 'Capitalize' ? Capitalize(value) :\n mode === 'Uppercase' ? Uppercase(value) :\n mode === 'Lowercase' ? Lowercase(value) :\n value) : value.toString();\n }\n function IntrinsicRest(schema, mode) {\n if (schema.length === 0)\n return [];\n const [L, ...R] = schema;\n return [Map(L, mode), ...IntrinsicRest(R, mode)];\n }\n function Visit(schema, mode) {\n // prettier-ignore\n return TypeGuard.TTemplateLiteral(schema) ? IntrinsicTemplateLiteral(schema, mode) :\n TypeGuard.TUnion(schema) ? exports.Type.Union(IntrinsicRest(schema.anyOf, mode)) :\n TypeGuard.TLiteral(schema) ? exports.Type.Literal(IntrinsicLiteral(schema.const, mode)) :\n schema;\n }\n /** Applies an intrinsic string manipulation to the given type. */\n function Map(schema, mode) {\n return Visit(schema, mode);\n }\n Intrinsic.Map = Map;\n})(Intrinsic || (exports.Intrinsic = Intrinsic = {}));\n// --------------------------------------------------------------------------\n// ObjectMap\n// --------------------------------------------------------------------------\nvar ObjectMap;\n(function (ObjectMap) {\n function TIntersect(schema, callback) {\n // prettier-ignore\n return exports.Type.Intersect(schema.allOf.map((inner) => Visit(inner, callback)), { ...schema });\n }\n function TUnion(schema, callback) {\n // prettier-ignore\n return exports.Type.Union(schema.anyOf.map((inner) => Visit(inner, callback)), { ...schema });\n }\n function TObject(schema, callback) {\n return callback(schema);\n }\n function Visit(schema, callback) {\n // There are cases where users need to map objects with unregistered kinds. Using a TypeGuard here would\n // prevent sub schema mapping as unregistered kinds will not pass TSchema checks. This is notable in the\n // case of TObject where unregistered property kinds cause the TObject check to fail. As mapping is only\n // used for composition, we use explicit checks instead.\n // prettier-ignore\n return (schema[exports.Kind] === 'Intersect' ? TIntersect(schema, callback) :\n schema[exports.Kind] === 'Union' ? TUnion(schema, callback) :\n schema[exports.Kind] === 'Object' ? TObject(schema, callback) :\n schema);\n }\n function Map(schema, callback, options) {\n return { ...Visit(TypeClone.Type(schema), callback), ...options };\n }\n ObjectMap.Map = Map;\n})(ObjectMap || (exports.ObjectMap = ObjectMap = {}));\nvar KeyResolver;\n(function (KeyResolver) {\n function UnwrapPattern(key) {\n return key[0] === '^' && key[key.length - 1] === '$' ? key.slice(1, key.length - 1) : key;\n }\n function TIntersect(schema, options) {\n return schema.allOf.reduce((acc, schema) => [...acc, ...Visit(schema, options)], []);\n }\n function TUnion(schema, options) {\n const sets = schema.anyOf.map((inner) => Visit(inner, options));\n return [...sets.reduce((set, outer) => outer.map((key) => (sets.every((inner) => inner.includes(key)) ? set.add(key) : set))[0], new Set())];\n }\n function TObject(schema, options) {\n return Object.getOwnPropertyNames(schema.properties);\n }\n function TRecord(schema, options) {\n return options.includePatterns ? Object.getOwnPropertyNames(schema.patternProperties) : [];\n }\n function Visit(schema, options) {\n // prettier-ignore\n return (TypeGuard.TIntersect(schema) ? TIntersect(schema, options) :\n TypeGuard.TUnion(schema) ? TUnion(schema, options) :\n TypeGuard.TObject(schema) ? TObject(schema, options) :\n TypeGuard.TRecord(schema) ? TRecord(schema, options) :\n []);\n }\n /** Resolves an array of keys in this schema */\n function ResolveKeys(schema, options) {\n return [...new Set(Visit(schema, options))];\n }\n KeyResolver.ResolveKeys = ResolveKeys;\n /** Resolves a regular expression pattern matching all keys in this schema */\n function ResolvePattern(schema) {\n const keys = ResolveKeys(schema, { includePatterns: true });\n const pattern = keys.map((key) => `(${UnwrapPattern(key)})`);\n return `^(${pattern.join('|')})$`;\n }\n KeyResolver.ResolvePattern = ResolvePattern;\n})(KeyResolver || (exports.KeyResolver = KeyResolver = {}));\n// --------------------------------------------------------------------------\n// KeyArrayResolver\n// --------------------------------------------------------------------------\nclass KeyArrayResolverError extends TypeBoxError {\n}\nexports.KeyArrayResolverError = KeyArrayResolverError;\nvar KeyArrayResolver;\n(function (KeyArrayResolver) {\n /** Resolves an array of string[] keys from the given schema or array type. */\n function Resolve(schema) {\n // prettier-ignore\n return Array.isArray(schema) ? schema :\n TypeGuard.TUnionLiteral(schema) ? schema.anyOf.map((schema) => schema.const.toString()) :\n TypeGuard.TLiteral(schema) ? [schema.const] :\n TypeGuard.TTemplateLiteral(schema) ? (() => {\n const expression = TemplateLiteralParser.ParseExact(schema.pattern);\n if (!TemplateLiteralFinite.Check(expression))\n throw new KeyArrayResolverError('Cannot resolve keys from infinite template expression');\n return [...TemplateLiteralGenerator.Generate(expression)];\n })() : [];\n }\n KeyArrayResolver.Resolve = Resolve;\n})(KeyArrayResolver || (exports.KeyArrayResolver = KeyArrayResolver = {}));\n// --------------------------------------------------------------------------\n// UnionResolver\n// --------------------------------------------------------------------------\nvar UnionResolver;\n(function (UnionResolver) {\n function* TUnion(union) {\n for (const schema of union.anyOf) {\n if (schema[exports.Kind] === 'Union') {\n yield* TUnion(schema);\n }\n else {\n yield schema;\n }\n }\n }\n /** Returns a resolved union with interior unions flattened */\n function Resolve(union) {\n return exports.Type.Union([...TUnion(union)], { ...union });\n }\n UnionResolver.Resolve = Resolve;\n})(UnionResolver || (exports.UnionResolver = UnionResolver = {}));\n// --------------------------------------------------------------------------\n// TemplateLiteralPattern\n// --------------------------------------------------------------------------\nclass TemplateLiteralPatternError extends TypeBoxError {\n}\nexports.TemplateLiteralPatternError = TemplateLiteralPatternError;\nvar TemplateLiteralPattern;\n(function (TemplateLiteralPattern) {\n function Throw(message) {\n throw new TemplateLiteralPatternError(message);\n }\n function Escape(value) {\n return value.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n }\n function Visit(schema, acc) {\n // prettier-ignore\n return (TypeGuard.TTemplateLiteral(schema) ? schema.pattern.slice(1, schema.pattern.length - 1) :\n TypeGuard.TUnion(schema) ? `(${schema.anyOf.map((schema) => Visit(schema, acc)).join('|')})` :\n TypeGuard.TNumber(schema) ? `${acc}${exports.PatternNumber}` :\n TypeGuard.TInteger(schema) ? `${acc}${exports.PatternNumber}` :\n TypeGuard.TBigInt(schema) ? `${acc}${exports.PatternNumber}` :\n TypeGuard.TString(schema) ? `${acc}${exports.PatternString}` :\n TypeGuard.TLiteral(schema) ? `${acc}${Escape(schema.const.toString())}` :\n TypeGuard.TBoolean(schema) ? `${acc}${exports.PatternBoolean}` :\n Throw(`Unexpected Kind '${schema[exports.Kind]}'`));\n }\n function Create(kinds) {\n return `^${kinds.map((schema) => Visit(schema, '')).join('')}\\$`;\n }\n TemplateLiteralPattern.Create = Create;\n})(TemplateLiteralPattern || (exports.TemplateLiteralPattern = TemplateLiteralPattern = {}));\n// --------------------------------------------------------------------------------------\n// TemplateLiteralResolver\n// --------------------------------------------------------------------------------------\nvar TemplateLiteralResolver;\n(function (TemplateLiteralResolver) {\n /** Resolves a template literal as a TUnion */\n function Resolve(template) {\n const expression = TemplateLiteralParser.ParseExact(template.pattern);\n if (!TemplateLiteralFinite.Check(expression))\n return exports.Type.String();\n const literals = [...TemplateLiteralGenerator.Generate(expression)].map((value) => exports.Type.Literal(value));\n return exports.Type.Union(literals);\n }\n TemplateLiteralResolver.Resolve = Resolve;\n})(TemplateLiteralResolver || (exports.TemplateLiteralResolver = TemplateLiteralResolver = {}));\n// --------------------------------------------------------------------------------------\n// TemplateLiteralParser\n// --------------------------------------------------------------------------------------\nclass TemplateLiteralParserError extends TypeBoxError {\n}\nexports.TemplateLiteralParserError = TemplateLiteralParserError;\nvar TemplateLiteralParser;\n(function (TemplateLiteralParser) {\n function IsNonEscaped(pattern, index, char) {\n return pattern[index] === char && pattern.charCodeAt(index - 1) !== 92;\n }\n function IsOpenParen(pattern, index) {\n return IsNonEscaped(pattern, index, '(');\n }\n function IsCloseParen(pattern, index) {\n return IsNonEscaped(pattern, index, ')');\n }\n function IsSeparator(pattern, index) {\n return IsNonEscaped(pattern, index, '|');\n }\n function IsGroup(pattern) {\n if (!(IsOpenParen(pattern, 0) && IsCloseParen(pattern, pattern.length - 1)))\n return false;\n let count = 0;\n for (let index = 0; index < pattern.length; index++) {\n if (IsOpenParen(pattern, index))\n count += 1;\n if (IsCloseParen(pattern, index))\n count -= 1;\n if (count === 0 && index !== pattern.length - 1)\n return false;\n }\n return true;\n }\n function InGroup(pattern) {\n return pattern.slice(1, pattern.length - 1);\n }\n function IsPrecedenceOr(pattern) {\n let count = 0;\n for (let index = 0; index < pattern.length; index++) {\n if (IsOpenParen(pattern, index))\n count += 1;\n if (IsCloseParen(pattern, index))\n count -= 1;\n if (IsSeparator(pattern, index) && count === 0)\n return true;\n }\n return false;\n }\n function IsPrecedenceAnd(pattern) {\n for (let index = 0; index < pattern.length; index++) {\n if (IsOpenParen(pattern, index))\n return true;\n }\n return false;\n }\n function Or(pattern) {\n let [count, start] = [0, 0];\n const expressions = [];\n for (let index = 0; index < pattern.length; index++) {\n if (IsOpenParen(pattern, index))\n count += 1;\n if (IsCloseParen(pattern, index))\n count -= 1;\n if (IsSeparator(pattern, index) && count === 0) {\n const range = pattern.slice(start, index);\n if (range.length > 0)\n expressions.push(Parse(range));\n start = index + 1;\n }\n }\n const range = pattern.slice(start);\n if (range.length > 0)\n expressions.push(Parse(range));\n if (expressions.length === 0)\n return { type: 'const', const: '' };\n if (expressions.length === 1)\n return expressions[0];\n return { type: 'or', expr: expressions };\n }\n function And(pattern) {\n function Group(value, index) {\n if (!IsOpenParen(value, index))\n throw new TemplateLiteralParserError(`TemplateLiteralParser: Index must point to open parens`);\n let count = 0;\n for (let scan = index; scan < value.length; scan++) {\n if (IsOpenParen(value, scan))\n count += 1;\n if (IsCloseParen(value, scan))\n count -= 1;\n if (count === 0)\n return [index, scan];\n }\n throw new TemplateLiteralParserError(`TemplateLiteralParser: Unclosed group parens in expression`);\n }\n function Range(pattern, index) {\n for (let scan = index; scan < pattern.length; scan++) {\n if (IsOpenParen(pattern, scan))\n return [index, scan];\n }\n return [index, pattern.length];\n }\n const expressions = [];\n for (let index = 0; index < pattern.length; index++) {\n if (IsOpenParen(pattern, index)) {\n const [start, end] = Group(pattern, index);\n const range = pattern.slice(start, end + 1);\n expressions.push(Parse(range));\n index = end;\n }\n else {\n const [start, end] = Range(pattern, index);\n const range = pattern.slice(start, end);\n if (range.length > 0)\n expressions.push(Parse(range));\n index = end - 1;\n }\n }\n // prettier-ignore\n return (expressions.length === 0) ? { type: 'const', const: '' } :\n (expressions.length === 1) ? expressions[0] :\n { type: 'and', expr: expressions };\n }\n /** Parses a pattern and returns an expression tree */\n function Parse(pattern) {\n // prettier-ignore\n return IsGroup(pattern) ? Parse(InGroup(pattern)) :\n IsPrecedenceOr(pattern) ? Or(pattern) :\n IsPrecedenceAnd(pattern) ? And(pattern) :\n { type: 'const', const: pattern };\n }\n TemplateLiteralParser.Parse = Parse;\n /** Parses a pattern and strips forward and trailing ^ and $ */\n function ParseExact(pattern) {\n return Parse(pattern.slice(1, pattern.length - 1));\n }\n TemplateLiteralParser.ParseExact = ParseExact;\n})(TemplateLiteralParser || (exports.TemplateLiteralParser = TemplateLiteralParser = {}));\n// --------------------------------------------------------------------------------------\n// TemplateLiteralFinite\n// --------------------------------------------------------------------------------------\nclass TemplateLiteralFiniteError extends TypeBoxError {\n}\nexports.TemplateLiteralFiniteError = TemplateLiteralFiniteError;\nvar TemplateLiteralFinite;\n(function (TemplateLiteralFinite) {\n function Throw(message) {\n throw new TemplateLiteralFiniteError(message);\n }\n function IsNumber(expression) {\n // prettier-ignore\n return (expression.type === 'or' &&\n expression.expr.length === 2 &&\n expression.expr[0].type === 'const' &&\n expression.expr[0].const === '0' &&\n expression.expr[1].type === 'const' &&\n expression.expr[1].const === '[1-9][0-9]*');\n }\n function IsBoolean(expression) {\n // prettier-ignore\n return (expression.type === 'or' &&\n expression.expr.length === 2 &&\n expression.expr[0].type === 'const' &&\n expression.expr[0].const === 'true' &&\n expression.expr[1].type === 'const' &&\n expression.expr[1].const === 'false');\n }\n function IsString(expression) {\n return expression.type === 'const' && expression.const === '.*';\n }\n function Check(expression) {\n // prettier-ignore\n return IsBoolean(expression) ? true :\n IsNumber(expression) || IsString(expression) ? false :\n (expression.type === 'and') ? expression.expr.every((expr) => Check(expr)) :\n (expression.type === 'or') ? expression.expr.every((expr) => Check(expr)) :\n (expression.type === 'const') ? true :\n Throw(`Unknown expression type`);\n }\n TemplateLiteralFinite.Check = Check;\n})(TemplateLiteralFinite || (exports.TemplateLiteralFinite = TemplateLiteralFinite = {}));\n// --------------------------------------------------------------------------------------\n// TemplateLiteralGenerator\n// --------------------------------------------------------------------------------------\nclass TemplateLiteralGeneratorError extends TypeBoxError {\n}\nexports.TemplateLiteralGeneratorError = TemplateLiteralGeneratorError;\nvar TemplateLiteralGenerator;\n(function (TemplateLiteralGenerator) {\n function* Reduce(buffer) {\n if (buffer.length === 1)\n return yield* buffer[0];\n for (const left of buffer[0]) {\n for (const right of Reduce(buffer.slice(1))) {\n yield `${left}${right}`;\n }\n }\n }\n function* And(expression) {\n return yield* Reduce(expression.expr.map((expr) => [...Generate(expr)]));\n }\n function* Or(expression) {\n for (const expr of expression.expr)\n yield* Generate(expr);\n }\n function* Const(expression) {\n return yield expression.const;\n }\n function* Generate(expression) {\n // prettier-ignore\n return (expression.type === 'and' ? yield* And(expression) :\n expression.type === 'or' ? yield* Or(expression) :\n expression.type === 'const' ? yield* Const(expression) :\n (() => { throw new TemplateLiteralGeneratorError('Unknown expression'); })());\n }\n TemplateLiteralGenerator.Generate = Generate;\n})(TemplateLiteralGenerator || (exports.TemplateLiteralGenerator = TemplateLiteralGenerator = {}));\n// ---------------------------------------------------------------------\n// TemplateLiteralDslParser\n// ---------------------------------------------------------------------\nvar TemplateLiteralDslParser;\n(function (TemplateLiteralDslParser) {\n function* ParseUnion(template) {\n const trim = template.trim().replace(/\"|'/g, '');\n // prettier-ignore\n return (trim === 'boolean' ? yield exports.Type.Boolean() :\n trim === 'number' ? yield exports.Type.Number() :\n trim === 'bigint' ? yield exports.Type.BigInt() :\n trim === 'string' ? yield exports.Type.String() :\n yield (() => {\n const literals = trim.split('|').map((literal) => exports.Type.Literal(literal.trim()));\n return (literals.length === 0 ? exports.Type.Never() :\n literals.length === 1 ? literals[0] :\n exports.Type.Union(literals));\n })());\n }\n function* ParseTerminal(template) {\n if (template[1] !== '{') {\n const L = exports.Type.Literal('$');\n const R = ParseLiteral(template.slice(1));\n return yield* [L, ...R];\n }\n for (let i = 2; i < template.length; i++) {\n if (template[i] === '}') {\n const L = ParseUnion(template.slice(2, i));\n const R = ParseLiteral(template.slice(i + 1));\n return yield* [...L, ...R];\n }\n }\n yield exports.Type.Literal(template);\n }\n function* ParseLiteral(template) {\n for (let i = 0; i < template.length; i++) {\n if (template[i] === '$') {\n const L = exports.Type.Literal(template.slice(0, i));\n const R = ParseTerminal(template.slice(i));\n return yield* [L, ...R];\n }\n }\n yield exports.Type.Literal(template);\n }\n function Parse(template_dsl) {\n return [...ParseLiteral(template_dsl)];\n }\n TemplateLiteralDslParser.Parse = Parse;\n})(TemplateLiteralDslParser || (exports.TemplateLiteralDslParser = TemplateLiteralDslParser = {}));\n// ---------------------------------------------------------------------\n// TransformBuilder\n// ---------------------------------------------------------------------\nclass TransformDecodeBuilder {\n constructor(schema) {\n this.schema = schema;\n }\n Decode(decode) {\n return new TransformEncodeBuilder(this.schema, decode);\n }\n}\nexports.TransformDecodeBuilder = TransformDecodeBuilder;\nclass TransformEncodeBuilder {\n constructor(schema, decode) {\n this.schema = schema;\n this.decode = decode;\n }\n Encode(encode) {\n const schema = TypeClone.Type(this.schema);\n // prettier-ignore\n return (TypeGuard.TTransform(schema) ? (() => {\n const Encode = (value) => schema[exports.Transform].Encode(encode(value));\n const Decode = (value) => this.decode(schema[exports.Transform].Decode(value));\n const Codec = { Encode: Encode, Decode: Decode };\n return { ...schema, [exports.Transform]: Codec };\n })() : (() => {\n const Codec = { Decode: this.decode, Encode: encode };\n return { ...schema, [exports.Transform]: Codec };\n })());\n }\n}\nexports.TransformEncodeBuilder = TransformEncodeBuilder;\n// --------------------------------------------------------------------------\n// TypeOrdinal: Used for auto $id generation\n// --------------------------------------------------------------------------\nlet TypeOrdinal = 0;\n// --------------------------------------------------------------------------\n// TypeBuilder\n// --------------------------------------------------------------------------\nclass TypeBuilderError extends TypeBoxError {\n}\nexports.TypeBuilderError = TypeBuilderError;\nclass TypeBuilder {\n /** `[Internal]` Creates a schema without `static` and `params` types */\n Create(schema) {\n return schema;\n }\n /** `[Internal]` Throws a TypeBuilder error with the given message */\n Throw(message) {\n throw new TypeBuilderError(message);\n }\n /** `[Internal]` Discards property keys from the given record type */\n Discard(record, keys) {\n return keys.reduce((acc, key) => {\n const { [key]: _, ...rest } = acc;\n return rest;\n }, record);\n }\n /** `[Json]` Omits compositing symbols from this schema */\n Strict(schema) {\n return JSON.parse(JSON.stringify(schema));\n }\n}\nexports.TypeBuilder = TypeBuilder;\n// --------------------------------------------------------------------------\n// JsonTypeBuilder\n// --------------------------------------------------------------------------\nclass JsonTypeBuilder extends TypeBuilder {\n // ------------------------------------------------------------------------\n // Modifiers\n // ------------------------------------------------------------------------\n /** `[Json]` Creates a Readonly and Optional property */\n ReadonlyOptional(schema) {\n return this.Readonly(this.Optional(schema));\n }\n /** `[Json]` Creates a Readonly property */\n Readonly(schema) {\n return { ...TypeClone.Type(schema), [exports.Readonly]: 'Readonly' };\n }\n /** `[Json]` Creates an Optional property */\n Optional(schema) {\n return { ...TypeClone.Type(schema), [exports.Optional]: 'Optional' };\n }\n // ------------------------------------------------------------------------\n // Types\n // ------------------------------------------------------------------------\n /** `[Json]` Creates an Any type */\n Any(options = {}) {\n return this.Create({ ...options, [exports.Kind]: 'Any' });\n }\n /** `[Json]` Creates an Array type */\n Array(schema, options = {}) {\n return this.Create({ ...options, [exports.Kind]: 'Array', type: 'array', items: TypeClone.Type(schema) });\n }\n /** `[Json]` Creates a Boolean type */\n Boolean(options = {}) {\n return this.Create({ ...options, [exports.Kind]: 'Boolean', type: 'boolean' });\n }\n /** `[Json]` Intrinsic function to Capitalize LiteralString types */\n Capitalize(schema, options = {}) {\n return { ...Intrinsic.Map(TypeClone.Type(schema), 'Capitalize'), ...options };\n }\n /** `[Json]` Creates a Composite object type */\n Composite(objects, options) {\n const intersect = exports.Type.Intersect(objects, {});\n const keys = KeyResolver.ResolveKeys(intersect, { includePatterns: false });\n const properties = keys.reduce((acc, key) => ({ ...acc, [key]: exports.Type.Index(intersect, [key]) }), {});\n return exports.Type.Object(properties, options);\n }\n /** `[Json]` Creates a Enum type */\n Enum(item, options = {}) {\n if (ValueGuard.IsUndefined(item))\n return this.Throw('Enum undefined or empty');\n // prettier-ignore\n const values1 = Object.getOwnPropertyNames(item).filter((key) => isNaN(key)).map((key) => item[key]);\n const values2 = [...new Set(values1)];\n const anyOf = values2.map((value) => exports.Type.Literal(value));\n return this.Union(anyOf, { ...options, [exports.Hint]: 'Enum' });\n }\n /** `[Json]` Creates a Conditional type */\n Extends(left, right, trueType, falseType, options = {}) {\n switch (TypeExtends.Extends(left, right)) {\n case TypeExtendsResult.Union:\n return this.Union([TypeClone.Type(trueType, options), TypeClone.Type(falseType, options)]);\n case TypeExtendsResult.True:\n return TypeClone.Type(trueType, options);\n case TypeExtendsResult.False:\n return TypeClone.Type(falseType, options);\n }\n }\n /** `[Json]` Constructs a type by excluding from unionType all union members that are assignable to excludedMembers */\n Exclude(unionType, excludedMembers, options = {}) {\n // prettier-ignore\n return (TypeGuard.TTemplateLiteral(unionType) ? this.Exclude(TemplateLiteralResolver.Resolve(unionType), excludedMembers, options) :\n TypeGuard.TTemplateLiteral(excludedMembers) ? this.Exclude(unionType, TemplateLiteralResolver.Resolve(excludedMembers), options) :\n TypeGuard.TUnion(unionType) ? (() => {\n const narrowed = unionType.anyOf.filter((inner) => TypeExtends.Extends(inner, excludedMembers) === TypeExtendsResult.False);\n return (narrowed.length === 1 ? TypeClone.Type(narrowed[0], options) : this.Union(narrowed, options));\n })() :\n TypeExtends.Extends(unionType, excludedMembers) !== TypeExtendsResult.False ? this.Never(options) :\n TypeClone.Type(unionType, options));\n }\n /** `[Json]` Constructs a type by extracting from type all union members that are assignable to union */\n Extract(type, union, options = {}) {\n // prettier-ignore\n return (TypeGuard.TTemplateLiteral(type) ? this.Extract(TemplateLiteralResolver.Resolve(type), union, options) :\n TypeGuard.TTemplateLiteral(union) ? this.Extract(type, TemplateLiteralResolver.Resolve(union), options) :\n TypeGuard.TUnion(type) ? (() => {\n const narrowed = type.anyOf.filter((inner) => TypeExtends.Extends(inner, union) !== TypeExtendsResult.False);\n return (narrowed.length === 1 ? TypeClone.Type(narrowed[0], options) : this.Union(narrowed, options));\n })() :\n TypeExtends.Extends(type, union) !== TypeExtendsResult.False ? TypeClone.Type(type, options) :\n this.Never(options));\n }\n /** `[Json]` Returns an Indexed property type for the given keys */\n Index(schema, unresolved, options = {}) {\n // prettier-ignore\n return (TypeGuard.TArray(schema) && TypeGuard.TNumber(unresolved) ? (() => {\n return TypeClone.Type(schema.items, options);\n })() :\n TypeGuard.TTuple(schema) && TypeGuard.TNumber(unresolved) ? (() => {\n const items = ValueGuard.IsUndefined(schema.items) ? [] : schema.items;\n const cloned = items.map((schema) => TypeClone.Type(schema));\n return this.Union(cloned, options);\n })() : (() => {\n const keys = KeyArrayResolver.Resolve(unresolved);\n const clone = TypeClone.Type(schema);\n return IndexedAccessor.Resolve(clone, keys, options);\n })());\n }\n /** `[Json]` Creates an Integer type */\n Integer(options = {}) {\n return this.Create({ ...options, [exports.Kind]: 'Integer', type: 'integer' });\n }\n /** `[Json]` Creates an Intersect type */\n Intersect(allOf, options = {}) {\n if (allOf.length === 0)\n return exports.Type.Never();\n if (allOf.length === 1)\n return TypeClone.Type(allOf[0], options);\n if (allOf.some((schema) => TypeGuard.TTransform(schema)))\n this.Throw('Cannot intersect transform types');\n const objects = allOf.every((schema) => TypeGuard.TObject(schema));\n const cloned = TypeClone.Rest(allOf);\n // prettier-ignore\n const clonedUnevaluatedProperties = TypeGuard.TSchema(options.unevaluatedProperties)\n ? { unevaluatedProperties: TypeClone.Type(options.unevaluatedProperties) }\n : {};\n return options.unevaluatedProperties === false || TypeGuard.TSchema(options.unevaluatedProperties) || objects\n ? this.Create({ ...options, ...clonedUnevaluatedProperties, [exports.Kind]: 'Intersect', type: 'object', allOf: cloned })\n : this.Create({ ...options, ...clonedUnevaluatedProperties, [exports.Kind]: 'Intersect', allOf: cloned });\n }\n /** `[Json]` Creates a KeyOf type */\n KeyOf(schema, options = {}) {\n // prettier-ignore\n return (TypeGuard.TRecord(schema) ? (() => {\n const pattern = Object.getOwnPropertyNames(schema.patternProperties)[0];\n return (pattern === exports.PatternNumberExact ? this.Number(options) :\n pattern === exports.PatternStringExact ? this.String(options) :\n this.Throw('Unable to resolve key type from Record key pattern'));\n })() :\n TypeGuard.TTuple(schema) ? (() => {\n const items = ValueGuard.IsUndefined(schema.items) ? [] : schema.items;\n const literals = items.map((_, index) => exports.Type.Literal(index.toString()));\n return this.Union(literals, options);\n })() :\n TypeGuard.TArray(schema) ? (() => {\n return this.Number(options);\n })() : (() => {\n const keys = KeyResolver.ResolveKeys(schema, { includePatterns: false });\n if (keys.length === 0)\n return this.Never(options);\n const literals = keys.map((key) => this.Literal(key));\n return this.Union(literals, options);\n })());\n }\n /** `[Json]` Creates a Literal type */\n Literal(value, options = {}) {\n return this.Create({ ...options, [exports.Kind]: 'Literal', const: value, type: typeof value });\n }\n /** `[Json]` Intrinsic function to Lowercase LiteralString types */\n Lowercase(schema, options = {}) {\n return { ...Intrinsic.Map(TypeClone.Type(schema), 'Lowercase'), ...options };\n }\n /** `[Json]` Creates a Never type */\n Never(options = {}) {\n return this.Create({ ...options, [exports.Kind]: 'Never', not: {} });\n }\n /** `[Json]` Creates a Not type */\n Not(schema, options) {\n return this.Create({ ...options, [exports.Kind]: 'Not', not: TypeClone.Type(schema) });\n }\n /** `[Json]` Creates a Null type */\n Null(options = {}) {\n return this.Create({ ...options, [exports.Kind]: 'Null', type: 'null' });\n }\n /** `[Json]` Creates a Number type */\n Number(options = {}) {\n return this.Create({ ...options, [exports.Kind]: 'Number', type: 'number' });\n }\n /** `[Json]` Creates an Object type */\n Object(properties, options = {}) {\n const propertyKeys = Object.getOwnPropertyNames(properties);\n const optionalKeys = propertyKeys.filter((key) => TypeGuard.TOptional(properties[key]));\n const requiredKeys = propertyKeys.filter((name) => !optionalKeys.includes(name));\n const clonedAdditionalProperties = TypeGuard.TSchema(options.additionalProperties) ? { additionalProperties: TypeClone.Type(options.additionalProperties) } : {};\n const clonedProperties = propertyKeys.reduce((acc, key) => ({ ...acc, [key]: TypeClone.Type(properties[key]) }), {});\n return requiredKeys.length > 0\n ? this.Create({ ...options, ...clonedAdditionalProperties, [exports.Kind]: 'Object', type: 'object', properties: clonedProperties, required: requiredKeys })\n : this.Create({ ...options, ...clonedAdditionalProperties, [exports.Kind]: 'Object', type: 'object', properties: clonedProperties });\n }\n /** `[Json]` Constructs a type whose keys are omitted from the given type */\n Omit(schema, unresolved, options = {}) {\n const keys = KeyArrayResolver.Resolve(unresolved);\n // prettier-ignore\n return ObjectMap.Map(this.Discard(TypeClone.Type(schema), ['$id', exports.Transform]), (object) => {\n if (ValueGuard.IsArray(object.required)) {\n object.required = object.required.filter((key) => !keys.includes(key));\n if (object.required.length === 0)\n delete object.required;\n }\n for (const key of Object.getOwnPropertyNames(object.properties)) {\n if (keys.includes(key))\n delete object.properties[key];\n }\n return this.Create(object);\n }, options);\n }\n /** `[Json]` Constructs a type where all properties are optional */\n Partial(schema, options = {}) {\n // prettier-ignore\n return ObjectMap.Map(this.Discard(TypeClone.Type(schema), ['$id', exports.Transform]), (object) => {\n const properties = Object.getOwnPropertyNames(object.properties).reduce((acc, key) => {\n return { ...acc, [key]: this.Optional(object.properties[key]) };\n }, {});\n return this.Object(properties, this.Discard(object, ['required']) /* object used as options to retain other constraints */);\n }, options);\n }\n /** `[Json]` Constructs a type whose keys are picked from the given type */\n Pick(schema, unresolved, options = {}) {\n const keys = KeyArrayResolver.Resolve(unresolved);\n // prettier-ignore\n return ObjectMap.Map(this.Discard(TypeClone.Type(schema), ['$id', exports.Transform]), (object) => {\n if (ValueGuard.IsArray(object.required)) {\n object.required = object.required.filter((key) => keys.includes(key));\n if (object.required.length === 0)\n delete object.required;\n }\n for (const key of Object.getOwnPropertyNames(object.properties)) {\n if (!keys.includes(key))\n delete object.properties[key];\n }\n return this.Create(object);\n }, options);\n }\n /** `[Json]` Creates a Record type */\n Record(key, schema, options = {}) {\n // prettier-ignore\n return (TypeGuard.TTemplateLiteral(key) ? (() => {\n const expression = TemplateLiteralParser.ParseExact(key.pattern);\n // prettier-ignore\n return TemplateLiteralFinite.Check(expression)\n ? (this.Object([...TemplateLiteralGenerator.Generate(expression)].reduce((acc, key) => ({ ...acc, [key]: TypeClone.Type(schema) }), {}), options))\n : this.Create({ ...options, [exports.Kind]: 'Record', type: 'object', patternProperties: { [key.pattern]: TypeClone.Type(schema) } });\n })() :\n TypeGuard.TUnion(key) ? (() => {\n const union = UnionResolver.Resolve(key);\n if (TypeGuard.TUnionLiteral(union)) {\n const properties = union.anyOf.reduce((acc, literal) => ({ ...acc, [literal.const]: TypeClone.Type(schema) }), {});\n return this.Object(properties, { ...options, [exports.Hint]: 'Record' });\n }\n else\n this.Throw('Record key of type union contains non-literal types');\n })() :\n TypeGuard.TLiteral(key) ? (() => {\n // prettier-ignore\n return (ValueGuard.IsString(key.const) || ValueGuard.IsNumber(key.const))\n ? this.Object({ [key.const]: TypeClone.Type(schema) }, options)\n : this.Throw('Record key of type literal is not of type string or number');\n })() :\n TypeGuard.TInteger(key) || TypeGuard.TNumber(key) ? (() => {\n return this.Create({ ...options, [exports.Kind]: 'Record', type: 'object', patternProperties: { [exports.PatternNumberExact]: TypeClone.Type(schema) } });\n })() :\n TypeGuard.TString(key) ? (() => {\n const pattern = ValueGuard.IsUndefined(key.pattern) ? exports.PatternStringExact : key.pattern;\n return this.Create({ ...options, [exports.Kind]: 'Record', type: 'object', patternProperties: { [pattern]: TypeClone.Type(schema) } });\n })() :\n this.Never());\n }\n /** `[Json]` Creates a Recursive type */\n Recursive(callback, options = {}) {\n if (ValueGuard.IsUndefined(options.$id))\n options.$id = `T${TypeOrdinal++}`;\n const thisType = callback({ [exports.Kind]: 'This', $ref: `${options.$id}` });\n thisType.$id = options.$id;\n return this.Create({ ...options, [exports.Hint]: 'Recursive', ...thisType });\n }\n /** `[Json]` Creates a Ref type. */\n Ref(unresolved, options = {}) {\n if (ValueGuard.IsString(unresolved))\n return this.Create({ ...options, [exports.Kind]: 'Ref', $ref: unresolved });\n if (ValueGuard.IsUndefined(unresolved.$id))\n this.Throw('Reference target type must specify an $id');\n return this.Create({ ...options, [exports.Kind]: 'Ref', $ref: unresolved.$id });\n }\n /** `[Json]` Constructs a type where all properties are required */\n Required(schema, options = {}) {\n // prettier-ignore\n return ObjectMap.Map(this.Discard(TypeClone.Type(schema), ['$id', exports.Transform]), (object) => {\n const properties = Object.getOwnPropertyNames(object.properties).reduce((acc, key) => {\n return { ...acc, [key]: this.Discard(object.properties[key], [exports.Optional]) };\n }, {});\n return this.Object(properties, object /* object used as options to retain other constraints */);\n }, options);\n }\n /** `[Json]` Extracts interior Rest elements from Tuple, Intersect and Union types */\n Rest(schema) {\n return (TypeGuard.TTuple(schema) && !ValueGuard.IsUndefined(schema.items) ? TypeClone.Rest(schema.items) : TypeGuard.TIntersect(schema) ? TypeClone.Rest(schema.allOf) : TypeGuard.TUnion(schema) ? TypeClone.Rest(schema.anyOf) : []);\n }\n /** `[Json]` Creates a String type */\n String(options = {}) {\n return this.Create({ ...options, [exports.Kind]: 'String', type: 'string' });\n }\n /** `[Json]` Creates a TemplateLiteral type */\n TemplateLiteral(unresolved, options = {}) {\n // prettier-ignore\n const pattern = ValueGuard.IsString(unresolved)\n ? TemplateLiteralPattern.Create(TemplateLiteralDslParser.Parse(unresolved))\n : TemplateLiteralPattern.Create(unresolved);\n return this.Create({ ...options, [exports.Kind]: 'TemplateLiteral', type: 'string', pattern });\n }\n /** `[Json]` Creates a Transform type */\n Transform(schema) {\n return new TransformDecodeBuilder(schema);\n }\n /** `[Json]` Creates a Tuple type */\n Tuple(items, options = {}) {\n const [additionalItems, minItems, maxItems] = [false, items.length, items.length];\n const clonedItems = TypeClone.Rest(items);\n // prettier-ignore\n const schema = (items.length > 0 ?\n { ...options, [exports.Kind]: 'Tuple', type: 'array', items: clonedItems, additionalItems, minItems, maxItems } :\n { ...options, [exports.Kind]: 'Tuple', type: 'array', minItems, maxItems });\n return this.Create(schema);\n }\n /** `[Json]` Intrinsic function to Uncapitalize LiteralString types */\n Uncapitalize(schema, options = {}) {\n return { ...Intrinsic.Map(TypeClone.Type(schema), 'Uncapitalize'), ...options };\n }\n /** `[Json]` Creates a Union type */\n Union(union, options = {}) {\n // prettier-ignore\n return TypeGuard.TTemplateLiteral(union)\n ? TemplateLiteralResolver.Resolve(union)\n : (() => {\n const anyOf = union;\n if (anyOf.length === 0)\n return this.Never(options);\n if (anyOf.length === 1)\n return this.Create(TypeClone.Type(anyOf[0], options));\n const clonedAnyOf = TypeClone.Rest(anyOf);\n return this.Create({ ...options, [exports.Kind]: 'Union', anyOf: clonedAnyOf });\n })();\n }\n /** `[Json]` Creates an Unknown type */\n Unknown(options = {}) {\n return this.Create({ ...options, [exports.Kind]: 'Unknown' });\n }\n /** `[Json]` Creates a Unsafe type that will infers as the generic argument T */\n Unsafe(options = {}) {\n return this.Create({ ...options, [exports.Kind]: options[exports.Kind] || 'Unsafe' });\n }\n /** `[Json]` Intrinsic function to Uppercase LiteralString types */\n Uppercase(schema, options = {}) {\n return { ...Intrinsic.Map(TypeClone.Type(schema), 'Uppercase'), ...options };\n }\n}\nexports.JsonTypeBuilder = JsonTypeBuilder;\n// --------------------------------------------------------------------------\n// JavaScriptTypeBuilder\n// --------------------------------------------------------------------------\nclass JavaScriptTypeBuilder extends JsonTypeBuilder {\n /** `[JavaScript]` Creates a AsyncIterator type */\n AsyncIterator(items, options = {}) {\n return this.Create({ ...options, [exports.Kind]: 'AsyncIterator', type: 'AsyncIterator', items: TypeClone.Type(items) });\n }\n /** `[JavaScript]` Constructs a type by recursively unwrapping Promise types */\n Awaited(schema, options = {}) {\n // prettier-ignore\n const Unwrap = (rest) => rest.length > 0 ? (() => {\n const [L, ...R] = rest;\n return [this.Awaited(L), ...Unwrap(R)];\n })() : rest;\n // prettier-ignore\n return (TypeGuard.TIntersect(schema) ? exports.Type.Intersect(Unwrap(schema.allOf)) :\n TypeGuard.TUnion(schema) ? exports.Type.Union(Unwrap(schema.anyOf)) :\n TypeGuard.TPromise(schema) ? this.Awaited(schema.item) :\n TypeClone.Type(schema, options));\n }\n /** `[JavaScript]` Creates a BigInt type */\n BigInt(options = {}) {\n return this.Create({ ...options, [exports.Kind]: 'BigInt', type: 'bigint' });\n }\n /** `[JavaScript]` Extracts the ConstructorParameters from the given Constructor type */\n ConstructorParameters(schema, options = {}) {\n return this.Tuple([...schema.parameters], { ...options });\n }\n /** `[JavaScript]` Creates a Constructor type */\n Constructor(parameters, returns, options) {\n const [clonedParameters, clonedReturns] = [TypeClone.Rest(parameters), TypeClone.Type(returns)];\n return this.Create({ ...options, [exports.Kind]: 'Constructor', type: 'Constructor', parameters: clonedParameters, returns: clonedReturns });\n }\n /** `[JavaScript]` Creates a Date type */\n Date(options = {}) {\n return this.Create({ ...options, [exports.Kind]: 'Date', type: 'Date' });\n }\n /** `[JavaScript]` Creates a Function type */\n Function(parameters, returns, options) {\n const [clonedParameters, clonedReturns] = [TypeClone.Rest(parameters), TypeClone.Type(returns)];\n return this.Create({ ...options, [exports.Kind]: 'Function', type: 'Function', parameters: clonedParameters, returns: clonedReturns });\n }\n /** `[JavaScript]` Extracts the InstanceType from the given Constructor type */\n InstanceType(schema, options = {}) {\n return TypeClone.Type(schema.returns, options);\n }\n /** `[JavaScript]` Creates an Iterator type */\n Iterator(items, options = {}) {\n return this.Create({ ...options, [exports.Kind]: 'Iterator', type: 'Iterator', items: TypeClone.Type(items) });\n }\n /** `[JavaScript]` Extracts the Parameters from the given Function type */\n Parameters(schema, options = {}) {\n return this.Tuple(schema.parameters, { ...options });\n }\n /** `[JavaScript]` Creates a Promise type */\n Promise(item, options = {}) {\n return this.Create({ ...options, [exports.Kind]: 'Promise', type: 'Promise', item: TypeClone.Type(item) });\n }\n /** `[Extended]` Creates a String type */\n RegExp(unresolved, options = {}) {\n const pattern = ValueGuard.IsString(unresolved) ? unresolved : unresolved.source;\n return this.Create({ ...options, [exports.Kind]: 'String', type: 'string', pattern });\n }\n /**\n * @deprecated Use `Type.RegExp`\n */\n RegEx(regex, options = {}) {\n return this.RegExp(regex, options);\n }\n /** `[JavaScript]` Extracts the ReturnType from the given Function type */\n ReturnType(schema, options = {}) {\n return TypeClone.Type(schema.returns, options);\n }\n /** `[JavaScript]` Creates a Symbol type */\n Symbol(options) {\n return this.Create({ ...options, [exports.Kind]: 'Symbol', type: 'symbol' });\n }\n /** `[JavaScript]` Creates a Undefined type */\n Undefined(options = {}) {\n return this.Create({ ...options, [exports.Kind]: 'Undefined', type: 'undefined' });\n }\n /** `[JavaScript]` Creates a Uint8Array type */\n Uint8Array(options = {}) {\n return this.Create({ ...options, [exports.Kind]: 'Uint8Array', type: 'Uint8Array' });\n }\n /** `[JavaScript]` Creates a Void type */\n Void(options = {}) {\n return this.Create({ ...options, [exports.Kind]: 'Void', type: 'void' });\n }\n}\nexports.JavaScriptTypeBuilder = JavaScriptTypeBuilder;\n/** Json Type Builder with Static Resolution for TypeScript */\nexports.JsonType = new JsonTypeBuilder();\n/** JavaScript Type Builder with Static Resolution for TypeScript */\nexports.Type = new JavaScriptTypeBuilder();\n", "\"use strict\";\n/*--------------------------------------------------------------------------\n\n@sinclair/typebox/value\n\nThe MIT License (MIT)\n\nCopyright (c) 2017-2023 Haydn Paterson (sinclair) <haydn.developer@gmail.com>\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n\n---------------------------------------------------------------------------*/\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IsValueType = exports.IsSymbol = exports.IsFunction = exports.IsString = exports.IsBigInt = exports.IsInteger = exports.IsNumber = exports.IsBoolean = exports.IsNull = exports.IsUndefined = exports.IsArray = exports.IsObject = exports.IsPlainObject = exports.HasPropertyKey = exports.IsDate = exports.IsUint8Array = exports.IsPromise = exports.IsTypedArray = exports.IsIterator = exports.IsAsyncIterator = void 0;\n// --------------------------------------------------------------------------\n// Iterators\n// --------------------------------------------------------------------------\n/** Returns true if this value is an async iterator */\nfunction IsAsyncIterator(value) {\n return IsObject(value) && Symbol.asyncIterator in value;\n}\nexports.IsAsyncIterator = IsAsyncIterator;\n/** Returns true if this value is an iterator */\nfunction IsIterator(value) {\n return IsObject(value) && Symbol.iterator in value;\n}\nexports.IsIterator = IsIterator;\n// --------------------------------------------------------------------------\n// Nominal\n// --------------------------------------------------------------------------\n/** Returns true if this value is a typed array */\nfunction IsTypedArray(value) {\n return ArrayBuffer.isView(value);\n}\nexports.IsTypedArray = IsTypedArray;\n/** Returns true if this value is a Promise */\nfunction IsPromise(value) {\n return value instanceof Promise;\n}\nexports.IsPromise = IsPromise;\n/** Returns true if the value is a Uint8Array */\nfunction IsUint8Array(value) {\n return value instanceof Uint8Array;\n}\nexports.IsUint8Array = IsUint8Array;\n/** Returns true if this value is a Date */\nfunction IsDate(value) {\n return value instanceof Date && Number.isFinite(value.getTime());\n}\nexports.IsDate = IsDate;\n// --------------------------------------------------------------------------\n// Standard\n// --------------------------------------------------------------------------\n/** Returns true if this value has this property key */\nfunction HasPropertyKey(value, key) {\n return key in value;\n}\nexports.HasPropertyKey = HasPropertyKey;\n/** Returns true if this object is not an instance of any other type */\nfunction IsPlainObject(value) {\n return IsObject(value) && IsFunction(value.constructor) && value.constructor.name === 'Object';\n}\nexports.IsPlainObject = IsPlainObject;\n/** Returns true of this value is an object type */\nfunction IsObject(value) {\n return value !== null && typeof value === 'object';\n}\nexports.IsObject = IsObject;\n/** Returns true if this value is an array, but not a typed array */\nfunction IsArray(value) {\n return Array.isArray(value) && !ArrayBuffer.isView(value);\n}\nexports.IsArray = IsArray;\n/** Returns true if this value is an undefined */\nfunction IsUndefined(value) {\n return value === undefined;\n}\nexports.IsUndefined = IsUndefined;\n/** Returns true if this value is an null */\nfunction IsNull(value) {\n return value === null;\n}\nexports.IsNull = IsNull;\n/** Returns true if this value is an boolean */\nfunction IsBoolean(value) {\n return typeof value === 'boolean';\n}\nexports.IsBoolean = IsBoolean;\n/** Returns true if this value is an number */\nfunction IsNumber(value) {\n return typeof value === 'number';\n}\nexports.IsNumber = IsNumber;\n/** Returns true if this value is an integer */\nfunction IsInteger(value) {\n return IsNumber(value) && Number.isInteger(value);\n}\nexports.IsInteger = IsInteger;\n/** Returns true if this value is bigint */\nfunction IsBigInt(value) {\n return typeof value === 'bigint';\n}\nexports.IsBigInt = IsBigInt;\n/** Returns true if this value is string */\nfunction IsString(value) {\n return typeof value === 'string';\n}\nexports.IsString = IsString;\n/** Returns true if this value is a function */\nfunction IsFunction(value) {\n return typeof value === 'function';\n}\nexports.IsFunction = IsFunction;\n/** Returns true if this value is a symbol */\nfunction IsSymbol(value) {\n return typeof value === 'symbol';\n}\nexports.IsSymbol = IsSymbol;\n/** Returns true if this value is a value type such as number, string, boolean */\nfunction IsValueType(value) {\n // prettier-ignore\n return (IsBigInt(value) ||\n IsBoolean(value) ||\n IsNull(value) ||\n IsNumber(value) ||\n IsString(value) ||\n IsSymbol(value) ||\n IsUndefined(value));\n}\nexports.IsValueType = IsValueType;\n", "\"use strict\";\n/*--------------------------------------------------------------------------\n\n@sinclair/typebox/system\n\nThe MIT License (MIT)\n\nCopyright (c) 2017-2023 Haydn Paterson (sinclair) <haydn.developer@gmail.com>\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n\n---------------------------------------------------------------------------*/\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DefaultErrorFunction = exports.TypeSystemPolicy = exports.TypeSystemErrorFunction = exports.TypeSystem = exports.TypeSystemDuplicateFormat = exports.TypeSystemDuplicateTypeKind = void 0;\nconst guard_1 = require(\"../value/guard\");\nconst errors_1 = require(\"../errors/errors\");\nconst Types = require(\"../typebox\");\n// --------------------------------------------------------------------------\n// Errors\n// --------------------------------------------------------------------------\nclass TypeSystemDuplicateTypeKind extends Types.TypeBoxError {\n constructor(kind) {\n super(`Duplicate type kind '${kind}' detected`);\n }\n}\nexports.TypeSystemDuplicateTypeKind = TypeSystemDuplicateTypeKind;\nclass TypeSystemDuplicateFormat extends Types.TypeBoxError {\n constructor(kind) {\n super(`Duplicate string format '${kind}' detected`);\n }\n}\nexports.TypeSystemDuplicateFormat = TypeSystemDuplicateFormat;\n// -------------------------------------------------------------------------------------------\n// TypeSystem\n// -------------------------------------------------------------------------------------------\n/** Creates user defined types and formats and provides overrides for value checking behaviours */\nvar TypeSystem;\n(function (TypeSystem) {\n /** Creates a new type */\n function Type(kind, check) {\n if (Types.TypeRegistry.Has(kind))\n throw new TypeSystemDuplicateTypeKind(kind);\n Types.TypeRegistry.Set(kind, check);\n return (options = {}) => Types.Type.Unsafe({ ...options, [Types.Kind]: kind });\n }\n TypeSystem.Type = Type;\n /** Creates a new string format */\n function Format(format, check) {\n if (Types.FormatRegistry.Has(format))\n throw new TypeSystemDuplicateFormat(format);\n Types.FormatRegistry.Set(format, check);\n return format;\n }\n TypeSystem.Format = Format;\n})(TypeSystem || (exports.TypeSystem = TypeSystem = {}));\n// --------------------------------------------------------------------------\n// TypeSystemErrorFunction\n// --------------------------------------------------------------------------\n/** Manages error message providers */\nvar TypeSystemErrorFunction;\n(function (TypeSystemErrorFunction) {\n let errorMessageFunction = DefaultErrorFunction;\n /** Resets the error message function to en-us */\n function Reset() {\n errorMessageFunction = DefaultErrorFunction;\n }\n TypeSystemErrorFunction.Reset = Reset;\n /** Sets the error message function used to generate error messages */\n function Set(callback) {\n errorMessageFunction = callback;\n }\n TypeSystemErrorFunction.Set = Set;\n /** Gets the error message function */\n function Get() {\n return errorMessageFunction;\n }\n TypeSystemErrorFunction.Get = Get;\n})(TypeSystemErrorFunction || (exports.TypeSystemErrorFunction = TypeSystemErrorFunction = {}));\n// --------------------------------------------------------------------------\n// TypeSystemPolicy\n// --------------------------------------------------------------------------\n/** Shared assertion routines used by the value and errors modules */\nvar TypeSystemPolicy;\n(function (TypeSystemPolicy) {\n /** Sets whether TypeBox should assert optional properties using the TypeScript `exactOptionalPropertyTypes` assertion policy. The default is `false` */\n TypeSystemPolicy.ExactOptionalPropertyTypes = false;\n /** Sets whether arrays should be treated as a kind of objects. The default is `false` */\n TypeSystemPolicy.AllowArrayObject = false;\n /** Sets whether `NaN` or `Infinity` should be treated as valid numeric values. The default is `false` */\n TypeSystemPolicy.AllowNaN = false;\n /** Sets whether `null` should validate for void types. The default is `false` */\n TypeSystemPolicy.AllowNullVoid = false;\n /** Asserts this value using the ExactOptionalPropertyTypes policy */\n function IsExactOptionalProperty(value, key) {\n return TypeSystemPolicy.ExactOptionalPropertyTypes ? key in value : value[key] !== undefined;\n }\n TypeSystemPolicy.IsExactOptionalProperty = IsExactOptionalProperty;\n /** Asserts this value using the AllowArrayObjects policy */\n function IsObjectLike(value) {\n const isObject = (0, guard_1.IsObject)(value);\n return TypeSystemPolicy.AllowArrayObject ? isObject : isObject && !(0, guard_1.IsArray)(value);\n }\n TypeSystemPolicy.IsObjectLike = IsObjectLike;\n /** Asserts this value as a record using the AllowArrayObjects policy */\n function IsRecordLike(value) {\n return IsObjectLike(value) && !(value instanceof Date) && !(value instanceof Uint8Array);\n }\n TypeSystemPolicy.IsRecordLike = IsRecordLike;\n /** Asserts this value using the AllowNaN policy */\n function IsNumberLike(value) {\n const isNumber = (0, guard_1.IsNumber)(value);\n return TypeSystemPolicy.AllowNaN ? isNumber : isNumber && Number.isFinite(value);\n }\n TypeSystemPolicy.IsNumberLike = IsNumberLike;\n /** Asserts this value using the AllowVoidNull policy */\n function IsVoidLike(value) {\n const isUndefined = (0, guard_1.IsUndefined)(value);\n return TypeSystemPolicy.AllowNullVoid ? isUndefined || value === null : isUndefined;\n }\n TypeSystemPolicy.IsVoidLike = IsVoidLike;\n})(TypeSystemPolicy || (exports.TypeSystemPolicy = TypeSystemPolicy = {}));\n// --------------------------------------------------------------------------\n// DefaultErrorFunction\n// --------------------------------------------------------------------------\n/** Creates an error message using en-US as the default locale */\nfunction DefaultErrorFunction(schema, errorType) {\n switch (errorType) {\n case errors_1.ValueErrorType.ArrayContains:\n return 'Expected array to contain at least one matching value';\n case errors_1.ValueErrorType.ArrayMaxContains:\n return `Expected array to contain no more than ${schema.maxContains} matching values`;\n case errors_1.ValueErrorType.ArrayMinContains:\n return `Expected array to contain at least ${schema.minContains} matching values`;\n case errors_1.ValueErrorType.ArrayMaxItems:\n return `Expected array length to be less or equal to ${schema.maxItems}`;\n case errors_1.ValueErrorType.ArrayMinItems:\n return `Expected array length to be greater or equal to ${schema.minItems}`;\n case errors_1.ValueErrorType.ArrayUniqueItems:\n return 'Expected array elements to be unique';\n case errors_1.ValueErrorType.Array:\n return 'Expected array';\n case errors_1.ValueErrorType.AsyncIterator:\n return 'Expected AsyncIterator';\n case errors_1.ValueErrorType.BigIntExclusiveMaximum:\n return `Expected bigint to be less than ${schema.exclusiveMaximum}`;\n case errors_1.ValueErrorType.BigIntExclusiveMinimum:\n return `Expected bigint to be greater than ${schema.exclusiveMinimum}`;\n case errors_1.ValueErrorType.BigIntMaximum:\n return `Expected bigint to be less or equal to ${schema.maximum}`;\n case errors_1.ValueErrorType.BigIntMinimum:\n return `Expected bigint to be greater or equal to ${schema.minimum}`;\n case errors_1.ValueErrorType.BigIntMultipleOf:\n return `Expected bigint to be a multiple of ${schema.multipleOf}`;\n case errors_1.ValueErrorType.BigInt:\n return 'Expected bigint';\n case errors_1.ValueErrorType.Boolean:\n return 'Expected boolean';\n case errors_1.ValueErrorType.DateExclusiveMinimumTimestamp:\n return `Expected Date timestamp to be greater than ${schema.exclusiveMinimumTimestamp}`;\n case errors_1.ValueErrorType.DateExclusiveMaximumTimestamp:\n return `Expected Date timestamp to be less than ${schema.exclusiveMaximumTimestamp}`;\n case errors_1.ValueErrorType.DateMinimumTimestamp:\n return `Expected Date timestamp to be greater or equal to ${schema.minimumTimestamp}`;\n case errors_1.ValueErrorType.DateMaximumTimestamp:\n return `Expected Date timestamp to be less or equal to ${schema.maximumTimestamp}`;\n case errors_1.ValueErrorType.DateMultipleOfTimestamp:\n return `Expected Date timestamp to be a multiple of ${schema.multipleOfTimestamp}`;\n case errors_1.ValueErrorType.Date:\n return 'Expected Date';\n case errors_1.ValueErrorType.Function:\n return 'Expected function';\n case errors_1.ValueErrorType.IntegerExclusiveMaximum:\n return `Expected integer to be less than ${schema.exclusiveMaximum}`;\n case errors_1.ValueErrorType.IntegerExclusiveMinimum:\n return `Expected integer to be greater than ${schema.exclusiveMinimum}`;\n case errors_1.ValueErrorType.IntegerMaximum:\n return `Expected integer to be less or equal to ${schema.maximum}`;\n case errors_1.ValueErrorType.IntegerMinimum:\n return `Expected integer to be greater or equal to ${schema.minimum}`;\n case errors_1.ValueErrorType.IntegerMultipleOf:\n return `Expected integer to be a multiple of ${schema.multipleOf}`;\n case errors_1.ValueErrorType.Integer:\n return 'Expected integer';\n case errors_1.ValueErrorType.IntersectUnevaluatedProperties:\n return 'Unexpected property';\n case errors_1.ValueErrorType.Intersect:\n return 'Expected all values to match';\n case errors_1.ValueErrorType.Iterator:\n return 'Expected Iterator';\n case errors_1.ValueErrorType.Literal:\n return `Expected ${typeof schema.const === 'string' ? `'${schema.const}'` : schema.const}`;\n case errors_1.ValueErrorType.Never:\n return 'Never';\n case errors_1.ValueErrorType.Not:\n return 'Value should not match';\n case errors_1.ValueErrorType.Null:\n return 'Expected null';\n case errors_1.ValueErrorType.NumberExclusiveMaximum:\n return `Expected number to be less than ${schema.exclusiveMaximum}`;\n case errors_1.ValueErrorType.NumberExclusiveMinimum:\n return `Expected number to be greater than ${schema.exclusiveMinimum}`;\n case errors_1.ValueErrorType.NumberMaximum:\n return `Expected number to be less or equal to ${schema.maximum}`;\n case errors_1.ValueErrorType.NumberMinimum:\n return `Expected number to be greater or equal to ${schema.minimum}`;\n case errors_1.ValueErrorType.NumberMultipleOf:\n return `Expected number to be a multiple of ${schema.multipleOf}`;\n case errors_1.ValueErrorType.Number:\n return 'Expected number';\n case errors_1.ValueErrorType.Object:\n return 'Expected object';\n case errors_1.ValueErrorType.ObjectAdditionalProperties:\n return 'Unexpected property';\n case errors_1.ValueErrorType.ObjectMaxProperties:\n return `Expected object to have no more than ${schema.maxProperties} properties`;\n case errors_1.ValueErrorType.ObjectMinProperties:\n return `Expected object to have at least ${schema.minProperties} properties`;\n case errors_1.ValueErrorType.ObjectRequiredProperty:\n return 'Required property';\n case errors_1.ValueErrorType.Promise:\n return 'Expected Promise';\n case errors_1.ValueErrorType.StringFormatUnknown:\n return `Unknown format '${schema.format}'`;\n case errors_1.ValueErrorType.StringFormat:\n return `Expected string to match '${schema.format}' format`;\n case errors_1.ValueErrorType.StringMaxLength:\n return `Expected string length less or equal to ${schema.maxLength}`;\n case errors_1.ValueErrorType.StringMinLength:\n return `Expected string length greater or equal to ${schema.minLength}`;\n case errors_1.ValueErrorType.StringPattern:\n return `Expected string to match '${schema.pattern}'`;\n case errors_1.ValueErrorType.String:\n return 'Expected string';\n case errors_1.ValueErrorType.Symbol:\n return 'Expected symbol';\n case errors_1.ValueErrorType.TupleLength:\n return `Expected tuple to have ${schema.maxItems || 0} elements`;\n case errors_1.ValueErrorType.Tuple:\n return 'Expected tuple';\n case errors_1.ValueErrorType.Uint8ArrayMaxByteLength:\n return `Expected byte length less or equal to ${schema.maxByteLength}`;\n case errors_1.ValueErrorType.Uint8ArrayMinByteLength:\n return `Expected byte length greater or equal to ${schema.minByteLength}`;\n case errors_1.ValueErrorType.Uint8Array:\n return 'Expected Uint8Array';\n case errors_1.ValueErrorType.Undefined:\n return 'Expected undefined';\n case errors_1.ValueErrorType.Union:\n return 'Expected union value';\n case errors_1.ValueErrorType.Void:\n return 'Expected void';\n case errors_1.ValueErrorType.Kind:\n return `Expected kind '${schema[Types.Kind]}'`;\n default:\n return 'Unknown error type';\n }\n}\nexports.DefaultErrorFunction = DefaultErrorFunction;\n", "\"use strict\";\n/*--------------------------------------------------------------------------\n\n@sinclair/typebox/value\n\nThe MIT License (MIT)\n\nCopyright (c) 2017-2023 Haydn Paterson (sinclair) <haydn.developer@gmail.com>\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n\n---------------------------------------------------------------------------*/\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Deref = exports.TypeDereferenceError = void 0;\nconst typebox_1 = require(\"../typebox\");\nclass TypeDereferenceError extends typebox_1.TypeBoxError {\n constructor(schema) {\n super(`Unable to dereference schema with $id '${schema.$id}'`);\n this.schema = schema;\n }\n}\nexports.TypeDereferenceError = TypeDereferenceError;\n/** Dereferences a schema from the references array or throws if not found */\nfunction Deref(schema, references) {\n const index = references.findIndex((target) => target.$id === schema.$ref);\n if (index === -1)\n throw new TypeDereferenceError(schema);\n return references[index];\n}\nexports.Deref = Deref;\n", "\"use strict\";\n/*--------------------------------------------------------------------------\n\n@sinclair/typebox/value\n\nThe MIT License (MIT)\n\nCopyright (c) 2017-2023 Haydn Paterson (sinclair) <haydn.developer@gmail.com>\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n\n---------------------------------------------------------------------------*/\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Hash = exports.ByteMarker = exports.ValueHashError = void 0;\nconst guard_1 = require(\"./guard\");\n// --------------------------------------------------------------------------\n// Errors\n// --------------------------------------------------------------------------\nclass ValueHashError extends Error {\n constructor(value) {\n super(`Unable to hash value`);\n this.value = value;\n }\n}\nexports.ValueHashError = ValueHashError;\n// --------------------------------------------------------------------------\n// ByteMarker\n// --------------------------------------------------------------------------\nvar ByteMarker;\n(function (ByteMarker) {\n ByteMarker[ByteMarker[\"Undefined\"] = 0] = \"Undefined\";\n ByteMarker[ByteMarker[\"Null\"] = 1] = \"Null\";\n ByteMarker[ByteMarker[\"Boolean\"] = 2] = \"Boolean\";\n ByteMarker[ByteMarker[\"Number\"] = 3] = \"Number\";\n ByteMarker[ByteMarker[\"String\"] = 4] = \"String\";\n ByteMarker[ByteMarker[\"Object\"] = 5] = \"Object\";\n ByteMarker[ByteMarker[\"Array\"] = 6] = \"Array\";\n ByteMarker[ByteMarker[\"Date\"] = 7] = \"Date\";\n ByteMarker[ByteMarker[\"Uint8Array\"] = 8] = \"Uint8Array\";\n ByteMarker[ByteMarker[\"Symbol\"] = 9] = \"Symbol\";\n ByteMarker[ByteMarker[\"BigInt\"] = 10] = \"BigInt\";\n})(ByteMarker || (exports.ByteMarker = ByteMarker = {}));\n// --------------------------------------------------------------------------\n// State\n// --------------------------------------------------------------------------\nlet Accumulator = BigInt('14695981039346656037');\nconst [Prime, Size] = [BigInt('1099511628211'), BigInt('2') ** BigInt('64')];\nconst Bytes = Array.from({ length: 256 }).map((_, i) => BigInt(i));\nconst F64 = new Float64Array(1);\nconst F64In = new DataView(F64.buffer);\nconst F64Out = new Uint8Array(F64.buffer);\n// --------------------------------------------------------------------------\n// NumberToBytes\n// --------------------------------------------------------------------------\nfunction* NumberToBytes(value) {\n const byteCount = value === 0 ? 1 : Math.ceil(Math.floor(Math.log2(value) + 1) / 8);\n for (let i = 0; i < byteCount; i++) {\n yield (value >> (8 * (byteCount - 1 - i))) & 0xff;\n }\n}\n// --------------------------------------------------------------------------\n// Hashing Functions\n// --------------------------------------------------------------------------\nfunction ArrayType(value) {\n FNV1A64(ByteMarker.Array);\n for (const item of value) {\n Visit(item);\n }\n}\nfunction BooleanType(value) {\n FNV1A64(ByteMarker.Boolean);\n FNV1A64(value ? 1 : 0);\n}\nfunction BigIntType(value) {\n FNV1A64(ByteMarker.BigInt);\n F64In.setBigInt64(0, value);\n for (const byte of F64Out) {\n FNV1A64(byte);\n }\n}\nfunction DateType(value) {\n FNV1A64(ByteMarker.Date);\n Visit(value.getTime());\n}\nfunction NullType(value) {\n FNV1A64(ByteMarker.Null);\n}\nfunction NumberType(value) {\n FNV1A64(ByteMarker.Number);\n F64In.setFloat64(0, value);\n for (const byte of F64Out) {\n FNV1A64(byte);\n }\n}\nfunction ObjectType(value) {\n FNV1A64(ByteMarker.Object);\n for (const key of globalThis.Object.keys(value).sort()) {\n Visit(key);\n Visit(value[key]);\n }\n}\nfunction StringType(value) {\n FNV1A64(ByteMarker.String);\n for (let i = 0; i < value.length; i++) {\n for (const byte of NumberToBytes(value.charCodeAt(i))) {\n FNV1A64(byte);\n }\n }\n}\nfunction SymbolType(value) {\n FNV1A64(ByteMarker.Symbol);\n Visit(value.description);\n}\nfunction Uint8ArrayType(value) {\n FNV1A64(ByteMarker.Uint8Array);\n for (let i = 0; i < value.length; i++) {\n FNV1A64(value[i]);\n }\n}\nfunction UndefinedType(value) {\n return FNV1A64(ByteMarker.Undefined);\n}\nfunction Visit(value) {\n if ((0, guard_1.IsArray)(value))\n return ArrayType(value);\n if ((0, guard_1.IsBoolean)(value))\n return BooleanType(value);\n if ((0, guard_1.IsBigInt)(value))\n return BigIntType(value);\n if ((0, guard_1.IsDate)(value))\n return DateType(value);\n if ((0, guard_1.IsNull)(value))\n return NullType(value);\n if ((0, guard_1.IsNumber)(value))\n return NumberType(value);\n if ((0, guard_1.IsPlainObject)(value))\n return ObjectType(value);\n if ((0, guard_1.IsString)(value))\n return StringType(value);\n if ((0, guard_1.IsSymbol)(value))\n return SymbolType(value);\n if ((0, guard_1.IsUint8Array)(value))\n return Uint8ArrayType(value);\n if ((0, guard_1.IsUndefined)(value))\n return UndefinedType(value);\n throw new ValueHashError(value);\n}\nfunction FNV1A64(byte) {\n Accumulator = Accumulator ^ Bytes[byte];\n Accumulator = (Accumulator * Prime) % Size;\n}\n// --------------------------------------------------------------------------\n// Hash\n// --------------------------------------------------------------------------\n/** Creates a FNV1A-64 non cryptographic hash of the given value */\nfunction Hash(value) {\n Accumulator = BigInt('14695981039346656037');\n Visit(value);\n return Accumulator;\n}\nexports.Hash = Hash;\n", "\"use strict\";\n/*--------------------------------------------------------------------------\n\n@sinclair/typebox/errors\n\nThe MIT License (MIT)\n\nCopyright (c) 2017-2023 Haydn Paterson (sinclair) <haydn.developer@gmail.com>\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n\n---------------------------------------------------------------------------*/\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Errors = exports.ValueErrorIterator = exports.EscapeKey = exports.ValueErrorsUnknownTypeError = exports.ValueErrorType = void 0;\nconst guard_1 = require(\"../value/guard\");\nconst system_1 = require(\"../system/system\");\nconst deref_1 = require(\"../value/deref\");\nconst hash_1 = require(\"../value/hash\");\nconst Types = require(\"../typebox\");\n// --------------------------------------------------------------------------\n// ValueErrorType\n// --------------------------------------------------------------------------\nvar ValueErrorType;\n(function (ValueErrorType) {\n ValueErrorType[ValueErrorType[\"ArrayContains\"] = 0] = \"ArrayContains\";\n ValueErrorType[ValueErrorType[\"ArrayMaxContains\"] = 1] = \"ArrayMaxContains\";\n ValueErrorType[ValueErrorType[\"ArrayMaxItems\"] = 2] = \"ArrayMaxItems\";\n ValueErrorType[ValueErrorType[\"ArrayMinContains\"] = 3] = \"ArrayMinContains\";\n ValueErrorType[ValueErrorType[\"ArrayMinItems\"] = 4] = \"ArrayMinItems\";\n ValueErrorType[ValueErrorType[\"ArrayUniqueItems\"] = 5] = \"ArrayUniqueItems\";\n ValueErrorType[ValueErrorType[\"Array\"] = 6] = \"Array\";\n ValueErrorType[ValueErrorType[\"AsyncIterator\"] = 7] = \"AsyncIterator\";\n ValueErrorType[ValueErrorType[\"BigIntExclusiveMaximum\"] = 8] = \"BigIntExclusiveMaximum\";\n ValueErrorType[ValueErrorType[\"BigIntExclusiveMinimum\"] = 9] = \"BigIntExclusiveMinimum\";\n ValueErrorType[ValueErrorType[\"BigIntMaximum\"] = 10] = \"BigIntMaximum\";\n ValueErrorType[ValueErrorType[\"BigIntMinimum\"] = 11] = \"BigIntMinimum\";\n ValueErrorType[ValueErrorType[\"BigIntMultipleOf\"] = 12] = \"BigIntMultipleOf\";\n ValueErrorType[ValueErrorType[\"BigInt\"] = 13] = \"BigInt\";\n ValueErrorType[ValueErrorType[\"Boolean\"] = 14] = \"Boolean\";\n ValueErrorType[ValueErrorType[\"DateExclusiveMaximumTimestamp\"] = 15] = \"DateExclusiveMaximumTimestamp\";\n ValueErrorType[ValueErrorType[\"DateExclusiveMinimumTimestamp\"] = 16] = \"DateExclusiveMinimumTimestamp\";\n ValueErrorType[ValueErrorType[\"DateMaximumTimestamp\"] = 17] = \"DateMaximumTimestamp\";\n ValueErrorType[ValueErrorType[\"DateMinimumTimestamp\"] = 18] = \"DateMinimumTimestamp\";\n ValueErrorType[ValueErrorType[\"DateMultipleOfTimestamp\"] = 19] = \"DateMultipleOfTimestamp\";\n ValueErrorType[ValueErrorType[\"Date\"] = 20] = \"Date\";\n ValueErrorType[ValueErrorType[\"Function\"] = 21] = \"Function\";\n ValueErrorType[ValueErrorType[\"IntegerExclusiveMaximum\"] = 22] = \"IntegerExclusiveMaximum\";\n ValueErrorType[ValueErrorType[\"IntegerExclusiveMinimum\"] = 23] = \"IntegerExclusiveMinimum\";\n ValueErrorType[ValueErrorType[\"IntegerMaximum\"] = 24] = \"IntegerMaximum\";\n ValueErrorType[ValueErrorType[\"IntegerMinimum\"] = 25] = \"IntegerMinimum\";\n ValueErrorType[ValueErrorType[\"IntegerMultipleOf\"] = 26] = \"IntegerMultipleOf\";\n ValueErrorType[ValueErrorType[\"Integer\"] = 27] = \"Integer\";\n ValueErrorType[ValueErrorType[\"IntersectUnevaluatedProperties\"] = 28] = \"IntersectUnevaluatedProperties\";\n ValueErrorType[ValueErrorType[\"Intersect\"] = 29] = \"Intersect\";\n ValueErrorType[ValueErrorType[\"Iterator\"] = 30] = \"Iterator\";\n ValueErrorType[ValueErrorType[\"Kind\"] = 31] = \"Kind\";\n ValueErrorType[ValueErrorType[\"Literal\"] = 32] = \"Literal\";\n ValueErrorType[ValueErrorType[\"Never\"] = 33] = \"Never\";\n ValueErrorType[ValueErrorType[\"Not\"] = 34] = \"Not\";\n ValueErrorType[ValueErrorType[\"Null\"] = 35] = \"Null\";\n ValueErrorType[ValueErrorType[\"NumberExclusiveMaximum\"] = 36] = \"NumberExclusiveMaximum\";\n ValueErrorType[ValueErrorType[\"NumberExclusiveMinimum\"] = 37] = \"NumberExclusiveMinimum\";\n ValueErrorType[ValueErrorType[\"NumberMaximum\"] = 38] = \"NumberMaximum\";\n ValueErrorType[ValueErrorType[\"NumberMinimum\"] = 39] = \"NumberMinimum\";\n ValueErrorType[ValueErrorType[\"NumberMultipleOf\"] = 40] = \"NumberMultipleOf\";\n ValueErrorType[ValueErrorType[\"Number\"] = 41] = \"Number\";\n ValueErrorType[ValueErrorType[\"ObjectAdditionalProperties\"] = 42] = \"ObjectAdditionalProperties\";\n ValueErrorType[ValueErrorType[\"ObjectMaxProperties\"] = 43] = \"ObjectMaxProperties\";\n ValueErrorType[ValueErrorType[\"ObjectMinProperties\"] = 44] = \"ObjectMinProperties\";\n ValueErrorType[ValueErrorType[\"ObjectRequiredProperty\"] = 45] = \"ObjectRequiredProperty\";\n ValueErrorType[ValueErrorType[\"Object\"] = 46] = \"Object\";\n ValueErrorType[ValueErrorType[\"Promise\"] = 47] = \"Promise\";\n ValueErrorType[ValueErrorType[\"StringFormatUnknown\"] = 48] = \"StringFormatUnknown\";\n ValueErrorType[ValueErrorType[\"StringFormat\"] = 49] = \"StringFormat\";\n ValueErrorType[ValueErrorType[\"StringMaxLength\"] = 50] = \"StringMaxLength\";\n ValueErrorType[ValueErrorType[\"StringMinLength\"] = 51] = \"StringMinLength\";\n ValueErrorType[ValueErrorType[\"StringPattern\"] = 52] = \"StringPattern\";\n ValueErrorType[ValueErrorType[\"String\"] = 53] = \"String\";\n ValueErrorType[ValueErrorType[\"Symbol\"] = 54] = \"Symbol\";\n ValueErrorType[ValueErrorType[\"TupleLength\"] = 55] = \"TupleLength\";\n ValueErrorType[ValueErrorType[\"Tuple\"] = 56] = \"Tuple\";\n ValueErrorType[ValueErrorType[\"Uint8ArrayMaxByteLength\"] = 57] = \"Uint8ArrayMaxByteLength\";\n ValueErrorType[ValueErrorType[\"Uint8ArrayMinByteLength\"] = 58] = \"Uint8ArrayMinByteLength\";\n ValueErrorType[ValueErrorType[\"Uint8Array\"] = 59] = \"Uint8Array\";\n ValueErrorType[ValueErrorType[\"Undefined\"] = 60] = \"Undefined\";\n ValueErrorType[ValueErrorType[\"Union\"] = 61] = \"Union\";\n ValueErrorType[ValueErrorType[\"Void\"] = 62] = \"Void\";\n})(ValueErrorType || (exports.ValueErrorType = ValueErrorType = {}));\n// --------------------------------------------------------------------------\n// ValueErrors\n// --------------------------------------------------------------------------\nclass ValueErrorsUnknownTypeError extends Types.TypeBoxError {\n constructor(schema) {\n super('Unknown type');\n this.schema = schema;\n }\n}\nexports.ValueErrorsUnknownTypeError = ValueErrorsUnknownTypeError;\n// --------------------------------------------------------------------------\n// EscapeKey\n// --------------------------------------------------------------------------\nfunction EscapeKey(key) {\n return key.replace(/~/g, '~0').replace(/\\//g, '~1'); // RFC6901 Path\n}\nexports.EscapeKey = EscapeKey;\n// --------------------------------------------------------------------------\n// Guards\n// --------------------------------------------------------------------------\nfunction IsDefined(value) {\n return value !== undefined;\n}\n// --------------------------------------------------------------------------\n// ValueErrorIterator\n// --------------------------------------------------------------------------\nclass ValueErrorIterator {\n constructor(iterator) {\n this.iterator = iterator;\n }\n [Symbol.iterator]() {\n return this.iterator;\n }\n /** Returns the first value error or undefined if no errors */\n First() {\n const next = this.iterator.next();\n return next.done ? undefined : next.value;\n }\n}\nexports.ValueErrorIterator = ValueErrorIterator;\n// --------------------------------------------------------------------------\n// Create\n// --------------------------------------------------------------------------\nfunction Create(type, schema, path, value) {\n return { type, schema, path, value, message: system_1.TypeSystemErrorFunction.Get()(schema, type) };\n}\n// --------------------------------------------------------------------------\n// Types\n// --------------------------------------------------------------------------\nfunction* TAny(schema, references, path, value) { }\nfunction* TArray(schema, references, path, value) {\n if (!(0, guard_1.IsArray)(value)) {\n return yield Create(ValueErrorType.Array, schema, path, value);\n }\n if (IsDefined(schema.minItems) && !(value.length >= schema.minItems)) {\n yield Create(ValueErrorType.ArrayMinItems, schema, path, value);\n }\n if (IsDefined(schema.maxItems) && !(value.length <= schema.maxItems)) {\n yield Create(ValueErrorType.ArrayMaxItems, schema, path, value);\n }\n for (let i = 0; i < value.length; i++) {\n yield* Visit(schema.items, references, `${path}/${i}`, value[i]);\n }\n // prettier-ignore\n if (schema.uniqueItems === true && !((function () { const set = new Set(); for (const element of value) {\n const hashed = (0, hash_1.Hash)(element);\n if (set.has(hashed)) {\n return false;\n }\n else {\n set.add(hashed);\n }\n } return true; })())) {\n yield Create(ValueErrorType.ArrayUniqueItems, schema, path, value);\n }\n // contains\n if (!(IsDefined(schema.contains) || IsDefined(schema.minContains) || IsDefined(schema.maxContains))) {\n return;\n }\n const containsSchema = IsDefined(schema.contains) ? schema.contains : Types.Type.Never();\n const containsCount = value.reduce((acc, value, index) => (Visit(containsSchema, references, `${path}${index}`, value).next().done === true ? acc + 1 : acc), 0);\n if (containsCount === 0) {\n yield Create(ValueErrorType.ArrayContains, schema, path, value);\n }\n if ((0, guard_1.IsNumber)(schema.minContains) && containsCount < schema.minContains) {\n yield Create(ValueErrorType.ArrayMinContains, schema, path, value);\n }\n if ((0, guard_1.IsNumber)(schema.maxContains) && containsCount > schema.maxContains) {\n yield Create(ValueErrorType.ArrayMaxContains, schema, path, value);\n }\n}\nfunction* TAsyncIterator(schema, references, path, value) {\n if (!(0, guard_1.IsAsyncIterator)(value))\n yield Create(ValueErrorType.AsyncIterator, schema, path, value);\n}\nfunction* TBigInt(schema, references, path, value) {\n if (!(0, guard_1.IsBigInt)(value))\n return yield Create(ValueErrorType.BigInt, schema, path, value);\n if (IsDefined(schema.exclusiveMaximum) && !(value < schema.exclusiveMaximum)) {\n yield Create(ValueErrorType.BigIntExclusiveMaximum, schema, path, value);\n }\n if (IsDefined(schema.exclusiveMinimum) && !(value > schema.exclusiveMinimum)) {\n yield Create(ValueErrorType.BigIntExclusiveMinimum, schema, path, value);\n }\n if (IsDefined(schema.maximum) && !(value <= schema.maximum)) {\n yield Create(ValueErrorType.BigIntMaximum, schema, path, value);\n }\n if (IsDefined(schema.minimum) && !(value >= schema.minimum)) {\n yield Create(ValueErrorType.BigIntMinimum, schema, path, value);\n }\n if (IsDefined(schema.multipleOf) && !(value % schema.multipleOf === BigInt(0))) {\n yield Create(ValueErrorType.BigIntMultipleOf, schema, path, value);\n }\n}\nfunction* TBoolean(schema, references, path, value) {\n if (!(0, guard_1.IsBoolean)(value))\n yield Create(ValueErrorType.Boolean, schema, path, value);\n}\nfunction* TConstructor(schema, references, path, value) {\n yield* Visit(schema.returns, references, path, value.prototype);\n}\nfunction* TDate(schema, references, path, value) {\n if (!(0, guard_1.IsDate)(value))\n return yield Create(ValueErrorType.Date, schema, path, value);\n if (IsDefined(schema.exclusiveMaximumTimestamp) && !(value.getTime() < schema.exclusiveMaximumTimestamp)) {\n yield Create(ValueErrorType.DateExclusiveMaximumTimestamp, schema, path, value);\n }\n if (IsDefined(schema.exclusiveMinimumTimestamp) && !(value.getTime() > schema.exclusiveMinimumTimestamp)) {\n yield Create(ValueErrorType.DateExclusiveMinimumTimestamp, schema, path, value);\n }\n if (IsDefined(schema.maximumTimestamp) && !(value.getTime() <= schema.maximumTimestamp)) {\n yield Create(ValueErrorType.DateMaximumTimestamp, schema, path, value);\n }\n if (IsDefined(schema.minimumTimestamp) && !(value.getTime() >= schema.minimumTimestamp)) {\n yield Create(ValueErrorType.DateMinimumTimestamp, schema, path, value);\n }\n if (IsDefined(schema.multipleOfTimestamp) && !(value.getTime() % schema.multipleOfTimestamp === 0)) {\n yield Create(ValueErrorType.DateMultipleOfTimestamp, schema, path, value);\n }\n}\nfunction* TFunction(schema, references, path, value) {\n if (!(0, guard_1.IsFunction)(value))\n yield Create(ValueErrorType.Function, schema, path, value);\n}\nfunction* TInteger(schema, references, path, value) {\n if (!(0, guard_1.IsInteger)(value))\n return yield Create(ValueErrorType.Integer, schema, path, value);\n if (IsDefined(schema.exclusiveMaximum) && !(value < schema.exclusiveMaximum)) {\n yield Create(ValueErrorType.IntegerExclusiveMaximum, schema, path, value);\n }\n if (IsDefined(schema.exclusiveMinimum) && !(value > schema.exclusiveMinimum)) {\n yield Create(ValueErrorType.IntegerExclusiveMinimum, schema, path, value);\n }\n if (IsDefined(schema.maximum) && !(value <= schema.maximum)) {\n yield Create(ValueErrorType.IntegerMaximum, schema, path, value);\n }\n if (IsDefined(schema.minimum) && !(value >= schema.minimum)) {\n yield Create(ValueErrorType.IntegerMinimum, schema, path, value);\n }\n if (IsDefined(schema.multipleOf) && !(value % schema.multipleOf === 0)) {\n yield Create(ValueErrorType.IntegerMultipleOf, schema, path, value);\n }\n}\nfunction* TIntersect(schema, references, path, value) {\n for (const inner of schema.allOf) {\n const next = Visit(inner, references, path, value).next();\n if (!next.done) {\n yield Create(ValueErrorType.Intersect, schema, path, value);\n yield next.value;\n }\n }\n if (schema.unevaluatedProperties === false) {\n const keyCheck = new RegExp(Types.KeyResolver.ResolvePattern(schema));\n for (const valueKey of Object.getOwnPropertyNames(value)) {\n if (!keyCheck.test(valueKey)) {\n yield Create(ValueErrorType.IntersectUnevaluatedProperties, schema, `${path}/${valueKey}`, value);\n }\n }\n }\n if (typeof schema.unevaluatedProperties === 'object') {\n const keyCheck = new RegExp(Types.KeyResolver.ResolvePattern(schema));\n for (const valueKey of Object.getOwnPropertyNames(value)) {\n if (!keyCheck.test(valueKey)) {\n const next = Visit(schema.unevaluatedProperties, references, `${path}/${valueKey}`, value[valueKey]).next();\n if (!next.done)\n yield next.value; // yield interior\n }\n }\n }\n}\nfunction* TIterator(schema, references, path, value) {\n if (!(0, guard_1.IsIterator)(value))\n yield Create(ValueErrorType.Iterator, schema, path, value);\n}\nfunction* TLiteral(schema, references, path, value) {\n if (!(value === schema.const))\n yield Create(ValueErrorType.Literal, schema, path, value);\n}\nfunction* TNever(schema, references, path, value) {\n yield Create(ValueErrorType.Never, schema, path, value);\n}\nfunction* TNot(schema, references, path, value) {\n if (Visit(schema.not, references, path, value).next().done === true)\n yield Create(ValueErrorType.Not, schema, path, value);\n}\nfunction* TNull(schema, references, path, value) {\n if (!(0, guard_1.IsNull)(value))\n yield Create(ValueErrorType.Null, schema, path, value);\n}\nfunction* TNumber(schema, references, path, value) {\n if (!system_1.TypeSystemPolicy.IsNumberLike(value))\n return yield Create(ValueErrorType.Number, schema, path, value);\n if (IsDefined(schema.exclusiveMaximum) && !(value < schema.exclusiveMaximum)) {\n yield Create(ValueErrorType.NumberExclusiveMaximum, schema, path, value);\n }\n if (IsDefined(schema.exclusiveMinimum) && !(value > schema.exclusiveMinimum)) {\n yield Create(ValueErrorType.NumberExclusiveMinimum, schema, path, value);\n }\n if (IsDefined(schema.maximum) && !(value <= schema.maximum)) {\n yield Create(ValueErrorType.NumberMaximum, schema, path, value);\n }\n if (IsDefined(schema.minimum) && !(value >= schema.minimum)) {\n yield Create(ValueErrorType.NumberMinimum, schema, path, value);\n }\n if (IsDefined(schema.multipleOf) && !(value % schema.multipleOf === 0)) {\n yield Create(ValueErrorType.NumberMultipleOf, schema, path, value);\n }\n}\nfunction* TObject(schema, references, path, value) {\n if (!system_1.TypeSystemPolicy.IsObjectLike(value))\n return yield Create(ValueErrorType.Object, schema, path, value);\n if (IsDefined(schema.minProperties) && !(Object.getOwnPropertyNames(value).length >= schema.minProperties)) {\n yield Create(ValueErrorType.ObjectMinProperties, schema, path, value);\n }\n if (IsDefined(schema.maxProperties) && !(Object.getOwnPropertyNames(value).length <= schema.maxProperties)) {\n yield Create(ValueErrorType.ObjectMaxProperties, schema, path, value);\n }\n const requiredKeys = Array.isArray(schema.required) ? schema.required : [];\n const knownKeys = Object.getOwnPropertyNames(schema.properties);\n const unknownKeys = Object.getOwnPropertyNames(value);\n for (const requiredKey of requiredKeys) {\n if (unknownKeys.includes(requiredKey))\n continue;\n yield Create(ValueErrorType.ObjectRequiredProperty, schema.properties[requiredKey], `${path}/${EscapeKey(requiredKey)}`, undefined);\n }\n if (schema.additionalProperties === false) {\n for (const valueKey of unknownKeys) {\n if (!knownKeys.includes(valueKey)) {\n yield Create(ValueErrorType.ObjectAdditionalProperties, schema, `${path}/${EscapeKey(valueKey)}`, value[valueKey]);\n }\n }\n }\n if (typeof schema.additionalProperties === 'object') {\n for (const valueKey of unknownKeys) {\n if (knownKeys.includes(valueKey))\n continue;\n yield* Visit(schema.additionalProperties, references, `${path}/${EscapeKey(valueKey)}`, value[valueKey]);\n }\n }\n for (const knownKey of knownKeys) {\n const property = schema.properties[knownKey];\n if (schema.required && schema.required.includes(knownKey)) {\n yield* Visit(property, references, `${path}/${EscapeKey(knownKey)}`, value[knownKey]);\n if (Types.ExtendsUndefined.Check(schema) && !(knownKey in value)) {\n yield Create(ValueErrorType.ObjectRequiredProperty, property, `${path}/${EscapeKey(knownKey)}`, undefined);\n }\n }\n else {\n if (system_1.TypeSystemPolicy.IsExactOptionalProperty(value, knownKey)) {\n yield* Visit(property, references, `${path}/${EscapeKey(knownKey)}`, value[knownKey]);\n }\n }\n }\n}\nfunction* TPromise(schema, references, path, value) {\n if (!(0, guard_1.IsPromise)(value))\n yield Create(ValueErrorType.Promise, schema, path, value);\n}\nfunction* TRecord(schema, references, path, value) {\n if (!system_1.TypeSystemPolicy.IsRecordLike(value))\n return yield Create(ValueErrorType.Object, schema, path, value);\n if (IsDefined(schema.minProperties) && !(Object.getOwnPropertyNames(value).length >= schema.minProperties)) {\n yield Create(ValueErrorType.ObjectMinProperties, schema, path, value);\n }\n if (IsDefined(schema.maxProperties) && !(Object.getOwnPropertyNames(value).length <= schema.maxProperties)) {\n yield Create(ValueErrorType.ObjectMaxProperties, schema, path, value);\n }\n const [patternKey, patternSchema] = Object.entries(schema.patternProperties)[0];\n const regex = new RegExp(patternKey);\n for (const [propertyKey, propertyValue] of Object.entries(value)) {\n if (regex.test(propertyKey))\n yield* Visit(patternSchema, references, `${path}/${EscapeKey(propertyKey)}`, propertyValue);\n }\n if (typeof schema.additionalProperties === 'object') {\n for (const [propertyKey, propertyValue] of Object.entries(value)) {\n if (!regex.test(propertyKey))\n yield* Visit(schema.additionalProperties, references, `${path}/${EscapeKey(propertyKey)}`, propertyValue);\n }\n }\n if (schema.additionalProperties === false) {\n for (const [propertyKey, propertyValue] of Object.entries(value)) {\n if (regex.test(propertyKey))\n continue;\n return yield Create(ValueErrorType.ObjectAdditionalProperties, schema, `${path}/${EscapeKey(propertyKey)}`, propertyValue);\n }\n }\n}\nfunction* TRef(schema, references, path, value) {\n yield* Visit((0, deref_1.Deref)(schema, references), references, path, value);\n}\nfunction* TString(schema, references, path, value) {\n if (!(0, guard_1.IsString)(value))\n return yield Create(ValueErrorType.String, schema, path, value);\n if (IsDefined(schema.minLength) && !(value.length >= schema.minLength)) {\n yield Create(ValueErrorType.StringMinLength, schema, path, value);\n }\n if (IsDefined(schema.maxLength) && !(value.length <= schema.maxLength)) {\n yield Create(ValueErrorType.StringMaxLength, schema, path, value);\n }\n if ((0, guard_1.IsString)(schema.pattern)) {\n const regex = new RegExp(schema.pattern);\n if (!regex.test(value)) {\n yield Create(ValueErrorType.StringPattern, schema, path, value);\n }\n }\n if ((0, guard_1.IsString)(schema.format)) {\n if (!Types.FormatRegistry.Has(schema.format)) {\n yield Create(ValueErrorType.StringFormatUnknown, schema, path, value);\n }\n else {\n const format = Types.FormatRegistry.Get(schema.format);\n if (!format(value)) {\n yield Create(ValueErrorType.StringFormat, schema, path, value);\n }\n }\n }\n}\nfunction* TSymbol(schema, references, path, value) {\n if (!(0, guard_1.IsSymbol)(value))\n yield Create(ValueErrorType.Symbol, schema, path, value);\n}\nfunction* TTemplateLiteral(schema, references, path, value) {\n if (!(0, guard_1.IsString)(value))\n return yield Create(ValueErrorType.String, schema, path, value);\n const regex = new RegExp(schema.pattern);\n if (!regex.test(value)) {\n yield Create(ValueErrorType.StringPattern, schema, path, value);\n }\n}\nfunction* TThis(schema, references, path, value) {\n yield* Visit((0, deref_1.Deref)(schema, references), references, path, value);\n}\nfunction* TTuple(schema, references, path, value) {\n if (!(0, guard_1.IsArray)(value))\n return yield Create(ValueErrorType.Tuple, schema, path, value);\n if (schema.items === undefined && !(value.length === 0)) {\n return yield Create(ValueErrorType.TupleLength, schema, path, value);\n }\n if (!(value.length === schema.maxItems)) {\n return yield Create(ValueErrorType.TupleLength, schema, path, value);\n }\n if (!schema.items) {\n return;\n }\n for (let i = 0; i < schema.items.length; i++) {\n yield* Visit(schema.items[i], references, `${path}/${i}`, value[i]);\n }\n}\nfunction* TUndefined(schema, references, path, value) {\n if (!(0, guard_1.IsUndefined)(value))\n yield Create(ValueErrorType.Undefined, schema, path, value);\n}\nfunction* TUnion(schema, references, path, value) {\n let count = 0;\n for (const subschema of schema.anyOf) {\n const errors = [...Visit(subschema, references, path, value)];\n if (errors.length === 0)\n return; // matched\n count += errors.length;\n }\n if (count > 0) {\n yield Create(ValueErrorType.Union, schema, path, value);\n }\n}\nfunction* TUint8Array(schema, references, path, value) {\n if (!(0, guard_1.IsUint8Array)(value))\n return yield Create(ValueErrorType.Uint8Array, schema, path, value);\n if (IsDefined(schema.maxByteLength) && !(value.length <= schema.maxByteLength)) {\n yield Create(ValueErrorType.Uint8ArrayMaxByteLength, schema, path, value);\n }\n if (IsDefined(schema.minByteLength) && !(value.length >= schema.minByteLength)) {\n yield Create(ValueErrorType.Uint8ArrayMinByteLength, schema, path, value);\n }\n}\nfunction* TUnknown(schema, references, path, value) { }\nfunction* TVoid(schema, references, path, value) {\n if (!system_1.TypeSystemPolicy.IsVoidLike(value))\n yield Create(ValueErrorType.Void, schema, path, value);\n}\nfunction* TKind(schema, references, path, value) {\n const check = Types.TypeRegistry.Get(schema[Types.Kind]);\n if (!check(schema, value))\n yield Create(ValueErrorType.Kind, schema, path, value);\n}\nfunction* Visit(schema, references, path, value) {\n const references_ = IsDefined(schema.$id) ? [...references, schema] : references;\n const schema_ = schema;\n switch (schema_[Types.Kind]) {\n case 'Any':\n return yield* TAny(schema_, references_, path, value);\n case 'Array':\n return yield* TArray(schema_, references_, path, value);\n case 'AsyncIterator':\n return yield* TAsyncIterator(schema_, references_, path, value);\n case 'BigInt':\n return yield* TBigInt(schema_, references_, path, value);\n case 'Boolean':\n return yield* TBoolean(schema_, references_, path, value);\n case 'Constructor':\n return yield* TConstructor(schema_, references_, path, value);\n case 'Date':\n return yield* TDate(schema_, references_, path, value);\n case 'Function':\n return yield* TFunction(schema_, references_, path, value);\n case 'Integer':\n return yield* TInteger(schema_, references_, path, value);\n case 'Intersect':\n return yield* TIntersect(schema_, references_, path, value);\n case 'Iterator':\n return yield* TIterator(schema_, references_, path, value);\n case 'Literal':\n return yield* TLiteral(schema_, references_, path, value);\n case 'Never':\n return yield* TNever(schema_, references_, path, value);\n case 'Not':\n return yield* TNot(schema_, references_, path, value);\n case 'Null':\n return yield* TNull(schema_, references_, path, value);\n case 'Number':\n return yield* TNumber(schema_, references_, path, value);\n case 'Object':\n return yield* TObject(schema_, references_, path, value);\n case 'Promise':\n return yield* TPromise(schema_, references_, path, value);\n case 'Record':\n return yield* TRecord(schema_, references_, path, value);\n case 'Ref':\n return yield* TRef(schema_, references_, path, value);\n case 'String':\n return yield* TString(schema_, references_, path, value);\n case 'Symbol':\n return yield* TSymbol(schema_, references_, path, value);\n case 'TemplateLiteral':\n return yield* TTemplateLiteral(schema_, references_, path, value);\n case 'This':\n return yield* TThis(schema_, references_, path, value);\n case 'Tuple':\n return yield* TTuple(schema_, references_, path, value);\n case 'Undefined':\n return yield* TUndefined(schema_, references_, path, value);\n case 'Union':\n return yield* TUnion(schema_, references_, path, value);\n case 'Uint8Array':\n return yield* TUint8Array(schema_, references_, path, value);\n case 'Unknown':\n return yield* TUnknown(schema_, references_, path, value);\n case 'Void':\n return yield* TVoid(schema_, references_, path, value);\n default:\n if (!Types.TypeRegistry.Has(schema_[Types.Kind]))\n throw new ValueErrorsUnknownTypeError(schema);\n return yield* TKind(schema_, references_, path, value);\n }\n}\n/** Returns an iterator for each error in this value. */\nfunction Errors(...args) {\n const iterator = args.length === 3 ? Visit(args[0], args[1], '', args[2]) : Visit(args[0], [], '', args[1]);\n return new ValueErrorIterator(iterator);\n}\nexports.Errors = Errors;\n", "\"use strict\";\n/*--------------------------------------------------------------------------\n\n@sinclair/typebox/errors\n\nThe MIT License (MIT)\n\nCopyright (c) 2017-2023 Haydn Paterson (sinclair) <haydn.developer@gmail.com>\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n\n---------------------------------------------------------------------------*/\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./errors\"), exports);\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.flatten = exports.unique = exports.hardMixProtos = exports.nearestCommonProto = exports.protoChain = exports.copyProps = void 0;\n/**\n * Utility function that works like `Object.apply`, but copies getters and setters properly as well. Additionally gives\n * the option to exclude properties by name.\n */\nconst copyProps = (dest, src, exclude = []) => {\n const props = Object.getOwnPropertyDescriptors(src);\n for (let prop of exclude)\n delete props[prop];\n Object.defineProperties(dest, props);\n};\nexports.copyProps = copyProps;\n/**\n * Returns the full chain of prototypes up until Object.prototype given a starting object. The order of prototypes will\n * be closest to farthest in the chain.\n */\nconst protoChain = (obj, currentChain = [obj]) => {\n const proto = Object.getPrototypeOf(obj);\n if (proto === null)\n return currentChain;\n return (0, exports.protoChain)(proto, [...currentChain, proto]);\n};\nexports.protoChain = protoChain;\n/**\n * Identifies the nearest ancestor common to all the given objects in their prototype chains. For most unrelated\n * objects, this function should return Object.prototype.\n */\nconst nearestCommonProto = (...objs) => {\n if (objs.length === 0)\n return undefined;\n let commonProto = undefined;\n const protoChains = objs.map(obj => (0, exports.protoChain)(obj));\n while (protoChains.every(protoChain => protoChain.length > 0)) {\n const protos = protoChains.map(protoChain => protoChain.pop());\n const potentialCommonProto = protos[0];\n if (protos.every(proto => proto === potentialCommonProto))\n commonProto = potentialCommonProto;\n else\n break;\n }\n return commonProto;\n};\nexports.nearestCommonProto = nearestCommonProto;\n/**\n * Creates a new prototype object that is a mixture of the given prototypes. The mixing is achieved by first\n * identifying the nearest common ancestor and using it as the prototype for a new object. Then all properties/methods\n * downstream of this prototype (ONLY downstream) are copied into the new object.\n *\n * The resulting prototype is more performant than softMixProtos(...), as well as ES5 compatible. However, it's not as\n * flexible as updates to the source prototypes aren't captured by the mixed result. See softMixProtos for why you may\n * want to use that instead.\n */\nconst hardMixProtos = (ingredients, constructor, exclude = []) => {\n var _a;\n const base = (_a = (0, exports.nearestCommonProto)(...ingredients)) !== null && _a !== void 0 ? _a : Object.prototype;\n const mixedProto = Object.create(base);\n // Keeps track of prototypes we've already visited to avoid copying the same properties multiple times. We init the\n // list with the proto chain below the nearest common ancestor because we don't want any of those methods mixed in\n // when they will already be accessible via prototype access.\n const visitedProtos = (0, exports.protoChain)(base);\n for (let prototype of ingredients) {\n let protos = (0, exports.protoChain)(prototype);\n // Apply the prototype chain in reverse order so that old methods don't override newer ones.\n for (let i = protos.length - 1; i >= 0; i--) {\n let newProto = protos[i];\n if (visitedProtos.indexOf(newProto) === -1) {\n (0, exports.copyProps)(mixedProto, newProto, ['constructor', ...exclude]);\n visitedProtos.push(newProto);\n }\n }\n }\n mixedProto.constructor = constructor;\n return mixedProto;\n};\nexports.hardMixProtos = hardMixProtos;\nconst unique = (arr) => arr.filter((e, i) => arr.indexOf(e) == i);\nexports.unique = unique;\nconst flatten = (arr) => arr.length === 0\n ? []\n : arr.length === 1\n ? arr[0]\n : arr.reduce((a1, a2) => [...a1, ...a2]);\nexports.flatten = flatten;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.softMixProtos = exports.proxyMix = exports.getIngredientWithProp = void 0;\nconst util_1 = require(\"./util\");\n/**\n * Finds the ingredient with the given prop, searching in reverse order and breadth-first if searching ingredient\n * prototypes is required.\n */\nconst getIngredientWithProp = (prop, ingredients) => {\n const protoChains = ingredients.map(ingredient => (0, util_1.protoChain)(ingredient));\n // since we search breadth-first, we need to keep track of our depth in the prototype chains\n let protoDepth = 0;\n // not all prototype chains are the same depth, so this remains true as long as at least one of the ingredients'\n // prototype chains has an object at this depth\n let protosAreLeftToSearch = true;\n while (protosAreLeftToSearch) {\n // with the start of each horizontal slice, we assume this is the one that's deeper than any of the proto chains\n protosAreLeftToSearch = false;\n // scan through the ingredients right to left\n for (let i = ingredients.length - 1; i >= 0; i--) {\n const searchTarget = protoChains[i][protoDepth];\n if (searchTarget !== undefined && searchTarget !== null) {\n // if we find something, this is proof that this horizontal slice potentially more objects to search\n protosAreLeftToSearch = true;\n // eureka, we found it\n if (Object.getOwnPropertyDescriptor(searchTarget, prop) != undefined) {\n return protoChains[i][0];\n }\n }\n }\n protoDepth++;\n }\n return undefined;\n};\nexports.getIngredientWithProp = getIngredientWithProp;\n/**\n * \"Mixes\" ingredients by wrapping them in a Proxy. The optional prototype argument allows the mixed object to sit\n * downstream of an existing prototype chain. Note that \"properties\" cannot be added, deleted, or modified.\n */\nconst proxyMix = (ingredients, prototype = Object.prototype) => new Proxy({}, {\n getPrototypeOf() {\n return prototype;\n },\n setPrototypeOf() {\n throw Error('Cannot set prototype of Proxies created by ts-mixer');\n },\n getOwnPropertyDescriptor(_, prop) {\n return Object.getOwnPropertyDescriptor((0, exports.getIngredientWithProp)(prop, ingredients) || {}, prop);\n },\n defineProperty() {\n throw new Error('Cannot define new properties on Proxies created by ts-mixer');\n },\n has(_, prop) {\n return (0, exports.getIngredientWithProp)(prop, ingredients) !== undefined || prototype[prop] !== undefined;\n },\n get(_, prop) {\n return ((0, exports.getIngredientWithProp)(prop, ingredients) || prototype)[prop];\n },\n set(_, prop, val) {\n const ingredientWithProp = (0, exports.getIngredientWithProp)(prop, ingredients);\n if (ingredientWithProp === undefined)\n throw new Error('Cannot set new properties on Proxies created by ts-mixer');\n ingredientWithProp[prop] = val;\n return true;\n },\n deleteProperty() {\n throw new Error('Cannot delete properties on Proxies created by ts-mixer');\n },\n ownKeys() {\n return ingredients\n .map(Object.getOwnPropertyNames)\n .reduce((prev, curr) => curr.concat(prev.filter(key => curr.indexOf(key) < 0)));\n },\n});\nexports.proxyMix = proxyMix;\n/**\n * Creates a new proxy-prototype object that is a \"soft\" mixture of the given prototypes. The mixing is achieved by\n * proxying all property access to the ingredients. This is not ES5 compatible and less performant. However, any\n * changes made to the source prototypes will be reflected in the proxy-prototype, which may be desirable.\n */\nconst softMixProtos = (ingredients, constructor) => (0, exports.proxyMix)([...ingredients, { constructor }]);\nexports.softMixProtos = softMixProtos;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.settings = void 0;\nexports.settings = {\n initFunction: null,\n staticsStrategy: 'copy',\n prototypeStrategy: 'copy',\n decoratorInheritance: 'deep',\n};\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.hasMixin = exports.registerMixins = exports.getMixinsForClass = void 0;\nconst util_1 = require(\"./util\");\n// Keeps track of constituent classes for every mixin class created by ts-mixer.\nconst mixins = new WeakMap();\nconst getMixinsForClass = (clazz) => mixins.get(clazz);\nexports.getMixinsForClass = getMixinsForClass;\nconst registerMixins = (mixedClass, constituents) => mixins.set(mixedClass, constituents);\nexports.registerMixins = registerMixins;\nconst hasMixin = (instance, mixin) => {\n if (instance instanceof mixin)\n return true;\n const constructor = instance.constructor;\n const visited = new Set();\n let frontier = new Set();\n frontier.add(constructor);\n while (frontier.size > 0) {\n // check if the frontier has the mixin we're looking for. if not, we can say we visited every item in the frontier\n if (frontier.has(mixin))\n return true;\n frontier.forEach((item) => visited.add(item));\n // build a new frontier based on the associated mixin classes and prototype chains of each frontier item\n const newFrontier = new Set();\n frontier.forEach((item) => {\n var _a;\n const itemConstituents = (_a = mixins.get(item)) !== null && _a !== void 0 ? _a : (0, util_1.protoChain)(item.prototype)\n .map((proto) => proto.constructor)\n .filter((item) => item !== null);\n if (itemConstituents)\n itemConstituents.forEach((constituent) => {\n if (!visited.has(constituent) && !frontier.has(constituent))\n newFrontier.add(constituent);\n });\n });\n // we have a new frontier, now search again\n frontier = newFrontier;\n }\n // if we get here, we couldn't find the mixin anywhere in the prototype chain or associated mixin classes\n return false;\n};\nexports.hasMixin = hasMixin;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.decorate = exports.getDecoratorsForClass = exports.directDecoratorSearch = exports.deepDecoratorSearch = void 0;\nconst util_1 = require(\"./util\");\nconst mixin_tracking_1 = require(\"./mixin-tracking\");\nconst mergeObjectsOfDecorators = (o1, o2) => {\n var _a, _b;\n const allKeys = (0, util_1.unique)([...Object.getOwnPropertyNames(o1), ...Object.getOwnPropertyNames(o2)]);\n const mergedObject = {};\n for (let key of allKeys)\n mergedObject[key] = (0, util_1.unique)([...((_a = o1 === null || o1 === void 0 ? void 0 : o1[key]) !== null && _a !== void 0 ? _a : []), ...((_b = o2 === null || o2 === void 0 ? void 0 : o2[key]) !== null && _b !== void 0 ? _b : [])]);\n return mergedObject;\n};\nconst mergePropertyAndMethodDecorators = (d1, d2) => {\n var _a, _b, _c, _d;\n return ({\n property: mergeObjectsOfDecorators((_a = d1 === null || d1 === void 0 ? void 0 : d1.property) !== null && _a !== void 0 ? _a : {}, (_b = d2 === null || d2 === void 0 ? void 0 : d2.property) !== null && _b !== void 0 ? _b : {}),\n method: mergeObjectsOfDecorators((_c = d1 === null || d1 === void 0 ? void 0 : d1.method) !== null && _c !== void 0 ? _c : {}, (_d = d2 === null || d2 === void 0 ? void 0 : d2.method) !== null && _d !== void 0 ? _d : {}),\n });\n};\nconst mergeDecorators = (d1, d2) => {\n var _a, _b, _c, _d, _e, _f;\n return ({\n class: (0, util_1.unique)([...(_a = d1 === null || d1 === void 0 ? void 0 : d1.class) !== null && _a !== void 0 ? _a : [], ...(_b = d2 === null || d2 === void 0 ? void 0 : d2.class) !== null && _b !== void 0 ? _b : []]),\n static: mergePropertyAndMethodDecorators((_c = d1 === null || d1 === void 0 ? void 0 : d1.static) !== null && _c !== void 0 ? _c : {}, (_d = d2 === null || d2 === void 0 ? void 0 : d2.static) !== null && _d !== void 0 ? _d : {}),\n instance: mergePropertyAndMethodDecorators((_e = d1 === null || d1 === void 0 ? void 0 : d1.instance) !== null && _e !== void 0 ? _e : {}, (_f = d2 === null || d2 === void 0 ? void 0 : d2.instance) !== null && _f !== void 0 ? _f : {}),\n });\n};\nconst decorators = new Map();\nconst findAllConstituentClasses = (...classes) => {\n var _a;\n const allClasses = new Set();\n const frontier = new Set([...classes]);\n while (frontier.size > 0) {\n for (let clazz of frontier) {\n const protoChainClasses = (0, util_1.protoChain)(clazz.prototype).map(proto => proto.constructor);\n const mixinClasses = (_a = (0, mixin_tracking_1.getMixinsForClass)(clazz)) !== null && _a !== void 0 ? _a : [];\n const potentiallyNewClasses = [...protoChainClasses, ...mixinClasses];\n const newClasses = potentiallyNewClasses.filter(c => !allClasses.has(c));\n for (let newClass of newClasses)\n frontier.add(newClass);\n allClasses.add(clazz);\n frontier.delete(clazz);\n }\n }\n return [...allClasses];\n};\nconst deepDecoratorSearch = (...classes) => {\n const decoratorsForClassChain = findAllConstituentClasses(...classes)\n .map(clazz => decorators.get(clazz))\n .filter(decorators => !!decorators);\n if (decoratorsForClassChain.length == 0)\n return {};\n if (decoratorsForClassChain.length == 1)\n return decoratorsForClassChain[0];\n return decoratorsForClassChain.reduce((d1, d2) => mergeDecorators(d1, d2));\n};\nexports.deepDecoratorSearch = deepDecoratorSearch;\nconst directDecoratorSearch = (...classes) => {\n const classDecorators = classes.map(clazz => (0, exports.getDecoratorsForClass)(clazz));\n if (classDecorators.length === 0)\n return {};\n if (classDecorators.length === 1)\n return classDecorators[0];\n return classDecorators.reduce((d1, d2) => mergeDecorators(d1, d2));\n};\nexports.directDecoratorSearch = directDecoratorSearch;\nconst getDecoratorsForClass = (clazz) => {\n let decoratorsForClass = decorators.get(clazz);\n if (!decoratorsForClass) {\n decoratorsForClass = {};\n decorators.set(clazz, decoratorsForClass);\n }\n return decoratorsForClass;\n};\nexports.getDecoratorsForClass = getDecoratorsForClass;\nconst decorateClass = (decorator) => ((clazz) => {\n const decoratorsForClass = (0, exports.getDecoratorsForClass)(clazz);\n let classDecorators = decoratorsForClass.class;\n if (!classDecorators) {\n classDecorators = [];\n decoratorsForClass.class = classDecorators;\n }\n classDecorators.push(decorator);\n return decorator(clazz);\n});\nconst decorateMember = (decorator) => ((object, key, ...otherArgs) => {\n var _a, _b, _c;\n const decoratorTargetType = typeof object === 'function' ? 'static' : 'instance';\n const decoratorType = typeof object[key] === 'function' ? 'method' : 'property';\n const clazz = decoratorTargetType === 'static' ? object : object.constructor;\n const decoratorsForClass = (0, exports.getDecoratorsForClass)(clazz);\n const decoratorsForTargetType = (_a = decoratorsForClass === null || decoratorsForClass === void 0 ? void 0 : decoratorsForClass[decoratorTargetType]) !== null && _a !== void 0 ? _a : {};\n decoratorsForClass[decoratorTargetType] = decoratorsForTargetType;\n let decoratorsForType = (_b = decoratorsForTargetType === null || decoratorsForTargetType === void 0 ? void 0 : decoratorsForTargetType[decoratorType]) !== null && _b !== void 0 ? _b : {};\n decoratorsForTargetType[decoratorType] = decoratorsForType;\n let decoratorsForKey = (_c = decoratorsForType === null || decoratorsForType === void 0 ? void 0 : decoratorsForType[key]) !== null && _c !== void 0 ? _c : [];\n decoratorsForType[key] = decoratorsForKey;\n // @ts-ignore: array is type `A[] | B[]` and item is type `A | B`, so technically a type error, but it's fine\n decoratorsForKey.push(decorator);\n // @ts-ignore\n return decorator(object, key, ...otherArgs);\n});\nconst decorate = (decorator) => ((...args) => {\n if (args.length === 1)\n return decorateClass(decorator)(args[0]);\n return decorateMember(decorator)(...args);\n});\nexports.decorate = decorate;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.mix = exports.Mixin = void 0;\nconst proxy_1 = require(\"./proxy\");\nconst settings_1 = require(\"./settings\");\nconst util_1 = require(\"./util\");\nconst decorator_1 = require(\"./decorator\");\nconst mixin_tracking_1 = require(\"./mixin-tracking\");\nfunction Mixin(...constructors) {\n var _a, _b, _c;\n const prototypes = constructors.map(constructor => constructor.prototype);\n // Here we gather up the init functions of the ingredient prototypes, combine them into one init function, and\n // attach it to the mixed class prototype. The reason we do this is because we want the init functions to mix\n // similarly to constructors -- not methods, which simply override each other.\n const initFunctionName = settings_1.settings.initFunction;\n if (initFunctionName !== null) {\n const initFunctions = prototypes\n .map(proto => proto[initFunctionName])\n .filter(func => typeof func === 'function');\n const combinedInitFunction = function (...args) {\n for (let initFunction of initFunctions)\n initFunction.apply(this, args);\n };\n const extraProto = { [initFunctionName]: combinedInitFunction };\n prototypes.push(extraProto);\n }\n function MixedClass(...args) {\n for (const constructor of constructors)\n // @ts-ignore: potentially abstract class\n (0, util_1.copyProps)(this, new constructor(...args));\n if (initFunctionName !== null && typeof this[initFunctionName] === 'function')\n this[initFunctionName].apply(this, args);\n }\n MixedClass.prototype = settings_1.settings.prototypeStrategy === 'copy'\n ? (0, util_1.hardMixProtos)(prototypes, MixedClass)\n : (0, proxy_1.softMixProtos)(prototypes, MixedClass);\n Object.setPrototypeOf(MixedClass, settings_1.settings.staticsStrategy === 'copy'\n ? (0, util_1.hardMixProtos)(constructors, null, ['prototype'])\n : (0, proxy_1.proxyMix)(constructors, Function.prototype));\n let DecoratedMixedClass = MixedClass;\n if (settings_1.settings.decoratorInheritance !== 'none') {\n const classDecorators = settings_1.settings.decoratorInheritance === 'deep'\n ? (0, decorator_1.deepDecoratorSearch)(...constructors)\n : (0, decorator_1.directDecoratorSearch)(...constructors);\n for (let decorator of (_a = classDecorators === null || classDecorators === void 0 ? void 0 : classDecorators.class) !== null && _a !== void 0 ? _a : []) {\n const result = decorator(DecoratedMixedClass);\n if (result) {\n DecoratedMixedClass = result;\n }\n }\n applyPropAndMethodDecorators((_b = classDecorators === null || classDecorators === void 0 ? void 0 : classDecorators.static) !== null && _b !== void 0 ? _b : {}, DecoratedMixedClass);\n applyPropAndMethodDecorators((_c = classDecorators === null || classDecorators === void 0 ? void 0 : classDecorators.instance) !== null && _c !== void 0 ? _c : {}, DecoratedMixedClass.prototype);\n }\n (0, mixin_tracking_1.registerMixins)(DecoratedMixedClass, constructors);\n return DecoratedMixedClass;\n}\nexports.Mixin = Mixin;\nconst applyPropAndMethodDecorators = (propAndMethodDecorators, target) => {\n const propDecorators = propAndMethodDecorators.property;\n const methodDecorators = propAndMethodDecorators.method;\n if (propDecorators)\n for (let key in propDecorators)\n for (let decorator of propDecorators[key])\n decorator(target, key);\n if (methodDecorators)\n for (let key in methodDecorators)\n for (let decorator of methodDecorators[key])\n decorator(target, key, Object.getOwnPropertyDescriptor(target, key));\n};\n/**\n * A decorator version of the `Mixin` function. You'll want to use this instead of `Mixin` for mixing generic classes.\n */\nconst mix = (...ingredients) => decoratedClass => {\n // @ts-ignore\n const mixedClass = Mixin(...ingredients.concat([decoratedClass]));\n Object.defineProperty(mixedClass, 'name', {\n value: decoratedClass.name,\n writable: false,\n });\n return mixedClass;\n};\nexports.mix = mix;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.hasMixin = exports.decorate = exports.settings = exports.mix = exports.Mixin = void 0;\nvar mixins_1 = require(\"./mixins\");\nObject.defineProperty(exports, \"Mixin\", { enumerable: true, get: function () { return mixins_1.Mixin; } });\nObject.defineProperty(exports, \"mix\", { enumerable: true, get: function () { return mixins_1.mix; } });\nvar settings_1 = require(\"./settings\");\nObject.defineProperty(exports, \"settings\", { enumerable: true, get: function () { return settings_1.settings; } });\nvar decorator_1 = require(\"./decorator\");\nObject.defineProperty(exports, \"decorate\", { enumerable: true, get: function () { return decorator_1.decorate; } });\nvar mixin_tracking_1 = require(\"./mixin-tracking\");\nObject.defineProperty(exports, \"hasMixin\", { enumerable: true, get: function () { return mixin_tracking_1.hasMixin; } });\n", null, null, null, null, null, null, null, null, "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EnumTxVersion = exports.TxVersion = exports.EnumTxType = exports.TxType = exports.EnumNetworks = exports.Networks = void 0;\nconst schema_utils_1 = require(\"@trezor/schema-utils\");\nvar Networks;\n(function (Networks) {\n Networks[Networks[\"mainnet\"] = 104] = \"mainnet\";\n Networks[Networks[\"testnet\"] = 152] = \"testnet\";\n Networks[Networks[\"mijin\"] = 96] = \"mijin\";\n})(Networks || (exports.Networks = Networks = {}));\nexports.EnumNetworks = schema_utils_1.Type.Enum(Networks);\nvar TxType;\n(function (TxType) {\n TxType[TxType[\"TRANSFER\"] = 257] = \"TRANSFER\";\n TxType[TxType[\"COSIGNING\"] = 258] = \"COSIGNING\";\n TxType[TxType[\"IMPORTANCE_TRANSFER\"] = 2049] = \"IMPORTANCE_TRANSFER\";\n TxType[TxType[\"AGGREGATE_MODIFICATION\"] = 4097] = \"AGGREGATE_MODIFICATION\";\n TxType[TxType[\"MULTISIG_SIGNATURE\"] = 4098] = \"MULTISIG_SIGNATURE\";\n TxType[TxType[\"MULTISIG\"] = 4100] = \"MULTISIG\";\n TxType[TxType[\"PROVISION_NAMESPACE\"] = 8193] = \"PROVISION_NAMESPACE\";\n TxType[TxType[\"MOSAIC_CREATION\"] = 16385] = \"MOSAIC_CREATION\";\n TxType[TxType[\"SUPPLY_CHANGE\"] = 16386] = \"SUPPLY_CHANGE\";\n})(TxType || (exports.TxType = TxType = {}));\nexports.EnumTxType = schema_utils_1.Type.Enum(TxType);\nvar TxVersion;\n(function (TxVersion) {\n TxVersion[TxVersion[\"mainnet\"] = 1744830464] = \"mainnet\";\n TxVersion[TxVersion[\"testnet\"] = -1744830464] = \"testnet\";\n TxVersion[TxVersion[\"mijin\"] = 1610612736] = \"mijin\";\n})(TxVersion || (exports.TxVersion = TxVersion = {}));\nexports.EnumTxVersion = schema_utils_1.Type.Enum(TxVersion);\n//# sourceMappingURL=nem.js.map", "\"use strict\";\r\nmodule.exports = asPromise;\r\n\r\n/**\r\n * Callback as used by {@link util.asPromise}.\r\n * @typedef asPromiseCallback\r\n * @type {function}\r\n * @param {Error|null} error Error, if any\r\n * @param {...*} params Additional arguments\r\n * @returns {undefined}\r\n */\r\n\r\n/**\r\n * Returns a promise from a node-style callback function.\r\n * @memberof util\r\n * @param {asPromiseCallback} fn Function to call\r\n * @param {*} ctx Function context\r\n * @param {...*} params Function arguments\r\n * @returns {Promise<*>} Promisified function\r\n */\r\nfunction asPromise(fn, ctx/*, varargs */) {\r\n var params = new Array(arguments.length - 1),\r\n offset = 0,\r\n index = 2,\r\n pending = true;\r\n while (index < arguments.length)\r\n params[offset++] = arguments[index++];\r\n return new Promise(function executor(resolve, reject) {\r\n params[offset] = function callback(err/*, varargs */) {\r\n if (pending) {\r\n pending = false;\r\n if (err)\r\n reject(err);\r\n else {\r\n var params = new Array(arguments.length - 1),\r\n offset = 0;\r\n while (offset < params.length)\r\n params[offset++] = arguments[offset];\r\n resolve.apply(null, params);\r\n }\r\n }\r\n };\r\n try {\r\n fn.apply(ctx || null, params);\r\n } catch (err) {\r\n if (pending) {\r\n pending = false;\r\n reject(err);\r\n }\r\n }\r\n });\r\n}\r\n", "\"use strict\";\r\n\r\n/**\r\n * A minimal base64 implementation for number arrays.\r\n * @memberof util\r\n * @namespace\r\n */\r\nvar base64 = exports;\r\n\r\n/**\r\n * Calculates the byte length of a base64 encoded string.\r\n * @param {string} string Base64 encoded string\r\n * @returns {number} Byte length\r\n */\r\nbase64.length = function length(string) {\r\n var p = string.length;\r\n if (!p)\r\n return 0;\r\n var n = 0;\r\n while (--p % 4 > 1 && string.charAt(p) === \"=\")\r\n ++n;\r\n return Math.ceil(string.length * 3) / 4 - n;\r\n};\r\n\r\n// Base64 encoding table\r\nvar b64 = new Array(64);\r\n\r\n// Base64 decoding table\r\nvar s64 = new Array(123);\r\n\r\n// 65..90, 97..122, 48..57, 43, 47\r\nfor (var i = 0; i < 64;)\r\n s64[b64[i] = i < 26 ? i + 65 : i < 52 ? i + 71 : i < 62 ? i - 4 : i - 59 | 43] = i++;\r\n\r\n/**\r\n * Encodes a buffer to a base64 encoded string.\r\n * @param {Uint8Array} buffer Source buffer\r\n * @param {number} start Source start\r\n * @param {number} end Source end\r\n * @returns {string} Base64 encoded string\r\n */\r\nbase64.encode = function encode(buffer, start, end) {\r\n var parts = null,\r\n chunk = [];\r\n var i = 0, // output index\r\n j = 0, // goto index\r\n t; // temporary\r\n while (start < end) {\r\n var b = buffer[start++];\r\n switch (j) {\r\n case 0:\r\n chunk[i++] = b64[b >> 2];\r\n t = (b & 3) << 4;\r\n j = 1;\r\n break;\r\n case 1:\r\n chunk[i++] = b64[t | b >> 4];\r\n t = (b & 15) << 2;\r\n j = 2;\r\n break;\r\n case 2:\r\n chunk[i++] = b64[t | b >> 6];\r\n chunk[i++] = b64[b & 63];\r\n j = 0;\r\n break;\r\n }\r\n if (i > 8191) {\r\n (parts || (parts = [])).push(String.fromCharCode.apply(String, chunk));\r\n i = 0;\r\n }\r\n }\r\n if (j) {\r\n chunk[i++] = b64[t];\r\n chunk[i++] = 61;\r\n if (j === 1)\r\n chunk[i++] = 61;\r\n }\r\n if (parts) {\r\n if (i)\r\n parts.push(String.fromCharCode.apply(String, chunk.slice(0, i)));\r\n return parts.join(\"\");\r\n }\r\n return String.fromCharCode.apply(String, chunk.slice(0, i));\r\n};\r\n\r\nvar invalidEncoding = \"invalid encoding\";\r\n\r\n/**\r\n * Decodes a base64 encoded string to a buffer.\r\n * @param {string} string Source string\r\n * @param {Uint8Array} buffer Destination buffer\r\n * @param {number} offset Destination offset\r\n * @returns {number} Number of bytes written\r\n * @throws {Error} If encoding is invalid\r\n */\r\nbase64.decode = function decode(string, buffer, offset) {\r\n var start = offset;\r\n var j = 0, // goto index\r\n t; // temporary\r\n for (var i = 0; i < string.length;) {\r\n var c = string.charCodeAt(i++);\r\n if (c === 61 && j > 1)\r\n break;\r\n if ((c = s64[c]) === undefined)\r\n throw Error(invalidEncoding);\r\n switch (j) {\r\n case 0:\r\n t = c;\r\n j = 1;\r\n break;\r\n case 1:\r\n buffer[offset++] = t << 2 | (c & 48) >> 4;\r\n t = c;\r\n j = 2;\r\n break;\r\n case 2:\r\n buffer[offset++] = (t & 15) << 4 | (c & 60) >> 2;\r\n t = c;\r\n j = 3;\r\n break;\r\n case 3:\r\n buffer[offset++] = (t & 3) << 6 | c;\r\n j = 0;\r\n break;\r\n }\r\n }\r\n if (j === 1)\r\n throw Error(invalidEncoding);\r\n return offset - start;\r\n};\r\n\r\n/**\r\n * Tests if the specified string appears to be base64 encoded.\r\n * @param {string} string String to test\r\n * @returns {boolean} `true` if probably base64 encoded, otherwise false\r\n */\r\nbase64.test = function test(string) {\r\n return /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(string);\r\n};\r\n", "\"use strict\";\r\nmodule.exports = EventEmitter;\r\n\r\n/**\r\n * Constructs a new event emitter instance.\r\n * @classdesc A minimal event emitter.\r\n * @memberof util\r\n * @constructor\r\n */\r\nfunction EventEmitter() {\r\n\r\n /**\r\n * Registered listeners.\r\n * @type {Object.<string,*>}\r\n * @private\r\n */\r\n this._listeners = {};\r\n}\r\n\r\n/**\r\n * Registers an event listener.\r\n * @param {string} evt Event name\r\n * @param {function} fn Listener\r\n * @param {*} [ctx] Listener context\r\n * @returns {util.EventEmitter} `this`\r\n */\r\nEventEmitter.prototype.on = function on(evt, fn, ctx) {\r\n (this._listeners[evt] || (this._listeners[evt] = [])).push({\r\n fn : fn,\r\n ctx : ctx || this\r\n });\r\n return this;\r\n};\r\n\r\n/**\r\n * Removes an event listener or any matching listeners if arguments are omitted.\r\n * @param {string} [evt] Event name. Removes all listeners if omitted.\r\n * @param {function} [fn] Listener to remove. Removes all listeners of `evt` if omitted.\r\n * @returns {util.EventEmitter} `this`\r\n */\r\nEventEmitter.prototype.off = function off(evt, fn) {\r\n if (evt === undefined)\r\n this._listeners = {};\r\n else {\r\n if (fn === undefined)\r\n this._listeners[evt] = [];\r\n else {\r\n var listeners = this._listeners[evt];\r\n for (var i = 0; i < listeners.length;)\r\n if (listeners[i].fn === fn)\r\n listeners.splice(i, 1);\r\n else\r\n ++i;\r\n }\r\n }\r\n return this;\r\n};\r\n\r\n/**\r\n * Emits an event by calling its listeners with the specified arguments.\r\n * @param {string} evt Event name\r\n * @param {...*} args Arguments\r\n * @returns {util.EventEmitter} `this`\r\n */\r\nEventEmitter.prototype.emit = function emit(evt) {\r\n var listeners = this._listeners[evt];\r\n if (listeners) {\r\n var args = [],\r\n i = 1;\r\n for (; i < arguments.length;)\r\n args.push(arguments[i++]);\r\n for (i = 0; i < listeners.length;)\r\n listeners[i].fn.apply(listeners[i++].ctx, args);\r\n }\r\n return this;\r\n};\r\n", "\"use strict\";\r\n\r\nmodule.exports = factory(factory);\r\n\r\n/**\r\n * Reads / writes floats / doubles from / to buffers.\r\n * @name util.float\r\n * @namespace\r\n */\r\n\r\n/**\r\n * Writes a 32 bit float to a buffer using little endian byte order.\r\n * @name util.float.writeFloatLE\r\n * @function\r\n * @param {number} val Value to write\r\n * @param {Uint8Array} buf Target buffer\r\n * @param {number} pos Target buffer offset\r\n * @returns {undefined}\r\n */\r\n\r\n/**\r\n * Writes a 32 bit float to a buffer using big endian byte order.\r\n * @name util.float.writeFloatBE\r\n * @function\r\n * @param {number} val Value to write\r\n * @param {Uint8Array} buf Target buffer\r\n * @param {number} pos Target buffer offset\r\n * @returns {undefined}\r\n */\r\n\r\n/**\r\n * Reads a 32 bit float from a buffer using little endian byte order.\r\n * @name util.float.readFloatLE\r\n * @function\r\n * @param {Uint8Array} buf Source buffer\r\n * @param {number} pos Source buffer offset\r\n * @returns {number} Value read\r\n */\r\n\r\n/**\r\n * Reads a 32 bit float from a buffer using big endian byte order.\r\n * @name util.float.readFloatBE\r\n * @function\r\n * @param {Uint8Array} buf Source buffer\r\n * @param {number} pos Source buffer offset\r\n * @returns {number} Value read\r\n */\r\n\r\n/**\r\n * Writes a 64 bit double to a buffer using little endian byte order.\r\n * @name util.float.writeDoubleLE\r\n * @function\r\n * @param {number} val Value to write\r\n * @param {Uint8Array} buf Target buffer\r\n * @param {number} pos Target buffer offset\r\n * @returns {undefined}\r\n */\r\n\r\n/**\r\n * Writes a 64 bit double to a buffer using big endian byte order.\r\n * @name util.float.writeDoubleBE\r\n * @function\r\n * @param {number} val Value to write\r\n * @param {Uint8Array} buf Target buffer\r\n * @param {number} pos Target buffer offset\r\n * @returns {undefined}\r\n */\r\n\r\n/**\r\n * Reads a 64 bit double from a buffer using little endian byte order.\r\n * @name util.float.readDoubleLE\r\n * @function\r\n * @param {Uint8Array} buf Source buffer\r\n * @param {number} pos Source buffer offset\r\n * @returns {number} Value read\r\n */\r\n\r\n/**\r\n * Reads a 64 bit double from a buffer using big endian byte order.\r\n * @name util.float.readDoubleBE\r\n * @function\r\n * @param {Uint8Array} buf Source buffer\r\n * @param {number} pos Source buffer offset\r\n * @returns {number} Value read\r\n */\r\n\r\n// Factory function for the purpose of node-based testing in modified global environments\r\nfunction factory(exports) {\r\n\r\n // float: typed array\r\n if (typeof Float32Array !== \"undefined\") (function() {\r\n\r\n var f32 = new Float32Array([ -0 ]),\r\n f8b = new Uint8Array(f32.buffer),\r\n le = f8b[3] === 128;\r\n\r\n function writeFloat_f32_cpy(val, buf, pos) {\r\n f32[0] = val;\r\n buf[pos ] = f8b[0];\r\n buf[pos + 1] = f8b[1];\r\n buf[pos + 2] = f8b[2];\r\n buf[pos + 3] = f8b[3];\r\n }\r\n\r\n function writeFloat_f32_rev(val, buf, pos) {\r\n f32[0] = val;\r\n buf[pos ] = f8b[3];\r\n buf[pos + 1] = f8b[2];\r\n buf[pos + 2] = f8b[1];\r\n buf[pos + 3] = f8b[0];\r\n }\r\n\r\n /* istanbul ignore next */\r\n exports.writeFloatLE = le ? writeFloat_f32_cpy : writeFloat_f32_rev;\r\n /* istanbul ignore next */\r\n exports.writeFloatBE = le ? writeFloat_f32_rev : writeFloat_f32_cpy;\r\n\r\n function readFloat_f32_cpy(buf, pos) {\r\n f8b[0] = buf[pos ];\r\n f8b[1] = buf[pos + 1];\r\n f8b[2] = buf[pos + 2];\r\n f8b[3] = buf[pos + 3];\r\n return f32[0];\r\n }\r\n\r\n function readFloat_f32_rev(buf, pos) {\r\n f8b[3] = buf[pos ];\r\n f8b[2] = buf[pos + 1];\r\n f8b[1] = buf[pos + 2];\r\n f8b[0] = buf[pos + 3];\r\n return f32[0];\r\n }\r\n\r\n /* istanbul ignore next */\r\n exports.readFloatLE = le ? readFloat_f32_cpy : readFloat_f32_rev;\r\n /* istanbul ignore next */\r\n exports.readFloatBE = le ? readFloat_f32_rev : readFloat_f32_cpy;\r\n\r\n // float: ieee754\r\n })(); else (function() {\r\n\r\n function writeFloat_ieee754(writeUint, val, buf, pos) {\r\n var sign = val < 0 ? 1 : 0;\r\n if (sign)\r\n val = -val;\r\n if (val === 0)\r\n writeUint(1 / val > 0 ? /* positive */ 0 : /* negative 0 */ 2147483648, buf, pos);\r\n else if (isNaN(val))\r\n writeUint(2143289344, buf, pos);\r\n else if (val > 3.4028234663852886e+38) // +-Infinity\r\n writeUint((sign << 31 | 2139095040) >>> 0, buf, pos);\r\n else if (val < 1.1754943508222875e-38) // denormal\r\n writeUint((sign << 31 | Math.round(val / 1.401298464324817e-45)) >>> 0, buf, pos);\r\n else {\r\n var exponent = Math.floor(Math.log(val) / Math.LN2),\r\n mantissa = Math.round(val * Math.pow(2, -exponent) * 8388608) & 8388607;\r\n writeUint((sign << 31 | exponent + 127 << 23 | mantissa) >>> 0, buf, pos);\r\n }\r\n }\r\n\r\n exports.writeFloatLE = writeFloat_ieee754.bind(null, writeUintLE);\r\n exports.writeFloatBE = writeFloat_ieee754.bind(null, writeUintBE);\r\n\r\n function readFloat_ieee754(readUint, buf, pos) {\r\n var uint = readUint(buf, pos),\r\n sign = (uint >> 31) * 2 + 1,\r\n exponent = uint >>> 23 & 255,\r\n mantissa = uint & 8388607;\r\n return exponent === 255\r\n ? mantissa\r\n ? NaN\r\n : sign * Infinity\r\n : exponent === 0 // denormal\r\n ? sign * 1.401298464324817e-45 * mantissa\r\n : sign * Math.pow(2, exponent - 150) * (mantissa + 8388608);\r\n }\r\n\r\n exports.readFloatLE = readFloat_ieee754.bind(null, readUintLE);\r\n exports.readFloatBE = readFloat_ieee754.bind(null, readUintBE);\r\n\r\n })();\r\n\r\n // double: typed array\r\n if (typeof Float64Array !== \"undefined\") (function() {\r\n\r\n var f64 = new Float64Array([-0]),\r\n f8b = new Uint8Array(f64.buffer),\r\n le = f8b[7] === 128;\r\n\r\n function writeDouble_f64_cpy(val, buf, pos) {\r\n f64[0] = val;\r\n buf[pos ] = f8b[0];\r\n buf[pos + 1] = f8b[1];\r\n buf[pos + 2] = f8b[2];\r\n buf[pos + 3] = f8b[3];\r\n buf[pos + 4] = f8b[4];\r\n buf[pos + 5] = f8b[5];\r\n buf[pos + 6] = f8b[6];\r\n buf[pos + 7] = f8b[7];\r\n }\r\n\r\n function writeDouble_f64_rev(val, buf, pos) {\r\n f64[0] = val;\r\n buf[pos ] = f8b[7];\r\n buf[pos + 1] = f8b[6];\r\n buf[pos + 2] = f8b[5];\r\n buf[pos + 3] = f8b[4];\r\n buf[pos + 4] = f8b[3];\r\n buf[pos + 5] = f8b[2];\r\n buf[pos + 6] = f8b[1];\r\n buf[pos + 7] = f8b[0];\r\n }\r\n\r\n /* istanbul ignore next */\r\n exports.writeDoubleLE = le ? writeDouble_f64_cpy : writeDouble_f64_rev;\r\n /* istanbul ignore next */\r\n exports.writeDoubleBE = le ? writeDouble_f64_rev : writeDouble_f64_cpy;\r\n\r\n function readDouble_f64_cpy(buf, pos) {\r\n f8b[0] = buf[pos ];\r\n f8b[1] = buf[pos + 1];\r\n f8b[2] = buf[pos + 2];\r\n f8b[3] = buf[pos + 3];\r\n f8b[4] = buf[pos + 4];\r\n f8b[5] = buf[pos + 5];\r\n f8b[6] = buf[pos + 6];\r\n f8b[7] = buf[pos + 7];\r\n return f64[0];\r\n }\r\n\r\n function readDouble_f64_rev(buf, pos) {\r\n f8b[7] = buf[pos ];\r\n f8b[6] = buf[pos + 1];\r\n f8b[5] = buf[pos + 2];\r\n f8b[4] = buf[pos + 3];\r\n f8b[3] = buf[pos + 4];\r\n f8b[2] = buf[pos + 5];\r\n f8b[1] = buf[pos + 6];\r\n f8b[0] = buf[pos + 7];\r\n return f64[0];\r\n }\r\n\r\n /* istanbul ignore next */\r\n exports.readDoubleLE = le ? readDouble_f64_cpy : readDouble_f64_rev;\r\n /* istanbul ignore next */\r\n exports.readDoubleBE = le ? readDouble_f64_rev : readDouble_f64_cpy;\r\n\r\n // double: ieee754\r\n })(); else (function() {\r\n\r\n function writeDouble_ieee754(writeUint, off0, off1, val, buf, pos) {\r\n var sign = val < 0 ? 1 : 0;\r\n if (sign)\r\n val = -val;\r\n if (val === 0) {\r\n writeUint(0, buf, pos + off0);\r\n writeUint(1 / val > 0 ? /* positive */ 0 : /* negative 0 */ 2147483648, buf, pos + off1);\r\n } else if (isNaN(val)) {\r\n writeUint(0, buf, pos + off0);\r\n writeUint(2146959360, buf, pos + off1);\r\n } else if (val > 1.7976931348623157e+308) { // +-Infinity\r\n writeUint(0, buf, pos + off0);\r\n writeUint((sign << 31 | 2146435072) >>> 0, buf, pos + off1);\r\n } else {\r\n var mantissa;\r\n if (val < 2.2250738585072014e-308) { // denormal\r\n mantissa = val / 5e-324;\r\n writeUint(mantissa >>> 0, buf, pos + off0);\r\n writeUint((sign << 31 | mantissa / 4294967296) >>> 0, buf, pos + off1);\r\n } else {\r\n var exponent = Math.floor(Math.log(val) / Math.LN2);\r\n if (exponent === 1024)\r\n exponent = 1023;\r\n mantissa = val * Math.pow(2, -exponent);\r\n writeUint(mantissa * 4503599627370496 >>> 0, buf, pos + off0);\r\n writeUint((sign << 31 | exponent + 1023 << 20 | mantissa * 1048576 & 1048575) >>> 0, buf, pos + off1);\r\n }\r\n }\r\n }\r\n\r\n exports.writeDoubleLE = writeDouble_ieee754.bind(null, writeUintLE, 0, 4);\r\n exports.writeDoubleBE = writeDouble_ieee754.bind(null, writeUintBE, 4, 0);\r\n\r\n function readDouble_ieee754(readUint, off0, off1, buf, pos) {\r\n var lo = readUint(buf, pos + off0),\r\n hi = readUint(buf, pos + off1);\r\n var sign = (hi >> 31) * 2 + 1,\r\n exponent = hi >>> 20 & 2047,\r\n mantissa = 4294967296 * (hi & 1048575) + lo;\r\n return exponent === 2047\r\n ? mantissa\r\n ? NaN\r\n : sign * Infinity\r\n : exponent === 0 // denormal\r\n ? sign * 5e-324 * mantissa\r\n : sign * Math.pow(2, exponent - 1075) * (mantissa + 4503599627370496);\r\n }\r\n\r\n exports.readDoubleLE = readDouble_ieee754.bind(null, readUintLE, 0, 4);\r\n exports.readDoubleBE = readDouble_ieee754.bind(null, readUintBE, 4, 0);\r\n\r\n })();\r\n\r\n return exports;\r\n}\r\n\r\n// uint helpers\r\n\r\nfunction writeUintLE(val, buf, pos) {\r\n buf[pos ] = val & 255;\r\n buf[pos + 1] = val >>> 8 & 255;\r\n buf[pos + 2] = val >>> 16 & 255;\r\n buf[pos + 3] = val >>> 24;\r\n}\r\n\r\nfunction writeUintBE(val, buf, pos) {\r\n buf[pos ] = val >>> 24;\r\n buf[pos + 1] = val >>> 16 & 255;\r\n buf[pos + 2] = val >>> 8 & 255;\r\n buf[pos + 3] = val & 255;\r\n}\r\n\r\nfunction readUintLE(buf, pos) {\r\n return (buf[pos ]\r\n | buf[pos + 1] << 8\r\n | buf[pos + 2] << 16\r\n | buf[pos + 3] << 24) >>> 0;\r\n}\r\n\r\nfunction readUintBE(buf, pos) {\r\n return (buf[pos ] << 24\r\n | buf[pos + 1] << 16\r\n | buf[pos + 2] << 8\r\n | buf[pos + 3]) >>> 0;\r\n}\r\n", "\"use strict\";\r\nmodule.exports = inquire;\r\n\r\n/**\r\n * Requires a module only if available.\r\n * @memberof util\r\n * @param {string} moduleName Module to require\r\n * @returns {?Object} Required module if available and not empty, otherwise `null`\r\n */\r\nfunction inquire(moduleName) {\r\n try {\r\n var mod = eval(\"quire\".replace(/^/,\"re\"))(moduleName); // eslint-disable-line no-eval\r\n if (mod && (mod.length || Object.keys(mod).length))\r\n return mod;\r\n } catch (e) {} // eslint-disable-line no-empty\r\n return null;\r\n}\r\n", "\"use strict\";\r\n\r\n/**\r\n * A minimal UTF8 implementation for number arrays.\r\n * @memberof util\r\n * @namespace\r\n */\r\nvar utf8 = exports;\r\n\r\n/**\r\n * Calculates the UTF8 byte length of a string.\r\n * @param {string} string String\r\n * @returns {number} Byte length\r\n */\r\nutf8.length = function utf8_length(string) {\r\n var len = 0,\r\n c = 0;\r\n for (var i = 0; i < string.length; ++i) {\r\n c = string.charCodeAt(i);\r\n if (c < 128)\r\n len += 1;\r\n else if (c < 2048)\r\n len += 2;\r\n else if ((c & 0xFC00) === 0xD800 && (string.charCodeAt(i + 1) & 0xFC00) === 0xDC00) {\r\n ++i;\r\n len += 4;\r\n } else\r\n len += 3;\r\n }\r\n return len;\r\n};\r\n\r\n/**\r\n * Reads UTF8 bytes as a string.\r\n * @param {Uint8Array} buffer Source buffer\r\n * @param {number} start Source start\r\n * @param {number} end Source end\r\n * @returns {string} String read\r\n */\r\nutf8.read = function utf8_read(buffer, start, end) {\r\n var len = end - start;\r\n if (len < 1)\r\n return \"\";\r\n var parts = null,\r\n chunk = [],\r\n i = 0, // char offset\r\n t; // temporary\r\n while (start < end) {\r\n t = buffer[start++];\r\n if (t < 128)\r\n chunk[i++] = t;\r\n else if (t > 191 && t < 224)\r\n chunk[i++] = (t & 31) << 6 | buffer[start++] & 63;\r\n else if (t > 239 && t < 365) {\r\n t = ((t & 7) << 18 | (buffer[start++] & 63) << 12 | (buffer[start++] & 63) << 6 | buffer[start++] & 63) - 0x10000;\r\n chunk[i++] = 0xD800 + (t >> 10);\r\n chunk[i++] = 0xDC00 + (t & 1023);\r\n } else\r\n chunk[i++] = (t & 15) << 12 | (buffer[start++] & 63) << 6 | buffer[start++] & 63;\r\n if (i > 8191) {\r\n (parts || (parts = [])).push(String.fromCharCode.apply(String, chunk));\r\n i = 0;\r\n }\r\n }\r\n if (parts) {\r\n if (i)\r\n parts.push(String.fromCharCode.apply(String, chunk.slice(0, i)));\r\n return parts.join(\"\");\r\n }\r\n return String.fromCharCode.apply(String, chunk.slice(0, i));\r\n};\r\n\r\n/**\r\n * Writes a string as UTF8 bytes.\r\n * @param {string} string Source string\r\n * @param {Uint8Array} buffer Destination buffer\r\n * @param {number} offset Destination offset\r\n * @returns {number} Bytes written\r\n */\r\nutf8.write = function utf8_write(string, buffer, offset) {\r\n var start = offset,\r\n c1, // character 1\r\n c2; // character 2\r\n for (var i = 0; i < string.length; ++i) {\r\n c1 = string.charCodeAt(i);\r\n if (c1 < 128) {\r\n buffer[offset++] = c1;\r\n } else if (c1 < 2048) {\r\n buffer[offset++] = c1 >> 6 | 192;\r\n buffer[offset++] = c1 & 63 | 128;\r\n } else if ((c1 & 0xFC00) === 0xD800 && ((c2 = string.charCodeAt(i + 1)) & 0xFC00) === 0xDC00) {\r\n c1 = 0x10000 + ((c1 & 0x03FF) << 10) + (c2 & 0x03FF);\r\n ++i;\r\n buffer[offset++] = c1 >> 18 | 240;\r\n buffer[offset++] = c1 >> 12 & 63 | 128;\r\n buffer[offset++] = c1 >> 6 & 63 | 128;\r\n buffer[offset++] = c1 & 63 | 128;\r\n } else {\r\n buffer[offset++] = c1 >> 12 | 224;\r\n buffer[offset++] = c1 >> 6 & 63 | 128;\r\n buffer[offset++] = c1 & 63 | 128;\r\n }\r\n }\r\n return offset - start;\r\n};\r\n", "\"use strict\";\r\nmodule.exports = pool;\r\n\r\n/**\r\n * An allocator as used by {@link util.pool}.\r\n * @typedef PoolAllocator\r\n * @type {function}\r\n * @param {number} size Buffer size\r\n * @returns {Uint8Array} Buffer\r\n */\r\n\r\n/**\r\n * A slicer as used by {@link util.pool}.\r\n * @typedef PoolSlicer\r\n * @type {function}\r\n * @param {number} start Start offset\r\n * @param {number} end End offset\r\n * @returns {Uint8Array} Buffer slice\r\n * @this {Uint8Array}\r\n */\r\n\r\n/**\r\n * A general purpose buffer pool.\r\n * @memberof util\r\n * @function\r\n * @param {PoolAllocator} alloc Allocator\r\n * @param {PoolSlicer} slice Slicer\r\n * @param {number} [size=8192] Slab size\r\n * @returns {PoolAllocator} Pooled allocator\r\n */\r\nfunction pool(alloc, slice, size) {\r\n var SIZE = size || 8192;\r\n var MAX = SIZE >>> 1;\r\n var slab = null;\r\n var offset = SIZE;\r\n return function pool_alloc(size) {\r\n if (size < 1 || size > MAX)\r\n return alloc(size);\r\n if (offset + size > SIZE) {\r\n slab = alloc(SIZE);\r\n offset = 0;\r\n }\r\n var buf = slice.call(slab, offset, offset += size);\r\n if (offset & 7) // align to 32 bit\r\n offset = (offset | 7) + 1;\r\n return buf;\r\n };\r\n}\r\n", "\"use strict\";\nmodule.exports = LongBits;\n\nvar util = require(\"../util/minimal\");\n\n/**\n * Constructs new long bits.\n * @classdesc Helper class for working with the low and high bits of a 64 bit value.\n * @memberof util\n * @constructor\n * @param {number} lo Low 32 bits, unsigned\n * @param {number} hi High 32 bits, unsigned\n */\nfunction LongBits(lo, hi) {\n\n // note that the casts below are theoretically unnecessary as of today, but older statically\n // generated converter code might still call the ctor with signed 32bits. kept for compat.\n\n /**\n * Low bits.\n * @type {number}\n */\n this.lo = lo >>> 0;\n\n /**\n * High bits.\n * @type {number}\n */\n this.hi = hi >>> 0;\n}\n\n/**\n * Zero bits.\n * @memberof util.LongBits\n * @type {util.LongBits}\n */\nvar zero = LongBits.zero = new LongBits(0, 0);\n\nzero.toNumber = function() { return 0; };\nzero.zzEncode = zero.zzDecode = function() { return this; };\nzero.length = function() { return 1; };\n\n/**\n * Zero hash.\n * @memberof util.LongBits\n * @type {string}\n */\nvar zeroHash = LongBits.zeroHash = \"\\0\\0\\0\\0\\0\\0\\0\\0\";\n\n/**\n * Constructs new long bits from the specified number.\n * @param {number} value Value\n * @returns {util.LongBits} Instance\n */\nLongBits.fromNumber = function fromNumber(value) {\n if (value === 0)\n return zero;\n var sign = value < 0;\n if (sign)\n value = -value;\n var lo = value >>> 0,\n hi = (value - lo) / 4294967296 >>> 0;\n if (sign) {\n hi = ~hi >>> 0;\n lo = ~lo >>> 0;\n if (++lo > 4294967295) {\n lo = 0;\n if (++hi > 4294967295)\n hi = 0;\n }\n }\n return new LongBits(lo, hi);\n};\n\n/**\n * Constructs new long bits from a number, long or string.\n * @param {Long|number|string} value Value\n * @returns {util.LongBits} Instance\n */\nLongBits.from = function from(value) {\n if (typeof value === \"number\")\n return LongBits.fromNumber(value);\n if (util.isString(value)) {\n /* istanbul ignore else */\n if (util.Long)\n value = util.Long.fromString(value);\n else\n return LongBits.fromNumber(parseInt(value, 10));\n }\n return value.low || value.high ? new LongBits(value.low >>> 0, value.high >>> 0) : zero;\n};\n\n/**\n * Converts this long bits to a possibly unsafe JavaScript number.\n * @param {boolean} [unsigned=false] Whether unsigned or not\n * @returns {number} Possibly unsafe number\n */\nLongBits.prototype.toNumber = function toNumber(unsigned) {\n if (!unsigned && this.hi >>> 31) {\n var lo = ~this.lo + 1 >>> 0,\n hi = ~this.hi >>> 0;\n if (!lo)\n hi = hi + 1 >>> 0;\n return -(lo + hi * 4294967296);\n }\n return this.lo + this.hi * 4294967296;\n};\n\n/**\n * Converts this long bits to a long.\n * @param {boolean} [unsigned=false] Whether unsigned or not\n * @returns {Long} Long\n */\nLongBits.prototype.toLong = function toLong(unsigned) {\n return util.Long\n ? new util.Long(this.lo | 0, this.hi | 0, Boolean(unsigned))\n /* istanbul ignore next */\n : { low: this.lo | 0, high: this.hi | 0, unsigned: Boolean(unsigned) };\n};\n\nvar charCodeAt = String.prototype.charCodeAt;\n\n/**\n * Constructs new long bits from the specified 8 characters long hash.\n * @param {string} hash Hash\n * @returns {util.LongBits} Bits\n */\nLongBits.fromHash = function fromHash(hash) {\n if (hash === zeroHash)\n return zero;\n return new LongBits(\n ( charCodeAt.call(hash, 0)\n | charCodeAt.call(hash, 1) << 8\n | charCodeAt.call(hash, 2) << 16\n | charCodeAt.call(hash, 3) << 24) >>> 0\n ,\n ( charCodeAt.call(hash, 4)\n | charCodeAt.call(hash, 5) << 8\n | charCodeAt.call(hash, 6) << 16\n | charCodeAt.call(hash, 7) << 24) >>> 0\n );\n};\n\n/**\n * Converts this long bits to a 8 characters long hash.\n * @returns {string} Hash\n */\nLongBits.prototype.toHash = function toHash() {\n return String.fromCharCode(\n this.lo & 255,\n this.lo >>> 8 & 255,\n this.lo >>> 16 & 255,\n this.lo >>> 24 ,\n this.hi & 255,\n this.hi >>> 8 & 255,\n this.hi >>> 16 & 255,\n this.hi >>> 24\n );\n};\n\n/**\n * Zig-zag encodes this long bits.\n * @returns {util.LongBits} `this`\n */\nLongBits.prototype.zzEncode = function zzEncode() {\n var mask = this.hi >> 31;\n this.hi = ((this.hi << 1 | this.lo >>> 31) ^ mask) >>> 0;\n this.lo = ( this.lo << 1 ^ mask) >>> 0;\n return this;\n};\n\n/**\n * Zig-zag decodes this long bits.\n * @returns {util.LongBits} `this`\n */\nLongBits.prototype.zzDecode = function zzDecode() {\n var mask = -(this.lo & 1);\n this.lo = ((this.lo >>> 1 | this.hi << 31) ^ mask) >>> 0;\n this.hi = ( this.hi >>> 1 ^ mask) >>> 0;\n return this;\n};\n\n/**\n * Calculates the length of this longbits when encoded as a varint.\n * @returns {number} Length\n */\nLongBits.prototype.length = function length() {\n var part0 = this.lo,\n part1 = (this.lo >>> 28 | this.hi << 4) >>> 0,\n part2 = this.hi >>> 24;\n return part2 === 0\n ? part1 === 0\n ? part0 < 16384\n ? part0 < 128 ? 1 : 2\n : part0 < 2097152 ? 3 : 4\n : part1 < 16384\n ? part1 < 128 ? 5 : 6\n : part1 < 2097152 ? 7 : 8\n : part2 < 128 ? 9 : 10;\n};\n", "\"use strict\";\nvar util = exports;\n\n// used to return a Promise where callback is omitted\nutil.asPromise = require(\"@protobufjs/aspromise\");\n\n// converts to / from base64 encoded strings\nutil.base64 = require(\"@protobufjs/base64\");\n\n// base class of rpc.Service\nutil.EventEmitter = require(\"@protobufjs/eventemitter\");\n\n// float handling accross browsers\nutil.float = require(\"@protobufjs/float\");\n\n// requires modules optionally and hides the call from bundlers\nutil.inquire = require(\"@protobufjs/inquire\");\n\n// converts to / from utf8 encoded strings\nutil.utf8 = require(\"@protobufjs/utf8\");\n\n// provides a node-like buffer pool in the browser\nutil.pool = require(\"@protobufjs/pool\");\n\n// utility to work with the low and high bits of a 64 bit value\nutil.LongBits = require(\"./longbits\");\n\n/**\n * Whether running within node or not.\n * @memberof util\n * @type {boolean}\n */\nutil.isNode = Boolean(typeof global !== \"undefined\"\n && global\n && global.process\n && global.process.versions\n && global.process.versions.node);\n\n/**\n * Global object reference.\n * @memberof util\n * @type {Object}\n */\nutil.global = util.isNode && global\n || typeof window !== \"undefined\" && window\n || typeof self !== \"undefined\" && self\n || this; // eslint-disable-line no-invalid-this\n\n/**\n * An immuable empty array.\n * @memberof util\n * @type {Array.<*>}\n * @const\n */\nutil.emptyArray = Object.freeze ? Object.freeze([]) : /* istanbul ignore next */ []; // used on prototypes\n\n/**\n * An immutable empty object.\n * @type {Object}\n * @const\n */\nutil.emptyObject = Object.freeze ? Object.freeze({}) : /* istanbul ignore next */ {}; // used on prototypes\n\n/**\n * Tests if the specified value is an integer.\n * @function\n * @param {*} value Value to test\n * @returns {boolean} `true` if the value is an integer\n */\nutil.isInteger = Number.isInteger || /* istanbul ignore next */ function isInteger(value) {\n return typeof value === \"number\" && isFinite(value) && Math.floor(value) === value;\n};\n\n/**\n * Tests if the specified value is a string.\n * @param {*} value Value to test\n * @returns {boolean} `true` if the value is a string\n */\nutil.isString = function isString(value) {\n return typeof value === \"string\" || value instanceof String;\n};\n\n/**\n * Tests if the specified value is a non-null object.\n * @param {*} value Value to test\n * @returns {boolean} `true` if the value is a non-null object\n */\nutil.isObject = function isObject(value) {\n return value && typeof value === \"object\";\n};\n\n/**\n * Checks if a property on a message is considered to be present.\n * This is an alias of {@link util.isSet}.\n * @function\n * @param {Object} obj Plain object or message instance\n * @param {string} prop Property name\n * @returns {boolean} `true` if considered to be present, otherwise `false`\n */\nutil.isset =\n\n/**\n * Checks if a property on a message is considered to be present.\n * @param {Object} obj Plain object or message instance\n * @param {string} prop Property name\n * @returns {boolean} `true` if considered to be present, otherwise `false`\n */\nutil.isSet = function isSet(obj, prop) {\n var value = obj[prop];\n if (value != null && obj.hasOwnProperty(prop)) // eslint-disable-line eqeqeq, no-prototype-builtins\n return typeof value !== \"object\" || (Array.isArray(value) ? value.length : Object.keys(value).length) > 0;\n return false;\n};\n\n/**\n * Any compatible Buffer instance.\n * This is a minimal stand-alone definition of a Buffer instance. The actual type is that exported by node's typings.\n * @interface Buffer\n * @extends Uint8Array\n */\n\n/**\n * Node's Buffer class if available.\n * @type {Constructor<Buffer>}\n */\nutil.Buffer = (function() {\n try {\n var Buffer = util.inquire(\"buffer\").Buffer;\n // refuse to use non-node buffers if not explicitly assigned (perf reasons):\n return Buffer.prototype.utf8Write ? Buffer : /* istanbul ignore next */ null;\n } catch (e) {\n /* istanbul ignore next */\n return null;\n }\n})();\n\n// Internal alias of or polyfull for Buffer.from.\nutil._Buffer_from = null;\n\n// Internal alias of or polyfill for Buffer.allocUnsafe.\nutil._Buffer_allocUnsafe = null;\n\n/**\n * Creates a new buffer of whatever type supported by the environment.\n * @param {number|number[]} [sizeOrArray=0] Buffer size or number array\n * @returns {Uint8Array|Buffer} Buffer\n */\nutil.newBuffer = function newBuffer(sizeOrArray) {\n /* istanbul ignore next */\n return typeof sizeOrArray === \"number\"\n ? util.Buffer\n ? util._Buffer_allocUnsafe(sizeOrArray)\n : new util.Array(sizeOrArray)\n : util.Buffer\n ? util._Buffer_from(sizeOrArray)\n : typeof Uint8Array === \"undefined\"\n ? sizeOrArray\n : new Uint8Array(sizeOrArray);\n};\n\n/**\n * Array implementation used in the browser. `Uint8Array` if supported, otherwise `Array`.\n * @type {Constructor<Uint8Array>}\n */\nutil.Array = typeof Uint8Array !== \"undefined\" ? Uint8Array /* istanbul ignore next */ : Array;\n\n/**\n * Any compatible Long instance.\n * This is a minimal stand-alone definition of a Long instance. The actual type is that exported by long.js.\n * @interface Long\n * @property {number} low Low bits\n * @property {number} high High bits\n * @property {boolean} unsigned Whether unsigned or not\n */\n\n/**\n * Long.js's Long class if available.\n * @type {Constructor<Long>}\n */\nutil.Long = /* istanbul ignore next */ util.global.dcodeIO && /* istanbul ignore next */ util.global.dcodeIO.Long\n || /* istanbul ignore next */ util.global.Long\n || util.inquire(\"long\");\n\n/**\n * Regular expression used to verify 2 bit (`bool`) map keys.\n * @type {RegExp}\n * @const\n */\nutil.key2Re = /^true|false|0|1$/;\n\n/**\n * Regular expression used to verify 32 bit (`int32` etc.) map keys.\n * @type {RegExp}\n * @const\n */\nutil.key32Re = /^-?(?:0|[1-9][0-9]*)$/;\n\n/**\n * Regular expression used to verify 64 bit (`int64` etc.) map keys.\n * @type {RegExp}\n * @const\n */\nutil.key64Re = /^(?:[\\\\x00-\\\\xff]{8}|-?(?:0|[1-9][0-9]*))$/;\n\n/**\n * Converts a number or long to an 8 characters long hash string.\n * @param {Long|number} value Value to convert\n * @returns {string} Hash\n */\nutil.longToHash = function longToHash(value) {\n return value\n ? util.LongBits.from(value).toHash()\n : util.LongBits.zeroHash;\n};\n\n/**\n * Converts an 8 characters long hash string to a long or number.\n * @param {string} hash Hash\n * @param {boolean} [unsigned=false] Whether unsigned or not\n * @returns {Long|number} Original value\n */\nutil.longFromHash = function longFromHash(hash, unsigned) {\n var bits = util.LongBits.fromHash(hash);\n if (util.Long)\n return util.Long.fromBits(bits.lo, bits.hi, unsigned);\n return bits.toNumber(Boolean(unsigned));\n};\n\n/**\n * Merges the properties of the source object into the destination object.\n * @memberof util\n * @param {Object.<string,*>} dst Destination object\n * @param {Object.<string,*>} src Source object\n * @param {boolean} [ifNotSet=false] Merges only if the key is not already set\n * @returns {Object.<string,*>} Destination object\n */\nfunction merge(dst, src, ifNotSet) { // used by converters\n for (var keys = Object.keys(src), i = 0; i < keys.length; ++i)\n if (dst[keys[i]] === undefined || !ifNotSet)\n dst[keys[i]] = src[keys[i]];\n return dst;\n}\n\nutil.merge = merge;\n\n/**\n * Converts the first character of a string to lower case.\n * @param {string} str String to convert\n * @returns {string} Converted string\n */\nutil.lcFirst = function lcFirst(str) {\n return str.charAt(0).toLowerCase() + str.substring(1);\n};\n\n/**\n * Creates a custom error constructor.\n * @memberof util\n * @param {string} name Error name\n * @returns {Constructor<Error>} Custom error constructor\n */\nfunction newError(name) {\n\n function CustomError(message, properties) {\n\n if (!(this instanceof CustomError))\n return new CustomError(message, properties);\n\n // Error.call(this, message);\n // ^ just returns a new error instance because the ctor can be called as a function\n\n Object.defineProperty(this, \"message\", { get: function() { return message; } });\n\n /* istanbul ignore next */\n if (Error.captureStackTrace) // node\n Error.captureStackTrace(this, CustomError);\n else\n Object.defineProperty(this, \"stack\", { value: new Error().stack || \"\" });\n\n if (properties)\n merge(this, properties);\n }\n\n CustomError.prototype = Object.create(Error.prototype, {\n constructor: {\n value: CustomError,\n writable: true,\n enumerable: false,\n configurable: true,\n },\n name: {\n get: function get() { return name; },\n set: undefined,\n enumerable: false,\n // configurable: false would accurately preserve the behavior of\n // the original, but I'm guessing that was not intentional.\n // For an actual error subclass, this property would\n // be configurable.\n configurable: true,\n },\n toString: {\n value: function value() { return this.name + \": \" + this.message; },\n writable: true,\n enumerable: false,\n configurable: true,\n },\n });\n\n return CustomError;\n}\n\nutil.newError = newError;\n\n/**\n * Constructs a new protocol error.\n * @classdesc Error subclass indicating a protocol specifc error.\n * @memberof util\n * @extends Error\n * @template T extends Message<T>\n * @constructor\n * @param {string} message Error message\n * @param {Object.<string,*>} [properties] Additional properties\n * @example\n * try {\n * MyMessage.decode(someBuffer); // throws if required fields are missing\n * } catch (e) {\n * if (e instanceof ProtocolError && e.instance)\n * console.log(\"decoded so far: \" + JSON.stringify(e.instance));\n * }\n */\nutil.ProtocolError = newError(\"ProtocolError\");\n\n/**\n * So far decoded message instance.\n * @name util.ProtocolError#instance\n * @type {Message<T>}\n */\n\n/**\n * A OneOf getter as returned by {@link util.oneOfGetter}.\n * @typedef OneOfGetter\n * @type {function}\n * @returns {string|undefined} Set field name, if any\n */\n\n/**\n * Builds a getter for a oneof's present field name.\n * @param {string[]} fieldNames Field names\n * @returns {OneOfGetter} Unbound getter\n */\nutil.oneOfGetter = function getOneOf(fieldNames) {\n var fieldMap = {};\n for (var i = 0; i < fieldNames.length; ++i)\n fieldMap[fieldNames[i]] = 1;\n\n /**\n * @returns {string|undefined} Set field name, if any\n * @this Object\n * @ignore\n */\n return function() { // eslint-disable-line consistent-return\n for (var keys = Object.keys(this), i = keys.length - 1; i > -1; --i)\n if (fieldMap[keys[i]] === 1 && this[keys[i]] !== undefined && this[keys[i]] !== null)\n return keys[i];\n };\n};\n\n/**\n * A OneOf setter as returned by {@link util.oneOfSetter}.\n * @typedef OneOfSetter\n * @type {function}\n * @param {string|undefined} value Field name\n * @returns {undefined}\n */\n\n/**\n * Builds a setter for a oneof's present field name.\n * @param {string[]} fieldNames Field names\n * @returns {OneOfSetter} Unbound setter\n */\nutil.oneOfSetter = function setOneOf(fieldNames) {\n\n /**\n * @param {string} name Field name\n * @returns {undefined}\n * @this Object\n * @ignore\n */\n return function(name) {\n for (var i = 0; i < fieldNames.length; ++i)\n if (fieldNames[i] !== name)\n delete this[fieldNames[i]];\n };\n};\n\n/**\n * Default conversion options used for {@link Message#toJSON} implementations.\n *\n * These options are close to proto3's JSON mapping with the exception that internal types like Any are handled just like messages. More precisely:\n *\n * - Longs become strings\n * - Enums become string keys\n * - Bytes become base64 encoded strings\n * - (Sub-)Messages become plain objects\n * - Maps become plain objects with all string keys\n * - Repeated fields become arrays\n * - NaN and Infinity for float and double fields become strings\n *\n * @type {IConversionOptions}\n * @see https://developers.google.com/protocol-buffers/docs/proto3?hl=en#json\n */\nutil.toJSONOptions = {\n longs: String,\n enums: String,\n bytes: String,\n json: true\n};\n\n// Sets up buffer utility according to the environment (called in index-minimal)\nutil._configure = function() {\n var Buffer = util.Buffer;\n /* istanbul ignore if */\n if (!Buffer) {\n util._Buffer_from = util._Buffer_allocUnsafe = null;\n return;\n }\n // because node 4.x buffers are incompatible & immutable\n // see: https://github.com/dcodeIO/protobuf.js/pull/665\n util._Buffer_from = Buffer.from !== Uint8Array.from && Buffer.from ||\n /* istanbul ignore next */\n function Buffer_from(value, encoding) {\n return new Buffer(value, encoding);\n };\n util._Buffer_allocUnsafe = Buffer.allocUnsafe ||\n /* istanbul ignore next */\n function Buffer_allocUnsafe(size) {\n return new Buffer(size);\n };\n};\n", "\"use strict\";\nmodule.exports = Writer;\n\nvar util = require(\"./util/minimal\");\n\nvar BufferWriter; // cyclic\n\nvar LongBits = util.LongBits,\n base64 = util.base64,\n utf8 = util.utf8;\n\n/**\n * Constructs a new writer operation instance.\n * @classdesc Scheduled writer operation.\n * @constructor\n * @param {function(*, Uint8Array, number)} fn Function to call\n * @param {number} len Value byte length\n * @param {*} val Value to write\n * @ignore\n */\nfunction Op(fn, len, val) {\n\n /**\n * Function to call.\n * @type {function(Uint8Array, number, *)}\n */\n this.fn = fn;\n\n /**\n * Value byte length.\n * @type {number}\n */\n this.len = len;\n\n /**\n * Next operation.\n * @type {Writer.Op|undefined}\n */\n this.next = undefined;\n\n /**\n * Value to write.\n * @type {*}\n */\n this.val = val; // type varies\n}\n\n/* istanbul ignore next */\nfunction noop() {} // eslint-disable-line no-empty-function\n\n/**\n * Constructs a new writer state instance.\n * @classdesc Copied writer state.\n * @memberof Writer\n * @constructor\n * @param {Writer} writer Writer to copy state from\n * @ignore\n */\nfunction State(writer) {\n\n /**\n * Current head.\n * @type {Writer.Op}\n */\n this.head = writer.head;\n\n /**\n * Current tail.\n * @type {Writer.Op}\n */\n this.tail = writer.tail;\n\n /**\n * Current buffer length.\n * @type {number}\n */\n this.len = writer.len;\n\n /**\n * Next state.\n * @type {State|null}\n */\n this.next = writer.states;\n}\n\n/**\n * Constructs a new writer instance.\n * @classdesc Wire format writer using `Uint8Array` if available, otherwise `Array`.\n * @constructor\n */\nfunction Writer() {\n\n /**\n * Current length.\n * @type {number}\n */\n this.len = 0;\n\n /**\n * Operations head.\n * @type {Object}\n */\n this.head = new Op(noop, 0, 0);\n\n /**\n * Operations tail\n * @type {Object}\n */\n this.tail = this.head;\n\n /**\n * Linked forked states.\n * @type {Object|null}\n */\n this.states = null;\n\n // When a value is written, the writer calculates its byte length and puts it into a linked\n // list of operations to perform when finish() is called. This both allows us to allocate\n // buffers of the exact required size and reduces the amount of work we have to do compared\n // to first calculating over objects and then encoding over objects. In our case, the encoding\n // part is just a linked list walk calling operations with already prepared values.\n}\n\nvar create = function create() {\n return util.Buffer\n ? function create_buffer_setup() {\n return (Writer.create = function create_buffer() {\n return new BufferWriter();\n })();\n }\n /* istanbul ignore next */\n : function create_array() {\n return new Writer();\n };\n};\n\n/**\n * Creates a new writer.\n * @function\n * @returns {BufferWriter|Writer} A {@link BufferWriter} when Buffers are supported, otherwise a {@link Writer}\n */\nWriter.create = create();\n\n/**\n * Allocates a buffer of the specified size.\n * @param {number} size Buffer size\n * @returns {Uint8Array} Buffer\n */\nWriter.alloc = function alloc(size) {\n return new util.Array(size);\n};\n\n// Use Uint8Array buffer pool in the browser, just like node does with buffers\n/* istanbul ignore else */\nif (util.Array !== Array)\n Writer.alloc = util.pool(Writer.alloc, util.Array.prototype.subarray);\n\n/**\n * Pushes a new operation to the queue.\n * @param {function(Uint8Array, number, *)} fn Function to call\n * @param {number} len Value byte length\n * @param {number} val Value to write\n * @returns {Writer} `this`\n * @private\n */\nWriter.prototype._push = function push(fn, len, val) {\n this.tail = this.tail.next = new Op(fn, len, val);\n this.len += len;\n return this;\n};\n\nfunction writeByte(val, buf, pos) {\n buf[pos] = val & 255;\n}\n\nfunction writeVarint32(val, buf, pos) {\n while (val > 127) {\n buf[pos++] = val & 127 | 128;\n val >>>= 7;\n }\n buf[pos] = val;\n}\n\n/**\n * Constructs a new varint writer operation instance.\n * @classdesc Scheduled varint writer operation.\n * @extends Op\n * @constructor\n * @param {number} len Value byte length\n * @param {number} val Value to write\n * @ignore\n */\nfunction VarintOp(len, val) {\n this.len = len;\n this.next = undefined;\n this.val = val;\n}\n\nVarintOp.prototype = Object.create(Op.prototype);\nVarintOp.prototype.fn = writeVarint32;\n\n/**\n * Writes an unsigned 32 bit value as a varint.\n * @param {number} value Value to write\n * @returns {Writer} `this`\n */\nWriter.prototype.uint32 = function write_uint32(value) {\n // here, the call to this.push has been inlined and a varint specific Op subclass is used.\n // uint32 is by far the most frequently used operation and benefits significantly from this.\n this.len += (this.tail = this.tail.next = new VarintOp(\n (value = value >>> 0)\n < 128 ? 1\n : value < 16384 ? 2\n : value < 2097152 ? 3\n : value < 268435456 ? 4\n : 5,\n value)).len;\n return this;\n};\n\n/**\n * Writes a signed 32 bit value as a varint.\n * @function\n * @param {number} value Value to write\n * @returns {Writer} `this`\n */\nWriter.prototype.int32 = function write_int32(value) {\n return value < 0\n ? this._push(writeVarint64, 10, LongBits.fromNumber(value)) // 10 bytes per spec\n : this.uint32(value);\n};\n\n/**\n * Writes a 32 bit value as a varint, zig-zag encoded.\n * @param {number} value Value to write\n * @returns {Writer} `this`\n */\nWriter.prototype.sint32 = function write_sint32(value) {\n return this.uint32((value << 1 ^ value >> 31) >>> 0);\n};\n\nfunction writeVarint64(val, buf, pos) {\n while (val.hi) {\n buf[pos++] = val.lo & 127 | 128;\n val.lo = (val.lo >>> 7 | val.hi << 25) >>> 0;\n val.hi >>>= 7;\n }\n while (val.lo > 127) {\n buf[pos++] = val.lo & 127 | 128;\n val.lo = val.lo >>> 7;\n }\n buf[pos++] = val.lo;\n}\n\n/**\n * Writes an unsigned 64 bit value as a varint.\n * @param {Long|number|string} value Value to write\n * @returns {Writer} `this`\n * @throws {TypeError} If `value` is a string and no long library is present.\n */\nWriter.prototype.uint64 = function write_uint64(value) {\n var bits = LongBits.from(value);\n return this._push(writeVarint64, bits.length(), bits);\n};\n\n/**\n * Writes a signed 64 bit value as a varint.\n * @function\n * @param {Long|number|string} value Value to write\n * @returns {Writer} `this`\n * @throws {TypeError} If `value` is a string and no long library is present.\n */\nWriter.prototype.int64 = Writer.prototype.uint64;\n\n/**\n * Writes a signed 64 bit value as a varint, zig-zag encoded.\n * @param {Long|number|string} value Value to write\n * @returns {Writer} `this`\n * @throws {TypeError} If `value` is a string and no long library is present.\n */\nWriter.prototype.sint64 = function write_sint64(value) {\n var bits = LongBits.from(value).zzEncode();\n return this._push(writeVarint64, bits.length(), bits);\n};\n\n/**\n * Writes a boolish value as a varint.\n * @param {boolean} value Value to write\n * @returns {Writer} `this`\n */\nWriter.prototype.bool = function write_bool(value) {\n return this._push(writeByte, 1, value ? 1 : 0);\n};\n\nfunction writeFixed32(val, buf, pos) {\n buf[pos ] = val & 255;\n buf[pos + 1] = val >>> 8 & 255;\n buf[pos + 2] = val >>> 16 & 255;\n buf[pos + 3] = val >>> 24;\n}\n\n/**\n * Writes an unsigned 32 bit value as fixed 32 bits.\n * @param {number} value Value to write\n * @returns {Writer} `this`\n */\nWriter.prototype.fixed32 = function write_fixed32(value) {\n return this._push(writeFixed32, 4, value >>> 0);\n};\n\n/**\n * Writes a signed 32 bit value as fixed 32 bits.\n * @function\n * @param {number} value Value to write\n * @returns {Writer} `this`\n */\nWriter.prototype.sfixed32 = Writer.prototype.fixed32;\n\n/**\n * Writes an unsigned 64 bit value as fixed 64 bits.\n * @param {Long|number|string} value Value to write\n * @returns {Writer} `this`\n * @throws {TypeError} If `value` is a string and no long library is present.\n */\nWriter.prototype.fixed64 = function write_fixed64(value) {\n var bits = LongBits.from(value);\n return this._push(writeFixed32, 4, bits.lo)._push(writeFixed32, 4, bits.hi);\n};\n\n/**\n * Writes a signed 64 bit value as fixed 64 bits.\n * @function\n * @param {Long|number|string} value Value to write\n * @returns {Writer} `this`\n * @throws {TypeError} If `value` is a string and no long library is present.\n */\nWriter.prototype.sfixed64 = Writer.prototype.fixed64;\n\n/**\n * Writes a float (32 bit).\n * @function\n * @param {number} value Value to write\n * @returns {Writer} `this`\n */\nWriter.prototype.float = function write_float(value) {\n return this._push(util.float.writeFloatLE, 4, value);\n};\n\n/**\n * Writes a double (64 bit float).\n * @function\n * @param {number} value Value to write\n * @returns {Writer} `this`\n */\nWriter.prototype.double = function write_double(value) {\n return this._push(util.float.writeDoubleLE, 8, value);\n};\n\nvar writeBytes = util.Array.prototype.set\n ? function writeBytes_set(val, buf, pos) {\n buf.set(val, pos); // also works for plain array values\n }\n /* istanbul ignore next */\n : function writeBytes_for(val, buf, pos) {\n for (var i = 0; i < val.length; ++i)\n buf[pos + i] = val[i];\n };\n\n/**\n * Writes a sequence of bytes.\n * @param {Uint8Array|string} value Buffer or base64 encoded string to write\n * @returns {Writer} `this`\n */\nWriter.prototype.bytes = function write_bytes(value) {\n var len = value.length >>> 0;\n if (!len)\n return this._push(writeByte, 1, 0);\n if (util.isString(value)) {\n var buf = Writer.alloc(len = base64.length(value));\n base64.decode(value, buf, 0);\n value = buf;\n }\n return this.uint32(len)._push(writeBytes, len, value);\n};\n\n/**\n * Writes a string.\n * @param {string} value Value to write\n * @returns {Writer} `this`\n */\nWriter.prototype.string = function write_string(value) {\n var len = utf8.length(value);\n return len\n ? this.uint32(len)._push(utf8.write, len, value)\n : this._push(writeByte, 1, 0);\n};\n\n/**\n * Forks this writer's state by pushing it to a stack.\n * Calling {@link Writer#reset|reset} or {@link Writer#ldelim|ldelim} resets the writer to the previous state.\n * @returns {Writer} `this`\n */\nWriter.prototype.fork = function fork() {\n this.states = new State(this);\n this.head = this.tail = new Op(noop, 0, 0);\n this.len = 0;\n return this;\n};\n\n/**\n * Resets this instance to the last state.\n * @returns {Writer} `this`\n */\nWriter.prototype.reset = function reset() {\n if (this.states) {\n this.head = this.states.head;\n this.tail = this.states.tail;\n this.len = this.states.len;\n this.states = this.states.next;\n } else {\n this.head = this.tail = new Op(noop, 0, 0);\n this.len = 0;\n }\n return this;\n};\n\n/**\n * Resets to the last state and appends the fork state's current write length as a varint followed by its operations.\n * @returns {Writer} `this`\n */\nWriter.prototype.ldelim = function ldelim() {\n var head = this.head,\n tail = this.tail,\n len = this.len;\n this.reset().uint32(len);\n if (len) {\n this.tail.next = head.next; // skip noop\n this.tail = tail;\n this.len += len;\n }\n return this;\n};\n\n/**\n * Finishes the write operation.\n * @returns {Uint8Array} Finished buffer\n */\nWriter.prototype.finish = function finish() {\n var head = this.head.next, // skip noop\n buf = this.constructor.alloc(this.len),\n pos = 0;\n while (head) {\n head.fn(head.val, buf, pos);\n pos += head.len;\n head = head.next;\n }\n // this.head = this.tail = null;\n return buf;\n};\n\nWriter._configure = function(BufferWriter_) {\n BufferWriter = BufferWriter_;\n Writer.create = create();\n BufferWriter._configure();\n};\n", "\"use strict\";\nmodule.exports = BufferWriter;\n\n// extends Writer\nvar Writer = require(\"./writer\");\n(BufferWriter.prototype = Object.create(Writer.prototype)).constructor = BufferWriter;\n\nvar util = require(\"./util/minimal\");\n\n/**\n * Constructs a new buffer writer instance.\n * @classdesc Wire format writer using node buffers.\n * @extends Writer\n * @constructor\n */\nfunction BufferWriter() {\n Writer.call(this);\n}\n\nBufferWriter._configure = function () {\n /**\n * Allocates a buffer of the specified size.\n * @function\n * @param {number} size Buffer size\n * @returns {Buffer} Buffer\n */\n BufferWriter.alloc = util._Buffer_allocUnsafe;\n\n BufferWriter.writeBytesBuffer = util.Buffer && util.Buffer.prototype instanceof Uint8Array && util.Buffer.prototype.set.name === \"set\"\n ? function writeBytesBuffer_set(val, buf, pos) {\n buf.set(val, pos); // faster than copy (requires node >= 4 where Buffers extend Uint8Array and set is properly inherited)\n // also works for plain array values\n }\n /* istanbul ignore next */\n : function writeBytesBuffer_copy(val, buf, pos) {\n if (val.copy) // Buffer values\n val.copy(buf, pos, 0, val.length);\n else for (var i = 0; i < val.length;) // plain array values\n buf[pos++] = val[i++];\n };\n};\n\n\n/**\n * @override\n */\nBufferWriter.prototype.bytes = function write_bytes_buffer(value) {\n if (util.isString(value))\n value = util._Buffer_from(value, \"base64\");\n var len = value.length >>> 0;\n this.uint32(len);\n if (len)\n this._push(BufferWriter.writeBytesBuffer, len, value);\n return this;\n};\n\nfunction writeStringBuffer(val, buf, pos) {\n if (val.length < 40) // plain js is faster for short strings (probably due to redundant assertions)\n util.utf8.write(val, buf, pos);\n else if (buf.utf8Write)\n buf.utf8Write(val, pos);\n else\n buf.write(val, pos);\n}\n\n/**\n * @override\n */\nBufferWriter.prototype.string = function write_string_buffer(value) {\n var len = util.Buffer.byteLength(value);\n this.uint32(len);\n if (len)\n this._push(writeStringBuffer, len, value);\n return this;\n};\n\n\n/**\n * Finishes the write operation.\n * @name BufferWriter#finish\n * @function\n * @returns {Buffer} Finished buffer\n */\n\nBufferWriter._configure();\n", "\"use strict\";\nmodule.exports = Reader;\n\nvar util = require(\"./util/minimal\");\n\nvar BufferReader; // cyclic\n\nvar LongBits = util.LongBits,\n utf8 = util.utf8;\n\n/* istanbul ignore next */\nfunction indexOutOfRange(reader, writeLength) {\n return RangeError(\"index out of range: \" + reader.pos + \" + \" + (writeLength || 1) + \" > \" + reader.len);\n}\n\n/**\n * Constructs a new reader instance using the specified buffer.\n * @classdesc Wire format reader using `Uint8Array` if available, otherwise `Array`.\n * @constructor\n * @param {Uint8Array} buffer Buffer to read from\n */\nfunction Reader(buffer) {\n\n /**\n * Read buffer.\n * @type {Uint8Array}\n */\n this.buf = buffer;\n\n /**\n * Read buffer position.\n * @type {number}\n */\n this.pos = 0;\n\n /**\n * Read buffer length.\n * @type {number}\n */\n this.len = buffer.length;\n}\n\nvar create_array = typeof Uint8Array !== \"undefined\"\n ? function create_typed_array(buffer) {\n if (buffer instanceof Uint8Array || Array.isArray(buffer))\n return new Reader(buffer);\n throw Error(\"illegal buffer\");\n }\n /* istanbul ignore next */\n : function create_array(buffer) {\n if (Array.isArray(buffer))\n return new Reader(buffer);\n throw Error(\"illegal buffer\");\n };\n\nvar create = function create() {\n return util.Buffer\n ? function create_buffer_setup(buffer) {\n return (Reader.create = function create_buffer(buffer) {\n return util.Buffer.isBuffer(buffer)\n ? new BufferReader(buffer)\n /* istanbul ignore next */\n : create_array(buffer);\n })(buffer);\n }\n /* istanbul ignore next */\n : create_array;\n};\n\n/**\n * Creates a new reader using the specified buffer.\n * @function\n * @param {Uint8Array|Buffer} buffer Buffer to read from\n * @returns {Reader|BufferReader} A {@link BufferReader} if `buffer` is a Buffer, otherwise a {@link Reader}\n * @throws {Error} If `buffer` is not a valid buffer\n */\nReader.create = create();\n\nReader.prototype._slice = util.Array.prototype.subarray || /* istanbul ignore next */ util.Array.prototype.slice;\n\n/**\n * Reads a varint as an unsigned 32 bit value.\n * @function\n * @returns {number} Value read\n */\nReader.prototype.uint32 = (function read_uint32_setup() {\n var value = 4294967295; // optimizer type-hint, tends to deopt otherwise (?!)\n return function read_uint32() {\n value = ( this.buf[this.pos] & 127 ) >>> 0; if (this.buf[this.pos++] < 128) return value;\n value = (value | (this.buf[this.pos] & 127) << 7) >>> 0; if (this.buf[this.pos++] < 128) return value;\n value = (value | (this.buf[this.pos] & 127) << 14) >>> 0; if (this.buf[this.pos++] < 128) return value;\n value = (value | (this.buf[this.pos] & 127) << 21) >>> 0; if (this.buf[this.pos++] < 128) return value;\n value = (value | (this.buf[this.pos] & 15) << 28) >>> 0; if (this.buf[this.pos++] < 128) return value;\n\n /* istanbul ignore if */\n if ((this.pos += 5) > this.len) {\n this.pos = this.len;\n throw indexOutOfRange(this, 10);\n }\n return value;\n };\n})();\n\n/**\n * Reads a varint as a signed 32 bit value.\n * @returns {number} Value read\n */\nReader.prototype.int32 = function read_int32() {\n return this.uint32() | 0;\n};\n\n/**\n * Reads a zig-zag encoded varint as a signed 32 bit value.\n * @returns {number} Value read\n */\nReader.prototype.sint32 = function read_sint32() {\n var value = this.uint32();\n return value >>> 1 ^ -(value & 1) | 0;\n};\n\n/* eslint-disable no-invalid-this */\n\nfunction readLongVarint() {\n // tends to deopt with local vars for octet etc.\n var bits = new LongBits(0, 0);\n var i = 0;\n if (this.len - this.pos > 4) { // fast route (lo)\n for (; i < 4; ++i) {\n // 1st..4th\n bits.lo = (bits.lo | (this.buf[this.pos] & 127) << i * 7) >>> 0;\n if (this.buf[this.pos++] < 128)\n return bits;\n }\n // 5th\n bits.lo = (bits.lo | (this.buf[this.pos] & 127) << 28) >>> 0;\n bits.hi = (bits.hi | (this.buf[this.pos] & 127) >> 4) >>> 0;\n if (this.buf[this.pos++] < 128)\n return bits;\n i = 0;\n } else {\n for (; i < 3; ++i) {\n /* istanbul ignore if */\n if (this.pos >= this.len)\n throw indexOutOfRange(this);\n // 1st..3th\n bits.lo = (bits.lo | (this.buf[this.pos] & 127) << i * 7) >>> 0;\n if (this.buf[this.pos++] < 128)\n return bits;\n }\n // 4th\n bits.lo = (bits.lo | (this.buf[this.pos++] & 127) << i * 7) >>> 0;\n return bits;\n }\n if (this.len - this.pos > 4) { // fast route (hi)\n for (; i < 5; ++i) {\n // 6th..10th\n bits.hi = (bits.hi | (this.buf[this.pos] & 127) << i * 7 + 3) >>> 0;\n if (this.buf[this.pos++] < 128)\n return bits;\n }\n } else {\n for (; i < 5; ++i) {\n /* istanbul ignore if */\n if (this.pos >= this.len)\n throw indexOutOfRange(this);\n // 6th..10th\n bits.hi = (bits.hi | (this.buf[this.pos] & 127) << i * 7 + 3) >>> 0;\n if (this.buf[this.pos++] < 128)\n return bits;\n }\n }\n /* istanbul ignore next */\n throw Error(\"invalid varint encoding\");\n}\n\n/* eslint-enable no-invalid-this */\n\n/**\n * Reads a varint as a signed 64 bit value.\n * @name Reader#int64\n * @function\n * @returns {Long} Value read\n */\n\n/**\n * Reads a varint as an unsigned 64 bit value.\n * @name Reader#uint64\n * @function\n * @returns {Long} Value read\n */\n\n/**\n * Reads a zig-zag encoded varint as a signed 64 bit value.\n * @name Reader#sint64\n * @function\n * @returns {Long} Value read\n */\n\n/**\n * Reads a varint as a boolean.\n * @returns {boolean} Value read\n */\nReader.prototype.bool = function read_bool() {\n return this.uint32() !== 0;\n};\n\nfunction readFixed32_end(buf, end) { // note that this uses `end`, not `pos`\n return (buf[end - 4]\n | buf[end - 3] << 8\n | buf[end - 2] << 16\n | buf[end - 1] << 24) >>> 0;\n}\n\n/**\n * Reads fixed 32 bits as an unsigned 32 bit integer.\n * @returns {number} Value read\n */\nReader.prototype.fixed32 = function read_fixed32() {\n\n /* istanbul ignore if */\n if (this.pos + 4 > this.len)\n throw indexOutOfRange(this, 4);\n\n return readFixed32_end(this.buf, this.pos += 4);\n};\n\n/**\n * Reads fixed 32 bits as a signed 32 bit integer.\n * @returns {number} Value read\n */\nReader.prototype.sfixed32 = function read_sfixed32() {\n\n /* istanbul ignore if */\n if (this.pos + 4 > this.len)\n throw indexOutOfRange(this, 4);\n\n return readFixed32_end(this.buf, this.pos += 4) | 0;\n};\n\n/* eslint-disable no-invalid-this */\n\nfunction readFixed64(/* this: Reader */) {\n\n /* istanbul ignore if */\n if (this.pos + 8 > this.len)\n throw indexOutOfRange(this, 8);\n\n return new LongBits(readFixed32_end(this.buf, this.pos += 4), readFixed32_end(this.buf, this.pos += 4));\n}\n\n/* eslint-enable no-invalid-this */\n\n/**\n * Reads fixed 64 bits.\n * @name Reader#fixed64\n * @function\n * @returns {Long} Value read\n */\n\n/**\n * Reads zig-zag encoded fixed 64 bits.\n * @name Reader#sfixed64\n * @function\n * @returns {Long} Value read\n */\n\n/**\n * Reads a float (32 bit) as a number.\n * @function\n * @returns {number} Value read\n */\nReader.prototype.float = function read_float() {\n\n /* istanbul ignore if */\n if (this.pos + 4 > this.len)\n throw indexOutOfRange(this, 4);\n\n var value = util.float.readFloatLE(this.buf, this.pos);\n this.pos += 4;\n return value;\n};\n\n/**\n * Reads a double (64 bit float) as a number.\n * @function\n * @returns {number} Value read\n */\nReader.prototype.double = function read_double() {\n\n /* istanbul ignore if */\n if (this.pos + 8 > this.len)\n throw indexOutOfRange(this, 4);\n\n var value = util.float.readDoubleLE(this.buf, this.pos);\n this.pos += 8;\n return value;\n};\n\n/**\n * Reads a sequence of bytes preceeded by its length as a varint.\n * @returns {Uint8Array} Value read\n */\nReader.prototype.bytes = function read_bytes() {\n var length = this.uint32(),\n start = this.pos,\n end = this.pos + length;\n\n /* istanbul ignore if */\n if (end > this.len)\n throw indexOutOfRange(this, length);\n\n this.pos += length;\n if (Array.isArray(this.buf)) // plain array\n return this.buf.slice(start, end);\n\n if (start === end) { // fix for IE 10/Win8 and others' subarray returning array of size 1\n var nativeBuffer = util.Buffer;\n return nativeBuffer\n ? nativeBuffer.alloc(0)\n : new this.buf.constructor(0);\n }\n return this._slice.call(this.buf, start, end);\n};\n\n/**\n * Reads a string preceeded by its byte length as a varint.\n * @returns {string} Value read\n */\nReader.prototype.string = function read_string() {\n var bytes = this.bytes();\n return utf8.read(bytes, 0, bytes.length);\n};\n\n/**\n * Skips the specified number of bytes if specified, otherwise skips a varint.\n * @param {number} [length] Length if known, otherwise a varint is assumed\n * @returns {Reader} `this`\n */\nReader.prototype.skip = function skip(length) {\n if (typeof length === \"number\") {\n /* istanbul ignore if */\n if (this.pos + length > this.len)\n throw indexOutOfRange(this, length);\n this.pos += length;\n } else {\n do {\n /* istanbul ignore if */\n if (this.pos >= this.len)\n throw indexOutOfRange(this);\n } while (this.buf[this.pos++] & 128);\n }\n return this;\n};\n\n/**\n * Skips the next element of the specified wire type.\n * @param {number} wireType Wire type received\n * @returns {Reader} `this`\n */\nReader.prototype.skipType = function(wireType) {\n switch (wireType) {\n case 0:\n this.skip();\n break;\n case 1:\n this.skip(8);\n break;\n case 2:\n this.skip(this.uint32());\n break;\n case 3:\n while ((wireType = this.uint32() & 7) !== 4) {\n this.skipType(wireType);\n }\n break;\n case 5:\n this.skip(4);\n break;\n\n /* istanbul ignore next */\n default:\n throw Error(\"invalid wire type \" + wireType + \" at offset \" + this.pos);\n }\n return this;\n};\n\nReader._configure = function(BufferReader_) {\n BufferReader = BufferReader_;\n Reader.create = create();\n BufferReader._configure();\n\n var fn = util.Long ? \"toLong\" : /* istanbul ignore next */ \"toNumber\";\n util.merge(Reader.prototype, {\n\n int64: function read_int64() {\n return readLongVarint.call(this)[fn](false);\n },\n\n uint64: function read_uint64() {\n return readLongVarint.call(this)[fn](true);\n },\n\n sint64: function read_sint64() {\n return readLongVarint.call(this).zzDecode()[fn](false);\n },\n\n fixed64: function read_fixed64() {\n return readFixed64.call(this)[fn](true);\n },\n\n sfixed64: function read_sfixed64() {\n return readFixed64.call(this)[fn](false);\n }\n\n });\n};\n", "\"use strict\";\nmodule.exports = BufferReader;\n\n// extends Reader\nvar Reader = require(\"./reader\");\n(BufferReader.prototype = Object.create(Reader.prototype)).constructor = BufferReader;\n\nvar util = require(\"./util/minimal\");\n\n/**\n * Constructs a new buffer reader instance.\n * @classdesc Wire format reader using node buffers.\n * @extends Reader\n * @constructor\n * @param {Buffer} buffer Buffer to read from\n */\nfunction BufferReader(buffer) {\n Reader.call(this, buffer);\n\n /**\n * Read buffer.\n * @name BufferReader#buf\n * @type {Buffer}\n */\n}\n\nBufferReader._configure = function () {\n /* istanbul ignore else */\n if (util.Buffer)\n BufferReader.prototype._slice = util.Buffer.prototype.slice;\n};\n\n\n/**\n * @override\n */\nBufferReader.prototype.string = function read_string_buffer() {\n var len = this.uint32(); // modifies pos\n return this.buf.utf8Slice\n ? this.buf.utf8Slice(this.pos, this.pos = Math.min(this.pos + len, this.len))\n : this.buf.toString(\"utf-8\", this.pos, this.pos = Math.min(this.pos + len, this.len));\n};\n\n/**\n * Reads a sequence of bytes preceeded by its length as a varint.\n * @name BufferReader#bytes\n * @function\n * @returns {Buffer} Value read\n */\n\nBufferReader._configure();\n", "\"use strict\";\nmodule.exports = Service;\n\nvar util = require(\"../util/minimal\");\n\n// Extends EventEmitter\n(Service.prototype = Object.create(util.EventEmitter.prototype)).constructor = Service;\n\n/**\n * A service method callback as used by {@link rpc.ServiceMethod|ServiceMethod}.\n *\n * Differs from {@link RPCImplCallback} in that it is an actual callback of a service method which may not return `response = null`.\n * @typedef rpc.ServiceMethodCallback\n * @template TRes extends Message<TRes>\n * @type {function}\n * @param {Error|null} error Error, if any\n * @param {TRes} [response] Response message\n * @returns {undefined}\n */\n\n/**\n * A service method part of a {@link rpc.Service} as created by {@link Service.create}.\n * @typedef rpc.ServiceMethod\n * @template TReq extends Message<TReq>\n * @template TRes extends Message<TRes>\n * @type {function}\n * @param {TReq|Properties<TReq>} request Request message or plain object\n * @param {rpc.ServiceMethodCallback<TRes>} [callback] Node-style callback called with the error, if any, and the response message\n * @returns {Promise<Message<TRes>>} Promise if `callback` has been omitted, otherwise `undefined`\n */\n\n/**\n * Constructs a new RPC service instance.\n * @classdesc An RPC service as returned by {@link Service#create}.\n * @exports rpc.Service\n * @extends util.EventEmitter\n * @constructor\n * @param {RPCImpl} rpcImpl RPC implementation\n * @param {boolean} [requestDelimited=false] Whether requests are length-delimited\n * @param {boolean} [responseDelimited=false] Whether responses are length-delimited\n */\nfunction Service(rpcImpl, requestDelimited, responseDelimited) {\n\n if (typeof rpcImpl !== \"function\")\n throw TypeError(\"rpcImpl must be a function\");\n\n util.EventEmitter.call(this);\n\n /**\n * RPC implementation. Becomes `null` once the service is ended.\n * @type {RPCImpl|null}\n */\n this.rpcImpl = rpcImpl;\n\n /**\n * Whether requests are length-delimited.\n * @type {boolean}\n */\n this.requestDelimited = Boolean(requestDelimited);\n\n /**\n * Whether responses are length-delimited.\n * @type {boolean}\n */\n this.responseDelimited = Boolean(responseDelimited);\n}\n\n/**\n * Calls a service method through {@link rpc.Service#rpcImpl|rpcImpl}.\n * @param {Method|rpc.ServiceMethod<TReq,TRes>} method Reflected or static method\n * @param {Constructor<TReq>} requestCtor Request constructor\n * @param {Constructor<TRes>} responseCtor Response constructor\n * @param {TReq|Properties<TReq>} request Request message or plain object\n * @param {rpc.ServiceMethodCallback<TRes>} callback Service callback\n * @returns {undefined}\n * @template TReq extends Message<TReq>\n * @template TRes extends Message<TRes>\n */\nService.prototype.rpcCall = function rpcCall(method, requestCtor, responseCtor, request, callback) {\n\n if (!request)\n throw TypeError(\"request must be specified\");\n\n var self = this;\n if (!callback)\n return util.asPromise(rpcCall, self, method, requestCtor, responseCtor, request);\n\n if (!self.rpcImpl) {\n setTimeout(function() { callback(Error(\"already ended\")); }, 0);\n return undefined;\n }\n\n try {\n return self.rpcImpl(\n method,\n requestCtor[self.requestDelimited ? \"encodeDelimited\" : \"encode\"](request).finish(),\n function rpcCallback(err, response) {\n\n if (err) {\n self.emit(\"error\", err, method);\n return callback(err);\n }\n\n if (response === null) {\n self.end(/* endedByRPC */ true);\n return undefined;\n }\n\n if (!(response instanceof responseCtor)) {\n try {\n response = responseCtor[self.responseDelimited ? \"decodeDelimited\" : \"decode\"](response);\n } catch (err) {\n self.emit(\"error\", err, method);\n return callback(err);\n }\n }\n\n self.emit(\"data\", response, method);\n return callback(null, response);\n }\n );\n } catch (err) {\n self.emit(\"error\", err, method);\n setTimeout(function() { callback(err); }, 0);\n return undefined;\n }\n};\n\n/**\n * Ends this service and emits the `end` event.\n * @param {boolean} [endedByRPC=false] Whether the service has been ended by the RPC implementation.\n * @returns {rpc.Service} `this`\n */\nService.prototype.end = function end(endedByRPC) {\n if (this.rpcImpl) {\n if (!endedByRPC) // signal end to rpcImpl\n this.rpcImpl(null, null, null);\n this.rpcImpl = null;\n this.emit(\"end\").off();\n }\n return this;\n};\n", "\"use strict\";\n\n/**\n * Streaming RPC helpers.\n * @namespace\n */\nvar rpc = exports;\n\n/**\n * RPC implementation passed to {@link Service#create} performing a service request on network level, i.e. by utilizing http requests or websockets.\n * @typedef RPCImpl\n * @type {function}\n * @param {Method|rpc.ServiceMethod<Message<{}>,Message<{}>>} method Reflected or static method being called\n * @param {Uint8Array} requestData Request data\n * @param {RPCImplCallback} callback Callback function\n * @returns {undefined}\n * @example\n * function rpcImpl(method, requestData, callback) {\n * if (protobuf.util.lcFirst(method.name) !== \"myMethod\") // compatible with static code\n * throw Error(\"no such method\");\n * asynchronouslyObtainAResponse(requestData, function(err, responseData) {\n * callback(err, responseData);\n * });\n * }\n */\n\n/**\n * Node-style callback as used by {@link RPCImpl}.\n * @typedef RPCImplCallback\n * @type {function}\n * @param {Error|null} error Error, if any, otherwise `null`\n * @param {Uint8Array|null} [response] Response data or `null` to signal end of stream, if there hasn't been an error\n * @returns {undefined}\n */\n\nrpc.Service = require(\"./rpc/service\");\n", "\"use strict\";\nmodule.exports = {};\n\n/**\n * Named roots.\n * This is where pbjs stores generated structures (the option `-r, --root` specifies a name).\n * Can also be used manually to make roots available across modules.\n * @name roots\n * @type {Object.<string,Root>}\n * @example\n * // pbjs -r myroot -o compiled.js ...\n *\n * // in another module:\n * require(\"./compiled.js\");\n *\n * // in any subsequent module:\n * var root = protobuf.roots[\"myroot\"];\n */\n", "\"use strict\";\nvar protobuf = exports;\n\n/**\n * Build type, one of `\"full\"`, `\"light\"` or `\"minimal\"`.\n * @name build\n * @type {string}\n * @const\n */\nprotobuf.build = \"minimal\";\n\n// Serialization\nprotobuf.Writer = require(\"./writer\");\nprotobuf.BufferWriter = require(\"./writer_buffer\");\nprotobuf.Reader = require(\"./reader\");\nprotobuf.BufferReader = require(\"./reader_buffer\");\n\n// Utility\nprotobuf.util = require(\"./util/minimal\");\nprotobuf.rpc = require(\"./rpc\");\nprotobuf.roots = require(\"./roots\");\nprotobuf.configure = configure;\n\n/* istanbul ignore next */\n/**\n * Reconfigures the library according to the environment.\n * @returns {undefined}\n */\nfunction configure() {\n protobuf.util._configure();\n protobuf.Writer._configure(protobuf.BufferWriter);\n protobuf.Reader._configure(protobuf.BufferReader);\n}\n\n// Set up buffer utility according to the environment\nconfigure();\n", "\"use strict\";\r\nmodule.exports = codegen;\r\n\r\n/**\r\n * Begins generating a function.\r\n * @memberof util\r\n * @param {string[]} functionParams Function parameter names\r\n * @param {string} [functionName] Function name if not anonymous\r\n * @returns {Codegen} Appender that appends code to the function's body\r\n */\r\nfunction codegen(functionParams, functionName) {\r\n\r\n /* istanbul ignore if */\r\n if (typeof functionParams === \"string\") {\r\n functionName = functionParams;\r\n functionParams = undefined;\r\n }\r\n\r\n var body = [];\r\n\r\n /**\r\n * Appends code to the function's body or finishes generation.\r\n * @typedef Codegen\r\n * @type {function}\r\n * @param {string|Object.<string,*>} [formatStringOrScope] Format string or, to finish the function, an object of additional scope variables, if any\r\n * @param {...*} [formatParams] Format parameters\r\n * @returns {Codegen|Function} Itself or the generated function if finished\r\n * @throws {Error} If format parameter counts do not match\r\n */\r\n\r\n function Codegen(formatStringOrScope) {\r\n // note that explicit array handling below makes this ~50% faster\r\n\r\n // finish the function\r\n if (typeof formatStringOrScope !== \"string\") {\r\n var source = toString();\r\n if (codegen.verbose)\r\n console.log(\"codegen: \" + source); // eslint-disable-line no-console\r\n source = \"return \" + source;\r\n if (formatStringOrScope) {\r\n var scopeKeys = Object.keys(formatStringOrScope),\r\n scopeParams = new Array(scopeKeys.length + 1),\r\n scopeValues = new Array(scopeKeys.length),\r\n scopeOffset = 0;\r\n while (scopeOffset < scopeKeys.length) {\r\n scopeParams[scopeOffset] = scopeKeys[scopeOffset];\r\n scopeValues[scopeOffset] = formatStringOrScope[scopeKeys[scopeOffset++]];\r\n }\r\n scopeParams[scopeOffset] = source;\r\n return Function.apply(null, scopeParams).apply(null, scopeValues); // eslint-disable-line no-new-func\r\n }\r\n return Function(source)(); // eslint-disable-line no-new-func\r\n }\r\n\r\n // otherwise append to body\r\n var formatParams = new Array(arguments.length - 1),\r\n formatOffset = 0;\r\n while (formatOffset < formatParams.length)\r\n formatParams[formatOffset] = arguments[++formatOffset];\r\n formatOffset = 0;\r\n formatStringOrScope = formatStringOrScope.replace(/%([%dfijs])/g, function replace($0, $1) {\r\n var value = formatParams[formatOffset++];\r\n switch ($1) {\r\n case \"d\": case \"f\": return String(Number(value));\r\n case \"i\": return String(Math.floor(value));\r\n case \"j\": return JSON.stringify(value);\r\n case \"s\": return String(value);\r\n }\r\n return \"%\";\r\n });\r\n if (formatOffset !== formatParams.length)\r\n throw Error(\"parameter count mismatch\");\r\n body.push(formatStringOrScope);\r\n return Codegen;\r\n }\r\n\r\n function toString(functionNameOverride) {\r\n return \"function \" + (functionNameOverride || functionName || \"\") + \"(\" + (functionParams && functionParams.join(\",\") || \"\") + \"){\\n \" + body.join(\"\\n \") + \"\\n}\";\r\n }\r\n\r\n Codegen.toString = toString;\r\n return Codegen;\r\n}\r\n\r\n/**\r\n * Begins generating a function.\r\n * @memberof util\r\n * @function codegen\r\n * @param {string} [functionName] Function name if not anonymous\r\n * @returns {Codegen} Appender that appends code to the function's body\r\n * @variation 2\r\n */\r\n\r\n/**\r\n * When set to `true`, codegen will log generated code to console. Useful for debugging.\r\n * @name util.codegen.verbose\r\n * @type {boolean}\r\n */\r\ncodegen.verbose = false;\r\n", "\"use strict\";\r\nmodule.exports = fetch;\r\n\r\nvar asPromise = require(\"@protobufjs/aspromise\"),\r\n inquire = require(\"@protobufjs/inquire\");\r\n\r\nvar fs = inquire(\"fs\");\r\n\r\n/**\r\n * Node-style callback as used by {@link util.fetch}.\r\n * @typedef FetchCallback\r\n * @type {function}\r\n * @param {?Error} error Error, if any, otherwise `null`\r\n * @param {string} [contents] File contents, if there hasn't been an error\r\n * @returns {undefined}\r\n */\r\n\r\n/**\r\n * Options as used by {@link util.fetch}.\r\n * @typedef FetchOptions\r\n * @type {Object}\r\n * @property {boolean} [binary=false] Whether expecting a binary response\r\n * @property {boolean} [xhr=false] If `true`, forces the use of XMLHttpRequest\r\n */\r\n\r\n/**\r\n * Fetches the contents of a file.\r\n * @memberof util\r\n * @param {string} filename File path or url\r\n * @param {FetchOptions} options Fetch options\r\n * @param {FetchCallback} callback Callback function\r\n * @returns {undefined}\r\n */\r\nfunction fetch(filename, options, callback) {\r\n if (typeof options === \"function\") {\r\n callback = options;\r\n options = {};\r\n } else if (!options)\r\n options = {};\r\n\r\n if (!callback)\r\n return asPromise(fetch, this, filename, options); // eslint-disable-line no-invalid-this\r\n\r\n // if a node-like filesystem is present, try it first but fall back to XHR if nothing is found.\r\n if (!options.xhr && fs && fs.readFile)\r\n return fs.readFile(filename, function fetchReadFileCallback(err, contents) {\r\n return err && typeof XMLHttpRequest !== \"undefined\"\r\n ? fetch.xhr(filename, options, callback)\r\n : err\r\n ? callback(err)\r\n : callback(null, options.binary ? contents : contents.toString(\"utf8\"));\r\n });\r\n\r\n // use the XHR version otherwise.\r\n return fetch.xhr(filename, options, callback);\r\n}\r\n\r\n/**\r\n * Fetches the contents of a file.\r\n * @name util.fetch\r\n * @function\r\n * @param {string} path File path or url\r\n * @param {FetchCallback} callback Callback function\r\n * @returns {undefined}\r\n * @variation 2\r\n */\r\n\r\n/**\r\n * Fetches the contents of a file.\r\n * @name util.fetch\r\n * @function\r\n * @param {string} path File path or url\r\n * @param {FetchOptions} [options] Fetch options\r\n * @returns {Promise<string|Uint8Array>} Promise\r\n * @variation 3\r\n */\r\n\r\n/**/\r\nfetch.xhr = function fetch_xhr(filename, options, callback) {\r\n var xhr = new XMLHttpRequest();\r\n xhr.onreadystatechange /* works everywhere */ = function fetchOnReadyStateChange() {\r\n\r\n if (xhr.readyState !== 4)\r\n return undefined;\r\n\r\n // local cors security errors return status 0 / empty string, too. afaik this cannot be\r\n // reliably distinguished from an actually empty file for security reasons. feel free\r\n // to send a pull request if you are aware of a solution.\r\n if (xhr.status !== 0 && xhr.status !== 200)\r\n return callback(Error(\"status \" + xhr.status));\r\n\r\n // if binary data is expected, make sure that some sort of array is returned, even if\r\n // ArrayBuffers are not supported. the binary string fallback, however, is unsafe.\r\n if (options.binary) {\r\n var buffer = xhr.response;\r\n if (!buffer) {\r\n buffer = [];\r\n for (var i = 0; i < xhr.responseText.length; ++i)\r\n buffer.push(xhr.responseText.charCodeAt(i) & 255);\r\n }\r\n return callback(null, typeof Uint8Array !== \"undefined\" ? new Uint8Array(buffer) : buffer);\r\n }\r\n return callback(null, xhr.responseText);\r\n };\r\n\r\n if (options.binary) {\r\n // ref: https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/Sending_and_Receiving_Binary_Data#Receiving_binary_data_in_older_browsers\r\n if (\"overrideMimeType\" in xhr)\r\n xhr.overrideMimeType(\"text/plain; charset=x-user-defined\");\r\n xhr.responseType = \"arraybuffer\";\r\n }\r\n\r\n xhr.open(\"GET\", filename);\r\n xhr.send();\r\n};\r\n", "\"use strict\";\r\n\r\n/**\r\n * A minimal path module to resolve Unix, Windows and URL paths alike.\r\n * @memberof util\r\n * @namespace\r\n */\r\nvar path = exports;\r\n\r\nvar isAbsolute =\r\n/**\r\n * Tests if the specified path is absolute.\r\n * @param {string} path Path to test\r\n * @returns {boolean} `true` if path is absolute\r\n */\r\npath.isAbsolute = function isAbsolute(path) {\r\n return /^(?:\\/|\\w+:)/.test(path);\r\n};\r\n\r\nvar normalize =\r\n/**\r\n * Normalizes the specified path.\r\n * @param {string} path Path to normalize\r\n * @returns {string} Normalized path\r\n */\r\npath.normalize = function normalize(path) {\r\n path = path.replace(/\\\\/g, \"/\")\r\n .replace(/\\/{2,}/g, \"/\");\r\n var parts = path.split(\"/\"),\r\n absolute = isAbsolute(path),\r\n prefix = \"\";\r\n if (absolute)\r\n prefix = parts.shift() + \"/\";\r\n for (var i = 0; i < parts.length;) {\r\n if (parts[i] === \"..\") {\r\n if (i > 0 && parts[i - 1] !== \"..\")\r\n parts.splice(--i, 2);\r\n else if (absolute)\r\n parts.splice(i, 1);\r\n else\r\n ++i;\r\n } else if (parts[i] === \".\")\r\n parts.splice(i, 1);\r\n else\r\n ++i;\r\n }\r\n return prefix + parts.join(\"/\");\r\n};\r\n\r\n/**\r\n * Resolves the specified include path against the specified origin path.\r\n * @param {string} originPath Path to the origin file\r\n * @param {string} includePath Include path relative to origin path\r\n * @param {boolean} [alreadyNormalized=false] `true` if both paths are already known to be normalized\r\n * @returns {string} Path to the include file\r\n */\r\npath.resolve = function resolve(originPath, includePath, alreadyNormalized) {\r\n if (!alreadyNormalized)\r\n includePath = normalize(includePath);\r\n if (isAbsolute(includePath))\r\n return includePath;\r\n if (!alreadyNormalized)\r\n originPath = normalize(originPath);\r\n return (originPath = originPath.replace(/(?:\\/|^)[^/]+$/, \"\")).length ? normalize(originPath + \"/\" + includePath) : includePath;\r\n};\r\n", "\"use strict\";\n\n/**\n * Common type constants.\n * @namespace\n */\nvar types = exports;\n\nvar util = require(\"./util\");\n\nvar s = [\n \"double\", // 0\n \"float\", // 1\n \"int32\", // 2\n \"uint32\", // 3\n \"sint32\", // 4\n \"fixed32\", // 5\n \"sfixed32\", // 6\n \"int64\", // 7\n \"uint64\", // 8\n \"sint64\", // 9\n \"fixed64\", // 10\n \"sfixed64\", // 11\n \"bool\", // 12\n \"string\", // 13\n \"bytes\" // 14\n];\n\nfunction bake(values, offset) {\n var i = 0, o = {};\n offset |= 0;\n while (i < values.length) o[s[i + offset]] = values[i++];\n return o;\n}\n\n/**\n * Basic type wire types.\n * @type {Object.<string,number>}\n * @const\n * @property {number} double=1 Fixed64 wire type\n * @property {number} float=5 Fixed32 wire type\n * @property {number} int32=0 Varint wire type\n * @property {number} uint32=0 Varint wire type\n * @property {number} sint32=0 Varint wire type\n * @property {number} fixed32=5 Fixed32 wire type\n * @property {number} sfixed32=5 Fixed32 wire type\n * @property {number} int64=0 Varint wire type\n * @property {number} uint64=0 Varint wire type\n * @property {number} sint64=0 Varint wire type\n * @property {number} fixed64=1 Fixed64 wire type\n * @property {number} sfixed64=1 Fixed64 wire type\n * @property {number} bool=0 Varint wire type\n * @property {number} string=2 Ldelim wire type\n * @property {number} bytes=2 Ldelim wire type\n */\ntypes.basic = bake([\n /* double */ 1,\n /* float */ 5,\n /* int32 */ 0,\n /* uint32 */ 0,\n /* sint32 */ 0,\n /* fixed32 */ 5,\n /* sfixed32 */ 5,\n /* int64 */ 0,\n /* uint64 */ 0,\n /* sint64 */ 0,\n /* fixed64 */ 1,\n /* sfixed64 */ 1,\n /* bool */ 0,\n /* string */ 2,\n /* bytes */ 2\n]);\n\n/**\n * Basic type defaults.\n * @type {Object.<string,*>}\n * @const\n * @property {number} double=0 Double default\n * @property {number} float=0 Float default\n * @property {number} int32=0 Int32 default\n * @property {number} uint32=0 Uint32 default\n * @property {number} sint32=0 Sint32 default\n * @property {number} fixed32=0 Fixed32 default\n * @property {number} sfixed32=0 Sfixed32 default\n * @property {number} int64=0 Int64 default\n * @property {number} uint64=0 Uint64 default\n * @property {number} sint64=0 Sint32 default\n * @property {number} fixed64=0 Fixed64 default\n * @property {number} sfixed64=0 Sfixed64 default\n * @property {boolean} bool=false Bool default\n * @property {string} string=\"\" String default\n * @property {Array.<number>} bytes=Array(0) Bytes default\n * @property {null} message=null Message default\n */\ntypes.defaults = bake([\n /* double */ 0,\n /* float */ 0,\n /* int32 */ 0,\n /* uint32 */ 0,\n /* sint32 */ 0,\n /* fixed32 */ 0,\n /* sfixed32 */ 0,\n /* int64 */ 0,\n /* uint64 */ 0,\n /* sint64 */ 0,\n /* fixed64 */ 0,\n /* sfixed64 */ 0,\n /* bool */ false,\n /* string */ \"\",\n /* bytes */ util.emptyArray,\n /* message */ null\n]);\n\n/**\n * Basic long type wire types.\n * @type {Object.<string,number>}\n * @const\n * @property {number} int64=0 Varint wire type\n * @property {number} uint64=0 Varint wire type\n * @property {number} sint64=0 Varint wire type\n * @property {number} fixed64=1 Fixed64 wire type\n * @property {number} sfixed64=1 Fixed64 wire type\n */\ntypes.long = bake([\n /* int64 */ 0,\n /* uint64 */ 0,\n /* sint64 */ 0,\n /* fixed64 */ 1,\n /* sfixed64 */ 1\n], 7);\n\n/**\n * Allowed types for map keys with their associated wire type.\n * @type {Object.<string,number>}\n * @const\n * @property {number} int32=0 Varint wire type\n * @property {number} uint32=0 Varint wire type\n * @property {number} sint32=0 Varint wire type\n * @property {number} fixed32=5 Fixed32 wire type\n * @property {number} sfixed32=5 Fixed32 wire type\n * @property {number} int64=0 Varint wire type\n * @property {number} uint64=0 Varint wire type\n * @property {number} sint64=0 Varint wire type\n * @property {number} fixed64=1 Fixed64 wire type\n * @property {number} sfixed64=1 Fixed64 wire type\n * @property {number} bool=0 Varint wire type\n * @property {number} string=2 Ldelim wire type\n */\ntypes.mapKey = bake([\n /* int32 */ 0,\n /* uint32 */ 0,\n /* sint32 */ 0,\n /* fixed32 */ 5,\n /* sfixed32 */ 5,\n /* int64 */ 0,\n /* uint64 */ 0,\n /* sint64 */ 0,\n /* fixed64 */ 1,\n /* sfixed64 */ 1,\n /* bool */ 0,\n /* string */ 2\n], 2);\n\n/**\n * Allowed types for packed repeated fields with their associated wire type.\n * @type {Object.<string,number>}\n * @const\n * @property {number} double=1 Fixed64 wire type\n * @property {number} float=5 Fixed32 wire type\n * @property {number} int32=0 Varint wire type\n * @property {number} uint32=0 Varint wire type\n * @property {number} sint32=0 Varint wire type\n * @property {number} fixed32=5 Fixed32 wire type\n * @property {number} sfixed32=5 Fixed32 wire type\n * @property {number} int64=0 Varint wire type\n * @property {number} uint64=0 Varint wire type\n * @property {number} sint64=0 Varint wire type\n * @property {number} fixed64=1 Fixed64 wire type\n * @property {number} sfixed64=1 Fixed64 wire type\n * @property {number} bool=0 Varint wire type\n */\ntypes.packed = bake([\n /* double */ 1,\n /* float */ 5,\n /* int32 */ 0,\n /* uint32 */ 0,\n /* sint32 */ 0,\n /* fixed32 */ 5,\n /* sfixed32 */ 5,\n /* int64 */ 0,\n /* uint64 */ 0,\n /* sint64 */ 0,\n /* fixed64 */ 1,\n /* sfixed64 */ 1,\n /* bool */ 0\n]);\n", "\"use strict\";\nmodule.exports = Field;\n\n// extends ReflectionObject\nvar ReflectionObject = require(\"./object\");\n((Field.prototype = Object.create(ReflectionObject.prototype)).constructor = Field).className = \"Field\";\n\nvar Enum = require(\"./enum\"),\n types = require(\"./types\"),\n util = require(\"./util\");\n\nvar Type; // cyclic\n\nvar ruleRe = /^required|optional|repeated$/;\n\n/**\n * Constructs a new message field instance. Note that {@link MapField|map fields} have their own class.\n * @name Field\n * @classdesc Reflected message field.\n * @extends FieldBase\n * @constructor\n * @param {string} name Unique name within its namespace\n * @param {number} id Unique id within its namespace\n * @param {string} type Value type\n * @param {string|Object.<string,*>} [rule=\"optional\"] Field rule\n * @param {string|Object.<string,*>} [extend] Extended type if different from parent\n * @param {Object.<string,*>} [options] Declared options\n */\n\n/**\n * Constructs a field from a field descriptor.\n * @param {string} name Field name\n * @param {IField} json Field descriptor\n * @returns {Field} Created field\n * @throws {TypeError} If arguments are invalid\n */\nField.fromJSON = function fromJSON(name, json) {\n return new Field(name, json.id, json.type, json.rule, json.extend, json.options, json.comment);\n};\n\n/**\n * Not an actual constructor. Use {@link Field} instead.\n * @classdesc Base class of all reflected message fields. This is not an actual class but here for the sake of having consistent type definitions.\n * @exports FieldBase\n * @extends ReflectionObject\n * @constructor\n * @param {string} name Unique name within its namespace\n * @param {number} id Unique id within its namespace\n * @param {string} type Value type\n * @param {string|Object.<string,*>} [rule=\"optional\"] Field rule\n * @param {string|Object.<string,*>} [extend] Extended type if different from parent\n * @param {Object.<string,*>} [options] Declared options\n * @param {string} [comment] Comment associated with this field\n */\nfunction Field(name, id, type, rule, extend, options, comment) {\n\n if (util.isObject(rule)) {\n comment = extend;\n options = rule;\n rule = extend = undefined;\n } else if (util.isObject(extend)) {\n comment = options;\n options = extend;\n extend = undefined;\n }\n\n ReflectionObject.call(this, name, options);\n\n if (!util.isInteger(id) || id < 0)\n throw TypeError(\"id must be a non-negative integer\");\n\n if (!util.isString(type))\n throw TypeError(\"type must be a string\");\n\n if (rule !== undefined && !ruleRe.test(rule = rule.toString().toLowerCase()))\n throw TypeError(\"rule must be a string rule\");\n\n if (extend !== undefined && !util.isString(extend))\n throw TypeError(\"extend must be a string\");\n\n /**\n * Field rule, if any.\n * @type {string|undefined}\n */\n if (rule === \"proto3_optional\") {\n rule = \"optional\";\n }\n this.rule = rule && rule !== \"optional\" ? rule : undefined; // toJSON\n\n /**\n * Field type.\n * @type {string}\n */\n this.type = type; // toJSON\n\n /**\n * Unique field id.\n * @type {number}\n */\n this.id = id; // toJSON, marker\n\n /**\n * Extended type if different from parent.\n * @type {string|undefined}\n */\n this.extend = extend || undefined; // toJSON\n\n /**\n * Whether this field is required.\n * @type {boolean}\n */\n this.required = rule === \"required\";\n\n /**\n * Whether this field is optional.\n * @type {boolean}\n */\n this.optional = !this.required;\n\n /**\n * Whether this field is repeated.\n * @type {boolean}\n */\n this.repeated = rule === \"repeated\";\n\n /**\n * Whether this field is a map or not.\n * @type {boolean}\n */\n this.map = false;\n\n /**\n * Message this field belongs to.\n * @type {Type|null}\n */\n this.message = null;\n\n /**\n * OneOf this field belongs to, if any,\n * @type {OneOf|null}\n */\n this.partOf = null;\n\n /**\n * The field type's default value.\n * @type {*}\n */\n this.typeDefault = null;\n\n /**\n * The field's default value on prototypes.\n * @type {*}\n */\n this.defaultValue = null;\n\n /**\n * Whether this field's value should be treated as a long.\n * @type {boolean}\n */\n this.long = util.Long ? types.long[type] !== undefined : /* istanbul ignore next */ false;\n\n /**\n * Whether this field's value is a buffer.\n * @type {boolean}\n */\n this.bytes = type === \"bytes\";\n\n /**\n * Resolved type if not a basic type.\n * @type {Type|Enum|null}\n */\n this.resolvedType = null;\n\n /**\n * Sister-field within the extended type if a declaring extension field.\n * @type {Field|null}\n */\n this.extensionField = null;\n\n /**\n * Sister-field within the declaring namespace if an extended field.\n * @type {Field|null}\n */\n this.declaringField = null;\n\n /**\n * Internally remembers whether this field is packed.\n * @type {boolean|null}\n * @private\n */\n this._packed = null;\n\n /**\n * Comment for this field.\n * @type {string|null}\n */\n this.comment = comment;\n}\n\n/**\n * Determines whether this field is packed. Only relevant when repeated and working with proto2.\n * @name Field#packed\n * @type {boolean}\n * @readonly\n */\nObject.defineProperty(Field.prototype, \"packed\", {\n get: function() {\n // defaults to packed=true if not explicity set to false\n if (this._packed === null)\n this._packed = this.getOption(\"packed\") !== false;\n return this._packed;\n }\n});\n\n/**\n * @override\n */\nField.prototype.setOption = function setOption(name, value, ifNotSet) {\n if (name === \"packed\") // clear cached before setting\n this._packed = null;\n return ReflectionObject.prototype.setOption.call(this, name, value, ifNotSet);\n};\n\n/**\n * Field descriptor.\n * @interface IField\n * @property {string} [rule=\"optional\"] Field rule\n * @property {string} type Field type\n * @property {number} id Field id\n * @property {Object.<string,*>} [options] Field options\n */\n\n/**\n * Extension field descriptor.\n * @interface IExtensionField\n * @extends IField\n * @property {string} extend Extended type\n */\n\n/**\n * Converts this field to a field descriptor.\n * @param {IToJSONOptions} [toJSONOptions] JSON conversion options\n * @returns {IField} Field descriptor\n */\nField.prototype.toJSON = function toJSON(toJSONOptions) {\n var keepComments = toJSONOptions ? Boolean(toJSONOptions.keepComments) : false;\n return util.toObject([\n \"rule\" , this.rule !== \"optional\" && this.rule || undefined,\n \"type\" , this.type,\n \"id\" , this.id,\n \"extend\" , this.extend,\n \"options\" , this.options,\n \"comment\" , keepComments ? this.comment : undefined\n ]);\n};\n\n/**\n * Resolves this field's type references.\n * @returns {Field} `this`\n * @throws {Error} If any reference cannot be resolved\n */\nField.prototype.resolve = function resolve() {\n\n if (this.resolved)\n return this;\n\n if ((this.typeDefault = types.defaults[this.type]) === undefined) { // if not a basic type, resolve it\n this.resolvedType = (this.declaringField ? this.declaringField.parent : this.parent).lookupTypeOrEnum(this.type);\n if (this.resolvedType instanceof Type)\n this.typeDefault = null;\n else // instanceof Enum\n this.typeDefault = this.resolvedType.values[Object.keys(this.resolvedType.values)[0]]; // first defined\n } else if (this.options && this.options.proto3_optional) {\n // proto3 scalar value marked optional; should default to null\n this.typeDefault = null;\n }\n\n // use explicitly set default value if present\n if (this.options && this.options[\"default\"] != null) {\n this.typeDefault = this.options[\"default\"];\n if (this.resolvedType instanceof Enum && typeof this.typeDefault === \"string\")\n this.typeDefault = this.resolvedType.values[this.typeDefault];\n }\n\n // remove unnecessary options\n if (this.options) {\n if (this.options.packed === true || this.options.packed !== undefined && this.resolvedType && !(this.resolvedType instanceof Enum))\n delete this.options.packed;\n if (!Object.keys(this.options).length)\n this.options = undefined;\n }\n\n // convert to internal data type if necesssary\n if (this.long) {\n this.typeDefault = util.Long.fromNumber(this.typeDefault, this.type.charAt(0) === \"u\");\n\n /* istanbul ignore else */\n if (Object.freeze)\n Object.freeze(this.typeDefault); // long instances are meant to be immutable anyway (i.e. use small int cache that even requires it)\n\n } else if (this.bytes && typeof this.typeDefault === \"string\") {\n var buf;\n if (util.base64.test(this.typeDefault))\n util.base64.decode(this.typeDefault, buf = util.newBuffer(util.base64.length(this.typeDefault)), 0);\n else\n util.utf8.write(this.typeDefault, buf = util.newBuffer(util.utf8.length(this.typeDefault)), 0);\n this.typeDefault = buf;\n }\n\n // take special care of maps and repeated fields\n if (this.map)\n this.defaultValue = util.emptyObject;\n else if (this.repeated)\n this.defaultValue = util.emptyArray;\n else\n this.defaultValue = this.typeDefault;\n\n // ensure proper value on prototype\n if (this.parent instanceof Type)\n this.parent.ctor.prototype[this.name] = this.defaultValue;\n\n return ReflectionObject.prototype.resolve.call(this);\n};\n\n/**\n * Decorator function as returned by {@link Field.d} and {@link MapField.d} (TypeScript).\n * @typedef FieldDecorator\n * @type {function}\n * @param {Object} prototype Target prototype\n * @param {string} fieldName Field name\n * @returns {undefined}\n */\n\n/**\n * Field decorator (TypeScript).\n * @name Field.d\n * @function\n * @param {number} fieldId Field id\n * @param {\"double\"|\"float\"|\"int32\"|\"uint32\"|\"sint32\"|\"fixed32\"|\"sfixed32\"|\"int64\"|\"uint64\"|\"sint64\"|\"fixed64\"|\"sfixed64\"|\"string\"|\"bool\"|\"bytes\"|Object} fieldType Field type\n * @param {\"optional\"|\"required\"|\"repeated\"} [fieldRule=\"optional\"] Field rule\n * @param {T} [defaultValue] Default value\n * @returns {FieldDecorator} Decorator function\n * @template T extends number | number[] | Long | Long[] | string | string[] | boolean | boolean[] | Uint8Array | Uint8Array[] | Buffer | Buffer[]\n */\nField.d = function decorateField(fieldId, fieldType, fieldRule, defaultValue) {\n\n // submessage: decorate the submessage and use its name as the type\n if (typeof fieldType === \"function\")\n fieldType = util.decorateType(fieldType).name;\n\n // enum reference: create a reflected copy of the enum and keep reuseing it\n else if (fieldType && typeof fieldType === \"object\")\n fieldType = util.decorateEnum(fieldType).name;\n\n return function fieldDecorator(prototype, fieldName) {\n util.decorateType(prototype.constructor)\n .add(new Field(fieldName, fieldId, fieldType, fieldRule, { \"default\": defaultValue }));\n };\n};\n\n/**\n * Field decorator (TypeScript).\n * @name Field.d\n * @function\n * @param {number} fieldId Field id\n * @param {Constructor<T>|string} fieldType Field type\n * @param {\"optional\"|\"required\"|\"repeated\"} [fieldRule=\"optional\"] Field rule\n * @returns {FieldDecorator} Decorator function\n * @template T extends Message<T>\n * @variation 2\n */\n// like Field.d but without a default value\n\n// Sets up cyclic dependencies (called in index-light)\nField._configure = function configure(Type_) {\n Type = Type_;\n};\n", "\"use strict\";\nmodule.exports = OneOf;\n\n// extends ReflectionObject\nvar ReflectionObject = require(\"./object\");\n((OneOf.prototype = Object.create(ReflectionObject.prototype)).constructor = OneOf).className = \"OneOf\";\n\nvar Field = require(\"./field\"),\n util = require(\"./util\");\n\n/**\n * Constructs a new oneof instance.\n * @classdesc Reflected oneof.\n * @extends ReflectionObject\n * @constructor\n * @param {string} name Oneof name\n * @param {string[]|Object.<string,*>} [fieldNames] Field names\n * @param {Object.<string,*>} [options] Declared options\n * @param {string} [comment] Comment associated with this field\n */\nfunction OneOf(name, fieldNames, options, comment) {\n if (!Array.isArray(fieldNames)) {\n options = fieldNames;\n fieldNames = undefined;\n }\n ReflectionObject.call(this, name, options);\n\n /* istanbul ignore if */\n if (!(fieldNames === undefined || Array.isArray(fieldNames)))\n throw TypeError(\"fieldNames must be an Array\");\n\n /**\n * Field names that belong to this oneof.\n * @type {string[]}\n */\n this.oneof = fieldNames || []; // toJSON, marker\n\n /**\n * Fields that belong to this oneof as an array for iteration.\n * @type {Field[]}\n * @readonly\n */\n this.fieldsArray = []; // declared readonly for conformance, possibly not yet added to parent\n\n /**\n * Comment for this field.\n * @type {string|null}\n */\n this.comment = comment;\n}\n\n/**\n * Oneof descriptor.\n * @interface IOneOf\n * @property {Array.<string>} oneof Oneof field names\n * @property {Object.<string,*>} [options] Oneof options\n */\n\n/**\n * Constructs a oneof from a oneof descriptor.\n * @param {string} name Oneof name\n * @param {IOneOf} json Oneof descriptor\n * @returns {OneOf} Created oneof\n * @throws {TypeError} If arguments are invalid\n */\nOneOf.fromJSON = function fromJSON(name, json) {\n return new OneOf(name, json.oneof, json.options, json.comment);\n};\n\n/**\n * Converts this oneof to a oneof descriptor.\n * @param {IToJSONOptions} [toJSONOptions] JSON conversion options\n * @returns {IOneOf} Oneof descriptor\n */\nOneOf.prototype.toJSON = function toJSON(toJSONOptions) {\n var keepComments = toJSONOptions ? Boolean(toJSONOptions.keepComments) : false;\n return util.toObject([\n \"options\" , this.options,\n \"oneof\" , this.oneof,\n \"comment\" , keepComments ? this.comment : undefined\n ]);\n};\n\n/**\n * Adds the fields of the specified oneof to the parent if not already done so.\n * @param {OneOf} oneof The oneof\n * @returns {undefined}\n * @inner\n * @ignore\n */\nfunction addFieldsToParent(oneof) {\n if (oneof.parent)\n for (var i = 0; i < oneof.fieldsArray.length; ++i)\n if (!oneof.fieldsArray[i].parent)\n oneof.parent.add(oneof.fieldsArray[i]);\n}\n\n/**\n * Adds a field to this oneof and removes it from its current parent, if any.\n * @param {Field} field Field to add\n * @returns {OneOf} `this`\n */\nOneOf.prototype.add = function add(field) {\n\n /* istanbul ignore if */\n if (!(field instanceof Field))\n throw TypeError(\"field must be a Field\");\n\n if (field.parent && field.parent !== this.parent)\n field.parent.remove(field);\n this.oneof.push(field.name);\n this.fieldsArray.push(field);\n field.partOf = this; // field.parent remains null\n addFieldsToParent(this);\n return this;\n};\n\n/**\n * Removes a field from this oneof and puts it back to the oneof's parent.\n * @param {Field} field Field to remove\n * @returns {OneOf} `this`\n */\nOneOf.prototype.remove = function remove(field) {\n\n /* istanbul ignore if */\n if (!(field instanceof Field))\n throw TypeError(\"field must be a Field\");\n\n var index = this.fieldsArray.indexOf(field);\n\n /* istanbul ignore if */\n if (index < 0)\n throw Error(field + \" is not a member of \" + this);\n\n this.fieldsArray.splice(index, 1);\n index = this.oneof.indexOf(field.name);\n\n /* istanbul ignore else */\n if (index > -1) // theoretical\n this.oneof.splice(index, 1);\n\n field.partOf = null;\n return this;\n};\n\n/**\n * @override\n */\nOneOf.prototype.onAdd = function onAdd(parent) {\n ReflectionObject.prototype.onAdd.call(this, parent);\n var self = this;\n // Collect present fields\n for (var i = 0; i < this.oneof.length; ++i) {\n var field = parent.get(this.oneof[i]);\n if (field && !field.partOf) {\n field.partOf = self;\n self.fieldsArray.push(field);\n }\n }\n // Add not yet present fields\n addFieldsToParent(this);\n};\n\n/**\n * @override\n */\nOneOf.prototype.onRemove = function onRemove(parent) {\n for (var i = 0, field; i < this.fieldsArray.length; ++i)\n if ((field = this.fieldsArray[i]).parent)\n field.parent.remove(field);\n ReflectionObject.prototype.onRemove.call(this, parent);\n};\n\n/**\n * Decorator function as returned by {@link OneOf.d} (TypeScript).\n * @typedef OneOfDecorator\n * @type {function}\n * @param {Object} prototype Target prototype\n * @param {string} oneofName OneOf name\n * @returns {undefined}\n */\n\n/**\n * OneOf decorator (TypeScript).\n * @function\n * @param {...string} fieldNames Field names\n * @returns {OneOfDecorator} Decorator function\n * @template T extends string\n */\nOneOf.d = function decorateOneOf() {\n var fieldNames = new Array(arguments.length),\n index = 0;\n while (index < arguments.length)\n fieldNames[index] = arguments[index++];\n return function oneOfDecorator(prototype, oneofName) {\n util.decorateType(prototype.constructor)\n .add(new OneOf(oneofName, fieldNames));\n Object.defineProperty(prototype, oneofName, {\n get: util.oneOfGetter(fieldNames),\n set: util.oneOfSetter(fieldNames)\n });\n };\n};\n", "\"use strict\";\nmodule.exports = Namespace;\n\n// extends ReflectionObject\nvar ReflectionObject = require(\"./object\");\n((Namespace.prototype = Object.create(ReflectionObject.prototype)).constructor = Namespace).className = \"Namespace\";\n\nvar Field = require(\"./field\"),\n util = require(\"./util\"),\n OneOf = require(\"./oneof\");\n\nvar Type, // cyclic\n Service,\n Enum;\n\n/**\n * Constructs a new namespace instance.\n * @name Namespace\n * @classdesc Reflected namespace.\n * @extends NamespaceBase\n * @constructor\n * @param {string} name Namespace name\n * @param {Object.<string,*>} [options] Declared options\n */\n\n/**\n * Constructs a namespace from JSON.\n * @memberof Namespace\n * @function\n * @param {string} name Namespace name\n * @param {Object.<string,*>} json JSON object\n * @returns {Namespace} Created namespace\n * @throws {TypeError} If arguments are invalid\n */\nNamespace.fromJSON = function fromJSON(name, json) {\n return new Namespace(name, json.options).addJSON(json.nested);\n};\n\n/**\n * Converts an array of reflection objects to JSON.\n * @memberof Namespace\n * @param {ReflectionObject[]} array Object array\n * @param {IToJSONOptions} [toJSONOptions] JSON conversion options\n * @returns {Object.<string,*>|undefined} JSON object or `undefined` when array is empty\n */\nfunction arrayToJSON(array, toJSONOptions) {\n if (!(array && array.length))\n return undefined;\n var obj = {};\n for (var i = 0; i < array.length; ++i)\n obj[array[i].name] = array[i].toJSON(toJSONOptions);\n return obj;\n}\n\nNamespace.arrayToJSON = arrayToJSON;\n\n/**\n * Tests if the specified id is reserved.\n * @param {Array.<number[]|string>|undefined} reserved Array of reserved ranges and names\n * @param {number} id Id to test\n * @returns {boolean} `true` if reserved, otherwise `false`\n */\nNamespace.isReservedId = function isReservedId(reserved, id) {\n if (reserved)\n for (var i = 0; i < reserved.length; ++i)\n if (typeof reserved[i] !== \"string\" && reserved[i][0] <= id && reserved[i][1] > id)\n return true;\n return false;\n};\n\n/**\n * Tests if the specified name is reserved.\n * @param {Array.<number[]|string>|undefined} reserved Array of reserved ranges and names\n * @param {string} name Name to test\n * @returns {boolean} `true` if reserved, otherwise `false`\n */\nNamespace.isReservedName = function isReservedName(reserved, name) {\n if (reserved)\n for (var i = 0; i < reserved.length; ++i)\n if (reserved[i] === name)\n return true;\n return false;\n};\n\n/**\n * Not an actual constructor. Use {@link Namespace} instead.\n * @classdesc Base class of all reflection objects containing nested objects. This is not an actual class but here for the sake of having consistent type definitions.\n * @exports NamespaceBase\n * @extends ReflectionObject\n * @abstract\n * @constructor\n * @param {string} name Namespace name\n * @param {Object.<string,*>} [options] Declared options\n * @see {@link Namespace}\n */\nfunction Namespace(name, options) {\n ReflectionObject.call(this, name, options);\n\n /**\n * Nested objects by name.\n * @type {Object.<string,ReflectionObject>|undefined}\n */\n this.nested = undefined; // toJSON\n\n /**\n * Cached nested objects as an array.\n * @type {ReflectionObject[]|null}\n * @private\n */\n this._nestedArray = null;\n}\n\nfunction clearCache(namespace) {\n namespace._nestedArray = null;\n return namespace;\n}\n\n/**\n * Nested objects of this namespace as an array for iteration.\n * @name NamespaceBase#nestedArray\n * @type {ReflectionObject[]}\n * @readonly\n */\nObject.defineProperty(Namespace.prototype, \"nestedArray\", {\n get: function() {\n return this._nestedArray || (this._nestedArray = util.toArray(this.nested));\n }\n});\n\n/**\n * Namespace descriptor.\n * @interface INamespace\n * @property {Object.<string,*>} [options] Namespace options\n * @property {Object.<string,AnyNestedObject>} [nested] Nested object descriptors\n */\n\n/**\n * Any extension field descriptor.\n * @typedef AnyExtensionField\n * @type {IExtensionField|IExtensionMapField}\n */\n\n/**\n * Any nested object descriptor.\n * @typedef AnyNestedObject\n * @type {IEnum|IType|IService|AnyExtensionField|INamespace|IOneOf}\n */\n\n/**\n * Converts this namespace to a namespace descriptor.\n * @param {IToJSONOptions} [toJSONOptions] JSON conversion options\n * @returns {INamespace} Namespace descriptor\n */\nNamespace.prototype.toJSON = function toJSON(toJSONOptions) {\n return util.toObject([\n \"options\" , this.options,\n \"nested\" , arrayToJSON(this.nestedArray, toJSONOptions)\n ]);\n};\n\n/**\n * Adds nested objects to this namespace from nested object descriptors.\n * @param {Object.<string,AnyNestedObject>} nestedJson Any nested object descriptors\n * @returns {Namespace} `this`\n */\nNamespace.prototype.addJSON = function addJSON(nestedJson) {\n var ns = this;\n /* istanbul ignore else */\n if (nestedJson) {\n for (var names = Object.keys(nestedJson), i = 0, nested; i < names.length; ++i) {\n nested = nestedJson[names[i]];\n ns.add( // most to least likely\n ( nested.fields !== undefined\n ? Type.fromJSON\n : nested.values !== undefined\n ? Enum.fromJSON\n : nested.methods !== undefined\n ? Service.fromJSON\n : nested.id !== undefined\n ? Field.fromJSON\n : Namespace.fromJSON )(names[i], nested)\n );\n }\n }\n return this;\n};\n\n/**\n * Gets the nested object of the specified name.\n * @param {string} name Nested object name\n * @returns {ReflectionObject|null} The reflection object or `null` if it doesn't exist\n */\nNamespace.prototype.get = function get(name) {\n return this.nested && this.nested[name]\n || null;\n};\n\n/**\n * Gets the values of the nested {@link Enum|enum} of the specified name.\n * This methods differs from {@link Namespace#get|get} in that it returns an enum's values directly and throws instead of returning `null`.\n * @param {string} name Nested enum name\n * @returns {Object.<string,number>} Enum values\n * @throws {Error} If there is no such enum\n */\nNamespace.prototype.getEnum = function getEnum(name) {\n if (this.nested && this.nested[name] instanceof Enum)\n return this.nested[name].values;\n throw Error(\"no such enum: \" + name);\n};\n\n/**\n * Adds a nested object to this namespace.\n * @param {ReflectionObject} object Nested object to add\n * @returns {Namespace} `this`\n * @throws {TypeError} If arguments are invalid\n * @throws {Error} If there is already a nested object with this name\n */\nNamespace.prototype.add = function add(object) {\n\n if (!(object instanceof Field && object.extend !== undefined || object instanceof Type || object instanceof OneOf || object instanceof Enum || object instanceof Service || object instanceof Namespace))\n throw TypeError(\"object must be a valid nested object\");\n\n if (!this.nested)\n this.nested = {};\n else {\n var prev = this.get(object.name);\n if (prev) {\n if (prev instanceof Namespace && object instanceof Namespace && !(prev instanceof Type || prev instanceof Service)) {\n // replace plain namespace but keep existing nested elements and options\n var nested = prev.nestedArray;\n for (var i = 0; i < nested.length; ++i)\n object.add(nested[i]);\n this.remove(prev);\n if (!this.nested)\n this.nested = {};\n object.setOptions(prev.options, true);\n\n } else\n throw Error(\"duplicate name '\" + object.name + \"' in \" + this);\n }\n }\n this.nested[object.name] = object;\n object.onAdd(this);\n return clearCache(this);\n};\n\n/**\n * Removes a nested object from this namespace.\n * @param {ReflectionObject} object Nested object to remove\n * @returns {Namespace} `this`\n * @throws {TypeError} If arguments are invalid\n * @throws {Error} If `object` is not a member of this namespace\n */\nNamespace.prototype.remove = function remove(object) {\n\n if (!(object instanceof ReflectionObject))\n throw TypeError(\"object must be a ReflectionObject\");\n if (object.parent !== this)\n throw Error(object + \" is not a member of \" + this);\n\n delete this.nested[object.name];\n if (!Object.keys(this.nested).length)\n this.nested = undefined;\n\n object.onRemove(this);\n return clearCache(this);\n};\n\n/**\n * Defines additial namespaces within this one if not yet existing.\n * @param {string|string[]} path Path to create\n * @param {*} [json] Nested types to create from JSON\n * @returns {Namespace} Pointer to the last namespace created or `this` if path is empty\n */\nNamespace.prototype.define = function define(path, json) {\n\n if (util.isString(path))\n path = path.split(\".\");\n else if (!Array.isArray(path))\n throw TypeError(\"illegal path\");\n if (path && path.length && path[0] === \"\")\n throw Error(\"path must be relative\");\n\n var ptr = this;\n while (path.length > 0) {\n var part = path.shift();\n if (ptr.nested && ptr.nested[part]) {\n ptr = ptr.nested[part];\n if (!(ptr instanceof Namespace))\n throw Error(\"path conflicts with non-namespace objects\");\n } else\n ptr.add(ptr = new Namespace(part));\n }\n if (json)\n ptr.addJSON(json);\n return ptr;\n};\n\n/**\n * Resolves this namespace's and all its nested objects' type references. Useful to validate a reflection tree, but comes at a cost.\n * @returns {Namespace} `this`\n */\nNamespace.prototype.resolveAll = function resolveAll() {\n var nested = this.nestedArray, i = 0;\n while (i < nested.length)\n if (nested[i] instanceof Namespace)\n nested[i++].resolveAll();\n else\n nested[i++].resolve();\n return this.resolve();\n};\n\n/**\n * Recursively looks up the reflection object matching the specified path in the scope of this namespace.\n * @param {string|string[]} path Path to look up\n * @param {*|Array.<*>} filterTypes Filter types, any combination of the constructors of `protobuf.Type`, `protobuf.Enum`, `protobuf.Service` etc.\n * @param {boolean} [parentAlreadyChecked=false] If known, whether the parent has already been checked\n * @returns {ReflectionObject|null} Looked up object or `null` if none could be found\n */\nNamespace.prototype.lookup = function lookup(path, filterTypes, parentAlreadyChecked) {\n\n /* istanbul ignore next */\n if (typeof filterTypes === \"boolean\") {\n parentAlreadyChecked = filterTypes;\n filterTypes = undefined;\n } else if (filterTypes && !Array.isArray(filterTypes))\n filterTypes = [ filterTypes ];\n\n if (util.isString(path) && path.length) {\n if (path === \".\")\n return this.root;\n path = path.split(\".\");\n } else if (!path.length)\n return this;\n\n // Start at root if path is absolute\n if (path[0] === \"\")\n return this.root.lookup(path.slice(1), filterTypes);\n\n // Test if the first part matches any nested object, and if so, traverse if path contains more\n var found = this.get(path[0]);\n if (found) {\n if (path.length === 1) {\n if (!filterTypes || filterTypes.indexOf(found.constructor) > -1)\n return found;\n } else if (found instanceof Namespace && (found = found.lookup(path.slice(1), filterTypes, true)))\n return found;\n\n // Otherwise try each nested namespace\n } else\n for (var i = 0; i < this.nestedArray.length; ++i)\n if (this._nestedArray[i] instanceof Namespace && (found = this._nestedArray[i].lookup(path, filterTypes, true)))\n return found;\n\n // If there hasn't been a match, try again at the parent\n if (this.parent === null || parentAlreadyChecked)\n return null;\n return this.parent.lookup(path, filterTypes);\n};\n\n/**\n * Looks up the reflection object at the specified path, relative to this namespace.\n * @name NamespaceBase#lookup\n * @function\n * @param {string|string[]} path Path to look up\n * @param {boolean} [parentAlreadyChecked=false] Whether the parent has already been checked\n * @returns {ReflectionObject|null} Looked up object or `null` if none could be found\n * @variation 2\n */\n// lookup(path: string, [parentAlreadyChecked: boolean])\n\n/**\n * Looks up the {@link Type|type} at the specified path, relative to this namespace.\n * Besides its signature, this methods differs from {@link Namespace#lookup|lookup} in that it throws instead of returning `null`.\n * @param {string|string[]} path Path to look up\n * @returns {Type} Looked up type\n * @throws {Error} If `path` does not point to a type\n */\nNamespace.prototype.lookupType = function lookupType(path) {\n var found = this.lookup(path, [ Type ]);\n if (!found)\n throw Error(\"no such type: \" + path);\n return found;\n};\n\n/**\n * Looks up the values of the {@link Enum|enum} at the specified path, relative to this namespace.\n * Besides its signature, this methods differs from {@link Namespace#lookup|lookup} in that it throws instead of returning `null`.\n * @param {string|string[]} path Path to look up\n * @returns {Enum} Looked up enum\n * @throws {Error} If `path` does not point to an enum\n */\nNamespace.prototype.lookupEnum = function lookupEnum(path) {\n var found = this.lookup(path, [ Enum ]);\n if (!found)\n throw Error(\"no such Enum '\" + path + \"' in \" + this);\n return found;\n};\n\n/**\n * Looks up the {@link Type|type} or {@link Enum|enum} at the specified path, relative to this namespace.\n * Besides its signature, this methods differs from {@link Namespace#lookup|lookup} in that it throws instead of returning `null`.\n * @param {string|string[]} path Path to look up\n * @returns {Type} Looked up type or enum\n * @throws {Error} If `path` does not point to a type or enum\n */\nNamespace.prototype.lookupTypeOrEnum = function lookupTypeOrEnum(path) {\n var found = this.lookup(path, [ Type, Enum ]);\n if (!found)\n throw Error(\"no such Type or Enum '\" + path + \"' in \" + this);\n return found;\n};\n\n/**\n * Looks up the {@link Service|service} at the specified path, relative to this namespace.\n * Besides its signature, this methods differs from {@link Namespace#lookup|lookup} in that it throws instead of returning `null`.\n * @param {string|string[]} path Path to look up\n * @returns {Service} Looked up service\n * @throws {Error} If `path` does not point to a service\n */\nNamespace.prototype.lookupService = function lookupService(path) {\n var found = this.lookup(path, [ Service ]);\n if (!found)\n throw Error(\"no such Service '\" + path + \"' in \" + this);\n return found;\n};\n\n// Sets up cyclic dependencies (called in index-light)\nNamespace._configure = function(Type_, Service_, Enum_) {\n Type = Type_;\n Service = Service_;\n Enum = Enum_;\n};\n", "\"use strict\";\nmodule.exports = MapField;\n\n// extends Field\nvar Field = require(\"./field\");\n((MapField.prototype = Object.create(Field.prototype)).constructor = MapField).className = \"MapField\";\n\nvar types = require(\"./types\"),\n util = require(\"./util\");\n\n/**\n * Constructs a new map field instance.\n * @classdesc Reflected map field.\n * @extends FieldBase\n * @constructor\n * @param {string} name Unique name within its namespace\n * @param {number} id Unique id within its namespace\n * @param {string} keyType Key type\n * @param {string} type Value type\n * @param {Object.<string,*>} [options] Declared options\n * @param {string} [comment] Comment associated with this field\n */\nfunction MapField(name, id, keyType, type, options, comment) {\n Field.call(this, name, id, type, undefined, undefined, options, comment);\n\n /* istanbul ignore if */\n if (!util.isString(keyType))\n throw TypeError(\"keyType must be a string\");\n\n /**\n * Key type.\n * @type {string}\n */\n this.keyType = keyType; // toJSON, marker\n\n /**\n * Resolved key type if not a basic type.\n * @type {ReflectionObject|null}\n */\n this.resolvedKeyType = null;\n\n // Overrides Field#map\n this.map = true;\n}\n\n/**\n * Map field descriptor.\n * @interface IMapField\n * @extends {IField}\n * @property {string} keyType Key type\n */\n\n/**\n * Extension map field descriptor.\n * @interface IExtensionMapField\n * @extends IMapField\n * @property {string} extend Extended type\n */\n\n/**\n * Constructs a map field from a map field descriptor.\n * @param {string} name Field name\n * @param {IMapField} json Map field descriptor\n * @returns {MapField} Created map field\n * @throws {TypeError} If arguments are invalid\n */\nMapField.fromJSON = function fromJSON(name, json) {\n return new MapField(name, json.id, json.keyType, json.type, json.options, json.comment);\n};\n\n/**\n * Converts this map field to a map field descriptor.\n * @param {IToJSONOptions} [toJSONOptions] JSON conversion options\n * @returns {IMapField} Map field descriptor\n */\nMapField.prototype.toJSON = function toJSON(toJSONOptions) {\n var keepComments = toJSONOptions ? Boolean(toJSONOptions.keepComments) : false;\n return util.toObject([\n \"keyType\" , this.keyType,\n \"type\" , this.type,\n \"id\" , this.id,\n \"extend\" , this.extend,\n \"options\" , this.options,\n \"comment\" , keepComments ? this.comment : undefined\n ]);\n};\n\n/**\n * @override\n */\nMapField.prototype.resolve = function resolve() {\n if (this.resolved)\n return this;\n\n // Besides a value type, map fields have a key type that may be \"any scalar type except for floating point types and bytes\"\n if (types.mapKey[this.keyType] === undefined)\n throw Error(\"invalid key type: \" + this.keyType);\n\n return Field.prototype.resolve.call(this);\n};\n\n/**\n * Map field decorator (TypeScript).\n * @name MapField.d\n * @function\n * @param {number} fieldId Field id\n * @param {\"int32\"|\"uint32\"|\"sint32\"|\"fixed32\"|\"sfixed32\"|\"int64\"|\"uint64\"|\"sint64\"|\"fixed64\"|\"sfixed64\"|\"bool\"|\"string\"} fieldKeyType Field key type\n * @param {\"double\"|\"float\"|\"int32\"|\"uint32\"|\"sint32\"|\"fixed32\"|\"sfixed32\"|\"int64\"|\"uint64\"|\"sint64\"|\"fixed64\"|\"sfixed64\"|\"bool\"|\"string\"|\"bytes\"|Object|Constructor<{}>} fieldValueType Field value type\n * @returns {FieldDecorator} Decorator function\n * @template T extends { [key: string]: number | Long | string | boolean | Uint8Array | Buffer | number[] | Message<{}> }\n */\nMapField.d = function decorateMapField(fieldId, fieldKeyType, fieldValueType) {\n\n // submessage value: decorate the submessage and use its name as the type\n if (typeof fieldValueType === \"function\")\n fieldValueType = util.decorateType(fieldValueType).name;\n\n // enum reference value: create a reflected copy of the enum and keep reuseing it\n else if (fieldValueType && typeof fieldValueType === \"object\")\n fieldValueType = util.decorateEnum(fieldValueType).name;\n\n return function mapFieldDecorator(prototype, fieldName) {\n util.decorateType(prototype.constructor)\n .add(new MapField(fieldName, fieldId, fieldKeyType, fieldValueType));\n };\n};\n", "\"use strict\";\nmodule.exports = Method;\n\n// extends ReflectionObject\nvar ReflectionObject = require(\"./object\");\n((Method.prototype = Object.create(ReflectionObject.prototype)).constructor = Method).className = \"Method\";\n\nvar util = require(\"./util\");\n\n/**\n * Constructs a new service method instance.\n * @classdesc Reflected service method.\n * @extends ReflectionObject\n * @constructor\n * @param {string} name Method name\n * @param {string|undefined} type Method type, usually `\"rpc\"`\n * @param {string} requestType Request message type\n * @param {string} responseType Response message type\n * @param {boolean|Object.<string,*>} [requestStream] Whether the request is streamed\n * @param {boolean|Object.<string,*>} [responseStream] Whether the response is streamed\n * @param {Object.<string,*>} [options] Declared options\n * @param {string} [comment] The comment for this method\n * @param {Object.<string,*>} [parsedOptions] Declared options, properly parsed into an object\n */\nfunction Method(name, type, requestType, responseType, requestStream, responseStream, options, comment, parsedOptions) {\n\n /* istanbul ignore next */\n if (util.isObject(requestStream)) {\n options = requestStream;\n requestStream = responseStream = undefined;\n } else if (util.isObject(responseStream)) {\n options = responseStream;\n responseStream = undefined;\n }\n\n /* istanbul ignore if */\n if (!(type === undefined || util.isString(type)))\n throw TypeError(\"type must be a string\");\n\n /* istanbul ignore if */\n if (!util.isString(requestType))\n throw TypeError(\"requestType must be a string\");\n\n /* istanbul ignore if */\n if (!util.isString(responseType))\n throw TypeError(\"responseType must be a string\");\n\n ReflectionObject.call(this, name, options);\n\n /**\n * Method type.\n * @type {string}\n */\n this.type = type || \"rpc\"; // toJSON\n\n /**\n * Request type.\n * @type {string}\n */\n this.requestType = requestType; // toJSON, marker\n\n /**\n * Whether requests are streamed or not.\n * @type {boolean|undefined}\n */\n this.requestStream = requestStream ? true : undefined; // toJSON\n\n /**\n * Response type.\n * @type {string}\n */\n this.responseType = responseType; // toJSON\n\n /**\n * Whether responses are streamed or not.\n * @type {boolean|undefined}\n */\n this.responseStream = responseStream ? true : undefined; // toJSON\n\n /**\n * Resolved request type.\n * @type {Type|null}\n */\n this.resolvedRequestType = null;\n\n /**\n * Resolved response type.\n * @type {Type|null}\n */\n this.resolvedResponseType = null;\n\n /**\n * Comment for this method\n * @type {string|null}\n */\n this.comment = comment;\n\n /**\n * Options properly parsed into an object\n */\n this.parsedOptions = parsedOptions;\n}\n\n/**\n * Method descriptor.\n * @interface IMethod\n * @property {string} [type=\"rpc\"] Method type\n * @property {string} requestType Request type\n * @property {string} responseType Response type\n * @property {boolean} [requestStream=false] Whether requests are streamed\n * @property {boolean} [responseStream=false] Whether responses are streamed\n * @property {Object.<string,*>} [options] Method options\n * @property {string} comment Method comments\n * @property {Object.<string,*>} [parsedOptions] Method options properly parsed into an object\n */\n\n/**\n * Constructs a method from a method descriptor.\n * @param {string} name Method name\n * @param {IMethod} json Method descriptor\n * @returns {Method} Created method\n * @throws {TypeError} If arguments are invalid\n */\nMethod.fromJSON = function fromJSON(name, json) {\n return new Method(name, json.type, json.requestType, json.responseType, json.requestStream, json.responseStream, json.options, json.comment, json.parsedOptions);\n};\n\n/**\n * Converts this method to a method descriptor.\n * @param {IToJSONOptions} [toJSONOptions] JSON conversion options\n * @returns {IMethod} Method descriptor\n */\nMethod.prototype.toJSON = function toJSON(toJSONOptions) {\n var keepComments = toJSONOptions ? Boolean(toJSONOptions.keepComments) : false;\n return util.toObject([\n \"type\" , this.type !== \"rpc\" && /* istanbul ignore next */ this.type || undefined,\n \"requestType\" , this.requestType,\n \"requestStream\" , this.requestStream,\n \"responseType\" , this.responseType,\n \"responseStream\" , this.responseStream,\n \"options\" , this.options,\n \"comment\" , keepComments ? this.comment : undefined,\n \"parsedOptions\" , this.parsedOptions,\n ]);\n};\n\n/**\n * @override\n */\nMethod.prototype.resolve = function resolve() {\n\n /* istanbul ignore if */\n if (this.resolved)\n return this;\n\n this.resolvedRequestType = this.parent.lookupType(this.requestType);\n this.resolvedResponseType = this.parent.lookupType(this.responseType);\n\n return ReflectionObject.prototype.resolve.call(this);\n};\n", "\"use strict\";\nmodule.exports = Service;\n\n// extends Namespace\nvar Namespace = require(\"./namespace\");\n((Service.prototype = Object.create(Namespace.prototype)).constructor = Service).className = \"Service\";\n\nvar Method = require(\"./method\"),\n util = require(\"./util\"),\n rpc = require(\"./rpc\");\n\n/**\n * Constructs a new service instance.\n * @classdesc Reflected service.\n * @extends NamespaceBase\n * @constructor\n * @param {string} name Service name\n * @param {Object.<string,*>} [options] Service options\n * @throws {TypeError} If arguments are invalid\n */\nfunction Service(name, options) {\n Namespace.call(this, name, options);\n\n /**\n * Service methods.\n * @type {Object.<string,Method>}\n */\n this.methods = {}; // toJSON, marker\n\n /**\n * Cached methods as an array.\n * @type {Method[]|null}\n * @private\n */\n this._methodsArray = null;\n}\n\n/**\n * Service descriptor.\n * @interface IService\n * @extends INamespace\n * @property {Object.<string,IMethod>} methods Method descriptors\n */\n\n/**\n * Constructs a service from a service descriptor.\n * @param {string} name Service name\n * @param {IService} json Service descriptor\n * @returns {Service} Created service\n * @throws {TypeError} If arguments are invalid\n */\nService.fromJSON = function fromJSON(name, json) {\n var service = new Service(name, json.options);\n /* istanbul ignore else */\n if (json.methods)\n for (var names = Object.keys(json.methods), i = 0; i < names.length; ++i)\n service.add(Method.fromJSON(names[i], json.methods[names[i]]));\n if (json.nested)\n service.addJSON(json.nested);\n service.comment = json.comment;\n return service;\n};\n\n/**\n * Converts this service to a service descriptor.\n * @param {IToJSONOptions} [toJSONOptions] JSON conversion options\n * @returns {IService} Service descriptor\n */\nService.prototype.toJSON = function toJSON(toJSONOptions) {\n var inherited = Namespace.prototype.toJSON.call(this, toJSONOptions);\n var keepComments = toJSONOptions ? Boolean(toJSONOptions.keepComments) : false;\n return util.toObject([\n \"options\" , inherited && inherited.options || undefined,\n \"methods\" , Namespace.arrayToJSON(this.methodsArray, toJSONOptions) || /* istanbul ignore next */ {},\n \"nested\" , inherited && inherited.nested || undefined,\n \"comment\" , keepComments ? this.comment : undefined\n ]);\n};\n\n/**\n * Methods of this service as an array for iteration.\n * @name Service#methodsArray\n * @type {Method[]}\n * @readonly\n */\nObject.defineProperty(Service.prototype, \"methodsArray\", {\n get: function() {\n return this._methodsArray || (this._methodsArray = util.toArray(this.methods));\n }\n});\n\nfunction clearCache(service) {\n service._methodsArray = null;\n return service;\n}\n\n/**\n * @override\n */\nService.prototype.get = function get(name) {\n return this.methods[name]\n || Namespace.prototype.get.call(this, name);\n};\n\n/**\n * @override\n */\nService.prototype.resolveAll = function resolveAll() {\n var methods = this.methodsArray;\n for (var i = 0; i < methods.length; ++i)\n methods[i].resolve();\n return Namespace.prototype.resolve.call(this);\n};\n\n/**\n * @override\n */\nService.prototype.add = function add(object) {\n\n /* istanbul ignore if */\n if (this.get(object.name))\n throw Error(\"duplicate name '\" + object.name + \"' in \" + this);\n\n if (object instanceof Method) {\n this.methods[object.name] = object;\n object.parent = this;\n return clearCache(this);\n }\n return Namespace.prototype.add.call(this, object);\n};\n\n/**\n * @override\n */\nService.prototype.remove = function remove(object) {\n if (object instanceof Method) {\n\n /* istanbul ignore if */\n if (this.methods[object.name] !== object)\n throw Error(object + \" is not a member of \" + this);\n\n delete this.methods[object.name];\n object.parent = null;\n return clearCache(this);\n }\n return Namespace.prototype.remove.call(this, object);\n};\n\n/**\n * Creates a runtime service using the specified rpc implementation.\n * @param {RPCImpl} rpcImpl RPC implementation\n * @param {boolean} [requestDelimited=false] Whether requests are length-delimited\n * @param {boolean} [responseDelimited=false] Whether responses are length-delimited\n * @returns {rpc.Service} RPC service. Useful where requests and/or responses are streamed.\n */\nService.prototype.create = function create(rpcImpl, requestDelimited, responseDelimited) {\n var rpcService = new rpc.Service(rpcImpl, requestDelimited, responseDelimited);\n for (var i = 0, method; i < /* initializes */ this.methodsArray.length; ++i) {\n var methodName = util.lcFirst((method = this._methodsArray[i]).resolve().name).replace(/[^$\\w_]/g, \"\");\n rpcService[methodName] = util.codegen([\"r\",\"c\"], util.isReserved(methodName) ? methodName + \"_\" : methodName)(\"return this.rpcCall(m,q,s,r,c)\")({\n m: method,\n q: method.resolvedRequestType.ctor,\n s: method.resolvedResponseType.ctor\n });\n }\n return rpcService;\n};\n", "\"use strict\";\nmodule.exports = Message;\n\nvar util = require(\"./util/minimal\");\n\n/**\n * Constructs a new message instance.\n * @classdesc Abstract runtime message.\n * @constructor\n * @param {Properties<T>} [properties] Properties to set\n * @template T extends object = object\n */\nfunction Message(properties) {\n // not used internally\n if (properties)\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\n this[keys[i]] = properties[keys[i]];\n}\n\n/**\n * Reference to the reflected type.\n * @name Message.$type\n * @type {Type}\n * @readonly\n */\n\n/**\n * Reference to the reflected type.\n * @name Message#$type\n * @type {Type}\n * @readonly\n */\n\n/*eslint-disable valid-jsdoc*/\n\n/**\n * Creates a new message of this type using the specified properties.\n * @param {Object.<string,*>} [properties] Properties to set\n * @returns {Message<T>} Message instance\n * @template T extends Message<T>\n * @this Constructor<T>\n */\nMessage.create = function create(properties) {\n return this.$type.create(properties);\n};\n\n/**\n * Encodes a message of this type.\n * @param {T|Object.<string,*>} message Message to encode\n * @param {Writer} [writer] Writer to use\n * @returns {Writer} Writer\n * @template T extends Message<T>\n * @this Constructor<T>\n */\nMessage.encode = function encode(message, writer) {\n return this.$type.encode(message, writer);\n};\n\n/**\n * Encodes a message of this type preceeded by its length as a varint.\n * @param {T|Object.<string,*>} message Message to encode\n * @param {Writer} [writer] Writer to use\n * @returns {Writer} Writer\n * @template T extends Message<T>\n * @this Constructor<T>\n */\nMessage.encodeDelimited = function encodeDelimited(message, writer) {\n return this.$type.encodeDelimited(message, writer);\n};\n\n/**\n * Decodes a message of this type.\n * @name Message.decode\n * @function\n * @param {Reader|Uint8Array} reader Reader or buffer to decode\n * @returns {T} Decoded message\n * @template T extends Message<T>\n * @this Constructor<T>\n */\nMessage.decode = function decode(reader) {\n return this.$type.decode(reader);\n};\n\n/**\n * Decodes a message of this type preceeded by its length as a varint.\n * @name Message.decodeDelimited\n * @function\n * @param {Reader|Uint8Array} reader Reader or buffer to decode\n * @returns {T} Decoded message\n * @template T extends Message<T>\n * @this Constructor<T>\n */\nMessage.decodeDelimited = function decodeDelimited(reader) {\n return this.$type.decodeDelimited(reader);\n};\n\n/**\n * Verifies a message of this type.\n * @name Message.verify\n * @function\n * @param {Object.<string,*>} message Plain object to verify\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\n */\nMessage.verify = function verify(message) {\n return this.$type.verify(message);\n};\n\n/**\n * Creates a new message of this type from a plain object. Also converts values to their respective internal types.\n * @param {Object.<string,*>} object Plain object\n * @returns {T} Message instance\n * @template T extends Message<T>\n * @this Constructor<T>\n */\nMessage.fromObject = function fromObject(object) {\n return this.$type.fromObject(object);\n};\n\n/**\n * Creates a plain object from a message of this type. Also converts values to other types if specified.\n * @param {T} message Message instance\n * @param {IConversionOptions} [options] Conversion options\n * @returns {Object.<string,*>} Plain object\n * @template T extends Message<T>\n * @this Constructor<T>\n */\nMessage.toObject = function toObject(message, options) {\n return this.$type.toObject(message, options);\n};\n\n/**\n * Converts this message to JSON.\n * @returns {Object.<string,*>} JSON object\n */\nMessage.prototype.toJSON = function toJSON() {\n return this.$type.toObject(this, util.toJSONOptions);\n};\n\n/*eslint-enable valid-jsdoc*/", "\"use strict\";\nmodule.exports = decoder;\n\nvar Enum = require(\"./enum\"),\n types = require(\"./types\"),\n util = require(\"./util\");\n\nfunction missing(field) {\n return \"missing required '\" + field.name + \"'\";\n}\n\n/**\n * Generates a decoder specific to the specified message type.\n * @param {Type} mtype Message type\n * @returns {Codegen} Codegen instance\n */\nfunction decoder(mtype) {\n /* eslint-disable no-unexpected-multiline */\n var gen = util.codegen([\"r\", \"l\"], mtype.name + \"$decode\")\n (\"if(!(r instanceof Reader))\")\n (\"r=Reader.create(r)\")\n (\"var c=l===undefined?r.len:r.pos+l,m=new this.ctor\" + (mtype.fieldsArray.filter(function(field) { return field.map; }).length ? \",k,value\" : \"\"))\n (\"while(r.pos<c){\")\n (\"var t=r.uint32()\");\n if (mtype.group) gen\n (\"if((t&7)===4)\")\n (\"break\");\n gen\n (\"switch(t>>>3){\");\n\n var i = 0;\n for (; i < /* initializes */ mtype.fieldsArray.length; ++i) {\n var field = mtype._fieldsArray[i].resolve(),\n type = field.resolvedType instanceof Enum ? \"int32\" : field.type,\n ref = \"m\" + util.safeProp(field.name); gen\n (\"case %i: {\", field.id);\n\n // Map fields\n if (field.map) { gen\n (\"if(%s===util.emptyObject)\", ref)\n (\"%s={}\", ref)\n (\"var c2 = r.uint32()+r.pos\");\n\n if (types.defaults[field.keyType] !== undefined) gen\n (\"k=%j\", types.defaults[field.keyType]);\n else gen\n (\"k=null\");\n\n if (types.defaults[type] !== undefined) gen\n (\"value=%j\", types.defaults[type]);\n else gen\n (\"value=null\");\n\n gen\n (\"while(r.pos<c2){\")\n (\"var tag2=r.uint32()\")\n (\"switch(tag2>>>3){\")\n (\"case 1: k=r.%s(); break\", field.keyType)\n (\"case 2:\");\n\n if (types.basic[type] === undefined) gen\n (\"value=types[%i].decode(r,r.uint32())\", i); // can't be groups\n else gen\n (\"value=r.%s()\", type);\n\n gen\n (\"break\")\n (\"default:\")\n (\"r.skipType(tag2&7)\")\n (\"break\")\n (\"}\")\n (\"}\");\n\n if (types.long[field.keyType] !== undefined) gen\n (\"%s[typeof k===\\\"object\\\"?util.longToHash(k):k]=value\", ref);\n else gen\n (\"%s[k]=value\", ref);\n\n // Repeated fields\n } else if (field.repeated) { gen\n\n (\"if(!(%s&&%s.length))\", ref, ref)\n (\"%s=[]\", ref);\n\n // Packable (always check for forward and backward compatiblity)\n if (types.packed[type] !== undefined) gen\n (\"if((t&7)===2){\")\n (\"var c2=r.uint32()+r.pos\")\n (\"while(r.pos<c2)\")\n (\"%s.push(r.%s())\", ref, type)\n (\"}else\");\n\n // Non-packed\n if (types.basic[type] === undefined) gen(field.resolvedType.group\n ? \"%s.push(types[%i].decode(r))\"\n : \"%s.push(types[%i].decode(r,r.uint32()))\", ref, i);\n else gen\n (\"%s.push(r.%s())\", ref, type);\n\n // Non-repeated\n } else if (types.basic[type] === undefined) gen(field.resolvedType.group\n ? \"%s=types[%i].decode(r)\"\n : \"%s=types[%i].decode(r,r.uint32())\", ref, i);\n else gen\n (\"%s=r.%s()\", ref, type);\n gen\n (\"break\")\n (\"}\");\n // Unknown fields\n } gen\n (\"default:\")\n (\"r.skipType(t&7)\")\n (\"break\")\n\n (\"}\")\n (\"}\");\n\n // Field presence\n for (i = 0; i < mtype._fieldsArray.length; ++i) {\n var rfield = mtype._fieldsArray[i];\n if (rfield.required) gen\n (\"if(!m.hasOwnProperty(%j))\", rfield.name)\n (\"throw util.ProtocolError(%j,{instance:m})\", missing(rfield));\n }\n\n return gen\n (\"return m\");\n /* eslint-enable no-unexpected-multiline */\n}\n", "\"use strict\";\nmodule.exports = verifier;\n\nvar Enum = require(\"./enum\"),\n util = require(\"./util\");\n\nfunction invalid(field, expected) {\n return field.name + \": \" + expected + (field.repeated && expected !== \"array\" ? \"[]\" : field.map && expected !== \"object\" ? \"{k:\"+field.keyType+\"}\" : \"\") + \" expected\";\n}\n\n/**\n * Generates a partial value verifier.\n * @param {Codegen} gen Codegen instance\n * @param {Field} field Reflected field\n * @param {number} fieldIndex Field index\n * @param {string} ref Variable reference\n * @returns {Codegen} Codegen instance\n * @ignore\n */\nfunction genVerifyValue(gen, field, fieldIndex, ref) {\n /* eslint-disable no-unexpected-multiline */\n if (field.resolvedType) {\n if (field.resolvedType instanceof Enum) { gen\n (\"switch(%s){\", ref)\n (\"default:\")\n (\"return%j\", invalid(field, \"enum value\"));\n for (var keys = Object.keys(field.resolvedType.values), j = 0; j < keys.length; ++j) gen\n (\"case %i:\", field.resolvedType.values[keys[j]]);\n gen\n (\"break\")\n (\"}\");\n } else {\n gen\n (\"{\")\n (\"var e=types[%i].verify(%s);\", fieldIndex, ref)\n (\"if(e)\")\n (\"return%j+e\", field.name + \".\")\n (\"}\");\n }\n } else {\n switch (field.type) {\n case \"int32\":\n case \"uint32\":\n case \"sint32\":\n case \"fixed32\":\n case \"sfixed32\": gen\n (\"if(!util.isInteger(%s))\", ref)\n (\"return%j\", invalid(field, \"integer\"));\n break;\n case \"int64\":\n case \"uint64\":\n case \"sint64\":\n case \"fixed64\":\n case \"sfixed64\": gen\n (\"if(!util.isInteger(%s)&&!(%s&&util.isInteger(%s.low)&&util.isInteger(%s.high)))\", ref, ref, ref, ref)\n (\"return%j\", invalid(field, \"integer|Long\"));\n break;\n case \"float\":\n case \"double\": gen\n (\"if(typeof %s!==\\\"number\\\")\", ref)\n (\"return%j\", invalid(field, \"number\"));\n break;\n case \"bool\": gen\n (\"if(typeof %s!==\\\"boolean\\\")\", ref)\n (\"return%j\", invalid(field, \"boolean\"));\n break;\n case \"string\": gen\n (\"if(!util.isString(%s))\", ref)\n (\"return%j\", invalid(field, \"string\"));\n break;\n case \"bytes\": gen\n (\"if(!(%s&&typeof %s.length===\\\"number\\\"||util.isString(%s)))\", ref, ref, ref)\n (\"return%j\", invalid(field, \"buffer\"));\n break;\n }\n }\n return gen;\n /* eslint-enable no-unexpected-multiline */\n}\n\n/**\n * Generates a partial key verifier.\n * @param {Codegen} gen Codegen instance\n * @param {Field} field Reflected field\n * @param {string} ref Variable reference\n * @returns {Codegen} Codegen instance\n * @ignore\n */\nfunction genVerifyKey(gen, field, ref) {\n /* eslint-disable no-unexpected-multiline */\n switch (field.keyType) {\n case \"int32\":\n case \"uint32\":\n case \"sint32\":\n case \"fixed32\":\n case \"sfixed32\": gen\n (\"if(!util.key32Re.test(%s))\", ref)\n (\"return%j\", invalid(field, \"integer key\"));\n break;\n case \"int64\":\n case \"uint64\":\n case \"sint64\":\n case \"fixed64\":\n case \"sfixed64\": gen\n (\"if(!util.key64Re.test(%s))\", ref) // see comment above: x is ok, d is not\n (\"return%j\", invalid(field, \"integer|Long key\"));\n break;\n case \"bool\": gen\n (\"if(!util.key2Re.test(%s))\", ref)\n (\"return%j\", invalid(field, \"boolean key\"));\n break;\n }\n return gen;\n /* eslint-enable no-unexpected-multiline */\n}\n\n/**\n * Generates a verifier specific to the specified message type.\n * @param {Type} mtype Message type\n * @returns {Codegen} Codegen instance\n */\nfunction verifier(mtype) {\n /* eslint-disable no-unexpected-multiline */\n\n var gen = util.codegen([\"m\"], mtype.name + \"$verify\")\n (\"if(typeof m!==\\\"object\\\"||m===null)\")\n (\"return%j\", \"object expected\");\n var oneofs = mtype.oneofsArray,\n seenFirstField = {};\n if (oneofs.length) gen\n (\"var p={}\");\n\n for (var i = 0; i < /* initializes */ mtype.fieldsArray.length; ++i) {\n var field = mtype._fieldsArray[i].resolve(),\n ref = \"m\" + util.safeProp(field.name);\n\n if (field.optional) gen\n (\"if(%s!=null&&m.hasOwnProperty(%j)){\", ref, field.name); // !== undefined && !== null\n\n // map fields\n if (field.map) { gen\n (\"if(!util.isObject(%s))\", ref)\n (\"return%j\", invalid(field, \"object\"))\n (\"var k=Object.keys(%s)\", ref)\n (\"for(var i=0;i<k.length;++i){\");\n genVerifyKey(gen, field, \"k[i]\");\n genVerifyValue(gen, field, i, ref + \"[k[i]]\")\n (\"}\");\n\n // repeated fields\n } else if (field.repeated) { gen\n (\"if(!Array.isArray(%s))\", ref)\n (\"return%j\", invalid(field, \"array\"))\n (\"for(var i=0;i<%s.length;++i){\", ref);\n genVerifyValue(gen, field, i, ref + \"[i]\")\n (\"}\");\n\n // required or present fields\n } else {\n if (field.partOf) {\n var oneofProp = util.safeProp(field.partOf.name);\n if (seenFirstField[field.partOf.name] === 1) gen\n (\"if(p%s===1)\", oneofProp)\n (\"return%j\", field.partOf.name + \": multiple values\");\n seenFirstField[field.partOf.name] = 1;\n gen\n (\"p%s=1\", oneofProp);\n }\n genVerifyValue(gen, field, i, ref);\n }\n if (field.optional) gen\n (\"}\");\n }\n return gen\n (\"return null\");\n /* eslint-enable no-unexpected-multiline */\n}", "\"use strict\";\n/**\n * Runtime message from/to plain object converters.\n * @namespace\n */\nvar converter = exports;\n\nvar Enum = require(\"./enum\"),\n util = require(\"./util\");\n\n/**\n * Generates a partial value fromObject conveter.\n * @param {Codegen} gen Codegen instance\n * @param {Field} field Reflected field\n * @param {number} fieldIndex Field index\n * @param {string} prop Property reference\n * @returns {Codegen} Codegen instance\n * @ignore\n */\nfunction genValuePartial_fromObject(gen, field, fieldIndex, prop) {\n var defaultAlreadyEmitted = false;\n /* eslint-disable no-unexpected-multiline, block-scoped-var, no-redeclare */\n if (field.resolvedType) {\n if (field.resolvedType instanceof Enum) { gen\n (\"switch(d%s){\", prop);\n for (var values = field.resolvedType.values, keys = Object.keys(values), i = 0; i < keys.length; ++i) {\n // enum unknown values passthrough\n if (values[keys[i]] === field.typeDefault && !defaultAlreadyEmitted) { gen\n (\"default:\")\n (\"if(typeof(d%s)===\\\"number\\\"){m%s=d%s;break}\", prop, prop, prop);\n if (!field.repeated) gen // fallback to default value only for\n // arrays, to avoid leaving holes.\n (\"break\"); // for non-repeated fields, just ignore\n defaultAlreadyEmitted = true;\n }\n gen\n (\"case%j:\", keys[i])\n (\"case %i:\", values[keys[i]])\n (\"m%s=%j\", prop, values[keys[i]])\n (\"break\");\n } gen\n (\"}\");\n } else gen\n (\"if(typeof d%s!==\\\"object\\\")\", prop)\n (\"throw TypeError(%j)\", field.fullName + \": object expected\")\n (\"m%s=types[%i].fromObject(d%s)\", prop, fieldIndex, prop);\n } else {\n var isUnsigned = false;\n switch (field.type) {\n case \"double\":\n case \"float\": gen\n (\"m%s=Number(d%s)\", prop, prop); // also catches \"NaN\", \"Infinity\"\n break;\n case \"uint32\":\n case \"fixed32\": gen\n (\"m%s=d%s>>>0\", prop, prop);\n break;\n case \"int32\":\n case \"sint32\":\n case \"sfixed32\": gen\n (\"m%s=d%s|0\", prop, prop);\n break;\n case \"uint64\":\n isUnsigned = true;\n // eslint-disable-next-line no-fallthrough\n case \"int64\":\n case \"sint64\":\n case \"fixed64\":\n case \"sfixed64\": gen\n (\"if(util.Long)\")\n (\"(m%s=util.Long.fromValue(d%s)).unsigned=%j\", prop, prop, isUnsigned)\n (\"else if(typeof d%s===\\\"string\\\")\", prop)\n (\"m%s=parseInt(d%s,10)\", prop, prop)\n (\"else if(typeof d%s===\\\"number\\\")\", prop)\n (\"m%s=d%s\", prop, prop)\n (\"else if(typeof d%s===\\\"object\\\")\", prop)\n (\"m%s=new util.LongBits(d%s.low>>>0,d%s.high>>>0).toNumber(%s)\", prop, prop, prop, isUnsigned ? \"true\" : \"\");\n break;\n case \"bytes\": gen\n (\"if(typeof d%s===\\\"string\\\")\", prop)\n (\"util.base64.decode(d%s,m%s=util.newBuffer(util.base64.length(d%s)),0)\", prop, prop, prop)\n (\"else if(d%s.length >= 0)\", prop)\n (\"m%s=d%s\", prop, prop);\n break;\n case \"string\": gen\n (\"m%s=String(d%s)\", prop, prop);\n break;\n case \"bool\": gen\n (\"m%s=Boolean(d%s)\", prop, prop);\n break;\n /* default: gen\n (\"m%s=d%s\", prop, prop);\n break; */\n }\n }\n return gen;\n /* eslint-enable no-unexpected-multiline, block-scoped-var, no-redeclare */\n}\n\n/**\n * Generates a plain object to runtime message converter specific to the specified message type.\n * @param {Type} mtype Message type\n * @returns {Codegen} Codegen instance\n */\nconverter.fromObject = function fromObject(mtype) {\n /* eslint-disable no-unexpected-multiline, block-scoped-var, no-redeclare */\n var fields = mtype.fieldsArray;\n var gen = util.codegen([\"d\"], mtype.name + \"$fromObject\")\n (\"if(d instanceof this.ctor)\")\n (\"return d\");\n if (!fields.length) return gen\n (\"return new this.ctor\");\n gen\n (\"var m=new this.ctor\");\n for (var i = 0; i < fields.length; ++i) {\n var field = fields[i].resolve(),\n prop = util.safeProp(field.name);\n\n // Map fields\n if (field.map) { gen\n (\"if(d%s){\", prop)\n (\"if(typeof d%s!==\\\"object\\\")\", prop)\n (\"throw TypeError(%j)\", field.fullName + \": object expected\")\n (\"m%s={}\", prop)\n (\"for(var ks=Object.keys(d%s),i=0;i<ks.length;++i){\", prop);\n genValuePartial_fromObject(gen, field, /* not sorted */ i, prop + \"[ks[i]]\")\n (\"}\")\n (\"}\");\n\n // Repeated fields\n } else if (field.repeated) { gen\n (\"if(d%s){\", prop)\n (\"if(!Array.isArray(d%s))\", prop)\n (\"throw TypeError(%j)\", field.fullName + \": array expected\")\n (\"m%s=[]\", prop)\n (\"for(var i=0;i<d%s.length;++i){\", prop);\n genValuePartial_fromObject(gen, field, /* not sorted */ i, prop + \"[i]\")\n (\"}\")\n (\"}\");\n\n // Non-repeated fields\n } else {\n if (!(field.resolvedType instanceof Enum)) gen // no need to test for null/undefined if an enum (uses switch)\n (\"if(d%s!=null){\", prop); // !== undefined && !== null\n genValuePartial_fromObject(gen, field, /* not sorted */ i, prop);\n if (!(field.resolvedType instanceof Enum)) gen\n (\"}\");\n }\n } return gen\n (\"return m\");\n /* eslint-enable no-unexpected-multiline, block-scoped-var, no-redeclare */\n};\n\n/**\n * Generates a partial value toObject converter.\n * @param {Codegen} gen Codegen instance\n * @param {Field} field Reflected field\n * @param {number} fieldIndex Field index\n * @param {string} prop Property reference\n * @returns {Codegen} Codegen instance\n * @ignore\n */\nfunction genValuePartial_toObject(gen, field, fieldIndex, prop) {\n /* eslint-disable no-unexpected-multiline, block-scoped-var, no-redeclare */\n if (field.resolvedType) {\n if (field.resolvedType instanceof Enum) gen\n (\"d%s=o.enums===String?(types[%i].values[m%s]===undefined?m%s:types[%i].values[m%s]):m%s\", prop, fieldIndex, prop, prop, fieldIndex, prop, prop);\n else gen\n (\"d%s=types[%i].toObject(m%s,o)\", prop, fieldIndex, prop);\n } else {\n var isUnsigned = false;\n switch (field.type) {\n case \"double\":\n case \"float\": gen\n (\"d%s=o.json&&!isFinite(m%s)?String(m%s):m%s\", prop, prop, prop, prop);\n break;\n case \"uint64\":\n isUnsigned = true;\n // eslint-disable-next-line no-fallthrough\n case \"int64\":\n case \"sint64\":\n case \"fixed64\":\n case \"sfixed64\": gen\n (\"if(typeof m%s===\\\"number\\\")\", prop)\n (\"d%s=o.longs===String?String(m%s):m%s\", prop, prop, prop)\n (\"else\") // Long-like\n (\"d%s=o.longs===String?util.Long.prototype.toString.call(m%s):o.longs===Number?new util.LongBits(m%s.low>>>0,m%s.high>>>0).toNumber(%s):m%s\", prop, prop, prop, prop, isUnsigned ? \"true\": \"\", prop);\n break;\n case \"bytes\": gen\n (\"d%s=o.bytes===String?util.base64.encode(m%s,0,m%s.length):o.bytes===Array?Array.prototype.slice.call(m%s):m%s\", prop, prop, prop, prop, prop);\n break;\n default: gen\n (\"d%s=m%s\", prop, prop);\n break;\n }\n }\n return gen;\n /* eslint-enable no-unexpected-multiline, block-scoped-var, no-redeclare */\n}\n\n/**\n * Generates a runtime message to plain object converter specific to the specified message type.\n * @param {Type} mtype Message type\n * @returns {Codegen} Codegen instance\n */\nconverter.toObject = function toObject(mtype) {\n /* eslint-disable no-unexpected-multiline, block-scoped-var, no-redeclare */\n var fields = mtype.fieldsArray.slice().sort(util.compareFieldsById);\n if (!fields.length)\n return util.codegen()(\"return {}\");\n var gen = util.codegen([\"m\", \"o\"], mtype.name + \"$toObject\")\n (\"if(!o)\")\n (\"o={}\")\n (\"var d={}\");\n\n var repeatedFields = [],\n mapFields = [],\n normalFields = [],\n i = 0;\n for (; i < fields.length; ++i)\n if (!fields[i].partOf)\n ( fields[i].resolve().repeated ? repeatedFields\n : fields[i].map ? mapFields\n : normalFields).push(fields[i]);\n\n if (repeatedFields.length) { gen\n (\"if(o.arrays||o.defaults){\");\n for (i = 0; i < repeatedFields.length; ++i) gen\n (\"d%s=[]\", util.safeProp(repeatedFields[i].name));\n gen\n (\"}\");\n }\n\n if (mapFields.length) { gen\n (\"if(o.objects||o.defaults){\");\n for (i = 0; i < mapFields.length; ++i) gen\n (\"d%s={}\", util.safeProp(mapFields[i].name));\n gen\n (\"}\");\n }\n\n if (normalFields.length) { gen\n (\"if(o.defaults){\");\n for (i = 0; i < normalFields.length; ++i) {\n var field = normalFields[i],\n prop = util.safeProp(field.name);\n if (field.resolvedType instanceof Enum) gen\n (\"d%s=o.enums===String?%j:%j\", prop, field.resolvedType.valuesById[field.typeDefault], field.typeDefault);\n else if (field.long) gen\n (\"if(util.Long){\")\n (\"var n=new util.Long(%i,%i,%j)\", field.typeDefault.low, field.typeDefault.high, field.typeDefault.unsigned)\n (\"d%s=o.longs===String?n.toString():o.longs===Number?n.toNumber():n\", prop)\n (\"}else\")\n (\"d%s=o.longs===String?%j:%i\", prop, field.typeDefault.toString(), field.typeDefault.toNumber());\n else if (field.bytes) {\n var arrayDefault = \"[\" + Array.prototype.slice.call(field.typeDefault).join(\",\") + \"]\";\n gen\n (\"if(o.bytes===String)d%s=%j\", prop, String.fromCharCode.apply(String, field.typeDefault))\n (\"else{\")\n (\"d%s=%s\", prop, arrayDefault)\n (\"if(o.bytes!==Array)d%s=util.newBuffer(d%s)\", prop, prop)\n (\"}\");\n } else gen\n (\"d%s=%j\", prop, field.typeDefault); // also messages (=null)\n } gen\n (\"}\");\n }\n var hasKs2 = false;\n for (i = 0; i < fields.length; ++i) {\n var field = fields[i],\n index = mtype._fieldsArray.indexOf(field),\n prop = util.safeProp(field.name);\n if (field.map) {\n if (!hasKs2) { hasKs2 = true; gen\n (\"var ks2\");\n } gen\n (\"if(m%s&&(ks2=Object.keys(m%s)).length){\", prop, prop)\n (\"d%s={}\", prop)\n (\"for(var j=0;j<ks2.length;++j){\");\n genValuePartial_toObject(gen, field, /* sorted */ index, prop + \"[ks2[j]]\")\n (\"}\");\n } else if (field.repeated) { gen\n (\"if(m%s&&m%s.length){\", prop, prop)\n (\"d%s=[]\", prop)\n (\"for(var j=0;j<m%s.length;++j){\", prop);\n genValuePartial_toObject(gen, field, /* sorted */ index, prop + \"[j]\")\n (\"}\");\n } else { gen\n (\"if(m%s!=null&&m.hasOwnProperty(%j)){\", prop, field.name); // !== undefined && !== null\n genValuePartial_toObject(gen, field, /* sorted */ index, prop);\n if (field.partOf) gen\n (\"if(o.oneofs)\")\n (\"d%s=%j\", util.safeProp(field.partOf.name), field.name);\n }\n gen\n (\"}\");\n }\n return gen\n (\"return d\");\n /* eslint-enable no-unexpected-multiline, block-scoped-var, no-redeclare */\n};\n", "\"use strict\";\n\n/**\n * Wrappers for common types.\n * @type {Object.<string,IWrapper>}\n * @const\n */\nvar wrappers = exports;\n\nvar Message = require(\"./message\");\n\n/**\n * From object converter part of an {@link IWrapper}.\n * @typedef WrapperFromObjectConverter\n * @type {function}\n * @param {Object.<string,*>} object Plain object\n * @returns {Message<{}>} Message instance\n * @this Type\n */\n\n/**\n * To object converter part of an {@link IWrapper}.\n * @typedef WrapperToObjectConverter\n * @type {function}\n * @param {Message<{}>} message Message instance\n * @param {IConversionOptions} [options] Conversion options\n * @returns {Object.<string,*>} Plain object\n * @this Type\n */\n\n/**\n * Common type wrapper part of {@link wrappers}.\n * @interface IWrapper\n * @property {WrapperFromObjectConverter} [fromObject] From object converter\n * @property {WrapperToObjectConverter} [toObject] To object converter\n */\n\n// Custom wrapper for Any\nwrappers[\".google.protobuf.Any\"] = {\n\n fromObject: function(object) {\n\n // unwrap value type if mapped\n if (object && object[\"@type\"]) {\n // Only use fully qualified type name after the last '/'\n var name = object[\"@type\"].substring(object[\"@type\"].lastIndexOf(\"/\") + 1);\n var type = this.lookup(name);\n /* istanbul ignore else */\n if (type) {\n // type_url does not accept leading \".\"\n var type_url = object[\"@type\"].charAt(0) === \".\" ?\n object[\"@type\"].slice(1) : object[\"@type\"];\n // type_url prefix is optional, but path seperator is required\n if (type_url.indexOf(\"/\") === -1) {\n type_url = \"/\" + type_url;\n }\n return this.create({\n type_url: type_url,\n value: type.encode(type.fromObject(object)).finish()\n });\n }\n }\n\n return this.fromObject(object);\n },\n\n toObject: function(message, options) {\n\n // Default prefix\n var googleApi = \"type.googleapis.com/\";\n var prefix = \"\";\n var name = \"\";\n\n // decode value if requested and unmapped\n if (options && options.json && message.type_url && message.value) {\n // Only use fully qualified type name after the last '/'\n name = message.type_url.substring(message.type_url.lastIndexOf(\"/\") + 1);\n // Separate the prefix used\n prefix = message.type_url.substring(0, message.type_url.lastIndexOf(\"/\") + 1);\n var type = this.lookup(name);\n /* istanbul ignore else */\n if (type)\n message = type.decode(message.value);\n }\n\n // wrap value if unmapped\n if (!(message instanceof this.ctor) && message instanceof Message) {\n var object = message.$type.toObject(message, options);\n var messageName = message.$type.fullName[0] === \".\" ?\n message.$type.fullName.slice(1) : message.$type.fullName;\n // Default to type.googleapis.com prefix if no prefix is used\n if (prefix === \"\") {\n prefix = googleApi;\n }\n name = prefix + messageName;\n object[\"@type\"] = name;\n return object;\n }\n\n return this.toObject(message, options);\n }\n};\n", "\"use strict\";\nmodule.exports = Type;\n\n// extends Namespace\nvar Namespace = require(\"./namespace\");\n((Type.prototype = Object.create(Namespace.prototype)).constructor = Type).className = \"Type\";\n\nvar Enum = require(\"./enum\"),\n OneOf = require(\"./oneof\"),\n Field = require(\"./field\"),\n MapField = require(\"./mapfield\"),\n Service = require(\"./service\"),\n Message = require(\"./message\"),\n Reader = require(\"./reader\"),\n Writer = require(\"./writer\"),\n util = require(\"./util\"),\n encoder = require(\"./encoder\"),\n decoder = require(\"./decoder\"),\n verifier = require(\"./verifier\"),\n converter = require(\"./converter\"),\n wrappers = require(\"./wrappers\");\n\n/**\n * Constructs a new reflected message type instance.\n * @classdesc Reflected message type.\n * @extends NamespaceBase\n * @constructor\n * @param {string} name Message name\n * @param {Object.<string,*>} [options] Declared options\n */\nfunction Type(name, options) {\n Namespace.call(this, name, options);\n\n /**\n * Message fields.\n * @type {Object.<string,Field>}\n */\n this.fields = {}; // toJSON, marker\n\n /**\n * Oneofs declared within this namespace, if any.\n * @type {Object.<string,OneOf>}\n */\n this.oneofs = undefined; // toJSON\n\n /**\n * Extension ranges, if any.\n * @type {number[][]}\n */\n this.extensions = undefined; // toJSON\n\n /**\n * Reserved ranges, if any.\n * @type {Array.<number[]|string>}\n */\n this.reserved = undefined; // toJSON\n\n /*?\n * Whether this type is a legacy group.\n * @type {boolean|undefined}\n */\n this.group = undefined; // toJSON\n\n /**\n * Cached fields by id.\n * @type {Object.<number,Field>|null}\n * @private\n */\n this._fieldsById = null;\n\n /**\n * Cached fields as an array.\n * @type {Field[]|null}\n * @private\n */\n this._fieldsArray = null;\n\n /**\n * Cached oneofs as an array.\n * @type {OneOf[]|null}\n * @private\n */\n this._oneofsArray = null;\n\n /**\n * Cached constructor.\n * @type {Constructor<{}>}\n * @private\n */\n this._ctor = null;\n}\n\nObject.defineProperties(Type.prototype, {\n\n /**\n * Message fields by id.\n * @name Type#fieldsById\n * @type {Object.<number,Field>}\n * @readonly\n */\n fieldsById: {\n get: function() {\n\n /* istanbul ignore if */\n if (this._fieldsById)\n return this._fieldsById;\n\n this._fieldsById = {};\n for (var names = Object.keys(this.fields), i = 0; i < names.length; ++i) {\n var field = this.fields[names[i]],\n id = field.id;\n\n /* istanbul ignore if */\n if (this._fieldsById[id])\n throw Error(\"duplicate id \" + id + \" in \" + this);\n\n this._fieldsById[id] = field;\n }\n return this._fieldsById;\n }\n },\n\n /**\n * Fields of this message as an array for iteration.\n * @name Type#fieldsArray\n * @type {Field[]}\n * @readonly\n */\n fieldsArray: {\n get: function() {\n return this._fieldsArray || (this._fieldsArray = util.toArray(this.fields));\n }\n },\n\n /**\n * Oneofs of this message as an array for iteration.\n * @name Type#oneofsArray\n * @type {OneOf[]}\n * @readonly\n */\n oneofsArray: {\n get: function() {\n return this._oneofsArray || (this._oneofsArray = util.toArray(this.oneofs));\n }\n },\n\n /**\n * The registered constructor, if any registered, otherwise a generic constructor.\n * Assigning a function replaces the internal constructor. If the function does not extend {@link Message} yet, its prototype will be setup accordingly and static methods will be populated. If it already extends {@link Message}, it will just replace the internal constructor.\n * @name Type#ctor\n * @type {Constructor<{}>}\n */\n ctor: {\n get: function() {\n return this._ctor || (this.ctor = Type.generateConstructor(this)());\n },\n set: function(ctor) {\n\n // Ensure proper prototype\n var prototype = ctor.prototype;\n if (!(prototype instanceof Message)) {\n (ctor.prototype = new Message()).constructor = ctor;\n util.merge(ctor.prototype, prototype);\n }\n\n // Classes and messages reference their reflected type\n ctor.$type = ctor.prototype.$type = this;\n\n // Mix in static methods\n util.merge(ctor, Message, true);\n\n this._ctor = ctor;\n\n // Messages have non-enumerable default values on their prototype\n var i = 0;\n for (; i < /* initializes */ this.fieldsArray.length; ++i)\n this._fieldsArray[i].resolve(); // ensures a proper value\n\n // Messages have non-enumerable getters and setters for each virtual oneof field\n var ctorProperties = {};\n for (i = 0; i < /* initializes */ this.oneofsArray.length; ++i)\n ctorProperties[this._oneofsArray[i].resolve().name] = {\n get: util.oneOfGetter(this._oneofsArray[i].oneof),\n set: util.oneOfSetter(this._oneofsArray[i].oneof)\n };\n if (i)\n Object.defineProperties(ctor.prototype, ctorProperties);\n }\n }\n});\n\n/**\n * Generates a constructor function for the specified type.\n * @param {Type} mtype Message type\n * @returns {Codegen} Codegen instance\n */\nType.generateConstructor = function generateConstructor(mtype) {\n /* eslint-disable no-unexpected-multiline */\n var gen = util.codegen([\"p\"], mtype.name);\n // explicitly initialize mutable object/array fields so that these aren't just inherited from the prototype\n for (var i = 0, field; i < mtype.fieldsArray.length; ++i)\n if ((field = mtype._fieldsArray[i]).map) gen\n (\"this%s={}\", util.safeProp(field.name));\n else if (field.repeated) gen\n (\"this%s=[]\", util.safeProp(field.name));\n return gen\n (\"if(p)for(var ks=Object.keys(p),i=0;i<ks.length;++i)if(p[ks[i]]!=null)\") // omit undefined or null\n (\"this[ks[i]]=p[ks[i]]\");\n /* eslint-enable no-unexpected-multiline */\n};\n\nfunction clearCache(type) {\n type._fieldsById = type._fieldsArray = type._oneofsArray = null;\n delete type.encode;\n delete type.decode;\n delete type.verify;\n return type;\n}\n\n/**\n * Message type descriptor.\n * @interface IType\n * @extends INamespace\n * @property {Object.<string,IOneOf>} [oneofs] Oneof descriptors\n * @property {Object.<string,IField>} fields Field descriptors\n * @property {number[][]} [extensions] Extension ranges\n * @property {number[][]} [reserved] Reserved ranges\n * @property {boolean} [group=false] Whether a legacy group or not\n */\n\n/**\n * Creates a message type from a message type descriptor.\n * @param {string} name Message name\n * @param {IType} json Message type descriptor\n * @returns {Type} Created message type\n */\nType.fromJSON = function fromJSON(name, json) {\n var type = new Type(name, json.options);\n type.extensions = json.extensions;\n type.reserved = json.reserved;\n var names = Object.keys(json.fields),\n i = 0;\n for (; i < names.length; ++i)\n type.add(\n ( typeof json.fields[names[i]].keyType !== \"undefined\"\n ? MapField.fromJSON\n : Field.fromJSON )(names[i], json.fields[names[i]])\n );\n if (json.oneofs)\n for (names = Object.keys(json.oneofs), i = 0; i < names.length; ++i)\n type.add(OneOf.fromJSON(names[i], json.oneofs[names[i]]));\n if (json.nested)\n for (names = Object.keys(json.nested), i = 0; i < names.length; ++i) {\n var nested = json.nested[names[i]];\n type.add( // most to least likely\n ( nested.id !== undefined\n ? Field.fromJSON\n : nested.fields !== undefined\n ? Type.fromJSON\n : nested.values !== undefined\n ? Enum.fromJSON\n : nested.methods !== undefined\n ? Service.fromJSON\n : Namespace.fromJSON )(names[i], nested)\n );\n }\n if (json.extensions && json.extensions.length)\n type.extensions = json.extensions;\n if (json.reserved && json.reserved.length)\n type.reserved = json.reserved;\n if (json.group)\n type.group = true;\n if (json.comment)\n type.comment = json.comment;\n return type;\n};\n\n/**\n * Converts this message type to a message type descriptor.\n * @param {IToJSONOptions} [toJSONOptions] JSON conversion options\n * @returns {IType} Message type descriptor\n */\nType.prototype.toJSON = function toJSON(toJSONOptions) {\n var inherited = Namespace.prototype.toJSON.call(this, toJSONOptions);\n var keepComments = toJSONOptions ? Boolean(toJSONOptions.keepComments) : false;\n return util.toObject([\n \"options\" , inherited && inherited.options || undefined,\n \"oneofs\" , Namespace.arrayToJSON(this.oneofsArray, toJSONOptions),\n \"fields\" , Namespace.arrayToJSON(this.fieldsArray.filter(function(obj) { return !obj.declaringField; }), toJSONOptions) || {},\n \"extensions\" , this.extensions && this.extensions.length ? this.extensions : undefined,\n \"reserved\" , this.reserved && this.reserved.length ? this.reserved : undefined,\n \"group\" , this.group || undefined,\n \"nested\" , inherited && inherited.nested || undefined,\n \"comment\" , keepComments ? this.comment : undefined\n ]);\n};\n\n/**\n * @override\n */\nType.prototype.resolveAll = function resolveAll() {\n var fields = this.fieldsArray, i = 0;\n while (i < fields.length)\n fields[i++].resolve();\n var oneofs = this.oneofsArray; i = 0;\n while (i < oneofs.length)\n oneofs[i++].resolve();\n return Namespace.prototype.resolveAll.call(this);\n};\n\n/**\n * @override\n */\nType.prototype.get = function get(name) {\n return this.fields[name]\n || this.oneofs && this.oneofs[name]\n || this.nested && this.nested[name]\n || null;\n};\n\n/**\n * Adds a nested object to this type.\n * @param {ReflectionObject} object Nested object to add\n * @returns {Type} `this`\n * @throws {TypeError} If arguments are invalid\n * @throws {Error} If there is already a nested object with this name or, if a field, when there is already a field with this id\n */\nType.prototype.add = function add(object) {\n\n if (this.get(object.name))\n throw Error(\"duplicate name '\" + object.name + \"' in \" + this);\n\n if (object instanceof Field && object.extend === undefined) {\n // NOTE: Extension fields aren't actual fields on the declaring type, but nested objects.\n // The root object takes care of adding distinct sister-fields to the respective extended\n // type instead.\n\n // avoids calling the getter if not absolutely necessary because it's called quite frequently\n if (this._fieldsById ? /* istanbul ignore next */ this._fieldsById[object.id] : this.fieldsById[object.id])\n throw Error(\"duplicate id \" + object.id + \" in \" + this);\n if (this.isReservedId(object.id))\n throw Error(\"id \" + object.id + \" is reserved in \" + this);\n if (this.isReservedName(object.name))\n throw Error(\"name '\" + object.name + \"' is reserved in \" + this);\n\n if (object.parent)\n object.parent.remove(object);\n this.fields[object.name] = object;\n object.message = this;\n object.onAdd(this);\n return clearCache(this);\n }\n if (object instanceof OneOf) {\n if (!this.oneofs)\n this.oneofs = {};\n this.oneofs[object.name] = object;\n object.onAdd(this);\n return clearCache(this);\n }\n return Namespace.prototype.add.call(this, object);\n};\n\n/**\n * Removes a nested object from this type.\n * @param {ReflectionObject} object Nested object to remove\n * @returns {Type} `this`\n * @throws {TypeError} If arguments are invalid\n * @throws {Error} If `object` is not a member of this type\n */\nType.prototype.remove = function remove(object) {\n if (object instanceof Field && object.extend === undefined) {\n // See Type#add for the reason why extension fields are excluded here.\n\n /* istanbul ignore if */\n if (!this.fields || this.fields[object.name] !== object)\n throw Error(object + \" is not a member of \" + this);\n\n delete this.fields[object.name];\n object.parent = null;\n object.onRemove(this);\n return clearCache(this);\n }\n if (object instanceof OneOf) {\n\n /* istanbul ignore if */\n if (!this.oneofs || this.oneofs[object.name] !== object)\n throw Error(object + \" is not a member of \" + this);\n\n delete this.oneofs[object.name];\n object.parent = null;\n object.onRemove(this);\n return clearCache(this);\n }\n return Namespace.prototype.remove.call(this, object);\n};\n\n/**\n * Tests if the specified id is reserved.\n * @param {number} id Id to test\n * @returns {boolean} `true` if reserved, otherwise `false`\n */\nType.prototype.isReservedId = function isReservedId(id) {\n return Namespace.isReservedId(this.reserved, id);\n};\n\n/**\n * Tests if the specified name is reserved.\n * @param {string} name Name to test\n * @returns {boolean} `true` if reserved, otherwise `false`\n */\nType.prototype.isReservedName = function isReservedName(name) {\n return Namespace.isReservedName(this.reserved, name);\n};\n\n/**\n * Creates a new message of this type using the specified properties.\n * @param {Object.<string,*>} [properties] Properties to set\n * @returns {Message<{}>} Message instance\n */\nType.prototype.create = function create(properties) {\n return new this.ctor(properties);\n};\n\n/**\n * Sets up {@link Type#encode|encode}, {@link Type#decode|decode} and {@link Type#verify|verify}.\n * @returns {Type} `this`\n */\nType.prototype.setup = function setup() {\n // Sets up everything at once so that the prototype chain does not have to be re-evaluated\n // multiple times (V8, soft-deopt prototype-check).\n\n var fullName = this.fullName,\n types = [];\n for (var i = 0; i < /* initializes */ this.fieldsArray.length; ++i)\n types.push(this._fieldsArray[i].resolve().resolvedType);\n\n // Replace setup methods with type-specific generated functions\n this.encode = encoder(this)({\n Writer : Writer,\n types : types,\n util : util\n });\n this.decode = decoder(this)({\n Reader : Reader,\n types : types,\n util : util\n });\n this.verify = verifier(this)({\n types : types,\n util : util\n });\n this.fromObject = converter.fromObject(this)({\n types : types,\n util : util\n });\n this.toObject = converter.toObject(this)({\n types : types,\n util : util\n });\n\n // Inject custom wrappers for common types\n var wrapper = wrappers[fullName];\n if (wrapper) {\n var originalThis = Object.create(this);\n // if (wrapper.fromObject) {\n originalThis.fromObject = this.fromObject;\n this.fromObject = wrapper.fromObject.bind(originalThis);\n // }\n // if (wrapper.toObject) {\n originalThis.toObject = this.toObject;\n this.toObject = wrapper.toObject.bind(originalThis);\n // }\n }\n\n return this;\n};\n\n/**\n * Encodes a message of this type. Does not implicitly {@link Type#verify|verify} messages.\n * @param {Message<{}>|Object.<string,*>} message Message instance or plain object\n * @param {Writer} [writer] Writer to encode to\n * @returns {Writer} writer\n */\nType.prototype.encode = function encode_setup(message, writer) {\n return this.setup().encode(message, writer); // overrides this method\n};\n\n/**\n * Encodes a message of this type preceeded by its byte length as a varint. Does not implicitly {@link Type#verify|verify} messages.\n * @param {Message<{}>|Object.<string,*>} message Message instance or plain object\n * @param {Writer} [writer] Writer to encode to\n * @returns {Writer} writer\n */\nType.prototype.encodeDelimited = function encodeDelimited(message, writer) {\n return this.encode(message, writer && writer.len ? writer.fork() : writer).ldelim();\n};\n\n/**\n * Decodes a message of this type.\n * @param {Reader|Uint8Array} reader Reader or buffer to decode from\n * @param {number} [length] Length of the message, if known beforehand\n * @returns {Message<{}>} Decoded message\n * @throws {Error} If the payload is not a reader or valid buffer\n * @throws {util.ProtocolError<{}>} If required fields are missing\n */\nType.prototype.decode = function decode_setup(reader, length) {\n return this.setup().decode(reader, length); // overrides this method\n};\n\n/**\n * Decodes a message of this type preceeded by its byte length as a varint.\n * @param {Reader|Uint8Array} reader Reader or buffer to decode from\n * @returns {Message<{}>} Decoded message\n * @throws {Error} If the payload is not a reader or valid buffer\n * @throws {util.ProtocolError} If required fields are missing\n */\nType.prototype.decodeDelimited = function decodeDelimited(reader) {\n if (!(reader instanceof Reader))\n reader = Reader.create(reader);\n return this.decode(reader, reader.uint32());\n};\n\n/**\n * Verifies that field values are valid and that required fields are present.\n * @param {Object.<string,*>} message Plain object to verify\n * @returns {null|string} `null` if valid, otherwise the reason why it is not\n */\nType.prototype.verify = function verify_setup(message) {\n return this.setup().verify(message); // overrides this method\n};\n\n/**\n * Creates a new message of this type from a plain object. Also converts values to their respective internal types.\n * @param {Object.<string,*>} object Plain object to convert\n * @returns {Message<{}>} Message instance\n */\nType.prototype.fromObject = function fromObject(object) {\n return this.setup().fromObject(object);\n};\n\n/**\n * Conversion options as used by {@link Type#toObject} and {@link Message.toObject}.\n * @interface IConversionOptions\n * @property {Function} [longs] Long conversion type.\n * Valid values are `String` and `Number` (the global types).\n * Defaults to copy the present value, which is a possibly unsafe number without and a {@link Long} with a long library.\n * @property {Function} [enums] Enum value conversion type.\n * Only valid value is `String` (the global type).\n * Defaults to copy the present value, which is the numeric id.\n * @property {Function} [bytes] Bytes value conversion type.\n * Valid values are `Array` and (a base64 encoded) `String` (the global types).\n * Defaults to copy the present value, which usually is a Buffer under node and an Uint8Array in the browser.\n * @property {boolean} [defaults=false] Also sets default values on the resulting object\n * @property {boolean} [arrays=false] Sets empty arrays for missing repeated fields even if `defaults=false`\n * @property {boolean} [objects=false] Sets empty objects for missing map fields even if `defaults=false`\n * @property {boolean} [oneofs=false] Includes virtual oneof properties set to the present field's name, if any\n * @property {boolean} [json=false] Performs additional JSON compatibility conversions, i.e. NaN and Infinity to strings\n */\n\n/**\n * Creates a plain object from a message of this type. Also converts values to other types if specified.\n * @param {Message<{}>} message Message instance\n * @param {IConversionOptions} [options] Conversion options\n * @returns {Object.<string,*>} Plain object\n */\nType.prototype.toObject = function toObject(message, options) {\n return this.setup().toObject(message, options);\n};\n\n/**\n * Decorator function as returned by {@link Type.d} (TypeScript).\n * @typedef TypeDecorator\n * @type {function}\n * @param {Constructor<T>} target Target constructor\n * @returns {undefined}\n * @template T extends Message<T>\n */\n\n/**\n * Type decorator (TypeScript).\n * @param {string} [typeName] Type name, defaults to the constructor's name\n * @returns {TypeDecorator<T>} Decorator function\n * @template T extends Message<T>\n */\nType.d = function decorateType(typeName) {\n return function typeDecorator(target) {\n util.decorateType(target, typeName);\n };\n};\n", "\"use strict\";\nmodule.exports = Root;\n\n// extends Namespace\nvar Namespace = require(\"./namespace\");\n((Root.prototype = Object.create(Namespace.prototype)).constructor = Root).className = \"Root\";\n\nvar Field = require(\"./field\"),\n Enum = require(\"./enum\"),\n OneOf = require(\"./oneof\"),\n util = require(\"./util\");\n\nvar Type, // cyclic\n parse, // might be excluded\n common; // \"\n\n/**\n * Constructs a new root namespace instance.\n * @classdesc Root namespace wrapping all types, enums, services, sub-namespaces etc. that belong together.\n * @extends NamespaceBase\n * @constructor\n * @param {Object.<string,*>} [options] Top level options\n */\nfunction Root(options) {\n Namespace.call(this, \"\", options);\n\n /**\n * Deferred extension fields.\n * @type {Field[]}\n */\n this.deferred = [];\n\n /**\n * Resolved file names of loaded files.\n * @type {string[]}\n */\n this.files = [];\n}\n\n/**\n * Loads a namespace descriptor into a root namespace.\n * @param {INamespace} json Nameespace descriptor\n * @param {Root} [root] Root namespace, defaults to create a new one if omitted\n * @returns {Root} Root namespace\n */\nRoot.fromJSON = function fromJSON(json, root) {\n if (!root)\n root = new Root();\n if (json.options)\n root.setOptions(json.options);\n return root.addJSON(json.nested);\n};\n\n/**\n * Resolves the path of an imported file, relative to the importing origin.\n * This method exists so you can override it with your own logic in case your imports are scattered over multiple directories.\n * @function\n * @param {string} origin The file name of the importing file\n * @param {string} target The file name being imported\n * @returns {string|null} Resolved path to `target` or `null` to skip the file\n */\nRoot.prototype.resolvePath = util.path.resolve;\n\n/**\n * Fetch content from file path or url\n * This method exists so you can override it with your own logic.\n * @function\n * @param {string} path File path or url\n * @param {FetchCallback} callback Callback function\n * @returns {undefined}\n */\nRoot.prototype.fetch = util.fetch;\n\n// A symbol-like function to safely signal synchronous loading\n/* istanbul ignore next */\nfunction SYNC() {} // eslint-disable-line no-empty-function\n\n/**\n * Loads one or multiple .proto or preprocessed .json files into this root namespace and calls the callback.\n * @param {string|string[]} filename Names of one or multiple files to load\n * @param {IParseOptions} options Parse options\n * @param {LoadCallback} callback Callback function\n * @returns {undefined}\n */\nRoot.prototype.load = function load(filename, options, callback) {\n if (typeof options === \"function\") {\n callback = options;\n options = undefined;\n }\n var self = this;\n if (!callback)\n return util.asPromise(load, self, filename, options);\n\n var sync = callback === SYNC; // undocumented\n\n // Finishes loading by calling the callback (exactly once)\n function finish(err, root) {\n /* istanbul ignore if */\n if (!callback)\n return;\n if (sync)\n throw err;\n var cb = callback;\n callback = null;\n cb(err, root);\n }\n\n // Bundled definition existence checking\n function getBundledFileName(filename) {\n var idx = filename.lastIndexOf(\"google/protobuf/\");\n if (idx > -1) {\n var altname = filename.substring(idx);\n if (altname in common) return altname;\n }\n return null;\n }\n\n // Processes a single file\n function process(filename, source) {\n try {\n if (util.isString(source) && source.charAt(0) === \"{\")\n source = JSON.parse(source);\n if (!util.isString(source))\n self.setOptions(source.options).addJSON(source.nested);\n else {\n parse.filename = filename;\n var parsed = parse(source, self, options),\n resolved,\n i = 0;\n if (parsed.imports)\n for (; i < parsed.imports.length; ++i)\n if (resolved = getBundledFileName(parsed.imports[i]) || self.resolvePath(filename, parsed.imports[i]))\n fetch(resolved);\n if (parsed.weakImports)\n for (i = 0; i < parsed.weakImports.length; ++i)\n if (resolved = getBundledFileName(parsed.weakImports[i]) || self.resolvePath(filename, parsed.weakImports[i]))\n fetch(resolved, true);\n }\n } catch (err) {\n finish(err);\n }\n if (!sync && !queued)\n finish(null, self); // only once anyway\n }\n\n // Fetches a single file\n function fetch(filename, weak) {\n filename = getBundledFileName(filename) || filename;\n\n // Skip if already loaded / attempted\n if (self.files.indexOf(filename) > -1)\n return;\n self.files.push(filename);\n\n // Shortcut bundled definitions\n if (filename in common) {\n if (sync)\n process(filename, common[filename]);\n else {\n ++queued;\n setTimeout(function() {\n --queued;\n process(filename, common[filename]);\n });\n }\n return;\n }\n\n // Otherwise fetch from disk or network\n if (sync) {\n var source;\n try {\n source = util.fs.readFileSync(filename).toString(\"utf8\");\n } catch (err) {\n if (!weak)\n finish(err);\n return;\n }\n process(filename, source);\n } else {\n ++queued;\n self.fetch(filename, function(err, source) {\n --queued;\n /* istanbul ignore if */\n if (!callback)\n return; // terminated meanwhile\n if (err) {\n /* istanbul ignore else */\n if (!weak)\n finish(err);\n else if (!queued) // can't be covered reliably\n finish(null, self);\n return;\n }\n process(filename, source);\n });\n }\n }\n var queued = 0;\n\n // Assembling the root namespace doesn't require working type\n // references anymore, so we can load everything in parallel\n if (util.isString(filename))\n filename = [ filename ];\n for (var i = 0, resolved; i < filename.length; ++i)\n if (resolved = self.resolvePath(\"\", filename[i]))\n fetch(resolved);\n\n if (sync)\n return self;\n if (!queued)\n finish(null, self);\n return undefined;\n};\n// function load(filename:string, options:IParseOptions, callback:LoadCallback):undefined\n\n/**\n * Loads one or multiple .proto or preprocessed .json files into this root namespace and calls the callback.\n * @function Root#load\n * @param {string|string[]} filename Names of one or multiple files to load\n * @param {LoadCallback} callback Callback function\n * @returns {undefined}\n * @variation 2\n */\n// function load(filename:string, callback:LoadCallback):undefined\n\n/**\n * Loads one or multiple .proto or preprocessed .json files into this root namespace and returns a promise.\n * @function Root#load\n * @param {string|string[]} filename Names of one or multiple files to load\n * @param {IParseOptions} [options] Parse options. Defaults to {@link parse.defaults} when omitted.\n * @returns {Promise<Root>} Promise\n * @variation 3\n */\n// function load(filename:string, [options:IParseOptions]):Promise<Root>\n\n/**\n * Synchronously loads one or multiple .proto or preprocessed .json files into this root namespace (node only).\n * @function Root#loadSync\n * @param {string|string[]} filename Names of one or multiple files to load\n * @param {IParseOptions} [options] Parse options. Defaults to {@link parse.defaults} when omitted.\n * @returns {Root} Root namespace\n * @throws {Error} If synchronous fetching is not supported (i.e. in browsers) or if a file's syntax is invalid\n */\nRoot.prototype.loadSync = function loadSync(filename, options) {\n if (!util.isNode)\n throw Error(\"not supported\");\n return this.load(filename, options, SYNC);\n};\n\n/**\n * @override\n */\nRoot.prototype.resolveAll = function resolveAll() {\n if (this.deferred.length)\n throw Error(\"unresolvable extensions: \" + this.deferred.map(function(field) {\n return \"'extend \" + field.extend + \"' in \" + field.parent.fullName;\n }).join(\", \"));\n return Namespace.prototype.resolveAll.call(this);\n};\n\n// only uppercased (and thus conflict-free) children are exposed, see below\nvar exposeRe = /^[A-Z]/;\n\n/**\n * Handles a deferred declaring extension field by creating a sister field to represent it within its extended type.\n * @param {Root} root Root instance\n * @param {Field} field Declaring extension field witin the declaring type\n * @returns {boolean} `true` if successfully added to the extended type, `false` otherwise\n * @inner\n * @ignore\n */\nfunction tryHandleExtension(root, field) {\n var extendedType = field.parent.lookup(field.extend);\n if (extendedType) {\n var sisterField = new Field(field.fullName, field.id, field.type, field.rule, undefined, field.options);\n //do not allow to extend same field twice to prevent the error\n if (extendedType.get(sisterField.name)) {\n return true;\n }\n sisterField.declaringField = field;\n field.extensionField = sisterField;\n extendedType.add(sisterField);\n return true;\n }\n return false;\n}\n\n/**\n * Called when any object is added to this root or its sub-namespaces.\n * @param {ReflectionObject} object Object added\n * @returns {undefined}\n * @private\n */\nRoot.prototype._handleAdd = function _handleAdd(object) {\n if (object instanceof Field) {\n\n if (/* an extension field (implies not part of a oneof) */ object.extend !== undefined && /* not already handled */ !object.extensionField)\n if (!tryHandleExtension(this, object))\n this.deferred.push(object);\n\n } else if (object instanceof Enum) {\n\n if (exposeRe.test(object.name))\n object.parent[object.name] = object.values; // expose enum values as property of its parent\n\n } else if (!(object instanceof OneOf)) /* everything else is a namespace */ {\n\n if (object instanceof Type) // Try to handle any deferred extensions\n for (var i = 0; i < this.deferred.length;)\n if (tryHandleExtension(this, this.deferred[i]))\n this.deferred.splice(i, 1);\n else\n ++i;\n for (var j = 0; j < /* initializes */ object.nestedArray.length; ++j) // recurse into the namespace\n this._handleAdd(object._nestedArray[j]);\n if (exposeRe.test(object.name))\n object.parent[object.name] = object; // expose namespace as property of its parent\n }\n\n // The above also adds uppercased (and thus conflict-free) nested types, services and enums as\n // properties of namespaces just like static code does. This allows using a .d.ts generated for\n // a static module with reflection-based solutions where the condition is met.\n};\n\n/**\n * Called when any object is removed from this root or its sub-namespaces.\n * @param {ReflectionObject} object Object removed\n * @returns {undefined}\n * @private\n */\nRoot.prototype._handleRemove = function _handleRemove(object) {\n if (object instanceof Field) {\n\n if (/* an extension field */ object.extend !== undefined) {\n if (/* already handled */ object.extensionField) { // remove its sister field\n object.extensionField.parent.remove(object.extensionField);\n object.extensionField = null;\n } else { // cancel the extension\n var index = this.deferred.indexOf(object);\n /* istanbul ignore else */\n if (index > -1)\n this.deferred.splice(index, 1);\n }\n }\n\n } else if (object instanceof Enum) {\n\n if (exposeRe.test(object.name))\n delete object.parent[object.name]; // unexpose enum values\n\n } else if (object instanceof Namespace) {\n\n for (var i = 0; i < /* initializes */ object.nestedArray.length; ++i) // recurse into the namespace\n this._handleRemove(object._nestedArray[i]);\n\n if (exposeRe.test(object.name))\n delete object.parent[object.name]; // unexpose namespaces\n\n }\n};\n\n// Sets up cyclic dependencies (called in index-light)\nRoot._configure = function(Type_, parse_, common_) {\n Type = Type_;\n parse = parse_;\n common = common_;\n};\n", "\"use strict\";\n\n/**\n * Various utility functions.\n * @namespace\n */\nvar util = module.exports = require(\"./util/minimal\");\n\nvar roots = require(\"./roots\");\n\nvar Type, // cyclic\n Enum;\n\nutil.codegen = require(\"@protobufjs/codegen\");\nutil.fetch = require(\"@protobufjs/fetch\");\nutil.path = require(\"@protobufjs/path\");\n\n/**\n * Node's fs module if available.\n * @type {Object.<string,*>}\n */\nutil.fs = util.inquire(\"fs\");\n\n/**\n * Converts an object's values to an array.\n * @param {Object.<string,*>} object Object to convert\n * @returns {Array.<*>} Converted array\n */\nutil.toArray = function toArray(object) {\n if (object) {\n var keys = Object.keys(object),\n array = new Array(keys.length),\n index = 0;\n while (index < keys.length)\n array[index] = object[keys[index++]];\n return array;\n }\n return [];\n};\n\n/**\n * Converts an array of keys immediately followed by their respective value to an object, omitting undefined values.\n * @param {Array.<*>} array Array to convert\n * @returns {Object.<string,*>} Converted object\n */\nutil.toObject = function toObject(array) {\n var object = {},\n index = 0;\n while (index < array.length) {\n var key = array[index++],\n val = array[index++];\n if (val !== undefined)\n object[key] = val;\n }\n return object;\n};\n\nvar safePropBackslashRe = /\\\\/g,\n safePropQuoteRe = /\"/g;\n\n/**\n * Tests whether the specified name is a reserved word in JS.\n * @param {string} name Name to test\n * @returns {boolean} `true` if reserved, otherwise `false`\n */\nutil.isReserved = function isReserved(name) {\n return /^(?:do|if|in|for|let|new|try|var|case|else|enum|eval|false|null|this|true|void|with|break|catch|class|const|super|throw|while|yield|delete|export|import|public|return|static|switch|typeof|default|extends|finally|package|private|continue|debugger|function|arguments|interface|protected|implements|instanceof)$/.test(name);\n};\n\n/**\n * Returns a safe property accessor for the specified property name.\n * @param {string} prop Property name\n * @returns {string} Safe accessor\n */\nutil.safeProp = function safeProp(prop) {\n if (!/^[$\\w_]+$/.test(prop) || util.isReserved(prop))\n return \"[\\\"\" + prop.replace(safePropBackslashRe, \"\\\\\\\\\").replace(safePropQuoteRe, \"\\\\\\\"\") + \"\\\"]\";\n return \".\" + prop;\n};\n\n/**\n * Converts the first character of a string to upper case.\n * @param {string} str String to convert\n * @returns {string} Converted string\n */\nutil.ucFirst = function ucFirst(str) {\n return str.charAt(0).toUpperCase() + str.substring(1);\n};\n\nvar camelCaseRe = /_([a-z])/g;\n\n/**\n * Converts a string to camel case.\n * @param {string} str String to convert\n * @returns {string} Converted string\n */\nutil.camelCase = function camelCase(str) {\n return str.substring(0, 1)\n + str.substring(1)\n .replace(camelCaseRe, function($0, $1) { return $1.toUpperCase(); });\n};\n\n/**\n * Compares reflected fields by id.\n * @param {Field} a First field\n * @param {Field} b Second field\n * @returns {number} Comparison value\n */\nutil.compareFieldsById = function compareFieldsById(a, b) {\n return a.id - b.id;\n};\n\n/**\n * Decorator helper for types (TypeScript).\n * @param {Constructor<T>} ctor Constructor function\n * @param {string} [typeName] Type name, defaults to the constructor's name\n * @returns {Type} Reflected type\n * @template T extends Message<T>\n * @property {Root} root Decorators root\n */\nutil.decorateType = function decorateType(ctor, typeName) {\n\n /* istanbul ignore if */\n if (ctor.$type) {\n if (typeName && ctor.$type.name !== typeName) {\n util.decorateRoot.remove(ctor.$type);\n ctor.$type.name = typeName;\n util.decorateRoot.add(ctor.$type);\n }\n return ctor.$type;\n }\n\n /* istanbul ignore next */\n if (!Type)\n Type = require(\"./type\");\n\n var type = new Type(typeName || ctor.name);\n util.decorateRoot.add(type);\n type.ctor = ctor; // sets up .encode, .decode etc.\n Object.defineProperty(ctor, \"$type\", { value: type, enumerable: false });\n Object.defineProperty(ctor.prototype, \"$type\", { value: type, enumerable: false });\n return type;\n};\n\nvar decorateEnumIndex = 0;\n\n/**\n * Decorator helper for enums (TypeScript).\n * @param {Object} object Enum object\n * @returns {Enum} Reflected enum\n */\nutil.decorateEnum = function decorateEnum(object) {\n\n /* istanbul ignore if */\n if (object.$type)\n return object.$type;\n\n /* istanbul ignore next */\n if (!Enum)\n Enum = require(\"./enum\");\n\n var enm = new Enum(\"Enum\" + decorateEnumIndex++, object);\n util.decorateRoot.add(enm);\n Object.defineProperty(object, \"$type\", { value: enm, enumerable: false });\n return enm;\n};\n\n\n/**\n * Sets the value of a property by property path. If a value already exists, it is turned to an array\n * @param {Object.<string,*>} dst Destination object\n * @param {string} path dot '.' delimited path of the property to set\n * @param {Object} value the value to set\n * @returns {Object.<string,*>} Destination object\n */\nutil.setProperty = function setProperty(dst, path, value) {\n function setProp(dst, path, value) {\n var part = path.shift();\n if (part === \"__proto__\" || part === \"prototype\") {\n return dst;\n }\n if (path.length > 0) {\n dst[part] = setProp(dst[part] || {}, path, value);\n } else {\n var prevValue = dst[part];\n if (prevValue)\n value = [].concat(prevValue).concat(value);\n dst[part] = value;\n }\n return dst;\n }\n\n if (typeof dst !== \"object\")\n throw TypeError(\"dst must be an object\");\n if (!path)\n throw TypeError(\"path must be specified\");\n\n path = path.split(\".\");\n return setProp(dst, path, value);\n};\n\n/**\n * Decorator root (TypeScript).\n * @name util.decorateRoot\n * @type {Root}\n * @readonly\n */\nObject.defineProperty(util, \"decorateRoot\", {\n get: function() {\n return roots[\"decorated\"] || (roots[\"decorated\"] = new (require(\"./root\"))());\n }\n});\n", "\"use strict\";\nmodule.exports = ReflectionObject;\n\nReflectionObject.className = \"ReflectionObject\";\n\nvar util = require(\"./util\");\n\nvar Root; // cyclic\n\n/**\n * Constructs a new reflection object instance.\n * @classdesc Base class of all reflection objects.\n * @constructor\n * @param {string} name Object name\n * @param {Object.<string,*>} [options] Declared options\n * @abstract\n */\nfunction ReflectionObject(name, options) {\n\n if (!util.isString(name))\n throw TypeError(\"name must be a string\");\n\n if (options && !util.isObject(options))\n throw TypeError(\"options must be an object\");\n\n /**\n * Options.\n * @type {Object.<string,*>|undefined}\n */\n this.options = options; // toJSON\n\n /**\n * Parsed Options.\n * @type {Array.<Object.<string,*>>|undefined}\n */\n this.parsedOptions = null;\n\n /**\n * Unique name within its namespace.\n * @type {string}\n */\n this.name = name;\n\n /**\n * Parent namespace.\n * @type {Namespace|null}\n */\n this.parent = null;\n\n /**\n * Whether already resolved or not.\n * @type {boolean}\n */\n this.resolved = false;\n\n /**\n * Comment text, if any.\n * @type {string|null}\n */\n this.comment = null;\n\n /**\n * Defining file name.\n * @type {string|null}\n */\n this.filename = null;\n}\n\nObject.defineProperties(ReflectionObject.prototype, {\n\n /**\n * Reference to the root namespace.\n * @name ReflectionObject#root\n * @type {Root}\n * @readonly\n */\n root: {\n get: function() {\n var ptr = this;\n while (ptr.parent !== null)\n ptr = ptr.parent;\n return ptr;\n }\n },\n\n /**\n * Full name including leading dot.\n * @name ReflectionObject#fullName\n * @type {string}\n * @readonly\n */\n fullName: {\n get: function() {\n var path = [ this.name ],\n ptr = this.parent;\n while (ptr) {\n path.unshift(ptr.name);\n ptr = ptr.parent;\n }\n return path.join(\".\");\n }\n }\n});\n\n/**\n * Converts this reflection object to its descriptor representation.\n * @returns {Object.<string,*>} Descriptor\n * @abstract\n */\nReflectionObject.prototype.toJSON = /* istanbul ignore next */ function toJSON() {\n throw Error(); // not implemented, shouldn't happen\n};\n\n/**\n * Called when this object is added to a parent.\n * @param {ReflectionObject} parent Parent added to\n * @returns {undefined}\n */\nReflectionObject.prototype.onAdd = function onAdd(parent) {\n if (this.parent && this.parent !== parent)\n this.parent.remove(this);\n this.parent = parent;\n this.resolved = false;\n var root = parent.root;\n if (root instanceof Root)\n root._handleAdd(this);\n};\n\n/**\n * Called when this object is removed from a parent.\n * @param {ReflectionObject} parent Parent removed from\n * @returns {undefined}\n */\nReflectionObject.prototype.onRemove = function onRemove(parent) {\n var root = parent.root;\n if (root instanceof Root)\n root._handleRemove(this);\n this.parent = null;\n this.resolved = false;\n};\n\n/**\n * Resolves this objects type references.\n * @returns {ReflectionObject} `this`\n */\nReflectionObject.prototype.resolve = function resolve() {\n if (this.resolved)\n return this;\n if (this.root instanceof Root)\n this.resolved = true; // only if part of a root\n return this;\n};\n\n/**\n * Gets an option value.\n * @param {string} name Option name\n * @returns {*} Option value or `undefined` if not set\n */\nReflectionObject.prototype.getOption = function getOption(name) {\n if (this.options)\n return this.options[name];\n return undefined;\n};\n\n/**\n * Sets an option.\n * @param {string} name Option name\n * @param {*} value Option value\n * @param {boolean} [ifNotSet] Sets the option only if it isn't currently set\n * @returns {ReflectionObject} `this`\n */\nReflectionObject.prototype.setOption = function setOption(name, value, ifNotSet) {\n if (!ifNotSet || !this.options || this.options[name] === undefined)\n (this.options || (this.options = {}))[name] = value;\n return this;\n};\n\n/**\n * Sets a parsed option.\n * @param {string} name parsed Option name\n * @param {*} value Option value\n * @param {string} propName dot '.' delimited full path of property within the option to set. if undefined\\empty, will add a new option with that value\n * @returns {ReflectionObject} `this`\n */\nReflectionObject.prototype.setParsedOption = function setParsedOption(name, value, propName) {\n if (!this.parsedOptions) {\n this.parsedOptions = [];\n }\n var parsedOptions = this.parsedOptions;\n if (propName) {\n // If setting a sub property of an option then try to merge it\n // with an existing option\n var opt = parsedOptions.find(function (opt) {\n return Object.prototype.hasOwnProperty.call(opt, name);\n });\n if (opt) {\n // If we found an existing option - just merge the property value\n var newValue = opt[name];\n util.setProperty(newValue, propName, value);\n } else {\n // otherwise, create a new option, set it's property and add it to the list\n opt = {};\n opt[name] = util.setProperty({}, propName, value);\n parsedOptions.push(opt);\n }\n } else {\n // Always create a new option when setting the value of the option itself\n var newOpt = {};\n newOpt[name] = value;\n parsedOptions.push(newOpt);\n }\n return this;\n};\n\n/**\n * Sets multiple options.\n * @param {Object.<string,*>} options Options to set\n * @param {boolean} [ifNotSet] Sets an option only if it isn't currently set\n * @returns {ReflectionObject} `this`\n */\nReflectionObject.prototype.setOptions = function setOptions(options, ifNotSet) {\n if (options)\n for (var keys = Object.keys(options), i = 0; i < keys.length; ++i)\n this.setOption(keys[i], options[keys[i]], ifNotSet);\n return this;\n};\n\n/**\n * Converts this instance to its string representation.\n * @returns {string} Class name[, space, full name]\n */\nReflectionObject.prototype.toString = function toString() {\n var className = this.constructor.className,\n fullName = this.fullName;\n if (fullName.length)\n return className + \" \" + fullName;\n return className;\n};\n\n// Sets up cyclic dependencies (called in index-light)\nReflectionObject._configure = function(Root_) {\n Root = Root_;\n};\n", "\"use strict\";\nmodule.exports = Enum;\n\n// extends ReflectionObject\nvar ReflectionObject = require(\"./object\");\n((Enum.prototype = Object.create(ReflectionObject.prototype)).constructor = Enum).className = \"Enum\";\n\nvar Namespace = require(\"./namespace\"),\n util = require(\"./util\");\n\n/**\n * Constructs a new enum instance.\n * @classdesc Reflected enum.\n * @extends ReflectionObject\n * @constructor\n * @param {string} name Unique name within its namespace\n * @param {Object.<string,number>} [values] Enum values as an object, by name\n * @param {Object.<string,*>} [options] Declared options\n * @param {string} [comment] The comment for this enum\n * @param {Object.<string,string>} [comments] The value comments for this enum\n * @param {Object.<string,Object<string,*>>|undefined} [valuesOptions] The value options for this enum\n */\nfunction Enum(name, values, options, comment, comments, valuesOptions) {\n ReflectionObject.call(this, name, options);\n\n if (values && typeof values !== \"object\")\n throw TypeError(\"values must be an object\");\n\n /**\n * Enum values by id.\n * @type {Object.<number,string>}\n */\n this.valuesById = {};\n\n /**\n * Enum values by name.\n * @type {Object.<string,number>}\n */\n this.values = Object.create(this.valuesById); // toJSON, marker\n\n /**\n * Enum comment text.\n * @type {string|null}\n */\n this.comment = comment;\n\n /**\n * Value comment texts, if any.\n * @type {Object.<string,string>}\n */\n this.comments = comments || {};\n\n /**\n * Values options, if any\n * @type {Object<string, Object<string, *>>|undefined}\n */\n this.valuesOptions = valuesOptions;\n\n /**\n * Reserved ranges, if any.\n * @type {Array.<number[]|string>}\n */\n this.reserved = undefined; // toJSON\n\n // Note that values inherit valuesById on their prototype which makes them a TypeScript-\n // compatible enum. This is used by pbts to write actual enum definitions that work for\n // static and reflection code alike instead of emitting generic object definitions.\n\n if (values)\n for (var keys = Object.keys(values), i = 0; i < keys.length; ++i)\n if (typeof values[keys[i]] === \"number\") // use forward entries only\n this.valuesById[ this.values[keys[i]] = values[keys[i]] ] = keys[i];\n}\n\n/**\n * Enum descriptor.\n * @interface IEnum\n * @property {Object.<string,number>} values Enum values\n * @property {Object.<string,*>} [options] Enum options\n */\n\n/**\n * Constructs an enum from an enum descriptor.\n * @param {string} name Enum name\n * @param {IEnum} json Enum descriptor\n * @returns {Enum} Created enum\n * @throws {TypeError} If arguments are invalid\n */\nEnum.fromJSON = function fromJSON(name, json) {\n var enm = new Enum(name, json.values, json.options, json.comment, json.comments);\n enm.reserved = json.reserved;\n return enm;\n};\n\n/**\n * Converts this enum to an enum descriptor.\n * @param {IToJSONOptions} [toJSONOptions] JSON conversion options\n * @returns {IEnum} Enum descriptor\n */\nEnum.prototype.toJSON = function toJSON(toJSONOptions) {\n var keepComments = toJSONOptions ? Boolean(toJSONOptions.keepComments) : false;\n return util.toObject([\n \"options\" , this.options,\n \"valuesOptions\" , this.valuesOptions,\n \"values\" , this.values,\n \"reserved\" , this.reserved && this.reserved.length ? this.reserved : undefined,\n \"comment\" , keepComments ? this.comment : undefined,\n \"comments\" , keepComments ? this.comments : undefined\n ]);\n};\n\n/**\n * Adds a value to this enum.\n * @param {string} name Value name\n * @param {number} id Value id\n * @param {string} [comment] Comment, if any\n * @param {Object.<string, *>|undefined} [options] Options, if any\n * @returns {Enum} `this`\n * @throws {TypeError} If arguments are invalid\n * @throws {Error} If there is already a value with this name or id\n */\nEnum.prototype.add = function add(name, id, comment, options) {\n // utilized by the parser but not by .fromJSON\n\n if (!util.isString(name))\n throw TypeError(\"name must be a string\");\n\n if (!util.isInteger(id))\n throw TypeError(\"id must be an integer\");\n\n if (this.values[name] !== undefined)\n throw Error(\"duplicate name '\" + name + \"' in \" + this);\n\n if (this.isReservedId(id))\n throw Error(\"id \" + id + \" is reserved in \" + this);\n\n if (this.isReservedName(name))\n throw Error(\"name '\" + name + \"' is reserved in \" + this);\n\n if (this.valuesById[id] !== undefined) {\n if (!(this.options && this.options.allow_alias))\n throw Error(\"duplicate id \" + id + \" in \" + this);\n this.values[name] = id;\n } else\n this.valuesById[this.values[name] = id] = name;\n\n if (options) {\n if (this.valuesOptions === undefined)\n this.valuesOptions = {};\n this.valuesOptions[name] = options || null;\n }\n\n this.comments[name] = comment || null;\n return this;\n};\n\n/**\n * Removes a value from this enum\n * @param {string} name Value name\n * @returns {Enum} `this`\n * @throws {TypeError} If arguments are invalid\n * @throws {Error} If `name` is not a name of this enum\n */\nEnum.prototype.remove = function remove(name) {\n\n if (!util.isString(name))\n throw TypeError(\"name must be a string\");\n\n var val = this.values[name];\n if (val == null)\n throw Error(\"name '\" + name + \"' does not exist in \" + this);\n\n delete this.valuesById[val];\n delete this.values[name];\n delete this.comments[name];\n if (this.valuesOptions)\n delete this.valuesOptions[name];\n\n return this;\n};\n\n/**\n * Tests if the specified id is reserved.\n * @param {number} id Id to test\n * @returns {boolean} `true` if reserved, otherwise `false`\n */\nEnum.prototype.isReservedId = function isReservedId(id) {\n return Namespace.isReservedId(this.reserved, id);\n};\n\n/**\n * Tests if the specified name is reserved.\n * @param {string} name Name to test\n * @returns {boolean} `true` if reserved, otherwise `false`\n */\nEnum.prototype.isReservedName = function isReservedName(name) {\n return Namespace.isReservedName(this.reserved, name);\n};\n", "\"use strict\";\nmodule.exports = encoder;\n\nvar Enum = require(\"./enum\"),\n types = require(\"./types\"),\n util = require(\"./util\");\n\n/**\n * Generates a partial message type encoder.\n * @param {Codegen} gen Codegen instance\n * @param {Field} field Reflected field\n * @param {number} fieldIndex Field index\n * @param {string} ref Variable reference\n * @returns {Codegen} Codegen instance\n * @ignore\n */\nfunction genTypePartial(gen, field, fieldIndex, ref) {\n return field.resolvedType.group\n ? gen(\"types[%i].encode(%s,w.uint32(%i)).uint32(%i)\", fieldIndex, ref, (field.id << 3 | 3) >>> 0, (field.id << 3 | 4) >>> 0)\n : gen(\"types[%i].encode(%s,w.uint32(%i).fork()).ldelim()\", fieldIndex, ref, (field.id << 3 | 2) >>> 0);\n}\n\n/**\n * Generates an encoder specific to the specified message type.\n * @param {Type} mtype Message type\n * @returns {Codegen} Codegen instance\n */\nfunction encoder(mtype) {\n /* eslint-disable no-unexpected-multiline, block-scoped-var, no-redeclare */\n var gen = util.codegen([\"m\", \"w\"], mtype.name + \"$encode\")\n (\"if(!w)\")\n (\"w=Writer.create()\");\n\n var i, ref;\n\n // \"when a message is serialized its known fields should be written sequentially by field number\"\n var fields = /* initializes */ mtype.fieldsArray.slice().sort(util.compareFieldsById);\n\n for (var i = 0; i < fields.length; ++i) {\n var field = fields[i].resolve(),\n index = mtype._fieldsArray.indexOf(field),\n type = field.resolvedType instanceof Enum ? \"int32\" : field.type,\n wireType = types.basic[type];\n ref = \"m\" + util.safeProp(field.name);\n\n // Map fields\n if (field.map) {\n gen\n (\"if(%s!=null&&Object.hasOwnProperty.call(m,%j)){\", ref, field.name) // !== undefined && !== null\n (\"for(var ks=Object.keys(%s),i=0;i<ks.length;++i){\", ref)\n (\"w.uint32(%i).fork().uint32(%i).%s(ks[i])\", (field.id << 3 | 2) >>> 0, 8 | types.mapKey[field.keyType], field.keyType);\n if (wireType === undefined) gen\n (\"types[%i].encode(%s[ks[i]],w.uint32(18).fork()).ldelim().ldelim()\", index, ref); // can't be groups\n else gen\n (\".uint32(%i).%s(%s[ks[i]]).ldelim()\", 16 | wireType, type, ref);\n gen\n (\"}\")\n (\"}\");\n\n // Repeated fields\n } else if (field.repeated) { gen\n (\"if(%s!=null&&%s.length){\", ref, ref); // !== undefined && !== null\n\n // Packed repeated\n if (field.packed && types.packed[type] !== undefined) { gen\n\n (\"w.uint32(%i).fork()\", (field.id << 3 | 2) >>> 0)\n (\"for(var i=0;i<%s.length;++i)\", ref)\n (\"w.%s(%s[i])\", type, ref)\n (\"w.ldelim()\");\n\n // Non-packed\n } else { gen\n\n (\"for(var i=0;i<%s.length;++i)\", ref);\n if (wireType === undefined)\n genTypePartial(gen, field, index, ref + \"[i]\");\n else gen\n (\"w.uint32(%i).%s(%s[i])\", (field.id << 3 | wireType) >>> 0, type, ref);\n\n } gen\n (\"}\");\n\n // Non-repeated\n } else {\n if (field.optional) gen\n (\"if(%s!=null&&Object.hasOwnProperty.call(m,%j))\", ref, field.name); // !== undefined && !== null\n\n if (wireType === undefined)\n genTypePartial(gen, field, index, ref);\n else gen\n (\"w.uint32(%i).%s(%s)\", (field.id << 3 | wireType) >>> 0, type, ref);\n\n }\n }\n\n return gen\n (\"return w\");\n /* eslint-enable no-unexpected-multiline, block-scoped-var, no-redeclare */\n}\n", "\"use strict\";\nvar protobuf = module.exports = require(\"./index-minimal\");\n\nprotobuf.build = \"light\";\n\n/**\n * A node-style callback as used by {@link load} and {@link Root#load}.\n * @typedef LoadCallback\n * @type {function}\n * @param {Error|null} error Error, if any, otherwise `null`\n * @param {Root} [root] Root, if there hasn't been an error\n * @returns {undefined}\n */\n\n/**\n * Loads one or multiple .proto or preprocessed .json files into a common root namespace and calls the callback.\n * @param {string|string[]} filename One or multiple files to load\n * @param {Root} root Root namespace, defaults to create a new one if omitted.\n * @param {LoadCallback} callback Callback function\n * @returns {undefined}\n * @see {@link Root#load}\n */\nfunction load(filename, root, callback) {\n if (typeof root === \"function\") {\n callback = root;\n root = new protobuf.Root();\n } else if (!root)\n root = new protobuf.Root();\n return root.load(filename, callback);\n}\n\n/**\n * Loads one or multiple .proto or preprocessed .json files into a common root namespace and calls the callback.\n * @name load\n * @function\n * @param {string|string[]} filename One or multiple files to load\n * @param {LoadCallback} callback Callback function\n * @returns {undefined}\n * @see {@link Root#load}\n * @variation 2\n */\n// function load(filename:string, callback:LoadCallback):undefined\n\n/**\n * Loads one or multiple .proto or preprocessed .json files into a common root namespace and returns a promise.\n * @name load\n * @function\n * @param {string|string[]} filename One or multiple files to load\n * @param {Root} [root] Root namespace, defaults to create a new one if omitted.\n * @returns {Promise<Root>} Promise\n * @see {@link Root#load}\n * @variation 3\n */\n// function load(filename:string, [root:Root]):Promise<Root>\n\nprotobuf.load = load;\n\n/**\n * Synchronously loads one or multiple .proto or preprocessed .json files into a common root namespace (node only).\n * @param {string|string[]} filename One or multiple files to load\n * @param {Root} [root] Root namespace, defaults to create a new one if omitted.\n * @returns {Root} Root namespace\n * @throws {Error} If synchronous fetching is not supported (i.e. in browsers) or if a file's syntax is invalid\n * @see {@link Root#loadSync}\n */\nfunction loadSync(filename, root) {\n if (!root)\n root = new protobuf.Root();\n return root.loadSync(filename);\n}\n\nprotobuf.loadSync = loadSync;\n\n// Serialization\nprotobuf.encoder = require(\"./encoder\");\nprotobuf.decoder = require(\"./decoder\");\nprotobuf.verifier = require(\"./verifier\");\nprotobuf.converter = require(\"./converter\");\n\n// Reflection\nprotobuf.ReflectionObject = require(\"./object\");\nprotobuf.Namespace = require(\"./namespace\");\nprotobuf.Root = require(\"./root\");\nprotobuf.Enum = require(\"./enum\");\nprotobuf.Type = require(\"./type\");\nprotobuf.Field = require(\"./field\");\nprotobuf.OneOf = require(\"./oneof\");\nprotobuf.MapField = require(\"./mapfield\");\nprotobuf.Service = require(\"./service\");\nprotobuf.Method = require(\"./method\");\n\n// Runtime\nprotobuf.Message = require(\"./message\");\nprotobuf.wrappers = require(\"./wrappers\");\n\n// Utility\nprotobuf.types = require(\"./types\");\nprotobuf.util = require(\"./util\");\n\n// Set up possibly cyclic reflection dependencies\nprotobuf.ReflectionObject._configure(protobuf.Root);\nprotobuf.Namespace._configure(protobuf.Type, protobuf.Service, protobuf.Enum);\nprotobuf.Root._configure(protobuf.Type);\nprotobuf.Field._configure(protobuf.Type);\n", "// light library entry point.\n\n\"use strict\";\nmodule.exports = require(\"./src/index-light\");", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createMessageFromType = exports.createMessageFromName = exports.parseConfigure = exports.isPrimitiveField = void 0;\nconst tslib_1 = require(\"tslib\");\nconst protobuf = tslib_1.__importStar(require(\"protobufjs/light\"));\nconst primitiveTypes = [\n 'bool',\n 'string',\n 'bytes',\n 'int32',\n 'int64',\n 'uint32',\n 'uint64',\n 'sint32',\n 'sint64',\n 'fixed32',\n 'fixed64',\n 'sfixed32',\n 'sfixed64',\n 'double',\n 'float',\n];\nconst isPrimitiveField = (field) => primitiveTypes.includes(field);\nexports.isPrimitiveField = isPrimitiveField;\nfunction parseConfigure(data) {\n if (typeof data === 'string') {\n return protobuf.Root.fromJSON(JSON.parse(data));\n }\n return protobuf.Root.fromJSON(data);\n}\nexports.parseConfigure = parseConfigure;\nconst createMessageFromName = (messages, name) => {\n const Message = messages.lookupType(name);\n const MessageType = messages.lookupEnum('MessageType');\n let messageTypeId = MessageType.values[`MessageType_${name}`];\n if (typeof messageTypeId !== 'number' && Message.options) {\n messageTypeId = Message.options['(wire_type)'];\n }\n return {\n Message,\n messageType: messageTypeId !== null && messageTypeId !== void 0 ? messageTypeId : name,\n };\n};\nexports.createMessageFromName = createMessageFromName;\nconst createMessageFromType = (messages, messageType) => {\n if (typeof messageType === 'string') {\n const Message = messages.lookupType(messageType);\n return {\n Message,\n messageName: messageType,\n };\n }\n const messageTypes = messages.lookupEnum('MessageType');\n const messageName = messageTypes.valuesById[messageType].replace('MessageType_', '');\n const Message = messages.lookupType(messageName);\n return {\n Message,\n messageName,\n };\n};\nexports.createMessageFromType = createMessageFromType;\n//# sourceMappingURL=utils.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.decode = exports.messageToJSON = void 0;\nconst tslib_1 = require(\"tslib\");\nconst utils_1 = require(\"./utils\");\nconst transform = (field, value) => {\n if ((0, utils_1.isPrimitiveField)(field.type)) {\n if (field.optional && typeof value === 'undefined') {\n return null;\n }\n if (field.type === 'bytes') {\n return Buffer.from(value).toString('hex');\n }\n if (field.long) {\n if (Number.isSafeInteger(value.toNumber())) {\n return value.toNumber();\n }\n return value.toString();\n }\n return value;\n }\n if ('valuesById' in field.resolvedType) {\n return field.resolvedType.valuesById[value];\n }\n if (field.resolvedType.fields) {\n return messageToJSON(value, field.resolvedType.fields);\n }\n throw new Error(`transport: decode: case not handled: ${field}`);\n};\nfunction messageToJSON(MessageParam, fields) {\n if (!MessageParam) {\n return {};\n }\n const message = tslib_1.__rest(MessageParam, []);\n const res = {};\n Object.keys(fields).forEach(key => {\n const field = fields[key];\n const value = message[key];\n if (field.repeated) {\n res[key] = value.map((v) => transform(field, v));\n }\n else {\n res[key] = transform(field, value);\n }\n });\n return res;\n}\nexports.messageToJSON = messageToJSON;\nconst decode = (MessageParam, data) => {\n const decoded = MessageParam.decode(new Uint8Array(data));\n return messageToJSON(decoded, decoded.$type.fields);\n};\nexports.decode = decode;\n//# sourceMappingURL=decode.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.encode = exports.patch = void 0;\nconst light_1 = require(\"protobufjs/light\");\nconst utils_1 = require(\"./utils\");\nconst transform = (fieldType, value) => {\n if (fieldType === 'bytes') {\n if (typeof value === 'string' && !value)\n return value;\n return Buffer.from(value, 'hex');\n }\n if (typeof value === 'number' && !Number.isSafeInteger(value)) {\n throw new RangeError('field value is not within safe integer range');\n }\n return value;\n};\nfunction patch(Message, payload) {\n const patched = {};\n if (!Message.fields) {\n return patched;\n }\n Object.keys(Message.fields).forEach(key => {\n const field = Message.fields[key];\n const value = payload[key];\n if (typeof value === 'undefined') {\n return;\n }\n if ((0, utils_1.isPrimitiveField)(field.type)) {\n if (field.repeated) {\n patched[key] = value.map((v) => transform(field.type, v));\n }\n else {\n patched[key] = transform(field.type, value);\n }\n return;\n }\n if (field.repeated) {\n const fieldType = Message.lookupTypeOrEnum(field.type);\n if (fieldType instanceof light_1.Enum) {\n patched[key] = value;\n }\n else {\n patched[key] = value.map((v) => patch(fieldType, v));\n }\n }\n else if (typeof value === 'object' && value !== null) {\n const RefMessage = Message.lookupType(field.type);\n patched[key] = patch(RefMessage, value);\n }\n else if (typeof value === 'number') {\n const RefMessage = Message.lookupEnum(field.type);\n patched[key] = RefMessage.values[value];\n }\n else {\n patched[key] = value;\n }\n });\n return patched;\n}\nexports.patch = patch;\nconst encode = (Message, data) => {\n const payload = patch(Message, data);\n const message = Message.fromObject(payload);\n const bytes = Message.encode(message).finish();\n return Buffer.from(bytes);\n};\nexports.encode = encode;\n//# sourceMappingURL=encode.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TezosBallotType = exports.TezosContractType = exports.StellarSignerType = exports.StellarMemoType = exports.StellarAssetType = exports.NEMImportanceTransferMode = exports.NEMModificationType = exports.NEMSupplyChangeType = exports.NEMMosaicLevy = exports.MoneroNetworkType = exports.BootCommand = exports.Enum_WordRequestType = exports.RecoveryDeviceType = exports.SdProtectOperationType = exports.Enum_Capability = exports.Enum_HomescreenFormat = exports.Enum_SafetyCheckLevel = exports.Enum_BackupType = exports.EthereumDataType = exports.EthereumDefinitionType = exports.DebugPhysicalButton = exports.DebugButton = exports.Enum_PinMatrixRequestType = exports.Enum_ButtonRequestType = exports.FailureType = exports.CardanoTxWitnessType = exports.CardanoTxSigningMode = exports.CardanoCVoteRegistrationFormat = exports.CardanoTxAuxiliaryDataSupplementType = exports.CardanoPoolRelayType = exports.CardanoCertificateType = exports.CardanoTxOutputSerializationFormat = exports.CardanoNativeScriptHashDisplayFormat = exports.CardanoNativeScriptType = exports.CardanoAddressType = exports.CardanoDerivationType = exports.Enum_RequestType = exports.AmountUnit = exports.DecredStakingSpendType = exports.Enum_OutputScriptType = exports.Enum_InputScriptType = exports.BinanceTimeInForce = exports.BinanceOrderSide = exports.BinanceOrderType = exports.DeviceModelInternal = void 0;\nvar DeviceModelInternal;\n(function (DeviceModelInternal) {\n DeviceModelInternal[\"T1B1\"] = \"T1B1\";\n DeviceModelInternal[\"T2T1\"] = \"T2T1\";\n DeviceModelInternal[\"T2B1\"] = \"T2B1\";\n DeviceModelInternal[\"T3T1\"] = \"T3T1\";\n})(DeviceModelInternal || (exports.DeviceModelInternal = DeviceModelInternal = {}));\nvar BinanceOrderType;\n(function (BinanceOrderType) {\n BinanceOrderType[BinanceOrderType[\"OT_UNKNOWN\"] = 0] = \"OT_UNKNOWN\";\n BinanceOrderType[BinanceOrderType[\"MARKET\"] = 1] = \"MARKET\";\n BinanceOrderType[BinanceOrderType[\"LIMIT\"] = 2] = \"LIMIT\";\n BinanceOrderType[BinanceOrderType[\"OT_RESERVED\"] = 3] = \"OT_RESERVED\";\n})(BinanceOrderType || (exports.BinanceOrderType = BinanceOrderType = {}));\nvar BinanceOrderSide;\n(function (BinanceOrderSide) {\n BinanceOrderSide[BinanceOrderSide[\"SIDE_UNKNOWN\"] = 0] = \"SIDE_UNKNOWN\";\n BinanceOrderSide[BinanceOrderSide[\"BUY\"] = 1] = \"BUY\";\n BinanceOrderSide[BinanceOrderSide[\"SELL\"] = 2] = \"SELL\";\n})(BinanceOrderSide || (exports.BinanceOrderSide = BinanceOrderSide = {}));\nvar BinanceTimeInForce;\n(function (BinanceTimeInForce) {\n BinanceTimeInForce[BinanceTimeInForce[\"TIF_UNKNOWN\"] = 0] = \"TIF_UNKNOWN\";\n BinanceTimeInForce[BinanceTimeInForce[\"GTE\"] = 1] = \"GTE\";\n BinanceTimeInForce[BinanceTimeInForce[\"TIF_RESERVED\"] = 2] = \"TIF_RESERVED\";\n BinanceTimeInForce[BinanceTimeInForce[\"IOC\"] = 3] = \"IOC\";\n})(BinanceTimeInForce || (exports.BinanceTimeInForce = BinanceTimeInForce = {}));\nvar Enum_InputScriptType;\n(function (Enum_InputScriptType) {\n Enum_InputScriptType[Enum_InputScriptType[\"SPENDADDRESS\"] = 0] = \"SPENDADDRESS\";\n Enum_InputScriptType[Enum_InputScriptType[\"SPENDMULTISIG\"] = 1] = \"SPENDMULTISIG\";\n Enum_InputScriptType[Enum_InputScriptType[\"EXTERNAL\"] = 2] = \"EXTERNAL\";\n Enum_InputScriptType[Enum_InputScriptType[\"SPENDWITNESS\"] = 3] = \"SPENDWITNESS\";\n Enum_InputScriptType[Enum_InputScriptType[\"SPENDP2SHWITNESS\"] = 4] = \"SPENDP2SHWITNESS\";\n Enum_InputScriptType[Enum_InputScriptType[\"SPENDTAPROOT\"] = 5] = \"SPENDTAPROOT\";\n})(Enum_InputScriptType || (exports.Enum_InputScriptType = Enum_InputScriptType = {}));\nvar Enum_OutputScriptType;\n(function (Enum_OutputScriptType) {\n Enum_OutputScriptType[Enum_OutputScriptType[\"PAYTOADDRESS\"] = 0] = \"PAYTOADDRESS\";\n Enum_OutputScriptType[Enum_OutputScriptType[\"PAYTOSCRIPTHASH\"] = 1] = \"PAYTOSCRIPTHASH\";\n Enum_OutputScriptType[Enum_OutputScriptType[\"PAYTOMULTISIG\"] = 2] = \"PAYTOMULTISIG\";\n Enum_OutputScriptType[Enum_OutputScriptType[\"PAYTOOPRETURN\"] = 3] = \"PAYTOOPRETURN\";\n Enum_OutputScriptType[Enum_OutputScriptType[\"PAYTOWITNESS\"] = 4] = \"PAYTOWITNESS\";\n Enum_OutputScriptType[Enum_OutputScriptType[\"PAYTOP2SHWITNESS\"] = 5] = \"PAYTOP2SHWITNESS\";\n Enum_OutputScriptType[Enum_OutputScriptType[\"PAYTOTAPROOT\"] = 6] = \"PAYTOTAPROOT\";\n})(Enum_OutputScriptType || (exports.Enum_OutputScriptType = Enum_OutputScriptType = {}));\nvar DecredStakingSpendType;\n(function (DecredStakingSpendType) {\n DecredStakingSpendType[DecredStakingSpendType[\"SSGen\"] = 0] = \"SSGen\";\n DecredStakingSpendType[DecredStakingSpendType[\"SSRTX\"] = 1] = \"SSRTX\";\n})(DecredStakingSpendType || (exports.DecredStakingSpendType = DecredStakingSpendType = {}));\nvar AmountUnit;\n(function (AmountUnit) {\n AmountUnit[AmountUnit[\"BITCOIN\"] = 0] = \"BITCOIN\";\n AmountUnit[AmountUnit[\"MILLIBITCOIN\"] = 1] = \"MILLIBITCOIN\";\n AmountUnit[AmountUnit[\"MICROBITCOIN\"] = 2] = \"MICROBITCOIN\";\n AmountUnit[AmountUnit[\"SATOSHI\"] = 3] = \"SATOSHI\";\n})(AmountUnit || (exports.AmountUnit = AmountUnit = {}));\nvar Enum_RequestType;\n(function (Enum_RequestType) {\n Enum_RequestType[Enum_RequestType[\"TXINPUT\"] = 0] = \"TXINPUT\";\n Enum_RequestType[Enum_RequestType[\"TXOUTPUT\"] = 1] = \"TXOUTPUT\";\n Enum_RequestType[Enum_RequestType[\"TXMETA\"] = 2] = \"TXMETA\";\n Enum_RequestType[Enum_RequestType[\"TXFINISHED\"] = 3] = \"TXFINISHED\";\n Enum_RequestType[Enum_RequestType[\"TXEXTRADATA\"] = 4] = \"TXEXTRADATA\";\n Enum_RequestType[Enum_RequestType[\"TXORIGINPUT\"] = 5] = \"TXORIGINPUT\";\n Enum_RequestType[Enum_RequestType[\"TXORIGOUTPUT\"] = 6] = \"TXORIGOUTPUT\";\n Enum_RequestType[Enum_RequestType[\"TXPAYMENTREQ\"] = 7] = \"TXPAYMENTREQ\";\n})(Enum_RequestType || (exports.Enum_RequestType = Enum_RequestType = {}));\nvar CardanoDerivationType;\n(function (CardanoDerivationType) {\n CardanoDerivationType[CardanoDerivationType[\"LEDGER\"] = 0] = \"LEDGER\";\n CardanoDerivationType[CardanoDerivationType[\"ICARUS\"] = 1] = \"ICARUS\";\n CardanoDerivationType[CardanoDerivationType[\"ICARUS_TREZOR\"] = 2] = \"ICARUS_TREZOR\";\n})(CardanoDerivationType || (exports.CardanoDerivationType = CardanoDerivationType = {}));\nvar CardanoAddressType;\n(function (CardanoAddressType) {\n CardanoAddressType[CardanoAddressType[\"BASE\"] = 0] = \"BASE\";\n CardanoAddressType[CardanoAddressType[\"BASE_SCRIPT_KEY\"] = 1] = \"BASE_SCRIPT_KEY\";\n CardanoAddressType[CardanoAddressType[\"BASE_KEY_SCRIPT\"] = 2] = \"BASE_KEY_SCRIPT\";\n CardanoAddressType[CardanoAddressType[\"BASE_SCRIPT_SCRIPT\"] = 3] = \"BASE_SCRIPT_SCRIPT\";\n CardanoAddressType[CardanoAddressType[\"POINTER\"] = 4] = \"POINTER\";\n CardanoAddressType[CardanoAddressType[\"POINTER_SCRIPT\"] = 5] = \"POINTER_SCRIPT\";\n CardanoAddressType[CardanoAddressType[\"ENTERPRISE\"] = 6] = \"ENTERPRISE\";\n CardanoAddressType[CardanoAddressType[\"ENTERPRISE_SCRIPT\"] = 7] = \"ENTERPRISE_SCRIPT\";\n CardanoAddressType[CardanoAddressType[\"BYRON\"] = 8] = \"BYRON\";\n CardanoAddressType[CardanoAddressType[\"REWARD\"] = 14] = \"REWARD\";\n CardanoAddressType[CardanoAddressType[\"REWARD_SCRIPT\"] = 15] = \"REWARD_SCRIPT\";\n})(CardanoAddressType || (exports.CardanoAddressType = CardanoAddressType = {}));\nvar CardanoNativeScriptType;\n(function (CardanoNativeScriptType) {\n CardanoNativeScriptType[CardanoNativeScriptType[\"PUB_KEY\"] = 0] = \"PUB_KEY\";\n CardanoNativeScriptType[CardanoNativeScriptType[\"ALL\"] = 1] = \"ALL\";\n CardanoNativeScriptType[CardanoNativeScriptType[\"ANY\"] = 2] = \"ANY\";\n CardanoNativeScriptType[CardanoNativeScriptType[\"N_OF_K\"] = 3] = \"N_OF_K\";\n CardanoNativeScriptType[CardanoNativeScriptType[\"INVALID_BEFORE\"] = 4] = \"INVALID_BEFORE\";\n CardanoNativeScriptType[CardanoNativeScriptType[\"INVALID_HEREAFTER\"] = 5] = \"INVALID_HEREAFTER\";\n})(CardanoNativeScriptType || (exports.CardanoNativeScriptType = CardanoNativeScriptType = {}));\nvar CardanoNativeScriptHashDisplayFormat;\n(function (CardanoNativeScriptHashDisplayFormat) {\n CardanoNativeScriptHashDisplayFormat[CardanoNativeScriptHashDisplayFormat[\"HIDE\"] = 0] = \"HIDE\";\n CardanoNativeScriptHashDisplayFormat[CardanoNativeScriptHashDisplayFormat[\"BECH32\"] = 1] = \"BECH32\";\n CardanoNativeScriptHashDisplayFormat[CardanoNativeScriptHashDisplayFormat[\"POLICY_ID\"] = 2] = \"POLICY_ID\";\n})(CardanoNativeScriptHashDisplayFormat || (exports.CardanoNativeScriptHashDisplayFormat = CardanoNativeScriptHashDisplayFormat = {}));\nvar CardanoTxOutputSerializationFormat;\n(function (CardanoTxOutputSerializationFormat) {\n CardanoTxOutputSerializationFormat[CardanoTxOutputSerializationFormat[\"ARRAY_LEGACY\"] = 0] = \"ARRAY_LEGACY\";\n CardanoTxOutputSerializationFormat[CardanoTxOutputSerializationFormat[\"MAP_BABBAGE\"] = 1] = \"MAP_BABBAGE\";\n})(CardanoTxOutputSerializationFormat || (exports.CardanoTxOutputSerializationFormat = CardanoTxOutputSerializationFormat = {}));\nvar CardanoCertificateType;\n(function (CardanoCertificateType) {\n CardanoCertificateType[CardanoCertificateType[\"STAKE_REGISTRATION\"] = 0] = \"STAKE_REGISTRATION\";\n CardanoCertificateType[CardanoCertificateType[\"STAKE_DEREGISTRATION\"] = 1] = \"STAKE_DEREGISTRATION\";\n CardanoCertificateType[CardanoCertificateType[\"STAKE_DELEGATION\"] = 2] = \"STAKE_DELEGATION\";\n CardanoCertificateType[CardanoCertificateType[\"STAKE_POOL_REGISTRATION\"] = 3] = \"STAKE_POOL_REGISTRATION\";\n})(CardanoCertificateType || (exports.CardanoCertificateType = CardanoCertificateType = {}));\nvar CardanoPoolRelayType;\n(function (CardanoPoolRelayType) {\n CardanoPoolRelayType[CardanoPoolRelayType[\"SINGLE_HOST_IP\"] = 0] = \"SINGLE_HOST_IP\";\n CardanoPoolRelayType[CardanoPoolRelayType[\"SINGLE_HOST_NAME\"] = 1] = \"SINGLE_HOST_NAME\";\n CardanoPoolRelayType[CardanoPoolRelayType[\"MULTIPLE_HOST_NAME\"] = 2] = \"MULTIPLE_HOST_NAME\";\n})(CardanoPoolRelayType || (exports.CardanoPoolRelayType = CardanoPoolRelayType = {}));\nvar CardanoTxAuxiliaryDataSupplementType;\n(function (CardanoTxAuxiliaryDataSupplementType) {\n CardanoTxAuxiliaryDataSupplementType[CardanoTxAuxiliaryDataSupplementType[\"NONE\"] = 0] = \"NONE\";\n CardanoTxAuxiliaryDataSupplementType[CardanoTxAuxiliaryDataSupplementType[\"CVOTE_REGISTRATION_SIGNATURE\"] = 1] = \"CVOTE_REGISTRATION_SIGNATURE\";\n})(CardanoTxAuxiliaryDataSupplementType || (exports.CardanoTxAuxiliaryDataSupplementType = CardanoTxAuxiliaryDataSupplementType = {}));\nvar CardanoCVoteRegistrationFormat;\n(function (CardanoCVoteRegistrationFormat) {\n CardanoCVoteRegistrationFormat[CardanoCVoteRegistrationFormat[\"CIP15\"] = 0] = \"CIP15\";\n CardanoCVoteRegistrationFormat[CardanoCVoteRegistrationFormat[\"CIP36\"] = 1] = \"CIP36\";\n})(CardanoCVoteRegistrationFormat || (exports.CardanoCVoteRegistrationFormat = CardanoCVoteRegistrationFormat = {}));\nvar CardanoTxSigningMode;\n(function (CardanoTxSigningMode) {\n CardanoTxSigningMode[CardanoTxSigningMode[\"ORDINARY_TRANSACTION\"] = 0] = \"ORDINARY_TRANSACTION\";\n CardanoTxSigningMode[CardanoTxSigningMode[\"POOL_REGISTRATION_AS_OWNER\"] = 1] = \"POOL_REGISTRATION_AS_OWNER\";\n CardanoTxSigningMode[CardanoTxSigningMode[\"MULTISIG_TRANSACTION\"] = 2] = \"MULTISIG_TRANSACTION\";\n CardanoTxSigningMode[CardanoTxSigningMode[\"PLUTUS_TRANSACTION\"] = 3] = \"PLUTUS_TRANSACTION\";\n})(CardanoTxSigningMode || (exports.CardanoTxSigningMode = CardanoTxSigningMode = {}));\nvar CardanoTxWitnessType;\n(function (CardanoTxWitnessType) {\n CardanoTxWitnessType[CardanoTxWitnessType[\"BYRON_WITNESS\"] = 0] = \"BYRON_WITNESS\";\n CardanoTxWitnessType[CardanoTxWitnessType[\"SHELLEY_WITNESS\"] = 1] = \"SHELLEY_WITNESS\";\n})(CardanoTxWitnessType || (exports.CardanoTxWitnessType = CardanoTxWitnessType = {}));\nvar FailureType;\n(function (FailureType) {\n FailureType[FailureType[\"Failure_UnexpectedMessage\"] = 1] = \"Failure_UnexpectedMessage\";\n FailureType[FailureType[\"Failure_ButtonExpected\"] = 2] = \"Failure_ButtonExpected\";\n FailureType[FailureType[\"Failure_DataError\"] = 3] = \"Failure_DataError\";\n FailureType[FailureType[\"Failure_ActionCancelled\"] = 4] = \"Failure_ActionCancelled\";\n FailureType[FailureType[\"Failure_PinExpected\"] = 5] = \"Failure_PinExpected\";\n FailureType[FailureType[\"Failure_PinCancelled\"] = 6] = \"Failure_PinCancelled\";\n FailureType[FailureType[\"Failure_PinInvalid\"] = 7] = \"Failure_PinInvalid\";\n FailureType[FailureType[\"Failure_InvalidSignature\"] = 8] = \"Failure_InvalidSignature\";\n FailureType[FailureType[\"Failure_ProcessError\"] = 9] = \"Failure_ProcessError\";\n FailureType[FailureType[\"Failure_NotEnoughFunds\"] = 10] = \"Failure_NotEnoughFunds\";\n FailureType[FailureType[\"Failure_NotInitialized\"] = 11] = \"Failure_NotInitialized\";\n FailureType[FailureType[\"Failure_PinMismatch\"] = 12] = \"Failure_PinMismatch\";\n FailureType[FailureType[\"Failure_WipeCodeMismatch\"] = 13] = \"Failure_WipeCodeMismatch\";\n FailureType[FailureType[\"Failure_InvalidSession\"] = 14] = \"Failure_InvalidSession\";\n FailureType[FailureType[\"Failure_FirmwareError\"] = 99] = \"Failure_FirmwareError\";\n})(FailureType || (exports.FailureType = FailureType = {}));\nvar Enum_ButtonRequestType;\n(function (Enum_ButtonRequestType) {\n Enum_ButtonRequestType[Enum_ButtonRequestType[\"ButtonRequest_Other\"] = 1] = \"ButtonRequest_Other\";\n Enum_ButtonRequestType[Enum_ButtonRequestType[\"ButtonRequest_FeeOverThreshold\"] = 2] = \"ButtonRequest_FeeOverThreshold\";\n Enum_ButtonRequestType[Enum_ButtonRequestType[\"ButtonRequest_ConfirmOutput\"] = 3] = \"ButtonRequest_ConfirmOutput\";\n Enum_ButtonRequestType[Enum_ButtonRequestType[\"ButtonRequest_ResetDevice\"] = 4] = \"ButtonRequest_ResetDevice\";\n Enum_ButtonRequestType[Enum_ButtonRequestType[\"ButtonRequest_ConfirmWord\"] = 5] = \"ButtonRequest_ConfirmWord\";\n Enum_ButtonRequestType[Enum_ButtonRequestType[\"ButtonRequest_WipeDevice\"] = 6] = \"ButtonRequest_WipeDevice\";\n Enum_ButtonRequestType[Enum_ButtonRequestType[\"ButtonRequest_ProtectCall\"] = 7] = \"ButtonRequest_ProtectCall\";\n Enum_ButtonRequestType[Enum_ButtonRequestType[\"ButtonRequest_SignTx\"] = 8] = \"ButtonRequest_SignTx\";\n Enum_ButtonRequestType[Enum_ButtonRequestType[\"ButtonRequest_FirmwareCheck\"] = 9] = \"ButtonRequest_FirmwareCheck\";\n Enum_ButtonRequestType[Enum_ButtonRequestType[\"ButtonRequest_Address\"] = 10] = \"ButtonRequest_Address\";\n Enum_ButtonRequestType[Enum_ButtonRequestType[\"ButtonRequest_PublicKey\"] = 11] = \"ButtonRequest_PublicKey\";\n Enum_ButtonRequestType[Enum_ButtonRequestType[\"ButtonRequest_MnemonicWordCount\"] = 12] = \"ButtonRequest_MnemonicWordCount\";\n Enum_ButtonRequestType[Enum_ButtonRequestType[\"ButtonRequest_MnemonicInput\"] = 13] = \"ButtonRequest_MnemonicInput\";\n Enum_ButtonRequestType[Enum_ButtonRequestType[\"_Deprecated_ButtonRequest_PassphraseType\"] = 14] = \"_Deprecated_ButtonRequest_PassphraseType\";\n Enum_ButtonRequestType[Enum_ButtonRequestType[\"ButtonRequest_UnknownDerivationPath\"] = 15] = \"ButtonRequest_UnknownDerivationPath\";\n Enum_ButtonRequestType[Enum_ButtonRequestType[\"ButtonRequest_RecoveryHomepage\"] = 16] = \"ButtonRequest_RecoveryHomepage\";\n Enum_ButtonRequestType[Enum_ButtonRequestType[\"ButtonRequest_Success\"] = 17] = \"ButtonRequest_Success\";\n Enum_ButtonRequestType[Enum_ButtonRequestType[\"ButtonRequest_Warning\"] = 18] = \"ButtonRequest_Warning\";\n Enum_ButtonRequestType[Enum_ButtonRequestType[\"ButtonRequest_PassphraseEntry\"] = 19] = \"ButtonRequest_PassphraseEntry\";\n Enum_ButtonRequestType[Enum_ButtonRequestType[\"ButtonRequest_PinEntry\"] = 20] = \"ButtonRequest_PinEntry\";\n})(Enum_ButtonRequestType || (exports.Enum_ButtonRequestType = Enum_ButtonRequestType = {}));\nvar Enum_PinMatrixRequestType;\n(function (Enum_PinMatrixRequestType) {\n Enum_PinMatrixRequestType[Enum_PinMatrixRequestType[\"PinMatrixRequestType_Current\"] = 1] = \"PinMatrixRequestType_Current\";\n Enum_PinMatrixRequestType[Enum_PinMatrixRequestType[\"PinMatrixRequestType_NewFirst\"] = 2] = \"PinMatrixRequestType_NewFirst\";\n Enum_PinMatrixRequestType[Enum_PinMatrixRequestType[\"PinMatrixRequestType_NewSecond\"] = 3] = \"PinMatrixRequestType_NewSecond\";\n Enum_PinMatrixRequestType[Enum_PinMatrixRequestType[\"PinMatrixRequestType_WipeCodeFirst\"] = 4] = \"PinMatrixRequestType_WipeCodeFirst\";\n Enum_PinMatrixRequestType[Enum_PinMatrixRequestType[\"PinMatrixRequestType_WipeCodeSecond\"] = 5] = \"PinMatrixRequestType_WipeCodeSecond\";\n})(Enum_PinMatrixRequestType || (exports.Enum_PinMatrixRequestType = Enum_PinMatrixRequestType = {}));\nvar DebugButton;\n(function (DebugButton) {\n DebugButton[DebugButton[\"NO\"] = 0] = \"NO\";\n DebugButton[DebugButton[\"YES\"] = 1] = \"YES\";\n DebugButton[DebugButton[\"INFO\"] = 2] = \"INFO\";\n})(DebugButton || (exports.DebugButton = DebugButton = {}));\nvar DebugPhysicalButton;\n(function (DebugPhysicalButton) {\n DebugPhysicalButton[DebugPhysicalButton[\"LEFT_BTN\"] = 0] = \"LEFT_BTN\";\n DebugPhysicalButton[DebugPhysicalButton[\"MIDDLE_BTN\"] = 1] = \"MIDDLE_BTN\";\n DebugPhysicalButton[DebugPhysicalButton[\"RIGHT_BTN\"] = 2] = \"RIGHT_BTN\";\n})(DebugPhysicalButton || (exports.DebugPhysicalButton = DebugPhysicalButton = {}));\nvar EthereumDefinitionType;\n(function (EthereumDefinitionType) {\n EthereumDefinitionType[EthereumDefinitionType[\"NETWORK\"] = 0] = \"NETWORK\";\n EthereumDefinitionType[EthereumDefinitionType[\"TOKEN\"] = 1] = \"TOKEN\";\n})(EthereumDefinitionType || (exports.EthereumDefinitionType = EthereumDefinitionType = {}));\nvar EthereumDataType;\n(function (EthereumDataType) {\n EthereumDataType[EthereumDataType[\"UINT\"] = 1] = \"UINT\";\n EthereumDataType[EthereumDataType[\"INT\"] = 2] = \"INT\";\n EthereumDataType[EthereumDataType[\"BYTES\"] = 3] = \"BYTES\";\n EthereumDataType[EthereumDataType[\"STRING\"] = 4] = \"STRING\";\n EthereumDataType[EthereumDataType[\"BOOL\"] = 5] = \"BOOL\";\n EthereumDataType[EthereumDataType[\"ADDRESS\"] = 6] = \"ADDRESS\";\n EthereumDataType[EthereumDataType[\"ARRAY\"] = 7] = \"ARRAY\";\n EthereumDataType[EthereumDataType[\"STRUCT\"] = 8] = \"STRUCT\";\n})(EthereumDataType || (exports.EthereumDataType = EthereumDataType = {}));\nvar Enum_BackupType;\n(function (Enum_BackupType) {\n Enum_BackupType[Enum_BackupType[\"Bip39\"] = 0] = \"Bip39\";\n Enum_BackupType[Enum_BackupType[\"Slip39_Basic\"] = 1] = \"Slip39_Basic\";\n Enum_BackupType[Enum_BackupType[\"Slip39_Advanced\"] = 2] = \"Slip39_Advanced\";\n})(Enum_BackupType || (exports.Enum_BackupType = Enum_BackupType = {}));\nvar Enum_SafetyCheckLevel;\n(function (Enum_SafetyCheckLevel) {\n Enum_SafetyCheckLevel[Enum_SafetyCheckLevel[\"Strict\"] = 0] = \"Strict\";\n Enum_SafetyCheckLevel[Enum_SafetyCheckLevel[\"PromptAlways\"] = 1] = \"PromptAlways\";\n Enum_SafetyCheckLevel[Enum_SafetyCheckLevel[\"PromptTemporarily\"] = 2] = \"PromptTemporarily\";\n})(Enum_SafetyCheckLevel || (exports.Enum_SafetyCheckLevel = Enum_SafetyCheckLevel = {}));\nvar Enum_HomescreenFormat;\n(function (Enum_HomescreenFormat) {\n Enum_HomescreenFormat[Enum_HomescreenFormat[\"Toif\"] = 1] = \"Toif\";\n Enum_HomescreenFormat[Enum_HomescreenFormat[\"Jpeg\"] = 2] = \"Jpeg\";\n Enum_HomescreenFormat[Enum_HomescreenFormat[\"ToiG\"] = 3] = \"ToiG\";\n})(Enum_HomescreenFormat || (exports.Enum_HomescreenFormat = Enum_HomescreenFormat = {}));\nvar Enum_Capability;\n(function (Enum_Capability) {\n Enum_Capability[Enum_Capability[\"Capability_Bitcoin\"] = 1] = \"Capability_Bitcoin\";\n Enum_Capability[Enum_Capability[\"Capability_Bitcoin_like\"] = 2] = \"Capability_Bitcoin_like\";\n Enum_Capability[Enum_Capability[\"Capability_Binance\"] = 3] = \"Capability_Binance\";\n Enum_Capability[Enum_Capability[\"Capability_Cardano\"] = 4] = \"Capability_Cardano\";\n Enum_Capability[Enum_Capability[\"Capability_Crypto\"] = 5] = \"Capability_Crypto\";\n Enum_Capability[Enum_Capability[\"Capability_EOS\"] = 6] = \"Capability_EOS\";\n Enum_Capability[Enum_Capability[\"Capability_Ethereum\"] = 7] = \"Capability_Ethereum\";\n Enum_Capability[Enum_Capability[\"Capability_Lisk\"] = 8] = \"Capability_Lisk\";\n Enum_Capability[Enum_Capability[\"Capability_Monero\"] = 9] = \"Capability_Monero\";\n Enum_Capability[Enum_Capability[\"Capability_NEM\"] = 10] = \"Capability_NEM\";\n Enum_Capability[Enum_Capability[\"Capability_Ripple\"] = 11] = \"Capability_Ripple\";\n Enum_Capability[Enum_Capability[\"Capability_Stellar\"] = 12] = \"Capability_Stellar\";\n Enum_Capability[Enum_Capability[\"Capability_Tezos\"] = 13] = \"Capability_Tezos\";\n Enum_Capability[Enum_Capability[\"Capability_U2F\"] = 14] = \"Capability_U2F\";\n Enum_Capability[Enum_Capability[\"Capability_Shamir\"] = 15] = \"Capability_Shamir\";\n Enum_Capability[Enum_Capability[\"Capability_ShamirGroups\"] = 16] = \"Capability_ShamirGroups\";\n Enum_Capability[Enum_Capability[\"Capability_PassphraseEntry\"] = 17] = \"Capability_PassphraseEntry\";\n Enum_Capability[Enum_Capability[\"Capability_Solana\"] = 18] = \"Capability_Solana\";\n Enum_Capability[Enum_Capability[\"Capability_Translations\"] = 19] = \"Capability_Translations\";\n})(Enum_Capability || (exports.Enum_Capability = Enum_Capability = {}));\nvar SdProtectOperationType;\n(function (SdProtectOperationType) {\n SdProtectOperationType[SdProtectOperationType[\"DISABLE\"] = 0] = \"DISABLE\";\n SdProtectOperationType[SdProtectOperationType[\"ENABLE\"] = 1] = \"ENABLE\";\n SdProtectOperationType[SdProtectOperationType[\"REFRESH\"] = 2] = \"REFRESH\";\n})(SdProtectOperationType || (exports.SdProtectOperationType = SdProtectOperationType = {}));\nvar RecoveryDeviceType;\n(function (RecoveryDeviceType) {\n RecoveryDeviceType[RecoveryDeviceType[\"RecoveryDeviceType_ScrambledWords\"] = 0] = \"RecoveryDeviceType_ScrambledWords\";\n RecoveryDeviceType[RecoveryDeviceType[\"RecoveryDeviceType_Matrix\"] = 1] = \"RecoveryDeviceType_Matrix\";\n})(RecoveryDeviceType || (exports.RecoveryDeviceType = RecoveryDeviceType = {}));\nvar Enum_WordRequestType;\n(function (Enum_WordRequestType) {\n Enum_WordRequestType[Enum_WordRequestType[\"WordRequestType_Plain\"] = 0] = \"WordRequestType_Plain\";\n Enum_WordRequestType[Enum_WordRequestType[\"WordRequestType_Matrix9\"] = 1] = \"WordRequestType_Matrix9\";\n Enum_WordRequestType[Enum_WordRequestType[\"WordRequestType_Matrix6\"] = 2] = \"WordRequestType_Matrix6\";\n})(Enum_WordRequestType || (exports.Enum_WordRequestType = Enum_WordRequestType = {}));\nvar BootCommand;\n(function (BootCommand) {\n BootCommand[BootCommand[\"STOP_AND_WAIT\"] = 0] = \"STOP_AND_WAIT\";\n BootCommand[BootCommand[\"INSTALL_UPGRADE\"] = 1] = \"INSTALL_UPGRADE\";\n})(BootCommand || (exports.BootCommand = BootCommand = {}));\nvar MoneroNetworkType;\n(function (MoneroNetworkType) {\n MoneroNetworkType[MoneroNetworkType[\"MAINNET\"] = 0] = \"MAINNET\";\n MoneroNetworkType[MoneroNetworkType[\"TESTNET\"] = 1] = \"TESTNET\";\n MoneroNetworkType[MoneroNetworkType[\"STAGENET\"] = 2] = \"STAGENET\";\n MoneroNetworkType[MoneroNetworkType[\"FAKECHAIN\"] = 3] = \"FAKECHAIN\";\n})(MoneroNetworkType || (exports.MoneroNetworkType = MoneroNetworkType = {}));\nvar NEMMosaicLevy;\n(function (NEMMosaicLevy) {\n NEMMosaicLevy[NEMMosaicLevy[\"MosaicLevy_Absolute\"] = 1] = \"MosaicLevy_Absolute\";\n NEMMosaicLevy[NEMMosaicLevy[\"MosaicLevy_Percentile\"] = 2] = \"MosaicLevy_Percentile\";\n})(NEMMosaicLevy || (exports.NEMMosaicLevy = NEMMosaicLevy = {}));\nvar NEMSupplyChangeType;\n(function (NEMSupplyChangeType) {\n NEMSupplyChangeType[NEMSupplyChangeType[\"SupplyChange_Increase\"] = 1] = \"SupplyChange_Increase\";\n NEMSupplyChangeType[NEMSupplyChangeType[\"SupplyChange_Decrease\"] = 2] = \"SupplyChange_Decrease\";\n})(NEMSupplyChangeType || (exports.NEMSupplyChangeType = NEMSupplyChangeType = {}));\nvar NEMModificationType;\n(function (NEMModificationType) {\n NEMModificationType[NEMModificationType[\"CosignatoryModification_Add\"] = 1] = \"CosignatoryModification_Add\";\n NEMModificationType[NEMModificationType[\"CosignatoryModification_Delete\"] = 2] = \"CosignatoryModification_Delete\";\n})(NEMModificationType || (exports.NEMModificationType = NEMModificationType = {}));\nvar NEMImportanceTransferMode;\n(function (NEMImportanceTransferMode) {\n NEMImportanceTransferMode[NEMImportanceTransferMode[\"ImportanceTransfer_Activate\"] = 1] = \"ImportanceTransfer_Activate\";\n NEMImportanceTransferMode[NEMImportanceTransferMode[\"ImportanceTransfer_Deactivate\"] = 2] = \"ImportanceTransfer_Deactivate\";\n})(NEMImportanceTransferMode || (exports.NEMImportanceTransferMode = NEMImportanceTransferMode = {}));\nvar StellarAssetType;\n(function (StellarAssetType) {\n StellarAssetType[StellarAssetType[\"NATIVE\"] = 0] = \"NATIVE\";\n StellarAssetType[StellarAssetType[\"ALPHANUM4\"] = 1] = \"ALPHANUM4\";\n StellarAssetType[StellarAssetType[\"ALPHANUM12\"] = 2] = \"ALPHANUM12\";\n})(StellarAssetType || (exports.StellarAssetType = StellarAssetType = {}));\nvar StellarMemoType;\n(function (StellarMemoType) {\n StellarMemoType[StellarMemoType[\"NONE\"] = 0] = \"NONE\";\n StellarMemoType[StellarMemoType[\"TEXT\"] = 1] = \"TEXT\";\n StellarMemoType[StellarMemoType[\"ID\"] = 2] = \"ID\";\n StellarMemoType[StellarMemoType[\"HASH\"] = 3] = \"HASH\";\n StellarMemoType[StellarMemoType[\"RETURN\"] = 4] = \"RETURN\";\n})(StellarMemoType || (exports.StellarMemoType = StellarMemoType = {}));\nvar StellarSignerType;\n(function (StellarSignerType) {\n StellarSignerType[StellarSignerType[\"ACCOUNT\"] = 0] = \"ACCOUNT\";\n StellarSignerType[StellarSignerType[\"PRE_AUTH\"] = 1] = \"PRE_AUTH\";\n StellarSignerType[StellarSignerType[\"HASH\"] = 2] = \"HASH\";\n})(StellarSignerType || (exports.StellarSignerType = StellarSignerType = {}));\nvar TezosContractType;\n(function (TezosContractType) {\n TezosContractType[TezosContractType[\"Implicit\"] = 0] = \"Implicit\";\n TezosContractType[TezosContractType[\"Originated\"] = 1] = \"Originated\";\n})(TezosContractType || (exports.TezosContractType = TezosContractType = {}));\nvar TezosBallotType;\n(function (TezosBallotType) {\n TezosBallotType[TezosBallotType[\"Yay\"] = 0] = \"Yay\";\n TezosBallotType[TezosBallotType[\"Nay\"] = 1] = \"Nay\";\n TezosBallotType[TezosBallotType[\"Pass\"] = 2] = \"Pass\";\n})(TezosBallotType || (exports.TezosBallotType = TezosBallotType = {}));\n//# sourceMappingURL=messages.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=types.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TxRequest = exports.TxRequestSerializedType = exports.TxRequestDetailsType = exports.RequestType = exports.EnumEnum_RequestType = exports.Enum_RequestType = exports.SignTx = exports.CoinJoinRequest = exports.VerifyMessage = exports.MessageSignature = exports.SignMessage = exports.OwnershipId = exports.GetOwnershipId = exports.Address = exports.GetAddress = exports.PublicKey = exports.GetPublicKey = exports.MultisigRedeemScriptType = exports.HDNodePathType = exports.HDNodeType = exports.EnumAmountUnit = exports.AmountUnit = exports.EnumDecredStakingSpendType = exports.DecredStakingSpendType = exports.OutputScriptType = exports.EnumEnum_OutputScriptType = exports.Enum_OutputScriptType = exports.InputScriptType = exports.EnumEnum_InputScriptType = exports.Enum_InputScriptType = exports.BinanceSignedTx = exports.BinanceCancelMsg = exports.BinanceOrderMsg = exports.EnumBinanceTimeInForce = exports.BinanceTimeInForce = exports.EnumBinanceOrderSide = exports.BinanceOrderSide = exports.EnumBinanceOrderType = exports.BinanceOrderType = exports.BinanceTransferMsg = exports.BinanceInputOutput = exports.BinanceCoin = exports.BinanceTxRequest = exports.BinanceSignTx = exports.BinancePublicKey = exports.BinanceGetPublicKey = exports.BinanceAddress = exports.BinanceGetAddress = exports.EnumDeviceModelInternal = exports.DeviceModelInternal = void 0;\nexports.CardanoTxAuxiliaryDataSupplementType = exports.EnumCardanoPoolRelayType = exports.CardanoPoolRelayType = exports.EnumCardanoCertificateType = exports.CardanoCertificateType = exports.EnumCardanoTxOutputSerializationFormat = exports.CardanoTxOutputSerializationFormat = exports.EnumCardanoNativeScriptHashDisplayFormat = exports.CardanoNativeScriptHashDisplayFormat = exports.EnumCardanoNativeScriptType = exports.CardanoNativeScriptType = exports.EnumCardanoAddressType = exports.CardanoAddressType = exports.EnumCardanoDerivationType = exports.CardanoDerivationType = exports.ProdTestT1 = exports.FirmwareUpload = exports.FirmwareRequest = exports.FirmwareErase = exports.AuthorizeCoinJoin = exports.OwnershipProof = exports.GetOwnershipProof = exports.TxAckPrevExtraData = exports.TxAckPrevExtraDataWrapper = exports.TxAckPrevOutput = exports.TxAckPrevOutputWrapper = exports.TxAckPrevInput = exports.TxAckPrevInputWrapper = exports.TxAckPrevMeta = exports.TxAckOutput = exports.TxAckOutputWrapper = exports.TxAckInput = exports.TxAckInputWrapper = exports.TxAck = exports.TxAckResponse = exports.TxAckPaymentRequest = exports.PaymentRequestMemo = exports.CoinPurchaseMemo = exports.RefundMemo = exports.TextMemo = exports.PrevOutput = exports.PrevInput = exports.PrevTx = exports.TxOutput = exports.TxOutputType = exports.ChangeOutputScriptType = exports.TxOutputBinType = exports.TxInput = exports.TxInputType = exports.InternalInputScriptType = void 0;\nexports.ButtonRequestType = exports.EnumEnum_ButtonRequestType = exports.Enum_ButtonRequestType = exports.Failure = exports.EnumFailureType = exports.FailureType = exports.Success = exports.CardanoSignTxFinished = exports.CardanoTxBodyHash = exports.CardanoTxHostAck = exports.CardanoTxWitnessResponse = exports.CardanoTxWitnessRequest = exports.CardanoTxAuxiliaryDataSupplement = exports.CardanoTxItemAck = exports.CardanoTxReferenceInput = exports.CardanoTxRequiredSigner = exports.CardanoTxCollateralInput = exports.CardanoTxMint = exports.CardanoTxAuxiliaryData = exports.CardanoCVoteRegistrationParametersType = exports.CardanoCVoteRegistrationDelegation = exports.CardanoTxWithdrawal = exports.CardanoTxCertificate = exports.CardanoPoolParametersType = exports.CardanoPoolMetadataType = exports.CardanoPoolRelayParameters = exports.CardanoPoolOwner = exports.CardanoTxReferenceScriptChunk = exports.CardanoTxInlineDatumChunk = exports.CardanoToken = exports.CardanoAssetGroup = exports.CardanoTxOutput = exports.CardanoTxInput = exports.CardanoSignTxInit = exports.CardanoPublicKey = exports.CardanoGetPublicKey = exports.CardanoAddress = exports.CardanoGetAddress = exports.CardanoAddressParametersType = exports.CardanoNativeScriptHash = exports.CardanoGetNativeScriptHash = exports.CardanoNativeScript = exports.CardanoBlockchainPointerType = exports.EnumCardanoTxWitnessType = exports.CardanoTxWitnessType = exports.EnumCardanoTxSigningMode = exports.CardanoTxSigningMode = exports.EnumCardanoCVoteRegistrationFormat = exports.CardanoCVoteRegistrationFormat = exports.EnumCardanoTxAuxiliaryDataSupplementType = void 0;\nexports.EosTxActionAck = exports.EosActionUnknown = exports.EosActionNewAccount = exports.EosActionUnlinkAuth = exports.EosActionLinkAuth = exports.EosActionDeleteAuth = exports.EosActionUpdateAuth = exports.EosActionVoteProducer = exports.EosActionSellRam = exports.EosActionBuyRamBytes = exports.EosActionBuyRam = exports.EosActionRefund = exports.EosActionUndelegate = exports.EosActionDelegate = exports.EosActionTransfer = exports.EosActionCommon = exports.EosAuthorization = exports.EosAuthorizationWait = exports.EosAuthorizationAccount = exports.EosAuthorizationKey = exports.EosPermissionLevel = exports.EosAsset = exports.EosTxActionRequest = exports.EosSignTx = exports.EosTxHeader = exports.EosPublicKey = exports.EosGetPublicKey = exports.DebugLinkResetDebugEvents = exports.EnumDebugPhysicalButton = exports.DebugPhysicalButton = exports.EnumDebugButton = exports.DebugButton = exports.ECDHSessionKey = exports.GetECDHSessionKey = exports.SignedIdentity = exports.SignIdentity = exports.IdentityType = exports.CipheredKeyValue = exports.CipherKeyValue = exports.Deprecated_PassphraseStateAck = exports.Deprecated_PassphraseStateRequest = exports.PassphraseAck = exports.PassphraseRequest = exports.PinMatrixAck = exports.PinMatrixRequest = exports.PinMatrixRequestType = exports.EnumEnum_PinMatrixRequestType = exports.Enum_PinMatrixRequestType = exports.ButtonAck = exports.ButtonRequest = void 0;\nexports.TranslationDataRequest = exports.ChangeLanguage = exports.ApplySettings = exports.EndSession = exports.SetBusy = exports.LockDevice = exports.Features = exports.Capability = exports.EnumEnum_Capability = exports.Enum_Capability = exports.GetFeatures = exports.Initialize = exports.HomescreenFormat = exports.EnumEnum_HomescreenFormat = exports.Enum_HomescreenFormat = exports.SafetyCheckLevel = exports.EnumEnum_SafetyCheckLevel = exports.Enum_SafetyCheckLevel = exports.BackupType = exports.EnumEnum_BackupType = exports.Enum_BackupType = exports.EthereumTypedDataSignature = exports.EthereumSignTypedHash = exports.EthereumVerifyMessage = exports.EthereumMessageSignature = exports.EthereumSignMessage = exports.EthereumTxAck = exports.EthereumTxRequest = exports.EthereumSignTxEIP1559 = exports.EthereumAccessList = exports.EthereumSignTx = exports.EthereumAddress = exports.EthereumGetAddress = exports.EthereumPublicKey = exports.EthereumGetPublicKey = exports.EthereumTypedDataValueAck = exports.EthereumTypedDataValueRequest = exports.EthereumTypedDataStructAck = exports.EthereumStructMember = exports.EthereumFieldType = exports.EnumEthereumDataType = exports.EthereumDataType = exports.EthereumTypedDataStructRequest = exports.EthereumSignTypedData = exports.EthereumDefinitions = exports.EthereumTokenInfo = exports.EthereumNetworkInfo = exports.EnumEthereumDefinitionType = exports.EthereumDefinitionType = exports.EosSignedTx = void 0;\nexports.NEMMosaic = exports.NEMTransactionCommon = exports.NEMAddress = exports.NEMGetAddress = exports.EnumMoneroNetworkType = exports.MoneroNetworkType = exports.UnlockBootloader = exports.ShowDeviceTutorial = exports.UnlockedPathRequest = exports.UnlockPath = exports.Nonce = exports.GetNonce = exports.RebootToBootloader = exports.EnumBootCommand = exports.BootCommand = exports.CancelAuthorization = exports.PreauthorizedRequest = exports.DoPreauthorized = exports.NextU2FCounter = exports.GetNextU2FCounter = exports.SetU2FCounter = exports.WordAck = exports.WordRequest = exports.WordRequestType = exports.EnumEnum_WordRequestType = exports.Enum_WordRequestType = exports.RecoveryDevice = exports.EnumRecoveryDeviceType = exports.RecoveryDeviceType = exports.EntropyAck = exports.EntropyRequest = exports.BackupDevice = exports.Slip39Group = exports.ResetDevice = exports.WipeDevice = exports.AuthenticityProof = exports.AuthenticateDevice = exports.FirmwareHash = exports.GetFirmwareHash = exports.Entropy = exports.GetEntropy = exports.Cancel = exports.Ping = exports.SdProtect = exports.EnumSdProtectOperationType = exports.SdProtectOperationType = exports.ChangeWipeCode = exports.ChangePin = exports.ApplyFlags = exports.TranslationDataAck = void 0;\nexports.StellarManageBuyOfferOp = exports.StellarManageSellOfferOp = exports.StellarPathPaymentStrictSendOp = exports.StellarPathPaymentStrictReceiveOp = exports.StellarCreateAccountOp = exports.StellarPaymentOp = exports.StellarTxOpRequest = exports.StellarSignTx = exports.EnumStellarMemoType = exports.StellarMemoType = exports.StellarAddress = exports.StellarGetAddress = exports.StellarAsset = exports.EnumStellarAssetType = exports.StellarAssetType = exports.SolanaTxSignature = exports.SolanaSignTx = exports.SolanaTxAdditionalInfo = exports.SolanaTxTokenAccountInfo = exports.SolanaAddress = exports.SolanaGetAddress = exports.SolanaPublicKey = exports.SolanaGetPublicKey = exports.RippleSignedTx = exports.RippleSignTx = exports.RipplePayment = exports.RippleAddress = exports.RippleGetAddress = exports.experimental_field = exports.experimental_message = exports.NEMDecryptedMessage = exports.NEMDecryptMessage = exports.NEMSignedTx = exports.NEMSignTx = exports.NEMImportanceTransfer = exports.EnumNEMImportanceTransferMode = exports.NEMImportanceTransferMode = exports.NEMAggregateModification = exports.NEMCosignatoryModification = exports.EnumNEMModificationType = exports.NEMModificationType = exports.NEMMosaicSupplyChange = exports.EnumNEMSupplyChangeType = exports.NEMSupplyChangeType = exports.NEMMosaicCreation = exports.NEMMosaicDefinition = exports.EnumNEMMosaicLevy = exports.NEMMosaicLevy = exports.NEMProvisionNamespace = exports.NEMTransfer = void 0;\nexports.MessageType = exports.TezosSignedTx = exports.TezosSignTx = exports.TezosBallotOp = exports.EnumTezosBallotType = exports.TezosBallotType = exports.TezosProposalOp = exports.TezosDelegationOp = exports.TezosOriginationOp = exports.TezosTransactionOp = exports.TezosParametersManager = exports.TezosManagerTransfer = exports.TezosRevealOp = exports.TezosContractID = exports.EnumTezosContractType = exports.TezosContractType = exports.TezosPublicKey = exports.TezosGetPublicKey = exports.TezosAddress = exports.TezosGetAddress = exports.StellarSignedTx = exports.StellarClaimClaimableBalanceOp = exports.StellarBumpSequenceOp = exports.StellarManageDataOp = exports.StellarAccountMergeOp = exports.StellarAllowTrustOp = exports.StellarChangeTrustOp = exports.StellarSetOptionsOp = exports.EnumStellarSignerType = exports.StellarSignerType = exports.StellarCreatePassiveSellOfferOp = void 0;\nconst schema_utils_1 = require(\"@trezor/schema-utils\");\nvar DeviceModelInternal;\n(function (DeviceModelInternal) {\n DeviceModelInternal[\"T1B1\"] = \"T1B1\";\n DeviceModelInternal[\"T2T1\"] = \"T2T1\";\n DeviceModelInternal[\"T2B1\"] = \"T2B1\";\n DeviceModelInternal[\"T3T1\"] = \"T3T1\";\n})(DeviceModelInternal || (exports.DeviceModelInternal = DeviceModelInternal = {}));\nexports.EnumDeviceModelInternal = schema_utils_1.Type.Enum(DeviceModelInternal);\nexports.BinanceGetAddress = schema_utils_1.Type.Object({\n address_n: schema_utils_1.Type.Array(schema_utils_1.Type.Number()),\n show_display: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n chunkify: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n}, { $id: 'BinanceGetAddress' });\nexports.BinanceAddress = schema_utils_1.Type.Object({\n address: schema_utils_1.Type.String(),\n}, { $id: 'BinanceAddress' });\nexports.BinanceGetPublicKey = schema_utils_1.Type.Object({\n address_n: schema_utils_1.Type.Array(schema_utils_1.Type.Number()),\n show_display: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n}, { $id: 'BinanceGetPublicKey' });\nexports.BinancePublicKey = schema_utils_1.Type.Object({\n public_key: schema_utils_1.Type.String(),\n}, { $id: 'BinancePublicKey' });\nexports.BinanceSignTx = schema_utils_1.Type.Object({\n address_n: schema_utils_1.Type.Array(schema_utils_1.Type.Number()),\n msg_count: schema_utils_1.Type.Number(),\n account_number: schema_utils_1.Type.Number(),\n chain_id: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n memo: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n sequence: schema_utils_1.Type.Number(),\n source: schema_utils_1.Type.Number(),\n chunkify: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n}, { $id: 'BinanceSignTx' });\nexports.BinanceTxRequest = schema_utils_1.Type.Object({}, { $id: 'BinanceTxRequest' });\nexports.BinanceCoin = schema_utils_1.Type.Object({\n amount: schema_utils_1.Type.Uint(),\n denom: schema_utils_1.Type.String(),\n}, { $id: 'BinanceCoin' });\nexports.BinanceInputOutput = schema_utils_1.Type.Object({\n address: schema_utils_1.Type.String(),\n coins: schema_utils_1.Type.Array(exports.BinanceCoin),\n}, { $id: 'BinanceInputOutput' });\nexports.BinanceTransferMsg = schema_utils_1.Type.Object({\n inputs: schema_utils_1.Type.Array(exports.BinanceInputOutput),\n outputs: schema_utils_1.Type.Array(exports.BinanceInputOutput),\n chunkify: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n}, { $id: 'BinanceTransferMsg' });\nvar BinanceOrderType;\n(function (BinanceOrderType) {\n BinanceOrderType[BinanceOrderType[\"OT_UNKNOWN\"] = 0] = \"OT_UNKNOWN\";\n BinanceOrderType[BinanceOrderType[\"MARKET\"] = 1] = \"MARKET\";\n BinanceOrderType[BinanceOrderType[\"LIMIT\"] = 2] = \"LIMIT\";\n BinanceOrderType[BinanceOrderType[\"OT_RESERVED\"] = 3] = \"OT_RESERVED\";\n})(BinanceOrderType || (exports.BinanceOrderType = BinanceOrderType = {}));\nexports.EnumBinanceOrderType = schema_utils_1.Type.Enum(BinanceOrderType);\nvar BinanceOrderSide;\n(function (BinanceOrderSide) {\n BinanceOrderSide[BinanceOrderSide[\"SIDE_UNKNOWN\"] = 0] = \"SIDE_UNKNOWN\";\n BinanceOrderSide[BinanceOrderSide[\"BUY\"] = 1] = \"BUY\";\n BinanceOrderSide[BinanceOrderSide[\"SELL\"] = 2] = \"SELL\";\n})(BinanceOrderSide || (exports.BinanceOrderSide = BinanceOrderSide = {}));\nexports.EnumBinanceOrderSide = schema_utils_1.Type.Enum(BinanceOrderSide);\nvar BinanceTimeInForce;\n(function (BinanceTimeInForce) {\n BinanceTimeInForce[BinanceTimeInForce[\"TIF_UNKNOWN\"] = 0] = \"TIF_UNKNOWN\";\n BinanceTimeInForce[BinanceTimeInForce[\"GTE\"] = 1] = \"GTE\";\n BinanceTimeInForce[BinanceTimeInForce[\"TIF_RESERVED\"] = 2] = \"TIF_RESERVED\";\n BinanceTimeInForce[BinanceTimeInForce[\"IOC\"] = 3] = \"IOC\";\n})(BinanceTimeInForce || (exports.BinanceTimeInForce = BinanceTimeInForce = {}));\nexports.EnumBinanceTimeInForce = schema_utils_1.Type.Enum(BinanceTimeInForce);\nexports.BinanceOrderMsg = schema_utils_1.Type.Object({\n id: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n ordertype: exports.EnumBinanceOrderType,\n price: schema_utils_1.Type.Number(),\n quantity: schema_utils_1.Type.Number(),\n sender: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n side: exports.EnumBinanceOrderSide,\n symbol: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n timeinforce: exports.EnumBinanceTimeInForce,\n}, { $id: 'BinanceOrderMsg' });\nexports.BinanceCancelMsg = schema_utils_1.Type.Object({\n refid: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n sender: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n symbol: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n}, { $id: 'BinanceCancelMsg' });\nexports.BinanceSignedTx = schema_utils_1.Type.Object({\n signature: schema_utils_1.Type.String(),\n public_key: schema_utils_1.Type.String(),\n}, { $id: 'BinanceSignedTx' });\nvar Enum_InputScriptType;\n(function (Enum_InputScriptType) {\n Enum_InputScriptType[Enum_InputScriptType[\"SPENDADDRESS\"] = 0] = \"SPENDADDRESS\";\n Enum_InputScriptType[Enum_InputScriptType[\"SPENDMULTISIG\"] = 1] = \"SPENDMULTISIG\";\n Enum_InputScriptType[Enum_InputScriptType[\"EXTERNAL\"] = 2] = \"EXTERNAL\";\n Enum_InputScriptType[Enum_InputScriptType[\"SPENDWITNESS\"] = 3] = \"SPENDWITNESS\";\n Enum_InputScriptType[Enum_InputScriptType[\"SPENDP2SHWITNESS\"] = 4] = \"SPENDP2SHWITNESS\";\n Enum_InputScriptType[Enum_InputScriptType[\"SPENDTAPROOT\"] = 5] = \"SPENDTAPROOT\";\n})(Enum_InputScriptType || (exports.Enum_InputScriptType = Enum_InputScriptType = {}));\nexports.EnumEnum_InputScriptType = schema_utils_1.Type.Enum(Enum_InputScriptType);\nexports.InputScriptType = schema_utils_1.Type.KeyOfEnum(Enum_InputScriptType, { $id: 'InputScriptType' });\nvar Enum_OutputScriptType;\n(function (Enum_OutputScriptType) {\n Enum_OutputScriptType[Enum_OutputScriptType[\"PAYTOADDRESS\"] = 0] = \"PAYTOADDRESS\";\n Enum_OutputScriptType[Enum_OutputScriptType[\"PAYTOSCRIPTHASH\"] = 1] = \"PAYTOSCRIPTHASH\";\n Enum_OutputScriptType[Enum_OutputScriptType[\"PAYTOMULTISIG\"] = 2] = \"PAYTOMULTISIG\";\n Enum_OutputScriptType[Enum_OutputScriptType[\"PAYTOOPRETURN\"] = 3] = \"PAYTOOPRETURN\";\n Enum_OutputScriptType[Enum_OutputScriptType[\"PAYTOWITNESS\"] = 4] = \"PAYTOWITNESS\";\n Enum_OutputScriptType[Enum_OutputScriptType[\"PAYTOP2SHWITNESS\"] = 5] = \"PAYTOP2SHWITNESS\";\n Enum_OutputScriptType[Enum_OutputScriptType[\"PAYTOTAPROOT\"] = 6] = \"PAYTOTAPROOT\";\n})(Enum_OutputScriptType || (exports.Enum_OutputScriptType = Enum_OutputScriptType = {}));\nexports.EnumEnum_OutputScriptType = schema_utils_1.Type.Enum(Enum_OutputScriptType);\nexports.OutputScriptType = schema_utils_1.Type.KeyOfEnum(Enum_OutputScriptType, { $id: 'OutputScriptType' });\nvar DecredStakingSpendType;\n(function (DecredStakingSpendType) {\n DecredStakingSpendType[DecredStakingSpendType[\"SSGen\"] = 0] = \"SSGen\";\n DecredStakingSpendType[DecredStakingSpendType[\"SSRTX\"] = 1] = \"SSRTX\";\n})(DecredStakingSpendType || (exports.DecredStakingSpendType = DecredStakingSpendType = {}));\nexports.EnumDecredStakingSpendType = schema_utils_1.Type.Enum(DecredStakingSpendType);\nvar AmountUnit;\n(function (AmountUnit) {\n AmountUnit[AmountUnit[\"BITCOIN\"] = 0] = \"BITCOIN\";\n AmountUnit[AmountUnit[\"MILLIBITCOIN\"] = 1] = \"MILLIBITCOIN\";\n AmountUnit[AmountUnit[\"MICROBITCOIN\"] = 2] = \"MICROBITCOIN\";\n AmountUnit[AmountUnit[\"SATOSHI\"] = 3] = \"SATOSHI\";\n})(AmountUnit || (exports.AmountUnit = AmountUnit = {}));\nexports.EnumAmountUnit = schema_utils_1.Type.Enum(AmountUnit);\nexports.HDNodeType = schema_utils_1.Type.Object({\n depth: schema_utils_1.Type.Number(),\n fingerprint: schema_utils_1.Type.Number(),\n child_num: schema_utils_1.Type.Number(),\n chain_code: schema_utils_1.Type.String(),\n private_key: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n public_key: schema_utils_1.Type.String(),\n}, { $id: 'HDNodeType' });\nexports.HDNodePathType = schema_utils_1.Type.Object({\n node: schema_utils_1.Type.Union([exports.HDNodeType, schema_utils_1.Type.String()]),\n address_n: schema_utils_1.Type.Array(schema_utils_1.Type.Number()),\n}, { $id: 'HDNodePathType' });\nexports.MultisigRedeemScriptType = schema_utils_1.Type.Object({\n pubkeys: schema_utils_1.Type.Array(exports.HDNodePathType),\n signatures: schema_utils_1.Type.Array(schema_utils_1.Type.String()),\n m: schema_utils_1.Type.Number(),\n nodes: schema_utils_1.Type.Optional(schema_utils_1.Type.Array(exports.HDNodeType)),\n address_n: schema_utils_1.Type.Optional(schema_utils_1.Type.Array(schema_utils_1.Type.Number())),\n}, { $id: 'MultisigRedeemScriptType' });\nexports.GetPublicKey = schema_utils_1.Type.Object({\n address_n: schema_utils_1.Type.Array(schema_utils_1.Type.Number()),\n ecdsa_curve_name: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n show_display: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n coin_name: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n script_type: schema_utils_1.Type.Optional(exports.InputScriptType),\n ignore_xpub_magic: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n}, { $id: 'GetPublicKey' });\nexports.PublicKey = schema_utils_1.Type.Object({\n node: exports.HDNodeType,\n xpub: schema_utils_1.Type.String(),\n root_fingerprint: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n descriptor: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n}, { $id: 'PublicKey' });\nexports.GetAddress = schema_utils_1.Type.Object({\n address_n: schema_utils_1.Type.Array(schema_utils_1.Type.Number()),\n coin_name: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n show_display: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n multisig: schema_utils_1.Type.Optional(exports.MultisigRedeemScriptType),\n script_type: schema_utils_1.Type.Optional(exports.InputScriptType),\n ignore_xpub_magic: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n chunkify: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n}, { $id: 'GetAddress' });\nexports.Address = schema_utils_1.Type.Object({\n address: schema_utils_1.Type.String(),\n mac: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n}, { $id: 'Address' });\nexports.GetOwnershipId = schema_utils_1.Type.Object({\n address_n: schema_utils_1.Type.Array(schema_utils_1.Type.Number()),\n coin_name: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n multisig: schema_utils_1.Type.Optional(exports.MultisigRedeemScriptType),\n script_type: schema_utils_1.Type.Optional(exports.InputScriptType),\n}, { $id: 'GetOwnershipId' });\nexports.OwnershipId = schema_utils_1.Type.Object({\n ownership_id: schema_utils_1.Type.String(),\n}, { $id: 'OwnershipId' });\nexports.SignMessage = schema_utils_1.Type.Object({\n address_n: schema_utils_1.Type.Array(schema_utils_1.Type.Number()),\n message: schema_utils_1.Type.String(),\n coin_name: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n script_type: schema_utils_1.Type.Optional(exports.InputScriptType),\n no_script_type: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n chunkify: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n}, { $id: 'SignMessage' });\nexports.MessageSignature = schema_utils_1.Type.Object({\n address: schema_utils_1.Type.String(),\n signature: schema_utils_1.Type.String(),\n}, { $id: 'MessageSignature' });\nexports.VerifyMessage = schema_utils_1.Type.Object({\n address: schema_utils_1.Type.String(),\n signature: schema_utils_1.Type.String(),\n message: schema_utils_1.Type.String(),\n coin_name: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n chunkify: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n}, { $id: 'VerifyMessage' });\nexports.CoinJoinRequest = schema_utils_1.Type.Object({\n fee_rate: schema_utils_1.Type.Number(),\n no_fee_threshold: schema_utils_1.Type.Number(),\n min_registrable_amount: schema_utils_1.Type.Number(),\n mask_public_key: schema_utils_1.Type.String(),\n signature: schema_utils_1.Type.String(),\n}, { $id: 'CoinJoinRequest' });\nexports.SignTx = schema_utils_1.Type.Object({\n outputs_count: schema_utils_1.Type.Number(),\n inputs_count: schema_utils_1.Type.Number(),\n coin_name: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n version: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n lock_time: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n expiry: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n overwintered: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n version_group_id: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n timestamp: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n branch_id: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n amount_unit: schema_utils_1.Type.Optional(exports.EnumAmountUnit),\n decred_staking_ticket: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n serialize: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n coinjoin_request: schema_utils_1.Type.Optional(exports.CoinJoinRequest),\n chunkify: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n}, { $id: 'SignTx' });\nvar Enum_RequestType;\n(function (Enum_RequestType) {\n Enum_RequestType[Enum_RequestType[\"TXINPUT\"] = 0] = \"TXINPUT\";\n Enum_RequestType[Enum_RequestType[\"TXOUTPUT\"] = 1] = \"TXOUTPUT\";\n Enum_RequestType[Enum_RequestType[\"TXMETA\"] = 2] = \"TXMETA\";\n Enum_RequestType[Enum_RequestType[\"TXFINISHED\"] = 3] = \"TXFINISHED\";\n Enum_RequestType[Enum_RequestType[\"TXEXTRADATA\"] = 4] = \"TXEXTRADATA\";\n Enum_RequestType[Enum_RequestType[\"TXORIGINPUT\"] = 5] = \"TXORIGINPUT\";\n Enum_RequestType[Enum_RequestType[\"TXORIGOUTPUT\"] = 6] = \"TXORIGOUTPUT\";\n Enum_RequestType[Enum_RequestType[\"TXPAYMENTREQ\"] = 7] = \"TXPAYMENTREQ\";\n})(Enum_RequestType || (exports.Enum_RequestType = Enum_RequestType = {}));\nexports.EnumEnum_RequestType = schema_utils_1.Type.Enum(Enum_RequestType);\nexports.RequestType = schema_utils_1.Type.KeyOfEnum(Enum_RequestType, { $id: 'RequestType' });\nexports.TxRequestDetailsType = schema_utils_1.Type.Object({\n request_index: schema_utils_1.Type.Number(),\n tx_hash: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n extra_data_len: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n extra_data_offset: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n}, { $id: 'TxRequestDetailsType' });\nexports.TxRequestSerializedType = schema_utils_1.Type.Object({\n signature_index: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n signature: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n serialized_tx: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n}, { $id: 'TxRequestSerializedType' });\nexports.TxRequest = schema_utils_1.Type.Object({\n request_type: exports.RequestType,\n details: exports.TxRequestDetailsType,\n serialized: schema_utils_1.Type.Optional(exports.TxRequestSerializedType),\n}, { $id: 'TxRequest' });\nexports.InternalInputScriptType = schema_utils_1.Type.Exclude(exports.InputScriptType, schema_utils_1.Type.Literal('EXTERNAL'), {\n $id: 'InternalInputScriptType',\n});\nconst CommonTxInputType = schema_utils_1.Type.Object({\n prev_hash: schema_utils_1.Type.String(),\n prev_index: schema_utils_1.Type.Number(),\n amount: schema_utils_1.Type.Uint(),\n sequence: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n multisig: schema_utils_1.Type.Optional(exports.MultisigRedeemScriptType),\n decred_tree: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n orig_hash: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n orig_index: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n decred_staking_spend: schema_utils_1.Type.Optional(exports.EnumDecredStakingSpendType),\n script_pubkey: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n coinjoin_flags: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n script_sig: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n witness: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n ownership_proof: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n commitment_data: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n}, { $id: 'CommonTxInputType' });\nexports.TxInputType = schema_utils_1.Type.Union([\n schema_utils_1.Type.Intersect([\n CommonTxInputType,\n schema_utils_1.Type.Object({\n address_n: schema_utils_1.Type.Array(schema_utils_1.Type.Number()),\n script_type: schema_utils_1.Type.Optional(exports.InternalInputScriptType),\n }),\n ]),\n schema_utils_1.Type.Intersect([\n CommonTxInputType,\n schema_utils_1.Type.Object({\n address_n: schema_utils_1.Type.Optional(schema_utils_1.Type.Undefined()),\n script_type: schema_utils_1.Type.Literal('EXTERNAL'),\n script_pubkey: schema_utils_1.Type.String(),\n }),\n ]),\n], { $id: 'TxInputType' });\nexports.TxInput = schema_utils_1.TypeClone.Type(exports.TxInputType, { $id: 'TxInput' });\nexports.TxOutputBinType = schema_utils_1.Type.Object({\n amount: schema_utils_1.Type.Uint(),\n script_pubkey: schema_utils_1.Type.String(),\n decred_script_version: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n}, { $id: 'TxOutputBinType' });\nexports.ChangeOutputScriptType = schema_utils_1.Type.Exclude(exports.OutputScriptType, schema_utils_1.Type.Literal('PAYTOOPRETURN'), { $id: 'ChangeOutputScriptType' });\nexports.TxOutputType = schema_utils_1.Type.Union([\n schema_utils_1.Type.Object({\n address: schema_utils_1.Type.String(),\n address_n: schema_utils_1.Type.Optional(schema_utils_1.Type.Undefined()),\n script_type: schema_utils_1.Type.Literal('PAYTOADDRESS'),\n amount: schema_utils_1.Type.Uint(),\n multisig: schema_utils_1.Type.Optional(exports.MultisigRedeemScriptType),\n orig_hash: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n orig_index: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n payment_req_index: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n }),\n schema_utils_1.Type.Object({\n address: schema_utils_1.Type.Optional(schema_utils_1.Type.Undefined()),\n address_n: schema_utils_1.Type.Array(schema_utils_1.Type.Number()),\n script_type: schema_utils_1.Type.Optional(exports.ChangeOutputScriptType),\n amount: schema_utils_1.Type.Uint(),\n multisig: schema_utils_1.Type.Optional(exports.MultisigRedeemScriptType),\n orig_hash: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n orig_index: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n payment_req_index: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n }),\n schema_utils_1.Type.Object({\n address: schema_utils_1.Type.String(),\n address_n: schema_utils_1.Type.Optional(schema_utils_1.Type.Undefined()),\n script_type: schema_utils_1.Type.Optional(exports.ChangeOutputScriptType),\n amount: schema_utils_1.Type.Uint(),\n multisig: schema_utils_1.Type.Optional(exports.MultisigRedeemScriptType),\n orig_hash: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n orig_index: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n payment_req_index: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n }),\n schema_utils_1.Type.Object({\n address: schema_utils_1.Type.Optional(schema_utils_1.Type.Undefined()),\n address_n: schema_utils_1.Type.Optional(schema_utils_1.Type.Undefined()),\n amount: schema_utils_1.Type.Union([schema_utils_1.Type.Literal('0'), schema_utils_1.Type.Literal(0)]),\n op_return_data: schema_utils_1.Type.String(),\n script_type: schema_utils_1.Type.Literal('PAYTOOPRETURN'),\n orig_hash: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n orig_index: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n payment_req_index: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n }),\n], { $id: 'TxOutputType' });\nexports.TxOutput = schema_utils_1.TypeClone.Type(exports.TxOutputType, { $id: 'TxOutput' });\nexports.PrevTx = schema_utils_1.Type.Object({\n version: schema_utils_1.Type.Number(),\n lock_time: schema_utils_1.Type.Number(),\n inputs_count: schema_utils_1.Type.Number(),\n outputs_count: schema_utils_1.Type.Number(),\n extra_data_len: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n expiry: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n version_group_id: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n timestamp: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n branch_id: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n}, { $id: 'PrevTx' });\nexports.PrevInput = schema_utils_1.Type.Object({\n prev_hash: schema_utils_1.Type.String(),\n prev_index: schema_utils_1.Type.Number(),\n script_sig: schema_utils_1.Type.String(),\n sequence: schema_utils_1.Type.Number(),\n decred_tree: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n}, { $id: 'PrevInput' });\nexports.PrevOutput = schema_utils_1.Type.Object({\n amount: schema_utils_1.Type.Uint(),\n script_pubkey: schema_utils_1.Type.String(),\n decred_script_version: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n}, { $id: 'PrevOutput' });\nexports.TextMemo = schema_utils_1.Type.Object({\n text: schema_utils_1.Type.String(),\n}, { $id: 'TextMemo' });\nexports.RefundMemo = schema_utils_1.Type.Object({\n address: schema_utils_1.Type.String(),\n mac: schema_utils_1.Type.String(),\n}, { $id: 'RefundMemo' });\nexports.CoinPurchaseMemo = schema_utils_1.Type.Object({\n coin_type: schema_utils_1.Type.Number(),\n amount: schema_utils_1.Type.Uint(),\n address: schema_utils_1.Type.String(),\n mac: schema_utils_1.Type.String(),\n}, { $id: 'CoinPurchaseMemo' });\nexports.PaymentRequestMemo = schema_utils_1.Type.Object({\n text_memo: schema_utils_1.Type.Optional(exports.TextMemo),\n refund_memo: schema_utils_1.Type.Optional(exports.RefundMemo),\n coin_purchase_memo: schema_utils_1.Type.Optional(exports.CoinPurchaseMemo),\n}, { $id: 'PaymentRequestMemo' });\nexports.TxAckPaymentRequest = schema_utils_1.Type.Object({\n nonce: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n recipient_name: schema_utils_1.Type.String(),\n memos: schema_utils_1.Type.Optional(schema_utils_1.Type.Array(exports.PaymentRequestMemo)),\n amount: schema_utils_1.Type.Optional(schema_utils_1.Type.Uint()),\n signature: schema_utils_1.Type.String(),\n}, { $id: 'TxAckPaymentRequest' });\nexports.TxAckResponse = schema_utils_1.Type.Union([\n schema_utils_1.Type.Object({\n inputs: schema_utils_1.Type.Array(schema_utils_1.Type.Union([exports.TxInputType, exports.PrevInput])),\n }),\n schema_utils_1.Type.Object({\n bin_outputs: schema_utils_1.Type.Array(exports.TxOutputBinType),\n }),\n schema_utils_1.Type.Object({\n outputs: schema_utils_1.Type.Array(exports.TxOutputType),\n }),\n schema_utils_1.Type.Object({\n extra_data: schema_utils_1.Type.String(),\n }),\n schema_utils_1.Type.Object({\n version: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n lock_time: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n inputs_cnt: schema_utils_1.Type.Number(),\n outputs_cnt: schema_utils_1.Type.Number(),\n extra_data: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n extra_data_len: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n timestamp: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n version_group_id: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n expiry: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n branch_id: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n }),\n], { $id: 'TxAckResponse' });\nexports.TxAck = schema_utils_1.Type.Object({\n tx: exports.TxAckResponse,\n}, { $id: 'TxAck' });\nexports.TxAckInputWrapper = schema_utils_1.Type.Object({\n input: exports.TxInput,\n}, { $id: 'TxAckInputWrapper' });\nexports.TxAckInput = schema_utils_1.Type.Object({\n tx: exports.TxAckInputWrapper,\n}, { $id: 'TxAckInput' });\nexports.TxAckOutputWrapper = schema_utils_1.Type.Object({\n output: exports.TxOutput,\n}, { $id: 'TxAckOutputWrapper' });\nexports.TxAckOutput = schema_utils_1.Type.Object({\n tx: exports.TxAckOutputWrapper,\n}, { $id: 'TxAckOutput' });\nexports.TxAckPrevMeta = schema_utils_1.Type.Object({\n tx: exports.PrevTx,\n}, { $id: 'TxAckPrevMeta' });\nexports.TxAckPrevInputWrapper = schema_utils_1.Type.Object({\n input: exports.PrevInput,\n}, { $id: 'TxAckPrevInputWrapper' });\nexports.TxAckPrevInput = schema_utils_1.Type.Object({\n tx: exports.TxAckPrevInputWrapper,\n}, { $id: 'TxAckPrevInput' });\nexports.TxAckPrevOutputWrapper = schema_utils_1.Type.Object({\n output: exports.PrevOutput,\n}, { $id: 'TxAckPrevOutputWrapper' });\nexports.TxAckPrevOutput = schema_utils_1.Type.Object({\n tx: exports.TxAckPrevOutputWrapper,\n}, { $id: 'TxAckPrevOutput' });\nexports.TxAckPrevExtraDataWrapper = schema_utils_1.Type.Object({\n extra_data_chunk: schema_utils_1.Type.String(),\n}, { $id: 'TxAckPrevExtraDataWrapper' });\nexports.TxAckPrevExtraData = schema_utils_1.Type.Object({\n tx: exports.TxAckPrevExtraDataWrapper,\n}, { $id: 'TxAckPrevExtraData' });\nexports.GetOwnershipProof = schema_utils_1.Type.Object({\n address_n: schema_utils_1.Type.Array(schema_utils_1.Type.Number()),\n coin_name: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n script_type: schema_utils_1.Type.Optional(exports.InputScriptType),\n multisig: schema_utils_1.Type.Optional(exports.MultisigRedeemScriptType),\n user_confirmation: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n ownership_ids: schema_utils_1.Type.Optional(schema_utils_1.Type.Array(schema_utils_1.Type.String())),\n commitment_data: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n}, { $id: 'GetOwnershipProof' });\nexports.OwnershipProof = schema_utils_1.Type.Object({\n ownership_proof: schema_utils_1.Type.String(),\n signature: schema_utils_1.Type.String(),\n}, { $id: 'OwnershipProof' });\nexports.AuthorizeCoinJoin = schema_utils_1.Type.Object({\n coordinator: schema_utils_1.Type.String(),\n max_rounds: schema_utils_1.Type.Number(),\n max_coordinator_fee_rate: schema_utils_1.Type.Number(),\n max_fee_per_kvbyte: schema_utils_1.Type.Number(),\n address_n: schema_utils_1.Type.Array(schema_utils_1.Type.Number()),\n coin_name: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n script_type: schema_utils_1.Type.Optional(exports.InputScriptType),\n amount_unit: schema_utils_1.Type.Optional(exports.EnumAmountUnit),\n}, { $id: 'AuthorizeCoinJoin' });\nexports.FirmwareErase = schema_utils_1.Type.Object({\n length: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n}, { $id: 'FirmwareErase' });\nexports.FirmwareRequest = schema_utils_1.Type.Object({\n offset: schema_utils_1.Type.Number(),\n length: schema_utils_1.Type.Number(),\n}, { $id: 'FirmwareRequest' });\nexports.FirmwareUpload = schema_utils_1.Type.Object({\n payload: schema_utils_1.Type.Union([schema_utils_1.Type.Buffer(), schema_utils_1.Type.ArrayBuffer()]),\n hash: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n}, { $id: 'FirmwareUpload' });\nexports.ProdTestT1 = schema_utils_1.Type.Object({\n payload: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n}, { $id: 'ProdTestT1' });\nvar CardanoDerivationType;\n(function (CardanoDerivationType) {\n CardanoDerivationType[CardanoDerivationType[\"LEDGER\"] = 0] = \"LEDGER\";\n CardanoDerivationType[CardanoDerivationType[\"ICARUS\"] = 1] = \"ICARUS\";\n CardanoDerivationType[CardanoDerivationType[\"ICARUS_TREZOR\"] = 2] = \"ICARUS_TREZOR\";\n})(CardanoDerivationType || (exports.CardanoDerivationType = CardanoDerivationType = {}));\nexports.EnumCardanoDerivationType = schema_utils_1.Type.Enum(CardanoDerivationType);\nvar CardanoAddressType;\n(function (CardanoAddressType) {\n CardanoAddressType[CardanoAddressType[\"BASE\"] = 0] = \"BASE\";\n CardanoAddressType[CardanoAddressType[\"BASE_SCRIPT_KEY\"] = 1] = \"BASE_SCRIPT_KEY\";\n CardanoAddressType[CardanoAddressType[\"BASE_KEY_SCRIPT\"] = 2] = \"BASE_KEY_SCRIPT\";\n CardanoAddressType[CardanoAddressType[\"BASE_SCRIPT_SCRIPT\"] = 3] = \"BASE_SCRIPT_SCRIPT\";\n CardanoAddressType[CardanoAddressType[\"POINTER\"] = 4] = \"POINTER\";\n CardanoAddressType[CardanoAddressType[\"POINTER_SCRIPT\"] = 5] = \"POINTER_SCRIPT\";\n CardanoAddressType[CardanoAddressType[\"ENTERPRISE\"] = 6] = \"ENTERPRISE\";\n CardanoAddressType[CardanoAddressType[\"ENTERPRISE_SCRIPT\"] = 7] = \"ENTERPRISE_SCRIPT\";\n CardanoAddressType[CardanoAddressType[\"BYRON\"] = 8] = \"BYRON\";\n CardanoAddressType[CardanoAddressType[\"REWARD\"] = 14] = \"REWARD\";\n CardanoAddressType[CardanoAddressType[\"REWARD_SCRIPT\"] = 15] = \"REWARD_SCRIPT\";\n})(CardanoAddressType || (exports.CardanoAddressType = CardanoAddressType = {}));\nexports.EnumCardanoAddressType = schema_utils_1.Type.Enum(CardanoAddressType);\nvar CardanoNativeScriptType;\n(function (CardanoNativeScriptType) {\n CardanoNativeScriptType[CardanoNativeScriptType[\"PUB_KEY\"] = 0] = \"PUB_KEY\";\n CardanoNativeScriptType[CardanoNativeScriptType[\"ALL\"] = 1] = \"ALL\";\n CardanoNativeScriptType[CardanoNativeScriptType[\"ANY\"] = 2] = \"ANY\";\n CardanoNativeScriptType[CardanoNativeScriptType[\"N_OF_K\"] = 3] = \"N_OF_K\";\n CardanoNativeScriptType[CardanoNativeScriptType[\"INVALID_BEFORE\"] = 4] = \"INVALID_BEFORE\";\n CardanoNativeScriptType[CardanoNativeScriptType[\"INVALID_HEREAFTER\"] = 5] = \"INVALID_HEREAFTER\";\n})(CardanoNativeScriptType || (exports.CardanoNativeScriptType = CardanoNativeScriptType = {}));\nexports.EnumCardanoNativeScriptType = schema_utils_1.Type.Enum(CardanoNativeScriptType);\nvar CardanoNativeScriptHashDisplayFormat;\n(function (CardanoNativeScriptHashDisplayFormat) {\n CardanoNativeScriptHashDisplayFormat[CardanoNativeScriptHashDisplayFormat[\"HIDE\"] = 0] = \"HIDE\";\n CardanoNativeScriptHashDisplayFormat[CardanoNativeScriptHashDisplayFormat[\"BECH32\"] = 1] = \"BECH32\";\n CardanoNativeScriptHashDisplayFormat[CardanoNativeScriptHashDisplayFormat[\"POLICY_ID\"] = 2] = \"POLICY_ID\";\n})(CardanoNativeScriptHashDisplayFormat || (exports.CardanoNativeScriptHashDisplayFormat = CardanoNativeScriptHashDisplayFormat = {}));\nexports.EnumCardanoNativeScriptHashDisplayFormat = schema_utils_1.Type.Enum(CardanoNativeScriptHashDisplayFormat);\nvar CardanoTxOutputSerializationFormat;\n(function (CardanoTxOutputSerializationFormat) {\n CardanoTxOutputSerializationFormat[CardanoTxOutputSerializationFormat[\"ARRAY_LEGACY\"] = 0] = \"ARRAY_LEGACY\";\n CardanoTxOutputSerializationFormat[CardanoTxOutputSerializationFormat[\"MAP_BABBAGE\"] = 1] = \"MAP_BABBAGE\";\n})(CardanoTxOutputSerializationFormat || (exports.CardanoTxOutputSerializationFormat = CardanoTxOutputSerializationFormat = {}));\nexports.EnumCardanoTxOutputSerializationFormat = schema_utils_1.Type.Enum(CardanoTxOutputSerializationFormat);\nvar CardanoCertificateType;\n(function (CardanoCertificateType) {\n CardanoCertificateType[CardanoCertificateType[\"STAKE_REGISTRATION\"] = 0] = \"STAKE_REGISTRATION\";\n CardanoCertificateType[CardanoCertificateType[\"STAKE_DEREGISTRATION\"] = 1] = \"STAKE_DEREGISTRATION\";\n CardanoCertificateType[CardanoCertificateType[\"STAKE_DELEGATION\"] = 2] = \"STAKE_DELEGATION\";\n CardanoCertificateType[CardanoCertificateType[\"STAKE_POOL_REGISTRATION\"] = 3] = \"STAKE_POOL_REGISTRATION\";\n})(CardanoCertificateType || (exports.CardanoCertificateType = CardanoCertificateType = {}));\nexports.EnumCardanoCertificateType = schema_utils_1.Type.Enum(CardanoCertificateType);\nvar CardanoPoolRelayType;\n(function (CardanoPoolRelayType) {\n CardanoPoolRelayType[CardanoPoolRelayType[\"SINGLE_HOST_IP\"] = 0] = \"SINGLE_HOST_IP\";\n CardanoPoolRelayType[CardanoPoolRelayType[\"SINGLE_HOST_NAME\"] = 1] = \"SINGLE_HOST_NAME\";\n CardanoPoolRelayType[CardanoPoolRelayType[\"MULTIPLE_HOST_NAME\"] = 2] = \"MULTIPLE_HOST_NAME\";\n})(CardanoPoolRelayType || (exports.CardanoPoolRelayType = CardanoPoolRelayType = {}));\nexports.EnumCardanoPoolRelayType = schema_utils_1.Type.Enum(CardanoPoolRelayType);\nvar CardanoTxAuxiliaryDataSupplementType;\n(function (CardanoTxAuxiliaryDataSupplementType) {\n CardanoTxAuxiliaryDataSupplementType[CardanoTxAuxiliaryDataSupplementType[\"NONE\"] = 0] = \"NONE\";\n CardanoTxAuxiliaryDataSupplementType[CardanoTxAuxiliaryDataSupplementType[\"CVOTE_REGISTRATION_SIGNATURE\"] = 1] = \"CVOTE_REGISTRATION_SIGNATURE\";\n})(CardanoTxAuxiliaryDataSupplementType || (exports.CardanoTxAuxiliaryDataSupplementType = CardanoTxAuxiliaryDataSupplementType = {}));\nexports.EnumCardanoTxAuxiliaryDataSupplementType = schema_utils_1.Type.Enum(CardanoTxAuxiliaryDataSupplementType);\nvar CardanoCVoteRegistrationFormat;\n(function (CardanoCVoteRegistrationFormat) {\n CardanoCVoteRegistrationFormat[CardanoCVoteRegistrationFormat[\"CIP15\"] = 0] = \"CIP15\";\n CardanoCVoteRegistrationFormat[CardanoCVoteRegistrationFormat[\"CIP36\"] = 1] = \"CIP36\";\n})(CardanoCVoteRegistrationFormat || (exports.CardanoCVoteRegistrationFormat = CardanoCVoteRegistrationFormat = {}));\nexports.EnumCardanoCVoteRegistrationFormat = schema_utils_1.Type.Enum(CardanoCVoteRegistrationFormat);\nvar CardanoTxSigningMode;\n(function (CardanoTxSigningMode) {\n CardanoTxSigningMode[CardanoTxSigningMode[\"ORDINARY_TRANSACTION\"] = 0] = \"ORDINARY_TRANSACTION\";\n CardanoTxSigningMode[CardanoTxSigningMode[\"POOL_REGISTRATION_AS_OWNER\"] = 1] = \"POOL_REGISTRATION_AS_OWNER\";\n CardanoTxSigningMode[CardanoTxSigningMode[\"MULTISIG_TRANSACTION\"] = 2] = \"MULTISIG_TRANSACTION\";\n CardanoTxSigningMode[CardanoTxSigningMode[\"PLUTUS_TRANSACTION\"] = 3] = \"PLUTUS_TRANSACTION\";\n})(CardanoTxSigningMode || (exports.CardanoTxSigningMode = CardanoTxSigningMode = {}));\nexports.EnumCardanoTxSigningMode = schema_utils_1.Type.Enum(CardanoTxSigningMode);\nvar CardanoTxWitnessType;\n(function (CardanoTxWitnessType) {\n CardanoTxWitnessType[CardanoTxWitnessType[\"BYRON_WITNESS\"] = 0] = \"BYRON_WITNESS\";\n CardanoTxWitnessType[CardanoTxWitnessType[\"SHELLEY_WITNESS\"] = 1] = \"SHELLEY_WITNESS\";\n})(CardanoTxWitnessType || (exports.CardanoTxWitnessType = CardanoTxWitnessType = {}));\nexports.EnumCardanoTxWitnessType = schema_utils_1.Type.Enum(CardanoTxWitnessType);\nexports.CardanoBlockchainPointerType = schema_utils_1.Type.Object({\n block_index: schema_utils_1.Type.Number(),\n tx_index: schema_utils_1.Type.Number(),\n certificate_index: schema_utils_1.Type.Number(),\n}, { $id: 'CardanoBlockchainPointerType' });\nexports.CardanoNativeScript = schema_utils_1.Type.Recursive(This => schema_utils_1.Type.Object({\n type: exports.EnumCardanoNativeScriptType,\n scripts: schema_utils_1.Type.Optional(schema_utils_1.Type.Array(This)),\n key_hash: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n key_path: schema_utils_1.Type.Optional(schema_utils_1.Type.Array(schema_utils_1.Type.Number())),\n required_signatures_count: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n invalid_before: schema_utils_1.Type.Optional(schema_utils_1.Type.Uint()),\n invalid_hereafter: schema_utils_1.Type.Optional(schema_utils_1.Type.Uint()),\n}), { $id: 'CardanoNativeScript' });\nexports.CardanoGetNativeScriptHash = schema_utils_1.Type.Object({\n script: exports.CardanoNativeScript,\n display_format: exports.EnumCardanoNativeScriptHashDisplayFormat,\n derivation_type: exports.EnumCardanoDerivationType,\n}, { $id: 'CardanoGetNativeScriptHash' });\nexports.CardanoNativeScriptHash = schema_utils_1.Type.Object({\n script_hash: schema_utils_1.Type.String(),\n}, { $id: 'CardanoNativeScriptHash' });\nexports.CardanoAddressParametersType = schema_utils_1.Type.Object({\n address_type: exports.EnumCardanoAddressType,\n address_n: schema_utils_1.Type.Array(schema_utils_1.Type.Number()),\n address_n_staking: schema_utils_1.Type.Array(schema_utils_1.Type.Number()),\n staking_key_hash: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n certificate_pointer: schema_utils_1.Type.Optional(exports.CardanoBlockchainPointerType),\n script_payment_hash: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n script_staking_hash: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n}, { $id: 'CardanoAddressParametersType' });\nexports.CardanoGetAddress = schema_utils_1.Type.Object({\n show_display: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n protocol_magic: schema_utils_1.Type.Number(),\n network_id: schema_utils_1.Type.Number(),\n address_parameters: exports.CardanoAddressParametersType,\n derivation_type: exports.EnumCardanoDerivationType,\n chunkify: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n}, { $id: 'CardanoGetAddress' });\nexports.CardanoAddress = schema_utils_1.Type.Object({\n address: schema_utils_1.Type.String(),\n}, { $id: 'CardanoAddress' });\nexports.CardanoGetPublicKey = schema_utils_1.Type.Object({\n address_n: schema_utils_1.Type.Array(schema_utils_1.Type.Number()),\n show_display: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n derivation_type: exports.EnumCardanoDerivationType,\n}, { $id: 'CardanoGetPublicKey' });\nexports.CardanoPublicKey = schema_utils_1.Type.Object({\n xpub: schema_utils_1.Type.String(),\n node: exports.HDNodeType,\n}, { $id: 'CardanoPublicKey' });\nexports.CardanoSignTxInit = schema_utils_1.Type.Object({\n signing_mode: exports.EnumCardanoTxSigningMode,\n protocol_magic: schema_utils_1.Type.Number(),\n network_id: schema_utils_1.Type.Number(),\n inputs_count: schema_utils_1.Type.Number(),\n outputs_count: schema_utils_1.Type.Number(),\n fee: schema_utils_1.Type.Uint(),\n ttl: schema_utils_1.Type.Optional(schema_utils_1.Type.Uint()),\n certificates_count: schema_utils_1.Type.Number(),\n withdrawals_count: schema_utils_1.Type.Number(),\n has_auxiliary_data: schema_utils_1.Type.Boolean(),\n validity_interval_start: schema_utils_1.Type.Optional(schema_utils_1.Type.Uint()),\n witness_requests_count: schema_utils_1.Type.Number(),\n minting_asset_groups_count: schema_utils_1.Type.Number(),\n derivation_type: exports.EnumCardanoDerivationType,\n include_network_id: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n script_data_hash: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n collateral_inputs_count: schema_utils_1.Type.Number(),\n required_signers_count: schema_utils_1.Type.Number(),\n has_collateral_return: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n total_collateral: schema_utils_1.Type.Optional(schema_utils_1.Type.Uint()),\n reference_inputs_count: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n chunkify: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n}, { $id: 'CardanoSignTxInit' });\nexports.CardanoTxInput = schema_utils_1.Type.Object({\n prev_hash: schema_utils_1.Type.String(),\n prev_index: schema_utils_1.Type.Number(),\n}, { $id: 'CardanoTxInput' });\nexports.CardanoTxOutput = schema_utils_1.Type.Object({\n address: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n address_parameters: schema_utils_1.Type.Optional(exports.CardanoAddressParametersType),\n amount: schema_utils_1.Type.Uint(),\n asset_groups_count: schema_utils_1.Type.Number(),\n datum_hash: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n format: schema_utils_1.Type.Optional(exports.EnumCardanoTxOutputSerializationFormat),\n inline_datum_size: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n reference_script_size: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n}, { $id: 'CardanoTxOutput' });\nexports.CardanoAssetGroup = schema_utils_1.Type.Object({\n policy_id: schema_utils_1.Type.String(),\n tokens_count: schema_utils_1.Type.Number(),\n}, { $id: 'CardanoAssetGroup' });\nexports.CardanoToken = schema_utils_1.Type.Object({\n asset_name_bytes: schema_utils_1.Type.String(),\n amount: schema_utils_1.Type.Optional(schema_utils_1.Type.Uint()),\n mint_amount: schema_utils_1.Type.Optional(schema_utils_1.Type.Uint({ allowNegative: true })),\n}, { $id: 'CardanoToken' });\nexports.CardanoTxInlineDatumChunk = schema_utils_1.Type.Object({\n data: schema_utils_1.Type.String(),\n}, { $id: 'CardanoTxInlineDatumChunk' });\nexports.CardanoTxReferenceScriptChunk = schema_utils_1.Type.Object({\n data: schema_utils_1.Type.String(),\n}, { $id: 'CardanoTxReferenceScriptChunk' });\nexports.CardanoPoolOwner = schema_utils_1.Type.Object({\n staking_key_path: schema_utils_1.Type.Optional(schema_utils_1.Type.Array(schema_utils_1.Type.Number())),\n staking_key_hash: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n}, { $id: 'CardanoPoolOwner' });\nexports.CardanoPoolRelayParameters = schema_utils_1.Type.Object({\n type: exports.EnumCardanoPoolRelayType,\n ipv4_address: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n ipv6_address: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n host_name: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n port: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n}, { $id: 'CardanoPoolRelayParameters' });\nexports.CardanoPoolMetadataType = schema_utils_1.Type.Object({\n url: schema_utils_1.Type.String(),\n hash: schema_utils_1.Type.String(),\n}, { $id: 'CardanoPoolMetadataType' });\nexports.CardanoPoolParametersType = schema_utils_1.Type.Object({\n pool_id: schema_utils_1.Type.String(),\n vrf_key_hash: schema_utils_1.Type.String(),\n pledge: schema_utils_1.Type.Uint(),\n cost: schema_utils_1.Type.Uint(),\n margin_numerator: schema_utils_1.Type.Uint(),\n margin_denominator: schema_utils_1.Type.Uint(),\n reward_account: schema_utils_1.Type.String(),\n metadata: schema_utils_1.Type.Optional(exports.CardanoPoolMetadataType),\n owners_count: schema_utils_1.Type.Number(),\n relays_count: schema_utils_1.Type.Number(),\n}, { $id: 'CardanoPoolParametersType' });\nexports.CardanoTxCertificate = schema_utils_1.Type.Object({\n type: exports.EnumCardanoCertificateType,\n path: schema_utils_1.Type.Optional(schema_utils_1.Type.Array(schema_utils_1.Type.Number())),\n pool: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n pool_parameters: schema_utils_1.Type.Optional(exports.CardanoPoolParametersType),\n script_hash: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n key_hash: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n}, { $id: 'CardanoTxCertificate' });\nexports.CardanoTxWithdrawal = schema_utils_1.Type.Object({\n path: schema_utils_1.Type.Optional(schema_utils_1.Type.Array(schema_utils_1.Type.Number())),\n amount: schema_utils_1.Type.Uint(),\n script_hash: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n key_hash: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n}, { $id: 'CardanoTxWithdrawal' });\nexports.CardanoCVoteRegistrationDelegation = schema_utils_1.Type.Object({\n vote_public_key: schema_utils_1.Type.String(),\n weight: schema_utils_1.Type.Uint(),\n}, { $id: 'CardanoCVoteRegistrationDelegation' });\nexports.CardanoCVoteRegistrationParametersType = schema_utils_1.Type.Object({\n vote_public_key: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n staking_path: schema_utils_1.Type.Array(schema_utils_1.Type.Number()),\n payment_address_parameters: schema_utils_1.Type.Optional(exports.CardanoAddressParametersType),\n nonce: schema_utils_1.Type.Uint(),\n format: schema_utils_1.Type.Optional(exports.EnumCardanoCVoteRegistrationFormat),\n delegations: schema_utils_1.Type.Optional(schema_utils_1.Type.Array(exports.CardanoCVoteRegistrationDelegation)),\n voting_purpose: schema_utils_1.Type.Optional(schema_utils_1.Type.Uint()),\n payment_address: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n}, { $id: 'CardanoCVoteRegistrationParametersType' });\nexports.CardanoTxAuxiliaryData = schema_utils_1.Type.Object({\n cvote_registration_parameters: schema_utils_1.Type.Optional(exports.CardanoCVoteRegistrationParametersType),\n hash: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n}, { $id: 'CardanoTxAuxiliaryData' });\nexports.CardanoTxMint = schema_utils_1.Type.Object({\n asset_groups_count: schema_utils_1.Type.Number(),\n}, { $id: 'CardanoTxMint' });\nexports.CardanoTxCollateralInput = schema_utils_1.Type.Object({\n prev_hash: schema_utils_1.Type.String(),\n prev_index: schema_utils_1.Type.Number(),\n}, { $id: 'CardanoTxCollateralInput' });\nexports.CardanoTxRequiredSigner = schema_utils_1.Type.Object({\n key_hash: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n key_path: schema_utils_1.Type.Optional(schema_utils_1.Type.Array(schema_utils_1.Type.Number())),\n}, { $id: 'CardanoTxRequiredSigner' });\nexports.CardanoTxReferenceInput = schema_utils_1.Type.Object({\n prev_hash: schema_utils_1.Type.String(),\n prev_index: schema_utils_1.Type.Number(),\n}, { $id: 'CardanoTxReferenceInput' });\nexports.CardanoTxItemAck = schema_utils_1.Type.Object({}, { $id: 'CardanoTxItemAck' });\nexports.CardanoTxAuxiliaryDataSupplement = schema_utils_1.Type.Object({\n type: exports.EnumCardanoTxAuxiliaryDataSupplementType,\n auxiliary_data_hash: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n cvote_registration_signature: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n}, { $id: 'CardanoTxAuxiliaryDataSupplement' });\nexports.CardanoTxWitnessRequest = schema_utils_1.Type.Object({\n path: schema_utils_1.Type.Array(schema_utils_1.Type.Number()),\n}, { $id: 'CardanoTxWitnessRequest' });\nexports.CardanoTxWitnessResponse = schema_utils_1.Type.Object({\n type: exports.EnumCardanoTxWitnessType,\n pub_key: schema_utils_1.Type.String(),\n signature: schema_utils_1.Type.String(),\n chain_code: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n}, { $id: 'CardanoTxWitnessResponse' });\nexports.CardanoTxHostAck = schema_utils_1.Type.Object({}, { $id: 'CardanoTxHostAck' });\nexports.CardanoTxBodyHash = schema_utils_1.Type.Object({\n tx_hash: schema_utils_1.Type.String(),\n}, { $id: 'CardanoTxBodyHash' });\nexports.CardanoSignTxFinished = schema_utils_1.Type.Object({}, { $id: 'CardanoSignTxFinished' });\nexports.Success = schema_utils_1.Type.Object({\n message: schema_utils_1.Type.String(),\n}, { $id: 'Success' });\nvar FailureType;\n(function (FailureType) {\n FailureType[FailureType[\"Failure_UnexpectedMessage\"] = 1] = \"Failure_UnexpectedMessage\";\n FailureType[FailureType[\"Failure_ButtonExpected\"] = 2] = \"Failure_ButtonExpected\";\n FailureType[FailureType[\"Failure_DataError\"] = 3] = \"Failure_DataError\";\n FailureType[FailureType[\"Failure_ActionCancelled\"] = 4] = \"Failure_ActionCancelled\";\n FailureType[FailureType[\"Failure_PinExpected\"] = 5] = \"Failure_PinExpected\";\n FailureType[FailureType[\"Failure_PinCancelled\"] = 6] = \"Failure_PinCancelled\";\n FailureType[FailureType[\"Failure_PinInvalid\"] = 7] = \"Failure_PinInvalid\";\n FailureType[FailureType[\"Failure_InvalidSignature\"] = 8] = \"Failure_InvalidSignature\";\n FailureType[FailureType[\"Failure_ProcessError\"] = 9] = \"Failure_ProcessError\";\n FailureType[FailureType[\"Failure_NotEnoughFunds\"] = 10] = \"Failure_NotEnoughFunds\";\n FailureType[FailureType[\"Failure_NotInitialized\"] = 11] = \"Failure_NotInitialized\";\n FailureType[FailureType[\"Failure_PinMismatch\"] = 12] = \"Failure_PinMismatch\";\n FailureType[FailureType[\"Failure_WipeCodeMismatch\"] = 13] = \"Failure_WipeCodeMismatch\";\n FailureType[FailureType[\"Failure_InvalidSession\"] = 14] = \"Failure_InvalidSession\";\n FailureType[FailureType[\"Failure_FirmwareError\"] = 99] = \"Failure_FirmwareError\";\n})(FailureType || (exports.FailureType = FailureType = {}));\nexports.EnumFailureType = schema_utils_1.Type.Enum(FailureType);\nexports.Failure = schema_utils_1.Type.Object({\n code: schema_utils_1.Type.Optional(exports.EnumFailureType),\n message: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n}, { $id: 'Failure' });\nvar Enum_ButtonRequestType;\n(function (Enum_ButtonRequestType) {\n Enum_ButtonRequestType[Enum_ButtonRequestType[\"ButtonRequest_Other\"] = 1] = \"ButtonRequest_Other\";\n Enum_ButtonRequestType[Enum_ButtonRequestType[\"ButtonRequest_FeeOverThreshold\"] = 2] = \"ButtonRequest_FeeOverThreshold\";\n Enum_ButtonRequestType[Enum_ButtonRequestType[\"ButtonRequest_ConfirmOutput\"] = 3] = \"ButtonRequest_ConfirmOutput\";\n Enum_ButtonRequestType[Enum_ButtonRequestType[\"ButtonRequest_ResetDevice\"] = 4] = \"ButtonRequest_ResetDevice\";\n Enum_ButtonRequestType[Enum_ButtonRequestType[\"ButtonRequest_ConfirmWord\"] = 5] = \"ButtonRequest_ConfirmWord\";\n Enum_ButtonRequestType[Enum_ButtonRequestType[\"ButtonRequest_WipeDevice\"] = 6] = \"ButtonRequest_WipeDevice\";\n Enum_ButtonRequestType[Enum_ButtonRequestType[\"ButtonRequest_ProtectCall\"] = 7] = \"ButtonRequest_ProtectCall\";\n Enum_ButtonRequestType[Enum_ButtonRequestType[\"ButtonRequest_SignTx\"] = 8] = \"ButtonRequest_SignTx\";\n Enum_ButtonRequestType[Enum_ButtonRequestType[\"ButtonRequest_FirmwareCheck\"] = 9] = \"ButtonRequest_FirmwareCheck\";\n Enum_ButtonRequestType[Enum_ButtonRequestType[\"ButtonRequest_Address\"] = 10] = \"ButtonRequest_Address\";\n Enum_ButtonRequestType[Enum_ButtonRequestType[\"ButtonRequest_PublicKey\"] = 11] = \"ButtonRequest_PublicKey\";\n Enum_ButtonRequestType[Enum_ButtonRequestType[\"ButtonRequest_MnemonicWordCount\"] = 12] = \"ButtonRequest_MnemonicWordCount\";\n Enum_ButtonRequestType[Enum_ButtonRequestType[\"ButtonRequest_MnemonicInput\"] = 13] = \"ButtonRequest_MnemonicInput\";\n Enum_ButtonRequestType[Enum_ButtonRequestType[\"_Deprecated_ButtonRequest_PassphraseType\"] = 14] = \"_Deprecated_ButtonRequest_PassphraseType\";\n Enum_ButtonRequestType[Enum_ButtonRequestType[\"ButtonRequest_UnknownDerivationPath\"] = 15] = \"ButtonRequest_UnknownDerivationPath\";\n Enum_ButtonRequestType[Enum_ButtonRequestType[\"ButtonRequest_RecoveryHomepage\"] = 16] = \"ButtonRequest_RecoveryHomepage\";\n Enum_ButtonRequestType[Enum_ButtonRequestType[\"ButtonRequest_Success\"] = 17] = \"ButtonRequest_Success\";\n Enum_ButtonRequestType[Enum_ButtonRequestType[\"ButtonRequest_Warning\"] = 18] = \"ButtonRequest_Warning\";\n Enum_ButtonRequestType[Enum_ButtonRequestType[\"ButtonRequest_PassphraseEntry\"] = 19] = \"ButtonRequest_PassphraseEntry\";\n Enum_ButtonRequestType[Enum_ButtonRequestType[\"ButtonRequest_PinEntry\"] = 20] = \"ButtonRequest_PinEntry\";\n})(Enum_ButtonRequestType || (exports.Enum_ButtonRequestType = Enum_ButtonRequestType = {}));\nexports.EnumEnum_ButtonRequestType = schema_utils_1.Type.Enum(Enum_ButtonRequestType);\nexports.ButtonRequestType = schema_utils_1.Type.KeyOfEnum(Enum_ButtonRequestType, {\n $id: 'ButtonRequestType',\n});\nexports.ButtonRequest = schema_utils_1.Type.Object({\n code: schema_utils_1.Type.Optional(exports.ButtonRequestType),\n pages: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n}, { $id: 'ButtonRequest' });\nexports.ButtonAck = schema_utils_1.Type.Object({}, { $id: 'ButtonAck' });\nvar Enum_PinMatrixRequestType;\n(function (Enum_PinMatrixRequestType) {\n Enum_PinMatrixRequestType[Enum_PinMatrixRequestType[\"PinMatrixRequestType_Current\"] = 1] = \"PinMatrixRequestType_Current\";\n Enum_PinMatrixRequestType[Enum_PinMatrixRequestType[\"PinMatrixRequestType_NewFirst\"] = 2] = \"PinMatrixRequestType_NewFirst\";\n Enum_PinMatrixRequestType[Enum_PinMatrixRequestType[\"PinMatrixRequestType_NewSecond\"] = 3] = \"PinMatrixRequestType_NewSecond\";\n Enum_PinMatrixRequestType[Enum_PinMatrixRequestType[\"PinMatrixRequestType_WipeCodeFirst\"] = 4] = \"PinMatrixRequestType_WipeCodeFirst\";\n Enum_PinMatrixRequestType[Enum_PinMatrixRequestType[\"PinMatrixRequestType_WipeCodeSecond\"] = 5] = \"PinMatrixRequestType_WipeCodeSecond\";\n})(Enum_PinMatrixRequestType || (exports.Enum_PinMatrixRequestType = Enum_PinMatrixRequestType = {}));\nexports.EnumEnum_PinMatrixRequestType = schema_utils_1.Type.Enum(Enum_PinMatrixRequestType);\nexports.PinMatrixRequestType = schema_utils_1.Type.KeyOfEnum(Enum_PinMatrixRequestType, {\n $id: 'PinMatrixRequestType',\n});\nexports.PinMatrixRequest = schema_utils_1.Type.Object({\n type: schema_utils_1.Type.Optional(exports.PinMatrixRequestType),\n}, { $id: 'PinMatrixRequest' });\nexports.PinMatrixAck = schema_utils_1.Type.Object({\n pin: schema_utils_1.Type.String(),\n}, { $id: 'PinMatrixAck' });\nexports.PassphraseRequest = schema_utils_1.Type.Object({\n _on_device: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n}, { $id: 'PassphraseRequest' });\nexports.PassphraseAck = schema_utils_1.Type.Object({\n passphrase: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n _state: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n on_device: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n}, { $id: 'PassphraseAck' });\nexports.Deprecated_PassphraseStateRequest = schema_utils_1.Type.Object({\n state: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n}, { $id: 'Deprecated_PassphraseStateRequest' });\nexports.Deprecated_PassphraseStateAck = schema_utils_1.Type.Object({}, { $id: 'Deprecated_PassphraseStateAck' });\nexports.CipherKeyValue = schema_utils_1.Type.Object({\n address_n: schema_utils_1.Type.Array(schema_utils_1.Type.Number()),\n key: schema_utils_1.Type.String(),\n value: schema_utils_1.Type.String(),\n encrypt: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n ask_on_encrypt: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n ask_on_decrypt: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n iv: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n}, { $id: 'CipherKeyValue' });\nexports.CipheredKeyValue = schema_utils_1.Type.Object({\n value: schema_utils_1.Type.String(),\n}, { $id: 'CipheredKeyValue' });\nexports.IdentityType = schema_utils_1.Type.Object({\n proto: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n user: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n host: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n port: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n path: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n index: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n}, { $id: 'IdentityType' });\nexports.SignIdentity = schema_utils_1.Type.Object({\n identity: exports.IdentityType,\n challenge_hidden: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n challenge_visual: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n ecdsa_curve_name: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n}, { $id: 'SignIdentity' });\nexports.SignedIdentity = schema_utils_1.Type.Object({\n address: schema_utils_1.Type.String(),\n public_key: schema_utils_1.Type.String(),\n signature: schema_utils_1.Type.String(),\n}, { $id: 'SignedIdentity' });\nexports.GetECDHSessionKey = schema_utils_1.Type.Object({\n identity: exports.IdentityType,\n peer_public_key: schema_utils_1.Type.String(),\n ecdsa_curve_name: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n}, { $id: 'GetECDHSessionKey' });\nexports.ECDHSessionKey = schema_utils_1.Type.Object({\n session_key: schema_utils_1.Type.String(),\n public_key: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n}, { $id: 'ECDHSessionKey' });\nvar DebugButton;\n(function (DebugButton) {\n DebugButton[DebugButton[\"NO\"] = 0] = \"NO\";\n DebugButton[DebugButton[\"YES\"] = 1] = \"YES\";\n DebugButton[DebugButton[\"INFO\"] = 2] = \"INFO\";\n})(DebugButton || (exports.DebugButton = DebugButton = {}));\nexports.EnumDebugButton = schema_utils_1.Type.Enum(DebugButton);\nvar DebugPhysicalButton;\n(function (DebugPhysicalButton) {\n DebugPhysicalButton[DebugPhysicalButton[\"LEFT_BTN\"] = 0] = \"LEFT_BTN\";\n DebugPhysicalButton[DebugPhysicalButton[\"MIDDLE_BTN\"] = 1] = \"MIDDLE_BTN\";\n DebugPhysicalButton[DebugPhysicalButton[\"RIGHT_BTN\"] = 2] = \"RIGHT_BTN\";\n})(DebugPhysicalButton || (exports.DebugPhysicalButton = DebugPhysicalButton = {}));\nexports.EnumDebugPhysicalButton = schema_utils_1.Type.Enum(DebugPhysicalButton);\nexports.DebugLinkResetDebugEvents = schema_utils_1.Type.Object({}, { $id: 'DebugLinkResetDebugEvents' });\nexports.EosGetPublicKey = schema_utils_1.Type.Object({\n address_n: schema_utils_1.Type.Array(schema_utils_1.Type.Number()),\n show_display: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n chunkify: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n}, { $id: 'EosGetPublicKey' });\nexports.EosPublicKey = schema_utils_1.Type.Object({\n wif_public_key: schema_utils_1.Type.String(),\n raw_public_key: schema_utils_1.Type.String(),\n}, { $id: 'EosPublicKey' });\nexports.EosTxHeader = schema_utils_1.Type.Object({\n expiration: schema_utils_1.Type.Number(),\n ref_block_num: schema_utils_1.Type.Number(),\n ref_block_prefix: schema_utils_1.Type.Number(),\n max_net_usage_words: schema_utils_1.Type.Number(),\n max_cpu_usage_ms: schema_utils_1.Type.Number(),\n delay_sec: schema_utils_1.Type.Number(),\n}, { $id: 'EosTxHeader' });\nexports.EosSignTx = schema_utils_1.Type.Object({\n address_n: schema_utils_1.Type.Array(schema_utils_1.Type.Number()),\n chain_id: schema_utils_1.Type.String(),\n header: exports.EosTxHeader,\n num_actions: schema_utils_1.Type.Number(),\n chunkify: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n}, { $id: 'EosSignTx' });\nexports.EosTxActionRequest = schema_utils_1.Type.Object({\n data_size: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n}, { $id: 'EosTxActionRequest' });\nexports.EosAsset = schema_utils_1.Type.Object({\n amount: schema_utils_1.Type.Uint(),\n symbol: schema_utils_1.Type.String(),\n}, { $id: 'EosAsset' });\nexports.EosPermissionLevel = schema_utils_1.Type.Object({\n actor: schema_utils_1.Type.String(),\n permission: schema_utils_1.Type.String(),\n}, { $id: 'EosPermissionLevel' });\nexports.EosAuthorizationKey = schema_utils_1.Type.Object({\n type: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n key: schema_utils_1.Type.String(),\n address_n: schema_utils_1.Type.Optional(schema_utils_1.Type.Array(schema_utils_1.Type.Number())),\n weight: schema_utils_1.Type.Number(),\n}, { $id: 'EosAuthorizationKey' });\nexports.EosAuthorizationAccount = schema_utils_1.Type.Object({\n account: exports.EosPermissionLevel,\n weight: schema_utils_1.Type.Number(),\n}, { $id: 'EosAuthorizationAccount' });\nexports.EosAuthorizationWait = schema_utils_1.Type.Object({\n wait_sec: schema_utils_1.Type.Number(),\n weight: schema_utils_1.Type.Number(),\n}, { $id: 'EosAuthorizationWait' });\nexports.EosAuthorization = schema_utils_1.Type.Object({\n threshold: schema_utils_1.Type.Number(),\n keys: schema_utils_1.Type.Array(exports.EosAuthorizationKey),\n accounts: schema_utils_1.Type.Array(exports.EosAuthorizationAccount),\n waits: schema_utils_1.Type.Array(exports.EosAuthorizationWait),\n}, { $id: 'EosAuthorization' });\nexports.EosActionCommon = schema_utils_1.Type.Object({\n account: schema_utils_1.Type.String(),\n name: schema_utils_1.Type.String(),\n authorization: schema_utils_1.Type.Array(exports.EosPermissionLevel),\n}, { $id: 'EosActionCommon' });\nexports.EosActionTransfer = schema_utils_1.Type.Object({\n sender: schema_utils_1.Type.String(),\n receiver: schema_utils_1.Type.String(),\n quantity: exports.EosAsset,\n memo: schema_utils_1.Type.String(),\n}, { $id: 'EosActionTransfer' });\nexports.EosActionDelegate = schema_utils_1.Type.Object({\n sender: schema_utils_1.Type.String(),\n receiver: schema_utils_1.Type.String(),\n net_quantity: exports.EosAsset,\n cpu_quantity: exports.EosAsset,\n transfer: schema_utils_1.Type.Boolean(),\n}, { $id: 'EosActionDelegate' });\nexports.EosActionUndelegate = schema_utils_1.Type.Object({\n sender: schema_utils_1.Type.String(),\n receiver: schema_utils_1.Type.String(),\n net_quantity: exports.EosAsset,\n cpu_quantity: exports.EosAsset,\n}, { $id: 'EosActionUndelegate' });\nexports.EosActionRefund = schema_utils_1.Type.Object({\n owner: schema_utils_1.Type.String(),\n}, { $id: 'EosActionRefund' });\nexports.EosActionBuyRam = schema_utils_1.Type.Object({\n payer: schema_utils_1.Type.String(),\n receiver: schema_utils_1.Type.String(),\n quantity: exports.EosAsset,\n}, { $id: 'EosActionBuyRam' });\nexports.EosActionBuyRamBytes = schema_utils_1.Type.Object({\n payer: schema_utils_1.Type.String(),\n receiver: schema_utils_1.Type.String(),\n bytes: schema_utils_1.Type.Number(),\n}, { $id: 'EosActionBuyRamBytes' });\nexports.EosActionSellRam = schema_utils_1.Type.Object({\n account: schema_utils_1.Type.String(),\n bytes: schema_utils_1.Type.Number(),\n}, { $id: 'EosActionSellRam' });\nexports.EosActionVoteProducer = schema_utils_1.Type.Object({\n voter: schema_utils_1.Type.String(),\n proxy: schema_utils_1.Type.String(),\n producers: schema_utils_1.Type.Array(schema_utils_1.Type.String()),\n}, { $id: 'EosActionVoteProducer' });\nexports.EosActionUpdateAuth = schema_utils_1.Type.Object({\n account: schema_utils_1.Type.String(),\n permission: schema_utils_1.Type.String(),\n parent: schema_utils_1.Type.String(),\n auth: exports.EosAuthorization,\n}, { $id: 'EosActionUpdateAuth' });\nexports.EosActionDeleteAuth = schema_utils_1.Type.Object({\n account: schema_utils_1.Type.String(),\n permission: schema_utils_1.Type.String(),\n}, { $id: 'EosActionDeleteAuth' });\nexports.EosActionLinkAuth = schema_utils_1.Type.Object({\n account: schema_utils_1.Type.String(),\n code: schema_utils_1.Type.String(),\n type: schema_utils_1.Type.String(),\n requirement: schema_utils_1.Type.String(),\n}, { $id: 'EosActionLinkAuth' });\nexports.EosActionUnlinkAuth = schema_utils_1.Type.Object({\n account: schema_utils_1.Type.String(),\n code: schema_utils_1.Type.String(),\n type: schema_utils_1.Type.String(),\n}, { $id: 'EosActionUnlinkAuth' });\nexports.EosActionNewAccount = schema_utils_1.Type.Object({\n creator: schema_utils_1.Type.String(),\n name: schema_utils_1.Type.String(),\n owner: exports.EosAuthorization,\n active: exports.EosAuthorization,\n}, { $id: 'EosActionNewAccount' });\nexports.EosActionUnknown = schema_utils_1.Type.Object({\n data_size: schema_utils_1.Type.Number(),\n data_chunk: schema_utils_1.Type.String(),\n}, { $id: 'EosActionUnknown' });\nexports.EosTxActionAck = schema_utils_1.Type.Object({\n common: exports.EosActionCommon,\n transfer: schema_utils_1.Type.Optional(exports.EosActionTransfer),\n delegate: schema_utils_1.Type.Optional(exports.EosActionDelegate),\n undelegate: schema_utils_1.Type.Optional(exports.EosActionUndelegate),\n refund: schema_utils_1.Type.Optional(exports.EosActionRefund),\n buy_ram: schema_utils_1.Type.Optional(exports.EosActionBuyRam),\n buy_ram_bytes: schema_utils_1.Type.Optional(exports.EosActionBuyRamBytes),\n sell_ram: schema_utils_1.Type.Optional(exports.EosActionSellRam),\n vote_producer: schema_utils_1.Type.Optional(exports.EosActionVoteProducer),\n update_auth: schema_utils_1.Type.Optional(exports.EosActionUpdateAuth),\n delete_auth: schema_utils_1.Type.Optional(exports.EosActionDeleteAuth),\n link_auth: schema_utils_1.Type.Optional(exports.EosActionLinkAuth),\n unlink_auth: schema_utils_1.Type.Optional(exports.EosActionUnlinkAuth),\n new_account: schema_utils_1.Type.Optional(exports.EosActionNewAccount),\n unknown: schema_utils_1.Type.Optional(exports.EosActionUnknown),\n}, { $id: 'EosTxActionAck' });\nexports.EosSignedTx = schema_utils_1.Type.Object({\n signature: schema_utils_1.Type.String(),\n}, { $id: 'EosSignedTx' });\nvar EthereumDefinitionType;\n(function (EthereumDefinitionType) {\n EthereumDefinitionType[EthereumDefinitionType[\"NETWORK\"] = 0] = \"NETWORK\";\n EthereumDefinitionType[EthereumDefinitionType[\"TOKEN\"] = 1] = \"TOKEN\";\n})(EthereumDefinitionType || (exports.EthereumDefinitionType = EthereumDefinitionType = {}));\nexports.EnumEthereumDefinitionType = schema_utils_1.Type.Enum(EthereumDefinitionType);\nexports.EthereumNetworkInfo = schema_utils_1.Type.Object({\n chain_id: schema_utils_1.Type.Number(),\n symbol: schema_utils_1.Type.String(),\n slip44: schema_utils_1.Type.Number(),\n name: schema_utils_1.Type.String(),\n}, { $id: 'EthereumNetworkInfo' });\nexports.EthereumTokenInfo = schema_utils_1.Type.Object({\n address: schema_utils_1.Type.String(),\n chain_id: schema_utils_1.Type.Number(),\n symbol: schema_utils_1.Type.String(),\n decimals: schema_utils_1.Type.Number(),\n name: schema_utils_1.Type.String(),\n}, { $id: 'EthereumTokenInfo' });\nexports.EthereumDefinitions = schema_utils_1.Type.Object({\n encoded_network: schema_utils_1.Type.Optional(schema_utils_1.Type.ArrayBuffer()),\n encoded_token: schema_utils_1.Type.Optional(schema_utils_1.Type.ArrayBuffer()),\n}, { $id: 'EthereumDefinitions' });\nexports.EthereumSignTypedData = schema_utils_1.Type.Object({\n address_n: schema_utils_1.Type.Array(schema_utils_1.Type.Number()),\n primary_type: schema_utils_1.Type.String(),\n metamask_v4_compat: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n definitions: schema_utils_1.Type.Optional(exports.EthereumDefinitions),\n}, { $id: 'EthereumSignTypedData' });\nexports.EthereumTypedDataStructRequest = schema_utils_1.Type.Object({\n name: schema_utils_1.Type.String(),\n}, { $id: 'EthereumTypedDataStructRequest' });\nvar EthereumDataType;\n(function (EthereumDataType) {\n EthereumDataType[EthereumDataType[\"UINT\"] = 1] = \"UINT\";\n EthereumDataType[EthereumDataType[\"INT\"] = 2] = \"INT\";\n EthereumDataType[EthereumDataType[\"BYTES\"] = 3] = \"BYTES\";\n EthereumDataType[EthereumDataType[\"STRING\"] = 4] = \"STRING\";\n EthereumDataType[EthereumDataType[\"BOOL\"] = 5] = \"BOOL\";\n EthereumDataType[EthereumDataType[\"ADDRESS\"] = 6] = \"ADDRESS\";\n EthereumDataType[EthereumDataType[\"ARRAY\"] = 7] = \"ARRAY\";\n EthereumDataType[EthereumDataType[\"STRUCT\"] = 8] = \"STRUCT\";\n})(EthereumDataType || (exports.EthereumDataType = EthereumDataType = {}));\nexports.EnumEthereumDataType = schema_utils_1.Type.Enum(EthereumDataType);\nexports.EthereumFieldType = schema_utils_1.Type.Recursive(This => schema_utils_1.Type.Object({\n data_type: exports.EnumEthereumDataType,\n size: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n entry_type: schema_utils_1.Type.Optional(This),\n struct_name: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n}), { $id: 'EthereumFieldType' });\nexports.EthereumStructMember = schema_utils_1.Type.Object({\n type: exports.EthereumFieldType,\n name: schema_utils_1.Type.String(),\n}, { $id: 'EthereumStructMember' });\nexports.EthereumTypedDataStructAck = schema_utils_1.Type.Object({\n members: schema_utils_1.Type.Array(exports.EthereumStructMember),\n}, { $id: 'EthereumTypedDataStructAck' });\nexports.EthereumTypedDataValueRequest = schema_utils_1.Type.Object({\n member_path: schema_utils_1.Type.Array(schema_utils_1.Type.Number()),\n}, { $id: 'EthereumTypedDataValueRequest' });\nexports.EthereumTypedDataValueAck = schema_utils_1.Type.Object({\n value: schema_utils_1.Type.String(),\n}, { $id: 'EthereumTypedDataValueAck' });\nexports.EthereumGetPublicKey = schema_utils_1.Type.Object({\n address_n: schema_utils_1.Type.Array(schema_utils_1.Type.Number()),\n show_display: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n}, { $id: 'EthereumGetPublicKey' });\nexports.EthereumPublicKey = schema_utils_1.Type.Object({\n node: exports.HDNodeType,\n xpub: schema_utils_1.Type.String(),\n}, { $id: 'EthereumPublicKey' });\nexports.EthereumGetAddress = schema_utils_1.Type.Object({\n address_n: schema_utils_1.Type.Array(schema_utils_1.Type.Number()),\n show_display: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n encoded_network: schema_utils_1.Type.Optional(schema_utils_1.Type.ArrayBuffer()),\n chunkify: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n}, { $id: 'EthereumGetAddress' });\nexports.EthereumAddress = schema_utils_1.Type.Object({\n _old_address: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n address: schema_utils_1.Type.String(),\n}, { $id: 'EthereumAddress' });\nexports.EthereumSignTx = schema_utils_1.Type.Object({\n address_n: schema_utils_1.Type.Array(schema_utils_1.Type.Number()),\n nonce: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n gas_price: schema_utils_1.Type.String(),\n gas_limit: schema_utils_1.Type.String(),\n to: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n value: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n data_initial_chunk: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n data_length: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n chain_id: schema_utils_1.Type.Number(),\n tx_type: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n definitions: schema_utils_1.Type.Optional(exports.EthereumDefinitions),\n chunkify: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n}, { $id: 'EthereumSignTx' });\nexports.EthereumAccessList = schema_utils_1.Type.Object({\n address: schema_utils_1.Type.String(),\n storage_keys: schema_utils_1.Type.Array(schema_utils_1.Type.String()),\n}, { $id: 'EthereumAccessList' });\nexports.EthereumSignTxEIP1559 = schema_utils_1.Type.Object({\n address_n: schema_utils_1.Type.Array(schema_utils_1.Type.Number()),\n nonce: schema_utils_1.Type.String(),\n max_gas_fee: schema_utils_1.Type.String(),\n max_priority_fee: schema_utils_1.Type.String(),\n gas_limit: schema_utils_1.Type.String(),\n to: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n value: schema_utils_1.Type.String(),\n data_initial_chunk: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n data_length: schema_utils_1.Type.Number(),\n chain_id: schema_utils_1.Type.Number(),\n access_list: schema_utils_1.Type.Array(exports.EthereumAccessList),\n definitions: schema_utils_1.Type.Optional(exports.EthereumDefinitions),\n chunkify: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n}, { $id: 'EthereumSignTxEIP1559' });\nexports.EthereumTxRequest = schema_utils_1.Type.Object({\n data_length: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n signature_v: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n signature_r: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n signature_s: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n}, { $id: 'EthereumTxRequest' });\nexports.EthereumTxAck = schema_utils_1.Type.Object({\n data_chunk: schema_utils_1.Type.String(),\n}, { $id: 'EthereumTxAck' });\nexports.EthereumSignMessage = schema_utils_1.Type.Object({\n address_n: schema_utils_1.Type.Array(schema_utils_1.Type.Number()),\n message: schema_utils_1.Type.String(),\n encoded_network: schema_utils_1.Type.Optional(schema_utils_1.Type.ArrayBuffer()),\n chunkify: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n}, { $id: 'EthereumSignMessage' });\nexports.EthereumMessageSignature = schema_utils_1.Type.Object({\n signature: schema_utils_1.Type.String(),\n address: schema_utils_1.Type.String(),\n}, { $id: 'EthereumMessageSignature' });\nexports.EthereumVerifyMessage = schema_utils_1.Type.Object({\n signature: schema_utils_1.Type.String(),\n message: schema_utils_1.Type.String(),\n address: schema_utils_1.Type.String(),\n chunkify: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n}, { $id: 'EthereumVerifyMessage' });\nexports.EthereumSignTypedHash = schema_utils_1.Type.Object({\n address_n: schema_utils_1.Type.Array(schema_utils_1.Type.Number()),\n domain_separator_hash: schema_utils_1.Type.String(),\n message_hash: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n encoded_network: schema_utils_1.Type.Optional(schema_utils_1.Type.ArrayBuffer()),\n}, { $id: 'EthereumSignTypedHash' });\nexports.EthereumTypedDataSignature = schema_utils_1.Type.Object({\n signature: schema_utils_1.Type.String(),\n address: schema_utils_1.Type.String(),\n}, { $id: 'EthereumTypedDataSignature' });\nvar Enum_BackupType;\n(function (Enum_BackupType) {\n Enum_BackupType[Enum_BackupType[\"Bip39\"] = 0] = \"Bip39\";\n Enum_BackupType[Enum_BackupType[\"Slip39_Basic\"] = 1] = \"Slip39_Basic\";\n Enum_BackupType[Enum_BackupType[\"Slip39_Advanced\"] = 2] = \"Slip39_Advanced\";\n})(Enum_BackupType || (exports.Enum_BackupType = Enum_BackupType = {}));\nexports.EnumEnum_BackupType = schema_utils_1.Type.Enum(Enum_BackupType);\nexports.BackupType = schema_utils_1.Type.KeyOfEnum(Enum_BackupType, { $id: 'BackupType' });\nvar Enum_SafetyCheckLevel;\n(function (Enum_SafetyCheckLevel) {\n Enum_SafetyCheckLevel[Enum_SafetyCheckLevel[\"Strict\"] = 0] = \"Strict\";\n Enum_SafetyCheckLevel[Enum_SafetyCheckLevel[\"PromptAlways\"] = 1] = \"PromptAlways\";\n Enum_SafetyCheckLevel[Enum_SafetyCheckLevel[\"PromptTemporarily\"] = 2] = \"PromptTemporarily\";\n})(Enum_SafetyCheckLevel || (exports.Enum_SafetyCheckLevel = Enum_SafetyCheckLevel = {}));\nexports.EnumEnum_SafetyCheckLevel = schema_utils_1.Type.Enum(Enum_SafetyCheckLevel);\nexports.SafetyCheckLevel = schema_utils_1.Type.KeyOfEnum(Enum_SafetyCheckLevel, { $id: 'SafetyCheckLevel' });\nvar Enum_HomescreenFormat;\n(function (Enum_HomescreenFormat) {\n Enum_HomescreenFormat[Enum_HomescreenFormat[\"Toif\"] = 1] = \"Toif\";\n Enum_HomescreenFormat[Enum_HomescreenFormat[\"Jpeg\"] = 2] = \"Jpeg\";\n Enum_HomescreenFormat[Enum_HomescreenFormat[\"ToiG\"] = 3] = \"ToiG\";\n})(Enum_HomescreenFormat || (exports.Enum_HomescreenFormat = Enum_HomescreenFormat = {}));\nexports.EnumEnum_HomescreenFormat = schema_utils_1.Type.Enum(Enum_HomescreenFormat);\nexports.HomescreenFormat = schema_utils_1.Type.KeyOfEnum(Enum_HomescreenFormat, { $id: 'HomescreenFormat' });\nexports.Initialize = schema_utils_1.Type.Object({\n session_id: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n _skip_passphrase: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n derive_cardano: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n}, { $id: 'Initialize' });\nexports.GetFeatures = schema_utils_1.Type.Object({}, { $id: 'GetFeatures' });\nvar Enum_Capability;\n(function (Enum_Capability) {\n Enum_Capability[Enum_Capability[\"Capability_Bitcoin\"] = 1] = \"Capability_Bitcoin\";\n Enum_Capability[Enum_Capability[\"Capability_Bitcoin_like\"] = 2] = \"Capability_Bitcoin_like\";\n Enum_Capability[Enum_Capability[\"Capability_Binance\"] = 3] = \"Capability_Binance\";\n Enum_Capability[Enum_Capability[\"Capability_Cardano\"] = 4] = \"Capability_Cardano\";\n Enum_Capability[Enum_Capability[\"Capability_Crypto\"] = 5] = \"Capability_Crypto\";\n Enum_Capability[Enum_Capability[\"Capability_EOS\"] = 6] = \"Capability_EOS\";\n Enum_Capability[Enum_Capability[\"Capability_Ethereum\"] = 7] = \"Capability_Ethereum\";\n Enum_Capability[Enum_Capability[\"Capability_Lisk\"] = 8] = \"Capability_Lisk\";\n Enum_Capability[Enum_Capability[\"Capability_Monero\"] = 9] = \"Capability_Monero\";\n Enum_Capability[Enum_Capability[\"Capability_NEM\"] = 10] = \"Capability_NEM\";\n Enum_Capability[Enum_Capability[\"Capability_Ripple\"] = 11] = \"Capability_Ripple\";\n Enum_Capability[Enum_Capability[\"Capability_Stellar\"] = 12] = \"Capability_Stellar\";\n Enum_Capability[Enum_Capability[\"Capability_Tezos\"] = 13] = \"Capability_Tezos\";\n Enum_Capability[Enum_Capability[\"Capability_U2F\"] = 14] = \"Capability_U2F\";\n Enum_Capability[Enum_Capability[\"Capability_Shamir\"] = 15] = \"Capability_Shamir\";\n Enum_Capability[Enum_Capability[\"Capability_ShamirGroups\"] = 16] = \"Capability_ShamirGroups\";\n Enum_Capability[Enum_Capability[\"Capability_PassphraseEntry\"] = 17] = \"Capability_PassphraseEntry\";\n Enum_Capability[Enum_Capability[\"Capability_Solana\"] = 18] = \"Capability_Solana\";\n Enum_Capability[Enum_Capability[\"Capability_Translations\"] = 19] = \"Capability_Translations\";\n})(Enum_Capability || (exports.Enum_Capability = Enum_Capability = {}));\nexports.EnumEnum_Capability = schema_utils_1.Type.Enum(Enum_Capability);\nexports.Capability = schema_utils_1.Type.KeyOfEnum(Enum_Capability, { $id: 'Capability' });\nexports.Features = schema_utils_1.Type.Object({\n vendor: schema_utils_1.Type.String(),\n major_version: schema_utils_1.Type.Number(),\n minor_version: schema_utils_1.Type.Number(),\n patch_version: schema_utils_1.Type.Number(),\n bootloader_mode: schema_utils_1.Type.Union([schema_utils_1.Type.Boolean(), schema_utils_1.Type.Null()]),\n device_id: schema_utils_1.Type.Union([schema_utils_1.Type.String(), schema_utils_1.Type.Null()]),\n pin_protection: schema_utils_1.Type.Union([schema_utils_1.Type.Boolean(), schema_utils_1.Type.Null()]),\n passphrase_protection: schema_utils_1.Type.Union([schema_utils_1.Type.Boolean(), schema_utils_1.Type.Null()]),\n language: schema_utils_1.Type.Union([schema_utils_1.Type.String(), schema_utils_1.Type.Null()]),\n label: schema_utils_1.Type.Union([schema_utils_1.Type.String(), schema_utils_1.Type.Null()]),\n initialized: schema_utils_1.Type.Union([schema_utils_1.Type.Boolean(), schema_utils_1.Type.Null()]),\n revision: schema_utils_1.Type.Union([schema_utils_1.Type.String(), schema_utils_1.Type.Null()]),\n bootloader_hash: schema_utils_1.Type.Union([schema_utils_1.Type.String(), schema_utils_1.Type.Null()]),\n imported: schema_utils_1.Type.Union([schema_utils_1.Type.Boolean(), schema_utils_1.Type.Null()]),\n unlocked: schema_utils_1.Type.Union([schema_utils_1.Type.Boolean(), schema_utils_1.Type.Null()]),\n _passphrase_cached: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n firmware_present: schema_utils_1.Type.Union([schema_utils_1.Type.Boolean(), schema_utils_1.Type.Null()]),\n needs_backup: schema_utils_1.Type.Union([schema_utils_1.Type.Boolean(), schema_utils_1.Type.Null()]),\n flags: schema_utils_1.Type.Union([schema_utils_1.Type.Number(), schema_utils_1.Type.Null()]),\n model: schema_utils_1.Type.String(),\n fw_major: schema_utils_1.Type.Union([schema_utils_1.Type.Number(), schema_utils_1.Type.Null()]),\n fw_minor: schema_utils_1.Type.Union([schema_utils_1.Type.Number(), schema_utils_1.Type.Null()]),\n fw_patch: schema_utils_1.Type.Union([schema_utils_1.Type.Number(), schema_utils_1.Type.Null()]),\n fw_vendor: schema_utils_1.Type.Union([schema_utils_1.Type.String(), schema_utils_1.Type.Null()]),\n unfinished_backup: schema_utils_1.Type.Union([schema_utils_1.Type.Boolean(), schema_utils_1.Type.Null()]),\n no_backup: schema_utils_1.Type.Union([schema_utils_1.Type.Boolean(), schema_utils_1.Type.Null()]),\n recovery_mode: schema_utils_1.Type.Union([schema_utils_1.Type.Boolean(), schema_utils_1.Type.Null()]),\n capabilities: schema_utils_1.Type.Array(exports.Capability),\n backup_type: schema_utils_1.Type.Union([exports.BackupType, schema_utils_1.Type.Null()]),\n sd_card_present: schema_utils_1.Type.Union([schema_utils_1.Type.Boolean(), schema_utils_1.Type.Null()]),\n sd_protection: schema_utils_1.Type.Union([schema_utils_1.Type.Boolean(), schema_utils_1.Type.Null()]),\n wipe_code_protection: schema_utils_1.Type.Union([schema_utils_1.Type.Boolean(), schema_utils_1.Type.Null()]),\n session_id: schema_utils_1.Type.Union([schema_utils_1.Type.String(), schema_utils_1.Type.Null()]),\n passphrase_always_on_device: schema_utils_1.Type.Union([schema_utils_1.Type.Boolean(), schema_utils_1.Type.Null()]),\n safety_checks: schema_utils_1.Type.Union([exports.SafetyCheckLevel, schema_utils_1.Type.Null()]),\n auto_lock_delay_ms: schema_utils_1.Type.Union([schema_utils_1.Type.Number(), schema_utils_1.Type.Null()]),\n display_rotation: schema_utils_1.Type.Union([schema_utils_1.Type.Number(), schema_utils_1.Type.Null()]),\n experimental_features: schema_utils_1.Type.Union([schema_utils_1.Type.Boolean(), schema_utils_1.Type.Null()]),\n busy: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n homescreen_format: schema_utils_1.Type.Optional(exports.HomescreenFormat),\n hide_passphrase_from_host: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n internal_model: exports.EnumDeviceModelInternal,\n unit_color: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n unit_btconly: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n homescreen_width: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n homescreen_height: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n bootloader_locked: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n language_version_matches: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n unit_packaging: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n}, { $id: 'Features' });\nexports.LockDevice = schema_utils_1.Type.Object({}, { $id: 'LockDevice' });\nexports.SetBusy = schema_utils_1.Type.Object({\n expiry_ms: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n}, { $id: 'SetBusy' });\nexports.EndSession = schema_utils_1.Type.Object({}, { $id: 'EndSession' });\nexports.ApplySettings = schema_utils_1.Type.Object({\n language: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n label: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n use_passphrase: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n homescreen: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n _passphrase_source: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n auto_lock_delay_ms: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n display_rotation: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n passphrase_always_on_device: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n safety_checks: schema_utils_1.Type.Optional(exports.SafetyCheckLevel),\n experimental_features: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n hide_passphrase_from_host: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n}, { $id: 'ApplySettings' });\nexports.ChangeLanguage = schema_utils_1.Type.Object({\n data_length: schema_utils_1.Type.Number(),\n show_display: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n}, { $id: 'ChangeLanguage' });\nexports.TranslationDataRequest = schema_utils_1.Type.Object({\n data_length: schema_utils_1.Type.Number(),\n data_offset: schema_utils_1.Type.Number(),\n}, { $id: 'TranslationDataRequest' });\nexports.TranslationDataAck = schema_utils_1.Type.Object({\n data_chunk: schema_utils_1.Type.String(),\n}, { $id: 'TranslationDataAck' });\nexports.ApplyFlags = schema_utils_1.Type.Object({\n flags: schema_utils_1.Type.Number(),\n}, { $id: 'ApplyFlags' });\nexports.ChangePin = schema_utils_1.Type.Object({\n remove: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n}, { $id: 'ChangePin' });\nexports.ChangeWipeCode = schema_utils_1.Type.Object({\n remove: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n}, { $id: 'ChangeWipeCode' });\nvar SdProtectOperationType;\n(function (SdProtectOperationType) {\n SdProtectOperationType[SdProtectOperationType[\"DISABLE\"] = 0] = \"DISABLE\";\n SdProtectOperationType[SdProtectOperationType[\"ENABLE\"] = 1] = \"ENABLE\";\n SdProtectOperationType[SdProtectOperationType[\"REFRESH\"] = 2] = \"REFRESH\";\n})(SdProtectOperationType || (exports.SdProtectOperationType = SdProtectOperationType = {}));\nexports.EnumSdProtectOperationType = schema_utils_1.Type.Enum(SdProtectOperationType);\nexports.SdProtect = schema_utils_1.Type.Object({\n operation: exports.EnumSdProtectOperationType,\n}, { $id: 'SdProtect' });\nexports.Ping = schema_utils_1.Type.Object({\n message: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n button_protection: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n}, { $id: 'Ping' });\nexports.Cancel = schema_utils_1.Type.Object({}, { $id: 'Cancel' });\nexports.GetEntropy = schema_utils_1.Type.Object({\n size: schema_utils_1.Type.Number(),\n}, { $id: 'GetEntropy' });\nexports.Entropy = schema_utils_1.Type.Object({\n entropy: schema_utils_1.Type.String(),\n}, { $id: 'Entropy' });\nexports.GetFirmwareHash = schema_utils_1.Type.Object({\n challenge: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n}, { $id: 'GetFirmwareHash' });\nexports.FirmwareHash = schema_utils_1.Type.Object({\n hash: schema_utils_1.Type.String(),\n}, { $id: 'FirmwareHash' });\nexports.AuthenticateDevice = schema_utils_1.Type.Object({\n challenge: schema_utils_1.Type.String(),\n}, { $id: 'AuthenticateDevice' });\nexports.AuthenticityProof = schema_utils_1.Type.Object({\n certificates: schema_utils_1.Type.Array(schema_utils_1.Type.String()),\n signature: schema_utils_1.Type.String(),\n}, { $id: 'AuthenticityProof' });\nexports.WipeDevice = schema_utils_1.Type.Object({}, { $id: 'WipeDevice' });\nexports.ResetDevice = schema_utils_1.Type.Object({\n display_random: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n strength: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n passphrase_protection: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n pin_protection: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n language: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n label: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n u2f_counter: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n skip_backup: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n no_backup: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n backup_type: schema_utils_1.Type.Optional(exports.EnumEnum_BackupType),\n}, { $id: 'ResetDevice' });\nexports.Slip39Group = schema_utils_1.Type.Object({\n member_threshold: schema_utils_1.Type.Number(),\n member_count: schema_utils_1.Type.Number(),\n}, { $id: 'Slip39Group' });\nexports.BackupDevice = schema_utils_1.Type.Object({\n group_threshold: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n groups: schema_utils_1.Type.Optional(schema_utils_1.Type.Array(exports.Slip39Group)),\n}, { $id: 'BackupDevice' });\nexports.EntropyRequest = schema_utils_1.Type.Object({}, { $id: 'EntropyRequest' });\nexports.EntropyAck = schema_utils_1.Type.Object({\n entropy: schema_utils_1.Type.String(),\n}, { $id: 'EntropyAck' });\nvar RecoveryDeviceType;\n(function (RecoveryDeviceType) {\n RecoveryDeviceType[RecoveryDeviceType[\"RecoveryDeviceType_ScrambledWords\"] = 0] = \"RecoveryDeviceType_ScrambledWords\";\n RecoveryDeviceType[RecoveryDeviceType[\"RecoveryDeviceType_Matrix\"] = 1] = \"RecoveryDeviceType_Matrix\";\n})(RecoveryDeviceType || (exports.RecoveryDeviceType = RecoveryDeviceType = {}));\nexports.EnumRecoveryDeviceType = schema_utils_1.Type.Enum(RecoveryDeviceType);\nexports.RecoveryDevice = schema_utils_1.Type.Object({\n word_count: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n passphrase_protection: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n pin_protection: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n language: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n label: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n enforce_wordlist: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n type: schema_utils_1.Type.Optional(exports.EnumRecoveryDeviceType),\n u2f_counter: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n dry_run: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n}, { $id: 'RecoveryDevice' });\nvar Enum_WordRequestType;\n(function (Enum_WordRequestType) {\n Enum_WordRequestType[Enum_WordRequestType[\"WordRequestType_Plain\"] = 0] = \"WordRequestType_Plain\";\n Enum_WordRequestType[Enum_WordRequestType[\"WordRequestType_Matrix9\"] = 1] = \"WordRequestType_Matrix9\";\n Enum_WordRequestType[Enum_WordRequestType[\"WordRequestType_Matrix6\"] = 2] = \"WordRequestType_Matrix6\";\n})(Enum_WordRequestType || (exports.Enum_WordRequestType = Enum_WordRequestType = {}));\nexports.EnumEnum_WordRequestType = schema_utils_1.Type.Enum(Enum_WordRequestType);\nexports.WordRequestType = schema_utils_1.Type.KeyOfEnum(Enum_WordRequestType, { $id: 'WordRequestType' });\nexports.WordRequest = schema_utils_1.Type.Object({\n type: exports.WordRequestType,\n}, { $id: 'WordRequest' });\nexports.WordAck = schema_utils_1.Type.Object({\n word: schema_utils_1.Type.String(),\n}, { $id: 'WordAck' });\nexports.SetU2FCounter = schema_utils_1.Type.Object({\n u2f_counter: schema_utils_1.Type.Number(),\n}, { $id: 'SetU2FCounter' });\nexports.GetNextU2FCounter = schema_utils_1.Type.Object({}, { $id: 'GetNextU2FCounter' });\nexports.NextU2FCounter = schema_utils_1.Type.Object({\n u2f_counter: schema_utils_1.Type.Number(),\n}, { $id: 'NextU2FCounter' });\nexports.DoPreauthorized = schema_utils_1.Type.Object({}, { $id: 'DoPreauthorized' });\nexports.PreauthorizedRequest = schema_utils_1.Type.Object({}, { $id: 'PreauthorizedRequest' });\nexports.CancelAuthorization = schema_utils_1.Type.Object({}, { $id: 'CancelAuthorization' });\nvar BootCommand;\n(function (BootCommand) {\n BootCommand[BootCommand[\"STOP_AND_WAIT\"] = 0] = \"STOP_AND_WAIT\";\n BootCommand[BootCommand[\"INSTALL_UPGRADE\"] = 1] = \"INSTALL_UPGRADE\";\n})(BootCommand || (exports.BootCommand = BootCommand = {}));\nexports.EnumBootCommand = schema_utils_1.Type.Enum(BootCommand);\nexports.RebootToBootloader = schema_utils_1.Type.Object({\n boot_command: schema_utils_1.Type.Optional(exports.EnumBootCommand),\n firmware_header: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n language_data_length: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n}, { $id: 'RebootToBootloader' });\nexports.GetNonce = schema_utils_1.Type.Object({}, { $id: 'GetNonce' });\nexports.Nonce = schema_utils_1.Type.Object({\n nonce: schema_utils_1.Type.String(),\n}, { $id: 'Nonce' });\nexports.UnlockPath = schema_utils_1.Type.Object({\n address_n: schema_utils_1.Type.Array(schema_utils_1.Type.Number()),\n mac: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n}, { $id: 'UnlockPath' });\nexports.UnlockedPathRequest = schema_utils_1.Type.Object({\n mac: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n}, { $id: 'UnlockedPathRequest' });\nexports.ShowDeviceTutorial = schema_utils_1.Type.Object({}, { $id: 'ShowDeviceTutorial' });\nexports.UnlockBootloader = schema_utils_1.Type.Object({}, { $id: 'UnlockBootloader' });\nvar MoneroNetworkType;\n(function (MoneroNetworkType) {\n MoneroNetworkType[MoneroNetworkType[\"MAINNET\"] = 0] = \"MAINNET\";\n MoneroNetworkType[MoneroNetworkType[\"TESTNET\"] = 1] = \"TESTNET\";\n MoneroNetworkType[MoneroNetworkType[\"STAGENET\"] = 2] = \"STAGENET\";\n MoneroNetworkType[MoneroNetworkType[\"FAKECHAIN\"] = 3] = \"FAKECHAIN\";\n})(MoneroNetworkType || (exports.MoneroNetworkType = MoneroNetworkType = {}));\nexports.EnumMoneroNetworkType = schema_utils_1.Type.Enum(MoneroNetworkType);\nexports.NEMGetAddress = schema_utils_1.Type.Object({\n address_n: schema_utils_1.Type.Array(schema_utils_1.Type.Number()),\n network: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n show_display: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n chunkify: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n}, { $id: 'NEMGetAddress' });\nexports.NEMAddress = schema_utils_1.Type.Object({\n address: schema_utils_1.Type.String(),\n}, { $id: 'NEMAddress' });\nexports.NEMTransactionCommon = schema_utils_1.Type.Object({\n address_n: schema_utils_1.Type.Optional(schema_utils_1.Type.Array(schema_utils_1.Type.Number())),\n network: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n timestamp: schema_utils_1.Type.Number(),\n fee: schema_utils_1.Type.Uint(),\n deadline: schema_utils_1.Type.Number(),\n signer: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n}, { $id: 'NEMTransactionCommon' });\nexports.NEMMosaic = schema_utils_1.Type.Object({\n namespace: schema_utils_1.Type.String(),\n mosaic: schema_utils_1.Type.String(),\n quantity: schema_utils_1.Type.Number(),\n}, { $id: 'NEMMosaic' });\nexports.NEMTransfer = schema_utils_1.Type.Object({\n recipient: schema_utils_1.Type.String(),\n amount: schema_utils_1.Type.Uint(),\n payload: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n public_key: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n mosaics: schema_utils_1.Type.Optional(schema_utils_1.Type.Array(exports.NEMMosaic)),\n}, { $id: 'NEMTransfer' });\nexports.NEMProvisionNamespace = schema_utils_1.Type.Object({\n namespace: schema_utils_1.Type.String(),\n parent: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n sink: schema_utils_1.Type.String(),\n fee: schema_utils_1.Type.Uint(),\n}, { $id: 'NEMProvisionNamespace' });\nvar NEMMosaicLevy;\n(function (NEMMosaicLevy) {\n NEMMosaicLevy[NEMMosaicLevy[\"MosaicLevy_Absolute\"] = 1] = \"MosaicLevy_Absolute\";\n NEMMosaicLevy[NEMMosaicLevy[\"MosaicLevy_Percentile\"] = 2] = \"MosaicLevy_Percentile\";\n})(NEMMosaicLevy || (exports.NEMMosaicLevy = NEMMosaicLevy = {}));\nexports.EnumNEMMosaicLevy = schema_utils_1.Type.Enum(NEMMosaicLevy);\nexports.NEMMosaicDefinition = schema_utils_1.Type.Object({\n name: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n ticker: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n namespace: schema_utils_1.Type.String(),\n mosaic: schema_utils_1.Type.String(),\n divisibility: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n levy: schema_utils_1.Type.Optional(exports.EnumNEMMosaicLevy),\n fee: schema_utils_1.Type.Optional(schema_utils_1.Type.Uint()),\n levy_address: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n levy_namespace: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n levy_mosaic: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n supply: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n mutable_supply: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n transferable: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n description: schema_utils_1.Type.String(),\n networks: schema_utils_1.Type.Optional(schema_utils_1.Type.Array(schema_utils_1.Type.Number())),\n}, { $id: 'NEMMosaicDefinition' });\nexports.NEMMosaicCreation = schema_utils_1.Type.Object({\n definition: exports.NEMMosaicDefinition,\n sink: schema_utils_1.Type.String(),\n fee: schema_utils_1.Type.Uint(),\n}, { $id: 'NEMMosaicCreation' });\nvar NEMSupplyChangeType;\n(function (NEMSupplyChangeType) {\n NEMSupplyChangeType[NEMSupplyChangeType[\"SupplyChange_Increase\"] = 1] = \"SupplyChange_Increase\";\n NEMSupplyChangeType[NEMSupplyChangeType[\"SupplyChange_Decrease\"] = 2] = \"SupplyChange_Decrease\";\n})(NEMSupplyChangeType || (exports.NEMSupplyChangeType = NEMSupplyChangeType = {}));\nexports.EnumNEMSupplyChangeType = schema_utils_1.Type.Enum(NEMSupplyChangeType);\nexports.NEMMosaicSupplyChange = schema_utils_1.Type.Object({\n namespace: schema_utils_1.Type.String(),\n mosaic: schema_utils_1.Type.String(),\n type: exports.EnumNEMSupplyChangeType,\n delta: schema_utils_1.Type.Number(),\n}, { $id: 'NEMMosaicSupplyChange' });\nvar NEMModificationType;\n(function (NEMModificationType) {\n NEMModificationType[NEMModificationType[\"CosignatoryModification_Add\"] = 1] = \"CosignatoryModification_Add\";\n NEMModificationType[NEMModificationType[\"CosignatoryModification_Delete\"] = 2] = \"CosignatoryModification_Delete\";\n})(NEMModificationType || (exports.NEMModificationType = NEMModificationType = {}));\nexports.EnumNEMModificationType = schema_utils_1.Type.Enum(NEMModificationType);\nexports.NEMCosignatoryModification = schema_utils_1.Type.Object({\n type: exports.EnumNEMModificationType,\n public_key: schema_utils_1.Type.String(),\n}, { $id: 'NEMCosignatoryModification' });\nexports.NEMAggregateModification = schema_utils_1.Type.Object({\n modifications: schema_utils_1.Type.Optional(schema_utils_1.Type.Array(exports.NEMCosignatoryModification)),\n relative_change: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n}, { $id: 'NEMAggregateModification' });\nvar NEMImportanceTransferMode;\n(function (NEMImportanceTransferMode) {\n NEMImportanceTransferMode[NEMImportanceTransferMode[\"ImportanceTransfer_Activate\"] = 1] = \"ImportanceTransfer_Activate\";\n NEMImportanceTransferMode[NEMImportanceTransferMode[\"ImportanceTransfer_Deactivate\"] = 2] = \"ImportanceTransfer_Deactivate\";\n})(NEMImportanceTransferMode || (exports.NEMImportanceTransferMode = NEMImportanceTransferMode = {}));\nexports.EnumNEMImportanceTransferMode = schema_utils_1.Type.Enum(NEMImportanceTransferMode);\nexports.NEMImportanceTransfer = schema_utils_1.Type.Object({\n mode: exports.EnumNEMImportanceTransferMode,\n public_key: schema_utils_1.Type.String(),\n}, { $id: 'NEMImportanceTransfer' });\nexports.NEMSignTx = schema_utils_1.Type.Object({\n transaction: exports.NEMTransactionCommon,\n multisig: schema_utils_1.Type.Optional(exports.NEMTransactionCommon),\n transfer: schema_utils_1.Type.Optional(exports.NEMTransfer),\n cosigning: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n provision_namespace: schema_utils_1.Type.Optional(exports.NEMProvisionNamespace),\n mosaic_creation: schema_utils_1.Type.Optional(exports.NEMMosaicCreation),\n supply_change: schema_utils_1.Type.Optional(exports.NEMMosaicSupplyChange),\n aggregate_modification: schema_utils_1.Type.Optional(exports.NEMAggregateModification),\n importance_transfer: schema_utils_1.Type.Optional(exports.NEMImportanceTransfer),\n chunkify: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n}, { $id: 'NEMSignTx' });\nexports.NEMSignedTx = schema_utils_1.Type.Object({\n data: schema_utils_1.Type.String(),\n signature: schema_utils_1.Type.String(),\n}, { $id: 'NEMSignedTx' });\nexports.NEMDecryptMessage = schema_utils_1.Type.Object({\n address_n: schema_utils_1.Type.Array(schema_utils_1.Type.Number()),\n network: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n public_key: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n payload: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n}, { $id: 'NEMDecryptMessage' });\nexports.NEMDecryptedMessage = schema_utils_1.Type.Object({\n payload: schema_utils_1.Type.String(),\n}, { $id: 'NEMDecryptedMessage' });\nexports.experimental_message = schema_utils_1.Type.Object({}, { $id: 'experimental_message' });\nexports.experimental_field = schema_utils_1.Type.Object({}, { $id: 'experimental_field' });\nexports.RippleGetAddress = schema_utils_1.Type.Object({\n address_n: schema_utils_1.Type.Array(schema_utils_1.Type.Number()),\n show_display: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n chunkify: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n}, { $id: 'RippleGetAddress' });\nexports.RippleAddress = schema_utils_1.Type.Object({\n address: schema_utils_1.Type.String(),\n}, { $id: 'RippleAddress' });\nexports.RipplePayment = schema_utils_1.Type.Object({\n amount: schema_utils_1.Type.Uint(),\n destination: schema_utils_1.Type.String(),\n destination_tag: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n}, { $id: 'RipplePayment' });\nexports.RippleSignTx = schema_utils_1.Type.Object({\n address_n: schema_utils_1.Type.Array(schema_utils_1.Type.Number()),\n fee: schema_utils_1.Type.Uint(),\n flags: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n sequence: schema_utils_1.Type.Number(),\n last_ledger_sequence: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n payment: exports.RipplePayment,\n chunkify: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n}, { $id: 'RippleSignTx' });\nexports.RippleSignedTx = schema_utils_1.Type.Object({\n signature: schema_utils_1.Type.String(),\n serialized_tx: schema_utils_1.Type.String(),\n}, { $id: 'RippleSignedTx' });\nexports.SolanaGetPublicKey = schema_utils_1.Type.Object({\n address_n: schema_utils_1.Type.Array(schema_utils_1.Type.Number()),\n show_display: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n}, { $id: 'SolanaGetPublicKey' });\nexports.SolanaPublicKey = schema_utils_1.Type.Object({\n public_key: schema_utils_1.Type.String(),\n}, { $id: 'SolanaPublicKey' });\nexports.SolanaGetAddress = schema_utils_1.Type.Object({\n address_n: schema_utils_1.Type.Array(schema_utils_1.Type.Number()),\n show_display: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n chunkify: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n}, { $id: 'SolanaGetAddress' });\nexports.SolanaAddress = schema_utils_1.Type.Object({\n address: schema_utils_1.Type.String(),\n}, { $id: 'SolanaAddress' });\nexports.SolanaTxTokenAccountInfo = schema_utils_1.Type.Object({\n base_address: schema_utils_1.Type.String(),\n token_program: schema_utils_1.Type.String(),\n token_mint: schema_utils_1.Type.String(),\n token_account: schema_utils_1.Type.String(),\n}, { $id: 'SolanaTxTokenAccountInfo' });\nexports.SolanaTxAdditionalInfo = schema_utils_1.Type.Object({\n token_accounts_infos: schema_utils_1.Type.Array(exports.SolanaTxTokenAccountInfo),\n}, { $id: 'SolanaTxAdditionalInfo' });\nexports.SolanaSignTx = schema_utils_1.Type.Object({\n address_n: schema_utils_1.Type.Array(schema_utils_1.Type.Number()),\n serialized_tx: schema_utils_1.Type.String(),\n additional_info: schema_utils_1.Type.Optional(exports.SolanaTxAdditionalInfo),\n}, { $id: 'SolanaSignTx' });\nexports.SolanaTxSignature = schema_utils_1.Type.Object({\n signature: schema_utils_1.Type.String(),\n}, { $id: 'SolanaTxSignature' });\nvar StellarAssetType;\n(function (StellarAssetType) {\n StellarAssetType[StellarAssetType[\"NATIVE\"] = 0] = \"NATIVE\";\n StellarAssetType[StellarAssetType[\"ALPHANUM4\"] = 1] = \"ALPHANUM4\";\n StellarAssetType[StellarAssetType[\"ALPHANUM12\"] = 2] = \"ALPHANUM12\";\n})(StellarAssetType || (exports.StellarAssetType = StellarAssetType = {}));\nexports.EnumStellarAssetType = schema_utils_1.Type.Enum(StellarAssetType);\nexports.StellarAsset = schema_utils_1.Type.Object({\n type: schema_utils_1.Type.Union([\n schema_utils_1.Type.Literal(0),\n schema_utils_1.Type.Literal(1),\n schema_utils_1.Type.Literal(2),\n schema_utils_1.Type.Literal('NATIVE'),\n schema_utils_1.Type.Literal('ALPHANUM4'),\n schema_utils_1.Type.Literal('ALPHANUM12'),\n ]),\n code: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n issuer: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n}, { $id: 'StellarAsset' });\nexports.StellarGetAddress = schema_utils_1.Type.Object({\n address_n: schema_utils_1.Type.Array(schema_utils_1.Type.Number()),\n show_display: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n chunkify: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n}, { $id: 'StellarGetAddress' });\nexports.StellarAddress = schema_utils_1.Type.Object({\n address: schema_utils_1.Type.String(),\n}, { $id: 'StellarAddress' });\nvar StellarMemoType;\n(function (StellarMemoType) {\n StellarMemoType[StellarMemoType[\"NONE\"] = 0] = \"NONE\";\n StellarMemoType[StellarMemoType[\"TEXT\"] = 1] = \"TEXT\";\n StellarMemoType[StellarMemoType[\"ID\"] = 2] = \"ID\";\n StellarMemoType[StellarMemoType[\"HASH\"] = 3] = \"HASH\";\n StellarMemoType[StellarMemoType[\"RETURN\"] = 4] = \"RETURN\";\n})(StellarMemoType || (exports.StellarMemoType = StellarMemoType = {}));\nexports.EnumStellarMemoType = schema_utils_1.Type.Enum(StellarMemoType);\nexports.StellarSignTx = schema_utils_1.Type.Object({\n address_n: schema_utils_1.Type.Array(schema_utils_1.Type.Number()),\n network_passphrase: schema_utils_1.Type.String(),\n source_account: schema_utils_1.Type.String(),\n fee: schema_utils_1.Type.Uint(),\n sequence_number: schema_utils_1.Type.Uint(),\n timebounds_start: schema_utils_1.Type.Number(),\n timebounds_end: schema_utils_1.Type.Number(),\n memo_type: exports.EnumStellarMemoType,\n memo_text: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n memo_id: schema_utils_1.Type.Optional(schema_utils_1.Type.Uint()),\n memo_hash: schema_utils_1.Type.Optional(schema_utils_1.Type.Union([schema_utils_1.Type.Buffer(), schema_utils_1.Type.String()])),\n num_operations: schema_utils_1.Type.Number(),\n}, { $id: 'StellarSignTx' });\nexports.StellarTxOpRequest = schema_utils_1.Type.Object({}, { $id: 'StellarTxOpRequest' });\nexports.StellarPaymentOp = schema_utils_1.Type.Object({\n source_account: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n destination_account: schema_utils_1.Type.String(),\n asset: exports.StellarAsset,\n amount: schema_utils_1.Type.Uint(),\n}, { $id: 'StellarPaymentOp' });\nexports.StellarCreateAccountOp = schema_utils_1.Type.Object({\n source_account: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n new_account: schema_utils_1.Type.String(),\n starting_balance: schema_utils_1.Type.Uint(),\n}, { $id: 'StellarCreateAccountOp' });\nexports.StellarPathPaymentStrictReceiveOp = schema_utils_1.Type.Object({\n source_account: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n send_asset: exports.StellarAsset,\n send_max: schema_utils_1.Type.Uint(),\n destination_account: schema_utils_1.Type.String(),\n destination_asset: exports.StellarAsset,\n destination_amount: schema_utils_1.Type.Uint(),\n paths: schema_utils_1.Type.Optional(schema_utils_1.Type.Array(exports.StellarAsset)),\n}, { $id: 'StellarPathPaymentStrictReceiveOp' });\nexports.StellarPathPaymentStrictSendOp = schema_utils_1.Type.Object({\n source_account: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n send_asset: exports.StellarAsset,\n send_amount: schema_utils_1.Type.Uint(),\n destination_account: schema_utils_1.Type.String(),\n destination_asset: exports.StellarAsset,\n destination_min: schema_utils_1.Type.Uint(),\n paths: schema_utils_1.Type.Optional(schema_utils_1.Type.Array(exports.StellarAsset)),\n}, { $id: 'StellarPathPaymentStrictSendOp' });\nexports.StellarManageSellOfferOp = schema_utils_1.Type.Object({\n source_account: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n selling_asset: exports.StellarAsset,\n buying_asset: exports.StellarAsset,\n amount: schema_utils_1.Type.Uint(),\n price_n: schema_utils_1.Type.Number(),\n price_d: schema_utils_1.Type.Number(),\n offer_id: schema_utils_1.Type.Uint(),\n}, { $id: 'StellarManageSellOfferOp' });\nexports.StellarManageBuyOfferOp = schema_utils_1.Type.Object({\n source_account: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n selling_asset: exports.StellarAsset,\n buying_asset: exports.StellarAsset,\n amount: schema_utils_1.Type.Uint(),\n price_n: schema_utils_1.Type.Number(),\n price_d: schema_utils_1.Type.Number(),\n offer_id: schema_utils_1.Type.Uint(),\n}, { $id: 'StellarManageBuyOfferOp' });\nexports.StellarCreatePassiveSellOfferOp = schema_utils_1.Type.Object({\n source_account: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n selling_asset: exports.StellarAsset,\n buying_asset: exports.StellarAsset,\n amount: schema_utils_1.Type.Uint(),\n price_n: schema_utils_1.Type.Number(),\n price_d: schema_utils_1.Type.Number(),\n}, { $id: 'StellarCreatePassiveSellOfferOp' });\nvar StellarSignerType;\n(function (StellarSignerType) {\n StellarSignerType[StellarSignerType[\"ACCOUNT\"] = 0] = \"ACCOUNT\";\n StellarSignerType[StellarSignerType[\"PRE_AUTH\"] = 1] = \"PRE_AUTH\";\n StellarSignerType[StellarSignerType[\"HASH\"] = 2] = \"HASH\";\n})(StellarSignerType || (exports.StellarSignerType = StellarSignerType = {}));\nexports.EnumStellarSignerType = schema_utils_1.Type.Enum(StellarSignerType);\nexports.StellarSetOptionsOp = schema_utils_1.Type.Object({\n source_account: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n inflation_destination_account: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n clear_flags: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n set_flags: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n master_weight: schema_utils_1.Type.Optional(schema_utils_1.Type.Uint()),\n low_threshold: schema_utils_1.Type.Optional(schema_utils_1.Type.Uint()),\n medium_threshold: schema_utils_1.Type.Optional(schema_utils_1.Type.Uint()),\n high_threshold: schema_utils_1.Type.Optional(schema_utils_1.Type.Uint()),\n home_domain: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n signer_type: schema_utils_1.Type.Optional(exports.EnumStellarSignerType),\n signer_key: schema_utils_1.Type.Optional(schema_utils_1.Type.Union([schema_utils_1.Type.Buffer(), schema_utils_1.Type.String()])),\n signer_weight: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n}, { $id: 'StellarSetOptionsOp' });\nexports.StellarChangeTrustOp = schema_utils_1.Type.Object({\n source_account: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n asset: exports.StellarAsset,\n limit: schema_utils_1.Type.Uint(),\n}, { $id: 'StellarChangeTrustOp' });\nexports.StellarAllowTrustOp = schema_utils_1.Type.Object({\n source_account: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n trusted_account: schema_utils_1.Type.String(),\n asset_type: exports.EnumStellarAssetType,\n asset_code: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n is_authorized: schema_utils_1.Type.Boolean(),\n}, { $id: 'StellarAllowTrustOp' });\nexports.StellarAccountMergeOp = schema_utils_1.Type.Object({\n source_account: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n destination_account: schema_utils_1.Type.String(),\n}, { $id: 'StellarAccountMergeOp' });\nexports.StellarManageDataOp = schema_utils_1.Type.Object({\n source_account: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n key: schema_utils_1.Type.String(),\n value: schema_utils_1.Type.Optional(schema_utils_1.Type.Union([schema_utils_1.Type.Buffer(), schema_utils_1.Type.String()])),\n}, { $id: 'StellarManageDataOp' });\nexports.StellarBumpSequenceOp = schema_utils_1.Type.Object({\n source_account: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n bump_to: schema_utils_1.Type.Uint(),\n}, { $id: 'StellarBumpSequenceOp' });\nexports.StellarClaimClaimableBalanceOp = schema_utils_1.Type.Object({\n source_account: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n balance_id: schema_utils_1.Type.String(),\n}, { $id: 'StellarClaimClaimableBalanceOp' });\nexports.StellarSignedTx = schema_utils_1.Type.Object({\n public_key: schema_utils_1.Type.String(),\n signature: schema_utils_1.Type.String(),\n}, { $id: 'StellarSignedTx' });\nexports.TezosGetAddress = schema_utils_1.Type.Object({\n address_n: schema_utils_1.Type.Array(schema_utils_1.Type.Number()),\n show_display: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n chunkify: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n}, { $id: 'TezosGetAddress' });\nexports.TezosAddress = schema_utils_1.Type.Object({\n address: schema_utils_1.Type.String(),\n}, { $id: 'TezosAddress' });\nexports.TezosGetPublicKey = schema_utils_1.Type.Object({\n address_n: schema_utils_1.Type.Array(schema_utils_1.Type.Number()),\n show_display: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n chunkify: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n}, { $id: 'TezosGetPublicKey' });\nexports.TezosPublicKey = schema_utils_1.Type.Object({\n public_key: schema_utils_1.Type.String(),\n}, { $id: 'TezosPublicKey' });\nvar TezosContractType;\n(function (TezosContractType) {\n TezosContractType[TezosContractType[\"Implicit\"] = 0] = \"Implicit\";\n TezosContractType[TezosContractType[\"Originated\"] = 1] = \"Originated\";\n})(TezosContractType || (exports.TezosContractType = TezosContractType = {}));\nexports.EnumTezosContractType = schema_utils_1.Type.Enum(TezosContractType);\nexports.TezosContractID = schema_utils_1.Type.Object({\n tag: schema_utils_1.Type.Number(),\n hash: schema_utils_1.Type.Uint8Array(),\n}, { $id: 'TezosContractID' });\nexports.TezosRevealOp = schema_utils_1.Type.Object({\n source: schema_utils_1.Type.Uint8Array(),\n fee: schema_utils_1.Type.Uint(),\n counter: schema_utils_1.Type.Number(),\n gas_limit: schema_utils_1.Type.Number(),\n storage_limit: schema_utils_1.Type.Number(),\n public_key: schema_utils_1.Type.Uint8Array(),\n}, { $id: 'TezosRevealOp' });\nexports.TezosManagerTransfer = schema_utils_1.Type.Object({\n destination: exports.TezosContractID,\n amount: schema_utils_1.Type.Uint(),\n}, { $id: 'TezosManagerTransfer' });\nexports.TezosParametersManager = schema_utils_1.Type.Object({\n set_delegate: schema_utils_1.Type.Optional(schema_utils_1.Type.Uint8Array()),\n cancel_delegate: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n transfer: schema_utils_1.Type.Optional(exports.TezosManagerTransfer),\n}, { $id: 'TezosParametersManager' });\nexports.TezosTransactionOp = schema_utils_1.Type.Object({\n source: schema_utils_1.Type.Uint8Array(),\n fee: schema_utils_1.Type.Uint(),\n counter: schema_utils_1.Type.Number(),\n gas_limit: schema_utils_1.Type.Number(),\n storage_limit: schema_utils_1.Type.Number(),\n amount: schema_utils_1.Type.Uint(),\n destination: exports.TezosContractID,\n parameters: schema_utils_1.Type.Optional(schema_utils_1.Type.Array(schema_utils_1.Type.Number())),\n parameters_manager: schema_utils_1.Type.Optional(exports.TezosParametersManager),\n}, { $id: 'TezosTransactionOp' });\nexports.TezosOriginationOp = schema_utils_1.Type.Object({\n source: schema_utils_1.Type.Uint8Array(),\n fee: schema_utils_1.Type.Uint(),\n counter: schema_utils_1.Type.Number(),\n gas_limit: schema_utils_1.Type.Number(),\n storage_limit: schema_utils_1.Type.Number(),\n manager_pubkey: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n balance: schema_utils_1.Type.Number(),\n spendable: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n delegatable: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n delegate: schema_utils_1.Type.Optional(schema_utils_1.Type.Uint8Array()),\n script: schema_utils_1.Type.Union([schema_utils_1.Type.String(), schema_utils_1.Type.Array(schema_utils_1.Type.Number())]),\n}, { $id: 'TezosOriginationOp' });\nexports.TezosDelegationOp = schema_utils_1.Type.Object({\n source: schema_utils_1.Type.Uint8Array(),\n fee: schema_utils_1.Type.Uint(),\n counter: schema_utils_1.Type.Number(),\n gas_limit: schema_utils_1.Type.Number(),\n storage_limit: schema_utils_1.Type.Number(),\n delegate: schema_utils_1.Type.Uint8Array(),\n}, { $id: 'TezosDelegationOp' });\nexports.TezosProposalOp = schema_utils_1.Type.Object({\n source: schema_utils_1.Type.String(),\n period: schema_utils_1.Type.Number(),\n proposals: schema_utils_1.Type.Array(schema_utils_1.Type.String()),\n}, { $id: 'TezosProposalOp' });\nvar TezosBallotType;\n(function (TezosBallotType) {\n TezosBallotType[TezosBallotType[\"Yay\"] = 0] = \"Yay\";\n TezosBallotType[TezosBallotType[\"Nay\"] = 1] = \"Nay\";\n TezosBallotType[TezosBallotType[\"Pass\"] = 2] = \"Pass\";\n})(TezosBallotType || (exports.TezosBallotType = TezosBallotType = {}));\nexports.EnumTezosBallotType = schema_utils_1.Type.Enum(TezosBallotType);\nexports.TezosBallotOp = schema_utils_1.Type.Object({\n source: schema_utils_1.Type.String(),\n period: schema_utils_1.Type.Number(),\n proposal: schema_utils_1.Type.String(),\n ballot: exports.EnumTezosBallotType,\n}, { $id: 'TezosBallotOp' });\nexports.TezosSignTx = schema_utils_1.Type.Object({\n address_n: schema_utils_1.Type.Array(schema_utils_1.Type.Number()),\n branch: schema_utils_1.Type.Uint8Array(),\n reveal: schema_utils_1.Type.Optional(exports.TezosRevealOp),\n transaction: schema_utils_1.Type.Optional(exports.TezosTransactionOp),\n origination: schema_utils_1.Type.Optional(exports.TezosOriginationOp),\n delegation: schema_utils_1.Type.Optional(exports.TezosDelegationOp),\n proposal: schema_utils_1.Type.Optional(exports.TezosProposalOp),\n ballot: schema_utils_1.Type.Optional(exports.TezosBallotOp),\n chunkify: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n}, { $id: 'TezosSignTx' });\nexports.TezosSignedTx = schema_utils_1.Type.Object({\n signature: schema_utils_1.Type.String(),\n sig_op_contents: schema_utils_1.Type.String(),\n operation_hash: schema_utils_1.Type.String(),\n}, { $id: 'TezosSignedTx' });\nexports.MessageType = schema_utils_1.Type.Object({\n BinanceGetAddress: exports.BinanceGetAddress,\n BinanceAddress: exports.BinanceAddress,\n BinanceGetPublicKey: exports.BinanceGetPublicKey,\n BinancePublicKey: exports.BinancePublicKey,\n BinanceSignTx: exports.BinanceSignTx,\n BinanceTxRequest: exports.BinanceTxRequest,\n BinanceCoin: exports.BinanceCoin,\n BinanceInputOutput: exports.BinanceInputOutput,\n BinanceTransferMsg: exports.BinanceTransferMsg,\n BinanceOrderMsg: exports.BinanceOrderMsg,\n BinanceCancelMsg: exports.BinanceCancelMsg,\n BinanceSignedTx: exports.BinanceSignedTx,\n HDNodeType: exports.HDNodeType,\n HDNodePathType: exports.HDNodePathType,\n MultisigRedeemScriptType: exports.MultisigRedeemScriptType,\n GetPublicKey: exports.GetPublicKey,\n PublicKey: exports.PublicKey,\n GetAddress: exports.GetAddress,\n Address: exports.Address,\n GetOwnershipId: exports.GetOwnershipId,\n OwnershipId: exports.OwnershipId,\n SignMessage: exports.SignMessage,\n MessageSignature: exports.MessageSignature,\n VerifyMessage: exports.VerifyMessage,\n CoinJoinRequest: exports.CoinJoinRequest,\n SignTx: exports.SignTx,\n TxRequestDetailsType: exports.TxRequestDetailsType,\n TxRequestSerializedType: exports.TxRequestSerializedType,\n TxRequest: exports.TxRequest,\n TxInputType: exports.TxInputType,\n TxOutputBinType: exports.TxOutputBinType,\n TxOutputType: exports.TxOutputType,\n PrevTx: exports.PrevTx,\n PrevInput: exports.PrevInput,\n PrevOutput: exports.PrevOutput,\n TextMemo: exports.TextMemo,\n RefundMemo: exports.RefundMemo,\n CoinPurchaseMemo: exports.CoinPurchaseMemo,\n PaymentRequestMemo: exports.PaymentRequestMemo,\n TxAckPaymentRequest: exports.TxAckPaymentRequest,\n TxAck: exports.TxAck,\n TxAckInputWrapper: exports.TxAckInputWrapper,\n TxAckInput: exports.TxAckInput,\n TxAckOutputWrapper: exports.TxAckOutputWrapper,\n TxAckOutput: exports.TxAckOutput,\n TxAckPrevMeta: exports.TxAckPrevMeta,\n TxAckPrevInputWrapper: exports.TxAckPrevInputWrapper,\n TxAckPrevInput: exports.TxAckPrevInput,\n TxAckPrevOutputWrapper: exports.TxAckPrevOutputWrapper,\n TxAckPrevOutput: exports.TxAckPrevOutput,\n TxAckPrevExtraDataWrapper: exports.TxAckPrevExtraDataWrapper,\n TxAckPrevExtraData: exports.TxAckPrevExtraData,\n GetOwnershipProof: exports.GetOwnershipProof,\n OwnershipProof: exports.OwnershipProof,\n AuthorizeCoinJoin: exports.AuthorizeCoinJoin,\n FirmwareErase: exports.FirmwareErase,\n FirmwareRequest: exports.FirmwareRequest,\n FirmwareUpload: exports.FirmwareUpload,\n ProdTestT1: exports.ProdTestT1,\n CardanoBlockchainPointerType: exports.CardanoBlockchainPointerType,\n CardanoNativeScript: exports.CardanoNativeScript,\n CardanoGetNativeScriptHash: exports.CardanoGetNativeScriptHash,\n CardanoNativeScriptHash: exports.CardanoNativeScriptHash,\n CardanoAddressParametersType: exports.CardanoAddressParametersType,\n CardanoGetAddress: exports.CardanoGetAddress,\n CardanoAddress: exports.CardanoAddress,\n CardanoGetPublicKey: exports.CardanoGetPublicKey,\n CardanoPublicKey: exports.CardanoPublicKey,\n CardanoSignTxInit: exports.CardanoSignTxInit,\n CardanoTxInput: exports.CardanoTxInput,\n CardanoTxOutput: exports.CardanoTxOutput,\n CardanoAssetGroup: exports.CardanoAssetGroup,\n CardanoToken: exports.CardanoToken,\n CardanoTxInlineDatumChunk: exports.CardanoTxInlineDatumChunk,\n CardanoTxReferenceScriptChunk: exports.CardanoTxReferenceScriptChunk,\n CardanoPoolOwner: exports.CardanoPoolOwner,\n CardanoPoolRelayParameters: exports.CardanoPoolRelayParameters,\n CardanoPoolMetadataType: exports.CardanoPoolMetadataType,\n CardanoPoolParametersType: exports.CardanoPoolParametersType,\n CardanoTxCertificate: exports.CardanoTxCertificate,\n CardanoTxWithdrawal: exports.CardanoTxWithdrawal,\n CardanoCVoteRegistrationDelegation: exports.CardanoCVoteRegistrationDelegation,\n CardanoCVoteRegistrationParametersType: exports.CardanoCVoteRegistrationParametersType,\n CardanoTxAuxiliaryData: exports.CardanoTxAuxiliaryData,\n CardanoTxMint: exports.CardanoTxMint,\n CardanoTxCollateralInput: exports.CardanoTxCollateralInput,\n CardanoTxRequiredSigner: exports.CardanoTxRequiredSigner,\n CardanoTxReferenceInput: exports.CardanoTxReferenceInput,\n CardanoTxItemAck: exports.CardanoTxItemAck,\n CardanoTxAuxiliaryDataSupplement: exports.CardanoTxAuxiliaryDataSupplement,\n CardanoTxWitnessRequest: exports.CardanoTxWitnessRequest,\n CardanoTxWitnessResponse: exports.CardanoTxWitnessResponse,\n CardanoTxHostAck: exports.CardanoTxHostAck,\n CardanoTxBodyHash: exports.CardanoTxBodyHash,\n CardanoSignTxFinished: exports.CardanoSignTxFinished,\n Success: exports.Success,\n Failure: exports.Failure,\n ButtonRequest: exports.ButtonRequest,\n ButtonAck: exports.ButtonAck,\n PinMatrixRequest: exports.PinMatrixRequest,\n PinMatrixAck: exports.PinMatrixAck,\n PassphraseRequest: exports.PassphraseRequest,\n PassphraseAck: exports.PassphraseAck,\n Deprecated_PassphraseStateRequest: exports.Deprecated_PassphraseStateRequest,\n Deprecated_PassphraseStateAck: exports.Deprecated_PassphraseStateAck,\n CipherKeyValue: exports.CipherKeyValue,\n CipheredKeyValue: exports.CipheredKeyValue,\n IdentityType: exports.IdentityType,\n SignIdentity: exports.SignIdentity,\n SignedIdentity: exports.SignedIdentity,\n GetECDHSessionKey: exports.GetECDHSessionKey,\n ECDHSessionKey: exports.ECDHSessionKey,\n DebugLinkResetDebugEvents: exports.DebugLinkResetDebugEvents,\n EosGetPublicKey: exports.EosGetPublicKey,\n EosPublicKey: exports.EosPublicKey,\n EosTxHeader: exports.EosTxHeader,\n EosSignTx: exports.EosSignTx,\n EosTxActionRequest: exports.EosTxActionRequest,\n EosAsset: exports.EosAsset,\n EosPermissionLevel: exports.EosPermissionLevel,\n EosAuthorizationKey: exports.EosAuthorizationKey,\n EosAuthorizationAccount: exports.EosAuthorizationAccount,\n EosAuthorizationWait: exports.EosAuthorizationWait,\n EosAuthorization: exports.EosAuthorization,\n EosActionCommon: exports.EosActionCommon,\n EosActionTransfer: exports.EosActionTransfer,\n EosActionDelegate: exports.EosActionDelegate,\n EosActionUndelegate: exports.EosActionUndelegate,\n EosActionRefund: exports.EosActionRefund,\n EosActionBuyRam: exports.EosActionBuyRam,\n EosActionBuyRamBytes: exports.EosActionBuyRamBytes,\n EosActionSellRam: exports.EosActionSellRam,\n EosActionVoteProducer: exports.EosActionVoteProducer,\n EosActionUpdateAuth: exports.EosActionUpdateAuth,\n EosActionDeleteAuth: exports.EosActionDeleteAuth,\n EosActionLinkAuth: exports.EosActionLinkAuth,\n EosActionUnlinkAuth: exports.EosActionUnlinkAuth,\n EosActionNewAccount: exports.EosActionNewAccount,\n EosActionUnknown: exports.EosActionUnknown,\n EosTxActionAck: exports.EosTxActionAck,\n EosSignedTx: exports.EosSignedTx,\n EthereumNetworkInfo: exports.EthereumNetworkInfo,\n EthereumTokenInfo: exports.EthereumTokenInfo,\n EthereumDefinitions: exports.EthereumDefinitions,\n EthereumSignTypedData: exports.EthereumSignTypedData,\n EthereumTypedDataStructRequest: exports.EthereumTypedDataStructRequest,\n EthereumFieldType: exports.EthereumFieldType,\n EthereumStructMember: exports.EthereumStructMember,\n EthereumTypedDataStructAck: exports.EthereumTypedDataStructAck,\n EthereumTypedDataValueRequest: exports.EthereumTypedDataValueRequest,\n EthereumTypedDataValueAck: exports.EthereumTypedDataValueAck,\n EthereumGetPublicKey: exports.EthereumGetPublicKey,\n EthereumPublicKey: exports.EthereumPublicKey,\n EthereumGetAddress: exports.EthereumGetAddress,\n EthereumAddress: exports.EthereumAddress,\n EthereumSignTx: exports.EthereumSignTx,\n EthereumAccessList: exports.EthereumAccessList,\n EthereumSignTxEIP1559: exports.EthereumSignTxEIP1559,\n EthereumTxRequest: exports.EthereumTxRequest,\n EthereumTxAck: exports.EthereumTxAck,\n EthereumSignMessage: exports.EthereumSignMessage,\n EthereumMessageSignature: exports.EthereumMessageSignature,\n EthereumVerifyMessage: exports.EthereumVerifyMessage,\n EthereumSignTypedHash: exports.EthereumSignTypedHash,\n EthereumTypedDataSignature: exports.EthereumTypedDataSignature,\n Initialize: exports.Initialize,\n GetFeatures: exports.GetFeatures,\n Features: exports.Features,\n LockDevice: exports.LockDevice,\n SetBusy: exports.SetBusy,\n EndSession: exports.EndSession,\n ApplySettings: exports.ApplySettings,\n ChangeLanguage: exports.ChangeLanguage,\n TranslationDataRequest: exports.TranslationDataRequest,\n TranslationDataAck: exports.TranslationDataAck,\n ApplyFlags: exports.ApplyFlags,\n ChangePin: exports.ChangePin,\n ChangeWipeCode: exports.ChangeWipeCode,\n SdProtect: exports.SdProtect,\n Ping: exports.Ping,\n Cancel: exports.Cancel,\n GetEntropy: exports.GetEntropy,\n Entropy: exports.Entropy,\n GetFirmwareHash: exports.GetFirmwareHash,\n FirmwareHash: exports.FirmwareHash,\n AuthenticateDevice: exports.AuthenticateDevice,\n AuthenticityProof: exports.AuthenticityProof,\n WipeDevice: exports.WipeDevice,\n ResetDevice: exports.ResetDevice,\n Slip39Group: exports.Slip39Group,\n BackupDevice: exports.BackupDevice,\n EntropyRequest: exports.EntropyRequest,\n EntropyAck: exports.EntropyAck,\n RecoveryDevice: exports.RecoveryDevice,\n WordRequest: exports.WordRequest,\n WordAck: exports.WordAck,\n SetU2FCounter: exports.SetU2FCounter,\n GetNextU2FCounter: exports.GetNextU2FCounter,\n NextU2FCounter: exports.NextU2FCounter,\n DoPreauthorized: exports.DoPreauthorized,\n PreauthorizedRequest: exports.PreauthorizedRequest,\n CancelAuthorization: exports.CancelAuthorization,\n RebootToBootloader: exports.RebootToBootloader,\n GetNonce: exports.GetNonce,\n Nonce: exports.Nonce,\n UnlockPath: exports.UnlockPath,\n UnlockedPathRequest: exports.UnlockedPathRequest,\n ShowDeviceTutorial: exports.ShowDeviceTutorial,\n UnlockBootloader: exports.UnlockBootloader,\n NEMGetAddress: exports.NEMGetAddress,\n NEMAddress: exports.NEMAddress,\n NEMTransactionCommon: exports.NEMTransactionCommon,\n NEMMosaic: exports.NEMMosaic,\n NEMTransfer: exports.NEMTransfer,\n NEMProvisionNamespace: exports.NEMProvisionNamespace,\n NEMMosaicDefinition: exports.NEMMosaicDefinition,\n NEMMosaicCreation: exports.NEMMosaicCreation,\n NEMMosaicSupplyChange: exports.NEMMosaicSupplyChange,\n NEMCosignatoryModification: exports.NEMCosignatoryModification,\n NEMAggregateModification: exports.NEMAggregateModification,\n NEMImportanceTransfer: exports.NEMImportanceTransfer,\n NEMSignTx: exports.NEMSignTx,\n NEMSignedTx: exports.NEMSignedTx,\n NEMDecryptMessage: exports.NEMDecryptMessage,\n NEMDecryptedMessage: exports.NEMDecryptedMessage,\n experimental_message: exports.experimental_message,\n experimental_field: exports.experimental_field,\n RippleGetAddress: exports.RippleGetAddress,\n RippleAddress: exports.RippleAddress,\n RipplePayment: exports.RipplePayment,\n RippleSignTx: exports.RippleSignTx,\n RippleSignedTx: exports.RippleSignedTx,\n SolanaGetPublicKey: exports.SolanaGetPublicKey,\n SolanaPublicKey: exports.SolanaPublicKey,\n SolanaGetAddress: exports.SolanaGetAddress,\n SolanaAddress: exports.SolanaAddress,\n SolanaTxTokenAccountInfo: exports.SolanaTxTokenAccountInfo,\n SolanaTxAdditionalInfo: exports.SolanaTxAdditionalInfo,\n SolanaSignTx: exports.SolanaSignTx,\n SolanaTxSignature: exports.SolanaTxSignature,\n StellarAsset: exports.StellarAsset,\n StellarGetAddress: exports.StellarGetAddress,\n StellarAddress: exports.StellarAddress,\n StellarSignTx: exports.StellarSignTx,\n StellarTxOpRequest: exports.StellarTxOpRequest,\n StellarPaymentOp: exports.StellarPaymentOp,\n StellarCreateAccountOp: exports.StellarCreateAccountOp,\n StellarPathPaymentStrictReceiveOp: exports.StellarPathPaymentStrictReceiveOp,\n StellarPathPaymentStrictSendOp: exports.StellarPathPaymentStrictSendOp,\n StellarManageSellOfferOp: exports.StellarManageSellOfferOp,\n StellarManageBuyOfferOp: exports.StellarManageBuyOfferOp,\n StellarCreatePassiveSellOfferOp: exports.StellarCreatePassiveSellOfferOp,\n StellarSetOptionsOp: exports.StellarSetOptionsOp,\n StellarChangeTrustOp: exports.StellarChangeTrustOp,\n StellarAllowTrustOp: exports.StellarAllowTrustOp,\n StellarAccountMergeOp: exports.StellarAccountMergeOp,\n StellarManageDataOp: exports.StellarManageDataOp,\n StellarBumpSequenceOp: exports.StellarBumpSequenceOp,\n StellarClaimClaimableBalanceOp: exports.StellarClaimClaimableBalanceOp,\n StellarSignedTx: exports.StellarSignedTx,\n TezosGetAddress: exports.TezosGetAddress,\n TezosAddress: exports.TezosAddress,\n TezosGetPublicKey: exports.TezosGetPublicKey,\n TezosPublicKey: exports.TezosPublicKey,\n TezosContractID: exports.TezosContractID,\n TezosRevealOp: exports.TezosRevealOp,\n TezosManagerTransfer: exports.TezosManagerTransfer,\n TezosParametersManager: exports.TezosParametersManager,\n TezosTransactionOp: exports.TezosTransactionOp,\n TezosOriginationOp: exports.TezosOriginationOp,\n TezosDelegationOp: exports.TezosDelegationOp,\n TezosProposalOp: exports.TezosProposalOp,\n TezosBallotOp: exports.TezosBallotOp,\n TezosSignTx: exports.TezosSignTx,\n TezosSignedTx: exports.TezosSignedTx,\n}, { $id: 'MessageType' });\n//# sourceMappingURL=messages-schema.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DeviceModelInternal = exports.MessagesSchema = exports.createMessageFromType = exports.createMessageFromName = exports.parseConfigure = exports.Messages = void 0;\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./decode\"), exports);\ntslib_1.__exportStar(require(\"./encode\"), exports);\nexports.Messages = tslib_1.__importStar(require(\"./messages\"));\ntslib_1.__exportStar(require(\"./types\"), exports);\nvar utils_1 = require(\"./utils\");\nObject.defineProperty(exports, \"parseConfigure\", { enumerable: true, get: function () { return utils_1.parseConfigure; } });\nObject.defineProperty(exports, \"createMessageFromName\", { enumerable: true, get: function () { return utils_1.createMessageFromName; } });\nObject.defineProperty(exports, \"createMessageFromType\", { enumerable: true, get: function () { return utils_1.createMessageFromType; } });\nexports.MessagesSchema = tslib_1.__importStar(require(\"./messages-schema\"));\nvar messages_schema_1 = require(\"./messages-schema\");\nObject.defineProperty(exports, \"DeviceModelInternal\", { enumerable: true, get: function () { return messages_schema_1.DeviceModelInternal; } });\n//# sourceMappingURL=index.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PROTO = exports.NEM = exports.CARDANO = exports.NETWORK = exports.ERRORS = void 0;\nconst tslib_1 = require(\"tslib\");\nexports.ERRORS = tslib_1.__importStar(require(\"./errors\"));\nexports.NETWORK = tslib_1.__importStar(require(\"./network\"));\nexports.CARDANO = tslib_1.__importStar(require(\"./cardano\"));\nexports.NEM = tslib_1.__importStar(require(\"./nem\"));\nvar protobuf_1 = require(\"@trezor/protobuf\");\nObject.defineProperty(exports, \"PROTO\", { enumerable: true, get: function () { return protobuf_1.MessagesSchema; } });\n//# sourceMappingURL=index.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=index.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=account.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SelectFeeLevel = exports.FeeLevel = exports.FeeInfo = void 0;\nconst schema_utils_1 = require(\"@trezor/schema-utils\");\nexports.FeeInfo = schema_utils_1.Type.Object({\n blockTime: schema_utils_1.Type.Number(),\n minFee: schema_utils_1.Type.Number(),\n maxFee: schema_utils_1.Type.Number(),\n dustLimit: schema_utils_1.Type.Number(),\n});\nexports.FeeLevel = schema_utils_1.Type.Object({\n label: schema_utils_1.Type.Union([\n schema_utils_1.Type.Literal('high'),\n schema_utils_1.Type.Literal('normal'),\n schema_utils_1.Type.Literal('economy'),\n schema_utils_1.Type.Literal('low'),\n schema_utils_1.Type.Literal('custom'),\n ]),\n feePerUnit: schema_utils_1.Type.String(),\n blocks: schema_utils_1.Type.Number(),\n feeLimit: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n feePerTx: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n});\nexports.SelectFeeLevel = schema_utils_1.Type.Union([\n schema_utils_1.Type.Object({\n name: schema_utils_1.Type.String(),\n fee: schema_utils_1.Type.Literal('0'),\n feePerByte: schema_utils_1.Type.Optional(schema_utils_1.Type.Undefined()),\n disabled: schema_utils_1.Type.Literal(true),\n }),\n schema_utils_1.Type.Object({\n name: schema_utils_1.Type.String(),\n fee: schema_utils_1.Type.String(),\n feePerByte: schema_utils_1.Type.String(),\n minutes: schema_utils_1.Type.Number(),\n total: schema_utils_1.Type.String(),\n }),\n]);\n//# sourceMappingURL=fees.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DeviceModelInternal = exports.FirmwareType = void 0;\nvar FirmwareType;\n(function (FirmwareType) {\n FirmwareType[\"BitcoinOnly\"] = \"bitcoin-only\";\n FirmwareType[\"Regular\"] = \"regular\";\n})(FirmwareType || (exports.FirmwareType = FirmwareType = {}));\nvar protobuf_1 = require(\"@trezor/protobuf\");\nObject.defineProperty(exports, \"DeviceModelInternal\", { enumerable: true, get: function () { return protobuf_1.DeviceModelInternal; } });\n//# sourceMappingURL=device.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CoinInfo = exports.MiscNetworkInfo = exports.EthereumNetworkInfo = exports.BitcoinNetworkInfo = exports.BlockchainLink = exports.CoinSupport = exports.CoinObj = exports.Network = exports.Bip32 = void 0;\nconst schema_utils_1 = require(\"@trezor/schema-utils\");\nconst fees_1 = require(\"./fees\");\nconst device_1 = require(\"./device\");\nexports.Bip32 = schema_utils_1.Type.Object({\n public: schema_utils_1.Type.Number(),\n private: schema_utils_1.Type.Number(),\n});\nexports.Network = schema_utils_1.Type.Object({\n messagePrefix: schema_utils_1.Type.String(),\n bech32: schema_utils_1.Type.String(),\n bip32: exports.Bip32,\n pubKeyHash: schema_utils_1.Type.Number(),\n scriptHash: schema_utils_1.Type.Number(),\n wif: schema_utils_1.Type.Number(),\n forkId: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n});\nexports.CoinObj = schema_utils_1.Type.Object({\n coin: schema_utils_1.Type.String(),\n identity: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n});\nexports.CoinSupport = schema_utils_1.Type.Composite([\n schema_utils_1.Type.Object({\n connect: schema_utils_1.Type.Boolean(),\n }),\n schema_utils_1.Type.Record(schema_utils_1.Type.KeyOfEnum(device_1.DeviceModelInternal), schema_utils_1.Type.Union([schema_utils_1.Type.String(), schema_utils_1.Type.Literal(false)])),\n]);\nexports.BlockchainLink = schema_utils_1.Type.Object({\n type: schema_utils_1.Type.String(),\n url: schema_utils_1.Type.Array(schema_utils_1.Type.String()),\n});\nconst Common = schema_utils_1.Type.Object({\n label: schema_utils_1.Type.String(),\n name: schema_utils_1.Type.String(),\n shortcut: schema_utils_1.Type.String(),\n slip44: schema_utils_1.Type.Number(),\n support: exports.CoinSupport,\n decimals: schema_utils_1.Type.Number(),\n blockchainLink: schema_utils_1.Type.Optional(exports.BlockchainLink),\n blockTime: schema_utils_1.Type.Number(),\n minFee: schema_utils_1.Type.Number(),\n maxFee: schema_utils_1.Type.Number(),\n defaultFees: schema_utils_1.Type.Array(fees_1.FeeLevel),\n});\nexports.BitcoinNetworkInfo = schema_utils_1.Type.Intersect([\n Common,\n schema_utils_1.Type.Object({\n type: schema_utils_1.Type.Literal('bitcoin'),\n cashAddrPrefix: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n curveName: schema_utils_1.Type.String(),\n dustLimit: schema_utils_1.Type.Number(),\n forceBip143: schema_utils_1.Type.Boolean(),\n hashGenesisBlock: schema_utils_1.Type.String(),\n maxAddressLength: schema_utils_1.Type.Number(),\n maxFeeSatoshiKb: schema_utils_1.Type.Number(),\n minAddressLength: schema_utils_1.Type.Number(),\n minFeeSatoshiKb: schema_utils_1.Type.Number(),\n segwit: schema_utils_1.Type.Boolean(),\n xPubMagic: schema_utils_1.Type.Number(),\n xPubMagicSegwitNative: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n xPubMagicSegwit: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n taproot: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n network: exports.Network,\n isBitcoin: schema_utils_1.Type.Boolean(),\n }),\n]);\nexports.EthereumNetworkInfo = schema_utils_1.Type.Intersect([\n Common,\n schema_utils_1.Type.Object({\n type: schema_utils_1.Type.Literal('ethereum'),\n chainId: schema_utils_1.Type.Number(),\n network: schema_utils_1.Type.Optional(schema_utils_1.Type.Undefined()),\n }),\n]);\nexports.MiscNetworkInfo = schema_utils_1.Type.Intersect([\n Common,\n schema_utils_1.Type.Object({\n type: schema_utils_1.Type.Union([schema_utils_1.Type.Literal('misc'), schema_utils_1.Type.Literal('nem')]),\n curve: schema_utils_1.Type.String(),\n network: schema_utils_1.Type.Optional(schema_utils_1.Type.Undefined()),\n }),\n]);\nexports.CoinInfo = schema_utils_1.Type.Union([exports.BitcoinNetworkInfo, exports.EthereumNetworkInfo, exports.MiscNetworkInfo]);\n//# sourceMappingURL=coinInfo.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IntermediaryVersion = void 0;\nconst schema_utils_1 = require(\"@trezor/schema-utils\");\nexports.IntermediaryVersion = schema_utils_1.Type.Union([schema_utils_1.Type.Literal(1), schema_utils_1.Type.Literal(2), schema_utils_1.Type.Literal(3)]);\n//# sourceMappingURL=firmware.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PublicKey = exports.GetPublicKey = exports.GetAddress = exports.DerivationPath = exports.Bundle = void 0;\nconst schema_utils_1 = require(\"@trezor/schema-utils\");\nconst Bundle = (type) => schema_utils_1.Type.Object({ bundle: schema_utils_1.Type.Array(type, { minItems: 1 }) });\nexports.Bundle = Bundle;\nexports.DerivationPath = schema_utils_1.Type.Union([schema_utils_1.Type.String(), schema_utils_1.Type.Array(schema_utils_1.Type.Number())], {\n description: 'Derivation Path (BIP32).',\n $id: 'DerivationPath',\n});\nexports.GetAddress = schema_utils_1.Type.Object({\n path: exports.DerivationPath,\n address: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n showOnTrezor: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean({ default: true })),\n chunkify: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n useEventListener: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n});\nexports.GetPublicKey = schema_utils_1.Type.Object({\n path: exports.DerivationPath,\n showOnTrezor: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n suppressBackupWarning: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n chunkify: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n});\nexports.PublicKey = schema_utils_1.Type.Object({\n publicKey: schema_utils_1.Type.String(),\n path: schema_utils_1.Type.Array(schema_utils_1.Type.Number()),\n serializedPath: schema_utils_1.Type.String(),\n});\n//# sourceMappingURL=params.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=settings.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CardanoSignedTxData = exports.CardanoAuxiliaryDataSupplement = exports.CardanoSignedTxWitness = exports.CardanoSignTransactionExtended = exports.CardanoSignTransaction = exports.CardanoAuxiliaryData = exports.CardanoCVoteRegistrationParameters = exports.CardanoCVoteRegistrationDelegation = exports.CardanoReferenceInput = exports.CardanoRequiredSigner = exports.CardanoCollateralInput = exports.CardanoMint = exports.CardanoWithdrawal = exports.CardanoCertificate = exports.CardanoPoolParameters = exports.CardanoPoolMargin = exports.CardanoPoolMetadata = exports.CardanoPoolRelay = exports.CardanoPoolOwner = exports.CardanoOutput = exports.CardanoAssetGroup = exports.CardanoToken = exports.CardanoInput = exports.CardanoGetPublicKey = exports.CardanoNativeScriptHash = exports.CardanoGetNativeScriptHash = exports.CardanoNativeScript = exports.CardanoGetAddress = exports.CardanoAddressParameters = exports.CardanoCertificatePointer = void 0;\nconst schema_utils_1 = require(\"@trezor/schema-utils\");\nconst constants_1 = require(\"../../../constants\");\nconst params_1 = require(\"../../params\");\nexports.CardanoCertificatePointer = schema_utils_1.Type.Object({\n blockIndex: schema_utils_1.Type.Number(),\n txIndex: schema_utils_1.Type.Number(),\n certificateIndex: schema_utils_1.Type.Number(),\n});\nexports.CardanoAddressParameters = schema_utils_1.Type.Object({\n addressType: constants_1.PROTO.EnumCardanoAddressType,\n path: schema_utils_1.Type.Optional(params_1.DerivationPath),\n stakingPath: schema_utils_1.Type.Optional(params_1.DerivationPath),\n stakingKeyHash: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n certificatePointer: schema_utils_1.Type.Optional(exports.CardanoCertificatePointer),\n paymentScriptHash: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n stakingScriptHash: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n});\nexports.CardanoGetAddress = schema_utils_1.Type.Object({\n addressParameters: exports.CardanoAddressParameters,\n protocolMagic: schema_utils_1.Type.Number(),\n networkId: schema_utils_1.Type.Number(),\n address: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n showOnTrezor: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n derivationType: schema_utils_1.Type.Optional(constants_1.PROTO.EnumCardanoDerivationType),\n chunkify: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n});\nexports.CardanoNativeScript = schema_utils_1.Type.Recursive(This => schema_utils_1.Type.Object({\n type: constants_1.PROTO.EnumCardanoNativeScriptType,\n scripts: schema_utils_1.Type.Optional(schema_utils_1.Type.Array(This)),\n keyHash: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n keyPath: schema_utils_1.Type.Optional(params_1.DerivationPath),\n requiredSignaturesCount: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n invalidBefore: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n invalidHereafter: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n}));\nexports.CardanoGetNativeScriptHash = schema_utils_1.Type.Object({\n script: exports.CardanoNativeScript,\n displayFormat: constants_1.PROTO.EnumCardanoNativeScriptHashDisplayFormat,\n derivationType: schema_utils_1.Type.Optional(constants_1.PROTO.EnumCardanoDerivationType),\n});\nexports.CardanoNativeScriptHash = schema_utils_1.Type.Object({\n scriptHash: schema_utils_1.Type.String(),\n});\nexports.CardanoGetPublicKey = schema_utils_1.Type.Intersect([\n params_1.GetPublicKey,\n schema_utils_1.Type.Object({\n derivationType: schema_utils_1.Type.Optional(constants_1.PROTO.EnumCardanoDerivationType),\n }),\n]);\nexports.CardanoInput = schema_utils_1.Type.Object({\n path: schema_utils_1.Type.Optional(params_1.DerivationPath),\n prev_hash: schema_utils_1.Type.String(),\n prev_index: schema_utils_1.Type.Number(),\n});\nexports.CardanoToken = schema_utils_1.Type.Object({\n assetNameBytes: schema_utils_1.Type.String(),\n amount: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n mintAmount: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n});\nexports.CardanoAssetGroup = schema_utils_1.Type.Object({\n policyId: schema_utils_1.Type.String(),\n tokenAmounts: schema_utils_1.Type.Array(exports.CardanoToken),\n});\nexports.CardanoOutput = schema_utils_1.Type.Intersect([\n schema_utils_1.Type.Union([\n schema_utils_1.Type.Object({\n addressParameters: exports.CardanoAddressParameters,\n }),\n schema_utils_1.Type.Object({\n address: schema_utils_1.Type.String(),\n }),\n ]),\n schema_utils_1.Type.Object({\n amount: schema_utils_1.Type.String(),\n tokenBundle: schema_utils_1.Type.Optional(schema_utils_1.Type.Array(exports.CardanoAssetGroup)),\n datumHash: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n format: schema_utils_1.Type.Optional(constants_1.PROTO.EnumCardanoTxOutputSerializationFormat),\n inlineDatum: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n referenceScript: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n }),\n]);\nexports.CardanoPoolOwner = schema_utils_1.Type.Object({\n stakingKeyPath: schema_utils_1.Type.Optional(params_1.DerivationPath),\n stakingKeyHash: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n});\nexports.CardanoPoolRelay = schema_utils_1.Type.Object({\n type: constants_1.PROTO.EnumCardanoPoolRelayType,\n ipv4Address: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n ipv6Address: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n port: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n hostName: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n});\nexports.CardanoPoolMetadata = schema_utils_1.Type.Object({\n url: schema_utils_1.Type.String(),\n hash: schema_utils_1.Type.String(),\n});\nexports.CardanoPoolMargin = schema_utils_1.Type.Object({\n numerator: schema_utils_1.Type.String(),\n denominator: schema_utils_1.Type.String(),\n});\nexports.CardanoPoolParameters = schema_utils_1.Type.Object({\n poolId: schema_utils_1.Type.String(),\n vrfKeyHash: schema_utils_1.Type.String(),\n pledge: schema_utils_1.Type.String(),\n cost: schema_utils_1.Type.String(),\n margin: exports.CardanoPoolMargin,\n rewardAccount: schema_utils_1.Type.String(),\n owners: schema_utils_1.Type.Array(exports.CardanoPoolOwner, { minItems: 1 }),\n relays: schema_utils_1.Type.Array(exports.CardanoPoolRelay),\n metadata: schema_utils_1.Type.Optional(exports.CardanoPoolMetadata),\n});\nexports.CardanoCertificate = schema_utils_1.Type.Object({\n type: constants_1.PROTO.EnumCardanoCertificateType,\n path: schema_utils_1.Type.Optional(params_1.DerivationPath),\n pool: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n poolParameters: schema_utils_1.Type.Optional(exports.CardanoPoolParameters),\n scriptHash: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n keyHash: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n});\nexports.CardanoWithdrawal = schema_utils_1.Type.Object({\n path: schema_utils_1.Type.Optional(params_1.DerivationPath),\n amount: schema_utils_1.Type.String(),\n scriptHash: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n keyHash: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n});\nexports.CardanoMint = schema_utils_1.Type.Array(exports.CardanoAssetGroup);\nexports.CardanoCollateralInput = schema_utils_1.Type.Object({\n path: schema_utils_1.Type.Optional(params_1.DerivationPath),\n prev_hash: schema_utils_1.Type.String(),\n prev_index: schema_utils_1.Type.Number(),\n});\nexports.CardanoRequiredSigner = schema_utils_1.Type.Object({\n keyPath: schema_utils_1.Type.Optional(params_1.DerivationPath),\n keyHash: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n});\nexports.CardanoReferenceInput = schema_utils_1.Type.Object({\n prev_hash: schema_utils_1.Type.String(),\n prev_index: schema_utils_1.Type.Number(),\n});\nexports.CardanoCVoteRegistrationDelegation = schema_utils_1.Type.Object({\n votePublicKey: schema_utils_1.Type.String(),\n weight: schema_utils_1.Type.Number(),\n});\nexports.CardanoCVoteRegistrationParameters = schema_utils_1.Type.Object({\n votePublicKey: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n stakingPath: params_1.DerivationPath,\n paymentAddressParameters: schema_utils_1.Type.Optional(exports.CardanoAddressParameters),\n nonce: schema_utils_1.Type.String(),\n format: schema_utils_1.Type.Optional(constants_1.PROTO.EnumCardanoCVoteRegistrationFormat),\n delegations: schema_utils_1.Type.Optional(schema_utils_1.Type.Array(exports.CardanoCVoteRegistrationDelegation)),\n votingPurpose: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n paymentAddress: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n});\nexports.CardanoAuxiliaryData = schema_utils_1.Type.Object({\n hash: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n cVoteRegistrationParameters: schema_utils_1.Type.Optional(exports.CardanoCVoteRegistrationParameters),\n});\nexports.CardanoSignTransaction = schema_utils_1.Type.Object({\n inputs: schema_utils_1.Type.Array(exports.CardanoInput),\n outputs: schema_utils_1.Type.Array(exports.CardanoOutput),\n fee: schema_utils_1.Type.Uint(),\n ttl: schema_utils_1.Type.Optional(schema_utils_1.Type.Uint()),\n certificates: schema_utils_1.Type.Optional(schema_utils_1.Type.Array(exports.CardanoCertificate)),\n withdrawals: schema_utils_1.Type.Optional(schema_utils_1.Type.Array(exports.CardanoWithdrawal)),\n validityIntervalStart: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n auxiliaryData: schema_utils_1.Type.Optional(exports.CardanoAuxiliaryData),\n mint: schema_utils_1.Type.Optional(exports.CardanoMint),\n scriptDataHash: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n collateralInputs: schema_utils_1.Type.Optional(schema_utils_1.Type.Array(exports.CardanoCollateralInput)),\n requiredSigners: schema_utils_1.Type.Optional(schema_utils_1.Type.Array(exports.CardanoRequiredSigner)),\n collateralReturn: schema_utils_1.Type.Optional(exports.CardanoOutput),\n totalCollateral: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n referenceInputs: schema_utils_1.Type.Optional(schema_utils_1.Type.Array(exports.CardanoReferenceInput)),\n additionalWitnessRequests: schema_utils_1.Type.Optional(schema_utils_1.Type.Array(params_1.DerivationPath)),\n protocolMagic: schema_utils_1.Type.Number(),\n networkId: schema_utils_1.Type.Number(),\n signingMode: constants_1.PROTO.EnumCardanoTxSigningMode,\n derivationType: schema_utils_1.Type.Optional(constants_1.PROTO.EnumCardanoDerivationType),\n includeNetworkId: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n chunkify: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n});\nexports.CardanoSignTransactionExtended = schema_utils_1.Type.Intersect([\n exports.CardanoSignTransaction,\n schema_utils_1.Type.Object({\n unsignedTx: schema_utils_1.Type.Object({\n body: schema_utils_1.Type.String(),\n hash: schema_utils_1.Type.String(),\n }),\n testnet: schema_utils_1.Type.Boolean(),\n }),\n]);\nexports.CardanoSignedTxWitness = schema_utils_1.Type.Object({\n type: constants_1.PROTO.EnumCardanoTxWitnessType,\n pubKey: schema_utils_1.Type.String(),\n signature: schema_utils_1.Type.String(),\n chainCode: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n});\nexports.CardanoAuxiliaryDataSupplement = schema_utils_1.Type.Object({\n type: constants_1.PROTO.EnumCardanoTxAuxiliaryDataSupplementType,\n auxiliaryDataHash: schema_utils_1.Type.String(),\n cVoteRegistrationSignature: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n});\nexports.CardanoSignedTxData = schema_utils_1.Type.Object({\n hash: schema_utils_1.Type.String(),\n witnesses: schema_utils_1.Type.Array(exports.CardanoSignedTxWitness),\n auxiliaryDataSupplement: schema_utils_1.Type.Optional(exports.CardanoAuxiliaryDataSupplement),\n});\n//# sourceMappingURL=index.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BinanceSignTransaction = exports.BinancePreparedTransaction = exports.BinancePreparedMessage = exports.BinanceSDKTransaction = void 0;\nconst constants_1 = require(\"../../../constants\");\nconst params_1 = require(\"../../params\");\nconst schema_utils_1 = require(\"@trezor/schema-utils\");\nexports.BinanceSDKTransaction = schema_utils_1.Type.Object({\n chain_id: schema_utils_1.Type.String(),\n account_number: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n memo: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n sequence: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n source: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n transfer: schema_utils_1.Type.Optional(constants_1.PROTO.BinanceTransferMsg),\n placeOrder: schema_utils_1.Type.Optional(constants_1.PROTO.BinanceOrderMsg),\n cancelOrder: schema_utils_1.Type.Optional(constants_1.PROTO.BinanceCancelMsg),\n});\nexports.BinancePreparedMessage = schema_utils_1.Type.Union([\n schema_utils_1.Type.Intersect([\n constants_1.PROTO.BinanceTransferMsg,\n schema_utils_1.Type.Object({\n type: schema_utils_1.Type.Literal('BinanceTransferMsg'),\n }),\n ]),\n schema_utils_1.Type.Intersect([\n constants_1.PROTO.BinanceOrderMsg,\n schema_utils_1.Type.Object({\n type: schema_utils_1.Type.Literal('BinanceOrderMsg'),\n }),\n ]),\n schema_utils_1.Type.Intersect([\n constants_1.PROTO.BinanceCancelMsg,\n schema_utils_1.Type.Object({\n type: schema_utils_1.Type.Literal('BinanceCancelMsg'),\n }),\n ]),\n]);\nexports.BinancePreparedTransaction = schema_utils_1.Type.Intersect([\n exports.BinanceSDKTransaction,\n schema_utils_1.Type.Object({\n messages: schema_utils_1.Type.Array(exports.BinancePreparedMessage),\n account_number: schema_utils_1.Type.Number(),\n sequence: schema_utils_1.Type.Number(),\n source: schema_utils_1.Type.Number(),\n }),\n]);\nexports.BinanceSignTransaction = schema_utils_1.Type.Object({\n path: params_1.DerivationPath,\n transaction: exports.BinanceSDKTransaction,\n chunkify: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n});\n//# sourceMappingURL=index.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.VerifyMessage = exports.SignMessage = void 0;\nconst params_1 = require(\"../../params\");\nconst schema_utils_1 = require(\"@trezor/schema-utils\");\nexports.SignMessage = schema_utils_1.Type.Object({\n path: params_1.DerivationPath,\n coin: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n message: schema_utils_1.Type.String(),\n hex: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n no_script_type: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n});\nexports.VerifyMessage = schema_utils_1.Type.Object({\n address: schema_utils_1.Type.String(),\n signature: schema_utils_1.Type.String(),\n message: schema_utils_1.Type.String(),\n coin: schema_utils_1.Type.String(),\n hex: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n});\n//# sourceMappingURL=index.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EosSignTransaction = exports.EosSDKTransaction = exports.EosTxAction = exports.EosTxActionCommon = exports.EosAuthorization = exports.EosTxHeader = exports.EosPublicKey = void 0;\nconst constants_1 = require(\"../../../constants\");\nconst params_1 = require(\"../../params\");\nconst schema_utils_1 = require(\"@trezor/schema-utils\");\nexports.EosPublicKey = schema_utils_1.Type.Object({\n wifPublicKey: schema_utils_1.Type.String(),\n rawPublicKey: schema_utils_1.Type.String(),\n path: schema_utils_1.Type.Array(schema_utils_1.Type.Number()),\n serializedPath: schema_utils_1.Type.String(),\n});\nexports.EosTxHeader = schema_utils_1.Type.Object({\n expiration: schema_utils_1.Type.Union([schema_utils_1.Type.Uint(), schema_utils_1.Type.String()]),\n refBlockNum: schema_utils_1.Type.Number(),\n refBlockPrefix: schema_utils_1.Type.Number(),\n maxNetUsageWords: schema_utils_1.Type.Number(),\n maxCpuUsageMs: schema_utils_1.Type.Number(),\n delaySec: schema_utils_1.Type.Number(),\n});\nexports.EosAuthorization = schema_utils_1.Type.Object({\n threshold: schema_utils_1.Type.Number(),\n keys: schema_utils_1.Type.Array(constants_1.PROTO.EosAuthorizationKey),\n accounts: schema_utils_1.Type.Array(schema_utils_1.Type.Object({\n permission: constants_1.PROTO.EosPermissionLevel,\n weight: schema_utils_1.Type.Number(),\n })),\n waits: schema_utils_1.Type.Array(constants_1.PROTO.EosAuthorizationWait),\n});\nexports.EosTxActionCommon = schema_utils_1.Type.Object({\n account: schema_utils_1.Type.String(),\n authorization: schema_utils_1.Type.Array(constants_1.PROTO.EosPermissionLevel),\n});\nexports.EosTxAction = schema_utils_1.Type.Union([\n schema_utils_1.Type.Intersect([\n exports.EosTxActionCommon,\n schema_utils_1.Type.Object({\n name: schema_utils_1.Type.Literal('transfer'),\n data: schema_utils_1.Type.Object({\n from: schema_utils_1.Type.String(),\n to: schema_utils_1.Type.String(),\n quantity: schema_utils_1.Type.String(),\n memo: schema_utils_1.Type.String(),\n }),\n }),\n ]),\n schema_utils_1.Type.Intersect([\n exports.EosTxActionCommon,\n schema_utils_1.Type.Object({\n name: schema_utils_1.Type.Literal('delegatebw'),\n data: schema_utils_1.Type.Object({\n from: schema_utils_1.Type.String(),\n receiver: schema_utils_1.Type.String(),\n stake_net_quantity: schema_utils_1.Type.String(),\n stake_cpu_quantity: schema_utils_1.Type.String(),\n transfer: schema_utils_1.Type.Boolean(),\n }),\n }),\n ]),\n schema_utils_1.Type.Intersect([\n exports.EosTxActionCommon,\n schema_utils_1.Type.Object({\n name: schema_utils_1.Type.Literal('undelegatebw'),\n data: schema_utils_1.Type.Object({\n from: schema_utils_1.Type.String(),\n receiver: schema_utils_1.Type.String(),\n unstake_net_quantity: schema_utils_1.Type.String(),\n unstake_cpu_quantity: schema_utils_1.Type.String(),\n }),\n }),\n ]),\n schema_utils_1.Type.Intersect([\n exports.EosTxActionCommon,\n schema_utils_1.Type.Object({\n name: schema_utils_1.Type.Literal('buyram'),\n data: schema_utils_1.Type.Object({\n payer: schema_utils_1.Type.String(),\n receiver: schema_utils_1.Type.String(),\n quant: schema_utils_1.Type.String(),\n }),\n }),\n ]),\n schema_utils_1.Type.Intersect([\n exports.EosTxActionCommon,\n schema_utils_1.Type.Object({\n name: schema_utils_1.Type.Literal('buyrambytes'),\n data: constants_1.PROTO.EosActionBuyRamBytes,\n }),\n ]),\n schema_utils_1.Type.Intersect([\n exports.EosTxActionCommon,\n schema_utils_1.Type.Object({\n name: schema_utils_1.Type.Literal('sellram'),\n data: constants_1.PROTO.EosActionSellRam,\n }),\n ]),\n schema_utils_1.Type.Intersect([\n exports.EosTxActionCommon,\n schema_utils_1.Type.Object({\n name: schema_utils_1.Type.Literal('voteproducer'),\n data: schema_utils_1.Type.Object({\n voter: schema_utils_1.Type.String(),\n proxy: schema_utils_1.Type.String(),\n producers: schema_utils_1.Type.Array(schema_utils_1.Type.String()),\n }),\n }),\n ]),\n schema_utils_1.Type.Intersect([\n exports.EosTxActionCommon,\n schema_utils_1.Type.Object({\n name: schema_utils_1.Type.Literal('refund'),\n data: constants_1.PROTO.EosActionRefund,\n }),\n ]),\n schema_utils_1.Type.Intersect([\n exports.EosTxActionCommon,\n schema_utils_1.Type.Object({\n name: schema_utils_1.Type.Literal('updateauth'),\n data: schema_utils_1.Type.Object({\n account: schema_utils_1.Type.String(),\n permission: schema_utils_1.Type.String(),\n parent: schema_utils_1.Type.String(),\n auth: exports.EosAuthorization,\n }),\n }),\n ]),\n schema_utils_1.Type.Intersect([\n exports.EosTxActionCommon,\n schema_utils_1.Type.Object({\n name: schema_utils_1.Type.Literal('deleteauth'),\n data: constants_1.PROTO.EosActionDeleteAuth,\n }),\n ]),\n schema_utils_1.Type.Intersect([\n exports.EosTxActionCommon,\n schema_utils_1.Type.Object({\n name: schema_utils_1.Type.Literal('linkauth'),\n data: constants_1.PROTO.EosActionLinkAuth,\n }),\n ]),\n schema_utils_1.Type.Intersect([\n exports.EosTxActionCommon,\n schema_utils_1.Type.Object({\n name: schema_utils_1.Type.Literal('unlinkauth'),\n data: constants_1.PROTO.EosActionUnlinkAuth,\n }),\n ]),\n schema_utils_1.Type.Intersect([\n exports.EosTxActionCommon,\n schema_utils_1.Type.Object({\n name: schema_utils_1.Type.Literal('newaccount'),\n data: schema_utils_1.Type.Object({\n creator: schema_utils_1.Type.String(),\n name: schema_utils_1.Type.String(),\n owner: exports.EosAuthorization,\n active: exports.EosAuthorization,\n }),\n }),\n ]),\n]);\nexports.EosSDKTransaction = schema_utils_1.Type.Object({\n chainId: schema_utils_1.Type.String(),\n header: exports.EosTxHeader,\n actions: schema_utils_1.Type.Array(schema_utils_1.Type.Union([\n exports.EosTxAction,\n schema_utils_1.Type.Intersect([\n exports.EosTxActionCommon,\n schema_utils_1.Type.Object({\n name: schema_utils_1.Type.String(),\n data: schema_utils_1.Type.String(),\n }),\n ]),\n ])),\n});\nexports.EosSignTransaction = schema_utils_1.Type.Object({\n path: params_1.DerivationPath,\n transaction: exports.EosSDKTransaction,\n chunkify: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n});\n//# sourceMappingURL=index.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RippleSignedTx = exports.RippleSignTransaction = exports.RippleTransaction = exports.RipplePayment = void 0;\nconst params_1 = require(\"../../params\");\nconst schema_utils_1 = require(\"@trezor/schema-utils\");\nexports.RipplePayment = schema_utils_1.Type.Object({\n amount: schema_utils_1.Type.String(),\n destination: schema_utils_1.Type.String(),\n destinationTag: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n});\nexports.RippleTransaction = schema_utils_1.Type.Object({\n fee: schema_utils_1.Type.String(),\n flags: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n sequence: schema_utils_1.Type.Number(),\n maxLedgerVersion: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n payment: exports.RipplePayment,\n});\nexports.RippleSignTransaction = schema_utils_1.Type.Object({\n path: params_1.DerivationPath,\n transaction: exports.RippleTransaction,\n chunkify: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n});\nexports.RippleSignedTx = schema_utils_1.Type.Object({\n serializedTx: schema_utils_1.Type.String(),\n signature: schema_utils_1.Type.String(),\n});\n//# sourceMappingURL=index.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EthereumVerifyMessage = exports.EthereumSignTypedHash = exports.EthereumSignTypedData = exports.EthereumSignTypedDataMessage = exports.EthereumSignTypedDataTypes = exports.EthereumSignedTx = exports.EthereumSignTransaction = exports.EthereumTransactionEIP1559 = exports.EthereumAccessList = exports.EthereumTransaction = exports.EthereumSignMessage = void 0;\nconst schema_utils_1 = require(\"@trezor/schema-utils\");\nconst params_1 = require(\"../../params\");\nexports.EthereumSignMessage = schema_utils_1.Type.Object({\n path: params_1.DerivationPath,\n message: schema_utils_1.Type.String(),\n hex: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n});\nexports.EthereumTransaction = schema_utils_1.Type.Object({\n to: schema_utils_1.Type.String(),\n value: schema_utils_1.Type.String(),\n gasPrice: schema_utils_1.Type.String(),\n gasLimit: schema_utils_1.Type.String(),\n maxFeePerGas: schema_utils_1.Type.Optional(schema_utils_1.Type.Undefined()),\n maxPriorityFeePerGas: schema_utils_1.Type.Optional(schema_utils_1.Type.Undefined()),\n nonce: schema_utils_1.Type.String(),\n data: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n chainId: schema_utils_1.Type.Number(),\n txType: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n});\nexports.EthereumAccessList = schema_utils_1.Type.Object({\n address: schema_utils_1.Type.String(),\n storageKeys: schema_utils_1.Type.Array(schema_utils_1.Type.String()),\n});\nexports.EthereumTransactionEIP1559 = schema_utils_1.Type.Object({\n to: schema_utils_1.Type.String(),\n value: schema_utils_1.Type.String(),\n gasLimit: schema_utils_1.Type.String(),\n gasPrice: schema_utils_1.Type.Optional(schema_utils_1.Type.Undefined()),\n nonce: schema_utils_1.Type.String(),\n data: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n chainId: schema_utils_1.Type.Number(),\n maxFeePerGas: schema_utils_1.Type.String(),\n maxPriorityFeePerGas: schema_utils_1.Type.String(),\n accessList: schema_utils_1.Type.Optional(schema_utils_1.Type.Array(exports.EthereumAccessList)),\n});\nexports.EthereumSignTransaction = schema_utils_1.Type.Object({\n path: params_1.DerivationPath,\n transaction: schema_utils_1.Type.Union([exports.EthereumTransaction, exports.EthereumTransactionEIP1559]),\n chunkify: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n});\nexports.EthereumSignedTx = schema_utils_1.Type.Object({\n v: schema_utils_1.Type.String(),\n r: schema_utils_1.Type.String(),\n s: schema_utils_1.Type.String(),\n serializedTx: schema_utils_1.Type.String(),\n});\nconst EthereumSignTypedDataTypeProperty = schema_utils_1.Type.Object({\n name: schema_utils_1.Type.String(),\n type: schema_utils_1.Type.String(),\n});\nexports.EthereumSignTypedDataTypes = schema_utils_1.Type.Object({\n EIP712Domain: schema_utils_1.Type.Array(EthereumSignTypedDataTypeProperty),\n}, {\n additionalProperties: schema_utils_1.Type.Array(EthereumSignTypedDataTypeProperty),\n});\nexports.EthereumSignTypedDataMessage = schema_utils_1.Type.Object({\n types: exports.EthereumSignTypedDataTypes,\n primaryType: schema_utils_1.Type.String(),\n domain: schema_utils_1.Type.Object({\n name: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n version: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n chainId: schema_utils_1.Type.Optional(schema_utils_1.Type.Union([schema_utils_1.Type.Number(), schema_utils_1.Type.BigInt(), schema_utils_1.Type.String()])),\n verifyingContract: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n salt: schema_utils_1.Type.Optional(schema_utils_1.Type.Union([schema_utils_1.Type.ArrayBuffer(), schema_utils_1.Type.String()])),\n }),\n message: schema_utils_1.Type.Object({}, {\n additionalProperties: schema_utils_1.Type.Any(),\n }),\n});\nexports.EthereumSignTypedData = schema_utils_1.Type.Object({\n path: params_1.DerivationPath,\n data: exports.EthereumSignTypedDataMessage,\n metamask_v4_compat: schema_utils_1.Type.Boolean(),\n domain_separator_hash: schema_utils_1.Type.Optional(schema_utils_1.Type.Undefined()),\n message_hash: schema_utils_1.Type.Optional(schema_utils_1.Type.Undefined()),\n});\nexports.EthereumSignTypedHash = schema_utils_1.Type.Object({\n path: params_1.DerivationPath,\n data: exports.EthereumSignTypedDataMessage,\n metamask_v4_compat: schema_utils_1.Type.Boolean(),\n domain_separator_hash: schema_utils_1.Type.String(),\n message_hash: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n});\nexports.EthereumVerifyMessage = schema_utils_1.Type.Object({\n address: schema_utils_1.Type.String(),\n message: schema_utils_1.Type.String(),\n hex: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n signature: schema_utils_1.Type.String(),\n});\n//# sourceMappingURL=index.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SolanaSignedTransaction = exports.SolanaSignTransaction = exports.SolanaTxAdditionalInfo = exports.SolanaTxTokenAccountInfo = exports.SolanaPublicKey = void 0;\nconst params_1 = require(\"../../params\");\nconst schema_utils_1 = require(\"@trezor/schema-utils\");\nexports.SolanaPublicKey = schema_utils_1.Type.Intersect([\n params_1.PublicKey,\n schema_utils_1.Type.Object({\n publicKey: schema_utils_1.Type.String(),\n }),\n]);\nexports.SolanaTxTokenAccountInfo = schema_utils_1.Type.Object({\n baseAddress: schema_utils_1.Type.String(),\n tokenProgram: schema_utils_1.Type.String(),\n tokenMint: schema_utils_1.Type.String(),\n tokenAccount: schema_utils_1.Type.String(),\n});\nexports.SolanaTxAdditionalInfo = schema_utils_1.Type.Object({\n tokenAccountsInfos: schema_utils_1.Type.Optional(schema_utils_1.Type.Array(exports.SolanaTxTokenAccountInfo, { minItems: 1 })),\n});\nexports.SolanaSignTransaction = schema_utils_1.Type.Object({\n path: schema_utils_1.Type.Union([schema_utils_1.Type.String(), schema_utils_1.Type.Array(schema_utils_1.Type.Number())]),\n serializedTx: schema_utils_1.Type.String(),\n additionalInfo: schema_utils_1.Type.Optional(exports.SolanaTxAdditionalInfo),\n});\nexports.SolanaSignedTransaction = schema_utils_1.Type.Object({\n signature: schema_utils_1.Type.String(),\n});\n//# sourceMappingURL=index.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.StellarOperationMessage = exports.StellarSignedTx = exports.StellarSignTransaction = exports.StellarTransaction = exports.StellarOperation = exports.StellarClaimClaimableBalanceOperation = exports.StellarInflationOperation = exports.StellarBumpSequenceOperation = exports.StellarManageDataOperation = exports.StellarAccountMergeOperation = exports.StellarAllowTrustOperation = exports.StellarChangeTrustOperation = exports.StellarSetOptionsOperation = exports.StellarManageBuyOfferOperation = exports.StellarManageSellOfferOperation = exports.StellarPassiveSellOfferOperation = exports.StellarPathPaymentStrictSendOperation = exports.StellarPathPaymentStrictReceiveOperation = exports.StellarPaymentOperation = exports.StellarCreateAccountOperation = exports.StellarAsset = void 0;\nconst constants_1 = require(\"../../../constants\");\nconst params_1 = require(\"../../params\");\nconst schema_utils_1 = require(\"@trezor/schema-utils\");\nexports.StellarAsset = schema_utils_1.Type.Object({\n type: schema_utils_1.Type.Union([constants_1.PROTO.EnumStellarAssetType, schema_utils_1.Type.KeyOfEnum(constants_1.PROTO.StellarAssetType)]),\n code: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n issuer: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n});\nexports.StellarCreateAccountOperation = schema_utils_1.Type.Object({\n type: schema_utils_1.Type.Literal('createAccount'),\n source: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n destination: schema_utils_1.Type.String(),\n startingBalance: schema_utils_1.Type.String(),\n});\nexports.StellarPaymentOperation = schema_utils_1.Type.Object({\n type: schema_utils_1.Type.Literal('payment'),\n source: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n destination: schema_utils_1.Type.String(),\n asset: exports.StellarAsset,\n amount: schema_utils_1.Type.String(),\n});\nexports.StellarPathPaymentStrictReceiveOperation = schema_utils_1.Type.Object({\n type: schema_utils_1.Type.Literal('pathPaymentStrictReceive'),\n source: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n sendAsset: exports.StellarAsset,\n sendMax: schema_utils_1.Type.Uint(),\n destination: schema_utils_1.Type.String(),\n destAsset: exports.StellarAsset,\n destAmount: schema_utils_1.Type.Uint(),\n path: schema_utils_1.Type.Optional(schema_utils_1.Type.Array(exports.StellarAsset)),\n});\nexports.StellarPathPaymentStrictSendOperation = schema_utils_1.Type.Object({\n type: schema_utils_1.Type.Literal('pathPaymentStrictSend'),\n source: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n sendAsset: exports.StellarAsset,\n sendAmount: schema_utils_1.Type.Uint(),\n destination: schema_utils_1.Type.String(),\n destAsset: exports.StellarAsset,\n destMin: schema_utils_1.Type.Uint(),\n path: schema_utils_1.Type.Optional(schema_utils_1.Type.Array(exports.StellarAsset)),\n});\nexports.StellarPassiveSellOfferOperation = schema_utils_1.Type.Object({\n type: schema_utils_1.Type.Literal('createPassiveSellOffer'),\n source: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n buying: exports.StellarAsset,\n selling: exports.StellarAsset,\n amount: schema_utils_1.Type.Uint(),\n price: schema_utils_1.Type.Object({\n n: schema_utils_1.Type.Number(),\n d: schema_utils_1.Type.Number(),\n }),\n});\nexports.StellarManageSellOfferOperation = schema_utils_1.Type.Object({\n type: schema_utils_1.Type.Literal('manageSellOffer'),\n source: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n buying: exports.StellarAsset,\n selling: exports.StellarAsset,\n amount: schema_utils_1.Type.Uint(),\n offerId: schema_utils_1.Type.Optional(schema_utils_1.Type.Uint()),\n price: schema_utils_1.Type.Object({\n n: schema_utils_1.Type.Number(),\n d: schema_utils_1.Type.Number(),\n }),\n});\nexports.StellarManageBuyOfferOperation = schema_utils_1.Type.Object({\n type: schema_utils_1.Type.Literal('manageBuyOffer'),\n source: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n buying: exports.StellarAsset,\n selling: exports.StellarAsset,\n amount: schema_utils_1.Type.Uint(),\n offerId: schema_utils_1.Type.Optional(schema_utils_1.Type.Uint()),\n price: schema_utils_1.Type.Object({\n n: schema_utils_1.Type.Number(),\n d: schema_utils_1.Type.Number(),\n }),\n});\nexports.StellarSetOptionsOperation = schema_utils_1.Type.Object({\n type: schema_utils_1.Type.Literal('setOptions'),\n source: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n signer: schema_utils_1.Type.Optional(schema_utils_1.Type.Object({\n type: constants_1.PROTO.EnumStellarSignerType,\n key: schema_utils_1.Type.Union([schema_utils_1.Type.String(), schema_utils_1.Type.Buffer()]),\n weight: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n })),\n inflationDest: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n clearFlags: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n setFlags: schema_utils_1.Type.Optional(schema_utils_1.Type.Number()),\n masterWeight: schema_utils_1.Type.Optional(schema_utils_1.Type.Uint()),\n lowThreshold: schema_utils_1.Type.Optional(schema_utils_1.Type.Uint()),\n medThreshold: schema_utils_1.Type.Optional(schema_utils_1.Type.Uint()),\n highThreshold: schema_utils_1.Type.Optional(schema_utils_1.Type.Uint()),\n homeDomain: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n});\nexports.StellarChangeTrustOperation = schema_utils_1.Type.Object({\n type: schema_utils_1.Type.Literal('changeTrust'),\n source: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n line: exports.StellarAsset,\n limit: schema_utils_1.Type.String(),\n});\nexports.StellarAllowTrustOperation = schema_utils_1.Type.Object({\n type: schema_utils_1.Type.Literal('allowTrust'),\n source: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n trustor: schema_utils_1.Type.String(),\n assetCode: schema_utils_1.Type.String(),\n assetType: constants_1.PROTO.EnumStellarAssetType,\n authorize: schema_utils_1.Type.Optional(schema_utils_1.Type.Union([schema_utils_1.Type.Boolean(), schema_utils_1.Type.Undefined()])),\n});\nexports.StellarAccountMergeOperation = schema_utils_1.Type.Object({\n type: schema_utils_1.Type.Literal('accountMerge'),\n source: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n destination: schema_utils_1.Type.String(),\n});\nexports.StellarManageDataOperation = schema_utils_1.Type.Object({\n type: schema_utils_1.Type.Literal('manageData'),\n source: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n name: schema_utils_1.Type.String(),\n value: schema_utils_1.Type.Optional(schema_utils_1.Type.Union([schema_utils_1.Type.String(), schema_utils_1.Type.Buffer()])),\n});\nexports.StellarBumpSequenceOperation = schema_utils_1.Type.Object({\n type: schema_utils_1.Type.Literal('bumpSequence'),\n source: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n bumpTo: schema_utils_1.Type.Uint(),\n});\nexports.StellarInflationOperation = schema_utils_1.Type.Object({\n type: schema_utils_1.Type.Literal('inflation'),\n source: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n});\nexports.StellarClaimClaimableBalanceOperation = schema_utils_1.Type.Object({\n type: schema_utils_1.Type.Literal('claimClaimableBalance'),\n source: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n balanceId: schema_utils_1.Type.String(),\n});\nexports.StellarOperation = schema_utils_1.Type.Union([\n exports.StellarCreateAccountOperation,\n exports.StellarPaymentOperation,\n exports.StellarPathPaymentStrictReceiveOperation,\n exports.StellarPathPaymentStrictSendOperation,\n exports.StellarPassiveSellOfferOperation,\n exports.StellarManageSellOfferOperation,\n exports.StellarManageBuyOfferOperation,\n exports.StellarSetOptionsOperation,\n exports.StellarChangeTrustOperation,\n exports.StellarAllowTrustOperation,\n exports.StellarAccountMergeOperation,\n exports.StellarInflationOperation,\n exports.StellarManageDataOperation,\n exports.StellarBumpSequenceOperation,\n exports.StellarClaimClaimableBalanceOperation,\n]);\nexports.StellarTransaction = schema_utils_1.Type.Object({\n source: schema_utils_1.Type.String(),\n fee: schema_utils_1.Type.Number(),\n sequence: schema_utils_1.Type.Uint(),\n timebounds: schema_utils_1.Type.Optional(schema_utils_1.Type.Object({\n minTime: schema_utils_1.Type.Number(),\n maxTime: schema_utils_1.Type.Number(),\n })),\n memo: schema_utils_1.Type.Optional(schema_utils_1.Type.Object({\n type: constants_1.PROTO.EnumStellarMemoType,\n id: schema_utils_1.Type.Optional(schema_utils_1.Type.Uint()),\n text: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n hash: schema_utils_1.Type.Optional(schema_utils_1.Type.Union([schema_utils_1.Type.String(), schema_utils_1.Type.Buffer()])),\n })),\n operations: schema_utils_1.Type.Array(exports.StellarOperation),\n});\nexports.StellarSignTransaction = schema_utils_1.Type.Object({\n path: params_1.DerivationPath,\n networkPassphrase: schema_utils_1.Type.String(),\n transaction: exports.StellarTransaction,\n});\nexports.StellarSignedTx = schema_utils_1.Type.Object({\n publicKey: schema_utils_1.Type.String(),\n signature: schema_utils_1.Type.String(),\n});\nexports.StellarOperationMessage = schema_utils_1.Type.Union([\n schema_utils_1.Type.Intersect([\n schema_utils_1.Type.Object({\n type: schema_utils_1.Type.Literal('StellarCreateAccountOp'),\n }),\n constants_1.PROTO.StellarCreateAccountOp,\n ]),\n schema_utils_1.Type.Intersect([\n schema_utils_1.Type.Object({\n type: schema_utils_1.Type.Literal('StellarPaymentOp'),\n }),\n constants_1.PROTO.StellarPaymentOp,\n ]),\n schema_utils_1.Type.Intersect([\n schema_utils_1.Type.Object({\n type: schema_utils_1.Type.Literal('StellarPathPaymentStrictReceiveOp'),\n }),\n constants_1.PROTO.StellarPathPaymentStrictReceiveOp,\n ]),\n schema_utils_1.Type.Intersect([\n schema_utils_1.Type.Object({\n type: schema_utils_1.Type.Literal('StellarPathPaymentStrictSendOp'),\n }),\n constants_1.PROTO.StellarPathPaymentStrictSendOp,\n ]),\n schema_utils_1.Type.Intersect([\n schema_utils_1.Type.Object({\n type: schema_utils_1.Type.Literal('StellarManageSellOfferOp'),\n }),\n constants_1.PROTO.StellarManageSellOfferOp,\n ]),\n schema_utils_1.Type.Intersect([\n schema_utils_1.Type.Object({\n type: schema_utils_1.Type.Literal('StellarManageBuyOfferOp'),\n }),\n constants_1.PROTO.StellarManageBuyOfferOp,\n ]),\n schema_utils_1.Type.Intersect([\n schema_utils_1.Type.Object({\n type: schema_utils_1.Type.Literal('StellarCreatePassiveSellOfferOp'),\n }),\n constants_1.PROTO.StellarCreatePassiveSellOfferOp,\n ]),\n schema_utils_1.Type.Intersect([\n schema_utils_1.Type.Object({\n type: schema_utils_1.Type.Literal('StellarSetOptionsOp'),\n }),\n constants_1.PROTO.StellarSetOptionsOp,\n ]),\n schema_utils_1.Type.Intersect([\n schema_utils_1.Type.Object({\n type: schema_utils_1.Type.Literal('StellarChangeTrustOp'),\n }),\n constants_1.PROTO.StellarChangeTrustOp,\n ]),\n schema_utils_1.Type.Intersect([\n schema_utils_1.Type.Object({\n type: schema_utils_1.Type.Literal('StellarAllowTrustOp'),\n }),\n constants_1.PROTO.StellarAllowTrustOp,\n ]),\n schema_utils_1.Type.Intersect([\n schema_utils_1.Type.Object({\n type: schema_utils_1.Type.Literal('StellarAccountMergeOp'),\n }),\n constants_1.PROTO.StellarAccountMergeOp,\n ]),\n schema_utils_1.Type.Intersect([\n schema_utils_1.Type.Object({\n type: schema_utils_1.Type.Literal('StellarManageDataOp'),\n }),\n constants_1.PROTO.StellarManageDataOp,\n ]),\n schema_utils_1.Type.Intersect([\n schema_utils_1.Type.Object({\n type: schema_utils_1.Type.Literal('StellarBumpSequenceOp'),\n }),\n constants_1.PROTO.StellarBumpSequenceOp,\n ]),\n schema_utils_1.Type.Intersect([\n schema_utils_1.Type.Object({\n type: schema_utils_1.Type.Literal('StellarClaimClaimableBalanceOp'),\n }),\n constants_1.PROTO.StellarClaimClaimableBalanceOp,\n ]),\n]);\n//# sourceMappingURL=index.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TezosSignTransaction = exports.TezosOperation = exports.TezosDelegationOperation = exports.TezosOriginationOperation = exports.TezosTransactionOperation = exports.TezosParametersManager = exports.TezosManagerTransfer = exports.TezosRevealOperation = void 0;\nconst params_1 = require(\"../../params\");\nconst schema_utils_1 = require(\"@trezor/schema-utils\");\nexports.TezosRevealOperation = schema_utils_1.Type.Object({\n source: schema_utils_1.Type.String(),\n fee: schema_utils_1.Type.Number(),\n counter: schema_utils_1.Type.Number(),\n gas_limit: schema_utils_1.Type.Number(),\n storage_limit: schema_utils_1.Type.Number(),\n public_key: schema_utils_1.Type.String(),\n});\nexports.TezosManagerTransfer = schema_utils_1.Type.Object({\n destination: schema_utils_1.Type.String(),\n amount: schema_utils_1.Type.Number(),\n});\nexports.TezosParametersManager = schema_utils_1.Type.Object({\n set_delegate: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n cancel_delegate: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n transfer: schema_utils_1.Type.Optional(exports.TezosManagerTransfer),\n});\nexports.TezosTransactionOperation = schema_utils_1.Type.Object({\n source: schema_utils_1.Type.String(),\n destination: schema_utils_1.Type.String(),\n amount: schema_utils_1.Type.Number(),\n counter: schema_utils_1.Type.Number(),\n fee: schema_utils_1.Type.Number(),\n gas_limit: schema_utils_1.Type.Number(),\n storage_limit: schema_utils_1.Type.Number(),\n parameters: schema_utils_1.Type.Optional(schema_utils_1.Type.Array(schema_utils_1.Type.Number())),\n parameters_manager: schema_utils_1.Type.Optional(exports.TezosParametersManager),\n});\nexports.TezosOriginationOperation = schema_utils_1.Type.Object({\n source: schema_utils_1.Type.String(),\n balance: schema_utils_1.Type.Number(),\n delegate: schema_utils_1.Type.Optional(schema_utils_1.Type.String()),\n script: params_1.DerivationPath,\n fee: schema_utils_1.Type.Number(),\n counter: schema_utils_1.Type.Number(),\n gas_limit: schema_utils_1.Type.Number(),\n storage_limit: schema_utils_1.Type.Number(),\n});\nexports.TezosDelegationOperation = schema_utils_1.Type.Object({\n source: schema_utils_1.Type.String(),\n delegate: schema_utils_1.Type.String(),\n fee: schema_utils_1.Type.Number(),\n counter: schema_utils_1.Type.Number(),\n gas_limit: schema_utils_1.Type.Number(),\n storage_limit: schema_utils_1.Type.Number(),\n});\nexports.TezosOperation = schema_utils_1.Type.Object({\n reveal: schema_utils_1.Type.Optional(exports.TezosRevealOperation),\n transaction: schema_utils_1.Type.Optional(exports.TezosTransactionOperation),\n origination: schema_utils_1.Type.Optional(exports.TezosOriginationOperation),\n delegation: schema_utils_1.Type.Optional(exports.TezosDelegationOperation),\n});\nexports.TezosSignTransaction = schema_utils_1.Type.Object({\n path: params_1.DerivationPath,\n branch: schema_utils_1.Type.String(),\n operation: exports.TezosOperation,\n chunkify: schema_utils_1.Type.Optional(schema_utils_1.Type.Boolean()),\n});\n//# sourceMappingURL=index.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./api\"), exports);\ntslib_1.__exportStar(require(\"./account\"), exports);\ntslib_1.__exportStar(require(\"./coinInfo\"), exports);\ntslib_1.__exportStar(require(\"./device\"), exports);\ntslib_1.__exportStar(require(\"./fees\"), exports);\ntslib_1.__exportStar(require(\"./firmware\"), exports);\ntslib_1.__exportStar(require(\"./params\"), exports);\ntslib_1.__exportStar(require(\"./settings\"), exports);\ntslib_1.__exportStar(require(\"./api/cardano\"), exports);\ntslib_1.__exportStar(require(\"./api/binance\"), exports);\ntslib_1.__exportStar(require(\"./api/bitcoin\"), exports);\ntslib_1.__exportStar(require(\"./api/eos\"), exports);\ntslib_1.__exportStar(require(\"./api/ripple\"), exports);\ntslib_1.__exportStar(require(\"./api/ethereum\"), exports);\ntslib_1.__exportStar(require(\"./api/solana\"), exports);\ntslib_1.__exportStar(require(\"./api/stellar\"), exports);\ntslib_1.__exportStar(require(\"./api/tezos\"), exports);\n//# sourceMappingURL=index.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.parseConnectSettings = void 0;\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./constants\"), exports);\ntslib_1.__exportStar(require(\"./events\"), exports);\ntslib_1.__exportStar(require(\"./types\"), exports);\nvar connectSettings_1 = require(\"./data/connectSettings\");\nObject.defineProperty(exports, \"parseConnectSettings\", { enumerable: true, get: function () { return connectSettings_1.parseConnectSettings; } });\n//# sourceMappingURL=exports.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\nconst events_1 = tslib_1.__importDefault(require(\"events\"));\nconst ERRORS = tslib_1.__importStar(require(\"@trezor/connect/lib/constants/errors\"));\nconst events_2 = require(\"@trezor/connect/lib/events\");\nconst factory_1 = require(\"@trezor/connect/lib/factory\");\nconst debug_1 = require(\"@trezor/connect/lib/utils/debug\");\nconst config_1 = require(\"@trezor/connect/lib/data/config\");\nconst utils_1 = require(\"@trezor/utils\");\nconst iframe = tslib_1.__importStar(require(\"./iframe\"));\nconst popup = tslib_1.__importStar(require(\"./popup\"));\nconst button_1 = tslib_1.__importDefault(require(\"./webusb/button\"));\nconst connectSettings_1 = require(\"./connectSettings\");\nconst eventEmitter = new events_1.default();\nconst _log = (0, debug_1.initLog)('@trezor/connect-web');\nlet _settings = (0, connectSettings_1.parseConnectSettings)();\nlet _popupManager;\nconst messagePromises = (0, utils_1.createDeferredManager)({ initialId: 1 });\nconst initPopupManager = () => {\n const pm = new popup.PopupManager(_settings, { logger: _log });\n pm.on(events_2.POPUP.CLOSED, (error) => {\n iframe.postMessage({\n type: events_2.POPUP.CLOSED,\n payload: error ? { error } : null,\n });\n });\n return pm;\n};\nconst manifest = (data) => {\n _settings = (0, connectSettings_1.parseConnectSettings)(Object.assign(Object.assign({}, _settings), { manifest: data }));\n};\nconst dispose = () => {\n eventEmitter.removeAllListeners();\n iframe.dispose();\n _settings = (0, connectSettings_1.parseConnectSettings)();\n if (_popupManager) {\n _popupManager.close();\n }\n return Promise.resolve(undefined);\n};\nconst cancel = (error) => {\n if (_popupManager) {\n _popupManager.emit(events_2.POPUP.CLOSED, error);\n }\n};\nconst handleMessage = (messageEvent) => {\n if (messageEvent.origin !== iframe.origin)\n return;\n const message = (0, events_2.parseMessage)(messageEvent.data);\n _log.log('handleMessage', message);\n switch (message.event) {\n case events_2.RESPONSE_EVENT: {\n const { id = 0, success, payload } = message;\n const resolved = messagePromises.resolve(id, { id, success, payload });\n if (!resolved)\n _log.warn(`Unknown message id ${id}`);\n break;\n }\n case events_2.DEVICE_EVENT:\n eventEmitter.emit(message.event, message);\n eventEmitter.emit(message.type, message.payload);\n break;\n case events_2.TRANSPORT_EVENT:\n eventEmitter.emit(message.event, message);\n eventEmitter.emit(message.type, message.payload);\n break;\n case events_2.BLOCKCHAIN_EVENT:\n eventEmitter.emit(message.event, message);\n eventEmitter.emit(message.type, message.payload);\n break;\n case events_2.UI_EVENT:\n if (message.type === events_2.IFRAME.BOOTSTRAP) {\n iframe.clearTimeout();\n break;\n }\n if (message.type === events_2.IFRAME.LOADED) {\n iframe.initPromise.resolve();\n }\n if (message.type === events_2.IFRAME.ERROR) {\n iframe.initPromise.reject(message.payload.error);\n }\n eventEmitter.emit(message.event, message);\n eventEmitter.emit(message.type, message.payload);\n break;\n default:\n _log.log('Undefined message', messageEvent.data);\n }\n};\nconst init = async (settings = {}) => {\n var _a;\n if (iframe.instance) {\n throw ERRORS.TypedError('Init_AlreadyInitialized');\n }\n _settings = (0, connectSettings_1.parseConnectSettings)(Object.assign(Object.assign({}, _settings), settings));\n if (!_settings.manifest) {\n throw ERRORS.TypedError('Init_ManifestMissing');\n }\n if (!((_a = _settings.transports) === null || _a === void 0 ? void 0 : _a.length)) {\n _settings.transports = ['BridgeTransport', 'WebUsbTransport'];\n }\n if (_settings.lazyLoad) {\n _settings.lazyLoad = false;\n return;\n }\n if (!_popupManager) {\n _popupManager = initPopupManager();\n }\n _log.enabled = !!_settings.debug;\n window.addEventListener('message', handleMessage);\n window.addEventListener('unload', dispose);\n await iframe.init(_settings);\n if (_settings.sharedLogger !== false) {\n iframe.initIframeLogger();\n }\n};\nconst call = async (params) => {\n if (!iframe.instance && !iframe.timeout) {\n _settings = (0, connectSettings_1.parseConnectSettings)(_settings);\n if (!_settings.manifest) {\n return (0, events_2.createErrorMessage)(ERRORS.TypedError('Init_ManifestMissing'));\n }\n if (!_popupManager) {\n _popupManager = initPopupManager();\n }\n _popupManager.request();\n try {\n await init(_settings);\n }\n catch (error) {\n if (_popupManager) {\n if (['Init_IframeBlocked', 'Init_IframeTimeout'].includes(error.code)) {\n _popupManager.postMessage((0, events_2.createUiMessage)(events_2.UI.IFRAME_FAILURE));\n }\n else {\n _popupManager.clear();\n }\n }\n return (0, events_2.createErrorMessage)(error);\n }\n }\n if (iframe.timeout) {\n return (0, events_2.createErrorMessage)(ERRORS.TypedError('Init_ManifestMissing'));\n }\n if (iframe.error) {\n return (0, events_2.createErrorMessage)(iframe.error);\n }\n if (_settings.popup && _popupManager) {\n _popupManager.request();\n }\n try {\n const { promiseId, promise } = messagePromises.create();\n iframe.postMessage({ id: promiseId, type: events_2.IFRAME.CALL, payload: params });\n const response = await promise;\n if (response) {\n if (!response.success &&\n response.payload.code !== 'Device_CallInProgress' &&\n _popupManager) {\n _popupManager.unlock();\n }\n return response;\n }\n if (_popupManager) {\n _popupManager.unlock();\n }\n return (0, events_2.createErrorMessage)(ERRORS.TypedError('Method_NoResponse'));\n }\n catch (error) {\n _log.error('__call error', error);\n if (_popupManager) {\n _popupManager.clear(false);\n }\n return (0, events_2.createErrorMessage)(error);\n }\n};\nconst uiResponse = (response) => {\n if (!iframe.instance) {\n throw ERRORS.TypedError('Init_NotInitialized');\n }\n iframe.postMessage(response);\n};\nconst renderWebUSBButton = (className) => {\n (0, button_1.default)(className, _settings.webusbSrc);\n};\nconst requestLogin = async (params) => {\n if (typeof params.callback === 'function') {\n const { callback } = params;\n const loginChallengeListener = async (event) => {\n const { data } = event;\n if (data && data.type === events_2.UI.LOGIN_CHALLENGE_REQUEST) {\n try {\n const payload = await callback();\n iframe.postMessage({\n type: events_2.UI.LOGIN_CHALLENGE_RESPONSE,\n payload,\n });\n }\n catch (error) {\n iframe.postMessage({\n type: events_2.UI.LOGIN_CHALLENGE_RESPONSE,\n payload: error.message,\n });\n }\n }\n };\n window.addEventListener('message', loginChallengeListener, false);\n const response = await call(Object.assign(Object.assign({ method: 'requestLogin' }, params), { asyncChallenge: true, callback: null }));\n window.removeEventListener('message', loginChallengeListener);\n return response;\n }\n return call(Object.assign({ method: 'requestLogin' }, params));\n};\nconst disableWebUSB = () => {\n if (!iframe.instance) {\n throw ERRORS.TypedError('Init_NotInitialized');\n }\n iframe.postMessage({ type: events_2.TRANSPORT.DISABLE_WEBUSB });\n};\nconst requestWebUSBDevice = async () => {\n try {\n await window.navigator.usb.requestDevice({ filters: config_1.config.webusb });\n iframe.postMessage({ type: events_2.TRANSPORT.REQUEST_DEVICE });\n }\n catch (_err) {\n }\n};\nconst TrezorConnect = (0, factory_1.factory)({\n eventEmitter,\n manifest,\n init,\n call,\n requestLogin,\n uiResponse,\n renderWebUSBButton,\n disableWebUSB,\n requestWebUSBDevice,\n cancel,\n dispose,\n});\nexports.default = TrezorConnect;\ntslib_1.__exportStar(require(\"@trezor/connect/lib/exports\"), exports);\n//# sourceMappingURL=index.js.map", "import type { Environments } from './types.js';\nimport type {\n Connect,\n ProviderConnectResult,\n WalletInfo,\n} from '@rango-dev/wallets-shared';\n\nimport { Namespace, Networks, WalletTypes } from '@rango-dev/wallets-shared';\nimport { type BlockchainMeta, type SignerFactory } from 'rango-types';\n\nimport {\n getEthereumAccounts,\n getTrezorInstance,\n getTrezorModule,\n getTrezorNormalizedDerivationPath,\n} from './helpers.js';\nimport signer from './signer.js';\nimport { setDerivationPath } from './state.js';\n\nlet trezorManifest: Environments['manifest'] = {\n appUrl: '',\n email: '',\n};\nexport const config = {\n type: WalletTypes.TREZOR,\n};\n\nexport type { Environments };\n\nexport const init = (environments: Environments) => {\n trezorManifest = environments.manifest;\n};\n\nexport const getInstance = getTrezorInstance;\n\nlet isTrezorInitialized = false;\nexport const connect: Connect = async ({ namespaces }) => {\n const results: ProviderConnectResult[] = [];\n\n const TrezorConnect = await getTrezorModule();\n\n const evmNamespace = namespaces?.find(\n (namespaceItem) => namespaceItem.namespace === Namespace.Evm\n );\n\n if (evmNamespace) {\n if (evmNamespace.derivationPath) {\n setDerivationPath(\n getTrezorNormalizedDerivationPath(evmNamespace.derivationPath)\n );\n\n if (!isTrezorInitialized) {\n await TrezorConnect.init({\n lazyLoad: true, // this param will prevent iframe injection until TrezorConnect.method will be called\n manifest: trezorManifest,\n });\n\n isTrezorInitialized = true;\n }\n\n const accounts = await getEthereumAccounts();\n results.push(accounts);\n } else {\n throw new Error('Derivation Path can not be empty.');\n }\n } else {\n throw new Error(\n `It appears that you have selected a namespace that is not yet supported by our system. Your namespaces: ${namespaces?.map(\n (namespaceItem) => namespaceItem.namespace\n )}`\n );\n }\n\n return results;\n};\n\nexport const getSigners: (provider: any) => SignerFactory = signer;\n\nexport const getWalletInfo: (allBlockChains: BlockchainMeta[]) => WalletInfo = (\n allBlockChains\n) => {\n const supportedChains: BlockchainMeta[] = [];\n\n const ethereumBlockchain = allBlockChains.find(\n (chain) => chain.name === Networks.ETHEREUM\n );\n if (ethereumBlockchain) {\n supportedChains.push(ethereumBlockchain);\n }\n return {\n name: 'Trezor',\n img: 'https://raw.githubusercontent.com/rango-exchange/assets/main/wallets/trezor/icon.svg',\n installLink: {\n DEFAULT: 'https://trezor.io/learn/a/download-verify-trezor-suite',\n },\n color: 'black',\n supportedChains,\n namespaces: [Namespace.Evm],\n singleNamespace: true,\n showOnMobile: false,\n needsDerivationPath: true,\n };\n};\n", "import type { TrezorConnect } from '@trezor/connect-web';\n\nimport { cleanEvmError } from '@rango-dev/signer-evm';\nimport { ETHEREUM_CHAIN_ID, Networks } from '@rango-dev/wallets-shared';\n\nimport { getDerivationPath } from './state.js';\n\n// `@trezor/connect-web` is commonjs, when we are importing it dynamically, it has some differences in different tooling. for example vite (you can check widget-examples), goes throw error. this is a workaround for solving this interop issue.\nexport async function getTrezorModule() {\n const mod = await import('@trezor/connect-web');\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n if (mod.default.default) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n return mod.default.default as unknown as TrezorConnect;\n }\n\n return mod.default;\n}\n\nexport function getTrezorErrorMessage(error: any) {\n if (error?.shortMessage) {\n /*\n * Some error signs have lengthy, challenging-to-read messages.\n * shortMessage is used because it is shorter and easier to understand.\n */\n return new Error(error.shortMessage, { cause: error });\n }\n return cleanEvmError(error);\n}\n\nexport function getTrezorInstance() {\n /*\n * Instances have a required property which is `chainId` and is using in swap execution.\n * Here we are setting it as Ethereum always since we are supporting only eth for now.\n */\n const instances = new Map();\n\n instances.set(Networks.ETHEREUM, { chainId: ETHEREUM_CHAIN_ID });\n\n return instances;\n}\n\nexport async function getEthereumAccounts(): Promise<{\n accounts: string[];\n chainId: string;\n}> {\n const TrezorConnect = await getTrezorModule();\n const result = await TrezorConnect.ethereumGetAddress({\n path: getDerivationPath(),\n });\n\n if (!result.success) {\n throw new Error(result.payload.error);\n }\n\n return {\n accounts: [result.payload.address],\n chainId: ETHEREUM_CHAIN_ID,\n };\n}\n\n/*\n * Using BigInt in the valueToHex function ensures that the function\n * can handle very large integer values that exceed the range of standard JavaScript number types.\n */\nexport const valueToHex = (value: string) => {\n const ZERO_BIGINT = BigInt(0);\n const HEX_BASE = 16;\n return BigInt(value) > ZERO_BIGINT\n ? `0x${BigInt(value).toString(HEX_BASE)}`\n : '0x0';\n};\n\nexport const getTrezorNormalizedDerivationPath = (\n path: string // TrezorConnect needs master node to be added to derivation path\n) => (path && !path.startsWith('m/') ? 'm/' + path : path);\n", "// We keep derivationPath here because we need to maintain it for signing transactions after it is set in connect method\nlet derivationPath = '';\n\nexport function setDerivationPath(path: string) {\n derivationPath = path;\n}\n\nexport function getDerivationPath() {\n return derivationPath;\n}\n", "import type { SignerFactory } from 'rango-types';\n\nimport { DefaultSignerFactory, TransactionType as TxType } from 'rango-types';\n\nimport { EthereumSigner } from './signers/ethereum.js';\n\nexport default function getSigners(): SignerFactory {\n const signers = new DefaultSignerFactory();\n signers.registerSigner(TxType.EVM, new EthereumSigner());\n return signers;\n}\n", "import type { EvmTransaction } from 'rango-types/mainApi';\n\nimport { DEFAULT_ETHEREUM_RPC_URL } from '@rango-dev/wallets-shared';\nimport { JsonRpcProvider, Transaction } from 'ethers';\nimport { type GenericSigner } from 'rango-types';\n\nimport {\n getTrezorErrorMessage,\n getTrezorModule,\n valueToHex,\n} from '../helpers.js';\nimport { getDerivationPath } from '../state.js';\n\nexport class EthereumSigner implements GenericSigner<EvmTransaction> {\n async signMessage(msg: string): Promise<string> {\n const TrezorConnect = await getTrezorModule();\n\n const { success, payload } = await TrezorConnect.signMessage({\n message: msg,\n path: getDerivationPath(),\n });\n if (!success) {\n throw new Error(payload.error);\n }\n return payload.signature;\n }\n\n async signAndSendTx(\n tx: EvmTransaction,\n fromAddress: string,\n chainId: string\n ): Promise<{ hash: string }> {\n try {\n const TrezorConnect = await getTrezorModule();\n const { gasPrice, maxFeePerGas, maxPriorityFeePerGas } = tx;\n const isEIP1559 = maxFeePerGas && maxPriorityFeePerGas;\n\n if (isEIP1559 && !maxFeePerGas) {\n throw new Error('Missing maxFeePerGas');\n }\n if (isEIP1559 && !maxPriorityFeePerGas) {\n throw new Error('Missing maxPriorityFeePerGas');\n }\n if (!isEIP1559 && !gasPrice) {\n throw new Error('Missing gasPrice');\n }\n const provider = new JsonRpcProvider(DEFAULT_ETHEREUM_RPC_URL); // Provider to broadcast transaction\n const transactionCount = await provider.getTransactionCount(fromAddress); // Get nonce\n const additionalFields = isEIP1559\n ? {\n maxFeePerGas: valueToHex(maxFeePerGas || '0'),\n maxPriorityFeePerGas: valueToHex(maxPriorityFeePerGas || '0'),\n }\n : {\n gasPrice: valueToHex(gasPrice || '0'),\n };\n\n const transaction = {\n to: tx.to,\n data: tx.data || '0x',\n value: valueToHex(tx.value?.toString() || '0'),\n gasLimit: valueToHex(tx.gasLimit?.toString() || '0'),\n chainId: Number.parseInt(chainId),\n nonce: valueToHex(transactionCount.toString()),\n ...additionalFields,\n };\n\n const { success, payload } = await TrezorConnect.ethereumSignTransaction({\n path: getDerivationPath(),\n transaction,\n });\n if (!success) {\n throw new Error(payload.error);\n }\n const { r, s, v } = payload;\n\n const serializedTx = Transaction.from({\n ...transaction,\n nonce: Number.parseInt(transaction.nonce),\n /*\n * Type 0: This refers to the legacy transaction type that has been used since Ethereum's inception.\n * Type 2: This refers to the new transaction type introduced with the EIP-1559 (Ethereum Improvement Proposal 1559) update,\n * which was part of the London hard fork.\n */\n type: isEIP1559 ? 2 : 0,\n signature: { r, s, v: parseInt(v) },\n }).serialized;\n const broadcastResult = await provider.broadcastTransaction(serializedTx);\n\n return { hash: broadcastResult.hash };\n } catch (error) {\n throw getTrezorErrorMessage(error);\n }\n }\n}\n"],
|
|
5
|
+
"mappings": "08BAAA,IAAAA,GAAA,GAAAC,GAAAD,GAAA,6BAAAE,GAAA,aAAAC,GAAA,qBAAAC,GAAA,qBAAAC,GAAA,kBAAAC,GAAA,YAAAC,GAAA,cAAAC,GAAA,2BAAAC,GAAA,0BAAAC,GAAA,2BAAAC,GAAA,oBAAAC,GAAA,eAAAC,GAAA,uBAAAC,GAAA,iBAAAC,GAAA,iBAAAC,GAAA,cAAAC,GAAA,gBAAAC,GAAA,oBAAAC,GAAA,iBAAAC,GAAA,yBAAAC,GAAA,eAAAC,GAAA,YAAAC,GAAA,cAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,sBAAAC,GAAA,sBAAAC,GAAA,aAAAC,GAAA,kBAAAC,GAAA,mBAAAC,GAAA,aAAAC,GAAA,YAAAC,KAuBO,SAAShB,GAAUiB,EAAGC,EAAG,CAC9B,GAAI,OAAOA,GAAM,YAAcA,IAAM,KACjC,MAAM,IAAI,UAAU,uBAAyB,OAAOA,CAAC,EAAI,+BAA+B,EAC5FC,GAAcF,EAAGC,CAAC,EAClB,SAASE,GAAK,CAAE,KAAK,YAAcH,CAAG,CAA7BI,EAAAD,EAAA,MACTH,EAAE,UAAYC,IAAM,KAAO,OAAO,OAAOA,CAAC,GAAKE,EAAG,UAAYF,EAAE,UAAW,IAAIE,EACjF,CAaO,SAASX,GAAOa,EAAGC,EAAG,CAC3B,IAAIC,EAAI,CAAC,EACT,QAASC,KAAKH,EAAO,OAAO,UAAU,eAAe,KAAKA,EAAGG,CAAC,GAAKF,EAAE,QAAQE,CAAC,EAAI,IAC9ED,EAAEC,CAAC,EAAIH,EAAEG,CAAC,GACd,GAAIH,GAAK,MAAQ,OAAO,OAAO,uBAA0B,WACrD,QAASI,EAAI,EAAGD,EAAI,OAAO,sBAAsBH,CAAC,EAAGI,EAAID,EAAE,OAAQC,IAC3DH,EAAE,QAAQE,EAAEC,CAAC,CAAC,EAAI,GAAK,OAAO,UAAU,qBAAqB,KAAKJ,EAAGG,EAAEC,CAAC,CAAC,IACzEF,EAAEC,EAAEC,CAAC,CAAC,EAAIJ,EAAEG,EAAEC,CAAC,CAAC,GAE5B,OAAOF,CACT,CAEO,SAAS5B,GAAW+B,EAAYC,EAAQC,EAAKC,EAAM,CACxD,IAAIC,EAAI,UAAU,OAAQC,EAAID,EAAI,EAAIH,EAASE,IAAS,KAAOA,EAAO,OAAO,yBAAyBF,EAAQC,CAAG,EAAIC,EAAMb,EAC3H,GAAI,OAAO,SAAY,UAAY,OAAO,QAAQ,UAAa,WAAYe,EAAI,QAAQ,SAASL,EAAYC,EAAQC,EAAKC,CAAI,MACxH,SAASJ,EAAIC,EAAW,OAAS,EAAGD,GAAK,EAAGA,KAAST,EAAIU,EAAWD,CAAC,KAAGM,GAAKD,EAAI,EAAId,EAAEe,CAAC,EAAID,EAAI,EAAId,EAAEW,EAAQC,EAAKG,CAAC,EAAIf,EAAEW,EAAQC,CAAG,IAAMG,GAChJ,OAAOD,EAAI,GAAKC,GAAK,OAAO,eAAeJ,EAAQC,EAAKG,CAAC,EAAGA,CAC9D,CAEO,SAAS1B,GAAQ2B,EAAYC,EAAW,CAC7C,OAAO,SAAUN,EAAQC,EAAK,CAAEK,EAAUN,EAAQC,EAAKI,CAAU,CAAG,CACtE,CAEO,SAASnC,GAAaqC,EAAMC,EAAcT,EAAYU,EAAWC,EAAcC,EAAmB,CACvG,SAASC,EAAOC,EAAG,CAAE,GAAIA,IAAM,QAAU,OAAOA,GAAM,WAAY,MAAM,IAAI,UAAU,mBAAmB,EAAG,OAAOA,CAAG,CAA7GpB,EAAAmB,EAAA,UAKT,QAJIE,EAAOL,EAAU,KAAMR,EAAMa,IAAS,SAAW,MAAQA,IAAS,SAAW,MAAQ,QACrFd,EAAS,CAACQ,GAAgBD,EAAOE,EAAU,OAAYF,EAAOA,EAAK,UAAY,KAC/EQ,EAAaP,IAAiBR,EAAS,OAAO,yBAAyBA,EAAQS,EAAU,IAAI,EAAI,CAAC,GAClGO,EAAGC,EAAO,GACLnB,EAAIC,EAAW,OAAS,EAAGD,GAAK,EAAGA,IAAK,CAC7C,IAAIoB,EAAU,CAAC,EACf,QAASrB,KAAKY,EAAWS,EAAQrB,CAAC,EAAIA,IAAM,SAAW,CAAC,EAAIY,EAAUZ,CAAC,EACvE,QAASA,KAAKY,EAAU,OAAQS,EAAQ,OAAOrB,CAAC,EAAIY,EAAU,OAAOZ,CAAC,EACtEqB,EAAQ,eAAiB,SAAUL,EAAG,CAAE,GAAII,EAAM,MAAM,IAAI,UAAU,wDAAwD,EAAGN,EAAkB,KAAKC,EAAOC,GAAK,IAAI,CAAC,CAAG,EAC5K,IAAIM,KAAapB,EAAWD,CAAC,GAAGgB,IAAS,WAAa,CAAE,IAAKC,EAAW,IAAK,IAAKA,EAAW,GAAI,EAAIA,EAAWd,CAAG,EAAGiB,CAAO,EAC7H,GAAIJ,IAAS,WAAY,CACrB,GAAIK,IAAW,OAAQ,SACvB,GAAIA,IAAW,MAAQ,OAAOA,GAAW,SAAU,MAAM,IAAI,UAAU,iBAAiB,GACpFH,EAAIJ,EAAOO,EAAO,GAAG,KAAGJ,EAAW,IAAMC,IACzCA,EAAIJ,EAAOO,EAAO,GAAG,KAAGJ,EAAW,IAAMC,IACzCA,EAAIJ,EAAOO,EAAO,IAAI,IAAGT,EAAa,QAAQM,CAAC,CACvD,MACSA,EAAIJ,EAAOO,CAAM,KAClBL,IAAS,QAASJ,EAAa,QAAQM,CAAC,EACvCD,EAAWd,CAAG,EAAIe,EAE/B,CACIhB,GAAQ,OAAO,eAAeA,EAAQS,EAAU,KAAMM,CAAU,EACpEE,EAAO,EACT,CAEO,SAASnC,GAAkBsC,EAASV,EAAcW,EAAO,CAE9D,QADIC,EAAW,UAAU,OAAS,EACzBxB,EAAI,EAAGA,EAAIY,EAAa,OAAQZ,IACrCuB,EAAQC,EAAWZ,EAAaZ,CAAC,EAAE,KAAKsB,EAASC,CAAK,EAAIX,EAAaZ,CAAC,EAAE,KAAKsB,CAAO,EAE1F,OAAOE,EAAWD,EAAQ,MAC5B,CAEO,SAAS1C,GAAU4C,EAAG,CAC3B,OAAO,OAAOA,GAAM,SAAWA,EAAI,GAAG,OAAOA,CAAC,CAChD,CAEO,SAASxC,GAAkB8B,EAAGW,EAAMC,EAAQ,CACjD,OAAI,OAAOD,GAAS,WAAUA,EAAOA,EAAK,YAAc,IAAI,OAAOA,EAAK,YAAa,GAAG,EAAI,IACrF,OAAO,eAAeX,EAAG,OAAQ,CAAE,aAAc,GAAM,MAAOY,EAAS,GAAG,OAAOA,EAAQ,IAAKD,CAAI,EAAIA,CAAK,CAAC,CACrH,CAEO,SAAS/C,GAAWiD,EAAaC,EAAe,CACrD,GAAI,OAAO,SAAY,UAAY,OAAO,QAAQ,UAAa,WAAY,OAAO,QAAQ,SAASD,EAAaC,CAAa,CAC/H,CAEO,SAAShE,GAAUyD,EAASQ,EAAYC,EAAGC,EAAW,CAC3D,SAASC,EAAMV,EAAO,CAAE,OAAOA,aAAiBQ,EAAIR,EAAQ,IAAIQ,EAAE,SAAUG,EAAS,CAAEA,EAAQX,CAAK,CAAG,CAAC,CAAG,CAAlG,OAAA5B,EAAAsC,EAAA,SACF,IAAKF,IAAMA,EAAI,UAAU,SAAUG,EAASC,EAAQ,CACvD,SAASC,EAAUb,EAAO,CAAE,GAAI,CAAEc,EAAKL,EAAU,KAAKT,CAAK,CAAC,CAAG,OAAS1B,EAAG,CAAEsC,EAAOtC,CAAC,CAAG,CAAE,CAAjFF,EAAAyC,EAAA,aACT,SAASE,EAASf,EAAO,CAAE,GAAI,CAAEc,EAAKL,EAAU,MAAST,CAAK,CAAC,CAAG,OAAS1B,EAAG,CAAEsC,EAAOtC,CAAC,CAAG,CAAE,CAApFF,EAAA2C,EAAA,YACT,SAASD,EAAKhB,EAAQ,CAAEA,EAAO,KAAOa,EAAQb,EAAO,KAAK,EAAIY,EAAMZ,EAAO,KAAK,EAAE,KAAKe,EAAWE,CAAQ,CAAG,CAApG3C,EAAA0C,EAAA,QACTA,GAAML,EAAYA,EAAU,MAAMV,EAASQ,GAAc,CAAC,CAAC,GAAG,KAAK,CAAC,CACxE,CAAC,CACH,CAEO,SAASvD,GAAY+C,EAASiB,EAAM,CACzC,IAAIrB,EAAI,CAAE,MAAO,EAAG,KAAM,UAAW,CAAE,GAAIpB,EAAE,CAAC,EAAI,EAAG,MAAMA,EAAE,CAAC,EAAG,OAAOA,EAAE,CAAC,CAAG,EAAG,KAAM,CAAC,EAAG,IAAK,CAAC,CAAE,EAAGiB,EAAGyB,EAAG1C,EAAG2C,EAC/G,OAAOA,EAAI,CAAE,KAAMC,EAAK,CAAC,EAAG,MAASA,EAAK,CAAC,EAAG,OAAUA,EAAK,CAAC,CAAE,EAAG,OAAO,QAAW,aAAeD,EAAE,OAAO,QAAQ,EAAI,UAAW,CAAE,OAAO,IAAM,GAAIA,EACvJ,SAASC,EAAKC,EAAG,CAAE,OAAO,SAAUC,EAAG,CAAE,OAAOP,EAAK,CAACM,EAAGC,CAAC,CAAC,CAAG,CAAG,CACjE,SAASP,EAAKQ,EAAI,CACd,GAAI9B,EAAG,MAAM,IAAI,UAAU,iCAAiC,EAC5D,KAAO0B,IAAMA,EAAI,EAAGI,EAAG,CAAC,IAAM3B,EAAI,IAAKA,GAAG,GAAI,CAC1C,GAAIH,EAAI,EAAGyB,IAAM1C,EAAI+C,EAAG,CAAC,EAAI,EAAIL,EAAE,OAAYK,EAAG,CAAC,EAAIL,EAAE,SAAc1C,EAAI0C,EAAE,SAAc1C,EAAE,KAAK0C,CAAC,EAAG,GAAKA,EAAE,OAAS,EAAE1C,EAAIA,EAAE,KAAK0C,EAAGK,EAAG,CAAC,CAAC,GAAG,KAAM,OAAO/C,EAE3J,OADI0C,EAAI,EAAG1C,IAAG+C,EAAK,CAACA,EAAG,CAAC,EAAI,EAAG/C,EAAE,KAAK,GAC9B+C,EAAG,CAAC,EAAG,CACX,IAAK,GAAG,IAAK,GAAG/C,EAAI+C,EAAI,MACxB,IAAK,GAAG,OAAA3B,EAAE,QAAgB,CAAE,MAAO2B,EAAG,CAAC,EAAG,KAAM,EAAM,EACtD,IAAK,GAAG3B,EAAE,QAASsB,EAAIK,EAAG,CAAC,EAAGA,EAAK,CAAC,CAAC,EAAG,SACxC,IAAK,GAAGA,EAAK3B,EAAE,IAAI,IAAI,EAAGA,EAAE,KAAK,IAAI,EAAG,SACxC,QACI,GAAMpB,EAAIoB,EAAE,KAAM,EAAApB,EAAIA,EAAE,OAAS,GAAKA,EAAEA,EAAE,OAAS,CAAC,KAAO+C,EAAG,CAAC,IAAM,GAAKA,EAAG,CAAC,IAAM,GAAI,CAAE3B,EAAI,EAAG,QAAU,CAC3G,GAAI2B,EAAG,CAAC,IAAM,IAAM,CAAC/C,GAAM+C,EAAG,CAAC,EAAI/C,EAAE,CAAC,GAAK+C,EAAG,CAAC,EAAI/C,EAAE,CAAC,GAAK,CAAEoB,EAAE,MAAQ2B,EAAG,CAAC,EAAG,KAAO,CACrF,GAAIA,EAAG,CAAC,IAAM,GAAK3B,EAAE,MAAQpB,EAAE,CAAC,EAAG,CAAEoB,EAAE,MAAQpB,EAAE,CAAC,EAAGA,EAAI+C,EAAI,KAAO,CACpE,GAAI/C,GAAKoB,EAAE,MAAQpB,EAAE,CAAC,EAAG,CAAEoB,EAAE,MAAQpB,EAAE,CAAC,EAAGoB,EAAE,IAAI,KAAK2B,CAAE,EAAG,KAAO,CAC9D/C,EAAE,CAAC,GAAGoB,EAAE,IAAI,IAAI,EACpBA,EAAE,KAAK,IAAI,EAAG,QACtB,CACA2B,EAAKN,EAAK,KAAKjB,EAASJ,CAAC,CAC7B,OAASrB,EAAG,CAAEgD,EAAK,CAAC,EAAGhD,CAAC,EAAG2C,EAAI,CAAG,QAAE,CAAUzB,EAAIjB,EAAI,CAAG,CACzD,GAAI+C,EAAG,CAAC,EAAI,EAAG,MAAMA,EAAG,CAAC,EAAG,MAAO,CAAE,MAAOA,EAAG,CAAC,EAAIA,EAAG,CAAC,EAAI,OAAQ,KAAM,EAAK,CACnF,CACF,CAcO,SAASxE,GAAayE,EAAGC,EAAG,CACjC,QAAShD,KAAK+C,EAAO/C,IAAM,WAAa,CAAC,OAAO,UAAU,eAAe,KAAKgD,EAAGhD,CAAC,GAAG9B,GAAgB8E,EAAGD,EAAG/C,CAAC,CAC9G,CAEO,SAASV,GAAS0D,EAAG,CAC1B,IAAInD,EAAI,OAAO,QAAW,YAAc,OAAO,SAAUkD,EAAIlD,GAAKmD,EAAEnD,CAAC,EAAG,EAAI,EAC5E,GAAIkD,EAAG,OAAOA,EAAE,KAAKC,CAAC,EACtB,GAAIA,GAAK,OAAOA,EAAE,QAAW,SAAU,MAAO,CAC1C,KAAM,UAAY,CACd,OAAIA,GAAK,GAAKA,EAAE,SAAQA,EAAI,QACrB,CAAE,MAAOA,GAAKA,EAAE,GAAG,EAAG,KAAM,CAACA,CAAE,CAC1C,CACJ,EACA,MAAM,IAAI,UAAUnD,EAAI,0BAA4B,iCAAiC,CACvF,CAEO,SAASd,GAAOiE,EAAGJ,EAAG,CAC3B,IAAIG,EAAI,OAAO,QAAW,YAAcC,EAAE,OAAO,QAAQ,EACzD,GAAI,CAACD,EAAG,OAAOC,EACf,IAAI,EAAID,EAAE,KAAKC,CAAC,EAAGzC,EAAG0C,EAAK,CAAC,EAAGnD,EAC/B,GAAI,CACA,MAAQ8C,IAAM,QAAUA,KAAM,IAAM,EAAErC,EAAI,EAAE,KAAK,GAAG,MAAM0C,EAAG,KAAK1C,EAAE,KAAK,CAC7E,OACO2C,EAAO,CAAEpD,EAAI,CAAE,MAAOoD,CAAM,CAAG,QACtC,CACI,GAAI,CACI3C,GAAK,CAACA,EAAE,OAASwC,EAAI,EAAE,SAAYA,EAAE,KAAK,CAAC,CACnD,QACA,CAAU,GAAIjD,EAAG,MAAMA,EAAE,KAAO,CACpC,CACA,OAAOmD,CACT,CAGO,SAAS9D,IAAW,CACzB,QAAS8D,EAAK,CAAC,EAAGhD,EAAI,EAAGA,EAAI,UAAU,OAAQA,IAC3CgD,EAAKA,EAAG,OAAOlE,GAAO,UAAUkB,CAAC,CAAC,CAAC,EACvC,OAAOgD,CACT,CAGO,SAAS5D,IAAiB,CAC/B,QAASQ,EAAI,EAAGI,EAAI,EAAGkD,EAAK,UAAU,OAAQlD,EAAIkD,EAAIlD,IAAKJ,GAAK,UAAUI,CAAC,EAAE,OAC7E,QAASM,EAAI,MAAMV,CAAC,EAAGuD,EAAI,EAAGnD,EAAI,EAAGA,EAAIkD,EAAIlD,IACzC,QAASoD,EAAI,UAAUpD,CAAC,EAAGqD,EAAI,EAAGC,EAAKF,EAAE,OAAQC,EAAIC,EAAID,IAAKF,IAC1D7C,EAAE6C,CAAC,EAAIC,EAAEC,CAAC,EAClB,OAAO/C,CACT,CAEO,SAASnB,GAAcoE,EAAIC,EAAMC,EAAM,CAC5C,GAAIA,GAAQ,UAAU,SAAW,EAAG,QAAS,EAAI,EAAGC,EAAIF,EAAK,OAAQR,EAAI,EAAIU,EAAG,KACxEV,GAAM,EAAE,KAAKQ,MACRR,IAAIA,EAAK,MAAM,UAAU,MAAM,KAAKQ,EAAM,EAAG,CAAC,GACnDR,EAAG,CAAC,EAAIQ,EAAK,CAAC,GAGtB,OAAOD,EAAG,OAAOP,GAAM,MAAM,UAAU,MAAM,KAAKQ,CAAI,CAAC,CACzD,CAEO,SAAS5F,GAAQgF,EAAG,CACzB,OAAO,gBAAgBhF,IAAW,KAAK,EAAIgF,EAAG,MAAQ,IAAIhF,GAAQgF,CAAC,CACrE,CAEO,SAASlF,GAAiB4D,EAASQ,EAAYE,EAAW,CAC/D,GAAI,CAAC,OAAO,cAAe,MAAM,IAAI,UAAU,sCAAsC,EACrF,IAAIS,EAAIT,EAAU,MAAMV,EAASQ,GAAc,CAAC,CAAC,EAAG9B,EAAG2D,EAAI,CAAC,EAC5D,OAAO3D,EAAI,CAAC,EAAG0C,EAAK,MAAM,EAAGA,EAAK,OAAO,EAAGA,EAAK,QAAQ,EAAG1C,EAAE,OAAO,aAAa,EAAI,UAAY,CAAE,OAAO,IAAM,EAAGA,EACpH,SAAS0C,EAAKC,EAAG,CAAMF,EAAEE,CAAC,IAAG3C,EAAE2C,CAAC,EAAI,SAAUC,EAAG,CAAE,OAAO,IAAI,QAAQ,SAAUQ,EAAG5D,EAAG,CAAEmE,EAAE,KAAK,CAAChB,EAAGC,EAAGQ,EAAG5D,CAAC,CAAC,EAAI,GAAKoE,EAAOjB,EAAGC,CAAC,CAAG,CAAC,CAAG,EAAG,CACzI,SAASgB,EAAOjB,EAAGC,EAAG,CAAE,GAAI,CAAEP,EAAKI,EAAEE,CAAC,EAAEC,CAAC,CAAC,CAAG,OAAS/C,EAAG,CAAEgE,EAAOF,EAAE,CAAC,EAAE,CAAC,EAAG9D,CAAC,CAAG,CAAE,CACjF,SAASwC,EAAK/B,EAAG,CAAEA,EAAE,iBAAiB1C,GAAU,QAAQ,QAAQ0C,EAAE,MAAM,CAAC,EAAE,KAAKwD,EAAS3B,CAAM,EAAI0B,EAAOF,EAAE,CAAC,EAAE,CAAC,EAAGrD,CAAC,CAAG,CACvH,SAASwD,EAAQvC,EAAO,CAAEqC,EAAO,OAAQrC,CAAK,CAAG,CACjD,SAASY,EAAOZ,EAAO,CAAEqC,EAAO,QAASrC,CAAK,CAAG,CACjD,SAASsC,EAAO9C,EAAG6B,EAAG,CAAM7B,EAAE6B,CAAC,EAAGe,EAAE,MAAM,EAAGA,EAAE,QAAQC,EAAOD,EAAE,CAAC,EAAE,CAAC,EAAGA,EAAE,CAAC,EAAE,CAAC,CAAC,CAAG,CACnF,CAEO,SAASlG,GAAiBsF,EAAG,CAClC,IAAI/C,EAAGD,EACP,OAAOC,EAAI,CAAC,EAAG0C,EAAK,MAAM,EAAGA,EAAK,QAAS,SAAU7C,EAAG,CAAE,MAAMA,CAAG,CAAC,EAAG6C,EAAK,QAAQ,EAAG1C,EAAE,OAAO,QAAQ,EAAI,UAAY,CAAE,OAAO,IAAM,EAAGA,EAC1I,SAAS0C,EAAKC,EAAG5B,EAAG,CAAEf,EAAE2C,CAAC,EAAII,EAAEJ,CAAC,EAAI,SAAUC,EAAG,CAAE,OAAQ7C,EAAI,CAACA,GAAK,CAAE,MAAOnC,GAAQmF,EAAEJ,CAAC,EAAEC,CAAC,CAAC,EAAG,KAAM,EAAM,EAAI7B,EAAIA,EAAE6B,CAAC,EAAIA,CAAG,EAAI7B,CAAG,CACvI,CAEO,SAASpD,GAAcoF,EAAG,CAC/B,GAAI,CAAC,OAAO,cAAe,MAAM,IAAI,UAAU,sCAAsC,EACrF,IAAID,EAAIC,EAAE,OAAO,aAAa,EAAG/C,EACjC,OAAO8C,EAAIA,EAAE,KAAKC,CAAC,GAAKA,EAAI,OAAO1D,IAAa,WAAaA,GAAS0D,CAAC,EAAIA,EAAE,OAAO,QAAQ,EAAE,EAAG/C,EAAI,CAAC,EAAG0C,EAAK,MAAM,EAAGA,EAAK,OAAO,EAAGA,EAAK,QAAQ,EAAG1C,EAAE,OAAO,aAAa,EAAI,UAAY,CAAE,OAAO,IAAM,EAAGA,GAC9M,SAAS0C,EAAKC,EAAG,CAAE3C,EAAE2C,CAAC,EAAII,EAAEJ,CAAC,GAAK,SAAUC,EAAG,CAAE,OAAO,IAAI,QAAQ,SAAUV,EAASC,EAAQ,CAAES,EAAIG,EAAEJ,CAAC,EAAEC,CAAC,EAAGiB,EAAO3B,EAASC,EAAQS,EAAE,KAAMA,EAAE,KAAK,CAAG,CAAC,CAAG,CAAG,CAC/J,SAASiB,EAAO3B,EAASC,EAAQ5C,EAAGqD,EAAG,CAAE,QAAQ,QAAQA,CAAC,EAAE,KAAK,SAASA,EAAG,CAAEV,EAAQ,CAAE,MAAOU,EAAG,KAAMrD,CAAE,CAAC,CAAG,EAAG4C,CAAM,CAAG,CAC7H,CAEO,SAASzD,GAAqBqF,EAAQC,EAAK,CAChD,OAAI,OAAO,eAAkB,OAAO,eAAeD,EAAQ,MAAO,CAAE,MAAOC,CAAI,CAAC,EAAYD,EAAO,IAAMC,EAClGD,CACT,CAQO,SAAStF,GAAawF,EAAK,CAChC,GAAIA,GAAOA,EAAI,WAAY,OAAOA,EAClC,IAAI5C,EAAS,CAAC,EACd,GAAI4C,GAAO,KAAM,QAASd,KAAKc,EAASd,IAAM,WAAa,OAAO,UAAU,eAAe,KAAKc,EAAKd,CAAC,GAAGlF,GAAgBoD,EAAQ4C,EAAKd,CAAC,EACvI,OAAAe,GAAmB7C,EAAQ4C,CAAG,EACvB5C,CACT,CAEO,SAAS7C,GAAgByF,EAAK,CACnC,OAAQA,GAAOA,EAAI,WAAcA,EAAM,CAAE,QAASA,CAAI,CACxD,CAEO,SAASnG,GAAuBqG,EAAUC,EAAOpD,EAAMD,EAAG,CAC/D,GAAIC,IAAS,KAAO,CAACD,EAAG,MAAM,IAAI,UAAU,+CAA+C,EAC3F,GAAI,OAAOqD,GAAU,WAAaD,IAAaC,GAAS,CAACrD,EAAI,CAACqD,EAAM,IAAID,CAAQ,EAAG,MAAM,IAAI,UAAU,0EAA0E,EACjL,OAAOnD,IAAS,IAAMD,EAAIC,IAAS,IAAMD,EAAE,KAAKoD,CAAQ,EAAIpD,EAAIA,EAAE,MAAQqD,EAAM,IAAID,CAAQ,CAC9F,CAEO,SAASnG,GAAuBmG,EAAUC,EAAO7C,EAAOP,EAAMD,EAAG,CACtE,GAAIC,IAAS,IAAK,MAAM,IAAI,UAAU,gCAAgC,EACtE,GAAIA,IAAS,KAAO,CAACD,EAAG,MAAM,IAAI,UAAU,+CAA+C,EAC3F,GAAI,OAAOqD,GAAU,WAAaD,IAAaC,GAAS,CAACrD,EAAI,CAACqD,EAAM,IAAID,CAAQ,EAAG,MAAM,IAAI,UAAU,yEAAyE,EAChL,OAAQnD,IAAS,IAAMD,EAAE,KAAKoD,EAAU5C,CAAK,EAAIR,EAAIA,EAAE,MAAQQ,EAAQ6C,EAAM,IAAID,EAAU5C,CAAK,EAAIA,CACtG,CAEO,SAASxD,GAAsBqG,EAAOD,EAAU,CACrD,GAAIA,IAAa,MAAS,OAAOA,GAAa,UAAY,OAAOA,GAAa,WAAa,MAAM,IAAI,UAAU,wCAAwC,EACvJ,OAAO,OAAOC,GAAU,WAAaD,IAAaC,EAAQA,EAAM,IAAID,CAAQ,CAC9E,CAEO,SAAS5G,GAAwB8G,EAAK9C,EAAO+C,EAAO,CACzD,GAAI/C,GAAU,KAA0B,CACtC,GAAI,OAAOA,GAAU,UAAY,OAAOA,GAAU,WAAY,MAAM,IAAI,UAAU,kBAAkB,EACpG,IAAIgD,EACJ,GAAID,EAAO,CACP,GAAI,CAAC,OAAO,aAAc,MAAM,IAAI,UAAU,qCAAqC,EACnFC,EAAUhD,EAAM,OAAO,YAAY,CACvC,CACA,GAAIgD,IAAY,OAAQ,CACpB,GAAI,CAAC,OAAO,QAAS,MAAM,IAAI,UAAU,gCAAgC,EACzEA,EAAUhD,EAAM,OAAO,OAAO,CAClC,CACA,GAAI,OAAOgD,GAAY,WAAY,MAAM,IAAI,UAAU,wBAAwB,EAC/EF,EAAI,MAAM,KAAK,CAAE,MAAO9C,EAAO,QAASgD,EAAS,MAAOD,CAAM,CAAC,CACjE,MACSA,GACPD,EAAI,MAAM,KAAK,CAAE,MAAO,EAAK,CAAC,EAEhC,OAAO9C,CACT,CAOO,SAASpD,GAAmBkG,EAAK,CACtC,SAASG,EAAK3E,EAAG,CACfwE,EAAI,MAAQA,EAAI,SAAW,IAAII,GAAiB5E,EAAGwE,EAAI,MAAO,0CAA0C,EAAIxE,EAC5GwE,EAAI,SAAW,EACjB,CAHS1E,EAAA6E,EAAA,QAIT,SAASE,GAAO,CACd,KAAOL,EAAI,MAAM,QAAQ,CACvB,IAAIM,EAAMN,EAAI,MAAM,IAAI,EACxB,GAAI,CACF,IAAIhD,EAASsD,EAAI,SAAWA,EAAI,QAAQ,KAAKA,EAAI,KAAK,EACtD,GAAIA,EAAI,MAAO,OAAO,QAAQ,QAAQtD,CAAM,EAAE,KAAKqD,EAAM,SAAS7E,EAAG,CAAE,OAAA2E,EAAK3E,CAAC,EAAU6E,EAAK,CAAG,CAAC,CAClG,OACO7E,EAAG,CACN2E,EAAK3E,CAAC,CACV,CACF,CACA,GAAIwE,EAAI,SAAU,MAAMA,EAAI,KAC9B,CAZS,OAAA1E,EAAA+E,EAAA,QAaFA,EAAK,CACd,CAnVA,IAgBIjF,GAeOjC,GAyHAS,GA0GPiG,GAyDAO,GA0BGnF,GArVPsF,GAAAC,GAAA,KAgBIpF,GAAgBE,EAAA,SAASJ,EAAGC,EAAG,CACjC,OAAAC,GAAgB,OAAO,gBAClB,CAAE,UAAW,CAAC,CAAE,YAAa,OAAS,SAAUF,EAAGC,EAAG,CAAED,EAAE,UAAYC,CAAG,GAC1E,SAAUD,EAAGC,EAAG,CAAE,QAASO,KAAKP,EAAO,OAAO,UAAU,eAAe,KAAKA,EAAGO,CAAC,IAAGR,EAAEQ,CAAC,EAAIP,EAAEO,CAAC,EAAG,EAC7FN,GAAcF,EAAGC,CAAC,CAC3B,EALoB,iBAOJG,EAAArB,GAAA,aAQLd,GAAWmC,EAAA,UAAW,CAC/B,OAAAnC,GAAW,OAAO,QAAUmC,EAAA,SAAkB,EAAG,CAC7C,QAASC,EAAG,EAAI,EAAG+C,EAAI,UAAU,OAAQ,EAAIA,EAAG,IAAK,CACjD/C,EAAI,UAAU,CAAC,EACf,QAAS,KAAKA,EAAO,OAAO,UAAU,eAAe,KAAKA,EAAG,CAAC,IAAG,EAAE,CAAC,EAAIA,EAAE,CAAC,EAC/E,CACA,OAAO,CACX,EAN4B,YAOrBpC,GAAS,MAAM,KAAM,SAAS,CACvC,EATsB,YAWNmC,EAAAZ,GAAA,UAYAY,EAAAzB,GAAA,cAOAyB,EAAAf,GAAA,WAIAe,EAAAvB,GAAA,gBA4BAuB,EAAAX,GAAA,qBAQAW,EAAAd,GAAA,aAIAc,EAAAV,GAAA,qBAKAU,EAAAhB,GAAA,cAIAgB,EAAA9B,GAAA,aAUA8B,EAAApB,GAAA,eA4BLN,GAAkB,OAAO,OAAU,SAAS8E,EAAGD,EAAGK,EAAG2B,EAAI,CAC9DA,IAAO,SAAWA,EAAK3B,GAC3B,IAAI/C,EAAO,OAAO,yBAAyB0C,EAAGK,CAAC,GAC3C,CAAC/C,IAAS,QAASA,EAAO,CAAC0C,EAAE,WAAa1C,EAAK,UAAYA,EAAK,iBAChEA,EAAO,CAAE,WAAY,GAAM,IAAK,UAAW,CAAE,OAAO0C,EAAEK,CAAC,CAAG,CAAE,GAEhE,OAAO,eAAeJ,EAAG+B,EAAI1E,CAAI,CACnC,EAAM,SAAS2C,EAAGD,EAAGK,EAAG2B,EAAI,CACtBA,IAAO,SAAWA,EAAK3B,GAC3BJ,EAAE+B,CAAE,EAAIhC,EAAEK,CAAC,CACb,EAEgBxD,EAAAtB,GAAA,gBAIAsB,EAAAN,GAAA,YAYAM,EAAAb,GAAA,UAkBAa,EAAAT,GAAA,YAOAS,EAAAP,GAAA,kBAQAO,EAAAR,GAAA,iBAUAQ,EAAA/B,GAAA,WAIA+B,EAAAjC,GAAA,oBAYAiC,EAAAlC,GAAA,oBAMAkC,EAAAhC,GAAA,iBAQAgC,EAAAjB,GAAA,wBAKZwF,GAAqB,OAAO,OAAU,SAASnB,EAAGH,EAAG,CACvD,OAAO,eAAeG,EAAG,UAAW,CAAE,WAAY,GAAM,MAAOH,CAAE,CAAC,CACpE,EAAK,SAASG,EAAGH,EAAG,CAClBG,EAAE,QAAaH,CACjB,EAEgBjD,EAAAlB,GAAA,gBAQAkB,EAAAnB,GAAA,mBAIAmB,EAAA7B,GAAA,0BAMA6B,EAAA3B,GAAA,0BAOA2B,EAAA5B,GAAA,yBAKA4B,EAAApC,GAAA,2BAqBZkH,GAAmB,OAAO,iBAAoB,WAAa,gBAAkB,SAAUxB,EAAO8B,EAAYC,EAAS,CACrH,IAAInF,EAAI,IAAI,MAAMmF,CAAO,EACzB,OAAOnF,EAAE,KAAO,kBAAmBA,EAAE,MAAQoD,EAAOpD,EAAE,WAAakF,EAAYlF,CACjF,EAEgBF,EAAAxB,GAAA,sBAqBTmB,GAAQ,CACb,UAAAhB,GACA,SAAAd,GACA,OAAAuB,GACA,WAAAb,GACA,QAAAU,GACA,WAAAD,GACA,UAAAd,GACA,YAAAU,GACA,gBAAAN,GACA,aAAAI,GACA,SAAAgB,GACA,OAAAP,GACA,SAAAI,GACA,eAAAE,GACA,cAAAD,GACA,QAAAvB,GACA,iBAAAF,GACA,iBAAAD,GACA,cAAAE,GACA,qBAAAe,GACA,aAAAD,GACA,gBAAAD,GACA,uBAAAV,GACA,uBAAAE,GACA,sBAAAD,GACA,wBAAAR,GACA,mBAAAY,EACF,ICjXA,IAAA8G,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,qBAAuBA,GAAQ,eAAiBA,GAAQ,WAAaA,GAAQ,YAAcA,GAAQ,YAAc,OACzHA,GAAQ,YAAc,CAClB,oBAAqB,gCACrB,wBAAyB,6CACzB,mBAAoB,iBACpB,mBAAoB,iBACpB,qBAAsB,oHACtB,wBAAyB,6CACzB,kBAAmB,uBACnB,0BAA2B,GAC3B,sBAAuB,6FACvB,wBAAyB,GACzB,kBAAmB,4CACnB,6BAA8B,0BAC9B,cAAe,YACf,mBAAoB,eACpB,mBAAoB,iBACpB,uBAAwB,yBACxB,qCAAsC,qCACtC,iCAAkC,GAClC,gBAAiB,WACjB,kBAAmB,iCACnB,qBAAsB,kDACtB,sBAAuB,GACvB,qBAAsB,uBACtB,gBAAiB,kBACjB,cAAe,GACf,QAAS,GACT,gBAAiB,mBACjB,wBAAyB,GACzB,mBAAoB,GACpB,qBAAsB,GACtB,oBAAqB,sBACrB,qBAAsB,mCACtB,oBAAqB,0BACrB,sBAAuB,0BACvB,4BAA6B,oCACjC,EACA,IAAMC,GAAN,cAA0B,KAAM,CAxChC,MAwCgC,CAAAC,EAAA,oBAC5B,YAAYC,EAAMC,EAAS,CACvB,MAAMA,CAAO,EACb,KAAK,KAAOD,EACZ,KAAK,QAAUC,CACnB,CACJ,EACAJ,GAAQ,YAAcC,GACtB,IAAMI,GAAaH,EAAA,CAACI,EAAIF,IAAY,IAAIH,GAAYK,EAAIF,GAAWJ,GAAQ,YAAYM,CAAE,CAAC,EAAvE,cACnBN,GAAQ,WAAaK,GACrB,IAAME,GAAiBL,EAACM,GAChBA,GAAWA,EAAQ,iBAAiB,MAC7B,CAAE,MAAOA,EAAQ,MAAM,QAAS,KAAMA,EAAQ,MAAM,IAAK,EAE7DA,EAJY,kBAMvBR,GAAQ,eAAiBO,GACzBP,GAAQ,qBAAuB,iBCzD/B,IAAAS,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,gBAAkBA,GAAQ,WAAaA,GAAQ,SAAW,OAClEA,GAAQ,SAAW,WACnBA,GAAQ,WAAa,CACjB,UAAW,kBACX,WAAY,4BACZ,kBAAmB,mCACnB,aAAc,yBACd,WAAY,4BACZ,SAAU,qBACV,aAAc,yBACd,kBAAmB,8BACnB,uBAAwB,iCACxB,wBAAyB,oCACzB,uBAAwB,mCACxB,kBAAmB,uBACnB,mBAAoB,wBACpB,oBAAqB,yBACrB,kBAAmB,oBACnB,gBAAiB,kBACjB,mBAAoB,wBACpB,qBAAsB,0BACtB,YAAa,iBACb,YAAa,iBACb,mBAAoB,wBACpB,6BAA8B,kCAC9B,mBAAoB,wBACpB,QAAS,aACT,QAAS,aACT,cAAe,mBACf,cAAe,mBACf,eAAgB,oBAChB,WAAY,gBACZ,kBAAmB,uBACnB,mBAAoB,wBACpB,eAAgB,YAChB,aAAc,kBACd,wBAAyB,6BACzB,gBAAiB,qBACjB,mBAAoB,wBACpB,eAAgB,mBACpB,EACA,IAAMC,GAAkBC,EAAA,CAACC,EAAMC,KAAa,CACxC,MAAOJ,GAAQ,SACf,KAAAG,EACA,QAAAC,CACJ,GAJwB,mBAKxBJ,GAAQ,gBAAkBC,KChD1B,IAAAI,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,iBAAmBA,GAAQ,YAAc,OACjD,IAAMC,GAAe,KACrBD,GAAQ,YAAc,CAClB,mBAAoB,wBACpB,qBAAsB,0BACtB,YAAa,iBACb,mBAAoB,wBACpB,eAAgB,oBAChB,gBAAiB,qBACjB,YAAa,iBACb,aAAc,kBACd,0BAA2B,+BAC3B,gBAAiB,qBACjB,yBAA0B,6BAC9B,EACA,IAAME,GAAmBC,EAAA,CAACC,EAAMC,KAAa,CACzC,MAAOJ,GAAa,SACpB,KAAAG,EACA,QAAAC,CACJ,GAJyB,oBAKzBL,GAAQ,iBAAmBE,KCtB3B,IAAAI,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,wBAA0BA,GAAQ,WAAaA,GAAQ,iBAAmB,OAClFA,GAAQ,iBAAmB,mBAC3BA,GAAQ,WAAa,CACjB,QAAS,qBACT,aAAc,0BACd,MAAO,mBACP,MAAO,mBACP,aAAc,0BACd,kBAAmB,mBACvB,EACA,IAAMC,GAA0BC,EAAA,CAACC,EAAMC,KAAa,CAChD,MAAOJ,GAAQ,iBACf,KAAAG,EACA,QAAAC,CACJ,GAJgC,2BAKhCJ,GAAQ,wBAA0BC,KCjBlC,IAAAI,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,sBAAwBA,GAAQ,eAAiB,OACzD,IAAMC,GAAW,KACjBD,GAAQ,eAAiB,iBACzB,IAAME,GAAwBC,EAAA,CAACC,EAAIC,EAASC,KAAa,CACrD,MAAON,GAAQ,eACf,KAAMA,GAAQ,eACd,GAAAI,EACA,QAAAC,EACA,QAASA,EAAUC,KAAcL,GAAS,gBAAgBK,CAAO,CACrE,GAN8B,yBAO9BN,GAAQ,sBAAwBE,KCZhC,IAAAK,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,mBAAqBA,GAAQ,aAAeA,GAAQ,WAAa,OACzEA,GAAQ,WAAa,aACrB,IAAMC,GAAeC,EAACC,GAAgB,CAClC,IAAMC,EAAU,CACZ,MAAOD,EAAY,MACnB,KAAMA,EAAY,KAClB,QAASA,EAAY,OACzB,EACA,OAAI,OAAOA,EAAY,IAAO,WAC1BC,EAAQ,GAAKD,EAAY,IAEzB,OAAOA,EAAY,SAAY,YAC/BC,EAAQ,QAAUD,EAAY,SAE3BC,CACX,EAbqB,gBAcrBJ,GAAQ,aAAeC,GACvB,IAAMI,GAAqBH,EAACI,IAAW,CACnC,QAAS,GACT,QAAS,CACL,MAAOA,EAAM,QACb,KAAMA,EAAM,IAChB,CACJ,GAN2B,sBAO3BN,GAAQ,mBAAqBK,KC1B7B,IAAAE,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,oBAAsBA,GAAQ,OAASA,GAAQ,aAAe,OACtEA,GAAQ,aAAe,eACvBA,GAAQ,OAAS,CACb,QAAS,iBACT,mBAAoB,4BACpB,WAAY,oBACZ,QAAS,iBACT,QAAS,iBACT,QAAS,iBACT,SAAU,kBACV,SAAU,kBACV,eAAgB,wBAChB,WAAY,oBACZ,QAAS,iBACT,OAAQ,SACR,IAAK,MACL,WAAY,aACZ,qBAAsB,uBACtB,KAAM,MACV,EACA,IAAMC,GAAsBC,EAAA,CAACC,EAAMC,KAAa,CAC5C,MAAOJ,GAAQ,aACf,KAAAG,EACA,QAAAC,CACJ,GAJ4B,uBAK5BJ,GAAQ,oBAAsBC,KC3B9B,IAAAI,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,oBAAsBA,GAAQ,OAAS,OAC/C,IAAMC,GAAe,KACrBD,GAAQ,OAAS,CACb,UAAW,mBACX,OAAQ,gBACR,KAAM,cACN,MAAO,eACP,KAAM,cACN,IAAK,YACT,EACA,IAAME,GAAsBC,EAAA,CAACC,EAAMC,KAAa,CAC5C,MAAOJ,GAAa,SACpB,KAAAG,EACA,QAAAC,CACJ,GAJ4B,uBAK5BL,GAAQ,oBAAsBE,KCjB9B,IAAAI,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,mBAAqBA,GAAQ,MAAQ,OAC7C,IAAMC,GAAe,KACrBD,GAAQ,MAAQ,CACZ,UAAW,kBACX,OAAQ,eACR,YAAa,oBACb,KAAM,aACN,MAAO,cACP,0BAA2B,uBAC3B,UAAW,kBACX,OAAQ,eACR,qBAAsB,0BACtB,aAAc,eACd,mBAAoB,2BACpB,sBAAuB,8BACvB,YAAa,mBACjB,EACA,IAAME,GAAqBC,EAAA,CAACC,EAAMC,KAAa,CAC3C,MAAOJ,GAAa,SACpB,KAAAG,EACA,QAAAC,CACJ,GAJ2B,sBAK3BL,GAAQ,mBAAqBE,KCxB7B,IAAAI,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,UAAYA,GAAQ,eAAiBA,GAAQ,uBAAyBA,GAAQ,0BAA4BA,GAAQ,cAAgBA,GAAQ,YAAcA,GAAQ,aAAeA,GAAQ,iBAAmB,OAClNA,GAAQ,iBAAmB,EAC3BA,GAAQ,aAAe,EACvBA,GAAQ,YAAc,EACtBA,GAAQ,cAAgB,MACxB,IAAMC,GAAiB,EACjBC,GAA0B,MAChCF,GAAQ,0BAA4B,MACpCA,GAAQ,uBAAyB,CAC7B,CAAE,SAAU,MAAQ,UAAWC,EAAe,EAC9C,CAAE,SAAU,KAAQ,UAAWD,GAAQ,yBAA0B,EACjE,CAAE,SAAU,KAAQ,UAAWE,EAAwB,CAC3D,EACAF,GAAQ,eAAiB,IACzBA,GAAQ,UAAY,CAChB,MAAO,kBACP,MAAO,kBACP,OAAQ,mBACR,eAAgB,2BAChB,eAAgB,0BACpB,ICtBA,IAAAG,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,uBAAyBA,GAAQ,gBAAkBA,GAAQ,UAAY,OAC/E,IAAMC,GAAW,KACbC,GAAc,KAClB,OAAO,eAAeF,GAAS,YAAa,CAAE,WAAY,GAAM,IAAK,UAAY,CAAE,OAAOE,GAAY,SAAW,CAAE,CAAC,EACpHF,GAAQ,gBAAkB,kBAC1B,IAAMG,GAAyBC,EAAA,CAACC,EAAMC,KAAa,CAC/C,MAAON,GAAQ,gBACf,KAAAK,EACA,QAAS,UAAWC,KAAcL,GAAS,gBAAgBK,CAAO,EAAIA,CAC1E,GAJ+B,0BAK/BN,GAAQ,uBAAyBG,KCZjC,IAAAI,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,ICD5D,IAAAC,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,aAAe,OACvBA,GAAQ,aAAe,CACnB,0BAA2B,kBAC3B,qBAAsB,uBACtB,sBAAuB,wBACvB,yBAA0B,2BAC1B,0BAA2B,2BAC/B,ICTA,IAAAC,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,GAAK,OACb,IAAMC,GAAU,cACVC,GAAe,KACfC,GAAgB,KACtBF,GAAQ,aAAa,KAAyBD,EAAO,EACrDC,GAAQ,aAAa,KAAmBD,EAAO,EAC/CC,GAAQ,aAAa,KAAmBD,EAAO,EAC/CC,GAAQ,aAAa,KAAqBD,EAAO,EACjDC,GAAQ,aAAa,KAAqBD,EAAO,EACjDC,GAAQ,aAAa,KAAoBD,EAAO,EAChDC,GAAQ,aAAa,KAAwBD,EAAO,EACpDC,GAAQ,aAAa,KAAyBD,EAAO,EACrDC,GAAQ,aAAa,KAAyBD,EAAO,EACrDC,GAAQ,aAAa,KAA0BD,EAAO,EACtDC,GAAQ,aAAa,KAA2BD,EAAO,EACvDA,GAAQ,GAAK,CACT,GAAGE,GAAa,WAChB,GAAGC,GAAc,WACrB,ICpBA,IAAAC,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,QAAU,OAClB,IAAMC,GAAW,KACXC,GAAUC,EAAA,CAAC,CAAE,aAAAC,EAAc,SAAAC,EAAU,KAAAC,EAAM,KAAAC,EAAM,aAAAC,EAAc,WAAAC,EAAY,mBAAAC,EAAoB,cAAAC,EAAe,oBAAAC,EAAqB,OAAAC,EAAQ,QAAAC,CAAS,KAC1I,CACR,SAAAT,EACA,KAAAC,EACA,YAAa,IAAMC,EAAK,CAAE,OAAQ,aAAc,CAAC,EACjD,GAAI,CAACQ,EAAMC,IAAO,CACdZ,EAAa,GAAGW,EAAMC,CAAE,CAC5B,EACA,IAAK,CAACD,EAAMC,IAAO,CACfZ,EAAa,eAAeW,EAAMC,CAAE,CACxC,EACA,mBAAoBD,GAAQ,CACpB,OAAOA,GAAS,SAChBX,EAAa,mBAAmBW,CAAI,EAGpCX,EAAa,mBAAmB,CAExC,EACA,WAAAK,EACA,mCAAoCQ,GAAUV,EAAK,CAAE,GAAGU,EAAQ,OAAQ,oCAAqC,CAAC,EAC9G,8BAA+BA,GAAUV,EAAK,CAAE,GAAGU,EAAQ,OAAQ,+BAAgC,CAAC,EACpG,oCAAqCA,GAAUV,EAAK,CAAE,GAAGU,EAAQ,OAAQ,qCAAsC,CAAC,EAChH,qBAAsBA,GAAUV,EAAK,CAAE,GAAGU,EAAQ,OAAQ,sBAAuB,CAAC,EAClF,sBAAuBA,GAAUV,EAAK,CAAE,GAAGU,EAAQ,OAAQ,uBAAwB,CAAC,EACpF,0BAA2BA,GAAUV,EAAK,CAAE,GAAGU,EAAQ,OAAQ,2BAA4B,CAAC,EAC5F,2BAA4BA,GAAUV,EAAK,CAAE,GAAGU,EAAQ,OAAQ,4BAA6B,CAAC,EAC9F,oBAAqBA,GAAUV,EAAK,CAAE,GAAGU,EAAQ,OAAQ,qBAAsB,CAAC,EAChF,6BAA8BA,GAAUV,EAAK,CAAE,GAAGU,EAAQ,OAAQ,8BAA+B,CAAC,EAClG,sBAAuBA,GAAUV,EAAK,CAAE,GAAGU,EAAQ,OAAQ,uBAAwB,CAAC,EACpF,+BAAgCA,GAAUV,EAAK,CAAE,GAAGU,EAAQ,OAAQ,gCAAiC,CAAC,EACtG,aAAcA,GAAUT,EAAaS,CAAM,EAC3C,kBAAmBA,GAAUV,EAAK,CAC9B,GAAGU,EACH,OAAQ,oBACR,iBAAkBb,EAAa,cAAcH,GAAS,GAAG,kBAAkB,EAAI,CACnF,CAAC,EACD,2BAA4BgB,GAAUV,EAAK,CAAE,GAAGU,EAAQ,OAAQ,4BAA6B,CAAC,EAC9F,oBAAqBA,GAAUV,EAAK,CAAE,GAAGU,EAAQ,OAAQ,qBAAsB,CAAC,EAChF,uBAAwBA,GAAUV,EAAK,CAAE,GAAGU,EAAQ,OAAQ,wBAAyB,CAAC,EACtF,0BAA2BA,GAAUV,EAAK,CAAE,GAAGU,EAAQ,OAAQ,2BAA4B,CAAC,EAC5F,eAAgBA,GAAUV,EAAK,CAAE,GAAGU,EAAQ,OAAQ,gBAAiB,CAAC,EACtE,mBAAoBA,GAAUV,EAAK,CAAE,GAAGU,EAAQ,OAAQ,oBAAqB,CAAC,EAC9E,mBAAoBA,GAAUV,EAAK,CAC/B,GAAGU,EACH,OAAQ,qBACR,iBAAkBb,EAAa,cAAcH,GAAS,GAAG,kBAAkB,EAAI,CACnF,CAAC,EACD,qBAAsBgB,GAAUV,EAAK,CAAE,GAAGU,EAAQ,OAAQ,sBAAuB,CAAC,EAClF,oBAAqBA,GAAUV,EAAK,CAAE,GAAGU,EAAQ,OAAQ,qBAAsB,CAAC,EAChF,wBAAyBA,GAAUV,EAAK,CAAE,GAAGU,EAAQ,OAAQ,yBAA0B,CAAC,EACxF,sBAAuBA,GAAUV,EAAK,CAAE,GAAGU,EAAQ,OAAQ,uBAAwB,CAAC,EACpF,sBAAuBA,GAAUV,EAAK,CAAE,GAAGU,EAAQ,OAAQ,uBAAwB,CAAC,EACpF,qBAAsBA,GAAUV,EAAK,CAAE,GAAGU,EAAQ,OAAQ,sBAAuB,CAAC,EAClF,eAAgBA,GAAUV,EAAK,CAAE,GAAGU,EAAQ,OAAQ,gBAAiB,CAAC,EACtE,WAAYA,GAAUV,EAAK,CACvB,GAAGU,EACH,OAAQ,aACR,iBAAkBb,EAAa,cAAcH,GAAS,GAAG,kBAAkB,EAAI,CACnF,CAAC,EACD,eAAgBgB,GAAUV,EAAK,CAAE,GAAGU,EAAQ,OAAQ,gBAAiB,CAAC,EACtE,YAAaA,GAAUV,EAAK,CAAE,GAAGU,EAAQ,OAAQ,aAAc,CAAC,EAChE,gBAAiBA,GAAUV,EAAK,CAAE,GAAGU,EAAQ,OAAQ,iBAAkB,CAAC,EACxE,eAAgBA,GAAUV,EAAK,CAAE,GAAGU,EAAQ,OAAQ,gBAAiB,CAAC,EACtE,kBAAmBA,GAAUV,EAAK,CAAE,GAAGU,EAAQ,OAAQ,mBAAoB,CAAC,EAC5E,aAAcA,GAAUV,EAAK,CAAE,GAAGU,EAAQ,OAAQ,cAAe,CAAC,EAClE,cAAeA,GAAUV,EAAK,CAC1B,GAAGU,EACH,OAAQ,gBACR,iBAAkBb,EAAa,cAAcH,GAAS,GAAG,kBAAkB,EAAI,CACnF,CAAC,EACD,mBAAoBgB,GAAUV,EAAK,CAAE,GAAGU,EAAQ,OAAQ,oBAAqB,CAAC,EAC9E,gBAAiBA,GAAUV,EAAK,CAAE,GAAGU,EAAQ,OAAQ,iBAAkB,CAAC,EACxE,iBAAkBA,GAAUV,EAAK,CAC7B,GAAGU,EACH,OAAQ,mBACR,iBAAkBb,EAAa,cAAcH,GAAS,GAAG,kBAAkB,EAAI,CACnF,CAAC,EACD,sBAAuBgB,GAAUV,EAAK,CAAE,GAAGU,EAAQ,OAAQ,uBAAwB,CAAC,EACpF,YAAaA,GAAUV,EAAK,CAAE,GAAGU,EAAQ,OAAQ,aAAc,CAAC,EAChE,gBAAiBA,GAAUV,EAAK,CAAE,GAAGU,EAAQ,OAAQ,iBAAkB,CAAC,EACxE,mBAAoBA,GAAUV,EAAK,CAAE,GAAGU,EAAQ,OAAQ,oBAAqB,CAAC,EAC9E,iBAAkBA,GAAUV,EAAK,CAAE,GAAGU,EAAQ,OAAQ,kBAAmB,CAAC,EAC1E,sBAAuBA,GAAUV,EAAK,CAAE,GAAGU,EAAQ,OAAQ,uBAAwB,CAAC,EACpF,kBAAmBA,GAAUV,EAAK,CAC9B,GAAGU,EACH,OAAQ,oBACR,iBAAkBb,EAAa,cAAcH,GAAS,GAAG,kBAAkB,EAAI,CACnF,CAAC,EACD,uBAAwBgB,GAAUV,EAAK,CAAE,GAAGU,EAAQ,OAAQ,wBAAyB,CAAC,EACtF,gBAAiBA,GAAUV,EAAK,CAC5B,GAAGU,EACH,OAAQ,kBACR,iBAAkBb,EAAa,cAAcH,GAAS,GAAG,kBAAkB,EAAI,CACnF,CAAC,EACD,kBAAmBgB,GAAUV,EAAK,CAAE,GAAGU,EAAQ,OAAQ,mBAAoB,CAAC,EAC5E,qBAAsBA,GAAUV,EAAK,CAAE,GAAGU,EAAQ,OAAQ,sBAAuB,CAAC,EAClF,WAAYA,GAAUV,EAAK,CAAE,GAAGU,EAAQ,OAAQ,YAAa,CAAC,EAC9D,gBAAiBA,GAAUV,EAAK,CAAE,GAAGU,EAAQ,OAAQ,iBAAkB,CAAC,EACxE,mBAAoBA,GAAUV,EAAK,CAAE,GAAGU,EAAQ,OAAQ,oBAAqB,CAAC,EAC9E,kBAAmBA,GAAUV,EAAK,CAC9B,GAAGU,EACH,OAAQ,oBACR,iBAAkBb,EAAa,cAAcH,GAAS,GAAG,kBAAkB,EAAI,CACnF,CAAC,EACD,oBAAqBgB,GAAUV,EAAK,CAAE,GAAGU,EAAQ,OAAQ,qBAAsB,CAAC,EAChF,uBAAwBA,GAAUV,EAAK,CAAE,GAAGU,EAAQ,OAAQ,wBAAyB,CAAC,EACtF,cAAeA,GAAUV,EAAK,CAAE,GAAGU,EAAQ,OAAQ,eAAgB,CAAC,EACpE,YAAaA,GAAUV,EAAK,CAAE,GAAGU,EAAQ,OAAQ,aAAc,CAAC,EAChE,WAAYA,GAAUV,EAAK,CAAE,GAAGU,EAAQ,OAAQ,YAAa,CAAC,EAC9D,0BAA2BA,GAAUV,EAAK,CAAE,GAAGU,EAAQ,OAAQ,2BAA4B,CAAC,EAC5F,WAAYA,GAAUV,EAAK,CAAE,GAAGU,EAAQ,OAAQ,YAAa,CAAC,EAC9D,cAAeA,GAAUV,EAAK,CAAE,GAAGU,EAAQ,OAAQ,eAAgB,CAAC,EACpE,mBAAoBA,GAAUV,EAAK,CAAE,GAAGU,EAAQ,OAAQ,oBAAqB,CAAC,EAC9E,kBAAmBA,GAAUV,EAAK,CAAE,GAAGU,EAAQ,OAAQ,mBAAoB,CAAC,EAC5E,4BAA6BA,GAAUV,EAAK,CAAE,GAAGU,EAAQ,OAAQ,6BAA8B,CAAC,EAChG,mBAAoBA,GAAUV,EAAK,CAAE,GAAGU,EAAQ,OAAQ,oBAAqB,CAAC,EAC9E,aAAcA,GAAUV,EAAK,CAAE,GAAGU,EAAQ,OAAQ,cAAe,CAAC,EAClE,eAAgBA,GAAUV,EAAK,CAAE,GAAGU,EAAQ,OAAQ,gBAAiB,CAAC,EACtE,UAAWA,GAAUV,EAAK,CAAE,GAAGU,EAAQ,OAAQ,WAAY,CAAC,EAC5D,eAAgBA,GAAUV,EAAK,CAAE,GAAGU,EAAQ,OAAQ,gBAAiB,CAAC,EACtE,eAAgBA,GAAUV,EAAK,CAAE,GAAGU,EAAQ,OAAQ,gBAAiB,CAAC,EACtE,eAAgBA,GAAUV,EAAK,CAAE,GAAGU,EAAQ,OAAQ,gBAAiB,CAAC,EACtE,YAAaA,GAAUV,EAAK,CAAE,GAAGU,EAAQ,OAAQ,aAAc,CAAC,EAChE,mBAAoBA,GAAUV,EAAK,CAAE,GAAGU,EAAQ,OAAQ,oBAAqB,CAAC,EAC9E,QAASA,GAAUV,EAAK,CAAE,GAAGU,EAAQ,OAAQ,SAAU,CAAC,EACxD,SAAUA,GAAUV,EAAK,CAAE,GAAGU,EAAQ,OAAQ,UAAW,CAAC,EAC1D,QAAAH,EACA,OAAAD,EACA,mBAAAH,EACA,cAAAC,EACA,oBAAAC,CACJ,GApIY,WAuIhBZ,GAAQ,QAAUE,KC3IlB,IAAAgB,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,aAAeA,GAAQ,cAAgB,OAC/C,IAAMC,GAAgBC,EAACC,GAAQ,CAC3B,GAAIA,EAAI,OAAS,EACb,OAAOA,EACX,IAAMC,EAAS,OAAO,MAAMD,EAAI,MAAM,EAClCE,EAAID,EAAO,OAAS,EACxB,QAAS,EAAI,EAAG,EAAIA,EAAO,OAAS,EAAG,IACnCA,EAAO,CAAC,EAAID,EAAIE,CAAC,EACjBD,EAAOC,CAAC,EAAIF,EAAI,CAAC,EACjBE,IAEJ,OAAOD,CACX,EAXsB,iBAYtBJ,GAAQ,cAAgBC,GACxB,IAAMK,GAAeJ,EAACK,GAAM,CACxB,IAAMC,EAAM,OAAO,YAAY,CAAC,EAChC,OAAAA,EAAI,WAAWD,CAAC,EACTC,CACX,EAJqB,gBAKrBR,GAAQ,aAAeM,KCrBvB,IAAAG,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,cAAgBA,GAAQ,cAAgB,OAChD,SAASC,GAAcC,EAAKC,EAAO,CAC/B,OAAOD,GAAO,OAAO,KAAKA,CAAG,EAAE,KAAKE,GAAKF,EAAIE,CAAC,IAAMD,CAAK,CAC7D,CAFSE,EAAAJ,GAAA,iBAGTD,GAAQ,cAAgBC,GACxB,SAASK,GAAcJ,EAAKK,EAAS,CACjC,IAAMC,EAAMN,GAAO,OAAO,KAAKA,CAAG,EAAE,KAAKE,GAAKA,IAAMG,CAAO,EAC3D,OAAOC,GAAON,EAAIM,CAAG,CACzB,CAHSH,EAAAC,GAAA,iBAITN,GAAQ,cAAgBM,KCXxB,IAAAG,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,iBAAmBA,GAAQ,eAAiBA,GAAQ,QAAUA,GAAQ,QAAUA,GAAQ,eAAiB,OACjH,IAAMC,GAAiBC,EAACC,GAAQ,CAI5B,GAHI,CAAC,MAAM,QAAQA,CAAG,GAGlBA,EAAI,SAAW,EACf,MAAO,GAEX,QAASC,EAAI,EAAGA,EAAID,EAAI,OAAQC,IAAK,CACjC,IAAMC,EAAgBF,EAAIC,CAAC,EAC3B,GAAI,OAAOC,GAAkB,UAAYA,EAAgB,EACrD,MAAO,EAEf,CACA,MAAO,EACX,EAduB,kBAevBL,GAAQ,eAAiBC,GACzB,IAAMK,GAAQJ,EAACK,IAAgB,CAC3B,MAAOA,EAAW,CAAC,EACnB,MAAOA,EAAW,CAAC,EACnB,MAAOA,EAAW,CAAC,CACvB,GAJc,SAKRC,GAAQN,EAACO,GAAY,CACvB,IAAMN,EAAMM,EAAQ,MAAM,GAAG,EAAE,IAAIC,GAAK,OAAOA,CAAC,CAAC,EACjD,GAAI,IAAKV,GAAQ,gBAAgBG,CAAG,EAChC,MAAM,IAAI,MAAM,sCAAsCM,CAAO,EAAE,EAEnE,OAAON,CACX,EANc,SAORQ,GAAkBT,EAACC,GAAQ,GAAGA,EAAI,CAAC,CAAC,IAAIA,EAAI,CAAC,CAAC,IAAIA,EAAI,CAAC,CAAC,GAAtC,mBAClBS,GAAUV,EAAA,CAACW,EAAUC,IAAa,CACpC,IAAMC,EAAUT,GAAM,OAAOO,GAAa,SAAWL,GAAMK,CAAQ,EAAIA,CAAQ,EACzEG,EAAUV,GAAM,OAAOQ,GAAa,SAAWN,GAAMM,CAAQ,EAAIA,CAAQ,EAC/E,OAAIC,EAAQ,MAAQC,EAAQ,QAAU,EAC3BD,EAAQ,MAAQC,EAAQ,MAE/BD,EAAQ,MAAQC,EAAQ,QAAU,EAC3BD,EAAQ,MAAQC,EAAQ,MAE/BD,EAAQ,MAAQC,EAAQ,QAAU,EAC3BD,EAAQ,MAAQC,EAAQ,MAE5B,EACX,EAbgB,WAchBhB,GAAQ,QAAUY,GAClB,IAAMK,GAAUf,EAAA,CAACW,EAAUC,IAAa,CACpC,IAAMI,EAAO,OAAOL,GAAa,SAAWA,EAAWF,GAAgBE,CAAQ,EACzEM,EAAO,OAAOL,GAAa,SAAWA,EAAWH,GAAgBG,CAAQ,EAC/E,OAAOI,IAASC,CACpB,EAJgB,WAKhBnB,GAAQ,QAAUiB,GAClB,IAAMG,GAAiBlB,EAAA,CAACW,EAAUC,OAAiBd,GAAQ,SAASa,EAAUC,CAAQ,MAASd,GAAQ,SAASa,EAAUC,CAAQ,EAA3G,kBACvBd,GAAQ,eAAiBoB,GACzB,IAAMC,GAAmBnB,EAACO,GAAYA,EAAQ,QAAQ,YAAa,IAAI,EAA9C,oBACzBT,GAAQ,iBAAmBqB,KCxD3B,IAAAC,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,eAAiBA,GAAQ,eAAiBA,GAAQ,OAAS,OACnE,IAAMC,GAAK,KACLC,GAAQ,KACRC,GAAO,KACPC,GAASC,EAACC,GAAUA,EAAM,QAAQL,GAAI,MAAM,EAAnC,UACfD,GAAQ,OAASI,GACjB,IAAMG,GAAiBF,EAACC,GAAUA,EAAM,QAAQJ,GAAO,OAAO,EAAvC,kBACvBF,GAAQ,eAAiBO,GACzB,IAAMC,GAAiBH,EAACC,GAAUA,EAAM,QAAQH,GAAM,QAAQ,EAAvC,kBACvBH,GAAQ,eAAiBQ,KCXzB,IAAAC,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,kBAAoB,OAC5B,IAAMC,GAAoBC,EAACC,GAAgBA,EAAY,QAAQ,OAAQ,GAAG,EAAhD,qBAC1BH,GAAQ,kBAAoBC,KCJ5B,IAAAG,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,cAAgB,OACxB,IAAMC,GAAgBC,EAAA,CAACC,EAAMC,EAAOC,IAASA,EAAK,QAAQF,CAAI,IAAMC,EAA9C,iBACtBJ,GAAQ,cAAgBC,KCJxB,IAAAK,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,eAAiB,OACzB,IAAMC,GAAiBC,EAAA,CAACC,EAAOC,IAAcD,EAAM,OAAO,CAAC,CAACE,EAAMC,CAAI,EAAGC,IAASH,EAAUG,CAAI,EAAI,CAAC,CAAC,GAAGF,EAAME,CAAI,EAAGD,CAAI,EAAI,CAACD,EAAM,CAAC,GAAGC,EAAMC,CAAI,CAAC,EAAG,CAAC,CAAC,EAAG,CAAC,CAAC,CAAC,EAAxI,kBACvBP,GAAQ,eAAiBC,KCJzB,IAAAO,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,aAAe,OACvB,IAAMC,GAAeC,EAACC,GAAU,CAC5B,IAAMC,EAAWD,EAAM,MAAM,EAC7B,QAASE,EAAID,EAAS,OAAS,EAAGC,EAAI,EAAGA,IAAK,CAC1C,IAAMC,EAAI,KAAK,MAAM,KAAK,OAAO,GAAKD,EAAI,EAAE,EAC5C,CAACD,EAASC,CAAC,EAAGD,EAASE,CAAC,CAAC,EAAI,CAACF,EAASE,CAAC,EAAGF,EAASC,CAAC,CAAC,CAC1D,CACA,OAAOD,CACX,EAPqB,gBAQrBJ,GAAQ,aAAeC,KCXvB,IAAAM,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,kBAAoB,OAC5B,IAAMC,GAAcC,EAACC,GACb,GAAC,SAAU,QAAQ,EAAE,SAAS,OAAOA,CAAG,EAD5B,eAMdC,GAAoBF,EAAA,CAACG,EAAOC,EAAQC,IAAaA,EACjDF,EAAM,OAAO,CAACG,EAAMC,IAAQ,CAC1B,IAAIC,EACJ,IAAMP,EAAMG,EAAOG,CAAG,EACtB,OAAIR,GAAYE,CAAG,EACR,OAAO,OAAO,OAAO,OAAO,CAAC,EAAGK,CAAI,EAAG,CAAE,CAACL,CAAG,EAAG,CAAC,IAAKO,EAAKF,EAAKL,CAAG,KAAO,MAAQO,IAAO,OAASA,EAAK,CAAC,EAAID,CAAG,CAAE,CAAC,EAEtHD,CACX,EAAG,CAAC,CAAC,EACHH,EAAM,OAAO,CAACG,EAAMC,IAAQ,CAC1B,IAAMN,EAAMG,EAAOG,CAAG,EACtB,OAAIR,GAAYE,CAAG,EACR,OAAO,OAAO,OAAO,OAAO,CAAC,EAAGK,CAAI,EAAG,CAAE,CAACL,CAAG,EAAGM,CAAI,CAAC,EAEzDD,CACX,EAAG,CAAC,CAAC,EAfiB,qBAgB1BR,GAAQ,kBAAoBI,KCzB5B,IAAAO,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,qBAAuB,OAC/B,IAAMC,GAAQ,CAAC,IAAK,KAAM,KAAM,KAAM,IAAI,EACpCC,GAAuBC,EAACC,GAAU,CACpC,IAAIC,EAAO,KAAK,IAAID,CAAK,EACrBE,EAAI,EACR,KAAOD,GAAQ,MAAQC,GAAKL,GAAM,QAC9BI,GAAQ,KACRC,IAEJ,MAAO,GAAGD,EAAK,QAAQ,CAAC,CAAC,IAAIJ,GAAMK,CAAC,CAAC,EACzC,EAR6B,wBAS7BN,GAAQ,qBAAuBE,KCb/B,IAAAK,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,sBAAwB,OAChC,IAAMC,GAAwBC,EAACC,GAASA,EAAI,OAAO,CAAC,EAAE,YAAY,EAAIA,EAAI,MAAM,CAAC,EAAnD,yBAC9BH,GAAQ,sBAAwBC,KCJhC,IAAAG,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,YAAc,OACtB,IAAMC,GAAcC,EAACC,GAAQ,CACzB,IAAMC,EAAa,KAAK,UAAUD,CAAG,EACrC,OAAIC,IAAe,OACRD,EAEJ,KAAK,MAAMC,CAAU,CAChC,EANoB,eAOpBJ,GAAQ,YAAcC,KCVtB,IAAAI,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,mBAAqB,OAC7B,IAAMC,GAAqBC,EAACC,GAAU,UAAUA,CAAK,EAAE,MAAM,OAAO,EAAE,OAAS,EAApD,sBAC3BH,GAAQ,mBAAqBC,KCJ7B,IAAAG,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,eAAiB,OACzB,IAAMC,GAAiBC,EAACC,GAAe,CACnC,IAAIC,EAAO,EACX,MAAO,IAAM,CACT,IAAMC,EAAM,KAAK,IAAI,EACrB,OAAIA,EAAMD,GAAQD,GACdC,EAAOC,EACA,IAEJ,EACX,CACJ,EAVuB,kBAWvBL,GAAQ,eAAiBC,KCdzB,IAAAK,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,eAAiB,OACzB,IAAMC,GAAiBC,EAACC,GAAO,CAC3B,IAAIC,EAAeF,EAAA,IAAM,CAAE,EAAR,gBACfG,EAAcH,EAAA,IAAM,CAAE,EAAR,eACZI,EAAU,IAAI,QAAQ,CAACC,EAASC,IAAW,CAC7CJ,EAAeG,EACfF,EAAcG,CAClB,CAAC,EACD,MAAO,CACH,GAAAL,EACA,QAASC,EACT,OAAQC,EACR,QAAAC,CACJ,CACJ,EAbuB,kBAcvBN,GAAQ,eAAiBC,KCjBzB,IAAAQ,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,sBAAwB,OAChC,IAAMC,GAAmB,KACnBC,GAAwBC,EAACC,GAAY,CACvC,GAAM,CAAE,UAAAC,EAAY,EAAG,QAASC,EAAiB,EAAG,UAAAC,CAAU,EAAIH,GAAmD,CAAC,EAChHI,EAAW,CAAC,EACdC,EAAKJ,EACLK,EACEC,EAASR,EAAA,IAAMK,EAAS,OAAf,UACTI,EAAST,EAAA,IAAMM,EAAN,UACTI,EAAgBV,EAAA,IAAM,CACxB,IAAMW,EAAM,KAAK,IAAI,EACfC,EAAkBP,EAAS,OAAO,CAACQ,EAAM,CAAE,SAAAC,EAAS,KAAOD,GAAQC,GAAW,KAAK,IAAM,KAAK,KAAKD,EAAMC,EAAQ,EAAG,CAAC,EACvHP,GACA,aAAaA,CAAa,EAC9BA,EAAgBK,EAER,WAAWG,EAAiB,KAAK,IAAIH,EAAkBD,EAAK,CAAC,CAAC,EAChE,MACV,EATsB,iBAUhBI,EAAkBf,EAAA,IAAM,CAC1B,IAAMW,EAAM,KAAK,IAAI,EACrBN,EACK,OAAOW,GAAWA,EAAQ,UAAYA,EAAQ,UAAYL,CAAG,EAC7D,QAAQK,GAAW,CACkCZ,IAAUY,EAAQ,EAAE,EAC1EA,EAAQ,SAAW,CACvB,CAAC,EACDN,EAAc,CAClB,EATwB,mBAUlBO,EAASjB,EAAA,CAACkB,EAAUf,IAAmB,CACzC,IAAMgB,EAAYb,IACZc,KAAetB,GAAiB,gBAAgBqB,CAAS,EACzDL,GAAWI,GAAW,KAAK,IAAI,EAAIA,EACzC,OAAAb,EAAS,KAAK,OAAO,OAAO,OAAO,OAAO,CAAC,EAAGe,CAAQ,EAAG,CAAE,SAAAN,EAAS,CAAC,CAAC,EAClEI,GACAR,EAAc,EACX,CAAE,UAAAS,EAAW,QAASC,EAAS,OAAQ,CAClD,EARe,UASTC,EAAUrB,EAACmB,GAAc,CAC3B,IAAMG,EAAQjB,EAAS,UAAU,CAAC,CAAE,GAAAkB,EAAG,IAAMA,KAAOJ,CAAS,EACvD,CAACH,CAAO,EAAIM,GAAS,EAAIjB,EAAS,OAAOiB,EAAO,CAAC,EAAI,CAAC,MAAS,EACrE,OAAsDN,GAAQ,UAC1DN,EAAc,EACXM,CACX,EANgB,WAuBhB,MAAO,CAAE,OAAAR,EAAQ,OAAAC,EAAQ,OAAAQ,EAAQ,QAhBjBjB,EAAA,CAACmB,EAAWK,IAAU,CAClC,IAAMR,EAAUK,EAAQF,CAAS,EACjC,OAAkDH,GAAQ,QAAQQ,CAAK,EAChE,CAAC,CAACR,CACb,EAJgB,WAgB0B,OAX3BhB,EAAA,CAACmB,EAAWM,IAAU,CACjC,IAAMT,EAAUK,EAAQF,CAAS,EACjC,OAAkDH,GAAQ,OAAOS,CAAK,EAC/D,CAAC,CAACT,CACb,EAJe,UAWmC,UANhChB,EAACyB,GAAU,CACzBpB,EAAS,QAAQW,GAAWA,EAAQ,OAAOS,CAAK,CAAC,EACjCpB,EAAS,OAAO,EAAGA,EAAS,MAAM,EACtC,QACRK,EAAc,CACtB,EALkB,YAM0C,CAChE,EA5D8B,yBA6D9Bb,GAAQ,sBAAwBE,KCjEhC,IAAA2B,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,qBAAuB,OAC/B,IAAMC,GAAuBC,EAACC,GAAY,IAAI,QAAQC,GAAW,WAAWA,EAASD,CAAO,CAAC,EAAhE,wBAC7BH,GAAQ,qBAAuBC,KCJ/B,IAAAI,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,oBAAsB,OAC9B,IAAMC,GAAsBC,EAACC,GAAW,CACpC,IAAIC,EAAIC,EAER,IAAMC,EADe,IAAI,KAAK,aAAaH,CAAM,EACtB,cAAc,OAAO,EAC1CI,GAAoBH,EAAKE,EAAM,KAAK,CAAC,CAAE,KAAAE,CAAK,IAAMA,IAAS,SAAS,KAAO,MAAQJ,IAAO,OAAS,OAASA,EAAG,MAC/GK,GAAsBJ,EAAKC,EAAM,KAAK,CAAC,CAAE,KAAAE,CAAK,IAAMA,IAAS,OAAO,KAAO,MAAQH,IAAO,OAAS,OAASA,EAAG,MACrH,MAAO,CAAE,iBAAAE,EAAkB,mBAAAE,CAAmB,CAClD,EAP4B,uBAQ5BT,GAAQ,oBAAsBC,KCX9B,IAAAS,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,yBAA2B,OACnC,IAAMC,GAA2BC,EAACC,GAAS,SAASA,EAAK,QAAQ,KAAM,EAAE,EAAG,EAAE,EAA7C,4BACjCH,GAAQ,yBAA2BC,KCJnC,IAAAG,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,uBAAyB,OACjC,IAAMC,GAAyBC,EAAA,CAACC,EAAKC,IAAQ,KAAK,MAAM,KAAK,OAAO,GAAKA,EAAMD,EAAM,EAAE,EAAIA,EAA5D,0BAC/BH,GAAQ,uBAAyBC,KCJjC,IAAAI,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,eAAiB,OACzB,IAAMC,GAAiBC,EAAA,IAAM,CACzB,IAAIC,EACJ,OAAQC,GAAW,CACf,IAAMC,GAAWF,GAA0C,QAAQ,QAAQ,GACtE,MAAM,IAAM,CAAE,CAAC,EACf,KAAKC,CAAM,EACX,QAAQ,IAAM,CACXD,IAASE,IACTF,EAAO,OAEf,CAAC,EACD,OAAAA,EAAOE,EACAF,CACX,CACJ,EAduB,kBAevBH,GAAQ,eAAiBC,KClBzB,IAAAK,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,gBAAkB,OAC1B,IAAMC,GAAkBC,EAACC,GAAW,CAChC,IAAIC,EAAK,GACHC,EAAO,iEACb,QAAS,EAAI,EAAG,EAAIF,EAAQ,IACxBC,GAAMC,EAAK,OAAO,KAAK,MAAM,KAAK,OAAO,EAAIA,EAAK,MAAM,CAAC,EAE7D,OAAOD,CACX,EAPwB,mBAQxBJ,GAAQ,gBAAkBC,KCX1B,IAAAK,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,mBAAqB,OAC7B,IAAMC,GAA6B,IAAI,OAAO,eAAe,EACvDC,GAAqBC,EAACC,GAAUH,GAA2B,KAAKG,CAAK,EAAhD,sBAC3BJ,GAAQ,mBAAqBE,KCL7B,IAAAG,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,QAAU,OAClB,SAASC,GAAQC,EAAO,CACpB,OAAKA,EAEE,iBAAiB,KAAKA,CAAK,EADvB,EAEf,CAJSC,EAAAF,GAAA,WAKTD,GAAQ,QAAUC,KCRlB,IAAAG,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,MAAQ,OAChB,IAAMC,GAAQC,EAACC,GACI,0BACD,KAAKA,CAAG,EAFZ,SAIdH,GAAQ,MAAQC,KCPhB,IAAAG,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,eAAiB,OACzB,IAAMC,GAAiBC,EAACC,GAAS,OAAOA,EAAS,IAA1B,kBACvBH,GAAQ,eAAiBC,KCJzB,IAAAG,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,MAAQ,OAChB,IAAMC,GAAa,sFACbC,GAAQC,EAACC,GAAUH,GAAW,KAAKG,CAAK,EAAhC,SACdJ,GAAQ,MAAQE,KCLhB,IAAAG,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,gBAAkB,OAC1B,IAAMC,GAAWC,EAACC,GAAQ,CACtB,GAAI,OAAOA,GAAQ,UAAYA,IAAQ,KAAM,CACzC,GAAI,OAAO,OAAO,gBAAmB,WAAY,CAC7C,IAAMC,EAAY,OAAO,eAAeD,CAAG,EAC3C,OAAOC,IAAc,OAAO,WAAaA,IAAc,IAC3D,CACA,OAAO,OAAO,UAAU,SAAS,KAAKD,CAAG,IAAM,iBACnD,CACA,MAAO,EACX,EATiB,YAUXE,GAAkBH,EAAA,IAAII,IAAYA,EAAQ,OAAO,CAACC,EAAQC,IAAY,CACxE,GAAI,MAAM,QAAQA,CAAO,EACrB,MAAM,IAAI,UAAU,iEAAiE,EAEzF,cAAO,KAAKA,CAAO,EAAE,QAAQC,GAAO,CAC5B,CAAC,YAAa,cAAe,WAAW,EAAE,SAASA,CAAG,IAGtD,MAAM,QAAQF,EAAOE,CAAG,CAAC,GAAK,MAAM,QAAQD,EAAQC,CAAG,CAAC,EACxDF,EAAOE,CAAG,EAAIT,GAAQ,gBAAgB,QAAQ,YACxC,MAAM,KAAK,IAAI,IAAIO,EAAOE,CAAG,EAAE,OAAOD,EAAQC,CAAG,CAAC,CAAC,CAAC,EACpDD,EAAQC,CAAG,EAEZR,GAASM,EAAOE,CAAG,CAAC,GAAKR,GAASO,EAAQC,CAAG,CAAC,EACnDF,EAAOE,CAAG,KAAQT,GAAQ,iBAAiBO,EAAOE,CAAG,EAAGD,EAAQC,CAAG,CAAC,EAGpEF,EAAOE,CAAG,EAAID,EAAQC,CAAG,EAEjC,CAAC,EACMF,CACX,EAAG,CAAC,CAAC,EArBmB,mBAsBxBP,GAAQ,gBAAkBK,GAC1B,IAAMK,GAAiB,CACnB,YAAa,EACjB,EACAV,GAAQ,gBAAgB,QAAUU,GAClCV,GAAQ,gBAAgB,YAAc,CAACW,KAAYL,IAAY,CAC3DN,GAAQ,gBAAgB,QAAU,OAAO,OAAO,CAAE,YAAa,EAAK,EAAGW,CAAO,EAC9E,IAAMJ,KAAaP,GAAQ,iBAAiB,GAAGM,CAAO,EACtD,OAAAN,GAAQ,gBAAgB,QAAUU,GAC3BH,CACX,IC7CA,IAAAK,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,gBAAkB,OAC1B,IAAMC,GAAU,cACVC,GAAkBC,EAAA,CAACC,EAAKC,IAASA,EAAK,OAAO,CAAC,CAACC,EAAUC,CAAQ,EAAGC,IAAQ,CAC9E,IAAMC,EAAKF,EAAUG,EAAKF,EAAKG,EAAQF,EAAGC,CAAE,EAAGE,EAAOX,GAAQ,OAAOQ,EAAI,CAAC,OAAOC,GAAO,SAAWA,EAAKA,EAAK,EAAE,CAAC,EAChH,OAAO,OAAOC,EAAU,IAClB,CAAC,OAAO,OAAO,OAAO,OAAO,CAAC,EAAGL,CAAQ,EAAG,CAAE,CAACE,CAAG,EAAGG,CAAM,CAAC,EAAGC,CAAI,EACnE,CAACN,EAAUC,CAAQ,CAC7B,EAAG,CAAC,CAAC,EAAGH,CAAG,CAAC,EALY,mBAMxBJ,GAAQ,gBAAkBE,KCV1B,IAAAW,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,iBAAmB,OAC3B,IAAMC,GAAqB,8DACrBC,GAAmBC,EAACC,GAAQ,CAC9B,IAAIC,EACJ,IAAMC,EAAQF,EAAI,MAAMH,EAAkB,EAC1C,GAAKK,EAEL,MAAO,CACH,MAAOD,EAAKC,EAAM,CAAC,KAAO,MAAQD,IAAO,OAASA,EAAKC,EAAM,CAAC,EAC9D,KAAM,OAAO,SAASA,EAAM,CAAC,EAAG,EAAE,EAClC,SAAUA,EAAM,CAAC,CACrB,CACJ,EAVyB,oBAWzBN,GAAQ,iBAAmBE,KCf3B,IAAAK,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,cAAgB,OACxB,IAAMC,GAAiB,uDACjBC,GAAgBC,EAACC,GAAQ,CAAE,IAAIC,EAAIC,EAAI,OAAQA,GAAMD,EAAKD,EAAI,MAAMH,EAAc,KAAO,MAAQI,IAAO,OAAS,OAASA,EAAG,CAAC,KAAO,MAAQC,IAAO,OAAS,OAASA,EAAG,YAAY,CAAG,EAAxK,iBACtBN,GAAQ,cAAgBE,KCLxB,IAAAK,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,mBAAqB,OAC7B,IAAMC,GAAU,cACVC,GAAqBC,EAACC,GAAYH,GAAQ,UAAU,OAAQ,OAAQ,OAAQ,WAAa,CAC3F,IAAMI,EAAU,CAAC,EACjB,QAASC,EAAI,EAAGA,EAAIF,EAAQ,OAAQ,EAAEE,EAAG,CACrC,IAAMC,EAAS,MAAMH,EAAQE,CAAC,EAAE,EAChCD,EAAQ,KAAKE,CAAM,CACvB,CACA,OAAOF,CACX,CAAC,EAP0B,sBAQ3BL,GAAQ,mBAAqBE,KCZ7B,IAAAM,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,yBAA2BA,GAAQ,qBAAuB,OAClEA,GAAQ,qBAAuB,gDAC/B,IAAMC,GAA2BC,EAACC,GAASA,EAAK,QAAQH,GAAQ,qBAAsB,OAAO,EAA5D,4BACjCA,GAAQ,yBAA2BC,KCLnC,IAAAG,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,eAAiB,OACzB,IAAMC,GAAU,cACVC,GAAUC,EAACC,GAAa,MAAM,QAAQA,CAAQ,EAApC,WACVC,GAAkBF,EAAA,IAAM,IAAI,MAAM,mBAAmB,EAAnC,mBAClBG,GAAoBH,EAAA,IAAM,IAAI,MAAM,qBAAqB,EAArC,qBACpBI,GAAmBJ,EAAA,IAAM,IAAI,MAAM,oBAAoB,EAApC,oBACnBK,GAAiBL,EAAA,CAACM,EAAIC,IAAU,IAAI,QAAQ,CAACC,EAASC,IAAW,CACnE,GAAIF,EAAM,QACN,OAAOE,EAAO,EAClB,GAAIH,IAAO,OACP,OAAOE,EAAQ,EACnB,IAAME,EAAU,WAAWF,EAASF,CAAE,EAChCK,EAAUX,EAAA,IAAM,CAClB,aAAaU,CAAO,EACpBH,EAAM,oBAAoB,QAASI,CAAO,EAC1CF,EAAO,CACX,EAJgB,WAKhBF,EAAM,iBAAiB,QAASI,CAAO,CAC3C,CAAC,EAZsB,kBAajBC,GAAgBZ,EAAA,CAACM,EAAIO,EAAQN,IAAU,IAAI,QAAQ,CAACO,EAAGL,IAAW,CACpE,GAAIF,EAAM,QACN,OAAOE,EAAO,EAClB,IAAMC,EAAUJ,IAAO,OAAY,WAAW,IAAMG,EAAOI,EAAO,CAAC,EAAGP,CAAE,EAAI,OACtEK,EAAUX,EAAA,IAAM,CAClB,aAAaU,CAAO,EACpBH,EAAM,oBAAoB,QAASI,CAAO,EAC1CF,EAAO,CACX,EAJgB,WAKhBF,EAAM,iBAAiB,QAASI,CAAO,CAC3C,CAAC,EAVqB,iBAWhBI,GAAoBf,EAAA,CAACgB,EAAQT,IAAU,IAAI,QAAQ,CAACO,EAAGL,IAAW,CACpE,GAAIF,EAAM,QACN,OAAOE,EAAO,EAClB,GAAoDO,GAAO,QACvD,OAAOP,EAAOP,GAAgB,CAAC,EACnC,IAAMe,EAAUjB,EAAA,IAAMS,EAAOP,GAAgB,CAAC,EAA9B,WACgCc,GAAO,iBAAiB,QAASC,CAAO,EACxF,IAAMN,EAAUX,EAAA,IAAM,CAC8BgB,GAAO,oBAAoB,QAASC,CAAO,EAC3FV,EAAM,oBAAoB,QAASI,CAAO,EAC1CF,EAAO,CACX,EAJgB,WAKhBF,EAAM,iBAAiB,QAASI,CAAO,CAC3C,CAAC,EAbyB,qBAcpBO,GAAgBlB,EAAA,CAACmB,EAAQZ,IAAUT,GAAQ,UAAU,OAAQ,OAAQ,OAAQ,WAAa,CAC5F,IAAMsB,EAAU,IAAI,gBACdT,EAAUX,EAAA,IAAMoB,EAAQ,MAAM,EAApB,WACZb,EAAM,SACNI,EAAQ,EACZJ,EAAM,iBAAiB,QAASI,CAAO,EACvC,GAAI,CACA,OAAO,MAAM,IAAI,QAAQH,GAAWA,EAAQW,EAAOC,EAAQ,MAAM,CAAC,CAAC,CACvE,QACA,CACIb,EAAM,oBAAoB,QAASI,CAAO,CAC9C,CACJ,CAAC,EAZqB,iBAahBU,GAAcrB,EAAA,CAACC,EAAUqB,EAASC,EAAShB,IAAUT,GAAQ,UAAU,OAAQ,OAAQ,OAAQ,WAAa,CAC9G,QAAS,EAAI,EAAG,EAAIG,EAAW,GACvB,CAAAM,EAAM,QADoB,IAAK,CAGnC,IAAMa,EAAU,IAAI,gBACdT,EAAUX,EAAA,IAAMoB,EAAQ,MAAM,EAApB,WAChBb,EAAM,iBAAiB,QAASI,CAAO,EACvC,GAAI,CACA,OAAO,MAAMW,EAAQ,EAAGF,EAAQ,MAAM,CAC1C,MACW,CACPT,EAAQ,EACR,MAAMY,EAAQ,CAAC,CACnB,QACA,CACIhB,EAAM,oBAAoB,QAASI,CAAO,CAC9C,CACJ,CACA,OAAOJ,EAAM,QAAU,QAAQ,OAAO,EAAIe,EAAQrB,EAAW,EAAGM,CAAK,CACzE,CAAC,EAnBmB,eAoBdiB,GAAiBxB,EAAA,CAACmB,EAAQM,IAAW3B,GAAQ,UAAU,OAAQ,OAAQ,OAAQ,WAAa,CAC9F,GAAM,CAAE,OAAAkB,EAAQ,MAAAU,EAAO,SAAAzB,EAAU,QAAAS,EAAS,SAAAiB,EAAU,IAAAC,CAAI,EAAIH,EACtDI,EAAaF,GAAYA,EAAW,KAAK,IAAI,EAC7CG,EAAe/B,GAAQE,CAAQ,EAC/BA,EAAS,OACTA,IAAuD0B,EAAW,IAAW,GAC7EI,EAAe,IAAI,gBACnBxB,EAAQwB,EAAa,OACrBC,EAAYjC,GAAQE,CAAQ,EAC3BqB,GAAYrB,EAASqB,CAAO,EAC7B,KAAO,CAAE,QAAAZ,EAAS,IAAAkB,CAAI,GAC5B,GAAI,CACA,OAAO,MAAM,QAAQ,KAAK,CACtBb,GAAkBC,EAAQT,CAAK,EAC/BK,GAAciB,EAAY1B,GAAmBI,CAAK,EAClDF,GAAeqB,EAAOnB,CAAK,EAAE,KAAK,IAAMc,GAAYS,EAAc,CAACR,EAASW,IAAU,QAAQ,KAAK,CAC/FrB,GAAcoB,EAAUV,CAAO,EAAE,QAASlB,GAAkBG,CAAK,EACjEW,GAAcC,EAAQc,CAAK,CAC/B,CAAC,EAAGX,GAAW,CAAE,IAAIY,EAAI,OAAO7B,IAAgB6B,EAAKF,EAAUV,CAAO,EAAE,OAAS,MAAQY,IAAO,OAASA,EAAK,EAAG3B,CAAK,CAAG,EAAGA,CAAK,CAAC,CACtI,CAAC,CACL,QACA,CACIwB,EAAa,MAAM,CACvB,CACJ,CAAC,EAxBsB,kBAyBvBlC,GAAQ,eAAiB2B,KCxGzB,IAAAW,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,4BAA8B,OACtC,SAASC,GAA4BC,EAAOC,EAAG,CAC3C,IAAIC,EACJ,GAAID,IAAM,EACN,MAAO,CAAC,EAEZ,IAAME,EAAQ,IAAI,OAAO,OAAOF,CAAC,IAAK,GAAG,EACzC,OAAQC,EAAKF,EAAM,MAAMG,CAAK,KAAO,MAAQD,IAAO,OAASA,EAAK,CAAC,CACvE,CAPSE,EAAAL,GAAA,+BAQTD,GAAQ,4BAA8BC,KCXtC,IAAAM,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,WAAa,OACrB,IAAMC,GAAaC,EAACC,GAAW,CAC3B,MAAM,IAAI,MAAMA,CAAM,CAC1B,EAFmB,cAGnBH,GAAQ,WAAaC,KCNrB,IAAAG,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,gBAAkB,OAC1B,IAAMC,GAAmB,KACnBC,GAAkBC,EAAA,CAACC,EAAUC,EAAUC,IAAQ,CACjD,IAAMC,EAAS,CAAC,EACVC,EAAcL,EAACM,MAAcR,GAAiB,gBAAgBQ,EAAOC,GAAQ,CAACD,EAAM,KAAKE,GAAQN,EAASM,EAAMD,CAAI,CAAC,CAAC,EAAxG,eAChBE,EAAOR,EACX,KAAOQ,EAAK,QAAQ,CAChB,GAAM,CAACC,EAAOC,CAAI,EAAIN,EAAYI,CAAI,EACtC,GAAI,CAACC,EAAM,OACP,MAAM,IAAI,MAAM,gBAAgB,EACpCN,EAAO,KAAK,GAAID,EAAMO,EAAM,KAAKP,CAAG,EAAIO,CAAM,EAC9CD,EAAOE,CACX,CACA,OAAOP,CACX,EAZwB,mBAaxBP,GAAQ,gBAAkBE,KCjB1B,IAAAa,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,eAAiB,OACzB,IAAMC,GAAiBC,EAAA,CAACC,EAAMC,EAAYC,IAAa,CACnD,GAAIF,EAAK,QAAUC,EAAaC,EAC5B,OAAOF,EACX,IAAMG,EAAQH,EAAK,UAAU,EAAGC,CAAU,EACpCG,EAAMJ,EAAK,UAAUA,EAAK,OAASE,EAAUF,EAAK,MAAM,EAC9D,MAAO,GAAGG,CAAK,SAAIC,CAAG,EAC1B,EANuB,kBAOvBP,GAAQ,eAAiBC,KCVzB,IAAAO,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,aAAe,OACvB,IAAMC,GAAW,GAAQ,QAAQ,EAC3BC,GAAN,cAA2BD,GAAS,YAAa,CAJjD,MAIiD,CAAAE,EAAA,qBAC7C,cAAcC,EAAW,CACrB,OAAO,MAAM,cAAcA,CAAS,CACxC,CACJ,EACAJ,GAAQ,aAAeE,KCTvB,IAAAG,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,WAAa,OACrB,IAAMC,GAAaC,EAAA,CAACC,EAAKC,IAAiB,CACtC,IAAIC,EACJ,GAAM,CAAC,CAAEC,EAAUC,EAAWC,EAAQC,CAAI,GAAKJ,EAAKF,EAAI,MAAM,uDAAuD,KAAO,MAAQE,IAAO,OAASA,EAAK,CAAC,EAC1J,GAAI,GAACG,GAAU,CAACJ,EAAaI,CAAM,GAEnC,MAAO,GAAGF,CAAQ,MAAMC,GAAyD,EAAE,GAAGH,EAAaI,CAAM,CAAC,GAAGC,GAA0C,EAAE,EAC7J,EANmB,cAOnBT,GAAQ,WAAaC,KCVrB,IAAAS,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,IAAM,OACd,IAAMC,GAAN,KAAU,CAHV,MAGU,CAAAC,EAAA,YACN,YAAYC,EAAQC,EAASC,EAAW,CACpC,KAAK,IAAM,GACX,KAAK,YAAc,IACnB,KAAK,OAASF,EACd,KAAK,QAAUC,EACf,KAAK,SAAW,CAAC,EACbC,IACA,KAAK,UAAYA,EAEzB,CACA,UAAUC,EAAQ,CACd,KAAK,IAAM,OAAO,OAAW,KAAeA,EAAO,KAAK,MAAM,EAAIA,EAAO,KAAK,MAAM,EAAI,EAC5F,CACA,WAAW,CAAE,MAAAC,EAAO,OAAAJ,EAAQ,UAAAK,CAAU,KAAMC,EAAM,CAC9C,IAAMC,EAAU,CACZ,MAAAH,EACA,OAAAJ,EACA,IAAK,KAAK,IACV,QAASM,EACT,UAAWD,GAAa,KAAK,IAAI,CACrC,EAEA,GADA,KAAK,SAAS,KAAKE,CAAO,EACtB,KAAK,UACL,GAAI,CACA,KAAK,UAAU,IAAIA,CAAO,CAC9B,OACOC,EAAK,CACR,QAAQ,MAAM,wCAAyCA,EAAKD,CAAO,CACvE,CAEA,KAAK,SAAS,OAAS,KAAK,aAC5B,KAAK,SAAS,MAAM,CAE5B,CACA,UAAUL,EAAW,CACjB,KAAK,UAAYA,CACrB,CACA,OAAOI,EAAM,CACT,KAAK,WAAW,CAAE,MAAO,MAAO,OAAQ,KAAK,MAAO,EAAG,GAAGA,CAAI,EAC1D,KAAK,SACL,QAAQ,IAAI,KAAK,KAAK,MAAM,GAAI,KAAK,IAAK,GAAGA,CAAI,CAEzD,CACA,SAASA,EAAM,CACX,KAAK,WAAW,CAAE,MAAO,QAAS,OAAQ,KAAK,MAAO,EAAG,GAAGA,CAAI,EAC5D,KAAK,SACL,QAAQ,MAAM,KAAK,KAAK,MAAM,GAAI,KAAK,IAAK,GAAGA,CAAI,CAE3D,CACA,QAAQA,EAAM,CACV,KAAK,WAAW,CAAE,MAAO,OAAQ,OAAQ,KAAK,MAAO,EAAG,GAAGA,CAAI,EAC3D,KAAK,SACL,QAAQ,KAAK,KAAK,KAAK,MAAM,GAAI,KAAK,IAAK,GAAGA,CAAI,CAE1D,CACA,QAAQA,EAAM,CACV,KAAK,WAAW,CAAE,MAAO,OAAQ,OAAQ,KAAK,MAAO,EAAG,GAAGA,CAAI,EAC3D,KAAK,SACL,QAAQ,KAAK,KAAK,KAAK,MAAM,GAAI,KAAK,IAAK,GAAGA,CAAI,CAE1D,CACA,SAASA,EAAM,CACX,KAAK,WAAW,CAAE,MAAO,QAAS,OAAQ,KAAK,MAAO,EAAG,GAAGA,CAAI,EAC5D,KAAK,UACD,KAAK,IACL,QAAQ,IAAI,KAAK,KAAK,MAAM,GAAI,KAAK,IAAK,GAAGA,CAAI,EAGjD,QAAQ,IAAI,KAAK,OAAQ,GAAGA,CAAI,EAG5C,CACA,QAAS,CACL,OAAO,KAAK,QAChB,CACJ,EACAT,GAAQ,IAAMC,KChFd,IAAAW,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,YAAc,OACtB,IAAMC,GAAS,KACTC,GAAN,KAAkB,CAJlB,MAIkB,CAAAC,EAAA,oBACd,YAAY,CAAE,OAAAC,CAAO,EAAG,CACpB,KAAK,KAAO,CAAC,EACb,KAAK,OAAS,CAAC,EACf,KAAK,OAASA,CAClB,CACA,QAAQC,EAAQC,EAASC,EAAW,CAChC,IAAMC,EAAiBD,GAAa,KAAK,OACnCE,EAAW,IAAIR,GAAO,IAAII,EAAQ,CAAC,CAACC,EAASE,CAAc,EACjE,OAAI,KAAK,QACLC,EAAS,UAAU,KAAK,MAAM,EAElC,KAAK,KAAKJ,CAAM,EAAII,EACbA,CACX,CACA,aAAaC,EAAkB,CAC3B,OAAO,KAAK,KAAK,IAAI,EAAE,QAAQC,GAAO,CAElC,GADA,KAAK,OAASD,EAAiB,EAC3B,KAAK,OAAQ,CACb,KAAK,KAAKC,CAAG,EAAE,UAAU,KAAK,MAAM,EACpC,GAAM,CAAE,SAAAC,CAAS,EAAI,KAAK,KAAKD,CAAG,EAClCC,EAAS,QAAQC,GAAW,CACxB,IAAIC,GACHA,EAAK,KAAK,UAAY,MAAQA,IAAO,QAAkBA,EAAG,IAAID,CAAO,CAC1E,CAAC,CACL,CACJ,CAAC,CACL,CACA,UAAUP,EAAS,CACf,OAAO,KAAK,KAAK,IAAI,EAAE,QAAQK,GAAO,CAClC,KAAK,KAAKA,CAAG,EAAE,QAAU,CAAC,CAACL,CAC/B,CAAC,CACL,CACA,kBAAkBD,EAAQC,EAAS,CAC3B,KAAK,KAAKD,CAAM,IAChB,KAAK,KAAKA,CAAM,EAAE,QAAUC,EAEpC,CACA,QAAS,CACL,IAAIS,EAAO,CAAC,EACZ,cAAO,KAAK,KAAK,IAAI,EAAE,QAAQJ,GAAO,CAClCI,EAAOA,EAAK,OAAO,KAAK,KAAKJ,CAAG,EAAE,QAAQ,CAC9C,CAAC,EACDI,EAAK,KAAK,CAACC,EAAGC,IAAMD,EAAE,UAAYC,EAAE,SAAS,EACtCF,CACX,CACJ,EACAf,GAAQ,YAAcE,KCnDtB,IAAAgB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,EAAE,SAAUC,EAAc,CACxB,aAkDA,IAAIC,EACFC,EAAY,6CACZC,EAAW,KAAK,KAChBC,EAAY,KAAK,MAEjBC,EAAiB,qBACjBC,EAAgBD,EAAiB,yDAEjCE,EAAO,KACPC,EAAW,GACXC,EAAmB,iBAEnBC,EAAW,CAAC,EAAG,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,IAAI,EACjFC,EAAY,IAKZC,EAAM,IAMR,SAASC,EAAMC,GAAc,CAC3B,IAAIC,EAAKC,GAAaC,GACpBC,EAAIjB,EAAU,UAAY,CAAE,YAAaA,EAAW,SAAU,KAAM,QAAS,IAAK,EAClFkB,GAAM,IAAIlB,EAAU,CAAC,EAUrBmB,GAAiB,GAajBC,GAAgB,EAMhBC,GAAa,GAIbC,GAAa,GAMbC,GAAU,KAKVC,GAAU,IAGVC,GAAS,GAkBTC,GAAc,EAIdC,GAAgB,EAGhBC,GAAS,CACP,OAAQ,GACR,UAAW,EACX,mBAAoB,EACpB,eAAgB,IAChB,iBAAkB,IAClB,kBAAmB,EACnB,uBAAwB,OACxB,OAAQ,EACV,EAKAC,GAAW,uCACXC,GAAiC,GAgBnC,SAAS9B,EAAU+B,EAAGC,EAAG,CACvB,IAAIC,EAAUC,EAAGC,EAAaC,EAAGC,EAAGC,EAAOC,EAAKC,EAC9CC,EAAI,KAGN,GAAI,EAAEA,aAAazC,GAAY,OAAO,IAAIA,EAAU+B,EAAGC,CAAC,EAExD,GAAIA,GAAK,KAAM,CAEb,GAAID,GAAKA,EAAE,eAAiB,GAAM,CAChCU,EAAE,EAAIV,EAAE,EAEJ,CAACA,EAAE,GAAKA,EAAE,EAAIP,GAChBiB,EAAE,EAAIA,EAAE,EAAI,KACHV,EAAE,EAAIR,GACfkB,EAAE,EAAI,CAACA,EAAE,EAAI,CAAC,GAEdA,EAAE,EAAIV,EAAE,EACRU,EAAE,EAAIV,EAAE,EAAE,MAAM,GAGlB,MACF,CAEA,IAAKO,EAAQ,OAAOP,GAAK,WAAaA,EAAI,GAAK,EAAG,CAMhD,GAHAU,EAAE,EAAI,EAAIV,EAAI,GAAKA,EAAI,CAACA,EAAG,IAAM,EAG7BA,IAAM,CAAC,CAACA,EAAG,CACb,IAAKK,EAAI,EAAGC,EAAIN,EAAGM,GAAK,GAAIA,GAAK,GAAID,IAAI,CAErCA,EAAIZ,GACNiB,EAAE,EAAIA,EAAE,EAAI,MAEZA,EAAE,EAAIL,EACNK,EAAE,EAAI,CAACV,CAAC,GAGV,MACF,CAEAS,EAAM,OAAOT,CAAC,CAChB,KAAO,CAEL,GAAI,CAAC9B,EAAU,KAAKuC,EAAM,OAAOT,CAAC,CAAC,EAAG,OAAOf,GAAayB,EAAGD,EAAKF,CAAK,EAEvEG,EAAE,EAAID,EAAI,WAAW,CAAC,GAAK,IAAMA,EAAMA,EAAI,MAAM,CAAC,EAAG,IAAM,CAC7D,EAGKJ,EAAII,EAAI,QAAQ,GAAG,GAAK,KAAIA,EAAMA,EAAI,QAAQ,IAAK,EAAE,IAGrDH,EAAIG,EAAI,OAAO,IAAI,GAAK,GAGvBJ,EAAI,IAAGA,EAAIC,GACfD,GAAK,CAACI,EAAI,MAAMH,EAAI,CAAC,EACrBG,EAAMA,EAAI,UAAU,EAAGH,CAAC,GACfD,EAAI,IAGbA,EAAII,EAAI,OAGZ,KAAO,CAOL,GAJAE,EAASV,EAAG,EAAGH,GAAS,OAAQ,MAAM,EAIlCG,GAAK,IAAMF,GACb,OAAAW,EAAI,IAAIzC,EAAU+B,CAAC,EACZY,GAAMF,EAAGtB,GAAiBsB,EAAE,EAAI,EAAGrB,EAAa,EAKzD,GAFAoB,EAAM,OAAOT,CAAC,EAEVO,EAAQ,OAAOP,GAAK,SAAU,CAGhC,GAAIA,EAAI,GAAK,EAAG,OAAOf,GAAayB,EAAGD,EAAKF,EAAON,CAAC,EAKpD,GAHAS,EAAE,EAAI,EAAIV,EAAI,GAAKS,EAAMA,EAAI,MAAM,CAAC,EAAG,IAAM,EAGzCxC,EAAU,OAASwC,EAAI,QAAQ,YAAa,EAAE,EAAE,OAAS,GAC3D,MAAM,MACJnC,EAAgB0B,CAAC,CAEvB,MACEU,EAAE,EAAID,EAAI,WAAW,CAAC,IAAM,IAAMA,EAAMA,EAAI,MAAM,CAAC,EAAG,IAAM,EAQ9D,IALAP,EAAWJ,GAAS,MAAM,EAAGG,CAAC,EAC9BI,EAAIC,EAAI,EAIHE,EAAMC,EAAI,OAAQH,EAAIE,EAAKF,IAC9B,GAAIJ,EAAS,QAAQC,EAAIM,EAAI,OAAOH,CAAC,CAAC,EAAI,EAAG,CAC3C,GAAIH,GAAK,KAGP,GAAIG,EAAID,EAAG,CACTA,EAAIG,EACJ,QACF,UACS,CAACJ,IAGNK,GAAOA,EAAI,YAAY,IAAMA,EAAMA,EAAI,YAAY,IACnDA,GAAOA,EAAI,YAAY,IAAMA,EAAMA,EAAI,YAAY,IAAI,CACzDL,EAAc,GACdE,EAAI,GACJD,EAAI,EACJ,QACF,CAGF,OAAOpB,GAAayB,EAAG,OAAOV,CAAC,EAAGO,EAAON,CAAC,CAC5C,CAIFM,EAAQ,GACRE,EAAMzB,GAAYyB,EAAKR,EAAG,GAAIS,EAAE,CAAC,GAG5BL,EAAII,EAAI,QAAQ,GAAG,GAAK,GAAIA,EAAMA,EAAI,QAAQ,IAAK,EAAE,EACrDJ,EAAII,EAAI,MACf,CAGA,IAAKH,EAAI,EAAGG,EAAI,WAAWH,CAAC,IAAM,GAAIA,IAAI,CAG1C,IAAKE,EAAMC,EAAI,OAAQA,EAAI,WAAW,EAAED,CAAG,IAAM,IAAI,CAErD,GAAIC,EAAMA,EAAI,MAAMH,EAAG,EAAEE,CAAG,EAAG,CAI7B,GAHAA,GAAOF,EAGHC,GAAStC,EAAU,OACrBuC,EAAM,KAAOR,EAAIvB,GAAoBuB,IAAM5B,EAAU4B,CAAC,GACpD,MAAM,MACJ1B,EAAiBoC,EAAE,EAAIV,CAAE,EAI/B,IAAKK,EAAIA,EAAIC,EAAI,GAAKb,GAGpBiB,EAAE,EAAIA,EAAE,EAAI,aAGHL,EAAIb,GAGbkB,EAAE,EAAI,CAACA,EAAE,EAAI,CAAC,MACT,CAWL,GAVAA,EAAE,EAAIL,EACNK,EAAE,EAAI,CAAC,EAMPJ,GAAKD,EAAI,GAAK7B,EACV6B,EAAI,IAAGC,GAAK9B,GAEZ8B,EAAIE,EAAK,CAGX,IAFIF,GAAGI,EAAE,EAAE,KAAK,CAACD,EAAI,MAAM,EAAGH,CAAC,CAAC,EAE3BE,GAAOhC,EAAU8B,EAAIE,GACxBE,EAAE,EAAE,KAAK,CAACD,EAAI,MAAMH,EAAGA,GAAK9B,CAAQ,CAAC,EAGvC8B,EAAI9B,GAAYiC,EAAMA,EAAI,MAAMH,CAAC,GAAG,MACtC,MACEA,GAAKE,EAGP,KAAOF,IAAKG,GAAO,IAAI,CACvBC,EAAE,EAAE,KAAK,CAACD,CAAG,CACf,CACF,MAGEC,EAAE,EAAI,CAACA,EAAE,EAAI,CAAC,CAElB,CAlMSG,EAAA5C,EAAA,aAwMTA,EAAU,MAAQY,EAElBZ,EAAU,SAAW,EACrBA,EAAU,WAAa,EACvBA,EAAU,WAAa,EACvBA,EAAU,YAAc,EACxBA,EAAU,cAAgB,EAC1BA,EAAU,gBAAkB,EAC5BA,EAAU,gBAAkB,EAC5BA,EAAU,gBAAkB,EAC5BA,EAAU,iBAAmB,EAC7BA,EAAU,OAAS,EAqCnBA,EAAU,OAASA,EAAU,IAAM,SAAU6C,EAAK,CAChD,IAAIC,EAAGf,EAEP,GAAIc,GAAO,KAET,GAAI,OAAOA,GAAO,SAAU,CAsC1B,GAlCIA,EAAI,eAAeC,EAAI,gBAAgB,IACzCf,EAAIc,EAAIC,CAAC,EACTJ,EAASX,EAAG,EAAGpB,EAAKmC,CAAC,EACrB3B,GAAiBY,GAKfc,EAAI,eAAeC,EAAI,eAAe,IACxCf,EAAIc,EAAIC,CAAC,EACTJ,EAASX,EAAG,EAAG,EAAGe,CAAC,EACnB1B,GAAgBW,GAOdc,EAAI,eAAeC,EAAI,gBAAgB,IACzCf,EAAIc,EAAIC,CAAC,EACLf,GAAKA,EAAE,KACTW,EAASX,EAAE,CAAC,EAAG,CAACpB,EAAK,EAAGmC,CAAC,EACzBJ,EAASX,EAAE,CAAC,EAAG,EAAGpB,EAAKmC,CAAC,EACxBzB,GAAaU,EAAE,CAAC,EAChBT,GAAaS,EAAE,CAAC,IAEhBW,EAASX,EAAG,CAACpB,EAAKA,EAAKmC,CAAC,EACxBzB,GAAa,EAAEC,GAAaS,EAAI,EAAI,CAACA,EAAIA,KAOzCc,EAAI,eAAeC,EAAI,OAAO,EAEhC,GADAf,EAAIc,EAAIC,CAAC,EACLf,GAAKA,EAAE,IACTW,EAASX,EAAE,CAAC,EAAG,CAACpB,EAAK,GAAImC,CAAC,EAC1BJ,EAASX,EAAE,CAAC,EAAG,EAAGpB,EAAKmC,CAAC,EACxBvB,GAAUQ,EAAE,CAAC,EACbP,GAAUO,EAAE,CAAC,UAEbW,EAASX,EAAG,CAACpB,EAAKA,EAAKmC,CAAC,EACpBf,EACFR,GAAU,EAAEC,GAAUO,EAAI,EAAI,CAACA,EAAIA,OAEnC,OAAM,MACJ3B,EAAiB0C,EAAI,oBAAsBf,CAAC,EAQpD,GAAIc,EAAI,eAAeC,EAAI,QAAQ,EAEjC,GADAf,EAAIc,EAAIC,CAAC,EACLf,IAAM,CAAC,CAACA,EACV,GAAIA,EACF,GAAI,OAAO,OAAU,KAAe,SAClC,OAAO,iBAAmB,OAAO,aACjCN,GAASM,MAET,OAAAN,GAAS,CAACM,EACJ,MACJ3B,EAAiB,oBAAoB,OAGzCqB,GAASM,MAGX,OAAM,MACJ3B,EAAiB0C,EAAI,uBAAyBf,CAAC,EAsBrD,GAhBIc,EAAI,eAAeC,EAAI,aAAa,IACtCf,EAAIc,EAAIC,CAAC,EACTJ,EAASX,EAAG,EAAG,EAAGe,CAAC,EACnBpB,GAAcK,GAKZc,EAAI,eAAeC,EAAI,eAAe,IACxCf,EAAIc,EAAIC,CAAC,EACTJ,EAASX,EAAG,EAAGpB,EAAKmC,CAAC,EACrBnB,GAAgBI,GAKdc,EAAI,eAAeC,EAAI,QAAQ,EAEjC,GADAf,EAAIc,EAAIC,CAAC,EACL,OAAOf,GAAK,SAAUH,GAASG,MAC9B,OAAM,MACT3B,EAAiB0C,EAAI,mBAAqBf,CAAC,EAK/C,GAAIc,EAAI,eAAeC,EAAI,UAAU,EAKnC,GAJAf,EAAIc,EAAIC,CAAC,EAIL,OAAOf,GAAK,UAAY,CAAC,wBAAwB,KAAKA,CAAC,EACzDD,GAAiCC,EAAE,MAAM,EAAG,EAAE,GAAK,aACnDF,GAAWE,MAEX,OAAM,MACJ3B,EAAiB0C,EAAI,aAAef,CAAC,CAI7C,KAGE,OAAM,MACJ3B,EAAiB,oBAAsByC,CAAG,EAIhD,MAAO,CACL,eAAgB1B,GAChB,cAAeC,GACf,eAAgB,CAACC,GAAYC,EAAU,EACvC,MAAO,CAACC,GAASC,EAAO,EACxB,OAAQC,GACR,YAAaC,GACb,cAAeC,GACf,OAAQC,GACR,SAAUC,EACZ,CACF,EAYA7B,EAAU,YAAc,SAAU+B,EAAG,CACnC,GAAI,CAACA,GAAKA,EAAE,eAAiB,GAAM,MAAO,GAC1C,GAAI,CAAC/B,EAAU,MAAO,MAAO,GAE7B,IAAIqC,EAAGU,EACLb,EAAIH,EAAE,EACNK,EAAIL,EAAE,EACNiB,EAAIjB,EAAE,EAERkB,EAAK,GAAI,CAAC,EAAE,SAAS,KAAKf,CAAC,GAAK,kBAE9B,IAAKc,IAAM,GAAKA,IAAM,KAAOZ,GAAK,CAACzB,GAAOyB,GAAKzB,GAAOyB,IAAMjC,EAAUiC,CAAC,EAAG,CAGxE,GAAIF,EAAE,CAAC,IAAM,EAAG,CACd,GAAIE,IAAM,GAAKF,EAAE,SAAW,EAAG,MAAO,GACtC,MAAMe,CACR,CAQA,GALAZ,GAAKD,EAAI,GAAK7B,EACV8B,EAAI,IAAGA,GAAK9B,GAIZ,OAAO2B,EAAE,CAAC,CAAC,EAAE,QAAUG,EAAG,CAE5B,IAAKA,EAAI,EAAGA,EAAIH,EAAE,OAAQG,IAExB,GADAU,EAAIb,EAAEG,CAAC,EACHU,EAAI,GAAKA,GAAKzC,GAAQyC,IAAM5C,EAAU4C,CAAC,EAAG,MAAME,EAItD,GAAIF,IAAM,EAAG,MAAO,EACtB,CACF,UAGSb,IAAM,MAAQE,IAAM,OAASY,IAAM,MAAQA,IAAM,GAAKA,IAAM,IACrE,MAAO,GAGT,MAAM,MACH5C,EAAiB,sBAAwB2B,CAAC,CAC/C,EAQA/B,EAAU,QAAUA,EAAU,IAAM,UAAY,CAC9C,OAAOkD,GAAS,UAAW,EAAE,CAC/B,EAQAlD,EAAU,QAAUA,EAAU,IAAM,UAAY,CAC9C,OAAOkD,GAAS,UAAW,CAAC,CAC9B,EAaAlD,EAAU,OAAU,UAAY,CAC9B,IAAImD,EAAU,iBAMVC,EAAkB,KAAK,OAAO,EAAID,EAAW,QAC9C,UAAY,CAAE,OAAOhD,EAAU,KAAK,OAAO,EAAIgD,CAAO,CAAG,EACzD,UAAY,CAAE,OAAS,KAAK,OAAO,EAAI,WAAa,GAAK,SACxD,KAAK,OAAO,EAAI,QAAW,EAAI,EAEnC,OAAO,SAAUE,EAAI,CACnB,IAAIC,EAAGtB,EAAGI,EAAGmB,EAAGxB,EACdM,EAAI,EACJH,EAAI,CAAC,EACLsB,EAAO,IAAIxD,EAAUkB,EAAG,EAO1B,GALImC,GAAM,KAAMA,EAAKlC,GAChBuB,EAASW,EAAI,EAAG1C,CAAG,EAExB4C,EAAIrD,EAASmD,EAAK9C,CAAQ,EAEtBkB,GAGF,GAAI,OAAO,gBAAiB,CAI1B,IAFA6B,EAAI,OAAO,gBAAgB,IAAI,YAAYC,GAAK,CAAC,CAAC,EAE3ClB,EAAIkB,GAQTxB,EAAIuB,EAAEjB,CAAC,EAAI,QAAWiB,EAAEjB,EAAI,CAAC,IAAM,IAM/BN,GAAK,MACPC,EAAI,OAAO,gBAAgB,IAAI,YAAY,CAAC,CAAC,EAC7CsB,EAAEjB,CAAC,EAAIL,EAAE,CAAC,EACVsB,EAAEjB,EAAI,CAAC,EAAIL,EAAE,CAAC,IAKdE,EAAE,KAAKH,EAAI,IAAI,EACfM,GAAK,GAGTA,EAAIkB,EAAI,CAGV,SAAW,OAAO,YAAa,CAK7B,IAFAD,EAAI,OAAO,YAAYC,GAAK,CAAC,EAEtBlB,EAAIkB,GAMTxB,GAAMuB,EAAEjB,CAAC,EAAI,IAAM,gBAAoBiB,EAAEjB,EAAI,CAAC,EAAI,cAC9CiB,EAAEjB,EAAI,CAAC,EAAI,WAAgBiB,EAAEjB,EAAI,CAAC,EAAI,UACtCiB,EAAEjB,EAAI,CAAC,GAAK,KAAOiB,EAAEjB,EAAI,CAAC,GAAK,GAAKiB,EAAEjB,EAAI,CAAC,EAE3CN,GAAK,KACP,OAAO,YAAY,CAAC,EAAE,KAAKuB,EAAGjB,CAAC,GAI/BH,EAAE,KAAKH,EAAI,IAAI,EACfM,GAAK,GAGTA,EAAIkB,EAAI,CACV,KACE,OAAA9B,GAAS,GACH,MACJrB,EAAiB,oBAAoB,EAK3C,GAAI,CAACqB,GAEH,KAAOY,EAAIkB,GACTxB,EAAIqB,EAAe,EACfrB,EAAI,OAAMG,EAAEG,GAAG,EAAIN,EAAI,MAc/B,IAVAwB,EAAIrB,EAAE,EAAEG,CAAC,EACTgB,GAAM9C,EAGFgD,GAAKF,IACPtB,EAAItB,EAASF,EAAW8C,CAAE,EAC1BnB,EAAEG,CAAC,EAAIlC,EAAUoD,EAAIxB,CAAC,EAAIA,GAIrBG,EAAEG,CAAC,IAAM,EAAGH,EAAE,IAAI,EAAGG,IAAI,CAGhC,GAAIA,EAAI,EACNH,EAAI,CAACE,EAAI,CAAC,MACL,CAGL,IAAKA,EAAI,GAAKF,EAAE,CAAC,IAAM,EAAGA,EAAE,OAAO,EAAG,CAAC,EAAGE,GAAK7B,EAAS,CAGxD,IAAK8B,EAAI,EAAGN,EAAIG,EAAE,CAAC,EAAGH,GAAK,GAAIA,GAAK,GAAIM,IAAI,CAGxCA,EAAI9B,IAAU6B,GAAK7B,EAAW8B,EACpC,CAEA,OAAAmB,EAAK,EAAIpB,EACToB,EAAK,EAAItB,EACFsB,CACT,CACF,EAAG,EAQHxD,EAAU,IAAM,UAAY,CAI1B,QAHIqC,EAAI,EACNoB,EAAO,UACPC,EAAM,IAAI1D,EAAUyD,EAAK,CAAC,CAAC,EACtBpB,EAAIoB,EAAK,QAASC,EAAMA,EAAI,KAAKD,EAAKpB,GAAG,CAAC,EACjD,OAAOqB,CACT,EAOA3C,GAAe,UAAY,CACzB,IAAI4C,EAAU,aAOd,SAASC,EAAUpB,EAAKqB,EAAQC,EAAS7B,EAAU,CAOjD,QANI8B,EACFC,EAAM,CAAC,CAAC,EACRC,EACA5B,EAAI,EACJE,EAAMC,EAAI,OAELH,EAAIE,GAAM,CACf,IAAK0B,EAAOD,EAAI,OAAQC,IAAQD,EAAIC,CAAI,GAAKJ,EAAO,CAIpD,IAFAG,EAAI,CAAC,GAAK/B,EAAS,QAAQO,EAAI,OAAOH,GAAG,CAAC,EAErC0B,EAAI,EAAGA,EAAIC,EAAI,OAAQD,IAEtBC,EAAID,CAAC,EAAID,EAAU,IACjBE,EAAID,EAAI,CAAC,GAAK,OAAMC,EAAID,EAAI,CAAC,EAAI,GACrCC,EAAID,EAAI,CAAC,GAAKC,EAAID,CAAC,EAAID,EAAU,EACjCE,EAAID,CAAC,GAAKD,EAGhB,CAEA,OAAOE,EAAI,QAAQ,CACrB,CAvBS,OAAApB,EAAAgB,EAAA,aA4BF,SAAUpB,EAAKqB,EAAQC,EAASI,EAAMC,EAAkB,CAC7D,IAAIlC,EAAUmC,EAAGhC,EAAGmB,EAAGc,EAAG5B,GAAG6B,GAAIC,GAC/BlC,GAAIG,EAAI,QAAQ,GAAG,EACnBa,GAAKlC,GACLqD,GAAKpD,GA+BP,IA5BIiB,IAAK,IACPkB,EAAI5B,GAGJA,GAAgB,EAChBa,EAAMA,EAAI,QAAQ,IAAK,EAAE,EACzB+B,GAAI,IAAIvE,EAAU6D,CAAM,EACxBpB,GAAI8B,GAAE,IAAI/B,EAAI,OAASH,EAAC,EACxBV,GAAgB4B,EAKhBgB,GAAE,EAAIX,EAAUa,GAAaC,EAAcjC,GAAE,CAAC,EAAGA,GAAE,EAAG,GAAG,EACxD,GAAIqB,EAASH,CAAO,EACrBY,GAAE,EAAIA,GAAE,EAAE,QAKZD,GAAKV,EAAUpB,EAAKqB,EAAQC,EAASK,GACjClC,EAAWJ,GAAU8B,IACrB1B,EAAW0B,EAAS9B,GAAS,EAGjCO,EAAImB,EAAIe,GAAG,OAGJA,GAAG,EAAEf,CAAC,GAAK,EAAGe,GAAG,IAAI,EAAE,CAG9B,GAAI,CAACA,GAAG,CAAC,EAAG,OAAOrC,EAAS,OAAO,CAAC,EAqCpC,GAlCII,GAAI,EACN,EAAED,GAEFK,GAAE,EAAI6B,GACN7B,GAAE,EAAIL,EAGNK,GAAE,EAAIyB,EACNzB,GAAI3B,EAAI2B,GAAG8B,GAAGlB,GAAImB,GAAIV,CAAO,EAC7BQ,GAAK7B,GAAE,EACP4B,EAAI5B,GAAE,EACNL,EAAIK,GAAE,GAMR2B,EAAIhC,EAAIiB,GAAK,EAGbhB,GAAIiC,GAAGF,CAAC,EAIRb,EAAIO,EAAU,EACdO,EAAIA,GAAKD,EAAI,GAAKE,GAAGF,EAAI,CAAC,GAAK,KAE/BC,EAAIG,GAAK,GAAKnC,IAAK,MAAQgC,KAAOG,IAAM,GAAKA,KAAO/B,GAAE,EAAI,EAAI,EAAI,IAC1DJ,GAAIkB,GAAKlB,IAAKkB,IAAKiB,IAAM,GAAKH,GAAKG,IAAM,GAAKF,GAAGF,EAAI,CAAC,EAAI,GAC3DI,KAAO/B,GAAE,EAAI,EAAI,EAAI,IAKxB2B,EAAI,GAAK,CAACE,GAAG,CAAC,EAGhB9B,EAAM6B,EAAII,GAAaxC,EAAS,OAAO,CAAC,EAAG,CAACoB,GAAIpB,EAAS,OAAO,CAAC,CAAC,EAAIA,EAAS,OAAO,CAAC,MAClF,CAML,GAHAqC,GAAG,OAASF,EAGRC,EAGF,IAAK,EAAEP,EAAS,EAAEQ,GAAG,EAAEF,CAAC,EAAIN,GAC1BQ,GAAGF,CAAC,EAAI,EAEHA,IACH,EAAEhC,EACFkC,GAAK,CAAC,CAAC,EAAE,OAAOA,EAAE,GAMxB,IAAKf,EAAIe,GAAG,OAAQ,CAACA,GAAG,EAAEf,CAAC,GAAG,CAG9B,IAAKlB,GAAI,EAAGG,EAAM,GAAIH,IAAKkB,EAAGf,GAAOP,EAAS,OAAOqC,GAAGjC,IAAG,CAAC,EAAE,CAG9DG,EAAMiC,GAAajC,EAAKJ,EAAGH,EAAS,OAAO,CAAC,CAAC,CAC/C,CAGA,OAAOO,CACT,CACF,EAAG,EAIH1B,EAAO,UAAY,CAGjB,SAAS6D,EAASlC,EAAGc,EAAGqB,EAAM,CAC5B,IAAIC,EAAGC,EAAMC,EAAKC,EAChBC,EAAQ,EACR5C,EAAII,EAAE,OACNyC,GAAM3B,EAAI7C,EACVyE,GAAM5B,EAAI7C,EAAY,EAExB,IAAK+B,EAAIA,EAAE,MAAM,EAAGJ,KAClB0C,EAAMtC,EAAEJ,CAAC,EAAI3B,EACbsE,EAAMvC,EAAEJ,CAAC,EAAI3B,EAAY,EACzBmE,EAAIM,GAAMJ,EAAMC,EAAME,GACtBJ,EAAOI,GAAMH,EAAQF,EAAInE,EAAaA,EAAauE,EACnDA,GAASH,EAAOF,EAAO,IAAMC,EAAInE,EAAY,GAAKyE,GAAMH,EACxDvC,EAAEJ,CAAC,EAAIyC,EAAOF,EAGhB,OAAIK,IAAOxC,EAAI,CAACwC,CAAK,EAAE,OAAOxC,CAAC,GAExBA,CACT,CAnBSG,EAAA+B,EAAA,YAqBT,SAASS,EAAQ9B,EAAGtB,EAAGqD,EAAIC,EAAI,CAC7B,IAAIjD,EAAGkD,EAEP,GAAIF,GAAMC,EACRC,EAAMF,EAAKC,EAAK,EAAI,OAGpB,KAAKjD,EAAIkD,EAAM,EAAGlD,EAAIgD,EAAIhD,IAExB,GAAIiB,EAAEjB,CAAC,GAAKL,EAAEK,CAAC,EAAG,CAChBkD,EAAMjC,EAAEjB,CAAC,EAAIL,EAAEK,CAAC,EAAI,EAAI,GACxB,KACF,CAIJ,OAAOkD,CACT,CAjBS3C,EAAAwC,EAAA,WAmBT,SAASI,EAASlC,EAAGtB,EAAGqD,EAAIT,EAAM,CAIhC,QAHIvC,EAAI,EAGDgD,KACL/B,EAAE+B,CAAE,GAAKhD,EACTA,EAAIiB,EAAE+B,CAAE,EAAIrD,EAAEqD,CAAE,EAAI,EAAI,EACxB/B,EAAE+B,CAAE,EAAIhD,EAAIuC,EAAOtB,EAAE+B,CAAE,EAAIrD,EAAEqD,CAAE,EAIjC,KAAO,CAAC/B,EAAE,CAAC,GAAKA,EAAE,OAAS,EAAGA,EAAE,OAAO,EAAG,CAAC,EAAE,CAC/C,CAZS,OAAAV,EAAA4C,EAAA,YAeF,SAAU/C,EAAG8B,EAAGlB,EAAImB,EAAII,EAAM,CACnC,IAAIW,EAAKnD,EAAGC,EAAGoD,EAAM1C,GAAG2C,GAAMC,GAAOC,GAAGC,GAAIC,GAAKC,GAAMC,GAAMC,GAAIC,EAAIC,EACnEC,GAAIC,GACJrD,GAAIP,EAAE,GAAK8B,EAAE,EAAI,EAAI,GACrBD,GAAK7B,EAAE,EACP6D,GAAK/B,EAAE,EAGT,GAAI,CAACD,IAAM,CAACA,GAAG,CAAC,GAAK,CAACgC,IAAM,CAACA,GAAG,CAAC,EAE/B,OAAO,IAAItG,EAGV,CAACyC,EAAE,GAAK,CAAC8B,EAAE,IAAMD,GAAKgC,IAAMhC,GAAG,CAAC,GAAKgC,GAAG,CAAC,EAAI,CAACA,IAAM,IAGnDhC,IAAMA,GAAG,CAAC,GAAK,GAAK,CAACgC,GAAKtD,GAAI,EAAIA,GAAI,CACzC,EAgBD,IAbA4C,GAAI,IAAI5F,EAAUgD,EAAC,EACnB6C,GAAKD,GAAE,EAAI,CAAC,EACZxD,EAAIK,EAAE,EAAI8B,EAAE,EACZvB,GAAIK,EAAKjB,EAAI,EAERwC,IACHA,EAAOtE,EACP8B,EAAImE,EAAS9D,EAAE,EAAIlC,CAAQ,EAAIgG,EAAShC,EAAE,EAAIhE,CAAQ,EACtDyC,GAAIA,GAAIzC,EAAW,GAKhB8B,EAAI,EAAGiE,GAAGjE,CAAC,IAAMiC,GAAGjC,CAAC,GAAK,GAAIA,IAAI,CAIvC,GAFIiE,GAAGjE,CAAC,GAAKiC,GAAGjC,CAAC,GAAK,IAAID,IAEtBY,GAAI,EACN6C,GAAG,KAAK,CAAC,EACTJ,EAAO,OACF,CAwBL,IAvBAS,EAAK5B,GAAG,OACR8B,GAAKE,GAAG,OACRjE,EAAI,EACJW,IAAK,EAILD,GAAI5C,EAAUyE,GAAQ0B,GAAG,CAAC,EAAI,EAAE,EAI5BvD,GAAI,IACNuD,GAAK3B,EAAS2B,GAAIvD,GAAG6B,CAAI,EACzBN,GAAKK,EAASL,GAAIvB,GAAG6B,CAAI,EACzBwB,GAAKE,GAAG,OACRJ,EAAK5B,GAAG,QAGV2B,GAAKG,GACLN,GAAMxB,GAAG,MAAM,EAAG8B,EAAE,EACpBL,GAAOD,GAAI,OAGJC,GAAOK,GAAIN,GAAIC,IAAM,EAAI,EAAE,CAClCM,GAAKC,GAAG,MAAM,EACdD,GAAK,CAAC,CAAC,EAAE,OAAOA,EAAE,EAClBF,EAAMG,GAAG,CAAC,EACNA,GAAG,CAAC,GAAK1B,EAAO,GAAGuB,IAIvB,EAAG,CAOD,GANApD,GAAI,EAGJwC,EAAMH,EAAQkB,GAAIR,GAAKM,GAAIL,EAAI,EAG3BR,EAAM,EAAG,CAqBX,GAjBAS,GAAOF,GAAI,CAAC,EACRM,IAAML,KAAMC,GAAOA,GAAOpB,GAAQkB,GAAI,CAAC,GAAK,IAGhD/C,GAAI5C,EAAU6F,GAAOG,CAAG,EAapBpD,GAAI,EAcN,IAXIA,IAAK6B,IAAM7B,GAAI6B,EAAO,GAG1Bc,GAAOf,EAAS2B,GAAIvD,GAAG6B,CAAI,EAC3Be,GAAQD,GAAK,OACbK,GAAOD,GAAI,OAMJV,EAAQM,GAAMI,GAAKH,GAAOI,EAAI,GAAK,GACxChD,KAGAyC,EAASE,GAAMU,GAAKT,GAAQU,GAAKC,GAAIX,GAAOf,CAAI,EAChDe,GAAQD,GAAK,OACbH,EAAM,OAQJxC,IAAK,IAGPwC,EAAMxC,GAAI,GAIZ2C,GAAOY,GAAG,MAAM,EAChBX,GAAQD,GAAK,OAUf,GAPIC,GAAQI,KAAML,GAAO,CAAC,CAAC,EAAE,OAAOA,EAAI,GAGxCF,EAASM,GAAKJ,GAAMK,GAAMnB,CAAI,EAC9BmB,GAAOD,GAAI,OAGPP,GAAO,GAMT,KAAOH,EAAQkB,GAAIR,GAAKM,GAAIL,EAAI,EAAI,GAClChD,KAGAyC,EAASM,GAAKM,GAAKL,GAAOM,GAAKC,GAAIP,GAAMnB,CAAI,EAC7CmB,GAAOD,GAAI,MAGjB,MAAWP,IAAQ,IACjBxC,KACA+C,GAAM,CAAC,CAAC,GAIVD,GAAGxD,GAAG,EAAIU,GAGN+C,GAAI,CAAC,EACPA,GAAIC,IAAM,EAAIzB,GAAG2B,EAAE,GAAK,GAExBH,GAAM,CAACxB,GAAG2B,EAAE,CAAC,EACbF,GAAO,EAEX,QAAUE,KAAOC,GAAMJ,GAAI,CAAC,GAAK,OAAS9C,MAE1CyC,EAAOK,GAAI,CAAC,GAAK,KAGZD,GAAG,CAAC,GAAGA,GAAG,OAAO,EAAG,CAAC,CAC5B,CAEA,GAAIjB,GAAQtE,EAAM,CAGhB,IAAK+B,EAAI,EAAGW,GAAI6C,GAAG,CAAC,EAAG7C,IAAK,GAAIA,IAAK,GAAIX,IAAI,CAE7CM,GAAMiD,GAAGvC,GAAMuC,GAAE,EAAIvD,EAAID,EAAI7B,EAAW,GAAK,EAAGiE,EAAIiB,CAAI,CAG1D,MACEG,GAAE,EAAIxD,EACNwD,GAAE,EAAI,CAACH,EAGT,OAAOG,EACT,CACF,EAAG,EAYH,SAASY,GAAOzD,EAAGV,EAAGmC,EAAIiC,EAAI,CAC5B,IAAIC,EAAItE,EAAGuE,EAAIpE,EAAKC,EAKpB,GAHIgC,GAAM,KAAMA,EAAKpD,GAChBsB,EAAS8B,EAAI,EAAG,CAAC,EAElB,CAACzB,EAAE,EAAG,OAAOA,EAAE,SAAS,EAK5B,GAHA2D,EAAK3D,EAAE,EAAE,CAAC,EACV4D,EAAK5D,EAAE,EAEHV,GAAK,KACPG,EAAMkC,EAAc3B,EAAE,CAAC,EACvBP,EAAMiE,GAAM,GAAKA,GAAM,IAAME,GAAMtF,IAAcsF,GAAMrF,IACpDsF,GAAcpE,EAAKmE,CAAE,EACrBlC,GAAajC,EAAKmE,EAAI,GAAG,UAE5B5D,EAAIJ,GAAM,IAAI3C,EAAU+C,CAAC,EAAGV,EAAGmC,CAAE,EAGjCpC,EAAIW,EAAE,EAENP,EAAMkC,EAAc3B,EAAE,CAAC,EACvBR,EAAMC,EAAI,OAONiE,GAAM,GAAKA,GAAM,IAAMpE,GAAKD,GAAKA,GAAKf,IAAa,CAGrD,KAAOkB,EAAMF,EAAGG,GAAO,IAAKD,IAAM,CAClCC,EAAMoE,GAAcpE,EAAKJ,CAAC,CAG5B,SACEC,GAAKsE,EACLnE,EAAMiC,GAAajC,EAAKJ,EAAG,GAAG,EAG1BA,EAAI,EAAIG,GACV,GAAI,EAAEF,EAAI,EAAG,IAAKG,GAAO,IAAKH,IAAKG,GAAO,IAAI,UAE9CH,GAAKD,EAAIG,EACLF,EAAI,EAEN,IADID,EAAI,GAAKG,IAAKC,GAAO,KAClBH,IAAKG,GAAO,IAAI,CAM/B,OAAOO,EAAE,EAAI,GAAK2D,EAAK,IAAMlE,EAAMA,CACrC,CAvDSI,EAAA4D,GAAA,UA4DT,SAAStD,GAASO,EAAMV,EAAG,CAKzB,QAJIQ,EAAGgB,EACLlC,EAAI,EACJI,EAAI,IAAIzC,EAAUyD,EAAK,CAAC,CAAC,EAEpBpB,EAAIoB,EAAK,OAAQpB,IACtBkC,EAAI,IAAIvE,EAAUyD,EAAKpB,CAAC,CAAC,GACrB,CAACkC,EAAE,IAAMhB,EAAI6B,EAAQ3C,EAAG8B,CAAC,KAAOxB,GAAKQ,IAAM,GAAKd,EAAE,IAAMM,KAC1DN,EAAI8B,GAIR,OAAO9B,CACT,CAbSG,EAAAM,GAAA,YAoBT,SAAS2D,GAAU9D,EAAGb,EAAGE,EAAG,CAK1B,QAJIC,EAAI,EACN0B,EAAI7B,EAAE,OAGD,CAACA,EAAE,EAAE6B,CAAC,EAAG7B,EAAE,IAAI,EAAE,CAGxB,IAAK6B,EAAI7B,EAAE,CAAC,EAAG6B,GAAK,GAAIA,GAAK,GAAI1B,IAAI,CAGrC,OAAKD,EAAIC,EAAID,EAAI7B,EAAW,GAAKiB,GAG/BuB,EAAE,EAAIA,EAAE,EAAI,KAGHX,EAAIb,GAGbwB,EAAE,EAAI,CAACA,EAAE,EAAI,CAAC,GAEdA,EAAE,EAAIX,EACNW,EAAE,EAAIb,GAGDa,CACT,CA3BSH,EAAAiE,GAAA,aA+BT7F,GAAgB,UAAY,CAC1B,IAAI8F,EAAa,8BACfC,EAAW,cACXC,EAAY,cACZC,EAAkB,qBAClBC,EAAmB,6BAErB,OAAO,SAAUzE,EAAGD,EAAKF,EAAON,EAAG,CACjC,IAAI4C,EACF5B,EAAIV,EAAQE,EAAMA,EAAI,QAAQ0E,EAAkB,EAAE,EAGpD,GAAID,EAAgB,KAAKjE,CAAC,EACxBP,EAAE,EAAI,MAAMO,CAAC,EAAI,KAAOA,EAAI,EAAI,GAAK,MAChC,CACL,GAAI,CAACV,IAGHU,EAAIA,EAAE,QAAQ8D,EAAY,SAAUjC,EAAGsC,GAAIC,GAAI,CAC7C,OAAAxC,GAAQwC,GAAKA,GAAG,YAAY,IAAM,IAAM,GAAKA,IAAM,IAAM,EAAI,EACtD,CAACpF,GAAKA,GAAK4C,EAAOuC,GAAKtC,CAChC,CAAC,EAEG7C,IACF4C,EAAO5C,EAGPgB,EAAIA,EAAE,QAAQ+D,EAAU,IAAI,EAAE,QAAQC,EAAW,MAAM,GAGrDxE,GAAOQ,GAAG,OAAO,IAAIhD,EAAUgD,EAAG4B,CAAI,EAK5C,GAAI5E,EAAU,MACZ,MAAM,MACHI,EAAiB,SAAW4B,EAAI,SAAWA,EAAI,IAAM,YAAcQ,CAAG,EAI3EC,EAAE,EAAI,IACR,CAEAA,EAAE,EAAIA,EAAE,EAAI,IACd,CACF,EAAG,EAOH,SAASE,GAAMF,EAAG4E,EAAI7C,EAAIH,EAAG,CAC3B,IAAID,EAAG/B,EAAG0B,EAAGR,EAAGR,EAAGuE,EAAIC,EACrBjD,EAAK7B,EAAE,EACP+E,GAAS/G,EAGX,GAAI6D,EAAI,CAQNrB,EAAK,CAGH,IAAKmB,EAAI,EAAGb,EAAIe,EAAG,CAAC,EAAGf,GAAK,GAAIA,GAAK,GAAIa,IAAI,CAI7C,GAHA/B,EAAIgF,EAAKjD,EAGL/B,EAAI,EACNA,GAAK9B,EACLwD,EAAIsD,EACJtE,EAAIuB,EAAGgD,EAAK,CAAC,EAGbC,EAAKpH,EAAU4C,EAAIyE,GAAOpD,EAAIL,EAAI,CAAC,EAAI,EAAE,UAEzCuD,EAAKpH,GAAUmC,EAAI,GAAK9B,CAAQ,EAE5B+G,GAAMhD,EAAG,OAEX,GAAID,EAAG,CAGL,KAAOC,EAAG,QAAUgD,EAAIhD,EAAG,KAAK,CAAC,EAAE,CACnCvB,EAAIwE,EAAK,EACTnD,EAAI,EACJ/B,GAAK9B,EACLwD,EAAI1B,EAAI9B,EAAW,CACrB,KACE,OAAM0C,MAEH,CAIL,IAHAF,EAAIQ,EAAIe,EAAGgD,CAAE,EAGRlD,EAAI,EAAGb,GAAK,GAAIA,GAAK,GAAIa,IAAI,CAGlC/B,GAAK9B,EAILwD,EAAI1B,EAAI9B,EAAW6D,EAGnBmD,EAAKxD,EAAI,EAAI,EAAI5D,EAAU4C,EAAIyE,GAAOpD,EAAIL,EAAI,CAAC,EAAI,EAAE,CACvD,CAkBF,GAfAM,EAAIA,GAAKgD,EAAK,GAKb/C,EAAGgD,EAAK,CAAC,GAAK,OAASvD,EAAI,EAAIhB,EAAIA,EAAIyE,GAAOpD,EAAIL,EAAI,CAAC,GAExDM,EAAIG,EAAK,GACL+C,GAAMlD,KAAOG,GAAM,GAAKA,IAAO/B,EAAE,EAAI,EAAI,EAAI,IAC9C8E,EAAK,GAAKA,GAAM,IAAM/C,GAAM,GAAKH,GAAKG,GAAM,IAG3CnC,EAAI,EAAI0B,EAAI,EAAIhB,EAAIyE,GAAOpD,EAAIL,CAAC,EAAI,EAAIO,EAAGgD,EAAK,CAAC,GAAK,GAAM,GAC7D9C,IAAO/B,EAAE,EAAI,EAAI,EAAI,IAEpB4E,EAAK,GAAK,CAAC/C,EAAG,CAAC,EACjB,OAAAA,EAAG,OAAS,EAERD,GAGFgD,GAAM5E,EAAE,EAAI,EAGZ6B,EAAG,CAAC,EAAIkD,IAAQjH,EAAW8G,EAAK9G,GAAYA,CAAQ,EACpDkC,EAAE,EAAI,CAAC4E,GAAM,GAIb/C,EAAG,CAAC,EAAI7B,EAAE,EAAI,EAGTA,EAkBT,GAdIJ,GAAK,GACPiC,EAAG,OAASgD,EACZ/D,EAAI,EACJ+D,MAEAhD,EAAG,OAASgD,EAAK,EACjB/D,EAAIiE,GAAOjH,EAAW8B,CAAC,EAIvBiC,EAAGgD,CAAE,EAAIvD,EAAI,EAAI5D,EAAU4C,EAAIyE,GAAOpD,EAAIL,CAAC,EAAIyD,GAAOzD,CAAC,CAAC,EAAIR,EAAI,GAI9Dc,EAEF,OAGE,GAAIiD,GAAM,EAAG,CAGX,IAAKjF,EAAI,EAAG0B,EAAIO,EAAG,CAAC,EAAGP,GAAK,GAAIA,GAAK,GAAI1B,IAAI,CAE7C,IADA0B,EAAIO,EAAG,CAAC,GAAKf,EACRA,EAAI,EAAGQ,GAAK,GAAIA,GAAK,GAAIR,IAAI,CAG9BlB,GAAKkB,IACPd,EAAE,IACE6B,EAAG,CAAC,GAAKhE,IAAMgE,EAAG,CAAC,EAAI,IAG7B,KACF,KAAO,CAEL,GADAA,EAAGgD,CAAE,GAAK/D,EACNe,EAAGgD,CAAE,GAAKhH,EAAM,MACpBgE,EAAGgD,GAAI,EAAI,EACX/D,EAAI,CACN,CAKJ,IAAKlB,EAAIiC,EAAG,OAAQA,EAAG,EAAEjC,CAAC,IAAM,EAAGiC,EAAG,IAAI,EAAE,CAC9C,CAGI7B,EAAE,EAAIjB,GACRiB,EAAE,EAAIA,EAAE,EAAI,KAGHA,EAAE,EAAIlB,KACfkB,EAAE,EAAI,CAACA,EAAE,EAAI,CAAC,EAElB,CAEA,OAAOA,CACT,CA3JSG,EAAAD,GAAA,SA8JT,SAAS8E,GAAQ1E,EAAG,CAClB,IAAIP,EACFJ,EAAIW,EAAE,EAER,OAAIX,IAAM,KAAaW,EAAE,SAAS,GAElCP,EAAMkC,EAAc3B,EAAE,CAAC,EAEvBP,EAAMJ,GAAKf,IAAce,GAAKd,GAC1BsF,GAAcpE,EAAKJ,CAAC,EACpBqC,GAAajC,EAAKJ,EAAG,GAAG,EAErBW,EAAE,EAAI,EAAI,IAAMP,EAAMA,EAC/B,CAbS,OAAAI,EAAA6E,GAAA,WAsBTxG,EAAE,cAAgBA,EAAE,IAAM,UAAY,CACpC,IAAIwB,EAAI,IAAIzC,EAAU,IAAI,EAC1B,OAAIyC,EAAE,EAAI,IAAGA,EAAE,EAAI,GACZA,CACT,EAUAxB,EAAE,WAAa,SAAUsD,EAAGvC,EAAG,CAC7B,OAAOoD,EAAQ,KAAM,IAAIpF,EAAUuE,EAAGvC,CAAC,CAAC,CAC1C,EAgBAf,EAAE,cAAgBA,EAAE,GAAK,SAAUoC,EAAImB,EAAI,CACzC,IAAItC,EAAGa,EAAGhB,EACRU,EAAI,KAEN,GAAIY,GAAM,KACR,OAAAX,EAASW,EAAI,EAAG1C,CAAG,EACf6D,GAAM,KAAMA,EAAKpD,GAChBsB,EAAS8B,EAAI,EAAG,CAAC,EAEf7B,GAAM,IAAI3C,EAAUyC,CAAC,EAAGY,EAAKZ,EAAE,EAAI,EAAG+B,CAAE,EAGjD,GAAI,EAAEtC,EAAIO,EAAE,GAAI,OAAO,KAIvB,GAHAM,IAAMhB,EAAIG,EAAE,OAAS,GAAKqE,EAAS,KAAK,EAAIhG,CAAQ,GAAKA,EAGrDwB,EAAIG,EAAEH,CAAC,EAAG,KAAOA,EAAI,IAAM,EAAGA,GAAK,GAAIgB,IAAI,CAC/C,OAAIA,EAAI,IAAGA,EAAI,GAERA,CACT,EAuBA9B,EAAE,UAAYA,EAAE,IAAM,SAAUsD,EAAGvC,EAAG,CACpC,OAAOlB,EAAI,KAAM,IAAId,EAAUuE,EAAGvC,CAAC,EAAGb,GAAgBC,EAAa,CACrE,EAOAH,EAAE,mBAAqBA,EAAE,KAAO,SAAUsD,EAAGvC,EAAG,CAC9C,OAAOlB,EAAI,KAAM,IAAId,EAAUuE,EAAGvC,CAAC,EAAG,EAAG,CAAC,CAC5C,EAkBAf,EAAE,gBAAkBA,EAAE,IAAM,SAAU8B,EAAG8B,EAAG,CAC1C,IAAI6C,EAAMC,EAAUtF,EAAGkB,EAAGkC,EAAMmC,EAAQC,EAAQC,EAAQvD,EACtD9B,EAAI,KAKN,GAHAM,EAAI,IAAI/C,EAAU+C,CAAC,EAGfA,EAAE,GAAK,CAACA,EAAE,UAAU,EACtB,MAAM,MACH3C,EAAiB,4BAA8BqH,GAAQ1E,CAAC,CAAC,EAS9D,GANI8B,GAAK,OAAMA,EAAI,IAAI7E,EAAU6E,CAAC,GAGlC+C,EAAS7E,EAAE,EAAI,GAGX,CAACN,EAAE,GAAK,CAACA,EAAE,EAAE,CAAC,GAAKA,EAAE,EAAE,CAAC,GAAK,GAAK,CAACA,EAAE,GAAKA,EAAE,EAAE,QAAU,GAAK,CAACM,EAAE,GAAK,CAACA,EAAE,EAAE,CAAC,EAI7E,OAAAwB,EAAI,IAAIvE,EAAU,KAAK,IAAI,CAACyH,GAAQhF,CAAC,EAAGmF,EAAS7E,EAAE,GAAK,EAAIgF,EAAMhF,CAAC,GAAK,CAAC0E,GAAQ1E,CAAC,CAAC,CAAC,EAC7E8B,EAAIN,EAAE,IAAIM,CAAC,EAAIN,EAKxB,GAFAsD,EAAS9E,EAAE,EAAI,EAEX8B,EAAG,CAGL,GAAIA,EAAE,EAAI,CAACA,EAAE,EAAE,CAAC,EAAI,CAACA,EAAE,EAAG,OAAO,IAAI7E,EAAU,GAAG,EAElD2H,EAAW,CAACE,GAAUpF,EAAE,UAAU,GAAKoC,EAAE,UAAU,EAE/C8C,IAAUlF,EAAIA,EAAE,IAAIoC,CAAC,EAI3B,KAAO,IAAI9B,EAAE,EAAI,IAAMN,EAAE,EAAI,GAAKA,EAAE,EAAI,KAAOA,EAAE,GAAK,EAElDA,EAAE,EAAE,CAAC,EAAI,GAAKmF,GAAUnF,EAAE,EAAE,CAAC,GAAK,KAElCA,EAAE,EAAE,CAAC,EAAI,MAAQmF,GAAUnF,EAAE,EAAE,CAAC,GAAK,YAGvC,OAAAc,EAAId,EAAE,EAAI,GAAKsF,EAAMhF,CAAC,EAAI,GAAK,EAG3BN,EAAE,EAAI,KAAIc,EAAI,EAAIA,GAGf,IAAIvD,EAAU6H,EAAS,EAAItE,EAAIA,CAAC,EAE9B5B,KAKT4B,EAAIrD,EAASyB,GAAgBpB,EAAW,CAAC,GAe3C,IAZIqH,GACFF,EAAO,IAAI1H,EAAU,EAAG,EACpB6H,IAAQ9E,EAAE,EAAI,GAClB+E,EAASC,EAAMhF,CAAC,IAEhBV,EAAI,KAAK,IAAI,CAACoF,GAAQ1E,CAAC,CAAC,EACxB+E,EAASzF,EAAI,GAGfkC,EAAI,IAAIvE,EAAUkB,EAAG,IAGX,CAER,GAAI4G,EAAQ,CAEV,GADAvD,EAAIA,EAAE,MAAM9B,CAAC,EACT,CAAC8B,EAAE,EAAG,MAENhB,EACEgB,EAAE,EAAE,OAAShB,IAAGgB,EAAE,EAAE,OAAShB,GACxBoE,IACTpD,EAAIA,EAAE,IAAIM,CAAC,EAEf,CAEA,GAAIxC,EAAG,CAEL,GADAA,EAAIlC,EAAUkC,EAAI,CAAC,EACfA,IAAM,EAAG,MACbyF,EAASzF,EAAI,CACf,SACEU,EAAIA,EAAE,MAAM2E,CAAI,EAChB/E,GAAMI,EAAGA,EAAE,EAAI,EAAG,CAAC,EAEfA,EAAE,EAAI,GACR+E,EAASC,EAAMhF,CAAC,MACX,CAEL,GADAV,EAAI,CAACoF,GAAQ1E,CAAC,EACVV,IAAM,EAAG,MACbyF,EAASzF,EAAI,CACf,CAGFI,EAAIA,EAAE,MAAMA,CAAC,EAETc,EACEd,EAAE,GAAKA,EAAE,EAAE,OAASc,IAAGd,EAAE,EAAE,OAASc,GAC/BoE,IACTlF,EAAIA,EAAE,IAAIoC,CAAC,EAEf,CAEA,OAAI8C,EAAiBpD,GACjBsD,IAAQtD,EAAIrD,GAAI,IAAIqD,CAAC,GAElBM,EAAIN,EAAE,IAAIM,CAAC,EAAItB,EAAIZ,GAAM4B,EAAG5C,GAAeP,GAAeqE,CAAI,EAAIlB,EAC3E,EAWAtD,EAAE,aAAe,SAAUuD,EAAI,CAC7B,IAAIzB,EAAI,IAAI/C,EAAU,IAAI,EAC1B,OAAIwE,GAAM,KAAMA,EAAKpD,GAChBsB,EAAS8B,EAAI,EAAG,CAAC,EACf7B,GAAMI,EAAGA,EAAE,EAAI,EAAGyB,CAAE,CAC7B,EAOAvD,EAAE,UAAYA,EAAE,GAAK,SAAUsD,EAAGvC,EAAG,CACnC,OAAOoD,EAAQ,KAAM,IAAIpF,EAAUuE,EAAGvC,CAAC,CAAC,IAAM,CAChD,EAMAf,EAAE,SAAW,UAAY,CACvB,MAAO,CAAC,CAAC,KAAK,CAChB,EAOAA,EAAE,cAAgBA,EAAE,GAAK,SAAUsD,EAAGvC,EAAG,CACvC,OAAOoD,EAAQ,KAAM,IAAIpF,EAAUuE,EAAGvC,CAAC,CAAC,EAAI,CAC9C,EAOAf,EAAE,uBAAyBA,EAAE,IAAM,SAAUsD,EAAGvC,EAAG,CACjD,OAAQA,EAAIoD,EAAQ,KAAM,IAAIpF,EAAUuE,EAAGvC,CAAC,CAAC,KAAO,GAAKA,IAAM,CAEjE,EAMAf,EAAE,UAAY,UAAY,CACxB,MAAO,CAAC,CAAC,KAAK,GAAKsF,EAAS,KAAK,EAAIhG,CAAQ,EAAI,KAAK,EAAE,OAAS,CACnE,EAOAU,EAAE,WAAaA,EAAE,GAAK,SAAUsD,EAAGvC,EAAG,CACpC,OAAOoD,EAAQ,KAAM,IAAIpF,EAAUuE,EAAGvC,CAAC,CAAC,EAAI,CAC9C,EAOAf,EAAE,oBAAsBA,EAAE,IAAM,SAAUsD,EAAGvC,EAAG,CAC9C,OAAQA,EAAIoD,EAAQ,KAAM,IAAIpF,EAAUuE,EAAGvC,CAAC,CAAC,KAAO,IAAMA,IAAM,CAClE,EAMAf,EAAE,MAAQ,UAAY,CACpB,MAAO,CAAC,KAAK,CACf,EAMAA,EAAE,WAAa,UAAY,CACzB,OAAO,KAAK,EAAI,CAClB,EAMAA,EAAE,WAAa,UAAY,CACzB,OAAO,KAAK,EAAI,CAClB,EAMAA,EAAE,OAAS,UAAY,CACrB,MAAO,CAAC,CAAC,KAAK,GAAK,KAAK,EAAE,CAAC,GAAK,CAClC,EAuBAA,EAAE,MAAQ,SAAUsD,EAAGvC,EAAG,CACxB,IAAIK,EAAG0B,EAAGiE,EAAGC,EACXxF,EAAI,KACJa,EAAIb,EAAE,EAMR,GAJA8B,EAAI,IAAIvE,EAAUuE,EAAGvC,CAAC,EACtBA,EAAIuC,EAAE,EAGF,CAACjB,GAAK,CAACtB,EAAG,OAAO,IAAIhC,EAAU,GAAG,EAGtC,GAAIsD,GAAKtB,EACP,OAAAuC,EAAE,EAAI,CAACvC,EACAS,EAAE,KAAK8B,CAAC,EAGjB,IAAI2D,EAAKzF,EAAE,EAAIlC,EACb4H,EAAK5D,EAAE,EAAIhE,EACX+D,EAAK7B,EAAE,EACP6D,EAAK/B,EAAE,EAET,GAAI,CAAC2D,GAAM,CAACC,EAAI,CAGd,GAAI,CAAC7D,GAAM,CAACgC,EAAI,OAAOhC,GAAMC,EAAE,EAAI,CAACvC,EAAGuC,GAAK,IAAIvE,EAAUsG,EAAK7D,EAAI,GAAG,EAGtE,GAAI,CAAC6B,EAAG,CAAC,GAAK,CAACgC,EAAG,CAAC,EAGjB,OAAOA,EAAG,CAAC,GAAK/B,EAAE,EAAI,CAACvC,EAAGuC,GAAK,IAAIvE,EAAUsE,EAAG,CAAC,EAAI7B,EAGpDrB,IAAiB,EAAI,GAAK,CAAC,CAEhC,CAOA,GALA8G,EAAK3B,EAAS2B,CAAE,EAChBC,EAAK5B,EAAS4B,CAAE,EAChB7D,EAAKA,EAAG,MAAM,EAGVhB,EAAI4E,EAAKC,EAAI,CAaf,KAXIF,EAAO3E,EAAI,IACbA,EAAI,CAACA,EACL0E,EAAI1D,IAEJ6D,EAAKD,EACLF,EAAI1B,GAGN0B,EAAE,QAAQ,EAGLhG,EAAIsB,EAAGtB,IAAKgG,EAAE,KAAK,CAAC,EAAE,CAC3BA,EAAE,QAAQ,CACZ,KAKE,KAFAjE,GAAKkE,GAAQ3E,EAAIgB,EAAG,SAAWtC,EAAIsE,EAAG,SAAWhD,EAAItB,EAEhDsB,EAAItB,EAAI,EAAGA,EAAI+B,EAAG/B,IAErB,GAAIsC,EAAGtC,CAAC,GAAKsE,EAAGtE,CAAC,EAAG,CAClBiG,EAAO3D,EAAGtC,CAAC,EAAIsE,EAAGtE,CAAC,EACnB,KACF,CAgBJ,GAXIiG,IACFD,EAAI1D,EACJA,EAAKgC,EACLA,EAAK0B,EACLzD,EAAE,EAAI,CAACA,EAAE,GAGXvC,GAAK+B,EAAIuC,EAAG,SAAWjE,EAAIiC,EAAG,QAI1BtC,EAAI,EAAG,KAAOA,IAAKsC,EAAGjC,GAAG,EAAI,EAAE,CAInC,IAHAL,EAAI1B,EAAO,EAGJyD,EAAIT,GAAI,CAEb,GAAIgB,EAAG,EAAEP,CAAC,EAAIuC,EAAGvC,CAAC,EAAG,CACnB,IAAK1B,EAAI0B,EAAG1B,GAAK,CAACiC,EAAG,EAAEjC,CAAC,EAAGiC,EAAGjC,CAAC,EAAIL,EAAE,CACrC,EAAEsC,EAAGjC,CAAC,EACNiC,EAAGP,CAAC,GAAKzD,CACX,CAEAgE,EAAGP,CAAC,GAAKuC,EAAGvC,CAAC,CACf,CAGA,KAAOO,EAAG,CAAC,GAAK,EAAGA,EAAG,OAAO,EAAG,CAAC,EAAG,EAAE6D,EAAG,CAGzC,OAAK7D,EAAG,CAAC,EAWFuC,GAAUtC,EAAGD,EAAI6D,CAAE,GAPxB5D,EAAE,EAAInD,IAAiB,EAAI,GAAK,EAChCmD,EAAE,EAAI,CAACA,EAAE,EAAI,CAAC,EACPA,EAMX,EAwBAtD,EAAE,OAASA,EAAE,IAAM,SAAUsD,EAAGvC,EAAG,CACjC,IAAI4D,EAAG5C,EACLP,EAAI,KAKN,OAHA8B,EAAI,IAAIvE,EAAUuE,EAAGvC,CAAC,EAGlB,CAACS,EAAE,GAAK,CAAC8B,EAAE,GAAKA,EAAE,GAAK,CAACA,EAAE,EAAE,CAAC,EACxB,IAAIvE,EAAU,GAAG,EAGf,CAACuE,EAAE,GAAK9B,EAAE,GAAK,CAACA,EAAE,EAAE,CAAC,EACvB,IAAIzC,EAAUyC,CAAC,GAGpBf,IAAe,GAIjBsB,EAAIuB,EAAE,EACNA,EAAE,EAAI,EACNqB,EAAI9E,EAAI2B,EAAG8B,EAAG,EAAG,CAAC,EAClBA,EAAE,EAAIvB,EACN4C,EAAE,GAAK5C,GAEP4C,EAAI9E,EAAI2B,EAAG8B,EAAG,EAAG7C,EAAW,EAG9B6C,EAAI9B,EAAE,MAAMmD,EAAE,MAAMrB,CAAC,CAAC,EAGlB,CAACA,EAAE,EAAE,CAAC,GAAK7C,IAAe,IAAG6C,EAAE,EAAI9B,EAAE,GAElC8B,EACT,EAuBAtD,EAAE,aAAeA,EAAE,MAAQ,SAAUsD,EAAGvC,EAAG,CACzC,IAAIE,EAAGE,EAAGC,EAAG0B,EAAGR,EAAGsB,EAAGuD,EAAKrD,EAAKC,EAAKqD,EAAKC,GAAKC,GAAKC,GAClD5D,GAAM6D,GACNhG,GAAI,KACJ6B,GAAK7B,GAAE,EACP6D,IAAM/B,EAAI,IAAIvE,EAAUuE,EAAGvC,CAAC,GAAG,EAGjC,GAAI,CAACsC,IAAM,CAACgC,IAAM,CAAChC,GAAG,CAAC,GAAK,CAACgC,GAAG,CAAC,EAG/B,MAAI,CAAC7D,GAAE,GAAK,CAAC8B,EAAE,GAAKD,IAAM,CAACA,GAAG,CAAC,GAAK,CAACgC,IAAMA,IAAM,CAACA,GAAG,CAAC,GAAK,CAAChC,GAC1DC,EAAE,EAAIA,EAAE,EAAIA,EAAE,EAAI,MAElBA,EAAE,GAAK9B,GAAE,EAGL,CAAC6B,IAAM,CAACgC,GACV/B,EAAE,EAAIA,EAAE,EAAI,MAIZA,EAAE,EAAI,CAAC,CAAC,EACRA,EAAE,EAAI,IAIHA,EAmBT,IAhBAnC,EAAImE,EAAS9D,GAAE,EAAIlC,CAAQ,EAAIgG,EAAShC,EAAE,EAAIhE,CAAQ,EACtDgE,EAAE,GAAK9B,GAAE,EACT2F,EAAM9D,GAAG,OACT+D,EAAM/B,GAAG,OAGL8B,EAAMC,IACRG,GAAKlE,GACLA,GAAKgC,GACLA,GAAKkC,GACLnG,EAAI+F,EACJA,EAAMC,EACNA,EAAMhG,GAIHA,EAAI+F,EAAMC,EAAKG,GAAK,CAAC,EAAGnG,IAAKmG,GAAG,KAAK,CAAC,EAAE,CAK7C,IAHA5D,GAAOtE,EACPmI,GAAW/H,EAEN2B,EAAIgG,EAAK,EAAEhG,GAAK,GAAI,CAKvB,IAJAH,EAAI,EACJoG,GAAMhC,GAAGjE,CAAC,EAAIoG,GACdF,GAAMjC,GAAGjE,CAAC,EAAIoG,GAAW,EAEpBlF,EAAI6E,EAAKrE,EAAI1B,EAAIkB,EAAGQ,EAAI1B,GAC3B0C,EAAMT,GAAG,EAAEf,CAAC,EAAIkF,GAChBzD,EAAMV,GAAGf,CAAC,EAAIkF,GAAW,EACzB5D,EAAI0D,GAAMxD,EAAMC,EAAMsD,GACtBvD,EAAMuD,GAAMvD,EAAQF,EAAI4D,GAAYA,GAAYD,GAAGzE,CAAC,EAAI7B,EACxDA,GAAK6C,EAAMH,GAAO,IAAMC,EAAI4D,GAAW,GAAKF,GAAMvD,EAClDwD,GAAGzE,GAAG,EAAIgB,EAAMH,GAGlB4D,GAAGzE,CAAC,EAAI7B,CACV,CAEA,OAAIA,EACF,EAAEE,EAEFoG,GAAG,OAAO,EAAG,CAAC,EAGT3B,GAAUtC,EAAGiE,GAAIpG,CAAC,CAC3B,EAOAnB,EAAE,QAAU,UAAY,CACtB,IAAIwB,EAAI,IAAIzC,EAAU,IAAI,EAC1B,OAAAyC,EAAE,EAAI,CAACA,EAAE,GAAK,KACPA,CACT,EAuBAxB,EAAE,KAAO,SAAUsD,EAAGvC,EAAG,CACvB,IAAIgG,EACFvF,EAAI,KACJa,EAAIb,EAAE,EAMR,GAJA8B,EAAI,IAAIvE,EAAUuE,EAAGvC,CAAC,EACtBA,EAAIuC,EAAE,EAGF,CAACjB,GAAK,CAACtB,EAAG,OAAO,IAAIhC,EAAU,GAAG,EAGrC,GAAIsD,GAAKtB,EACR,OAAAuC,EAAE,EAAI,CAACvC,EACAS,EAAE,MAAM8B,CAAC,EAGlB,IAAI2D,EAAKzF,EAAE,EAAIlC,EACb4H,EAAK5D,EAAE,EAAIhE,EACX+D,EAAK7B,EAAE,EACP6D,EAAK/B,EAAE,EAET,GAAI,CAAC2D,GAAM,CAACC,EAAI,CAGd,GAAI,CAAC7D,GAAM,CAACgC,EAAI,OAAO,IAAItG,EAAUsD,EAAI,CAAC,EAI1C,GAAI,CAACgB,EAAG,CAAC,GAAK,CAACgC,EAAG,CAAC,EAAG,OAAOA,EAAG,CAAC,EAAI/B,EAAI,IAAIvE,EAAUsE,EAAG,CAAC,EAAI7B,EAAIa,EAAI,CAAC,CAC1E,CAOA,GALA4E,EAAK3B,EAAS2B,CAAE,EAChBC,EAAK5B,EAAS4B,CAAE,EAChB7D,EAAKA,EAAG,MAAM,EAGVhB,EAAI4E,EAAKC,EAAI,CAUf,IATI7E,EAAI,GACN6E,EAAKD,EACLF,EAAI1B,IAEJhD,EAAI,CAACA,EACL0E,EAAI1D,GAGN0D,EAAE,QAAQ,EACH1E,IAAK0E,EAAE,KAAK,CAAC,EAAE,CACtBA,EAAE,QAAQ,CACZ,CAcA,IAZA1E,EAAIgB,EAAG,OACPtC,EAAIsE,EAAG,OAGHhD,EAAItB,EAAI,IACVgG,EAAI1B,EACJA,EAAKhC,EACLA,EAAK0D,EACLhG,EAAIsB,GAIDA,EAAI,EAAGtB,GACVsB,GAAKgB,EAAG,EAAEtC,CAAC,EAAIsC,EAAGtC,CAAC,EAAIsE,EAAGtE,CAAC,EAAIsB,GAAKhD,EAAO,EAC3CgE,EAAGtC,CAAC,EAAI1B,IAASgE,EAAGtC,CAAC,EAAI,EAAIsC,EAAGtC,CAAC,EAAI1B,EAGvC,OAAIgD,IACFgB,EAAK,CAAChB,CAAC,EAAE,OAAOgB,CAAE,EAClB,EAAE6D,GAKGtB,GAAUtC,EAAGD,EAAI6D,CAAE,CAC5B,EAkBAlH,EAAE,UAAYA,EAAE,GAAK,SAAUoG,EAAI7C,EAAI,CACrC,IAAItC,EAAGa,EAAGhB,EACRU,EAAI,KAEN,GAAI4E,GAAM,MAAQA,IAAO,CAAC,CAACA,EACzB,OAAA3E,EAAS2E,EAAI,EAAG1G,CAAG,EACf6D,GAAM,KAAMA,EAAKpD,GAChBsB,EAAS8B,EAAI,EAAG,CAAC,EAEf7B,GAAM,IAAI3C,EAAUyC,CAAC,EAAG4E,EAAI7C,CAAE,EAGvC,GAAI,EAAEtC,EAAIO,EAAE,GAAI,OAAO,KAIvB,GAHAV,EAAIG,EAAE,OAAS,EACfa,EAAIhB,EAAIxB,EAAW,EAEfwB,EAAIG,EAAEH,CAAC,EAAG,CAGZ,KAAOA,EAAI,IAAM,EAAGA,GAAK,GAAIgB,IAAI,CAGjC,IAAKhB,EAAIG,EAAE,CAAC,EAAGH,GAAK,GAAIA,GAAK,GAAIgB,IAAI,CACvC,CAEA,OAAIsE,GAAM5E,EAAE,EAAI,EAAIM,IAAGA,EAAIN,EAAE,EAAI,GAE1BM,CACT,EAWA9B,EAAE,UAAY,SAAUsC,EAAG,CACzB,OAAAb,EAASa,EAAG,CAAC/C,EAAkBA,CAAgB,EACxC,KAAK,MAAM,KAAO+C,CAAC,CAC5B,EAcAtC,EAAE,WAAaA,EAAE,KAAO,UAAY,CAClC,IAAI,EAAG8B,EAAGsB,EAAGqE,EAAKV,EAChBvF,EAAI,KACJP,EAAIO,EAAE,EACNO,EAAIP,EAAE,EACNL,EAAIK,EAAE,EACNY,EAAKlC,GAAiB,EACtBuG,EAAO,IAAI1H,EAAU,KAAK,EAG5B,GAAIgD,IAAM,GAAK,CAACd,GAAK,CAACA,EAAE,CAAC,EACvB,OAAO,IAAIlC,EAAU,CAACgD,GAAKA,EAAI,IAAM,CAACd,GAAKA,EAAE,CAAC,GAAK,IAAMA,EAAIO,EAAI,GAAK,EA8BxE,GA1BAO,EAAI,KAAK,KAAK,CAACyE,GAAQhF,CAAC,CAAC,EAIrBO,GAAK,GAAKA,GAAK,KACjBD,EAAI2B,EAAcxC,CAAC,GACda,EAAE,OAASX,GAAK,GAAK,IAAGW,GAAK,KAClCC,EAAI,KAAK,KAAK,CAACD,CAAC,EAChBX,EAAImE,GAAUnE,EAAI,GAAK,CAAC,GAAKA,EAAI,GAAKA,EAAI,GAEtCY,GAAK,IACPD,EAAI,KAAOX,GAEXW,EAAIC,EAAE,cAAc,EACpBD,EAAIA,EAAE,MAAM,EAAGA,EAAE,QAAQ,GAAG,EAAI,CAAC,EAAIX,GAGvCiC,EAAI,IAAIrE,EAAU+C,CAAC,GAEnBsB,EAAI,IAAIrE,EAAUgD,EAAI,EAAE,EAOtBqB,EAAE,EAAE,CAAC,GAMP,IALAjC,EAAIiC,EAAE,EACNrB,EAAIZ,EAAIiB,EACJL,EAAI,IAAGA,EAAI,KAOb,GAHAgF,EAAI3D,EACJA,EAAIqD,EAAK,MAAMM,EAAE,KAAKlH,EAAI2B,EAAGuF,EAAG3E,EAAI,CAAC,CAAC,CAAC,EAEnCqB,EAAcsD,EAAE,CAAC,EAAE,MAAM,EAAGhF,CAAC,KAAOD,EAAI2B,EAAcL,EAAE,CAAC,GAAG,MAAM,EAAGrB,CAAC,EAWxE,GANIqB,EAAE,EAAIjC,GAAG,EAAEY,EACfD,EAAIA,EAAE,MAAMC,EAAI,EAAGA,EAAI,CAAC,EAKpBD,GAAK,QAAU,CAAC2F,GAAO3F,GAAK,OAAQ,CAItC,GAAI,CAAC2F,IACH/F,GAAMqF,EAAGA,EAAE,EAAI7G,GAAiB,EAAG,CAAC,EAEhC6G,EAAE,MAAMA,CAAC,EAAE,GAAGvF,CAAC,GAAG,CACpB4B,EAAI2D,EACJ,KACF,CAGF3E,GAAM,EACNL,GAAK,EACL0F,EAAM,CACR,KAAO,EAID,CAAC,CAAC3F,GAAK,CAAC,CAACA,EAAE,MAAM,CAAC,GAAKA,EAAE,OAAO,CAAC,GAAK,OAGxCJ,GAAM0B,EAAGA,EAAE,EAAIlD,GAAiB,EAAG,CAAC,EACpC,EAAI,CAACkD,EAAE,MAAMA,CAAC,EAAE,GAAG5B,CAAC,GAGtB,KACF,EAKN,OAAOE,GAAM0B,EAAGA,EAAE,EAAIlD,GAAiB,EAAGC,GAAe,CAAC,CAC5D,EAYAH,EAAE,cAAgB,SAAUoC,EAAImB,EAAI,CAClC,OAAInB,GAAM,OACRX,EAASW,EAAI,EAAG1C,CAAG,EACnB0C,KAEKmD,GAAO,KAAMnD,EAAImB,EAAI,CAAC,CAC/B,EAeAvD,EAAE,QAAU,SAAUoC,EAAImB,EAAI,CAC5B,OAAInB,GAAM,OACRX,EAASW,EAAI,EAAG1C,CAAG,EACnB0C,EAAKA,EAAK,KAAK,EAAI,GAEdmD,GAAO,KAAMnD,EAAImB,CAAE,CAC5B,EA4BAvD,EAAE,SAAW,SAAUoC,EAAImB,EAAIgC,EAAQ,CACrC,IAAIhE,EACFC,EAAI,KAEN,GAAI+D,GAAU,KACRnD,GAAM,MAAQmB,GAAM,OAAOA,GAAM,UACnCgC,EAAShC,EACTA,EAAK,MACInB,GAAM,OAAOA,GAAM,UAC5BmD,EAASnD,EACTA,EAAKmB,EAAK,MAEVgC,EAAS5E,WAEF,OAAO4E,GAAU,SAC1B,MAAM,MACHpG,EAAiB,2BAA6BoG,CAAM,EAKzD,GAFAhE,EAAMC,EAAE,QAAQY,EAAImB,CAAE,EAElB/B,EAAE,EAAG,CACP,IAAIJ,EACF2B,EAAMxB,EAAI,MAAM,GAAG,EACnBmG,EAAK,CAACnC,EAAO,UACboC,EAAK,CAACpC,EAAO,mBACbqC,EAAiBrC,EAAO,gBAAkB,GAC1CsC,EAAU9E,EAAI,CAAC,EACf+E,EAAe/E,EAAI,CAAC,EACpBgF,GAAQvG,EAAE,EAAI,EACdwG,GAAYD,GAAQF,EAAQ,MAAM,CAAC,EAAIA,EACvCvG,GAAM0G,GAAU,OASlB,GAPIL,IACFvG,EAAIsG,EACJA,EAAKC,EACLA,EAAKvG,EACLE,IAAOF,GAGLsG,EAAK,GAAKpG,GAAM,EAAG,CAGrB,IAFAF,EAAIE,GAAMoG,GAAMA,EAChBG,EAAUG,GAAU,OAAO,EAAG5G,CAAC,EACxBA,EAAIE,GAAKF,GAAKsG,EAAIG,GAAWD,EAAiBI,GAAU,OAAO5G,EAAGsG,CAAE,EACvEC,EAAK,IAAGE,GAAWD,EAAiBI,GAAU,MAAM5G,CAAC,GACrD2G,KAAOF,EAAU,IAAMA,EAC7B,CAEAtG,EAAMuG,EACHD,GAAWtC,EAAO,kBAAoB,MAAQoC,EAAK,CAACpC,EAAO,mBAC1DuC,EAAa,QAAQ,IAAI,OAAO,OAASH,EAAK,OAAQ,GAAG,EAC1D,MAAQpC,EAAO,wBAA0B,GAAG,EAC3CuC,GACDD,CACL,CAEA,OAAQtC,EAAO,QAAU,IAAMhE,GAAOgE,EAAO,QAAU,GACzD,EAcAvF,EAAE,WAAa,SAAUiI,EAAI,CAC3B,IAAI9E,EAAG+E,EAAIC,EAAIC,EAAIjH,EAAGkH,EAAKvG,EAAGwG,EAAIC,EAAI5D,EAAGvB,EAAGrB,GAC1CP,GAAI,KACJ6B,GAAK7B,GAAE,EAET,GAAIyG,GAAM,OACRnG,EAAI,IAAI/C,EAAUkJ,CAAE,EAGhB,CAACnG,EAAE,UAAU,IAAMA,EAAE,GAAKA,EAAE,IAAM,IAAMA,EAAE,GAAG7B,EAAG,GAClD,MAAM,MACHd,EAAiB,aACf2C,EAAE,UAAU,EAAI,iBAAmB,oBAAsB0E,GAAQ1E,CAAC,CAAC,EAI5E,GAAI,CAACuB,GAAI,OAAO,IAAItE,EAAUyC,EAAC,EAoB/B,IAlBA2B,EAAI,IAAIpE,EAAUkB,EAAG,EACrBsI,EAAKL,EAAK,IAAInJ,EAAUkB,EAAG,EAC3BkI,EAAKG,EAAK,IAAIvJ,EAAUkB,EAAG,EAC3B8B,GAAI0B,EAAcJ,EAAE,EAIpBlC,EAAIgC,EAAE,EAAIpB,GAAE,OAASP,GAAE,EAAI,EAC3B2B,EAAE,EAAE,CAAC,EAAI3D,GAAU6I,EAAMlH,EAAI7B,GAAY,EAAIA,EAAW+I,EAAMA,CAAG,EACjEJ,EAAK,CAACA,GAAMnG,EAAE,WAAWqB,CAAC,EAAI,EAAKhC,EAAI,EAAIgC,EAAIoF,EAAMzG,EAErDuG,EAAM9H,GACNA,GAAU,IACVuB,EAAI,IAAI/C,EAAUgD,EAAC,EAGnBuG,EAAG,EAAE,CAAC,EAAI,EAGR3D,EAAI9E,EAAIiC,EAAGqB,EAAG,EAAG,CAAC,EAClBiF,EAAKF,EAAG,KAAKvD,EAAE,MAAMwD,CAAE,CAAC,EACpBC,EAAG,WAAWH,CAAE,GAAK,GACzBC,EAAKC,EACLA,EAAKC,EACLG,EAAKD,EAAG,KAAK3D,EAAE,MAAMyD,EAAKG,CAAE,CAAC,EAC7BD,EAAKF,EACLjF,EAAIrB,EAAE,MAAM6C,EAAE,MAAMyD,EAAKjF,CAAC,CAAC,EAC3BrB,EAAIsG,EAGN,OAAAA,EAAKvI,EAAIoI,EAAG,MAAMC,CAAE,EAAGC,EAAI,EAAG,CAAC,EAC/BG,EAAKA,EAAG,KAAKF,EAAG,MAAMG,CAAE,CAAC,EACzBL,EAAKA,EAAG,KAAKE,EAAG,MAAMD,CAAE,CAAC,EACzBG,EAAG,EAAIC,EAAG,EAAI/G,GAAE,EAChBL,EAAIA,EAAI,EAGRiC,EAAIvD,EAAI0I,EAAIJ,EAAIhH,EAAGhB,EAAa,EAAE,MAAMqB,EAAC,EAAE,IAAI,EAAE,WAC7C3B,EAAIyI,EAAIJ,EAAI/G,EAAGhB,EAAa,EAAE,MAAMqB,EAAC,EAAE,IAAI,CAAC,EAAI,EAAI,CAAC+G,EAAIJ,CAAE,EAAI,CAACG,EAAIJ,CAAE,EAE1E3H,GAAU8H,EAEHjF,CACT,EAMApD,EAAE,SAAW,UAAY,CACvB,MAAO,CAACwG,GAAQ,IAAI,CACtB,EAcAxG,EAAE,YAAc,SAAUoG,EAAI7C,EAAI,CAChC,OAAI6C,GAAM,MAAM3E,EAAS2E,EAAI,EAAG1G,CAAG,EAC5B6F,GAAO,KAAMa,EAAI7C,EAAI,CAAC,CAC/B,EAcAvD,EAAE,SAAW,SAAUe,EAAG,CACxB,IAAIQ,EACFO,EAAI,KACJC,EAAID,EAAE,EACNX,EAAIW,EAAE,EAGR,OAAIX,IAAM,KACJY,GACFR,EAAM,WACFQ,EAAI,IAAGR,EAAM,IAAMA,IAEvBA,EAAM,OAGJR,GAAK,KACPQ,EAAMJ,GAAKf,IAAce,GAAKd,GAC3BsF,GAAclC,EAAc3B,EAAE,CAAC,EAAGX,CAAC,EACnCqC,GAAaC,EAAc3B,EAAE,CAAC,EAAGX,EAAG,GAAG,EACjCJ,IAAM,IAAMF,IACrBiB,EAAIJ,GAAM,IAAI3C,EAAU+C,CAAC,EAAG5B,GAAiBiB,EAAI,EAAGhB,EAAa,EACjEoB,EAAMiC,GAAaC,EAAc3B,EAAE,CAAC,EAAGA,EAAE,EAAG,GAAG,IAE/CL,EAASV,EAAG,EAAGH,GAAS,OAAQ,MAAM,EACtCW,EAAMzB,GAAY0D,GAAaC,EAAc3B,EAAE,CAAC,EAAGX,EAAG,GAAG,EAAG,GAAIJ,EAAGgB,EAAG,EAAI,GAGxEA,EAAI,GAAKD,EAAE,EAAE,CAAC,IAAGP,EAAM,IAAMA,IAG5BA,CACT,EAOAvB,EAAE,QAAUA,EAAE,OAAS,UAAY,CACjC,OAAOwG,GAAQ,IAAI,CACrB,EAGAxG,EAAE,aAAe,GAEbJ,IAAgB,MAAMb,EAAU,IAAIa,EAAY,EAE7Cb,CACT,CAtoFS4C,EAAAhC,EAAA,SA+oFT,SAAS2F,EAASxD,GAAG,CACnB,IAAIV,EAAIU,GAAI,EACZ,OAAOA,GAAI,GAAKA,KAAMV,EAAIA,EAAIA,EAAI,CACpC,CAHSO,EAAA2D,EAAA,YAOT,SAAS7B,EAAcpB,GAAG,CAMxB,QALIN,EAAGyG,GACLpH,GAAI,EACJ0B,EAAIT,GAAE,OACNe,GAAIf,GAAE,CAAC,EAAI,GAENjB,GAAI0B,GAAI,CAGb,IAFAf,EAAIM,GAAEjB,IAAG,EAAI,GACboH,GAAIlJ,EAAWyC,EAAE,OACVyG,KAAKzG,EAAI,IAAMA,EAAE,CACxBqB,IAAKrB,CACP,CAGA,IAAKe,EAAIM,GAAE,OAAQA,GAAE,WAAW,EAAEN,CAAC,IAAM,IAAI,CAE7C,OAAOM,GAAE,MAAM,EAAGN,EAAI,GAAK,CAAC,CAC9B,CAjBSnB,EAAA8B,EAAA,iBAqBT,SAASU,EAAQ3C,GAAG8B,EAAG,CACrB,IAAIjB,GAAGtB,GACLsC,EAAK7B,GAAE,EACP6D,GAAK/B,EAAE,EACPlC,GAAII,GAAE,EACNsB,GAAIQ,EAAE,EACNhB,GAAId,GAAE,EACNiH,GAAInF,EAAE,EAGR,GAAI,CAAClC,IAAK,CAAC0B,GAAG,OAAO,KAMrB,GAJAT,GAAIgB,GAAM,CAACA,EAAG,CAAC,EACftC,GAAIsE,IAAM,CAACA,GAAG,CAAC,EAGXhD,IAAKtB,GAAG,OAAOsB,GAAItB,GAAI,EAAI,CAAC+B,GAAI1B,GAGpC,GAAIA,IAAK0B,GAAG,OAAO1B,GAMnB,GAJAiB,GAAIjB,GAAI,EACRL,GAAIuB,IAAKmG,GAGL,CAACpF,GAAM,CAACgC,GAAI,OAAOtE,GAAI,EAAI,CAACsC,EAAKhB,GAAI,EAAI,GAG7C,GAAI,CAACtB,GAAG,OAAOuB,GAAImG,GAAIpG,GAAI,EAAI,GAK/B,IAHAS,IAAKR,GAAIe,EAAG,SAAWoF,GAAIpD,GAAG,QAAU/C,GAAImG,GAGvCrH,GAAI,EAAGA,GAAI0B,GAAG1B,KAAK,GAAIiC,EAAGjC,EAAC,GAAKiE,GAAGjE,EAAC,EAAG,OAAOiC,EAAGjC,EAAC,EAAIiE,GAAGjE,EAAC,EAAIiB,GAAI,EAAI,GAG3E,OAAOC,IAAKmG,GAAI,EAAInG,GAAImG,GAAIpG,GAAI,EAAI,EACtC,CArCSV,EAAAwC,EAAA,WA2CT,SAAS1C,EAASK,GAAG4G,EAAKC,GAAKC,GAAM,CACnC,GAAI9G,GAAI4G,GAAO5G,GAAI6G,IAAO7G,KAAM5C,EAAU4C,EAAC,EACzC,MAAM,MACJ3C,GAAkByJ,IAAQ,aAAe,OAAO9G,IAAK,SAClDA,GAAI4G,GAAO5G,GAAI6G,GAAM,kBAAoB,oBACzC,6BAA+B,OAAO7G,EAAC,CAAC,CAEjD,CAPSH,EAAAF,EAAA,YAWT,SAASqF,EAAMhF,GAAG,CAChB,IAAIQ,EAAIR,GAAE,EAAE,OAAS,EACrB,OAAOwD,EAASxD,GAAE,EAAIxC,CAAQ,GAAKgD,GAAKR,GAAE,EAAEQ,CAAC,EAAI,GAAK,CACxD,CAHSX,EAAAmF,EAAA,SAMT,SAASnB,GAAcpE,GAAKJ,EAAG,CAC7B,OAAQI,GAAI,OAAS,EAAIA,GAAI,OAAO,CAAC,EAAI,IAAMA,GAAI,MAAM,CAAC,EAAIA,KAC5DJ,EAAI,EAAI,IAAM,MAAQA,CAC1B,CAHSQ,EAAAgE,GAAA,iBAMT,SAASnC,GAAajC,GAAKJ,EAAGqH,GAAG,CAC/B,IAAIlH,GAAKuH,EAGT,GAAI1H,EAAI,EAAG,CAGT,IAAK0H,EAAKL,GAAI,IAAK,EAAErH,EAAG0H,GAAML,GAAE,CAChCjH,GAAMsH,EAAKtH,EAGb,SACED,GAAMC,GAAI,OAGN,EAAEJ,EAAIG,GAAK,CACb,IAAKuH,EAAKL,GAAGrH,GAAKG,GAAK,EAAEH,EAAG0H,GAAML,GAAE,CACpCjH,IAAOsH,CACT,MAAW1H,EAAIG,KACbC,GAAMA,GAAI,MAAM,EAAGJ,CAAC,EAAI,IAAMI,GAAI,MAAMJ,CAAC,GAI7C,OAAOI,EACT,CAxBSI,EAAA6B,GAAA,gBA8BTzE,EAAYY,EAAM,EAClBZ,EAAU,QAAaA,EAAU,UAAYA,EAGzC,OAAO,QAAU,YAAc,OAAO,IACxC,OAAO,UAAY,CAAE,OAAOA,CAAW,CAAC,EAG/B,OAAOF,GAAU,KAAeA,GAAO,QAChDA,GAAO,QAAUE,GAIZD,IACHA,EAAe,OAAO,KAAQ,KAAe,KAAO,KAAO,QAG7DA,EAAa,UAAYC,EAE7B,GAAGH,EAAI,ICz2FP,IAAAkK,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,UAAY,OACpB,IAAMC,GAAU,cACVC,GAAiBD,GAAQ,gBAAgB,IAAuB,EACtED,GAAQ,UAAYE,GAAe,QAAQ,MAAM,CAC7C,eAAgB,GACpB,CAAC,ICPD,IAAAC,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,WAAaA,GAAQ,aAAeA,GAAQ,UAAYA,GAAQ,YAAc,OACtF,IAAMC,GAAU,cAChBD,GAAQ,YAAcC,GAAQ,aAAa,IAAwB,EACnED,GAAQ,UAAYC,GAAQ,aAAa,IAAsB,EAC/DD,GAAQ,aAAeC,GAAQ,aAAa,IAAyB,EACrED,GAAQ,WAAaC,GAAQ,aAAa,IAAuB,EACjEA,GAAQ,aAAa,KAAgCD,EAAO,EAC5DC,GAAQ,aAAa,KAA4BD,EAAO,EACxDC,GAAQ,aAAa,KAA6BD,EAAO,EACzDC,GAAQ,aAAa,KAA2BD,EAAO,EACvDC,GAAQ,aAAa,KAAgCD,EAAO,EAC5DC,GAAQ,aAAa,KAAmCD,EAAO,EAC/DC,GAAQ,aAAa,KAAoCD,EAAO,EAChEC,GAAQ,aAAa,KAA0BD,EAAO,EACtDC,GAAQ,aAAa,KAAiCD,EAAO,EAC7DC,GAAQ,aAAa,KAA6BD,EAAO,EACzDC,GAAQ,aAAa,KAA6BD,EAAO,EACzDC,GAAQ,aAAa,KAAoCD,EAAO,EAChEC,GAAQ,aAAa,KAAmCD,EAAO,EAC/DC,GAAQ,aAAa,KAAkCD,EAAO,EAC9DC,GAAQ,aAAa,KAAuCD,EAAO,EACnEC,GAAQ,aAAa,KAAqCD,EAAO,EACjEC,GAAQ,aAAa,KAA6BD,EAAO,EACzDC,GAAQ,aAAa,KAA8BD,EAAO,EAC1DC,GAAQ,aAAa,KAAiCD,EAAO,EAC7DC,GAAQ,aAAa,KAAsBD,EAAO,EAClDC,GAAQ,aAAa,KAAoBD,EAAO,EAChDC,GAAQ,aAAa,KAA6BD,EAAO,EACzDC,GAAQ,aAAa,KAAoBD,EAAO,EAChDC,GAAQ,aAAa,KAA8BD,EAAO,EAC1DC,GAAQ,aAAa,KAA8BD,EAAO,EAC1DC,GAAQ,aAAa,KAA+BD,EAAO,EAC3DC,GAAQ,aAAa,KAA4BD,EAAO,EACxDC,GAAQ,aAAa,KAAiCD,EAAO,EAC7DC,GAAQ,aAAa,KAA6BD,EAAO,EACzDC,GAAQ,aAAa,KAA6BD,EAAO,EACzDC,GAAQ,aAAa,KAA0CD,EAAO,EACtEC,GAAQ,aAAa,KAAyBD,EAAO,EACrDC,GAAQ,aAAa,KAA8BD,EAAO,EAC1DC,GAAQ,aAAa,KAA6BD,EAAO,EACzDC,GAAQ,aAAa,KAAgCD,EAAO,EAC5DC,GAAQ,aAAa,KAAyBD,EAAO,EACrDC,GAAQ,aAAa,KAAmBD,EAAO,EAC/CC,GAAQ,aAAa,KAA0BD,EAAO,EACtDC,GAAQ,aAAa,KAAwBD,EAAO,IC9CpD,IAAAE,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,OAASA,GAAQ,kBAAoBA,GAAQ,UAAYA,GAAQ,aAAeA,GAAQ,QAAU,OAC1G,IAAMC,GAAU,KACVC,GAAQ,UACRC,GAAO,UACPC,GAAS,UACTC,GAAS,UACTC,GAAS,CACX,kBAAmB,UAAUH,EAAI,sBACjC,sBAAuB,UAAUA,EAAI,sBACrC,+BAAgC,UAAUA,EAAI,sBAC9C,OAAQ,UAAUC,EAAM,sBACxB,KAAM,UAAUA,EAAM,sBACtB,WAAY,UAAUF,EAAK,sBAC3B,OAAQ,UAAUA,EAAK,sBACvB,eAAgB,UAAUA,EAAK,sBAC/B,oBAAqB,UAAUA,EAAK,sBACpC,mBAAoB,UAAUA,EAAK,sBACnC,wBAAyB,UAAUG,EAAM,qBAC7C,EACME,GAAc,IAAIN,GAAQ,YAAY,CAAE,OAAAK,EAAO,CAAC,EACtDN,GAAQ,QAAUO,GAAY,QAAQ,KAAKA,EAAW,EACtDP,GAAQ,aAAeO,GAAY,aAAa,KAAKA,EAAW,EAChEP,GAAQ,UAAYO,GAAY,UAAU,KAAKA,EAAW,EAC1DP,GAAQ,kBAAoBO,GAAY,kBAAkB,KAAKA,EAAW,EAC1EP,GAAQ,OAASO,GAAY,OAAO,KAAKA,EAAW,IC1BpD,IAAAC,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,OAAS,OACjB,IAAMC,GAAc,KACpBD,GAAQ,OAAS,CACb,OAAQC,GAAY,uBACpB,UAAW,CACP,CAAE,OAAQ,sDAAuD,SAAU,CAAE,EAC7E,CAAE,OAAQ,sDAAuD,SAAU,CAAE,EAC7E,CAAE,OAAQ,UAAW,SAAU,CAAE,EACjC,CAAE,OAAQ,YAAa,SAAU,CAAE,EACnC,CAAE,OAAQ,WAAY,SAAU,CAAE,EAClC,CAAE,OAAQ,YAAa,SAAU,CAAE,EACnC,CAAE,OAAQ,iEAAkE,SAAU,CAAE,CAC5F,EACA,WAAY,CAAC,CAAE,OAAQ,WAAY,EAAG,CAAE,OAAQ,UAAW,EAAG,CAAE,OAAQ,WAAY,CAAC,EACrF,WAAY,CACR,CACI,OAAQ,mCACR,MAAO,oCACP,KAAM,EACV,EACA,CAAE,OAAQ,mCAAoC,MAAO,0BAA2B,KAAM,EAAG,EACzF,CACI,OAAQ,mCACR,MAAO,WACP,KAAM,EACV,EACA,CACI,OAAQ,2BACR,MAAO,WACP,KAAM,EACV,EACA,CACI,OAAQ,mCACR,MAAO,WACP,KAAM,EACV,EACA,CACI,OAAQ,mCACR,MAAO,cACP,KAAM,EACV,EACA,CACI,OAAQ,mCACR,MAAO,UACP,KAAM,EACV,EACA,CACI,OAAQ,mCACR,MAAO,QACP,KAAM,EACV,EACA,CAAE,OAAQ,UAAW,MAAO,IAAK,KAAM,EAAG,CAC9C,EACA,aAAc,CACV,YAAa,gEACjB,EACA,OAAQ,CACJ,CACI,KAAM,QACN,IAAK,mBACT,EACA,CACI,KAAM,WACN,IAAK,uBACT,EACA,CACI,KAAM,SACN,IAAK,6BACT,EACA,CACI,KAAM,gBACN,IAAK,oCACT,EACA,CACI,KAAM,gBACN,IAAK,oCACT,EACA,CACI,KAAM,gBACN,IAAK,oCACT,EACA,CACI,KAAM,gBACN,IAAK,oCACT,CACJ,EACA,SAAU,gCACV,kBAAmB,CACf,OAAQ,CACJ,QAAS,GACT,SAAU,iCACV,OAAQ,gDACZ,EACA,SAAU,CACN,QAAS,GACT,SAAU,4BACV,OAAQ,2BACZ,EACA,SAAU,CACN,QAAS,EACT,SAAU,8BACV,OAAQ,6BACZ,EACA,QAAS,CACL,QAAS,GACT,SAAU,6CACV,OAAQ,oEACZ,EACA,MAAO,CACH,QAAS,GACT,SAAU,8BACV,OAAQ,6BACZ,EACA,KAAM,CACF,QAAS,GACT,SAAU,uCACV,OAAQ,sCACZ,CACJ,EACA,kBAAmB,CACf,CACI,KAAM,CAAC,MAAO,MAAM,EACpB,QAAS,CAAC,gBAAgB,EAC1B,IAAK,CAAE,KAAM,IAAK,KAAM,OAAQ,EAChC,IAAK,OACL,QAAS,CACL,sFACJ,CACJ,EACA,CACI,KAAM,CAAC,KAAK,EACZ,IAAK,CAAE,KAAM,QAAS,KAAM,OAAQ,EACpC,QAAS,CACL,+FACJ,CACJ,EACA,CACI,KAAM,CAAC,MAAO,OAAQ,MAAM,EAC5B,IAAK,CAAE,KAAM,QAAS,KAAM,OAAQ,EACpC,QAAS,CAAC,qDAAqD,CACnE,EACA,CACI,KAAM,CAAC,MAAO,MAAM,EACpB,IAAK,CAAE,KAAM,IAAK,KAAM,OAAQ,EAChC,QAAS,CAAC,wDAAwD,CACtE,EACA,CACI,QAAS,CAAC,mBAAoB,uBAAuB,EACrD,IAAK,CAAE,KAAM,IAAK,KAAM,OAAQ,EAChC,QAAS,CACL,sFACJ,CACJ,EACA,CACI,QAAS,CAAC,oBAAqB,qBAAqB,EACpD,IAAK,CAAE,KAAM,IAAK,KAAM,OAAQ,EAChC,QAAS,CAAC,qDAAqD,CACnE,EACA,CACI,QAAS,CAAC,wBAAwB,EAClC,IAAK,CAAE,KAAM,IAAK,KAAM,OAAQ,EAChC,QAAS,CAAC,0DAA0D,CACxE,EACA,CACI,QAAS,CAAC,4BAA4B,EACtC,IAAK,CAAE,KAAM,IAAK,KAAM,OAAQ,EAChC,QAAS,CAAC,qDAAqD,CACnE,EACA,CACI,QAAS,CAAC,sBAAsB,EAChC,IAAK,CAAE,KAAM,IAAK,KAAM,OAAQ,EAChC,QAAS,CACL,+EACJ,CACJ,EACA,CACI,QAAS,CAAC,wBAAwB,EAClC,IAAK,CAAE,KAAM,QAAS,KAAM,OAAQ,EACpC,QAAS,CACL,+FACJ,CACJ,EACA,CACI,aAAc,CAAC,qBAAsB,YAAY,EACjD,IAAK,CAAE,KAAM,QAAS,KAAM,OAAQ,EACpC,QAAS,CAAC,uCAAuC,CACrD,EACA,CACI,aAAc,CAAC,gBAAgB,EAC/B,IAAK,CAAE,KAAM,SAAU,KAAM,OAAQ,EACrC,QAAS,CAAC,2DAA2D,CACzE,EACA,CACI,aAAc,CAAC,SAAS,EACxB,IAAK,CAAE,KAAM,SAAU,KAAM,OAAQ,EACrC,QAAS,CAAC,oEAAoE,CAClF,EACA,CACI,aAAc,CAAC,UAAW,yBAAyB,EACnD,IAAK,CAAE,KAAM,SAAU,KAAM,OAAQ,EACrC,QAAS,CACL,gEACA,yCACJ,CACJ,EACA,CACI,KAAM,CAAC,MAAO,MAAM,EACpB,QAAS,CAAC,iBAAiB,EAC3B,IAAK,CAAE,KAAM,SAAU,KAAM,OAAQ,EACrC,QAAS,CAAC,EAAE,CAChB,EACA,CACI,QAAS,CAAC,uBAAuB,EACjC,IAAK,CAAE,KAAM,SAAU,KAAM,OAAQ,EACrC,QAAS,CAAC,qDAAqD,CACnE,EACA,CACI,aAAc,CAAC,oBAAoB,EACnC,IAAK,CAAE,KAAM,SAAU,KAAM,OAAQ,EACrC,QAAS,CAAC,4DAA4D,CAC1E,EACA,CACI,aAAc,CAAC,UAAU,EACzB,QAAS,CACL,oBACA,8BACA,iBACA,oBACA,UACA,YACJ,EACA,IAAK,CAAE,KAAM,SAAU,KAAM,OAAQ,CACzC,EACA,CACI,QAAS,CAAC,qBAAsB,oBAAoB,EACpD,IAAK,CAAE,KAAM,IAAK,KAAM,IAAK,KAAM,OAAQ,EAC3C,QAAS,CAAC,cAAc,CAC5B,EACA,CACI,QAAS,CAAC,oBAAoB,EAC9B,IAAK,CAAE,KAAM,SAAU,KAAM,OAAQ,CACzC,EACA,CACI,QAAS,CAAC,iBAAiB,EAC3B,IAAK,CAAE,KAAM,SAAU,KAAM,OAAQ,CACzC,EACA,CACI,QAAS,CAAC,qBAAsB,mBAAoB,uBAAuB,EAC3E,IAAK,CAAE,KAAM,IAAK,KAAM,QAAS,KAAM,OAAQ,CACnD,EACA,CACI,aAAc,CAAC,UAAU,EACzB,IAAK,CAAE,KAAM,IAAK,KAAM,QAAS,KAAM,OAAQ,EAC/C,QAAS,CACL,2GACJ,CACJ,EACA,CACI,QAAS,CAAC,gBAAgB,EAC1B,IAAK,CAAE,KAAM,IAAK,KAAM,QAAS,KAAM,QAAS,KAAM,OAAQ,CAClE,CACJ,CACJ,ICxQA,IAAAC,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,eAAiBA,GAAQ,QAAUA,GAAQ,UAAY,OAC/D,IAAMC,GAAU,KACVC,GAAYC,EAACC,GAAQ,CACvB,IAAIC,EACJ,GAAI,OAAOD,GAAQ,SACf,MAAO,UACX,GAAIA,EAAI,QAAQ,SAAS,IAAM,EAC3B,MAAO,UACX,GAAM,CAACE,CAAM,GAAKD,EAAKD,EAAI,MAAM,mBAAmB,KAAO,MAAQC,IAAO,OAASA,EAAK,CAAC,EACzF,OAAOC,GAAgD,SAC3D,EARkB,aASlBN,GAAQ,UAAYE,GACpB,IAAMK,GAAUJ,EAACC,GAAQ,CACrB,IAAIC,EACJ,GAAI,OAAOD,GAAQ,SACf,OACJ,GAAM,CAAC,CAAE,CAAEI,CAAG,GAAKH,EAAKD,EAAI,MAAM,0BAA0B,KAAO,MAAQC,IAAO,OAASA,EAAK,CAAC,EACjG,GAAIG,EAAK,CACL,IAAMC,EAAQD,EAAI,MAAM,GAAG,EAC3B,OAAOC,EAAM,OAAS,EAEdA,EAAM,MAAMA,EAAM,OAAS,EAAGA,EAAM,MAAM,EAAE,KAAK,GAAG,EACtDD,CACV,CACJ,EAZgB,WAahBR,GAAQ,QAAUO,GAClB,IAAMG,GAAiBP,EAAA,CAACC,EAAKO,IAAS,CAClC,IAAIN,EACJ,OAAI,MAAM,QAAQD,CAAG,EACVA,EAAI,IAAIQ,GAAK,CAAE,IAAIP,EAAI,OAAQA,KAASJ,GAAQ,YAAYW,EAAGD,CAAI,KAAO,MAAQN,IAAO,OAASA,EAAKO,CAAG,CAAC,EAClH,OAAOR,GAAQ,WACPC,KAASJ,GAAQ,YAAYG,EAAKO,CAAI,KAAO,MAAQN,IAAO,OAASA,EAC1ED,CACX,EAPuB,kBAQvBJ,GAAQ,eAAiBU,KCpCzB,IAAAG,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5D,IAAMC,GAAM,8jJACZD,GAAQ,QAAUC,KCHlB,IAAAC,GAAAC,EAAAC,GAAA,cACA,OAAO,eAAeA,EAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,EAAQ,iBAAmBA,EAAQ,aAAeA,EAAQ,YAAcA,EAAQ,KAAOA,EAAQ,QAAUA,EAAQ,MAAQA,EAAQ,QAAUA,EAAQ,YAAcA,EAAQ,OAASA,EAAQ,SAAW,OACrM,IAAMC,GAAU,cACVC,GAAU,KACVC,GAASF,GAAQ,aAAa,IAA+C,EAC7EG,GAAW,KACXC,GAAa,KACbC,GAAU,KACVC,GAAiBN,GAAQ,gBAAgB,IAAyB,EACxED,EAAQ,eAAkBE,GAAQ,gBAAgB,EAClDF,EAAQ,QAAU,EAClB,IAAMQ,GAAUC,EAAA,IAAM,CAClB,GAAIT,EAAQ,UAAYA,EAAQ,SAAS,WACrC,GAAI,CACAA,EAAQ,SAAS,WAAW,YAAYA,EAAQ,QAAQ,CAC5D,MACU,CACV,CAEJA,EAAQ,SAAW,KACnBA,EAAQ,QAAU,CACtB,EAVgB,WAWhBA,EAAQ,QAAUQ,GAClB,IAAME,GAAsBD,EAAA,IAAM,CAC9B,OAAO,aAAaT,EAAQ,OAAO,EACnCA,EAAQ,MAAQG,GAAO,WAAW,oBAAoB,KAClDH,EAAQ,SAAS,EACrBA,EAAQ,YAAY,OAAOA,EAAQ,KAAK,CAC5C,EAL4B,uBAMtBW,GAAmBF,EAAA,IAAM,CAC3B,GAAI,CAACT,EAAQ,SACT,MAAMG,GAAO,WAAW,oBAAoB,EAEhD,IAAMS,EAAMZ,EAAQ,SAAS,cACvBa,EAAOD,EAAI,MAAQA,EAAI,qBAAqB,MAAM,EAAE,CAAC,EACrDE,EAAQ,SAAS,cAAc,OAAO,EAC5CA,EAAM,aAAa,OAAQ,UAAU,EACrCA,EAAM,aAAa,KAAM,yBAAyB,EAC9CA,EAAM,YACNA,EAAM,WAAW,QAAUP,GAAe,QAC1CM,EAAK,YAAYC,CAAK,IAGtBA,EAAM,YAAY,SAAS,eAAeP,GAAe,OAAO,CAAC,EACjEM,EAAK,OAAOC,CAAK,EAEzB,EAjByB,oBAkBnBC,GAAON,EAAA,MAAOO,GAAa,CAC7BhB,EAAQ,eAAkBE,GAAQ,gBAAgB,EAClD,IAAMe,EAAe,SAAS,eAAe,eAAe,EACxDA,EACAjB,EAAQ,SAAWiB,GAGnBjB,EAAQ,SAAW,SAAS,cAAc,QAAQ,EAClDA,EAAQ,SAAS,YAAc,IAC/BA,EAAQ,SAAS,MAAQ,MACzBA,EAAQ,SAAS,OAAS,MAC1BA,EAAQ,SAAS,MAAM,SAAW,WAClCA,EAAQ,SAAS,MAAM,QAAU,OACjCA,EAAQ,SAAS,MAAM,OAAS,MAChCA,EAAQ,SAAS,MAAM,MAAQ,MAC/BA,EAAQ,SAAS,MAAM,OAAS,MAChCA,EAAQ,SAAS,GAAK,iBAE1B,IAAIkB,EACJ,GAAIF,EAAS,MAAQ,MAAO,CACxB,IAAMG,EAAiBH,EAAS,SAAW,KAAK,UAAUA,EAAS,QAAQ,EAAI,YACzEI,EAAW,WAAWJ,EAAS,OAAO,aAAa,mBAAmB,KAAK,KAAK,UAAUG,CAAc,CAAC,CAAC,CAAC,GACjHD,EAAM,GAAGF,EAAS,SAAS,IAAII,CAAQ,EAC3C,MAEIF,EAAMF,EAAS,UAEnBhB,EAAQ,SAAS,aAAa,MAAOkB,CAAG,EACpCF,EAAS,QACT,QAAQ,KAAK,4EAA4E,EAEzF,UAAU,KACVhB,EAAQ,SAAS,aAAa,QAAS,KAAK,EAEhDA,EAAQ,UAAaK,GAAW,WAAWL,EAAQ,SAAS,GAAG,EAC/DA,EAAQ,QAAU,OAAO,WAAW,IAAM,CACtCA,EAAQ,YAAY,OAAOG,GAAO,WAAW,oBAAoB,CAAC,CACtE,EAAG,GAAK,EACR,IAAMkB,EAASZ,EAAA,IAAM,CACjB,IAAIa,EAAIC,EACR,GAAI,CAACvB,EAAQ,SAAU,CACnBA,EAAQ,YAAY,OAAOG,GAAO,WAAW,oBAAoB,CAAC,EAClE,MACJ,CACA,GAAI,CACA,IAAMqB,GAAgBF,EAAKtB,EAAQ,SAAS,iBAAmB,MAAQsB,IAAO,OAAS,OAASA,EAAG,SAAS,OAC5G,GAAI,CAACE,GAAgBA,IAAiB,OAAQ,CAC1Cd,GAAoB,EACpB,MACJ,CACJ,MACU,CACV,CACA,IAAIe,EACA,OAAO,OAAW,KAClB,OAAO,SACP,OAAO,OAAO,QAAQ,UAAc,MACpC,OAAO,QAAQ,UAAU,YAAY,IAAM,CAAE,CAAC,EAC9CA,EAAY,OAAO,QAAQ,KAE9BF,EAAKvB,EAAQ,SAAS,iBAAmB,MAAQuB,IAAO,QAAkBA,EAAG,YAAY,CACtF,KAAMnB,GAAS,OAAO,KACtB,QAAS,CACL,SAAAY,EACA,UAAAS,CACJ,CACJ,EAAGzB,EAAQ,MAAM,EACjBA,EAAQ,SAAS,OAAS,IAC9B,EA9Be,UA+BXA,EAAQ,SAAS,YACjBA,EAAQ,SAAS,YAAY,SAAUqB,CAAM,EAG7CrB,EAAQ,SAAS,OAASqB,EAE1B,SAAS,OACT,SAAS,KAAK,YAAYrB,EAAQ,QAAQ,EAC1CW,GAAiB,GAErB,GAAI,CACA,MAAMX,EAAQ,YAAY,OAC9B,OACO0B,EAAG,CACN,MAAI1B,EAAQ,WACJA,EAAQ,SAAS,YACjBA,EAAQ,SAAS,WAAW,YAAYA,EAAQ,QAAQ,EAE5DA,EAAQ,SAAW,MAEjB0B,CACV,QACA,CACI,OAAO,aAAa1B,EAAQ,OAAO,EACnCA,EAAQ,QAAU,CACtB,CACJ,EA/Fa,QAgGbA,EAAQ,KAAOe,GACf,IAAMY,GAAclB,EAACmB,GAAY,CAC7B,IAAIN,EACJ,GAAI,CAACtB,EAAQ,SACT,MAAMG,GAAO,WAAW,oBAAoB,GAE/CmB,EAAKtB,EAAQ,SAAS,iBAAmB,MAAQsB,IAAO,QAAkBA,EAAG,YAAYM,EAAS5B,EAAQ,MAAM,CACrH,EANoB,eAOpBA,EAAQ,YAAc2B,GACtB,IAAME,GAAepB,EAAA,IAAM,CACvB,OAAO,aAAaT,EAAQ,OAAO,CACvC,EAFqB,gBAGrBA,EAAQ,aAAe6B,GACvB,IAAMC,GAAmBrB,EAAA,IAAM,CAC3B,IAAMsB,EAAmBtB,EAAA,KAAO,CAC5B,IAAMmB,GAAY,IACV5B,EAAQ,aAAa,CACrB,KAAMI,GAAS,OAAO,IACtB,QAASwB,CACb,CAAC,CACL,CACJ,GAPyB,uBAQrBtB,GAAQ,cAAcyB,CAAgB,CAC9C,EAVyB,oBAWzB/B,EAAQ,iBAAmB8B,KCxK3B,IAAAE,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,iBAAmB,OAC3B,IAAMC,GAAW,gCACXC,GAAO;AAAA,+CACkCD,EAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EA0BjDE,GAAmBC,EAAA,CAACC,EAAMC,IAAW,CACvC,GAAI,SAAS,eAAeL,EAAQ,EAChC,OAEJ,IAAMM,EAAM,SAAS,cAAc,KAAK,EACxCA,EAAI,GAAKN,GACTM,EAAI,UAAY,0BAChBA,EAAI,UAAYL,GACZ,SAAS,MACT,SAAS,KAAK,YAAYK,CAAG,EAEjC,IAAMC,EAASD,EAAI,uBAAuB,oBAAoB,EAAE,CAAC,EACjEC,EAAO,QAAU,IAAM,CACnBH,EAAK,EACD,SAAS,MACT,SAAS,KAAK,YAAYE,CAAG,CAErC,EACA,IAAME,EAAQF,EAAI,uBAAuB,qBAAqB,EAAE,CAAC,EACjEE,EAAM,QAAU,IAAM,CAClBH,EAAO,EACH,SAAS,MACT,SAAS,KAAK,YAAYC,CAAG,CAErC,CACJ,EAzByB,oBA0BzBP,GAAQ,iBAAmBG,KCzD3B,IAAAO,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,QAAU,OAClB,IAAMC,GAAU,KACVC,GAAiB,EACjBC,GAAc,YAAYD,EAAc,GACxCE,GAAgBC,EAAA,KAAO,CACzB,OAAQ,CAAC,CACb,GAFsB,iBAGlBC,GAAgBF,GAAc,EAC5BG,GAAsBF,EAAA,IAAM,CAC9B,IAAMG,EAAK,aAAa,QAAQL,EAAW,EAC3C,OAAOK,EAAK,KAAK,MAAMA,CAAE,EAAIJ,GAAc,CAC/C,EAH4B,uBAItBK,GAAN,cAAsBR,GAAQ,YAAa,CAd3C,MAc2C,CAAAI,EAAA,gBACvC,KAAKK,EAAaC,EAAY,GAAO,CACjC,GAAIA,GAAa,CAAC,OAAO,OAAQ,CAC7BL,GAAgBI,EAAYJ,EAAa,EACzC,MACJ,CACA,GAAI,CACA,IAAMM,EAAWF,EAAYH,GAAoB,CAAC,EAClD,aAAa,QAAQJ,GAAa,KAAK,UAAUS,CAAQ,CAAC,EAC1D,KAAK,KAAK,UAAWA,CAAQ,CACjC,MACY,CACR,QAAQ,KAAK,iCAAiC,EAC9CN,GAAgBI,EAAYJ,EAAa,CAC7C,CACJ,CACA,cAAcI,EAAaG,EAAQF,EAAY,GAAO,CAClD,KAAK,KAAKG,GAAS,CACf,IAAIC,EACJ,OAAQ,OAAO,OAAO,OAAO,OAAO,CAAC,EAAGD,CAAK,EAAG,CAAE,OAAQ,OAAO,OAAO,OAAO,OAAO,CAAC,EAAGA,EAAM,MAAM,EAAG,CAAE,CAACD,CAAM,EAAGH,IAAcK,EAAKD,EAAM,UAAY,MAAQC,IAAO,OAAS,OAASA,EAAGF,CAAM,IAAM,CAAC,CAAC,CAAE,CAAC,CAAE,CAAC,CACtN,EAAGF,CAAS,CAChB,CACA,KAAKA,EAAY,GAAO,CACpB,IAAII,EACJ,GAAIJ,GAAa,EAAG,GAAAI,EAAK,QAAW,KAA4B,OAAS,OAAO,UAAY,MAAQA,IAAO,SAAkBA,EAAG,cAC5H,OAAOT,GAEX,GAAI,CACA,OAAOC,GAAoB,CAC/B,MACY,CACR,eAAQ,KAAK,iCAAiC,EACvCD,EACX,CACJ,CACA,cAAcO,EAAQF,EAAY,GAAO,CACrC,IAAII,EAEJ,QAASA,EADK,KAAK,KAAKJ,CAAS,EACb,UAAY,MAAQI,IAAO,OAAS,OAASA,EAAGF,CAAM,IAAM,CAAC,CACrF,CACJ,EACMG,GAAU,IAAIP,GACpBT,GAAQ,QAAUgB,KCxDlB,IAAAC,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,uBAAyB,OACjC,IAAMC,GAAU,cACVC,GAAU,KACVC,GAAU,KACVC,GAAU,KACVC,GAAN,cAAqCF,GAAQ,YAAa,CAP1D,MAO0D,CAAAG,EAAA,+BACtD,YAAY,CAAE,OAAAC,EAAQ,QAAAC,EAAS,OAAAC,EAAQ,cAAAC,EAAgB,GAAO,WAAAC,EAAa,EAAO,EAAG,CACjF,MAAM,EACN,KAAK,gBAAkB,CAAC,EACxB,KAAK,cAAgB,CAAC,EACtB,KAAK,UAAY,EACjB,KAAK,YAAc,GACnB,KAAK,oBAAsB,EAC3B,KAAK,uBAAyB,IAC9B,KAAK,QAAUH,EACf,KAAK,OAASD,EACd,KAAK,cAAgBG,EACrB,KAAK,WAAaC,EAClB,KAAK,OAASF,CAClB,CACA,MAAO,CACH,OAAK,KAAK,oBACN,KAAK,qBAAwBP,GAAQ,gBAAgB,EACjD,KAAK,YACL,WAAW,IAAM,CACb,IAAIU,GACHA,EAAK,KAAK,qBAAuB,MAAQA,IAAO,QAAkBA,EAAG,QAAQ,CAClF,EAAG,GAAG,EAEL,KAAK,eACN,KAAK,kBAAkB,GAGxB,KAAK,kBAAkB,OAClC,CACA,mBAAoB,CAChB,IAAIA,EACJ,OAACA,EAAK,KAAK,UAAY,MAAQA,IAAO,QAAkBA,EAAG,IAAI,KAAK,QAAQ,KAAM,WAAW,KAClFR,GAAQ,gBAAgB,IAAMH,GAAQ,UAAU,KAAM,OAAQ,OAAQ,WAAa,CAC1F,IAAIY,EACJ,KAAK,YAAY,CACb,KAAM,4BACN,KAAM,CAAE,QAAS,GAAM,QAAS,MAAU,CAC9C,EAAG,CAAE,WAAY,GAAO,SAAU,EAAM,CAAC,EACzC,MAAQA,EAAK,KAAK,qBAAuB,MAAQA,IAAO,OAAS,OAASA,EAAG,OACjF,CAAC,EAAG,CACA,SAAU,KAAK,oBACf,QAAS,KAAK,sBAClB,CAAC,EACI,KAAK,IAAM,CACZ,IAAID,GACHA,EAAK,KAAK,UAAY,MAAQA,IAAO,QAAkBA,EAAG,IAAI,KAAK,QAAQ,KAAM,qBAAqB,EACvG,KAAK,cAAc,QAAQE,GAAW,CAClCA,EAAQ,QAAU,KAAK,QACvB,KAAK,OAAOA,CAAO,CACvB,CAAC,EACD,KAAK,cAAgB,CAAC,CAC1B,CAAC,EACI,MAAM,IAAM,CACb,IAAIF,GACHA,EAAK,KAAK,qBAAuB,MAAQA,IAAO,QAAkBA,EAAG,OAAO,IAAI,MAAM,kBAAkB,CAAC,EAC1G,KAAK,kBAAoB,MAC7B,CAAC,CACL,CACA,UAAUG,EAAU,CAChB,IAAIH,EAAIC,EACR,IAAIC,EAAUC,EACV,KAAK,YACLD,EAAQ,OAAS,QACjB,SAAUA,GACV,OAAOA,EAAQ,MAAS,UACxBA,EAAQ,OAAS,MACjB,SAAUA,EAAQ,MAClB,OAAOA,EAAQ,KAAK,MAAS,WAC7BA,EAAUA,EAAQ,MAEtB,GAAM,CAAE,QAAAN,EAAS,GAAAQ,EAAI,KAAAC,EAAM,QAAAC,EAAS,QAAAC,CAAQ,EAAIL,EAChD,GAAI,CAAC,KAAK,aACF,CAAoDN,GAAQ,MAASA,EAAQ,OAAS,KAAK,QAAQ,MAGnG,CAAoDA,GAAQ,MAAS,KAAK,QAAQ,OAASA,EAAQ,MACnG,OAGR,GAAIS,IAAS,4BAA6B,CACtC,KAAK,YAAY,CACb,KAAM,4BACN,KAAM,CAAE,QAAS,GAAM,QAAS,MAAU,CAC9C,EAAG,CAAE,WAAY,GAAO,SAAU,EAAM,CAAC,EACrC,KAAK,eACL,KAAK,kBAAkB,EAE3B,MACJ,CACA,GAAIA,IAAS,4BAA6B,EACrCL,EAAK,KAAK,qBAAuB,MAAQA,IAAO,QAAkBA,EAAG,QAAQ,MAAS,EACvF,MACJ,CACI,KAAK,gBAAgBI,CAAE,IACvB,KAAK,gBAAgBA,CAAE,EAAE,QAAQ,CAAE,GAAAA,EAAI,QAAAE,EAAS,QAAAC,CAAQ,CAAC,EACzD,OAAO,KAAK,gBAAgBH,CAAE,GAElC,IAAMI,EAAwB,OAAO,KAAK,KAAK,eAAe,EAAE,OAC5DA,EAAwB,KACvBP,EAAK,KAAK,UAAY,MAAQA,IAAO,QAAkBA,EAAG,KAAK,8BAA8BO,CAAqB,2BAA2B,GAElJ,KAAK,KAAK,UAAWN,CAAO,CAChC,CACA,YAAYA,EAAS,CAAE,WAAAO,EAAa,GAAM,SAAAC,EAAW,EAAK,EAAI,CAAC,EAAG,CAE9D,GADAR,EAAQ,QAAU,KAAK,QACnB,CAACO,EAAY,CACb,GAAI,CACA,KAAK,OAAOP,CAAO,CACvB,MACY,CACJQ,GACA,KAAK,cAAc,KAAKR,CAAO,CAEvC,CACA,MACJ,CACA,KAAK,YACLA,EAAQ,GAAK,KAAK,UAClB,KAAK,gBAAgBA,EAAQ,EAAE,KAAQZ,GAAQ,gBAAgB,EAC/D,GAAI,CACA,KAAK,OAAOY,CAAO,CACvB,MACY,CACJQ,GACA,KAAK,cAAc,KAAKR,CAAO,CAEvC,CACA,OAAO,KAAK,gBAAgBA,EAAQ,EAAE,EAAE,OAC5C,CACA,uBAAuBS,EAAgB,CACnC,OAAO,KAAK,KAAK,eAAe,EAAE,QAAQP,GAAM,KAAK,gBAAgBA,CAAE,EAAE,QAAQ,CAC7E,GAAAA,EACA,QAASO,CACb,CAAC,CAAC,CACN,CACA,OAAQ,CACJ,KAAK,kBAAoB,MAC7B,CACJ,EACAvB,GAAQ,uBAAyBK,KCnJjC,IAAAmB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,EAUC,SAAUC,EAAQC,EAAW,CAE1B,aAOA,IAAIC,EAAc,SACdC,EAAc,GACdC,EAAc,IACdC,EAAc,WACdC,EAAc,YACdC,EAAc,SACdC,EAAc,SACdC,EAAc,QACdC,EAAc,QACdC,EAAc,OACdC,EAAc,OACdC,EAAc,SACdC,EAAc,UACdC,EAAc,eACdC,EAAc,UACdC,EAAc,SACdC,EAAc,SACdC,GAAc,UACdC,GAAc,WACdC,GAAc,WACdC,EAAgB,IAEhBC,GAAU,SACVC,GAAU,QACVC,EAAU,OACVC,GAAa,aACbC,GAAU,UACVC,GAAU,SACVC,GAAU,OACVC,GAAU,UACVC,GAAU,SACVC,GAAU,SACVC,GAAU,KACVC,GAAY,YACZC,GAAY,WACZC,GAAU,QACVC,GAAU,UACVC,GAAU,QACVC,EAAU,OACVC,GAAU,SACVC,GAAU,QACVC,GAAc,WACdC,GAAc,cACdC,GAAU,SAMVC,EAASC,EAAA,SAAUC,GAASC,GAAY,CACpC,IAAIC,GAAgB,CAAC,EACrB,QAASC,MAAKH,GACNC,GAAWE,EAAC,GAAKF,GAAWE,EAAC,EAAE,OAAS,IAAM,EAC9CD,GAAcC,EAAC,EAAIF,GAAWE,EAAC,EAAE,OAAOH,GAAQG,EAAC,CAAC,EAElDD,GAAcC,EAAC,EAAIH,GAAQG,EAAC,EAGpC,OAAOD,EACX,EAVS,UAWTE,EAAYL,EAAA,SAAUM,GAAK,CAEvB,QADIC,GAAQ,CAAC,EACJH,GAAE,EAAGA,GAAEE,GAAI,OAAQF,KACxBG,GAAMD,GAAIF,EAAC,EAAE,YAAY,CAAC,EAAIE,GAAIF,EAAC,EAEvC,OAAOG,EACX,EANY,aAOZC,EAAMR,EAAA,SAAUS,GAAMC,GAAM,CACxB,OAAO,OAAOD,KAAS/C,EAAWiD,EAASD,EAAI,EAAE,QAAQC,EAASF,EAAI,CAAC,IAAM,GAAK,EACtF,EAFM,OAGNE,EAAWX,EAAA,SAAUY,GAAK,CACtB,OAAOA,GAAI,YAAY,CAC3B,EAFW,YAGXC,EAAWb,EAAA,SAAUc,GAAS,CAC1B,OAAO,OAAOA,KAAapD,EAAWoD,GAAQ,QAAQ,WAAYzD,CAAK,EAAE,MAAM,GAAG,EAAE,CAAC,EAAIF,CAC7F,EAFW,YAGX4D,EAAOf,EAAA,SAAUY,GAAKI,GAAK,CACvB,GAAI,OAAOJ,KAASlD,EAChB,OAAAkD,GAAMA,GAAI,QAAQ,SAAUvD,CAAK,EAC1B,OAAO2D,KAASxD,EAAaoD,GAAMA,GAAI,UAAU,EAAGpC,CAAa,CAEpF,EALW,QAWPyC,EAAYjB,EAAA,SAAUkB,GAAIC,GAAQ,CAK9B,QAHIf,GAAI,EAAGgB,GAAGC,GAAGC,GAAGC,GAAGC,EAASC,EAGzBrB,GAAIe,GAAO,QAAU,CAACK,GAAS,CAElC,IAAIE,GAAQP,GAAOf,EAAC,EAChBuB,GAAQR,GAAOf,GAAI,CAAC,EAIxB,IAHAgB,GAAIC,GAAI,EAGDD,GAAIM,GAAM,QAAU,CAACF,GAEnBE,GAAMN,EAAC,GAGZ,GAFAI,EAAUE,GAAMN,IAAG,EAAE,KAAKF,EAAE,EAEtBM,EACF,IAAKF,GAAI,EAAGA,GAAIK,GAAM,OAAQL,KAC1BG,EAAQD,EAAQ,EAAEH,EAAC,EACnBE,GAAII,GAAML,EAAC,EAEP,OAAOC,KAAM9D,GAAY8D,GAAE,OAAS,EAChCA,GAAE,SAAW,EACT,OAAOA,GAAE,CAAC,GAAKhE,EAEf,KAAKgE,GAAE,CAAC,CAAC,EAAIA,GAAE,CAAC,EAAE,KAAK,KAAME,CAAK,EAGlC,KAAKF,GAAE,CAAC,CAAC,EAAIA,GAAE,CAAC,EAEbA,GAAE,SAAW,EAEhB,OAAOA,GAAE,CAAC,IAAMhE,GAAa,EAAEgE,GAAE,CAAC,EAAE,MAAQA,GAAE,CAAC,EAAE,MAEjD,KAAKA,GAAE,CAAC,CAAC,EAAIE,EAAQF,GAAE,CAAC,EAAE,KAAK,KAAME,EAAOF,GAAE,CAAC,CAAC,EAAIpE,EAGpD,KAAKoE,GAAE,CAAC,CAAC,EAAIE,EAAQA,EAAM,QAAQF,GAAE,CAAC,EAAGA,GAAE,CAAC,CAAC,EAAIpE,EAE9CoE,GAAE,SAAW,IAChB,KAAKA,GAAE,CAAC,CAAC,EAAIE,EAAQF,GAAE,CAAC,EAAE,KAAK,KAAME,EAAM,QAAQF,GAAE,CAAC,EAAGA,GAAE,CAAC,CAAC,CAAC,EAAIpE,GAG1E,KAAKoE,EAAC,EAAIE,GAAgBtE,EAK1CiD,IAAK,CACT,CACJ,EAnDY,aAqDZwB,EAAY5B,EAAA,SAAUY,GAAKiB,GAAK,CAE5B,QAASzB,MAAKyB,GAEV,GAAI,OAAOA,GAAIzB,EAAC,IAAM3C,GAAYoE,GAAIzB,EAAC,EAAE,OAAS,GAC9C,QAASgB,GAAI,EAAGA,GAAIS,GAAIzB,EAAC,EAAE,OAAQgB,KAC/B,GAAIZ,EAAIqB,GAAIzB,EAAC,EAAEgB,EAAC,EAAGR,EAAG,EAClB,OAAQR,KAAM9C,EAAWH,EAAYiD,WAGtCI,EAAIqB,GAAIzB,EAAC,EAAGQ,EAAG,EACtB,OAAQR,KAAM9C,EAAWH,EAAYiD,GAG7C,OAAOQ,EACf,EAfgB,aAsBZkB,EAAe,CACX,MAAU,KACV,MAAU,KACV,MAAU,KACV,MAAU,OACV,QAAU,OACV,QAAU,OACV,QAAU,OACV,IAAU,GACd,EACAC,EAAoB,CAChB,GAAc,OACd,UAAc,SACd,SAAc,QACd,IAAc,SACd,GAAc,CAAC,SAAU,QAAQ,EACjC,MAAc,SACd,EAAc,SACd,EAAc,SACd,MAAc,SACd,GAAc,CAAC,SAAU,SAAS,EAClC,GAAc,KACtB,EAMI9B,EAAU,CAEV,QAAU,CAAC,CAEP,8BACA,EAAG,CAACjC,EAAS,CAACH,EAAM,QAAQ,CAAC,EAAG,CAChC,6BACA,EAAG,CAACG,EAAS,CAACH,EAAM,MAAM,CAAC,EAAG,CAG9B,4BACA,mDACA,yCACA,EAAG,CAACA,EAAMG,CAAO,EAAG,CACpB,uBACA,EAAG,CAACA,EAAS,CAACH,EAAMyB,GAAM,OAAO,CAAC,EAAG,CACrC,0BACA,EAAG,CAACtB,EAAS,CAACH,EAAMyB,GAAM,KAAK,CAAC,EAAG,CACnC,mBACA,EAAG,CAACtB,EAAS,CAACH,EAAMyB,EAAK,CAAC,EAAG,CAG7B,wDACA,EAAG,CAACtB,EAAS,CAACH,EAAM,OAAO,CAAC,EAAG,CAC/B,uBACA,8DAEA,uDACA,2BAGA,+LAEA,kCACA,qBACA,EAAG,CAACA,EAAMG,CAAO,EAAG,CACpB,mBACA,EAAG,CAACA,EAAS,CAACH,EAAM,YAAY,CAAC,EAAG,CACpC,mDACA,EAAG,CAACG,EAAS,CAACH,EAAM,KAAKgB,EAAO,CAAC,EAAG,CACpC,+BACA,+BACA,4BACA,EAAG,CAACb,EAAS,CAACH,EAAM,QAAQ,CAAC,EAAG,CAChC,uBACA,EAAG,CAACG,EAAS,CAACH,EAAM,WAAW,CAAC,EAAG,CACnC,6CACA,EAAG,CAACG,EAAS,CAACH,EAAM,IAAI,CAAC,EAAG,CAC5B,kCACA,EAAG,CAACG,EAAS,CAACH,EAAM,QAAQ,CAAC,EAAG,CAChC,uBACA,EAAG,CAACG,EAAS,CAACH,EAAM,gBAAgBgB,EAAO,CAAC,EAAG,CAC/C,yBACA,EAAG,CAAC,CAAChB,EAAM,OAAQ,aAAagB,EAAO,EAAGb,CAAO,EAAG,CACpD,qBACA,EAAG,CAACA,EAAS,CAACH,EAAMmB,GAAQ,QAAQ,CAAC,EAAG,CACxC,mBACA,EAAG,CAAChB,EAAS,CAACH,EAAMyB,GAAM,QAAQ,CAAC,EAAG,CACtC,wBACA,EAAG,CAACtB,EAAS,CAACH,EAAM,SAAS,CAAC,EAAG,CACjC,oBACA,EAAG,CAACG,EAAS,CAACH,EAAM,SAAS,CAAC,EAAG,CACjC,mBACA,EAAG,CAACG,EAAS,CAACH,EAAMyB,GAAM,QAAQ,CAAC,EAAG,CACtC,yBACA,EAAG,CAACtB,EAAS,CAACH,EAAM,QAAQgB,EAAO,CAAC,EAAG,CACvC,oBACA,EAAG,CAACb,EAAS,CAACH,EAAMmB,EAAO,CAAC,EAAG,CAC/B,+BACA,EAAG,CAAC,CAACnB,EAAM,OAASgB,EAAO,CAAC,EAAG,CAC/B,kDACA,EAAG,CAAC,CAAChB,EAAM,OAAQ,MAAQgB,EAAO,EAAGb,CAAO,EAAG,CAC/C,4BACA,EAAG,CAACA,EAAS,CAACH,EAAM0B,GAAU,WAAW,CAAC,EAAG,CAC7C,6BACA,EAAG,CAAC,CAAC1B,EAAM,KAAM,GAAG,EAAGG,CAAO,EAAG,CACjC,wBACA,EAAG,CAACA,EAAS,CAACH,EAAM,gBAAgB,CAAC,EAAG,CACxC,0BACA,EAAG,CAAC,CAACA,EAAM,cAAc,EAAGG,CAAO,EAAG,CACtC,gCACA,iDACA,4CACA,EAAG,CAACH,EAAMG,CAAO,EAAG,CACpB,eACA,oBACA,EAAG,CAACH,CAAI,EAAG,CAGX,6DACA,EAAG,CAAC,CAACA,EAAM+B,EAAQ,EAAG5B,CAAO,EAAG,CAChC,uBACA,uCACA,kCACA,4BACA,4BACA,6BACA,qCACA,+CACA,EAAG,CAACH,EAAMG,CAAO,EAAG,CACpB,8BACA,EAAG,CAACA,EAAS,CAACH,EAAM,KAAK,CAAC,EAAG,CAC7B,4CACA,EAAG,CAACG,EAAS,CAACH,EAAM,QAAQ,CAAC,EAAG,CAEhC,kCACA,EAAG,CAACG,EAAS,CAACH,EAAMiB,GAAO,WAAW,CAAC,EAAG,CAE1C,6BACA,EAAG,CAAC,CAACjB,EAAMiB,GAAO,UAAU,EAAGd,CAAO,EAAG,CAEzC,yDACA,EAAG,CAACA,EAAS,CAACH,EAAM,WAAWgB,EAAO,CAAC,EAAG,CAE1C,6DACA,EAAG,CAAChB,EAAMG,CAAO,EAAG,CAEpB,8CACA,EAAG,CAACA,EAAS,CAACH,EAAM,eAAe,CAAC,EAAG,CACvC,oDACA,EAAG,CAACG,EAASH,CAAI,EAAG,CACpB,8CACA,EAAG,CAACA,EAAM,CAACG,EAAS4D,EAAWE,CAAY,CAAC,EAAG,CAE/C,4BACA,EAAG,CAACjE,EAAMG,CAAO,EAAG,CAGpB,sCACA,EAAG,CAAC,CAACH,EAAM,UAAU,EAAGG,CAAO,EAAG,CAClC,qCACA,EAAG,CAACA,EAAS,CAACH,EAAMmB,GAAQ,UAAU,CAAC,EAAG,CAC1C,6BACA,cACA,mGAEA,+FAEA,wBACA,2CAGA,wHAEA,uBACA,oBACA,EAAG,CAACnB,EAAMG,CAAO,EAAG,CAEpB,sBACA,EAAG,CAACH,EAAM,CAACG,EAAS,eAAgB,EAAE,CAAC,CAC3C,EAEA,IAAM,CAAC,CAEH,+CACA,EAAG,CAAC,CAACC,EAAc,OAAO,CAAC,EAAG,CAE9B,cACA,EAAG,CAAC,CAACA,EAAc0C,CAAQ,CAAC,EAAG,CAE/B,wBACA,EAAG,CAAC,CAAC1C,EAAc,MAAM,CAAC,EAAG,CAE7B,kCACA,EAAG,CAAC,CAACA,EAAc,OAAO,CAAC,EAAG,CAE9B,iCACA,EAAG,CAAC,CAACA,EAAc,OAAO,CAAC,EAAG,CAG9B,4BACA,EAAG,CAAC,CAACA,EAAc,KAAK,CAAC,EAAG,CAE5B,wCACA,EAAG,CAAC,CAACA,EAAc,OAAQZ,EAAOsD,CAAQ,CAAC,EAAG,CAE9C,gBACA,EAAG,CAAC,CAAC1C,EAAc,OAAO,CAAC,EAAG,CAE9B,yHAEA,EAAG,CAAC,CAACA,EAAc0C,CAAQ,CAAC,CAChC,EAEA,OAAS,CAAC,CAON,iFACA,EAAG,CAAC/C,EAAO,CAACG,EAAQwB,EAAO,EAAG,CAACzB,EAAMM,CAAM,CAAC,EAAG,CAC/C,yDACA,uBACA,eACA,EAAG,CAACR,EAAO,CAACG,EAAQwB,EAAO,EAAG,CAACzB,EAAMK,CAAM,CAAC,EAAG,CAG/C,0CACA,EAAG,CAACP,EAAO,CAACG,EAAQW,EAAK,EAAG,CAACZ,EAAMK,CAAM,CAAC,EAAG,CAC7C,6BACA,oCACA,gCACA,EAAG,CAACP,EAAO,CAACG,EAAQW,EAAK,EAAG,CAACZ,EAAMM,CAAM,CAAC,EAAG,CAC7C,eACA,EAAG,CAACR,EAAO,CAACG,EAAQW,EAAK,CAAC,EAAG,CAG7B,+BACA,EAAG,CAACd,EAAO,CAACG,EAAQyB,EAAK,EAAG,CAAC1B,EAAMK,CAAM,CAAC,EAAG,CAG7C,6DACA,EAAG,CAACP,EAAO,CAACG,EAAQmB,EAAM,EAAG,CAACpB,EAAMM,CAAM,CAAC,EAAG,CAC9C,kCACA,oEACA,EAAG,CAACR,EAAO,CAACG,EAAQmB,EAAM,EAAG,CAACpB,EAAMK,CAAM,CAAC,EAAG,CAG9C,kDACA,yBACA,uCACA,iDACA,4DACA,uGACA,EAAG,CAAC,CAACP,EAAO,KAAM,GAAG,EAAG,CAACG,EAAQ2B,EAAM,EAAG,CAAC5B,EAAMK,CAAM,CAAC,EAAG,CAC3D,+CACA,4CACA,EAAE,CAAC,CAACP,EAAO,KAAM,GAAG,EAAG,CAACG,EAAQ2B,EAAM,EAAG,CAAC5B,EAAMM,CAAM,CAAC,EAAG,CAG1D,sBACA,iEACA,EAAG,CAACR,EAAO,CAACG,EAAQ,MAAM,EAAG,CAACD,EAAMK,CAAM,CAAC,EAAG,CAC9C,sBACA,EAAG,CAACP,EAAO,CAACG,EAAQ,MAAM,EAAG,CAACD,EAAMM,CAAM,CAAC,EAAG,CAG9C,yBACA,kCACA,EAAG,CAACR,EAAO,CAACG,EAAQ,MAAM,EAAG,CAACD,EAAMK,CAAM,CAAC,EAAG,CAG9C,iCACA,EAAG,CAACP,EAAO,CAACG,EAAQ,QAAQ,EAAG,CAACD,EAAMK,CAAM,CAAC,EAAG,CAGhD,iFACA,4BACA,oDACA,EAAG,CAACP,EAAO,CAACG,EAAQsB,EAAQ,EAAG,CAACvB,EAAMK,CAAM,CAAC,EAAG,CAChD,mCACA,EAAG,CAACP,EAAO,CAACG,EAAQsB,EAAQ,EAAG,CAACvB,EAAMM,CAAM,CAAC,EAAG,CAGhD,+DACA,EAAG,CAACR,EAAO,CAACG,EAAQoB,EAAE,EAAG,CAACrB,EAAMM,CAAM,CAAC,EAAG,CAC1C,sDACA,oDACA,sBACA,EAAG,CAACR,EAAO,CAACG,EAAQoB,EAAE,EAAG,CAACrB,EAAMK,CAAM,CAAC,EAAG,CAG1C,oBACA,mEACA,EAAG,CAACP,EAAO,CAACG,EAAQ,QAAQ,EAAG,CAACD,EAAMM,CAAM,CAAC,EAAG,CAGhD,qCACA,wBACA,EAAG,CAAC,CAACR,EAAO,KAAM,GAAG,EAAG,CAACG,EAAQ,OAAO,EAAG,CAACD,EAAMK,CAAM,CAAC,EAAG,CAG5D,cACA,EAAG,CAACP,EAAO,CAACG,EAAQkB,EAAM,EAAG,CAACnB,EAAMM,CAAM,CAAC,EAAG,CAC9C,2CACA,EAAG,CAACR,EAAO,CAACG,EAAQkB,EAAM,EAAG,CAACnB,EAAMK,CAAM,CAAC,EAAG,CAG9C,wGACA,EAAG,CAACP,EAAO,CAACG,EAAQ0B,CAAI,EAAG,CAAC3B,EAAMK,CAAM,CAAC,EAAG,CAC5C,oBACA,+BACA,EAAG,CAAC,CAACP,EAAO,eAAe,EAAG,CAACG,EAAQ0B,CAAI,EAAG,CAAC3B,EAAMM,CAAM,CAAC,EAAG,CAG/D,sCACA,wCACA,EAAG,CAACR,EAAO,CAACG,EAAQ,SAAS,EAAG,CAACD,EAAMK,CAAM,CAAC,EAAG,CAGjD,eACA,uCACA,8BACA,EAAG,CAACP,EAAO,CAACG,EAAQU,EAAM,EAAG,CAACX,EAAMM,CAAM,CAAC,EAAG,CAC9C,+CACA,EAAG,CAAC,CAACR,EAAO,QAAS,eAAe,EAAG,CAACG,EAAQU,EAAM,EAAG,CAACX,EAAMK,CAAM,CAAC,EAAG,CAG1E,8BACA,EAAG,CAACP,EAAOG,EAAQ,CAACD,EAAMM,CAAM,CAAC,EAAG,CACpC,gCACA,gBACA,EAAG,CAACR,EAAO,CAACG,EAAQa,EAAU,EAAG,CAACd,EAAMK,CAAM,CAAC,EAAG,CAGlD,mFACA,EAAG,CAACP,EAAO,CAACG,EAAQY,CAAI,EAAG,CAACb,EAAMM,CAAM,CAAC,EAAG,CAC5C,+CACA,EAAG,CAACR,EAAO,CAACG,EAAQY,CAAI,EAAG,CAACb,EAAMK,CAAM,CAAC,EAAG,CAG5C,YACA,EAAG,CAACP,EAAO,CAACG,EAAQ,KAAK,EAAG,CAACD,EAAMM,CAAM,CAAC,EAAG,CAC7C,2CAGA,oCACA,+EACA,EAAG,CAACL,EAAQ,CAACH,EAAO,KAAM,GAAG,EAAG,CAACE,EAAMK,CAAM,CAAC,EAAG,CAGjD,qCACA,EAAG,CAACP,EAAO,CAACG,EAAQ,MAAM,EAAG,CAACD,EAAMM,CAAM,CAAC,EAAG,CAG9C,8BACA,mBACA,EAAG,CAACR,EAAO,CAACG,EAAQ,OAAO,EAAG,CAACD,EAAMK,CAAM,CAAC,EAAG,CAG/C,gDACA,EAAG,CAACP,EAAO,CAACG,EAAQ,SAAS,EAAG,CAACD,EAAMK,CAAM,CAAC,EAAG,CAGjD,gHAEA,mBACA,iBACA,8BACA,0BACA,WACA,uBACA,EAAG,CAACJ,EAAQH,EAAO,CAACE,EAAMK,CAAM,CAAC,EAAG,CAEpC,2BACA,wBACA,uCACA,uBACA,4BACA,iCACA,kCACA,8BACA,gCACA,iCACA,EAAG,CAACJ,EAAQH,EAAO,CAACE,EAAMM,CAAM,CAAC,EAAG,CAEpC,gBACA,EAAG,CAACR,EAAO,CAACG,EAAQqB,EAAS,EAAG,CAACtB,EAAMM,CAAM,CAAC,EAAG,CACjD,mCACA,EAAG,CAACR,EAAO,CAACG,EAAQ,WAAW,EAAG,CAACD,EAAMK,CAAM,CAAC,EAAG,CACnD,WACA,EAAG,CAACP,EAAO,CAACG,EAAQ,MAAM,EAAG,CAACD,EAAMK,CAAM,CAAC,EAAG,CAC9C,cACA,EAAG,CAACP,EAAO,CAACG,EAAQ,SAAS,EAAG,CAACD,EAAMK,CAAM,CAAC,EAAG,CACjD,eACA,EAAG,CAACP,EAAO,CAACG,EAAQ,KAAK,EAAG,CAACD,EAAMM,CAAM,CAAC,EAAG,CAC7C,wBACA,EAAG,CAACR,EAAO,CAACG,EAAQ,MAAM,EAAG,CAACD,EAAMM,CAAM,CAAC,EAAG,CAC9C,sBACA,EAAG,CAACR,EAAO,CAACG,EAAQ,SAAS,EAAG,CAACD,EAAMM,CAAM,CAAC,EAAG,CACjD,6CACA,EAAG,CAACR,EAAO,CAACG,EAAQ,gBAAgB,EAAG,CAACD,EAAMM,CAAM,CAAC,EAAG,CACxD,mBACA,EAAG,CAACR,EAAO,CAACG,EAAQ,UAAU,EAAG,CAACD,EAAMM,CAAM,CAAC,EAAG,CAClD,YACA,EAAG,CAACR,EAAO,CAACG,EAAQ,KAAK,EAAG,CAACD,EAAMM,CAAM,CAAC,EAAG,CAC7C,iBACA,EAAG,CAACR,EAAO,CAACG,EAAQ,KAAK,EAAG,CAACD,EAAMK,CAAM,CAAC,EAAG,CAC7C,sBACA,EAAG,CAACP,EAAO,CAACG,EAAQ,OAAO,EAAG,CAACD,EAAMK,CAAM,CAAC,EAAG,CAC/C,iBACA,EAAG,CAACP,EAAO,CAACG,EAAQ,OAAO,EAAG,CAACD,EAAMM,CAAM,CAAC,EAAG,CAC/C,sBACA,EAAG,CAACR,EAAO,CAACG,EAAQ,MAAM,EAAG,CAACD,EAAMM,CAAM,CAAC,EAAG,CAC9C,mBACA,oCACA,EAAG,CAAC,CAACL,EAAQ,cAAc,EAAGH,EAAO,CAACE,EAAMM,CAAM,CAAC,EAAG,CACtD,oBACA,EAAG,CAACR,EAAO,CAACG,EAAQ,UAAU,EAAG,CAACD,EAAMM,CAAM,CAAC,EAAG,CAClD,4BACA,EAAG,CAACR,EAAO,CAACG,EAAQ,UAAU,EAAG,CAACD,EAAMM,CAAM,CAAC,EAAG,CAClD,kDACA,EAAG,CAAC,CAACL,EAAQ,OAAO,EAAGH,EAAO,CAACE,EAAMK,CAAM,CAAC,EAAG,CAC/C,yBACA,EAAG,CAAC,CAACJ,EAAQ,OAAO,EAAGH,EAAO,CAACE,EAAMK,CAAM,CAAC,EAAG,CAC/C,YACA,EAAG,CAACP,EAAO,CAACG,EAAQ,WAAW,EAAG,CAACD,EAAMK,CAAM,CAAC,EAAG,CACnD,qCACA,EAAG,CAACP,EAAO,CAACG,EAAQ,SAAS,EAAG,CAACD,EAAMM,CAAM,CAAC,EAAG,CACjD,sBACA,EAAG,CAACR,EAAO,CAACG,EAAQ,WAAW,EAAG,CAACD,EAAMM,CAAM,CAAC,EAAG,CACnD,gBACA,EAAG,CAACR,EAAO,CAACG,EAAQ,OAAO,EAAG,CAACD,EAAMM,CAAM,CAAC,EAAG,CAC/C,mBACA,EAAG,CAACR,EAAO,CAACG,EAAQ,QAAQ,EAAG,CAACD,EAAMM,CAAM,CAAC,EAAG,CAChD,iBACA,EAAG,CAACL,EAAQH,EAAO,CAACE,EAAMK,CAAM,CAAC,EAAG,CACpC,oBACA,EAAG,CAAC,CAACP,EAAO,MAAO,GAAG,EAAG,CAACG,EAAQqB,EAAS,EAAG,CAACtB,EAAMK,CAAM,CAAC,EAAG,CAC/D,uDACA,EAAG,CAACP,EAAO,CAACG,EAAQ4B,EAAK,EAAG,CAAC7B,EAAMM,CAAM,CAAC,EAAG,CAC7C,uCACA,EAAG,CAACR,EAAO,CAACG,EAAQ4B,EAAK,EAAG,CAAC7B,EAAMK,CAAM,CAAC,EAAG,CAM7C,sBACA,EAAG,CAACJ,EAAQ,CAACD,EAAMO,EAAO,CAAC,EAAG,CAC9B,qBACA,EAAG,CAAC,CAACT,EAAO,IAAK,SAAS,EAAG,CAACG,EAAQwB,EAAO,EAAG,CAACzB,EAAMO,EAAO,CAAC,EAAG,CAClE,4DACA,EAAG,CAAC,CAACN,EAAQoB,EAAE,EAAG,CAACrB,EAAMO,EAAO,CAAC,EAAG,CACpC,cACA,EAAG,CAACN,EAAQ,CAACH,EAAOc,GAAM,KAAK,EAAG,CAACZ,EAAMO,EAAO,CAAC,EAAG,CACpD,QACA,EAAG,CAAC,CAACT,EAAOkB,GAAO,MAAM,EAAG,CAACf,EAAQkB,EAAM,EAAG,CAACnB,EAAMO,EAAO,CAAC,EAAG,CAChE,2BACA,EAAG,CAACT,EAAO,CAACG,EAAQU,EAAM,EAAG,CAACX,EAAMO,EAAO,CAAC,EAAG,CAC/C,uBACA,qBACA,EAAG,CAACT,EAAO,CAACG,EAAQyB,EAAK,EAAG,CAAC1B,EAAMO,EAAO,CAAC,EAAE,CAC7C,0BACA,EAAG,CAACT,EAAO,CAACG,EAAQ0B,CAAI,EAAG,CAAC3B,EAAMO,EAAO,CAAC,EAAG,CAC7C,mBACA,EAAG,CAACT,EAAO,CAACG,EAAQ2B,EAAM,EAAG,CAAC5B,EAAMO,EAAO,CAAC,EAAG,CAC/C,2BACA,EAAG,CAACN,EAAQH,EAAO,CAACE,EAAMO,EAAO,CAAC,EAAG,CACrC,0CACA,2DACA,EAAG,CAAC,CAACN,EAAQgD,CAAI,EAAG,CAACnD,EAAOmD,CAAI,EAAG,CAACjD,EAAMO,EAAO,CAAC,EAAG,CACrD,iDACA,EAAG,CAAC,CAACP,EAAMO,EAAO,CAAC,EAAG,CAMtB,UACA,4BACA,EAAG,CAACN,EAAQH,EAAO,CAACE,EAAMI,CAAO,CAAC,EAAG,CACrC,wBACA,EAAG,CAACN,EAAO,CAACG,EAAQ,QAAQ,EAAG,CAACD,EAAMI,CAAO,CAAC,EAAG,CACjD,iCACA,EAAG,CAACN,EAAO,CAACG,EAAQ0B,CAAI,EAAG,CAAC3B,EAAMI,CAAO,CAAC,EAAG,CAC7C,oCACA,EAAG,CAACN,EAAO,CAACG,EAAQqB,EAAS,EAAG,CAACtB,EAAMI,CAAO,CAAC,EAAG,CAMlD,gBACA,EAAG,CAACH,EAAQH,EAAO,CAACE,EAAMQ,EAAQ,CAAC,EAAG,CACtC,sCACA,EAAG,CAACV,EAAO,CAACG,EAAQW,EAAK,EAAG,CAACZ,EAAMQ,EAAQ,CAAC,EAAG,CAC/C,sBACA,EAAG,CAACV,EAAO,CAACG,EAAQkB,EAAM,EAAG,CAACnB,EAAMQ,EAAQ,CAAC,EAAG,CAChD,2BACA,EAAG,CAACV,EAAO,CAACG,EAAQ4B,EAAK,EAAG,CAAC7B,EAAMQ,EAAQ,CAAC,EAAG,CAC/C,qBACA,EAAG,CAACV,EAAO,CAACG,EAAQ6B,EAAQ,EAAG,CAAC9B,EAAMQ,EAAQ,CAAC,EAAG,CAMlD,sCACA,EAAG,CAACP,EAAQ,CAACD,EAAMS,EAAQ,CAAC,EAAG,CAC/B,YACA,EAAG,CAACX,EAAO,CAACG,EAAQU,EAAM,EAAG,CAACX,EAAMS,EAAQ,CAAC,EAAG,CAMhD,gEACA,EAAG,CAACX,EAAO,CAACE,EAAMK,CAAM,CAAC,EAAG,CAC5B,6DACA,EAAG,CAACP,EAAO,CAACE,EAAMM,CAAM,CAAC,EAAG,CAC5B,8CACA,EAAG,CAAC,CAACN,EAAMM,CAAM,CAAC,EAAG,CACrB,gEACA,EAAG,CAAC,CAACN,EAAMK,CAAM,CAAC,EAAG,CACrB,gCACA,EAAG,CAACP,EAAO,CAACG,EAAQ,SAAS,CAAC,CAClC,EAEA,OAAS,CAAC,CAEN,4BACA,EAAG,CAACC,EAAS,CAACH,EAAMkB,GAAK,MAAM,CAAC,EAAG,CAEnC,2CACA,EAAG,CAACf,EAAS,CAACH,EAAM,OAAO,CAAC,EAAG,CAE/B,uBACA,sEACA,0BACA,yCACA,8BACA,aACA,EAAG,CAACA,EAAMG,CAAO,EAAG,CAEpB,+BACA,EAAG,CAACA,EAASH,CAAI,CACrB,EAEA,GAAK,CAAC,CAGF,iCACA,EAAG,CAACA,EAAMG,CAAO,EAAG,CACpB,uDACA,EAAG,CAACH,EAAM,CAACG,EAAS4D,EAAWG,CAAiB,CAAC,EAAG,CACpD,0BACA,2CACA,sCACA,EAAG,CAAC,CAAC/D,EAAS4D,EAAWG,CAAiB,EAAG,CAAClE,EAAM,SAAS,CAAC,EAAG,CAGjE,sDACA,4CACA,sBACA,EAAG,CAAC,CAACG,EAAS,KAAM,GAAG,EAAG,CAACH,EAAM,KAAK,CAAC,EAAG,CAC1C,0BACA,uCACA,EAAG,CAAC,CAACA,EAAMiC,EAAM,EAAG,CAAC9B,EAAS,KAAM,GAAG,CAAC,EAAG,CAG3C,gDACA,EAAG,CAACA,EAASH,CAAI,EAAG,CACpB,+EACA,8BACA,+BACA,gBACA,EAAG,CAACA,EAAMG,CAAO,EAAG,CACpB,YACA,EAAG,CAACA,EAAS,CAACH,EAAMe,EAAU,CAAC,EAAG,CAClC,2DACA,EAAG,CAACZ,EAAS,CAACH,EAAM,SAAS,CAAC,EAAG,CACjC,iFACA,EAAG,CAACG,EAAS,CAACH,EAAMmB,GAAQ,KAAK,CAAC,EAAG,CACrC,kBACA,sCACA,EAAG,CAAChB,EAAS,CAACH,EAAM,OAAO,CAAC,EAAG,CAC/B,sCACA,EAAG,CAACG,EAAS,CAACH,EAAM,SAAS,CAAC,EAAG,CAGjC,mBACA,EAAG,CAACG,EAAS,CAACH,EAAMiB,GAAO,MAAM,CAAC,EAAG,CACrC,kCACA,EAAG,CAAC,CAACjB,EAAMgC,EAAW,EAAG7B,CAAO,EAAE,CAGlC,qBACA,iBACA,2BAGA,mDACA,2BAGA,wCACA,yBACA,4BACA,8SAEA,2BACA,oBACA,6EACA,gBACA,EAAG,CAACH,EAAMG,CAAO,EAAG,CACpB,uBACA,EAAG,CAAC,CAACH,EAAM,SAAS,EAAGG,CAAO,EAAG,CACjC,sCACA,kCACA,mEACA,oBACA,EAAG,CAACH,EAAMG,CAAO,CACrB,CACJ,EAMIgE,EAAWhC,EAAA,SAAUkB,GAAIhB,GAAY,CAOrC,GALI,OAAOgB,KAAOzD,IACdyC,GAAagB,GACbA,GAAK/D,GAGL,EAAE,gBAAgB6E,GAClB,OAAO,IAAIA,EAASd,GAAIhB,EAAU,EAAE,UAAU,EAGlD,IAAI+B,GAAc,OAAO/E,IAAWM,GAAcN,EAAO,UAAaA,EAAO,UAAYC,EACrF+E,GAAMhB,KAAQe,IAAcA,GAAW,UAAaA,GAAW,UAAY5E,GAC3E8E,GAASF,IAAcA,GAAW,cAAiBA,GAAW,cAAgB9E,EAC9EiF,GAAUlC,GAAaH,EAAOE,EAASC,EAAU,EAAID,EACrDoC,GAAaJ,IAAcA,GAAW,WAAaC,GAEvD,YAAK,WAAa,UAAY,CAC1B,IAAII,EAAW,CAAC,EAChB,OAAAA,EAASzE,CAAI,EAAIV,EACjBmF,EAAStE,CAAO,EAAIb,EACpB8D,EAAU,KAAKqB,EAAUJ,GAAKE,GAAQ,OAAO,EAC7CE,EAAS3E,CAAK,EAAIkD,EAASyB,EAAStE,CAAO,CAAC,EAExCqE,IAAcJ,IAAcA,GAAW,OAAS,OAAOA,GAAW,MAAM,SAAW1E,IACnF+E,EAASzE,CAAI,EAAI,SAEdyE,CACX,EACA,KAAK,OAAS,UAAY,CACtB,IAAIC,EAAO,CAAC,EACZ,OAAAA,EAAKtE,CAAY,EAAId,EACrB8D,EAAU,KAAKsB,EAAML,GAAKE,GAAQ,GAAG,EAC9BG,CACX,EACA,KAAK,UAAY,UAAY,CACzB,IAAIC,EAAU,CAAC,EACf,OAAAA,EAAQzE,CAAM,EAAIZ,EAClBqF,EAAQ5E,CAAK,EAAIT,EACjBqF,EAAQ1E,CAAI,EAAIX,EAChB8D,EAAU,KAAKuB,EAASN,GAAKE,GAAQ,MAAM,EACvCC,IAAc,CAACG,EAAQ1E,CAAI,GAAKqE,IAASA,GAAM,SAC/CK,EAAQ1E,CAAI,EAAIK,GAGhBkE,IAAcG,EAAQ5E,CAAK,GAAK,aAAeqE,IAAc,OAAOA,GAAW,aAAezE,GAAcyE,GAAW,gBAAkBA,GAAW,eAAiB,IACrKO,EAAQ5E,CAAK,EAAI,OACjB4E,EAAQ1E,CAAI,EAAIM,GAEboE,CACX,EACA,KAAK,UAAY,UAAY,CACzB,IAAIC,EAAU,CAAC,EACf,OAAAA,EAAQ5E,CAAI,EAAIV,EAChBsF,EAAQzE,CAAO,EAAIb,EACnB8D,EAAU,KAAKwB,EAASP,GAAKE,GAAQ,MAAM,EACpCK,CACX,EACA,KAAK,MAAQ,UAAY,CACrB,IAAIC,EAAM,CAAC,EACX,OAAAA,EAAI7E,CAAI,EAAIV,EACZuF,EAAI1E,CAAO,EAAIb,EACf8D,EAAU,KAAKyB,EAAKR,GAAKE,GAAQ,EAAE,EAC/BC,IAAc,CAACK,EAAI7E,CAAI,GAAKsE,IAASA,GAAM,UAAYA,GAAM,UAAY,YACzEO,EAAI7E,CAAI,EAAIsE,GAAM,SACG,QAAQ,aAActC,EAAW,EACjC,QAAQ,SAAUC,EAAM,GAE1C4C,CACX,EACA,KAAK,UAAY,UAAY,CACzB,MAAO,CACH,GAAU,KAAK,MAAM,EACrB,QAAU,KAAK,WAAW,EAC1B,OAAU,KAAK,UAAU,EACzB,GAAU,KAAK,MAAM,EACrB,OAAU,KAAK,UAAU,EACzB,IAAU,KAAK,OAAO,CAC1B,CACJ,EACA,KAAK,MAAQ,UAAY,CACrB,OAAOR,EACX,EACA,KAAK,MAAQ,SAAUhB,EAAI,CACvB,OAAAgB,GAAO,OAAOhB,IAAOxD,GAAYwD,EAAG,OAAS1C,EAAiBuC,EAAKG,EAAI1C,CAAa,EAAI0C,EACjF,IACX,EACA,KAAK,MAAMgB,EAAG,EACP,IACX,EAzFe,YA2FfF,EAAS,QAAU5E,EACnB4E,EAAS,QAAW3B,EAAU,CAACxC,EAAMG,EAASL,CAAK,CAAC,EACpDqE,EAAS,IAAM3B,EAAU,CAACpC,CAAY,CAAC,EACvC+D,EAAS,OAAS3B,EAAU,CAACzC,EAAOG,EAAQD,EAAMI,EAASC,EAAQE,GAASD,EAAQE,GAAUC,EAAQ,CAAC,EACvGyD,EAAS,OAASA,EAAS,GAAK3B,EAAU,CAACxC,EAAMG,CAAO,CAAC,EAOrD,OAAOhB,KAAaQ,GAEhB,OAAOP,KAAWO,GAAcP,GAAO,UACvCD,GAAUC,GAAO,QAAU+E,GAE/BhF,GAAQ,SAAWgF,GAGf,OAAO,SAAYzE,GAAa,OAAO,IACvC,OAAO,UAAY,CACf,OAAOyE,CACX,CAAC,EACM,OAAO9E,IAAWM,IAEzBN,EAAO,SAAW8E,GAS1B,IAAIW,GAAI,OAAOzF,IAAWM,IAAeN,EAAO,QAAUA,EAAO,OACjE,GAAIyF,IAAK,CAACA,GAAE,GAAI,CACZ,IAAIC,GAAS,IAAIZ,EACjBW,GAAE,GAAKC,GAAO,UAAU,EACxBD,GAAE,GAAG,IAAM,UAAY,CACnB,OAAOC,GAAO,MAAM,CACxB,EACAD,GAAE,GAAG,IAAM,SAAUzB,GAAI,CACrB0B,GAAO,MAAM1B,EAAE,EACf,IAAI2B,GAASD,GAAO,UAAU,EAC9B,QAASE,MAAQD,GACbF,GAAE,GAAGG,EAAI,EAAID,GAAOC,EAAI,CAEhC,CACJ,CAEJ,GAAG,OAAO,QAAW,SAAW,OAAS9F,EAAI,ICx7B7C,IAAA+F,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,UAAY,OACpBA,GAAQ,UAAY,CAChB,IAAK;AAAA;AAAA,0BAGL,SAAU;AAAA;AAAA;AAAA,yBAGd,ICVA,IAAAC,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,SAAWA,GAAQ,gBAAkBA,GAAQ,eAAiBA,GAAQ,SAAWA,GAAQ,UAAYA,GAAQ,MAAQ,OAC7H,IAAMC,GAAU,cACVC,GAAiBD,GAAQ,gBAAgB,IAAuB,EAChEE,GAAQ,KACRC,GAAQC,EAAA,IAAM,QAAQ,IAAI,aAAe,MAAjC,SACdL,GAAQ,MAAQI,GAChB,IAAME,GAAYD,EAAA,IAAM,QAAQ,IAAI,aAAe,UAAjC,aAClBL,GAAQ,UAAYM,GACpB,IAAMC,GAAWF,EAAA,IAAM,GAAN,YACjBL,GAAQ,SAAWO,GACnB,IAAMC,GAAiBH,EAAA,OACXL,GAAQ,OAAO,EACZ,MACJ,UAHY,kBAKvBA,GAAQ,eAAiBQ,GACzB,IAAIC,GACEC,GAAeL,EAAA,IAAM,OAAO,UAAU,UAAvB,gBACfM,GAAqBN,EAAA,IAAM,CAC7B,GAAI,CAACI,GAAiB,CAClB,IAAMG,EAAKF,GAAa,EACxBD,GAAkB,IAAIP,GAAe,QAAQU,CAAE,CACnD,CACA,OAAOH,EACX,EAN2B,sBAOrBI,GAAYR,EAAA,IAAM,UAAU,KAAKK,GAAa,CAAC,EAAnC,aACZI,GAAaT,EAAA,IAAM,OAAO,KAAKK,GAAa,CAAC,EAAhC,cACbK,GAAoBV,EAAA,IAAMM,GAAmB,EAAE,WAAW,EAAE,SAAW,GAAnD,qBACpBK,GAAgBX,EAAA,IAAM,QAAQ,IAAI,YAAc,GAAhC,iBAChBY,GAAeZ,EAAA,IAAMM,GAAmB,EAAE,MAAM,EAAE,SAAW,GAA9C,gBACfO,GAAkBb,EAAA,IAAM,QAAQ,IAAI,SAAW,GAA7B,mBAClBc,GAAiBd,EAAA,IAAM,CACzB,IAAMe,EAAcT,GAAmB,EAAE,WAAW,EAAE,KACtD,OAAkES,GAAY,YAAY,GAAM,EACpG,EAHuB,kBAIjBC,GAAYhB,EAAA,IAAMc,GAAe,IAAM,UAA3B,aACZG,GAAcjB,EAAA,IAAM,OAAO,UAAU,SAAvB,eACdkB,GAAuBlB,EAAA,IAAM,OAAO,UAAU,UAAvB,wBACvBmB,GAAiBnB,EAAA,IAAM,OAAO,OAAO,MAApB,kBACjBoB,GAAkBpB,EAAA,IAAM,OAAO,OAAO,OAApB,mBAClBqB,GAAiBrB,EAAA,IAAM,OAAO,WAAb,kBACjBsB,GAAkBtB,EAAA,IAAM,OAAO,YAAb,mBAClBuB,GAAoBvB,EAAA,IAAM,OAAO,SAAS,OAAtB,qBACpBwB,GAAsBxB,EAAA,IAAM,OAAO,SAAS,SAAtB,uBACtByB,GAAqBzB,EAAA,IAAO,OAAO,QAAY,IAAc,QAAQ,SAAW,GAA3D,sBACrB0B,GAAU1B,EAAA,IAAM,CAClB,GAAIyB,GAAmB,IAAM,SACzB,MAAO,GACX,GAAI,SAAO,OAAW,KAEtB,OAAOR,GAAY,EAAE,WAAW,KAAK,CACzC,EANgB,WAOVU,GAAY3B,EAAA,IAAM,CACpB,GAAIyB,GAAmB,IAAM,QACzB,MAAO,GACX,GAAI,SAAO,OAAW,KAEtB,OAAOR,GAAY,EAAE,WAAW,KAAK,CACzC,EANkB,aAOZW,GAAQ5B,EAAA,IAAM,CAAC,SAAU,OAAQ,MAAM,EAAE,SAASiB,GAAY,CAAC,EAAvD,SACRY,GAAU7B,EAAA,IAAM,CAClB,GAAIyB,GAAmB,IAAM,QACzB,MAAO,GACX,GAAI,SAAO,OAAW,KAEtB,OAAIjB,GAAU,GAAKC,GAAW,EACnB,GACJQ,GAAY,EAAE,WAAW,OAAO,CAC3C,EARgB,WASVa,GAAkB9B,EAAA,IAAM,QAAQ,IAAI,oBAAsB,OAAxC,mBAClB+B,GAAY/B,EAAA,IACV2B,GAAU,EACH,UACPD,GAAQ,EACD,QACPlB,GAAU,EACH,UACPC,GAAW,EACJ,WACPoB,GAAQ,EACD,QACPD,GAAM,EACC,MACJ,GAbO,aAeZI,GAAehC,EAAA,IAAMM,GAAmB,EAAE,MAAM,EAAE,KAAnC,gBACf2B,GAAcjC,EAAA,IAAM,CACtB,IAAMkC,EAAS5B,GAAmB,EAAE,MAAM,EAAE,KAC5C,OAAI4B,IAAW,UACJ,UAEPA,IAAW,SACJ,QAEJ,OACX,EAToB,eAUdC,GAAgBnC,EAAA,IAAMM,GAAmB,EAAE,UAAU,EAAE,KAAvC,iBAChB8B,GAAkBpC,EAAA,IAAO8B,GAAgB,EAAIhC,GAAM,UAAU,SAAWA,GAAM,UAAU,IAAtE,mBACxBH,GAAQ,gBAAkByC,GAC1BzC,GAAQ,SAAW,CACf,MAAOA,GAAQ,MACf,UAAWA,GAAQ,UACnB,SAAUA,GAAQ,SAClB,eAAgBA,GAAQ,eACxB,aAAAU,GACA,UAAAG,GACA,WAAAC,GACA,aAAAG,GACA,eAAAE,GACA,kBAAAJ,GACA,cAAAC,GACA,cAAAwB,GACA,gBAAAtB,GACA,UAAAG,GACA,YAAAC,GACA,qBAAAC,GACA,eAAAC,GACA,gBAAAC,GACA,eAAAC,GACA,gBAAAC,GACA,kBAAAC,GACA,oBAAAC,GACA,mBAAAC,GACA,QAAAC,GACA,UAAAC,GACA,MAAAC,GACA,QAAAC,GACA,gBAAAC,GACA,UAAAC,GACA,aAAAC,GACA,YAAAC,GACA,gBAAiBtC,GAAQ,eAC7B,ICtIA,IAAA0C,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,gBAAkBA,GAAQ,YAAcA,GAAQ,aAAeA,GAAQ,UAAYA,GAAQ,gBAAkBA,GAAQ,QAAUA,GAAQ,MAAQA,GAAQ,UAAYA,GAAQ,QAAUA,GAAQ,mBAAqBA,GAAQ,oBAAsBA,GAAQ,kBAAoBA,GAAQ,gBAAkBA,GAAQ,eAAiBA,GAAQ,gBAAkBA,GAAQ,eAAiBA,GAAQ,qBAAuBA,GAAQ,YAAcA,GAAQ,UAAYA,GAAQ,gBAAkBA,GAAQ,aAAeA,GAAQ,cAAgBA,GAAQ,cAAgBA,GAAQ,eAAiBA,GAAQ,kBAAoBA,GAAQ,WAAaA,GAAQ,UAAYA,GAAQ,aAAeA,GAAQ,eAAiBA,GAAQ,SAAWA,GAAQ,UAAYA,GAAQ,MAAQ,OACzuB,IAAMC,GAAa,KACnBD,GAAQ,MAAQC,GAAW,SAAS,MAAOD,GAAQ,UAAYC,GAAW,SAAS,UAAWD,GAAQ,SAAWC,GAAW,SAAS,SAAUD,GAAQ,eAAiBC,GAAW,SAAS,eAAgBD,GAAQ,aAAeC,GAAW,SAAS,aAAcD,GAAQ,UAAYC,GAAW,SAAS,UAAWD,GAAQ,WAAaC,GAAW,SAAS,WAAYD,GAAQ,kBAAoBC,GAAW,SAAS,kBAAmBD,GAAQ,eAAiBC,GAAW,SAAS,eAAgBD,GAAQ,cAAgBC,GAAW,SAAS,cAAeD,GAAQ,cAAgBC,GAAW,SAAS,cAAeD,GAAQ,aAAeC,GAAW,SAAS,aAAcD,GAAQ,gBAAkBC,GAAW,SAAS,gBAAiBD,GAAQ,UAAYC,GAAW,SAAS,UAAWD,GAAQ,YAAcC,GAAW,SAAS,YAAaD,GAAQ,qBAAuBC,GAAW,SAAS,qBAAsBD,GAAQ,eAAiBC,GAAW,SAAS,eAAgBD,GAAQ,gBAAkBC,GAAW,SAAS,gBAAiBD,GAAQ,eAAiBC,GAAW,SAAS,eAAgBD,GAAQ,gBAAkBC,GAAW,SAAS,gBAAiBD,GAAQ,kBAAoBC,GAAW,SAAS,kBAAmBD,GAAQ,oBAAsBC,GAAW,SAAS,oBAAqBD,GAAQ,mBAAqBC,GAAW,SAAS,mBAAoBD,GAAQ,QAAUC,GAAW,SAAS,QAASD,GAAQ,UAAYC,GAAW,SAAS,UAAWD,GAAQ,MAAQC,GAAW,SAAS,MAAOD,GAAQ,QAAUC,GAAW,SAAS,QAASD,GAAQ,gBAAkBC,GAAW,SAAS,gBAAiBD,GAAQ,UAAYC,GAAW,SAAS,UAAWD,GAAQ,aAAeC,GAAW,SAAS,aAAcD,GAAQ,YAAcC,GAAW,SAAS,YAAaD,GAAQ,gBAAkBC,GAAW,SAAS,kBCJjyD,IAAAC,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,cAAgBA,GAAQ,oBAAsB,OACtD,IAAMC,GAAc,KACdC,GAAsBC,EAAA,IAAM,CAC9B,IAAMC,KAAYH,GAAY,cAAc,EAC5C,UAAYA,GAAY,aAAa,EAAG,CACpC,IAAK,QACD,MAAO,MACX,IAAK,UAED,MAAO,MADMG,EAAM,MAAM,eAAe,EAAI,KAAO,IAClC,GAErB,IAAK,QAAS,CACV,IAAMC,EAAQD,EAAM,MAAM,uDAAuD,EAC3E,MACA,MACAE,EAAQF,EAAM,MAAM,iBAAiB,EAAI,KAAO,KACtD,MAAO,GAAGC,CAAK,GAAGC,CAAK,EAC3B,CACA,QACJ,CACJ,EAlB4B,uBAmB5BN,GAAQ,oBAAsBE,GAC9B,IAAMK,GAAgBJ,EAACK,GAAsB,CACzC,IAAMC,KAAkBR,GAAY,gBAAgB,EAC9CS,KAAqBT,GAAY,mBAAmB,EACpDU,EAAmBF,EAAcD,EAAkBC,EAAY,YAAY,CAAC,EAAI,OAChFG,EAAkBD,EAClBA,EAAiB,QAAU,SAASD,EAAgB,EAAE,EACtD,GACAG,KAAaZ,GAAY,eAAe,IAAM,SAC9Ca,EAAkBD,EAAS,QAAS,UAAY,GAChDE,EAAY,CAAC,EAAEJ,GAAoB,CAACC,GAAmBE,GAC7D,MAAO,CACH,GAAI,CACA,UAAYb,GAAY,aAAa,EACrC,OAAAY,CACJ,EACA,QAAS,CACL,UAAAE,EACA,SAAUH,CACd,CACJ,CACJ,EApBsB,iBAqBtBZ,GAAQ,cAAgBO,KC7CxB,IAAAS,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5D,IAAMC,GAAU,cAChBA,GAAQ,aAAa,KAAsBD,EAAO,EAClDC,GAAQ,aAAa,KAAsCD,EAAO,EAClEC,GAAQ,aAAa,KAAyBD,EAAO,ICLrD,IAAAE,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,2BAA6B,OACrC,IAAMC,GAAmB,KACnBC,GAAN,cAAyCD,GAAiB,sBAAuB,CAJjF,MAIiF,CAAAE,EAAA,mCAC7E,YAAY,CAAE,KAAAC,EAAM,QAAAC,EAAS,OAAAC,EAAQ,cAAAC,EAAe,WAAAC,EAAY,gBAAAC,EAAkB,GAAO,UAAAC,CAAW,EAAG,CACnG,MAAM,CACF,QAAAL,EACA,OAASM,GAAY,CACjB,GAAI,CAAC,KAAK,KACN,MAAM,IAAI,MAAM,mBAAmB,EACvC,KAAK,KAAK,YAAYA,CAAO,CACjC,EACA,OAAAL,EACA,cAAAC,EACA,WAAAC,CACJ,CAAC,EACD,KAAK,KAAOJ,EACZ,KAAK,gBAAkBK,EACvB,KAAK,UAAYC,EACjB,KAAK,QAAQ,CACjB,CACA,SAAU,CACN,OAAO,QAAQ,UAAU,YAAYE,GAAQ,CACzC,IAAIC,EAAIC,EAAIC,EAAIC,EACZJ,EAAK,OAAS,KAAK,OAEjB,GAAAC,EAAK,KAAK,aAAe,MAAQA,IAAO,SAAkBA,EAAG,KAAK,IAAI,KAAQC,EAAK,KAAK,aAAe,MAAQA,IAAO,OAAS,OAASA,EAAG,KAAK,IAAI,OAASE,GAAMD,EAAKH,EAAK,UAAY,MAAQG,IAAO,OAAS,OAASA,EAAG,OAAS,MAAQC,IAAO,OAAS,OAASA,EAAG,MAEhR,KAAK,KAAOJ,EACZ,KAAK,KAAK,UAAU,YAAY,CAACD,EAAS,CAAE,OAAAM,CAAO,IAAM,CACrD,IAAIJ,EAAIC,EAAIC,EAAIC,EAChB,GAAI,CAACC,EAAQ,EACRJ,EAAK,KAAK,UAAY,MAAQA,IAAO,QAAkBA,EAAG,MAAM,wBAAyB,WAAW,EACrG,MACJ,CACA,GAAM,CAAE,OAAAK,CAAO,EAAID,EACbE,EAAY,CACd,4BACA,oCACA,8BACA,6BACA,uBACJ,EACMC,GAAkBN,EAAK,QAAW,KAA4B,OAAS,OAAO,WAAa,MAAQA,IAAO,OAAS,OAASA,EAAG,GAIrI,GAHIM,GACAD,EAAU,KAAK,sBAAsBC,CAAc,EAAE,EAErD,CAACF,EAAQ,EACRH,EAAK,KAAK,UAAY,MAAQA,IAAO,QAAkBA,EAAG,MAAM,8DAA+D,WAAW,EAC3I,MACJ,CACA,GAAI,CAACI,EAAU,SAASD,CAAM,EAAG,EAC5BF,EAAK,KAAK,UAAY,MAAQA,IAAO,QAAkBA,EAAG,MAAM,8DAA+D,yBAA0BE,CAAM,EAChK,MACJ,CACIA,IAAW,KAAK,QAAU,CAAC,KAAK,iBAGpC,KAAK,UAAUP,CAAO,CAC1B,CAAC,GACL,CAAC,EACD,KAAK,YAAc,EACvB,CACA,YAAa,CACT,IAAIE,EACC,KAAK,eAETA,EAAK,KAAK,QAAU,MAAQA,IAAO,QAAkBA,EAAG,WAAW,EACpE,KAAK,MAAM,EACX,KAAK,YAAc,GACvB,CACJ,EACAb,GAAQ,2BAA6BE,KCzErC,IAAAmB,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,oBAAsB,OAC9B,IAAMC,GAAmB,KACnBC,GAAN,cAAkCD,GAAiB,sBAAuB,CAJ1E,MAI0E,CAAAE,EAAA,4BACtE,YAAY,CAAE,WAAAC,EAAY,WAAAC,EAAY,QAAAC,EAAS,OAAAC,EAAQ,OAAAC,CAAQ,EAAG,CAC9D,MAAM,CACF,QAAAF,EACA,OAASG,GAAY,CACjB,IAAIC,GACHA,EAAKL,EAAW,KAAO,MAAQK,IAAO,QAAkBA,EAAG,YAAYD,EAASD,CAAM,CAC3F,EACA,OAAAD,CACJ,CAAC,EACD,KAAK,UAAY,KAAK,SAAS,KAAK,IAAI,EACxC,KAAK,YAAcH,EACnB,KAAK,QAAQ,CACjB,CACA,SAASO,EAAO,CACZ,IAAMF,EAAU,OAAO,OAAO,OAAO,OAAO,CAAC,EAAGE,EAAM,IAAI,EAAG,CAAE,QAAS,GAAM,OAAQA,EAAM,OAAQ,QAASA,EAAM,KAAK,SAAW,CAAC,EAAG,QAASA,EAAM,KAAK,SAAW,CAC9J,KAAM,KAAK,QAAQ,KACnB,KAAM,KAAK,QAAQ,IACvB,CAAE,CAAC,EACP,KAAK,UAAUF,CAAO,CAC1B,CACA,SAAU,CACN,KAAK,YAAY,iBAAiB,UAAW,KAAK,SAAS,EAC3D,KAAK,YAAc,EACvB,CACA,YAAa,CACJ,KAAK,cAEV,KAAK,YAAY,oBAAoB,UAAW,KAAK,SAAS,EAC9D,KAAK,YAAc,GACvB,CACJ,EACAT,GAAQ,oBAAsBE,KCpC9B,IAAAU,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,aAAe,OACvB,IAAMC,GAAU,cACVC,GAAWD,GAAQ,gBAAgB,GAAQ,QAAQ,CAAC,EACpDE,GAAU,KACVC,GAAW,KACXC,GAAa,KACbC,GAAqB,KACrBC,GAAyB,KACzBC,GAAkB,KAClBC,GAAmBC,EAACC,GAAU,IAAI,QAAQC,GAAW,CACvD,GAAI,CAACD,EACD,OAAOC,EAAQ,EAAK,EACxB,SAASC,GAAW,CACZ,OAAO,QAAQ,UACfD,EAAQ,EAAK,EAGbA,EAAQ,EAAI,CAEpB,CAPSF,EAAAG,EAAA,YAQT,OAAO,KAAK,IAAIF,EAAOE,CAAQ,CACnC,CAAC,EAZwB,oBAanBC,GAAwB,IACxBC,GAAuB,IACvBC,GAAqB,IACrBC,GAAN,cAA2Bf,GAAS,OAAQ,CA3B5C,MA2B4C,CAAAQ,EAAA,qBACxC,YAAYQ,EAAU,CAAE,OAAAC,CAAO,EAAG,CAC9B,IAAIC,EACJ,MAAM,EACN,KAAK,OAAS,GACd,KAAK,eAAiB,EACtB,KAAK,oBAAuBT,GAAU,CAClC,OAAO,YAAY,OAAOU,GAAe,CACrC,IAAID,EACC,GAAAA,EAAKC,EAAY,eAAiB,MAAQD,IAAO,SAAkBA,EAAG,SAAS,WAAW,GAC3F,OAAO,UACF,cAAc,CACf,OAAQ,CAAE,MAAAT,CAAM,EAChB,KAAM,IAAM,CACZ,CACJ,CAAC,EACI,KAAK,IAAM,KAAK,OAAO,MAAM,yBAAyB,CAAC,EACvD,MAAMW,GAAS,KAAK,OAAO,MAAM,iCAAkCA,CAAK,CAAC,CAItF,CAAC,CACL,EACA,KAAK,SAAWJ,EAChB,KAAK,UAAab,GAAW,WAAWa,EAAS,QAAQ,EACzD,KAAK,OAASC,EACV,KAAK,SAAS,MAAQ,eACtB,KAAK,QAAU,IAAIZ,GAAuB,2BAA2B,CACjE,KAAM,iBACN,QAAS,CACL,KAAM,+BACN,KAAM,gCACV,EACA,OAAAY,EACA,UAAW,IAAM,CACb,IAAIC,EAAIG,EACR,KAAMH,EAAK,KAAK,eAAiB,MAAQA,IAAO,OAAS,OAASA,EAAG,QAAU,MAC3E,OAAQG,EAAK,KAAK,eAAiB,MAAQA,IAAO,OAAS,OAASA,EAAG,IAAI,EACnF,EACA,WAAY,CAAC,KAAK,SAAS,cAC/B,CAAC,EAGD,KAAK,QAAU,IAAIf,GAAgB,oBAAoB,CACnD,WAAY,OACZ,WAAY,IAAM,CACd,IAAIY,EAAIG,EACR,KAAMH,EAAK,KAAK,eAAiB,MAAQA,IAAO,OAAS,OAASA,EAAG,QAAU,SAC3E,OAAQG,EAAK,KAAK,eAAiB,MAAQA,IAAO,OAAS,OAASA,EAAG,MAC/E,EACA,QAAS,CACL,KAAM,sBACN,KAAM,uBACV,EACA,OAAAJ,EACA,OAAQ,KAAK,MACjB,CAAC,EAEA,KAAK,SAAS,iBACf,KAAK,0BAA6BhB,GAAQ,gBAAgBC,GAAS,OAAO,MAAM,EAChF,KAAK,cAAgB,IAAII,GAAgB,oBAAoB,CACzD,WAAY,OACZ,WAAY,IAAM,OAClB,QAAS,CACL,KAAM,sBACN,KAAM,wBACV,EACA,OAAAW,EACA,OAAQ,KAAK,MACjB,CAAC,GACAC,EAAK,KAAK,iBAAmB,MAAQA,IAAO,QAAkBA,EAAG,GAAG,UAAW,KAAK,cAAc,KAAK,IAAI,CAAC,GAE7G,KAAK,SAAS,gBACd,KAAK,oBAAuBjB,GAAQ,gBAAgB,EACpD,KAAK,QAAQ,GAAG,UAAW,KAAK,kBAAkB,KAAK,IAAI,CAAC,GAEvD,KAAK,SAAS,MAAQ,eAC3B,KAAK,QAAQ,GAAG,UAAW,KAAK,uBAAuB,KAAK,IAAI,CAAC,EAGjE,KAAK,QAAQ,GAAG,UAAW,KAAK,cAAc,KAAK,IAAI,CAAC,EAE5D,KAAK,QAAQ,KAAK,CACtB,CACA,MAAM,SAAU,CACZ,IAAIiB,EAAIG,EAAIC,EAAIC,EAAIC,EAOpB,GANI,KAAK,SAAS,kBAAoBN,EAAK,KAAK,eAAiB,MAAQA,IAAO,OAAS,OAASA,EAAG,QAAU,QAChF,MAAMX,IAAkBe,GAAMD,EAAK,KAAK,eAAiB,MAAQA,IAAO,OAAS,OAASA,EAAG,OAAS,MAAQC,IAAO,OAAS,OAASA,EAAG,EAAE,GAEnK,KAAK,MAAM,GAGf,KAAK,OAAQ,GACPC,EAAK,KAAK,eAAiB,MAAQA,IAAO,OAAS,OAASA,EAAG,QAAU,OAAS,KAAK,YAAY,IAAI,GACzG,OAAO,KAAK,OAAO,KAAK,YAAY,IAAI,GAAI,CAAE,OAAQ,EAAK,CAAC,IAErDC,EAAK,KAAK,eAAiB,MAAQA,IAAO,OAAS,OAASA,EAAG,QAAU,UAChF,KAAK,YAAY,OAAO,MAAM,EAElC,MACJ,CACI,KAAK,aAAe,CAAC,KAAK,QAC1B,KAAK,MAAM,EAEf,IAAMC,EAAS,KAAK,KAAK,KAAK,IAAI,EAClC,KAAK,OAAS,GACd,IAAMC,EAAU,KAAK,SAAS,MAAQ,eAAiB,EAAId,GAC3D,KAAK,eAAiB,WAAW,IAAM,CACnC,KAAK,eAAiB,OACtBa,EAAO,CACX,EAAGC,CAAO,CACd,CACA,QAAS,CACL,KAAK,OAAS,EAClB,CACA,MAAO,CACH,IAAMC,EAAM,KAAK,SAAS,SAC1B,KAAK,gBAAmB1B,GAAQ,gBAAgBC,GAAS,MAAM,MAAM,EACrE,KAAK,YAAYyB,CAAG,EAChB,MAAK,SAAS,iBAGlB,KAAK,cAAgB,YAAY,IAAM,CAC9B,KAAK,cAEN,KAAK,YAAY,OAAS,OAAS,KAAK,YAAY,IAAI,GACxD,OAAO,KAAK,IAAI,KAAK,YAAY,IAAI,GAAIC,GAAO,CACvCA,IACD,KAAK,KAAK1B,GAAS,MAAM,MAAM,EAC/B,KAAK,MAAM,EAEnB,CAAC,EAEI,KAAK,YAAY,OAAS,UAAY,KAAK,YAAY,OAAO,SACnE,KAAK,MAAM,EACX,KAAK,KAAKA,GAAS,MAAM,MAAM,GAEvC,EAAGW,EAAoB,EACvB,KAAK,YAAc,WAAW,IAAM,CAChC,KAAK,MAAM,KACPT,GAAmB,kBAAkB,KAAK,KAAK,KAAK,IAAI,EAAG,IAAM,CACjE,KAAK,KAAKF,GAAS,MAAM,MAAM,CACnC,CAAC,CACL,EAAGY,EAAkB,EACzB,CACA,YAAYe,EAAK,CACb,GAAI,KAAK,SAAS,MAAQ,eACtB,OAAO,QAAQ,WAAWC,GAAiB,CACvC,KAAK,OAAO,MAAM,iCAAkCA,CAAa,EAC7DA,EAAc,OAAS,SACvB,OAAO,QAAQ,OAAO,CAAE,IAAAD,CAAI,EAAGE,GAAa,CACxC,OAAO,KAAK,MAAM,CACd,SAAgEA,GAAU,GAC1E,OAAQ,EACZ,EAAGC,GAAQ,CACP,KAAK,YAAc,CAAE,KAAM,MAAO,IAAKA,EAAK,CAAC,CAAE,EAC/C,KAAK,oBAAoBA,EAAK,CAAC,EAAE,EAAE,CACvC,CAAC,CACL,CAAC,EAGD,OAAO,KAAK,MAAM,CACd,cAAe,GACf,OAAQ,EACZ,EAAGA,GAAQ,CACP,KAAK,eAAiBA,EAAK,CAAC,EAAE,GAC9B,OAAO,KAAK,OAAO,CACf,IAAAH,EACA,MAAOG,EAAK,CAAC,EAAE,MAAQ,CAC3B,EAAGJ,GAAO,CACN,KAAK,YAAc,CAAE,KAAM,MAAO,IAAAA,CAAI,EACtC,KAAK,oBAAoBA,EAAI,EAAE,CACnC,CAAC,CACL,CAAC,CAET,CAAC,MAEA,CACD,IAAMK,EAAe,OAAO,KAAKJ,EAAK,OAAO,EAC7C,GAAI,CAACI,EACD,OACJ,KAAK,YAAc,CAAE,KAAM,SAAU,OAAQA,CAAa,CAC9D,CACK,KAAK,QAAQ,aACd,KAAK,QAAQ,QAAQ,CAE7B,CACA,kBAAkBC,EAAS,CACvB,IAAIhB,EACAgB,EAAQ,OAAShC,GAAS,MAAM,OAChC,KAAK,cAAcgC,CAAO,EAErBA,EAAQ,OAAShC,GAAS,MAAM,aACrC,KAAK,QAAQ,YAAY,CACrB,KAAMA,GAAS,MAAM,UACrB,QAAS,CAAE,SAAU,KAAK,QAAS,CACvC,CAAC,GACAgB,EAAK,KAAK,oBAAsB,MAAQA,IAAO,QAAkBA,EAAG,QAAQ,GAExEgB,EAAQ,OAAShC,GAAS,MAAM,QACrC,KAAK,QAAQ,uBAAuB,CAChC,KAAM,qBACN,MAAOA,GAAS,MAAM,MAC1B,CAAC,CAET,CACA,uBAAuBiC,EAAM,CACrBA,EAAK,OAASjC,GAAS,MAAM,OAC7BiC,EAAK,OAASjC,GAAS,MAAM,QAC7BiC,EAAK,OAASjC,GAAS,MAAM,UAC7B,KAAK,cAAciC,CAAI,EAElBA,EAAK,OAASjC,GAAS,MAAM,0BAClC,OAAO,KAAK,MAAM,CACd,cAAe,GACf,OAAQ,EACZ,EAAG8B,GAAQ,CACP,OAAO,KAAK,OAAO,CACf,IAAK,8BACL,MAAOA,EAAK,CAAC,EAAE,MAAQ,CAC3B,EAAGI,GAAQ,CACX,CAAC,CACL,CAAC,EAEID,EAAK,OAASjC,GAAS,MAAM,cAClC,KAAK,MAAM,CAEnB,CACA,cAAciC,EAAM,CAChB,IAAIjB,EAAIG,EACR,GAAIc,EAAK,OAASjC,GAAS,OAAO,QAC7BgB,EAAK,KAAK,0BAA4B,MAAQA,IAAO,QAAkBA,EAAG,QAAQiB,EAAK,OAAO,UAE1FA,EAAK,OAASjC,GAAS,MAAM,UAC9B,KAAK,aACL,aAAa,KAAK,WAAW,UAE5BiC,EAAK,OAASjC,GAAS,MAAM,OAAS,KAAK,YAAa,CAC7D,IAAMmC,EAAeF,EAAK,SAAW,OAAOA,EAAK,QAAQ,OAAU,SAAWA,EAAK,QAAQ,MAAQ,KACnG,KAAK,KAAKjC,GAAS,MAAM,OAAQmC,EAAe,gBAAgBA,CAAY,GAAK,IAAI,EACrF,KAAK,MAAM,CACf,MACSF,EAAK,OAASjC,GAAS,MAAM,QAC9B,KAAK,aACL,aAAa,KAAK,WAAW,EAC7B,KAAK,cACL,KAAK,aAAa,QAAQ,GAE7BmB,EAAK,KAAK,0BAA4B,MAAQA,IAAO,QAAkBA,EAAG,QAAQ,KAAKiB,GAAW,CAC/F,KAAK,QAAQ,YAAY,CACrB,KAAMpC,GAAS,MAAM,KACrB,QAAS,OAAO,OAAO,OAAO,OAAO,CAAC,EAAGoC,CAAO,EAAG,CAAE,SAAU,KAAK,QAAS,CAAC,CAClF,CAAC,CACL,CAAC,IAEIH,EAAK,OAASjC,GAAS,MAAM,sBAAwBiC,EAAK,OAASjC,GAAS,GAAG,kBACpF,KAAK,MAAM,EAAK,CAExB,CACA,MAAMqC,EAAQ,GAAM,CAChB,KAAK,OAAS,GACd,KAAK,aAAe,OACpB,KAAK,oBAAuBtC,GAAQ,gBAAgB,EAChD,KAAK,SACL,KAAK,QAAQ,WAAW,EAExB,KAAK,iBACL,aAAa,KAAK,cAAc,EAChC,KAAK,eAAiB,QAEtB,KAAK,cACL,aAAa,KAAK,WAAW,EAC7B,KAAK,YAAc,QAEnB,KAAK,gBACL,cAAc,KAAK,aAAa,EAChC,KAAK,cAAgB,QAErBsC,GAAS,KAAK,iBACd,OAAO,KAAK,OAAO,KAAK,eAAgB,CAAE,OAAQ,EAAK,CAAC,EACxD,KAAK,eAAiB,EAE9B,CACA,OAAQ,CACJ,GAAK,KAAK,YAGV,IADA,KAAK,OAAO,MAAM,eAAe,EAC7B,KAAK,YAAY,OAAS,MAAO,CACjC,IAAIC,EAAK,OAAO,QAAQ,UACpB,KAAK,YAAY,IAAI,IACrB,OAAO,KAAK,OAAO,KAAK,YAAY,IAAI,GAAI,IAAM,CAC9CA,EAAK,OAAO,QAAQ,UAChBA,GACA,KAAK,OAAO,MAAM,oBAAqBA,CAAE,CAEjD,CAAC,CAET,MACS,KAAK,YAAY,OAAS,UAC/B,KAAK,YAAY,OAAO,MAAM,EAElC,KAAK,YAAc,OACvB,CACA,MAAM,YAAYN,EAAS,CACvB,IAAIhB,EAAIG,EACR,GAAI,CAAC,KAAK,aAAea,EAAQ,OAAShC,GAAS,GAAG,mBAAqB,KAAK,YAAa,CACzF,KAAK,MAAM,KACPE,GAAmB,kBAAkB,KAAK,KAAK,KAAK,IAAI,EAAG,IAAM,CACjE,KAAK,KAAKF,GAAS,MAAM,MAAM,CACnC,CAAC,EACD,MACJ,CACI,KAAK,cACL,MAAM,KAAK,aAAa,UAEtBgB,EAAK,KAAK,eAAiB,MAAQA,IAAO,OAAS,OAASA,EAAG,QAAU,SAC3E,KAAK,YAAY,OAAO,YAAYgB,EAAS,KAAK,MAAM,IAEjDb,EAAK,KAAK,eAAiB,MAAQA,IAAO,OAAS,OAASA,EAAG,QAAU,OAChF,KAAK,QAAQ,YAAYa,CAAO,CAExC,CACJ,EACApC,GAAQ,aAAeiB,KC9VvB,IAAA0B,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5D,IAAMC,GAASC,EAAA,CAACC,EAAY,GAAIC,IAAQ,CACpC,IAAMC,EAAQF,GAAa,wBACrBG,EAAU,SAAS,iBAAiBD,CAAK,EACzCE,EAAM,GAAGH,CAAG,IAAI,KAAK,IAAI,CAAC,GAChCE,EAAQ,QAAQE,GAAK,CACjB,GAAIA,EAAE,qBAAqB,QAAQ,EAAE,OAAS,EAAG,CAC7C,IAAMC,EAASD,EAAE,sBAAsB,EACjCE,EAAY,SAAS,cAAc,QAAQ,EACjDA,EAAU,YAAc,IACxBA,EAAU,MAAQ,GAAG,KAAK,MAAMD,EAAO,KAAK,CAAC,KAC7CC,EAAU,OAAS,GAAG,KAAK,MAAMD,EAAO,MAAM,CAAC,KAC/CC,EAAU,MAAM,SAAW,WAC3BA,EAAU,MAAM,IAAM,MACtBA,EAAU,MAAM,KAAO,MACvBA,EAAU,MAAM,OAAS,IACzBA,EAAU,aAAa,QAAS,KAAK,EACrCA,EAAU,aAAa,YAAa,IAAI,EACxCA,EAAU,IAAMH,EAChBC,EAAE,OAAOE,CAAS,CACtB,CACJ,CAAC,CACL,EArBe,UAsBfV,GAAQ,QAAUC,KCxBlB,IAAAU,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,eAAiBA,GAAQ,QAAU,OAC3CA,GAAQ,QAAU,QAClB,IAAMC,GAAWD,GAAQ,QAAQ,MAAM,GAAG,EAAE,IAAIE,GAAK,SAASA,EAAG,EAAE,CAAC,EAC9DC,GAASH,GAAQ,QAAQ,SAAS,MAAM,EAC9CA,GAAQ,eAAiBG,GACnB,6BAA6BH,GAAQ,OAAO,IAC5C,6BAA6BC,GAAS,CAAC,CAAC,MCR9C,IAAAG,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,qBAAuBA,GAAQ,cAAgBA,GAAQ,iBAAmB,OAClF,IAAMC,GAAY,KAClBD,GAAQ,iBAAmB,EAC3B,IAAME,GAAkB,CACpB,UAAW,qBACX,QAASD,GAAU,QACnB,MAAO,GACP,SAAUD,GAAQ,iBAClB,YAAa,GACb,WAAYC,GAAU,eACtB,UAAW,GAAGA,GAAU,cAAc,cACtC,MAAO,GACP,SAAU,GAAGA,GAAU,cAAc,aACrC,UAAW,GAAGA,GAAU,cAAc,cACtC,WAAY,OACZ,sBAAuB,GACvB,IAAK,OACL,SAAU,GACV,UAAW,IAAI,KAAK,EAAE,QAAQ,EAC9B,mBAAoB,IACpB,aAAc,EAClB,EACME,GAAgBC,EAACC,GAAa,CAChC,GAAKA,GAED,OAAOA,EAAS,OAAU,UAE1B,OAAOA,EAAS,QAAW,SAE/B,MAAO,CACH,MAAOA,EAAS,MAChB,OAAQA,EAAS,MACrB,CACJ,EAXsB,iBAYhBC,GAAgBF,EAACG,GAAQ,CAC3B,GAAI,OAAOA,GAAQ,WAEfA,EAAI,MAAM,6CAA6C,GAEvDA,EAAI,MAAM,sCAAsC,GAEhDA,EAAI,MAAM,4CAA4C,GAEtDA,EAAI,MAAM,mGAAmG,GAC7G,OAAOA,CACf,EAXsB,iBAYtBP,GAAQ,cAAgBM,GACxB,IAAME,GAAuBJ,EAAA,CAACK,EAAQ,CAAC,IAAM,CACzC,IAAIC,EACJ,IAAMC,EAAW,CAAE,GAAGT,EAAgB,EAClC,UAAWO,IACP,OAAOA,EAAM,OAAU,UACvBE,EAAS,MAAQF,EAAM,MAElB,OAAOA,EAAM,OAAU,WAC5BE,EAAS,MAAQF,EAAM,QAAU,SAGrCA,EAAM,cAAgB,KACtBE,EAAS,YAAcF,EAAM,aAE7B,OAAOA,EAAM,YAAe,WAAc,GAAAC,EAAKD,EAAM,cAAgB,MAAQC,IAAO,SAAkBA,EAAG,WAAW,MAAM,GAC1HC,EAAS,cAAiBX,GAAQ,eAAeS,EAAM,UAAU,EAE5DE,EAAS,cACdA,EAAS,WAAaF,EAAM,YAEhC,IAAMG,EAAMD,EAAS,YAAcV,GAAU,eAC7C,OAAAU,EAAS,UAAY,GAAGC,CAAG,cAC3BD,EAAS,SAAW,GAAGC,CAAG,aAC1BD,EAAS,UAAY,GAAGC,CAAG,cACvB,OAAOH,EAAM,oBAAuB,YACpCE,EAAS,mBAAqBF,EAAM,oBAEpC,OAAOA,EAAM,QAAW,YACxBE,EAAS,OAASF,EAAM,QAExB,MAAM,QAAQA,EAAM,UAAU,IAC9BE,EAAS,WAAaF,EAAM,YAE5B,OAAOA,EAAM,OAAU,YACvBE,EAAS,MAAQF,EAAM,OAEvB,OAAOA,EAAM,UAAa,YAC1BE,EAAS,SAAWF,EAAM,UAE1B,OAAOA,EAAM,uBAA0B,YACvCE,EAAS,sBAAwBF,EAAM,uBAEvC,OAAOA,EAAM,WAAc,WAC3BE,EAAS,UAAYF,EAAM,WAE3B,OAAOA,EAAM,KAAQ,WACrBE,EAAS,IAAMF,EAAM,KAErB,OAAOA,EAAM,WAAc,WAC3BE,EAAS,UAAYF,EAAM,WAE3B,OAAOA,EAAM,oBAAuB,WACpCE,EAAS,mBAAqBF,EAAM,oBAEpC,OAAOA,EAAM,UAAa,WAC1BE,EAAS,SAAWR,GAAcM,EAAM,QAAQ,GAEhD,OAAOA,EAAM,cAAiB,YAC9BE,EAAS,aAAeF,EAAM,cAE9B,OAAOA,EAAM,gBAAmB,YAChCE,EAAS,eAAiBF,EAAM,gBAEhC,OAAOA,EAAM,6BAAgC,YAC7CE,EAAS,4BAA8BF,EAAM,6BAE1CE,CACX,EAnE6B,wBAoE7BX,GAAQ,qBAAuBQ,KCrH/B,IAAAK,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,qBAAuBA,GAAQ,OAAS,OAChD,IAAMC,GAAoB,KACpBC,GAASC,EAAA,IAAM,CACjB,IAAIC,EACJ,GAAI,OAAO,OAAW,KAAe,QAASA,EAAK,OAAO,WAAa,MAAQA,IAAO,OAAS,OAASA,EAAG,WAAe,IACtH,MAAO,eAEX,GAAI,OAAO,UAAc,IAAa,CAClC,GAAI,OAAO,UAAU,SAAY,UAC7B,UAAU,QAAQ,YAAY,IAAM,cACpC,MAAO,eAGX,GADkB,UAAU,UAAU,YAAY,EACpC,QAAQ,YAAY,EAAI,GAClC,MAAO,UAEf,CACA,MAAO,KACX,EAhBe,UAiBfJ,GAAQ,OAASE,GACjB,IAAMG,GAAqBF,EAAA,CAACG,EAAKC,IAAS,CACtC,IAAMC,EAAe,IAAI,gBAAgBF,CAAG,EACtCG,EAAS,CAAC,EAEhB,OADmB,MAAM,KAAKD,EAAa,QAAQ,CAAC,EACzC,QAAQ,CAAC,CAACE,EAAKC,CAAK,IAAM,CAC7BJ,EAAK,SAASG,CAAG,IACjBD,EAAOC,CAAG,EAAI,mBAAmBC,CAAK,EAE9C,CAAC,EACMF,CACX,EAV2B,sBAWrBG,GAAuBT,EAAA,CAACU,EAAQ,CAAC,IAAM,CACzC,IAAIT,EACJ,IAAMU,EAAW,OAAO,OAAO,CAAE,MAAO,EAAK,EAAGD,CAAK,EACjDE,EAWJ,GAVI,OAAO,OAAW,IAClBA,EAAY,OAAO,qBAEd,OAAO,OAAW,MACvBA,EAAY,OAAO,sBAEnB,OAAOA,GAAc,WACrBD,EAAS,WAAaC,EACtBD,EAAS,MAAQ,IAEjB,OAAO,OAAW,KAAe,QAASV,EAAK,OAAO,YAAc,MAAQA,IAAO,OAAS,OAASA,EAAG,SAAY,SAAU,CAC9H,IAAMY,EAAQX,GAAmB,OAAO,SAAS,OAAQ,CAAC,oBAAoB,CAAC,EAC3EW,EAAM,oBAAoB,IAC1BF,EAAS,MAAQ,GACjBA,EAAS,WAAaE,EAAM,oBAAoB,EAExD,CACA,OAAI,OAAOH,EAAM,KAAQ,WACrBC,EAAS,OAAUd,GAAQ,QAAQ,MAE5BC,GAAkB,sBAAsBa,CAAQ,CAC/D,EAzB6B,wBA0B7Bd,GAAQ,qBAAuBY,KC3D/B,IAAAK,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,QAAUA,GAAQ,MAAQ,OAClCA,GAAQ,MAAQ,CACZ,QAAS,UACT,SAAU,WACV,IAAK,MACL,IAAK,MACL,QAAS,UACT,QAAS,UACT,OAAQ,SACR,MAAO,QACP,QAAS,UACT,OAAQ,QACZ,EACAA,GAAQ,QAAU,CACd,UACA,UACA,MACA,WACA,MACA,SACA,SACA,UACA,OACJ,ICzBA,IAAAC,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,YAAcA,GAAQ,gBAAkB,OAChD,IAAIC,IACH,SAAUA,EAAiB,CACxBA,EAAgBA,EAAgB,QAAa,SAAS,EAAI,UAC1DA,EAAgBA,EAAgB,gBAAqB,CAAC,EAAI,kBAC1DA,EAAgBA,EAAgB,gBAAqB,CAAC,EAAI,kBAC1DA,EAAgBA,EAAgB,eAAoB,UAAU,EAAI,gBACtE,GAAGA,KAAoBD,GAAQ,gBAAkBC,GAAkB,CAAC,EAAE,EACtE,IAAIC,IACH,SAAUA,EAAa,CACpBA,EAAYA,EAAY,QAAa,CAAC,EAAI,UAC1CA,EAAYA,EAAY,QAAa,CAAC,EAAI,SAC9C,GAAGA,KAAgBF,GAAQ,YAAcE,GAAc,CAAC,EAAE,ICd1D,IAAAC,GAAAC,EAAAC,GAAA,cA4BA,OAAO,eAAeA,EAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,EAAQ,KAAOA,EAAQ,SAAWA,EAAQ,sBAAwBA,EAAQ,gBAAkBA,EAAQ,YAAcA,EAAQ,iBAAmBA,EAAQ,uBAAyBA,EAAQ,uBAAyBA,EAAQ,yBAA2BA,EAAQ,yBAA2BA,EAAQ,8BAAgCA,EAAQ,sBAAwBA,EAAQ,2BAA6BA,EAAQ,sBAAwBA,EAAQ,2BAA6BA,EAAQ,wBAA0BA,EAAQ,uBAAyBA,EAAQ,4BAA8BA,EAAQ,cAAgBA,EAAQ,iBAAmBA,EAAQ,sBAAwBA,EAAQ,YAAcA,EAAQ,UAAYA,EAAQ,UAAYA,EAAQ,gBAAkBA,EAAQ,UAAYA,EAAQ,YAAcA,EAAQ,kBAAoBA,EAAQ,iBAAmBA,EAAQ,iBAAmBA,EAAQ,UAAYA,EAAQ,0BAA4BA,EAAQ,WAAaA,EAAQ,eAAiBA,EAAQ,aAAeA,EAAQ,aAAeA,EAAQ,mBAAqBA,EAAQ,mBAAqBA,EAAQ,oBAAsBA,EAAQ,cAAgBA,EAAQ,cAAgBA,EAAQ,eAAiBA,EAAQ,KAAOA,EAAQ,KAAOA,EAAQ,SAAWA,EAAQ,SAAWA,EAAQ,UAAY,OAIpuCA,EAAQ,UAAY,OAAO,IAAI,mBAAmB,EAClDA,EAAQ,SAAW,OAAO,IAAI,kBAAkB,EAChDA,EAAQ,SAAW,OAAO,IAAI,kBAAkB,EAChDA,EAAQ,KAAO,OAAO,IAAI,cAAc,EACxCA,EAAQ,KAAO,OAAO,IAAI,cAAc,EAIxCA,EAAQ,eAAiB,eACzBA,EAAQ,cAAgB,kBACxBA,EAAQ,cAAgB,OACxBA,EAAQ,oBAAsB,IAAIA,EAAQ,cAAc,IACxDA,EAAQ,mBAAqB,IAAIA,EAAQ,aAAa,IACtDA,EAAQ,mBAAqB,IAAIA,EAAQ,aAAa,IAEtD,IAAIC,IACH,SAAUA,EAAc,CACrB,IAAMC,EAAM,IAAI,IAEhB,SAASC,GAAU,CACf,OAAO,IAAI,IAAID,CAAG,CACtB,CAFSE,EAAAD,EAAA,WAGTF,EAAa,QAAUE,EAEvB,SAASE,GAAQ,CACb,OAAOH,EAAI,MAAM,CACrB,CAFSE,EAAAC,EAAA,SAGTJ,EAAa,MAAQI,EAErB,SAASC,EAAOC,EAAM,CAClB,OAAOL,EAAI,OAAOK,CAAI,CAC1B,CAFSH,EAAAE,EAAA,UAGTL,EAAa,OAASK,EAEtB,SAASE,EAAID,EAAM,CACf,OAAOL,EAAI,IAAIK,CAAI,CACvB,CAFSH,EAAAI,EAAA,OAGTP,EAAa,IAAMO,EAEnB,SAASC,EAAIF,EAAMG,EAAM,CACrBR,EAAI,IAAIK,EAAMG,CAAI,CACtB,CAFSN,EAAAK,EAAA,OAGTR,EAAa,IAAMQ,EAEnB,SAASE,EAAIJ,EAAM,CACf,OAAOL,EAAI,IAAIK,CAAI,CACvB,CAFSH,EAAAO,EAAA,OAGTV,EAAa,IAAMU,CACvB,GAAGV,KAAiBD,EAAQ,aAAeC,GAAe,CAAC,EAAE,EAI7D,IAAMW,GAAN,cAA2B,KAAM,CArFjC,MAqFiC,CAAAR,EAAA,qBAC7B,YAAYS,EAAS,CACjB,MAAMA,CAAO,CACjB,CACJ,EACAb,EAAQ,aAAeY,GAEvB,IAAIE,IACH,SAAUA,EAAgB,CACvB,IAAMZ,EAAM,IAAI,IAEhB,SAASC,GAAU,CACf,OAAO,IAAI,IAAID,CAAG,CACtB,CAFSE,EAAAD,EAAA,WAGTW,EAAe,QAAUX,EAEzB,SAASE,GAAQ,CACb,OAAOH,EAAI,MAAM,CACrB,CAFSE,EAAAC,EAAA,SAGTS,EAAe,MAAQT,EAEvB,SAASC,EAAOS,EAAQ,CACpB,OAAOb,EAAI,OAAOa,CAAM,CAC5B,CAFSX,EAAAE,EAAA,UAGTQ,EAAe,OAASR,EAExB,SAASE,EAAIO,EAAQ,CACjB,OAAOb,EAAI,IAAIa,CAAM,CACzB,CAFSX,EAAAI,EAAA,OAGTM,EAAe,IAAMN,EAErB,SAASC,EAAIM,EAAQL,EAAM,CACvBR,EAAI,IAAIa,EAAQL,CAAI,CACxB,CAFSN,EAAAK,EAAA,OAGTK,EAAe,IAAML,EAErB,SAASE,EAAII,EAAQ,CACjB,OAAOb,EAAI,IAAIa,CAAM,CACzB,CAFSX,EAAAO,EAAA,OAGTG,EAAe,IAAMH,CACzB,GAAGG,KAAmBd,EAAQ,eAAiBc,GAAiB,CAAC,EAAE,EAKnE,IAAIE,GACH,SAAUA,EAAY,CAEnB,SAASC,EAAQC,EAAO,CACpB,OAAO,MAAM,QAAQA,CAAK,CAC9B,CAFSd,EAAAa,EAAA,WAGTD,EAAW,QAAUC,EAErB,SAASE,EAASD,EAAO,CACrB,OAAO,OAAOA,GAAU,QAC5B,CAFSd,EAAAe,EAAA,YAGTH,EAAW,SAAWG,EAEtB,SAASC,EAAUF,EAAO,CACtB,OAAO,OAAOA,GAAU,SAC5B,CAFSd,EAAAgB,EAAA,aAGTJ,EAAW,UAAYI,EAEvB,SAASC,EAAOH,EAAO,CACnB,OAAOA,aAAiB,WAAW,IACvC,CAFSd,EAAAiB,EAAA,UAGTL,EAAW,OAASK,EAEpB,SAASC,EAAOJ,EAAO,CACnB,OAAOA,IAAU,IACrB,CAFSd,EAAAkB,EAAA,UAGTN,EAAW,OAASM,EAEpB,SAASC,EAASL,EAAO,CACrB,OAAO,OAAOA,GAAU,QAC5B,CAFSd,EAAAmB,EAAA,YAGTP,EAAW,SAAWO,EAEtB,SAASC,EAASN,EAAO,CACrB,OAAO,OAAOA,GAAU,UAAYA,IAAU,IAClD,CAFSd,EAAAoB,EAAA,YAGTR,EAAW,SAAWQ,EAEtB,SAASC,EAASP,EAAO,CACrB,OAAO,OAAOA,GAAU,QAC5B,CAFSd,EAAAqB,EAAA,YAGTT,EAAW,SAAWS,EAEtB,SAASC,EAAaR,EAAO,CACzB,OAAOA,aAAiB,WAAW,UACvC,CAFSd,EAAAsB,EAAA,gBAGTV,EAAW,aAAeU,EAE1B,SAASC,EAAYT,EAAO,CACxB,OAAOA,IAAU,MACrB,CAFSd,EAAAuB,EAAA,eAGTX,EAAW,YAAcW,CAC7B,GAAGX,IAAehB,EAAQ,WAAagB,EAAa,CAAC,EAAE,EAIvD,IAAMY,GAAN,cAAwChB,EAAa,CA1LrD,MA0LqD,CAAAR,EAAA,kCACrD,EACAJ,EAAQ,0BAA4B4B,GAEpC,IAAIC,GACH,SAAUA,EAAW,CAClB,SAASC,EAAUZ,EAAO,CACtB,GAAI,CACA,WAAI,OAAOA,CAAK,EACT,EACX,MACM,CACF,MAAO,EACX,CACJ,CARSd,EAAA0B,EAAA,aAST,SAASC,EAAuBb,EAAO,CACnC,GAAI,CAACF,EAAW,SAASE,CAAK,EAC1B,MAAO,GACX,QAASc,EAAI,EAAGA,EAAId,EAAM,OAAQc,IAAK,CACnC,IAAMC,EAAOf,EAAM,WAAWc,CAAC,EAC/B,GAAKC,GAAQ,GAAKA,GAAQ,IAAOA,IAAS,IAAMA,IAAS,IACrD,MAAO,EAEf,CACA,MAAO,EACX,CAVS7B,EAAA2B,EAAA,0BAWT,SAASG,EAAuBhB,EAAO,CACnC,OAAOiB,EAAkBjB,CAAK,GAAKkB,EAAQlB,CAAK,CACpD,CAFSd,EAAA8B,EAAA,0BAGT,SAASG,EAAiBnB,EAAO,CAC7B,OAAOF,EAAW,YAAYE,CAAK,GAAKF,EAAW,SAASE,CAAK,CACrE,CAFSd,EAAAiC,EAAA,oBAGT,SAASC,EAAiBpB,EAAO,CAC7B,OAAOF,EAAW,YAAYE,CAAK,GAAKF,EAAW,SAASE,CAAK,CACrE,CAFSd,EAAAkC,EAAA,oBAGT,SAASH,EAAkBjB,EAAO,CAC9B,OAAOF,EAAW,YAAYE,CAAK,GAAKF,EAAW,UAAUE,CAAK,CACtE,CAFSd,EAAA+B,EAAA,qBAGT,SAASI,EAAiBrB,EAAO,CAC7B,OAAOF,EAAW,YAAYE,CAAK,GAAKF,EAAW,SAASE,CAAK,CACrE,CAFSd,EAAAmC,EAAA,oBAGT,SAASC,EAAkBtB,EAAO,CAC9B,OAAOF,EAAW,YAAYE,CAAK,GAAMF,EAAW,SAASE,CAAK,GAAKa,EAAuBb,CAAK,GAAKY,EAAUZ,CAAK,CAC3H,CAFSd,EAAAoC,EAAA,qBAGT,SAASC,EAAiBvB,EAAO,CAC7B,OAAOF,EAAW,YAAYE,CAAK,GAAMF,EAAW,SAASE,CAAK,GAAKa,EAAuBb,CAAK,CACvG,CAFSd,EAAAqC,EAAA,oBAGT,SAASC,EAAiBxB,EAAO,CAC7B,OAAOF,EAAW,YAAYE,CAAK,GAAKkB,EAAQlB,CAAK,CACzD,CAFSd,EAAAsC,EAAA,oBAOT,SAASC,EAAKC,EAAQ,CAElB,OAAQC,EAAQD,EAAQ,KAAK,GACzBL,EAAiBK,EAAO,GAAG,CACnC,CAJSxC,EAAAuC,EAAA,QAKTd,EAAU,KAAOc,EAEjB,SAASG,EAAOF,EAAQ,CACpB,OAAQC,EAAQD,EAAQ,OAAO,GAC3BA,EAAO,OAAS,SAChBL,EAAiBK,EAAO,GAAG,GAC3BR,EAAQQ,EAAO,KAAK,GACpBN,EAAiBM,EAAO,QAAQ,GAChCN,EAAiBM,EAAO,QAAQ,GAChCT,EAAkBS,EAAO,WAAW,GACpCF,EAAiBE,EAAO,QAAQ,GAChCN,EAAiBM,EAAO,WAAW,GACnCN,EAAiBM,EAAO,WAAW,CAC3C,CAXSxC,EAAA0C,EAAA,UAYTjB,EAAU,OAASiB,EAEnB,SAASC,EAAeH,EAAQ,CAE5B,OAAQC,EAAQD,EAAQ,eAAe,GACnCA,EAAO,OAAS,iBAChBL,EAAiBK,EAAO,GAAG,GAC3BR,EAAQQ,EAAO,KAAK,CAC5B,CANSxC,EAAA2C,EAAA,kBAOTlB,EAAU,eAAiBkB,EAE3B,SAASC,EAAQJ,EAAQ,CAErB,OAAQC,EAAQD,EAAQ,QAAQ,GAC5BA,EAAO,OAAS,UAChBL,EAAiBK,EAAO,GAAG,GAC3BP,EAAiBO,EAAO,gBAAgB,GACxCP,EAAiBO,EAAO,gBAAgB,GACxCP,EAAiBO,EAAO,OAAO,GAC/BP,EAAiBO,EAAO,OAAO,GAC/BP,EAAiBO,EAAO,UAAU,CAC1C,CAVSxC,EAAA4C,EAAA,WAWTnB,EAAU,QAAUmB,EAEpB,SAASC,EAASL,EAAQ,CAEtB,OAAQC,EAAQD,EAAQ,SAAS,GAC7BA,EAAO,OAAS,WAChBL,EAAiBK,EAAO,GAAG,CACnC,CALSxC,EAAA6C,EAAA,YAMTpB,EAAU,SAAWoB,EAErB,SAASC,EAAaN,EAAQ,CAE1B,OAAQC,EAAQD,EAAQ,aAAa,GACjCA,EAAO,OAAS,eAChBL,EAAiBK,EAAO,GAAG,GAC3B5B,EAAW,QAAQ4B,EAAO,UAAU,GACpCA,EAAO,WAAW,MAAMA,GAAUR,EAAQQ,CAAM,CAAC,GACjDR,EAAQQ,EAAO,OAAO,CAC9B,CARSxC,EAAA8C,EAAA,gBASTrB,EAAU,aAAeqB,EAEzB,SAASC,EAAMP,EAAQ,CACnB,OAAQC,EAAQD,EAAQ,MAAM,GAC1BA,EAAO,OAAS,QAChBL,EAAiBK,EAAO,GAAG,GAC3BN,EAAiBM,EAAO,yBAAyB,GACjDN,EAAiBM,EAAO,yBAAyB,GACjDN,EAAiBM,EAAO,gBAAgB,GACxCN,EAAiBM,EAAO,gBAAgB,GACxCN,EAAiBM,EAAO,mBAAmB,CACnD,CATSxC,EAAA+C,EAAA,SAUTtB,EAAU,MAAQsB,EAElB,SAASC,EAAUR,EAAQ,CAEvB,OAAQC,EAAQD,EAAQ,UAAU,GAC9BA,EAAO,OAAS,YAChBL,EAAiBK,EAAO,GAAG,GAC3B5B,EAAW,QAAQ4B,EAAO,UAAU,GACpCA,EAAO,WAAW,MAAMA,GAAUR,EAAQQ,CAAM,CAAC,GACjDR,EAAQQ,EAAO,OAAO,CAC9B,CARSxC,EAAAgD,EAAA,aASTvB,EAAU,UAAYuB,EAEtB,SAASC,GAAST,EAAQ,CACtB,OAAQC,EAAQD,EAAQ,SAAS,GAC7BA,EAAO,OAAS,WAChBL,EAAiBK,EAAO,GAAG,GAC3BN,EAAiBM,EAAO,gBAAgB,GACxCN,EAAiBM,EAAO,gBAAgB,GACxCN,EAAiBM,EAAO,OAAO,GAC/BN,EAAiBM,EAAO,OAAO,GAC/BN,EAAiBM,EAAO,UAAU,CAC1C,CATSxC,EAAAiD,GAAA,YAUTxB,EAAU,SAAWwB,GAErB,SAASC,GAAWV,EAAQ,CAExB,OAAQC,EAAQD,EAAQ,WAAW,GAC9B,EAAA5B,EAAW,SAAS4B,EAAO,IAAI,GAAKA,EAAO,OAAS,WACrD5B,EAAW,QAAQ4B,EAAO,KAAK,GAC/BA,EAAO,MAAM,MAAMA,GAAUR,EAAQQ,CAAM,GAAK,CAACW,GAAWX,CAAM,CAAC,GACnEL,EAAiBK,EAAO,IAAI,IAC3BT,EAAkBS,EAAO,qBAAqB,GAAKF,EAAiBE,EAAO,qBAAqB,IACjGL,EAAiBK,EAAO,GAAG,CACnC,CATSxC,EAAAkD,GAAA,cAUTzB,EAAU,WAAayB,GAEvB,SAASE,GAAUZ,EAAQ,CAEvB,OAAQC,EAAQD,EAAQ,UAAU,GAC9BA,EAAO,OAAS,YAChBL,EAAiBK,EAAO,GAAG,GAC3BR,EAAQQ,EAAO,KAAK,CAC5B,CANSxC,EAAAoD,GAAA,aAOT3B,EAAU,UAAY2B,GAEtB,SAASX,EAAQD,EAAQrC,EAAM,CAC3B,OAAOkD,GAAMb,CAAM,GAAKA,EAAO5C,EAAQ,IAAI,IAAMO,CACrD,CAFSH,EAAAyC,EAAA,WAGThB,EAAU,QAAUgB,EAEpB,SAASY,GAAMb,EAAQ,CACnB,OAAO5B,EAAW,SAAS4B,CAAM,GAAK5C,EAAQ,QAAQ4C,GAAU5B,EAAW,SAAS4B,EAAO5C,EAAQ,IAAI,CAAC,CAC5G,CAFSI,EAAAqD,GAAA,SAGT5B,EAAU,MAAQ4B,GAElB,SAASC,GAAed,EAAQ,CAC5B,OAAOe,GAASf,CAAM,GAAK5B,EAAW,SAAS4B,EAAO,KAAK,CAC/D,CAFSxC,EAAAsD,GAAA,kBAGT7B,EAAU,eAAiB6B,GAE3B,SAASE,EAAehB,EAAQ,CAC5B,OAAOe,GAASf,CAAM,GAAK5B,EAAW,SAAS4B,EAAO,KAAK,CAC/D,CAFSxC,EAAAwD,EAAA,kBAGT/B,EAAU,eAAiB+B,EAE3B,SAASC,GAAgBjB,EAAQ,CAC7B,OAAOe,GAASf,CAAM,GAAK5B,EAAW,UAAU4B,EAAO,KAAK,CAChE,CAFSxC,EAAAyD,GAAA,mBAGThC,EAAU,gBAAkBgC,GAE5B,SAASF,GAASf,EAAQ,CAEtB,OAAQC,EAAQD,EAAQ,SAAS,GAC7BL,EAAiBK,EAAO,GAAG,IAAM5B,EAAW,UAAU4B,EAAO,KAAK,GAClE5B,EAAW,SAAS4B,EAAO,KAAK,GAChC5B,EAAW,SAAS4B,EAAO,KAAK,EACxC,CANSxC,EAAAuD,GAAA,YAOT9B,EAAU,SAAW8B,GAErB,SAASG,GAAOlB,EAAQ,CAEpB,OAAQC,EAAQD,EAAQ,OAAO,GAC3B5B,EAAW,SAAS4B,EAAO,GAAG,GAC9B,OAAO,oBAAoBA,EAAO,GAAG,EAAE,SAAW,CAC1D,CALSxC,EAAA0D,GAAA,UAMTjC,EAAU,OAASiC,GAEnB,SAASC,GAAKnB,EAAQ,CAElB,OAAQC,EAAQD,EAAQ,KAAK,GACzBR,EAAQQ,EAAO,GAAG,CAC1B,CAJSxC,EAAA2D,GAAA,QAKTlC,EAAU,KAAOkC,GAEjB,SAASC,GAAMpB,EAAQ,CAEnB,OAAQC,EAAQD,EAAQ,MAAM,GAC1BA,EAAO,OAAS,QAChBL,EAAiBK,EAAO,GAAG,CACnC,CALSxC,EAAA4D,GAAA,SAMTnC,EAAU,MAAQmC,GAElB,SAASC,GAAQrB,EAAQ,CACrB,OAAQC,EAAQD,EAAQ,QAAQ,GAC5BA,EAAO,OAAS,UAChBL,EAAiBK,EAAO,GAAG,GAC3BN,EAAiBM,EAAO,gBAAgB,GACxCN,EAAiBM,EAAO,gBAAgB,GACxCN,EAAiBM,EAAO,OAAO,GAC/BN,EAAiBM,EAAO,OAAO,GAC/BN,EAAiBM,EAAO,UAAU,CAC1C,CATSxC,EAAA6D,GAAA,WAUTpC,EAAU,QAAUoC,GAEpB,SAASC,GAAQtB,EAAQ,CAErB,OAAQC,EAAQD,EAAQ,QAAQ,GAC5BA,EAAO,OAAS,UAChBL,EAAiBK,EAAO,GAAG,GAC3B5B,EAAW,SAAS4B,EAAO,UAAU,GACrCV,EAAuBU,EAAO,oBAAoB,GAClDN,EAAiBM,EAAO,aAAa,GACrCN,EAAiBM,EAAO,aAAa,GACrC,OAAO,QAAQA,EAAO,UAAU,EAAE,MAAM,CAAC,CAACuB,EAAKvB,CAAM,IAAMb,EAAuBoC,CAAG,GAAK/B,EAAQQ,CAAM,CAAC,CACjH,CAVSxC,EAAA8D,GAAA,WAWTrC,EAAU,QAAUqC,GAEpB,SAASE,GAASxB,EAAQ,CAEtB,OAAQC,EAAQD,EAAQ,SAAS,GAC7BA,EAAO,OAAS,WAChBL,EAAiBK,EAAO,GAAG,GAC3BR,EAAQQ,EAAO,IAAI,CAC3B,CANSxC,EAAAgE,GAAA,YAOTvC,EAAU,SAAWuC,GAErB,SAASC,GAAQzB,EAAQ,CAErB,OAAQC,EAAQD,EAAQ,QAAQ,GAC5BA,EAAO,OAAS,UAChBL,EAAiBK,EAAO,GAAG,GAC3BV,EAAuBU,EAAO,oBAAoB,GAClD5B,EAAW,SAAS4B,EAAO,iBAAiB,IAC1CA,GAAW,CACT,IAAM0B,EAAO,OAAO,oBAAoB1B,EAAO,iBAAiB,EAChE,OAAQ0B,EAAK,SAAW,GACpBxC,EAAUwC,EAAK,CAAC,CAAC,GACjBtD,EAAW,SAAS4B,EAAO,iBAAiB,GAC5CR,EAAQQ,EAAO,kBAAkB0B,EAAK,CAAC,CAAC,CAAC,CACjD,GAAG1B,CAAM,CACjB,CAdSxC,EAAAiE,GAAA,WAeTxC,EAAU,QAAUwC,GAEpB,SAASE,GAAW3B,EAAQ,CACxB,OAAO5B,EAAW,SAAS4B,CAAM,GAAK5C,EAAQ,QAAQ4C,GAAUA,EAAO5C,EAAQ,IAAI,IAAM,WAC7F,CAFSI,EAAAmE,GAAA,cAGT1C,EAAU,WAAa0C,GAEvB,SAASC,GAAK5B,EAAQ,CAElB,OAAQC,EAAQD,EAAQ,KAAK,GACzBL,EAAiBK,EAAO,GAAG,GAC3B5B,EAAW,SAAS4B,EAAO,IAAI,CACvC,CALSxC,EAAAoE,GAAA,QAMT3C,EAAU,KAAO2C,GAEjB,SAASC,GAAQ7B,EAAQ,CAErB,OAAQC,EAAQD,EAAQ,QAAQ,GAC5BA,EAAO,OAAS,UAChBL,EAAiBK,EAAO,GAAG,GAC3BN,EAAiBM,EAAO,SAAS,GACjCN,EAAiBM,EAAO,SAAS,GACjCJ,EAAkBI,EAAO,OAAO,GAChCH,EAAiBG,EAAO,MAAM,CACtC,CATSxC,EAAAqE,GAAA,WAUT5C,EAAU,QAAU4C,GAEpB,SAASC,GAAQ9B,EAAQ,CAErB,OAAQC,EAAQD,EAAQ,QAAQ,GAC5BA,EAAO,OAAS,UAChBL,EAAiBK,EAAO,GAAG,CACnC,CALSxC,EAAAsE,GAAA,WAMT7C,EAAU,QAAU6C,GAEpB,SAASC,EAAiB/B,EAAQ,CAE9B,OAAQC,EAAQD,EAAQ,iBAAiB,GACrCA,EAAO,OAAS,UAChB5B,EAAW,SAAS4B,EAAO,OAAO,GAClCA,EAAO,QAAQ,CAAC,IAAM,KACtBA,EAAO,QAAQA,EAAO,QAAQ,OAAS,CAAC,IAAM,GACtD,CAPSxC,EAAAuE,EAAA,oBAQT9C,EAAU,iBAAmB8C,EAE7B,SAASC,GAAMhC,EAAQ,CAEnB,OAAQC,EAAQD,EAAQ,MAAM,GAC1BL,EAAiBK,EAAO,GAAG,GAC3B5B,EAAW,SAAS4B,EAAO,IAAI,CACvC,CALSxC,EAAAwE,GAAA,SAMT/C,EAAU,MAAQ+C,GAElB,SAASrB,GAAWX,EAAQ,CACxB,OAAO5B,EAAW,SAAS4B,CAAM,GAAK5C,EAAQ,aAAa4C,CAC/D,CAFSxC,EAAAmD,GAAA,cAGT1B,EAAU,WAAa0B,GAEvB,SAASsB,GAAOjC,EAAQ,CAEpB,OAAQC,EAAQD,EAAQ,OAAO,GAC3BA,EAAO,OAAS,SAChBL,EAAiBK,EAAO,GAAG,GAC3B5B,EAAW,SAAS4B,EAAO,QAAQ,GACnC5B,EAAW,SAAS4B,EAAO,QAAQ,GACnCA,EAAO,WAAaA,EAAO,WAE3B5B,EAAW,YAAY4B,EAAO,KAAK,GAC/B5B,EAAW,YAAY4B,EAAO,eAAe,GAC7CA,EAAO,WAAa,GAAO5B,EAAW,QAAQ4B,EAAO,KAAK,GAC1DA,EAAO,MAAM,MAAMA,GAAUR,EAAQQ,CAAM,CAAC,EACxD,CAbSxC,EAAAyE,GAAA,UAcThD,EAAU,OAASgD,GAEnB,SAASC,GAAWlC,EAAQ,CAExB,OAAQC,EAAQD,EAAQ,WAAW,GAC/BA,EAAO,OAAS,aAChBL,EAAiBK,EAAO,GAAG,CACnC,CALSxC,EAAA0E,GAAA,cAMTjD,EAAU,WAAaiD,GAEvB,SAASC,GAAcnC,EAAQ,CAC3B,OAAOoC,EAAOpC,CAAM,GAAKA,EAAO,MAAM,MAAOA,GAAWc,GAAed,CAAM,GAAKgB,EAAehB,CAAM,CAAC,CAC5G,CAFSxC,EAAA2E,GAAA,iBAGTlD,EAAU,cAAgBkD,GAE1B,SAASC,EAAOpC,EAAQ,CAEpB,OAAQC,EAAQD,EAAQ,OAAO,GAC3BL,EAAiBK,EAAO,GAAG,GAC3B5B,EAAW,SAAS4B,CAAM,GAC1B5B,EAAW,QAAQ4B,EAAO,KAAK,GAC/BA,EAAO,MAAM,MAAMA,GAAUR,EAAQQ,CAAM,CAAC,CACpD,CAPSxC,EAAA4E,EAAA,UAQTnD,EAAU,OAASmD,EAEnB,SAASC,EAAYrC,EAAQ,CAEzB,OAAQC,EAAQD,EAAQ,YAAY,GAChCA,EAAO,OAAS,cAChBL,EAAiBK,EAAO,GAAG,GAC3BN,EAAiBM,EAAO,aAAa,GACrCN,EAAiBM,EAAO,aAAa,CAC7C,CAPSxC,EAAA6E,EAAA,eAQTpD,EAAU,YAAcoD,EAExB,SAASC,EAAStC,EAAQ,CAEtB,OAAQC,EAAQD,EAAQ,SAAS,GAC7BL,EAAiBK,EAAO,GAAG,CACnC,CAJSxC,EAAA8E,EAAA,YAKTrD,EAAU,SAAWqD,EAErB,SAASC,EAAQvC,EAAQ,CACrB,OAAOC,EAAQD,EAAQ,QAAQ,CACnC,CAFSxC,EAAA+E,EAAA,WAGTtD,EAAU,QAAUsD,EAEpB,SAASC,EAAMxC,EAAQ,CAEnB,OAAQC,EAAQD,EAAQ,MAAM,GAC1BA,EAAO,OAAS,QAChBL,EAAiBK,EAAO,GAAG,CACnC,CALSxC,EAAAgF,EAAA,SAMTvD,EAAU,MAAQuD,EAElB,SAASC,EAAUzC,EAAQ,CACvB,OAAO5B,EAAW,SAAS4B,CAAM,GAAKA,EAAO5C,EAAQ,QAAQ,IAAM,UACvE,CAFSI,EAAAiF,EAAA,aAGTxD,EAAU,UAAYwD,EAEtB,SAASC,EAAU1C,EAAQ,CACvB,OAAO5B,EAAW,SAAS4B,CAAM,GAAKA,EAAO5C,EAAQ,QAAQ,IAAM,UACvE,CAFSI,EAAAkF,EAAA,aAGTzD,EAAU,UAAYyD,EAEtB,SAASlD,EAAQQ,EAAQ,CAErB,OAAQ5B,EAAW,SAAS4B,CAAM,IAAOD,EAAKC,CAAM,GAChDE,EAAOF,CAAM,GACbK,EAASL,CAAM,GACfI,EAAQJ,CAAM,GACdG,EAAeH,CAAM,GACrBM,EAAaN,CAAM,GACnBO,EAAMP,CAAM,GACZQ,EAAUR,CAAM,GAChBS,GAAST,CAAM,GACfU,GAAWV,CAAM,GACjBY,GAAUZ,CAAM,GAChBe,GAASf,CAAM,GACfkB,GAAOlB,CAAM,GACbmB,GAAKnB,CAAM,GACXoB,GAAMpB,CAAM,GACZqB,GAAQrB,CAAM,GACdsB,GAAQtB,CAAM,GACdwB,GAASxB,CAAM,GACfyB,GAAQzB,CAAM,GACd4B,GAAK5B,CAAM,GACX6B,GAAQ7B,CAAM,GACd8B,GAAQ9B,CAAM,GACd+B,EAAiB/B,CAAM,GACvBgC,GAAMhC,CAAM,GACZiC,GAAOjC,CAAM,GACbkC,GAAWlC,CAAM,GACjBoC,EAAOpC,CAAM,GACbqC,EAAYrC,CAAM,GAClBsC,EAAStC,CAAM,GACfuC,EAAQvC,CAAM,GACdwC,EAAMxC,CAAM,GACXa,GAAMb,CAAM,GAAK3C,GAAa,IAAI2C,EAAO5C,EAAQ,IAAI,CAAC,EAC/D,CAlCSI,EAAAgC,EAAA,WAmCTP,EAAU,QAAUO,CACxB,GAAGP,IAAc7B,EAAQ,UAAY6B,EAAY,CAAC,EAAE,EAKpD,IAAI0D,IACH,SAAUA,EAAkB,CACzB,SAASC,EAAM5C,EAAQ,CACnB,OAAOA,EAAO5C,EAAQ,IAAI,IAAM,YAC1B4C,EAAO,MAAM,MAAOA,GAAW4C,EAAM5C,CAAM,CAAC,EAC5CA,EAAO5C,EAAQ,IAAI,IAAM,QACrB4C,EAAO,MAAM,KAAMA,GAAW4C,EAAM5C,CAAM,CAAC,EAC3CA,EAAO5C,EAAQ,IAAI,IAAM,YACrB,GACA4C,EAAO5C,EAAQ,IAAI,IAAM,MACrB,CAACwF,EAAM5C,EAAO,GAAG,EACjB,EACtB,CAVSxC,EAAAoF,EAAA,SAWTD,EAAiB,MAAQC,CAC7B,GAAGD,KAAqBvF,EAAQ,iBAAmBuF,GAAmB,CAAC,EAAE,EAIzE,IAAME,GAAN,cAA+B7E,EAAa,CAppB5C,MAopB4C,CAAAR,EAAA,yBAC5C,EACAJ,EAAQ,iBAAmByF,GAC3B,IAAIC,GACH,SAAUA,EAAmB,CAC1BA,EAAkBA,EAAkB,MAAW,CAAC,EAAI,QACpDA,EAAkBA,EAAkB,KAAU,CAAC,EAAI,OACnDA,EAAkBA,EAAkB,MAAW,CAAC,EAAI,OACxD,GAAGA,IAAsB1F,EAAQ,kBAAoB0F,EAAoB,CAAC,EAAE,EAC5E,IAAIC,IACH,SAAUA,EAAa,CAIpB,SAASC,EAAkBC,EAAQ,CAC/B,OAAOA,IAAWH,EAAkB,MAAQG,EAASH,EAAkB,IAC3E,CAFStF,EAAAwF,EAAA,qBAMT,SAASE,EAAMjF,EAAS,CACpB,MAAM,IAAI4E,GAAiB5E,CAAO,CACtC,CAFST,EAAA0F,EAAA,SAMT,SAASC,EAAkBC,EAAO,CAE9B,OAAQnE,EAAU,OAAOmE,CAAK,GAC1BnE,EAAU,WAAWmE,CAAK,GAC1BnE,EAAU,OAAOmE,CAAK,GACtBnE,EAAU,SAASmE,CAAK,GACxBnE,EAAU,KAAKmE,CAAK,CAC5B,CAPS5F,EAAA2F,EAAA,qBAQT,SAASE,EAAgBC,EAAMF,EAAO,CAElC,OAAQnE,EAAU,OAAOmE,CAAK,EAAIG,EAAYD,EAAMF,CAAK,EACrDnE,EAAU,WAAWmE,CAAK,EAAII,EAAgBF,EAAMF,CAAK,EACrDnE,EAAU,OAAOmE,CAAK,EAAIK,GAAYH,EAAMF,CAAK,EAC7CnE,EAAU,SAASmE,CAAK,EAAIM,GAAcJ,EAAMF,CAAK,EACjDnE,EAAU,KAAKmE,CAAK,EAAIO,EAAUL,EAAMF,CAAK,EACzCF,EAAM,iBAAiB,CAC/C,CARS1F,EAAA6F,EAAA,mBAYT,SAASM,EAAUL,EAAMF,EAAO,CAC5B,OAAON,EAAkB,IAC7B,CAFStF,EAAAmG,EAAA,aAGT,SAAS5D,EAAKuD,EAAMF,EAAO,CAEvB,OAAQnE,EAAU,WAAWmE,CAAK,EAAII,EAAgBF,EAAMF,CAAK,EAC5DnE,EAAU,OAAOmE,CAAK,GAAKA,EAAM,MAAM,KAAMpD,IAAWf,EAAU,KAAKe,EAAM,GAAKf,EAAU,SAASe,EAAM,CAAC,EAAK8C,EAAkB,KAChI7D,EAAU,OAAOmE,CAAK,EAAIN,EAAkB,MACxC7D,EAAU,SAASmE,CAAK,GACpBnE,EAAU,KAAKmE,CAAK,EADIN,EAAkB,KAEtCA,EAAkB,KAC1C,CARStF,EAAAuC,EAAA,QAYT,SAAS6D,EAAYN,EAAMF,EAAO,CAE9B,OAAQnE,EAAU,SAASqE,CAAI,EAAIR,EAAkB,MACjD7D,EAAU,KAAKqE,CAAI,EAAIR,EAAkB,MACrC7D,EAAU,OAAOqE,CAAI,EAAIR,EAAkB,KACvCA,EAAkB,KAClC,CANStF,EAAAoG,EAAA,eAOT,SAAS1D,EAAOoD,EAAMF,EAAO,CAEzB,OAAQnE,EAAU,QAAQmE,CAAK,GAAKS,EAAkBT,CAAK,EAAIN,EAAkB,KAC7EK,EAAkBC,CAAK,EAAIC,EAAgBC,EAAMF,CAAK,EACjDnE,EAAU,OAAOmE,CAAK,EACnBJ,EAAkBc,GAAMR,EAAK,MAAOF,EAAM,KAAK,CAAC,EADzBN,EAAkB,KAEzD,CANStF,EAAA0C,EAAA,UAUT,SAASC,EAAemD,EAAMF,EAAO,CAEjC,OAAQD,EAAkBC,CAAK,EAAIC,EAAgBC,EAAMF,CAAK,EACzDnE,EAAU,eAAemE,CAAK,EAC3BJ,EAAkBc,GAAMR,EAAK,MAAOF,EAAM,KAAK,CAAC,EADjBN,EAAkB,KAE7D,CALStF,EAAA2C,EAAA,kBAST,SAASC,EAAQkD,EAAMF,EAAO,CAE1B,OAAQD,EAAkBC,CAAK,EAAIC,EAAgBC,EAAMF,CAAK,EAC1DnE,EAAU,QAAQmE,CAAK,EAAIW,GAAaT,EAAMF,CAAK,EAC/CnE,EAAU,QAAQmE,CAAK,EAAIY,EAAaV,EAAMF,CAAK,EAC/CnE,EAAU,QAAQmE,CAAK,EAAIN,EAAkB,KACzCA,EAAkB,KACtC,CAPStF,EAAA4C,EAAA,WAWT,SAAS6D,EAAcX,EAAMF,EAAO,CAChC,OAAOnE,EAAU,SAASqE,CAAI,GAAKlF,EAAW,UAAUkF,EAAK,KAAK,GAA6BrE,EAAU,SAASqE,CAAI,EAAhDR,EAAkB,KAA2DA,EAAkB,KACzK,CAFStF,EAAAyG,EAAA,iBAGT,SAAS5D,EAASiD,EAAMF,EAAO,CAE3B,OAAQD,EAAkBC,CAAK,EAAIC,EAAgBC,EAAMF,CAAK,EAC1DnE,EAAU,QAAQmE,CAAK,EAAIW,GAAaT,EAAMF,CAAK,EAC/CnE,EAAU,QAAQmE,CAAK,EAAIY,EAAaV,EAAMF,CAAK,EAC/CnE,EAAU,SAASmE,CAAK,EAAIN,EAAkB,KAC1CA,EAAkB,KACtC,CAPStF,EAAA6C,EAAA,YAWT,SAASC,EAAagD,EAAMF,EAAO,CAE/B,OAAQD,EAAkBC,CAAK,EAAIC,EAAgBC,EAAMF,CAAK,EAC1DnE,EAAU,QAAQmE,CAAK,EAAIW,GAAaT,EAAMF,CAAK,EAC9CnE,EAAU,aAAamE,CAAK,EACzBE,EAAK,WAAW,OAASF,EAAM,WAAW,OAASN,EAAkB,MAC/DQ,EAAK,WAAW,MAAM,CAACtD,GAAQkE,KAAUlB,EAAkBc,GAAMV,EAAM,WAAWc,EAAK,EAAGlE,EAAM,CAAC,IAAM8C,EAAkB,IAAI,EAC3HE,EAAkBc,GAAMR,EAAK,QAASF,EAAM,OAAO,CAAC,EAD4EN,EAAkB,MAF7HA,EAAkB,KAI/D,CARStF,EAAA8C,EAAA,gBAYT,SAASC,EAAM+C,EAAMF,EAAO,CAExB,OAAQD,EAAkBC,CAAK,EAAIC,EAAgBC,EAAMF,CAAK,EAC1DnE,EAAU,QAAQmE,CAAK,EAAIW,GAAaT,EAAMF,CAAK,EAC/CnE,EAAU,QAAQmE,CAAK,EAAIY,EAAaV,EAAMF,CAAK,EAC/CnE,EAAU,MAAMmE,CAAK,EAAIN,EAAkB,KACvCA,EAAkB,KACtC,CAPStF,EAAA+C,EAAA,SAWT,SAASC,EAAU8C,EAAMF,EAAO,CAE5B,OAAQD,EAAkBC,CAAK,EAAIC,EAAgBC,EAAMF,CAAK,EAC1DnE,EAAU,QAAQmE,CAAK,EAAIW,GAAaT,EAAMF,CAAK,EAC9CnE,EAAU,UAAUmE,CAAK,EACtBE,EAAK,WAAW,OAASF,EAAM,WAAW,OAASN,EAAkB,MAC/DQ,EAAK,WAAW,MAAM,CAACtD,GAAQkE,KAAUlB,EAAkBc,GAAMV,EAAM,WAAWc,EAAK,EAAGlE,EAAM,CAAC,IAAM8C,EAAkB,IAAI,EAC3HE,EAAkBc,GAAMR,EAAK,QAASF,EAAM,OAAO,CAAC,EAD4EN,EAAkB,MAFhIA,EAAkB,KAI5D,CARStF,EAAAgD,EAAA,aAYT,SAAS2D,EAAcb,EAAMF,EAAO,CAEhC,OAAQnE,EAAU,SAASqE,CAAI,GAAKlF,EAAW,SAASkF,EAAK,KAAK,GAC9DrE,EAAU,QAAQqE,CAAI,GAAKrE,EAAU,SAASqE,CAAI,EADgBR,EAAkB,KAEhFA,EAAkB,KAC9B,CALStF,EAAA2G,EAAA,iBAMT,SAAS1D,EAAS6C,EAAMF,EAAO,CAE3B,OAAQnE,EAAU,SAASmE,CAAK,GAAKnE,EAAU,QAAQmE,CAAK,EAAIN,EAAkB,KAC9EK,EAAkBC,CAAK,EAAIC,EAAgBC,EAAMF,CAAK,EAClDnE,EAAU,QAAQmE,CAAK,EAAIW,GAAaT,EAAMF,CAAK,EAC/CnE,EAAU,QAAQmE,CAAK,EAAIY,EAAaV,EAAMF,CAAK,EAC/CN,EAAkB,KACtC,CAPStF,EAAAiD,EAAA,YAWT,SAAS+C,EAAgBF,EAAMF,EAAO,CAElC,OAAOA,EAAM,MAAM,MAAOpD,IAAW8D,GAAMR,EAAMtD,EAAM,IAAM8C,EAAkB,IAAI,EAC7EA,EAAkB,KAClBA,EAAkB,KAC5B,CALStF,EAAAgG,EAAA,mBAMT,SAAS9C,GAAW4C,EAAMF,EAAO,CAE7B,OAAOE,EAAK,MAAM,KAAMtD,IAAW8D,GAAM9D,GAAQoD,CAAK,IAAMN,EAAkB,IAAI,EAC5EA,EAAkB,KAClBA,EAAkB,KAC5B,CALStF,EAAAkD,GAAA,cAST,SAASE,GAAU0C,EAAMF,EAAO,CAE5B,OAAQD,EAAkBC,CAAK,EAAIC,EAAgBC,EAAMF,CAAK,EACzDnE,EAAU,UAAUmE,CAAK,EACtBJ,EAAkBc,GAAMR,EAAK,MAAOF,EAAM,KAAK,CAAC,EADtBN,EAAkB,KAExD,CALStF,EAAAoD,GAAA,aAST,SAASG,GAASuC,EAAMF,EAAO,CAE3B,OAAQnE,EAAU,SAASmE,CAAK,GAAKA,EAAM,QAAUE,EAAK,MAAQR,EAAkB,KAChFK,EAAkBC,CAAK,EAAIC,EAAgBC,EAAMF,CAAK,EAClDnE,EAAU,QAAQmE,CAAK,EAAIW,GAAaT,EAAMF,CAAK,EAC/CnE,EAAU,QAAQmE,CAAK,EAAIY,EAAaV,EAAMF,CAAK,EAC/CnE,EAAU,QAAQmE,CAAK,EAAIgB,EAAad,EAAMF,CAAK,EAC/CnE,EAAU,QAAQmE,CAAK,EAAIiB,GAAaf,EAAMF,CAAK,EAC/CnE,EAAU,SAASmE,CAAK,EAAIe,EAAcb,EAAMF,CAAK,EACjDnE,EAAU,SAASmE,CAAK,EAAIa,EAAcX,EAAMF,CAAK,EACjDN,EAAkB,KACtD,CAXStF,EAAAuD,GAAA,YAeT,SAASwC,EAAYD,EAAMF,EAAO,CAC9B,OAAON,EAAkB,KAC7B,CAFStF,EAAA+F,EAAA,eAGT,SAASrC,GAAOoC,EAAMF,EAAO,CACzB,OAAON,EAAkB,IAC7B,CAFStF,EAAA0D,GAAA,UAMT,SAASoD,GAAWtE,EAAQ,CACxB,GAAI,CAACuE,EAASC,EAAK,EAAI,CAACxE,EAAQ,CAAC,EACjC,KACSf,EAAU,KAAKsF,CAAO,GAE3BA,EAAUA,EAAQ,IAClBC,IAAS,EAEb,OAAOA,GAAQ,IAAM,EAAID,EAAUnH,EAAQ,KAAK,QAAQ,CAC5D,CATSI,EAAA8G,GAAA,cAUT,SAASnD,EAAKmC,EAAMF,EAAO,CAKvB,OAAQnE,EAAU,KAAKqE,CAAI,EAAIQ,GAAMQ,GAAWhB,CAAI,EAAGF,CAAK,EACxDnE,EAAU,KAAKmE,CAAK,EAAIU,GAAMR,EAAMgB,GAAWlB,CAAK,CAAC,EACjDF,EAAM,6BAA6B,CAC/C,CARS1F,EAAA2D,EAAA,QAYT,SAASC,GAAMkC,EAAMF,EAAO,CAExB,OAAQD,EAAkBC,CAAK,EAAIC,EAAgBC,EAAMF,CAAK,EAC1DnE,EAAU,QAAQmE,CAAK,EAAIW,GAAaT,EAAMF,CAAK,EAC/CnE,EAAU,QAAQmE,CAAK,EAAIY,EAAaV,EAAMF,CAAK,EAC/CnE,EAAU,MAAMmE,CAAK,EAAIN,EAAkB,KACvCA,EAAkB,KACtC,CAPStF,EAAA4D,GAAA,SAWT,SAASiD,GAAaf,EAAMF,EAAO,CAE/B,OAAQnE,EAAU,eAAeqE,CAAI,GACjCrE,EAAU,QAAQqE,CAAI,GAAKrE,EAAU,SAASqE,CAAI,EADbR,EAAkB,KAEnDA,EAAkB,KAC9B,CALStF,EAAA6G,GAAA,gBAMT,SAAShD,GAAQiC,EAAMF,EAAO,CAE1B,OAAQD,EAAkBC,CAAK,EAAIC,EAAgBC,EAAMF,CAAK,EAC1DnE,EAAU,QAAQmE,CAAK,EAAIW,GAAaT,EAAMF,CAAK,EAC/CnE,EAAU,QAAQmE,CAAK,EAAIY,EAAaV,EAAMF,CAAK,EAC/CnE,EAAU,SAASmE,CAAK,GAAKnE,EAAU,QAAQmE,CAAK,EAAIN,EAAkB,KACtEA,EAAkB,KACtC,CAPStF,EAAA6D,GAAA,WAWT,SAASoD,GAAsBzE,EAAQ0E,EAAO,CAC1C,OAAO,OAAO,oBAAoB1E,EAAO,UAAU,EAAE,SAAW0E,CACpE,CAFSlH,EAAAiH,GAAA,yBAGT,SAASE,GAAmB3E,EAAQ,CAChC,OAAO6D,EAAkB7D,CAAM,CACnC,CAFSxC,EAAAmH,GAAA,sBAGT,SAASC,GAAmB5E,EAAQ,CAEhC,OAAOyE,GAAsBzE,EAAQ,CAAC,GAAMyE,GAAsBzE,EAAQ,CAAC,GAAK,gBAAiBA,EAAO,YAAcf,EAAU,OAAOe,EAAO,WAAW,WAAW,GAAKA,EAAO,WAAW,YAAY,MAAM,SAAW,IAAOf,EAAU,QAAQe,EAAO,WAAW,YAAY,MAAM,CAAC,CAAC,GACnRf,EAAU,WAAWe,EAAO,WAAW,YAAY,MAAM,CAAC,CAAC,GAAOf,EAAU,QAAQe,EAAO,WAAW,YAAY,MAAM,CAAC,CAAC,GAC1Hf,EAAU,WAAWe,EAAO,WAAW,YAAY,MAAM,CAAC,CAAC,EACnE,CALSxC,EAAAoH,GAAA,sBAMT,SAASC,GAAmB7E,EAAQ,CAChC,OAAOyE,GAAsBzE,EAAQ,CAAC,CAC1C,CAFSxC,EAAAqH,GAAA,sBAGT,SAASC,GAAoB9E,EAAQ,CACjC,OAAOyE,GAAsBzE,EAAQ,CAAC,CAC1C,CAFSxC,EAAAsH,GAAA,uBAGT,SAASC,GAAmB/E,EAAQ,CAChC,OAAOyE,GAAsBzE,EAAQ,CAAC,CAC1C,CAFSxC,EAAAuH,GAAA,sBAGT,SAASC,GAAiBhF,EAAQ,CAC9B,OAAOyE,GAAsBzE,EAAQ,CAAC,CAC1C,CAFSxC,EAAAwH,GAAA,oBAGT,SAASC,GAAuBjF,EAAQ,CACpC,OAAO6D,EAAkB7D,CAAM,CACnC,CAFSxC,EAAAyH,GAAA,0BAGT,SAASC,GAAqBlF,EAAQ,CAClC,IAAMmF,EAAS/H,EAAQ,KAAK,OAAO,EACnC,OAAOqH,GAAsBzE,EAAQ,CAAC,GAAMyE,GAAsBzE,EAAQ,CAAC,GAAK,WAAYA,EAAO,YAAcgD,EAAkBc,GAAM9D,EAAO,WAAW,OAAWmF,CAAM,CAAC,IAAMrC,EAAkB,IACzM,CAHStF,EAAA0H,GAAA,wBAIT,SAASE,GAAwBpF,EAAQ,CACrC,OAAOyE,GAAsBzE,EAAQ,CAAC,CAC1C,CAFSxC,EAAA4H,GAAA,2BAGT,SAASvB,EAAkB7D,EAAQ,CAC/B,IAAMmF,EAAS/H,EAAQ,KAAK,OAAO,EACnC,OAAOqH,GAAsBzE,EAAQ,CAAC,GAAMyE,GAAsBzE,EAAQ,CAAC,GAAK,WAAYA,EAAO,YAAcgD,EAAkBc,GAAM9D,EAAO,WAAW,OAAWmF,CAAM,CAAC,IAAMrC,EAAkB,IACzM,CAHStF,EAAAqG,EAAA,qBAIT,SAASwB,GAAoBrF,EAAQ,CACjC,IAAMsF,EAAOlI,EAAQ,KAAK,SAAS,CAACA,EAAQ,KAAK,IAAI,CAAC,EAAGA,EAAQ,KAAK,IAAI,CAAC,EAC3E,OAAOqH,GAAsBzE,EAAQ,CAAC,GAAMyE,GAAsBzE,EAAQ,CAAC,GAAK,SAAUA,EAAO,YAAcgD,EAAkBc,GAAM9D,EAAO,WAAW,KAASsF,CAAI,CAAC,IAAMxC,EAAkB,IACnM,CAHStF,EAAA6H,GAAA,uBAOT,SAASE,GAASjC,EAAMF,EAAO,CAE3B,OAAQU,GAAMR,EAAMF,CAAK,IAAMN,EAAkB,OAC7C7D,EAAU,UAAUqE,CAAI,GAAK,CAACrE,EAAU,UAAUmE,CAAK,EADFN,EAAkB,MAEnEA,EAAkB,IAC9B,CALStF,EAAA+H,GAAA,YAMT,SAASxB,GAAaT,EAAMF,EAAO,CAE/B,OAAQnE,EAAU,SAASqE,CAAI,EAAIR,EAAkB,MACjD7D,EAAU,KAAKqE,CAAI,EAAIR,EAAkB,MAAS7D,EAAU,OAAOqE,CAAI,GAClErE,EAAU,eAAeqE,CAAI,GAAKqB,GAAmBvB,CAAK,GAC1DnE,EAAU,eAAeqE,CAAI,GAAKuB,GAAmBzB,CAAK,GAC1DnE,EAAU,gBAAgBqE,CAAI,GAAKwB,GAAoB1B,CAAK,GAC5DnE,EAAU,QAAQqE,CAAI,GAAKsB,GAAmBxB,CAAK,GACnDnE,EAAU,QAAQqE,CAAI,GAAKyB,GAAmB3B,CAAK,GACnDnE,EAAU,QAAQqE,CAAI,GAAKqB,GAAmBvB,CAAK,GACnDnE,EAAU,QAAQqE,CAAI,GAAKsB,GAAmBxB,CAAK,GACnDnE,EAAU,QAAQqE,CAAI,GAAKuB,GAAmBzB,CAAK,GACnDnE,EAAU,SAASqE,CAAI,GAAKuB,GAAmBzB,CAAK,GACpDnE,EAAU,SAASqE,CAAI,GAAKwB,GAAoB1B,CAAK,GACrDnE,EAAU,YAAYqE,CAAI,GAAK2B,GAAuB7B,CAAK,GAC3DnE,EAAU,MAAMqE,CAAI,GAAK0B,GAAiB5B,CAAK,GAC/CnE,EAAU,aAAaqE,CAAI,GAAK8B,GAAwBhC,CAAK,GAC7DnE,EAAU,UAAUqE,CAAI,GAAK4B,GAAqB9B,CAAK,EAAMN,EAAkB,KAC/E7D,EAAU,QAAQqE,CAAI,GAAKrE,EAAU,QAAQuG,EAAUlC,CAAI,CAAC,EAGlDF,EAAMhG,EAAQ,IAAI,IAAM,SAAW0F,EAAkB,KAAOA,EAAkB,MAEpF7D,EAAU,QAAQqE,CAAI,GAAKrE,EAAU,QAAQuG,EAAUlC,CAAI,CAAC,EAClDmB,GAAsBrB,EAAO,CAAC,EAC/BN,EAAkB,KAClBA,EAAkB,MAExBA,EAAkB,KACtC,CA7BStF,EAAAuG,GAAA,gBA8BT,SAASzC,GAAQgC,EAAMF,EAAO,CAE1B,OAAQD,EAAkBC,CAAK,EAAIC,EAAgBC,EAAMF,CAAK,EAC1DnE,EAAU,QAAQmE,CAAK,EAAIY,EAAaV,EAAMF,CAAK,EAC9CnE,EAAU,QAAQmE,CAAK,GACnB,IAAM,CACH,QAAW7B,MAAO,OAAO,oBAAoB6B,EAAM,UAAU,EAAG,CAC5D,GAAI,EAAE7B,MAAO+B,EAAK,aAAe,CAACrE,EAAU,UAAUmE,EAAM,WAAW7B,EAAG,CAAC,EACvE,OAAOuB,EAAkB,MAE7B,GAAI7D,EAAU,UAAUmE,EAAM,WAAW7B,EAAG,CAAC,EACzC,OAAOuB,EAAkB,KAE7B,GAAIyC,GAASjC,EAAK,WAAW/B,EAAG,EAAG6B,EAAM,WAAW7B,EAAG,CAAC,IAAMuB,EAAkB,MAC5E,OAAOA,EAAkB,KAEjC,CACA,OAAOA,EAAkB,IAC7B,GAAG,EAdqBA,EAAkB,KAe1D,CAnBStF,EAAA8D,GAAA,WAuBT,SAASE,GAAS8B,EAAMF,EAAO,CAE3B,OAAQD,EAAkBC,CAAK,EAAIC,EAAgBC,EAAMF,CAAK,EAC1DnE,EAAU,QAAQmE,CAAK,GAAKiC,GAAoBjC,CAAK,EAAIN,EAAkB,KACtE7D,EAAU,SAASmE,CAAK,EACrBJ,EAAkBc,GAAMR,EAAK,KAAMF,EAAM,IAAI,CAAC,EADrBN,EAAkB,KAE3D,CANStF,EAAAgE,GAAA,YAUT,SAASgE,EAAUxF,EAAQ,CAEvB,OAAQ5C,EAAQ,sBAAsB4C,EAAO,kBAAoB5C,EAAQ,KAAK,OAAO,EACjFA,EAAQ,sBAAsB4C,EAAO,kBAAoB5C,EAAQ,KAAK,OAAO,EACzE8F,EAAM,4BAA4B,CAC9C,CALS1F,EAAAgI,EAAA,aAMT,SAASC,EAAYzF,EAAQ,CAEzB,OAAQ5C,EAAQ,sBAAsB4C,EAAO,kBAAoBA,EAAO,kBAAkB5C,EAAQ,kBAAkB,EAChHA,EAAQ,sBAAsB4C,EAAO,kBAAoBA,EAAO,kBAAkB5C,EAAQ,kBAAkB,EACxG8F,EAAM,mCAAmC,CACrD,CALS1F,EAAAiI,EAAA,eAMT,SAASzB,EAAaV,EAAMF,EAAO,CAC/B,GAAM,CAACsC,GAAKC,EAAK,EAAI,CAACH,EAAUpC,CAAK,EAAGqC,EAAYrC,CAAK,CAAC,EAE1D,OAASnE,EAAU,eAAeqE,CAAI,GAAKrE,EAAU,QAAQyG,EAAG,GAAK1C,EAAkBc,GAAMR,EAAMqC,EAAK,CAAC,IAAM7C,EAAkB,KAAQA,EAAkB,KACvJ7D,EAAU,YAAYqE,CAAI,GAAKrE,EAAU,QAAQyG,EAAG,GAChDzG,EAAU,QAAQqE,CAAI,GAAKrE,EAAU,QAAQyG,EAAG,GAC5CzG,EAAU,OAAOqE,CAAI,GAAKrE,EAAU,QAAQyG,EAAG,EAFC5B,GAAMR,EAAMqC,EAAK,EAG7D1G,EAAU,QAAQqE,CAAI,GAAK,IAAM,CAC7B,QAAW/B,MAAO,OAAO,oBAAoB+B,EAAK,UAAU,EACxD,GAAIiC,GAASI,GAAOrC,EAAK,WAAW/B,EAAG,CAAC,IAAMuB,EAAkB,MAC5D,OAAOA,EAAkB,MAGjC,OAAOA,EAAkB,IAC7B,GAAG,EACCA,EAAkB,KAC1C,CAhBStF,EAAAwG,EAAA,gBAiBT,SAASvC,EAAQ6B,EAAMF,EAAO,CAE1B,OAAQD,EAAkBC,CAAK,EAAIC,EAAgBC,EAAMF,CAAK,EAC1DnE,EAAU,QAAQmE,CAAK,EAAIW,GAAaT,EAAMF,CAAK,EAC9CnE,EAAU,QAAQmE,CAAK,EACpBU,GAAM2B,EAAYnC,CAAI,EAAGmC,EAAYrC,CAAK,CAAC,EADnBN,EAAkB,KAE1D,CANStF,EAAAiE,EAAA,WAUT,SAAS2C,EAAad,EAAMF,EAAO,CAE/B,OAAQnE,EAAU,SAASqE,CAAI,GAAKlF,EAAW,SAASkF,EAAK,KAAK,GAC9DrE,EAAU,QAAQqE,CAAI,EAD4CR,EAAkB,KAEhFA,EAAkB,KAC9B,CALStF,EAAA4G,EAAA,gBAMT,SAASvC,EAAQyB,EAAMF,EAAO,CAE1B,OAAQD,EAAkBC,CAAK,EAAIC,EAAgBC,EAAMF,CAAK,EAC1DnE,EAAU,QAAQmE,CAAK,EAAIW,GAAaT,EAAMF,CAAK,EAC/CnE,EAAU,QAAQmE,CAAK,EAAIY,EAAaV,EAAMF,CAAK,EAC/CnE,EAAU,QAAQmE,CAAK,EAAIN,EAAkB,KACzCA,EAAkB,KACtC,CAPStF,EAAAqE,EAAA,WAWT,SAASC,EAAQwB,EAAMF,EAAO,CAE1B,OAAQD,EAAkBC,CAAK,EAAIC,EAAgBC,EAAMF,CAAK,EAC1DnE,EAAU,QAAQmE,CAAK,EAAIW,GAAaT,EAAMF,CAAK,EAC/CnE,EAAU,QAAQmE,CAAK,EAAIY,EAAaV,EAAMF,CAAK,EAC/CnE,EAAU,QAAQmE,CAAK,EAAIN,EAAkB,KACzCA,EAAkB,KACtC,CAPStF,EAAAsE,EAAA,WAWT,SAASC,EAAiBuB,EAAMF,EAAO,CAKnC,OAAQnE,EAAU,iBAAiBqE,CAAI,EAAIQ,GAAM8B,GAAwB,QAAQtC,CAAI,EAAGF,CAAK,EACzFnE,EAAU,iBAAiBmE,CAAK,EAAIU,GAAMR,EAAMsC,GAAwB,QAAQxC,CAAK,CAAC,EAClFF,EAAM,yCAAyC,CAC3D,CARS1F,EAAAuE,EAAA,oBAYT,SAAS8D,EAAevC,EAAMF,EAAO,CAEjC,OAAQnE,EAAU,OAAOmE,CAAK,GAC1BE,EAAK,QAAU,QACfA,EAAK,MAAM,MAAOtD,IAAW8D,GAAM9D,GAAQoD,EAAM,KAAK,IAAMN,EAAkB,IAAI,CAC1F,CALStF,EAAAqI,EAAA,kBAMT,SAASC,EAAYxC,EAAMF,EAAO,CAE9B,OAAQnE,EAAU,OAAOqE,CAAI,EAAIR,EAAkB,KAC/C7D,EAAU,SAASqE,CAAI,EAAIR,EAAkB,MACzC7D,EAAU,KAAKqE,CAAI,EAAIR,EAAkB,MACrCA,EAAkB,KAClC,CANStF,EAAAsI,EAAA,eAOT,SAAS7D,EAAOqB,EAAMF,EAAO,CAEzB,OAAQD,EAAkBC,CAAK,EAAIC,EAAgBC,EAAMF,CAAK,EAC1DnE,EAAU,QAAQmE,CAAK,GAAKS,EAAkBT,CAAK,GAC/CnE,EAAU,OAAOmE,CAAK,GAAKyC,EAAevC,EAAMF,CAAK,EADFN,EAAkB,KAEhE7D,EAAU,OAAOmE,CAAK,EAClBhF,EAAW,YAAYkF,EAAK,KAAK,GAAK,CAAClF,EAAW,YAAYgF,EAAM,KAAK,GAAO,CAAChF,EAAW,YAAYkF,EAAK,KAAK,GAAKlF,EAAW,YAAYgF,EAAM,KAAK,EAAKN,EAAkB,MAC5K1E,EAAW,YAAYkF,EAAK,KAAK,GAAK,CAAClF,EAAW,YAAYgF,EAAM,KAAK,GACtEE,EAAK,MAAM,MAAM,CAACtD,GAAQkE,KAAUJ,GAAM9D,GAAQoD,EAAM,MAAMc,EAAK,CAAC,IAAMpB,EAAkB,IAAI,EADrBA,EAAkB,KAEzFA,EAAkB,MAJPA,EAAkB,KAK7D,CAVStF,EAAAyE,EAAA,UAcT,SAASI,EAAYiB,EAAMF,EAAO,CAE9B,OAAQD,EAAkBC,CAAK,EAAIC,EAAgBC,EAAMF,CAAK,EAC1DnE,EAAU,QAAQmE,CAAK,EAAIW,GAAaT,EAAMF,CAAK,EAC/CnE,EAAU,QAAQmE,CAAK,EAAIY,EAAaV,EAAMF,CAAK,EAC/CnE,EAAU,YAAYmE,CAAK,EAAIN,EAAkB,KAC7CA,EAAkB,KACtC,CAPStF,EAAA6E,EAAA,eAWT,SAASH,GAAWoB,EAAMF,EAAO,CAE7B,OAAQD,EAAkBC,CAAK,EAAIC,EAAgBC,EAAMF,CAAK,EAC1DnE,EAAU,QAAQmE,CAAK,EAAIW,GAAaT,EAAMF,CAAK,EAC/CnE,EAAU,QAAQmE,CAAK,EAAIY,EAAaV,EAAMF,CAAK,EAC/CnE,EAAU,MAAMmE,CAAK,EAAI2C,GAAUzC,EAAMF,CAAK,EAC1CnE,EAAU,WAAWmE,CAAK,EAAIN,EAAkB,KAC5CA,EAAkB,KAC1C,CARStF,EAAA0E,GAAA,cAYT,SAASuB,GAAYH,EAAMF,EAAO,CAE9B,OAAOA,EAAM,MAAM,KAAMpD,IAAW8D,GAAMR,EAAMtD,EAAM,IAAM8C,EAAkB,IAAI,EAC5EA,EAAkB,KAClBA,EAAkB,KAC5B,CALStF,EAAAiG,GAAA,eAMT,SAASrB,GAAOkB,EAAMF,EAAO,CAEzB,OAAOE,EAAK,MAAM,MAAOtD,IAAW8D,GAAM9D,GAAQoD,CAAK,IAAMN,EAAkB,IAAI,EAC7EA,EAAkB,KAClBA,EAAkB,KAC5B,CALStF,EAAA4E,GAAA,UAST,SAASsB,GAAcJ,EAAMF,EAAO,CAChC,OAAON,EAAkB,IAC7B,CAFStF,EAAAkG,GAAA,iBAGT,SAASpB,GAASgB,EAAMF,EAAO,CAE3B,OAAQnE,EAAU,OAAOmE,CAAK,EAAIG,EAAYD,EAAMF,CAAK,EACrDnE,EAAU,WAAWmE,CAAK,EAAII,EAAgBF,EAAMF,CAAK,EACrDnE,EAAU,OAAOmE,CAAK,EAAIK,GAAYH,EAAMF,CAAK,EAC7CnE,EAAU,KAAKmE,CAAK,EAAIO,EAAUL,EAAMF,CAAK,EACzCnE,EAAU,QAAQmE,CAAK,EAAIgB,EAAad,EAAMF,CAAK,EAC/CnE,EAAU,QAAQmE,CAAK,EAAIiB,GAAaf,EAAMF,CAAK,EAC/CnE,EAAU,SAASmE,CAAK,EAAIe,EAAcb,EAAMF,CAAK,EACjDnE,EAAU,SAASmE,CAAK,EAAIa,EAAcX,EAAMF,CAAK,EACjDnE,EAAU,OAAOmE,CAAK,EAAIQ,EAAYN,EAAMF,CAAK,EAC7CnE,EAAU,OAAOmE,CAAK,EAAI0C,EAAYxC,EAAMF,CAAK,EAC7CnE,EAAU,QAAQmE,CAAK,EAAIW,GAAaT,EAAMF,CAAK,EAC/CnE,EAAU,SAASmE,CAAK,EAAIN,EAAkB,KAC1CA,EAAkB,KACtE,CAfStF,EAAA8E,GAAA,YAmBT,SAASyD,GAAUzC,EAAMF,EAAO,CAE5B,OAAOnE,EAAU,WAAWqE,CAAI,GAC5BrE,EAAU,WAAWqE,CAAI,EADOR,EAAkB,KAE9CA,EAAkB,KAC9B,CALStF,EAAAuI,GAAA,aAMT,SAASvD,GAAMc,EAAMF,EAAO,CAExB,OAAOnE,EAAU,WAAWmE,CAAK,EAAII,EAAgBF,EAAMF,CAAK,EAC5DnE,EAAU,OAAOmE,CAAK,EAAIK,GAAYH,EAAMF,CAAK,EAC7CnE,EAAU,SAASmE,CAAK,EAAIM,GAAcJ,EAAMF,CAAK,EACjDnE,EAAU,KAAKmE,CAAK,EAAIO,EAAUL,EAAMF,CAAK,EACzCnE,EAAU,QAAQmE,CAAK,EAAIW,GAAaT,EAAMF,CAAK,EAC/CnE,EAAU,MAAMmE,CAAK,EAAIN,EAAkB,KACvCA,EAAkB,KAC9C,CATStF,EAAAgF,GAAA,SAUT,SAASsB,GAAMR,EAAMF,EAAO,CAExB,OAECnE,EAAU,iBAAiBqE,CAAI,GAAKrE,EAAU,iBAAiBmE,CAAK,EAAKrB,EAAiBuB,EAAMF,CAAK,EACjGnE,EAAU,KAAKqE,CAAI,GAAKrE,EAAU,KAAKmE,CAAK,EAAKjC,EAAKmC,EAAMF,CAAK,EAE9DnE,EAAU,KAAKqE,CAAI,EAAIvD,EAAKuD,EAAMF,CAAK,EACnCnE,EAAU,OAAOqE,CAAI,EAAIpD,EAAOoD,EAAMF,CAAK,EACvCnE,EAAU,QAAQqE,CAAI,EAAIlD,EAAQkD,EAAMF,CAAK,EACzCnE,EAAU,SAASqE,CAAI,EAAIjD,EAASiD,EAAMF,CAAK,EAC3CnE,EAAU,eAAeqE,CAAI,EAAInD,EAAemD,EAAMF,CAAK,EACvDnE,EAAU,aAAaqE,CAAI,EAAIhD,EAAagD,EAAMF,CAAK,EACnDnE,EAAU,MAAMqE,CAAI,EAAI/C,EAAM+C,EAAMF,CAAK,EACrCnE,EAAU,UAAUqE,CAAI,EAAI9C,EAAU8C,EAAMF,CAAK,EAC7CnE,EAAU,SAASqE,CAAI,EAAI7C,EAAS6C,EAAMF,CAAK,EAC3CnE,EAAU,WAAWqE,CAAI,EAAI5C,GAAW4C,EAAMF,CAAK,EAC/CnE,EAAU,UAAUqE,CAAI,EAAI1C,GAAU0C,EAAMF,CAAK,EAC7CnE,EAAU,SAASqE,CAAI,EAAIvC,GAASuC,EAAMF,CAAK,EAC3CnE,EAAU,OAAOqE,CAAI,EAAIpC,GAAOoC,EAAMF,CAAK,EACvCnE,EAAU,MAAMqE,CAAI,EAAIlC,GAAMkC,EAAMF,CAAK,EACrCnE,EAAU,QAAQqE,CAAI,EAAIjC,GAAQiC,EAAMF,CAAK,EACzCnE,EAAU,QAAQqE,CAAI,EAAIhC,GAAQgC,EAAMF,CAAK,EACzCnE,EAAU,QAAQqE,CAAI,EAAI7B,EAAQ6B,EAAMF,CAAK,EACzCnE,EAAU,QAAQqE,CAAI,EAAIzB,EAAQyB,EAAMF,CAAK,EACzCnE,EAAU,QAAQqE,CAAI,EAAIxB,EAAQwB,EAAMF,CAAK,EACzCnE,EAAU,OAAOqE,CAAI,EAAIrB,EAAOqB,EAAMF,CAAK,EACvCnE,EAAU,SAASqE,CAAI,EAAI9B,GAAS8B,EAAMF,CAAK,EAC3CnE,EAAU,YAAYqE,CAAI,EAAIjB,EAAYiB,EAAMF,CAAK,EACjDnE,EAAU,WAAWqE,CAAI,EAAIpB,GAAWoB,EAAMF,CAAK,EAC/CnE,EAAU,OAAOqE,CAAI,EAAIlB,GAAOkB,EAAMF,CAAK,EACvCnE,EAAU,SAASqE,CAAI,EAAIhB,GAASgB,EAAMF,CAAK,EAC3CnE,EAAU,MAAMqE,CAAI,EAAId,GAAMc,EAAMF,CAAK,EACrCF,EAAM,8BAA8BI,EAAKlG,EAAQ,IAAI,CAAC,GAAG,CAC7K,CAlCSI,EAAAsG,GAAA,SAmCT,SAASkC,GAAQ1C,EAAMF,EAAO,CAC1B,OAAOU,GAAMR,EAAMF,CAAK,CAC5B,CAFS5F,EAAAwI,GAAA,WAGTjD,EAAY,QAAUiD,EAC1B,GAAGjD,KAAgB3F,EAAQ,YAAc2F,GAAc,CAAC,EAAE,EAK1D,IAAIkD,IACH,SAAUA,EAAW,CAClB,SAASC,EAAU5H,EAAO,CACtB,OAAOA,EAAM,IAAKA,GAAUwF,EAAMxF,CAAK,CAAC,CAC5C,CAFSd,EAAA0I,EAAA,aAGT,SAASC,EAAS7H,EAAO,CACrB,OAAO,IAAI,KAAKA,EAAM,QAAQ,CAAC,CACnC,CAFSd,EAAA2I,EAAA,YAGT,SAASC,EAAe9H,EAAO,CAC3B,OAAO,IAAI,WAAWA,CAAK,CAC/B,CAFSd,EAAA4I,EAAA,kBAGT,SAASC,EAAW/H,EAAO,CACvB,IAAMgI,EAAmB,OAAO,oBAAoBhI,CAAK,EAAE,OAAO,CAACiI,EAAKhF,KAAS,CAAE,GAAGgF,EAAK,CAAChF,CAAG,EAAGuC,EAAMxF,EAAMiD,CAAG,CAAC,CAAE,GAAI,CAAC,CAAC,EACpHiF,EAAgB,OAAO,sBAAsBlI,CAAK,EAAE,OAAO,CAACiI,EAAKhF,KAAS,CAAE,GAAGgF,EAAK,CAAChF,CAAG,EAAGuC,EAAMxF,EAAMiD,CAAG,CAAC,CAAE,GAAI,CAAC,CAAC,EACzH,MAAO,CAAE,GAAG+E,EAAkB,GAAGE,CAAc,CACnD,CAJShJ,EAAA6I,EAAA,cAKT,SAASvC,EAAMxF,EAAO,CAElB,OAAQF,EAAW,QAAQE,CAAK,EAAI4H,EAAU5H,CAAK,EAC/CF,EAAW,OAAOE,CAAK,EAAI6H,EAAS7H,CAAK,EACrCF,EAAW,aAAaE,CAAK,EAAI8H,EAAe9H,CAAK,EACjDF,EAAW,SAASE,CAAK,EAAI+H,EAAW/H,CAAK,EACzCA,CACpB,CAPSd,EAAAsG,EAAA,SAST,SAAS2C,EAAKC,EAAS,CACnB,OAAOA,EAAQ,IAAK1G,GAAW2G,EAAK3G,CAAM,CAAC,CAC/C,CAFSxC,EAAAiJ,EAAA,QAGTR,EAAU,KAAOQ,EAEjB,SAASE,EAAK3G,EAAQ4G,EAAU,CAAC,EAAG,CAChC,MAAO,CAAE,GAAG9C,EAAM9D,CAAM,EAAG,GAAG4G,CAAQ,CAC1C,CAFSpJ,EAAAmJ,EAAA,QAGTV,EAAU,KAAOU,CACrB,GAAGV,KAAc7I,EAAQ,UAAY6I,GAAY,CAAC,EAAE,EAIpD,IAAIY,IACH,SAAUA,EAAiB,CACxB,SAASC,EAAe9G,EAAQ,CAC5B,OAAOA,EAAO,IAAKA,GAAW,CAC1B,GAAM,CAAE,CAAC5C,EAAQ,QAAQ,EAAG2J,EAAG,GAAGC,CAAM,EAAIf,GAAU,KAAKjG,CAAM,EACjE,OAAOgH,CACX,CAAC,CACL,CALSxJ,EAAAsJ,EAAA,kBAMT,SAASG,EAAoBjH,EAAQ,CACjC,OAAOA,EAAO,MAAOA,GAAWf,EAAU,UAAUe,CAAM,CAAC,CAC/D,CAFSxC,EAAAyJ,EAAA,uBAGT,SAASC,EAAgBlH,EAAQ,CAC7B,OAAOA,EAAO,KAAMA,GAAWf,EAAU,UAAUe,CAAM,CAAC,CAC9D,CAFSxC,EAAA0J,EAAA,mBAGT,SAASC,EAAiBnH,EAAQ,CAC9B,OAAOiH,EAAoBjH,EAAO,KAAK,EAAI5C,EAAQ,KAAK,SAASA,EAAQ,KAAK,UAAU0J,EAAe9G,EAAO,KAAK,CAAC,CAAC,EAAIA,CAC7H,CAFSxC,EAAA2J,EAAA,oBAGT,SAASC,EAAapH,EAAQ,CAC1B,OAAOkH,EAAgBlH,EAAO,KAAK,EAAI5C,EAAQ,KAAK,SAASA,EAAQ,KAAK,MAAM0J,EAAe9G,EAAO,KAAK,CAAC,CAAC,EAAIA,CACrH,CAFSxC,EAAA4J,EAAA,gBAGT,SAASC,EAAgBrH,EAAQ,CAE7B,OAAOA,EAAO5C,EAAQ,IAAI,IAAM,YAAc+J,EAAiBnH,CAAM,EACjEA,EAAO5C,EAAQ,IAAI,IAAM,QAAUgK,EAAapH,CAAM,EAClDA,CACZ,CALSxC,EAAA6J,EAAA,mBAMT,SAAS3G,EAAWV,EAAQuB,EAAK,CAC7B,IAAM+F,EAAWtH,EAAO,MAAM,OAAO,CAACuG,EAAKvG,IAAW,CAClD,IAAMuH,EAAUzD,EAAM9D,EAAQuB,CAAG,EACjC,OAAOgG,EAAQnK,EAAQ,IAAI,IAAM,QAAUmJ,EAAM,CAAC,GAAGA,EAAKgB,CAAO,CACrE,EAAG,CAAC,CAAC,EACL,OAAOF,EAAgBjK,EAAQ,KAAK,UAAUkK,CAAQ,CAAC,CAC3D,CANS9J,EAAAkD,EAAA,cAOT,SAAS0B,EAAOpC,EAAQuB,EAAK,CACzB,IAAM+F,EAAWtH,EAAO,MAAM,IAAKA,GAAW8D,EAAM9D,EAAQuB,CAAG,CAAC,EAChE,OAAO8F,EAAgBjK,EAAQ,KAAK,MAAMkK,CAAQ,CAAC,CACvD,CAHS9J,EAAA4E,EAAA,UAIT,SAASd,EAAQtB,EAAQuB,EAAK,CAC1B,IAAMiG,EAAWxH,EAAO,WAAWuB,CAAG,EACtC,OAAOnD,EAAW,YAAYoJ,CAAQ,EAAIpK,EAAQ,KAAK,MAAM,EAAIA,EAAQ,KAAK,MAAM,CAACoK,CAAQ,CAAC,CAClG,CAHShK,EAAA8D,EAAA,WAIT,SAASW,EAAOjC,EAAQuB,EAAK,CACzB,IAAMkG,EAAQzH,EAAO,MACrB,GAAI5B,EAAW,YAAYqJ,CAAK,EAC5B,OAAOrK,EAAQ,KAAK,MAAM,EAC9B,IAAMsK,EAAUD,EAAMlG,CAAG,EACzB,OAAInD,EAAW,YAAYsJ,CAAO,EACvBtK,EAAQ,KAAK,MAAM,EACvBsK,CACX,CARSlK,EAAAyE,EAAA,UAST,SAAS6B,EAAM9D,EAAQuB,EAAK,CAExB,OAAOvB,EAAO5C,EAAQ,IAAI,IAAM,YAAcsD,EAAWV,EAAQuB,CAAG,EAChEvB,EAAO5C,EAAQ,IAAI,IAAM,QAAUgF,EAAOpC,EAAQuB,CAAG,EACjDvB,EAAO5C,EAAQ,IAAI,IAAM,SAAWkE,EAAQtB,EAAQuB,CAAG,EACnDvB,EAAO5C,EAAQ,IAAI,IAAM,QAAU6E,EAAOjC,EAAQuB,CAAG,EACjDnE,EAAQ,KAAK,MAAM,CACvC,CAPSI,EAAAsG,EAAA,SAQT,SAAS6D,EAAQ3H,EAAQ0B,EAAMkF,EAAU,CAAC,EAAG,CACzC,IAAMU,EAAW5F,EAAK,IAAKH,GAAQuC,EAAM9D,EAAQuB,EAAI,SAAS,CAAC,CAAC,EAChE,OAAO8F,EAAgBjK,EAAQ,KAAK,MAAMkK,EAAUV,CAAO,CAAC,CAChE,CAHSpJ,EAAAmK,EAAA,WAITd,EAAgB,QAAUc,CAC9B,GAAGd,KAAoBzJ,EAAQ,gBAAkByJ,GAAkB,CAAC,EAAE,EAItE,IAAIe,IACH,SAAUA,EAAW,CAClB,SAASC,EAAavJ,EAAO,CACzB,GAAM,CAACwJ,EAAOC,CAAI,EAAI,CAACzJ,EAAM,MAAM,EAAG,CAAC,EAAGA,EAAM,MAAM,CAAC,CAAC,EACxD,MAAO,GAAGwJ,EAAM,YAAY,CAAC,GAAGC,CAAI,EACxC,CAHSvK,EAAAqK,EAAA,gBAIT,SAASG,EAAW1J,EAAO,CACvB,GAAM,CAACwJ,EAAOC,CAAI,EAAI,CAACzJ,EAAM,MAAM,EAAG,CAAC,EAAGA,EAAM,MAAM,CAAC,CAAC,EACxD,MAAO,GAAGwJ,EAAM,YAAY,CAAC,GAAGC,CAAI,EACxC,CAHSvK,EAAAwK,EAAA,cAIT,SAASC,EAAU3J,EAAO,CACtB,OAAOA,EAAM,YAAY,CAC7B,CAFSd,EAAAyK,EAAA,aAGT,SAASC,EAAU5J,EAAO,CACtB,OAAOA,EAAM,YAAY,CAC7B,CAFSd,EAAA0K,EAAA,aAGT,SAASC,EAAyBnI,EAAQoI,EAAM,CAG5C,IAAMC,EAAaC,GAAsB,WAAWtI,EAAO,OAAO,EAElE,GAAI,CADWuI,GAAsB,MAAMF,CAAU,EAEjD,MAAO,CAAE,GAAGrI,EAAQ,QAASwI,EAAiBxI,EAAO,QAASoI,CAAI,CAAE,EAExE,IAAMK,EADU,CAAC,GAAGC,GAAyB,SAASL,CAAU,CAAC,EACxC,IAAK/J,GAAUlB,EAAQ,KAAK,QAAQkB,CAAK,CAAC,EAC7DqK,EAASC,EAAcH,EAAUL,CAAI,EACrCS,EAAQzL,EAAQ,KAAK,MAAMuL,CAAM,EACvC,OAAOvL,EAAQ,KAAK,gBAAgB,CAACyL,CAAK,CAAC,CAC/C,CAZSrL,EAAA2K,EAAA,4BAaT,SAASK,EAAiBlK,EAAO8J,EAAM,CAEnC,OAAO,OAAO9J,GAAU,SAAY8J,IAAS,eAAiBP,EAAavJ,CAAK,EAC5E8J,IAAS,aAAeJ,EAAW1J,CAAK,EACpC8J,IAAS,YAAcH,EAAU3J,CAAK,EAClC8J,IAAS,YAAcF,EAAU5J,CAAK,EAClCA,EAASA,EAAM,SAAS,CAC5C,CAPSd,EAAAgL,EAAA,oBAQT,SAASI,EAAc5I,EAAQoI,EAAM,CACjC,GAAIpI,EAAO,SAAW,EAClB,MAAO,CAAC,EACZ,GAAM,CAAC8I,EAAG,GAAGC,CAAC,EAAI/I,EAClB,MAAO,CAACgJ,EAAIF,EAAGV,CAAI,EAAG,GAAGQ,EAAcG,EAAGX,CAAI,CAAC,CACnD,CALS5K,EAAAoL,EAAA,iBAMT,SAAS9E,EAAM9D,EAAQoI,EAAM,CAEzB,OAAOnJ,EAAU,iBAAiBe,CAAM,EAAImI,EAAyBnI,EAAQoI,CAAI,EAC7EnJ,EAAU,OAAOe,CAAM,EAAI5C,EAAQ,KAAK,MAAMwL,EAAc5I,EAAO,MAAOoI,CAAI,CAAC,EAC3EnJ,EAAU,SAASe,CAAM,EAAI5C,EAAQ,KAAK,QAAQoL,EAAiBxI,EAAO,MAAOoI,CAAI,CAAC,EAClFpI,CAChB,CANSxC,EAAAsG,EAAA,SAQT,SAASkF,EAAIhJ,EAAQoI,EAAM,CACvB,OAAOtE,EAAM9D,EAAQoI,CAAI,CAC7B,CAFS5K,EAAAwL,EAAA,OAGTpB,EAAU,IAAMoB,CACpB,GAAGpB,KAAcxK,EAAQ,UAAYwK,GAAY,CAAC,EAAE,EAIpD,IAAIqB,IACH,SAAUA,EAAW,CAClB,SAASvI,EAAWV,EAAQkJ,EAAU,CAElC,OAAO9L,EAAQ,KAAK,UAAU4C,EAAO,MAAM,IAAKmJ,GAAUrF,EAAMqF,EAAOD,CAAQ,CAAC,EAAG,CAAE,GAAGlJ,CAAO,CAAC,CACpG,CAHSxC,EAAAkD,EAAA,cAIT,SAAS0B,EAAOpC,EAAQkJ,EAAU,CAE9B,OAAO9L,EAAQ,KAAK,MAAM4C,EAAO,MAAM,IAAKmJ,GAAUrF,EAAMqF,EAAOD,CAAQ,CAAC,EAAG,CAAE,GAAGlJ,CAAO,CAAC,CAChG,CAHSxC,EAAA4E,EAAA,UAIT,SAASd,EAAQtB,EAAQkJ,EAAU,CAC/B,OAAOA,EAASlJ,CAAM,CAC1B,CAFSxC,EAAA8D,EAAA,WAGT,SAASwC,EAAM9D,EAAQkJ,EAAU,CAM7B,OAAQlJ,EAAO5C,EAAQ,IAAI,IAAM,YAAcsD,EAAWV,EAAQkJ,CAAQ,EACtElJ,EAAO5C,EAAQ,IAAI,IAAM,QAAUgF,EAAOpC,EAAQkJ,CAAQ,EACtDlJ,EAAO5C,EAAQ,IAAI,IAAM,SAAWkE,EAAQtB,EAAQkJ,CAAQ,EACxDlJ,CAChB,CAVSxC,EAAAsG,EAAA,SAWT,SAASkF,EAAIhJ,EAAQkJ,EAAUtC,EAAS,CACpC,MAAO,CAAE,GAAG9C,EAAMmC,GAAU,KAAKjG,CAAM,EAAGkJ,CAAQ,EAAG,GAAGtC,CAAQ,CACpE,CAFSpJ,EAAAwL,EAAA,OAGTC,EAAU,IAAMD,CACpB,GAAGC,KAAc7L,EAAQ,UAAY6L,GAAY,CAAC,EAAE,EACpD,IAAIG,IACH,SAAUA,EAAa,CACpB,SAASC,EAAc9H,EAAK,CACxB,OAAOA,EAAI,CAAC,IAAM,KAAOA,EAAIA,EAAI,OAAS,CAAC,IAAM,IAAMA,EAAI,MAAM,EAAGA,EAAI,OAAS,CAAC,EAAIA,CAC1F,CAFS/D,EAAA6L,EAAA,iBAGT,SAAS3I,EAAWV,EAAQ4G,EAAS,CACjC,OAAO5G,EAAO,MAAM,OAAO,CAACuG,EAAKvG,IAAW,CAAC,GAAGuG,EAAK,GAAGzC,EAAM9D,EAAQ4G,CAAO,CAAC,EAAG,CAAC,CAAC,CACvF,CAFSpJ,EAAAkD,EAAA,cAGT,SAAS0B,EAAOpC,EAAQ4G,EAAS,CAC7B,IAAM0C,EAAOtJ,EAAO,MAAM,IAAKmJ,GAAUrF,EAAMqF,EAAOvC,CAAO,CAAC,EAC9D,MAAO,CAAC,GAAG0C,EAAK,OAAO,CAACC,EAAKC,IAAUA,EAAM,IAAKjI,GAAS+H,EAAK,MAAOH,GAAUA,EAAM,SAAS5H,CAAG,CAAC,EAAIgI,EAAI,IAAIhI,CAAG,EAAIgI,CAAI,EAAE,CAAC,EAAG,IAAI,GAAK,CAAC,CAC/I,CAHS/L,EAAA4E,EAAA,UAIT,SAASd,EAAQtB,EAAQ4G,EAAS,CAC9B,OAAO,OAAO,oBAAoB5G,EAAO,UAAU,CACvD,CAFSxC,EAAA8D,EAAA,WAGT,SAASG,EAAQzB,EAAQ4G,EAAS,CAC9B,OAAOA,EAAQ,gBAAkB,OAAO,oBAAoB5G,EAAO,iBAAiB,EAAI,CAAC,CAC7F,CAFSxC,EAAAiE,EAAA,WAGT,SAASqC,EAAM9D,EAAQ4G,EAAS,CAE5B,OAAQ3H,EAAU,WAAWe,CAAM,EAAIU,EAAWV,EAAQ4G,CAAO,EAC7D3H,EAAU,OAAOe,CAAM,EAAIoC,EAAOpC,EAAQ4G,CAAO,EAC7C3H,EAAU,QAAQe,CAAM,EAAIsB,EAAQtB,EAAQ4G,CAAO,EAC/C3H,EAAU,QAAQe,CAAM,EAAIyB,EAAQzB,EAAQ4G,CAAO,EAC/C,CAAC,CACrB,CAPSpJ,EAAAsG,EAAA,SAST,SAAS2F,EAAYzJ,EAAQ4G,EAAS,CAClC,MAAO,CAAC,GAAG,IAAI,IAAI9C,EAAM9D,EAAQ4G,CAAO,CAAC,CAAC,CAC9C,CAFSpJ,EAAAiM,EAAA,eAGTL,EAAY,YAAcK,EAE1B,SAASC,EAAe1J,EAAQ,CAG5B,MAAO,KAFMyJ,EAAYzJ,EAAQ,CAAE,gBAAiB,EAAK,CAAC,EACrC,IAAKuB,GAAQ,IAAI8H,EAAc9H,CAAG,CAAC,GAAG,EACvC,KAAK,GAAG,CAAC,IACjC,CAJS/D,EAAAkM,EAAA,kBAKTN,EAAY,eAAiBM,CACjC,GAAGN,KAAgBhM,EAAQ,YAAcgM,GAAc,CAAC,EAAE,EAI1D,IAAMO,GAAN,cAAoC3L,EAAa,CAz9CjD,MAy9CiD,CAAAR,EAAA,8BACjD,EACAJ,EAAQ,sBAAwBuM,GAChC,IAAIC,IACH,SAAUA,EAAkB,CAEzB,SAASjC,EAAQ3H,EAAQ,CAErB,OAAO,MAAM,QAAQA,CAAM,EAAIA,EAC3Bf,EAAU,cAAce,CAAM,EAAIA,EAAO,MAAM,IAAKA,GAAWA,EAAO,MAAM,SAAS,CAAC,EAClFf,EAAU,SAASe,CAAM,EAAI,CAACA,EAAO,KAAK,EACtCf,EAAU,iBAAiBe,CAAM,GAAK,IAAM,CACxC,IAAMqI,EAAaC,GAAsB,WAAWtI,EAAO,OAAO,EAClE,GAAI,CAACuI,GAAsB,MAAMF,CAAU,EACvC,MAAM,IAAIsB,GAAsB,uDAAuD,EAC3F,MAAO,CAAC,GAAGjB,GAAyB,SAASL,CAAU,CAAC,CAC5D,GAAG,EAAI,CAAC,CACxB,CAXS7K,EAAAmK,EAAA,WAYTiC,EAAiB,QAAUjC,CAC/B,GAAGiC,KAAqBxM,EAAQ,iBAAmBwM,GAAmB,CAAC,EAAE,EAIzE,IAAIC,IACH,SAAUA,EAAe,CACtB,SAAUzH,EAAOyG,EAAO,CACpB,QAAW7I,KAAU6I,EAAM,MACnB7I,EAAO5C,EAAQ,IAAI,IAAM,QACzB,MAAOgF,EAAOpC,CAAM,EAGpB,MAAMA,CAGlB,CATUxC,EAAA4E,EAAA,UAWV,SAASuF,EAAQkB,EAAO,CACpB,OAAOzL,EAAQ,KAAK,MAAM,CAAC,GAAGgF,EAAOyG,CAAK,CAAC,EAAG,CAAE,GAAGA,CAAM,CAAC,CAC9D,CAFSrL,EAAAmK,EAAA,WAGTkC,EAAc,QAAUlC,CAC5B,GAAGkC,KAAkBzM,EAAQ,cAAgByM,GAAgB,CAAC,EAAE,EAIhE,IAAMC,GAAN,cAA0C9L,EAAa,CArgDvD,MAqgDuD,CAAAR,EAAA,oCACvD,EACAJ,EAAQ,4BAA8B0M,GACtC,IAAIC,IACH,SAAUA,EAAwB,CAC/B,SAAS7G,EAAMjF,EAAS,CACpB,MAAM,IAAI6L,GAA4B7L,CAAO,CACjD,CAFST,EAAA0F,EAAA,SAGT,SAAS8G,EAAO1L,EAAO,CACnB,OAAOA,EAAM,QAAQ,sBAAuB,MAAM,CACtD,CAFSd,EAAAwM,EAAA,UAGT,SAASlG,EAAM9D,EAAQuG,EAAK,CAExB,OAAQtH,EAAU,iBAAiBe,CAAM,EAAIA,EAAO,QAAQ,MAAM,EAAGA,EAAO,QAAQ,OAAS,CAAC,EAC1Ff,EAAU,OAAOe,CAAM,EAAI,IAAIA,EAAO,MAAM,IAAKA,GAAW8D,EAAM9D,EAAQuG,CAAG,CAAC,EAAE,KAAK,GAAG,CAAC,IACrFtH,EAAU,QAAQe,CAAM,EAAI,GAAGuG,CAAG,GAAGnJ,EAAQ,aAAa,GACtD6B,EAAU,SAASe,CAAM,EAAI,GAAGuG,CAAG,GAAGnJ,EAAQ,aAAa,GACvD6B,EAAU,QAAQe,CAAM,EAAI,GAAGuG,CAAG,GAAGnJ,EAAQ,aAAa,GACtD6B,EAAU,QAAQe,CAAM,EAAI,GAAGuG,CAAG,GAAGnJ,EAAQ,aAAa,GACtD6B,EAAU,SAASe,CAAM,EAAI,GAAGuG,CAAG,GAAGyD,EAAOhK,EAAO,MAAM,SAAS,CAAC,CAAC,GACjEf,EAAU,SAASe,CAAM,EAAI,GAAGuG,CAAG,GAAGnJ,EAAQ,cAAc,GACxD8F,EAAM,oBAAoBlD,EAAO5C,EAAQ,IAAI,CAAC,GAAG,CACrF,CAXSI,EAAAsG,EAAA,SAYT,SAASmG,EAAOC,EAAO,CACnB,MAAO,IAAIA,EAAM,IAAKlK,GAAW8D,EAAM9D,EAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAChE,CAFSxC,EAAAyM,EAAA,UAGTF,EAAuB,OAASE,CACpC,GAAGF,KAA2B3M,EAAQ,uBAAyB2M,GAAyB,CAAC,EAAE,EAI3F,IAAInE,IACH,SAAUA,EAAyB,CAEhC,SAAS+B,EAAQwC,EAAU,CACvB,IAAM9B,EAAaC,GAAsB,WAAW6B,EAAS,OAAO,EACpE,GAAI,CAAC5B,GAAsB,MAAMF,CAAU,EACvC,OAAOjL,EAAQ,KAAK,OAAO,EAC/B,IAAMqL,EAAW,CAAC,GAAGC,GAAyB,SAASL,CAAU,CAAC,EAAE,IAAK/J,GAAUlB,EAAQ,KAAK,QAAQkB,CAAK,CAAC,EAC9G,OAAOlB,EAAQ,KAAK,MAAMqL,CAAQ,CACtC,CANSjL,EAAAmK,EAAA,WAOT/B,EAAwB,QAAU+B,CACtC,GAAG/B,KAA4BxI,EAAQ,wBAA0BwI,GAA0B,CAAC,EAAE,EAI9F,IAAMwE,GAAN,cAAyCpM,EAAa,CAnjDtD,MAmjDsD,CAAAR,EAAA,mCACtD,EACAJ,EAAQ,2BAA6BgN,GACrC,IAAI9B,IACH,SAAUA,EAAuB,CAC9B,SAAS+B,EAAaC,EAASpG,EAAOqG,EAAM,CACxC,OAAOD,EAAQpG,CAAK,IAAMqG,GAAQD,EAAQ,WAAWpG,EAAQ,CAAC,IAAM,EACxE,CAFS1G,EAAA6M,EAAA,gBAGT,SAASG,EAAYF,EAASpG,EAAO,CACjC,OAAOmG,EAAaC,EAASpG,EAAO,GAAG,CAC3C,CAFS1G,EAAAgN,EAAA,eAGT,SAASC,EAAaH,EAASpG,EAAO,CAClC,OAAOmG,EAAaC,EAASpG,EAAO,GAAG,CAC3C,CAFS1G,EAAAiN,EAAA,gBAGT,SAASC,EAAYJ,EAASpG,EAAO,CACjC,OAAOmG,EAAaC,EAASpG,EAAO,GAAG,CAC3C,CAFS1G,EAAAkN,EAAA,eAGT,SAASC,EAAQL,EAAS,CACtB,GAAI,EAAEE,EAAYF,EAAS,CAAC,GAAKG,EAAaH,EAASA,EAAQ,OAAS,CAAC,GACrE,MAAO,GACX,IAAI5F,EAAQ,EACZ,QAASR,EAAQ,EAAGA,EAAQoG,EAAQ,OAAQpG,IAKxC,GAJIsG,EAAYF,EAASpG,CAAK,IAC1BQ,GAAS,GACT+F,EAAaH,EAASpG,CAAK,IAC3BQ,GAAS,GACTA,IAAU,GAAKR,IAAUoG,EAAQ,OAAS,EAC1C,MAAO,GAEf,MAAO,EACX,CAbS9M,EAAAmN,EAAA,WAcT,SAASC,EAAQN,EAAS,CACtB,OAAOA,EAAQ,MAAM,EAAGA,EAAQ,OAAS,CAAC,CAC9C,CAFS9M,EAAAoN,EAAA,WAGT,SAASC,EAAeP,EAAS,CAC7B,IAAI5F,EAAQ,EACZ,QAASR,EAAQ,EAAGA,EAAQoG,EAAQ,OAAQpG,IAKxC,GAJIsG,EAAYF,EAASpG,CAAK,IAC1BQ,GAAS,GACT+F,EAAaH,EAASpG,CAAK,IAC3BQ,GAAS,GACTgG,EAAYJ,EAASpG,CAAK,GAAKQ,IAAU,EACzC,MAAO,GAEf,MAAO,EACX,CAXSlH,EAAAqN,EAAA,kBAYT,SAASC,EAAgBR,EAAS,CAC9B,QAASpG,EAAQ,EAAGA,EAAQoG,EAAQ,OAAQpG,IACxC,GAAIsG,EAAYF,EAASpG,CAAK,EAC1B,MAAO,GAEf,MAAO,EACX,CANS1G,EAAAsN,EAAA,mBAOT,SAASC,EAAGT,EAAS,CACjB,GAAI,CAAC5F,EAAOsG,CAAK,EAAI,CAAC,EAAG,CAAC,EACpBC,EAAc,CAAC,EACrB,QAAS/G,EAAQ,EAAGA,EAAQoG,EAAQ,OAAQpG,IAKxC,GAJIsG,EAAYF,EAASpG,CAAK,IAC1BQ,GAAS,GACT+F,EAAaH,EAASpG,CAAK,IAC3BQ,GAAS,GACTgG,EAAYJ,EAASpG,CAAK,GAAKQ,IAAU,EAAG,CAC5C,IAAMwG,GAAQZ,EAAQ,MAAMU,EAAO9G,CAAK,EACpCgH,GAAM,OAAS,GACfD,EAAY,KAAKE,EAAMD,EAAK,CAAC,EACjCF,EAAQ9G,EAAQ,CACpB,CAEJ,IAAMgH,EAAQZ,EAAQ,MAAMU,CAAK,EAGjC,OAFIE,EAAM,OAAS,GACfD,EAAY,KAAKE,EAAMD,CAAK,CAAC,EAC7BD,EAAY,SAAW,EAChB,CAAE,KAAM,QAAS,MAAO,EAAG,EAClCA,EAAY,SAAW,EAChBA,EAAY,CAAC,EACjB,CAAE,KAAM,KAAM,KAAMA,CAAY,CAC3C,CAvBSzN,EAAAuN,EAAA,MAwBT,SAASK,EAAId,EAAS,CAClB,SAASe,EAAM/M,EAAO4F,EAAO,CACzB,GAAI,CAACsG,EAAYlM,EAAO4F,CAAK,EACzB,MAAM,IAAIkG,GAA2B,wDAAwD,EACjG,IAAI1F,GAAQ,EACZ,QAAS4G,GAAOpH,EAAOoH,GAAOhN,EAAM,OAAQgN,KAKxC,GAJId,EAAYlM,EAAOgN,EAAI,IACvB5G,IAAS,GACT+F,EAAanM,EAAOgN,EAAI,IACxB5G,IAAS,GACTA,KAAU,EACV,MAAO,CAACR,EAAOoH,EAAI,EAE3B,MAAM,IAAIlB,GAA2B,4DAA4D,CACrG,CAbS5M,EAAA6N,EAAA,SAcT,SAASE,EAAMjB,EAASpG,EAAO,CAC3B,QAASoH,GAAOpH,EAAOoH,GAAOhB,EAAQ,OAAQgB,KAC1C,GAAId,EAAYF,EAASgB,EAAI,EACzB,MAAO,CAACpH,EAAOoH,EAAI,EAE3B,MAAO,CAACpH,EAAOoG,EAAQ,MAAM,CACjC,CANS9M,EAAA+N,EAAA,SAOT,IAAMN,EAAc,CAAC,EACrB,QAAS/G,EAAQ,EAAGA,EAAQoG,EAAQ,OAAQpG,IACxC,GAAIsG,EAAYF,EAASpG,CAAK,EAAG,CAC7B,GAAM,CAAC8G,EAAOQ,EAAG,EAAIH,EAAMf,EAASpG,CAAK,EACnCgH,GAAQZ,EAAQ,MAAMU,EAAOQ,GAAM,CAAC,EAC1CP,EAAY,KAAKE,EAAMD,EAAK,CAAC,EAC7BhH,EAAQsH,EACZ,KACK,CACD,GAAM,CAACR,EAAOQ,EAAG,EAAID,EAAMjB,EAASpG,CAAK,EACnCgH,GAAQZ,EAAQ,MAAMU,EAAOQ,EAAG,EAClCN,GAAM,OAAS,GACfD,EAAY,KAAKE,EAAMD,EAAK,CAAC,EACjChH,EAAQsH,GAAM,CAClB,CAGJ,OAAQP,EAAY,SAAW,EAAK,CAAE,KAAM,QAAS,MAAO,EAAG,EAC1DA,EAAY,SAAW,EAAKA,EAAY,CAAC,EACtC,CAAE,KAAM,MAAO,KAAMA,CAAY,CAC7C,CA1CSzN,EAAA4N,EAAA,OA4CT,SAASD,EAAMb,EAAS,CAEpB,OAAOK,EAAQL,CAAO,EAAIa,EAAMP,EAAQN,CAAO,CAAC,EAC5CO,EAAeP,CAAO,EAAIS,EAAGT,CAAO,EAChCQ,EAAgBR,CAAO,EAAIc,EAAId,CAAO,EAClC,CAAE,KAAM,QAAS,MAAOA,CAAQ,CAChD,CANS9M,EAAA2N,EAAA,SAOT7C,EAAsB,MAAQ6C,EAE9B,SAASM,EAAWnB,EAAS,CACzB,OAAOa,EAAMb,EAAQ,MAAM,EAAGA,EAAQ,OAAS,CAAC,CAAC,CACrD,CAFS9M,EAAAiO,EAAA,cAGTnD,EAAsB,WAAamD,CACvC,GAAGnD,KAA0BlL,EAAQ,sBAAwBkL,GAAwB,CAAC,EAAE,EAIxF,IAAMoD,GAAN,cAAyC1N,EAAa,CA7rDtD,MA6rDsD,CAAAR,EAAA,mCACtD,EACAJ,EAAQ,2BAA6BsO,GACrC,IAAInD,IACH,SAAUA,EAAuB,CAC9B,SAASrF,EAAMjF,EAAS,CACpB,MAAM,IAAIyN,GAA2BzN,CAAO,CAChD,CAFST,EAAA0F,EAAA,SAGT,SAASvE,EAAS0J,EAAY,CAE1B,OAAQA,EAAW,OAAS,MACxBA,EAAW,KAAK,SAAW,GAC3BA,EAAW,KAAK,CAAC,EAAE,OAAS,SAC5BA,EAAW,KAAK,CAAC,EAAE,QAAU,KAC7BA,EAAW,KAAK,CAAC,EAAE,OAAS,SAC5BA,EAAW,KAAK,CAAC,EAAE,QAAU,aACrC,CARS7K,EAAAmB,EAAA,YAST,SAASH,EAAU6J,EAAY,CAE3B,OAAQA,EAAW,OAAS,MACxBA,EAAW,KAAK,SAAW,GAC3BA,EAAW,KAAK,CAAC,EAAE,OAAS,SAC5BA,EAAW,KAAK,CAAC,EAAE,QAAU,QAC7BA,EAAW,KAAK,CAAC,EAAE,OAAS,SAC5BA,EAAW,KAAK,CAAC,EAAE,QAAU,OACrC,CARS7K,EAAAgB,EAAA,aAST,SAASK,EAASwJ,EAAY,CAC1B,OAAOA,EAAW,OAAS,SAAWA,EAAW,QAAU,IAC/D,CAFS7K,EAAAqB,EAAA,YAGT,SAAS+D,EAAMyF,EAAY,CAEvB,OAAO7J,EAAU6J,CAAU,EAAI,GAC3B1J,EAAS0J,CAAU,GAAKxJ,EAASwJ,CAAU,EAAI,GAC1CA,EAAW,OAAS,MAASA,EAAW,KAAK,MAAOsD,GAAS/I,EAAM+I,CAAI,CAAC,EACpEtD,EAAW,OAAS,KAAQA,EAAW,KAAK,MAAOsD,GAAS/I,EAAM+I,CAAI,CAAC,EACnEtD,EAAW,OAAS,QAAW,GAC5BnF,EAAM,yBAAyB,CACvD,CARS1F,EAAAoF,EAAA,SAST2F,EAAsB,MAAQ3F,CAClC,GAAG2F,KAA0BnL,EAAQ,sBAAwBmL,GAAwB,CAAC,EAAE,EAIxF,IAAMqD,GAAN,cAA4C5N,EAAa,CAxuDzD,MAwuDyD,CAAAR,EAAA,sCACzD,EACAJ,EAAQ,8BAAgCwO,GACxC,IAAIlD,IACH,SAAUA,EAA0B,CACjC,SAAUmD,EAAOC,EAAQ,CACrB,GAAIA,EAAO,SAAW,EAClB,OAAO,MAAOA,EAAO,CAAC,EAC1B,QAAWxI,KAAQwI,EAAO,CAAC,EACvB,QAAW1I,KAASyI,EAAOC,EAAO,MAAM,CAAC,CAAC,EACtC,KAAM,GAAGxI,CAAI,GAAGF,CAAK,EAGjC,CARU5F,EAAAqO,EAAA,UASV,SAAUT,EAAI/C,EAAY,CACtB,OAAO,MAAOwD,EAAOxD,EAAW,KAAK,IAAKsD,GAAS,CAAC,GAAGI,EAASJ,CAAI,CAAC,CAAC,CAAC,CAC3E,CAFUnO,EAAA4N,EAAA,OAGV,SAAUL,EAAG1C,EAAY,CACrB,QAAWsD,KAAQtD,EAAW,KAC1B,MAAO0D,EAASJ,CAAI,CAC5B,CAHUnO,EAAAuN,EAAA,MAIV,SAAUiB,EAAM3D,EAAY,CACxB,OAAO,MAAMA,EAAW,KAC5B,CAFU7K,EAAAwO,EAAA,SAGV,SAAUD,EAAS1D,EAAY,CAE3B,OAAQA,EAAW,OAAS,MAAQ,MAAO+C,EAAI/C,CAAU,EACrDA,EAAW,OAAS,KAAO,MAAO0C,EAAG1C,CAAU,EAC3CA,EAAW,OAAS,QAAU,MAAO2D,EAAM3D,CAAU,GAChD,IAAM,CAAE,MAAM,IAAIuD,GAA8B,oBAAoB,CAAG,GAAG,CAC3F,CANUpO,EAAAuO,EAAA,YAOVrD,EAAyB,SAAWqD,CACxC,GAAGrD,KAA6BtL,EAAQ,yBAA2BsL,GAA2B,CAAC,EAAE,EAIjG,IAAIuD,IACH,SAAUA,EAA0B,CACjC,SAAUC,EAAW/B,EAAU,CAC3B,IAAMgC,EAAOhC,EAAS,KAAK,EAAE,QAAQ,OAAQ,EAAE,EAE/C,OAAQgC,IAAS,UAAY,MAAM/O,EAAQ,KAAK,QAAQ,EACpD+O,IAAS,SAAW,MAAM/O,EAAQ,KAAK,OAAO,EAC1C+O,IAAS,SAAW,MAAM/O,EAAQ,KAAK,OAAO,EAC1C+O,IAAS,SAAW,MAAM/O,EAAQ,KAAK,OAAO,EAC1C,MAAO,IAAM,CACT,IAAMqL,EAAW0D,EAAK,MAAM,GAAG,EAAE,IAAKC,GAAYhP,EAAQ,KAAK,QAAQgP,EAAQ,KAAK,CAAC,CAAC,EACtF,OAAQ3D,EAAS,SAAW,EAAIrL,EAAQ,KAAK,MAAM,EAC/CqL,EAAS,SAAW,EAAIA,EAAS,CAAC,EAC9BrL,EAAQ,KAAK,MAAMqL,CAAQ,CACvC,GAAG,CACvB,CAbUjL,EAAA0O,EAAA,cAcV,SAAUG,EAAclC,EAAU,CAC9B,GAAIA,EAAS,CAAC,IAAM,IAAK,CACrB,IAAMrB,EAAI1L,EAAQ,KAAK,QAAQ,GAAG,EAC5B2L,EAAIuD,EAAanC,EAAS,MAAM,CAAC,CAAC,EACxC,OAAO,MAAO,CAACrB,EAAG,GAAGC,CAAC,CAC1B,CACA,QAAS3J,EAAI,EAAGA,EAAI+K,EAAS,OAAQ/K,IACjC,GAAI+K,EAAS/K,CAAC,IAAM,IAAK,CACrB,IAAM0J,EAAIoD,EAAW/B,EAAS,MAAM,EAAG/K,CAAC,CAAC,EACnC2J,EAAIuD,EAAanC,EAAS,MAAM/K,EAAI,CAAC,CAAC,EAC5C,OAAO,MAAO,CAAC,GAAG0J,EAAG,GAAGC,CAAC,CAC7B,CAEJ,MAAM3L,EAAQ,KAAK,QAAQ+M,CAAQ,CACvC,CAdU3M,EAAA6O,EAAA,iBAeV,SAAUC,EAAanC,EAAU,CAC7B,QAAS/K,EAAI,EAAGA,EAAI+K,EAAS,OAAQ/K,IACjC,GAAI+K,EAAS/K,CAAC,IAAM,IAAK,CACrB,IAAM0J,EAAI1L,EAAQ,KAAK,QAAQ+M,EAAS,MAAM,EAAG/K,CAAC,CAAC,EAC7C2J,EAAIsD,EAAclC,EAAS,MAAM/K,CAAC,CAAC,EACzC,OAAO,MAAO,CAAC0J,EAAG,GAAGC,CAAC,CAC1B,CAEJ,MAAM3L,EAAQ,KAAK,QAAQ+M,CAAQ,CACvC,CATU3M,EAAA8O,EAAA,gBAUV,SAASnB,EAAMoB,EAAc,CACzB,MAAO,CAAC,GAAGD,EAAaC,CAAY,CAAC,CACzC,CAFS/O,EAAA2N,EAAA,SAGTc,EAAyB,MAAQd,CACrC,GAAGc,KAA6B7O,EAAQ,yBAA2B6O,GAA2B,CAAC,EAAE,EAIjG,IAAMO,GAAN,KAA6B,CA7zD7B,MA6zD6B,CAAAhP,EAAA,+BACzB,YAAYwC,EAAQ,CAChB,KAAK,OAASA,CAClB,CACA,OAAOyM,EAAQ,CACX,OAAO,IAAIC,GAAuB,KAAK,OAAQD,CAAM,CACzD,CACJ,EACArP,EAAQ,uBAAyBoP,GACjC,IAAME,GAAN,KAA6B,CAt0D7B,MAs0D6B,CAAAlP,EAAA,+BACzB,YAAYwC,EAAQyM,EAAQ,CACxB,KAAK,OAASzM,EACd,KAAK,OAASyM,CAClB,CACA,OAAOE,EAAQ,CACX,IAAM3M,EAASiG,GAAU,KAAK,KAAK,MAAM,EAEzC,OAAQhH,EAAU,WAAWe,CAAM,GAAK,IAAM,CAG1C,IAAM4M,EAAQ,CAAE,OAFDpP,EAACc,GAAU0B,EAAO5C,EAAQ,SAAS,EAAE,OAAOuP,EAAOrO,CAAK,CAAC,EAAzD,UAEiB,OADjBd,EAACc,GAAU,KAAK,OAAO0B,EAAO5C,EAAQ,SAAS,EAAE,OAAOkB,CAAK,CAAC,EAA9D,SACgC,EAC/C,MAAO,CAAE,GAAG0B,EAAQ,CAAC5C,EAAQ,SAAS,EAAGwP,CAAM,CACnD,GAAG,GAAK,IAAM,CACV,IAAMA,EAAQ,CAAE,OAAQ,KAAK,OAAQ,OAAQD,CAAO,EACpD,MAAO,CAAE,GAAG3M,EAAQ,CAAC5C,EAAQ,SAAS,EAAGwP,CAAM,CACnD,GAAG,CACP,CACJ,EACAxP,EAAQ,uBAAyBsP,GAIjC,IAAIG,GAAc,EAIZC,GAAN,cAA+B9O,EAAa,CAj2D5C,MAi2D4C,CAAAR,EAAA,yBAC5C,EACAJ,EAAQ,iBAAmB0P,GAC3B,IAAMC,GAAN,KAAkB,CAp2DlB,MAo2DkB,CAAAvP,EAAA,oBAEd,OAAOwC,EAAQ,CACX,OAAOA,CACX,CAEA,MAAM/B,EAAS,CACX,MAAM,IAAI6O,GAAiB7O,CAAO,CACtC,CAEA,QAAQ+O,EAAQtL,EAAM,CAClB,OAAOA,EAAK,OAAO,CAAC6E,EAAKhF,IAAQ,CAC7B,GAAM,CAAE,CAACA,CAAG,EAAGwF,EAAG,GAAGgB,CAAK,EAAIxB,EAC9B,OAAOwB,CACX,EAAGiF,CAAM,CACb,CAEA,OAAOhN,EAAQ,CACX,OAAO,KAAK,MAAM,KAAK,UAAUA,CAAM,CAAC,CAC5C,CACJ,EACA5C,EAAQ,YAAc2P,GAItB,IAAME,GAAN,cAA8BF,EAAY,CA73D1C,MA63D0C,CAAAvP,EAAA,wBAKtC,iBAAiBwC,EAAQ,CACrB,OAAO,KAAK,SAAS,KAAK,SAASA,CAAM,CAAC,CAC9C,CAEA,SAASA,EAAQ,CACb,MAAO,CAAE,GAAGiG,GAAU,KAAKjG,CAAM,EAAG,CAAC5C,EAAQ,QAAQ,EAAG,UAAW,CACvE,CAEA,SAAS4C,EAAQ,CACb,MAAO,CAAE,GAAGiG,GAAU,KAAKjG,CAAM,EAAG,CAAC5C,EAAQ,QAAQ,EAAG,UAAW,CACvE,CAKA,IAAIwJ,EAAU,CAAC,EAAG,CACd,OAAO,KAAK,OAAO,CAAE,GAAGA,EAAS,CAACxJ,EAAQ,IAAI,EAAG,KAAM,CAAC,CAC5D,CAEA,MAAM4C,EAAQ4G,EAAU,CAAC,EAAG,CACxB,OAAO,KAAK,OAAO,CAAE,GAAGA,EAAS,CAACxJ,EAAQ,IAAI,EAAG,QAAS,KAAM,QAAS,MAAO6I,GAAU,KAAKjG,CAAM,CAAE,CAAC,CAC5G,CAEA,QAAQ4G,EAAU,CAAC,EAAG,CAClB,OAAO,KAAK,OAAO,CAAE,GAAGA,EAAS,CAACxJ,EAAQ,IAAI,EAAG,UAAW,KAAM,SAAU,CAAC,CACjF,CAEA,WAAW4C,EAAQ4G,EAAU,CAAC,EAAG,CAC7B,MAAO,CAAE,GAAGgB,GAAU,IAAI3B,GAAU,KAAKjG,CAAM,EAAG,YAAY,EAAG,GAAG4G,CAAQ,CAChF,CAEA,UAAUsG,EAAStG,EAAS,CACxB,IAAMuG,EAAY/P,EAAQ,KAAK,UAAU8P,EAAS,CAAC,CAAC,EAE9CE,EADOhE,GAAY,YAAY+D,EAAW,CAAE,gBAAiB,EAAM,CAAC,EAClD,OAAO,CAAC5G,EAAKhF,KAAS,CAAE,GAAGgF,EAAK,CAAChF,CAAG,EAAGnE,EAAQ,KAAK,MAAM+P,EAAW,CAAC5L,CAAG,CAAC,CAAE,GAAI,CAAC,CAAC,EAC1G,OAAOnE,EAAQ,KAAK,OAAOgQ,EAAYxG,CAAO,CAClD,CAEA,KAAKyG,EAAMzG,EAAU,CAAC,EAAG,CACrB,GAAIxI,EAAW,YAAYiP,CAAI,EAC3B,OAAO,KAAK,MAAM,yBAAyB,EAE/C,IAAMC,EAAU,OAAO,oBAAoBD,CAAI,EAAE,OAAQ9L,GAAQ,MAAMA,CAAG,CAAC,EAAE,IAAKA,GAAQ8L,EAAK9L,CAAG,CAAC,EAE7FgM,EADU,CAAC,GAAG,IAAI,IAAID,CAAO,CAAC,EACd,IAAKhP,GAAUlB,EAAQ,KAAK,QAAQkB,CAAK,CAAC,EAChE,OAAO,KAAK,MAAMiP,EAAO,CAAE,GAAG3G,EAAS,CAACxJ,EAAQ,IAAI,EAAG,MAAO,CAAC,CACnE,CAEA,QAAQkG,EAAMF,EAAOoK,EAAUC,EAAW7G,EAAU,CAAC,EAAG,CACpD,OAAQ7D,GAAY,QAAQO,EAAMF,CAAK,EAAG,CACtC,KAAKN,EAAkB,MACnB,OAAO,KAAK,MAAM,CAACmD,GAAU,KAAKuH,EAAU5G,CAAO,EAAGX,GAAU,KAAKwH,EAAW7G,CAAO,CAAC,CAAC,EAC7F,KAAK9D,EAAkB,KACnB,OAAOmD,GAAU,KAAKuH,EAAU5G,CAAO,EAC3C,KAAK9D,EAAkB,MACnB,OAAOmD,GAAU,KAAKwH,EAAW7G,CAAO,CAChD,CACJ,CAEA,QAAQ8G,EAAWC,EAAiB/G,EAAU,CAAC,EAAG,CAE9C,OAAQ3H,EAAU,iBAAiByO,CAAS,EAAI,KAAK,QAAQ9H,GAAwB,QAAQ8H,CAAS,EAAGC,EAAiB/G,CAAO,EAC7H3H,EAAU,iBAAiB0O,CAAe,EAAI,KAAK,QAAQD,EAAW9H,GAAwB,QAAQ+H,CAAe,EAAG/G,CAAO,EAC3H3H,EAAU,OAAOyO,CAAS,GAAK,IAAM,CACjC,IAAME,EAAWF,EAAU,MAAM,OAAQvE,GAAUpG,GAAY,QAAQoG,EAAOwE,CAAe,IAAM7K,EAAkB,KAAK,EAC1H,OAAQ8K,EAAS,SAAW,EAAI3H,GAAU,KAAK2H,EAAS,CAAC,EAAGhH,CAAO,EAAI,KAAK,MAAMgH,EAAUhH,CAAO,CACvG,GAAG,EACC7D,GAAY,QAAQ2K,EAAWC,CAAe,IAAM7K,EAAkB,MAAQ,KAAK,MAAM8D,CAAO,EAC5FX,GAAU,KAAKyH,EAAW9G,CAAO,CACrD,CAEA,QAAQiH,EAAMhF,EAAOjC,EAAU,CAAC,EAAG,CAE/B,OAAQ3H,EAAU,iBAAiB4O,CAAI,EAAI,KAAK,QAAQjI,GAAwB,QAAQiI,CAAI,EAAGhF,EAAOjC,CAAO,EACzG3H,EAAU,iBAAiB4J,CAAK,EAAI,KAAK,QAAQgF,EAAMjI,GAAwB,QAAQiD,CAAK,EAAGjC,CAAO,EAClG3H,EAAU,OAAO4O,CAAI,GAAK,IAAM,CAC5B,IAAMD,EAAWC,EAAK,MAAM,OAAQ1E,GAAUpG,GAAY,QAAQoG,EAAON,CAAK,IAAM/F,EAAkB,KAAK,EAC3G,OAAQ8K,EAAS,SAAW,EAAI3H,GAAU,KAAK2H,EAAS,CAAC,EAAGhH,CAAO,EAAI,KAAK,MAAMgH,EAAUhH,CAAO,CACvG,GAAG,EACC7D,GAAY,QAAQ8K,EAAMhF,CAAK,IAAM/F,EAAkB,MAAQmD,GAAU,KAAK4H,EAAMjH,CAAO,EACvF,KAAK,MAAMA,CAAO,CACtC,CAEA,MAAM5G,EAAQ8N,EAAYlH,EAAU,CAAC,EAAG,CAEpC,OAAQ3H,EAAU,OAAOe,CAAM,GAAKf,EAAU,QAAQ6O,CAAU,EACrD7H,GAAU,KAAKjG,EAAO,MAAO4G,CAAO,EAE3C3H,EAAU,OAAOe,CAAM,GAAKf,EAAU,QAAQ6O,CAAU,GAAK,IAAM,CAE/D,IAAMC,GADQ3P,EAAW,YAAY4B,EAAO,KAAK,EAAI,CAAC,EAAIA,EAAO,OAC5C,IAAKA,GAAWiG,GAAU,KAAKjG,CAAM,CAAC,EAC3D,OAAO,KAAK,MAAM+N,EAAQnH,CAAO,CACrC,GAAG,GAAK,IAAM,CACV,IAAMlF,EAAOkI,GAAiB,QAAQkE,CAAU,EAC1C9G,EAAQf,GAAU,KAAKjG,CAAM,EACnC,OAAO6G,GAAgB,QAAQG,EAAOtF,EAAMkF,CAAO,CACvD,GAAG,CACX,CAEA,QAAQA,EAAU,CAAC,EAAG,CAClB,OAAO,KAAK,OAAO,CAAE,GAAGA,EAAS,CAACxJ,EAAQ,IAAI,EAAG,UAAW,KAAM,SAAU,CAAC,CACjF,CAEA,UAAU4Q,EAAOpH,EAAU,CAAC,EAAG,CAC3B,GAAIoH,EAAM,SAAW,EACjB,OAAO5Q,EAAQ,KAAK,MAAM,EAC9B,GAAI4Q,EAAM,SAAW,EACjB,OAAO/H,GAAU,KAAK+H,EAAM,CAAC,EAAGpH,CAAO,EACvCoH,EAAM,KAAMhO,GAAWf,EAAU,WAAWe,CAAM,CAAC,GACnD,KAAK,MAAM,kCAAkC,EACjD,IAAMkN,EAAUc,EAAM,MAAOhO,GAAWf,EAAU,QAAQe,CAAM,CAAC,EAC3D+N,EAAS9H,GAAU,KAAK+H,CAAK,EAE7BC,EAA8BhP,EAAU,QAAQ2H,EAAQ,qBAAqB,EAC7E,CAAE,sBAAuBX,GAAU,KAAKW,EAAQ,qBAAqB,CAAE,EACvE,CAAC,EACP,OAAOA,EAAQ,wBAA0B,IAAS3H,EAAU,QAAQ2H,EAAQ,qBAAqB,GAAKsG,EAChG,KAAK,OAAO,CAAE,GAAGtG,EAAS,GAAGqH,EAA6B,CAAC7Q,EAAQ,IAAI,EAAG,YAAa,KAAM,SAAU,MAAO2Q,CAAO,CAAC,EACtH,KAAK,OAAO,CAAE,GAAGnH,EAAS,GAAGqH,EAA6B,CAAC7Q,EAAQ,IAAI,EAAG,YAAa,MAAO2Q,CAAO,CAAC,CAChH,CAEA,MAAM/N,EAAQ4G,EAAU,CAAC,EAAG,CAExB,OAAQ3H,EAAU,QAAQe,CAAM,GAAK,IAAM,CACvC,IAAMsK,EAAU,OAAO,oBAAoBtK,EAAO,iBAAiB,EAAE,CAAC,EACtE,OAAQsK,IAAYlN,EAAQ,mBAAqB,KAAK,OAAOwJ,CAAO,EAChE0D,IAAYlN,EAAQ,mBAAqB,KAAK,OAAOwJ,CAAO,EACxD,KAAK,MAAM,oDAAoD,CAC3E,GAAG,EACC3H,EAAU,OAAOe,CAAM,GAAK,IAAM,CAE9B,IAAMyI,GADQrK,EAAW,YAAY4B,EAAO,KAAK,EAAI,CAAC,EAAIA,EAAO,OAC1C,IAAI,CAAC+G,EAAG7C,IAAU9G,EAAQ,KAAK,QAAQ8G,EAAM,SAAS,CAAC,CAAC,EAC/E,OAAO,KAAK,MAAMuE,EAAU7B,CAAO,CACvC,GAAG,EACC3H,EAAU,OAAOe,CAAM,EACZ,KAAK,OAAO4G,CAAO,GACtB,IAAM,CACV,IAAMlF,EAAO0H,GAAY,YAAYpJ,EAAQ,CAAE,gBAAiB,EAAM,CAAC,EACvE,GAAI0B,EAAK,SAAW,EAChB,OAAO,KAAK,MAAMkF,CAAO,EAC7B,IAAM6B,EAAW/G,EAAK,IAAKH,GAAQ,KAAK,QAAQA,CAAG,CAAC,EACpD,OAAO,KAAK,MAAMkH,EAAU7B,CAAO,CACvC,GAAG,CACf,CAEA,QAAQtI,EAAOsI,EAAU,CAAC,EAAG,CACzB,OAAO,KAAK,OAAO,CAAE,GAAGA,EAAS,CAACxJ,EAAQ,IAAI,EAAG,UAAW,MAAOkB,EAAO,KAAM,OAAOA,CAAM,CAAC,CAClG,CAEA,UAAU0B,EAAQ4G,EAAU,CAAC,EAAG,CAC5B,MAAO,CAAE,GAAGgB,GAAU,IAAI3B,GAAU,KAAKjG,CAAM,EAAG,WAAW,EAAG,GAAG4G,CAAQ,CAC/E,CAEA,MAAMA,EAAU,CAAC,EAAG,CAChB,OAAO,KAAK,OAAO,CAAE,GAAGA,EAAS,CAACxJ,EAAQ,IAAI,EAAG,QAAS,IAAK,CAAC,CAAE,CAAC,CACvE,CAEA,IAAI4C,EAAQ4G,EAAS,CACjB,OAAO,KAAK,OAAO,CAAE,GAAGA,EAAS,CAACxJ,EAAQ,IAAI,EAAG,MAAO,IAAK6I,GAAU,KAAKjG,CAAM,CAAE,CAAC,CACzF,CAEA,KAAK4G,EAAU,CAAC,EAAG,CACf,OAAO,KAAK,OAAO,CAAE,GAAGA,EAAS,CAACxJ,EAAQ,IAAI,EAAG,OAAQ,KAAM,MAAO,CAAC,CAC3E,CAEA,OAAOwJ,EAAU,CAAC,EAAG,CACjB,OAAO,KAAK,OAAO,CAAE,GAAGA,EAAS,CAACxJ,EAAQ,IAAI,EAAG,SAAU,KAAM,QAAS,CAAC,CAC/E,CAEA,OAAOgQ,EAAYxG,EAAU,CAAC,EAAG,CAC7B,IAAMsH,EAAe,OAAO,oBAAoBd,CAAU,EACpDe,EAAeD,EAAa,OAAQ3M,GAAQtC,EAAU,UAAUmO,EAAW7L,CAAG,CAAC,CAAC,EAChF6M,EAAeF,EAAa,OAAQG,GAAS,CAACF,EAAa,SAASE,CAAI,CAAC,EACzEC,EAA6BrP,EAAU,QAAQ2H,EAAQ,oBAAoB,EAAI,CAAE,qBAAsBX,GAAU,KAAKW,EAAQ,oBAAoB,CAAE,EAAI,CAAC,EACzJN,EAAmB4H,EAAa,OAAO,CAAC3H,EAAKhF,KAAS,CAAE,GAAGgF,EAAK,CAAChF,CAAG,EAAG0E,GAAU,KAAKmH,EAAW7L,CAAG,CAAC,CAAE,GAAI,CAAC,CAAC,EACnH,OAAO6M,EAAa,OAAS,EACvB,KAAK,OAAO,CAAE,GAAGxH,EAAS,GAAG0H,EAA4B,CAAClR,EAAQ,IAAI,EAAG,SAAU,KAAM,SAAU,WAAYkJ,EAAkB,SAAU8H,CAAa,CAAC,EACzJ,KAAK,OAAO,CAAE,GAAGxH,EAAS,GAAG0H,EAA4B,CAAClR,EAAQ,IAAI,EAAG,SAAU,KAAM,SAAU,WAAYkJ,CAAiB,CAAC,CAC3I,CAEA,KAAKtG,EAAQ8N,EAAYlH,EAAU,CAAC,EAAG,CACnC,IAAMlF,EAAOkI,GAAiB,QAAQkE,CAAU,EAEhD,OAAO7E,GAAU,IAAI,KAAK,QAAQhD,GAAU,KAAKjG,CAAM,EAAG,CAAC,MAAO5C,EAAQ,SAAS,CAAC,EAAImR,GAAW,CAC3FnQ,EAAW,QAAQmQ,EAAO,QAAQ,IAClCA,EAAO,SAAWA,EAAO,SAAS,OAAQhN,GAAQ,CAACG,EAAK,SAASH,CAAG,CAAC,EACjEgN,EAAO,SAAS,SAAW,GAC3B,OAAOA,EAAO,UAEtB,QAAWhN,KAAO,OAAO,oBAAoBgN,EAAO,UAAU,EACtD7M,EAAK,SAASH,CAAG,GACjB,OAAOgN,EAAO,WAAWhN,CAAG,EAEpC,OAAO,KAAK,OAAOgN,CAAM,CAC7B,EAAG3H,CAAO,CACd,CAEA,QAAQ5G,EAAQ4G,EAAU,CAAC,EAAG,CAE1B,OAAOqC,GAAU,IAAI,KAAK,QAAQhD,GAAU,KAAKjG,CAAM,EAAG,CAAC,MAAO5C,EAAQ,SAAS,CAAC,EAAImR,GAAW,CAC/F,IAAMnB,EAAa,OAAO,oBAAoBmB,EAAO,UAAU,EAAE,OAAO,CAAChI,EAAKhF,KACnE,CAAE,GAAGgF,EAAK,CAAChF,CAAG,EAAG,KAAK,SAASgN,EAAO,WAAWhN,CAAG,CAAC,CAAE,GAC/D,CAAC,CAAC,EACL,OAAO,KAAK,OAAO6L,EAAY,KAAK,QAAQmB,EAAQ,CAAC,UAAU,CAAC,CAA0D,CAC9H,EAAG3H,CAAO,CACd,CAEA,KAAK5G,EAAQ8N,EAAYlH,EAAU,CAAC,EAAG,CACnC,IAAMlF,EAAOkI,GAAiB,QAAQkE,CAAU,EAEhD,OAAO7E,GAAU,IAAI,KAAK,QAAQhD,GAAU,KAAKjG,CAAM,EAAG,CAAC,MAAO5C,EAAQ,SAAS,CAAC,EAAImR,GAAW,CAC3FnQ,EAAW,QAAQmQ,EAAO,QAAQ,IAClCA,EAAO,SAAWA,EAAO,SAAS,OAAQhN,GAAQG,EAAK,SAASH,CAAG,CAAC,EAChEgN,EAAO,SAAS,SAAW,GAC3B,OAAOA,EAAO,UAEtB,QAAWhN,KAAO,OAAO,oBAAoBgN,EAAO,UAAU,EACrD7M,EAAK,SAASH,CAAG,GAClB,OAAOgN,EAAO,WAAWhN,CAAG,EAEpC,OAAO,KAAK,OAAOgN,CAAM,CAC7B,EAAG3H,CAAO,CACd,CAEA,OAAOrF,EAAKvB,EAAQ4G,EAAU,CAAC,EAAG,CAE9B,OAAQ3H,EAAU,iBAAiBsC,CAAG,GAAK,IAAM,CAC7C,IAAM8G,EAAaC,GAAsB,WAAW/G,EAAI,OAAO,EAE/D,OAAOgH,GAAsB,MAAMF,CAAU,EACtC,KAAK,OAAO,CAAC,GAAGK,GAAyB,SAASL,CAAU,CAAC,EAAE,OAAO,CAAC9B,EAAKhF,KAAS,CAAE,GAAGgF,EAAK,CAAChF,CAAG,EAAG0E,GAAU,KAAKjG,CAAM,CAAE,GAAI,CAAC,CAAC,EAAG4G,CAAO,EAC9I,KAAK,OAAO,CAAE,GAAGA,EAAS,CAACxJ,EAAQ,IAAI,EAAG,SAAU,KAAM,SAAU,kBAAmB,CAAE,CAACmE,EAAI,OAAO,EAAG0E,GAAU,KAAKjG,CAAM,CAAE,CAAE,CAAC,CAC5I,GAAG,EACCf,EAAU,OAAOsC,CAAG,GAAK,IAAM,CAC3B,IAAMsH,EAAQgB,GAAc,QAAQtI,CAAG,EACvC,GAAItC,EAAU,cAAc4J,CAAK,EAAG,CAChC,IAAMuE,EAAavE,EAAM,MAAM,OAAO,CAACtC,EAAK6F,KAAa,CAAE,GAAG7F,EAAK,CAAC6F,EAAQ,KAAK,EAAGnG,GAAU,KAAKjG,CAAM,CAAE,GAAI,CAAC,CAAC,EACjH,OAAO,KAAK,OAAOoN,EAAY,CAAE,GAAGxG,EAAS,CAACxJ,EAAQ,IAAI,EAAG,QAAS,CAAC,CAC3E,MAEI,KAAK,MAAM,qDAAqD,CACxE,GAAG,EACC6B,EAAU,SAASsC,CAAG,EAEVnD,EAAW,SAASmD,EAAI,KAAK,GAAKnD,EAAW,SAASmD,EAAI,KAAK,EACjE,KAAK,OAAO,CAAE,CAACA,EAAI,KAAK,EAAG0E,GAAU,KAAKjG,CAAM,CAAE,EAAG4G,CAAO,EAC5D,KAAK,MAAM,4DAA4D,EAE7E3H,EAAU,SAASsC,CAAG,GAAKtC,EAAU,QAAQsC,CAAG,EACrC,KAAK,OAAO,CAAE,GAAGqF,EAAS,CAACxJ,EAAQ,IAAI,EAAG,SAAU,KAAM,SAAU,kBAAmB,CAAE,CAACA,EAAQ,kBAAkB,EAAG6I,GAAU,KAAKjG,CAAM,CAAE,CAAE,CAAC,EAExJf,EAAU,QAAQsC,CAAG,GAAK,IAAM,CAC5B,IAAM+I,EAAUlM,EAAW,YAAYmD,EAAI,OAAO,EAAInE,EAAQ,mBAAqBmE,EAAI,QACvF,OAAO,KAAK,OAAO,CAAE,GAAGqF,EAAS,CAACxJ,EAAQ,IAAI,EAAG,SAAU,KAAM,SAAU,kBAAmB,CAAE,CAACkN,CAAO,EAAGrE,GAAU,KAAKjG,CAAM,CAAE,CAAE,CAAC,CACzI,GAAG,EACC,KAAK,MAAM,CACnC,CAEA,UAAUkJ,EAAUtC,EAAU,CAAC,EAAG,CAC1BxI,EAAW,YAAYwI,EAAQ,GAAG,IAClCA,EAAQ,IAAM,IAAIiG,IAAa,IACnC,IAAM2B,EAAWtF,EAAS,CAAE,CAAC9L,EAAQ,IAAI,EAAG,OAAQ,KAAM,GAAGwJ,EAAQ,GAAG,EAAG,CAAC,EAC5E,OAAA4H,EAAS,IAAM5H,EAAQ,IAChB,KAAK,OAAO,CAAE,GAAGA,EAAS,CAACxJ,EAAQ,IAAI,EAAG,YAAa,GAAGoR,CAAS,CAAC,CAC/E,CAEA,IAAIV,EAAYlH,EAAU,CAAC,EAAG,CAC1B,OAAIxI,EAAW,SAAS0P,CAAU,EACvB,KAAK,OAAO,CAAE,GAAGlH,EAAS,CAACxJ,EAAQ,IAAI,EAAG,MAAO,KAAM0Q,CAAW,CAAC,GAC1E1P,EAAW,YAAY0P,EAAW,GAAG,GACrC,KAAK,MAAM,2CAA2C,EACnD,KAAK,OAAO,CAAE,GAAGlH,EAAS,CAACxJ,EAAQ,IAAI,EAAG,MAAO,KAAM0Q,EAAW,GAAI,CAAC,EAClF,CAEA,SAAS9N,EAAQ4G,EAAU,CAAC,EAAG,CAE3B,OAAOqC,GAAU,IAAI,KAAK,QAAQhD,GAAU,KAAKjG,CAAM,EAAG,CAAC,MAAO5C,EAAQ,SAAS,CAAC,EAAImR,GAAW,CAC/F,IAAMnB,EAAa,OAAO,oBAAoBmB,EAAO,UAAU,EAAE,OAAO,CAAChI,EAAKhF,KACnE,CAAE,GAAGgF,EAAK,CAAChF,CAAG,EAAG,KAAK,QAAQgN,EAAO,WAAWhN,CAAG,EAAG,CAACnE,EAAQ,QAAQ,CAAC,CAAE,GAClF,CAAC,CAAC,EACL,OAAO,KAAK,OAAOgQ,EAAYmB,CAAgE,CACnG,EAAG3H,CAAO,CACd,CAEA,KAAK5G,EAAQ,CACT,OAAQf,EAAU,OAAOe,CAAM,GAAK,CAAC5B,EAAW,YAAY4B,EAAO,KAAK,EAAIiG,GAAU,KAAKjG,EAAO,KAAK,EAAIf,EAAU,WAAWe,CAAM,EAAIiG,GAAU,KAAKjG,EAAO,KAAK,EAAIf,EAAU,OAAOe,CAAM,EAAIiG,GAAU,KAAKjG,EAAO,KAAK,EAAI,CAAC,CACxO,CAEA,OAAO4G,EAAU,CAAC,EAAG,CACjB,OAAO,KAAK,OAAO,CAAE,GAAGA,EAAS,CAACxJ,EAAQ,IAAI,EAAG,SAAU,KAAM,QAAS,CAAC,CAC/E,CAEA,gBAAgB0Q,EAAYlH,EAAU,CAAC,EAAG,CAEtC,IAAM0D,EAAUlM,EAAW,SAAS0P,CAAU,EACxC/D,GAAuB,OAAOkC,GAAyB,MAAM6B,CAAU,CAAC,EACxE/D,GAAuB,OAAO+D,CAAU,EAC9C,OAAO,KAAK,OAAO,CAAE,GAAGlH,EAAS,CAACxJ,EAAQ,IAAI,EAAG,kBAAmB,KAAM,SAAU,QAAAkN,CAAQ,CAAC,CACjG,CAEA,UAAUtK,EAAQ,CACd,OAAO,IAAIwM,GAAuBxM,CAAM,CAC5C,CAEA,MAAMyH,EAAOb,EAAU,CAAC,EAAG,CACvB,GAAM,CAAC6H,EAAiBC,EAAUC,CAAQ,EAAI,CAAC,GAAOlH,EAAM,OAAQA,EAAM,MAAM,EAC1EmH,EAAc3I,GAAU,KAAKwB,CAAK,EAElCzH,EAAUyH,EAAM,OAAS,EAC3B,CAAE,GAAGb,EAAS,CAACxJ,EAAQ,IAAI,EAAG,QAAS,KAAM,QAAS,MAAOwR,EAAa,gBAAAH,EAAiB,SAAAC,EAAU,SAAAC,CAAS,EAC9G,CAAE,GAAG/H,EAAS,CAACxJ,EAAQ,IAAI,EAAG,QAAS,KAAM,QAAS,SAAAsR,EAAU,SAAAC,CAAS,EAC7E,OAAO,KAAK,OAAO3O,CAAM,CAC7B,CAEA,aAAaA,EAAQ4G,EAAU,CAAC,EAAG,CAC/B,MAAO,CAAE,GAAGgB,GAAU,IAAI3B,GAAU,KAAKjG,CAAM,EAAG,cAAc,EAAG,GAAG4G,CAAQ,CAClF,CAEA,MAAMiC,EAAOjC,EAAU,CAAC,EAAG,CAEvB,OAAO3H,EAAU,iBAAiB4J,CAAK,EACjCjD,GAAwB,QAAQiD,CAAK,GACpC,IAAM,CACL,IAAM0E,EAAQ1E,EACd,GAAI0E,EAAM,SAAW,EACjB,OAAO,KAAK,MAAM3G,CAAO,EAC7B,GAAI2G,EAAM,SAAW,EACjB,OAAO,KAAK,OAAOtH,GAAU,KAAKsH,EAAM,CAAC,EAAG3G,CAAO,CAAC,EACxD,IAAMiI,EAAc5I,GAAU,KAAKsH,CAAK,EACxC,OAAO,KAAK,OAAO,CAAE,GAAG3G,EAAS,CAACxJ,EAAQ,IAAI,EAAG,QAAS,MAAOyR,CAAY,CAAC,CAClF,GAAG,CACX,CAEA,QAAQjI,EAAU,CAAC,EAAG,CAClB,OAAO,KAAK,OAAO,CAAE,GAAGA,EAAS,CAACxJ,EAAQ,IAAI,EAAG,SAAU,CAAC,CAChE,CAEA,OAAOwJ,EAAU,CAAC,EAAG,CACjB,OAAO,KAAK,OAAO,CAAE,GAAGA,EAAS,CAACxJ,EAAQ,IAAI,EAAGwJ,EAAQxJ,EAAQ,IAAI,GAAK,QAAS,CAAC,CACxF,CAEA,UAAU4C,EAAQ4G,EAAU,CAAC,EAAG,CAC5B,MAAO,CAAE,GAAGgB,GAAU,IAAI3B,GAAU,KAAKjG,CAAM,EAAG,WAAW,EAAG,GAAG4G,CAAQ,CAC/E,CACJ,EACAxJ,EAAQ,gBAAkB6P,GAI1B,IAAM6B,GAAN,cAAoC7B,EAAgB,CA/tEpD,MA+tEoD,CAAAzP,EAAA,8BAEhD,cAAciK,EAAOb,EAAU,CAAC,EAAG,CAC/B,OAAO,KAAK,OAAO,CAAE,GAAGA,EAAS,CAACxJ,EAAQ,IAAI,EAAG,gBAAiB,KAAM,gBAAiB,MAAO6I,GAAU,KAAKwB,CAAK,CAAE,CAAC,CAC3H,CAEA,QAAQzH,EAAQ4G,EAAU,CAAC,EAAG,CAE1B,IAAMmI,EAASvR,EAACuK,GAASA,EAAK,OAAS,GAAK,IAAM,CAC9C,GAAM,CAACe,EAAG,GAAGC,CAAC,EAAIhB,EAClB,MAAO,CAAC,KAAK,QAAQe,CAAC,EAAG,GAAGiG,EAAOhG,CAAC,CAAC,CACzC,GAAG,EAAIhB,EAHQ,UAKf,OAAQ9I,EAAU,WAAWe,CAAM,EAAI5C,EAAQ,KAAK,UAAU2R,EAAO/O,EAAO,KAAK,CAAC,EAC9Ef,EAAU,OAAOe,CAAM,EAAI5C,EAAQ,KAAK,MAAM2R,EAAO/O,EAAO,KAAK,CAAC,EAC9Df,EAAU,SAASe,CAAM,EAAI,KAAK,QAAQA,EAAO,IAAI,EACjDiG,GAAU,KAAKjG,EAAQ4G,CAAO,CAC9C,CAEA,OAAOA,EAAU,CAAC,EAAG,CACjB,OAAO,KAAK,OAAO,CAAE,GAAGA,EAAS,CAACxJ,EAAQ,IAAI,EAAG,SAAU,KAAM,QAAS,CAAC,CAC/E,CAEA,sBAAsB4C,EAAQ4G,EAAU,CAAC,EAAG,CACxC,OAAO,KAAK,MAAM,CAAC,GAAG5G,EAAO,UAAU,EAAG,CAAE,GAAG4G,CAAQ,CAAC,CAC5D,CAEA,YAAYoI,EAAYC,EAASrI,EAAS,CACtC,GAAM,CAACsI,EAAkBC,CAAa,EAAI,CAAClJ,GAAU,KAAK+I,CAAU,EAAG/I,GAAU,KAAKgJ,CAAO,CAAC,EAC9F,OAAO,KAAK,OAAO,CAAE,GAAGrI,EAAS,CAACxJ,EAAQ,IAAI,EAAG,cAAe,KAAM,cAAe,WAAY8R,EAAkB,QAASC,CAAc,CAAC,CAC/I,CAEA,KAAKvI,EAAU,CAAC,EAAG,CACf,OAAO,KAAK,OAAO,CAAE,GAAGA,EAAS,CAACxJ,EAAQ,IAAI,EAAG,OAAQ,KAAM,MAAO,CAAC,CAC3E,CAEA,SAAS4R,EAAYC,EAASrI,EAAS,CACnC,GAAM,CAACsI,EAAkBC,CAAa,EAAI,CAAClJ,GAAU,KAAK+I,CAAU,EAAG/I,GAAU,KAAKgJ,CAAO,CAAC,EAC9F,OAAO,KAAK,OAAO,CAAE,GAAGrI,EAAS,CAACxJ,EAAQ,IAAI,EAAG,WAAY,KAAM,WAAY,WAAY8R,EAAkB,QAASC,CAAc,CAAC,CACzI,CAEA,aAAanP,EAAQ4G,EAAU,CAAC,EAAG,CAC/B,OAAOX,GAAU,KAAKjG,EAAO,QAAS4G,CAAO,CACjD,CAEA,SAASa,EAAOb,EAAU,CAAC,EAAG,CAC1B,OAAO,KAAK,OAAO,CAAE,GAAGA,EAAS,CAACxJ,EAAQ,IAAI,EAAG,WAAY,KAAM,WAAY,MAAO6I,GAAU,KAAKwB,CAAK,CAAE,CAAC,CACjH,CAEA,WAAWzH,EAAQ4G,EAAU,CAAC,EAAG,CAC7B,OAAO,KAAK,MAAM5G,EAAO,WAAY,CAAE,GAAG4G,CAAQ,CAAC,CACvD,CAEA,QAAQyG,EAAMzG,EAAU,CAAC,EAAG,CACxB,OAAO,KAAK,OAAO,CAAE,GAAGA,EAAS,CAACxJ,EAAQ,IAAI,EAAG,UAAW,KAAM,UAAW,KAAM6I,GAAU,KAAKoH,CAAI,CAAE,CAAC,CAC7G,CAEA,OAAOS,EAAYlH,EAAU,CAAC,EAAG,CAC7B,IAAM0D,EAAUlM,EAAW,SAAS0P,CAAU,EAAIA,EAAaA,EAAW,OAC1E,OAAO,KAAK,OAAO,CAAE,GAAGlH,EAAS,CAACxJ,EAAQ,IAAI,EAAG,SAAU,KAAM,SAAU,QAAAkN,CAAQ,CAAC,CACxF,CAIA,MAAM8E,EAAOxI,EAAU,CAAC,EAAG,CACvB,OAAO,KAAK,OAAOwI,EAAOxI,CAAO,CACrC,CAEA,WAAW5G,EAAQ4G,EAAU,CAAC,EAAG,CAC7B,OAAOX,GAAU,KAAKjG,EAAO,QAAS4G,CAAO,CACjD,CAEA,OAAOA,EAAS,CACZ,OAAO,KAAK,OAAO,CAAE,GAAGA,EAAS,CAACxJ,EAAQ,IAAI,EAAG,SAAU,KAAM,QAAS,CAAC,CAC/E,CAEA,UAAUwJ,EAAU,CAAC,EAAG,CACpB,OAAO,KAAK,OAAO,CAAE,GAAGA,EAAS,CAACxJ,EAAQ,IAAI,EAAG,YAAa,KAAM,WAAY,CAAC,CACrF,CAEA,WAAWwJ,EAAU,CAAC,EAAG,CACrB,OAAO,KAAK,OAAO,CAAE,GAAGA,EAAS,CAACxJ,EAAQ,IAAI,EAAG,aAAc,KAAM,YAAa,CAAC,CACvF,CAEA,KAAKwJ,EAAU,CAAC,EAAG,CACf,OAAO,KAAK,OAAO,CAAE,GAAGA,EAAS,CAACxJ,EAAQ,IAAI,EAAG,OAAQ,KAAM,MAAO,CAAC,CAC3E,CACJ,EACAA,EAAQ,sBAAwB0R,GAEhC1R,EAAQ,SAAW,IAAI6P,GAEvB7P,EAAQ,KAAO,IAAI0R,KC3zEnB,IAAAO,GAAAC,EAAAC,IAAA,cA4BA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,YAAcA,GAAQ,SAAWA,GAAQ,WAAaA,GAAQ,SAAWA,GAAQ,SAAWA,GAAQ,UAAYA,GAAQ,SAAWA,GAAQ,UAAYA,GAAQ,OAASA,GAAQ,YAAcA,GAAQ,QAAUA,GAAQ,SAAWA,GAAQ,cAAgBA,GAAQ,eAAiBA,GAAQ,OAASA,GAAQ,aAAeA,GAAQ,UAAYA,GAAQ,aAAeA,GAAQ,WAAaA,GAAQ,gBAAkB,OAK9Z,SAASC,GAAgBC,EAAO,CAC5B,OAAOC,GAASD,CAAK,GAAK,OAAO,iBAAiBA,CACtD,CAFSE,EAAAH,GAAA,mBAGTD,GAAQ,gBAAkBC,GAE1B,SAASI,GAAWH,EAAO,CACvB,OAAOC,GAASD,CAAK,GAAK,OAAO,YAAYA,CACjD,CAFSE,EAAAC,GAAA,cAGTL,GAAQ,WAAaK,GAKrB,SAASC,GAAaJ,EAAO,CACzB,OAAO,YAAY,OAAOA,CAAK,CACnC,CAFSE,EAAAE,GAAA,gBAGTN,GAAQ,aAAeM,GAEvB,SAASC,GAAUL,EAAO,CACtB,OAAOA,aAAiB,OAC5B,CAFSE,EAAAG,GAAA,aAGTP,GAAQ,UAAYO,GAEpB,SAASC,GAAaN,EAAO,CACzB,OAAOA,aAAiB,UAC5B,CAFSE,EAAAI,GAAA,gBAGTR,GAAQ,aAAeQ,GAEvB,SAASC,GAAOP,EAAO,CACnB,OAAOA,aAAiB,MAAQ,OAAO,SAASA,EAAM,QAAQ,CAAC,CACnE,CAFSE,EAAAK,GAAA,UAGTT,GAAQ,OAASS,GAKjB,SAASC,GAAeR,EAAOS,EAAK,CAChC,OAAOA,KAAOT,CAClB,CAFSE,EAAAM,GAAA,kBAGTV,GAAQ,eAAiBU,GAEzB,SAASE,GAAcV,EAAO,CAC1B,OAAOC,GAASD,CAAK,GAAKW,GAAWX,EAAM,WAAW,GAAKA,EAAM,YAAY,OAAS,QAC1F,CAFSE,EAAAQ,GAAA,iBAGTZ,GAAQ,cAAgBY,GAExB,SAAST,GAASD,EAAO,CACrB,OAAOA,IAAU,MAAQ,OAAOA,GAAU,QAC9C,CAFSE,EAAAD,GAAA,YAGTH,GAAQ,SAAWG,GAEnB,SAASW,GAAQZ,EAAO,CACpB,OAAO,MAAM,QAAQA,CAAK,GAAK,CAAC,YAAY,OAAOA,CAAK,CAC5D,CAFSE,EAAAU,GAAA,WAGTd,GAAQ,QAAUc,GAElB,SAASC,GAAYb,EAAO,CACxB,OAAOA,IAAU,MACrB,CAFSE,EAAAW,GAAA,eAGTf,GAAQ,YAAce,GAEtB,SAASC,GAAOd,EAAO,CACnB,OAAOA,IAAU,IACrB,CAFSE,EAAAY,GAAA,UAGThB,GAAQ,OAASgB,GAEjB,SAASC,GAAUf,EAAO,CACtB,OAAO,OAAOA,GAAU,SAC5B,CAFSE,EAAAa,GAAA,aAGTjB,GAAQ,UAAYiB,GAEpB,SAASC,GAAShB,EAAO,CACrB,OAAO,OAAOA,GAAU,QAC5B,CAFSE,EAAAc,GAAA,YAGTlB,GAAQ,SAAWkB,GAEnB,SAASC,GAAUjB,EAAO,CACtB,OAAOgB,GAAShB,CAAK,GAAK,OAAO,UAAUA,CAAK,CACpD,CAFSE,EAAAe,GAAA,aAGTnB,GAAQ,UAAYmB,GAEpB,SAASC,GAASlB,EAAO,CACrB,OAAO,OAAOA,GAAU,QAC5B,CAFSE,EAAAgB,GAAA,YAGTpB,GAAQ,SAAWoB,GAEnB,SAASC,GAASnB,EAAO,CACrB,OAAO,OAAOA,GAAU,QAC5B,CAFSE,EAAAiB,GAAA,YAGTrB,GAAQ,SAAWqB,GAEnB,SAASR,GAAWX,EAAO,CACvB,OAAO,OAAOA,GAAU,UAC5B,CAFSE,EAAAS,GAAA,cAGTb,GAAQ,WAAaa,GAErB,SAASS,GAASpB,EAAO,CACrB,OAAO,OAAOA,GAAU,QAC5B,CAFSE,EAAAkB,GAAA,YAGTtB,GAAQ,SAAWsB,GAEnB,SAASC,GAAYrB,EAAO,CAExB,OAAQkB,GAASlB,CAAK,GAClBe,GAAUf,CAAK,GACfc,GAAOd,CAAK,GACZgB,GAAShB,CAAK,GACdmB,GAASnB,CAAK,GACdoB,GAASpB,CAAK,GACda,GAAYb,CAAK,CACzB,CATSE,EAAAmB,GAAA,eAUTvB,GAAQ,YAAcuB,KCjJtB,IAAAC,GAAAC,EAAAC,IAAA,cA4BA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,qBAAuBA,GAAQ,iBAAmBA,GAAQ,wBAA0BA,GAAQ,WAAaA,GAAQ,0BAA4BA,GAAQ,4BAA8B,OAC3L,IAAMC,GAAU,KACVC,GAAW,KACXC,GAAQ,KAIRC,GAAN,cAA0CD,GAAM,YAAa,CApC7D,MAoC6D,CAAAE,EAAA,oCACzD,YAAYC,EAAM,CACd,MAAM,wBAAwBA,CAAI,YAAY,CAClD,CACJ,EACAN,GAAQ,4BAA8BI,GACtC,IAAMG,GAAN,cAAwCJ,GAAM,YAAa,CA1C3D,MA0C2D,CAAAE,EAAA,kCACvD,YAAYC,EAAM,CACd,MAAM,4BAA4BA,CAAI,YAAY,CACtD,CACJ,EACAN,GAAQ,0BAA4BO,GAKpC,IAAIC,IACH,SAAUA,EAAY,CAEnB,SAASC,EAAKH,EAAMI,EAAO,CACvB,GAAIP,GAAM,aAAa,IAAIG,CAAI,EAC3B,MAAM,IAAIF,GAA4BE,CAAI,EAC9C,OAAAH,GAAM,aAAa,IAAIG,EAAMI,CAAK,EAC3B,CAACC,EAAU,CAAC,IAAMR,GAAM,KAAK,OAAO,CAAE,GAAGQ,EAAS,CAACR,GAAM,IAAI,EAAGG,CAAK,CAAC,CACjF,CALSD,EAAAI,EAAA,QAMTD,EAAW,KAAOC,EAElB,SAASG,EAAOC,EAAQH,EAAO,CAC3B,GAAIP,GAAM,eAAe,IAAIU,CAAM,EAC/B,MAAM,IAAIN,GAA0BM,CAAM,EAC9C,OAAAV,GAAM,eAAe,IAAIU,EAAQH,CAAK,EAC/BG,CACX,CALSR,EAAAO,EAAA,UAMTJ,EAAW,OAASI,CACxB,GAAGJ,KAAeR,GAAQ,WAAaQ,GAAa,CAAC,EAAE,EAKvD,IAAIM,IACH,SAAUA,EAAyB,CAChC,IAAIC,EAAuBC,GAE3B,SAASC,GAAQ,CACbF,EAAuBC,EAC3B,CAFSX,EAAAY,EAAA,SAGTH,EAAwB,MAAQG,EAEhC,SAASC,EAAIC,EAAU,CACnBJ,EAAuBI,CAC3B,CAFSd,EAAAa,EAAA,OAGTJ,EAAwB,IAAMI,EAE9B,SAASE,GAAM,CACX,OAAOL,CACX,CAFSV,EAAAe,EAAA,OAGTN,EAAwB,IAAMM,CAClC,GAAGN,KAA4Bd,GAAQ,wBAA0Bc,GAA0B,CAAC,EAAE,EAK9F,IAAIO,IACH,SAAUA,EAAkB,CAEzBA,EAAiB,2BAA6B,GAE9CA,EAAiB,iBAAmB,GAEpCA,EAAiB,SAAW,GAE5BA,EAAiB,cAAgB,GAEjC,SAASC,EAAwBC,EAAOC,EAAK,CACzC,OAAOH,EAAiB,2BAA6BG,KAAOD,EAAQA,EAAMC,CAAG,IAAM,MACvF,CAFSnB,EAAAiB,EAAA,2BAGTD,EAAiB,wBAA0BC,EAE3C,SAASG,EAAaF,EAAO,CACzB,IAAMG,KAAezB,GAAQ,UAAUsB,CAAK,EAC5C,OAAOF,EAAiB,iBAAmBK,EAAWA,GAAY,IAAKzB,GAAQ,SAASsB,CAAK,CACjG,CAHSlB,EAAAoB,EAAA,gBAITJ,EAAiB,aAAeI,EAEhC,SAASE,EAAaJ,EAAO,CACzB,OAAOE,EAAaF,CAAK,GAAK,EAAEA,aAAiB,OAAS,EAAEA,aAAiB,WACjF,CAFSlB,EAAAsB,EAAA,gBAGTN,EAAiB,aAAeM,EAEhC,SAASC,EAAaL,EAAO,CACzB,IAAMM,KAAe5B,GAAQ,UAAUsB,CAAK,EAC5C,OAAOF,EAAiB,SAAWQ,EAAWA,GAAY,OAAO,SAASN,CAAK,CACnF,CAHSlB,EAAAuB,EAAA,gBAITP,EAAiB,aAAeO,EAEhC,SAASE,EAAWP,EAAO,CACvB,IAAMQ,KAAkB9B,GAAQ,aAAasB,CAAK,EAClD,OAAOF,EAAiB,cAAgBU,GAAeR,IAAU,KAAOQ,CAC5E,CAHS1B,EAAAyB,EAAA,cAITT,EAAiB,WAAaS,CAClC,GAAGT,KAAqBrB,GAAQ,iBAAmBqB,GAAmB,CAAC,EAAE,EAKzE,SAASL,GAAqBgB,EAAQC,EAAW,CAC7C,OAAQA,EAAW,CACf,KAAK/B,GAAS,eAAe,cACzB,MAAO,wDACX,KAAKA,GAAS,eAAe,iBACzB,MAAO,0CAA0C8B,EAAO,WAAW,mBACvE,KAAK9B,GAAS,eAAe,iBACzB,MAAO,sCAAsC8B,EAAO,WAAW,mBACnE,KAAK9B,GAAS,eAAe,cACzB,MAAO,gDAAgD8B,EAAO,QAAQ,GAC1E,KAAK9B,GAAS,eAAe,cACzB,MAAO,mDAAmD8B,EAAO,QAAQ,GAC7E,KAAK9B,GAAS,eAAe,iBACzB,MAAO,uCACX,KAAKA,GAAS,eAAe,MACzB,MAAO,iBACX,KAAKA,GAAS,eAAe,cACzB,MAAO,yBACX,KAAKA,GAAS,eAAe,uBACzB,MAAO,mCAAmC8B,EAAO,gBAAgB,GACrE,KAAK9B,GAAS,eAAe,uBACzB,MAAO,sCAAsC8B,EAAO,gBAAgB,GACxE,KAAK9B,GAAS,eAAe,cACzB,MAAO,0CAA0C8B,EAAO,OAAO,GACnE,KAAK9B,GAAS,eAAe,cACzB,MAAO,6CAA6C8B,EAAO,OAAO,GACtE,KAAK9B,GAAS,eAAe,iBACzB,MAAO,uCAAuC8B,EAAO,UAAU,GACnE,KAAK9B,GAAS,eAAe,OACzB,MAAO,kBACX,KAAKA,GAAS,eAAe,QACzB,MAAO,mBACX,KAAKA,GAAS,eAAe,8BACzB,MAAO,8CAA8C8B,EAAO,yBAAyB,GACzF,KAAK9B,GAAS,eAAe,8BACzB,MAAO,2CAA2C8B,EAAO,yBAAyB,GACtF,KAAK9B,GAAS,eAAe,qBACzB,MAAO,qDAAqD8B,EAAO,gBAAgB,GACvF,KAAK9B,GAAS,eAAe,qBACzB,MAAO,kDAAkD8B,EAAO,gBAAgB,GACpF,KAAK9B,GAAS,eAAe,wBACzB,MAAO,+CAA+C8B,EAAO,mBAAmB,GACpF,KAAK9B,GAAS,eAAe,KACzB,MAAO,gBACX,KAAKA,GAAS,eAAe,SACzB,MAAO,oBACX,KAAKA,GAAS,eAAe,wBACzB,MAAO,oCAAoC8B,EAAO,gBAAgB,GACtE,KAAK9B,GAAS,eAAe,wBACzB,MAAO,uCAAuC8B,EAAO,gBAAgB,GACzE,KAAK9B,GAAS,eAAe,eACzB,MAAO,2CAA2C8B,EAAO,OAAO,GACpE,KAAK9B,GAAS,eAAe,eACzB,MAAO,8CAA8C8B,EAAO,OAAO,GACvE,KAAK9B,GAAS,eAAe,kBACzB,MAAO,wCAAwC8B,EAAO,UAAU,GACpE,KAAK9B,GAAS,eAAe,QACzB,MAAO,mBACX,KAAKA,GAAS,eAAe,+BACzB,MAAO,sBACX,KAAKA,GAAS,eAAe,UACzB,MAAO,+BACX,KAAKA,GAAS,eAAe,SACzB,MAAO,oBACX,KAAKA,GAAS,eAAe,QACzB,MAAO,YAAY,OAAO8B,EAAO,OAAU,SAAW,IAAIA,EAAO,KAAK,IAAMA,EAAO,KAAK,GAC5F,KAAK9B,GAAS,eAAe,MACzB,MAAO,QACX,KAAKA,GAAS,eAAe,IACzB,MAAO,yBACX,KAAKA,GAAS,eAAe,KACzB,MAAO,gBACX,KAAKA,GAAS,eAAe,uBACzB,MAAO,mCAAmC8B,EAAO,gBAAgB,GACrE,KAAK9B,GAAS,eAAe,uBACzB,MAAO,sCAAsC8B,EAAO,gBAAgB,GACxE,KAAK9B,GAAS,eAAe,cACzB,MAAO,0CAA0C8B,EAAO,OAAO,GACnE,KAAK9B,GAAS,eAAe,cACzB,MAAO,6CAA6C8B,EAAO,OAAO,GACtE,KAAK9B,GAAS,eAAe,iBACzB,MAAO,uCAAuC8B,EAAO,UAAU,GACnE,KAAK9B,GAAS,eAAe,OACzB,MAAO,kBACX,KAAKA,GAAS,eAAe,OACzB,MAAO,kBACX,KAAKA,GAAS,eAAe,2BACzB,MAAO,sBACX,KAAKA,GAAS,eAAe,oBACzB,MAAO,wCAAwC8B,EAAO,aAAa,cACvE,KAAK9B,GAAS,eAAe,oBACzB,MAAO,oCAAoC8B,EAAO,aAAa,cACnE,KAAK9B,GAAS,eAAe,uBACzB,MAAO,oBACX,KAAKA,GAAS,eAAe,QACzB,MAAO,mBACX,KAAKA,GAAS,eAAe,oBACzB,MAAO,mBAAmB8B,EAAO,MAAM,IAC3C,KAAK9B,GAAS,eAAe,aACzB,MAAO,6BAA6B8B,EAAO,MAAM,WACrD,KAAK9B,GAAS,eAAe,gBACzB,MAAO,2CAA2C8B,EAAO,SAAS,GACtE,KAAK9B,GAAS,eAAe,gBACzB,MAAO,8CAA8C8B,EAAO,SAAS,GACzE,KAAK9B,GAAS,eAAe,cACzB,MAAO,6BAA6B8B,EAAO,OAAO,IACtD,KAAK9B,GAAS,eAAe,OACzB,MAAO,kBACX,KAAKA,GAAS,eAAe,OACzB,MAAO,kBACX,KAAKA,GAAS,eAAe,YACzB,MAAO,0BAA0B8B,EAAO,UAAY,CAAC,YACzD,KAAK9B,GAAS,eAAe,MACzB,MAAO,iBACX,KAAKA,GAAS,eAAe,wBACzB,MAAO,yCAAyC8B,EAAO,aAAa,GACxE,KAAK9B,GAAS,eAAe,wBACzB,MAAO,4CAA4C8B,EAAO,aAAa,GAC3E,KAAK9B,GAAS,eAAe,WACzB,MAAO,sBACX,KAAKA,GAAS,eAAe,UACzB,MAAO,qBACX,KAAKA,GAAS,eAAe,MACzB,MAAO,uBACX,KAAKA,GAAS,eAAe,KACzB,MAAO,gBACX,KAAKA,GAAS,eAAe,KACzB,MAAO,kBAAkB8B,EAAO7B,GAAM,IAAI,CAAC,IAC/C,QACI,MAAO,oBACf,CACJ,CAnISE,EAAAW,GAAA,wBAoIThB,GAAQ,qBAAuBgB,KCjR/B,IAAAkB,GAAAC,EAAAC,IAAA,cA4BA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,MAAQA,GAAQ,qBAAuB,OAC/C,IAAMC,GAAY,KACZC,GAAN,cAAmCD,GAAU,YAAa,CA/B1D,MA+B0D,CAAAE,EAAA,6BACtD,YAAYC,EAAQ,CAChB,MAAM,0CAA0CA,EAAO,GAAG,GAAG,EAC7D,KAAK,OAASA,CAClB,CACJ,EACAJ,GAAQ,qBAAuBE,GAE/B,SAASG,GAAMD,EAAQE,EAAY,CAC/B,IAAMC,EAAQD,EAAW,UAAWE,GAAWA,EAAO,MAAQJ,EAAO,IAAI,EACzE,GAAIG,IAAU,GACV,MAAM,IAAIL,GAAqBE,CAAM,EACzC,OAAOE,EAAWC,CAAK,CAC3B,CALSJ,EAAAE,GAAA,SAMTL,GAAQ,MAAQK,KC7ChB,IAAAI,GAAAC,EAAAC,IAAA,cA4BA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,KAAOA,GAAQ,WAAaA,GAAQ,eAAiB,OAC7D,IAAMC,GAAU,KAIVC,GAAN,cAA6B,KAAM,CAlCnC,MAkCmC,CAAAC,EAAA,uBAC/B,YAAYC,EAAO,CACf,MAAM,sBAAsB,EAC5B,KAAK,MAAQA,CACjB,CACJ,EACAJ,GAAQ,eAAiBE,GAIzB,IAAIG,IACH,SAAUA,EAAY,CACnBA,EAAWA,EAAW,UAAe,CAAC,EAAI,YAC1CA,EAAWA,EAAW,KAAU,CAAC,EAAI,OACrCA,EAAWA,EAAW,QAAa,CAAC,EAAI,UACxCA,EAAWA,EAAW,OAAY,CAAC,EAAI,SACvCA,EAAWA,EAAW,OAAY,CAAC,EAAI,SACvCA,EAAWA,EAAW,OAAY,CAAC,EAAI,SACvCA,EAAWA,EAAW,MAAW,CAAC,EAAI,QACtCA,EAAWA,EAAW,KAAU,CAAC,EAAI,OACrCA,EAAWA,EAAW,WAAgB,CAAC,EAAI,aAC3CA,EAAWA,EAAW,OAAY,CAAC,EAAI,SACvCA,EAAWA,EAAW,OAAY,EAAE,EAAI,QAC5C,GAAGA,KAAeL,GAAQ,WAAaK,GAAa,CAAC,EAAE,EAIvD,IAAIC,GAAc,OAAO,sBAAsB,EACzC,CAACC,GAAOC,EAAI,EAAI,CAAC,OAAO,eAAe,EAAG,OAAO,GAAG,GAAK,OAAO,IAAI,CAAC,EACrEC,GAAQ,MAAM,KAAK,CAAE,OAAQ,GAAI,CAAC,EAAE,IAAI,CAACC,EAAGC,IAAM,OAAOA,CAAC,CAAC,EAC3DC,GAAM,IAAI,aAAa,CAAC,EACxBC,GAAQ,IAAI,SAASD,GAAI,MAAM,EAC/BE,GAAS,IAAI,WAAWF,GAAI,MAAM,EAIxC,SAAUG,GAAcX,EAAO,CAC3B,IAAMY,EAAYZ,IAAU,EAAI,EAAI,KAAK,KAAK,KAAK,MAAM,KAAK,KAAKA,CAAK,EAAI,CAAC,EAAI,CAAC,EAClF,QAASO,EAAI,EAAGA,EAAIK,EAAWL,IAC3B,MAAOP,GAAU,GAAKY,EAAY,EAAIL,GAAO,GAErD,CALUR,EAAAY,GAAA,iBASV,SAASE,GAAUb,EAAO,CACtBc,GAAQb,GAAW,KAAK,EACxB,QAAWc,KAAQf,EACfgB,GAAMD,CAAI,CAElB,CALShB,EAAAc,GAAA,aAMT,SAASI,GAAYjB,EAAO,CACxBc,GAAQb,GAAW,OAAO,EAC1Ba,GAAQd,EAAQ,EAAI,CAAC,CACzB,CAHSD,EAAAkB,GAAA,eAIT,SAASC,GAAWlB,EAAO,CACvBc,GAAQb,GAAW,MAAM,EACzBQ,GAAM,YAAY,EAAGT,CAAK,EAC1B,QAAWmB,KAAQT,GACfI,GAAQK,CAAI,CAEpB,CANSpB,EAAAmB,GAAA,cAOT,SAASE,GAASpB,EAAO,CACrBc,GAAQb,GAAW,IAAI,EACvBe,GAAMhB,EAAM,QAAQ,CAAC,CACzB,CAHSD,EAAAqB,GAAA,YAIT,SAASC,GAASrB,EAAO,CACrBc,GAAQb,GAAW,IAAI,CAC3B,CAFSF,EAAAsB,GAAA,YAGT,SAASC,GAAWtB,EAAO,CACvBc,GAAQb,GAAW,MAAM,EACzBQ,GAAM,WAAW,EAAGT,CAAK,EACzB,QAAWmB,KAAQT,GACfI,GAAQK,CAAI,CAEpB,CANSpB,EAAAuB,GAAA,cAOT,SAASC,GAAWvB,EAAO,CACvBc,GAAQb,GAAW,MAAM,EACzB,QAAWuB,KAAO,WAAW,OAAO,KAAKxB,CAAK,EAAE,KAAK,EACjDgB,GAAMQ,CAAG,EACTR,GAAMhB,EAAMwB,CAAG,CAAC,CAExB,CANSzB,EAAAwB,GAAA,cAOT,SAASE,GAAWzB,EAAO,CACvBc,GAAQb,GAAW,MAAM,EACzB,QAASM,EAAI,EAAGA,EAAIP,EAAM,OAAQO,IAC9B,QAAWY,KAAQR,GAAcX,EAAM,WAAWO,CAAC,CAAC,EAChDO,GAAQK,CAAI,CAGxB,CAPSpB,EAAA0B,GAAA,cAQT,SAASC,GAAW1B,EAAO,CACvBc,GAAQb,GAAW,MAAM,EACzBe,GAAMhB,EAAM,WAAW,CAC3B,CAHSD,EAAA2B,GAAA,cAIT,SAASC,GAAe3B,EAAO,CAC3Bc,GAAQb,GAAW,UAAU,EAC7B,QAASM,EAAI,EAAGA,EAAIP,EAAM,OAAQO,IAC9BO,GAAQd,EAAMO,CAAC,CAAC,CAExB,CALSR,EAAA4B,GAAA,kBAMT,SAASC,GAAc5B,EAAO,CAC1B,OAAOc,GAAQb,GAAW,SAAS,CACvC,CAFSF,EAAA6B,GAAA,iBAGT,SAASZ,GAAMhB,EAAO,CAClB,MAAQH,GAAQ,SAASG,CAAK,EAC1B,OAAOa,GAAUb,CAAK,EAC1B,MAAQH,GAAQ,WAAWG,CAAK,EAC5B,OAAOiB,GAAYjB,CAAK,EAC5B,MAAQH,GAAQ,UAAUG,CAAK,EAC3B,OAAOkB,GAAWlB,CAAK,EAC3B,MAAQH,GAAQ,QAAQG,CAAK,EACzB,OAAOoB,GAASpB,CAAK,EACzB,MAAQH,GAAQ,QAAQG,CAAK,EACzB,OAAOqB,GAASrB,CAAK,EACzB,MAAQH,GAAQ,UAAUG,CAAK,EAC3B,OAAOsB,GAAWtB,CAAK,EAC3B,MAAQH,GAAQ,eAAeG,CAAK,EAChC,OAAOuB,GAAWvB,CAAK,EAC3B,MAAQH,GAAQ,UAAUG,CAAK,EAC3B,OAAOyB,GAAWzB,CAAK,EAC3B,MAAQH,GAAQ,UAAUG,CAAK,EAC3B,OAAO0B,GAAW1B,CAAK,EAC3B,MAAQH,GAAQ,cAAcG,CAAK,EAC/B,OAAO2B,GAAe3B,CAAK,EAC/B,MAAQH,GAAQ,aAAaG,CAAK,EAC9B,OAAO4B,GAAc5B,CAAK,EAC9B,MAAM,IAAIF,GAAeE,CAAK,CAClC,CAxBSD,EAAAiB,GAAA,SAyBT,SAASF,GAAQK,EAAM,CACnBjB,GAAcA,GAAcG,GAAMc,CAAI,EACtCjB,GAAeA,GAAcC,GAASC,EAC1C,CAHSL,EAAAe,GAAA,WAQT,SAASe,GAAK7B,EAAO,CACjB,OAAAE,GAAc,OAAO,sBAAsB,EAC3Cc,GAAMhB,CAAK,EACJE,EACX,CAJSH,EAAA8B,GAAA,QAKTjC,GAAQ,KAAOiC,KChLf,IAAAC,GAAAC,EAAAC,IAAA,cA4BA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,OAASA,GAAQ,mBAAqBA,GAAQ,UAAYA,GAAQ,4BAA8BA,GAAQ,eAAiB,OACjI,IAAMC,GAAU,KACVC,GAAW,KACXC,GAAU,KACVC,GAAS,KACTC,GAAQ,KAIVC,GACH,SAAUA,EAAgB,CACvBA,EAAeA,EAAe,cAAmB,CAAC,EAAI,gBACtDA,EAAeA,EAAe,iBAAsB,CAAC,EAAI,mBACzDA,EAAeA,EAAe,cAAmB,CAAC,EAAI,gBACtDA,EAAeA,EAAe,iBAAsB,CAAC,EAAI,mBACzDA,EAAeA,EAAe,cAAmB,CAAC,EAAI,gBACtDA,EAAeA,EAAe,iBAAsB,CAAC,EAAI,mBACzDA,EAAeA,EAAe,MAAW,CAAC,EAAI,QAC9CA,EAAeA,EAAe,cAAmB,CAAC,EAAI,gBACtDA,EAAeA,EAAe,uBAA4B,CAAC,EAAI,yBAC/DA,EAAeA,EAAe,uBAA4B,CAAC,EAAI,yBAC/DA,EAAeA,EAAe,cAAmB,EAAE,EAAI,gBACvDA,EAAeA,EAAe,cAAmB,EAAE,EAAI,gBACvDA,EAAeA,EAAe,iBAAsB,EAAE,EAAI,mBAC1DA,EAAeA,EAAe,OAAY,EAAE,EAAI,SAChDA,EAAeA,EAAe,QAAa,EAAE,EAAI,UACjDA,EAAeA,EAAe,8BAAmC,EAAE,EAAI,gCACvEA,EAAeA,EAAe,8BAAmC,EAAE,EAAI,gCACvEA,EAAeA,EAAe,qBAA0B,EAAE,EAAI,uBAC9DA,EAAeA,EAAe,qBAA0B,EAAE,EAAI,uBAC9DA,EAAeA,EAAe,wBAA6B,EAAE,EAAI,0BACjEA,EAAeA,EAAe,KAAU,EAAE,EAAI,OAC9CA,EAAeA,EAAe,SAAc,EAAE,EAAI,WAClDA,EAAeA,EAAe,wBAA6B,EAAE,EAAI,0BACjEA,EAAeA,EAAe,wBAA6B,EAAE,EAAI,0BACjEA,EAAeA,EAAe,eAAoB,EAAE,EAAI,iBACxDA,EAAeA,EAAe,eAAoB,EAAE,EAAI,iBACxDA,EAAeA,EAAe,kBAAuB,EAAE,EAAI,oBAC3DA,EAAeA,EAAe,QAAa,EAAE,EAAI,UACjDA,EAAeA,EAAe,+BAAoC,EAAE,EAAI,iCACxEA,EAAeA,EAAe,UAAe,EAAE,EAAI,YACnDA,EAAeA,EAAe,SAAc,EAAE,EAAI,WAClDA,EAAeA,EAAe,KAAU,EAAE,EAAI,OAC9CA,EAAeA,EAAe,QAAa,EAAE,EAAI,UACjDA,EAAeA,EAAe,MAAW,EAAE,EAAI,QAC/CA,EAAeA,EAAe,IAAS,EAAE,EAAI,MAC7CA,EAAeA,EAAe,KAAU,EAAE,EAAI,OAC9CA,EAAeA,EAAe,uBAA4B,EAAE,EAAI,yBAChEA,EAAeA,EAAe,uBAA4B,EAAE,EAAI,yBAChEA,EAAeA,EAAe,cAAmB,EAAE,EAAI,gBACvDA,EAAeA,EAAe,cAAmB,EAAE,EAAI,gBACvDA,EAAeA,EAAe,iBAAsB,EAAE,EAAI,mBAC1DA,EAAeA,EAAe,OAAY,EAAE,EAAI,SAChDA,EAAeA,EAAe,2BAAgC,EAAE,EAAI,6BACpEA,EAAeA,EAAe,oBAAyB,EAAE,EAAI,sBAC7DA,EAAeA,EAAe,oBAAyB,EAAE,EAAI,sBAC7DA,EAAeA,EAAe,uBAA4B,EAAE,EAAI,yBAChEA,EAAeA,EAAe,OAAY,EAAE,EAAI,SAChDA,EAAeA,EAAe,QAAa,EAAE,EAAI,UACjDA,EAAeA,EAAe,oBAAyB,EAAE,EAAI,sBAC7DA,EAAeA,EAAe,aAAkB,EAAE,EAAI,eACtDA,EAAeA,EAAe,gBAAqB,EAAE,EAAI,kBACzDA,EAAeA,EAAe,gBAAqB,EAAE,EAAI,kBACzDA,EAAeA,EAAe,cAAmB,EAAE,EAAI,gBACvDA,EAAeA,EAAe,OAAY,EAAE,EAAI,SAChDA,EAAeA,EAAe,OAAY,EAAE,EAAI,SAChDA,EAAeA,EAAe,YAAiB,EAAE,EAAI,cACrDA,EAAeA,EAAe,MAAW,EAAE,EAAI,QAC/CA,EAAeA,EAAe,wBAA6B,EAAE,EAAI,0BACjEA,EAAeA,EAAe,wBAA6B,EAAE,EAAI,0BACjEA,EAAeA,EAAe,WAAgB,EAAE,EAAI,aACpDA,EAAeA,EAAe,UAAe,EAAE,EAAI,YACnDA,EAAeA,EAAe,MAAW,EAAE,EAAI,QAC/CA,EAAeA,EAAe,KAAU,EAAE,EAAI,MAClD,GAAGA,IAAmBN,GAAQ,eAAiBM,EAAiB,CAAC,EAAE,EAInE,IAAMC,GAAN,cAA0CF,GAAM,YAAa,CA3G7D,MA2G6D,CAAAG,EAAA,oCACzD,YAAYC,EAAQ,CAChB,MAAM,cAAc,EACpB,KAAK,OAASA,CAClB,CACJ,EACAT,GAAQ,4BAA8BO,GAItC,SAASG,GAAUC,EAAK,CACpB,OAAOA,EAAI,QAAQ,KAAM,IAAI,EAAE,QAAQ,MAAO,IAAI,CACtD,CAFSH,EAAAE,GAAA,aAGTV,GAAQ,UAAYU,GAIpB,SAASE,GAAUC,EAAO,CACtB,OAAOA,IAAU,MACrB,CAFSL,EAAAI,GAAA,aAMT,IAAME,GAAN,KAAyB,CAlIzB,MAkIyB,CAAAN,EAAA,2BACrB,YAAYO,EAAU,CAClB,KAAK,SAAWA,CACpB,CACA,CAAC,OAAO,QAAQ,GAAI,CAChB,OAAO,KAAK,QAChB,CAEA,OAAQ,CACJ,IAAMC,EAAO,KAAK,SAAS,KAAK,EAChC,OAAOA,EAAK,KAAO,OAAYA,EAAK,KACxC,CACJ,EACAhB,GAAQ,mBAAqBc,GAI7B,SAASG,GAAOC,EAAMT,EAAQU,EAAMN,EAAO,CACvC,MAAO,CAAE,KAAAK,EAAM,OAAAT,EAAQ,KAAAU,EAAM,MAAAN,EAAO,QAASX,GAAS,wBAAwB,IAAI,EAAEO,EAAQS,CAAI,CAAE,CACtG,CAFSV,EAAAS,GAAA,UAMT,SAAUG,GAAKX,EAAQY,EAAYF,EAAMN,EAAO,CAAE,CAAxCL,EAAAY,GAAA,QACV,SAAUE,GAAOb,EAAQY,EAAYF,EAAMN,EAAO,CAC9C,GAAI,IAAKZ,GAAQ,SAASY,CAAK,EAC3B,OAAO,MAAMI,GAAOX,EAAe,MAAOG,EAAQU,EAAMN,CAAK,EAE7DD,GAAUH,EAAO,QAAQ,GAAK,EAAEI,EAAM,QAAUJ,EAAO,YACvD,MAAMQ,GAAOX,EAAe,cAAeG,EAAQU,EAAMN,CAAK,GAE9DD,GAAUH,EAAO,QAAQ,GAAK,EAAEI,EAAM,QAAUJ,EAAO,YACvD,MAAMQ,GAAOX,EAAe,cAAeG,EAAQU,EAAMN,CAAK,GAElE,QAASU,EAAI,EAAGA,EAAIV,EAAM,OAAQU,IAC9B,MAAOC,GAAMf,EAAO,MAAOY,EAAY,GAAGF,CAAI,IAAII,CAAC,GAAIV,EAAMU,CAAC,CAAC,EAenE,GAZId,EAAO,cAAgB,IAAQ,CAAG,UAAY,CAAE,IAAMgB,EAAM,IAAI,IAAO,QAAWC,KAAWb,EAAO,CACpG,IAAMc,KAAavB,GAAO,MAAMsB,CAAO,EACvC,GAAID,EAAI,IAAIE,CAAM,EACd,MAAO,GAGPF,EAAI,IAAIE,CAAM,CAEtB,CAAE,MAAO,EAAM,EAAG,IACd,MAAMV,GAAOX,EAAe,iBAAkBG,EAAQU,EAAMN,CAAK,GAGjE,EAAED,GAAUH,EAAO,QAAQ,GAAKG,GAAUH,EAAO,WAAW,GAAKG,GAAUH,EAAO,WAAW,GAC7F,OAEJ,IAAMmB,EAAiBhB,GAAUH,EAAO,QAAQ,EAAIA,EAAO,SAAWJ,GAAM,KAAK,MAAM,EACjFwB,EAAgBhB,EAAM,OAAO,CAACiB,EAAKjB,EAAOkB,IAAWP,GAAMI,EAAgBP,EAAY,GAAGF,CAAI,GAAGY,CAAK,GAAIlB,CAAK,EAAE,KAAK,EAAE,OAAS,GAAOiB,EAAM,EAAIA,EAAM,CAAC,EAC3JD,IAAkB,IAClB,MAAMZ,GAAOX,EAAe,cAAeG,EAAQU,EAAMN,CAAK,MAE1DZ,GAAQ,UAAUQ,EAAO,WAAW,GAAKoB,EAAgBpB,EAAO,cACpE,MAAMQ,GAAOX,EAAe,iBAAkBG,EAAQU,EAAMN,CAAK,MAE7DZ,GAAQ,UAAUQ,EAAO,WAAW,GAAKoB,EAAgBpB,EAAO,cACpE,MAAMQ,GAAOX,EAAe,iBAAkBG,EAAQU,EAAMN,CAAK,EAEzE,CAxCUL,EAAAc,GAAA,UAyCV,SAAUU,GAAevB,EAAQY,EAAYF,EAAMN,EAAO,IAC7CZ,GAAQ,iBAAiBY,CAAK,IACnC,MAAMI,GAAOX,EAAe,cAAeG,EAAQU,EAAMN,CAAK,EACtE,CAHUL,EAAAwB,GAAA,kBAIV,SAAUC,GAAQxB,EAAQY,EAAYF,EAAMN,EAAO,CAC/C,GAAI,IAAKZ,GAAQ,UAAUY,CAAK,EAC5B,OAAO,MAAMI,GAAOX,EAAe,OAAQG,EAAQU,EAAMN,CAAK,EAC9DD,GAAUH,EAAO,gBAAgB,GAAK,EAAEI,EAAQJ,EAAO,oBACvD,MAAMQ,GAAOX,EAAe,uBAAwBG,EAAQU,EAAMN,CAAK,GAEvED,GAAUH,EAAO,gBAAgB,GAAK,EAAEI,EAAQJ,EAAO,oBACvD,MAAMQ,GAAOX,EAAe,uBAAwBG,EAAQU,EAAMN,CAAK,GAEvED,GAAUH,EAAO,OAAO,GAAK,EAAEI,GAASJ,EAAO,WAC/C,MAAMQ,GAAOX,EAAe,cAAeG,EAAQU,EAAMN,CAAK,GAE9DD,GAAUH,EAAO,OAAO,GAAK,EAAEI,GAASJ,EAAO,WAC/C,MAAMQ,GAAOX,EAAe,cAAeG,EAAQU,EAAMN,CAAK,GAE9DD,GAAUH,EAAO,UAAU,GAAOI,EAAQJ,EAAO,aAAe,OAAO,CAAC,IACxE,MAAMQ,GAAOX,EAAe,iBAAkBG,EAAQU,EAAMN,CAAK,EAEzE,CAlBUL,EAAAyB,GAAA,WAmBV,SAAUC,GAASzB,EAAQY,EAAYF,EAAMN,EAAO,IACvCZ,GAAQ,WAAWY,CAAK,IAC7B,MAAMI,GAAOX,EAAe,QAASG,EAAQU,EAAMN,CAAK,EAChE,CAHUL,EAAA0B,GAAA,YAIV,SAAUC,GAAa1B,EAAQY,EAAYF,EAAMN,EAAO,CACpD,MAAOW,GAAMf,EAAO,QAASY,EAAYF,EAAMN,EAAM,SAAS,CAClE,CAFUL,EAAA2B,GAAA,gBAGV,SAAUC,GAAM3B,EAAQY,EAAYF,EAAMN,EAAO,CAC7C,GAAI,IAAKZ,GAAQ,QAAQY,CAAK,EAC1B,OAAO,MAAMI,GAAOX,EAAe,KAAMG,EAAQU,EAAMN,CAAK,EAC5DD,GAAUH,EAAO,yBAAyB,GAAK,EAAEI,EAAM,QAAQ,EAAIJ,EAAO,6BAC1E,MAAMQ,GAAOX,EAAe,8BAA+BG,EAAQU,EAAMN,CAAK,GAE9ED,GAAUH,EAAO,yBAAyB,GAAK,EAAEI,EAAM,QAAQ,EAAIJ,EAAO,6BAC1E,MAAMQ,GAAOX,EAAe,8BAA+BG,EAAQU,EAAMN,CAAK,GAE9ED,GAAUH,EAAO,gBAAgB,GAAK,EAAEI,EAAM,QAAQ,GAAKJ,EAAO,oBAClE,MAAMQ,GAAOX,EAAe,qBAAsBG,EAAQU,EAAMN,CAAK,GAErED,GAAUH,EAAO,gBAAgB,GAAK,EAAEI,EAAM,QAAQ,GAAKJ,EAAO,oBAClE,MAAMQ,GAAOX,EAAe,qBAAsBG,EAAQU,EAAMN,CAAK,GAErED,GAAUH,EAAO,mBAAmB,GAAOI,EAAM,QAAQ,EAAIJ,EAAO,sBAAwB,IAC5F,MAAMQ,GAAOX,EAAe,wBAAyBG,EAAQU,EAAMN,CAAK,EAEhF,CAlBUL,EAAA4B,GAAA,SAmBV,SAAUC,GAAU5B,EAAQY,EAAYF,EAAMN,EAAO,IACxCZ,GAAQ,YAAYY,CAAK,IAC9B,MAAMI,GAAOX,EAAe,SAAUG,EAAQU,EAAMN,CAAK,EACjE,CAHUL,EAAA6B,GAAA,aAIV,SAAUC,GAAS7B,EAAQY,EAAYF,EAAMN,EAAO,CAChD,GAAI,IAAKZ,GAAQ,WAAWY,CAAK,EAC7B,OAAO,MAAMI,GAAOX,EAAe,QAASG,EAAQU,EAAMN,CAAK,EAC/DD,GAAUH,EAAO,gBAAgB,GAAK,EAAEI,EAAQJ,EAAO,oBACvD,MAAMQ,GAAOX,EAAe,wBAAyBG,EAAQU,EAAMN,CAAK,GAExED,GAAUH,EAAO,gBAAgB,GAAK,EAAEI,EAAQJ,EAAO,oBACvD,MAAMQ,GAAOX,EAAe,wBAAyBG,EAAQU,EAAMN,CAAK,GAExED,GAAUH,EAAO,OAAO,GAAK,EAAEI,GAASJ,EAAO,WAC/C,MAAMQ,GAAOX,EAAe,eAAgBG,EAAQU,EAAMN,CAAK,GAE/DD,GAAUH,EAAO,OAAO,GAAK,EAAEI,GAASJ,EAAO,WAC/C,MAAMQ,GAAOX,EAAe,eAAgBG,EAAQU,EAAMN,CAAK,GAE/DD,GAAUH,EAAO,UAAU,GAAOI,EAAQJ,EAAO,aAAe,IAChE,MAAMQ,GAAOX,EAAe,kBAAmBG,EAAQU,EAAMN,CAAK,EAE1E,CAlBUL,EAAA8B,GAAA,YAmBV,SAAUC,GAAW9B,EAAQY,EAAYF,EAAMN,EAAO,CAClD,QAAW2B,KAAS/B,EAAO,MAAO,CAC9B,IAAMO,EAAOQ,GAAMgB,EAAOnB,EAAYF,EAAMN,CAAK,EAAE,KAAK,EACnDG,EAAK,OACN,MAAMC,GAAOX,EAAe,UAAWG,EAAQU,EAAMN,CAAK,EAC1D,MAAMG,EAAK,MAEnB,CACA,GAAIP,EAAO,wBAA0B,GAAO,CACxC,IAAMgC,EAAW,IAAI,OAAOpC,GAAM,YAAY,eAAeI,CAAM,CAAC,EACpE,QAAWiC,KAAY,OAAO,oBAAoB7B,CAAK,EAC9C4B,EAAS,KAAKC,CAAQ,IACvB,MAAMzB,GAAOX,EAAe,+BAAgCG,EAAQ,GAAGU,CAAI,IAAIuB,CAAQ,GAAI7B,CAAK,EAG5G,CACA,GAAI,OAAOJ,EAAO,uBAA0B,SAAU,CAClD,IAAMgC,EAAW,IAAI,OAAOpC,GAAM,YAAY,eAAeI,CAAM,CAAC,EACpE,QAAWiC,KAAY,OAAO,oBAAoB7B,CAAK,EACnD,GAAI,CAAC4B,EAAS,KAAKC,CAAQ,EAAG,CAC1B,IAAM1B,EAAOQ,GAAMf,EAAO,sBAAuBY,EAAY,GAAGF,CAAI,IAAIuB,CAAQ,GAAI7B,EAAM6B,CAAQ,CAAC,EAAE,KAAK,EACrG1B,EAAK,OACN,MAAMA,EAAK,MACnB,CAER,CACJ,CA1BUR,EAAA+B,GAAA,cA2BV,SAAUI,GAAUlC,EAAQY,EAAYF,EAAMN,EAAO,IACxCZ,GAAQ,YAAYY,CAAK,IAC9B,MAAMI,GAAOX,EAAe,SAAUG,EAAQU,EAAMN,CAAK,EACjE,CAHUL,EAAAmC,GAAA,aAIV,SAAUC,GAASnC,EAAQY,EAAYF,EAAMN,EAAO,CAC1CA,IAAUJ,EAAO,QACnB,MAAMQ,GAAOX,EAAe,QAASG,EAAQU,EAAMN,CAAK,EAChE,CAHUL,EAAAoC,GAAA,YAIV,SAAUC,GAAOpC,EAAQY,EAAYF,EAAMN,EAAO,CAC9C,MAAMI,GAAOX,EAAe,MAAOG,EAAQU,EAAMN,CAAK,CAC1D,CAFUL,EAAAqC,GAAA,UAGV,SAAUC,GAAKrC,EAAQY,EAAYF,EAAMN,EAAO,CACxCW,GAAMf,EAAO,IAAKY,EAAYF,EAAMN,CAAK,EAAE,KAAK,EAAE,OAAS,KAC3D,MAAMI,GAAOX,EAAe,IAAKG,EAAQU,EAAMN,CAAK,EAC5D,CAHUL,EAAAsC,GAAA,QAIV,SAAUC,GAAMtC,EAAQY,EAAYF,EAAMN,EAAO,IACpCZ,GAAQ,QAAQY,CAAK,IAC1B,MAAMI,GAAOX,EAAe,KAAMG,EAAQU,EAAMN,CAAK,EAC7D,CAHUL,EAAAuC,GAAA,SAIV,SAAUC,GAAQvC,EAAQY,EAAYF,EAAMN,EAAO,CAC/C,GAAI,CAACX,GAAS,iBAAiB,aAAaW,CAAK,EAC7C,OAAO,MAAMI,GAAOX,EAAe,OAAQG,EAAQU,EAAMN,CAAK,EAC9DD,GAAUH,EAAO,gBAAgB,GAAK,EAAEI,EAAQJ,EAAO,oBACvD,MAAMQ,GAAOX,EAAe,uBAAwBG,EAAQU,EAAMN,CAAK,GAEvED,GAAUH,EAAO,gBAAgB,GAAK,EAAEI,EAAQJ,EAAO,oBACvD,MAAMQ,GAAOX,EAAe,uBAAwBG,EAAQU,EAAMN,CAAK,GAEvED,GAAUH,EAAO,OAAO,GAAK,EAAEI,GAASJ,EAAO,WAC/C,MAAMQ,GAAOX,EAAe,cAAeG,EAAQU,EAAMN,CAAK,GAE9DD,GAAUH,EAAO,OAAO,GAAK,EAAEI,GAASJ,EAAO,WAC/C,MAAMQ,GAAOX,EAAe,cAAeG,EAAQU,EAAMN,CAAK,GAE9DD,GAAUH,EAAO,UAAU,GAAOI,EAAQJ,EAAO,aAAe,IAChE,MAAMQ,GAAOX,EAAe,iBAAkBG,EAAQU,EAAMN,CAAK,EAEzE,CAlBUL,EAAAwC,GAAA,WAmBV,SAAUC,GAAQxC,EAAQY,EAAYF,EAAMN,EAAO,CAC/C,GAAI,CAACX,GAAS,iBAAiB,aAAaW,CAAK,EAC7C,OAAO,MAAMI,GAAOX,EAAe,OAAQG,EAAQU,EAAMN,CAAK,EAC9DD,GAAUH,EAAO,aAAa,GAAK,EAAE,OAAO,oBAAoBI,CAAK,EAAE,QAAUJ,EAAO,iBACxF,MAAMQ,GAAOX,EAAe,oBAAqBG,EAAQU,EAAMN,CAAK,GAEpED,GAAUH,EAAO,aAAa,GAAK,EAAE,OAAO,oBAAoBI,CAAK,EAAE,QAAUJ,EAAO,iBACxF,MAAMQ,GAAOX,EAAe,oBAAqBG,EAAQU,EAAMN,CAAK,GAExE,IAAMqC,EAAe,MAAM,QAAQzC,EAAO,QAAQ,EAAIA,EAAO,SAAW,CAAC,EACnE0C,EAAY,OAAO,oBAAoB1C,EAAO,UAAU,EACxD2C,EAAc,OAAO,oBAAoBvC,CAAK,EACpD,QAAWwC,KAAeH,EAClBE,EAAY,SAASC,CAAW,IAEpC,MAAMpC,GAAOX,EAAe,uBAAwBG,EAAO,WAAW4C,CAAW,EAAG,GAAGlC,CAAI,IAAIT,GAAU2C,CAAW,CAAC,GAAI,MAAS,GAEtI,GAAI5C,EAAO,uBAAyB,GAChC,QAAWiC,KAAYU,EACdD,EAAU,SAAST,CAAQ,IAC5B,MAAMzB,GAAOX,EAAe,2BAA4BG,EAAQ,GAAGU,CAAI,IAAIT,GAAUgC,CAAQ,CAAC,GAAI7B,EAAM6B,CAAQ,CAAC,GAI7H,GAAI,OAAOjC,EAAO,sBAAyB,SACvC,QAAWiC,KAAYU,EACfD,EAAU,SAAST,CAAQ,IAE/B,MAAOlB,GAAMf,EAAO,qBAAsBY,EAAY,GAAGF,CAAI,IAAIT,GAAUgC,CAAQ,CAAC,GAAI7B,EAAM6B,CAAQ,CAAC,GAG/G,QAAWY,KAAYH,EAAW,CAC9B,IAAMI,EAAW9C,EAAO,WAAW6C,CAAQ,EACvC7C,EAAO,UAAYA,EAAO,SAAS,SAAS6C,CAAQ,GACpD,MAAO9B,GAAM+B,EAAUlC,EAAY,GAAGF,CAAI,IAAIT,GAAU4C,CAAQ,CAAC,GAAIzC,EAAMyC,CAAQ,CAAC,EAChFjD,GAAM,iBAAiB,MAAMI,CAAM,GAAK,EAAE6C,KAAYzC,KACtD,MAAMI,GAAOX,EAAe,uBAAwBiD,EAAU,GAAGpC,CAAI,IAAIT,GAAU4C,CAAQ,CAAC,GAAI,MAAS,IAIzGpD,GAAS,iBAAiB,wBAAwBW,EAAOyC,CAAQ,IACjE,MAAO9B,GAAM+B,EAAUlC,EAAY,GAAGF,CAAI,IAAIT,GAAU4C,CAAQ,CAAC,GAAIzC,EAAMyC,CAAQ,CAAC,EAGhG,CACJ,CA7CU9C,EAAAyC,GAAA,WA8CV,SAAUO,GAAS/C,EAAQY,EAAYF,EAAMN,EAAO,IACvCZ,GAAQ,WAAWY,CAAK,IAC7B,MAAMI,GAAOX,EAAe,QAASG,EAAQU,EAAMN,CAAK,EAChE,CAHUL,EAAAgD,GAAA,YAIV,SAAUC,GAAQhD,EAAQY,EAAYF,EAAMN,EAAO,CAC/C,GAAI,CAACX,GAAS,iBAAiB,aAAaW,CAAK,EAC7C,OAAO,MAAMI,GAAOX,EAAe,OAAQG,EAAQU,EAAMN,CAAK,EAC9DD,GAAUH,EAAO,aAAa,GAAK,EAAE,OAAO,oBAAoBI,CAAK,EAAE,QAAUJ,EAAO,iBACxF,MAAMQ,GAAOX,EAAe,oBAAqBG,EAAQU,EAAMN,CAAK,GAEpED,GAAUH,EAAO,aAAa,GAAK,EAAE,OAAO,oBAAoBI,CAAK,EAAE,QAAUJ,EAAO,iBACxF,MAAMQ,GAAOX,EAAe,oBAAqBG,EAAQU,EAAMN,CAAK,GAExE,GAAM,CAAC6C,EAAYC,CAAa,EAAI,OAAO,QAAQlD,EAAO,iBAAiB,EAAE,CAAC,EACxEmD,EAAQ,IAAI,OAAOF,CAAU,EACnC,OAAW,CAACG,EAAaC,CAAa,IAAK,OAAO,QAAQjD,CAAK,EACvD+C,EAAM,KAAKC,CAAW,IACtB,MAAOrC,GAAMmC,EAAetC,EAAY,GAAGF,CAAI,IAAIT,GAAUmD,CAAW,CAAC,GAAIC,CAAa,GAElG,GAAI,OAAOrD,EAAO,sBAAyB,SACvC,OAAW,CAACoD,EAAaC,CAAa,IAAK,OAAO,QAAQjD,CAAK,EACtD+C,EAAM,KAAKC,CAAW,IACvB,MAAOrC,GAAMf,EAAO,qBAAsBY,EAAY,GAAGF,CAAI,IAAIT,GAAUmD,CAAW,CAAC,GAAIC,CAAa,GAGpH,GAAIrD,EAAO,uBAAyB,IAChC,OAAW,CAACoD,EAAaC,CAAa,IAAK,OAAO,QAAQjD,CAAK,EAC3D,GAAI,CAAA+C,EAAM,KAAKC,CAAW,EAE1B,OAAO,MAAM5C,GAAOX,EAAe,2BAA4BG,EAAQ,GAAGU,CAAI,IAAIT,GAAUmD,CAAW,CAAC,GAAIC,CAAa,EAGrI,CA5BUtD,EAAAiD,GAAA,WA6BV,SAAUM,GAAKtD,EAAQY,EAAYF,EAAMN,EAAO,CAC5C,MAAOW,MAAUrB,GAAQ,OAAOM,EAAQY,CAAU,EAAGA,EAAYF,EAAMN,CAAK,CAChF,CAFUL,EAAAuD,GAAA,QAGV,SAAUC,GAAQvD,EAAQY,EAAYF,EAAMN,EAAO,CAC/C,GAAI,IAAKZ,GAAQ,UAAUY,CAAK,EAC5B,OAAO,MAAMI,GAAOX,EAAe,OAAQG,EAAQU,EAAMN,CAAK,EAC9DD,GAAUH,EAAO,SAAS,GAAK,EAAEI,EAAM,QAAUJ,EAAO,aACxD,MAAMQ,GAAOX,EAAe,gBAAiBG,EAAQU,EAAMN,CAAK,GAEhED,GAAUH,EAAO,SAAS,GAAK,EAAEI,EAAM,QAAUJ,EAAO,aACxD,MAAMQ,GAAOX,EAAe,gBAAiBG,EAAQU,EAAMN,CAAK,MAE5DZ,GAAQ,UAAUQ,EAAO,OAAO,IACtB,IAAI,OAAOA,EAAO,OAAO,EAC5B,KAAKI,CAAK,IACjB,MAAMI,GAAOX,EAAe,cAAeG,EAAQU,EAAMN,CAAK,OAG9DZ,GAAQ,UAAUQ,EAAO,MAAM,IAC9BJ,GAAM,eAAe,IAAII,EAAO,MAAM,EAIxBJ,GAAM,eAAe,IAAII,EAAO,MAAM,EACzCI,CAAK,IACb,MAAMI,GAAOX,EAAe,aAAcG,EAAQU,EAAMN,CAAK,GALjE,MAAMI,GAAOX,EAAe,oBAAqBG,EAAQU,EAAMN,CAAK,EAShF,CA1BUL,EAAAwD,GAAA,WA2BV,SAAUC,GAAQxD,EAAQY,EAAYF,EAAMN,EAAO,IACtCZ,GAAQ,UAAUY,CAAK,IAC5B,MAAMI,GAAOX,EAAe,OAAQG,EAAQU,EAAMN,CAAK,EAC/D,CAHUL,EAAAyD,GAAA,WAIV,SAAUC,GAAiBzD,EAAQY,EAAYF,EAAMN,EAAO,CACxD,GAAI,IAAKZ,GAAQ,UAAUY,CAAK,EAC5B,OAAO,MAAMI,GAAOX,EAAe,OAAQG,EAAQU,EAAMN,CAAK,EACpD,IAAI,OAAOJ,EAAO,OAAO,EAC5B,KAAKI,CAAK,IACjB,MAAMI,GAAOX,EAAe,cAAeG,EAAQU,EAAMN,CAAK,EAEtE,CAPUL,EAAA0D,GAAA,oBAQV,SAAUC,GAAM1D,EAAQY,EAAYF,EAAMN,EAAO,CAC7C,MAAOW,MAAUrB,GAAQ,OAAOM,EAAQY,CAAU,EAAGA,EAAYF,EAAMN,CAAK,CAChF,CAFUL,EAAA2D,GAAA,SAGV,SAAUC,GAAO3D,EAAQY,EAAYF,EAAMN,EAAO,CAC9C,GAAI,IAAKZ,GAAQ,SAASY,CAAK,EAC3B,OAAO,MAAMI,GAAOX,EAAe,MAAOG,EAAQU,EAAMN,CAAK,EACjE,GAAIJ,EAAO,QAAU,QAAeI,EAAM,SAAW,EACjD,OAAO,MAAMI,GAAOX,EAAe,YAAaG,EAAQU,EAAMN,CAAK,EAEvE,GAAMA,EAAM,SAAWJ,EAAO,SAC1B,OAAO,MAAMQ,GAAOX,EAAe,YAAaG,EAAQU,EAAMN,CAAK,EAEvE,GAAKJ,EAAO,MAGZ,QAASc,EAAI,EAAGA,EAAId,EAAO,MAAM,OAAQc,IACrC,MAAOC,GAAMf,EAAO,MAAMc,CAAC,EAAGF,EAAY,GAAGF,CAAI,IAAII,CAAC,GAAIV,EAAMU,CAAC,CAAC,CAE1E,CAfUf,EAAA4D,GAAA,UAgBV,SAAUC,GAAW5D,EAAQY,EAAYF,EAAMN,EAAO,IACzCZ,GAAQ,aAAaY,CAAK,IAC/B,MAAMI,GAAOX,EAAe,UAAWG,EAAQU,EAAMN,CAAK,EAClE,CAHUL,EAAA6D,GAAA,cAIV,SAAUC,GAAO7D,EAAQY,EAAYF,EAAMN,EAAO,CAC9C,IAAI0D,EAAQ,EACZ,QAAWC,KAAa/D,EAAO,MAAO,CAClC,IAAMgE,EAAS,CAAC,GAAGjD,GAAMgD,EAAWnD,EAAYF,EAAMN,CAAK,CAAC,EAC5D,GAAI4D,EAAO,SAAW,EAClB,OACJF,GAASE,EAAO,MACpB,CACIF,EAAQ,IACR,MAAMtD,GAAOX,EAAe,MAAOG,EAAQU,EAAMN,CAAK,EAE9D,CAXUL,EAAA8D,GAAA,UAYV,SAAUI,GAAYjE,EAAQY,EAAYF,EAAMN,EAAO,CACnD,GAAI,IAAKZ,GAAQ,cAAcY,CAAK,EAChC,OAAO,MAAMI,GAAOX,EAAe,WAAYG,EAAQU,EAAMN,CAAK,EAClED,GAAUH,EAAO,aAAa,GAAK,EAAEI,EAAM,QAAUJ,EAAO,iBAC5D,MAAMQ,GAAOX,EAAe,wBAAyBG,EAAQU,EAAMN,CAAK,GAExED,GAAUH,EAAO,aAAa,GAAK,EAAEI,EAAM,QAAUJ,EAAO,iBAC5D,MAAMQ,GAAOX,EAAe,wBAAyBG,EAAQU,EAAMN,CAAK,EAEhF,CATUL,EAAAkE,GAAA,eAUV,SAAUC,GAASlE,EAAQY,EAAYF,EAAMN,EAAO,CAAE,CAA5CL,EAAAmE,GAAA,YACV,SAAUC,GAAMnE,EAAQY,EAAYF,EAAMN,EAAO,CACxCX,GAAS,iBAAiB,WAAWW,CAAK,IAC3C,MAAMI,GAAOX,EAAe,KAAMG,EAAQU,EAAMN,CAAK,EAC7D,CAHUL,EAAAoE,GAAA,SAIV,SAAUC,GAAMpE,EAAQY,EAAYF,EAAMN,EAAO,CAC/BR,GAAM,aAAa,IAAII,EAAOJ,GAAM,IAAI,CAAC,EAC5CI,EAAQI,CAAK,IACpB,MAAMI,GAAOX,EAAe,KAAMG,EAAQU,EAAMN,CAAK,EAC7D,CAJUL,EAAAqE,GAAA,SAKV,SAAUrD,GAAMf,EAAQY,EAAYF,EAAMN,EAAO,CAC7C,IAAMiE,EAAclE,GAAUH,EAAO,GAAG,EAAI,CAAC,GAAGY,EAAYZ,CAAM,EAAIY,EAChE0D,EAAUtE,EAChB,OAAQsE,EAAQ1E,GAAM,IAAI,EAAG,CACzB,IAAK,MACD,OAAO,MAAOe,GAAK2D,EAASD,EAAa3D,EAAMN,CAAK,EACxD,IAAK,QACD,OAAO,MAAOS,GAAOyD,EAASD,EAAa3D,EAAMN,CAAK,EAC1D,IAAK,gBACD,OAAO,MAAOmB,GAAe+C,EAASD,EAAa3D,EAAMN,CAAK,EAClE,IAAK,SACD,OAAO,MAAOoB,GAAQ8C,EAASD,EAAa3D,EAAMN,CAAK,EAC3D,IAAK,UACD,OAAO,MAAOqB,GAAS6C,EAASD,EAAa3D,EAAMN,CAAK,EAC5D,IAAK,cACD,OAAO,MAAOsB,GAAa4C,EAASD,EAAa3D,EAAMN,CAAK,EAChE,IAAK,OACD,OAAO,MAAOuB,GAAM2C,EAASD,EAAa3D,EAAMN,CAAK,EACzD,IAAK,WACD,OAAO,MAAOwB,GAAU0C,EAASD,EAAa3D,EAAMN,CAAK,EAC7D,IAAK,UACD,OAAO,MAAOyB,GAASyC,EAASD,EAAa3D,EAAMN,CAAK,EAC5D,IAAK,YACD,OAAO,MAAO0B,GAAWwC,EAASD,EAAa3D,EAAMN,CAAK,EAC9D,IAAK,WACD,OAAO,MAAO8B,GAAUoC,EAASD,EAAa3D,EAAMN,CAAK,EAC7D,IAAK,UACD,OAAO,MAAO+B,GAASmC,EAASD,EAAa3D,EAAMN,CAAK,EAC5D,IAAK,QACD,OAAO,MAAOgC,GAAOkC,EAASD,EAAa3D,EAAMN,CAAK,EAC1D,IAAK,MACD,OAAO,MAAOiC,GAAKiC,EAASD,EAAa3D,EAAMN,CAAK,EACxD,IAAK,OACD,OAAO,MAAOkC,GAAMgC,EAASD,EAAa3D,EAAMN,CAAK,EACzD,IAAK,SACD,OAAO,MAAOmC,GAAQ+B,EAASD,EAAa3D,EAAMN,CAAK,EAC3D,IAAK,SACD,OAAO,MAAOoC,GAAQ8B,EAASD,EAAa3D,EAAMN,CAAK,EAC3D,IAAK,UACD,OAAO,MAAO2C,GAASuB,EAASD,EAAa3D,EAAMN,CAAK,EAC5D,IAAK,SACD,OAAO,MAAO4C,GAAQsB,EAASD,EAAa3D,EAAMN,CAAK,EAC3D,IAAK,MACD,OAAO,MAAOkD,GAAKgB,EAASD,EAAa3D,EAAMN,CAAK,EACxD,IAAK,SACD,OAAO,MAAOmD,GAAQe,EAASD,EAAa3D,EAAMN,CAAK,EAC3D,IAAK,SACD,OAAO,MAAOoD,GAAQc,EAASD,EAAa3D,EAAMN,CAAK,EAC3D,IAAK,kBACD,OAAO,MAAOqD,GAAiBa,EAASD,EAAa3D,EAAMN,CAAK,EACpE,IAAK,OACD,OAAO,MAAOsD,GAAMY,EAASD,EAAa3D,EAAMN,CAAK,EACzD,IAAK,QACD,OAAO,MAAOuD,GAAOW,EAASD,EAAa3D,EAAMN,CAAK,EAC1D,IAAK,YACD,OAAO,MAAOwD,GAAWU,EAASD,EAAa3D,EAAMN,CAAK,EAC9D,IAAK,QACD,OAAO,MAAOyD,GAAOS,EAASD,EAAa3D,EAAMN,CAAK,EAC1D,IAAK,aACD,OAAO,MAAO6D,GAAYK,EAASD,EAAa3D,EAAMN,CAAK,EAC/D,IAAK,UACD,OAAO,MAAO8D,GAASI,EAASD,EAAa3D,EAAMN,CAAK,EAC5D,IAAK,OACD,OAAO,MAAO+D,GAAMG,EAASD,EAAa3D,EAAMN,CAAK,EACzD,QACI,GAAI,CAACR,GAAM,aAAa,IAAI0E,EAAQ1E,GAAM,IAAI,CAAC,EAC3C,MAAM,IAAIE,GAA4BE,CAAM,EAChD,OAAO,MAAOoE,GAAME,EAASD,EAAa3D,EAAMN,CAAK,CAC7D,CACJ,CArEUL,EAAAgB,GAAA,SAuEV,SAASwD,MAAUC,EAAM,CACrB,IAAMlE,EAAWkE,EAAK,SAAW,EAAIzD,GAAMyD,EAAK,CAAC,EAAGA,EAAK,CAAC,EAAG,GAAIA,EAAK,CAAC,CAAC,EAAIzD,GAAMyD,EAAK,CAAC,EAAG,CAAC,EAAG,GAAIA,EAAK,CAAC,CAAC,EAC1G,OAAO,IAAInE,GAAmBC,CAAQ,CAC1C,CAHSP,EAAAwE,GAAA,UAIThF,GAAQ,OAASgF,KCvkBjB,IAAAE,GAAAC,EAAAC,IAAA,cA4BA,IAAIC,GAAmBD,IAAQA,GAAK,kBAAqB,OAAO,OAAU,SAASE,EAAGC,EAAGC,EAAGC,EAAI,CACxFA,IAAO,SAAWA,EAAKD,GAC3B,IAAIE,EAAO,OAAO,yBAAyBH,EAAGC,CAAC,GAC3C,CAACE,IAAS,QAASA,EAAO,CAACH,EAAE,WAAaG,EAAK,UAAYA,EAAK,iBAClEA,EAAO,CAAE,WAAY,GAAM,IAAK,UAAW,CAAE,OAAOH,EAAEC,CAAC,CAAG,CAAE,GAE9D,OAAO,eAAeF,EAAGG,EAAIC,CAAI,CACrC,EAAM,SAASJ,EAAGC,EAAGC,EAAGC,EAAI,CACpBA,IAAO,SAAWA,EAAKD,GAC3BF,EAAEG,CAAE,EAAIF,EAAEC,CAAC,CACf,GACIG,GAAgBP,IAAQA,GAAK,cAAiB,SAASG,EAAGH,EAAS,CACnE,QAASQ,KAAKL,EAAOK,IAAM,WAAa,CAAC,OAAO,UAAU,eAAe,KAAKR,EAASQ,CAAC,GAAGP,GAAgBD,EAASG,EAAGK,CAAC,CAC5H,EACA,OAAO,eAAeR,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DO,GAAa,KAAqBP,EAAO,IC3CzC,IAAAS,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,QAAUA,GAAQ,OAASA,GAAQ,cAAgBA,GAAQ,mBAAqBA,GAAQ,WAAaA,GAAQ,UAAY,OAKjI,IAAMC,GAAYC,EAAA,CAACC,EAAMC,EAAKC,EAAU,CAAC,IAAM,CAC3C,IAAMC,EAAQ,OAAO,0BAA0BF,CAAG,EAClD,QAASG,KAAQF,EACb,OAAOC,EAAMC,CAAI,EACrB,OAAO,iBAAiBJ,EAAMG,CAAK,CACvC,EALkB,aAMlBN,GAAQ,UAAYC,GAKpB,IAAMO,GAAaN,EAAA,CAACO,EAAKC,EAAe,CAACD,CAAG,IAAM,CAC9C,IAAME,EAAQ,OAAO,eAAeF,CAAG,EACvC,OAAIE,IAAU,KACHD,KACAV,GAAQ,YAAYW,EAAO,CAAC,GAAGD,EAAcC,CAAK,CAAC,CAClE,EALmB,cAMnBX,GAAQ,WAAaQ,GAKrB,IAAMI,GAAqBV,EAAA,IAAIW,IAAS,CACpC,GAAIA,EAAK,SAAW,EAChB,OACJ,IAAIC,EACEC,EAAcF,EAAK,IAAIJ,MAAWT,GAAQ,YAAYS,CAAG,CAAC,EAChE,KAAOM,EAAY,MAAMP,GAAcA,EAAW,OAAS,CAAC,GAAG,CAC3D,IAAMQ,EAASD,EAAY,IAAIP,GAAcA,EAAW,IAAI,CAAC,EACvDS,EAAuBD,EAAO,CAAC,EACrC,GAAIA,EAAO,MAAML,GAASA,IAAUM,CAAoB,EACpDH,EAAcG,MAEd,MACR,CACA,OAAOH,CACX,EAd2B,sBAe3Bd,GAAQ,mBAAqBY,GAU7B,IAAMM,GAAgBhB,EAAA,CAACiB,EAAaC,EAAaf,EAAU,CAAC,IAAM,CAC9D,IAAIgB,EACJ,IAAMC,GAAQD,KAASrB,GAAQ,oBAAoB,GAAGmB,CAAW,KAAO,MAAQE,IAAO,OAASA,EAAK,OAAO,UACtGE,EAAa,OAAO,OAAOD,CAAI,EAI/BE,KAAoBxB,GAAQ,YAAYsB,CAAI,EAClD,QAASG,KAAaN,EAAa,CAC/B,IAAIH,KAAahB,GAAQ,YAAYyB,CAAS,EAE9C,QAASC,EAAIV,EAAO,OAAS,EAAGU,GAAK,EAAGA,IAAK,CACzC,IAAIC,EAAWX,EAAOU,CAAC,EACnBF,EAAc,QAAQG,CAAQ,IAAM,QAChC3B,GAAQ,WAAWuB,EAAYI,EAAU,CAAC,cAAe,GAAGtB,CAAO,CAAC,EACxEmB,EAAc,KAAKG,CAAQ,EAEnC,CACJ,CACA,OAAAJ,EAAW,YAAcH,EAClBG,CACX,EArBsB,iBAsBtBvB,GAAQ,cAAgBkB,GACxB,IAAMU,GAAS1B,EAAC2B,GAAQA,EAAI,OAAO,CAACC,EAAGJ,IAAMG,EAAI,QAAQC,CAAC,GAAKJ,CAAC,EAAjD,UACf1B,GAAQ,OAAS4B,GACjB,IAAMG,GAAU7B,EAAC2B,GAAQA,EAAI,SAAW,EAClC,CAAC,EACDA,EAAI,SAAW,EACXA,EAAI,CAAC,EACLA,EAAI,OAAO,CAACG,EAAIC,IAAO,CAAC,GAAGD,EAAI,GAAGC,CAAE,CAAC,EAJ/B,WAKhBjC,GAAQ,QAAU+B,KCpFlB,IAAAG,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,cAAgBA,GAAQ,SAAWA,GAAQ,sBAAwB,OAC3E,IAAMC,GAAS,KAKTC,GAAwBC,EAAA,CAACC,EAAMC,IAAgB,CACjD,IAAMC,EAAcD,EAAY,IAAIE,MAAkBN,GAAO,YAAYM,CAAU,CAAC,EAEhFC,EAAa,EAGbC,EAAwB,GAC5B,KAAOA,GAAuB,CAE1BA,EAAwB,GAExB,QAASC,EAAIL,EAAY,OAAS,EAAGK,GAAK,EAAGA,IAAK,CAC9C,IAAMC,EAAeL,EAAYI,CAAC,EAAEF,CAAU,EAC9C,GAAkCG,GAAiB,OAE/CF,EAAwB,GAEpB,OAAO,yBAAyBE,EAAcP,CAAI,GAAK,MACvD,OAAOE,EAAYI,CAAC,EAAE,CAAC,CAGnC,CACAF,GACJ,CAEJ,EAzB8B,yBA0B9BR,GAAQ,sBAAwBE,GAKhC,IAAMU,GAAWT,EAAA,CAACE,EAAaQ,EAAY,OAAO,YAAc,IAAI,MAAM,CAAC,EAAG,CAC1E,gBAAiB,CACb,OAAOA,CACX,EACA,gBAAiB,CACb,MAAM,MAAM,qDAAqD,CACrE,EACA,yBAAyBC,EAAGV,EAAM,CAC9B,OAAO,OAAO,4BAA6BJ,GAAQ,uBAAuBI,EAAMC,CAAW,GAAK,CAAC,EAAGD,CAAI,CAC5G,EACA,gBAAiB,CACb,MAAM,IAAI,MAAM,6DAA6D,CACjF,EACA,IAAIU,EAAGV,EAAM,CACT,SAAWJ,GAAQ,uBAAuBI,EAAMC,CAAW,IAAM,QAAaQ,EAAUT,CAAI,IAAM,MACtG,EACA,IAAIU,EAAGV,EAAM,CACT,UAAYJ,GAAQ,uBAAuBI,EAAMC,CAAW,GAAKQ,GAAWT,CAAI,CACpF,EACA,IAAIU,EAAGV,EAAMW,EAAK,CACd,IAAMC,KAAyBhB,GAAQ,uBAAuBI,EAAMC,CAAW,EAC/E,GAAIW,IAAuB,OACvB,MAAM,IAAI,MAAM,0DAA0D,EAC9E,OAAAA,EAAmBZ,CAAI,EAAIW,EACpB,EACX,EACA,gBAAiB,CACb,MAAM,IAAI,MAAM,yDAAyD,CAC7E,EACA,SAAU,CACN,OAAOV,EACF,IAAI,OAAO,mBAAmB,EAC9B,OAAO,CAACY,EAAMC,IAASA,EAAK,OAAOD,EAAK,OAAOE,GAAOD,EAAK,QAAQC,CAAG,EAAI,CAAC,CAAC,CAAC,CACtF,CACJ,CAAC,EAlCgB,YAmCjBnB,GAAQ,SAAWY,GAMnB,IAAMQ,GAAgBjB,EAAA,CAACE,EAAagB,OAAoBrB,GAAQ,UAAU,CAAC,GAAGK,EAAa,CAAE,YAAAgB,CAAY,CAAC,CAAC,EAArF,iBACtBrB,GAAQ,cAAgBoB,KCjFxB,IAAAE,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,SAAW,OACnBA,GAAQ,SAAW,CACf,aAAc,KACd,gBAAiB,OACjB,kBAAmB,OACnB,qBAAsB,MAC1B,ICRA,IAAAC,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,SAAWA,GAAQ,eAAiBA,GAAQ,kBAAoB,OACxE,IAAMC,GAAS,KAETC,GAAS,IAAI,QACbC,GAAoBC,EAACC,GAAUH,GAAO,IAAIG,CAAK,EAA3B,qBAC1BL,GAAQ,kBAAoBG,GAC5B,IAAMG,GAAiBF,EAAA,CAACG,EAAYC,IAAiBN,GAAO,IAAIK,EAAYC,CAAY,EAAjE,kBACvBR,GAAQ,eAAiBM,GACzB,IAAMG,GAAWL,EAAA,CAACM,EAAUC,IAAU,CAClC,GAAID,aAAoBC,EACpB,MAAO,GACX,IAAMC,EAAcF,EAAS,YACvBG,EAAU,IAAI,IAChBC,EAAW,IAAI,IAEnB,IADAA,EAAS,IAAIF,CAAW,EACjBE,EAAS,KAAO,GAAG,CAEtB,GAAIA,EAAS,IAAIH,CAAK,EAClB,MAAO,GACXG,EAAS,QAASC,GAASF,EAAQ,IAAIE,CAAI,CAAC,EAE5C,IAAMC,EAAc,IAAI,IACxBF,EAAS,QAASC,GAAS,CACvB,IAAIE,EACJ,IAAMC,GAAoBD,EAAKf,GAAO,IAAIa,CAAI,KAAO,MAAQE,IAAO,OAASA,KAAShB,GAAO,YAAYc,EAAK,SAAS,EAClH,IAAKI,GAAUA,EAAM,WAAW,EAChC,OAAQJ,GAASA,IAAS,IAAI,EAC/BG,GACAA,EAAiB,QAASE,GAAgB,CAClC,CAACP,EAAQ,IAAIO,CAAW,GAAK,CAACN,EAAS,IAAIM,CAAW,GACtDJ,EAAY,IAAII,CAAW,CACnC,CAAC,CACT,CAAC,EAEDN,EAAWE,CACf,CAEA,MAAO,EACX,EA9BiB,YA+BjBhB,GAAQ,SAAWS,KCzCnB,IAAAY,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,SAAWA,GAAQ,sBAAwBA,GAAQ,sBAAwBA,GAAQ,oBAAsB,OACjH,IAAMC,GAAS,KACTC,GAAmB,KACnBC,GAA2BC,EAAA,CAACC,EAAIC,IAAO,CACzC,IAAIC,EAAIC,EACR,IAAMC,KAAcR,GAAO,QAAQ,CAAC,GAAG,OAAO,oBAAoBI,CAAE,EAAG,GAAG,OAAO,oBAAoBC,CAAE,CAAC,CAAC,EACnGI,EAAe,CAAC,EACtB,QAASC,KAAOF,EACZC,EAAaC,CAAG,KAAQV,GAAO,QAAQ,CAAC,IAAKM,EAA6CF,IAAGM,CAAG,KAAO,MAAQJ,IAAO,OAASA,EAAK,CAAC,EAAI,IAAKC,EAA6CF,IAAGK,CAAG,KAAO,MAAQH,IAAO,OAASA,EAAK,CAAC,CAAE,CAAC,EAC7O,OAAOE,CACX,EAPiC,4BAQ3BE,GAAmCR,EAAA,CAACS,EAAIC,IAAO,CACjD,IAAIP,EAAIC,EAAIO,EAAIC,EAChB,MAAQ,CACJ,SAAUb,IAA0BI,EAA6CM,GAAG,YAAc,MAAQN,IAAO,OAASA,EAAK,CAAC,GAAIC,EAA6CM,GAAG,YAAc,MAAQN,IAAO,OAASA,EAAK,CAAC,CAAC,EACjO,OAAQL,IAA0BY,EAA6CF,GAAG,UAAY,MAAQE,IAAO,OAASA,EAAK,CAAC,GAAIC,EAA6CF,GAAG,UAAY,MAAQE,IAAO,OAASA,EAAK,CAAC,CAAC,CAC/N,CACJ,EANyC,oCAOnCC,GAAkBb,EAAA,CAACS,EAAIC,IAAO,CAChC,IAAIP,EAAIC,EAAIO,EAAIC,EAAIE,EAAIC,EACxB,MAAQ,CACJ,SAAWlB,GAAO,QAAQ,CAAC,IAAIM,EAA6CM,GAAG,SAAW,MAAQN,IAAO,OAASA,EAAK,CAAC,EAAG,IAAIC,EAA6CM,GAAG,SAAW,MAAQN,IAAO,OAASA,EAAK,CAAC,CAAC,CAAC,EAC1N,OAAQI,IAAkCG,EAA6CF,GAAG,UAAY,MAAQE,IAAO,OAASA,EAAK,CAAC,GAAIC,EAA6CF,GAAG,UAAY,MAAQE,IAAO,OAASA,EAAK,CAAC,CAAC,EACnO,SAAUJ,IAAkCM,EAA6CL,GAAG,YAAc,MAAQK,IAAO,OAASA,EAAK,CAAC,GAAIC,EAA6CL,GAAG,YAAc,MAAQK,IAAO,OAASA,EAAK,CAAC,CAAC,CAC7O,CACJ,EAPwB,mBAQlBC,GAAa,IAAI,IACjBC,GAA4BjB,EAAA,IAAIkB,IAAY,CAC9C,IAAIf,EACJ,IAAMgB,EAAa,IAAI,IACjBC,EAAW,IAAI,IAAI,CAAC,GAAGF,CAAO,CAAC,EACrC,KAAOE,EAAS,KAAO,GACnB,QAASC,KAASD,EAAU,CACxB,IAAME,KAAwBzB,GAAO,YAAYwB,EAAM,SAAS,EAAE,IAAIE,GAASA,EAAM,WAAW,EAC1FC,GAAgBrB,KAASL,GAAiB,mBAAmBuB,CAAK,KAAO,MAAQlB,IAAO,OAASA,EAAK,CAAC,EAEvGsB,EADwB,CAAC,GAAGH,EAAmB,GAAGE,CAAY,EAC3B,OAAOE,GAAK,CAACP,EAAW,IAAIO,CAAC,CAAC,EACvE,QAASC,KAAYF,EACjBL,EAAS,IAAIO,CAAQ,EACzBR,EAAW,IAAIE,CAAK,EACpBD,EAAS,OAAOC,CAAK,CACzB,CAEJ,MAAO,CAAC,GAAGF,CAAU,CACzB,EAjBkC,6BAkB5BS,GAAsB5B,EAAA,IAAIkB,IAAY,CACxC,IAAMW,EAA0BZ,GAA0B,GAAGC,CAAO,EAC/D,IAAIG,GAASL,GAAW,IAAIK,CAAK,CAAC,EAClC,OAAOL,GAAc,CAAC,CAACA,CAAU,EACtC,OAAIa,EAAwB,QAAU,EAC3B,CAAC,EACRA,EAAwB,QAAU,EAC3BA,EAAwB,CAAC,EAC7BA,EAAwB,OAAO,CAACpB,EAAIC,IAAOG,GAAgBJ,EAAIC,CAAE,CAAC,CAC7E,EAT4B,uBAU5Bd,GAAQ,oBAAsBgC,GAC9B,IAAME,GAAwB9B,EAAA,IAAIkB,IAAY,CAC1C,IAAMa,EAAkBb,EAAQ,IAAIG,MAAazB,GAAQ,uBAAuByB,CAAK,CAAC,EACtF,OAAIU,EAAgB,SAAW,EACpB,CAAC,EACRA,EAAgB,SAAW,EACpBA,EAAgB,CAAC,EACrBA,EAAgB,OAAO,CAACtB,EAAIC,IAAOG,GAAgBJ,EAAIC,CAAE,CAAC,CACrE,EAP8B,yBAQ9Bd,GAAQ,sBAAwBkC,GAChC,IAAME,GAAwBhC,EAACqB,GAAU,CACrC,IAAIY,EAAqBjB,GAAW,IAAIK,CAAK,EAC7C,OAAKY,IACDA,EAAqB,CAAC,EACtBjB,GAAW,IAAIK,EAAOY,CAAkB,GAErCA,CACX,EAP8B,yBAQ9BrC,GAAQ,sBAAwBoC,GAChC,IAAME,GAAgBlC,EAACmC,GAAgBd,GAAU,CAC7C,IAAMY,KAAyBrC,GAAQ,uBAAuByB,CAAK,EAC/DU,EAAkBE,EAAmB,MACzC,OAAKF,IACDA,EAAkB,CAAC,EACnBE,EAAmB,MAAQF,GAE/BA,EAAgB,KAAKI,CAAS,EACvBA,EAAUd,CAAK,CAC1B,EATsB,iBAUhBe,GAAiBpC,EAACmC,GAAe,CAACE,EAAQ9B,KAAQ+B,IAAc,CAClE,IAAInC,EAAIC,EAAIO,EACZ,IAAM4B,EAAsB,OAAOF,GAAW,WAAa,SAAW,WAChEG,EAAgB,OAAOH,EAAO9B,CAAG,GAAM,WAAa,SAAW,WAC/Dc,EAAQkB,IAAwB,SAAWF,EAASA,EAAO,YAC3DJ,KAAyBrC,GAAQ,uBAAuByB,CAAK,EAC7DoB,GAA2BtC,EAA6E8B,IAAmBM,CAAmB,KAAO,MAAQpC,IAAO,OAASA,EAAK,CAAC,EACzL8B,EAAmBM,CAAmB,EAAIE,EAC1C,IAAIC,GAAqBtC,EAAuFqC,IAAwBD,CAAa,KAAO,MAAQpC,IAAO,OAASA,EAAK,CAAC,EAC1LqC,EAAwBD,CAAa,EAAIE,EACzC,IAAIC,GAAoBhC,EAA2E+B,IAAkBnC,CAAG,KAAO,MAAQI,IAAO,OAASA,EAAK,CAAC,EAC7J,OAAA+B,EAAkBnC,CAAG,EAAIoC,EAEzBA,EAAiB,KAAKR,CAAS,EAExBA,EAAUE,EAAQ9B,EAAK,GAAG+B,CAAS,CAC9C,EAhBuB,kBAiBjBM,GAAW5C,EAACmC,GAAe,IAAIU,IAC7BA,EAAK,SAAW,EACTX,GAAcC,CAAS,EAAEU,EAAK,CAAC,CAAC,EACpCT,GAAeD,CAAS,EAAE,GAAGU,CAAI,EAH3B,YAKjBjD,GAAQ,SAAWgD,KC5GnB,IAAAE,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,IAAMA,GAAQ,MAAQ,OAC9B,IAAMC,GAAU,KACVC,GAAa,KACbC,GAAS,KACTC,GAAc,KACdC,GAAmB,KACzB,SAASC,MAASC,EAAc,CAC5B,IAAIC,EAAIC,EAAIC,EACZ,IAAMC,EAAaJ,EAAa,IAAIK,GAAeA,EAAY,SAAS,EAIlEC,EAAmBX,GAAW,SAAS,aAC7C,GAAIW,IAAqB,KAAM,CAC3B,IAAMC,EAAgBH,EACjB,IAAII,GAASA,EAAMF,CAAgB,CAAC,EACpC,OAAOG,GAAQ,OAAOA,GAAS,UAAU,EACxCC,EAAuBC,EAAA,YAAaC,EAAM,CAC5C,QAASC,KAAgBN,EACrBM,EAAa,MAAM,KAAMD,CAAI,CACrC,EAH6B,wBAIvBE,EAAa,CAAE,CAACR,CAAgB,EAAGI,CAAqB,EAC9DN,EAAW,KAAKU,CAAU,CAC9B,CACA,SAASC,KAAcH,EAAM,CACzB,QAAWP,KAAeL,KAElBJ,GAAO,WAAW,KAAM,IAAIS,EAAY,GAAGO,CAAI,CAAC,EACpDN,IAAqB,MAAQ,OAAO,KAAKA,CAAgB,GAAM,YAC/D,KAAKA,CAAgB,EAAE,MAAM,KAAMM,CAAI,CAC/C,CANSD,EAAAI,EAAA,cAOTA,EAAW,UAAYpB,GAAW,SAAS,oBAAsB,UACvDC,GAAO,eAAeQ,EAAYW,CAAU,KAC5CrB,GAAQ,eAAeU,EAAYW,CAAU,EACvD,OAAO,eAAeA,EAAYpB,GAAW,SAAS,kBAAoB,UAChEC,GAAO,eAAeI,EAAc,KAAM,CAAC,WAAW,CAAC,KACvDN,GAAQ,UAAUM,EAAc,SAAS,SAAS,CAAC,EAC7D,IAAIgB,EAAsBD,EAC1B,GAAIpB,GAAW,SAAS,uBAAyB,OAAQ,CACrD,IAAMsB,EAAkBtB,GAAW,SAAS,uBAAyB,UAC3DE,GAAY,qBAAqB,GAAGG,CAAY,KAChDH,GAAY,uBAAuB,GAAGG,CAAY,EAC5D,QAASkB,KAAcjB,EAAuEgB,GAAgB,SAAW,MAAQhB,IAAO,OAASA,EAAK,CAAC,EAAG,CACtJ,IAAMkB,EAASD,EAAUF,CAAmB,EACxCG,IACAH,EAAsBG,EAE9B,CACAC,IAA8BlB,EAAuEe,GAAgB,UAAY,MAAQf,IAAO,OAASA,EAAK,CAAC,EAAGc,CAAmB,EACrLI,IAA8BjB,EAAuEc,GAAgB,YAAc,MAAQd,IAAO,OAASA,EAAK,CAAC,EAAGa,EAAoB,SAAS,CACrM,CACA,SAAIlB,GAAiB,gBAAgBkB,EAAqBhB,CAAY,EAC/DgB,CACX,CA/CSL,EAAAZ,GAAA,SAgDTN,GAAQ,MAAQM,GAChB,IAAMqB,GAA+BT,EAAA,CAACU,EAAyBC,IAAW,CACtE,IAAMC,EAAiBF,EAAwB,SACzCG,EAAmBH,EAAwB,OACjD,GAAIE,EACA,QAASE,KAAOF,EACZ,QAASL,KAAaK,EAAeE,CAAG,EACpCP,EAAUI,EAAQG,CAAG,EACjC,GAAID,EACA,QAASC,KAAOD,EACZ,QAASN,KAAaM,EAAiBC,CAAG,EACtCP,EAAUI,EAAQG,EAAK,OAAO,yBAAyBH,EAAQG,CAAG,CAAC,CACnF,EAXqC,gCAe/BC,GAAMf,EAAA,IAAIgB,IAAgBC,GAAkB,CAE9C,IAAMC,EAAa9B,GAAM,GAAG4B,EAAY,OAAO,CAACC,CAAc,CAAC,CAAC,EAChE,cAAO,eAAeC,EAAY,OAAQ,CACtC,MAAOD,EAAe,KACtB,SAAU,EACd,CAAC,EACMC,CACX,EARY,OASZpC,GAAQ,IAAMiC,KCjFd,IAAAI,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,SAAWA,GAAQ,SAAWA,GAAQ,SAAWA,GAAQ,IAAMA,GAAQ,MAAQ,OACvF,IAAIC,GAAW,KACf,OAAO,eAAeD,GAAS,QAAS,CAAE,WAAY,GAAM,IAAK,UAAY,CAAE,OAAOC,GAAS,KAAO,CAAE,CAAC,EACzG,OAAO,eAAeD,GAAS,MAAO,CAAE,WAAY,GAAM,IAAK,UAAY,CAAE,OAAOC,GAAS,GAAK,CAAE,CAAC,EACrG,IAAIC,GAAa,KACjB,OAAO,eAAeF,GAAS,WAAY,CAAE,WAAY,GAAM,IAAK,UAAY,CAAE,OAAOE,GAAW,QAAU,CAAE,CAAC,EACjH,IAAIC,GAAc,KAClB,OAAO,eAAeH,GAAS,WAAY,CAAE,WAAY,GAAM,IAAK,UAAY,CAAE,OAAOG,GAAY,QAAU,CAAE,CAAC,EAClH,IAAIC,GAAmB,KACvB,OAAO,eAAeJ,GAAS,WAAY,CAAE,WAAY,GAAM,IAAK,UAAY,CAAE,OAAOI,GAAiB,QAAU,CAAE,CAAC,8GCXvH,IAAAC,GAAA,KAOAA,GAAA,aAAa,IAAI,cAAe,CAACC,EAAiBC,IAAmBA,aAAiB,WAAW,EAEjG,IAAaC,GAAb,cAAwCH,GAAA,qBAAqB,OAAA,CAAAI,EAAA,2BACzD,YAAYC,EAAiB,CACzB,OAAO,KAAK,OAAM,OAAA,OAAA,OAAA,OAAA,CAAA,EAAMA,CAAO,EAAA,CAAE,CAACL,GAAA,IAAI,EAAG,cAAe,KAAM,aAAa,CAAA,CAAA,CAC/E,GAHJM,GAAA,mBAAAH,0GCTA,IAAAI,GAAA,KAOAA,GAAA,aAAa,IAAI,SAAU,CAACC,EAAYC,IAAmBA,aAAiB,MAAM,EAElF,IAAaC,GAAb,cAAmCH,GAAA,qBAAqB,OAAA,CAAAI,EAAA,sBACpD,OAAOC,EAAiB,CACpB,OAAO,KAAK,OAAM,OAAA,OAAA,OAAA,OAAA,CAAA,EAAMA,CAAO,EAAA,CAAE,CAACL,GAAA,IAAI,EAAG,SAAU,KAAM,QAAQ,CAAA,CAAA,CACrE,GAHJM,GAAA,cAAAH,6GCTA,IAAAI,GAAA,KAwCaC,GAAb,cAAsCD,GAAA,qBAAqB,OAAA,CAAAE,EAAA,yBACvD,UACIC,EACAC,EAAuB,CAEvB,IAAMC,EAAO,OAAO,KAAKF,CAAM,EAAE,IAAIG,GAAO,KAAK,QAAQA,CAAG,CAAC,EAE7D,OAAO,KAAK,MAAMD,EAAI,OAAA,OAAA,OAAA,OAAA,CAAA,EAAOD,CAAO,EAAA,CAAE,CAACJ,GAAA,IAAI,EAAG,WAAW,CAAA,CAAA,CAC7D,CAEA,KACIG,EACAC,EAAuB,CAEvB,IAAMG,EAAQ,OAAO,QAAQJ,CAAM,EAC9B,OAAO,CAAC,CAACG,EAAKE,CAAM,IAAM,OAAOF,GAAQ,UAAY,CAAC,MAAMA,CAAG,CAAC,EAChE,IAAI,CAAC,CAACA,EAAKG,CAAK,IAAM,KAAK,QAAQA,EAAO,CAAE,IAAKH,CAAG,CAAE,CAAC,EAE5D,OAAO,KAAK,MAAMC,EAAK,OAAA,OAAA,OAAA,OAAA,CAAA,EAAOH,CAAO,EAAA,CAAE,CAACJ,GAAA,IAAI,EAAG,MAAM,CAAA,CAAA,CACzD,GAnBJU,GAAA,iBAAAT,wGCxCA,IAAAU,GAAA,KAUAA,GAAA,aAAa,IAAI,OAAQ,CAACC,EAAeC,IACjC,SAAOA,GAAU,UAAY,OAAOA,GAAU,UAI7C,OAAOA,GAAU,UAAY,CAAC,OAAO,cAAcA,CAAK,GACzD,CAAC,oBAAoB,KAAKA,EAAM,SAAQ,EAAG,QAAQ,KAAMD,EAAO,cAAgB,GAAK,GAAG,CAAC,EAMhG,EAED,IAAaE,GAAb,cAAiCH,GAAA,qBAAqB,OAAA,CAAAI,EAAA,oBAClD,KAAKC,EAAsB,CACvB,OAAO,KAAK,OAAM,OAAA,OAAA,OAAA,OAAA,CAAA,EAAMA,CAAO,EAAA,CAAE,CAACL,GAAA,IAAI,EAAG,OAAQ,KAAM,MAAM,CAAA,CAAA,CACjE,GAHJM,GAAA,YAAAH,mKCxBA,IAAAI,GAAA,KAAS,OAAA,eAAAC,GAAA,qBAAA,CAAA,WAAA,GAAA,IAAA,UAAA,CAAA,OAAAD,GAAA,kBAAkB,CAAA,CAAA,EAC3B,IAAAE,GAAA,KAAS,OAAA,eAAAD,GAAA,gBAAA,CAAA,WAAA,GAAA,IAAA,UAAA,CAAA,OAAAC,GAAA,aAAa,CAAA,CAAA,EACtB,IAAAC,GAAA,KAAS,OAAA,eAAAF,GAAA,mBAAA,CAAA,WAAA,GAAA,IAAA,UAAA,CAAA,OAAAE,GAAA,gBAAgB,CAAA,CAAA,EACzB,IAAAC,GAAA,KAAS,OAAA,eAAAH,GAAA,cAAA,CAAA,WAAA,GAAA,IAAA,UAAA,CAAA,OAAAG,GAAA,WAAW,CAAA,CAAA,4GCDpB,IAAaC,GAAb,cAAsC,KAAK,OAAA,CAAAC,EAAA,yBAIvC,YAAYC,EAAgBC,EAAeC,EAAsBC,EAAW,CACxE,IAAIC,EAAU,oBACdA,GAAW,KAAKH,EAAM,UAAU,CAAC,CAAC,IAClCG,GAAW,OAAO,KAAK,UAAUD,CAAK,CAAC,IACvCC,GAAW,KAAKJ,EAAO,QAAQ,KAAM,GAAG,CAAC,GACzC,MAAMI,CAAO,EACb,KAAK,KAAO,mBACZ,KAAK,MAAQH,EACb,KAAK,KAAOC,CAChB,GAbJG,GAAA,iBAAAP,yHCKA,SAAgBQ,GAAaC,EAAU,CAACC,EAAM,GAAGC,CAAI,EAAaC,EAAU,CACnED,EAAK,QAGAD,KAAQD,IAAMA,EAAIC,CAAI,EAAI,CAAA,GAChCF,GAAaC,EAAIC,CAAI,EAAGC,EAAMC,CAAK,GAHnCH,EAAIC,CAAI,EAAIE,CAKpB,CAPgBC,EAAAL,GAAA,gBAAhBM,GAAA,aAAAN,GAeA,SAAgBO,GAAaN,EAAU,CAACC,EAAM,GAAGC,CAAI,EAAsB,CACvE,OAAKA,EAAK,OAGAD,KAAQD,EAEPM,GAAaN,EAAIC,CAAI,EAAGC,CAAI,EAFf,OAFbF,EAAIC,CAAI,CAMvB,CARgBG,EAAAE,GAAA,gBAAhBD,GAAA,aAAAC,8JCrBA,IAAAC,GAAA,KAwHS,OAAA,eAAAC,GAAA,WAAA,CAAA,WAAA,GAAA,IAAA,UAAA,CAAA,OAnHLD,GAAA,QAAQ,CAAA,CAAA,EAmHO,OAAA,eAAAC,GAAA,YAAA,CAAA,WAAA,GAAA,IAAA,UAAA,CAAA,OAjHfD,GAAA,SAAS,CAAA,CAAA,EAEb,IAAAE,GAAA,KACAC,GAAA,KAEAC,GAAA,KACAC,GAAA,KACAC,GAAA,KAEMC,GAAN,gBAAgCJ,GAAA,OAC5BH,GAAA,sBACAI,GAAA,mBACAA,GAAA,cACAA,GAAA,iBACAA,GAAA,WAAW,CACd,OAAA,CAAAI,EAAA,4BAED,SAAgBC,GAA4BC,EAAWC,EAAc,CACjE,GAAI,CACA,OAAAC,GAAOF,EAAQC,CAAK,EAEb,EACX,MAAY,CACR,MAAO,EACX,CACJ,CARgBH,EAAAC,GAAA,YAAhBR,GAAA,SAAAQ,GAUA,SAASI,GAAiBC,EAAiB,CACvC,IAAMC,EAAoBD,EAAM,MAC1BE,EAA0BF,EAAM,OAAO,MAE7C,GAAI,CADmBE,EAAa,KAAKC,GAAeR,GAASQ,EAAaF,CAAY,CAAC,EACtE,CAEjB,IAAMG,EAA4BF,EAAa,OAAOC,GAC9CA,EAAYjB,GAAA,IAAI,IAAM,SAAiB,GAEpC,CAAC,OAAO,QAAQiB,EAAY,UAAmC,EAAE,KACpE,CAAC,CAACE,EAAUC,CAAc,IACtBA,EAAe,OAASA,EAAe,QAAUL,EAAaI,CAAQ,CAAC,CAElF,EACD,GAAID,EAA0B,SAAW,EAErCN,GAAOM,EAA0B,CAAC,EAAGH,CAAY,UAC1CG,EAA0B,OAAS,EAAG,CAQ7C,IAAMG,EAN0BH,EAA0B,IACrDI,IAA0B,CACvB,OAAQA,EACR,OAAQ,CAAC,MAAGpB,GAAA,QAAOoB,EAAaP,CAAY,CAAC,GAC/C,EAEuC,KACzC,CAACQ,EAAGC,IAAMD,EAAE,OAAO,OAASC,EAAE,OAAO,MAAM,EAEzC,CAACC,CAAS,EAAIJ,EACpBT,GAAOa,EAAU,OAAQV,CAAY,CACzC,CAEA,MAAM,IAAIV,GAAA,iBAAiBS,EAAM,QAASA,EAAM,KAAMA,EAAM,KAAMA,EAAM,KAAK,CACjF,CACJ,CAlCSN,EAAAK,GAAA,oBAoCT,SAAgBD,GAA0BF,EAAWC,EAAc,CAC/D,IAAMe,EAAS,CAAC,MAAGxB,GAAA,QAAOQ,EAAQC,CAAK,CAAC,EACpC,CAACG,CAAK,EAAIY,EACd,KAAOZ,GAAO,CACV,GAAI,EAAAA,EAAM,OAAS,KAAOY,EAAO,OAAS,IAEnC,GAAI,EAAAZ,EAAM,OAAS,MAAQA,EAAM,OAAOd,GAAA,QAAQ,IAAM,YAEtD,GAAIc,EAAM,OAASZ,GAAA,eAAe,MAErCW,GAAiBC,CAAK,UACfA,EAAM,OAASZ,GAAA,eAAe,QAAU,OAAOY,EAAM,OAAU,SAAU,CAEhF,IAAMC,EAAeD,EAAM,MACrBa,EAAe,OAAOZ,CAAY,EACxC,GAAI,CAAC,OAAO,MAAMY,CAAY,GAAKZ,IAAiBY,EAAa,SAAQ,EAAI,CAEzE,IAAMC,EAAYd,EAAM,KAAK,MAAM,CAAC,EAAE,MAAM,GAAG,KAC/CR,GAAA,cAAaK,EAAOiB,EAAWD,CAAY,CAC/C,KACI,OAAM,IAAItB,GAAA,iBAAiBS,EAAM,QAASA,EAAM,KAAMA,EAAM,KAAMA,EAAM,KAAK,CAErF,KACI,OAAM,IAAIT,GAAA,iBAAiBS,EAAM,QAASA,EAAM,KAAMA,EAAM,KAAMA,EAAM,KAAK,EAEjFY,EAAO,MAAK,EACZ,CAACZ,CAAK,EAAIY,CACd,CACJ,CA5BgBlB,EAAAI,GAAA,UAAhBX,GAAA,OAAAW,GA8BA,SAAgBiB,GACZnB,EACAC,EAAc,CAEd,GAAI,CACAC,GAAOF,EAAQC,CAAK,CACxB,OAASmB,EAAG,CACR,GAAIA,aAAazB,GAAA,iBAAkB,CAC/B,GAAIyB,EAAE,OAAS5B,GAAA,eAAe,uBAE1B,MAAM4B,EAEV,QAAQ,KAAK,kCAAmCA,CAAC,CACrD,KACI,OAAMA,CAEd,CACJ,CAjBgBtB,EAAAqB,GAAA,cAAhB5B,GAAA,WAAA4B,GAmBa5B,GAAA,KAAO,IAAIM,KCxHxB,IAAAwB,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,cAAgBA,GAAQ,UAAYA,GAAQ,WAAaA,GAAQ,OAASA,GAAQ,aAAeA,GAAQ,SAAW,OAC5H,IAAMC,GAAiB,KACnBC,IACH,SAAUA,EAAU,CACjBA,EAASA,EAAS,QAAa,GAAG,EAAI,UACtCA,EAASA,EAAS,QAAa,GAAG,EAAI,UACtCA,EAASA,EAAS,MAAW,EAAE,EAAI,OACvC,GAAGA,KAAaF,GAAQ,SAAWE,GAAW,CAAC,EAAE,EACjDF,GAAQ,aAAeC,GAAe,KAAK,KAAKC,EAAQ,EACxD,IAAIC,IACH,SAAUA,EAAQ,CACfA,EAAOA,EAAO,SAAc,GAAG,EAAI,WACnCA,EAAOA,EAAO,UAAe,GAAG,EAAI,YACpCA,EAAOA,EAAO,oBAAyB,IAAI,EAAI,sBAC/CA,EAAOA,EAAO,uBAA4B,IAAI,EAAI,yBAClDA,EAAOA,EAAO,mBAAwB,IAAI,EAAI,qBAC9CA,EAAOA,EAAO,SAAc,IAAI,EAAI,WACpCA,EAAOA,EAAO,oBAAyB,IAAI,EAAI,sBAC/CA,EAAOA,EAAO,gBAAqB,KAAK,EAAI,kBAC5CA,EAAOA,EAAO,cAAmB,KAAK,EAAI,eAC9C,GAAGA,KAAWH,GAAQ,OAASG,GAAS,CAAC,EAAE,EAC3CH,GAAQ,WAAaC,GAAe,KAAK,KAAKE,EAAM,EACpD,IAAIC,IACH,SAAUA,EAAW,CAClBA,EAAUA,EAAU,QAAa,UAAU,EAAI,UAC/CA,EAAUA,EAAU,QAAa,WAAW,EAAI,UAChDA,EAAUA,EAAU,MAAW,UAAU,EAAI,OACjD,GAAGA,KAAcJ,GAAQ,UAAYI,GAAY,CAAC,EAAE,EACpDJ,GAAQ,cAAgBC,GAAe,KAAK,KAAKG,EAAS,IC9B1D,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cACAA,GAAO,QAAUC,GAmBjB,SAASA,GAAUC,EAAIC,EAAmB,CAKtC,QAJIC,EAAU,IAAI,MAAM,UAAU,OAAS,CAAC,EACxCC,EAAU,EACVC,EAAU,EACVC,EAAU,GACPD,EAAQ,UAAU,QACrBF,EAAOC,GAAQ,EAAI,UAAUC,GAAO,EACxC,OAAO,IAAI,QAAQE,EAAA,SAAkBC,EAASC,EAAQ,CAClDN,EAAOC,CAAM,EAAIG,EAAA,SAAkBG,EAAmB,CAClD,GAAIJ,EAEA,GADAA,EAAU,GACNI,EACAD,EAAOC,CAAG,MACT,CAGD,QAFIP,EAAS,IAAI,MAAM,UAAU,OAAS,CAAC,EACvCC,EAAS,EACNA,EAASD,EAAO,QACnBA,EAAOC,GAAQ,EAAI,UAAUA,CAAM,EACvCI,EAAQ,MAAM,KAAML,CAAM,CAC9B,CAER,EAbiB,YAcjB,GAAI,CACAF,EAAG,MAAMC,GAAO,KAAMC,CAAM,CAChC,OAASO,EAAK,CACNJ,IACAA,EAAU,GACVG,EAAOC,CAAG,EAElB,CACJ,EAvBmB,WAuBlB,CACL,CA/BSH,EAAAP,GAAA,eCpBT,IAAAW,GAAAC,EAAAC,IAAA,cAOA,IAAIC,GAASD,GAObC,GAAO,OAASC,EAAA,SAAgBC,EAAQ,CACpC,IAAIC,EAAID,EAAO,OACf,GAAI,CAACC,EACD,MAAO,GAEX,QADIC,EAAI,EACD,EAAED,EAAI,EAAI,GAAKD,EAAO,OAAOC,CAAC,IAAM,KACvC,EAAEC,EACN,OAAO,KAAK,KAAKF,EAAO,OAAS,CAAC,EAAI,EAAIE,CAC9C,EARgB,UAWhB,IAAIC,GAAM,IAAI,MAAM,EAAE,EAGlBC,GAAM,IAAI,MAAM,GAAG,EAGvB,IAASC,GAAI,EAAGA,GAAI,IAChBD,GAAID,GAAIE,EAAC,EAAIA,GAAI,GAAKA,GAAI,GAAKA,GAAI,GAAKA,GAAI,GAAKA,GAAI,GAAKA,GAAI,EAAIA,GAAI,GAAK,EAAE,EAAIA,KAD5E,IAAAA,GAUTP,GAAO,OAASC,EAAA,SAAgBO,EAAQC,EAAOC,EAAK,CAMhD,QALIC,EAAQ,KACRC,EAAQ,CAAC,EACTL,EAAI,EACJM,EAAI,EACJC,EACGL,EAAQC,GAAK,CAChB,IAAIK,EAAIP,EAAOC,GAAO,EACtB,OAAQI,EAAG,CACP,IAAK,GACDD,EAAML,GAAG,EAAIF,GAAIU,GAAK,CAAC,EACvBD,GAAKC,EAAI,IAAM,EACfF,EAAI,EACJ,MACJ,IAAK,GACDD,EAAML,GAAG,EAAIF,GAAIS,EAAIC,GAAK,CAAC,EAC3BD,GAAKC,EAAI,KAAO,EAChBF,EAAI,EACJ,MACJ,IAAK,GACDD,EAAML,GAAG,EAAIF,GAAIS,EAAIC,GAAK,CAAC,EAC3BH,EAAML,GAAG,EAAIF,GAAIU,EAAI,EAAE,EACvBF,EAAI,EACJ,KACR,CACIN,EAAI,QACHI,IAAUA,EAAQ,CAAC,IAAI,KAAK,OAAO,aAAa,MAAM,OAAQC,CAAK,CAAC,EACrEL,EAAI,EAEZ,CAOA,OANIM,IACAD,EAAML,GAAG,EAAIF,GAAIS,CAAC,EAClBF,EAAML,GAAG,EAAI,GACTM,IAAM,IACND,EAAML,GAAG,EAAI,KAEjBI,GACIJ,GACAI,EAAM,KAAK,OAAO,aAAa,MAAM,OAAQC,EAAM,MAAM,EAAGL,CAAC,CAAC,CAAC,EAC5DI,EAAM,KAAK,EAAE,GAEjB,OAAO,aAAa,MAAM,OAAQC,EAAM,MAAM,EAAGL,CAAC,CAAC,CAC9D,EA1CgB,UA4ChB,IAAIS,GAAkB,mBAUtBhB,GAAO,OAASC,EAAA,SAAgBC,EAAQM,EAAQS,EAAQ,CAIpD,QAHIR,EAAQQ,EACRJ,EAAI,EACJC,EACKP,EAAI,EAAGA,EAAIL,EAAO,QAAS,CAChC,IAAIgB,EAAIhB,EAAO,WAAWK,GAAG,EAC7B,GAAIW,IAAM,IAAML,EAAI,EAChB,MACJ,IAAKK,EAAIZ,GAAIY,CAAC,KAAO,OACjB,MAAM,MAAMF,EAAe,EAC/B,OAAQH,EAAG,CACP,IAAK,GACDC,EAAII,EACJL,EAAI,EACJ,MACJ,IAAK,GACDL,EAAOS,GAAQ,EAAIH,GAAK,GAAKI,EAAI,KAAO,EACxCJ,EAAII,EACJL,EAAI,EACJ,MACJ,IAAK,GACDL,EAAOS,GAAQ,GAAKH,EAAI,KAAO,GAAKI,EAAI,KAAO,EAC/CJ,EAAII,EACJL,EAAI,EACJ,MACJ,IAAK,GACDL,EAAOS,GAAQ,GAAKH,EAAI,IAAM,EAAII,EAClCL,EAAI,EACJ,KACR,CACJ,CACA,GAAIA,IAAM,EACN,MAAM,MAAMG,EAAe,EAC/B,OAAOC,EAASR,CACpB,EAlCgB,UAyChBT,GAAO,KAAOC,EAAA,SAAcC,EAAQ,CAChC,MAAO,mEAAmE,KAAKA,CAAM,CACzF,EAFc,UCxId,IAAAiB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cACAA,GAAO,QAAUC,GAQjB,SAASA,IAAe,CAOpB,KAAK,WAAa,CAAC,CACvB,CARSC,EAAAD,GAAA,gBAiBTA,GAAa,UAAU,GAAKC,EAAA,SAAYC,EAAKC,EAAIC,EAAK,CAClD,OAAC,KAAK,WAAWF,CAAG,IAAM,KAAK,WAAWA,CAAG,EAAI,CAAC,IAAI,KAAK,CACvD,GAAMC,EACN,IAAMC,GAAO,IACjB,CAAC,EACM,IACX,EAN4B,MAc5BJ,GAAa,UAAU,IAAMC,EAAA,SAAaC,EAAKC,EAAI,CAC/C,GAAID,IAAQ,OACR,KAAK,WAAa,CAAC,UAEfC,IAAO,OACP,KAAK,WAAWD,CAAG,EAAI,CAAC,MAGxB,SADIG,EAAY,KAAK,WAAWH,CAAG,EAC1BI,EAAI,EAAGA,EAAID,EAAU,QACtBA,EAAUC,CAAC,EAAE,KAAOH,EACpBE,EAAU,OAAOC,EAAG,CAAC,EAErB,EAAEA,EAGlB,OAAO,IACX,EAhB6B,OAwB7BN,GAAa,UAAU,KAAOC,EAAA,SAAcC,EAAK,CAC7C,IAAIG,EAAY,KAAK,WAAWH,CAAG,EACnC,GAAIG,EAAW,CAGX,QAFIE,EAAO,CAAC,EACRD,EAAI,EACDA,EAAI,UAAU,QACjBC,EAAK,KAAK,UAAUD,GAAG,CAAC,EAC5B,IAAKA,EAAI,EAAGA,EAAID,EAAU,QACtBA,EAAUC,CAAC,EAAE,GAAG,MAAMD,EAAUC,GAAG,EAAE,IAAKC,CAAI,CACtD,CACA,OAAO,IACX,EAX8B,UChE9B,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cAEAA,GAAO,QAAUC,GAAQA,EAAO,EAqFhC,SAASA,GAAQF,EAAS,CAGtB,OAAI,OAAO,aAAiB,IAAc,UAAW,CAEjD,IAAIG,EAAM,IAAI,aAAa,CAAE,EAAG,CAAC,EAC7BC,EAAM,IAAI,WAAWD,EAAI,MAAM,EAC/BE,EAAMD,EAAI,CAAC,IAAM,IAErB,SAASE,EAAmBC,EAAKC,EAAKC,EAAK,CACvCN,EAAI,CAAC,EAAII,EACTC,EAAIC,CAAO,EAAIL,EAAI,CAAC,EACpBI,EAAIC,EAAM,CAAC,EAAIL,EAAI,CAAC,EACpBI,EAAIC,EAAM,CAAC,EAAIL,EAAI,CAAC,EACpBI,EAAIC,EAAM,CAAC,EAAIL,EAAI,CAAC,CACxB,CANSM,EAAAJ,EAAA,sBAQT,SAASK,EAAmBJ,EAAKC,EAAKC,EAAK,CACvCN,EAAI,CAAC,EAAII,EACTC,EAAIC,CAAO,EAAIL,EAAI,CAAC,EACpBI,EAAIC,EAAM,CAAC,EAAIL,EAAI,CAAC,EACpBI,EAAIC,EAAM,CAAC,EAAIL,EAAI,CAAC,EACpBI,EAAIC,EAAM,CAAC,EAAIL,EAAI,CAAC,CACxB,CANSM,EAAAC,EAAA,sBASTX,EAAQ,aAAeK,EAAKC,EAAqBK,EAEjDX,EAAQ,aAAeK,EAAKM,EAAqBL,EAEjD,SAASM,EAAkBJ,EAAKC,EAAK,CACjC,OAAAL,EAAI,CAAC,EAAII,EAAIC,CAAO,EACpBL,EAAI,CAAC,EAAII,EAAIC,EAAM,CAAC,EACpBL,EAAI,CAAC,EAAII,EAAIC,EAAM,CAAC,EACpBL,EAAI,CAAC,EAAII,EAAIC,EAAM,CAAC,EACbN,EAAI,CAAC,CAChB,CANSO,EAAAE,EAAA,qBAQT,SAASC,EAAkBL,EAAKC,EAAK,CACjC,OAAAL,EAAI,CAAC,EAAII,EAAIC,CAAO,EACpBL,EAAI,CAAC,EAAII,EAAIC,EAAM,CAAC,EACpBL,EAAI,CAAC,EAAII,EAAIC,EAAM,CAAC,EACpBL,EAAI,CAAC,EAAII,EAAIC,EAAM,CAAC,EACbN,EAAI,CAAC,CAChB,CANSO,EAAAG,EAAA,qBASTb,EAAQ,YAAcK,EAAKO,EAAoBC,EAE/Cb,EAAQ,YAAcK,EAAKQ,EAAoBD,CAGnD,EAAG,EAAS,UAAW,CAEnB,SAASE,EAAmBC,EAAWR,EAAKC,EAAKC,EAAK,CAClD,IAAIO,EAAOT,EAAM,EAAI,EAAI,EAGzB,GAFIS,IACAT,EAAM,CAACA,GACPA,IAAQ,EACRQ,EAAU,EAAIR,EAAM,EAAmB,EAAqB,WAAYC,EAAKC,CAAG,UAC3E,MAAMF,CAAG,EACdQ,EAAU,WAAYP,EAAKC,CAAG,UACzBF,EAAM,qBACXQ,GAAWC,GAAQ,GAAK,cAAgB,EAAGR,EAAKC,CAAG,UAC9CF,EAAM,sBACXQ,GAAWC,GAAQ,GAAK,KAAK,MAAMT,EAAM,oBAAqB,KAAO,EAAGC,EAAKC,CAAG,MAC/E,CACD,IAAIQ,EAAW,KAAK,MAAM,KAAK,IAAIV,CAAG,EAAI,KAAK,GAAG,EAC9CW,EAAW,KAAK,MAAMX,EAAM,KAAK,IAAI,EAAG,CAACU,CAAQ,EAAI,OAAO,EAAI,QACpEF,GAAWC,GAAQ,GAAKC,EAAW,KAAO,GAAKC,KAAc,EAAGV,EAAKC,CAAG,CAC5E,CACJ,CAjBSC,EAAAI,EAAA,sBAmBTd,EAAQ,aAAec,EAAmB,KAAK,KAAMK,EAAW,EAChEnB,EAAQ,aAAec,EAAmB,KAAK,KAAMM,EAAW,EAEhE,SAASC,EAAkBC,EAAUd,EAAKC,EAAK,CAC3C,IAAIc,EAAOD,EAASd,EAAKC,CAAG,EACxBO,GAAQO,GAAQ,IAAM,EAAI,EAC1BN,EAAWM,IAAS,GAAK,IACzBL,EAAWK,EAAO,QACtB,OAAON,IAAa,IACdC,EACA,IACAF,EAAO,MACPC,IAAa,EACbD,EAAO,qBAAwBE,EAC/BF,EAAO,KAAK,IAAI,EAAGC,EAAW,GAAG,GAAKC,EAAW,QAC3D,CAZSR,EAAAW,EAAA,qBAcTrB,EAAQ,YAAcqB,EAAkB,KAAK,KAAMG,EAAU,EAC7DxB,EAAQ,YAAcqB,EAAkB,KAAK,KAAMI,EAAU,CAEjE,EAAG,EAGC,OAAO,aAAiB,IAAc,UAAW,CAEjD,IAAIC,EAAM,IAAI,aAAa,CAAC,EAAE,CAAC,EAC3BtB,EAAM,IAAI,WAAWsB,EAAI,MAAM,EAC/BrB,EAAMD,EAAI,CAAC,IAAM,IAErB,SAASuB,EAAoBpB,EAAKC,EAAKC,EAAK,CACxCiB,EAAI,CAAC,EAAInB,EACTC,EAAIC,CAAO,EAAIL,EAAI,CAAC,EACpBI,EAAIC,EAAM,CAAC,EAAIL,EAAI,CAAC,EACpBI,EAAIC,EAAM,CAAC,EAAIL,EAAI,CAAC,EACpBI,EAAIC,EAAM,CAAC,EAAIL,EAAI,CAAC,EACpBI,EAAIC,EAAM,CAAC,EAAIL,EAAI,CAAC,EACpBI,EAAIC,EAAM,CAAC,EAAIL,EAAI,CAAC,EACpBI,EAAIC,EAAM,CAAC,EAAIL,EAAI,CAAC,EACpBI,EAAIC,EAAM,CAAC,EAAIL,EAAI,CAAC,CACxB,CAVSM,EAAAiB,EAAA,uBAYT,SAASC,EAAoBrB,EAAKC,EAAKC,EAAK,CACxCiB,EAAI,CAAC,EAAInB,EACTC,EAAIC,CAAO,EAAIL,EAAI,CAAC,EACpBI,EAAIC,EAAM,CAAC,EAAIL,EAAI,CAAC,EACpBI,EAAIC,EAAM,CAAC,EAAIL,EAAI,CAAC,EACpBI,EAAIC,EAAM,CAAC,EAAIL,EAAI,CAAC,EACpBI,EAAIC,EAAM,CAAC,EAAIL,EAAI,CAAC,EACpBI,EAAIC,EAAM,CAAC,EAAIL,EAAI,CAAC,EACpBI,EAAIC,EAAM,CAAC,EAAIL,EAAI,CAAC,EACpBI,EAAIC,EAAM,CAAC,EAAIL,EAAI,CAAC,CACxB,CAVSM,EAAAkB,EAAA,uBAaT5B,EAAQ,cAAgBK,EAAKsB,EAAsBC,EAEnD5B,EAAQ,cAAgBK,EAAKuB,EAAsBD,EAEnD,SAASE,EAAmBrB,EAAKC,EAAK,CAClC,OAAAL,EAAI,CAAC,EAAII,EAAIC,CAAO,EACpBL,EAAI,CAAC,EAAII,EAAIC,EAAM,CAAC,EACpBL,EAAI,CAAC,EAAII,EAAIC,EAAM,CAAC,EACpBL,EAAI,CAAC,EAAII,EAAIC,EAAM,CAAC,EACpBL,EAAI,CAAC,EAAII,EAAIC,EAAM,CAAC,EACpBL,EAAI,CAAC,EAAII,EAAIC,EAAM,CAAC,EACpBL,EAAI,CAAC,EAAII,EAAIC,EAAM,CAAC,EACpBL,EAAI,CAAC,EAAII,EAAIC,EAAM,CAAC,EACbiB,EAAI,CAAC,CAChB,CAVShB,EAAAmB,EAAA,sBAYT,SAASC,EAAmBtB,EAAKC,EAAK,CAClC,OAAAL,EAAI,CAAC,EAAII,EAAIC,CAAO,EACpBL,EAAI,CAAC,EAAII,EAAIC,EAAM,CAAC,EACpBL,EAAI,CAAC,EAAII,EAAIC,EAAM,CAAC,EACpBL,EAAI,CAAC,EAAII,EAAIC,EAAM,CAAC,EACpBL,EAAI,CAAC,EAAII,EAAIC,EAAM,CAAC,EACpBL,EAAI,CAAC,EAAII,EAAIC,EAAM,CAAC,EACpBL,EAAI,CAAC,EAAII,EAAIC,EAAM,CAAC,EACpBL,EAAI,CAAC,EAAII,EAAIC,EAAM,CAAC,EACbiB,EAAI,CAAC,CAChB,CAVShB,EAAAoB,EAAA,sBAaT9B,EAAQ,aAAeK,EAAKwB,EAAqBC,EAEjD9B,EAAQ,aAAeK,EAAKyB,EAAqBD,CAGrD,EAAG,EAAS,UAAW,CAEnB,SAASE,EAAoBhB,EAAWiB,EAAMC,EAAM1B,EAAKC,EAAKC,EAAK,CAC/D,IAAIO,EAAOT,EAAM,EAAI,EAAI,EAGzB,GAFIS,IACAT,EAAM,CAACA,GACPA,IAAQ,EACRQ,EAAU,EAAGP,EAAKC,EAAMuB,CAAI,EAC5BjB,EAAU,EAAIR,EAAM,EAAmB,EAAqB,WAAYC,EAAKC,EAAMwB,CAAI,UAChF,MAAM1B,CAAG,EAChBQ,EAAU,EAAGP,EAAKC,EAAMuB,CAAI,EAC5BjB,EAAU,WAAYP,EAAKC,EAAMwB,CAAI,UAC9B1B,EAAM,sBACbQ,EAAU,EAAGP,EAAKC,EAAMuB,CAAI,EAC5BjB,GAAWC,GAAQ,GAAK,cAAgB,EAAGR,EAAKC,EAAMwB,CAAI,MACvD,CACH,IAAIf,EACJ,GAAIX,EAAM,uBACNW,EAAWX,EAAM,OACjBQ,EAAUG,IAAa,EAAGV,EAAKC,EAAMuB,CAAI,EACzCjB,GAAWC,GAAQ,GAAKE,EAAW,cAAgB,EAAGV,EAAKC,EAAMwB,CAAI,MAClE,CACH,IAAIhB,EAAW,KAAK,MAAM,KAAK,IAAIV,CAAG,EAAI,KAAK,GAAG,EAC9CU,IAAa,OACbA,EAAW,MACfC,EAAWX,EAAM,KAAK,IAAI,EAAG,CAACU,CAAQ,EACtCF,EAAUG,EAAW,mBAAqB,EAAGV,EAAKC,EAAMuB,CAAI,EAC5DjB,GAAWC,GAAQ,GAAKC,EAAW,MAAQ,GAAKC,EAAW,QAAU,WAAa,EAAGV,EAAKC,EAAMwB,CAAI,CACxG,CACJ,CACJ,CA5BSvB,EAAAqB,EAAA,uBA8BT/B,EAAQ,cAAgB+B,EAAoB,KAAK,KAAMZ,GAAa,EAAG,CAAC,EACxEnB,EAAQ,cAAgB+B,EAAoB,KAAK,KAAMX,GAAa,EAAG,CAAC,EAExE,SAASc,EAAmBZ,EAAUU,EAAMC,EAAMzB,EAAKC,EAAK,CACxD,IAAI0B,EAAKb,EAASd,EAAKC,EAAMuB,CAAI,EAC7BI,EAAKd,EAASd,EAAKC,EAAMwB,CAAI,EAC7BjB,GAAQoB,GAAM,IAAM,EAAI,EACxBnB,EAAWmB,IAAO,GAAK,KACvBlB,EAAW,YAAckB,EAAK,SAAWD,EAC7C,OAAOlB,IAAa,KACdC,EACA,IACAF,EAAO,MACPC,IAAa,EACbD,EAAO,OAASE,EAChBF,EAAO,KAAK,IAAI,EAAGC,EAAW,IAAI,GAAKC,EAAW,iBAC5D,CAbSR,EAAAwB,EAAA,sBAeTlC,EAAQ,aAAekC,EAAmB,KAAK,KAAMV,GAAY,EAAG,CAAC,EACrExB,EAAQ,aAAekC,EAAmB,KAAK,KAAMT,GAAY,EAAG,CAAC,CAEzE,EAAG,EAEIzB,CACX,CAzNSU,EAAAR,GAAA,WA6NT,SAASiB,GAAYZ,EAAKC,EAAKC,EAAK,CAChCD,EAAIC,CAAO,EAAKF,EAAa,IAC7BC,EAAIC,EAAM,CAAC,EAAKF,IAAQ,EAAK,IAC7BC,EAAIC,EAAM,CAAC,EAAKF,IAAQ,GAAK,IAC7BC,EAAIC,EAAM,CAAC,EAAKF,IAAQ,EAC5B,CALSG,EAAAS,GAAA,eAOT,SAASC,GAAYb,EAAKC,EAAKC,EAAK,CAChCD,EAAIC,CAAO,EAAKF,IAAQ,GACxBC,EAAIC,EAAM,CAAC,EAAKF,IAAQ,GAAK,IAC7BC,EAAIC,EAAM,CAAC,EAAKF,IAAQ,EAAK,IAC7BC,EAAIC,EAAM,CAAC,EAAKF,EAAa,GACjC,CALSG,EAAAU,GAAA,eAOT,SAASI,GAAWhB,EAAKC,EAAK,CAC1B,OAAQD,EAAIC,CAAO,EACXD,EAAIC,EAAM,CAAC,GAAK,EAChBD,EAAIC,EAAM,CAAC,GAAK,GAChBD,EAAIC,EAAM,CAAC,GAAK,MAAQ,CACpC,CALSC,EAAAc,GAAA,cAOT,SAASC,GAAWjB,EAAKC,EAAK,CAC1B,OAAQD,EAAIC,CAAO,GAAK,GAChBD,EAAIC,EAAM,CAAC,GAAK,GAChBD,EAAIC,EAAM,CAAC,GAAK,EAChBD,EAAIC,EAAM,CAAC,KAAO,CAC9B,CALSC,EAAAe,GAAA,gBCzUT,IAAAY,GAAAC,EAAA,gCACA,OAAO,QAAU,QAQjB,SAAS,QAAQ,WAAY,CACzB,GAAI,CACA,IAAI,IAAM,KAAK,QAAQ,QAAQ,IAAI,IAAI,CAAC,EAAE,UAAU,EACpD,GAAI,MAAQ,IAAI,QAAU,OAAO,KAAK,GAAG,EAAE,QACvC,OAAO,GACf,OAAS,EAAG,CAAC,CACb,OAAO,IACX,CAPSC,EAAA,qBCTT,IAAAC,GAAAC,EAAAC,IAAA,cAOA,IAAIC,GAAOD,GAOXC,GAAK,OAASC,EAAA,SAAqBC,EAAQ,CAGvC,QAFIC,EAAM,EACNC,EAAI,EACCC,EAAI,EAAGA,EAAIH,EAAO,OAAQ,EAAEG,EACjCD,EAAIF,EAAO,WAAWG,CAAC,EACnBD,EAAI,IACJD,GAAO,EACFC,EAAI,KACTD,GAAO,GACDC,EAAI,SAAY,QAAWF,EAAO,WAAWG,EAAI,CAAC,EAAI,SAAY,OACxE,EAAEA,EACFF,GAAO,GAEPA,GAAO,EAEf,OAAOA,CACX,EAhBc,eAyBdH,GAAK,KAAOC,EAAA,SAAmBK,EAAQC,EAAOC,EAAK,CAC/C,IAAIL,EAAMK,EAAMD,EAChB,GAAIJ,EAAM,EACN,MAAO,GAKX,QAJIM,EAAQ,KACRC,EAAQ,CAAC,EACTL,EAAI,EACJM,EACGJ,EAAQC,GACXG,EAAIL,EAAOC,GAAO,EACdI,EAAI,IACJD,EAAML,GAAG,EAAIM,EACRA,EAAI,KAAOA,EAAI,IACpBD,EAAML,GAAG,GAAKM,EAAI,KAAO,EAAIL,EAAOC,GAAO,EAAI,GAC1CI,EAAI,KAAOA,EAAI,KACpBA,IAAMA,EAAI,IAAM,IAAML,EAAOC,GAAO,EAAI,KAAO,IAAMD,EAAOC,GAAO,EAAI,KAAO,EAAID,EAAOC,GAAO,EAAI,IAAM,MAC1GG,EAAML,GAAG,EAAI,OAAUM,GAAK,IAC5BD,EAAML,GAAG,EAAI,OAAUM,EAAI,OAE3BD,EAAML,GAAG,GAAKM,EAAI,KAAO,IAAML,EAAOC,GAAO,EAAI,KAAO,EAAID,EAAOC,GAAO,EAAI,GAC9EF,EAAI,QACHI,IAAUA,EAAQ,CAAC,IAAI,KAAK,OAAO,aAAa,MAAM,OAAQC,CAAK,CAAC,EACrEL,EAAI,GAGZ,OAAII,GACIJ,GACAI,EAAM,KAAK,OAAO,aAAa,MAAM,OAAQC,EAAM,MAAM,EAAGL,CAAC,CAAC,CAAC,EAC5DI,EAAM,KAAK,EAAE,GAEjB,OAAO,aAAa,MAAM,OAAQC,EAAM,MAAM,EAAGL,CAAC,CAAC,CAC9D,EA/BY,aAwCZL,GAAK,MAAQC,EAAA,SAAoBC,EAAQI,EAAQM,EAAQ,CAIrD,QAHIL,EAAQK,EACRC,EACAC,EACKT,EAAI,EAAGA,EAAIH,EAAO,OAAQ,EAAEG,EACjCQ,EAAKX,EAAO,WAAWG,CAAC,EACpBQ,EAAK,IACLP,EAAOM,GAAQ,EAAIC,EACZA,EAAK,MACZP,EAAOM,GAAQ,EAAIC,GAAM,EAAU,IACnCP,EAAOM,GAAQ,EAAIC,EAAW,GAAK,MAC3BA,EAAK,SAAY,SAAYC,EAAKZ,EAAO,WAAWG,EAAI,CAAC,GAAK,SAAY,OAClFQ,EAAK,QAAYA,EAAK,OAAW,KAAOC,EAAK,MAC7C,EAAET,EACFC,EAAOM,GAAQ,EAAIC,GAAM,GAAU,IACnCP,EAAOM,GAAQ,EAAIC,GAAM,GAAK,GAAK,IACnCP,EAAOM,GAAQ,EAAIC,GAAM,EAAK,GAAK,IACnCP,EAAOM,GAAQ,EAAIC,EAAW,GAAK,MAEnCP,EAAOM,GAAQ,EAAIC,GAAM,GAAU,IACnCP,EAAOM,GAAQ,EAAIC,GAAM,EAAK,GAAK,IACnCP,EAAOM,GAAQ,EAAIC,EAAW,GAAK,KAG3C,OAAOD,EAASL,CACpB,EAzBa,gBC/Eb,IAAAQ,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cACAA,GAAO,QAAUC,GA6BjB,SAASA,GAAKC,EAAOC,EAAOC,EAAM,CAC9B,IAAIC,EAASD,GAAQ,KACjBE,EAASD,IAAS,EAClBE,EAAS,KACTC,EAASH,EACb,OAAOI,EAAA,SAAoBL,EAAM,CAC7B,GAAIA,EAAO,GAAKA,EAAOE,EACnB,OAAOJ,EAAME,CAAI,EACjBI,EAASJ,EAAOC,IAChBE,EAAOL,EAAMG,CAAI,EACjBG,EAAS,GAEb,IAAIE,EAAMP,EAAM,KAAKI,EAAMC,EAAQA,GAAUJ,CAAI,EACjD,OAAII,EAAS,IACTA,GAAUA,EAAS,GAAK,GACrBE,CACX,EAXO,aAYX,CAjBSD,EAAAR,GAAA,UC9BT,IAAAU,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cACAA,GAAO,QAAUC,GAEjB,IAAIC,GAAO,KAUX,SAASD,GAASE,EAAIC,EAAI,CAStB,KAAK,GAAKD,IAAO,EAMjB,KAAK,GAAKC,IAAO,CACrB,CAhBSC,EAAAJ,GAAA,YAuBT,IAAIK,GAAOL,GAAS,KAAO,IAAIA,GAAS,EAAG,CAAC,EAE5CK,GAAK,SAAW,UAAW,CAAE,MAAO,EAAG,EACvCA,GAAK,SAAWA,GAAK,SAAW,UAAW,CAAE,OAAO,IAAM,EAC1DA,GAAK,OAAS,UAAW,CAAE,MAAO,EAAG,EAOrC,IAAIC,GAAWN,GAAS,SAAW,mBAOnCA,GAAS,WAAaI,EAAA,SAAoBG,EAAO,CAC7C,GAAIA,IAAU,EACV,OAAOF,GACX,IAAIG,EAAOD,EAAQ,EACfC,IACAD,EAAQ,CAACA,GACb,IAAIL,EAAKK,IAAU,EACfJ,GAAMI,EAAQL,GAAM,aAAe,EACvC,OAAIM,IACAL,EAAK,CAACA,IAAO,EACbD,EAAK,CAACA,IAAO,EACT,EAAEA,EAAK,aACPA,EAAK,EACD,EAAEC,EAAK,aACPA,EAAK,KAGV,IAAIH,GAASE,EAAIC,CAAE,CAC9B,EAlBsB,cAyBtBH,GAAS,KAAOI,EAAA,SAAcG,EAAO,CACjC,GAAI,OAAOA,GAAU,SACjB,OAAOP,GAAS,WAAWO,CAAK,EACpC,GAAIN,GAAK,SAASM,CAAK,EAEnB,GAAIN,GAAK,KACLM,EAAQN,GAAK,KAAK,WAAWM,CAAK,MAElC,QAAOP,GAAS,WAAW,SAASO,EAAO,EAAE,CAAC,EAEtD,OAAOA,EAAM,KAAOA,EAAM,KAAO,IAAIP,GAASO,EAAM,MAAQ,EAAGA,EAAM,OAAS,CAAC,EAAIF,EACvF,EAXgB,QAkBhBL,GAAS,UAAU,SAAWI,EAAA,SAAkBK,EAAU,CACtD,GAAI,CAACA,GAAY,KAAK,KAAO,GAAI,CAC7B,IAAIP,EAAK,CAAC,KAAK,GAAK,IAAM,EACtBC,EAAK,CAAC,KAAK,KAAW,EAC1B,OAAKD,IACDC,EAAKA,EAAK,IAAM,GACb,EAAED,EAAKC,EAAK,WACvB,CACA,OAAO,KAAK,GAAK,KAAK,GAAK,UAC/B,EAT8B,YAgB9BH,GAAS,UAAU,OAASI,EAAA,SAAgBK,EAAU,CAClD,OAAOR,GAAK,KACN,IAAIA,GAAK,KAAK,KAAK,GAAK,EAAG,KAAK,GAAK,EAAG,EAAQQ,CAAS,EAEzD,CAAE,IAAK,KAAK,GAAK,EAAG,KAAM,KAAK,GAAK,EAAG,SAAU,EAAQA,CAAU,CAC7E,EAL4B,UAO5B,IAAIC,GAAa,OAAO,UAAU,WAOlCV,GAAS,SAAWI,EAAA,SAAkBO,EAAM,CACxC,OAAIA,IAASL,GACFD,GACJ,IAAIL,IACLU,GAAW,KAAKC,EAAM,CAAC,EACvBD,GAAW,KAAKC,EAAM,CAAC,GAAK,EAC5BD,GAAW,KAAKC,EAAM,CAAC,GAAK,GAC5BD,GAAW,KAAKC,EAAM,CAAC,GAAK,MAAQ,GAEpCD,GAAW,KAAKC,EAAM,CAAC,EACvBD,GAAW,KAAKC,EAAM,CAAC,GAAK,EAC5BD,GAAW,KAAKC,EAAM,CAAC,GAAK,GAC5BD,GAAW,KAAKC,EAAM,CAAC,GAAK,MAAQ,CAC1C,CACJ,EAdoB,YAoBpBX,GAAS,UAAU,OAASI,EAAA,UAAkB,CAC1C,OAAO,OAAO,aACV,KAAK,GAAY,IACjB,KAAK,KAAO,EAAK,IACjB,KAAK,KAAO,GAAK,IACjB,KAAK,KAAO,GACZ,KAAK,GAAY,IACjB,KAAK,KAAO,EAAK,IACjB,KAAK,KAAO,GAAK,IACjB,KAAK,KAAO,EAChB,CACJ,EAX4B,UAiB5BJ,GAAS,UAAU,SAAWI,EAAA,UAAoB,CAC9C,IAAIQ,EAAS,KAAK,IAAM,GACxB,YAAK,KAAQ,KAAK,IAAM,EAAI,KAAK,KAAO,IAAMA,KAAU,EACxD,KAAK,IAAQ,KAAK,IAAM,EAAsBA,KAAU,EACjD,IACX,EAL8B,YAW9BZ,GAAS,UAAU,SAAWI,EAAA,UAAoB,CAC9C,IAAIQ,EAAO,EAAE,KAAK,GAAK,GACvB,YAAK,KAAQ,KAAK,KAAO,EAAI,KAAK,IAAM,IAAMA,KAAU,EACxD,KAAK,IAAQ,KAAK,KAAO,EAAqBA,KAAU,EACjD,IACX,EAL8B,YAW9BZ,GAAS,UAAU,OAASI,EAAA,UAAkB,CAC1C,IAAIS,EAAS,KAAK,GACdC,GAAS,KAAK,KAAO,GAAK,KAAK,IAAM,KAAO,EAC5CC,EAAS,KAAK,KAAO,GACzB,OAAOA,IAAU,EACVD,IAAU,EACRD,EAAQ,MACNA,EAAQ,IAAM,EAAI,EAClBA,EAAQ,QAAU,EAAI,EACxBC,EAAQ,MACNA,EAAQ,IAAM,EAAI,EAClBA,EAAQ,QAAU,EAAI,EAC1BC,EAAQ,IAAM,EAAI,EAC7B,EAb4B,YC1L5B,IAAAC,GAAAC,EAAAC,IAAA,cACA,IAAIC,GAAOD,GAGXC,GAAK,UAAY,KAGjBA,GAAK,OAAS,KAGdA,GAAK,aAAe,KAGpBA,GAAK,MAAQ,KAGbA,GAAK,QAAU,KAGfA,GAAK,KAAO,KAGZA,GAAK,KAAO,KAGZA,GAAK,SAAW,KAOhBA,GAAK,OAAS,GAAQ,OAAO,OAAW,KAClB,QACA,OAAO,SACP,OAAO,QAAQ,UACf,OAAO,QAAQ,SAAS,MAO9CA,GAAK,OAASA,GAAK,QAAU,QACf,OAAO,OAAW,KAAe,QACjC,OAAO,KAAW,KAAe,MACjCD,GAQdC,GAAK,WAAa,OAAO,OAAS,OAAO,OAAO,CAAC,CAAC,EAA+B,CAAC,EAOlFA,GAAK,YAAc,OAAO,OAAS,OAAO,OAAO,CAAC,CAAC,EAA+B,CAAC,EAQnFA,GAAK,UAAY,OAAO,WAAwCC,EAAA,SAAmBC,EAAO,CACtF,OAAO,OAAOA,GAAU,UAAY,SAASA,CAAK,GAAK,KAAK,MAAMA,CAAK,IAAMA,CACjF,EAFgE,aAShEF,GAAK,SAAWC,EAAA,SAAkBC,EAAO,CACrC,OAAO,OAAOA,GAAU,UAAYA,aAAiB,MACzD,EAFgB,YAShBF,GAAK,SAAWC,EAAA,SAAkBC,EAAO,CACrC,OAAOA,GAAS,OAAOA,GAAU,QACrC,EAFgB,YAYhBF,GAAK,MAQLA,GAAK,MAAQC,EAAA,SAAeE,EAAKC,EAAM,CACnC,IAAIF,EAAQC,EAAIC,CAAI,EACpB,OAAIF,GAAS,MAAQC,EAAI,eAAeC,CAAI,EACjC,OAAOF,GAAU,WAAa,MAAM,QAAQA,CAAK,EAAIA,EAAM,OAAS,OAAO,KAAKA,CAAK,EAAE,QAAU,EACrG,EACX,EALa,SAkBbF,GAAK,OAAU,UAAW,CACtB,GAAI,CACA,IAAIK,EAASL,GAAK,QAAQ,QAAQ,EAAE,OAEpC,OAAOK,EAAO,UAAU,UAAYA,EAAoC,IAC5E,MAAY,CAER,OAAO,IACX,CACJ,EAAG,EAGHL,GAAK,aAAe,KAGpBA,GAAK,oBAAsB,KAO3BA,GAAK,UAAYC,EAAA,SAAmBK,EAAa,CAE7C,OAAO,OAAOA,GAAgB,SACxBN,GAAK,OACDA,GAAK,oBAAoBM,CAAW,EACpC,IAAIN,GAAK,MAAMM,CAAW,EAC9BN,GAAK,OACDA,GAAK,aAAaM,CAAW,EAC7B,OAAO,WAAe,IAClBA,EACA,IAAI,WAAWA,CAAW,CAC5C,EAXiB,aAiBjBN,GAAK,MAAQ,OAAO,WAAe,IAAc,WAAwC,MAezFA,GAAK,KAAkCA,GAAK,OAAO,SAAsCA,GAAK,OAAO,QAAQ,MACtEA,GAAK,OAAO,MACvCA,GAAK,QAAQ,MAAM,EAO/BA,GAAK,OAAS,mBAOdA,GAAK,QAAU,wBAOfA,GAAK,QAAU,6CAOfA,GAAK,WAAaC,EAAA,SAAoBC,EAAO,CACzC,OAAOA,EACDF,GAAK,SAAS,KAAKE,CAAK,EAAE,OAAO,EACjCF,GAAK,SAAS,QACxB,EAJkB,cAYlBA,GAAK,aAAeC,EAAA,SAAsBM,EAAMC,EAAU,CACtD,IAAIC,EAAOT,GAAK,SAAS,SAASO,CAAI,EACtC,OAAIP,GAAK,KACEA,GAAK,KAAK,SAASS,EAAK,GAAIA,EAAK,GAAID,CAAQ,EACjDC,EAAK,SAAS,EAAQD,CAAS,CAC1C,EALoB,gBAepB,SAASE,GAAMC,EAAKC,EAAKC,EAAU,CAC/B,QAASC,EAAO,OAAO,KAAKF,CAAG,EAAGG,EAAI,EAAGA,EAAID,EAAK,OAAQ,EAAEC,GACpDJ,EAAIG,EAAKC,CAAC,CAAC,IAAM,QAAa,CAACF,KAC/BF,EAAIG,EAAKC,CAAC,CAAC,EAAIH,EAAIE,EAAKC,CAAC,CAAC,GAClC,OAAOJ,CACX,CALSV,EAAAS,GAAA,SAOTV,GAAK,MAAQU,GAObV,GAAK,QAAUC,EAAA,SAAiBe,EAAK,CACjC,OAAOA,EAAI,OAAO,CAAC,EAAE,YAAY,EAAIA,EAAI,UAAU,CAAC,CACxD,EAFe,WAUf,SAASC,GAASC,EAAM,CAEpB,SAASC,EAAYC,EAASC,EAAY,CAEtC,GAAI,EAAE,gBAAgBF,GAClB,OAAO,IAAIA,EAAYC,EAASC,CAAU,EAK9C,OAAO,eAAe,KAAM,UAAW,CAAE,IAAK,UAAW,CAAE,OAAOD,CAAS,CAAE,CAAC,EAG1E,MAAM,kBACN,MAAM,kBAAkB,KAAMD,CAAW,EAEzC,OAAO,eAAe,KAAM,QAAS,CAAE,MAAO,IAAI,MAAM,EAAE,OAAS,EAAG,CAAC,EAEvEE,GACAX,GAAM,KAAMW,CAAU,CAC9B,CAlBS,OAAApB,EAAAkB,EAAA,eAoBTA,EAAY,UAAY,OAAO,OAAO,MAAM,UAAW,CACnD,YAAa,CACT,MAAOA,EACP,SAAU,GACV,WAAY,GACZ,aAAc,EAClB,EACA,KAAM,CACF,IAAKlB,EAAA,UAAe,CAAE,OAAOiB,CAAM,EAA9B,OACL,IAAK,OACL,WAAY,GAKZ,aAAc,EAClB,EACA,SAAU,CACN,MAAOjB,EAAA,UAAiB,CAAE,OAAO,KAAK,KAAO,KAAO,KAAK,OAAS,EAA3D,SACP,SAAU,GACV,WAAY,GACZ,aAAc,EAClB,CACJ,CAAC,EAEMkB,CACX,CAhDSlB,EAAAgB,GAAA,YAkDTjB,GAAK,SAAWiB,GAmBhBjB,GAAK,cAAgBiB,GAAS,eAAe,EAoB7CjB,GAAK,YAAcC,EAAA,SAAkBqB,EAAY,CAE7C,QADIC,EAAW,CAAC,EACP,EAAI,EAAG,EAAID,EAAW,OAAQ,EAAE,EACrCC,EAASD,EAAW,CAAC,CAAC,EAAI,EAO9B,OAAO,UAAW,CACd,QAASR,EAAO,OAAO,KAAK,IAAI,EAAGC,EAAID,EAAK,OAAS,EAAGC,EAAI,GAAI,EAAEA,EAC9D,GAAIQ,EAAST,EAAKC,CAAC,CAAC,IAAM,GAAK,KAAKD,EAAKC,CAAC,CAAC,IAAM,QAAa,KAAKD,EAAKC,CAAC,CAAC,IAAM,KAC5E,OAAOD,EAAKC,CAAC,CACzB,CACJ,EAfmB,YA8BnBf,GAAK,YAAcC,EAAA,SAAkBqB,EAAY,CAQ7C,OAAO,SAASJ,EAAM,CAClB,QAAS,EAAI,EAAG,EAAII,EAAW,OAAQ,EAAE,EACjCA,EAAW,CAAC,IAAMJ,GAClB,OAAO,KAAKI,EAAW,CAAC,CAAC,CACrC,CACJ,EAbmB,YA+BnBtB,GAAK,cAAgB,CACjB,MAAO,OACP,MAAO,OACP,MAAO,OACP,KAAM,EACV,EAGAA,GAAK,WAAa,UAAW,CACzB,IAAIK,EAASL,GAAK,OAElB,GAAI,CAACK,EAAQ,CACTL,GAAK,aAAeA,GAAK,oBAAsB,KAC/C,MACJ,CAGAA,GAAK,aAAeK,EAAO,OAAS,WAAW,MAAQA,EAAO,MAE1DJ,EAAA,SAAqBC,EAAOsB,EAAU,CAClC,OAAO,IAAInB,EAAOH,EAAOsB,CAAQ,CACrC,EAFA,eAGJxB,GAAK,oBAAsBK,EAAO,aAE9BJ,EAAA,SAA4BwB,EAAM,CAC9B,OAAO,IAAIpB,EAAOoB,CAAI,CAC1B,EAFA,qBAGR,ICrbA,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cACAA,GAAO,QAAUC,GAEjB,IAAIC,GAAY,KAEZC,GAEAC,GAAYF,GAAK,SACjBG,GAAYH,GAAK,OACjBI,GAAYJ,GAAK,KAWrB,SAASK,GAAGC,EAAIC,EAAKC,EAAK,CAMtB,KAAK,GAAKF,EAMV,KAAK,IAAMC,EAMX,KAAK,KAAO,OAMZ,KAAK,IAAMC,CACf,CAzBSC,EAAAJ,GAAA,MA4BT,SAASK,IAAO,CAAC,CAARD,EAAAC,GAAA,QAUT,SAASC,GAAMC,EAAQ,CAMnB,KAAK,KAAOA,EAAO,KAMnB,KAAK,KAAOA,EAAO,KAMnB,KAAK,IAAMA,EAAO,IAMlB,KAAK,KAAOA,EAAO,MACvB,CAzBSH,EAAAE,GAAA,SAgCT,SAASZ,IAAS,CAMd,KAAK,IAAM,EAMX,KAAK,KAAO,IAAIM,GAAGK,GAAM,EAAG,CAAC,EAM7B,KAAK,KAAO,KAAK,KAMjB,KAAK,OAAS,IAOlB,CA/BSD,EAAAV,GAAA,UAiCT,IAAIc,GAASJ,EAAA,UAAkB,CAC3B,OAAOT,GAAK,OACNS,EAAA,UAA+B,CAC7B,OAAQV,GAAO,OAASU,EAAA,UAAyB,CAC7C,OAAO,IAAIR,EACf,EAFwB,kBAErB,CACP,EAJE,uBAMAQ,EAAA,UAAwB,CACtB,OAAO,IAAIV,EACf,EAFE,eAGV,EAXa,UAkBbA,GAAO,OAASc,GAAO,EAOvBd,GAAO,MAAQU,EAAA,SAAeK,EAAM,CAChC,OAAO,IAAId,GAAK,MAAMc,CAAI,CAC9B,EAFe,SAMXd,GAAK,QAAU,QACfD,GAAO,MAAQC,GAAK,KAAKD,GAAO,MAAOC,GAAK,MAAM,UAAU,QAAQ,GAUxED,GAAO,UAAU,MAAQU,EAAA,SAAcH,EAAIC,EAAKC,EAAK,CACjD,YAAK,KAAO,KAAK,KAAK,KAAO,IAAIH,GAAGC,EAAIC,EAAKC,CAAG,EAChD,KAAK,KAAOD,EACL,IACX,EAJyB,QAMzB,SAASQ,GAAUP,EAAKQ,EAAKC,EAAK,CAC9BD,EAAIC,CAAG,EAAIT,EAAM,GACrB,CAFSC,EAAAM,GAAA,aAIT,SAASG,GAAcV,EAAKQ,EAAKC,EAAK,CAClC,KAAOT,EAAM,KACTQ,EAAIC,GAAK,EAAIT,EAAM,IAAM,IACzBA,KAAS,EAEbQ,EAAIC,CAAG,EAAIT,CACf,CANSC,EAAAS,GAAA,iBAiBT,SAASC,GAASZ,EAAKC,EAAK,CACxB,KAAK,IAAMD,EACX,KAAK,KAAO,OACZ,KAAK,IAAMC,CACf,CAJSC,EAAAU,GAAA,YAMTA,GAAS,UAAY,OAAO,OAAOd,GAAG,SAAS,EAC/Cc,GAAS,UAAU,GAAKD,GAOxBnB,GAAO,UAAU,OAASU,EAAA,SAAsBW,EAAO,CAGnD,YAAK,MAAQ,KAAK,KAAO,KAAK,KAAK,KAAO,IAAID,IACzCC,EAAQA,IAAU,GACT,IAAY,EACpBA,EAAQ,MAAY,EACpBA,EAAQ,QAAY,EACpBA,EAAQ,UAAY,EACA,EAC1BA,CAAK,GAAG,IACD,IACX,EAZ0B,gBAoB1BrB,GAAO,UAAU,MAAQU,EAAA,SAAqBW,EAAO,CACjD,OAAOA,EAAQ,EACT,KAAK,MAAMC,GAAe,GAAInB,GAAS,WAAWkB,CAAK,CAAC,EACxD,KAAK,OAAOA,CAAK,CAC3B,EAJyB,eAWzBrB,GAAO,UAAU,OAASU,EAAA,SAAsBW,EAAO,CACnD,OAAO,KAAK,QAAQA,GAAS,EAAIA,GAAS,MAAQ,CAAC,CACvD,EAF0B,gBAI1B,SAASC,GAAcb,EAAKQ,EAAKC,EAAK,CAClC,KAAOT,EAAI,IACPQ,EAAIC,GAAK,EAAIT,EAAI,GAAK,IAAM,IAC5BA,EAAI,IAAMA,EAAI,KAAO,EAAIA,EAAI,IAAM,MAAQ,EAC3CA,EAAI,MAAQ,EAEhB,KAAOA,EAAI,GAAK,KACZQ,EAAIC,GAAK,EAAIT,EAAI,GAAK,IAAM,IAC5BA,EAAI,GAAKA,EAAI,KAAO,EAExBQ,EAAIC,GAAK,EAAIT,EAAI,EACrB,CAXSC,EAAAY,GAAA,iBAmBTtB,GAAO,UAAU,OAASU,EAAA,SAAsBW,EAAO,CACnD,IAAIE,EAAOpB,GAAS,KAAKkB,CAAK,EAC9B,OAAO,KAAK,MAAMC,GAAeC,EAAK,OAAO,EAAGA,CAAI,CACxD,EAH0B,gBAY1BvB,GAAO,UAAU,MAAQA,GAAO,UAAU,OAQ1CA,GAAO,UAAU,OAASU,EAAA,SAAsBW,EAAO,CACnD,IAAIE,EAAOpB,GAAS,KAAKkB,CAAK,EAAE,SAAS,EACzC,OAAO,KAAK,MAAMC,GAAeC,EAAK,OAAO,EAAGA,CAAI,CACxD,EAH0B,gBAU1BvB,GAAO,UAAU,KAAOU,EAAA,SAAoBW,EAAO,CAC/C,OAAO,KAAK,MAAML,GAAW,EAAGK,EAAQ,EAAI,CAAC,CACjD,EAFwB,cAIxB,SAASG,GAAaf,EAAKQ,EAAKC,EAAK,CACjCD,EAAIC,CAAO,EAAKT,EAAc,IAC9BQ,EAAIC,EAAM,CAAC,EAAKT,IAAQ,EAAM,IAC9BQ,EAAIC,EAAM,CAAC,EAAKT,IAAQ,GAAM,IAC9BQ,EAAIC,EAAM,CAAC,EAAKT,IAAQ,EAC5B,CALSC,EAAAc,GAAA,gBAYTxB,GAAO,UAAU,QAAUU,EAAA,SAAuBW,EAAO,CACrD,OAAO,KAAK,MAAMG,GAAc,EAAGH,IAAU,CAAC,CAClD,EAF2B,iBAU3BrB,GAAO,UAAU,SAAWA,GAAO,UAAU,QAQ7CA,GAAO,UAAU,QAAUU,EAAA,SAAuBW,EAAO,CACrD,IAAIE,EAAOpB,GAAS,KAAKkB,CAAK,EAC9B,OAAO,KAAK,MAAMG,GAAc,EAAGD,EAAK,EAAE,EAAE,MAAMC,GAAc,EAAGD,EAAK,EAAE,CAC9E,EAH2B,iBAY3BvB,GAAO,UAAU,SAAWA,GAAO,UAAU,QAQ7CA,GAAO,UAAU,MAAQU,EAAA,SAAqBW,EAAO,CACjD,OAAO,KAAK,MAAMpB,GAAK,MAAM,aAAc,EAAGoB,CAAK,CACvD,EAFyB,eAUzBrB,GAAO,UAAU,OAASU,EAAA,SAAsBW,EAAO,CACnD,OAAO,KAAK,MAAMpB,GAAK,MAAM,cAAe,EAAGoB,CAAK,CACxD,EAF0B,gBAI1B,IAAII,GAAaxB,GAAK,MAAM,UAAU,IAChCS,EAAA,SAAwBD,EAAKQ,EAAKC,EAAK,CACrCD,EAAI,IAAIR,EAAKS,CAAG,CACpB,EAFE,kBAIAR,EAAA,SAAwBD,EAAKQ,EAAKC,EAAK,CACrC,QAASQ,EAAI,EAAGA,EAAIjB,EAAI,OAAQ,EAAEiB,EAC9BT,EAAIC,EAAMQ,CAAC,EAAIjB,EAAIiB,CAAC,CAC5B,EAHE,kBAUN1B,GAAO,UAAU,MAAQU,EAAA,SAAqBW,EAAO,CACjD,IAAIb,EAAMa,EAAM,SAAW,EAC3B,GAAI,CAACb,EACD,OAAO,KAAK,MAAMQ,GAAW,EAAG,CAAC,EACrC,GAAIf,GAAK,SAASoB,CAAK,EAAG,CACtB,IAAIJ,EAAMjB,GAAO,MAAMQ,EAAMJ,GAAO,OAAOiB,CAAK,CAAC,EACjDjB,GAAO,OAAOiB,EAAOJ,EAAK,CAAC,EAC3BI,EAAQJ,CACZ,CACA,OAAO,KAAK,OAAOT,CAAG,EAAE,MAAMiB,GAAYjB,EAAKa,CAAK,CACxD,EAVyB,eAiBzBrB,GAAO,UAAU,OAASU,EAAA,SAAsBW,EAAO,CACnD,IAAIb,EAAMH,GAAK,OAAOgB,CAAK,EAC3B,OAAOb,EACD,KAAK,OAAOA,CAAG,EAAE,MAAMH,GAAK,MAAOG,EAAKa,CAAK,EAC7C,KAAK,MAAML,GAAW,EAAG,CAAC,CACpC,EAL0B,gBAY1BhB,GAAO,UAAU,KAAOU,EAAA,UAAgB,CACpC,YAAK,OAAS,IAAIE,GAAM,IAAI,EAC5B,KAAK,KAAO,KAAK,KAAO,IAAIN,GAAGK,GAAM,EAAG,CAAC,EACzC,KAAK,IAAM,EACJ,IACX,EALwB,QAWxBX,GAAO,UAAU,MAAQU,EAAA,UAAiB,CACtC,OAAI,KAAK,QACL,KAAK,KAAS,KAAK,OAAO,KAC1B,KAAK,KAAS,KAAK,OAAO,KAC1B,KAAK,IAAS,KAAK,OAAO,IAC1B,KAAK,OAAS,KAAK,OAAO,OAE1B,KAAK,KAAO,KAAK,KAAO,IAAIJ,GAAGK,GAAM,EAAG,CAAC,EACzC,KAAK,IAAO,GAET,IACX,EAXyB,SAiBzBX,GAAO,UAAU,OAASU,EAAA,UAAkB,CACxC,IAAIiB,EAAO,KAAK,KACZC,EAAO,KAAK,KACZpB,EAAO,KAAK,IAChB,YAAK,MAAM,EAAE,OAAOA,CAAG,EACnBA,IACA,KAAK,KAAK,KAAOmB,EAAK,KACtB,KAAK,KAAOC,EACZ,KAAK,KAAOpB,GAET,IACX,EAX0B,UAiB1BR,GAAO,UAAU,OAASU,EAAA,UAAkB,CAIxC,QAHIiB,EAAO,KAAK,KAAK,KACjBV,EAAO,KAAK,YAAY,MAAM,KAAK,GAAG,EACtCC,EAAO,EACJS,GACHA,EAAK,GAAGA,EAAK,IAAKV,EAAKC,CAAG,EAC1BA,GAAOS,EAAK,IACZA,EAAOA,EAAK,KAGhB,OAAOV,CACX,EAX0B,UAa1BjB,GAAO,WAAa,SAAS6B,EAAe,CACxC3B,GAAe2B,EACf7B,GAAO,OAASc,GAAO,EACvBZ,GAAa,WAAW,CAC5B,IChdA,IAAA4B,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cACAA,GAAO,QAAUC,GAGjB,IAAIC,GAAS,MACZD,GAAa,UAAY,OAAO,OAAOC,GAAO,SAAS,GAAG,YAAcD,GAEzE,IAAIE,GAAO,KAQX,SAASF,IAAe,CACpBC,GAAO,KAAK,IAAI,CACpB,CAFSE,EAAAH,GAAA,gBAITA,GAAa,WAAa,UAAY,CAOlCA,GAAa,MAAQE,GAAK,oBAE1BF,GAAa,iBAAmBE,GAAK,QAAUA,GAAK,OAAO,qBAAqB,YAAcA,GAAK,OAAO,UAAU,IAAI,OAAS,MAC3HC,EAAA,SAA8BC,EAAKC,EAAKC,EAAK,CAC7CD,EAAI,IAAID,EAAKE,CAAG,CAElB,EAHE,wBAKAH,EAAA,SAA+BC,EAAKC,EAAKC,EAAK,CAC9C,GAAIF,EAAI,KACNA,EAAI,KAAKC,EAAKC,EAAK,EAAGF,EAAI,MAAM,MAC7B,SAASG,EAAI,EAAGA,EAAIH,EAAI,QAC3BC,EAAIC,GAAK,EAAIF,EAAIG,GAAG,CACxB,EALE,wBAMV,EAMAP,GAAa,UAAU,MAAQG,EAAA,SAA4BK,EAAO,CAC1DN,GAAK,SAASM,CAAK,IACnBA,EAAQN,GAAK,aAAaM,EAAO,QAAQ,GAC7C,IAAIC,EAAMD,EAAM,SAAW,EAC3B,YAAK,OAAOC,CAAG,EACXA,GACA,KAAK,MAAMT,GAAa,iBAAkBS,EAAKD,CAAK,EACjD,IACX,EAR+B,sBAU/B,SAASE,GAAkBN,EAAKC,EAAKC,EAAK,CAClCF,EAAI,OAAS,GACbF,GAAK,KAAK,MAAME,EAAKC,EAAKC,CAAG,EACxBD,EAAI,UACTA,EAAI,UAAUD,EAAKE,CAAG,EAEtBD,EAAI,MAAMD,EAAKE,CAAG,CAC1B,CAPSH,EAAAO,GAAA,qBAYTV,GAAa,UAAU,OAASG,EAAA,SAA6BK,EAAO,CAChE,IAAIC,EAAMP,GAAK,OAAO,WAAWM,CAAK,EACtC,YAAK,OAAOC,CAAG,EACXA,GACA,KAAK,MAAMC,GAAmBD,EAAKD,CAAK,EACrC,IACX,EANgC,uBAgBhCR,GAAa,WAAW,ICpFxB,IAAAW,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cACAA,GAAO,QAAUC,GAEjB,IAAIC,GAAY,KAEZC,GAEAC,GAAYF,GAAK,SACjBG,GAAYH,GAAK,KAGrB,SAASI,GAAgBC,EAAQC,EAAa,CAC1C,OAAO,WAAW,uBAAyBD,EAAO,IAAM,OAASC,GAAe,GAAK,MAAQD,EAAO,GAAG,CAC3G,CAFSE,EAAAH,GAAA,mBAUT,SAASL,GAAOS,EAAQ,CAMpB,KAAK,IAAMA,EAMX,KAAK,IAAM,EAMX,KAAK,IAAMA,EAAO,MACtB,CAnBSD,EAAAR,GAAA,UAqBT,IAAIU,GAAe,OAAO,WAAe,IACnCF,EAAA,SAA4BC,EAAQ,CAClC,GAAIA,aAAkB,YAAc,MAAM,QAAQA,CAAM,EACpD,OAAO,IAAIT,GAAOS,CAAM,EAC5B,MAAM,MAAM,gBAAgB,CAChC,EAJE,sBAMAD,EAAA,SAAsBC,EAAQ,CAC5B,GAAI,MAAM,QAAQA,CAAM,EACpB,OAAO,IAAIT,GAAOS,CAAM,EAC5B,MAAM,MAAM,gBAAgB,CAChC,EAJE,gBAMFE,GAASH,EAAA,UAAkB,CAC3B,OAAOP,GAAK,OACNO,EAAA,SAA6BC,EAAQ,CACnC,OAAQT,GAAO,OAASQ,EAAA,SAAuBC,EAAQ,CACnD,OAAOR,GAAK,OAAO,SAASQ,CAAM,EAC5B,IAAIP,GAAaO,CAAM,EAEvBC,GAAaD,CAAM,CAC7B,EALwB,kBAKrBA,CAAM,CACb,EAPE,uBASAC,EACV,EAZa,UAqBbV,GAAO,OAASW,GAAO,EAEvBX,GAAO,UAAU,OAASC,GAAK,MAAM,UAAU,UAAuCA,GAAK,MAAM,UAAU,MAO3GD,GAAO,UAAU,OAAUQ,EAAA,UAA6B,CACpD,IAAII,EAAQ,WACZ,OAAOJ,EAAA,UAAuB,CAKgC,GAJ1DI,GAAkB,KAAK,IAAI,KAAK,GAAG,EAAI,OAAgB,EAAO,KAAK,IAAI,KAAK,KAAK,EAAI,MACrFA,GAASA,GAAS,KAAK,IAAI,KAAK,GAAG,EAAI,MAAS,KAAO,EAAO,KAAK,IAAI,KAAK,KAAK,EAAI,OACrFA,GAASA,GAAS,KAAK,IAAI,KAAK,GAAG,EAAI,MAAQ,MAAQ,EAAO,KAAK,IAAI,KAAK,KAAK,EAAI,OACrFA,GAASA,GAAS,KAAK,IAAI,KAAK,GAAG,EAAI,MAAQ,MAAQ,EAAO,KAAK,IAAI,KAAK,KAAK,EAAI,OACrFA,GAASA,GAAS,KAAK,IAAI,KAAK,GAAG,EAAK,KAAO,MAAQ,EAAO,KAAK,IAAI,KAAK,KAAK,EAAI,KAAK,OAAOA,EAGjG,IAAK,KAAK,KAAO,GAAK,KAAK,IACvB,WAAK,IAAM,KAAK,IACVP,GAAgB,KAAM,EAAE,EAElC,OAAOO,CACX,EAbO,cAcX,EAhB2B,qBAgBxB,EAMHZ,GAAO,UAAU,MAAQQ,EAAA,UAAsB,CAC3C,OAAO,KAAK,OAAO,EAAI,CAC3B,EAFyB,cAQzBR,GAAO,UAAU,OAASQ,EAAA,UAAuB,CAC7C,IAAII,EAAQ,KAAK,OAAO,EACxB,OAAOA,IAAU,EAAI,EAAEA,EAAQ,GAAK,CACxC,EAH0B,eAO1B,SAASC,IAAiB,CAEtB,IAAIC,EAAO,IAAIX,GAAS,EAAG,CAAC,EACxBY,EAAI,EACR,GAAI,KAAK,IAAM,KAAK,IAAM,EAAG,CACzB,KAAOA,EAAI,EAAG,EAAEA,EAGZ,GADAD,EAAK,IAAMA,EAAK,IAAM,KAAK,IAAI,KAAK,GAAG,EAAI,MAAQC,EAAI,KAAO,EAC1D,KAAK,IAAI,KAAK,KAAK,EAAI,IACvB,OAAOD,EAKf,GAFAA,EAAK,IAAMA,EAAK,IAAM,KAAK,IAAI,KAAK,GAAG,EAAI,MAAQ,MAAQ,EAC3DA,EAAK,IAAMA,EAAK,IAAM,KAAK,IAAI,KAAK,GAAG,EAAI,MAAS,KAAO,EACvD,KAAK,IAAI,KAAK,KAAK,EAAI,IACvB,OAAOA,EACXC,EAAI,CACR,KAAO,CACH,KAAOA,EAAI,EAAG,EAAEA,EAAG,CAEf,GAAI,KAAK,KAAO,KAAK,IACjB,MAAMV,GAAgB,IAAI,EAG9B,GADAS,EAAK,IAAMA,EAAK,IAAM,KAAK,IAAI,KAAK,GAAG,EAAI,MAAQC,EAAI,KAAO,EAC1D,KAAK,IAAI,KAAK,KAAK,EAAI,IACvB,OAAOD,CACf,CAEA,OAAAA,EAAK,IAAMA,EAAK,IAAM,KAAK,IAAI,KAAK,KAAK,EAAI,MAAQC,EAAI,KAAO,EACzDD,CACX,CACA,GAAI,KAAK,IAAM,KAAK,IAAM,GACtB,KAAOC,EAAI,EAAG,EAAEA,EAGZ,GADAD,EAAK,IAAMA,EAAK,IAAM,KAAK,IAAI,KAAK,GAAG,EAAI,MAAQC,EAAI,EAAI,KAAO,EAC9D,KAAK,IAAI,KAAK,KAAK,EAAI,IACvB,OAAOD,MAGf,MAAOC,EAAI,EAAG,EAAEA,EAAG,CAEf,GAAI,KAAK,KAAO,KAAK,IACjB,MAAMV,GAAgB,IAAI,EAG9B,GADAS,EAAK,IAAMA,EAAK,IAAM,KAAK,IAAI,KAAK,GAAG,EAAI,MAAQC,EAAI,EAAI,KAAO,EAC9D,KAAK,IAAI,KAAK,KAAK,EAAI,IACvB,OAAOD,CACf,CAGJ,MAAM,MAAM,yBAAyB,CACzC,CAnDSN,EAAAK,GAAA,kBAgFTb,GAAO,UAAU,KAAOQ,EAAA,UAAqB,CACzC,OAAO,KAAK,OAAO,IAAM,CAC7B,EAFwB,aAIxB,SAASQ,GAAgBC,EAAKC,EAAK,CAC/B,OAAQD,EAAIC,EAAM,CAAC,EACXD,EAAIC,EAAM,CAAC,GAAK,EAChBD,EAAIC,EAAM,CAAC,GAAK,GAChBD,EAAIC,EAAM,CAAC,GAAK,MAAQ,CACpC,CALSV,EAAAQ,GAAA,mBAWThB,GAAO,UAAU,QAAUQ,EAAA,UAAwB,CAG/C,GAAI,KAAK,IAAM,EAAI,KAAK,IACpB,MAAMH,GAAgB,KAAM,CAAC,EAEjC,OAAOW,GAAgB,KAAK,IAAK,KAAK,KAAO,CAAC,CAClD,EAP2B,gBAa3BhB,GAAO,UAAU,SAAWQ,EAAA,UAAyB,CAGjD,GAAI,KAAK,IAAM,EAAI,KAAK,IACpB,MAAMH,GAAgB,KAAM,CAAC,EAEjC,OAAOW,GAAgB,KAAK,IAAK,KAAK,KAAO,CAAC,EAAI,CACtD,EAP4B,iBAW5B,SAASG,IAAgC,CAGrC,GAAI,KAAK,IAAM,EAAI,KAAK,IACpB,MAAMd,GAAgB,KAAM,CAAC,EAEjC,OAAO,IAAIF,GAASa,GAAgB,KAAK,IAAK,KAAK,KAAO,CAAC,EAAGA,GAAgB,KAAK,IAAK,KAAK,KAAO,CAAC,CAAC,CAC1G,CAPSR,EAAAW,GAAA,eA8BTnB,GAAO,UAAU,MAAQQ,EAAA,UAAsB,CAG3C,GAAI,KAAK,IAAM,EAAI,KAAK,IACpB,MAAMH,GAAgB,KAAM,CAAC,EAEjC,IAAIO,EAAQX,GAAK,MAAM,YAAY,KAAK,IAAK,KAAK,GAAG,EACrD,YAAK,KAAO,EACLW,CACX,EATyB,cAgBzBZ,GAAO,UAAU,OAASQ,EAAA,UAAuB,CAG7C,GAAI,KAAK,IAAM,EAAI,KAAK,IACpB,MAAMH,GAAgB,KAAM,CAAC,EAEjC,IAAIO,EAAQX,GAAK,MAAM,aAAa,KAAK,IAAK,KAAK,GAAG,EACtD,YAAK,KAAO,EACLW,CACX,EAT0B,eAe1BZ,GAAO,UAAU,MAAQQ,EAAA,UAAsB,CAC3C,IAAIY,EAAS,KAAK,OAAO,EACrBC,EAAS,KAAK,IACdH,EAAS,KAAK,IAAME,EAGxB,GAAIF,EAAM,KAAK,IACX,MAAMb,GAAgB,KAAMe,CAAM,EAGtC,GADA,KAAK,KAAOA,EACR,MAAM,QAAQ,KAAK,GAAG,EACtB,OAAO,KAAK,IAAI,MAAMC,EAAOH,CAAG,EAEpC,GAAIG,IAAUH,EAAK,CACf,IAAII,EAAerB,GAAK,OACxB,OAAOqB,EACDA,EAAa,MAAM,CAAC,EACpB,IAAI,KAAK,IAAI,YAAY,CAAC,CACpC,CACA,OAAO,KAAK,OAAO,KAAK,KAAK,IAAKD,EAAOH,CAAG,CAChD,EApByB,cA0BzBlB,GAAO,UAAU,OAASQ,EAAA,UAAuB,CAC7C,IAAIe,EAAQ,KAAK,MAAM,EACvB,OAAOnB,GAAK,KAAKmB,EAAO,EAAGA,EAAM,MAAM,CAC3C,EAH0B,eAU1BvB,GAAO,UAAU,KAAOQ,EAAA,SAAcY,EAAQ,CAC1C,GAAI,OAAOA,GAAW,SAAU,CAE5B,GAAI,KAAK,IAAMA,EAAS,KAAK,IACzB,MAAMf,GAAgB,KAAMe,CAAM,EACtC,KAAK,KAAOA,CAChB,KACI,GAEI,IAAI,KAAK,KAAO,KAAK,IACjB,MAAMf,GAAgB,IAAI,QACzB,KAAK,IAAI,KAAK,KAAK,EAAI,KAEpC,OAAO,IACX,EAdwB,QAqBxBL,GAAO,UAAU,SAAW,SAASwB,EAAU,CAC3C,OAAQA,EAAU,CACd,IAAK,GACD,KAAK,KAAK,EACV,MACJ,IAAK,GACD,KAAK,KAAK,CAAC,EACX,MACJ,IAAK,GACD,KAAK,KAAK,KAAK,OAAO,CAAC,EACvB,MACJ,IAAK,GACD,MAAQA,EAAW,KAAK,OAAO,EAAI,KAAO,GACtC,KAAK,SAASA,CAAQ,EAE1B,MACJ,IAAK,GACD,KAAK,KAAK,CAAC,EACX,MAGJ,QACI,MAAM,MAAM,qBAAuBA,EAAW,cAAgB,KAAK,GAAG,CAC9E,CACA,OAAO,IACX,EAEAxB,GAAO,WAAa,SAASyB,EAAe,CACxCvB,GAAeuB,EACfzB,GAAO,OAASW,GAAO,EACvBT,GAAa,WAAW,EAExB,IAAIwB,EAAKzB,GAAK,KAAO,SAAsC,WAC3DA,GAAK,MAAMD,GAAO,UAAW,CAEzB,MAAOQ,EAAA,UAAsB,CACzB,OAAOK,GAAe,KAAK,IAAI,EAAEa,CAAE,EAAE,EAAK,CAC9C,EAFO,cAIP,OAAQlB,EAAA,UAAuB,CAC3B,OAAOK,GAAe,KAAK,IAAI,EAAEa,CAAE,EAAE,EAAI,CAC7C,EAFQ,eAIR,OAAQlB,EAAA,UAAuB,CAC3B,OAAOK,GAAe,KAAK,IAAI,EAAE,SAAS,EAAEa,CAAE,EAAE,EAAK,CACzD,EAFQ,eAIR,QAASlB,EAAA,UAAwB,CAC7B,OAAOW,GAAY,KAAK,IAAI,EAAEO,CAAE,EAAE,EAAI,CAC1C,EAFS,gBAIT,SAAUlB,EAAA,UAAyB,CAC/B,OAAOW,GAAY,KAAK,IAAI,EAAEO,CAAE,EAAE,EAAK,CAC3C,EAFU,gBAId,CAAC,CACL,IC/ZA,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cACAA,GAAO,QAAUC,GAGjB,IAAIC,GAAS,MACZD,GAAa,UAAY,OAAO,OAAOC,GAAO,SAAS,GAAG,YAAcD,GAEzE,IAAIE,GAAO,KASX,SAASF,GAAaG,EAAQ,CAC1BF,GAAO,KAAK,KAAME,CAAM,CAO5B,CARSC,EAAAJ,GAAA,gBAUTA,GAAa,WAAa,UAAY,CAE9BE,GAAK,SACLF,GAAa,UAAU,OAASE,GAAK,OAAO,UAAU,MAC9D,EAMAF,GAAa,UAAU,OAASI,EAAA,UAA8B,CAC1D,IAAIC,EAAM,KAAK,OAAO,EACtB,OAAO,KAAK,IAAI,UACV,KAAK,IAAI,UAAU,KAAK,IAAK,KAAK,IAAM,KAAK,IAAI,KAAK,IAAMA,EAAK,KAAK,GAAG,CAAC,EAC1E,KAAK,IAAI,SAAS,QAAS,KAAK,IAAK,KAAK,IAAM,KAAK,IAAI,KAAK,IAAMA,EAAK,KAAK,GAAG,CAAC,CAC5F,EALgC,sBAchCL,GAAa,WAAW,IClDxB,IAAAM,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cACAA,GAAO,QAAUC,GAEjB,IAAIC,GAAO,MAGVD,GAAQ,UAAY,OAAO,OAAOC,GAAK,aAAa,SAAS,GAAG,YAAcD,GAmC/E,SAASA,GAAQE,EAASC,EAAkBC,EAAmB,CAE3D,GAAI,OAAOF,GAAY,WACnB,MAAM,UAAU,4BAA4B,EAEhDD,GAAK,aAAa,KAAK,IAAI,EAM3B,KAAK,QAAUC,EAMf,KAAK,iBAAmB,EAAQC,EAMhC,KAAK,kBAAoB,EAAQC,CACrC,CAxBSC,EAAAL,GAAA,WAqCTA,GAAQ,UAAU,QAAUK,EAAA,SAASC,EAAQC,EAAQC,EAAaC,EAAcC,EAASC,EAAU,CAE/F,GAAI,CAACD,EACD,MAAM,UAAU,2BAA2B,EAE/C,IAAIE,EAAO,KACX,GAAI,CAACD,EACD,OAAOV,GAAK,UAAUK,EAASM,EAAML,EAAQC,EAAaC,EAAcC,CAAO,EAEnF,GAAI,CAACE,EAAK,QAAS,CACf,WAAW,UAAW,CAAED,EAAS,MAAM,eAAe,CAAC,CAAG,EAAG,CAAC,EAC9D,MACJ,CAEA,GAAI,CACA,OAAOC,EAAK,QACRL,EACAC,EAAYI,EAAK,iBAAmB,kBAAoB,QAAQ,EAAEF,CAAO,EAAE,OAAO,EAClFL,EAAA,SAAqBQ,EAAKC,EAAU,CAEhC,GAAID,EACA,OAAAD,EAAK,KAAK,QAASC,EAAKN,CAAM,EACvBI,EAASE,CAAG,EAGvB,GAAIC,IAAa,KAAM,CACnBF,EAAK,IAAqB,EAAI,EAC9B,MACJ,CAEA,GAAI,EAAEE,aAAoBL,GACtB,GAAI,CACAK,EAAWL,EAAaG,EAAK,kBAAoB,kBAAoB,QAAQ,EAAEE,CAAQ,CAC3F,OAASD,EAAK,CACV,OAAAD,EAAK,KAAK,QAASC,EAAKN,CAAM,EACvBI,EAASE,CAAG,CACvB,CAGJ,OAAAD,EAAK,KAAK,OAAQE,EAAUP,CAAM,EAC3BI,EAAS,KAAMG,CAAQ,CAClC,EAvBA,cAwBJ,CACJ,OAASD,EAAK,CACVD,EAAK,KAAK,QAASC,EAAKN,CAAM,EAC9B,WAAW,UAAW,CAAEI,EAASE,CAAG,CAAG,EAAG,CAAC,EAC3C,MACJ,CACJ,EAhD4B,WAuD5Bb,GAAQ,UAAU,IAAMK,EAAA,SAAaU,EAAY,CAC7C,OAAI,KAAK,UACAA,GACD,KAAK,QAAQ,KAAM,KAAM,IAAI,EACjC,KAAK,QAAU,KACf,KAAK,KAAK,KAAK,EAAE,IAAI,GAElB,IACX,EARwB,SCrIxB,IAAAC,GAAAC,EAAAC,IAAA,cAMA,IAAIC,GAAMD,GA6BVC,GAAI,QAAU,OCnCd,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cACAA,GAAO,QAAU,CAAC,ICDlB,IAAAC,GAAAC,EAAAC,IAAA,cACA,IAAIC,GAAWD,GAQfC,GAAS,MAAQ,UAGjBA,GAAS,OAAe,KACxBA,GAAS,aAAe,KACxBA,GAAS,OAAe,KACxBA,GAAS,aAAe,KAGxBA,GAAS,KAAe,KACxBA,GAAS,IAAe,KACxBA,GAAS,MAAe,KACxBA,GAAS,UAAeC,GAOxB,SAASA,IAAY,CACjBD,GAAS,KAAK,WAAW,EACzBA,GAAS,OAAO,WAAWA,GAAS,YAAY,EAChDA,GAAS,OAAO,WAAWA,GAAS,YAAY,CACpD,CAJSE,EAAAD,GAAA,aAOTA,GAAU,ICnCV,IAAAE,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cACAA,GAAO,QAAUC,GASjB,SAASA,GAAQC,EAAgBC,EAAc,CAGvC,OAAOD,GAAmB,WAC1BC,EAAeD,EACfA,EAAiB,QAGrB,IAAIE,EAAO,CAAC,EAYZ,SAASC,EAAQC,EAAqB,CAIlC,GAAI,OAAOA,GAAwB,SAAU,CACzC,IAAIC,EAASC,EAAS,EAItB,GAHIP,GAAQ,SACR,QAAQ,IAAI,YAAcM,CAAM,EACpCA,EAAS,UAAYA,EACjBD,EAAqB,CAKrB,QAJIG,EAAc,OAAO,KAAKH,CAAmB,EAC7CI,EAAc,IAAI,MAAMD,EAAU,OAAS,CAAC,EAC5CE,EAAc,IAAI,MAAMF,EAAU,MAAM,EACxCG,EAAc,EACXA,EAAcH,EAAU,QAC3BC,EAAYE,CAAW,EAAIH,EAAUG,CAAW,EAChDD,EAAYC,CAAW,EAAIN,EAAoBG,EAAUG,GAAa,CAAC,EAE3E,OAAAF,EAAYE,CAAW,EAAIL,EACpB,SAAS,MAAM,KAAMG,CAAW,EAAE,MAAM,KAAMC,CAAW,CACpE,CACA,OAAO,SAASJ,CAAM,EAAE,CAC5B,CAKA,QAFIM,EAAe,IAAI,MAAM,UAAU,OAAS,CAAC,EAC7CC,EAAe,EACZA,EAAeD,EAAa,QAC/BA,EAAaC,CAAY,EAAI,UAAU,EAAEA,CAAY,EAYzD,GAXAA,EAAe,EACfR,EAAsBA,EAAoB,QAAQ,eAAgBS,EAAA,SAAiBC,EAAIC,EAAI,CACvF,IAAIC,EAAQL,EAAaC,GAAc,EACvC,OAAQG,EAAI,CACR,IAAK,IAAK,IAAK,IAAK,OAAO,OAAO,OAAOC,CAAK,CAAC,EAC/C,IAAK,IAAK,OAAO,OAAO,KAAK,MAAMA,CAAK,CAAC,EACzC,IAAK,IAAK,OAAO,KAAK,UAAUA,CAAK,EACrC,IAAK,IAAK,OAAO,OAAOA,CAAK,CACjC,CACA,MAAO,GACX,EATkE,UASjE,EACGJ,IAAiBD,EAAa,OAC9B,MAAM,MAAM,0BAA0B,EAC1C,OAAAT,EAAK,KAAKE,CAAmB,EACtBD,CACX,CA5CSU,EAAAV,EAAA,WA8CT,SAASG,EAASW,EAAsB,CACpC,MAAO,aAAeA,GAAwBhB,GAAgB,IAAM,KAAOD,GAAkBA,EAAe,KAAK,GAAG,GAAK,IAAM;AAAA,IAAWE,EAAK,KAAK;AAAA,GAAM,EAAI;AAAA,EAClK,CAFS,OAAAW,EAAAP,EAAA,YAITH,EAAQ,SAAWG,EACZH,CACX,CAxESU,EAAAd,GAAA,WAwFTA,GAAQ,QAAU,KClGlB,IAAAmB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cACAA,GAAO,QAAUC,GAEjB,IAAIC,GAAY,KACZC,GAAY,KAEZC,GAAKD,GAAQ,IAAI,EA2BrB,SAASF,GAAMI,EAAUC,EAASC,EAAU,CAOxC,OANI,OAAOD,GAAY,YACnBC,EAAWD,EACXA,EAAU,CAAC,GACHA,IACRA,EAAU,CAAC,GAEVC,EAID,CAACD,EAAQ,KAAOF,IAAMA,GAAG,SAClBA,GAAG,SAASC,EAAUG,EAAA,SAA+BC,EAAKC,EAAU,CACvE,OAAOD,GAAO,OAAO,eAAmB,IAClCR,GAAM,IAAII,EAAUC,EAASC,CAAQ,EACrCE,EACAF,EAASE,CAAG,EACZF,EAAS,KAAMD,EAAQ,OAASI,EAAWA,EAAS,SAAS,MAAM,CAAC,CAC9E,EAN6B,wBAM5B,EAGET,GAAM,IAAII,EAAUC,EAASC,CAAQ,EAbjCL,GAAUD,GAAO,KAAMI,EAAUC,CAAO,CAcvD,CAtBSE,EAAAP,GAAA,SA6CTA,GAAM,IAAMO,EAAA,SAAmBH,EAAUC,EAASC,EAAU,CACxD,IAAII,EAAM,IAAI,eACdA,EAAI,mBAA4CH,EAAA,UAAmC,CAE/E,GAAIG,EAAI,aAAe,EAMvB,IAAIA,EAAI,SAAW,GAAKA,EAAI,SAAW,IACnC,OAAOJ,EAAS,MAAM,UAAYI,EAAI,MAAM,CAAC,EAIjD,GAAIL,EAAQ,OAAQ,CAChB,IAAIM,EAASD,EAAI,SACjB,GAAI,CAACC,EAAQ,CACTA,EAAS,CAAC,EACV,QAASC,EAAI,EAAGA,EAAIF,EAAI,aAAa,OAAQ,EAAEE,EAC3CD,EAAO,KAAKD,EAAI,aAAa,WAAWE,CAAC,EAAI,GAAG,CACxD,CACA,OAAON,EAAS,KAAM,OAAO,WAAe,IAAc,IAAI,WAAWK,CAAM,EAAIA,CAAM,CAC7F,CACA,OAAOL,EAAS,KAAMI,EAAI,YAAY,EAC1C,EAvBgD,2BAyB5CL,EAAQ,SAEJ,qBAAsBK,GACtBA,EAAI,iBAAiB,oCAAoC,EAC7DA,EAAI,aAAe,eAGvBA,EAAI,KAAK,MAAON,CAAQ,EACxBM,EAAI,KAAK,CACb,EApCY,eC9EZ,IAAAG,GAAAC,EAAAC,IAAA,cAOA,IAAIC,GAAOD,GAEPE,GAMJD,GAAK,WAAaE,EAAA,SAAoBF,EAAM,CACxC,MAAO,eAAe,KAAKA,CAAI,CACnC,EAFkB,cAIdG,GAMJH,GAAK,UAAYE,EAAA,SAAmBF,EAAM,CACtCA,EAAOA,EAAK,QAAQ,MAAO,GAAG,EAClB,QAAQ,UAAW,GAAG,EAClC,IAAII,EAAWJ,EAAK,MAAM,GAAG,EACzBK,EAAWJ,GAAWD,CAAI,EAC1BM,EAAW,GACXD,IACAC,EAASF,EAAM,MAAM,EAAI,KAC7B,QAASG,EAAI,EAAGA,EAAIH,EAAM,QAClBA,EAAMG,CAAC,IAAM,KACTA,EAAI,GAAKH,EAAMG,EAAI,CAAC,IAAM,KAC1BH,EAAM,OAAO,EAAEG,EAAG,CAAC,EACdF,EACLD,EAAM,OAAOG,EAAG,CAAC,EAEjB,EAAEA,EACCH,EAAMG,CAAC,IAAM,IACpBH,EAAM,OAAOG,EAAG,CAAC,EAEjB,EAAEA,EAEV,OAAOD,EAASF,EAAM,KAAK,GAAG,CAClC,EAtBiB,aA+BjBJ,GAAK,QAAUE,EAAA,SAAiBM,EAAYC,EAAaC,EAAmB,CAGxE,OAFKA,IACDD,EAAcN,GAAUM,CAAW,GACnCR,GAAWQ,CAAW,EACfA,GACNC,IACDF,EAAaL,GAAUK,CAAU,IAC7BA,EAAaA,EAAW,QAAQ,iBAAkB,EAAE,GAAG,OAASL,GAAUK,EAAa,IAAMC,CAAW,EAAIA,EACxH,EARe,aCxDf,IAAAE,GAAAC,EAAAC,IAAA,cAMA,IAAIC,GAAQD,GAERE,GAAO,KAEPC,GAAI,CACJ,SACA,QACA,QACA,SACA,SACA,UACA,WACA,QACA,SACA,SACA,UACA,WACA,OACA,SACA,OACJ,EAEA,SAASC,GAAKC,EAAQC,EAAQ,CAC1B,IAAIC,EAAI,EAAGC,EAAI,CAAC,EAEhB,IADAF,GAAU,EACHC,EAAIF,EAAO,QAAQG,EAAEL,GAAEI,EAAID,CAAM,CAAC,EAAID,EAAOE,GAAG,EACvD,OAAOC,CACX,CALSC,EAAAL,GAAA,QA2BTH,GAAM,MAAQG,GAAK,CACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,CACnB,CAAC,EAuBDH,GAAM,SAAWG,GAAK,CACH,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GACA,GACAF,GAAK,WACL,IACnB,CAAC,EAYDD,GAAM,KAAOG,GAAK,CACC,EACA,EACA,EACA,EACA,CACnB,EAAG,CAAC,EAmBJH,GAAM,OAASG,GAAK,CACD,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,CACnB,EAAG,CAAC,EAoBJH,GAAM,OAASG,GAAK,CACD,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,CACnB,CAAC,ICnMD,IAAAM,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cACAA,GAAO,QAAUC,GAGjB,IAAIC,GAAmB,OACrBD,GAAM,UAAY,OAAO,OAAOC,GAAiB,SAAS,GAAG,YAAcD,IAAO,UAAY,QAEhG,IAAIE,GAAQ,KACRC,GAAQ,KACRC,GAAQ,KAERC,GAEAC,GAAS,+BAuBbN,GAAM,SAAWO,EAAA,SAAkBC,EAAMC,EAAM,CAC3C,OAAO,IAAIT,GAAMQ,EAAMC,EAAK,GAAIA,EAAK,KAAMA,EAAK,KAAMA,EAAK,OAAQA,EAAK,QAASA,EAAK,OAAO,CACjG,EAFiB,YAkBjB,SAAST,GAAMQ,EAAME,EAAIC,EAAMC,EAAMC,EAAQC,EAASC,EAAS,CAc3D,GAZIX,GAAK,SAASQ,CAAI,GAClBG,EAAUF,EACVC,EAAUF,EACVA,EAAOC,EAAS,QACTT,GAAK,SAASS,CAAM,IAC3BE,EAAUD,EACVA,EAAUD,EACVA,EAAS,QAGbZ,GAAiB,KAAK,KAAMO,EAAMM,CAAO,EAErC,CAACV,GAAK,UAAUM,CAAE,GAAKA,EAAK,EAC5B,MAAM,UAAU,mCAAmC,EAEvD,GAAI,CAACN,GAAK,SAASO,CAAI,EACnB,MAAM,UAAU,uBAAuB,EAE3C,GAAIC,IAAS,QAAa,CAACN,GAAO,KAAKM,EAAOA,EAAK,SAAS,EAAE,YAAY,CAAC,EACvE,MAAM,UAAU,4BAA4B,EAEhD,GAAIC,IAAW,QAAa,CAACT,GAAK,SAASS,CAAM,EAC7C,MAAM,UAAU,yBAAyB,EAMzCD,IAAS,oBACTA,EAAO,YAEX,KAAK,KAAOA,GAAQA,IAAS,WAAaA,EAAO,OAMjD,KAAK,KAAOD,EAMZ,KAAK,GAAKD,EAMV,KAAK,OAASG,GAAU,OAMxB,KAAK,SAAWD,IAAS,WAMzB,KAAK,SAAW,CAAC,KAAK,SAMtB,KAAK,SAAWA,IAAS,WAMzB,KAAK,IAAM,GAMX,KAAK,QAAU,KAMf,KAAK,OAAS,KAMd,KAAK,YAAc,KAMnB,KAAK,aAAe,KAMpB,KAAK,KAAOR,GAAK,KAAOD,GAAM,KAAKQ,CAAI,IAAM,OAAuC,GAMpF,KAAK,MAAQA,IAAS,QAMtB,KAAK,aAAe,KAMpB,KAAK,eAAiB,KAMtB,KAAK,eAAiB,KAOtB,KAAK,QAAU,KAMf,KAAK,QAAUI,CACnB,CA/ISR,EAAAP,GAAA,SAuJT,OAAO,eAAeA,GAAM,UAAW,SAAU,CAC7C,IAAK,UAAW,CAEZ,OAAI,KAAK,UAAY,OACjB,KAAK,QAAU,KAAK,UAAU,QAAQ,IAAM,IACzC,KAAK,OAChB,CACJ,CAAC,EAKDA,GAAM,UAAU,UAAYO,EAAA,SAAmBC,EAAMQ,EAAOC,EAAU,CAClE,OAAIT,IAAS,WACT,KAAK,QAAU,MACZP,GAAiB,UAAU,UAAU,KAAK,KAAMO,EAAMQ,EAAOC,CAAQ,CAChF,EAJ4B,aA2B5BjB,GAAM,UAAU,OAASO,EAAA,SAAgBW,EAAe,CACpD,IAAIC,EAAeD,EAAgB,EAAQA,EAAc,aAAgB,GACzE,OAAOd,GAAK,SAAS,CACjB,OAAY,KAAK,OAAS,YAAc,KAAK,MAAQ,OACrD,OAAY,KAAK,KACjB,KAAY,KAAK,GACjB,SAAY,KAAK,OACjB,UAAY,KAAK,QACjB,UAAYe,EAAe,KAAK,QAAU,MAC9C,CAAC,CACL,EAVyB,UAiBzBnB,GAAM,UAAU,QAAUO,EAAA,UAAmB,CAEzC,GAAI,KAAK,SACL,OAAO,KA6BX,IA3BK,KAAK,YAAcJ,GAAM,SAAS,KAAK,IAAI,KAAO,QACnD,KAAK,cAAgB,KAAK,eAAiB,KAAK,eAAe,OAAS,KAAK,QAAQ,iBAAiB,KAAK,IAAI,EAC3G,KAAK,wBAAwBE,GAC7B,KAAK,YAAc,KAEnB,KAAK,YAAc,KAAK,aAAa,OAAO,OAAO,KAAK,KAAK,aAAa,MAAM,EAAE,CAAC,CAAC,GACjF,KAAK,SAAW,KAAK,QAAQ,kBAEpC,KAAK,YAAc,MAInB,KAAK,SAAW,KAAK,QAAQ,SAAc,OAC3C,KAAK,YAAc,KAAK,QAAQ,QAC5B,KAAK,wBAAwBH,IAAQ,OAAO,KAAK,aAAgB,WACjE,KAAK,YAAc,KAAK,aAAa,OAAO,KAAK,WAAW,IAIhE,KAAK,WACD,KAAK,QAAQ,SAAW,IAAQ,KAAK,QAAQ,SAAW,QAAa,KAAK,cAAgB,EAAE,KAAK,wBAAwBA,MACzH,OAAO,KAAK,QAAQ,OACnB,OAAO,KAAK,KAAK,OAAO,EAAE,SAC3B,KAAK,QAAU,SAInB,KAAK,KACL,KAAK,YAAcE,GAAK,KAAK,WAAW,KAAK,YAAa,KAAK,KAAK,OAAO,CAAC,IAAM,GAAG,EAGjF,OAAO,QACP,OAAO,OAAO,KAAK,WAAW,UAE3B,KAAK,OAAS,OAAO,KAAK,aAAgB,SAAU,CAC3D,IAAIgB,EACAhB,GAAK,OAAO,KAAK,KAAK,WAAW,EACjCA,GAAK,OAAO,OAAO,KAAK,YAAagB,EAAMhB,GAAK,UAAUA,GAAK,OAAO,OAAO,KAAK,WAAW,CAAC,EAAG,CAAC,EAElGA,GAAK,KAAK,MAAM,KAAK,YAAagB,EAAMhB,GAAK,UAAUA,GAAK,KAAK,OAAO,KAAK,WAAW,CAAC,EAAG,CAAC,EACjG,KAAK,YAAcgB,CACvB,CAGA,OAAI,KAAK,IACL,KAAK,aAAehB,GAAK,YACpB,KAAK,SACV,KAAK,aAAeA,GAAK,WAEzB,KAAK,aAAe,KAAK,YAGzB,KAAK,kBAAkBC,KACvB,KAAK,OAAO,KAAK,UAAU,KAAK,IAAI,EAAI,KAAK,cAE1CJ,GAAiB,UAAU,QAAQ,KAAK,IAAI,CACvD,EA7D0B,WAmF1BD,GAAM,EAAIO,EAAA,SAAuBc,EAASC,EAAWC,EAAWC,EAAc,CAG1E,OAAI,OAAOF,GAAc,WACrBA,EAAYlB,GAAK,aAAakB,CAAS,EAAE,KAGpCA,GAAa,OAAOA,GAAc,WACvCA,EAAYlB,GAAK,aAAakB,CAAS,EAAE,MAEtCf,EAAA,SAAwBkB,EAAWC,EAAW,CACjDtB,GAAK,aAAaqB,EAAU,WAAW,EAClC,IAAI,IAAIzB,GAAM0B,EAAWL,EAASC,EAAWC,EAAW,CAAE,QAAWC,CAAa,CAAC,CAAC,CAC7F,EAHO,iBAIX,EAdU,iBA8BVxB,GAAM,WAAaO,EAAA,SAAmBoB,EAAO,CACzCtB,GAAOsB,CACX,EAFmB,eCtXnB,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cACAA,GAAO,QAAUC,GAGjB,IAAIC,GAAmB,OACrBD,GAAM,UAAY,OAAO,OAAOC,GAAiB,SAAS,GAAG,YAAcD,IAAO,UAAY,QAEhG,IAAIE,GAAQ,KACRC,GAAQ,KAYZ,SAASH,GAAMI,EAAMC,EAAYC,EAASC,EAAS,CAQ/C,GAPK,MAAM,QAAQF,CAAU,IACzBC,EAAUD,EACVA,EAAa,QAEjBJ,GAAiB,KAAK,KAAMG,EAAME,CAAO,EAGrC,EAAED,IAAe,QAAa,MAAM,QAAQA,CAAU,GACtD,MAAM,UAAU,6BAA6B,EAMjD,KAAK,MAAQA,GAAc,CAAC,EAO5B,KAAK,YAAc,CAAC,EAMpB,KAAK,QAAUE,CACnB,CA7BSC,EAAAR,GAAA,SA6CTA,GAAM,SAAWQ,EAAA,SAAkBJ,EAAMK,EAAM,CAC3C,OAAO,IAAIT,GAAMI,EAAMK,EAAK,MAAOA,EAAK,QAASA,EAAK,OAAO,CACjE,EAFiB,YASjBT,GAAM,UAAU,OAASQ,EAAA,SAAgBE,EAAe,CACpD,IAAIC,EAAeD,EAAgB,EAAQA,EAAc,aAAgB,GACzE,OAAOP,GAAK,SAAS,CACjB,UAAY,KAAK,QACjB,QAAY,KAAK,MACjB,UAAYQ,EAAe,KAAK,QAAU,MAC9C,CAAC,CACL,EAPyB,UAgBzB,SAASC,GAAkBC,EAAO,CAC9B,GAAIA,EAAM,OACN,QAASC,EAAI,EAAGA,EAAID,EAAM,YAAY,OAAQ,EAAEC,EACvCD,EAAM,YAAYC,CAAC,EAAE,QACtBD,EAAM,OAAO,IAAIA,EAAM,YAAYC,CAAC,CAAC,CACrD,CALSN,EAAAI,GAAA,qBAYTZ,GAAM,UAAU,IAAMQ,EAAA,SAAaO,EAAO,CAGtC,GAAI,EAAEA,aAAiBb,IACnB,MAAM,UAAU,uBAAuB,EAE3C,OAAIa,EAAM,QAAUA,EAAM,SAAW,KAAK,QACtCA,EAAM,OAAO,OAAOA,CAAK,EAC7B,KAAK,MAAM,KAAKA,EAAM,IAAI,EAC1B,KAAK,YAAY,KAAKA,CAAK,EAC3BA,EAAM,OAAS,KACfH,GAAkB,IAAI,EACf,IACX,EAbsB,OAoBtBZ,GAAM,UAAU,OAASQ,EAAA,SAAgBO,EAAO,CAG5C,GAAI,EAAEA,aAAiBb,IACnB,MAAM,UAAU,uBAAuB,EAE3C,IAAIc,EAAQ,KAAK,YAAY,QAAQD,CAAK,EAG1C,GAAIC,EAAQ,EACR,MAAM,MAAMD,EAAQ,uBAAyB,IAAI,EAErD,YAAK,YAAY,OAAOC,EAAO,CAAC,EAChCA,EAAQ,KAAK,MAAM,QAAQD,EAAM,IAAI,EAGjCC,EAAQ,IACR,KAAK,MAAM,OAAOA,EAAO,CAAC,EAE9BD,EAAM,OAAS,KACR,IACX,EArByB,UA0BzBf,GAAM,UAAU,MAAQQ,EAAA,SAAeS,EAAQ,CAC3ChB,GAAiB,UAAU,MAAM,KAAK,KAAMgB,CAAM,EAGlD,QAFIC,EAAO,KAEF,EAAI,EAAG,EAAI,KAAK,MAAM,OAAQ,EAAE,EAAG,CACxC,IAAIH,EAAQE,EAAO,IAAI,KAAK,MAAM,CAAC,CAAC,EAChCF,GAAS,CAACA,EAAM,SAChBA,EAAM,OAASG,EACfA,EAAK,YAAY,KAAKH,CAAK,EAEnC,CAEAH,GAAkB,IAAI,CAC1B,EAbwB,SAkBxBZ,GAAM,UAAU,SAAWQ,EAAA,SAAkBS,EAAQ,CACjD,QAASH,EAAI,EAAGC,EAAOD,EAAI,KAAK,YAAY,OAAQ,EAAEA,GAC7CC,EAAQ,KAAK,YAAYD,CAAC,GAAG,QAC9BC,EAAM,OAAO,OAAOA,CAAK,EACjCd,GAAiB,UAAU,SAAS,KAAK,KAAMgB,CAAM,CACzD,EAL2B,YAuB3BjB,GAAM,EAAIQ,EAAA,UAAyB,CAG/B,QAFIH,EAAa,IAAI,MAAM,UAAU,MAAM,EACvCW,EAAQ,EACLA,EAAQ,UAAU,QACrBX,EAAWW,CAAK,EAAI,UAAUA,GAAO,EACzC,OAAOR,EAAA,SAAwBW,EAAWC,EAAW,CACjDjB,GAAK,aAAagB,EAAU,WAAW,EAClC,IAAI,IAAInB,GAAMoB,EAAWf,CAAU,CAAC,EACzC,OAAO,eAAec,EAAWC,EAAW,CACxC,IAAKjB,GAAK,YAAYE,CAAU,EAChC,IAAKF,GAAK,YAAYE,CAAU,CACpC,CAAC,CACL,EAPO,iBAQX,EAbU,mBC7LV,IAAAgB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cACAA,GAAO,QAAUC,GAGjB,IAAIC,GAAmB,OACrBD,GAAU,UAAY,OAAO,OAAOC,GAAiB,SAAS,GAAG,YAAcD,IAAW,UAAY,YAExG,IAAIE,GAAW,KACXC,GAAW,KACXC,GAAW,KAEXC,GACAC,GACAC,GAqBJP,GAAU,SAAWQ,EAAA,SAAkBC,EAAMC,EAAM,CAC/C,OAAO,IAAIV,GAAUS,EAAMC,EAAK,OAAO,EAAE,QAAQA,EAAK,MAAM,CAChE,EAFqB,YAWrB,SAASC,GAAYC,EAAOC,EAAe,CACvC,GAAMD,GAASA,EAAM,OAGrB,SADIE,EAAM,CAAC,EACF,EAAI,EAAG,EAAIF,EAAM,OAAQ,EAAE,EAChCE,EAAIF,EAAM,CAAC,EAAE,IAAI,EAAIA,EAAM,CAAC,EAAE,OAAOC,CAAa,EACtD,OAAOC,EACX,CAPSN,EAAAG,GAAA,eASTX,GAAU,YAAcW,GAQxBX,GAAU,aAAeQ,EAAA,SAAsBO,EAAUC,EAAI,CACzD,GAAID,GACA,QAAS,EAAI,EAAG,EAAIA,EAAS,OAAQ,EAAE,EACnC,GAAI,OAAOA,EAAS,CAAC,GAAM,UAAYA,EAAS,CAAC,EAAE,CAAC,GAAKC,GAAMD,EAAS,CAAC,EAAE,CAAC,EAAIC,EAC5E,MAAO,GACnB,MAAO,EACX,EANyB,gBAczBhB,GAAU,eAAiBQ,EAAA,SAAwBO,EAAUN,EAAM,CAC/D,GAAIM,GACA,QAAS,EAAI,EAAG,EAAIA,EAAS,OAAQ,EAAE,EACnC,GAAIA,EAAS,CAAC,IAAMN,EAChB,MAAO,GACnB,MAAO,EACX,EAN2B,kBAmB3B,SAAST,GAAUS,EAAMQ,EAAS,CAC9BhB,GAAiB,KAAK,KAAMQ,EAAMQ,CAAO,EAMzC,KAAK,OAAS,OAOd,KAAK,aAAe,IACxB,CAfST,EAAAR,GAAA,aAiBT,SAASkB,GAAWC,EAAW,CAC3B,OAAAA,EAAU,aAAe,KAClBA,CACX,CAHSX,EAAAU,GAAA,cAWT,OAAO,eAAelB,GAAU,UAAW,cAAe,CACtD,IAAK,UAAW,CACZ,OAAO,KAAK,eAAiB,KAAK,aAAeG,GAAK,QAAQ,KAAK,MAAM,EAC7E,CACJ,CAAC,EA0BDH,GAAU,UAAU,OAASQ,EAAA,SAAgBK,EAAe,CACxD,OAAOV,GAAK,SAAS,CACjB,UAAY,KAAK,QACjB,SAAYQ,GAAY,KAAK,YAAaE,CAAa,CAC3D,CAAC,CACL,EAL6B,UAY7Bb,GAAU,UAAU,QAAUQ,EAAA,SAAiBY,EAAY,CACvD,IAAIC,EAAK,KAET,GAAID,EACA,QAASE,EAAQ,OAAO,KAAKF,CAAU,EAAGG,EAAI,EAAGC,EAAQD,EAAID,EAAM,OAAQ,EAAEC,EACzEC,EAASJ,EAAWE,EAAMC,CAAC,CAAC,EAC5BF,EAAG,KACGG,EAAO,SAAW,OAClBnB,GAAK,SACLmB,EAAO,SAAW,OAClBjB,GAAK,SACLiB,EAAO,UAAY,OACnBlB,GAAQ,SACRkB,EAAO,KAAO,OACdtB,GAAM,SACNF,GAAU,UAAWsB,EAAMC,CAAC,EAAGC,CAAM,CAC3C,EAGR,OAAO,IACX,EApB8B,WA2B9BxB,GAAU,UAAU,IAAMQ,EAAA,SAAaC,EAAM,CACzC,OAAO,KAAK,QAAU,KAAK,OAAOA,CAAI,GAC/B,IACX,EAH0B,OAY1BT,GAAU,UAAU,QAAUQ,EAAA,SAAiBC,EAAM,CACjD,GAAI,KAAK,QAAU,KAAK,OAAOA,CAAI,YAAaF,GAC5C,OAAO,KAAK,OAAOE,CAAI,EAAE,OAC7B,MAAM,MAAM,iBAAmBA,CAAI,CACvC,EAJ8B,WAa9BT,GAAU,UAAU,IAAMQ,EAAA,SAAaiB,EAAQ,CAE3C,GAAI,EAAEA,aAAkBvB,IAASuB,EAAO,SAAW,QAAaA,aAAkBpB,IAASoB,aAAkBrB,IAASqB,aAAkBlB,IAAQkB,aAAkBnB,IAAWmB,aAAkBzB,IAC3L,MAAM,UAAU,sCAAsC,EAE1D,GAAI,CAAC,KAAK,OACN,KAAK,OAAS,CAAC,MACd,CACD,IAAI0B,EAAO,KAAK,IAAID,EAAO,IAAI,EAC/B,GAAIC,EACA,GAAIA,aAAgB1B,IAAayB,aAAkBzB,IAAa,EAAE0B,aAAgBrB,IAAQqB,aAAgBpB,IAAU,CAGhH,QADIkB,EAASE,EAAK,YACTH,EAAI,EAAGA,EAAIC,EAAO,OAAQ,EAAED,EACjCE,EAAO,IAAID,EAAOD,CAAC,CAAC,EACxB,KAAK,OAAOG,CAAI,EACX,KAAK,SACN,KAAK,OAAS,CAAC,GACnBD,EAAO,WAAWC,EAAK,QAAS,EAAI,CAExC,KACI,OAAM,MAAM,mBAAqBD,EAAO,KAAO,QAAU,IAAI,CAEzE,CACA,YAAK,OAAOA,EAAO,IAAI,EAAIA,EAC3BA,EAAO,MAAM,IAAI,EACVP,GAAW,IAAI,CAC1B,EA3B0B,OAoC1BlB,GAAU,UAAU,OAASQ,EAAA,SAAgBiB,EAAQ,CAEjD,GAAI,EAAEA,aAAkBxB,IACpB,MAAM,UAAU,mCAAmC,EACvD,GAAIwB,EAAO,SAAW,KAClB,MAAM,MAAMA,EAAS,uBAAyB,IAAI,EAEtD,cAAO,KAAK,OAAOA,EAAO,IAAI,EACzB,OAAO,KAAK,KAAK,MAAM,EAAE,SAC1B,KAAK,OAAS,QAElBA,EAAO,SAAS,IAAI,EACbP,GAAW,IAAI,CAC1B,EAb6B,UAqB7BlB,GAAU,UAAU,OAASQ,EAAA,SAAgBmB,EAAMjB,EAAM,CAErD,GAAIP,GAAK,SAASwB,CAAI,EAClBA,EAAOA,EAAK,MAAM,GAAG,UAChB,CAAC,MAAM,QAAQA,CAAI,EACxB,MAAM,UAAU,cAAc,EAClC,GAAIA,GAAQA,EAAK,QAAUA,EAAK,CAAC,IAAM,GACnC,MAAM,MAAM,uBAAuB,EAGvC,QADIC,EAAM,KACHD,EAAK,OAAS,GAAG,CACpB,IAAIE,EAAOF,EAAK,MAAM,EACtB,GAAIC,EAAI,QAAUA,EAAI,OAAOC,CAAI,GAE7B,GADAD,EAAMA,EAAI,OAAOC,CAAI,EACjB,EAAED,aAAe5B,IACjB,MAAM,MAAM,2CAA2C,OAE3D4B,EAAI,IAAIA,EAAM,IAAI5B,GAAU6B,CAAI,CAAC,CACzC,CACA,OAAInB,GACAkB,EAAI,QAAQlB,CAAI,EACbkB,CACX,EAtB6B,UA4B7B5B,GAAU,UAAU,WAAaQ,EAAA,UAAsB,CAEnD,QADIgB,EAAS,KAAK,YAAaD,EAAI,EAC5BA,EAAIC,EAAO,QACVA,EAAOD,CAAC,YAAavB,GACrBwB,EAAOD,GAAG,EAAE,WAAW,EAEvBC,EAAOD,GAAG,EAAE,QAAQ,EAC5B,OAAO,KAAK,QAAQ,CACxB,EARiC,cAiBjCvB,GAAU,UAAU,OAASQ,EAAA,SAAgBmB,EAAMG,EAAaC,EAAsB,CASlF,GANI,OAAOD,GAAgB,WACvBC,EAAuBD,EACvBA,EAAc,QACPA,GAAe,CAAC,MAAM,QAAQA,CAAW,IAChDA,EAAc,CAAEA,CAAY,GAE5B3B,GAAK,SAASwB,CAAI,GAAKA,EAAK,OAAQ,CACpC,GAAIA,IAAS,IACT,OAAO,KAAK,KAChBA,EAAOA,EAAK,MAAM,GAAG,CACzB,SAAW,CAACA,EAAK,OACb,OAAO,KAGX,GAAIA,EAAK,CAAC,IAAM,GACZ,OAAO,KAAK,KAAK,OAAOA,EAAK,MAAM,CAAC,EAAGG,CAAW,EAGtD,IAAIE,EAAQ,KAAK,IAAIL,EAAK,CAAC,CAAC,EAC5B,GAAIK,GACA,GAAIL,EAAK,SAAW,GAChB,GAAI,CAACG,GAAeA,EAAY,QAAQE,EAAM,WAAW,EAAI,GACzD,OAAOA,UACJA,aAAiBhC,KAAcgC,EAAQA,EAAM,OAAOL,EAAK,MAAM,CAAC,EAAGG,EAAa,EAAI,GAC3F,OAAOE,MAIX,SAAST,EAAI,EAAGA,EAAI,KAAK,YAAY,OAAQ,EAAEA,EAC3C,GAAI,KAAK,aAAaA,CAAC,YAAavB,KAAcgC,EAAQ,KAAK,aAAaT,CAAC,EAAE,OAAOI,EAAMG,EAAa,EAAI,GACzG,OAAOE,EAGnB,OAAI,KAAK,SAAW,MAAQD,EACjB,KACJ,KAAK,OAAO,OAAOJ,EAAMG,CAAW,CAC/C,EAvC6B,UA2D7B9B,GAAU,UAAU,WAAaQ,EAAA,SAAoBmB,EAAM,CACvD,IAAIK,EAAQ,KAAK,OAAOL,EAAM,CAAEtB,EAAK,CAAC,EACtC,GAAI,CAAC2B,EACD,MAAM,MAAM,iBAAmBL,CAAI,EACvC,OAAOK,CACX,EALiC,cAcjChC,GAAU,UAAU,WAAaQ,EAAA,SAAoBmB,EAAM,CACvD,IAAIK,EAAQ,KAAK,OAAOL,EAAM,CAAEpB,EAAK,CAAC,EACtC,GAAI,CAACyB,EACD,MAAM,MAAM,iBAAmBL,EAAO,QAAU,IAAI,EACxD,OAAOK,CACX,EALiC,cAcjChC,GAAU,UAAU,iBAAmBQ,EAAA,SAA0BmB,EAAM,CACnE,IAAIK,EAAQ,KAAK,OAAOL,EAAM,CAAEtB,GAAME,EAAK,CAAC,EAC5C,GAAI,CAACyB,EACD,MAAM,MAAM,yBAA2BL,EAAO,QAAU,IAAI,EAChE,OAAOK,CACX,EALuC,oBAcvChC,GAAU,UAAU,cAAgBQ,EAAA,SAAuBmB,EAAM,CAC7D,IAAIK,EAAQ,KAAK,OAAOL,EAAM,CAAErB,EAAQ,CAAC,EACzC,GAAI,CAAC0B,EACD,MAAM,MAAM,oBAAsBL,EAAO,QAAU,IAAI,EAC3D,OAAOK,CACX,EALoC,iBAQpChC,GAAU,WAAa,SAASiC,EAAOC,EAAUC,EAAO,CACpD9B,GAAU4B,EACV3B,GAAU4B,EACV3B,GAAU4B,CACd,IChbA,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cACAA,GAAO,QAAUC,GAGjB,IAAIC,GAAQ,OACVD,GAAS,UAAY,OAAO,OAAOC,GAAM,SAAS,GAAG,YAAcD,IAAU,UAAY,WAE3F,IAAIE,GAAU,KACVC,GAAU,KAcd,SAASH,GAASI,EAAMC,EAAIC,EAASC,EAAMC,EAASC,EAAS,CAIzD,GAHAR,GAAM,KAAK,KAAMG,EAAMC,EAAIE,EAAM,OAAW,OAAWC,EAASC,CAAO,EAGnE,CAACN,GAAK,SAASG,CAAO,EACtB,MAAM,UAAU,0BAA0B,EAM9C,KAAK,QAAUA,EAMf,KAAK,gBAAkB,KAGvB,KAAK,IAAM,EACf,CArBSI,EAAAV,GAAA,YA4CTA,GAAS,SAAWU,EAAA,SAAkBN,EAAMO,EAAM,CAC9C,OAAO,IAAIX,GAASI,EAAMO,EAAK,GAAIA,EAAK,QAASA,EAAK,KAAMA,EAAK,QAASA,EAAK,OAAO,CAC1F,EAFoB,YASpBX,GAAS,UAAU,OAASU,EAAA,SAAgBE,EAAe,CACvD,IAAIC,EAAeD,EAAgB,EAAQA,EAAc,aAAgB,GACzE,OAAOT,GAAK,SAAS,CACjB,UAAY,KAAK,QACjB,OAAY,KAAK,KACjB,KAAY,KAAK,GACjB,SAAY,KAAK,OACjB,UAAY,KAAK,QACjB,UAAYU,EAAe,KAAK,QAAU,MAC9C,CAAC,CACL,EAV4B,UAe5Bb,GAAS,UAAU,QAAUU,EAAA,UAAmB,CAC5C,GAAI,KAAK,SACL,OAAO,KAGX,GAAIR,GAAM,OAAO,KAAK,OAAO,IAAM,OAC/B,MAAM,MAAM,qBAAuB,KAAK,OAAO,EAEnD,OAAOD,GAAM,UAAU,QAAQ,KAAK,IAAI,CAC5C,EAT6B,WAqB7BD,GAAS,EAAIU,EAAA,SAA0BI,EAASC,EAAcC,EAAgB,CAG1E,OAAI,OAAOA,GAAmB,WAC1BA,EAAiBb,GAAK,aAAaa,CAAc,EAAE,KAG9CA,GAAkB,OAAOA,GAAmB,WACjDA,EAAiBb,GAAK,aAAaa,CAAc,EAAE,MAEhDN,EAAA,SAA2BO,EAAWC,EAAW,CACpDf,GAAK,aAAac,EAAU,WAAW,EAClC,IAAI,IAAIjB,GAASkB,EAAWJ,EAASC,EAAcC,CAAc,CAAC,CAC3E,EAHO,oBAIX,EAda,sBC/Gb,IAAAG,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cACAA,GAAO,QAAUC,GAGjB,IAAIC,GAAmB,OACrBD,GAAO,UAAY,OAAO,OAAOC,GAAiB,SAAS,GAAG,YAAcD,IAAQ,UAAY,SAElG,IAAIE,GAAO,KAiBX,SAASF,GAAOG,EAAMC,EAAMC,EAAaC,EAAcC,EAAeC,EAAgBC,EAASC,EAASC,EAAe,CAYnH,GATIT,GAAK,SAASK,CAAa,GAC3BE,EAAUF,EACVA,EAAgBC,EAAiB,QAC1BN,GAAK,SAASM,CAAc,IACnCC,EAAUD,EACVA,EAAiB,QAIjB,EAAEJ,IAAS,QAAaF,GAAK,SAASE,CAAI,GAC1C,MAAM,UAAU,uBAAuB,EAG3C,GAAI,CAACF,GAAK,SAASG,CAAW,EAC1B,MAAM,UAAU,8BAA8B,EAGlD,GAAI,CAACH,GAAK,SAASI,CAAY,EAC3B,MAAM,UAAU,+BAA+B,EAEnDL,GAAiB,KAAK,KAAME,EAAMM,CAAO,EAMzC,KAAK,KAAOL,GAAQ,MAMpB,KAAK,YAAcC,EAMnB,KAAK,cAAgBE,EAAgB,GAAO,OAM5C,KAAK,aAAeD,EAMpB,KAAK,eAAiBE,EAAiB,GAAO,OAM9C,KAAK,oBAAsB,KAM3B,KAAK,qBAAuB,KAM5B,KAAK,QAAUE,EAKf,KAAK,cAAgBC,CACzB,CA7ESC,EAAAZ,GAAA,UAmGTA,GAAO,SAAWY,EAAA,SAAkBT,EAAMU,EAAM,CAC5C,OAAO,IAAIb,GAAOG,EAAMU,EAAK,KAAMA,EAAK,YAAaA,EAAK,aAAcA,EAAK,cAAeA,EAAK,eAAgBA,EAAK,QAASA,EAAK,QAASA,EAAK,aAAa,CACnK,EAFkB,YASlBb,GAAO,UAAU,OAASY,EAAA,SAAgBE,EAAe,CACrD,IAAIC,EAAeD,EAAgB,EAAQA,EAAc,aAAgB,GACzE,OAAOZ,GAAK,SAAS,CACjB,OAAmB,KAAK,OAAS,OAAoC,KAAK,MAAQ,OAClF,cAAmB,KAAK,YACxB,gBAAmB,KAAK,cACxB,eAAmB,KAAK,aACxB,iBAAmB,KAAK,eACxB,UAAmB,KAAK,QACxB,UAAmBa,EAAe,KAAK,QAAU,OACjD,gBAAmB,KAAK,aAC5B,CAAC,CACL,EAZ0B,UAiB1Bf,GAAO,UAAU,QAAUY,EAAA,UAAmB,CAG1C,OAAI,KAAK,SACE,MAEX,KAAK,oBAAsB,KAAK,OAAO,WAAW,KAAK,WAAW,EAClE,KAAK,qBAAuB,KAAK,OAAO,WAAW,KAAK,YAAY,EAE7DX,GAAiB,UAAU,QAAQ,KAAK,IAAI,EACvD,EAV2B,aCrJ3B,IAAAe,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cACAA,GAAO,QAAUC,GAGjB,IAAIC,GAAY,OACdD,GAAQ,UAAY,OAAO,OAAOC,GAAU,SAAS,GAAG,YAAcD,IAAS,UAAY,UAE7F,IAAIE,GAAS,KACTC,GAAS,KACTC,GAAS,KAWb,SAASJ,GAAQK,EAAMC,EAAS,CAC5BL,GAAU,KAAK,KAAMI,EAAMC,CAAO,EAMlC,KAAK,QAAU,CAAC,EAOhB,KAAK,cAAgB,IACzB,CAfSC,EAAAP,GAAA,WA+BTA,GAAQ,SAAWO,EAAA,SAAkBF,EAAMG,EAAM,CAC7C,IAAIC,EAAU,IAAIT,GAAQK,EAAMG,EAAK,OAAO,EAE5C,GAAIA,EAAK,QACL,QAASE,EAAQ,OAAO,KAAKF,EAAK,OAAO,EAAGG,EAAI,EAAGA,EAAID,EAAM,OAAQ,EAAEC,EACnEF,EAAQ,IAAIP,GAAO,SAASQ,EAAMC,CAAC,EAAGH,EAAK,QAAQE,EAAMC,CAAC,CAAC,CAAC,CAAC,EACrE,OAAIH,EAAK,QACLC,EAAQ,QAAQD,EAAK,MAAM,EAC/BC,EAAQ,QAAUD,EAAK,QAChBC,CACX,EAVmB,YAiBnBT,GAAQ,UAAU,OAASO,EAAA,SAAgBK,EAAe,CACtD,IAAIC,EAAYZ,GAAU,UAAU,OAAO,KAAK,KAAMW,CAAa,EAC/DE,EAAeF,EAAgB,EAAQA,EAAc,aAAgB,GACzE,OAAOT,GAAK,SAAS,CACjB,UAAYU,GAAaA,EAAU,SAAW,OAC9C,UAAYZ,GAAU,YAAY,KAAK,aAAcW,CAAa,GAAgC,CAAC,EACnG,SAAYC,GAAaA,EAAU,QAAU,OAC7C,UAAYC,EAAe,KAAK,QAAU,MAC9C,CAAC,CACL,EAT2B,UAiB3B,OAAO,eAAed,GAAQ,UAAW,eAAgB,CACrD,IAAK,UAAW,CACZ,OAAO,KAAK,gBAAkB,KAAK,cAAgBG,GAAK,QAAQ,KAAK,OAAO,EAChF,CACJ,CAAC,EAED,SAASY,GAAWN,EAAS,CACzB,OAAAA,EAAQ,cAAgB,KACjBA,CACX,CAHSF,EAAAQ,GAAA,cAQTf,GAAQ,UAAU,IAAMO,EAAA,SAAaF,EAAM,CACvC,OAAO,KAAK,QAAQA,CAAI,GACjBJ,GAAU,UAAU,IAAI,KAAK,KAAMI,CAAI,CAClD,EAHwB,OAQxBL,GAAQ,UAAU,WAAaO,EAAA,UAAsB,CAEjD,QADIS,EAAU,KAAK,aACVL,EAAI,EAAGA,EAAIK,EAAQ,OAAQ,EAAEL,EAClCK,EAAQL,CAAC,EAAE,QAAQ,EACvB,OAAOV,GAAU,UAAU,QAAQ,KAAK,IAAI,CAChD,EAL+B,cAU/BD,GAAQ,UAAU,IAAMO,EAAA,SAAaU,EAAQ,CAGzC,GAAI,KAAK,IAAIA,EAAO,IAAI,EACpB,MAAM,MAAM,mBAAqBA,EAAO,KAAO,QAAU,IAAI,EAEjE,OAAIA,aAAkBf,IAClB,KAAK,QAAQe,EAAO,IAAI,EAAIA,EAC5BA,EAAO,OAAS,KACTF,GAAW,IAAI,GAEnBd,GAAU,UAAU,IAAI,KAAK,KAAMgB,CAAM,CACpD,EAZwB,OAiBxBjB,GAAQ,UAAU,OAASO,EAAA,SAAgBU,EAAQ,CAC/C,GAAIA,aAAkBf,GAAQ,CAG1B,GAAI,KAAK,QAAQe,EAAO,IAAI,IAAMA,EAC9B,MAAM,MAAMA,EAAS,uBAAyB,IAAI,EAEtD,cAAO,KAAK,QAAQA,EAAO,IAAI,EAC/BA,EAAO,OAAS,KACTF,GAAW,IAAI,CAC1B,CACA,OAAOd,GAAU,UAAU,OAAO,KAAK,KAAMgB,CAAM,CACvD,EAZ2B,UAqB3BjB,GAAQ,UAAU,OAASO,EAAA,SAAgBW,EAASC,EAAkBC,EAAmB,CAErF,QADIC,EAAa,IAAIjB,GAAI,QAAQc,EAASC,EAAkBC,CAAiB,EACpET,EAAI,EAAGW,EAAQX,EAAsB,KAAK,aAAa,OAAQ,EAAEA,EAAG,CACzE,IAAIY,EAAapB,GAAK,SAASmB,EAAS,KAAK,cAAcX,CAAC,GAAG,QAAQ,EAAE,IAAI,EAAE,QAAQ,WAAY,EAAE,EACrGU,EAAWE,CAAU,EAAIpB,GAAK,QAAQ,CAAC,IAAI,GAAG,EAAGA,GAAK,WAAWoB,CAAU,EAAIA,EAAa,IAAMA,CAAU,EAAE,gCAAgC,EAAE,CAC5I,EAAGD,EACH,EAAGA,EAAO,oBAAoB,KAC9B,EAAGA,EAAO,qBAAqB,IACnC,CAAC,CACL,CACA,OAAOD,CACX,EAX2B,YC3J3B,IAAAG,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cACAA,GAAO,QAAUC,GAEjB,IAAIC,GAAO,KASX,SAASD,GAAQE,EAAY,CAEzB,GAAIA,EACA,QAASC,EAAO,OAAO,KAAKD,CAAU,EAAGE,EAAI,EAAGA,EAAID,EAAK,OAAQ,EAAEC,EAC/D,KAAKD,EAAKC,CAAC,CAAC,EAAIF,EAAWC,EAAKC,CAAC,CAAC,CAC9C,CALSC,EAAAL,GAAA,WA8BTA,GAAQ,OAASK,EAAA,SAAgBH,EAAY,CACzC,OAAO,KAAK,MAAM,OAAOA,CAAU,CACvC,EAFiB,UAYjBF,GAAQ,OAASK,EAAA,SAAgBC,EAASC,EAAQ,CAC9C,OAAO,KAAK,MAAM,OAAOD,EAASC,CAAM,CAC5C,EAFiB,UAYjBP,GAAQ,gBAAkBK,EAAA,SAAyBC,EAASC,EAAQ,CAChE,OAAO,KAAK,MAAM,gBAAgBD,EAASC,CAAM,CACrD,EAF0B,mBAa1BP,GAAQ,OAASK,EAAA,SAAgBG,EAAQ,CACrC,OAAO,KAAK,MAAM,OAAOA,CAAM,CACnC,EAFiB,UAajBR,GAAQ,gBAAkBK,EAAA,SAAyBG,EAAQ,CACvD,OAAO,KAAK,MAAM,gBAAgBA,CAAM,CAC5C,EAF0B,mBAW1BR,GAAQ,OAASK,EAAA,SAAgBC,EAAS,CACtC,OAAO,KAAK,MAAM,OAAOA,CAAO,CACpC,EAFiB,UAWjBN,GAAQ,WAAaK,EAAA,SAAoBI,EAAQ,CAC7C,OAAO,KAAK,MAAM,WAAWA,CAAM,CACvC,EAFqB,cAYrBT,GAAQ,SAAWK,EAAA,SAAkBC,EAASI,EAAS,CACnD,OAAO,KAAK,MAAM,SAASJ,EAASI,CAAO,CAC/C,EAFmB,YAQnBV,GAAQ,UAAU,OAASK,EAAA,UAAkB,CACzC,OAAO,KAAK,MAAM,SAAS,KAAMJ,GAAK,aAAa,CACvD,EAF2B,YCtI3B,IAAAU,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cACAA,GAAO,QAAUC,GAEjB,IAAIC,GAAU,KACVC,GAAU,KACVC,GAAU,KAEd,SAASC,GAAQC,EAAO,CACpB,MAAO,qBAAuBA,EAAM,KAAO,GAC/C,CAFSC,EAAAF,GAAA,WAST,SAASJ,GAAQO,EAAO,CAEpB,IAAIC,EAAML,GAAK,QAAQ,CAAC,IAAK,GAAG,EAAGI,EAAM,KAAO,SAAS,EACxD,4BAA4B,EACxB,oBAAoB,EACxB,qDAAuDA,EAAM,YAAY,OAAO,SAASF,EAAO,CAAE,OAAOA,EAAM,GAAK,CAAC,EAAE,OAAS,WAAa,GAAG,EAChJ,iBAAiB,EACb,kBAAkB,EACnBE,EAAM,OAAOC,EACZ,eAAe,EACX,OAAO,EAChBA,EACK,gBAAgB,EAGrB,QADIC,EAAI,EACDA,EAAsBF,EAAM,YAAY,OAAQ,EAAEE,EAAG,CACxD,IAAIJ,EAAQE,EAAM,aAAaE,CAAC,EAAE,QAAQ,EACtCC,EAAQL,EAAM,wBAAwBJ,GAAO,QAAUI,EAAM,KAC7DM,EAAQ,IAAMR,GAAK,SAASE,EAAM,IAAI,EAAGG,EACxC,aAAcH,EAAM,EAAE,EAGvBA,EAAM,KAAOG,EACR,4BAA6BG,CAAG,EAC5B,QAASA,CAAG,EAChB,2BAA2B,EAE5BT,GAAM,SAASG,EAAM,OAAO,IAAM,OAAWG,EAC5C,OAAQN,GAAM,SAASG,EAAM,OAAO,CAAC,EACrCG,EACA,QAAQ,EAETN,GAAM,SAASQ,CAAI,IAAM,OAAWF,EACnC,WAAYN,GAAM,SAASQ,CAAI,CAAC,EAChCF,EACA,YAAY,EAEjBA,EACK,kBAAkB,EACd,qBAAqB,EACrB,mBAAmB,EACf,0BAA2BH,EAAM,OAAO,EACxC,SAAS,EAElBH,GAAM,MAAMQ,CAAI,IAAM,OAAWF,EACpB,uCAAwCC,CAAC,EACrDD,EACY,eAAgBE,CAAI,EAErCF,EACiB,OAAO,EACX,UAAU,EACN,oBAAoB,EACpB,OAAO,EACf,GAAG,EACP,GAAG,EAEJN,GAAM,KAAKG,EAAM,OAAO,IAAM,OAAWG,EACxC,qDAAwDG,CAAG,EAC3DH,EACA,cAAeG,CAAG,GAGhBN,EAAM,UAAYG,EAEpB,uBAAwBG,EAAKA,CAAG,EAC5B,QAASA,CAAG,EAGjBT,GAAM,OAAOQ,CAAI,IAAM,QAAWF,EACjC,gBAAgB,EACZ,yBAAyB,EACzB,iBAAiB,EACb,kBAAmBG,EAAKD,CAAI,EACpC,OAAO,EAGRR,GAAM,MAAMQ,CAAI,IAAM,OAAWF,EAAIH,EAAM,aAAa,MAClD,+BACA,0CAA2CM,EAAKF,CAAC,EACtDD,EACI,kBAAmBG,EAAKD,CAAI,GAG9BR,GAAM,MAAMQ,CAAI,IAAM,OAAWF,EAAIH,EAAM,aAAa,MACzD,yBACA,oCAAqCM,EAAKF,CAAC,EAChDD,EACI,YAAaG,EAAKD,CAAI,EAC/BF,EACS,OAAO,EACX,GAAG,CAEZ,CASA,IATEA,EACO,UAAU,EACN,iBAAiB,EACjB,OAAO,EAEf,GAAG,EACP,GAAG,EAGCC,EAAI,EAAGA,EAAIF,EAAM,aAAa,OAAQ,EAAEE,EAAG,CAC5C,IAAIG,EAASL,EAAM,aAAaE,CAAC,EAC7BG,EAAO,UAAUJ,EACxB,4BAA6BI,EAAO,IAAI,EACpC,4CAA6CR,GAAQQ,CAAM,CAAC,CACjE,CAEA,OAAOJ,EACN,UAAU,CAEf,CAhHSF,EAAAN,GAAA,aChBT,IAAAa,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cACAA,GAAO,QAAUC,GAEjB,IAAIC,GAAY,KACZC,GAAY,KAEhB,SAASC,GAAQC,EAAOC,EAAU,CAC9B,OAAOD,EAAM,KAAO,KAAOC,GAAYD,EAAM,UAAYC,IAAa,QAAU,KAAOD,EAAM,KAAOC,IAAa,SAAW,MAAMD,EAAM,QAAQ,IAAM,IAAM,WAChK,CAFSE,EAAAH,GAAA,WAaT,SAASI,GAAeC,EAAKJ,EAAOK,EAAYC,EAAK,CAEjD,GAAIN,EAAM,aACN,GAAIA,EAAM,wBAAwBH,GAAM,CAAEO,EACrC,cAAeE,CAAG,EACd,UAAU,EACN,WAAYP,GAAQC,EAAO,YAAY,CAAC,EACjD,QAASO,EAAO,OAAO,KAAKP,EAAM,aAAa,MAAM,EAAGQ,EAAI,EAAGA,EAAID,EAAK,OAAQ,EAAEC,EAAGJ,EAChF,WAAYJ,EAAM,aAAa,OAAOO,EAAKC,CAAC,CAAC,CAAC,EACnDJ,EACS,OAAO,EACf,GAAG,CACR,MACIA,EACC,GAAG,EACC,8BAA+BC,EAAYC,CAAG,EAC9C,OAAO,EACH,aAAcN,EAAM,KAAO,GAAG,EACtC,GAAG,MAGR,QAAQA,EAAM,KAAM,CAChB,IAAK,QACL,IAAK,SACL,IAAK,SACL,IAAK,UACL,IAAK,WAAYI,EACZ,0BAA2BE,CAAG,EAC1B,WAAYP,GAAQC,EAAO,SAAS,CAAC,EAC1C,MACJ,IAAK,QACL,IAAK,SACL,IAAK,SACL,IAAK,UACL,IAAK,WAAYI,EACZ,kFAAmFE,EAAKA,EAAKA,EAAKA,CAAG,EACjG,WAAYP,GAAQC,EAAO,cAAc,CAAC,EAC/C,MACJ,IAAK,QACL,IAAK,SAAUI,EACV,2BAA8BE,CAAG,EAC7B,WAAYP,GAAQC,EAAO,QAAQ,CAAC,EACzC,MACJ,IAAK,OAAQI,EACR,4BAA+BE,CAAG,EAC9B,WAAYP,GAAQC,EAAO,SAAS,CAAC,EAC1C,MACJ,IAAK,SAAUI,EACV,yBAA0BE,CAAG,EACzB,WAAYP,GAAQC,EAAO,QAAQ,CAAC,EACzC,MACJ,IAAK,QAASI,EACT,4DAA+DE,EAAKA,EAAKA,CAAG,EACxE,WAAYP,GAAQC,EAAO,QAAQ,CAAC,EACzC,KACR,CAEJ,OAAOI,CAEX,CA3DSF,EAAAC,GAAA,kBAqET,SAASM,GAAaL,EAAKJ,EAAOM,EAAK,CAEnC,OAAQN,EAAM,QAAS,CACnB,IAAK,QACL,IAAK,SACL,IAAK,SACL,IAAK,UACL,IAAK,WAAYI,EACZ,6BAA8BE,CAAG,EAC7B,WAAYP,GAAQC,EAAO,aAAa,CAAC,EAC9C,MACJ,IAAK,QACL,IAAK,SACL,IAAK,SACL,IAAK,UACL,IAAK,WAAYI,EACZ,6BAA8BE,CAAG,EAC7B,WAAYP,GAAQC,EAAO,kBAAkB,CAAC,EACnD,MACJ,IAAK,OAAQI,EACR,4BAA6BE,CAAG,EAC5B,WAAYP,GAAQC,EAAO,aAAa,CAAC,EAC9C,KACR,CACA,OAAOI,CAEX,CA1BSF,EAAAO,GAAA,gBAiCT,SAASb,GAASc,EAAO,CAGrB,IAAIN,EAAMN,GAAK,QAAQ,CAAC,GAAG,EAAGY,EAAM,KAAO,SAAS,EACnD,mCAAqC,EACjC,WAAY,iBAAiB,EAC9BC,EAASD,EAAM,YACfE,EAAiB,CAAC,EAClBD,EAAO,QAAQP,EAClB,UAAU,EAEX,QAASS,EAAI,EAAGA,EAAsBH,EAAM,YAAY,OAAQ,EAAEG,EAAG,CACjE,IAAIb,EAAQU,EAAM,aAAaG,CAAC,EAAE,QAAQ,EACtCP,EAAQ,IAAMR,GAAK,SAASE,EAAM,IAAI,EAM1C,GAJIA,EAAM,UAAUI,EACnB,sCAAuCE,EAAKN,EAAM,IAAI,EAGnDA,EAAM,IAAOI,EACZ,yBAA0BE,CAAG,EACzB,WAAYP,GAAQC,EAAO,QAAQ,CAAC,EACxC,wBAAyBM,CAAG,EAC5B,8BAA8B,EAC3BG,GAAaL,EAAKJ,EAAO,MAAM,EAC/BG,GAAeC,EAAKJ,EAAOa,EAAGP,EAAM,QAAQ,EAC/C,GAAG,UAGGN,EAAM,SAAYI,EACxB,yBAA0BE,CAAG,EACzB,WAAYP,GAAQC,EAAO,OAAO,CAAC,EACvC,gCAAiCM,CAAG,EACjCH,GAAeC,EAAKJ,EAAOa,EAAGP,EAAM,KAAK,EAC5C,GAAG,MAGD,CACH,GAAIN,EAAM,OAAQ,CACd,IAAIc,EAAYhB,GAAK,SAASE,EAAM,OAAO,IAAI,EAC3CY,EAAeZ,EAAM,OAAO,IAAI,IAAM,GAAGI,EAChD,cAAeU,CAAS,EACpB,WAAYd,EAAM,OAAO,KAAO,mBAAmB,EACpDY,EAAeZ,EAAM,OAAO,IAAI,EAAI,EACpCI,EACH,QAASU,CAAS,CACnB,CACAX,GAAeC,EAAKJ,EAAOa,EAAGP,CAAG,CACrC,CACIN,EAAM,UAAUI,EACnB,GAAG,CACR,CACA,OAAOA,EACN,aAAa,CAElB,CAvDSF,EAAAN,GAAA,cCzHT,IAAAmB,GAAAC,EAAAC,IAAA,cAKA,IAAIC,GAAYD,GAEZE,GAAO,KACPC,GAAO,KAWX,SAASC,GAA2BC,EAAKC,EAAOC,EAAYC,EAAM,CAC9D,IAAIC,EAAwB,GAE5B,GAAIH,EAAM,aACN,GAAIA,EAAM,wBAAwBJ,GAAM,CAAEG,EACrC,eAAgBG,CAAI,EACrB,QAASE,EAASJ,EAAM,aAAa,OAAQK,EAAO,OAAO,KAAKD,CAAM,EAAGE,EAAI,EAAGA,EAAID,EAAK,OAAQ,EAAEC,EAE3FF,EAAOC,EAAKC,CAAC,CAAC,IAAMN,EAAM,aAAe,CAACG,IAAyBJ,EAClE,UAAU,EACN,4CAA+CG,EAAMA,EAAMA,CAAI,EAC/DF,EAAM,UAAUD,EAEhB,OAAO,EACZI,EAAwB,IAE5BJ,EACC,UAAWM,EAAKC,CAAC,CAAC,EAClB,WAAYF,EAAOC,EAAKC,CAAC,CAAC,CAAC,EACvB,SAAUJ,EAAME,EAAOC,EAAKC,CAAC,CAAC,CAAC,EAC/B,OAAO,EACdP,EACD,GAAG,CACR,MAAOA,EACF,4BAA+BG,CAAI,EAC/B,sBAAuBF,EAAM,SAAW,mBAAmB,EAC/D,gCAAiCE,EAAMD,EAAYC,CAAI,MACzD,CACH,IAAIK,EAAa,GACjB,OAAQP,EAAM,KAAM,CAChB,IAAK,SACL,IAAK,QAASD,EACT,kBAAmBG,EAAMA,CAAI,EAC9B,MACJ,IAAK,SACL,IAAK,UAAWH,EACX,cAAeG,EAAMA,CAAI,EAC1B,MACJ,IAAK,QACL,IAAK,SACL,IAAK,WAAYH,EACZ,YAAaG,EAAMA,CAAI,EACxB,MACJ,IAAK,SACDK,EAAa,GAEjB,IAAK,QACL,IAAK,SACL,IAAK,UACL,IAAK,WAAYR,EACZ,eAAe,EACX,6CAA8CG,EAAMA,EAAMK,CAAU,EACxE,iCAAoCL,CAAI,EACpC,uBAAwBA,EAAMA,CAAI,EACtC,iCAAoCA,CAAI,EACpC,UAAWA,EAAMA,CAAI,EACzB,iCAAoCA,CAAI,EACpC,+DAAgEA,EAAMA,EAAMA,EAAMK,EAAa,OAAS,EAAE,EAC/G,MACJ,IAAK,QAASR,EACT,4BAA+BG,CAAI,EAC/B,wEAAyEA,EAAMA,EAAMA,CAAI,EAC7F,2BAA4BA,CAAI,EAC5B,UAAWA,EAAMA,CAAI,EAC1B,MACJ,IAAK,SAAUH,EACV,kBAAmBG,EAAMA,CAAI,EAC9B,MACJ,IAAK,OAAQH,EACR,mBAAoBG,EAAMA,CAAI,EAC/B,KAIR,CACJ,CACA,OAAOH,CAEX,CA9ESS,EAAAV,GAAA,8BAqFTH,GAAU,WAAaa,EAAA,SAAoBC,EAAO,CAE9C,IAAIC,EAASD,EAAM,YACfV,EAAMF,GAAK,QAAQ,CAAC,GAAG,EAAGY,EAAM,KAAO,aAAa,EACvD,4BAA4B,EACxB,UAAU,EACf,GAAI,CAACC,EAAO,OAAQ,OAAOX,EAC1B,sBAAsB,EACvBA,EACC,qBAAqB,EACtB,QAASO,EAAI,EAAGA,EAAII,EAAO,OAAQ,EAAEJ,EAAG,CACpC,IAAIN,EAASU,EAAOJ,CAAC,EAAE,QAAQ,EAC3BJ,EAASL,GAAK,SAASG,EAAM,IAAI,EAGjCA,EAAM,KAAOD,EACpB,WAAYG,CAAI,EACZ,4BAA+BA,CAAI,EAC/B,sBAAuBF,EAAM,SAAW,mBAAmB,EAC/D,SAAUE,CAAI,EACd,oDAAqDA,CAAI,EACtDJ,GAA2BC,EAAKC,EAAwBM,EAAGJ,EAAO,SAAS,EAC9E,GAAG,EACP,GAAG,GAGWF,EAAM,UAAYD,EAChC,WAAYG,CAAI,EACZ,0BAA2BA,CAAI,EAC3B,sBAAuBF,EAAM,SAAW,kBAAkB,EAC9D,SAAUE,CAAI,EACd,iCAAkCA,CAAI,EACnCJ,GAA2BC,EAAKC,EAAwBM,EAAGJ,EAAO,KAAK,EAC1E,GAAG,EACP,GAAG,IAIUF,EAAM,wBAAwBJ,IAAOG,EAClD,iBAAkBG,CAAI,EACnBJ,GAA2BC,EAAKC,EAAwBM,EAAGJ,CAAI,EACrDF,EAAM,wBAAwBJ,IAAOG,EAClD,GAAG,EAEJ,CAAE,OAAOA,EACR,UAAU,CAEf,EA/CuB,cA0DvB,SAASY,GAAyBZ,EAAKC,EAAOC,EAAYC,EAAM,CAE5D,GAAIF,EAAM,aACFA,EAAM,wBAAwBJ,GAAMG,EACnC,yFAA0FG,EAAMD,EAAYC,EAAMA,EAAMD,EAAYC,EAAMA,CAAI,EAC9IH,EACA,gCAAiCG,EAAMD,EAAYC,CAAI,MACzD,CACH,IAAIK,EAAa,GACjB,OAAQP,EAAM,KAAM,CAChB,IAAK,SACL,IAAK,QAASD,EACb,6CAA8CG,EAAMA,EAAMA,EAAMA,CAAI,EACjE,MACJ,IAAK,SACDK,EAAa,GAEjB,IAAK,QACL,IAAK,SACL,IAAK,UACL,IAAK,WAAYR,EAChB,4BAA+BG,CAAI,EAC/B,uCAAwCA,EAAMA,EAAMA,CAAI,EAC5D,MAAM,EACF,4IAA6IA,EAAMA,EAAMA,EAAMA,EAAMK,EAAa,OAAQ,GAAIL,CAAI,EACnM,MACJ,IAAK,QAASH,EACb,gHAAiHG,EAAMA,EAAMA,EAAMA,EAAMA,CAAI,EAC1I,MACJ,QAASH,EACR,UAAWG,EAAMA,CAAI,EAClB,KACR,CACJ,CACA,OAAOH,CAEX,CApCSS,EAAAG,GAAA,4BA2CThB,GAAU,SAAWa,EAAA,SAAkBC,EAAO,CAE1C,IAAIC,EAASD,EAAM,YAAY,MAAM,EAAE,KAAKZ,GAAK,iBAAiB,EAClE,GAAI,CAACa,EAAO,OACR,OAAOb,GAAK,QAAQ,EAAE,WAAW,EAUrC,QATIE,EAAMF,GAAK,QAAQ,CAAC,IAAK,GAAG,EAAGY,EAAM,KAAO,WAAW,EAC1D,QAAQ,EACJ,MAAM,EACV,UAAU,EAEPG,EAAiB,CAAC,EAClBC,EAAY,CAAC,EACbC,EAAe,CAAC,EAChBR,EAAI,EACDA,EAAII,EAAO,OAAQ,EAAEJ,EACnBI,EAAOJ,CAAC,EAAE,SACTI,EAAOJ,CAAC,EAAE,QAAQ,EAAE,SAAWM,EAC/BF,EAAOJ,CAAC,EAAE,IAAMO,EAChBC,GAAc,KAAKJ,EAAOJ,CAAC,CAAC,EAEtC,GAAIM,EAAe,OAAQ,CAEvB,IAFyBb,EAC5B,2BAA2B,EACnBO,EAAI,EAAGA,EAAIM,EAAe,OAAQ,EAAEN,EAAGP,EAC3C,SAAUF,GAAK,SAASe,EAAeN,CAAC,EAAE,IAAI,CAAC,EAChDP,EACH,GAAG,CACJ,CAEA,GAAIc,EAAU,OAAQ,CAElB,IAFoBd,EACvB,4BAA4B,EACpBO,EAAI,EAAGA,EAAIO,EAAU,OAAQ,EAAEP,EAAGP,EACtC,SAAUF,GAAK,SAASgB,EAAUP,CAAC,EAAE,IAAI,CAAC,EAC3CP,EACH,GAAG,CACJ,CAEA,GAAIe,EAAa,OAAQ,CAErB,IAFuBf,EAC1B,iBAAiB,EACTO,EAAI,EAAGA,EAAIQ,EAAa,OAAQ,EAAER,EAAG,CACtC,IAAIN,EAAQc,EAAaR,CAAC,EACtBJ,EAAQL,GAAK,SAASG,EAAM,IAAI,EACpC,GAAIA,EAAM,wBAAwBJ,GAAMG,EAC3C,6BAA8BG,EAAMF,EAAM,aAAa,WAAWA,EAAM,WAAW,EAAGA,EAAM,WAAW,UAC3FA,EAAM,KAAMD,EACxB,gBAAgB,EACZ,gCAAiCC,EAAM,YAAY,IAAKA,EAAM,YAAY,KAAMA,EAAM,YAAY,QAAQ,EAC1G,oEAAqEE,CAAI,EAC7E,OAAO,EACH,6BAA8BA,EAAMF,EAAM,YAAY,SAAS,EAAGA,EAAM,YAAY,SAAS,CAAC,UACtFA,EAAM,MAAO,CAClB,IAAIe,EAAe,IAAM,MAAM,UAAU,MAAM,KAAKf,EAAM,WAAW,EAAE,KAAK,GAAG,EAAI,IACnFD,EACP,6BAA8BG,EAAM,OAAO,aAAa,MAAM,OAAQF,EAAM,WAAW,CAAC,EACxF,OAAO,EACH,SAAUE,EAAMa,CAAY,EAC5B,6CAA8Cb,EAAMA,CAAI,EAC5D,GAAG,CACA,MAAOH,EACV,SAAUG,EAAMF,EAAM,WAAW,CAClC,CAAED,EACL,GAAG,CACJ,CACA,IAAIiB,EAAS,GACb,IAAKV,EAAI,EAAGA,EAAII,EAAO,OAAQ,EAAEJ,EAAG,CAChC,IAAIN,EAAQU,EAAOJ,CAAC,EAChBW,EAAQR,EAAM,aAAa,QAAQT,CAAK,EACxCE,EAAQL,GAAK,SAASG,EAAM,IAAI,EAChCA,EAAM,KACDgB,IAAUA,EAAS,GAAMjB,EACrC,SAAS,GACAA,EACT,0CAA2CG,EAAMA,CAAI,EACjD,SAAUA,CAAI,EACd,gCAAgC,EAC7BS,GAAyBZ,EAAKC,EAAoBiB,EAAOf,EAAO,UAAU,EAC7E,GAAG,GACOF,EAAM,UAAYD,EAChC,uBAAwBG,EAAMA,CAAI,EAC9B,SAAUA,CAAI,EACd,iCAAkCA,CAAI,EACnCS,GAAyBZ,EAAKC,EAAoBiB,EAAOf,EAAO,KAAK,EACxE,GAAG,IACKH,EACZ,uCAAwCG,EAAMF,EAAM,IAAI,EACrDW,GAAyBZ,EAAKC,EAAoBiB,EAAOf,CAAI,EACzDF,EAAM,QAAQD,EACjB,cAAc,EACV,SAAUF,GAAK,SAASG,EAAM,OAAO,IAAI,EAAGA,EAAM,IAAI,GAE3DD,EACH,GAAG,CACJ,CACA,OAAOA,EACN,UAAU,CAEf,EA/FqB,cC7MrB,IAAAmB,GAAAC,EAAAC,IAAA,cAOA,IAAIC,GAAWD,GAEXE,GAAU,KA6BdD,GAAS,sBAAsB,EAAI,CAE/B,WAAY,SAASE,EAAQ,CAGzB,GAAIA,GAAUA,EAAO,OAAO,EAAG,CAE3B,IAAIC,EAAOD,EAAO,OAAO,EAAE,UAAUA,EAAO,OAAO,EAAE,YAAY,GAAG,EAAI,CAAC,EACrEE,EAAO,KAAK,OAAOD,CAAI,EAE3B,GAAIC,EAAM,CAEN,IAAIC,EAAWH,EAAO,OAAO,EAAE,OAAO,CAAC,IAAM,IACzCA,EAAO,OAAO,EAAE,MAAM,CAAC,EAAIA,EAAO,OAAO,EAE7C,OAAIG,EAAS,QAAQ,GAAG,IAAM,KAC1BA,EAAW,IAAMA,GAEd,KAAK,OAAO,CACf,SAAUA,EACV,MAAOD,EAAK,OAAOA,EAAK,WAAWF,CAAM,CAAC,EAAE,OAAO,CACvD,CAAC,CACL,CACJ,CAEA,OAAO,KAAK,WAAWA,CAAM,CACjC,EAEA,SAAU,SAASI,EAASC,EAAS,CAGjC,IAAIC,EAAY,uBACZC,EAAS,GACTN,EAAO,GAGX,GAAII,GAAWA,EAAQ,MAAQD,EAAQ,UAAYA,EAAQ,MAAO,CAE9DH,EAAOG,EAAQ,SAAS,UAAUA,EAAQ,SAAS,YAAY,GAAG,EAAI,CAAC,EAEvEG,EAASH,EAAQ,SAAS,UAAU,EAAGA,EAAQ,SAAS,YAAY,GAAG,EAAI,CAAC,EAC5E,IAAIF,EAAO,KAAK,OAAOD,CAAI,EAEvBC,IACAE,EAAUF,EAAK,OAAOE,EAAQ,KAAK,EAC3C,CAGA,GAAI,EAAEA,aAAmB,KAAK,OAASA,aAAmBL,GAAS,CAC/D,IAAIC,EAASI,EAAQ,MAAM,SAASA,EAASC,CAAO,EAChDG,EAAcJ,EAAQ,MAAM,SAAS,CAAC,IAAM,IAC5CA,EAAQ,MAAM,SAAS,MAAM,CAAC,EAAIA,EAAQ,MAAM,SAEpD,OAAIG,IAAW,KACXA,EAASD,GAEbL,EAAOM,EAASC,EAChBR,EAAO,OAAO,EAAIC,EACXD,CACX,CAEA,OAAO,KAAK,SAASI,EAASC,CAAO,CACzC,CACJ,ICrGA,IAAAI,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cACAA,GAAO,QAAUC,GAGjB,IAAIC,GAAY,OACdD,GAAK,UAAY,OAAO,OAAOC,GAAU,SAAS,GAAG,YAAcD,IAAM,UAAY,OAEvF,IAAIE,GAAY,KACZC,GAAY,KACZC,GAAY,KACZC,GAAY,KACZC,GAAY,KACZC,GAAY,KACZC,GAAY,KACZC,GAAY,KACZC,GAAY,KACZC,GAAY,KACZC,GAAY,KACZC,GAAY,KACZC,GAAY,KACZC,GAAY,KAUhB,SAASf,GAAKgB,EAAMC,EAAS,CACzBhB,GAAU,KAAK,KAAMe,EAAMC,CAAO,EAMlC,KAAK,OAAS,CAAC,EAMf,KAAK,OAAS,OAMd,KAAK,WAAa,OAMlB,KAAK,SAAW,OAMhB,KAAK,MAAQ,OAOb,KAAK,YAAc,KAOnB,KAAK,aAAe,KAOpB,KAAK,aAAe,KAOpB,KAAK,MAAQ,IACjB,CA5DSC,EAAAlB,GAAA,QA8DT,OAAO,iBAAiBA,GAAK,UAAW,CAQpC,WAAY,CACR,IAAK,UAAW,CAGZ,GAAI,KAAK,YACL,OAAO,KAAK,YAEhB,KAAK,YAAc,CAAC,EACpB,QAASmB,EAAQ,OAAO,KAAK,KAAK,MAAM,EAAGC,EAAI,EAAGA,EAAID,EAAM,OAAQ,EAAEC,EAAG,CACrE,IAAIC,EAAQ,KAAK,OAAOF,EAAMC,CAAC,CAAC,EAC5BE,EAAKD,EAAM,GAGf,GAAI,KAAK,YAAYC,CAAE,EACnB,MAAM,MAAM,gBAAkBA,EAAK,OAAS,IAAI,EAEpD,KAAK,YAAYA,CAAE,EAAID,CAC3B,CACA,OAAO,KAAK,WAChB,CACJ,EAQA,YAAa,CACT,IAAK,UAAW,CACZ,OAAO,KAAK,eAAiB,KAAK,aAAeX,GAAK,QAAQ,KAAK,MAAM,EAC7E,CACJ,EAQA,YAAa,CACT,IAAK,UAAW,CACZ,OAAO,KAAK,eAAiB,KAAK,aAAeA,GAAK,QAAQ,KAAK,MAAM,EAC7E,CACJ,EAQA,KAAM,CACF,IAAK,UAAW,CACZ,OAAO,KAAK,QAAU,KAAK,KAAOV,GAAK,oBAAoB,IAAI,EAAE,EACrE,EACA,IAAK,SAASuB,EAAM,CAGhB,IAAIC,EAAYD,EAAK,UACfC,aAAqBjB,MACtBgB,EAAK,UAAY,IAAIhB,IAAW,YAAcgB,EAC/Cb,GAAK,MAAMa,EAAK,UAAWC,CAAS,GAIxCD,EAAK,MAAQA,EAAK,UAAU,MAAQ,KAGpCb,GAAK,MAAMa,EAAMhB,GAAS,EAAI,EAE9B,KAAK,MAAQgB,EAIb,QADIH,EAAI,EACDA,EAAsB,KAAK,YAAY,OAAQ,EAAEA,EACpD,KAAK,aAAaA,CAAC,EAAE,QAAQ,EAGjC,IAAIK,EAAiB,CAAC,EACtB,IAAKL,EAAI,EAAGA,EAAsB,KAAK,YAAY,OAAQ,EAAEA,EACzDK,EAAe,KAAK,aAAaL,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAI,CAClD,IAAKV,GAAK,YAAY,KAAK,aAAaU,CAAC,EAAE,KAAK,EAChD,IAAKV,GAAK,YAAY,KAAK,aAAaU,CAAC,EAAE,KAAK,CACpD,EACAA,GACA,OAAO,iBAAiBG,EAAK,UAAWE,CAAc,CAC9D,CACJ,CACJ,CAAC,EAODzB,GAAK,oBAAsBkB,EAAA,SAA6BQ,EAAO,CAI3D,QAFIC,EAAMjB,GAAK,QAAQ,CAAC,GAAG,EAAGgB,EAAM,IAAI,EAE/B,EAAI,EAAGL,EAAO,EAAIK,EAAM,YAAY,OAAQ,EAAE,GAC9CL,EAAQK,EAAM,aAAa,CAAC,GAAG,IAAKC,EACpC,YAAajB,GAAK,SAASW,EAAM,IAAI,CAAC,EAClCA,EAAM,UAAUM,EACpB,YAAajB,GAAK,SAASW,EAAM,IAAI,CAAC,EAC/C,OAAOM,EACN,uEAAuE,EACnE,sBAAsB,CAE/B,EAb2B,uBAe3B,SAASC,GAAWC,EAAM,CACtB,OAAAA,EAAK,YAAcA,EAAK,aAAeA,EAAK,aAAe,KAC3D,OAAOA,EAAK,OACZ,OAAOA,EAAK,OACZ,OAAOA,EAAK,OACLA,CACX,CANSX,EAAAU,GAAA,cAyBT5B,GAAK,SAAWkB,EAAA,SAAkBF,EAAMc,EAAM,CAC1C,IAAID,EAAO,IAAI7B,GAAKgB,EAAMc,EAAK,OAAO,EACtCD,EAAK,WAAaC,EAAK,WACvBD,EAAK,SAAWC,EAAK,SAGrB,QAFIX,EAAQ,OAAO,KAAKW,EAAK,MAAM,EAC/BV,EAAI,EACDA,EAAID,EAAM,OAAQ,EAAEC,EACvBS,EAAK,KACC,OAAOC,EAAK,OAAOX,EAAMC,CAAC,CAAC,EAAE,QAAY,IACzCf,GAAS,SACTD,GAAM,UAAWe,EAAMC,CAAC,EAAGU,EAAK,OAAOX,EAAMC,CAAC,CAAC,CAAC,CACtD,EACJ,GAAIU,EAAK,OACL,IAAKX,EAAQ,OAAO,KAAKW,EAAK,MAAM,EAAGV,EAAI,EAAGA,EAAID,EAAM,OAAQ,EAAEC,EAC9DS,EAAK,IAAI1B,GAAM,SAASgB,EAAMC,CAAC,EAAGU,EAAK,OAAOX,EAAMC,CAAC,CAAC,CAAC,CAAC,EAChE,GAAIU,EAAK,OACL,IAAKX,EAAQ,OAAO,KAAKW,EAAK,MAAM,EAAGV,EAAI,EAAGA,EAAID,EAAM,OAAQ,EAAEC,EAAG,CACjE,IAAIW,EAASD,EAAK,OAAOX,EAAMC,CAAC,CAAC,EACjCS,EAAK,KACCE,EAAO,KAAO,OACd3B,GAAM,SACN2B,EAAO,SAAW,OAClB/B,GAAK,SACL+B,EAAO,SAAW,OAClB7B,GAAK,SACL6B,EAAO,UAAY,OACnBzB,GAAQ,SACRL,GAAU,UAAWkB,EAAMC,CAAC,EAAGW,CAAM,CAC3C,CACJ,CACJ,OAAID,EAAK,YAAcA,EAAK,WAAW,SACnCD,EAAK,WAAaC,EAAK,YACvBA,EAAK,UAAYA,EAAK,SAAS,SAC/BD,EAAK,SAAWC,EAAK,UACrBA,EAAK,QACLD,EAAK,MAAQ,IACbC,EAAK,UACLD,EAAK,QAAUC,EAAK,SACjBD,CACX,EAvCgB,YA8ChB7B,GAAK,UAAU,OAASkB,EAAA,SAAgBc,EAAe,CACnD,IAAIC,EAAYhC,GAAU,UAAU,OAAO,KAAK,KAAM+B,CAAa,EAC/DE,EAAeF,EAAgB,EAAQA,EAAc,aAAgB,GACzE,OAAOtB,GAAK,SAAS,CACjB,UAAeuB,GAAaA,EAAU,SAAW,OACjD,SAAehC,GAAU,YAAY,KAAK,YAAa+B,CAAa,EACpE,SAAe/B,GAAU,YAAY,KAAK,YAAY,OAAO,SAASkC,EAAK,CAAE,MAAO,CAACA,EAAI,cAAgB,CAAC,EAAGH,CAAa,GAAK,CAAC,EAChI,aAAe,KAAK,YAAc,KAAK,WAAW,OAAS,KAAK,WAAa,OAC7E,WAAe,KAAK,UAAY,KAAK,SAAS,OAAS,KAAK,SAAW,OACvE,QAAe,KAAK,OAAS,OAC7B,SAAeC,GAAaA,EAAU,QAAU,OAChD,UAAeC,EAAe,KAAK,QAAU,MACjD,CAAC,CACL,EAbwB,UAkBxBlC,GAAK,UAAU,WAAakB,EAAA,UAAsB,CAE9C,QADIkB,EAAS,KAAK,YAAahB,EAAI,EAC5BA,EAAIgB,EAAO,QACdA,EAAOhB,GAAG,EAAE,QAAQ,EACxB,IAAIiB,EAAS,KAAK,YAClB,IAD+BjB,EAAI,EAC5BA,EAAIiB,EAAO,QACdA,EAAOjB,GAAG,EAAE,QAAQ,EACxB,OAAOnB,GAAU,UAAU,WAAW,KAAK,IAAI,CACnD,EAR4B,cAa5BD,GAAK,UAAU,IAAMkB,EAAA,SAAaF,EAAM,CACpC,OAAO,KAAK,OAAOA,CAAI,GAChB,KAAK,QAAU,KAAK,OAAOA,CAAI,GAC/B,KAAK,QAAU,KAAK,OAAOA,CAAI,GAC/B,IACX,EALqB,OAcrBhB,GAAK,UAAU,IAAMkB,EAAA,SAAaoB,EAAQ,CAEtC,GAAI,KAAK,IAAIA,EAAO,IAAI,EACpB,MAAM,MAAM,mBAAqBA,EAAO,KAAO,QAAU,IAAI,EAEjE,GAAIA,aAAkBlC,IAASkC,EAAO,SAAW,OAAW,CAMxD,GAAI,KAAK,YAAyC,KAAK,YAAYA,EAAO,EAAE,EAAI,KAAK,WAAWA,EAAO,EAAE,EACrG,MAAM,MAAM,gBAAkBA,EAAO,GAAK,OAAS,IAAI,EAC3D,GAAI,KAAK,aAAaA,EAAO,EAAE,EAC3B,MAAM,MAAM,MAAQA,EAAO,GAAK,mBAAqB,IAAI,EAC7D,GAAI,KAAK,eAAeA,EAAO,IAAI,EAC/B,MAAM,MAAM,SAAWA,EAAO,KAAO,oBAAsB,IAAI,EAEnE,OAAIA,EAAO,QACPA,EAAO,OAAO,OAAOA,CAAM,EAC/B,KAAK,OAAOA,EAAO,IAAI,EAAIA,EAC3BA,EAAO,QAAU,KACjBA,EAAO,MAAM,IAAI,EACVV,GAAW,IAAI,CAC1B,CACA,OAAIU,aAAkBnC,IACb,KAAK,SACN,KAAK,OAAS,CAAC,GACnB,KAAK,OAAOmC,EAAO,IAAI,EAAIA,EAC3BA,EAAO,MAAM,IAAI,EACVV,GAAW,IAAI,GAEnB3B,GAAU,UAAU,IAAI,KAAK,KAAMqC,CAAM,CACpD,EAjCqB,OA0CrBtC,GAAK,UAAU,OAASkB,EAAA,SAAgBoB,EAAQ,CAC5C,GAAIA,aAAkBlC,IAASkC,EAAO,SAAW,OAAW,CAIxD,GAAI,CAAC,KAAK,QAAU,KAAK,OAAOA,EAAO,IAAI,IAAMA,EAC7C,MAAM,MAAMA,EAAS,uBAAyB,IAAI,EAEtD,cAAO,KAAK,OAAOA,EAAO,IAAI,EAC9BA,EAAO,OAAS,KAChBA,EAAO,SAAS,IAAI,EACbV,GAAW,IAAI,CAC1B,CACA,GAAIU,aAAkBnC,GAAO,CAGzB,GAAI,CAAC,KAAK,QAAU,KAAK,OAAOmC,EAAO,IAAI,IAAMA,EAC7C,MAAM,MAAMA,EAAS,uBAAyB,IAAI,EAEtD,cAAO,KAAK,OAAOA,EAAO,IAAI,EAC9BA,EAAO,OAAS,KAChBA,EAAO,SAAS,IAAI,EACbV,GAAW,IAAI,CAC1B,CACA,OAAO3B,GAAU,UAAU,OAAO,KAAK,KAAMqC,CAAM,CACvD,EAzBwB,UAgCxBtC,GAAK,UAAU,aAAekB,EAAA,SAAsBI,EAAI,CACpD,OAAOrB,GAAU,aAAa,KAAK,SAAUqB,CAAE,CACnD,EAF8B,gBAS9BtB,GAAK,UAAU,eAAiBkB,EAAA,SAAwBF,EAAM,CAC1D,OAAOf,GAAU,eAAe,KAAK,SAAUe,CAAI,CACvD,EAFgC,kBAShChB,GAAK,UAAU,OAASkB,EAAA,SAAgBqB,EAAY,CAChD,OAAO,IAAI,KAAK,KAAKA,CAAU,CACnC,EAFwB,UAQxBvC,GAAK,UAAU,MAAQkB,EAAA,UAAiB,CAMpC,QAFIsB,EAAW,KAAK,SAChBC,EAAW,CAAC,EACP,EAAI,EAAG,EAAsB,KAAK,YAAY,OAAQ,EAAE,EAC7DA,EAAM,KAAK,KAAK,aAAa,CAAC,EAAE,QAAQ,EAAE,YAAY,EAG1D,KAAK,OAAS9B,GAAQ,IAAI,EAAE,CACxB,OAASF,GACT,MAASgC,EACT,KAAS/B,EACb,CAAC,EACD,KAAK,OAASE,GAAQ,IAAI,EAAE,CACxB,OAASJ,GACT,MAASiC,EACT,KAAS/B,EACb,CAAC,EACD,KAAK,OAASG,GAAS,IAAI,EAAE,CACzB,MAAQ4B,EACR,KAAQ/B,EACZ,CAAC,EACD,KAAK,WAAaI,GAAU,WAAW,IAAI,EAAE,CACzC,MAAQ2B,EACR,KAAQ/B,EACZ,CAAC,EACD,KAAK,SAAWI,GAAU,SAAS,IAAI,EAAE,CACrC,MAAQ2B,EACR,KAAQ/B,EACZ,CAAC,EAGD,IAAIgC,EAAU3B,GAASyB,CAAQ,EAC/B,GAAIE,EAAS,CACT,IAAIC,EAAe,OAAO,OAAO,IAAI,EAEjCA,EAAa,WAAa,KAAK,WAC/B,KAAK,WAAaD,EAAQ,WAAW,KAAKC,CAAY,EAGtDA,EAAa,SAAW,KAAK,SAC7B,KAAK,SAAWD,EAAQ,SAAS,KAAKC,CAAY,CAE1D,CAEA,OAAO,IACX,EAhDuB,SAwDvB3C,GAAK,UAAU,OAASkB,EAAA,SAAsB0B,EAASC,EAAQ,CAC3D,OAAO,KAAK,MAAM,EAAE,OAAOD,EAASC,CAAM,CAC9C,EAFwB,gBAUxB7C,GAAK,UAAU,gBAAkBkB,EAAA,SAAyB0B,EAASC,EAAQ,CACvE,OAAO,KAAK,OAAOD,EAASC,GAAUA,EAAO,IAAMA,EAAO,KAAK,EAAIA,CAAM,EAAE,OAAO,CACtF,EAFiC,mBAYjC7C,GAAK,UAAU,OAASkB,EAAA,SAAsB4B,EAAQC,EAAQ,CAC1D,OAAO,KAAK,MAAM,EAAE,OAAOD,EAAQC,CAAM,CAC7C,EAFwB,gBAWxB/C,GAAK,UAAU,gBAAkBkB,EAAA,SAAyB4B,EAAQ,CAC9D,OAAMA,aAAkBtC,KACpBsC,EAAStC,GAAO,OAAOsC,CAAM,GAC1B,KAAK,OAAOA,EAAQA,EAAO,OAAO,CAAC,CAC9C,EAJiC,mBAWjC9C,GAAK,UAAU,OAASkB,EAAA,SAAsB0B,EAAS,CACnD,OAAO,KAAK,MAAM,EAAE,OAAOA,CAAO,CACtC,EAFwB,gBASxB5C,GAAK,UAAU,WAAakB,EAAA,SAAoBoB,EAAQ,CACpD,OAAO,KAAK,MAAM,EAAE,WAAWA,CAAM,CACzC,EAF4B,cA6B5BtC,GAAK,UAAU,SAAWkB,EAAA,SAAkB0B,EAAS3B,EAAS,CAC1D,OAAO,KAAK,MAAM,EAAE,SAAS2B,EAAS3B,CAAO,CACjD,EAF0B,YAmB1BjB,GAAK,EAAIkB,EAAA,SAAsB8B,EAAU,CACrC,OAAO9B,EAAA,SAAuB+B,EAAQ,CAClCvC,GAAK,aAAauC,EAAQD,CAAQ,CACtC,EAFO,gBAGX,EAJS,kBCxkBT,IAAAE,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cACAA,GAAO,QAAUC,GAGjB,IAAIC,GAAY,OACdD,GAAK,UAAY,OAAO,OAAOC,GAAU,SAAS,GAAG,YAAcD,IAAM,UAAY,OAEvF,IAAIE,GAAU,KACVC,GAAU,KACVC,GAAU,KACVC,GAAU,KAEVC,GACAC,GACAC,GASJ,SAASR,GAAKS,EAAS,CACnBR,GAAU,KAAK,KAAM,GAAIQ,CAAO,EAMhC,KAAK,SAAW,CAAC,EAMjB,KAAK,MAAQ,CAAC,CAClB,CAdSC,EAAAV,GAAA,QAsBTA,GAAK,SAAWU,EAAA,SAAkBC,EAAMC,EAAM,CAC1C,OAAKA,IACDA,EAAO,IAAIZ,IACXW,EAAK,SACLC,EAAK,WAAWD,EAAK,OAAO,EACzBC,EAAK,QAAQD,EAAK,MAAM,CACnC,EANgB,YAgBhBX,GAAK,UAAU,YAAcK,GAAK,KAAK,QAUvCL,GAAK,UAAU,MAAQK,GAAK,MAI5B,SAASQ,IAAO,CAAC,CAARH,EAAAG,GAAA,QASTb,GAAK,UAAU,KAAOU,EAAA,SAASI,EAAKC,EAAUN,EAASO,EAAU,CACzD,OAAOP,GAAY,aACnBO,EAAWP,EACXA,EAAU,QAEd,IAAIQ,EAAO,KACX,GAAI,CAACD,EACD,OAAOX,GAAK,UAAUS,EAAMG,EAAMF,EAAUN,CAAO,EAEvD,IAAIS,EAAOF,IAAaH,GAGxB,SAASM,EAAOC,EAAKR,EAAM,CAEvB,GAAKI,EAEL,IAAIE,EACA,MAAME,EACV,IAAIC,EAAKL,EACTA,EAAW,KACXK,EAAGD,EAAKR,CAAI,EAChB,CATSF,EAAAS,EAAA,UAYT,SAASG,EAAmBP,EAAU,CAClC,IAAIQ,EAAMR,EAAS,YAAY,kBAAkB,EACjD,GAAIQ,EAAM,GAAI,CACV,IAAIC,EAAUT,EAAS,UAAUQ,CAAG,EACpC,GAAIC,KAAWhB,GAAQ,OAAOgB,CAClC,CACA,OAAO,IACX,CAPSd,EAAAY,EAAA,sBAUT,SAASG,EAAQV,EAAUW,EAAQ,CAC/B,GAAI,CAGA,GAFIrB,GAAK,SAASqB,CAAM,GAAKA,EAAO,OAAO,CAAC,IAAM,MAC9CA,EAAS,KAAK,MAAMA,CAAM,GAC1B,CAACrB,GAAK,SAASqB,CAAM,EACrBT,EAAK,WAAWS,EAAO,OAAO,EAAE,QAAQA,EAAO,MAAM,MACpD,CACDnB,GAAM,SAAWQ,EACjB,IAAIY,EAASpB,GAAMmB,EAAQT,EAAMR,CAAO,EACpCmB,EACAC,EAAI,EACR,GAAIF,EAAO,QACP,KAAOE,EAAIF,EAAO,QAAQ,OAAQ,EAAEE,GAC5BD,EAAWN,EAAmBK,EAAO,QAAQE,CAAC,CAAC,GAAKZ,EAAK,YAAYF,EAAUY,EAAO,QAAQE,CAAC,CAAC,IAChGC,EAAMF,CAAQ,EAC1B,GAAID,EAAO,YACP,IAAKE,EAAI,EAAGA,EAAIF,EAAO,YAAY,OAAQ,EAAEE,GACrCD,EAAWN,EAAmBK,EAAO,YAAYE,CAAC,CAAC,GAAKZ,EAAK,YAAYF,EAAUY,EAAO,YAAYE,CAAC,CAAC,IACxGC,EAAMF,EAAU,EAAI,CACpC,CACJ,OAASR,EAAK,CACVD,EAAOC,CAAG,CACd,CACI,CAACF,GAAQ,CAACa,GACVZ,EAAO,KAAMF,CAAI,CACzB,CAzBSP,EAAAe,EAAA,WA4BT,SAASK,EAAMf,EAAUiB,EAAM,CAI3B,GAHAjB,EAAWO,EAAmBP,CAAQ,GAAKA,EAGvC,EAAAE,EAAK,MAAM,QAAQF,CAAQ,EAAI,IAKnC,IAHAE,EAAK,MAAM,KAAKF,CAAQ,EAGpBA,KAAYP,GAAQ,CAChBU,EACAO,EAAQV,EAAUP,GAAOO,CAAQ,CAAC,GAElC,EAAEgB,EACF,WAAW,UAAW,CAClB,EAAEA,EACFN,EAAQV,EAAUP,GAAOO,CAAQ,CAAC,CACtC,CAAC,GAEL,MACJ,CAGA,GAAIG,EAAM,CACN,IAAIQ,EACJ,GAAI,CACAA,EAASrB,GAAK,GAAG,aAAaU,CAAQ,EAAE,SAAS,MAAM,CAC3D,OAASK,EAAK,CACLY,GACDb,EAAOC,CAAG,EACd,MACJ,CACAK,EAAQV,EAAUW,CAAM,CAC5B,KACI,EAAEK,EACFd,EAAK,MAAMF,EAAU,SAASK,EAAKM,EAAQ,CAGvC,GAFA,EAAEK,EAEE,EAACf,EAEL,IAAII,EAAK,CAEAY,EAEKD,GACNZ,EAAO,KAAMF,CAAI,EAFjBE,EAAOC,CAAG,EAGd,MACJ,CACAK,EAAQV,EAAUW,CAAM,EAC5B,CAAC,EAET,CAnDShB,EAAAoB,EAAA,SAoDT,IAAIC,EAAS,EAIT1B,GAAK,SAASU,CAAQ,IACtBA,EAAW,CAAEA,CAAS,GAC1B,QAASc,EAAI,EAAGD,EAAUC,EAAId,EAAS,OAAQ,EAAEc,GACzCD,EAAWX,EAAK,YAAY,GAAIF,EAASc,CAAC,CAAC,IAC3CC,EAAMF,CAAQ,EAEtB,GAAIV,EACA,OAAOD,EACNc,GACDZ,EAAO,KAAMF,CAAI,CAEzB,EAjIsB,QAgKtBjB,GAAK,UAAU,SAAWU,EAAA,SAAkBK,EAAUN,EAAS,CAC3D,GAAI,CAACJ,GAAK,OACN,MAAM,MAAM,eAAe,EAC/B,OAAO,KAAK,KAAKU,EAAUN,EAASI,EAAI,CAC5C,EAJ0B,YAS1Bb,GAAK,UAAU,WAAaU,EAAA,UAAsB,CAC9C,GAAI,KAAK,SAAS,OACd,MAAM,MAAM,4BAA8B,KAAK,SAAS,IAAI,SAASuB,EAAO,CACxE,MAAO,WAAaA,EAAM,OAAS,QAAUA,EAAM,OAAO,QAC9D,CAAC,EAAE,KAAK,IAAI,CAAC,EACjB,OAAOhC,GAAU,UAAU,WAAW,KAAK,IAAI,CACnD,EAN4B,cAS5B,IAAIiC,GAAW,SAUf,SAASC,GAAmBvB,EAAMqB,EAAO,CACrC,IAAIG,EAAeH,EAAM,OAAO,OAAOA,EAAM,MAAM,EACnD,GAAIG,EAAc,CACd,IAAIC,EAAc,IAAInC,GAAM+B,EAAM,SAAUA,EAAM,GAAIA,EAAM,KAAMA,EAAM,KAAM,OAAWA,EAAM,OAAO,EAEtG,OAAIG,EAAa,IAAIC,EAAY,IAAI,IAGrCA,EAAY,eAAiBJ,EAC7BA,EAAM,eAAiBI,EACvBD,EAAa,IAAIC,CAAW,GACrB,EACX,CACA,MAAO,EACX,CAdS3B,EAAAyB,GAAA,sBAsBTnC,GAAK,UAAU,WAAaU,EAAA,SAAoB4B,EAAQ,CACpD,GAAIA,aAAkBpC,GAEyCoC,EAAO,SAAW,QAAuC,CAACA,EAAO,iBACnHH,GAAmB,KAAMG,CAAM,GAChC,KAAK,SAAS,KAAKA,CAAM,WAE1BA,aAAkBnC,GAErB+B,GAAS,KAAKI,EAAO,IAAI,IACzBA,EAAO,OAAOA,EAAO,IAAI,EAAIA,EAAO,gBAEjC,EAAEA,aAAkBlC,IAA6C,CAExE,GAAIkC,aAAkBhC,GAClB,QAASuB,EAAI,EAAGA,EAAI,KAAK,SAAS,QAC1BM,GAAmB,KAAM,KAAK,SAASN,CAAC,CAAC,EACzC,KAAK,SAAS,OAAOA,EAAG,CAAC,EAEzB,EAAEA,EACd,QAASU,EAAI,EAAGA,EAAsBD,EAAO,YAAY,OAAQ,EAAEC,EAC/D,KAAK,WAAWD,EAAO,aAAaC,CAAC,CAAC,EACtCL,GAAS,KAAKI,EAAO,IAAI,IACzBA,EAAO,OAAOA,EAAO,IAAI,EAAIA,EACrC,CAKJ,EA7B4B,cAqC5BtC,GAAK,UAAU,cAAgBU,EAAA,SAAuB4B,EAAQ,CAC1D,GAAIA,aAAkBpC,IAElB,GAA6BoC,EAAO,SAAW,OAC3C,GAA0BA,EAAO,eAC7BA,EAAO,eAAe,OAAO,OAAOA,EAAO,cAAc,EACzDA,EAAO,eAAiB,SACrB,CACH,IAAIE,EAAQ,KAAK,SAAS,QAAQF,CAAM,EAEpCE,EAAQ,IACR,KAAK,SAAS,OAAOA,EAAO,CAAC,CACrC,UAGGF,aAAkBnC,GAErB+B,GAAS,KAAKI,EAAO,IAAI,GACzB,OAAOA,EAAO,OAAOA,EAAO,IAAI,UAE7BA,aAAkBrC,GAAW,CAEpC,QAAS,EAAI,EAAG,EAAsBqC,EAAO,YAAY,OAAQ,EAAE,EAC/D,KAAK,cAAcA,EAAO,aAAa,CAAC,CAAC,EAEzCJ,GAAS,KAAKI,EAAO,IAAI,GACzB,OAAOA,EAAO,OAAOA,EAAO,IAAI,CAExC,CACJ,EA7B+B,iBAgC/BtC,GAAK,WAAa,SAASyC,EAAOC,EAAQC,EAAS,CAC/CrC,GAASmC,EACTlC,GAASmC,EACTlC,GAASmC,CACb,IC/WA,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cAMA,IAAIC,GAAOD,GAAO,QAAU,KAExBE,GAAQ,KAERC,GACAC,GAEJH,GAAK,QAAU,KACfA,GAAK,MAAU,KACfA,GAAK,KAAU,KAMfA,GAAK,GAAKA,GAAK,QAAQ,IAAI,EAO3BA,GAAK,QAAUI,EAAA,SAAiBC,EAAQ,CACpC,GAAIA,EAAQ,CAIR,QAHIC,EAAQ,OAAO,KAAKD,CAAM,EAC1BE,EAAQ,IAAI,MAAMD,EAAK,MAAM,EAC7BE,EAAQ,EACLA,EAAQF,EAAK,QAChBC,EAAMC,CAAK,EAAIH,EAAOC,EAAKE,GAAO,CAAC,EACvC,OAAOD,CACX,CACA,MAAO,CAAC,CACZ,EAVe,WAiBfP,GAAK,SAAWI,EAAA,SAAkBG,EAAO,CAGrC,QAFIF,EAAS,CAAC,EACVG,EAAS,EACNA,EAAQD,EAAM,QAAQ,CACzB,IAAIE,EAAMF,EAAMC,GAAO,EACnBE,EAAMH,EAAMC,GAAO,EACnBE,IAAQ,SACRL,EAAOI,CAAG,EAAIC,EACtB,CACA,OAAOL,CACX,EAVgB,YAYhB,IAAIM,GAAsB,MACtBC,GAAsB,KAO1BZ,GAAK,WAAaI,EAAA,SAAoBS,EAAM,CACxC,MAAO,uTAAuT,KAAKA,CAAI,CAC3U,EAFkB,cASlBb,GAAK,SAAWI,EAAA,SAAkBU,EAAM,CACpC,MAAI,CAAC,YAAY,KAAKA,CAAI,GAAKd,GAAK,WAAWc,CAAI,EACxC,KAAQA,EAAK,QAAQH,GAAqB,MAAM,EAAE,QAAQC,GAAiB,KAAM,EAAI,KACzF,IAAME,CACjB,EAJgB,YAWhBd,GAAK,QAAUI,EAAA,SAAiBW,EAAK,CACjC,OAAOA,EAAI,OAAO,CAAC,EAAE,YAAY,EAAIA,EAAI,UAAU,CAAC,CACxD,EAFe,WAIf,IAAIC,GAAc,YAOlBhB,GAAK,UAAYI,EAAA,SAAmBW,EAAK,CACrC,OAAOA,EAAI,UAAU,EAAG,CAAC,EAClBA,EAAI,UAAU,CAAC,EACV,QAAQC,GAAa,SAASC,EAAIC,EAAI,CAAE,OAAOA,EAAG,YAAY,CAAG,CAAC,CAClF,EAJiB,aAYjBlB,GAAK,kBAAoBI,EAAA,SAA2Be,EAAGC,EAAG,CACtD,OAAOD,EAAE,GAAKC,EAAE,EACpB,EAFyB,qBAYzBpB,GAAK,aAAeI,EAAA,SAAsBiB,EAAMC,EAAU,CAGtD,GAAID,EAAK,MACL,OAAIC,GAAYD,EAAK,MAAM,OAASC,IAChCtB,GAAK,aAAa,OAAOqB,EAAK,KAAK,EACnCA,EAAK,MAAM,KAAOC,EAClBtB,GAAK,aAAa,IAAIqB,EAAK,KAAK,GAE7BA,EAAK,MAIXnB,KACDA,GAAO,MAEX,IAAIqB,EAAO,IAAIrB,GAAKoB,GAAYD,EAAK,IAAI,EACzC,OAAArB,GAAK,aAAa,IAAIuB,CAAI,EAC1BA,EAAK,KAAOF,EACZ,OAAO,eAAeA,EAAM,QAAS,CAAE,MAAOE,EAAM,WAAY,EAAM,CAAC,EACvE,OAAO,eAAeF,EAAK,UAAW,QAAS,CAAE,MAAOE,EAAM,WAAY,EAAM,CAAC,EAC1EA,CACX,EAtBoB,gBAwBpB,IAAIC,GAAoB,EAOxBxB,GAAK,aAAeI,EAAA,SAAsBC,EAAQ,CAG9C,GAAIA,EAAO,MACP,OAAOA,EAAO,MAGbF,KACDA,GAAO,MAEX,IAAIsB,EAAM,IAAItB,GAAK,OAASqB,KAAqBnB,CAAM,EACvD,OAAAL,GAAK,aAAa,IAAIyB,CAAG,EACzB,OAAO,eAAepB,EAAQ,QAAS,CAAE,MAAOoB,EAAK,WAAY,EAAM,CAAC,EACjEA,CACX,EAdoB,gBAwBpBzB,GAAK,YAAcI,EAAA,SAAqBsB,EAAKC,EAAMC,EAAO,CACtD,SAASC,EAAQH,EAAKC,EAAMC,EAAO,CAC/B,IAAIE,EAAOH,EAAK,MAAM,EACtB,GAAIG,IAAS,aAAeA,IAAS,YACnC,OAAOJ,EAET,GAAIC,EAAK,OAAS,EACdD,EAAII,CAAI,EAAID,EAAQH,EAAII,CAAI,GAAK,CAAC,EAAGH,EAAMC,CAAK,MAC7C,CACH,IAAIG,EAAYL,EAAII,CAAI,EACpBC,IACAH,EAAQ,CAAC,EAAE,OAAOG,CAAS,EAAE,OAAOH,CAAK,GAC7CF,EAAII,CAAI,EAAIF,CAChB,CACA,OAAOF,CACX,CAEA,GAhBStB,EAAAyB,EAAA,WAgBL,OAAOH,GAAQ,SACf,MAAM,UAAU,uBAAuB,EAC3C,GAAI,CAACC,EACD,MAAM,UAAU,wBAAwB,EAE5C,OAAAA,EAAOA,EAAK,MAAM,GAAG,EACdE,EAAQH,EAAKC,EAAMC,CAAK,CACnC,EAxBmB,eAgCnB,OAAO,eAAe5B,GAAM,eAAgB,CACxC,IAAK,UAAW,CACZ,OAAOC,GAAM,YAAiBA,GAAM,UAAe,GAAK,OAC5D,CACJ,CAAC,ICnND,IAAA+B,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cACAA,GAAO,QAAUC,GAEjBA,GAAiB,UAAY,mBAE7B,IAAIC,GAAO,KAEPC,GAUJ,SAASF,GAAiBG,EAAMC,EAAS,CAErC,GAAI,CAACH,GAAK,SAASE,CAAI,EACnB,MAAM,UAAU,uBAAuB,EAE3C,GAAIC,GAAW,CAACH,GAAK,SAASG,CAAO,EACjC,MAAM,UAAU,2BAA2B,EAM/C,KAAK,QAAUA,EAMf,KAAK,cAAgB,KAMrB,KAAK,KAAOD,EAMZ,KAAK,OAAS,KAMd,KAAK,SAAW,GAMhB,KAAK,QAAU,KAMf,KAAK,SAAW,IACpB,CAjDSE,EAAAL,GAAA,oBAmDT,OAAO,iBAAiBA,GAAiB,UAAW,CAQhD,KAAM,CACF,IAAK,UAAW,CAEZ,QADIM,EAAM,KACHA,EAAI,SAAW,MAClBA,EAAMA,EAAI,OACd,OAAOA,CACX,CACJ,EAQA,SAAU,CACN,IAAK,UAAW,CAGZ,QAFIC,EAAO,CAAE,KAAK,IAAK,EACnBD,EAAM,KAAK,OACRA,GACHC,EAAK,QAAQD,EAAI,IAAI,EACrBA,EAAMA,EAAI,OAEd,OAAOC,EAAK,KAAK,GAAG,CACxB,CACJ,CACJ,CAAC,EAODP,GAAiB,UAAU,OAAoCK,EAAA,UAAkB,CAC7E,MAAM,MAAM,CAChB,EAF+D,UAS/DL,GAAiB,UAAU,MAAQK,EAAA,SAAeG,EAAQ,CAClD,KAAK,QAAU,KAAK,SAAWA,GAC/B,KAAK,OAAO,OAAO,IAAI,EAC3B,KAAK,OAASA,EACd,KAAK,SAAW,GAChB,IAAIC,EAAOD,EAAO,KACdC,aAAgBP,IAChBO,EAAK,WAAW,IAAI,CAC5B,EARmC,SAenCT,GAAiB,UAAU,SAAWK,EAAA,SAAkBG,EAAQ,CAC5D,IAAIC,EAAOD,EAAO,KACdC,aAAgBP,IAChBO,EAAK,cAAc,IAAI,EAC3B,KAAK,OAAS,KACd,KAAK,SAAW,EACpB,EANsC,YAYtCT,GAAiB,UAAU,QAAUK,EAAA,UAAmB,CACpD,OAAI,KAAK,SACE,MACP,KAAK,gBAAgBH,KACrB,KAAK,SAAW,IACb,KACX,EANqC,WAarCF,GAAiB,UAAU,UAAYK,EAAA,SAAmBF,EAAM,CAC5D,GAAI,KAAK,QACL,OAAO,KAAK,QAAQA,CAAI,CAEhC,EAJuC,aAavCH,GAAiB,UAAU,UAAYK,EAAA,SAAmBF,EAAMO,EAAOC,EAAU,CAC7E,OAAI,CAACA,GAAY,CAAC,KAAK,SAAW,KAAK,QAAQR,CAAI,IAAM,WACpD,KAAK,UAAY,KAAK,QAAU,CAAC,IAAIA,CAAI,EAAIO,GAC3C,IACX,EAJuC,aAavCV,GAAiB,UAAU,gBAAkBK,EAAA,SAAyBF,EAAMO,EAAOE,EAAU,CACpF,KAAK,gBACN,KAAK,cAAgB,CAAC,GAE1B,IAAIC,EAAgB,KAAK,cACzB,GAAID,EAAU,CAGV,IAAIE,EAAMD,EAAc,KAAK,SAAUC,EAAK,CACxC,OAAO,OAAO,UAAU,eAAe,KAAKA,EAAKX,CAAI,CACzD,CAAC,EACD,GAAIW,EAAK,CAEL,IAAIC,EAAWD,EAAIX,CAAI,EACvBF,GAAK,YAAYc,EAAUH,EAAUF,CAAK,CAC9C,MAEII,EAAM,CAAC,EACPA,EAAIX,CAAI,EAAIF,GAAK,YAAY,CAAC,EAAGW,EAAUF,CAAK,EAChDG,EAAc,KAAKC,CAAG,CAE9B,KAAO,CAEH,IAAIE,EAAS,CAAC,EACdA,EAAOb,CAAI,EAAIO,EACfG,EAAc,KAAKG,CAAM,CAC7B,CACA,OAAO,IACX,EA5B6C,mBAoC7ChB,GAAiB,UAAU,WAAaK,EAAA,SAAoBD,EAASO,EAAU,CAC3E,GAAIP,EACA,QAASa,EAAO,OAAO,KAAKb,CAAO,EAAGc,EAAI,EAAGA,EAAID,EAAK,OAAQ,EAAEC,EAC5D,KAAK,UAAUD,EAAKC,CAAC,EAAGd,EAAQa,EAAKC,CAAC,CAAC,EAAGP,CAAQ,EAC1D,OAAO,IACX,EALwC,cAWxCX,GAAiB,UAAU,SAAWK,EAAA,UAAoB,CACtD,IAAIc,EAAY,KAAK,YAAY,UAC7BC,EAAY,KAAK,SACrB,OAAIA,EAAS,OACFD,EAAY,IAAMC,EACtBD,CACX,EANsC,YAStCnB,GAAiB,WAAa,SAASqB,EAAO,CAC1CnB,GAAOmB,CACX,IClPA,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cACAA,GAAO,QAAUC,GAGjB,IAAIC,GAAmB,OACrBD,GAAK,UAAY,OAAO,OAAOC,GAAiB,SAAS,GAAG,YAAcD,IAAM,UAAY,OAE9F,IAAIE,GAAY,KACZC,GAAO,KAcX,SAASH,GAAKI,EAAMC,EAAQC,EAASC,EAASC,EAAUC,EAAe,CAGnE,GAFAR,GAAiB,KAAK,KAAMG,EAAME,CAAO,EAErCD,GAAU,OAAOA,GAAW,SAC5B,MAAM,UAAU,0BAA0B,EA0C9C,GApCA,KAAK,WAAa,CAAC,EAMnB,KAAK,OAAS,OAAO,OAAO,KAAK,UAAU,EAM3C,KAAK,QAAUE,EAMf,KAAK,SAAWC,GAAY,CAAC,EAM7B,KAAK,cAAgBC,EAMrB,KAAK,SAAW,OAMZJ,EACA,QAASK,EAAO,OAAO,KAAKL,CAAM,EAAGM,EAAI,EAAGA,EAAID,EAAK,OAAQ,EAAEC,EACvD,OAAON,EAAOK,EAAKC,CAAC,CAAC,GAAM,WAC3B,KAAK,WAAY,KAAK,OAAOD,EAAKC,CAAC,CAAC,EAAIN,EAAOK,EAAKC,CAAC,CAAC,CAAE,EAAID,EAAKC,CAAC,EAClF,CAlDSC,EAAAZ,GAAA,QAkETA,GAAK,SAAWY,EAAA,SAAkBR,EAAMS,EAAM,CAC1C,IAAIC,EAAM,IAAId,GAAKI,EAAMS,EAAK,OAAQA,EAAK,QAASA,EAAK,QAASA,EAAK,QAAQ,EAC/E,OAAAC,EAAI,SAAWD,EAAK,SACbC,CACX,EAJgB,YAWhBd,GAAK,UAAU,OAASY,EAAA,SAAgBG,EAAe,CACnD,IAAIC,EAAeD,EAAgB,EAAQA,EAAc,aAAgB,GACzE,OAAOZ,GAAK,SAAS,CACjB,UAAkB,KAAK,QACvB,gBAAkB,KAAK,cACvB,SAAkB,KAAK,OACvB,WAAkB,KAAK,UAAY,KAAK,SAAS,OAAS,KAAK,SAAW,OAC1E,UAAkBa,EAAe,KAAK,QAAU,OAChD,WAAkBA,EAAe,KAAK,SAAW,MACrD,CAAC,CACL,EAVwB,UAsBxBhB,GAAK,UAAU,IAAMY,EAAA,SAAaR,EAAMa,EAAIV,EAASD,EAAS,CAG1D,GAAI,CAACH,GAAK,SAASC,CAAI,EACnB,MAAM,UAAU,uBAAuB,EAE3C,GAAI,CAACD,GAAK,UAAUc,CAAE,EAClB,MAAM,UAAU,uBAAuB,EAE3C,GAAI,KAAK,OAAOb,CAAI,IAAM,OACtB,MAAM,MAAM,mBAAqBA,EAAO,QAAU,IAAI,EAE1D,GAAI,KAAK,aAAaa,CAAE,EACpB,MAAM,MAAM,MAAQA,EAAK,mBAAqB,IAAI,EAEtD,GAAI,KAAK,eAAeb,CAAI,EACxB,MAAM,MAAM,SAAWA,EAAO,oBAAsB,IAAI,EAE5D,GAAI,KAAK,WAAWa,CAAE,IAAM,OAAW,CACnC,GAAI,EAAE,KAAK,SAAW,KAAK,QAAQ,aAC/B,MAAM,MAAM,gBAAkBA,EAAK,OAAS,IAAI,EACpD,KAAK,OAAOb,CAAI,EAAIa,CACxB,MACI,KAAK,WAAW,KAAK,OAAOb,CAAI,EAAIa,CAAE,EAAIb,EAE9C,OAAIE,IACI,KAAK,gBAAkB,SACvB,KAAK,cAAgB,CAAC,GAC1B,KAAK,cAAcF,CAAI,EAAIE,GAAW,MAG1C,KAAK,SAASF,CAAI,EAAIG,GAAW,KAC1B,IACX,EAjCqB,OA0CrBP,GAAK,UAAU,OAASY,EAAA,SAAgBR,EAAM,CAE1C,GAAI,CAACD,GAAK,SAASC,CAAI,EACnB,MAAM,UAAU,uBAAuB,EAE3C,IAAIc,EAAM,KAAK,OAAOd,CAAI,EAC1B,GAAIc,GAAO,KACP,MAAM,MAAM,SAAWd,EAAO,uBAAyB,IAAI,EAE/D,cAAO,KAAK,WAAWc,CAAG,EAC1B,OAAO,KAAK,OAAOd,CAAI,EACvB,OAAO,KAAK,SAASA,CAAI,EACrB,KAAK,eACL,OAAO,KAAK,cAAcA,CAAI,EAE3B,IACX,EAhBwB,UAuBxBJ,GAAK,UAAU,aAAeY,EAAA,SAAsBK,EAAI,CACpD,OAAOf,GAAU,aAAa,KAAK,SAAUe,CAAE,CACnD,EAF8B,gBAS9BjB,GAAK,UAAU,eAAiBY,EAAA,SAAwBR,EAAM,CAC1D,OAAOF,GAAU,eAAe,KAAK,SAAUE,CAAI,CACvD,EAFgC,oBCnMhC,IAAAe,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cACAA,GAAO,QAAUC,GAEjB,IAAIC,GAAW,KACXC,GAAW,KACXC,GAAW,KAWf,SAASC,GAAeC,EAAKC,EAAOC,EAAYC,EAAK,CACjD,OAAOF,EAAM,aAAa,MACpBD,EAAI,+CAAgDE,EAAYC,GAAMF,EAAM,IAAM,EAAI,KAAO,GAAIA,EAAM,IAAM,EAAI,KAAO,CAAC,EACzHD,EAAI,oDAAqDE,EAAYC,GAAMF,EAAM,IAAM,EAAI,KAAO,CAAC,CAC7G,CAJSG,EAAAL,GAAA,kBAWT,SAASJ,GAAQU,EAAO,CAWpB,QATIL,EAAMF,GAAK,QAAQ,CAAC,IAAK,GAAG,EAAGO,EAAM,KAAO,SAAS,EACxD,QAAQ,EACJ,mBAAmB,EAEpBC,EAAGH,EAGHI,EAA2BF,EAAM,YAAY,MAAM,EAAE,KAAKP,GAAK,iBAAiB,EAE3EQ,EAAI,EAAGA,EAAIC,EAAO,OAAQ,EAAED,EAAG,CACpC,IAAIL,EAAWM,EAAOD,CAAC,EAAE,QAAQ,EAC7BE,EAAWH,EAAM,aAAa,QAAQJ,CAAK,EAC3CQ,EAAWR,EAAM,wBAAwBL,GAAO,QAAUK,EAAM,KAChES,EAAWb,GAAM,MAAMY,CAAI,EAC3BN,EAAW,IAAML,GAAK,SAASG,EAAM,IAAI,EAGzCA,EAAM,KACND,EACP,kDAAmDG,EAAKF,EAAM,IAAI,EAC9D,mDAAoDE,CAAG,EACnD,4CAA6CF,EAAM,IAAM,EAAI,KAAO,EAAG,EAAIJ,GAAM,OAAOI,EAAM,OAAO,EAAGA,EAAM,OAAO,EAClHS,IAAa,OAAWV,EAC3B,oEAAqEQ,EAAOL,CAAG,EAC3EH,EACJ,qCAAsC,GAAKU,EAAUD,EAAMN,CAAG,EAC/DH,EACH,GAAG,EACP,GAAG,GAGWC,EAAM,UAAYD,EAChC,2BAA4BG,EAAKA,CAAG,EAGzBF,EAAM,QAAUJ,GAAM,OAAOY,CAAI,IAAM,OAAaT,EAE3D,uBAAwBC,EAAM,IAAM,EAAI,KAAO,CAAC,EAChD,+BAAgCE,CAAG,EAC/B,cAAeM,EAAMN,CAAG,EAC5B,YAAY,GAGAH,EAEZ,+BAAgCG,CAAG,EACxBO,IAAa,OACrBX,GAAeC,EAAKC,EAAOO,EAAOL,EAAM,KAAK,EACpCH,EACR,0BAA2BC,EAAM,IAAM,EAAIS,KAAc,EAAGD,EAAMN,CAAG,GAEpEH,EACT,GAAG,IAIQC,EAAM,UAAUD,EAC3B,iDAAkDG,EAAKF,EAAM,IAAI,EAEtDS,IAAa,OACrBX,GAAeC,EAAKC,EAAOO,EAAOL,CAAG,EAC5BH,EACR,uBAAwBC,EAAM,IAAM,EAAIS,KAAc,EAAGD,EAAMN,CAAG,EAGvE,CAEA,OAAOH,EACN,UAAU,CAEf,CAxESI,EAAAT,GAAA,aC3BT,IAAAgB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cACA,IAAIC,GAAWD,GAAO,QAAU,KAEhCC,GAAS,MAAQ,QAmBjB,SAASC,GAAKC,EAAUC,EAAMC,EAAU,CACpC,OAAI,OAAOD,GAAS,YAChBC,EAAWD,EACXA,EAAO,IAAIH,GAAS,MACZG,IACRA,EAAO,IAAIH,GAAS,MACjBG,EAAK,KAAKD,EAAUE,CAAQ,CACvC,CAPSC,EAAAJ,GAAA,QAiCTD,GAAS,KAAOC,GAUhB,SAASK,GAASJ,EAAUC,EAAM,CAC9B,OAAKA,IACDA,EAAO,IAAIH,GAAS,MACjBG,EAAK,SAASD,CAAQ,CACjC,CAJSG,EAAAC,GAAA,YAMTN,GAAS,SAAWM,GAGpBN,GAAS,QAAmB,KAC5BA,GAAS,QAAmB,KAC5BA,GAAS,SAAmB,KAC5BA,GAAS,UAAmB,KAG5BA,GAAS,iBAAmB,KAC5BA,GAAS,UAAmB,KAC5BA,GAAS,KAAmB,KAC5BA,GAAS,KAAmB,KAC5BA,GAAS,KAAmB,KAC5BA,GAAS,MAAmB,KAC5BA,GAAS,MAAmB,KAC5BA,GAAS,SAAmB,KAC5BA,GAAS,QAAmB,KAC5BA,GAAS,OAAmB,KAG5BA,GAAS,QAAmB,KAC5BA,GAAS,SAAmB,KAG5BA,GAAS,MAAmB,KAC5BA,GAAS,KAAmB,KAG5BA,GAAS,iBAAiB,WAAWA,GAAS,IAAI,EAClDA,GAAS,UAAU,WAAWA,GAAS,KAAMA,GAAS,QAASA,GAAS,IAAI,EAC5EA,GAAS,KAAK,WAAWA,GAAS,IAAI,EACtCA,GAAS,MAAM,WAAWA,GAAS,IAAI,ICvGvC,IAAAO,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cAGAA,GAAO,QAAU,OCHjB,IAAAC,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,sBAAwBA,GAAQ,sBAAwBA,GAAQ,eAAiBA,GAAQ,iBAAmB,OACpH,IAAMC,GAAU,cACVC,GAAWD,GAAQ,aAAa,IAA2B,EAC3DE,GAAiB,CACnB,OACA,SACA,QACA,QACA,QACA,SACA,SACA,SACA,SACA,UACA,UACA,WACA,WACA,SACA,OACJ,EACMC,GAAmBC,EAACC,GAAUH,GAAe,SAASG,CAAK,EAAxC,oBACzBN,GAAQ,iBAAmBI,GAC3B,SAASG,GAAeC,EAAM,CAC1B,OAAI,OAAOA,GAAS,SACTN,GAAS,KAAK,SAAS,KAAK,MAAMM,CAAI,CAAC,EAE3CN,GAAS,KAAK,SAASM,CAAI,CACtC,CALSH,EAAAE,GAAA,kBAMTP,GAAQ,eAAiBO,GACzB,IAAME,GAAwBJ,EAAA,CAACK,EAAUC,IAAS,CAC9C,IAAMC,EAAUF,EAAS,WAAWC,CAAI,EAEpCE,EADgBH,EAAS,WAAW,aAAa,EACrB,OAAO,eAAeC,CAAI,EAAE,EAC5D,OAAI,OAAOE,GAAkB,UAAYD,EAAQ,UAC7CC,EAAgBD,EAAQ,QAAQ,aAAa,GAE1C,CACH,QAAAA,EACA,YAAaC,GAAqEF,CACtF,CACJ,EAX8B,yBAY9BX,GAAQ,sBAAwBS,GAChC,IAAMK,GAAwBT,EAAA,CAACK,EAAUK,IAAgB,CACrD,GAAI,OAAOA,GAAgB,SAEvB,MAAO,CACH,QAFYL,EAAS,WAAWK,CAAW,EAG3C,YAAaA,CACjB,EAGJ,IAAMC,EADeN,EAAS,WAAW,aAAa,EACrB,WAAWK,CAAW,EAAE,QAAQ,eAAgB,EAAE,EAEnF,MAAO,CACH,QAFYL,EAAS,WAAWM,CAAW,EAG3C,YAAAA,CACJ,CACJ,EAf8B,yBAgB9BhB,GAAQ,sBAAwBc,KC5DhC,IAAAG,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,OAASA,GAAQ,cAAgB,OACzC,IAAMC,GAAU,cACVC,GAAU,KACVC,GAAYC,EAAA,CAACC,EAAOC,IAAU,CAChC,MAAQJ,GAAQ,kBAAkBG,EAAM,IAAI,EACxC,OAAIA,EAAM,UAAY,OAAOC,EAAU,IAC5B,KAEPD,EAAM,OAAS,QACR,OAAO,KAAKC,CAAK,EAAE,SAAS,KAAK,EAExCD,EAAM,KACF,OAAO,cAAcC,EAAM,SAAS,CAAC,EAC9BA,EAAM,SAAS,EAEnBA,EAAM,SAAS,EAEnBA,EAEX,GAAI,eAAgBD,EAAM,aACtB,OAAOA,EAAM,aAAa,WAAWC,CAAK,EAE9C,GAAID,EAAM,aAAa,OACnB,OAAOE,GAAcD,EAAOD,EAAM,aAAa,MAAM,EAEzD,MAAM,IAAI,MAAM,wCAAwCA,CAAK,EAAE,CACnE,EAvBkB,aAwBlB,SAASE,GAAcC,EAAcC,EAAQ,CACzC,GAAI,CAACD,EACD,MAAO,CAAC,EAEZ,IAAME,EAAUT,GAAQ,OAAOO,EAAc,CAAC,CAAC,EACzCG,EAAM,CAAC,EACb,cAAO,KAAKF,CAAM,EAAE,QAAQG,GAAO,CAC/B,IAAMP,EAAQI,EAAOG,CAAG,EAClBN,EAAQI,EAAQE,CAAG,EACrBP,EAAM,SACNM,EAAIC,CAAG,EAAIN,EAAM,IAAKO,GAAMV,GAAUE,EAAOQ,CAAC,CAAC,EAG/CF,EAAIC,CAAG,EAAIT,GAAUE,EAAOC,CAAK,CAEzC,CAAC,EACMK,CACX,CAjBSP,EAAAG,GAAA,iBAkBTP,GAAQ,cAAgBO,GACxB,IAAMO,GAASV,EAAA,CAACI,EAAcO,IAAS,CACnC,IAAMC,EAAUR,EAAa,OAAO,IAAI,WAAWO,CAAI,CAAC,EACxD,OAAOR,GAAcS,EAASA,EAAQ,MAAM,MAAM,CACtD,EAHe,UAIfhB,GAAQ,OAASc,KCpDjB,IAAAG,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,OAASA,GAAQ,MAAQ,OACjC,IAAMC,GAAU,KACVC,GAAU,KACVC,GAAYC,EAAA,CAACC,EAAWC,IAAU,CACpC,GAAID,IAAc,QACd,OAAI,OAAOC,GAAU,UAAY,CAACA,EACvBA,EACJ,OAAO,KAAKA,EAAO,KAAK,EAEnC,GAAI,OAAOA,GAAU,UAAY,CAAC,OAAO,cAAcA,CAAK,EACxD,MAAM,IAAI,WAAW,8CAA8C,EAEvE,OAAOA,CACX,EAVkB,aAWlB,SAASC,GAAMC,EAASC,EAAS,CAC7B,IAAMC,EAAU,CAAC,EACjB,OAAKF,EAAQ,QAGb,OAAO,KAAKA,EAAQ,MAAM,EAAE,QAAQG,GAAO,CACvC,IAAMC,EAAQJ,EAAQ,OAAOG,CAAG,EAC1BL,EAAQG,EAAQE,CAAG,EACzB,GAAI,SAAOL,EAAU,KAGrB,OAAQJ,GAAQ,kBAAkBU,EAAM,IAAI,EAAG,CACvCA,EAAM,SACNF,EAAQC,CAAG,EAAIL,EAAM,IAAKO,GAAMV,GAAUS,EAAM,KAAMC,CAAC,CAAC,EAGxDH,EAAQC,CAAG,EAAIR,GAAUS,EAAM,KAAMN,CAAK,EAE9C,MACJ,CACA,GAAIM,EAAM,SAAU,CAChB,IAAMP,EAAYG,EAAQ,iBAAiBI,EAAM,IAAI,EACjDP,aAAqBJ,GAAQ,KAC7BS,EAAQC,CAAG,EAAIL,EAGfI,EAAQC,CAAG,EAAIL,EAAM,IAAKO,GAAMN,GAAMF,EAAWQ,CAAC,CAAC,CAE3D,SACS,OAAOP,GAAU,UAAYA,IAAU,KAAM,CAClD,IAAMQ,EAAaN,EAAQ,WAAWI,EAAM,IAAI,EAChDF,EAAQC,CAAG,EAAIJ,GAAMO,EAAYR,CAAK,CAC1C,SACS,OAAOA,GAAU,SAAU,CAChC,IAAMQ,EAAaN,EAAQ,WAAWI,EAAM,IAAI,EAChDF,EAAQC,CAAG,EAAIG,EAAW,OAAOR,CAAK,CAC1C,MAEII,EAAQC,CAAG,EAAIL,EAEvB,CAAC,EACMI,CACX,CA1CSN,EAAAG,GAAA,SA2CTP,GAAQ,MAAQO,GAChB,IAAMQ,GAASX,EAAA,CAACI,EAASQ,IAAS,CAC9B,IAAMP,EAAUF,GAAMC,EAASQ,CAAI,EAC7BC,EAAUT,EAAQ,WAAWC,CAAO,EACpCS,EAAQV,EAAQ,OAAOS,CAAO,EAAE,OAAO,EAC7C,OAAO,OAAO,KAAKC,CAAK,CAC5B,EALe,UAMflB,GAAQ,OAASe,KClEjB,IAAAI,GAAAC,EAAAC,GAAA,cACA,OAAO,eAAeA,EAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,EAAQ,gBAAkBA,EAAQ,kBAAoBA,EAAQ,kBAAoBA,EAAQ,gBAAkBA,EAAQ,iBAAmBA,EAAQ,0BAA4BA,EAAQ,oBAAsBA,EAAQ,oBAAsBA,EAAQ,cAAgBA,EAAQ,kBAAoBA,EAAQ,YAAcA,EAAQ,qBAAuBA,EAAQ,mBAAqBA,EAAQ,uBAAyBA,EAAQ,gBAAkBA,EAAQ,sBAAwBA,EAAQ,sBAAwBA,EAAQ,gBAAkBA,EAAQ,iBAAmBA,EAAQ,uBAAyBA,EAAQ,oBAAsBA,EAAQ,YAAcA,EAAQ,0BAA4BA,EAAQ,uBAAyBA,EAAQ,YAAcA,EAAQ,qBAAuBA,EAAQ,qBAAuBA,EAAQ,+BAAiCA,EAAQ,qCAAuCA,EAAQ,qBAAuBA,EAAQ,uBAAyBA,EAAQ,mCAAqCA,EAAQ,qCAAuCA,EAAQ,wBAA0BA,EAAQ,mBAAqBA,EAAQ,sBAAwBA,EAAQ,iBAAmBA,EAAQ,WAAaA,EAAQ,uBAAyBA,EAAQ,sBAAwBA,EAAQ,qBAAuBA,EAAQ,mBAAqBA,EAAQ,iBAAmBA,EAAQ,iBAAmBA,EAAQ,oBAAsB,OAC/1C,IAAIC,IACH,SAAUA,EAAqB,CAC5BA,EAAoB,KAAU,OAC9BA,EAAoB,KAAU,OAC9BA,EAAoB,KAAU,OAC9BA,EAAoB,KAAU,MAClC,GAAGA,KAAwBD,EAAQ,oBAAsBC,GAAsB,CAAC,EAAE,EAClF,IAAIC,IACH,SAAUA,EAAkB,CACzBA,EAAiBA,EAAiB,WAAgB,CAAC,EAAI,aACvDA,EAAiBA,EAAiB,OAAY,CAAC,EAAI,SACnDA,EAAiBA,EAAiB,MAAW,CAAC,EAAI,QAClDA,EAAiBA,EAAiB,YAAiB,CAAC,EAAI,aAC5D,GAAGA,KAAqBF,EAAQ,iBAAmBE,GAAmB,CAAC,EAAE,EACzE,IAAIC,IACH,SAAUA,EAAkB,CACzBA,EAAiBA,EAAiB,aAAkB,CAAC,EAAI,eACzDA,EAAiBA,EAAiB,IAAS,CAAC,EAAI,MAChDA,EAAiBA,EAAiB,KAAU,CAAC,EAAI,MACrD,GAAGA,KAAqBH,EAAQ,iBAAmBG,GAAmB,CAAC,EAAE,EACzE,IAAIC,IACH,SAAUA,EAAoB,CAC3BA,EAAmBA,EAAmB,YAAiB,CAAC,EAAI,cAC5DA,EAAmBA,EAAmB,IAAS,CAAC,EAAI,MACpDA,EAAmBA,EAAmB,aAAkB,CAAC,EAAI,eAC7DA,EAAmBA,EAAmB,IAAS,CAAC,EAAI,KACxD,GAAGA,KAAuBJ,EAAQ,mBAAqBI,GAAqB,CAAC,EAAE,EAC/E,IAAIC,IACH,SAAUA,EAAsB,CAC7BA,EAAqBA,EAAqB,aAAkB,CAAC,EAAI,eACjEA,EAAqBA,EAAqB,cAAmB,CAAC,EAAI,gBAClEA,EAAqBA,EAAqB,SAAc,CAAC,EAAI,WAC7DA,EAAqBA,EAAqB,aAAkB,CAAC,EAAI,eACjEA,EAAqBA,EAAqB,iBAAsB,CAAC,EAAI,mBACrEA,EAAqBA,EAAqB,aAAkB,CAAC,EAAI,cACrE,GAAGA,KAAyBL,EAAQ,qBAAuBK,GAAuB,CAAC,EAAE,EACrF,IAAIC,IACH,SAAUA,EAAuB,CAC9BA,EAAsBA,EAAsB,aAAkB,CAAC,EAAI,eACnEA,EAAsBA,EAAsB,gBAAqB,CAAC,EAAI,kBACtEA,EAAsBA,EAAsB,cAAmB,CAAC,EAAI,gBACpEA,EAAsBA,EAAsB,cAAmB,CAAC,EAAI,gBACpEA,EAAsBA,EAAsB,aAAkB,CAAC,EAAI,eACnEA,EAAsBA,EAAsB,iBAAsB,CAAC,EAAI,mBACvEA,EAAsBA,EAAsB,aAAkB,CAAC,EAAI,cACvE,GAAGA,KAA0BN,EAAQ,sBAAwBM,GAAwB,CAAC,EAAE,EACxF,IAAIC,IACH,SAAUA,EAAwB,CAC/BA,EAAuBA,EAAuB,MAAW,CAAC,EAAI,QAC9DA,EAAuBA,EAAuB,MAAW,CAAC,EAAI,OAClE,GAAGA,KAA2BP,EAAQ,uBAAyBO,GAAyB,CAAC,EAAE,EAC3F,IAAIC,IACH,SAAUA,EAAY,CACnBA,EAAWA,EAAW,QAAa,CAAC,EAAI,UACxCA,EAAWA,EAAW,aAAkB,CAAC,EAAI,eAC7CA,EAAWA,EAAW,aAAkB,CAAC,EAAI,eAC7CA,EAAWA,EAAW,QAAa,CAAC,EAAI,SAC5C,GAAGA,KAAeR,EAAQ,WAAaQ,GAAa,CAAC,EAAE,EACvD,IAAIC,IACH,SAAUA,EAAkB,CACzBA,EAAiBA,EAAiB,QAAa,CAAC,EAAI,UACpDA,EAAiBA,EAAiB,SAAc,CAAC,EAAI,WACrDA,EAAiBA,EAAiB,OAAY,CAAC,EAAI,SACnDA,EAAiBA,EAAiB,WAAgB,CAAC,EAAI,aACvDA,EAAiBA,EAAiB,YAAiB,CAAC,EAAI,cACxDA,EAAiBA,EAAiB,YAAiB,CAAC,EAAI,cACxDA,EAAiBA,EAAiB,aAAkB,CAAC,EAAI,eACzDA,EAAiBA,EAAiB,aAAkB,CAAC,EAAI,cAC7D,GAAGA,KAAqBT,EAAQ,iBAAmBS,GAAmB,CAAC,EAAE,EACzE,IAAIC,IACH,SAAUA,EAAuB,CAC9BA,EAAsBA,EAAsB,OAAY,CAAC,EAAI,SAC7DA,EAAsBA,EAAsB,OAAY,CAAC,EAAI,SAC7DA,EAAsBA,EAAsB,cAAmB,CAAC,EAAI,eACxE,GAAGA,KAA0BV,EAAQ,sBAAwBU,GAAwB,CAAC,EAAE,EACxF,IAAIC,IACH,SAAUA,EAAoB,CAC3BA,EAAmBA,EAAmB,KAAU,CAAC,EAAI,OACrDA,EAAmBA,EAAmB,gBAAqB,CAAC,EAAI,kBAChEA,EAAmBA,EAAmB,gBAAqB,CAAC,EAAI,kBAChEA,EAAmBA,EAAmB,mBAAwB,CAAC,EAAI,qBACnEA,EAAmBA,EAAmB,QAAa,CAAC,EAAI,UACxDA,EAAmBA,EAAmB,eAAoB,CAAC,EAAI,iBAC/DA,EAAmBA,EAAmB,WAAgB,CAAC,EAAI,aAC3DA,EAAmBA,EAAmB,kBAAuB,CAAC,EAAI,oBAClEA,EAAmBA,EAAmB,MAAW,CAAC,EAAI,QACtDA,EAAmBA,EAAmB,OAAY,EAAE,EAAI,SACxDA,EAAmBA,EAAmB,cAAmB,EAAE,EAAI,eACnE,GAAGA,KAAuBX,EAAQ,mBAAqBW,GAAqB,CAAC,EAAE,EAC/E,IAAIC,IACH,SAAUA,EAAyB,CAChCA,EAAwBA,EAAwB,QAAa,CAAC,EAAI,UAClEA,EAAwBA,EAAwB,IAAS,CAAC,EAAI,MAC9DA,EAAwBA,EAAwB,IAAS,CAAC,EAAI,MAC9DA,EAAwBA,EAAwB,OAAY,CAAC,EAAI,SACjEA,EAAwBA,EAAwB,eAAoB,CAAC,EAAI,iBACzEA,EAAwBA,EAAwB,kBAAuB,CAAC,EAAI,mBAChF,GAAGA,KAA4BZ,EAAQ,wBAA0BY,GAA0B,CAAC,EAAE,EAC9F,IAAIC,IACH,SAAUA,EAAsC,CAC7CA,EAAqCA,EAAqC,KAAU,CAAC,EAAI,OACzFA,EAAqCA,EAAqC,OAAY,CAAC,EAAI,SAC3FA,EAAqCA,EAAqC,UAAe,CAAC,EAAI,WAClG,GAAGA,KAAyCb,EAAQ,qCAAuCa,GAAuC,CAAC,EAAE,EACrI,IAAIC,IACH,SAAUA,EAAoC,CAC3CA,EAAmCA,EAAmC,aAAkB,CAAC,EAAI,eAC7FA,EAAmCA,EAAmC,YAAiB,CAAC,EAAI,aAChG,GAAGA,KAAuCd,EAAQ,mCAAqCc,GAAqC,CAAC,EAAE,EAC/H,IAAIC,IACH,SAAUA,EAAwB,CAC/BA,EAAuBA,EAAuB,mBAAwB,CAAC,EAAI,qBAC3EA,EAAuBA,EAAuB,qBAA0B,CAAC,EAAI,uBAC7EA,EAAuBA,EAAuB,iBAAsB,CAAC,EAAI,mBACzEA,EAAuBA,EAAuB,wBAA6B,CAAC,EAAI,yBACpF,GAAGA,KAA2Bf,EAAQ,uBAAyBe,GAAyB,CAAC,EAAE,EAC3F,IAAIC,IACH,SAAUA,EAAsB,CAC7BA,EAAqBA,EAAqB,eAAoB,CAAC,EAAI,iBACnEA,EAAqBA,EAAqB,iBAAsB,CAAC,EAAI,mBACrEA,EAAqBA,EAAqB,mBAAwB,CAAC,EAAI,oBAC3E,GAAGA,KAAyBhB,EAAQ,qBAAuBgB,GAAuB,CAAC,EAAE,EACrF,IAAIC,IACH,SAAUA,EAAsC,CAC7CA,EAAqCA,EAAqC,KAAU,CAAC,EAAI,OACzFA,EAAqCA,EAAqC,6BAAkC,CAAC,EAAI,8BACrH,GAAGA,KAAyCjB,EAAQ,qCAAuCiB,GAAuC,CAAC,EAAE,EACrI,IAAIC,IACH,SAAUA,EAAgC,CACvCA,EAA+BA,EAA+B,MAAW,CAAC,EAAI,QAC9EA,EAA+BA,EAA+B,MAAW,CAAC,EAAI,OAClF,GAAGA,KAAmClB,EAAQ,+BAAiCkB,GAAiC,CAAC,EAAE,EACnH,IAAIC,IACH,SAAUA,EAAsB,CAC7BA,EAAqBA,EAAqB,qBAA0B,CAAC,EAAI,uBACzEA,EAAqBA,EAAqB,2BAAgC,CAAC,EAAI,6BAC/EA,EAAqBA,EAAqB,qBAA0B,CAAC,EAAI,uBACzEA,EAAqBA,EAAqB,mBAAwB,CAAC,EAAI,oBAC3E,GAAGA,KAAyBnB,EAAQ,qBAAuBmB,GAAuB,CAAC,EAAE,EACrF,IAAIC,IACH,SAAUA,EAAsB,CAC7BA,EAAqBA,EAAqB,cAAmB,CAAC,EAAI,gBAClEA,EAAqBA,EAAqB,gBAAqB,CAAC,EAAI,iBACxE,GAAGA,KAAyBpB,EAAQ,qBAAuBoB,GAAuB,CAAC,EAAE,EACrF,IAAIC,IACH,SAAUA,EAAa,CACpBA,EAAYA,EAAY,0BAA+B,CAAC,EAAI,4BAC5DA,EAAYA,EAAY,uBAA4B,CAAC,EAAI,yBACzDA,EAAYA,EAAY,kBAAuB,CAAC,EAAI,oBACpDA,EAAYA,EAAY,wBAA6B,CAAC,EAAI,0BAC1DA,EAAYA,EAAY,oBAAyB,CAAC,EAAI,sBACtDA,EAAYA,EAAY,qBAA0B,CAAC,EAAI,uBACvDA,EAAYA,EAAY,mBAAwB,CAAC,EAAI,qBACrDA,EAAYA,EAAY,yBAA8B,CAAC,EAAI,2BAC3DA,EAAYA,EAAY,qBAA0B,CAAC,EAAI,uBACvDA,EAAYA,EAAY,uBAA4B,EAAE,EAAI,yBAC1DA,EAAYA,EAAY,uBAA4B,EAAE,EAAI,yBAC1DA,EAAYA,EAAY,oBAAyB,EAAE,EAAI,sBACvDA,EAAYA,EAAY,yBAA8B,EAAE,EAAI,2BAC5DA,EAAYA,EAAY,uBAA4B,EAAE,EAAI,yBAC1DA,EAAYA,EAAY,sBAA2B,EAAE,EAAI,uBAC7D,GAAGA,KAAgBrB,EAAQ,YAAcqB,GAAc,CAAC,EAAE,EAC1D,IAAIC,IACH,SAAUA,EAAwB,CAC/BA,EAAuBA,EAAuB,oBAAyB,CAAC,EAAI,sBAC5EA,EAAuBA,EAAuB,+BAAoC,CAAC,EAAI,iCACvFA,EAAuBA,EAAuB,4BAAiC,CAAC,EAAI,8BACpFA,EAAuBA,EAAuB,0BAA+B,CAAC,EAAI,4BAClFA,EAAuBA,EAAuB,0BAA+B,CAAC,EAAI,4BAClFA,EAAuBA,EAAuB,yBAA8B,CAAC,EAAI,2BACjFA,EAAuBA,EAAuB,0BAA+B,CAAC,EAAI,4BAClFA,EAAuBA,EAAuB,qBAA0B,CAAC,EAAI,uBAC7EA,EAAuBA,EAAuB,4BAAiC,CAAC,EAAI,8BACpFA,EAAuBA,EAAuB,sBAA2B,EAAE,EAAI,wBAC/EA,EAAuBA,EAAuB,wBAA6B,EAAE,EAAI,0BACjFA,EAAuBA,EAAuB,gCAAqC,EAAE,EAAI,kCACzFA,EAAuBA,EAAuB,4BAAiC,EAAE,EAAI,8BACrFA,EAAuBA,EAAuB,yCAA8C,EAAE,EAAI,2CAClGA,EAAuBA,EAAuB,oCAAyC,EAAE,EAAI,sCAC7FA,EAAuBA,EAAuB,+BAAoC,EAAE,EAAI,iCACxFA,EAAuBA,EAAuB,sBAA2B,EAAE,EAAI,wBAC/EA,EAAuBA,EAAuB,sBAA2B,EAAE,EAAI,wBAC/EA,EAAuBA,EAAuB,8BAAmC,EAAE,EAAI,gCACvFA,EAAuBA,EAAuB,uBAA4B,EAAE,EAAI,wBACpF,GAAGA,KAA2BtB,EAAQ,uBAAyBsB,GAAyB,CAAC,EAAE,EAC3F,IAAIC,IACH,SAAUA,EAA2B,CAClCA,EAA0BA,EAA0B,6BAAkC,CAAC,EAAI,+BAC3FA,EAA0BA,EAA0B,8BAAmC,CAAC,EAAI,gCAC5FA,EAA0BA,EAA0B,+BAAoC,CAAC,EAAI,iCAC7FA,EAA0BA,EAA0B,mCAAwC,CAAC,EAAI,qCACjGA,EAA0BA,EAA0B,oCAAyC,CAAC,EAAI,qCACtG,GAAGA,KAA8BvB,EAAQ,0BAA4BuB,GAA4B,CAAC,EAAE,EACpG,IAAIC,IACH,SAAUA,EAAa,CACpBA,EAAYA,EAAY,GAAQ,CAAC,EAAI,KACrCA,EAAYA,EAAY,IAAS,CAAC,EAAI,MACtCA,EAAYA,EAAY,KAAU,CAAC,EAAI,MAC3C,GAAGA,KAAgBxB,EAAQ,YAAcwB,GAAc,CAAC,EAAE,EAC1D,IAAIC,IACH,SAAUA,EAAqB,CAC5BA,EAAoBA,EAAoB,SAAc,CAAC,EAAI,WAC3DA,EAAoBA,EAAoB,WAAgB,CAAC,EAAI,aAC7DA,EAAoBA,EAAoB,UAAe,CAAC,EAAI,WAChE,GAAGA,KAAwBzB,EAAQ,oBAAsByB,GAAsB,CAAC,EAAE,EAClF,IAAIC,IACH,SAAUA,EAAwB,CAC/BA,EAAuBA,EAAuB,QAAa,CAAC,EAAI,UAChEA,EAAuBA,EAAuB,MAAW,CAAC,EAAI,OAClE,GAAGA,KAA2B1B,EAAQ,uBAAyB0B,GAAyB,CAAC,EAAE,EAC3F,IAAIC,IACH,SAAUA,EAAkB,CACzBA,EAAiBA,EAAiB,KAAU,CAAC,EAAI,OACjDA,EAAiBA,EAAiB,IAAS,CAAC,EAAI,MAChDA,EAAiBA,EAAiB,MAAW,CAAC,EAAI,QAClDA,EAAiBA,EAAiB,OAAY,CAAC,EAAI,SACnDA,EAAiBA,EAAiB,KAAU,CAAC,EAAI,OACjDA,EAAiBA,EAAiB,QAAa,CAAC,EAAI,UACpDA,EAAiBA,EAAiB,MAAW,CAAC,EAAI,QAClDA,EAAiBA,EAAiB,OAAY,CAAC,EAAI,QACvD,GAAGA,KAAqB3B,EAAQ,iBAAmB2B,GAAmB,CAAC,EAAE,EACzE,IAAIC,IACH,SAAUA,EAAiB,CACxBA,EAAgBA,EAAgB,MAAW,CAAC,EAAI,QAChDA,EAAgBA,EAAgB,aAAkB,CAAC,EAAI,eACvDA,EAAgBA,EAAgB,gBAAqB,CAAC,EAAI,iBAC9D,GAAGA,KAAoB5B,EAAQ,gBAAkB4B,GAAkB,CAAC,EAAE,EACtE,IAAIC,IACH,SAAUA,EAAuB,CAC9BA,EAAsBA,EAAsB,OAAY,CAAC,EAAI,SAC7DA,EAAsBA,EAAsB,aAAkB,CAAC,EAAI,eACnEA,EAAsBA,EAAsB,kBAAuB,CAAC,EAAI,mBAC5E,GAAGA,KAA0B7B,EAAQ,sBAAwB6B,GAAwB,CAAC,EAAE,EACxF,IAAIC,IACH,SAAUA,EAAuB,CAC9BA,EAAsBA,EAAsB,KAAU,CAAC,EAAI,OAC3DA,EAAsBA,EAAsB,KAAU,CAAC,EAAI,OAC3DA,EAAsBA,EAAsB,KAAU,CAAC,EAAI,MAC/D,GAAGA,KAA0B9B,EAAQ,sBAAwB8B,GAAwB,CAAC,EAAE,EACxF,IAAIC,IACH,SAAUA,EAAiB,CACxBA,EAAgBA,EAAgB,mBAAwB,CAAC,EAAI,qBAC7DA,EAAgBA,EAAgB,wBAA6B,CAAC,EAAI,0BAClEA,EAAgBA,EAAgB,mBAAwB,CAAC,EAAI,qBAC7DA,EAAgBA,EAAgB,mBAAwB,CAAC,EAAI,qBAC7DA,EAAgBA,EAAgB,kBAAuB,CAAC,EAAI,oBAC5DA,EAAgBA,EAAgB,eAAoB,CAAC,EAAI,iBACzDA,EAAgBA,EAAgB,oBAAyB,CAAC,EAAI,sBAC9DA,EAAgBA,EAAgB,gBAAqB,CAAC,EAAI,kBAC1DA,EAAgBA,EAAgB,kBAAuB,CAAC,EAAI,oBAC5DA,EAAgBA,EAAgB,eAAoB,EAAE,EAAI,iBAC1DA,EAAgBA,EAAgB,kBAAuB,EAAE,EAAI,oBAC7DA,EAAgBA,EAAgB,mBAAwB,EAAE,EAAI,qBAC9DA,EAAgBA,EAAgB,iBAAsB,EAAE,EAAI,mBAC5DA,EAAgBA,EAAgB,eAAoB,EAAE,EAAI,iBAC1DA,EAAgBA,EAAgB,kBAAuB,EAAE,EAAI,oBAC7DA,EAAgBA,EAAgB,wBAA6B,EAAE,EAAI,0BACnEA,EAAgBA,EAAgB,2BAAgC,EAAE,EAAI,6BACtEA,EAAgBA,EAAgB,kBAAuB,EAAE,EAAI,oBAC7DA,EAAgBA,EAAgB,wBAA6B,EAAE,EAAI,yBACvE,GAAGA,KAAoB/B,EAAQ,gBAAkB+B,GAAkB,CAAC,EAAE,EACtE,IAAIC,IACH,SAAUA,EAAwB,CAC/BA,EAAuBA,EAAuB,QAAa,CAAC,EAAI,UAChEA,EAAuBA,EAAuB,OAAY,CAAC,EAAI,SAC/DA,EAAuBA,EAAuB,QAAa,CAAC,EAAI,SACpE,GAAGA,KAA2BhC,EAAQ,uBAAyBgC,GAAyB,CAAC,EAAE,EAC3F,IAAIC,IACH,SAAUA,EAAoB,CAC3BA,EAAmBA,EAAmB,kCAAuC,CAAC,EAAI,oCAClFA,EAAmBA,EAAmB,0BAA+B,CAAC,EAAI,2BAC9E,GAAGA,KAAuBjC,EAAQ,mBAAqBiC,GAAqB,CAAC,EAAE,EAC/E,IAAIC,IACH,SAAUA,EAAsB,CAC7BA,EAAqBA,EAAqB,sBAA2B,CAAC,EAAI,wBAC1EA,EAAqBA,EAAqB,wBAA6B,CAAC,EAAI,0BAC5EA,EAAqBA,EAAqB,wBAA6B,CAAC,EAAI,yBAChF,GAAGA,KAAyBlC,EAAQ,qBAAuBkC,GAAuB,CAAC,EAAE,EACrF,IAAIC,IACH,SAAUA,EAAa,CACpBA,EAAYA,EAAY,cAAmB,CAAC,EAAI,gBAChDA,EAAYA,EAAY,gBAAqB,CAAC,EAAI,iBACtD,GAAGA,KAAgBnC,EAAQ,YAAcmC,GAAc,CAAC,EAAE,EAC1D,IAAIC,IACH,SAAUA,EAAmB,CAC1BA,EAAkBA,EAAkB,QAAa,CAAC,EAAI,UACtDA,EAAkBA,EAAkB,QAAa,CAAC,EAAI,UACtDA,EAAkBA,EAAkB,SAAc,CAAC,EAAI,WACvDA,EAAkBA,EAAkB,UAAe,CAAC,EAAI,WAC5D,GAAGA,KAAsBpC,EAAQ,kBAAoBoC,GAAoB,CAAC,EAAE,EAC5E,IAAIC,IACH,SAAUA,EAAe,CACtBA,EAAcA,EAAc,oBAAyB,CAAC,EAAI,sBAC1DA,EAAcA,EAAc,sBAA2B,CAAC,EAAI,uBAChE,GAAGA,KAAkBrC,EAAQ,cAAgBqC,GAAgB,CAAC,EAAE,EAChE,IAAIC,IACH,SAAUA,EAAqB,CAC5BA,EAAoBA,EAAoB,sBAA2B,CAAC,EAAI,wBACxEA,EAAoBA,EAAoB,sBAA2B,CAAC,EAAI,uBAC5E,GAAGA,KAAwBtC,EAAQ,oBAAsBsC,GAAsB,CAAC,EAAE,EAClF,IAAIC,IACH,SAAUA,EAAqB,CAC5BA,EAAoBA,EAAoB,4BAAiC,CAAC,EAAI,8BAC9EA,EAAoBA,EAAoB,+BAAoC,CAAC,EAAI,gCACrF,GAAGA,KAAwBvC,EAAQ,oBAAsBuC,GAAsB,CAAC,EAAE,EAClF,IAAIC,IACH,SAAUA,EAA2B,CAClCA,EAA0BA,EAA0B,4BAAiC,CAAC,EAAI,8BAC1FA,EAA0BA,EAA0B,8BAAmC,CAAC,EAAI,+BAChG,GAAGA,KAA8BxC,EAAQ,0BAA4BwC,GAA4B,CAAC,EAAE,EACpG,IAAIC,IACH,SAAUA,EAAkB,CACzBA,EAAiBA,EAAiB,OAAY,CAAC,EAAI,SACnDA,EAAiBA,EAAiB,UAAe,CAAC,EAAI,YACtDA,EAAiBA,EAAiB,WAAgB,CAAC,EAAI,YAC3D,GAAGA,KAAqBzC,EAAQ,iBAAmByC,GAAmB,CAAC,EAAE,EACzE,IAAIC,IACH,SAAUA,EAAiB,CACxBA,EAAgBA,EAAgB,KAAU,CAAC,EAAI,OAC/CA,EAAgBA,EAAgB,KAAU,CAAC,EAAI,OAC/CA,EAAgBA,EAAgB,GAAQ,CAAC,EAAI,KAC7CA,EAAgBA,EAAgB,KAAU,CAAC,EAAI,OAC/CA,EAAgBA,EAAgB,OAAY,CAAC,EAAI,QACrD,GAAGA,KAAoB1C,EAAQ,gBAAkB0C,GAAkB,CAAC,EAAE,EACtE,IAAIC,IACH,SAAUA,EAAmB,CAC1BA,EAAkBA,EAAkB,QAAa,CAAC,EAAI,UACtDA,EAAkBA,EAAkB,SAAc,CAAC,EAAI,WACvDA,EAAkBA,EAAkB,KAAU,CAAC,EAAI,MACvD,GAAGA,KAAsB3C,EAAQ,kBAAoB2C,GAAoB,CAAC,EAAE,EAC5E,IAAIC,IACH,SAAUA,EAAmB,CAC1BA,EAAkBA,EAAkB,SAAc,CAAC,EAAI,WACvDA,EAAkBA,EAAkB,WAAgB,CAAC,EAAI,YAC7D,GAAGA,KAAsB5C,EAAQ,kBAAoB4C,GAAoB,CAAC,EAAE,EAC5E,IAAIC,IACH,SAAUA,EAAiB,CACxBA,EAAgBA,EAAgB,IAAS,CAAC,EAAI,MAC9CA,EAAgBA,EAAgB,IAAS,CAAC,EAAI,MAC9CA,EAAgBA,EAAgB,KAAU,CAAC,EAAI,MACnD,GAAGA,KAAoB7C,EAAQ,gBAAkB6C,GAAkB,CAAC,EAAE,ICvVtE,IAAAC,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,ICD5D,IAAAC,GAAAC,EAAAC,GAAA,cACA,OAAO,eAAeA,EAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,EAAQ,UAAYA,EAAQ,wBAA0BA,EAAQ,qBAAuBA,EAAQ,YAAcA,EAAQ,qBAAuBA,EAAQ,iBAAmBA,EAAQ,OAASA,EAAQ,gBAAkBA,EAAQ,cAAgBA,EAAQ,iBAAmBA,EAAQ,YAAcA,EAAQ,YAAcA,EAAQ,eAAiBA,EAAQ,QAAUA,EAAQ,WAAaA,EAAQ,UAAYA,EAAQ,aAAeA,EAAQ,yBAA2BA,EAAQ,eAAiBA,EAAQ,WAAaA,EAAQ,eAAiBA,EAAQ,WAAaA,EAAQ,2BAA6BA,EAAQ,uBAAyBA,EAAQ,iBAAmBA,EAAQ,0BAA4BA,EAAQ,sBAAwBA,EAAQ,gBAAkBA,EAAQ,yBAA2BA,EAAQ,qBAAuBA,EAAQ,gBAAkBA,EAAQ,iBAAmBA,EAAQ,gBAAkBA,EAAQ,uBAAyBA,EAAQ,mBAAqBA,EAAQ,qBAAuBA,EAAQ,iBAAmBA,EAAQ,qBAAuBA,EAAQ,iBAAmBA,EAAQ,mBAAqBA,EAAQ,mBAAqBA,EAAQ,YAAcA,EAAQ,iBAAmBA,EAAQ,cAAgBA,EAAQ,iBAAmBA,EAAQ,oBAAsBA,EAAQ,eAAiBA,EAAQ,kBAAoBA,EAAQ,wBAA0BA,EAAQ,oBAAsB,OAC50CA,EAAQ,qCAAuCA,EAAQ,yBAA2BA,EAAQ,qBAAuBA,EAAQ,2BAA6BA,EAAQ,uBAAyBA,EAAQ,uCAAyCA,EAAQ,mCAAqCA,EAAQ,yCAA2CA,EAAQ,qCAAuCA,EAAQ,4BAA8BA,EAAQ,wBAA0BA,EAAQ,uBAAyBA,EAAQ,mBAAqBA,EAAQ,0BAA4BA,EAAQ,sBAAwBA,EAAQ,WAAaA,EAAQ,eAAiBA,EAAQ,gBAAkBA,EAAQ,cAAgBA,EAAQ,kBAAoBA,EAAQ,eAAiBA,EAAQ,kBAAoBA,EAAQ,mBAAqBA,EAAQ,0BAA4BA,EAAQ,gBAAkBA,EAAQ,uBAAyBA,EAAQ,eAAiBA,EAAQ,sBAAwBA,EAAQ,cAAgBA,EAAQ,YAAcA,EAAQ,mBAAqBA,EAAQ,WAAaA,EAAQ,kBAAoBA,EAAQ,MAAQA,EAAQ,cAAgBA,EAAQ,oBAAsBA,EAAQ,mBAAqBA,EAAQ,iBAAmBA,EAAQ,WAAaA,EAAQ,SAAWA,EAAQ,WAAaA,EAAQ,UAAYA,EAAQ,OAASA,EAAQ,SAAWA,EAAQ,aAAeA,EAAQ,uBAAyBA,EAAQ,gBAAkBA,EAAQ,QAAUA,EAAQ,YAAcA,EAAQ,wBAA0B,OACl7CA,EAAQ,kBAAoBA,EAAQ,2BAA6BA,EAAQ,uBAAyBA,EAAQ,QAAUA,EAAQ,gBAAkBA,EAAQ,YAAcA,EAAQ,QAAUA,EAAQ,sBAAwBA,EAAQ,kBAAoBA,EAAQ,iBAAmBA,EAAQ,yBAA2BA,EAAQ,wBAA0BA,EAAQ,iCAAmCA,EAAQ,iBAAmBA,EAAQ,wBAA0BA,EAAQ,wBAA0BA,EAAQ,yBAA2BA,EAAQ,cAAgBA,EAAQ,uBAAyBA,EAAQ,uCAAyCA,EAAQ,mCAAqCA,EAAQ,oBAAsBA,EAAQ,qBAAuBA,EAAQ,0BAA4BA,EAAQ,wBAA0BA,EAAQ,2BAA6BA,EAAQ,iBAAmBA,EAAQ,8BAAgCA,EAAQ,0BAA4BA,EAAQ,aAAeA,EAAQ,kBAAoBA,EAAQ,gBAAkBA,EAAQ,eAAiBA,EAAQ,kBAAoBA,EAAQ,iBAAmBA,EAAQ,oBAAsBA,EAAQ,eAAiBA,EAAQ,kBAAoBA,EAAQ,6BAA+BA,EAAQ,wBAA0BA,EAAQ,2BAA6BA,EAAQ,oBAAsBA,EAAQ,6BAA+BA,EAAQ,yBAA2BA,EAAQ,qBAAuBA,EAAQ,yBAA2BA,EAAQ,qBAAuBA,EAAQ,mCAAqCA,EAAQ,+BAAiCA,EAAQ,yCAA2C,OACrlDA,EAAQ,eAAiBA,EAAQ,iBAAmBA,EAAQ,oBAAsBA,EAAQ,oBAAsBA,EAAQ,kBAAoBA,EAAQ,oBAAsBA,EAAQ,oBAAsBA,EAAQ,sBAAwBA,EAAQ,iBAAmBA,EAAQ,qBAAuBA,EAAQ,gBAAkBA,EAAQ,gBAAkBA,EAAQ,oBAAsBA,EAAQ,kBAAoBA,EAAQ,kBAAoBA,EAAQ,gBAAkBA,EAAQ,iBAAmBA,EAAQ,qBAAuBA,EAAQ,wBAA0BA,EAAQ,oBAAsBA,EAAQ,mBAAqBA,EAAQ,SAAWA,EAAQ,mBAAqBA,EAAQ,UAAYA,EAAQ,YAAcA,EAAQ,aAAeA,EAAQ,gBAAkBA,EAAQ,0BAA4BA,EAAQ,wBAA0BA,EAAQ,oBAAsBA,EAAQ,gBAAkBA,EAAQ,YAAcA,EAAQ,eAAiBA,EAAQ,kBAAoBA,EAAQ,eAAiBA,EAAQ,aAAeA,EAAQ,aAAeA,EAAQ,iBAAmBA,EAAQ,eAAiBA,EAAQ,8BAAgCA,EAAQ,kCAAoCA,EAAQ,cAAgBA,EAAQ,kBAAoBA,EAAQ,aAAeA,EAAQ,iBAAmBA,EAAQ,qBAAuBA,EAAQ,8BAAgCA,EAAQ,0BAA4BA,EAAQ,UAAYA,EAAQ,cAAgB,OAC73CA,EAAQ,uBAAyBA,EAAQ,eAAiBA,EAAQ,cAAgBA,EAAQ,WAAaA,EAAQ,QAAUA,EAAQ,WAAaA,EAAQ,SAAWA,EAAQ,WAAaA,EAAQ,oBAAsBA,EAAQ,gBAAkBA,EAAQ,YAAcA,EAAQ,WAAaA,EAAQ,iBAAmBA,EAAQ,0BAA4BA,EAAQ,sBAAwBA,EAAQ,iBAAmBA,EAAQ,0BAA4BA,EAAQ,sBAAwBA,EAAQ,WAAaA,EAAQ,oBAAsBA,EAAQ,gBAAkBA,EAAQ,2BAA6BA,EAAQ,sBAAwBA,EAAQ,sBAAwBA,EAAQ,yBAA2BA,EAAQ,oBAAsBA,EAAQ,cAAgBA,EAAQ,kBAAoBA,EAAQ,sBAAwBA,EAAQ,mBAAqBA,EAAQ,eAAiBA,EAAQ,gBAAkBA,EAAQ,mBAAqBA,EAAQ,kBAAoBA,EAAQ,qBAAuBA,EAAQ,0BAA4BA,EAAQ,8BAAgCA,EAAQ,2BAA6BA,EAAQ,qBAAuBA,EAAQ,kBAAoBA,EAAQ,qBAAuBA,EAAQ,iBAAmBA,EAAQ,+BAAiCA,EAAQ,sBAAwBA,EAAQ,oBAAsBA,EAAQ,kBAAoBA,EAAQ,oBAAsBA,EAAQ,2BAA6BA,EAAQ,uBAAyBA,EAAQ,YAAc,OACz6CA,EAAQ,UAAYA,EAAQ,qBAAuBA,EAAQ,WAAaA,EAAQ,cAAgBA,EAAQ,sBAAwBA,EAAQ,kBAAoBA,EAAQ,iBAAmBA,EAAQ,mBAAqBA,EAAQ,oBAAsBA,EAAQ,WAAaA,EAAQ,MAAQA,EAAQ,SAAWA,EAAQ,mBAAqBA,EAAQ,gBAAkBA,EAAQ,YAAcA,EAAQ,oBAAsBA,EAAQ,qBAAuBA,EAAQ,gBAAkBA,EAAQ,eAAiBA,EAAQ,kBAAoBA,EAAQ,cAAgBA,EAAQ,QAAUA,EAAQ,YAAcA,EAAQ,gBAAkBA,EAAQ,yBAA2BA,EAAQ,qBAAuBA,EAAQ,eAAiBA,EAAQ,uBAAyBA,EAAQ,mBAAqBA,EAAQ,WAAaA,EAAQ,eAAiBA,EAAQ,aAAeA,EAAQ,YAAcA,EAAQ,YAAcA,EAAQ,WAAaA,EAAQ,kBAAoBA,EAAQ,mBAAqBA,EAAQ,aAAeA,EAAQ,gBAAkBA,EAAQ,QAAUA,EAAQ,WAAaA,EAAQ,OAASA,EAAQ,KAAOA,EAAQ,UAAYA,EAAQ,2BAA6BA,EAAQ,uBAAyBA,EAAQ,eAAiBA,EAAQ,UAAYA,EAAQ,WAAaA,EAAQ,mBAAqB,OACtuCA,EAAQ,wBAA0BA,EAAQ,yBAA2BA,EAAQ,+BAAiCA,EAAQ,kCAAoCA,EAAQ,uBAAyBA,EAAQ,iBAAmBA,EAAQ,mBAAqBA,EAAQ,cAAgBA,EAAQ,oBAAsBA,EAAQ,gBAAkBA,EAAQ,eAAiBA,EAAQ,kBAAoBA,EAAQ,aAAeA,EAAQ,qBAAuBA,EAAQ,iBAAmBA,EAAQ,kBAAoBA,EAAQ,aAAeA,EAAQ,uBAAyBA,EAAQ,yBAA2BA,EAAQ,cAAgBA,EAAQ,iBAAmBA,EAAQ,gBAAkBA,EAAQ,mBAAqBA,EAAQ,eAAiBA,EAAQ,aAAeA,EAAQ,cAAgBA,EAAQ,cAAgBA,EAAQ,iBAAmBA,EAAQ,mBAAqBA,EAAQ,qBAAuBA,EAAQ,oBAAsBA,EAAQ,kBAAoBA,EAAQ,YAAcA,EAAQ,UAAYA,EAAQ,sBAAwBA,EAAQ,8BAAgCA,EAAQ,0BAA4BA,EAAQ,yBAA2BA,EAAQ,2BAA6BA,EAAQ,wBAA0BA,EAAQ,oBAAsBA,EAAQ,sBAAwBA,EAAQ,wBAA0BA,EAAQ,oBAAsBA,EAAQ,kBAAoBA,EAAQ,oBAAsBA,EAAQ,kBAAoBA,EAAQ,cAAgBA,EAAQ,sBAAwBA,EAAQ,YAAc,OAC77CA,EAAQ,YAAcA,EAAQ,cAAgBA,EAAQ,YAAcA,EAAQ,cAAgBA,EAAQ,oBAAsBA,EAAQ,gBAAkBA,EAAQ,gBAAkBA,EAAQ,kBAAoBA,EAAQ,mBAAqBA,EAAQ,mBAAqBA,EAAQ,uBAAyBA,EAAQ,qBAAuBA,EAAQ,cAAgBA,EAAQ,gBAAkBA,EAAQ,sBAAwBA,EAAQ,kBAAoBA,EAAQ,eAAiBA,EAAQ,kBAAoBA,EAAQ,aAAeA,EAAQ,gBAAkBA,EAAQ,gBAAkBA,EAAQ,+BAAiCA,EAAQ,sBAAwBA,EAAQ,oBAAsBA,EAAQ,sBAAwBA,EAAQ,oBAAsBA,EAAQ,qBAAuBA,EAAQ,oBAAsBA,EAAQ,sBAAwBA,EAAQ,kBAAoBA,EAAQ,gCAAkC,OAC13B,IAAMC,EAAiB,KACnBC,IACH,SAAUA,EAAqB,CAC5BA,EAAoB,KAAU,OAC9BA,EAAoB,KAAU,OAC9BA,EAAoB,KAAU,OAC9BA,EAAoB,KAAU,MAClC,GAAGA,KAAwBF,EAAQ,oBAAsBE,GAAsB,CAAC,EAAE,EAClFF,EAAQ,wBAA0BC,EAAe,KAAK,KAAKC,EAAmB,EAC9EF,EAAQ,kBAAoBC,EAAe,KAAK,OAAO,CACnD,UAAWA,EAAe,KAAK,MAAMA,EAAe,KAAK,OAAO,CAAC,EACjE,aAAcA,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,EACxE,SAAUA,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,CACxE,EAAG,CAAE,IAAK,mBAAoB,CAAC,EAC/BD,EAAQ,eAAiBC,EAAe,KAAK,OAAO,CAChD,QAASA,EAAe,KAAK,OAAO,CACxC,EAAG,CAAE,IAAK,gBAAiB,CAAC,EAC5BD,EAAQ,oBAAsBC,EAAe,KAAK,OAAO,CACrD,UAAWA,EAAe,KAAK,MAAMA,EAAe,KAAK,OAAO,CAAC,EACjE,aAAcA,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,CAC5E,EAAG,CAAE,IAAK,qBAAsB,CAAC,EACjCD,EAAQ,iBAAmBC,EAAe,KAAK,OAAO,CAClD,WAAYA,EAAe,KAAK,OAAO,CAC3C,EAAG,CAAE,IAAK,kBAAmB,CAAC,EAC9BD,EAAQ,cAAgBC,EAAe,KAAK,OAAO,CAC/C,UAAWA,EAAe,KAAK,MAAMA,EAAe,KAAK,OAAO,CAAC,EACjE,UAAWA,EAAe,KAAK,OAAO,EACtC,eAAgBA,EAAe,KAAK,OAAO,EAC3C,SAAUA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACnE,KAAMA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EAC/D,SAAUA,EAAe,KAAK,OAAO,EACrC,OAAQA,EAAe,KAAK,OAAO,EACnC,SAAUA,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,CACxE,EAAG,CAAE,IAAK,eAAgB,CAAC,EAC3BD,EAAQ,iBAAmBC,EAAe,KAAK,OAAO,CAAC,EAAG,CAAE,IAAK,kBAAmB,CAAC,EACrFD,EAAQ,YAAcC,EAAe,KAAK,OAAO,CAC7C,OAAQA,EAAe,KAAK,KAAK,EACjC,MAAOA,EAAe,KAAK,OAAO,CACtC,EAAG,CAAE,IAAK,aAAc,CAAC,EACzBD,EAAQ,mBAAqBC,EAAe,KAAK,OAAO,CACpD,QAASA,EAAe,KAAK,OAAO,EACpC,MAAOA,EAAe,KAAK,MAAMD,EAAQ,WAAW,CACxD,EAAG,CAAE,IAAK,oBAAqB,CAAC,EAChCA,EAAQ,mBAAqBC,EAAe,KAAK,OAAO,CACpD,OAAQA,EAAe,KAAK,MAAMD,EAAQ,kBAAkB,EAC5D,QAASC,EAAe,KAAK,MAAMD,EAAQ,kBAAkB,EAC7D,SAAUC,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,CACxE,EAAG,CAAE,IAAK,oBAAqB,CAAC,EAChC,IAAIE,IACH,SAAUA,EAAkB,CACzBA,EAAiBA,EAAiB,WAAgB,CAAC,EAAI,aACvDA,EAAiBA,EAAiB,OAAY,CAAC,EAAI,SACnDA,EAAiBA,EAAiB,MAAW,CAAC,EAAI,QAClDA,EAAiBA,EAAiB,YAAiB,CAAC,EAAI,aAC5D,GAAGA,KAAqBH,EAAQ,iBAAmBG,GAAmB,CAAC,EAAE,EACzEH,EAAQ,qBAAuBC,EAAe,KAAK,KAAKE,EAAgB,EACxE,IAAIC,IACH,SAAUA,EAAkB,CACzBA,EAAiBA,EAAiB,aAAkB,CAAC,EAAI,eACzDA,EAAiBA,EAAiB,IAAS,CAAC,EAAI,MAChDA,EAAiBA,EAAiB,KAAU,CAAC,EAAI,MACrD,GAAGA,KAAqBJ,EAAQ,iBAAmBI,GAAmB,CAAC,EAAE,EACzEJ,EAAQ,qBAAuBC,EAAe,KAAK,KAAKG,EAAgB,EACxE,IAAIC,IACH,SAAUA,EAAoB,CAC3BA,EAAmBA,EAAmB,YAAiB,CAAC,EAAI,cAC5DA,EAAmBA,EAAmB,IAAS,CAAC,EAAI,MACpDA,EAAmBA,EAAmB,aAAkB,CAAC,EAAI,eAC7DA,EAAmBA,EAAmB,IAAS,CAAC,EAAI,KACxD,GAAGA,KAAuBL,EAAQ,mBAAqBK,GAAqB,CAAC,EAAE,EAC/EL,EAAQ,uBAAyBC,EAAe,KAAK,KAAKI,EAAkB,EAC5EL,EAAQ,gBAAkBC,EAAe,KAAK,OAAO,CACjD,GAAIA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EAC7D,UAAWD,EAAQ,qBACnB,MAAOC,EAAe,KAAK,OAAO,EAClC,SAAUA,EAAe,KAAK,OAAO,EACrC,OAAQA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACjE,KAAMD,EAAQ,qBACd,OAAQC,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACjE,YAAaD,EAAQ,sBACzB,EAAG,CAAE,IAAK,iBAAkB,CAAC,EAC7BA,EAAQ,iBAAmBC,EAAe,KAAK,OAAO,CAClD,MAAOA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EAChE,OAAQA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACjE,OAAQA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,CACrE,EAAG,CAAE,IAAK,kBAAmB,CAAC,EAC9BD,EAAQ,gBAAkBC,EAAe,KAAK,OAAO,CACjD,UAAWA,EAAe,KAAK,OAAO,EACtC,WAAYA,EAAe,KAAK,OAAO,CAC3C,EAAG,CAAE,IAAK,iBAAkB,CAAC,EAC7B,IAAIK,IACH,SAAUA,EAAsB,CAC7BA,EAAqBA,EAAqB,aAAkB,CAAC,EAAI,eACjEA,EAAqBA,EAAqB,cAAmB,CAAC,EAAI,gBAClEA,EAAqBA,EAAqB,SAAc,CAAC,EAAI,WAC7DA,EAAqBA,EAAqB,aAAkB,CAAC,EAAI,eACjEA,EAAqBA,EAAqB,iBAAsB,CAAC,EAAI,mBACrEA,EAAqBA,EAAqB,aAAkB,CAAC,EAAI,cACrE,GAAGA,KAAyBN,EAAQ,qBAAuBM,GAAuB,CAAC,EAAE,EACrFN,EAAQ,yBAA2BC,EAAe,KAAK,KAAKK,EAAoB,EAChFN,EAAQ,gBAAkBC,EAAe,KAAK,UAAUK,GAAsB,CAAE,IAAK,iBAAkB,CAAC,EACxG,IAAIC,IACH,SAAUA,EAAuB,CAC9BA,EAAsBA,EAAsB,aAAkB,CAAC,EAAI,eACnEA,EAAsBA,EAAsB,gBAAqB,CAAC,EAAI,kBACtEA,EAAsBA,EAAsB,cAAmB,CAAC,EAAI,gBACpEA,EAAsBA,EAAsB,cAAmB,CAAC,EAAI,gBACpEA,EAAsBA,EAAsB,aAAkB,CAAC,EAAI,eACnEA,EAAsBA,EAAsB,iBAAsB,CAAC,EAAI,mBACvEA,EAAsBA,EAAsB,aAAkB,CAAC,EAAI,cACvE,GAAGA,KAA0BP,EAAQ,sBAAwBO,GAAwB,CAAC,EAAE,EACxFP,EAAQ,0BAA4BC,EAAe,KAAK,KAAKM,EAAqB,EAClFP,EAAQ,iBAAmBC,EAAe,KAAK,UAAUM,GAAuB,CAAE,IAAK,kBAAmB,CAAC,EAC3G,IAAIC,IACH,SAAUA,EAAwB,CAC/BA,EAAuBA,EAAuB,MAAW,CAAC,EAAI,QAC9DA,EAAuBA,EAAuB,MAAW,CAAC,EAAI,OAClE,GAAGA,KAA2BR,EAAQ,uBAAyBQ,GAAyB,CAAC,EAAE,EAC3FR,EAAQ,2BAA6BC,EAAe,KAAK,KAAKO,EAAsB,EACpF,IAAIC,IACH,SAAUA,EAAY,CACnBA,EAAWA,EAAW,QAAa,CAAC,EAAI,UACxCA,EAAWA,EAAW,aAAkB,CAAC,EAAI,eAC7CA,EAAWA,EAAW,aAAkB,CAAC,EAAI,eAC7CA,EAAWA,EAAW,QAAa,CAAC,EAAI,SAC5C,GAAGA,KAAeT,EAAQ,WAAaS,GAAa,CAAC,EAAE,EACvDT,EAAQ,eAAiBC,EAAe,KAAK,KAAKQ,EAAU,EAC5DT,EAAQ,WAAaC,EAAe,KAAK,OAAO,CAC5C,MAAOA,EAAe,KAAK,OAAO,EAClC,YAAaA,EAAe,KAAK,OAAO,EACxC,UAAWA,EAAe,KAAK,OAAO,EACtC,WAAYA,EAAe,KAAK,OAAO,EACvC,YAAaA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACtE,WAAYA,EAAe,KAAK,OAAO,CAC3C,EAAG,CAAE,IAAK,YAAa,CAAC,EACxBD,EAAQ,eAAiBC,EAAe,KAAK,OAAO,CAChD,KAAMA,EAAe,KAAK,MAAM,CAACD,EAAQ,WAAYC,EAAe,KAAK,OAAO,CAAC,CAAC,EAClF,UAAWA,EAAe,KAAK,MAAMA,EAAe,KAAK,OAAO,CAAC,CACrE,EAAG,CAAE,IAAK,gBAAiB,CAAC,EAC5BD,EAAQ,yBAA2BC,EAAe,KAAK,OAAO,CAC1D,QAASA,EAAe,KAAK,MAAMD,EAAQ,cAAc,EACzD,WAAYC,EAAe,KAAK,MAAMA,EAAe,KAAK,OAAO,CAAC,EAClE,EAAGA,EAAe,KAAK,OAAO,EAC9B,MAAOA,EAAe,KAAK,SAASA,EAAe,KAAK,MAAMD,EAAQ,UAAU,CAAC,EACjF,UAAWC,EAAe,KAAK,SAASA,EAAe,KAAK,MAAMA,EAAe,KAAK,OAAO,CAAC,CAAC,CACnG,EAAG,CAAE,IAAK,0BAA2B,CAAC,EACtCD,EAAQ,aAAeC,EAAe,KAAK,OAAO,CAC9C,UAAWA,EAAe,KAAK,MAAMA,EAAe,KAAK,OAAO,CAAC,EACjE,iBAAkBA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EAC3E,aAAcA,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,EACxE,UAAWA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACpE,YAAaA,EAAe,KAAK,SAASD,EAAQ,eAAe,EACjE,kBAAmBC,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,CACjF,EAAG,CAAE,IAAK,cAAe,CAAC,EAC1BD,EAAQ,UAAYC,EAAe,KAAK,OAAO,CAC3C,KAAMD,EAAQ,WACd,KAAMC,EAAe,KAAK,OAAO,EACjC,iBAAkBA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EAC3E,WAAYA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,CACzE,EAAG,CAAE,IAAK,WAAY,CAAC,EACvBD,EAAQ,WAAaC,EAAe,KAAK,OAAO,CAC5C,UAAWA,EAAe,KAAK,MAAMA,EAAe,KAAK,OAAO,CAAC,EACjE,UAAWA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACpE,aAAcA,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,EACxE,SAAUA,EAAe,KAAK,SAASD,EAAQ,wBAAwB,EACvE,YAAaC,EAAe,KAAK,SAASD,EAAQ,eAAe,EACjE,kBAAmBC,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,EAC7E,SAAUA,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,CACxE,EAAG,CAAE,IAAK,YAAa,CAAC,EACxBD,EAAQ,QAAUC,EAAe,KAAK,OAAO,CACzC,QAASA,EAAe,KAAK,OAAO,EACpC,IAAKA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,CAClE,EAAG,CAAE,IAAK,SAAU,CAAC,EACrBD,EAAQ,eAAiBC,EAAe,KAAK,OAAO,CAChD,UAAWA,EAAe,KAAK,MAAMA,EAAe,KAAK,OAAO,CAAC,EACjE,UAAWA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACpE,SAAUA,EAAe,KAAK,SAASD,EAAQ,wBAAwB,EACvE,YAAaC,EAAe,KAAK,SAASD,EAAQ,eAAe,CACrE,EAAG,CAAE,IAAK,gBAAiB,CAAC,EAC5BA,EAAQ,YAAcC,EAAe,KAAK,OAAO,CAC7C,aAAcA,EAAe,KAAK,OAAO,CAC7C,EAAG,CAAE,IAAK,aAAc,CAAC,EACzBD,EAAQ,YAAcC,EAAe,KAAK,OAAO,CAC7C,UAAWA,EAAe,KAAK,MAAMA,EAAe,KAAK,OAAO,CAAC,EACjE,QAASA,EAAe,KAAK,OAAO,EACpC,UAAWA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACpE,YAAaA,EAAe,KAAK,SAASD,EAAQ,eAAe,EACjE,eAAgBC,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,EAC1E,SAAUA,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,CACxE,EAAG,CAAE,IAAK,aAAc,CAAC,EACzBD,EAAQ,iBAAmBC,EAAe,KAAK,OAAO,CAClD,QAASA,EAAe,KAAK,OAAO,EACpC,UAAWA,EAAe,KAAK,OAAO,CAC1C,EAAG,CAAE,IAAK,kBAAmB,CAAC,EAC9BD,EAAQ,cAAgBC,EAAe,KAAK,OAAO,CAC/C,QAASA,EAAe,KAAK,OAAO,EACpC,UAAWA,EAAe,KAAK,OAAO,EACtC,QAASA,EAAe,KAAK,OAAO,EACpC,UAAWA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACpE,SAAUA,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,CACxE,EAAG,CAAE,IAAK,eAAgB,CAAC,EAC3BD,EAAQ,gBAAkBC,EAAe,KAAK,OAAO,CACjD,SAAUA,EAAe,KAAK,OAAO,EACrC,iBAAkBA,EAAe,KAAK,OAAO,EAC7C,uBAAwBA,EAAe,KAAK,OAAO,EACnD,gBAAiBA,EAAe,KAAK,OAAO,EAC5C,UAAWA,EAAe,KAAK,OAAO,CAC1C,EAAG,CAAE,IAAK,iBAAkB,CAAC,EAC7BD,EAAQ,OAASC,EAAe,KAAK,OAAO,CACxC,cAAeA,EAAe,KAAK,OAAO,EAC1C,aAAcA,EAAe,KAAK,OAAO,EACzC,UAAWA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACpE,QAASA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EAClE,UAAWA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACpE,OAAQA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACjE,aAAcA,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,EACxE,iBAAkBA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EAC3E,UAAWA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACpE,UAAWA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACpE,YAAaA,EAAe,KAAK,SAASD,EAAQ,cAAc,EAChE,sBAAuBC,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,EACjF,UAAWA,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,EACrE,iBAAkBA,EAAe,KAAK,SAASD,EAAQ,eAAe,EACtE,SAAUC,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,CACxE,EAAG,CAAE,IAAK,QAAS,CAAC,EACpB,IAAIS,IACH,SAAUA,EAAkB,CACzBA,EAAiBA,EAAiB,QAAa,CAAC,EAAI,UACpDA,EAAiBA,EAAiB,SAAc,CAAC,EAAI,WACrDA,EAAiBA,EAAiB,OAAY,CAAC,EAAI,SACnDA,EAAiBA,EAAiB,WAAgB,CAAC,EAAI,aACvDA,EAAiBA,EAAiB,YAAiB,CAAC,EAAI,cACxDA,EAAiBA,EAAiB,YAAiB,CAAC,EAAI,cACxDA,EAAiBA,EAAiB,aAAkB,CAAC,EAAI,eACzDA,EAAiBA,EAAiB,aAAkB,CAAC,EAAI,cAC7D,GAAGA,KAAqBV,EAAQ,iBAAmBU,GAAmB,CAAC,EAAE,EACzEV,EAAQ,qBAAuBC,EAAe,KAAK,KAAKS,EAAgB,EACxEV,EAAQ,YAAcC,EAAe,KAAK,UAAUS,GAAkB,CAAE,IAAK,aAAc,CAAC,EAC5FV,EAAQ,qBAAuBC,EAAe,KAAK,OAAO,CACtD,cAAeA,EAAe,KAAK,OAAO,EAC1C,QAASA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EAClE,eAAgBA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACzE,kBAAmBA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,CAChF,EAAG,CAAE,IAAK,sBAAuB,CAAC,EAClCD,EAAQ,wBAA0BC,EAAe,KAAK,OAAO,CACzD,gBAAiBA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EAC1E,UAAWA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACpE,cAAeA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,CAC5E,EAAG,CAAE,IAAK,yBAA0B,CAAC,EACrCD,EAAQ,UAAYC,EAAe,KAAK,OAAO,CAC3C,aAAcD,EAAQ,YACtB,QAASA,EAAQ,qBACjB,WAAYC,EAAe,KAAK,SAASD,EAAQ,uBAAuB,CAC5E,EAAG,CAAE,IAAK,WAAY,CAAC,EACvBA,EAAQ,wBAA0BC,EAAe,KAAK,QAAQD,EAAQ,gBAAiBC,EAAe,KAAK,QAAQ,UAAU,EAAG,CAC5H,IAAK,yBACT,CAAC,EACD,IAAMU,GAAoBV,EAAe,KAAK,OAAO,CACjD,UAAWA,EAAe,KAAK,OAAO,EACtC,WAAYA,EAAe,KAAK,OAAO,EACvC,OAAQA,EAAe,KAAK,KAAK,EACjC,SAAUA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACnE,SAAUA,EAAe,KAAK,SAASD,EAAQ,wBAAwB,EACvE,YAAaC,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACtE,UAAWA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACpE,WAAYA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACrE,qBAAsBA,EAAe,KAAK,SAASD,EAAQ,0BAA0B,EACrF,cAAeC,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACxE,eAAgBA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACzE,WAAYA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACrE,QAASA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EAClE,gBAAiBA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EAC1E,gBAAiBA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,CAC9E,EAAG,CAAE,IAAK,mBAAoB,CAAC,EAC/BD,EAAQ,YAAcC,EAAe,KAAK,MAAM,CAC5CA,EAAe,KAAK,UAAU,CAC1BU,GACAV,EAAe,KAAK,OAAO,CACvB,UAAWA,EAAe,KAAK,MAAMA,EAAe,KAAK,OAAO,CAAC,EACjE,YAAaA,EAAe,KAAK,SAASD,EAAQ,uBAAuB,CAC7E,CAAC,CACL,CAAC,EACDC,EAAe,KAAK,UAAU,CAC1BU,GACAV,EAAe,KAAK,OAAO,CACvB,UAAWA,EAAe,KAAK,SAASA,EAAe,KAAK,UAAU,CAAC,EACvE,YAAaA,EAAe,KAAK,QAAQ,UAAU,EACnD,cAAeA,EAAe,KAAK,OAAO,CAC9C,CAAC,CACL,CAAC,CACL,EAAG,CAAE,IAAK,aAAc,CAAC,EACzBD,EAAQ,QAAUC,EAAe,UAAU,KAAKD,EAAQ,YAAa,CAAE,IAAK,SAAU,CAAC,EACvFA,EAAQ,gBAAkBC,EAAe,KAAK,OAAO,CACjD,OAAQA,EAAe,KAAK,KAAK,EACjC,cAAeA,EAAe,KAAK,OAAO,EAC1C,sBAAuBA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,CACpF,EAAG,CAAE,IAAK,iBAAkB,CAAC,EAC7BD,EAAQ,uBAAyBC,EAAe,KAAK,QAAQD,EAAQ,iBAAkBC,EAAe,KAAK,QAAQ,eAAe,EAAG,CAAE,IAAK,wBAAyB,CAAC,EACtKD,EAAQ,aAAeC,EAAe,KAAK,MAAM,CAC7CA,EAAe,KAAK,OAAO,CACvB,QAASA,EAAe,KAAK,OAAO,EACpC,UAAWA,EAAe,KAAK,SAASA,EAAe,KAAK,UAAU,CAAC,EACvE,YAAaA,EAAe,KAAK,QAAQ,cAAc,EACvD,OAAQA,EAAe,KAAK,KAAK,EACjC,SAAUA,EAAe,KAAK,SAASD,EAAQ,wBAAwB,EACvE,UAAWC,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACpE,WAAYA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACrE,kBAAmBA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,CAChF,CAAC,EACDA,EAAe,KAAK,OAAO,CACvB,QAASA,EAAe,KAAK,SAASA,EAAe,KAAK,UAAU,CAAC,EACrE,UAAWA,EAAe,KAAK,MAAMA,EAAe,KAAK,OAAO,CAAC,EACjE,YAAaA,EAAe,KAAK,SAASD,EAAQ,sBAAsB,EACxE,OAAQC,EAAe,KAAK,KAAK,EACjC,SAAUA,EAAe,KAAK,SAASD,EAAQ,wBAAwB,EACvE,UAAWC,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACpE,WAAYA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACrE,kBAAmBA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,CAChF,CAAC,EACDA,EAAe,KAAK,OAAO,CACvB,QAASA,EAAe,KAAK,OAAO,EACpC,UAAWA,EAAe,KAAK,SAASA,EAAe,KAAK,UAAU,CAAC,EACvE,YAAaA,EAAe,KAAK,SAASD,EAAQ,sBAAsB,EACxE,OAAQC,EAAe,KAAK,KAAK,EACjC,SAAUA,EAAe,KAAK,SAASD,EAAQ,wBAAwB,EACvE,UAAWC,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACpE,WAAYA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACrE,kBAAmBA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,CAChF,CAAC,EACDA,EAAe,KAAK,OAAO,CACvB,QAASA,EAAe,KAAK,SAASA,EAAe,KAAK,UAAU,CAAC,EACrE,UAAWA,EAAe,KAAK,SAASA,EAAe,KAAK,UAAU,CAAC,EACvE,OAAQA,EAAe,KAAK,MAAM,CAACA,EAAe,KAAK,QAAQ,GAAG,EAAGA,EAAe,KAAK,QAAQ,CAAC,CAAC,CAAC,EACpG,eAAgBA,EAAe,KAAK,OAAO,EAC3C,YAAaA,EAAe,KAAK,QAAQ,eAAe,EACxD,UAAWA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACpE,WAAYA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACrE,kBAAmBA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,CAChF,CAAC,CACL,EAAG,CAAE,IAAK,cAAe,CAAC,EAC1BD,EAAQ,SAAWC,EAAe,UAAU,KAAKD,EAAQ,aAAc,CAAE,IAAK,UAAW,CAAC,EAC1FA,EAAQ,OAASC,EAAe,KAAK,OAAO,CACxC,QAASA,EAAe,KAAK,OAAO,EACpC,UAAWA,EAAe,KAAK,OAAO,EACtC,aAAcA,EAAe,KAAK,OAAO,EACzC,cAAeA,EAAe,KAAK,OAAO,EAC1C,eAAgBA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACzE,OAAQA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACjE,iBAAkBA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EAC3E,UAAWA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACpE,UAAWA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,CACxE,EAAG,CAAE,IAAK,QAAS,CAAC,EACpBD,EAAQ,UAAYC,EAAe,KAAK,OAAO,CAC3C,UAAWA,EAAe,KAAK,OAAO,EACtC,WAAYA,EAAe,KAAK,OAAO,EACvC,WAAYA,EAAe,KAAK,OAAO,EACvC,SAAUA,EAAe,KAAK,OAAO,EACrC,YAAaA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,CAC1E,EAAG,CAAE,IAAK,WAAY,CAAC,EACvBD,EAAQ,WAAaC,EAAe,KAAK,OAAO,CAC5C,OAAQA,EAAe,KAAK,KAAK,EACjC,cAAeA,EAAe,KAAK,OAAO,EAC1C,sBAAuBA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,CACpF,EAAG,CAAE,IAAK,YAAa,CAAC,EACxBD,EAAQ,SAAWC,EAAe,KAAK,OAAO,CAC1C,KAAMA,EAAe,KAAK,OAAO,CACrC,EAAG,CAAE,IAAK,UAAW,CAAC,EACtBD,EAAQ,WAAaC,EAAe,KAAK,OAAO,CAC5C,QAASA,EAAe,KAAK,OAAO,EACpC,IAAKA,EAAe,KAAK,OAAO,CACpC,EAAG,CAAE,IAAK,YAAa,CAAC,EACxBD,EAAQ,iBAAmBC,EAAe,KAAK,OAAO,CAClD,UAAWA,EAAe,KAAK,OAAO,EACtC,OAAQA,EAAe,KAAK,KAAK,EACjC,QAASA,EAAe,KAAK,OAAO,EACpC,IAAKA,EAAe,KAAK,OAAO,CACpC,EAAG,CAAE,IAAK,kBAAmB,CAAC,EAC9BD,EAAQ,mBAAqBC,EAAe,KAAK,OAAO,CACpD,UAAWA,EAAe,KAAK,SAASD,EAAQ,QAAQ,EACxD,YAAaC,EAAe,KAAK,SAASD,EAAQ,UAAU,EAC5D,mBAAoBC,EAAe,KAAK,SAASD,EAAQ,gBAAgB,CAC7E,EAAG,CAAE,IAAK,oBAAqB,CAAC,EAChCA,EAAQ,oBAAsBC,EAAe,KAAK,OAAO,CACrD,MAAOA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EAChE,eAAgBA,EAAe,KAAK,OAAO,EAC3C,MAAOA,EAAe,KAAK,SAASA,EAAe,KAAK,MAAMD,EAAQ,kBAAkB,CAAC,EACzF,OAAQC,EAAe,KAAK,SAASA,EAAe,KAAK,KAAK,CAAC,EAC/D,UAAWA,EAAe,KAAK,OAAO,CAC1C,EAAG,CAAE,IAAK,qBAAsB,CAAC,EACjCD,EAAQ,cAAgBC,EAAe,KAAK,MAAM,CAC9CA,EAAe,KAAK,OAAO,CACvB,OAAQA,EAAe,KAAK,MAAMA,EAAe,KAAK,MAAM,CAACD,EAAQ,YAAaA,EAAQ,SAAS,CAAC,CAAC,CACzG,CAAC,EACDC,EAAe,KAAK,OAAO,CACvB,YAAaA,EAAe,KAAK,MAAMD,EAAQ,eAAe,CAClE,CAAC,EACDC,EAAe,KAAK,OAAO,CACvB,QAASA,EAAe,KAAK,MAAMD,EAAQ,YAAY,CAC3D,CAAC,EACDC,EAAe,KAAK,OAAO,CACvB,WAAYA,EAAe,KAAK,OAAO,CAC3C,CAAC,EACDA,EAAe,KAAK,OAAO,CACvB,QAASA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EAClE,UAAWA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACpE,WAAYA,EAAe,KAAK,OAAO,EACvC,YAAaA,EAAe,KAAK,OAAO,EACxC,WAAYA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACrE,eAAgBA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACzE,UAAWA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACpE,iBAAkBA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EAC3E,OAAQA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACjE,UAAWA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,CACxE,CAAC,CACL,EAAG,CAAE,IAAK,eAAgB,CAAC,EAC3BD,EAAQ,MAAQC,EAAe,KAAK,OAAO,CACvC,GAAID,EAAQ,aAChB,EAAG,CAAE,IAAK,OAAQ,CAAC,EACnBA,EAAQ,kBAAoBC,EAAe,KAAK,OAAO,CACnD,MAAOD,EAAQ,OACnB,EAAG,CAAE,IAAK,mBAAoB,CAAC,EAC/BA,EAAQ,WAAaC,EAAe,KAAK,OAAO,CAC5C,GAAID,EAAQ,iBAChB,EAAG,CAAE,IAAK,YAAa,CAAC,EACxBA,EAAQ,mBAAqBC,EAAe,KAAK,OAAO,CACpD,OAAQD,EAAQ,QACpB,EAAG,CAAE,IAAK,oBAAqB,CAAC,EAChCA,EAAQ,YAAcC,EAAe,KAAK,OAAO,CAC7C,GAAID,EAAQ,kBAChB,EAAG,CAAE,IAAK,aAAc,CAAC,EACzBA,EAAQ,cAAgBC,EAAe,KAAK,OAAO,CAC/C,GAAID,EAAQ,MAChB,EAAG,CAAE,IAAK,eAAgB,CAAC,EAC3BA,EAAQ,sBAAwBC,EAAe,KAAK,OAAO,CACvD,MAAOD,EAAQ,SACnB,EAAG,CAAE,IAAK,uBAAwB,CAAC,EACnCA,EAAQ,eAAiBC,EAAe,KAAK,OAAO,CAChD,GAAID,EAAQ,qBAChB,EAAG,CAAE,IAAK,gBAAiB,CAAC,EAC5BA,EAAQ,uBAAyBC,EAAe,KAAK,OAAO,CACxD,OAAQD,EAAQ,UACpB,EAAG,CAAE,IAAK,wBAAyB,CAAC,EACpCA,EAAQ,gBAAkBC,EAAe,KAAK,OAAO,CACjD,GAAID,EAAQ,sBAChB,EAAG,CAAE,IAAK,iBAAkB,CAAC,EAC7BA,EAAQ,0BAA4BC,EAAe,KAAK,OAAO,CAC3D,iBAAkBA,EAAe,KAAK,OAAO,CACjD,EAAG,CAAE,IAAK,2BAA4B,CAAC,EACvCD,EAAQ,mBAAqBC,EAAe,KAAK,OAAO,CACpD,GAAID,EAAQ,yBAChB,EAAG,CAAE,IAAK,oBAAqB,CAAC,EAChCA,EAAQ,kBAAoBC,EAAe,KAAK,OAAO,CACnD,UAAWA,EAAe,KAAK,MAAMA,EAAe,KAAK,OAAO,CAAC,EACjE,UAAWA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACpE,YAAaA,EAAe,KAAK,SAASD,EAAQ,eAAe,EACjE,SAAUC,EAAe,KAAK,SAASD,EAAQ,wBAAwB,EACvE,kBAAmBC,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,EAC7E,cAAeA,EAAe,KAAK,SAASA,EAAe,KAAK,MAAMA,EAAe,KAAK,OAAO,CAAC,CAAC,EACnG,gBAAiBA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,CAC9E,EAAG,CAAE,IAAK,mBAAoB,CAAC,EAC/BD,EAAQ,eAAiBC,EAAe,KAAK,OAAO,CAChD,gBAAiBA,EAAe,KAAK,OAAO,EAC5C,UAAWA,EAAe,KAAK,OAAO,CAC1C,EAAG,CAAE,IAAK,gBAAiB,CAAC,EAC5BD,EAAQ,kBAAoBC,EAAe,KAAK,OAAO,CACnD,YAAaA,EAAe,KAAK,OAAO,EACxC,WAAYA,EAAe,KAAK,OAAO,EACvC,yBAA0BA,EAAe,KAAK,OAAO,EACrD,mBAAoBA,EAAe,KAAK,OAAO,EAC/C,UAAWA,EAAe,KAAK,MAAMA,EAAe,KAAK,OAAO,CAAC,EACjE,UAAWA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACpE,YAAaA,EAAe,KAAK,SAASD,EAAQ,eAAe,EACjE,YAAaC,EAAe,KAAK,SAASD,EAAQ,cAAc,CACpE,EAAG,CAAE,IAAK,mBAAoB,CAAC,EAC/BA,EAAQ,cAAgBC,EAAe,KAAK,OAAO,CAC/C,OAAQA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,CACrE,EAAG,CAAE,IAAK,eAAgB,CAAC,EAC3BD,EAAQ,gBAAkBC,EAAe,KAAK,OAAO,CACjD,OAAQA,EAAe,KAAK,OAAO,EACnC,OAAQA,EAAe,KAAK,OAAO,CACvC,EAAG,CAAE,IAAK,iBAAkB,CAAC,EAC7BD,EAAQ,eAAiBC,EAAe,KAAK,OAAO,CAChD,QAASA,EAAe,KAAK,MAAM,CAACA,EAAe,KAAK,OAAO,EAAGA,EAAe,KAAK,YAAY,CAAC,CAAC,EACpG,KAAMA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,CACnE,EAAG,CAAE,IAAK,gBAAiB,CAAC,EAC5BD,EAAQ,WAAaC,EAAe,KAAK,OAAO,CAC5C,QAASA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,CACtE,EAAG,CAAE,IAAK,YAAa,CAAC,EACxB,IAAIW,IACH,SAAUA,EAAuB,CAC9BA,EAAsBA,EAAsB,OAAY,CAAC,EAAI,SAC7DA,EAAsBA,EAAsB,OAAY,CAAC,EAAI,SAC7DA,EAAsBA,EAAsB,cAAmB,CAAC,EAAI,eACxE,GAAGA,KAA0BZ,EAAQ,sBAAwBY,GAAwB,CAAC,EAAE,EACxFZ,EAAQ,0BAA4BC,EAAe,KAAK,KAAKW,EAAqB,EAClF,IAAIC,IACH,SAAUA,EAAoB,CAC3BA,EAAmBA,EAAmB,KAAU,CAAC,EAAI,OACrDA,EAAmBA,EAAmB,gBAAqB,CAAC,EAAI,kBAChEA,EAAmBA,EAAmB,gBAAqB,CAAC,EAAI,kBAChEA,EAAmBA,EAAmB,mBAAwB,CAAC,EAAI,qBACnEA,EAAmBA,EAAmB,QAAa,CAAC,EAAI,UACxDA,EAAmBA,EAAmB,eAAoB,CAAC,EAAI,iBAC/DA,EAAmBA,EAAmB,WAAgB,CAAC,EAAI,aAC3DA,EAAmBA,EAAmB,kBAAuB,CAAC,EAAI,oBAClEA,EAAmBA,EAAmB,MAAW,CAAC,EAAI,QACtDA,EAAmBA,EAAmB,OAAY,EAAE,EAAI,SACxDA,EAAmBA,EAAmB,cAAmB,EAAE,EAAI,eACnE,GAAGA,KAAuBb,EAAQ,mBAAqBa,GAAqB,CAAC,EAAE,EAC/Eb,EAAQ,uBAAyBC,EAAe,KAAK,KAAKY,EAAkB,EAC5E,IAAIC,IACH,SAAUA,EAAyB,CAChCA,EAAwBA,EAAwB,QAAa,CAAC,EAAI,UAClEA,EAAwBA,EAAwB,IAAS,CAAC,EAAI,MAC9DA,EAAwBA,EAAwB,IAAS,CAAC,EAAI,MAC9DA,EAAwBA,EAAwB,OAAY,CAAC,EAAI,SACjEA,EAAwBA,EAAwB,eAAoB,CAAC,EAAI,iBACzEA,EAAwBA,EAAwB,kBAAuB,CAAC,EAAI,mBAChF,GAAGA,KAA4Bd,EAAQ,wBAA0Bc,GAA0B,CAAC,EAAE,EAC9Fd,EAAQ,4BAA8BC,EAAe,KAAK,KAAKa,EAAuB,EACtF,IAAIC,IACH,SAAUA,EAAsC,CAC7CA,EAAqCA,EAAqC,KAAU,CAAC,EAAI,OACzFA,EAAqCA,EAAqC,OAAY,CAAC,EAAI,SAC3FA,EAAqCA,EAAqC,UAAe,CAAC,EAAI,WAClG,GAAGA,KAAyCf,EAAQ,qCAAuCe,GAAuC,CAAC,EAAE,EACrIf,EAAQ,yCAA2CC,EAAe,KAAK,KAAKc,EAAoC,EAChH,IAAIC,IACH,SAAUA,EAAoC,CAC3CA,EAAmCA,EAAmC,aAAkB,CAAC,EAAI,eAC7FA,EAAmCA,EAAmC,YAAiB,CAAC,EAAI,aAChG,GAAGA,KAAuChB,EAAQ,mCAAqCgB,GAAqC,CAAC,EAAE,EAC/HhB,EAAQ,uCAAyCC,EAAe,KAAK,KAAKe,EAAkC,EAC5G,IAAIC,IACH,SAAUA,EAAwB,CAC/BA,EAAuBA,EAAuB,mBAAwB,CAAC,EAAI,qBAC3EA,EAAuBA,EAAuB,qBAA0B,CAAC,EAAI,uBAC7EA,EAAuBA,EAAuB,iBAAsB,CAAC,EAAI,mBACzEA,EAAuBA,EAAuB,wBAA6B,CAAC,EAAI,yBACpF,GAAGA,KAA2BjB,EAAQ,uBAAyBiB,GAAyB,CAAC,EAAE,EAC3FjB,EAAQ,2BAA6BC,EAAe,KAAK,KAAKgB,EAAsB,EACpF,IAAIC,IACH,SAAUA,EAAsB,CAC7BA,EAAqBA,EAAqB,eAAoB,CAAC,EAAI,iBACnEA,EAAqBA,EAAqB,iBAAsB,CAAC,EAAI,mBACrEA,EAAqBA,EAAqB,mBAAwB,CAAC,EAAI,oBAC3E,GAAGA,KAAyBlB,EAAQ,qBAAuBkB,GAAuB,CAAC,EAAE,EACrFlB,EAAQ,yBAA2BC,EAAe,KAAK,KAAKiB,EAAoB,EAChF,IAAIC,IACH,SAAUA,EAAsC,CAC7CA,EAAqCA,EAAqC,KAAU,CAAC,EAAI,OACzFA,EAAqCA,EAAqC,6BAAkC,CAAC,EAAI,8BACrH,GAAGA,KAAyCnB,EAAQ,qCAAuCmB,GAAuC,CAAC,EAAE,EACrInB,EAAQ,yCAA2CC,EAAe,KAAK,KAAKkB,EAAoC,EAChH,IAAIC,IACH,SAAUA,EAAgC,CACvCA,EAA+BA,EAA+B,MAAW,CAAC,EAAI,QAC9EA,EAA+BA,EAA+B,MAAW,CAAC,EAAI,OAClF,GAAGA,KAAmCpB,EAAQ,+BAAiCoB,GAAiC,CAAC,EAAE,EACnHpB,EAAQ,mCAAqCC,EAAe,KAAK,KAAKmB,EAA8B,EACpG,IAAIC,IACH,SAAUA,EAAsB,CAC7BA,EAAqBA,EAAqB,qBAA0B,CAAC,EAAI,uBACzEA,EAAqBA,EAAqB,2BAAgC,CAAC,EAAI,6BAC/EA,EAAqBA,EAAqB,qBAA0B,CAAC,EAAI,uBACzEA,EAAqBA,EAAqB,mBAAwB,CAAC,EAAI,oBAC3E,GAAGA,KAAyBrB,EAAQ,qBAAuBqB,GAAuB,CAAC,EAAE,EACrFrB,EAAQ,yBAA2BC,EAAe,KAAK,KAAKoB,EAAoB,EAChF,IAAIC,IACH,SAAUA,EAAsB,CAC7BA,EAAqBA,EAAqB,cAAmB,CAAC,EAAI,gBAClEA,EAAqBA,EAAqB,gBAAqB,CAAC,EAAI,iBACxE,GAAGA,KAAyBtB,EAAQ,qBAAuBsB,GAAuB,CAAC,EAAE,EACrFtB,EAAQ,yBAA2BC,EAAe,KAAK,KAAKqB,EAAoB,EAChFtB,EAAQ,6BAA+BC,EAAe,KAAK,OAAO,CAC9D,YAAaA,EAAe,KAAK,OAAO,EACxC,SAAUA,EAAe,KAAK,OAAO,EACrC,kBAAmBA,EAAe,KAAK,OAAO,CAClD,EAAG,CAAE,IAAK,8BAA+B,CAAC,EAC1CD,EAAQ,oBAAsBC,EAAe,KAAK,UAAUsB,GAAQtB,EAAe,KAAK,OAAO,CAC3F,KAAMD,EAAQ,4BACd,QAASC,EAAe,KAAK,SAASA,EAAe,KAAK,MAAMsB,CAAI,CAAC,EACrE,SAAUtB,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACnE,SAAUA,EAAe,KAAK,SAASA,EAAe,KAAK,MAAMA,EAAe,KAAK,OAAO,CAAC,CAAC,EAC9F,0BAA2BA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACpF,eAAgBA,EAAe,KAAK,SAASA,EAAe,KAAK,KAAK,CAAC,EACvE,kBAAmBA,EAAe,KAAK,SAASA,EAAe,KAAK,KAAK,CAAC,CAC9E,CAAC,EAAG,CAAE,IAAK,qBAAsB,CAAC,EAClCD,EAAQ,2BAA6BC,EAAe,KAAK,OAAO,CAC5D,OAAQD,EAAQ,oBAChB,eAAgBA,EAAQ,yCACxB,gBAAiBA,EAAQ,yBAC7B,EAAG,CAAE,IAAK,4BAA6B,CAAC,EACxCA,EAAQ,wBAA0BC,EAAe,KAAK,OAAO,CACzD,YAAaA,EAAe,KAAK,OAAO,CAC5C,EAAG,CAAE,IAAK,yBAA0B,CAAC,EACrCD,EAAQ,6BAA+BC,EAAe,KAAK,OAAO,CAC9D,aAAcD,EAAQ,uBACtB,UAAWC,EAAe,KAAK,MAAMA,EAAe,KAAK,OAAO,CAAC,EACjE,kBAAmBA,EAAe,KAAK,MAAMA,EAAe,KAAK,OAAO,CAAC,EACzE,iBAAkBA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EAC3E,oBAAqBA,EAAe,KAAK,SAASD,EAAQ,4BAA4B,EACtF,oBAAqBC,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EAC9E,oBAAqBA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,CAClF,EAAG,CAAE,IAAK,8BAA+B,CAAC,EAC1CD,EAAQ,kBAAoBC,EAAe,KAAK,OAAO,CACnD,aAAcA,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,EACxE,eAAgBA,EAAe,KAAK,OAAO,EAC3C,WAAYA,EAAe,KAAK,OAAO,EACvC,mBAAoBD,EAAQ,6BAC5B,gBAAiBA,EAAQ,0BACzB,SAAUC,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,CACxE,EAAG,CAAE,IAAK,mBAAoB,CAAC,EAC/BD,EAAQ,eAAiBC,EAAe,KAAK,OAAO,CAChD,QAASA,EAAe,KAAK,OAAO,CACxC,EAAG,CAAE,IAAK,gBAAiB,CAAC,EAC5BD,EAAQ,oBAAsBC,EAAe,KAAK,OAAO,CACrD,UAAWA,EAAe,KAAK,MAAMA,EAAe,KAAK,OAAO,CAAC,EACjE,aAAcA,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,EACxE,gBAAiBD,EAAQ,yBAC7B,EAAG,CAAE,IAAK,qBAAsB,CAAC,EACjCA,EAAQ,iBAAmBC,EAAe,KAAK,OAAO,CAClD,KAAMA,EAAe,KAAK,OAAO,EACjC,KAAMD,EAAQ,UAClB,EAAG,CAAE,IAAK,kBAAmB,CAAC,EAC9BA,EAAQ,kBAAoBC,EAAe,KAAK,OAAO,CACnD,aAAcD,EAAQ,yBACtB,eAAgBC,EAAe,KAAK,OAAO,EAC3C,WAAYA,EAAe,KAAK,OAAO,EACvC,aAAcA,EAAe,KAAK,OAAO,EACzC,cAAeA,EAAe,KAAK,OAAO,EAC1C,IAAKA,EAAe,KAAK,KAAK,EAC9B,IAAKA,EAAe,KAAK,SAASA,EAAe,KAAK,KAAK,CAAC,EAC5D,mBAAoBA,EAAe,KAAK,OAAO,EAC/C,kBAAmBA,EAAe,KAAK,OAAO,EAC9C,mBAAoBA,EAAe,KAAK,QAAQ,EAChD,wBAAyBA,EAAe,KAAK,SAASA,EAAe,KAAK,KAAK,CAAC,EAChF,uBAAwBA,EAAe,KAAK,OAAO,EACnD,2BAA4BA,EAAe,KAAK,OAAO,EACvD,gBAAiBD,EAAQ,0BACzB,mBAAoBC,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,EAC9E,iBAAkBA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EAC3E,wBAAyBA,EAAe,KAAK,OAAO,EACpD,uBAAwBA,EAAe,KAAK,OAAO,EACnD,sBAAuBA,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,EACjF,iBAAkBA,EAAe,KAAK,SAASA,EAAe,KAAK,KAAK,CAAC,EACzE,uBAAwBA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACjF,SAAUA,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,CACxE,EAAG,CAAE,IAAK,mBAAoB,CAAC,EAC/BD,EAAQ,eAAiBC,EAAe,KAAK,OAAO,CAChD,UAAWA,EAAe,KAAK,OAAO,EACtC,WAAYA,EAAe,KAAK,OAAO,CAC3C,EAAG,CAAE,IAAK,gBAAiB,CAAC,EAC5BD,EAAQ,gBAAkBC,EAAe,KAAK,OAAO,CACjD,QAASA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EAClE,mBAAoBA,EAAe,KAAK,SAASD,EAAQ,4BAA4B,EACrF,OAAQC,EAAe,KAAK,KAAK,EACjC,mBAAoBA,EAAe,KAAK,OAAO,EAC/C,WAAYA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACrE,OAAQA,EAAe,KAAK,SAASD,EAAQ,sCAAsC,EACnF,kBAAmBC,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EAC5E,sBAAuBA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,CACpF,EAAG,CAAE,IAAK,iBAAkB,CAAC,EAC7BD,EAAQ,kBAAoBC,EAAe,KAAK,OAAO,CACnD,UAAWA,EAAe,KAAK,OAAO,EACtC,aAAcA,EAAe,KAAK,OAAO,CAC7C,EAAG,CAAE,IAAK,mBAAoB,CAAC,EAC/BD,EAAQ,aAAeC,EAAe,KAAK,OAAO,CAC9C,iBAAkBA,EAAe,KAAK,OAAO,EAC7C,OAAQA,EAAe,KAAK,SAASA,EAAe,KAAK,KAAK,CAAC,EAC/D,YAAaA,EAAe,KAAK,SAASA,EAAe,KAAK,KAAK,CAAE,cAAe,EAAK,CAAC,CAAC,CAC/F,EAAG,CAAE,IAAK,cAAe,CAAC,EAC1BD,EAAQ,0BAA4BC,EAAe,KAAK,OAAO,CAC3D,KAAMA,EAAe,KAAK,OAAO,CACrC,EAAG,CAAE,IAAK,2BAA4B,CAAC,EACvCD,EAAQ,8BAAgCC,EAAe,KAAK,OAAO,CAC/D,KAAMA,EAAe,KAAK,OAAO,CACrC,EAAG,CAAE,IAAK,+BAAgC,CAAC,EAC3CD,EAAQ,iBAAmBC,EAAe,KAAK,OAAO,CAClD,iBAAkBA,EAAe,KAAK,SAASA,EAAe,KAAK,MAAMA,EAAe,KAAK,OAAO,CAAC,CAAC,EACtG,iBAAkBA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,CAC/E,EAAG,CAAE,IAAK,kBAAmB,CAAC,EAC9BD,EAAQ,2BAA6BC,EAAe,KAAK,OAAO,CAC5D,KAAMD,EAAQ,yBACd,aAAcC,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACvE,aAAcA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACvE,UAAWA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACpE,KAAMA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,CACnE,EAAG,CAAE,IAAK,4BAA6B,CAAC,EACxCD,EAAQ,wBAA0BC,EAAe,KAAK,OAAO,CACzD,IAAKA,EAAe,KAAK,OAAO,EAChC,KAAMA,EAAe,KAAK,OAAO,CACrC,EAAG,CAAE,IAAK,yBAA0B,CAAC,EACrCD,EAAQ,0BAA4BC,EAAe,KAAK,OAAO,CAC3D,QAASA,EAAe,KAAK,OAAO,EACpC,aAAcA,EAAe,KAAK,OAAO,EACzC,OAAQA,EAAe,KAAK,KAAK,EACjC,KAAMA,EAAe,KAAK,KAAK,EAC/B,iBAAkBA,EAAe,KAAK,KAAK,EAC3C,mBAAoBA,EAAe,KAAK,KAAK,EAC7C,eAAgBA,EAAe,KAAK,OAAO,EAC3C,SAAUA,EAAe,KAAK,SAASD,EAAQ,uBAAuB,EACtE,aAAcC,EAAe,KAAK,OAAO,EACzC,aAAcA,EAAe,KAAK,OAAO,CAC7C,EAAG,CAAE,IAAK,2BAA4B,CAAC,EACvCD,EAAQ,qBAAuBC,EAAe,KAAK,OAAO,CACtD,KAAMD,EAAQ,2BACd,KAAMC,EAAe,KAAK,SAASA,EAAe,KAAK,MAAMA,EAAe,KAAK,OAAO,CAAC,CAAC,EAC1F,KAAMA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EAC/D,gBAAiBA,EAAe,KAAK,SAASD,EAAQ,yBAAyB,EAC/E,YAAaC,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACtE,SAAUA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,CACvE,EAAG,CAAE,IAAK,sBAAuB,CAAC,EAClCD,EAAQ,oBAAsBC,EAAe,KAAK,OAAO,CACrD,KAAMA,EAAe,KAAK,SAASA,EAAe,KAAK,MAAMA,EAAe,KAAK,OAAO,CAAC,CAAC,EAC1F,OAAQA,EAAe,KAAK,KAAK,EACjC,YAAaA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACtE,SAAUA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,CACvE,EAAG,CAAE,IAAK,qBAAsB,CAAC,EACjCD,EAAQ,mCAAqCC,EAAe,KAAK,OAAO,CACpE,gBAAiBA,EAAe,KAAK,OAAO,EAC5C,OAAQA,EAAe,KAAK,KAAK,CACrC,EAAG,CAAE,IAAK,oCAAqC,CAAC,EAChDD,EAAQ,uCAAyCC,EAAe,KAAK,OAAO,CACxE,gBAAiBA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EAC1E,aAAcA,EAAe,KAAK,MAAMA,EAAe,KAAK,OAAO,CAAC,EACpE,2BAA4BA,EAAe,KAAK,SAASD,EAAQ,4BAA4B,EAC7F,MAAOC,EAAe,KAAK,KAAK,EAChC,OAAQA,EAAe,KAAK,SAASD,EAAQ,kCAAkC,EAC/E,YAAaC,EAAe,KAAK,SAASA,EAAe,KAAK,MAAMD,EAAQ,kCAAkC,CAAC,EAC/G,eAAgBC,EAAe,KAAK,SAASA,EAAe,KAAK,KAAK,CAAC,EACvE,gBAAiBA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,CAC9E,EAAG,CAAE,IAAK,wCAAyC,CAAC,EACpDD,EAAQ,uBAAyBC,EAAe,KAAK,OAAO,CACxD,8BAA+BA,EAAe,KAAK,SAASD,EAAQ,sCAAsC,EAC1G,KAAMC,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,CACnE,EAAG,CAAE,IAAK,wBAAyB,CAAC,EACpCD,EAAQ,cAAgBC,EAAe,KAAK,OAAO,CAC/C,mBAAoBA,EAAe,KAAK,OAAO,CACnD,EAAG,CAAE,IAAK,eAAgB,CAAC,EAC3BD,EAAQ,yBAA2BC,EAAe,KAAK,OAAO,CAC1D,UAAWA,EAAe,KAAK,OAAO,EACtC,WAAYA,EAAe,KAAK,OAAO,CAC3C,EAAG,CAAE,IAAK,0BAA2B,CAAC,EACtCD,EAAQ,wBAA0BC,EAAe,KAAK,OAAO,CACzD,SAAUA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACnE,SAAUA,EAAe,KAAK,SAASA,EAAe,KAAK,MAAMA,EAAe,KAAK,OAAO,CAAC,CAAC,CAClG,EAAG,CAAE,IAAK,yBAA0B,CAAC,EACrCD,EAAQ,wBAA0BC,EAAe,KAAK,OAAO,CACzD,UAAWA,EAAe,KAAK,OAAO,EACtC,WAAYA,EAAe,KAAK,OAAO,CAC3C,EAAG,CAAE,IAAK,yBAA0B,CAAC,EACrCD,EAAQ,iBAAmBC,EAAe,KAAK,OAAO,CAAC,EAAG,CAAE,IAAK,kBAAmB,CAAC,EACrFD,EAAQ,iCAAmCC,EAAe,KAAK,OAAO,CAClE,KAAMD,EAAQ,yCACd,oBAAqBC,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EAC9E,6BAA8BA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,CAC3F,EAAG,CAAE,IAAK,kCAAmC,CAAC,EAC9CD,EAAQ,wBAA0BC,EAAe,KAAK,OAAO,CACzD,KAAMA,EAAe,KAAK,MAAMA,EAAe,KAAK,OAAO,CAAC,CAChE,EAAG,CAAE,IAAK,yBAA0B,CAAC,EACrCD,EAAQ,yBAA2BC,EAAe,KAAK,OAAO,CAC1D,KAAMD,EAAQ,yBACd,QAASC,EAAe,KAAK,OAAO,EACpC,UAAWA,EAAe,KAAK,OAAO,EACtC,WAAYA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,CACzE,EAAG,CAAE,IAAK,0BAA2B,CAAC,EACtCD,EAAQ,iBAAmBC,EAAe,KAAK,OAAO,CAAC,EAAG,CAAE,IAAK,kBAAmB,CAAC,EACrFD,EAAQ,kBAAoBC,EAAe,KAAK,OAAO,CACnD,QAASA,EAAe,KAAK,OAAO,CACxC,EAAG,CAAE,IAAK,mBAAoB,CAAC,EAC/BD,EAAQ,sBAAwBC,EAAe,KAAK,OAAO,CAAC,EAAG,CAAE,IAAK,uBAAwB,CAAC,EAC/FD,EAAQ,QAAUC,EAAe,KAAK,OAAO,CACzC,QAASA,EAAe,KAAK,OAAO,CACxC,EAAG,CAAE,IAAK,SAAU,CAAC,EACrB,IAAIuB,IACH,SAAUA,EAAa,CACpBA,EAAYA,EAAY,0BAA+B,CAAC,EAAI,4BAC5DA,EAAYA,EAAY,uBAA4B,CAAC,EAAI,yBACzDA,EAAYA,EAAY,kBAAuB,CAAC,EAAI,oBACpDA,EAAYA,EAAY,wBAA6B,CAAC,EAAI,0BAC1DA,EAAYA,EAAY,oBAAyB,CAAC,EAAI,sBACtDA,EAAYA,EAAY,qBAA0B,CAAC,EAAI,uBACvDA,EAAYA,EAAY,mBAAwB,CAAC,EAAI,qBACrDA,EAAYA,EAAY,yBAA8B,CAAC,EAAI,2BAC3DA,EAAYA,EAAY,qBAA0B,CAAC,EAAI,uBACvDA,EAAYA,EAAY,uBAA4B,EAAE,EAAI,yBAC1DA,EAAYA,EAAY,uBAA4B,EAAE,EAAI,yBAC1DA,EAAYA,EAAY,oBAAyB,EAAE,EAAI,sBACvDA,EAAYA,EAAY,yBAA8B,EAAE,EAAI,2BAC5DA,EAAYA,EAAY,uBAA4B,EAAE,EAAI,yBAC1DA,EAAYA,EAAY,sBAA2B,EAAE,EAAI,uBAC7D,GAAGA,KAAgBxB,EAAQ,YAAcwB,GAAc,CAAC,EAAE,EAC1DxB,EAAQ,gBAAkBC,EAAe,KAAK,KAAKuB,EAAW,EAC9DxB,EAAQ,QAAUC,EAAe,KAAK,OAAO,CACzC,KAAMA,EAAe,KAAK,SAASD,EAAQ,eAAe,EAC1D,QAASC,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,CACtE,EAAG,CAAE,IAAK,SAAU,CAAC,EACrB,IAAIwB,IACH,SAAUA,EAAwB,CAC/BA,EAAuBA,EAAuB,oBAAyB,CAAC,EAAI,sBAC5EA,EAAuBA,EAAuB,+BAAoC,CAAC,EAAI,iCACvFA,EAAuBA,EAAuB,4BAAiC,CAAC,EAAI,8BACpFA,EAAuBA,EAAuB,0BAA+B,CAAC,EAAI,4BAClFA,EAAuBA,EAAuB,0BAA+B,CAAC,EAAI,4BAClFA,EAAuBA,EAAuB,yBAA8B,CAAC,EAAI,2BACjFA,EAAuBA,EAAuB,0BAA+B,CAAC,EAAI,4BAClFA,EAAuBA,EAAuB,qBAA0B,CAAC,EAAI,uBAC7EA,EAAuBA,EAAuB,4BAAiC,CAAC,EAAI,8BACpFA,EAAuBA,EAAuB,sBAA2B,EAAE,EAAI,wBAC/EA,EAAuBA,EAAuB,wBAA6B,EAAE,EAAI,0BACjFA,EAAuBA,EAAuB,gCAAqC,EAAE,EAAI,kCACzFA,EAAuBA,EAAuB,4BAAiC,EAAE,EAAI,8BACrFA,EAAuBA,EAAuB,yCAA8C,EAAE,EAAI,2CAClGA,EAAuBA,EAAuB,oCAAyC,EAAE,EAAI,sCAC7FA,EAAuBA,EAAuB,+BAAoC,EAAE,EAAI,iCACxFA,EAAuBA,EAAuB,sBAA2B,EAAE,EAAI,wBAC/EA,EAAuBA,EAAuB,sBAA2B,EAAE,EAAI,wBAC/EA,EAAuBA,EAAuB,8BAAmC,EAAE,EAAI,gCACvFA,EAAuBA,EAAuB,uBAA4B,EAAE,EAAI,wBACpF,GAAGA,KAA2BzB,EAAQ,uBAAyByB,GAAyB,CAAC,EAAE,EAC3FzB,EAAQ,2BAA6BC,EAAe,KAAK,KAAKwB,EAAsB,EACpFzB,EAAQ,kBAAoBC,EAAe,KAAK,UAAUwB,GAAwB,CAC9E,IAAK,mBACT,CAAC,EACDzB,EAAQ,cAAgBC,EAAe,KAAK,OAAO,CAC/C,KAAMA,EAAe,KAAK,SAASD,EAAQ,iBAAiB,EAC5D,MAAOC,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,CACpE,EAAG,CAAE,IAAK,eAAgB,CAAC,EAC3BD,EAAQ,UAAYC,EAAe,KAAK,OAAO,CAAC,EAAG,CAAE,IAAK,WAAY,CAAC,EACvE,IAAIyB,IACH,SAAUA,EAA2B,CAClCA,EAA0BA,EAA0B,6BAAkC,CAAC,EAAI,+BAC3FA,EAA0BA,EAA0B,8BAAmC,CAAC,EAAI,gCAC5FA,EAA0BA,EAA0B,+BAAoC,CAAC,EAAI,iCAC7FA,EAA0BA,EAA0B,mCAAwC,CAAC,EAAI,qCACjGA,EAA0BA,EAA0B,oCAAyC,CAAC,EAAI,qCACtG,GAAGA,KAA8B1B,EAAQ,0BAA4B0B,GAA4B,CAAC,EAAE,EACpG1B,EAAQ,8BAAgCC,EAAe,KAAK,KAAKyB,EAAyB,EAC1F1B,EAAQ,qBAAuBC,EAAe,KAAK,UAAUyB,GAA2B,CACpF,IAAK,sBACT,CAAC,EACD1B,EAAQ,iBAAmBC,EAAe,KAAK,OAAO,CAClD,KAAMA,EAAe,KAAK,SAASD,EAAQ,oBAAoB,CACnE,EAAG,CAAE,IAAK,kBAAmB,CAAC,EAC9BA,EAAQ,aAAeC,EAAe,KAAK,OAAO,CAC9C,IAAKA,EAAe,KAAK,OAAO,CACpC,EAAG,CAAE,IAAK,cAAe,CAAC,EAC1BD,EAAQ,kBAAoBC,EAAe,KAAK,OAAO,CACnD,WAAYA,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,CAC1E,EAAG,CAAE,IAAK,mBAAoB,CAAC,EAC/BD,EAAQ,cAAgBC,EAAe,KAAK,OAAO,CAC/C,WAAYA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACrE,OAAQA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACjE,UAAWA,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,CACzE,EAAG,CAAE,IAAK,eAAgB,CAAC,EAC3BD,EAAQ,kCAAoCC,EAAe,KAAK,OAAO,CACnE,MAAOA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,CACpE,EAAG,CAAE,IAAK,mCAAoC,CAAC,EAC/CD,EAAQ,8BAAgCC,EAAe,KAAK,OAAO,CAAC,EAAG,CAAE,IAAK,+BAAgC,CAAC,EAC/GD,EAAQ,eAAiBC,EAAe,KAAK,OAAO,CAChD,UAAWA,EAAe,KAAK,MAAMA,EAAe,KAAK,OAAO,CAAC,EACjE,IAAKA,EAAe,KAAK,OAAO,EAChC,MAAOA,EAAe,KAAK,OAAO,EAClC,QAASA,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,EACnE,eAAgBA,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,EAC1E,eAAgBA,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,EAC1E,GAAIA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,CACjE,EAAG,CAAE,IAAK,gBAAiB,CAAC,EAC5BD,EAAQ,iBAAmBC,EAAe,KAAK,OAAO,CAClD,MAAOA,EAAe,KAAK,OAAO,CACtC,EAAG,CAAE,IAAK,kBAAmB,CAAC,EAC9BD,EAAQ,aAAeC,EAAe,KAAK,OAAO,CAC9C,MAAOA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EAChE,KAAMA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EAC/D,KAAMA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EAC/D,KAAMA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EAC/D,KAAMA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EAC/D,MAAOA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,CACpE,EAAG,CAAE,IAAK,cAAe,CAAC,EAC1BD,EAAQ,aAAeC,EAAe,KAAK,OAAO,CAC9C,SAAUD,EAAQ,aAClB,iBAAkBC,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EAC3E,iBAAkBA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EAC3E,iBAAkBA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,CAC/E,EAAG,CAAE,IAAK,cAAe,CAAC,EAC1BD,EAAQ,eAAiBC,EAAe,KAAK,OAAO,CAChD,QAASA,EAAe,KAAK,OAAO,EACpC,WAAYA,EAAe,KAAK,OAAO,EACvC,UAAWA,EAAe,KAAK,OAAO,CAC1C,EAAG,CAAE,IAAK,gBAAiB,CAAC,EAC5BD,EAAQ,kBAAoBC,EAAe,KAAK,OAAO,CACnD,SAAUD,EAAQ,aAClB,gBAAiBC,EAAe,KAAK,OAAO,EAC5C,iBAAkBA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,CAC/E,EAAG,CAAE,IAAK,mBAAoB,CAAC,EAC/BD,EAAQ,eAAiBC,EAAe,KAAK,OAAO,CAChD,YAAaA,EAAe,KAAK,OAAO,EACxC,WAAYA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,CACzE,EAAG,CAAE,IAAK,gBAAiB,CAAC,EAC5B,IAAI0B,IACH,SAAUA,EAAa,CACpBA,EAAYA,EAAY,GAAQ,CAAC,EAAI,KACrCA,EAAYA,EAAY,IAAS,CAAC,EAAI,MACtCA,EAAYA,EAAY,KAAU,CAAC,EAAI,MAC3C,GAAGA,KAAgB3B,EAAQ,YAAc2B,GAAc,CAAC,EAAE,EAC1D3B,EAAQ,gBAAkBC,EAAe,KAAK,KAAK0B,EAAW,EAC9D,IAAIC,IACH,SAAUA,EAAqB,CAC5BA,EAAoBA,EAAoB,SAAc,CAAC,EAAI,WAC3DA,EAAoBA,EAAoB,WAAgB,CAAC,EAAI,aAC7DA,EAAoBA,EAAoB,UAAe,CAAC,EAAI,WAChE,GAAGA,KAAwB5B,EAAQ,oBAAsB4B,GAAsB,CAAC,EAAE,EAClF5B,EAAQ,wBAA0BC,EAAe,KAAK,KAAK2B,EAAmB,EAC9E5B,EAAQ,0BAA4BC,EAAe,KAAK,OAAO,CAAC,EAAG,CAAE,IAAK,2BAA4B,CAAC,EACvGD,EAAQ,gBAAkBC,EAAe,KAAK,OAAO,CACjD,UAAWA,EAAe,KAAK,MAAMA,EAAe,KAAK,OAAO,CAAC,EACjE,aAAcA,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,EACxE,SAAUA,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,CACxE,EAAG,CAAE,IAAK,iBAAkB,CAAC,EAC7BD,EAAQ,aAAeC,EAAe,KAAK,OAAO,CAC9C,eAAgBA,EAAe,KAAK,OAAO,EAC3C,eAAgBA,EAAe,KAAK,OAAO,CAC/C,EAAG,CAAE,IAAK,cAAe,CAAC,EAC1BD,EAAQ,YAAcC,EAAe,KAAK,OAAO,CAC7C,WAAYA,EAAe,KAAK,OAAO,EACvC,cAAeA,EAAe,KAAK,OAAO,EAC1C,iBAAkBA,EAAe,KAAK,OAAO,EAC7C,oBAAqBA,EAAe,KAAK,OAAO,EAChD,iBAAkBA,EAAe,KAAK,OAAO,EAC7C,UAAWA,EAAe,KAAK,OAAO,CAC1C,EAAG,CAAE,IAAK,aAAc,CAAC,EACzBD,EAAQ,UAAYC,EAAe,KAAK,OAAO,CAC3C,UAAWA,EAAe,KAAK,MAAMA,EAAe,KAAK,OAAO,CAAC,EACjE,SAAUA,EAAe,KAAK,OAAO,EACrC,OAAQD,EAAQ,YAChB,YAAaC,EAAe,KAAK,OAAO,EACxC,SAAUA,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,CACxE,EAAG,CAAE,IAAK,WAAY,CAAC,EACvBD,EAAQ,mBAAqBC,EAAe,KAAK,OAAO,CACpD,UAAWA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,CACxE,EAAG,CAAE,IAAK,oBAAqB,CAAC,EAChCD,EAAQ,SAAWC,EAAe,KAAK,OAAO,CAC1C,OAAQA,EAAe,KAAK,KAAK,EACjC,OAAQA,EAAe,KAAK,OAAO,CACvC,EAAG,CAAE,IAAK,UAAW,CAAC,EACtBD,EAAQ,mBAAqBC,EAAe,KAAK,OAAO,CACpD,MAAOA,EAAe,KAAK,OAAO,EAClC,WAAYA,EAAe,KAAK,OAAO,CAC3C,EAAG,CAAE,IAAK,oBAAqB,CAAC,EAChCD,EAAQ,oBAAsBC,EAAe,KAAK,OAAO,CACrD,KAAMA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EAC/D,IAAKA,EAAe,KAAK,OAAO,EAChC,UAAWA,EAAe,KAAK,SAASA,EAAe,KAAK,MAAMA,EAAe,KAAK,OAAO,CAAC,CAAC,EAC/F,OAAQA,EAAe,KAAK,OAAO,CACvC,EAAG,CAAE,IAAK,qBAAsB,CAAC,EACjCD,EAAQ,wBAA0BC,EAAe,KAAK,OAAO,CACzD,QAASD,EAAQ,mBACjB,OAAQC,EAAe,KAAK,OAAO,CACvC,EAAG,CAAE,IAAK,yBAA0B,CAAC,EACrCD,EAAQ,qBAAuBC,EAAe,KAAK,OAAO,CACtD,SAAUA,EAAe,KAAK,OAAO,EACrC,OAAQA,EAAe,KAAK,OAAO,CACvC,EAAG,CAAE,IAAK,sBAAuB,CAAC,EAClCD,EAAQ,iBAAmBC,EAAe,KAAK,OAAO,CAClD,UAAWA,EAAe,KAAK,OAAO,EACtC,KAAMA,EAAe,KAAK,MAAMD,EAAQ,mBAAmB,EAC3D,SAAUC,EAAe,KAAK,MAAMD,EAAQ,uBAAuB,EACnE,MAAOC,EAAe,KAAK,MAAMD,EAAQ,oBAAoB,CACjE,EAAG,CAAE,IAAK,kBAAmB,CAAC,EAC9BA,EAAQ,gBAAkBC,EAAe,KAAK,OAAO,CACjD,QAASA,EAAe,KAAK,OAAO,EACpC,KAAMA,EAAe,KAAK,OAAO,EACjC,cAAeA,EAAe,KAAK,MAAMD,EAAQ,kBAAkB,CACvE,EAAG,CAAE,IAAK,iBAAkB,CAAC,EAC7BA,EAAQ,kBAAoBC,EAAe,KAAK,OAAO,CACnD,OAAQA,EAAe,KAAK,OAAO,EACnC,SAAUA,EAAe,KAAK,OAAO,EACrC,SAAUD,EAAQ,SAClB,KAAMC,EAAe,KAAK,OAAO,CACrC,EAAG,CAAE,IAAK,mBAAoB,CAAC,EAC/BD,EAAQ,kBAAoBC,EAAe,KAAK,OAAO,CACnD,OAAQA,EAAe,KAAK,OAAO,EACnC,SAAUA,EAAe,KAAK,OAAO,EACrC,aAAcD,EAAQ,SACtB,aAAcA,EAAQ,SACtB,SAAUC,EAAe,KAAK,QAAQ,CAC1C,EAAG,CAAE,IAAK,mBAAoB,CAAC,EAC/BD,EAAQ,oBAAsBC,EAAe,KAAK,OAAO,CACrD,OAAQA,EAAe,KAAK,OAAO,EACnC,SAAUA,EAAe,KAAK,OAAO,EACrC,aAAcD,EAAQ,SACtB,aAAcA,EAAQ,QAC1B,EAAG,CAAE,IAAK,qBAAsB,CAAC,EACjCA,EAAQ,gBAAkBC,EAAe,KAAK,OAAO,CACjD,MAAOA,EAAe,KAAK,OAAO,CACtC,EAAG,CAAE,IAAK,iBAAkB,CAAC,EAC7BD,EAAQ,gBAAkBC,EAAe,KAAK,OAAO,CACjD,MAAOA,EAAe,KAAK,OAAO,EAClC,SAAUA,EAAe,KAAK,OAAO,EACrC,SAAUD,EAAQ,QACtB,EAAG,CAAE,IAAK,iBAAkB,CAAC,EAC7BA,EAAQ,qBAAuBC,EAAe,KAAK,OAAO,CACtD,MAAOA,EAAe,KAAK,OAAO,EAClC,SAAUA,EAAe,KAAK,OAAO,EACrC,MAAOA,EAAe,KAAK,OAAO,CACtC,EAAG,CAAE,IAAK,sBAAuB,CAAC,EAClCD,EAAQ,iBAAmBC,EAAe,KAAK,OAAO,CAClD,QAASA,EAAe,KAAK,OAAO,EACpC,MAAOA,EAAe,KAAK,OAAO,CACtC,EAAG,CAAE,IAAK,kBAAmB,CAAC,EAC9BD,EAAQ,sBAAwBC,EAAe,KAAK,OAAO,CACvD,MAAOA,EAAe,KAAK,OAAO,EAClC,MAAOA,EAAe,KAAK,OAAO,EAClC,UAAWA,EAAe,KAAK,MAAMA,EAAe,KAAK,OAAO,CAAC,CACrE,EAAG,CAAE,IAAK,uBAAwB,CAAC,EACnCD,EAAQ,oBAAsBC,EAAe,KAAK,OAAO,CACrD,QAASA,EAAe,KAAK,OAAO,EACpC,WAAYA,EAAe,KAAK,OAAO,EACvC,OAAQA,EAAe,KAAK,OAAO,EACnC,KAAMD,EAAQ,gBAClB,EAAG,CAAE,IAAK,qBAAsB,CAAC,EACjCA,EAAQ,oBAAsBC,EAAe,KAAK,OAAO,CACrD,QAASA,EAAe,KAAK,OAAO,EACpC,WAAYA,EAAe,KAAK,OAAO,CAC3C,EAAG,CAAE,IAAK,qBAAsB,CAAC,EACjCD,EAAQ,kBAAoBC,EAAe,KAAK,OAAO,CACnD,QAASA,EAAe,KAAK,OAAO,EACpC,KAAMA,EAAe,KAAK,OAAO,EACjC,KAAMA,EAAe,KAAK,OAAO,EACjC,YAAaA,EAAe,KAAK,OAAO,CAC5C,EAAG,CAAE,IAAK,mBAAoB,CAAC,EAC/BD,EAAQ,oBAAsBC,EAAe,KAAK,OAAO,CACrD,QAASA,EAAe,KAAK,OAAO,EACpC,KAAMA,EAAe,KAAK,OAAO,EACjC,KAAMA,EAAe,KAAK,OAAO,CACrC,EAAG,CAAE,IAAK,qBAAsB,CAAC,EACjCD,EAAQ,oBAAsBC,EAAe,KAAK,OAAO,CACrD,QAASA,EAAe,KAAK,OAAO,EACpC,KAAMA,EAAe,KAAK,OAAO,EACjC,MAAOD,EAAQ,iBACf,OAAQA,EAAQ,gBACpB,EAAG,CAAE,IAAK,qBAAsB,CAAC,EACjCA,EAAQ,iBAAmBC,EAAe,KAAK,OAAO,CAClD,UAAWA,EAAe,KAAK,OAAO,EACtC,WAAYA,EAAe,KAAK,OAAO,CAC3C,EAAG,CAAE,IAAK,kBAAmB,CAAC,EAC9BD,EAAQ,eAAiBC,EAAe,KAAK,OAAO,CAChD,OAAQD,EAAQ,gBAChB,SAAUC,EAAe,KAAK,SAASD,EAAQ,iBAAiB,EAChE,SAAUC,EAAe,KAAK,SAASD,EAAQ,iBAAiB,EAChE,WAAYC,EAAe,KAAK,SAASD,EAAQ,mBAAmB,EACpE,OAAQC,EAAe,KAAK,SAASD,EAAQ,eAAe,EAC5D,QAASC,EAAe,KAAK,SAASD,EAAQ,eAAe,EAC7D,cAAeC,EAAe,KAAK,SAASD,EAAQ,oBAAoB,EACxE,SAAUC,EAAe,KAAK,SAASD,EAAQ,gBAAgB,EAC/D,cAAeC,EAAe,KAAK,SAASD,EAAQ,qBAAqB,EACzE,YAAaC,EAAe,KAAK,SAASD,EAAQ,mBAAmB,EACrE,YAAaC,EAAe,KAAK,SAASD,EAAQ,mBAAmB,EACrE,UAAWC,EAAe,KAAK,SAASD,EAAQ,iBAAiB,EACjE,YAAaC,EAAe,KAAK,SAASD,EAAQ,mBAAmB,EACrE,YAAaC,EAAe,KAAK,SAASD,EAAQ,mBAAmB,EACrE,QAASC,EAAe,KAAK,SAASD,EAAQ,gBAAgB,CAClE,EAAG,CAAE,IAAK,gBAAiB,CAAC,EAC5BA,EAAQ,YAAcC,EAAe,KAAK,OAAO,CAC7C,UAAWA,EAAe,KAAK,OAAO,CAC1C,EAAG,CAAE,IAAK,aAAc,CAAC,EACzB,IAAI4B,IACH,SAAUA,EAAwB,CAC/BA,EAAuBA,EAAuB,QAAa,CAAC,EAAI,UAChEA,EAAuBA,EAAuB,MAAW,CAAC,EAAI,OAClE,GAAGA,KAA2B7B,EAAQ,uBAAyB6B,GAAyB,CAAC,EAAE,EAC3F7B,EAAQ,2BAA6BC,EAAe,KAAK,KAAK4B,EAAsB,EACpF7B,EAAQ,oBAAsBC,EAAe,KAAK,OAAO,CACrD,SAAUA,EAAe,KAAK,OAAO,EACrC,OAAQA,EAAe,KAAK,OAAO,EACnC,OAAQA,EAAe,KAAK,OAAO,EACnC,KAAMA,EAAe,KAAK,OAAO,CACrC,EAAG,CAAE,IAAK,qBAAsB,CAAC,EACjCD,EAAQ,kBAAoBC,EAAe,KAAK,OAAO,CACnD,QAASA,EAAe,KAAK,OAAO,EACpC,SAAUA,EAAe,KAAK,OAAO,EACrC,OAAQA,EAAe,KAAK,OAAO,EACnC,SAAUA,EAAe,KAAK,OAAO,EACrC,KAAMA,EAAe,KAAK,OAAO,CACrC,EAAG,CAAE,IAAK,mBAAoB,CAAC,EAC/BD,EAAQ,oBAAsBC,EAAe,KAAK,OAAO,CACrD,gBAAiBA,EAAe,KAAK,SAASA,EAAe,KAAK,YAAY,CAAC,EAC/E,cAAeA,EAAe,KAAK,SAASA,EAAe,KAAK,YAAY,CAAC,CACjF,EAAG,CAAE,IAAK,qBAAsB,CAAC,EACjCD,EAAQ,sBAAwBC,EAAe,KAAK,OAAO,CACvD,UAAWA,EAAe,KAAK,MAAMA,EAAe,KAAK,OAAO,CAAC,EACjE,aAAcA,EAAe,KAAK,OAAO,EACzC,mBAAoBA,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,EAC9E,YAAaA,EAAe,KAAK,SAASD,EAAQ,mBAAmB,CACzE,EAAG,CAAE,IAAK,uBAAwB,CAAC,EACnCA,EAAQ,+BAAiCC,EAAe,KAAK,OAAO,CAChE,KAAMA,EAAe,KAAK,OAAO,CACrC,EAAG,CAAE,IAAK,gCAAiC,CAAC,EAC5C,IAAI6B,IACH,SAAUA,EAAkB,CACzBA,EAAiBA,EAAiB,KAAU,CAAC,EAAI,OACjDA,EAAiBA,EAAiB,IAAS,CAAC,EAAI,MAChDA,EAAiBA,EAAiB,MAAW,CAAC,EAAI,QAClDA,EAAiBA,EAAiB,OAAY,CAAC,EAAI,SACnDA,EAAiBA,EAAiB,KAAU,CAAC,EAAI,OACjDA,EAAiBA,EAAiB,QAAa,CAAC,EAAI,UACpDA,EAAiBA,EAAiB,MAAW,CAAC,EAAI,QAClDA,EAAiBA,EAAiB,OAAY,CAAC,EAAI,QACvD,GAAGA,KAAqB9B,EAAQ,iBAAmB8B,GAAmB,CAAC,EAAE,EACzE9B,EAAQ,qBAAuBC,EAAe,KAAK,KAAK6B,EAAgB,EACxE9B,EAAQ,kBAAoBC,EAAe,KAAK,UAAUsB,GAAQtB,EAAe,KAAK,OAAO,CACzF,UAAWD,EAAQ,qBACnB,KAAMC,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EAC/D,WAAYA,EAAe,KAAK,SAASsB,CAAI,EAC7C,YAAatB,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,CAC1E,CAAC,EAAG,CAAE,IAAK,mBAAoB,CAAC,EAChCD,EAAQ,qBAAuBC,EAAe,KAAK,OAAO,CACtD,KAAMD,EAAQ,kBACd,KAAMC,EAAe,KAAK,OAAO,CACrC,EAAG,CAAE,IAAK,sBAAuB,CAAC,EAClCD,EAAQ,2BAA6BC,EAAe,KAAK,OAAO,CAC5D,QAASA,EAAe,KAAK,MAAMD,EAAQ,oBAAoB,CACnE,EAAG,CAAE,IAAK,4BAA6B,CAAC,EACxCA,EAAQ,8BAAgCC,EAAe,KAAK,OAAO,CAC/D,YAAaA,EAAe,KAAK,MAAMA,EAAe,KAAK,OAAO,CAAC,CACvE,EAAG,CAAE,IAAK,+BAAgC,CAAC,EAC3CD,EAAQ,0BAA4BC,EAAe,KAAK,OAAO,CAC3D,MAAOA,EAAe,KAAK,OAAO,CACtC,EAAG,CAAE,IAAK,2BAA4B,CAAC,EACvCD,EAAQ,qBAAuBC,EAAe,KAAK,OAAO,CACtD,UAAWA,EAAe,KAAK,MAAMA,EAAe,KAAK,OAAO,CAAC,EACjE,aAAcA,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,CAC5E,EAAG,CAAE,IAAK,sBAAuB,CAAC,EAClCD,EAAQ,kBAAoBC,EAAe,KAAK,OAAO,CACnD,KAAMD,EAAQ,WACd,KAAMC,EAAe,KAAK,OAAO,CACrC,EAAG,CAAE,IAAK,mBAAoB,CAAC,EAC/BD,EAAQ,mBAAqBC,EAAe,KAAK,OAAO,CACpD,UAAWA,EAAe,KAAK,MAAMA,EAAe,KAAK,OAAO,CAAC,EACjE,aAAcA,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,EACxE,gBAAiBA,EAAe,KAAK,SAASA,EAAe,KAAK,YAAY,CAAC,EAC/E,SAAUA,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,CACxE,EAAG,CAAE,IAAK,oBAAqB,CAAC,EAChCD,EAAQ,gBAAkBC,EAAe,KAAK,OAAO,CACjD,aAAcA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACvE,QAASA,EAAe,KAAK,OAAO,CACxC,EAAG,CAAE,IAAK,iBAAkB,CAAC,EAC7BD,EAAQ,eAAiBC,EAAe,KAAK,OAAO,CAChD,UAAWA,EAAe,KAAK,MAAMA,EAAe,KAAK,OAAO,CAAC,EACjE,MAAOA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EAChE,UAAWA,EAAe,KAAK,OAAO,EACtC,UAAWA,EAAe,KAAK,OAAO,EACtC,GAAIA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EAC7D,MAAOA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EAChE,mBAAoBA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EAC7E,YAAaA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACtE,SAAUA,EAAe,KAAK,OAAO,EACrC,QAASA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EAClE,YAAaA,EAAe,KAAK,SAASD,EAAQ,mBAAmB,EACrE,SAAUC,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,CACxE,EAAG,CAAE,IAAK,gBAAiB,CAAC,EAC5BD,EAAQ,mBAAqBC,EAAe,KAAK,OAAO,CACpD,QAASA,EAAe,KAAK,OAAO,EACpC,aAAcA,EAAe,KAAK,MAAMA,EAAe,KAAK,OAAO,CAAC,CACxE,EAAG,CAAE,IAAK,oBAAqB,CAAC,EAChCD,EAAQ,sBAAwBC,EAAe,KAAK,OAAO,CACvD,UAAWA,EAAe,KAAK,MAAMA,EAAe,KAAK,OAAO,CAAC,EACjE,MAAOA,EAAe,KAAK,OAAO,EAClC,YAAaA,EAAe,KAAK,OAAO,EACxC,iBAAkBA,EAAe,KAAK,OAAO,EAC7C,UAAWA,EAAe,KAAK,OAAO,EACtC,GAAIA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EAC7D,MAAOA,EAAe,KAAK,OAAO,EAClC,mBAAoBA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EAC7E,YAAaA,EAAe,KAAK,OAAO,EACxC,SAAUA,EAAe,KAAK,OAAO,EACrC,YAAaA,EAAe,KAAK,MAAMD,EAAQ,kBAAkB,EACjE,YAAaC,EAAe,KAAK,SAASD,EAAQ,mBAAmB,EACrE,SAAUC,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,CACxE,EAAG,CAAE,IAAK,uBAAwB,CAAC,EACnCD,EAAQ,kBAAoBC,EAAe,KAAK,OAAO,CACnD,YAAaA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACtE,YAAaA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACtE,YAAaA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACtE,YAAaA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,CAC1E,EAAG,CAAE,IAAK,mBAAoB,CAAC,EAC/BD,EAAQ,cAAgBC,EAAe,KAAK,OAAO,CAC/C,WAAYA,EAAe,KAAK,OAAO,CAC3C,EAAG,CAAE,IAAK,eAAgB,CAAC,EAC3BD,EAAQ,oBAAsBC,EAAe,KAAK,OAAO,CACrD,UAAWA,EAAe,KAAK,MAAMA,EAAe,KAAK,OAAO,CAAC,EACjE,QAASA,EAAe,KAAK,OAAO,EACpC,gBAAiBA,EAAe,KAAK,SAASA,EAAe,KAAK,YAAY,CAAC,EAC/E,SAAUA,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,CACxE,EAAG,CAAE,IAAK,qBAAsB,CAAC,EACjCD,EAAQ,yBAA2BC,EAAe,KAAK,OAAO,CAC1D,UAAWA,EAAe,KAAK,OAAO,EACtC,QAASA,EAAe,KAAK,OAAO,CACxC,EAAG,CAAE,IAAK,0BAA2B,CAAC,EACtCD,EAAQ,sBAAwBC,EAAe,KAAK,OAAO,CACvD,UAAWA,EAAe,KAAK,OAAO,EACtC,QAASA,EAAe,KAAK,OAAO,EACpC,QAASA,EAAe,KAAK,OAAO,EACpC,SAAUA,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,CACxE,EAAG,CAAE,IAAK,uBAAwB,CAAC,EACnCD,EAAQ,sBAAwBC,EAAe,KAAK,OAAO,CACvD,UAAWA,EAAe,KAAK,MAAMA,EAAe,KAAK,OAAO,CAAC,EACjE,sBAAuBA,EAAe,KAAK,OAAO,EAClD,aAAcA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACvE,gBAAiBA,EAAe,KAAK,SAASA,EAAe,KAAK,YAAY,CAAC,CACnF,EAAG,CAAE,IAAK,uBAAwB,CAAC,EACnCD,EAAQ,2BAA6BC,EAAe,KAAK,OAAO,CAC5D,UAAWA,EAAe,KAAK,OAAO,EACtC,QAASA,EAAe,KAAK,OAAO,CACxC,EAAG,CAAE,IAAK,4BAA6B,CAAC,EACxC,IAAI8B,IACH,SAAUA,EAAiB,CACxBA,EAAgBA,EAAgB,MAAW,CAAC,EAAI,QAChDA,EAAgBA,EAAgB,aAAkB,CAAC,EAAI,eACvDA,EAAgBA,EAAgB,gBAAqB,CAAC,EAAI,iBAC9D,GAAGA,KAAoB/B,EAAQ,gBAAkB+B,GAAkB,CAAC,EAAE,EACtE/B,EAAQ,oBAAsBC,EAAe,KAAK,KAAK8B,EAAe,EACtE/B,EAAQ,WAAaC,EAAe,KAAK,UAAU8B,GAAiB,CAAE,IAAK,YAAa,CAAC,EACzF,IAAIC,IACH,SAAUA,EAAuB,CAC9BA,EAAsBA,EAAsB,OAAY,CAAC,EAAI,SAC7DA,EAAsBA,EAAsB,aAAkB,CAAC,EAAI,eACnEA,EAAsBA,EAAsB,kBAAuB,CAAC,EAAI,mBAC5E,GAAGA,KAA0BhC,EAAQ,sBAAwBgC,GAAwB,CAAC,EAAE,EACxFhC,EAAQ,0BAA4BC,EAAe,KAAK,KAAK+B,EAAqB,EAClFhC,EAAQ,iBAAmBC,EAAe,KAAK,UAAU+B,GAAuB,CAAE,IAAK,kBAAmB,CAAC,EAC3G,IAAIC,IACH,SAAUA,EAAuB,CAC9BA,EAAsBA,EAAsB,KAAU,CAAC,EAAI,OAC3DA,EAAsBA,EAAsB,KAAU,CAAC,EAAI,OAC3DA,EAAsBA,EAAsB,KAAU,CAAC,EAAI,MAC/D,GAAGA,KAA0BjC,EAAQ,sBAAwBiC,GAAwB,CAAC,EAAE,EACxFjC,EAAQ,0BAA4BC,EAAe,KAAK,KAAKgC,EAAqB,EAClFjC,EAAQ,iBAAmBC,EAAe,KAAK,UAAUgC,GAAuB,CAAE,IAAK,kBAAmB,CAAC,EAC3GjC,EAAQ,WAAaC,EAAe,KAAK,OAAO,CAC5C,WAAYA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACrE,iBAAkBA,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,EAC5E,eAAgBA,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,CAC9E,EAAG,CAAE,IAAK,YAAa,CAAC,EACxBD,EAAQ,YAAcC,EAAe,KAAK,OAAO,CAAC,EAAG,CAAE,IAAK,aAAc,CAAC,EAC3E,IAAIiC,IACH,SAAUA,EAAiB,CACxBA,EAAgBA,EAAgB,mBAAwB,CAAC,EAAI,qBAC7DA,EAAgBA,EAAgB,wBAA6B,CAAC,EAAI,0BAClEA,EAAgBA,EAAgB,mBAAwB,CAAC,EAAI,qBAC7DA,EAAgBA,EAAgB,mBAAwB,CAAC,EAAI,qBAC7DA,EAAgBA,EAAgB,kBAAuB,CAAC,EAAI,oBAC5DA,EAAgBA,EAAgB,eAAoB,CAAC,EAAI,iBACzDA,EAAgBA,EAAgB,oBAAyB,CAAC,EAAI,sBAC9DA,EAAgBA,EAAgB,gBAAqB,CAAC,EAAI,kBAC1DA,EAAgBA,EAAgB,kBAAuB,CAAC,EAAI,oBAC5DA,EAAgBA,EAAgB,eAAoB,EAAE,EAAI,iBAC1DA,EAAgBA,EAAgB,kBAAuB,EAAE,EAAI,oBAC7DA,EAAgBA,EAAgB,mBAAwB,EAAE,EAAI,qBAC9DA,EAAgBA,EAAgB,iBAAsB,EAAE,EAAI,mBAC5DA,EAAgBA,EAAgB,eAAoB,EAAE,EAAI,iBAC1DA,EAAgBA,EAAgB,kBAAuB,EAAE,EAAI,oBAC7DA,EAAgBA,EAAgB,wBAA6B,EAAE,EAAI,0BACnEA,EAAgBA,EAAgB,2BAAgC,EAAE,EAAI,6BACtEA,EAAgBA,EAAgB,kBAAuB,EAAE,EAAI,oBAC7DA,EAAgBA,EAAgB,wBAA6B,EAAE,EAAI,yBACvE,GAAGA,KAAoBlC,EAAQ,gBAAkBkC,GAAkB,CAAC,EAAE,EACtElC,EAAQ,oBAAsBC,EAAe,KAAK,KAAKiC,EAAe,EACtElC,EAAQ,WAAaC,EAAe,KAAK,UAAUiC,GAAiB,CAAE,IAAK,YAAa,CAAC,EACzFlC,EAAQ,SAAWC,EAAe,KAAK,OAAO,CAC1C,OAAQA,EAAe,KAAK,OAAO,EACnC,cAAeA,EAAe,KAAK,OAAO,EAC1C,cAAeA,EAAe,KAAK,OAAO,EAC1C,cAAeA,EAAe,KAAK,OAAO,EAC1C,gBAAiBA,EAAe,KAAK,MAAM,CAACA,EAAe,KAAK,QAAQ,EAAGA,EAAe,KAAK,KAAK,CAAC,CAAC,EACtG,UAAWA,EAAe,KAAK,MAAM,CAACA,EAAe,KAAK,OAAO,EAAGA,EAAe,KAAK,KAAK,CAAC,CAAC,EAC/F,eAAgBA,EAAe,KAAK,MAAM,CAACA,EAAe,KAAK,QAAQ,EAAGA,EAAe,KAAK,KAAK,CAAC,CAAC,EACrG,sBAAuBA,EAAe,KAAK,MAAM,CAACA,EAAe,KAAK,QAAQ,EAAGA,EAAe,KAAK,KAAK,CAAC,CAAC,EAC5G,SAAUA,EAAe,KAAK,MAAM,CAACA,EAAe,KAAK,OAAO,EAAGA,EAAe,KAAK,KAAK,CAAC,CAAC,EAC9F,MAAOA,EAAe,KAAK,MAAM,CAACA,EAAe,KAAK,OAAO,EAAGA,EAAe,KAAK,KAAK,CAAC,CAAC,EAC3F,YAAaA,EAAe,KAAK,MAAM,CAACA,EAAe,KAAK,QAAQ,EAAGA,EAAe,KAAK,KAAK,CAAC,CAAC,EAClG,SAAUA,EAAe,KAAK,MAAM,CAACA,EAAe,KAAK,OAAO,EAAGA,EAAe,KAAK,KAAK,CAAC,CAAC,EAC9F,gBAAiBA,EAAe,KAAK,MAAM,CAACA,EAAe,KAAK,OAAO,EAAGA,EAAe,KAAK,KAAK,CAAC,CAAC,EACrG,SAAUA,EAAe,KAAK,MAAM,CAACA,EAAe,KAAK,QAAQ,EAAGA,EAAe,KAAK,KAAK,CAAC,CAAC,EAC/F,SAAUA,EAAe,KAAK,MAAM,CAACA,EAAe,KAAK,QAAQ,EAAGA,EAAe,KAAK,KAAK,CAAC,CAAC,EAC/F,mBAAoBA,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,EAC9E,iBAAkBA,EAAe,KAAK,MAAM,CAACA,EAAe,KAAK,QAAQ,EAAGA,EAAe,KAAK,KAAK,CAAC,CAAC,EACvG,aAAcA,EAAe,KAAK,MAAM,CAACA,EAAe,KAAK,QAAQ,EAAGA,EAAe,KAAK,KAAK,CAAC,CAAC,EACnG,MAAOA,EAAe,KAAK,MAAM,CAACA,EAAe,KAAK,OAAO,EAAGA,EAAe,KAAK,KAAK,CAAC,CAAC,EAC3F,MAAOA,EAAe,KAAK,OAAO,EAClC,SAAUA,EAAe,KAAK,MAAM,CAACA,EAAe,KAAK,OAAO,EAAGA,EAAe,KAAK,KAAK,CAAC,CAAC,EAC9F,SAAUA,EAAe,KAAK,MAAM,CAACA,EAAe,KAAK,OAAO,EAAGA,EAAe,KAAK,KAAK,CAAC,CAAC,EAC9F,SAAUA,EAAe,KAAK,MAAM,CAACA,EAAe,KAAK,OAAO,EAAGA,EAAe,KAAK,KAAK,CAAC,CAAC,EAC9F,UAAWA,EAAe,KAAK,MAAM,CAACA,EAAe,KAAK,OAAO,EAAGA,EAAe,KAAK,KAAK,CAAC,CAAC,EAC/F,kBAAmBA,EAAe,KAAK,MAAM,CAACA,EAAe,KAAK,QAAQ,EAAGA,EAAe,KAAK,KAAK,CAAC,CAAC,EACxG,UAAWA,EAAe,KAAK,MAAM,CAACA,EAAe,KAAK,QAAQ,EAAGA,EAAe,KAAK,KAAK,CAAC,CAAC,EAChG,cAAeA,EAAe,KAAK,MAAM,CAACA,EAAe,KAAK,QAAQ,EAAGA,EAAe,KAAK,KAAK,CAAC,CAAC,EACpG,aAAcA,EAAe,KAAK,MAAMD,EAAQ,UAAU,EAC1D,YAAaC,EAAe,KAAK,MAAM,CAACD,EAAQ,WAAYC,EAAe,KAAK,KAAK,CAAC,CAAC,EACvF,gBAAiBA,EAAe,KAAK,MAAM,CAACA,EAAe,KAAK,QAAQ,EAAGA,EAAe,KAAK,KAAK,CAAC,CAAC,EACtG,cAAeA,EAAe,KAAK,MAAM,CAACA,EAAe,KAAK,QAAQ,EAAGA,EAAe,KAAK,KAAK,CAAC,CAAC,EACpG,qBAAsBA,EAAe,KAAK,MAAM,CAACA,EAAe,KAAK,QAAQ,EAAGA,EAAe,KAAK,KAAK,CAAC,CAAC,EAC3G,WAAYA,EAAe,KAAK,MAAM,CAACA,EAAe,KAAK,OAAO,EAAGA,EAAe,KAAK,KAAK,CAAC,CAAC,EAChG,4BAA6BA,EAAe,KAAK,MAAM,CAACA,EAAe,KAAK,QAAQ,EAAGA,EAAe,KAAK,KAAK,CAAC,CAAC,EAClH,cAAeA,EAAe,KAAK,MAAM,CAACD,EAAQ,iBAAkBC,EAAe,KAAK,KAAK,CAAC,CAAC,EAC/F,mBAAoBA,EAAe,KAAK,MAAM,CAACA,EAAe,KAAK,OAAO,EAAGA,EAAe,KAAK,KAAK,CAAC,CAAC,EACxG,iBAAkBA,EAAe,KAAK,MAAM,CAACA,EAAe,KAAK,OAAO,EAAGA,EAAe,KAAK,KAAK,CAAC,CAAC,EACtG,sBAAuBA,EAAe,KAAK,MAAM,CAACA,EAAe,KAAK,QAAQ,EAAGA,EAAe,KAAK,KAAK,CAAC,CAAC,EAC5G,KAAMA,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,EAChE,kBAAmBA,EAAe,KAAK,SAASD,EAAQ,gBAAgB,EACxE,0BAA2BC,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,EACrF,eAAgBD,EAAQ,wBACxB,WAAYC,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACrE,aAAcA,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,EACxE,iBAAkBA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EAC3E,kBAAmBA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EAC5E,kBAAmBA,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,EAC7E,yBAA0BA,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,EACpF,eAAgBA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,CAC7E,EAAG,CAAE,IAAK,UAAW,CAAC,EACtBD,EAAQ,WAAaC,EAAe,KAAK,OAAO,CAAC,EAAG,CAAE,IAAK,YAAa,CAAC,EACzED,EAAQ,QAAUC,EAAe,KAAK,OAAO,CACzC,UAAWA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,CACxE,EAAG,CAAE,IAAK,SAAU,CAAC,EACrBD,EAAQ,WAAaC,EAAe,KAAK,OAAO,CAAC,EAAG,CAAE,IAAK,YAAa,CAAC,EACzED,EAAQ,cAAgBC,EAAe,KAAK,OAAO,CAC/C,SAAUA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACnE,MAAOA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EAChE,eAAgBA,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,EAC1E,WAAYA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACrE,mBAAoBA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EAC7E,mBAAoBA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EAC7E,iBAAkBA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EAC3E,4BAA6BA,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,EACvF,cAAeA,EAAe,KAAK,SAASD,EAAQ,gBAAgB,EACpE,sBAAuBC,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,EACjF,0BAA2BA,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,CACzF,EAAG,CAAE,IAAK,eAAgB,CAAC,EAC3BD,EAAQ,eAAiBC,EAAe,KAAK,OAAO,CAChD,YAAaA,EAAe,KAAK,OAAO,EACxC,aAAcA,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,CAC5E,EAAG,CAAE,IAAK,gBAAiB,CAAC,EAC5BD,EAAQ,uBAAyBC,EAAe,KAAK,OAAO,CACxD,YAAaA,EAAe,KAAK,OAAO,EACxC,YAAaA,EAAe,KAAK,OAAO,CAC5C,EAAG,CAAE,IAAK,wBAAyB,CAAC,EACpCD,EAAQ,mBAAqBC,EAAe,KAAK,OAAO,CACpD,WAAYA,EAAe,KAAK,OAAO,CAC3C,EAAG,CAAE,IAAK,oBAAqB,CAAC,EAChCD,EAAQ,WAAaC,EAAe,KAAK,OAAO,CAC5C,MAAOA,EAAe,KAAK,OAAO,CACtC,EAAG,CAAE,IAAK,YAAa,CAAC,EACxBD,EAAQ,UAAYC,EAAe,KAAK,OAAO,CAC3C,OAAQA,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,CACtE,EAAG,CAAE,IAAK,WAAY,CAAC,EACvBD,EAAQ,eAAiBC,EAAe,KAAK,OAAO,CAChD,OAAQA,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,CACtE,EAAG,CAAE,IAAK,gBAAiB,CAAC,EAC5B,IAAIkC,IACH,SAAUA,EAAwB,CAC/BA,EAAuBA,EAAuB,QAAa,CAAC,EAAI,UAChEA,EAAuBA,EAAuB,OAAY,CAAC,EAAI,SAC/DA,EAAuBA,EAAuB,QAAa,CAAC,EAAI,SACpE,GAAGA,KAA2BnC,EAAQ,uBAAyBmC,GAAyB,CAAC,EAAE,EAC3FnC,EAAQ,2BAA6BC,EAAe,KAAK,KAAKkC,EAAsB,EACpFnC,EAAQ,UAAYC,EAAe,KAAK,OAAO,CAC3C,UAAWD,EAAQ,0BACvB,EAAG,CAAE,IAAK,WAAY,CAAC,EACvBA,EAAQ,KAAOC,EAAe,KAAK,OAAO,CACtC,QAASA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EAClE,kBAAmBA,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,CACjF,EAAG,CAAE,IAAK,MAAO,CAAC,EAClBD,EAAQ,OAASC,EAAe,KAAK,OAAO,CAAC,EAAG,CAAE,IAAK,QAAS,CAAC,EACjED,EAAQ,WAAaC,EAAe,KAAK,OAAO,CAC5C,KAAMA,EAAe,KAAK,OAAO,CACrC,EAAG,CAAE,IAAK,YAAa,CAAC,EACxBD,EAAQ,QAAUC,EAAe,KAAK,OAAO,CACzC,QAASA,EAAe,KAAK,OAAO,CACxC,EAAG,CAAE,IAAK,SAAU,CAAC,EACrBD,EAAQ,gBAAkBC,EAAe,KAAK,OAAO,CACjD,UAAWA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,CACxE,EAAG,CAAE,IAAK,iBAAkB,CAAC,EAC7BD,EAAQ,aAAeC,EAAe,KAAK,OAAO,CAC9C,KAAMA,EAAe,KAAK,OAAO,CACrC,EAAG,CAAE,IAAK,cAAe,CAAC,EAC1BD,EAAQ,mBAAqBC,EAAe,KAAK,OAAO,CACpD,UAAWA,EAAe,KAAK,OAAO,CAC1C,EAAG,CAAE,IAAK,oBAAqB,CAAC,EAChCD,EAAQ,kBAAoBC,EAAe,KAAK,OAAO,CACnD,aAAcA,EAAe,KAAK,MAAMA,EAAe,KAAK,OAAO,CAAC,EACpE,UAAWA,EAAe,KAAK,OAAO,CAC1C,EAAG,CAAE,IAAK,mBAAoB,CAAC,EAC/BD,EAAQ,WAAaC,EAAe,KAAK,OAAO,CAAC,EAAG,CAAE,IAAK,YAAa,CAAC,EACzED,EAAQ,YAAcC,EAAe,KAAK,OAAO,CAC7C,eAAgBA,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,EAC1E,SAAUA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACnE,sBAAuBA,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,EACjF,eAAgBA,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,EAC1E,SAAUA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACnE,MAAOA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EAChE,YAAaA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACtE,YAAaA,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,EACvE,UAAWA,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,EACrE,YAAaA,EAAe,KAAK,SAASD,EAAQ,mBAAmB,CACzE,EAAG,CAAE,IAAK,aAAc,CAAC,EACzBA,EAAQ,YAAcC,EAAe,KAAK,OAAO,CAC7C,iBAAkBA,EAAe,KAAK,OAAO,EAC7C,aAAcA,EAAe,KAAK,OAAO,CAC7C,EAAG,CAAE,IAAK,aAAc,CAAC,EACzBD,EAAQ,aAAeC,EAAe,KAAK,OAAO,CAC9C,gBAAiBA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EAC1E,OAAQA,EAAe,KAAK,SAASA,EAAe,KAAK,MAAMD,EAAQ,WAAW,CAAC,CACvF,EAAG,CAAE,IAAK,cAAe,CAAC,EAC1BA,EAAQ,eAAiBC,EAAe,KAAK,OAAO,CAAC,EAAG,CAAE,IAAK,gBAAiB,CAAC,EACjFD,EAAQ,WAAaC,EAAe,KAAK,OAAO,CAC5C,QAASA,EAAe,KAAK,OAAO,CACxC,EAAG,CAAE,IAAK,YAAa,CAAC,EACxB,IAAImC,IACH,SAAUA,EAAoB,CAC3BA,EAAmBA,EAAmB,kCAAuC,CAAC,EAAI,oCAClFA,EAAmBA,EAAmB,0BAA+B,CAAC,EAAI,2BAC9E,GAAGA,KAAuBpC,EAAQ,mBAAqBoC,GAAqB,CAAC,EAAE,EAC/EpC,EAAQ,uBAAyBC,EAAe,KAAK,KAAKmC,EAAkB,EAC5EpC,EAAQ,eAAiBC,EAAe,KAAK,OAAO,CAChD,WAAYA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACrE,sBAAuBA,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,EACjF,eAAgBA,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,EAC1E,SAAUA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACnE,MAAOA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EAChE,iBAAkBA,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,EAC5E,KAAMA,EAAe,KAAK,SAASD,EAAQ,sBAAsB,EACjE,YAAaC,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACtE,QAASA,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,CACvE,EAAG,CAAE,IAAK,gBAAiB,CAAC,EAC5B,IAAIoC,IACH,SAAUA,EAAsB,CAC7BA,EAAqBA,EAAqB,sBAA2B,CAAC,EAAI,wBAC1EA,EAAqBA,EAAqB,wBAA6B,CAAC,EAAI,0BAC5EA,EAAqBA,EAAqB,wBAA6B,CAAC,EAAI,yBAChF,GAAGA,KAAyBrC,EAAQ,qBAAuBqC,GAAuB,CAAC,EAAE,EACrFrC,EAAQ,yBAA2BC,EAAe,KAAK,KAAKoC,EAAoB,EAChFrC,EAAQ,gBAAkBC,EAAe,KAAK,UAAUoC,GAAsB,CAAE,IAAK,iBAAkB,CAAC,EACxGrC,EAAQ,YAAcC,EAAe,KAAK,OAAO,CAC7C,KAAMD,EAAQ,eAClB,EAAG,CAAE,IAAK,aAAc,CAAC,EACzBA,EAAQ,QAAUC,EAAe,KAAK,OAAO,CACzC,KAAMA,EAAe,KAAK,OAAO,CACrC,EAAG,CAAE,IAAK,SAAU,CAAC,EACrBD,EAAQ,cAAgBC,EAAe,KAAK,OAAO,CAC/C,YAAaA,EAAe,KAAK,OAAO,CAC5C,EAAG,CAAE,IAAK,eAAgB,CAAC,EAC3BD,EAAQ,kBAAoBC,EAAe,KAAK,OAAO,CAAC,EAAG,CAAE,IAAK,mBAAoB,CAAC,EACvFD,EAAQ,eAAiBC,EAAe,KAAK,OAAO,CAChD,YAAaA,EAAe,KAAK,OAAO,CAC5C,EAAG,CAAE,IAAK,gBAAiB,CAAC,EAC5BD,EAAQ,gBAAkBC,EAAe,KAAK,OAAO,CAAC,EAAG,CAAE,IAAK,iBAAkB,CAAC,EACnFD,EAAQ,qBAAuBC,EAAe,KAAK,OAAO,CAAC,EAAG,CAAE,IAAK,sBAAuB,CAAC,EAC7FD,EAAQ,oBAAsBC,EAAe,KAAK,OAAO,CAAC,EAAG,CAAE,IAAK,qBAAsB,CAAC,EAC3F,IAAIqC,IACH,SAAUA,EAAa,CACpBA,EAAYA,EAAY,cAAmB,CAAC,EAAI,gBAChDA,EAAYA,EAAY,gBAAqB,CAAC,EAAI,iBACtD,GAAGA,KAAgBtC,EAAQ,YAAcsC,GAAc,CAAC,EAAE,EAC1DtC,EAAQ,gBAAkBC,EAAe,KAAK,KAAKqC,EAAW,EAC9DtC,EAAQ,mBAAqBC,EAAe,KAAK,OAAO,CACpD,aAAcA,EAAe,KAAK,SAASD,EAAQ,eAAe,EAClE,gBAAiBC,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EAC1E,qBAAsBA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,CACnF,EAAG,CAAE,IAAK,oBAAqB,CAAC,EAChCD,EAAQ,SAAWC,EAAe,KAAK,OAAO,CAAC,EAAG,CAAE,IAAK,UAAW,CAAC,EACrED,EAAQ,MAAQC,EAAe,KAAK,OAAO,CACvC,MAAOA,EAAe,KAAK,OAAO,CACtC,EAAG,CAAE,IAAK,OAAQ,CAAC,EACnBD,EAAQ,WAAaC,EAAe,KAAK,OAAO,CAC5C,UAAWA,EAAe,KAAK,MAAMA,EAAe,KAAK,OAAO,CAAC,EACjE,IAAKA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,CAClE,EAAG,CAAE,IAAK,YAAa,CAAC,EACxBD,EAAQ,oBAAsBC,EAAe,KAAK,OAAO,CACrD,IAAKA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,CAClE,EAAG,CAAE,IAAK,qBAAsB,CAAC,EACjCD,EAAQ,mBAAqBC,EAAe,KAAK,OAAO,CAAC,EAAG,CAAE,IAAK,oBAAqB,CAAC,EACzFD,EAAQ,iBAAmBC,EAAe,KAAK,OAAO,CAAC,EAAG,CAAE,IAAK,kBAAmB,CAAC,EACrF,IAAIsC,IACH,SAAUA,EAAmB,CAC1BA,EAAkBA,EAAkB,QAAa,CAAC,EAAI,UACtDA,EAAkBA,EAAkB,QAAa,CAAC,EAAI,UACtDA,EAAkBA,EAAkB,SAAc,CAAC,EAAI,WACvDA,EAAkBA,EAAkB,UAAe,CAAC,EAAI,WAC5D,GAAGA,KAAsBvC,EAAQ,kBAAoBuC,GAAoB,CAAC,EAAE,EAC5EvC,EAAQ,sBAAwBC,EAAe,KAAK,KAAKsC,EAAiB,EAC1EvC,EAAQ,cAAgBC,EAAe,KAAK,OAAO,CAC/C,UAAWA,EAAe,KAAK,MAAMA,EAAe,KAAK,OAAO,CAAC,EACjE,QAASA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EAClE,aAAcA,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,EACxE,SAAUA,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,CACxE,EAAG,CAAE,IAAK,eAAgB,CAAC,EAC3BD,EAAQ,WAAaC,EAAe,KAAK,OAAO,CAC5C,QAASA,EAAe,KAAK,OAAO,CACxC,EAAG,CAAE,IAAK,YAAa,CAAC,EACxBD,EAAQ,qBAAuBC,EAAe,KAAK,OAAO,CACtD,UAAWA,EAAe,KAAK,SAASA,EAAe,KAAK,MAAMA,EAAe,KAAK,OAAO,CAAC,CAAC,EAC/F,QAASA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EAClE,UAAWA,EAAe,KAAK,OAAO,EACtC,IAAKA,EAAe,KAAK,KAAK,EAC9B,SAAUA,EAAe,KAAK,OAAO,EACrC,OAAQA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,CACrE,EAAG,CAAE,IAAK,sBAAuB,CAAC,EAClCD,EAAQ,UAAYC,EAAe,KAAK,OAAO,CAC3C,UAAWA,EAAe,KAAK,OAAO,EACtC,OAAQA,EAAe,KAAK,OAAO,EACnC,SAAUA,EAAe,KAAK,OAAO,CACzC,EAAG,CAAE,IAAK,WAAY,CAAC,EACvBD,EAAQ,YAAcC,EAAe,KAAK,OAAO,CAC7C,UAAWA,EAAe,KAAK,OAAO,EACtC,OAAQA,EAAe,KAAK,KAAK,EACjC,QAASA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EAClE,WAAYA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACrE,QAASA,EAAe,KAAK,SAASA,EAAe,KAAK,MAAMD,EAAQ,SAAS,CAAC,CACtF,EAAG,CAAE,IAAK,aAAc,CAAC,EACzBA,EAAQ,sBAAwBC,EAAe,KAAK,OAAO,CACvD,UAAWA,EAAe,KAAK,OAAO,EACtC,OAAQA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACjE,KAAMA,EAAe,KAAK,OAAO,EACjC,IAAKA,EAAe,KAAK,KAAK,CAClC,EAAG,CAAE,IAAK,uBAAwB,CAAC,EACnC,IAAIuC,IACH,SAAUA,EAAe,CACtBA,EAAcA,EAAc,oBAAyB,CAAC,EAAI,sBAC1DA,EAAcA,EAAc,sBAA2B,CAAC,EAAI,uBAChE,GAAGA,KAAkBxC,EAAQ,cAAgBwC,GAAgB,CAAC,EAAE,EAChExC,EAAQ,kBAAoBC,EAAe,KAAK,KAAKuC,EAAa,EAClExC,EAAQ,oBAAsBC,EAAe,KAAK,OAAO,CACrD,KAAMA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EAC/D,OAAQA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACjE,UAAWA,EAAe,KAAK,OAAO,EACtC,OAAQA,EAAe,KAAK,OAAO,EACnC,aAAcA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACvE,KAAMA,EAAe,KAAK,SAASD,EAAQ,iBAAiB,EAC5D,IAAKC,EAAe,KAAK,SAASA,EAAe,KAAK,KAAK,CAAC,EAC5D,aAAcA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACvE,eAAgBA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACzE,YAAaA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACtE,OAAQA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACjE,eAAgBA,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,EAC1E,aAAcA,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,EACxE,YAAaA,EAAe,KAAK,OAAO,EACxC,SAAUA,EAAe,KAAK,SAASA,EAAe,KAAK,MAAMA,EAAe,KAAK,OAAO,CAAC,CAAC,CAClG,EAAG,CAAE,IAAK,qBAAsB,CAAC,EACjCD,EAAQ,kBAAoBC,EAAe,KAAK,OAAO,CACnD,WAAYD,EAAQ,oBACpB,KAAMC,EAAe,KAAK,OAAO,EACjC,IAAKA,EAAe,KAAK,KAAK,CAClC,EAAG,CAAE,IAAK,mBAAoB,CAAC,EAC/B,IAAIwC,IACH,SAAUA,EAAqB,CAC5BA,EAAoBA,EAAoB,sBAA2B,CAAC,EAAI,wBACxEA,EAAoBA,EAAoB,sBAA2B,CAAC,EAAI,uBAC5E,GAAGA,KAAwBzC,EAAQ,oBAAsByC,GAAsB,CAAC,EAAE,EAClFzC,EAAQ,wBAA0BC,EAAe,KAAK,KAAKwC,EAAmB,EAC9EzC,EAAQ,sBAAwBC,EAAe,KAAK,OAAO,CACvD,UAAWA,EAAe,KAAK,OAAO,EACtC,OAAQA,EAAe,KAAK,OAAO,EACnC,KAAMD,EAAQ,wBACd,MAAOC,EAAe,KAAK,OAAO,CACtC,EAAG,CAAE,IAAK,uBAAwB,CAAC,EACnC,IAAIyC,IACH,SAAUA,EAAqB,CAC5BA,EAAoBA,EAAoB,4BAAiC,CAAC,EAAI,8BAC9EA,EAAoBA,EAAoB,+BAAoC,CAAC,EAAI,gCACrF,GAAGA,KAAwB1C,EAAQ,oBAAsB0C,GAAsB,CAAC,EAAE,EAClF1C,EAAQ,wBAA0BC,EAAe,KAAK,KAAKyC,EAAmB,EAC9E1C,EAAQ,2BAA6BC,EAAe,KAAK,OAAO,CAC5D,KAAMD,EAAQ,wBACd,WAAYC,EAAe,KAAK,OAAO,CAC3C,EAAG,CAAE,IAAK,4BAA6B,CAAC,EACxCD,EAAQ,yBAA2BC,EAAe,KAAK,OAAO,CAC1D,cAAeA,EAAe,KAAK,SAASA,EAAe,KAAK,MAAMD,EAAQ,0BAA0B,CAAC,EACzG,gBAAiBC,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,CAC9E,EAAG,CAAE,IAAK,0BAA2B,CAAC,EACtC,IAAI0C,IACH,SAAUA,EAA2B,CAClCA,EAA0BA,EAA0B,4BAAiC,CAAC,EAAI,8BAC1FA,EAA0BA,EAA0B,8BAAmC,CAAC,EAAI,+BAChG,GAAGA,KAA8B3C,EAAQ,0BAA4B2C,GAA4B,CAAC,EAAE,EACpG3C,EAAQ,8BAAgCC,EAAe,KAAK,KAAK0C,EAAyB,EAC1F3C,EAAQ,sBAAwBC,EAAe,KAAK,OAAO,CACvD,KAAMD,EAAQ,8BACd,WAAYC,EAAe,KAAK,OAAO,CAC3C,EAAG,CAAE,IAAK,uBAAwB,CAAC,EACnCD,EAAQ,UAAYC,EAAe,KAAK,OAAO,CAC3C,YAAaD,EAAQ,qBACrB,SAAUC,EAAe,KAAK,SAASD,EAAQ,oBAAoB,EACnE,SAAUC,EAAe,KAAK,SAASD,EAAQ,WAAW,EAC1D,UAAWC,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,EACrE,oBAAqBA,EAAe,KAAK,SAASD,EAAQ,qBAAqB,EAC/E,gBAAiBC,EAAe,KAAK,SAASD,EAAQ,iBAAiB,EACvE,cAAeC,EAAe,KAAK,SAASD,EAAQ,qBAAqB,EACzE,uBAAwBC,EAAe,KAAK,SAASD,EAAQ,wBAAwB,EACrF,oBAAqBC,EAAe,KAAK,SAASD,EAAQ,qBAAqB,EAC/E,SAAUC,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,CACxE,EAAG,CAAE,IAAK,WAAY,CAAC,EACvBD,EAAQ,YAAcC,EAAe,KAAK,OAAO,CAC7C,KAAMA,EAAe,KAAK,OAAO,EACjC,UAAWA,EAAe,KAAK,OAAO,CAC1C,EAAG,CAAE,IAAK,aAAc,CAAC,EACzBD,EAAQ,kBAAoBC,EAAe,KAAK,OAAO,CACnD,UAAWA,EAAe,KAAK,MAAMA,EAAe,KAAK,OAAO,CAAC,EACjE,QAASA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EAClE,WAAYA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACrE,QAASA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,CACtE,EAAG,CAAE,IAAK,mBAAoB,CAAC,EAC/BD,EAAQ,oBAAsBC,EAAe,KAAK,OAAO,CACrD,QAASA,EAAe,KAAK,OAAO,CACxC,EAAG,CAAE,IAAK,qBAAsB,CAAC,EACjCD,EAAQ,qBAAuBC,EAAe,KAAK,OAAO,CAAC,EAAG,CAAE,IAAK,sBAAuB,CAAC,EAC7FD,EAAQ,mBAAqBC,EAAe,KAAK,OAAO,CAAC,EAAG,CAAE,IAAK,oBAAqB,CAAC,EACzFD,EAAQ,iBAAmBC,EAAe,KAAK,OAAO,CAClD,UAAWA,EAAe,KAAK,MAAMA,EAAe,KAAK,OAAO,CAAC,EACjE,aAAcA,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,EACxE,SAAUA,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,CACxE,EAAG,CAAE,IAAK,kBAAmB,CAAC,EAC9BD,EAAQ,cAAgBC,EAAe,KAAK,OAAO,CAC/C,QAASA,EAAe,KAAK,OAAO,CACxC,EAAG,CAAE,IAAK,eAAgB,CAAC,EAC3BD,EAAQ,cAAgBC,EAAe,KAAK,OAAO,CAC/C,OAAQA,EAAe,KAAK,KAAK,EACjC,YAAaA,EAAe,KAAK,OAAO,EACxC,gBAAiBA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,CAC9E,EAAG,CAAE,IAAK,eAAgB,CAAC,EAC3BD,EAAQ,aAAeC,EAAe,KAAK,OAAO,CAC9C,UAAWA,EAAe,KAAK,MAAMA,EAAe,KAAK,OAAO,CAAC,EACjE,IAAKA,EAAe,KAAK,KAAK,EAC9B,MAAOA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EAChE,SAAUA,EAAe,KAAK,OAAO,EACrC,qBAAsBA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EAC/E,QAASD,EAAQ,cACjB,SAAUC,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,CACxE,EAAG,CAAE,IAAK,cAAe,CAAC,EAC1BD,EAAQ,eAAiBC,EAAe,KAAK,OAAO,CAChD,UAAWA,EAAe,KAAK,OAAO,EACtC,cAAeA,EAAe,KAAK,OAAO,CAC9C,EAAG,CAAE,IAAK,gBAAiB,CAAC,EAC5BD,EAAQ,mBAAqBC,EAAe,KAAK,OAAO,CACpD,UAAWA,EAAe,KAAK,MAAMA,EAAe,KAAK,OAAO,CAAC,EACjE,aAAcA,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,CAC5E,EAAG,CAAE,IAAK,oBAAqB,CAAC,EAChCD,EAAQ,gBAAkBC,EAAe,KAAK,OAAO,CACjD,WAAYA,EAAe,KAAK,OAAO,CAC3C,EAAG,CAAE,IAAK,iBAAkB,CAAC,EAC7BD,EAAQ,iBAAmBC,EAAe,KAAK,OAAO,CAClD,UAAWA,EAAe,KAAK,MAAMA,EAAe,KAAK,OAAO,CAAC,EACjE,aAAcA,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,EACxE,SAAUA,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,CACxE,EAAG,CAAE,IAAK,kBAAmB,CAAC,EAC9BD,EAAQ,cAAgBC,EAAe,KAAK,OAAO,CAC/C,QAASA,EAAe,KAAK,OAAO,CACxC,EAAG,CAAE,IAAK,eAAgB,CAAC,EAC3BD,EAAQ,yBAA2BC,EAAe,KAAK,OAAO,CAC1D,aAAcA,EAAe,KAAK,OAAO,EACzC,cAAeA,EAAe,KAAK,OAAO,EAC1C,WAAYA,EAAe,KAAK,OAAO,EACvC,cAAeA,EAAe,KAAK,OAAO,CAC9C,EAAG,CAAE,IAAK,0BAA2B,CAAC,EACtCD,EAAQ,uBAAyBC,EAAe,KAAK,OAAO,CACxD,qBAAsBA,EAAe,KAAK,MAAMD,EAAQ,wBAAwB,CACpF,EAAG,CAAE,IAAK,wBAAyB,CAAC,EACpCA,EAAQ,aAAeC,EAAe,KAAK,OAAO,CAC9C,UAAWA,EAAe,KAAK,MAAMA,EAAe,KAAK,OAAO,CAAC,EACjE,cAAeA,EAAe,KAAK,OAAO,EAC1C,gBAAiBA,EAAe,KAAK,SAASD,EAAQ,sBAAsB,CAChF,EAAG,CAAE,IAAK,cAAe,CAAC,EAC1BA,EAAQ,kBAAoBC,EAAe,KAAK,OAAO,CACnD,UAAWA,EAAe,KAAK,OAAO,CAC1C,EAAG,CAAE,IAAK,mBAAoB,CAAC,EAC/B,IAAI2C,IACH,SAAUA,EAAkB,CACzBA,EAAiBA,EAAiB,OAAY,CAAC,EAAI,SACnDA,EAAiBA,EAAiB,UAAe,CAAC,EAAI,YACtDA,EAAiBA,EAAiB,WAAgB,CAAC,EAAI,YAC3D,GAAGA,KAAqB5C,EAAQ,iBAAmB4C,GAAmB,CAAC,EAAE,EACzE5C,EAAQ,qBAAuBC,EAAe,KAAK,KAAK2C,EAAgB,EACxE5C,EAAQ,aAAeC,EAAe,KAAK,OAAO,CAC9C,KAAMA,EAAe,KAAK,MAAM,CAC5BA,EAAe,KAAK,QAAQ,CAAC,EAC7BA,EAAe,KAAK,QAAQ,CAAC,EAC7BA,EAAe,KAAK,QAAQ,CAAC,EAC7BA,EAAe,KAAK,QAAQ,QAAQ,EACpCA,EAAe,KAAK,QAAQ,WAAW,EACvCA,EAAe,KAAK,QAAQ,YAAY,CAC5C,CAAC,EACD,KAAMA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EAC/D,OAAQA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,CACrE,EAAG,CAAE,IAAK,cAAe,CAAC,EAC1BD,EAAQ,kBAAoBC,EAAe,KAAK,OAAO,CACnD,UAAWA,EAAe,KAAK,MAAMA,EAAe,KAAK,OAAO,CAAC,EACjE,aAAcA,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,EACxE,SAAUA,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,CACxE,EAAG,CAAE,IAAK,mBAAoB,CAAC,EAC/BD,EAAQ,eAAiBC,EAAe,KAAK,OAAO,CAChD,QAASA,EAAe,KAAK,OAAO,CACxC,EAAG,CAAE,IAAK,gBAAiB,CAAC,EAC5B,IAAI4C,IACH,SAAUA,EAAiB,CACxBA,EAAgBA,EAAgB,KAAU,CAAC,EAAI,OAC/CA,EAAgBA,EAAgB,KAAU,CAAC,EAAI,OAC/CA,EAAgBA,EAAgB,GAAQ,CAAC,EAAI,KAC7CA,EAAgBA,EAAgB,KAAU,CAAC,EAAI,OAC/CA,EAAgBA,EAAgB,OAAY,CAAC,EAAI,QACrD,GAAGA,KAAoB7C,EAAQ,gBAAkB6C,GAAkB,CAAC,EAAE,EACtE7C,EAAQ,oBAAsBC,EAAe,KAAK,KAAK4C,EAAe,EACtE7C,EAAQ,cAAgBC,EAAe,KAAK,OAAO,CAC/C,UAAWA,EAAe,KAAK,MAAMA,EAAe,KAAK,OAAO,CAAC,EACjE,mBAAoBA,EAAe,KAAK,OAAO,EAC/C,eAAgBA,EAAe,KAAK,OAAO,EAC3C,IAAKA,EAAe,KAAK,KAAK,EAC9B,gBAAiBA,EAAe,KAAK,KAAK,EAC1C,iBAAkBA,EAAe,KAAK,OAAO,EAC7C,eAAgBA,EAAe,KAAK,OAAO,EAC3C,UAAWD,EAAQ,oBACnB,UAAWC,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACpE,QAASA,EAAe,KAAK,SAASA,EAAe,KAAK,KAAK,CAAC,EAChE,UAAWA,EAAe,KAAK,SAASA,EAAe,KAAK,MAAM,CAACA,EAAe,KAAK,OAAO,EAAGA,EAAe,KAAK,OAAO,CAAC,CAAC,CAAC,EAC/H,eAAgBA,EAAe,KAAK,OAAO,CAC/C,EAAG,CAAE,IAAK,eAAgB,CAAC,EAC3BD,EAAQ,mBAAqBC,EAAe,KAAK,OAAO,CAAC,EAAG,CAAE,IAAK,oBAAqB,CAAC,EACzFD,EAAQ,iBAAmBC,EAAe,KAAK,OAAO,CAClD,eAAgBA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACzE,oBAAqBA,EAAe,KAAK,OAAO,EAChD,MAAOD,EAAQ,aACf,OAAQC,EAAe,KAAK,KAAK,CACrC,EAAG,CAAE,IAAK,kBAAmB,CAAC,EAC9BD,EAAQ,uBAAyBC,EAAe,KAAK,OAAO,CACxD,eAAgBA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACzE,YAAaA,EAAe,KAAK,OAAO,EACxC,iBAAkBA,EAAe,KAAK,KAAK,CAC/C,EAAG,CAAE,IAAK,wBAAyB,CAAC,EACpCD,EAAQ,kCAAoCC,EAAe,KAAK,OAAO,CACnE,eAAgBA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACzE,WAAYD,EAAQ,aACpB,SAAUC,EAAe,KAAK,KAAK,EACnC,oBAAqBA,EAAe,KAAK,OAAO,EAChD,kBAAmBD,EAAQ,aAC3B,mBAAoBC,EAAe,KAAK,KAAK,EAC7C,MAAOA,EAAe,KAAK,SAASA,EAAe,KAAK,MAAMD,EAAQ,YAAY,CAAC,CACvF,EAAG,CAAE,IAAK,mCAAoC,CAAC,EAC/CA,EAAQ,+BAAiCC,EAAe,KAAK,OAAO,CAChE,eAAgBA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACzE,WAAYD,EAAQ,aACpB,YAAaC,EAAe,KAAK,KAAK,EACtC,oBAAqBA,EAAe,KAAK,OAAO,EAChD,kBAAmBD,EAAQ,aAC3B,gBAAiBC,EAAe,KAAK,KAAK,EAC1C,MAAOA,EAAe,KAAK,SAASA,EAAe,KAAK,MAAMD,EAAQ,YAAY,CAAC,CACvF,EAAG,CAAE,IAAK,gCAAiC,CAAC,EAC5CA,EAAQ,yBAA2BC,EAAe,KAAK,OAAO,CAC1D,eAAgBA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACzE,cAAeD,EAAQ,aACvB,aAAcA,EAAQ,aACtB,OAAQC,EAAe,KAAK,KAAK,EACjC,QAASA,EAAe,KAAK,OAAO,EACpC,QAASA,EAAe,KAAK,OAAO,EACpC,SAAUA,EAAe,KAAK,KAAK,CACvC,EAAG,CAAE,IAAK,0BAA2B,CAAC,EACtCD,EAAQ,wBAA0BC,EAAe,KAAK,OAAO,CACzD,eAAgBA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACzE,cAAeD,EAAQ,aACvB,aAAcA,EAAQ,aACtB,OAAQC,EAAe,KAAK,KAAK,EACjC,QAASA,EAAe,KAAK,OAAO,EACpC,QAASA,EAAe,KAAK,OAAO,EACpC,SAAUA,EAAe,KAAK,KAAK,CACvC,EAAG,CAAE,IAAK,yBAA0B,CAAC,EACrCD,EAAQ,gCAAkCC,EAAe,KAAK,OAAO,CACjE,eAAgBA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACzE,cAAeD,EAAQ,aACvB,aAAcA,EAAQ,aACtB,OAAQC,EAAe,KAAK,KAAK,EACjC,QAASA,EAAe,KAAK,OAAO,EACpC,QAASA,EAAe,KAAK,OAAO,CACxC,EAAG,CAAE,IAAK,iCAAkC,CAAC,EAC7C,IAAI6C,IACH,SAAUA,EAAmB,CAC1BA,EAAkBA,EAAkB,QAAa,CAAC,EAAI,UACtDA,EAAkBA,EAAkB,SAAc,CAAC,EAAI,WACvDA,EAAkBA,EAAkB,KAAU,CAAC,EAAI,MACvD,GAAGA,KAAsB9C,EAAQ,kBAAoB8C,GAAoB,CAAC,EAAE,EAC5E9C,EAAQ,sBAAwBC,EAAe,KAAK,KAAK6C,EAAiB,EAC1E9C,EAAQ,oBAAsBC,EAAe,KAAK,OAAO,CACrD,eAAgBA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACzE,8BAA+BA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACxF,YAAaA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACtE,UAAWA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACpE,cAAeA,EAAe,KAAK,SAASA,EAAe,KAAK,KAAK,CAAC,EACtE,cAAeA,EAAe,KAAK,SAASA,EAAe,KAAK,KAAK,CAAC,EACtE,iBAAkBA,EAAe,KAAK,SAASA,EAAe,KAAK,KAAK,CAAC,EACzE,eAAgBA,EAAe,KAAK,SAASA,EAAe,KAAK,KAAK,CAAC,EACvE,YAAaA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACtE,YAAaA,EAAe,KAAK,SAASD,EAAQ,qBAAqB,EACvE,WAAYC,EAAe,KAAK,SAASA,EAAe,KAAK,MAAM,CAACA,EAAe,KAAK,OAAO,EAAGA,EAAe,KAAK,OAAO,CAAC,CAAC,CAAC,EAChI,cAAeA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,CAC5E,EAAG,CAAE,IAAK,qBAAsB,CAAC,EACjCD,EAAQ,qBAAuBC,EAAe,KAAK,OAAO,CACtD,eAAgBA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACzE,MAAOD,EAAQ,aACf,MAAOC,EAAe,KAAK,KAAK,CACpC,EAAG,CAAE,IAAK,sBAAuB,CAAC,EAClCD,EAAQ,oBAAsBC,EAAe,KAAK,OAAO,CACrD,eAAgBA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACzE,gBAAiBA,EAAe,KAAK,OAAO,EAC5C,WAAYD,EAAQ,qBACpB,WAAYC,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACrE,cAAeA,EAAe,KAAK,QAAQ,CAC/C,EAAG,CAAE,IAAK,qBAAsB,CAAC,EACjCD,EAAQ,sBAAwBC,EAAe,KAAK,OAAO,CACvD,eAAgBA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACzE,oBAAqBA,EAAe,KAAK,OAAO,CACpD,EAAG,CAAE,IAAK,uBAAwB,CAAC,EACnCD,EAAQ,oBAAsBC,EAAe,KAAK,OAAO,CACrD,eAAgBA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACzE,IAAKA,EAAe,KAAK,OAAO,EAChC,MAAOA,EAAe,KAAK,SAASA,EAAe,KAAK,MAAM,CAACA,EAAe,KAAK,OAAO,EAAGA,EAAe,KAAK,OAAO,CAAC,CAAC,CAAC,CAC/H,EAAG,CAAE,IAAK,qBAAsB,CAAC,EACjCD,EAAQ,sBAAwBC,EAAe,KAAK,OAAO,CACvD,eAAgBA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACzE,QAASA,EAAe,KAAK,KAAK,CACtC,EAAG,CAAE,IAAK,uBAAwB,CAAC,EACnCD,EAAQ,+BAAiCC,EAAe,KAAK,OAAO,CAChE,eAAgBA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACzE,WAAYA,EAAe,KAAK,OAAO,CAC3C,EAAG,CAAE,IAAK,gCAAiC,CAAC,EAC5CD,EAAQ,gBAAkBC,EAAe,KAAK,OAAO,CACjD,WAAYA,EAAe,KAAK,OAAO,EACvC,UAAWA,EAAe,KAAK,OAAO,CAC1C,EAAG,CAAE,IAAK,iBAAkB,CAAC,EAC7BD,EAAQ,gBAAkBC,EAAe,KAAK,OAAO,CACjD,UAAWA,EAAe,KAAK,MAAMA,EAAe,KAAK,OAAO,CAAC,EACjE,aAAcA,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,EACxE,SAAUA,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,CACxE,EAAG,CAAE,IAAK,iBAAkB,CAAC,EAC7BD,EAAQ,aAAeC,EAAe,KAAK,OAAO,CAC9C,QAASA,EAAe,KAAK,OAAO,CACxC,EAAG,CAAE,IAAK,cAAe,CAAC,EAC1BD,EAAQ,kBAAoBC,EAAe,KAAK,OAAO,CACnD,UAAWA,EAAe,KAAK,MAAMA,EAAe,KAAK,OAAO,CAAC,EACjE,aAAcA,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,EACxE,SAAUA,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,CACxE,EAAG,CAAE,IAAK,mBAAoB,CAAC,EAC/BD,EAAQ,eAAiBC,EAAe,KAAK,OAAO,CAChD,WAAYA,EAAe,KAAK,OAAO,CAC3C,EAAG,CAAE,IAAK,gBAAiB,CAAC,EAC5B,IAAI8C,IACH,SAAUA,EAAmB,CAC1BA,EAAkBA,EAAkB,SAAc,CAAC,EAAI,WACvDA,EAAkBA,EAAkB,WAAgB,CAAC,EAAI,YAC7D,GAAGA,KAAsB/C,EAAQ,kBAAoB+C,GAAoB,CAAC,EAAE,EAC5E/C,EAAQ,sBAAwBC,EAAe,KAAK,KAAK8C,EAAiB,EAC1E/C,EAAQ,gBAAkBC,EAAe,KAAK,OAAO,CACjD,IAAKA,EAAe,KAAK,OAAO,EAChC,KAAMA,EAAe,KAAK,WAAW,CACzC,EAAG,CAAE,IAAK,iBAAkB,CAAC,EAC7BD,EAAQ,cAAgBC,EAAe,KAAK,OAAO,CAC/C,OAAQA,EAAe,KAAK,WAAW,EACvC,IAAKA,EAAe,KAAK,KAAK,EAC9B,QAASA,EAAe,KAAK,OAAO,EACpC,UAAWA,EAAe,KAAK,OAAO,EACtC,cAAeA,EAAe,KAAK,OAAO,EAC1C,WAAYA,EAAe,KAAK,WAAW,CAC/C,EAAG,CAAE,IAAK,eAAgB,CAAC,EAC3BD,EAAQ,qBAAuBC,EAAe,KAAK,OAAO,CACtD,YAAaD,EAAQ,gBACrB,OAAQC,EAAe,KAAK,KAAK,CACrC,EAAG,CAAE,IAAK,sBAAuB,CAAC,EAClCD,EAAQ,uBAAyBC,EAAe,KAAK,OAAO,CACxD,aAAcA,EAAe,KAAK,SAASA,EAAe,KAAK,WAAW,CAAC,EAC3E,gBAAiBA,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,EAC3E,SAAUA,EAAe,KAAK,SAASD,EAAQ,oBAAoB,CACvE,EAAG,CAAE,IAAK,wBAAyB,CAAC,EACpCA,EAAQ,mBAAqBC,EAAe,KAAK,OAAO,CACpD,OAAQA,EAAe,KAAK,WAAW,EACvC,IAAKA,EAAe,KAAK,KAAK,EAC9B,QAASA,EAAe,KAAK,OAAO,EACpC,UAAWA,EAAe,KAAK,OAAO,EACtC,cAAeA,EAAe,KAAK,OAAO,EAC1C,OAAQA,EAAe,KAAK,KAAK,EACjC,YAAaD,EAAQ,gBACrB,WAAYC,EAAe,KAAK,SAASA,EAAe,KAAK,MAAMA,EAAe,KAAK,OAAO,CAAC,CAAC,EAChG,mBAAoBA,EAAe,KAAK,SAASD,EAAQ,sBAAsB,CACnF,EAAG,CAAE,IAAK,oBAAqB,CAAC,EAChCA,EAAQ,mBAAqBC,EAAe,KAAK,OAAO,CACpD,OAAQA,EAAe,KAAK,WAAW,EACvC,IAAKA,EAAe,KAAK,KAAK,EAC9B,QAASA,EAAe,KAAK,OAAO,EACpC,UAAWA,EAAe,KAAK,OAAO,EACtC,cAAeA,EAAe,KAAK,OAAO,EAC1C,eAAgBA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACzE,QAASA,EAAe,KAAK,OAAO,EACpC,UAAWA,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,EACrE,YAAaA,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,EACvE,SAAUA,EAAe,KAAK,SAASA,EAAe,KAAK,WAAW,CAAC,EACvE,OAAQA,EAAe,KAAK,MAAM,CAACA,EAAe,KAAK,OAAO,EAAGA,EAAe,KAAK,MAAMA,EAAe,KAAK,OAAO,CAAC,CAAC,CAAC,CAC7H,EAAG,CAAE,IAAK,oBAAqB,CAAC,EAChCD,EAAQ,kBAAoBC,EAAe,KAAK,OAAO,CACnD,OAAQA,EAAe,KAAK,WAAW,EACvC,IAAKA,EAAe,KAAK,KAAK,EAC9B,QAASA,EAAe,KAAK,OAAO,EACpC,UAAWA,EAAe,KAAK,OAAO,EACtC,cAAeA,EAAe,KAAK,OAAO,EAC1C,SAAUA,EAAe,KAAK,WAAW,CAC7C,EAAG,CAAE,IAAK,mBAAoB,CAAC,EAC/BD,EAAQ,gBAAkBC,EAAe,KAAK,OAAO,CACjD,OAAQA,EAAe,KAAK,OAAO,EACnC,OAAQA,EAAe,KAAK,OAAO,EACnC,UAAWA,EAAe,KAAK,MAAMA,EAAe,KAAK,OAAO,CAAC,CACrE,EAAG,CAAE,IAAK,iBAAkB,CAAC,EAC7B,IAAI+C,IACH,SAAUA,EAAiB,CACxBA,EAAgBA,EAAgB,IAAS,CAAC,EAAI,MAC9CA,EAAgBA,EAAgB,IAAS,CAAC,EAAI,MAC9CA,EAAgBA,EAAgB,KAAU,CAAC,EAAI,MACnD,GAAGA,KAAoBhD,EAAQ,gBAAkBgD,GAAkB,CAAC,EAAE,EACtEhD,EAAQ,oBAAsBC,EAAe,KAAK,KAAK+C,EAAe,EACtEhD,EAAQ,cAAgBC,EAAe,KAAK,OAAO,CAC/C,OAAQA,EAAe,KAAK,OAAO,EACnC,OAAQA,EAAe,KAAK,OAAO,EACnC,SAAUA,EAAe,KAAK,OAAO,EACrC,OAAQD,EAAQ,mBACpB,EAAG,CAAE,IAAK,eAAgB,CAAC,EAC3BA,EAAQ,YAAcC,EAAe,KAAK,OAAO,CAC7C,UAAWA,EAAe,KAAK,MAAMA,EAAe,KAAK,OAAO,CAAC,EACjE,OAAQA,EAAe,KAAK,WAAW,EACvC,OAAQA,EAAe,KAAK,SAASD,EAAQ,aAAa,EAC1D,YAAaC,EAAe,KAAK,SAASD,EAAQ,kBAAkB,EACpE,YAAaC,EAAe,KAAK,SAASD,EAAQ,kBAAkB,EACpE,WAAYC,EAAe,KAAK,SAASD,EAAQ,iBAAiB,EAClE,SAAUC,EAAe,KAAK,SAASD,EAAQ,eAAe,EAC9D,OAAQC,EAAe,KAAK,SAASD,EAAQ,aAAa,EAC1D,SAAUC,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,CACxE,EAAG,CAAE,IAAK,aAAc,CAAC,EACzBD,EAAQ,cAAgBC,EAAe,KAAK,OAAO,CAC/C,UAAWA,EAAe,KAAK,OAAO,EACtC,gBAAiBA,EAAe,KAAK,OAAO,EAC5C,eAAgBA,EAAe,KAAK,OAAO,CAC/C,EAAG,CAAE,IAAK,eAAgB,CAAC,EAC3BD,EAAQ,YAAcC,EAAe,KAAK,OAAO,CAC7C,kBAAmBD,EAAQ,kBAC3B,eAAgBA,EAAQ,eACxB,oBAAqBA,EAAQ,oBAC7B,iBAAkBA,EAAQ,iBAC1B,cAAeA,EAAQ,cACvB,iBAAkBA,EAAQ,iBAC1B,YAAaA,EAAQ,YACrB,mBAAoBA,EAAQ,mBAC5B,mBAAoBA,EAAQ,mBAC5B,gBAAiBA,EAAQ,gBACzB,iBAAkBA,EAAQ,iBAC1B,gBAAiBA,EAAQ,gBACzB,WAAYA,EAAQ,WACpB,eAAgBA,EAAQ,eACxB,yBAA0BA,EAAQ,yBAClC,aAAcA,EAAQ,aACtB,UAAWA,EAAQ,UACnB,WAAYA,EAAQ,WACpB,QAASA,EAAQ,QACjB,eAAgBA,EAAQ,eACxB,YAAaA,EAAQ,YACrB,YAAaA,EAAQ,YACrB,iBAAkBA,EAAQ,iBAC1B,cAAeA,EAAQ,cACvB,gBAAiBA,EAAQ,gBACzB,OAAQA,EAAQ,OAChB,qBAAsBA,EAAQ,qBAC9B,wBAAyBA,EAAQ,wBACjC,UAAWA,EAAQ,UACnB,YAAaA,EAAQ,YACrB,gBAAiBA,EAAQ,gBACzB,aAAcA,EAAQ,aACtB,OAAQA,EAAQ,OAChB,UAAWA,EAAQ,UACnB,WAAYA,EAAQ,WACpB,SAAUA,EAAQ,SAClB,WAAYA,EAAQ,WACpB,iBAAkBA,EAAQ,iBAC1B,mBAAoBA,EAAQ,mBAC5B,oBAAqBA,EAAQ,oBAC7B,MAAOA,EAAQ,MACf,kBAAmBA,EAAQ,kBAC3B,WAAYA,EAAQ,WACpB,mBAAoBA,EAAQ,mBAC5B,YAAaA,EAAQ,YACrB,cAAeA,EAAQ,cACvB,sBAAuBA,EAAQ,sBAC/B,eAAgBA,EAAQ,eACxB,uBAAwBA,EAAQ,uBAChC,gBAAiBA,EAAQ,gBACzB,0BAA2BA,EAAQ,0BACnC,mBAAoBA,EAAQ,mBAC5B,kBAAmBA,EAAQ,kBAC3B,eAAgBA,EAAQ,eACxB,kBAAmBA,EAAQ,kBAC3B,cAAeA,EAAQ,cACvB,gBAAiBA,EAAQ,gBACzB,eAAgBA,EAAQ,eACxB,WAAYA,EAAQ,WACpB,6BAA8BA,EAAQ,6BACtC,oBAAqBA,EAAQ,oBAC7B,2BAA4BA,EAAQ,2BACpC,wBAAyBA,EAAQ,wBACjC,6BAA8BA,EAAQ,6BACtC,kBAAmBA,EAAQ,kBAC3B,eAAgBA,EAAQ,eACxB,oBAAqBA,EAAQ,oBAC7B,iBAAkBA,EAAQ,iBAC1B,kBAAmBA,EAAQ,kBAC3B,eAAgBA,EAAQ,eACxB,gBAAiBA,EAAQ,gBACzB,kBAAmBA,EAAQ,kBAC3B,aAAcA,EAAQ,aACtB,0BAA2BA,EAAQ,0BACnC,8BAA+BA,EAAQ,8BACvC,iBAAkBA,EAAQ,iBAC1B,2BAA4BA,EAAQ,2BACpC,wBAAyBA,EAAQ,wBACjC,0BAA2BA,EAAQ,0BACnC,qBAAsBA,EAAQ,qBAC9B,oBAAqBA,EAAQ,oBAC7B,mCAAoCA,EAAQ,mCAC5C,uCAAwCA,EAAQ,uCAChD,uBAAwBA,EAAQ,uBAChC,cAAeA,EAAQ,cACvB,yBAA0BA,EAAQ,yBAClC,wBAAyBA,EAAQ,wBACjC,wBAAyBA,EAAQ,wBACjC,iBAAkBA,EAAQ,iBAC1B,iCAAkCA,EAAQ,iCAC1C,wBAAyBA,EAAQ,wBACjC,yBAA0BA,EAAQ,yBAClC,iBAAkBA,EAAQ,iBAC1B,kBAAmBA,EAAQ,kBAC3B,sBAAuBA,EAAQ,sBAC/B,QAASA,EAAQ,QACjB,QAASA,EAAQ,QACjB,cAAeA,EAAQ,cACvB,UAAWA,EAAQ,UACnB,iBAAkBA,EAAQ,iBAC1B,aAAcA,EAAQ,aACtB,kBAAmBA,EAAQ,kBAC3B,cAAeA,EAAQ,cACvB,kCAAmCA,EAAQ,kCAC3C,8BAA+BA,EAAQ,8BACvC,eAAgBA,EAAQ,eACxB,iBAAkBA,EAAQ,iBAC1B,aAAcA,EAAQ,aACtB,aAAcA,EAAQ,aACtB,eAAgBA,EAAQ,eACxB,kBAAmBA,EAAQ,kBAC3B,eAAgBA,EAAQ,eACxB,0BAA2BA,EAAQ,0BACnC,gBAAiBA,EAAQ,gBACzB,aAAcA,EAAQ,aACtB,YAAaA,EAAQ,YACrB,UAAWA,EAAQ,UACnB,mBAAoBA,EAAQ,mBAC5B,SAAUA,EAAQ,SAClB,mBAAoBA,EAAQ,mBAC5B,oBAAqBA,EAAQ,oBAC7B,wBAAyBA,EAAQ,wBACjC,qBAAsBA,EAAQ,qBAC9B,iBAAkBA,EAAQ,iBAC1B,gBAAiBA,EAAQ,gBACzB,kBAAmBA,EAAQ,kBAC3B,kBAAmBA,EAAQ,kBAC3B,oBAAqBA,EAAQ,oBAC7B,gBAAiBA,EAAQ,gBACzB,gBAAiBA,EAAQ,gBACzB,qBAAsBA,EAAQ,qBAC9B,iBAAkBA,EAAQ,iBAC1B,sBAAuBA,EAAQ,sBAC/B,oBAAqBA,EAAQ,oBAC7B,oBAAqBA,EAAQ,oBAC7B,kBAAmBA,EAAQ,kBAC3B,oBAAqBA,EAAQ,oBAC7B,oBAAqBA,EAAQ,oBAC7B,iBAAkBA,EAAQ,iBAC1B,eAAgBA,EAAQ,eACxB,YAAaA,EAAQ,YACrB,oBAAqBA,EAAQ,oBAC7B,kBAAmBA,EAAQ,kBAC3B,oBAAqBA,EAAQ,oBAC7B,sBAAuBA,EAAQ,sBAC/B,+BAAgCA,EAAQ,+BACxC,kBAAmBA,EAAQ,kBAC3B,qBAAsBA,EAAQ,qBAC9B,2BAA4BA,EAAQ,2BACpC,8BAA+BA,EAAQ,8BACvC,0BAA2BA,EAAQ,0BACnC,qBAAsBA,EAAQ,qBAC9B,kBAAmBA,EAAQ,kBAC3B,mBAAoBA,EAAQ,mBAC5B,gBAAiBA,EAAQ,gBACzB,eAAgBA,EAAQ,eACxB,mBAAoBA,EAAQ,mBAC5B,sBAAuBA,EAAQ,sBAC/B,kBAAmBA,EAAQ,kBAC3B,cAAeA,EAAQ,cACvB,oBAAqBA,EAAQ,oBAC7B,yBAA0BA,EAAQ,yBAClC,sBAAuBA,EAAQ,sBAC/B,sBAAuBA,EAAQ,sBAC/B,2BAA4BA,EAAQ,2BACpC,WAAYA,EAAQ,WACpB,YAAaA,EAAQ,YACrB,SAAUA,EAAQ,SAClB,WAAYA,EAAQ,WACpB,QAASA,EAAQ,QACjB,WAAYA,EAAQ,WACpB,cAAeA,EAAQ,cACvB,eAAgBA,EAAQ,eACxB,uBAAwBA,EAAQ,uBAChC,mBAAoBA,EAAQ,mBAC5B,WAAYA,EAAQ,WACpB,UAAWA,EAAQ,UACnB,eAAgBA,EAAQ,eACxB,UAAWA,EAAQ,UACnB,KAAMA,EAAQ,KACd,OAAQA,EAAQ,OAChB,WAAYA,EAAQ,WACpB,QAASA,EAAQ,QACjB,gBAAiBA,EAAQ,gBACzB,aAAcA,EAAQ,aACtB,mBAAoBA,EAAQ,mBAC5B,kBAAmBA,EAAQ,kBAC3B,WAAYA,EAAQ,WACpB,YAAaA,EAAQ,YACrB,YAAaA,EAAQ,YACrB,aAAcA,EAAQ,aACtB,eAAgBA,EAAQ,eACxB,WAAYA,EAAQ,WACpB,eAAgBA,EAAQ,eACxB,YAAaA,EAAQ,YACrB,QAASA,EAAQ,QACjB,cAAeA,EAAQ,cACvB,kBAAmBA,EAAQ,kBAC3B,eAAgBA,EAAQ,eACxB,gBAAiBA,EAAQ,gBACzB,qBAAsBA,EAAQ,qBAC9B,oBAAqBA,EAAQ,oBAC7B,mBAAoBA,EAAQ,mBAC5B,SAAUA,EAAQ,SAClB,MAAOA,EAAQ,MACf,WAAYA,EAAQ,WACpB,oBAAqBA,EAAQ,oBAC7B,mBAAoBA,EAAQ,mBAC5B,iBAAkBA,EAAQ,iBAC1B,cAAeA,EAAQ,cACvB,WAAYA,EAAQ,WACpB,qBAAsBA,EAAQ,qBAC9B,UAAWA,EAAQ,UACnB,YAAaA,EAAQ,YACrB,sBAAuBA,EAAQ,sBAC/B,oBAAqBA,EAAQ,oBAC7B,kBAAmBA,EAAQ,kBAC3B,sBAAuBA,EAAQ,sBAC/B,2BAA4BA,EAAQ,2BACpC,yBAA0BA,EAAQ,yBAClC,sBAAuBA,EAAQ,sBAC/B,UAAWA,EAAQ,UACnB,YAAaA,EAAQ,YACrB,kBAAmBA,EAAQ,kBAC3B,oBAAqBA,EAAQ,oBAC7B,qBAAsBA,EAAQ,qBAC9B,mBAAoBA,EAAQ,mBAC5B,iBAAkBA,EAAQ,iBAC1B,cAAeA,EAAQ,cACvB,cAAeA,EAAQ,cACvB,aAAcA,EAAQ,aACtB,eAAgBA,EAAQ,eACxB,mBAAoBA,EAAQ,mBAC5B,gBAAiBA,EAAQ,gBACzB,iBAAkBA,EAAQ,iBAC1B,cAAeA,EAAQ,cACvB,yBAA0BA,EAAQ,yBAClC,uBAAwBA,EAAQ,uBAChC,aAAcA,EAAQ,aACtB,kBAAmBA,EAAQ,kBAC3B,aAAcA,EAAQ,aACtB,kBAAmBA,EAAQ,kBAC3B,eAAgBA,EAAQ,eACxB,cAAeA,EAAQ,cACvB,mBAAoBA,EAAQ,mBAC5B,iBAAkBA,EAAQ,iBAC1B,uBAAwBA,EAAQ,uBAChC,kCAAmCA,EAAQ,kCAC3C,+BAAgCA,EAAQ,+BACxC,yBAA0BA,EAAQ,yBAClC,wBAAyBA,EAAQ,wBACjC,gCAAiCA,EAAQ,gCACzC,oBAAqBA,EAAQ,oBAC7B,qBAAsBA,EAAQ,qBAC9B,oBAAqBA,EAAQ,oBAC7B,sBAAuBA,EAAQ,sBAC/B,oBAAqBA,EAAQ,oBAC7B,sBAAuBA,EAAQ,sBAC/B,+BAAgCA,EAAQ,+BACxC,gBAAiBA,EAAQ,gBACzB,gBAAiBA,EAAQ,gBACzB,aAAcA,EAAQ,aACtB,kBAAmBA,EAAQ,kBAC3B,eAAgBA,EAAQ,eACxB,gBAAiBA,EAAQ,gBACzB,cAAeA,EAAQ,cACvB,qBAAsBA,EAAQ,qBAC9B,uBAAwBA,EAAQ,uBAChC,mBAAoBA,EAAQ,mBAC5B,mBAAoBA,EAAQ,mBAC5B,kBAAmBA,EAAQ,kBAC3B,gBAAiBA,EAAQ,gBACzB,cAAeA,EAAQ,cACvB,YAAaA,EAAQ,YACrB,cAAeA,EAAQ,aAC3B,EAAG,CAAE,IAAK,aAAc,CAAC,ICtrEzB,IAAAiD,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,oBAAsBA,GAAQ,eAAiBA,GAAQ,sBAAwBA,GAAQ,sBAAwBA,GAAQ,eAAiBA,GAAQ,SAAW,OACnK,IAAMC,GAAU,cAChBA,GAAQ,aAAa,KAAqBD,EAAO,EACjDC,GAAQ,aAAa,KAAqBD,EAAO,EACjDA,GAAQ,SAAWC,GAAQ,aAAa,IAAqB,EAC7DA,GAAQ,aAAa,KAAoBD,EAAO,EAChD,IAAIE,GAAU,KACd,OAAO,eAAeF,GAAS,iBAAkB,CAAE,WAAY,GAAM,IAAK,UAAY,CAAE,OAAOE,GAAQ,cAAgB,CAAE,CAAC,EAC1H,OAAO,eAAeF,GAAS,wBAAyB,CAAE,WAAY,GAAM,IAAK,UAAY,CAAE,OAAOE,GAAQ,qBAAuB,CAAE,CAAC,EACxI,OAAO,eAAeF,GAAS,wBAAyB,CAAE,WAAY,GAAM,IAAK,UAAY,CAAE,OAAOE,GAAQ,qBAAuB,CAAE,CAAC,EACxIF,GAAQ,eAAiBC,GAAQ,aAAa,IAA4B,EAC1E,IAAIE,GAAoB,KACxB,OAAO,eAAeH,GAAS,sBAAuB,CAAE,WAAY,GAAM,IAAK,UAAY,CAAE,OAAOG,GAAkB,mBAAqB,CAAE,CAAC,ICd9I,IAAAC,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,MAAQA,GAAQ,IAAMA,GAAQ,QAAUA,GAAQ,QAAUA,GAAQ,OAAS,OACnF,IAAMC,GAAU,cAChBD,GAAQ,OAASC,GAAQ,aAAa,IAAmB,EACzDD,GAAQ,QAAUC,GAAQ,aAAa,IAAoB,EAC3DD,GAAQ,QAAUC,GAAQ,aAAa,IAAoB,EAC3DD,GAAQ,IAAMC,GAAQ,aAAa,IAAgB,EACnD,IAAIC,GAAa,KACjB,OAAO,eAAeF,GAAS,QAAS,CAAE,WAAY,GAAM,IAAK,UAAY,CAAE,OAAOE,GAAW,cAAgB,CAAE,CAAC,ICTpH,IAAAC,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,ICD5D,IAAAC,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,ICD5D,IAAAC,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,eAAiBA,GAAQ,SAAWA,GAAQ,QAAU,OAC9D,IAAMC,GAAiB,KACvBD,GAAQ,QAAUC,GAAe,KAAK,OAAO,CACzC,UAAWA,GAAe,KAAK,OAAO,EACtC,OAAQA,GAAe,KAAK,OAAO,EACnC,OAAQA,GAAe,KAAK,OAAO,EACnC,UAAWA,GAAe,KAAK,OAAO,CAC1C,CAAC,EACDD,GAAQ,SAAWC,GAAe,KAAK,OAAO,CAC1C,MAAOA,GAAe,KAAK,MAAM,CAC7BA,GAAe,KAAK,QAAQ,MAAM,EAClCA,GAAe,KAAK,QAAQ,QAAQ,EACpCA,GAAe,KAAK,QAAQ,SAAS,EACrCA,GAAe,KAAK,QAAQ,KAAK,EACjCA,GAAe,KAAK,QAAQ,QAAQ,CACxC,CAAC,EACD,WAAYA,GAAe,KAAK,OAAO,EACvC,OAAQA,GAAe,KAAK,OAAO,EACnC,SAAUA,GAAe,KAAK,SAASA,GAAe,KAAK,OAAO,CAAC,EACnE,SAAUA,GAAe,KAAK,SAASA,GAAe,KAAK,OAAO,CAAC,CACvE,CAAC,EACDD,GAAQ,eAAiBC,GAAe,KAAK,MAAM,CAC/CA,GAAe,KAAK,OAAO,CACvB,KAAMA,GAAe,KAAK,OAAO,EACjC,IAAKA,GAAe,KAAK,QAAQ,GAAG,EACpC,WAAYA,GAAe,KAAK,SAASA,GAAe,KAAK,UAAU,CAAC,EACxE,SAAUA,GAAe,KAAK,QAAQ,EAAI,CAC9C,CAAC,EACDA,GAAe,KAAK,OAAO,CACvB,KAAMA,GAAe,KAAK,OAAO,EACjC,IAAKA,GAAe,KAAK,OAAO,EAChC,WAAYA,GAAe,KAAK,OAAO,EACvC,QAASA,GAAe,KAAK,OAAO,EACpC,MAAOA,GAAe,KAAK,OAAO,CACtC,CAAC,CACL,CAAC,ICrCD,IAAAC,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,oBAAsBA,GAAQ,aAAe,OACrD,IAAIC,IACH,SAAUA,EAAc,CACrBA,EAAa,YAAiB,eAC9BA,EAAa,QAAa,SAC9B,GAAGA,KAAiBD,GAAQ,aAAeC,GAAe,CAAC,EAAE,EAC7D,IAAIC,GAAa,KACjB,OAAO,eAAeF,GAAS,sBAAuB,CAAE,WAAY,GAAM,IAAK,UAAY,CAAE,OAAOE,GAAW,mBAAqB,CAAE,CAAC,ICTvI,IAAAC,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,SAAWA,GAAQ,gBAAkBA,GAAQ,oBAAsBA,GAAQ,mBAAqBA,GAAQ,eAAiBA,GAAQ,YAAcA,GAAQ,QAAUA,GAAQ,QAAUA,GAAQ,MAAQ,OAC3M,IAAMC,EAAiB,KACjBC,GAAS,KACTC,GAAW,KACjBH,GAAQ,MAAQC,EAAe,KAAK,OAAO,CACvC,OAAQA,EAAe,KAAK,OAAO,EACnC,QAASA,EAAe,KAAK,OAAO,CACxC,CAAC,EACDD,GAAQ,QAAUC,EAAe,KAAK,OAAO,CACzC,cAAeA,EAAe,KAAK,OAAO,EAC1C,OAAQA,EAAe,KAAK,OAAO,EACnC,MAAOD,GAAQ,MACf,WAAYC,EAAe,KAAK,OAAO,EACvC,WAAYA,EAAe,KAAK,OAAO,EACvC,IAAKA,EAAe,KAAK,OAAO,EAChC,OAAQA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,CACrE,CAAC,EACDD,GAAQ,QAAUC,EAAe,KAAK,OAAO,CACzC,KAAMA,EAAe,KAAK,OAAO,EACjC,SAAUA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,CACvE,CAAC,EACDD,GAAQ,YAAcC,EAAe,KAAK,UAAU,CAChDA,EAAe,KAAK,OAAO,CACvB,QAASA,EAAe,KAAK,QAAQ,CACzC,CAAC,EACDA,EAAe,KAAK,OAAOA,EAAe,KAAK,UAAUE,GAAS,mBAAmB,EAAGF,EAAe,KAAK,MAAM,CAACA,EAAe,KAAK,OAAO,EAAGA,EAAe,KAAK,QAAQ,EAAK,CAAC,CAAC,CAAC,CACzL,CAAC,EACDD,GAAQ,eAAiBC,EAAe,KAAK,OAAO,CAChD,KAAMA,EAAe,KAAK,OAAO,EACjC,IAAKA,EAAe,KAAK,MAAMA,EAAe,KAAK,OAAO,CAAC,CAC/D,CAAC,EACD,IAAMG,GAASH,EAAe,KAAK,OAAO,CACtC,MAAOA,EAAe,KAAK,OAAO,EAClC,KAAMA,EAAe,KAAK,OAAO,EACjC,SAAUA,EAAe,KAAK,OAAO,EACrC,OAAQA,EAAe,KAAK,OAAO,EACnC,QAASD,GAAQ,YACjB,SAAUC,EAAe,KAAK,OAAO,EACrC,eAAgBA,EAAe,KAAK,SAASD,GAAQ,cAAc,EACnE,UAAWC,EAAe,KAAK,OAAO,EACtC,OAAQA,EAAe,KAAK,OAAO,EACnC,OAAQA,EAAe,KAAK,OAAO,EACnC,YAAaA,EAAe,KAAK,MAAMC,GAAO,QAAQ,CAC1D,CAAC,EACDF,GAAQ,mBAAqBC,EAAe,KAAK,UAAU,CACvDG,GACAH,EAAe,KAAK,OAAO,CACvB,KAAMA,EAAe,KAAK,QAAQ,SAAS,EAC3C,eAAgBA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACzE,UAAWA,EAAe,KAAK,OAAO,EACtC,UAAWA,EAAe,KAAK,OAAO,EACtC,YAAaA,EAAe,KAAK,QAAQ,EACzC,iBAAkBA,EAAe,KAAK,OAAO,EAC7C,iBAAkBA,EAAe,KAAK,OAAO,EAC7C,gBAAiBA,EAAe,KAAK,OAAO,EAC5C,iBAAkBA,EAAe,KAAK,OAAO,EAC7C,gBAAiBA,EAAe,KAAK,OAAO,EAC5C,OAAQA,EAAe,KAAK,QAAQ,EACpC,UAAWA,EAAe,KAAK,OAAO,EACtC,sBAAuBA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EAChF,gBAAiBA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EAC1E,QAASA,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,EACnE,QAASD,GAAQ,QACjB,UAAWC,EAAe,KAAK,QAAQ,CAC3C,CAAC,CACL,CAAC,EACDD,GAAQ,oBAAsBC,EAAe,KAAK,UAAU,CACxDG,GACAH,EAAe,KAAK,OAAO,CACvB,KAAMA,EAAe,KAAK,QAAQ,UAAU,EAC5C,QAASA,EAAe,KAAK,OAAO,EACpC,QAASA,EAAe,KAAK,SAASA,EAAe,KAAK,UAAU,CAAC,CACzE,CAAC,CACL,CAAC,EACDD,GAAQ,gBAAkBC,EAAe,KAAK,UAAU,CACpDG,GACAH,EAAe,KAAK,OAAO,CACvB,KAAMA,EAAe,KAAK,MAAM,CAACA,EAAe,KAAK,QAAQ,MAAM,EAAGA,EAAe,KAAK,QAAQ,KAAK,CAAC,CAAC,EACzG,MAAOA,EAAe,KAAK,OAAO,EAClC,QAASA,EAAe,KAAK,SAASA,EAAe,KAAK,UAAU,CAAC,CACzE,CAAC,CACL,CAAC,EACDD,GAAQ,SAAWC,EAAe,KAAK,MAAM,CAACD,GAAQ,mBAAoBA,GAAQ,oBAAqBA,GAAQ,eAAe,CAAC,ICpF/H,IAAAK,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,oBAAsB,OAC9B,IAAMC,GAAiB,KACvBD,GAAQ,oBAAsBC,GAAe,KAAK,MAAM,CAACA,GAAe,KAAK,QAAQ,CAAC,EAAGA,GAAe,KAAK,QAAQ,CAAC,EAAGA,GAAe,KAAK,QAAQ,CAAC,CAAC,CAAC,ICJxJ,IAAAC,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,UAAYA,GAAQ,aAAeA,GAAQ,WAAaA,GAAQ,eAAiBA,GAAQ,OAAS,OAC1G,IAAMC,GAAiB,KACjBC,GAASC,EAACC,GAASH,GAAe,KAAK,OAAO,CAAE,OAAQA,GAAe,KAAK,MAAMG,EAAM,CAAE,SAAU,CAAE,CAAC,CAAE,CAAC,EAAjG,UACfJ,GAAQ,OAASE,GACjBF,GAAQ,eAAiBC,GAAe,KAAK,MAAM,CAACA,GAAe,KAAK,OAAO,EAAGA,GAAe,KAAK,MAAMA,GAAe,KAAK,OAAO,CAAC,CAAC,EAAG,CACxI,YAAa,2BACb,IAAK,gBACT,CAAC,EACDD,GAAQ,WAAaC,GAAe,KAAK,OAAO,CAC5C,KAAMD,GAAQ,eACd,QAASC,GAAe,KAAK,SAASA,GAAe,KAAK,OAAO,CAAC,EAClE,aAAcA,GAAe,KAAK,SAASA,GAAe,KAAK,QAAQ,CAAE,QAAS,EAAK,CAAC,CAAC,EACzF,SAAUA,GAAe,KAAK,SAASA,GAAe,KAAK,QAAQ,CAAC,EACpE,iBAAkBA,GAAe,KAAK,SAASA,GAAe,KAAK,QAAQ,CAAC,CAChF,CAAC,EACDD,GAAQ,aAAeC,GAAe,KAAK,OAAO,CAC9C,KAAMD,GAAQ,eACd,aAAcC,GAAe,KAAK,SAASA,GAAe,KAAK,QAAQ,CAAC,EACxE,sBAAuBA,GAAe,KAAK,SAASA,GAAe,KAAK,QAAQ,CAAC,EACjF,SAAUA,GAAe,KAAK,SAASA,GAAe,KAAK,QAAQ,CAAC,CACxE,CAAC,EACDD,GAAQ,UAAYC,GAAe,KAAK,OAAO,CAC3C,UAAWA,GAAe,KAAK,OAAO,EACtC,KAAMA,GAAe,KAAK,MAAMA,GAAe,KAAK,OAAO,CAAC,EAC5D,eAAgBA,GAAe,KAAK,OAAO,CAC/C,CAAC,IC3BD,IAAAI,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,ICD5D,IAAAC,GAAAC,EAAAC,GAAA,cACA,OAAO,eAAeA,EAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,EAAQ,oBAAsBA,EAAQ,+BAAiCA,EAAQ,uBAAyBA,EAAQ,+BAAiCA,EAAQ,uBAAyBA,EAAQ,qBAAuBA,EAAQ,mCAAqCA,EAAQ,mCAAqCA,EAAQ,sBAAwBA,EAAQ,sBAAwBA,EAAQ,uBAAyBA,EAAQ,YAAcA,EAAQ,kBAAoBA,EAAQ,mBAAqBA,EAAQ,sBAAwBA,EAAQ,kBAAoBA,EAAQ,oBAAsBA,EAAQ,iBAAmBA,EAAQ,iBAAmBA,EAAQ,cAAgBA,EAAQ,kBAAoBA,EAAQ,aAAeA,EAAQ,aAAeA,EAAQ,oBAAsBA,EAAQ,wBAA0BA,EAAQ,2BAA6BA,EAAQ,oBAAsBA,EAAQ,kBAAoBA,EAAQ,yBAA2BA,EAAQ,0BAA4B,OACn7B,IAAMC,EAAiB,KACjBC,GAAc,KACdC,GAAW,KACjBH,EAAQ,0BAA4BC,EAAe,KAAK,OAAO,CAC3D,WAAYA,EAAe,KAAK,OAAO,EACvC,QAASA,EAAe,KAAK,OAAO,EACpC,iBAAkBA,EAAe,KAAK,OAAO,CACjD,CAAC,EACDD,EAAQ,yBAA2BC,EAAe,KAAK,OAAO,CAC1D,YAAaC,GAAY,MAAM,uBAC/B,KAAMD,EAAe,KAAK,SAASE,GAAS,cAAc,EAC1D,YAAaF,EAAe,KAAK,SAASE,GAAS,cAAc,EACjE,eAAgBF,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACzE,mBAAoBA,EAAe,KAAK,SAASD,EAAQ,yBAAyB,EAClF,kBAAmBC,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EAC5E,kBAAmBA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,CAChF,CAAC,EACDD,EAAQ,kBAAoBC,EAAe,KAAK,OAAO,CACnD,kBAAmBD,EAAQ,yBAC3B,cAAeC,EAAe,KAAK,OAAO,EAC1C,UAAWA,EAAe,KAAK,OAAO,EACtC,QAASA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EAClE,aAAcA,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,EACxE,eAAgBA,EAAe,KAAK,SAASC,GAAY,MAAM,yBAAyB,EACxF,SAAUD,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,CACxE,CAAC,EACDD,EAAQ,oBAAsBC,EAAe,KAAK,UAAUG,GAAQH,EAAe,KAAK,OAAO,CAC3F,KAAMC,GAAY,MAAM,4BACxB,QAASD,EAAe,KAAK,SAASA,EAAe,KAAK,MAAMG,CAAI,CAAC,EACrE,QAASH,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EAClE,QAASA,EAAe,KAAK,SAASE,GAAS,cAAc,EAC7D,wBAAyBF,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EAClF,cAAeA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACxE,iBAAkBA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,CAC/E,CAAC,CAAC,EACFD,EAAQ,2BAA6BC,EAAe,KAAK,OAAO,CAC5D,OAAQD,EAAQ,oBAChB,cAAeE,GAAY,MAAM,yCACjC,eAAgBD,EAAe,KAAK,SAASC,GAAY,MAAM,yBAAyB,CAC5F,CAAC,EACDF,EAAQ,wBAA0BC,EAAe,KAAK,OAAO,CACzD,WAAYA,EAAe,KAAK,OAAO,CAC3C,CAAC,EACDD,EAAQ,oBAAsBC,EAAe,KAAK,UAAU,CACxDE,GAAS,aACTF,EAAe,KAAK,OAAO,CACvB,eAAgBA,EAAe,KAAK,SAASC,GAAY,MAAM,yBAAyB,CAC5F,CAAC,CACL,CAAC,EACDF,EAAQ,aAAeC,EAAe,KAAK,OAAO,CAC9C,KAAMA,EAAe,KAAK,SAASE,GAAS,cAAc,EAC1D,UAAWF,EAAe,KAAK,OAAO,EACtC,WAAYA,EAAe,KAAK,OAAO,CAC3C,CAAC,EACDD,EAAQ,aAAeC,EAAe,KAAK,OAAO,CAC9C,eAAgBA,EAAe,KAAK,OAAO,EAC3C,OAAQA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACjE,WAAYA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,CACzE,CAAC,EACDD,EAAQ,kBAAoBC,EAAe,KAAK,OAAO,CACnD,SAAUA,EAAe,KAAK,OAAO,EACrC,aAAcA,EAAe,KAAK,MAAMD,EAAQ,YAAY,CAChE,CAAC,EACDA,EAAQ,cAAgBC,EAAe,KAAK,UAAU,CAClDA,EAAe,KAAK,MAAM,CACtBA,EAAe,KAAK,OAAO,CACvB,kBAAmBD,EAAQ,wBAC/B,CAAC,EACDC,EAAe,KAAK,OAAO,CACvB,QAASA,EAAe,KAAK,OAAO,CACxC,CAAC,CACL,CAAC,EACDA,EAAe,KAAK,OAAO,CACvB,OAAQA,EAAe,KAAK,OAAO,EACnC,YAAaA,EAAe,KAAK,SAASA,EAAe,KAAK,MAAMD,EAAQ,iBAAiB,CAAC,EAC9F,UAAWC,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACpE,OAAQA,EAAe,KAAK,SAASC,GAAY,MAAM,sCAAsC,EAC7F,YAAaD,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACtE,gBAAiBA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,CAC9E,CAAC,CACL,CAAC,EACDD,EAAQ,iBAAmBC,EAAe,KAAK,OAAO,CAClD,eAAgBA,EAAe,KAAK,SAASE,GAAS,cAAc,EACpE,eAAgBF,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,CAC7E,CAAC,EACDD,EAAQ,iBAAmBC,EAAe,KAAK,OAAO,CAClD,KAAMC,GAAY,MAAM,yBACxB,YAAaD,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACtE,YAAaA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACtE,KAAMA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EAC/D,SAAUA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,CACvE,CAAC,EACDD,EAAQ,oBAAsBC,EAAe,KAAK,OAAO,CACrD,IAAKA,EAAe,KAAK,OAAO,EAChC,KAAMA,EAAe,KAAK,OAAO,CACrC,CAAC,EACDD,EAAQ,kBAAoBC,EAAe,KAAK,OAAO,CACnD,UAAWA,EAAe,KAAK,OAAO,EACtC,YAAaA,EAAe,KAAK,OAAO,CAC5C,CAAC,EACDD,EAAQ,sBAAwBC,EAAe,KAAK,OAAO,CACvD,OAAQA,EAAe,KAAK,OAAO,EACnC,WAAYA,EAAe,KAAK,OAAO,EACvC,OAAQA,EAAe,KAAK,OAAO,EACnC,KAAMA,EAAe,KAAK,OAAO,EACjC,OAAQD,EAAQ,kBAChB,cAAeC,EAAe,KAAK,OAAO,EAC1C,OAAQA,EAAe,KAAK,MAAMD,EAAQ,iBAAkB,CAAE,SAAU,CAAE,CAAC,EAC3E,OAAQC,EAAe,KAAK,MAAMD,EAAQ,gBAAgB,EAC1D,SAAUC,EAAe,KAAK,SAASD,EAAQ,mBAAmB,CACtE,CAAC,EACDA,EAAQ,mBAAqBC,EAAe,KAAK,OAAO,CACpD,KAAMC,GAAY,MAAM,2BACxB,KAAMD,EAAe,KAAK,SAASE,GAAS,cAAc,EAC1D,KAAMF,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EAC/D,eAAgBA,EAAe,KAAK,SAASD,EAAQ,qBAAqB,EAC1E,WAAYC,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACrE,QAASA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,CACtE,CAAC,EACDD,EAAQ,kBAAoBC,EAAe,KAAK,OAAO,CACnD,KAAMA,EAAe,KAAK,SAASE,GAAS,cAAc,EAC1D,OAAQF,EAAe,KAAK,OAAO,EACnC,WAAYA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACrE,QAASA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,CACtE,CAAC,EACDD,EAAQ,YAAcC,EAAe,KAAK,MAAMD,EAAQ,iBAAiB,EACzEA,EAAQ,uBAAyBC,EAAe,KAAK,OAAO,CACxD,KAAMA,EAAe,KAAK,SAASE,GAAS,cAAc,EAC1D,UAAWF,EAAe,KAAK,OAAO,EACtC,WAAYA,EAAe,KAAK,OAAO,CAC3C,CAAC,EACDD,EAAQ,sBAAwBC,EAAe,KAAK,OAAO,CACvD,QAASA,EAAe,KAAK,SAASE,GAAS,cAAc,EAC7D,QAASF,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,CACtE,CAAC,EACDD,EAAQ,sBAAwBC,EAAe,KAAK,OAAO,CACvD,UAAWA,EAAe,KAAK,OAAO,EACtC,WAAYA,EAAe,KAAK,OAAO,CAC3C,CAAC,EACDD,EAAQ,mCAAqCC,EAAe,KAAK,OAAO,CACpE,cAAeA,EAAe,KAAK,OAAO,EAC1C,OAAQA,EAAe,KAAK,OAAO,CACvC,CAAC,EACDD,EAAQ,mCAAqCC,EAAe,KAAK,OAAO,CACpE,cAAeA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACxE,YAAaE,GAAS,eACtB,yBAA0BF,EAAe,KAAK,SAASD,EAAQ,wBAAwB,EACvF,MAAOC,EAAe,KAAK,OAAO,EAClC,OAAQA,EAAe,KAAK,SAASC,GAAY,MAAM,kCAAkC,EACzF,YAAaD,EAAe,KAAK,SAASA,EAAe,KAAK,MAAMD,EAAQ,kCAAkC,CAAC,EAC/G,cAAeC,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACxE,eAAgBA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,CAC7E,CAAC,EACDD,EAAQ,qBAAuBC,EAAe,KAAK,OAAO,CACtD,KAAMA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EAC/D,4BAA6BA,EAAe,KAAK,SAASD,EAAQ,kCAAkC,CACxG,CAAC,EACDA,EAAQ,uBAAyBC,EAAe,KAAK,OAAO,CACxD,OAAQA,EAAe,KAAK,MAAMD,EAAQ,YAAY,EACtD,QAASC,EAAe,KAAK,MAAMD,EAAQ,aAAa,EACxD,IAAKC,EAAe,KAAK,KAAK,EAC9B,IAAKA,EAAe,KAAK,SAASA,EAAe,KAAK,KAAK,CAAC,EAC5D,aAAcA,EAAe,KAAK,SAASA,EAAe,KAAK,MAAMD,EAAQ,kBAAkB,CAAC,EAChG,YAAaC,EAAe,KAAK,SAASA,EAAe,KAAK,MAAMD,EAAQ,iBAAiB,CAAC,EAC9F,sBAAuBC,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EAChF,cAAeA,EAAe,KAAK,SAASD,EAAQ,oBAAoB,EACxE,KAAMC,EAAe,KAAK,SAASD,EAAQ,WAAW,EACtD,eAAgBC,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACzE,iBAAkBA,EAAe,KAAK,SAASA,EAAe,KAAK,MAAMD,EAAQ,sBAAsB,CAAC,EACxG,gBAAiBC,EAAe,KAAK,SAASA,EAAe,KAAK,MAAMD,EAAQ,qBAAqB,CAAC,EACtG,iBAAkBC,EAAe,KAAK,SAASD,EAAQ,aAAa,EACpE,gBAAiBC,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EAC1E,gBAAiBA,EAAe,KAAK,SAASA,EAAe,KAAK,MAAMD,EAAQ,qBAAqB,CAAC,EACtG,0BAA2BC,EAAe,KAAK,SAASA,EAAe,KAAK,MAAME,GAAS,cAAc,CAAC,EAC1G,cAAeF,EAAe,KAAK,OAAO,EAC1C,UAAWA,EAAe,KAAK,OAAO,EACtC,YAAaC,GAAY,MAAM,yBAC/B,eAAgBD,EAAe,KAAK,SAASC,GAAY,MAAM,yBAAyB,EACxF,iBAAkBD,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,EAC5E,SAAUA,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,CACxE,CAAC,EACDD,EAAQ,+BAAiCC,EAAe,KAAK,UAAU,CACnED,EAAQ,uBACRC,EAAe,KAAK,OAAO,CACvB,WAAYA,EAAe,KAAK,OAAO,CACnC,KAAMA,EAAe,KAAK,OAAO,EACjC,KAAMA,EAAe,KAAK,OAAO,CACrC,CAAC,EACD,QAASA,EAAe,KAAK,QAAQ,CACzC,CAAC,CACL,CAAC,EACDD,EAAQ,uBAAyBC,EAAe,KAAK,OAAO,CACxD,KAAMC,GAAY,MAAM,yBACxB,OAAQD,EAAe,KAAK,OAAO,EACnC,UAAWA,EAAe,KAAK,OAAO,EACtC,UAAWA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,CACxE,CAAC,EACDD,EAAQ,+BAAiCC,EAAe,KAAK,OAAO,CAChE,KAAMC,GAAY,MAAM,yCACxB,kBAAmBD,EAAe,KAAK,OAAO,EAC9C,2BAA4BA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,CACzF,CAAC,EACDD,EAAQ,oBAAsBC,EAAe,KAAK,OAAO,CACrD,KAAMA,EAAe,KAAK,OAAO,EACjC,UAAWA,EAAe,KAAK,MAAMD,EAAQ,sBAAsB,EACnE,wBAAyBC,EAAe,KAAK,SAASD,EAAQ,8BAA8B,CAChG,CAAC,ICjND,IAAAK,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,uBAAyBA,GAAQ,2BAA6BA,GAAQ,uBAAyBA,GAAQ,sBAAwB,OACvI,IAAMC,GAAc,KACdC,GAAW,KACXC,GAAiB,KACvBH,GAAQ,sBAAwBG,GAAe,KAAK,OAAO,CACvD,SAAUA,GAAe,KAAK,OAAO,EACrC,eAAgBA,GAAe,KAAK,SAASA,GAAe,KAAK,OAAO,CAAC,EACzE,KAAMA,GAAe,KAAK,SAASA,GAAe,KAAK,OAAO,CAAC,EAC/D,SAAUA,GAAe,KAAK,SAASA,GAAe,KAAK,OAAO,CAAC,EACnE,OAAQA,GAAe,KAAK,SAASA,GAAe,KAAK,OAAO,CAAC,EACjE,SAAUA,GAAe,KAAK,SAASF,GAAY,MAAM,kBAAkB,EAC3E,WAAYE,GAAe,KAAK,SAASF,GAAY,MAAM,eAAe,EAC1E,YAAaE,GAAe,KAAK,SAASF,GAAY,MAAM,gBAAgB,CAChF,CAAC,EACDD,GAAQ,uBAAyBG,GAAe,KAAK,MAAM,CACvDA,GAAe,KAAK,UAAU,CAC1BF,GAAY,MAAM,mBAClBE,GAAe,KAAK,OAAO,CACvB,KAAMA,GAAe,KAAK,QAAQ,oBAAoB,CAC1D,CAAC,CACL,CAAC,EACDA,GAAe,KAAK,UAAU,CAC1BF,GAAY,MAAM,gBAClBE,GAAe,KAAK,OAAO,CACvB,KAAMA,GAAe,KAAK,QAAQ,iBAAiB,CACvD,CAAC,CACL,CAAC,EACDA,GAAe,KAAK,UAAU,CAC1BF,GAAY,MAAM,iBAClBE,GAAe,KAAK,OAAO,CACvB,KAAMA,GAAe,KAAK,QAAQ,kBAAkB,CACxD,CAAC,CACL,CAAC,CACL,CAAC,EACDH,GAAQ,2BAA6BG,GAAe,KAAK,UAAU,CAC/DH,GAAQ,sBACRG,GAAe,KAAK,OAAO,CACvB,SAAUA,GAAe,KAAK,MAAMH,GAAQ,sBAAsB,EAClE,eAAgBG,GAAe,KAAK,OAAO,EAC3C,SAAUA,GAAe,KAAK,OAAO,EACrC,OAAQA,GAAe,KAAK,OAAO,CACvC,CAAC,CACL,CAAC,EACDH,GAAQ,uBAAyBG,GAAe,KAAK,OAAO,CACxD,KAAMD,GAAS,eACf,YAAaF,GAAQ,sBACrB,SAAUG,GAAe,KAAK,SAASA,GAAe,KAAK,QAAQ,CAAC,CACxE,CAAC,ICjDD,IAAAC,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,cAAgBA,GAAQ,YAAc,OAC9C,IAAMC,GAAW,KACXC,GAAiB,KACvBF,GAAQ,YAAcE,GAAe,KAAK,OAAO,CAC7C,KAAMD,GAAS,eACf,KAAMC,GAAe,KAAK,SAASA,GAAe,KAAK,OAAO,CAAC,EAC/D,QAASA,GAAe,KAAK,OAAO,EACpC,IAAKA,GAAe,KAAK,SAASA,GAAe,KAAK,QAAQ,CAAC,EAC/D,eAAgBA,GAAe,KAAK,SAASA,GAAe,KAAK,QAAQ,CAAC,CAC9E,CAAC,EACDF,GAAQ,cAAgBE,GAAe,KAAK,OAAO,CAC/C,QAASA,GAAe,KAAK,OAAO,EACpC,UAAWA,GAAe,KAAK,OAAO,EACtC,QAASA,GAAe,KAAK,OAAO,EACpC,KAAMA,GAAe,KAAK,OAAO,EACjC,IAAKA,GAAe,KAAK,SAASA,GAAe,KAAK,QAAQ,CAAC,CACnE,CAAC,IClBD,IAAAC,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,mBAAqBA,GAAQ,kBAAoBA,GAAQ,YAAcA,GAAQ,kBAAoBA,GAAQ,iBAAmBA,GAAQ,YAAcA,GAAQ,aAAe,OACnL,IAAMC,GAAc,KACdC,GAAW,KACXC,EAAiB,KACvBH,GAAQ,aAAeG,EAAe,KAAK,OAAO,CAC9C,aAAcA,EAAe,KAAK,OAAO,EACzC,aAAcA,EAAe,KAAK,OAAO,EACzC,KAAMA,EAAe,KAAK,MAAMA,EAAe,KAAK,OAAO,CAAC,EAC5D,eAAgBA,EAAe,KAAK,OAAO,CAC/C,CAAC,EACDH,GAAQ,YAAcG,EAAe,KAAK,OAAO,CAC7C,WAAYA,EAAe,KAAK,MAAM,CAACA,EAAe,KAAK,KAAK,EAAGA,EAAe,KAAK,OAAO,CAAC,CAAC,EAChG,YAAaA,EAAe,KAAK,OAAO,EACxC,eAAgBA,EAAe,KAAK,OAAO,EAC3C,iBAAkBA,EAAe,KAAK,OAAO,EAC7C,cAAeA,EAAe,KAAK,OAAO,EAC1C,SAAUA,EAAe,KAAK,OAAO,CACzC,CAAC,EACDH,GAAQ,iBAAmBG,EAAe,KAAK,OAAO,CAClD,UAAWA,EAAe,KAAK,OAAO,EACtC,KAAMA,EAAe,KAAK,MAAMF,GAAY,MAAM,mBAAmB,EACrE,SAAUE,EAAe,KAAK,MAAMA,EAAe,KAAK,OAAO,CAC3D,WAAYF,GAAY,MAAM,mBAC9B,OAAQE,EAAe,KAAK,OAAO,CACvC,CAAC,CAAC,EACF,MAAOA,EAAe,KAAK,MAAMF,GAAY,MAAM,oBAAoB,CAC3E,CAAC,EACDD,GAAQ,kBAAoBG,EAAe,KAAK,OAAO,CACnD,QAASA,EAAe,KAAK,OAAO,EACpC,cAAeA,EAAe,KAAK,MAAMF,GAAY,MAAM,kBAAkB,CACjF,CAAC,EACDD,GAAQ,YAAcG,EAAe,KAAK,MAAM,CAC5CA,EAAe,KAAK,UAAU,CAC1BH,GAAQ,kBACRG,EAAe,KAAK,OAAO,CACvB,KAAMA,EAAe,KAAK,QAAQ,UAAU,EAC5C,KAAMA,EAAe,KAAK,OAAO,CAC7B,KAAMA,EAAe,KAAK,OAAO,EACjC,GAAIA,EAAe,KAAK,OAAO,EAC/B,SAAUA,EAAe,KAAK,OAAO,EACrC,KAAMA,EAAe,KAAK,OAAO,CACrC,CAAC,CACL,CAAC,CACL,CAAC,EACDA,EAAe,KAAK,UAAU,CAC1BH,GAAQ,kBACRG,EAAe,KAAK,OAAO,CACvB,KAAMA,EAAe,KAAK,QAAQ,YAAY,EAC9C,KAAMA,EAAe,KAAK,OAAO,CAC7B,KAAMA,EAAe,KAAK,OAAO,EACjC,SAAUA,EAAe,KAAK,OAAO,EACrC,mBAAoBA,EAAe,KAAK,OAAO,EAC/C,mBAAoBA,EAAe,KAAK,OAAO,EAC/C,SAAUA,EAAe,KAAK,QAAQ,CAC1C,CAAC,CACL,CAAC,CACL,CAAC,EACDA,EAAe,KAAK,UAAU,CAC1BH,GAAQ,kBACRG,EAAe,KAAK,OAAO,CACvB,KAAMA,EAAe,KAAK,QAAQ,cAAc,EAChD,KAAMA,EAAe,KAAK,OAAO,CAC7B,KAAMA,EAAe,KAAK,OAAO,EACjC,SAAUA,EAAe,KAAK,OAAO,EACrC,qBAAsBA,EAAe,KAAK,OAAO,EACjD,qBAAsBA,EAAe,KAAK,OAAO,CACrD,CAAC,CACL,CAAC,CACL,CAAC,EACDA,EAAe,KAAK,UAAU,CAC1BH,GAAQ,kBACRG,EAAe,KAAK,OAAO,CACvB,KAAMA,EAAe,KAAK,QAAQ,QAAQ,EAC1C,KAAMA,EAAe,KAAK,OAAO,CAC7B,MAAOA,EAAe,KAAK,OAAO,EAClC,SAAUA,EAAe,KAAK,OAAO,EACrC,MAAOA,EAAe,KAAK,OAAO,CACtC,CAAC,CACL,CAAC,CACL,CAAC,EACDA,EAAe,KAAK,UAAU,CAC1BH,GAAQ,kBACRG,EAAe,KAAK,OAAO,CACvB,KAAMA,EAAe,KAAK,QAAQ,aAAa,EAC/C,KAAMF,GAAY,MAAM,oBAC5B,CAAC,CACL,CAAC,EACDE,EAAe,KAAK,UAAU,CAC1BH,GAAQ,kBACRG,EAAe,KAAK,OAAO,CACvB,KAAMA,EAAe,KAAK,QAAQ,SAAS,EAC3C,KAAMF,GAAY,MAAM,gBAC5B,CAAC,CACL,CAAC,EACDE,EAAe,KAAK,UAAU,CAC1BH,GAAQ,kBACRG,EAAe,KAAK,OAAO,CACvB,KAAMA,EAAe,KAAK,QAAQ,cAAc,EAChD,KAAMA,EAAe,KAAK,OAAO,CAC7B,MAAOA,EAAe,KAAK,OAAO,EAClC,MAAOA,EAAe,KAAK,OAAO,EAClC,UAAWA,EAAe,KAAK,MAAMA,EAAe,KAAK,OAAO,CAAC,CACrE,CAAC,CACL,CAAC,CACL,CAAC,EACDA,EAAe,KAAK,UAAU,CAC1BH,GAAQ,kBACRG,EAAe,KAAK,OAAO,CACvB,KAAMA,EAAe,KAAK,QAAQ,QAAQ,EAC1C,KAAMF,GAAY,MAAM,eAC5B,CAAC,CACL,CAAC,EACDE,EAAe,KAAK,UAAU,CAC1BH,GAAQ,kBACRG,EAAe,KAAK,OAAO,CACvB,KAAMA,EAAe,KAAK,QAAQ,YAAY,EAC9C,KAAMA,EAAe,KAAK,OAAO,CAC7B,QAASA,EAAe,KAAK,OAAO,EACpC,WAAYA,EAAe,KAAK,OAAO,EACvC,OAAQA,EAAe,KAAK,OAAO,EACnC,KAAMH,GAAQ,gBAClB,CAAC,CACL,CAAC,CACL,CAAC,EACDG,EAAe,KAAK,UAAU,CAC1BH,GAAQ,kBACRG,EAAe,KAAK,OAAO,CACvB,KAAMA,EAAe,KAAK,QAAQ,YAAY,EAC9C,KAAMF,GAAY,MAAM,mBAC5B,CAAC,CACL,CAAC,EACDE,EAAe,KAAK,UAAU,CAC1BH,GAAQ,kBACRG,EAAe,KAAK,OAAO,CACvB,KAAMA,EAAe,KAAK,QAAQ,UAAU,EAC5C,KAAMF,GAAY,MAAM,iBAC5B,CAAC,CACL,CAAC,EACDE,EAAe,KAAK,UAAU,CAC1BH,GAAQ,kBACRG,EAAe,KAAK,OAAO,CACvB,KAAMA,EAAe,KAAK,QAAQ,YAAY,EAC9C,KAAMF,GAAY,MAAM,mBAC5B,CAAC,CACL,CAAC,EACDE,EAAe,KAAK,UAAU,CAC1BH,GAAQ,kBACRG,EAAe,KAAK,OAAO,CACvB,KAAMA,EAAe,KAAK,QAAQ,YAAY,EAC9C,KAAMA,EAAe,KAAK,OAAO,CAC7B,QAASA,EAAe,KAAK,OAAO,EACpC,KAAMA,EAAe,KAAK,OAAO,EACjC,MAAOH,GAAQ,iBACf,OAAQA,GAAQ,gBACpB,CAAC,CACL,CAAC,CACL,CAAC,CACL,CAAC,EACDA,GAAQ,kBAAoBG,EAAe,KAAK,OAAO,CACnD,QAASA,EAAe,KAAK,OAAO,EACpC,OAAQH,GAAQ,YAChB,QAASG,EAAe,KAAK,MAAMA,EAAe,KAAK,MAAM,CACzDH,GAAQ,YACRG,EAAe,KAAK,UAAU,CAC1BH,GAAQ,kBACRG,EAAe,KAAK,OAAO,CACvB,KAAMA,EAAe,KAAK,OAAO,EACjC,KAAMA,EAAe,KAAK,OAAO,CACrC,CAAC,CACL,CAAC,CACL,CAAC,CAAC,CACN,CAAC,EACDH,GAAQ,mBAAqBG,EAAe,KAAK,OAAO,CACpD,KAAMD,GAAS,eACf,YAAaF,GAAQ,kBACrB,SAAUG,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,CACxE,CAAC,IClLD,IAAAC,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,eAAiBA,GAAQ,sBAAwBA,GAAQ,kBAAoBA,GAAQ,cAAgB,OAC7G,IAAMC,GAAW,KACXC,GAAiB,KACvBF,GAAQ,cAAgBE,GAAe,KAAK,OAAO,CAC/C,OAAQA,GAAe,KAAK,OAAO,EACnC,YAAaA,GAAe,KAAK,OAAO,EACxC,eAAgBA,GAAe,KAAK,SAASA,GAAe,KAAK,OAAO,CAAC,CAC7E,CAAC,EACDF,GAAQ,kBAAoBE,GAAe,KAAK,OAAO,CACnD,IAAKA,GAAe,KAAK,OAAO,EAChC,MAAOA,GAAe,KAAK,SAASA,GAAe,KAAK,OAAO,CAAC,EAChE,SAAUA,GAAe,KAAK,OAAO,EACrC,iBAAkBA,GAAe,KAAK,SAASA,GAAe,KAAK,OAAO,CAAC,EAC3E,QAASF,GAAQ,aACrB,CAAC,EACDA,GAAQ,sBAAwBE,GAAe,KAAK,OAAO,CACvD,KAAMD,GAAS,eACf,YAAaD,GAAQ,kBACrB,SAAUE,GAAe,KAAK,SAASA,GAAe,KAAK,QAAQ,CAAC,CACxE,CAAC,EACDF,GAAQ,eAAiBE,GAAe,KAAK,OAAO,CAChD,aAAcA,GAAe,KAAK,OAAO,EACzC,UAAWA,GAAe,KAAK,OAAO,CAC1C,CAAC,ICzBD,IAAAC,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,sBAAwBA,GAAQ,sBAAwBA,GAAQ,sBAAwBA,GAAQ,6BAA+BA,GAAQ,2BAA6BA,GAAQ,iBAAmBA,GAAQ,wBAA0BA,GAAQ,2BAA6BA,GAAQ,mBAAqBA,GAAQ,oBAAsBA,GAAQ,oBAAsB,OACvW,IAAMC,EAAiB,KACjBC,GAAW,KACjBF,GAAQ,oBAAsBC,EAAe,KAAK,OAAO,CACrD,KAAMC,GAAS,eACf,QAASD,EAAe,KAAK,OAAO,EACpC,IAAKA,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,CACnE,CAAC,EACDD,GAAQ,oBAAsBC,EAAe,KAAK,OAAO,CACrD,GAAIA,EAAe,KAAK,OAAO,EAC/B,MAAOA,EAAe,KAAK,OAAO,EAClC,SAAUA,EAAe,KAAK,OAAO,EACrC,SAAUA,EAAe,KAAK,OAAO,EACrC,aAAcA,EAAe,KAAK,SAASA,EAAe,KAAK,UAAU,CAAC,EAC1E,qBAAsBA,EAAe,KAAK,SAASA,EAAe,KAAK,UAAU,CAAC,EAClF,MAAOA,EAAe,KAAK,OAAO,EAClC,KAAMA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EAC/D,QAASA,EAAe,KAAK,OAAO,EACpC,OAAQA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,CACrE,CAAC,EACDD,GAAQ,mBAAqBC,EAAe,KAAK,OAAO,CACpD,QAASA,EAAe,KAAK,OAAO,EACpC,YAAaA,EAAe,KAAK,MAAMA,EAAe,KAAK,OAAO,CAAC,CACvE,CAAC,EACDD,GAAQ,2BAA6BC,EAAe,KAAK,OAAO,CAC5D,GAAIA,EAAe,KAAK,OAAO,EAC/B,MAAOA,EAAe,KAAK,OAAO,EAClC,SAAUA,EAAe,KAAK,OAAO,EACrC,SAAUA,EAAe,KAAK,SAASA,EAAe,KAAK,UAAU,CAAC,EACtE,MAAOA,EAAe,KAAK,OAAO,EAClC,KAAMA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EAC/D,QAASA,EAAe,KAAK,OAAO,EACpC,aAAcA,EAAe,KAAK,OAAO,EACzC,qBAAsBA,EAAe,KAAK,OAAO,EACjD,WAAYA,EAAe,KAAK,SAASA,EAAe,KAAK,MAAMD,GAAQ,kBAAkB,CAAC,CAClG,CAAC,EACDA,GAAQ,wBAA0BC,EAAe,KAAK,OAAO,CACzD,KAAMC,GAAS,eACf,YAAaD,EAAe,KAAK,MAAM,CAACD,GAAQ,oBAAqBA,GAAQ,0BAA0B,CAAC,EACxG,SAAUC,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,CACxE,CAAC,EACDD,GAAQ,iBAAmBC,EAAe,KAAK,OAAO,CAClD,EAAGA,EAAe,KAAK,OAAO,EAC9B,EAAGA,EAAe,KAAK,OAAO,EAC9B,EAAGA,EAAe,KAAK,OAAO,EAC9B,aAAcA,EAAe,KAAK,OAAO,CAC7C,CAAC,EACD,IAAME,GAAoCF,EAAe,KAAK,OAAO,CACjE,KAAMA,EAAe,KAAK,OAAO,EACjC,KAAMA,EAAe,KAAK,OAAO,CACrC,CAAC,EACDD,GAAQ,2BAA6BC,EAAe,KAAK,OAAO,CAC5D,aAAcA,EAAe,KAAK,MAAME,EAAiC,CAC7E,EAAG,CACC,qBAAsBF,EAAe,KAAK,MAAME,EAAiC,CACrF,CAAC,EACDH,GAAQ,6BAA+BC,EAAe,KAAK,OAAO,CAC9D,MAAOD,GAAQ,2BACf,YAAaC,EAAe,KAAK,OAAO,EACxC,OAAQA,EAAe,KAAK,OAAO,CAC/B,KAAMA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EAC/D,QAASA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EAClE,QAASA,EAAe,KAAK,SAASA,EAAe,KAAK,MAAM,CAACA,EAAe,KAAK,OAAO,EAAGA,EAAe,KAAK,OAAO,EAAGA,EAAe,KAAK,OAAO,CAAC,CAAC,CAAC,EAC3J,kBAAmBA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EAC5E,KAAMA,EAAe,KAAK,SAASA,EAAe,KAAK,MAAM,CAACA,EAAe,KAAK,YAAY,EAAGA,EAAe,KAAK,OAAO,CAAC,CAAC,CAAC,CACnI,CAAC,EACD,QAASA,EAAe,KAAK,OAAO,CAAC,EAAG,CACpC,qBAAsBA,EAAe,KAAK,IAAI,CAClD,CAAC,CACL,CAAC,EACDD,GAAQ,sBAAwBC,EAAe,KAAK,OAAO,CACvD,KAAMC,GAAS,eACf,KAAMF,GAAQ,6BACd,mBAAoBC,EAAe,KAAK,QAAQ,EAChD,sBAAuBA,EAAe,KAAK,SAASA,EAAe,KAAK,UAAU,CAAC,EACnF,aAAcA,EAAe,KAAK,SAASA,EAAe,KAAK,UAAU,CAAC,CAC9E,CAAC,EACDD,GAAQ,sBAAwBC,EAAe,KAAK,OAAO,CACvD,KAAMC,GAAS,eACf,KAAMF,GAAQ,6BACd,mBAAoBC,EAAe,KAAK,QAAQ,EAChD,sBAAuBA,EAAe,KAAK,OAAO,EAClD,aAAcA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,CAC3E,CAAC,EACDD,GAAQ,sBAAwBC,EAAe,KAAK,OAAO,CACvD,QAASA,EAAe,KAAK,OAAO,EACpC,QAASA,EAAe,KAAK,OAAO,EACpC,IAAKA,EAAe,KAAK,SAASA,EAAe,KAAK,QAAQ,CAAC,EAC/D,UAAWA,EAAe,KAAK,OAAO,CAC1C,CAAC,IC3FD,IAAAG,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,wBAA0BA,GAAQ,sBAAwBA,GAAQ,uBAAyBA,GAAQ,yBAA2BA,GAAQ,gBAAkB,OAChK,IAAMC,GAAW,KACXC,GAAiB,KACvBF,GAAQ,gBAAkBE,GAAe,KAAK,UAAU,CACpDD,GAAS,UACTC,GAAe,KAAK,OAAO,CACvB,UAAWA,GAAe,KAAK,OAAO,CAC1C,CAAC,CACL,CAAC,EACDF,GAAQ,yBAA2BE,GAAe,KAAK,OAAO,CAC1D,YAAaA,GAAe,KAAK,OAAO,EACxC,aAAcA,GAAe,KAAK,OAAO,EACzC,UAAWA,GAAe,KAAK,OAAO,EACtC,aAAcA,GAAe,KAAK,OAAO,CAC7C,CAAC,EACDF,GAAQ,uBAAyBE,GAAe,KAAK,OAAO,CACxD,mBAAoBA,GAAe,KAAK,SAASA,GAAe,KAAK,MAAMF,GAAQ,yBAA0B,CAAE,SAAU,CAAE,CAAC,CAAC,CACjI,CAAC,EACDA,GAAQ,sBAAwBE,GAAe,KAAK,OAAO,CACvD,KAAMA,GAAe,KAAK,MAAM,CAACA,GAAe,KAAK,OAAO,EAAGA,GAAe,KAAK,MAAMA,GAAe,KAAK,OAAO,CAAC,CAAC,CAAC,EACvH,aAAcA,GAAe,KAAK,OAAO,EACzC,eAAgBA,GAAe,KAAK,SAASF,GAAQ,sBAAsB,CAC/E,CAAC,EACDA,GAAQ,wBAA0BE,GAAe,KAAK,OAAO,CACzD,UAAWA,GAAe,KAAK,OAAO,CAC1C,CAAC,IC3BD,IAAAC,GAAAC,EAAAC,GAAA,cACA,OAAO,eAAeA,EAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,EAAQ,wBAA0BA,EAAQ,gBAAkBA,EAAQ,uBAAyBA,EAAQ,mBAAqBA,EAAQ,iBAAmBA,EAAQ,sCAAwCA,EAAQ,0BAA4BA,EAAQ,6BAA+BA,EAAQ,2BAA6BA,EAAQ,6BAA+BA,EAAQ,2BAA6BA,EAAQ,4BAA8BA,EAAQ,2BAA6BA,EAAQ,+BAAiCA,EAAQ,gCAAkCA,EAAQ,iCAAmCA,EAAQ,sCAAwCA,EAAQ,yCAA2CA,EAAQ,wBAA0BA,EAAQ,8BAAgCA,EAAQ,aAAe,OAC9wB,IAAMC,GAAc,KACdC,GAAW,KACXC,EAAiB,KACvBH,EAAQ,aAAeG,EAAe,KAAK,OAAO,CAC9C,KAAMA,EAAe,KAAK,MAAM,CAACF,GAAY,MAAM,qBAAsBE,EAAe,KAAK,UAAUF,GAAY,MAAM,gBAAgB,CAAC,CAAC,EAC3I,KAAME,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EAC/D,OAAQA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,CACrE,CAAC,EACDH,EAAQ,8BAAgCG,EAAe,KAAK,OAAO,CAC/D,KAAMA,EAAe,KAAK,QAAQ,eAAe,EACjD,OAAQA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACjE,YAAaA,EAAe,KAAK,OAAO,EACxC,gBAAiBA,EAAe,KAAK,OAAO,CAChD,CAAC,EACDH,EAAQ,wBAA0BG,EAAe,KAAK,OAAO,CACzD,KAAMA,EAAe,KAAK,QAAQ,SAAS,EAC3C,OAAQA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACjE,YAAaA,EAAe,KAAK,OAAO,EACxC,MAAOH,EAAQ,aACf,OAAQG,EAAe,KAAK,OAAO,CACvC,CAAC,EACDH,EAAQ,yCAA2CG,EAAe,KAAK,OAAO,CAC1E,KAAMA,EAAe,KAAK,QAAQ,0BAA0B,EAC5D,OAAQA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACjE,UAAWH,EAAQ,aACnB,QAASG,EAAe,KAAK,KAAK,EAClC,YAAaA,EAAe,KAAK,OAAO,EACxC,UAAWH,EAAQ,aACnB,WAAYG,EAAe,KAAK,KAAK,EACrC,KAAMA,EAAe,KAAK,SAASA,EAAe,KAAK,MAAMH,EAAQ,YAAY,CAAC,CACtF,CAAC,EACDA,EAAQ,sCAAwCG,EAAe,KAAK,OAAO,CACvE,KAAMA,EAAe,KAAK,QAAQ,uBAAuB,EACzD,OAAQA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACjE,UAAWH,EAAQ,aACnB,WAAYG,EAAe,KAAK,KAAK,EACrC,YAAaA,EAAe,KAAK,OAAO,EACxC,UAAWH,EAAQ,aACnB,QAASG,EAAe,KAAK,KAAK,EAClC,KAAMA,EAAe,KAAK,SAASA,EAAe,KAAK,MAAMH,EAAQ,YAAY,CAAC,CACtF,CAAC,EACDA,EAAQ,iCAAmCG,EAAe,KAAK,OAAO,CAClE,KAAMA,EAAe,KAAK,QAAQ,wBAAwB,EAC1D,OAAQA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACjE,OAAQH,EAAQ,aAChB,QAASA,EAAQ,aACjB,OAAQG,EAAe,KAAK,KAAK,EACjC,MAAOA,EAAe,KAAK,OAAO,CAC9B,EAAGA,EAAe,KAAK,OAAO,EAC9B,EAAGA,EAAe,KAAK,OAAO,CAClC,CAAC,CACL,CAAC,EACDH,EAAQ,gCAAkCG,EAAe,KAAK,OAAO,CACjE,KAAMA,EAAe,KAAK,QAAQ,iBAAiB,EACnD,OAAQA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACjE,OAAQH,EAAQ,aAChB,QAASA,EAAQ,aACjB,OAAQG,EAAe,KAAK,KAAK,EACjC,QAASA,EAAe,KAAK,SAASA,EAAe,KAAK,KAAK,CAAC,EAChE,MAAOA,EAAe,KAAK,OAAO,CAC9B,EAAGA,EAAe,KAAK,OAAO,EAC9B,EAAGA,EAAe,KAAK,OAAO,CAClC,CAAC,CACL,CAAC,EACDH,EAAQ,+BAAiCG,EAAe,KAAK,OAAO,CAChE,KAAMA,EAAe,KAAK,QAAQ,gBAAgB,EAClD,OAAQA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACjE,OAAQH,EAAQ,aAChB,QAASA,EAAQ,aACjB,OAAQG,EAAe,KAAK,KAAK,EACjC,QAASA,EAAe,KAAK,SAASA,EAAe,KAAK,KAAK,CAAC,EAChE,MAAOA,EAAe,KAAK,OAAO,CAC9B,EAAGA,EAAe,KAAK,OAAO,EAC9B,EAAGA,EAAe,KAAK,OAAO,CAClC,CAAC,CACL,CAAC,EACDH,EAAQ,2BAA6BG,EAAe,KAAK,OAAO,CAC5D,KAAMA,EAAe,KAAK,QAAQ,YAAY,EAC9C,OAAQA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACjE,OAAQA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAC5D,KAAMF,GAAY,MAAM,sBACxB,IAAKE,EAAe,KAAK,MAAM,CAACA,EAAe,KAAK,OAAO,EAAGA,EAAe,KAAK,OAAO,CAAC,CAAC,EAC3F,OAAQA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,CACrE,CAAC,CAAC,EACF,cAAeA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACxE,WAAYA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACrE,SAAUA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACnE,aAAcA,EAAe,KAAK,SAASA,EAAe,KAAK,KAAK,CAAC,EACrE,aAAcA,EAAe,KAAK,SAASA,EAAe,KAAK,KAAK,CAAC,EACrE,aAAcA,EAAe,KAAK,SAASA,EAAe,KAAK,KAAK,CAAC,EACrE,cAAeA,EAAe,KAAK,SAASA,EAAe,KAAK,KAAK,CAAC,EACtE,WAAYA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,CACzE,CAAC,EACDH,EAAQ,4BAA8BG,EAAe,KAAK,OAAO,CAC7D,KAAMA,EAAe,KAAK,QAAQ,aAAa,EAC/C,OAAQA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACjE,KAAMH,EAAQ,aACd,MAAOG,EAAe,KAAK,OAAO,CACtC,CAAC,EACDH,EAAQ,2BAA6BG,EAAe,KAAK,OAAO,CAC5D,KAAMA,EAAe,KAAK,QAAQ,YAAY,EAC9C,OAAQA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACjE,QAASA,EAAe,KAAK,OAAO,EACpC,UAAWA,EAAe,KAAK,OAAO,EACtC,UAAWF,GAAY,MAAM,qBAC7B,UAAWE,EAAe,KAAK,SAASA,EAAe,KAAK,MAAM,CAACA,EAAe,KAAK,QAAQ,EAAGA,EAAe,KAAK,UAAU,CAAC,CAAC,CAAC,CACvI,CAAC,EACDH,EAAQ,6BAA+BG,EAAe,KAAK,OAAO,CAC9D,KAAMA,EAAe,KAAK,QAAQ,cAAc,EAChD,OAAQA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACjE,YAAaA,EAAe,KAAK,OAAO,CAC5C,CAAC,EACDH,EAAQ,2BAA6BG,EAAe,KAAK,OAAO,CAC5D,KAAMA,EAAe,KAAK,QAAQ,YAAY,EAC9C,OAAQA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACjE,KAAMA,EAAe,KAAK,OAAO,EACjC,MAAOA,EAAe,KAAK,SAASA,EAAe,KAAK,MAAM,CAACA,EAAe,KAAK,OAAO,EAAGA,EAAe,KAAK,OAAO,CAAC,CAAC,CAAC,CAC/H,CAAC,EACDH,EAAQ,6BAA+BG,EAAe,KAAK,OAAO,CAC9D,KAAMA,EAAe,KAAK,QAAQ,cAAc,EAChD,OAAQA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACjE,OAAQA,EAAe,KAAK,KAAK,CACrC,CAAC,EACDH,EAAQ,0BAA4BG,EAAe,KAAK,OAAO,CAC3D,KAAMA,EAAe,KAAK,QAAQ,WAAW,EAC7C,OAAQA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,CACrE,CAAC,EACDH,EAAQ,sCAAwCG,EAAe,KAAK,OAAO,CACvE,KAAMA,EAAe,KAAK,QAAQ,uBAAuB,EACzD,OAAQA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EACjE,UAAWA,EAAe,KAAK,OAAO,CAC1C,CAAC,EACDH,EAAQ,iBAAmBG,EAAe,KAAK,MAAM,CACjDH,EAAQ,8BACRA,EAAQ,wBACRA,EAAQ,yCACRA,EAAQ,sCACRA,EAAQ,iCACRA,EAAQ,gCACRA,EAAQ,+BACRA,EAAQ,2BACRA,EAAQ,4BACRA,EAAQ,2BACRA,EAAQ,6BACRA,EAAQ,0BACRA,EAAQ,2BACRA,EAAQ,6BACRA,EAAQ,qCACZ,CAAC,EACDA,EAAQ,mBAAqBG,EAAe,KAAK,OAAO,CACpD,OAAQA,EAAe,KAAK,OAAO,EACnC,IAAKA,EAAe,KAAK,OAAO,EAChC,SAAUA,EAAe,KAAK,KAAK,EACnC,WAAYA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAChE,QAASA,EAAe,KAAK,OAAO,EACpC,QAASA,EAAe,KAAK,OAAO,CACxC,CAAC,CAAC,EACF,KAAMA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAC1D,KAAMF,GAAY,MAAM,oBACxB,GAAIE,EAAe,KAAK,SAASA,EAAe,KAAK,KAAK,CAAC,EAC3D,KAAMA,EAAe,KAAK,SAASA,EAAe,KAAK,OAAO,CAAC,EAC/D,KAAMA,EAAe,KAAK,SAASA,EAAe,KAAK,MAAM,CAACA,EAAe,KAAK,OAAO,EAAGA,EAAe,KAAK,OAAO,CAAC,CAAC,CAAC,CAC9H,CAAC,CAAC,EACF,WAAYA,EAAe,KAAK,MAAMH,EAAQ,gBAAgB,CAClE,CAAC,EACDA,EAAQ,uBAAyBG,EAAe,KAAK,OAAO,CACxD,KAAMD,GAAS,eACf,kBAAmBC,EAAe,KAAK,OAAO,EAC9C,YAAaH,EAAQ,kBACzB,CAAC,EACDA,EAAQ,gBAAkBG,EAAe,KAAK,OAAO,CACjD,UAAWA,EAAe,KAAK,OAAO,EACtC,UAAWA,EAAe,KAAK,OAAO,CAC1C,CAAC,EACDH,EAAQ,wBAA0BG,EAAe,KAAK,MAAM,CACxDA,EAAe,KAAK,UAAU,CAC1BA,EAAe,KAAK,OAAO,CACvB,KAAMA,EAAe,KAAK,QAAQ,wBAAwB,CAC9D,CAAC,EACDF,GAAY,MAAM,sBACtB,CAAC,EACDE,EAAe,KAAK,UAAU,CAC1BA,EAAe,KAAK,OAAO,CACvB,KAAMA,EAAe,KAAK,QAAQ,kBAAkB,CACxD,CAAC,EACDF,GAAY,MAAM,gBACtB,CAAC,EACDE,EAAe,KAAK,UAAU,CAC1BA,EAAe,KAAK,OAAO,CACvB,KAAMA,EAAe,KAAK,QAAQ,mCAAmC,CACzE,CAAC,EACDF,GAAY,MAAM,iCACtB,CAAC,EACDE,EAAe,KAAK,UAAU,CAC1BA,EAAe,KAAK,OAAO,CACvB,KAAMA,EAAe,KAAK,QAAQ,gCAAgC,CACtE,CAAC,EACDF,GAAY,MAAM,8BACtB,CAAC,EACDE,EAAe,KAAK,UAAU,CAC1BA,EAAe,KAAK,OAAO,CACvB,KAAMA,EAAe,KAAK,QAAQ,0BAA0B,CAChE,CAAC,EACDF,GAAY,MAAM,wBACtB,CAAC,EACDE,EAAe,KAAK,UAAU,CAC1BA,EAAe,KAAK,OAAO,CACvB,KAAMA,EAAe,KAAK,QAAQ,yBAAyB,CAC/D,CAAC,EACDF,GAAY,MAAM,uBACtB,CAAC,EACDE,EAAe,KAAK,UAAU,CAC1BA,EAAe,KAAK,OAAO,CACvB,KAAMA,EAAe,KAAK,QAAQ,iCAAiC,CACvE,CAAC,EACDF,GAAY,MAAM,+BACtB,CAAC,EACDE,EAAe,KAAK,UAAU,CAC1BA,EAAe,KAAK,OAAO,CACvB,KAAMA,EAAe,KAAK,QAAQ,qBAAqB,CAC3D,CAAC,EACDF,GAAY,MAAM,mBACtB,CAAC,EACDE,EAAe,KAAK,UAAU,CAC1BA,EAAe,KAAK,OAAO,CACvB,KAAMA,EAAe,KAAK,QAAQ,sBAAsB,CAC5D,CAAC,EACDF,GAAY,MAAM,oBACtB,CAAC,EACDE,EAAe,KAAK,UAAU,CAC1BA,EAAe,KAAK,OAAO,CACvB,KAAMA,EAAe,KAAK,QAAQ,qBAAqB,CAC3D,CAAC,EACDF,GAAY,MAAM,mBACtB,CAAC,EACDE,EAAe,KAAK,UAAU,CAC1BA,EAAe,KAAK,OAAO,CACvB,KAAMA,EAAe,KAAK,QAAQ,uBAAuB,CAC7D,CAAC,EACDF,GAAY,MAAM,qBACtB,CAAC,EACDE,EAAe,KAAK,UAAU,CAC1BA,EAAe,KAAK,OAAO,CACvB,KAAMA,EAAe,KAAK,QAAQ,qBAAqB,CAC3D,CAAC,EACDF,GAAY,MAAM,mBACtB,CAAC,EACDE,EAAe,KAAK,UAAU,CAC1BA,EAAe,KAAK,OAAO,CACvB,KAAMA,EAAe,KAAK,QAAQ,uBAAuB,CAC7D,CAAC,EACDF,GAAY,MAAM,qBACtB,CAAC,EACDE,EAAe,KAAK,UAAU,CAC1BA,EAAe,KAAK,OAAO,CACvB,KAAMA,EAAe,KAAK,QAAQ,gCAAgC,CACtE,CAAC,EACDF,GAAY,MAAM,8BACtB,CAAC,CACL,CAAC,ICtQD,IAAAG,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,qBAAuBA,GAAQ,eAAiBA,GAAQ,yBAA2BA,GAAQ,0BAA4BA,GAAQ,0BAA4BA,GAAQ,uBAAyBA,GAAQ,qBAAuBA,GAAQ,qBAAuB,OAClQ,IAAMC,GAAW,KACXC,GAAiB,KACvBF,GAAQ,qBAAuBE,GAAe,KAAK,OAAO,CACtD,OAAQA,GAAe,KAAK,OAAO,EACnC,IAAKA,GAAe,KAAK,OAAO,EAChC,QAASA,GAAe,KAAK,OAAO,EACpC,UAAWA,GAAe,KAAK,OAAO,EACtC,cAAeA,GAAe,KAAK,OAAO,EAC1C,WAAYA,GAAe,KAAK,OAAO,CAC3C,CAAC,EACDF,GAAQ,qBAAuBE,GAAe,KAAK,OAAO,CACtD,YAAaA,GAAe,KAAK,OAAO,EACxC,OAAQA,GAAe,KAAK,OAAO,CACvC,CAAC,EACDF,GAAQ,uBAAyBE,GAAe,KAAK,OAAO,CACxD,aAAcA,GAAe,KAAK,SAASA,GAAe,KAAK,OAAO,CAAC,EACvE,gBAAiBA,GAAe,KAAK,SAASA,GAAe,KAAK,QAAQ,CAAC,EAC3E,SAAUA,GAAe,KAAK,SAASF,GAAQ,oBAAoB,CACvE,CAAC,EACDA,GAAQ,0BAA4BE,GAAe,KAAK,OAAO,CAC3D,OAAQA,GAAe,KAAK,OAAO,EACnC,YAAaA,GAAe,KAAK,OAAO,EACxC,OAAQA,GAAe,KAAK,OAAO,EACnC,QAASA,GAAe,KAAK,OAAO,EACpC,IAAKA,GAAe,KAAK,OAAO,EAChC,UAAWA,GAAe,KAAK,OAAO,EACtC,cAAeA,GAAe,KAAK,OAAO,EAC1C,WAAYA,GAAe,KAAK,SAASA,GAAe,KAAK,MAAMA,GAAe,KAAK,OAAO,CAAC,CAAC,EAChG,mBAAoBA,GAAe,KAAK,SAASF,GAAQ,sBAAsB,CACnF,CAAC,EACDA,GAAQ,0BAA4BE,GAAe,KAAK,OAAO,CAC3D,OAAQA,GAAe,KAAK,OAAO,EACnC,QAASA,GAAe,KAAK,OAAO,EACpC,SAAUA,GAAe,KAAK,SAASA,GAAe,KAAK,OAAO,CAAC,EACnE,OAAQD,GAAS,eACjB,IAAKC,GAAe,KAAK,OAAO,EAChC,QAASA,GAAe,KAAK,OAAO,EACpC,UAAWA,GAAe,KAAK,OAAO,EACtC,cAAeA,GAAe,KAAK,OAAO,CAC9C,CAAC,EACDF,GAAQ,yBAA2BE,GAAe,KAAK,OAAO,CAC1D,OAAQA,GAAe,KAAK,OAAO,EACnC,SAAUA,GAAe,KAAK,OAAO,EACrC,IAAKA,GAAe,KAAK,OAAO,EAChC,QAASA,GAAe,KAAK,OAAO,EACpC,UAAWA,GAAe,KAAK,OAAO,EACtC,cAAeA,GAAe,KAAK,OAAO,CAC9C,CAAC,EACDF,GAAQ,eAAiBE,GAAe,KAAK,OAAO,CAChD,OAAQA,GAAe,KAAK,SAASF,GAAQ,oBAAoB,EACjE,YAAaE,GAAe,KAAK,SAASF,GAAQ,yBAAyB,EAC3E,YAAaE,GAAe,KAAK,SAASF,GAAQ,yBAAyB,EAC3E,WAAYE,GAAe,KAAK,SAASF,GAAQ,wBAAwB,CAC7E,CAAC,EACDA,GAAQ,qBAAuBE,GAAe,KAAK,OAAO,CACtD,KAAMD,GAAS,eACf,OAAQC,GAAe,KAAK,OAAO,EACnC,UAAWF,GAAQ,eACnB,SAAUE,GAAe,KAAK,SAASA,GAAe,KAAK,QAAQ,CAAC,CACxE,CAAC,IC9DD,IAAAC,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5D,IAAMC,GAAU,cAChBA,GAAQ,aAAa,KAAkBD,EAAO,EAC9CC,GAAQ,aAAa,KAAsBD,EAAO,EAClDC,GAAQ,aAAa,KAAuBD,EAAO,EACnDC,GAAQ,aAAa,KAAqBD,EAAO,EACjDC,GAAQ,aAAa,KAAmBD,EAAO,EAC/CC,GAAQ,aAAa,KAAuBD,EAAO,EACnDC,GAAQ,aAAa,KAAqBD,EAAO,EACjDC,GAAQ,aAAa,KAAuBD,EAAO,EACnDC,GAAQ,aAAa,KAA0BD,EAAO,EACtDC,GAAQ,aAAa,KAA0BD,EAAO,EACtDC,GAAQ,aAAa,KAA0BD,EAAO,EACtDC,GAAQ,aAAa,KAAsBD,EAAO,EAClDC,GAAQ,aAAa,KAAyBD,EAAO,EACrDC,GAAQ,aAAa,KAA2BD,EAAO,EACvDC,GAAQ,aAAa,KAAyBD,EAAO,EACrDC,GAAQ,aAAa,KAA0BD,EAAO,EACtDC,GAAQ,aAAa,KAAwBD,EAAO,ICnBpD,IAAAE,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,qBAAuB,OAC/B,IAAMC,GAAU,cAChBA,GAAQ,aAAa,KAAwBD,EAAO,EACpDC,GAAQ,aAAa,KAAqBD,EAAO,EACjDC,GAAQ,aAAa,KAAoBD,EAAO,EAChD,IAAIE,GAAoB,KACxB,OAAO,eAAeF,GAAS,uBAAwB,CAAE,WAAY,GAAM,IAAK,UAAY,CAAE,OAAOE,GAAkB,oBAAsB,CAAE,CAAC,ICRhJ,IAAAC,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5D,IAAMC,GAAU,cACVC,GAAWD,GAAQ,gBAAgB,GAAQ,QAAQ,CAAC,EACpDE,GAASF,GAAQ,aAAa,IAA+C,EAC7EG,GAAW,KACXC,GAAY,KACZC,GAAU,KACVC,GAAW,KACXC,GAAU,KACVC,GAASR,GAAQ,aAAa,IAAmB,EACjDS,GAAQT,GAAQ,aAAa,IAAkB,EAC/CU,GAAWV,GAAQ,gBAAgB,IAA0B,EAC7DW,GAAoB,KACpBC,GAAe,IAAIX,GAAS,QAC5BY,MAAWR,GAAQ,SAAS,qBAAqB,EACnDS,MAAgBH,GAAkB,sBAAsB,EACxDI,GACEC,MAAsBT,GAAQ,uBAAuB,CAAE,UAAW,CAAE,CAAC,EACrEU,GAAmBC,EAAA,IAAM,CAC3B,IAAMC,EAAK,IAAIV,GAAM,aAAaK,GAAW,CAAE,OAAQD,EAAK,CAAC,EAC7D,OAAAM,EAAG,GAAGhB,GAAS,MAAM,OAASiB,GAAU,CACpCZ,GAAO,YAAY,CACf,KAAML,GAAS,MAAM,OACrB,QAASiB,EAAQ,CAAE,MAAAA,CAAM,EAAI,IACjC,CAAC,CACL,CAAC,EACMD,CACX,EATyB,oBAUnBE,GAAWH,EAACI,GAAS,CACvBR,MAAgBH,GAAkB,sBAAsB,OAAO,OAAO,OAAO,OAAO,CAAC,EAAGG,EAAS,EAAG,CAAE,SAAUQ,CAAK,CAAC,CAAC,CAC3H,EAFiB,YAGXC,GAAUL,EAAA,KACZN,GAAa,mBAAmB,EAChCJ,GAAO,QAAQ,EACfM,MAAgBH,GAAkB,sBAAsB,EACpDI,IACAA,GAAc,MAAM,EAEjB,QAAQ,QAAQ,MAAS,GAPpB,WASVS,GAASN,EAACE,GAAU,CAClBL,IACAA,GAAc,KAAKZ,GAAS,MAAM,OAAQiB,CAAK,CAEvD,EAJe,UAKTK,GAAgBP,EAACQ,GAAiB,CACpC,GAAIA,EAAa,SAAWlB,GAAO,OAC/B,OACJ,IAAMmB,KAAcxB,GAAS,cAAcuB,EAAa,IAAI,EAE5D,OADAb,GAAK,IAAI,gBAAiBc,CAAO,EACzBA,EAAQ,MAAO,CACnB,KAAKxB,GAAS,eAAgB,CAC1B,GAAM,CAAE,GAAAyB,EAAK,EAAG,QAAAC,EAAS,QAAAC,CAAQ,EAAIH,EACpBX,GAAgB,QAAQY,EAAI,CAAE,GAAAA,EAAI,QAAAC,EAAS,QAAAC,CAAQ,CAAC,GAEjEjB,GAAK,KAAK,sBAAsBe,CAAE,EAAE,EACxC,KACJ,CACA,KAAKzB,GAAS,aACVS,GAAa,KAAKe,EAAQ,MAAOA,CAAO,EACxCf,GAAa,KAAKe,EAAQ,KAAMA,EAAQ,OAAO,EAC/C,MACJ,KAAKxB,GAAS,gBACVS,GAAa,KAAKe,EAAQ,MAAOA,CAAO,EACxCf,GAAa,KAAKe,EAAQ,KAAMA,EAAQ,OAAO,EAC/C,MACJ,KAAKxB,GAAS,iBACVS,GAAa,KAAKe,EAAQ,MAAOA,CAAO,EACxCf,GAAa,KAAKe,EAAQ,KAAMA,EAAQ,OAAO,EAC/C,MACJ,KAAKxB,GAAS,SACV,GAAIwB,EAAQ,OAASxB,GAAS,OAAO,UAAW,CAC5CK,GAAO,aAAa,EACpB,KACJ,CACImB,EAAQ,OAASxB,GAAS,OAAO,QACjCK,GAAO,YAAY,QAAQ,EAE3BmB,EAAQ,OAASxB,GAAS,OAAO,OACjCK,GAAO,YAAY,OAAOmB,EAAQ,QAAQ,KAAK,EAEnDf,GAAa,KAAKe,EAAQ,MAAOA,CAAO,EACxCf,GAAa,KAAKe,EAAQ,KAAMA,EAAQ,OAAO,EAC/C,MACJ,QACId,GAAK,IAAI,oBAAqBa,EAAa,IAAI,CACvD,CACJ,EA1CsB,iBA2ChBK,GAAOb,EAAA,MAAOc,EAAW,CAAC,IAAM,CAClC,IAAIC,EACJ,GAAIzB,GAAO,SACP,MAAMN,GAAO,WAAW,yBAAyB,EAGrD,GADAY,MAAgBH,GAAkB,sBAAsB,OAAO,OAAO,OAAO,OAAO,CAAC,EAAGG,EAAS,EAAGkB,CAAQ,CAAC,EACzG,CAAClB,GAAU,SACX,MAAMZ,GAAO,WAAW,sBAAsB,EAKlD,GAHO,GAAA+B,EAAKnB,GAAU,cAAgB,MAAQmB,IAAO,SAAkBA,EAAG,SACtEnB,GAAU,WAAa,CAAC,kBAAmB,iBAAiB,GAE5DA,GAAU,SAAU,CACpBA,GAAU,SAAW,GACrB,MACJ,CACKC,KACDA,GAAgBE,GAAiB,GAErCJ,GAAK,QAAU,CAAC,CAACC,GAAU,MAC3B,OAAO,iBAAiB,UAAWW,EAAa,EAChD,OAAO,iBAAiB,SAAUF,EAAO,EACzC,MAAMf,GAAO,KAAKM,EAAS,EACvBA,GAAU,eAAiB,IAC3BN,GAAO,iBAAiB,CAEhC,EA1Ba,QA2BP0B,GAAOhB,EAAA,MAAOiB,GAAW,CAC3B,GAAI,CAAC3B,GAAO,UAAY,CAACA,GAAO,QAAS,CAErC,GADAM,MAAgBH,GAAkB,sBAAsBG,EAAS,EAC7D,CAACA,GAAU,SACX,SAAWX,GAAS,oBAAoBD,GAAO,WAAW,sBAAsB,CAAC,EAEhFa,KACDA,GAAgBE,GAAiB,GAErCF,GAAc,QAAQ,EACtB,GAAI,CACA,MAAMgB,GAAKjB,EAAS,CACxB,OACOM,EAAO,CACV,OAAIL,KACI,CAAC,qBAAsB,oBAAoB,EAAE,SAASK,EAAM,IAAI,EAChEL,GAAc,eAAgBZ,GAAS,iBAAiBA,GAAS,GAAG,cAAc,CAAC,EAGnFY,GAAc,MAAM,MAGjBZ,GAAS,oBAAoBiB,CAAK,CACjD,CACJ,CACA,GAAIZ,GAAO,QACP,SAAWL,GAAS,oBAAoBD,GAAO,WAAW,sBAAsB,CAAC,EAErF,GAAIM,GAAO,MACP,SAAWL,GAAS,oBAAoBK,GAAO,KAAK,EAEpDM,GAAU,OAASC,IACnBA,GAAc,QAAQ,EAE1B,GAAI,CACA,GAAM,CAAE,UAAAqB,EAAW,QAAAC,CAAQ,EAAIrB,GAAgB,OAAO,EACtDR,GAAO,YAAY,CAAE,GAAI4B,EAAW,KAAMjC,GAAS,OAAO,KAAM,QAASgC,CAAO,CAAC,EACjF,IAAMG,EAAW,MAAMD,EACvB,OAAIC,GACI,CAACA,EAAS,SACVA,EAAS,QAAQ,OAAS,yBAC1BvB,IACAA,GAAc,OAAO,EAElBuB,IAEPvB,IACAA,GAAc,OAAO,KAEdZ,GAAS,oBAAoBD,GAAO,WAAW,mBAAmB,CAAC,EAClF,OACOkB,EAAO,CACV,OAAAP,GAAK,MAAM,eAAgBO,CAAK,EAC5BL,IACAA,GAAc,MAAM,EAAK,KAElBZ,GAAS,oBAAoBiB,CAAK,CACjD,CACJ,EA1Da,QA2DPmB,GAAarB,EAACoB,GAAa,CAC7B,GAAI,CAAC9B,GAAO,SACR,MAAMN,GAAO,WAAW,qBAAqB,EAEjDM,GAAO,YAAY8B,CAAQ,CAC/B,EALmB,cAMbE,GAAqBtB,EAACuB,GAAc,IAClC/B,GAAS,SAAS+B,EAAW3B,GAAU,SAAS,CACxD,EAF2B,sBAGrB4B,GAAexB,EAAA,MAAOiB,GAAW,CACnC,GAAI,OAAOA,EAAO,UAAa,WAAY,CACvC,GAAM,CAAE,SAAAQ,CAAS,EAAIR,EACfS,EAAyB1B,EAAA,MAAO2B,GAAU,CAC5C,GAAM,CAAE,KAAAvB,CAAK,EAAIuB,EACjB,GAAIvB,GAAQA,EAAK,OAASnB,GAAS,GAAG,wBAClC,GAAI,CACA,IAAM2B,EAAU,MAAMa,EAAS,EAC/BnC,GAAO,YAAY,CACf,KAAML,GAAS,GAAG,yBAClB,QAAA2B,CACJ,CAAC,CACL,OACOV,EAAO,CACVZ,GAAO,YAAY,CACf,KAAML,GAAS,GAAG,yBAClB,QAASiB,EAAM,OACnB,CAAC,CACL,CAER,EAjB+B,0BAkB/B,OAAO,iBAAiB,UAAWwB,EAAwB,EAAK,EAChE,IAAMN,EAAW,MAAMJ,GAAK,OAAO,OAAO,OAAO,OAAO,CAAE,OAAQ,cAAe,EAAGC,CAAM,EAAG,CAAE,eAAgB,GAAM,SAAU,IAAK,CAAC,CAAC,EACtI,cAAO,oBAAoB,UAAWS,CAAsB,EACrDN,CACX,CACA,OAAOJ,GAAK,OAAO,OAAO,CAAE,OAAQ,cAAe,EAAGC,CAAM,CAAC,CACjE,EA3BqB,gBA4BfW,GAAgB5B,EAAA,IAAM,CACxB,GAAI,CAACV,GAAO,SACR,MAAMN,GAAO,WAAW,qBAAqB,EAEjDM,GAAO,YAAY,CAAE,KAAML,GAAS,UAAU,cAAe,CAAC,CAClE,EALsB,iBAMhB4C,GAAsB7B,EAAA,SAAY,CACpC,GAAI,CACA,MAAM,OAAO,UAAU,IAAI,cAAc,CAAE,QAASZ,GAAS,OAAO,MAAO,CAAC,EAC5EE,GAAO,YAAY,CAAE,KAAML,GAAS,UAAU,cAAe,CAAC,CAClE,MACa,CACb,CACJ,EAP4B,uBAQtB6C,MAAoB5C,GAAU,SAAS,CACzC,aAAAQ,GACA,SAAAS,GACA,KAAAU,GACA,KAAAG,GACA,aAAAQ,GACA,WAAAH,GACA,mBAAAC,GACA,cAAAM,GACA,oBAAAC,GACA,OAAAvB,GACA,QAAAD,EACJ,CAAC,EACDxB,GAAQ,QAAUiD,GAClBhD,GAAQ,aAAa,KAAwCD,EAAO,ICzOpE,OAAS,aAAAkD,GAAW,YAAAC,GAAU,eAAAC,OAAmB,4BACjD,MAAwD,cCNxD,OAAS,iBAAAC,OAAqB,wBAC9B,OAAS,qBAAAC,GAAmB,YAAAC,OAAgB,4BCF5C,IAAIC,GAAiB,GAEd,SAASC,GAAkBC,EAAc,CAC9CF,GAAiBE,CACnB,CAFgBC,EAAAF,GAAA,qBAIT,SAASG,IAAoB,CAClC,OAAOJ,EACT,CAFgBG,EAAAC,GAAA,qBDChB,eAAsBC,IAAkB,CACtC,IAAMC,EAAM,KAAM,wCAGlB,OAAIA,EAAI,QAAQ,QAGPA,EAAI,QAAQ,QAGdA,EAAI,OACb,CAXsBC,EAAAF,GAAA,mBAaf,SAASG,GAAsBC,EAAY,CAChD,OAAIA,GAAO,aAKF,IAAI,MAAMA,EAAM,aAAc,CAAE,MAAOA,CAAM,CAAC,EAEhDC,GAAcD,CAAK,CAC5B,CATgBF,EAAAC,GAAA,yBAWT,SAASG,IAAoB,CAKlC,IAAMC,EAAY,IAAI,IAEtB,OAAAA,EAAU,IAAIC,GAAS,SAAU,CAAE,QAASC,EAAkB,CAAC,EAExDF,CACT,CAVgBL,EAAAI,GAAA,qBAYhB,eAAsBI,IAGnB,CAED,IAAMC,EAAS,MADO,MAAMX,GAAgB,GACT,mBAAmB,CACpD,KAAMY,GAAkB,CAC1B,CAAC,EAED,GAAI,CAACD,EAAO,QACV,MAAM,IAAI,MAAMA,EAAO,QAAQ,KAAK,EAGtC,MAAO,CACL,SAAU,CAACA,EAAO,QAAQ,OAAO,EACjC,QAASF,EACX,CACF,CAjBsBP,EAAAQ,GAAA,uBAuBf,IAAMG,GAAaX,EAACY,GAAkB,CAC3C,IAAMC,EAAc,OAAO,CAAC,EAE5B,OAAO,OAAOD,CAAK,EAAIC,EACnB,KAAK,OAAOD,CAAK,EAAE,SAFN,EAEuB,CAAC,GACrC,KACN,EAN0B,cAQbE,GAAoCd,EAC/Ce,GACIA,GAAQ,CAACA,EAAK,WAAW,IAAI,EAAI,KAAOA,EAAOA,EAFJ,qCEzEjD,OAAS,wBAAAC,GAAsB,mBAAmBC,OAAc,cCAhE,OAAS,4BAAAC,OAAgC,4BACzC,OAAS,mBAAAC,GAAiB,eAAAC,OAAmB,SAC7C,MAAmC,cAS5B,IAAMC,GAAN,KAA8D,CAbrE,MAaqE,CAAAC,EAAA,uBACnE,MAAM,YAAYC,EAA8B,CAC9C,IAAMC,EAAgB,MAAMC,GAAgB,EAEtC,CAAE,QAAAC,EAAS,QAAAC,CAAQ,EAAI,MAAMH,EAAc,YAAY,CAC3D,QAASD,EACT,KAAMK,GAAkB,CAC1B,CAAC,EACD,GAAI,CAACF,EACH,MAAM,IAAI,MAAMC,EAAQ,KAAK,EAE/B,OAAOA,EAAQ,SACjB,CAEA,MAAM,cACJE,EACAC,EACAC,EAC2B,CAC3B,GAAI,CACF,IAAMP,EAAgB,MAAMC,GAAgB,EACtC,CAAE,SAAAO,EAAU,aAAAC,EAAc,qBAAAC,CAAqB,EAAIL,EACnDM,EAAYF,GAAgBC,EAElC,GAAIC,GAAa,CAACF,EAChB,MAAM,IAAI,MAAM,sBAAsB,EAExC,GAAIE,GAAa,CAACD,EAChB,MAAM,IAAI,MAAM,8BAA8B,EAEhD,GAAI,CAACC,GAAa,CAACH,EACjB,MAAM,IAAI,MAAM,kBAAkB,EAEpC,IAAMI,EAAW,IAAIC,GAAgBC,EAAwB,EACvDC,EAAmB,MAAMH,EAAS,oBAAoBN,CAAW,EACjEU,EAAmBL,EACrB,CACE,aAAcM,GAAWR,GAAgB,GAAG,EAC5C,qBAAsBQ,GAAWP,GAAwB,GAAG,CAC9D,EACA,CACE,SAAUO,GAAWT,GAAY,GAAG,CACtC,EAEEU,EAAc,CAClB,GAAIb,EAAG,GACP,KAAMA,EAAG,MAAQ,KACjB,MAAOY,GAAWZ,EAAG,OAAO,SAAS,GAAK,GAAG,EAC7C,SAAUY,GAAWZ,EAAG,UAAU,SAAS,GAAK,GAAG,EACnD,QAAS,OAAO,SAASE,CAAO,EAChC,MAAOU,GAAWF,EAAiB,SAAS,CAAC,EAC7C,GAAGC,CACL,EAEM,CAAE,QAAAd,EAAS,QAAAC,CAAQ,EAAI,MAAMH,EAAc,wBAAwB,CACvE,KAAMI,GAAkB,EACxB,YAAAc,CACF,CAAC,EACD,GAAI,CAAChB,EACH,MAAM,IAAI,MAAMC,EAAQ,KAAK,EAE/B,GAAM,CAAE,EAAAgB,EAAG,EAAAC,EAAG,EAAAC,CAAE,EAAIlB,EAEdmB,EAAeC,GAAY,KAAK,CACpC,GAAGL,EACH,MAAO,OAAO,SAASA,EAAY,KAAK,EAMxC,KAAMP,EAAY,EAAI,EACtB,UAAW,CAAE,EAAAQ,EAAG,EAAAC,EAAG,EAAG,SAASC,CAAC,CAAE,CACpC,CAAC,EAAE,WAGH,MAAO,CAAE,MAFe,MAAMT,EAAS,qBAAqBU,CAAY,GAEzC,IAAK,CACtC,OAASE,EAAO,CACd,MAAMC,GAAsBD,CAAK,CACnC,CACF,CACF,EDxFe,SAARE,IAA6C,CAClD,IAAMC,EAAU,IAAIC,GACpB,OAAAD,EAAQ,eAAeE,GAAO,IAAK,IAAIC,EAAgB,EAChDH,CACT,CAJwBI,EAAAL,GAAA,cHaxB,IAAIM,GAA2C,CAC7C,OAAQ,GACR,MAAO,EACT,EACaC,GAAS,CACpB,KAAMC,GAAY,MACpB,EAIaC,GAAOC,EAACC,GAA+B,CAClDL,GAAiBK,EAAa,QAChC,EAFoB,QAIPC,GAAcC,GAEvBC,GAAsB,GACbC,GAAmBL,EAAA,MAAO,CAAE,WAAAM,CAAW,IAAM,CACxD,IAAMC,EAAmC,CAAC,EAEpCC,EAAgB,MAAMC,GAAgB,EAEtCC,EAAeJ,GAAY,KAC9BK,GAAkBA,EAAc,YAAcC,GAAU,GAC3D,EAEA,GAAIF,EACF,GAAIA,EAAa,eAAgB,CAC/BG,GACEC,GAAkCJ,EAAa,cAAc,CAC/D,EAEKN,KACH,MAAMI,EAAc,KAAK,CACvB,SAAU,GACV,SAAUZ,EACZ,CAAC,EAEDQ,GAAsB,IAGxB,IAAMW,EAAW,MAAMC,GAAoB,EAC3CT,EAAQ,KAAKQ,CAAQ,CACvB,KACE,OAAM,IAAI,MAAM,mCAAmC,MAGrD,OAAM,IAAI,MACR,2GAA2GT,GAAY,IACpHK,GAAkBA,EAAc,SACnC,CAAC,EACH,EAGF,OAAOJ,CACT,EAtCgC,WAwCnBU,GAA+CA,GAE/CC,GAAkElB,EAC7EmB,GACG,CACH,IAAMC,EAAoC,CAAC,EAErCC,EAAqBF,EAAe,KACvCG,GAAUA,EAAM,OAASC,GAAS,QACrC,EACA,OAAIF,GACFD,EAAgB,KAAKC,CAAkB,EAElC,CACL,KAAM,SACN,IAAK,uFACL,YAAa,CACX,QAAS,wDACX,EACA,MAAO,QACP,gBAAAD,EACA,WAAY,CAACR,GAAU,GAAG,EAC1B,gBAAiB,GACjB,aAAc,GACd,oBAAqB,EACvB,CACF,EAxB+E",
|
|
6
|
+
"names": ["tslib_es6_exports", "__export", "__addDisposableResource", "__assign", "__asyncDelegator", "__asyncGenerator", "__asyncValues", "__await", "__awaiter", "__classPrivateFieldGet", "__classPrivateFieldIn", "__classPrivateFieldSet", "__createBinding", "__decorate", "__disposeResources", "__esDecorate", "__exportStar", "__extends", "__generator", "__importDefault", "__importStar", "__makeTemplateObject", "__metadata", "__param", "__propKey", "__read", "__rest", "__runInitializers", "__setFunctionName", "__spread", "__spreadArray", "__spreadArrays", "__values", "tslib_es6_default", "d", "b", "extendStatics", "__", "__name", "s", "e", "t", "p", "i", "decorators", "target", "key", "desc", "c", "r", "paramIndex", "decorator", "ctor", "descriptorIn", "contextIn", "initializers", "extraInitializers", "accept", "f", "kind", "descriptor", "_", "done", "context", "result", "thisArg", "value", "useValue", "x", "name", "prefix", "metadataKey", "metadataValue", "_arguments", "P", "generator", "adopt", "resolve", "reject", "fulfilled", "step", "rejected", "body", "y", "g", "verb", "n", "v", "op", "m", "o", "ar", "error", "il", "k", "a", "j", "jl", "to", "from", "pack", "l", "q", "resume", "settle", "fulfill", "cooked", "raw", "mod", "__setModuleDefault", "receiver", "state", "env", "async", "dispose", "fail", "_SuppressedError", "next", "rec", "init_tslib_es6", "__esmMin", "k2", "suppressed", "message", "require_errors", "__commonJSMin", "exports", "TrezorError", "__name", "code", "message", "TypedError", "id", "serializeError", "payload", "require_ui_request", "__commonJSMin", "exports", "createUiMessage", "__name", "type", "payload", "require_ui_response", "__commonJSMin", "exports", "ui_request_1", "createUiResponse", "__name", "type", "payload", "require_blockchain", "__commonJSMin", "exports", "createBlockchainMessage", "__name", "type", "payload", "require_call", "__commonJSMin", "exports", "errors_1", "createResponseMessage", "__name", "id", "success", "payload", "require_core", "__commonJSMin", "exports", "parseMessage", "__name", "messageData", "message", "createErrorMessage", "error", "require_device", "__commonJSMin", "exports", "createDeviceMessage", "__name", "type", "payload", "require_iframe", "__commonJSMin", "exports", "ui_request_1", "createIFrameMessage", "__name", "type", "payload", "require_popup", "__commonJSMin", "exports", "ui_request_1", "createPopupMessage", "__name", "type", "payload", "require_constants", "__commonJSMin", "exports", "T1_HID_PRODUCT", "WEBUSB_FIRMWARE_PRODUCT", "require_transport", "__commonJSMin", "exports", "errors_1", "constants_1", "createTransportMessage", "__name", "type", "payload", "require_ui_promise", "__commonJSMin", "exports", "require_webextension", "__commonJSMin", "exports", "require_events", "__commonJSMin", "exports", "tslib_1", "ui_request_1", "ui_response_1", "require_factory", "__commonJSMin", "exports", "events_1", "factory", "__name", "eventEmitter", "manifest", "init", "call", "requestLogin", "uiResponse", "renderWebUSBButton", "disableWebUSB", "requestWebUSBDevice", "cancel", "dispose", "type", "fn", "params", "require_bufferUtils", "__commonJSMin", "exports", "reverseBuffer", "__name", "src", "buffer", "j", "getChunkSize", "n", "buf", "require_enumUtils", "__commonJSMin", "exports", "getKeyByValue", "obj", "value", "x", "__name", "getValueByKey", "enumKey", "key", "require_versionUtils", "__commonJSMin", "exports", "isVersionArray", "__name", "arr", "i", "versionNumber", "parse", "versionArr", "split", "version", "v", "versionToString", "isNewer", "versionX", "versionY", "parsedX", "parsedY", "isEqual", "strX", "strY", "isNewerOrEqual", "normalizeVersion", "require_xssFilters", "__commonJSMin", "exports", "LT", "SQUOT", "QUOT", "inHTML", "__name", "value", "inSingleQuotes", "inDoubleQuotes", "require_addDashesToSpaces", "__commonJSMin", "exports", "addDashesToSpaces", "__name", "inputString", "require_arrayDistinct", "__commonJSMin", "exports", "arrayDistinct", "__name", "item", "index", "self", "require_arrayPartition", "__commonJSMin", "exports", "arrayPartition", "__name", "array", "condition", "pass", "fail", "elem", "require_arrayShuffle", "__commonJSMin", "exports", "arrayShuffle", "__name", "array", "shuffled", "i", "j", "require_arrayToDictionary", "__commonJSMin", "exports", "validateKey", "__name", "key", "arrayToDictionary", "array", "getKey", "multiple", "prev", "cur", "_a", "require_bytesToHumanReadable", "__commonJSMin", "exports", "units", "bytesToHumanReadable", "__name", "bytes", "size", "i", "require_capitalizeFirstLetter", "__commonJSMin", "exports", "capitalizeFirstLetter", "__name", "str", "require_cloneObject", "__commonJSMin", "exports", "cloneObject", "__name", "obj", "jsonString", "require_countBytesInString", "__commonJSMin", "exports", "countBytesInString", "__name", "input", "require_createCooldown", "__commonJSMin", "exports", "createCooldown", "__name", "cooldownMs", "last", "now", "require_createDeferred", "__commonJSMin", "exports", "createDeferred", "__name", "id", "localResolve", "localReject", "promise", "resolve", "reject", "require_createDeferredManager", "__commonJSMin", "exports", "createDeferred_1", "createDeferredManager", "__name", "options", "initialId", "defaultTimeout", "onTimeout", "promises", "ID", "timeoutHandle", "length", "nextId", "replanTimeout", "now", "nearestDeadline", "prev", "deadline", "timeoutCallback", "promise", "create", "timeout", "promiseId", "deferred", "extract", "index", "id", "value", "error", "require_createTimeoutPromise", "__commonJSMin", "exports", "createTimeoutPromise", "__name", "timeout", "resolve", "require_getLocaleSeparators", "__commonJSMin", "exports", "getLocaleSeparators", "__name", "locale", "_a", "_b", "parts", "decimalSeparator", "type", "thousandsSeparator", "require_getNumberFromPixelString", "__commonJSMin", "exports", "getNumberFromPixelString", "__name", "size", "require_getRandomNumberInRange", "__commonJSMin", "exports", "getRandomNumberInRange", "__name", "min", "max", "require_getSynchronize", "__commonJSMin", "exports", "getSynchronize", "__name", "lock", "action", "newLock", "require_getWeakRandomId", "__commonJSMin", "exports", "getWeakRandomId", "__name", "length", "id", "list", "require_hasUppercaseLetter", "__commonJSMin", "exports", "HAS_UPPERCASE_LATER_REGEXP", "hasUppercaseLetter", "__name", "value", "require_isAscii", "__commonJSMin", "exports", "isAscii", "value", "__name", "require_isHex", "__commonJSMin", "exports", "isHex", "__name", "str", "require_isNotUndefined", "__commonJSMin", "exports", "isNotUndefined", "__name", "item", "require_isUrl", "__commonJSMin", "exports", "URL_REGEXP", "isUrl", "__name", "value", "require_mergeDeepObject", "__commonJSMin", "exports", "isObject", "__name", "obj", "prototype", "mergeDeepObject", "objects", "result", "current", "key", "defaultOptions", "options", "require_objectPartition", "__commonJSMin", "exports", "tslib_1", "objectPartition", "__name", "obj", "keys", "included", "excluded", "key", "_a", "_b", "value", "rest", "require_parseElectrumUrl", "__commonJSMin", "exports", "ELECTRUM_URL_REGEX", "parseElectrumUrl", "__name", "url", "_a", "match", "require_parseHostname", "__commonJSMin", "exports", "HOSTNAME_REGEX", "parseHostname", "__name", "url", "_a", "_b", "require_promiseAllSequence", "__commonJSMin", "exports", "tslib_1", "promiseAllSequence", "__name", "actions", "results", "i", "result", "require_redactUserPath", "__commonJSMin", "exports", "redactUserPathFromString", "__name", "text", "require_scheduleAction", "__commonJSMin", "exports", "tslib_1", "isArray", "__name", "attempts", "abortedBySignal", "abortedByDeadline", "abortedByTimeout", "resolveAfterMs", "ms", "clear", "resolve", "reject", "timeout", "onClear", "rejectAfterMs", "reason", "_", "rejectWhenAborted", "signal", "onAbort", "resolveAction", "action", "aborter", "attemptLoop", "attempt", "failure", "scheduleAction", "params", "delay", "deadline", "gap", "deadlineMs", "attemptCount", "clearAborter", "getParams", "abort", "_a", "require_splitStringEveryNCharacters", "__commonJSMin", "exports", "splitStringEveryNCharacters", "value", "n", "_a", "regex", "__name", "require_throwError", "__commonJSMin", "exports", "throwError", "__name", "reason", "require_topologicalSort", "__commonJSMin", "exports", "arrayPartition_1", "topologicalSort", "__name", "elements", "precedes", "tie", "result", "filterRoots", "verts", "succ", "pred", "elem", "roots", "rest", "require_truncateMiddle", "__commonJSMin", "exports", "truncateMiddle", "__name", "text", "startChars", "endChars", "start", "end", "require_typedEventEmitter", "__commonJSMin", "exports", "events_1", "TypedEmitter", "__name", "eventName", "require_urlToOnion", "__commonJSMin", "exports", "urlToOnion", "__name", "url", "onionDomains", "_a", "protocol", "subdomain", "domain", "rest", "require_logs", "__commonJSMin", "exports", "Log", "__name", "prefix", "enabled", "logWriter", "colors", "level", "timestamp", "args", "message", "err", "require_logsManager", "__commonJSMin", "exports", "logs_1", "LogsManager", "__name", "colors", "prefix", "enabled", "logWriter", "instanceWriter", "instance", "logWriterFactory", "key", "messages", "message", "_a", "logs", "a", "b", "require_bignumber", "__commonJSMin", "exports", "module", "globalObject", "BigNumber", "isNumeric", "mathceil", "mathfloor", "bignumberError", "tooManyDigits", "BASE", "LOG_BASE", "MAX_SAFE_INTEGER", "POWS_TEN", "SQRT_BASE", "MAX", "clone", "configObject", "div", "convertBase", "parseNumeric", "P", "ONE", "DECIMAL_PLACES", "ROUNDING_MODE", "TO_EXP_NEG", "TO_EXP_POS", "MIN_EXP", "MAX_EXP", "CRYPTO", "MODULO_MODE", "POW_PRECISION", "FORMAT", "ALPHABET", "alphabetHasNormalDecimalDigits", "v", "b", "alphabet", "c", "caseChanged", "e", "i", "isNum", "len", "str", "x", "intCheck", "round", "__name", "obj", "p", "n", "s", "out", "maxOrMin", "pow2_53", "random53bitInt", "dp", "a", "k", "rand", "args", "sum", "decimal", "toBaseOut", "baseIn", "baseOut", "j", "arr", "arrL", "sign", "callerIsToString", "d", "r", "xc", "y", "rm", "toFixedPoint", "coeffToString", "multiply", "base", "m", "temp", "xlo", "xhi", "carry", "klo", "khi", "compare", "aL", "bL", "cmp", "subtract", "more", "prod", "prodL", "q", "qc", "rem", "remL", "rem0", "xi", "xL", "yc0", "yL", "yz", "yc", "bitFloor", "format", "id", "c0", "ne", "toExponential", "normalise", "basePrefix", "dotAfter", "dotBefore", "isInfinityOrNaN", "whitespaceOrPlus", "p1", "p2", "sd", "ni", "rd", "pows10", "valueOf", "half", "isModExp", "nIsBig", "nIsNeg", "nIsOdd", "isOdd", "t", "xLTy", "xe", "ye", "xcL", "ycL", "ylo", "yhi", "zc", "sqrtBase", "rep", "g1", "g2", "groupSeparator", "intPart", "fractionPart", "isNeg", "intDigits", "md", "d0", "d1", "d2", "exp", "n0", "n1", "z", "l", "min", "max", "name", "zs", "require_bigNumber", "__commonJSMin", "exports", "tslib_1", "bignumber_js_1", "require_lib", "__commonJSMin", "exports", "tslib_1", "require_debug", "__commonJSMin", "exports", "utils_1", "green", "blue", "orange", "yellow", "colors", "logsManager", "require_config", "__commonJSMin", "exports", "constants_1", "require_urlUtils", "__commonJSMin", "exports", "utils_1", "getOrigin", "__name", "url", "_a", "origin", "getHost", "uri", "parts", "getOnionDomain", "dict", "u", "require_inlineStyles", "__commonJSMin", "exports", "css", "require_iframe", "__commonJSMin", "exports", "tslib_1", "utils_1", "ERRORS", "events_1", "urlUtils_1", "debug_1", "inlineStyles_1", "dispose", "__name", "handleIframeBlocked", "injectStyleSheet", "doc", "head", "style", "init", "settings", "existedFrame", "src", "manifestString", "manifest", "onLoad", "_a", "_b", "iframeOrigin", "extension", "e", "postMessage", "message", "clearTimeout", "initIframeLogger", "logWriterFactory", "require_showPopupRequest", "__commonJSMin", "exports", "LAYER_ID", "HTML", "showPopupRequest", "__name", "open", "cancel", "div", "button", "close", "require_storage", "__commonJSMin", "exports", "utils_1", "storageVersion", "storageName", "getEmptyState", "__name", "memoryStorage", "getPermanentStorage", "ls", "Storage", "getNewState", "temporary", "newState", "origin", "state", "_a", "storage", "require_abstract", "__commonJSMin", "exports", "tslib_1", "utils_1", "utils_2", "utils_3", "AbstractMessageChannel", "__name", "sendFn", "channel", "logger", "lazyHandshake", "legacyMode", "_a", "_b", "message", "_message", "id", "type", "payload", "success", "messagePromisesLength", "usePromise", "useQueue", "resolvePayload", "require_ua_parser", "__commonJSMin", "exports", "module", "window", "undefined", "LIBVERSION", "EMPTY", "UNKNOWN", "FUNC_TYPE", "UNDEF_TYPE", "OBJ_TYPE", "STR_TYPE", "MAJOR", "MODEL", "NAME", "TYPE", "VENDOR", "VERSION", "ARCHITECTURE", "CONSOLE", "MOBILE", "TABLET", "SMARTTV", "WEARABLE", "EMBEDDED", "UA_MAX_LENGTH", "AMAZON", "APPLE", "ASUS", "BLACKBERRY", "BROWSER", "CHROME", "EDGE", "FIREFOX", "GOOGLE", "HUAWEI", "LG", "MICROSOFT", "MOTOROLA", "OPERA", "SAMSUNG", "SHARP", "SONY", "XIAOMI", "ZEBRA", "FACEBOOK", "CHROMIUM_OS", "MAC_OS", "extend", "__name", "regexes", "extensions", "mergedRegexes", "i", "enumerize", "arr", "enums", "has", "str1", "str2", "lowerize", "str", "majorize", "version", "trim", "len", "rgxMapper", "ua", "arrays", "j", "k", "p", "q", "matches", "match", "regex", "props", "strMapper", "map", "oldSafariMap", "windowsVersionMap", "UAParser", "_navigator", "_ua", "_uach", "_rgxmap", "_isSelfNav", "_browser", "_cpu", "_device", "_engine", "_os", "$", "parser", "result", "prop", "require_jws", "__commonJSMin", "exports", "require_envUtils", "__commonJSMin", "exports", "tslib_1", "ua_parser_js_1", "jws_1", "isWeb", "__name", "isDesktop", "isNative", "getEnvironment", "userAgentParser", "getUserAgent", "getUserAgentParser", "ua", "isAndroid", "isChromeOs", "getBrowserVersion", "getCommitHash", "getOsVersion", "getSuiteVersion", "getBrowserName", "browserName", "isFirefox", "getPlatform", "getPlatformLanguages", "getScreenWidth", "getScreenHeight", "getWindowWidth", "getWindowHeight", "getLocationOrigin", "getLocationHostname", "getProcessPlatform", "isMacOs", "isWindows", "isIOs", "isLinux", "isCodesignBuild", "getOsName", "getOsNameWeb", "getOsFamily", "osName", "getDeviceType", "getJWSPublicKey", "require_lib", "__commonJSMin", "exports", "envUtils_1", "require_systemInfo", "__commonJSMin", "exports", "env_utils_1", "getInstallerPackage", "__name", "agent", "isRpm", "is64x", "getSystemInfo", "supportedBrowsers", "browserName", "browserVersion", "supportedBrowser", "outdatedBrowser", "mobile", "supportedMobile", "supported", "require_lib", "__commonJSMin", "exports", "tslib_1", "require_serviceworker_window", "__commonJSMin", "exports", "connect_common_1", "ServiceWorkerWindowChannel", "__name", "name", "channel", "logger", "lazyHandshake", "legacyMode", "allowSelfOrigin", "currentId", "message", "port", "_a", "_b", "_c", "_d", "sender", "origin", "whitelist", "webextensionId", "require_window_window", "__commonJSMin", "exports", "connect_common_1", "WindowWindowChannel", "__name", "windowHere", "windowPeer", "channel", "logger", "origin", "message", "_a", "event", "require_popup", "__commonJSMin", "exports", "tslib_1", "events_1", "utils_1", "events_2", "urlUtils_1", "showPopupRequest_1", "serviceworker_window_1", "window_window_1", "checkIfTabExists", "__name", "tabId", "resolve", "callback", "POPUP_REQUEST_TIMEOUT", "POPUP_CLOSE_INTERVAL", "POPUP_OPEN_TIMEOUT", "PopupManager", "settings", "logger", "_a", "permissions", "error", "_b", "_c", "_d", "_f", "openFn", "timeout", "src", "tab", "url", "currentWindow", "newWindow", "tabs", "windowResult", "message", "data", "_tab", "errorMessage", "payload", "focus", "_e", "require_button", "__commonJSMin", "exports", "render", "__name", "className", "url", "query", "buttons", "src", "b", "bounds", "btnIframe", "require_version", "__commonJSMin", "exports", "versionN", "s", "isBeta", "require_connectSettings", "__commonJSMin", "exports", "version_1", "initialSettings", "parseManifest", "__name", "manifest", "corsValidator", "url", "parseConnectSettings", "input", "_a", "settings", "src", "require_connectSettings", "__commonJSMin", "exports", "connectSettings_1", "getEnv", "__name", "_a", "processQueryString", "url", "keys", "searchParams", "result", "key", "value", "parseConnectSettings", "input", "settings", "globalSrc", "query", "require_network", "__commonJSMin", "exports", "require_cardano", "__commonJSMin", "exports", "PROTOCOL_MAGICS", "NETWORK_IDS", "require_typebox", "__commonJSMin", "exports", "TypeRegistry", "map", "Entries", "__name", "Clear", "Delete", "kind", "Has", "Set", "func", "Get", "TypeBoxError", "message", "FormatRegistry", "format", "ValueGuard", "IsArray", "value", "IsBigInt", "IsBoolean", "IsDate", "IsNull", "IsNumber", "IsObject", "IsString", "IsUint8Array", "IsUndefined", "TypeGuardUnknownTypeError", "TypeGuard", "IsPattern", "IsControlCharacterFree", "i", "code", "IsAdditionalProperties", "IsOptionalBoolean", "TSchema", "IsOptionalBigInt", "IsOptionalNumber", "IsOptionalString", "IsOptionalPattern", "IsOptionalFormat", "IsOptionalSchema", "TAny", "schema", "TKindOf", "TArray", "TAsyncIterator", "TBigInt", "TBoolean", "TConstructor", "TDate", "TFunction", "TInteger", "TIntersect", "TTransform", "TIterator", "TKind", "TLiteralString", "TLiteral", "TLiteralNumber", "TLiteralBoolean", "TNever", "TNot", "TNull", "TNumber", "TObject", "key", "TPromise", "TRecord", "keys", "TRecursive", "TRef", "TString", "TSymbol", "TTemplateLiteral", "TThis", "TTuple", "TUndefined", "TUnionLiteral", "TUnion", "TUint8Array", "TUnknown", "TUnsafe", "TVoid", "TReadonly", "TOptional", "ExtendsUndefined", "Check", "TypeExtendsError", "TypeExtendsResult", "TypeExtends", "IntoBooleanResult", "result", "Throw", "IsStructuralRight", "right", "StructuralRight", "left", "TNeverRight", "TIntersectRight", "TUnionRight", "TUnknownRight", "TAnyRight", "TArrayRight", "IsObjectArrayLike", "Visit", "TObjectRight", "TRecordRight", "TBooleanRight", "index", "TIntegerRight", "TStringRight", "TNumberRight", "UnwrapTNot", "current", "depth", "IsObjectPropertyCount", "count", "IsObjectStringLike", "IsObjectSymbolLike", "IsObjectNumberLike", "IsObjectBooleanLike", "IsObjectBigIntLike", "IsObjectDateLike", "IsObjectUint8ArrayLike", "IsObjectFunctionLike", "length", "IsObjectConstructorLike", "IsObjectPromiseLike", "then", "Property", "RecordKey", "RecordValue", "Key", "Value", "TemplateLiteralResolver", "IsArrayOfTuple", "TTupleRight", "VoidRight", "Extends", "TypeClone", "ArrayType", "DateType", "Uint8ArrayType", "ObjectType", "clonedProperties", "acc", "clonedSymbols", "Rest", "schemas", "Type", "options", "IndexedAccessor", "OptionalUnwrap", "_", "clone", "IsIntersectOptional", "IsUnionOptional", "ResolveIntersect", "ResolveUnion", "ResolveOptional", "resolved", "indexed", "property", "items", "element", "Resolve", "Intrinsic", "Uncapitalize", "first", "rest", "Capitalize", "Uppercase", "Lowercase", "IntrinsicTemplateLiteral", "mode", "expression", "TemplateLiteralParser", "TemplateLiteralFinite", "IntrinsicLiteral", "literals", "TemplateLiteralGenerator", "mapped", "IntrinsicRest", "union", "L", "R", "Map", "ObjectMap", "callback", "inner", "KeyResolver", "UnwrapPattern", "sets", "set", "outer", "ResolveKeys", "ResolvePattern", "KeyArrayResolverError", "KeyArrayResolver", "UnionResolver", "TemplateLiteralPatternError", "TemplateLiteralPattern", "Escape", "Create", "kinds", "template", "TemplateLiteralParserError", "IsNonEscaped", "pattern", "char", "IsOpenParen", "IsCloseParen", "IsSeparator", "IsGroup", "InGroup", "IsPrecedenceOr", "IsPrecedenceAnd", "Or", "start", "expressions", "range", "Parse", "And", "Group", "scan", "Range", "end", "ParseExact", "TemplateLiteralFiniteError", "expr", "TemplateLiteralGeneratorError", "Reduce", "buffer", "Generate", "Const", "TemplateLiteralDslParser", "ParseUnion", "trim", "literal", "ParseTerminal", "ParseLiteral", "template_dsl", "TransformDecodeBuilder", "decode", "TransformEncodeBuilder", "encode", "Codec", "TypeOrdinal", "TypeBuilderError", "TypeBuilder", "record", "JsonTypeBuilder", "objects", "intersect", "properties", "item", "values1", "anyOf", "trueType", "falseType", "unionType", "excludedMembers", "narrowed", "type", "unresolved", "cloned", "allOf", "clonedUnevaluatedProperties", "propertyKeys", "optionalKeys", "requiredKeys", "name", "clonedAdditionalProperties", "object", "thisType", "additionalItems", "minItems", "maxItems", "clonedItems", "clonedAnyOf", "JavaScriptTypeBuilder", "Unwrap", "parameters", "returns", "clonedParameters", "clonedReturns", "regex", "require_guard", "__commonJSMin", "exports", "IsAsyncIterator", "value", "IsObject", "__name", "IsIterator", "IsTypedArray", "IsPromise", "IsUint8Array", "IsDate", "HasPropertyKey", "key", "IsPlainObject", "IsFunction", "IsArray", "IsUndefined", "IsNull", "IsBoolean", "IsNumber", "IsInteger", "IsBigInt", "IsString", "IsSymbol", "IsValueType", "require_system", "__commonJSMin", "exports", "guard_1", "errors_1", "Types", "TypeSystemDuplicateTypeKind", "__name", "kind", "TypeSystemDuplicateFormat", "TypeSystem", "Type", "check", "options", "Format", "format", "TypeSystemErrorFunction", "errorMessageFunction", "DefaultErrorFunction", "Reset", "Set", "callback", "Get", "TypeSystemPolicy", "IsExactOptionalProperty", "value", "key", "IsObjectLike", "isObject", "IsRecordLike", "IsNumberLike", "isNumber", "IsVoidLike", "isUndefined", "schema", "errorType", "require_deref", "__commonJSMin", "exports", "typebox_1", "TypeDereferenceError", "__name", "schema", "Deref", "references", "index", "target", "require_hash", "__commonJSMin", "exports", "guard_1", "ValueHashError", "__name", "value", "ByteMarker", "Accumulator", "Prime", "Size", "Bytes", "_", "i", "F64", "F64In", "F64Out", "NumberToBytes", "byteCount", "ArrayType", "FNV1A64", "item", "Visit", "BooleanType", "BigIntType", "byte", "DateType", "NullType", "NumberType", "ObjectType", "key", "StringType", "SymbolType", "Uint8ArrayType", "UndefinedType", "Hash", "require_errors", "__commonJSMin", "exports", "guard_1", "system_1", "deref_1", "hash_1", "Types", "ValueErrorType", "ValueErrorsUnknownTypeError", "__name", "schema", "EscapeKey", "key", "IsDefined", "value", "ValueErrorIterator", "iterator", "next", "Create", "type", "path", "TAny", "references", "TArray", "i", "Visit", "set", "element", "hashed", "containsSchema", "containsCount", "acc", "index", "TAsyncIterator", "TBigInt", "TBoolean", "TConstructor", "TDate", "TFunction", "TInteger", "TIntersect", "inner", "keyCheck", "valueKey", "TIterator", "TLiteral", "TNever", "TNot", "TNull", "TNumber", "TObject", "requiredKeys", "knownKeys", "unknownKeys", "requiredKey", "knownKey", "property", "TPromise", "TRecord", "patternKey", "patternSchema", "regex", "propertyKey", "propertyValue", "TRef", "TString", "TSymbol", "TTemplateLiteral", "TThis", "TTuple", "TUndefined", "TUnion", "count", "subschema", "errors", "TUint8Array", "TUnknown", "TVoid", "TKind", "references_", "schema_", "Errors", "args", "require_errors", "__commonJSMin", "exports", "__createBinding", "o", "m", "k", "k2", "desc", "__exportStar", "p", "require_util", "__commonJSMin", "exports", "copyProps", "__name", "dest", "src", "exclude", "props", "prop", "protoChain", "obj", "currentChain", "proto", "nearestCommonProto", "objs", "commonProto", "protoChains", "protos", "potentialCommonProto", "hardMixProtos", "ingredients", "constructor", "_a", "base", "mixedProto", "visitedProtos", "prototype", "i", "newProto", "unique", "arr", "e", "flatten", "a1", "a2", "require_proxy", "__commonJSMin", "exports", "util_1", "getIngredientWithProp", "__name", "prop", "ingredients", "protoChains", "ingredient", "protoDepth", "protosAreLeftToSearch", "i", "searchTarget", "proxyMix", "prototype", "_", "val", "ingredientWithProp", "prev", "curr", "key", "softMixProtos", "constructor", "require_settings", "__commonJSMin", "exports", "require_mixin_tracking", "__commonJSMin", "exports", "util_1", "mixins", "getMixinsForClass", "__name", "clazz", "registerMixins", "mixedClass", "constituents", "hasMixin", "instance", "mixin", "constructor", "visited", "frontier", "item", "newFrontier", "_a", "itemConstituents", "proto", "constituent", "require_decorator", "__commonJSMin", "exports", "util_1", "mixin_tracking_1", "mergeObjectsOfDecorators", "__name", "o1", "o2", "_a", "_b", "allKeys", "mergedObject", "key", "mergePropertyAndMethodDecorators", "d1", "d2", "_c", "_d", "mergeDecorators", "_e", "_f", "decorators", "findAllConstituentClasses", "classes", "allClasses", "frontier", "clazz", "protoChainClasses", "proto", "mixinClasses", "newClasses", "c", "newClass", "deepDecoratorSearch", "decoratorsForClassChain", "directDecoratorSearch", "classDecorators", "getDecoratorsForClass", "decoratorsForClass", "decorateClass", "decorator", "decorateMember", "object", "otherArgs", "decoratorTargetType", "decoratorType", "decoratorsForTargetType", "decoratorsForType", "decoratorsForKey", "decorate", "args", "require_mixins", "__commonJSMin", "exports", "proxy_1", "settings_1", "util_1", "decorator_1", "mixin_tracking_1", "Mixin", "constructors", "_a", "_b", "_c", "prototypes", "constructor", "initFunctionName", "initFunctions", "proto", "func", "combinedInitFunction", "__name", "args", "initFunction", "extraProto", "MixedClass", "DecoratedMixedClass", "classDecorators", "decorator", "result", "applyPropAndMethodDecorators", "propAndMethodDecorators", "target", "propDecorators", "methodDecorators", "key", "mix", "ingredients", "decoratedClass", "mixedClass", "require_cjs", "__commonJSMin", "exports", "mixins_1", "settings_1", "decorator_1", "mixin_tracking_1", "typebox_1", "_", "value", "ArrayBufferBuilder", "__name", "options", "exports", "typebox_1", "_", "value", "BufferBuilder", "__name", "options", "exports", "typebox_1", "KeyofEnumBuilder", "__name", "schema", "options", "keys", "key", "anyOf", "_value", "value", "exports", "typebox_1", "schema", "value", "UintBuilder", "__name", "options", "exports", "array_buffer_1", "exports", "buffer_1", "keyof_enum_1", "uint_1", "InvalidParameter", "__name", "reason", "field", "type", "value", "message", "exports", "setDeepValue", "obj", "prop", "path", "value", "__name", "exports", "getDeepValue", "typebox_1", "exports", "errors_1", "ts_mixer_1", "custom_types_1", "errors_2", "utils_1", "CustomTypeBuilder", "__name", "Validate", "schema", "value", "Assert", "FindErrorInUnion", "error", "currentValue", "unionMembers", "unionSchema", "possibleMatchesByLiterals", "property", "propertySchema", "sortedErrors", "matchSchema", "a", "b", "bestMatch", "errors", "parsedNumber", "pathParts", "AssertWeak", "e", "require_nem", "__commonJSMin", "exports", "schema_utils_1", "Networks", "TxType", "TxVersion", "require_aspromise", "__commonJSMin", "exports", "module", "asPromise", "fn", "ctx", "params", "offset", "index", "pending", "__name", "resolve", "reject", "err", "require_base64", "__commonJSMin", "exports", "base64", "__name", "string", "p", "n", "b64", "s64", "i", "buffer", "start", "end", "parts", "chunk", "j", "t", "b", "invalidEncoding", "offset", "c", "require_eventemitter", "__commonJSMin", "exports", "module", "EventEmitter", "__name", "evt", "fn", "ctx", "listeners", "i", "args", "require_float", "__commonJSMin", "exports", "module", "factory", "f32", "f8b", "le", "writeFloat_f32_cpy", "val", "buf", "pos", "__name", "writeFloat_f32_rev", "readFloat_f32_cpy", "readFloat_f32_rev", "writeFloat_ieee754", "writeUint", "sign", "exponent", "mantissa", "writeUintLE", "writeUintBE", "readFloat_ieee754", "readUint", "uint", "readUintLE", "readUintBE", "f64", "writeDouble_f64_cpy", "writeDouble_f64_rev", "readDouble_f64_cpy", "readDouble_f64_rev", "writeDouble_ieee754", "off0", "off1", "readDouble_ieee754", "lo", "hi", "require_inquire", "__commonJSMin", "__name", "require_utf8", "__commonJSMin", "exports", "utf8", "__name", "string", "len", "c", "i", "buffer", "start", "end", "parts", "chunk", "t", "offset", "c1", "c2", "require_pool", "__commonJSMin", "exports", "module", "pool", "alloc", "slice", "size", "SIZE", "MAX", "slab", "offset", "__name", "buf", "require_longbits", "__commonJSMin", "exports", "module", "LongBits", "util", "lo", "hi", "__name", "zero", "zeroHash", "value", "sign", "unsigned", "charCodeAt", "hash", "mask", "part0", "part1", "part2", "require_minimal", "__commonJSMin", "exports", "util", "__name", "value", "obj", "prop", "Buffer", "sizeOrArray", "hash", "unsigned", "bits", "merge", "dst", "src", "ifNotSet", "keys", "i", "str", "newError", "name", "CustomError", "message", "properties", "fieldNames", "fieldMap", "encoding", "size", "require_writer", "__commonJSMin", "exports", "module", "Writer", "util", "BufferWriter", "LongBits", "base64", "utf8", "Op", "fn", "len", "val", "__name", "noop", "State", "writer", "create", "size", "writeByte", "buf", "pos", "writeVarint32", "VarintOp", "value", "writeVarint64", "bits", "writeFixed32", "writeBytes", "i", "head", "tail", "BufferWriter_", "require_writer_buffer", "__commonJSMin", "exports", "module", "BufferWriter", "Writer", "util", "__name", "val", "buf", "pos", "i", "value", "len", "writeStringBuffer", "require_reader", "__commonJSMin", "exports", "module", "Reader", "util", "BufferReader", "LongBits", "utf8", "indexOutOfRange", "reader", "writeLength", "__name", "buffer", "create_array", "create", "value", "readLongVarint", "bits", "i", "readFixed32_end", "buf", "end", "readFixed64", "length", "start", "nativeBuffer", "bytes", "wireType", "BufferReader_", "fn", "require_reader_buffer", "__commonJSMin", "exports", "module", "BufferReader", "Reader", "util", "buffer", "__name", "len", "require_service", "__commonJSMin", "exports", "module", "Service", "util", "rpcImpl", "requestDelimited", "responseDelimited", "__name", "rpcCall", "method", "requestCtor", "responseCtor", "request", "callback", "self", "err", "response", "endedByRPC", "require_rpc", "__commonJSMin", "exports", "rpc", "require_roots", "__commonJSMin", "exports", "module", "require_index_minimal", "__commonJSMin", "exports", "protobuf", "configure", "__name", "require_codegen", "__commonJSMin", "exports", "module", "codegen", "functionParams", "functionName", "body", "Codegen", "formatStringOrScope", "source", "toString", "scopeKeys", "scopeParams", "scopeValues", "scopeOffset", "formatParams", "formatOffset", "__name", "$0", "$1", "value", "functionNameOverride", "require_fetch", "__commonJSMin", "exports", "module", "fetch", "asPromise", "inquire", "fs", "filename", "options", "callback", "__name", "err", "contents", "xhr", "buffer", "i", "require_path", "__commonJSMin", "exports", "path", "isAbsolute", "__name", "normalize", "parts", "absolute", "prefix", "i", "originPath", "includePath", "alreadyNormalized", "require_types", "__commonJSMin", "exports", "types", "util", "s", "bake", "values", "offset", "i", "o", "__name", "require_field", "__commonJSMin", "exports", "module", "Field", "ReflectionObject", "Enum", "types", "util", "Type", "ruleRe", "__name", "name", "json", "id", "type", "rule", "extend", "options", "comment", "value", "ifNotSet", "toJSONOptions", "keepComments", "buf", "fieldId", "fieldType", "fieldRule", "defaultValue", "prototype", "fieldName", "Type_", "require_oneof", "__commonJSMin", "exports", "module", "OneOf", "ReflectionObject", "Field", "util", "name", "fieldNames", "options", "comment", "__name", "json", "toJSONOptions", "keepComments", "addFieldsToParent", "oneof", "i", "field", "index", "parent", "self", "prototype", "oneofName", "require_namespace", "__commonJSMin", "exports", "module", "Namespace", "ReflectionObject", "Field", "util", "OneOf", "Type", "Service", "Enum", "__name", "name", "json", "arrayToJSON", "array", "toJSONOptions", "obj", "reserved", "id", "options", "clearCache", "namespace", "nestedJson", "ns", "names", "i", "nested", "object", "prev", "path", "ptr", "part", "filterTypes", "parentAlreadyChecked", "found", "Type_", "Service_", "Enum_", "require_mapfield", "__commonJSMin", "exports", "module", "MapField", "Field", "types", "util", "name", "id", "keyType", "type", "options", "comment", "__name", "json", "toJSONOptions", "keepComments", "fieldId", "fieldKeyType", "fieldValueType", "prototype", "fieldName", "require_method", "__commonJSMin", "exports", "module", "Method", "ReflectionObject", "util", "name", "type", "requestType", "responseType", "requestStream", "responseStream", "options", "comment", "parsedOptions", "__name", "json", "toJSONOptions", "keepComments", "require_service", "__commonJSMin", "exports", "module", "Service", "Namespace", "Method", "util", "rpc", "name", "options", "__name", "json", "service", "names", "i", "toJSONOptions", "inherited", "keepComments", "clearCache", "methods", "object", "rpcImpl", "requestDelimited", "responseDelimited", "rpcService", "method", "methodName", "require_message", "__commonJSMin", "exports", "module", "Message", "util", "properties", "keys", "i", "__name", "message", "writer", "reader", "object", "options", "require_decoder", "__commonJSMin", "exports", "module", "decoder", "Enum", "types", "util", "missing", "field", "__name", "mtype", "gen", "i", "type", "ref", "rfield", "require_verifier", "__commonJSMin", "exports", "module", "verifier", "Enum", "util", "invalid", "field", "expected", "__name", "genVerifyValue", "gen", "fieldIndex", "ref", "keys", "j", "genVerifyKey", "mtype", "oneofs", "seenFirstField", "i", "oneofProp", "require_converter", "__commonJSMin", "exports", "converter", "Enum", "util", "genValuePartial_fromObject", "gen", "field", "fieldIndex", "prop", "defaultAlreadyEmitted", "values", "keys", "i", "isUnsigned", "__name", "mtype", "fields", "genValuePartial_toObject", "repeatedFields", "mapFields", "normalFields", "arrayDefault", "hasKs2", "index", "require_wrappers", "__commonJSMin", "exports", "wrappers", "Message", "object", "name", "type", "type_url", "message", "options", "googleApi", "prefix", "messageName", "require_type", "__commonJSMin", "exports", "module", "Type", "Namespace", "Enum", "OneOf", "Field", "MapField", "Service", "Message", "Reader", "Writer", "util", "encoder", "decoder", "verifier", "converter", "wrappers", "name", "options", "__name", "names", "i", "field", "id", "ctor", "prototype", "ctorProperties", "mtype", "gen", "clearCache", "type", "json", "nested", "toJSONOptions", "inherited", "keepComments", "obj", "fields", "oneofs", "object", "properties", "fullName", "types", "wrapper", "originalThis", "message", "writer", "reader", "length", "typeName", "target", "require_root", "__commonJSMin", "exports", "module", "Root", "Namespace", "Field", "Enum", "OneOf", "util", "Type", "parse", "common", "options", "__name", "json", "root", "SYNC", "load", "filename", "callback", "self", "sync", "finish", "err", "cb", "getBundledFileName", "idx", "altname", "process", "source", "parsed", "resolved", "i", "fetch", "queued", "weak", "field", "exposeRe", "tryHandleExtension", "extendedType", "sisterField", "object", "j", "index", "Type_", "parse_", "common_", "require_util", "__commonJSMin", "exports", "module", "util", "roots", "Type", "Enum", "__name", "object", "keys", "array", "index", "key", "val", "safePropBackslashRe", "safePropQuoteRe", "name", "prop", "str", "camelCaseRe", "$0", "$1", "a", "b", "ctor", "typeName", "type", "decorateEnumIndex", "enm", "dst", "path", "value", "setProp", "part", "prevValue", "require_object", "__commonJSMin", "exports", "module", "ReflectionObject", "util", "Root", "name", "options", "__name", "ptr", "path", "parent", "root", "value", "ifNotSet", "propName", "parsedOptions", "opt", "newValue", "newOpt", "keys", "i", "className", "fullName", "Root_", "require_enum", "__commonJSMin", "exports", "module", "Enum", "ReflectionObject", "Namespace", "util", "name", "values", "options", "comment", "comments", "valuesOptions", "keys", "i", "__name", "json", "enm", "toJSONOptions", "keepComments", "id", "val", "require_encoder", "__commonJSMin", "exports", "module", "encoder", "Enum", "types", "util", "genTypePartial", "gen", "field", "fieldIndex", "ref", "__name", "mtype", "i", "fields", "index", "type", "wireType", "require_index_light", "__commonJSMin", "exports", "module", "protobuf", "load", "filename", "root", "callback", "__name", "loadSync", "require_light", "__commonJSMin", "exports", "module", "require_utils", "__commonJSMin", "exports", "tslib_1", "protobuf", "primitiveTypes", "isPrimitiveField", "__name", "field", "parseConfigure", "data", "createMessageFromName", "messages", "name", "Message", "messageTypeId", "createMessageFromType", "messageType", "messageName", "require_decode", "__commonJSMin", "exports", "tslib_1", "utils_1", "transform", "__name", "field", "value", "messageToJSON", "MessageParam", "fields", "message", "res", "key", "v", "decode", "data", "decoded", "require_encode", "__commonJSMin", "exports", "light_1", "utils_1", "transform", "__name", "fieldType", "value", "patch", "Message", "payload", "patched", "key", "field", "v", "RefMessage", "encode", "data", "message", "bytes", "require_messages", "__commonJSMin", "exports", "DeviceModelInternal", "BinanceOrderType", "BinanceOrderSide", "BinanceTimeInForce", "Enum_InputScriptType", "Enum_OutputScriptType", "DecredStakingSpendType", "AmountUnit", "Enum_RequestType", "CardanoDerivationType", "CardanoAddressType", "CardanoNativeScriptType", "CardanoNativeScriptHashDisplayFormat", "CardanoTxOutputSerializationFormat", "CardanoCertificateType", "CardanoPoolRelayType", "CardanoTxAuxiliaryDataSupplementType", "CardanoCVoteRegistrationFormat", "CardanoTxSigningMode", "CardanoTxWitnessType", "FailureType", "Enum_ButtonRequestType", "Enum_PinMatrixRequestType", "DebugButton", "DebugPhysicalButton", "EthereumDefinitionType", "EthereumDataType", "Enum_BackupType", "Enum_SafetyCheckLevel", "Enum_HomescreenFormat", "Enum_Capability", "SdProtectOperationType", "RecoveryDeviceType", "Enum_WordRequestType", "BootCommand", "MoneroNetworkType", "NEMMosaicLevy", "NEMSupplyChangeType", "NEMModificationType", "NEMImportanceTransferMode", "StellarAssetType", "StellarMemoType", "StellarSignerType", "TezosContractType", "TezosBallotType", "require_types", "__commonJSMin", "exports", "require_messages_schema", "__commonJSMin", "exports", "schema_utils_1", "DeviceModelInternal", "BinanceOrderType", "BinanceOrderSide", "BinanceTimeInForce", "Enum_InputScriptType", "Enum_OutputScriptType", "DecredStakingSpendType", "AmountUnit", "Enum_RequestType", "CommonTxInputType", "CardanoDerivationType", "CardanoAddressType", "CardanoNativeScriptType", "CardanoNativeScriptHashDisplayFormat", "CardanoTxOutputSerializationFormat", "CardanoCertificateType", "CardanoPoolRelayType", "CardanoTxAuxiliaryDataSupplementType", "CardanoCVoteRegistrationFormat", "CardanoTxSigningMode", "CardanoTxWitnessType", "This", "FailureType", "Enum_ButtonRequestType", "Enum_PinMatrixRequestType", "DebugButton", "DebugPhysicalButton", "EthereumDefinitionType", "EthereumDataType", "Enum_BackupType", "Enum_SafetyCheckLevel", "Enum_HomescreenFormat", "Enum_Capability", "SdProtectOperationType", "RecoveryDeviceType", "Enum_WordRequestType", "BootCommand", "MoneroNetworkType", "NEMMosaicLevy", "NEMSupplyChangeType", "NEMModificationType", "NEMImportanceTransferMode", "StellarAssetType", "StellarMemoType", "StellarSignerType", "TezosContractType", "TezosBallotType", "require_lib", "__commonJSMin", "exports", "tslib_1", "utils_1", "messages_schema_1", "require_constants", "__commonJSMin", "exports", "tslib_1", "protobuf_1", "require_api", "__commonJSMin", "exports", "require_account", "__commonJSMin", "exports", "require_fees", "__commonJSMin", "exports", "schema_utils_1", "require_device", "__commonJSMin", "exports", "FirmwareType", "protobuf_1", "require_coinInfo", "__commonJSMin", "exports", "schema_utils_1", "fees_1", "device_1", "Common", "require_firmware", "__commonJSMin", "exports", "schema_utils_1", "require_params", "__commonJSMin", "exports", "schema_utils_1", "Bundle", "__name", "type", "require_settings", "__commonJSMin", "exports", "require_cardano", "__commonJSMin", "exports", "schema_utils_1", "constants_1", "params_1", "This", "require_binance", "__commonJSMin", "exports", "constants_1", "params_1", "schema_utils_1", "require_bitcoin", "__commonJSMin", "exports", "params_1", "schema_utils_1", "require_eos", "__commonJSMin", "exports", "constants_1", "params_1", "schema_utils_1", "require_ripple", "__commonJSMin", "exports", "params_1", "schema_utils_1", "require_ethereum", "__commonJSMin", "exports", "schema_utils_1", "params_1", "EthereumSignTypedDataTypeProperty", "require_solana", "__commonJSMin", "exports", "params_1", "schema_utils_1", "require_stellar", "__commonJSMin", "exports", "constants_1", "params_1", "schema_utils_1", "require_tezos", "__commonJSMin", "exports", "params_1", "schema_utils_1", "require_types", "__commonJSMin", "exports", "tslib_1", "require_exports", "__commonJSMin", "exports", "tslib_1", "connectSettings_1", "require_lib", "__commonJSMin", "exports", "tslib_1", "events_1", "ERRORS", "events_2", "factory_1", "debug_1", "config_1", "utils_1", "iframe", "popup", "button_1", "connectSettings_1", "eventEmitter", "_log", "_settings", "_popupManager", "messagePromises", "initPopupManager", "__name", "pm", "error", "manifest", "data", "dispose", "cancel", "handleMessage", "messageEvent", "message", "id", "success", "payload", "init", "settings", "_a", "call", "params", "promiseId", "promise", "response", "uiResponse", "renderWebUSBButton", "className", "requestLogin", "callback", "loginChallengeListener", "event", "disableWebUSB", "requestWebUSBDevice", "TrezorConnect", "Namespace", "Networks", "WalletTypes", "cleanEvmError", "ETHEREUM_CHAIN_ID", "Networks", "derivationPath", "setDerivationPath", "path", "__name", "getDerivationPath", "getTrezorModule", "mod", "__name", "getTrezorErrorMessage", "error", "cleanEvmError", "getTrezorInstance", "instances", "Networks", "ETHEREUM_CHAIN_ID", "getEthereumAccounts", "result", "getDerivationPath", "valueToHex", "value", "ZERO_BIGINT", "getTrezorNormalizedDerivationPath", "path", "DefaultSignerFactory", "TxType", "DEFAULT_ETHEREUM_RPC_URL", "JsonRpcProvider", "Transaction", "EthereumSigner", "__name", "msg", "TrezorConnect", "getTrezorModule", "success", "payload", "getDerivationPath", "tx", "fromAddress", "chainId", "gasPrice", "maxFeePerGas", "maxPriorityFeePerGas", "isEIP1559", "provider", "JsonRpcProvider", "DEFAULT_ETHEREUM_RPC_URL", "transactionCount", "additionalFields", "valueToHex", "transaction", "r", "s", "v", "serializedTx", "Transaction", "error", "getTrezorErrorMessage", "getSigners", "signers", "DefaultSignerFactory", "TxType", "EthereumSigner", "__name", "trezorManifest", "config", "WalletTypes", "init", "__name", "environments", "getInstance", "getTrezorInstance", "isTrezorInitialized", "connect", "namespaces", "results", "TrezorConnect", "getTrezorModule", "evmNamespace", "namespaceItem", "Namespace", "setDerivationPath", "getTrezorNormalizedDerivationPath", "accounts", "getEthereumAccounts", "getSigners", "getWalletInfo", "allBlockChains", "supportedChains", "ethereumBlockchain", "chain", "Networks"]
|
|
7
7
|
}
|