@witnet/sdk 3.0.0 → 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.
@@ -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.passwd)
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;IAU/B,UAAU,IAAI,GAAG;CASxB;AAED,wBAAgB,IAAI,gBAEnB;AACD,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,eAElC"}
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvcmFkb24vZmlsdGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLElBQUksTUFBTSxNQUFNLENBQUM7QUFFeEIsTUFBTSxDQUFOLElBQVksT0FHWDtBQUhELFdBQVksT0FBTztJQUNsQixxQ0FBVyxDQUFBO0lBQ1gsK0RBQXdCLENBQUE7QUFDekIsQ0FBQyxFQUhXLE9BQU8sS0FBUCxPQUFPLFFBR2xCO0FBRUQsTUFBTSxPQUFPLFdBQVc7SUFDZCxNQUFNLENBQVU7SUFDaEIsSUFBSSxDQUFPO0lBRXBCLFlBQVksTUFBZSxFQUFFLElBQVU7UUFDdEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO1lBQ3ZDLEtBQUssRUFBRSxHQUFHLEVBQUU7Z0JBQ1gsUUFBUSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7b0JBQ3JCLEtBQUssT0FBTyxDQUFDLElBQUk7d0JBQ2hCLE9BQU8sYUFBYSxDQUFDO29CQUN0QixLQUFLLE9BQU8sQ0FBQyxpQkFBaUI7d0JBQzdCLE9BQU8saUJBQWlCLElBQUksR0FBRyxDQUFDO2dCQUNsQyxDQUFDO1lBQ0YsQ0FBQztTQUNELENBQUMsQ0FBQztJQUNKLENBQUM7SUFFTSxNQUFNLENBQUMsUUFBa0I7UUFDL0IsTUFBTSxJQUFJLEdBQVE7WUFDakIsRUFBRSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU07U0FDakQsQ0FBQztRQUNGLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2YsSUFBSSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUN2RSxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDYixDQUFDO0lBRU0sVUFBVTtRQUNoQixNQUFNLFFBQVEsR0FBUTtZQUNyQixFQUFFLEVBQUUsSUFBSSxDQUFDLE1BQU07U0FDZixDQUFDO1FBQ0YsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDZixRQUFRLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNwRCxDQUFDO1FBQ0QsT0FBTyxRQUFRLENBQUM7SUFDakIsQ0FBQztDQUNEO0FBRUQsTUFBTSxVQUFVLElBQUk7SUFDbkIsT0FBTyxJQUFJLFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDdEMsQ0FBQztBQUNELE1BQU0sVUFBVSxLQUFLLENBQUMsS0FBYTtJQUNsQyxPQUFPLElBQUksV0FBVyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxLQUFLLENBQUMsQ0FBQztBQUMxRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGNib3IgZnJvbSBcImNib3JcIjtcblxuZXhwb3J0IGVudW0gT3Bjb2RlcyB7XG5cdE1vZGUgPSAweDA4LFxuXHRTdGFuZGFyZERldmlhdGlvbiA9IDB4MDUsXG59XG5cbmV4cG9ydCBjbGFzcyBSYWRvbkZpbHRlciB7XG5cdHJlYWRvbmx5IG9wY29kZTogT3Bjb2Rlcztcblx0cmVhZG9ubHkgYXJncz86IGFueTtcblxuXHRjb25zdHJ1Y3RvcihvcGNvZGU6IE9wY29kZXMsIGFyZ3M/OiBhbnkpIHtcblx0XHR0aGlzLm9wY29kZSA9IG9wY29kZTtcblx0XHR0aGlzLmFyZ3MgPSBhcmdzO1xuXHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcInRvU3RyaW5nXCIsIHtcblx0XHRcdHZhbHVlOiAoKSA9PiB7XG5cdFx0XHRcdHN3aXRjaCAodGhpcy5vcGNvZGUpIHtcblx0XHRcdFx0XHRjYXNlIE9wY29kZXMuTW9kZTpcblx0XHRcdFx0XHRcdHJldHVybiBcIkNsYXNzKG1vZGUpXCI7XG5cdFx0XHRcdFx0Y2FzZSBPcGNvZGVzLlN0YW5kYXJkRGV2aWF0aW9uOlxuXHRcdFx0XHRcdFx0cmV0dXJuIGBDbGFzcyhzdGRldiA9ICR7YXJnc30pYDtcblx0XHRcdFx0fVxuXHRcdFx0fSxcblx0XHR9KTtcblx0fVxuXG5cdHB1YmxpYyB0b0pTT04oaHVtYW5pemU/OiBib29sZWFuKTogYW55IHtcblx0XHRjb25zdCBqc29uOiBhbnkgPSB7XG5cdFx0XHRvcDogaHVtYW5pemUgPyBPcGNvZGVzW3RoaXMub3Bjb2RlXSA6IHRoaXMub3Bjb2RlLFxuXHRcdH07XG5cdFx0aWYgKHRoaXMuYXJncykge1xuXHRcdFx0anNvbi5hcmdzID0gaHVtYW5pemUgPyB0aGlzLmFyZ3MgOiBBcnJheS5mcm9tKGNib3IuZW5jb2RlKHRoaXMuYXJncykpO1xuXHRcdH1cblx0XHRyZXR1cm4ganNvbjtcblx0fVxuXG5cdHB1YmxpYyB0b1Byb3RvYnVmKCk6IGFueSB7XG5cdFx0Y29uc3QgcHJvdG9idWY6IGFueSA9IHtcblx0XHRcdG9wOiB0aGlzLm9wY29kZSxcblx0XHR9O1xuXHRcdGlmICh0aGlzLmFyZ3MpIHtcblx0XHRcdHByb3RvYnVmLmFyZ3MgPSBBcnJheS5mcm9tKGNib3IuZW5jb2RlKHRoaXMuYXJncykpO1xuXHRcdH1cblx0XHRyZXR1cm4gcHJvdG9idWY7XG5cdH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIE1vZGUoKSB7XG5cdHJldHVybiBuZXcgUmFkb25GaWx0ZXIoT3Bjb2Rlcy5Nb2RlKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBTdGRldihzdGRldjogbnVtYmVyKSB7XG5cdHJldHVybiBuZXcgUmFkb25GaWx0ZXIoT3Bjb2Rlcy5TdGFuZGFyZERldmlhdGlvbiwgc3RkZXYpO1xufVxuIl19
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvcmFkb24vZmlsdGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLElBQUksTUFBTSxNQUFNLENBQUM7QUFFeEIsTUFBTSxDQUFOLElBQVksT0FHWDtBQUhELFdBQVksT0FBTztJQUNsQixxQ0FBVyxDQUFBO0lBQ1gsK0RBQXdCLENBQUE7QUFDekIsQ0FBQyxFQUhXLE9BQU8sS0FBUCxPQUFPLFFBR2xCO0FBRUQsTUFBTSxPQUFPLFdBQVc7SUFDZCxNQUFNLENBQVU7SUFDaEIsSUFBSSxDQUFPO0lBRXBCLFlBQVksTUFBZSxFQUFFLElBQVU7UUFDdEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO1lBQ3ZDLEtBQUssRUFBRSxHQUFHLEVBQUU7Z0JBQ1gsUUFBUSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7b0JBQ3JCLEtBQUssT0FBTyxDQUFDLElBQUk7d0JBQ2hCLE9BQU8sYUFBYSxDQUFDO29CQUN0QixLQUFLLE9BQU8sQ0FBQyxpQkFBaUI7d0JBQzdCLE9BQU8saUJBQWlCLElBQUksR0FBRyxDQUFDO2dCQUNsQyxDQUFDO1lBQ0YsQ0FBQztTQUNELENBQUMsQ0FBQztJQUNKLENBQUM7SUFFTSxNQUFNLENBQUMsUUFBa0I7UUFDL0IsTUFBTSxJQUFJLEdBQVE7WUFDakIsRUFBRSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU07U0FDakQsQ0FBQztRQUNGLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2YsSUFBSSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUN2RSxDQUFDO2FBQU0sSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDekMsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2IsQ0FBQztJQUVNLFVBQVU7UUFDaEIsTUFBTSxRQUFRLEdBQVE7WUFDckIsRUFBRSxFQUFFLElBQUksQ0FBQyxNQUFNO1NBQ2YsQ0FBQztRQUNGLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2YsUUFBUSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDcEQsQ0FBQzthQUFNLENBQUM7WUFDUCxRQUFRLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzdDLENBQUM7UUFDRCxPQUFPLFFBQVEsQ0FBQztJQUNqQixDQUFDO0NBQ0Q7QUFFRCxNQUFNLFVBQVUsSUFBSTtJQUNuQixPQUFPLElBQUksV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUN0QyxDQUFDO0FBQ0QsTUFBTSxVQUFVLEtBQUssQ0FBQyxLQUFhO0lBQ2xDLE9BQU8sSUFBSSxXQUFXLENBQUMsT0FBTyxDQUFDLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQzFELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgY2JvciBmcm9tIFwiY2JvclwiO1xuXG5leHBvcnQgZW51bSBPcGNvZGVzIHtcblx0TW9kZSA9IDB4MDgsXG5cdFN0YW5kYXJkRGV2aWF0aW9uID0gMHgwNSxcbn1cblxuZXhwb3J0IGNsYXNzIFJhZG9uRmlsdGVyIHtcblx0cmVhZG9ubHkgb3Bjb2RlOiBPcGNvZGVzO1xuXHRyZWFkb25seSBhcmdzPzogYW55O1xuXG5cdGNvbnN0cnVjdG9yKG9wY29kZTogT3Bjb2RlcywgYXJncz86IGFueSkge1xuXHRcdHRoaXMub3Bjb2RlID0gb3Bjb2RlO1xuXHRcdHRoaXMuYXJncyA9IGFyZ3M7XG5cdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwidG9TdHJpbmdcIiwge1xuXHRcdFx0dmFsdWU6ICgpID0+IHtcblx0XHRcdFx0c3dpdGNoICh0aGlzLm9wY29kZSkge1xuXHRcdFx0XHRcdGNhc2UgT3Bjb2Rlcy5Nb2RlOlxuXHRcdFx0XHRcdFx0cmV0dXJuIFwiQ2xhc3MobW9kZSlcIjtcblx0XHRcdFx0XHRjYXNlIE9wY29kZXMuU3RhbmRhcmREZXZpYXRpb246XG5cdFx0XHRcdFx0XHRyZXR1cm4gYENsYXNzKHN0ZGV2ID0gJHthcmdzfSlgO1xuXHRcdFx0XHR9XG5cdFx0XHR9LFxuXHRcdH0pO1xuXHR9XG5cblx0cHVibGljIHRvSlNPTihodW1hbml6ZT86IGJvb2xlYW4pOiBhbnkge1xuXHRcdGNvbnN0IGpzb246IGFueSA9IHtcblx0XHRcdG9wOiBodW1hbml6ZSA/IE9wY29kZXNbdGhpcy5vcGNvZGVdIDogdGhpcy5vcGNvZGUsXG5cdFx0fTtcblx0XHRpZiAodGhpcy5hcmdzKSB7XG5cdFx0XHRqc29uLmFyZ3MgPSBodW1hbml6ZSA/IHRoaXMuYXJncyA6IEFycmF5LmZyb20oY2Jvci5lbmNvZGUodGhpcy5hcmdzKSk7XG5cdFx0fSBlbHNlIGlmICghaHVtYW5pemUpIHtcblx0XHRcdGpzb24uYXJncyA9IEFycmF5LmZyb20oY2Jvci5lbmNvZGUoW10pKTtcblx0XHR9XG5cdFx0cmV0dXJuIGpzb247XG5cdH1cblxuXHRwdWJsaWMgdG9Qcm90b2J1ZigpOiBhbnkge1xuXHRcdGNvbnN0IHByb3RvYnVmOiBhbnkgPSB7XG5cdFx0XHRvcDogdGhpcy5vcGNvZGUsXG5cdFx0fTtcblx0XHRpZiAodGhpcy5hcmdzKSB7XG5cdFx0XHRwcm90b2J1Zi5hcmdzID0gQXJyYXkuZnJvbShjYm9yLmVuY29kZSh0aGlzLmFyZ3MpKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0cHJvdG9idWYuYXJncyA9IEFycmF5LmZyb20oY2Jvci5lbmNvZGUoW10pKTtcblx0XHR9XG5cdFx0cmV0dXJuIHByb3RvYnVmO1xuXHR9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBNb2RlKCkge1xuXHRyZXR1cm4gbmV3IFJhZG9uRmlsdGVyKE9wY29kZXMuTW9kZSk7XG59XG5leHBvcnQgZnVuY3Rpb24gU3RkZXYoc3RkZXY6IG51bWJlcikge1xuXHRyZXR1cm4gbmV3IFJhZG9uRmlsdGVyKE9wY29kZXMuU3RhbmRhcmREZXZpYXRpb24sIHN0ZGV2KTtcbn1cbiJdfQ==
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/lib/radon/utils.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAErF,OAAO,EACN,KAAK,QAAQ,EASb,MAAM,YAAY,CAAC;AAIpB,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,GAAG,GAAG,QAAQ,CAaxD;AAED,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,YAAY,GAAG,aAAa,GAAG,UAAU,GAAG,cAAc,EACtG,IAAI,EAAE,GAAG,EACT,IAAI,CAAC,EAAE;IAAE,KAAK,KAAK,EAAE,GAAG,GAAG,CAAC,CAAA;CAAE,EAC9B,OAAO,CAAC,EAAE,MAAM,EAAE,GAChB,KAAK,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,GAAG,CAAA;CAAE,CAAC,CAqBvC;AAED,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,YAAY,GAAG,aAAa,GAAG,UAAU,GAAG,cAAc,EAAE,KAAK,EAAE;IAC9G,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,IAAI,CAAC,EAAE;QAAE,KAAK,MAAM,EAAE,GAAG,GAAG,CAAC,CAAA;KAAE,CAAC;CAChC,GAAG,CAAC,CAUJ;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,YAAY,GAAG,aAAa,GAAG,UAAU,GAAG,cAAc,EACrG,OAAO,EAAE;IACR;;OAEG;IACH,MAAM,CAAC,EAAE,GAAG,CAAC;IACb;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,IAAI,CAAC,EAAE;QAAE,KAAK,KAAK,EAAE,GAAG,GAAG,CAAC,CAAA;KAAE,CAAC;CAC/B,EACD,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,GAClD,KAAK,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CASnC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/lib/radon/utils.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAErF,OAAO,EACN,KAAK,QAAQ,EASb,MAAM,YAAY,CAAC;AAKpB,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,GAAG,GAAG,QAAQ,CAaxD;AAED,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,YAAY,GAAG,aAAa,GAAG,UAAU,GAAG,cAAc,EACtG,IAAI,EAAE,GAAG,EACT,IAAI,CAAC,EAAE;IAAE,KAAK,KAAK,EAAE,GAAG,GAAG,CAAC,CAAA;CAAE,EAC9B,OAAO,CAAC,EAAE,MAAM,EAAE,GAChB,KAAK,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,GAAG,CAAA;CAAE,CAAC,CAqBvC;AAED,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,YAAY,GAAG,aAAa,GAAG,UAAU,GAAG,cAAc,EAAE,KAAK,EAAE;IAC9G,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,IAAI,CAAC,EAAE;QAAE,KAAK,MAAM,EAAE,GAAG,GAAG,CAAC,CAAA;KAAE,CAAC;CAChC,GAAG,CAAC,CAUJ;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,YAAY,GAAG,aAAa,GAAG,UAAU,GAAG,cAAc,EACrG,OAAO,EAAE;IACR;;OAEG;IACH,MAAM,CAAC,EAAE,GAAG,CAAC;IACb;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,IAAI,CAAC,EAAE;QAAE,KAAK,KAAK,EAAE,GAAG,GAAG,CAAC,CAAA;KAAE,CAAC;CAC/B,EACD,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,GAClD,KAAK,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CASnC"}
@@ -1,12 +1,14 @@
1
+ import fs from "node:fs";
1
2
  import { createRequire } from "node:module";
