UNPKG

@kubectl/caminojs

Version:
375 lines 40.7 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.SubnetAddressError = exports.SubnetThresholdError = exports.SubnetIdError = exports.ProtocolError = exports.InvalidEntropy = exports.EVMFeeError = exports.Bech32Error = exports.UnknownTypeError = exports.TypeNameError = exports.TypeIdError = exports.HexError = exports.NodeIdError = exports.PrivateKeyError = exports.Base58Error = exports.MergeRuleError = exports.PublicKeyError = exports.AddressIndexError = exports.BufferSizeError = exports.SubnetOwnerError = exports.DelegationFeeError = exports.TimeError = exports.StakeError = exports.FeeAssetError = exports.EVMOutputError = exports.EVMInputError = exports.SECPMintOutputError = exports.ThresholdError = exports.InsufficientFundsError = exports.UTXOError = exports.OutputIdError = exports.ChecksumError = exports.InvalidOperationIdError = exports.OperationError = exports.InputIdError = exports.TransferableInputError = exports.TransferableOutputError = exports.CredIdError = exports.CodecIdError = exports.TransactionError = exports.NameError = exports.SymbolError = exports.NoAtomicUTXOsError = exports.ChainIdError = exports.GooseEggCheckError = exports.AddressError = exports.AvalancheError = void 0; const ADDRESS_ERROR_CODE = "1000"; const GOOSE_EGG_CHECK_ERROR_CODE = "1001"; const CHAIN_ID_ERROR_CODE = "1002"; const NO_ATOMIX_UTXOS_ERROR_CODE = "1003"; const SYMBOL_ERROR_CODE = "1004"; const NAME_ERROR_CODE = "1005"; const TRANSACTION_ERROR_CODE = "1006"; const CODEC_ID_ERROR_CODE = "1007"; const CRED_ID_ERROR_CODE = "1008"; const TRANSFERABLE_OUTPUT_ERROR_CODE = "1009"; const TRANSFERABLE_INPUT_ERROR_CODE = "1010"; const INPUT_ID_ERROR_CODE = "1011"; const OPERATION_ERROR_CODE = "1012"; const INVALID_OPERATION_ID_CODE = "1013"; const CHECKSUM_ERROR_CODE = "1014"; const OUTPUT_ID_ERROR_CODE = "1015"; const UTXO_ERROR_CODE = "1016"; const INSUFFICIENT_FUNDS_ERROR_CODE = "1017"; const THRESHOLD_ERROR_CODE = "1018"; const SECP_MINT_OUTPUT_ERROR_CODE = "1019"; const EVM_INPUT_ERROR_CODE = "1020"; const EVM_OUTPUT_ERROR_CODE = "1021"; const FEE_ASSET_ERROR_CODE = "1022"; const STAKE_ERROR_CODE = "1023"; const TIME_ERROR_CODE = "1024"; const DELEGATION_FEE_ERROR_CODE = "1025"; const SUBNET_OWNER_ERROR_CODE = "1026"; const BUFFER_SIZE_ERROR_CODE = "1027"; const ADDRESS_INDEX_ERROR_CODE = "1028"; const PUBLIC_KEY_ERROR_CODE = "1029"; const MERGE_RULE_ERROR_CODE = "1030"; const BASE58_ERROR_CODE = "1031"; const PRIVATE_KEY_ERROR_CODE = "1032"; const NODE_ID_ERROR_CODE = "1033"; const HEX_ERROR_CODE = "1034"; const TYPE_ID_ERROR_CODE = "1035"; const UNKNOWN_TYPE_ERROR_CODE = "1036"; const BECH32_ERROR_CODE = "1037"; const EVM_FEE_ERROR_CODE = "1038"; const INVALID_ENTROPY = "1039"; const PROTOCOL_ERROR_CODE = "1040"; const SUBNET_ID_ERROR_CODE = "1041"; const TYPE_NAME_ERROR_CODE = "1042"; const SUBNET_THRESHOLD_ERROR_CODE = "1043"; const SUBNET_ADDRESS_ERROR_CODE = "1044"; class AvalancheError extends Error { constructor(m, code) { super(m); Object.setPrototypeOf(this, AvalancheError.prototype); this.errorCode = code; } getCode() { return this.errorCode; } } exports.AvalancheError = AvalancheError; class AddressError extends AvalancheError { constructor(m) { super(m, ADDRESS_ERROR_CODE); Object.setPrototypeOf(this, AddressError.prototype); } } exports.AddressError = AddressError; class GooseEggCheckError extends AvalancheError { constructor(m) { super(m, GOOSE_EGG_CHECK_ERROR_CODE); Object.setPrototypeOf(this, GooseEggCheckError.prototype); } } exports.GooseEggCheckError = GooseEggCheckError; class ChainIdError extends AvalancheError { constructor(m) { super(m, CHAIN_ID_ERROR_CODE); Object.setPrototypeOf(this, ChainIdError.prototype); } } exports.ChainIdError = ChainIdError; class NoAtomicUTXOsError extends AvalancheError { constructor(m) { super(m, NO_ATOMIX_UTXOS_ERROR_CODE); Object.setPrototypeOf(this, NoAtomicUTXOsError.prototype); } } exports.NoAtomicUTXOsError = NoAtomicUTXOsError; class SymbolError extends AvalancheError { constructor(m) { super(m, SYMBOL_ERROR_CODE); Object.setPrototypeOf(this, SymbolError.prototype); } } exports.SymbolError = SymbolError; class NameError extends AvalancheError { constructor(m) { super(m, NAME_ERROR_CODE); Object.setPrototypeOf(this, NameError.prototype); } } exports.NameError = NameError; class TransactionError extends AvalancheError { constructor(m) { super(m, TRANSACTION_ERROR_CODE); Object.setPrototypeOf(this, TransactionError.prototype); } } exports.TransactionError = TransactionError; class CodecIdError extends AvalancheError { constructor(m) { super(m, CODEC_ID_ERROR_CODE); Object.setPrototypeOf(this, CodecIdError.prototype); } } exports.CodecIdError = CodecIdError; class CredIdError extends AvalancheError { constructor(m) { super(m, CRED_ID_ERROR_CODE); Object.setPrototypeOf(this, CredIdError.prototype); } } exports.CredIdError = CredIdError; class TransferableOutputError extends AvalancheError { constructor(m) { super(m, TRANSFERABLE_OUTPUT_ERROR_CODE); Object.setPrototypeOf(this, TransferableOutputError.prototype); } } exports.TransferableOutputError = TransferableOutputError; class TransferableInputError extends AvalancheError { constructor(m) { super(m, TRANSFERABLE_INPUT_ERROR_CODE); Object.setPrototypeOf(this, TransferableInputError.prototype); } } exports.TransferableInputError = TransferableInputError; class InputIdError extends AvalancheError { constructor(m) { super(m, INPUT_ID_ERROR_CODE); Object.setPrototypeOf(this, InputIdError.prototype); } } exports.InputIdError = InputIdError; class OperationError extends AvalancheError { constructor(m) { super(m, OPERATION_ERROR_CODE); Object.setPrototypeOf(this, OperationError.prototype); } } exports.OperationError = OperationError; class InvalidOperationIdError extends AvalancheError { constructor(m) { super(m, INVALID_OPERATION_ID_CODE); Object.setPrototypeOf(this, InvalidOperationIdError.prototype); } } exports.InvalidOperationIdError = InvalidOperationIdError; class ChecksumError extends AvalancheError { constructor(m) { super(m, CHECKSUM_ERROR_CODE); Object.setPrototypeOf(this, ChecksumError.prototype); } } exports.ChecksumError = ChecksumError; class OutputIdError extends AvalancheError { constructor(m) { super(m, OUTPUT_ID_ERROR_CODE); Object.setPrototypeOf(this, OutputIdError.prototype); } } exports.OutputIdError = OutputIdError; class UTXOError extends AvalancheError { constructor(m) { super(m, UTXO_ERROR_CODE); Object.setPrototypeOf(this, UTXOError.prototype); } } exports.UTXOError = UTXOError; class InsufficientFundsError extends AvalancheError { constructor(m) { super(m, INSUFFICIENT_FUNDS_ERROR_CODE); Object.setPrototypeOf(this, InsufficientFundsError.prototype); } } exports.InsufficientFundsError = InsufficientFundsError; class ThresholdError extends AvalancheError { constructor(m) { super(m, THRESHOLD_ERROR_CODE); Object.setPrototypeOf(this, ThresholdError.prototype); } } exports.ThresholdError = ThresholdError; class SECPMintOutputError extends AvalancheError { constructor(m) { super(m, SECP_MINT_OUTPUT_ERROR_CODE); Object.setPrototypeOf(this, SECPMintOutputError.prototype); } } exports.SECPMintOutputError = SECPMintOutputError; class EVMInputError extends AvalancheError { constructor(m) { super(m, EVM_INPUT_ERROR_CODE); Object.setPrototypeOf(this, EVMInputError.prototype); } } exports.EVMInputError = EVMInputError; class EVMOutputError extends AvalancheError { constructor(m) { super(m, EVM_OUTPUT_ERROR_CODE); Object.setPrototypeOf(this, EVMOutputError.prototype); } } exports.EVMOutputError = EVMOutputError; class FeeAssetError extends AvalancheError { constructor(m) { super(m, FEE_ASSET_ERROR_CODE); Object.setPrototypeOf(this, FeeAssetError.prototype); } } exports.FeeAssetError = FeeAssetError; class StakeError extends AvalancheError { constructor(m) { super(m, STAKE_ERROR_CODE); Object.setPrototypeOf(this, StakeError.prototype); } } exports.StakeError = StakeError; class TimeError extends AvalancheError { constructor(m) { super(m, TIME_ERROR_CODE); Object.setPrototypeOf(this, TimeError.prototype); } } exports.TimeError = TimeError; class DelegationFeeError extends AvalancheError { constructor(m) { super(m, DELEGATION_FEE_ERROR_CODE); Object.setPrototypeOf(this, DelegationFeeError.prototype); } } exports.DelegationFeeError = DelegationFeeError; class SubnetOwnerError extends AvalancheError { constructor(m) { super(m, SUBNET_OWNER_ERROR_CODE); Object.setPrototypeOf(this, SubnetOwnerError.prototype); } } exports.SubnetOwnerError = SubnetOwnerError; class BufferSizeError extends AvalancheError { constructor(m) { super(m, BUFFER_SIZE_ERROR_CODE); Object.setPrototypeOf(this, BufferSizeError.prototype); } } exports.BufferSizeError = BufferSizeError; class AddressIndexError extends AvalancheError { constructor(m) { super(m, ADDRESS_INDEX_ERROR_CODE); Object.setPrototypeOf(this, AddressIndexError.prototype); } } exports.AddressIndexError = AddressIndexError; class PublicKeyError extends AvalancheError { constructor(m) { super(m, PUBLIC_KEY_ERROR_CODE); Object.setPrototypeOf(this, PublicKeyError.prototype); } } exports.PublicKeyError = PublicKeyError; class MergeRuleError extends AvalancheError { constructor(m) { super(m, MERGE_RULE_ERROR_CODE); Object.setPrototypeOf(this, MergeRuleError.prototype); } } exports.MergeRuleError = MergeRuleError; class Base58Error extends AvalancheError { constructor(m) { super(m, BASE58_ERROR_CODE); Object.setPrototypeOf(this, Base58Error.prototype); } } exports.Base58Error = Base58Error; class PrivateKeyError extends AvalancheError { constructor(m) { super(m, PRIVATE_KEY_ERROR_CODE); Object.setPrototypeOf(this, PrivateKeyError.prototype); } } exports.PrivateKeyError = PrivateKeyError; class NodeIdError extends AvalancheError { constructor(m) { super(m, NODE_ID_ERROR_CODE); Object.setPrototypeOf(this, NodeIdError.prototype); } } exports.NodeIdError = NodeIdError; class HexError extends AvalancheError { constructor(m) { super(m, HEX_ERROR_CODE); Object.setPrototypeOf(this, HexError.prototype); } } exports.HexError = HexError; class TypeIdError extends AvalancheError { constructor(m) { super(m, TYPE_ID_ERROR_CODE); Object.setPrototypeOf(this, TypeIdError.prototype); } } exports.TypeIdError = TypeIdError; class TypeNameError extends AvalancheError { constructor(m) { super(m, TYPE_NAME_ERROR_CODE); Object.setPrototypeOf(this, TypeNameError.prototype); } } exports.TypeNameError = TypeNameError; class UnknownTypeError extends AvalancheError { constructor(m) { super(m, UNKNOWN_TYPE_ERROR_CODE); Object.setPrototypeOf(this, UnknownTypeError.prototype); } } exports.UnknownTypeError = UnknownTypeError; class Bech32Error extends AvalancheError { constructor(m) { super(m, BECH32_ERROR_CODE); Object.setPrototypeOf(this, Bech32Error.prototype); } } exports.Bech32Error = Bech32Error; class EVMFeeError extends AvalancheError { constructor(m) { super(m, EVM_FEE_ERROR_CODE); Object.setPrototypeOf(this, EVMFeeError.prototype); } } exports.EVMFeeError = EVMFeeError; class InvalidEntropy extends AvalancheError { constructor(m) { super(m, INVALID_ENTROPY); Object.setPrototypeOf(this, InvalidEntropy.prototype); } } exports.InvalidEntropy = InvalidEntropy; class ProtocolError extends AvalancheError { constructor(m) { super(m, PROTOCOL_ERROR_CODE); Object.setPrototypeOf(this, ProtocolError.prototype); } } exports.ProtocolError = ProtocolError; class SubnetIdError extends AvalancheError { constructor(m) { super(m, SUBNET_ID_ERROR_CODE); Object.setPrototypeOf(this, SubnetIdError.prototype); } } exports.SubnetIdError = SubnetIdError; class SubnetThresholdError extends AvalancheError { constructor(m) { super(m, SUBNET_THRESHOLD_ERROR_CODE); Object.setPrototypeOf(this, SubnetThresholdError.prototype); } } exports.SubnetThresholdError = SubnetThresholdError; class SubnetAddressError extends AvalancheError { constructor(m) { super(m, SUBNET_ADDRESS_ERROR_CODE); Object.setPrototypeOf(this, SubnetAddressError.prototype); } } exports.SubnetAddressError = SubnetAddressError; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWxzL2Vycm9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxNQUFNLGtCQUFrQixHQUFXLE1BQU0sQ0FBQTtBQUN6QyxNQUFNLDBCQUEwQixHQUFXLE1BQU0sQ0FBQTtBQUNqRCxNQUFNLG1CQUFtQixHQUFXLE1BQU0sQ0FBQTtBQUMxQyxNQUFNLDBCQUEwQixHQUFXLE1BQU0sQ0FBQTtBQUNqRCxNQUFNLGlCQUFpQixHQUFXLE1BQU0sQ0FBQTtBQUN4QyxNQUFNLGVBQWUsR0FBVyxNQUFNLENBQUE7QUFDdEMsTUFBTSxzQkFBc0IsR0FBVyxNQUFNLENBQUE7QUFDN0MsTUFBTSxtQkFBbUIsR0FBVyxNQUFNLENBQUE7QUFDMUMsTUFBTSxrQkFBa0IsR0FBVyxNQUFNLENBQUE7QUFDekMsTUFBTSw4QkFBOEIsR0FBVyxNQUFNLENBQUE7QUFDckQsTUFBTSw2QkFBNkIsR0FBVyxNQUFNLENBQUE7QUFDcEQsTUFBTSxtQkFBbUIsR0FBVyxNQUFNLENBQUE7QUFDMUMsTUFBTSxvQkFBb0IsR0FBVyxNQUFNLENBQUE7QUFDM0MsTUFBTSx5QkFBeUIsR0FBVyxNQUFNLENBQUE7QUFDaEQsTUFBTSxtQkFBbUIsR0FBVyxNQUFNLENBQUE7QUFDMUMsTUFBTSxvQkFBb0IsR0FBVyxNQUFNLENBQUE7QUFDM0MsTUFBTSxlQUFlLEdBQVcsTUFBTSxDQUFBO0FBQ3RDLE1BQU0sNkJBQTZCLEdBQVcsTUFBTSxDQUFBO0FBQ3BELE1BQU0sb0JBQW9CLEdBQVcsTUFBTSxDQUFBO0FBQzNDLE1BQU0sMkJBQTJCLEdBQVcsTUFBTSxDQUFBO0FBQ2xELE1BQU0sb0JBQW9CLEdBQVcsTUFBTSxDQUFBO0FBQzNDLE1BQU0scUJBQXFCLEdBQVcsTUFBTSxDQUFBO0FBQzVDLE1BQU0sb0JBQW9CLEdBQVcsTUFBTSxDQUFBO0FBQzNDLE1BQU0sZ0JBQWdCLEdBQVcsTUFBTSxD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QyxFQUFFLG1CQUFtQixDQUFDLENBQUE7UUFDN0IsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFBO0lBQ3RELENBQUM7Q0FDRjtBQUxELHNDQUtDO0FBRUQsTUFBYSxhQUFjLFNBQVEsY0FBYztJQUMvQyxZQUFZLENBQVM7UUFDbkIsS0FBSyxDQUFDLENBQUMsRUFBRSxvQkFBb0IsQ0FBQyxDQUFBO1FBQzlCLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQTtJQUN0RCxDQUFDO0NBQ0Y7QUFMRCxzQ0FLQztBQUVELE1BQWEsb0JBQXFCLFNBQVEsY0FBYztJQUN0RCxZQUFZLENBQVM7UUFDbkIsS0FBSyxDQUFDLENBQUMsRUFBRSwyQkFBMkIsQ0FBQyxDQUFBO1FBQ3JDLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLG9CQUFvQixDQUFDLFNBQVMsQ0FBQyxDQUFBO0lBQzdELENBQUM7Q0FDRjtBQUxELG9EQUtDO0FBRUQsTUFBYSxrQkFBbUIsU0FBUSxjQUFjO0lBQ3BELFlBQVksQ0FBUztRQUNuQixLQUFLLENBQUMsQ0FBQyxFQUFFLHlCQUF5QixDQUFDLENBQUE7UUFDbkMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsa0JBQWtCLENBQUMsU0FBUyxDQUFDLENBQUE7SUFDM0QsQ0FBQztDQUNGO0FBTEQsZ0RBS0MiLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBBRERSRVNTX0VSUk9SX0NPREU6IHN0cmluZyA9IFwiMTAwMFwiXG5jb25zdCBHT09TRV9FR0dfQ0hFQ0tfRVJST1JfQ09ERTogc3RyaW5nID0gXCIxMDAxXCJcbmNvbnN0IENIQUlOX0lEX0VSUk9SX0NPREU6IHN0cmluZyA9IFwiMTAwMlwiXG5jb25zdCBOT19BVE9NSVhfVVRYT1NfRVJST1JfQ09ERTogc3RyaW5nID0gXCIxMDAzXCJcbmNvbnN0IFNZTUJPTF9FUlJPUl9DT0RFOiBzdHJpbmcgPSBcIjEwMDRcIlxuY29uc3QgTkFNRV9FUlJPUl9DT0RFOiBzdHJpbmcgPSBcIjEwMDVcIlxuY29uc3QgVFJBTlNBQ1RJT05fRVJST1JfQ09ERTogc3RyaW5nID0gXCIxMDA2XCJcbmNvbnN0IENPREVDX0lEX0VSUk9SX0NPREU6IHN0cmluZyA9IFwiMTAwN1wiXG5jb25zdCBDUkVEX0lEX0VSUk9SX0NPREU6IHN0cmluZyA9IFwiMTAwOFwiXG5jb25zdCBUUkFOU0ZFUkFCTEVfT1VUUFVUX0VSUk9SX0NPREU6IHN0cmluZyA9IFwiMTAwOVwiXG5jb25zdCBUUkFOU0ZFUkFCTEVfSU5QVVRfRVJST1JfQ09ERTogc3RyaW5nID0gXCIxMDEwXCJcbmNvbnN0IElOUFVUX0lEX0VSUk9SX0NPREU6IHN0cmluZyA9IFwiMTAxMVwiXG5jb25zdCBPUEVSQVRJT05fRVJST1JfQ09ERTogc3RyaW5nID0gXCIxMDEyXCJcbmNvbnN0IElOVkFMSURfT1BFUkFUSU9OX0lEX0NPREU6IHN0cmluZyA9IFwiMTAxM1wiXG5jb25zdCBDSEVDS1NVTV9FUlJPUl9DT0RFOiBzdHJpbmcgPSBcIjEwMTRcIlxuY29uc3QgT1VUUFVUX0lEX0VSUk9SX0NPREU6IHN0cmluZyA9IFwiMTAxNVwiXG5jb25zdCBVVFhPX0VSUk9SX0NPREU6IHN0cmluZyA9IFwiMTAxNlwiXG5jb25zdCBJTlNVRkZJQ0lFTlRfRlVORFNfRVJST1JfQ09ERTogc3RyaW5nID0gXCIxMDE3XCJcbmNvbnN0IFRIUkVTSE9MRF9FUlJPUl9DT0RFOiBzdHJpbmcgPSBcIjEwMThcIlxuY29uc3QgU0VDUF9NSU5UX09VVFBVVF9FUlJPUl9DT0RFOiBzdHJpbmcgPSBcIjEwMTlcIlxuY29uc3QgRVZNX0lOUFVUX0VSUk9SX0NPREU6IHN0cmluZyA9IFwiMTAyMFwiXG5jb25zdCBFVk1fT1VUUFVUX0VSUk9SX0NPREU6IHN0cmluZyA9IFwiMTAyMVwiXG5jb25zdCBGRUVfQVNTRVRfRVJST1JfQ09ERTogc3RyaW5nID0gXCIxMDIyXCJcbmNvbnN0IFNUQUtFX0VSUk9SX0NPREU6IHN0cmluZyA9IFwiMTAyM1wiXG5jb25zdCBUSU1FX0VSUk9SX0NPREU6IHN0cmluZyA9IFwiMTAyNFwiXG5jb25zdCBERUxFR0FUSU9OX0ZFRV9FUlJPUl9DT0RFOiBzdHJpbmcgPSBcIjEwMjVcIlxuY29uc3QgU1VCTkVUX09XTkVSX0VSUk9SX0NPREU6IHN0cmluZyA9IFwiMTAyNlwiXG5jb25zdCBCVUZGRVJfU0laRV9FUlJPUl9DT0RFOiBzdHJpbmcgPSBcIjEwMjdcIlxuY29uc3QgQUREUkVTU19JTkRFWF9FUlJPUl9DT0RFOiBzdHJpbmcgPSBcIjEwMjhcIlxuY29uc3QgUFVCTElDX0tFWV9FUlJPUl9DT0RFOiBzdHJpbmcgPSBcIjEwMjlcIlxuY29uc3QgTUVSR0VfUlVMRV9FUlJPUl9DT0RFOiBzdHJpbmcgPSBcIjEwMzBcIlxuY29uc3QgQkFTRTU4X0VSUk9SX0NPREU6IHN0cmluZyA9IFwiMTAzMVwiXG5jb25zdCBQUklWQVRFX0tFWV9FUlJPUl9DT0RFOiBzdHJpbmcgPSBcIjEwMzJcIlxuY29uc3QgTk9ERV9JRF9FUlJPUl9DT0RFOiBzdHJpbmcgPSBcIjEwMzNcIlxuY29uc3QgSEVYX0VSUk9SX0NPREU6IHN0cmluZyA9IFwiMTAzNFwiXG5jb25zdCBUWVBFX0lEX0VSUk9SX0NPREU6IHN0cmluZyA9IFwiMTAzNVwiXG5jb25zdCBVTktOT1dOX1RZUEVfRVJST1JfQ09ERTogc3RyaW5nID0gXCIxMDM2XCJcbmNvbnN0IEJFQ0gzMl9FUlJPUl9DT0RFOiBzdHJpbmcgPSBcIjEwMzdcIlxuY29uc3QgRVZNX0ZFRV9FUlJPUl9DT0RFOiBzdHJpbmcgPSBcIjEwMzhcIlxuY29uc3QgSU5WQUxJRF9FTlRST1BZOiBzdHJpbmcgPSBcIjEwMzlcIlxuY29uc3QgUFJPVE9DT0xfRVJST1JfQ09ERTogc3RyaW5nID0gXCIxMDQwXCJcbmNvbnN0IFNVQk5FVF9JRF9FUlJPUl9DT0RFOiBzdHJpbmcgPSBcIjEwNDFcIlxuY29uc3QgVFlQRV9OQU1FX0VSUk9SX0NPREU6IHN0cmluZyA9IFwiMTA0MlwiXG5jb25zdCBTVUJORVRfVEhSRVNIT0xEX0VSUk9SX0NPREU6IHN0cmluZyA9IFwiMTA0M1wiXG5jb25zdCBTVUJORVRfQUREUkVTU19FUlJPUl9DT0RFOiBzdHJpbmcgPSBcIjEwNDRcIlxuXG5leHBvcnQgY2xhc3MgQXZhbGFuY2hlRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIGVycm9yQ29kZTogc3RyaW5nXG4gIGNvbnN0cnVjdG9yKG06IHN0cmluZywgY29kZTogc3RyaW5nKSB7XG4gICAgc3VwZXIobSlcbiAgICBPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcywgQXZhbGFuY2hlRXJyb3IucHJvdG90eXBlKVxuICAgIHRoaXMuZXJyb3JDb2RlID0gY29kZVxuICB9XG5cbiAgZ2V0Q29kZSgpIHtcbiAgICByZXR1cm4gdGhpcy5lcnJvckNvZGVcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgQWRkcmVzc0Vycm9yIGV4dGVuZHMgQXZhbGFuY2hlRXJyb3Ige1xuICBjb25zdHJ1Y3RvcihtOiBzdHJpbmcpIHtcbiAgICBzdXBlcihtLCBBRERSRVNTX0VSUk9SX0NPREUpXG4gICAgT2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsIEFkZHJlc3NFcnJvci5wcm90b3R5cGUpXG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEdvb3NlRWdnQ2hlY2tFcnJvciBleHRlbmRzIEF2YWxhbmNoZUVycm9yIHtcbiAgY29uc3RydWN0b3IobTogc3RyaW5nKSB7XG4gICAgc3VwZXIobSwgR09PU0VfRUdHX0NIRUNLX0VSUk9SX0NPREUpXG4gICAgT2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsIEdvb3NlRWdnQ2hlY2tFcnJvci5wcm90b3R5cGUpXG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIENoYWluSWRFcnJvciBleHRlbmRzIEF2YWxhbmNoZUVycm9yIHtcbiAgY29uc3RydWN0b3IobTogc3RyaW5nKSB7XG4gICAgc3VwZXIobSwgQ0hBSU5fSURfRVJST1JfQ09ERSlcbiAgICBPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcywgQ2hhaW5JZEVycm9yLnByb3RvdHlwZSlcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgTm9BdG9taWNVVFhPc0Vycm9yIGV4dGVuZHMgQXZhbGFuY2hlRXJyb3Ige1xuICBjb25zdHJ1Y3RvcihtOiBzdHJpbmcpIHtcbiAgICBzdXBlcihtLCBOT19BVE9NSVhfVVRYT1NfRVJST1JfQ09ERSlcbiAgICBPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcywgTm9BdG9taWNVVFhPc0Vycm9yLnByb3RvdHlwZSlcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgU3ltYm9sRXJyb3IgZXh0ZW5kcyBBdmFsYW5jaGVFcnJvciB7XG4gIGNvbnN0cnVjdG9yKG06IHN0cmluZykge1xuICAgIHN1cGVyKG0sIFNZTUJPTF9FUlJPUl9DT0RFKVxuICAgIE9iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLCBTeW1ib2xFcnJvci5wcm90b3R5cGUpXG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIE5hbWVFcnJvciBleHRlbmRzIEF2YWxhbmNoZUVycm9yIHtcbiAgY29uc3RydWN0b3IobTogc3RyaW5nKSB7XG4gICAgc3VwZXIobSwgTkFNRV9FUlJPUl9DT0RFKVxuICAgIE9iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLCBOYW1lRXJyb3IucHJvdG90eXBlKVxuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbkVycm9yIGV4dGVuZHMgQXZhbGFuY2hlRXJyb3Ige1xuICBjb25zdHJ1Y3RvcihtOiBzdHJpbmcpIHtcbiAgICBzdXBlcihtLCBUUkFOU0FDVElPTl9FUlJPUl9DT0RFKVxuICAgIE9iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLCBUcmFuc2FjdGlvbkVycm9yLnByb3RvdHlwZSlcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgQ29kZWNJZEVycm9yIGV4dGVuZHMgQXZhbGFuY2hlRXJyb3Ige1xuICBjb25zdHJ1Y3RvcihtOiBzdHJpbmcpIHtcbiAgICBzdXBlcihtLCBDT0RFQ19JRF9FUlJPUl9DT0RFKVxuICAgIE9iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLCBDb2RlY0lkRXJyb3IucHJvdG90eXBlKVxuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBDcmVkSWRFcnJvciBleHRlbmRzIEF2YWxhbmNoZUVycm9yIHtcbiAgY29uc3RydWN0b3IobTogc3RyaW5nKSB7XG4gICAgc3VwZXIobSwgQ1JFRF9JRF9FUlJPUl9DT0RFKVxuICAgIE9iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLCBDcmVkSWRFcnJvci5wcm90b3R5cGUpXG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFRyYW5zZmVyYWJsZU91dHB1dEVycm9yIGV4dGVuZHMgQXZhbGFuY2hlRXJyb3Ige1xuICBjb25zdHJ1Y3RvcihtOiBzdHJpbmcpIHtcbiAgICBzdXBlcihtLCBUUkFOU0ZFUkFCTEVfT1VUUFVUX0VSUk9SX0NPREUpXG4gICAgT2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsIFRyYW5zZmVyYWJsZU91dHB1dEVycm9yLnByb3RvdHlwZSlcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgVHJhbnNmZXJhYmxlSW5wdXRFcnJvciBleHRlbmRzIEF2YWxhbmNoZUVycm9yIHtcbiAgY29uc3RydWN0b3IobTogc3RyaW5nKSB7XG4gICAgc3VwZXIobSwgVFJBTlNGRVJBQkxFX0lOUFVUX0VSUk9SX0NPREUpXG4gICAgT2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsIFRyYW5zZmVyYWJsZUlucHV0RXJyb3IucHJvdG90eXBlKVxuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBJbnB1dElkRXJyb3IgZXh0ZW5kcyBBdmFsYW5jaGVFcnJvciB7XG4gIGNvbnN0cnVjdG9yKG06IHN0cmluZykge1xuICAgIHN1cGVyKG0sIElOUFVUX0lEX0VSUk9SX0NPREUpXG4gICAgT2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsIElucHV0SWRFcnJvci5wcm90b3R5cGUpXG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIE9wZXJhdGlvbkVycm9yIGV4dGVuZHMgQXZhbGFuY2hlRXJyb3Ige1xuICBjb25zdHJ1Y3RvcihtOiBzdHJpbmcpIHtcbiAgICBzdXBlcihtLCBPUEVSQVRJT05fRVJST1JfQ09ERSlcbiAgICBPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcywgT3BlcmF0aW9uRXJyb3IucHJvdG90eXBlKVxuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBJbnZhbGlkT3BlcmF0aW9uSWRFcnJvciBleHRlbmRzIEF2YWxhbmNoZUVycm9yIHtcbiAgY29uc3RydWN0b3IobTogc3RyaW5nKSB7XG4gICAgc3VwZXIobSwgSU5WQUxJRF9PUEVSQVRJT05fSURfQ09ERSlcbiAgICBPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcywgSW52YWxpZE9wZXJhdGlvbklkRXJyb3IucHJvdG90eXBlKVxuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBDaGVja3N1bUVycm9yIGV4dGVuZHMgQXZhbGFuY2hlRXJyb3Ige1xuICBjb25zdHJ1Y3RvcihtOiBzdHJpbmcpIHtcbiAgICBzdXBlcihtLCBDSEVDS1NVTV9FUlJPUl9DT0RFKVxuICAgIE9iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLCBDaGVja3N1bUVycm9yLnByb3RvdHlwZSlcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgT3V0cHV0SWRFcnJvciBleHRlbmRzIEF2YWxhbmNoZUVycm9yIHtcbiAgY29uc3RydWN0b3IobTogc3RyaW5nKSB7XG4gICAgc3VwZXIobSwgT1VUUFVUX0lEX0VSUk9SX0NPREUpXG4gICAgT2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsIE91dHB1dElkRXJyb3IucHJvdG90eXBlKVxuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBVVFhPRXJyb3IgZXh0ZW5kcyBBdmFsYW5jaGVFcnJvciB7XG4gIGNvbnN0cnVjdG9yKG06IHN0cmluZykge1xuICAgIHN1cGVyKG0sIFVUWE9fRVJST1JfQ09ERSlcbiAgICBPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcywgVVRYT0Vycm9yLnByb3RvdHlwZSlcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgSW5zdWZmaWNpZW50RnVuZHNFcnJvciBleHRlbmRzIEF2YWxhbmNoZUVycm9yIHtcbiAgY29uc3RydWN0b3IobTogc3RyaW5nKSB7XG4gICAgc3VwZXIobSwgSU5TVUZGSUNJRU5UX0ZVTkRTX0VSUk9SX0NPREUpXG4gICAgT2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsIEluc3VmZmljaWVudEZ1bmRzRXJyb3IucHJvdG90eXBlKVxuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBUaHJlc2hvbGRFcnJvciBleHRlbmRzIEF2YWxhbmNoZUVycm9yIHtcbiAgY29uc3RydWN0b3IobTogc3RyaW5nKSB7XG4gICAgc3VwZXIobSwgVEhSRVNIT0xEX0VSUk9SX0NPREUpXG4gICAgT2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsIFRocmVzaG9sZEVycm9yLnByb3RvdHlwZSlcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgU0VDUE1pbnRPdXRwdXRFcnJvciBleHRlbmRzIEF2YWxhbmNoZUVycm9yIHtcbiAgY29uc3RydWN0b3IobTogc3RyaW5nKSB7XG4gICAgc3VwZXIobSwgU0VDUF9NSU5UX09VVFBVVF9FUlJPUl9DT0RFKVxuICAgIE9iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLCBTRUNQTWludE91dHB1dEVycm9yLnByb3RvdHlwZSlcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgRVZNSW5wdXRFcnJvciBleHRlbmRzIEF2YWxhbmNoZUVycm9yIHtcbiAgY29uc3RydWN0b3IobTogc3RyaW5nKSB7XG4gICAgc3VwZXIobSwgRVZNX0lOUFVUX0VSUk9SX0NPREUpXG4gICAgT2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsIEVWTUlucHV0RXJyb3IucHJvdG90eXBlKVxuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBFVk1PdXRwdXRFcnJvciBleHRlbmRzIEF2YWxhbmNoZUVycm9yIHtcbiAgY29uc3RydWN0b3IobTogc3RyaW5nKSB7XG4gICAgc3VwZXIobSwgRVZNX09VVFBVVF9FUlJPUl9DT0RFKVxuICAgIE9iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLCBFVk1PdXRwdXRFcnJvci5wcm90b3R5cGUpXG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEZlZUFzc2V0RXJyb3IgZXh0ZW5kcyBBdmFsYW5jaGVFcnJvciB7XG4gIGNvbnN0cnVjdG9yKG06IHN0cmluZykge1xuICAgIHN1cGVyKG0sIEZFRV9BU1NFVF9FUlJPUl9DT0RFKVxuICAgIE9iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLCBGZWVBc3NldEVycm9yLnByb3RvdHlwZSlcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgU3Rha2VFcnJvciBleHRlbmRzIEF2YWxhbmNoZUVycm9yIHtcbiAgY29uc3RydWN0b3IobTogc3RyaW5nKSB7XG4gICAgc3VwZXIobSwgU1RBS0VfRVJST1JfQ09ERSlcbiAgICBPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcywgU3Rha2VFcnJvci5wcm90b3R5cGUpXG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFRpbWVFcnJvciBleHRlbmRzIEF2YWxhbmNoZUVycm9yIHtcbiAgY29uc3RydWN0b3IobTogc3RyaW5nKSB7XG4gICAgc3VwZXIobSwgVElNRV9FUlJPUl9DT0RFKVxuICAgIE9iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLCBUaW1lRXJyb3IucHJvdG90eXBlKVxuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBEZWxlZ2F0aW9uRmVlRXJyb3IgZXh0ZW5kcyBBdmFsYW5jaGVFcnJvciB7XG4gIGNvbnN0cnVjdG9yKG06IHN0cmluZykge1xuICAgIHN1cGVyKG0sIERFTEVHQVRJT05fRkVFX0VSUk9SX0NPREUpXG4gICAgT2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsIERlbGVnYXRpb25GZWVFcnJvci5wcm90b3R5cGUpXG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFN1Ym5ldE93bmVyRXJyb3IgZXh0ZW5kcyBBdmFsYW5jaGVFcnJvciB7XG4gIGNvbnN0cnVjdG9yKG06IHN0cmluZykge1xuICAgIHN1cGVyKG0sIFNVQk5FVF9PV05FUl9FUlJPUl9DT0RFKVxuICAgIE9iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLCBTdWJuZXRPd25lckVycm9yLnByb3RvdHlwZSlcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgQnVmZmVyU2l6ZUVycm9yIGV4dGVuZHMgQXZhbGFuY2hlRXJyb3Ige1xuICBjb25zdHJ1Y3RvcihtOiBzdHJpbmcpIHtcbiAgICBzdXBlcihtLCBCVUZGRVJfU0laRV9FUlJPUl9DT0RFKVxuICAgIE9iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLCBCdWZmZXJTaXplRXJyb3IucHJvdG90eXBlKVxuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBBZGRyZXNzSW5kZXhFcnJvciBleHRlbmRzIEF2YWxhbmNoZUVycm9yIHtcbiAgY29uc3RydWN0b3IobTogc3RyaW5nKSB7XG4gICAgc3VwZXIobSwgQUREUkVTU19JTkRFWF9FUlJPUl9DT0RFKVxuICAgIE9iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLCBBZGRyZXNzSW5kZXhFcnJvci5wcm90b3R5cGUpXG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFB1YmxpY0tleUVycm9yIGV4dGVuZHMgQXZhbGFuY2hlRXJyb3Ige1xuICBjb25zdHJ1Y3RvcihtOiBzdHJpbmcpIHtcbiAgICBzdXBlcihtLCBQVUJMSUNfS0VZX0VSUk9SX0NPREUpXG4gICAgT2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsIFB1YmxpY0tleUVycm9yLnByb3RvdHlwZSlcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgTWVyZ2VSdWxlRXJyb3IgZXh0ZW5kcyBBdmFsYW5jaGVFcnJvciB7XG4gIGNvbnN0cnVjdG9yKG06IHN0cmluZykge1xuICAgIHN1cGVyKG0sIE1FUkdFX1JVTEVfRVJST1JfQ09ERSlcbiAgICBPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcywgTWVyZ2VSdWxlRXJyb3IucHJvdG90eXBlKVxuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBCYXNlNThFcnJvciBleHRlbmRzIEF2YWxhbmNoZUVycm9yIHtcbiAgY29uc3RydWN0b3IobTogc3RyaW5nKSB7XG4gICAgc3VwZXIobSwgQkFTRTU4X0VSUk9SX0NPREUpXG4gICAgT2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsIEJhc2U1OEVycm9yLnByb3RvdHlwZSlcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgUHJpdmF0ZUtleUVycm9yIGV4dGVuZHMgQXZhbGFuY2hlRXJyb3Ige1xuICBjb25zdHJ1Y3RvcihtOiBzdHJpbmcpIHtcbiAgICBzdXBlcihtLCBQUklWQVRFX0tFWV9FUlJPUl9DT0RFKVxuICAgIE9iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLCBQcml2YXRlS2V5RXJyb3IucHJvdG90eXBlKVxuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBOb2RlSWRFcnJvciBleHRlbmRzIEF2YWxhbmNoZUVycm9yIHtcbiAgY29uc3RydWN0b3IobTogc3RyaW5nKSB7XG4gICAgc3VwZXIobSwgTk9ERV9JRF9FUlJPUl9DT0RFKVxuICAgIE9iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLCBOb2RlSWRFcnJvci5wcm90b3R5cGUpXG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEhleEVycm9yIGV4dGVuZHMgQXZhbGFuY2hlRXJyb3Ige1xuICBjb25zdHJ1Y3RvcihtOiBzdHJpbmcpIHtcbiAgICBzdXBlcihtLCBIRVhfRVJST1JfQ09ERSlcbiAgICBPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcywgSGV4RXJyb3IucHJvdG90eXBlKVxuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBUeXBlSWRFcnJvciBleHRlbmRzIEF2YWxhbmNoZUVycm9yIHtcbiAgY29uc3RydWN0b3IobTogc3RyaW5nKSB7XG4gICAgc3VwZXIobSwgVFlQRV9JRF9FUlJPUl9DT0RFKVxuICAgIE9iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLCBUeXBlSWRFcnJvci5wcm90b3R5cGUpXG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFR5cGVOYW1lRXJyb3IgZXh0ZW5kcyBBdmFsYW5jaGVFcnJvciB7XG4gIGNvbnN0cnVjdG9yKG06IHN0cmluZykge1xuICAgIHN1cGVyKG0sIFRZUEVfTkFNRV9FUlJPUl9DT0RFKVxuICAgIE9iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLCBUeXBlTmFtZUVycm9yLnByb3RvdHlwZSlcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgVW5rbm93blR5cGVFcnJvciBleHRlbmRzIEF2YWxhbmNoZUVycm9yIHtcbiAgY29uc3RydWN0b3IobTogc3RyaW5nKSB7XG4gICAgc3VwZXIobSwgVU5LTk9XTl9UWVBFX0VSUk9SX0NPREUpXG4gICAgT2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsIFVua25vd25UeXBlRXJyb3IucHJvdG90eXBlKVxuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBCZWNoMzJFcnJvciBleHRlbmRzIEF2YWxhbmNoZUVycm9yIHtcbiAgY29uc3RydWN0b3IobTogc3RyaW5nKSB7XG4gICAgc3VwZXIobSwgQkVDSDMyX0VSUk9SX0NPREUpXG4gICAgT2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsIEJlY2gzMkVycm9yLnByb3RvdHlwZSlcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgRVZNRmVlRXJyb3IgZXh0ZW5kcyBBdmFsYW5jaGVFcnJvciB7XG4gIGNvbnN0cnVjdG9yKG06IHN0cmluZykge1xuICAgIHN1cGVyKG0sIEVWTV9GRUVfRVJST1JfQ09ERSlcbiAgICBPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcywgRVZNRmVlRXJyb3IucHJvdG90eXBlKVxuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBJbnZhbGlkRW50cm9weSBleHRlbmRzIEF2YWxhbmNoZUVycm9yIHtcbiAgY29uc3RydWN0b3IobTogc3RyaW5nKSB7XG4gICAgc3VwZXIobSwgSU5WQUxJRF9FTlRST1BZKVxuICAgIE9iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLCBJbnZhbGlkRW50cm9weS5wcm90b3R5cGUpXG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFByb3RvY29sRXJyb3IgZXh0ZW5kcyBBdmFsYW5jaGVFcnJvciB7XG4gIGNvbnN0cnVjdG9yKG06IHN0cmluZykge1xuICAgIHN1cGVyKG0sIFBST1RPQ09MX0VSUk9SX0NPREUpXG4gICAgT2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsIFByb3RvY29sRXJyb3IucHJvdG90eXBlKVxuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBTdWJuZXRJZEVycm9yIGV4dGVuZHMgQXZhbGFuY2hlRXJyb3Ige1xuICBjb25zdHJ1Y3RvcihtOiBzdHJpbmcpIHtcbiAgICBzdXBlcihtLCBTVUJORVRfSURfRVJST1JfQ09ERSlcbiAgICBPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcywgU3VibmV0SWRFcnJvci5wcm90b3R5cGUpXG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFN1Ym5ldFRocmVzaG9sZEVycm9yIGV4dGVuZHMgQXZhbGFuY2hlRXJyb3Ige1xuICBjb25zdHJ1Y3RvcihtOiBzdHJpbmcpIHtcbiAgICBzdXBlcihtLCBTVUJORVRfVEhSRVNIT0xEX0VSUk9SX0NPREUpXG4gICAgT2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsIFN1Ym5ldFRocmVzaG9sZEVycm9yLnByb3RvdHlwZSlcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgU3VibmV0QWRkcmVzc0Vycm9yIGV4dGVuZHMgQXZhbGFuY2hlRXJyb3Ige1xuICBjb25zdHJ1Y3RvcihtOiBzdHJpbmcpIHtcbiAgICBzdXBlcihtLCBTVUJORVRfQUREUkVTU19FUlJPUl9DT0RFKVxuICAgIE9iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLCBTdWJuZXRBZGRyZXNzRXJyb3IucHJvdG90eXBlKVxuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXJyb3JSZXNwb25zZU9iamVjdCB7XG4gIGNvZGU6IG51bWJlclxuICBtZXNzYWdlOiBzdHJpbmdcbiAgZGF0YT86IG51bGxcbn1cbiJdfQ==