@bitgo-beta/secp256k1 1.0.2-beta.131 → 1.0.2-beta.1310

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.
@@ -1,5 +1,5 @@
1
- import { ECPairAPI, ECPairInterface } from 'ecpair';
2
- import { BIP32API, BIP32Interface } from 'bip32';
1
+ import { ECPairAPI, ECPairFactory, ECPairInterface } from 'ecpair';
2
+ import { BIP32API, BIP32Factory, BIP32Interface } from 'bip32';
3
3
  import { MuSig } from '@brandonblack/musig';
4
4
  declare const ecc: {
5
5
  isPoint: (p: Uint8Array) => boolean;
@@ -9,20 +9,20 @@ declare const ecc: {
9
9
  parity: 0 | 1;
10
10
  xOnlyPubkey: Uint8Array;
11
11
  } | null;
12
- pointFromScalar: (sk: Uint8Array, compressed?: boolean | undefined) => Uint8Array | null;
13
- pointCompress: (p: Uint8Array, compressed?: boolean | undefined) => Uint8Array;
14
- pointMultiply: (a: Uint8Array, tweak: Uint8Array, compressed?: boolean | undefined) => Uint8Array | null;
15
- pointAdd: (a: Uint8Array, b: Uint8Array, compressed?: boolean | undefined) => Uint8Array | null;
16
- pointAddScalar: (p: Uint8Array, tweak: Uint8Array, compressed?: boolean | undefined) => Uint8Array | null;
12
+ pointFromScalar: (sk: Uint8Array, compressed?: boolean) => Uint8Array | null;
13
+ pointCompress: (p: Uint8Array, compressed?: boolean) => Uint8Array;
14
+ pointMultiply: (a: Uint8Array, tweak: Uint8Array, compressed?: boolean) => Uint8Array | null;
15
+ pointAdd: (a: Uint8Array, b: Uint8Array, compressed?: boolean) => Uint8Array | null;
16
+ pointAddScalar: (p: Uint8Array, tweak: Uint8Array, compressed?: boolean) => Uint8Array | null;
17
17
  privateAdd: (d: Uint8Array, tweak: Uint8Array) => Uint8Array | null;
18
18
  privateNegate: (d: Uint8Array) => Uint8Array;
19
- sign: (h: Uint8Array, d: Uint8Array, e?: Uint8Array | undefined) => Uint8Array;
19
+ sign: (h: Uint8Array, d: Uint8Array, e?: Uint8Array) => Uint8Array;
20
20
  signSchnorr: (h: Uint8Array, d: Uint8Array, e?: Uint8Array) => Uint8Array;
21
- verify: (h: Uint8Array, Q: Uint8Array, signature: Uint8Array, strict?: boolean | undefined) => boolean;
21
+ verify: (h: Uint8Array, Q: Uint8Array, signature: Uint8Array, strict?: boolean) => boolean;
22
22
  verifySchnorr: (h: Uint8Array, Q: Uint8Array, signature: Uint8Array) => boolean;
23
23
  };
24
24
  declare const ECPair: ECPairAPI;
25
25
  declare const bip32: BIP32API;
26
26
  declare const musig: MuSig;
27
- export { ecc, ECPair, ECPairAPI, ECPairInterface, bip32, BIP32API, BIP32Interface, musig, MuSig };
27
+ export { ecc, ECPair, ECPairAPI, ECPairFactory, ECPairInterface, bip32, BIP32API, BIP32Factory, BIP32Interface, musig, MuSig, };
28
28
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAiB,eAAe,EAAE,MAAM,QAAQ,CAAC;AAEnE,OAAO,EAAE,QAAQ,EAAgB,cAAc,EAAE,MAAM,OAAO,CAAC;AAI/D,OAAO,EAAE,KAAK,EAAgB,MAAM,qBAAqB,CAAC;AA2C1D,QAAA,MAAM,GAAG;iBACM,UAAU,KAAG,OAAO;mBAClB,UAAU,KAAG,OAAO;sBACjB,UAAU,KAAG,OAAO;4BAEd,UAAU,SAAS,UAAU,KAAG;QAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC;QAAC,WAAW,EAAE,UAAU,CAAA;KAAE,GAAG,IAAI;0BAOnF,UAAU,uCAAyB,UAAU,GAAG,IAAI;uBAGvD,UAAU,uCAAyB,UAAU;uBAI7C,UAAU,SAAS,UAAU,uCAAyB,UAAU,GAAG,IAAI;kBAG5E,UAAU,KAAK,UAAU,uCAAyB,UAAU,GAAG,IAAI;wBAO7D,UAAU,SAAS,UAAU,uCAAyB,UAAU,GAAG,IAAI;oBAG3E,UAAU,SAAS,UAAU,KAAG,UAAU,GAAG,IAAI;uBAS9C,UAAU,KAAG,UAAU;cAEhC,UAAU,KAAK,UAAU,iCAAmB,UAAU;qBAI/C,UAAU,KAAK,UAAU,MAAK,UAAU,KAA4B,UAAU;gBAInF,UAAU,KAAK,UAAU,aAAa,UAAU,mCAAqB,OAAO;uBAIrE,UAAU,KAAK,UAAU,aAAa,UAAU,KAAG,OAAO;CAG9E,CAAC;AAkEF,QAAA,MAAM,MAAM,EAAE,SAA8B,CAAC;AAC7C,QAAA,MAAM,KAAK,EAAE,QAA4B,CAAC;AAC1C,QAAA,MAAM,KAAK,EAAE,KAA4B,CAAC;AAE1C,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAEnE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAI/D,OAAO,EAAE,KAAK,EAAgB,MAAM,qBAAqB,CAAC;AA4C1D,QAAA,MAAM,GAAG;iBACM,UAAU,KAAG,OAAO;mBAClB,UAAU,KAAG,OAAO;sBACjB,UAAU,KAAG,OAAO;4BAEd,UAAU,SAAS,UAAU,KAAG;QAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC;QAAC,WAAW,EAAE,UAAU,CAAA;KAAE,GAAG,IAAI;0BAOnF,UAAU,eAAe,OAAO,KAAG,UAAU,GAAG,IAAI;uBAGvD,UAAU,eAAe,OAAO,KAAG,UAAU;uBAI7C,UAAU,SAAS,UAAU,eAAe,OAAO,KAAG,UAAU,GAAG,IAAI;kBAG5E,UAAU,KAAK,UAAU,eAAe,OAAO,KAAG,UAAU,GAAG,IAAI;wBAO7D,UAAU,SAAS,UAAU,eAAe,OAAO,KAAG,UAAU,GAAG,IAAI;oBAG3E,UAAU,SAAS,UAAU,KAAG,UAAU,GAAG,IAAI;uBAS9C,UAAU,KAAG,UAAU;cAEhC,UAAU,KAAK,UAAU,MAAM,UAAU,KAAG,UAAU;qBAI/C,UAAU,KAAK,UAAU,MAAK,UAAU,KAA4B,UAAU;gBAInF,UAAU,KAAK,UAAU,aAAa,UAAU,WAAW,OAAO,KAAG,OAAO;uBAIrE,UAAU,KAAK,UAAU,aAAa,UAAU,KAAG,OAAO;CAG9E,CAAC;AAkEF,QAAA,MAAM,MAAM,EAAE,SAA8B,CAAC;AAC7C,QAAA,MAAM,KAAK,EAAE,QAA4B,CAAC;AAC1C,QAAA,MAAM,KAAK,EAAE,KAA4B,CAAC;AAE1C,OAAO,EACL,GAAG,EACH,MAAM,EACN,SAAS,EACT,aAAa,EACb,eAAe,EACf,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,KAAK,EACL,KAAK,GACN,CAAC"}
package/dist/src/index.js CHANGED
@@ -1,15 +1,50 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.musig = exports.bip32 = exports.ECPair = exports.ecc = void 0;
4
- const createHmac = require("create-hmac");
36
+ exports.musig = exports.BIP32Factory = exports.bip32 = exports.ECPairFactory = exports.ECPair = exports.ecc = void 0;
5
37
  const ecpair_1 = require("ecpair");
