@caminojs-nikos/caminojs
Version:
Camino Platform JS Library
126 lines • 15.6 kB
JavaScript
"use strict";
/**
* @packageDocumentation
* @module Utils-Networks
*/
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const bn_js_1 = __importDefault(require("bn.js"));
const constants_1 = require("./constants");
const TestNetwork = {
preDefined: true,
hrp: constants_1.TestHRP,
X: {
blockchainID: constants_1.TestXBlockchainID,
alias: constants_1.XChainAlias,
vm: constants_1.XChainVMName,
avaxAssetID: constants_1.TestAvaxAssetID,
avaxAssetAlias: "AVAX",
txFee: constants_1.MILLIAVAX,
createAssetTxFee: constants_1.CENTIAVAX,
mintTxFee: constants_1.MILLIAVAX
},
P: {
blockchainID: constants_1.DefaultPlatformChainID,
alias: constants_1.PChainAlias,
vm: constants_1.PChainVMName,
txFee: constants_1.MILLIAVAX,
createAssetTxFee: constants_1.CENTIAVAX,
createSubnetTx: constants_1.ONEAVAX,
createChainTx: constants_1.ONEAVAX,
minConsumption: 0.1,
maxConsumption: 0.12,
maxStakingDuration: new bn_js_1.default(31536000),
maxSupply: new bn_js_1.default(720000000).mul(constants_1.ONEAVAX),
minStake: constants_1.ONEAVAX,
minStakeDuration: 24 * 60 * 60,
maxStakeDuration: 365 * 24 * 60 * 60,
minDelegationStake: constants_1.ONEAVAX,
minDelegationFee: new bn_js_1.default(2),
verifyNodeSignature: false,
lockModeBondDeposit: false
},
C: {
blockchainID: constants_1.TestCBlockchainID,
alias: constants_1.CChainAlias,
vm: constants_1.CChainVMName,
txBytesGas: 1,
costPerSignature: 1000,
txFee: constants_1.MILLIAVAX,
gasPrice: constants_1.GWEI.mul(new bn_js_1.default(225)),
minGasPrice: constants_1.GWEI.mul(new bn_js_1.default(25)),
maxGasPrice: constants_1.GWEI.mul(new bn_js_1.default(1000)),
chainID: 43112
}
};
// Does not support p:getConfiguration
const AvaxMainNetwork = {
preDefined: true,
hrp: "avax",
X: {
blockchainID: "2oYMBNV4eNHyqk2fjjV5nVQLDbtmNJzq5s3qs3Lo6ftnC6FByM",
alias: constants_1.XChainAlias,
vm: constants_1.XChainVMName,
avaxAssetID: "FvwEAhmxKfeiG8SnEvq42hc6whRyY3EFYAvebMqDNDGCgxN5Z",
avaxAssetAlias: "AVAX",
txFee: constants_1.MILLIAVAX,
createAssetTxFee: constants_1.CENTIAVAX,
mintTxFee: constants_1.MILLIAVAX
},
P: {
blockchainID: constants_1.DefaultPlatformChainID,
alias: constants_1.PChainAlias,
vm: constants_1.PChainVMName,
txFee: constants_1.MILLIAVAX,
createAssetTxFee: constants_1.CENTIAVAX,
createSubnetTx: constants_1.ONEAVAX,
createChainTx: constants_1.ONEAVAX,
minConsumption: 0.1,
maxConsumption: 0.12,
maxStakingDuration: new bn_js_1.default(31536000),
maxSupply: new bn_js_1.default(720000000).mul(constants_1.ONEAVAX),
minStake: constants_1.ONEAVAX.mul(new bn_js_1.default(2000)),
minStakeDuration: 2 * 7 * 24 * 60 * 60,
maxStakeDuration: 365 * 24 * 60 * 60,
minDelegationStake: constants_1.ONEAVAX.mul(new bn_js_1.default(25)),
minDelegationFee: new bn_js_1.default(2),
verifyNodeSignature: false,
lockModeBondDeposit: false
},
C: {
blockchainID: "2q9e4r6Mu3U68nU1fYjgbR6JvwrRx36CohpAX5UQxse55x1Q5",
alias: constants_1.CChainAlias,
vm: constants_1.CChainVMName,
txBytesGas: 1,
costPerSignature: 1000,
txFee: constants_1.MILLIAVAX,
gasPrice: constants_1.GWEI.mul(new bn_js_1.default(225)),
minGasPrice: constants_1.GWEI.mul(new bn_js_1.default(25)),
maxGasPrice: constants_1.GWEI.mul(new bn_js_1.default(1000)),
chainID: 43114
}
};
/**
* A class for storing predefined / fetched networks
*/
class Networks {
constructor() {
this.registry = new Map();
this.registerNetwork(constants_1.DefaultNetworkID, AvaxMainNetwork);
this.registerNetwork(constants_1.TestNetworkID, TestNetwork);
}
registerNetwork(networkID, network) {
this.registry[networkID.toString()] = network;
}
getNetwork(networkID) {
return this.registry[networkID.toString()];
}
isPredefined(networkID) {
var _a, _b;
return (_b = (_a = this.registry[networkID.toString()]) === null || _a === void 0 ? void 0 : _a.preDefined) !== null && _b !== void 0 ? _b : false;
}
}
exports.default = new Networks();
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29yay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9uZXR3b3JrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7O0dBR0c7Ozs7O0FBRUgsa0RBQXNCO0FBQ3RCLDJDQWtCb0I7QUErRHBCLE1BQU0sV0FBVyxHQUFZO0lBQzNCLFVBQVUsRUFBRSxJQUFJO0lBQ2hCLEdBQUcsRUFBRSxtQkFBTztJQUNaLENBQUMsRUFBRTtRQUNELFlBQVksRUFBRSw2QkFBaUI7UUFDL0IsS0FBSyxFQUFFLHVCQUFXO1FBQ2xCLEVBQUUsRUFBRSx3QkFBWTtRQUNoQixXQUFXLEVBQUUsMkJBQWU7UUFDNUIsY0FBYyxFQUFFLE1BQU07UUFDdEIsS0FBSyxFQUFFLHFCQUFTO1FBQ2hCLGdCQUFnQixFQUFFLHFCQUFTO1FBQzNCLFNBQVMsRUFBRSxxQkFBUztLQUNyQjtJQUNELENBQUMsRUFBRTtRQUNELFlBQVksRUFBRSxrQ0FBc0I7UUFDcEMsS0FBSyxFQUFFLHVCQUFXO1FBQ2xCLEVBQUUsRUFBRSx3QkFBWTtRQUNoQixLQUFLLEVBQUUscUJBQVM7UUFDaEIsZ0JBQWdCLEVBQUUscUJBQVM7UUFDM0IsY0FBYyxFQUFFLG1CQUFPO1FBQ3ZCLGFBQWEsRUFBRSxtQkFBTztRQUN0QixjQUFjLEVBQUUsR0FBRztRQUNuQixjQUFjLEVBQUUsSUFBSTtRQUNwQixrQkFBa0IsRUFBRSxJQUFJLGVBQUUsQ0FBQyxRQUFRLENBQUM7UUFDcEMsU0FBUyxFQUFFLElBQUksZUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxtQkFBTyxDQUFDO1FBQ3pDLFFBQVEsRUFBRSxtQkFBTztRQUNqQixnQkFBZ0IsRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUU7UUFDOUIsZ0JBQWdCLEVBQUUsR0FBRyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRTtRQUNwQyxrQkFBa0IsRUFBRSxtQkFBTztRQUMzQixnQkFBZ0IsRUFB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QUFDSCxNQUFNLFFBQVE7SUFHWjtRQUZBLGFBQVEsR0FBeUIsSUFBSSxHQUFHLEVBQUUsQ0FBQTtRQUd4QyxJQUFJLENBQUMsZUFBZSxDQUFDLDRCQUFnQixFQUFFLGVBQWUsQ0FBQyxDQUFBO1FBQ3ZELElBQUksQ0FBQyxlQUFlLENBQUMseUJBQWEsRUFBRSxXQUFXLENBQUMsQ0FBQTtJQUNsRCxDQUFDO0lBRUQsZUFBZSxDQUFDLFNBQWlCLEVBQUUsT0FBZ0I7UUFDakQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUE7SUFDL0MsQ0FBQztJQUVELFVBQVUsQ0FBQyxTQUFpQjtRQUMxQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUE7SUFDNUMsQ0FBQztJQUVELFlBQVksQ0FBQyxTQUFpQjs7UUFDNUIsT0FBTyxNQUFBLE1BQUEsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUMsMENBQUUsVUFBVSxtQ0FBSSxLQUFLLENBQUE7SUFDakUsQ0FBQztDQUNGO0FBRUQsa0JBQWUsSUFBSSxRQUFRLEVBQUUsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uXG4gKiBAbW9kdWxlIFV0aWxzLU5ldHdvcmtzXG4gKi9cblxuaW1wb3J0IEJOIGZyb20gXCJibi5qc1wiXG5pbXBvcnQge1xuICBDQ2hhaW5BbGlhcyxcbiAgQ0NoYWluVk1OYW1lLFxuICBDRU5USUFWQVgsXG4gIERlZmF1bHROZXR3b3JrSUQsXG4gIEdXRUksXG4gIE1JTExJQVZBWCxcbiAgT05FQVZBWCxcbiAgUENoYWluQWxpYXMsXG4gIFBDaGFpblZNTmFtZSxcbiAgWENoYWluQWxpYXMsXG4gIFhDaGFpblZNTmFtZSxcbiAgRGVmYXVsdFBsYXRmb3JtQ2hhaW5JRCxcbiAgVGVzdEF2YXhBc3NldElELFxuICBUZXN0Q0Jsb2NrY2hhaW5JRCxcbiAgVGVzdEhSUCxcbiAgVGVzdE5ldHdvcmtJRCxcbiAgVGVzdFhCbG9ja2NoYWluSURcbn0gZnJvbSBcIi4vY29uc3RhbnRzXCJcblxuZXhwb3J0IGludGVyZmFjZSBDIHtcbiAgYmxvY2tjaGFpbklEOiBzdHJpbmdcbiAgYWxpYXM6IHN0cmluZ1xuICB2bTogc3RyaW5nXG4gIGZlZT86IEJOXG4gIGdhc1ByaWNlOiBCTiB8IG51bWJlclxuICBjaGFpbklEPzogbnVtYmVyXG4gIG1pbkdhc1ByaWNlPzogQk5cbiAgbWF4R2FzUHJpY2U/OiBCTlxuICB0eEJ5dGVzR2FzPzogbnVtYmVyXG4gIGNvc3RQZXJTaWduYXR1cmU/OiBudW1iZXJcbiAgdHhGZWU/OiBCTlxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFgge1xuICBibG9ja2NoYWluSUQ6IHN0cmluZ1xuICBhbGlhczogc3RyaW5nXG4gIHZtOiBzdHJpbmdcbiAgY3JlYXRlQXNzZXRUeEZlZTogQk4gfCBudW1iZXJcbiAgYXZheEFzc2V0SUQ6IHN0cmluZ1xuICBhdmF4QXNzZXRBbGlhczogc3RyaW5nXG4gIHR4RmVlPzogQk4gfCBudW1iZXJcbiAgZmVlPzogQk5cbiAgbWludFR4RmVlPzogQk4gfCBudW1iZXJcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQIHtcbiAgYmxvY2tjaGFpbklEOiBzdHJpbmdcbiAgYWxpYXM6IHN0cmluZ1xuICB2bTogc3RyaW5nXG4gIGNyZWF0ZUFzc2V0VHhGZWU6IEJOIHwgbnVtYmVyXG4gIGNyZWF0ZVN1Ym5ldFR4OiBCTiB8IG51bWJlclxuICBjcmVhdGVDaGFpblR4OiBCTiB8IG51bWJlclxuICBtaW5Db25zdW1wdGlvbjogbnVtYmVyXG4gIG1heENvbnN1bXB0aW9uOiBudW1iZXJcbiAgbWF4U3Rha2luZ0R1cmF0aW9uOiBCTlxuICBtYXhTdXBwbHk6IEJOXG4gIG1pblN0YWtlOiBCTlxuICBtaW5TdGFrZUR1cmF0aW9uOiBudW1iZXJcbiAgbWF4U3Rha2VEdXJhdGlvbjogbnVtYmVyXG4gIG1pbkRlbGVnYXRpb25TdGFrZTogQk5cbiAgbWluRGVsZWdhdGlvbkZlZTogQk5cbiAgdHhGZWU/OiBCTiB8IG51bWJlclxuICBmZWU/OiBCTlxuICB2ZXJpZnlOb2RlU2lnbmF0dXJlOiBib29sZWFuXG4gIGxvY2tNb2RlQm9uZERlcG9zaXQ6IGJvb2xlYW5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBOZXR3b3JrIHtcbiAgcHJlRGVmaW5lZD86IGJvb2xlYW5cbiAgaHJwOiBzdHJpbmdcbiAgQzogQ1xuICBYOiBYXG4gIFA6IFBcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaGFpbiB7XG4gIGFsaWFzOiBzdHJpbmdcbiAgaWQ6IHN0cmluZ1xufVxuXG5jb25zdCBUZXN0TmV0d29yazogTmV0d29yayA9IHtcbiAgcHJlRGVmaW5lZDogdHJ1ZSxcbiAgaHJwOiBUZXN0SFJQLFxuICBYOiB7XG4gICAgYmxvY2tjaGFpbklEOiBUZXN0WEJsb2NrY2hhaW5JRCxcbiAgICBhbGlhczogWENoYWluQWxpYXMsXG4gICAgdm06IFhDaGFpblZNTmFtZSxcbiAgICBhdmF4QXNzZXRJRDogVGVzdEF2YXhBc3NldElELFxuICAgIGF2YXhBc3NldEFsaWFzOiBcIkFWQVhcIixcbiAgICB0eEZlZTogTUlMTElBVkFYLFxuICAgIGNyZWF0ZUFzc2V0VHhGZWU6IENFTlRJQVZBWCxcbiAgICBtaW50VHhGZWU6IE1JTExJQVZBWFxuICB9LFxuICBQOiB7XG4gICAgYmxvY2tjaGFpbklEOiBEZWZhdWx0UGxhdGZvcm1DaGFpbklELFxuICAgIGFsaWFzOiBQQ2hhaW5BbGlhcyxcbiAgICB2bTogUENoYWluVk1OYW1lLFxuICAgIHR4RmVlOiBNSUxMSUFWQVgsXG4gICAgY3JlYXRlQXNzZXRUeEZlZTogQ0VOVElBVkFYLFxuICAgIGNyZWF0ZVN1Ym5ldFR4OiBPTkVBVkFYLFxuICAgIGNyZWF0ZUNoYWluVHg6IE9ORUFWQVgsXG4gICAgbWluQ29uc3VtcHRpb246IDAuMSxcbiAgICBtYXhDb25zdW1wdGlvbjogMC4xMixcbiAgICBtYXhTdGFraW5nRHVyYXRpb246IG5ldyBCTigzMTUzNjAwMCksXG4gICAgbWF4U3VwcGx5OiBuZXcgQk4oNzIwMDAwMDAwKS5tdWwoT05FQVZBWCksXG4gICAgbWluU3Rha2U6IE9ORUFWQVgsXG4gICAgbWluU3Rha2VEdXJhdGlvbjogMjQgKiA2MCAqIDYwLCAvL29uZSBkYXlcbiAgICBtYXhTdGFrZUR1cmF0aW9uOiAzNjUgKiAyNCAqIDYwICogNjAsIC8vIG9uZSB5ZWFyXG4gICAgbWluRGVsZWdhdGlvblN0YWtlOiBPTkVBVkFYLFxuICAgIG1pbkRlbGVnYXRpb25GZWU6IG5ldyBCTigyKSxcbiAgICB2ZXJpZnlOb2RlU2lnbmF0dXJlOiBmYWxzZSxcbiAgICBsb2NrTW9kZUJvbmREZXBvc2l0OiBmYWxzZVxuICB9LFxuICBDOiB7XG4gICAgYmxvY2tjaGFpbklEOiBUZXN0Q0Jsb2NrY2hhaW5JRCxcbiAgICBhbGlhczogQ0NoYWluQWxpYXMsXG4gICAgdm06IENDaGFpblZNTmFtZSxcbiAgICB0eEJ5dGVzR2FzOiAxLFxuICAgIGNvc3RQZXJTaWduYXR1cmU6IDEwMDAsXG4gICAgdHhGZWU6IE1JTExJQVZBWCxcbiAgICBnYXNQcmljZTogR1dFSS5tdWwobmV3IEJOKDIyNSkpLFxuICAgIG1pbkdhc1ByaWNlOiBHV0VJLm11bChuZXcgQk4oMjUpKSxcbiAgICBtYXhHYXNQcmljZTogR1dFSS5tdWwobmV3IEJOKDEwMDApKSxcbiAgICBjaGFpbklEOiA0MzExMlxuICB9XG59XG5cbi8vIERvZXMgbm90IHN1cHBvcnQgcDpnZXRDb25maWd1cmF0aW9uXG5jb25zdCBBdmF4TWFpbk5ldHdvcms6IE5ldHdvcmsgPSB7XG4gIHByZURlZmluZWQ6IHRydWUsXG4gIGhycDogXCJhdmF4XCIsXG4gIFg6IHtcbiAgICBibG9ja2NoYWluSUQ6IFwiMm9ZTUJOVjRlTkh5cWsyZmpqVjVuVlFMRGJ0bU5KenE1czNxczNMbzZmdG5DNkZCeU1cIixcbiAgICBhbGlhczogWENoYWluQWxpYXMsXG4gICAgdm06IFhDaGFpblZNTmFtZSxcbiAgICBhdmF4QXNzZXRJRDogXCJGdndFQWhteEtmZWlHOFNuRXZxNDJoYzZ3aFJ5WTNFRllBdmViTXFETkRHQ2d4TjVaXCIsXG4gICAgYXZheEFzc2V0QWxpYXM6IFwiQVZBWFwiLFxuICAgIHR4RmVlOiBNSUxMSUFWQVgsXG4gICAgY3JlYXRlQXNzZXRUeEZlZTogQ0VOVElBVkFYLFxuICAgIG1pbnRUeEZlZTogTUlMTElBVkFYXG4gIH0sXG4gIFA6IHtcbiAgICBibG9ja2NoYWluSUQ6IERlZmF1bHRQbGF0Zm9ybUNoYWluSUQsXG4gICAgYWxpYXM6IFBDaGFpbkFsaWFzLFxuICAgIHZtOiBQQ2hhaW5WTU5hbWUsXG4gICAgdHhGZWU6IE1JTExJQVZBWCxcbiAgICBjcmVhdGVBc3NldFR4RmVlOiBDRU5USUFWQVgsXG4gICAgY3JlYXRlU3VibmV0VHg6IE9ORUFWQVgsXG4gICAgY3JlYXRlQ2hhaW5UeDogT05FQVZBWCxcbiAgICBtaW5Db25zdW1wdGlvbjogMC4xLFxuICAgIG1heENvbnN1bXB0aW9uOiAwLjEyLFxuICAgIG1heFN0YWtpbmdEdXJhdGlvbjogbmV3IEJOKDMxNTM2MDAwKSxcbiAgICBtYXhTdXBwbHk6IG5ldyBCTig3MjAwMDAwMDApLm11bChPTkVBVkFYKSxcbiAgICBtaW5TdGFrZTogT05FQVZBWC5tdWwobmV3IEJOKDIwMDApKSxcbiAgICBtaW5TdGFrZUR1cmF0aW9uOiAyICogNyAqIDI0ICogNjAgKiA2MCwgLy9vbmUgZGF5XG4gICAgbWF4U3Rha2VEdXJhdGlvbjogMzY1ICogMjQgKiA2MCAqIDYwLCAvLyBvbmUgeWVhclxuICAgIG1pbkRlbGVnYXRpb25TdGFrZTogT05FQVZBWC5tdWwobmV3IEJOKDI1KSksXG4gICAgbWluRGVsZWdhdGlvbkZlZTogbmV3IEJOKDIpLFxuICAgIHZlcmlmeU5vZGVTaWduYXR1cmU6IGZhbHNlLFxuICAgIGxvY2tNb2RlQm9uZERlcG9zaXQ6IGZhbHNlXG4gIH0sXG4gIEM6IHtcbiAgICBibG9ja2NoYWluSUQ6IFwiMnE5ZTRyNk11M1U2OG5VMWZZamdiUjZKdndyUngzNkNvaHBBWDVVUXhzZTU1eDFRNVwiLFxuICAgIGFsaWFzOiBDQ2hhaW5BbGlhcyxcbiAgICB2bTogQ0NoYWluVk1OYW1lLFxuICAgIHR4Qnl0ZXNHYXM6IDEsXG4gICAgY29zdFBlclNpZ25hdHVyZTogMTAwMCxcbiAgICB0eEZlZTogTUlMTElBVkFYLFxuICAgIGdhc1ByaWNlOiBHV0VJLm11bChuZXcgQk4oMjI1KSksXG4gICAgbWluR2FzUHJpY2U6IEdXRUkubXVsKG5ldyBCTigyNSkpLFxuICAgIG1heEdhc1ByaWNlOiBHV0VJLm11bChuZXcgQk4oMTAwMCkpLFxuICAgIGNoYWluSUQ6IDQzMTE0XG4gIH1cbn1cblxuLyoqXG4gKiBBIGNsYXNzIGZvciBzdG9yaW5nIHByZWRlZmluZWQgLyBmZXRjaGVkIG5ldHdvcmtzXG4gKi9cbmNsYXNzIE5ldHdvcmtzIHtcbiAgcmVnaXN0cnk6IE1hcDxzdHJpbmcsIE5ldHdvcms+ID0gbmV3IE1hcCgpXG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5yZWdpc3Rlck5ldHdvcmsoRGVmYXVsdE5ldHdvcmtJRCwgQXZheE1haW5OZXR3b3JrKVxuICAgIHRoaXMucmVnaXN0ZXJOZXR3b3JrKFRlc3ROZXR3b3JrSUQsIFRlc3ROZXR3b3JrKVxuICB9XG5cbiAgcmVnaXN0ZXJOZXR3b3JrKG5ldHdvcmtJRDogbnVtYmVyLCBuZXR3b3JrOiBOZXR3b3JrKTogdm9pZCB7XG4gICAgdGhpcy5yZWdpc3RyeVtuZXR3b3JrSUQudG9TdHJpbmcoKV0gPSBuZXR3b3JrXG4gIH1cblxuICBnZXROZXR3b3JrKG5ldHdvcmtJRDogbnVtYmVyKTogTmV0d29yayB7XG4gICAgcmV0dXJuIHRoaXMucmVnaXN0cnlbbmV0d29ya0lELnRvU3RyaW5nKCldXG4gIH1cblxuICBpc1ByZWRlZmluZWQobmV0d29ya0lEOiBudW1iZXIpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5yZWdpc3RyeVtuZXR3b3JrSUQudG9TdHJpbmcoKV0/LnByZURlZmluZWQgPz8gZmFsc2VcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBuZXcgTmV0d29ya3MoKVxuIl19