{"version":3,"sources":["webpack:///./node_modules/diffie-hellman/browser.js","webpack:///./node_modules/des.js/lib/des/cipher.js","webpack:///./node_modules/des.js/lib/des/cbc.js","webpack:///./node_modules/des.js/lib/des.js","webpack:///./node_modules/des.js/lib/des/ede.js","webpack:///./node_modules/ecdsa-sig-formatter/src/param-bytes-for-alg.js","webpack:///./node_modules/debug/src/browser.js","webpack:///./node_modules/des.js/lib/des/des.js","webpack:///./node_modules/diffie-hellman/lib/dh.js","webpack:///./node_modules/diffie-hellman/lib/generatePrime.js","webpack:///./node_modules/des.js/lib/des/utils.js","webpack:///./node_modules/ecdsa-sig-formatter/src/ecdsa-sig-formatter.js","webpack:///./node_modules/debug/src/common.js"],"names":["primes","DH","getDiffieHellman","mod","prime","Buffer","gen","ENCODINGS","createDiffieHellman","enc","generator","genc","isBuffer","undefined","generatePrime","exports","DiffieHellmanGroup","createDiffieHellmanGroup","DiffieHellman","assert","Cipher","options","this","type","blockSize","_init","buffer","Array","bufferOff","module","prototype","update","data","length","_updateDecrypt","_updateEncrypt","_buffer","off","min","Math","i","_flushBuffer","out","_update","inputOff","outputOff","count","max","ceil","final","first","last","_finalEncrypt","_finalDecrypt","concat","_pad","_unpad","equal","inherits","proto","CBCState","iv","instantiate","Base","CBC","call","_cbcInit","keys","Object","key","create","state","_cbcState","inp","inOff","outOff","superProto","constructor","super_","utils","DES","EDE","EDEState","k1","slice","k2","k3","ciphers","_edeState","getParamSize","keySize","result","paramBytesForAlg","ES256","ES384","ES512","getParamBytesForAlg","alg","paramBytes","Error","useColors","window","process","__nwjs","navigator","userAgent","toLowerCase","match","document","documentElement","style","WebkitAppearance","console","firebug","exception","table","parseInt","RegExp","$1","formatArgs","args","namespace","humanize","diff","c","color","splice","index","lastC","replace","log","save","namespaces","storage","setItem","removeItem","error","load","r","getItem","DEBUG","localstorage","localStorage","colors","formatters","j","v","JSON","stringify","message","DESState","tmp","_desState","deriveKeys","shiftTable","kL","readUInt32BE","kR","pc1","shift","r28shl","pc2","l","ip","_encrypt","_decrypt","writeUInt32BE","value","pad","lStart","rStart","keyL","keyR","expand","s","substitute","f","permute","t","rip","MillerRabin","millerRabin","TWENTYFOUR","BN","ELEVEN","TEN","THREE","SEVEN","randomBytes","setPublicKey","pub","_pub","setPrivateKey","priv","_priv","primeCache","checkPrime","toString","hex","join","rem","isEven","simpleSieve","fermatTest","test","shrn","cmp","malleable","setGenerator","__prime","_prime","mont","_primeLen","_primeCode","formatReturnValue","bn","buf","toArray","defineProperty","enumerable","get","__gen","generateKeys","_gen","toRed","redPow","fromRed","getPublicKey","computeSecret","other","secret","getPrime","front","fill","getPrivateKey","getGenerator","findPrime","ONE","TWO","FIVE","FOUR","_getPrimes","limit","res","k","sqrt","p","modn","cmpn","red","subn","bits","num","n2","bitLength","ishrn","iadd","testn","bytes","inL","inR","outL","outR","pc2table","len","sTable","b","sb","permuteTable","padSplit","size","group","str","push","MAX_OCTET","CLASS_UNIVERSAL","PRIMITIVE_BIT","TAG_SEQ","TAG_INT","ENCODED_TAG_SEQ","ENCODED_TAG_INT","base64Url","base64","signatureAsBuffer","signature","from","TypeError","derToJose","maxEncodedParamLength","inputLength","offset","seqLength","rLength","rOffset","sLength","sOffset","rPadding","sPadding","dst","allocUnsafe","copy","o","countPadding","start","stop","padding","needsSign","joseToDer","signatureBytes","rsBytes","shortLength","setup","env","selectColor","hash","charCodeAt","createDebug","abs","prevTime","debug","enabled","self","curr","Number","Date","ms","prev","coerce","unshift","format","formatter","val","logFn","apply","destroy","extend","init","instances","indexOf","delimiter","newDebug","enable","names","skips","split","substr","instance","disable","map","toNamespace","name","regexp","substring","stack","default","forEach"],"mappings":"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","file":"js/chunk-vendors~b5906859.826490b4.js","sourcesContent":["var generatePrime = require('./lib/generatePrime')\nvar primes = require('./lib/primes.json')\n\nvar DH = require('./lib/dh')\n\nfunction getDiffieHellman (mod) {\n var prime = new Buffer(primes[mod].prime, 'hex')\n var gen = new Buffer(primes[mod].gen, 'hex')\n\n return new DH(prime, gen)\n}\n\nvar ENCODINGS = {\n 'binary': true, 'hex': true, 'base64': true\n}\n\nfunction createDiffieHellman (prime, enc, generator, genc) {\n if (Buffer.isBuffer(enc) || ENCODINGS[enc] === undefined) {\n return createDiffieHellman(prime, 'binary', enc, generator)\n }\n\n enc = enc || 'binary'\n genc = genc || 'binary'\n generator = generator || new Buffer([2])\n\n if (!Buffer.isBuffer(generator)) {\n generator = new Buffer(generator, genc)\n }\n\n if (typeof prime === 'number') {\n return new DH(generatePrime(prime, generator), generator, true)\n }\n\n if (!Buffer.isBuffer(prime)) {\n prime = new Buffer(prime, enc)\n }\n\n return new DH(prime, generator, true)\n}\n\nexports.DiffieHellmanGroup = exports.createDiffieHellmanGroup = exports.getDiffieHellman = getDiffieHellman\nexports.createDiffieHellman = exports.DiffieHellman = createDiffieHellman\n","'use strict';\n\nvar assert = require('minimalistic-assert');\n\nfunction Cipher(options) {\n this.options = options;\n\n this.type = this.options.type;\n this.blockSize = 8;\n this._init();\n\n this.buffer = new Array(this.blockSize);\n this.bufferOff = 0;\n}\nmodule.exports = Cipher;\n\nCipher.prototype._init = function _init() {\n // Might be overrided\n};\n\nCipher.prototype.update = function update(data) {\n if (data.length === 0)\n return [];\n\n if (this.type === 'decrypt')\n return this._updateDecrypt(data);\n else\n return this._updateEncrypt(data);\n};\n\nCipher.prototype._buffer = function _buffer(data, off) {\n // Append data to buffer\n var min = Math.min(this.buffer.length - this.bufferOff, data.length - off);\n for (var i = 0; i < min; i++)\n this.buffer[this.bufferOff + i] = data[off + i];\n this.bufferOff += min;\n\n // Shift next\n return min;\n};\n\nCipher.prototype._flushBuffer = function _flushBuffer(out, off) {\n this._update(this.buffer, 0, out, off);\n this.bufferOff = 0;\n return this.blockSize;\n};\n\nCipher.prototype._updateEncrypt = function _updateEncrypt(data) {\n var inputOff = 0;\n var outputOff = 0;\n\n var count = ((this.bufferOff + data.length) / this.blockSize) | 0;\n var out = new Array(count * this.blockSize);\n\n if (this.bufferOff !== 0) {\n inputOff += this._buffer(data, inputOff);\n\n if (this.bufferOff === this.buffer.length)\n outputOff += this._flushBuffer(out, outputOff);\n }\n\n // Write blocks\n var max = data.length - ((data.length - inputOff) % this.blockSize);\n for (; inputOff < max; inputOff += this.blockSize) {\n this._update(data, inputOff, out, outputOff);\n outputOff += this.blockSize;\n }\n\n // Queue rest\n for (; inputOff < data.length; inputOff++, this.bufferOff++)\n this.buffer[this.bufferOff] = data[inputOff];\n\n return out;\n};\n\nCipher.prototype._updateDecrypt = function _updateDecrypt(data) {\n var inputOff = 0;\n var outputOff = 0;\n\n var count = Math.ceil((this.bufferOff + data.length) / this.blockSize) - 1;\n var out = new Array(count * this.blockSize);\n\n // TODO(indutny): optimize it, this is far from optimal\n for (; count > 0; count--) {\n inputOff += this._buffer(data, inputOff);\n outputOff += this._flushBuffer(out, outputOff);\n }\n\n // Buffer rest of the input\n inputOff += this._buffer(data, inputOff);\n\n return out;\n};\n\nCipher.prototype.final = function final(buffer) {\n var first;\n if (buffer)\n first = this.update(buffer);\n\n var last;\n if (this.type === 'encrypt')\n last = this._finalEncrypt();\n else\n last = this._finalDecrypt();\n\n if (first)\n return first.concat(last);\n else\n return last;\n};\n\nCipher.prototype._pad = function _pad(buffer, off) {\n if (off === 0)\n return false;\n\n while (off < buffer.length)\n buffer[off++] = 0;\n\n return true;\n};\n\nCipher.prototype._finalEncrypt = function _finalEncrypt() {\n if (!this._pad(this.buffer, this.bufferOff))\n return [];\n\n var out = new Array(this.blockSize);\n this._update(this.buffer, 0, out, 0);\n return out;\n};\n\nCipher.prototype._unpad = function _unpad(buffer) {\n return buffer;\n};\n\nCipher.prototype._finalDecrypt = function _finalDecrypt() {\n assert.equal(this.bufferOff, this.blockSize, 'Not enough data to decrypt');\n var out = new Array(this.blockSize);\n this._flushBuffer(out, 0);\n\n return this._unpad(out);\n};\n","'use strict';\n\nvar assert = require('minimalistic-assert');\nvar inherits = require('inherits');\n\nvar proto = {};\n\nfunction CBCState(iv) {\n assert.equal(iv.length, 8, 'Invalid IV length');\n\n this.iv = new Array(8);\n for (var i = 0; i < this.iv.length; i++)\n this.iv[i] = iv[i];\n}\n\nfunction instantiate(Base) {\n function CBC(options) {\n Base.call(this, options);\n this._cbcInit();\n }\n inherits(CBC, Base);\n\n var keys = Object.keys(proto);\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n CBC.prototype[key] = proto[key];\n }\n\n CBC.create = function create(options) {\n return new CBC(options);\n };\n\n return CBC;\n}\n\nexports.instantiate = instantiate;\n\nproto._cbcInit = function _cbcInit() {\n var state = new CBCState(this.options.iv);\n this._cbcState = state;\n};\n\nproto._update = function _update(inp, inOff, out, outOff) {\n var state = this._cbcState;\n var superProto = this.constructor.super_.prototype;\n\n var iv = state.iv;\n if (this.type === 'encrypt') {\n for (var i = 0; i < this.blockSize; i++)\n iv[i] ^= inp[inOff + i];\n\n superProto._update.call(this, iv, 0, out, outOff);\n\n for (var i = 0; i < this.blockSize; i++)\n iv[i] = out[outOff + i];\n } else {\n superProto._update.call(this, inp, inOff, out, outOff);\n\n for (var i = 0; i < this.blockSize; i++)\n out[outOff + i] ^= iv[i];\n\n for (var i = 0; i < this.blockSize; i++)\n iv[i] = inp[inOff + i];\n }\n};\n","'use strict';\n\nexports.utils = require('./des/utils');\nexports.Cipher = require('./des/cipher');\nexports.DES = require('./des/des');\nexports.CBC = require('./des/cbc');\nexports.EDE = require('./des/ede');\n","'use strict';\n\nvar assert = require('minimalistic-assert');\nvar inherits = require('inherits');\n\nvar Cipher = require('./cipher');\nvar DES = require('./des');\n\nfunction EDEState(type, key) {\n assert.equal(key.length, 24, 'Invalid key length');\n\n var k1 = key.slice(0, 8);\n var k2 = key.slice(8, 16);\n var k3 = key.slice(16, 24);\n\n if (type === 'encrypt') {\n this.ciphers = [\n DES.create({ type: 'encrypt', key: k1 }),\n DES.create({ type: 'decrypt', key: k2 }),\n DES.create({ type: 'encrypt', key: k3 })\n ];\n } else {\n this.ciphers = [\n DES.create({ type: 'decrypt', key: k3 }),\n DES.create({ type: 'encrypt', key: k2 }),\n DES.create({ type: 'decrypt', key: k1 })\n ];\n }\n}\n\nfunction EDE(options) {\n Cipher.call(this, options);\n\n var state = new EDEState(this.type, this.options.key);\n this._edeState = state;\n}\ninherits(EDE, Cipher);\n\nmodule.exports = EDE;\n\nEDE.create = function create(options) {\n return new EDE(options);\n};\n\nEDE.prototype._update = function _update(inp, inOff, out, outOff) {\n var state = this._edeState;\n\n state.ciphers[0]._update(inp, inOff, out, outOff);\n state.ciphers[1]._update(out, outOff, out, outOff);\n state.ciphers[2]._update(out, outOff, out, outOff);\n};\n\nEDE.prototype._pad = DES.prototype._pad;\nEDE.prototype._unpad = DES.prototype._unpad;\n","'use strict';\n\nfunction getParamSize(keySize) {\n\tvar result = ((keySize / 8) | 0) + (keySize % 8 === 0 ? 0 : 1);\n\treturn result;\n}\n\nvar paramBytesForAlg = {\n\tES256: getParamSize(256),\n\tES384: getParamSize(384),\n\tES512: getParamSize(521)\n};\n\nfunction getParamBytesForAlg(alg) {\n\tvar paramBytes = paramBytesForAlg[alg];\n\tif (paramBytes) {\n\t\treturn paramBytes;\n\t}\n\n\tthrow new Error('Unknown algorithm \"' + alg + '\"');\n}\n\nmodule.exports = getParamBytesForAlg;\n","/* eslint-env browser */\n\n/**\n * This is the web browser implementation of `debug()`.\n */\n\nexports.log = log;\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.storage = localstorage();\n\n/**\n * Colors.\n */\n\nexports.colors = [\n\t'#0000CC',\n\t'#0000FF',\n\t'#0033CC',\n\t'#0033FF',\n\t'#0066CC',\n\t'#0066FF',\n\t'#0099CC',\n\t'#0099FF',\n\t'#00CC00',\n\t'#00CC33',\n\t'#00CC66',\n\t'#00CC99',\n\t'#00CCCC',\n\t'#00CCFF',\n\t'#3300CC',\n\t'#3300FF',\n\t'#3333CC',\n\t'#3333FF',\n\t'#3366CC',\n\t'#3366FF',\n\t'#3399CC',\n\t'#3399FF',\n\t'#33CC00',\n\t'#33CC33',\n\t'#33CC66',\n\t'#33CC99',\n\t'#33CCCC',\n\t'#33CCFF',\n\t'#6600CC',\n\t'#6600FF',\n\t'#6633CC',\n\t'#6633FF',\n\t'#66CC00',\n\t'#66CC33',\n\t'#9900CC',\n\t'#9900FF',\n\t'#9933CC',\n\t'#9933FF',\n\t'#99CC00',\n\t'#99CC33',\n\t'#CC0000',\n\t'#CC0033',\n\t'#CC0066',\n\t'#CC0099',\n\t'#CC00CC',\n\t'#CC00FF',\n\t'#CC3300',\n\t'#CC3333',\n\t'#CC3366',\n\t'#CC3399',\n\t'#CC33CC',\n\t'#CC33FF',\n\t'#CC6600',\n\t'#CC6633',\n\t'#CC9900',\n\t'#CC9933',\n\t'#CCCC00',\n\t'#CCCC33',\n\t'#FF0000',\n\t'#FF0033',\n\t'#FF0066',\n\t'#FF0099',\n\t'#FF00CC',\n\t'#FF00FF',\n\t'#FF3300',\n\t'#FF3333',\n\t'#FF3366',\n\t'#FF3399',\n\t'#FF33CC',\n\t'#FF33FF',\n\t'#FF6600',\n\t'#FF6633',\n\t'#FF9900',\n\t'#FF9933',\n\t'#FFCC00',\n\t'#FFCC33'\n];\n\n/**\n * Currently only WebKit-based Web Inspectors, Firefox >= v31,\n * and the Firebug extension (any Firefox version) are known\n * to support \"%c\" CSS customizations.\n *\n * TODO: add a `localStorage` variable to explicitly enable/disable colors\n */\n\n// eslint-disable-next-line complexity\nfunction useColors() {\n\t// NB: In an Electron preload script, document will be defined but not fully\n\t// initialized. Since we know we're in Chrome, we'll just detect this case\n\t// explicitly\n\tif (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) {\n\t\treturn true;\n\t}\n\n\t// Internet Explorer and Edge do not support colors.\n\tif (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/)) {\n\t\treturn false;\n\t}\n\n\t// Is webkit? http://stackoverflow.com/a/16459606/376773\n\t// document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n\treturn (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||\n\t\t// Is firebug? http://stackoverflow.com/a/398120/376773\n\t\t(typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||\n\t\t// Is firefox >= v31?\n\t\t// https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/) && parseInt(RegExp.$1, 10) >= 31) ||\n\t\t// Double check webkit in userAgent just in case we are in a worker\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/));\n}\n\n/**\n * Colorize log arguments if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n\targs[0] = (this.useColors ? '%c' : '') +\n\t\tthis.namespace +\n\t\t(this.useColors ? ' %c' : ' ') +\n\t\targs[0] +\n\t\t(this.useColors ? '%c ' : ' ') +\n\t\t'+' + module.exports.humanize(this.diff);\n\n\tif (!this.useColors) {\n\t\treturn;\n\t}\n\n\tconst c = 'color: ' + this.color;\n\targs.splice(1, 0, c, 'color: inherit');\n\n\t// The final \"%c\" is somewhat tricky, because there could be other\n\t// arguments passed either before or after the %c, so we need to\n\t// figure out the correct index to insert the CSS into\n\tlet index = 0;\n\tlet lastC = 0;\n\targs[0].replace(/%[a-zA-Z%]/g, match => {\n\t\tif (match === '%%') {\n\t\t\treturn;\n\t\t}\n\t\tindex++;\n\t\tif (match === '%c') {\n\t\t\t// We only are interested in the *last* %c\n\t\t\t// (the user may have provided their own)\n\t\t\tlastC = index;\n\t\t}\n\t});\n\n\targs.splice(lastC, 0, c);\n}\n\n/**\n * Invokes `console.log()` when available.\n * No-op when `console.log` is not a \"function\".\n *\n * @api public\n */\nfunction log(...args) {\n\t// This hackery is required for IE8/9, where\n\t// the `console.log` function doesn't have 'apply'\n\treturn typeof console === 'object' &&\n\t\tconsole.log &&\n\t\tconsole.log(...args);\n}\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\nfunction save(namespaces) {\n\ttry {\n\t\tif (namespaces) {\n\t\t\texports.storage.setItem('debug', namespaces);\n\t\t} else {\n\t\t\texports.storage.removeItem('debug');\n\t\t}\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\nfunction load() {\n\tlet r;\n\ttry {\n\t\tr = exports.storage.getItem('debug');\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n\n\t// If debug isn't set in LS, and we're in Electron, try to load $DEBUG\n\tif (!r && typeof process !== 'undefined' && 'env' in process) {\n\t\tr = process.env.DEBUG;\n\t}\n\n\treturn r;\n}\n\n/**\n * Localstorage attempts to return the localstorage.\n *\n * This is necessary because safari throws\n * when a user disables cookies/localstorage\n * and you attempt to access it.\n *\n * @return {LocalStorage}\n * @api private\n */\n\nfunction localstorage() {\n\ttry {\n\t\t// TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context\n\t\t// The Browser also has localStorage in the global context.\n\t\treturn localStorage;\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\nmodule.exports = require('./common')(exports);\n\nconst {formatters} = module.exports;\n\n/**\n * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.\n */\n\nformatters.j = function (v) {\n\ttry {\n\t\treturn JSON.stringify(v);\n\t} catch (error) {\n\t\treturn '[UnexpectedJSONParseError]: ' + error.message;\n\t}\n};\n","'use strict';\n\nvar assert = require('minimalistic-assert');\nvar inherits = require('inherits');\n\nvar utils = require('./utils');\nvar Cipher = require('./cipher');\n\nfunction DESState() {\n this.tmp = new Array(2);\n this.keys = null;\n}\n\nfunction DES(options) {\n Cipher.call(this, options);\n\n var state = new DESState();\n this._desState = state;\n\n this.deriveKeys(state, options.key);\n}\ninherits(DES, Cipher);\nmodule.exports = DES;\n\nDES.create = function create(options) {\n return new DES(options);\n};\n\nvar shiftTable = [\n 1, 1, 2, 2, 2, 2, 2, 2,\n 1, 2, 2, 2, 2, 2, 2, 1\n];\n\nDES.prototype.deriveKeys = function deriveKeys(state, key) {\n state.keys = new Array(16 * 2);\n\n assert.equal(key.length, this.blockSize, 'Invalid key length');\n\n var kL = utils.readUInt32BE(key, 0);\n var kR = utils.readUInt32BE(key, 4);\n\n utils.pc1(kL, kR, state.tmp, 0);\n kL = state.tmp[0];\n kR = state.tmp[1];\n for (var i = 0; i < state.keys.length; i += 2) {\n var shift = shiftTable[i >>> 1];\n kL = utils.r28shl(kL, shift);\n kR = utils.r28shl(kR, shift);\n utils.pc2(kL, kR, state.keys, i);\n }\n};\n\nDES.prototype._update = function _update(inp, inOff, out, outOff) {\n var state = this._desState;\n\n var l = utils.readUInt32BE(inp, inOff);\n var r = utils.readUInt32BE(inp, inOff + 4);\n\n // Initial Permutation\n utils.ip(l, r, state.tmp, 0);\n l = state.tmp[0];\n r = state.tmp[1];\n\n if (this.type === 'encrypt')\n this._encrypt(state, l, r, state.tmp, 0);\n else\n this._decrypt(state, l, r, state.tmp, 0);\n\n l = state.tmp[0];\n r = state.tmp[1];\n\n utils.writeUInt32BE(out, l, outOff);\n utils.writeUInt32BE(out, r, outOff + 4);\n};\n\nDES.prototype._pad = function _pad(buffer, off) {\n var value = buffer.length - off;\n for (var i = off; i < buffer.length; i++)\n buffer[i] = value;\n\n return true;\n};\n\nDES.prototype._unpad = function _unpad(buffer) {\n var pad = buffer[buffer.length - 1];\n for (var i = buffer.length - pad; i < buffer.length; i++)\n assert.equal(buffer[i], pad);\n\n return buffer.slice(0, buffer.length - pad);\n};\n\nDES.prototype._encrypt = function _encrypt(state, lStart, rStart, out, off) {\n var l = lStart;\n var r = rStart;\n\n // Apply f() x16 times\n for (var i = 0; i < state.keys.length; i += 2) {\n var keyL = state.keys[i];\n var keyR = state.keys[i + 1];\n\n // f(r, k)\n utils.expand(r, state.tmp, 0);\n\n keyL ^= state.tmp[0];\n keyR ^= state.tmp[1];\n var s = utils.substitute(keyL, keyR);\n var f = utils.permute(s);\n\n var t = r;\n r = (l ^ f) >>> 0;\n l = t;\n }\n\n // Reverse Initial Permutation\n utils.rip(r, l, out, off);\n};\n\nDES.prototype._decrypt = function _decrypt(state, lStart, rStart, out, off) {\n var l = rStart;\n var r = lStart;\n\n // Apply f() x16 times\n for (var i = state.keys.length - 2; i >= 0; i -= 2) {\n var keyL = state.keys[i];\n var keyR = state.keys[i + 1];\n\n // f(r, k)\n utils.expand(l, state.tmp, 0);\n\n keyL ^= state.tmp[0];\n keyR ^= state.tmp[1];\n var s = utils.substitute(keyL, keyR);\n var f = utils.permute(s);\n\n var t = l;\n l = (r ^ f) >>> 0;\n r = t;\n }\n\n // Reverse Initial Permutation\n utils.rip(l, r, out, off);\n};\n","var BN = require('bn.js');\nvar MillerRabin = require('miller-rabin');\nvar millerRabin = new MillerRabin();\nvar TWENTYFOUR = new BN(24);\nvar ELEVEN = new BN(11);\nvar TEN = new BN(10);\nvar THREE = new BN(3);\nvar SEVEN = new BN(7);\nvar primes = require('./generatePrime');\nvar randomBytes = require('randombytes');\nmodule.exports = DH;\n\nfunction setPublicKey(pub, enc) {\n enc = enc || 'utf8';\n if (!Buffer.isBuffer(pub)) {\n pub = new Buffer(pub, enc);\n }\n this._pub = new BN(pub);\n return this;\n}\n\nfunction setPrivateKey(priv, enc) {\n enc = enc || 'utf8';\n if (!Buffer.isBuffer(priv)) {\n priv = new Buffer(priv, enc);\n }\n this._priv = new BN(priv);\n return this;\n}\n\nvar primeCache = {};\nfunction checkPrime(prime, generator) {\n var gen = generator.toString('hex');\n var hex = [gen, prime.toString(16)].join('_');\n if (hex in primeCache) {\n return primeCache[hex];\n }\n var error = 0;\n\n if (prime.isEven() ||\n !primes.simpleSieve ||\n !primes.fermatTest(prime) ||\n !millerRabin.test(prime)) {\n //not a prime so +1\n error += 1;\n\n if (gen === '02' || gen === '05') {\n // we'd be able to check the generator\n // it would fail so +8\n error += 8;\n } else {\n //we wouldn't be able to test the generator\n // so +4\n error += 4;\n }\n primeCache[hex] = error;\n return error;\n }\n if (!millerRabin.test(prime.shrn(1))) {\n //not a safe prime\n error += 2;\n }\n var rem;\n switch (gen) {\n case '02':\n if (prime.mod(TWENTYFOUR).cmp(ELEVEN)) {\n // unsuidable generator\n error += 8;\n }\n break;\n case '05':\n rem = prime.mod(TEN);\n if (rem.cmp(THREE) && rem.cmp(SEVEN)) {\n // prime mod 10 needs to equal 3 or 7\n error += 8;\n }\n break;\n default:\n error += 4;\n }\n primeCache[hex] = error;\n return error;\n}\n\nfunction DH(prime, generator, malleable) {\n this.setGenerator(generator);\n this.__prime = new BN(prime);\n this._prime = BN.mont(this.__prime);\n this._primeLen = prime.length;\n this._pub = undefined;\n this._priv = undefined;\n this._primeCode = undefined;\n if (malleable) {\n this.setPublicKey = setPublicKey;\n this.setPrivateKey = setPrivateKey;\n } else {\n this._primeCode = 8;\n }\n}\nObject.defineProperty(DH.prototype, 'verifyError', {\n enumerable: true,\n get: function () {\n if (typeof this._primeCode !== 'number') {\n this._primeCode = checkPrime(this.__prime, this.__gen);\n }\n return this._primeCode;\n }\n});\nDH.prototype.generateKeys = function () {\n if (!this._priv) {\n this._priv = new BN(randomBytes(this._primeLen));\n }\n this._pub = this._gen.toRed(this._prime).redPow(this._priv).fromRed();\n return this.getPublicKey();\n};\n\nDH.prototype.computeSecret = function (other) {\n other = new BN(other);\n other = other.toRed(this._prime);\n var secret = other.redPow(this._priv).fromRed();\n var out = new Buffer(secret.toArray());\n var prime = this.getPrime();\n if (out.length < prime.length) {\n var front = new Buffer(prime.length - out.length);\n front.fill(0);\n out = Buffer.concat([front, out]);\n }\n return out;\n};\n\nDH.prototype.getPublicKey = function getPublicKey(enc) {\n return formatReturnValue(this._pub, enc);\n};\n\nDH.prototype.getPrivateKey = function getPrivateKey(enc) {\n return formatReturnValue(this._priv, enc);\n};\n\nDH.prototype.getPrime = function (enc) {\n return formatReturnValue(this.__prime, enc);\n};\n\nDH.prototype.getGenerator = function (enc) {\n return formatReturnValue(this._gen, enc);\n};\n\nDH.prototype.setGenerator = function (gen, enc) {\n enc = enc || 'utf8';\n if (!Buffer.isBuffer(gen)) {\n gen = new Buffer(gen, enc);\n }\n this.__gen = gen;\n this._gen = new BN(gen);\n return this;\n};\n\nfunction formatReturnValue(bn, enc) {\n var buf = new Buffer(bn.toArray());\n if (!enc) {\n return buf;\n } else {\n return buf.toString(enc);\n }\n}\n","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","'use strict';\n\nexports.readUInt32BE = function readUInt32BE(bytes, off) {\n var res = (bytes[0 + off] << 24) |\n (bytes[1 + off] << 16) |\n (bytes[2 + off] << 8) |\n bytes[3 + off];\n return res >>> 0;\n};\n\nexports.writeUInt32BE = function writeUInt32BE(bytes, value, off) {\n bytes[0 + off] = value >>> 24;\n bytes[1 + off] = (value >>> 16) & 0xff;\n bytes[2 + off] = (value >>> 8) & 0xff;\n bytes[3 + off] = value & 0xff;\n};\n\nexports.ip = function ip(inL, inR, out, off) {\n var outL = 0;\n var outR = 0;\n\n for (var i = 6; i >= 0; i -= 2) {\n for (var j = 0; j <= 24; j += 8) {\n outL <<= 1;\n outL |= (inR >>> (j + i)) & 1;\n }\n for (var j = 0; j <= 24; j += 8) {\n outL <<= 1;\n outL |= (inL >>> (j + i)) & 1;\n }\n }\n\n for (var i = 6; i >= 0; i -= 2) {\n for (var j = 1; j <= 25; j += 8) {\n outR <<= 1;\n outR |= (inR >>> (j + i)) & 1;\n }\n for (var j = 1; j <= 25; j += 8) {\n outR <<= 1;\n outR |= (inL >>> (j + i)) & 1;\n }\n }\n\n out[off + 0] = outL >>> 0;\n out[off + 1] = outR >>> 0;\n};\n\nexports.rip = function rip(inL, inR, out, off) {\n var outL = 0;\n var outR = 0;\n\n for (var i = 0; i < 4; i++) {\n for (var j = 24; j >= 0; j -= 8) {\n outL <<= 1;\n outL |= (inR >>> (j + i)) & 1;\n outL <<= 1;\n outL |= (inL >>> (j + i)) & 1;\n }\n }\n for (var i = 4; i < 8; i++) {\n for (var j = 24; j >= 0; j -= 8) {\n outR <<= 1;\n outR |= (inR >>> (j + i)) & 1;\n outR <<= 1;\n outR |= (inL >>> (j + i)) & 1;\n }\n }\n\n out[off + 0] = outL >>> 0;\n out[off + 1] = outR >>> 0;\n};\n\nexports.pc1 = function pc1(inL, inR, out, off) {\n var outL = 0;\n var outR = 0;\n\n // 7, 15, 23, 31, 39, 47, 55, 63\n // 6, 14, 22, 30, 39, 47, 55, 63\n // 5, 13, 21, 29, 39, 47, 55, 63\n // 4, 12, 20, 28\n for (var i = 7; i >= 5; i--) {\n for (var j = 0; j <= 24; j += 8) {\n outL <<= 1;\n outL |= (inR >> (j + i)) & 1;\n }\n for (var j = 0; j <= 24; j += 8) {\n outL <<= 1;\n outL |= (inL >> (j + i)) & 1;\n }\n }\n for (var j = 0; j <= 24; j += 8) {\n outL <<= 1;\n outL |= (inR >> (j + i)) & 1;\n }\n\n // 1, 9, 17, 25, 33, 41, 49, 57\n // 2, 10, 18, 26, 34, 42, 50, 58\n // 3, 11, 19, 27, 35, 43, 51, 59\n // 36, 44, 52, 60\n for (var i = 1; i <= 3; i++) {\n for (var j = 0; j <= 24; j += 8) {\n outR <<= 1;\n outR |= (inR >> (j + i)) & 1;\n }\n for (var j = 0; j <= 24; j += 8) {\n outR <<= 1;\n outR |= (inL >> (j + i)) & 1;\n }\n }\n for (var j = 0; j <= 24; j += 8) {\n outR <<= 1;\n outR |= (inL >> (j + i)) & 1;\n }\n\n out[off + 0] = outL >>> 0;\n out[off + 1] = outR >>> 0;\n};\n\nexports.r28shl = function r28shl(num, shift) {\n return ((num << shift) & 0xfffffff) | (num >>> (28 - shift));\n};\n\nvar pc2table = [\n // inL => outL\n 14, 11, 17, 4, 27, 23, 25, 0,\n 13, 22, 7, 18, 5, 9, 16, 24,\n 2, 20, 12, 21, 1, 8, 15, 26,\n\n // inR => outR\n 15, 4, 25, 19, 9, 1, 26, 16,\n 5, 11, 23, 8, 12, 7, 17, 0,\n 22, 3, 10, 14, 6, 20, 27, 24\n];\n\nexports.pc2 = function pc2(inL, inR, out, off) {\n var outL = 0;\n var outR = 0;\n\n var len = pc2table.length >>> 1;\n for (var i = 0; i < len; i++) {\n outL <<= 1;\n outL |= (inL >>> pc2table[i]) & 0x1;\n }\n for (var i = len; i < pc2table.length; i++) {\n outR <<= 1;\n outR |= (inR >>> pc2table[i]) & 0x1;\n }\n\n out[off + 0] = outL >>> 0;\n out[off + 1] = outR >>> 0;\n};\n\nexports.expand = function expand(r, out, off) {\n var outL = 0;\n var outR = 0;\n\n outL = ((r & 1) << 5) | (r >>> 27);\n for (var i = 23; i >= 15; i -= 4) {\n outL <<= 6;\n outL |= (r >>> i) & 0x3f;\n }\n for (var i = 11; i >= 3; i -= 4) {\n outR |= (r >>> i) & 0x3f;\n outR <<= 6;\n }\n outR |= ((r & 0x1f) << 1) | (r >>> 31);\n\n out[off + 0] = outL >>> 0;\n out[off + 1] = outR >>> 0;\n};\n\nvar sTable = [\n 14, 0, 4, 15, 13, 7, 1, 4, 2, 14, 15, 2, 11, 13, 8, 1,\n 3, 10, 10, 6, 6, 12, 12, 11, 5, 9, 9, 5, 0, 3, 7, 8,\n 4, 15, 1, 12, 14, 8, 8, 2, 13, 4, 6, 9, 2, 1, 11, 7,\n 15, 5, 12, 11, 9, 3, 7, 14, 3, 10, 10, 0, 5, 6, 0, 13,\n\n 15, 3, 1, 13, 8, 4, 14, 7, 6, 15, 11, 2, 3, 8, 4, 14,\n 9, 12, 7, 0, 2, 1, 13, 10, 12, 6, 0, 9, 5, 11, 10, 5,\n 0, 13, 14, 8, 7, 10, 11, 1, 10, 3, 4, 15, 13, 4, 1, 2,\n 5, 11, 8, 6, 12, 7, 6, 12, 9, 0, 3, 5, 2, 14, 15, 9,\n\n 10, 13, 0, 7, 9, 0, 14, 9, 6, 3, 3, 4, 15, 6, 5, 10,\n 1, 2, 13, 8, 12, 5, 7, 14, 11, 12, 4, 11, 2, 15, 8, 1,\n 13, 1, 6, 10, 4, 13, 9, 0, 8, 6, 15, 9, 3, 8, 0, 7,\n 11, 4, 1, 15, 2, 14, 12, 3, 5, 11, 10, 5, 14, 2, 7, 12,\n\n 7, 13, 13, 8, 14, 11, 3, 5, 0, 6, 6, 15, 9, 0, 10, 3,\n 1, 4, 2, 7, 8, 2, 5, 12, 11, 1, 12, 10, 4, 14, 15, 9,\n 10, 3, 6, 15, 9, 0, 0, 6, 12, 10, 11, 1, 7, 13, 13, 8,\n 15, 9, 1, 4, 3, 5, 14, 11, 5, 12, 2, 7, 8, 2, 4, 14,\n\n 2, 14, 12, 11, 4, 2, 1, 12, 7, 4, 10, 7, 11, 13, 6, 1,\n 8, 5, 5, 0, 3, 15, 15, 10, 13, 3, 0, 9, 14, 8, 9, 6,\n 4, 11, 2, 8, 1, 12, 11, 7, 10, 1, 13, 14, 7, 2, 8, 13,\n 15, 6, 9, 15, 12, 0, 5, 9, 6, 10, 3, 4, 0, 5, 14, 3,\n\n 12, 10, 1, 15, 10, 4, 15, 2, 9, 7, 2, 12, 6, 9, 8, 5,\n 0, 6, 13, 1, 3, 13, 4, 14, 14, 0, 7, 11, 5, 3, 11, 8,\n 9, 4, 14, 3, 15, 2, 5, 12, 2, 9, 8, 5, 12, 15, 3, 10,\n 7, 11, 0, 14, 4, 1, 10, 7, 1, 6, 13, 0, 11, 8, 6, 13,\n\n 4, 13, 11, 0, 2, 11, 14, 7, 15, 4, 0, 9, 8, 1, 13, 10,\n 3, 14, 12, 3, 9, 5, 7, 12, 5, 2, 10, 15, 6, 8, 1, 6,\n 1, 6, 4, 11, 11, 13, 13, 8, 12, 1, 3, 4, 7, 10, 14, 7,\n 10, 9, 15, 5, 6, 0, 8, 15, 0, 14, 5, 2, 9, 3, 2, 12,\n\n 13, 1, 2, 15, 8, 13, 4, 8, 6, 10, 15, 3, 11, 7, 1, 4,\n 10, 12, 9, 5, 3, 6, 14, 11, 5, 0, 0, 14, 12, 9, 7, 2,\n 7, 2, 11, 1, 4, 14, 1, 7, 9, 4, 12, 10, 14, 8, 2, 13,\n 0, 15, 6, 12, 10, 9, 13, 0, 15, 3, 3, 5, 5, 6, 8, 11\n];\n\nexports.substitute = function substitute(inL, inR) {\n var out = 0;\n for (var i = 0; i < 4; i++) {\n var b = (inL >>> (18 - i * 6)) & 0x3f;\n var sb = sTable[i * 0x40 + b];\n\n out <<= 4;\n out |= sb;\n }\n for (var i = 0; i < 4; i++) {\n var b = (inR >>> (18 - i * 6)) & 0x3f;\n var sb = sTable[4 * 0x40 + i * 0x40 + b];\n\n out <<= 4;\n out |= sb;\n }\n return out >>> 0;\n};\n\nvar permuteTable = [\n 16, 25, 12, 11, 3, 20, 4, 15, 31, 17, 9, 6, 27, 14, 1, 22,\n 30, 24, 8, 18, 0, 5, 29, 23, 13, 19, 2, 26, 10, 21, 28, 7\n];\n\nexports.permute = function permute(num) {\n var out = 0;\n for (var i = 0; i < permuteTable.length; i++) {\n out <<= 1;\n out |= (num >>> permuteTable[i]) & 0x1;\n }\n return out >>> 0;\n};\n\nexports.padSplit = function padSplit(num, size, group) {\n var str = num.toString(2);\n while (str.length < size)\n str = '0' + str;\n\n var out = [];\n for (var i = 0; i < size; i += group)\n out.push(str.slice(i, i + group));\n return out.join(' ');\n};\n","'use strict';\n\nvar Buffer = require('safe-buffer').Buffer;\n\nvar getParamBytesForAlg = require('./param-bytes-for-alg');\n\nvar MAX_OCTET = 0x80,\n\tCLASS_UNIVERSAL = 0,\n\tPRIMITIVE_BIT = 0x20,\n\tTAG_SEQ = 0x10,\n\tTAG_INT = 0x02,\n\tENCODED_TAG_SEQ = (TAG_SEQ | PRIMITIVE_BIT) | (CLASS_UNIVERSAL << 6),\n\tENCODED_TAG_INT = TAG_INT | (CLASS_UNIVERSAL << 6);\n\nfunction base64Url(base64) {\n\treturn base64\n\t\t.replace(/=/g, '')\n\t\t.replace(/\\+/g, '-')\n\t\t.replace(/\\//g, '_');\n}\n\nfunction signatureAsBuffer(signature) {\n\tif (Buffer.isBuffer(signature)) {\n\t\treturn signature;\n\t} else if ('string' === typeof signature) {\n\t\treturn Buffer.from(signature, 'base64');\n\t}\n\n\tthrow new TypeError('ECDSA signature must be a Base64 string or a Buffer');\n}\n\nfunction derToJose(signature, alg) {\n\tsignature = signatureAsBuffer(signature);\n\tvar paramBytes = getParamBytesForAlg(alg);\n\n\t// the DER encoded param should at most be the param size, plus a padding\n\t// zero, since due to being a signed integer\n\tvar maxEncodedParamLength = paramBytes + 1;\n\n\tvar inputLength = signature.length;\n\n\tvar offset = 0;\n\tif (signature[offset++] !== ENCODED_TAG_SEQ) {\n\t\tthrow new Error('Could not find expected \"seq\"');\n\t}\n\n\tvar seqLength = signature[offset++];\n\tif (seqLength === (MAX_OCTET | 1)) {\n\t\tseqLength = signature[offset++];\n\t}\n\n\tif (inputLength - offset < seqLength) {\n\t\tthrow new Error('\"seq\" specified length of \"' + seqLength + '\", only \"' + (inputLength - offset) + '\" remaining');\n\t}\n\n\tif (signature[offset++] !== ENCODED_TAG_INT) {\n\t\tthrow new Error('Could not find expected \"int\" for \"r\"');\n\t}\n\n\tvar rLength = signature[offset++];\n\n\tif (inputLength - offset - 2 < rLength) {\n\t\tthrow new Error('\"r\" specified length of \"' + rLength + '\", only \"' + (inputLength - offset - 2) + '\" available');\n\t}\n\n\tif (maxEncodedParamLength < rLength) {\n\t\tthrow new Error('\"r\" specified length of \"' + rLength + '\", max of \"' + maxEncodedParamLength + '\" is acceptable');\n\t}\n\n\tvar rOffset = offset;\n\toffset += rLength;\n\n\tif (signature[offset++] !== ENCODED_TAG_INT) {\n\t\tthrow new Error('Could not find expected \"int\" for \"s\"');\n\t}\n\n\tvar sLength = signature[offset++];\n\n\tif (inputLength - offset !== sLength) {\n\t\tthrow new Error('\"s\" specified length of \"' + sLength + '\", expected \"' + (inputLength - offset) + '\"');\n\t}\n\n\tif (maxEncodedParamLength < sLength) {\n\t\tthrow new Error('\"s\" specified length of \"' + sLength + '\", max of \"' + maxEncodedParamLength + '\" is acceptable');\n\t}\n\n\tvar sOffset = offset;\n\toffset += sLength;\n\n\tif (offset !== inputLength) {\n\t\tthrow new Error('Expected to consume entire buffer, but \"' + (inputLength - offset) + '\" bytes remain');\n\t}\n\n\tvar rPadding = paramBytes - rLength,\n\t\tsPadding = paramBytes - sLength;\n\n\tvar dst = Buffer.allocUnsafe(rPadding + rLength + sPadding + sLength);\n\n\tfor (offset = 0; offset < rPadding; ++offset) {\n\t\tdst[offset] = 0;\n\t}\n\tsignature.copy(dst, offset, rOffset + Math.max(-rPadding, 0), rOffset + rLength);\n\n\toffset = paramBytes;\n\n\tfor (var o = offset; offset < o + sPadding; ++offset) {\n\t\tdst[offset] = 0;\n\t}\n\tsignature.copy(dst, offset, sOffset + Math.max(-sPadding, 0), sOffset + sLength);\n\n\tdst = dst.toString('base64');\n\tdst = base64Url(dst);\n\n\treturn dst;\n}\n\nfunction countPadding(buf, start, stop) {\n\tvar padding = 0;\n\twhile (start + padding < stop && buf[start + padding] === 0) {\n\t\t++padding;\n\t}\n\n\tvar needsSign = buf[start + padding] >= MAX_OCTET;\n\tif (needsSign) {\n\t\t--padding;\n\t}\n\n\treturn padding;\n}\n\nfunction joseToDer(signature, alg) {\n\tsignature = signatureAsBuffer(signature);\n\tvar paramBytes = getParamBytesForAlg(alg);\n\n\tvar signatureBytes = signature.length;\n\tif (signatureBytes !== paramBytes * 2) {\n\t\tthrow new TypeError('\"' + alg + '\" signatures must be \"' + paramBytes * 2 + '\" bytes, saw \"' + signatureBytes + '\"');\n\t}\n\n\tvar rPadding = countPadding(signature, 0, paramBytes);\n\tvar sPadding = countPadding(signature, paramBytes, signature.length);\n\tvar rLength = paramBytes - rPadding;\n\tvar sLength = paramBytes - sPadding;\n\n\tvar rsBytes = 1 + 1 + rLength + 1 + 1 + sLength;\n\n\tvar shortLength = rsBytes < MAX_OCTET;\n\n\tvar dst = Buffer.allocUnsafe((shortLength ? 2 : 3) + rsBytes);\n\n\tvar offset = 0;\n\tdst[offset++] = ENCODED_TAG_SEQ;\n\tif (shortLength) {\n\t\t// Bit 8 has value \"0\"\n\t\t// bits 7-1 give the length.\n\t\tdst[offset++] = rsBytes;\n\t} else {\n\t\t// Bit 8 of first octet has value \"1\"\n\t\t// bits 7-1 give the number of additional length octets.\n\t\tdst[offset++] = MAX_OCTET\t| 1;\n\t\t// length, base 256\n\t\tdst[offset++] = rsBytes & 0xff;\n\t}\n\tdst[offset++] = ENCODED_TAG_INT;\n\tdst[offset++] = rLength;\n\tif (rPadding < 0) {\n\t\tdst[offset++] = 0;\n\t\toffset += signature.copy(dst, offset, 0, paramBytes);\n\t} else {\n\t\toffset += signature.copy(dst, offset, rPadding, paramBytes);\n\t}\n\tdst[offset++] = ENCODED_TAG_INT;\n\tdst[offset++] = sLength;\n\tif (sPadding < 0) {\n\t\tdst[offset++] = 0;\n\t\tsignature.copy(dst, offset, paramBytes);\n\t} else {\n\t\tsignature.copy(dst, offset, paramBytes + sPadding);\n\t}\n\n\treturn dst;\n}\n\nmodule.exports = {\n\tderToJose: derToJose,\n\tjoseToDer: joseToDer\n};\n","\n/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n */\n\nfunction setup(env) {\n\tcreateDebug.debug = createDebug;\n\tcreateDebug.default = createDebug;\n\tcreateDebug.coerce = coerce;\n\tcreateDebug.disable = disable;\n\tcreateDebug.enable = enable;\n\tcreateDebug.enabled = enabled;\n\tcreateDebug.humanize = require('ms');\n\n\tObject.keys(env).forEach(key => {\n\t\tcreateDebug[key] = env[key];\n\t});\n\n\t/**\n\t* Active `debug` instances.\n\t*/\n\tcreateDebug.instances = [];\n\n\t/**\n\t* The currently active debug mode names, and names to skip.\n\t*/\n\n\tcreateDebug.names = [];\n\tcreateDebug.skips = [];\n\n\t/**\n\t* Map of special \"%n\" handling functions, for the debug \"format\" argument.\n\t*\n\t* Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n\t*/\n\tcreateDebug.formatters = {};\n\n\t/**\n\t* Selects a color for a debug namespace\n\t* @param {String} namespace The namespace string for the for the debug instance to be colored\n\t* @return {Number|String} An ANSI color code for the given namespace\n\t* @api private\n\t*/\n\tfunction selectColor(namespace) {\n\t\tlet hash = 0;\n\n\t\tfor (let i = 0; i < namespace.length; i++) {\n\t\t\thash = ((hash << 5) - hash) + namespace.charCodeAt(i);\n\t\t\thash |= 0; // Convert to 32bit integer\n\t\t}\n\n\t\treturn createDebug.colors[Math.abs(hash) % createDebug.colors.length];\n\t}\n\tcreateDebug.selectColor = selectColor;\n\n\t/**\n\t* Create a debugger with the given `namespace`.\n\t*\n\t* @param {String} namespace\n\t* @return {Function}\n\t* @api public\n\t*/\n\tfunction createDebug(namespace) {\n\t\tlet prevTime;\n\n\t\tfunction debug(...args) {\n\t\t\t// Disabled?\n\t\t\tif (!debug.enabled) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst self = debug;\n\n\t\t\t// Set `diff` timestamp\n\t\t\tconst curr = Number(new Date());\n\t\t\tconst ms = curr - (prevTime || curr);\n\t\t\tself.diff = ms;\n\t\t\tself.prev = prevTime;\n\t\t\tself.curr = curr;\n\t\t\tprevTime = curr;\n\n\t\t\targs[0] = createDebug.coerce(args[0]);\n\n\t\t\tif (typeof args[0] !== 'string') {\n\t\t\t\t// Anything else let's inspect with %O\n\t\t\t\targs.unshift('%O');\n\t\t\t}\n\n\t\t\t// Apply any `formatters` transformations\n\t\t\tlet index = 0;\n\t\t\targs[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {\n\t\t\t\t// If we encounter an escaped % then don't increase the array index\n\t\t\t\tif (match === '%%') {\n\t\t\t\t\treturn match;\n\t\t\t\t}\n\t\t\t\tindex++;\n\t\t\t\tconst formatter = createDebug.formatters[format];\n\t\t\t\tif (typeof formatter === 'function') {\n\t\t\t\t\tconst val = args[index];\n\t\t\t\t\tmatch = formatter.call(self, val);\n\n\t\t\t\t\t// Now we need to remove `args[index]` since it's inlined in the `format`\n\t\t\t\t\targs.splice(index, 1);\n\t\t\t\t\tindex--;\n\t\t\t\t}\n\t\t\t\treturn match;\n\t\t\t});\n\n\t\t\t// Apply env-specific formatting (colors, etc.)\n\t\t\tcreateDebug.formatArgs.call(self, args);\n\n\t\t\tconst logFn = self.log || createDebug.log;\n\t\t\tlogFn.apply(self, args);\n\t\t}\n\n\t\tdebug.namespace = namespace;\n\t\tdebug.enabled = createDebug.enabled(namespace);\n\t\tdebug.useColors = createDebug.useColors();\n\t\tdebug.color = selectColor(namespace);\n\t\tdebug.destroy = destroy;\n\t\tdebug.extend = extend;\n\t\t// Debug.formatArgs = formatArgs;\n\t\t// debug.rawLog = rawLog;\n\n\t\t// env-specific initialization logic for debug instances\n\t\tif (typeof createDebug.init === 'function') {\n\t\t\tcreateDebug.init(debug);\n\t\t}\n\n\t\tcreateDebug.instances.push(debug);\n\n\t\treturn debug;\n\t}\n\n\tfunction destroy() {\n\t\tconst index = createDebug.instances.indexOf(this);\n\t\tif (index !== -1) {\n\t\t\tcreateDebug.instances.splice(index, 1);\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tfunction extend(namespace, delimiter) {\n\t\tconst newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace);\n\t\tnewDebug.log = this.log;\n\t\treturn newDebug;\n\t}\n\n\t/**\n\t* Enables a debug mode by namespaces. This can include modes\n\t* separated by a colon and wildcards.\n\t*\n\t* @param {String} namespaces\n\t* @api public\n\t*/\n\tfunction enable(namespaces) {\n\t\tcreateDebug.save(namespaces);\n\n\t\tcreateDebug.names = [];\n\t\tcreateDebug.skips = [];\n\n\t\tlet i;\n\t\tconst split = (typeof namespaces === 'string' ? namespaces : '').split(/[\\s,]+/);\n\t\tconst len = split.length;\n\n\t\tfor (i = 0; i < len; i++) {\n\t\t\tif (!split[i]) {\n\t\t\t\t// ignore empty strings\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tnamespaces = split[i].replace(/\\*/g, '.*?');\n\n\t\t\tif (namespaces[0] === '-') {\n\t\t\t\tcreateDebug.skips.push(new RegExp('^' + namespaces.substr(1) + '$'));\n\t\t\t} else {\n\t\t\t\tcreateDebug.names.push(new RegExp('^' + namespaces + '$'));\n\t\t\t}\n\t\t}\n\n\t\tfor (i = 0; i < createDebug.instances.length; i++) {\n\t\t\tconst instance = createDebug.instances[i];\n\t\t\tinstance.enabled = createDebug.enabled(instance.namespace);\n\t\t}\n\t}\n\n\t/**\n\t* Disable debug output.\n\t*\n\t* @return {String} namespaces\n\t* @api public\n\t*/\n\tfunction disable() {\n\t\tconst namespaces = [\n\t\t\t...createDebug.names.map(toNamespace),\n\t\t\t...createDebug.skips.map(toNamespace).map(namespace => '-' + namespace)\n\t\t].join(',');\n\t\tcreateDebug.enable('');\n\t\treturn namespaces;\n\t}\n\n\t/**\n\t* Returns true if the given mode name is enabled, false otherwise.\n\t*\n\t* @param {String} name\n\t* @return {Boolean}\n\t* @api public\n\t*/\n\tfunction enabled(name) {\n\t\tif (name[name.length - 1] === '*') {\n\t\t\treturn true;\n\t\t}\n\n\t\tlet i;\n\t\tlet len;\n\n\t\tfor (i = 0, len = createDebug.skips.length; i < len; i++) {\n\t\t\tif (createDebug.skips[i].test(name)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tfor (i = 0, len = createDebug.names.length; i < len; i++) {\n\t\t\tif (createDebug.names[i].test(name)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t* Convert regexp to namespace\n\t*\n\t* @param {RegExp} regxep\n\t* @return {String} namespace\n\t* @api private\n\t*/\n\tfunction toNamespace(regexp) {\n\t\treturn regexp.toString()\n\t\t\t.substring(2, regexp.toString().length - 2)\n\t\t\t.replace(/\\.\\*\\?$/, '*');\n\t}\n\n\t/**\n\t* Coerce `val`.\n\t*\n\t* @param {Mixed} val\n\t* @return {Mixed}\n\t* @api private\n\t*/\n\tfunction coerce(val) {\n\t\tif (val instanceof Error) {\n\t\t\treturn val.stack || val.message;\n\t\t}\n\t\treturn val;\n\t}\n\n\tcreateDebug.enable(createDebug.load());\n\n\treturn createDebug;\n}\n\nmodule.exports = setup;\n"],"sourceRoot":""}