6
- const necc = require("@noble/secp256k1");
38
+ Object.defineProperty(exports, "ECPairFactory", { enumerable: true, get: function () { return ecpair_1.ECPairFactory; } });
39
+ const necc = __importStar(require("@noble/secp256k1"));
7
40
  const bip32_1 = require("bip32");
41
+ Object.defineProperty(exports, "BIP32Factory", { enumerable: true, get: function () { return bip32_1.BIP32Factory; } });
8
42
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
9
43
  // @ts-ignore base_crypto is exported as a subPath export, ignoring since compiler complains about importing like this
10
- const baseCrypto = require("@brandonblack/musig/base_crypto");
44
+ const baseCrypto = __importStar(require("@brandonblack/musig/base_crypto"));
11
45
  const musig_1 = require("@brandonblack/musig");
12
46
  const createHash = require('create-hash');
47
+ const createHmac = require('create-hmac');
13
48
  necc.utils.sha256Sync = (...messages) => {
14
49
  const sha256 = createHash('sha256');
15
50
  for (const message of messages)
@@ -71,7 +106,7 @@ const ecc = {
71
106
  const res = necc.utils.privateAdd(d, tweak);
72
107
  // tiny-secp256k1 returns null rather than allowing a 0 private key to be returned
73
108
  // ECPair.testEcc() requires that behavior.
74
- if (res === null || res === void 0 ? void 0 : res.every((i) => i === 0))
109
+ if (res?.every((i) => i === 0))
75
110
  return null;
76
111
  return res;
77
112
  }),
@@ -163,10 +198,10 @@ const crypto = {
163
198
  return sha256.digest();
164
199
  },
165
200
  };
166
- const ECPair = ecpair_1.ECPairFactory(ecc);
201
+ const ECPair = (0, ecpair_1.ECPairFactory)(ecc);
167
202
  exports.ECPair = ECPair;
168
- const bip32 = bip32_1.BIP32Factory(ecc);
203
+ const bip32 = (0, bip32_1.BIP32Factory)(ecc);
169
204
  exports.bip32 = bip32;
170
- const musig = musig_1.MuSigFactory(crypto);
205
+ const musig = (0, musig_1.MuSigFactory)(crypto);
171
206
  exports.musig = musig;