2
3
  import cbor from "cbor";
3
4
  import dotenv from "dotenv";
4
5
  dotenv.config({ quiet: true });
5
6
  const require = createRequire(import.meta.url);
6
- import { fromHexString, isHexString } from "../../bin/helpers.js";
7
+ import { fromHexString, isHexString, searchWorkspace } from "../../bin/helpers.js";
7
8
  import { RadonModal, RadonRequest, RadonRetrieval, RadonTemplate } from "./index.js";
8
9
  import { RadonArray, RadonBoolean, RadonBytes, RadonFloat, RadonInteger, RadonMap, RadonOperators, RadonString, } from "./types.js";
9
- const WITNET_ASSETS_PATH = process.env.WITNET_SDK_RADON_ASSETS_PATH || "../../../../../witnet/assets";
10
+ const __dirname = searchWorkspace();
11
+ const WITNET_ASSETS_PATH = process.env.WITNET_SDK_RADON_ASSETS_PATH || `${__dirname}/witnet/assets`;
10
12
  export { execRadonBytecode } from "../../bin/helpers.js";
11
13
  /**
12
14
  * Decodes a Radon script out from a Protobuf-serialized bytecode.
@@ -86,7 +88,7 @@ export function searchRadonAssets(options, filterFn) {
86
88
  // ====================================================================================================================
87
89
  // --- INTERNAL METHODS -----------------------------------------------------------------------------------------------
88
90
  function loadModuleAssets(options) {
89
- const stuff = require(`${WITNET_ASSETS_PATH}/index.cjs`);
91
+ const stuff = fs.existsSync(`${WITNET_ASSETS_PATH}/index.cjs`) ? require(`${WITNET_ASSETS_PATH}/index.cjs`) : {};
90
92
  return options?.flattened ? flattenRadonAssets(stuff, options?.type) : stuff;
91
93
  }
92
94
  function parseScript(array, script) {
@@ -144,4 +146,4 @@ function parseScriptOperator(script, opcode, args) {
144
146
  }
145
147
  }
146
148
  }
147
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3JhZG9uL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBQ3hCLE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUU1QixNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7QUFFL0IsTUFBTSxPQUFPLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7QUFFL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVsRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRXJGLE9BQU8sRUFFTixVQUFVLEVBQ1YsWUFBWSxFQUNaLFVBQVUsRUFDVixVQUFVLEVBQ1YsWUFBWSxFQUNaLFFBQVEsRUFDUixjQUFjLEVBQ2QsV0FBVyxHQUNYLE1BQU0sWUFBWSxDQUFDO0FBRXBCLE1BQU0sa0JBQWtCLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyw0QkFBNEIsSUFBSSw4QkFBOEIsQ0FBQztBQUV0RyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUV6RDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLGdCQUFnQixDQUFDLFFBQWE7SUFDN0MsSUFBSSxNQUFNLENBQUM7SUFDWCxJQUFJLFdBQVcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1FBQzNCLE1BQU0sR0FBRyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDbEMsQ0FBQztTQUFNLElBQUksUUFBUSxZQUFZLFVBQVUsRUFBRSxDQUFDO1FBQzNDLE1BQU0s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QUFNLEVBQUUsQ0FBQztRQUNaLElBQUksUUFBUSxHQUFHLGNBQWMsQ0FBQyxNQUFNLENBQUM7YUFDbkMsS0FBSyxDQUFDLFdBQVcsQ0FBQzthQUNsQixLQUFLLENBQUMsQ0FBQyxDQUFDO2FBQ1IsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ1gsUUFBUSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNoRSxRQUFRLFFBQVEsRUFBRSxDQUFDO1lBQ2xCLEtBQUssUUFBUSxDQUFDO1lBQ2QsS0FBSyxLQUFLLENBQUM7WUFDWCxLQUFLLE1BQU0sQ0FBQztZQUNaLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQztnQkFDZCxNQUFNLFdBQVcsR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3RDLE9BQU8sTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFdBQVcsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN4RCxDQUFDO1lBRUQsZ0JBQWdCO1lBQ2hCLDhFQUE4RTtZQUU5RTtnQkFDQyxPQUFPLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoQyxDQUFDO0lBQ0YsQ0FBQztBQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVSZXF1aXJlIH0gZnJvbSBcIm5vZGU6bW9kdWxlXCI7XG5pbXBvcnQgY2JvciBmcm9tIFwiY2JvclwiO1xuaW1wb3J0IGRvdGVudiBmcm9tIFwiZG90ZW52XCI7XG5cbmRvdGVudi5jb25maWcoeyBxdWlldDogdHJ1ZSB9KTtcblxuY29uc3QgcmVxdWlyZSA9IGNyZWF0ZVJlcXVpcmUoaW1wb3J0Lm1ldGEudXJsKTtcblxuaW1wb3J0IHsgZnJvbUhleFN0cmluZywgaXNIZXhTdHJpbmcgfSBmcm9tIFwiLi4vLi4vYmluL2hlbHBlcnMuanNcIjtcblxuaW1wb3J0IHsgUmFkb25Nb2RhbCwgUmFkb25SZXF1ZXN0LCBSYWRvblJldHJpZXZhbCwgUmFkb25UZW1wbGF0ZSB9IGZyb20gXCIuL2luZGV4LmpzXCI7XG5cbmltcG9ydCB7XG5cdHR5cGUgUmFkb25BbnksXG5cdFJhZG9uQXJyYXksXG5cdFJhZG9uQm9vbGVhbixcblx0UmFkb25CeXRlcyxcblx0UmFkb25GbG9hdCxcblx0UmFkb25JbnRlZ2VyLFxuXHRSYWRvbk1hcCxcblx0UmFkb25PcGVyYXRvcnMsXG5cdFJhZG9uU3RyaW5nLFxufSBmcm9tIFwiLi90eXBlcy5qc1wiO1xuXG5jb25zdCBXSVRORVRfQVNTRVRTX1BBVEggPSBwcm9jZXNzLmVudi5XSVRORVRfU0RLX1JBRE9OX0FTU0VUU19QQVRIIHx8IFwiLi4vLi4vLi4vLi4vLi4vd2l0bmV0L2Fzc2V0c1wiO1xuXG5leHBvcnQgeyBleGVjUmFkb25CeXRlY29kZSB9IGZyb20gXCIuLi8uLi9iaW4vaGVscGVycy5qc1wiO1xuXG4vKipcbiAqIERlY29kZXMgYSBSYWRvbiBzY3JpcHQgb3V0IGZyb20gYSBQcm90b2J1Zi1zZXJpYWxpemVkIGJ5dGVjb2RlLlxuICogQHBhcmFtIGhleFN0cmluZyBSYWRvbiBzY3JpcHQgYnl0ZWNvZGUuXG4gKiBAcmV0dXJucyBSYWRvbiBzY3JpcHQgb2JqZWN0IChpLmUuIGNoYWluIG9mIFJhZG9uIG9wZXJhdG9ycyB3aXRoIGEgZGV0ZXJtaW5pc3RpYyBvdXRwdXQgUmFkb24gdHlwZSkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZVJhZG9uU2NyaXB0KGJ5dGVjb2RlOiBhbnkpOiBSYWRvbkFueSB7XG5cdGxldCBidWZmZXI7XG5cdGlmIChpc0hleFN0cmluZyhieXRlY29kZSkpIHtcblx0XHRidWZmZXIgPSBmcm9tSGV4U3RyaW5nKGJ5dGVjb2RlKTtcblx0fSBlbHNlIGlmIChieXRlY29kZSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpIHtcblx0XHRidWZmZXIgPSBCdWZmZXIuZnJvbShieXRlY29kZSk7XG5cdH0gZWxzZSBpZiAoYnl0ZWNvZGUgaW5zdGFuY2VvZiBCdWZmZXIpIHtcblx0XHRidWZmZXIgPSBieXRlY29kZTtcblx0fSBlbHNlIHtcblx0XHR0aHJvdyBuZXcgVHlwZUVycm9yKGBVbnN1cHBvcnRlZCBSYWRvblNjcmlwdCBieXRlY29kZSBmb3JtYXQ6ICR7Ynl0ZWNvZGV9YCk7XG5cdH1cblx0Y29uc3QgYXJyYXkgPSBjYm9yLmRlY29kZShidWZmZXIpO1xuXHRyZXR1cm4gcGFyc2VTY3JpcHQoYXJyYXkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZmxhdHRlblJhZG9uQXNzZXRzPFQgZXh0ZW5kcyBSYWRvblJlcXVlc3QgfCBSYWRvblRlbXBsYXRlIHwgUmFkb25Nb2RhbCB8IFJhZG9uUmV0cmlldmFsPihcblx0dHJlZTogYW55LFxuXHR0eXBlPzogeyBuZXcgKHNwZWNzOiBhbnkpOiBUIH0sXG5cdGhlYWRlcnM/OiBzdHJpbmdbXSxcbik6IEFycmF5PHsga2V5OiBzdHJpbmc7IGFydGlmYWN0OiBhbnkgfT4ge1xuXHRpZiAoIWhlYWRlcnMpIGhlYWRlcnMgPSBbXTtcblx0Y29uc3QgZW50cmllczogQXJyYXk8eyBrZXk6IHN0cmluZzsgYXJ0aWZhY3Q6IGFueSB9PiA9IFtdO1xuXHRmb3IgKGNvbnN0IGtleSBpbiB0cmVlKSB7XG5cdFx0aWYgKFxuXHRcdFx0KHR5cGUgJiYgdHJlZVtrZXldIGluc3RhbmNlb2YgdHlwZSkgfHxcblx0XHRcdCghdHlwZSAmJlxuXHRcdFx0XHQodHJlZVtrZXldIGluc3RhbmNlb2YgUmFkb25SZXF1ZXN0IHx8XG5cdFx0XHRcdFx0dHJlZVtrZXldIGluc3RhbmNlb2YgUmFkb25UZW1wbGF0ZSB8fFxuXHRcdFx0XHRcdHRyZWVba2V5XSBpbnN0YW5jZW9mIFJhZG9uTW9kYWwgfHxcblx0XHRcdFx0XHR0cmVlW2tleV0gaW5zdGFuY2VvZiBSYWRvblJldHJpZXZhbCkpXG5cdFx0KSB7XG5cdFx0XHRlbnRyaWVzLnB1c2goe1xuXHRcdFx0XHRrZXksXG5cdFx0XHRcdGFydGlmYWN0OiB0cmVlW2tleV0sXG5cdFx0XHR9KTtcblx0XHR9IGVsc2UgaWYgKHR5cGVvZiB0cmVlW2tleV0gPT09IFwib2JqZWN0XCIpIHtcblx0XHRcdGVudHJpZXMucHVzaCguLi5mbGF0dGVuUmFkb25Bc3NldHModHJlZVtrZXldLCB0eXBlLCBbLi4uaGVhZGVycywga2V5XSkpO1xuXHRcdH1cblx0fVxuXHRyZXR1cm4gZW50cmllcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlcXVpcmVSYWRvbkFzc2V0PFQgZXh0ZW5kcyBSYWRvblJlcXVlc3QgfCBSYWRvblRlbXBsYXRlIHwgUmFkb25Nb2RhbCB8IFJhZG9uUmV0cmlldmFsPihzcGVjczoge1xuXHRhcnRpZmFjdDogc3RyaW5nO1xuXHRhc3NldHM/OiBhbnk7XG5cdHR5cGU/OiB7IG5ldyAoX3NwZWNzOiBhbnkpOiBUIH07XG59KTogVCB7XG5cdGNvbnN0IHN0dWZmID0gc3BlY3M/LmFzc2V0c1xuXHRcdD8gZmxhdHRlblJhZG9uQXNzZXRzKHNwZWNzLmFzc2V0cywgc3BlY3M/LnR5cGUpXG5cdFx0OiBsb2FkTW9kdWxlQXNzZXRzKHsgZmxhdHRlbmVkOiB0cnVlLCB0eXBlOiBzcGVjcz8udHlwZSB9KTtcblx0Y29uc3QgZm91bmQgPSBzdHVmZi5maW5kKChlbnRyeTogeyBrZXk6IHN0cmluZzsgYXJ0aWZhY3Q6IGFueSB9KSA9PiBlbnRyeS5rZXkgPT09IHNwZWNzLmFydGlmYWN0KTtcblx0aWYgKGZvdW5kPy5hcnRpZmFjdCkge1xuXHRcdHJldHVybiBmb3VuZC5hcnRpZmFjdDtcblx0fSBlbHNlIHtcblx0XHR0aHJvdyBFcnJvcihgUmFkb24gYXNzZXQgXCIke3NwZWNzLmFydGlmYWN0fVwiIG5vdCBhdmFpbGFibGUuYCk7XG5cdH1cbn1cblxuLyoqXG4gKiBTZWFyY2ggV2l0bmV0IFJhZG9uIGFzc2V0cyBkZWNsYXJlZCBvciBpbXBvcnRlZCB3aXRoaW4gY3VycmVudCByZXBvc2l0b3J5LFxuICogd2hvc2UgbmFtZXMgY29tcGxpZXMgd2l0aCB0aGUgcHJvdmlkZWQgYHBhdHRlcm5gIGFuZCBgZmlsdGVyRm5gLlxuICogSWYgbm8gYGZpbHRlckZuYCBpcyBzcGVjaWZpZWQsIHNlYXJjaCB3aWxsIGluY2x1ZGUgYXNzZXRzIHdob3NlIG5hbWVzXG4gKiBhcmUgc3VmZml4ZWQgYnkgZ2l2ZW4gYHBhdHRlcm5gIChjYXNlIGluc2Vuc2l0aXZlKS5cbiAqIEBwYXJhbSBvcHRpb25zIFNlYXJjaCBvcHRpb25zXG4gKiBAcGFyYW0gZmlsdGVyRm4gRmlsdGVyaW5nIGZ1bmN0aW9uLlxuICogQHJldHVybnMgQW4gYXJyYXkgb2YgUmFkb24gYXNzZXRzIG9mIHRoZSBzcGVjaWZpZWQga2luZCBjb21wbHlpbmcgd2l0aCB0aGUgc2VhcmNoIHBhdHRlcm4uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzZWFyY2hSYWRvbkFzc2V0czxUIGV4dGVuZHMgUmFkb25SZXF1ZXN0IHwgUmFkb25UZW1wbGF0ZSB8IFJhZG9uTW9kYWwgfCBSYWRvblJldHJpZXZhbD4oXG5cdG9wdGlvbnM6IHtcblx0XHQvKipcblx0XHQgKiBPYmplY3QgY29udGFpbmluZyBzdHJ1Y3R1cmVkIGhlcmlhcmNoeSBvZiBSYWRvbiBhc3NldHMuIElmIG5vdCBwcm92aWRlZCwgUmFkb24gYXNzZXRzIGRlY2xhcmVkIHdpdGhpbiBwcm9qZWN0J3MgZW52aXJvbm1lbnQuXG5cdFx0ICovXG5cdFx0YXNzZXRzPzogYW55O1xuXHRcdC8qKlxuXHRcdCAqIExpbWl0cyBudW1iZXIgb2YgcmV0dXJuZWQgUmFkb24gYXNzZXRzLlxuXHRcdCAqL1xuXHRcdGxpbWl0PzogbnVtYmVyO1xuXHRcdC8qKlxuXHRcdCAqIE9mZnNldHMgcmV0dXJuZWQgYXJyYXkgb2YgUmFkb24gYXNzZXRzLlxuXHRcdCAqL1xuXHRcdG9mZnNldD86IG51bWJlcjtcblx0XHQvKipcblx0XHQgKiBOYW1lIHBhdHRlcm4gc2VhcmNoZWQgZm9yLlxuXHRcdCAqL1xuXHRcdHBhdHRlcm46IHN0cmluZztcblx0XHQvKipcblx0XHQgKiBTcGVjaWZpYyB0eXBlIG9mIFJhZG9uIGFzc2V0IHRvIHNlYXJjaCBmb3I6IGBSYWRvblJlcXVlc3RgLCBgUmFkb25SZXF1ZXN0YCwgYFJhZG9uUmV0cmlldmFsYCBvciBgUmFkb25DQ0RSYC5cblx0XHQgKi9cblx0XHR0eXBlPzogeyBuZXcgKHNwZWNzOiBhbnkpOiBUIH07XG5cdH0sXG5cdGZpbHRlckZuPzogKGtleTogc3RyaW5nLCBwYXR0ZXJuOiBzdHJpbmcpID0+IGJvb2xlYW4sXG4pOiBBcnJheTxba2V5OiBzdHJpbmcsIGFydGlmYWN0OiBUXT4ge1xuXHRjb25zdCBkZWZhdWx0RmlsdGVyID0gKGtleTogc3RyaW5nLCBwYXR0ZXJuOiBzdHJpbmcpID0+IGtleS50b0xvd2VyQ2FzZSgpLmVuZHNXaXRoKHBhdHRlcm4udG9Mb3dlckNhc2UoKSk7XG5cdGNvbnN0IHN0dWZmID0gb3B0aW9ucz8uYXNzZXRzXG5cdFx0PyBmbGF0dGVuUmFkb25Bc3NldHMob3B0aW9ucy5hc3NldHMsIG9wdGlvbnM/LnR5cGUpXG5cdFx0OiBsb2FkTW9kdWxlQXNzZXRzKHsgZmxhdHRlbmVkOiB0cnVlLCB0eXBlOiBvcHRpb25zPy50eXBlIH0pO1xuXHRyZXR1cm4gc3R1ZmZcblx0XHQuZmlsdGVyKChlbnRyeTogeyBrZXk6IHN0cmluZzsgYXJ0aWZhY3Q6IGFueSB9KSA9PiAoZmlsdGVyRm4gfHwgZGVmYXVsdEZpbHRlcikoZW50cnkua2V5LCBvcHRpb25zLnBhdHRlcm4gfHwgXCJcIikpXG5cdFx0LnNsaWNlKG9wdGlvbnM/Lm9mZnNldCB8fCAwLCBvcHRpb25zPy5saW1pdClcblx0XHQubWFwKChlbnRyeTogeyBrZXk6IHN0cmluZzsgYXJ0aWZhY3Q6IGFueSB8IFQgfSkgPT4gW2VudHJ5LmtleSwgZW50cnkuYXJ0aWZhY3RdKTtcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIC0tLSBJTlRFUk5BTCBNRVRIT0RTIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmZ1bmN0aW9uIGxvYWRNb2R1bGVBc3NldHM8VCBleHRlbmRzIFJhZG9uUmVxdWVzdCB8IFJhZG9uVGVtcGxhdGUgfCBSYWRvbk1vZGFsIHwgUmFkb25SZXRyaWV2YWw+KG9wdGlvbnM6IHtcblx0ZmxhdHRlbmVkPzogYm9vbGVhbjtcblx0dHlwZT86IHsgbmV3IChzcGVjczogYW55KTogVCB9O1xufSk6IGFueSB7XG5cdGNvbnN0IHN0dWZmID0gcmVxdWlyZShgJHtXSVRORVRfQVNTRVRTX1BBVEh9L2luZGV4LmNqc2ApO1xuXHRyZXR1cm4gb3B0aW9ucz8uZmxhdHRlbmVkID8gZmxhdHRlblJhZG9uQXNzZXRzKHN0dWZmLCBvcHRpb25zPy50eXBlKSA6IHN0dWZmO1xufVxuXG5mdW5jdGlvbiBwYXJzZVNjcmlwdChhcnJheTogYW55LCBzY3JpcHQ/OiBhbnkpOiBhbnkge1xuXHRpZiAoQXJyYXkuaXNBcnJheShhcnJheSkpIHtcblx0XHRhcnJheS5mb3JFYWNoKChpdGVtKSA9PiB7XG5cdFx0XHRpZiAoQXJyYXkuaXNBcnJheShpdGVtKSkge1xuXHRcdFx0XHRzY3JpcHQgPSBwYXJzZVNjcmlwdE9wZXJhdG9yKHNjcmlwdCwgaXRlbVswXSwgLi4uaXRlbS5zbGljZSgxKSk7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRzY3JpcHQgPSBwYXJzZVNjcmlwdE9wZXJhdG9yKHNjcmlwdCwgaXRlbSk7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdFx0cmV0dXJuIHNjcmlwdDtcblx0fSBlbHNlIHtcblx0XHRyZXR1cm4gcGFyc2VTY3JpcHRPcGVyYXRvcihzY3JpcHQsIGFycmF5KTtcblx0fVxufVxuXG5mdW5jdGlvbiBwYXJzZVNjcmlwdE9wZXJhdG9yKHNjcmlwdDogYW55LCBvcGNvZGU6IGFueSwgYXJncz86IGFueSk6IGFueSB7XG5cdGlmICghc2NyaXB0KSB7XG5cdFx0Y29uc3QgZm91bmQgPSBPYmplY3QuZW50cmllcyh7XG5cdFx0XHRcIjEwXCI6IFJhZG9uQXJyYXksXG5cdFx0XHRcIjIwXCI6IFJhZG9uQm9vbGVhbixcblx0XHRcdFwiMzBcIjogUmFkb25CeXRlcyxcblx0XHRcdFwiNDBcIjogUmFkb25JbnRlZ2VyLFxuXHRcdFx0XCI1MFwiOiBSYWRvbkZsb2F0LFxuXHRcdFx0XCI2MFwiOiBSYWRvbk1hcCxcblx0XHRcdFwiNzBcIjogUmFkb25TdHJpbmcsXG5cdFx0fSkuZmluZCgoZW50cnkpID0+IGVudHJ5WzBdID09PSAocGFyc2VJbnQob3Bjb2RlLCAxMCkgJiAweGYwKS50b1N0cmluZygxNikpO1xuXHRcdGlmIChmb3VuZCkge1xuXHRcdFx0c2NyaXB0ID0gbmV3IGZvdW5kWzFdKCk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRocm93IFR5cGVFcnJvcihgdW5rbm93biBSYWRvbiBvcGVyYXRvcjogJHtvcGNvZGV9YCk7XG5cdFx0fVxuXHR9XG5cdGlmIChvcGNvZGUpIHtcblx0XHRsZXQgb3BlcmF0b3IgPSBSYWRvbk9wZXJhdG9yc1tvcGNvZGVdXG5cdFx0XHQuc3BsaXQoLyg/PVtBLVpdKS8pXG5cdFx0XHQuc2xpY2UoMSlcblx0XHRcdC5qb2luKFwiXCIpO1xuXHRcdG9wZXJhdG9yID0gb3BlcmF0b3IuY2hhckF0KDApLnRvTG93ZXJDYXNlKCkgKyBvcGVyYXRvci5zbGljZSgxKTtcblx0XHRzd2l0Y2ggKG9wZXJhdG9yKSB7XG5cdFx0XHRjYXNlIFwiZmlsdGVyXCI6XG5cdFx0XHRjYXNlIFwibWFwXCI6XG5cdFx0XHRjYXNlIFwic29ydFwiOlxuXHRcdFx0Y2FzZSBcImFsdGVyXCI6IHtcblx0XHRcdFx0Y29uc3QgaW5uZXJTY3JpcHQgPSBwYXJzZVNjcmlwdChhcmdzKTtcblx0XHRcdFx0cmV0dXJuIHNjcmlwdFtvcGVyYXRvcl0oaW5uZXJTY3JpcHQsIC4uLmFyZ3Muc2xpY2UoMSkpO1xuXHRcdFx0fVxuXG5cdFx0XHQvLyBjYXNlIFwiYWx0ZXJcIjpcblx0XHRcdC8vICAgcmV0dXJuIHNjcmlwdFtvcGVyYXRvcl0oYXJnc1swXSwgcGFyc2VTY3JpcHQoYXJnc1sxXSwgLi4uYXJncy5zbGljZSgyKSkpO1xuXG5cdFx0XHRkZWZhdWx0OlxuXHRcdFx0XHRyZXR1cm4gc2NyaXB0W29wZXJhdG9yXShhcmdzKTtcblx0XHR9XG5cdH1cbn1cbiJdfQ==
149
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3JhZG9uL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUN6QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUN4QixPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFFNUIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0FBRS9CLE1BQU0sT0FBTyxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBRS9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRW5GLE9BQU8sRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFckYsT0FBTyxFQUVOLFVBQVUsRUFDVixZQUFZLEVBQ1osVUFBVSxFQUNWLFVBQVUsRUFDVixZQUFZLEVBQ1osUUFBUSxFQUNSLGNBQWMsRUFDZCxXQUFXLEdBQ1gsTUFBTSxZQUFZLENBQUM7QUFFcEIsTUFBTSxTQUFTLEdBQUcsZUFBZSxFQUFFLENBQUM7QUFDcEMsTUFBTSxrQkFBa0IsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLDRCQUE0QixJQUFJLEdBQUcsU0FBUyxnQkFBZ0IsQ0FBQztBQUVwRyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUV6RDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLGdCQUFnQixDQUFDLFFBQWE7SUFDN0MsSUFBSSxNQUFNLENBQUM7SUFDWCxJQUFJLFdBQVcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1FBQzNCLE1BQU0s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QUFLLEVBQUUsQ0FBQztZQUNYLE1BQU0sR0FBRyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3pCLENBQUM7YUFBTSxDQUFDO1lBQ1AsTUFBTSxTQUFTLENBQUMsMkJBQTJCLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDdEQsQ0FBQztJQUNGLENBQUM7SUFDRCxJQUFJLE1BQU0sRUFBRSxDQUFDO1FBQ1osSUFBSSxRQUFRLEdBQUcsY0FBYyxDQUFDLE1BQU0sQ0FBQzthQUNuQyxLQUFLLENBQUMsV0FBVyxDQUFDO2FBQ2xCLEtBQUssQ0FBQyxDQUFDLENBQUM7YUFDUixJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDWCxRQUFRLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2hFLFFBQVEsUUFBUSxFQUFFLENBQUM7WUFDbEIsS0FBSyxRQUFRLENBQUM7WUFDZCxLQUFLLEtBQUssQ0FBQztZQUNYLEtBQUssTUFBTSxDQUFDO1lBQ1osS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDO2dCQUNkLE1BQU0sV0FBVyxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDdEMsT0FBTyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3hELENBQUM7WUFFRCxnQkFBZ0I7WUFDaEIsOEVBQThFO1lBRTlFO2dCQUNDLE9BQU8sTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hDLENBQUM7SUFDRixDQUFDO0FBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBmcyBmcm9tIFwibm9kZTpmc1wiO1xuaW1wb3J0IHsgY3JlYXRlUmVxdWlyZSB9IGZyb20gXCJub2RlOm1vZHVsZVwiO1xuaW1wb3J0IGNib3IgZnJvbSBcImNib3JcIjtcbmltcG9ydCBkb3RlbnYgZnJvbSBcImRvdGVudlwiO1xuXG5kb3RlbnYuY29uZmlnKHsgcXVpZXQ6IHRydWUgfSk7XG5cbmNvbnN0IHJlcXVpcmUgPSBjcmVhdGVSZXF1aXJlKGltcG9ydC5tZXRhLnVybCk7XG5cbmltcG9ydCB7IGZyb21IZXhTdHJpbmcsIGlzSGV4U3RyaW5nLCBzZWFyY2hXb3Jrc3BhY2UgfSBmcm9tIFwiLi4vLi4vYmluL2hlbHBlcnMuanNcIjtcblxuaW1wb3J0IHsgUmFkb25Nb2RhbCwgUmFkb25SZXF1ZXN0LCBSYWRvblJldHJpZXZhbCwgUmFkb25UZW1wbGF0ZSB9IGZyb20gXCIuL2luZGV4LmpzXCI7XG5cbmltcG9ydCB7XG5cdHR5cGUgUmFkb25BbnksXG5cdFJhZG9uQXJyYXksXG5cdFJhZG9uQm9vbGVhbixcblx0UmFkb25CeXRlcyxcblx0UmFkb25GbG9hdCxcblx0UmFkb25JbnRlZ2VyLFxuXHRSYWRvbk1hcCxcblx0UmFkb25PcGVyYXRvcnMsXG5cdFJhZG9uU3RyaW5nLFxufSBmcm9tIFwiLi90eXBlcy5qc1wiO1xuXG5jb25zdCBfX2Rpcm5hbWUgPSBzZWFyY2hXb3Jrc3BhY2UoKTtcbmNvbnN0IFdJVE5FVF9BU1NFVFNfUEFUSCA9IHByb2Nlc3MuZW52LldJVE5FVF9TREtfUkFET05fQVNTRVRTX1BBVEggfHwgYCR7X19kaXJuYW1lfS93aXRuZXQvYXNzZXRzYDtcblxuZXhwb3J0IHsgZXhlY1JhZG9uQnl0ZWNvZGUgfSBmcm9tIFwiLi4vLi4vYmluL2hlbHBlcnMuanNcIjtcblxuLyoqXG4gKiBEZWNvZGVzIGEgUmFkb24gc2NyaXB0IG91dCBmcm9tIGEgUHJvdG9idWYtc2VyaWFsaXplZCBieXRlY29kZS5cbiAqIEBwYXJhbSBoZXhTdHJpbmcgUmFkb24gc2NyaXB0IGJ5dGVjb2RlLlxuICogQHJldHVybnMgUmFkb24gc2NyaXB0IG9iamVjdCAoaS5lLiBjaGFpbiBvZiBSYWRvbiBvcGVyYXRvcnMgd2l0aCBhIGRldGVybWluaXN0aWMgb3V0cHV0IFJhZG9uIHR5cGUpLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VSYWRvblNjcmlwdChieXRlY29kZTogYW55KTogUmFkb25Bbnkge1xuXHRsZXQgYnVmZmVyO1xuXHRpZiAoaXNIZXhTdHJpbmcoYnl0ZWNvZGUpKSB7XG5cdFx0YnVmZmVyID0gZnJvbUhleFN0cmluZyhieXRlY29kZSk7XG5cdH0gZWxzZSBpZiAoYnl0ZWNvZGUgaW5zdGFuY2VvZiBVaW50OEFycmF5KSB7XG5cdFx0YnVmZmVyID0gQnVmZmVyLmZyb20oYnl0ZWNvZGUpO1xuXHR9IGVsc2UgaWYgKGJ5dGVjb2RlIGluc3RhbmNlb2YgQnVmZmVyKSB7XG5cdFx0YnVmZmVyID0gYnl0ZWNvZGU7XG5cdH0gZWxzZSB7XG5cdFx0dGhyb3cgbmV3IFR5cGVFcnJvcihgVW5zdXBwb3J0ZWQgUmFkb25TY3JpcHQgYnl0ZWNvZGUgZm9ybWF0OiAke2J5dGVjb2RlfWApO1xuXHR9XG5cdGNvbnN0IGFycmF5ID0gY2Jvci5kZWNvZGUoYnVmZmVyKTtcblx0cmV0dXJuIHBhcnNlU2NyaXB0KGFycmF5KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZsYXR0ZW5SYWRvbkFzc2V0czxUIGV4dGVuZHMgUmFkb25SZXF1ZXN0IHwgUmFkb25UZW1wbGF0ZSB8IFJhZG9uTW9kYWwgfCBSYWRvblJldHJpZXZhbD4oXG5cdHRyZWU6IGFueSxcblx0dHlwZT86IHsgbmV3IChzcGVjczogYW55KTogVCB9LFxuXHRoZWFkZXJzPzogc3RyaW5nW10sXG4pOiBBcnJheTx7IGtleTogc3RyaW5nOyBhcnRpZmFjdDogYW55IH0+IHtcblx0aWYgKCFoZWFkZXJzKSBoZWFkZXJzID0gW107XG5cdGNvbnN0IGVudHJpZXM6IEFycmF5PHsga2V5OiBzdHJpbmc7IGFydGlmYWN0OiBhbnkgfT4gPSBbXTtcblx0Zm9yIChjb25zdCBrZXkgaW4gdHJlZSkge1xuXHRcdGlmIChcblx0XHRcdCh0eXBlICYmIHRyZWVba2V5XSBpbnN0YW5jZW9mIHR5cGUpIHx8XG5cdFx0XHQoIXR5cGUgJiZcblx0XHRcdFx0KHRyZWVba2V5XSBpbnN0YW5jZW9mIFJhZG9uUmVxdWVzdCB8fFxuXHRcdFx0XHRcdHRyZWVba2V5XSBpbnN0YW5jZW9mIFJhZG9uVGVtcGxhdGUgfHxcblx0XHRcdFx0XHR0cmVlW2tleV0gaW5zdGFuY2VvZiBSYWRvbk1vZGFsIHx8XG5cdFx0XHRcdFx0dHJlZVtrZXldIGluc3RhbmNlb2YgUmFkb25SZXRyaWV2YWwpKVxuXHRcdCkge1xuXHRcdFx0ZW50cmllcy5wdXNoKHtcblx0XHRcdFx0a2V5LFxuXHRcdFx0XHRhcnRpZmFjdDogdHJlZVtrZXldLFxuXHRcdFx0fSk7XG5cdFx0fSBlbHNlIGlmICh0eXBlb2YgdHJlZVtrZXldID09PSBcIm9iamVjdFwiKSB7XG5cdFx0XHRlbnRyaWVzLnB1c2goLi4uZmxhdHRlblJhZG9uQXNzZXRzKHRyZWVba2V5XSwgdHlwZSwgWy4uLmhlYWRlcnMsIGtleV0pKTtcblx0XHR9XG5cdH1cblx0cmV0dXJuIGVudHJpZXM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZXF1aXJlUmFkb25Bc3NldDxUIGV4dGVuZHMgUmFkb25SZXF1ZXN0IHwgUmFkb25UZW1wbGF0ZSB8IFJhZG9uTW9kYWwgfCBSYWRvblJldHJpZXZhbD4oc3BlY3M6IHtcblx0YXJ0aWZhY3Q6IHN0cmluZztcblx0YXNzZXRzPzogYW55O1xuXHR0eXBlPzogeyBuZXcgKF9zcGVjczogYW55KTogVCB9O1xufSk6IFQge1xuXHRjb25zdCBzdHVmZiA9IHNwZWNzPy5hc3NldHNcblx0XHQ/IGZsYXR0ZW5SYWRvbkFzc2V0cyhzcGVjcy5hc3NldHMsIHNwZWNzPy50eXBlKVxuXHRcdDogbG9hZE1vZHVsZUFzc2V0cyh7IGZsYXR0ZW5lZDogdHJ1ZSwgdHlwZTogc3BlY3M/LnR5cGUgfSk7XG5cdGNvbnN0IGZvdW5kID0gc3R1ZmYuZmluZCgoZW50cnk6IHsga2V5OiBzdHJpbmc7IGFydGlmYWN0OiBhbnkgfSkgPT4gZW50cnkua2V5ID09PSBzcGVjcy5hcnRpZmFjdCk7XG5cdGlmIChmb3VuZD8uYXJ0aWZhY3QpIHtcblx0XHRyZXR1cm4gZm91bmQuYXJ0aWZhY3Q7XG5cdH0gZWxzZSB7XG5cdFx0dGhyb3cgRXJyb3IoYFJhZG9uIGFzc2V0IFwiJHtzcGVjcy5hcnRpZmFjdH1cIiBub3QgYXZhaWxhYmxlLmApO1xuXHR9XG59XG5cbi8qKlxuICogU2VhcmNoIFdpdG5ldCBSYWRvbiBhc3NldHMgZGVjbGFyZWQgb3IgaW1wb3J0ZWQgd2l0aGluIGN1cnJlbnQgcmVwb3NpdG9yeSxcbiAqIHdob3NlIG5hbWVzIGNvbXBsaWVzIHdpdGggdGhlIHByb3ZpZGVkIGBwYXR0ZXJuYCBhbmQgYGZpbHRlckZuYC5cbiAqIElmIG5vIGBmaWx0ZXJGbmAgaXMgc3BlY2lmaWVkLCBzZWFyY2ggd2lsbCBpbmNsdWRlIGFzc2V0cyB3aG9zZSBuYW1lc1xuICogYXJlIHN1ZmZpeGVkIGJ5IGdpdmVuIGBwYXR0ZXJuYCAoY2FzZSBpbnNlbnNpdGl2ZSkuXG4gKiBAcGFyYW0gb3B0aW9ucyBTZWFyY2ggb3B0aW9uc1xuICogQHBhcmFtIGZpbHRlckZuIEZpbHRlcmluZyBmdW5jdGlvbi5cbiAqIEByZXR1cm5zIEFuIGFycmF5IG9mIFJhZG9uIGFzc2V0cyBvZiB0aGUgc3BlY2lmaWVkIGtpbmQgY29tcGx5aW5nIHdpdGggdGhlIHNlYXJjaCBwYXR0ZXJuLlxuICovXG5leHBvcnQgZnVuY3Rpb24gc2VhcmNoUmFkb25Bc3NldHM8VCBleHRlbmRzIFJhZG9uUmVxdWVzdCB8IFJhZG9uVGVtcGxhdGUgfCBSYWRvbk1vZGFsIHwgUmFkb25SZXRyaWV2YWw+KFxuXHRvcHRpb25zOiB7XG5cdFx0LyoqXG5cdFx0ICogT2JqZWN0IGNvbnRhaW5pbmcgc3RydWN0dXJlZCBoZXJpYXJjaHkgb2YgUmFkb24gYXNzZXRzLiBJZiBub3QgcHJvdmlkZWQsIFJhZG9uIGFzc2V0cyBkZWNsYXJlZCB3aXRoaW4gcHJvamVjdCdzIGVudmlyb25tZW50LlxuXHRcdCAqL1xuXHRcdGFzc2V0cz86IGFueTtcblx0XHQvKipcblx0XHQgKiBMaW1pdHMgbnVtYmVyIG9mIHJldHVybmVkIFJhZG9uIGFzc2V0cy5cblx0XHQgKi9cblx0XHRsaW1pdD86IG51bWJlcjtcblx0XHQvKipcblx0XHQgKiBPZmZzZXRzIHJldHVybmVkIGFycmF5IG9mIFJhZG9uIGFzc2V0cy5cblx0XHQgKi9cblx0XHRvZmZzZXQ/OiBudW1iZXI7XG5cdFx0LyoqXG5cdFx0ICogTmFtZSBwYXR0ZXJuIHNlYXJjaGVkIGZvci5cblx0XHQgKi9cblx0XHRwYXR0ZXJuOiBzdHJpbmc7XG5cdFx0LyoqXG5cdFx0ICogU3BlY2lmaWMgdHlwZSBvZiBSYWRvbiBhc3NldCB0byBzZWFyY2ggZm9yOiBgUmFkb25SZXF1ZXN0YCwgYFJhZG9uUmVxdWVzdGAsIGBSYWRvblJldHJpZXZhbGAgb3IgYFJhZG9uQ0NEUmAuXG5cdFx0ICovXG5cdFx0dHlwZT86IHsgbmV3IChzcGVjczogYW55KTogVCB9O1xuXHR9LFxuXHRmaWx0ZXJGbj86IChrZXk6IHN0cmluZywgcGF0dGVybjogc3RyaW5nKSA9PiBib29sZWFuLFxuKTogQXJyYXk8W2tleTogc3RyaW5nLCBhcnRpZmFjdDogVF0+IHtcblx0Y29uc3QgZGVmYXVsdEZpbHRlciA9IChrZXk6IHN0cmluZywgcGF0dGVybjogc3RyaW5nKSA9PiBrZXkudG9Mb3dlckNhc2UoKS5lbmRzV2l0aChwYXR0ZXJuLnRvTG93ZXJDYXNlKCkpO1xuXHRjb25zdCBzdHVmZiA9IG9wdGlvbnM/LmFzc2V0c1xuXHRcdD8gZmxhdHRlblJhZG9uQXNzZXRzKG9wdGlvbnMuYXNzZXRzLCBvcHRpb25zPy50eXBlKVxuXHRcdDogbG9hZE1vZHVsZUFzc2V0cyh7IGZsYXR0ZW5lZDogdHJ1ZSwgdHlwZTogb3B0aW9ucz8udHlwZSB9KTtcblx0cmV0dXJuIHN0dWZmXG5cdFx0LmZpbHRlcigoZW50cnk6IHsga2V5OiBzdHJpbmc7IGFydGlmYWN0OiBhbnkgfSkgPT4gKGZpbHRlckZuIHx8IGRlZmF1bHRGaWx0ZXIpKGVudHJ5LmtleSwgb3B0aW9ucy5wYXR0ZXJuIHx8IFwiXCIpKVxuXHRcdC5zbGljZShvcHRpb25zPy5vZmZzZXQgfHwgMCwgb3B0aW9ucz8ubGltaXQpXG5cdFx0Lm1hcCgoZW50cnk6IHsga2V5OiBzdHJpbmc7IGFydGlmYWN0OiBhbnkgfCBUIH0pID0+IFtlbnRyeS5rZXksIGVudHJ5LmFydGlmYWN0XSk7XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAtLS0gSU5URVJOQUwgTUVUSE9EUyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5mdW5jdGlvbiBsb2FkTW9kdWxlQXNzZXRzPFQgZXh0ZW5kcyBSYWRvblJlcXVlc3QgfCBSYWRvblRlbXBsYXRlIHwgUmFkb25Nb2RhbCB8IFJhZG9uUmV0cmlldmFsPihvcHRpb25zOiB7XG5cdGZsYXR0ZW5lZD86IGJvb2xlYW47XG5cdHR5cGU/OiB7IG5ldyAoc3BlY3M6IGFueSk6IFQgfTtcbn0pOiBhbnkge1xuXHRjb25zdCBzdHVmZiA9IGZzLmV4aXN0c1N5bmMoYCR7V0lUTkVUX0FTU0VUU19QQVRIfS9pbmRleC5janNgKSA/IHJlcXVpcmUoYCR7V0lUTkVUX0FTU0VUU19QQVRIfS9pbmRleC5janNgKSA6IHt9O1xuXHRyZXR1cm4gb3B0aW9ucz8uZmxhdHRlbmVkID8gZmxhdHRlblJhZG9uQXNzZXRzKHN0dWZmLCBvcHRpb25zPy50eXBlKSA6IHN0dWZmO1xufVxuXG5mdW5jdGlvbiBwYXJzZVNjcmlwdChhcnJheTogYW55LCBzY3JpcHQ/OiBhbnkpOiBhbnkge1xuXHRpZiAoQXJyYXkuaXNBcnJheShhcnJheSkpIHtcblx0XHRhcnJheS5mb3JFYWNoKChpdGVtKSA9PiB7XG5cdFx0XHRpZiAoQXJyYXkuaXNBcnJheShpdGVtKSkge1xuXHRcdFx0XHRzY3JpcHQgPSBwYXJzZVNjcmlwdE9wZXJhdG9yKHNjcmlwdCwgaXRlbVswXSwgLi4uaXRlbS5zbGljZSgxKSk7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRzY3JpcHQgPSBwYXJzZVNjcmlwdE9wZXJhdG9yKHNjcmlwdCwgaXRlbSk7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdFx0cmV0dXJuIHNjcmlwdDtcblx0fSBlbHNlIHtcblx0XHRyZXR1cm4gcGFyc2VTY3JpcHRPcGVyYXRvcihzY3JpcHQsIGFycmF5KTtcblx0fVxufVxuXG5mdW5jdGlvbiBwYXJzZVNjcmlwdE9wZXJhdG9yKHNjcmlwdDogYW55LCBvcGNvZGU6IGFueSwgYXJncz86IGFueSk6IGFueSB7XG5cdGlmICghc2NyaXB0KSB7XG5cdFx0Y29uc3QgZm91bmQgPSBPYmplY3QuZW50cmllcyh7XG5cdFx0XHRcIjEwXCI6IFJhZG9uQXJyYXksXG5cdFx0XHRcIjIwXCI6IFJhZG9uQm9vbGVhbixcblx0XHRcdFwiMzBcIjogUmFkb25CeXRlcyxcblx0XHRcdFwiNDBcIjogUmFkb25JbnRlZ2VyLFxuXHRcdFx0XCI1MFwiOiBSYWRvbkZsb2F0LFxuXHRcdFx0XCI2MFwiOiBSYWRvbk1hcCxcblx0XHRcdFwiNzBcIjogUmFkb25TdHJpbmcsXG5cdFx0fSkuZmluZCgoZW50cnkpID0+IGVudHJ5WzBdID09PSAocGFyc2VJbnQob3Bjb2RlLCAxMCkgJiAweGYwKS50b1N0cmluZygxNikpO1xuXHRcdGlmIChmb3VuZCkge1xuXHRcdFx0c2NyaXB0ID0gbmV3IGZvdW5kWzFdKCk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRocm93IFR5cGVFcnJvcihgdW5rbm93biBSYWRvbiBvcGVyYXRvcjogJHtvcGNvZGV9YCk7XG5cdFx0fVxuXHR9XG5cdGlmIChvcGNvZGUpIHtcblx0XHRsZXQgb3BlcmF0b3IgPSBSYWRvbk9wZXJhdG9yc1tvcGNvZGVdXG5cdFx0XHQuc3BsaXQoLyg/PVtBLVpdKS8pXG5cdFx0XHQuc2xpY2UoMSlcblx0XHRcdC5qb2luKFwiXCIpO1xuXHRcdG9wZXJhdG9yID0gb3BlcmF0b3IuY2hhckF0KDApLnRvTG93ZXJDYXNlKCkgKyBvcGVyYXRvci5zbGljZSgxKTtcblx0XHRzd2l0Y2ggKG9wZXJhdG9yKSB7XG5cdFx0XHRjYXNlIFwiZmlsdGVyXCI6XG5cdFx0XHRjYXNlIFwibWFwXCI6XG5cdFx0XHRjYXNlIFwic29ydFwiOlxuXHRcdFx0Y2FzZSBcImFsdGVyXCI6IHtcblx0XHRcdFx0Y29uc3QgaW5uZXJTY3JpcHQgPSBwYXJzZVNjcmlwdChhcmdzKTtcblx0XHRcdFx0cmV0dXJuIHNjcmlwdFtvcGVyYXRvcl0oaW5uZXJTY3JpcHQsIC4uLmFyZ3Muc2xpY2UoMSkpO1xuXHRcdFx0fVxuXG5cdFx0XHQvLyBjYXNlIFwiYWx0ZXJcIjpcblx0XHRcdC8vICAgcmV0dXJuIHNjcmlwdFtvcGVyYXRvcl0oYXJnc1swXSwgcGFyc2VTY3JpcHQoYXJnc1sxXSwgLi4uYXJncy5zbGljZSgyKSkpO1xuXG5cdFx0XHRkZWZhdWx0OlxuXHRcdFx0XHRyZXR1cm4gc2NyaXB0W29wZXJhdG9yXShhcmdzKTtcblx0XHR9XG5cdH1cbn1cbiJdfQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@witnet/sdk",
3
- "version": "3.0.0",
3
+ "version": "3.0.3",
4
4
  "description": "Typescript library and CLI tooling for Web3 buidlers willing to interact with the Witnet blockchain.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -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: 100).", param: "LIMIT" },
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) : undefined,
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 (dataType !== "RadonError")
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.constructor.name === "Buffer") result = result.toString("base64");
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
  }),