@witnet/sdk 1.1.5 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (192) hide show
  1. package/.env_witnet +13 -1
  2. package/dist/package.json +31 -24
  3. package/dist/src/bin/helpers.d.ts +59 -49
  4. package/dist/src/bin/helpers.d.ts.map +1 -1
  5. package/dist/src/bin/helpers.js +228 -229
  6. package/dist/src/index.d.ts +3 -4
  7. package/dist/src/index.d.ts.map +1 -1
  8. package/dist/src/index.js +4 -47
  9. package/dist/src/lib/crypto/account.d.ts +3 -3
  10. package/dist/src/lib/crypto/account.d.ts.map +1 -1
  11. package/dist/src/lib/crypto/account.js +31 -25
  12. package/dist/src/lib/crypto/coinbase.d.ts +4 -4
  13. package/dist/src/lib/crypto/coinbase.d.ts.map +1 -1
  14. package/dist/src/lib/crypto/coinbase.js +8 -13
  15. package/dist/src/lib/crypto/index.d.ts +7 -7
  16. package/dist/src/lib/crypto/index.d.ts.map +1 -1
  17. package/dist/src/lib/crypto/index.js +7 -30
  18. package/dist/src/lib/crypto/interfaces.d.ts +5 -5
  19. package/dist/src/lib/crypto/interfaces.d.ts.map +1 -1
  20. package/dist/src/lib/crypto/interfaces.js +2 -3
  21. package/dist/src/lib/crypto/payloads/DataRequestPayload.d.ts +5 -5
  22. package/dist/src/lib/crypto/payloads/DataRequestPayload.d.ts.map +1 -1
  23. package/dist/src/lib/crypto/payloads/DataRequestPayload.js +98 -85
  24. package/dist/src/lib/crypto/payloads/StakePayload.d.ts +3 -4
  25. package/dist/src/lib/crypto/payloads/StakePayload.d.ts.map +1 -1
  26. package/dist/src/lib/crypto/payloads/StakePayload.js +81 -71
  27. package/dist/src/lib/crypto/payloads/UnstakePayload.d.ts +4 -5
  28. package/dist/src/lib/crypto/payloads/UnstakePayload.d.ts.map +1 -1
  29. package/dist/src/lib/crypto/payloads/UnstakePayload.js +36 -43
  30. package/dist/src/lib/crypto/payloads/ValueTransferPayload.d.ts +3 -4
  31. package/dist/src/lib/crypto/payloads/ValueTransferPayload.d.ts.map +1 -1
  32. package/dist/src/lib/crypto/payloads/ValueTransferPayload.js +46 -48
  33. package/dist/src/lib/crypto/payloads.d.ts +5 -5
  34. package/dist/src/lib/crypto/payloads.d.ts.map +1 -1
  35. package/dist/src/lib/crypto/payloads.js +44 -45
  36. package/dist/src/lib/crypto/signer.d.ts +3 -3
  37. package/dist/src/lib/crypto/signer.d.ts.map +1 -1
  38. package/dist/src/lib/crypto/signer.js +45 -88
  39. package/dist/src/lib/crypto/transmitters/DataRequests.d.ts +6 -6
  40. package/dist/src/lib/crypto/transmitters/DataRequests.d.ts.map +1 -1
  41. package/dist/src/lib/crypto/transmitters/DataRequests.js +6 -10
  42. package/dist/src/lib/crypto/transmitters/StakeDeposits.d.ts +5 -5
  43. package/dist/src/lib/crypto/transmitters/StakeDeposits.d.ts.map +1 -1
  44. package/dist/src/lib/crypto/transmitters/StakeDeposits.js +7 -11
  45. package/dist/src/lib/crypto/transmitters/StakeWithdrawals.d.ts +6 -7
  46. package/dist/src/lib/crypto/transmitters/StakeWithdrawals.d.ts.map +1 -1
  47. package/dist/src/lib/crypto/transmitters/StakeWithdrawals.js +9 -13
  48. package/dist/src/lib/crypto/transmitters/ValueTransfers.d.ts +5 -5
  49. package/dist/src/lib/crypto/transmitters/ValueTransfers.d.ts.map +1 -1
  50. package/dist/src/lib/crypto/transmitters/ValueTransfers.js +6 -10
  51. package/dist/src/lib/crypto/transmitters.d.ts +6 -6
  52. package/dist/src/lib/crypto/transmitters.d.ts.map +1 -1
  53. package/dist/src/lib/crypto/transmitters.js +89 -76
  54. package/dist/src/lib/crypto/types.d.ts +1 -2
  55. package/dist/src/lib/crypto/types.d.ts.map +1 -1
  56. package/dist/src/lib/crypto/types.js +71 -67
  57. package/dist/src/lib/crypto/utils.d.ts +5 -5
  58. package/dist/src/lib/crypto/utils.d.ts.map +1 -1
  59. package/dist/src/lib/crypto/utils.js +48 -66
  60. package/dist/src/lib/crypto/wallet.d.ts +3 -3
  61. package/dist/src/lib/crypto/wallet.d.ts.map +1 -1
  62. package/dist/src/lib/crypto/wallet.js +72 -89
  63. package/dist/src/lib/index.d.ts +5 -4
  64. package/dist/src/lib/index.d.ts.map +1 -1
  65. package/dist/src/lib/index.js +6 -44
  66. package/dist/src/lib/radon/ccdr/eth.d.ts +1 -1
  67. package/dist/src/lib/radon/ccdr/eth.d.ts.map +1 -1
  68. package/dist/src/lib/radon/ccdr/eth.js +95 -83
  69. package/dist/src/lib/radon/ccdr/index.d.ts +2 -2
  70. package/dist/src/lib/radon/ccdr/index.d.ts.map +1 -1
  71. package/dist/src/lib/radon/ccdr/index.js +3 -39
  72. package/dist/src/lib/radon/ccdr/wit.d.ts +2 -2
  73. package/dist/src/lib/radon/ccdr/wit.d.ts.map +1 -1
  74. package/dist/src/lib/radon/ccdr/wit.js +17 -19
  75. package/dist/src/lib/radon/filters.d.ts.map +1 -1
  76. package/dist/src/lib/radon/filters.js +23 -19
  77. package/dist/src/lib/radon/index.d.ts +10 -11
  78. package/dist/src/lib/radon/index.d.ts.map +1 -1
  79. package/dist/src/lib/radon/index.js +205 -187
  80. package/dist/src/lib/radon/reducers.d.ts +2 -2
  81. package/dist/src/lib/radon/reducers.d.ts.map +1 -1
  82. package/dist/src/lib/radon/reducers.js +48 -34
  83. package/dist/src/lib/radon/types.d.ts +2 -2
  84. package/dist/src/lib/radon/types.d.ts.map +1 -1
  85. package/dist/src/lib/radon/types.js +80 -110
  86. package/dist/src/lib/radon/utils.d.ts +3 -3
  87. package/dist/src/lib/radon/utils.d.ts.map +1 -1
  88. package/dist/src/lib/radon/utils.js +49 -52
  89. package/dist/src/lib/rest/kermit.d.ts +20 -0
  90. package/dist/src/lib/rest/kermit.d.ts.map +1 -0
  91. package/dist/src/lib/rest/kermit.js +68 -0
  92. package/dist/src/lib/rest/types.d.ts +5 -0
  93. package/dist/src/lib/rest/types.d.ts.map +1 -0
  94. package/dist/src/lib/rest/types.js +2 -0
  95. package/dist/src/lib/rpc/index.d.ts +2 -2
  96. package/dist/src/lib/rpc/index.d.ts.map +1 -1
  97. package/dist/src/lib/rpc/index.js +3 -19
  98. package/dist/src/lib/rpc/nodes.d.ts +13 -13
  99. package/dist/src/lib/rpc/nodes.d.ts.map +1 -1
  100. package/dist/src/lib/rpc/nodes.js +69 -98
  101. package/dist/src/lib/rpc/provider.d.ts +4 -4
  102. package/dist/src/lib/rpc/provider.d.ts.map +1 -1
  103. package/dist/src/lib/rpc/provider.js +106 -122
  104. package/dist/src/lib/rpc/types.d.ts +2 -2
  105. package/dist/src/lib/rpc/types.d.ts.map +1 -1
  106. package/dist/src/lib/rpc/types.js +13 -16
  107. package/dist/src/lib/types.d.ts +5 -4
  108. package/dist/src/lib/types.d.ts.map +1 -1
  109. package/dist/src/lib/types.js +3 -9
  110. package/dist/src/lib/utils.d.ts +5 -5
  111. package/dist/src/lib/utils.d.ts.map +1 -1
  112. package/dist/src/lib/utils.js +40 -99
  113. package/dist/witnet/assets/index.cjs +6 -0
  114. package/dist/witnet/assets/index.d.cts +29 -0
  115. package/dist/witnet/assets/index.d.cts.map +1 -0
  116. package/dist/witnet/assets/modals/index.cjs +9 -0
  117. package/dist/witnet/assets/modals/index.d.cts +16 -0
  118. package/dist/witnet/assets/modals/index.d.cts.map +1 -0
  119. package/dist/witnet/assets/modals/web3/eth.cjs +23 -0
  120. package/dist/witnet/assets/modals/web3/eth.d.cts +4 -0
  121. package/dist/witnet/assets/modals/web3/eth.d.cts.map +1 -0
  122. package/dist/witnet/assets/modals/web3/ipfs.cjs +18 -0
  123. package/dist/witnet/assets/modals/web3/ipfs.d.cts +3 -0
  124. package/dist/witnet/assets/modals/web3/ipfs.d.cts.map +1 -0
  125. package/dist/witnet/assets/modals/web3/wit.cjs +24 -0
  126. package/dist/witnet/assets/modals/web3/wit.d.cts +3 -0
  127. package/dist/witnet/assets/modals/web3/wit.d.cts.map +1 -0
  128. package/dist/witnet/assets/requests.cjs +43 -0
  129. package/dist/witnet/assets/requests.d.cts +10 -0
  130. package/dist/witnet/assets/requests.d.cts.map +1 -0
  131. package/package.json +31 -24
  132. package/src/bin/bots/watcher.cjs +354 -0
  133. package/src/bin/cli/history.cjs +31 -0
  134. package/src/bin/cli/inspect.js +545 -471
  135. package/src/bin/cli/network.js +658 -557
  136. package/src/bin/cli/nodes.js +392 -332
  137. package/src/bin/cli/radon.js +1071 -844
  138. package/src/bin/cli/wallet.js +1317 -1074
  139. package/src/bin/helpers.js +969 -868
  140. package/src/bin/index.js +329 -0
  141. package/witnet/assets/_index.cjs +5 -0
  142. package/witnet/assets/_requests.cjs +25 -0
  143. package/witnet/assets/_sources.cjs +36 -0
  144. package/witnet/assets/_templates.cjs +36 -0
  145. package/witnet/assets/index.cjs +4 -0
  146. package/witnet/assets/modals/index.cjs +7 -0
  147. package/witnet/assets/modals/web3/eth.cjs +27 -0
  148. package/witnet/assets/modals/web3/ipfs.cjs +22 -0
  149. package/witnet/assets/modals/web3/wit.cjs +28 -0
  150. package/witnet/assets/requests.cjs +49 -0
  151. package/witnet/witnet copy.proto +457 -0
  152. package/witnet/witnet.proto +456 -0
  153. package/witnet/witnet_toolkit-1.6.7-x86_64-pc-windows-msvc.exe +0 -0
  154. package/witnet/witnet_toolkit-1.7.1-x86_64-pc-windows-msvc.exe +0 -0
  155. package/witnet/witnet_toolkit-2.0.0-rc.7-x86_64-pc-windows-msvc.exe +0 -0
  156. package/witnet/witnet_toolkit-2.0.2-x86_64-pc-windows-msvc.exe +0 -0
  157. package/witnet/witnet_toolkit-2.0.21-x86_64-pc-windows-msvc.exe +0 -0
  158. package/witnet/witnet_toolkit-2.0.7-x86_64-pc-windows-msvc.exe +0 -0
  159. package/witnet/witnet_toolkit-2.0.8-x86_64-pc-windows-msvc.exe +0 -0
  160. package/dist/witnet/assets/index.d.ts +0 -29
  161. package/dist/witnet/assets/index.d.ts.map +0 -1
  162. package/dist/witnet/assets/index.js +0 -6
  163. package/dist/witnet/assets/modals/index.d.ts +0 -16
  164. package/dist/witnet/assets/modals/index.d.ts.map +0 -1
  165. package/dist/witnet/assets/modals/index.js +0 -11
  166. package/dist/witnet/assets/modals/web3/eth.d.ts +0 -5
  167. package/dist/witnet/assets/modals/web3/eth.d.ts.map +0 -1
  168. package/dist/witnet/assets/modals/web3/eth.js +0 -26
  169. package/dist/witnet/assets/modals/web3/ipfs.d.ts +0 -4
  170. package/dist/witnet/assets/modals/web3/ipfs.d.ts.map +0 -1
  171. package/dist/witnet/assets/modals/web3/ipfs.js +0 -18
  172. package/dist/witnet/assets/modals/web3/wit.d.ts +0 -4
  173. package/dist/witnet/assets/modals/web3/wit.d.ts.map +0 -1
  174. package/dist/witnet/assets/modals/web3/wit.js +0 -17
  175. package/dist/witnet/assets/requests.d.ts +0 -11
  176. package/dist/witnet/assets/requests.d.ts.map +0 -1
  177. package/dist/witnet/assets/requests.js +0 -43
  178. package/src/bin/cli/history.js +0 -31
  179. package/src/bin/postinstall.js +0 -9
  180. package/src/bin/toolkit.js +0 -290
  181. package/witnet/assets/_index.js +0 -8
  182. package/witnet/assets/_requests.js +0 -25
  183. package/witnet/assets/_sources.js +0 -36
  184. package/witnet/assets/_templates.js +0 -36
  185. package/witnet/assets/index.js +0 -4
  186. package/witnet/assets/modals/index.js +0 -9
  187. package/witnet/assets/modals/web3/eth.js +0 -29
  188. package/witnet/assets/modals/web3/ipfs.js +0 -22
  189. package/witnet/assets/modals/web3/wit.js +0 -21
  190. package/witnet/assets/requests.js +0 -49
  191. /package/witnet/assets/modals/web3/{btc.js → btc.cjs} +0 -0
  192. /package/witnet/assets/modals/web3/{sol.js → sol.cjs} +0 -0
@@ -1,108 +1,123 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.StakePayload = void 0;
4
- const Long = require("long");
5
- const helpers_1 = require("../../../bin/helpers");
6
- const payloads_1 = require("../payloads");
7
- const types_1 = require("../types");
1
+ import Long from "long";
2
+ import { fromHexString } from "../../../bin/helpers.js";
3
+ import { TransactionPayloadMultiSig } from "../payloads.js";
4
+ import { Coins, PublicKey, PublicKeyHash, RecoverableSignature, TransactionPriority, } from "../types.js";
8
5
  const TX_WEIGHT_BASE = 105;
9
6
  const TX_WEIGHT_INPUT_SIZE = 133;
10
7
  const TX_WEIGHT_OUTPUT_SIZE = 36;
