@bitgo-beta/sdk-coin-flrp 1.0.1-beta.67 → 1.0.1-beta.69

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.
Files changed (113) hide show
  1. package/dist/tsconfig.tsbuildinfo +1 -1
  2. package/package.json +6 -6
  3. package/dist/src/flrp.d.ts +0 -91
  4. package/dist/src/flrp.d.ts.map +0 -1
  5. package/dist/src/flrp.js +0 -343
  6. package/dist/src/iface.d.ts +0 -25
  7. package/dist/src/iface.d.ts.map +0 -1
  8. package/dist/src/iface.js +0 -3
  9. package/dist/src/index.d.ts +0 -6
  10. package/dist/src/index.d.ts.map +0 -1
  11. package/dist/src/index.js +0 -45
  12. package/dist/src/lib/atomicInCTransactionBuilder.d.ts +0 -26
  13. package/dist/src/lib/atomicInCTransactionBuilder.d.ts.map +0 -1
  14. package/dist/src/lib/atomicInCTransactionBuilder.js +0 -64
  15. package/dist/src/lib/atomicTransactionBuilder.d.ts +0 -96
  16. package/dist/src/lib/atomicTransactionBuilder.d.ts.map +0 -1
  17. package/dist/src/lib/atomicTransactionBuilder.js +0 -318
  18. package/dist/src/lib/constants.d.ts +0 -170
  19. package/dist/src/lib/constants.d.ts.map +0 -1
  20. package/dist/src/lib/constants.js +0 -227
  21. package/dist/src/lib/delegatorTxBuilder.d.ts +0 -58
  22. package/dist/src/lib/delegatorTxBuilder.d.ts.map +0 -1
  23. package/dist/src/lib/delegatorTxBuilder.js +0 -224
  24. package/dist/src/lib/errors.d.ts +0 -8
  25. package/dist/src/lib/errors.d.ts.map +0 -1
  26. package/dist/src/lib/errors.js +0 -19
  27. package/dist/src/lib/exportInCTxBuilder.d.ts +0 -77
  28. package/dist/src/lib/exportInCTxBuilder.d.ts.map +0 -1
  29. package/dist/src/lib/exportInCTxBuilder.js +0 -199
  30. package/dist/src/lib/exportInPTxBuilder.d.ts +0 -30
  31. package/dist/src/lib/exportInPTxBuilder.d.ts.map +0 -1
  32. package/dist/src/lib/exportInPTxBuilder.js +0 -120
  33. package/dist/src/lib/iface.d.ts +0 -119
  34. package/dist/src/lib/iface.d.ts.map +0 -1
  35. package/dist/src/lib/iface.js +0 -22
  36. package/dist/src/lib/importInCTxBuilder.d.ts +0 -67
  37. package/dist/src/lib/importInCTxBuilder.d.ts.map +0 -1
  38. package/dist/src/lib/importInCTxBuilder.js +0 -403
  39. package/dist/src/lib/importInPTxBuilder.d.ts +0 -73
  40. package/dist/src/lib/importInPTxBuilder.d.ts.map +0 -1
  41. package/dist/src/lib/importInPTxBuilder.js +0 -464
  42. package/dist/src/lib/index.d.ts +0 -12
  43. package/dist/src/lib/index.d.ts.map +0 -1
  44. package/dist/src/lib/index.js +0 -39
  45. package/dist/src/lib/keyPair.d.ts +0 -58
  46. package/dist/src/lib/keyPair.d.ts.map +0 -1
  47. package/dist/src/lib/keyPair.js +0 -142
  48. package/dist/src/lib/permissionlessValidatorTxBuilder.d.ts +0 -81
  49. package/dist/src/lib/permissionlessValidatorTxBuilder.d.ts.map +0 -1
  50. package/dist/src/lib/permissionlessValidatorTxBuilder.js +0 -248
  51. package/dist/src/lib/transaction.d.ts +0 -111
  52. package/dist/src/lib/transaction.d.ts.map +0 -1
  53. package/dist/src/lib/transaction.js +0 -322
  54. package/dist/src/lib/transactionBuilder.d.ts +0 -85
  55. package/dist/src/lib/transactionBuilder.d.ts.map +0 -1
  56. package/dist/src/lib/transactionBuilder.js +0 -167
  57. package/dist/src/lib/transactionBuilderFactory.d.ts +0 -37
  58. package/dist/src/lib/transactionBuilderFactory.d.ts.map +0 -1
  59. package/dist/src/lib/transactionBuilderFactory.js +0 -91
  60. package/dist/src/lib/types.d.ts +0 -78
  61. package/dist/src/lib/types.d.ts.map +0 -1
  62. package/dist/src/lib/types.js +0 -5
  63. package/dist/src/lib/utils.d.ts +0 -217
  64. package/dist/src/lib/utils.d.ts.map +0 -1
  65. package/dist/src/lib/utils.js +0 -498
  66. package/dist/src/lib/validatorTxBuilder.d.ts +0 -40
  67. package/dist/src/lib/validatorTxBuilder.d.ts.map +0 -1
  68. package/dist/src/lib/validatorTxBuilder.js +0 -180
  69. package/dist/src/register.d.ts +0 -3
  70. package/dist/src/register.d.ts.map +0 -1
  71. package/dist/src/register.js +0 -11
  72. package/dist/src/tflrp.d.ts +0 -8
  73. package/dist/src/tflrp.d.ts.map +0 -1
  74. package/dist/src/tflrp.js +0 -14
  75. package/dist/test/unit/delegatorTxBuilder.test.d.ts +0 -2
  76. package/dist/test/unit/delegatorTxBuilder.test.d.ts.map +0 -1
  77. package/dist/test/unit/delegatorTxBuilder.test.js +0 -233
  78. package/dist/test/unit/flrp.d.ts +0 -2
  79. package/dist/test/unit/flrp.d.ts.map +0 -1
  80. package/dist/test/unit/flrp.js +0 -118
  81. package/dist/test/unit/lib/atomicTransactionBuilder.d.ts +0 -2
  82. package/dist/test/unit/lib/atomicTransactionBuilder.d.ts.map +0 -1
  83. package/dist/test/unit/lib/atomicTransactionBuilder.js +0 -222
  84. package/dist/test/unit/lib/exportInCTxBuilder.d.ts +0 -2
  85. package/dist/test/unit/lib/exportInCTxBuilder.d.ts.map +0 -1
  86. package/dist/test/unit/lib/exportInCTxBuilder.js +0 -584
  87. package/dist/test/unit/lib/exportInPTxBuilder.d.ts +0 -2
  88. package/dist/test/unit/lib/exportInPTxBuilder.d.ts.map +0 -1
  89. package/dist/test/unit/lib/exportInPTxBuilder.js +0 -377
  90. package/dist/test/unit/lib/importInCTxBuilder.d.ts +0 -2
  91. package/dist/test/unit/lib/importInCTxBuilder.d.ts.map +0 -1
  92. package/dist/test/unit/lib/importInCTxBuilder.js +0 -257
  93. package/dist/test/unit/lib/importInPTxBuilder.d.ts +0 -2
  94. package/dist/test/unit/lib/importInPTxBuilder.d.ts.map +0 -1
  95. package/dist/test/unit/lib/importInPTxBuilder.js +0 -500
  96. package/dist/test/unit/lib/transaction.d.ts +0 -2
  97. package/dist/test/unit/lib/transaction.d.ts.map +0 -1
  98. package/dist/test/unit/lib/transaction.js +0 -460
  99. package/dist/test/unit/lib/utils.d.ts +0 -2
  100. package/dist/test/unit/lib/utils.d.ts.map +0 -1
  101. package/dist/test/unit/lib/utils.js +0 -286
  102. package/dist/test/unit/permissionlessValidatorTxBuilder.test.d.ts +0 -2
  103. package/dist/test/unit/permissionlessValidatorTxBuilder.test.d.ts.map +0 -1
  104. package/dist/test/unit/permissionlessValidatorTxBuilder.test.js +0 -271
  105. package/dist/test/unit/smoke.d.ts +0 -2
  106. package/dist/test/unit/smoke.d.ts.map +0 -1
  107. package/dist/test/unit/smoke.js +0 -23
  108. package/dist/test/unit/transactionBuilder.test.d.ts +0 -2
  109. package/dist/test/unit/transactionBuilder.test.d.ts.map +0 -1
  110. package/dist/test/unit/transactionBuilder.test.js +0 -114
  111. package/dist/test/unit/validatorTxBuilder.test.d.ts +0 -2
  112. package/dist/test/unit/validatorTxBuilder.test.d.ts.map +0 -1
  113. package/dist/test/unit/validatorTxBuilder.test.js +0 -293
