{"id":"node_modules/elliptic/lib/elliptic/ec/key.js","dependencies":[{"name":"/www/ml-classifier/example/package.json","includedInParent":true,"mtime":1551949031632},{"name":"/www/ml-classifier/example/.babelrc","includedInParent":true,"mtime":1551703756168},{"name":"/www/ml-classifier/example/node_modules/elliptic/package.json","includedInParent":true,"mtime":1542583799903},{"name":"bn.js","loc":{"line":3,"column":17},"parent":"/www/ml-classifier/example/node_modules/elliptic/lib/elliptic/ec/key.js","resolved":"/www/ml-classifier/example/node_modules/bn.js/lib/bn.js"},{"name":"../../elliptic","loc":{"line":4,"column":23},"parent":"/www/ml-classifier/example/node_modules/elliptic/lib/elliptic/ec/key.js","resolved":"/www/ml-classifier/example/node_modules/elliptic/lib/elliptic.js"}],"generated":{"js":"'use strict';\n\nvar BN = require('bn.js');\nvar elliptic = require('../../elliptic');\nvar utils = elliptic.utils;\nvar assert = utils.assert;\n\nfunction KeyPair(ec, options) {\n  this.ec = ec;\n  this.priv = null;\n  this.pub = null;\n\n  // KeyPair(ec, { priv: ..., pub: ... })\n  if (options.priv)\n    this._importPrivate(options.priv, options.privEnc);\n  if (options.pub)\n    this._importPublic(options.pub, options.pubEnc);\n}\nmodule.exports = KeyPair;\n\nKeyPair.fromPublic = function fromPublic(ec, pub, enc) {\n  if (pub instanceof KeyPair)\n    return pub;\n\n  return new KeyPair(ec, {\n    pub: pub,\n    pubEnc: enc\n  });\n};\n\nKeyPair.fromPrivate = function fromPrivate(ec, priv, enc) {\n  if (priv instanceof KeyPair)\n    return priv;\n\n  return new KeyPair(ec, {\n    priv: priv,\n    privEnc: enc\n  });\n};\n\nKeyPair.prototype.validate = function validate() {\n  var pub = this.getPublic();\n\n  if (pub.isInfinity())\n    return { result: false, reason: 'Invalid public key' };\n  if (!pub.validate())\n    return { result: false, reason: 'Public key is not a point' };\n  if (!pub.mul(this.ec.curve.n).isInfinity())\n    return { result: false, reason: 'Public key * N != O' };\n\n  return { result: true, reason: null };\n};\n\nKeyPair.prototype.getPublic = function getPublic(compact, enc) {\n  // compact is optional argument\n  if (typeof compact === 'string') {\n    enc = compact;\n    compact = null;\n  }\n\n  if (!this.pub)\n    this.pub = this.ec.g.mul(this.priv);\n\n  if (!enc)\n    return this.pub;\n\n  return this.pub.encode(enc, compact);\n};\n\nKeyPair.prototype.getPrivate = function getPrivate(enc) {\n  if (enc === 'hex')\n    return this.priv.toString(16, 2);\n  else\n    return this.priv;\n};\n\nKeyPair.prototype._importPrivate = function _importPrivate(key, enc) {\n  this.priv = new BN(key, enc || 16);\n\n  // Ensure that the priv won't be bigger than n, otherwise we may fail\n  // in fixed multiplication method\n  this.priv = this.priv.umod(this.ec.curve.n);\n};\n\nKeyPair.prototype._importPublic = function _importPublic(key, enc) {\n  if (key.x || key.y) {\n    // Montgomery points only have an `x` coordinate.\n    // Weierstrass/Edwards points on the other hand have both `x` and\n    // `y` coordinates.\n    if (this.ec.curve.type === 'mont') {\n      assert(key.x, 'Need x coordinate');\n    } else if (this.ec.curve.type === 'short' ||\n               this.ec.curve.type === 'edwards') {\n      assert(key.x && key.y, 'Need both x and y coordinate');\n    }\n    this.pub = this.ec.curve.point(key.x, key.y);\n    return;\n  }\n  this.pub = this.ec.curve.decodePoint(key, enc);\n};\n\n// ECDH\nKeyPair.prototype.derive = function derive(pub) {\n  return pub.mul(this.priv).getX();\n};\n\n// ECDSA\nKeyPair.prototype.sign = function sign(msg, enc, options) {\n  return this.ec.sign(msg, this, enc, options);\n};\n\nKeyPair.prototype.verify = function verify(msg, signature) {\n  return this.ec.verify(msg, signature, this);\n};\n\nKeyPair.prototype.inspect = function inspect() {\n  return '<Key priv: ' + (this.priv && this.priv.toString(16, 2)) +\n         ' pub: ' + (this.pub && this.pub.inspect()) + ' >';\n};\n","map":{"mappings":[{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":1,"column":0},"generated":{"line":1,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":2,"column":0},"generated":{"line":2,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":3,"column":0},"generated":{"line":3,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":4,"column":0},"generated":{"line":4,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":5,"column":0},"generated":{"line":5,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":6,"column":0},"generated":{"line":6,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":7,"column":0},"generated":{"line":7,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":8,"column":0},"generated":{"line":8,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":9,"column":0},"generated":{"line":9,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":10,"column":0},"generated":{"line":10,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":11,"column":0},"generated":{"line":11,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":12,"column":0},"generated":{"line":12,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":13,"column":0},"generated":{"line":13,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":14,"column":0},"generated":{"line":14,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":15,"column":0},"generated":{"line":15,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":16,"column":0},"generated":{"line":16,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":17,"column":0},"generated":{"line":17,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":18,"column":0},"generated":{"line":18,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":19,"column":0},"generated":{"line":19,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":20,"column":0},"generated":{"line":20,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":21,"column":0},"generated":{"line":21,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":22,"column":0},"generated":{"line":22,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":23,"column":0},"generated":{"line":23,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":24,"column":0},"generated":{"line":24,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":25,"column":0},"generated":{"line":25,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":26,"column":0},"generated":{"line":26,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":27,"column":0},"generated":{"line":27,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":28,"column":0},"generated":{"line":28,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":29,"column":0},"generated":{"line":29,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":30,"column":0},"generated":{"line":30,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":31,"column":0},"generated":{"line":31,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":32,"column":0},"generated":{"line":32,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":33,"column":0},"generated":{"line":33,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":34,"column":0},"generated":{"line":34,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":35,"column":0},"generated":{"line":35,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":36,"column":0},"generated":{"line":36,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":37,"column":0},"generated":{"line":37,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":38,"column":0},"generated":{"line":38,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":39,"column":0},"generated":{"line":39,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":40,"column":0},"generated":{"line":40,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":41,"column":0},"generated":{"line":41,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":42,"column":0},"generated":{"line":42,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":43,"column":0},"generated":{"line":43,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":44,"column":0},"generated":{"line":44,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":45,"column":0},"generated":{"line":45,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":46,"column":0},"generated":{"line":46,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":47,"column":0},"generated":{"line":47,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":48,"column":0},"generated":{"line":48,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":49,"column":0},"generated":{"line":49,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":50,"column":0},"generated":{"line":50,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":51,"column":0},"generated":{"line":51,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":52,"column":0},"generated":{"line":52,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":53,"column":0},"generated":{"line":53,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":54,"column":0},"generated":{"line":54,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":55,"column":0},"generated":{"line":55,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":56,"column":0},"generated":{"line":56,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":57,"column":0},"generated":{"line":57,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":58,"column":0},"generated":{"line":58,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":59,"column":0},"generated":{"line":59,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":60,"column":0},"generated":{"line":60,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":61,"column":0},"generated":{"line":61,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":62,"column":0},"generated":{"line":62,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":63,"column":0},"generated":{"line":63,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":64,"column":0},"generated":{"line":64,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":65,"column":0},"generated":{"line":65,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":66,"column":0},"generated":{"line":66,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":67,"column":0},"generated":{"line":67,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":68,"column":0},"generated":{"line":68,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":69,"column":0},"generated":{"line":69,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":70,"column":0},"generated":{"line":70,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":71,"column":0},"generated":{"line":71,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":72,"column":0},"generated":{"line":72,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":73,"column":0},"generated":{"line":73,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":74,"column":0},"generated":{"line":74,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":75,"column":0},"generated":{"line":75,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":76,"column":0},"generated":{"line":76,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":77,"column":0},"generated":{"line":77,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":78,"column":0},"generated":{"line":78,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":79,"column":0},"generated":{"line":79,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":80,"column":0},"generated":{"line":80,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":81,"column":0},"generated":{"line":81,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":82,"column":0},"generated":{"line":82,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":83,"column":0},"generated":{"line":83,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":84,"column":0},"generated":{"line":84,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":85,"column":0},"generated":{"line":85,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":86,"column":0},"generated":{"line":86,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":87,"column":0},"generated":{"line":87,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":88,"column":0},"generated":{"line":88,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":89,"column":0},"generated":{"line":89,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":90,"column":0},"generated":{"line":90,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":91,"column":0},"generated":{"line":91,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":92,"column":0},"generated":{"line":92,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":93,"column":0},"generated":{"line":93,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":94,"column":0},"generated":{"line":94,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":95,"column":0},"generated":{"line":95,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":96,"column":0},"generated":{"line":96,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":97,"column":0},"generated":{"line":97,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":98,"column":0},"generated":{"line":98,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":99,"column":0},"generated":{"line":99,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":100,"column":0},"generated":{"line":100,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":101,"column":0},"generated":{"line":101,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":102,"column":0},"generated":{"line":102,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":103,"column":0},"generated":{"line":103,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":104,"column":0},"generated":{"line":104,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":105,"column":0},"generated":{"line":105,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":106,"column":0},"generated":{"line":106,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":107,"column":0},"generated":{"line":107,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":108,"column":0},"generated":{"line":108,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":109,"column":0},"generated":{"line":109,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":110,"column":0},"generated":{"line":110,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":111,"column":0},"generated":{"line":111,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":112,"column":0},"generated":{"line":112,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":113,"column":0},"generated":{"line":113,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":114,"column":0},"generated":{"line":114,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":115,"column":0},"generated":{"line":115,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":116,"column":0},"generated":{"line":116,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":117,"column":0},"generated":{"line":117,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":118,"column":0},"generated":{"line":118,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":119,"column":0},"generated":{"line":119,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/ec/key.js","original":{"line":120,"column":0},"generated":{"line":120,"column":0}}],"sources":{"node_modules/elliptic/lib/elliptic/ec/key.js":"'use strict';\n\nvar BN = require('bn.js');\nvar elliptic = require('../../elliptic');\nvar utils = elliptic.utils;\nvar assert = utils.assert;\n\nfunction KeyPair(ec, options) {\n  this.ec = ec;\n  this.priv = null;\n  this.pub = null;\n\n  // KeyPair(ec, { priv: ..., pub: ... })\n  if (options.priv)\n    this._importPrivate(options.priv, options.privEnc);\n  if (options.pub)\n    this._importPublic(options.pub, options.pubEnc);\n}\nmodule.exports = KeyPair;\n\nKeyPair.fromPublic = function fromPublic(ec, pub, enc) {\n  if (pub instanceof KeyPair)\n    return pub;\n\n  return new KeyPair(ec, {\n    pub: pub,\n    pubEnc: enc\n  });\n};\n\nKeyPair.fromPrivate = function fromPrivate(ec, priv, enc) {\n  if (priv instanceof KeyPair)\n    return priv;\n\n  return new KeyPair(ec, {\n    priv: priv,\n    privEnc: enc\n  });\n};\n\nKeyPair.prototype.validate = function validate() {\n  var pub = this.getPublic();\n\n  if (pub.isInfinity())\n    return { result: false, reason: 'Invalid public key' };\n  if (!pub.validate())\n    return { result: false, reason: 'Public key is not a point' };\n  if (!pub.mul(this.ec.curve.n).isInfinity())\n    return { result: false, reason: 'Public key * N != O' };\n\n  return { result: true, reason: null };\n};\n\nKeyPair.prototype.getPublic = function getPublic(compact, enc) {\n  // compact is optional argument\n  if (typeof compact === 'string') {\n    enc = compact;\n    compact = null;\n  }\n\n  if (!this.pub)\n    this.pub = this.ec.g.mul(this.priv);\n\n  if (!enc)\n    return this.pub;\n\n  return this.pub.encode(enc, compact);\n};\n\nKeyPair.prototype.getPrivate = function getPrivate(enc) {\n  if (enc === 'hex')\n    return this.priv.toString(16, 2);\n  else\n    return this.priv;\n};\n\nKeyPair.prototype._importPrivate = function _importPrivate(key, enc) {\n  this.priv = new BN(key, enc || 16);\n\n  // Ensure that the priv won't be bigger than n, otherwise we may fail\n  // in fixed multiplication method\n  this.priv = this.priv.umod(this.ec.curve.n);\n};\n\nKeyPair.prototype._importPublic = function _importPublic(key, enc) {\n  if (key.x || key.y) {\n    // Montgomery points only have an `x` coordinate.\n    // Weierstrass/Edwards points on the other hand have both `x` and\n    // `y` coordinates.\n    if (this.ec.curve.type === 'mont') {\n      assert(key.x, 'Need x coordinate');\n    } else if (this.ec.curve.type === 'short' ||\n               this.ec.curve.type === 'edwards') {\n      assert(key.x && key.y, 'Need both x and y coordinate');\n    }\n    this.pub = this.ec.curve.point(key.x, key.y);\n    return;\n  }\n  this.pub = this.ec.curve.decodePoint(key, enc);\n};\n\n// ECDH\nKeyPair.prototype.derive = function derive(pub) {\n  return pub.mul(this.priv).getX();\n};\n\n// ECDSA\nKeyPair.prototype.sign = function sign(msg, enc, options) {\n  return this.ec.sign(msg, this, enc, options);\n};\n\nKeyPair.prototype.verify = function verify(msg, signature) {\n  return this.ec.verify(msg, signature, this);\n};\n\nKeyPair.prototype.inspect = function inspect() {\n  return '<Key priv: ' + (this.priv && this.priv.toString(16, 2)) +\n         ' pub: ' + (this.pub && this.pub.inspect()) + ' >';\n};\n"},"lineCount":120}},"hash":"39d8fb5924d74942f96991d6cff05e19","cacheData":{"env":{}}}