@witnet/sdk 3.0.2 → 3.0.3
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.
- package/dist/package.json +1 -1
- package/dist/src/lib/crypto/wallet.d.ts +1 -1
- package/dist/src/lib/crypto/wallet.d.ts.map +1 -1
- package/dist/src/lib/crypto/wallet.js +2 -2
- package/dist/src/lib/radon/filters.d.ts.map +1 -1
- package/dist/src/lib/radon/filters.js +7 -1
- package/package.json +1 -1
- package/src/bin/cli/inspect.js +7 -7
- package/src/bin/cli/radon.js +6 -4
- package/src/bin/index.js +1 -1
package/dist/package.json
CHANGED
|
@@ -11,7 +11,7 @@ export declare class Wallet implements IWallet {
|
|
|
11
11
|
* Create a Wallet by reading the XPRV master key from the WITNET_SDK_WALLET_MASTER_KEY environment variable.
|
|
12
12
|
* @param specs Wallet creation parameters.
|
|
13
13
|
*/
|
|
14
|
-
static fromEnv(options
|
|
14
|
+
static fromEnv(options?: {
|
|
15
15
|
/**
|
|
16
16
|
* Password to decrypt the XPRV master key read from environment, in case it's encrypted.
|
|
17
17
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../../../../src/lib/crypto/wallet.ts"],"names":[],"mappings":"AAQA,OAAO,EACN,KAAK,OAAO,EACZ,KAAK,SAAS,EACd,KAAK,OAAO,EACZ,KAAK,gBAAgB,EACrB,KAAK,UAAU,EAEf,MAAM,aAAa,CAAC;AAGrB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACvG,OAAO,EACN,KAAK,KAAK,EACV,KAAK,SAAS,EACd,KAAK,mBAAmB,EACxB,KAAK,IAAI,EACT,KAAK,aAAa,EAClB,qBAAqB,EACrB,MAAM,YAAY,CAAC;AAIpB,qBAAa,MAAO,YAAW,OAAO;IACrC,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC;IAEvB,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAM;IAE1C,SAAgB,QAAQ,EAAE,SAAS,CAAC;IACpC,SAAgB,QAAQ,EAAE,gBAAgB,CAAC;IACpC,QAAQ,EAAE,qBAAqB,CAAC;IAEvC;;;OAGG;WACU,OAAO,CAAC,OAAO,EAAE;
|
|
1
|
+
{"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../../../../src/lib/crypto/wallet.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,7 +23,7 @@ export class Wallet {
|
|
|
23
23
|
if (!xprv)
|
|
24
24
|
throw Error(`WITNET_SDK_WALLET_MASTER_KEY must be set on environment.`);
|
|
25
25
|
if (xprv.length > 117) {
|
|
26
|
-
if (!options
|
|
26
|
+
if (!options?.passwd)
|
|
27
27
|
throw Error(`Missing password for WITNET_SDK_WALLET_MASTER_KEY.`);
|
|
28
28
|
return Wallet.fromEncryptedXprv(xprv, options?.passwd, options);
|
|
29
29
|
}
|
|
@@ -230,4 +230,4 @@ export class Wallet {
|
|
|
230
230
|
return account?.getSigner(pkh) || this.coinbase.getSigner(pkh);
|
|
231
231
|
}
|
|
232
232
|
}
|
|
233
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FsbGV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9jcnlwdG8vd2FsbGV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxHQUFHLE1BQU0seUJBQXlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUNyQyxPQUFPLEtBQUssS0FBSyxNQUFNLFlBQVksQ0FBQztBQUVwQyxNQUFNLEtBQUssR0FBRyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7QUFFaEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xELE9BQU8sRUFNTixhQUFhLEdBQ2IsTUFBTSxhQUFhLENBQUM7QUFDckIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN2QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFNTixxQkFBcUIsR0FDckIsTUFBTSxZQUFZLENBQUM7QUFFcEIsTUFBTSxXQUFXLEdBQUcsRUFBRSxDQUFDO0FBRXZCLE1BQU0sT0FBTyxNQUFNO0lBQ1IsSUFBSSxDQUFTO0lBRWIsU0FBUyxHQUFvQixFQUFFLENBQUM7SUFFMUIsUUFBUSxDQUFZO0lBQ3BCLFFBQVEsQ0FBbUI7SUFDcEMsUUFBUSxDQUF3QjtJQUV2Qzs7O09BR0c7SUFDSCxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQXlCcEI7UUFDQSxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLDRCQUE0QixDQUFDO1FBQ3RELElBQUksQ0FBQyxJQUFJO1lBQUUsTUFBTSxLQUFLLENBQUMsMERBQTBELENBQUMsQ0FBQztRQUNuRixJQUFJLElBQUksQ0FBQyxNQUFNLEdBQUcsR0FBRyxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNO2dCQUFFLE1BQU0sS0FBSyxDQUFDLG9E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QUN0RSxJQUFJLE9BQU8sQ0FBQyxHQUFHLEtBQUssR0FBRyxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBRyxLQUFLLEdBQUcsRUFBRSxDQUFDO29CQUN6RCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztvQkFDN0IsT0FBTyxPQUFPLENBQUM7Z0JBQ2hCLENBQUM7WUFDRixDQUFDO1lBQ0QsT0FBTyxTQUFTLENBQUM7UUFDbEIsQ0FBQzthQUFNLENBQUM7WUFDUCxPQUFPLE9BQU8sQ0FBQztRQUNoQixDQUFDO0lBQ0YsQ0FBQztJQUVNLFNBQVMsQ0FBQyxHQUF5QixFQUFFLEdBQVk7UUFDdkQsSUFBSSxDQUFDLEdBQUc7WUFBRSxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsU0FBUyxFQUFFLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0UsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDMUMsT0FBTyxPQUFPLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7Q0FDRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGVjYyBmcm9tIFwiQGJpdGNvaW5lcmxhYi9zZWNwMjU2azFcIjtcblxuaW1wb3J0IHsgQklQMzJGYWN0b3J5IH0gZnJvbSBcImJpcDMyXCI7XG5pbXBvcnQgKiBhcyB1dGlscyBmcm9tIFwiLi91dGlscy5qc1wiO1xuXG5jb25zdCBiaXAzMiA9IEJJUDMyRmFjdG9yeShlY2MpO1xuXG5pbXBvcnQgeyBKc29uUnBjUHJvdmlkZXIgfSBmcm9tIFwiLi4vcnBjL2luZGV4LmpzXCI7XG5pbXBvcnQge1xuXHR0eXBlIEJhbGFuY2UsXG5cdHR5cGUgSGV4U3RyaW5nLFxuXHR0eXBlIE5ldHdvcmssXG5cdHR5cGUgUXVlcnlTdGFrZXNPcmRlcixcblx0dHlwZSBTdGFrZUVudHJ5LFxuXHRTdGFrZXNPcmRlckJ5LFxufSBmcm9tIFwiLi4vdHlwZXMuanNcIjtcbmltcG9ydCB7IEFjY291bnQgfSBmcm9tIFwiLi9hY2NvdW50LmpzXCI7XG5pbXBvcnQgeyBDb2luYmFzZSB9IGZyb20gXCIuL2NvaW5iYXNlLmpzXCI7XG5pbXBvcnQgdHlwZSB7IElBY2NvdW50LCBJQklQMzIsIElDb2luYmFzZSwgSUpzb25ScGNQcm92aWRlciwgSVNpZ25lciwgSVdhbGxldCB9IGZyb20gXCIuL2ludGVyZmFjZXMuanNcIjtcbmltcG9ydCB7XG5cdHR5cGUgQ29pbnMsXG5cdHR5cGUgUHVibGljS2V5LFxuXHR0eXBlIFB1YmxpY0tleUhhc2hTdHJpbmcsXG5cdHR5cGUgVXR4byxcblx0dHlwZSBVdHhvQ2FjaGVJbmZvLFxuXHRVdHhvU2VsZWN0aW9uU3RyYXRlZ3ksXG59IGZyb20gXCIuL3R5cGVzLmpzXCI7XG5cbmNvbnN0IERFRkFVTFRfR0FQID0gMjA7XG5cbmV4cG9ydCBjbGFzcyBXYWxsZXQgaW1wbGVtZW50cyBJV2FsbGV0IHtcblx0cHJvdGVjdGVkIHJvb3Q6IElCSVAzMjtcblxuXHRwcm90ZWN0ZWQgX2FjY291bnRzOiBBcnJheTxJQWNjb3VudD4gPSBbXTtcblxuXHRwdWJsaWMgcmVhZG9ubHkgY29pbmJhc2U6IElDb2luYmFzZTtcblx0cHVibGljIHJlYWRvbmx5IHByb3ZpZGVyOiBJSnNvblJwY1Byb3ZpZGVyO1xuXHRwdWJsaWMgc3RyYXRlZ3k6IFV0eG9TZWxlY3Rpb25TdHJhdGVneTtcblxuXHQvKipcblx0ICogQ3JlYXRlIGEgV2FsbGV0IGJ5IHJlYWRpbmcgdGhlIFhQUlYgbWFzdGVyIGtleSBmcm9tIHRoZSBXSVRORVRfU0RLX1dBTExFVF9NQVNURVJfS0VZIGVudmlyb25tZW50IHZhcmlhYmxlLlxuXHQgKiBAcGFyYW0gc3BlY3MgV2FsbGV0IGNyZWF0aW9uIHBhcmFtZXRlcnMuXG5cdCAqL1xuXHRzdGF0aWMgYXN5bmMgZnJvbUVudihvcHRpb25zOiB7XG5cdFx0LyoqXG5cdFx0ICogUGFzc3dvcmQgdG8gZGVjcnlwdCB0aGUgWFBSViBtYXN0ZXIga2V5IHJlYWQgZnJvbSBlbnZpcm9ubWVudCwgaW4gY2FzZSBpdCdzIGVuY3J5cHRlZC5cblx0XHQgKi9cblx0XHRwYXNzd2Q/OiBzdHJpbmc7XG5cdFx0LyoqXG5cdFx0ICogTnVtYmVyIG9mIGNvbnNlY3V0aXZlIGFjY291bnRzIHdpdGggbm8gZnVuZHMgYmVmb3JlIHN0b3BwaW5nIGRlcml2YXRpb24gb2YgbmV3IFdhbGxldCBhY2NvdW50cy5cblx0XHQgKi9cblx0XHRnYXA/OiBudW1iZXI7XG5cdFx0LyoqXG5cdFx0ICogTWF4aW11bSBudW1iZXIgb2YgYWNjb3VudHMgdG8gZGVyaXZlLlxuXHRcdCAqL1xuXHRcdGxpbWl0PzogbnVtYmVyO1xuXHRcdC8qKlxuXHRcdCAqIFNwZWNpZmljIFdpdC9SUEMgcHJvdmlkZXIgdG8gdXNlIGZvciBpbnRlcmFjdGluZyB3aXRoIHRoZSBXaXRuZXQgbmV0d29yay5cblx0XHQgKi9cblx0XHRwcm92aWRlcj86IElKc29uUnBjUHJvdmlkZXI7XG5cdFx0LyoqXG5cdFx0ICogVVRYTyBzZWxlY3Rpb24gc3RyYXRlZ3kgd2hlbiBidWlsZGluZyB0cmFuc2FjdGlvbnMgb3V0IG9mIHRoaXMgd2FsbGV0IChkZWZhdWx0OiBVdHhvU2VsZWN0aW9uU3RyYXRlZ3kuU21hbGxGaXJzdCkuXG5cdFx0ICovXG5cdFx0c3RyYXRlZ3k/OiBVdHhvU2VsZWN0aW9uU3RyYXRlZ3k7XG5cdFx0LyoqXG5cdFx0ICogT25seSBkZXJpdmUgYWNjb3VudHMgdGhhdCBob2xkIHNvbWUgdW5sb2NrZWQgYmFsYW5jZSBvZiAkV0lULlxuXHRcdCAqL1xuXHRcdG9ubHlXaXRoRnVuZHM/OiBib29sZWFuO1xuXHR9KTogUHJvbWlzZTxXYWxsZXQ+IHtcblx0XHRjb25zdCB4cHJ2ID0gcHJvY2Vzcy5lbnYuV0lUTkVUX1NES19XQUxMRVRfTUFTVEVSX0tFWTtcblx0XHRpZiAoIXhwcnYpIHRocm93IEVycm9yKGBXSVRORVRfU0RLX1dBTExFVF9NQVNURVJfS0VZIG11c3QgYmUgc2V0IG9uIGVudmlyb25tZW50LmApO1xuXHRcdGlmICh4cHJ2Lmxlbmd0aCA+IDExNykge1xuXHRcdFx0aWYgKCFvcHRpb25zLnBhc3N3ZCkgdGhyb3cgRXJyb3IoYE1pc3NpbmcgcGFzc3dvcmQgZm9yIFdJVE5FVF9TREtfV0FMTEVUX01BU1RFUl9LRVkuYCk7XG5cdFx0XHRyZXR1cm4gV2FsbGV0LmZyb21FbmNyeXB0ZWRYcHJ2KHhwcnYsIG9wdGlvbnM/LnBhc3N3ZCwgb3B0aW9ucyk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHJldHVybiBXYWxsZXQuZnJvbVhwcnYoeHBydiwgb3B0aW9ucyk7XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIENyZWF0ZSBhIFdhbGxldCBieSB1c2luZyBwYXNzZWQgWFBSViBtYXN0ZXIga2V5LlxuXHQgKiBAcGFyYW0geHBydiBEZWNyeXB0ZWQgWFBSViBtYXN0ZXIga2V5IHN0cmluZy5cblx0ICogQHBhcmFtIG9wdGlvbnMgV2FsbGV0IGNyZWF0aW9uIHBhcmFtZXRlcnMuXG5cdCAqL1xuXHRzdGF0aWMgYXN5bmMgZnJvbVhwcnYoXG5cdFx0eHBydjogc3RyaW5nLFxuXHRcdG9wdGlvbnM/OiB7XG5cdFx0XHQvKipcblx0XHRcdCAqIE51bWJlciBvZiBjb25zZWN1dGl2ZSBhY2NvdW50cyB3aXRoIG5vIGZ1bmRzIGJlZm9yZSBzdG9wcGluZyBkZXJpdmF0aW9uIG9mIG5ldyBXYWxsZXQgYWNjb3VudHMuXG5cdFx0XHQgKi9cblx0XHRcdGdhcD86IG51bWJlcjtcblx0XHRcdC8qKlxuXHRcdFx0ICogTWF4aW11bSBudW1iZXIgb2YgYWNjb3VudHMgdG8gZGVyaXZlLlxuXHRcdFx0ICovXG5cdFx0XHRsaW1pdD86IG51bWJlcjtcblx0XHRcdC8qKlxuXHRcdFx0ICogU3BlY2lmaWMgV2l0L1JQQyBwcm92aWRlciB0byB1c2UgZm9yIGludGVyYWN0aW5nIHdpdGggdGhlIFdpdG5ldCBuZXR3b3JrLlxuXHRcdFx0ICovXG5cdFx0XHRwcm92aWRlcj86IElKc29uUnBjUHJvdmlkZXI7XG5cdFx0XHQvKipcblx0XHRcdCAqIFVUWE8gc2VsZWN0aW9uIHN0cmF0ZWd5IHdoZW4gYnVpbGRpbmcgdHJhbnNhY3Rpb25zIG91dCBvZiB0aGlzIHdhbGxldCAoZGVmYXVsdDogVXR4b1NlbGVjdGlvblN0cmF0ZWd5LlNtYWxsRmlyc3QpLlxuXHRcdFx0ICovXG5cdFx0XHRzdHJhdGVneT86IFV0eG9TZWxlY3Rpb25TdHJhdGVneTtcblx0XHRcdC8qKlxuXHRcdFx0ICogT25seSBkZXJpdmUgYWNjb3VudHMgaG9sZGluZyBzb21lICRXSVQgZnVuZHMgKGVpdGhlciBsb2NrZWQsIHN0YWtlZCBvciB1bmxvY2tlZCkuXG5cdFx0XHQgKi9cblx0XHRcdG9ubHlXaXRoRnVuZHM/OiBib29sZWFuO1xuXHRcdH0sXG5cdCk6IFByb21pc2U8V2FsbGV0PiB7XG5cdFx0Y29uc3QgeyBjaGFpbkNvZGUsIHByaXZhdGVLZXkgfSA9IHV0aWxzLnBhcnNlWHBydih4cHJ2KTtcblx0XHRjb25zdCByb290ID0gYmlwMzIuZnJvbVByaXZhdGVLZXkoQnVmZmVyLmZyb20ocHJpdmF0ZUtleSksIEJ1ZmZlci5mcm9tKGNoYWluQ29kZSkpO1xuXHRcdGNvbnN0IHByb3ZpZGVyID0gb3B0aW9ucz8ucHJvdmlkZXIgfHwgKGF3YWl0IEpzb25ScGNQcm92aWRlci5mcm9tRW52KCkpO1xuXHRcdGF3YWl0IHByb3ZpZGVyLmNvbnN0YW50cygpO1xuXHRcdGNvbnN0IHdhbGxldCA9IG5ldyBXYWxsZXQocm9vdCwgcHJvdmlkZXIsIG9wdGlvbnM/LnN0cmF0ZWd5KTtcblx0XHRpZiAob3B0aW9ucz8ub25seVdpdGhGdW5kcykge1xuXHRcdFx0YXdhaXQgd2FsbGV0LmV4cGxvcmVBY2NvdW50cyhvcHRpb25zPy5saW1pdCB8fCAwLCBvcHRpb25zPy5nYXApO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHR3YWxsZXQuZGVyaXZlQWNjb3VudHMob3B0aW9ucz8ubGltaXQgfHwgMSk7XG5cdFx0fVxuXHRcdC8vIGxvYWQgdXAgdXR4b3MgY2FjaGVcblx0XHRhd2FpdCB3YWxsZXQuZ2V0VXR4b3ModHJ1ZSk7XG5cdFx0cmV0dXJuIHdhbGxldDtcblx0fVxuXG5cdC8qKlxuXHQgKiBDcmVhdGUgYSBXYWxsZXQgYnkgdXNpbmcgcGFzc2VkIFhQUlYgbWFzdGVyIGtleS5cblx0ICogQHBhcmFtIHhwcnYgRW5jcnlwdGVkIFhQUlYgbWFzdGVyIGtleSBzdHJpbmcuXG5cdCAqIEBwYXJhbSBwYXNzd2QgUGFzc3dvcmQgdG8gZGVjaXBoZXIgdGhlIFhQUlYgbWFzdGVyIGtleS5cblx0ICogQHBhcmFtIG9wdGlvbnMgV2FsbGV0IGNyZWF0aW9uIHBhcmFtZXRlcnMuXG5cdCAqL1xuXHRzdGF0aWMgYXN5bmMgZnJvbUVuY3J5cHRlZFhwcnYoXG5cdFx0eHBydjogc3RyaW5nLFxuXHRcdHBhc3N3ZDogc3RyaW5nLFxuXHRcdG9wdGlvbnM/OiB7XG5cdFx0XHQvKipcblx0XHRcdCAqIE51bWJlciBvZiBjb25zZWN1dGl2ZSBhY2NvdW50cyB3aXRoIG5vIGZ1bmRzIGJlZm9yZSBzdG9wcGluZyBkZXJpdmF0aW9uIG9mIG5ldyBXYWxsZXQgYWNjb3VudHMuXG5cdFx0XHQgKi9cblx0XHRcdGdhcD86IG51bWJlcjtcblx0XHRcdC8qKlxuXHRcdFx0ICogTWF4aW11bSBudW1iZXIgb2YgYWNjb3VudHMgdG8gZGVyaXZlLlxuXHRcdFx0ICovXG5cdFx0XHRsaW1pdD86IG51bWJlcjtcblx0XHRcdC8qKlxuXHRcdFx0ICogU3BlY2lmaWMgV2l0L1JQQyBwcm92aWRlciB0byB1c2UgZm9yIGludGVyYWN0aW5nIHdpdGggdGhlIFdpdG5ldCBuZXR3b3JrLlxuXHRcdFx0ICovXG5cdFx0XHRwcm92aWRlcj86IElKc29uUnBjUHJvdmlkZXI7XG5cdFx0XHQvKipcblx0XHRcdCAqIFVUWE8gc2VsZWN0aW9uIHN0cmF0ZWd5IHdoZW4gYnVpbGRpbmcgdHJhbnNhY3Rpb25zIG91dCBvZiB0aGlzIHdhbGxldCAoZGVmYXVsdDogVXR4b1NlbGVjdGlvblN0cmF0ZWd5LlNtYWxsRmlyc3QpLlxuXHRcdFx0ICovXG5cdFx0XHRzdHJhdGVneT86IFV0eG9TZWxlY3Rpb25TdHJhdGVneTtcblx0XHRcdC8qKlxuXHRcdFx0ICogT25seSBkZXJpdmUgYWNjb3VudHMgaG9sZGluZyBzb21lICRXSVQgZnVuZHMgKGVpdGhlciBsb2NrZWQsIHN0YWtlZCBvciB1bmxvY2tlZCkuXG5cdFx0XHQgKi9cblx0XHRcdG9ubHlXaXRoRnVuZHM/OiBib29sZWFuO1xuXHRcdH0sXG5cdCk6IFByb21pc2U8V2FsbGV0PiB7XG5cdFx0cmV0dXJuIFdhbGxldC5mcm9tWHBydih1dGlscy5kZWNpcGhlclhwcnYoeHBydiwgcGFzc3dkKSwgb3B0aW9ucyk7XG5cdH1cblxuXHRjb25zdHJ1Y3Rvcihyb290OiBJQklQMzIsIHByb3ZpZGVyOiBJSnNvblJwY1Byb3ZpZGVyLCBzdHJhdGVneT86IFV0eG9TZWxlY3Rpb25TdHJhdGVneSkge1xuXHRcdHRoaXMucHJvdmlkZXIgPSBwcm92aWRlcjtcblx0XHR0aGlzLmNvaW5iYXNlID0gbmV3IENvaW5iYXNlKHJvb3QsIHByb3ZpZGVyLCBzdHJhdGVneSk7XG5cdFx0dGhpcy5yb290ID0gcm9vdDtcblx0XHR0aGlzLnN0cmF0ZWd5ID0gc3RyYXRlZ3kgfHwgVXR4b1NlbGVjdGlvblN0cmF0ZWd5LlNtYWxsRmlyc3Q7XG5cdFx0dGhpcy5kZXJpdmVBY2NvdW50cygxKTtcblx0fVxuXG5cdHB1YmxpYyBnZXQgYWNjb3VudHMoKTogQXJyYXk8SUFjY291bnQ+IHtcblx0XHRyZXR1cm4gdGhpcy5fYWNjb3VudHM7XG5cdH1cblxuXHRwdWJsaWMgZ2V0IGNhY2hlSW5mbygpOiBVdHhvQ2FjaGVJbmZvIHtcblx0XHRjb25zdCBpbmZvOiBVdHhvQ2FjaGVJbmZvID0ge1xuXHRcdFx0ZXhwZW5kYWJsZTogMG4sXG5cdFx0XHRzaXplOiAwLFxuXHRcdFx0dGltZWxvY2s6IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSLFxuXHRcdH07XG5cdFx0dGhpcy5hY2NvdW50cz8uZm9yRWFjaCgoYWNjb3VudCkgPT4ge1xuXHRcdFx0Y29uc3QgYWNjb3VudEluZm8gPSBhY2NvdW50LmNhY2hlSW5mbztcblx0XHRcdGluZm8uZXhwZW5kYWJsZSArPSBhY2NvdW50SW5mby5leHBlbmRhYmxlO1xuXHRcdFx0aW5mby5zaXplICs9IGFjY291bnRJbmZvLnNpemU7XG5cdFx0XHRpZiAoYWNjb3VudEluZm8udGltZWxvY2sgIT09IDAgJiYgYWNjb3VudEluZm8udGltZWxvY2sgPCBpbmZvLnRpbWVsb2NrKSB7XG5cdFx0XHRcdGluZm8udGltZWxvY2sgPSBhY2NvdW50SW5mby50aW1lbG9jaztcblx0XHRcdH1cblx0XHR9KTtcblx0XHRpZiAoaW5mby50aW1lbG9jayA9PT0gTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIpIGluZm8udGltZWxvY2sgPSAwO1xuXHRcdHJldHVybiBpbmZvO1xuXHR9XG5cblx0cHVibGljIGdldCBjaGFuZ2VQa2goKTogUHVibGljS2V5SGFzaFN0cmluZyB7XG5cdFx0cmV0dXJuIHRoaXMuYWNjb3VudHMubGVuZ3RoID4gMCA/IHRoaXMuYWNjb3VudHNbMF0uY2hhbmdlUGtoIDogdGhpcy5jb2luYmFzZS5wa2g7XG5cdH1cblxuXHRwdWJsaWMgZ2V0IG5ldHdvcmsoKTogTmV0d29yayB8IHVuZGVmaW5lZCB7XG5cdFx0cmV0dXJuIHRoaXMucHJvdmlkZXIubmV0d29yaztcblx0fVxuXG5cdHB1YmxpYyBnZXQgcGtoKCk6IFB1YmxpY0tleUhhc2hTdHJpbmcge1xuXHRcdHJldHVybiB0aGlzLmFjY291bnRzLmxlbmd0aCA+IDAgPyB0aGlzLmFjY291bnRzWzBdLnBraCA6IHRoaXMuY29pbmJhc2UucGtoO1xuXHR9XG5cblx0cHVibGljIGdldCBwdWJsaWNLZXkoKTogUHVibGljS2V5IHtcblx0XHRyZXR1cm4gdGhpcy5hY2NvdW50cy5sZW5ndGggPiAwID8gdGhpcy5hY2NvdW50c1swXS5wdWJsaWNLZXkgOiB0aGlzLmNvaW5iYXNlLnB1YmxpY0tleTtcblx0fVxuXG5cdHB1YmxpYyBnZXQgcHJpdmF0ZUtleSgpOiBIZXhTdHJpbmcge1xuXHRcdHJldHVybiB0aGlzLmFjY291bnRzLmxlbmd0aCA+IDAgPyB0aGlzLmFjY291bnRzWzBdLnByaXZhdGVLZXkgOiB0aGlzLmNvaW5iYXNlLnByaXZhdGVLZXk7XG5cdH1cblxuXHRwdWJsaWMgYXV0aG9yaXplRXZtQWRkcmVzcyhldm1BZGRyZXNzOiBIZXhTdHJpbmcpOiBhbnkge1xuXHRcdHJldHVybiB0aGlzLmFjY291bnRzLmxlbmd0aCA+IDBcblx0XHRcdD8gdGhpcy5hY2NvdW50c1swXS5hdXRob3JpemVFdm1BZGRyZXNzKGV2bUFkZHJlc3MpXG5cdFx0XHQ6IHRoaXMuY29pbmJhc2UuYXV0aG9yaXplRXZtQWRkcmVzcyhldm1BZGRyZXNzKTtcblx0fVxuXG5cdHB1YmxpYyBhZGRVdHhvcyguLi51dHhvczogQXJyYXk8VXR4bz4pOiB7XG5cdFx0ZXhjbHVkZWQ6IEFycmF5PFV0eG8+O1xuXHRcdGluY2x1ZGVkOiBBcnJheTxVdHhvPjtcblx0fSB7XG5cdFx0Y29uc3QgaW5jbHVkZWQ6IEFycmF5PFV0eG8+ID0gW107XG5cdFx0dGhpcy5hY2NvdW50cy5mb3JFYWNoKChhY2NvdW50KSA9PiB7XG5cdFx0XHRjb25zdCBfdXR4b3MgPSBhY2NvdW50LmFkZFV0eG9zKC4uLnV0eG9zKTtcblx0XHRcdHV0eG9zID0gX3V0eG9zLmV4Y2x1ZGVkO1xuXHRcdFx0aW5jbHVkZWQucHVzaCguLi5fdXR4b3MuaW5jbHVkZWQpO1xuXHRcdH0pO1xuXHRcdHJldHVybiB7XG5cdFx0XHRleGNsdWRlZDogdXR4b3MsXG5cdFx0XHRpbmNsdWRlZCxcblx0XHR9O1xuXHR9XG5cblx0cHVibGljIGNvbnN1bWVVdHhvcyguLi51dHhvczogQXJyYXk8VXR4bz4pOiBBcnJheTxVdHhvPiB7XG5cdFx0dGhpcy5hY2NvdW50cy5mb3JFYWNoKChhY2NvdW50KSA9PiB7XG5cdFx0XHR1dHhvcyA9IGFjY291bnQuY29uc3VtZVV0eG9zKC4uLnV0eG9zKTtcblx0XHR9KTtcblx0XHRyZXR1cm4gdXR4b3M7XG5cdH1cblxuXHRwdWJsaWMgYXN5bmMgZ2V0QmFsYW5jZSgpOiBQcm9taXNlPEJhbGFuY2U+IHtcblx0XHRpZiAodGhpcy5fYWNjb3VudHMubGVuZ3RoID4gMCkge1xuXHRcdFx0cmV0dXJuIFByb21pc2UuYWxsKFxuXHRcdFx0XHR0aGlzLl9hY2NvdW50cy5tYXAoYXN5bmMgKGFjYzogSUFjY291bnQpID0+IHtcblx0XHRcdFx0XHRjb25zdCBiYWxhbmNlID0gYXdhaXQgYWNjLmdldEJhbGFuY2UoKTtcblx0XHRcdFx0XHRyZXR1cm4gYmFsYW5jZTtcblx0XHRcdFx0fSksXG5cdFx0XHQpLnRoZW4oKGJhbGFuY2VzOiBBcnJheTxCYWxhbmNlPikgPT4ge1xuXHRcdFx0XHRyZXR1cm4gYmFsYW5jZXMucmVkdWNlKFxuXHRcdFx0XHRcdChwcmV2LCBjdXJyKSA9PiB7XG5cdFx0XHRcdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHRcdFx0XHRsb2NrZWQ6IHByZXYubG9ja2VkICsgY3Vyci5sb2NrZWQsXG5cdFx0XHRcdFx0XHRcdHN0YWtlZDogcHJldi5zdGFrZWQgKyBjdXJyLnN0YWtlZCxcblx0XHRcdFx0XHRcdFx0dW5sb2NrZWQ6IHByZXYudW5sb2NrZWQgKyBjdXJyLnVubG9ja2VkLFxuXHRcdFx0XHRcdFx0fTtcblx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdHsgbG9ja2VkOiAwbiwgc3Rha2VkOiAwbiwgdW5sb2NrZWQ6IDBuIH0sXG5cdFx0XHRcdCk7XG5cdFx0XHR9KTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0cmV0dXJuIHRoaXMuY29pbmJhc2UuZ2V0QmFsYW5jZSgpO1xuXHRcdH1cblx0fVxuXG5cdHB1YmxpYyBhc3luYyBnZXREZWxlZ2F0ZWVzKG9yZGVyPzogUXVlcnlTdGFrZXNPcmRlciwgbGVmdEpvaW4gPSB0cnVlKTogUHJvbWlzZTxBcnJheTxTdGFrZUVudHJ5Pj4ge1xuXHRcdGNvbnN0IHJlY29yZHM6IEFycmF5PFN0YWtlRW50cnk+ID0gW107XG5cdFx0cmVjb3Jkcy5wdXNoKC4uLihhd2FpdCB0aGlzLmNvaW5iYXNlLmdldERlbGVnYXRlZXMob3JkZXIpKSk7XG5cdFx0YXdhaXQgUHJvbWlzZS5hbGwoXG5cdFx0XHR0aGlzLl9hY2NvdW50cy5tYXAoKGFjY291bnQpID0+XG5cdFx0XHRcdGFjY291bnQuZ2V0RGVsZWdhdGVlcyhvcmRlciwgbGVmdEpvaW4pLnRoZW4oKGVudHJpZXMpID0+IHJlY29yZHMucHVzaCguLi5lbnRyaWVzKSksXG5cdFx0XHQpLFxuXHRcdCk7XG5cdFx0aWYgKG9yZGVyKSB7XG5cdFx0XHRjb25zdCByZXZlcnNlID0gb3JkZXI/LnJldmVyc2UgPyArMSA6IC0xO1xuXHRcdFx0cmV0dXJuIHJlY29yZHMuc29ydCgoYSwgYikgPT4ge1xuXHRcdFx0XHRzd2l0Y2ggKG9yZGVyLmJ5KSB7XG5cdFx0XHRcdFx0Y2FzZSBTdGFrZXNPcmRlckJ5LkNvaW5zOlxuXHRcdFx0XHRcdFx0cmV0dXJuIChhLnZhbHVlLmNvaW5zIDwgYi52YWx1ZS5jb2lucyA/IDEgOiBhLnZhbHVlLmNvaW5zID4gYi52YWx1ZS5jb2lucyA/IC0xIDogMCkgKiByZXZlcnNlO1xuXHRcdFx0XHRcdGNhc2UgU3Rha2VzT3JkZXJCeS5NaW5pbmc6XG5cdFx0XHRcdFx0XHRyZXR1cm4gKGIudmFsdWUuZXBvY2hzLm1pbmluZyAtIGEudmFsdWUuZXBvY2hzLm1pbmluZykgKiByZXZlcnNlO1xuXHRcdFx0XHRcdGNhc2UgU3Rha2VzT3JkZXJCeS5XaXRuZXNzaW5nOlxuXHRcdFx0XHRcdFx0cmV0dXJuIChiLnZhbHVlLmVwb2Nocy53aXRuZXNzaW5nIC0gYS52YWx1ZS5lcG9jaHMud2l0bmVzc2luZykgKiByZXZlcnNlO1xuXHRcdFx0XHRcdGRlZmF1bHQ6XG5cdFx0XHRcdFx0XHRyZXR1cm4gKGIudmFsdWUubm9uY2UgLSBhLnZhbHVlLm5vbmNlKSAqIHJldmVyc2U7XG5cdFx0XHRcdH1cblx0XHRcdH0pO1xuXHRcdH1cblx0XHRyZXR1cm4gcmVjb3Jkcztcblx0fVxuXG5cdHB1YmxpYyBhc3luYyBnZXRVdHhvcyhyZWxvYWQ/OiBib29sZWFuKTogUHJvbWlzZTxBcnJheTxVdHhvPj4ge1xuXHRcdHJldHVybiBQcm9taXNlLmFsbCh0aGlzLmFjY291bnRzLm1hcCgoYWNjb3VudCkgPT4gYWNjb3VudC5nZXRVdHhvcyhyZWxvYWQpKSkudGhlbihcblx0XHRcdGFzeW5jICh1dHhvc3M6IEFycmF5PEFycmF5PFV0eG8+PikgPT4ge1xuXHRcdFx0XHQvLyB1dHhvc3MucHVzaChhd2FpdCB0aGlzLmNvaW5iYXNlLmdldFV0eG9zKHJlbG9hZCkpXG5cdFx0XHRcdHJldHVybiB1dHhvc3MuZmxhdCgpO1xuXHRcdFx0fSxcblx0XHQpO1xuXHR9XG5cblx0cHVibGljIGFzeW5jIHNlbGVjdFV0eG9zKHNwZWNzPzoge1xuXHRcdHZhbHVlPzogQ29pbnM7XG5cdFx0cmVsb2FkPzogYm9vbGVhbjtcblx0XHRzdHJhdGVneT86IFV0eG9TZWxlY3Rpb25TdHJhdGVneTtcblx0fSk6IFByb21pc2U8QXJyYXk8VXR4bz4+IHtcblx0XHRyZXR1cm4gdGhpcy5nZXRVdHhvcyhzcGVjcz8ucmVsb2FkKS50aGVuKCh1dHhvcykgPT5cblx0XHRcdHV0aWxzLnNlbGVjdFV0eG9zKHtcblx0XHRcdFx0dXR4b3MsXG5cdFx0XHRcdHZhbHVlOiBzcGVjcz8udmFsdWUsXG5cdFx0XHRcdHN0cmF0ZWd5OiBzcGVjcz8uc3RyYXRlZ3kgfHwgdGhpcy5zdHJhdGVneSxcblx0XHRcdH0pLFxuXHRcdCk7XG5cdH1cblxuXHQvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cdC8vIC0tLSBJV2FsbGV0IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXHRwdWJsaWMgZGVyaXZlQWNjb3VudHMobGltaXQ6IG51bWJlcik6IEFycmF5PElBY2NvdW50PiB7XG5cdFx0aWYgKGxpbWl0ID4gdGhpcy5fYWNjb3VudHMubGVuZ3RoKSB7XG5cdFx0XHRjb25zdCBzdGFydEluZGV4ID0gdGhpcy5fYWNjb3VudHMubGVuZ3RoID4gMCA/IHRoaXMuYWNjb3VudHNbdGhpcy5hY2NvdW50cy5sZW5ndGggLSAxXS5pbmRleCArIDEgOiAwO1xuXHRcdFx0bGltaXQgPSBsaW1pdCAtIHRoaXMuX2FjY291bnRzLmxlbmd0aDtcblx0XHRcdGZvciAobGV0IGl4ID0gMDsgaXggPCBsaW1pdDsgaXgrKykge1xuXHRcdFx0XHR0aGlzLl9hY2NvdW50cy5wdXNoKG5ldyBBY2NvdW50KHRoaXMucm9vdCwgdGhpcy5wcm92aWRlciwgc3RhcnRJbmRleCArIGl4LCB0aGlzLnN0cmF0ZWd5KSk7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHJldHVybiB0aGlzLl9hY2NvdW50cztcblx0fVxuXG5cdHB1YmxpYyBhc3luYyBleHBsb3JlQWNjb3VudHMobGltaXQgPSAxLCBnYXAgPSBERUZBVUxUX0dBUCk6IFByb21pc2U8QXJyYXk8SUFjY291bnQ+PiB7XG5cdFx0aWYgKGxpbWl0ID09PSAwIHx8IGxpbWl0ID4gdGhpcy5hY2NvdW50cy5sZW5ndGgpIHtcblx0XHRcdGNvbnN0IGxhc3RJbmRleCA9ICh4OiBBcnJheTxJQWNjb3VudD4pID0+IE51bWJlcih4Lmxlbmd0aCA+IDAgPyB4W3gubGVuZ3RoIC0gMV0uaW5kZXggKyAxIDogMCk7XG5cdFx0XHRjb25zdCBzdGFydEluZGV4ID0gbGFzdEluZGV4KHRoaXMuYWNjb3VudHMpO1xuXHRcdFx0Zm9yIChsZXQgaW5kZXggPSBzdGFydEluZGV4OyBpbmRleCA8IGxhc3RJbmRleCh0aGlzLmFjY291bnRzKSArIE51bWJlcihnYXApOyBpbmRleCsrKSB7XG5cdFx0XHRcdGNvbnN0IGFjY291bnQgPSBuZXcgQWNjb3VudCh0aGlzLnJvb3QsIHRoaXMucHJvdmlkZXIsIGluZGV4LCB0aGlzLnN0cmF0ZWd5KTtcblx0XHRcdFx0aWYgKHV0aWxzLnRvdGFsQ29pbnMoYXdhaXQgYWNjb3VudC5nZXRCYWxhbmNlKCkpLnBlZHJvcyA+IDBuKSB7XG5cdFx0XHRcdFx0dGhpcy5hY2NvdW50cy5wdXNoKGFjY291bnQpO1xuXHRcdFx0XHRcdGlmIChsaW1pdCAmJiB0aGlzLmFjY291bnRzLmxlbmd0aCA+PSBsaW1pdCkgYnJlYWs7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0cmV0dXJuIHRoaXMuX2FjY291bnRzO1xuXHR9XG5cblx0cHVibGljIGdldEFjY291bnQocGtoOiBQdWJsaWNLZXlIYXNoU3RyaW5nLCBnYXA/OiBudW1iZXIpOiBJQWNjb3VudCB8IHVuZGVmaW5lZCB7XG5cdFx0bGV0IGFjY291bnQgPSB0aGlzLl9hY2NvdW50cy5maW5kKChhY2NvdW50KSA9PiBhY2NvdW50LmludGVybmFsLnBraCA9PT0gcGtoIHx8IGFjY291bnQucGtoID09PSBwa2gpO1xuXHRcdGlmICghYWNjb3VudCkge1xuXHRcdFx0Zm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IChnYXAgfHwgREVGQVVMVF9HQVApOyBpbmRleCsrKSB7XG5cdFx0XHRcdGFjY291bnQgPSBuZXcgQWNjb3VudCh0aGlzLnJvb3QsIHRoaXMucHJvdmlkZXIsIGluZGV4LCB0aGlzLnN0cmF0ZWd5KTtcblx0XHRcdFx0aWYgKGFjY291bnQucGtoID09PSBwa2ggfHwgYWNjb3VudC5pbnRlcm5hbC5wa2ggPT09IHBraCkge1xuXHRcdFx0XHRcdHRoaXMuX2FjY291bnRzLnB1c2goYWNjb3VudCk7XG5cdFx0XHRcdFx0cmV0dXJuIGFjY291bnQ7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdHJldHVybiB1bmRlZmluZWQ7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHJldHVybiBhY2NvdW50O1xuXHRcdH1cblx0fVxuXG5cdHB1YmxpYyBnZXRTaWduZXIocGtoPzogUHVibGljS2V5SGFzaFN0cmluZywgZ2FwPzogbnVtYmVyKTogSVNpZ25lciB8IHVuZGVmaW5lZCB7XG5cdFx0aWYgKCFwa2gpIHJldHVybiB0aGlzLmFjY291bnRzWzBdPy5nZXRTaWduZXIoKSB8fCB0aGlzLmNvaW5iYXNlLmdldFNpZ25lcihwa2gpO1xuXHRcdGNvbnN0IGFjY291bnQgPSB0aGlzLmdldEFjY291bnQocGtoLCBnYXApO1xuXHRcdHJldHVybiBhY2NvdW50Py5nZXRTaWduZXIocGtoKSB8fCB0aGlzLmNvaW5iYXNlLmdldFNpZ25lcihwa2gpO1xuXHR9XG59XG4iXX0=
|
|
233
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FsbGV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9jcnlwdG8vd2FsbGV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxHQUFHLE1BQU0seUJBQXlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUNyQyxPQUFPLEtBQUssS0FBSyxNQUFNLFlBQVksQ0FBQztBQUVwQyxNQUFNLEtBQUssR0FBRyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7QUFFaEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xELE9BQU8sRUFNTixhQUFhLEdBQ2IsTUFBTSxhQUFhLENBQUM7QUFDckIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN2QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFNTixxQkFBcUIsR0FDckIsTUFBTSxZQUFZLENBQUM7QUFFcEIsTUFBTSxXQUFXLEdBQUcsRUFBRSxDQUFDO0FBRXZCLE1BQU0sT0FBTyxNQUFNO0lBQ1IsSUFBSSxDQUFTO0lBRWIsU0FBUyxHQUFvQixFQUFFLENBQUM7SUFFMUIsUUFBUSxDQUFZO0lBQ3BCLFFBQVEsQ0FBbUI7SUFDcEMsUUFBUSxDQUF3QjtJQUV2Qzs7O09BR0c7SUFDSCxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQXlCcEI7UUFDQSxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLDRCQUE0QixDQUFDO1FBQ3RELElBQUksQ0FBQyxJQUFJO1lBQUUsTUFBTSxLQUFLLENBQUMsMERBQTBELENBQUMsQ0FBQztRQUNuRixJQUFJLElBQUksQ0FBQyxNQUFNLEdBQUcsR0FBRyxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNO2dCQUFFLE1BQU0sS0FBSyxDQUFDLG9E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QUN0RSxJQUFJLE9BQU8sQ0FBQyxHQUFHLEtBQUssR0FBRyxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBRyxLQUFLLEdBQUcsRUFBRSxDQUFDO29CQUN6RCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztvQkFDN0IsT0FBTyxPQUFPLENBQUM7Z0JBQ2hCLENBQUM7WUFDRixDQUFDO1lBQ0QsT0FBTyxTQUFTLENBQUM7UUFDbEIsQ0FBQzthQUFNLENBQUM7WUFDUCxPQUFPLE9BQU8sQ0FBQztRQUNoQixDQUFDO0lBQ0YsQ0FBQztJQUVNLFNBQVMsQ0FBQyxHQUF5QixFQUFFLEdBQVk7UUFDdkQsSUFBSSxDQUFDLEdBQUc7WUFBRSxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsU0FBUyxFQUFFLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0UsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDMUMsT0FBTyxPQUFPLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7Q0FDRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGVjYyBmcm9tIFwiQGJpdGNvaW5lcmxhYi9zZWNwMjU2azFcIjtcblxuaW1wb3J0IHsgQklQMzJGYWN0b3J5IH0gZnJvbSBcImJpcDMyXCI7XG5pbXBvcnQgKiBhcyB1dGlscyBmcm9tIFwiLi91dGlscy5qc1wiO1xuXG5jb25zdCBiaXAzMiA9IEJJUDMyRmFjdG9yeShlY2MpO1xuXG5pbXBvcnQgeyBKc29uUnBjUHJvdmlkZXIgfSBmcm9tIFwiLi4vcnBjL2luZGV4LmpzXCI7XG5pbXBvcnQge1xuXHR0eXBlIEJhbGFuY2UsXG5cdHR5cGUgSGV4U3RyaW5nLFxuXHR0eXBlIE5ldHdvcmssXG5cdHR5cGUgUXVlcnlTdGFrZXNPcmRlcixcblx0dHlwZSBTdGFrZUVudHJ5LFxuXHRTdGFrZXNPcmRlckJ5LFxufSBmcm9tIFwiLi4vdHlwZXMuanNcIjtcbmltcG9ydCB7IEFjY291bnQgfSBmcm9tIFwiLi9hY2NvdW50LmpzXCI7XG5pbXBvcnQgeyBDb2luYmFzZSB9IGZyb20gXCIuL2NvaW5iYXNlLmpzXCI7XG5pbXBvcnQgdHlwZSB7IElBY2NvdW50LCBJQklQMzIsIElDb2luYmFzZSwgSUpzb25ScGNQcm92aWRlciwgSVNpZ25lciwgSVdhbGxldCB9IGZyb20gXCIuL2ludGVyZmFjZXMuanNcIjtcbmltcG9ydCB7XG5cdHR5cGUgQ29pbnMsXG5cdHR5cGUgUHVibGljS2V5LFxuXHR0eXBlIFB1YmxpY0tleUhhc2hTdHJpbmcsXG5cdHR5cGUgVXR4byxcblx0dHlwZSBVdHhvQ2FjaGVJbmZvLFxuXHRVdHhvU2VsZWN0aW9uU3RyYXRlZ3ksXG59IGZyb20gXCIuL3R5cGVzLmpzXCI7XG5cbmNvbnN0IERFRkFVTFRfR0FQID0gMjA7XG5cbmV4cG9ydCBjbGFzcyBXYWxsZXQgaW1wbGVtZW50cyBJV2FsbGV0IHtcblx0cHJvdGVjdGVkIHJvb3Q6IElCSVAzMjtcblxuXHRwcm90ZWN0ZWQgX2FjY291bnRzOiBBcnJheTxJQWNjb3VudD4gPSBbXTtcblxuXHRwdWJsaWMgcmVhZG9ubHkgY29pbmJhc2U6IElDb2luYmFzZTtcblx0cHVibGljIHJlYWRvbmx5IHByb3ZpZGVyOiBJSnNvblJwY1Byb3ZpZGVyO1xuXHRwdWJsaWMgc3RyYXRlZ3k6IFV0eG9TZWxlY3Rpb25TdHJhdGVneTtcblxuXHQvKipcblx0ICogQ3JlYXRlIGEgV2FsbGV0IGJ5IHJlYWRpbmcgdGhlIFhQUlYgbWFzdGVyIGtleSBmcm9tIHRoZSBXSVRORVRfU0RLX1dBTExFVF9NQVNURVJfS0VZIGVudmlyb25tZW50IHZhcmlhYmxlLlxuXHQgKiBAcGFyYW0gc3BlY3MgV2FsbGV0IGNyZWF0aW9uIHBhcmFtZXRlcnMuXG5cdCAqL1xuXHRzdGF0aWMgYXN5bmMgZnJvbUVudihvcHRpb25zPzoge1xuXHRcdC8qKlxuXHRcdCAqIFBhc3N3b3JkIHRvIGRlY3J5cHQgdGhlIFhQUlYgbWFzdGVyIGtleSByZWFkIGZyb20gZW52aXJvbm1lbnQsIGluIGNhc2UgaXQncyBlbmNyeXB0ZWQuXG5cdFx0ICovXG5cdFx0cGFzc3dkPzogc3RyaW5nO1xuXHRcdC8qKlxuXHRcdCAqIE51bWJlciBvZiBjb25zZWN1dGl2ZSBhY2NvdW50cyB3aXRoIG5vIGZ1bmRzIGJlZm9yZSBzdG9wcGluZyBkZXJpdmF0aW9uIG9mIG5ldyBXYWxsZXQgYWNjb3VudHMuXG5cdFx0ICovXG5cdFx0Z2FwPzogbnVtYmVyO1xuXHRcdC8qKlxuXHRcdCAqIE1heGltdW0gbnVtYmVyIG9mIGFjY291bnRzIHRvIGRlcml2ZS5cblx0XHQgKi9cblx0XHRsaW1pdD86IG51bWJlcjtcblx0XHQvKipcblx0XHQgKiBTcGVjaWZpYyBXaXQvUlBDIHByb3ZpZGVyIHRvIHVzZSBmb3IgaW50ZXJhY3Rpbmcgd2l0aCB0aGUgV2l0bmV0IG5ldHdvcmsuXG5cdFx0ICovXG5cdFx0cHJvdmlkZXI/OiBJSnNvblJwY1Byb3ZpZGVyO1xuXHRcdC8qKlxuXHRcdCAqIFVUWE8gc2VsZWN0aW9uIHN0cmF0ZWd5IHdoZW4gYnVpbGRpbmcgdHJhbnNhY3Rpb25zIG91dCBvZiB0aGlzIHdhbGxldCAoZGVmYXVsdDogVXR4b1NlbGVjdGlvblN0cmF0ZWd5LlNtYWxsRmlyc3QpLlxuXHRcdCAqL1xuXHRcdHN0cmF0ZWd5PzogVXR4b1NlbGVjdGlvblN0cmF0ZWd5O1xuXHRcdC8qKlxuXHRcdCAqIE9ubHkgZGVyaXZlIGFjY291bnRzIHRoYXQgaG9sZCBzb21lIHVubG9ja2VkIGJhbGFuY2Ugb2YgJFdJVC5cblx0XHQgKi9cblx0XHRvbmx5V2l0aEZ1bmRzPzogYm9vbGVhbjtcblx0fSk6IFByb21pc2U8V2FsbGV0PiB7XG5cdFx0Y29uc3QgeHBydiA9IHByb2Nlc3MuZW52LldJVE5FVF9TREtfV0FMTEVUX01BU1RFUl9LRVk7XG5cdFx0aWYgKCF4cHJ2KSB0aHJvdyBFcnJvcihgV0lUTkVUX1NES19XQUxMRVRfTUFTVEVSX0tFWSBtdXN0IGJlIHNldCBvbiBlbnZpcm9ubWVudC5gKTtcblx0XHRpZiAoeHBydi5sZW5ndGggPiAxMTcpIHtcblx0XHRcdGlmICghb3B0aW9ucz8ucGFzc3dkKSB0aHJvdyBFcnJvcihgTWlzc2luZyBwYXNzd29yZCBmb3IgV0lUTkVUX1NES19XQUxMRVRfTUFTVEVSX0tFWS5gKTtcblx0XHRcdHJldHVybiBXYWxsZXQuZnJvbUVuY3J5cHRlZFhwcnYoeHBydiwgb3B0aW9ucz8ucGFzc3dkLCBvcHRpb25zKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0cmV0dXJuIFdhbGxldC5mcm9tWHBydih4cHJ2LCBvcHRpb25zKTtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogQ3JlYXRlIGEgV2FsbGV0IGJ5IHVzaW5nIHBhc3NlZCBYUFJWIG1hc3RlciBrZXkuXG5cdCAqIEBwYXJhbSB4cHJ2IERlY3J5cHRlZCBYUFJWIG1hc3RlciBrZXkgc3RyaW5nLlxuXHQgKiBAcGFyYW0gb3B0aW9ucyBXYWxsZXQgY3JlYXRpb24gcGFyYW1ldGVycy5cblx0ICovXG5cdHN0YXRpYyBhc3luYyBmcm9tWHBydihcblx0XHR4cHJ2OiBzdHJpbmcsXG5cdFx0b3B0aW9ucz86IHtcblx0XHRcdC8qKlxuXHRcdFx0ICogTnVtYmVyIG9mIGNvbnNlY3V0aXZlIGFjY291bnRzIHdpdGggbm8gZnVuZHMgYmVmb3JlIHN0b3BwaW5nIGRlcml2YXRpb24gb2YgbmV3IFdhbGxldCBhY2NvdW50cy5cblx0XHRcdCAqL1xuXHRcdFx0Z2FwPzogbnVtYmVyO1xuXHRcdFx0LyoqXG5cdFx0XHQgKiBNYXhpbXVtIG51bWJlciBvZiBhY2NvdW50cyB0byBkZXJpdmUuXG5cdFx0XHQgKi9cblx0XHRcdGxpbWl0PzogbnVtYmVyO1xuXHRcdFx0LyoqXG5cdFx0XHQgKiBTcGVjaWZpYyBXaXQvUlBDIHByb3ZpZGVyIHRvIHVzZSBmb3IgaW50ZXJhY3Rpbmcgd2l0aCB0aGUgV2l0bmV0IG5ldHdvcmsuXG5cdFx0XHQgKi9cblx0XHRcdHByb3ZpZGVyPzogSUpzb25ScGNQcm92aWRlcjtcblx0XHRcdC8qKlxuXHRcdFx0ICogVVRYTyBzZWxlY3Rpb24gc3RyYXRlZ3kgd2hlbiBidWlsZGluZyB0cmFuc2FjdGlvbnMgb3V0IG9mIHRoaXMgd2FsbGV0IChkZWZhdWx0OiBVdHhvU2VsZWN0aW9uU3RyYXRlZ3kuU21hbGxGaXJzdCkuXG5cdFx0XHQgKi9cblx0XHRcdHN0cmF0ZWd5PzogVXR4b1NlbGVjdGlvblN0cmF0ZWd5O1xuXHRcdFx0LyoqXG5cdFx0XHQgKiBPbmx5IGRlcml2ZSBhY2NvdW50cyBob2xkaW5nIHNvbWUgJFdJVCBmdW5kcyAoZWl0aGVyIGxvY2tlZCwgc3Rha2VkIG9yIHVubG9ja2VkKS5cblx0XHRcdCAqL1xuXHRcdFx0b25seVdpdGhGdW5kcz86IGJvb2xlYW47XG5cdFx0fSxcblx0KTogUHJvbWlzZTxXYWxsZXQ+IHtcblx0XHRjb25zdCB7IGNoYWluQ29kZSwgcHJpdmF0ZUtleSB9ID0gdXRpbHMucGFyc2VYcHJ2KHhwcnYpO1xuXHRcdGNvbnN0IHJvb3QgPSBiaXAzMi5mcm9tUHJpdmF0ZUtleShCdWZmZXIuZnJvbShwcml2YXRlS2V5KSwgQnVmZmVyLmZyb20oY2hhaW5Db2RlKSk7XG5cdFx0Y29uc3QgcHJvdmlkZXIgPSBvcHRpb25zPy5wcm92aWRlciB8fCAoYXdhaXQgSnNvblJwY1Byb3ZpZGVyLmZyb21FbnYoKSk7XG5cdFx0YXdhaXQgcHJvdmlkZXIuY29uc3RhbnRzKCk7XG5cdFx0Y29uc3Qgd2FsbGV0ID0gbmV3IFdhbGxldChyb290LCBwcm92aWRlciwgb3B0aW9ucz8uc3RyYXRlZ3kpO1xuXHRcdGlmIChvcHRpb25zPy5vbmx5V2l0aEZ1bmRzKSB7XG5cdFx0XHRhd2FpdCB3YWxsZXQuZXhwbG9yZUFjY291bnRzKG9wdGlvbnM/LmxpbWl0IHx8IDAsIG9wdGlvbnM/LmdhcCk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHdhbGxldC5kZXJpdmVBY2NvdW50cyhvcHRpb25zPy5saW1pdCB8fCAxKTtcblx0XHR9XG5cdFx0Ly8gbG9hZCB1cCB1dHhvcyBjYWNoZVxuXHRcdGF3YWl0IHdhbGxldC5nZXRVdHhvcyh0cnVlKTtcblx0XHRyZXR1cm4gd2FsbGV0O1xuXHR9XG5cblx0LyoqXG5cdCAqIENyZWF0ZSBhIFdhbGxldCBieSB1c2luZyBwYXNzZWQgWFBSViBtYXN0ZXIga2V5LlxuXHQgKiBAcGFyYW0geHBydiBFbmNyeXB0ZWQgWFBSViBtYXN0ZXIga2V5IHN0cmluZy5cblx0ICogQHBhcmFtIHBhc3N3ZCBQYXNzd29yZCB0byBkZWNpcGhlciB0aGUgWFBSViBtYXN0ZXIga2V5LlxuXHQgKiBAcGFyYW0gb3B0aW9ucyBXYWxsZXQgY3JlYXRpb24gcGFyYW1ldGVycy5cblx0ICovXG5cdHN0YXRpYyBhc3luYyBmcm9tRW5jcnlwdGVkWHBydihcblx0XHR4cHJ2OiBzdHJpbmcsXG5cdFx0cGFzc3dkOiBzdHJpbmcsXG5cdFx0b3B0aW9ucz86IHtcblx0XHRcdC8qKlxuXHRcdFx0ICogTnVtYmVyIG9mIGNvbnNlY3V0aXZlIGFjY291bnRzIHdpdGggbm8gZnVuZHMgYmVmb3JlIHN0b3BwaW5nIGRlcml2YXRpb24gb2YgbmV3IFdhbGxldCBhY2NvdW50cy5cblx0XHRcdCAqL1xuXHRcdFx0Z2FwPzogbnVtYmVyO1xuXHRcdFx0LyoqXG5cdFx0XHQgKiBNYXhpbXVtIG51bWJlciBvZiBhY2NvdW50cyB0byBkZXJpdmUuXG5cdFx0XHQgKi9cblx0XHRcdGxpbWl0PzogbnVtYmVyO1xuXHRcdFx0LyoqXG5cdFx0XHQgKiBTcGVjaWZpYyBXaXQvUlBDIHByb3ZpZGVyIHRvIHVzZSBmb3IgaW50ZXJhY3Rpbmcgd2l0aCB0aGUgV2l0bmV0IG5ldHdvcmsuXG5cdFx0XHQgKi9cblx0XHRcdHByb3ZpZGVyPzogSUpzb25ScGNQcm92aWRlcjtcblx0XHRcdC8qKlxuXHRcdFx0ICogVVRYTyBzZWxlY3Rpb24gc3RyYXRlZ3kgd2hlbiBidWlsZGluZyB0cmFuc2FjdGlvbnMgb3V0IG9mIHRoaXMgd2FsbGV0IChkZWZhdWx0OiBVdHhvU2VsZWN0aW9uU3RyYXRlZ3kuU21hbGxGaXJzdCkuXG5cdFx0XHQgKi9cblx0XHRcdHN0cmF0ZWd5PzogVXR4b1NlbGVjdGlvblN0cmF0ZWd5O1xuXHRcdFx0LyoqXG5cdFx0XHQgKiBPbmx5IGRlcml2ZSBhY2NvdW50cyBob2xkaW5nIHNvbWUgJFdJVCBmdW5kcyAoZWl0aGVyIGxvY2tlZCwgc3Rha2VkIG9yIHVubG9ja2VkKS5cblx0XHRcdCAqL1xuXHRcdFx0b25seVdpdGhGdW5kcz86IGJvb2xlYW47XG5cdFx0fSxcblx0KTogUHJvbWlzZTxXYWxsZXQ+IHtcblx0XHRyZXR1cm4gV2FsbGV0LmZyb21YcHJ2KHV0aWxzLmRlY2lwaGVyWHBydih4cHJ2LCBwYXNzd2QpLCBvcHRpb25zKTtcblx0fVxuXG5cdGNvbnN0cnVjdG9yKHJvb3Q6IElCSVAzMiwgcHJvdmlkZXI6IElKc29uUnBjUHJvdmlkZXIsIHN0cmF0ZWd5PzogVXR4b1NlbGVjdGlvblN0cmF0ZWd5KSB7XG5cdFx0dGhpcy5wcm92aWRlciA9IHByb3ZpZGVyO1xuXHRcdHRoaXMuY29pbmJhc2UgPSBuZXcgQ29pbmJhc2Uocm9vdCwgcHJvdmlkZXIsIHN0cmF0ZWd5KTtcblx0XHR0aGlzLnJvb3QgPSByb290O1xuXHRcdHRoaXMuc3RyYXRlZ3kgPSBzdHJhdGVneSB8fCBVdHhvU2VsZWN0aW9uU3RyYXRlZ3kuU21hbGxGaXJzdDtcblx0XHR0aGlzLmRlcml2ZUFjY291bnRzKDEpO1xuXHR9XG5cblx0cHVibGljIGdldCBhY2NvdW50cygpOiBBcnJheTxJQWNjb3VudD4ge1xuXHRcdHJldHVybiB0aGlzLl9hY2NvdW50cztcblx0fVxuXG5cdHB1YmxpYyBnZXQgY2FjaGVJbmZvKCk6IFV0eG9DYWNoZUluZm8ge1xuXHRcdGNvbnN0IGluZm86IFV0eG9DYWNoZUluZm8gPSB7XG5cdFx0XHRleHBlbmRhYmxlOiAwbixcblx0XHRcdHNpemU6IDAsXG5cdFx0XHR0aW1lbG9jazogTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIsXG5cdFx0fTtcblx0XHR0aGlzLmFjY291bnRzPy5mb3JFYWNoKChhY2NvdW50KSA9PiB7XG5cdFx0XHRjb25zdCBhY2NvdW50SW5mbyA9IGFjY291bnQuY2FjaGVJbmZvO1xuXHRcdFx0aW5mby5leHBlbmRhYmxlICs9IGFjY291bnRJbmZvLmV4cGVuZGFibGU7XG5cdFx0XHRpbmZvLnNpemUgKz0gYWNjb3VudEluZm8uc2l6ZTtcblx0XHRcdGlmIChhY2NvdW50SW5mby50aW1lbG9jayAhPT0gMCAmJiBhY2NvdW50SW5mby50aW1lbG9jayA8IGluZm8udGltZWxvY2spIHtcblx0XHRcdFx0aW5mby50aW1lbG9jayA9IGFjY291bnRJbmZvLnRpbWVsb2NrO1xuXHRcdFx0fVxuXHRcdH0pO1xuXHRcdGlmIChpbmZvLnRpbWVsb2NrID09PSBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUikgaW5mby50aW1lbG9jayA9IDA7XG5cdFx0cmV0dXJuIGluZm87XG5cdH1cblxuXHRwdWJsaWMgZ2V0IGNoYW5nZVBraCgpOiBQdWJsaWNLZXlIYXNoU3RyaW5nIHtcblx0XHRyZXR1cm4gdGhpcy5hY2NvdW50cy5sZW5ndGggPiAwID8gdGhpcy5hY2NvdW50c1swXS5jaGFuZ2VQa2ggOiB0aGlzLmNvaW5iYXNlLnBraDtcblx0fVxuXG5cdHB1YmxpYyBnZXQgbmV0d29yaygpOiBOZXR3b3JrIHwgdW5kZWZpbmVkIHtcblx0XHRyZXR1cm4gdGhpcy5wcm92aWRlci5uZXR3b3JrO1xuXHR9XG5cblx0cHVibGljIGdldCBwa2goKTogUHVibGljS2V5SGFzaFN0cmluZyB7XG5cdFx0cmV0dXJuIHRoaXMuYWNjb3VudHMubGVuZ3RoID4gMCA/IHRoaXMuYWNjb3VudHNbMF0ucGtoIDogdGhpcy5jb2luYmFzZS5wa2g7XG5cdH1cblxuXHRwdWJsaWMgZ2V0IHB1YmxpY0tleSgpOiBQdWJsaWNLZXkge1xuXHRcdHJldHVybiB0aGlzLmFjY291bnRzLmxlbmd0aCA+IDAgPyB0aGlzLmFjY291bnRzWzBdLnB1YmxpY0tleSA6IHRoaXMuY29pbmJhc2UucHVibGljS2V5O1xuXHR9XG5cblx0cHVibGljIGdldCBwcml2YXRlS2V5KCk6IEhleFN0cmluZyB7XG5cdFx0cmV0dXJuIHRoaXMuYWNjb3VudHMubGVuZ3RoID4gMCA/IHRoaXMuYWNjb3VudHNbMF0ucHJpdmF0ZUtleSA6IHRoaXMuY29pbmJhc2UucHJpdmF0ZUtleTtcblx0fVxuXG5cdHB1YmxpYyBhdXRob3JpemVFdm1BZGRyZXNzKGV2bUFkZHJlc3M6IEhleFN0cmluZyk6IGFueSB7XG5cdFx0cmV0dXJuIHRoaXMuYWNjb3VudHMubGVuZ3RoID4gMFxuXHRcdFx0PyB0aGlzLmFjY291bnRzWzBdLmF1dGhvcml6ZUV2bUFkZHJlc3MoZXZtQWRkcmVzcylcblx0XHRcdDogdGhpcy5jb2luYmFzZS5hdXRob3JpemVFdm1BZGRyZXNzKGV2bUFkZHJlc3MpO1xuXHR9XG5cblx0cHVibGljIGFkZFV0eG9zKC4uLnV0eG9zOiBBcnJheTxVdHhvPik6IHtcblx0XHRleGNsdWRlZDogQXJyYXk8VXR4bz47XG5cdFx0aW5jbHVkZWQ6IEFycmF5PFV0eG8+O1xuXHR9IHtcblx0XHRjb25zdCBpbmNsdWRlZDogQXJyYXk8VXR4bz4gPSBbXTtcblx0XHR0aGlzLmFjY291bnRzLmZvckVhY2goKGFjY291bnQpID0+IHtcblx0XHRcdGNvbnN0IF91dHhvcyA9IGFjY291bnQuYWRkVXR4b3MoLi4udXR4b3MpO1xuXHRcdFx0dXR4b3MgPSBfdXR4b3MuZXhjbHVkZWQ7XG5cdFx0XHRpbmNsdWRlZC5wdXNoKC4uLl91dHhvcy5pbmNsdWRlZCk7XG5cdFx0fSk7XG5cdFx0cmV0dXJuIHtcblx0XHRcdGV4Y2x1ZGVkOiB1dHhvcyxcblx0XHRcdGluY2x1ZGVkLFxuXHRcdH07XG5cdH1cblxuXHRwdWJsaWMgY29uc3VtZVV0eG9zKC4uLnV0eG9zOiBBcnJheTxVdHhvPik6IEFycmF5PFV0eG8+IHtcblx0XHR0aGlzLmFjY291bnRzLmZvckVhY2goKGFjY291bnQpID0+IHtcblx0XHRcdHV0eG9zID0gYWNjb3VudC5jb25zdW1lVXR4b3MoLi4udXR4b3MpO1xuXHRcdH0pO1xuXHRcdHJldHVybiB1dHhvcztcblx0fVxuXG5cdHB1YmxpYyBhc3luYyBnZXRCYWxhbmNlKCk6IFByb21pc2U8QmFsYW5jZT4ge1xuXHRcdGlmICh0aGlzLl9hY2NvdW50cy5sZW5ndGggPiAwKSB7XG5cdFx0XHRyZXR1cm4gUHJvbWlzZS5hbGwoXG5cdFx0XHRcdHRoaXMuX2FjY291bnRzLm1hcChhc3luYyAoYWNjOiBJQWNjb3VudCkgPT4ge1xuXHRcdFx0XHRcdGNvbnN0IGJhbGFuY2UgPSBhd2FpdCBhY2MuZ2V0QmFsYW5jZSgpO1xuXHRcdFx0XHRcdHJldHVybiBiYWxhbmNlO1xuXHRcdFx0XHR9KSxcblx0XHRcdCkudGhlbigoYmFsYW5jZXM6IEFycmF5PEJhbGFuY2U+KSA9PiB7XG5cdFx0XHRcdHJldHVybiBiYWxhbmNlcy5yZWR1Y2UoXG5cdFx0XHRcdFx0KHByZXYsIGN1cnIpID0+IHtcblx0XHRcdFx0XHRcdHJldHVybiB7XG5cdFx0XHRcdFx0XHRcdGxvY2tlZDogcHJldi5sb2NrZWQgKyBjdXJyLmxvY2tlZCxcblx0XHRcdFx0XHRcdFx0c3Rha2VkOiBwcmV2LnN0YWtlZCArIGN1cnIuc3Rha2VkLFxuXHRcdFx0XHRcdFx0XHR1bmxvY2tlZDogcHJldi51bmxvY2tlZCArIGN1cnIudW5sb2NrZWQsXG5cdFx0XHRcdFx0XHR9O1xuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0eyBsb2NrZWQ6IDBuLCBzdGFrZWQ6IDBuLCB1bmxvY2tlZDogMG4gfSxcblx0XHRcdFx0KTtcblx0XHRcdH0pO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5jb2luYmFzZS5nZXRCYWxhbmNlKCk7XG5cdFx0fVxuXHR9XG5cblx0cHVibGljIGFzeW5jIGdldERlbGVnYXRlZXMob3JkZXI/OiBRdWVyeVN0YWtlc09yZGVyLCBsZWZ0Sm9pbiA9IHRydWUpOiBQcm9taXNlPEFycmF5PFN0YWtlRW50cnk+PiB7XG5cdFx0Y29uc3QgcmVjb3JkczogQXJyYXk8U3Rha2VFbnRyeT4gPSBbXTtcblx0XHRyZWNvcmRzLnB1c2goLi4uKGF3YWl0IHRoaXMuY29pbmJhc2UuZ2V0RGVsZWdhdGVlcyhvcmRlcikpKTtcblx0XHRhd2FpdCBQcm9taXNlLmFsbChcblx0XHRcdHRoaXMuX2FjY291bnRzLm1hcCgoYWNjb3VudCkgPT5cblx0XHRcdFx0YWNjb3VudC5nZXREZWxlZ2F0ZWVzKG9yZGVyLCBsZWZ0Sm9pbikudGhlbigoZW50cmllcykgPT4gcmVjb3Jkcy5wdXNoKC4uLmVudHJpZXMpKSxcblx0XHRcdCksXG5cdFx0KTtcblx0XHRpZiAob3JkZXIpIHtcblx0XHRcdGNvbnN0IHJldmVyc2UgPSBvcmRlcj8ucmV2ZXJzZSA/ICsxIDogLTE7XG5cdFx0XHRyZXR1cm4gcmVjb3Jkcy5zb3J0KChhLCBiKSA9PiB7XG5cdFx0XHRcdHN3aXRjaCAob3JkZXIuYnkpIHtcblx0XHRcdFx0XHRjYXNlIFN0YWtlc09yZGVyQnkuQ29pbnM6XG5cdFx0XHRcdFx0XHRyZXR1cm4gKGEudmFsdWUuY29pbnMgPCBiLnZhbHVlLmNvaW5zID8gMSA6IGEudmFsdWUuY29pbnMgPiBiLnZhbHVlLmNvaW5zID8gLTEgOiAwKSAqIHJldmVyc2U7XG5cdFx0XHRcdFx0Y2FzZSBTdGFrZXNPcmRlckJ5Lk1pbmluZzpcblx0XHRcdFx0XHRcdHJldHVybiAoYi52YWx1ZS5lcG9jaHMubWluaW5nIC0gYS52YWx1ZS5lcG9jaHMubWluaW5nKSAqIHJldmVyc2U7XG5cdFx0XHRcdFx0Y2FzZSBTdGFrZXNPcmRlckJ5LldpdG5lc3Npbmc6XG5cdFx0XHRcdFx0XHRyZXR1cm4gKGIudmFsdWUuZXBvY2hzLndpdG5lc3NpbmcgLSBhLnZhbHVlLmVwb2Nocy53aXRuZXNzaW5nKSAqIHJldmVyc2U7XG5cdFx0XHRcdFx0ZGVmYXVsdDpcblx0XHRcdFx0XHRcdHJldHVybiAoYi52YWx1ZS5ub25jZSAtIGEudmFsdWUubm9uY2UpICogcmV2ZXJzZTtcblx0XHRcdFx0fVxuXHRcdFx0fSk7XG5cdFx0fVxuXHRcdHJldHVybiByZWNvcmRzO1xuXHR9XG5cblx0cHVibGljIGFzeW5jIGdldFV0eG9zKHJlbG9hZD86IGJvb2xlYW4pOiBQcm9taXNlPEFycmF5PFV0eG8+PiB7XG5cdFx0cmV0dXJuIFByb21pc2UuYWxsKHRoaXMuYWNjb3VudHMubWFwKChhY2NvdW50KSA9PiBhY2NvdW50LmdldFV0eG9zKHJlbG9hZCkpKS50aGVuKFxuXHRcdFx0YXN5bmMgKHV0eG9zczogQXJyYXk8QXJyYXk8VXR4bz4+KSA9PiB7XG5cdFx0XHRcdC8vIHV0eG9zcy5wdXNoKGF3YWl0IHRoaXMuY29pbmJhc2UuZ2V0VXR4b3MocmVsb2FkKSlcblx0XHRcdFx0cmV0dXJuIHV0eG9zcy5mbGF0KCk7XG5cdFx0XHR9LFxuXHRcdCk7XG5cdH1cblxuXHRwdWJsaWMgYXN5bmMgc2VsZWN0VXR4b3Moc3BlY3M/OiB7XG5cdFx0dmFsdWU/OiBDb2lucztcblx0XHRyZWxvYWQ/OiBib29sZWFuO1xuXHRcdHN0cmF0ZWd5PzogVXR4b1NlbGVjdGlvblN0cmF0ZWd5O1xuXHR9KTogUHJvbWlzZTxBcnJheTxVdHhvPj4ge1xuXHRcdHJldHVybiB0aGlzLmdldFV0eG9zKHNwZWNzPy5yZWxvYWQpLnRoZW4oKHV0eG9zKSA9PlxuXHRcdFx0dXRpbHMuc2VsZWN0VXR4b3Moe1xuXHRcdFx0XHR1dHhvcyxcblx0XHRcdFx0dmFsdWU6IHNwZWNzPy52YWx1ZSxcblx0XHRcdFx0c3RyYXRlZ3k6IHNwZWNzPy5zdHJhdGVneSB8fCB0aGlzLnN0cmF0ZWd5LFxuXHRcdFx0fSksXG5cdFx0KTtcblx0fVxuXG5cdC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblx0Ly8gLS0tIElXYWxsZXQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cdHB1YmxpYyBkZXJpdmVBY2NvdW50cyhsaW1pdDogbnVtYmVyKTogQXJyYXk8SUFjY291bnQ+IHtcblx0XHRpZiAobGltaXQgPiB0aGlzLl9hY2NvdW50cy5sZW5ndGgpIHtcblx0XHRcdGNvbnN0IHN0YXJ0SW5kZXggPSB0aGlzLl9hY2NvdW50cy5sZW5ndGggPiAwID8gdGhpcy5hY2NvdW50c1t0aGlzLmFjY291bnRzLmxlbmd0aCAtIDFdLmluZGV4ICsgMSA6IDA7XG5cdFx0XHRsaW1pdCA9IGxpbWl0IC0gdGhpcy5fYWNjb3VudHMubGVuZ3RoO1xuXHRcdFx0Zm9yIChsZXQgaXggPSAwOyBpeCA8IGxpbWl0OyBpeCsrKSB7XG5cdFx0XHRcdHRoaXMuX2FjY291bnRzLnB1c2gobmV3IEFjY291bnQodGhpcy5yb290LCB0aGlzLnByb3ZpZGVyLCBzdGFydEluZGV4ICsgaXgsIHRoaXMuc3RyYXRlZ3kpKTtcblx0XHRcdH1cblx0XHR9XG5cdFx0cmV0dXJuIHRoaXMuX2FjY291bnRzO1xuXHR9XG5cblx0cHVibGljIGFzeW5jIGV4cGxvcmVBY2NvdW50cyhsaW1pdCA9IDEsIGdhcCA9IERFRkFVTFRfR0FQKTogUHJvbWlzZTxBcnJheTxJQWNjb3VudD4+IHtcblx0XHRpZiAobGltaXQgPT09IDAgfHwgbGltaXQgPiB0aGlzLmFjY291bnRzLmxlbmd0aCkge1xuXHRcdFx0Y29uc3QgbGFzdEluZGV4ID0gKHg6IEFycmF5PElBY2NvdW50PikgPT4gTnVtYmVyKHgubGVuZ3RoID4gMCA/IHhbeC5sZW5ndGggLSAxXS5pbmRleCArIDEgOiAwKTtcblx0XHRcdGNvbnN0IHN0YXJ0SW5kZXggPSBsYXN0SW5kZXgodGhpcy5hY2NvdW50cyk7XG5cdFx0XHRmb3IgKGxldCBpbmRleCA9IHN0YXJ0SW5kZXg7IGluZGV4IDwgbGFzdEluZGV4KHRoaXMuYWNjb3VudHMpICsgTnVtYmVyKGdhcCk7IGluZGV4KyspIHtcblx0XHRcdFx0Y29uc3QgYWNjb3VudCA9IG5ldyBBY2NvdW50KHRoaXMucm9vdCwgdGhpcy5wcm92aWRlciwgaW5kZXgsIHRoaXMuc3RyYXRlZ3kpO1xuXHRcdFx0XHRpZiAodXRpbHMudG90YWxDb2lucyhhd2FpdCBhY2NvdW50LmdldEJhbGFuY2UoKSkucGVkcm9zID4gMG4pIHtcblx0XHRcdFx0XHR0aGlzLmFjY291bnRzLnB1c2goYWNjb3VudCk7XG5cdFx0XHRcdFx0aWYgKGxpbWl0ICYmIHRoaXMuYWNjb3VudHMubGVuZ3RoID49IGxpbWl0KSBicmVhaztcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHRyZXR1cm4gdGhpcy5fYWNjb3VudHM7XG5cdH1cblxuXHRwdWJsaWMgZ2V0QWNjb3VudChwa2g6IFB1YmxpY0tleUhhc2hTdHJpbmcsIGdhcD86IG51bWJlcik6IElBY2NvdW50IHwgdW5kZWZpbmVkIHtcblx0XHRsZXQgYWNjb3VudCA9IHRoaXMuX2FjY291bnRzLmZpbmQoKGFjY291bnQpID0+IGFjY291bnQuaW50ZXJuYWwucGtoID09PSBwa2ggfHwgYWNjb3VudC5wa2ggPT09IHBraCk7XG5cdFx0aWYgKCFhY2NvdW50KSB7XG5cdFx0XHRmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgKGdhcCB8fCBERUZBVUxUX0dBUCk7IGluZGV4KyspIHtcblx0XHRcdFx0YWNjb3VudCA9IG5ldyBBY2NvdW50KHRoaXMucm9vdCwgdGhpcy5wcm92aWRlciwgaW5kZXgsIHRoaXMuc3RyYXRlZ3kpO1xuXHRcdFx0XHRpZiAoYWNjb3VudC5wa2ggPT09IHBraCB8fCBhY2NvdW50LmludGVybmFsLnBraCA9PT0gcGtoKSB7XG5cdFx0XHRcdFx0dGhpcy5fYWNjb3VudHMucHVzaChhY2NvdW50KTtcblx0XHRcdFx0XHRyZXR1cm4gYWNjb3VudDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0cmV0dXJuIHVuZGVmaW5lZDtcblx0XHR9IGVsc2Uge1xuXHRcdFx0cmV0dXJuIGFjY291bnQ7XG5cdFx0fVxuXHR9XG5cblx0cHVibGljIGdldFNpZ25lcihwa2g/OiBQdWJsaWNLZXlIYXNoU3RyaW5nLCBnYXA/OiBudW1iZXIpOiBJU2lnbmVyIHwgdW5kZWZpbmVkIHtcblx0XHRpZiAoIXBraCkgcmV0dXJuIHRoaXMuYWNjb3VudHNbMF0/LmdldFNpZ25lcigpIHx8IHRoaXMuY29pbmJhc2UuZ2V0U2lnbmVyKHBraCk7XG5cdFx0Y29uc3QgYWNjb3VudCA9IHRoaXMuZ2V0QWNjb3VudChwa2gsIGdhcCk7XG5cdFx0cmV0dXJuIGFjY291bnQ/LmdldFNpZ25lcihwa2gpIHx8IHRoaXMuY29pbmJhc2UuZ2V0U2lnbmVyKHBraCk7XG5cdH1cbn1cbiJdfQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filters.d.ts","sourceRoot":"","sources":["../../../../src/lib/radon/filters.ts"],"names":[],"mappings":"AAEA,oBAAY,OAAO;IAClB,IAAI,IAAO;IACX,iBAAiB,IAAO;CACxB;AAED,qBAAa,WAAW;IACvB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC;gBAER,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,GAAG;IAehC,MAAM,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,GAAG;
|
|
1
|
+
{"version":3,"file":"filters.d.ts","sourceRoot":"","sources":["../../../../src/lib/radon/filters.ts"],"names":[],"mappings":"AAEA,oBAAY,OAAO;IAClB,IAAI,IAAO;IACX,iBAAiB,IAAO;CACxB;AAED,qBAAa,WAAW;IACvB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC;gBAER,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,GAAG;IAehC,MAAM,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,GAAG;IAY/B,UAAU,IAAI,GAAG;CAWxB;AAED,wBAAgB,IAAI,gBAEnB;AACD,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,eAElC"}
|
|
@@ -28,6 +28,9 @@ export class RadonFilter {
|
|
|
28
28
|
if (this.args) {
|
|
29
29
|
json.args = humanize ? this.args : Array.from(cbor.encode(this.args));
|
|
30
30
|
}
|
|
31
|
+
else if (!humanize) {
|
|
32
|
+
json.args = Array.from(cbor.encode([]));
|
|
33
|
+
}
|
|
31
34
|
return json;
|
|
32
35
|
}
|
|
33
36
|
toProtobuf() {
|
|
@@ -37,6 +40,9 @@ export class RadonFilter {
|
|
|
37
40
|
if (this.args) {
|
|
38
41
|
protobuf.args = Array.from(cbor.encode(this.args));
|
|
39
42
|
}
|
|
43
|
+
else {
|
|
44
|
+
protobuf.args = Array.from(cbor.encode([]));
|
|
45
|
+
}
|
|
40
46
|
return protobuf;
|
|
41
47
|
}
|
|
42
48
|
}
|
|
@@ -46,4 +52,4 @@ export function Mode() {
|
|
|
46
52
|
export function Stdev(stdev) {
|
|
47
53
|
return new RadonFilter(Opcodes.StandardDeviation, stdev);
|
|
48
54
|
}
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvcmFkb24vZmlsdGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLElBQUksTUFBTSxNQUFNLENBQUM7QUFFeEIsTUFBTSxDQUFOLElBQVksT0FHWDtBQUhELFdBQVksT0FBTztJQUNsQixxQ0FBVyxDQUFBO0lBQ1gsK0RBQXdCLENBQUE7QUFDekIsQ0FBQyxFQUhXLE9BQU8sS0FBUCxPQUFPLFFBR2xCO0FBRUQsTUFBTSxPQUFPLFdBQVc7SUFDZCxNQUFNLENBQVU7SUFDaEIsSUFBSSxDQUFPO0lBRXBCLFlBQVksTUFBZSxFQUFFLElBQVU7UUFDdEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO1lBQ3ZDLEtBQUssRUFBRSxHQUFHLEVBQUU7Z0JBQ1gsUUFBUSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7b0JBQ3JCLEtBQUssT0FBTyxDQUFDLElBQUk7d0JBQ2hCLE9BQU8sYUFBYSxDQUFDO29CQUN0QixLQUFLLE9BQU8sQ0FBQyxpQkFBaUI7d0JBQzdCLE9BQU8saUJBQWlCLElBQUksR0FBRyxDQUFDO2dCQUNsQyxDQUFDO1lBQ0YsQ0FBQztTQUNELENBQUMsQ0FBQztJQUNKLENBQUM7SUFFTSxNQUFNLENBQUMsUUFBa0I7UUFDL0IsTUFBTSxJQUFJLEdBQVE7WUFDakIsRUFBRSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU07U0FDakQsQ0FBQztRQUNGLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2YsSUFBSSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUN2RSxDQUFDO2FBQU0sSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDekMsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2IsQ0FBQztJQUVNLFVBQVU7UUFDaEIsTUFBTSxRQUFRLEdBQVE7WUFDckIsRUFBRSxFQUFFLElBQUksQ0FBQyxNQUFNO1NBQ2YsQ0FBQztRQUNGLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2YsUUFBUSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDcEQsQ0FBQzthQUFNLENBQUM7WUFDUCxRQUFRLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzdDLENBQUM7UUFDRCxPQUFPLFFBQVEsQ0FBQztJQUNqQixDQUFDO0NBQ0Q7QUFFRCxNQUFNLFVBQVUsSUFBSTtJQUNuQixPQUFPLElBQUksV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUN0QyxDQUFDO0FBQ0QsTUFBTSxVQUFVLEtBQUssQ0FBQyxLQUFhO0lBQ2xDLE9BQU8sSUFBSSxXQUFXLENBQUMsT0FBTyxDQUFDLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQzFELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgY2JvciBmcm9tIFwiY2JvclwiO1xuXG5leHBvcnQgZW51bSBPcGNvZGVzIHtcblx0TW9kZSA9IDB4MDgsXG5cdFN0YW5kYXJkRGV2aWF0aW9uID0gMHgwNSxcbn1cblxuZXhwb3J0IGNsYXNzIFJhZG9uRmlsdGVyIHtcblx0cmVhZG9ubHkgb3Bjb2RlOiBPcGNvZGVzO1xuXHRyZWFkb25seSBhcmdzPzogYW55O1xuXG5cdGNvbnN0cnVjdG9yKG9wY29kZTogT3Bjb2RlcywgYXJncz86IGFueSkge1xuXHRcdHRoaXMub3Bjb2RlID0gb3Bjb2RlO1xuXHRcdHRoaXMuYXJncyA9IGFyZ3M7XG5cdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwidG9TdHJpbmdcIiwge1xuXHRcdFx0dmFsdWU6ICgpID0+IHtcblx0XHRcdFx0c3dpdGNoICh0aGlzLm9wY29kZSkge1xuXHRcdFx0XHRcdGNhc2UgT3Bjb2Rlcy5Nb2RlOlxuXHRcdFx0XHRcdFx0cmV0dXJuIFwiQ2xhc3MobW9kZSlcIjtcblx0XHRcdFx0XHRjYXNlIE9wY29kZXMuU3RhbmRhcmREZXZpYXRpb246XG5cdFx0XHRcdFx0XHRyZXR1cm4gYENsYXNzKHN0ZGV2ID0gJHthcmdzfSlgO1xuXHRcdFx0XHR9XG5cdFx0XHR9LFxuXHRcdH0pO1xuXHR9XG5cblx0cHVibGljIHRvSlNPTihodW1hbml6ZT86IGJvb2xlYW4pOiBhbnkge1xuXHRcdGNvbnN0IGpzb246IGFueSA9IHtcblx0XHRcdG9wOiBodW1hbml6ZSA/IE9wY29kZXNbdGhpcy5vcGNvZGVdIDogdGhpcy5vcGNvZGUsXG5cdFx0fTtcblx0XHRpZiAodGhpcy5hcmdzKSB7XG5cdFx0XHRqc29uLmFyZ3MgPSBodW1hbml6ZSA/IHRoaXMuYXJncyA6IEFycmF5LmZyb20oY2Jvci5lbmNvZGUodGhpcy5hcmdzKSk7XG5cdFx0fSBlbHNlIGlmICghaHVtYW5pemUpIHtcblx0XHRcdGpzb24uYXJncyA9IEFycmF5LmZyb20oY2Jvci5lbmNvZGUoW10pKTtcblx0XHR9XG5cdFx0cmV0dXJuIGpzb247XG5cdH1cblxuXHRwdWJsaWMgdG9Qcm90b2J1ZigpOiBhbnkge1xuXHRcdGNvbnN0IHByb3RvYnVmOiBhbnkgPSB7XG5cdFx0XHRvcDogdGhpcy5vcGNvZGUsXG5cdFx0fTtcblx0XHRpZiAodGhpcy5hcmdzKSB7XG5cdFx0XHRwcm90b2J1Zi5hcmdzID0gQXJyYXkuZnJvbShjYm9yLmVuY29kZSh0aGlzLmFyZ3MpKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0cHJvdG9idWYuYXJncyA9IEFycmF5LmZyb20oY2Jvci5lbmNvZGUoW10pKTtcblx0XHR9XG5cdFx0cmV0dXJuIHByb3RvYnVmO1xuXHR9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBNb2RlKCkge1xuXHRyZXR1cm4gbmV3IFJhZG9uRmlsdGVyKE9wY29kZXMuTW9kZSk7XG59XG5leHBvcnQgZnVuY3Rpb24gU3RkZXYoc3RkZXY6IG51bWJlcikge1xuXHRyZXR1cm4gbmV3IFJhZG9uRmlsdGVyKE9wY29kZXMuU3RhbmRhcmREZXZpYXRpb24sIHN0ZGV2KTtcbn1cbiJdfQ==
|
package/package.json
CHANGED
package/src/bin/cli/inspect.js
CHANGED
|
@@ -52,7 +52,7 @@ export const router = {
|
|
|
52
52
|
hint: "Search for in-flight or recently solved data request transactions.",
|
|
53
53
|
params: "RAD_BYTECODE | RAD_HASH",
|
|
54
54
|
options: {
|
|
55
|
-
limit: { hint: "Limit output records (default:
|
|
55
|
+
limit: { hint: "Limit output records (default: 10).", param: "LIMIT" },
|
|
56
56
|
offset: {
|
|
57
57
|
hint: "Skips first records as found on server side (default: 0).",
|
|
58
58
|
param: "SKIP",
|
|
@@ -226,7 +226,7 @@ async function dataRequests(options = {}, [arg]) {
|
|
|
226
226
|
// )
|
|
227
227
|
const results = await helpers.prompter(
|
|
228
228
|
provider.searchDataRequests(radHash, {
|
|
229
|
-
limit: options?.limit ? parseInt(options.limit, 10) :
|
|
229
|
+
limit: options?.limit ? parseInt(options.limit, 10) : 10,
|
|
230
230
|
offset: options?.offset ? parseInt(options.offset, 10) : undefined,
|
|
231
231
|
mode: options?.mode,
|
|
232
232
|
reverse: options?.reverse,
|
|
@@ -236,10 +236,10 @@ async function dataRequests(options = {}, [arg]) {
|
|
|
236
236
|
results.map((record) => {
|
|
237
237
|
let result = record?.result.cbor_bytes ? utils.cbor.decode(record?.result.cbor_bytes, { encoding: "hex" }) : "";
|
|
238
238
|
const request = Witnet.Radon.RadonRequest.fromBytecode(record.query.rad_bytecode);
|
|
239
|
-
const dataType = result.constructor.name === "Tagged" ? "RadonError" : request.dataType;
|
|
240
|
-
if (
|
|
239
|
+
const dataType = result !== "" && result.constructor.name === "Tagged" ? "RadonError" : request.dataType;
|
|
240
|
+
if (result !== "" && !["RadonError", "RadonInteger", "RadonFloat"].includes(dataType))
|
|
241
241
|
result = Buffer.from(utils.fromHexString(record?.result.cbor_bytes)).toString("base64");
|
|
242
|
-
else if (result
|
|
242
|
+
else if (result?.constructor.name === "Buffer") result = result.toString("base64");
|
|
243
243
|
return [
|
|
244
244
|
record.block_epoch,
|
|
245
245
|
record.hash,
|
|
@@ -255,8 +255,8 @@ async function dataRequests(options = {}, [arg]) {
|
|
|
255
255
|
: helpers.colors.cyan(result),
|
|
256
256
|
]
|
|
257
257
|
: [
|
|
258
|
-
record?.result ? `${record.result.cbor_bytes.length / 2} bytes` : "",
|
|
259
|
-
record?.result.timestamp ? moment.unix(record.result.timestamp).fromNow() : "",
|
|
258
|
+
result !== "" && record?.result ? `${record.result.cbor_bytes.length / 2} bytes` : "",
|
|
259
|
+
result !== "" && record?.result.timestamp ? moment.unix(record.result.timestamp).fromNow() : "",
|
|
260
260
|
]),
|
|
261
261
|
];
|
|
262
262
|
}),
|
package/src/bin/cli/radon.js
CHANGED
|
@@ -683,10 +683,12 @@ async function traceWitnetRadonRequestDryRun(request, options) {
|
|
|
683
683
|
traceWitnetRadonReportHeadline(request, options);
|
|
684
684
|
const indent = options?.indent ? " ".repeat(options.indent) : "";
|
|
685
685
|
console.info(`${indent}╚══╤═══════════════════════════════════════════════════════════════════════════╝`);
|
|
686
|
-
let execTimeMs =
|
|
687
|
-
?.map(
|
|
688
|
-
|
|
689
|
-
|
|
686
|
+
let execTimeMs = Math.max(
|
|
687
|
+
...(report.retrieve?.map(
|
|
688
|
+
(retrieval) => (retrieval?.running_time.secs || 0) * 1e3 + (retrieval?.running_time.nanos || 0) / 1e6,
|
|
689
|
+
) ?? 0),
|
|
690
|
+
);
|
|
691
|
+
execTimeMs = `${helpers.commas(Math.round(execTimeMs))} ms`;
|
|
690
692
|
let flexbar = "─".repeat(17);
|
|
691
693
|
let flexspc = " ".repeat(flexbar.length + 12);
|
|
692
694
|
console.info(`${indent}┌──┴─────────────────────────────${flexbar}──────┐`);
|
package/src/bin/index.js
CHANGED
|
@@ -28,7 +28,7 @@ import {
|
|
|
28
28
|
|
|
29
29
|
const __dirname = import.meta.dirname;
|
|
30
30
|
|
|
31
|
-
const version = "2.0.
|
|
31
|
+
const version = "2.0.23";
|
|
32
32
|
const toolkitDownloadUrlBase = `https://github.com/witnet/witnet-rust/releases/download/${version}/`;
|
|
33
33
|
const toolkitDownloadNames = {
|
|
34
34
|
win32: (arch) => `witnet_toolkit-${arch}-pc-windows-msvc.exe`,
|