@@ -1,170 +0,0 @@
1
- export declare const DECODED_BLOCK_ID_LENGTH = 32;
2
- export declare const SHORT_PUB_KEY_LENGTH = 50;
3
- export declare const COMPRESSED_PUBLIC_KEY_LENGTH = 66;
4
- export declare const UNCOMPRESSED_PUBLIC_KEY_LENGTH = 130;
5
- export declare const RAW_PRIVATE_KEY_LENGTH = 64;
6
- export declare const SUFFIXED_PRIVATE_KEY_LENGTH = 66;
7
- export declare const PRIVATE_KEY_COMPRESSED_SUFFIX = "01";
8
- export declare const OUTPUT_INDEX_HEX_LENGTH = 8;
9
- export declare const ASSET_ID_LENGTH = 32;
10
- export declare const TRANSACTION_ID_HEX_LENGTH = 64;
11
- export declare const PRIVATE_KEY_HEX_LENGTH = 64;
12
- export declare const SECP256K1_SIGNATURE_LENGTH = 65;
13
- export declare const BLS_PUBLIC_KEY_COMPRESSED_LENGTH = 96;
14
- export declare const BLS_PUBLIC_KEY_UNCOMPRESSED_LENGTH = 192;
15
- export declare const BLS_SIGNATURE_LENGTH = 192;
16
- export declare const CHAIN_ID_HEX_LENGTH = 64;
17
- export declare const MAX_CHAIN_ID_LENGTH = 128;
18
- export declare const DEFAULT_BASE_FEE = "1000000";
19
- export declare const DEFAULT_EVM_GAS_FEE = "21000";
20
- export declare const INPUT_FEE = "100000";
21
- export declare const OUTPUT_FEE = "50000";
22
- export declare const MINIMUM_FEE = "1000000";
23
- export declare const MIN_DELEGATION_FEE_BASIS_POINTS = 20000;
24
- export declare const BASIS_POINTS_DIVISOR = 10000;
25
- export declare const PERCENTAGE_MULTIPLIER = 100;
26
- export declare const TRANSACTION_ID_PREFIX = "flare-atomic-tx-";
27
- export declare const DELEGATOR_TRANSACTION_TYPE = "PlatformVM.AddDelegatorTx";
28
- export declare const PRIMARY_DELEGATOR_TYPE = "primary";
29
- export declare const DELEGATOR_STAKE_TYPE = "delegator";
30
- export declare const SECP256K1_CREDENTIAL_TYPE = "secp256k1fx.Credential";
31
- export declare const STAKE_OUTPUT_TYPE = "stake";
32
- export declare const CREDENTIAL_VERSION = "1.0.0";
33
- export declare const EMPTY_STRING = "";
34
- export declare const ZERO_BIGINT = 0n;
35
- export declare const ZERO_NUMBER = 0;
36
- export declare const DEFAULT_THRESHOLD = 1;
37
- export declare const DEFAULT_LOCKTIME = 0n;
38
- export declare const MEMO_BUFFER_SIZE = 0;
39
- export declare const FIRST_ADDRESS_INDEX = 0;
40
- export declare const ADDRESS_REGEX: RegExp;
41
- export declare const HEX_REGEX: RegExp;
42
- export declare const HEX_CHAR_PATTERN = "[0-9a-fA-F]";
43
- export declare const HEX_PATTERN_NO_PREFIX = "^[0-9a-fA-F]*$";
44
- export declare const HEX_PATTERN_WITH_PREFIX = "^0x[0-9a-fA-F]";
45
- export declare const DEFAULT_NETWORK_ID = 0;
46
- export declare const FLARE_MAINNET_NETWORK_ID = 1;
47
- export declare const FLARE_TESTNET_NETWORK_ID = 5;
48
- export declare const EMPTY_BUFFER_SIZE = 0;
49
- export declare const HEX_PREFIX = "0x";
50
- export declare const HEX_PREFIX_LENGTH = 2;
51
- export declare const DECIMAL_RADIX = 10;
52
- export declare const SIGNING_METHOD = "secp256k1";
53
- export declare const AMOUNT_STRING_ZERO = "0";
54
- export declare const FIRST_ARRAY_INDEX = 0;
55
- export declare const MAINNET_TYPE = "mainnet";
56
- export declare const EXPORT_TRANSACTION_TYPE = "PlatformVM.ExportTx";
57
- export declare const ERROR_AMOUNT_POSITIVE = "Amount must be positive";
58
- export declare const ERROR_CREDENTIALS_ARRAY = "Credentials must be an array";
59
- export declare const ERROR_UTXOS_REQUIRED = "UTXOs are required for creating inputs and outputs";
60
- export declare const ERROR_SIGNATURES_ARRAY = "Signatures must be an array";
61
- export declare const ERROR_SIGNATURES_EMPTY = "Signatures array cannot be empty";
62
- export declare const ERROR_INVALID_PRIVATE_KEY = "Invalid private key format";
63
- export declare const ERROR_UTXOS_REQUIRED_BUILD = "UTXOs are required for transaction building";
64
- export declare const ERROR_ENHANCED_BUILD_FAILED = "Enhanced FlareJS transaction building failed";
65
- export declare const ERROR_ENHANCED_PARSE_FAILED = "Enhanced FlareJS transaction parsing failed";
66
- export declare const ERROR_FLAREJS_SIGNING_FAILED = "FlareJS signing failed";
67
- export declare const ERROR_CREATE_CREDENTIAL_FAILED = "Failed to create credential";
68
- export declare const ERROR_UNKNOWN = "unknown error";
69
- export declare const ERROR_EXPORT_NOT_IMPLEMENTED = "Flare P-chain export transaction build not implemented";
70
- export declare const ERROR_DESTINATION_CHAIN_REQUIRED = "Destination chain ID must be set for P-chain export";
71
- export declare const ERROR_SOURCE_ADDRESSES_REQUIRED = "Source addresses must be set for P-chain export";
72
- export declare const ERROR_DESTINATION_ADDRESSES_REQUIRED = "Destination addresses must be set for P-chain export";
73
- export declare const ERROR_EXPORT_AMOUNT_POSITIVE = "Export amount must be positive";
74
- export declare const ERROR_TRANSACTION_REQUIRED = "Transaction is required for initialization";
75
- export declare const ERROR_BLOCKCHAIN_ID_MISMATCH = "Blockchain ID mismatch";
76
- export declare const ERROR_TRANSACTION_PARSE_FAILED = "Transaction cannot be parsed or has an unsupported transaction type";
77
- export declare const ERROR_FAILED_INITIALIZE_BUILDER = "Failed to initialize builder from transaction";
78
- export declare const OBJECT_TYPE_STRING = "object";
79
- export declare const STRING_TYPE = "string";
80
- export declare const NUMBER_TYPE = "number";
81
- export declare const FUNCTION_TYPE = "function";
82
- export declare const BIGINT_TYPE = "bigint";
83
- export declare const HEX_ENCODING = "hex";
84
- export declare const UTF8_ENCODING = "utf8";
85
- export declare const P_CHAIN = "P";
86
- export declare const C_CHAIN = "C";
87
- export declare const X_CHAIN = "X";
88
- export declare const P_CHAIN_FULL = "P-chain";
89
- export declare const C_CHAIN_FULL = "C-chain";
90
- export declare const X_CHAIN_FULL = "X-chain";
91
- export declare const CHAIN_SUFFIX = "-chain";
92
- export declare const FLARE_ATOMIC_PREFIX = "flare-atomic-";
93
- export declare const FLARE_ATOMIC_PARSED_PREFIX = "flare-atomic-parsed-";
94
- export declare const FLARE_ADDRESS_PLACEHOLDER = "flare-address-placeholder";
95
- export declare const ZERO_ADDRESS = "0x0000000000000000000000000000000000000000";
96
- export declare const HEX_PREFIX_REMOVE = "0x";
97
- export declare const PADSTART_CHAR = "0";
98
- export declare const PLATFORM_VM_IMPORT_TX = "PlatformVM.ImportTx";
99
- export declare const PLATFORM_VM_ADD_VALIDATOR_TX = "PlatformVM.AddValidatorTx";
100
- export declare const IMPORT_TX_TYPE = "ImportTx";
101
- export declare const P_CHAIN_IMPORT_TYPE = "P-chain-import";
102
- export declare const IMPORT_TYPE = "import";
103
- export declare const EXPORT_TYPE = "export";
104
- export declare const SEND_TYPE = "send";
105
- export declare const IMPORT_C_TYPE = "import-c";
106
- export declare const VALIDATOR_TYPE = "validator";
107
- export declare const ADDVALIDATOR_TYPE = "addValidator";
108
- export declare const ADD_VALIDATOR_TX_TYPE = "AddValidatorTx";
109
- export declare const VALIDATOR_TRANSACTION_TYPES: string[];
110
- export declare const TRANSFERABLE_INPUT_TYPE = "TransferableInput";
111
- export declare const CREDENTIAL_TYPE = "Credential";
112
- export declare const SECP256K1_TRANSFER_INPUT_TYPE = "secp256k1fx.TransferInput";
113
- export declare const SECP256K1_TRANSFER_OUTPUT_TYPE = "secp256k1fx.TransferOutput";
114
- export declare const DESTINATION_CHAIN_PROP = "destinationChain";
115
- export declare const DESTINATION_CHAIN_ID_PROP = "destinationChainID";
116
- export declare const EXPORTED_OUTPUTS_PROP = "exportedOutputs";
117
- export declare const OUTS_PROP = "outs";
118
- export declare const INPUTS_PROP = "inputs";
119
- export declare const INS_PROP = "ins";
120
- export declare const NETWORK_ID_PROP = "networkID";
121
- export declare const NETWORK_ID_PROP_ALT = "networkId";
122
- export declare const BLOCKCHAIN_ID_PROP = "blockchainID";
123
- export declare const GET_OUTPUT_METHOD = "getOutput";
124
- export declare const OUTPUT_ID_FIELD = "outputID";
125
- export declare const AMOUNT_FIELD = "amount";
126
- export declare const TXID_FIELD = "txid";
127
- export declare const OUTPUT_IDX_FIELD = "outputidx";
128
- export declare const ID_FIELD = "id";
129
- export declare const OUTPUT_AMOUNT_FIELD = "outputAmount";
130
- export declare const CHANGE_AMOUNT_FIELD = "changeAmount";
131
- export declare const OUTPUTS_FIELD = "outputs";
132
- export declare const CHANGE_OUTPUTS_FIELD = "changeOutputs";
133
- export declare const FEE_FIELD = "fee";
134
- export declare const TYPE_FIELD = "type";
135
- export declare const SECP256K1_SIG_TYPE = "secp256k1";
136
- export declare const DER_FORMAT = "der";
137
- export declare const SHA256_HASH = "sha256";
138
- export declare const RECOVERY_KEY_METHOD = "recovery-key";
139
- export declare const NORMAL_MODE = "normal";
140
- export declare const RECOVERY_MODE = "recovery";
141
- export declare const RECOVERY_VERSION = "1.0.0";
142
- export declare const SIGNATURE_VERSION = "1.0.0";
143
- export declare const HEX_RADIX = 16;
144
- export declare const ADD_PERMISSIONLESS_VALIDATOR_TYPE = "addPermissionlessValidator";
145
- export declare const DISPLAY_ORDER_BASE: string[];
146
- export declare const MEMO_FIELD = "memo";
147
- export declare const REWARD_ADDRESSES_FIELD = "rewardAddresses";
148
- export declare const SOURCE_CHAIN_FIELD = "sourceChain";
149
- export declare const DESTINATION_CHAIN_FIELD = "destinationChain";
150
- export declare const FLR_ASSET_ID = "FLR";
151
- export declare const FLARE_TX_HEX_PLACEHOLDER = "flare-tx-hex-placeholder";
152
- export declare const FLARE_SIGNABLE_PAYLOAD = "flare-signable-payload";
153
- export declare const FLARE_TRANSACTION_ID_PLACEHOLDER = "flare-transaction-id-placeholder";
154
- export declare const PLACEHOLDER_NODE_ID = "placeholder-node-id";
155
- export declare const P_CHAIN_SHORT = "P";
156
- export declare const X_CHAIN_SHORT = "X";
157
- export declare const VALID_IMPORT_SOURCE_CHAINS: string[];
158
- export declare const VALID_P_CHAIN_IMPORT_TYPES: string[];
159
- export declare const ERROR_NETWORK_ID_MISMATCH = "Network ID mismatch";
160
- export declare const ERROR_BLOCKCHAIN_ID_MISMATCH_BUILDER = "Blockchain ID mismatch";
161
- export declare const ERROR_INVALID_THRESHOLD = "Invalid transaction: threshold must be set to 2";
162
- export declare const ERROR_INVALID_LOCKTIME = "Invalid transaction: locktime must be 0 or higher";
163
- export declare const ERROR_UTXOS_EMPTY_ARRAY = "Utxos can't be empty array";
164
- export declare const ERROR_UTXOS_MISSING_FIELD = "Utxos required";
165
- export declare const ERROR_FROM_ADDRESSES_REQUIRED = "from addresses are required";
166
- export declare const ERROR_UTXOS_REQUIRED_BUILDER = "utxos are required";
167
- export declare const ERROR_PARSE_RAW_TRANSACTION = "Failed to parse raw transaction";
168
- export declare const ERROR_UNKNOWN_PARSING = "Unknown error";
169
- export declare const UTXO_REQUIRED_FIELDS: string[];
170
- //# sourceMappingURL=constants.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/lib/constants.ts"],"names":[],"mappings":"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"}
@@ -1,227 +0,0 @@
1
- "use strict";
2
- // Shared constants for Flare P-Chain (flrp) utilities and key handling.
3
- // Centralizing avoids magic numbers scattered across utils and keyPair implementations.
4
- Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.HEX_PREFIX_LENGTH = exports.HEX_PREFIX = exports.EMPTY_BUFFER_SIZE = exports.FLARE_TESTNET_NETWORK_ID = exports.FLARE_MAINNET_NETWORK_ID = exports.DEFAULT_NETWORK_ID = exports.HEX_PATTERN_WITH_PREFIX = exports.HEX_PATTERN_NO_PREFIX = exports.HEX_CHAR_PATTERN = exports.HEX_REGEX = exports.ADDRESS_REGEX = exports.FIRST_ADDRESS_INDEX = exports.MEMO_BUFFER_SIZE = exports.DEFAULT_LOCKTIME = exports.DEFAULT_THRESHOLD = exports.ZERO_NUMBER = exports.ZERO_BIGINT = exports.EMPTY_STRING = exports.CREDENTIAL_VERSION = exports.STAKE_OUTPUT_TYPE = exports.SECP256K1_CREDENTIAL_TYPE = exports.DELEGATOR_STAKE_TYPE = exports.PRIMARY_DELEGATOR_TYPE = exports.DELEGATOR_TRANSACTION_TYPE = exports.TRANSACTION_ID_PREFIX = exports.PERCENTAGE_MULTIPLIER = exports.BASIS_POINTS_DIVISOR = exports.MIN_DELEGATION_FEE_BASIS_POINTS = exports.MINIMUM_FEE = exports.OUTPUT_FEE = exports.INPUT_FEE = exports.DEFAULT_EVM_GAS_FEE = exports.DEFAULT_BASE_FEE = exports.MAX_CHAIN_ID_LENGTH = exports.CHAIN_ID_HEX_LENGTH = exports.BLS_SIGNATURE_LENGTH = exports.BLS_PUBLIC_KEY_UNCOMPRESSED_LENGTH = exports.BLS_PUBLIC_KEY_COMPRESSED_LENGTH = exports.SECP256K1_SIGNATURE_LENGTH = exports.PRIVATE_KEY_HEX_LENGTH = exports.TRANSACTION_ID_HEX_LENGTH = exports.ASSET_ID_LENGTH = exports.OUTPUT_INDEX_HEX_LENGTH = exports.PRIVATE_KEY_COMPRESSED_SUFFIX = exports.SUFFIXED_PRIVATE_KEY_LENGTH = exports.RAW_PRIVATE_KEY_LENGTH = exports.UNCOMPRESSED_PUBLIC_KEY_LENGTH = exports.COMPRESSED_PUBLIC_KEY_LENGTH = exports.SHORT_PUB_KEY_LENGTH = exports.DECODED_BLOCK_ID_LENGTH = void 0;
6
- exports.IMPORT_TX_TYPE = exports.PLATFORM_VM_ADD_VALIDATOR_TX = exports.PLATFORM_VM_IMPORT_TX = exports.PADSTART_CHAR = exports.HEX_PREFIX_REMOVE = exports.ZERO_ADDRESS = exports.FLARE_ADDRESS_PLACEHOLDER = exports.FLARE_ATOMIC_PARSED_PREFIX = exports.FLARE_ATOMIC_PREFIX = exports.CHAIN_SUFFIX = exports.X_CHAIN_FULL = exports.C_CHAIN_FULL = exports.P_CHAIN_FULL = exports.X_CHAIN = exports.C_CHAIN = exports.P_CHAIN = exports.UTF8_ENCODING = exports.HEX_ENCODING = exports.BIGINT_TYPE = exports.FUNCTION_TYPE = exports.NUMBER_TYPE = exports.STRING_TYPE = exports.OBJECT_TYPE_STRING = exports.ERROR_FAILED_INITIALIZE_BUILDER = exports.ERROR_TRANSACTION_PARSE_FAILED = exports.ERROR_BLOCKCHAIN_ID_MISMATCH = exports.ERROR_TRANSACTION_REQUIRED = exports.ERROR_EXPORT_AMOUNT_POSITIVE = exports.ERROR_DESTINATION_ADDRESSES_REQUIRED = exports.ERROR_SOURCE_ADDRESSES_REQUIRED = exports.ERROR_DESTINATION_CHAIN_REQUIRED = exports.ERROR_EXPORT_NOT_IMPLEMENTED = exports.ERROR_UNKNOWN = exports.ERROR_CREATE_CREDENTIAL_FAILED = exports.ERROR_FLAREJS_SIGNING_FAILED = exports.ERROR_ENHANCED_PARSE_FAILED = exports.ERROR_ENHANCED_BUILD_FAILED = exports.ERROR_UTXOS_REQUIRED_BUILD = exports.ERROR_INVALID_PRIVATE_KEY = exports.ERROR_SIGNATURES_EMPTY = exports.ERROR_SIGNATURES_ARRAY = exports.ERROR_UTXOS_REQUIRED = exports.ERROR_CREDENTIALS_ARRAY = exports.ERROR_AMOUNT_POSITIVE = exports.EXPORT_TRANSACTION_TYPE = exports.MAINNET_TYPE = exports.FIRST_ARRAY_INDEX = exports.AMOUNT_STRING_ZERO = exports.SIGNING_METHOD = exports.DECIMAL_RADIX = void 0;
7
- exports.FLR_ASSET_ID = exports.DESTINATION_CHAIN_FIELD = exports.SOURCE_CHAIN_FIELD = exports.REWARD_ADDRESSES_FIELD = exports.MEMO_FIELD = exports.DISPLAY_ORDER_BASE = exports.ADD_PERMISSIONLESS_VALIDATOR_TYPE = exports.HEX_RADIX = exports.SIGNATURE_VERSION = exports.RECOVERY_VERSION = exports.RECOVERY_MODE = exports.NORMAL_MODE = exports.RECOVERY_KEY_METHOD = exports.SHA256_HASH = exports.DER_FORMAT = exports.SECP256K1_SIG_TYPE = exports.TYPE_FIELD = exports.FEE_FIELD = exports.CHANGE_OUTPUTS_FIELD = exports.OUTPUTS_FIELD = exports.CHANGE_AMOUNT_FIELD = exports.OUTPUT_AMOUNT_FIELD = exports.ID_FIELD = exports.OUTPUT_IDX_FIELD = exports.TXID_FIELD = exports.AMOUNT_FIELD = exports.OUTPUT_ID_FIELD = exports.GET_OUTPUT_METHOD = exports.BLOCKCHAIN_ID_PROP = exports.NETWORK_ID_PROP_ALT = exports.NETWORK_ID_PROP = exports.INS_PROP = exports.INPUTS_PROP = exports.OUTS_PROP = exports.EXPORTED_OUTPUTS_PROP = exports.DESTINATION_CHAIN_ID_PROP = exports.DESTINATION_CHAIN_PROP = exports.SECP256K1_TRANSFER_OUTPUT_TYPE = exports.SECP256K1_TRANSFER_INPUT_TYPE = exports.CREDENTIAL_TYPE = exports.TRANSFERABLE_INPUT_TYPE = exports.VALIDATOR_TRANSACTION_TYPES = exports.ADD_VALIDATOR_TX_TYPE = exports.ADDVALIDATOR_TYPE = exports.VALIDATOR_TYPE = exports.IMPORT_C_TYPE = exports.SEND_TYPE = exports.EXPORT_TYPE = exports.IMPORT_TYPE = exports.P_CHAIN_IMPORT_TYPE = void 0;
8
- exports.UTXO_REQUIRED_FIELDS = exports.ERROR_UNKNOWN_PARSING = exports.ERROR_PARSE_RAW_TRANSACTION = exports.ERROR_UTXOS_REQUIRED_BUILDER = exports.ERROR_FROM_ADDRESSES_REQUIRED = exports.ERROR_UTXOS_MISSING_FIELD = exports.ERROR_UTXOS_EMPTY_ARRAY = exports.ERROR_INVALID_LOCKTIME = exports.ERROR_INVALID_THRESHOLD = exports.ERROR_BLOCKCHAIN_ID_MISMATCH_BUILDER = exports.ERROR_NETWORK_ID_MISMATCH = exports.VALID_P_CHAIN_IMPORT_TYPES = exports.VALID_IMPORT_SOURCE_CHAINS = exports.X_CHAIN_SHORT = exports.P_CHAIN_SHORT = exports.PLACEHOLDER_NODE_ID = exports.FLARE_TRANSACTION_ID_PLACEHOLDER = exports.FLARE_SIGNABLE_PAYLOAD = exports.FLARE_TX_HEX_PLACEHOLDER = void 0;
9
- exports.DECODED_BLOCK_ID_LENGTH = 32; // Expected decoded block identifier length
10
- exports.SHORT_PUB_KEY_LENGTH = 50; // Placeholder (potential CB58 encoded form length)
11
- exports.COMPRESSED_PUBLIC_KEY_LENGTH = 66; // 33 bytes (compressed) hex encoded
12
- exports.UNCOMPRESSED_PUBLIC_KEY_LENGTH = 130; // 65 bytes (uncompressed) hex encoded
13
- exports.RAW_PRIVATE_KEY_LENGTH = 64; // 32 bytes hex encoded
14
- exports.SUFFIXED_PRIVATE_KEY_LENGTH = 66; // 32 bytes + compression flag suffix
15
- exports.PRIVATE_KEY_COMPRESSED_SUFFIX = '01';
16
- exports.OUTPUT_INDEX_HEX_LENGTH = 8; // 4 bytes serialized to hex length
17
- // Asset and transaction constants
18
- exports.ASSET_ID_LENGTH = 32; // Asset ID length in bytes (standard for AVAX/Flare networks)
19
- exports.TRANSACTION_ID_HEX_LENGTH = 64; // Transaction ID length in hex characters (32 bytes)
20
- exports.PRIVATE_KEY_HEX_LENGTH = 64; // Private key length in hex characters (32 bytes)
21
- exports.SECP256K1_SIGNATURE_LENGTH = 65; // SECP256K1 signature length in bytes
22
- exports.BLS_PUBLIC_KEY_COMPRESSED_LENGTH = 96; // BLS public key compressed length in hex chars (48 bytes)
23
- exports.BLS_PUBLIC_KEY_UNCOMPRESSED_LENGTH = 192; // BLS public key uncompressed length in hex chars (96 bytes)
24
- exports.BLS_SIGNATURE_LENGTH = 192; // BLS signature length in hex characters (96 bytes)
25
- exports.CHAIN_ID_HEX_LENGTH = 64; // Chain ID length in hex characters (32 bytes)
26
- exports.MAX_CHAIN_ID_LENGTH = 128; // Maximum chain ID string length
27
- // Fee constants (in nanoFLR)
28
- exports.DEFAULT_BASE_FEE = '1000000'; // 1M nanoFLR default base fee
29
- exports.DEFAULT_EVM_GAS_FEE = '21000'; // Standard EVM transfer gas fee
30
- exports.INPUT_FEE = '100000'; // 100K nanoFLR per input (FlareJS standard)
31
- exports.OUTPUT_FEE = '50000'; // 50K nanoFLR per output (FlareJS standard)
32
- exports.MINIMUM_FEE = '1000000'; // 1M nanoFLR minimum fee
33
- // Validator constants
34
- exports.MIN_DELEGATION_FEE_BASIS_POINTS = 20000; // 2% minimum delegation fee
35
- exports.BASIS_POINTS_DIVISOR = 10000; // Divisor to convert basis points to decimal
36
- exports.PERCENTAGE_MULTIPLIER = 100; // Multiplier to convert decimal to percentage
37
- // Transaction ID prefix
38
- exports.TRANSACTION_ID_PREFIX = 'flare-atomic-tx-'; // Prefix for transaction IDs
39
- // Transaction type constants
40
- exports.DELEGATOR_TRANSACTION_TYPE = 'PlatformVM.AddDelegatorTx'; // Delegator transaction type
41
- // Delegator type constants
42
- exports.PRIMARY_DELEGATOR_TYPE = 'primary'; // Primary delegator type
43
- exports.DELEGATOR_STAKE_TYPE = 'delegator'; // Delegator stake type
44
- exports.SECP256K1_CREDENTIAL_TYPE = 'secp256k1fx.Credential'; // SECP256K1 credential type
45
- exports.STAKE_OUTPUT_TYPE = 'stake'; // Stake output type
46
- exports.CREDENTIAL_VERSION = '1.0.0'; // Credential version
47
- // Default values and thresholds
48
- exports.EMPTY_STRING = ''; // Empty string default
49
- exports.ZERO_BIGINT = 0n; // Zero BigInt default
50
- exports.ZERO_NUMBER = 0; // Zero number default
51
- exports.DEFAULT_THRESHOLD = 1; // Default signature threshold
52
- exports.DEFAULT_LOCKTIME = 0n; // Default locktime
53
- exports.MEMO_BUFFER_SIZE = 0; // Empty memo buffer size
54
- exports.FIRST_ADDRESS_INDEX = 0; // First address index
55
- // Regex patterns
56
- exports.ADDRESS_REGEX = /^(^P||NodeID)-[a-zA-Z0-9]+$/;
57
- exports.HEX_REGEX = /^(0x){0,1}([0-9a-f])+$/i;
58
- // Hex pattern components for building dynamic regexes
59
- exports.HEX_CHAR_PATTERN = '[0-9a-fA-F]';
60
- exports.HEX_PATTERN_NO_PREFIX = `^${exports.HEX_CHAR_PATTERN}*$`;
61
- exports.HEX_PATTERN_WITH_PREFIX = `^0x${exports.HEX_CHAR_PATTERN}`;
62
- // Network and buffer constants
63
- exports.DEFAULT_NETWORK_ID = 0; // Default network ID
64
- exports.FLARE_MAINNET_NETWORK_ID = 1; // Flare mainnet network ID
65
- exports.FLARE_TESTNET_NETWORK_ID = 5; // Flare testnet network ID
66
- exports.EMPTY_BUFFER_SIZE = 0; // Empty buffer allocation size
67
- exports.HEX_PREFIX = '0x'; // Hex prefix
68
- exports.HEX_PREFIX_LENGTH = 2; // Length of hex prefix
69
- exports.DECIMAL_RADIX = 10; // Decimal radix for parseInt
70
- exports.SIGNING_METHOD = 'secp256k1'; // Default signing method
71
- exports.AMOUNT_STRING_ZERO = '0'; // Zero amount as string
72
- exports.FIRST_ARRAY_INDEX = 0; // First array index
73
- exports.MAINNET_TYPE = 'mainnet'; // Mainnet type string
74
- // Transaction type constants for export
75
- exports.EXPORT_TRANSACTION_TYPE = 'PlatformVM.ExportTx'; // Export transaction type
76
- // Error messages
77
- exports.ERROR_AMOUNT_POSITIVE = 'Amount must be positive';
78
- exports.ERROR_CREDENTIALS_ARRAY = 'Credentials must be an array';
79
- exports.ERROR_UTXOS_REQUIRED = 'UTXOs are required for creating inputs and outputs';
80
- exports.ERROR_SIGNATURES_ARRAY = 'Signatures must be an array';
81
- exports.ERROR_SIGNATURES_EMPTY = 'Signatures array cannot be empty';
82
- exports.ERROR_INVALID_PRIVATE_KEY = 'Invalid private key format';
83
- exports.ERROR_UTXOS_REQUIRED_BUILD = 'UTXOs are required for transaction building';
84
- exports.ERROR_ENHANCED_BUILD_FAILED = 'Enhanced FlareJS transaction building failed';
85
- exports.ERROR_ENHANCED_PARSE_FAILED = 'Enhanced FlareJS transaction parsing failed';
86
- exports.ERROR_FLAREJS_SIGNING_FAILED = 'FlareJS signing failed';
87
- exports.ERROR_CREATE_CREDENTIAL_FAILED = 'Failed to create credential';
88
- exports.ERROR_UNKNOWN = 'unknown error';
89
- exports.ERROR_EXPORT_NOT_IMPLEMENTED = 'Flare P-chain export transaction build not implemented';
90
- exports.ERROR_DESTINATION_CHAIN_REQUIRED = 'Destination chain ID must be set for P-chain export';
91
- exports.ERROR_SOURCE_ADDRESSES_REQUIRED = 'Source addresses must be set for P-chain export';
92
- exports.ERROR_DESTINATION_ADDRESSES_REQUIRED = 'Destination addresses must be set for P-chain export';
93
- exports.ERROR_EXPORT_AMOUNT_POSITIVE = 'Export amount must be positive';
94
- exports.ERROR_TRANSACTION_REQUIRED = 'Transaction is required for initialization';
95
- exports.ERROR_BLOCKCHAIN_ID_MISMATCH = 'Blockchain ID mismatch';
96
- exports.ERROR_TRANSACTION_PARSE_FAILED = 'Transaction cannot be parsed or has an unsupported transaction type';
97
- exports.ERROR_FAILED_INITIALIZE_BUILDER = 'Failed to initialize builder from transaction';
98
- // Type checking constants
99
- exports.OBJECT_TYPE_STRING = 'object'; // Object type string for typeof checks
100
- exports.STRING_TYPE = 'string'; // String type for typeof checks
101
- exports.NUMBER_TYPE = 'number'; // Number type for typeof checks
102
- exports.FUNCTION_TYPE = 'function'; // Function type for typeof checks
103
- exports.BIGINT_TYPE = 'bigint'; // BigInt type for typeof checks
104
- exports.HEX_ENCODING = 'hex'; // Hex encoding string
105
- exports.UTF8_ENCODING = 'utf8'; // UTF8 encoding string
106
- // Chain identifiers
107
- exports.P_CHAIN = 'P'; // P-chain identifier
108
- exports.C_CHAIN = 'C'; // C-chain identifier
109
- exports.X_CHAIN = 'X'; // X-chain identifier
110
- exports.P_CHAIN_FULL = 'P-chain'; // P-chain full name
111
- exports.C_CHAIN_FULL = 'C-chain'; // C-chain full name
112
- exports.X_CHAIN_FULL = 'X-chain'; // X-chain full name
113
- exports.CHAIN_SUFFIX = '-chain'; // Chain name suffix
114
- // Atomic transaction prefixes
115
- exports.FLARE_ATOMIC_PREFIX = 'flare-atomic-'; // Prefix for atomic transaction IDs
116
- exports.FLARE_ATOMIC_PARSED_PREFIX = 'flare-atomic-parsed-'; // Prefix for parsed transaction IDs
117
- // Placeholder values
118
- exports.FLARE_ADDRESS_PLACEHOLDER = 'flare-address-placeholder'; // Placeholder for address conversion
119
- exports.ZERO_ADDRESS = '0x0000000000000000000000000000000000000000'; // Zero address
120
- exports.HEX_PREFIX_REMOVE = '0x'; // Hex prefix to remove
121
- exports.PADSTART_CHAR = '0'; // Character used for padding
122
- // FlareJS transaction types
123
- exports.PLATFORM_VM_IMPORT_TX = 'PlatformVM.ImportTx'; // Platform VM import transaction
124
- exports.PLATFORM_VM_ADD_VALIDATOR_TX = 'PlatformVM.AddValidatorTx'; // Platform VM add validator transaction
125
- exports.IMPORT_TX_TYPE = 'ImportTx'; // Import transaction type
126
- exports.P_CHAIN_IMPORT_TYPE = 'P-chain-import'; // P-chain import type
127
- // Transaction types and values
128
- exports.IMPORT_TYPE = 'import'; // Import transaction type
129
- exports.EXPORT_TYPE = 'export'; // Export transaction type
130
- exports.SEND_TYPE = 'send'; // Send transaction type
131
- exports.IMPORT_C_TYPE = 'import-c'; // Import C-chain transaction type
132
- exports.VALIDATOR_TYPE = 'validator'; // Validator type
133
- exports.ADDVALIDATOR_TYPE = 'addValidator'; // Add validator type
134
- exports.ADD_VALIDATOR_TX_TYPE = 'AddValidatorTx'; // Add validator transaction type
135
- // Validator transaction type arrays
136
- exports.VALIDATOR_TRANSACTION_TYPES = [
137
- exports.PLATFORM_VM_ADD_VALIDATOR_TX,
138
- exports.ADD_VALIDATOR_TX_TYPE,
139
- exports.ADDVALIDATOR_TYPE,
140
- exports.VALIDATOR_TYPE,
141
- ]; // Valid validator transaction types
142
- // Transfer types
143
- exports.TRANSFERABLE_INPUT_TYPE = 'TransferableInput'; // Transferable input type
144
- exports.CREDENTIAL_TYPE = 'Credential'; // Credential type
145
- exports.SECP256K1_TRANSFER_INPUT_TYPE = 'secp256k1fx.TransferInput'; // SECP256K1 transfer input type
146
- exports.SECP256K1_TRANSFER_OUTPUT_TYPE = 'secp256k1fx.TransferOutput'; // SECP256K1 transfer output type
147
- // Property names for object checks
148
- exports.DESTINATION_CHAIN_PROP = 'destinationChain'; // Destination chain property
149
- exports.DESTINATION_CHAIN_ID_PROP = 'destinationChainID'; // Destination chain ID property
150
- exports.EXPORTED_OUTPUTS_PROP = 'exportedOutputs'; // Exported outputs property
151
- exports.OUTS_PROP = 'outs'; // Outputs property short name
152
- exports.INPUTS_PROP = 'inputs'; // Inputs property
153
- exports.INS_PROP = 'ins'; // Inputs property short name
154
- exports.NETWORK_ID_PROP = 'networkID'; // Network ID property
155
- exports.NETWORK_ID_PROP_ALT = 'networkId'; // Alternative network ID property
156
- exports.BLOCKCHAIN_ID_PROP = 'blockchainID'; // Blockchain ID property
157
- exports.GET_OUTPUT_METHOD = 'getOutput'; // Get output method name
158
- // UTXO field names
159
- exports.OUTPUT_ID_FIELD = 'outputID'; // Output ID field
160
- exports.AMOUNT_FIELD = 'amount'; // Amount field
161
- exports.TXID_FIELD = 'txid'; // Transaction ID field
162
- exports.OUTPUT_IDX_FIELD = 'outputidx'; // Output index field
163
- // Transaction explanation field names
164
- exports.ID_FIELD = 'id'; // ID field name
165
- exports.OUTPUT_AMOUNT_FIELD = 'outputAmount'; // Output amount field
166
- exports.CHANGE_AMOUNT_FIELD = 'changeAmount'; // Change amount field
167
- exports.OUTPUTS_FIELD = 'outputs'; // Outputs field
168
- exports.CHANGE_OUTPUTS_FIELD = 'changeOutputs'; // Change outputs field
169
- exports.FEE_FIELD = 'fee'; // Fee field
170
- exports.TYPE_FIELD = 'type'; // Type field
171
- // Signature and hash methods
172
- exports.SECP256K1_SIG_TYPE = 'secp256k1'; // SECP256K1 signature type
173
- exports.DER_FORMAT = 'der'; // DER format
174
- exports.SHA256_HASH = 'sha256'; // SHA256 hash function
175
- exports.RECOVERY_KEY_METHOD = 'recovery-key'; // Recovery key signing method
176
- exports.NORMAL_MODE = 'normal'; // Normal mode
177
- exports.RECOVERY_MODE = 'recovery'; // Recovery mode
178
- // Version strings
179
- exports.RECOVERY_VERSION = '1.0.0'; // Recovery version
180
- exports.SIGNATURE_VERSION = '1.0.0'; // Signature version
181
- // Numeric radix
182
- exports.HEX_RADIX = 16; // Hexadecimal radix
183
- // Transaction type identifiers (additional)
184
- exports.ADD_PERMISSIONLESS_VALIDATOR_TYPE = 'addPermissionlessValidator'; // Add permissionless validator type
185
- // Display order for transaction explanations
186
- exports.DISPLAY_ORDER_BASE = [
187
- 'id',
188
- 'inputs',
189
- 'outputAmount',
190
- 'changeAmount',
191
- 'outputs',
192
- 'changeOutputs',
193
- 'fee',
194
- 'type',
195
- ]; // Base display order
196
- exports.MEMO_FIELD = 'memo'; // Memo field name
197
- exports.REWARD_ADDRESSES_FIELD = 'rewardAddresses'; // Reward addresses field
198
- exports.SOURCE_CHAIN_FIELD = 'sourceChain'; // Source chain field
199
- exports.DESTINATION_CHAIN_FIELD = 'destinationChain'; // Destination chain field
200
- // Asset and network constants
201
- exports.FLR_ASSET_ID = 'FLR'; // Default FLR asset ID
202
- // Placeholder constants for development
203
- exports.FLARE_TX_HEX_PLACEHOLDER = 'flare-tx-hex-placeholder'; // Transaction hex placeholder
204
- exports.FLARE_SIGNABLE_PAYLOAD = 'flare-signable-payload'; // Signable payload placeholder
205
- exports.FLARE_TRANSACTION_ID_PLACEHOLDER = 'flare-transaction-id-placeholder'; // Transaction ID placeholder
206
- exports.PLACEHOLDER_NODE_ID = 'placeholder-node-id'; // Node ID placeholder
207
- // Chain identifiers (short forms)
208
- exports.P_CHAIN_SHORT = 'P'; // P-chain short name
209
- exports.X_CHAIN_SHORT = 'X'; // X-chain short name
210
- // Valid source chains for imports
211
- exports.VALID_IMPORT_SOURCE_CHAINS = [exports.P_CHAIN_SHORT, exports.P_CHAIN_FULL, exports.X_CHAIN_SHORT, exports.X_CHAIN_FULL]; // Valid source chains for C-chain imports
212
- // Valid P-chain import types
213
- exports.VALID_P_CHAIN_IMPORT_TYPES = [exports.PLATFORM_VM_IMPORT_TX, exports.IMPORT_TX_TYPE, exports.IMPORT_TYPE, exports.P_CHAIN_IMPORT_TYPE]; // Valid P-chain import types
214
- // Error messages for transactionBuilder
215
- exports.ERROR_NETWORK_ID_MISMATCH = 'Network ID mismatch'; // Network ID validation error
216
- exports.ERROR_BLOCKCHAIN_ID_MISMATCH_BUILDER = 'Blockchain ID mismatch'; // Blockchain ID validation error
217
- exports.ERROR_INVALID_THRESHOLD = 'Invalid transaction: threshold must be set to 2'; // Threshold validation error
218
- exports.ERROR_INVALID_LOCKTIME = 'Invalid transaction: locktime must be 0 or higher'; // Locktime validation error
219
- exports.ERROR_UTXOS_EMPTY_ARRAY = "Utxos can't be empty array"; // Empty UTXOS array error
220
- exports.ERROR_UTXOS_MISSING_FIELD = 'Utxos required'; // Missing UTXO field error
221
- exports.ERROR_FROM_ADDRESSES_REQUIRED = 'from addresses are required'; // Missing from addresses error
222
- exports.ERROR_UTXOS_REQUIRED_BUILDER = 'utxos are required'; // Missing UTXOs error
223
- exports.ERROR_PARSE_RAW_TRANSACTION = 'Failed to parse raw transaction'; // Raw transaction parsing error
224
- exports.ERROR_UNKNOWN_PARSING = 'Unknown error'; // Unknown parsing error
225
- // UTXO field validation
226
- exports.UTXO_REQUIRED_FIELDS = ['outputID', 'amount', 'txid', 'outputidx']; // Required UTXO fields
227
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLHdFQUF3RTtBQUN4RSx3RkFBd0Y7Ozs7OztBQUUzRSxRQUFBLHVCQUF1QixHQUFHLEVBQUUsQ0FBQyxDQUFDLDJDQUEyQztBQUN6RSxRQUFBLG9CQUFvQixHQUFHLEVBQUUsQ0FBQyxDQUFDLG1EQUFtRDtBQUM5RSxRQUFBLDRCQUE0QixHQUFHLEVBQUUsQ0FBQyxDQUFDLG9DQUFvQztBQUN2RSxRQUFBLDhCQUE4QixHQUFHLEdBQUcsQ0FBQyxDQUFDLHNDQUFzQztBQUM1RSxRQUFBLHNCQUFzQixHQUFHLEVBQUUsQ0FBQyxDQUFDLHVCQUF1QjtBQUNwRCxRQUFBLDJCQUEyQixHQUFHLEVBQUUsQ0FBQyxDQUFDLHFDQUFxQztBQUN2RSxRQUFBLDZCQUE2QixHQUFHLElBQUksQ0FBQztBQUNyQyxRQUFBLHVCQUF1QixHQUFHLENBQUMsQ0FBQyxDQUFDLG1DQUFtQztBQUU3RSxrQ0FBa0M7QUFDckIsUUFBQSxlQUFlLEdBQUcsRUFBRSxDQUFDLENBQUMsOERBQThEO0FBQ3BGLFFBQUEseUJBQXlCLEdBQUcsRUFBRSxDQUFDLENBQUMscURBQXFEO0FBQ3JGLFFBQUEsc0JBQXNCLEdBQUcsRUFBRSxDQUFDLENBQUMsa0RBQWtEO0FBQy9FLFFBQUEsMEJBQTBCLEdBQUcsRUFBRSxDQUFDLENBQUMsc0NBQXNDO0FBQ3ZFLFFBQUEsZ0NBQWdDLEdBQUcsRUFBRSxDQUFDLENBQUMsMkRBQTJEO0FBQ2xHLFFBQUEsa0NBQWtDLEdBQUcsR0FBRyxDQUFDLENBQUMsNkRBQTZEO0FBQ3ZHLFFBQUEsb0JBQW9CLEdBQUcsR0FBRyxDQUFDLENBQUMsb0RBQW9EO0FBQ2hGLFFBQUEsbUJBQW1CLEdBQUcsRUFBRSxDQUFDLENBQUMsK0NBQStDO0FBQ3pFLFFBQUEsbUJBQW1CLEdBQUcsR0FBRyxDQUFDLENBQUMsaUNBQWlDO0FBRXpFLDZCQUE2QjtBQUNoQixRQUFBLGdCQUFnQixHQUFHLFNBQVMsQ0FBQyxDQUFDLDhCQUE4QjtBQUM1RCxRQUFBLG1CQUFtQixHQUFHLE9BQU8sQ0FBQyxDQUFDLGdDQUFnQztBQUMvRCxRQUFBLFNBQVMsR0FBRyxRQUFRLENBQUMsQ0FBQyw0Q0FBNEM7QUFDbEUsUUFBQSxVQUFVLEdBQUcsT0FBTyxDQUFDLENBQUMsNENBQTRDO0FBQ2xFLFFBQUEsV0FBVyxHQUFHLFNBQVMsQ0FBQyxDQUFDLHlCQUF5QjtBQUUvRCxzQkFBc0I7QUFDVCxRQUFBLCtCQUErQixHQUFHLEtBQUssQ0FBQyxDQUFDLDRCQUE0QjtBQUNyRSxRQUFBLG9CQUFvQixHQUFHLEtBQUssQ0FBQyxDQUFDLDZDQUE2QztBQUMzRSxRQUFBLHFCQUFxQixHQUFHLEdBQUcsQ0FBQyxDQUFDLDhDQUE4QztBQUV4Rix3QkFBd0I7QUFDWCxRQUFBLHFCQUFxQixHQUFHLGtCQUFrQixDQUFDLENBQUMsNkJBQTZCO0FBRXRGLDZCQUE2QjtBQUNoQixRQUFBLDBCQUEwQixHQUFHLDJCQUEyQixDQUFDLENBQUMsNkJBQTZCO0FBRXBHLDJCQUEyQjtBQUNkLFFBQUEsc0JBQXNCLEdBQUcsU0FBUyxDQUFDLENBQUMseUJBQXlCO0FBQzdELFFBQUEsb0JBQW9CLEdBQUcsV0FBVyxDQUFDLENBQUMsdUJBQXVCO0FBQzNELFFBQUEseUJBQXlCLEdBQUcsd0JBQXdCLENBQUMsQ0FBQyw0QkFBNEI7QUFDbEYsUUFBQSxpQkFBaUIsR0FBRyxPQUFPLENBQUMsQ0FBQyxvQkFBb0I7QUFDakQsUUFBQSxrQkFBa0IsR0FBRyxPQUFPLENBQUMsQ0FBQyxxQkFBcUI7QUFFaEUsZ0NBQWdDO0FBQ25CLFFBQUEsWUFBWSxHQUFHLEVBQUUsQ0FBQyxDQUFDLHVCQUF1QjtBQUMxQyxRQUFBLFdBQVcsR0FBRyxFQUFFLENBQUMsQ0FBQyxzQkFBc0I7QUFDeEMsUUFBQSxXQUFXLEdBQUcsQ0FBQyxDQUFDLENBQUMsc0JBQXNCO0FBQ3ZDLFFBQUEsaUJBQWlCLEdBQUcsQ0FBQyxDQUFDLENBQUMsOEJBQThCO0FBQ3JELFFBQUEsZ0JBQWdCLEdBQUcsRUFBRSxDQUFDLENBQUMsbUJBQW1CO0FBQzFDLFFBQUEsZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDLENBQUMseUJBQXlCO0FBQy9DLFFBQUEsbUJBQW1CLEdBQUcsQ0FBQyxDQUFDLENBQUMsc0JBQXNCO0FBRTVELGlCQUFpQjtBQUNKLFFBQUEsYUFBYSxHQUFHLDZCQUE2QixDQUFDO0FBQzlDLFFBQUEsU0FBUyxHQUFHLHlCQUF5QixDQUFDO0FBRW5ELHNEQUFzRDtBQUN6QyxRQUFBLGdCQUFnQixHQUFHLGFBQWEsQ0FBQztBQUNqQyxRQUFBLHFCQUFxQixHQUFHLElBQUksd0JBQWdCLElBQUksQ0FBQztBQUNqRCxRQUFBLHVCQUF1QixHQUFHLE1BQU0sd0JBQWdCLEVBQUUsQ0FBQztBQUVoRSwrQkFBK0I7QUFDbEIsUUFBQSxrQkFBa0IsR0FBRyxDQUFDLENBQUMsQ0FBQyxxQkFBcUI7QUFDN0MsUUFBQSx3QkFBd0IsR0FBRyxDQUFDLENBQUMsQ0FBQywyQkFBMkI7QUFDekQsUUFBQSx3QkFBd0IsR0FBRyxDQUFDLENBQUMsQ0FBQywyQkFBMkI7QUFDekQsUUFBQSxpQkFBaUIsR0FBRyxDQUFDLENBQUMsQ0FBQywrQkFBK0I7QUFDdEQsUUFBQSxVQUFVLEdBQUcsSUFBSSxDQUFDLENBQUMsYUFBYTtBQUNoQyxRQUFBLGlCQUFpQixHQUFHLENBQUMsQ0FBQyxDQUFDLHVCQUF1QjtBQUM5QyxRQUFBLGFBQWEsR0FBRyxFQUFFLENBQUMsQ0FBQyw2QkFBNkI7QUFDakQsUUFBQSxjQUFjLEdBQUcsV0FBVyxDQUFDLENBQUMseUJBQXlCO0FBQ3ZELFFBQUEsa0JBQWtCLEdBQUcsR0FBRyxDQUFDLENBQUMsd0JBQXdCO0FBQ2xELFFBQUEsaUJBQWlCLEdBQUcsQ0FBQyxDQUFDLENBQUMsb0JBQW9CO0FBQzNDLFFBQUEsWUFBWSxHQUFHLFNBQVMsQ0FBQyxDQUFDLHNCQUFzQjtBQUU3RCx3Q0FBd0M7QUFDM0IsUUFBQSx1QkFBdUIsR0FBRyxxQkFBcUIsQ0FBQyxDQUFDLDBCQUEwQjtBQUV4RixpQkFBaUI7QUFDSixRQUFBLHFCQUFxQixHQUFHLHlCQUF5QixDQUFDO0FBQ2xELFFBQUEsdUJBQXVCLEdBQUcsOEJBQThCLENBQUM7QUFDekQsUUFBQSxvQkFBb0IsR0FBRyxvREFBb0QsQ0FBQztBQUM1RSxRQUFBLHNCQUFzQixHQUFHLDZCQUE2QixDQUFDO0FBQ3ZELFFBQUEsc0JBQXNCLEdBQUcsa0NBQWtDLENBQUM7QUFDNUQsUUFBQSx5QkFBeUIsR0FBRyw0QkFBNEIsQ0FBQztBQUN6RCxRQUFBLDBCQUEwQixHQUFHLDZDQUE2QyxDQUFDO0FBQzNFLFFBQUEsMkJBQTJCLEdBQUcsOENBQThDLENBQUM7QUFDN0UsUUFBQSwyQkFBMkIsR0FBRyw2Q0FBNkMsQ0FBQztBQUM1RSxRQUFBLDRCQUE0QixHQUFHLHdCQUF3QixDQUFDO0FBQ3hELFFBQUEsOEJBQThCLEdBQUcsNkJBQTZCLENBQUM7QUFDL0QsUUFBQSxhQUFhLEdBQUcsZUFBZSxDQUFDO0FBQ2hDLFFBQUEsNEJBQTRCLEdBQUcsd0RBQXdELENBQUM7QUFDeEYsUUFBQSxnQ0FBZ0MsR0FBRyxxREFBcUQsQ0FBQztBQUN6RixRQUFBLCtCQUErQixHQUFHLGlEQUFpRCxDQUFDO0FBQ3BGLFFBQUEsb0NBQW9DLEdBQUcsc0RBQXNELENBQUM7QUFDOUYsUUFBQSw0QkFBNEIsR0FBRyxnQ0FBZ0MsQ0FBQztBQUNoRSxRQUFBLDBCQUEwQixHQUFHLDRDQUE0QyxDQUFDO0FBQzFFLFFBQUEsNEJBQTRCLEdBQUcsd0JBQXdCLENBQUM7QUFDeEQsUUFBQSw4QkFBOEIsR0FBRyxxRUFBcUUsQ0FBQztBQUN2RyxRQUFBLCtCQUErQixHQUFHLCtDQUErQyxDQUFDO0FBRS9GLDBCQUEwQjtBQUNiLFFBQUEsa0JBQWtCLEdBQUcsUUFBUSxDQUFDLENBQUMsdUNBQXVDO0FBQ3RFLFFBQUEsV0FBVyxHQUFHLFFBQVEsQ0FBQyxDQUFDLGdDQUFnQztBQUN4RCxRQUFBLFdBQVcsR0FBRyxRQUFRLENBQUMsQ0FBQyxnQ0FBZ0M7QUFDeEQsUUFBQSxhQUFhLEdBQUcsVUFBVSxDQUFDLENBQUMsa0NBQWtDO0FBQzlELFFBQUEsV0FBVyxHQUFHLFFBQVEsQ0FBQyxDQUFDLGdDQUFnQztBQUN4RCxRQUFBLFlBQVksR0FBRyxLQUFLLENBQUMsQ0FBQyxzQkFBc0I7QUFDNUMsUUFBQSxhQUFhLEdBQUcsTUFBTSxDQUFDLENBQUMsdUJBQXVCO0FBRTVELG9CQUFvQjtBQUNQLFFBQUEsT0FBTyxHQUFHLEdBQUcsQ0FBQyxDQUFDLHFCQUFxQjtBQUNwQyxRQUFBLE9BQU8sR0FBRyxHQUFHLENBQUMsQ0FBQyxxQkFBcUI7QUFDcEMsUUFBQSxPQUFPLEdBQUcsR0FBRyxDQUFDLENBQUMscUJBQXFCO0FBQ3BDLFFBQUEsWUFBWSxHQUFHLFNBQVMsQ0FBQyxDQUFDLG9CQUFvQjtBQUM5QyxRQUFBLFlBQVksR0FBRyxTQUFTLENBQUMsQ0FBQyxvQkFBb0I7QUFDOUMsUUFBQSxZQUFZLEdBQUcsU0FBUyxDQUFDLENBQUMsb0JBQW9CO0FBQzlDLFFBQUEsWUFBWSxHQUFHLFFBQVEsQ0FBQyxDQUFDLG9CQUFvQjtBQUUxRCw4QkFBOEI7QUFDakIsUUFBQSxtQkFBbUIsR0FBRyxlQUFlLENBQUMsQ0FBQyxvQ0FBb0M7QUFDM0UsUUFBQSwwQkFBMEIsR0FBRyxzQkFBc0IsQ0FBQyxDQUFDLG9DQUFvQztBQUV0RyxxQkFBcUI7QUFDUixRQUFBLHlCQUF5QixHQUFHLDJCQUEyQixDQUFDLENBQUMscUNBQXFDO0FBQzlGLFFBQUEsWUFBWSxHQUFHLDRDQUE0QyxDQUFDLENBQUMsZUFBZTtBQUM1RSxRQUFBLGlCQUFpQixHQUFHLElBQUksQ0FBQyxDQUFDLHVCQUF1QjtBQUNqRCxRQUFBLGFBQWEsR0FBRyxHQUFHLENBQUMsQ0FBQyw2QkFBNkI7QUFFL0QsNEJBQTRCO0FBQ2YsUUFBQSxxQkFBcUIsR0FBRyxxQkFBcUIsQ0FBQyxDQUFDLGlDQUFpQztBQUNoRixRQUFBLDRCQUE0QixHQUFHLDJCQUEyQixDQUFDLENBQUMsd0NBQXdDO0FBQ3BHLFFBQUEsY0FBYyxHQUFHLFVBQVUsQ0FBQyxDQUFDLDBCQUEwQjtBQUN2RCxRQUFBLG1CQUFtQixHQUFHLGdCQUFnQixDQUFDLENBQUMsc0JBQXNCO0FBRTNFLCtCQUErQjtBQUNsQixRQUFBLFdBQVcsR0FBRyxRQUFRLENBQUMsQ0FBQywwQkFBMEI7QUFDbEQsUUFBQSxXQUFXLEdBQUcsUUFBUSxDQUFDLENBQUMsMEJBQTBCO0FBQ2xELFFBQUEsU0FBUyxHQUFHLE1BQU0sQ0FBQyxDQUFDLHdCQUF3QjtBQUM1QyxRQUFBLGFBQWEsR0FBRyxVQUFVLENBQUMsQ0FBQyxrQ0FBa0M7QUFDOUQsUUFBQSxjQUFjLEdBQUcsV0FBVyxDQUFDLENBQUMsaUJBQWlCO0FBQy9DLFFBQUEsaUJBQWlCLEdBQUcsY0FBYyxDQUFDLENBQUMscUJBQXFCO0FBQ3pELFFBQUEscUJBQXFCLEdBQUcsZ0JBQWdCLENBQUMsQ0FBQyxpQ0FBaUM7QUFFeEYsb0NBQW9DO0FBQ3ZCLFFBQUEsMkJBQTJCLEdBQUc7SUFDekMsb0NBQTRCO0lBQzVCLDZCQUFxQjtJQUNyQix5QkFBaUI7SUFDakIsc0JBQWM7Q0FDZixDQUFDLENBQUMsb0NBQW9DO0FBRXZDLGlCQUFpQjtBQUNKLFFBQUEsdUJBQXVCLEdBQUcsbUJBQW1CLENBQUMsQ0FBQywwQkFBMEI7QUFDekUsUUFBQSxlQUFlLEdBQUcsWUFBWSxDQUFDLENBQUMsa0JBQWtCO0FBQ2xELFFBQUEsNkJBQTZCLEdBQUcsMkJBQTJCLENBQUMsQ0FBQyxnQ0FBZ0M7QUFDN0YsUUFBQSw4QkFBOEIsR0FBRyw0QkFBNEIsQ0FBQyxDQUFDLGlDQUFpQztBQUU3RyxtQ0FBbUM7QUFDdEIsUUFBQSxzQkFBc0IsR0FBRyxrQkFBa0IsQ0FBQyxDQUFDLDZCQUE2QjtBQUMxRSxRQUFBLHlCQUF5QixHQUFHLG9CQUFvQixDQUFDLENBQUMsZ0NBQWdDO0FBQ2xGLFFBQUEscUJBQXFCLEdBQUcsaUJBQWlCLENBQUMsQ0FBQyw0QkFBNEI7QUFDdkUsUUFBQSxTQUFTLEdBQUcsTUFBTSxDQUFDLENBQUMsOEJBQThCO0FBQ2xELFFBQUEsV0FBVyxHQUFHLFFBQVEsQ0FBQyxDQUFDLGtCQUFrQjtBQUMxQyxRQUFBLFFBQVEsR0FBRyxLQUFLLENBQUMsQ0FBQyw2QkFBNkI7QUFDL0MsUUFBQSxlQUFlLEdBQUcsV0FBVyxDQUFDLENBQUMsc0JBQXNCO0FBQ3JELFFBQUEsbUJBQW1CLEdBQUcsV0FBVyxDQUFDLENBQUMsa0NBQWtDO0FBQ3JFLFFBQUEsa0JBQWtCLEdBQUcsY0FBYyxDQUFDLENBQUMseUJBQXlCO0FBQzlELFFBQUEsaUJBQWlCLEdBQUcsV0FBVyxDQUFDLENBQUMseUJBQXlCO0FBRXZFLG1CQUFtQjtBQUNOLFFBQUEsZUFBZSxHQUFHLFVBQVUsQ0FBQyxDQUFDLGtCQUFrQjtBQUNoRCxRQUFBLFlBQVksR0FBRyxRQUFRLENBQUMsQ0FBQyxlQUFlO0FBQ3hDLFFBQUEsVUFBVSxHQUFHLE1BQU0sQ0FBQyxDQUFDLHVCQUF1QjtBQUM1QyxRQUFBLGdCQUFnQixHQUFHLFdBQVcsQ0FBQyxDQUFDLHFCQUFxQjtBQUVsRSxzQ0FBc0M7QUFDekIsUUFBQSxRQUFRLEdBQUcsSUFBSSxDQUFDLENBQUMsZ0JBQWdCO0FBQ2pDLFFBQUEsbUJBQW1CLEdBQUcsY0FBYyxDQUFDLENBQUMsc0JBQXNCO0FBQzVELFFBQUEsbUJBQW1CLEdBQUcsY0FBYyxDQUFDLENBQUMsc0JBQXNCO0FBQzVELFFBQUEsYUFBYSxHQUFHLFNBQVMsQ0FBQyxDQUFDLGdCQUFnQjtBQUMzQyxRQUFBLG9CQUFvQixHQUFHLGVBQWUsQ0FBQyxDQUFDLHVCQUF1QjtBQUMvRCxRQUFBLFNBQVMsR0FBRyxLQUFLLENBQUMsQ0FBQyxZQUFZO0FBQy9CLFFBQUEsVUFBVSxHQUFHLE1BQU0sQ0FBQyxDQUFDLGFBQWE7QUFFL0MsNkJBQTZCO0FBQ2hCLFFBQUEsa0JBQWtCLEdBQUcsV0FBVyxDQUFDLENBQUMsMkJBQTJCO0FBQzdELFFBQUEsVUFBVSxHQUFHLEtBQUssQ0FBQyxDQUFDLGFBQWE7QUFDakMsUUFBQSxXQUFXLEdBQUcsUUFBUSxDQUFDLENBQUMsdUJBQXVCO0FBQy9DLFFBQUEsbUJBQW1CLEdBQUcsY0FBYyxDQUFDLENBQUMsOEJBQThCO0FBQ3BFLFFBQUEsV0FBVyxHQUFHLFFBQVEsQ0FBQyxDQUFDLGNBQWM7QUFDdEMsUUFBQSxhQUFhLEdBQUcsVUFBVSxDQUFDLENBQUMsZ0JBQWdCO0FBRXpELGtCQUFrQjtBQUNMLFFBQUEsZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLENBQUMsbUJBQW1CO0FBQy9DLFFBQUEsaUJBQWlCLEdBQUcsT0FBTyxDQUFDLENBQUMsb0JBQW9CO0FBRTlELGdCQUFnQjtBQUNILFFBQUEsU0FBUyxHQUFHLEVBQUUsQ0FBQyxDQUFDLG9CQUFvQjtBQUVqRCw0Q0FBNEM7QUFDL0IsUUFBQSxpQ0FBaUMsR0FBRyw0QkFBNEIsQ0FBQyxDQUFDLG9DQUFvQztBQUVuSCw2Q0FBNkM7QUFDaEMsUUFBQSxrQkFBa0IsR0FBRztJQUNoQyxJQUFJO0lBQ0osUUFBUTtJQUNSLGNBQWM7SUFDZCxjQUFjO0lBQ2QsU0FBUztJQUNULGVBQWU7SUFDZixLQUFLO0lBQ0wsTUFBTTtDQUNQLENBQUMsQ0FBQyxxQkFBcUI7QUFDWCxRQUFBLFVBQVUsR0FBRyxNQUFNLENBQUMsQ0FBQyxrQkFBa0I7QUFDdkMsUUFBQSxzQkFBc0IsR0FBRyxpQkFBaUIsQ0FBQyxDQUFDLHlCQUF5QjtBQUNyRSxRQUFBLGtCQUFrQixHQUFHLGFBQWEsQ0FBQyxDQUFDLHFCQUFxQjtBQUN6RCxRQUFBLHVCQUF1QixHQUFHLGtCQUFrQixDQUFDLENBQUMsMEJBQTBCO0FBRXJGLDhCQUE4QjtBQUNqQixRQUFBLFlBQVksR0FBRyxLQUFLLENBQUMsQ0FBQyx1QkFBdUI7QUFFMUQsd0NBQXdDO0FBQzNCLFFBQUEsd0JBQXdCLEdBQUcsMEJBQTBCLENBQUMsQ0FBQyw4QkFBOEI7QUFDckYsUUFBQSxzQkFBc0IsR0FBRyx3QkFBd0IsQ0FBQyxDQUFDLCtCQUErQjtBQUNsRixRQUFBLGdDQUFnQyxHQUFHLGtDQUFrQyxDQUFDLENBQUMsNkJBQTZCO0FBQ3BHLFFBQUEsbUJBQW1CLEdBQUcscUJBQXFCLENBQUMsQ0FBQyxzQkFBc0I7QUFFaEYsa0NBQWtDO0FBQ3JCLFFBQUEsYUFBYSxHQUFHLEdBQUcsQ0FBQyxDQUFDLHFCQUFxQjtBQUMxQyxRQUFBLGFBQWEsR0FBRyxHQUFHLENBQUMsQ0FBQyxxQkFBcUI7QUFFdkQsa0NBQWtDO0FBQ3JCLFFBQUEsMEJBQTBCLEdBQUcsQ0FBQyxxQkFBYSxFQUFFLG9CQUFZLEVBQUUscUJBQWEsRUFBRSxvQkFBWSxDQUFDLENBQUMsQ0FBQywwQ0FBMEM7QUFFaEosNkJBQTZCO0FBQ2hCLFFBQUEsMEJBQTBCLEdBQUcsQ0FBQyw2QkFBcUIsRUFBRSxzQkFBYyxFQUFFLG1CQUFXLEVBQUUsMkJBQW1CLENBQUMsQ0FBQyxDQUFDLDZCQUE2QjtBQUVsSix3Q0FBd0M7QUFDM0IsUUFBQSx5QkFBeUIsR0FBRyxxQkFBcUIsQ0FBQyxDQUFDLDhCQUE4QjtBQUNqRixRQUFBLG9DQUFvQyxHQUFHLHdCQUF3QixDQUFDLENBQUMsaUNBQWlDO0FBQ2xHLFFBQUEsdUJBQXVCLEdBQUcsaURBQWlELENBQUMsQ0FBQyw2QkFBNkI7QUFDMUcsUUFBQSxzQkFBc0IsR0FBRyxtREFBbUQsQ0FBQyxDQUFDLDRCQUE0QjtBQUMxRyxRQUFBLHVCQUF1QixHQUFHLDRCQUE0QixDQUFDLENBQUMsMEJBQTBCO0FBQ2xGLFFBQUEseUJBQXlCLEdBQUcsZ0JBQWdCLENBQUMsQ0FBQywyQkFBMkI7QUFDekUsUUFBQSw2QkFBNkIsR0FBRyw2QkFBNkIsQ0FBQyxDQUFDLCtCQUErQjtBQUM5RixRQUFBLDRCQUE0QixHQUFHLG9CQUFvQixDQUFDLENBQUMsc0JBQXNCO0FBQzNFLFFBQUEsMkJBQTJCLEdBQUcsaUNBQWlDLENBQUMsQ0FBQyxnQ0FBZ0M7QUFDakcsUUFBQSxxQkFBcUIsR0FBRyxlQUFlLENBQUMsQ0FBQyx3QkFBd0I7QUFFOUUsd0JBQXdCO0FBQ1gsUUFBQSxvQkFBb0IsR0FBRyxDQUFDLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gU2hhcmVkIGNvbnN0YW50cyBmb3IgRmxhcmUgUC1DaGFpbiAoZmxycCkgdXRpbGl0aWVzIGFuZCBrZXkgaGFuZGxpbmcuXG4vLyBDZW50cmFsaXppbmcgYXZvaWRzIG1hZ2ljIG51bWJlcnMgc2NhdHRlcmVkIGFjcm9zcyB1dGlscyBhbmQga2V5UGFpciBpbXBsZW1lbnRhdGlvbnMuXG5cbmV4cG9ydCBjb25zdCBERUNPREVEX0JMT0NLX0lEX0xFTkdUSCA9IDMyOyAvLyBFeHBlY3RlZCBkZWNvZGVkIGJsb2NrIGlkZW50aWZpZXIgbGVuZ3RoXG5leHBvcnQgY29uc3QgU0hPUlRfUFVCX0tFWV9MRU5HVEggPSA1MDsgLy8gUGxhY2Vob2xkZXIgKHBvdGVudGlhbCBDQjU4IGVuY29kZWQgZm9ybSBsZW5ndGgpXG5leHBvcnQgY29uc3QgQ09NUFJFU1NFRF9QVUJMSUNfS0VZX0xFTkdUSCA9IDY2OyAvLyAzMyBieXRlcyAoY29tcHJlc3NlZCkgaGV4IGVuY29kZWRcbmV4cG9ydCBjb25zdCBVTkNPTVBSRVNTRURfUFVCTElDX0tFWV9MRU5HVEggPSAxMzA7IC8vIDY1IGJ5dGVzICh1bmNvbXByZXNzZWQpIGhleCBlbmNvZGVkXG5leHBvcnQgY29uc3QgUkFXX1BSSVZBVEVfS0VZX0xFTkdUSCA9IDY0OyAvLyAzMiBieXRlcyBoZXggZW5jb2RlZFxuZXhwb3J0IGNvbnN0IFNVRkZJWEVEX1BSSVZBVEVfS0VZX0xFTkdUSCA9IDY2OyAvLyAzMiBieXRlcyArIGNvbXByZXNzaW9uIGZsYWcgc3VmZml4XG5leHBvcnQgY29uc3QgUFJJVkFURV9LRVlfQ09NUFJFU1NFRF9TVUZGSVggPSAnMDEnO1xuZXhwb3J0IGNvbnN0IE9VVFBVVF9JTkRFWF9IRVhfTEVOR1RIID0gODsgLy8gNCBieXRlcyBzZXJpYWxpemVkIHRvIGhleCBsZW5ndGhcblxuLy8gQXNzZXQgYW5kIHRyYW5zYWN0aW9uIGNvbnN0YW50c1xuZXhwb3J0IGNvbnN0IEFTU0VUX0lEX0xFTkdUSCA9IDMyOyAvLyBBc3NldCBJRCBsZW5ndGggaW4gYnl0ZXMgKHN0YW5kYXJkIGZvciBBVkFYL0ZsYXJlIG5ldHdvcmtzKVxuZXhwb3J0IGNvbnN0IFRSQU5TQUNUSU9OX0lEX0hFWF9MRU5HVEggPSA2NDsgLy8gVHJhbnNhY3Rpb24gSUQgbGVuZ3RoIGluIGhleCBjaGFyYWN0ZXJzICgzMiBieXRlcylcbmV4cG9ydCBjb25zdCBQUklWQVRFX0tFWV9IRVhfTEVOR1RIID0gNjQ7IC8vIFByaXZhdGUga2V5IGxlbmd0aCBpbiBoZXggY2hhcmFjdGVycyAoMzIgYnl0ZXMpXG5leHBvcnQgY29uc3QgU0VDUDI1NksxX1NJR05BVFVSRV9MRU5HVEggPSA2NTsgLy8gU0VDUDI1NksxIHNpZ25hdHVyZSBsZW5ndGggaW4gYnl0ZXNcbmV4cG9ydCBjb25zdCBCTFNfUFVCTElDX0tFWV9DT01QUkVTU0VEX0xFTkdUSCA9IDk2OyAvLyBCTFMgcHVibGljIGtleSBjb21wcmVzc2VkIGxlbmd0aCBpbiBoZXggY2hhcnMgKDQ4IGJ5dGVzKVxuZXhwb3J0IGNvbnN0IEJMU19QVUJMSUNfS0VZX1VOQ09NUFJFU1NFRF9MRU5HVEggPSAxOTI7IC8vIEJMUyBwdWJsaWMga2V5IHVuY29tcHJlc3NlZCBsZW5ndGggaW4gaGV4IGNoYXJzICg5NiBieXRlcylcbmV4cG9ydCBjb25zdCBCTFNfU0lHTkFUVVJFX0xFTkdUSCA9IDE5MjsgLy8gQkxTIHNpZ25hdHVyZSBsZW5ndGggaW4gaGV4IGNoYXJhY3RlcnMgKDk2IGJ5dGVzKVxuZXhwb3J0IGNvbnN0IENIQUlOX0lEX0hFWF9MRU5HVEggPSA2NDsgLy8gQ2hhaW4gSUQgbGVuZ3RoIGluIGhleCBjaGFyYWN0ZXJzICgzMiBieXRlcylcbmV4cG9ydCBjb25zdCBNQVhfQ0hBSU5fSURfTEVOR1RIID0gMTI4OyAvLyBNYXhpbXVtIGNoYWluIElEIHN0cmluZyBsZW5ndGhcblxuLy8gRmVlIGNvbnN0YW50cyAoaW4gbmFub0ZMUilcbmV4cG9ydCBjb25zdCBERUZBVUxUX0JBU0VfRkVFID0gJzEwMDAwMDAnOyAvLyAxTSBuYW5vRkxSIGRlZmF1bHQgYmFzZSBmZWVcbmV4cG9ydCBjb25zdCBERUZBVUxUX0VWTV9HQVNfRkVFID0gJzIxMDAwJzsgLy8gU3RhbmRhcmQgRVZNIHRyYW5zZmVyIGdhcyBmZWVcbmV4cG9ydCBjb25zdCBJTlBVVF9GRUUgPSAnMTAwMDAwJzsgLy8gMTAwSyBuYW5vRkxSIHBlciBpbnB1dCAoRmxhcmVKUyBzdGFuZGFyZClcbmV4cG9ydCBjb25zdCBPVVRQVVRfRkVFID0gJzUwMDAwJzsgLy8gNTBLIG5hbm9GTFIgcGVyIG91dHB1dCAoRmxhcmVKUyBzdGFuZGFyZClcbmV4cG9ydCBjb25zdCBNSU5JTVVNX0ZFRSA9ICcxMDAwMDAwJzsgLy8gMU0gbmFub0ZMUiBtaW5pbXVtIGZlZVxuXG4vLyBWYWxpZGF0b3IgY29uc3RhbnRzXG5leHBvcnQgY29uc3QgTUlOX0RFTEVHQVRJT05fRkVFX0JBU0lTX1BPSU5UUyA9IDIwMDAwOyAvLyAyJSBtaW5pbXVtIGRlbGVnYXRpb24gZmVlXG5leHBvcnQgY29uc3QgQkFTSVNfUE9JTlRTX0RJVklTT1IgPSAxMDAwMDsgLy8gRGl2aXNvciB0byBjb252ZXJ0IGJhc2lzIHBvaW50cyB0byBkZWNpbWFsXG5leHBvcnQgY29uc3QgUEVSQ0VOVEFHRV9NVUxUSVBMSUVSID0gMTAwOyAvLyBNdWx0aXBsaWVyIHRvIGNvbnZlcnQgZGVjaW1hbCB0byBwZXJjZW50YWdlXG5cbi8vIFRyYW5zYWN0aW9uIElEIHByZWZpeFxuZXhwb3J0IGNvbnN0IFRSQU5TQUNUSU9OX0lEX1BSRUZJWCA9ICdmbGFyZS1hdG9taWMtdHgtJzsgLy8gUHJlZml4IGZvciB0cmFuc2FjdGlvbiBJRHNcblxuLy8gVHJhbnNhY3Rpb24gdHlwZSBjb25zdGFudHNcbmV4cG9ydCBjb25zdCBERUxFR0FUT1JfVFJBTlNBQ1RJT05fVFlQRSA9ICdQbGF0Zm9ybVZNLkFkZERlbGVnYXRvclR4JzsgLy8gRGVsZWdhdG9yIHRyYW5zYWN0aW9uIHR5cGVcblxuLy8gRGVsZWdhdG9yIHR5cGUgY29uc3RhbnRzXG5leHBvcnQgY29uc3QgUFJJTUFSWV9ERUxFR0FUT1JfVFlQRSA9ICdwcmltYXJ5JzsgLy8gUHJpbWFyeSBkZWxlZ2F0b3IgdHlwZVxuZXhwb3J0IGNvbnN0IERFTEVHQVRPUl9TVEFLRV9UWVBFID0gJ2RlbGVnYXRvcic7IC8vIERlbGVnYXRvciBzdGFrZSB0eXBlXG5leHBvcnQgY29uc3QgU0VDUDI1NksxX0NSRURFTlRJQUxfVFlQRSA9ICdzZWNwMjU2azFmeC5DcmVkZW50aWFsJzsgLy8gU0VDUDI1NksxIGNyZWRlbnRpYWwgdHlwZVxuZXhwb3J0IGNvbnN0IFNUQUtFX09VVFBVVF9UWVBFID0gJ3N0YWtlJzsgLy8gU3Rha2Ugb3V0cHV0IHR5cGVcbmV4cG9ydCBjb25zdCBDUkVERU5USUFMX1ZFUlNJT04gPSAnMS4wLjAnOyAvLyBDcmVkZW50aWFsIHZlcnNpb25cblxuLy8gRGVmYXVsdCB2YWx1ZXMgYW5kIHRocmVzaG9sZHNcbmV4cG9ydCBjb25zdCBFTVBUWV9TVFJJTkcgPSAnJzsgLy8gRW1wdHkgc3RyaW5nIGRlZmF1bHRcbmV4cG9ydCBjb25zdCBaRVJPX0JJR0lOVCA9IDBuOyAvLyBaZXJvIEJpZ0ludCBkZWZhdWx0XG5leHBvcnQgY29uc3QgWkVST19OVU1CRVIgPSAwOyAvLyBaZXJvIG51bWJlciBkZWZhdWx0XG5leHBvcnQgY29uc3QgREVGQVVMVF9USFJFU0hPTEQgPSAxOyAvLyBEZWZhdWx0IHNpZ25hdHVyZSB0aHJlc2hvbGRcbmV4cG9ydCBjb25zdCBERUZBVUxUX0xPQ0tUSU1FID0gMG47IC8vIERlZmF1bHQgbG9ja3RpbWVcbmV4cG9ydCBjb25zdCBNRU1PX0JVRkZFUl9TSVpFID0gMDsgLy8gRW1wdHkgbWVtbyBidWZmZXIgc2l6ZVxuZXhwb3J0IGNvbnN0IEZJUlNUX0FERFJFU1NfSU5ERVggPSAwOyAvLyBGaXJzdCBhZGRyZXNzIGluZGV4XG5cbi8vIFJlZ2V4IHBhdHRlcm5zXG5leHBvcnQgY29uc3QgQUREUkVTU19SRUdFWCA9IC9eKF5QfHxOb2RlSUQpLVthLXpBLVowLTldKyQvO1xuZXhwb3J0IGNvbnN0IEhFWF9SRUdFWCA9IC9eKDB4KXswLDF9KFswLTlhLWZdKSskL2k7XG5cbi8vIEhleCBwYXR0ZXJuIGNvbXBvbmVudHMgZm9yIGJ1aWxkaW5nIGR5bmFtaWMgcmVnZXhlc1xuZXhwb3J0IGNvbnN0IEhFWF9DSEFSX1BBVFRFUk4gPSAnWzAtOWEtZkEtRl0nO1xuZXhwb3J0IGNvbnN0IEhFWF9QQVRURVJOX05PX1BSRUZJWCA9IGBeJHtIRVhfQ0hBUl9QQVRURVJOfSokYDtcbmV4cG9ydCBjb25zdCBIRVhfUEFUVEVSTl9XSVRIX1BSRUZJWCA9IGBeMHgke0hFWF9DSEFSX1BBVFRFUk59YDtcblxuLy8gTmV0d29yayBhbmQgYnVmZmVyIGNvbnN0YW50c1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfTkVUV09SS19JRCA9IDA7IC8vIERlZmF1bHQgbmV0d29yayBJRFxuZXhwb3J0IGNvbnN0IEZMQVJFX01BSU5ORVRfTkVUV09SS19JRCA9IDE7IC8vIEZsYXJlIG1haW5uZXQgbmV0d29yayBJRFxuZXhwb3J0IGNvbnN0IEZMQVJFX1RFU1RORVRfTkVUV09SS19JRCA9IDU7IC8vIEZsYXJlIHRlc3RuZXQgbmV0d29yayBJRFxuZXhwb3J0IGNvbnN0IEVNUFRZX0JVRkZFUl9TSVpFID0gMDsgLy8gRW1wdHkgYnVmZmVyIGFsbG9jYXRpb24gc2l6ZVxuZXhwb3J0IGNvbnN0IEhFWF9QUkVGSVggPSAnMHgnOyAvLyBIZXggcHJlZml4XG5leHBvcnQgY29uc3QgSEVYX1BSRUZJWF9MRU5HVEggPSAyOyAvLyBMZW5ndGggb2YgaGV4IHByZWZpeFxuZXhwb3J0IGNvbnN0IERFQ0lNQUxfUkFESVggPSAxMDsgLy8gRGVjaW1hbCByYWRpeCBmb3IgcGFyc2VJbnRcbmV4cG9ydCBjb25zdCBTSUdOSU5HX01FVEhPRCA9ICdzZWNwMjU2azEnOyAvLyBEZWZhdWx0IHNpZ25pbmcgbWV0aG9kXG5leHBvcnQgY29uc3QgQU1PVU5UX1NUUklOR19aRVJPID0gJzAnOyAvLyBaZXJvIGFtb3VudCBhcyBzdHJpbmdcbmV4cG9ydCBjb25zdCBGSVJTVF9BUlJBWV9JTkRFWCA9IDA7IC8vIEZpcnN0IGFycmF5IGluZGV4XG5leHBvcnQgY29uc3QgTUFJTk5FVF9UWVBFID0gJ21haW5uZXQnOyAvLyBNYWlubmV0IHR5cGUgc3RyaW5nXG5cbi8vIFRyYW5zYWN0aW9uIHR5cGUgY29uc3RhbnRzIGZvciBleHBvcnRcbmV4cG9ydCBjb25zdCBFWFBPUlRfVFJBTlNBQ1RJT05fVFlQRSA9ICdQbGF0Zm9ybVZNLkV4cG9ydFR4JzsgLy8gRXhwb3J0IHRyYW5zYWN0aW9uIHR5cGVcblxuLy8gRXJyb3IgbWVzc2FnZXNcbmV4cG9ydCBjb25zdCBFUlJPUl9BTU9VTlRfUE9TSVRJVkUgPSAnQW1vdW50IG11c3QgYmUgcG9zaXRpdmUnO1xuZXhwb3J0IGNvbnN0IEVSUk9SX0NSRURFTlRJQUxTX0FSUkFZID0gJ0NyZWRlbnRpYWxzIG11c3QgYmUgYW4gYXJyYXknO1xuZXhwb3J0IGNvbnN0IEVSUk9SX1VUWE9TX1JFUVVJUkVEID0gJ1VUWE9zIGFyZSByZXF1aXJlZCBmb3IgY3JlYXRpbmcgaW5wdXRzIGFuZCBvdXRwdXRzJztcbmV4cG9ydCBjb25zdCBFUlJPUl9TSUdOQVRVUkVTX0FSUkFZID0gJ1NpZ25hdHVyZXMgbXVzdCBiZSBhbiBhcnJheSc7XG5leHBvcnQgY29uc3QgRVJST1JfU0lHTkFUVVJFU19FTVBUWSA9ICdTaWduYXR1cmVzIGFycmF5IGNhbm5vdCBiZSBlbXB0eSc7XG5leHBvcnQgY29uc3QgRVJST1JfSU5WQUxJRF9QUklWQVRFX0tFWSA9ICdJbnZhbGlkIHByaXZhdGUga2V5IGZvcm1hdCc7XG5leHBvcnQgY29uc3QgRVJST1JfVVRYT1NfUkVRVUlSRURfQlVJTEQgPSAnVVRYT3MgYXJlIHJlcXVpcmVkIGZvciB0cmFuc2FjdGlvbiBidWlsZGluZyc7XG5leHBvcnQgY29uc3QgRVJST1JfRU5IQU5DRURfQlVJTERfRkFJTEVEID0gJ0VuaGFuY2VkIEZsYXJlSlMgdHJhbnNhY3Rpb24gYnVpbGRpbmcgZmFpbGVkJztcbmV4cG9ydCBjb25zdCBFUlJPUl9FTkhBTkNFRF9QQVJTRV9GQUlMRUQgPSAnRW5oYW5jZWQgRmxhcmVKUyB0cmFuc2FjdGlvbiBwYXJzaW5nIGZhaWxlZCc7XG5leHBvcnQgY29uc3QgRVJST1JfRkxBUkVKU19TSUdOSU5HX0ZBSUxFRCA9ICdGbGFyZUpTIHNpZ25pbmcgZmFpbGVkJztcbmV4cG9ydCBjb25zdCBFUlJPUl9DUkVBVEVfQ1JFREVOVElBTF9GQUlMRUQgPSAnRmFpbGVkIHRvIGNyZWF0ZSBjcmVkZW50aWFsJztcbmV4cG9ydCBjb25zdCBFUlJPUl9VTktOT1dOID0gJ3Vua25vd24gZXJyb3InO1xuZXhwb3J0IGNvbnN0IEVSUk9SX0VYUE9SVF9OT1RfSU1QTEVNRU5URUQgPSAnRmxhcmUgUC1jaGFpbiBleHBvcnQgdHJhbnNhY3Rpb24gYnVpbGQgbm90IGltcGxlbWVudGVkJztcbmV4cG9ydCBjb25zdCBFUlJPUl9ERVNUSU5BVElPTl9DSEFJTl9SRVFVSVJFRCA9ICdEZXN0aW5hdGlvbiBjaGFpbiBJRCBtdXN0IGJlIHNldCBmb3IgUC1jaGFpbiBleHBvcnQnO1xuZXhwb3J0IGNvbnN0IEVSUk9SX1NPVVJDRV9BRERSRVNTRVNfUkVRVUlSRUQgPSAnU291cmNlIGFkZHJlc3NlcyBtdXN0IGJlIHNldCBmb3IgUC1jaGFpbiBleHBvcnQnO1xuZXhwb3J0IGNvbnN0IEVSUk9SX0RFU1RJTkFUSU9OX0FERFJFU1NFU19SRVFVSVJFRCA9ICdEZXN0aW5hdGlvbiBhZGRyZXNzZXMgbXVzdCBiZSBzZXQgZm9yIFAtY2hhaW4gZXhwb3J0JztcbmV4cG9ydCBjb25zdCBFUlJPUl9FWFBPUlRfQU1PVU5UX1BPU0lUSVZFID0gJ0V4cG9ydCBhbW91bnQgbXVzdCBiZSBwb3NpdGl2ZSc7XG5leHBvcnQgY29uc3QgRVJST1JfVFJBTlNBQ1RJT05fUkVRVUlSRUQgPSAnVHJhbnNhY3Rpb24gaXMgcmVxdWlyZWQgZm9yIGluaXRpYWxpemF0aW9uJztcbmV4cG9ydCBjb25zdCBFUlJPUl9CTE9DS0NIQUlOX0lEX01JU01BVENIID0gJ0Jsb2NrY2hhaW4gSUQgbWlzbWF0Y2gnO1xuZXhwb3J0IGNvbnN0IEVSUk9SX1RSQU5TQUNUSU9OX1BBUlNFX0ZBSUxFRCA9ICdUcmFuc2FjdGlvbiBjYW5ub3QgYmUgcGFyc2VkIG9yIGhhcyBhbiB1bnN1cHBvcnRlZCB0cmFuc2FjdGlvbiB0eXBlJztcbmV4cG9ydCBjb25zdCBFUlJPUl9GQUlMRURfSU5JVElBTElaRV9CVUlMREVSID0gJ0ZhaWxlZCB0byBpbml0aWFsaXplIGJ1aWxkZXIgZnJvbSB0cmFuc2FjdGlvbic7XG5cbi8vIFR5cGUgY2hlY2tpbmcgY29uc3RhbnRzXG5leHBvcnQgY29uc3QgT0JKRUNUX1RZUEVfU1RSSU5HID0gJ29iamVjdCc7IC8vIE9iamVjdCB0eXBlIHN0cmluZyBmb3IgdHlwZW9mIGNoZWNrc1xuZXhwb3J0IGNvbnN0IFNUUklOR19UWVBFID0gJ3N0cmluZyc7IC8vIFN0cmluZyB0eXBlIGZvciB0eXBlb2YgY2hlY2tzXG5leHBvcnQgY29uc3QgTlVNQkVSX1RZUEUgPSAnbnVtYmVyJzsgLy8gTnVtYmVyIHR5cGUgZm9yIHR5cGVvZiBjaGVja3NcbmV4cG9ydCBjb25zdCBGVU5DVElPTl9UWVBFID0gJ2Z1bmN0aW9uJzsgLy8gRnVuY3Rpb24gdHlwZSBmb3IgdHlwZW9mIGNoZWNrc1xuZXhwb3J0IGNvbnN0IEJJR0lOVF9UWVBFID0gJ2JpZ2ludCc7IC8vIEJpZ0ludCB0eXBlIGZvciB0eXBlb2YgY2hlY2tzXG5leHBvcnQgY29uc3QgSEVYX0VOQ09ESU5HID0gJ2hleCc7IC8vIEhleCBlbmNvZGluZyBzdHJpbmdcbmV4cG9ydCBjb25zdCBVVEY4X0VOQ09ESU5HID0gJ3V0ZjgnOyAvLyBVVEY4IGVuY29kaW5nIHN0cmluZ1xuXG4vLyBDaGFpbiBpZGVudGlmaWVyc1xuZXhwb3J0IGNvbnN0IFBfQ0hBSU4gPSAnUCc7IC8vIFAtY2hhaW4gaWRlbnRpZmllclxuZXhwb3J0IGNvbnN0IENfQ0hBSU4gPSAnQyc7IC8vIEMtY2hhaW4gaWRlbnRpZmllclxuZXhwb3J0IGNvbnN0IFhfQ0hBSU4gPSAnWCc7IC8vIFgtY2hhaW4gaWRlbnRpZmllclxuZXhwb3J0IGNvbnN0IFBfQ0hBSU5fRlVMTCA9ICdQLWNoYWluJzsgLy8gUC1jaGFpbiBmdWxsIG5hbWVcbmV4cG9ydCBjb25zdCBDX0NIQUlOX0ZVTEwgPSAnQy1jaGFpbic7IC8vIEMtY2hhaW4gZnVsbCBuYW1lXG5leHBvcnQgY29uc3QgWF9DSEFJTl9GVUxMID0gJ1gtY2hhaW4nOyAvLyBYLWNoYWluIGZ1bGwgbmFtZVxuZXhwb3J0IGNvbnN0IENIQUlOX1NVRkZJWCA9ICctY2hhaW4nOyAvLyBDaGFpbiBuYW1lIHN1ZmZpeFxuXG4vLyBBdG9taWMgdHJhbnNhY3Rpb24gcHJlZml4ZXNcbmV4cG9ydCBjb25zdCBGTEFSRV9BVE9NSUNfUFJFRklYID0gJ2ZsYXJlLWF0b21pYy0nOyAvLyBQcmVmaXggZm9yIGF0b21pYyB0cmFuc2FjdGlvbiBJRHNcbmV4cG9ydCBjb25zdCBGTEFSRV9BVE9NSUNfUEFSU0VEX1BSRUZJWCA9ICdmbGFyZS1hdG9taWMtcGFyc2VkLSc7IC8vIFByZWZpeCBmb3IgcGFyc2VkIHRyYW5zYWN0aW9uIElEc1xuXG4vLyBQbGFjZWhvbGRlciB2YWx1ZXNcbmV4cG9ydCBjb25zdCBGTEFSRV9BRERSRVNTX1BMQUNFSE9MREVSID0gJ2ZsYXJlLWFkZHJlc3MtcGxhY2Vob2xkZXInOyAvLyBQbGFjZWhvbGRlciBmb3IgYWRkcmVzcyBjb252ZXJzaW9uXG5leHBvcnQgY29uc3QgWkVST19BRERSRVNTID0gJzB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCc7IC8vIFplcm8gYWRkcmVzc1xuZXhwb3J0IGNvbnN0IEhFWF9QUkVGSVhfUkVNT1ZFID0gJzB4JzsgLy8gSGV4IHByZWZpeCB0byByZW1vdmVcbmV4cG9ydCBjb25zdCBQQURTVEFSVF9DSEFSID0gJzAnOyAvLyBDaGFyYWN0ZXIgdXNlZCBmb3IgcGFkZGluZ1xuXG4vLyBGbGFyZUpTIHRyYW5zYWN0aW9uIHR5cGVzXG5leHBvcnQgY29uc3QgUExBVEZPUk1fVk1fSU1QT1JUX1RYID0gJ1BsYXRmb3JtVk0uSW1wb3J0VHgnOyAvLyBQbGF0Zm9ybSBWTSBpbXBvcnQgdHJhbnNhY3Rpb25cbmV4cG9ydCBjb25zdCBQTEFURk9STV9WTV9BRERfVkFMSURBVE9SX1RYID0gJ1BsYXRmb3JtVk0uQWRkVmFsaWRhdG9yVHgnOyAvLyBQbGF0Zm9ybSBWTSBhZGQgdmFsaWRhdG9yIHRyYW5zYWN0aW9uXG5leHBvcnQgY29uc3QgSU1QT1JUX1RYX1RZUEUgPSAnSW1wb3J0VHgnOyAvLyBJbXBvcnQgdHJhbnNhY3Rpb24gdHlwZVxuZXhwb3J0IGNvbnN0IFBfQ0hBSU5fSU1QT1JUX1RZUEUgPSAnUC1jaGFpbi1pbXBvcnQnOyAvLyBQLWNoYWluIGltcG9ydCB0eXBlXG5cbi8vIFRyYW5zYWN0aW9uIHR5cGVzIGFuZCB2YWx1ZXNcbmV4cG9ydCBjb25zdCBJTVBPUlRfVFlQRSA9ICdpbXBvcnQnOyAvLyBJbXBvcnQgdHJhbnNhY3Rpb24gdHlwZVxuZXhwb3J0IGNvbnN0IEVYUE9SVF9UWVBFID0gJ2V4cG9ydCc7IC8vIEV4cG9ydCB0cmFuc2FjdGlvbiB0eXBlXG5leHBvcnQgY29uc3QgU0VORF9UWVBFID0gJ3NlbmQnOyAvLyBTZW5kIHRyYW5zYWN0aW9uIHR5cGVcbmV4cG9ydCBjb25zdCBJTVBPUlRfQ19UWVBFID0gJ2ltcG9ydC1jJzsgLy8gSW1wb3J0IEMtY2hhaW4gdHJhbnNhY3Rpb24gdHlwZVxuZXhwb3J0IGNvbnN0IFZBTElEQVRPUl9UWVBFID0gJ3ZhbGlkYXRvcic7IC8vIFZhbGlkYXRvciB0eXBlXG5leHBvcnQgY29uc3QgQUREVkFMSURBVE9SX1RZUEUgPSAnYWRkVmFsaWRhdG9yJzsgLy8gQWRkIHZhbGlkYXRvciB0eXBlXG5leHBvcnQgY29uc3QgQUREX1ZBTElEQVRPUl9UWF9UWVBFID0gJ0FkZFZhbGlkYXRvclR4JzsgLy8gQWRkIHZhbGlkYXRvciB0cmFuc2FjdGlvbiB0eXBlXG5cbi8vIFZhbGlkYXRvciB0cmFuc2FjdGlvbiB0eXBlIGFycmF5c1xuZXhwb3J0IGNvbnN0IFZBTElEQVRPUl9UUkFOU0FDVElPTl9UWVBFUyA9IFtcbiAgUExBVEZPUk1fVk1fQUREX1ZBTElEQVRPUl9UWCxcbiAgQUREX1ZBTElEQVRPUl9UWF9UWVBFLFxuICBBRERWQUxJREFUT1JfVFlQRSxcbiAgVkFMSURBVE9SX1RZUEUsXG5dOyAvLyBWYWxpZCB2YWxpZGF0b3IgdHJhbnNhY3Rpb24gdHlwZXNcblxuLy8gVHJhbnNmZXIgdHlwZXNcbmV4cG9ydCBjb25zdCBUUkFOU0ZFUkFCTEVfSU5QVVRfVFlQRSA9ICdUcmFuc2ZlcmFibGVJbnB1dCc7IC8vIFRyYW5zZmVyYWJsZSBpbnB1dCB0eXBlXG5leHBvcnQgY29uc3QgQ1JFREVOVElBTF9UWVBFID0gJ0NyZWRlbnRpYWwnOyAvLyBDcmVkZW50aWFsIHR5cGVcbmV4cG9ydCBjb25zdCBTRUNQMjU2SzFfVFJBTlNGRVJfSU5QVVRfVFlQRSA9ICdzZWNwMjU2azFmeC5UcmFuc2ZlcklucHV0JzsgLy8gU0VDUDI1NksxIHRyYW5zZmVyIGlucHV0IHR5cGVcbmV4cG9ydCBjb25zdCBTRUNQMjU2SzFfVFJBTlNGRVJfT1VUUFVUX1RZUEUgPSAnc2VjcDI1NmsxZnguVHJhbnNmZXJPdXRwdXQnOyAvLyBTRUNQMjU2SzEgdHJhbnNmZXIgb3V0cHV0IHR5cGVcblxuLy8gUHJvcGVydHkgbmFtZXMgZm9yIG9iamVjdCBjaGVja3NcbmV4cG9ydCBjb25zdCBERVNUSU5BVElPTl9DSEFJTl9QUk9QID0gJ2Rlc3RpbmF0aW9uQ2hhaW4nOyAvLyBEZXN0aW5hdGlvbiBjaGFpbiBwcm9wZXJ0eVxuZXhwb3J0IGNvbnN0IERFU1RJTkFUSU9OX0NIQUlOX0lEX1BST1AgPSAnZGVzdGluYXRpb25DaGFpbklEJzsgLy8gRGVzdGluYXRpb24gY2hhaW4gSUQgcHJvcGVydHlcbmV4cG9ydCBjb25zdCBFWFBPUlRFRF9PVVRQVVRTX1BST1AgPSAnZXhwb3J0ZWRPdXRwdXRzJzsgLy8gRXhwb3J0ZWQgb3V0cHV0cyBwcm9wZXJ0eVxuZXhwb3J0IGNvbnN0IE9VVFNfUFJPUCA9ICdvdXRzJzsgLy8gT3V0cHV0cyBwcm9wZXJ0eSBzaG9ydCBuYW1lXG5leHBvcnQgY29uc3QgSU5QVVRTX1BST1AgPSAnaW5wdXRzJzsgLy8gSW5wdXRzIHByb3BlcnR5XG5leHBvcnQgY29uc3QgSU5TX1BST1AgPSAnaW5zJzsgLy8gSW5wdXRzIHByb3BlcnR5IHNob3J0IG5hbWVcbmV4cG9ydCBjb25zdCBORVRXT1JLX0lEX1BST1AgPSAnbmV0d29ya0lEJzsgLy8gTmV0d29yayBJRCBwcm9wZXJ0eVxuZXhwb3J0IGNvbnN0IE5FVFdPUktfSURfUFJPUF9BTFQgPSAnbmV0d29ya0lkJzsgLy8gQWx0ZXJuYXRpdmUgbmV0d29yayBJRCBwcm9wZXJ0eVxuZXhwb3J0IGNvbnN0IEJMT0NLQ0hBSU5fSURfUFJPUCA9ICdibG9ja2NoYWluSUQnOyAvLyBCbG9ja2NoYWluIElEIHByb3BlcnR5XG5leHBvcnQgY29uc3QgR0VUX09VVFBVVF9NRVRIT0QgPSAnZ2V0T3V0cHV0JzsgLy8gR2V0IG91dHB1dCBtZXRob2QgbmFtZVxuXG4vLyBVVFhPIGZpZWxkIG5hbWVzXG5leHBvcnQgY29uc3QgT1VUUFVUX0lEX0ZJRUxEID0gJ291dHB1dElEJzsgLy8gT3V0cHV0IElEIGZpZWxkXG5leHBvcnQgY29uc3QgQU1PVU5UX0ZJRUxEID0gJ2Ftb3VudCc7IC8vIEFtb3VudCBmaWVsZFxuZXhwb3J0IGNvbnN0IFRYSURfRklFTEQgPSAndHhpZCc7IC8vIFRyYW5zYWN0aW9uIElEIGZpZWxkXG5leHBvcnQgY29uc3QgT1VUUFVUX0lEWF9GSUVMRCA9ICdvdXRwdXRpZHgnOyAvLyBPdXRwdXQgaW5kZXggZmllbGRcblxuLy8gVHJhbnNhY3Rpb24gZXhwbGFuYXRpb24gZmllbGQgbmFtZXNcbmV4cG9ydCBjb25zdCBJRF9GSUVMRCA9ICdpZCc7IC8vIElEIGZpZWxkIG5hbWVcbmV4cG9ydCBjb25zdCBPVVRQVVRfQU1PVU5UX0ZJRUxEID0gJ291dHB1dEFtb3VudCc7IC8vIE91dHB1dCBhbW91bnQgZmllbGRcbmV4cG9ydCBjb25zdCBDSEFOR0VfQU1PVU5UX0ZJRUxEID0gJ2NoYW5nZUFtb3VudCc7IC8vIENoYW5nZSBhbW91bnQgZmllbGRcbmV4cG9ydCBjb25zdCBPVVRQVVRTX0ZJRUxEID0gJ291dHB1dHMnOyAvLyBPdXRwdXRzIGZpZWxkXG5leHBvcnQgY29uc3QgQ0hBTkdFX09VVFBVVFNfRklFTEQgPSAnY2hhbmdlT3V0cHV0cyc7IC8vIENoYW5nZSBvdXRwdXRzIGZpZWxkXG5leHBvcnQgY29uc3QgRkVFX0ZJRUxEID0gJ2ZlZSc7IC8vIEZlZSBmaWVsZFxuZXhwb3J0IGNvbnN0IFRZUEVfRklFTEQgPSAndHlwZSc7IC8vIFR5cGUgZmllbGRcblxuLy8gU2lnbmF0dXJlIGFuZCBoYXNoIG1ldGhvZHNcbmV4cG9ydCBjb25zdCBTRUNQMjU2SzFfU0lHX1RZUEUgPSAnc2VjcDI1NmsxJzsgLy8gU0VDUDI1NksxIHNpZ25hdHVyZSB0eXBlXG5leHBvcnQgY29uc3QgREVSX0ZPUk1BVCA9ICdkZXInOyAvLyBERVIgZm9ybWF0XG5leHBvcnQgY29uc3QgU0hBMjU2X0hBU0ggPSAnc2hhMjU2JzsgLy8gU0hBMjU2IGhhc2ggZnVuY3Rpb25cbmV4cG9ydCBjb25zdCBSRUNPVkVSWV9LRVlfTUVUSE9EID0gJ3JlY292ZXJ5LWtleSc7IC8vIFJlY292ZXJ5IGtleSBzaWduaW5nIG1ldGhvZFxuZXhwb3J0IGNvbnN0IE5PUk1BTF9NT0RFID0gJ25vcm1hbCc7IC8vIE5vcm1hbCBtb2RlXG5leHBvcnQgY29uc3QgUkVDT1ZFUllfTU9ERSA9ICdyZWNvdmVyeSc7IC8vIFJlY292ZXJ5IG1vZGVcblxuLy8gVmVyc2lvbiBzdHJpbmdzXG5leHBvcnQgY29uc3QgUkVDT1ZFUllfVkVSU0lPTiA9ICcxLjAuMCc7IC8vIFJlY292ZXJ5IHZlcnNpb25cbmV4cG9ydCBjb25zdCBTSUdOQVRVUkVfVkVSU0lPTiA9ICcxLjAuMCc7IC8vIFNpZ25hdHVyZSB2ZXJzaW9uXG5cbi8vIE51bWVyaWMgcmFkaXhcbmV4cG9ydCBjb25zdCBIRVhfUkFESVggPSAxNjsgLy8gSGV4YWRlY2ltYWwgcmFkaXhcblxuLy8gVHJhbnNhY3Rpb24gdHlwZSBpZGVudGlmaWVycyAoYWRkaXRpb25hbClcbmV4cG9ydCBjb25zdCBBRERfUEVSTUlTU0lPTkxFU1NfVkFMSURBVE9SX1RZUEUgPSAnYWRkUGVybWlzc2lvbmxlc3NWYWxpZGF0b3InOyAvLyBBZGQgcGVybWlzc2lvbmxlc3MgdmFsaWRhdG9yIHR5cGVcblxuLy8gRGlzcGxheSBvcmRlciBmb3IgdHJhbnNhY3Rpb24gZXhwbGFuYXRpb25zXG5leHBvcnQgY29uc3QgRElTUExBWV9PUkRFUl9CQVNFID0gW1xuICAnaWQnLFxuICAnaW5wdXRzJyxcbiAgJ291dHB1dEFtb3VudCcsXG4gICdjaGFuZ2VBbW91bnQnLFxuICAnb3V0cHV0cycsXG4gICdjaGFuZ2VPdXRwdXRzJyxcbiAgJ2ZlZScsXG4gICd0eXBlJyxcbl07IC8vIEJhc2UgZGlzcGxheSBvcmRlclxuZXhwb3J0IGNvbnN0IE1FTU9fRklFTEQgPSAnbWVtbyc7IC8vIE1lbW8gZmllbGQgbmFtZVxuZXhwb3J0IGNvbnN0IFJFV0FSRF9BRERSRVNTRVNfRklFTEQgPSAncmV3YXJkQWRkcmVzc2VzJzsgLy8gUmV3YXJkIGFkZHJlc3NlcyBmaWVsZFxuZXhwb3J0IGNvbnN0IFNPVVJDRV9DSEFJTl9GSUVMRCA9ICdzb3VyY2VDaGFpbic7IC8vIFNvdXJjZSBjaGFpbiBmaWVsZFxuZXhwb3J0IGNvbnN0IERFU1RJTkFUSU9OX0NIQUlOX0ZJRUxEID0gJ2Rlc3RpbmF0aW9uQ2hhaW4nOyAvLyBEZXN0aW5hdGlvbiBjaGFpbiBmaWVsZFxuXG4vLyBBc3NldCBhbmQgbmV0d29yayBjb25zdGFudHNcbmV4cG9ydCBjb25zdCBGTFJfQVNTRVRfSUQgPSAnRkxSJzsgLy8gRGVmYXVsdCBGTFIgYXNzZXQgSURcblxuLy8gUGxhY2Vob2xkZXIgY29uc3RhbnRzIGZvciBkZXZlbG9wbWVudFxuZXhwb3J0IGNvbnN0IEZMQVJFX1RYX0hFWF9QTEFDRUhPTERFUiA9ICdmbGFyZS10eC1oZXgtcGxhY2Vob2xkZXInOyAvLyBUcmFuc2FjdGlvbiBoZXggcGxhY2Vob2xkZXJcbmV4cG9ydCBjb25zdCBGTEFSRV9TSUdOQUJMRV9QQVlMT0FEID0gJ2ZsYXJlLXNpZ25hYmxlLXBheWxvYWQnOyAvLyBTaWduYWJsZSBwYXlsb2FkIHBsYWNlaG9sZGVyXG5leHBvcnQgY29uc3QgRkxBUkVfVFJBTlNBQ1RJT05fSURfUExBQ0VIT0xERVIgPSAnZmxhcmUtdHJhbnNhY3Rpb24taWQtcGxhY2Vob2xkZXInOyAvLyBUcmFuc2FjdGlvbiBJRCBwbGFjZWhvbGRlclxuZXhwb3J0IGNvbnN0IFBMQUNFSE9MREVSX05PREVfSUQgPSAncGxhY2Vob2xkZXItbm9kZS1pZCc7IC8vIE5vZGUgSUQgcGxhY2Vob2xkZXJcblxuLy8gQ2hhaW4gaWRlbnRpZmllcnMgKHNob3J0IGZvcm1zKVxuZXhwb3J0IGNvbnN0IFBfQ0hBSU5fU0hPUlQgPSAnUCc7IC8vIFAtY2hhaW4gc2hvcnQgbmFtZVxuZXhwb3J0IGNvbnN0IFhfQ0hBSU5fU0hPUlQgPSAnWCc7IC8vIFgtY2hhaW4gc2hvcnQgbmFtZVxuXG4vLyBWYWxpZCBzb3VyY2UgY2hhaW5zIGZvciBpbXBvcnRzXG5leHBvcnQgY29uc3QgVkFMSURfSU1QT1JUX1NPVVJDRV9DSEFJTlMgPSBbUF9DSEFJTl9TSE9SVCwgUF9DSEFJTl9GVUxMLCBYX0NIQUlOX1NIT1JULCBYX0NIQUlOX0ZVTExdOyAvLyBWYWxpZCBzb3VyY2UgY2hhaW5zIGZvciBDLWNoYWluIGltcG9ydHNcblxuLy8gVmFsaWQgUC1jaGFpbiBpbXBvcnQgdHlwZXNcbmV4cG9ydCBjb25zdCBWQUxJRF9QX0NIQUlOX0lNUE9SVF9UWVBFUyA9IFtQTEFURk9STV9WTV9JTVBPUlRfVFgsIElNUE9SVF9UWF9UWVBFLCBJTVBPUlRfVFlQRSwgUF9DSEFJTl9JTVBPUlRfVFlQRV07IC8vIFZhbGlkIFAtY2hhaW4gaW1wb3J0IHR5cGVzXG5cbi8vIEVycm9yIG1lc3NhZ2VzIGZvciB0cmFuc2FjdGlvbkJ1aWxkZXJcbmV4cG9ydCBjb25zdCBFUlJPUl9ORVRXT1JLX0lEX01JU01BVENIID0gJ05ldHdvcmsgSUQgbWlzbWF0Y2gnOyAvLyBOZXR3b3JrIElEIHZhbGlkYXRpb24gZXJyb3JcbmV4cG9ydCBjb25zdCBFUlJPUl9CTE9DS0NIQUlOX0lEX01JU01BVENIX0JVSUxERVIgPSAnQmxvY2tjaGFpbiBJRCBtaXNtYXRjaCc7IC8vIEJsb2NrY2hhaW4gSUQgdmFsaWRhdGlvbiBlcnJvclxuZXhwb3J0IGNvbnN0IEVSUk9SX0lOVkFMSURfVEhSRVNIT0xEID0gJ0ludmFsaWQgdHJhbnNhY3Rpb246IHRocmVzaG9sZCBtdXN0IGJlIHNldCB0byAyJzsgLy8gVGhyZXNob2xkIHZhbGlkYXRpb24gZXJyb3JcbmV4cG9ydCBjb25zdCBFUlJPUl9JTlZBTElEX0xPQ0tUSU1FID0gJ0ludmFsaWQgdHJhbnNhY3Rpb246IGxvY2t0aW1lIG11c3QgYmUgMCBvciBoaWdoZXInOyAvLyBMb2NrdGltZSB2YWxpZGF0aW9uIGVycm9yXG5leHBvcnQgY29uc3QgRVJST1JfVVRYT1NfRU1QVFlfQVJSQVkgPSBcIlV0eG9zIGNhbid0IGJlIGVtcHR5IGFycmF5XCI7IC8vIEVtcHR5IFVUWE9TIGFycmF5IGVycm9yXG5leHBvcnQgY29uc3QgRVJST1JfVVRYT1NfTUlTU0lOR19GSUVMRCA9ICdVdHhvcyByZXF1aXJlZCc7IC8vIE1pc3NpbmcgVVRYTyBmaWVsZCBlcnJvclxuZXhwb3J0IGNvbnN0IEVSUk9SX0ZST01fQUREUkVTU0VTX1JFUVVJUkVEID0gJ2Zyb20gYWRkcmVzc2VzIGFyZSByZXF1aXJlZCc7IC8vIE1pc3NpbmcgZnJvbSBhZGRyZXNzZXMgZXJyb3JcbmV4cG9ydCBjb25zdCBFUlJPUl9VVFhPU19SRVFVSVJFRF9CVUlMREVSID0gJ3V0eG9zIGFyZSByZXF1aXJlZCc7IC8vIE1pc3NpbmcgVVRYT3MgZXJyb3JcbmV4cG9ydCBjb25zdCBFUlJPUl9QQVJTRV9SQVdfVFJBTlNBQ1RJT04gPSAnRmFpbGVkIHRvIHBhcnNlIHJhdyB0cmFuc2FjdGlvbic7IC8vIFJhdyB0cmFuc2FjdGlvbiBwYXJzaW5nIGVycm9yXG5leHBvcnQgY29uc3QgRVJST1JfVU5LTk9XTl9QQVJTSU5HID0gJ1Vua25vd24gZXJyb3InOyAvLyBVbmtub3duIHBhcnNpbmcgZXJyb3JcblxuLy8gVVRYTyBmaWVsZCB2YWxpZGF0aW9uXG5leHBvcnQgY29uc3QgVVRYT19SRVFVSVJFRF9GSUVMRFMgPSBbJ291dHB1dElEJywgJ2Ftb3VudCcsICd0eGlkJywgJ291dHB1dGlkeCddOyAvLyBSZXF1aXJlZCBVVFhPIGZpZWxkc1xuIl19
@@ -1,58 +0,0 @@
1
- import { TransactionType } from '@bitgo-beta/sdk-core';
2
- import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
3
- import { AtomicTransactionBuilder } from './atomicTransactionBuilder';
4
- import { Tx } from './iface';
5
- export declare class DelegatorTxBuilder extends AtomicTransactionBuilder {
6
- protected _nodeID: string;
7
- protected _startTime: bigint;
8
- protected _endTime: bigint;
9
- protected _stakeAmount: bigint;
10
- /**
11
- * @param coinConfig
12
- */
13
- constructor(coinConfig: Readonly<CoinConfig>);
14
- /**
15
- * get transaction type
16
- * @protected
17
- */
18
- protected get transactionType(): TransactionType;
19
- /**
20
- * Set the node ID for delegation
21
- * @param nodeID - The node ID to delegate to
22
- */
23
- nodeID(nodeID: string): this;
24
- /**
25
- * Set the start time for delegation
26
- * @param startTime - Unix timestamp for when delegation starts
27
- */
28
- startTime(startTime: string | number | bigint): this;
29
- /**
30
- * Set the end time for delegation
31
- * @param endTime - Unix timestamp for when delegation ends
32
- */
33
- endTime(endTime: string | number | bigint): this;
34
- /**
35
- * Set the stake amount for delegation
36
- * @param amount - Amount to stake (in nFLR)
37
- */
38
- stakeAmount(amount: string | number | bigint): this;
39
- /**
40
- * Set reward addresses where delegation rewards should be sent
41
- * @param addresses - Array of reward addresses
42
- */
43
- rewardAddresses(addresses: string[]): this;
44
- /** @inheritdoc */
45
- initBuilder(tx: Tx): this;
46
- /**
47
- * Verify if the transaction is a delegator transaction
48
- * @param tx
49
- */
50
- static verifyTxType(tx: unknown): boolean;
51
- verifyTxType(tx: unknown): boolean;
52
- /**
53
- * Build the delegator transaction using FlareJS PVM API
54
- * @protected
55
- */
56
- protected buildFlareTransaction(): Promise<void>;
57
- }
58
- //# sourceMappingURL=delegatorTxBuilder.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"delegatorTxBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/delegatorTxBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAkB7B,qBAAa,kBAAmB,SAAQ,wBAAwB;IAC9D,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC;IAE/B;;OAEG;gBACS,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC;IAQ5C;;;OAGG;IACH,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED;;;OAGG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAQ5B;;;OAGG;IACH,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI;IAiBpD;;;OAGG;IACH,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI;IAiBhD;;;OAGG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI;IASnD;;;OAGG;IACH,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI;IAS1C,kBAAkB;IAClB,WAAW,CAAC,EAAE,EAAE,EAAE,GAAG,IAAI;IA0BzB;;;OAGG;IACH,MAAM,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO;IAMzC,YAAY,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO;IAIlC;;;OAGG;cACa,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC;CAoGvD"}