@bitgo/utxo-bin 2.0.1 → 2.1.0-hotfix.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/bin/index.js CHANGED
File without changes
@@ -1 +1 @@
1
- {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/commands.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAQ/B,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAU7C,aAAK,IAAI,GAAG;IACV,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,OAAO,CAAC;IACb,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;CACtB,GAAG,UAAU,CAAC;AAEf,wBAAgB,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,MAAM,CAE7D;AAED,eAAO,MAAM,QAAQ;;;eAIR,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC;kBAkB7B,MAAM,SAAS,CAAC,IAAI,CAAC,GAAG,QAAQ,IAAI,CAAC;CA0D1D,CAAC"}
1
+ {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/commands.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAQ/B,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAU7C,aAAK,IAAI,GAAG;IACV,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,OAAO,CAAC;IACb,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;CACtB,GAAG,UAAU,CAAC;AAEf,wBAAgB,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,MAAM,CAE7D;AAED,eAAO,MAAM,QAAQ;;;eAIR,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC;kBAmB7B,MAAM,SAAS,CAAC,IAAI,CAAC,GAAG,QAAQ,IAAI,CAAC;CA0D1D,CAAC"}
@@ -28,6 +28,7 @@ exports.cmdParse = {
28
28
  .option('parseScriptAsm', { alias: 'scriptasm', type: 'boolean', default: false })
29
29
  .option('parseScriptData', { alias: 'scriptdata', type: 'boolean', default: false })
30
30
  .option('parseSignatureData', { alias: 'sigdata', type: 'boolean', default: false })
31
+ .option('parseOutputScript', { type: 'boolean', default: false })
31
32
  .option('maxOutputs', { type: 'number' })
32
33
  .option('all', { type: 'boolean', default: false })
33
34
  .option('format', { choices: ['tree', 'json'], default: 'tree' });
@@ -85,4 +86,4 @@ exports.cmdParse = {
85
86
  }
86
87
  },
87
88
  };
88
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tbWFuZHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEseUJBQXlCO0FBQ3pCLG1DQUFtQztBQUVuQyxNQUFNLEtBQUssR0FBUSxPQUFPLENBQUMsS0FBSyxDQUFDO0FBRWpDLDJDQUEyQztBQUUzQyxtQ0FBNkM7QUFDN0MscUNBQXNDO0FBQ3RDLG1DQU1pQjtBQWVqQixTQUFnQixTQUFTLENBQUMsSUFBMkI7SUFDbkQsT0FBTyxJQUFJLGNBQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxjQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUN4RCxDQUFDO0FBRkQsOEJBRUM7QUFFWSxRQUFBLFFBQVEsR0FBRztJQUN0QixPQUFPLEVBQUUsY0FBYztJQUN2QixRQUFRLEVBQUUsdURBQXVEO0lBRWpFLE9BQU8sQ0FBQyxDQUFzQjtRQUM1QixPQUFPLENBQUM7YUFDTCxNQUFNLENBQUMsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsQ0FBQzthQUN6RCxNQUFNLENBQUMsT0FBTyxFQUFFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUM7YUFDcEQsTUFBTSxDQUFDLE1BQU0sRUFBRSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQzthQUNsQyxNQUFNLENBQUMsVUFBVSxFQUFFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUM7YUFDdkQsTUFBTSxDQUFDLGFBQWEsRUFBRSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDO2FBQzFELE1BQU0sQ0FBQyxhQUFhLEVBQUUsRUFBRSxJQUFJLEVB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T0FBTyxDQUFDLEdBQUcsQ0FBQyxtQkFBVSxDQUFDLE1BQU0sRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDckUsTUFBTTtTQUNUO0lBQ0gsQ0FBQztDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby1jb25zb2xlICovXG5pbXBvcnQgKiBhcyB5YXJncyBmcm9tICd5YXJncyc7XG5pbXBvcnQgKiBhcyBmcyBmcm9tICdmcyc7XG5pbXBvcnQgKiBhcyBwcm9jZXNzIGZyb20gJ3Byb2Nlc3MnO1xuXG5jb25zdCBzdGRpbjogYW55ID0gcHJvY2Vzcy5zdGRpbjtcblxuaW1wb3J0ICogYXMgdXR4b2xpYiBmcm9tICdAYml0Z28vdXR4by1saWInO1xuXG5pbXBvcnQgeyBQYXJzZXIsIFBhcnNlckFyZ3MgfSBmcm9tICcuL3BhcnNlJztcbmltcG9ydCB7IGZvcm1hdFRyZWUgfSBmcm9tICcuL2Zvcm1hdCc7XG5pbXBvcnQge1xuICBmZXRjaE91dHB1dFNwZW5kcyxcbiAgZmV0Y2hQcmV2T3V0cHV0cyxcbiAgZmV0Y2hQcmV2T3V0cHV0U3BlbmRzLFxuICBmZXRjaFRyYW5zYWN0aW9uSGV4LFxuICBmZXRjaFRyYW5zYWN0aW9uU3RhdHVzLFxufSBmcm9tICcuL2ZldGNoJztcblxudHlwZSBBcmdzID0ge1xuICBuZXR3b3JrOiBzdHJpbmc7XG4gIHN0ZGluOiBib29sZWFuO1xuICBwYXRoPzogc3RyaW5nO1xuICB0eGlkPzogc3RyaW5nO1xuICBhbGw6IGJvb2xlYW47XG4gIGZvcm1hdDogJ3RyZWUnIHwgJ2pzb24nO1xuICBmZXRjaEFsbDogYm9vbGVhbjtcbiAgZmV0Y2hTdGF0dXM6IGJvb2xlYW47XG4gIGZldGNoSW5wdXRzOiBib29sZWFuO1xuICBmZXRjaFNwZW5kczogYm9vbGVhbjtcbn0gJiBQYXJzZXJBcmdzO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UGFyc2VyKGFyZ3Y6IHlhcmdzLkFyZ3VtZW50czxBcmdzPik6IFBhcnNlciB7XG4gIHJldHVybiBuZXcgUGFyc2VyKGFyZ3YuYWxsID8gUGFyc2VyLlBBUlNFX0FMTCA6IGFyZ3YpO1xufVxuXG5leHBvcnQgY29uc3QgY21kUGFyc2UgPSB7XG4gIGNvbW1hbmQ6ICdwYXJzZSBbcGF0aF0nLFxuICBkZXNjcmliZTogJ2Rpc3BsYXkgdHJhbnNhY3Rpb24gY29tcG9uZW50cyBpbiBodW1hbi1yZWFkYWJsZSBmb3JtJyxcblxuICBidWlsZGVyKGI6IHlhcmdzLkFyZ3Y8dW5rbm93bj4pOiB5YXJncy5Bcmd2PEFyZ3M+IHtcbiAgICByZXR1cm4gYlxuICAgICAgLm9wdGlvbigncGF0aCcsIHsgdHlwZTogJ3N0cmluZycsIG5hcmdzOiAxLCBkZWZhdWx0OiAnJyB9KVxuICAgICAgLm9wdGlvbignc3RkaW4nLCB7IHR5cGU6ICdib29sZWFuJywgZGVmYXVsdDogZmFsc2UgfSlcbiAgICAgIC5vcHRpb24oJ3R4aWQnLCB7IHR5cGU6ICdzdHJpbmcnIH0pXG4gICAgICAub3B0aW9uKCdmZXRjaEFsbCcsIHsgdHlwZTogJ2Jvb2xlYW4nLCBkZWZhdWx0OiBmYWxzZSB9KVxuICAgICAgLm9wdGlvbignZmV0Y2hTdGF0dXMnLCB7IHR5cGU6ICdib29sZWFuJywgZGVmYXVsdDogZmFsc2UgfSlcbiAgICAgIC5vcHRpb24oJ2ZldGNoSW5wdXRzJywgeyB0eXBlOiAnYm9vbGVhbicsIGRlZmF1bHQ6IGZhbHNlIH0pXG4gICAgICAub3B0aW9uKCdmZXRjaFNwZW5kcycsIHsgdHlwZTogJ2Jvb2xlYW4nLCBkZWZhdWx0OiBmYWxzZSB9KVxuICAgICAgLm9wdGlvbignbmV0d29yaycsIHsgYWxpYXM6ICduJywgdHlwZTogJ3N0cmluZycsIGRlbWFuZE9wdGlvbjogdHJ1ZSB9KVxuICAgICAgLm9wdGlvbigncGFyc2VTY3JpcHRBc20nLCB7IGFsaWFzOiAnc2NyaXB0YXNtJywgdHlwZTogJ2Jvb2xlYW4nLCBkZWZhdWx0OiBmYWxzZSB9KVxuICAgICAgLm9wdGlvbigncGFyc2VTY3JpcHREYXRhJywgeyBhbGlhczogJ3NjcmlwdGRhdGEnLCB0eXBlOiAnYm9vbGVhbicsIGRlZmF1bHQ6IGZhbHNlIH0pXG4gICAgICAub3B0aW9uKCdwYXJzZVNpZ25hdHVyZURhdGEnLCB7IGFsaWFzOiAnc2lnZGF0YScsIHR5cGU6ICdib29sZWFuJywgZGVmYXVsdDogZmFsc2UgfSlcbiAgICAgIC5vcHRpb24oJ21heE91dHB1dHMnLCB7IHR5cGU6ICdudW1iZXInIH0pXG4gICAgICAub3B0aW9uKCdhbGwnLCB7IHR5cGU6ICdib29sZWFuJywgZGVmYXVsdDogZmFsc2UgfSlcbiAgICAgIC5vcHRpb24oJ2Zvcm1hdCcsIHsgY2hvaWNlczogWyd0cmVlJywgJ2pzb24nXSwgZGVmYXVsdDogJ3RyZWUnIH0gYXMgY29uc3QpO1xuICB9LFxuXG4gIGFzeW5jIGhhbmRsZXIoYXJndjogeWFyZ3MuQXJndW1lbnRzPEFyZ3M+KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgbmV0d29yayA9IHV0eG9saWIubmV0d29ya3NbYXJndi5uZXR3b3JrIGFzIHV0eG9saWIuTmV0d29ya05hbWVdO1xuICAgIGlmICghbmV0d29yaykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBpbnZhbGlkIG5ldHdvcmsgJHtuZXR3b3JrfWApO1xuICAgIH1cblxuICAgIGxldCBkYXRhO1xuXG4gICAgaWYgKGFyZ3YudHhpZCkge1xuICAgICAgY29uc29sZS5sb2coJ2ZldGNoaW5nIHR4SGV4IHZpYSBibG9ja2FwaS4uLicpO1xuICAgICAgZGF0YSA9IGF3YWl0IGZldGNoVHJhbnNhY3Rpb25IZXgoYXJndi50eGlkLCBuZXR3b3JrKTtcbiAgICB9XG5cbiAgICBpZiAoYXJndi5zdGRpbiB8fCBhcmd2LnBhdGggPT09ICctJykge1xuICAgICAgaWYgKGRhdGEpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBjb25mbGljdGluZyBhcmd1bWVudHNgKTtcbiAgICAgIH1cbiAgICAgIGNvbnNvbGUubG9nKCdyZWFkaW5nIGZyb20gc3RkaW4nKTtcbiAgICAgIGRhdGEgPSBmcy5yZWFkRmlsZVN5bmMoc3RkaW4uZmQsICd1dGY4Jyk7XG4gICAgfSBlbHNlIGlmIChhcmd2LnBhdGgpIHtcbiAgICAgIGlmIChkYXRhKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgY29uZmxpY3RpbmcgYXJndW1lbnRzYCk7XG4gICAgICB9XG4gICAgICBkYXRhID0gKGF3YWl0IGZzLnByb21pc2VzLnJlYWRGaWxlKGFyZ3YucGF0aCwgJ3V0ZjgnKSkudG9TdHJpbmcoKTtcbiAgICB9XG5cbiAgICBpZiAoIWRhdGEpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgbm8gdHhkYXRhYCk7XG4gICAgfVxuICAgIGRhdGEgPSBkYXRhLnJlcGxhY2UoL1xccyovZywgJycpO1xuXG4gICAgY29uc3QgdHggPSB1dHhvbGliLmJpdGdvLmNyZWF0ZVRyYW5zYWN0aW9uRnJvbUhleChkYXRhLCBuZXR3b3JrKTtcbiAgICBjb25zdCB0eGlkID0gdHguZ2V0SWQoKTtcbiAgICBpZiAoYXJndi50eGlkICYmIHR4aWQgIT09IGFyZ3YudHhpZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBjb21wdXRlZCB0eGlkIGRvZXMgbm90IG1hdGNoIHR4aWQgYXJndW1lbnRgKTtcbiAgICB9XG5cbiAgICBpZiAoYXJndi5mZXRjaEFsbCkge1xuICAgICAgYXJndi5mZXRjaFN0YXR1cyA9IHRydWU7XG4gICAgICBhcmd2LmZldGNoSW5wdXRzID0gdHJ1ZTtcbiAgICAgIGFyZ3YuZmV0Y2hTcGVuZHMgPSB0cnVlO1xuICAgIH1cblxuICAgIGNvbnN0IHBhcnNlZCA9IGdldFBhcnNlcihhcmd2KS5wYXJzZSh0eCwge1xuICAgICAgc3RhdHVzOiBhcmd2LmZldGNoU3RhdHVzID8gYXdhaXQgZmV0Y2hUcmFuc2FjdGlvblN0YXR1cyh0eGlkLCBuZXR3b3JrKSA6IHVuZGVmaW5lZCxcbiAgICAgIHByZXZPdXRwdXRzOiBhcmd2LmZldGNoSW5wdXRzID8gYXdhaXQgZmV0Y2hQcmV2T3V0cHV0cyh0eCkgOiB1bmRlZmluZWQsXG4gICAgICBwcmV2T3V0cHV0U3BlbmRzOiBhcmd2LmZldGNoU3BlbmRzID8gYXdhaXQgZmV0Y2hQcmV2T3V0cHV0U3BlbmRzKHR4KSA6IHVuZGVmaW5lZCxcbiAgICAgIG91dHB1dFNwZW5kczogYXJndi5mZXRjaFNwZW5kcyA/IGF3YWl0IGZldGNoT3V0cHV0U3BlbmRzKHR4KSA6IHVuZGVmaW5lZCxcbiAgICB9KTtcbiAgICBzd2l0Y2ggKGFyZ3YuZm9ybWF0KSB7XG4gICAgICBjYXNlICdqc29uJzpcbiAgICAgICAgY29uc29sZS5sb2coSlNPTi5zdHJpbmdpZnkocGFyc2VkLCBudWxsLCAyKSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAndHJlZSc6XG4gICAgICAgIGNvbnNvbGUubG9nKGZvcm1hdFRyZWUocGFyc2VkLCB7IGhpZGU6IGFyZ3YuYWxsID8gW10gOiB1bmRlZmluZWQgfSkpO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH0sXG59O1xuIl19
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tbWFuZHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEseUJBQXlCO0FBQ3pCLG1DQUFtQztBQUVuQyxNQUFNLEtBQUssR0FBUSxPQUFPLENBQUMsS0FBSyxDQUFDO0FBRWpDLDJDQUEyQztBQUUzQyxtQ0FBNkM7QUFDN0MscUNBQXNDO0FBQ3RDLG1DQU1pQjtBQWVqQixTQUFnQixTQUFTLENBQUMsSUFBMkI7SUFDbkQsT0FBTyxJQUFJLGNBQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxjQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUN4RCxDQUFDO0FBRkQsOEJBRUM7QUFFWSxRQUFBLFFBQVEsR0FBRztJQUN0QixPQUFPLEVBQUUsY0FBYztJQUN2QixRQUFRLEVBQUUsdURBQXVEO0lBRWpFLE9BQU8sQ0FBQyxDQUFzQjtRQUM1QixPQUFPLENBQUM7YUFDTCxNQUFNLENBQUMsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsQ0FBQzthQUN6RCxNQUFNLENBQUMsT0FBTyxFQUFFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUM7YUFDcEQsTUFBTSxDQUFDLE1BQU0sRUFBRSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQzthQUNsQyxNQUFNLENBQUMsVUFBVSxFQUFFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUM7YUFDdkQsTUFBTSxDQUFDLGFBQWEsRUFBRSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDO2FBQzFELE1BQU0sQ0FBQyxhQUFhLEVBQUUsRUFBRSxJQUFJLEVB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Q0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQzdDLE1BQU07WUFDUixLQUFLLE1BQU07Z0JBQ1QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxtQkFBVSxDQUFDLE1BQU0sRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDckUsTUFBTTtTQUNUO0lBQ0gsQ0FBQztDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby1jb25zb2xlICovXG5pbXBvcnQgKiBhcyB5YXJncyBmcm9tICd5YXJncyc7XG5pbXBvcnQgKiBhcyBmcyBmcm9tICdmcyc7XG5pbXBvcnQgKiBhcyBwcm9jZXNzIGZyb20gJ3Byb2Nlc3MnO1xuXG5jb25zdCBzdGRpbjogYW55ID0gcHJvY2Vzcy5zdGRpbjtcblxuaW1wb3J0ICogYXMgdXR4b2xpYiBmcm9tICdAYml0Z28vdXR4by1saWInO1xuXG5pbXBvcnQgeyBQYXJzZXIsIFBhcnNlckFyZ3MgfSBmcm9tICcuL3BhcnNlJztcbmltcG9ydCB7IGZvcm1hdFRyZWUgfSBmcm9tICcuL2Zvcm1hdCc7XG5pbXBvcnQge1xuICBmZXRjaE91dHB1dFNwZW5kcyxcbiAgZmV0Y2hQcmV2T3V0cHV0cyxcbiAgZmV0Y2hQcmV2T3V0cHV0U3BlbmRzLFxuICBmZXRjaFRyYW5zYWN0aW9uSGV4LFxuICBmZXRjaFRyYW5zYWN0aW9uU3RhdHVzLFxufSBmcm9tICcuL2ZldGNoJztcblxudHlwZSBBcmdzID0ge1xuICBuZXR3b3JrOiBzdHJpbmc7XG4gIHN0ZGluOiBib29sZWFuO1xuICBwYXRoPzogc3RyaW5nO1xuICB0eGlkPzogc3RyaW5nO1xuICBhbGw6IGJvb2xlYW47XG4gIGZvcm1hdDogJ3RyZWUnIHwgJ2pzb24nO1xuICBmZXRjaEFsbDogYm9vbGVhbjtcbiAgZmV0Y2hTdGF0dXM6IGJvb2xlYW47XG4gIGZldGNoSW5wdXRzOiBib29sZWFuO1xuICBmZXRjaFNwZW5kczogYm9vbGVhbjtcbn0gJiBQYXJzZXJBcmdzO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UGFyc2VyKGFyZ3Y6IHlhcmdzLkFyZ3VtZW50czxBcmdzPik6IFBhcnNlciB7XG4gIHJldHVybiBuZXcgUGFyc2VyKGFyZ3YuYWxsID8gUGFyc2VyLlBBUlNFX0FMTCA6IGFyZ3YpO1xufVxuXG5leHBvcnQgY29uc3QgY21kUGFyc2UgPSB7XG4gIGNvbW1hbmQ6ICdwYXJzZSBbcGF0aF0nLFxuICBkZXNjcmliZTogJ2Rpc3BsYXkgdHJhbnNhY3Rpb24gY29tcG9uZW50cyBpbiBodW1hbi1yZWFkYWJsZSBmb3JtJyxcblxuICBidWlsZGVyKGI6IHlhcmdzLkFyZ3Y8dW5rbm93bj4pOiB5YXJncy5Bcmd2PEFyZ3M+IHtcbiAgICByZXR1cm4gYlxuICAgICAgLm9wdGlvbigncGF0aCcsIHsgdHlwZTogJ3N0cmluZycsIG5hcmdzOiAxLCBkZWZhdWx0OiAnJyB9KVxuICAgICAgLm9wdGlvbignc3RkaW4nLCB7IHR5cGU6ICdib29sZWFuJywgZGVmYXVsdDogZmFsc2UgfSlcbiAgICAgIC5vcHRpb24oJ3R4aWQnLCB7IHR5cGU6ICdzdHJpbmcnIH0pXG4gICAgICAub3B0aW9uKCdmZXRjaEFsbCcsIHsgdHlwZTogJ2Jvb2xlYW4nLCBkZWZhdWx0OiBmYWxzZSB9KVxuICAgICAgLm9wdGlvbignZmV0Y2hTdGF0dXMnLCB7IHR5cGU6ICdib29sZWFuJywgZGVmYXVsdDogZmFsc2UgfSlcbiAgICAgIC5vcHRpb24oJ2ZldGNoSW5wdXRzJywgeyB0eXBlOiAnYm9vbGVhbicsIGRlZmF1bHQ6IGZhbHNlIH0pXG4gICAgICAub3B0aW9uKCdmZXRjaFNwZW5kcycsIHsgdHlwZTogJ2Jvb2xlYW4nLCBkZWZhdWx0OiBmYWxzZSB9KVxuICAgICAgLm9wdGlvbignbmV0d29yaycsIHsgYWxpYXM6ICduJywgdHlwZTogJ3N0cmluZycsIGRlbWFuZE9wdGlvbjogdHJ1ZSB9KVxuICAgICAgLm9wdGlvbigncGFyc2VTY3JpcHRBc20nLCB7IGFsaWFzOiAnc2NyaXB0YXNtJywgdHlwZTogJ2Jvb2xlYW4nLCBkZWZhdWx0OiBmYWxzZSB9KVxuICAgICAgLm9wdGlvbigncGFyc2VTY3JpcHREYXRhJywgeyBhbGlhczogJ3NjcmlwdGRhdGEnLCB0eXBlOiAnYm9vbGVhbicsIGRlZmF1bHQ6IGZhbHNlIH0pXG4gICAgICAub3B0aW9uKCdwYXJzZVNpZ25hdHVyZURhdGEnLCB7IGFsaWFzOiAnc2lnZGF0YScsIHR5cGU6ICdib29sZWFuJywgZGVmYXVsdDogZmFsc2UgfSlcbiAgICAgIC5vcHRpb24oJ3BhcnNlT3V0cHV0U2NyaXB0JywgeyB0eXBlOiAnYm9vbGVhbicsIGRlZmF1bHQ6IGZhbHNlIH0pXG4gICAgICAub3B0aW9uKCdtYXhPdXRwdXRzJywgeyB0eXBlOiAnbnVtYmVyJyB9KVxuICAgICAgLm9wdGlvbignYWxsJywgeyB0eXBlOiAnYm9vbGVhbicsIGRlZmF1bHQ6IGZhbHNlIH0pXG4gICAgICAub3B0aW9uKCdmb3JtYXQnLCB7IGNob2ljZXM6IFsndHJlZScsICdqc29uJ10sIGRlZmF1bHQ6ICd0cmVlJyB9IGFzIGNvbnN0KTtcbiAgfSxcblxuICBhc3luYyBoYW5kbGVyKGFyZ3Y6IHlhcmdzLkFyZ3VtZW50czxBcmdzPik6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IG5ldHdvcmsgPSB1dHhvbGliLm5ldHdvcmtzW2FyZ3YubmV0d29yayBhcyB1dHhvbGliLk5ldHdvcmtOYW1lXTtcbiAgICBpZiAoIW5ldHdvcmspIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgaW52YWxpZCBuZXR3b3JrICR7bmV0d29ya31gKTtcbiAgICB9XG5cbiAgICBsZXQgZGF0YTtcblxuICAgIGlmIChhcmd2LnR4aWQpIHtcbiAgICAgIGNvbnNvbGUubG9nKCdmZXRjaGluZyB0eEhleCB2aWEgYmxvY2thcGkuLi4nKTtcbiAgICAgIGRhdGEgPSBhd2FpdCBmZXRjaFRyYW5zYWN0aW9uSGV4KGFyZ3YudHhpZCwgbmV0d29yayk7XG4gICAgfVxuXG4gICAgaWYgKGFyZ3Yuc3RkaW4gfHwgYXJndi5wYXRoID09PSAnLScpIHtcbiAgICAgIGlmIChkYXRhKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgY29uZmxpY3RpbmcgYXJndW1lbnRzYCk7XG4gICAgICB9XG4gICAgICBjb25zb2xlLmxvZygncmVhZGluZyBmcm9tIHN0ZGluJyk7XG4gICAgICBkYXRhID0gZnMucmVhZEZpbGVTeW5jKHN0ZGluLmZkLCAndXRmOCcpO1xuICAgIH0gZWxzZSBpZiAoYXJndi5wYXRoKSB7XG4gICAgICBpZiAoZGF0YSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYGNvbmZsaWN0aW5nIGFyZ3VtZW50c2ApO1xuICAgICAgfVxuICAgICAgZGF0YSA9IChhd2FpdCBmcy5wcm9taXNlcy5yZWFkRmlsZShhcmd2LnBhdGgsICd1dGY4JykpLnRvU3RyaW5nKCk7XG4gICAgfVxuXG4gICAgaWYgKCFkYXRhKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYG5vIHR4ZGF0YWApO1xuICAgIH1cbiAgICBkYXRhID0gZGF0YS5yZXBsYWNlKC9cXHMqL2csICcnKTtcblxuICAgIGNvbnN0IHR4ID0gdXR4b2xpYi5iaXRnby5jcmVhdGVUcmFuc2FjdGlvbkZyb21IZXgoZGF0YSwgbmV0d29yayk7XG4gICAgY29uc3QgdHhpZCA9IHR4LmdldElkKCk7XG4gICAgaWYgKGFyZ3YudHhpZCAmJiB0eGlkICE9PSBhcmd2LnR4aWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgY29tcHV0ZWQgdHhpZCBkb2VzIG5vdCBtYXRjaCB0eGlkIGFyZ3VtZW50YCk7XG4gICAgfVxuXG4gICAgaWYgKGFyZ3YuZmV0Y2hBbGwpIHtcbiAgICAgIGFyZ3YuZmV0Y2hTdGF0dXMgPSB0cnVlO1xuICAgICAgYXJndi5mZXRjaElucHV0cyA9IHRydWU7XG4gICAgICBhcmd2LmZldGNoU3BlbmRzID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBjb25zdCBwYXJzZWQgPSBnZXRQYXJzZXIoYXJndikucGFyc2UodHgsIHtcbiAgICAgIHN0YXR1czogYXJndi5mZXRjaFN0YXR1cyA/IGF3YWl0IGZldGNoVHJhbnNhY3Rpb25TdGF0dXModHhpZCwgbmV0d29yaykgOiB1bmRlZmluZWQsXG4gICAgICBwcmV2T3V0cHV0czogYXJndi5mZXRjaElucHV0cyA/IGF3YWl0IGZldGNoUHJldk91dHB1dHModHgpIDogdW5kZWZpbmVkLFxuICAgICAgcHJldk91dHB1dFNwZW5kczogYXJndi5mZXRjaFNwZW5kcyA/IGF3YWl0IGZldGNoUHJldk91dHB1dFNwZW5kcyh0eCkgOiB1bmRlZmluZWQsXG4gICAgICBvdXRwdXRTcGVuZHM6IGFyZ3YuZmV0Y2hTcGVuZHMgPyBhd2FpdCBmZXRjaE91dHB1dFNwZW5kcyh0eCkgOiB1bmRlZmluZWQsXG4gICAgfSk7XG4gICAgc3dpdGNoIChhcmd2LmZvcm1hdCkge1xuICAgICAgY2FzZSAnanNvbic6XG4gICAgICAgIGNvbnNvbGUubG9nKEpTT04uc3RyaW5naWZ5KHBhcnNlZCwgbnVsbCwgMikpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3RyZWUnOlxuICAgICAgICBjb25zb2xlLmxvZyhmb3JtYXRUcmVlKHBhcnNlZCwgeyBoaWRlOiBhcmd2LmFsbCA/IFtdIDogdW5kZWZpbmVkIH0pKTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9LFxufTtcbiJdfQ==
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.formatTree = void 0;
4
4
  const chalk_1 = require("chalk");
5
5
  const archy = require("archy");
6
- const hideDefault = ['pubkeys', 'sequence', 'locktime', 'script', 'witness'];
6
+ const hideDefault = ['pubkeys', 'sequence', 'locktime', 'scriptSig', 'witness'];
7
7
  function formatTree(n, { hide = hideDefault, chalk = new chalk_1.Instance() } = {}) {
8
8
  function getLabel(label, v) {
9
9
  const arr = [chalk.bold(label)];
@@ -28,7 +28,7 @@ function formatTree(n, { hide = hideDefault, chalk = new chalk_1.Instance() } =
28
28
  return v.length === 0 ? '[]' : v.toString('hex');
29
29
  }
30
30
  }
31
- throw new Error(`could not get lavel from value`);
31
+ throw new Error(`could not get label from value`);
32
32
  }
33
33
  function toArchy(n) {
34
34
  return {
@@ -39,4 +39,4 @@ function formatTree(n, { hide = hideDefault, chalk = new chalk_1.Instance() } =
39
39
  return archy(toArchy(n));
40
40
  }
41
41
  exports.formatTree = formatTree;
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Zvcm1hdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxpQ0FBd0M7QUFDeEMsK0JBQStCO0FBRy9CLE1BQU0sV0FBVyxHQUFHLENBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0FBRTdFLFNBQWdCLFVBQVUsQ0FDeEIsQ0FBUyxFQUNULEVBQUUsSUFBSSxHQUFHLFdBQVcsRUFBRSxLQUFLLEdBQUcsSUFBSSxnQkFBUSxFQUFFLEtBQXlDLEVBQUU7SUFFdkYsU0FBUyxRQUFRLENBQUMsS0FBc0IsRUFBRSxDQUFXO1FBQ25ELE1BQU0sR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxLQUFLLFNBQVMsRUFBRTtZQUNuQixHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3JCO1FBQ0QsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxTQUFTLGlCQUFpQixDQUFDLENBQWM7UUFDdkMsUUFBUSxPQUFPLENBQUMsRUFBRTtZQUNoQixLQUFLLFdBQVc7Z0JBQ2QsT0FBTyxTQUFTLENBQUM7WUFDbkIsS0FBSyxTQUFTLENBQUM7WUFDZixLQUFLLFFBQVEsQ0FBQztZQUNkLEtBQUssUUFBUTtnQkFDWCxPQUFPLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNuQixLQUFLLFFBQVE7Z0JBQ1gsSUFBSSxDQUFDLEtBQUssSUFBSSxFQUFFO29CQUNkLE9BQU8sTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO2lCQUNsQjtnQkFDRCxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUU7b0JBQ3RCLE9BQU8sQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztpQkFDbEQ7U0FDSjtRQUNELE1BQU0sSUFBSSxLQUFLLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsU0FBUyxPQUFPLENBQUMsQ0FBUztRQUN4QixPQUFPO1lBQ0wsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNwRCxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVM7U0FDbEcsQ0FBQztJQUNKLENBQUM7SUFFRCxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMzQixDQUFDO0FBdkNELGdDQXVDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYWxrLCBJbnN0YW5jZSB9IGZyb20gJ2NoYWxrJztcbmltcG9ydCAqIGFzIGFyY2h5IGZyb20gJ2FyY2h5JztcbmltcG9ydCB7IFR4Tm9kZSwgVHhOb2RlVmFsdWUgfSBmcm9tICcuL3BhcnNlJztcblxuY29uc3QgaGlkZURlZmF1bHQgPSBbJ3B1YmtleXMnLCAnc2VxdWVuY2UnLCAnbG9ja3RpbWUnLCAnc2NyaXB0JywgJ3dpdG5lc3MnXTtcblxuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdFRyZWUoXG4gIG46IFR4Tm9kZSxcbiAgeyBoaWRlID0gaGlkZURlZmF1bHQsIGNoYWxrID0gbmV3IEluc3RhbmNlKCkgfTogeyBoaWRlPzogc3RyaW5nW107IGNoYWxrPzogQ2hhbGsgfSA9IHt9XG4pOiBzdHJpbmcge1xuICBmdW5jdGlvbiBnZXRMYWJlbChsYWJlbDogc3RyaW5nIHwgbnVtYmVyLCB2PzogdW5rbm93bik6IHN0cmluZyB7XG4gICAgY29uc3QgYXJyID0gW2NoYWxrLmJvbGQobGFiZWwpXTtcbiAgICBpZiAodiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBhcnIucHVzaChTdHJpbmcodikpO1xuICAgIH1cbiAgICByZXR1cm4gYXJyLmpvaW4oJzogJyk7XG4gIH1cblxuICBmdW5jdGlvbiBnZXRMYWJlbEZyb21WYWx1ZSh2OiBUeE5vZGVWYWx1ZSk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgc3dpdGNoICh0eXBlb2Ygdikge1xuICAgICAgY2FzZSAndW5kZWZpbmVkJzpcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgIGNhc2UgJ2Jvb2xlYW4nOlxuICAgICAgY2FzZSAnbnVtYmVyJzpcbiAgICAgIGNhc2UgJ3N0cmluZyc6XG4gICAgICAgIHJldHVybiBTdHJpbmcodik7XG4gICAgICBjYXNlICdvYmplY3QnOlxuICAgICAgICBpZiAodiA9PT0gbnVsbCkge1xuICAgICAgICAgIHJldHVybiBTdHJpbmcodik7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKEJ1ZmZlci5pc0J1ZmZlcih2KSkge1xuICAgICAgICAgIHJldHVybiB2Lmxlbmd0aCA9PT0gMCA/ICdbXScgOiB2LnRvU3RyaW5nKCdoZXgnKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICB0aHJvdyBuZXcgRXJyb3IoYGNvdWxkIG5vdCBnZXQgbGF2ZWwgZnJvbSB2YWx1ZWApO1xuICB9XG5cbiAgZnVuY3Rpb24gdG9BcmNoeShuOiBUeE5vZGUpOiBhcmNoeS5EYXRhIHtcbiAgICByZXR1cm4ge1xuICAgICAgbGFiZWw6IGdldExhYmVsKG4ubGFiZWwsIGdldExhYmVsRnJvbVZhbHVlKG4udmFsdWUpKSxcbiAgICAgIG5vZGVzOiBuLm5vZGVzID8gbi5ub2Rlcy5mbGF0TWFwKChlKSA9PiAoaGlkZS5pbmNsdWRlcyhlLmxhYmVsKSA/IFtdIDogW3RvQXJjaHkoZSldKSkgOiB1bmRlZmluZWQsXG4gICAgfTtcbiAgfVxuXG4gIHJldHVybiBhcmNoeSh0b0FyY2h5KG4pKTtcbn1cbiJdfQ==
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Zvcm1hdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxpQ0FBd0M7QUFDeEMsK0JBQStCO0FBRy9CLE1BQU0sV0FBVyxHQUFHLENBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0FBRWhGLFNBQWdCLFVBQVUsQ0FDeEIsQ0FBUyxFQUNULEVBQUUsSUFBSSxHQUFHLFdBQVcsRUFBRSxLQUFLLEdBQUcsSUFBSSxnQkFBUSxFQUFFLEtBQXlDLEVBQUU7SUFFdkYsU0FBUyxRQUFRLENBQUMsS0FBc0IsRUFBRSxDQUFXO1FBQ25ELE1BQU0sR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxLQUFLLFNBQVMsRUFBRTtZQUNuQixHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3JCO1FBQ0QsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxTQUFTLGlCQUFpQixDQUFDLENBQWM7UUFDdkMsUUFBUSxPQUFPLENBQUMsRUFBRTtZQUNoQixLQUFLLFdBQVc7Z0JBQ2QsT0FBTyxTQUFTLENBQUM7WUFDbkIsS0FBSyxTQUFTLENBQUM7WUFDZixLQUFLLFFBQVEsQ0FBQztZQUNkLEtBQUssUUFBUTtnQkFDWCxPQUFPLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNuQixLQUFLLFFBQVE7Z0JBQ1gsSUFBSSxDQUFDLEtBQUssSUFBSSxFQUFFO29CQUNkLE9BQU8sTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO2lCQUNsQjtnQkFDRCxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUU7b0JBQ3RCLE9BQU8sQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztpQkFDbEQ7U0FDSjtRQUNELE1BQU0sSUFBSSxLQUFLLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsU0FBUyxPQUFPLENBQUMsQ0FBUztRQUN4QixPQUFPO1lBQ0wsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNwRCxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVM7U0FDbEcsQ0FBQztJQUNKLENBQUM7SUFFRCxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMzQixDQUFDO0FBdkNELGdDQXVDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYWxrLCBJbnN0YW5jZSB9IGZyb20gJ2NoYWxrJztcbmltcG9ydCAqIGFzIGFyY2h5IGZyb20gJ2FyY2h5JztcbmltcG9ydCB7IFR4Tm9kZSwgVHhOb2RlVmFsdWUgfSBmcm9tICcuL3BhcnNlJztcblxuY29uc3QgaGlkZURlZmF1bHQgPSBbJ3B1YmtleXMnLCAnc2VxdWVuY2UnLCAnbG9ja3RpbWUnLCAnc2NyaXB0U2lnJywgJ3dpdG5lc3MnXTtcblxuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdFRyZWUoXG4gIG46IFR4Tm9kZSxcbiAgeyBoaWRlID0gaGlkZURlZmF1bHQsIGNoYWxrID0gbmV3IEluc3RhbmNlKCkgfTogeyBoaWRlPzogc3RyaW5nW107IGNoYWxrPzogQ2hhbGsgfSA9IHt9XG4pOiBzdHJpbmcge1xuICBmdW5jdGlvbiBnZXRMYWJlbChsYWJlbDogc3RyaW5nIHwgbnVtYmVyLCB2PzogdW5rbm93bik6IHN0cmluZyB7XG4gICAgY29uc3QgYXJyID0gW2NoYWxrLmJvbGQobGFiZWwpXTtcbiAgICBpZiAodiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBhcnIucHVzaChTdHJpbmcodikpO1xuICAgIH1cbiAgICByZXR1cm4gYXJyLmpvaW4oJzogJyk7XG4gIH1cblxuICBmdW5jdGlvbiBnZXRMYWJlbEZyb21WYWx1ZSh2OiBUeE5vZGVWYWx1ZSk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgc3dpdGNoICh0eXBlb2Ygdikge1xuICAgICAgY2FzZSAndW5kZWZpbmVkJzpcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgIGNhc2UgJ2Jvb2xlYW4nOlxuICAgICAgY2FzZSAnbnVtYmVyJzpcbiAgICAgIGNhc2UgJ3N0cmluZyc6XG4gICAgICAgIHJldHVybiBTdHJpbmcodik7XG4gICAgICBjYXNlICdvYmplY3QnOlxuICAgICAgICBpZiAodiA9PT0gbnVsbCkge1xuICAgICAgICAgIHJldHVybiBTdHJpbmcodik7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKEJ1ZmZlci5pc0J1ZmZlcih2KSkge1xuICAgICAgICAgIHJldHVybiB2Lmxlbmd0aCA9PT0gMCA/ICdbXScgOiB2LnRvU3RyaW5nKCdoZXgnKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICB0aHJvdyBuZXcgRXJyb3IoYGNvdWxkIG5vdCBnZXQgbGFiZWwgZnJvbSB2YWx1ZWApO1xuICB9XG5cbiAgZnVuY3Rpb24gdG9BcmNoeShuOiBUeE5vZGUpOiBhcmNoeS5EYXRhIHtcbiAgICByZXR1cm4ge1xuICAgICAgbGFiZWw6IGdldExhYmVsKG4ubGFiZWwsIGdldExhYmVsRnJvbVZhbHVlKG4udmFsdWUpKSxcbiAgICAgIG5vZGVzOiBuLm5vZGVzID8gbi5ub2Rlcy5mbGF0TWFwKChlKSA9PiAoaGlkZS5pbmNsdWRlcyhlLmxhYmVsKSA/IFtdIDogW3RvQXJjaHkoZSldKSkgOiB1bmRlZmluZWQsXG4gICAgfTtcbiAgfVxuXG4gIHJldHVybiBhcmNoeSh0b0FyY2h5KG4pKTtcbn1cbiJdfQ==
@@ -12,6 +12,7 @@ export declare type TxNode = {
12
12
  export declare type ParserArgs = {
13
13
  parseScriptData: boolean;
14
14
  parseScriptAsm: boolean;
15
+ parseOutputScript: boolean;
15
16
  parseSignatureData: boolean;
16
17
  hide?: string[];
17
18
  maxOutputs?: number;
@@ -29,7 +30,7 @@ export declare class Parser {
29
30
  node(label: string | number, value: TxNodeValue, nodes?: TxNode[]): TxNode;
30
31
  parseScriptAsm(type: string, part: Buffer, i: number, n: number): string | undefined;
31
32
  parseScriptParts(type: string, parts: Array<Buffer | number>): TxNode[];
32
- parseScript(buffer: Buffer): TxNode;
33
+ parseInputScript(buffer: Buffer): TxNode;
33
34
  parseWitness(script: Buffer[]): TxNode;
34
35
  parsePubkeys(parsed: utxolib.bitgo.ParsedSignatureScript2Of3): TxNode;
35
36
  parseSignatures(parsed: utxolib.bitgo.ParsedSignatureScript2Of3, tx: utxolib.bitgo.UtxoTransaction, inputIndex: number, prevOutputs?: utxolib.TxOutput[]): TxNode;
@@ -40,7 +41,8 @@ export declare class Parser {
40
41
  }): TxNode[];
41
42
  parseIns(ins: utxolib.TxInput[], tx: utxolib.bitgo.UtxoTransaction, outputInfo: ChainInfo): TxNode[];
42
43
  tryParseOpReturn(script: Buffer): TxNode[];
43
- tryFormatAddress(script: Buffer, network: utxolib.Network): string | Buffer;
44
+ parseOutputScript(buffer: Buffer): TxNode[];
45
+ parseOutput(txid: string, o: utxolib.TxOutput, i: number, network: utxolib.Network, params: ChainInfo): TxNode;
44
46
  parseOuts(outs: utxolib.TxOutput[], tx: utxolib.bitgo.UtxoTransaction, params: ChainInfo): TxNode[];
45
47
  parseStatus(tx: utxolib.bitgo.UtxoTransaction, status?: TransactionStatus): TxNode[];
46
48
  parseVersion(tx: utxolib.bitgo.UtxoTransaction): TxNode;
@@ -1 +1 @@
1
- {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../src/parse.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../src/parse.ts"],"names":[],"mappings":"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"}
package/dist/src/parse.js CHANGED
@@ -60,7 +60,7 @@ class Parser {
60
60
  return this.node(i, this.params.parseScriptData ? v : undefined, asmNode ? [asmNode] : undefined);
61
61
  });
62
62
  }
63
- parseScript(buffer) {
63
+ parseInputScript(buffer) {
64
64
  var _a;
65
65
  let value;
66
66
  let nodes;
@@ -75,7 +75,7 @@ class Parser {
75
75
  else {
76
76
  value = buffer;
77
77
  }
78
- return this.node('script', value, nodes);
78
+ return this.node('scriptSig', value, nodes);
79
79
  }
80
80
  parseWitness(script) {
81
81
  var _a;
@@ -150,7 +150,7 @@ class Parser {
150
150
  return ins.map((input, i) => {
151
151
  return this.node(i, utxolib.bitgo.formatOutputId(utxolib.bitgo.getOutputIdForInput(input)), [
152
152
  this.node('sequence', toBufferUInt32BE(input.sequence)),
153
- this.parseScript(input.script),
153
+ this.parseInputScript(input.script),
154
154
  this.parseWitness(input.witness),
155
155
  this.parseSigScript(tx, i, outputInfo.prevOutputs),
156
156
  ...this.parsePrevOut(input, i, tx.network, outputInfo.prevOutputs),
@@ -177,23 +177,33 @@ class Parser {
177
177
  catch (e) {
178
178
  // ignore
179
179
  }
180
- return this.node(i, `${buf.length} bytes`, [
180
+ return this.node(`OP_RETURN ${i}`, `${buf.length} bytes`, [
181
181
  this.node('hex', buf),
182
182
  ...(utf8 && isPrintable(utf8) ? [this.node('utf8', utf8)] : []),
183
183
  ]);
184
184
  });
185
185
  }
186
- tryFormatAddress(script, network) {
187
- const opReturnNodes = this.tryParseOpReturn(script);
188
- if (opReturnNodes.length) {
189
- return `OP_RETURN`;
190
- }
186
+ parseOutputScript(buffer) {
187
+ return [
188
+ this.node('scriptPubKey', `${buffer.length} bytes`, [
189
+ this.node('hex', buffer.toString('hex')),
190
+ this.node('asm', utxolib.script.toASM(buffer), this.tryParseOpReturn(buffer)),
191
+ ]),
192
+ ];
193
+ }
194
+ parseOutput(txid, o, i, network, params) {
195
+ const type = utxolib.classify.output(o.script);
196
+ let address;
191
197
  try {
192
- return utxolib.address.fromOutputScript(script, network);
193
- }
194
- catch (e) {
195
- return script;
198
+ address = utxolib.address.fromOutputScript(o.script, network);
196
199
  }
200
+ catch (e) { }
201
+ return this.node(i, address !== null && address !== void 0 ? address : '(no address)', [
202
+ this.node(`value`, formatSat(o.value)),
203
+ this.node(`type`, type),
204
+ ...(this.params.parseOutputScript || address === undefined ? this.parseOutputScript(o.script) : []),
205
+ ...this.parseSpend(txid, i, params.outputSpends, { conflict: false }),
206
+ ]);
197
207
  }
198
208
  parseOuts(outs, tx, params) {
199
209
  var _a;
@@ -201,11 +211,7 @@ class Parser {
201
211
  return [this.node('(omitted)', undefined)];
202
212
  }
203
213
  const txid = tx.getId();
204
- return outs.map((o, i) => this.node(i, this.tryFormatAddress(o.script, tx.network), [
205
- ...this.tryParseOpReturn(o.script),
206
- this.node(`value`, o.value / 1e8),
207
- ...this.parseSpend(txid, i, params.outputSpends, { conflict: false }),
208
- ]));
214
+ return outs.map((o, i) => this.parseOutput(txid, o, i, tx.network, params));
209
215
  }
210
216
  parseStatus(tx, status) {
211
217
  if (!status) {
@@ -259,5 +265,6 @@ Parser.PARSE_ALL = {
259
265
  parseScriptData: true,
260
266
  parseScriptAsm: true,
261
267
  parseSignatureData: true,
268
+ parseOutputScript: true,
262
269
  };
263
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcGFyc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMkNBQTJDO0FBTzNDLFNBQVMsU0FBUyxDQUFDLENBQVM7SUFDMUIsT0FBTyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDOUIsQ0FBQztBQUVELFNBQVMsdUJBQXVCLENBQUMsUUFBZ0I7O0lBQy9DLE1BQU0sR0FBRyxHQUEyQjtRQUNsQyxvQkFBb0IsRUFBRSxVQUFVO1FBQ2hDLGdCQUFnQixFQUFFLFVBQVU7UUFDNUIsYUFBYSxFQUFFLFVBQVU7S0FDMUIsQ0FBQztJQUNGLE9BQU8sTUFBQSxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLFFBQVEsQ0FBQyxtQ0FBSSxTQUFTLENBQUM7QUFDeEUsQ0FBQztBQXdCRCxTQUFTLGdCQUFnQixDQUFDLENBQVM7SUFDakMsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM1QixHQUFHLENBQUMsYUFBYSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN4QixPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUM7QUFFRCxTQUFTLFdBQVcsQ0FBQyxDQUFTO0lBQzVCLHVDQUF1QztJQUN2QyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0FBQzdDLENBQUM7QUFFRCxNQUFhLE1BQU07SUFPakIsWUFBb0IsTUFBa0I7UUFBbEIsV0FBTSxHQUFOLE1BQU0sQ0FBWTtJQUFHLENBQUM7SUFFMUMsSUFBSSxDQUFDLEtBQXNCLEVBQUUsS0FBa0IsRUFBRSxRQUFrQixFQUFFO1FBQ25FLE9BQU87WUFDTCxJ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LE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQ2pFLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsU0FBUyxDQUFDLENBQ3ZDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUF0U0gsd0JBdVNDO0FBdFNRLGdCQUFTLEdBQWU7SUFDN0IsZUFBZSxFQUFFLElBQUk7SUFDckIsY0FBYyxFQUFFLElBQUk7SUFDcEIsa0JBQWtCLEVBQUUsSUFBSTtDQUN6QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgdXR4b2xpYiBmcm9tICdAYml0Z28vdXR4by1saWInO1xuaW1wb3J0IHsgT3V0cHV0U3BlbmQsIFRyYW5zYWN0aW9uU3RhdHVzIH0gZnJvbSAnQGJpdGdvL2Jsb2NrYXBpcyc7XG5cbmV4cG9ydCB0eXBlIElucHV0Rm9ybWF0ID0gJ2FzbScgfCAncGFyc2VTaWduYXR1cmUnO1xuXG5leHBvcnQgdHlwZSBUeE5vZGVWYWx1ZSA9IG51bWJlciB8IHN0cmluZyB8IEJ1ZmZlciB8IGJvb2xlYW4gfCB1bmRlZmluZWQgfCBudWxsO1xuXG5mdW5jdGlvbiBmb3JtYXRTYXQodjogbnVtYmVyKTogc3RyaW5nIHtcbiAgcmV0dXJuICh2IC8gMWU4KS50b0ZpeGVkKDgpO1xufVxuXG5mdW5jdGlvbiBmb3JtYXRDb25zZW5zdXNCcmFuY2hJZChicmFuY2hJZDogbnVtYmVyKTogc3RyaW5nIHtcbiAgY29uc3QgbWFwOiBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+ID0ge1xuICAgIE9WRVJXSU5URVJfQlJBTkNIX0lEOiAweDViYTgxYjE5LFxuICAgIENBTk9QWV9CUkFOQ0hfSUQ6IDB4ZTlmZjc1YTYsXG4gICAgTlU1X0JSQU5DSF9JRDogMHhjMmQ2ZDBiNCxcbiAgfTtcbiAgcmV0dXJuIE9iamVjdC5rZXlzKG1hcCkuZmluZCgoaykgPT4gbWFwW2tdID09PSBicmFuY2hJZCkgPz8gJ3Vua25vd24nO1xufVxuXG5leHBvcnQgdHlwZSBUeE5vZGUgPSB7XG4gIHR5cGU6ICdub2RlJztcbiAgbGFiZWw6IHN0cmluZztcbiAgdmFsdWU6IFR4Tm9kZVZhbHVlIHwgdW5kZWZpbmVkO1xuICBub2RlczogVHhOb2RlW10gfCB1bmRlZmluZWQ7XG59O1xuXG5leHBvcnQgdHlwZSBQYXJzZXJBcmdzID0ge1xuICBwYXJzZVNjcmlwdERhdGE6IGJvb2xlYW47XG4gIHBhcnNlU2NyaXB0QXNtOiBib29sZWFuO1xuICBwYXJzZVNpZ25hdHVyZURhdGE6IGJvb2xlYW47XG4gIGhpZGU/OiBzdHJpbmdbXTtcbiAgbWF4T3V0cHV0cz86IG51bWJlcjtcbn07XG5cbmV4cG9ydCB0eXBlIENoYWluSW5mbyA9IHtcbiAgc3RhdHVzPzogVHJhbnNhY3Rpb25TdGF0dXM7XG4gIG91dHB1dFNwZW5kcz86IE91dHB1dFNwZW5kW107XG4gIHByZXZPdXRwdXRzPzogdXR4b2xpYi5UeE91dHB1dFtdO1xuICBwcmV2T3V0cHV0U3BlbmRzPzogT3V0cHV0U3BlbmRbXTtcbn07XG5cbmZ1bmN0aW9uIHRvQnVmZmVyVUludDMyQkUobjogbnVtYmVyKTogQnVmZmVyIHtcbiAgY29uc3QgYnVmID0gQnVmZmVyLmFsbG9jKDQpO1xuICBidWYud3JpdGVVSW50MzJMRShuLCAwKTtcbiAgcmV0dXJuIGJ1Zjtcbn1cblxuZnVuY3Rpb24gaXNQcmludGFibGUoczogc3RyaW5nKTogYm9vbGVhbiB7XG4gIC8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vYS82NjQ0NzQ5NFxuICByZXR1cm4gIXMubWF0Y2goL1tcXHB7Q2N9XFxwe0NufVxccHtDc31dKy9ndSk7XG59XG5cbmV4cG9ydCBjbGFzcyBQYXJzZXIge1xuICBzdGF0aWMgUEFSU0VfQUxMOiBQYXJzZXJBcmdzID0ge1xuICAgIHBhcnNlU2NyaXB0RGF0YTogdHJ1ZSxcbiAgICBwYXJzZVNjcmlwdEFzbTogdHJ1ZSxcbiAgICBwYXJzZVNpZ25hdHVyZURhdGE6IHRydWUsXG4gIH07XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwYXJhbXM6IFBhcnNlckFyZ3MpIHt9XG5cbiAgbm9kZShsYWJlbDogc3RyaW5nIHwgbnVtYmVyLCB2YWx1ZTogVHhOb2RlVmFsdWUsIG5vZGVzOiBUeE5vZGVbXSA9IFtdKTogVHhOb2RlIHtcbiAgICByZXR1cm4ge1xuICAgICAgdHlwZTogJ25vZGUnLFxuICAgICAgbGFiZWw6IFN0cmluZyhsYWJlbCksXG4gICAgICB2YWx1ZSxcbiAgICAgIG5vZGVzLFxuICAgIH07XG4gIH1cblxuICBwYXJzZVNjcmlwdEFzbSh0eXBlOiBzdHJpbmcsIHBhcnQ6IEJ1ZmZlciwgaTogbnVtYmVyLCBuOiBudW1iZXIpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGlmIChcbiAgICAgICh0eXBlID09PSAndGFwcm9vdCcgJiYgaSA9PT0gbiAtIDIpIHx8XG4gICAgICAoKHR5cGUgPT09ICdzY3JpcHRoYXNoJyB8fCB0eXBlID09PSAnd2l0bmVzc3NjcmlwdGhhc2gnKSAmJiBpID09PSBuIC0gMSlcbiAgICApIHtcbiAgICAgIGxldCBwYXJzZWQ7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIHBhcnNlZCA9IHV0eG9saWIuc2NyaXB0LnRvQVNNKHBhcnQpO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICByZXR1cm4gJ2Vycm9yJztcbiAgICAgIH1cblxuICAgICAgaWYgKHBhcnNlZCkge1xuICAgICAgICByZXR1cm4gWycnLCAuLi5wYXJzZWQuc3BsaXQoJyAnKV0uam9pbignXFxuJyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcGFyc2VTY3JpcHRQYXJ0cyh0eXBlOiBzdHJpbmcsIHBhcnRzOiBBcnJheTxCdWZmZXIgfCBudW1iZXI+KTogVHhOb2RlW10ge1xuICAgIHJldHVybiBwYXJ0cy5tYXAoKHYsIGkpID0+IHtcbiAgICAgIGxldCBhc21Ob2RlOiBUeE5vZGUgfCB1bmRlZmluZWQ7XG4gICAgICBpZiAodGhpcy5wYXJhbXMucGFyc2VTY3JpcHRBc20gJiYgQnVmZmVyLmlzQnVmZmVyKHYpKSB7XG4gICAgICAgIGNvbnN0IHBhcnNlZCA9IHRoaXMucGFyc2VTY3JpcHRBc20odHlwZSwgdiwgaSwgcGFydHMubGVuZ3RoKTtcbiAgICAgICAgYXNtTm9kZSA9IHBhcnNlZCA/IHRoaXMubm9kZSgnYXNtJywgcGFyc2VkKSA6IHVuZGVmaW5lZDtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHRoaXMubm9kZShpLCB0aGlzLnBhcmFtcy5wYXJzZVNjcmlwdERhdGEgPyB2IDogdW5kZWZpbmVkLCBhc21Ob2RlID8gW2FzbU5vZGVdIDogdW5kZWZpbmVkKTtcbiAgICB9KTtcbiAgfVxuXG4gIHBhcnNlU2NyaXB0KGJ1ZmZlcjogQnVmZmVyKTogVHhOb2RlIHtcbiAgICBsZXQgdmFsdWU7XG4gICAgbGV0IG5vZGVzO1xuICAgIGlmIChidWZmZXIubGVuZ3RoICYmIHRoaXMucGFyYW1zLnBhcnNlU2lnbmF0dXJlRGF0YSkge1xuICAgICAgY29uc3QgdHlwZSA9IHV0eG9saWIuY2xhc3NpZnkuaW5wdXQoYnVmZmVyLCB0cnVlKSA/PyAndW5rbm93bic7XG4gICAgICBjb25zdCBkZWNvbXBpbGVkID0gdXR4b2xpYi5zY3JpcHQuZGVjb21waWxlKGJ1ZmZlcik7XG4gICAgICBpZiAoZGVjb21waWxlZCkge1xuICAgICAgICBub2RlcyA9IHRoaXMucGFyc2VTY3JpcHRQYXJ0cyh0eXBlLCBkZWNvbXBpbGVkKTtcbiAgICAgIH1cbiAgICAgIHZhbHVlID0gdHlwZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdmFsdWUgPSBidWZmZXI7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMubm9kZSgnc2NyaXB0JywgdmFsdWUsIG5vZGVzKTtcbiAgfVxuXG4gIHBhcnNlV2l0bmVzcyhzY3JpcHQ6IEJ1ZmZlcltdKTogVHhOb2RlIHtcbiAgICBpZiAoc2NyaXB0Lmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIHRoaXMubm9kZSgnd2l0bmVzcycsICdbXScpO1xuICAgIH1cbiAgICBjb25zdCB0eXBlID0gdXR4b2xpYi5jbGFzc2lmeS53aXRuZXNzKHNjcmlwdCwgdHJ1ZSkgPz8gJ3Vua25vd24nO1xuICAgIHJldHVybiB0aGlzLm5vZGUoJ3dpdG5lc3MnLCB0eXBlLCB0aGlzLnBhcmFtcy5wYXJzZVNjcmlwdERhdGEgPyB0aGlzLnBhcnNlU2NyaXB0UGFydHModHlwZSwgc2NyaXB0KSA6IHVuZGVmaW5lZCk7XG4gIH1cblxuICBwYXJzZVB1YmtleXMocGFyc2VkOiB1dHhvbGliLmJpdGdvLlBhcnNlZFNpZ25hdHVyZVNjcmlwdDJPZjMpOiBUeE5vZGUge1xuICAgIHJldHVybiB0aGlzLm5vZGUoXG4gICAgICAncHVia2V5cycsXG4gICAgICBwYXJzZWQucHVibGljS2V5cy5sZW5ndGgsXG4gICAgICBwYXJzZWQucHVibGljS2V5cy5tYXAoKGssIGkpID0+IHRoaXMubm9kZShpLCBrKSlcbiAgICApO1xuICB9XG5cbiAgcGFyc2VTaWduYXR1cmVzKFxuICAgIHBhcnNlZDogdXR4b2xpYi5iaXRnby5QYXJzZWRTaWduYXR1cmVTY3JpcHQyT2YzLFxuICAgIHR4OiB1dHhvbGliLmJpdGdvLlV0eG9UcmFuc2FjdGlvbixcbiAgICBpbnB1dEluZGV4OiBudW1iZXIsXG4gICAgcHJldk91dHB1dHM/OiB1dHhvbGliLlR4T3V0cHV0W11cbiAgKTogVHhOb2RlIHtcbiAgICBjb25zdCBub2RlcyA9IFtdO1xuICAgIGlmIChwcmV2T3V0cHV0cykge1xuICAgICAgY29uc3Qgc2lnbmVkQnkgPSB1dHhvbGliLmJpdGdvLnZlcmlmeVNpZ25hdHVyZVdpdGhQdWJsaWNLZXlzKHR4LCBpbnB1dEluZGV4LCBwcmV2T3V0cHV0cywgcGFyc2VkLnB1YmxpY0tleXMpO1xuICAgICAgbm9kZXMucHVzaCh0aGlzLm5vZGUoJ3NpZ25lZCBieScsIGBbJHtzaWduZWRCeS5mbGF0TWFwKCh2LCBpKSA9PiAodiA/IFtpXSA6IFtdKSkuam9pbignLCAnKX1dYCkpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5ub2RlKFxuICAgICAgJ3NpZ25hdHVyZXMnLFxuICAgICAgcGFyc2VkLnNpZ25hdHVyZXNcbiAgICAgICAgLm1hcCgoczogQnVmZmVyIHwgMCkgPT5cbiAgICAgICAgICB1dHhvbGliLmJpdGdvLmlzUGxhY2Vob2xkZXJTaWduYXR1cmUocykgPyAnW10nIDogQnVmZmVyLmlzQnVmZmVyKHMpID8gYFske3MubGVuZ3RofWJ5dGVdYCA6IGBbJHtzfV1gXG4gICAgICAgIClcbiAgICAgICAgLmpvaW4oJyAnKSxcbiAgICAgIG5vZGVzXG4gICAgKTtcbiAgfVxuXG4gIHBhcnNlU2lnU2NyaXB0KHR4OiB1dHhvbGliLmJpdGdvLlV0eG9UcmFuc2FjdGlvbiwgaW5wdXRJbmRleDogbnVtYmVyLCBwcmV2T3V0cHV0cz86IHV0eG9saWIuVHhPdXRwdXRbXSk6IFR4Tm9kZSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHBhcnNlZCA9IHV0eG9saWIuYml0Z28ucGFyc2VTaWduYXR1cmVTY3JpcHQodHguaW5zW2lucHV0SW5kZXhdKTtcbiAgICAgIHJldHVybiB0aGlzLm5vZGUoXG4gICAgICAgICdzaWdTY3JpcHQnLFxuICAgICAgICBwYXJzZWQuc2NyaXB0VHlwZSA/PyAndW5rbm93bicsXG4gICAgICAgIHBhcnNlZC5zY3JpcHRUeXBlICYmIHV0eG9saWIuYml0Z28ub3V0cHV0U2NyaXB0cy5pc1NjcmlwdFR5cGUyT2YzKHBhcnNlZC5zY3JpcHRUeXBlKVxuICAgICAgICAgID8gW1xuICAgICAgICAgICAgICB0aGlzLnBhcnNlUHVia2V5cyhwYXJzZWQgYXMgdXR4b2xpYi5iaXRnby5QYXJzZWRTaWduYXR1cmVTY3JpcHQyT2YzKSxcbiAgICAgICAgICAgICAgdGhpcy5wYXJzZVNpZ25hdHVyZXMocGFyc2VkIGFzIHV0eG9saWIuYml0Z28uUGFyc2VkU2lnbmF0dXJlU2NyaXB0Mk9mMywgdHgsIGlucHV0SW5kZXgsIHByZXZPdXRwdXRzKSxcbiAgICAgICAgICAgIF1cbiAgICAgICAgICA6IFtdXG4gICAgICApO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJldHVybiB0aGlzLm5vZGUoJ2Vycm9yJywgU3RyaW5nKGUpKTtcbiAgICB9XG4gIH1cblxuICBwYXJzZVByZXZPdXQoXG4gICAgaW5wdXQ6IHV0eG9saWIuVHhJbnB1dCxcbiAgICBpOiBudW1iZXIsXG4gICAgbmV0d29yazogdXR4b2xpYi5OZXR3b3JrLFxuICAgIHByZXZPdXRwdXRzPzogdXR4b2xpYi5UeE91dHB1dFtdXG4gICk6IFR4Tm9kZVtdIHtcbiAgICBpZiAoIXByZXZPdXRwdXRzIHx8ICFwcmV2T3V0cHV0c1tpXSkge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbiAgICBjb25zdCB7IHNjcmlwdCwgdmFsdWUgfSA9IHByZXZPdXRwdXRzW2ldO1xuICAgIGxldCBhZGRyZXNzO1xuICAgIHRyeSB7XG4gICAgICBhZGRyZXNzID0gdXR4b2xpYi5hZGRyZXNzLmZyb21PdXRwdXRTY3JpcHQoc2NyaXB0LCBuZXR3b3JrKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBhZGRyZXNzID0gJyhlcnJvciknO1xuICAgIH1cbiAgICByZXR1cm4gW1xuICAgICAgdGhpcy5ub2RlKCd2YWx1ZScsIHZhbHVlIC8gMWU4KSxcbiAgICAgIHRoaXMubm9kZSgncHViU2NyaXB0Jywgc2NyaXB0LCBhZGRyZXNzID8gW3RoaXMubm9kZSgnYWRkcmVzcycsIGFkZHJlc3MpXSA6IHVuZGVmaW5lZCksXG4gICAgXTtcbiAgfVxuXG4gIHBhcnNlU3BlbmQodHhpZDogc3RyaW5nLCBpbmRleDogbnVtYmVyLCBzcGVuZHM6IE91dHB1dFNwZW5kW10gfCB1bmRlZmluZWQsIHBhcmFtczogeyBjb25mbGljdDogYm9vbGVhbiB9KTogVHhOb2RlW10ge1xuICAgIGlmICghc3BlbmRzIHx8ICFzcGVuZHNbaW5kZXhdKSB7XG4gICAgICAvLyBubyBzcGVuZCBkYXRhIGF2YWlsYWJsZVxuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbiAgICBjb25zdCBzcGVuZCA9IHNwZW5kc1tpbmRleF07XG4gICAgaWYgKHNwZW5kLnR4aWQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIFt0aGlzLm5vZGUoJ3NwZW50JywgZmFsc2UpXTtcbiAgICB9XG4gICAgaWYgKHNwZW5kLnR4aWQgPT09IHR4aWQpIHtcbiAgICAgIC8vIGlmIGlucHV0IGlzIHNwZW50IGJ5IHRoaXMgdHJhbnNhY3Rpb24gd2UgZG9uJ3QgZGlzcGxheSBpdFxuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbiAgICByZXR1cm4gW3RoaXMubm9kZSgnc3BlbnQnLCBgJHtzcGVuZC50eGlkfToke3NwZW5kLnZpbn1gLCBwYXJhbXMuY29uZmxpY3QgPyBbdGhpcy5ub2RlKCdjb25mbGljdCcsIHRydWUpXSA6IFtdKV07XG4gIH1cblxuICBwYXJzZUlucyhpbnM6IHV0eG9saWIuVHhJbnB1dFtdLCB0eDogdXR4b2xpYi5iaXRnby5VdHhvVHJhbnNhY3Rpb24sIG91dHB1dEluZm86IENoYWluSW5mbyk6IFR4Tm9kZVtdIHtcbiAgICBjb25zdCB0eGlkID0gdHguZ2V0SWQoKTtcbiAgICByZXR1cm4gaW5zLm1hcCgoaW5wdXQsIGkpID0+IHtcbiAgICAgIHJldHVybiB0aGlzLm5vZGUoaSwgdXR4b2xpYi5iaXRnby5mb3JtYXRPdXRwdXRJZCh1dHhvbGliLmJpdGdvLmdldE91dHB1dElkRm9ySW5wdXQoaW5wdXQpKSwgW1xuICAgICAgICB0aGlzLm5vZGUoJ3NlcXVlbmNlJywgdG9CdWZmZXJVSW50MzJCRShpbnB1dC5zZXF1ZW5jZSkpLFxuICAgICAgICB0aGlzLnBhcnNlU2NyaXB0KGlucHV0LnNjcmlwdCksXG4gICAgICAgIHRoaXMucGFyc2VXaXRuZXNzKGlucHV0LndpdG5lc3MpLFxuICAgICAgICB0aGlzLnBhcnNlU2lnU2NyaXB0KHR4LCBpLCBvdXRwdXRJbmZvLnByZXZPdXRwdXRzKSxcbiAgICAgICAgLi4udGhpcy5wYXJzZVByZXZPdXQoaW5wdXQsIGksIHR4Lm5ldHdvcmssIG91dHB1dEluZm8ucHJldk91dHB1dHMpLFxuICAgICAgICAuLi50aGlzLnBhcnNlU3BlbmQodHhpZCwgaSwgb3V0cHV0SW5mby5wcmV2T3V0cHV0U3BlbmRzLCB7IGNvbmZsaWN0OiB0cnVlIH0pLFxuICAgICAgXSk7XG4gICAgfSk7XG4gIH1cblxuICB0cnlQYXJzZU9wUmV0dXJuKHNjcmlwdDogQnVmZmVyKTogVHhOb2RlW10ge1xuICAgIGxldCBkYXRhOiBCdWZmZXJbXSB8IHVuZGVmaW5lZDtcbiAgICB0cnkge1xuICAgICAgKHsgZGF0YSB9ID0gdXR4b2xpYi5wYXltZW50cy5lbWJlZCh7IG91dHB1dDogc2NyaXB0IH0pKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICAvLyBpZ25vcmVcbiAgICB9XG4gICAgaWYgKCFkYXRhKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuICAgIHJldHVybiBkYXRhLm1hcCgoYnVmLCBpKSA9PiB7XG4gICAgICBsZXQgdXRmODtcbiAgICAgIHRyeSB7XG4gICAgICAgIHV0ZjggPSBidWYudG9TdHJpbmcoJ3V0ZjgnKTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgLy8gaWdub3JlXG4gICAgICB9XG4gICAgICByZXR1cm4gdGhpcy5ub2RlKGksIGAke2J1Zi5sZW5ndGh9IGJ5dGVzYCwgW1xuICAgICAgICB0aGlzLm5vZGUoJ2hleCcsIGJ1ZiksXG4gICAgICAgIC4uLih1dGY4ICYmIGlzUHJpbnRhYmxlKHV0ZjgpID8gW3RoaXMubm9kZSgndXRmOCcsIHV0ZjgpXSA6IFtdKSxcbiAgICAgIF0pO1xuICAgIH0pO1xuICB9XG5cbiAgdHJ5Rm9ybWF0QWRkcmVzcyhzY3JpcHQ6IEJ1ZmZlciwgbmV0d29yazogdXR4b2xpYi5OZXR3b3JrKTogc3RyaW5nIHwgQnVmZmVyIHtcbiAgICBjb25zdCBvcFJldHVybk5vZGVzID0gdGhpcy50cnlQYXJzZU9wUmV0dXJuKHNjcmlwdCk7XG4gICAgaWYgKG9wUmV0dXJuTm9kZXMubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gYE9QX1JFVFVSTmA7XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiB1dHhvbGliLmFkZHJlc3MuZnJvbU91dHB1dFNjcmlwdChzY3JpcHQsIG5ldHdvcmspO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJldHVybiBzY3JpcHQ7XG4gICAgfVxuICB9XG5cbiAgcGFyc2VPdXRzKG91dHM6IHV0eG9saWIuVHhPdXRwdXRbXSwgdHg6IHV0eG9saWIuYml0Z28uVXR4b1RyYW5zYWN0aW9uLCBwYXJhbXM6IENoYWluSW5mbyk6IFR4Tm9kZVtdIHtcbiAgICBpZiAob3V0cy5sZW5ndGggPiAodGhpcy5wYXJhbXMubWF4T3V0cHV0cyA/PyAyMDApKSB7XG4gICAgICByZXR1cm4gW3RoaXMubm9kZSgnKG9taXR0ZWQpJywgdW5kZWZpbmVkKV07XG4gICAgfVxuXG4gICAgY29uc3QgdHhpZCA9IHR4LmdldElkKCk7XG4gICAgcmV0dXJuIG91dHMubWFwKChvLCBpKSA9PlxuICAgICAgdGhpcy5ub2RlKGksIHRoaXMudHJ5Rm9ybWF0QWRkcmVzcyhvLnNjcmlwdCwgdHgubmV0d29yayksIFtcbiAgICAgICAgLi4udGhpcy50cnlQYXJzZU9wUmV0dXJuKG8uc2NyaXB0KSxcbiAgICAgICAgdGhpcy5ub2RlKGB2YWx1ZWAsIG8udmFsdWUgLyAxZTgpLFxuICAgICAgICAuLi50aGlzLnBhcnNlU3BlbmQodHhpZCwgaSwgcGFyYW1zLm91dHB1dFNwZW5kcywgeyBjb25mbGljdDogZmFsc2UgfSksXG4gICAgICBdKVxuICAgICk7XG4gIH1cblxuICBwYXJzZVN0YXR1cyh0eDogdXR4b2xpYi5iaXRnby5VdHhvVHJhbnNhY3Rpb24sIHN0YXR1cz86IFRyYW5zYWN0aW9uU3RhdHVzKTogVHhOb2RlW10ge1xuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm4gW3RoaXMubm9kZSgnc3RhdHVzJywgJ3Vua25vd24nKV07XG4gICAgfVxuICAgIHJldHVybiBbXG4gICAgICB0aGlzLm5vZGUoXG4gICAgICAgICdzdGF0dXMnLFxuICAgICAgICBzdGF0dXMuZm91bmQgPyAnZm91bmQnIDogJ25vdCBmb3VuZCcsXG4gICAgICAgIHN0YXR1cy5mb3VuZFxuICAgICAgICAgID8gc3RhdHVzLmNvbmZpcm1lZFxuICAgICAgICAgICAgPyBbXG4gICAgICAgICAgICAgICAgdGhpcy5ub2RlKFxuICAgICAgICAgICAgICAgICAgJ2NvbmZpcm1lZCcsXG4gICAgICAgICAgICAgICAgICBgYmxvY2sgJHtzdGF0dXMuYmxvY2tIZWlnaHR9YCArIChzdGF0dXMuZGF0ZSA/IGAgZGF0ZT0ke3N0YXR1cy5kYXRlLnRvSVNPU3RyaW5nKCl9YCA6ICcnKVxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIDogW3RoaXMubm9kZSgnY29uZmlybWVkJywgZmFsc2UpXVxuICAgICAgICAgIDogW11cbiAgICAgICksXG4gICAgXTtcbiAgfVxuXG4gIHBhcnNlVmVyc2lvbih0eDogdXR4b2xpYi5iaXRnby5VdHhvVHJhbnNhY3Rpb24pOiBUeE5vZGUge1xuICAgIHJldHVybiB0aGlzLm5vZGUoXG4gICAgICAndmVyc2lvbicsXG4gICAgICB0eC52ZXJzaW9uLFxuICAgICAgdHggaW5zdGFuY2VvZiB1dHhvbGliLmJpdGdvLlpjYXNoVHJhbnNhY3Rpb25cbiAgICAgICAgPyBbXG4gICAgICAgICAgICB0aGlzLm5vZGUoJ2NvbnNlbnN1c0JyYW5jaElkIChpbmZlcnJlZCknLCB0eC5jb25zZW5zdXNCcmFuY2hJZC50b1N0cmluZygxNiksIFtcbiAgICAgICAgICAgICAgdGhpcy5ub2RlKCduYW1lJywgZm9ybWF0Q29uc2Vuc3VzQnJhbmNoSWQodHguY29uc2Vuc3VzQnJhbmNoSWQpKSxcbiAgICAgICAgICAgIF0pLFxuICAgICAgICAgIF1cbiAgICAgICAgOiBbXVxuICAgICk7XG4gIH1cblxuICBwYXJzZSh0eDogdXR4b2xpYi5iaXRnby5VdHhvVHJhbnNhY3Rpb24sIGNoYWluSW5mbzogQ2hhaW5JbmZvID0ge30pOiBUeE5vZGUge1xuICAgIGNvbnN0IHdlaWdodCA9IHR4LndlaWdodCgpO1xuICAgIGNvbnN0IHZzaXplID0gdHgudmlydHVhbFNpemUoKTtcbiAgICBjb25zdCBvdXRwdXRTdW0gPSB0eC5vdXRzLnJlZHVjZSgoc3VtLCBvKSA9PiBzdW0gKyBvLnZhbHVlLCAwKTtcbiAgICBjb25zdCBpbnB1dFN1bSA9IGNoYWluSW5mby5wcmV2T3V0cHV0cz8ucmVkdWNlKChzdW0sIG8pID0+IHN1bSArIG8udmFsdWUsIDApO1xuICAgIGNvbnN0IGZlZSA9IGlucHV0U3VtID8gaW5wdXRTdW0gLSBvdXRwdXRTdW0gOiB1bmRlZmluZWQ7XG4gICAgY29uc3QgZmVlUmF0ZSA9IGZlZSA/IGZlZSAvIHZzaXplIDogdW5kZWZpbmVkO1xuICAgIHJldHVybiB0aGlzLm5vZGUoJ3RyYW5zYWN0aW9uJywgdHguZ2V0SWQoKSwgW1xuICAgICAgdGhpcy5ub2RlKFxuICAgICAgICAncGFyc2VkQXMnLFxuICAgICAgICBgJHt1dHhvbGliLmdldE5ldHdvcmtOYW1lKHV0eG9saWIuZ2V0TWFpbm5ldCh0eC5uZXR3b3JrKSl9IGAgK1xuICAgICAgICAgIGAke3V0eG9saWIuaXNNYWlubmV0KHR4Lm5ldHdvcmspID8gJ21haW5uZXQnIDogJ3Rlc3RuZXQnfWBcbiAgICAgICksXG4gICAgICB0aGlzLnBhcnNlVmVyc2lvbih0eCksXG4gICAgICB0aGlzLm5vZGUoJ2xvY2t0aW1lJywgdHgubG9ja3RpbWUpLFxuICAgICAgdGhpcy5ub2RlKCdoYXNXaXRuZXNzZXMnLCB0eC5oYXNXaXRuZXNzZXMoKSksXG4gICAgICAuLi50aGlzLnBhcnNlU3RhdHVzKHR4LCBjaGFpbkluZm8uc3RhdHVzKSxcbiAgICAgIHRoaXMubm9kZSgndnNpemUnLCBgJHt2c2l6ZX12Ynl0ZXMgKCR7d2VpZ2h0fXd1KWApLFxuICAgICAgLi4uKGZlZSAmJiBmZWVSYXRlXG4gICAgICAgID8gW3RoaXMubm9kZSgnZmVlIFtidGNdJywgZm9ybWF0U2F0KGZlZSkpLCB0aGlzLm5vZGUoJ2ZlZVJhdGUgW3NhdC92Ynl0ZV0nLCBmZWVSYXRlLnRvRml4ZWQoMikpXVxuICAgICAgICA6IFtdKSxcbiAgICAgIHRoaXMubm9kZShcbiAgICAgICAgYGlucHV0c2AsXG4gICAgICAgIFtTdHJpbmcodHguaW5zLmxlbmd0aCldLmNvbmNhdChpbnB1dFN1bSA/IFsnc3VtPScgKyBmb3JtYXRTYXQoaW5wdXRTdW0pXSA6IFtdKS5qb2luKCcgJyksXG4gICAgICAgIHRoaXMucGFyc2VJbnModHguaW5zLCB0eCwgY2hhaW5JbmZvKVxuICAgICAgKSxcbiAgICAgIHRoaXMubm9kZShcbiAgICAgICAgYG91dHB1dHNgLFxuICAgICAgICBbU3RyaW5nKHR4Lm91dHMubGVuZ3RoKSwgJ3N1bT0nICsgZm9ybWF0U2F0KG91dHB1dFN1bSldLmpvaW4oJyAnKSxcbiAgICAgICAgdGhpcy5wYXJzZU91dHModHgub3V0cywgdHgsIGNoYWluSW5mbylcbiAgICAgICksXG4gICAgXSk7XG4gIH1cbn1cbiJdfQ==
270
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcGFyc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMkNBQTJDO0FBTzNDLFNBQVMsU0FBUyxDQUFDLENBQVM7SUFDMUIsT0FBTyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDOUIsQ0FBQztBQUVELFNBQVMsdUJBQXVCLENBQUMsUUFBZ0I7O0lBQy9DLE1BQU0sR0FBRyxHQUEyQjtRQUNsQyxvQkFBb0IsRUFBRSxVQUFVO1FBQ2hDLGdCQUFnQixFQUFFLFVBQVU7UUFDNUIsYUFBYSxFQUFFLFVBQVU7S0FDMUIsQ0FBQztJQUNGLE9BQU8sTUFBQSxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLFFBQVEsQ0FBQyxtQ0FBSSxTQUFTLENBQUM7QUFDeEUsQ0FBQztBQXlCRCxTQUFTLGdCQUFnQixDQUFDLENBQVM7SUFDakMsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM1QixHQUFHLENBQUMsYUFBYSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN4QixPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUM7QUFFRCxTQUFTLFdBQVcsQ0FBQyxDQUFTO0lBQzVCLHVDQUF1QztJQUN2QyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0FBQzdDLENBQUM7QUFFRCxNQUFhLE1BQU07SUFRakIsWUFBb0IsTUFBa0I7UUFBbEIsV0FBTSxHQUFOLE1BQU0sQ0FBWTtJQUFHLENBQUM7SUFFMUMsSUFBSSxDQUFDLEtBQXNCLEVBQUUsS0FBa0IsRUFBRSxRQUFrQixFQUFFO1FBQ25FLE9BQU87WUFDTCxJ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IjpbImltcG9ydCAqIGFzIHV0eG9saWIgZnJvbSAnQGJpdGdvL3V0eG8tbGliJztcbmltcG9ydCB7IE91dHB1dFNwZW5kLCBUcmFuc2FjdGlvblN0YXR1cyB9IGZyb20gJ0BiaXRnby9ibG9ja2FwaXMnO1xuXG5leHBvcnQgdHlwZSBJbnB1dEZvcm1hdCA9ICdhc20nIHwgJ3BhcnNlU2lnbmF0dXJlJztcblxuZXhwb3J0IHR5cGUgVHhOb2RlVmFsdWUgPSBudW1iZXIgfCBzdHJpbmcgfCBCdWZmZXIgfCBib29sZWFuIHwgdW5kZWZpbmVkIHwgbnVsbDtcblxuZnVuY3Rpb24gZm9ybWF0U2F0KHY6IG51bWJlcik6IHN0cmluZyB7XG4gIHJldHVybiAodiAvIDFlOCkudG9GaXhlZCg4KTtcbn1cblxuZnVuY3Rpb24gZm9ybWF0Q29uc2Vuc3VzQnJhbmNoSWQoYnJhbmNoSWQ6IG51bWJlcik6IHN0cmluZyB7XG4gIGNvbnN0IG1hcDogUmVjb3JkPHN0cmluZywgbnVtYmVyPiA9IHtcbiAgICBPVkVSV0lOVEVSX0JSQU5DSF9JRDogMHg1YmE4MWIxOSxcbiAgICBDQU5PUFlfQlJBTkNIX0lEOiAweGU5ZmY3NWE2LFxuICAgIE5VNV9CUkFOQ0hfSUQ6IDB4YzJkNmQwYjQsXG4gIH07XG4gIHJldHVybiBPYmplY3Qua2V5cyhtYXApLmZpbmQoKGspID0+IG1hcFtrXSA9PT0gYnJhbmNoSWQpID8/ICd1bmtub3duJztcbn1cblxuZXhwb3J0IHR5cGUgVHhOb2RlID0ge1xuICB0eXBlOiAnbm9kZSc7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIHZhbHVlOiBUeE5vZGVWYWx1ZSB8IHVuZGVmaW5lZDtcbiAgbm9kZXM6IFR4Tm9kZVtdIHwgdW5kZWZpbmVkO1xufTtcblxuZXhwb3J0IHR5cGUgUGFyc2VyQXJncyA9IHtcbiAgcGFyc2VTY3JpcHREYXRhOiBib29sZWFuO1xuICBwYXJzZVNjcmlwdEFzbTogYm9vbGVhbjtcbiAgcGFyc2VPdXRwdXRTY3JpcHQ6IGJvb2xlYW47XG4gIHBhcnNlU2lnbmF0dXJlRGF0YTogYm9vbGVhbjtcbiAgaGlkZT86IHN0cmluZ1tdO1xuICBtYXhPdXRwdXRzPzogbnVtYmVyO1xufTtcblxuZXhwb3J0IHR5cGUgQ2hhaW5JbmZvID0ge1xuICBzdGF0dXM/OiBUcmFuc2FjdGlvblN0YXR1cztcbiAgb3V0cHV0U3BlbmRzPzogT3V0cHV0U3BlbmRbXTtcbiAgcHJldk91dHB1dHM/OiB1dHhvbGliLlR4T3V0cHV0W107XG4gIHByZXZPdXRwdXRTcGVuZHM/OiBPdXRwdXRTcGVuZFtdO1xufTtcblxuZnVuY3Rpb24gdG9CdWZmZXJVSW50MzJCRShuOiBudW1iZXIpOiBCdWZmZXIge1xuICBjb25zdCBidWYgPSBCdWZmZXIuYWxsb2MoNCk7XG4gIGJ1Zi53cml0ZVVJbnQzMkxFKG4sIDApO1xuICByZXR1cm4gYnVmO1xufVxuXG5mdW5jdGlvbiBpc1ByaW50YWJsZShzOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgLy8gaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9hLzY2NDQ3NDk0XG4gIHJldHVybiAhcy5tYXRjaCgvW1xccHtDY31cXHB7Q259XFxwe0NzfV0rL2d1KTtcbn1cblxuZXhwb3J0IGNsYXNzIFBhcnNlciB7XG4gIHN0YXRpYyBQQVJTRV9BTEw6IFBhcnNlckFyZ3MgPSB7XG4gICAgcGFyc2VTY3JpcHREYXRhOiB0cnVlLFxuICAgIHBhcnNlU2NyaXB0QXNtOiB0cnVlLFxuICAgIHBhcnNlU2lnbmF0dXJlRGF0YTogdHJ1ZSxcbiAgICBwYXJzZU91dHB1dFNjcmlwdDogdHJ1ZSxcbiAgfTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBhcmFtczogUGFyc2VyQXJncykge31cblxuICBub2RlKGxhYmVsOiBzdHJpbmcgfCBudW1iZXIsIHZhbHVlOiBUeE5vZGVWYWx1ZSwgbm9kZXM6IFR4Tm9kZVtdID0gW10pOiBUeE5vZGUge1xuICAgIHJldHVybiB7XG4gICAgICB0eXBlOiAnbm9kZScsXG4gICAgICBsYWJlbDogU3RyaW5nKGxhYmVsKSxcbiAgICAgIHZhbHVlLFxuICAgICAgbm9kZXMsXG4gICAgfTtcbiAgfVxuXG4gIHBhcnNlU2NyaXB0QXNtKHR5cGU6IHN0cmluZywgcGFydDogQnVmZmVyLCBpOiBudW1iZXIsIG46IG51bWJlcik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKFxuICAgICAgKHR5cGUgPT09ICd0YXByb290JyAmJiBpID09PSBuIC0gMikgfHxcbiAgICAgICgodHlwZSA9PT0gJ3NjcmlwdGhhc2gnIHx8IHR5cGUgPT09ICd3aXRuZXNzc2NyaXB0aGFzaCcpICYmIGkgPT09IG4gLSAxKVxuICAgICkge1xuICAgICAgbGV0IHBhcnNlZDtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgcGFyc2VkID0gdXR4b2xpYi5zY3JpcHQudG9BU00ocGFydCk7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIHJldHVybiAnZXJyb3InO1xuICAgICAgfVxuXG4gICAgICBpZiAocGFyc2VkKSB7XG4gICAgICAgIHJldHVybiBbJycsIC4uLnBhcnNlZC5zcGxpdCgnICcpXS5qb2luKCdcXG4nKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwYXJzZVNjcmlwdFBhcnRzKHR5cGU6IHN0cmluZywgcGFydHM6IEFycmF5PEJ1ZmZlciB8IG51bWJlcj4pOiBUeE5vZGVbXSB7XG4gICAgcmV0dXJuIHBhcnRzLm1hcCgodiwgaSkgPT4ge1xuICAgICAgbGV0IGFzbU5vZGU6IFR4Tm9kZSB8IHVuZGVmaW5lZDtcbiAgICAgIGlmICh0aGlzLnBhcmFtcy5wYXJzZVNjcmlwdEFzbSAmJiBCdWZmZXIuaXNCdWZmZXIodikpIHtcbiAgICAgICAgY29uc3QgcGFyc2VkID0gdGhpcy5wYXJzZVNjcmlwdEFzbSh0eXBlLCB2LCBpLCBwYXJ0cy5sZW5ndGgpO1xuICAgICAgICBhc21Ob2RlID0gcGFyc2VkID8gdGhpcy5ub2RlKCdhc20nLCBwYXJzZWQpIDogdW5kZWZpbmVkO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdGhpcy5ub2RlKGksIHRoaXMucGFyYW1zLnBhcnNlU2NyaXB0RGF0YSA/IHYgOiB1bmRlZmluZWQsIGFzbU5vZGUgPyBbYXNtTm9kZV0gOiB1bmRlZmluZWQpO1xuICAgIH0pO1xuICB9XG5cbiAgcGFyc2VJbnB1dFNjcmlwdChidWZmZXI6IEJ1ZmZlcik6IFR4Tm9kZSB7XG4gICAgbGV0IHZhbHVlO1xuICAgIGxldCBub2RlcztcbiAgICBpZiAoYnVmZmVyLmxlbmd0aCAmJiB0aGlzLnBhcmFtcy5wYXJzZVNpZ25hdHVyZURhdGEpIHtcbiAgICAgIGNvbnN0IHR5cGUgPSB1dHhvbGliLmNsYXNzaWZ5LmlucHV0KGJ1ZmZlciwgdHJ1ZSkgPz8gJ3Vua25vd24nO1xuICAgICAgY29uc3QgZGVjb21waWxlZCA9IHV0eG9saWIuc2NyaXB0LmRlY29tcGlsZShidWZmZXIpO1xuICAgICAgaWYgKGRlY29tcGlsZWQpIHtcbiAgICAgICAgbm9kZXMgPSB0aGlzLnBhcnNlU2NyaXB0UGFydHModHlwZSwgZGVjb21waWxlZCk7XG4gICAgICB9XG4gICAgICB2YWx1ZSA9IHR5cGU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhbHVlID0gYnVmZmVyO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLm5vZGUoJ3NjcmlwdFNpZycsIHZhbHVlLCBub2Rlcyk7XG4gIH1cblxuICBwYXJzZVdpdG5lc3Moc2NyaXB0OiBCdWZmZXJbXSk6IFR4Tm9kZSB7XG4gICAgaWYgKHNjcmlwdC5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiB0aGlzLm5vZGUoJ3dpdG5lc3MnLCAnW10nKTtcbiAgICB9XG4gICAgY29uc3QgdHlwZSA9IHV0eG9saWIuY2xhc3NpZnkud2l0bmVzcyhzY3JpcHQsIHRydWUpID8/ICd1bmtub3duJztcbiAgICByZXR1cm4gdGhpcy5ub2RlKCd3aXRuZXNzJywgdHlwZSwgdGhpcy5wYXJhbXMucGFyc2VTY3JpcHREYXRhID8gdGhpcy5wYXJzZVNjcmlwdFBhcnRzKHR5cGUsIHNjcmlwdCkgOiB1bmRlZmluZWQpO1xuICB9XG5cbiAgcGFyc2VQdWJrZXlzKHBhcnNlZDogdXR4b2xpYi5iaXRnby5QYXJzZWRTaWduYXR1cmVTY3JpcHQyT2YzKTogVHhOb2RlIHtcbiAgICByZXR1cm4gdGhpcy5ub2RlKFxuICAgICAgJ3B1YmtleXMnLFxuICAgICAgcGFyc2VkLnB1YmxpY0tleXMubGVuZ3RoLFxuICAgICAgcGFyc2VkLnB1YmxpY0tleXMubWFwKChrLCBpKSA9PiB0aGlzLm5vZGUoaSwgaykpXG4gICAgKTtcbiAgfVxuXG4gIHBhcnNlU2lnbmF0dXJlcyhcbiAgICBwYXJzZWQ6IHV0eG9saWIuYml0Z28uUGFyc2VkU2lnbmF0dXJlU2NyaXB0Mk9mMyxcbiAgICB0eDogdXR4b2xpYi5iaXRnby5VdHhvVHJhbnNhY3Rpb24sXG4gICAgaW5wdXRJbmRleDogbnVtYmVyLFxuICAgIHByZXZPdXRwdXRzPzogdXR4b2xpYi5UeE91dHB1dFtdXG4gICk6IFR4Tm9kZSB7XG4gICAgY29uc3Qgbm9kZXMgPSBbXTtcbiAgICBpZiAocHJldk91dHB1dHMpIHtcbiAgICAgIGNvbnN0IHNpZ25lZEJ5ID0gdXR4b2xpYi5iaXRnby52ZXJpZnlTaWduYXR1cmVXaXRoUHVibGljS2V5cyh0eCwgaW5wdXRJbmRleCwgcHJldk91dHB1dHMsIHBhcnNlZC5wdWJsaWNLZXlzKTtcbiAgICAgIG5vZGVzLnB1c2godGhpcy5ub2RlKCdzaWduZWQgYnknLCBgWyR7c2lnbmVkQnkuZmxhdE1hcCgodiwgaSkgPT4gKHYgPyBbaV0gOiBbXSkpLmpvaW4oJywgJyl9XWApKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMubm9kZShcbiAgICAgICdzaWduYXR1cmVzJyxcbiAgICAgIHBhcnNlZC5zaWduYXR1cmVzXG4gICAgICAgIC5tYXAoKHM6IEJ1ZmZlciB8IDApID0+XG4gICAgICAgICAgdXR4b2xpYi5iaXRnby5pc1BsYWNlaG9sZGVyU2lnbmF0dXJlKHMpID8gJ1tdJyA6IEJ1ZmZlci5pc0J1ZmZlcihzKSA/IGBbJHtzLmxlbmd0aH1ieXRlXWAgOiBgWyR7c31dYFxuICAgICAgICApXG4gICAgICAgIC5qb2luKCcgJyksXG4gICAgICBub2Rlc1xuICAgICk7XG4gIH1cblxuICBwYXJzZVNpZ1NjcmlwdCh0eDogdXR4b2xpYi5iaXRnby5VdHhvVHJhbnNhY3Rpb24sIGlucHV0SW5kZXg6IG51bWJlciwgcHJldk91dHB1dHM/OiB1dHhvbGliLlR4T3V0cHV0W10pOiBUeE5vZGUge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBwYXJzZWQgPSB1dHhvbGliLmJpdGdvLnBhcnNlU2lnbmF0dXJlU2NyaXB0KHR4Lmluc1tpbnB1dEluZGV4XSk7XG4gICAgICByZXR1cm4gdGhpcy5ub2RlKFxuICAgICAgICAnc2lnU2NyaXB0JyxcbiAgICAgICAgcGFyc2VkLnNjcmlwdFR5cGUgPz8gJ3Vua25vd24nLFxuICAgICAgICBwYXJzZWQuc2NyaXB0VHlwZSAmJiB1dHhvbGliLmJpdGdvLm91dHB1dFNjcmlwdHMuaXNTY3JpcHRUeXBlMk9mMyhwYXJzZWQuc2NyaXB0VHlwZSlcbiAgICAgICAgICA/IFtcbiAgICAgICAgICAgICAgdGhpcy5wYXJzZVB1YmtleXMocGFyc2VkIGFzIHV0eG9saWIuYml0Z28uUGFyc2VkU2lnbmF0dXJlU2NyaXB0Mk9mMyksXG4gICAgICAgICAgICAgIHRoaXMucGFyc2VTaWduYXR1cmVzKHBhcnNlZCBhcyB1dHhvbGliLmJpdGdvLlBhcnNlZFNpZ25hdHVyZVNjcmlwdDJPZjMsIHR4LCBpbnB1dEluZGV4LCBwcmV2T3V0cHV0cyksXG4gICAgICAgICAgICBdXG4gICAgICAgICAgOiBbXVxuICAgICAgKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICByZXR1cm4gdGhpcy5ub2RlKCdlcnJvcicsIFN0cmluZyhlKSk7XG4gICAgfVxuICB9XG5cbiAgcGFyc2VQcmV2T3V0KFxuICAgIGlucHV0OiB1dHhvbGliLlR4SW5wdXQsXG4gICAgaTogbnVtYmVyLFxuICAgIG5ldHdvcms6IHV0eG9saWIuTmV0d29yayxcbiAgICBwcmV2T3V0cHV0cz86IHV0eG9saWIuVHhPdXRwdXRbXVxuICApOiBUeE5vZGVbXSB7XG4gICAgaWYgKCFwcmV2T3V0cHV0cyB8fCAhcHJldk91dHB1dHNbaV0pIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG4gICAgY29uc3QgeyBzY3JpcHQsIHZhbHVlIH0gPSBwcmV2T3V0cHV0c1tpXTtcbiAgICBsZXQgYWRkcmVzcztcbiAgICB0cnkge1xuICAgICAgYWRkcmVzcyA9IHV0eG9saWIuYWRkcmVzcy5mcm9tT3V0cHV0U2NyaXB0KHNjcmlwdCwgbmV0d29yayk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgYWRkcmVzcyA9ICcoZXJyb3IpJztcbiAgICB9XG4gICAgcmV0dXJuIFtcbiAgICAgIHRoaXMubm9kZSgndmFsdWUnLCB2YWx1ZSAvIDFlOCksXG4gICAgICB0aGlzLm5vZGUoJ3B1YlNjcmlwdCcsIHNjcmlwdCwgYWRkcmVzcyA/IFt0aGlzLm5vZGUoJ2FkZHJlc3MnLCBhZGRyZXNzKV0gOiB1bmRlZmluZWQpLFxuICAgIF07XG4gIH1cblxuICBwYXJzZVNwZW5kKHR4aWQ6IHN0cmluZywgaW5kZXg6IG51bWJlciwgc3BlbmRzOiBPdXRwdXRTcGVuZFtdIHwgdW5kZWZpbmVkLCBwYXJhbXM6IHsgY29uZmxpY3Q6IGJvb2xlYW4gfSk6IFR4Tm9kZVtdIHtcbiAgICBpZiAoIXNwZW5kcyB8fCAhc3BlbmRzW2luZGV4XSkge1xuICAgICAgLy8gbm8gc3BlbmQgZGF0YSBhdmFpbGFibGVcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG4gICAgY29uc3Qgc3BlbmQgPSBzcGVuZHNbaW5kZXhdO1xuICAgIGlmIChzcGVuZC50eGlkID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBbdGhpcy5ub2RlKCdzcGVudCcsIGZhbHNlKV07XG4gICAgfVxuICAgIGlmIChzcGVuZC50eGlkID09PSB0eGlkKSB7XG4gICAgICAvLyBpZiBpbnB1dCBpcyBzcGVudCBieSB0aGlzIHRyYW5zYWN0aW9uIHdlIGRvbid0IGRpc3BsYXkgaXRcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG4gICAgcmV0dXJuIFt0aGlzLm5vZGUoJ3NwZW50JywgYCR7c3BlbmQudHhpZH06JHtzcGVuZC52aW59YCwgcGFyYW1zLmNvbmZsaWN0ID8gW3RoaXMubm9kZSgnY29uZmxpY3QnLCB0cnVlKV0gOiBbXSldO1xuICB9XG5cbiAgcGFyc2VJbnMoaW5zOiB1dHhvbGliLlR4SW5wdXRbXSwgdHg6IHV0eG9saWIuYml0Z28uVXR4b1RyYW5zYWN0aW9uLCBvdXRwdXRJbmZvOiBDaGFpbkluZm8pOiBUeE5vZGVbXSB7XG4gICAgY29uc3QgdHhpZCA9IHR4LmdldElkKCk7XG4gICAgcmV0dXJuIGlucy5tYXAoKGlucHV0LCBpKSA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5ub2RlKGksIHV0eG9saWIuYml0Z28uZm9ybWF0T3V0cHV0SWQodXR4b2xpYi5iaXRnby5nZXRPdXRwdXRJZEZvcklucHV0KGlucHV0KSksIFtcbiAgICAgICAgdGhpcy5ub2RlKCdzZXF1ZW5jZScsIHRvQnVmZmVyVUludDMyQkUoaW5wdXQuc2VxdWVuY2UpKSxcbiAgICAgICAgdGhpcy5wYXJzZUlucHV0U2NyaXB0KGlucHV0LnNjcmlwdCksXG4gICAgICAgIHRoaXMucGFyc2VXaXRuZXNzKGlucHV0LndpdG5lc3MpLFxuICAgICAgICB0aGlzLnBhcnNlU2lnU2NyaXB0KHR4LCBpLCBvdXRwdXRJbmZvLnByZXZPdXRwdXRzKSxcbiAgICAgICAgLi4udGhpcy5wYXJzZVByZXZPdXQoaW5wdXQsIGksIHR4Lm5ldHdvcmssIG91dHB1dEluZm8ucHJldk91dHB1dHMpLFxuICAgICAgICAuLi50aGlzLnBhcnNlU3BlbmQodHhpZCwgaSwgb3V0cHV0SW5mby5wcmV2T3V0cHV0U3BlbmRzLCB7IGNvbmZsaWN0OiB0cnVlIH0pLFxuICAgICAgXSk7XG4gICAgfSk7XG4gIH1cblxuICB0cnlQYXJzZU9wUmV0dXJuKHNjcmlwdDogQnVmZmVyKTogVHhOb2RlW10ge1xuICAgIGxldCBkYXRhOiBCdWZmZXJbXSB8IHVuZGVmaW5lZDtcbiAgICB0cnkge1xuICAgICAgKHsgZGF0YSB9ID0gdXR4b2xpYi5wYXltZW50cy5lbWJlZCh7IG91dHB1dDogc2NyaXB0IH0pKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICAvLyBpZ25vcmVcbiAgICB9XG4gICAgaWYgKCFkYXRhKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuICAgIHJldHVybiBkYXRhLm1hcCgoYnVmLCBpKSA9PiB7XG4gICAgICBsZXQgdXRmODtcbiAgICAgIHRyeSB7XG4gICAgICAgIHV0ZjggPSBidWYudG9TdHJpbmcoJ3V0ZjgnKTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgLy8gaWdub3JlXG4gICAgICB9XG4gICAgICByZXR1cm4gdGhpcy5ub2RlKGBPUF9SRVRVUk4gJHtpfWAsIGAke2J1Zi5sZW5ndGh9IGJ5dGVzYCwgW1xuICAgICAgICB0aGlzLm5vZGUoJ2hleCcsIGJ1ZiksXG4gICAgICAgIC4uLih1dGY4ICYmIGlzUHJpbnRhYmxlKHV0ZjgpID8gW3RoaXMubm9kZSgndXRmOCcsIHV0ZjgpXSA6IFtdKSxcbiAgICAgIF0pO1xuICAgIH0pO1xuICB9XG5cbiAgcGFyc2VPdXRwdXRTY3JpcHQoYnVmZmVyOiBCdWZmZXIpOiBUeE5vZGVbXSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIHRoaXMubm9kZSgnc2NyaXB0UHViS2V5JywgYCR7YnVmZmVyLmxlbmd0aH0gYnl0ZXNgLCBbXG4gICAgICAgIHRoaXMubm9kZSgnaGV4JywgYnVmZmVyLnRvU3RyaW5nKCdoZXgnKSksXG4gICAgICAgIHRoaXMubm9kZSgnYXNtJywgdXR4b2xpYi5zY3JpcHQudG9BU00oYnVmZmVyKSwgdGhpcy50cnlQYXJzZU9wUmV0dXJuKGJ1ZmZlcikpLFxuICAgICAgXSksXG4gICAgXTtcbiAgfVxuXG4gIHBhcnNlT3V0cHV0KHR4aWQ6IHN0cmluZywgbzogdXR4b2xpYi5UeE91dHB1dCwgaTogbnVtYmVyLCBuZXR3b3JrOiB1dHhvbGliLk5ldHdvcmssIHBhcmFtczogQ2hhaW5JbmZvKTogVHhOb2RlIHtcbiAgICBjb25zdCB0eXBlID0gdXR4b2xpYi5jbGFzc2lmeS5vdXRwdXQoby5zY3JpcHQpO1xuXG4gICAgbGV0IGFkZHJlc3M7XG4gICAgdHJ5IHtcbiAgICAgIGFkZHJlc3MgPSB1dHhvbGliLmFkZHJlc3MuZnJvbU91dHB1dFNjcmlwdChvLnNjcmlwdCwgbmV0d29yayk7XG4gICAgfSBjYXRjaCAoZSkge31cblxuICAgIHJldHVybiB0aGlzLm5vZGUoaSwgYWRkcmVzcyA/PyAnKG5vIGFkZHJlc3MpJywgW1xuICAgICAgdGhpcy5ub2RlKGB2YWx1ZWAsIGZvcm1hdFNhdChvLnZhbHVlKSksXG4gICAgICB0aGlzLm5vZGUoYHR5cGVgLCB0eXBlKSxcbiAgICAgIC4uLih0aGlzLnBhcmFtcy5wYXJzZU91dHB1dFNjcmlwdCB8fCBhZGRyZXNzID09PSB1bmRlZmluZWQgPyB0aGlzLnBhcnNlT3V0cHV0U2NyaXB0KG8uc2NyaXB0KSA6IFtdKSxcbiAgICAgIC4uLnRoaXMucGFyc2VTcGVuZCh0eGlkLCBpLCBwYXJhbXMub3V0cHV0U3BlbmRzLCB7IGNvbmZsaWN0OiBmYWxzZSB9KSxcbiAgICBdKTtcbiAgfVxuXG4gIHBhcnNlT3V0cyhvdXRzOiB1dHhvbGliLlR4T3V0cHV0W10sIHR4OiB1dHhvbGliLmJpdGdvLlV0eG9UcmFuc2FjdGlvbiwgcGFyYW1zOiBDaGFpbkluZm8pOiBUeE5vZGVbXSB7XG4gICAgaWYgKG91dHMubGVuZ3RoID4gKHRoaXMucGFyYW1zLm1heE91dHB1dHMgPz8gMjAwKSkge1xuICAgICAgcmV0dXJuIFt0aGlzLm5vZGUoJyhvbWl0dGVkKScsIHVuZGVmaW5lZCldO1xuICAgIH1cblxuICAgIGNvbnN0IHR4aWQgPSB0eC5nZXRJZCgpO1xuICAgIHJldHVybiBvdXRzLm1hcCgobywgaSkgPT4gdGhpcy5wYXJzZU91dHB1dCh0eGlkLCBvLCBpLCB0eC5uZXR3b3JrLCBwYXJhbXMpKTtcbiAgfVxuXG4gIHBhcnNlU3RhdHVzKHR4OiB1dHhvbGliLmJpdGdvLlV0eG9UcmFuc2FjdGlvbiwgc3RhdHVzPzogVHJhbnNhY3Rpb25TdGF0dXMpOiBUeE5vZGVbXSB7XG4gICAgaWYgKCFzdGF0dXMpIHtcbiAgICAgIHJldHVybiBbdGhpcy5ub2RlKCdzdGF0dXMnLCAndW5rbm93bicpXTtcbiAgICB9XG4gICAgcmV0dXJuIFtcbiAgICAgIHRoaXMubm9kZShcbiAgICAgICAgJ3N0YXR1cycsXG4gICAgICAgIHN0YXR1cy5mb3VuZCA/ICdmb3VuZCcgOiAnbm90IGZvdW5kJyxcbiAgICAgICAgc3RhdHVzLmZvdW5kXG4gICAgICAgICAgPyBzdGF0dXMuY29uZmlybWVkXG4gICAgICAgICAgICA/IFtcbiAgICAgICAgICAgICAgICB0aGlzLm5vZGUoXG4gICAgICAgICAgICAgICAgICAnY29uZmlybWVkJyxcbiAgICAgICAgICAgICAgICAgIGBibG9jayAke3N0YXR1cy5ibG9ja0hlaWdodH1gICsgKHN0YXR1cy5kYXRlID8gYCBkYXRlPSR7c3RhdHVzLmRhdGUudG9JU09TdHJpbmcoKX1gIDogJycpXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgOiBbdGhpcy5ub2RlKCdjb25maXJtZWQnLCBmYWxzZSldXG4gICAgICAgICAgOiBbXVxuICAgICAgKSxcbiAgICBdO1xuICB9XG5cbiAgcGFyc2VWZXJzaW9uKHR4OiB1dHhvbGliLmJpdGdvLlV0eG9UcmFuc2FjdGlvbik6IFR4Tm9kZSB7XG4gICAgcmV0dXJuIHRoaXMubm9kZShcbiAgICAgICd2ZXJzaW9uJyxcbiAgICAgIHR4LnZlcnNpb24sXG4gICAgICB0eCBpbnN0YW5jZW9mIHV0eG9saWIuYml0Z28uWmNhc2hUcmFuc2FjdGlvblxuICAgICAgICA/IFtcbiAgICAgICAgICAgIHRoaXMubm9kZSgnY29uc2Vuc3VzQnJhbmNoSWQgKGluZmVycmVkKScsIHR4LmNvbnNlbnN1c0JyYW5jaElkLnRvU3RyaW5nKDE2KSwgW1xuICAgICAgICAgICAgICB0aGlzLm5vZGUoJ25hbWUnLCBmb3JtYXRDb25zZW5zdXNCcmFuY2hJZCh0eC5jb25zZW5zdXNCcmFuY2hJZCkpLFxuICAgICAgICAgICAgXSksXG4gICAgICAgICAgXVxuICAgICAgICA6IFtdXG4gICAgKTtcbiAgfVxuXG4gIHBhcnNlKHR4OiB1dHhvbGliLmJpdGdvLlV0eG9UcmFuc2FjdGlvbiwgY2hhaW5JbmZvOiBDaGFpbkluZm8gPSB7fSk6IFR4Tm9kZSB7XG4gICAgY29uc3Qgd2VpZ2h0ID0gdHgud2VpZ2h0KCk7XG4gICAgY29uc3QgdnNpemUgPSB0eC52aXJ0dWFsU2l6ZSgpO1xuICAgIGNvbnN0IG91dHB1dFN1bSA9IHR4Lm91dHMucmVkdWNlKChzdW0sIG8pID0+IHN1bSArIG8udmFsdWUsIDApO1xuICAgIGNvbnN0IGlucHV0U3VtID0gY2hhaW5JbmZvLnByZXZPdXRwdXRzPy5yZWR1Y2UoKHN1bSwgbykgPT4gc3VtICsgby52YWx1ZSwgMCk7XG4gICAgY29uc3QgZmVlID0gaW5wdXRTdW0gPyBpbnB1dFN1bSAtIG91dHB1dFN1bSA6IHVuZGVmaW5lZDtcbiAgICBjb25zdCBmZWVSYXRlID0gZmVlID8gZmVlIC8gdnNpemUgOiB1bmRlZmluZWQ7XG4gICAgcmV0dXJuIHRoaXMubm9kZSgndHJhbnNhY3Rpb24nLCB0eC5nZXRJZCgpLCBbXG4gICAgICB0aGlzLm5vZGUoXG4gICAgICAgICdwYXJzZWRBcycsXG4gICAgICAgIGAke3V0eG9saWIuZ2V0TmV0d29ya05hbWUodXR4b2xpYi5nZXRNYWlubmV0KHR4Lm5ldHdvcmspKX0gYCArXG4gICAgICAgICAgYCR7dXR4b2xpYi5pc01haW5uZXQodHgubmV0d29yaykgPyAnbWFpbm5ldCcgOiAndGVzdG5ldCd9YFxuICAgICAgKSxcbiAgICAgIHRoaXMucGFyc2VWZXJzaW9uKHR4KSxcbiAgICAgIHRoaXMubm9kZSgnbG9ja3RpbWUnLCB0eC5sb2NrdGltZSksXG4gICAgICB0aGlzLm5vZGUoJ2hhc1dpdG5lc3NlcycsIHR4Lmhhc1dpdG5lc3NlcygpKSxcbiAgICAgIC4uLnRoaXMucGFyc2VTdGF0dXModHgsIGNoYWluSW5mby5zdGF0dXMpLFxuICAgICAgdGhpcy5ub2RlKCd2c2l6ZScsIGAke3ZzaXplfXZieXRlcyAoJHt3ZWlnaHR9d3UpYCksXG4gICAgICAuLi4oZmVlICYmIGZlZVJhdGVcbiAgICAgICAgPyBbdGhpcy5ub2RlKCdmZWUgW2J0Y10nLCBmb3JtYXRTYXQoZmVlKSksIHRoaXMubm9kZSgnZmVlUmF0ZSBbc2F0L3ZieXRlXScsIGZlZVJhdGUudG9GaXhlZCgyKSldXG4gICAgICAgIDogW10pLFxuICAgICAgdGhpcy5ub2RlKFxuICAgICAgICBgaW5wdXRzYCxcbiAgICAgICAgW1N0cmluZyh0eC5pbnMubGVuZ3RoKV0uY29uY2F0KGlucHV0U3VtID8gWydzdW09JyArIGZvcm1hdFNhdChpbnB1dFN1bSldIDogW10pLmpvaW4oJyAnKSxcbiAgICAgICAgdGhpcy5wYXJzZUlucyh0eC5pbnMsIHR4LCBjaGFpbkluZm8pXG4gICAgICApLFxuICAgICAgdGhpcy5ub2RlKFxuICAgICAgICBgb3V0cHV0c2AsXG4gICAgICAgIFtTdHJpbmcodHgub3V0cy5sZW5ndGgpLCAnc3VtPScgKyBmb3JtYXRTYXQob3V0cHV0U3VtKV0uam9pbignICcpLFxuICAgICAgICB0aGlzLnBhcnNlT3V0cyh0eC5vdXRzLCB0eCwgY2hhaW5JbmZvKVxuICAgICAgKSxcbiAgICBdKTtcbiAgfVxufVxuIl19
@@ -572,8 +572,8 @@
572
572
  "affectsGlobalScope": false
573
573
  },
574
574
  "../../utxo-lib/dist/src/bitgo/wallet/chains.d.ts": {
575
- "version": "6ce6a8601f29de908fc469c72725f4290823ce82609a5ec28e330a5db6bcd10e",
576
- "signature": "6ce6a8601f29de908fc469c72725f4290823ce82609a5ec28e330a5db6bcd10e",
575
+ "version": "5d9e513b609f35338bbf8cc5fd267e87a22a6841d7b51155933a6397274be0cd",
576
+ "signature": "5d9e513b609f35338bbf8cc5fd267e87a22a6841d7b51155933a6397274be0cd",
577
577
  "affectsGlobalScope": false
578
578
  },
579
579
  "../../utxo-lib/dist/src/bitgo/outputscripts.d.ts": {
@@ -732,8 +732,8 @@
732
732
  "affectsGlobalScope": false
733
733
  },
734
734
  "../src/parse.ts": {
735
- "version": "a4ac23e5fc4bad4d065eaa866e0a74009d086a835f244d89d7c1bbe10a468682",
736
- "signature": "8cb9d72137b9dd536e80d96de7a847379641cd941d3f70e13ffdca36ac67a89c",
735
+ "version": "2512200b4a5ced6a8c63dee69ce96afaacf06bcdded45a96437906cf248f47e3",
736
+ "signature": "d4aead9a4c6e23d938a7141037006ee056a383a16dfb7a614eaaf5aa912f10f4",
737
737
  "affectsGlobalScope": false
738
738
  },
739
739
  "../../../node_modules/chalk/index.d.ts": {
@@ -747,18 +747,18 @@
747
747
  "affectsGlobalScope": false
748
748
  },
749
749
  "../src/format.ts": {
750
- "version": "2d90612e2701d5951e53aa0d422a463871a2329d8c8a9f49a3a628fabad0fd03",
750
+ "version": "c7c7ef4076e3c6cc4eb75cac9114755b0e819a2141125a8321446464c631c9cc",
751
751
  "signature": "472b3568d532016dce463342906def74aab35e526d9d2dbcbfb62e1085766c74",
752
752
  "affectsGlobalScope": false
753
753
  },
754
754
  "../../statics/dist/src/networks.d.ts": {
755
- "version": "4c36958e50e09365994cc91fd27d0fb0d10a39dddd7f77a1dcddfdaa7c6b5fa9",
756
- "signature": "4c36958e50e09365994cc91fd27d0fb0d10a39dddd7f77a1dcddfdaa7c6b5fa9",
755
+ "version": "2e3f57b4d16cb4372e4641e06c526223cf4ef553c99429d25c0b9c22c4cc19ac",
756
+ "signature": "2e3f57b4d16cb4372e4641e06c526223cf4ef553c99429d25c0b9c22c4cc19ac",
757
757
  "affectsGlobalScope": false
758
758
  },
759
759
  "../../statics/dist/src/base.d.ts": {
760
- "version": "a30f4db4a32849b1cb82533e578aafd5f98a2466edddb00437a9982c39791a7e",
761
- "signature": "a30f4db4a32849b1cb82533e578aafd5f98a2466edddb00437a9982c39791a7e",
760
+ "version": "cb257b083cd56fc7ba6ea8cd6ec06be908fcd16a58fe9d86c253ffbf0e93268b",
761
+ "signature": "cb257b083cd56fc7ba6ea8cd6ec06be908fcd16a58fe9d86c253ffbf0e93268b",
762
762
  "affectsGlobalScope": false
763
763
  },
764
764
  "../../statics/dist/src/map.d.ts": {
@@ -777,8 +777,8 @@
777
777
  "affectsGlobalScope": false
778
778
  },
779
779
  "../../statics/dist/src/tokenconfig.d.ts": {
780
- "version": "10b1b09442e6f17047634b0208d74044700f638c85cf8981d9ce04ff1f4927dc",
781
- "signature": "10b1b09442e6f17047634b0208d74044700f638c85cf8981d9ce04ff1f4927dc",
780
+ "version": "98cea704d5b32d9845455cee88fea30c3dbbb45696342dd693736e80cff51aa7",
781
+ "signature": "98cea704d5b32d9845455cee88fea30c3dbbb45696342dd693736e80cff51aa7",
782
782
  "affectsGlobalScope": false
783
783
  },
784
784
  "../../statics/dist/src/ofc.d.ts": {
@@ -792,8 +792,8 @@
792
792
  "affectsGlobalScope": false
793
793
  },
794
794
  "../../statics/dist/src/account.d.ts": {
795
- "version": "0d3891618ed8ef609641e6bd5502f510ca8164e283e2c18d56fe1d33d93c8d87",
796
- "signature": "0d3891618ed8ef609641e6bd5502f510ca8164e283e2c18d56fe1d33d93c8d87",
795
+ "version": "a929c54cf44eeedc4c3ba32c346351de4649c48684c098f09f5c402a69cd2886",
796
+ "signature": "a929c54cf44eeedc4c3ba32c346351de4649c48684c098f09f5c402a69cd2886",
797
797
  "affectsGlobalScope": false
798
798
  },
799
799
  "../../statics/dist/src/index.d.ts": {
@@ -807,7 +807,7 @@
807
807
  "affectsGlobalScope": false
808
808
  },
809
809
  "../src/commands.ts": {
810
- "version": "5bb432e4d146aac2ea17b998845aefacf2985c55c0ae02f241fbeb1b9351b141",
810
+ "version": "4a55b8995404673e1e93c2c9fe38519db6ea0764d0f57687f727dae424cfcf18",
811
811
  "signature": "08e5d14efee1e66c00449521398cd4b4da6ee587ffb4235d1c6ccf9294e48174",
812
812
  "affectsGlobalScope": false
813
813
  },
@@ -931,6 +931,11 @@
931
931
  "signature": "dc33ce27fbeaf0ea3da556c80a6cc8af9d13eb443088c8f25cdc39fca8e756f6",
932
932
  "affectsGlobalScope": false
933
933
  },
934
+ "../../../node_modules/@types/ethereumjs-util/node_modules/@types/bn.js/index.d.ts": {
935
+ "version": "cdac7e46e615e1fdcca7c3a2aab2fbd19085443048733cf239a090f7a17efa27",
936
+ "signature": "cdac7e46e615e1fdcca7c3a2aab2fbd19085443048733cf239a090f7a17efa27",
937
+ "affectsGlobalScope": false
938
+ },
934
939
  "../../../node_modules/@types/ethereumjs-util/index.d.ts": {
935
940
  "version": "085d4c9f010e6f363961dd1939a851d029b97994f705d79f2a72a0c88a5c4bc5",
936
941
  "signature": "085d4c9f010e6f363961dd1939a851d029b97994f705d79f2a72a0c88a5c4bc5",
@@ -1689,6 +1694,9 @@
1689
1694
  "../../../node_modules/@types/bn.js/index.d.ts",
1690
1695
  "../../../node_modules/@types/node/index.d.ts"
1691
1696
  ],
1697
+ "../../../node_modules/@types/ethereumjs-util/node_modules/@types/bn.js/index.d.ts": [
1698
+ "../../../node_modules/@types/node/index.d.ts"
1699
+ ],
1692
1700
  "../../../node_modules/@types/eventsource/index.d.ts": [
1693
1701
  "../../../node_modules/@types/eventsource/dom-monkeypatch.d.ts"
1694
1702
  ],
@@ -2375,6 +2383,7 @@
2375
2383
  "../../../node_modules/@types/superagent/index.d.ts"
2376
2384
  ],
2377
2385
  "../../blockapis/dist/src/impl/blockchairapi.d.ts": [
2386
+ "../../../node_modules/@types/node/util.d.ts",
2378
2387
  "../../blockapis/dist/src/addressapi.d.ts",
2379
2388
  "../../blockapis/dist/src/basehttpclient.d.ts",
2380
2389
  "../../blockapis/dist/src/transactionapi.d.ts",
@@ -2382,6 +2391,7 @@
2382
2391
  "../../utxo-lib/dist/src/index.d.ts"
2383
2392
  ],
2384
2393
  "../../blockapis/dist/src/impl/blockstreamapi.d.ts": [
2394
+ "../../../node_modules/@types/node/util.d.ts",
2385
2395
  "../../blockapis/dist/src/addressapi.d.ts",
2386
2396
  "../../blockapis/dist/src/basehttpclient.d.ts",
2387
2397
  "../../blockapis/dist/src/transactionapi.d.ts",
@@ -2467,10 +2477,12 @@
2467
2477
  ],
2468
2478
  "../../utxo-lib/dist/src/bitgo/bitcoincash/address.d.ts": [
2469
2479
  "../../../node_modules/@types/node/index.d.ts",
2480
+ "../../../node_modules/@types/node/util.d.ts",
2470
2481
  "../../utxo-lib/dist/src/addressformat.d.ts",
2471
2482
  "../../utxo-lib/dist/src/networks.d.ts"
2472
2483
  ],
2473
2484
  "../../utxo-lib/dist/src/bitgo/bitcoincash/index.d.ts": [
2485
+ "../../../node_modules/@types/node/util.d.ts",
2474
2486
  "../../utxo-lib/dist/src/bitgo/bitcoincash/address.d.ts"
2475
2487
  ],
2476
2488
  "../../utxo-lib/dist/src/bitgo/dash/dashtransaction.d.ts": [
@@ -2610,17 +2622,21 @@
2610
2622
  "../../utxo-lib/dist/src/bitgo/index.d.ts",
2611
2623
  "../../utxo-lib/dist/src/networks.d.ts"
2612
2624
  ],
2625
+ "../../../node_modules/@types/aria-query/index.d.ts": [
2626
+ "../../../node_modules/@types/node/util.d.ts"
2627
+ ],
2613
2628
  "../../../node_modules/@types/bn.js/index.d.ts": [
2614
2629
  "../../../node_modules/@types/node/index.d.ts"
2615
2630
  ],
2616
2631
  "../../../node_modules/@types/body-parser/index.d.ts": [
2617
2632
  "../../../node_modules/@types/connect/index.d.ts",
2618
- "../../../node_modules/@types/node/http.d.ts",
2619
- "../../../node_modules/@types/node/index.d.ts"
2633
+ "../node_modules/@types/node/http.d.ts",
2634
+ "../node_modules/@types/node/index.d.ts"
2620
2635
  ],
2621
2636
  "../../../node_modules/@types/bonjour/index.d.ts": [
2622
2637
  "../../../node_modules/@types/node/dgram.d.ts",
2623
- "../../../node_modules/@types/node/index.d.ts"
2638
+ "../../../node_modules/@types/node/index.d.ts",
2639
+ "../../../node_modules/@types/node/util.d.ts"
2624
2640
  ],
2625
2641
  "../../../node_modules/@types/bs58/index.d.ts": [
2626
2642
  "../../../node_modules/base-x/src/index.d.ts"
@@ -2628,24 +2644,25 @@
2628
2644
  "../../../node_modules/@types/connect-history-api-fallback/index.d.ts": [
2629
2645
  "../../../node_modules/@types/express-serve-static-core/index.d.ts",
2630
2646
  "../../../node_modules/@types/node/index.d.ts",
2631
- "../../../node_modules/@types/node/url.d.ts"
2647
+ "../../../node_modules/@types/node/url.d.ts",
2648
+ "../../../node_modules/@types/node/util.d.ts"
2632
2649
  ],
2633
2650
  "../../../node_modules/@types/connect/index.d.ts": [
2634
- "../../../node_modules/@types/node/http.d.ts",
2635
- "../../../node_modules/@types/node/index.d.ts"
2651
+ "../node_modules/@types/node/http.d.ts",
2652
+ "../node_modules/@types/node/index.d.ts"
2636
2653
  ],
2637
2654
  "../../../node_modules/@types/create-hmac/index.d.ts": [
2638
- "../../../node_modules/@types/node/crypto.d.ts",
2639
- "../../../node_modules/@types/node/index.d.ts"
2655
+ "../node_modules/@types/node/crypto.d.ts",
2656
+ "../node_modules/@types/node/index.d.ts"
2640
2657
  ],
2641
2658
  "../../../node_modules/@types/debug/index.d.ts": [
2642
2659
  "../../../node_modules/@types/ms/index.d.ts"
2643
2660
  ],
2644
2661
  "../../../node_modules/@types/eccrypto/index.d.ts": [
2645
- "../../../node_modules/@types/node/index.d.ts"
2662
+ "../node_modules/@types/node/index.d.ts"
2646
2663
  ],
2647
2664
  "../../../node_modules/@types/elliptic/index.d.ts": [
2648
- "../../../node_modules/@types/bn.js/index.d.ts"
2665
+ "../../../node_modules/@types/elliptic/node_modules/@types/bn.js/index.d.ts"
2649
2666
  ],
2650
2667
  "../../../node_modules/@types/eslint-scope/index.d.ts": [
2651
2668
  "../../../node_modules/@types/eslint/index.d.ts",
@@ -2657,18 +2674,21 @@
2657
2674
  "../../../node_modules/@types/json-schema/index.d.ts"
2658
2675
  ],
2659
2676
  "../../../node_modules/@types/ethereumjs-util/index.d.ts": [
2660
- "../../../node_modules/@types/bn.js/index.d.ts",
2661
- "../../../node_modules/@types/node/index.d.ts"
2677
+ "../../../node_modules/@types/elliptic/node_modules/@types/bn.js/index.d.ts",
2678
+ "../node_modules/@types/node/index.d.ts"
2679
+ ],
2680
+ "../../../node_modules/@types/ethereumjs-util/node_modules/@types/bn.js/index.d.ts": [
2681
+ "../node_modules/@types/node/index.d.ts"
2662
2682
  ],
2663
2683
  "../../../node_modules/@types/eventsource/index.d.ts": [
2664
2684
  "../../../node_modules/@types/eventsource/dom-monkeypatch.d.ts"
2665
2685
  ],
2666
2686
  "../../../node_modules/@types/express-serve-static-core/index.d.ts": [
2667
- "../../../node_modules/@types/node/events.d.ts",
2668
- "../../../node_modules/@types/node/http.d.ts",
2669
- "../../../node_modules/@types/node/index.d.ts",
2670
2687
  "../../../node_modules/@types/qs/index.d.ts",
2671
- "../../../node_modules/@types/range-parser/index.d.ts"
2688
+ "../../../node_modules/@types/range-parser/index.d.ts",
2689
+ "../node_modules/@types/node/events.d.ts",
2690
+ "../node_modules/@types/node/http.d.ts",
2691
+ "../node_modules/@types/node/index.d.ts"
2672
2692
  ],
2673
2693
  "../../../node_modules/@types/express/index.d.ts": [
2674
2694
  "../../../node_modules/@types/body-parser/index.d.ts",
@@ -2677,16 +2697,17 @@
2677
2697
  "../../../node_modules/@types/serve-static/index.d.ts"
2678
2698
  ],
2679
2699
  "../../../node_modules/@types/fs-extra/index.d.ts": [
2680
- "../../../node_modules/@types/node/fs.d.ts",
2681
- "../../../node_modules/@types/node/index.d.ts"
2700
+ "../node_modules/@types/node/fs.d.ts",
2701
+ "../node_modules/@types/node/index.d.ts"
2682
2702
  ],
2683
2703
  "../../../node_modules/@types/glob/index.d.ts": [
2684
2704
  "../../../node_modules/@types/minimatch/index.d.ts",
2685
- "../../../node_modules/@types/node/events.d.ts",
2686
- "../../../node_modules/@types/node/fs.d.ts",
2687
- "../../../node_modules/@types/node/index.d.ts"
2705
+ "../node_modules/@types/node/events.d.ts",
2706
+ "../node_modules/@types/node/fs.d.ts",
2707
+ "../node_modules/@types/node/index.d.ts"
2688
2708
  ],
2689
2709
  "../../../node_modules/@types/hoist-non-react-statics/index.d.ts": [
2710
+ "../../../node_modules/@types/node/util.d.ts",
2690
2711
  "../../../node_modules/@types/react/index.d.ts"
2691
2712
  ],
2692
2713
  "../../../node_modules/@types/http-proxy/index.d.ts": [
@@ -2696,7 +2717,8 @@
2696
2717
  "../../../node_modules/@types/node/index.d.ts",
2697
2718
  "../../../node_modules/@types/node/net.d.ts",
2698
2719
  "../../../node_modules/@types/node/stream.d.ts",
2699
- "../../../node_modules/@types/node/url.d.ts"
2720
+ "../../../node_modules/@types/node/url.d.ts",
2721
+ "../../../node_modules/@types/node/util.d.ts"
2700
2722
  ],
2701
2723
  "../../../node_modules/@types/lodash/common/array.d.ts": [
2702
2724
  "../../../node_modules/@types/lodash/common/collection.d.ts",
@@ -2881,24 +2903,25 @@
2881
2903
  "../../../node_modules/@types/lodash/common/util.d.ts"
2882
2904
  ],
2883
2905
  "../../../node_modules/@types/morgan/index.d.ts": [
2884
- "../../../node_modules/@types/node/http.d.ts",
2885
- "../../../node_modules/@types/node/index.d.ts"
2906
+ "../node_modules/@types/node/http.d.ts",
2907
+ "../node_modules/@types/node/index.d.ts"
2886
2908
  ],
2887
2909
  "../../../node_modules/@types/nock/index.d.ts": [
2888
- "../../../node_modules/@types/node/index.d.ts",
2889
- "../../../node_modules/@types/node/url.d.ts"
2910
+ "../node_modules/@types/node/index.d.ts",
2911
+ "../node_modules/@types/node/url.d.ts"
2890
2912
  ],
2891
2913
  "../../../node_modules/@types/node-fetch/index.d.ts": [
2892
2914
  "../../../node_modules/@types/node-fetch/externals.d.ts",
2893
- "../../../node_modules/@types/node-fetch/node_modules/form-data/index.d.ts",
2894
- "../../../node_modules/@types/node/http.d.ts",
2895
- "../../../node_modules/@types/node/index.d.ts",
2896
- "../../../node_modules/@types/node/url.d.ts"
2915
+ "../../../node_modules/form-data/index.d.ts",
2916
+ "../node_modules/@types/node/http.d.ts",
2917
+ "../node_modules/@types/node/index.d.ts",
2918
+ "../node_modules/@types/node/url.d.ts"
2897
2919
  ],
2898
2920
  "../../../node_modules/@types/node-fetch/node_modules/form-data/index.d.ts": [
2899
2921
  "../../../node_modules/@types/node/http.d.ts",
2900
2922
  "../../../node_modules/@types/node/index.d.ts",
2901
- "../../../node_modules/@types/node/stream.d.ts"
2923
+ "../../../node_modules/@types/node/stream.d.ts",
2924
+ "../../../node_modules/@types/node/util.d.ts"
2902
2925
  ],
2903
2926
  "../../../node_modules/@types/node/base.d.ts": [
2904
2927
  "../../../node_modules/@types/node/assert.d.ts",
@@ -3045,58 +3068,88 @@
3045
3068
  "../../../node_modules/@types/node/stream.d.ts"
3046
3069
  ],
3047
3070
  "../../../node_modules/@types/pbkdf2/index.d.ts": [
3048
- "../../../node_modules/@types/node/index.d.ts"
3071
+ "../node_modules/@types/node/index.d.ts"
3072
+ ],
3073
+ "../../../node_modules/@types/prop-types/index.d.ts": [
3074
+ "../../../node_modules/@types/node/util.d.ts"
3049
3075
  ],
3050
3076
  "../../../node_modules/@types/randombytes/index.d.ts": [
3051
- "../../../node_modules/@types/node/crypto.d.ts",
3052
- "../../../node_modules/@types/node/index.d.ts"
3077
+ "../node_modules/@types/node/crypto.d.ts",
3078
+ "../node_modules/@types/node/index.d.ts"
3053
3079
  ],
3054
3080
  "../../../node_modules/@types/react-dom/index.d.ts": [
3081
+ "../../../node_modules/@types/node/util.d.ts",
3055
3082
  "../../../node_modules/@types/react/index.d.ts"
3056
3083
  ],
3084
+ "../../../node_modules/@types/react/global.d.ts": [
3085
+ "../../../node_modules/@types/node/util.d.ts"
3086
+ ],
3057
3087
  "../../../node_modules/@types/react/index.d.ts": [
3088
+ "../../../node_modules/@types/node/util.d.ts",
3058
3089
  "../../../node_modules/@types/prop-types/index.d.ts",
3059
3090
  "../../../node_modules/@types/react/global.d.ts",
3060
3091
  "../../../node_modules/@types/scheduler/tracing.d.ts",
3061
3092
  "../../../node_modules/csstype/index.d.ts"
3062
3093
  ],
3094
+ "../../../node_modules/@types/retry/index.d.ts": [
3095
+ "../../../node_modules/@types/node/util.d.ts"
3096
+ ],
3097
+ "../../../node_modules/@types/scheduler/index.d.ts": [
3098
+ "../../../node_modules/@types/node/util.d.ts"
3099
+ ],
3100
+ "../../../node_modules/@types/scheduler/tracing.d.ts": [
3101
+ "../../../node_modules/@types/node/util.d.ts"
3102
+ ],
3063
3103
  "../../../node_modules/@types/secp256k1/index.d.ts": [
3064
- "../../../node_modules/@types/node/index.d.ts"
3104
+ "../node_modules/@types/node/index.d.ts"
3065
3105
  ],
3066
3106
  "../../../node_modules/@types/serve-index/index.d.ts": [
3067
3107
  "../../../node_modules/@types/express/index.d.ts",
3068
- "../../../node_modules/@types/node/fs.d.ts"
3108
+ "../../../node_modules/@types/node/fs.d.ts",
3109
+ "../../../node_modules/@types/node/util.d.ts"
3069
3110
  ],
3070
3111
  "../../../node_modules/@types/serve-static/index.d.ts": [
3071
3112
  "../../../node_modules/@types/mime/index.d.ts",
3072
- "../../../node_modules/@types/node/http.d.ts",
3073
- "../../../node_modules/@types/node/index.d.ts"
3113
+ "../node_modules/@types/node/http.d.ts",
3114
+ "../node_modules/@types/node/index.d.ts"
3074
3115
  ],
3075
3116
  "../../../node_modules/@types/sha.js/index.d.ts": [
3076
- "../../../node_modules/@types/node/crypto.d.ts",
3077
- "../../../node_modules/@types/node/index.d.ts"
3117
+ "../node_modules/@types/node/crypto.d.ts",
3118
+ "../node_modules/@types/node/index.d.ts"
3119
+ ],
3120
+ "../../../node_modules/@types/sizzle/index.d.ts": [
3121
+ "../../../node_modules/@types/node/util.d.ts"
3078
3122
  ],
3079
3123
  "../../../node_modules/@types/sockjs/index.d.ts": [
3080
3124
  "../../../node_modules/@types/node/http.d.ts",
3081
- "../../../node_modules/@types/node/index.d.ts"
3125
+ "../../../node_modules/@types/node/index.d.ts",
3126
+ "../../../node_modules/@types/node/util.d.ts"
3127
+ ],
3128
+ "../../../node_modules/@types/source-list-map/index.d.ts": [
3129
+ "../../../node_modules/@types/node/util.d.ts"
3082
3130
  ],
3083
3131
  "../../../node_modules/@types/styled-components/index.d.ts": [
3084
3132
  "../../../node_modules/@types/hoist-non-react-statics/index.d.ts",
3133
+ "../../../node_modules/@types/node/util.d.ts",
3085
3134
  "../../../node_modules/@types/react/index.d.ts",
3086
3135
  "../../../node_modules/csstype/index.d.ts"
3087
3136
  ],
3088
3137
  "../../../node_modules/@types/superagent/index.d.ts": [
3089
3138
  "../../../node_modules/@types/cookiejar/index.d.ts",
3090
- "../../../node_modules/@types/node/buffer.d.ts",
3091
- "../../../node_modules/@types/node/fs.d.ts",
3092
- "../../../node_modules/@types/node/http.d.ts",
3093
- "../../../node_modules/@types/node/index.d.ts",
3094
- "../../../node_modules/@types/node/stream.d.ts"
3139
+ "../node_modules/@types/node/buffer.d.ts",
3140
+ "../node_modules/@types/node/fs.d.ts",
3141
+ "../node_modules/@types/node/http.d.ts",
3142
+ "../node_modules/@types/node/index.d.ts",
3143
+ "../node_modules/@types/node/stream.d.ts"
3095
3144
  ],
3096
3145
  "../../../node_modules/@types/supertest/index.d.ts": [
3097
3146
  "../../../node_modules/@types/superagent/index.d.ts"
3098
3147
  ],
3148
+ "../../../node_modules/@types/tapable/index.d.ts": [
3149
+ "../../../node_modules/@types/node/util.d.ts"
3150
+ ],
3099
3151
  "../../../node_modules/@types/uglify-js/index.d.ts": [
3152
+ "../../../node_modules/@types/node/util.d.ts",
3100
3153
  "../../../node_modules/source-map/source-map.d.ts"
3101
3154
  ],
3102
3155
  "../../../node_modules/@types/urijs/index.d.ts": [
@@ -3104,6 +3157,7 @@
3104
3157
  ],
3105
3158
  "../../../node_modules/@types/webpack-sources/index.d.ts": [
3106
3159
  "../../../node_modules/@types/node/index.d.ts",
3160
+ "../../../node_modules/@types/node/util.d.ts",
3107
3161
  "../../../node_modules/@types/webpack-sources/lib/cachedsource.d.ts",
3108
3162
  "../../../node_modules/@types/webpack-sources/lib/compatsource.d.ts",
3109
3163
  "../../../node_modules/@types/webpack-sources/lib/concatsource.d.ts",
@@ -3117,21 +3171,25 @@
3117
3171
  "../../../node_modules/@types/webpack-sources/lib/sourcemapsource.d.ts"
3118
3172
  ],
3119
3173
  "../../../node_modules/@types/webpack-sources/lib/cachedsource.d.ts": [
3174
+ "../../../node_modules/@types/node/util.d.ts",
3120
3175
  "../../../node_modules/@types/webpack-sources/lib/index.d.ts",
3121
3176
  "../../../node_modules/@types/webpack-sources/lib/source.d.ts",
3122
3177
  "../../../node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts"
3123
3178
  ],
3124
3179
  "../../../node_modules/@types/webpack-sources/lib/compatsource.d.ts": [
3180
+ "../../../node_modules/@types/node/util.d.ts",
3125
3181
  "../../../node_modules/@types/webpack-sources/lib/index.d.ts",
3126
3182
  "../../../node_modules/@types/webpack-sources/lib/source.d.ts"
3127
3183
  ],
3128
3184
  "../../../node_modules/@types/webpack-sources/lib/concatsource.d.ts": [
3185
+ "../../../node_modules/@types/node/util.d.ts",
3129
3186
  "../../../node_modules/@types/source-list-map/index.d.ts",
3130
3187
  "../../../node_modules/@types/webpack-sources/lib/index.d.ts",
3131
3188
  "../../../node_modules/@types/webpack-sources/lib/source.d.ts",
3132
3189
  "../../../node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts"
3133
3190
  ],
3134
3191
  "../../../node_modules/@types/webpack-sources/lib/index.d.ts": [
3192
+ "../../../node_modules/@types/node/util.d.ts",
3135
3193
  "../../../node_modules/@types/webpack-sources/lib/cachedsource.d.ts",
3136
3194
  "../../../node_modules/@types/webpack-sources/lib/compatsource.d.ts",
3137
3195
  "../../../node_modules/@types/webpack-sources/lib/concatsource.d.ts",
@@ -3145,39 +3203,50 @@
3145
3203
  "../../../node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts"
3146
3204
  ],
3147
3205
  "../../../node_modules/@types/webpack-sources/lib/originalsource.d.ts": [
3206
+ "../../../node_modules/@types/node/util.d.ts",
3148
3207
  "../../../node_modules/@types/source-list-map/index.d.ts",
3149
3208
  "../../../node_modules/@types/webpack-sources/lib/index.d.ts",
3150
3209
  "../../../node_modules/@types/webpack-sources/lib/source.d.ts",
3151
3210
  "../../../node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts"
3152
3211
  ],
3153
3212
  "../../../node_modules/@types/webpack-sources/lib/prefixsource.d.ts": [
3213
+ "../../../node_modules/@types/node/util.d.ts",
3154
3214
  "../../../node_modules/@types/webpack-sources/lib/index.d.ts",
3155
3215
  "../../../node_modules/@types/webpack-sources/lib/source.d.ts"
3156
3216
  ],
3157
3217
  "../../../node_modules/@types/webpack-sources/lib/rawsource.d.ts": [
3218
+ "../../../node_modules/@types/node/util.d.ts",
3158
3219
  "../../../node_modules/@types/webpack-sources/lib/index.d.ts",
3159
3220
  "../../../node_modules/@types/webpack-sources/lib/source.d.ts"
3160
3221
  ],
3161
3222
  "../../../node_modules/@types/webpack-sources/lib/replacesource.d.ts": [
3223
+ "../../../node_modules/@types/node/util.d.ts",
3162
3224
  "../../../node_modules/@types/webpack-sources/lib/index.d.ts",
3163
3225
  "../../../node_modules/@types/webpack-sources/lib/source.d.ts"
3164
3226
  ],
3165
3227
  "../../../node_modules/@types/webpack-sources/lib/sizeonlysource.d.ts": [
3228
+ "../../../node_modules/@types/node/util.d.ts",
3166
3229
  "../../../node_modules/@types/webpack-sources/lib/source.d.ts"
3167
3230
  ],
3168
3231
  "../../../node_modules/@types/webpack-sources/lib/source.d.ts": [
3169
3232
  "../../../node_modules/@types/node/crypto.d.ts",
3233
+ "../../../node_modules/@types/node/util.d.ts",
3170
3234
  "../../../node_modules/@types/webpack-sources/lib/index.d.ts",
3171
3235
  "../../../node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts"
3172
3236
  ],
3173
3237
  "../../../node_modules/@types/webpack-sources/lib/sourcemapsource.d.ts": [
3238
+ "../../../node_modules/@types/node/util.d.ts",
3174
3239
  "../../../node_modules/@types/webpack-sources/lib/index.d.ts",
3175
3240
  "../../../node_modules/@types/webpack-sources/lib/source.d.ts",
3176
3241
  "../../../node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts"
3177
3242
  ],
3243
+ "../../../node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts": [
3244
+ "../../../node_modules/@types/node/util.d.ts"
3245
+ ],
3178
3246
  "../../../node_modules/@types/webpack/index.d.ts": [
3179
3247
  "../../../node_modules/@types/node/crypto.d.ts",
3180
3248
  "../../../node_modules/@types/node/index.d.ts",
3249
+ "../../../node_modules/@types/node/util.d.ts",
3181
3250
  "../../../node_modules/@types/uglify-js/index.d.ts",
3182
3251
  "../../../node_modules/@types/webpack-sources/index.d.ts",
3183
3252
  "../../../node_modules/anymatch/index.d.ts",
@@ -3185,12 +3254,12 @@
3185
3254
  "../../../node_modules/tapable/tapable.d.ts"
3186
3255
  ],
3187
3256
  "../../../node_modules/@types/websocket/index.d.ts": [
3188
- "../../../node_modules/@types/node/events.d.ts",
3189
- "../../../node_modules/@types/node/http.d.ts",
3190
- "../../../node_modules/@types/node/https.d.ts",
3191
- "../../../node_modules/@types/node/index.d.ts",
3192
- "../../../node_modules/@types/node/net.d.ts",
3193
- "../../../node_modules/@types/node/url.d.ts"
3257
+ "../node_modules/@types/node/events.d.ts",
3258
+ "../node_modules/@types/node/http.d.ts",
3259
+ "../node_modules/@types/node/https.d.ts",
3260
+ "../node_modules/@types/node/index.d.ts",
3261
+ "../node_modules/@types/node/net.d.ts",
3262
+ "../node_modules/@types/node/url.d.ts"
3194
3263
  ],
3195
3264
  "../../../node_modules/@types/ws/index.d.ts": [
3196
3265
  "../../../node_modules/@types/node/events.d.ts",
@@ -3200,6 +3269,7 @@
3200
3269
  "../../../node_modules/@types/node/stream.d.ts",
3201
3270
  "../../../node_modules/@types/node/tls.d.ts",
3202
3271
  "../../../node_modules/@types/node/url.d.ts",
3272
+ "../../../node_modules/@types/node/util.d.ts",
3203
3273
  "../../../node_modules/@types/node/zlib.d.ts"
3204
3274
  ],
3205
3275
  "../../../node_modules/@types/yargs/index.d.ts": [
@@ -3208,20 +3278,24 @@
3208
3278
  "../../../node_modules/@types/yauzl/index.d.ts": [
3209
3279
  "../../../node_modules/@types/node/events.d.ts",
3210
3280
  "../../../node_modules/@types/node/index.d.ts",
3211
- "../../../node_modules/@types/node/stream.d.ts"
3281
+ "../../../node_modules/@types/node/stream.d.ts",
3282
+ "../../../node_modules/@types/node/util.d.ts"
3283
+ ],
3284
+ "../../../node_modules/anymatch/index.d.ts": [
3285
+ "../../../node_modules/@types/node/util.d.ts"
3212
3286
  ],
3213
3287
  "../../../node_modules/base-x/src/index.d.ts": [
3214
- "../../../node_modules/@types/node/index.d.ts"
3288
+ "../node_modules/@types/node/index.d.ts"
3215
3289
  ],
3216
3290
  "../../../node_modules/bip174/src/lib/interfaces.d.ts": [
3217
- "../../../node_modules/@types/node/index.d.ts"
3291
+ "../node_modules/@types/node/index.d.ts"
3218
3292
  ],
3219
3293
  "../../../node_modules/bip174/src/lib/psbt.d.ts": [
3220
- "../../../node_modules/@types/node/index.d.ts",
3221
- "../../../node_modules/bip174/src/lib/interfaces.d.ts"
3294
+ "../../../node_modules/bip174/src/lib/interfaces.d.ts",
3295
+ "../node_modules/@types/node/index.d.ts"
3222
3296
  ],
3223
3297
  "../../../node_modules/bip32/types/bip32.d.ts": [
3224
- "../../../node_modules/@types/node/index.d.ts"
3298
+ "../node_modules/@types/node/index.d.ts"
3225
3299
  ],
3226
3300
  "../../../node_modules/bip32/types/index.d.ts": [
3227
3301
  "../../../node_modules/bip32/types/bip32.d.ts"
@@ -3335,6 +3409,15 @@
3335
3409
  "../../../node_modules/bitcoinjs-lib/types/ecpair.d.ts",
3336
3410
  "../../../node_modules/bitcoinjs-lib/types/networks.d.ts",
3337
3411
  "../../../node_modules/bitcoinjs-lib/types/transaction.d.ts"
3412
+ ],
3413
+ "../../../node_modules/csstype/index.d.ts": [
3414
+ "../../../node_modules/@types/node/util.d.ts"
3415
+ ],
3416
+ "../../../node_modules/source-map/source-map.d.ts": [
3417
+ "../../../node_modules/@types/node/util.d.ts"
3418
+ ],
3419
+ "../../../node_modules/tapable/tapable.d.ts": [
3420
+ "../../../node_modules/@types/node/util.d.ts"
3338
3421
  ]
3339
3422
  },
3340
3423
  "semanticDiagnosticsPerFile": [
@@ -3409,6 +3492,7 @@
3409
3492
  "../../../node_modules/@types/eslint/index.d.ts",
3410
3493
  "../../../node_modules/@types/estree/index.d.ts",
3411
3494
  "../../../node_modules/@types/ethereumjs-util/index.d.ts",
3495
+ "../../../node_modules/@types/ethereumjs-util/node_modules/@types/bn.js/index.d.ts",
3412
3496
  "../../../node_modules/@types/eventsource/dom-monkeypatch.d.ts",
3413
3497
  "../../../node_modules/@types/eventsource/index.d.ts",
3414
3498
  "../../../node_modules/@types/expect/index.d.ts",
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@bitgo/utxo-bin",
3
3
  "description": "Command-line utility for BitGo UTXO transactions",
4
- "version": "2.0.1",
4
+ "version": "2.1.0-hotfix.0",
5
5
  "files": [
6
6
  "dist/**/*"
7
7
  ],
@@ -26,9 +26,9 @@
26
26
  },
27
27
  "bin": "./dist/bin/index.js",
28
28
  "dependencies": {
29
- "@bitgo/blockapis": "^1.0.5",
30
- "@bitgo/statics": "^7.1.0",
31
- "@bitgo/utxo-lib": "^2.4.1",
29
+ "@bitgo/blockapis": "^1.0.6-hotfix.0",
30
+ "@bitgo/statics": "^8.0.0-rc.5",
31
+ "@bitgo/utxo-lib": "^3.0.0-hotfix.0",
32
32
  "archy": "^1.0.0",
33
33
  "chalk": "4",
34
34
  "yargs": "^17.3.1"
@@ -47,5 +47,5 @@
47
47
  "access": "public"
48
48
  },
49
49
  "license": "MIT",
50
- "gitHead": "876591201b3a0ac5da8fc87e8dd29abc456ca424"
50
+ "gitHead": "773565cbf43e1be378ee1ef329ca4107caed9681"
51
51
  }