@witnet/sdk 1.0.3 → 1.0.4

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 (197) hide show
  1. package/.env_witnet +6 -6
  2. package/LICENSE +21 -21
  3. package/README.md +103 -103
  4. package/dist/bin/helpers.d.ts +88 -0
  5. package/dist/bin/helpers.d.ts.map +1 -0
  6. package/dist/bin/helpers.js +866 -0
  7. package/dist/index.d.ts +4 -0
  8. package/dist/index.d.ts.map +1 -0
  9. package/dist/index.js +42 -0
  10. package/dist/lib/crypto/account.d.ts +18 -0
  11. package/dist/lib/crypto/account.d.ts.map +1 -0
  12. package/dist/lib/crypto/account.js +152 -0
  13. package/dist/lib/crypto/coinbase.d.ts +9 -0
  14. package/dist/lib/crypto/coinbase.d.ts.map +1 -0
  15. package/dist/lib/crypto/coinbase.js +39 -0
  16. package/dist/lib/crypto/index.d.ts +7 -0
  17. package/dist/lib/crypto/index.d.ts.map +1 -0
  18. package/dist/lib/crypto/index.js +28 -0
  19. package/dist/lib/crypto/interfaces.d.ts +80 -0
  20. package/dist/lib/crypto/interfaces.d.ts.map +1 -0
  21. package/dist/lib/crypto/interfaces.js +3 -0
  22. package/dist/lib/crypto/payloads/DataRequestPayload.d.ts +47 -0
  23. package/dist/lib/crypto/payloads/DataRequestPayload.d.ts.map +1 -0
  24. package/dist/lib/crypto/payloads/DataRequestPayload.js +384 -0
  25. package/dist/lib/crypto/payloads/StakePayload.d.ts +27 -0
  26. package/dist/lib/crypto/payloads/StakePayload.d.ts.map +1 -0
  27. package/dist/lib/crypto/payloads/StakePayload.js +184 -0
  28. package/dist/lib/crypto/payloads/UnstakePayload.d.ts +35 -0
  29. package/dist/lib/crypto/payloads/UnstakePayload.d.ts.map +1 -0
  30. package/dist/lib/crypto/payloads/UnstakePayload.js +244 -0
  31. package/dist/lib/crypto/payloads/ValueTransferPayload.d.ts +24 -0
  32. package/dist/lib/crypto/payloads/ValueTransferPayload.d.ts.map +1 -0
  33. package/dist/lib/crypto/payloads/ValueTransferPayload.js +182 -0
  34. package/dist/lib/crypto/payloads.d.ts +54 -0
  35. package/dist/lib/crypto/payloads.d.ts.map +1 -0
  36. package/dist/lib/crypto/payloads.js +224 -0
  37. package/dist/lib/crypto/signer.d.ts +26 -0
  38. package/dist/lib/crypto/signer.d.ts.map +1 -0
  39. package/dist/lib/crypto/signer.js +299 -0
  40. package/dist/lib/crypto/transmitters/DataRequests.d.ts +14 -0
  41. package/dist/lib/crypto/transmitters/DataRequests.d.ts.map +1 -0
  42. package/dist/lib/crypto/transmitters/DataRequests.js +62 -0
  43. package/dist/lib/crypto/transmitters/StakeDeposits.d.ts +11 -0
  44. package/dist/lib/crypto/transmitters/StakeDeposits.d.ts.map +1 -0
  45. package/dist/lib/crypto/transmitters/StakeDeposits.js +48 -0
  46. package/dist/lib/crypto/transmitters/StakeWithdrawals.d.ts +17 -0
  47. package/dist/lib/crypto/transmitters/StakeWithdrawals.d.ts.map +1 -0
  48. package/dist/lib/crypto/transmitters/StakeWithdrawals.js +115 -0
  49. package/dist/lib/crypto/transmitters/ValueTransfers.d.ts +10 -0
  50. package/dist/lib/crypto/transmitters/ValueTransfers.d.ts.map +1 -0
  51. package/dist/lib/crypto/transmitters/ValueTransfers.js +47 -0
  52. package/dist/lib/crypto/transmitters.d.ts +46 -0
  53. package/dist/lib/crypto/transmitters.d.ts.map +1 -0
  54. package/dist/lib/crypto/transmitters.js +506 -0
  55. package/dist/lib/crypto/types.d.ts +127 -0
  56. package/dist/lib/crypto/types.d.ts.map +1 -0
  57. package/dist/lib/crypto/types.js +261 -0
  58. package/dist/lib/crypto/utils.d.ts +10 -0
  59. package/dist/lib/crypto/utils.d.ts.map +1 -0
  60. package/dist/lib/crypto/utils.js +97 -0
  61. package/dist/lib/crypto/wallet.d.ts +26 -0
  62. package/dist/lib/crypto/wallet.d.ts.map +1 -0
  63. package/dist/lib/crypto/wallet.js +327 -0
  64. package/dist/lib/helpers.d.ts +90 -0
  65. package/dist/lib/helpers.d.ts.map +1 -0
  66. package/dist/lib/helpers.js +1031 -0
  67. package/dist/lib/index.d.ts +5 -0
  68. package/dist/lib/index.d.ts.map +1 -0
  69. package/dist/lib/index.js +21 -0
  70. package/dist/lib/radon/artifacts.d.ts +55 -0
  71. package/dist/lib/radon/artifacts.d.ts.map +1 -0
  72. package/dist/lib/radon/artifacts.js +347 -0
  73. package/dist/lib/radon/ccdr/eth.d.ts +100 -0
  74. package/dist/lib/radon/ccdr/eth.d.ts.map +1 -0
  75. package/dist/lib/radon/ccdr/eth.js +237 -0
  76. package/dist/lib/radon/ccdr/index.d.ts +34 -0
  77. package/dist/lib/radon/ccdr/index.d.ts.map +1 -0
  78. package/dist/lib/radon/ccdr/index.js +63 -0
  79. package/dist/lib/radon/ccdr/wit.d.ts +29 -0
  80. package/dist/lib/radon/ccdr/wit.d.ts.map +1 -0
  81. package/dist/lib/radon/ccdr/wit.js +60 -0
  82. package/dist/lib/radon/filters.d.ts +14 -0
  83. package/dist/lib/radon/filters.d.ts.map +1 -0
  84. package/dist/lib/radon/filters.js +47 -0
  85. package/dist/lib/radon/index.d.ts +36 -0
  86. package/dist/lib/radon/index.d.ts.map +1 -0
  87. package/dist/lib/radon/index.js +154 -0
  88. package/dist/lib/radon/reducers.d.ts +29 -0
  89. package/dist/lib/radon/reducers.d.ts.map +1 -0
  90. package/dist/lib/radon/reducers.js +101 -0
  91. package/dist/lib/radon/retrievals.d.ts +120 -0
  92. package/dist/lib/radon/retrievals.d.ts.map +1 -0
  93. package/dist/lib/radon/retrievals.js +358 -0
  94. package/dist/lib/radon/sources.d.ts +102 -0
  95. package/dist/lib/radon/sources.d.ts.map +1 -0
  96. package/dist/lib/radon/sources.js +294 -0
  97. package/dist/lib/radon/types.d.ts +521 -0
  98. package/dist/lib/radon/types.d.ts.map +1 -0
  99. package/dist/lib/radon/types.js +1066 -0
  100. package/dist/lib/radon/utils.d.ts +55 -0
  101. package/dist/lib/radon/utils.d.ts.map +1 -0
  102. package/dist/lib/radon/utils.js +181 -0
  103. package/dist/lib/rpc/farm.d.ts +66 -0
  104. package/dist/lib/rpc/farm.d.ts.map +1 -0
  105. package/dist/lib/rpc/farm.js +808 -0
  106. package/dist/lib/rpc/index.d.ts +3 -0
  107. package/dist/lib/rpc/index.d.ts.map +1 -0
  108. package/dist/lib/rpc/index.js +19 -0
  109. package/dist/lib/rpc/node.d.ts +38 -0
  110. package/dist/lib/rpc/node.d.ts.map +1 -0
  111. package/dist/lib/rpc/node.js +335 -0
  112. package/dist/lib/rpc/nodes.d.ts +40 -0
  113. package/dist/lib/rpc/nodes.d.ts.map +1 -0
  114. package/dist/lib/rpc/nodes.js +531 -0
  115. package/dist/lib/rpc/provider.d.ts +72 -0
  116. package/dist/lib/rpc/provider.d.ts.map +1 -0
  117. package/dist/lib/rpc/provider.js +402 -0
  118. package/dist/lib/rpc/reporter.d.ts +18 -0
  119. package/dist/lib/rpc/reporter.d.ts.map +1 -0
  120. package/dist/lib/rpc/reporter.js +99 -0
  121. package/dist/lib/rpc/types.d.ts +396 -0
  122. package/dist/lib/rpc/types.d.ts.map +1 -0
  123. package/dist/lib/rpc/types.js +81 -0
  124. package/dist/lib/rpc/wallet.d.ts +72 -0
  125. package/dist/lib/rpc/wallet.d.ts.map +1 -0
  126. package/dist/lib/rpc/wallet.js +41 -0
  127. package/dist/lib/types.d.ts +19 -0
  128. package/dist/lib/types.d.ts.map +1 -0
  129. package/dist/lib/types.js +7 -0
  130. package/dist/lib/utils.d.ts +5 -0
  131. package/dist/lib/utils.d.ts.map +1 -0
  132. package/dist/lib/utils.js +51 -0
  133. package/dist/package.json +1 -1
  134. package/dist/src/bin/helpers.js +1 -1
  135. package/dist/src/index.js +1 -1
  136. package/dist/src/lib/crypto/account.js +1 -1
  137. package/dist/src/lib/crypto/coinbase.js +1 -1
  138. package/dist/src/lib/crypto/index.js +1 -1
  139. package/dist/src/lib/crypto/interfaces.js +1 -1
  140. package/dist/src/lib/crypto/payloads/DataRequestPayload.js +1 -1
  141. package/dist/src/lib/crypto/payloads/StakePayload.js +1 -1
  142. package/dist/src/lib/crypto/payloads/UnstakePayload.js +1 -1
  143. package/dist/src/lib/crypto/payloads/ValueTransferPayload.js +1 -1
  144. package/dist/src/lib/crypto/payloads.js +1 -1
  145. package/dist/src/lib/crypto/signer.js +1 -1
  146. package/dist/src/lib/crypto/transmitters/DataRequests.js +1 -1
  147. package/dist/src/lib/crypto/transmitters/StakeDeposits.js +1 -1
  148. package/dist/src/lib/crypto/transmitters/StakeWithdrawals.js +1 -1
  149. package/dist/src/lib/crypto/transmitters/ValueTransfers.js +1 -1
  150. package/dist/src/lib/crypto/transmitters.js +1 -1
  151. package/dist/src/lib/crypto/types.js +1 -1
  152. package/dist/src/lib/crypto/utils.js +1 -1
  153. package/dist/src/lib/crypto/wallet.js +1 -1
  154. package/dist/src/lib/index.js +1 -1
  155. package/dist/src/lib/radon/ccdr/eth.js +1 -1
  156. package/dist/src/lib/radon/ccdr/index.js +1 -1
  157. package/dist/src/lib/radon/ccdr/wit.js +1 -1
  158. package/dist/src/lib/radon/filters.js +1 -1
  159. package/dist/src/lib/radon/index.js +1 -1
  160. package/dist/src/lib/radon/reducers.js +1 -1
  161. package/dist/src/lib/radon/types.js +1 -1
  162. package/dist/src/lib/radon/utils.js +1 -1
  163. package/dist/src/lib/rpc/index.js +1 -1
  164. package/dist/src/lib/rpc/nodes.js +1 -1
  165. package/dist/src/lib/rpc/provider.js +1 -1
  166. package/dist/src/lib/rpc/reporter.js +1 -1
  167. package/dist/src/lib/rpc/types.js +1 -1
  168. package/dist/src/lib/types.d.ts +1 -1
  169. package/dist/src/lib/types.d.ts.map +1 -1
  170. package/dist/src/lib/types.js +1 -1
  171. package/dist/src/lib/utils.js +1 -1
  172. package/dist/witnet/assets/index.js +1 -1
  173. package/dist/witnet/assets/modals/index.js +1 -1
  174. package/dist/witnet/assets/modals/web3/eth.js +1 -1
  175. package/dist/witnet/assets/modals/web3/ipfs.js +1 -1
  176. package/dist/witnet/assets/modals/web3/wit.js +1 -1
  177. package/dist/witnet/assets/requests.js +1 -1
  178. package/package.json +1 -1
  179. package/src/bin/cli/history.js +31 -31
  180. package/src/bin/cli/inspect.js +405 -405
  181. package/src/bin/cli/network.js +594 -594
  182. package/src/bin/cli/nodes.js +364 -364
  183. package/src/bin/cli/radon.js +815 -815
  184. package/src/bin/cli/wallet.js +1117 -1117
  185. package/src/bin/helpers.js +840 -840
  186. package/src/bin/postinstall.js +9 -9
  187. package/src/bin/toolkit.js +295 -295
  188. package/witnet/assets/_index.js +8 -8
  189. package/witnet/assets/_requests.js +25 -25
  190. package/witnet/assets/_sources.js +36 -36
  191. package/witnet/assets/_templates.js +36 -36
  192. package/witnet/assets/index.js +4 -4
  193. package/witnet/assets/modals/index.js +9 -9
  194. package/witnet/assets/modals/web3/eth.js +29 -29
  195. package/witnet/assets/modals/web3/ipfs.js +19 -19
  196. package/witnet/assets/modals/web3/wit.js +21 -21
  197. package/witnet/assets/requests.js +95 -95
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
18
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
19
+ return new (P || (P = Promise))(function (resolve, reject) {
20
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
21
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
22
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
23
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
24
+ });
25
+ };
26
+ var __generator = (this && this.__generator) || function (thisArg, body) {
27
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
28
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
29
+ function verb(n) { return function (v) { return step([n, v]); }; }
30
+ function step(op) {
31
+ if (f) throw new TypeError("Generator is already executing.");
32
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
33
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
34
+ if (y = 0, t) op = [op[0] & 2, t.value];
35
+ switch (op[0]) {
36
+ case 0: case 1: t = op; break;
37
+ case 4: _.label++; return { value: op[1], done: false };
38
+ case 5: _.label++; y = op[1]; op = [0]; continue;
39
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
40
+ default:
41
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
42
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
43
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
44
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
45
+ if (t[2]) _.ops.pop();
46
+ _.trys.pop(); continue;
47
+ }
48
+ op = body.call(thisArg, _);
49
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
50
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
51
+ }
52
+ };
53
+ Object.defineProperty(exports, "__esModule", { value: true });
54
+ exports.Reporter = void 0;
55
+ var provider_1 = require("./provider");
56
+ var types_1 = require("./types");
57
+ var Reporter = /** @class */ (function (_super) {
58
+ __extends(Reporter, _super);
59
+ function Reporter(url) {
60
+ return _super.call(this, url || process.env.WITNET_TOOLKIT_REPORTER_URL || "https://kermit.witnet.io") || this;
61
+ }
62
+ /// ---------------------------------------------------------------------------------------------------------------
63
+ Reporter.prototype.peers = function () {
64
+ return this.callApiMethod(types_1.Methods.KnownPeers);
65
+ };
66
+ Reporter.prototype.providers = function () {
67
+ return __awaiter(this, void 0, void 0, function () {
68
+ return __generator(this, function (_a) {
69
+ return [2 /*return*/, this.callApiMethod(types_1.Methods.Providers)];
70
+ });
71
+ });
72
+ };
73
+ /// Get supply info
74
+ Reporter.prototype.supplyInfo = function () {
75
+ return __awaiter(this, void 0, void 0, function () {
76
+ return __generator(this, function (_a) {
77
+ return [2 /*return*/, this.callApiMethod(types_1.Methods.GetSupplyInfo)];
78
+ });
79
+ });
80
+ };
81
+ /// ---------------------------------------------------------------------------------------------------------------
82
+ Reporter.prototype.reportDataRequest = function (drTxHash, channel) {
83
+ return __awaiter(this, void 0, void 0, function () {
84
+ return __generator(this, function (_a) {
85
+ return [2 /*return*/, this.callApiMethod(types_1.Methods.DataRequestReport, [drTxHash, channel,])];
86
+ });
87
+ });
88
+ };
89
+ Reporter.prototype.searchDataRequests = function (radHash) {
90
+ return __awaiter(this, void 0, void 0, function () {
91
+ return __generator(this, function (_a) {
92
+ return [2 /*return*/, this.callApiMethod(types_1.Methods.SearchDataRequests, [radHash,])];
93
+ });
94
+ });
95
+ };
96
+ return Reporter;
97
+ }(provider_1.Provider));
98
+ exports.Reporter = Reporter;
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3JwYy9yZXBvcnRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSx1Q0FBZ0Q7QUFDaEQsaUNBQTJFO0FBVzNFO0lBQThCLDRCQUFRO0lBQ2xDLGtCQUFZLEdBQVk7UUFDcEIsT0FBQSxNQUFLLFlBQUMsR0FBRyxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsMkJBQTJCLElBQUksMEJBQTBCLENBQUMsU0FBQTtJQUN2RixDQUFDO0lBRUQsbUhBQW1IO0lBQzVHLHdCQUFLLEdBQVo7UUFDSSxPQUFPLElBQUksQ0FBQyxhQUFhLENBQWtCLGVBQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRVksNEJBQVMsR0FBdEI7OztnQkFDSSxzQkFBTyxJQUFJLENBQUMsYUFBYSxDQUFnQixlQUFPLENBQUMsU0FBUyxDQUFDLEVBQUE7OztLQUM5RDtJQUVELG1CQUFtQjtJQUNOLDZCQUFVLEdBQXZCOzs7Z0JBQ0ksc0JBQU8sSUFBSSxDQUFDLGFBQWEsQ0FBYSxlQUFPLENBQUMsYUFBYSxDQUFDLEVBQUE7OztLQUMvRDtJQUVELG1IQUFtSDtJQUN0RyxvQ0FBaUIsR0FBOUIsVUFBK0IsUUFBYyxFQUFFLE9BQWdCOzs7Z0JBQzNELHNCQUFPLElBQUksQ0FBQyxhQUFhLENBQW9CLGVBQU8sQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUcsQ0FBQyxFQUFBOzs7S0FDakc7SUFFWSxxQ0FBa0IsR0FBL0IsVUFBZ0MsT0FBYTs7O2dCQUN6QyxzQkFBTyxJQUFJLENBQUMsYUFBYSxDQUFNLGVBQU8sQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLE9BQU8sRUFBRyxDQUFDLEVBQUE7OztLQUMxRTtJQUNMLGVBQUM7QUFBRCxDQUFDLEFBM0JELENBQThCLG1CQUFRLEdBMkJyQztBQTNCWSw0QkFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElQcm92aWRlciwgUHJvdmlkZXIgfSBmcm9tIFwiLi9wcm92aWRlclwiXG5pbXBvcnQgeyBEYXRhUmVxdWVzdFJlcG9ydCwgTWV0aG9kcywgUGVlckFkZHIsIFN1cHBseUluZm8sIH0gZnJvbSBcIi4vdHlwZXNcIlxuaW1wb3J0IHsgSGFzaCB9IGZyb20gXCIuLi90eXBlc1wiXG5cbmV4cG9ydCBpbnRlcmZhY2UgSVJlcG9ydGVyIGV4dGVuZHMgSVByb3ZpZGVyIHtcbiAgICBwcm92aWRlcnMoKTogUHJvbWlzZTxBcnJheTxzdHJpbmc+PlxuICAgIHN1cHBseUluZm8oKTogUHJvbWlzZTxTdXBwbHlJbmZvPjtcblxuICAgIGdldERhdGFSZXF1ZXN0KGRyVHhIYXNoOiBIYXNoLCBjaGFubmVsPzogc3RyaW5nKTogUHJvbWlzZTxEYXRhUmVxdWVzdFJlcG9ydD5cbiAgICBzZWFyY2hEYXRhUmVxdWVzdHMocmFkSGFzaDogSGFzaCk6IFByb21pc2U8YW55Pjtcbn1cblxuZXhwb3J0IGNsYXNzIFJlcG9ydGVyIGV4dGVuZHMgUHJvdmlkZXIgaW1wbGVtZW50cyBJUmVwb3J0ZXIge1xuICAgIGNvbnN0cnVjdG9yKHVybD86IHN0cmluZykge1xuICAgICAgICBzdXBlcih1cmwgfHwgcHJvY2Vzcy5lbnYuV0lUTkVUX1RPT0xLSVRfUkVQT1JURVJfVVJMIHx8IFwiaHR0cHM6Ly9rZXJtaXQud2l0bmV0LmlvXCIpXG4gICAgfVxuICAgIFxuICAgIC8vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBwdWJsaWMgcGVlcnMoKTogUHJvbWlzZTxBcnJheTxQZWVyQWRkcj4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FsbEFwaU1ldGhvZDxBcnJheTxQZWVyQWRkcj4+KE1ldGhvZHMuS25vd25QZWVycyk7XG4gICAgfVxuICAgIFxuICAgIHB1YmxpYyBhc3luYyBwcm92aWRlcnMoKTogUHJvbWlzZTxBcnJheTxzdHJpbmc+PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNhbGxBcGlNZXRob2Q8QXJyYXk8c3RyaW5nPj4oTWV0aG9kcy5Qcm92aWRlcnMpXG4gICAgfVxuICAgIFxuICAgIC8vLyBHZXQgc3VwcGx5IGluZm9cbiAgICBwdWJsaWMgYXN5bmMgc3VwcGx5SW5mbygpOiBQcm9taXNlPFN1cHBseUluZm8+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FsbEFwaU1ldGhvZDxTdXBwbHlJbmZvPihNZXRob2RzLkdldFN1cHBseUluZm8pXG4gICAgfVxuICAgIFxuICAgIC8vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBwdWJsaWMgYXN5bmMgcmVwb3J0RGF0YVJlcXVlc3QoZHJUeEhhc2g6IEhhc2gsIGNoYW5uZWw/OiBzdHJpbmcpOiBQcm9taXNlPERhdGFSZXF1ZXN0UmVwb3J0PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNhbGxBcGlNZXRob2Q8RGF0YVJlcXVlc3RSZXBvcnQ+KE1ldGhvZHMuRGF0YVJlcXVlc3RSZXBvcnQsIFtkclR4SGFzaCwgY2hhbm5lbCwgXSlcbiAgICB9XG4gICAgXG4gICAgcHVibGljIGFzeW5jIHNlYXJjaERhdGFSZXF1ZXN0cyhyYWRIYXNoOiBIYXNoKTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FsbEFwaU1ldGhvZDxhbnk+KE1ldGhvZHMuU2VhcmNoRGF0YVJlcXVlc3RzLCBbcmFkSGFzaCwgXSlcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,396 @@
1
+ import { PublicKeyHashString } from "../crypto/types";
2
+ import { Epoch, Hash, Nanowits, f64, i64, u8, u16, u32, u64, usize } from "../types";
3
+ export declare enum Methods {
4
+ AddPeers = "addPeers",
5
+ AuthorizeStake = "authorizeStake",
6
+ ClearPeers = "clearPeers",
7
+ DataRequestReport = "dataRequestReport",
8
+ GetBalance = "getBalance",
9
+ GetBalance2 = "getBalance2",
10
+ GetBlockChain = "getBlockChain",
11
+ GetBlock = "getBlock",
12
+ GetConsensusConstants = "getConsensusConstants",
13
+ GetMempool = "getMempool",
14
+ GetPkh = "getPkh",
15
+ GetPublicKey = "getPublicKey",
16
+ GetSuperblock = "getSuperblock",
17
+ GetSupplyInfo = "getSupplyInfo2",
18
+ GetTransaction = "getTransaction",
19
+ GetUtxoInfo = "getUtxoInfo",
20
+ InitializePeers = "initializePeers",
21
+ Inventory = "inventory",
22
+ KnownPeers = "knownPeers",
23
+ MasterKeyExport = "masterKeyExport",
24
+ NodeStats = "nodeStats",
25
+ Peers = "peers",
26
+ Priority = "priority",
27
+ Protocol = "protocol",
28
+ Providers = "providers",
29
+ QueryStakingPowers = "queryPowers",
30
+ QueryStakes = "queryStakes",
31
+ Rewind = "rewind",
32
+ SearchDataRequests = "searchDataRequests",
33
+ SignalingInfo = "signalingInfo",
34
+ SyncStatus = "syncStatus"
35
+ }
36
+ export type Network = "mainnet" | "testnet";
37
+ export type QueryStakes = {
38
+ filter?: {
39
+ validator?: PublicKeyHashString;
40
+ withdrawer?: PublicKeyHashString;
41
+ };
42
+ params?: QueryStakesParams;
43
+ };
44
+ export type QueryStakesParams = {
45
+ distinct?: boolean;
46
+ limit?: number;
47
+ offset?: number;
48
+ order?: QueryStakesOrder;
49
+ since?: number;
50
+ };
51
+ export type QueryStakesOrder = {
52
+ by: StakesOrderBy;
53
+ reverse?: boolean;
54
+ };
55
+ export declare enum StakesOrderBy {
56
+ Coins = "coins",
57
+ Nonce = "nonce",
58
+ Mining = "mining",
59
+ Witnessing = "witnessing"
60
+ }
61
+ export type QueryStakingPowers = {
62
+ distinct?: boolean;
63
+ limit?: number;
64
+ offset?: number;
65
+ orderBy?: StakingCapability;
66
+ };
67
+ export type Balance = {
68
+ confirmed?: u64;
69
+ total: u64;
70
+ };
71
+ export type Balance2 = {
72
+ locked: u64;
73
+ staked: u64;
74
+ unlocked: u64;
75
+ };
76
+ export type BitVotesCounter = {
77
+ votes: u32;
78
+ period: Epoch;
79
+ wip: string;
80
+ init: Epoch;
81
+ end: Epoch;
82
+ bit: usize;
83
+ };
84
+ export type Block = {
85
+ block_header: BlockHeader;
86
+ block_sig: KeyedSignature;
87
+ block_weight: number;
88
+ confirmed: boolean;
89
+ dr_weight: number;
90
+ txns_hashes?: BlockTransactionsHashes;
91
+ vt_weight: number;
92
+ };
93
+ export type BlockEligibilityClaim = {
94
+ proof: VrfProof;
95
+ };
96
+ export type BlockHeader = {
97
+ beacon: CheckpointBeacon;
98
+ bn256_public_key?: Bn256PublicKey;
99
+ merkle_roots: BlockMerkleRoots;
100
+ proof: BlockEligibilityClaim;
101
+ signals: u32;
102
+ };
103
+ export type BlockMerkleRoots = {
104
+ commit_hash_merkle_root: Hash;
105
+ dr_hash_merkle_root: Hash;
106
+ mint_hash: Hash;
107
+ reveal_hash_merkle_root: Hash;
108
+ tally_hash_merkle_root: Hash;
109
+ vt_hash_merkle_root: Hash;
110
+ };
111
+ export type BlockTransactionsHashes = {
112
+ commit: Array<Hash>;
113
+ data_request: Array<Hash>;
114
+ mint: Hash;
115
+ reveal: Array<Hash>;
116
+ tally: Array<Hash>;
117
+ value_transfer: Array<Hash>;
118
+ };
119
+ export type Bn256PublicKey = {
120
+ public_key: Array<u8>;
121
+ uncompressed: Array<u8>;
122
+ };
123
+ export type CheckpointBeacon = {
124
+ checkpoint: Epoch;
125
+ hashPrevBlock: Hash;
126
+ };
127
+ export type ConsensusConstants = {
128
+ checkpoint_zero_timestamp: i64;
129
+ checkpoints_period: u16;
130
+ bootstrap_hash: Hash;
131
+ genesis_hash: Hash;
132
+ max_vt_weight: u32;
133
+ max_dr_weight: u32;
134
+ activity_period: u32;
135
+ reputation_expire_alpha_diff: u32;
136
+ reputation_issuance: u32;
137
+ reputation_issuance_stop: u32;
138
+ reputation_penalization_factor: f64;
139
+ mining_backup_factor: u32;
140
+ mining_replication_factor: u32;
141
+ collateral_minimum: u64;
142
+ collateral_age: u32;
143
+ superblock_period: u16;
144
+ extra_rounds: u16;
145
+ minimum_difficulty: u32;
146
+ epochs_with_minimum_difficulty: u32;
147
+ bootstrapping_committee: Array<string>;
148
+ superblock_signing_committee_size: u32;
149
+ superblock_committee_decreasing_period: u32;
150
+ superblock_committee_decreasing_step: u32;
151
+ initial_block_reward: u64;
152
+ halving_period: u32;
153
+ };
154
+ export type DataRequestPayload = {
155
+ dataRequest: RADRequest;
156
+ witness_reward: number;
157
+ witnesses: number;
158
+ commitAndRevealFee: number;
159
+ minConsensusPercentage: number;
160
+ collateral: number;
161
+ };
162
+ export type DataRequestReport = {
163
+ commits: Record<PublicKeyHashString, DataRequestCommitTransaction>;
164
+ reveals: Record<PublicKeyHashString, DataRequestRevealTransaction>;
165
+ tally?: DataRequestTallyTransaction;
166
+ block_hash_dr_tx?: Hash;
167
+ block_hash_tally_tx?: Hash;
168
+ current_commit_round: u16;
169
+ current_reveal_round: u16;
170
+ current_stage?: DataRequestStage;
171
+ };
172
+ export declare enum DataRequestStage {
173
+ COMMIT = "COMMIT",
174
+ REVEAL = "REVEAL",
175
+ TALLY = "TALLY"
176
+ }
177
+ export type PriorityEstimate = {
178
+ priority: f64;
179
+ time_to_block: u64;
180
+ };
181
+ export type Priorities = {
182
+ drt_stinky: PriorityEstimate;
183
+ drt_low: PriorityEstimate;
184
+ drt_medium: PriorityEstimate;
185
+ drt_high: PriorityEstimate;
186
+ drt_opulent: PriorityEstimate;
187
+ vtt_stinky: PriorityEstimate;
188
+ vtt_low: PriorityEstimate;
189
+ vtt_medium: PriorityEstimate;
190
+ vtt_high: PriorityEstimate;
191
+ vtt_opulent: PriorityEstimate;
192
+ };
193
+ export type KeyedSignature = {
194
+ signature: Signature;
195
+ public_key: {
196
+ compressed: number;
197
+ bytes: Array<u8>;
198
+ };
199
+ };
200
+ export type Mempool = {
201
+ value_transfer: Array<Hash>;
202
+ data_request: Array<Hash>;
203
+ };
204
+ export type PeerAddr = {
205
+ address: string;
206
+ type: string;
207
+ };
208
+ export type ProtocolInfo = {
209
+ all_checkpoints_periods: Record<string, u8>;
210
+ all_versions: {
211
+ efv: Record<string, Epoch>;
212
+ vfe: Record<Epoch, string>;
213
+ };
214
+ current_version: string;
215
+ };
216
+ export type RADAggregate = {
217
+ filters: Array<RADFilter>;
218
+ reducer: u32;
219
+ };
220
+ export type RADFilter = {
221
+ op: u32;
222
+ args: Array<u8>;
223
+ };
224
+ export type RADRequest = {
225
+ timeLock: number;
226
+ retrieve: Array<RADRetrieve>;
227
+ aggregate: RADAggregate;
228
+ tally: RADTally;
229
+ };
230
+ export type RADRetrieve = {
231
+ type: RADType;
232
+ url: string;
233
+ script: Array<u8>;
234
+ };
235
+ export type RADTally = {
236
+ filters: Array<RADFilter>;
237
+ reducer: u32;
238
+ };
239
+ export declare enum RADType {
240
+ HttpGet = "HTTP-GET",
241
+ HttpPost = "HTTP-POST",
242
+ HttpHead = "HTTP-HEAD",
243
+ Rng = "RNG"
244
+ }
245
+ export type Secp256k1Signature = {
246
+ der: Array<u8>;
247
+ };
248
+ export type SignalingInfo = {
249
+ active_upgrades: Record<string, Epoch>;
250
+ pending_upgrades: Array<BitVotesCounter>;
251
+ epoch: Epoch;
252
+ };
253
+ export type Signature = {
254
+ Secp256k1: Secp256k1Signature;
255
+ };
256
+ export declare enum StateMachine {
257
+ WaitingConsensus = "WaitingConsensus",
258
+ Synchronizing = "Synchronizing ",
259
+ AlmostSynced = "AlmostSynced",
260
+ Synced = "Synced"
261
+ }
262
+ export type StakeAuthorization = {
263
+ withdrawer: PublicKeyHashString;
264
+ signature: KeyedSignature;
265
+ };
266
+ export type StakeDelegate = {
267
+ coins: Nanowits;
268
+ validator: PublicKeyHashString;
269
+ };
270
+ export type StakeEntry = {
271
+ key: {
272
+ validator: PublicKeyHashString;
273
+ withdrawer: PublicKeyHashString;
274
+ };
275
+ value: {
276
+ coins: Nanowits;
277
+ epochs: Record<StakingCapability, Epoch>;
278
+ nonce: u64;
279
+ };
280
+ };
281
+ export type Stake = {
282
+ total: Nanowits;
283
+ delegates: Array<StakeDelegate>;
284
+ };
285
+ export declare enum StakingCapability {
286
+ Mining = "mining",
287
+ Witnessing = "witnessing"
288
+ }
289
+ export type StakingPower = {
290
+ power?: u64;
291
+ ranking?: u32;
292
+ validator: PublicKeyHashString;
293
+ withdrawer: PublicKeyHashString;
294
+ };
295
+ export type SuperblockReport = {
296
+ superblock: {
297
+ signing_committee_length: u32;
298
+ ars_root: Hash;
299
+ data_request_root: Hash;
300
+ index: u32;
301
+ last_block: Hash;
302
+ last_block_in_previous_superblock: Hash;
303
+ tally_root: Hash;
304
+ };
305
+ consolidated_block_hashes: Array<Hash>;
306
+ };
307
+ export type SupplyInfo = {
308
+ epoch: u32;
309
+ current_time: u64;
310
+ blocks_minted: u32;
311
+ blocks_minted_reward: u64;
312
+ burnt_supply: u64;
313
+ current_locked_supply: u64;
314
+ current_staked_supply: u64;
315
+ current_unlocked_supply: u64;
316
+ initial_supply: u64;
317
+ requests_in_flight_collateral: u64;
318
+ };
319
+ export type SyncStatus = {
320
+ chain_beacon: CheckpointBeacon;
321
+ current_epoch?: Epoch;
322
+ node_state: StateMachine;
323
+ };
324
+ export type UtxoInfo = {
325
+ utxos: Array<UtxoMetadata>;
326
+ collateral_min: u64;
327
+ };
328
+ export type UtxoMetadata = {
329
+ output_pointer: string;
330
+ timelock: u64;
331
+ utxo_mature?: boolean;
332
+ value: u64;
333
+ };
334
+ export type ValueTransferOutput = {
335
+ pkh: Hash;
336
+ value: u64;
337
+ time_lock: u64;
338
+ };
339
+ export type VrfProof = {
340
+ proof: Uint8Array;
341
+ public_key: Uint8Array;
342
+ };
343
+ export type TransactionReport = {
344
+ blockEpoch: Epoch;
345
+ blockHash: Hash;
346
+ confirmed: boolean;
347
+ transaction: {
348
+ Reveal?: DataRequestRevealTransaction;
349
+ Commit?: DataRequestCommitTransaction;
350
+ Tally?: DataRequestTallyTransaction;
351
+ };
352
+ };
353
+ export type DataRequestCommitTransaction = {
354
+ body: DataRequestCommitTransactionBody;
355
+ signatures: Array<KeyedSignature>;
356
+ };
357
+ export type DataRequestCommitTransactionBody = {
358
+ dr_pointer: Hash;
359
+ commitment: Hash;
360
+ outputs: Array<ValueTransferOutput>;
361
+ bn256_public_key?: Bn256PublicKey;
362
+ hash: Hash;
363
+ };
364
+ export type DataRequestRevealTransaction = {
365
+ body: DataRequestRevealTransactionBody;
366
+ signatures: Array<KeyedSignature>;
367
+ };
368
+ export type DataRequestRevealTransactionBody = {
369
+ dr_pointer: Hash;
370
+ reveal: Array<u8>;
371
+ pkh: {
372
+ hash: Uint8Array;
373
+ };
374
+ hash: Hash;
375
+ };
376
+ export type DataRequestTallyTransaction = {
377
+ dr_pointer: Hash;
378
+ tally: Uint8Array;
379
+ outputs: Array<ValueTransferOutput>;
380
+ out_of_consensus: Array<{
381
+ hash: Uint8Array;
382
+ }>;
383
+ error_committers: Array<{
384
+ hash: Uint8Array;
385
+ }>;
386
+ };
387
+ export type NodeStats = {
388
+ block_proposed_count: u32;
389
+ block_mined_count: u32;
390
+ dr_eligibility_count: u32;
391
+ commits_proposed_count: u32;
392
+ commits_count: u32;
393
+ last_block_proposed: Hash;
394
+ slashed_count: u32;
395
+ };
396
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/rpc/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AACrD,OAAO,EACH,KAAK,EACL,IAAI,EACJ,QAAQ,EACR,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EACrC,MAAM,UAAU,CAAA;AAEjB,oBAAY,OAAO;IACf,QAAQ,aAAa;IACrB,cAAc,mBAAmB;IACjC,UAAU,eAAe;IACzB,iBAAiB,sBAAsB;IACvC,UAAU,eAAe;IACzB,WAAW,gBAAgB;IAC3B,aAAa,kBAAkB;IAC/B,QAAQ,aAAa;IACrB,qBAAqB,0BAA0B;IAC/C,UAAU,eAAe;IACzB,MAAM,WAAW;IACjB,YAAY,iBAAiB;IAC7B,aAAa,kBAAkB;IAC/B,aAAa,mBAAmB;IAChC,cAAc,mBAAmB;IACjC,WAAW,gBAAgB;IAC3B,eAAe,oBAAoB;IACnC,SAAS,cAAc;IACvB,UAAU,eAAe;IACzB,eAAe,oBAAoB;IACnC,SAAS,cAAc;IACvB,KAAK,UAAU;IACf,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,SAAS,cAAc;IACvB,kBAAkB,gBAAgB;IAClC,WAAW,gBAAgB;IAC3B,MAAM,WAAW;IACjB,kBAAkB,uBAAuB;IACzC,aAAa,kBAAkB;IAC/B,UAAU,eAAe;CAC5B;AAED,MAAM,MAAM,OAAO,GAAG,SAAS,GAAG,SAAS,CAAA;AAE3C,MAAM,MAAM,WAAW,GAAG;IACtB,MAAM,CAAC,EAAE;QACL,SAAS,CAAC,EAAE,mBAAmB,CAAC;QAChC,UAAU,CAAC,EAAE,mBAAmB,CAAC;KACpC,CAAC;IACF,MAAM,CAAC,EAAE,iBAAiB,CAAC;CAC9B,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC3B,EAAE,EAAE,aAAa,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB,CAAA;AAED,oBAAY,aAAa;IACrB,KAAK,UAAU;IACf,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,UAAU,eAAe;CAC5B;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,iBAAiB,CAAC;CAC/B,CAAA;AAGD,MAAM,MAAM,OAAO,GAAG;IAElB,SAAS,CAAC,EAAE,GAAG,CAAC;IAEhB,KAAK,EAAE,GAAG,CAAC;CACd,CAAC;AAGF,MAAM,MAAM,QAAQ,GAAG;IACnB,MAAM,EAAE,GAAG,CAAC;IACZ,MAAM,EAAE,GAAG,CAAC;IACZ,QAAQ,EAAE,GAAG,CAAC;CACjB,CAAA;AAGD,MAAM,MAAM,eAAe,GAAG;IAC1B,KAAK,EAAE,GAAG,CAAC;IACX,MAAM,EAAE,KAAK,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,KAAK,CAAC;IACZ,GAAG,EAAE,KAAK,CAAC;IACX,GAAG,EAAE,KAAK,CAAC;CACd,CAAC;AAGF,MAAM,MAAM,KAAK,GAAG;IAChB,YAAY,EAAE,WAAW,CAAC;IAC1B,SAAS,EAAE,cAAc,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAElB,WAAW,CAAC,EAAE,uBAAuB,CAAC;IACtC,SAAS,EAAE,MAAM,CAAC;CACrB,CAAC;AAGF,MAAM,MAAM,qBAAqB,GAAG;IAEhC,KAAK,EAAE,QAAQ,CAAC;CACnB,CAAC;AAGF,MAAM,MAAM,WAAW,GAAG;IAEtB,MAAM,EAAE,gBAAgB,CAAC;IAEzB,gBAAgB,CAAC,EAAE,cAAc,CAAC;IAElC,YAAY,EAAE,gBAAgB,CAAC;IAE/B,KAAK,EAAE,qBAAqB,CAAC;IAG7B,OAAO,EAAE,GAAG,CAAC;CAChB,CAAC;AAGF,MAAM,MAAM,gBAAgB,GAAG;IAE3B,uBAAuB,EAAE,IAAI,CAAC;IAE9B,mBAAmB,EAAE,IAAI,CAAC;IAE1B,SAAS,EAAE,IAAI,CAAC;IAEhB,uBAAuB,EAAE,IAAI,CAAC;IAE9B,sBAAsB,EAAE,IAAI,CAAC;IAE7B,mBAAmB,EAAE,IAAI,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IAClC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IACpB,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1B,IAAI,EAAE,IAAI,CAAC;IACX,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IACpB,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IACnB,cAAc,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;CAC9B,CAAA;AAGD,MAAM,MAAM,cAAc,GAAG;IAEzB,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;IAEtB,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAE3B,UAAU,EAAE,KAAK,CAAC;IAElB,aAAa,EAAE,IAAI,CAAC;CACvB,CAAC;AAGF,MAAM,MAAM,kBAAkB,GAAG;IAE7B,yBAAyB,EAAE,GAAG,CAAC;IAG/B,kBAAkB,EAAE,GAAG,CAAC;IAGxB,cAAc,EAAE,IAAI,CAAC;IAGrB,YAAY,EAAE,IAAI,CAAC;IAQnB,aAAa,EAAE,GAAG,CAAC;IAGnB,aAAa,EAAE,GAAG,CAAC;IAGnB,eAAe,EAAE,GAAG,CAAC;IAGrB,4BAA4B,EAAE,GAAG,CAAC;IAGlC,mBAAmB,EAAE,GAAG,CAAC;IAGzB,wBAAwB,EAAE,GAAG,CAAC;IAI9B,8BAA8B,EAAE,GAAG,CAAC;IAGpC,oBAAoB,EAAE,GAAG,CAAC;IAG1B,yBAAyB,EAAE,GAAG,CAAC;IAG/B,kBAAkB,EAAE,GAAG,CAAC;IAGxB,cAAc,EAAE,GAAG,CAAC;IAGpB,iBAAiB,EAAE,GAAG,CAAC;IAGvB,YAAY,EAAE,GAAG,CAAC;IAGlB,kBAAkB,EAAE,GAAG,CAAC;IAIxB,8BAA8B,EAAE,GAAG,CAAC;IAGpC,uBAAuB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAGvC,iCAAiC,EAAE,GAAG,CAAC;IAGvC,sCAAsC,EAAE,GAAG,CAAC;IAG5C,oCAAoC,EAAE,GAAG,CAAC;IAG1C,oBAAoB,EAAE,GAAG,CAAC;IAG1B,cAAc,EAAE,GAAG,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC7B,WAAW,EAAE,UAAU,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;CACtB,CAAC;AAGF,MAAM,MAAM,iBAAiB,GAAG;IAE5B,OAAO,EAAE,MAAM,CAAC,mBAAmB,EAAE,4BAA4B,CAAC,CAAC;IAEnE,OAAO,EAAE,MAAM,CAAC,mBAAmB,EAAE,4BAA4B,CAAC,CAAC;IAEnE,KAAK,CAAC,EAAE,2BAA2B,CAAC;IAEpC,gBAAgB,CAAC,EAAE,IAAI,CAAC;IAExB,mBAAmB,CAAC,EAAE,IAAI,CAAC;IAE3B,oBAAoB,EAAE,GAAG,CAAC;IAE1B,oBAAoB,EAAE,GAAG,CAAC;IAE1B,aAAa,CAAC,EAAE,gBAAgB,CAAC;CACpC,CAAC;AAGF,oBAAY,gBAAgB;IAExB,MAAM,WAAW;IAEjB,MAAM,WAAW;IAEjB,KAAK,UAAU;CAClB;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC3B,QAAQ,EAAE,GAAG,CAAC;IACd,aAAa,EAAE,GAAG,CAAC;CACtB,CAAA;AAED,MAAM,MAAM,UAAU,GAAG;IACrB,UAAU,EAAE,gBAAgB,CAAC;IAC7B,OAAO,EAAE,gBAAgB,CAAC;IAC1B,UAAU,EAAE,gBAAgB,CAAC;IAC7B,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,WAAW,EAAE,gBAAgB,CAAC;IAC9B,UAAU,EAAE,gBAAgB,CAAC;IAC7B,OAAO,EAAE,gBAAgB,CAAC;IAC1B,UAAU,EAAE,gBAAgB,CAAC;IAC7B,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,WAAW,EAAE,gBAAgB,CAAC;CACjC,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAEzB,SAAS,EAAE,SAAS,CAAC;IAErB,UAAU,EAAE;QACR,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;KACpB,CAAC;CACL,CAAC;AAGF,MAAM,MAAM,OAAO,GAAG;IAElB,cAAc,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAE5B,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;CAC7B,CAAC;AAGF,MAAM,MAAM,QAAQ,GAAG;IAEnB,OAAO,EAAE,MAAM,CAAC;IAGhB,IAAI,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACvB,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC5C,YAAY,EAAE;QACV,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC3B,GAAG,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;KAC9B,CAAC;IACF,eAAe,EAAE,MAAM,CAAC;CAC3B,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IAAE,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAAC,OAAO,EAAE,GAAG,CAAA;CAAE,CAAC;AACvE,MAAM,MAAM,SAAS,GAAG;IAAE,EAAE,EAAE,GAAG,CAAC;IAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,CAAA;CAAE,CAAC;AACrD,MAAM,MAAM,UAAU,GAAG;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;IAC7B,SAAS,EAAE,YAAY,CAAC;IACxB,KAAK,EAAE,QAAQ,CAAC;CACnB,CAAC;AACF,MAAM,MAAM,WAAW,GAAG;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,CAAA;CAAE,CAAC;AAC5E,MAAM,MAAM,QAAQ,GAAG;IACnB,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAC1B,OAAO,EAAE,GAAG,CAAC;CAChB,CAAC;AAEF,oBAAY,OAAO;IACf,OAAO,aAAa;IACpB,QAAQ,cAAc;IACtB,QAAQ,cAAc;IACtB,GAAG,QAAQ;CACd;AAGD,MAAM,MAAM,kBAAkB,GAAG;IAE7B,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;CAClB,CAAC;AAGF,MAAM,MAAM,aAAa,GAAG;IAExB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAEvC,gBAAgB,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;IAEzC,KAAK,EAAE,KAAK,CAAC;CACd,CAAC;AAGJ,MAAM,MAAM,SAAS,GAAG;IAEpB,SAAS,EAAE,kBAAkB,CAAC;CACjC,CAAA;AAGD,oBAAY,YAAY;IAEpB,gBAAgB,qBAAqB;IAErC,aAAa,mBAAmB;IAGhC,YAAY,iBAAiB;IAG7B,MAAM,WAAW;CACpB;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC7B,UAAU,EAAE,mBAAmB,CAAC;IAChC,SAAS,EAAE,cAAc,CAAC;CAC7B,CAAA;AAED,MAAM,MAAM,aAAa,GAAG;IACxB,KAAK,EAAE,QAAQ,CAAC;IAChB,SAAS,EAAE,mBAAmB,CAAC;CAClC,CAAA;AAED,MAAM,MAAM,UAAU,GAAG;IACrB,GAAG,EAAE;QACD,SAAS,EAAE,mBAAmB,CAAC;QAC/B,UAAU,EAAE,mBAAmB,CAAC;KACnC,CAAC;IACF,KAAK,EAAE;QACH,KAAK,EAAE,QAAQ,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;QACzC,KAAK,EAAE,GAAG,CAAC;KACd,CAAA;CACJ,CAAA;AAED,MAAM,MAAM,KAAK,GAAG;IAChB,KAAK,EAAE,QAAQ,CAAC;IAChB,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;CACnC,CAAA;AAED,oBAAY,iBAAiB;IACzB,MAAM,WAAW;IACjB,UAAU,eAAe;CAC5B;AAED,MAAM,MAAM,YAAY,GAAG;IACvB,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,SAAS,EAAE,mBAAmB,CAAC;IAC/B,UAAU,EAAE,mBAAmB,CAAC;CACnC,CAAA;AAKD,MAAM,MAAM,gBAAgB,GAAG;IAE3B,UAAU,EAAE;QAER,wBAAwB,EAAE,GAAG,CAAC;QAE9B,QAAQ,EAAE,IAAI,CAAC;QAEf,iBAAiB,EAAE,IAAI,CAAC;QAExB,KAAK,EAAE,GAAG,CAAC;QAEX,UAAU,EAAE,IAAI,CAAC;QAEjB,iCAAiC,EAAE,IAAI,CAAC;QAExC,UAAU,EAAE,IAAI,CAAC;KACpB,CAAC;IAEF,yBAAyB,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;CAC1C,CAAC;AAIF,MAAM,MAAM,UAAU,GAAG;IAErB,KAAK,EAAE,GAAG,CAAC;IAEX,YAAY,EAAE,GAAG,CAAC;IAElB,aAAa,EAAE,GAAG,CAAC;IAEnB,oBAAoB,EAAE,GAAG,CAAC;IAE1B,YAAY,EAAE,GAAG,CAAC;IAElB,qBAAqB,EAAE,GAAG,CAAC;IAE3B,qBAAqB,EAAE,GAAG,CAAC;IAE3B,uBAAuB,EAAE,GAAG,CAAC;IAE7B,cAAc,EAAE,GAAG,CAAC;IAEpB,6BAA6B,EAAE,GAAG,CAAC;CACpC,CAAC;AAGJ,MAAM,MAAM,UAAU,GAAG;IAErB,YAAY,EAAE,gBAAgB,CAAC;IAE/B,aAAa,CAAC,EAAE,KAAK,CAAC;IAEtB,UAAU,EAAE,YAAY,CAAC;CAC5B,CAAC;AAGF,MAAM,MAAM,QAAQ,GAAG;IAEnB,KAAK,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;IAE3B,cAAc,EAAE,GAAG,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,GAAG,CAAC;IACd,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,KAAK,EAAE,GAAG,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAC9B,GAAG,EAAE,IAAI,CAAC;IACV,KAAK,EAAE,GAAG,CAAC;IACX,SAAS,EAAE,GAAG,CAAC;CAClB,CAAC;AAIF,MAAM,MAAM,QAAQ,GAAG;IACnB,KAAK,EAAE,UAAU,CAAC;IAClB,UAAU,EAAE,UAAU,CAAC;CAC1B,CAAC;AAMF,MAAM,MAAM,iBAAiB,GAAG;IAC5B,UAAU,EAAE,KAAK,CAAC;IAClB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE;QACT,MAAM,CAAC,EAAE,4BAA4B,CAAC;QACtC,MAAM,CAAC,EAAE,4BAA4B,CAAC;QACtC,KAAK,CAAC,EAAE,2BAA2B,CAAC;KACvC,CAAA;CACJ,CAAA;AAED,MAAM,MAAM,4BAA4B,GAAG;IACvC,IAAI,EAAE,gCAAgC,CAAC;IACvC,UAAU,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,gCAAgC,GAAG;IAE3C,UAAU,EAAE,IAAI,CAAC;IAEjB,UAAU,EAAE,IAAI,CAAC;IAGjB,OAAO,EAAE,KAAK,CAAC,mBAAmB,CAAC,CAAC;IAEpC,gBAAgB,CAAC,EAAE,cAAc,CAAC;IAElC,IAAI,EAAE,IAAI,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACvC,IAAI,EAAE,gCAAgC,CAAC;IACvC,UAAU,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,gCAAgC,GAAG;IAE3C,UAAU,EAAE,IAAI,CAAC;IAEjB,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;IAClB,GAAG,EAAE;QAAE,IAAI,EAAE,UAAU,CAAC;KAAE,CAAC;IAC3B,IAAI,EAAE,IAAI,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IAEtC,UAAU,EAAE,IAAI,CAAC;IAEjB,KAAK,EAAE,UAAU,CAAC;IAElB,OAAO,EAAE,KAAK,CAAC,mBAAmB,CAAC,CAAC;IAEpC,gBAAgB,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,UAAU,CAAA;KAAE,CAAC,CAAC;IAE9C,gBAAgB,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,UAAU,CAAA;KAAE,CAAC,CAAC;CAGjD,CAAC;AAGF,MAAM,MAAM,SAAS,GAAG;IAEpB,oBAAoB,EAAE,GAAG,CAAC;IAE1B,iBAAiB,EAAE,GAAG,CAAC;IAEvB,oBAAoB,EAAE,GAAG,CAAC;IAE1B,sBAAsB,EAAE,GAAG,CAAC;IAE5B,aAAa,EAAE,GAAG,CAAC;IAEnB,mBAAmB,EAAE,IAAI,CAAC;IAE1B,aAAa,EAAE,GAAG,CAAC;CACtB,CAAC"}
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StakingCapability = exports.StateMachine = exports.RADType = exports.DataRequestStage = exports.StakesOrderBy = exports.Methods = void 0;
4
+ var Methods;
5
+ (function (Methods) {
6
+ Methods["AddPeers"] = "addPeers";
7
+ Methods["AuthorizeStake"] = "authorizeStake";
8
+ Methods["ClearPeers"] = "clearPeers";
9
+ Methods["DataRequestReport"] = "dataRequestReport";
10
+ Methods["GetBalance"] = "getBalance";
11
+ Methods["GetBalance2"] = "getBalance2";
12
+ Methods["GetBlockChain"] = "getBlockChain";
13
+ Methods["GetBlock"] = "getBlock";
14
+ Methods["GetConsensusConstants"] = "getConsensusConstants";
15
+ Methods["GetMempool"] = "getMempool";
16
+ Methods["GetPkh"] = "getPkh";
17
+ Methods["GetPublicKey"] = "getPublicKey";
18
+ Methods["GetSuperblock"] = "getSuperblock";
19
+ Methods["GetSupplyInfo"] = "getSupplyInfo2";
20
+ Methods["GetTransaction"] = "getTransaction";
21
+ Methods["GetUtxoInfo"] = "getUtxoInfo";
22
+ Methods["InitializePeers"] = "initializePeers";
23
+ Methods["Inventory"] = "inventory";
24
+ Methods["KnownPeers"] = "knownPeers";
25
+ Methods["MasterKeyExport"] = "masterKeyExport";
26
+ Methods["NodeStats"] = "nodeStats";
27
+ Methods["Peers"] = "peers";
28
+ Methods["Priority"] = "priority";
29
+ Methods["Protocol"] = "protocol";
30
+ Methods["Providers"] = "providers";
31
+ Methods["QueryStakingPowers"] = "queryPowers";
32
+ Methods["QueryStakes"] = "queryStakes";
33
+ Methods["Rewind"] = "rewind";
34
+ Methods["SearchDataRequests"] = "searchDataRequests";
35
+ Methods["SignalingInfo"] = "signalingInfo";
36
+ Methods["SyncStatus"] = "syncStatus";
37
+ })(Methods || (exports.Methods = Methods = {}));
38
+ var StakesOrderBy;
39
+ (function (StakesOrderBy) {
40
+ StakesOrderBy["Coins"] = "coins";
41
+ StakesOrderBy["Nonce"] = "nonce";
42
+ StakesOrderBy["Mining"] = "mining";
43
+ StakesOrderBy["Witnessing"] = "witnessing";
44
+ })(StakesOrderBy || (exports.StakesOrderBy = StakesOrderBy = {}));
45
+ // Data request current stage
46
+ var DataRequestStage;
47
+ (function (DataRequestStage) {
48
+ //Expecting commitments for data request
49
+ DataRequestStage["COMMIT"] = "COMMIT";
50
+ //Expecting reveals to previously published commitments
51
+ DataRequestStage["REVEAL"] = "REVEAL";
52
+ //Expecting tally to be included in block
53
+ DataRequestStage["TALLY"] = "TALLY";
54
+ })(DataRequestStage || (exports.DataRequestStage = DataRequestStage = {}));
55
+ var RADType;
56
+ (function (RADType) {
57
+ RADType["HttpGet"] = "HTTP-GET";
58
+ RADType["HttpPost"] = "HTTP-POST";
59
+ RADType["HttpHead"] = "HTTP-HEAD";
60
+ RADType["Rng"] = "RNG";
61
+ })(RADType || (exports.RADType = RADType = {}));
62
+ // State machine for the synchronization status of a Witnet node
63
+ var StateMachine;
64
+ (function (StateMachine) {
65
+ // First state, ChainManager is waiting for reaching consensus between its peers
66
+ StateMachine["WaitingConsensus"] = "WaitingConsensus";
67
+ // Second state, ChainManager synchronization process
68
+ StateMachine["Synchronizing"] = "Synchronizing ";
69
+ // Third state, `ChainManager` has all the blocks in the chain and is ready to start
70
+ // consolidating block candidates in real time.
71
+ StateMachine["AlmostSynced"] = "AlmostSynced";
72
+ // Fourth state, `ChainManager` can consolidate block candidates, propose its own
73
+ // candidates (mining) and participate in resolving data requests (witnessing).
74
+ StateMachine["Synced"] = "Synced";
75
+ })(StateMachine || (exports.StateMachine = StateMachine = {}));
76
+ var StakingCapability;
77
+ (function (StakingCapability) {
78
+ StakingCapability["Mining"] = "mining";
79
+ StakingCapability["Witnessing"] = "witnessing";
80
+ })(StakingCapability || (exports.StakingCapability = StakingCapability = {}));
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3JwYy90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFRQSxJQUFZLE9BZ0NYO0FBaENELFdBQVksT0FBTztJQUNmLGdDQUFxQixDQUFBO0lBQ3JCLDRDQUFpQyxDQUFBO0lBQ2pDLG9DQUF5QixDQUFBO0lBQ3pCLGtEQUF1QyxDQUFBO0lBQ3ZDLG9DQUF5QixDQUFBO0lBQ3pCLHNDQUEyQixDQUFBO0lBQzNCLDBDQUErQixDQUFBO0lBQy9CLGdDQUFxQixDQUFBO0lBQ3JCLDBEQUErQyxDQUFBO0lBQy9DLG9DQUF5QixDQUFBO0lBQ3pCLDRCQUFpQixDQUFBO0lBQ2pCLHdDQUE2QixDQUFBO0lBQzdCLDBDQUErQixDQUFBO0lBQy9CLDJDQUFnQyxDQUFBO0lBQ2hDLDRDQUFpQyxDQUFBO0lBQ2pDLHNDQUEyQixDQUFBO0lBQzNCLDhDQUFtQyxDQUFBO0lBQ25DLGtDQUF1QixDQUFBO0lBQ3ZCLG9DQUF5QixDQUFBO0lBQ3pCLDhDQUFtQyxDQUFBO0lBQ25DLGtDQUF1QixDQUFBO0lBQ3ZCLDBCQUFlLENBQUE7SUFDZixnQ0FBcUIsQ0FBQTtJQUNyQixnQ0FBcUIsQ0FBQTtJQUNyQixrQ0FBdUIsQ0FBQTtJQUN2Qiw2Q0FBa0MsQ0FBQTtJQUNsQyxzQ0FBMkIsQ0FBQTtJQUMzQiw0QkFBaUIsQ0FBQTtJQUNqQixvREFBeUMsQ0FBQTtJQUN6QywwQ0FBK0IsQ0FBQTtJQUMvQixvQ0FBeUIsQ0FBQTtBQUM3QixDQUFDLEVBaENXLE9BQU8sdUJBQVAsT0FBTyxRQWdDbEI7QUF5QkQsSUFBWSxhQUtYO0FBTEQsV0FBWSxhQUFhO0lBQ3JCLGdDQUFlLENBQUE7SUFDZixnQ0FBZSxDQUFBO0lBQ2Ysa0NBQWlCLENBQUE7SUFDakIsMENBQXlCLENBQUE7QUFDN0IsQ0FBQyxFQUxXLGFBQWEsNkJBQWIsYUFBYSxRQUt4QjtBQTZORCw2QkFBNkI7QUFDN0IsSUFBWSxnQkFPWDtBQVBELFdBQVksZ0JBQWdCO0lBQ3hCLHdDQUF3QztJQUN4QyxxQ0FBaUIsQ0FBQTtJQUNqQix1REFBdUQ7SUFDdkQscUNBQWlCLENBQUE7SUFDakIseUNBQXlDO0lBQ3pDLG1DQUFlLENBQUE7QUFDbkIsQ0FBQyxFQVBXLGdCQUFnQixnQ0FBaEIsZ0JBQWdCLFFBTzNCO0FBc0VELElBQVksT0FLWDtBQUxELFdBQVksT0FBTztJQUNmLCtCQUFvQixDQUFBO0lBQ3BCLGlDQUFzQixDQUFBO0lBQ3RCLGlDQUFzQixDQUFBO0lBQ3RCLHNCQUFXLENBQUE7QUFDZixDQUFDLEVBTFcsT0FBTyx1QkFBUCxPQUFPLFFBS2xCO0FBd0JELGdFQUFnRTtBQUNoRSxJQUFZLFlBV1g7QUFYRCxXQUFZLFlBQVk7SUFDcEIsaUZBQWlGO0lBQ2pGLHFEQUFxQyxDQUFBO0lBQ3JDLHFEQUFxRDtJQUNyRCxnREFBZ0MsQ0FBQTtJQUNoQyxvRkFBb0Y7SUFDcEYsK0NBQStDO0lBQy9DLDZDQUE2QixDQUFBO0lBQzdCLGlGQUFpRjtJQUNqRiwrRUFBK0U7SUFDL0UsaUNBQWlCLENBQUE7QUFDckIsQ0FBQyxFQVhXLFlBQVksNEJBQVosWUFBWSxRQVd2QjtBQTZCRCxJQUFZLGlCQUdYO0FBSEQsV0FBWSxpQkFBaUI7SUFDekIsc0NBQWlCLENBQUE7SUFDakIsOENBQXlCLENBQUE7QUFDN0IsQ0FBQyxFQUhXLGlCQUFpQixpQ0FBakIsaUJBQWlCLFFBRzVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHVibGljS2V5SGFzaFN0cmluZyB9IGZyb20gXCIuLi9jcnlwdG8vdHlwZXNcIlxuaW1wb3J0IHtcbiAgICBFcG9jaCxcbiAgICBIYXNoLFxuICAgIE5hbm93aXRzLFxuICAgIGY2NCwgaTY0LCB1OCwgdTE2LCB1MzIsIHU2NCwgdXNpemUsXG59IGZyb20gXCIuLi90eXBlc1wiXG5cbmV4cG9ydCBlbnVtIE1ldGhvZHMge1xuICAgIEFkZFBlZXJzID0gXCJhZGRQZWVyc1wiLFxuICAgIEF1dGhvcml6ZVN0YWtlID0gXCJhdXRob3JpemVTdGFrZVwiLFxuICAgIENsZWFyUGVlcnMgPSBcImNsZWFyUGVlcnNcIixcbiAgICBEYXRhUmVxdWVzdFJlcG9ydCA9IFwiZGF0YVJlcXVlc3RSZXBvcnRcIixcbiAgICBHZXRCYWxhbmNlID0gXCJnZXRCYWxhbmNlXCIsXG4gICAgR2V0QmFsYW5jZTIgPSBcImdldEJhbGFuY2UyXCIsXG4gICAgR2V0QmxvY2tDaGFpbiA9IFwiZ2V0QmxvY2tDaGFpblwiLFxuICAgIEdldEJsb2NrID0gXCJnZXRCbG9ja1wiLFxuICAgIEdldENvbnNlbnN1c0NvbnN0YW50cyA9IFwiZ2V0Q29uc2Vuc3VzQ29uc3RhbnRzXCIsXG4gICAgR2V0TWVtcG9vbCA9IFwiZ2V0TWVtcG9vbFwiLFxuICAgIEdldFBraCA9IFwiZ2V0UGtoXCIsXG4gICAgR2V0UHVibGljS2V5ID0gXCJnZXRQdWJsaWNLZXlcIixcbiAgICBHZXRTdXBlcmJsb2NrID0gXCJnZXRTdXBlcmJsb2NrXCIsXG4gICAgR2V0U3VwcGx5SW5mbyA9IFwiZ2V0U3VwcGx5SW5mbzJcIixcbiAgICBHZXRUcmFuc2FjdGlvbiA9IFwiZ2V0VHJhbnNhY3Rpb25cIixcbiAgICBHZXRVdHhvSW5mbyA9IFwiZ2V0VXR4b0luZm9cIixcbiAgICBJbml0aWFsaXplUGVlcnMgPSBcImluaXRpYWxpemVQZWVyc1wiLFxuICAgIEludmVudG9yeSA9IFwiaW52ZW50b3J5XCIsXG4gICAgS25vd25QZWVycyA9IFwia25vd25QZWVyc1wiLFxuICAgIE1hc3RlcktleUV4cG9ydCA9IFwibWFzdGVyS2V5RXhwb3J0XCIsXG4gICAgTm9kZVN0YXRzID0gXCJub2RlU3RhdHNcIixcbiAgICBQZWVycyA9IFwicGVlcnNcIixcbiAgICBQcmlvcml0eSA9IFwicHJpb3JpdHlcIixcbiAgICBQcm90b2NvbCA9IFwicHJvdG9jb2xcIixcbiAgICBQcm92aWRlcnMgPSBcInByb3ZpZGVyc1wiLFxuICAgIFF1ZXJ5U3Rha2luZ1Bvd2VycyA9IFwicXVlcnlQb3dlcnNcIixcbiAgICBRdWVyeVN0YWtlcyA9IFwicXVlcnlTdGFrZXNcIixcbiAgICBSZXdpbmQgPSBcInJld2luZFwiLFxuICAgIFNlYXJjaERhdGFSZXF1ZXN0cyA9IFwic2VhcmNoRGF0YVJlcXVlc3RzXCIsXG4gICAgU2lnbmFsaW5nSW5mbyA9IFwic2lnbmFsaW5nSW5mb1wiLFxuICAgIFN5bmNTdGF0dXMgPSBcInN5bmNTdGF0dXNcIixcbn1cblxuZXhwb3J0IHR5cGUgTmV0d29yayA9IFwibWFpbm5ldFwiIHwgXCJ0ZXN0bmV0XCIgXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5U3Rha2VzID0ge1xuICAgIGZpbHRlcj86IHtcbiAgICAgICAgdmFsaWRhdG9yPzogUHVibGljS2V5SGFzaFN0cmluZyxcbiAgICAgICAgd2l0aGRyYXdlcj86IFB1YmxpY0tleUhhc2hTdHJpbmcsXG4gICAgfSxcbiAgICBwYXJhbXM/OiBRdWVyeVN0YWtlc1BhcmFtcyxcbn1cblxuZXhwb3J0IHR5cGUgUXVlcnlTdGFrZXNQYXJhbXMgPSB7XG4gICAgZGlzdGluY3Q/OiBib29sZWFuLFxuICAgIGxpbWl0PzogbnVtYmVyLFxuICAgIG9mZnNldD86IG51bWJlcixcbiAgICBvcmRlcj86IFF1ZXJ5U3Rha2VzT3JkZXI7XG4gICAgc2luY2U/OiBudW1iZXIsXG59XG5cbmV4cG9ydCB0eXBlIFF1ZXJ5U3Rha2VzT3JkZXIgPSB7XG4gICAgYnk6IFN0YWtlc09yZGVyQnk7XG4gICAgcmV2ZXJzZT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBlbnVtIFN0YWtlc09yZGVyQnkge1xuICAgIENvaW5zID0gXCJjb2luc1wiLFxuICAgIE5vbmNlID0gXCJub25jZVwiLFxuICAgIE1pbmluZyA9IFwibWluaW5nXCIsXG4gICAgV2l0bmVzc2luZyA9IFwid2l0bmVzc2luZ1wiLFxufVxuXG5leHBvcnQgdHlwZSBRdWVyeVN0YWtpbmdQb3dlcnMgPSB7XG4gICAgZGlzdGluY3Q/OiBib29sZWFuLFxuICAgIGxpbWl0PzogbnVtYmVyLFxuICAgIG9mZnNldD86IG51bWJlcixcbiAgICBvcmRlckJ5PzogU3Rha2luZ0NhcGFiaWxpdHksXG59XG5cbi8vIFN0cnVjdHVyZSB0aGF0IHRoZSBpbmNsdWRlcyB0aGUgY29uZmlybWVkIGFuZCBwZW5kaW5nIGJhbGFuY2Ugb2YgYSBub2RlXG5leHBvcnQgdHlwZSBCYWxhbmNlID0ge1xuICAgIC8vVG90YWwgYW1vdW50IG9mIGEgbm9kZSdzIGZ1bmRzIGFmdGVyIGxhc3QgY29uZmlybWVkIHN1cGVyYmxvY2tcbiAgICBjb25maXJtZWQ/OiB1NjQ7XG4gICAgLy9Ub3RhbCBhbW91bnQgb2Ygbm9kZSdzIGZ1bmRzIGFmdGVyIGxhc3QgYmxvY2tcbiAgICB0b3RhbDogdTY0O1xufTtcblxuLy8gQmFsYW5jZSBzdHJ1Y3QgaW4gV2l0LzIgY29udGFpbmluZyBsb2NrZWQsIHVubG9ja2VkIGFuZCBzdGFrZWQgYmFsYW5jZSBcbmV4cG9ydCB0eXBlIEJhbGFuY2UyID0ge1xuICAgIGxvY2tlZDogdTY0LFxuICAgIHN0YWtlZDogdTY0LFxuICAgIHVubG9ja2VkOiB1NjQsXG59XG5cbi8vU3RydWN0IHRoYXQgY291bnQgdGhlIHBvc2l0aXZlcyB2b3RlcyBvZiBhIFdJUFxuZXhwb3J0IHR5cGUgQml0Vm90ZXNDb3VudGVyID0ge1xuICAgIHZvdGVzOiB1MzI7XG4gICAgcGVyaW9kOiBFcG9jaDtcbiAgICB3aXA6IHN0cmluZztcbiAgICBpbml0OiBFcG9jaDtcbiAgICBlbmQ6IEVwb2NoO1xuICAgIGJpdDogdXNpemU7XG59O1xuXG4vLyBCbG9jayBkYXRhIHN0cnVjdHVyZVxuZXhwb3J0IHR5cGUgQmxvY2sgPSB7XG4gICAgYmxvY2tfaGVhZGVyOiBCbG9ja0hlYWRlcjtcbiAgICBibG9ja19zaWc6IEtleWVkU2lnbmF0dXJlO1xuICAgIGJsb2NrX3dlaWdodDogbnVtYmVyO1xuICAgIGNvbmZpcm1lZDogYm9vbGVhbjtcbiAgICBkcl93ZWlnaHQ6IG51bWJlcjtcbiAgICAvLyB0eG5zOiBCbG9ja1RyYW5zYWN0aW9ucztcbiAgICB0eG5zX2hhc2hlcz86IEJsb2NrVHJhbnNhY3Rpb25zSGFzaGVzO1xuICAgIHZ0X3dlaWdodDogbnVtYmVyO1xufTtcblxuLy8gQmxvY2sgbWluaW5nIGVsaWdpYmlsaXR5IGNsYWltXG5leHBvcnQgdHlwZSBCbG9ja0VsaWdpYmlsaXR5Q2xhaW0gPSB7XG4gICAgLy8gQSBWZXJpZmlhYmxlIFJhbmRvbSBGdW5jdGlvbiBwcm9vZiBvZiB0aGUgZWxpZ2liaWxpdHkgZm9yIGEgZ2l2ZW4gZXBvY2ggYW5kIHB1YmxpYyBrZXlcbiAgICBwcm9vZjogVnJmUHJvb2Y7XG59O1xuXG4vLyBCbG9jayBoZWFkZXIgc3RydWN0dXJlXG5leHBvcnQgdHlwZSBCbG9ja0hlYWRlciA9IHtcbiAgICAvLyBBIGNoZWNrcG9pbnQgYmVhY29uIGZvciB0aGUgZXBvY2ggdGhhdCB0aGlzIGJsb2NrIGlzIGNsb3NpbmdcbiAgICBiZWFjb246IENoZWNrcG9pbnRCZWFjb247XG4gICAgLy8gVGhlIEJuMjU2IHB1YmxpYyBrZXlcbiAgICBibjI1Nl9wdWJsaWNfa2V5PzogQm4yNTZQdWJsaWNLZXk7XG4gICAgLy8gMjU2LWJpdCBoYXNoZXMgb2YgYWxsIG9mIHRoZSB0cmFuc2FjdGlvbnMgY29tbWl0dGVkIHRvIHRoaXMgYmxvY2ssIHNvIGFzIHRvIHByb3ZlIHRoZWlyIGJlbG9uZ2luZyBhbmQgaW50ZWdyaXR5XG4gICAgbWVya2xlX3Jvb3RzOiBCbG9ja01lcmtsZVJvb3RzO1xuICAgIC8vIEEgbWluZXItcHJvdmlkZWQgcHJvb2Ygb2YgbGVhZGVyc2hpcFxuICAgIHByb29mOiBCbG9ja0VsaWdpYmlsaXR5Q2xhaW07XG4gICAgLy8gMzIgYml0cyBmb3IgYmluYXJ5IHNpZ25hbGluZyBuZXcgd2l0bmV0IHByb3RvY29sIGltcHJvdmVtZW50cy5cbiAgICAvLyBTZWUgW1dJUC0wMDE0XShodHRwczovL2dpdGh1Yi5jb20vd2l0bmV0L1dJUHMvYmxvYi9tYXN0ZXIvd2lwLTAwMTQubWQpIGZvciBtb3JlIGluZm8uXG4gICAgc2lnbmFsczogdTMyOyAgICBcbn07XG5cbi8vIEJsb2NrIG1lcmtsZSB0cmVlIHJvb3RzXG5leHBvcnQgdHlwZSBCbG9ja01lcmtsZVJvb3RzID0ge1xuICAgIC8vIEEgMjU2LWJpdCBoYXNoIGJhc2VkIG9uIGFsbCBvZiB0aGUgY29tbWl0IHRyYW5zYWN0aW9ucyBjb21taXR0ZWQgdG8gdGhpcyBibG9ja1xuICAgIGNvbW1pdF9oYXNoX21lcmtsZV9yb290OiBIYXNoO1xuICAgIC8vIEEgMjU2LWJpdCBoYXNoIGJhc2VkIG9uIGFsbCBvZiB0aGUgZGF0YSByZXF1ZXN0IHRyYW5zYWN0aW9ucyBjb21taXR0ZWQgdG8gdGhpcyBibG9ja1xuICAgIGRyX2hhc2hfbWVya2xlX3Jvb3Q6IEhhc2g7XG4gICAgLy8gQSAyNTYtYml0IGhhc2ggYmFzZWQgb24gdGhlIG1pbnQgdHJhbnNhY3Rpb24gY29tbWl0dGVkIHRvIHRoaXMgYmxvY2tcbiAgICBtaW50X2hhc2g6IEhhc2g7XG4gICAgLy8gQSAyNTYtYml0IGhhc2ggYmFzZWQgb24gYWxsIG9mIHRoZSByZXZlYWwgdHJhbnNhY3Rpb25zIGNvbW1pdHRlZCB0byB0aGlzIGJsb2NrXG4gICAgcmV2ZWFsX2hhc2hfbWVya2xlX3Jvb3Q6IEhhc2g7XG4gICAgLy8gQSAyNTYtYml0IGhhc2ggYmFzZWQgb24gYWxsIG9mIHRoZSB0YWxseSB0cmFuc2FjdGlvbnMgY29tbWl0dGVkIHRvIHRoaXMgYmxvY2tcbiAgICB0YWxseV9oYXNoX21lcmtsZV9yb290OiBIYXNoO1xuICAgIC8vIEEgMjU2LWJpdCBoYXNoIGJhc2VkIG9uIGFsbCBvZiB0aGUgdmFsdWUgdHJhbnNmZXIgdHJhbnNhY3Rpb25zIGNvbW1pdHRlZCB0byB0aGlzIGJsb2NrXG4gICAgdnRfaGFzaF9tZXJrbGVfcm9vdDogSGFzaDtcbn07XG5cbmV4cG9ydCB0eXBlIEJsb2NrVHJhbnNhY3Rpb25zSGFzaGVzID0ge1xuICAgIGNvbW1pdDogQXJyYXk8SGFzaD4sXG4gICAgZGF0YV9yZXF1ZXN0OiBBcnJheTxIYXNoPixcbiAgICBtaW50OiBIYXNoLFxuICAgIHJldmVhbDogQXJyYXk8SGFzaD4sXG4gICAgdGFsbHk6IEFycmF5PEhhc2g+LFxuICAgIHZhbHVlX3RyYW5zZmVyOiBBcnJheTxIYXNoPlxufVxuXG4vLyBCTjI1NiBwdWJsaWMga2V5XG5leHBvcnQgdHlwZSBCbjI1NlB1YmxpY0tleSA9IHtcbiAgICAvLyBDb21wcmVzc2VkIGZvcm0gb2YgYSBCTjI1NiBwdWJsaWMga2V5XG4gICAgcHVibGljX2tleTogQXJyYXk8dTg+O1xuICAgIC8vIENhY2hlZCB1bmNvbXByZXNzZWQgZm9ybVxuICAgIHVuY29tcHJlc3NlZDogQXJyYXk8dTg+O1xufTtcblxuZXhwb3J0IHR5cGUgQ2hlY2twb2ludEJlYWNvbiA9IHtcbiAgICAvLyBUaGUgc2VyaWFsIG51bWJlciBmb3IgYW4gZXBvY2hcbiAgICBjaGVja3BvaW50OiBFcG9jaDtcbiAgICAvLyBUaGUgMjU2LWJpdCBoYXNoIG9mIHRoZSBwcmV2aW91cyBibG9jayBoZWFkZXJcbiAgICBoYXNoUHJldkJsb2NrOiBIYXNoO1xufTtcblxuLy8gUHJvdG9jb2wncyBjb25zZW5zdXMgY29uc3RhbnRzXG5leHBvcnQgdHlwZSBDb25zZW5zdXNDb25zdGFudHMgPSB7XG4gICAgLy9UaW1lc3RhbXAgYXQgY2hlY2twb2ludCAwICh0aGUgc3RhcnQgb2YgZXBvY2ggMClcbiAgICBjaGVja3BvaW50X3plcm9fdGltZXN0YW1wOiBpNjQ7XG4gIFxuICAgIC8vU2Vjb25kcyBiZXR3ZWVuIHRoZSBzdGFydCBvZiBhbiBlcG9jaCBhbmQgdGhlIHN0YXJ0IG9mIHRoZSBuZXh0IG9uZVxuICAgIGNoZWNrcG9pbnRzX3BlcmlvZDogdTE2O1xuICBcbiAgICAvL0F1eGlsaWFyeSBib290c3RyYXAgYmxvY2sgaGFzaCB2YWx1ZVxuICAgIGJvb3RzdHJhcF9oYXNoOiBIYXNoO1xuICBcbiAgICAvL0dlbmVzaXMgYmxvY2sgaGFzaCB2YWx1ZVxuICAgIGdlbmVzaXNfaGFzaDogSGFzaDtcbiAgXG4gICAgLy9NYXhpbXVtIHdlaWdodCBhIGJsb2NrIGNhbiBoYXZlLCB0aGlzIGFmZmVjdHMgdGhlIG51bWJlciBvZlxuICAgIC8vdHJhbnNhY3Rpb25zIGEgYmxvY2sgY2FuIGNvbnRhaW46IHRoZXJlIHdpbGwgYmUgYXMgbWFueVxuICAgIC8vdHJhbnNhY3Rpb25zIGFzIHRoZSBzdW0gb2YgX3RoZWlyXyB3ZWlnaHRzIGlzIGxlc3MgdGhhbiwgb3JcbiAgICAvL2VxdWFsIHRvLCB0aGlzIG1heGltdW0gYmxvY2sgd2VpZ2h0IHBhcmFtZXRlci5cbiAgICAvL1xuICAgIC8vTWF4aW11bSBhZ2dyZWdhdGVkIHdlaWdodCBvZiBhbGwgdGhlIHZhbHVlIHRyYW5zZmVyIHRyYW5zYWN0aW9ucyBpbiBvbmUgYmxvY2tcbiAgICBtYXhfdnRfd2VpZ2h0OiB1MzI7XG5cbiAgICAvL01heGltdW0gYWdncmVnYXRlZCB3ZWlnaHQgb2YgYWxsIHRoZSBkYXRhIHJlcXVlc3RzIHRyYW5zYWN0aW9ucyBpbiBvbmUgYmxvY2tcbiAgICBtYXhfZHJfd2VpZ2h0OiB1MzI7XG4gIFxuICAgIC8vQW4gaWRlbnRpdHkgaXMgY29uc2lkZXJlZCBhY3RpdmUgaWYgaXQgcGFydGljaXBhdGVkIGluIHRoZSB3aXRuZXNzaW5nIHByb3RvY29sIGF0IGxlYXN0IG9uY2UgaW4gdGhlIGxhc3QgYGFjdGl2aXR5X3BlcmlvZGAgZXBvY2hzXG4gICAgYWN0aXZpdHlfcGVyaW9kOiB1MzI7XG4gIFxuICAgIC8vUmVwdXRhdGlvbiB3aWxsIGV4cGlyZSBhZnRlciBOIHdpdG5lc3NpbmcgYWN0c1xuICAgIHJlcHV0YXRpb25fZXhwaXJlX2FscGhhX2RpZmY6IHUzMjtcbiAgXG4gICAgLy9SZXB1dGF0aW9uIGlzc3VhbmNlXG4gICAgcmVwdXRhdGlvbl9pc3N1YW5jZTogdTMyO1xuICBcbiAgICAvL1doZW4gdG8gc3RvcCBpc3N1aW5nIG5ldyByZXB1dGF0aW9uXG4gICAgcmVwdXRhdGlvbl9pc3N1YW5jZV9zdG9wOiB1MzI7XG4gIFxuICAgIC8vUGVuYWxpemF0aW9uIGZhY3RvcjogZnJhY3Rpb24gb2YgcmVwdXRhdGlvbiBsb3N0IGJ5IGxpYXJzIGZvciBvdXQgb2YgY29uc2Vuc3VzIGNsYWltc1xuICAgIC8vIEZJWE1FKCMxNzIpOiBVc2UgZml4ZWQgcG9pbnQgYXJpdGhtZXRpY1xuICAgIHJlcHV0YXRpb25fcGVuYWxpemF0aW9uX2ZhY3RvcjogZjY0O1xuICBcbiAgICAvL0JhY2t1cCBmYWN0b3IgZm9yIG1pbmluZzogdmFsaWQgVlJGcyB1bmRlciB0aGlzIGZhY3RvciB3aWxsIHJlc3VsdCBpbiBicm9hZGNhc3RpbmcgYSBibG9ja1xuICAgIG1pbmluZ19iYWNrdXBfZmFjdG9yOiB1MzI7XG4gIFxuICAgIC8vUmVwbGljYXRpb24gZmFjdG9yIGZvciBtaW5pbmc6IHZhbGlkIFZSRnMgdW5kZXIgdGhpcyBmYWN0b3Igd2lsbCBoYXZlIHByaW9yaXR5XG4gICAgbWluaW5nX3JlcGxpY2F0aW9uX2ZhY3RvcjogdTMyO1xuICBcbiAgICAvL01pbmltdW0gdmFsdWUgaW4gbmFub3dpdHMgZm9yIGEgY29sbGF0ZXJhbCB2YWx1ZVxuICAgIGNvbGxhdGVyYWxfbWluaW11bTogdTY0O1xuICBcbiAgICAvL01pbmltdW0gaW5wdXQgYWdlIG9mIGFuIFVUWE8gZm9yIGJlaW5nIGEgdmFsaWQgY29sbGF0ZXJhbFxuICAgIGNvbGxhdGVyYWxfYWdlOiB1MzI7XG4gIFxuICAgIC8vQnVpbGQgYSBzdXBlcmJsb2NrIGV2ZXJ5IGBzdXBlcmJsb2NrX3BlcmlvZGAgZXBvY2hzXG4gICAgc3VwZXJibG9ja19wZXJpb2Q6IHUxNjtcbiAgXG4gICAgLy9FeHRyYSByb3VuZHMgZm9yIGNvbW1pdG1lbnRzIGFuZCByZXZlYWxzXG4gICAgZXh0cmFfcm91bmRzOiB1MTY7XG4gIFxuICAgIC8vTWluaW11bSBkaWZmaWN1bHR5XG4gICAgbWluaW11bV9kaWZmaWN1bHR5OiB1MzI7XG4gIFxuICAgIC8vTnVtYmVyIG9mIGVwb2NocyB3aXRoIHRoZSBtaW5pbXVtIGRpZmZpY3VsdHkgYWN0aXZlXG4gICAgLy8oVGhpcyBudW1iZXIgcmVwcmVzZW50IHRoZSBsYXN0IGVwb2NoIHdoZXJlIHRoZSBtaW5pbXVtIGRpZmZpY3VsdHkgaXMgYWN0aXZlKVxuICAgIGVwb2Noc193aXRoX21pbmltdW1fZGlmZmljdWx0eTogdTMyO1xuICBcbiAgICAvL1N1cGVyYmxvY2sgc2lnbmluZyBjb21taXR0ZWUgZm9yIHRoZSBmaXJzdCBzdXBlcmJsb2Nrc1xuICAgIGJvb3RzdHJhcHBpbmdfY29tbWl0dGVlOiBBcnJheTxzdHJpbmc+O1xuICBcbiAgICAvL1NpemUgb2YgdGhlIHN1cGVyYmxvY2sgc2lnbmluZyBjb21taXR0ZWVcbiAgICBzdXBlcmJsb2NrX3NpZ25pbmdfY29tbWl0dGVlX3NpemU6IHUzMjtcbiAgXG4gICAgLy9QZXJpb2QgYWZ0ZXIgd2hpY2ggdGhlIGNvbW1pdHRlZSBzaXplIHNob3VsZCBkZWNyZWFzZSAoaW4gc3VwZXJibG9jayBwZXJpb2RzKVxuICAgIHN1cGVyYmxvY2tfY29tbWl0dGVlX2RlY3JlYXNpbmdfcGVyaW9kOiB1MzI7XG4gIFxuICAgIC8vU3RlcCBieSB3aGljaCB0aGUgY29tbWl0dGVlIHNob3VsZCBiZSByZWR1Y2VkIGFmdGVyIHN1cGVyYmxvY2tfYWdyZWVtZW50X2RlY3JlYXNpbmdfcGVyaW9kXG4gICAgc3VwZXJibG9ja19jb21taXR0ZWVfZGVjcmVhc2luZ19zdGVwOiB1MzI7XG4gIFxuICAgIC8vSW5pdGlhbCBibG9jayByZXdhcmRcbiAgICBpbml0aWFsX2Jsb2NrX3Jld2FyZDogdTY0O1xuICBcbiAgICAvL0hhbHZpbmcgcGVyaW9kXG4gICAgaGFsdmluZ19wZXJpb2Q6IHUzMjtcbn07XG5cbmV4cG9ydCB0eXBlIERhdGFSZXF1ZXN0UGF5bG9hZCA9IHtcbiAgICBkYXRhUmVxdWVzdDogUkFEUmVxdWVzdDtcbiAgICB3aXRuZXNzX3Jld2FyZDogbnVtYmVyO1xuICAgIHdpdG5lc3NlczogbnVtYmVyO1xuICAgIGNvbW1pdEFuZFJldmVhbEZlZTogbnVtYmVyO1xuICAgIG1pbkNvbnNlbnN1c1BlcmNlbnRhZ2U6IG51bWJlcjtcbiAgICBjb2xsYXRlcmFsOiBudW1iZXI7XG59O1xuXG4vLyBMaXN0IG9mIG91dHB1dHMgcmVsYXRlZCB0byBhIGRhdGEgcmVxdWVzdFxuZXhwb3J0IHR5cGUgRGF0YVJlcXVlc3RSZXBvcnQgPSB7XG4gICAgLy8gTGlzdCBvZiBjb21taXRtZW50cyB0byByZXNvbHZlIHRoZSBkYXRhIHJlcXVlc3RcbiAgICBjb21taXRzOiBSZWNvcmQ8UHVibGljS2V5SGFzaFN0cmluZywgRGF0YVJlcXVlc3RDb21taXRUcmFuc2FjdGlvbj47XG4gICAgLy9MaXN0IG9mIHJldmVhbHMgdG8gdGhlIGNvbW1pdG1lbnRzIChjb250YWlucyB0aGUgZGF0YSByZXF1ZXN0IHdpdG5ldCByZXN1bHQpXG4gICAgcmV2ZWFsczogUmVjb3JkPFB1YmxpY0tleUhhc2hTdHJpbmcsIERhdGFSZXF1ZXN0UmV2ZWFsVHJhbnNhY3Rpb24+O1xuICAgIC8vVGFsbHkgb2YgZGF0YSByZXF1ZXN0IChjb250YWlucyBmaW5hbCByZXN1bHQpXG4gICAgdGFsbHk/OiBEYXRhUmVxdWVzdFRhbGx5VHJhbnNhY3Rpb247XG4gICAgLy9IYXNoIG9mIHRoZSBibG9jayB3aXRoIHRoZSBEYXRhUmVxdWVzdFRyYW5zYWN0aW9uXG4gICAgYmxvY2tfaGFzaF9kcl90eD86IEhhc2g7XG4gICAgLy9IYXNoIG9mIHRoZSBibG9jayB3aXRoIHRoZSBUYWxseVRyYW5zYWN0aW9uXG4gICAgYmxvY2tfaGFzaF90YWxseV90eD86IEhhc2g7XG4gICAgLy9DdXJyZW50IGNvbW1pdCByb3VuZFxuICAgIGN1cnJlbnRfY29tbWl0X3JvdW5kOiB1MTY7XG4gICAgLy9DdXJyZW50IHJldmVhbCByb3VuZFxuICAgIGN1cnJlbnRfcmV2ZWFsX3JvdW5kOiB1MTY7XG4gICAgLy9DdXJyZW50IHN0YWdlLCBvciBOb25lIGlmIGZpbmlzaGVkXG4gICAgY3VycmVudF9zdGFnZT86IERhdGFSZXF1ZXN0U3RhZ2U7XG59O1xuXG4vLyBEYXRhIHJlcXVlc3QgY3VycmVudCBzdGFnZVxuZXhwb3J0IGVudW0gRGF0YVJlcXVlc3RTdGFnZSB7XG4gICAgLy9FeHBlY3RpbmcgY29tbWl0bWVudHMgZm9yIGRhdGEgcmVxdWVzdFxuICAgIENPTU1JVCA9IFwiQ09NTUlUXCIsXG4gICAgLy9FeHBlY3RpbmcgcmV2ZWFscyB0byBwcmV2aW91c2x5IHB1Ymxpc2hlZCBjb21taXRtZW50c1xuICAgIFJFVkVBTCA9IFwiUkVWRUFMXCIsXG4gICAgLy9FeHBlY3RpbmcgdGFsbHkgdG8gYmUgaW5jbHVkZWQgaW4gYmxvY2tcbiAgICBUQUxMWSA9IFwiVEFMTFlcIixcbn1cblxuZXhwb3J0IHR5cGUgUHJpb3JpdHlFc3RpbWF0ZSA9IHtcbiAgICBwcmlvcml0eTogZjY0O1xuICAgIHRpbWVfdG9fYmxvY2s6IHU2NDtcbn1cblxuZXhwb3J0IHR5cGUgUHJpb3JpdGllcyA9IHtcbiAgICBkcnRfc3Rpbmt5OiBQcmlvcml0eUVzdGltYXRlO1xuICAgIGRydF9sb3c6IFByaW9yaXR5RXN0aW1hdGU7XG4gICAgZHJ0X21lZGl1bTogUHJpb3JpdHlFc3RpbWF0ZTtcbiAgICBkcnRfaGlnaDogUHJpb3JpdHlFc3RpbWF0ZTtcbiAgICBkcnRfb3B1bGVudDogUHJpb3JpdHlFc3RpbWF0ZTtcbiAgICB2dHRfc3Rpbmt5OiBQcmlvcml0eUVzdGltYXRlO1xuICAgIHZ0dF9sb3c6IFByaW9yaXR5RXN0aW1hdGU7XG4gICAgdnR0X21lZGl1bTogUHJpb3JpdHlFc3RpbWF0ZTtcbiAgICB2dHRfaGlnaDogUHJpb3JpdHlFc3RpbWF0ZTtcbiAgICB2dHRfb3B1bGVudDogUHJpb3JpdHlFc3RpbWF0ZTtcbn1cblxuZXhwb3J0IHR5cGUgS2V5ZWRTaWduYXR1cmUgPSB7XG4gICAgLy8gU2lnbmF0dXJlXG4gICAgc2lnbmF0dXJlOiBTaWduYXR1cmU7XG4gICAgLy8gUHVibGljIGtleVxuICAgIHB1YmxpY19rZXk6IHtcbiAgICAgICAgY29tcHJlc3NlZDogbnVtYmVyLFxuICAgICAgICBieXRlczogQXJyYXk8dTg+O1xuICAgIH0sXG59O1xuXG4vLyBSZXN1bHQgb2YgR2V0TWVtcG9vbCBtZXNzYWdlOiBsaXN0IG9mIHBlbmRpbmcgdHJhbnNhY3Rpb25zIGNhdGVnb3JpemVkIGJ5IHR5cGVcbmV4cG9ydCB0eXBlIE1lbXBvb2wgPSB7XG4gICAgLy8gUGVuZGluZyB2YWx1ZSB0cmFuc2ZlciB0cmFuc2FjdGlvbnNcbiAgICB2YWx1ZV90cmFuc2ZlcjogQXJyYXk8SGFzaD47XG4gICAgLy8gUGVuZGluZyBkYXRhIHJlcXVlc3QgdHJhbnNhY3Rpb25zXG4gICAgZGF0YV9yZXF1ZXN0OiBBcnJheTxIYXNoPjtcbn07XG5cbi8vIE5hbWVkIHR1cGxlIG9mIGAoYWRkcmVzcywgdHlwZSlgXG5leHBvcnQgdHlwZSBQZWVyQWRkciA9IHtcbiAgICAvL1NvY2tldCBhZGRyZXNzIG9mIHRoZSBwZWVyXG4gICAgYWRkcmVzczogc3RyaW5nO1xuICAgIC8vIFwiaW5ib3VuZFwiIHwgXCJvdXRib3VuZFwiIHdoZW4gYXNraW5nIGZvciBjb25uZWN0ZWQgcGVlcnMsIG9yXG4gICAgLy8gXCJuZXdcIiB8IFwidHJpZWRcIiB3aGVuIGFza2luZyBmb3IgYWxsIHRoZSBrbm93biBwZWVyc1xuICAgIHR5cGU6IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIFByb3RvY29sSW5mbyA9IHtcbiAgICBhbGxfY2hlY2twb2ludHNfcGVyaW9kczogUmVjb3JkPHN0cmluZywgdTg+LFxuICAgIGFsbF92ZXJzaW9uczoge1xuICAgICAgICBlZnY6IFJlY29yZDxzdHJpbmcsIEVwb2NoPixcbiAgICAgICAgdmZlOiBSZWNvcmQ8RXBvY2gsIHN0cmluZz4sXG4gICAgfSxcbiAgICBjdXJyZW50X3ZlcnNpb246IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgUkFEQWdncmVnYXRlID0geyBmaWx0ZXJzOiBBcnJheTxSQURGaWx0ZXI+OyByZWR1Y2VyOiB1MzIgfTtcbmV4cG9ydCB0eXBlIFJBREZpbHRlciA9IHsgb3A6IHUzMjsgYXJnczogQXJyYXk8dTg+IH07XG5leHBvcnQgdHlwZSBSQURSZXF1ZXN0ID0ge1xuICAgIHRpbWVMb2NrOiBudW1iZXI7XG4gICAgcmV0cmlldmU6IEFycmF5PFJBRFJldHJpZXZlPjtcbiAgICBhZ2dyZWdhdGU6IFJBREFnZ3JlZ2F0ZTtcbiAgICB0YWxseTogUkFEVGFsbHk7XG59O1xuZXhwb3J0IHR5cGUgUkFEUmV0cmlldmUgPSB7IHR5cGU6IFJBRFR5cGU7IHVybDogc3RyaW5nOyBzY3JpcHQ6IEFycmF5PHU4PiB9O1xuZXhwb3J0IHR5cGUgUkFEVGFsbHkgPSB7XG4gICAgZmlsdGVyczogQXJyYXk8UkFERmlsdGVyPjtcbiAgICByZWR1Y2VyOiB1MzI7XG59O1xuXG5leHBvcnQgZW51bSBSQURUeXBlIHtcbiAgICBIdHRwR2V0ID0gXCJIVFRQLUdFVFwiLFxuICAgIEh0dHBQb3N0ID0gXCJIVFRQLVBPU1RcIixcbiAgICBIdHRwSGVhZCA9IFwiSFRUUC1IRUFEXCIsXG4gICAgUm5nID0gXCJSTkdcIixcbn1cblxuLy8gRUNEU0EgKG92ZXIgc2VjcDI1NmsxKSBzaWduYXR1cmVcbmV4cG9ydCB0eXBlIFNlY3AyNTZrMVNpZ25hdHVyZSA9IHtcbiAgICAvLyBUaGUgc2lnbmF0dXJlIHNlcmlhbGl6ZWQgaW4gREVSXG4gICAgZGVyOiBBcnJheTx1OD47XG59O1xuXG4vL1Jlc3VsdCBvZiBHZXRTaWduYWxpbmdJbmZvXG5leHBvcnQgdHlwZSBTaWduYWxpbmdJbmZvID0ge1xuICAgIC8vTGlzdCBvZiBwcm90b2NvbCB1cGdyYWRlcyB0aGF0IGFyZSBhbHJlYWR5IGFjdGl2ZSwgYW5kIHRoZWlyIGFjdGl2YXRpb24gZXBvY2hcbiAgICBhY3RpdmVfdXBncmFkZXM6IFJlY29yZDxzdHJpbmcsIEVwb2NoPjtcbiAgICAvL0xpc3Qgb2YgcHJvdG9jb2wgdXBncmFkZXMgdGhhdCBhcmUgY3VycmVudGx5IGJlaW5nIHBvbGxlZCBmb3IgYWN0aXZhdGlvbiBzaWduYWxpbmdcbiAgICBwZW5kaW5nX3VwZ3JhZGVzOiBBcnJheTxCaXRWb3Rlc0NvdW50ZXI+O1xuICAgIC8vTGFzdCBlcG9jaFxuICAgIGVwb2NoOiBFcG9jaDtcbiAgfTtcblxuLy8gRGlnaXRhbCBzaWduYXR1cmVzIHN0cnVjdHVyZSAoYmFzZWQgb24gc3VwcG9ydGVkIGNyeXB0b3N5c3RlbXMpXG5leHBvcnQgdHlwZSBTaWduYXR1cmUgPSB7XG4gICAgLy8gRUNEU0Egb3ZlciBzZWNwMjU2azFcbiAgICBTZWNwMjU2azE6IFNlY3AyNTZrMVNpZ25hdHVyZTtcbn1cblxuLy8gU3RhdGUgbWFjaGluZSBmb3IgdGhlIHN5bmNocm9uaXphdGlvbiBzdGF0dXMgb2YgYSBXaXRuZXQgbm9kZVxuZXhwb3J0IGVudW0gU3RhdGVNYWNoaW5lIHtcbiAgICAvLyBGaXJzdCBzdGF0ZSwgQ2hhaW5NYW5hZ2VyIGlzIHdhaXRpbmcgZm9yIHJlYWNoaW5nICBjb25zZW5zdXMgYmV0d2VlbiBpdHMgcGVlcnNcbiAgICBXYWl0aW5nQ29uc2Vuc3VzID0gXCJXYWl0aW5nQ29uc2Vuc3VzXCIsXG4gICAgLy8gU2Vjb25kIHN0YXRlLCBDaGFpbk1hbmFnZXIgc3luY2hyb25pemF0aW9uIHByb2Nlc3NcbiAgICBTeW5jaHJvbml6aW5nID0gXCJTeW5jaHJvbml6aW5nIFwiLFxuICAgIC8vIFRoaXJkIHN0YXRlLCBgQ2hhaW5NYW5hZ2VyYCBoYXMgYWxsIHRoZSBibG9ja3MgaW4gdGhlIGNoYWluIGFuZCBpcyByZWFkeSB0byBzdGFydFxuICAgIC8vIGNvbnNvbGlkYXRpbmcgYmxvY2sgY2FuZGlkYXRlcyBpbiByZWFsIHRpbWUuXG4gICAgQWxtb3N0U3luY2VkID0gXCJBbG1vc3RTeW5jZWRcIixcbiAgICAvLyBGb3VydGggc3RhdGUsIGBDaGFpbk1hbmFnZXJgIGNhbiBjb25zb2xpZGF0ZSBibG9jayBjYW5kaWRhdGVzLCBwcm9wb3NlIGl0cyBvd25cbiAgICAvLyBjYW5kaWRhdGVzIChtaW5pbmcpIGFuZCBwYXJ0aWNpcGF0ZSBpbiByZXNvbHZpbmcgZGF0YSByZXF1ZXN0cyAod2l0bmVzc2luZykuXG4gICAgU3luY2VkID0gXCJTeW5jZWRcIixcbn1cblxuZXhwb3J0IHR5cGUgU3Rha2VBdXRob3JpemF0aW9uID0ge1xuICAgIHdpdGhkcmF3ZXI6IFB1YmxpY0tleUhhc2hTdHJpbmcsXG4gICAgc2lnbmF0dXJlOiBLZXllZFNpZ25hdHVyZSxcbn1cblxuZXhwb3J0IHR5cGUgU3Rha2VEZWxlZ2F0ZSA9IHtcbiAgICBjb2luczogTmFub3dpdHMsXG4gICAgdmFsaWRhdG9yOiBQdWJsaWNLZXlIYXNoU3RyaW5nLFxufVxuXG5leHBvcnQgdHlwZSBTdGFrZUVudHJ5ID0ge1xuICAgIGtleToge1xuICAgICAgICB2YWxpZGF0b3I6IFB1YmxpY0tleUhhc2hTdHJpbmcsXG4gICAgICAgIHdpdGhkcmF3ZXI6IFB1YmxpY0tleUhhc2hTdHJpbmcsXG4gICAgfSxcbiAgICB2YWx1ZToge1xuICAgICAgICBjb2luczogTmFub3dpdHMsXG4gICAgICAgIGVwb2NoczogUmVjb3JkPFN0YWtpbmdDYXBhYmlsaXR5LCBFcG9jaD4sXG4gICAgICAgIG5vbmNlOiB1NjQsXG4gICAgfVxufVxuXG5leHBvcnQgdHlwZSBTdGFrZSA9IHtcbiAgICB0b3RhbDogTmFub3dpdHMsXG4gICAgZGVsZWdhdGVzOiBBcnJheTxTdGFrZURlbGVnYXRlPixcbn1cblxuZXhwb3J0IGVudW0gU3Rha2luZ0NhcGFiaWxpdHkge1xuICAgIE1pbmluZyA9IFwibWluaW5nXCIsXG4gICAgV2l0bmVzc2luZyA9IFwid2l0bmVzc2luZ1wiLFxufVxuXG5leHBvcnQgdHlwZSBTdGFraW5nUG93ZXIgPSB7XG4gICAgcG93ZXI/OiB1NjQsXG4gICAgcmFua2luZz86IHUzMixcbiAgICB2YWxpZGF0b3I6IFB1YmxpY0tleUhhc2hTdHJpbmcsXG4gICAgd2l0aGRyYXdlcjogUHVibGljS2V5SGFzaFN0cmluZyxcbn1cblxuLy8gU3VwZXJibG9jayBjb25zb2xpZGF0aW5nIG1ldGFkYXRhXG4vL0FzIHBlciBjdXJyZW50IGNvbnNlbnN1cyBhbGdvcml0aG0sIFwiY29uc29saWRhdGVkIGJsb2Nrc1wiIGltcGxpZXMgdGhhdCB0aGVyZSBleGlzdHMgYXQgbGVhc3Qgb25lXG4vL3N1cGVyYmxvY2sgaW4gdGhlIGNoYWluIHRoYXQgYnVpbGRzIHVwb24gdGhlIHN1cGVyYmxvY2sgd2hlcmUgdGhvc2UgYmxvY2tzIHdlcmUgYW5jaG9yZWQuXG5leHBvcnQgdHlwZSBTdXBlcmJsb2NrUmVwb3J0ID0ge1xuICAgIC8vVGhlIHN1cGVyYmxvY2sgdGhhdCB3ZSBhcmUgc2lnbmFsaW5nIGFzIGNvbnNvbGlkYXRlZC5cbiAgICBzdXBlcmJsb2NrOiB7XG4gICAgICAgIC8vTnVtYmVyIG9mIHNpZ25pbmcgY29tbWl0dGVlIG1lbWJlcnMsXG4gICAgICAgIHNpZ25pbmdfY29tbWl0dGVlX2xlbmd0aDogdTMyO1xuICAgICAgICAvL01lcmtsZSByb290IG9mIHRoZSBBY3RpdmUgUmVwdXRhdGlvbiBTZXQgbWVtYmVycyBpbmNsdWRlZCBpbnRvIHRoZSBwcmV2aW91cyBTdXBlckJsb2NrXG4gICAgICAgIGFyc19yb290OiBIYXNoO1xuICAgICAgICAvL01lcmtsZSByb290IG9mIHRoZSBkYXRhIHJlcXVlc3RzIGluIHRoZSBibG9ja3MgY3JlYXRlZCBzaW5jZSB0aGUgbGFzdCBTdXBlckJsb2NrXG4gICAgICAgIGRhdGFfcmVxdWVzdF9yb290OiBIYXNoO1xuICAgICAgICAvL1N1cGVyYmxvY2sgaW5kZXgsXG4gICAgICAgIGluZGV4OiB1MzI7XG4gICAgICAgIC8vSGFzaCBvZiB0aGUgYmxvY2sgdGhhdCB0aGlzIFN1cGVyQmxvY2sgaXMgYXR0ZXN0aW5nIGFzIHRoZSBsYXRlc3QgYmxvY2sgaW4gdGhlIGJsb2NrIGNoYWluLFxuICAgICAgICBsYXN0X2Jsb2NrOiBIYXNoO1xuICAgICAgICAvL0hhc2ggb2YgdGhlIGJsb2NrIHRoYXQgdGhlIHByZXZpb3VzIFN1cGVyQmxvY2sgdXNlZCBmb3IgaXRzIG93biBgbGFzdF9ibG9ja2AgZmllbGQsXG4gICAgICAgIGxhc3RfYmxvY2tfaW5fcHJldmlvdXNfc3VwZXJibG9jazogSGFzaDtcbiAgICAgICAgLy9NZXJrbGUgcm9vdCBvZiB0aGUgdGFsbGllcyBpbiB0aGUgYmxvY2tzIGNyZWF0ZWQgc2luY2UgdGhlIGxhc3QgU3VwZXJCbG9ja1xuICAgICAgICB0YWxseV9yb290OiBIYXNoO1xuICAgIH0sXG4gICAgLy9UaGUgaGFzaGVzIG9mIHRoZSBibG9ja3MgdGhhdCB3ZSBhcmUgc2lnbmFsaW5nIGFzIGNvbnNvbGlkYXRlZC5cbiAgICBjb25zb2xpZGF0ZWRfYmxvY2tfaGFzaGVzOiBBcnJheTxIYXNoPjtcbn07XG4gIFxuXG4vLyBJbmZvcm1hdGlvbiBhYm91dCB0aGUgdG90YWwgc3VwcGx5XG5leHBvcnQgdHlwZSBTdXBwbHlJbmZvID0ge1xuICAgIC8vQ3VycmVudCBlcG9jaFxuICAgIGVwb2NoOiB1MzI7XG4gICAgLy9DdXJyZW50IHRpbWVcbiAgICBjdXJyZW50X3RpbWU6IHU2NDtcbiAgICAvL051bWJlciBvZiBibG9ja3MgbWludGVkXG4gICAgYmxvY2tzX21pbnRlZDogdTMyO1xuICAgIC8vV0lUIG1pbnRlZCB0aHJvdWdoIGJsb2NrIGNyZWF0aW9uXG4gICAgYmxvY2tzX21pbnRlZF9yZXdhcmQ6IHU2NDtcbiAgICAvL0Ftb3VudCBvZiBuYW5vd2l0cyB0aGF0IGhhdmUgYmVlbiBidXJudCBzbyBmYXJcbiAgICBidXJudF9zdXBwbHk6IHU2NDtcbiAgICAvL0N1cnJlbnQgbG9ja2VkIHN1cHBseVxuICAgIGN1cnJlbnRfbG9ja2VkX3N1cHBseTogdTY0O1xuICAgIC8vQ3VycmVudCBzdGFrZWQgc3VwcGx5XG4gICAgY3VycmVudF9zdGFrZWRfc3VwcGx5OiB1NjQ7XG4gICAgLy9DdXJyZW50IHVubG9ja2VkIHN1cHBseVxuICAgIGN1cnJlbnRfdW5sb2NrZWRfc3VwcGx5OiB1NjQ7XG4gICAgLy9Jbml0aWFsIHN1cHBseVxuICAgIGluaXRpYWxfc3VwcGx5OiB1NjQ7XG4gICAgLy9XSVQgY3VycmVudGx5IGxvY2tlZCBhcyBjb2xsYXRlcmFsIGJ5IGluLWZsaWdodCBkYXRhIHJlcXVlc3RzXG4gICAgcmVxdWVzdHNfaW5fZmxpZ2h0X2NvbGxhdGVyYWw6IHU2NDtcbiAgfTtcblxuLy8gTm9kZSBzeW5jaHJvbml6YXRpb24gc3RhdHVzXG5leHBvcnQgdHlwZSBTeW5jU3RhdHVzID0ge1xuICAgIC8vIFRoZSBoYXNoIG9mIHRoZSB0b3AgY29uc29saWRhdGVkIGJsb2NrIGFuZCB0aGUgZXBvY2ggb2YgdGhhdCBibG9ja1xuICAgIGNoYWluX2JlYWNvbjogQ2hlY2twb2ludEJlYWNvbjtcbiAgICAvLyBUaGUgY3VycmVudCBlcG9jaCwgb3IgTm9uZSBpZiB0aGUgZXBvY2ggMCBpcyBpbiB0aGUgZnV0dXJlXG4gICAgY3VycmVudF9lcG9jaD86IEVwb2NoO1xuICAgIC8vIE5vZGUgU3RhdGVcbiAgICBub2RlX3N0YXRlOiBTdGF0ZU1hY2hpbmU7XG59O1xuXG4vLyBJbmZvcm1hdGlvbiBhYm91dCBvdXIgb3duIFVUWE9zXG5leHBvcnQgdHlwZSBVdHhvSW5mbyA9IHtcbiAgICAvL1ZlY3RvciBvZiBVdHhvUG9pbnRlcnMgd2l0aCB0aGVpciB2YWx1ZXMsIHRpbWVfbG9ja3MgYW5kIGlmIGl0IGlzIHJlYWR5IGZvciBjb2xsYXRlcmFsXG4gICAgdXR4b3M6IEFycmF5PFV0eG9NZXRhZGF0YT47XG4gICAgLy9NaW5pbXVtIGNvbGxhdGVyYWwgZnJvbSBjb25zZW5zdXMgY29uc3RhbnRzXG4gICAgY29sbGF0ZXJhbF9taW46IHU2NDtcbn07XG5cbmV4cG9ydCB0eXBlIFV0eG9NZXRhZGF0YSA9IHtcbiAgICBvdXRwdXRfcG9pbnRlcjogc3RyaW5nO1xuICAgIHRpbWVsb2NrOiB1NjQ7XG4gICAgdXR4b19tYXR1cmU/OiBib29sZWFuO1xuICAgIHZhbHVlOiB1NjQ7XG59O1xuXG5leHBvcnQgdHlwZSBWYWx1ZVRyYW5zZmVyT3V0cHV0ID0ge1xuICAgIHBraDogSGFzaDtcbiAgICB2YWx1ZTogdTY0O1xuICAgIHRpbWVfbG9jazogdTY0O1xufTtcblxuLy8gQSBWUkYgUHJvb2YgaXMgYSB1bmlxdWUsIGRldGVybWluaXN0aWMgd2F5IHRvIHNpZ24gYSBtZXNzYWdlIHdpdGggYSBwdWJsaWMga2V5LlxuLy8gSXQgaXMgdXNlZCB0byBwcmV2ZW50IG9uZSBpZGVudGl0eSBmcm9tIGNyZWF0aW5nIG11bHRpcGxlIGRpZmZlcmVudCBwcm9vZnMgb2YgZWxpZ2liaWxpdHkuXG5leHBvcnQgdHlwZSBWcmZQcm9vZiA9IHtcbiAgICBwcm9vZjogVWludDhBcnJheTtcbiAgICBwdWJsaWNfa2V5OiBVaW50OEFycmF5OyAvL1B1YmxpY0tleTtcbn07XG5cblxuLy8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vLyAtLS0gVHJhbnNhY3Rpb25zIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmV4cG9ydCB0eXBlIFRyYW5zYWN0aW9uUmVwb3J0ID0ge1xuICAgIGJsb2NrRXBvY2g6IEVwb2NoLFxuICAgIGJsb2NrSGFzaDogSGFzaCxcbiAgICBjb25maXJtZWQ6IGJvb2xlYW4sXG4gICAgdHJhbnNhY3Rpb246IHtcbiAgICAgICAgUmV2ZWFsPzogRGF0YVJlcXVlc3RSZXZlYWxUcmFuc2FjdGlvbixcbiAgICAgICAgQ29tbWl0PzogRGF0YVJlcXVlc3RDb21taXRUcmFuc2FjdGlvbixcbiAgICAgICAgVGFsbHk/OiBEYXRhUmVxdWVzdFRhbGx5VHJhbnNhY3Rpb24sXG4gICAgfSBcbn1cblxuZXhwb3J0IHR5cGUgRGF0YVJlcXVlc3RDb21taXRUcmFuc2FjdGlvbiA9IHtcbiAgICBib2R5OiBEYXRhUmVxdWVzdENvbW1pdFRyYW5zYWN0aW9uQm9keTtcbiAgICBzaWduYXR1cmVzOiBBcnJheTxLZXllZFNpZ25hdHVyZT47XG59O1xuXG5leHBvcnQgdHlwZSBEYXRhUmVxdWVzdENvbW1pdFRyYW5zYWN0aW9uQm9keSA9IHtcbiAgICAvLyBEYXRhUmVxdWVzdFRyYW5zYWN0aW9uIGhhc2hcbiAgICBkcl9wb2ludGVyOiBIYXNoO1xuICAgIC8vIERhdGFSZXF1ZXN0UmV2ZWFsVHJhbnNhY3Rpb24gU2lnbmF0dXJlIEhhc2hcbiAgICBjb21taXRtZW50OiBIYXNoO1xuICAgIC8vIENoYW5nZSBmcm9tIGNvbGxhdGVyYWwuIFRoZSBvdXRwdXQgcGtoIG11c3QgYmUgdGhlIHNhbWUgYXMgdGhlIGlucHV0cyxcbiAgICAvLyBhbmQgdGhlcmUgY2FuIG9ubHkgYmUgb25lIG91dHB1dFxuICAgIG91dHB1dHM6IEFycmF5PFZhbHVlVHJhbnNmZXJPdXRwdXQ+O1xuICAgIC8vIEJMUyBwdWJsaWMga2V5IChjdXJ2ZSBibjI1NilcbiAgICBibjI1Nl9wdWJsaWNfa2V5PzogQm4yNTZQdWJsaWNLZXk7XG5cbiAgICBoYXNoOiBIYXNoO1xufTtcblxuZXhwb3J0IHR5cGUgRGF0YVJlcXVlc3RSZXZlYWxUcmFuc2FjdGlvbiA9IHtcbiAgICBib2R5OiBEYXRhUmVxdWVzdFJldmVhbFRyYW5zYWN0aW9uQm9keTtcbiAgICBzaWduYXR1cmVzOiBBcnJheTxLZXllZFNpZ25hdHVyZT47XG59O1xuXG5leHBvcnQgdHlwZSBEYXRhUmVxdWVzdFJldmVhbFRyYW5zYWN0aW9uQm9keSA9IHtcbiAgICAvLyBJbnB1dHNcbiAgICBkcl9wb2ludGVyOiBIYXNoOyAvLyBEVFRyYW5zYWN0aW9uIGhhc2hcbiAgICAvLyBPdXRwdXRzXG4gICAgcmV2ZWFsOiBBcnJheTx1OD47XG4gICAgcGtoOiB7IGhhc2g6IFVpbnQ4QXJyYXk7IH07IC8vIHdoZXJlIHRvIHJlY2VpdmUgcmV3YXJkXG4gICAgaGFzaDogSGFzaDtcbn07XG5cbmV4cG9ydCB0eXBlIERhdGFSZXF1ZXN0VGFsbHlUcmFuc2FjdGlvbiA9IHtcbiAgICAvLyBEYXRhUmVxdWVzdFRyYW5zYWN0aW9uIGhhc2hcbiAgICBkcl9wb2ludGVyOiBIYXNoO1xuICAgIC8vIFRhbGx5IHJlc3VsdFxuICAgIHRhbGx5OiBVaW50OEFycmF5O1xuICAgIC8vIFdpdG5lc3MgcmV3YXJkc1xuICAgIG91dHB1dHM6IEFycmF5PFZhbHVlVHJhbnNmZXJPdXRwdXQ+O1xuICAgIC8vIEFkZHJlc3NlcyB0aGF0IGFyZSBvdXQgb2YgY29uc2Vuc3VzIChub24gcmV2ZWFsZXJzIGluY2x1ZGVkKVxuICAgIG91dF9vZl9jb25zZW5zdXM6IEFycmF5PHsgaGFzaDogVWludDhBcnJheSB9PjtcbiAgICAvLyBBZGRyZXNzZXMgdGhhdCBjb21taXQgYSBSYWRvbkVycm9yIChvciBjb25zaWRlcmVkIGFzIGFuIEVycm9yIGR1ZSB0byBhIFJhZG9uRXJyb3IgY29uc2Vuc3VzKVxuICAgIGVycm9yX2NvbW1pdHRlcnM6IEFycmF5PHsgaGFzaDogVWludDhBcnJheSB9PjsgIFxuICAgIC8vIFRPRE9cbiAgICAvLyBoYXNoOiBIYXNoO1xufTtcblxuLy8vIE5vZGUgc3RhdHNcbmV4cG9ydCB0eXBlIE5vZGVTdGF0cyA9IHtcbiAgICAvL051bWJlciBvZiBwcm9wb3NlZCBibG9ja3NcbiAgICBibG9ja19wcm9wb3NlZF9jb3VudDogdTMyO1xuICAgIC8vTnVtYmVyIG9mIGJsb2NrcyBpbmNsdWRlZCBpbiB0aGUgYmxvY2sgY2hhaW5cbiAgICBibG9ja19taW5lZF9jb3VudDogdTMyO1xuICAgIC8vTnVtYmVyIG9mIHRpbWVzIHdlIHdlcmUgZWxpZ2libGUgdG8gcGFydGljaXBhdGUgaW4gYSBEYXRhIFJlcXVlc3RcbiAgICBkcl9lbGlnaWJpbGl0eV9jb3VudDogdTMyO1xuICAgIC8vTnVtYmVyIG9mIHByb3Bvc2VkIGNvbW1pdHNcbiAgICBjb21taXRzX3Byb3Bvc2VkX2NvdW50OiB1MzI7XG4gICAgLy9OdW1iZXIgb2YgY29tbWl0cyBpbmNsdWRlZCBpbiBhIGRhdGEgcmVxdWVzdFxuICAgIGNvbW1pdHNfY291bnQ6IHUzMjtcbiAgICAvL0xhc3QgYmxvY2sgcHJvcG9zZWRcbiAgICBsYXN0X2Jsb2NrX3Byb3Bvc2VkOiBIYXNoO1xuICAgIC8vTnVtYmVyIG9mIHNsYXNoZWQgY29tbWl0c1xuICAgIHNsYXNoZWRfY291bnQ6IHUzMjtcbn07XG4iXX0=