11
- class StakePayload extends payloads_1.TransactionPayloadMultiSig {
12
- constructor(protoTypeName, specs) {
13
- super(protoTypeName, specs);
14
- }
8
+ export class StakePayload extends TransactionPayloadMultiSig {
9
+ static MAX_WEIGHT = 10000; // 10,000
10
+ static MIN_VALUE = 10000 * 10 ** 9; // 10,000.00 $WIT
15
11
  get maxWeight() {
16
12
  return StakePayload.MAX_WEIGHT;
17
13
  }
18
14
  get prepared() {
19
- return (!!this._target
20
- && this._covered >= this._target.value.pedros
21
- && this._inputs.length > 0);
15
+ return (!!this._target &&
16
+ this._covered >= this._target.value.pedros &&
17
+ this._inputs.length > 0);
22
18
  }
23
19
  get value() {
24
- return this._target?.value || types_1.Coins.zero();
20
+ return this._target?.value || Coins.zero();
25
21
  }
26
22
  get weight() {
27
- return (TX_WEIGHT_BASE
28
- + this._inputs.length * TX_WEIGHT_INPUT_SIZE
29
- + this._outputs.length * TX_WEIGHT_OUTPUT_SIZE);
23
+ return (TX_WEIGHT_BASE +
24
+ this._inputs.length * TX_WEIGHT_INPUT_SIZE +
25
+ this._outputs.length * TX_WEIGHT_OUTPUT_SIZE);
30
26
  }
31
27
  intoReceipt(target, network) {
32
28
  return {
33
29
  authorization: target.authorization,
34
30
  withdrawer: target.withdrawer,
35
- validator: types_1.PublicKeyHash.fromHexString(target.authorization.substring(0, 40)).toBech32(network),
31
+ validator: PublicKeyHash.fromHexString(target.authorization.substring(0, 40)).toBech32(network),
36
32
  };
37
33
  }
38
34
  toJSON(_humanize = false, network) {
39
35
  return {
40
- inputs: this.inputs
41
- .map(utxo => {
36
+ inputs: this.inputs.map((utxo) => {
42
37
  return { output_pointer: utxo.output_pointer };
43
38
  }),
44
- ...(this._target ? { output: {
45
- authorization: types_1.RecoverableSignature.from(this._target.authorization.substring(40), types_1.PublicKeyHash.fromBech32(this._target.withdrawer).toBytes32()).toKeyedSignature(),
46
- key: {
47
- validator: types_1.PublicKeyHash.fromHexString(this._target.authorization.substring(0, 40)).toBech32(network),
48
- withdrawer: this._target.withdrawer,
39
+ ...(this._target
40
+ ? {
41
+ output: {
42
+ authorization: RecoverableSignature.from(this._target.authorization.substring(40), PublicKeyHash.fromBech32(this._target.withdrawer).toBytes32()).toKeyedSignature(),
43
+ key: {
44
+ validator: PublicKeyHash.fromHexString(this._target.authorization.substring(0, 40)).toBech32(network),
45
+ withdrawer: this._target.withdrawer,
46
+ },
47
+ value: this._target.value.pedros.toString(),
48
+ },
49
+ }
50
+ : {}),
51
+ ...(this.outputs.length > 0
52
+ ? {
53
+ change: {
54
+ pkh: this.outputs[0].pkh,
55
+ value: this.outputs[0].value.toString(),
56
+ time_lock: 0,
49
57
  },
50
- value: this._target.value.pedros.toString(),
51
- } } : {}),
52
- ...(this.outputs.length > 0 ? { change: {
53
- pkh: this.outputs[0].pkh,
54
- value: this.outputs[0].value.toString(),
55
- time_lock: 0,
56
- } } : {}),
58
+ }
59
+ : {}),
57
60
  };
58
61
  }
59
62
  toProtobuf() {
60
63
  if (this.prepared && this._target) {
61
64
  return {
62
- inputs: this.inputs
63
- .map(utxo => {
64
- const transactionId = utxo.output_pointer.split(':')[0];
65
- const outputIndex = parseInt(utxo.output_pointer.split(':')[1]);
65
+ inputs: this.inputs.map((utxo) => {
66
+ const transactionId = utxo.output_pointer.split(":")[0];
67
+ const outputIndex = parseInt(utxo.output_pointer.split(":")[1], 10);
66
68
  return {
67
69
  outputPointer: {
68
- transactionId: { SHA256: Array.from((0, helpers_1.fromHexString)(transactionId)) },
70
+ transactionId: {
71
+ SHA256: Array.from(fromHexString(transactionId)),
72
+ },
69
73
  ...(outputIndex > 0 ? { outputIndex } : {}),
70
74
  },
71
75
  };
72
76
  }),
73
77
  output: {
74
- authorization: types_1.RecoverableSignature.from(this._target.authorization.substring(40), types_1.PublicKeyHash.fromBech32(this._target.withdrawer).toBytes32()).toProtobuf(),
78
+ authorization: RecoverableSignature.from(this._target.authorization.substring(40), PublicKeyHash.fromBech32(this._target.withdrawer).toBytes32()).toProtobuf(),
75
79
  key: {
76
- validator: { hash: Array.from(types_1.PublicKeyHash.fromHexString(this._target.authorization.substring(0, 40)).toBytes20()) },
77
- withdrawer: { hash: Array.from(types_1.PublicKeyHash.fromBech32(this._target.withdrawer).toBytes20()) },
80
+ validator: {
81
+ hash: Array.from(PublicKeyHash.fromHexString(this._target.authorization.substring(0, 40)).toBytes20()),
82
+ },
83
+ withdrawer: {
84
+ hash: Array.from(PublicKeyHash.fromBech32(this._target.withdrawer).toBytes20()),
85
+ },
78
86
  },
79
87
  value: Long.fromValue(this._target.value.pedros),
80
88
  },
81
- ...(this._outputs.length > 0 ? { change: {
82
- pkh: { hash: Array.from(types_1.PublicKeyHash.fromBech32(this.outputs[0].pkh).toBytes20()) },
83
- value: Long.fromValue(this.outputs[0].value.toString()),
84
- // timeLock: 0,
85
- } } : { change: { pkh: { hash: Array(20).fill(0) } } }),
89
+ ...(this._outputs.length > 0
90
+ ? {
91
+ change: {
92
+ pkh: {
93
+ hash: Array.from(PublicKeyHash.fromBech32(this.outputs[0].pkh).toBytes20()),
94
+ },
95
+ value: Long.fromValue(this.outputs[0].value.toString()),
96
+ // timeLock: 0,
97
+ },
98
+ }
99
+ : { change: { pkh: { hash: Array(20).fill(0) } } }),
86
100
  };
87
101
  }
88
102
  }
89
103
  validateTarget(target) {
90
104
  target = this._cleanTargetExtras(target);
91
105
  if (target && Object.keys(target).length > 0) {
92
- if (!(target
93
- && target?.authorization
94
- && (!target?.fees
95
- || (target.fees instanceof types_1.Coins && target.fees.pedros > 0
96
- || Object.values(types_1.TransactionPriority).includes(target.fees)))
97
- && target?.value && target.value.pedros > 0
98
- && target?.withdrawer)) {
106
+ if (!(target?.authorization &&
107
+ (!target?.fees ||
108
+ (target.fees instanceof Coins &&
109
+ target.fees.pedros > 0) ||
110
+ Object.values(TransactionPriority).includes(target.fees)) &&
111
+ target?.value &&
112
+ target.value.pedros > 0 &&
113
+ target?.withdrawer)) {
99
114
  throw new TypeError(`${this.constructor.name}: invalid options: ${JSON.stringify(target)}`);
100
115
  }
101
116
  else {
102
117
  if (target.value.pedros < StakePayload.MIN_VALUE) {
103
- throw new TypeError(`${this.constructor.name}: value below minimum stake: ${target.value.wits} < ${types_1.Coins.fromNanowits(BigInt(StakePayload.MIN_VALUE)).wits} $WIT`);
118
+ throw new TypeError(`${this.constructor.name}: value below minimum stake: ${target.value.wits} < ${Coins.fromNanowits(BigInt(StakePayload.MIN_VALUE)).wits} $WIT`);
104
119
  }
105
- const pubKey = types_1.PublicKey.recoverFrom(target.authorization.substring(40), types_1.PublicKeyHash.fromBech32(target.withdrawer).toBytes32());
120
+ const pubKey = PublicKey.recoverFrom(target.authorization.substring(40), PublicKeyHash.fromBech32(target.withdrawer).toBytes32());
106
121
  if (pubKey.hash().toHexString() !== target.authorization.substring(0, 40)) {
107
122
  throw new TypeError(`${this.constructor.name}: authorization code not valid for withdrawer ${target.withdrawer}.`);
108
123
  }
@@ -115,28 +130,23 @@ class StakePayload extends payloads_1.TransactionPayloadMultiSig {
115
130
  }
116
131
  _cleanTargetExtras(target) {
117
132
  if (target) {
118
- return Object.fromEntries(Object.entries(target).filter(([key,]) => [
119
- 'authorization',
120
- 'fees',
121
- 'value',
122
- 'withdrawer',
123
- ].includes(key)));
133
+ return Object.fromEntries(Object.entries(target).filter(([key]) => ["authorization", "fees", "value", "withdrawer"].includes(key)));
124
134
  }
125
135
  }
126
- async _estimateNetworkFees(provider, priority = types_1.TransactionPriority.Medium) {
136
+ async _estimateNetworkFees(provider, priority = TransactionPriority.Medium) {
127
137
  if (!this._priorities) {
128
138
  this._priorities = await provider.priorities();
129
139
  }
130
140
  return BigInt(Math.floor(
131
141
  // todo: replace `vtt_` for `st_`
132
- this._priorities[`vtt_${priority}`].priority * (this.covered ? this.weight : this.weight
133
- // estimate one more input as to cover for network fees
134
- + TX_WEIGHT_INPUT_SIZE
135
- // estimate weight of one single output in case there was change to pay back
136
- + TX_WEIGHT_OUTPUT_SIZE)));
142
+ this._priorities[`vtt_${priority}`].priority *
143
+ (this.covered
144
+ ? this.weight
145
+ : this.weight +
146
+ // estimate one more input as to cover for network fees
147
+ TX_WEIGHT_INPUT_SIZE +
148
+ // estimate weight of one single output in case there was change to pay back
149
+ TX_WEIGHT_OUTPUT_SIZE)));
137
150
  }
138
151
  }
139
- exports.StakePayload = StakePayload;
140
- StakePayload.MAX_WEIGHT = 10000; // 10,000
141
- StakePayload.MIN_VALUE = 10000 * 10 ** 9; // 10,000.00 $WIT
142
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3Rha2VQYXlsb2FkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jcnlwdG8vcGF5bG9hZHMvU3Rha2VQYXlsb2FkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQTtBQUU1QixrREFBb0Q7QUFJcEQsMENBQXdEO0FBQ3hELG9DQVFpQjtBQVFqQixNQUFNLGNBQWMsR0FBRyxHQUFHLENBQUM7QUFDM0IsTUFBTSxvQkFBb0IsR0FBRyxHQUFHLENBQUM7QUFDakMsTUFBTSxxQkFBcUIsR0FBRyxFQUFFLENBQUM7QUFFakMsTUFBYSxZQUFhLFNBQVEscUNBQThDO0lBSzVFLFlBQWEsYUFBcUIsRUFBRSxLQUFXO1FBQzNDLEtBQUssQ0FBQyxhQUFhLEVBQUUsS0FBSyxDQUFDLENBQUE7SUFDL0IsQ0FBQztJQUVELElBQVcsU0FBUztRQUNoQixPQUFPLFlBQVksQ0FBQyxVQUFVLENBQUE7SUFDbEMsQ0FBQztJQUVELElBQVcsUUFBUTtRQUNmLE9BQU8sQ0FDSCxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU87ZUFDUCxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU07ZUFDMUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUNqQyxDQUFBO0lBQ0wsQ0FBQztJQUVELElBQVcsS0FBSztRQUNaLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLElBQUksYUFBSyxDQUFDLElBQUksRUFBRSxDQUFBO0lBQzlDLENBQUM7SUFFRCxJQUFXLE1BQU07UUFDYixPQUFPLENBQ0gsY0FBYztjQUNSLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLG9CQUFvQjtjQUMxQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxxQkFBcUIsQ0FDckQsQ0FBQztJQUNOLENB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QUFDO0lBQ0wsQ0FBQztJQUVTLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxRQUEwQixFQUFFLFFBQVEsR0FBRywyQkFBbUIsQ0FBQyxNQUFNO1FBQ2xHLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLFFBQVEsQ0FBQyxVQUFVLEVBQUUsQ0FBQTtRQUNsRCxDQUFDO1FBQ0QsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUs7UUFDcEIsaUNBQWlDO1FBQ2pDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxRQUFRLEVBQUUsQ0FBQyxDQUFDLFFBQVEsR0FBRyxDQUMzQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTTtZQUNwQyx1REFBdUQ7Y0FDckQsb0JBQW9CO1lBQ3RCLDRFQUE0RTtjQUMxRSxxQkFBcUIsQ0FDOUIsQ0FDSixDQUFDLENBQUM7SUFDUCxDQUFDOztBQWhMTCxvQ0FrTEM7QUFoTGlCLHVCQUFVLEdBQUcsS0FBSyxDQUFDLENBQVUsU0FBUztBQUN0QyxzQkFBUyxHQUFHLEtBQUssR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgTG9uZyA9IHJlcXVpcmUoXCJsb25nXCIpXHJcblxyXG5pbXBvcnQgeyBmcm9tSGV4U3RyaW5nIH0gZnJvbSBcIi4uLy4uLy4uL2Jpbi9oZWxwZXJzXCJcclxuXHJcbmltcG9ydCB7IEhleFN0cmluZywgSUpzb25ScGNQcm92aWRlciwgTmV0d29yayB9IGZyb20gXCIuLi8uLi90eXBlc1wiXHJcblxyXG5pbXBvcnQgeyBUcmFuc2FjdGlvblBheWxvYWRNdWx0aVNpZyB9IGZyb20gXCIuLi9wYXlsb2Fkc1wiXHJcbmltcG9ydCB7IFxyXG4gICAgQ29pbnMsXHJcbiAgICBQdWJsaWNLZXksIFxyXG4gICAgUHVibGljS2V5SGFzaCwgXHJcbiAgICBQdWJsaWNLZXlIYXNoU3RyaW5nLCBcclxuICAgIFJlY292ZXJhYmxlU2lnbmF0dXJlLCBcclxuICAgIFRyYW5zYWN0aW9uUGFyYW1zLCBcclxuICAgIFRyYW5zYWN0aW9uUHJpb3JpdHksXHJcbn0gZnJvbSBcIi4uL3R5cGVzXCJcclxuXHJcbmV4cG9ydCB0eXBlIFN0YWtlRGVwb3NpdFBhcmFtcyA9IFRyYW5zYWN0aW9uUGFyYW1zICYge1xyXG4gICAgYXV0aG9yaXphdGlvbjogSGV4U3RyaW5nLFxyXG4gICAgdmFsdWU6IENvaW5zLFxyXG4gICAgd2l0aGRyYXdlcjogUHVibGljS2V5SGFzaFN0cmluZyxcclxufVxyXG5cclxuY29uc3QgVFhfV0VJR0hUX0JBU0UgPSAxMDU7XHJcbmNvbnN0IFRYX1dFSUdIVF9JTlBVVF9TSVpFID0gMTMzO1xyXG5jb25zdCBUWF9XRUlHSFRfT1VUUFVUX1NJWkUgPSAzNjtcclxuXHJcbmV4cG9ydCBjbGFzcyBTdGFrZVBheWxvYWQgZXh0ZW5kcyBUcmFuc2FjdGlvblBheWxvYWRNdWx0aVNpZzxTdGFrZURlcG9zaXRQYXJhbXM+IHtcclxuXHJcbiAgICBwdWJsaWMgc3RhdGljIE1BWF9XRUlHSFQgPSAxMDAwMDsgICAgICAgICAgLy8gMTAsMDAwXHJcbiAgICBwdWJsaWMgc3RhdGljIE1JTl9WQUxVRSA9IDEwMDAwICogMTAgKiogOTsgLy8gMTAsMDAwLjAwICRXSVRcclxuXHJcbiAgICBjb25zdHJ1Y3RvciAocHJvdG9UeXBlTmFtZTogc3RyaW5nLCBzcGVjcz86IGFueSkge1xyXG4gICAgICAgIHN1cGVyKHByb3RvVHlwZU5hbWUsIHNwZWNzKVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgbWF4V2VpZ2h0KCk6IG51bWJlciB7XHJcbiAgICAgICAgcmV0dXJuIFN0YWtlUGF5bG9hZC5NQVhfV0VJR0hUXHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldCBwcmVwYXJlZCgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgICAhIXRoaXMuX3RhcmdldFxyXG4gICAgICAgICAgICAgICAgJiYgdGhpcy5fY292ZXJlZCA+PSB0aGlzLl90YXJnZXQudmFsdWUucGVkcm9zIFxyXG4gICAgICAgICAgICAgICAgJiYgdGhpcy5faW5wdXRzLmxlbmd0aCA+IDBcclxuICAgICAgICApXHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldCB2YWx1ZSgpOiBDb2lucyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3RhcmdldD8udmFsdWUgfHwgQ29pbnMuemVybygpXHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldCB3ZWlnaHQoKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgICBUWF9XRUlHSFRfQkFTRVxyXG4gICAgICAgICAgICAgICAgKyB0aGlzLl9pbnB1dHMubGVuZ3RoICogVFhfV0VJR0hUX0lOUFVUX1NJWkUgXHJcbiAgICAgICAgICAgICAgICArIHRoaXMuX291dHB1dHMubGVuZ3RoICogVFhfV0VJR0hUX09VVFBVVF9TSVpFIFxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGludG9SZWNlaXB0KHRhcmdldDogU3Rha2VEZXBvc2l0UGFyYW1zLCBuZXR3b3JrPzogTmV0d29yaykge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIGF1dGhvcml6YXRpb246IHRhcmdldC5hdXRob3JpemF0aW9uLFxyXG4gICAgICAgICAgICB3aXRoZHJhd2VyOiB0YXJnZXQud2l0aGRyYXdlcixcclxuICAgICAgICAgICAgdmFsaWRhdG9yOiBQdWJsaWNLZXlIYXNoLmZyb21IZXhTdHJpbmcodGFyZ2V0LmF1dGhvcml6YXRpb24uc3Vic3RyaW5nKDAsIDQwKSkudG9CZWNoMzIobmV0d29yayksXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyB0b0pTT04oX2h1bWFuaXplID0gZmFsc2UsIG5ldHdvcms/OiBOZXR3b3JrKTogYW55IHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBpbnB1dHM6IHRoaXMuaW5wdXRzXHJcbiAgICAgICAgICAgICAgICAubWFwKHV0eG8gPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7IG91dHB1dF9wb2ludGVyOiB1dHhvLm91dHB1dF9wb2ludGVyIH1cclxuICAgICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICAuLi4oXHJcbiAgICAgICAgICAgICAgICB0aGlzLl90YXJnZXQgPyB7IG91dHB1dDoge1xyXG4gICAgICAgICAgICAgICAgICAgIGF1dGhvcml6YXRpb246IFJlY292ZXJhYmxlU2lnbmF0dXJlLmZyb20oXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl90YXJnZXQuYXV0aG9yaXphdGlvbi5zdWJzdHJpbmcoNDApLCBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB1YmxpY0tleUhhc2guZnJvbUJlY2gzMih0aGlzLl90YXJnZXQud2l0aGRyYXdlcikudG9CeXRlczMyKClcclxuICAgICAgICAgICAgICAgICAgICAgICAgKS50b0tleWVkU2lnbmF0dXJlKCksXHJcbiAgICAgICAgICAgICAgICAgICAga2V5OiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkYXRvcjogUHVibGljS2V5SGFzaC5mcm9tSGV4U3RyaW5nKHRoaXMuX3RhcmdldC5hdXRob3JpemF0aW9uLnN1YnN0cmluZygwLCA0MCkpLnRvQmVjaDMyKG5ldHdvcmspLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aXRoZHJhd2VyOiB0aGlzLl90YXJnZXQud2l0aGRyYXdlcixcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiB0aGlzLl90YXJnZXQudmFsdWUucGVkcm9zLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgICAgICB9fSA6IHt9XHJcbiAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgIC4uLihcclxuICAgICAgICAgICAgICAgIHRoaXMub3V0cHV0cy5sZW5ndGggPiAwID8geyBjaGFuZ2U6IHtcclxuICAgICAgICAgICAgICAgICAgICBwa2g6IHRoaXMub3V0cHV0c1swXS5wa2gsXHJcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHRoaXMub3V0cHV0c1swXS52YWx1ZS50b1N0cmluZygpLFxyXG4gICAgICAgICAgICAgICAgICAgIHRpbWVfbG9jazogMCxcclxuICAgICAgICAgICAgICAgIH19IDoge31cclxuICAgICAgICAgICAgKSxcclxuICAgICAgICB9XHJcbiAgICB9ICAgXHJcblxyXG4gICAgcHVibGljIHRvUHJvdG9idWYoKTogYW55IHtcclxuICAgICAgICBpZiAodGhpcy5wcmVwYXJlZCAmJiB0aGlzLl90YXJnZXQpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHsgICAgXHJcbiAgICAgICAgICAgICAgICBpbnB1dHM6IHRoaXMuaW5wdXRzXHJcbiAgICAgICAgICAgICAgICAgICAgLm1hcCh1dHhvID0+IHsgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHRyYW5zYWN0aW9uSWQgPSB1dHhvLm91dHB1dF9wb2ludGVyLnNwbGl0KCc6JylbMF1cclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgb3V0cHV0SW5kZXggPSBwYXJzZUludCh1dHhvLm91dHB1dF9wb2ludGVyLnNwbGl0KCc6JylbMV0pXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdXRwdXRQb2ludGVyOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNhY3Rpb25JZDogeyBTSEEyNTY6IEFycmF5LmZyb20oZnJvbUhleFN0cmluZyh0cmFuc2FjdGlvbklkKSkgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi4ob3V0cHV0SW5kZXggPiAwID8geyBvdXRwdXRJbmRleCB9IDoge30pLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICAgICAgb3V0cHV0OiB7XHJcbiAgICAgICAgICAgICAgICAgICAgYXV0aG9yaXphdGlvbjogUmVjb3ZlcmFibGVTaWduYXR1cmUuZnJvbShcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX3RhcmdldC5hdXRob3JpemF0aW9uLnN1YnN0cmluZyg0MCksIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgUHVibGljS2V5SGFzaC5mcm9tQmVjaDMyKHRoaXMuX3RhcmdldC53aXRoZHJhd2VyKS50b0J5dGVzMzIoKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICApLnRvUHJvdG9idWYoKSxcclxuICAgICAgICAgICAgICAgICAgICBrZXk6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsaWRhdG9yOiB7IGhhc2g6IEFycmF5LmZyb20oUHVibGljS2V5SGFzaC5mcm9tSGV4U3RyaW5nKHRoaXMuX3RhcmdldC5hdXRob3JpemF0aW9uLnN1YnN0cmluZygwLCA0MCkpLnRvQnl0ZXMyMCgpKSB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aXRoZHJhd2VyOiB7IGhhc2g6IEFycmF5LmZyb20oUHVibGljS2V5SGFzaC5mcm9tQmVjaDMyKHRoaXMuX3RhcmdldC53aXRoZHJhd2VyKS50b0J5dGVzMjAoKSkgfSxcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBMb25nLmZyb21WYWx1ZSh0aGlzLl90YXJnZXQudmFsdWUucGVkcm9zKSxcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAuLi4oXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fb3V0cHV0cy5sZW5ndGggPiAwID8geyBjaGFuZ2UgOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBraDogeyBoYXNoOiBBcnJheS5mcm9tKFB1YmxpY0tleUhhc2guZnJvbUJlY2gzMih0aGlzLm91dHB1dHNbMF0ucGtoKS50b0J5dGVzMjAoKSkgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IExvbmcuZnJvbVZhbHVlKHRoaXMub3V0cHV0c1swXS52YWx1ZS50b1N0cmluZygpKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gdGltZUxvY2s6IDAsXHJcbiAgICAgICAgICAgICAgICAgICAgfX0gOiB7IGNoYW5nZTogeyBwa2g6IHsgaGFzaDogQXJyYXkoMjApLmZpbGwoMCkgfX19XHJcbiAgICAgICAgICAgICAgICApLFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyB2YWxpZGF0ZVRhcmdldCh0YXJnZXQ/OiBhbnkpOiBTdGFrZURlcG9zaXRQYXJhbXMgfCB1bmRlZmluZWQge1xyXG4gICAgICAgIHRhcmdldCA9IHRoaXMuX2NsZWFuVGFyZ2V0RXh0cmFzKHRhcmdldClcclxuICAgICAgICBpZiAodGFyZ2V0ICYmIE9iamVjdC5rZXlzKHRhcmdldCkubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICBpZiAoIShcclxuICAgICAgICAgICAgICAgIHRhcmdldFxyXG4gICAgICAgICAgICAgICAgICAgICYmIHRhcmdldD8uYXV0aG9yaXphdGlvblxyXG4gICAgICAgICAgICAgICAgICAgICYmIChcclxuICAgICAgICAgICAgICAgICAgICAgICAgIXRhcmdldD8uZmVlcyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgfHwgKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0LmZlZXMgaW5zdGFuY2VvZiBDb2lucyAmJiAodGFyZ2V0LmZlZXMgYXMgQ29pbnMpLnBlZHJvcyA+IDAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB8fCBPYmplY3QudmFsdWVzKFRyYW5zYWN0aW9uUHJpb3JpdHkpLmluY2x1ZGVzKHRhcmdldC5mZWVzKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAgICAgICAgICYmIHRhcmdldD8udmFsdWUgJiYgKHRhcmdldC52YWx1ZSBhcyBDb2lucykucGVkcm9zID4gMFxyXG4gICAgICAgICAgICAgICAgICAgICYmIHRhcmdldD8ud2l0aGRyYXdlclxyXG4gICAgICAgICAgICApKSB7XHJcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKGAke3RoaXMuY29uc3RydWN0b3IubmFtZX06IGludmFsaWQgb3B0aW9uczogJHtKU09OLnN0cmluZ2lmeSh0YXJnZXQpfWApXHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoKHRhcmdldC52YWx1ZSBhcyBDb2lucykucGVkcm9zIDwgU3Rha2VQYXlsb2FkLk1JTl9WQUxVRSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGAke3RoaXMuY29uc3RydWN0b3IubmFtZX06IHZhbHVlIGJlbG93IG1pbmltdW0gc3Rha2U6ICR7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAodGFyZ2V0LnZhbHVlIGFzIENvaW5zKS53aXRzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gPCAke1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29pbnMuZnJvbU5hbm93aXRzKEJpZ0ludChTdGFrZVBheWxvYWQuTUlOX1ZBTFVFKSkud2l0c1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9ICRXSVRgXHJcbiAgICAgICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGNvbnN0IHB1YktleSA9IFB1YmxpY0tleS5yZWNvdmVyRnJvbShcclxuICAgICAgICAgICAgICAgICAgICB0YXJnZXQuYXV0aG9yaXphdGlvbi5zdWJzdHJpbmcoNDApLFxyXG4gICAgICAgICAgICAgICAgICAgIFB1YmxpY0tleUhhc2guZnJvbUJlY2gzMih0YXJnZXQud2l0aGRyYXdlcikudG9CeXRlczMyKClcclxuICAgICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgICAgIGlmIChwdWJLZXkuaGFzaCgpLnRvSGV4U3RyaW5nKCkgIT09IHRhcmdldC5hdXRob3JpemF0aW9uLnN1YnN0cmluZygwLCA0MCkpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBgJHt0aGlzLmNvbnN0cnVjdG9yLm5hbWV9OiBhdXRob3JpemF0aW9uIGNvZGUgbm90IHZhbGlkIGZvciB3aXRoZHJhd2VyICR7dGFyZ2V0LndpdGhkcmF3ZXJ9LmBcclxuICAgICAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGFyZ2V0IGFzIFN0YWtlRGVwb3NpdFBhcmFtc1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgX2NsZWFuVGFyZ2V0RXh0cmFzKHRhcmdldD86IGFueSk6IGFueSB7XHJcbiAgICAgICAgaWYgKHRhcmdldCkge1xyXG4gICAgICAgICAgICByZXR1cm4gT2JqZWN0LmZyb21FbnRyaWVzKFxyXG4gICAgICAgICAgICAgICAgT2JqZWN0LmVudHJpZXModGFyZ2V0KS5maWx0ZXIoKFtrZXksXSkgPT4gW1xyXG4gICAgICAgICAgICAgICAgICAgICdhdXRob3JpemF0aW9uJyxcclxuICAgICAgICAgICAgICAgICAgICAnZmVlcycsXHJcbiAgICAgICAgICAgICAgICAgICAgJ3ZhbHVlJyxcclxuICAgICAgICAgICAgICAgICAgICAnd2l0aGRyYXdlcicsXHJcbiAgICAgICAgICAgICAgICBdLmluY2x1ZGVzKGtleSkpXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGFzeW5jIF9lc3RpbWF0ZU5ldHdvcmtGZWVzKHByb3ZpZGVyOiBJSnNvblJwY1Byb3ZpZGVyLCBwcmlvcml0eSA9IFRyYW5zYWN0aW9uUHJpb3JpdHkuTWVkaXVtKTogUHJvbWlzZTxiaWdpbnQ+IHtcclxuICAgICAgICBpZiAoIXRoaXMuX3ByaW9yaXRpZXMpIHtcclxuICAgICAgICAgICAgdGhpcy5fcHJpb3JpdGllcyA9IGF3YWl0IHByb3ZpZGVyLnByaW9yaXRpZXMoKVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gQmlnSW50KE1hdGguZmxvb3IoXHJcbiAgICAgICAgICAgIC8vIHRvZG86IHJlcGxhY2UgYHZ0dF9gIGZvciBgc3RfYFxyXG4gICAgICAgICAgICB0aGlzLl9wcmlvcml0aWVzW2B2dHRfJHtwcmlvcml0eX1gXS5wcmlvcml0eSAqIChcclxuICAgICAgICAgICAgICAgIHRoaXMuY292ZXJlZCA/IHRoaXMud2VpZ2h0IDogdGhpcy53ZWlnaHRcclxuICAgICAgICAgICAgICAgICAgICAvLyBlc3RpbWF0ZSBvbmUgbW9yZSBpbnB1dCBhcyB0byBjb3ZlciBmb3IgbmV0d29yayBmZWVzXHJcbiAgICAgICAgICAgICAgICAgICAgKyBUWF9XRUlHSFRfSU5QVVRfU0laRSBcclxuICAgICAgICAgICAgICAgICAgICAvLyBlc3RpbWF0ZSB3ZWlnaHQgb2Ygb25lIHNpbmdsZSBvdXRwdXQgaW4gY2FzZSB0aGVyZSB3YXMgY2hhbmdlIHRvIHBheSBiYWNrXHJcbiAgICAgICAgICAgICAgICAgICAgKyBUWF9XRUlHSFRfT1VUUFVUX1NJWkUgXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICApKTtcclxuICAgIH1cclxuXHJcbn1cclxuIl19
152
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3Rha2VQYXlsb2FkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jcnlwdG8vcGF5bG9hZHMvU3Rha2VQYXlsb2FkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUV4QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFJeEQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUQsT0FBTyxFQUNOLEtBQUssRUFDTCxTQUFTLEVBQ1QsYUFBYSxFQUViLG9CQUFvQixFQUVwQixtQkFBbUIsR0FDbkIsTUFBTSxhQUFhLENBQUM7QUFRckIsTUFBTSxjQUFjLEdBQUcsR0FBRyxDQUFDO0FBQzNCLE1BQU0sb0JBQW9CLEdBQUcsR0FBRyxDQUFDO0FBQ2pDLE1BQU0scUJBQXFCLEdBQUcsRUFBRSxDQUFDO0FBRWpDLE1BQU0sT0FBTyxZQUFhLFNBQVEsMEJBQThDO0lBQ3hFLE1BQU0sQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLENBQUMsU0FBUztJQUNwQyxNQUFNLENBQUMsU0FBUyxHQUFHLEtBQUssR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsaUJBQWlCO0lBRTVELElBQVcsU0FBUztRQUNuQixPQUFPLFlBQVksQ0FBQyxVQUFVLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQVcsUUFBUTtRQUNsQixPQUFPLENBQ04sQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPO1lBQ2QsSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxNQUFNO1lBQzFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FDdkIsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFXLEtBQUs7UUFDZixPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxJQUFJLEtBQUssQ0FBQyxJQUFJ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LENBQ3hCLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLENBQ3ZDLENBQUMsZUFBZSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsWUFBWSxDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUM5RCxDQUNELENBQUM7UUFDSCxDQUFDO0lBQ0YsQ0FBQztJQUVTLEtBQUssQ0FBQyxvQkFBb0IsQ0FDbkMsUUFBMEIsRUFDMUIsUUFBUSxHQUFHLG1CQUFtQixDQUFDLE1BQU07UUFFckMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsV0FBVyxHQUFHLE1BQU0sUUFBUSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2hELENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FDWixJQUFJLENBQUMsS0FBSztRQUNULGlDQUFpQztRQUNqQyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sUUFBUSxFQUFFLENBQUMsQ0FBQyxRQUFRO1lBQzNDLENBQUMsSUFBSSxDQUFDLE9BQU87Z0JBQ1osQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNO2dCQUNiLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTTtvQkFDWix1REFBdUQ7b0JBQ3ZELG9CQUFvQjtvQkFDcEIsNEVBQTRFO29CQUM1RSxxQkFBcUIsQ0FBQyxDQUN6QixDQUNELENBQUM7SUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IExvbmcgZnJvbSBcImxvbmdcIjtcclxuXHJcbmltcG9ydCB7IGZyb21IZXhTdHJpbmcgfSBmcm9tIFwiLi4vLi4vLi4vYmluL2hlbHBlcnMuanNcIjtcclxuXHJcbmltcG9ydCB0eXBlIHsgSGV4U3RyaW5nLCBJSnNvblJwY1Byb3ZpZGVyLCBOZXR3b3JrIH0gZnJvbSBcIi4uLy4uL3R5cGVzLmpzXCI7XHJcblxyXG5pbXBvcnQgeyBUcmFuc2FjdGlvblBheWxvYWRNdWx0aVNpZyB9IGZyb20gXCIuLi9wYXlsb2Fkcy5qc1wiO1xyXG5pbXBvcnQge1xyXG5cdENvaW5zLFxyXG5cdFB1YmxpY0tleSxcclxuXHRQdWJsaWNLZXlIYXNoLFxyXG5cdHR5cGUgUHVibGljS2V5SGFzaFN0cmluZyxcclxuXHRSZWNvdmVyYWJsZVNpZ25hdHVyZSxcclxuXHR0eXBlIFRyYW5zYWN0aW9uUGFyYW1zLFxyXG5cdFRyYW5zYWN0aW9uUHJpb3JpdHksXHJcbn0gZnJvbSBcIi4uL3R5cGVzLmpzXCI7XHJcblxyXG5leHBvcnQgdHlwZSBTdGFrZURlcG9zaXRQYXJhbXMgPSBUcmFuc2FjdGlvblBhcmFtcyAmIHtcclxuXHRhdXRob3JpemF0aW9uOiBIZXhTdHJpbmc7XHJcblx0dmFsdWU6IENvaW5zO1xyXG5cdHdpdGhkcmF3ZXI6IFB1YmxpY0tleUhhc2hTdHJpbmc7XHJcbn07XHJcblxyXG5jb25zdCBUWF9XRUlHSFRfQkFTRSA9IDEwNTtcclxuY29uc3QgVFhfV0VJR0hUX0lOUFVUX1NJWkUgPSAxMzM7XHJcbmNvbnN0IFRYX1dFSUdIVF9PVVRQVVRfU0laRSA9IDM2O1xyXG5cclxuZXhwb3J0IGNsYXNzIFN0YWtlUGF5bG9hZCBleHRlbmRzIFRyYW5zYWN0aW9uUGF5bG9hZE11bHRpU2lnPFN0YWtlRGVwb3NpdFBhcmFtcz4ge1xyXG5cdHB1YmxpYyBzdGF0aWMgTUFYX1dFSUdIVCA9IDEwMDAwOyAvLyAxMCwwMDBcclxuXHRwdWJsaWMgc3RhdGljIE1JTl9WQUxVRSA9IDEwMDAwICogMTAgKiogOTsgLy8gMTAsMDAwLjAwICRXSVRcclxuXHJcblx0cHVibGljIGdldCBtYXhXZWlnaHQoKTogbnVtYmVyIHtcclxuXHRcdHJldHVybiBTdGFrZVBheWxvYWQuTUFYX1dFSUdIVDtcclxuXHR9XHJcblxyXG5cdHB1YmxpYyBnZXQgcHJlcGFyZWQoKTogYm9vbGVhbiB7XHJcblx0XHRyZXR1cm4gKFxyXG5cdFx0XHQhIXRoaXMuX3RhcmdldCAmJlxyXG5cdFx0XHR0aGlzLl9jb3ZlcmVkID49IHRoaXMuX3RhcmdldC52YWx1ZS5wZWRyb3MgJiZcclxuXHRcdFx0dGhpcy5faW5wdXRzLmxlbmd0aCA+IDBcclxuXHRcdCk7XHJcblx0fVxyXG5cclxuXHRwdWJsaWMgZ2V0IHZhbHVlKCk6IENvaW5zIHtcclxuXHRcdHJldHVybiB0aGlzLl90YXJnZXQ/LnZhbHVlIHx8IENvaW5zLnplcm8oKTtcclxuXHR9XHJcblxyXG5cdHB1YmxpYyBnZXQgd2VpZ2h0KCk6IG51bWJlciB7XHJcblx0XHRyZXR1cm4gKFxyXG5cdFx0XHRUWF9XRUlHSFRfQkFTRSArXHJcblx0XHRcdHRoaXMuX2lucHV0cy5sZW5ndGggKiBUWF9XRUlHSFRfSU5QVVRfU0laRSArXHJcblx0XHRcdHRoaXMuX291dHB1dHMubGVuZ3RoICogVFhfV0VJR0hUX09VVFBVVF9TSVpFXHJcblx0XHQpO1xyXG5cdH1cclxuXHJcblx0cHVibGljIGludG9SZWNlaXB0KHRhcmdldDogU3Rha2VEZXBvc2l0UGFyYW1zLCBuZXR3b3JrPzogTmV0d29yaykge1xyXG5cdFx0cmV0dXJuIHtcclxuXHRcdFx0YXV0aG9yaXphdGlvbjogdGFyZ2V0LmF1dGhvcml6YXRpb24sXHJcblx0XHRcdHdpdGhkcmF3ZXI6IHRhcmdldC53aXRoZHJhd2VyLFxyXG5cdFx0XHR2YWxpZGF0b3I6IFB1YmxpY0tleUhhc2guZnJvbUhleFN0cmluZyhcclxuXHRcdFx0XHR0YXJnZXQuYXV0aG9yaXphdGlvbi5zdWJzdHJpbmcoMCwgNDApLFxyXG5cdFx0XHQpLnRvQmVjaDMyKG5ldHdvcmspLFxyXG5cdFx0fTtcclxuXHR9XHJcblxyXG5cdHB1YmxpYyB0b0pTT04oX2h1bWFuaXplID0gZmFsc2UsIG5ldHdvcms/OiBOZXR3b3JrKTogYW55IHtcclxuXHRcdHJldHVybiB7XHJcblx0XHRcdGlucHV0czogdGhpcy5pbnB1dHMubWFwKCh1dHhvKSA9PiB7XHJcblx0XHRcdFx0cmV0dXJuIHsgb3V0cHV0X3BvaW50ZXI6IHV0eG8ub3V0cHV0X3BvaW50ZXIgfTtcclxuXHRcdFx0fSksXHJcblx0XHRcdC4uLih0aGlzLl90YXJnZXRcclxuXHRcdFx0XHQ/IHtcclxuXHRcdFx0XHRcdFx0b3V0cHV0OiB7XHJcblx0XHRcdFx0XHRcdFx0YXV0aG9yaXphdGlvbjogUmVjb3ZlcmFibGVTaWduYXR1cmUuZnJvbShcclxuXHRcdFx0XHRcdFx0XHRcdHRoaXMuX3RhcmdldC5hdXRob3JpemF0aW9uLnN1YnN0cmluZyg0MCksXHJcblx0XHRcdFx0XHRcdFx0XHRQdWJsaWNLZXlIYXNoLmZyb21CZWNoMzIodGhpcy5fdGFyZ2V0LndpdGhkcmF3ZXIpLnRvQnl0ZXMzMigpLFxyXG5cdFx0XHRcdFx0XHRcdCkudG9LZXllZFNpZ25hdHVyZSgpLFxyXG5cdFx0XHRcdFx0XHRcdGtleToge1xyXG5cdFx0XHRcdFx0XHRcdFx0dmFsaWRhdG9yOiBQdWJsaWNLZXlIYXNoLmZyb21IZXhTdHJpbmcoXHJcblx0XHRcdFx0XHRcdFx0XHRcdHRoaXMuX3RhcmdldC5hdXRob3JpemF0aW9uLnN1YnN0cmluZygwLCA0MCksXHJcblx0XHRcdFx0XHRcdFx0XHQpLnRvQmVjaDMyKG5ldHdvcmspLFxyXG5cdFx0XHRcdFx0XHRcdFx0d2l0aGRyYXdlcjogdGhpcy5fdGFyZ2V0LndpdGhkcmF3ZXIsXHJcblx0XHRcdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdFx0XHR2YWx1ZTogdGhpcy5fdGFyZ2V0LnZhbHVlLnBlZHJvcy50b1N0cmluZygpLFxyXG5cdFx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdDoge30pLFxyXG5cdFx0XHQuLi4odGhpcy5vdXRwdXRzLmxlbmd0aCA+IDBcclxuXHRcdFx0XHQ/IHtcclxuXHRcdFx0XHRcdFx0Y2hhbmdlOiB7XHJcblx0XHRcdFx0XHRcdFx0cGtoOiB0aGlzLm91dHB1dHNbMF0ucGtoLFxyXG5cdFx0XHRcdFx0XHRcdHZhbHVlOiB0aGlzLm91dHB1dHNbMF0udmFsdWUudG9TdHJpbmcoKSxcclxuXHRcdFx0XHRcdFx0XHR0aW1lX2xvY2s6IDAsXHJcblx0XHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0OiB7fSksXHJcblx0XHR9O1xyXG5cdH1cclxuXHJcblx0cHVibGljIHRvUHJvdG9idWYoKTogYW55IHtcclxuXHRcdGlmICh0aGlzLnByZXBhcmVkICYmIHRoaXMuX3RhcmdldCkge1xyXG5cdFx0XHRyZXR1cm4ge1xyXG5cdFx0XHRcdGlucHV0czogdGhpcy5pbnB1dHMubWFwKCh1dHhvKSA9PiB7XHJcblx0XHRcdFx0XHRjb25zdCB0cmFuc2FjdGlvbklkID0gdXR4by5vdXRwdXRfcG9pbnRlci5zcGxpdChcIjpcIilbMF07XHJcblx0XHRcdFx0XHRjb25zdCBvdXRwdXRJbmRleCA9IHBhcnNlSW50KHV0eG8ub3V0cHV0X3BvaW50ZXIuc3BsaXQoXCI6XCIpWzFdLCAxMCk7XHJcblx0XHRcdFx0XHRyZXR1cm4ge1xyXG5cdFx0XHRcdFx0XHRvdXRwdXRQb2ludGVyOiB7XHJcblx0XHRcdFx0XHRcdFx0dHJhbnNhY3Rpb25JZDoge1xyXG5cdFx0XHRcdFx0XHRcdFx0U0hBMjU2OiBBcnJheS5mcm9tKGZyb21IZXhTdHJpbmcodHJhbnNhY3Rpb25JZCkpLFxyXG5cdFx0XHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRcdFx0Li4uKG91dHB1dEluZGV4ID4gMCA/IHsgb3V0cHV0SW5kZXggfSA6IHt9KSxcclxuXHRcdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdH07XHJcblx0XHRcdFx0fSksXHJcblx0XHRcdFx0b3V0cHV0OiB7XHJcblx0XHRcdFx0XHRhdXRob3JpemF0aW9uOiBSZWNvdmVyYWJsZVNpZ25hdHVyZS5mcm9tKFxyXG5cdFx0XHRcdFx0XHR0aGlzLl90YXJnZXQuYXV0aG9yaXphdGlvbi5zdWJzdHJpbmcoNDApLFxyXG5cdFx0XHRcdFx0XHRQdWJsaWNLZXlIYXNoLmZyb21CZWNoMzIodGhpcy5fdGFyZ2V0LndpdGhkcmF3ZXIpLnRvQnl0ZXMzMigpLFxyXG5cdFx0XHRcdFx0KS50b1Byb3RvYnVmKCksXHJcblx0XHRcdFx0XHRrZXk6IHtcclxuXHRcdFx0XHRcdFx0dmFsaWRhdG9yOiB7XHJcblx0XHRcdFx0XHRcdFx0aGFzaDogQXJyYXkuZnJvbShcclxuXHRcdFx0XHRcdFx0XHRcdFB1YmxpY0tleUhhc2guZnJvbUhleFN0cmluZyhcclxuXHRcdFx0XHRcdFx0XHRcdFx0dGhpcy5fdGFyZ2V0LmF1dGhvcml6YXRpb24uc3Vic3RyaW5nKDAsIDQwKSxcclxuXHRcdFx0XHRcdFx0XHRcdCkudG9CeXRlczIwKCksXHJcblx0XHRcdFx0XHRcdFx0KSxcclxuXHRcdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdFx0d2l0aGRyYXdlcjoge1xyXG5cdFx0XHRcdFx0XHRcdGhhc2g6IEFycmF5LmZyb20oXHJcblx0XHRcdFx0XHRcdFx0XHRQdWJsaWNLZXlIYXNoLmZyb21CZWNoMzIodGhpcy5fdGFyZ2V0LndpdGhkcmF3ZXIpLnRvQnl0ZXMyMCgpLFxyXG5cdFx0XHRcdFx0XHRcdCksXHJcblx0XHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0dmFsdWU6IExvbmcuZnJvbVZhbHVlKHRoaXMuX3RhcmdldC52YWx1ZS5wZWRyb3MpLFxyXG5cdFx0XHRcdH0sXHJcblx0XHRcdFx0Li4uKHRoaXMuX291dHB1dHMubGVuZ3RoID4gMFxyXG5cdFx0XHRcdFx0PyB7XHJcblx0XHRcdFx0XHRcdFx0Y2hhbmdlOiB7XHJcblx0XHRcdFx0XHRcdFx0XHRwa2g6IHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0aGFzaDogQXJyYXkuZnJvbShcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRQdWJsaWNLZXlIYXNoLmZyb21CZWNoMzIodGhpcy5vdXRwdXRzWzBdLnBraCkudG9CeXRlczIwKCksXHJcblx0XHRcdFx0XHRcdFx0XHRcdCksXHJcblx0XHRcdFx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0XHRcdFx0dmFsdWU6IExvbmcuZnJvbVZhbHVlKHRoaXMub3V0cHV0c1swXS52YWx1ZS50b1N0cmluZygpKSxcclxuXHRcdFx0XHRcdFx0XHRcdC8vIHRpbWVMb2NrOiAwLFxyXG5cdFx0XHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdDogeyBjaGFuZ2U6IHsgcGtoOiB7IGhhc2g6IEFycmF5KDIwKS5maWxsKDApIH0gfSB9KSxcclxuXHRcdFx0fTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdHB1YmxpYyB2YWxpZGF0ZVRhcmdldCh0YXJnZXQ/OiBhbnkpOiBTdGFrZURlcG9zaXRQYXJhbXMgfCB1bmRlZmluZWQge1xyXG5cdFx0dGFyZ2V0ID0gdGhpcy5fY2xlYW5UYXJnZXRFeHRyYXModGFyZ2V0KTtcclxuXHRcdGlmICh0YXJnZXQgJiYgT2JqZWN0LmtleXModGFyZ2V0KS5sZW5ndGggPiAwKSB7XHJcblx0XHRcdGlmIChcclxuXHRcdFx0XHQhKFxyXG5cdFx0XHRcdFx0dGFyZ2V0Py5hdXRob3JpemF0aW9uICYmXHJcblx0XHRcdFx0XHQoIXRhcmdldD8uZmVlcyB8fFxyXG5cdFx0XHRcdFx0XHQodGFyZ2V0LmZlZXMgaW5zdGFuY2VvZiBDb2lucyAmJlxyXG5cdFx0XHRcdFx0XHRcdCh0YXJnZXQuZmVlcyBhcyBDb2lucykucGVkcm9zID4gMCkgfHxcclxuXHRcdFx0XHRcdFx0T2JqZWN0LnZhbHVlcyhUcmFuc2FjdGlvblByaW9yaXR5KS5pbmNsdWRlcyh0YXJnZXQuZmVlcykpICYmXHJcblx0XHRcdFx0XHR0YXJnZXQ/LnZhbHVlICYmXHJcblx0XHRcdFx0XHQodGFyZ2V0LnZhbHVlIGFzIENvaW5zKS5wZWRyb3MgPiAwICYmXHJcblx0XHRcdFx0XHR0YXJnZXQ/LndpdGhkcmF3ZXJcclxuXHRcdFx0XHQpXHJcblx0XHRcdCkge1xyXG5cdFx0XHRcdHRocm93IG5ldyBUeXBlRXJyb3IoXHJcblx0XHRcdFx0XHRgJHt0aGlzLmNvbnN0cnVjdG9yLm5hbWV9OiBpbnZhbGlkIG9wdGlvbnM6ICR7SlNPTi5zdHJpbmdpZnkodGFyZ2V0KX1gLFxyXG5cdFx0XHRcdCk7XHJcblx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0aWYgKCh0YXJnZXQudmFsdWUgYXMgQ29pbnMpLnBlZHJvcyA8IFN0YWtlUGF5bG9hZC5NSU5fVkFMVUUpIHtcclxuXHRcdFx0XHRcdHRocm93IG5ldyBUeXBlRXJyb3IoXHJcblx0XHRcdFx0XHRcdGAke3RoaXMuY29uc3RydWN0b3IubmFtZX06IHZhbHVlIGJlbG93IG1pbmltdW0gc3Rha2U6ICR7XHJcblx0XHRcdFx0XHRcdFx0KHRhcmdldC52YWx1ZSBhcyBDb2lucykud2l0c1xyXG5cdFx0XHRcdFx0XHR9IDwgJHtcclxuXHRcdFx0XHRcdFx0XHRDb2lucy5mcm9tTmFub3dpdHMoQmlnSW50KFN0YWtlUGF5bG9hZC5NSU5fVkFMVUUpKS53aXRzXHJcblx0XHRcdFx0XHRcdH0gJFdJVGAsXHJcblx0XHRcdFx0XHQpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRjb25zdCBwdWJLZXkgPSBQdWJsaWNLZXkucmVjb3ZlckZyb20oXHJcblx0XHRcdFx0XHR0YXJnZXQuYXV0aG9yaXphdGlvbi5zdWJzdHJpbmcoNDApLFxyXG5cdFx0XHRcdFx0UHVibGljS2V5SGFzaC5mcm9tQmVjaDMyKHRhcmdldC53aXRoZHJhd2VyKS50b0J5dGVzMzIoKSxcclxuXHRcdFx0XHQpO1xyXG5cdFx0XHRcdGlmIChcclxuXHRcdFx0XHRcdHB1YktleS5oYXNoKCkudG9IZXhTdHJpbmcoKSAhPT0gdGFyZ2V0LmF1dGhvcml6YXRpb24uc3Vic3RyaW5nKDAsIDQwKVxyXG5cdFx0XHRcdCkge1xyXG5cdFx0XHRcdFx0dGhyb3cgbmV3IFR5cGVFcnJvcihcclxuXHRcdFx0XHRcdFx0YCR7dGhpcy5jb25zdHJ1Y3Rvci5uYW1lfTogYXV0aG9yaXphdGlvbiBjb2RlIG5vdCB2YWxpZCBmb3Igd2l0aGRyYXdlciAke3RhcmdldC53aXRoZHJhd2VyfS5gLFxyXG5cdFx0XHRcdFx0KTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0cmV0dXJuIHRhcmdldCBhcyBTdGFrZURlcG9zaXRQYXJhbXM7XHJcblx0XHRcdH1cclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdHJldHVybiB1bmRlZmluZWQ7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRwcm90ZWN0ZWQgX2NsZWFuVGFyZ2V0RXh0cmFzKHRhcmdldD86IGFueSk6IGFueSB7XHJcblx0XHRpZiAodGFyZ2V0KSB7XHJcblx0XHRcdHJldHVybiBPYmplY3QuZnJvbUVudHJpZXMoXHJcblx0XHRcdFx0T2JqZWN0LmVudHJpZXModGFyZ2V0KS5maWx0ZXIoKFtrZXldKSA9PlxyXG5cdFx0XHRcdFx0W1wiYXV0aG9yaXphdGlvblwiLCBcImZlZXNcIiwgXCJ2YWx1ZVwiLCBcIndpdGhkcmF3ZXJcIl0uaW5jbHVkZXMoa2V5KSxcclxuXHRcdFx0XHQpLFxyXG5cdFx0XHQpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0cHJvdGVjdGVkIGFzeW5jIF9lc3RpbWF0ZU5ldHdvcmtGZWVzKFxyXG5cdFx0cHJvdmlkZXI6IElKc29uUnBjUHJvdmlkZXIsXHJcblx0XHRwcmlvcml0eSA9IFRyYW5zYWN0aW9uUHJpb3JpdHkuTWVkaXVtLFxyXG5cdCk6IFByb21pc2U8YmlnaW50PiB7XHJcblx0XHRpZiAoIXRoaXMuX3ByaW9yaXRpZXMpIHtcclxuXHRcdFx0dGhpcy5fcHJpb3JpdGllcyA9IGF3YWl0IHByb3ZpZGVyLnByaW9yaXRpZXMoKTtcclxuXHRcdH1cclxuXHRcdHJldHVybiBCaWdJbnQoXHJcblx0XHRcdE1hdGguZmxvb3IoXHJcblx0XHRcdFx0Ly8gdG9kbzogcmVwbGFjZSBgdnR0X2AgZm9yIGBzdF9gXHJcblx0XHRcdFx0dGhpcy5fcHJpb3JpdGllc1tgdnR0XyR7cHJpb3JpdHl9YF0ucHJpb3JpdHkgKlxyXG5cdFx0XHRcdFx0KHRoaXMuY292ZXJlZFxyXG5cdFx0XHRcdFx0XHQ/IHRoaXMud2VpZ2h0XHJcblx0XHRcdFx0XHRcdDogdGhpcy53ZWlnaHQgK1xyXG5cdFx0XHRcdFx0XHRcdC8vIGVzdGltYXRlIG9uZSBtb3JlIGlucHV0IGFzIHRvIGNvdmVyIGZvciBuZXR3b3JrIGZlZXNcclxuXHRcdFx0XHRcdFx0XHRUWF9XRUlHSFRfSU5QVVRfU0laRSArXHJcblx0XHRcdFx0XHRcdFx0Ly8gZXN0aW1hdGUgd2VpZ2h0IG9mIG9uZSBzaW5nbGUgb3V0cHV0IGluIGNhc2UgdGhlcmUgd2FzIGNoYW5nZSB0byBwYXkgYmFja1xyXG5cdFx0XHRcdFx0XHRcdFRYX1dFSUdIVF9PVVRQVVRfU0laRSksXHJcblx0XHRcdCksXHJcblx0XHQpO1xyXG5cdH1cclxufVxyXG4iXX0=
@@ -1,7 +1,7 @@
1
- import { Epoch, ValueTransferOutput } from "../../types";
2
- import { ILedger, IJsonRpcProvider } from "../interfaces";
3
- import { TransactionPayload } from "../payloads";
4
- import { Coins, PublicKeyHashString, TransactionParams, TransactionPriority } from "../types";
1
+ import type { Epoch, ValueTransferOutput } from "../../types.js";
2
+ import type { IJsonRpcProvider, ILedger } from "../interfaces.js";
3
+ import { TransactionPayload } from "../payloads.js";
4
+ import { Coins, type PublicKeyHashString, type TransactionParams, TransactionPriority } from "../types.js";
5
5
  export type StakeWithdrawalParams = TransactionParams & {
6
6
  nonce?: Epoch;
7
7
  validator: PublicKeyHashString;
@@ -11,7 +11,6 @@ export declare class UnstakePayload extends TransactionPayload<StakeWithdrawalPa
11
11
  static MIN_TIMELOCK_SECS: number;
12
12
  static WEIGHT: number;
13
13
  protected _outputs: Array<ValueTransferOutput>;
14
- constructor(protoTypeName: string, specs?: any);
15
14
  get covered(): boolean;
16
15
  get maxWeight(): number;
17
16
  get outputs(): Array<ValueTransferOutput>;
@@ -1 +1 @@
1
- {"version":3,"file":"UnstakePayload.d.ts","sourceRoot":"","sources":["../../../../../src/lib/crypto/payloads/UnstakePayload.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACxD,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,EAAE,KAAK,EAAiB,mBAAmB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAE5G,MAAM,MAAM,qBAAqB,GAAG,iBAAiB,GAAG;IACpD,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,SAAS,EAAE,mBAAmB,CAAC;IAC/B,KAAK,EAAE,KAAK,CAAC;CAChB,CAAA;AAED,qBAAa,cAAe,SAAQ,kBAAkB,CAAC,qBAAqB,CAAC;IAEzE,OAAc,iBAAiB,SAAa;IAC5C,OAAc,MAAM,SAAO;IAE3B,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,mBAAmB,CAAC,CAAK;gBAEtC,aAAa,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG;IAI/C,IAAW,OAAO,IAAI,OAAO,CAG5B;IAED,IAAW,SAAS,IAAI,MAAM,CAE7B;IAED,IAAW,OAAO,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAE/C;IAED,IAAW,QAAQ,IAAI,OAAO,CAK7B;IAED,IAAW,KAAK,IAAI,KAAK,CAExB;IAED,IAAW,MAAM,IAAI,MAAM,CAE1B;IAEY,YAAY,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAiCpD,WAAW,CAAC,MAAM,EAAE,qBAAqB;;;;;;IASzC,cAAc,IAAI,GAAG;IAErB,WAAW,CAAC,MAAM,EAAE,qBAAqB,GAAG,GAAG;IAQ/C,MAAM,CAAC,SAAS,UAAQ,GAAG,GAAG;IAa9B,UAAU,IAAI,GAAG;IAejB,cAAc,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,qBAAqB,GAAG,SAAS;IA+BtE,SAAS,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,GAAG;cAa/B,oBAAoB,CAAC,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,sBAA6B,GAAG,OAAO,CAAC,MAAM,CAAC;CAU3H"}
1
+ {"version":3,"file":"UnstakePayload.d.ts","sourceRoot":"","sources":["../../../../../src/lib/crypto/payloads/UnstakePayload.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EACN,KAAK,EAEL,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,mBAAmB,EACnB,MAAM,aAAa,CAAC;AAErB,MAAM,MAAM,qBAAqB,GAAG,iBAAiB,GAAG;IACvD,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,SAAS,EAAE,mBAAmB,CAAC;IAC/B,KAAK,EAAE,KAAK,CAAC;CACb,CAAC;AAEF,qBAAa,cAAe,SAAQ,kBAAkB,CAAC,qBAAqB,CAAC;IAC5E,OAAc,iBAAiB,SAAa;IAC5C,OAAc,MAAM,SAAO;IAE3B,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,mBAAmB,CAAC,CAAM;IAEpD,IAAW,OAAO,IAAI,OAAO,CAE5B;IAED,IAAW,SAAS,IAAI,MAAM,CAE7B;IAED,IAAW,OAAO,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAE/C;IAED,IAAW,QAAQ,IAAI,OAAO,CAE7B;IAED,IAAW,KAAK,IAAI,KAAK,CAExB;IAED,IAAW,MAAM,IAAI,MAAM,CAE1B;IAEY,YAAY,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAuCpD,WAAW,CAAC,MAAM,EAAE,qBAAqB;;;;;;IASzC,cAAc,IAAI,GAAG;IAErB,WAAW,CAAC,MAAM,EAAE,qBAAqB,GAAG,GAAG;IAQ/C,MAAM,CAAC,SAAS,UAAQ,GAAG,GAAG;IAa9B,UAAU,IAAI,GAAG;IAuBjB,cAAc,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,qBAAqB,GAAG,SAAS;IAmCtE,SAAS,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,GAAG;cAU/B,oBAAoB,CACnC,QAAQ,EAAE,gBAAgB,EAC1B,QAAQ,sBAA6B,GACnC,OAAO,CAAC,MAAM,CAAC;CAWlB"}
@@ -1,17 +1,12 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UnstakePayload = void 0;
4
- const Long = require("long");
5
- const payloads_1 = require("../payloads");
6
- const types_1 = require("../types");
7
- class UnstakePayload extends payloads_1.TransactionPayload {
8
- constructor(protoTypeName, specs) {
9
- super(protoTypeName, specs);
10
- this._outputs = [];
11
- }
1
+ import Long from "long";
2
+ import { TransactionPayload } from "../payloads.js";
3
+ import { Coins, PublicKeyHash, TransactionPriority, } from "../types.js";
4
+ export class UnstakePayload extends TransactionPayload {
5
+ static MIN_TIMELOCK_SECS = 1_209_600;
6
+ static WEIGHT = 153;
7
+ _outputs = [];
12
8
  get covered() {
13
- return this._covered > 0
14
- && this.outputs.length > 0;
9
+ return this._covered > 0 && this.outputs.length > 0;
15
10
  }
16
11
  get maxWeight() {
17
12
  return UnstakePayload.WEIGHT;
@@ -20,11 +15,10 @@ class UnstakePayload extends payloads_1.TransactionPayload {
20
15
  return this._outputs;
21
16
  }
22
17
  get prepared() {
23
- return (this._target !== undefined
24
- && this._outputs.length > 0);
18
+ return this._target !== undefined && this._outputs.length > 0;
25
19
  }
26
20
  get value() {
27
- return this._target?.value || types_1.Coins.zero();
21
+ return this._target?.value || Coins.zero();
28
22
  }
29
23
  get weight() {
30
24
  return UnstakePayload.WEIGHT;
@@ -39,22 +33,24 @@ class UnstakePayload extends payloads_1.TransactionPayload {
39
33
  throw new Error(`${this.constructor.name}: internal error: no default Signer for ${ledger.constructor.name} ${ledger.pkh}.`);
40
34
  }
41
35
  // settle fees if none specified
42
- if (this._target?.fees instanceof types_1.Coins) {
36
+ if (this._target?.fees instanceof Coins) {
43
37
  this._fees = this._target.fees.pedros;
44
38
  }
45
39
  else {
46
- const priority = this._target?.fees || types_1.TransactionPriority.Medium;
40
+ const priority = this._target?.fees ||
41
+ TransactionPriority.Medium;
47
42
  this._fees = await this._estimateNetworkFees(ledger.provider, priority);
48
43
  }
49
44
  // determine whether withdrawn amount covers MORE than the fees
50
45
  this._change = this.value.pedros - this._fees;
51
46
  if (this._change > 0) {
52
47
  // settle nonce if none specified
53
- this._covered = BigInt(this._target?.nonce || await signer.getStakeEntryNonce(this._target.validator));
48
+ this._covered = BigInt(this._target?.nonce ||
49
+ (await signer.getStakeEntryNonce(this._target.validator)));
54
50
  this._outputs.push({
55
51
  pkh: signer.pkh,
56
52
  value: this.value.pedros - this._fees,
57
- time_lock: UnstakePayload.MIN_TIMELOCK_SECS
53
+ time_lock: UnstakePayload.MIN_TIMELOCK_SECS,
58
54
  });
59
55
  }
60
56
  }
@@ -93,9 +89,13 @@ class UnstakePayload extends payloads_1.TransactionPayload {
93
89
  return {
94
90
  ...(this._fees > 0 ? { fee: Long.fromValue(this._fees) } : {}),
95
91
  nonce: Number(this._covered),
96
- operator: { hash: Array.from(types_1.PublicKeyHash.fromBech32(this._target.validator).toBytes20()) },
92
+ operator: {
93
+ hash: Array.from(PublicKeyHash.fromBech32(this._target.validator).toBytes20()),
94
+ },
97
95
  withdrawal: {
98
- pkh: { hash: Array.from(types_1.PublicKeyHash.fromBech32(this.outputs[0].pkh).toBytes20()) },
96
+ pkh: {
97
+ hash: Array.from(PublicKeyHash.fromBech32(this.outputs[0].pkh).toBytes20()),
98
+ },
99
99
  value: Long.fromValue(this.outputs[0].value),
100
100
  timeLock: this.outputs[0].time_lock,
101
101
  },
@@ -105,21 +105,23 @@ class UnstakePayload extends payloads_1.TransactionPayload {
105
105
  validateTarget(target) {
106
106
  target = this._cleanTargetExtras(target);
107
107
  if (target && Object.keys(target).length > 0) {
108
- if (!(target
109
- && (!target?.fees
110
- || (target.fees instanceof types_1.Coins && target.fees.pedros >= 0
111
- || Object.values(types_1.TransactionPriority).includes(target.fees)))
112
- && target?.value && target.value.pedros > 0
113
- && target?.validator)) {
108
+ if (!(target &&
109
+ (!target?.fees ||
110
+ (target.fees instanceof Coins &&
111
+ target.fees.pedros >= 0) ||
112
+ Object.values(TransactionPriority).includes(target.fees)) &&
113
+ target?.value &&
114
+ target.value.pedros > 0 &&
115
+ target?.validator)) {
114
116
  throw new TypeError(`${this.constructor.name}: invalid options: ${JSON.stringify(target)}`);
115
117
  }
116
118
  else {
117
- if (target?.nonce || parseInt(target.nonce) <= 0) {
119
+ if (target?.nonce || parseInt(target.nonce, 10) <= 0) {
118
120
  throw new TypeError(`${this.constructor.name}: nonce must be positive if provided.`);
119
121
  }
120
122
  // asume zero fees if not given in target params
121
123
  if (!target?.fees) {
122
- target.fees = types_1.Coins.zero();
124
+ target.fees = Coins.zero();
123
125
  }
124
126
  return target;
125
127
  }
@@ -130,25 +132,16 @@ class UnstakePayload extends payloads_1.TransactionPayload {
130
132
  }
131
133
  _cleanTargetExtras(target) {
132
134
  if (target) {
133
- return Object.fromEntries(Object.entries(target).filter(([key,]) => [
134
- 'fees',
135
- 'nonce',
136
- 'value',
137
- 'validator',
138
- ].includes(key)));
135
+ return Object.fromEntries(Object.entries(target).filter(([key]) => ["fees", "nonce", "value", "validator"].includes(key)));
139
136
  }
140
137
  }
141
- async _estimateNetworkFees(provider, priority = types_1.TransactionPriority.Medium) {
138
+ async _estimateNetworkFees(provider, priority = TransactionPriority.Medium) {
142
139
  if (!this._priorities) {
143
140
  this._priorities = await provider.priorities();
144
141
  }
145
142
  return BigInt(Math.floor(
146
143
  // todo: replace `vtt_` for `ut_`
147
- this._priorities[`vtt_${priority}`].priority
148
- * this.weight));
144
+ this._priorities[`vtt_${priority}`].priority * this.weight));
149
145
  }
150
146
  }
151
- exports.UnstakePayload = UnstakePayload;
152
- UnstakePayload.MIN_TIMELOCK_SECS = 1209600;
153
- UnstakePayload.WEIGHT = 153;
154
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVW5zdGFrZVBheWxvYWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NyeXB0by9wYXlsb2Fkcy9VbnN0YWtlUGF5bG9hZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUE7QUFJNUIsMENBQWdEO0FBQ2hELG9DQUE0RztBQVE1RyxNQUFhLGNBQWUsU0FBUSw2QkFBeUM7SUFPekUsWUFBYSxhQUFxQixFQUFFLEtBQVc7UUFDM0MsS0FBSyxDQUFDLGFBQWEsRUFBRSxLQUFLLENBQUMsQ0FBQTtRQUhyQixhQUFRLEdBQStCLEVBQUUsQ0FBQTtJQUluRCxDQUFDO0lBRUQsSUFBVyxPQUFPO1FBQ2QsT0FBTyxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUM7ZUFDakIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFBO0lBQ2xDLENBQUM7SUFFRCxJQUFXLFNBQVM7UUFDaEIsT0FBTyxjQUFjLENBQUMsTUFBTSxDQUFBO0lBQ2hDLENBQUM7SUFFRCxJQUFXLE9BQU87UUFDZCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUE7SUFDeEIsQ0FBQztJQUVELElBQVcsUUFBUTtRQUNmLE9BQU8sQ0FDSCxJQUFJLENBQUMsT0FBTyxLQUFLLFNBQVM7ZUFDbkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUNsQyxDQUFBO0lBQ0wsQ0FBQztJQUVELElBQVcsS0FBSztRQUNaLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLElBQUksYUFBSyxDQUFDLElBQUksRUFBRSxDQUFBO0lBQzlDLENBQUM7SUFFRCxJQUFXLE1BQU07UUFDYixPQUFPLGNBQWMsQ0FBQyxNQUFNLENBQUE7SUFDaEMsQ0FBQztJQUVNLEtBQUssQ0FBQyxZQUFZLENBQUMsTUFBZTtRQUNyQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9B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ZyA9IHJlcXVpcmUoXCJsb25nXCIpXHJcblxyXG5pbXBvcnQgeyBFcG9jaCwgVmFsdWVUcmFuc2Zlck91dHB1dCB9IGZyb20gXCIuLi8uLi90eXBlc1wiXHJcbmltcG9ydCB7IElMZWRnZXIsIElKc29uUnBjUHJvdmlkZXIgfSBmcm9tIFwiLi4vaW50ZXJmYWNlc1wiXHJcbmltcG9ydCB7IFRyYW5zYWN0aW9uUGF5bG9hZCB9IGZyb20gXCIuLi9wYXlsb2Fkc1wiXHJcbmltcG9ydCB7IENvaW5zLCBQdWJsaWNLZXlIYXNoLCBQdWJsaWNLZXlIYXNoU3RyaW5nLCBUcmFuc2FjdGlvblBhcmFtcywgVHJhbnNhY3Rpb25Qcmlvcml0eSB9IGZyb20gXCIuLi90eXBlc1wiXHJcblxyXG5leHBvcnQgdHlwZSBTdGFrZVdpdGhkcmF3YWxQYXJhbXMgPSBUcmFuc2FjdGlvblBhcmFtcyAmIHtcclxuICAgIG5vbmNlPzogRXBvY2gsXHJcbiAgICB2YWxpZGF0b3I6IFB1YmxpY0tleUhhc2hTdHJpbmcsXHJcbiAgICB2YWx1ZTogQ29pbnMsXHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBVbnN0YWtlUGF5bG9hZCBleHRlbmRzIFRyYW5zYWN0aW9uUGF5bG9hZDxTdGFrZVdpdGhkcmF3YWxQYXJhbXM+IHtcclxuXHJcbiAgICBwdWJsaWMgc3RhdGljIE1JTl9USU1FTE9DS19TRUNTID0gMV8yMDlfNjAwO1xyXG4gICAgcHVibGljIHN0YXRpYyBXRUlHSFQgPSAxNTM7XHJcblxyXG4gICAgcHJvdGVjdGVkIF9vdXRwdXRzOiBBcnJheTxWYWx1ZVRyYW5zZmVyT3V0cHV0PiA9IFtdXHJcblxyXG4gICAgY29uc3RydWN0b3IgKHByb3RvVHlwZU5hbWU6IHN0cmluZywgc3BlY3M/OiBhbnkpIHtcclxuICAgICAgICBzdXBlcihwcm90b1R5cGVOYW1lLCBzcGVjcylcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IGNvdmVyZWQoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvdmVyZWQgPiAwXHJcbiAgICAgICAgICAgICYmIHRoaXMub3V0cHV0cy5sZW5ndGggPiAwIFxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgbWF4V2VpZ2h0KCk6IG51bWJlciB7XHJcbiAgICAgICAgcmV0dXJuIFVuc3Rha2VQYXlsb2FkLldFSUdIVFxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgb3V0cHV0cygpOiBBcnJheTxWYWx1ZVRyYW5zZmVyT3V0cHV0PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX291dHB1dHNcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IHByZXBhcmVkKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgIHRoaXMuX3RhcmdldCAhPT0gdW5kZWZpbmVkXHJcbiAgICAgICAgICAgICAgICAmJiB0aGlzLl9vdXRwdXRzLmxlbmd0aCA+IDBcclxuICAgICAgICApXHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldCB2YWx1ZSgpOiBDb2lucyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3RhcmdldD8udmFsdWUgfHwgQ29pbnMuemVybygpXHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldCB3ZWlnaHQoKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gVW5zdGFrZVBheWxvYWQuV0VJR0hUXHJcbiAgICB9XHJcbiAgICBcclxuICAgIHB1YmxpYyBhc3luYyBjb25zdW1lVXR4b3MobGVkZ2VyOiBJTGVkZ2VyKTogUHJvbWlzZTxiaWdpbnQ+IHtcclxuICAgICAgICBpZiAoIXRoaXMuX3RhcmdldCkge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYCR7dGhpcy5jb25zdHJ1Y3Rvci5uYW1lfTogaW50ZXJuYWwgZXJyb3I6IG5vIGluLWZsaWdodCBwYXJhbXMuYClcclxuICAgICAgICBcclxuICAgICAgICB9IGVsc2UgaWYgKCF0aGlzLl9jb3ZlcmVkKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHNpZ25lciA9IGxlZGdlci5nZXRTaWduZXIoKVxyXG4gICAgICAgICAgICBpZiAoIXNpZ25lcikge1xyXG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxyXG4gICAgICAgICAgICAgICAgICAgIGAke3RoaXMuY29uc3RydWN0b3IubmFtZX06IGludGVybmFsIGVycm9yOiBubyBkZWZhdWx0IFNpZ25lciBmb3IgJHtsZWRnZXIuY29uc3RydWN0b3IubmFtZX0gJHtsZWRnZXIucGtofS5gXHJcbiAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8gc2V0dGxlIGZlZXMgaWYgbm9uZSBzcGVjaWZpZWRcclxuICAgICAgICAgICAgaWYgKHRoaXMuX3RhcmdldD8uZmVlcyBpbnN0YW5jZW9mIENvaW5zKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9mZWVzID0gdGhpcy5fdGFyZ2V0LmZlZXMucGVkcm9zXHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBwcmlvcml0eSA9IHRoaXMuX3RhcmdldD8uZmVlcyBhcyBUcmFuc2FjdGlvblByaW9yaXR5IHx8IFRyYW5zYWN0aW9uUHJpb3JpdHkuTWVkaXVtXHJcbiAgICAgICAgICAgICAgICB0aGlzLl9mZWVzID0gYXdhaXQgdGhpcy5fZXN0aW1hdGVOZXR3b3JrRmVlcyhsZWRnZXIucHJvdmlkZXIsIHByaW9yaXR5KVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vIGRldGVybWluZSB3aGV0aGVyIHdpdGhkcmF3biBhbW91bnQgY292ZXJzIE1PUkUgdGhhbiB0aGUgZmVlc1xyXG4gICAgICAgICAgICB0aGlzLl9jaGFuZ2UgPSB0aGlzLnZhbHVlLnBlZHJvcyAtIHRoaXMuX2ZlZXNcclxuICAgICAgICAgICAgaWYgKHRoaXMuX2NoYW5nZSA+IDApIHtcclxuICAgICAgICAgICAgICAgIC8vIHNldHRsZSBub25jZSBpZiBub25lIHNwZWNpZmllZFxyXG4gICAgICAgICAgICAgICAgdGhpcy5fY292ZXJlZCA9IEJpZ0ludCh0aGlzLl90YXJnZXQ/Lm5vbmNlIHx8IGF3YWl0IHNpZ25lci5nZXRTdGFrZUVudHJ5Tm9uY2UodGhpcy5fdGFyZ2V0LnZhbGlkYXRvcikpXHJcbiAgICAgICAgICAgICAgICB0aGlzLl9vdXRwdXRzLnB1c2goe1xyXG4gICAgICAgICAgICAgICAgICAgIHBraDogc2lnbmVyLnBraCxcclxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogdGhpcy52YWx1ZS5wZWRyb3MgLSB0aGlzLl9mZWVzLFxyXG4gICAgICAgICAgICAgICAgICAgIHRpbWVfbG9jazogVW5zdGFrZVBheWxvYWQuTUlOX1RJTUVMT0NLX1NFQ1NcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NoYW5nZTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgaW50b1JlY2VpcHQodGFyZ2V0OiBTdGFrZVdpdGhkcmF3YWxQYXJhbXMpIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBub25jZTogdGFyZ2V0Lm5vbmNlLFxyXG4gICAgICAgICAgICBvdXRwdXRMb2NrOiBVbnN0YWtlUGF5bG9hZC5NSU5fVElNRUxPQ0tfU0VDUyxcclxuICAgICAgICAgICAgdmFsaWRhdG9yOiB0YXJnZXQudmFsaWRhdG9yLFxyXG4gICAgICAgICAgICAuLi4odGhpcy5fb3V0cHV0cyA/IHsgd2l0aGRyYXdlcjogdGhpcy5fb3V0cHV0c1swXS5wa2ggfSA6IHt9KSxcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHByZXBhcmVPdXRwdXRzKCk6IGFueSB7fVxyXG5cclxuICAgIHB1YmxpYyByZXNldFRhcmdldCh0YXJnZXQ6IFN0YWtlV2l0aGRyYXdhbFBhcmFtcyk6IGFueSB7XHJcbiAgICAgICAgdGhpcy5fY2hhbmdlID0gMG5cclxuICAgICAgICB0aGlzLl9jb3ZlcmVkID0gMG5cclxuICAgICAgICB0aGlzLl9mZWVzID0gMG5cclxuICAgICAgICB0aGlzLl9vdXRwdXRzID0gW11cclxuICAgICAgICB0aGlzLl90YXJnZXQgPSB0YXJnZXRcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgdG9KU09OKF9odW1hbml6ZSA9IGZhbHNlKTogYW55IHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBmZWU6IHRoaXMuX2ZlZXMudG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgbm9uY2U6IE51bWJlcih0aGlzLl9jb3ZlcmVkKSxcclxuICAgICAgICAgICAgb3BlcmF0b3I6IHRoaXMuX3RhcmdldD8udmFsaWRhdG9yLFxyXG4gICAgICAgICAgICB3aXRoZHJhd2FsOiB7XHJcbiAgICAgICAgICAgICAgICBwa2g6IHRoaXMub3V0cHV0c1swXS5wa2gsXHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogdGhpcy5vdXRwdXRzWzBdLnZhbHVlLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgICAgICB0aW1lX2xvY2s6IFVuc3Rha2VQYXlsb2FkLk1JTl9USU1FTE9DS19TRUNTLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgIH1cclxuICAgIH0gICBcclxuXHJcbiAgICBwdWJsaWMgdG9Qcm90b2J1ZigpOiBhbnkge1xyXG4gICAgICAgIGlmICh0aGlzLnByZXBhcmVkICYmIHRoaXMuX3RhcmdldCkge1xyXG4gICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgLi4uKHRoaXMuX2ZlZXMgPiAwID8geyBmZWU6IExvbmcuZnJvbVZhbHVlKHRoaXMuX2ZlZXMpIH0gOiB7fSksXHJcbiAgICAgICAgICAgICAgICBub25jZTogTnVtYmVyKHRoaXMuX2NvdmVyZWQpLFxyXG4gICAgICAgICAgICAgICAgb3BlcmF0b3I6IHsgaGFzaDogQXJyYXkuZnJvbShQdWJsaWNLZXlIYXNoLmZyb21CZWNoMzIodGhpcy5fdGFyZ2V0LnZhbGlkYXRvcikudG9CeXRlczIwKCkpIH0sXHJcbiAgICAgICAgICAgICAgICB3aXRoZHJhd2FsOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGtoOiB7IGhhc2g6IEFycmF5LmZyb20oUHVibGljS2V5SGFzaC5mcm9tQmVjaDMyKHRoaXMub3V0cHV0c1swXS5wa2gpLnRvQnl0ZXMyMCgpKSB9LFxyXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBMb25nLmZyb21WYWx1ZSh0aGlzLm91dHB1dHNbMF0udmFsdWUpLFxyXG4gICAgICAgICAgICAgICAgICAgIHRpbWVMb2NrOiB0aGlzLm91dHB1dHNbMF0udGltZV9sb2NrLFxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgdmFsaWRhdGVUYXJnZXQodGFyZ2V0PzogYW55KTogU3Rha2VXaXRoZHJhd2FsUGFyYW1zIHwgdW5kZWZpbmVkIHtcclxuICAgICAgICB0YXJnZXQgPSB0aGlzLl9jbGVhblRhcmdldEV4dHJhcyh0YXJnZXQpXHJcbiAgICAgICAgaWYgKHRhcmdldCAmJiBPYmplY3Qua2V5cyh0YXJnZXQpLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgaWYgKCEoXHJcbiAgICAgICAgICAgICAgICB0YXJnZXRcclxuICAgICAgICAgICAgICAgICAgICAmJiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICF0YXJnZXQ/LmZlZXMgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHx8IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldC5mZWVzIGluc3RhbmNlb2YgQ29pbnMgJiYgKHRhcmdldC5mZWVzIGFzIENvaW5zKS5wZWRyb3MgPj0gMCBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHx8IE9iamVjdC52YWx1ZXMoVHJhbnNhY3Rpb25Qcmlvcml0eSkuaW5jbHVkZXModGFyZ2V0LmZlZXMpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICAgICAgICAgJiYgdGFyZ2V0Py52YWx1ZSAmJiAodGFyZ2V0LnZhbHVlIGFzIENvaW5zKS5wZWRyb3MgPiAwXHJcbiAgICAgICAgICAgICAgICAgICAgJiYgdGFyZ2V0Py52YWxpZGF0b3JcclxuICAgICAgICAgICAgKSkge1xyXG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihgJHt0aGlzLmNvbnN0cnVjdG9yLm5hbWV9OiBpbnZhbGlkIG9wdGlvbnM6ICR7SlNPTi5zdHJpbmdpZnkodGFyZ2V0KX1gKVxyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgaWYgKHRhcmdldD8ubm9uY2UgfHwgcGFyc2VJbnQodGFyZ2V0Lm5vbmNlKSA8PSAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihgJHt0aGlzLmNvbnN0cnVjdG9yLm5hbWV9OiBub25jZSBtdXN0IGJlIHBvc2l0aXZlIGlmIHByb3ZpZGVkLmApXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAvLyBhc3VtZSB6ZXJvIGZlZXMgaWYgbm90IGdpdmVuIGluIHRhcmdldCBwYXJhbXNcclxuICAgICAgICAgICAgICAgIGlmICghdGFyZ2V0Py5mZWVzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0LmZlZXMgPSBDb2lucy56ZXJvKClcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHJldHVybiB0YXJnZXQgYXMgU3Rha2VXaXRoZHJhd2FsUGFyYW1zXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBfY2xlYW5UYXJnZXRFeHRyYXModGFyZ2V0PzogYW55KTogYW55IHtcclxuICAgICAgICBpZiAodGFyZ2V0KSB7XHJcbiAgICAgICAgICAgIHJldHVybiBPYmplY3QuZnJvbUVudHJpZXMoXHJcbiAgICAgICAgICAgICAgICBPYmplY3QuZW50cmllcyh0YXJnZXQpLmZpbHRlcigoW2tleSxdKSA9PiBbXHJcbiAgICAgICAgICAgICAgICAgICAgJ2ZlZXMnLFxyXG4gICAgICAgICAgICAgICAgICAgICdub25jZScsXHJcbiAgICAgICAgICAgICAgICAgICAgJ3ZhbHVlJyxcclxuICAgICAgICAgICAgICAgICAgICAndmFsaWRhdG9yJyxcclxuICAgICAgICAgICAgICAgIF0uaW5jbHVkZXMoa2V5KSlcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgYXN5bmMgX2VzdGltYXRlTmV0d29ya0ZlZXMocHJvdmlkZXI6IElKc29uUnBjUHJvdmlkZXIsIHByaW9yaXR5ID0gVHJhbnNhY3Rpb25Qcmlvcml0eS5NZWRpdW0pOiBQcm9taXNlPGJpZ2ludD4ge1xyXG4gICAgICAgIGlmICghdGhpcy5fcHJpb3JpdGllcykge1xyXG4gICAgICAgICAgICB0aGlzLl9wcmlvcml0aWVzID0gYXdhaXQgcHJvdmlkZXIucHJpb3JpdGllcygpXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBCaWdJbnQoTWF0aC5mbG9vcihcclxuICAgICAgICAgICAgLy8gdG9kbzogcmVwbGFjZSBgdnR0X2AgZm9yIGB1dF9gXHJcbiAgICAgICAgICAgIHRoaXMuX3ByaW9yaXRpZXNbYHZ0dF8ke3ByaW9yaXR5fWBdLnByaW9yaXR5XHJcbiAgICAgICAgICAgICAgICAqIHRoaXMud2VpZ2h0XHJcbiAgICAgICAgKSk7XHJcbiAgICB9XHJcbn1cclxuIl19
147
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVW5zdGFrZVBheWxvYWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NyeXB0by9wYXlsb2Fkcy9VbnN0YWtlUGF5bG9hZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLElBQUksTUFBTSxNQUFNLENBQUM7QUFJeEIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEQsT0FBTyxFQUNOLEtBQUssRUFDTCxhQUFhLEVBR2IsbUJBQW1CLEdBQ25CLE1BQU0sYUFBYSxDQUFDO0FBUXJCLE1BQU0sT0FBTyxjQUFlLFNBQVEsa0JBQXlDO0lBQ3JFLE1BQU0sQ0FBQyxpQkFBaUIsR0FBRyxTQUFTLENBQUM7SUFDckMsTUFBTSxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUM7SUFFakIsUUFBUSxHQUErQixFQUFFLENBQUM7SUFFcEQsSUFBVyxPQUFPO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCxJQUFXLFNBQVM7UUFDbkIsT0FBTyxjQUFjLENBQUMsTUFBTSxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFXLE9BQU87UUFDakIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxJQUFXLFFBQVE7UUFDbEIsT0FBTyxJQUFJLENBQUMsT0FBTyxLQUFLLFNBQVMsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELElBQVcsS0FBSztRQUNmLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLElBQUksS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzVDLENBQUM7SUFFRCxJQUFXLE1BQU07UUFDaEIsT0FBTyxjQUFjLENBQUMsTUFBTSxDQUFDO0lBQzlCLENBQUM7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aW1wb3J0IExvbmcgZnJvbSBcImxvbmdcIjtcclxuXHJcbmltcG9ydCB0eXBlIHsgRXBvY2gsIFZhbHVlVHJhbnNmZXJPdXRwdXQgfSBmcm9tIFwiLi4vLi4vdHlwZXMuanNcIjtcclxuaW1wb3J0IHR5cGUgeyBJSnNvblJwY1Byb3ZpZGVyLCBJTGVkZ2VyIH0gZnJvbSBcIi4uL2ludGVyZmFjZXMuanNcIjtcclxuaW1wb3J0IHsgVHJhbnNhY3Rpb25QYXlsb2FkIH0gZnJvbSBcIi4uL3BheWxvYWRzLmpzXCI7XHJcbmltcG9ydCB7XHJcblx0Q29pbnMsXHJcblx0UHVibGljS2V5SGFzaCxcclxuXHR0eXBlIFB1YmxpY0tleUhhc2hTdHJpbmcsXHJcblx0dHlwZSBUcmFuc2FjdGlvblBhcmFtcyxcclxuXHRUcmFuc2FjdGlvblByaW9yaXR5LFxyXG59IGZyb20gXCIuLi90eXBlcy5qc1wiO1xyXG5cclxuZXhwb3J0IHR5cGUgU3Rha2VXaXRoZHJhd2FsUGFyYW1zID0gVHJhbnNhY3Rpb25QYXJhbXMgJiB7XHJcblx0bm9uY2U/OiBFcG9jaDtcclxuXHR2YWxpZGF0b3I6IFB1YmxpY0tleUhhc2hTdHJpbmc7XHJcblx0dmFsdWU6IENvaW5zO1xyXG59O1xyXG5cclxuZXhwb3J0IGNsYXNzIFVuc3Rha2VQYXlsb2FkIGV4dGVuZHMgVHJhbnNhY3Rpb25QYXlsb2FkPFN0YWtlV2l0aGRyYXdhbFBhcmFtcz4ge1xyXG5cdHB1YmxpYyBzdGF0aWMgTUlOX1RJTUVMT0NLX1NFQ1MgPSAxXzIwOV82MDA7XHJcblx0cHVibGljIHN0YXRpYyBXRUlHSFQgPSAxNTM7XHJcblxyXG5cdHByb3RlY3RlZCBfb3V0cHV0czogQXJyYXk8VmFsdWVUcmFuc2Zlck91dHB1dD4gPSBbXTtcclxuXHJcblx0cHVibGljIGdldCBjb3ZlcmVkKCk6IGJvb2xlYW4ge1xyXG5cdFx0cmV0dXJuIHRoaXMuX2NvdmVyZWQgPiAwICYmIHRoaXMub3V0cHV0cy5sZW5ndGggPiAwO1xyXG5cdH1cclxuXHJcblx0cHVibGljIGdldCBtYXhXZWlnaHQoKTogbnVtYmVyIHtcclxuXHRcdHJldHVybiBVbnN0YWtlUGF5bG9hZC5XRUlHSFQ7XHJcblx0fVxyXG5cclxuXHRwdWJsaWMgZ2V0IG91dHB1dHMoKTogQXJyYXk8VmFsdWVUcmFuc2Zlck91dHB1dD4ge1xyXG5cdFx0cmV0dXJuIHRoaXMuX291dHB1dHM7XHJcblx0fVxyXG5cclxuXHRwdWJsaWMgZ2V0IHByZXBhcmVkKCk6IGJvb2xlYW4ge1xyXG5cdFx0cmV0dXJuIHRoaXMuX3RhcmdldCAhPT0gdW5kZWZpbmVkICYmIHRoaXMuX291dHB1dHMubGVuZ3RoID4gMDtcclxuXHR9XHJcblxyXG5cdHB1YmxpYyBnZXQgdmFsdWUoKTogQ29pbnMge1xyXG5cdFx0cmV0dXJuIHRoaXMuX3RhcmdldD8udmFsdWUgfHwgQ29pbnMuemVybygpO1xyXG5cdH1cclxuXHJcblx0cHVibGljIGdldCB3ZWlnaHQoKTogbnVtYmVyIHtcclxuXHRcdHJldHVybiBVbnN0YWtlUGF5bG9hZC5XRUlHSFQ7XHJcblx0fVxyXG5cclxuXHRwdWJsaWMgYXN5bmMgY29uc3VtZVV0eG9zKGxlZGdlcjogSUxlZGdlcik6IFByb21pc2U8YmlnaW50PiB7XHJcblx0XHRpZiAoIXRoaXMuX3RhcmdldCkge1xyXG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoXHJcblx0XHRcdFx0YCR7dGhpcy5jb25zdHJ1Y3Rvci5uYW1lfTogaW50ZXJuYWwgZXJyb3I6IG5vIGluLWZsaWdodCBwYXJhbXMuYCxcclxuXHRcdFx0KTtcclxuXHRcdH0gZWxzZSBpZiAoIXRoaXMuX2NvdmVyZWQpIHtcclxuXHRcdFx0Y29uc3Qgc2lnbmVyID0gbGVkZ2VyLmdldFNpZ25lcigpO1xyXG5cdFx0XHRpZiAoIXNpZ25lcikge1xyXG5cdFx0XHRcdHRocm93IG5ldyBFcnJvcihcclxuXHRcdFx0XHRcdGAke3RoaXMuY29uc3RydWN0b3IubmFtZX06IGludGVybmFsIGVycm9yOiBubyBkZWZhdWx0IFNpZ25lciBmb3IgJHtsZWRnZXIuY29uc3RydWN0b3IubmFtZX0gJHtsZWRnZXIucGtofS5gLFxyXG5cdFx0XHRcdCk7XHJcblx0XHRcdH1cclxuXHRcdFx0Ly8gc2V0dGxlIGZlZXMgaWYgbm9uZSBzcGVjaWZpZWRcclxuXHRcdFx0aWYgKHRoaXMuX3RhcmdldD8uZmVlcyBpbnN0YW5jZW9mIENvaW5zKSB7XHJcblx0XHRcdFx0dGhpcy5fZmVlcyA9IHRoaXMuX3RhcmdldC5mZWVzLnBlZHJvcztcclxuXHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRjb25zdCBwcmlvcml0eSA9XHJcblx0XHRcdFx0XHQodGhpcy5fdGFyZ2V0Py5mZWVzIGFzIFRyYW5zYWN0aW9uUHJpb3JpdHkpIHx8XHJcblx0XHRcdFx0XHRUcmFuc2FjdGlvblByaW9yaXR5Lk1lZGl1bTtcclxuXHRcdFx0XHR0aGlzLl9mZWVzID0gYXdhaXQgdGhpcy5fZXN0aW1hdGVOZXR3b3JrRmVlcyhsZWRnZXIucHJvdmlkZXIsIHByaW9yaXR5KTtcclxuXHRcdFx0fVxyXG5cdFx0XHQvLyBkZXRlcm1pbmUgd2hldGhlciB3aXRoZHJhd24gYW1vdW50IGNvdmVycyBNT1JFIHRoYW4gdGhlIGZlZXNcclxuXHRcdFx0dGhpcy5fY2hhbmdlID0gdGhpcy52YWx1ZS5wZWRyb3MgLSB0aGlzLl9mZWVzO1xyXG5cdFx0XHRpZiAodGhpcy5fY2hhbmdlID4gMCkge1xyXG5cdFx0XHRcdC8vIHNldHRsZSBub25jZSBpZiBub25lIHNwZWNpZmllZFxyXG5cdFx0XHRcdHRoaXMuX2NvdmVyZWQgPSBCaWdJbnQoXHJcblx0XHRcdFx0XHR0aGlzLl90YXJnZXQ/Lm5vbmNlIHx8XHJcblx0XHRcdFx0XHRcdChhd2FpdCBzaWduZXIuZ2V0U3Rha2VFbnRyeU5vbmNlKHRoaXMuX3RhcmdldC52YWxpZGF0b3IpKSxcclxuXHRcdFx0XHQpO1xyXG5cdFx0XHRcdHRoaXMuX291dHB1dHMucHVzaCh7XHJcblx0XHRcdFx0XHRwa2g6IHNpZ25lci5wa2gsXHJcblx0XHRcdFx0XHR2YWx1ZTogdGhpcy52YWx1ZS5wZWRyb3MgLSB0aGlzLl9mZWVzLFxyXG5cdFx0XHRcdFx0dGltZV9sb2NrOiBVbnN0YWtlUGF5bG9hZC5NSU5fVElNRUxPQ0tfU0VDUyxcclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0cmV0dXJuIHRoaXMuX2NoYW5nZTtcclxuXHR9XHJcblxyXG5cdHB1YmxpYyBpbnRvUmVjZWlwdCh0YXJnZXQ6IFN0YWtlV2l0aGRyYXdhbFBhcmFtcykge1xyXG5cdFx0cmV0dXJuIHtcclxuXHRcdFx0bm9uY2U6IHRhcmdldC5ub25jZSxcclxuXHRcdFx0b3V0cHV0TG9jazogVW5zdGFrZVBheWxvYWQuTUlOX1RJTUVMT0NLX1NFQ1MsXHJcblx0XHRcdHZhbGlkYXRvcjogdGFyZ2V0LnZhbGlkYXRvcixcclxuXHRcdFx0Li4uKHRoaXMuX291dHB1dHMgPyB7IHdpdGhkcmF3ZXI6IHRoaXMuX291dHB1dHNbMF0ucGtoIH0gOiB7fSksXHJcblx0XHR9O1xyXG5cdH1cclxuXHJcblx0cHVibGljIHByZXBhcmVPdXRwdXRzKCk6IGFueSB7fVxyXG5cclxuXHRwdWJsaWMgcmVzZXRUYXJnZXQodGFyZ2V0OiBTdGFrZVdpdGhkcmF3YWxQYXJhbXMpOiBhbnkge1xyXG5cdFx0dGhpcy5fY2hhbmdlID0gMG47XHJcblx0XHR0aGlzLl9jb3ZlcmVkID0gMG47XHJcblx0XHR0aGlzLl9mZWVzID0gMG47XHJcblx0XHR0aGlzLl9vdXRwdXRzID0gW107XHJcblx0XHR0aGlzLl90YXJnZXQgPSB0YXJnZXQ7XHJcblx0fVxyXG5cclxuXHRwdWJsaWMgdG9KU09OKF9odW1hbml6ZSA9IGZhbHNlKTogYW55IHtcclxuXHRcdHJldHVybiB7XHJcblx0XHRcdGZlZTogdGhpcy5fZmVlcy50b1N0cmluZygpLFxyXG5cdFx0XHRub25jZTogTnVtYmVyKHRoaXMuX2NvdmVyZWQpLFxyXG5cdFx0XHRvcGVyYXRvcjogdGhpcy5fdGFyZ2V0Py52YWxpZGF0b3IsXHJcblx0XHRcdHdpdGhkcmF3YWw6IHtcclxuXHRcdFx0XHRwa2g6IHRoaXMub3V0cHV0c1swXS5wa2gsXHJcblx0XHRcdFx0dmFsdWU6IHRoaXMub3V0cHV0c1swXS52YWx1ZS50b1N0cmluZygpLFxyXG5cdFx0XHRcdHRpbWVfbG9jazogVW5zdGFrZVBheWxvYWQuTUlOX1RJTUVMT0NLX1NFQ1MsXHJcblx0XHRcdH0sXHJcblx0XHR9O1xyXG5cdH1cclxuXHJcblx0cHVibGljIHRvUHJvdG9idWYoKTogYW55IHtcclxuXHRcdGlmICh0aGlzLnByZXBhcmVkICYmIHRoaXMuX3RhcmdldCkge1xyXG5cdFx0XHRyZXR1cm4ge1xyXG5cdFx0XHRcdC4uLih0aGlzLl9mZWVzID4gMCA/IHsgZmVlOiBMb25nLmZyb21WYWx1ZSh0aGlzLl9mZWVzKSB9IDoge30pLFxyXG5cdFx0XHRcdG5vbmNlOiBOdW1iZXIodGhpcy5fY292ZXJlZCksXHJcblx0XHRcdFx0b3BlcmF0b3I6IHtcclxuXHRcdFx0XHRcdGhhc2g6IEFycmF5LmZyb20oXHJcblx0XHRcdFx0XHRcdFB1YmxpY0tleUhhc2guZnJvbUJlY2gzMih0aGlzLl90YXJnZXQudmFsaWRhdG9yKS50b0J5dGVzMjAoKSxcclxuXHRcdFx0XHRcdCksXHJcblx0XHRcdFx0fSxcclxuXHRcdFx0XHR3aXRoZHJhd2FsOiB7XHJcblx0XHRcdFx0XHRwa2g6IHtcclxuXHRcdFx0XHRcdFx0aGFzaDogQXJyYXkuZnJvbShcclxuXHRcdFx0XHRcdFx0XHRQdWJsaWNLZXlIYXNoLmZyb21CZWNoMzIodGhpcy5vdXRwdXRzWzBdLnBraCkudG9CeXRlczIwKCksXHJcblx0XHRcdFx0XHRcdCksXHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0dmFsdWU6IExvbmcuZnJvbVZhbHVlKHRoaXMub3V0cHV0c1swXS52YWx1ZSksXHJcblx0XHRcdFx0XHR0aW1lTG9jazogdGhpcy5vdXRwdXRzWzBdLnRpbWVfbG9jayxcclxuXHRcdFx0XHR9LFxyXG5cdFx0XHR9O1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0cHVibGljIHZhbGlkYXRlVGFyZ2V0KHRhcmdldD86IGFueSk6IFN0YWtlV2l0aGRyYXdhbFBhcmFtcyB8IHVuZGVmaW5lZCB7XHJcblx0XHR0YXJnZXQgPSB0aGlzLl9jbGVhblRhcmdldEV4dHJhcyh0YXJnZXQpO1xyXG5cdFx0aWYgKHRhcmdldCAmJiBPYmplY3Qua2V5cyh0YXJnZXQpLmxlbmd0aCA+IDApIHtcclxuXHRcdFx0aWYgKFxyXG5cdFx0XHRcdCEoXHJcblx0XHRcdFx0XHR0YXJnZXQgJiZcclxuXHRcdFx0XHRcdCghdGFyZ2V0Py5mZWVzIHx8XHJcblx0XHRcdFx0XHRcdCh0YXJnZXQuZmVlcyBpbnN0YW5jZW9mIENvaW5zICYmXHJcblx0XHRcdFx0XHRcdFx0KHRhcmdldC5mZWVzIGFzIENvaW5zKS5wZWRyb3MgPj0gMCkgfHxcclxuXHRcdFx0XHRcdFx0T2JqZWN0LnZhbHVlcyhUcmFuc2FjdGlvblByaW9yaXR5KS5pbmNsdWRlcyh0YXJnZXQuZmVlcykpICYmXHJcblx0XHRcdFx0XHR0YXJnZXQ/LnZhbHVlICYmXHJcblx0XHRcdFx0XHQodGFyZ2V0LnZhbHVlIGFzIENvaW5zKS5wZWRyb3MgPiAwICYmXHJcblx0XHRcdFx0XHR0YXJnZXQ/LnZhbGlkYXRvclxyXG5cdFx0XHRcdClcclxuXHRcdFx0KSB7XHJcblx0XHRcdFx0dGhyb3cgbmV3IFR5cGVFcnJvcihcclxuXHRcdFx0XHRcdGAke3RoaXMuY29uc3RydWN0b3IubmFtZX06IGludmFsaWQgb3B0aW9uczogJHtKU09OLnN0cmluZ2lmeSh0YXJnZXQpfWAsXHJcblx0XHRcdFx0KTtcclxuXHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRpZiAodGFyZ2V0Py5ub25jZSB8fCBwYXJzZUludCh0YXJnZXQubm9uY2UsIDEwKSA8PSAwKSB7XHJcblx0XHRcdFx0XHR0aHJvdyBuZXcgVHlwZUVycm9yKFxyXG5cdFx0XHRcdFx0XHRgJHt0aGlzLmNvbnN0cnVjdG9yLm5hbWV9OiBub25jZSBtdXN0IGJlIHBvc2l0aXZlIGlmIHByb3ZpZGVkLmAsXHJcblx0XHRcdFx0XHQpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHQvLyBhc3VtZSB6ZXJvIGZlZXMgaWYgbm90IGdpdmVuIGluIHRhcmdldCBwYXJhbXNcclxuXHRcdFx0XHRpZiAoIXRhcmdldD8uZmVlcykge1xyXG5cdFx0XHRcdFx0dGFyZ2V0LmZlZXMgPSBDb2lucy56ZXJvKCk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdHJldHVybiB0YXJnZXQgYXMgU3Rha2VXaXRoZHJhd2FsUGFyYW1zO1xyXG5cdFx0XHR9XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHRyZXR1cm4gdW5kZWZpbmVkO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0cHJvdGVjdGVkIF9jbGVhblRhcmdldEV4dHJhcyh0YXJnZXQ/OiBhbnkpOiBhbnkge1xyXG5cdFx0aWYgKHRhcmdldCkge1xyXG5cdFx0XHRyZXR1cm4gT2JqZWN0LmZyb21FbnRyaWVzKFxyXG5cdFx0XHRcdE9iamVjdC5lbnRyaWVzKHRhcmdldCkuZmlsdGVyKChba2V5XSkgPT5cclxuXHRcdFx0XHRcdFtcImZlZXNcIiwgXCJub25jZVwiLCBcInZhbHVlXCIsIFwidmFsaWRhdG9yXCJdLmluY2x1ZGVzKGtleSksXHJcblx0XHRcdFx0KSxcclxuXHRcdFx0KTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdHByb3RlY3RlZCBhc3luYyBfZXN0aW1hdGVOZXR3b3JrRmVlcyhcclxuXHRcdHByb3ZpZGVyOiBJSnNvblJwY1Byb3ZpZGVyLFxyXG5cdFx0cHJpb3JpdHkgPSBUcmFuc2FjdGlvblByaW9yaXR5Lk1lZGl1bSxcclxuXHQpOiBQcm9taXNlPGJpZ2ludD4ge1xyXG5cdFx0aWYgKCF0aGlzLl9wcmlvcml0aWVzKSB7XHJcblx0XHRcdHRoaXMuX3ByaW9yaXRpZXMgPSBhd2FpdCBwcm92aWRlci5wcmlvcml0aWVzKCk7XHJcblx0XHR9XHJcblx0XHRyZXR1cm4gQmlnSW50KFxyXG5cdFx0XHRNYXRoLmZsb29yKFxyXG5cdFx0XHRcdC8vIHRvZG86IHJlcGxhY2UgYHZ0dF9gIGZvciBgdXRfYFxyXG5cdFx0XHRcdHRoaXMuX3ByaW9yaXRpZXNbYHZ0dF8ke3ByaW9yaXR5fWBdLnByaW9yaXR5ICogdGhpcy53ZWlnaHQsXHJcblx0XHRcdCksXHJcblx0XHQpO1xyXG5cdH1cclxufVxyXG4iXX0=
@@ -1,13 +1,12 @@
1
- import { IJsonRpcProvider } from "../../types";
2
- import { TransactionPayloadMultiSig } from "../payloads";
3
- import { Coins, PublicKeyHashString, TransactionParams, TransactionPriority } from "../types";
1
+ import type { IJsonRpcProvider } from "../../types.js";
2
+ import { TransactionPayloadMultiSig } from "../payloads.js";
3
+ import { Coins, type PublicKeyHashString, type TransactionParams, TransactionPriority } from "../types.js";
4
4
  export type ValueTransferParams = TransactionParams & {
5
5
  recipients: Array<[pkh: PublicKeyHashString, value: Coins]>;
6
6
  timelock?: number;
7
7
  };
8
8
  export declare class ValueTransferPayload extends TransactionPayloadMultiSig<ValueTransferParams> {
9
9
  static MAX_WEIGHT: number;
10
- constructor(protoTypeName: string, initialTarget?: ValueTransferParams);
11
10
  get maxWeight(): number;
12
11
  get value(): Coins;
13
12
  get weight(): number;
@@ -1 +1 @@
1
- {"version":3,"file":"ValueTransferPayload.d.ts","sourceRoot":"","sources":["../../../../../src/lib/crypto/payloads/ValueTransferPayload.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAE9C,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAA;AACxD,OAAO,EAAE,KAAK,EAAiB,mBAAmB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAE5G,MAAM,MAAM,mBAAmB,GAAG,iBAAiB,GAAG;IAClD,UAAU,EAAE,KAAK,CAAC,CAAC,GAAG,EAAE,mBAAmB,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IAC5D,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB,CAAA;AAMD,qBAAa,oBAAqB,SAAQ,0BAA0B,CAAC,mBAAmB,CAAC;IAErF,OAAc,UAAU,SAAS;gBAEpB,aAAa,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,mBAAmB;IAIvE,IAAW,SAAS,IAAI,MAAM,CAE7B;IAED,IAAW,KAAK,IAAI,KAAK,CAExB;IAED,IAAW,MAAM,IAAI,MAAM,CAK1B;IAEM,cAAc,CAAC,MAAM,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,mBAAmB,CAAA;KAAE,GAAG,GAAG;IAWzE,WAAW,CAAC,MAAM,EAAE,mBAAmB,GAAG,GAAG;IAO7C,MAAM,IAAI,GAAG;IAcb,UAAU,IAAI,GAAG;IAuBjB,cAAc,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,mBAAmB,GAAG,SAAS;IAsCpE,SAAS,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,GAAG;cAY/B,oBAAoB,CAAC,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,sBAA6B,GAAG,OAAO,CAAC,MAAM,CAAC;CAc3H"}
1
+ {"version":3,"file":"ValueTransferPayload.d.ts","sourceRoot":"","sources":["../../../../../src/lib/crypto/payloads/ValueTransferPayload.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEvD,OAAO,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EACN,KAAK,EAEL,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,mBAAmB,EACnB,MAAM,aAAa,CAAC;AAErB,MAAM,MAAM,mBAAmB,GAAG,iBAAiB,GAAG;IACrD,UAAU,EAAE,KAAK,CAAC,CAAC,GAAG,EAAE,mBAAmB,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IAC5D,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAMF,qBAAa,oBAAqB,SAAQ,0BAA0B,CAAC,mBAAmB,CAAC;IACxF,OAAc,UAAU,SAAS;IAEjC,IAAW,SAAS,IAAI,MAAM,CAE7B;IAED,IAAW,KAAK,IAAI,KAAK,CAOxB;IAED,IAAW,MAAM,IAAI,MAAM,CAK1B;IAEM,cAAc,CAAC,MAAM,CAAC,EAAE;QAC9B,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,EAAE,mBAAmB,CAAC;KACzB,GAAG,GAAG;IAaA,WAAW,CAAC,MAAM,EAAE,mBAAmB,GAAG,GAAG;IAS7C,MAAM,IAAI,GAAG;IAab,UAAU,IAAI,GAAG;IA0BjB,cAAc,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,mBAAmB,GAAG,SAAS;IAyCpE,SAAS,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,GAAG;cAU/B,oBAAoB,CACnC,QAAQ,EAAE,gBAAgB,EAC1B,QAAQ,sBAA6B,GACnC,OAAO,CAAC,MAAM,CAAC;CAmBlB"}