172
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMENBQTBDO0FBQzFDLG1DQUFtRTtBQUNuRSx5Q0FBeUM7QUFDekMsaUNBQStEO0FBQy9ELDZEQUE2RDtBQUM3RCxzSEFBc0g7QUFDdEgsOERBQThEO0FBQzlELCtDQUEwRDtBQUUxRCxNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7QUFFMUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUcsQ0FBQyxHQUFHLFFBQXNCLEVBQWMsRUFBRTtJQUNoRSxNQUFNLE1BQU0sR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDcEMsS0FBSyxNQUFNLE9BQU8sSUFBSSxRQUFRO1FBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN2RCxPQUFPLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztBQUN6QixDQUFDLENBQUM7QUFFRixJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsR0FBRyxDQUFDLEdBQWUsRUFBRSxHQUFHLFFBQXNCLEVBQWMsRUFBRTtJQUNyRixNQUFNLElBQUksR0FBRyxVQUFVLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNwRCxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDeEMsT0FBTyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO0FBQ3hDLENBQUMsQ0FBQztBQUVGLE1BQU0sV0FBVyxHQUFHLENBQUMsS0FBZSxFQUFXLEVBQUUsQ0FBQyxLQUFLLEtBQUssS0FBSyxDQUFDO0FBRWxFLFNBQVMsV0FBVyxDQUFPLEVBQWM7SUFD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QUM7Q0FDRixDQUFDO0FBRUYsTUFBTSxNQUFNLEdBQWMsc0JBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUkvQix3QkFBTTtBQUhwQixNQUFNLEtBQUssR0FBYSxvQkFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBR1Esc0JBQUs7QUFGdkQsTUFBTSxLQUFLLEdBQVUsb0JBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUV5QyxzQkFBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGNyZWF0ZUhtYWMgZnJvbSAnY3JlYXRlLWhtYWMnO1xuaW1wb3J0IHsgRUNQYWlyQVBJLCBFQ1BhaXJGYWN0b3J5LCBFQ1BhaXJJbnRlcmZhY2UgfSBmcm9tICdlY3BhaXInO1xuaW1wb3J0ICogYXMgbmVjYyBmcm9tICdAbm9ibGUvc2VjcDI1NmsxJztcbmltcG9ydCB7IEJJUDMyQVBJLCBCSVAzMkZhY3RvcnksIEJJUDMySW50ZXJmYWNlIH0gZnJvbSAnYmlwMzInO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHMtY29tbWVudFxuLy8gQHRzLWlnbm9yZSBiYXNlX2NyeXB0byBpcyBleHBvcnRlZCBhcyBhIHN1YlBhdGggZXhwb3J0LCBpZ25vcmluZyBzaW5jZSBjb21waWxlciBjb21wbGFpbnMgYWJvdXQgaW1wb3J0aW5nIGxpa2UgdGhpc1xuaW1wb3J0ICogYXMgYmFzZUNyeXB0byBmcm9tICdAYnJhbmRvbmJsYWNrL211c2lnL2Jhc2VfY3J5cHRvJztcbmltcG9ydCB7IE11U2lnLCBNdVNpZ0ZhY3RvcnkgfSBmcm9tICdAYnJhbmRvbmJsYWNrL211c2lnJztcblxuY29uc3QgY3JlYXRlSGFzaCA9IHJlcXVpcmUoJ2NyZWF0ZS1oYXNoJyk7XG5cbm5lY2MudXRpbHMuc2hhMjU2U3luYyA9ICguLi5tZXNzYWdlczogVWludDhBcnJheVtdKTogVWludDhBcnJheSA9PiB7XG4gIGNvbnN0IHNoYTI1NiA9IGNyZWF0ZUhhc2goJ3NoYTI1NicpO1xuICBmb3IgKGNvbnN0IG1lc3NhZ2Ugb2YgbWVzc2FnZXMpIHNoYTI1Ni51cGRhdGUobWVzc2FnZSk7XG4gIHJldHVybiBzaGEyNTYuZGlnZXN0KCk7XG59O1xuXG5uZWNjLnV0aWxzLmhtYWNTaGEyNTZTeW5jID0gKGtleTogVWludDhBcnJheSwgLi4ubWVzc2FnZXM6IFVpbnQ4QXJyYXlbXSk6IFVpbnQ4QXJyYXkgPT4ge1xuICBjb25zdCBoYXNoID0gY3JlYXRlSG1hYygnc2hhMjU2JywgQnVmZmVyLmZyb20oa2V5KSk7XG4gIG1lc3NhZ2VzLmZvckVhY2goKG0pID0+IGhhc2gudXBkYXRlKG0pKTtcbiAgcmV0dXJuIFVpbnQ4QXJyYXkuZnJvbShoYXNoLmRpZ2VzdCgpKTtcbn07XG5cbmNvbnN0IGRlZmF1bHRUcnVlID0gKHBhcmFtPzogYm9vbGVhbik6IGJvb2xlYW4gPT4gcGFyYW0gIT09IGZhbHNlO1xuXG5mdW5jdGlvbiB0aHJvd1RvTnVsbDxUeXBlPihmbjogKCkgPT4gVHlwZSk6IFR5cGUgfCBudWxsIHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gZm4oKTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG59XG5cbmZ1bmN0aW9uIGlzUG9pbnQocDogVWludDhBcnJheSwgeE9ubHk6IGJvb2xlYW4pOiBib29sZWFuIHtcbiAgaWYgKChwLmxlbmd0aCA9PT0gMzIpICE9PSB4T25seSkgcmV0dXJuIGZhbHNlO1xuICB0cnkge1xuICAgIHJldHVybiAhIW5lY2MuUG9pbnQuZnJvbUhleChwKTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG5mdW5jdGlvbiB0b0JpZ0ludChiOiBVaW50OEFycmF5IHwgQnVmZmVyKTogYmlnaW50IHtcbiAgY29uc3QgYnVmZiA9IEJ1ZmZlci5mcm9tKGIpO1xuICBpZiAoYnVmZi5sZW5ndGggIT09IDMyKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHNpemUgJHtidWZmLmxlbmd0aH0nKTtcbiAgfVxuICByZXR1cm4gQmlnSW50KGAweCR7YnVmZi50b1N0cmluZygnaGV4Jyl9YCk7XG59XG5cbmNvbnN0IGVjYyA9IHtcbiAgaXNQb2ludDogKHA6IFVpbnQ4QXJyYXkpOiBib29sZWFuID0+IGlzUG9pbnQocCwgZmFsc2UpLFxuICBpc1ByaXZhdGU6IChkOiBVaW50OEFycmF5KTogYm9vbGVhbiA9PiBuZWNjLnV0aWxzLmlzVmFsaWRQcml2YXRlS2V5KGQpLFxuICBpc1hPbmx5UG9pbnQ6IChwOiBVaW50OEFycmF5KTogYm9vbGVhbiA9PiBpc1BvaW50KHAsIHRydWUpLFxuXG4gIHhPbmx5UG9pbnRBZGRUd2VhazogKHA6IFVpbnQ4QXJyYXksIHR3ZWFrOiBVaW50OEFycmF5KTogeyBwYXJpdHk6IDAgfCAxOyB4T25seVB1YmtleTogVWludDhBcnJheSB9IHwgbnVsbCA9PlxuICAgIHRocm93VG9OdWxsKCgpID0+IHtcbiAgICAgIGNvbnN0IFAgPSBuZWNjLnV0aWxzLnBvaW50QWRkU2NhbGFyKHAsIHR3ZWFrLCB0cnVlKTtcbiAgICAgIGNvbnN0IHBhcml0eSA9IFBbMF0gJSAyID09PSAxID8gMSA6IDA7XG4gICAgICByZXR1cm4geyBwYXJpdHksIHhPbmx5UHVia2V5OiBQLnNsaWNlKDEpIH07XG4gICAgfSksXG5cbiAgcG9pbnRGcm9tU2NhbGFyOiAoc2s6IFVpbnQ4QXJyYXksIGNvbXByZXNzZWQ/OiBib29sZWFuKTogVWludDhBcnJheSB8IG51bGwgPT5cbiAgICB0aHJvd1RvTnVsbCgoKSA9PiBuZWNjLmdldFB1YmxpY0tleShzaywgZGVmYXVsdFRydWUoY29tcHJlc3NlZCkpKSxcblxuICBwb2ludENvbXByZXNzOiAocDogVWludDhBcnJheSwgY29tcHJlc3NlZD86IGJvb2xlYW4pOiBVaW50OEFycmF5ID0+IHtcbiAgICByZXR1cm4gbmVjYy5Qb2ludC5mcm9tSGV4KHApLnRvUmF3Qnl0ZXMoZGVmYXVsdFRydWUoY29tcHJlc3NlZCkpO1xuICB9LFxuXG4gIHBvaW50TXVsdGlwbHk6IChhOiBVaW50OEFycmF5LCB0d2VhazogVWludDhBcnJheSwgY29tcHJlc3NlZD86IGJvb2xlYW4pOiBVaW50OEFycmF5IHwgbnVsbCA9PlxuICAgIHRocm93VG9OdWxsKCgpID0+IG5lY2MudXRpbHMucG9pbnRNdWx0aXBseShhLCB0d2VhaywgZGVmYXVsdFRydWUoY29tcHJlc3NlZCkpKSxcblxuICBwb2ludEFkZDogKGE6IFVpbnQ4QXJyYXksIGI6IFVpbnQ4QXJyYXksIGNvbXByZXNzZWQ/OiBib29sZWFuKTogVWludDhBcnJheSB8IG51bGwgPT5cbiAgICB0aHJvd1RvTnVsbCgoKSA9PiB7XG4gICAgICBjb25zdCBBID0gbmVjYy5Qb2ludC5mcm9tSGV4KGEpO1xuICAgICAgY29uc3QgQiA9IG5lY2MuUG9pbnQuZnJvbUhleChiKTtcbiAgICAgIHJldHVybiBBLmFkZChCKS50b1Jhd0J5dGVzKGRlZmF1bHRUcnVlKGNvbXByZXNzZWQpKTtcbiAgICB9KSxcblxuICBwb2ludEFkZFNjYWxhcjogKHA6IFVpbnQ4QXJyYXksIHR3ZWFrOiBVaW50OEFycmF5LCBjb21wcmVzc2VkPzogYm9vbGVhbik6IFVpbnQ4QXJyYXkgfCBudWxsID0+XG4gICAgdGhyb3dUb051bGwoKCkgPT4gbmVjYy51dGlscy5wb2ludEFkZFNjYWxhcihwLCB0d2VhaywgZGVmYXVsdFRydWUoY29tcHJlc3NlZCkpKSxcblxuICBwcml2YXRlQWRkOiAoZDogVWludDhBcnJheSwgdHdlYWs6IFVpbnQ4QXJyYXkpOiBVaW50OEFycmF5IHwgbnVsbCA9PlxuICAgIHRocm93VG9OdWxsKCgpID0+IHtcbiAgICAgIGNvbnN0IHJlcyA9IG5lY2MudXRpbHMucHJpdmF0ZUFkZChkLCB0d2Vhayk7XG4gICAgICAvLyB0aW55LXNlY3AyNTZrMSByZXR1cm5zIG51bGwgcmF0aGVyIHRoYW4gYWxsb3dpbmcgYSAwIHByaXZhdGUga2V5IHRvIGJlIHJldHVybmVkXG4gICAgICAvLyBFQ1BhaXIudGVzdEVjYygpIHJlcXVpcmVzIHRoYXQgYmVoYXZpb3IuXG4gICAgICBpZiAocmVzPy5ldmVyeSgoaSkgPT4gaSA9PT0gMCkpIHJldHVybiBudWxsO1xuICAgICAgcmV0dXJuIHJlcztcbiAgICB9KSxcblxuICBwcml2YXRlTmVnYXRlOiAoZDogVWludDhBcnJheSk6IFVpbnQ4QXJyYXkgPT4gbmVjYy51dGlscy5wcml2YXRlTmVnYXRlKGQpLFxuXG4gIHNpZ246IChoOiBVaW50OEFycmF5LCBkOiBVaW50OEFycmF5LCBlPzogVWludDhBcnJheSk6IFVpbnQ4QXJyYXkgPT4ge1xuICAgIHJldHVybiBuZWNjLnNpZ25TeW5jKGgsIGQsIHsgZGVyOiBmYWxzZSwgZXh0cmFFbnRyb3B5OiBlIH0pO1xuICB9LFxuXG4gIHNpZ25TY2hub3JyOiAoaDogVWludDhBcnJheSwgZDogVWludDhBcnJheSwgZTogVWludDhBcnJheSA9IEJ1ZmZlci5hbGxvYygzMiwgMHgwMCkpOiBVaW50OEFycmF5ID0+IHtcbiAgICByZXR1cm4gbmVjYy5zY2hub3JyLnNpZ25TeW5jKGgsIGQsIGUpO1xuICB9LFxuXG4gIHZlcmlmeTogKGg6IFVpbnQ4QXJyYXksIFE6IFVpbnQ4QXJyYXksIHNpZ25hdHVyZTogVWludDhBcnJheSwgc3RyaWN0PzogYm9vbGVhbik6IGJvb2xlYW4gPT4ge1xuICAgIHJldHVybiBuZWNjLnZlcmlmeShzaWduYXR1cmUsIGgsIFEsIHsgc3RyaWN0IH0pO1xuICB9LFxuXG4gIHZlcmlmeVNjaG5vcnI6IChoOiBVaW50OEFycmF5LCBROiBVaW50OEFycmF5LCBzaWduYXR1cmU6IFVpbnQ4QXJyYXkpOiBib29sZWFuID0+IHtcbiAgICByZXR1cm4gbmVjYy5zY2hub3JyLnZlcmlmeVN5bmMoc2lnbmF0dXJlLCBoLCBRKTtcbiAgfSxcbn07XG5cbmNvbnN0IGNyeXB0byA9IHtcbiAgLi4uYmFzZUNyeXB0byxcbiAgcG9pbnRNdWx0aXBseVVuc2FmZShwOiBVaW50OEFycmF5LCBhOiBVaW50OEFycmF5LCBjb21wcmVzczogYm9vbGVhbik6IFVpbnQ4QXJyYXkgfCBudWxsIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcHJvZHVjdCA9IG5lY2MuUG9pbnQuZnJvbUhleChwKS5tdWx0aXBseUFuZEFkZFVuc2FmZShuZWNjLlBvaW50LlpFUk8sIHRvQmlnSW50KGEpLCBCaWdJbnQoMSkpO1xuICAgICAgaWYgKCFwcm9kdWN0KSByZXR1cm4gbnVsbDtcbiAgICAgIHJldHVybiBwcm9kdWN0LnRvUmF3Qnl0ZXMoY29tcHJlc3MpO1xuICAgIH0gY2F0Y2gge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9LFxuICBwb2ludE11bHRpcGx5QW5kQWRkVW5zYWZlKHAxOiBVaW50OEFycmF5LCBhOiBVaW50OEFycmF5LCBwMjogVWludDhBcnJheSwgY29tcHJlc3M6IGJvb2xlYW4pOiBVaW50OEFycmF5IHwgbnVsbCB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHAycCA9IG5lY2MuUG9pbnQuZnJvbUhleChwMik7XG4gICAgICBjb25zdCBwID0gbmVjYy5Qb2ludC5mcm9tSGV4KHAxKS5tdWx0aXBseUFuZEFkZFVuc2FmZShwMnAsIHRvQmlnSW50KGEpLCBCaWdJbnQoMSkpO1xuICAgICAgaWYgKCFwKSByZXR1cm4gbnVsbDtcbiAgICAgIHJldHVybiBwLnRvUmF3Qnl0ZXMoY29tcHJlc3MpO1xuICAgIH0gY2F0Y2gge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9LFxuICBwb2ludEFkZChhOiBVaW50OEFycmF5LCBiOiBVaW50OEFycmF5LCBjb21wcmVzczogYm9vbGVhbik6IFVpbnQ4QXJyYXkgfCBudWxsIHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIG5lY2MuUG9pbnQuZnJvbUhleChhKS5hZGQobmVjYy5Qb2ludC5mcm9tSGV4KGIpKS50b1Jhd0J5dGVzKGNvbXByZXNzKTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfSxcbiAgcG9pbnRBZGRUd2VhayhwOiBVaW50OEFycmF5LCB0d2VhazogVWludDhBcnJheSwgY29tcHJlc3M6IGJvb2xlYW4pOiBVaW50OEFycmF5IHwgbnVsbCB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IFAgPSBuZWNjLlBvaW50LmZyb21IZXgocCk7XG4gICAgICBjb25zdCB0ID0gYmFzZUNyeXB0by5yZWFkU2VjcmV0KHR3ZWFrKTtcbiAgICAgIGNvbnN0IFEgPSBuZWNjLlBvaW50LkJBU0UubXVsdGlwbHlBbmRBZGRVbnNhZmUoUCwgdCwgQmlnSW50KDEpKTtcbiAgICAgIGlmICghUSkgdGhyb3cgbmV3IEVycm9yKCdUd2Vha2VkIHBvaW50IGF0IGluZmluaXR5Jyk7XG4gICAgICByZXR1cm4gUS50b1Jhd0J5dGVzKGNvbXByZXNzKTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfSxcbiAgcG9pbnRDb21wcmVzcyhwOiBVaW50OEFycmF5LCBjb21wcmVzcyA9IHRydWUpOiBVaW50OEFycmF5IHtcbiAgICByZXR1cm4gbmVjYy5Qb2ludC5mcm9tSGV4KHApLnRvUmF3Qnl0ZXMoY29tcHJlc3MpO1xuICB9LFxuICBsaWZ0WChwOiBVaW50OEFycmF5KTogVWludDhBcnJheSB8IG51bGwge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gbmVjYy5Qb2ludC5mcm9tSGV4KHApLnRvUmF3Qnl0ZXMoZmFsc2UpO1xuICAgIH0gY2F0Y2gge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9LFxuICBnZXRQdWJsaWNLZXkoczogVWludDhBcnJheSwgY29tcHJlc3M6IGJvb2xlYW4pOiBVaW50OEFycmF5IHwgbnVsbCB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBuZWNjLmdldFB1YmxpY0tleShzLCBjb21wcmVzcyk7XG4gICAgfSBjYXRjaCB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH0sXG4gIHRhZ2dlZEhhc2g6IG5lY2MudXRpbHMudGFnZ2VkSGFzaFN5bmMsXG4gIHNoYTI1NiguLi5tZXNzYWdlczogVWludDhBcnJheVtdKTogVWludDhBcnJheSB7XG4gICAgY29uc3Qgc2hhMjU2ID0gY3JlYXRlSGFzaCgnc2hhMjU2Jyk7XG4gICAgZm9yIChjb25zdCBtZXNzYWdlIG9mIG1lc3NhZ2VzKSBzaGEyNTYudXBkYXRlKG1lc3NhZ2UpO1xuICAgIHJldHVybiBzaGEyNTYuZGlnZXN0KCk7XG4gIH0sXG59O1xuXG5jb25zdCBFQ1BhaXI6IEVDUGFpckFQSSA9IEVDUGFpckZhY3RvcnkoZWNjKTtcbmNvbnN0IGJpcDMyOiBCSVAzMkFQSSA9IEJJUDMyRmFjdG9yeShlY2MpO1xuY29uc3QgbXVzaWc6IE11U2lnID0gTXVTaWdGYWN0b3J5KGNyeXB0byk7XG5cbmV4cG9ydCB7IGVjYywgRUNQYWlyLCBFQ1BhaXJBUEksIEVDUGFpckludGVyZmFjZSwgYmlwMzIsIEJJUDMyQVBJLCBCSVAzMkludGVyZmFjZSwgbXVzaWcsIE11U2lnIH07XG4iXX0=
207
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsbUNBQW1FO0FBc0xqRSw4RkF0TGtCLHNCQUFhLE9Bc0xsQjtBQXJMZix1REFBeUM7QUFDekMsaUNBQStEO0FBd0w3RCw2RkF4TGlCLG9CQUFZLE9Bd0xqQjtBQXZMZCw2REFBNkQ7QUFDN0Qsc0hBQXNIO0FBQ3RILDRFQUE4RDtBQUM5RCwrQ0FBMEQ7QUFFMUQsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0FBQzFDLE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQztBQUUxQyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBRyxDQUFDLEdBQUcsUUFBc0IsRUFBYyxFQUFFO0lBQ2hFLE1BQU0sTUFBTSxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNwQyxLQUFLLE1BQU0sT0FBTyxJQUFJLFFBQVE7UUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3ZELE9BQU8sTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO0FBQ3pCLENBQUMsQ0FBQztBQUVGLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxHQUFHLENBQUMsR0FBZSxFQUFFLEdBQUcsUUFBc0IsRUFBYyxFQUFFO0lBQ3JGLE1BQU0sSUFBSSxHQUFHLFVBQVUsQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3BELFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN4QyxPQUFPLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFB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QUM7WUFDUCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7SUFDSCxDQUFDO0lBQ0QsVUFBVSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYztJQUNyQyxNQUFNLENBQUMsR0FBRyxRQUFzQjtRQUM5QixNQUFNLE1BQU0sR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDcEMsS0FBSyxNQUFNLE9BQU8sSUFBSSxRQUFRO1lBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN2RCxPQUFPLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUN6QixDQUFDO0NBQ0YsQ0FBQztBQUVGLE1BQU0sTUFBTSxHQUFjLElBQUEsc0JBQWEsRUFBQyxHQUFHLENBQUMsQ0FBQztBQU0zQyx3QkFBTTtBQUxSLE1BQU0sS0FBSyxHQUFhLElBQUEsb0JBQVksRUFBQyxHQUFHLENBQUMsQ0FBQztBQVN4QyxzQkFBSztBQVJQLE1BQU0sS0FBSyxHQUFVLElBQUEsb0JBQVksRUFBQyxNQUFNLENBQUMsQ0FBQztBQVl4QyxzQkFBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVDUGFpckFQSSwgRUNQYWlyRmFjdG9yeSwgRUNQYWlySW50ZXJmYWNlIH0gZnJvbSAnZWNwYWlyJztcbmltcG9ydCAqIGFzIG5lY2MgZnJvbSAnQG5vYmxlL3NlY3AyNTZrMSc7XG5pbXBvcnQgeyBCSVAzMkFQSSwgQklQMzJGYWN0b3J5LCBCSVAzMkludGVyZmFjZSB9IGZyb20gJ2JpcDMyJztcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXRzLWNvbW1lbnRcbi8vIEB0cy1pZ25vcmUgYmFzZV9jcnlwdG8gaXMgZXhwb3J0ZWQgYXMgYSBzdWJQYXRoIGV4cG9ydCwgaWdub3Jpbmcgc2luY2UgY29tcGlsZXIgY29tcGxhaW5zIGFib3V0IGltcG9ydGluZyBsaWtlIHRoaXNcbmltcG9ydCAqIGFzIGJhc2VDcnlwdG8gZnJvbSAnQGJyYW5kb25ibGFjay9tdXNpZy9iYXNlX2NyeXB0byc7XG5pbXBvcnQgeyBNdVNpZywgTXVTaWdGYWN0b3J5IH0gZnJvbSAnQGJyYW5kb25ibGFjay9tdXNpZyc7XG5cbmNvbnN0IGNyZWF0ZUhhc2ggPSByZXF1aXJlKCdjcmVhdGUtaGFzaCcpO1xuY29uc3QgY3JlYXRlSG1hYyA9IHJlcXVpcmUoJ2NyZWF0ZS1obWFjJyk7XG5cbm5lY2MudXRpbHMuc2hhMjU2U3luYyA9ICguLi5tZXNzYWdlczogVWludDhBcnJheVtdKTogVWludDhBcnJheSA9PiB7XG4gIGNvbnN0IHNoYTI1NiA9IGNyZWF0ZUhhc2goJ3NoYTI1NicpO1xuICBmb3IgKGNvbnN0IG1lc3NhZ2Ugb2YgbWVzc2FnZXMpIHNoYTI1Ni51cGRhdGUobWVzc2FnZSk7XG4gIHJldHVybiBzaGEyNTYuZGlnZXN0KCk7XG59O1xuXG5uZWNjLnV0aWxzLmhtYWNTaGEyNTZTeW5jID0gKGtleTogVWludDhBcnJheSwgLi4ubWVzc2FnZXM6IFVpbnQ4QXJyYXlbXSk6IFVpbnQ4QXJyYXkgPT4ge1xuICBjb25zdCBoYXNoID0gY3JlYXRlSG1hYygnc2hhMjU2JywgQnVmZmVyLmZyb20oa2V5KSk7XG4gIG1lc3NhZ2VzLmZvckVhY2goKG0pID0+IGhhc2gudXBkYXRlKG0pKTtcbiAgcmV0dXJuIFVpbnQ4QXJyYXkuZnJvbShoYXNoLmRpZ2VzdCgpKTtcbn07XG5cbmNvbnN0IGRlZmF1bHRUcnVlID0gKHBhcmFtPzogYm9vbGVhbik6IGJvb2xlYW4gPT4gcGFyYW0gIT09IGZhbHNlO1xuXG5mdW5jdGlvbiB0aHJvd1RvTnVsbDxUeXBlPihmbjogKCkgPT4gVHlwZSk6IFR5cGUgfCBudWxsIHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gZm4oKTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG59XG5cbmZ1bmN0aW9uIGlzUG9pbnQocDogVWludDhBcnJheSwgeE9ubHk6IGJvb2xlYW4pOiBib29sZWFuIHtcbiAgaWYgKChwLmxlbmd0aCA9PT0gMzIpICE9PSB4T25seSkgcmV0dXJuIGZhbHNlO1xuICB0cnkge1xuICAgIHJldHVybiAhIW5lY2MuUG9pbnQuZnJvbUhleChwKTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG5mdW5jdGlvbiB0b0JpZ0ludChiOiBVaW50OEFycmF5IHwgQnVmZmVyKTogYmlnaW50IHtcbiAgY29uc3QgYnVmZiA9IEJ1ZmZlci5mcm9tKGIpO1xuICBpZiAoYnVmZi5sZW5ndGggIT09IDMyKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHNpemUgJHtidWZmLmxlbmd0aH0nKTtcbiAgfVxuICByZXR1cm4gQmlnSW50KGAweCR7YnVmZi50b1N0cmluZygnaGV4Jyl9YCk7XG59XG5cbmNvbnN0IGVjYyA9IHtcbiAgaXNQb2ludDogKHA6IFVpbnQ4QXJyYXkpOiBib29sZWFuID0+IGlzUG9pbnQocCwgZmFsc2UpLFxuICBpc1ByaXZhdGU6IChkOiBVaW50OEFycmF5KTogYm9vbGVhbiA9PiBuZWNjLnV0aWxzLmlzVmFsaWRQcml2YXRlS2V5KGQpLFxuICBpc1hPbmx5UG9pbnQ6IChwOiBVaW50OEFycmF5KTogYm9vbGVhbiA9PiBpc1BvaW50KHAsIHRydWUpLFxuXG4gIHhPbmx5UG9pbnRBZGRUd2VhazogKHA6IFVpbnQ4QXJyYXksIHR3ZWFrOiBVaW50OEFycmF5KTogeyBwYXJpdHk6IDAgfCAxOyB4T25seVB1YmtleTogVWludDhBcnJheSB9IHwgbnVsbCA9PlxuICAgIHRocm93VG9OdWxsKCgpID0+IHtcbiAgICAgIGNvbnN0IFAgPSBuZWNjLnV0aWxzLnBvaW50QWRkU2NhbGFyKHAsIHR3ZWFrLCB0cnVlKTtcbiAgICAgIGNvbnN0IHBhcml0eSA9IFBbMF0gJSAyID09PSAxID8gMSA6IDA7XG4gICAgICByZXR1cm4geyBwYXJpdHksIHhPbmx5UHVia2V5OiBQLnNsaWNlKDEpIH07XG4gICAgfSksXG5cbiAgcG9pbnRGcm9tU2NhbGFyOiAoc2s6IFVpbnQ4QXJyYXksIGNvbXByZXNzZWQ/OiBib29sZWFuKTogVWludDhBcnJheSB8IG51bGwgPT5cbiAgICB0aHJvd1RvTnVsbCgoKSA9PiBuZWNjLmdldFB1YmxpY0tleShzaywgZGVmYXVsdFRydWUoY29tcHJlc3NlZCkpKSxcblxuICBwb2ludENvbXByZXNzOiAocDogVWludDhBcnJheSwgY29tcHJlc3NlZD86IGJvb2xlYW4pOiBVaW50OEFycmF5ID0+IHtcbiAgICByZXR1cm4gbmVjYy5Qb2ludC5mcm9tSGV4KHApLnRvUmF3Qnl0ZXMoZGVmYXVsdFRydWUoY29tcHJlc3NlZCkpO1xuICB9LFxuXG4gIHBvaW50TXVsdGlwbHk6IChhOiBVaW50OEFycmF5LCB0d2VhazogVWludDhBcnJheSwgY29tcHJlc3NlZD86IGJvb2xlYW4pOiBVaW50OEFycmF5IHwgbnVsbCA9PlxuICAgIHRocm93VG9OdWxsKCgpID0+IG5lY2MudXRpbHMucG9pbnRNdWx0aXBseShhLCB0d2VhaywgZGVmYXVsdFRydWUoY29tcHJlc3NlZCkpKSxcblxuICBwb2ludEFkZDogKGE6IFVpbnQ4QXJyYXksIGI6IFVpbnQ4QXJyYXksIGNvbXByZXNzZWQ/OiBib29sZWFuKTogVWludDhBcnJheSB8IG51bGwgPT5cbiAgICB0aHJvd1RvTnVsbCgoKSA9PiB7XG4gICAgICBjb25zdCBBID0gbmVjYy5Qb2ludC5mcm9tSGV4KGEpO1xuICAgICAgY29uc3QgQiA9IG5lY2MuUG9pbnQuZnJvbUhleChiKTtcbiAgICAgIHJldHVybiBBLmFkZChCKS50b1Jhd0J5dGVzKGRlZmF1bHRUcnVlKGNvbXByZXNzZWQpKTtcbiAgICB9KSxcblxuICBwb2ludEFkZFNjYWxhcjogKHA6IFVpbnQ4QXJyYXksIHR3ZWFrOiBVaW50OEFycmF5LCBjb21wcmVzc2VkPzogYm9vbGVhbik6IFVpbnQ4QXJyYXkgfCBudWxsID0+XG4gICAgdGhyb3dUb051bGwoKCkgPT4gbmVjYy51dGlscy5wb2ludEFkZFNjYWxhcihwLCB0d2VhaywgZGVmYXVsdFRydWUoY29tcHJlc3NlZCkpKSxcblxuICBwcml2YXRlQWRkOiAoZDogVWludDhBcnJheSwgdHdlYWs6IFVpbnQ4QXJyYXkpOiBVaW50OEFycmF5IHwgbnVsbCA9PlxuICAgIHRocm93VG9OdWxsKCgpID0+IHtcbiAgICAgIGNvbnN0IHJlcyA9IG5lY2MudXRpbHMucHJpdmF0ZUFkZChkLCB0d2Vhayk7XG4gICAgICAvLyB0aW55LXNlY3AyNTZrMSByZXR1cm5zIG51bGwgcmF0aGVyIHRoYW4gYWxsb3dpbmcgYSAwIHByaXZhdGUga2V5IHRvIGJlIHJldHVybmVkXG4gICAgICAvLyBFQ1BhaXIudGVzdEVjYygpIHJlcXVpcmVzIHRoYXQgYmVoYXZpb3IuXG4gICAgICBpZiAocmVzPy5ldmVyeSgoaSkgPT4gaSA9PT0gMCkpIHJldHVybiBudWxsO1xuICAgICAgcmV0dXJuIHJlcztcbiAgICB9KSxcblxuICBwcml2YXRlTmVnYXRlOiAoZDogVWludDhBcnJheSk6IFVpbnQ4QXJyYXkgPT4gbmVjYy51dGlscy5wcml2YXRlTmVnYXRlKGQpLFxuXG4gIHNpZ246IChoOiBVaW50OEFycmF5LCBkOiBVaW50OEFycmF5LCBlPzogVWludDhBcnJheSk6IFVpbnQ4QXJyYXkgPT4ge1xuICAgIHJldHVybiBuZWNjLnNpZ25TeW5jKGgsIGQsIHsgZGVyOiBmYWxzZSwgZXh0cmFFbnRyb3B5OiBlIH0pO1xuICB9LFxuXG4gIHNpZ25TY2hub3JyOiAoaDogVWludDhBcnJheSwgZDogVWludDhBcnJheSwgZTogVWludDhBcnJheSA9IEJ1ZmZlci5hbGxvYygzMiwgMHgwMCkpOiBVaW50OEFycmF5ID0+IHtcbiAgICByZXR1cm4gbmVjYy5zY2hub3JyLnNpZ25TeW5jKGgsIGQsIGUpO1xuICB9LFxuXG4gIHZlcmlmeTogKGg6IFVpbnQ4QXJyYXksIFE6IFVpbnQ4QXJyYXksIHNpZ25hdHVyZTogVWludDhBcnJheSwgc3RyaWN0PzogYm9vbGVhbik6IGJvb2xlYW4gPT4ge1xuICAgIHJldHVybiBuZWNjLnZlcmlmeShzaWduYXR1cmUsIGgsIFEsIHsgc3RyaWN0IH0pO1xuICB9LFxuXG4gIHZlcmlmeVNjaG5vcnI6IChoOiBVaW50OEFycmF5LCBROiBVaW50OEFycmF5LCBzaWduYXR1cmU6IFVpbnQ4QXJyYXkpOiBib29sZWFuID0+IHtcbiAgICByZXR1cm4gbmVjYy5zY2hub3JyLnZlcmlmeVN5bmMoc2lnbmF0dXJlLCBoLCBRKTtcbiAgfSxcbn07XG5cbmNvbnN0IGNyeXB0byA9IHtcbiAgLi4uYmFzZUNyeXB0byxcbiAgcG9pbnRNdWx0aXBseVVuc2FmZShwOiBVaW50OEFycmF5LCBhOiBVaW50OEFycmF5LCBjb21wcmVzczogYm9vbGVhbik6IFVpbnQ4QXJyYXkgfCBudWxsIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcHJvZHVjdCA9IG5lY2MuUG9pbnQuZnJvbUhleChwKS5tdWx0aXBseUFuZEFkZFVuc2FmZShuZWNjLlBvaW50LlpFUk8sIHRvQmlnSW50KGEpLCBCaWdJbnQoMSkpO1xuICAgICAgaWYgKCFwcm9kdWN0KSByZXR1cm4gbnVsbDtcbiAgICAgIHJldHVybiBwcm9kdWN0LnRvUmF3Qnl0ZXMoY29tcHJlc3MpO1xuICAgIH0gY2F0Y2gge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9LFxuICBwb2ludE11bHRpcGx5QW5kQWRkVW5zYWZlKHAxOiBVaW50OEFycmF5LCBhOiBVaW50OEFycmF5LCBwMjogVWludDhBcnJheSwgY29tcHJlc3M6IGJvb2xlYW4pOiBVaW50OEFycmF5IHwgbnVsbCB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHAycCA9IG5lY2MuUG9pbnQuZnJvbUhleChwMik7XG4gICAgICBjb25zdCBwID0gbmVjYy5Qb2ludC5mcm9tSGV4KHAxKS5tdWx0aXBseUFuZEFkZFVuc2FmZShwMnAsIHRvQmlnSW50KGEpLCBCaWdJbnQoMSkpO1xuICAgICAgaWYgKCFwKSByZXR1cm4gbnVsbDtcbiAgICAgIHJldHVybiBwLnRvUmF3Qnl0ZXMoY29tcHJlc3MpO1xuICAgIH0gY2F0Y2gge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9LFxuICBwb2ludEFkZChhOiBVaW50OEFycmF5LCBiOiBVaW50OEFycmF5LCBjb21wcmVzczogYm9vbGVhbik6IFVpbnQ4QXJyYXkgfCBudWxsIHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIG5lY2MuUG9pbnQuZnJvbUhleChhKS5hZGQobmVjYy5Qb2ludC5mcm9tSGV4KGIpKS50b1Jhd0J5dGVzKGNvbXByZXNzKTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfSxcbiAgcG9pbnRBZGRUd2VhayhwOiBVaW50OEFycmF5LCB0d2VhazogVWludDhBcnJheSwgY29tcHJlc3M6IGJvb2xlYW4pOiBVaW50OEFycmF5IHwgbnVsbCB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IFAgPSBuZWNjLlBvaW50LmZyb21IZXgocCk7XG4gICAgICBjb25zdCB0ID0gYmFzZUNyeXB0by5yZWFkU2VjcmV0KHR3ZWFrKTtcbiAgICAgIGNvbnN0IFEgPSBuZWNjLlBvaW50LkJBU0UubXVsdGlwbHlBbmRBZGRVbnNhZmUoUCwgdCwgQmlnSW50KDEpKTtcbiAgICAgIGlmICghUSkgdGhyb3cgbmV3IEVycm9yKCdUd2Vha2VkIHBvaW50IGF0IGluZmluaXR5Jyk7XG4gICAgICByZXR1cm4gUS50b1Jhd0J5dGVzKGNvbXByZXNzKTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfSxcbiAgcG9pbnRDb21wcmVzcyhwOiBVaW50OEFycmF5LCBjb21wcmVzcyA9IHRydWUpOiBVaW50OEFycmF5IHtcbiAgICByZXR1cm4gbmVjYy5Qb2ludC5mcm9tSGV4KHApLnRvUmF3Qnl0ZXMoY29tcHJlc3MpO1xuICB9LFxuICBsaWZ0WChwOiBVaW50OEFycmF5KTogVWludDhBcnJheSB8IG51bGwge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gbmVjYy5Qb2ludC5mcm9tSGV4KHApLnRvUmF3Qnl0ZXMoZmFsc2UpO1xuICAgIH0gY2F0Y2gge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9LFxuICBnZXRQdWJsaWNLZXkoczogVWludDhBcnJheSwgY29tcHJlc3M6IGJvb2xlYW4pOiBVaW50OEFycmF5IHwgbnVsbCB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBuZWNjLmdldFB1YmxpY0tleShzLCBjb21wcmVzcyk7XG4gICAgfSBjYXRjaCB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH0sXG4gIHRhZ2dlZEhhc2g6IG5lY2MudXRpbHMudGFnZ2VkSGFzaFN5bmMsXG4gIHNoYTI1NiguLi5tZXNzYWdlczogVWludDhBcnJheVtdKTogVWludDhBcnJheSB7XG4gICAgY29uc3Qgc2hhMjU2ID0gY3JlYXRlSGFzaCgnc2hhMjU2Jyk7XG4gICAgZm9yIChjb25zdCBtZXNzYWdlIG9mIG1lc3NhZ2VzKSBzaGEyNTYudXBkYXRlKG1lc3NhZ2UpO1xuICAgIHJldHVybiBzaGEyNTYuZGlnZXN0KCk7XG4gIH0sXG59O1xuXG5jb25zdCBFQ1BhaXI6IEVDUGFpckFQSSA9IEVDUGFpckZhY3RvcnkoZWNjKTtcbmNvbnN0IGJpcDMyOiBCSVAzMkFQSSA9IEJJUDMyRmFjdG9yeShlY2MpO1xuY29uc3QgbXVzaWc6IE11U2lnID0gTXVTaWdGYWN0b3J5KGNyeXB0byk7XG5cbmV4cG9ydCB7XG4gIGVjYyxcbiAgRUNQYWlyLFxuICBFQ1BhaXJBUEksXG4gIEVDUGFpckZhY3RvcnksXG4gIEVDUGFpckludGVyZmFjZSxcbiAgYmlwMzIsXG4gIEJJUDMyQVBJLFxuICBCSVAzMkZhY3RvcnksXG4gIEJJUDMySW50ZXJmYWNlLFxuICBtdXNpZyxcbiAgTXVTaWcsXG59O1xuIl19
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "@bitgo-beta/secp256k1",
3
- "version": "1.0.2-beta.131",
3
+ "version": "1.0.2-beta.1310",
4
4
  "description": "Low-level cryptographic methods used in BitGo packages for the secp256k1 curve",
5
5
  "main": "./dist/src/index.js",
6
6
  "engines": {
7
- "node": ">=10.22.0 <19",
7
+ "node": ">=10.22.0 <23",
8
8
  "npm": ">=3.10.10"
9
9
  },
10
10
  "keywords": [
@@ -39,8 +39,7 @@
39
39
  "ecpair": "npm:@bitgo/ecpair@2.1.0-rc.0"
40
40
  },
41
41
  "devDependencies": {
42
- "@types/elliptic": "^6.4.12",
43
- "@types/node": "^16.18.46"
42
+ "@types/node": "^22.15.29"
44
43
  },
45
44
  "lint-staged": {
46
45
  "*.{js,ts}": [
@@ -53,5 +52,5 @@
53
52
  },
54
53
  "author": "BitGo SDK Team <sdkteam@bitgo.com>",
55
54
  "license": "MIT",
56
- "gitHead": "1fa42087687b09a468579e9792bc3bd6637ef6f2"
55
+ "gitHead": "a99834d1edbe004d154a06a93f888a04961c57cf"
57
56
  }