{"id":"node_modules/diffie-hellman/lib/generatePrime.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/diffie-hellman/package.json","includedInParent":true,"mtime":1542304152011},{"name":"randombytes","loc":{"line":1,"column":26},"parent":"/www/ml-classifier/example/node_modules/diffie-hellman/lib/generatePrime.js","resolved":"/www/ml-classifier/example/node_modules/randombytes/browser.js"},{"name":"bn.js","loc":{"line":5,"column":17},"parent":"/www/ml-classifier/example/node_modules/diffie-hellman/lib/generatePrime.js","resolved":"/www/ml-classifier/example/node_modules/bn.js/lib/bn.js"},{"name":"miller-rabin","loc":{"line":7,"column":26},"parent":"/www/ml-classifier/example/node_modules/diffie-hellman/lib/generatePrime.js","resolved":"/www/ml-classifier/example/node_modules/miller-rabin/lib/mr.js"}],"generated":{"js":"var randomBytes = require('randombytes');\nmodule.exports = findPrime;\nfindPrime.simpleSieve = simpleSieve;\nfindPrime.fermatTest = fermatTest;\nvar BN = require('bn.js');\nvar TWENTYFOUR = new BN(24);\nvar MillerRabin = require('miller-rabin');\nvar millerRabin = new MillerRabin();\nvar ONE = new BN(1);\nvar TWO = new BN(2);\nvar FIVE = new BN(5);\nvar SIXTEEN = new BN(16);\nvar EIGHT = new BN(8);\nvar TEN = new BN(10);\nvar THREE = new BN(3);\nvar SEVEN = new BN(7);\nvar ELEVEN = new BN(11);\nvar FOUR = new BN(4);\nvar TWELVE = new BN(12);\nvar primes = null;\n\nfunction _getPrimes() {\n  if (primes !== null)\n    return primes;\n\n  var limit = 0x100000;\n  var res = [];\n  res[0] = 2;\n  for (var i = 1, k = 3; k < limit; k += 2) {\n    var sqrt = Math.ceil(Math.sqrt(k));\n    for (var j = 0; j < i && res[j] <= sqrt; j++)\n      if (k % res[j] === 0)\n        break;\n\n    if (i !== j && res[j] <= sqrt)\n      continue;\n\n    res[i++] = k;\n  }\n  primes = res;\n  return res;\n}\n\nfunction simpleSieve(p) {\n  var primes = _getPrimes();\n\n  for (var i = 0; i < primes.length; i++)\n    if (p.modn(primes[i]) === 0) {\n      if (p.cmpn(primes[i]) === 0) {\n        return true;\n      } else {\n        return false;\n      }\n    }\n\n  return true;\n}\n\nfunction fermatTest(p) {\n  var red = BN.mont(p);\n  return TWO.toRed(red).redPow(p.subn(1)).fromRed().cmpn(1) === 0;\n}\n\nfunction findPrime(bits, gen) {\n  if (bits < 16) {\n    // this is what openssl does\n    if (gen === 2 || gen === 5) {\n      return new BN([0x8c, 0x7b]);\n    } else {\n      return new BN([0x8c, 0x27]);\n    }\n  }\n  gen = new BN(gen);\n\n  var num, n2;\n\n  while (true) {\n    num = new BN(randomBytes(Math.ceil(bits / 8)));\n    while (num.bitLength() > bits) {\n      num.ishrn(1);\n    }\n    if (num.isEven()) {\n      num.iadd(ONE);\n    }\n    if (!num.testn(1)) {\n      num.iadd(TWO);\n    }\n    if (!gen.cmp(TWO)) {\n      while (num.mod(TWENTYFOUR).cmp(ELEVEN)) {\n        num.iadd(FOUR);\n      }\n    } else if (!gen.cmp(FIVE)) {\n      while (num.mod(TEN).cmp(THREE)) {\n        num.iadd(FOUR);\n      }\n    }\n    n2 = num.shrn(1);\n    if (simpleSieve(n2) && simpleSieve(num) &&\n      fermatTest(n2) && fermatTest(num) &&\n      millerRabin.test(n2) && millerRabin.test(num)) {\n      return num;\n    }\n  }\n\n}\n","map":{"mappings":[{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":1,"column":0},"generated":{"line":1,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":2,"column":0},"generated":{"line":2,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":3,"column":0},"generated":{"line":3,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":4,"column":0},"generated":{"line":4,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":5,"column":0},"generated":{"line":5,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":6,"column":0},"generated":{"line":6,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":7,"column":0},"generated":{"line":7,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":8,"column":0},"generated":{"line":8,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":9,"column":0},"generated":{"line":9,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":10,"column":0},"generated":{"line":10,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":11,"column":0},"generated":{"line":11,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":12,"column":0},"generated":{"line":12,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":13,"column":0},"generated":{"line":13,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":14,"column":0},"generated":{"line":14,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":15,"column":0},"generated":{"line":15,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":16,"column":0},"generated":{"line":16,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":17,"column":0},"generated":{"line":17,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":18,"column":0},"generated":{"line":18,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":19,"column":0},"generated":{"line":19,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":20,"column":0},"generated":{"line":20,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":21,"column":0},"generated":{"line":21,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":22,"column":0},"generated":{"line":22,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":23,"column":0},"generated":{"line":23,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":24,"column":0},"generated":{"line":24,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":25,"column":0},"generated":{"line":25,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":26,"column":0},"generated":{"line":26,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":27,"column":0},"generated":{"line":27,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":28,"column":0},"generated":{"line":28,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":29,"column":0},"generated":{"line":29,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":30,"column":0},"generated":{"line":30,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":31,"column":0},"generated":{"line":31,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":32,"column":0},"generated":{"line":32,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":33,"column":0},"generated":{"line":33,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":34,"column":0},"generated":{"line":34,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":35,"column":0},"generated":{"line":35,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":36,"column":0},"generated":{"line":36,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":37,"column":0},"generated":{"line":37,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":38,"column":0},"generated":{"line":38,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":39,"column":0},"generated":{"line":39,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":40,"column":0},"generated":{"line":40,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":41,"column":0},"generated":{"line":41,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":42,"column":0},"generated":{"line":42,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":43,"column":0},"generated":{"line":43,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":44,"column":0},"generated":{"line":44,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":45,"column":0},"generated":{"line":45,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":46,"column":0},"generated":{"line":46,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":47,"column":0},"generated":{"line":47,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":48,"column":0},"generated":{"line":48,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":49,"column":0},"generated":{"line":49,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":50,"column":0},"generated":{"line":50,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":51,"column":0},"generated":{"line":51,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":52,"column":0},"generated":{"line":52,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":53,"column":0},"generated":{"line":53,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":54,"column":0},"generated":{"line":54,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":55,"column":0},"generated":{"line":55,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":56,"column":0},"generated":{"line":56,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":57,"column":0},"generated":{"line":57,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":58,"column":0},"generated":{"line":58,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":59,"column":0},"generated":{"line":59,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":60,"column":0},"generated":{"line":60,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":61,"column":0},"generated":{"line":61,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":62,"column":0},"generated":{"line":62,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":63,"column":0},"generated":{"line":63,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":64,"column":0},"generated":{"line":64,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":65,"column":0},"generated":{"line":65,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":66,"column":0},"generated":{"line":66,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":67,"column":0},"generated":{"line":67,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":68,"column":0},"generated":{"line":68,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":69,"column":0},"generated":{"line":69,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":70,"column":0},"generated":{"line":70,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":71,"column":0},"generated":{"line":71,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":72,"column":0},"generated":{"line":72,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":73,"column":0},"generated":{"line":73,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":74,"column":0},"generated":{"line":74,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":75,"column":0},"generated":{"line":75,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":76,"column":0},"generated":{"line":76,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":77,"column":0},"generated":{"line":77,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":78,"column":0},"generated":{"line":78,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":79,"column":0},"generated":{"line":79,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":80,"column":0},"generated":{"line":80,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":81,"column":0},"generated":{"line":81,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":82,"column":0},"generated":{"line":82,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":83,"column":0},"generated":{"line":83,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":84,"column":0},"generated":{"line":84,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":85,"column":0},"generated":{"line":85,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":86,"column":0},"generated":{"line":86,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":87,"column":0},"generated":{"line":87,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":88,"column":0},"generated":{"line":88,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":89,"column":0},"generated":{"line":89,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":90,"column":0},"generated":{"line":90,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":91,"column":0},"generated":{"line":91,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":92,"column":0},"generated":{"line":92,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":93,"column":0},"generated":{"line":93,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":94,"column":0},"generated":{"line":94,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":95,"column":0},"generated":{"line":95,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":96,"column":0},"generated":{"line":96,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":97,"column":0},"generated":{"line":97,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":98,"column":0},"generated":{"line":98,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":99,"column":0},"generated":{"line":99,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":100,"column":0},"generated":{"line":100,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":101,"column":0},"generated":{"line":101,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":102,"column":0},"generated":{"line":102,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":103,"column":0},"generated":{"line":103,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":104,"column":0},"generated":{"line":104,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":105,"column":0},"generated":{"line":105,"column":0}},{"source":"node_modules/diffie-hellman/lib/generatePrime.js","original":{"line":106,"column":0},"generated":{"line":106,"column":0}}],"sources":{"node_modules/diffie-hellman/lib/generatePrime.js":"var randomBytes = require('randombytes');\nmodule.exports = findPrime;\nfindPrime.simpleSieve = simpleSieve;\nfindPrime.fermatTest = fermatTest;\nvar BN = require('bn.js');\nvar TWENTYFOUR = new BN(24);\nvar MillerRabin = require('miller-rabin');\nvar millerRabin = new MillerRabin();\nvar ONE = new BN(1);\nvar TWO = new BN(2);\nvar FIVE = new BN(5);\nvar SIXTEEN = new BN(16);\nvar EIGHT = new BN(8);\nvar TEN = new BN(10);\nvar THREE = new BN(3);\nvar SEVEN = new BN(7);\nvar ELEVEN = new BN(11);\nvar FOUR = new BN(4);\nvar TWELVE = new BN(12);\nvar primes = null;\n\nfunction _getPrimes() {\n  if (primes !== null)\n    return primes;\n\n  var limit = 0x100000;\n  var res = [];\n  res[0] = 2;\n  for (var i = 1, k = 3; k < limit; k += 2) {\n    var sqrt = Math.ceil(Math.sqrt(k));\n    for (var j = 0; j < i && res[j] <= sqrt; j++)\n      if (k % res[j] === 0)\n        break;\n\n    if (i !== j && res[j] <= sqrt)\n      continue;\n\n    res[i++] = k;\n  }\n  primes = res;\n  return res;\n}\n\nfunction simpleSieve(p) {\n  var primes = _getPrimes();\n\n  for (var i = 0; i < primes.length; i++)\n    if (p.modn(primes[i]) === 0) {\n      if (p.cmpn(primes[i]) === 0) {\n        return true;\n      } else {\n        return false;\n      }\n    }\n\n  return true;\n}\n\nfunction fermatTest(p) {\n  var red = BN.mont(p);\n  return TWO.toRed(red).redPow(p.subn(1)).fromRed().cmpn(1) === 0;\n}\n\nfunction findPrime(bits, gen) {\n  if (bits < 16) {\n    // this is what openssl does\n    if (gen === 2 || gen === 5) {\n      return new BN([0x8c, 0x7b]);\n    } else {\n      return new BN([0x8c, 0x27]);\n    }\n  }\n  gen = new BN(gen);\n\n  var num, n2;\n\n  while (true) {\n    num = new BN(randomBytes(Math.ceil(bits / 8)));\n    while (num.bitLength() > bits) {\n      num.ishrn(1);\n    }\n    if (num.isEven()) {\n      num.iadd(ONE);\n    }\n    if (!num.testn(1)) {\n      num.iadd(TWO);\n    }\n    if (!gen.cmp(TWO)) {\n      while (num.mod(TWENTYFOUR).cmp(ELEVEN)) {\n        num.iadd(FOUR);\n      }\n    } else if (!gen.cmp(FIVE)) {\n      while (num.mod(TEN).cmp(THREE)) {\n        num.iadd(FOUR);\n      }\n    }\n    n2 = num.shrn(1);\n    if (simpleSieve(n2) && simpleSieve(num) &&\n      fermatTest(n2) && fermatTest(num) &&\n      millerRabin.test(n2) && millerRabin.test(num)) {\n      return num;\n    }\n  }\n\n}\n"},"lineCount":106}},"hash":"d7b1de445ee0d4f4e0ee0215e5331bfd","cacheData":{"env":{}}}