diff options
20 files changed, 26 insertions, 0 deletions
diff --git a/cli/npm/tarball.rs b/cli/npm/tarball.rs index f6fcb27bf..33e4faa69 100644 --- a/cli/npm/tarball.rs +++ b/cli/npm/tarball.rs @@ -123,6 +123,13 @@ fn extract_tarball(data: &[u8], output_folder: &Path) -> Result<(), AnyError> { let mut entry = entry?; let path = entry.path()?; let entry_type = entry.header().entry_type(); + + // Some package tarballs contain "pax_global_header", these entries + // should be skipped. + if entry_type == EntryType::XGlobalHeader { + continue; + } + // skip the first component which will be either "package" or the name of the package let relative_path = path.components().skip(1).collect::<PathBuf>(); let absolute_path = output_folder.join(relative_path); diff --git a/cli/tests/integration/npm_tests.rs b/cli/tests/integration/npm_tests.rs index 85256df3f..059fac99b 100644 --- a/cli/tests/integration/npm_tests.rs +++ b/cli/tests/integration/npm_tests.rs @@ -110,6 +110,13 @@ itest!(sub_paths { http_server: true, }); +itest!(tarball_with_global_header { + args: "run --unstable -A --quiet npm/tarball_with_global_header/main.js", + output: "npm/tarball_with_global_header/main.out", + envs: env_vars(), + http_server: true, +}); + #[test] fn parallel_downloading() { let (out, _err) = util::run_and_collect_output_with_args( diff --git a/cli/tests/testdata/npm/registry/asn1/asn1-0.2.6.tgz b/cli/tests/testdata/npm/registry/asn1/asn1-0.2.6.tgz Binary files differnew file mode 100644 index 000000000..a3d0923f0 --- /dev/null +++ b/cli/tests/testdata/npm/registry/asn1/asn1-0.2.6.tgz diff --git a/cli/tests/testdata/npm/registry/asn1/registry.json b/cli/tests/testdata/npm/registry/asn1/registry.json new file mode 100644 index 000000000..5d424a9fd --- /dev/null +++ b/cli/tests/testdata/npm/registry/asn1/registry.json @@ -0,0 +1 @@ +{"_id":"asn1","_rev":"75-143f90f253e5b728d4ab7277916a22e7","name":"asn1","description":"Contains parsers and serializers for ASN.1 (currently BER only)","dist-tags":{"latest":"0.2.6"},"versions":{"0.1.0":{"author":{"name":"Mark Cavage","email":"mcavage@gmail.com"},"name":"asn1","description":"Contains parsers and serializers for ASN.1 (currently BER only)","version":"0.1.0","repository":{"type":"git","url":"git://github.com/mcavage/node-asn1.git"},"engines":{"node":"~0.4.9"},"dependencies":{},"devDependencies":{"tap":"~0.0.5"},"scripts":{"pretest":"which gjslint; if [[ \"$?\" = 0 ]] ; then gjslint --nojsdoc -r lib -r tst; else echo \"Missing gjslint. Skipping lint\"; fi","test":"./node_modules/.bin/tap ./tst"},"_npmJsonOpts":{"file":"/Users/mark/.npm/asn1/0.1.0/package/package.json","wscript":false,"contributors":false,"serverjs":false},"_id":"asn1@0.1.0","_engineSupported":true,"_npmVersion":"1.0.15","_nodeVersion":"v0.4.9","_defaultsLoaded":true,"dist":{"shasum":"8618214ff5c0180807a885d9c1f3b67dc73e058f","tarball":"http://localhost:4545/npm/registry/asn1/asn1-0.1.0.tgz","integrity":"sha512-CuqJJHh/U5xQcoBHUK43DP7QpIu9ReEGxOtczPYloauyuCuoHL8zoc8CJiAY3BTpsdI8f1wnf5LIXJNXs6CfvA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC+yXk7EQstKJQA6frPp4arFqVoBM+p41lVnCC+3sCbOAIgbFMDauBg831QWDn/9cI8mSKUZqOxyBLjr8wdT2D63Ig="}]},"_npmUser":{"name":"mcavage","email":"mcavage@gmail.com"},"maintainers":[{"name":"mcavage","email":"mcavage@gmail.com"}],"directories":{}},"0.1.1":{"author":{"name":"Mark Cavage","email":"mcavage@gmail.com"},"name":"asn1","description":"Contains parsers and serializers for ASN.1 (currently BER only)","version":"0.1.1","repository":{"type":"git","url":"git://github.com/mcavage/node-asn1.git"},"main":"lib/index.js","engines":{"node":"~0.4.9"},"dependencies":{},"devDependencies":{"tap":"~0.0.5"},"scripts":{"pretest":"which gjslint; if [[ \"$?\" = 0 ]] ; then gjslint --nojsdoc -r lib -r tst; else echo \"Missing gjslint. Skipping lint\"; fi","test":"./node_modules/.bin/tap ./tst"},"_npmJsonOpts":{"file":"/Users/mark/.npm/asn1/0.1.1/package/package.json","wscript":false,"contributors":false,"serverjs":false},"_id":"asn1@0.1.1","_engineSupported":true,"_npmVersion":"1.0.15","_nodeVersion":"v0.4.9","_defaultsLoaded":true,"dist":{"shasum":"a63c6cc21cafa12ac05f5c3f61e6084566292aa2","tarball":"http://localhost:4545/npm/registry/asn1/asn1-0.1.1.tgz","integrity":"sha512-lyoOpJOrMArDiAHsgrepxQwgKIr69V1rRWf6dIUpW62QiUpYqBVfgmnGqONLNFL338bR2RiWM0dJvriGv0tsuQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEWnfKPDaiGdUkGQA36uUlBmETv3C21JGVRo4xIOymikAiBfzzH2EPRZ+WJ7XNtiA61jMO78iIbTels9CqccUrSVpQ=="}]},"_npmUser":{"name":"mcavage","email":"mcavage@gmail.com"},"maintainers":[{"name":"mcavage","email":"mcavage@gmail.com"}],"directories":{}},"0.1.2":{"author":{"name":"Mark Cavage","email":"mcavage@gmail.com"},"name":"asn1","description":"Contains parsers and serializers for ASN.1 (currently BER only)","version":"0.1.2","repository":{"type":"git","url":"git://github.com/mcavage/node-asn1.git"},"main":"lib/index.js","engines":{"node":"~0.4.9"},"dependencies":{},"devDependencies":{"tap":"~0.0.5"},"scripts":{"pretest":"which gjslint; if [[ \"$?\" = 0 ]] ; then gjslint --nojsdoc -r lib -r tst; else echo \"Missing gjslint. Skipping lint\"; fi","test":"./node_modules/.bin/tap ./tst"},"_npmJsonOpts":{"file":"/Users/mark/.npm/asn1/0.1.2/package/package.json","wscript":false,"contributors":false,"serverjs":false},"_id":"asn1@0.1.2","_engineSupported":true,"_npmVersion":"1.0.18","_nodeVersion":"v0.4.10","_defaultsLoaded":true,"dist":{"shasum":"ac835e89fed60d2909179f192295f36162e8c00a","tarball":"http://localhost:4545/npm/registry/asn1/asn1-0.1.2.tgz","integrity":"sha512-tggAehfGC/qeaUksXIbIVFInOATbzNp3vV7eGQu2XL61mBuu/lqWwGpEaa+Rh7rPZrC7gL8OztFL4AVxxdb/Kw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICOaU3ZJWmnqHC3Gr740FNcIWFErFJUJ/P3JiE433YzhAiEAixqbDDaapiISwGf9YnDOnGX8ZoCJgTCq+4owVMVtnZY="}]},"_npmUser":{"name":"mcavage","email":"mcavage@gmail.com"},"maintainers":[{"name":"mcavage","email":"mcavage@gmail.com"}],"directories":{}},"0.1.3":{"author":{"name":"Mark Cavage","email":"mcavage@gmail.com"},"name":"asn1","description":"Contains parsers and serializers for ASN.1 (currently BER only)","version":"0.1.3","repository":{"type":"git","url":"git://github.com/mcavage/node-asn1.git"},"main":"lib/index.js","engines":{"node":"~0.4.9"},"dependencies":{},"devDependencies":{"tap":"~0.0.5"},"scripts":{"pretest":"which gjslint; if [[ \"$?\" = 0 ]] ; then gjslint --nojsdoc -r lib -r tst; else echo \"Missing gjslint. Skipping lint\"; fi","test":"./node_modules/.bin/tap ./tst"},"_npmJsonOpts":{"file":"/Users/mark/.npm/asn1/0.1.3/package/package.json","wscript":false,"contributors":false,"serverjs":false},"_id":"asn1@0.1.3","_engineSupported":true,"_npmVersion":"1.0.18","_nodeVersion":"v0.4.10","_defaultsLoaded":true,"dist":{"shasum":"4bc56225d38f434d832582980bfc7f5e50bbb1c4","tarball":"http://localhost:4545/npm/registry/asn1/asn1-0.1.3.tgz","integrity":"sha512-GwaelydZhpPfIu5QJTxxvEA9JqqZW+953GFkvhRq1Pi4ilZlFi8xZN2olShGtAf7exJwDdRDVlNxrdEKI1Vsyg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDVWNbJHtjJKr7ay+qbG2ncktGzzr8Li2tyKg4OmAC94wIhAPq0FhZ1XX9fJsLCc+gtEIwLu6lzLSe2wfHU2rgU1fmT"}]},"_npmUser":{"name":"mcavage","email":"mcavage@gmail.com"},"maintainers":[{"name":"mcavage","email":"mcavage@gmail.com"}],"directories":{}},"0.1.4":{"author":{"name":"Mark Cavage","email":"mcavage@gmail.com"},"name":"asn1","description":"Contains parsers and serializers for ASN.1 (currently BER only)","version":"0.1.4","repository":{"type":"git","url":"git://github.com/mcavage/node-asn1.git"},"main":"lib/index.js","engines":{"node":"~0.4.9"},"dependencies":{},"devDependencies":{"tap":"~0.0.5"},"scripts":{"pretest":"which gjslint; if [[ \"$?\" = 0 ]] ; then gjslint --nojsdoc -r lib -r tst; else echo \"Missing gjslint. Skipping lint\"; fi","test":"./node_modules/.bin/tap ./tst"},"_npmJsonOpts":{"file":"/Users/mark/.npm/asn1/0.1.4/package/package.json","wscript":false,"contributors":false,"serverjs":false},"_id":"asn1@0.1.4","_engineSupported":true,"_npmVersion":"1.0.18","_nodeVersion":"v0.4.10","_defaultsLoaded":true,"dist":{"shasum":"f1ea11165f132785bc040f8d4ed8333a84bddb14","tarball":"http://localhost:4545/npm/registry/asn1/asn1-0.1.4.tgz","integrity":"sha512-kIVN35vv2q8xxiyDc8jScwDHEyg719GwYE0fYuX6lkrlp+bK7fj1Dx+GZ1LCIExvYbMG3zVkETVNHUzPyyZjyA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC41mitkKWX52BAjKsQsH9nnRh6yyyWRMzcSbeMszECGAiBk1bVC9wjtC8trva25wW82y2EoFAgNI/LKMyV8RElGaA=="}]},"maintainers":[{"name":"mcavage","email":"mcavage@gmail.com"}],"_npmUser":{"name":"mcavage","email":"mcavage@gmail.com"},"directories":{}},"0.1.5":{"author":{"name":"Mark Cavage","email":"mcavage@gmail.com"},"name":"asn1","description":"Contains parsers and serializers for ASN.1 (currently BER only)","version":"0.1.5","repository":{"type":"git","url":"git://github.com/mcavage/node-asn1.git"},"main":"lib/index.js","engines":{"node":">=0.4.9"},"dependencies":{},"devDependencies":{"tap":"~0.0.5"},"scripts":{"pretest":"which gjslint; if [[ \"$?\" = 0 ]] ; then gjslint --nojsdoc -r lib -r tst; else echo \"Missing gjslint. Skipping lint\"; fi","test":"./node_modules/.bin/tap ./tst"},"_npmJsonOpts":{"file":"/Users/mark/.npm/asn1/0.1.5/package/package.json","wscript":false,"contributors":false,"serverjs":false},"_id":"asn1@0.1.5","_engineSupported":true,"_npmVersion":"1.0.22","_nodeVersion":"v0.5.3","_defaultsLoaded":true,"dist":{"shasum":"eb22776346f5b7583c227a2f74bb984133c83260","tarball":"http://localhost:4545/npm/registry/asn1/asn1-0.1.5.tgz","integrity":"sha512-0ckzK7DquXWnPyyVwOuOAXIJ9x/11BJEvDEG+Fl3I45DdafGyaFwzLh7NewytC70msFpZziQKyWDxl9j6iBjvw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAkaff99tB2i7xslqBJ1VO7DyTlsHJkCCD2vABhCVq8yAiBb5jPiI9CqngZa7mhvsKLVfycPLXAlbF3Kw1Ffu5uHmA=="}]},"maintainers":[{"name":"mcavage","email":"mcavage@gmail.com"}],"_npmUser":{"name":"mcavage","email":"mcavage@gmail.com"},"directories":{}},"0.1.6":{"author":{"name":"Mark Cavage","email":"mcavage@gmail.com"},"name":"asn1","description":"Contains parsers and serializers for ASN.1 (currently BER only)","version":"0.1.6","repository":{"type":"git","url":"git://github.com/mcavage/node-asn1.git"},"main":"lib/index.js","engines":{"node":">=0.4.9"},"dependencies":{},"devDependencies":{"tap":"~0.0.5"},"scripts":{"pretest":"which gjslint; if [[ \"$?\" = 0 ]] ; then gjslint --nojsdoc -r lib -r tst; else echo \"Missing gjslint. Skipping lint\"; fi","test":"./node_modules/.bin/tap ./tst"},"_npmJsonOpts":{"file":"/Users/mark/.npm/asn1/0.1.6/package/package.json","serverjs":false,"contributors":false,"wscript":false},"_id":"asn1@0.1.6","_engineSupported":true,"_npmVersion":"1.0.18","_nodeVersion":"v0.4.10","_defaultsLoaded":true,"dist":{"shasum":"39f634ff13d942d9d922939a2742909233b84c78","tarball":"http://localhost:4545/npm/registry/asn1/asn1-0.1.6.tgz","integrity":"sha512-+vGj6Ju4zZXosrHAjxAzCmJFxgWD8ZKbkP+mIdKTAMVsW5q4TFb6Ma1KwdyPGwPTzNU4B5pi544PCpzi3KLLtQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBn/wWc1EwxQNwEpqEeq9cFiGgP42i7IgcgIZJytnECXAiBcZQfNW8mtDPpWta9AIGSwdkQjKAQIRn8HmVIdb69qFg=="}]},"maintainers":[{"name":"mcavage","email":"mcavage@gmail.com"}],"_npmUser":{"name":"mcavage","email":"mcavage@gmail.com"},"directories":{}},"0.1.7":{"author":{"name":"Mark Cavage","email":"mcavage@gmail.com"},"name":"asn1","description":"Contains parsers and serializers for ASN.1 (currently BER only)","version":"0.1.7","repository":{"type":"git","url":"git://github.com/mcavage/node-asn1.git"},"main":"lib/index.js","engines":{"node":">=0.4.9"},"dependencies":{},"devDependencies":{"tap":"~0.0.5"},"scripts":{"pretest":"which gjslint; if [[ \"$?\" = 0 ]] ; then gjslint --nojsdoc -r lib -r tst; else echo \"Missing gjslint. Skipping lint\"; fi","test":"./node_modules/.bin/tap ./tst"},"_npmJsonOpts":{"file":"/Users/mark/.npm/asn1/0.1.7/package/package.json","wscript":false,"contributors":false,"serverjs":false},"_id":"asn1@0.1.7","_engineSupported":true,"_npmVersion":"1.0.18","_nodeVersion":"v0.4.10","_defaultsLoaded":true,"dist":{"shasum":"68f70219ea9f57f035bc40507bfb30d14f0f2f62","tarball":"http://localhost:4545/npm/registry/asn1/asn1-0.1.7.tgz","integrity":"sha512-6gk/foyseu/GezFwctDxG8QCcCrWwnTAZ/eFslw9QqW9WUmv9NqPouhbef1P5fPc64g5uOB7rvP7AAY+PSBCBg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDCkx9MlyrAqM3FIP0uVNkusVOtdU1KmJLPKdJgFLomWAIhAK+NQzeGxmVR5FJ19JlQBsVSQM6cl6MtCkpnb9c920fS"}]},"maintainers":[{"name":"mcavage","email":"mcavage@gmail.com"}],"_npmUser":{"name":"mcavage","email":"mcavage@gmail.com"},"directories":{}},"0.1.8":{"author":{"name":"Mark Cavage","email":"mcavage@gmail.com"},"name":"asn1","description":"Contains parsers and serializers for ASN.1 (currently BER only)","version":"0.1.8","repository":{"type":"git","url":"git://github.com/mcavage/node-asn1.git"},"main":"lib/index.js","engines":{"node":">=0.4.9"},"dependencies":{},"devDependencies":{"tap":"~0.0.5"},"scripts":{"pretest":"which gjslint; if [[ \"$?\" = 0 ]] ; then gjslint --nojsdoc -r lib -r tst; else echo \"Missing gjslint. Skipping lint\"; fi","test":"./node_modules/.bin/tap ./tst"},"_npmUser":{"name":"mcavage","email":"mcavage@gmail.com"},"_id":"asn1@0.1.8","_engineSupported":true,"_npmVersion":"1.0.104","_nodeVersion":"v0.4.10","_defaultsLoaded":true,"dist":{"shasum":"9b0012d5469d70cb5516c84d4c5b772c1f1521de","tarball":"http://localhost:4545/npm/registry/asn1/asn1-0.1.8.tgz","integrity":"sha512-qOshoIVzsnZoukewbVy9SpeuipoIWYHsfJHnauk9/BML0co9JUeTldjL7upLt0M6mQiK6VJQfCzmk3A95fG+lQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDCCng43kQt9TilEnkC0OZpDXxDsqva9YH61u/KYgYv6gIgK+0V99EaaDmq+vU0uBrxu8QBky6AQ9Fvi/CQpNOWVTA="}]},"maintainers":[{"name":"mcavage","email":"mcavage@gmail.com"}],"directories":{}},"0.1.9":{"author":{"name":"Mark Cavage","email":"mcavage@gmail.com"},"name":"asn1","description":"Contains parsers and serializers for ASN.1 (currently BER only)","version":"0.1.9","repository":{"type":"git","url":"git://github.com/mcavage/node-asn1.git"},"main":"lib/index.js","engines":{"node":">=0.4.9"},"dependencies":{},"devDependencies":{"tap":"~0.0.5"},"scripts":{"pretest":"which gjslint; if [[ \"$?\" = 0 ]] ; then gjslint --nojsdoc -r lib -r tst; else echo \"Missing gjslint. Skipping lint\"; fi","test":"./node_modules/.bin/tap ./tst"},"_npmUser":{"name":"mcavage","email":"mcavage@gmail.com"},"_id":"asn1@0.1.9","_engineSupported":true,"_npmVersion":"1.0.104","_nodeVersion":"v0.4.10","_defaultsLoaded":true,"dist":{"shasum":"d90236dce043ffa224b28f1aad4b6dfc78783a9c","tarball":"http://localhost:4545/npm/registry/asn1/asn1-0.1.9.tgz","integrity":"sha512-qxACMK7BkZzGpwHYiG84ToCPrIM086pGU3G2J6yxGQJleDesx5Va3iR2ewt2hhn7kBMeo6JdgYH8TfKO2/GaTQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCosI84P79EqpEyQ7/P0j4WCzoU5IY0ZfSqT49aU4nDZQIgewX7gmwJ8f0upAQKf2vzWHchch0n/aEoXDCppPgLxIU="}]},"maintainers":[{"name":"mcavage","email":"mcavage@gmail.com"}],"directories":{}},"0.1.10":{"author":{"name":"Mark Cavage","email":"mcavage@gmail.com"},"name":"asn1","description":"Contains parsers and serializers for ASN.1 (currently BER only)","version":"0.1.10","repository":{"type":"git","url":"git://github.com/mcavage/node-asn1.git"},"main":"lib/index.js","engines":{"node":">=0.4.9"},"dependencies":{},"devDependencies":{"tap":"0.1.2"},"scripts":{"pretest":"which gjslint; if [[ \"$?\" = 0 ]] ; then gjslint --nojsdoc -r lib -r tst; else echo \"Missing gjslint. Skipping lint\"; fi","test":"./node_modules/.bin/tap ./tst"},"_npmUser":{"name":"mcavage","email":"mcavage@gmail.com"},"_id":"asn1@0.1.10","_engineSupported":true,"_npmVersion":"1.0.106","_nodeVersion":"v0.4.12","_defaultsLoaded":true,"dist":{"shasum":"27488f32749567e1e117a9764c70c76b053312e5","tarball":"http://localhost:4545/npm/registry/asn1/asn1-0.1.10.tgz","integrity":"sha512-Yl9tEdnmJkMjHHxegKMnsE9NzITZqZ+Au+w5wRc3Kjnpp80A5wA+daMddd/xKBd0i0ts/7do9CGD4OjJI5wCRA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD26eZPr5rOdbueCJO6wd9WgydFdjnCdo3iIPKPX7E8hQIgPExp6FFqJNX3KPwzgF+w/RXl17bLsGXgXM+1v4aXEq0="}]},"maintainers":[{"name":"mcavage","email":"mcavage@gmail.com"}],"directories":{}},"0.1.11":{"author":{"name":"Mark Cavage","email":"mcavage@gmail.com"},"contributors":[{"name":"David Gwynne","email":"loki@animata.net"},{"name":"Yunong Xiao","email":"yunong@joyent.com"}],"name":"asn1","description":"Contains parsers and serializers for ASN.1 (currently BER only)","version":"0.1.11","repository":{"type":"git","url":"git://github.com/mcavage/node-asn1.git"},"main":"lib/index.js","engines":{"node":">=0.4.9"},"dependencies":{},"devDependencies":{"tap":"0.1.4"},"scripts":{"pretest":"which gjslint; if [[ \"$?\" = 0 ]] ; then gjslint --nojsdoc -r lib -r tst; else echo \"Missing gjslint. Skipping lint\"; fi","test":"./node_modules/.bin/tap ./tst"},"_npmUser":{"name":"mcavage","email":"mcavage@gmail.com"},"_id":"asn1@0.1.11","_engineSupported":true,"_npmVersion":"1.1.0-beta-4","_nodeVersion":"v0.6.6","_defaultsLoaded":true,"dist":{"shasum":"559be18376d08a4ec4dbe80877d27818639b2df7","tarball":"http://localhost:4545/npm/registry/asn1/asn1-0.1.11.tgz","integrity":"sha512-Fh9zh3G2mZ8qM/kwsiKwL2U2FmXxVsboP4x1mXjnhKHv3SmzaBZoYvxEQJz/YS2gnCgd8xlAVWcZnQyC9qZBsA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGUwI9IKQ/XsTnT2MoLpwthpwnk33C2h6Z2O4QEARNW+AiAEgsMjwbLwsSdJReqQyk9Pt5lxkXF7jxREAHR+SG7lHQ=="}]},"maintainers":[{"name":"mcavage","email":"mcavage@gmail.com"}],"directories":{}},"0.2.0":{"author":{"name":"Mark Cavage","email":"mcavage@gmail.com"},"contributors":[{"name":"David Gwynne","email":"loki@animata.net"},{"name":"Yunong Xiao","email":"yunong@joyent.com"}],"name":"asn1","description":"Contains parsers and serializers for ASN.1 (currently BER only)","version":"0.2.0","repository":{"type":"git","url":"git://github.com/mcavage/node-asn1.git"},"main":"lib/index.js","dependencies":{},"devDependencies":{"tap":"0.4.8"},"scripts":{"test":"./node_modules/.bin/tap ./tst"},"bugs":{"url":"https://github.com/mcavage/node-asn1/issues"},"homepage":"https://github.com/mcavage/node-asn1","_id":"asn1@0.2.0","dist":{"shasum":"c38a3ddc5f6340a99ee301ad3e395472d2b0fe4e","tarball":"http://localhost:4545/npm/registry/asn1/asn1-0.2.0.tgz","integrity":"sha512-/8v+p97bilwzoMaFxn1BDB7tkObSZNFsh56rq1WGUYTNLyyhIvaHFrmTD/BtWvAk0AOr1w+Cf9igZiY1L4x91w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDzMXe0rEqC8dUfe/Ppi/XfAGapdcgNaEOIza0sAmAL4wIhAPrfk6LjHdnHq76QrCG2Am26fSsYahUrtpSSUeMTF9eb"}]},"_from":".","_npmVersion":"1.3.21","_npmUser":{"name":"mcavage","email":"mcavage@gmail.com"},"maintainers":[{"name":"mcavage","email":"mcavage@gmail.com"}],"directories":{}},"0.2.1":{"author":{"name":"Mark Cavage","email":"mcavage@gmail.com"},"contributors":[{"name":"David Gwynne","email":"loki@animata.net"},{"name":"Yunong Xiao","email":"yunong@joyent.com"}],"name":"asn1","description":"Contains parsers and serializers for ASN.1 (currently BER only)","version":"0.2.1","repository":{"type":"git","url":"git://github.com/mcavage/node-asn1.git"},"main":"lib/index.js","dependencies":{},"devDependencies":{"tap":"0.4.8"},"scripts":{"test":"./node_modules/.bin/tap ./tst"},"bugs":{"url":"https://github.com/mcavage/node-asn1/issues"},"homepage":"https://github.com/mcavage/node-asn1","_id":"asn1@0.2.1","dist":{"shasum":"ecc73f75d31ea3c6ed9d47428db35fecc7b2c6dc","tarball":"http://localhost:4545/npm/registry/asn1/asn1-0.2.1.tgz","integrity":"sha512-Qlt6MN3lOQjpHxlh49dTHVV3ankYp3udK35Aw0bxHMAAVYaa7m+csXAdzdS/t3HJn0eG+o81PTAifeFoCNJCmg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICwvV8TzdaQZScR1m6i9nu6vSgAS/xdaEG8mH+mh/fajAiEAh+gYo4cMQ7vumsAshLSF+a4MZxZ8HXQX/zIaz/QqnOU="}]},"_from":".","_npmVersion":"1.3.21","_npmUser":{"name":"mcavage","email":"mcavage@gmail.com"},"maintainers":[{"name":"mcavage","email":"mcavage@gmail.com"}],"directories":{}},"0.2.2":{"author":{"name":"Mark Cavage","email":"mcavage@gmail.com"},"contributors":[{"name":"David Gwynne","email":"loki@animata.net"},{"name":"Yunong Xiao","email":"yunong@joyent.com"}],"name":"asn1","description":"Contains parsers and serializers for ASN.1 (currently BER only)","version":"0.2.2","repository":{"type":"git","url":"git://github.com/mcavage/node-asn1.git"},"main":"lib/index.js","dependencies":{},"devDependencies":{"tap":"0.4.8"},"scripts":{"test":"tap ./tst"},"bugs":{"url":"https://github.com/mcavage/node-asn1/issues"},"homepage":"https://github.com/mcavage/node-asn1","_id":"asn1@0.2.2","dist":{"shasum":"408fcea7db6a668f119c38a9c244fec90061a7ac","tarball":"http://localhost:4545/npm/registry/asn1/asn1-0.2.2.tgz","integrity":"sha512-jkhsc2d+w9wCrma14ozbu1zAbNWcAjPIPAdP6PCHGu6JxOaUzcJQKDGgDooItj/O2uSwZEzhgOtTSNCk+jNDYQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDXC6uBKp9vwX58Eq0v/gTg23v+bPdvrTfdWjLhzejl5AiBUOq/+4rZaeDAEvrkd67R9YV6bZ+qik4f1RFESJ0QkUA=="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"mcavage","email":"mcavage@gmail.com"},"maintainers":[{"name":"mcavage","email":"mcavage@gmail.com"}],"directories":{}},"0.2.3":{"author":{"name":"Mark Cavage","email":"mcavage@gmail.com"},"contributors":[{"name":"David Gwynne","email":"loki@animata.net"},{"name":"Yunong Xiao","email":"yunong@joyent.com"},{"name":"Alex Wilson","email":"alex.wilson@joyent.com"}],"name":"asn1","description":"Contains parsers and serializers for ASN.1 (currently BER only)","version":"0.2.3","repository":{"type":"git","url":"git://github.com/mcavage/node-asn1.git"},"main":"lib/index.js","dependencies":{},"devDependencies":{"tap":"0.4.8"},"scripts":{"test":"tap ./tst"},"license":"MIT","bugs":{"url":"https://github.com/mcavage/node-asn1/issues"},"homepage":"https://github.com/mcavage/node-asn1","_id":"asn1@0.2.3","_shasum":"dac8787713c9966849fc8180777ebe9c1ddf3b86","_resolved":"asn1-0.2.3.tgz","_from":"asn1-0.2.3.tgz","_npmVersion":"1.4.28","_npmUser":{"name":"pfmooney","email":"patrick.f.mooney@gmail.com"},"maintainers":[{"name":"mcavage","email":"mcavage@gmail.com"},{"name":"pfmooney","email":"patrick.f.mooney@gmail.com"}],"dist":{"shasum":"dac8787713c9966849fc8180777ebe9c1ddf3b86","tarball":"http://localhost:4545/npm/registry/asn1/asn1-0.2.3.tgz","integrity":"sha512-6i37w/+EhlWlGUJff3T/Q8u1RGmP5wgbiwYnOnbOqvtrPxT63/sYFyP9RcpxtxGymtfA075IvmOnL7ycNOWl3w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC7miC0gj8mgjMJGkSa9m4vEVxRHM/rB9m3rTpfEuXm/gIgegpbzpk1ufxAHxTyhcAo/qagPjMeIcOu7x5vcliwHys="}]},"directories":{}},"0.2.4":{"author":{"name":"Joyent","url":"joyent.com"},"contributors":[{"name":"Mark Cavage","email":"mcavage@gmail.com"},{"name":"David Gwynne","email":"loki@animata.net"},{"name":"Yunong Xiao","email":"yunong@joyent.com"},{"name":"Alex Wilson","email":"alex.wilson@joyent.com"}],"name":"asn1","description":"Contains parsers and serializers for ASN.1 (currently BER only)","version":"0.2.4","repository":{"type":"git","url":"git://github.com/joyent/node-asn1.git"},"main":"lib/index.js","dependencies":{"safer-buffer":"~2.1.0"},"devDependencies":{"istanbul":"^0.3.6","faucet":"0.0.1","tape":"^3.5.0","eslint":"2.13.1","eslint-plugin-joyent":"~1.3.0"},"scripts":{"test":"tape ./test/ber/*.test.js"},"license":"MIT","gitHead":"a80f9f24f17a915a8b8634cb72cd55af3f724f6d","bugs":{"url":"https://github.com/joyent/node-asn1/issues"},"homepage":"https://github.com/joyent/node-asn1#readme","_id":"asn1@0.2.4","_npmVersion":"5.6.0","_nodeVersion":"8.11.3","_npmUser":{"name":"melloc","email":"cody.mello@joyent.com"},"dist":{"integrity":"sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==","shasum":"8d2475dfab553bb33e77b54e59e880bb8ce23136","tarball":"http://localhost:4545/npm/registry/asn1/asn1-0.2.4.tgz","fileCount":9,"unpackedSize":18040,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbY17hCRA9TVsSAnZWagAAIyEQAIzewTkLKyCEwZLZAa+Y\n4gyxLVzRjMv+m6jEs6F5c/WFro6qDfmlGLT4Bjxbbyu65Hbe2x9/6meItAu9\nRfrylo9sziNMM2VotpEXhvxEbB1eLXwJQfQyYespJ66jW4nCYibcuRIyAa9k\nU0sjmdkmc15sct9tVr/6y66s7wk7tPflpbTw5LIiJkPS7l9XUTv4m2pxgKy6\n3iFpWHWCw3qL0lM+fK6akfBRQqUYuRt64b8GOFokOzZ8umyTQNJ0Uf9t6HDG\neN/reQn19ShhMOgHEb+TbzQyZavzLCG6C0cto6axvYDWhFe0HCrEjYlcEAxK\nvJ6k6ZbBegdIGbtufxWx8w/PwSQWDj81zyrdSOGK+Q2exlcBeuKdxzCujr+r\nWVZttUAhd57u71QwsLYdFfiAOGU524NbMNGXYMhYR3cfMSxMj+n4gq9I4duO\nQjMM/Ssngc7j5zL9pBtld9NG5T9R68i+Rx7Bd0FPPA0gs5UyyxIjQBt3vmuC\n7uWEpkOWuN//jrz18oJFS9pzVUxF35eyTLB+leKlLBa+56XSl/B0QrONgaXF\n+V9wRHnMrfTGg98WcehqeoCEkXdrwvMGgssSr0+undAO0Vx3dPufLkwqyPbj\nictqz6YWwonqLcD0jihHcrb0sUz+A1T1aEbdW4iKVrgU1Z+SwjJebdPJtP7r\nnYrv\r\n=Rn3q\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDSDAAilfv+myGNuT7iVDxca52OY6GAX6BoJZLCaeTyrAIgO19K9K2kYuHxY9W4IkV0C4LS8wigvNifLl6MjtvPhhc="}]},"maintainers":[{"email":"alex@cooperi.net","name":"arekinath"},{"email":"mcavage@gmail.com","name":"mcavage"},{"email":"cody.mello@joyent.com","name":"melloc"},{"email":"pmooney@pfmooney.com","name":"pfmooney"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/asn1_0.2.4_1533239008530_0.4258479106965425"},"_hasShrinkwrap":false},"0.2.6":{"author":{"name":"Joyent","url":"joyent.com"},"contributors":[{"name":"Mark Cavage","email":"mcavage@gmail.com"},{"name":"David Gwynne","email":"loki@animata.net"},{"name":"Yunong Xiao","email":"yunong@joyent.com"},{"name":"Alex Wilson","email":"alex.wilson@joyent.com"}],"name":"asn1","description":"Contains parsers and serializers for ASN.1 (currently BER only)","version":"0.2.6","repository":{"type":"git","url":"git+https://github.com/joyent/node-asn1.git"},"main":"lib/index.js","dependencies":{"safer-buffer":"~2.1.0"},"devDependencies":{"istanbul":"^0.3.6","faucet":"0.0.1","tape":"^3.5.0","eslint":"2.13.1","eslint-plugin-joyent":"~1.3.0"},"scripts":{"test":"tape ./test/ber/*.test.js"},"license":"MIT","gitHead":"c80ab61a3ba35d77deb0a44b9c2bb7abc246dc09","bugs":{"url":"https://github.com/joyent/node-asn1/issues"},"homepage":"https://github.com/joyent/node-asn1#readme","_id":"asn1@0.2.6","_nodeVersion":"12.22.7","_npmVersion":"6.14.13","dist":{"integrity":"sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==","shasum":"0d3a7bb6e64e02a90c0303b31f292868ea09a08d","tarball":"http://localhost:4545/npm/registry/asn1/asn1-0.2.6.tgz","fileCount":10,"unpackedSize":19757,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh2j12CRA9TVsSAnZWagAAAMsP/0OlnHNAA18YRr7ioggR\n0/2/6wNWwbA6EpcIUZiWmdaWoWfQBVWKkXRjNT0zLiW0ck1rYrrg9P+DCgXK\nsxW6zBlYirwR8Og2uuxH+Ja2n3CZdZfLo/qifjfViDH2ibbrdF5j2WwKfkeE\nW6SvhktnocxEV1d+9+0fDn+8uC44H/A547c58Ed4HXYCrLKEXwbCb15oppSt\n7qbqGo/Cpht/pBK3P/8RMTNaGifiNp129YL5CfGo5CDUXRF1z6ofZUpFLKt1\n6X0hd7Iok4o+s8JBHDIUhpeMX7Komdz4jX/i+wwzuHldsmg2BeDo5n7VLkl8\nEsnMCQsnrn6ZTWO+QsCxWO+80Fr7+ADtfTm8XDAUR2I+LMtTjC53CcIDaikx\nicieoULaI/Bnq0Bwndtwi2yyog4pAyCZIISNA//WDbbDgzmFEoCUb6L8WTAH\nDD63RiXCDq1gXa3AVaIgn/1PCVNO3ox69lEx5HKPdPHXzX4hObRPOt2+x9QA\nPR1/r4wYO8+awxWCxvbvto8lpmU+9O/QrECqqzqEs/GDUGfBHYHeC5tHb+is\nI/KiqTsgi274xy7jSIjFzL8o4x0xeE5GuHAi7g4gAw/YzxmA5wgOohQ/aqva\ncrjx0nnNVWsQvgf/5Tmf6FK2J3xxaY2n56Gwb4ClQ4G2PzyUDpLskjQMtZk0\n1zf9\r\n=FhY3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDh8rHXgZYfiyydIhYCAvX5qKC8LudijMiGGIeoviWu6gIgHcEVesBYAyn1gYDWhR8vKfZd4gil1GtyOlz0Bsp4bm4="}]},"_npmUser":{"name":"bahamat","email":"bahamat@digitalelf.net"},"directories":{},"maintainers":[{"name":"todd.whiteman","email":"todd.whiteman@joyent.com"},{"name":"kusor","email":"kusorbox@gmail.com"},{"name":"wyatt","email":"wpreul@gmail.com"},{"name":"michael.hicks","email":"michael.hicks@joyent.com"},{"name":"bahamat","email":"bahamat@digitalelf.net"},{"name":"chudley","email":"aguycalledrichard@gmail.com"},{"name":"tchameroy","email":"tyler.chameroy@joyent.com"},{"name":"dbuell","email":"dayne.buell@joyent.com"},{"name":"pfmooney","email":"pmooney@pfmooney.com"},{"name":"mcavage","email":"mcavage@gmail.com"},{"name":"arekinath","email":"alex@cooperi.net"},{"name":"melloc","email":"cody.mello@joyent.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/asn1_0.2.6_1635986787575_0.15391608273285207"},"_hasShrinkwrap":false}},"maintainers":[{"email":"bahamat@digitalelf.net","name":"bahamat"},{"email":"todd.whiteman@joyent.com","name":"todd.whiteman"},{"email":"kusorbox@gmail.com","name":"kusor"},{"email":"michael.hicks@joyent.com","name":"michael.hicks"},{"email":"pmooney@pfmooney.com","name":"pfmooney"},{"email":"mcavage@gmail.com","name":"mcavage"},{"email":"alex@cooperi.net","name":"arekinath"},{"email":"cody.mello@joyent.com","name":"melloc"}],"time":{"modified":"2022-06-13T03:32:30.845Z","created":"2011-07-19T19:07:06.870Z","0.1.0":"2011-12-08T16:49:17.462Z","0.1.1":"2011-12-08T16:49:17.462Z","0.1.2":"2011-12-08T16:49:17.462Z","0.1.3":"2011-12-08T16:49:17.462Z","0.1.4":"2011-12-08T16:49:17.462Z","0.1.5":"2011-12-08T16:49:17.462Z","0.1.6":"2011-12-08T16:49:17.462Z","0.1.7":"2011-12-08T16:49:17.462Z","0.1.8":"2011-11-07T22:10:26.013Z","0.1.9":"2011-11-11T19:18:29.635Z","0.1.10":"2011-12-08T16:49:17.462Z","0.1.11":"2012-01-06T17:02:19.759Z","0.2.0":"2014-02-24T17:51:55.325Z","0.2.1":"2014-04-04T20:03:39.061Z","0.2.2":"2014-09-03T18:29:15.607Z","0.2.3":"2015-09-30T22:53:30.238Z","0.2.4":"2018-08-02T19:43:28.577Z","0.2.6":"2021-11-04T00:46:28.017Z"},"author":{"name":"Joyent","url":"joyent.com"},"repository":{"type":"git","url":"git+https://github.com/joyent/node-asn1.git"},"readme":"node-asn1 is a library for encoding and decoding ASN.1 datatypes in pure JS.\nCurrently BER encoding is supported; at some point I'll likely have to do DER.\n\n## Usage\n\nMostly, if you're *actually* needing to read and write ASN.1, you probably don't\nneed this readme to explain what and why. If you have no idea what ASN.1 is,\nsee this: ftp://ftp.rsa.com/pub/pkcs/ascii/layman.asc\n\nThe source is pretty much self-explanatory, and has read/write methods for the\ncommon types out there.\n\n### Decoding\n\nThe following reads an ASN.1 sequence with a boolean.\n\n var Ber = require('asn1').Ber;\n\n var reader = new Ber.Reader(Buffer.from([0x30, 0x03, 0x01, 0x01, 0xff]));\n\n reader.readSequence();\n console.log('Sequence len: ' + reader.length);\n if (reader.peek() === Ber.Boolean)\n console.log(reader.readBoolean());\n\n### Encoding\n\nThe following generates the same payload as above.\n\n var Ber = require('asn1').Ber;\n\n var writer = new Ber.Writer();\n\n writer.startSequence();\n writer.writeBoolean(true);\n writer.endSequence();\n\n console.log(writer.buffer);\n\n## Installation\n\n npm install asn1\n\n## License\n\nMIT.\n\n## Bugs\n\nSee <https://github.com/joyent/node-asn1/issues>.\n","readmeFilename":"README.md","homepage":"https://github.com/joyent/node-asn1#readme","contributors":[{"name":"Mark Cavage","email":"mcavage@gmail.com"},{"name":"David Gwynne","email":"loki@animata.net"},{"name":"Yunong Xiao","email":"yunong@joyent.com"},{"name":"Alex Wilson","email":"alex.wilson@joyent.com"}],"bugs":{"url":"https://github.com/joyent/node-asn1/issues"},"license":"MIT","users":{"shanewholloway":true,"sopov":true}}
\ No newline at end of file diff --git a/cli/tests/testdata/npm/registry/bcrypt-pbkdf/bcrypt-pbkdf-1.0.2.tgz b/cli/tests/testdata/npm/registry/bcrypt-pbkdf/bcrypt-pbkdf-1.0.2.tgz Binary files differnew file mode 100644 index 000000000..a3d682b9a --- /dev/null +++ b/cli/tests/testdata/npm/registry/bcrypt-pbkdf/bcrypt-pbkdf-1.0.2.tgz diff --git a/cli/tests/testdata/npm/registry/bcrypt-pbkdf/registry.json b/cli/tests/testdata/npm/registry/bcrypt-pbkdf/registry.json new file mode 100644 index 000000000..85f96ff84 --- /dev/null +++ b/cli/tests/testdata/npm/registry/bcrypt-pbkdf/registry.json @@ -0,0 +1 @@ +{"_id":"bcrypt-pbkdf","_rev":"36-1813af753f7bd459411f7b54d76c5f74","name":"bcrypt-pbkdf","description":"Port of the OpenBSD bcrypt_pbkdf function to pure JS","dist-tags":{"latest":"1.0.2"},"versions":{"1.0.0":{"name":"bcrypt-pbkdf","version":"1.0.0","description":"Port of the OpenBSD bcrypt_pbkdf function to pure JS","main":"index.js","dependencies":{"tweetnacl":"^0.14.3"},"devDependencies":{},"license":"BSD-4-Clause","gitHead":"e88be37d3cd25395b4aa496ac468b33671368be6","_id":"bcrypt-pbkdf@1.0.0","scripts":{},"_shasum":"3ca76b85241c7170bf7d9703e7b9aa74630040d4","_from":".","_npmVersion":"3.10.3","_nodeVersion":"0.12.15","_npmUser":{"name":"arekinath","email":"alex@cooperi.net"},"dist":{"shasum":"3ca76b85241c7170bf7d9703e7b9aa74630040d4","tarball":"http://localhost:4545/npm/registry/bcrypt-pbkdf/bcrypt-pbkdf-1.0.0.tgz","integrity":"sha512-1d7nPZyCV4TvkiRd3dZEqDrcj88tAe3ZxwkKeAJJ9eEoDIHyVPxGbmV1HMFVGa2XH4JHRrwUja36rLzR5BA60g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBsBuTlX3JsQac5rE1mTTrcXA9SjHj3veRkF5h3gQJQDAiEAxtyynYs2Ig6eMQybwfYM8xiaT/T6Qrua7OJBdYaAv/o="}]},"maintainers":[{"name":"arekinath","email":"alex@cooperi.net"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/bcrypt-pbkdf-1.0.0.tgz_1471381825814_0.06877309852279723"},"directories":{}},"1.0.1":{"name":"bcrypt-pbkdf","version":"1.0.1","description":"Port of the OpenBSD bcrypt_pbkdf function to pure JS","main":"index.js","dependencies":{"tweetnacl":"^0.14.3"},"devDependencies":{},"license":"BSD-3-Clause","gitHead":"fa2ab3ae9efa15367264151398635a915c7b411d","_id":"bcrypt-pbkdf@1.0.1","scripts":{},"_shasum":"63bc5dcb61331b92bc05fd528953c33462a06f8d","_from":".","_npmVersion":"2.14.9","_nodeVersion":"0.12.9","_npmUser":{"name":"arekinath","email":"alex@cooperi.net"},"dist":{"shasum":"63bc5dcb61331b92bc05fd528953c33462a06f8d","tarball":"http://localhost:4545/npm/registry/bcrypt-pbkdf/bcrypt-pbkdf-1.0.1.tgz","integrity":"sha512-vY4sOrSlpwNZXsinfJ0HpbSkFft4nhSVLeUrQ4j2ydGmBOiVY83aMJStJATBy0C3+XdaYa990kIA1qkC2mUq6g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBZuaBsom/6JLjGKhclNtePzqZsHzR0C80PlV9mSWGjcAiA3p8h8FYgvOslN30CTH1iAqVrEmDMcDtPORpnPxiAbNA=="}]},"maintainers":[{"name":"arekinath","email":"alex@cooperi.net"},{"name":"dap","email":"dap@cs.brown.edu"},{"name":"jclulow","email":"josh@sysmgr.org"},{"name":"trentm","email":"trentm@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/bcrypt-pbkdf-1.0.1.tgz_1486007687899_0.974529881728813"},"directories":{}},"1.0.2":{"name":"bcrypt-pbkdf","version":"1.0.2","description":"Port of the OpenBSD bcrypt_pbkdf function to pure JS","repository":{"type":"git","url":"git://github.com/joyent/node-bcrypt-pbkdf.git"},"main":"index.js","dependencies":{"tweetnacl":"^0.14.3"},"devDependencies":{},"license":"BSD-3-Clause","gitHead":"15fa7399a1090ba70d855764f7ace23003bf45f3","bugs":{"url":"https://github.com/joyent/node-bcrypt-pbkdf/issues"},"homepage":"https://github.com/joyent/node-bcrypt-pbkdf#readme","_id":"bcrypt-pbkdf@1.0.2","scripts":{},"_shasum":"a4301d389b6a43f9b67ff3ca11a3f6637e360e9e","_from":".","_npmVersion":"2.15.11","_nodeVersion":"0.12.18","_npmUser":{"name":"arekinath","email":"alex@cooperi.net"},"dist":{"shasum":"a4301d389b6a43f9b67ff3ca11a3f6637e360e9e","tarball":"http://localhost:4545/npm/registry/bcrypt-pbkdf/bcrypt-pbkdf-1.0.2.tgz","fileCount":5,"unpackedSize":28994,"integrity":"sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQChYywQjt5fZLC9Rra6lu+zL8cvuTL5dMd2eOEhxappzwIhALDhzEgD/8ch3dt4FJFJIkUGloGoubSOB8uag2TfDxIC"}]},"maintainers":[{"name":"arekinath","email":"alex@cooperi.net"},{"name":"dap","email":"dap@cs.brown.edu"},{"name":"jclulow","email":"josh@sysmgr.org"},{"name":"trentm","email":"trentm@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bcrypt-pbkdf_1.0.2_1530232438519_0.6464853720318084"},"_hasShrinkwrap":false}},"readme":"Port of the OpenBSD `bcrypt_pbkdf` function to pure Javascript. `npm`-ified\nversion of [Devi Mandiri's port](https://github.com/devi/tmp/blob/master/js/bcrypt_pbkdf.js),\nwith some minor performance improvements. The code is copied verbatim (and\nun-styled) from Devi's work.\n\nThis product includes software developed by Niels Provos.\n\n## API\n\n### `bcrypt_pbkdf.pbkdf(pass, passlen, salt, saltlen, key, keylen, rounds)`\n\nDerive a cryptographic key of arbitrary length from a given password and salt,\nusing the OpenBSD `bcrypt_pbkdf` function. This is a combination of Blowfish and\nSHA-512.\n\nSee [this article](http://www.tedunangst.com/flak/post/bcrypt-pbkdf) for\nfurther information.\n\nParameters:\n\n * `pass`, a Uint8Array of length `passlen`\n * `passlen`, an integer Number\n * `salt`, a Uint8Array of length `saltlen`\n * `saltlen`, an integer Number\n * `key`, a Uint8Array of length `keylen`, will be filled with output\n * `keylen`, an integer Number\n * `rounds`, an integer Number, number of rounds of the PBKDF to run\n\n### `bcrypt_pbkdf.hash(sha2pass, sha2salt, out)`\n\nCalculate a Blowfish hash, given SHA2-512 output of a password and salt. Used as\npart of the inner round function in the PBKDF.\n\nParameters:\n\n * `sha2pass`, a Uint8Array of length 64\n * `sha2salt`, a Uint8Array of length 64\n * `out`, a Uint8Array of length 32, will be filled with output\n\n## License\n\nThis source form is a 1:1 port from the OpenBSD `blowfish.c` and `bcrypt_pbkdf.c`.\nAs a result, it retains the original copyright and license. The two files are\nunder slightly different (but compatible) licenses, and are here combined in\none file. For each of the full license texts see `LICENSE`.\n","maintainers":[{"email":"bahamat@digitalelf.net","name":"bahamat"},{"email":"todd.whiteman@joyent.com","name":"todd.whiteman"},{"email":"kusorbox@gmail.com","name":"kusor"},{"email":"michael.hicks@joyent.com","name":"michael.hicks"},{"email":"trentm@gmail.com","name":"trentm"},{"email":"dap@cs.brown.edu","name":"dap"},{"email":"josh@sysmgr.org","name":"jclulow"},{"email":"alex@cooperi.net","name":"arekinath"}],"time":{"modified":"2022-06-13T04:26:47.421Z","created":"2016-08-16T21:10:29.470Z","1.0.0":"2016-08-16T21:10:29.470Z","1.0.1":"2017-02-02T03:54:49.593Z","1.0.2":"2018-06-29T00:33:59.042Z"},"license":"BSD-3-Clause","readmeFilename":"README.md","homepage":"https://github.com/joyent/node-bcrypt-pbkdf#readme","repository":{"type":"git","url":"git://github.com/joyent/node-bcrypt-pbkdf.git"},"bugs":{"url":"https://github.com/joyent/node-bcrypt-pbkdf/issues"}}
\ No newline at end of file diff --git a/cli/tests/testdata/npm/registry/buildcheck/buildcheck-0.0.3.tgz b/cli/tests/testdata/npm/registry/buildcheck/buildcheck-0.0.3.tgz Binary files differnew file mode 100644 index 000000000..0681fd738 --- /dev/null +++ b/cli/tests/testdata/npm/registry/buildcheck/buildcheck-0.0.3.tgz diff --git a/cli/tests/testdata/npm/registry/buildcheck/registry.json b/cli/tests/testdata/npm/registry/buildcheck/registry.json new file mode 100644 index 000000000..99839b0ad --- /dev/null +++ b/cli/tests/testdata/npm/registry/buildcheck/registry.json @@ -0,0 +1 @@ +{"_id":"buildcheck","_rev":"5-7b0ee241b8f09893b108dbdd2f2002e1","name":"buildcheck","dist-tags":{"latest":"0.0.4"},"versions":{"0.0.1":{"name":"buildcheck","version":"0.0.1","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"Build environment checking (a la autoconf) for node.js","main":"./lib/index.js","engines":{"node":">=10.0.0"},"devDependencies":{"@mscdex/eslint-config":"^1.1.0","eslint":"^7.0.0"},"scripts":{"lint":"eslint --cache --report-unused-disable-directives --ext=.js .eslintrc.js lib","lint:fix":"npm run lint -- --fix"},"keywords":["build","autoconf","addons","compiler","environment"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/buildcheck/raw/master/LICENSE"}],"repository":{"type":"git","url":"git+ssh://git@github.com/mscdex/buildcheck.git"},"_resolved":"","_integrity":"","_from":"https://github.com/mscdex/buildcheck/tarball/v0.0.1","bugs":{"url":"https://github.com/mscdex/buildcheck/issues"},"homepage":"https://github.com/mscdex/buildcheck#readme","_id":"buildcheck@0.0.1","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-c8urpjm+vnjxzqedWfC/bdF0f0B1QMmHujcJVYwlQLYpWZpv058Lm4x3Krwoiyb7zjjzHlUtgoTOwEQum2WdAw==","shasum":"64af6f1a138c9b8532ca6407750c9aae7a09d95a","tarball":"http://localhost:4545/npm/registry/buildcheck/buildcheck-0.0.1.tgz","fileCount":11,"unpackedSize":9839,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhPtIoCRA9TVsSAnZWagAAW8IP/3Dd5gfvFTC2+YdbI9Oc\nGOInVGDgDbuP7Q5RaA/oR19s41t6u3+OOX6F7xDedwT+3K2juVQchKiVlPjs\nSg6UZnACrqcnTAevczJ8S2yrcaZdw4mGqtd4BJNvI4AeG6zycE/Jl9K6PxJG\nnz3V6QG833sqe5o8z9yCvDm9Ai3mD8GpTYOQnBb8IZ+Yb0qG1px7sP9/GPnJ\ny33zFUttGc7UUsI6qXoAA4/KAIw2s07SMM2CHNTdwMme6/n6ZFDYxipsd6fa\nNeT04EkIZXF+OwsZOn++succUCJFlia6GrCNijGn6XHFbEkyBF9DYobnhnfL\n2eUdrPwETJFxxyOHxSbtw69ar1X122T9Pdt0vP82zy+Oik8+L+7Wr119sgK2\nXUyEN5PrqkzhMSZ6RipXuy4gXnAoVS0I3yZR1nRrUqE66wYQmwPOKOI/lbnn\nmhykS2QvPzP9+UF3+QYFT/cyjYxsATx6MlG1qfhPSjwvZsg++t7vY6Yxqeys\nqvWEJ4i+RwqOijQyMpSnOy9S7ttTGJ+wYjAJdsfP4EPt4GYDkodJYfm3lYU5\npNAKX9Hdo/dNla+QllDN64XDcfh1seFt2NXMuTO/qhi5PgKAxzyK8419RneR\ngxNl8KUh2zGnaRemr23t1hxykyavTzjRhmXbkoPCCeWGN0wpVeDEockwUaE0\nS07k\r\n=J2Pf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC0WXpnJUwwRToQZ42g5NsdLb3npiuRtw54PSJtPk9eGAiB9TyufJvlxEIqx10ATr8pafVyAICy7IjUP7tChPW6yxw=="}]},"_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"directories":{},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buildcheck_0.0.1_1631506984609_0.7975404344347068"},"_hasShrinkwrap":false},"0.0.2":{"name":"buildcheck","version":"0.0.2","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"Build environment checking (a la autoconf) for node.js","main":"./lib/index.js","engines":{"node":">=10.0.0"},"devDependencies":{"@mscdex/eslint-config":"^1.1.0","eslint":"^7.0.0"},"scripts":{"lint":"eslint --cache --report-unused-disable-directives --ext=.js .eslintrc.js lib","lint:fix":"npm run lint -- --fix"},"keywords":["build","autoconf","addons","compiler","environment"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/buildcheck/raw/master/LICENSE"}],"repository":{"type":"git","url":"git+ssh://git@github.com/mscdex/buildcheck.git"},"_resolved":"","_integrity":"","_from":"https://github.com/mscdex/buildcheck/tarball/v0.0.2","bugs":{"url":"https://github.com/mscdex/buildcheck/issues"},"homepage":"https://github.com/mscdex/buildcheck#readme","_id":"buildcheck@0.0.2","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-V8jsKuMjGyUR6vDqIEKEUwzA44RYLdShqvwQt1bimI3RfLYDfvvbD+kjL+ZlaVH7epmxQHx2HflkfmH+5ipxIA==","shasum":"db0ae2d4067b1c91618fc6b470eae235ff17cc96","tarball":"http://localhost:4545/npm/registry/buildcheck/buildcheck-0.0.2.tgz","fileCount":14,"unpackedSize":42188,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCd77KwnvB1TBuyq8AQ/EBRlJad4N8SoKJasRepm8MOPwIhAJtriPyIZ5h5RAq43d9ArmZOU9Ii7K0a5CL7wJwiCY4B"}]},"_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"directories":{},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buildcheck_0.0.2_1634871484977_0.3103629551650462"},"_hasShrinkwrap":false},"0.0.3":{"name":"buildcheck","version":"0.0.3","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"Build environment checking (a la autoconf) for node.js","main":"./lib/index.js","engines":{"node":">=10.0.0"},"devDependencies":{"@mscdex/eslint-config":"^1.1.0","eslint":"^7.0.0"},"scripts":{"lint":"eslint --cache --report-unused-disable-directives --ext=.js .eslintrc.js lib","lint:fix":"npm run lint -- --fix"},"keywords":["build","autoconf","addons","compiler","environment"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/buildcheck/raw/master/LICENSE"}],"repository":{"type":"git","url":"git+ssh://git@github.com/mscdex/buildcheck.git"},"_resolved":"","_integrity":"","_from":"https://github.com/mscdex/buildcheck/tarball/v0.0.3","bugs":{"url":"https://github.com/mscdex/buildcheck/issues"},"homepage":"https://github.com/mscdex/buildcheck#readme","_id":"buildcheck@0.0.3","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-pziaA+p/wdVImfcbsZLNF32EiWyujlQLwolMqUQE8xpKNOH7KmZQaY8sXN7DGOEzPAElo9QTaeNRfGnf3iOJbA==","shasum":"70451897a95d80f7807e68fc412eb2e7e35ff4d5","tarball":"http://localhost:4545/npm/registry/buildcheck/buildcheck-0.0.3.tgz","fileCount":14,"unpackedSize":42580,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh2lO2CRA9TVsSAnZWagAAkvwP/3lP+9kQb3DC9grgfRou\nWC8iEZxIbG1ggMTKfiYtOOjQ5tTcBQ5lWX4Wjv4KEHu+8R/AoRC2WJMIqwPj\nX3r8K0i22ptWTZdQPlQKXDPQG/yfRrB1mBz8KEJBW1374RBwe0g4q5MAGJSK\nrUVp9kmAJtugq5hvH0JtCb++9uxnvgZzUaO/geT1oPyb4rF9SEhv7AzSLTTg\nVu3vq49qxghoYCkeiOMsoOOrzu0Eix+nXuWFcuqIuVXaA7IQBTgSqnJwUV6d\nwOgQ8M78sJS2v94X0dTWiYH9Ni/LDgnAK62JvL6GhSaE5r98KgprMmp0ebC2\nfjFRllHBckqV8IJLyQiThKlsBDqomkNI1wRelFQFspGprPLLjbwQxm2s6+6H\n6irH8Z7uup6rivQMzQm3xLt5gokRIhwO6CIXQDEDL1k1WlgGic1rlpscsnat\nd/XkddHZvVu7lAW0uuufy37BhxHFTT3JQDxxHg2gRXzpRlEC3aHl5h7gSNKp\nVyqxgWBxnpwHTNv//WHzEIxGTfDXY03GcjpTx2ofqlvzSp4BcbibSgj/GRf6\nm78a9DAKOqZAqJ2gbRwROuTwmeqq9u3r1+V3PwiSPNWz5U5f6EGxQbtr/OoO\nfNkFz+7UCIKEJmDe3gPI0s/bMcAP/sZpdsfLLtBY6aCuKFzg52t/r8sTzvNN\nzW7f\r\n=jW+A\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCPtBDI6CdG76mWIhWcyPBzraHJ76pNO2QZnCGDoV+WUQIgYE6E8+IvlPlYV7dil5eQi6IKFs5+gDY1cyv+Db7MUI8="}]},"_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"directories":{},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buildcheck_0.0.3_1634956644889_0.278232070219929"},"_hasShrinkwrap":false},"0.0.4":{"name":"buildcheck","version":"0.0.4","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"Build environment checking (a la autoconf) for node.js","main":"./lib/index.js","engines":{"node":">=10.0.0"},"devDependencies":{"@mscdex/eslint-config":"^1.1.0","eslint":"^7.0.0"},"scripts":{"lint":"eslint --cache --report-unused-disable-directives --ext=.js .eslintrc.js lib","lint:fix":"npm run lint -- --fix"},"keywords":["build","autoconf","addons","compiler","environment"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/buildcheck/raw/master/LICENSE"}],"repository":{"type":"git","url":"git+ssh://git@github.com/mscdex/buildcheck.git"},"_resolved":"","_integrity":"","_from":"https://github.com/mscdex/buildcheck/tarball/v0.0.4","bugs":{"url":"https://github.com/mscdex/buildcheck/issues"},"homepage":"https://github.com/mscdex/buildcheck#readme","_id":"buildcheck@0.0.4","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-3lROzwIR07xIL4Dan3Bj2uJ0x3XQOwRxQ3kivEyTJRevxJLR9erAWgIgmXnjTpC1eL5jPtAhmWyyPqvZEzchaA==","shasum":"01b78c9e595629a4982956eb6cfd98359afb9d76","tarball":"http://localhost:4545/npm/registry/buildcheck/buildcheck-0.0.4.tgz","fileCount":14,"unpackedSize":42908,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiPoZLACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrVzw//W6kOVTaMk1b85jdnF2TaMAh3jlpiq1XasL46GmYNLg9r4+kz\r\ne9yLJsp1tddv833EICpuwMweZBQXYdkHR2ixtsRwzFl1joBS2a5lWZn/9wae\r\nzuaOr7zs1Bsud+G7nSob5cdwRbJErfLMP3UXUi096/6B9n53CqGyjs0kxwvK\r\n3mEHFIfCapT7759CqfQrlFBwkju6L6r/BbCawCh9BEat3p42FwQmepvmn3zZ\r\nSNaeotDXTNrawhZDOqYxGVEpVJltPFUBCUWgszYQBd+U1w8kOTd7wXLNfMbQ\r\n2NuEcwc5ZAxEpOPxxchwrRK/oWfKQTiOnjA3EIe1QRpla4U3fVwJHk3at7eU\r\nhU+uiSx+FoCuzZAQNdPrvjyz8l1lACurM2DwvboYHc1lS0OtK4iSwgsOardl\r\npWyheaRiLWe9KuyOUCR+867ps1MLG9Ot8uLYW+Lo7gwOhvMrhsHXyBzZraLC\r\n2ZLZqaU5ULcHRNzA2W6FKgExspmDwvm56vm5K3zirz1u9PKFsx6MoQ5rBD7r\r\nikrDUg+csdoS5Fo+4NSQkWwNZgYDJS2muCIrtNSYmtSIpOolAAQlsnlI/c6z\r\n1bpPBeYwKmbVqbnV3YPbE0slMJ3f9QJC3/7N+KPLYR1NZkGWPm+KX34Wu8EG\r\nROGCdU1iPDNTjXZstVVpJpsbL3Ai4TfccEs=\r\n=LupJ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCcutYhEnWt+W5kZZ1zE0ti3e5Diac3/o8eZMZyFsWp0gIhAOnyDV76BFbk2eoU+jkhm/deZSfidvoOcUv4ZnMz3u+t"}]},"_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"directories":{},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buildcheck_0.0.4_1648264778986_0.7520032376978061"},"_hasShrinkwrap":false}},"time":{"created":"2021-09-13T04:23:04.609Z","0.0.1":"2021-09-13T04:23:04.751Z","modified":"2022-04-12T04:42:15.633Z","0.0.2":"2021-10-22T02:58:05.145Z","0.0.3":"2021-10-23T02:37:25.041Z","0.0.4":"2022-03-26T03:19:39.150Z"},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"description":"Build environment checking (a la autoconf) for node.js","homepage":"https://github.com/mscdex/buildcheck#readme","keywords":["build","autoconf","addons","compiler","environment"],"repository":{"type":"git","url":"git+ssh://git@github.com/mscdex/buildcheck.git"},"author":{"name":"Brian White","email":"mscdex@mscdex.net"},"bugs":{"url":"https://github.com/mscdex/buildcheck/issues"},"readme":"# Description\n\nBuild environment checking for [node.js](http://nodejs.org/).\n\nThis allows for autoconf-like functionality for node addons/build scripts.\n\n**Note:** Obsolete and/or exotic build environments or platforms not supported\nby node.js are not supported.\n\n## Requirements\n\n* [node.js](http://nodejs.org/) -- v10.0.0 or newer\n* Supported compilers:\n * gcc\n * clang\n * MSVC 2013+ and Windows SDK 8.1+\n\n## Installation\n\n npm install buildcheck\n\n## Examples\n\n### Check if a C function exists\n\n```js\n'use strict';\n\nconst { BuildEnvironment } = require('buildcheck');\n\nconst buildEnv = new BuildEnvironment();\n\nconsole.log(buildEnv.checkFunction('c', 'preadv2'));\n```\n\n### Check if a C header is usable\n\n```js\n'use strict';\n\nconst { BuildEnvironment } = require('buildcheck');\n\nconst buildEnv = new BuildEnvironment();\n\nconsole.log(buildEnv.checkHeader('c', 'linux/io_uring.h'));\n```\n\n### Try to compile some C code\n\n```js\n'use strict';\n\nconst { BuildEnvironment } = require('buildcheck');\n\nconst buildEnv = new BuildEnvironment();\n\n// Should be a successful compile\nconsole.log(buildEnv.tryCompile('c', 'int main() { return 0; }'));\n\n// Should be a failed compile\nconsole.log(buildEnv.tryCompile('c', 'int main() { return z; }'));\n```\n\n## API\n\n### Exports\n\n* `BuildEnvironment` - The main class for dealing with a build environment.\n\n### BuildEnvironment\n\n#### Methods\n\n* **(constructor)**([< _object_ >config]) - Creates and returns a new BuildEnvironment instance. `config` may contain:\n\n * **compilerC** - _string_ - C compiler command to use. *Note: this is ignored on Windows.* **Default:** `process.env.CC` or `'cc'`\n\n * **compilerCXX** - _string_ - C++ compiler command to use. *Note: this is ignored on Windows.* **Default:** `process.env.CXX` or `'c++'`\n\n * **msvs_version** - _mixed_ - A string or number containing the year of the Visual Studio compiler to use. *Note: this is for Windows only.* **Default:** newest version installed\n\n* **checkDeclared**(< _string_ >lang, < _string_ >symbolName[, < _object_ >options]) - _boolean_ - Checks if a symbol `symbolName` is declared where `lang` is either `'c'` or `'c++'`. Returns `true` if symbol exists, `false` otherwise. `options` may contain:\n\n * **headers** - _array_ - A list of headers to try when checking if the symbol is declared. `checkFunction()` will always first try without a library. If not supplied, a default list of common (platform-specific) headers will be used.\n\n * **searchLibs** - _array_ - A list of library names (without the `'-l'` prefix) to try when checking if the symbol is declared. `checkDeclared()` will always first try without a library.\n\n* **checkFunction**(< _string_ >lang, < _string_ >functionName[, < _object_ >options]) - _boolean_ - Checks if a function `functionName` exists and is linkable where `lang` is either `'c'` or `'c++'`. Returns `true` if function exists, `false` otherwise. `options` may contain:\n\n * **searchLibs** - _array_ - A list of library names (without the `'-l'` prefix) to try when checking for this function. `checkFunction()` will always first try without a library.\n\n* **checkFeature**(< _string_ >featureName) - _mixed_ - Executes a special test for a \"feature\" and returns the result. Supported values for `featureName`:\n\n * `'strerror_r'` - Returns an object containing:\n\n * `declared` - _boolean_ - Whether `strerror_r()` is declared\n\n * `returnsCharPtr` - _boolean_ - If `strerror_r()` is declared, whether it returns `char*` (a GNU extension) or not.\n\n* **checkHeader**(< _string_ >lang, < _string_ >headerName) - _boolean_ - Checks if the header `headerName` exists and is usable where `lang` is either `'c'` or `'c++'`. Returns `true` if the header exists and is usable, `false` otherwise.\n\n* **defines**([< _string_ >lang[, < _boolean_ >rendered]]) - _array_ - Returns a list of features, functions, headers, and symbols known to be defined by this build environment instance. `lang` is either `'c'` or `'c++'` If `lang` is not set, defines for both `'c'` and `'c++'` will be returned. If `rendered` is `true` (defaults to `false`), autoconf-style defines (e.g. \"HAVE_FOO=1\") will be returned instead. Defines coming from features utilize base strings/names from autoconf for better compatibility.\n\n* **libs**([< _string_ >lang]) - _array_ - Returns a list of (`'-l'`-prefixed) libraries known to be required for features and functions defined by this build environment instance. `lang` is either `'c'` or `'c++'` If `lang` is not set, defines for both `'c'` and `'c++'` will be returned.\n\n* **tryCompile**(< _string_ >lang, < _string_ >code[, < _array_ >compilerParams]) - _mixed_ - Attempts to compile `code` where `lang` is either `'c'` or `'c++'`. `compilerParams` is an optional array of compiler/linker flags to include. Returns `true` on successful compilation, or an _Error_ instance with an `output` property containing the compiler error output.\n","readmeFilename":"README.md"}
\ No newline at end of file diff --git a/cli/tests/testdata/npm/registry/cpu-features/cpu-features-0.0.4.tgz b/cli/tests/testdata/npm/registry/cpu-features/cpu-features-0.0.4.tgz Binary files differnew file mode 100644 index 000000000..b63b3cc3b --- /dev/null +++ b/cli/tests/testdata/npm/registry/cpu-features/cpu-features-0.0.4.tgz diff --git a/cli/tests/testdata/npm/registry/cpu-features/registry.json b/cli/tests/testdata/npm/registry/cpu-features/registry.json new file mode 100644 index 000000000..5076d0060 --- /dev/null +++ b/cli/tests/testdata/npm/registry/cpu-features/registry.json @@ -0,0 +1 @@ +{"_id":"cpu-features","_rev":"4-bd65eea705b9b0cfa253e3922239cbaf","name":"cpu-features","dist-tags":{"latest":"0.0.4"},"versions":{"0.0.1":{"name":"cpu-features","version":"0.0.1","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"A simple binding to Google's cpu_features library for obtaining information about installed CPU(s)","main":"./lib/index","dependencies":{"nan":"^2.13.2"},"scripts":{"install":"node-gyp rebuild","test":"node test/test.js"},"engines":{"node":">=8.0.0"},"keywords":["cpu","detect","detection","features"],"licenses":[{"type":"MIT","url":"https://github.com/mscdex/cpu-features/raw/master/LICENSE"}],"repository":{"type":"git","url":"git+https://github.com/mscdex/cpu-features.git"},"_resolved":"","_integrity":"","_from":"https://github.com/mscdex/cpu-features/tarball/v0.0.1","gypfile":true,"bugs":{"url":"https://github.com/mscdex/cpu-features/issues"},"homepage":"https://github.com/mscdex/cpu-features#readme","_id":"cpu-features@0.0.1","_npmVersion":"6.4.1","_nodeVersion":"10.15.0","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"dist":{"integrity":"sha512-+J2ZbKzcQGI6C++KJx8klaGMrkzzC7zxb/k4dMyK56P67cA4Kei5OyquiAEh7TBJ/ZDe+yN8HX6H5h45icMEPg==","shasum":"2c30f907fc4c0543a793f66cc6b289d30031d964","tarball":"http://localhost:4545/npm/registry/cpu-features/cpu-features-0.0.1.tgz","fileCount":59,"unpackedSize":169295,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcz7NXCRA9TVsSAnZWagAAIWcQAKPMETDu+3HpvCQgRARo\nhacZ6Rsoj/rRDQalznRA3RUrTAt584qfd2EgbhGR8O4ntcgBzEhyuMIoKmI/\npajlNYgAbDtjkky7HhXMXPyYEWKwUCPTJy1egyM+vxDBqWVmwJJEkSOlW3Er\nCR1LlaQiOuBWse2HW3e947n6mGBpzB7Cru/iUi8/u/QlnA7Mh6JrXbtA6QDk\nheMB0jangW5ZaVZEaAWOfoVl1ao3IFPfxouuKZaGU4MLuO6+Is+UKOg52MMQ\n2wXfNkuLH66sRH9aPN2LI5vR76H8rfcPOLxRn/KdMFgrrtH856PumUu7e/q3\n0RtwiOmvUBWVODseevGGE8bHw4YozfvPU7EqTTtU6ywZzuJuaLDBmHIZoU9g\np3jINbjKVkuCHCFFyk+doxL+KTA29LCCsWwZIv3NMAoKgwO6wypZhFWKWWEE\nGIN6LkKhYF9IPNkutbeRxBOD74OW8SAmEx1ywVisw+/lZOt+500YeUxF0lzJ\nNLxrkpU2inB6JL48mvwQtriKf3yqHglG1SA14VYwBAnEdTHejjU8UrwkFHc0\ntYyklRbph2dUNxNxMdsJYFBpA4W+vmJ+cX3XIN5UoTXLMyWFQw19udDkNY66\n05+JFZl5Q4dF3zVQ5QApFsi+FUc6zw0JVboT00OqnZpcY1nYeIFdCyqACLqk\n/udB\r\n=9exu\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDopu6WLZ1lIJiOBjpagpbKLQ/yhK6sXcbeTpc87lC+KgIgTuBqUYy/tM6Eag6egaiWqn389ZXm3L3mTWG8Z7XyDNo="}]},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cpu-features_0.0.1_1557115735080_0.37914412253938345"},"_hasShrinkwrap":false},"0.0.2":{"name":"cpu-features","version":"0.0.2","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"A simple binding to Google's cpu_features library for obtaining information about installed CPU(s)","main":"./lib/index","dependencies":{"nan":"^2.14.1"},"scripts":{"install":"node-gyp rebuild","test":"node test/test.js"},"engines":{"node":">=8.0.0"},"keywords":["cpu","detect","detection","features"],"licenses":[{"type":"MIT","url":"https://github.com/mscdex/cpu-features/raw/master/LICENSE"}],"repository":{"type":"git","url":"git+https://github.com/mscdex/cpu-features.git"},"_resolved":"","_integrity":"","_from":"https://github.com/mscdex/cpu-features/tarball/v0.0.2","gypfile":true,"bugs":{"url":"https://github.com/mscdex/cpu-features/issues"},"homepage":"https://github.com/mscdex/cpu-features#readme","_id":"cpu-features@0.0.2","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-/2yieBqvMcRj8McNzkycjW2v3OIUOibBfd2dLEJ0nWts8NobAxwiyw9phVNS6oDL8x8tz9F7uNVFEVpJncQpeA==","shasum":"9f636156f1155fd04bdbaa028bb3c2fbef3cea7a","tarball":"http://localhost:4545/npm/registry/cpu-features/cpu-features-0.0.2.tgz","fileCount":82,"unpackedSize":322149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfdTeiCRA9TVsSAnZWagAAzlIP/34vjFIGczGYmqbG/T2o\nie0/YwMxRIyEitRbioObl68UP64egDWSr18iYs4aoZ3jlQ2oSgnghYbWpsHr\nT6Ayqke5Owdlm46Kn+ADWknw6/J2DH/MUiXruyvZcpPyBiM3V7uw6/wlD8AF\nHWjuzvnPNYejN6ZBK5ffcsifWVqooT1WOthfXzZs+TeP4oKJzkTf3EfJIycA\nEEuUfBrQSBt0SDkSyakJbuPb1NtGAEyjREhSv9TTFJ2kCT116HzdADHBjpXm\nVg6Xp0yXqCV/9DhczjWZQD0GbvkBcFciRJbq0/5Q2Fb/Ke5jxvdJV+PuAOPM\nrN6/m3Df8nYI8ZCtjiGMZz1/BB1sDfHgryUMq6GMcLQxGMagnKXgsN8hcEGD\nEhNQqALfrlbfkGpjHWT7YNxfzlVkngQ6Reu9GqCIlP+HFf8PKNDCK4Apy1eX\nxqlHjw3lDRJPGdIL+lxGcTPQb8/rMMKOxXIblIj6/KVRMff+n4H1hz4oOCYV\n918hm9FjdlR3d6ewkQtQCfX/4X9R1nFg0woAEywRRZMfHAlaai9VwiJ81NZW\nP4qmzNgpTvcvb/xPFZpG+bwXK/h+2EJqTF6NW5i6cursS/q7YS22d4adIDnK\nUaKReeu4Dive5ZZSG3pd/1SsnUggz+p2r9EGt9YgAc6w87tVKa30YXYsRRRh\nuc2v\r\n=DEHt\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIG2GZW63E3AbT8QQBQ4kSg4VzlLB7v7HuS5RU33s3iW0AiAl4ELL5jJS7uMJpKQGSSgl3RHdwERmXZk+oFUMhlI9Yw=="}]},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cpu-features_0.0.2_1601517473720_0.8384534238979948"},"_hasShrinkwrap":false},"0.0.3":{"name":"cpu-features","version":"0.0.3","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"A simple binding to Google's cpu_features library for obtaining information about installed CPU(s)","main":"./lib/index","dependencies":{"buildcheck":"0.0.3","nan":"^2.15.0"},"devDependencies":{"@mscdex/eslint-config":"^1.1.0","eslint":"^7.0.0"},"scripts":{"install":"node buildcheck.js > buildcheck.gypi && node-gyp rebuild","test":"node test/test.js","lint":"eslint --cache --report-unused-disable-directives --ext=.js .eslintrc.js lib test","lint:fix":"npm run lint -- --fix"},"engines":{"node":">=10.0.0"},"keywords":["cpu","detect","detection","features"],"licenses":[{"type":"MIT","url":"https://github.com/mscdex/cpu-features/raw/master/LICENSE"}],"repository":{"type":"git","url":"git+https://github.com/mscdex/cpu-features.git"},"_resolved":"","_integrity":"","_from":"https://github.com/mscdex/cpu-features/tarball/v0.0.3","bugs":{"url":"https://github.com/mscdex/cpu-features/issues"},"homepage":"https://github.com/mscdex/cpu-features#readme","_id":"cpu-features@0.0.3","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-p6C/uud4F4bDyCz9+BNU22KdV1AGxPK6L9rQG9x3x4SSzdMPyBPErP7Rxn8avT2ex1M2g5Rpjz5Us/ri/766Qg==","shasum":"2acee87f762d11d5197babb34629293007a09edd","tarball":"http://localhost:4545/npm/registry/cpu-features/cpu-features-0.0.3.tgz","fileCount":124,"unpackedSize":441011,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiO/UiACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqPRg/8DC45g1ZpQR9pXoPwJY80AyTjIGO+0OEYA/nyAotAIzV3hQYJ\r\nUXb+dUfSi64qQ5nOIoSP0rB2SxwjJF7xnPBOeOTq2TwSw3iC10VAHuWE2sEK\r\nRd0wzvoBGzawYbat3bbhp1CB4GVVxr1YzUcCIHGdn985bZhM2GOBJl/aTzJ1\r\nE88I0uxfKZrc9QyY+44sL08ng5sr4mMZrx8/kxRKxDcf/mQtM9oFanxi1lnI\r\nl/SsiLV+fZQYZc6ReqwoLAWYoZFCc3lEoaktk953TZ9A2mIolSnvB7SPv8C8\r\npHu96lTLARvh1o5Wkbozk5ygv6Zs7CuoYWu7nDpEhDqNF32ZFlG4vsRRSt0C\r\nAiwRrzDPrrUbngC43u3mnqEByOFMYDfhZsk50FDNyFfuHzRVakjn7EDR0lQi\r\ngm9jrtBZiS06RuLdk1vvW9zSrhaPcygqX8jy6ZRrMgXD3IJSx+25kOFwrbKz\r\nnz34H5pWjVqVqToejYAeJHVGFVqYmqpNkd4FW5cOZ6pVGIfwSmvqMb7fOjyJ\r\n1oKBm32DtHZ0Wwknli9ElaZbl1tU1RJuzIHI6g+Vam51up8q7s/D817r3TRm\r\n/LWZt+5BzgZ8jExg7oIJpqhs8/r0a/FVPnTvqrNEIyC60Eaf5oj6tsNvA3ue\r\nOpqT8yipLB674kav5RPJJU58nDSLQVlb+MU=\r\n=mfxx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD+yNXZXVVGI03MY6xqU2bBywT2SvLrzQbazDu7BjhG5gIhALbKXI8LphHODBnPdJKAlM5FpjrJHaNdkllUFfvzBmxf"}]},"_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"directories":{},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cpu-features_0.0.3_1648096545894_0.799682132092455"},"_hasShrinkwrap":false},"0.0.4":{"name":"cpu-features","version":"0.0.4","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"A simple binding to Google's cpu_features library for obtaining information about installed CPU(s)","main":"./lib/index","dependencies":{"buildcheck":"0.0.3","nan":"^2.15.0"},"devDependencies":{"@mscdex/eslint-config":"^1.1.0","eslint":"^7.0.0"},"scripts":{"install":"node buildcheck.js > buildcheck.gypi && node-gyp rebuild","test":"node test/test.js","lint":"eslint --cache --report-unused-disable-directives --ext=.js .eslintrc.js lib test","lint:fix":"npm run lint -- --fix"},"engines":{"node":">=10.0.0"},"keywords":["cpu","detect","detection","features"],"licenses":[{"type":"MIT","url":"https://github.com/mscdex/cpu-features/raw/master/LICENSE"}],"repository":{"type":"git","url":"git+https://github.com/mscdex/cpu-features.git"},"_resolved":"","_integrity":"","_from":"https://github.com/mscdex/cpu-features/tarball/v0.0.4","bugs":{"url":"https://github.com/mscdex/cpu-features/issues"},"homepage":"https://github.com/mscdex/cpu-features#readme","_id":"cpu-features@0.0.4","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-fKiZ/zp1mUwQbnzb9IghXtHtDoTMtNeb8oYGx6kX2SYfhnG0HNdBEBIzB9b5KlXu5DQPhfy3mInbBxFcgwAr3A==","shasum":"0023475bb4f4c525869c162e4108099e35bf19d8","tarball":"http://localhost:4545/npm/registry/cpu-features/cpu-features-0.0.4.tgz","fileCount":124,"unpackedSize":441166,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDSoV5qJZIAzWTYCD64r4fVmVBgeFomwHHNYtaKRCEvKwIhAKRJESSPM24XRXra2se6hwBay/LKhu6xjQNB0xaAxOBc"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiRx9JACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp+5w/+KuurV/OwC51tg6PDWX8G3ii9UOqdhwAyZNLPH7Mwje02Lkak\r\nWYTr4fyEYajXSM5xCi3btEdK4npEX9bfUVpwh/OOBPJ9vHg0lcF6oFpl0d3K\r\ngXO36F6oI+qsTE6QVDgyv8ugQtSEjGkcyI9wiwJfWxODxDCZzl54Ai4MCla1\r\nLnDuISklJAJTwGFiMFwsNKicys4l8nqYdJUL5TL92+WTDBI07aqHEBagJzfH\r\novlDbQUHrKO5dXn0tGLrwQUQ4gmwak2vMID007PiAAW7XZD3QPrsq5mAqXCp\r\nQVU3/a5Zf+ApDRl0wSHbLU8SMqU+M3tCUS/Nn7vCzUYXPE+urFS/vM+y/KHS\r\n/zYvVDq6Lh/x72pThqIdDM9ieVThZUzeQRkcnK8JKCJjh3e8hUNu5zoSk0KX\r\ndxhSL4L22jZaBNY9+YzCxKS9iTrSiE1i9NOOzuBQ1qezF840RrJJrqRnMWq3\r\nf1WRU8CeUhZv6xgz9xaDWrLHAygAOlh6LNJj3Olshi0QGwfk6RCRodjZhlpV\r\nj92Z3J4pKauQcvXDfJRroeyg8JgB79UHhrauekUs/ExEYwmg5lAuRaYJp4vG\r\nSXR0q3bJsRxAtVriNaqd6zyEGiVPAuf2J2uVT6/GW0pg58ma0W/Xp0XBYjnE\r\npzj6Ywk2ciP+lL854X5noeBnTxcCBWCcRhk=\r\n=W+qc\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"directories":{},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cpu-features_0.0.4_1648828233511_0.03928920551027515"},"_hasShrinkwrap":false}},"time":{"created":"2019-05-06T04:08:55.080Z","0.0.1":"2019-05-06T04:08:55.293Z","modified":"2022-04-27T18:46:38.753Z","0.0.2":"2020-10-01T01:57:53.912Z","0.0.3":"2022-03-24T04:35:46.066Z","0.0.4":"2022-04-01T15:50:33.682Z"},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"description":"A simple binding to Google's cpu_features library for obtaining information about installed CPU(s)","homepage":"https://github.com/mscdex/cpu-features#readme","keywords":["cpu","detect","detection","features"],"repository":{"type":"git","url":"git+https://github.com/mscdex/cpu-features.git"},"author":{"name":"Brian White","email":"mscdex@mscdex.net"},"bugs":{"url":"https://github.com/mscdex/cpu-features/issues"},"readme":"\nDescription\n===========\n\nA simple [node.js](https://nodejs.org) binding to [cpu_features](https://github.com/google/cpu_features) for obtaining information about installed CPU(s).\n\n\nRequirements\n============\n\n* [node.js](http://nodejs.org/) -- v10.0.0 or newer\n* An appropriate build environment -- see [node-gyp's documentation](https://github.com/nodejs/node-gyp/blob/master/README.md)\n\n\nInstall\n=======\n\n npm install cpu-features\n\n\nExample\n=======\n\n```js\n // Generally it's a good idea to just call this once and\n // reuse the result since `cpu-features` does not cache\n // the result itself.\n const features = require('cpu-features')();\n\n console.log(features);\n // example output:\n // { arch: 'x86',\n // brand: 'Intel(R) Core(TM) i7-3770K CPU @ 3.50GHz',\n // family: 6,\n // model: 58,\n // stepping: 9,\n // uarch: 'INTEL_IVB',\n // flags:\n // { fpu: true,\n // tsc: true,\n // cx8: true,\n // clfsh: true,\n // mmx: true,\n // aes: true,\n // erms: true,\n // f16c: true,\n // sse: true,\n // sse2: true,\n // sse3: true,\n // ssse3: true,\n // sse4_1: true,\n // sse4_2: true,\n // avx: true,\n // pclmulqdq: true,\n // cx16: true,\n // popcnt: true,\n // rdrnd: true,\n // ss: true } }\n```\n","readmeFilename":"README.md"}
\ No newline at end of file diff --git a/cli/tests/testdata/npm/registry/nan/nan-2.16.0.tgz b/cli/tests/testdata/npm/registry/nan/nan-2.16.0.tgz Binary files differnew file mode 100644 index 000000000..26925e88a --- /dev/null +++ b/cli/tests/testdata/npm/registry/nan/nan-2.16.0.tgz diff --git a/cli/tests/testdata/npm/registry/nan/registry.json b/cli/tests/testdata/npm/registry/nan/registry.json new file mode 100644 index 000000000..a26c7cd9f --- /dev/null +++ b/cli/tests/testdata/npm/registry/nan/registry.json @@ -0,0 +1 @@ +{"_id":"nan","_rev":"193-a06751dede2d482e69fb24f524ddc97a","name":"nan","description":"Native Abstractions for Node.js: C++ header for Node 0.8 -> 14 compatibility","dist-tags":{"latest":"2.16.0"},"versions":{"0.3.0-wip":{"name":"nan","version":"0.3.0-wip","description":"Native Abstractions for Node.js: C++ header for Node 0.8->0.12 compatibility","main":".index.js","repository":{"type":"git","url":"git://github.com/rvagg/nan.git"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"}],"license":"MIT","bugs":{"url":"https://github.com/rvagg/nan/issues"},"_id":"nan@0.3.0-wip","dist":{"shasum":"fd51b1e427db1e5952abbc5eaa053a50bddb795f","tarball":"http://localhost:4545/npm/registry/nan/nan-0.3.0-wip.tgz","integrity":"sha512-17C3Lhq7MFQBJHet/itebOpFUD8g7h6accAsjoYhzD/1QoTzbCQkPbeoBx4IKfmhu+Mn/97xBjvjsmDdlHSJ/w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCr7Y0v9rj7PhqCLaAsOih2Nam2m83TEA+QRP/qUD7wWwIgAJh2HSxAIWmPgNsbl9ivZIUM98y0s2Hw3yfitUTI9VQ="}]},"_from":".","_npmVersion":"1.3.5","_npmUser":{"name":"rvagg","email":"rod@vagg.org"},"maintainers":[{"name":"rvagg","email":"rod@vagg.org"}],"directories":{}},"0.3.0-wip2":{"name":"nan","version":"0.3.0-wip2","description":"Native Abstractions for Node.js: C++ header for Node 0.8->0.12 compatibility","main":".index.js","repository":{"type":"git","url":"git://github.com/rvagg/nan.git"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"}],"license":"MIT","bugs":{"url":"https://github.com/rvagg/nan/issues"},"_id":"nan@0.3.0-wip2","dist":{"shasum":"0455cc096df55927852e524f195b42631317d21c","tarball":"http://localhost:4545/npm/registry/nan/nan-0.3.0-wip2.tgz","integrity":"sha512-2N9aT3PALI9MBr5bPQWsTa+wb5zwwfJrzwW/L4nCmifHkGgPsOEq7gEkSZerdtyPGcsRc1Zznpj2etgGYuGJ3Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDZl2tBHuVarxYwwdf8vSX8eV/zhCuaBZGJBeD65+fG1wIgKhb6pfj6/Ac46OU65BceNpG2g6RjMF+BUyYDFfl3gZg="}]},"_from":".","_npmVersion":"1.3.5","_npmUser":{"name":"rvagg","email":"rod@vagg.org"},"maintainers":[{"name":"rvagg","email":"rod@vagg.org"}],"directories":{}},"0.3.0":{"name":"nan","version":"0.3.0","description":"Native Abstractions for Node.js: C++ header for Node 0.8->0.12 compatibility","main":".index.js","repository":{"type":"git","url":"git://github.com/rvagg/nan.git"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"}],"license":"MIT","bugs":{"url":"https://github.com/rvagg/nan/issues"},"_id":"nan@0.3.0","dist":{"shasum":"8c053549c789b3a1c6169f9bf7949750c6117054","tarball":"http://localhost:4545/npm/registry/nan/nan-0.3.0.tgz","integrity":"sha512-5wrpBO98RPztMyLHutsacK5vMRrN9uuoK/SfLR8vAzKEXwe7FOpv+GNqzixVzJYUvB2qGCPZVRMt+VY0zAFHFA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIARHfQAvAIextYJHrG8QsNduwcHuwXoiaFm2AsYgMcEtAiBKHF3spgw+coNAyHndtp80i1N9xZm4fqLeuYiR+JQ0UA=="}]},"_from":".","_npmVersion":"1.3.8","_npmUser":{"name":"rvagg","email":"rod@vagg.org"},"maintainers":[{"name":"rvagg","email":"rod@vagg.org"}],"directories":{}},"0.3.1":{"name":"nan","version":"0.3.1","description":"Native Abstractions for Node.js: C++ header for Node 0.8->0.12 compatibility","main":".index.js","repository":{"type":"git","url":"git://github.com/rvagg/nan.git"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"}],"license":"MIT","bugs":{"url":"https://github.com/rvagg/nan/issues"},"_id":"nan@0.3.1","dist":{"shasum":"672523b3fbdbc8e73213dc1951b636e98b3b176f","tarball":"http://localhost:4545/npm/registry/nan/nan-0.3.1.tgz","integrity":"sha512-HvotUkoHKbiUYCV7XSDNaxn+VgDJt7gEGlSWLL2ZWJCNYmb0iQjmxLumGk6IUIbAWbJPTAZdbZN7n9jjA0rA8Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD2NTt+ubK4Y39Oh4YQNW5kzPPcihe6IJGgeIMMqiPQaAIhAMs2Zbmq5AI0gvQhNx8tnGdthTgdgPR3YaRSyTm2DprO"}]},"_from":".","_npmVersion":"1.3.8","_npmUser":{"name":"rvagg","email":"rod@vagg.org"},"maintainers":[{"name":"rvagg","email":"rod@vagg.org"}],"directories":{}},"0.3.2":{"name":"nan","version":"0.3.2","description":"Native Abstractions for Node.js: C++ header for Node 0.8->0.12 compatibility","main":".index.js","repository":{"type":"git","url":"git://github.com/rvagg/nan.git"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"}],"license":"MIT","bugs":{"url":"https://github.com/rvagg/nan/issues"},"_id":"nan@0.3.2","dist":{"shasum":"0df1935cab15369075ef160ad2894107aa14dc2d","tarball":"http://localhost:4545/npm/registry/nan/nan-0.3.2.tgz","integrity":"sha512-V9/Pyy5Oelv6vVJP9X+dAzU3IO19j6YXrJnODHxP2h54hTvfFQGahdsQV6Ule/UukiEJk1SkQ/aUyWUm61RBQw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCAtpDlURCZtbTjvrOoEHdoOwklrrs5RWIU2JY3MlkoPgIhAJUOAo3vRbbaenrdCV+042XKNEOzqLonmBqgiFOG24Y0"}]},"_from":".","_npmVersion":"1.3.8","_npmUser":{"name":"rvagg","email":"rod@vagg.org"},"maintainers":[{"name":"rvagg","email":"rod@vagg.org"}],"directories":{}},"0.4.0":{"name":"nan","version":"0.4.0","description":"Native Abstractions for Node.js: C++ header for Node 0.8->0.12 compatibility","main":".index.js","repository":{"type":"git","url":"git://github.com/rvagg/nan.git"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"}],"license":"MIT","bugs":{"url":"https://github.com/rvagg/nan/issues"},"_id":"nan@0.4.0","dist":{"shasum":"c099837dd37983b0fbe8cbc800bf56e07e36acd9","tarball":"http://localhost:4545/npm/registry/nan/nan-0.4.0.tgz","integrity":"sha512-/U3FZLl4bDKVtYnO+vXAtV7MyPTy49gJHoxNLHQCrn0B6Iw5dHtR0/ZSTgSrgTYrfAFydiHrTmwDqJxKqt3RQA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICv5M5HWwJZY8K7WWwyZfX9pmVtB8NvxTH1KZK6hca96AiEAx13HkNz623VEtXHB9mT5l7nUYcdff5RFxgQus5WuOHY="}]},"_from":".","_npmVersion":"1.3.8","_npmUser":{"name":"rvagg","email":"rod@vagg.org"},"maintainers":[{"name":"rvagg","email":"rod@vagg.org"}],"directories":{}},"0.4.1":{"name":"nan","version":"0.4.1","description":"Native Abstractions for Node.js: C++ header for Node 0.8->0.12 compatibility","main":".index.js","repository":{"type":"git","url":"git://github.com/rvagg/nan.git"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"}],"license":"MIT","bugs":{"url":"https://github.com/rvagg/nan/issues"},"_id":"nan@0.4.1","dist":{"shasum":"6bca2af7af5ae7f76e9aa96c80897605bcd0407f","tarball":"http://localhost:4545/npm/registry/nan/nan-0.4.1.tgz","integrity":"sha512-OQF9XmAAqhVnKsZ8HfaW89gT08ZUUFxPRCKkp8gFsi6z5mQs8pseLZ93Q7mPyfP+GzXlChmc4S7gu3mVWLe58Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGY5Hgt0TQPVnBvcEcjXRUMU8QSMhyiRo6EyIUw4kMTQAiAmZhEP/jjE+WwxowIDt83z7S1wRUmO2NKBGtihct7p6w=="}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"rvagg","email":"rod@vagg.org"},"maintainers":[{"name":"rvagg","email":"rod@vagg.org"}],"directories":{}},"0.4.2":{"name":"nan","version":"0.4.2","description":"Native Abstractions for Node.js: C++ header for Node 0.8->0.12 compatibility","main":".index.js","repository":{"type":"git","url":"git://github.com/rvagg/nan.git"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"}],"license":"MIT","bugs":{"url":"https://github.com/rvagg/nan/issues"},"homepage":"https://github.com/rvagg/nan","_id":"nan@0.4.2","dist":{"shasum":"e23acfd4811f60ca5cf98c06c1fea8682539d351","tarball":"http://localhost:4545/npm/registry/nan/nan-0.4.2.tgz","integrity":"sha512-KuyWfOr5x+BRA8gWrrIrn2n2/x5lVJ2LFmrMzjuKM0pD344STwJlKjZKHTA4ewsxb+QHmoGVdjqhCkuDGVESTA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDu8HrWjeQCL88ISTy0iNUKWg3WeLSXVuX0LLGnQ/MN+AiBYrHgFNBtFRbiKgWICsk6ZPGdUDbAAUwP4FJDAVuBfFw=="}]},"_from":".","_npmVersion":"1.3.13","_npmUser":{"name":"rvagg","email":"rod@vagg.org"},"maintainers":[{"name":"rvagg","email":"rod@vagg.org"}],"directories":{}},"0.4.3":{"name":"nan","version":"0.4.3","description":"Native Abstractions for Node.js: C++ header for Node 0.8->0.12 compatibility","main":".index.js","repository":{"type":"git","url":"git://github.com/rvagg/nan.git"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"}],"license":"MIT","bugs":{"url":"https://github.com/rvagg/nan/issues"},"_id":"nan@0.4.3","dist":{"shasum":"6f4274c4fa753be8c562822501a7e925ad2af035","tarball":"http://localhost:4545/npm/registry/nan/nan-0.4.3.tgz","integrity":"sha512-YOLPRJzkVJxJXQIk+xu8RM0TFTKaIUuy0p1pZxLKJTyI3765IN40eqw4L92Lmz9ttJlbsF5SY3vTtmIDLvnzJQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEJyS3zEElFnE9k786XAXmcPgLuuPbuPBtOE1HkPdLMbAiEAsR54Sw7X4QI8aZmMvMLBwJo6eT0KW0MN7hHeqEgTYVc="}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"rvagg","email":"rod@vagg.org"},"maintainers":[{"name":"rvagg","email":"rod@vagg.org"}],"directories":{}},"0.4.4":{"name":"nan","version":"0.4.4","description":"Native Abstractions for Node.js: C++ header for Node 0.8->0.12 compatibility","main":".index.js","repository":{"type":"git","url":"git://github.com/rvagg/nan.git"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"}],"license":"MIT","bugs":{"url":"https://github.com/rvagg/nan/issues"},"homepage":"https://github.com/rvagg/nan","_id":"nan@0.4.4","dist":{"shasum":"9db58eae63cee119807a0d01afd0655d956bea75","tarball":"http://localhost:4545/npm/registry/nan/nan-0.4.4.tgz","integrity":"sha512-1BCQoua8F/wV0oNYIfk37hWYx/2A9rwlyQj4+KT/bXz2BuQ4QHU/RauYrNSGIXnLcJcTGVoww/nglxH7Nu59pQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIH0wv5c89kV/QlVZuVRKKksH9ah+G5OF1LtMD0fkSLFIAiAXWD92C5L4C/mSzLANzQpWkKLjVL/+KPS6wvMyGWqSRA=="}]},"_from":".","_npmVersion":"1.3.13","_npmUser":{"name":"rvagg","email":"rod@vagg.org"},"maintainers":[{"name":"rvagg","email":"rod@vagg.org"}],"directories":{}},"0.5.0":{"name":"nan","version":"0.5.0","description":"Native Abstractions for Node.js: C++ header for Node 0.8->0.12 compatibility","main":"include_dirs.js","repository":{"type":"git","url":"git://github.com/rvagg/nan.git"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"https://github.com/TooTallNate"}],"license":"MIT","bugs":{"url":"https://github.com/rvagg/nan/issues"},"homepage":"https://github.com/rvagg/nan","_id":"nan@0.5.0","dist":{"shasum":"fff2b55c761245ef11965d03214d8b4836ef8d79","tarball":"http://localhost:4545/npm/registry/nan/nan-0.5.0.tgz","integrity":"sha512-ZL85zJhkO1GdhRi0Y0tMCodQy51PsAGRETPAd1eIQkBGa3MoRG7YGp8YNCThGV9FF/TE1Oj0zpnb5TWq/NVKSQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCy76xE9B5VABsOHchle6Yaj5Ip7dGmrO4SL3Ub+a4AfQIgYXW6EQ+XnrC0aqgVwn+Hp3kbsvqLTNa5XXq8A7cndEc="}]},"_from":".","_npmVersion":"1.3.14","_npmUser":{"name":"rvagg","email":"rod@vagg.org"},"maintainers":[{"name":"rvagg","email":"rod@vagg.org"}],"directories":{}},"0.5.1":{"name":"nan","version":"0.5.1","description":"Native Abstractions for Node.js: C++ header for Node 0.8->0.12 compatibility","main":"include_dirs.js","repository":{"type":"git","url":"git://github.com/rvagg/nan.git"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"https://github.com/TooTallNate"}],"license":"MIT","bugs":{"url":"https://github.com/rvagg/nan/issues"},"_id":"nan@0.5.1","dist":{"shasum":"3dbf3b1a8ab63beb34e39210266c269a0c5d2df2","tarball":"http://localhost:4545/npm/registry/nan/nan-0.5.1.tgz","integrity":"sha512-SUzZC6qWPmL2qs8il8QtjC7K9q8gBfUmeERs2MK1JNmQASNQJysiIJe2Um4brtk+bMKBc1/uRLtvSA/S2HDYgQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDUcxetgOvVFRjzmLB5d96uMNywm81zCXxbPQbr1aUlNgIhAPmShaLj1DIjFk/wfj7Lc9eWz3CTh848qPZMuNhJxer3"}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"rvagg","email":"rod@vagg.org"},"maintainers":[{"name":"rvagg","email":"rod@vagg.org"}],"directories":{}},"0.5.2":{"name":"nan","version":"0.5.2","description":"Native Abstractions for Node.js: C++ header for Node 0.8->0.12 compatibility","main":"include_dirs.js","repository":{"type":"git","url":"git://github.com/rvagg/nan.git"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"https://github.com/TooTallNate"}],"license":"MIT","bugs":{"url":"https://github.com/rvagg/nan/issues"},"homepage":"https://github.com/rvagg/nan","_id":"nan@0.5.2","dist":{"shasum":"217df903f50b0647d97c5f28f1c5d12cb0803e09","tarball":"http://localhost:4545/npm/registry/nan/nan-0.5.2.tgz","integrity":"sha512-TNqfIqSy0wLXZC3SdEx94RmHlWqSuL0FRjVU/MPNRmd8MKPEOKxQyHa2mblR5iYFnPBFEwkgk1e6crhwU8Jvbw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCGyg7AY0j8tEITdxldmFS4XCfBUvLQeQavtxHR/+K6owIhANlOLSJaAVIyOEaXuf9qwsEfqH4/jq+LFQvuMnZLArhs"}]},"_from":".","_npmVersion":"1.3.14","_npmUser":{"name":"rvagg","email":"rod@vagg.org"},"maintainers":[{"name":"rvagg","email":"rod@vagg.org"}],"directories":{}},"0.6.0":{"name":"nan","version":"0.6.0","description":"Native Abstractions for Node.js: C++ header for Node 0.8->0.12 compatibility","main":"include_dirs.js","repository":{"type":"git","url":"git://github.com/rvagg/nan.git"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"https://github.com/TooTallNate"}],"license":"MIT","bugs":{"url":"https://github.com/rvagg/nan/issues"},"homepage":"https://github.com/rvagg/nan","_id":"nan@0.6.0","dist":{"shasum":"a54ebe59717b467c77425302bd7c17574c887aaa","tarball":"http://localhost:4545/npm/registry/nan/nan-0.6.0.tgz","integrity":"sha512-z0w3Bvz7+dTQ4jIxYcbPdfNnpc6Zv3dJzY2mIZm4s5Idki81iaIC5HLj8I9iQpBz+WLgqjv8cVveP3cNabdYog==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCQZjpFdVqg4xADLFD8vC5zDMdPNM6jM8An4bQudNGQegIgcJOHe9+7i1W78cvCY/TD/h/Dxgn1fRaE40TKSWLD9E8="}]},"_from":".","_npmVersion":"1.3.15","_npmUser":{"name":"rvagg","email":"rod@vagg.org"},"maintainers":[{"name":"rvagg","email":"rod@vagg.org"}],"directories":{}},"0.7.0":{"name":"nan","version":"0.7.0","description":"Native Abstractions for Node.js: C++ header for Node 0.8->0.12 compatibility","main":"include_dirs.js","repository":{"type":"git","url":"git://github.com/rvagg/nan.git"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"https://github.com/TooTallNate"},{"name":"Brett Lawson","email":"brett19@gmail.com","url":"https://github.com/brett19"}],"license":"MIT","bugs":{"url":"https://github.com/rvagg/nan/issues"},"_id":"nan@0.7.0","dist":{"shasum":"3c9cc0a4e021c9cc2b699df1d94944e51c5352b9","tarball":"http://localhost:4545/npm/registry/nan/nan-0.7.0.tgz","integrity":"sha512-3wn3gA8tsdoYKbf6TlxVPlous0pYOIyNLoA7qxfITzneZyneZukmASNKL7UvrJvWv0ydSF2itbj5J+kyAwQssA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQChNInvTciizKrSAQMY/3uVLTqd2a0eqguz5/3dGrwDDQIhAIohKpvPZAAWjeFa2UpLGhLm8O9+0gG+dE6V35e2M3aD"}]},"_from":".","_npmVersion":"1.2.30","_npmUser":{"name":"rvagg","email":"rod@vagg.org"},"maintainers":[{"name":"rvagg","email":"rod@vagg.org"}],"directories":{}},"0.7.1":{"name":"nan","version":"0.7.1","description":"Native Abstractions for Node.js: C++ header for Node 0.8->0.12 compatibility","main":"include_dirs.js","repository":{"type":"git","url":"git://github.com/rvagg/nan.git"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"https://github.com/TooTallNate"},{"name":"Brett Lawson","email":"brett19@gmail.com","url":"https://github.com/brett19"},{"name":"Ben Noordhuis","email":"info@bnoordhuis.nl","url":"https://github.com/bnoordhuis"}],"license":"MIT","bugs":{"url":"https://github.com/rvagg/nan/issues"},"homepage":"https://github.com/rvagg/nan","_id":"nan@0.7.1","dist":{"shasum":"fc576184a1037b3e5675f2ba3740dee2044ff8f4","tarball":"http://localhost:4545/npm/registry/nan/nan-0.7.1.tgz","integrity":"sha512-v6yVgq9fQ+32fboF2WKLp+1/ghIY8HLvXRkRGwm560gMcayxn61HvIvMdRehuwEEOrkxSx1IaDklPoSU2a/gLw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCdgnj83C8i8pqnTuPUYae1eyKzDfVUPvIyUgVFIIKpmwIhAIRcHjFvFgzM/av2VbgvDWvFVYjQR3mW+bU1iWB54B6n"}]},"_from":".","_npmVersion":"1.3.21","_npmUser":{"name":"rvagg","email":"rod@vagg.org"},"maintainers":[{"name":"rvagg","email":"rod@vagg.org"}],"directories":{}},"0.8.0":{"name":"nan","version":"0.8.0","description":"Native Abstractions for Node.js: C++ header for Node 0.8->0.12 compatibility","main":"include_dirs.js","repository":{"type":"git","url":"git://github.com/rvagg/nan.git"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"https://github.com/TooTallNate"},{"name":"Brett Lawson","email":"brett19@gmail.com","url":"https://github.com/brett19"},{"name":"Ben Noordhuis","email":"info@bnoordhuis.nl","url":"https://github.com/bnoordhuis"}],"license":"MIT","bugs":{"url":"https://github.com/rvagg/nan/issues"},"homepage":"https://github.com/rvagg/nan","_id":"nan@0.8.0","dist":{"shasum":"022a8fa5e9fe8420964ac1fb3dc94e17f449f5fd","tarball":"http://localhost:4545/npm/registry/nan/nan-0.8.0.tgz","integrity":"sha512-M+vkONtYYOj3IH4em2DsC4PxXtihcZSxHfoQnEIDJqQt7PrWMvWW5YCoAYvHHChffVW5BazqzZrTsa/+Y5cBLw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAs2B/taadSiCuK0dFxa6i1llZibnvdPFAPbGlS8h7TSAiAHTDZqCsHXHY70HwckDxnGOI9MbyI/HqSd0Q1PwfUAWQ=="}]},"_from":".","_npmVersion":"1.3.21","_npmUser":{"name":"rvagg","email":"rod@vagg.org"},"maintainers":[{"name":"rvagg","email":"rod@vagg.org"}],"directories":{}},"1.0.0":{"name":"nan","version":"1.0.0","description":"Native Abstractions for Node.js: C++ header for Node 0.8->0.12 compatibility","main":"include_dirs.js","repository":{"type":"git","url":"git://github.com/rvagg/nan.git"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"https://github.com/TooTallNate"},{"name":"Brett Lawson","email":"brett19@gmail.com","url":"https://github.com/brett19"},{"name":"Ben Noordhuis","email":"info@bnoordhuis.nl","url":"https://github.com/bnoordhuis"}],"license":"MIT","bugs":{"url":"https://github.com/rvagg/nan/issues"},"homepage":"https://github.com/rvagg/nan","_id":"nan@1.0.0","dist":{"shasum":"ae24f8850818d662fcab5acf7f3b95bfaa2ccf38","tarball":"http://localhost:4545/npm/registry/nan/nan-1.0.0.tgz","integrity":"sha512-Wm2/nFOm2y9HtJfgOLnctGbfvF23FcQZeyUZqDD8JQG3zO5kXh3MkQKiUaA68mJiVWrOzLFkAV1u6bC8P52DJA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC243NcRMIJzlJH+DT+t3EjnMqyUH0i1HAa0yqSl65zEwIhAJ802fKi+MUd0PoPVM+ETvDtDMccEOEZEf4Dx8C2GfD1"}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"rvagg","email":"rod@vagg.org"},"maintainers":[{"name":"rvagg","email":"rod@vagg.org"}],"directories":{}},"1.1.0":{"name":"nan","version":"1.1.0","description":"Native Abstractions for Node.js: C++ header for Node 0.8->0.12 compatibility","main":"include_dirs.js","repository":{"type":"git","url":"git://github.com/rvagg/nan.git"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"https://github.com/TooTallNate"},{"name":"Brett Lawson","email":"brett19@gmail.com","url":"https://github.com/brett19"},{"name":"Ben Noordhuis","email":"info@bnoordhuis.nl","url":"https://github.com/bnoordhuis"}],"license":"MIT","bugs":{"url":"https://github.com/rvagg/nan/issues"},"homepage":"https://github.com/rvagg/nan","_id":"nan@1.1.0","dist":{"shasum":"6ca1ab85dc2cd75d6e7d5cbf3d9491bbb97d4aa5","tarball":"http://localhost:4545/npm/registry/nan/nan-1.1.0.tgz","integrity":"sha512-q6fOeP8iRnaCUn4q3SOBKiQzgoa4WzikjK4wpabXqjSpuMS2G5gh5Ogvf2GAVGuap2msd3CvDwWkI2gL/6anSA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC36WW6aeVnBqKzp2qHqzXA3StlVrKP2STP0J5VmI/XeAiBYCLEW1nG3VMtPIqQvCndBrJJkeHCdYgyguvINDByBIA=="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"rvagg","email":"rod@vagg.org"},"maintainers":[{"name":"rvagg","email":"rod@vagg.org"}],"directories":{}},"1.1.1":{"name":"nan","version":"1.1.1","description":"Native Abstractions for Node.js: C++ header for Node 0.8->0.12 compatibility","main":"include_dirs.js","repository":{"type":"git","url":"git://github.com/rvagg/nan.git"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"https://github.com/TooTallNate"},{"name":"Brett Lawson","email":"brett19@gmail.com","url":"https://github.com/brett19"},{"name":"Ben Noordhuis","email":"info@bnoordhuis.nl","url":"https://github.com/bnoordhuis"}],"license":"MIT","bugs":{"url":"https://github.com/rvagg/nan/issues"},"homepage":"https://github.com/rvagg/nan","_id":"nan@1.1.1","dist":{"shasum":"1057b5526920e77f268d8e5e1d274a6c19251d18","tarball":"http://localhost:4545/npm/registry/nan/nan-1.1.1.tgz","integrity":"sha512-w2Wry3jicT764kylhUhOzdgmfkhVdHh1iQpkHIGY1Kw5Zu1C7CiTQlwQ4fYwq04mi2hASEcQXzHEQzl1grzROg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIExjUEOCgp4lr9dXFNNZt17S0YHWAT2pwi+BNWRKKCumAiEA4Yf1HeomhQxV8oeJUJ/sPrOARqgLJu3kxPUw3yBwvSA="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"rvagg","email":"rod@vagg.org"},"maintainers":[{"name":"rvagg","email":"rod@vagg.org"}],"directories":{}},"1.1.2":{"name":"nan","version":"1.1.2","description":"Native Abstractions for Node.js: C++ header for Node 0.8->0.12 compatibility","main":"include_dirs.js","repository":{"type":"git","url":"git://github.com/rvagg/nan.git"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"https://github.com/TooTallNate"},{"name":"Brett Lawson","email":"brett19@gmail.com","url":"https://github.com/brett19"},{"name":"Ben Noordhuis","email":"info@bnoordhuis.nl","url":"https://github.com/bnoordhuis"}],"license":"MIT","bugs":{"url":"https://github.com/rvagg/nan/issues"},"homepage":"https://github.com/rvagg/nan","_id":"nan@1.1.2","dist":{"shasum":"bbd48552fc0758673ebe8fada360b60278a6636b","tarball":"http://localhost:4545/npm/registry/nan/nan-1.1.2.tgz","integrity":"sha512-J7y8XfGMJyLdCesSUmrjwFqK+5Do+TxVthz/lDcfF8olnl3y8pNOw+8yL4mblVSc2DW24n2SyiD736JiVA58Vg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDpdDufKF7JhOezX/c0FI6W1DT5QtJgeFsPjau62iwViwIgaoYbKvHe73Gxn3wdUwxP/55zPfpKiU91AYKu9yDIbFI="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"rvagg","email":"rod@vagg.org"},"maintainers":[{"name":"rvagg","email":"rod@vagg.org"}],"directories":{}},"1.2.0":{"name":"nan","version":"1.2.0","description":"Native Abstractions for Node.js: C++ header for Node 0.8->0.12 compatibility","main":"include_dirs.js","repository":{"type":"git","url":"git://github.com/rvagg/nan.git"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"https://github.com/TooTallNate"},{"name":"Brett Lawson","email":"brett19@gmail.com","url":"https://github.com/brett19"},{"name":"Ben Noordhuis","email":"info@bnoordhuis.nl","url":"https://github.com/bnoordhuis"}],"license":"MIT","bugs":{"url":"https://github.com/rvagg/nan/issues"},"homepage":"https://github.com/rvagg/nan","_id":"nan@1.2.0","dist":{"shasum":"9c4d63ce9e4f8e95de2d574e18f7925554a8a8ef","tarball":"http://localhost:4545/npm/registry/nan/nan-1.2.0.tgz","integrity":"sha512-+iQUm6k6b0RnqPbly89pWp42YzGncSg0hJsonfk0P6q1/kNaT6vWHEAT6fY5ld0BpE4gch5EWDIisCzv+94Gpg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCrOErBga7zsYphUJ5vZ6i6YqwEPjxNNwXRxBW0uigrYwIgBsH4ninH0XESnHWbJ+HBvgGtvwQHJxqHNtaxFnc9cro="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"rvagg","email":"rod@vagg.org"},"maintainers":[{"name":"rvagg","email":"rod@vagg.org"}],"directories":{}},"1.3.0":{"name":"nan","version":"1.3.0","description":"Native Abstractions for Node.js: C++ header for Node 0.8->0.12 compatibility","main":"include_dirs.js","repository":{"type":"git","url":"git://github.com/rvagg/nan.git"},"scripts":{"test":"tap --gc test/js/*-test.js","rebuild-tests":"node-gyp rebuild --directory test"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"https://github.com/TooTallNate"},{"name":"Brett Lawson","email":"brett19@gmail.com","url":"https://github.com/brett19"},{"name":"Ben Noordhuis","email":"info@bnoordhuis.nl","url":"https://github.com/bnoordhuis"}],"devDependencies":{"bindings":"~1.2.1","node-gyp":"~1.0.1","tap":"~0.4.12","xtend":"~4.0.0"},"license":"MIT","gitHead":"e482fbe142e58373d5a24f4e5a60c61e22a13f83","bugs":{"url":"https://github.com/rvagg/nan/issues"},"homepage":"https://github.com/rvagg/nan","_id":"nan@1.3.0","_shasum":"9a5b8d5ef97a10df3050e59b2c362d3baf779742","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"rvagg","email":"rod@vagg.org"},"maintainers":[{"name":"rvagg","email":"rod@vagg.org"}],"dist":{"shasum":"9a5b8d5ef97a10df3050e59b2c362d3baf779742","tarball":"http://localhost:4545/npm/registry/nan/nan-1.3.0.tgz","integrity":"sha512-2xPpifjI6OzUZtboDKhRlk9u98eV395Twdp0i0GnwP9PLGpphm4R7Q0wIZXmgmu31ukqUJCg1uXlD44fph/sKg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDVyezOwx7G7PMbDvk3IgyKYiS8DrJihO4EPUU1bCWI6AiEAmN1OG9/zSbk9j7thcIL4uG68oSmrYEjjBt3YbmaUe7E="}]},"directories":{}},"1.4.0":{"name":"nan","version":"1.4.0","description":"Native Abstractions for Node.js: C++ header for Node 0.8->0.12 compatibility","main":"include_dirs.js","repository":{"type":"git","url":"git://github.com/rvagg/nan.git"},"scripts":{"test":"tap --gc test/js/*-test.js","rebuild-tests":"node-gyp rebuild --directory test"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"https://github.com/TooTallNate"},{"name":"Brett Lawson","email":"brett19@gmail.com","url":"https://github.com/brett19"},{"name":"Ben Noordhuis","email":"info@bnoordhuis.nl","url":"https://github.com/bnoordhuis"}],"devDependencies":{"bindings":"~1.2.1","node-gyp":"~1.0.2","tap":"~0.4.13","xtend":"~4.0.0"},"license":"MIT","gitHead":"7eb51725bc0aae4de3cebe3554df304f36fb074c","bugs":{"url":"https://github.com/rvagg/nan/issues"},"homepage":"https://github.com/rvagg/nan","_id":"nan@1.4.0","_shasum":"d49a8e21da02b88f8b175a5300bdfd5e9a5d5362","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"rvagg","email":"rod@vagg.org"},"maintainers":[{"name":"rvagg","email":"rod@vagg.org"}],"dist":{"shasum":"d49a8e21da02b88f8b175a5300bdfd5e9a5d5362","tarball":"http://localhost:4545/npm/registry/nan/nan-1.4.0.tgz","integrity":"sha512-oUu05HlDbmapw/rerHAIkjMIMAgvFTOf7qlzcv/bY2mfEk3Oc/M+4HYy5WHIIA1VjGiu1nOcmGPd+6v7JxwfBQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGGcNv/gFI6xFbe6npm3AjeIP4qDkEopBq4Izc+203zvAiEAps04xJCtJ8NCl4PaiBhJ7tGyGLAI7Kem3nQ58RoUYcs="}]},"directories":{}},"1.4.1":{"name":"nan","version":"1.4.1","description":"Native Abstractions for Node.js: C++ header for Node 0.8->0.12 compatibility","main":"include_dirs.js","repository":{"type":"git","url":"git://github.com/rvagg/nan.git"},"scripts":{"test":"tap --gc test/js/*-test.js","rebuild-tests":"node-gyp rebuild --directory test"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"https://github.com/TooTallNate"},{"name":"Brett Lawson","email":"brett19@gmail.com","url":"https://github.com/brett19"},{"name":"Ben Noordhuis","email":"info@bnoordhuis.nl","url":"https://github.com/bnoordhuis"}],"devDependencies":{"bindings":"~1.2.1","node-gyp":"~1.0.2","tap":"~0.4.13","xtend":"~4.0.0"},"license":"MIT","bugs":{"url":"https://github.com/rvagg/nan/issues"},"homepage":"https://github.com/rvagg/nan","_id":"nan@1.4.1","_shasum":"0a2bb562c558b440005b1f7eb8b31ccbdb565d5f","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"kkoopa","email":"bbyholm@abo.fi"},"maintainers":[{"name":"rvagg","email":"rod@vagg.org"},{"name":"kkoopa","email":"bbyholm@abo.fi"}],"dist":{"shasum":"0a2bb562c558b440005b1f7eb8b31ccbdb565d5f","tarball":"http://localhost:4545/npm/registry/nan/nan-1.4.1.tgz","integrity":"sha512-30AEkPxTer+aJg/qlT/S8sy95Apg8KDXnvMafvTvwW+B21Vn+HJoeOkMFjLdYzbeeOHr2kWYTRrSiWH74+IuGg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD3cvdUtxCAwyGT+LywtThGXxtuCY08xK4+gHavX3vudQIgB3B8G7OQYmEU+OI2YiKmmuX/Mblt7+3lSzWwr6cxSos="}]},"directories":{}},"1.5.0":{"name":"nan","version":"1.5.0","description":"Native Abstractions for Node.js: C++ header for Node 0.8->0.12 compatibility","main":"include_dirs.js","repository":{"type":"git","url":"git://github.com/rvagg/nan.git"},"scripts":{"test":"tap --gc test/js/*-test.js","rebuild-tests":"node-gyp rebuild --directory test"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"https://github.com/TooTallNate"},{"name":"Brett Lawson","email":"brett19@gmail.com","url":"https://github.com/brett19"},{"name":"Ben Noordhuis","email":"info@bnoordhuis.nl","url":"https://github.com/bnoordhuis"},{"name":"David Siegel","email":"david@artcom.de","url":"https://github.com/agnat"}],"devDependencies":{"bindings":"~1.2.1","node-gyp":"~1.0.2","tap":"~0.4.13","xtend":"~4.0.0"},"license":"MIT","gitHead":"6fea75acc8f78124756ff4d8e536b6196aca3d37","bugs":{"url":"https://github.com/rvagg/nan/issues"},"homepage":"https://github.com/rvagg/nan","_id":"nan@1.5.0","_shasum":"2b3c05bc361f52e50aea2c49077783aa67c5b7fb","_from":".","_npmVersion":"2.1.18","_nodeVersion":"0.11.14","_npmUser":{"name":"kkoopa","email":"bbyholm@abo.fi"},"maintainers":[{"name":"rvagg","email":"rod@vagg.org"},{"name":"kkoopa","email":"bbyholm@abo.fi"}],"dist":{"shasum":"2b3c05bc361f52e50aea2c49077783aa67c5b7fb","tarball":"http://localhost:4545/npm/registry/nan/nan-1.5.0.tgz","integrity":"sha512-BIYJxDTMPpLaZbM3CQumNaK1oLWPgPPdIKFFRAeGgRw8DKzValLmvEtaD3Zh4X4saGusMk1OzIsUHex3MW6bxw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC/ISEbxONPi5kaU41nQIf4GMCo72mRLJB1nLMM2utiIQIgO4cc2k6vFgrX9Mw+ugfpdbBodutJlczrVpFdSH0Llac="}]},"directories":{}},"1.4.2":{"name":"nan","version":"1.4.2","description":"Native Abstractions for Node.js: C++ header for Node 0.8->0.12 compatibility","main":"include_dirs.js","repository":{"type":"git","url":"git://github.com/rvagg/nan.git"},"scripts":{"test":"tap --gc test/js/*-test.js","rebuild-tests":"node-gyp rebuild --directory test"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"https://github.com/TooTallNate"},{"name":"Brett Lawson","email":"brett19@gmail.com","url":"https://github.com/brett19"},{"name":"Ben Noordhuis","email":"info@bnoordhuis.nl","url":"https://github.com/bnoordhuis"}],"devDependencies":{"bindings":"~1.2.1","node-gyp":"~1.0.2","tap":"~0.4.13","xtend":"~4.0.0"},"license":"MIT","gitHead":"769993a03894c421384564c1ea00a109667aede8","bugs":{"url":"https://github.com/rvagg/nan/issues"},"homepage":"https://github.com/rvagg/nan","_id":"nan@1.4.2","_shasum":"394c45ae2e3493a35f9adf96d33ee01098ff38d9","_from":".","_npmVersion":"2.1.6","_nodeVersion":"0.10.33","_npmUser":{"name":"rvagg","email":"rod@vagg.org"},"maintainers":[{"name":"rvagg","email":"rod@vagg.org"},{"name":"kkoopa","email":"bbyholm@abo.fi"}],"dist":{"shasum":"394c45ae2e3493a35f9adf96d33ee01098ff38d9","tarball":"http://localhost:4545/npm/registry/nan/nan-1.4.2.tgz","integrity":"sha512-UZzHh3KUotiaSR/5vx7d2Ju83dBxJCUZb4/kOJjFjvoazU+4RaKrR4p93Jc9wMjQXdAHztCFCZhE2OCDlRVfcw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDwj4Q27ylg3YqQsofQLXOxLW0opnnDz/3KmtZq1MENFAIhALTLR+v7G6jOqccMejzfnAp+neYfkvd66y73r7BPCJ7X"}]},"directories":{}},"1.4.3":{"name":"nan","version":"1.4.3","description":"Native Abstractions for Node.js: C++ header for Node 0.8->0.12 compatibility","main":"include_dirs.js","repository":{"type":"git","url":"git://github.com/rvagg/nan.git"},"scripts":{"test":"tap --gc test/js/*-test.js","rebuild-tests":"node-gyp rebuild --directory test"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"https://github.com/TooTallNate"},{"name":"Brett Lawson","email":"brett19@gmail.com","url":"https://github.com/brett19"},{"name":"Ben Noordhuis","email":"info@bnoordhuis.nl","url":"https://github.com/bnoordhuis"}],"devDependencies":{"bindings":"~1.2.1","node-gyp":"~1.0.2","tap":"~0.4.13","xtend":"~4.0.0"},"license":"MIT","gitHead":"75121a4413c4729170ec97c73c4826600f4a763e","bugs":{"url":"https://github.com/rvagg/nan/issues"},"homepage":"https://github.com/rvagg/nan","_id":"nan@1.4.3","_shasum":"c56b5404698063696f597435f9163c312aea5009","_from":".","_npmVersion":"2.1.6","_nodeVersion":"0.10.33","_npmUser":{"name":"rvagg","email":"rod@vagg.org"},"maintainers":[{"name":"rvagg","email":"rod@vagg.org"},{"name":"kkoopa","email":"bbyholm@abo.fi"}],"dist":{"shasum":"c56b5404698063696f597435f9163c312aea5009","tarball":"http://localhost:4545/npm/registry/nan/nan-1.4.3.tgz","integrity":"sha512-sZJUTDM4+nDMorRUb2WS0nv5ihun+xqlHhKgKCKi0s4nI/tj5NVHlEm13hEySdZ15iAORPaJ50Gv6yi93bPPIw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDtUlwK1wodZVI60y4ShDSdcHOMtEdOD0b4+Z42RnBboAiEA4GNCanyBnuK3SL8Nv44g2mZ9efZrK2mQd7p5mqv5X4s="}]},"directories":{}},"1.5.1":{"name":"nan","version":"1.5.1","description":"Native Abstractions for Node.js: C++ header for Node 0.8->0.12 compatibility","main":"include_dirs.js","repository":{"type":"git","url":"git://github.com/rvagg/nan.git"},"scripts":{"test":"tap --gc test/js/*-test.js","rebuild-tests":"node-gyp rebuild --directory test"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"https://github.com/TooTallNate"},{"name":"Brett Lawson","email":"brett19@gmail.com","url":"https://github.com/brett19"},{"name":"Ben Noordhuis","email":"info@bnoordhuis.nl","url":"https://github.com/bnoordhuis"},{"name":"David Siegel","email":"david@artcom.de","url":"https://github.com/agnat"}],"devDependencies":{"bindings":"~1.2.1","node-gyp":"~1.0.2","tap":"~0.4.13","xtend":"~4.0.0"},"license":"MIT","gitHead":"d05708b0aa6afebe9363b9f34cc5958d2af771f3","bugs":{"url":"https://github.com/rvagg/nan/issues"},"homepage":"https://github.com/rvagg/nan","_id":"nan@1.5.1","_shasum":"a565e4d4143cb49afdd3fe07e4c8aeaa1e7e0603","_from":".","_npmVersion":"2.1.6","_nodeVersion":"0.10.33","_npmUser":{"name":"rvagg","email":"rod@vagg.org"},"maintainers":[{"name":"rvagg","email":"rod@vagg.org"},{"name":"kkoopa","email":"bbyholm@abo.fi"}],"dist":{"shasum":"a565e4d4143cb49afdd3fe07e4c8aeaa1e7e0603","tarball":"http://localhost:4545/npm/registry/nan/nan-1.5.1.tgz","integrity":"sha512-c1qKzRC0PDlKysux3nZ5FIpBi88+k5ob6/HOk/XUMzjBKXpI7749zLmFCEdu/jAaKp8GZjyieaNzLeW4cuYNRg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHPmzesCEtiHbJIyxRrs1CHCA9hfrGZ27EFxx6zUxC/HAiEA2+kSb6tGHxR4YSqkw4cStFWdzpvAywEgne/Z+97AjWc="}]},"directories":{}},"1.5.2":{"name":"nan","version":"1.5.2","description":"Native Abstractions for Node.js: C++ header for Node 0.8->0.12 compatibility","main":"include_dirs.js","repository":{"type":"git","url":"git://github.com/rvagg/nan.git"},"scripts":{"test":"tap --gc test/js/*-test.js","rebuild-tests":"node-gyp rebuild --directory test"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"https://github.com/TooTallNate"},{"name":"Brett Lawson","email":"brett19@gmail.com","url":"https://github.com/brett19"},{"name":"Ben Noordhuis","email":"info@bnoordhuis.nl","url":"https://github.com/bnoordhuis"},{"name":"David Siegel","email":"david@artcom.de","url":"https://github.com/agnat"}],"devDependencies":{"bindings":"~1.2.1","node-gyp":"~1.0.2","tap":"~0.5.0","xtend":"~4.0.0"},"license":"MIT","gitHead":"f93a47f06efedd72b37c1a3250040aed496b6e8d","bugs":{"url":"https://github.com/rvagg/nan/issues"},"homepage":"https://github.com/rvagg/nan","_id":"nan@1.5.2","_shasum":"17da56116d035c6a25f18e9d6b356d4199744aa8","_from":".","_npmVersion":"2.0.0","_npmUser":{"name":"kkoopa","email":"bbyholm@abo.fi"},"maintainers":[{"name":"rvagg","email":"rod@vagg.org"},{"name":"kkoopa","email":"bbyholm@abo.fi"}],"dist":{"shasum":"17da56116d035c6a25f18e9d6b356d4199744aa8","tarball":"http://localhost:4545/npm/registry/nan/nan-1.5.2.tgz","integrity":"sha512-cLFab72kuTP9neuPpxJfs1527EDlyf+bwJRqeagLT+x0j9X0003Cj/RDhxw341ZBZWKhJxEfoHaz9UnOR8yTaQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGmcbiJs4yKKwoa1+GJlEwaRxRyp6P3xzm2U8z4C1C/oAiEA9SJHBqcaJDBGw1qje4PTSupR93MQuDCD24kieZkAjXo="}]},"directories":{}},"1.6.0":{"name":"nan","version":"1.6.0","description":"Native Abstractions for Node.js: C++ header for Node 0.8->0.12 compatibility","main":"include_dirs.js","repository":{"type":"git","url":"git://github.com/rvagg/nan.git"},"scripts":{"test":"tap --gc test/js/*-test.js","rebuild-tests":"node-gyp rebuild --directory test"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"https://github.com/TooTallNate"},{"name":"Brett Lawson","email":"brett19@gmail.com","url":"https://github.com/brett19"},{"name":"Ben Noordhuis","email":"info@bnoordhuis.nl","url":"https://github.com/bnoordhuis"},{"name":"David Siegel","email":"david@artcom.de","url":"https://github.com/agnat"}],"devDependencies":{"bindings":"~1.2.1","node-gyp":"~1.0.2","tap":"~0.5.0","xtend":"~4.0.0"},"license":"MIT","gitHead":"e4a76669d7ca47081bbf666434784e9bfbbb633b","bugs":{"url":"https://github.com/rvagg/nan/issues"},"homepage":"https://github.com/rvagg/nan","_id":"nan@1.6.0","_shasum":"a3b14a6608a31d9c2c062ca5f2c5ae77e9399f95","_from":".","_npmVersion":"2.0.0","_npmUser":{"name":"kkoopa","email":"bbyholm@abo.fi"},"maintainers":[{"name":"rvagg","email":"rod@vagg.org"},{"name":"kkoopa","email":"bbyholm@abo.fi"}],"dist":{"shasum":"a3b14a6608a31d9c2c062ca5f2c5ae77e9399f95","tarball":"http://localhost:4545/npm/registry/nan/nan-1.6.0.tgz","integrity":"sha512-mc/Rtr01XtAbZAd/fIo30oen92r33amo6X1HVexdrWLVFUHU+Iphz5J+dpQko8m3bKq7kNBDwMm4wWuxEcLbPw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCiZkoiJxawWCK7j8JPD22wor1UymG7qafr/JneEgvqFQIhAOl0K7uLJAjihAs97rLbkANymrTKaNiOMtND7VsqzoB1"}]},"directories":{}},"1.5.3":{"name":"nan","version":"1.5.3","description":"Native Abstractions for Node.js: C++ header for Node 0.8->0.12 compatibility","main":"include_dirs.js","repository":{"type":"git","url":"git://github.com/rvagg/nan.git"},"scripts":{"test":"tap --gc test/js/*-test.js","rebuild-tests":"node-gyp rebuild --directory test"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"https://github.com/TooTallNate"},{"name":"Brett Lawson","email":"brett19@gmail.com","url":"https://github.com/brett19"},{"name":"Ben Noordhuis","email":"info@bnoordhuis.nl","url":"https://github.com/bnoordhuis"},{"name":"David Siegel","email":"david@artcom.de","url":"https://github.com/agnat"}],"devDependencies":{"bindings":"~1.2.1","node-gyp":"~1.0.2","tap":"~0.5.0","xtend":"~4.0.0"},"license":"MIT","gitHead":"28ea7e1b769f790c69deaf141b47e4d41e176e8b","bugs":{"url":"https://github.com/rvagg/nan/issues"},"homepage":"https://github.com/rvagg/nan","_id":"nan@1.5.3","_shasum":"4cd0ecc133b7b0700a492a646add427ae8a318eb","_from":".","_npmVersion":"2.1.18","_nodeVersion":"1.0.3","_npmUser":{"name":"rvagg","email":"rod@vagg.org"},"maintainers":[{"name":"rvagg","email":"rod@vagg.org"},{"name":"kkoopa","email":"bbyholm@abo.fi"}],"dist":{"shasum":"4cd0ecc133b7b0700a492a646add427ae8a318eb","tarball":"http://localhost:4545/npm/registry/nan/nan-1.5.3.tgz","integrity":"sha512-bx4zL/LwIZ5vzB0VOSYQ/JEcFoLh3DR5Xr3EcegEdkt3P+8RN2jTcrS+2p6zR7A23twJkHDaajS+9lc7mMpaKQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDRtMyAlJIxbSwc4vYHA5IXU8exq2rQfdFLz1hdtnJVTQIhAK0snaSiFlBKjDdJU9635+eZg/sPLU7jzQjQtnvJUVby"}]},"directories":{}},"1.6.1":{"name":"nan","version":"1.6.1","description":"Native Abstractions for Node.js: C++ header for Node 0.8->0.12 compatibility","main":"include_dirs.js","repository":{"type":"git","url":"git://github.com/rvagg/nan.git"},"scripts":{"test":"tap --gc test/js/*-test.js","rebuild-tests":"node-gyp rebuild --directory test"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"https://github.com/TooTallNate"},{"name":"Brett Lawson","email":"brett19@gmail.com","url":"https://github.com/brett19"},{"name":"Ben Noordhuis","email":"info@bnoordhuis.nl","url":"https://github.com/bnoordhuis"},{"name":"David Siegel","email":"david@artcom.de","url":"https://github.com/agnat"}],"devDependencies":{"bindings":"~1.2.1","node-gyp":"~1.0.2","tap":"~0.5.0","xtend":"~4.0.0"},"license":"MIT","gitHead":"87c127bba328c8229f2e8e3875b19422888abe5f","bugs":{"url":"https://github.com/rvagg/nan/issues"},"homepage":"https://github.com/rvagg/nan","_id":"nan@1.6.1","_shasum":"69bc50b2d727f3df01145a963f7d2e4da5ff9184","_from":".","_npmVersion":"2.1.18","_nodeVersion":"1.0.3","_npmUser":{"name":"rvagg","email":"rod@vagg.org"},"maintainers":[{"name":"rvagg","email":"rod@vagg.org"},{"name":"kkoopa","email":"bbyholm@abo.fi"}],"dist":{"shasum":"69bc50b2d727f3df01145a963f7d2e4da5ff9184","tarball":"http://localhost:4545/npm/registry/nan/nan-1.6.1.tgz","integrity":"sha512-DnYggEsRq+Y8JLxEHtHAgRUHnINqpMQS6vocnaNPBX4DrkKAUapj0REzIKutr26KyawMu2F5obAGXT8a5o/P5A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCCWfPTd7CAe43swz1hEm3syw9xKURxFk+jm7JD1nhVLgIhAMO+MAymx9lUL01ifkIW//FVgYsgL2KQdyvfraRoBl+t"}]},"directories":{}},"1.6.2":{"name":"nan","version":"1.6.2","description":"Native Abstractions for Node.js: C++ header for Node 0.8->0.12 compatibility","main":"include_dirs.js","repository":{"type":"git","url":"git://github.com/rvagg/nan.git"},"scripts":{"test":"tap --gc test/js/*-test.js","rebuild-tests":"pangyp rebuild --directory test"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"https://github.com/TooTallNate"},{"name":"Brett Lawson","email":"brett19@gmail.com","url":"https://github.com/brett19"},{"name":"Ben Noordhuis","email":"info@bnoordhuis.nl","url":"https://github.com/bnoordhuis"},{"name":"David Siegel","email":"david@artcom.de","url":"https://github.com/agnat"}],"devDependencies":{"bindings":"~1.2.1","node-gyp":"~1.0.2","pangyp":"~2.0.1","tap":"~0.5.0","xtend":"~4.0.0"},"license":"MIT","gitHead":"ab0e5eed8d4aa36111bf8f44cf75644ece327e98","bugs":{"url":"https://github.com/rvagg/nan/issues"},"homepage":"https://github.com/rvagg/nan","_id":"nan@1.6.2","_shasum":"2657d1c43b00f1e847e083832285b7d8f5ba8ec8","_from":".","_npmVersion":"2.0.0","_npmUser":{"name":"kkoopa","email":"bbyholm@abo.fi"},"maintainers":[{"name":"rvagg","email":"rod@vagg.org"},{"name":"kkoopa","email":"bbyholm@abo.fi"}],"dist":{"shasum":"2657d1c43b00f1e847e083832285b7d8f5ba8ec8","tarball":"http://localhost:4545/npm/registry/nan/nan-1.6.2.tgz","integrity":"sha512-2k6Qbb1IebL65KNFFuR6h5jkcMSgn7o+6XXxLCLyWf5K0+/SniVYI7crdNLTE7lYOz/yYN8lP4qIwmjL6tm0qw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD92aNNXM8X2Z89YXVTtmXZxgSGFg3XakamLRqBqFR6hAIgNIvmGJk0PcrEyfvcYQEjkYfQpDnNoRyGIsu1Jyeq9Vk="}]},"directories":{}},"1.7.0":{"name":"nan","version":"1.7.0","description":"Native Abstractions for Node.js: C++ header for Node 0.8->0.12 compatibility","main":"include_dirs.js","repository":{"type":"git","url":"git://github.com/rvagg/nan.git"},"scripts":{"test":"tap --gc test/js/*-test.js","rebuild-tests":"pangyp rebuild --directory test"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"https://github.com/TooTallNate"},{"name":"Brett Lawson","email":"brett19@gmail.com","url":"https://github.com/brett19"},{"name":"Ben Noordhuis","email":"info@bnoordhuis.nl","url":"https://github.com/bnoordhuis"},{"name":"David Siegel","email":"david@artcom.de","url":"https://github.com/agnat"}],"devDependencies":{"bindings":"~1.2.1","node-gyp":"~1.0.2","pangyp":"~2.0.1","tap":"~0.5.0","xtend":"~4.0.0"},"license":"MIT","gitHead":"550efb5dde5cb6bf79db87ab48dce850e56e971a","bugs":{"url":"https://github.com/rvagg/nan/issues"},"homepage":"https://github.com/rvagg/nan","_id":"nan@1.7.0","_shasum":"755b997404e83cbe7bc08bc3c5c56291bce87438","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"kkoopa","email":"bbyholm@abo.fi"},"maintainers":[{"name":"rvagg","email":"rod@vagg.org"},{"name":"kkoopa","email":"bbyholm@abo.fi"}],"dist":{"shasum":"755b997404e83cbe7bc08bc3c5c56291bce87438","tarball":"http://localhost:4545/npm/registry/nan/nan-1.7.0.tgz","integrity":"sha512-QOnoQzrbpKmKWwa52gS93mGcIupR2MnlLbV66I5ddxscnyyPpy4is7yE2IG/nNOFHb1DbSYR61wYZEv4ukHdlA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH23o1yqp+2PMcRgyyqecwTXbA9qAI7G7AixK8x+zdBhAiEA0ge1lKuZWHD5xQS3TRNJTqkerqtSVMzgj9Kr9HvSl6U="}]},"directories":{}},"1.8.0":{"name":"nan","version":"1.8.0","description":"Native Abstractions for Node.js: C++ header for Node 0.8->0.12 compatibility","main":"include_dirs.js","repository":{"type":"git","url":"git://github.com/iojs/nan.git"},"scripts":{"test":"tap --gc test/js/*-test.js","rebuild-tests":"pangyp rebuild --directory test"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"https://github.com/TooTallNate"},{"name":"Brett Lawson","email":"brett19@gmail.com","url":"https://github.com/brett19"},{"name":"Ben Noordhuis","email":"info@bnoordhuis.nl","url":"https://github.com/bnoordhuis"},{"name":"David Siegel","email":"david@artcom.de","url":"https://github.com/agnat"}],"devDependencies":{"bindings":"~1.2.1","node-gyp":"~1.0.2","pangyp":"~2.0.1","tap":"~0.7.1","xtend":"~4.0.0"},"license":"MIT","gitHead":"2aef83e5b6b5f7a59bb0b5a820e55ce934eabbba","bugs":{"url":"https://github.com/iojs/nan/issues"},"homepage":"https://github.com/iojs/nan#readme","_id":"nan@1.8.0","_shasum":"0b46b0463a4b6439f72f5a2143775e69827e02e6","_from":".","_npmVersion":"2.8.3","_nodeVersion":"0.12.2","_npmUser":{"name":"kkoopa","email":"bbyholm@abo.fi"},"maintainers":[{"name":"rvagg","email":"rod@vagg.org"},{"name":"kkoopa","email":"bbyholm@abo.fi"}],"dist":{"shasum":"0b46b0463a4b6439f72f5a2143775e69827e02e6","tarball":"http://localhost:4545/npm/registry/nan/nan-1.8.0.tgz","integrity":"sha512-eh24nMYu6eqpReKEoQt4F6Xe+I2+6NFPEvQAfcAPoBdF72DnIonEjtifcIE0wOkIL4Yezw3wEzKhqmaCKqMpuw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDgEdSvJsRaLsQZY0pyngvlpSwGWv10oXN8/T5rRZu1ZAIgLwiWb+PtqMKWqiDlEmIjF7xt20or6nO8opWNOTjpZXY="}]},"directories":{}},"1.8.1":{"name":"nan","version":"1.8.1","description":"Native Abstractions for Node.js: C++ header for Node 0.8->0.12 compatibility","main":"include_dirs.js","repository":{"type":"git","url":"git://github.com/iojs/nan.git"},"scripts":{"test":"tap --gc test/js/*-test.js","rebuild-tests":"pangyp rebuild --directory test"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"https://github.com/TooTallNate"},{"name":"Brett Lawson","email":"brett19@gmail.com","url":"https://github.com/brett19"},{"name":"Ben Noordhuis","email":"info@bnoordhuis.nl","url":"https://github.com/bnoordhuis"},{"name":"David Siegel","email":"david@artcom.de","url":"https://github.com/agnat"}],"devDependencies":{"bindings":"~1.2.1","node-gyp":"~1.0.2","pangyp":"~2.0.1","tap":"~0.7.1","xtend":"~4.0.0"},"license":"MIT","gitHead":"2a07f672c08f8dd65aeb35d94df40f6e96126666","bugs":{"url":"https://github.com/iojs/nan/issues"},"homepage":"https://github.com/iojs/nan#readme","_id":"nan@1.8.1","_shasum":"6b2f119c88942f7e24f97b0cfde135ff96d4a66d","_from":".","_npmVersion":"2.8.3","_nodeVersion":"0.12.2","_npmUser":{"name":"kkoopa","email":"bbyholm@abo.fi"},"maintainers":[{"name":"rvagg","email":"rod@vagg.org"},{"name":"kkoopa","email":"bbyholm@abo.fi"}],"dist":{"shasum":"6b2f119c88942f7e24f97b0cfde135ff96d4a66d","tarball":"http://localhost:4545/npm/registry/nan/nan-1.8.1.tgz","integrity":"sha512-t2vBtSOI49G0IZl8C3+iaCjnmXJwvoP+rMSMOnXBb5h/kZ3XmK/Z+a5p3TabnZAXlH3fRrH76Yy6w323R8NA3g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCCzAbHCR5VLcNLDwFl8gRp1q9TeZt92t/S5mT6KcBQeQIgL0FOzbvLo8pOM7uEL0K6xoaBpHe0mmiYqG/LjUNzszI="}]},"directories":{}},"1.8.2":{"name":"nan","version":"1.8.2","description":"Native Abstractions for Node.js: C++ header for Node 0.8->0.12 compatibility","main":"include_dirs.js","repository":{"type":"git","url":"git://github.com/iojs/nan.git"},"scripts":{"test":"tap --gc test/js/*-test.js","rebuild-tests":"pangyp rebuild --directory test"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"https://github.com/TooTallNate"},{"name":"Brett Lawson","email":"brett19@gmail.com","url":"https://github.com/brett19"},{"name":"Ben Noordhuis","email":"info@bnoordhuis.nl","url":"https://github.com/bnoordhuis"},{"name":"David Siegel","email":"david@artcom.de","url":"https://github.com/agnat"}],"devDependencies":{"bindings":"~1.2.1","node-gyp":"~1.0.2","pangyp":"~2.0.1","tap":"~0.7.1","xtend":"~4.0.0"},"license":"MIT","gitHead":"76495edfd7b642532e6f9f412403e6e2392df94b","bugs":{"url":"https://github.com/iojs/nan/issues"},"homepage":"https://github.com/iojs/nan#readme","_id":"nan@1.8.2","_shasum":"131518535fa0c49e91f2d1a776f65bb04577dea0","_from":".","_npmVersion":"2.8.3","_nodeVersion":"0.12.2","_npmUser":{"name":"kkoopa","email":"bbyholm@abo.fi"},"maintainers":[{"name":"rvagg","email":"rod@vagg.org"},{"name":"kkoopa","email":"bbyholm@abo.fi"}],"dist":{"shasum":"131518535fa0c49e91f2d1a776f65bb04577dea0","tarball":"http://localhost:4545/npm/registry/nan/nan-1.8.2.tgz","integrity":"sha512-C6qK2RVlitnERNJsvBFRx/Mv73quOgzhrzml6Qn4cYvKXOJKbcz7xwPx5JgSjTfbCJeOZHyD2prftJxxtbUyJQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC0gupsDZu2eHztt6AlU4wxnh/rJTec7PVrpcp2ITyhDQIhAOIW6sQ/lSY1EkTcwVS51/dxQ05IGysbgM+2DO/8b/BY"}]},"directories":{}},"1.8.3":{"name":"nan","version":"1.8.3","description":"Native Abstractions for Node.js: C++ header for Node 0.8->0.12 compatibility","main":"include_dirs.js","repository":{"type":"git","url":"git://github.com/iojs/nan.git"},"scripts":{"test":"tap --gc test/js/*-test.js","rebuild-tests":"pangyp rebuild --directory test"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"https://github.com/TooTallNate"},{"name":"Brett Lawson","email":"brett19@gmail.com","url":"https://github.com/brett19"},{"name":"Ben Noordhuis","email":"info@bnoordhuis.nl","url":"https://github.com/bnoordhuis"},{"name":"David Siegel","email":"david@artcom.de","url":"https://github.com/agnat"}],"devDependencies":{"bindings":"~1.2.1","node-gyp":"~1.0.2","pangyp":"~2.0.1","tap":"~0.7.1","xtend":"~4.0.0"},"license":"MIT","gitHead":"93784ad3aa9355b515bdd7efaceb67b42140b8f2","bugs":{"url":"https://github.com/iojs/nan/issues"},"homepage":"https://github.com/iojs/nan#readme","_id":"nan@1.8.3","_shasum":"2f4ec4932c7a2250b5ef4b4597fc5e76af021229","_from":".","_npmVersion":"2.8.3","_nodeVersion":"0.12.2","_npmUser":{"name":"kkoopa","email":"bbyholm@abo.fi"},"maintainers":[{"name":"rvagg","email":"rod@vagg.org"},{"name":"kkoopa","email":"bbyholm@abo.fi"}],"dist":{"shasum":"2f4ec4932c7a2250b5ef4b4597fc5e76af021229","tarball":"http://localhost:4545/npm/registry/nan/nan-1.8.3.tgz","integrity":"sha512-cbNSZMqO5i3u499SXLxUHJvUIzibmxfsWEgCGBEdWvsQ7IsaCxeXIxYe4MzjVA4AutRFrDxie9Ih6sTxmf/OIg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHYT0/IeWJMzN5nLHYQxoJlQMID2yrQq2S0TIqWYuUAYAiEAmZzdFTUdopnYECSXLW/eDwebVTdjC7BcmsaspseOPxQ="}]},"directories":{}},"1.8.4":{"name":"nan","version":"1.8.4","description":"Native Abstractions for Node.js: C++ header for Node 0.8->0.12 compatibility","main":"include_dirs.js","repository":{"type":"git","url":"git://github.com/iojs/nan.git"},"scripts":{"test":"tap --gc test/js/*-test.js","rebuild-tests":"pangyp rebuild --directory test"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"https://github.com/TooTallNate"},{"name":"Brett Lawson","email":"brett19@gmail.com","url":"https://github.com/brett19"},{"name":"Ben Noordhuis","email":"info@bnoordhuis.nl","url":"https://github.com/bnoordhuis"},{"name":"David Siegel","email":"david@artcom.de","url":"https://github.com/agnat"}],"devDependencies":{"bindings":"~1.2.1","node-gyp":"~1.0.2","pangyp":"~2.0.1","tap":"~0.7.1","xtend":"~4.0.0"},"license":"MIT","gitHead":"ed3bbf4ced0cf7937b4e4164766797f71aa97f3d","bugs":{"url":"https://github.com/iojs/nan/issues"},"homepage":"https://github.com/iojs/nan#readme","_id":"nan@1.8.4","_shasum":"3c76b5382eab33e44b758d2813ca9d92e9342f34","_from":".","_npmVersion":"2.8.3","_nodeVersion":"0.12.2","_npmUser":{"name":"kkoopa","email":"bbyholm@abo.fi"},"maintainers":[{"name":"rvagg","email":"rod@vagg.org"},{"name":"kkoopa","email":"bbyholm@abo.fi"}],"dist":{"shasum":"3c76b5382eab33e44b758d2813ca9d92e9342f34","tarball":"http://localhost:4545/npm/registry/nan/nan-1.8.4.tgz","integrity":"sha512-609zQ1h3ApgH/94qmbbEklSrjcYYXCHnsWk4MAojq4OUk3tidhDYhPaMasMFKsZPZ96r4eQA1hbR2W4H7/77XA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGXbVgTXN1c4oe2ipHjcb2N6VUHkLvMr6iRLXh+FN1CDAiEAw85sdPUV6l/5Mqo7iGevQvvlxFESv2ZGcvEPq1YaaD4="}]},"directories":{}},"1.9.0":{"name":"nan","version":"1.9.0","description":"Native Abstractions for Node.js: C++ header for Node 0.8->0.12 compatibility","main":"include_dirs.js","repository":{"type":"git","url":"git://github.com/nodejs/nan.git"},"scripts":{"test":"tap --gc test/js/*-test.js","rebuild-tests":"pangyp rebuild --msvs_version=2013 --directory test"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"https://github.com/TooTallNate"},{"name":"Brett Lawson","email":"brett19@gmail.com","url":"https://github.com/brett19"},{"name":"Ben Noordhuis","email":"info@bnoordhuis.nl","url":"https://github.com/bnoordhuis"},{"name":"David Siegel","email":"david@artcom.de","url":"https://github.com/agnat"}],"devDependencies":{"bindings":"~1.2.1","node-gyp":"~2.0.2","pangyp":"~2.2.0","tap":"~0.7.1","xtend":"~4.0.0"},"license":"MIT","gitHead":"399b3a54ada39a7cf7a11978ea727eae3686666e","bugs":{"url":"https://github.com/nodejs/nan/issues"},"homepage":"https://github.com/nodejs/nan#readme","_id":"nan@1.9.0","_shasum":"1a9cd2755609766f5c291e4194fce39fde286515","_from":".","_npmVersion":"2.13.3","_nodeVersion":"0.12.2","_npmUser":{"name":"kkoopa","email":"bbyholm@abo.fi"},"maintainers":[{"name":"rvagg","email":"rod@vagg.org"},{"name":"kkoopa","email":"bbyholm@abo.fi"}],"dist":{"shasum":"1a9cd2755609766f5c291e4194fce39fde286515","tarball":"http://localhost:4545/npm/registry/nan/nan-1.9.0.tgz","integrity":"sha512-piQCQCuCG3N+cx9/izRvyYZsr7EbTgOxEJACZ5Ag1jhPHT2cCiMKiOARYkRTkkCJOgD6HAhVxuR/m4hp/F54pQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCFtweytmNzdUGZ8l9kB1S025RzZVF8qC4BNWD/95wLsAIgNYVyjxiL4kOeMsHO7/W+Kw54Cdr1CuIzgZi6m/011Ck="}]},"directories":{}},"2.0.0":{"name":"nan","version":"2.0.0","description":"Native Abstractions for Node.js: C++ header for Node 0.8->0.12 compatibility","main":"include_dirs.js","repository":{"type":"git","url":"git://github.com/nodejs/nan.git"},"scripts":{"test":"tap --gc test/js/*-test.js","rebuild-tests":"pangyp rebuild --msvs_version=2013 --directory test","docs":"doc/.build.sh"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"https://github.com/TooTallNate"},{"name":"Brett Lawson","email":"brett19@gmail.com","url":"https://github.com/brett19"},{"name":"Ben Noordhuis","email":"info@bnoordhuis.nl","url":"https://github.com/bnoordhuis"},{"name":"David Siegel","email":"david@artcom.de","url":"https://github.com/agnat"}],"devDependencies":{"bindings":"~1.2.1","node-gyp":"~2.0.2","pangyp":"~2.2.0","tap":"~0.7.1","xtend":"~4.0.0"},"license":"MIT","gitHead":"4ed41d760313b648b4d212d6ff5374668757be4f","bugs":{"url":"https://github.com/nodejs/nan/issues"},"homepage":"https://github.com/nodejs/nan#readme","_id":"nan@2.0.0","_shasum":"bcdd32340befef23a588ea66b2f38902a2b82e42","_from":".","_npmVersion":"2.13.3","_nodeVersion":"0.12.2","_npmUser":{"name":"kkoopa","email":"bbyholm@abo.fi"},"maintainers":[{"name":"rvagg","email":"rod@vagg.org"},{"name":"kkoopa","email":"bbyholm@abo.fi"}],"dist":{"shasum":"bcdd32340befef23a588ea66b2f38902a2b82e42","tarball":"http://localhost:4545/npm/registry/nan/nan-2.0.0.tgz","integrity":"sha512-UrwEh19bB+HlrWAu20nTDMAKWiwHb6j1HflcLjgkJTxMeMCoPYkCM/o9xEgnZF1jyGB28ku5Pcsv6AGI9mlDCw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID8kdvojzo/gA1fqUdPxjKIXe8aayHHDe1V6g0wwRbs6AiBtTlxToeoPvX/9Jf7ArX0mlvNTMvX9AiXV2cU2XhnDpw=="}]},"directories":{}},"2.0.1":{"name":"nan","version":"2.0.1","description":"Native Abstractions for Node.js: C++ header for Node 0.8->0.12 compatibility","main":"include_dirs.js","repository":{"type":"git","url":"git://github.com/nodejs/nan.git"},"scripts":{"test":"tap --gc test/js/*-test.js","rebuild-tests":"pangyp rebuild --msvs_version=2013 --directory test","docs":"doc/.build.sh"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"https://github.com/TooTallNate"},{"name":"Brett Lawson","email":"brett19@gmail.com","url":"https://github.com/brett19"},{"name":"Ben Noordhuis","email":"info@bnoordhuis.nl","url":"https://github.com/bnoordhuis"},{"name":"David Siegel","email":"david@artcom.de","url":"https://github.com/agnat"}],"devDependencies":{"bindings":"~1.2.1","node-gyp":"~2.0.2","pangyp":"~2.2.0","tap":"~0.7.1","xtend":"~4.0.0"},"license":"MIT","gitHead":"b8bfceff634d009fbc399bbae4321afecf5f2254","bugs":{"url":"https://github.com/nodejs/nan/issues"},"homepage":"https://github.com/nodejs/nan#readme","_id":"nan@2.0.1","_shasum":"acbeda51fbff253fe1438f71c6df758a58a6c30b","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.7","_npmUser":{"name":"kkoopa","email":"bbyholm@abo.fi"},"maintainers":[{"name":"rvagg","email":"rod@vagg.org"},{"name":"kkoopa","email":"bbyholm@abo.fi"}],"dist":{"shasum":"acbeda51fbff253fe1438f71c6df758a58a6c30b","tarball":"http://localhost:4545/npm/registry/nan/nan-2.0.1.tgz","integrity":"sha512-OypWxJ/TT1w2JikvtU+uPbR9KRJYTrB8f0kgMnM/ZDMpi8xXKsD4gSIZqy/F+iLfyHPBDPMuT+iG+zO8XXtu1w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD/fjFstn4YIOhpEjKf0hFes6of2wzpFWj9wrpQzqsnIQIgGdztD+qYeVc5cPa0AckRTzrMMFw/7cTDCbEP6OZ5vF0="}]},"directories":{}},"2.0.2":{"name":"nan","version":"2.0.2","description":"Native Abstractions for Node.js: C++ header for Node 0.8->0.12 compatibility","main":"include_dirs.js","repository":{"type":"git","url":"git://github.com/nodejs/nan.git"},"scripts":{"test":"tap --gc test/js/*-test.js","rebuild-tests":"pangyp rebuild --msvs_version=2013 --directory test","docs":"doc/.build.sh"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"https://github.com/TooTallNate"},{"name":"Brett Lawson","email":"brett19@gmail.com","url":"https://github.com/brett19"},{"name":"Ben Noordhuis","email":"info@bnoordhuis.nl","url":"https://github.com/bnoordhuis"},{"name":"David Siegel","email":"david@artcom.de","url":"https://github.com/agnat"}],"devDependencies":{"bindings":"~1.2.1","node-gyp":"~2.0.2","pangyp":"~2.2.0","tap":"~0.7.1","xtend":"~4.0.0"},"license":"MIT","gitHead":"e6fe13be317181468258cf6e1724efcf4482d44a","bugs":{"url":"https://github.com/nodejs/nan/issues"},"homepage":"https://github.com/nodejs/nan#readme","_id":"nan@2.0.2","_shasum":"326b3076add027caa3878aa68aef18516694d9ec","_from":".","_npmVersion":"2.13.3","_nodeVersion":"3.0.0","_npmUser":{"name":"kkoopa","email":"bbyholm@abo.fi"},"maintainers":[{"name":"rvagg","email":"rod@vagg.org"},{"name":"kkoopa","email":"bbyholm@abo.fi"}],"dist":{"shasum":"326b3076add027caa3878aa68aef18516694d9ec","tarball":"http://localhost:4545/npm/registry/nan/nan-2.0.2.tgz","integrity":"sha512-InDXitmZQCW/ZzHMqns1XeCSfw+VMfssZiQatuBm2KNBThW75BwP23csnFiY4XTf4cqlTYEBUKEGSHBjE55sVg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCILUvY+pWc46XKF2Yta2UA4E1A+9uU9CsaucO1peZwAQIgIrRGMhrArlta9gOZtUfn+pfDDWjCUdy/9rBRr+HiMGs="}]},"directories":{}},"2.0.3":{"name":"nan","version":"2.0.3","description":"Native Abstractions for Node.js: C++ header for Node 0.8->0.12 compatibility","main":"include_dirs.js","repository":{"type":"git","url":"git://github.com/nodejs/nan.git"},"scripts":{"test":"tap --gc test/js/*-test.js","rebuild-tests":"pangyp rebuild --msvs_version=2013 --directory test","docs":"doc/.build.sh"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"https://github.com/TooTallNate"},{"name":"Brett Lawson","email":"brett19@gmail.com","url":"https://github.com/brett19"},{"name":"Ben Noordhuis","email":"info@bnoordhuis.nl","url":"https://github.com/bnoordhuis"},{"name":"David Siegel","email":"david@artcom.de","url":"https://github.com/agnat"}],"devDependencies":{"bindings":"~1.2.1","node-gyp":"~2.0.2","pangyp":"~2.2.0","tap":"~0.7.1","xtend":"~4.0.0"},"license":"MIT","gitHead":"719ba85039fc9fe3ca169c2eade76d250f0f208a","bugs":{"url":"https://github.com/nodejs/nan/issues"},"homepage":"https://github.com/nodejs/nan#readme","_id":"nan@2.0.3","_shasum":"39252b7a399715750b76abc3c4625076a5420a51","_from":".","_npmVersion":"2.13.3","_nodeVersion":"3.0.0","_npmUser":{"name":"kkoopa","email":"bbyholm@abo.fi"},"maintainers":[{"name":"rvagg","email":"rod@vagg.org"},{"name":"kkoopa","email":"bbyholm@abo.fi"}],"dist":{"shasum":"39252b7a399715750b76abc3c4625076a5420a51","tarball":"http://localhost:4545/npm/registry/nan/nan-2.0.3.tgz","integrity":"sha512-3bw9KEozh0mi08hv79qYTsG3lKRKPV8UA2ziG7h7Wv+k/65uoC7XoIc2MXcbmExzIuQysvJfdRDxCMZRN21AjQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBN6vAKqXvZcA+PQtIcDPTehQgC2A/F/303EoAbwZynGAiEA1mpNeSRKhygwIS1EGJXTAgLBE1sNwzr/MWUxgka6Jr4="}]},"directories":{}},"2.0.4":{"name":"nan","version":"2.0.4","description":"Native Abstractions for Node.js: C++ header for Node 0.8->0.12 compatibility","main":"include_dirs.js","repository":{"type":"git","url":"git://github.com/nodejs/nan.git"},"scripts":{"test":"tap --gc test/js/*-test.js","rebuild-tests":"pangyp rebuild --msvs_version=2013 --directory test","docs":"doc/.build.sh"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"https://github.com/TooTallNate"},{"name":"Brett Lawson","email":"brett19@gmail.com","url":"https://github.com/brett19"},{"name":"Ben Noordhuis","email":"info@bnoordhuis.nl","url":"https://github.com/bnoordhuis"},{"name":"David Siegel","email":"david@artcom.de","url":"https://github.com/agnat"}],"devDependencies":{"bindings":"~1.2.1","node-gyp":"~2.0.2","pangyp":"~2.2.0","tap":"~0.7.1","xtend":"~4.0.0"},"license":"MIT","gitHead":"736a7d4f1692591d9256b88ed5484736134bd107","bugs":{"url":"https://github.com/nodejs/nan/issues"},"homepage":"https://github.com/nodejs/nan#readme","_id":"nan@2.0.4","_shasum":"f81d4c18aa3c8300dec2f336c52fb827cadfa719","_from":".","_npmVersion":"2.13.3","_nodeVersion":"3.0.0","_npmUser":{"name":"kkoopa","email":"bbyholm@abo.fi"},"maintainers":[{"name":"rvagg","email":"rod@vagg.org"},{"name":"kkoopa","email":"bbyholm@abo.fi"}],"dist":{"shasum":"f81d4c18aa3c8300dec2f336c52fb827cadfa719","tarball":"http://localhost:4545/npm/registry/nan/nan-2.0.4.tgz","integrity":"sha512-HMNT7x22EVlHTT1x/+lzYIOI6Ug0FSEttSVHBk8SfVDmKtDraWVsfJRuIWDgpqVc1SNqEdkZuCMAjCBiWz5R6A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDT7OIxcWyVbscy/EqUsCEmC49mAqmma8ouYlC0IUlgRgIgJC028/nJ+fYhVXCj+W5Q71p/j2rVvVLgcCOufrKCvXk="}]},"directories":{}},"2.0.5":{"name":"nan","version":"2.0.5","description":"Native Abstractions for Node.js: C++ header for Node 0.8->0.12 compatibility","main":"include_dirs.js","repository":{"type":"git","url":"git://github.com/nodejs/nan.git"},"scripts":{"test":"tap --gc test/js/*-test.js","rebuild-tests":"pangyp rebuild --msvs_version=2013 --directory test","docs":"doc/.build.sh"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"https://github.com/TooTallNate"},{"name":"Brett Lawson","email":"brett19@gmail.com","url":"https://github.com/brett19"},{"name":"Ben Noordhuis","email":"info@bnoordhuis.nl","url":"https://github.com/bnoordhuis"},{"name":"David Siegel","email":"david@artcom.de","url":"https://github.com/agnat"}],"devDependencies":{"bindings":"~1.2.1","node-gyp":"~2.0.2","pangyp":"~2.2.0","tap":"~0.7.1","xtend":"~4.0.0"},"license":"MIT","gitHead":"d13a2e9ce762fd130877b53c71d35963fa2cf689","bugs":{"url":"https://github.com/nodejs/nan/issues"},"homepage":"https://github.com/nodejs/nan#readme","_id":"nan@2.0.5","_shasum":"365888014be1fd178db0cbfa258edf7b0cb1c408","_from":".","_npmVersion":"2.13.3","_nodeVersion":"3.0.0","_npmUser":{"name":"kkoopa","email":"bbyholm@abo.fi"},"maintainers":[{"name":"rvagg","email":"rod@vagg.org"},{"name":"kkoopa","email":"bbyholm@abo.fi"}],"dist":{"shasum":"365888014be1fd178db0cbfa258edf7b0cb1c408","tarball":"http://localhost:4545/npm/registry/nan/nan-2.0.5.tgz","integrity":"sha512-NkETl8SYi9UygsNaQNN+ZkEPpb4TY9qEMp9MJvxKFmyl6Lid++oKf0UETvAZ6SFwZ/z1vUOLTic3/CXF5fGM+w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDPiP1oGEckD5fi5bWS6WgpkDAD6RfgHH9u5LCwz8UnNwIgMTJ9P8Vune4ogOdpNmlvd9OgbS88NbAEIwx0T3kQnHE="}]},"directories":{}},"2.0.6":{"name":"nan","version":"2.0.6","description":"Native Abstractions for Node.js: C++ header for Node 0.8->0.12 compatibility","main":"include_dirs.js","repository":{"type":"git","url":"git://github.com/nodejs/nan.git"},"scripts":{"test":"tap --gc test/js/*-test.js","rebuild-tests":"pangyp rebuild --msvs_version=2013 --directory test","docs":"doc/.build.sh"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"https://github.com/TooTallNate"},{"name":"Brett Lawson","email":"brett19@gmail.com","url":"https://github.com/brett19"},{"name":"Ben Noordhuis","email":"info@bnoordhuis.nl","url":"https://github.com/bnoordhuis"},{"name":"David Siegel","email":"david@artcom.de","url":"https://github.com/agnat"}],"devDependencies":{"bindings":"~1.2.1","commander":"^2.8.1","glob":"^5.0.14","node-gyp":"~2.0.2","pangyp":"~2.2.0","tap":"~0.7.1","xtend":"~4.0.0"},"license":"MIT","gitHead":"b6bc21134b818708db918b62d7764ea713f46d52","bugs":{"url":"https://github.com/nodejs/nan/issues"},"homepage":"https://github.com/nodejs/nan#readme","_id":"nan@2.0.6","_shasum":"1bf60f2a4f91da0d426516f136f51725a092c316","_from":".","_npmVersion":"2.13.3","_nodeVersion":"3.0.0","_npmUser":{"name":"kkoopa","email":"bbyholm@abo.fi"},"maintainers":[{"name":"rvagg","email":"rod@vagg.org"},{"name":"kkoopa","email":"bbyholm@abo.fi"}],"dist":{"shasum":"1bf60f2a4f91da0d426516f136f51725a092c316","tarball":"http://localhost:4545/npm/registry/nan/nan-2.0.6.tgz","integrity":"sha512-A3Fm4JG5o/+yrzE7C0yIDmqnM3ZHdbAOYushb1fihI+27QAAGKk9k5MUCMBp0vQkApugacQWEHroVTCgK+CSOA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFVLXUOuQ8A8jieftXOp+vsTWb29nF/VuzIEIhc+IpHsAiAPr8iwmU0hBJ5tHXr4XXF9bAh6gjEFBW2t8kg+A+h3rQ=="}]},"directories":{}},"2.0.7":{"name":"nan","version":"2.0.7","description":"Native Abstractions for Node.js: C++ header for Node 0.8->0.12 compatibility","main":"include_dirs.js","repository":{"type":"git","url":"git://github.com/nodejs/nan.git"},"scripts":{"test":"tap --gc test/js/*-test.js","rebuild-tests":"pangyp rebuild --msvs_version=2013 --directory test","docs":"doc/.build.sh"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"https://github.com/TooTallNate"},{"name":"Brett Lawson","email":"brett19@gmail.com","url":"https://github.com/brett19"},{"name":"Ben Noordhuis","email":"info@bnoordhuis.nl","url":"https://github.com/bnoordhuis"},{"name":"David Siegel","email":"david@artcom.de","url":"https://github.com/agnat"}],"devDependencies":{"bindings":"~1.2.1","commander":"^2.8.1","glob":"^5.0.14","node-gyp":"~2.0.2","pangyp":"~2.2.0","tap":"~0.7.1","xtend":"~4.0.0"},"license":"MIT","gitHead":"c68f4bee08ceca279f264903f2b91b54e6e5e168","bugs":{"url":"https://github.com/nodejs/nan/issues"},"homepage":"https://github.com/nodejs/nan#readme","_id":"nan@2.0.7","_shasum":"c726ce45dbd863b46234e4dfe5bf02d0cb309cd8","_from":".","_npmVersion":"2.13.3","_nodeVersion":"3.0.0","_npmUser":{"name":"kkoopa","email":"bbyholm@abo.fi"},"maintainers":[{"name":"rvagg","email":"rod@vagg.org"},{"name":"kkoopa","email":"bbyholm@abo.fi"}],"dist":{"shasum":"c726ce45dbd863b46234e4dfe5bf02d0cb309cd8","tarball":"http://localhost:4545/npm/registry/nan/nan-2.0.7.tgz","integrity":"sha512-f13apYZUwD9j1SixHsN+7YCLTjCuxihIisoVSD+xZBUdsDbPa7+tbihVEziKzj94bv9ki16eSFk/KTm0slnEzw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAJr5IY9Izi5CmPWD/DgE+yMHi3NFie0Dg/Y+I3faQcVAiAjCWMcI2b1A1mtY948tlzrhTcTjrf+1NgGY1mTR2ShrQ=="}]},"directories":{}},"2.0.8":{"name":"nan","version":"2.0.8","description":"Native Abstractions for Node.js: C++ header for Node 0.8->0.12 compatibility","main":"include_dirs.js","repository":{"type":"git","url":"git://github.com/nodejs/nan.git"},"scripts":{"test":"tap --gc test/js/*-test.js","rebuild-tests":"pangyp rebuild --msvs_version=2013 --directory test","docs":"doc/.build.sh"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"https://github.com/TooTallNate"},{"name":"Brett Lawson","email":"brett19@gmail.com","url":"https://github.com/brett19"},{"name":"Ben Noordhuis","email":"info@bnoordhuis.nl","url":"https://github.com/bnoordhuis"},{"name":"David Siegel","email":"david@artcom.de","url":"https://github.com/agnat"}],"devDependencies":{"bindings":"~1.2.1","commander":"^2.8.1","glob":"^5.0.14","node-gyp":"~2.0.2","pangyp":"~2.2.0","tap":"~0.7.1","xtend":"~4.0.0"},"license":"MIT","gitHead":"505803bbd83dbd43c06e179b78b690e52e17d317","bugs":{"url":"https://github.com/nodejs/nan/issues"},"homepage":"https://github.com/nodejs/nan#readme","_id":"nan@2.0.8","_shasum":"c15fd99dd4cc323d1c2f94ac426313680e606392","_from":".","_npmVersion":"2.13.3","_nodeVersion":"3.2.0","_npmUser":{"name":"kkoopa","email":"bbyholm@abo.fi"},"maintainers":[{"name":"rvagg","email":"rod@vagg.org"},{"name":"kkoopa","email":"bbyholm@abo.fi"}],"dist":{"shasum":"c15fd99dd4cc323d1c2f94ac426313680e606392","tarball":"http://localhost:4545/npm/registry/nan/nan-2.0.8.tgz","integrity":"sha512-8TH9gfaYj3F26VSFkW3njLCMaqmVGK0EQl8SoEOUXAfRtrlyXZjVEiYIvfdtuUYFz/sPedPATvvWBGnJmRPfXg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDaPGkgFXd+gIMtRgAcAeEEI+ayIPS2UDBPWGMiW2p/NgIgGZHDr9pxOKnM+cZ5pYzoWHYUdJCJsewaLmagkYq+UJQ="}]},"directories":{}},"2.0.9":{"name":"nan","version":"2.0.9","description":"Native Abstractions for Node.js: C++ header for Node 0.8 -> 4 compatibility","main":"include_dirs.js","repository":{"type":"git","url":"git://github.com/nodejs/nan.git"},"scripts":{"test":"tap --gc test/js/*-test.js","rebuild-tests":"pangyp rebuild --msvs_version=2013 --directory test","docs":"doc/.build.sh"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"https://github.com/TooTallNate"},{"name":"Brett Lawson","email":"brett19@gmail.com","url":"https://github.com/brett19"},{"name":"Ben Noordhuis","email":"info@bnoordhuis.nl","url":"https://github.com/bnoordhuis"},{"name":"David Siegel","email":"david@artcom.de","url":"https://github.com/agnat"}],"devDependencies":{"bindings":"~1.2.1","commander":"^2.8.1","glob":"^5.0.14","node-gyp":"~2.0.2","pangyp":"~2.2.0","tap":"~0.7.1","xtend":"~4.0.0"},"license":"MIT","bugs":{"url":"https://github.com/nodejs/nan/issues"},"homepage":"https://github.com/nodejs/nan#readme","_id":"nan@2.0.9","_shasum":"d02a770f46778842cceb94e17cab31ffc7234a05","_resolved":"file:nan-2.0.9.tgz","_from":"nan-2.0.9.tgz","_npmVersion":"2.14.2","_nodeVersion":"4.0.0","_npmUser":{"name":"kkoopa","email":"bbyholm@abo.fi"},"maintainers":[{"name":"rvagg","email":"rod@vagg.org"},{"name":"kkoopa","email":"bbyholm@abo.fi"}],"dist":{"shasum":"d02a770f46778842cceb94e17cab31ffc7234a05","tarball":"http://localhost:4545/npm/registry/nan/nan-2.0.9.tgz","integrity":"sha512-n/DwWW228mhTWvHPMbewAgQadftYbZxrvC674Vv/rnpptpLxpOFL65wBrndtm+cpYs06OjqVCM76iIS0PDWfzA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGPrL+okRw5UOIu7WU+/aBmN8N2T7dTZ7ruv7lH7i8vhAiA2wOtXPpg/mLAExc+w0nSrY9h4cq8Wr9qWhG2H85p+nw=="}]},"directories":{}},"2.1.0":{"name":"nan","version":"2.1.0","description":"Native Abstractions for Node.js: C++ header for Node 0.8 -> 4 compatibility","main":"include_dirs.js","repository":{"type":"git","url":"git://github.com/nodejs/nan.git"},"scripts":{"test":"tap --gc test/js/*-test.js","rebuild-tests":"node-gyp rebuild --msvs_version=2013 --directory test","docs":"doc/.build.sh"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"https://github.com/TooTallNate"},{"name":"Brett Lawson","email":"brett19@gmail.com","url":"https://github.com/brett19"},{"name":"Ben Noordhuis","email":"info@bnoordhuis.nl","url":"https://github.com/bnoordhuis"},{"name":"David Siegel","email":"david@artcom.de","url":"https://github.com/agnat"}],"devDependencies":{"bindings":"~1.2.1","commander":"^2.8.1","glob":"^5.0.14","node-gyp":"~3.0.1","tap":"~0.7.1","xtend":"~4.0.0"},"license":"MIT","bugs":{"url":"https://github.com/nodejs/nan/issues"},"homepage":"https://github.com/nodejs/nan#readme","_id":"nan@2.1.0","_shasum":"020a7ccedc63fdee85f85967d5607849e74abbe8","_resolved":"file:nan-2.1.0.tgz","_from":"nan-2.1.0.tgz","_npmVersion":"3.3.5","_nodeVersion":"4.1.2","_npmUser":{"name":"kkoopa","email":"bbyholm@abo.fi"},"dist":{"shasum":"020a7ccedc63fdee85f85967d5607849e74abbe8","tarball":"http://localhost:4545/npm/registry/nan/nan-2.1.0.tgz","integrity":"sha512-JeVtkKWF38ENQcoPKBtV1FO/Z2FcupFE2NZytXjjWaKYNyy2QXbzBouGAOlQ/vO+as7r4QM5w7ZJrkh3d6uaTg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCjM2DGJbu8fu2eO9LplUC+yXRlXEmgz3IMEvnn1tXkHwIgFFElSReruvmZyhHGp+F5YAeEV5QHYIC0A72F1bdOdAA="}]},"maintainers":[{"name":"rvagg","email":"rod@vagg.org"},{"name":"kkoopa","email":"bbyholm@abo.fi"}],"directories":{}},"2.2.0":{"name":"nan","version":"2.2.0","description":"Native Abstractions for Node.js: C++ header for Node 0.8 -> 4 compatibility","main":"include_dirs.js","repository":{"type":"git","url":"git://github.com/nodejs/nan.git"},"scripts":{"test":"tap --gc test/js/*-test.js","rebuild-tests":"node-gyp rebuild --msvs_version=2013 --directory test","docs":"doc/.build.sh"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"https://github.com/TooTallNate"},{"name":"Brett Lawson","email":"brett19@gmail.com","url":"https://github.com/brett19"},{"name":"Ben Noordhuis","email":"info@bnoordhuis.nl","url":"https://github.com/bnoordhuis"},{"name":"David Siegel","email":"david@artcom.de","url":"https://github.com/agnat"}],"devDependencies":{"bindings":"~1.2.1","commander":"^2.8.1","glob":"^5.0.14","node-gyp":"~3.0.1","tap":"~0.7.1","xtend":"~4.0.0"},"license":"MIT","bugs":{"url":"https://github.com/nodejs/nan/issues"},"homepage":"https://github.com/nodejs/nan#readme","_id":"nan@2.2.0","_shasum":"779c07135629503cf6a7b7e6aab33049b3c3853c","_resolved":"file:nan-2.2.0.tgz","_from":"nan-2.2.0.tgz","_npmVersion":"3.3.6","_nodeVersion":"5.0.0","_npmUser":{"name":"kkoopa","email":"bbyholm@abo.fi"},"dist":{"shasum":"779c07135629503cf6a7b7e6aab33049b3c3853c","tarball":"http://localhost:4545/npm/registry/nan/nan-2.2.0.tgz","integrity":"sha512-yvXSs1wSGktjWKsJ4FZz5OEgIx7eJnu5HFq5H1xYegQlBW26xI2mzfNwQINFn7mlE+Z+v0Yh57/rh2ZZLluuvQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC+LC/0XpstAL8PubyHwOhlX+KJa0Ci16SlrnZzxGlWcAIgCMkYiij0D+1t0iW7qGUHCfvSsKkR4lOfEzkrXzKzyC4="}]},"maintainers":[{"name":"rvagg","email":"rod@vagg.org"},{"name":"kkoopa","email":"bbyholm@abo.fi"}],"directories":{}},"2.2.1":{"name":"nan","version":"2.2.1","description":"Native Abstractions for Node.js: C++ header for Node 0.8 -> 4 compatibility","main":"include_dirs.js","repository":{"type":"git","url":"git://github.com/nodejs/nan.git"},"scripts":{"test":"tap --gc test/js/*-test.js","rebuild-tests":"node-gyp rebuild --msvs_version=2013 --directory test","docs":"doc/.build.sh"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"https://github.com/TooTallNate"},{"name":"Brett Lawson","email":"brett19@gmail.com","url":"https://github.com/brett19"},{"name":"Ben Noordhuis","email":"info@bnoordhuis.nl","url":"https://github.com/bnoordhuis"},{"name":"David Siegel","email":"david@artcom.de","url":"https://github.com/agnat"}],"devDependencies":{"bindings":"~1.2.1","commander":"^2.8.1","glob":"^5.0.14","node-gyp":"~3.0.1","tap":"~0.7.1","xtend":"~4.0.0"},"license":"MIT","bugs":{"url":"https://github.com/nodejs/nan/issues"},"homepage":"https://github.com/nodejs/nan#readme","_id":"nan@2.2.1","_shasum":"d68693f6b34bb41d66bc68b3a4f9defc79d7149b","_resolved":"file:nan-2.2.1.tgz","_from":"nan-2.2.1.tgz","_npmVersion":"3.3.6","_nodeVersion":"5.0.0","_npmUser":{"name":"kkoopa","email":"bbyholm@abo.fi"},"dist":{"shasum":"d68693f6b34bb41d66bc68b3a4f9defc79d7149b","tarball":"http://localhost:4545/npm/registry/nan/nan-2.2.1.tgz","integrity":"sha512-FE2BQjWYIvGpoogMsRBxjCtvhpZx/cWgg9xHrsnL/0YIfys4fkCrlzA5Ky12zhnTV+7Fd7dIGVmlodpnITi6nQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCeC2W+vlEamnGQoW5x4Hdgubrj9b4SjK+KNFlpNa7LqAIgDf93/L3D1f1INm2aTMMAUbP5gisYvtfxBYHdEBmeSZE="}]},"maintainers":[{"name":"rvagg","email":"rod@vagg.org"},{"name":"kkoopa","email":"bbyholm@abo.fi"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/nan-2.2.1.tgz_1459265439909_0.12396649201400578"},"directories":{}},"2.3.0":{"name":"nan","version":"2.3.0","description":"Native Abstractions for Node.js: C++ header for Node 0.8 -> 6 compatibility","main":"include_dirs.js","repository":{"type":"git","url":"git://github.com/nodejs/nan.git"},"scripts":{"test":"tap --gc test/js/*-test.js","rebuild-tests":"node-gyp rebuild --msvs_version=2013 --directory test","docs":"doc/.build.sh"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"https://github.com/TooTallNate"},{"name":"Brett Lawson","email":"brett19@gmail.com","url":"https://github.com/brett19"},{"name":"Ben Noordhuis","email":"info@bnoordhuis.nl","url":"https://github.com/bnoordhuis"},{"name":"David Siegel","email":"david@artcom.de","url":"https://github.com/agnat"}],"devDependencies":{"bindings":"~1.2.1","commander":"^2.8.1","glob":"^5.0.14","node-gyp":"~3.0.1","tap":"~0.7.1","xtend":"~4.0.0"},"license":"MIT","bugs":{"url":"https://github.com/nodejs/nan/issues"},"homepage":"https://github.com/nodejs/nan#readme","_id":"nan@2.3.0","_shasum":"e3e5ce03d1811ca92641d0a77934336473ee66be","_resolved":"file:nan-2.3.0.tgz","_from":"nan-2.3.0.tgz","_npmVersion":"3.8.6","_nodeVersion":"6.0.0","_npmUser":{"name":"kkoopa","email":"bbyholm@abo.fi"},"dist":{"shasum":"e3e5ce03d1811ca92641d0a77934336473ee66be","tarball":"http://localhost:4545/npm/registry/nan/nan-2.3.0.tgz","integrity":"sha512-z+EaT4aJa8GL6GKIpKx4hxb0yPJJ2wkmFncsyPXk5wpzPHVstYB7FC/pKU9odzDmOsyEu/Q1a5gTEdNAAubcYw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDboC8byf0KWnnmEoRpvjPSLiu7Js//V0aZOULLNuZsNwIhAP60RvJlxQqfLkj7H7Sf3GwsE67UoCzHqV6g80m7jyHE"}]},"maintainers":[{"name":"rvagg","email":"rod@vagg.org"},{"name":"kkoopa","email":"bbyholm@abo.fi"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/nan-2.3.0.tgz_1461751797395_0.23794877855107188"},"directories":{}},"2.3.1":{"name":"nan","version":"2.3.1","description":"Native Abstractions for Node.js: C++ header for Node 0.8 -> 6 compatibility","main":"include_dirs.js","repository":{"type":"git","url":"git://github.com/nodejs/nan.git"},"scripts":{"test":"tap --gc test/js/*-test.js","rebuild-tests":"node-gyp rebuild --msvs_version=2013 --directory test","docs":"doc/.build.sh"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"https://github.com/TooTallNate"},{"name":"Brett Lawson","email":"brett19@gmail.com","url":"https://github.com/brett19"},{"name":"Ben Noordhuis","email":"info@bnoordhuis.nl","url":"https://github.com/bnoordhuis"},{"name":"David Siegel","email":"david@artcom.de","url":"https://github.com/agnat"}],"devDependencies":{"bindings":"~1.2.1","commander":"^2.8.1","glob":"^5.0.14","node-gyp":"~3.0.1","tap":"~0.7.1","xtend":"~4.0.0"},"license":"MIT","bugs":{"url":"https://github.com/nodejs/nan/issues"},"homepage":"https://github.com/nodejs/nan#readme","_id":"nan@2.3.1","_shasum":"a4d3e9bfeee09d782d37db161b517221138c2a85","_resolved":"file:nan-2.3.1.tgz","_from":"nan-2.3.1.tgz","_npmVersion":"3.8.6","_nodeVersion":"6.0.0","_npmUser":{"name":"kkoopa","email":"bbyholm@abo.fi"},"dist":{"shasum":"a4d3e9bfeee09d782d37db161b517221138c2a85","tarball":"http://localhost:4545/npm/registry/nan/nan-2.3.1.tgz","integrity":"sha512-FuW57NPSHDL8Ew4vmnJZu8DvqFwj5ydq2GhbVU2LbidFfhP9GIiHJ4Q70VS518iOJXbw2dFlhyPo8/W6drkaxA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBpRhuwWm5ZTGBCO9+gE/fGTT5X6Y77U3/Vs7FaoXjBFAiEAgI8ZEnBJVmEn5E3KgD4kDrcxLrAycoTwjIUCnwO6SQw="}]},"maintainers":[{"name":"rvagg","email":"rod@vagg.org"},{"name":"kkoopa","email":"bbyholm@abo.fi"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/nan-2.3.1.tgz_1461774167709_0.5660416295286268"},"directories":{}},"2.3.2":{"name":"nan","version":"2.3.2","description":"Native Abstractions for Node.js: C++ header for Node 0.8 -> 6 compatibility","main":"include_dirs.js","repository":{"type":"git","url":"git://github.com/nodejs/nan.git"},"scripts":{"test":"tap --gc test/js/*-test.js","rebuild-tests":"node-gyp rebuild --msvs_version=2013 --directory test","docs":"doc/.build.sh"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"https://github.com/TooTallNate"},{"name":"Brett Lawson","email":"brett19@gmail.com","url":"https://github.com/brett19"},{"name":"Ben Noordhuis","email":"info@bnoordhuis.nl","url":"https://github.com/bnoordhuis"},{"name":"David Siegel","email":"david@artcom.de","url":"https://github.com/agnat"}],"devDependencies":{"bindings":"~1.2.1","commander":"^2.8.1","glob":"^5.0.14","node-gyp":"~3.0.1","tap":"~0.7.1","xtend":"~4.0.0"},"license":"MIT","bugs":{"url":"https://github.com/nodejs/nan/issues"},"homepage":"https://github.com/nodejs/nan#readme","_id":"nan@2.3.2","_shasum":"4d4ecf17e1da4e989efb4f273d8d00201cad087e","_resolved":"file:nan-2.3.2.tgz","_from":"nan-2.3.2.tgz","_npmVersion":"3.8.6","_nodeVersion":"6.0.0","_npmUser":{"name":"kkoopa","email":"bbyholm@abo.fi"},"dist":{"shasum":"4d4ecf17e1da4e989efb4f273d8d00201cad087e","tarball":"http://localhost:4545/npm/registry/nan/nan-2.3.2.tgz","integrity":"sha512-adcTZ1iaCNtKdDhvf2s06V9fftOgEj8sE4+nYU72zEweGfP3D5X5sAw1t+BVd6wN714pfYBh526lcM5ztjAuEg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDwea3b6+ZCw/RJ4dPzumVs+d6Cyw/w0AAWR/yrW3NoqAiA27Qsi33PzIGF/wiOhRunq2fQZW7KsdMPEwdUrBgpzTQ=="}]},"maintainers":[{"name":"rvagg","email":"rod@vagg.org"},{"name":"kkoopa","email":"bbyholm@abo.fi"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/nan-2.3.2.tgz_1461778534440_0.04312888509593904"},"directories":{}},"2.3.3":{"name":"nan","version":"2.3.3","description":"Native Abstractions for Node.js: C++ header for Node 0.8 -> 6 compatibility","main":"include_dirs.js","repository":{"type":"git","url":"git://github.com/nodejs/nan.git"},"scripts":{"test":"tap --gc --stderr test/js/*-test.js","rebuild-tests":"node-gyp rebuild --msvs_version=2013 --directory test","docs":"doc/.build.sh"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"https://github.com/TooTallNate"},{"name":"Brett Lawson","email":"brett19@gmail.com","url":"https://github.com/brett19"},{"name":"Ben Noordhuis","email":"info@bnoordhuis.nl","url":"https://github.com/bnoordhuis"},{"name":"David Siegel","email":"david@artcom.de","url":"https://github.com/agnat"}],"devDependencies":{"bindings":"~1.2.1","commander":"^2.8.1","glob":"^5.0.14","node-gyp":"~3.0.1","tap":"~0.7.1","xtend":"~4.0.0"},"license":"MIT","bugs":{"url":"https://github.com/nodejs/nan/issues"},"homepage":"https://github.com/nodejs/nan#readme","_id":"nan@2.3.3","_shasum":"64dd83c9704a83648b6c72b401f6384bd94ef16f","_resolved":"file:nan-2.3.3.tgz","_from":"nan-2.3.3.tgz","_npmVersion":"3.3.6","_nodeVersion":"5.0.0","_npmUser":{"name":"kkoopa","email":"bbyholm@abo.fi"},"dist":{"shasum":"64dd83c9704a83648b6c72b401f6384bd94ef16f","tarball":"http://localhost:4545/npm/registry/nan/nan-2.3.3.tgz","integrity":"sha512-Y4Tfsnp29e4tBd5afJ7F31o7H9k5tJiKLhGc6AuFB6OGCbUPg5LUUFkLtN4zxjZmMuCFc4MiBbucd85u+k7vwg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGQQPQJqFpPC29n+TYVIroevrJXS90g8EXs9I/5FdCn2AiAOkJsCagGgvzEaVPZT80/WGDT0GxFO7tonQhzD9FZYIQ=="}]},"maintainers":[{"name":"rvagg","email":"rod@vagg.org"},{"name":"kkoopa","email":"bbyholm@abo.fi"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/nan-2.3.3.tgz_1462313618725_0.044748055282980204"},"directories":{}},"2.3.4":{"name":"nan","version":"2.3.4","description":"Native Abstractions for Node.js: C++ header for Node 0.8 -> 6 compatibility","main":"include_dirs.js","repository":{"type":"git","url":"git://github.com/nodejs/nan.git"},"scripts":{"test":"tap --gc --stderr test/js/*-test.js","rebuild-tests":"node-gyp rebuild --msvs_version=2013 --directory test","docs":"doc/.build.sh"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"https://github.com/TooTallNate"},{"name":"Brett Lawson","email":"brett19@gmail.com","url":"https://github.com/brett19"},{"name":"Ben Noordhuis","email":"info@bnoordhuis.nl","url":"https://github.com/bnoordhuis"},{"name":"David Siegel","email":"david@artcom.de","url":"https://github.com/agnat"}],"devDependencies":{"bindings":"~1.2.1","commander":"^2.8.1","glob":"^5.0.14","node-gyp":"~3.0.1","tap":"~0.7.1","xtend":"~4.0.0"},"license":"MIT","bugs":{"url":"https://github.com/nodejs/nan/issues"},"homepage":"https://github.com/nodejs/nan#readme","_id":"nan@2.3.4","_shasum":"a7d5eb1cb727f8123a2dda6a883c006b30896718","_resolved":"file:nan-2.3.4.tgz","_from":"nan-2.3.4.tgz","_npmVersion":"3.3.6","_nodeVersion":"5.0.0","_npmUser":{"name":"kkoopa","email":"bbyholm@abo.fi"},"dist":{"shasum":"a7d5eb1cb727f8123a2dda6a883c006b30896718","tarball":"http://localhost:4545/npm/registry/nan/nan-2.3.4.tgz","integrity":"sha512-h9kwT/5LB/PFjb026UiDVJ4D944oKlFeJRGFXK5dC4em262HqfS2O3WS0O4Uft1HblyfIPGV7+qQbuuf6FkOVA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC6T8QrI03Nuvzn8Br0KR6tr2sToJu3hmbJDob3IW629AiAY/On6cRA2IcSInDDBvc6EHH7zf3XjjVwMsUxhWNwsqQ=="}]},"maintainers":[{"name":"rvagg","email":"rod@vagg.org"},{"name":"kkoopa","email":"bbyholm@abo.fi"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/nan-2.3.4.tgz_1464646356651_0.48181944130919874"},"directories":{}},"2.3.5":{"name":"nan","version":"2.3.5","description":"Native Abstractions for Node.js: C++ header for Node 0.8 -> 6 compatibility","main":"include_dirs.js","repository":{"type":"git","url":"git://github.com/nodejs/nan.git"},"scripts":{"test":"tap --gc --stderr test/js/*-test.js","rebuild-tests":"node-gyp rebuild --msvs_version=2013 --directory test","docs":"doc/.build.sh"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"https://github.com/TooTallNate"},{"name":"Brett Lawson","email":"brett19@gmail.com","url":"https://github.com/brett19"},{"name":"Ben Noordhuis","email":"info@bnoordhuis.nl","url":"https://github.com/bnoordhuis"},{"name":"David Siegel","email":"david@artcom.de","url":"https://github.com/agnat"}],"devDependencies":{"bindings":"~1.2.1","commander":"^2.8.1","glob":"^5.0.14","node-gyp":"~3.0.1","tap":"~0.7.1","xtend":"~4.0.0"},"license":"MIT","bugs":{"url":"https://github.com/nodejs/nan/issues"},"homepage":"https://github.com/nodejs/nan#readme","_id":"nan@2.3.5","_shasum":"822a0dc266290ce4cd3a12282ca3e7e364668a08","_resolved":"file:nan-2.3.5.tgz","_from":"nan-2.3.5.tgz","_npmVersion":"3.3.6","_nodeVersion":"5.0.0","_npmUser":{"name":"kkoopa","email":"bbyholm@abo.fi"},"dist":{"shasum":"822a0dc266290ce4cd3a12282ca3e7e364668a08","tarball":"http://localhost:4545/npm/registry/nan/nan-2.3.5.tgz","integrity":"sha512-+1vWEe1RBUNgjZJGAXxVDyNmH3TTG8AaLj0Qw5Ye/gqwrpDWn43WNF3/HcHnRpzm+gWqW65oXYQdu6UvBC/+vA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE2IMdI37eQIQt+UCezNf5i6aHWUxfYnjLfRfBhlUS/oAiBa/piF23mPn1TSdEqj9LiUvJtWiFxmVgkoDUoQ5mws3w=="}]},"maintainers":[{"name":"rvagg","email":"rod@vagg.org"},{"name":"kkoopa","email":"bbyholm@abo.fi"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/nan-2.3.5.tgz_1464707164994_0.4295874561648816"},"directories":{}},"2.4.0":{"name":"nan","version":"2.4.0","description":"Native Abstractions for Node.js: C++ header for Node 0.8 -> 6 compatibility","main":"include_dirs.js","repository":{"type":"git","url":"git://github.com/nodejs/nan.git"},"scripts":{"test":"tap --gc --stderr test/js/*-test.js","rebuild-tests":"node-gyp rebuild --msvs_version=2013 --directory test","docs":"doc/.build.sh"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"https://github.com/TooTallNate"},{"name":"Brett Lawson","email":"brett19@gmail.com","url":"https://github.com/brett19"},{"name":"Ben Noordhuis","email":"info@bnoordhuis.nl","url":"https://github.com/bnoordhuis"},{"name":"David Siegel","email":"david@artcom.de","url":"https://github.com/agnat"}],"devDependencies":{"bindings":"~1.2.1","commander":"^2.8.1","glob":"^5.0.14","node-gyp":"~3.0.1","readable-stream":"^2.1.4","tap":"~0.7.1","xtend":"~4.0.0"},"license":"MIT","bugs":{"url":"https://github.com/nodejs/nan/issues"},"homepage":"https://github.com/nodejs/nan#readme","_id":"nan@2.4.0","_shasum":"fb3c59d45fe4effe215f0b890f8adf6eb32d2232","_resolved":"file:nan-2.4.0.tgz","_from":"nan-2.4.0.tgz","_npmVersion":"3.3.6","_nodeVersion":"5.0.0","_npmUser":{"name":"kkoopa","email":"bbyholm@abo.fi"},"dist":{"shasum":"fb3c59d45fe4effe215f0b890f8adf6eb32d2232","tarball":"http://localhost:4545/npm/registry/nan/nan-2.4.0.tgz","integrity":"sha512-Ym8Mn5u8D8Fwo7fHWhD7xEyKe/y/J8Epkxp6iJfZhtgnRva+GN+dQddiWGE2cksWCV92K/HzdHlJWo7aZJDlFw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFGxW3SJQ5d2PczElw0rKgCaV2mGqK4g4iqYo04yMcrPAiA8DGTD8YYJrsz1P6R+2bhg5Hl2M7c2xOFJgDfjYVdTmw=="}]},"maintainers":[{"name":"rvagg","email":"rod@vagg.org"},{"name":"kkoopa","email":"bbyholm@abo.fi"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/nan-2.4.0.tgz_1468158679820_0.6951719264034182"},"directories":{}},"2.5.0":{"name":"nan","version":"2.5.0","description":"Native Abstractions for Node.js: C++ header for Node 0.8 -> 7 compatibility","main":"include_dirs.js","repository":{"type":"git","url":"git://github.com/nodejs/nan.git"},"scripts":{"test":"tap --gc --stderr test/js/*-test.js","rebuild-tests":"node-gyp rebuild --msvs_version=2013 --directory test","docs":"doc/.build.sh"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"https://github.com/TooTallNate"},{"name":"Brett Lawson","email":"brett19@gmail.com","url":"https://github.com/brett19"},{"name":"Ben Noordhuis","email":"info@bnoordhuis.nl","url":"https://github.com/bnoordhuis"},{"name":"David Siegel","email":"david@artcom.de","url":"https://github.com/agnat"}],"devDependencies":{"bindings":"~1.2.1","commander":"^2.8.1","glob":"^5.0.14","node-gyp":"~3.0.1","readable-stream":"^2.1.4","tap":"~0.7.1","xtend":"~4.0.0"},"license":"MIT","bugs":{"url":"https://github.com/nodejs/nan/issues"},"homepage":"https://github.com/nodejs/nan#readme","_id":"nan@2.5.0","_shasum":"aa8f1e34531d807e9e27755b234b4a6ec0c152a8","_resolved":"file:nan-2.5.0.tgz","_from":"nan-2.5.0.tgz","_npmVersion":"3.10.3","_nodeVersion":"6.3.1","_npmUser":{"name":"kkoopa","email":"bbyholm@abo.fi"},"dist":{"shasum":"aa8f1e34531d807e9e27755b234b4a6ec0c152a8","tarball":"http://localhost:4545/npm/registry/nan/nan-2.5.0.tgz","integrity":"sha512-mtnOmPhIP3vYfr1bCdvUv/2NYr1boRWckFpR3hAk15R5q2R/tK6wo4bcQZUE/PdTzODHNMr7jmZA1ybvxOBDxg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBHsDn8Uu7uq7/O0Ynk0rRzyUIUG2F8JWhp84XrZfBVMAiEAqrOcgh5BdUM87FxJrYxVe75Y49s736VaOMXTWKloZE4="}]},"maintainers":[{"name":"rvagg","email":"rod@vagg.org"},{"name":"kkoopa","email":"bbyholm@abo.fi"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/nan-2.5.0.tgz_1482346189010_0.8120697599370033"},"directories":{}},"2.5.1":{"name":"nan","version":"2.5.1","description":"Native Abstractions for Node.js: C++ header for Node 0.8 -> 7 compatibility","main":"include_dirs.js","repository":{"type":"git","url":"git://github.com/nodejs/nan.git"},"scripts":{"test":"tap --gc --stderr test/js/*-test.js","rebuild-tests":"node-gyp rebuild --msvs_version=2013 --directory test","docs":"doc/.build.sh"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"https://github.com/TooTallNate"},{"name":"Brett Lawson","email":"brett19@gmail.com","url":"https://github.com/brett19"},{"name":"Ben Noordhuis","email":"info@bnoordhuis.nl","url":"https://github.com/bnoordhuis"},{"name":"David Siegel","email":"david@artcom.de","url":"https://github.com/agnat"}],"devDependencies":{"bindings":"~1.2.1","commander":"^2.8.1","glob":"^5.0.14","node-gyp":"~3.0.1","readable-stream":"^2.1.4","tap":"~0.7.1","xtend":"~4.0.0"},"license":"MIT","bugs":{"url":"https://github.com/nodejs/nan/issues"},"homepage":"https://github.com/nodejs/nan#readme","_id":"nan@2.5.1","_shasum":"d5b01691253326a97a2bbee9e61c55d8d60351e2","_resolved":"file:nan-2.5.1.tgz","_from":"nan-2.5.1.tgz","_npmVersion":"4.0.5","_nodeVersion":"7.4.0","_npmUser":{"name":"kkoopa","email":"bbyholm@abo.fi"},"dist":{"shasum":"d5b01691253326a97a2bbee9e61c55d8d60351e2","tarball":"http://localhost:4545/npm/registry/nan/nan-2.5.1.tgz","integrity":"sha512-Mvo2RwemW12NRql4qU21+Sdtu8CAfn2RaCp8+p6N+4oQQvAM1DfO9R/ZyJOJaLdsMLHw84WJEo2AKZar4KANXA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFJe6Y+1wv+/MD8uX7Le/7sfiDqC0u7xd57ESpc0+88qAiEA4+wGic6J1G3VwyvO8RYT2zuZRd0OqgRujEAZliONTik="}]},"maintainers":[{"name":"rvagg","email":"rod@vagg.org"},{"name":"kkoopa","email":"bbyholm@abo.fi"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/nan-2.5.1.tgz_1485124061146_0.7941144248470664"},"directories":{}},"2.6.0":{"name":"nan","version":"2.6.0","description":"Native Abstractions for Node.js: C++ header for Node 0.8 -> 7 compatibility","main":"include_dirs.js","repository":{"type":"git","url":"git://github.com/nodejs/nan.git"},"scripts":{"test":"tap --gc --stderr test/js/*-test.js","rebuild-tests":"node-gyp rebuild --msvs_version=2013 --directory test","docs":"doc/.build.sh"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"https://github.com/TooTallNate"},{"name":"Brett Lawson","email":"brett19@gmail.com","url":"https://github.com/brett19"},{"name":"Ben Noordhuis","email":"info@bnoordhuis.nl","url":"https://github.com/bnoordhuis"},{"name":"David Siegel","email":"david@artcom.de","url":"https://github.com/agnat"},{"name":"Michael Ira Krufky","email":"mkrufky@gmail.com","url":"https://github.com/mkrufky"}],"devDependencies":{"bindings":"~1.2.1","commander":"^2.8.1","glob":"^5.0.14","node-gyp":"~3.0.1","readable-stream":"^2.1.4","tap":"~0.7.1","xtend":"~4.0.0"},"license":"MIT","bugs":{"url":"https://github.com/nodejs/nan/issues"},"homepage":"https://github.com/nodejs/nan#readme","_id":"nan@2.6.0","_shasum":"b9b0a907d796d0d336fd73afce24f5e1aa929934","_resolved":"file:nan-2.6.0.tgz","_from":"nan-2.6.0.tgz","_npmVersion":"4.1.2","_nodeVersion":"7.5.0","_npmUser":{"name":"kkoopa","email":"bbyholm@abo.fi"},"dist":{"shasum":"b9b0a907d796d0d336fd73afce24f5e1aa929934","tarball":"http://localhost:4545/npm/registry/nan/nan-2.6.0.tgz","integrity":"sha512-xLnGUTBKFRJKyurk6WpRyVYW+3V/3c4KMRl7VLApY2TATWJhFtOI7mOAlTKLPZZUzHgcs2BD7APLAo4by/HerQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHUO4cyiYjgAnur3G86bqdisopD7JtYm9270NaqSTbphAiAJ+Knu4OT5jfx4aFPwVqNAfeM48JNE6zb5RvbAmty1jQ=="}]},"maintainers":[{"name":"rvagg","email":"rod@vagg.org"},{"name":"kkoopa","email":"bbyholm@abo.fi"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/nan-2.6.0.tgz_1491431846889_0.2909555535297841"},"directories":{}},"2.6.1":{"name":"nan","version":"2.6.1","description":"Native Abstractions for Node.js: C++ header for Node 0.8 -> 7 compatibility","main":"include_dirs.js","repository":{"type":"git","url":"git://github.com/nodejs/nan.git"},"scripts":{"test":"tap --gc --stderr test/js/*-test.js","rebuild-tests":"node-gyp rebuild --msvs_version=2013 --directory test","docs":"doc/.build.sh"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"https://github.com/TooTallNate"},{"name":"Brett Lawson","email":"brett19@gmail.com","url":"https://github.com/brett19"},{"name":"Ben Noordhuis","email":"info@bnoordhuis.nl","url":"https://github.com/bnoordhuis"},{"name":"David Siegel","email":"david@artcom.de","url":"https://github.com/agnat"},{"name":"Michael Ira Krufky","email":"mkrufky@gmail.com","url":"https://github.com/mkrufky"}],"devDependencies":{"bindings":"~1.2.1","commander":"^2.8.1","glob":"^5.0.14","node-gyp":"~3.0.1","readable-stream":"^2.1.4","tap":"~0.7.1","xtend":"~4.0.0"},"license":"MIT","gitHead":"a80a0e652da1c010bf8aba3c725b667fadb53261","bugs":{"url":"https://github.com/nodejs/nan/issues"},"homepage":"https://github.com/nodejs/nan#readme","_id":"nan@2.6.1","_shasum":"8c84f7b14c96b89f57fbc838012180ec8ca39a01","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.10.2","_npmUser":{"name":"kkoopa","email":"bbyholm@abo.fi"},"dist":{"shasum":"8c84f7b14c96b89f57fbc838012180ec8ca39a01","tarball":"http://localhost:4545/npm/registry/nan/nan-2.6.1.tgz","integrity":"sha512-MDLQjH7o4LxVY8JyOnhVJfzkb0VKg8wInSzmt/TAIbpkpKwDgtf8BnkyWkjwnws7Jmc8nfm1EhFfwQNIAhMXQA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDAGnALp9wEHLwl8iSFu22fPEg4NfOQFSbUdgCpnVLGrgIgdvDaLlx6zpKqLuuC6CmTPo1eu3+IG5TkMsEoZ3m4Hvc="}]},"maintainers":[{"name":"rvagg","email":"rod@vagg.org"},{"name":"kkoopa","email":"bbyholm@abo.fi"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/nan-2.6.1.tgz_1491457816058_0.0568844648078084"},"directories":{}},"2.6.2":{"name":"nan","version":"2.6.2","description":"Native Abstractions for Node.js: C++ header for Node 0.8 -> 7 compatibility","main":"include_dirs.js","repository":{"type":"git","url":"git://github.com/nodejs/nan.git"},"scripts":{"test":"tap --gc --stderr test/js/*-test.js","rebuild-tests":"node-gyp rebuild --msvs_version=2013 --directory test","docs":"doc/.build.sh"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"https://github.com/TooTallNate"},{"name":"Brett Lawson","email":"brett19@gmail.com","url":"https://github.com/brett19"},{"name":"Ben Noordhuis","email":"info@bnoordhuis.nl","url":"https://github.com/bnoordhuis"},{"name":"David Siegel","email":"david@artcom.de","url":"https://github.com/agnat"},{"name":"Michael Ira Krufky","email":"mkrufky@gmail.com","url":"https://github.com/mkrufky"}],"devDependencies":{"bindings":"~1.2.1","commander":"^2.8.1","glob":"^5.0.14","node-gyp":"~3.0.1","readable-stream":"^2.1.4","tap":"~0.7.1","xtend":"~4.0.0"},"license":"MIT","gitHead":"f0b2f64c1e5317888f2e12fdefb2f105e7018552","bugs":{"url":"https://github.com/nodejs/nan/issues"},"homepage":"https://github.com/nodejs/nan#readme","_id":"nan@2.6.2","_shasum":"e4ff34e6c95fdfb5aecc08de6596f43605a7db45","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.5.0","_npmUser":{"name":"kkoopa","email":"bbyholm@abo.fi"},"dist":{"shasum":"e4ff34e6c95fdfb5aecc08de6596f43605a7db45","tarball":"http://localhost:4545/npm/registry/nan/nan-2.6.2.tgz","integrity":"sha512-K3AyXBwEX6HF3eV46B9YLyyJ66DiBI66v+pTQfz+AyMOdOtg2aH/3WNSDbb3cVDLfPEJmx70aDu60aDTG5x+sw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDDShK44lwMGbqSrHdgdOUiaWva+BW910Yvuku7/odSpAIhAK1TvGUmBqEHzEA2ufLv8U437fpmAAr+cApgltrnsVPF"}]},"maintainers":[{"name":"rvagg","email":"rod@vagg.org"},{"name":"kkoopa","email":"bbyholm@abo.fi"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/nan-2.6.2.tgz_1492029516320_0.2352329883724451"},"directories":{}},"2.7.0":{"name":"nan","version":"2.7.0","description":"Native Abstractions for Node.js: C++ header for Node 0.8 -> 8 compatibility","main":"include_dirs.js","repository":{"type":"git","url":"git://github.com/nodejs/nan.git"},"scripts":{"test":"tap --gc --stderr test/js/*-test.js","rebuild-tests":"node-gyp rebuild --msvs_version=2013 --directory test","docs":"doc/.build.sh"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"https://github.com/TooTallNate"},{"name":"Brett Lawson","email":"brett19@gmail.com","url":"https://github.com/brett19"},{"name":"Ben Noordhuis","email":"info@bnoordhuis.nl","url":"https://github.com/bnoordhuis"},{"name":"David Siegel","email":"david@artcom.de","url":"https://github.com/agnat"},{"name":"Michael Ira Krufky","email":"mkrufky@gmail.com","url":"https://github.com/mkrufky"}],"devDependencies":{"bindings":"~1.2.1","commander":"^2.8.1","glob":"^5.0.14","node-gyp":"~3.0.1","readable-stream":"^2.1.4","tap":"~0.7.1","xtend":"~4.0.0"},"license":"MIT","bugs":{"url":"https://github.com/nodejs/nan/issues"},"homepage":"https://github.com/nodejs/nan#readme","_id":"nan@2.7.0","_shasum":"d95bf721ec877e08db276ed3fc6eb78f9083ad46","_resolved":"file:nan-2.7.0.tgz","_from":"nan-2.7.0.tgz","_npmVersion":"3.10.10","_nodeVersion":"6.11.0","_npmUser":{"name":"kkoopa","email":"bbyholm@abo.fi"},"dist":{"shasum":"d95bf721ec877e08db276ed3fc6eb78f9083ad46","tarball":"http://localhost:4545/npm/registry/nan/nan-2.7.0.tgz","integrity":"sha512-8XxKHG2WLQF/U18y3wviZGtZ+z3pqV4Pni112/qhxbhtxdXeqk17RMHqsEf9JTlT+uUZ3mKSHV9CCFz60zOQtQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDjUub775L7BxJn2xQxuhI87qRrBje4bPyYN/A7v7CBNwIhALr/CqsFvRCr+6p6/c2smT01f0VHw2JUUUfx0hiUY7rk"}]},"maintainers":[{"name":"rvagg","email":"rod@vagg.org"},{"name":"kkoopa","email":"bbyholm@abo.fi"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nan-2.7.0.tgz_1504053769999_0.18853025324642658"},"directories":{}},"2.8.0":{"name":"nan","version":"2.8.0","description":"Native Abstractions for Node.js: C++ header for Node 0.8 -> 9 compatibility","main":"include_dirs.js","repository":{"type":"git","url":"git://github.com/nodejs/nan.git"},"scripts":{"test":"tap --gc --stderr test/js/*-test.js","rebuild-tests":"node-gyp rebuild --msvs_version=2015 --directory test","docs":"doc/.build.sh"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"https://github.com/TooTallNate"},{"name":"Brett Lawson","email":"brett19@gmail.com","url":"https://github.com/brett19"},{"name":"Ben Noordhuis","email":"info@bnoordhuis.nl","url":"https://github.com/bnoordhuis"},{"name":"David Siegel","email":"david@artcom.de","url":"https://github.com/agnat"},{"name":"Michael Ira Krufky","email":"mkrufky@gmail.com","url":"https://github.com/mkrufky"}],"devDependencies":{"bindings":"~1.2.1","commander":"^2.8.1","glob":"^5.0.14","request":"=2.81.0","node-gyp":"~3.6.2","readable-stream":"^2.1.4","tap":"~0.7.1","xtend":"~4.0.0"},"license":"MIT","bugs":{"url":"https://github.com/nodejs/nan/issues"},"homepage":"https://github.com/nodejs/nan#readme","_id":"nan@2.8.0","_shasum":"ed715f3fe9de02b57a5e6252d90a96675e1f085a","_resolved":"file:nan-2.8.0.tgz","_from":"nan-2.8.0.tgz","_npmVersion":"3.10.10","_nodeVersion":"6.12.0","_npmUser":{"name":"kkoopa","email":"bbyholm@abo.fi"},"dist":{"shasum":"ed715f3fe9de02b57a5e6252d90a96675e1f085a","tarball":"http://localhost:4545/npm/registry/nan/nan-2.8.0.tgz","integrity":"sha512-kBTsZNixwSmgVRl1nIVCkQzqRmosFpnY/pLPYo8xC7Mu9ehnKkbrMsM4xb889UafRGLqJ58hKZp+Dn4XVP9Bpg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCrbS3k54UAbXc380IG1X9E9Z1pCXjXsM8Jobtdttg3kAIgUDa2C3bzCYeDUX3nlwvfDg97e0lNNf0IXzW7xSNPtRQ="}]},"maintainers":[{"name":"rvagg","email":"rod@vagg.org"},{"name":"kkoopa","email":"bbyholm@abo.fi"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nan-2.8.0.tgz_1510745663002_0.45465062628500164"},"directories":{}},"2.9.1":{"name":"nan","version":"2.9.1","description":"Native Abstractions for Node.js: C++ header for Node 0.8 -> 9 compatibility","main":"include_dirs.js","repository":{"type":"git","url":"git://github.com/nodejs/nan.git"},"scripts":{"test":"tap --gc --stderr test/js/*-test.js","rebuild-tests":"node-gyp rebuild --msvs_version=2015 --directory test","docs":"doc/.build.sh"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"https://github.com/TooTallNate"},{"name":"Brett Lawson","email":"brett19@gmail.com","url":"https://github.com/brett19"},{"name":"Ben Noordhuis","email":"info@bnoordhuis.nl","url":"https://github.com/bnoordhuis"},{"name":"David Siegel","email":"david@artcom.de","url":"https://github.com/agnat"},{"name":"Michael Ira Krufky","email":"mkrufky@gmail.com","url":"https://github.com/mkrufky"}],"devDependencies":{"bindings":"~1.2.1","commander":"^2.8.1","glob":"^5.0.14","request":"=2.81.0","node-gyp":"~3.6.2","readable-stream":"^2.1.4","tap":"~0.7.1","xtend":"~4.0.0"},"license":"MIT","bugs":{"url":"https://github.com/nodejs/nan/issues"},"homepage":"https://github.com/nodejs/nan#readme","_id":"nan@2.9.1","_npmVersion":"5.6.0","_nodeVersion":"9.6.0","_npmUser":{"name":"kkoopa","email":"bbyholm@abo.fi"},"dist":{"integrity":"sha512-c609vVPyCEuuzqOjx3hwsSZMXLg5QTzbTfgBmEx6N444ymBt1+Yg/rTGr2+4S3VJ3btXI8m1TZ7nLcYcRTZYuQ==","shasum":"af88fcaee5292992c5b755121ceeaa74536fc228","tarball":"http://localhost:4545/npm/registry/nan/nan-2.9.1.tgz","fileCount":45,"unpackedSize":404355,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIByVXxsSHY36GCgq+f+MjcKbr5W3/Y0sCRXUcM7L1Az6AiAqwY7g33PVCJSTqefGW9QuNCUVgTWLzDgjr9Z7EnsF4w=="}]},"maintainers":[{"name":"kkoopa","email":"bbyholm@abo.fi"},{"name":"rvagg","email":"rod@vagg.org"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nan_2.9.1_1519319649692_0.4583243317207173"},"_hasShrinkwrap":false},"2.9.2":{"name":"nan","version":"2.9.2","description":"Native Abstractions for Node.js: C++ header for Node 0.8 -> 9 compatibility","main":"include_dirs.js","repository":{"type":"git","url":"git://github.com/nodejs/nan.git"},"scripts":{"test":"tap --gc --stderr test/js/*-test.js","rebuild-tests":"node-gyp rebuild --msvs_version=2015 --directory test","docs":"doc/.build.sh"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"https://github.com/TooTallNate"},{"name":"Brett Lawson","email":"brett19@gmail.com","url":"https://github.com/brett19"},{"name":"Ben Noordhuis","email":"info@bnoordhuis.nl","url":"https://github.com/bnoordhuis"},{"name":"David Siegel","email":"david@artcom.de","url":"https://github.com/agnat"},{"name":"Michael Ira Krufky","email":"mkrufky@gmail.com","url":"https://github.com/mkrufky"}],"devDependencies":{"bindings":"~1.2.1","commander":"^2.8.1","glob":"^5.0.14","request":"=2.81.0","node-gyp":"~3.6.2","readable-stream":"^2.1.4","tap":"~0.7.1","xtend":"~4.0.0"},"license":"MIT","bugs":{"url":"https://github.com/nodejs/nan/issues"},"homepage":"https://github.com/nodejs/nan#readme","_id":"nan@2.9.2","_npmVersion":"5.6.0","_nodeVersion":"9.6.0","_npmUser":{"name":"kkoopa","email":"bbyholm@abo.fi"},"dist":{"integrity":"sha512-ltW65co7f3PQWBDbqVvaU1WtFJUsNW7sWWm4HINhbMQIyVyzIeyZ8toX5TC5eeooE6piZoaEh4cZkueSKG3KYw==","shasum":"f564d75f5f8f36a6d9456cca7a6c4fe488ab7866","tarball":"http://localhost:4545/npm/registry/nan/nan-2.9.2.tgz","fileCount":45,"unpackedSize":404456,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID9JhhX+hAyf0qTkdsMMNQ6D5R/SvAHxldYojIa3iCGeAiEA0uIUolTlFooEU+MQT7FVcTeUe4hpFqxWJAI6lrYl7ZI="}]},"maintainers":[{"name":"kkoopa","email":"bbyholm@abo.fi"},{"name":"rvagg","email":"rod@vagg.org"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nan_2.9.2_1519342457594_0.2577351460235977"},"_hasShrinkwrap":false},"2.10.0":{"name":"nan","version":"2.10.0","description":"Native Abstractions for Node.js: C++ header for Node 0.8 -> 9 compatibility","main":"include_dirs.js","repository":{"type":"git","url":"git://github.com/nodejs/nan.git"},"scripts":{"test":"tap --gc --stderr test/js/*-test.js","rebuild-tests":"node-gyp rebuild --msvs_version=2015 --directory test","docs":"doc/.build.sh"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"https://github.com/TooTallNate"},{"name":"Brett Lawson","email":"brett19@gmail.com","url":"https://github.com/brett19"},{"name":"Ben Noordhuis","email":"info@bnoordhuis.nl","url":"https://github.com/bnoordhuis"},{"name":"David Siegel","email":"david@artcom.de","url":"https://github.com/agnat"},{"name":"Michael Ira Krufky","email":"mkrufky@gmail.com","url":"https://github.com/mkrufky"}],"devDependencies":{"bindings":"~1.2.1","commander":"^2.8.1","glob":"^5.0.14","request":"=2.81.0","node-gyp":"~3.6.2","readable-stream":"^2.1.4","tap":"~0.7.1","xtend":"~4.0.0"},"license":"MIT","bugs":{"url":"https://github.com/nodejs/nan/issues"},"homepage":"https://github.com/nodejs/nan#readme","_id":"nan@2.10.0","_npmVersion":"5.6.0","_nodeVersion":"9.6.0","_npmUser":{"name":"kkoopa","email":"bbyholm@abo.fi"},"dist":{"integrity":"sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA==","shasum":"96d0cd610ebd58d4b4de9cc0c6828cda99c7548f","tarball":"http://localhost:4545/npm/registry/nan/nan-2.10.0.tgz","fileCount":46,"unpackedSize":409953,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCTQux7HV5ecI2+3IEIoypVpQgruKqwg6XK7QatFfUD5QIhAPAP+guY3qer8wyhE592oUCCtqJXq8Wh+aXumsQR8QIH"}]},"maintainers":[{"name":"kkoopa","email":"bbyholm@abo.fi"},{"name":"rvagg","email":"rod@vagg.org"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nan_2.10.0_1521216708687_0.31611161513830033"},"_hasShrinkwrap":false},"2.11.0":{"name":"nan","version":"2.11.0","description":"Native Abstractions for Node.js: C++ header for Node 0.8 -> 9 compatibility","main":"include_dirs.js","repository":{"type":"git","url":"git://github.com/nodejs/nan.git"},"scripts":{"test":"tap --gc --stderr test/js/*-test.js","test:worker":"node --experimental-worker test/tap-as-worker.js --gc --stderr test/js/*-test.js","rebuild-tests":"node-gyp rebuild --msvs_version=2015 --directory test","docs":"doc/.build.sh"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"https://github.com/TooTallNate"},{"name":"Brett Lawson","email":"brett19@gmail.com","url":"https://github.com/brett19"},{"name":"Ben Noordhuis","email":"info@bnoordhuis.nl","url":"https://github.com/bnoordhuis"},{"name":"David Siegel","email":"david@artcom.de","url":"https://github.com/agnat"},{"name":"Michael Ira Krufky","email":"mkrufky@gmail.com","url":"https://github.com/mkrufky"}],"devDependencies":{"bindings":"~1.2.1","commander":"^2.8.1","glob":"^5.0.14","request":"=2.81.0","node-gyp":"~3.6.2","readable-stream":"^2.1.4","tap":"~0.7.1","xtend":"~4.0.0"},"license":"MIT","bugs":{"url":"https://github.com/nodejs/nan/issues"},"homepage":"https://github.com/nodejs/nan#readme","_id":"nan@2.11.0","_npmVersion":"5.6.0","_nodeVersion":"9.6.0","_npmUser":{"name":"kkoopa","email":"bbyholm@abo.fi"},"dist":{"integrity":"sha512-F4miItu2rGnV2ySkXOQoA8FKz/SR2Q2sWP0sbTxNxz/tuokeC8WxOhPMcwi0qIyGtVn/rrSeLbvVkznqCdwYnw==","shasum":"574e360e4d954ab16966ec102c0c049fd961a099","tarball":"http://localhost:4545/npm/registry/nan/nan-2.11.0.tgz","fileCount":46,"unpackedSize":412174,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbgU8BCRA9TVsSAnZWagAAJNIP/2+bZl2y/eC/prNgAOPV\nOOAp8aPI1FAe9jcly9hjQqplKPvIY8XXP5WK6pq+ce1l5vyvHdtcQum977I7\nMLH3MiEj31aIcNrI0/G9LTMqmHMct+qKK4OjyjhupRFuQCHI+BPXGTrQVZ2S\nkUi76QwLOXMnu9rRwmVS+rEjRu+W0TT+sQb4sspBdhG/4qnyp/rp+L2Shdv8\nLlRB4EC7j8N6aosWBrhyVBPX59yliFn0z7mAuFswqdcm4TI3rtTXn1yIDkaW\nyukbkwOBAtL1dKfV7rlmjiS2Retp9FdF3X5D4tVdwbKSd3+5uMYUmz5CsoLI\nbY9uOdjHZGByFfVbMI8qZA6vf0HNZ2/0O7n+f1qGOVFCS4JvjHqgZa6eLjCD\nntdvJmAruNmtIhlXMmq+rUIyA6H4KaaDI2gSggeFVacpuTnFUKW6HN/fGQpB\n2COAPd6cjFJJ47v/YdKBzGZLuUXQ21Je2xxLeGYSd253XSQcu4rPYFTdSSTF\nbuLmG7SObSG/F9hDntzUpCP2hDn5ekmGJwZMRH2h9RuuVMISx3P48Zht6htZ\nTfE8KmOR0ncQtf94jX6KmqFJZjkrZatCCJmTkWWJGjch1/qP/qb1mLjo0hAz\niqq3pAGb2PwF1lRSAAbdqjDIUbGdO1a3NEkvDBH9JtafBBV5ZiEsNBzqhsXs\nEmh8\r\n=CVBp\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCi0S5lKpKLaJ9x+XX09bs5CZe/HckzarLUxMoZLIHcXQIhAKbhvUE1LTbkTmYCQar2b2Rij4eGiSJWzAJcaS9i9UKy"}]},"maintainers":[{"name":"kkoopa","email":"bbyholm@abo.fi"},{"name":"rvagg","email":"rod@vagg.org"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nan_2.11.0_1535201025004_0.7520281082678468"},"_hasShrinkwrap":false},"2.11.1":{"name":"nan","version":"2.11.1","description":"Native Abstractions for Node.js: C++ header for Node 0.8 -> 10 compatibility","main":"include_dirs.js","repository":{"type":"git","url":"git://github.com/nodejs/nan.git"},"scripts":{"test":"tap --gc --stderr test/js/*-test.js","test:worker":"node --experimental-worker test/tap-as-worker.js --gc --stderr test/js/*-test.js","rebuild-tests":"node-gyp rebuild --msvs_version=2015 --directory test","docs":"doc/.build.sh"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"https://github.com/TooTallNate"},{"name":"Brett Lawson","email":"brett19@gmail.com","url":"https://github.com/brett19"},{"name":"Ben Noordhuis","email":"info@bnoordhuis.nl","url":"https://github.com/bnoordhuis"},{"name":"David Siegel","email":"david@artcom.de","url":"https://github.com/agnat"},{"name":"Michael Ira Krufky","email":"mkrufky@gmail.com","url":"https://github.com/mkrufky"}],"devDependencies":{"bindings":"~1.2.1","commander":"^2.8.1","glob":"^5.0.14","request":"=2.81.0","node-gyp":"~3.6.2","readable-stream":"^2.1.4","tap":"~0.7.1","xtend":"~4.0.0"},"license":"MIT","gitHead":"85a74a1a724ddffdb81f709b745d5707a8a0f699","bugs":{"url":"https://github.com/nodejs/nan/issues"},"homepage":"https://github.com/nodejs/nan#readme","_id":"nan@2.11.1","_npmVersion":"5.6.0","_nodeVersion":"9.6.0","_npmUser":{"name":"kkoopa","email":"bbyholm@abo.fi"},"dist":{"integrity":"sha512-iji6k87OSXa0CcrLl9z+ZiYSuR2o+c0bGuNmXdrhTQTakxytAFsC56SArGYoiHlJlFoHSnvmhpceZJaXkVuOtA==","shasum":"90e22bccb8ca57ea4cd37cc83d3819b52eea6766","tarball":"http://localhost:4545/npm/registry/nan/nan-2.11.1.tgz","fileCount":47,"unpackedSize":487268,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbrzNSCRA9TVsSAnZWagAA0vgQAJoa+4F+vH2jgoMAIh2M\nduUOqUMSIKBSqcO1+OzZj8Xi1NTQXKnuxwUpcLfG7kUFSTXMNQ5pqXv4om8/\nViw9to8ZE5wAlK3Uqejk5qaQgVNmxeWtO91R85q3KNI6l1Z4qaRVJN13GwnS\nS1iwDlG/3dKLWAAcoJjP20uCHSvFmEsR+FJy0G5y76s+QSJNFI0TmZRXpowJ\nTezFZsBU/EFRBKKIv//nNvuSxh1/TITrD72sshjpjWdwWqJK0T9emtuBOGFT\nhjsYWGeykfu3HjxBwrzG4hNhyO7nQCl59TRoiPKyqNb70W9RvjJAcldwcMqX\nBddgZ5lZq4+qw+KBGnkoHvO5cS6CQoe3cgFNILGq1NNbPc22Kwp5CVdy1TXv\nC7BcutM20izHrQeBnilZTy+PFBx3eNixWJHFyVDZeGrF47t2jqKvcLEm1eF8\n7pA6/VxXDvE2D+MBjfpAWfSbZ0bR0jhDYvly+1DufutyCd+G6JzR04FsGg1y\nk873NoJ6P9WlZhzvnLBaoWOaQP8XOcxcugSQPP8lTA4hDmQwXY9K8Rwi6Ry2\nw+wGn2WAUQXQhKHJto6dJiIZyJ/yt0h5rjGnwzraXReQQXcTif2dSkvpAgPK\nRXVMRKQIh3us3mU6rSXwg08T4NopJLDLdEuwYYvoKy7xPZLx5uzP/phWLJsb\nG33O\r\n=ig8G\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICZDeikItDAz1df0uxhkhkw4KnMK1hX1M4koX0KMrhGTAiBR89lnZslEd4UWB/uNanrNkxUDC4Ul+QmAfuGGQCFZ9g=="}]},"maintainers":[{"name":"kkoopa","email":"bbyholm@abo.fi"},{"name":"rvagg","email":"rod@vagg.org"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nan_2.11.1_1538208593407_0.7919453530392533"},"_hasShrinkwrap":false},"2.12.0":{"name":"nan","version":"2.12.0","description":"Native Abstractions for Node.js: C++ header for Node 0.8 -> 11 compatibility","main":"include_dirs.js","repository":{"type":"git","url":"git://github.com/nodejs/nan.git"},"scripts":{"test":"tap --gc --stderr test/js/*-test.js","test:worker":"node --experimental-worker test/tap-as-worker.js --gc --stderr test/js/*-test.js","rebuild-tests":"node-gyp rebuild --msvs_version=2015 --directory test","docs":"doc/.build.sh"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"https://github.com/TooTallNate"},{"name":"Brett Lawson","email":"brett19@gmail.com","url":"https://github.com/brett19"},{"name":"Ben Noordhuis","email":"info@bnoordhuis.nl","url":"https://github.com/bnoordhuis"},{"name":"David Siegel","email":"david@artcom.de","url":"https://github.com/agnat"},{"name":"Michael Ira Krufky","email":"mkrufky@gmail.com","url":"https://github.com/mkrufky"}],"devDependencies":{"bindings":"~1.2.1","commander":"^2.8.1","glob":"^5.0.14","request":"=2.81.0","node-gyp":"~3.6.2","readable-stream":"^2.1.4","tap":"~0.7.1","xtend":"~4.0.0"},"license":"MIT","gitHead":"e8f8519db5f784b6b581b94d14bfe8df7cba91d2","bugs":{"url":"https://github.com/nodejs/nan/issues"},"homepage":"https://github.com/nodejs/nan#readme","_id":"nan@2.12.0","_npmVersion":"5.6.0","_nodeVersion":"9.6.0","_npmUser":{"name":"kkoopa","email":"bbyholm@abo.fi"},"dist":{"integrity":"sha512-zT5nC0JhbljmyEf+Z456nvm7iO7XgRV2hYxoBtPpnyp+0Q4aCoP6uWNn76v/I6k2kCYNLWqWbwBWQcjsNI/bjw==","shasum":"9d443fdb5e13a20770cc5e602eee59760a685885","tarball":"http://localhost:4545/npm/registry/nan/nan-2.12.0.tgz","fileCount":46,"unpackedSize":414432,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcFk+qCRA9TVsSAnZWagAAKTYP/ifKNoarxTcvHhn31rYR\nU2Gr9fmUnNnakkjaUwsJofQvqrBJDMzmT5t0gbHSrFRsTr8Jx2WgmIotef84\njyZfNqI09UM2xHXOKqUiZTcQlAQ9VErtHi2PDWr/A1i1qv/3AGPxYRMpbWR1\nTgI2bC1YGAq87470BB41C0BRfEXd2c6DffBYFEgkWoyDiAHrSltNwziENf9B\nV05ovWxdIf3ugIpgSKPYms+ff+lM4G7AcdDmg5zHw1PwmUcMN4hNRFROD+dN\nWGpNzVCyEZ7aIa1iwOcMzRm8s0OtUCo+pxq/nzOB0Oo9jtuEkH/hwSZbw0OL\n/wY57CsIAkbDj8/QBLDfQRjOWJ7pINiaY9smRmZzFkGnr216ZhvYAPaFpzeQ\nV+ioAr8mXnlJVQcoo0EXBave1DWt7ucZm3y9Hc0HeE267sJQMkwDJnGZxFDE\ntSq4RZwT8Kjzl4fDmWWEisIJAoOCYvgzF0sYvCODbMOJ9NQtwt7X8ZzPnrkQ\nBuB8D7HtcsUPgPAglq+XbjxKRTx4HP3HnMWieLNwLrBWhJG6QG25eabMpoYC\nV0DeDFYx6YebK01kmAmnZ8uxx1uBScKD91FwxijkWfwSPakxrX97aocYFXJw\naOFtkc0/vf6p/o3cpXKNwZ5dALAiqU2qPENY6kEwsV6eyX4RzCSKQBKN+cbc\nW3aJ\r\n=bGq5\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFXCBrpJ3uPKQH2EbxzEUBsiEtSS0iFmoOgMblKmx6YxAiArmnN/LHsgyCTTHGTmT68STBXktX0xpgsudAiELnJ9oQ=="}]},"maintainers":[{"name":"kkoopa","email":"bbyholm@abo.fi"},{"name":"rvagg","email":"rod@vagg.org"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nan_2.12.0_1544966058111_0.3054513371345562"},"_hasShrinkwrap":false},"2.12.1":{"name":"nan","version":"2.12.1","description":"Native Abstractions for Node.js: C++ header for Node 0.8 -> 11 compatibility","main":"include_dirs.js","repository":{"type":"git","url":"git://github.com/nodejs/nan.git"},"scripts":{"test":"tap --gc --stderr test/js/*-test.js","test:worker":"node --experimental-worker test/tap-as-worker.js --gc --stderr test/js/*-test.js","rebuild-tests":"node-gyp rebuild --msvs_version=2015 --directory test","docs":"doc/.build.sh"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"https://github.com/TooTallNate"},{"name":"Brett Lawson","email":"brett19@gmail.com","url":"https://github.com/brett19"},{"name":"Ben Noordhuis","email":"info@bnoordhuis.nl","url":"https://github.com/bnoordhuis"},{"name":"David Siegel","email":"david@artcom.de","url":"https://github.com/agnat"},{"name":"Michael Ira Krufky","email":"mkrufky@gmail.com","url":"https://github.com/mkrufky"}],"devDependencies":{"bindings":"~1.2.1","commander":"^2.8.1","glob":"^5.0.14","request":"=2.81.0","node-gyp":"~3.6.2","readable-stream":"^2.1.4","tap":"~0.7.1","xtend":"~4.0.0"},"license":"MIT","gitHead":"1b77c1186c7f36b17f73256c5b04c496a12adf4b","bugs":{"url":"https://github.com/nodejs/nan/issues"},"homepage":"https://github.com/nodejs/nan#readme","_id":"nan@2.12.1","_npmVersion":"5.6.0","_nodeVersion":"9.6.0","_npmUser":{"name":"kkoopa","email":"bbyholm@abo.fi"},"dist":{"integrity":"sha512-JY7V6lRkStKcKTvHO5NVSQRv+RV+FIL5pvDoLiAtSL9pKlC5x9PKQcZDsq7m4FO4d57mkhC6Z+QhAh3Jdk5JFw==","shasum":"7b1aa193e9aa86057e3c7bbd0ac448e770925552","tarball":"http://localhost:4545/npm/registry/nan/nan-2.12.1.tgz","fileCount":46,"unpackedSize":414999,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcGWAzCRA9TVsSAnZWagAAkoMQAJgEI+g1PFR6UlfI3nbv\n7HlsOR47Y2VNinIsyoQECyE1QNoaPH9f/1TflublZFh6pOCWyClc6MaFEP2e\nbQf7qkHTJfjviaLSUc0pqzve3DxKVoXbvRANhxBoWipHXkFTvQoPWc3f3LYx\nEvNlyOX9L6nHMaeMNooeD5Fcj5ZtGyc80IWouGTatOVLoQO1n5JAEb9PHuJD\nwgHfZHnkNOYO1YQ/9VeRVQ9K5z8mgcQhcBfKaSJrc9DolihwuvJ+iy4RWx3C\nHWpYzpJzo/xDNtX5LH9sZaezljt/vI1wacGdVGtXBM5GVTkb1pIDhDG5n8Vo\ntUHdVwLL7+sH/kjyurKU9L5spbkAJEgmpS8lerx+tD8HqOtv6R8EqPhADm6F\nI1bpMzoul8ALiUat+MUF81KivuwEJ0ydTED5tKnTno7btU0M2cC8otbXpXvg\nngVSotsAs9IVifZAGHwk0rmTckj1pdxL6WR+4/o+7y4c9xXBI6DNbS/DfuQe\nfSTgg8TJRVLlf/7vAE64L3q16EdCt9h5qdbfgvpK0Ww9fg/3vw9UuIvz/1z2\nMWXOWFVDZDSpFPXf8lanaes9IKdhO3arZJHlRnmFZ/HjCzzG5YHpy8Qsg7wT\n1jo0m/kdnW7onz9aoSZ40D6oGDLdp32QoJH2JFrhVl0fh7hetr8905KMkVpu\nZnpp\r\n=tMc9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAX3ol5lEIx6iTEWfisinCycjSVBMtjX1AqUFZRY/igrAiEA+q1y6GdcG1UiOkpNj0g6fVAprHd8gTiRTdVUp+0v+D4="}]},"maintainers":[{"name":"kkoopa","email":"bbyholm@abo.fi"},{"name":"rvagg","email":"rod@vagg.org"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nan_2.12.1_1545166898928_0.20846162122668432"},"_hasShrinkwrap":false},"2.13.0":{"name":"nan","version":"2.13.0","description":"Native Abstractions for Node.js: C++ header for Node 0.8 -> 11 compatibility","main":"include_dirs.js","repository":{"type":"git","url":"git://github.com/nodejs/nan.git"},"scripts":{"test":"tap --gc --stderr test/js/*-test.js","test:worker":"node --experimental-worker test/tap-as-worker.js --gc --stderr test/js/*-test.js","rebuild-tests":"node-gyp rebuild --msvs_version=2015 --directory test","docs":"doc/.build.sh"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"https://github.com/TooTallNate"},{"name":"Brett Lawson","email":"brett19@gmail.com","url":"https://github.com/brett19"},{"name":"Ben Noordhuis","email":"info@bnoordhuis.nl","url":"https://github.com/bnoordhuis"},{"name":"David Siegel","email":"david@artcom.de","url":"https://github.com/agnat"},{"name":"Michael Ira Krufky","email":"mkrufky@gmail.com","url":"https://github.com/mkrufky"}],"devDependencies":{"bindings":"~1.2.1","commander":"^2.8.1","glob":"^5.0.14","request":"=2.81.0","node-gyp":"~3.6.2","readable-stream":"^2.1.4","tap":"~0.7.1","xtend":"~4.0.0"},"license":"MIT","gitHead":"24c6357e53f02c5344847e8f64bb02db45ba5627","bugs":{"url":"https://github.com/nodejs/nan/issues"},"homepage":"https://github.com/nodejs/nan#readme","_id":"nan@2.13.0","_npmVersion":"5.6.0","_nodeVersion":"9.6.0","_npmUser":{"name":"kkoopa","email":"bbyholm@abo.fi"},"dist":{"integrity":"sha512-5DDQvN0luhXdut8SCwzm/ZuAX2W+fwhqNzfq7CZ+OJzQ6NwpcqmIGyLD1R8MEt7BeErzcsI0JLr4pND2pNp2Cw==","shasum":"7bdfc27dd3c060c46e60b62c72b74012d1a4cd68","tarball":"http://localhost:4545/npm/registry/nan/nan-2.13.0.tgz","fileCount":46,"unpackedSize":416211,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJciYbLCRA9TVsSAnZWagAADc0QAKNxJUs+1fHRtmFMIAv7\nXb2ObCu8VH6wPDDvhpqr+pFIQIocBsmqNdr8rD7d2WlVxThrmDQ2pkVqQOVC\nGgSjChjFVcUA/6kcFYfbX+OzS8aZirFKdr2a5RDrsK6QvaoAmw0MhMU5u3RN\nnLuvjfnlFQCm6yLfUZSRYKK70EA3n5IbjidWNMuqPvKJ3M4mXa/naSVNGqGA\nCJsUufCaMRl4P120+4+250RS8nJO55PWeHsRIwgudoQyxEc5ItH0QeGw6tNe\nrHv9lM1Yf0AQ8Zlkl0RbvX7vcMTo6wTGWGVCklP7ApBzL90oasoJ4U0TWsGc\nJUcdUKVD04xoVvuXch4YL9UWcmH4R35L3eOHAOknQiv2TqXzi6vdePCdpE1M\nNAuyCEvuvruDMLLUSQJ1ch98mvscKIfZwOOcmSIbdPzY99lPDdWgpkPNamMF\n9eM19nBvuJaKLssjIcpTcKYEERlhiWTZ6kMhc4i/w+3zySO7T6usBYsZjNyT\nEaf6WWrBLrYtRnio7hSAgiIayHmbgritN8ErvP7/SkJYtAp/Zm88elQxtRcE\nivBnVnATCcdXQBtn9O1B8mhJEefIrNVlR90L8nfoo9q5ntthGVysyqgKmReA\noHjmrlK3Gl6eY2gdK8WAA4fYZmxnRtzrci8Y1yrn4mvbBjKsU8CPwZ+WtweA\nLB6a\r\n=S1LC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCQOKfAu0xo1Olsv5feqEn33J+SsvvNtJe5keMAP9DD2gIgBAwdAT1QWBm1scjem259vAzOl/zgzjcQh53Cql9osNI="}]},"maintainers":[{"name":"kkoopa","email":"bbyholm@abo.fi"},{"name":"rvagg","email":"rod@vagg.org"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nan_2.13.0_1552516810400_0.9078450704100733"},"_hasShrinkwrap":false},"2.13.1":{"name":"nan","version":"2.13.1","description":"Native Abstractions for Node.js: C++ header for Node 0.8 -> 11 compatibility","main":"include_dirs.js","repository":{"type":"git","url":"git://github.com/nodejs/nan.git"},"scripts":{"test":"tap --gc --stderr test/js/*-test.js","test:worker":"node --experimental-worker test/tap-as-worker.js --gc --stderr test/js/*-test.js","rebuild-tests":"node-gyp rebuild --msvs_version=2015 --directory test","docs":"doc/.build.sh"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"https://github.com/TooTallNate"},{"name":"Brett Lawson","email":"brett19@gmail.com","url":"https://github.com/brett19"},{"name":"Ben Noordhuis","email":"info@bnoordhuis.nl","url":"https://github.com/bnoordhuis"},{"name":"David Siegel","email":"david@artcom.de","url":"https://github.com/agnat"},{"name":"Michael Ira Krufky","email":"mkrufky@gmail.com","url":"https://github.com/mkrufky"}],"devDependencies":{"bindings":"~1.2.1","commander":"^2.8.1","glob":"^5.0.14","request":"=2.81.0","node-gyp":"~3.6.2","readable-stream":"^2.1.4","tap":"~0.7.1","xtend":"~4.0.0"},"license":"MIT","gitHead":"19f08c2394b19a5dbe854020fed0446606d68955","bugs":{"url":"https://github.com/nodejs/nan/issues"},"homepage":"https://github.com/nodejs/nan#readme","_id":"nan@2.13.1","_npmVersion":"5.6.0","_nodeVersion":"9.6.0","_npmUser":{"name":"kkoopa","email":"bbyholm@abo.fi"},"dist":{"integrity":"sha512-I6YB/YEuDeUZMmhscXKxGgZlFnhsn5y0hgOZBadkzfTRrZBtJDZeg6eQf7PYMIEclwmorTKK8GztsyOUSVBREA==","shasum":"a15bee3790bde247e8f38f1d446edcdaeb05f2dd","tarball":"http://localhost:4545/npm/registry/nan/nan-2.13.1.tgz","fileCount":46,"unpackedSize":416465,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcis3lCRA9TVsSAnZWagAA99kP/iAWCAc0pkQp7r4B/2f3\n2VQBLO8I5QThewxHroCALastX+4feQXXBreL5nrkuZy0Qki0EfzSZsTaDJz9\nslPnBF9MrT00o2vx6OKhxae9G6n0gZ5Mx+TqxiKdAl9op3RjqRtZHAygheSF\n0HdrtlRAZxplrMH9d/qvuEF20KmT2hjQ/epD90g0bH5hM3g7KzqgLIuZ7V/+\nbz6SEv+bI/l10jo7BYo89tjr12RreCkFy9RbvyqjXDHBCbM9wn9zczWH5WCJ\nh6/n1d9zxnj63xJ5AFYRpWPJ24kndw6jtvR4g3fa+R8gNnhKP5xXpoePtLfZ\nO+0/zANjDQf7qXeAsk6SywbFlAiFE2QftuJqTphOG26hrbWGURsNHsOy2Q94\nU7Q+vy8fehSJ48cHwhTuoc1TLTwKQWH/+daIuaslALmPvWtIi6ZJrf9Jrulp\nCO3GY+JTZmQKBnFvXGhRG6QjdfzGu05D4XTBesqVj+MVf7weXs548NPUitIg\n/qwjADZRrlCNijCC39JSgGuDf2xJzqg/APk5Mmy13piX4m2zyc2Q27fagPgb\nzcNYj5OZLHnotgbBBaukJOBob/n0+/OzUVBdLItwMNPE7IfJNo1+4gdVYG1+\n4rzVugjlQg5Nne0Ifts1vzDVUJ1A6DoxAeEz9Zn7ghTiDgQXSW550ziDDsCY\nWEfj\r\n=Qy+m\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCPDkQcv631rNNmVlHSh9L4ZhetuAKD8OlIlUBeWtIu5QIgIWCrmL7dwff2uwXZ9HgWqumRAB793BNAn/iiOEEtAlM="}]},"maintainers":[{"name":"kkoopa","email":"bbyholm@abo.fi"},{"name":"rvagg","email":"rod@vagg.org"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nan_2.13.1_1552600548761_0.5425426860056854"},"_hasShrinkwrap":false},"2.13.2":{"name":"nan","version":"2.13.2","description":"Native Abstractions for Node.js: C++ header for Node 0.8 -> 11 compatibility","main":"include_dirs.js","repository":{"type":"git","url":"git://github.com/nodejs/nan.git"},"scripts":{"test":"tap --gc --stderr test/js/*-test.js","test:worker":"node --experimental-worker test/tap-as-worker.js --gc --stderr test/js/*-test.js","rebuild-tests":"node-gyp rebuild --msvs_version=2015 --directory test","docs":"doc/.build.sh"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"https://github.com/TooTallNate"},{"name":"Brett Lawson","email":"brett19@gmail.com","url":"https://github.com/brett19"},{"name":"Ben Noordhuis","email":"info@bnoordhuis.nl","url":"https://github.com/bnoordhuis"},{"name":"David Siegel","email":"david@artcom.de","url":"https://github.com/agnat"},{"name":"Michael Ira Krufky","email":"mkrufky@gmail.com","url":"https://github.com/mkrufky"}],"devDependencies":{"bindings":"~1.2.1","commander":"^2.8.1","glob":"^5.0.14","request":"=2.81.0","node-gyp":"~3.6.2","readable-stream":"^2.1.4","tap":"~0.7.1","xtend":"~4.0.0"},"license":"MIT","gitHead":"c428b85786c41e4d55c11c02fe04ef1adba80934","bugs":{"url":"https://github.com/nodejs/nan/issues"},"homepage":"https://github.com/nodejs/nan#readme","_id":"nan@2.13.2","_npmVersion":"5.6.0","_nodeVersion":"9.6.0","_npmUser":{"name":"kkoopa","email":"bbyholm@abo.fi"},"dist":{"integrity":"sha512-TghvYc72wlMGMVMluVo9WRJc0mB8KxxF/gZ4YYFy7V2ZQX9l7rgbPg7vjS9mt6U5HXODVFVI2bOduCzwOMv/lw==","shasum":"f51dc7ae66ba7d5d55e1e6d4d8092e802c9aefe7","tarball":"http://localhost:4545/npm/registry/nan/nan-2.13.2.tgz","fileCount":46,"unpackedSize":416510,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcl5T0CRA9TVsSAnZWagAAiQ4QAKLRrhcLF7X35CmFE7Q1\n9kSj7Madc0MFOwpqAMjTALGe/zlu5sjAFu6aRRDLhLKOVel7PsX+FuNENv4A\nCTz5VQu8Q7Gx3uCq+1R5RReogxyQzhQR0gpJS2b3tm/nza8cBSLBS5G7F5HN\n5bD0V0b2lTDAaqsfUVRq0ocuXRY5uu79JfCnF4w0I+W4AfUKVIMI1xXjSiJo\n3kTXdMbjDXkCzy6picwLGte0EYMy005XcB4o0U9l1xkvQ/ebn9lsQHD+MGOX\nz0zLyMT+ZwnUD7XMdHmdLYQBRC4pkekHzGhB6lzNietmaIXgQboTkd86AjqQ\niYifuF7yNL3CipBgcdBE5B1gPIx22TfGjSnIFXuYjbtYWIbxkOWU42c5E2hy\nDS3WOkcHNu75ygW4gNcH4QPcHD3foFS3nPl5pShW9u1PpKKSuQiezPk0VMxP\n0hNmP5s3pp82I8cLPhs/qc55NCecGJnu82PM/osXOV9Tn7VBGstIXOKElyV0\nPevcUfnviqUyHwn6itFajsvoTUFLTQSz/YYCeOI1nXgoca/5cwOy2Ta2bYxT\nlEDSWve7kONxW0WRUcYQlz6iz7vrwu+xADX0wEwPImttEUuJ7h7zhU4scGAT\n7x4jTEYIQy5OZOjWrMZPlRyD/PBYq8UCQ3nic21IRc1B81/OVxrJ3Dcw3Pgd\n49k2\r\n=DnIP\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCkvzukBxO83/GpQX4rxtXl54DJDLXXCit2hG57fumcWwIhAMaFC0FFGwrWtRs3zmHfaUOk59VCjvuW6av11aOAPtcr"}]},"maintainers":[{"name":"kkoopa","email":"bbyholm@abo.fi"},{"name":"rvagg","email":"rod@vagg.org"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nan_2.13.2_1553437939841_0.6110006893669775"},"_hasShrinkwrap":false},"2.14.0":{"name":"nan","version":"2.14.0","description":"Native Abstractions for Node.js: C++ header for Node 0.8 -> 11 compatibility","main":"include_dirs.js","repository":{"type":"git","url":"git://github.com/nodejs/nan.git"},"scripts":{"test":"tap --gc --stderr test/js/*-test.js","test:worker":"node --experimental-worker test/tap-as-worker.js --gc --stderr test/js/*-test.js","rebuild-tests":"node-gyp rebuild --msvs_version=2015 --directory test","docs":"doc/.build.sh"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"https://github.com/TooTallNate"},{"name":"Brett Lawson","email":"brett19@gmail.com","url":"https://github.com/brett19"},{"name":"Ben Noordhuis","email":"info@bnoordhuis.nl","url":"https://github.com/bnoordhuis"},{"name":"David Siegel","email":"david@artcom.de","url":"https://github.com/agnat"},{"name":"Michael Ira Krufky","email":"mkrufky@gmail.com","url":"https://github.com/mkrufky"}],"devDependencies":{"bindings":"~1.2.1","commander":"^2.8.1","glob":"^5.0.14","request":"=2.81.0","node-gyp":"~3.6.2","readable-stream":"^2.1.4","tap":"~0.7.1","xtend":"~4.0.0"},"license":"MIT","gitHead":"1dcc61bd06d84e389bfd5311b2b1492a14c74201","bugs":{"url":"https://github.com/nodejs/nan/issues"},"homepage":"https://github.com/nodejs/nan#readme","_id":"nan@2.14.0","_npmVersion":"5.6.0","_nodeVersion":"9.6.0","_npmUser":{"name":"kkoopa","email":"bbyholm@abo.fi"},"dist":{"integrity":"sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==","shasum":"7818f722027b2459a86f0295d434d1fc2336c52c","tarball":"http://localhost:4545/npm/registry/nan/nan-2.14.0.tgz","fileCount":46,"unpackedSize":417060,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc3bXpCRA9TVsSAnZWagAApycP/2mhtcraLrh5RRziC2xM\nUKDaEjBIznHn7PqDWecW3HW/CGrUfmuxpDCBlE2fBm2cxF26nB/CV6xoD2W1\nkyu4MkRcKiAvNW0h4a5sTwXey0U6xc8JRBhBTWgfiY2aQoA4fIO5akmbIa/w\nyT6tspFQ0BQWKBrxlSOqfQ/lARU4Dzy2eiKu1aWMffQecgqOPTrlb5/QxFsr\nUmfdePyO2odVrjDiiNJsfkHeMh66ED4n7szrRjwkz7FTkoEF0dMOw/bWJU2X\nEYVziHG7rm9B4Blzv6KtqG4Y9Gty8epOG+itSLQcc088H86TXYXJn6y75+lf\n1Lw5E9lxw5XLfVnE7uzr0NVHhcj/M3RaGzXySi7v2AWMbF6wqxtAdebdNaew\nIpc3+NVj2OjA/79bzzhU76MG0PrYURE8UmVugHZHGp9L1PraD/jWqCT1JMGE\n1qGu2dSlsqoyNe9Y1pTs/kc+I4KLjwDqo14NyQQk8quvkyHrQ66oO5lAPN4U\n5ms7vR+FOZYrtX7jQDTAs9N169N0IxhGwgsUH4zRza2RkkdTzsjyEnPhqlrI\n6tIrfYldrudrGtcNmLJqY7fTUA86L3f7SQvlnpfsDPUFagfwQr4Uz9JE8q1k\nhbe8CqTuhbET2AZNFlBxf0ii3ipwNXXJtB/0hIVQCfud1vbdS1IuOibc2/YY\n6ep0\r\n=AZxH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDSSMAvJIIcN1n+b3sd4XvjsQIilxi1gzolaD8zl/vUVwIgA0lqFK4gQUr978FOUhlyA0jvWHkv3ywdAsKVmrrVpzc="}]},"maintainers":[{"name":"kkoopa","email":"bbyholm@abo.fi"},{"name":"rvagg","email":"rod@vagg.org"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nan_2.14.0_1558033896058_0.6879275796293267"},"_hasShrinkwrap":false},"2.14.1":{"name":"nan","version":"2.14.1","description":"Native Abstractions for Node.js: C++ header for Node 0.8 -> 14 compatibility","main":"include_dirs.js","repository":{"type":"git","url":"git://github.com/nodejs/nan.git"},"scripts":{"test":"tap --gc --stderr test/js/*-test.js","test:worker":"node --experimental-worker test/tap-as-worker.js --gc --stderr test/js/*-test.js","rebuild-tests":"node-gyp rebuild --msvs_version=2015 --directory test","docs":"doc/.build.sh"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"https://github.com/TooTallNate"},{"name":"Brett Lawson","email":"brett19@gmail.com","url":"https://github.com/brett19"},{"name":"Ben Noordhuis","email":"info@bnoordhuis.nl","url":"https://github.com/bnoordhuis"},{"name":"David Siegel","email":"david@artcom.de","url":"https://github.com/agnat"},{"name":"Michael Ira Krufky","email":"mkrufky@gmail.com","url":"https://github.com/mkrufky"}],"devDependencies":{"bindings":"~1.2.1","commander":"^2.8.1","glob":"^5.0.14","request":"=2.81.0","node-gyp":"~3.6.2","readable-stream":"^2.1.4","tap":"~0.7.1","xtend":"~4.0.0"},"license":"MIT","gitHead":"eaae2683a3df542376797a11385b87b9c0d071c5","bugs":{"url":"https://github.com/nodejs/nan/issues"},"homepage":"https://github.com/nodejs/nan#readme","_id":"nan@2.14.1","_npmVersion":"5.6.0","_nodeVersion":"9.6.0","_npmUser":{"name":"kkoopa","email":"bbyholm@abo.fi"},"dist":{"integrity":"sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw==","shasum":"d7be34dfa3105b91494c3147089315eff8874b01","tarball":"http://localhost:4545/npm/registry/nan/nan-2.14.1.tgz","fileCount":46,"unpackedSize":417637,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJen0KtCRA9TVsSAnZWagAAEJAP/AuPED/luXpLqjqUtyRc\nm1zYL5L3e5XyxkCZ+/Agc1gi/p1SG0zFo5XrgabTVcPsyZ2RwAyB+hUCDlC7\nHRp/VbfR/lvEGvcznzsjm4pcn+8oIM5vR+RM035LR+RsvZ+TxBVc4P6Oe9vT\njwsPquNy/PJseIygzNvteINOr5iGUVVOq61pkqzmUP3WrydxVYY6kLn1y+F2\nM1poBixx4NOHdhTuv65B7N7hK7A5YDVZhetGEA8tDEF4KCOB2vgx/kWdaz2k\nA/r94QRILObXIFriUM0CNI5p/gBEIEJ9art5U7eiQwvDJXKmAkSR2nSsJMf7\nusH4+Ot40dVCUbLw/kGYpPAJ+BTdPpFqmW5UFkheCaq/Neihkioj6RDJ8eco\n8Oh4xVPLH9/cT1IhvYlKRmuWyPKU57y9saEvB1PWcUecp/fkc1Aonptak6dK\n87DAk9+85S/mwhQExlwc9SSBsPXIyY6UjSmwfEUPuY9BlD8SmLasdkIPFC8V\nEcjzebcVo8kd5nOz/9PrwZE5Gkfs4B5SpJTK92ZLYOIEcht2l4CvglELBxbj\n5Hd+scHKmWvHyrShBkRie2BDQXzroDbGYqoKHuzAOgv075APk9yvEYOnqP/4\nzz68DIGbYgNwPCLEEO4q34fdX/1SHtZ+Yb+sN+AqULIVHjmzAKKkcDgsLNmK\nqOt2\r\n=EVf+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCoOvFkC2M8ctpo9ZpebIfzJU9cqph+G4Yjmiq38noC0AIgJEIxk3mL5YEGXCDTINAzi+AmKwa+H6gM18vVRC2M8g4="}]},"maintainers":[{"name":"kkoopa","email":"bbyholm@abo.fi"},{"name":"rvagg","email":"rod@vagg.org"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nan_2.14.1_1587495596751_0.585087272794657"},"_hasShrinkwrap":false},"2.14.2":{"name":"nan","version":"2.14.2","description":"Native Abstractions for Node.js: C++ header for Node 0.8 -> 14 compatibility","main":"include_dirs.js","repository":{"type":"git","url":"git://github.com/nodejs/nan.git"},"scripts":{"test":"tap --gc --stderr test/js/*-test.js","test:worker":"node --experimental-worker test/tap-as-worker.js --gc --stderr test/js/*-test.js","rebuild-tests":"node-gyp rebuild --msvs_version=2015 --directory test","docs":"doc/.build.sh"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"https://github.com/TooTallNate"},{"name":"Brett Lawson","email":"brett19@gmail.com","url":"https://github.com/brett19"},{"name":"Ben Noordhuis","email":"info@bnoordhuis.nl","url":"https://github.com/bnoordhuis"},{"name":"David Siegel","email":"david@artcom.de","url":"https://github.com/agnat"},{"name":"Michael Ira Krufky","email":"mkrufky@gmail.com","url":"https://github.com/mkrufky"}],"devDependencies":{"bindings":"~1.2.1","commander":"^2.8.1","glob":"^5.0.14","request":"=2.81.0","node-gyp":"~3.6.2","readable-stream":"^2.1.4","tap":"~0.7.1","xtend":"~4.0.0"},"license":"MIT","gitHead":"7c3fc6884666bd19b597ea58a99f51f2f4860c4e","bugs":{"url":"https://github.com/nodejs/nan/issues"},"homepage":"https://github.com/nodejs/nan#readme","_id":"nan@2.14.2","_npmVersion":"5.6.0","_nodeVersion":"9.6.0","_npmUser":{"name":"kkoopa","email":"bbyholm@abo.fi"},"dist":{"integrity":"sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==","shasum":"f5376400695168f4cc694ac9393d0c9585eeea19","tarball":"http://localhost:4545/npm/registry/nan/nan-2.14.2.tgz","fileCount":46,"unpackedSize":417991,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfhaJzCRA9TVsSAnZWagAAqa0P/33rKLxI1mx53dz2Z6/B\nQQAJOUcgZgpIdY7LkaDGw6oTRyYoDg9uq1aOW7uL6OTJGZb/0UH3LS/gs5CK\nUk1CnYitqHSmyzOCO6tZyQmiFqYqLJf5drQn+uV9sU3bi2+u42Z03vTv5v+j\nEwRLH3TfeMbrEOgDdBuo6RB+jgaZHKyEXsvCe6NXXAaAQ8as82vtDOA1FOzq\nhB91RTYgS57lF3g/ciWg/Bvb7o2Fwep7+Ah/22Cpz9UC8fm8QGz4/lQRba3m\n504ah7HXRoF79+HqvntRKF0j8fJ8fpX3cu7wQ5UND8bj/VhhNpKZtM/tCv98\nq00KMaWYNqD+NJYKULLS658iJVjpPNr9UElb3+jNDCoX+UEvdOckuJKwo5u0\n7HRmqpE6Pb0MGfVqhHK6K3buwg+eccMcCKPiHHaiZvqa/jD0savGNx2ylMVD\niTpyl8XV+ZU9vfR1tJ3OFYzOGfXOGG5LqOut/hT0qjBLTWXL3ajPcxCNdJRH\nWSrDJ7Y3da/KkyMdX37t39Q6JkQbD2hz2nGNIr1pe36CNqx8FMOvnHG2Gwuy\nGFdcABFLpkppKhHmRebaRlQXJ416KHzxUkD+A/5DcUb7ChoJgn4j6TN7ewVb\nNOb7UllppKKHOseXgre8uJM1vVslNLVsBYzfgv58uhSTbMvo5QBuK/QHKilw\nRoBa\r\n=4oJR\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCH2IwkZaE4CjWRLr9h/NQcFR7mOEhBltEN96Kcb/3wCACIQCmQIC5xSlm4KD823GQes29Mai0YvI9VtKD691mpFhn8g=="}]},"maintainers":[{"name":"kkoopa","email":"bbyholm@abo.fi"},{"name":"rvagg","email":"r@va.gg"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nan_2.14.2_1602593394727_0.8742800087816833"},"_hasShrinkwrap":false},"2.15.0":{"name":"nan","version":"2.15.0","description":"Native Abstractions for Node.js: C++ header for Node 0.8 -> 14 compatibility","main":"include_dirs.js","repository":{"type":"git","url":"git://github.com/nodejs/nan.git"},"scripts":{"test":"tap --gc --stderr test/js/*-test.js","test:worker":"node --experimental-worker test/tap-as-worker.js --gc --stderr test/js/*-test.js","rebuild-tests":"node-gyp rebuild --msvs_version=2015 --directory test","docs":"doc/.build.sh"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"https://github.com/TooTallNate"},{"name":"Brett Lawson","email":"brett19@gmail.com","url":"https://github.com/brett19"},{"name":"Ben Noordhuis","email":"info@bnoordhuis.nl","url":"https://github.com/bnoordhuis"},{"name":"David Siegel","email":"david@artcom.de","url":"https://github.com/agnat"},{"name":"Michael Ira Krufky","email":"mkrufky@gmail.com","url":"https://github.com/mkrufky"}],"devDependencies":{"bindings":"~1.2.1","commander":"^2.8.1","glob":"^5.0.14","request":"=2.81.0","node-gyp":"~3.6.2","readable-stream":"^2.1.4","tap":"~0.7.1","xtend":"~4.0.0"},"license":"MIT","gitHead":"8502c2417b9c1d0ea86c1e0aea6e975d26bf682b","bugs":{"url":"https://github.com/nodejs/nan/issues"},"homepage":"https://github.com/nodejs/nan#readme","_id":"nan@2.15.0","_npmVersion":"5.6.0","_nodeVersion":"9.6.0","_npmUser":{"name":"kkoopa","email":"bbyholm@abo.fi"},"dist":{"integrity":"sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==","shasum":"3f34a473ff18e15c1b5626b62903b5ad6e665fee","tarball":"http://localhost:4545/npm/registry/nan/nan-2.15.0.tgz","fileCount":47,"unpackedSize":422231,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhCryPCRA9TVsSAnZWagAAcu4P/Am7dSL+2F1Onhq/bVKA\nbbPw7Na1fM2siWCblsXDxyDR/MKEApsFQFoBUH34AtN/0LAe/TdcHYTNmRe6\nsMj8Ut+G+bbod4QA4xgsWIIBuPgqDuFVNQOKl8VeOI3nmRmfa0dq/J3SBLon\nAmWKpMAMKTO7n9UOfqzK2F3Twnd0S1x0IuOWxCl8yQaAojdGmgt6jBmDnzzn\ndcrPg647/tfG4oMzBLGPw466XKn8Vyl7v4MxGeORirVEXpAELA0F2K+fIUpL\nWDm/9x7gF9Y+X4UCuHPWxNndJTwWeJRvlBrobXWsGUPBJc2M2PZMy1C2gUQC\nRH0Yiujeo7dakze+e7nSfEtTeexzA5wNMVbylpb1Fom6EfKBI4p+3rUi4wZd\nnmNBRfazt+9LWztJxrR65Kt1OcXZFtseplr8ibxx21pSi0YX9AIXKMRmewnp\nuYUVkwXkkSeWczQgE63kaGNsix/OtN2ESEn3JyM74wEp/r+jTZUA+MMAv3SG\nlt/PhchQaiU8I/ZLWSHwICWzYMzEd7PejWJ5Qj7cGHGwhzwCvUeodUFazgE4\nhlVKzR8Uwdc/kpu8EkB+xkqkiDvaKw/6Kd73Lw3ElPeAXXsfz7+g03qZCocX\nGk7oQribCHzsnomfh4Hw/Ik7t+nBbF68GFrb+Gp9NMJAmiTOqmxuDXDhBFJi\nNUKf\r\n=WgvI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB2Zc9H0OIp1szE6mdB6aBU4unglZt6zMe9AUrwhXB9uAiBPiZEOczJ/8FY427YXHTNy0Cjy424gNT/ECzMUG5FIcw=="}]},"directories":{},"maintainers":[{"name":"kkoopa","email":"bbyholm@abo.fi"},{"name":"rvagg","email":"r@va.gg"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nan_2.15.0_1628093583315_0.20149876055617688"},"_hasShrinkwrap":false},"2.16.0":{"name":"nan","version":"2.16.0","description":"Native Abstractions for Node.js: C++ header for Node 0.8 -> 14 compatibility","main":"include_dirs.js","repository":{"type":"git","url":"git://github.com/nodejs/nan.git"},"scripts":{"test":"tap --gc --stderr test/js/*-test.js","test:worker":"node --experimental-worker test/tap-as-worker.js --gc --stderr test/js/*-test.js","rebuild-tests":"node-gyp rebuild --msvs_version=2015 --directory test","docs":"doc/.build.sh"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"https://github.com/TooTallNate"},{"name":"Brett Lawson","email":"brett19@gmail.com","url":"https://github.com/brett19"},{"name":"Ben Noordhuis","email":"info@bnoordhuis.nl","url":"https://github.com/bnoordhuis"},{"name":"David Siegel","email":"david@artcom.de","url":"https://github.com/agnat"},{"name":"Michael Ira Krufky","email":"mkrufky@gmail.com","url":"https://github.com/mkrufky"}],"devDependencies":{"bindings":"~1.2.1","commander":"^2.8.1","glob":"^5.0.14","request":"=2.81.0","node-gyp":"~8.4.1","readable-stream":"^2.1.4","tap":"~0.7.1","xtend":"~4.0.0"},"license":"MIT","gitHead":"22c8ac4b6de36a66a1cfef9363d4d7c12db87cd6","bugs":{"url":"https://github.com/nodejs/nan/issues"},"homepage":"https://github.com/nodejs/nan#readme","_id":"nan@2.16.0","_nodeVersion":"18.2.0","_npmVersion":"8.10.0","dist":{"integrity":"sha512-UdAqHyFngu7TfQKsCBgAA6pWDkT8MAO7d0jyOecVhN5354xbLqdn8mV9Tat9gepAupm0bt2DbeaSC8vS52MuFA==","shasum":"664f43e45460fb98faf00edca0bb0d7b8dce7916","tarball":"http://localhost:4545/npm/registry/nan/nan-2.16.0.tgz","fileCount":47,"unpackedSize":422414,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHVjXzivYF3hOXU9fxRqSho8nssRbOAd1fdls0zmnkaJAiAZR2VASD82lewv/SBq0EXg4sAr1e7jH1tJyR4BwempZQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJijimrACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq1VA/9HTCiBC8rskDfNvzkp7a1wAYpjPIC9Ih4bc1rpy0Os6g9sgsI\r\nSF8Fsxzf8gaUmU5nMTRJ0jnmmMk4O73+ZwXaKaeZHZKrziFKmEcKPedaiDlD\r\n8XFxpnvvki/vg4Mx7bxebI/+OLkJgHxHTGCqHn/WHjq7su/NADmdLlc2AtMW\r\nwgCBHQlwgslTIQHr42quOnqSueNNtT2jSQCIbypH5+ex875bMLvga0qSdV2N\r\nCA+K/7wzpba/KJXxhiJ2pER7mEH3ntDAb7sROziyZ2/qnJi6vMOsO8+0m5gZ\r\nG3dV/1BjGyYW8mySJGekrazQUeQa413RY1fHdSWLNtUiRZQqhA4+yaOCvsx4\r\nznUy1Qi/4d3ZMpFKI5iqw9mvvosVP7i1rISz016zeiqJZSEKaV/sSpUa9xFn\r\nbGLOGmMHnBzSV0W2zG+lK6LknZlyEL173iuSrmQccvWIUNvDFUAsXo71KPbw\r\nn7Mjg7h9MuM+8msw1Vp8ZzzgveJfY5oRF6XaTY2X1GT+mZaFMC++5UTL3NJQ\r\nGJaaQ13HZIFoQ6+CpNDWWkaj1SQ/A2qD//I+cKbaoE40wtzHiXLReXSS3rpO\r\nHAY9whAA8CVSJC2pH/lA9ugBM06euSCfk4knoHhrw/gSXNfV7vBxjkFF/Rzd\r\n8K+KAQOLcl1YXKN3PHQ47jj/NOE0qX7G7pY=\r\n=O0dW\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"kkoopa","email":"bbyholm@abo.fi"},"directories":{},"maintainers":[{"name":"kkoopa","email":"bbyholm@abo.fi"},{"name":"rvagg","email":"r@va.gg"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nan_2.16.0_1653483946865_0.982634005374736"},"_hasShrinkwrap":false}},"readme":"Native Abstractions for Node.js\n===============================\n\n**A header file filled with macro and utility goodness for making add-on development for Node.js easier across versions 0.8, 0.10, 0.12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17 and 18.**\n\n***Current version: 2.16.0***\n\n*(See [CHANGELOG.md](https://github.com/nodejs/nan/blob/master/CHANGELOG.md) for complete ChangeLog)*\n\n[](https://nodei.co/npm/nan/) [](https://nodei.co/npm/nan/)\n\n[](https://travis-ci.com/nodejs/nan)\n[](https://ci.appveyor.com/project/RodVagg/nan)\n\nThanks to the crazy changes in V8 (and some in Node core), keeping native addons compiling happily across versions, particularly 0.10 to 0.12 to 4.0, is a minor nightmare. The goal of this project is to store all logic necessary to develop native Node.js addons without having to inspect `NODE_MODULE_VERSION` and get yourself into a macro-tangle.\n\nThis project also contains some helper utilities that make addon development a bit more pleasant.\n\n * **[News & Updates](#news)**\n * **[Usage](#usage)**\n * **[Example](#example)**\n * **[API](#api)**\n * **[Tests](#tests)**\n * **[Known issues](#issues)**\n * **[Governance & Contributing](#governance)**\n\n<a name=\"news\"></a>\n\n## News & Updates\n\n<a name=\"usage\"></a>\n\n## Usage\n\nSimply add **NAN** as a dependency in the *package.json* of your Node addon:\n\n``` bash\n$ npm install --save nan\n```\n\nPull in the path to **NAN** in your *binding.gyp* so that you can use `#include <nan.h>` in your *.cpp* files:\n\n``` python\n\"include_dirs\" : [\n \"<!(node -e \\\"require('nan')\\\")\"\n]\n```\n\nThis works like a `-I<path-to-NAN>` when compiling your addon.\n\n<a name=\"example\"></a>\n\n## Example\n\nJust getting started with Nan? Take a look at the **[Node Add-on Examples](https://github.com/nodejs/node-addon-examples)**.\n\nRefer to a [quick-start **Nan** Boilerplate](https://github.com/fcanas/node-native-boilerplate) for a ready-to-go project that utilizes basic Nan functionality.\n\nFor a simpler example, see the **[async pi estimation example](https://github.com/nodejs/nan/tree/master/examples/async_pi_estimate)** in the examples directory for full code and an explanation of what this Monte Carlo Pi estimation example does. Below are just some parts of the full example that illustrate the use of **NAN**.\n\nYet another example is **[nan-example-eol](https://github.com/CodeCharmLtd/nan-example-eol)**. It shows newline detection implemented as a native addon.\n\nAlso take a look at our comprehensive **[C++ test suite](https://github.com/nodejs/nan/tree/master/test/cpp)** which has a plethora of code snippets for your pasting pleasure.\n\n<a name=\"api\"></a>\n\n## API\n\nAdditional to the NAN documentation below, please consult:\n\n* [The V8 Getting Started * Guide](https://v8.dev/docs/embed)\n* [V8 API Documentation](https://v8docs.nodesource.com/)\n* [Node Add-on Documentation](https://nodejs.org/api/addons.html)\n\n<!-- START API -->\n\n### JavaScript-accessible methods\n\nA _template_ is a blueprint for JavaScript functions and objects in a context. You can use a template to wrap C++ functions and data structures within JavaScript objects so that they can be manipulated from JavaScript. See the V8 Embedders Guide section on [Templates](https://github.com/v8/v8/wiki/Embedder%27s-Guide#templates) for further information.\n\nIn order to expose functionality to JavaScript via a template, you must provide it to V8 in a form that it understands. Across the versions of V8 supported by NAN, JavaScript-accessible method signatures vary widely, NAN fully abstracts method declaration and provides you with an interface that is similar to the most recent V8 API but is backward-compatible with older versions that still use the now-deceased `v8::Argument` type.\n\n* **Method argument types**\n - <a href=\"doc/methods.md#api_nan_function_callback_info\"><b><code>Nan::FunctionCallbackInfo</code></b></a>\n - <a href=\"doc/methods.md#api_nan_property_callback_info\"><b><code>Nan::PropertyCallbackInfo</code></b></a>\n - <a href=\"doc/methods.md#api_nan_return_value\"><b><code>Nan::ReturnValue</code></b></a>\n* **Method declarations**\n - <a href=\"doc/methods.md#api_nan_method\"><b>Method declaration</b></a>\n - <a href=\"doc/methods.md#api_nan_getter\"><b>Getter declaration</b></a>\n - <a href=\"doc/methods.md#api_nan_setter\"><b>Setter declaration</b></a>\n - <a href=\"doc/methods.md#api_nan_property_getter\"><b>Property getter declaration</b></a>\n - <a href=\"doc/methods.md#api_nan_property_setter\"><b>Property setter declaration</b></a>\n - <a href=\"doc/methods.md#api_nan_property_enumerator\"><b>Property enumerator declaration</b></a>\n - <a href=\"doc/methods.md#api_nan_property_deleter\"><b>Property deleter declaration</b></a>\n - <a href=\"doc/methods.md#api_nan_property_query\"><b>Property query declaration</b></a>\n - <a href=\"doc/methods.md#api_nan_index_getter\"><b>Index getter declaration</b></a>\n - <a href=\"doc/methods.md#api_nan_index_setter\"><b>Index setter declaration</b></a>\n - <a href=\"doc/methods.md#api_nan_index_enumerator\"><b>Index enumerator declaration</b></a>\n - <a href=\"doc/methods.md#api_nan_index_deleter\"><b>Index deleter declaration</b></a>\n - <a href=\"doc/methods.md#api_nan_index_query\"><b>Index query declaration</b></a>\n* Method and template helpers\n - <a href=\"doc/methods.md#api_nan_set_method\"><b><code>Nan::SetMethod()</code></b></a>\n - <a href=\"doc/methods.md#api_nan_set_prototype_method\"><b><code>Nan::SetPrototypeMethod()</code></b></a>\n - <a href=\"doc/methods.md#api_nan_set_accessor\"><b><code>Nan::SetAccessor()</code></b></a>\n - <a href=\"doc/methods.md#api_nan_set_named_property_handler\"><b><code>Nan::SetNamedPropertyHandler()</code></b></a>\n - <a href=\"doc/methods.md#api_nan_set_indexed_property_handler\"><b><code>Nan::SetIndexedPropertyHandler()</code></b></a>\n - <a href=\"doc/methods.md#api_nan_set_template\"><b><code>Nan::SetTemplate()</code></b></a>\n - <a href=\"doc/methods.md#api_nan_set_prototype_template\"><b><code>Nan::SetPrototypeTemplate()</code></b></a>\n - <a href=\"doc/methods.md#api_nan_set_instance_template\"><b><code>Nan::SetInstanceTemplate()</code></b></a>\n - <a href=\"doc/methods.md#api_nan_set_call_handler\"><b><code>Nan::SetCallHandler()</code></b></a>\n - <a href=\"doc/methods.md#api_nan_set_call_as_function_handler\"><b><code>Nan::SetCallAsFunctionHandler()</code></b></a>\n\n### Scopes\n\nA _local handle_ is a pointer to an object. All V8 objects are accessed using handles, they are necessary because of the way the V8 garbage collector works.\n\nA handle scope can be thought of as a container for any number of handles. When you've finished with your handles, instead of deleting each one individually you can simply delete their scope.\n\nThe creation of `HandleScope` objects is different across the supported versions of V8. Therefore, NAN provides its own implementations that can be used safely across these.\n\n - <a href=\"doc/scopes.md#api_nan_handle_scope\"><b><code>Nan::HandleScope</code></b></a>\n - <a href=\"doc/scopes.md#api_nan_escapable_handle_scope\"><b><code>Nan::EscapableHandleScope</code></b></a>\n\nAlso see the V8 Embedders Guide section on [Handles and Garbage Collection](https://github.com/v8/v8/wiki/Embedder%27s%20Guide#handles-and-garbage-collection).\n\n### Persistent references\n\nAn object reference that is independent of any `HandleScope` is a _persistent_ reference. Where a `Local` handle only lives as long as the `HandleScope` in which it was allocated, a `Persistent` handle remains valid until it is explicitly disposed.\n\nDue to the evolution of the V8 API, it is necessary for NAN to provide a wrapper implementation of the `Persistent` classes to supply compatibility across the V8 versions supported.\n\n - <a href=\"doc/persistent.md#api_nan_persistent_base\"><b><code>Nan::PersistentBase & v8::PersistentBase</code></b></a>\n - <a href=\"doc/persistent.md#api_nan_non_copyable_persistent_traits\"><b><code>Nan::NonCopyablePersistentTraits & v8::NonCopyablePersistentTraits</code></b></a>\n - <a href=\"doc/persistent.md#api_nan_copyable_persistent_traits\"><b><code>Nan::CopyablePersistentTraits & v8::CopyablePersistentTraits</code></b></a>\n - <a href=\"doc/persistent.md#api_nan_persistent\"><b><code>Nan::Persistent</code></b></a>\n - <a href=\"doc/persistent.md#api_nan_global\"><b><code>Nan::Global</code></b></a>\n - <a href=\"doc/persistent.md#api_nan_weak_callback_info\"><b><code>Nan::WeakCallbackInfo</code></b></a>\n - <a href=\"doc/persistent.md#api_nan_weak_callback_type\"><b><code>Nan::WeakCallbackType</code></b></a>\n\nAlso see the V8 Embedders Guide section on [Handles and Garbage Collection](https://developers.google.com/v8/embed#handles).\n\n### New\n\nNAN provides a `Nan::New()` helper for the creation of new JavaScript objects in a way that's compatible across the supported versions of V8.\n\n - <a href=\"doc/new.md#api_nan_new\"><b><code>Nan::New()</code></b></a>\n - <a href=\"doc/new.md#api_nan_undefined\"><b><code>Nan::Undefined()</code></b></a>\n - <a href=\"doc/new.md#api_nan_null\"><b><code>Nan::Null()</code></b></a>\n - <a href=\"doc/new.md#api_nan_true\"><b><code>Nan::True()</code></b></a>\n - <a href=\"doc/new.md#api_nan_false\"><b><code>Nan::False()</code></b></a>\n - <a href=\"doc/new.md#api_nan_empty_string\"><b><code>Nan::EmptyString()</code></b></a>\n\n\n### Converters\n\nNAN contains functions that convert `v8::Value`s to other `v8::Value` types and native types. Since type conversion is not guaranteed to succeed, they return `Nan::Maybe` types. These converters can be used in place of `value->ToX()` and `value->XValue()` (where `X` is one of the types, e.g. `Boolean`) in a way that provides a consistent interface across V8 versions. Newer versions of V8 use the new `v8::Maybe` and `v8::MaybeLocal` types for these conversions, older versions don't have this functionality so it is provided by NAN.\n\n - <a href=\"doc/converters.md#api_nan_to\"><b><code>Nan::To()</code></b></a>\n\n### Maybe Types\n\nThe `Nan::MaybeLocal` and `Nan::Maybe` types are monads that encapsulate `v8::Local` handles that _may be empty_.\n\n* **Maybe Types**\n - <a href=\"doc/maybe_types.md#api_nan_maybe_local\"><b><code>Nan::MaybeLocal</code></b></a>\n - <a href=\"doc/maybe_types.md#api_nan_maybe\"><b><code>Nan::Maybe</code></b></a>\n - <a href=\"doc/maybe_types.md#api_nan_nothing\"><b><code>Nan::Nothing</code></b></a>\n - <a href=\"doc/maybe_types.md#api_nan_just\"><b><code>Nan::Just</code></b></a>\n* **Maybe Helpers**\n - <a href=\"doc/maybe_types.md#api_nan_call\"><b><code>Nan::Call()</code></b></a>\n - <a href=\"doc/maybe_types.md#api_nan_to_detail_string\"><b><code>Nan::ToDetailString()</code></b></a>\n - <a href=\"doc/maybe_types.md#api_nan_to_array_index\"><b><code>Nan::ToArrayIndex()</code></b></a>\n - <a href=\"doc/maybe_types.md#api_nan_equals\"><b><code>Nan::Equals()</code></b></a>\n - <a href=\"doc/maybe_types.md#api_nan_new_instance\"><b><code>Nan::NewInstance()</code></b></a>\n - <a href=\"doc/maybe_types.md#api_nan_get_function\"><b><code>Nan::GetFunction()</code></b></a>\n - <a href=\"doc/maybe_types.md#api_nan_set\"><b><code>Nan::Set()</code></b></a>\n - <a href=\"doc/maybe_types.md#api_nan_define_own_property\"><b><code>Nan::DefineOwnProperty()</code></b></a>\n - <a href=\"doc/maybe_types.md#api_nan_force_set\"><del><b><code>Nan::ForceSet()</code></b></del></a>\n - <a href=\"doc/maybe_types.md#api_nan_get\"><b><code>Nan::Get()</code></b></a>\n - <a href=\"doc/maybe_types.md#api_nan_get_property_attribute\"><b><code>Nan::GetPropertyAttributes()</code></b></a>\n - <a href=\"doc/maybe_types.md#api_nan_has\"><b><code>Nan::Has()</code></b></a>\n - <a href=\"doc/maybe_types.md#api_nan_delete\"><b><code>Nan::Delete()</code></b></a>\n - <a href=\"doc/maybe_types.md#api_nan_get_property_names\"><b><code>Nan::GetPropertyNames()</code></b></a>\n - <a href=\"doc/maybe_types.md#api_nan_get_own_property_names\"><b><code>Nan::GetOwnPropertyNames()</code></b></a>\n - <a href=\"doc/maybe_types.md#api_nan_set_prototype\"><b><code>Nan::SetPrototype()</code></b></a>\n - <a href=\"doc/maybe_types.md#api_nan_object_proto_to_string\"><b><code>Nan::ObjectProtoToString()</code></b></a>\n - <a href=\"doc/maybe_types.md#api_nan_has_own_property\"><b><code>Nan::HasOwnProperty()</code></b></a>\n - <a href=\"doc/maybe_types.md#api_nan_has_real_named_property\"><b><code>Nan::HasRealNamedProperty()</code></b></a>\n - <a href=\"doc/maybe_types.md#api_nan_has_real_indexed_property\"><b><code>Nan::HasRealIndexedProperty()</code></b></a>\n - <a href=\"doc/maybe_types.md#api_nan_has_real_named_callback_property\"><b><code>Nan::HasRealNamedCallbackProperty()</code></b></a>\n - <a href=\"doc/maybe_types.md#api_nan_get_real_named_property_in_prototype_chain\"><b><code>Nan::GetRealNamedPropertyInPrototypeChain()</code></b></a>\n - <a href=\"doc/maybe_types.md#api_nan_get_real_named_property\"><b><code>Nan::GetRealNamedProperty()</code></b></a>\n - <a href=\"doc/maybe_types.md#api_nan_call_as_function\"><b><code>Nan::CallAsFunction()</code></b></a>\n - <a href=\"doc/maybe_types.md#api_nan_call_as_constructor\"><b><code>Nan::CallAsConstructor()</code></b></a>\n - <a href=\"doc/maybe_types.md#api_nan_get_source_line\"><b><code>Nan::GetSourceLine()</code></b></a>\n - <a href=\"doc/maybe_types.md#api_nan_get_line_number\"><b><code>Nan::GetLineNumber()</code></b></a>\n - <a href=\"doc/maybe_types.md#api_nan_get_start_column\"><b><code>Nan::GetStartColumn()</code></b></a>\n - <a href=\"doc/maybe_types.md#api_nan_get_end_column\"><b><code>Nan::GetEndColumn()</code></b></a>\n - <a href=\"doc/maybe_types.md#api_nan_clone_element_at\"><b><code>Nan::CloneElementAt()</code></b></a>\n - <a href=\"doc/maybe_types.md#api_nan_has_private\"><b><code>Nan::HasPrivate()</code></b></a>\n - <a href=\"doc/maybe_types.md#api_nan_get_private\"><b><code>Nan::GetPrivate()</code></b></a>\n - <a href=\"doc/maybe_types.md#api_nan_set_private\"><b><code>Nan::SetPrivate()</code></b></a>\n - <a href=\"doc/maybe_types.md#api_nan_delete_private\"><b><code>Nan::DeletePrivate()</code></b></a>\n - <a href=\"doc/maybe_types.md#api_nan_make_maybe\"><b><code>Nan::MakeMaybe()</code></b></a>\n\n### Script\n\nNAN provides `v8::Script` helpers as the API has changed over the supported versions of V8.\n\n - <a href=\"doc/script.md#api_nan_compile_script\"><b><code>Nan::CompileScript()</code></b></a>\n - <a href=\"doc/script.md#api_nan_run_script\"><b><code>Nan::RunScript()</code></b></a>\n - <a href=\"doc/script.md#api_nan_script_origin\"><b><code>Nan::ScriptOrigin</code></b></a>\n\n\n### JSON\n\nThe _JSON_ object provides the C++ versions of the methods offered by the `JSON` object in javascript. V8 exposes these methods via the `v8::JSON` object.\n\n - <a href=\"doc/json.md#api_nan_json_parse\"><b><code>Nan::JSON.Parse</code></b></a>\n - <a href=\"doc/json.md#api_nan_json_stringify\"><b><code>Nan::JSON.Stringify</code></b></a>\n\nRefer to the V8 JSON object in the [V8 documentation](https://v8docs.nodesource.com/node-8.16/da/d6f/classv8_1_1_j_s_o_n.html) for more information about these methods and their arguments.\n\n### Errors\n\nNAN includes helpers for creating, throwing and catching Errors as much of this functionality varies across the supported versions of V8 and must be abstracted.\n\nNote that an Error object is simply a specialized form of `v8::Value`.\n\nAlso consult the V8 Embedders Guide section on [Exceptions](https://developers.google.com/v8/embed#exceptions) for more information.\n\n - <a href=\"doc/errors.md#api_nan_error\"><b><code>Nan::Error()</code></b></a>\n - <a href=\"doc/errors.md#api_nan_range_error\"><b><code>Nan::RangeError()</code></b></a>\n - <a href=\"doc/errors.md#api_nan_reference_error\"><b><code>Nan::ReferenceError()</code></b></a>\n - <a href=\"doc/errors.md#api_nan_syntax_error\"><b><code>Nan::SyntaxError()</code></b></a>\n - <a href=\"doc/errors.md#api_nan_type_error\"><b><code>Nan::TypeError()</code></b></a>\n - <a href=\"doc/errors.md#api_nan_throw_error\"><b><code>Nan::ThrowError()</code></b></a>\n - <a href=\"doc/errors.md#api_nan_throw_range_error\"><b><code>Nan::ThrowRangeError()</code></b></a>\n - <a href=\"doc/errors.md#api_nan_throw_reference_error\"><b><code>Nan::ThrowReferenceError()</code></b></a>\n - <a href=\"doc/errors.md#api_nan_throw_syntax_error\"><b><code>Nan::ThrowSyntaxError()</code></b></a>\n - <a href=\"doc/errors.md#api_nan_throw_type_error\"><b><code>Nan::ThrowTypeError()</code></b></a>\n - <a href=\"doc/errors.md#api_nan_fatal_exception\"><b><code>Nan::FatalException()</code></b></a>\n - <a href=\"doc/errors.md#api_nan_errno_exception\"><b><code>Nan::ErrnoException()</code></b></a>\n - <a href=\"doc/errors.md#api_nan_try_catch\"><b><code>Nan::TryCatch</code></b></a>\n\n\n### Buffers\n\nNAN's `node::Buffer` helpers exist as the API has changed across supported Node versions. Use these methods to ensure compatibility.\n\n - <a href=\"doc/buffers.md#api_nan_new_buffer\"><b><code>Nan::NewBuffer()</code></b></a>\n - <a href=\"doc/buffers.md#api_nan_copy_buffer\"><b><code>Nan::CopyBuffer()</code></b></a>\n - <a href=\"doc/buffers.md#api_nan_free_callback\"><b><code>Nan::FreeCallback()</code></b></a>\n\n### Nan::Callback\n\n`Nan::Callback` makes it easier to use `v8::Function` handles as callbacks. A class that wraps a `v8::Function` handle, protecting it from garbage collection and making it particularly useful for storage and use across asynchronous execution.\n\n - <a href=\"doc/callback.md#api_nan_callback\"><b><code>Nan::Callback</code></b></a>\n\n### Asynchronous work helpers\n\n`Nan::AsyncWorker`, `Nan::AsyncProgressWorker` and `Nan::AsyncProgressQueueWorker` are helper classes that make working with asynchronous code easier.\n\n - <a href=\"doc/asyncworker.md#api_nan_async_worker\"><b><code>Nan::AsyncWorker</code></b></a>\n - <a href=\"doc/asyncworker.md#api_nan_async_progress_worker\"><b><code>Nan::AsyncProgressWorkerBase & Nan::AsyncProgressWorker</code></b></a>\n - <a href=\"doc/asyncworker.md#api_nan_async_progress_queue_worker\"><b><code>Nan::AsyncProgressQueueWorker</code></b></a>\n - <a href=\"doc/asyncworker.md#api_nan_async_queue_worker\"><b><code>Nan::AsyncQueueWorker</code></b></a>\n\n### Strings & Bytes\n\nMiscellaneous string & byte encoding and decoding functionality provided for compatibility across supported versions of V8 and Node. Implemented by NAN to ensure that all encoding types are supported, even for older versions of Node where they are missing.\n\n - <a href=\"doc/string_bytes.md#api_nan_encoding\"><b><code>Nan::Encoding</code></b></a>\n - <a href=\"doc/string_bytes.md#api_nan_encode\"><b><code>Nan::Encode()</code></b></a>\n - <a href=\"doc/string_bytes.md#api_nan_decode_bytes\"><b><code>Nan::DecodeBytes()</code></b></a>\n - <a href=\"doc/string_bytes.md#api_nan_decode_write\"><b><code>Nan::DecodeWrite()</code></b></a>\n\n\n### Object Wrappers\n\nThe `ObjectWrap` class can be used to make wrapped C++ objects and a factory of wrapped objects.\n\n - <a href=\"doc/object_wrappers.md#api_nan_object_wrap\"><b><code>Nan::ObjectWrap</code></b></a>\n\n\n### V8 internals\n\nThe hooks to access V8 internals—including GC and statistics—are different across the supported versions of V8, therefore NAN provides its own hooks that call the appropriate V8 methods.\n\n - <a href=\"doc/v8_internals.md#api_nan_gc_callback\"><b><code>NAN_GC_CALLBACK()</code></b></a>\n - <a href=\"doc/v8_internals.md#api_nan_add_gc_epilogue_callback\"><b><code>Nan::AddGCEpilogueCallback()</code></b></a>\n - <a href=\"doc/v8_internals.md#api_nan_remove_gc_epilogue_callback\"><b><code>Nan::RemoveGCEpilogueCallback()</code></b></a>\n - <a href=\"doc/v8_internals.md#api_nan_add_gc_prologue_callback\"><b><code>Nan::AddGCPrologueCallback()</code></b></a>\n - <a href=\"doc/v8_internals.md#api_nan_remove_gc_prologue_callback\"><b><code>Nan::RemoveGCPrologueCallback()</code></b></a>\n - <a href=\"doc/v8_internals.md#api_nan_get_heap_statistics\"><b><code>Nan::GetHeapStatistics()</code></b></a>\n - <a href=\"doc/v8_internals.md#api_nan_set_counter_function\"><b><code>Nan::SetCounterFunction()</code></b></a>\n - <a href=\"doc/v8_internals.md#api_nan_set_create_histogram_function\"><b><code>Nan::SetCreateHistogramFunction()</code></b></a>\n - <a href=\"doc/v8_internals.md#api_nan_set_add_histogram_sample_function\"><b><code>Nan::SetAddHistogramSampleFunction()</code></b></a>\n - <a href=\"doc/v8_internals.md#api_nan_idle_notification\"><b><code>Nan::IdleNotification()</code></b></a>\n - <a href=\"doc/v8_internals.md#api_nan_low_memory_notification\"><b><code>Nan::LowMemoryNotification()</code></b></a>\n - <a href=\"doc/v8_internals.md#api_nan_context_disposed_notification\"><b><code>Nan::ContextDisposedNotification()</code></b></a>\n - <a href=\"doc/v8_internals.md#api_nan_get_internal_field_pointer\"><b><code>Nan::GetInternalFieldPointer()</code></b></a>\n - <a href=\"doc/v8_internals.md#api_nan_set_internal_field_pointer\"><b><code>Nan::SetInternalFieldPointer()</code></b></a>\n - <a href=\"doc/v8_internals.md#api_nan_adjust_external_memory\"><b><code>Nan::AdjustExternalMemory()</code></b></a>\n\n\n### Miscellaneous V8 Helpers\n\n - <a href=\"doc/v8_misc.md#api_nan_utf8_string\"><b><code>Nan::Utf8String</code></b></a>\n - <a href=\"doc/v8_misc.md#api_nan_get_current_context\"><b><code>Nan::GetCurrentContext()</code></b></a>\n - <a href=\"doc/v8_misc.md#api_nan_set_isolate_data\"><b><code>Nan::SetIsolateData()</code></b></a>\n - <a href=\"doc/v8_misc.md#api_nan_get_isolate_data\"><b><code>Nan::GetIsolateData()</code></b></a>\n - <a href=\"doc/v8_misc.md#api_nan_typedarray_contents\"><b><code>Nan::TypedArrayContents</code></b></a>\n\n\n### Miscellaneous Node Helpers\n\n - <a href=\"doc/node_misc.md#api_nan_asyncresource\"><b><code>Nan::AsyncResource</code></b></a>\n - <a href=\"doc/node_misc.md#api_nan_make_callback\"><b><code>Nan::MakeCallback()</code></b></a>\n - <a href=\"doc/node_misc.md#api_nan_module_init\"><b><code>NAN_MODULE_INIT()</code></b></a>\n - <a href=\"doc/node_misc.md#api_nan_export\"><b><code>Nan::Export()</code></b></a>\n\n<!-- END API -->\n\n\n<a name=\"tests\"></a>\n\n### Tests\n\nTo run the NAN tests do:\n\n``` sh\nnpm install\nnpm run-script rebuild-tests\nnpm test\n```\n\nOr just:\n\n``` sh\nnpm install\nmake test\n```\n\n<a name=\"issues\"></a>\n\n## Known issues\n\n### Compiling against Node.js 0.12 on OSX\n\nWith new enough compilers available on OSX, the versions of V8 headers corresponding to Node.js 0.12\ndo not compile anymore. The error looks something like:\n\n```\n❯ CXX(target) Release/obj.target/accessors/cpp/accessors.o\nIn file included from ../cpp/accessors.cpp:9:\nIn file included from ../../nan.h:51:\nIn file included from /Users/ofrobots/.node-gyp/0.12.18/include/node/node.h:61:\n/Users/ofrobots/.node-gyp/0.12.18/include/node/v8.h:5800:54: error: 'CreateHandle' is a protected member of 'v8::HandleScope'\n return Handle<T>(reinterpret_cast<T*>(HandleScope::CreateHandle(\n ~~~~~~~~~~~~~^~~~~~~~~~~~\n```\n\nThis can be worked around by patching your local versions of v8.h corresponding to Node 0.12 to make\n`v8::Handle` a friend of `v8::HandleScope`. Since neither Node.js not V8 support this release line anymore\nthis patch cannot be released by either project in an official release.\n\nFor this reason, we do not test against Node.js 0.12 on OSX in this project's CI. If you need to support\nthat configuration, you will need to either get an older compiler, or apply a source patch to the version\nof V8 headers as a workaround.\n\n<a name=\"governance\"></a>\n\n## Governance & Contributing\n\nNAN is governed by the [Node.js Addon API Working Group](https://github.com/nodejs/CTC/blob/master/WORKING_GROUPS.md#addon-api)\n\n### Addon API Working Group (WG)\n\nThe NAN project is jointly governed by a Working Group which is responsible for high-level guidance of the project.\n\nMembers of the WG are also known as Collaborators, there is no distinction between the two, unlike other Node.js projects.\n\nThe WG has final authority over this project including:\n\n* Technical direction\n* Project governance and process (including this policy)\n* Contribution policy\n* GitHub repository hosting\n* Maintaining the list of additional Collaborators\n\nFor the current list of WG members, see the project [README.md](./README.md#collaborators).\n\nIndividuals making significant and valuable contributions are made members of the WG and given commit-access to the project. These individuals are identified by the WG and their addition to the WG is discussed via GitHub and requires unanimous consensus amongst those WG members participating in the discussion with a quorum of 50% of WG members required for acceptance of the vote.\n\n_Note:_ If you make a significant contribution and are not considered for commit-access log an issue or contact a WG member directly.\n\nFor the current list of WG members / Collaborators, see the project [README.md](./README.md#collaborators).\n\n### Consensus Seeking Process\n\nThe WG follows a [Consensus Seeking](https://en.wikipedia.org/wiki/Consensus-seeking_decision-making) decision making model.\n\nModifications of the contents of the NAN repository are made on a collaborative basis. Anybody with a GitHub account may propose a modification via pull request and it will be considered by the WG. All pull requests must be reviewed and accepted by a WG member with sufficient expertise who is able to take full responsibility for the change. In the case of pull requests proposed by an existing WG member, an additional WG member is required for sign-off. Consensus should be sought if additional WG members participate and there is disagreement around a particular modification.\n\nIf a change proposal cannot reach a consensus, a WG member can call for a vote amongst the members of the WG. Simple majority wins.\n\n<a id=\"developers-certificate-of-origin\"></a>\n\n## Developer's Certificate of Origin 1.1\n\nBy making a contribution to this project, I certify that:\n\n* (a) The contribution was created in whole or in part by me and I\n have the right to submit it under the open source license\n indicated in the file; or\n\n* (b) The contribution is based upon previous work that, to the best\n of my knowledge, is covered under an appropriate open source\n license and I have the right under that license to submit that\n work with modifications, whether created in whole or in part\n by me, under the same open source license (unless I am\n permitted to submit under a different license), as indicated\n in the file; or\n\n* (c) The contribution was provided directly to me by some other\n person who certified (a), (b) or (c) and I have not modified\n it.\n\n* (d) I understand and agree that this project and the contribution\n are public and that a record of the contribution (including all\n personal information I submit with it, including my sign-off) is\n maintained indefinitely and may be redistributed consistent with\n this project or the open source license(s) involved.\n\n<a name=\"collaborators\"></a>\n\n### WG Members / Collaborators\n\n<table><tbody>\n<tr><th align=\"left\">Rod Vagg</th><td><a href=\"https://github.com/rvagg\">GitHub/rvagg</a></td><td><a href=\"http://twitter.com/rvagg\">Twitter/@rvagg</a></td></tr>\n<tr><th align=\"left\">Benjamin Byholm</th><td><a href=\"https://github.com/kkoopa/\">GitHub/kkoopa</a></td><td>-</td></tr>\n<tr><th align=\"left\">Trevor Norris</th><td><a href=\"https://github.com/trevnorris\">GitHub/trevnorris</a></td><td><a href=\"http://twitter.com/trevnorris\">Twitter/@trevnorris</a></td></tr>\n<tr><th align=\"left\">Nathan Rajlich</th><td><a href=\"https://github.com/TooTallNate\">GitHub/TooTallNate</a></td><td><a href=\"http://twitter.com/TooTallNate\">Twitter/@TooTallNate</a></td></tr>\n<tr><th align=\"left\">Brett Lawson</th><td><a href=\"https://github.com/brett19\">GitHub/brett19</a></td><td><a href=\"http://twitter.com/brett19x\">Twitter/@brett19x</a></td></tr>\n<tr><th align=\"left\">Ben Noordhuis</th><td><a href=\"https://github.com/bnoordhuis\">GitHub/bnoordhuis</a></td><td><a href=\"http://twitter.com/bnoordhuis\">Twitter/@bnoordhuis</a></td></tr>\n<tr><th align=\"left\">David Siegel</th><td><a href=\"https://github.com/agnat\">GitHub/agnat</a></td><td><a href=\"http://twitter.com/agnat\">Twitter/@agnat</a></td></tr>\n<tr><th align=\"left\">Michael Ira Krufky</th><td><a href=\"https://github.com/mkrufky\">GitHub/mkrufky</a></td><td><a href=\"http://twitter.com/mkrufky\">Twitter/@mkrufky</a></td></tr>\n</tbody></table>\n\n## Licence & copyright\n\nCopyright (c) 2018 NAN WG Members / Collaborators (listed above).\n\nNative Abstractions for Node.js is licensed under an MIT license. All rights not explicitly granted in the MIT license are reserved. See the included LICENSE file for more details.\n","maintainers":[{"name":"kkoopa","email":"bbyholm@abo.fi"},{"name":"rvagg","email":"r@va.gg"}],"time":{"modified":"2022-06-20T19:48:46.439Z","created":"2013-08-16T10:54:38.330Z","0.3.0-wip":"2013-08-16T10:54:45.384Z","0.3.0-wip2":"2013-08-16T11:38:17.241Z","0.3.0":"2013-08-19T11:56:01.536Z","0.3.1":"2013-08-20T09:17:59.275Z","0.3.2":"2013-08-30T12:53:23.650Z","0.4.0":"2013-09-02T11:49:34.846Z","0.4.1":"2013-09-16T13:35:24.529Z","0.4.2":"2013-11-02T02:40:01.651Z","0.4.3":"2013-11-02T02:56:46.951Z","0.4.4":"2013-11-02T03:39:07.560Z","0.5.0":"2013-11-11T02:36:36.947Z","0.5.1":"2013-11-11T21:43:27.912Z","0.5.2":"2013-11-16T10:25:47.488Z","0.6.0":"2013-11-21T01:22:46.218Z","0.7.0":"2013-12-16T14:55:11.928Z","0.7.1":"2014-01-09T12:23:38.047Z","0.8.0":"2014-01-09T12:30:42.175Z","1.0.0":"2014-05-04T12:20:09.986Z","1.1.0":"2014-05-25T01:13:41.611Z","1.1.1":"2014-05-28T10:20:37.994Z","1.1.2":"2014-05-28T13:07:41.871Z","1.2.0":"2014-06-04T21:24:39.703Z","1.3.0":"2014-08-02T12:07:40.701Z","1.4.0":"2014-11-01T22:48:41.300Z","1.4.1":"2014-11-08T16:19:39.727Z","1.5.0":"2015-01-14T19:39:39.575Z","1.4.2":"2015-01-15T03:53:24.469Z","1.4.3":"2015-01-15T03:54:10.813Z","1.5.1":"2015-01-15T03:54:54.300Z","1.5.2":"2015-01-22T23:54:56.053Z","1.6.0":"2015-01-23T00:29:18.252Z","1.5.3":"2015-01-23T00:40:19.788Z","1.6.1":"2015-01-23T00:48:11.043Z","1.6.2":"2015-02-06T18:39:26.282Z","1.7.0":"2015-02-28T12:18:10.217Z","1.8.0":"2015-04-23T14:29:59.549Z","1.8.1":"2015-04-23T17:59:00.393Z","1.8.2":"2015-04-23T19:54:07.123Z","1.8.3":"2015-04-26T14:29:27.155Z","1.8.4":"2015-04-26T14:32:39.821Z","1.9.0":"2015-07-31T11:18:16.059Z","2.0.0":"2015-07-31T11:56:05.961Z","2.0.1":"2015-08-06T11:17:23.696Z","2.0.2":"2015-08-06T11:41:46.078Z","2.0.3":"2015-08-06T23:20:47.997Z","2.0.4":"2015-08-07T00:05:12.716Z","2.0.5":"2015-08-10T14:53:43.186Z","2.0.6":"2015-08-26T07:48:29.905Z","2.0.7":"2015-08-26T07:52:04.898Z","2.0.8":"2015-08-28T08:02:26.997Z","2.0.9":"2015-09-08T22:57:25.991Z","2.1.0":"2015-10-08T14:39:47.658Z","2.2.0":"2016-01-09T15:12:57.471Z","2.2.1":"2016-03-29T15:30:42.770Z","2.3.0":"2016-04-27T10:10:00.078Z","2.3.1":"2016-04-27T16:22:50.179Z","2.3.2":"2016-04-27T17:35:35.526Z","2.3.3":"2016-05-03T22:13:40.112Z","2.3.4":"2016-05-30T22:12:38.756Z","2.3.5":"2016-05-31T15:06:07.585Z","2.4.0":"2016-07-10T13:51:21.410Z","2.5.0":"2016-12-21T18:49:51.532Z","2.5.1":"2017-01-22T22:27:41.920Z","2.6.0":"2017-04-05T22:37:27.792Z","2.6.1":"2017-04-06T05:50:18.273Z","2.6.2":"2017-04-12T20:38:38.470Z","2.7.0":"2017-08-30T00:42:51.289Z","2.8.0":"2017-11-15T11:34:24.395Z","2.9.1":"2018-02-22T17:14:09.800Z","2.9.2":"2018-02-22T23:34:17.650Z","2.10.0":"2018-03-16T16:11:48.820Z","2.11.0":"2018-08-25T12:43:45.113Z","2.11.1":"2018-09-29T08:09:53.621Z","2.12.0":"2018-12-16T13:14:18.284Z","2.12.1":"2018-12-18T21:01:39.060Z","2.13.0":"2019-03-13T22:40:10.625Z","2.13.1":"2019-03-14T21:55:48.868Z","2.13.2":"2019-03-24T14:32:19.987Z","2.14.0":"2019-05-16T19:11:36.198Z","2.14.1":"2020-04-21T18:59:56.894Z","2.14.2":"2020-10-13T12:49:54.960Z","2.15.0":"2021-08-04T16:13:03.440Z","2.16.0":"2022-05-25T13:05:47.001Z"},"repository":{"type":"git","url":"git://github.com/nodejs/nan.git"},"users":{"ceejbot":true,"fivdi":true,"dozoisch":true,"daviddias":true,"ecomfe":true,"magemagic":true,"slickmonk":true,"hal9zillion":true,"wouldgo":true,"estliberitas":true,"coderaiser":true,"yashprit":true,"foliveira":true,"mortiy":true,"yunnysunny":true,"theheros":true,"y-a-v-a":true,"matteo.collina":true,"blitzprog":true,"guananddu":true,"monolithed":true,"markthethomas":true,"jalcine":true,"chesstrian":true,"kriswill":true,"panlw":true,"koslun":true,"fatelei":true,"pandao":true,"js3692":true,"detj":true,"magicxiao85":true,"liushoukai":true,"djk":true,"shanewholloway":true,"taoyuan":true,"emarcs":true,"javascript":true,"rexpan":true,"horpto":true,"wangnan0610":true,"lukicdarkoo":true,"highlanderkev":true,"nohomey":true,"mojaray2k":true,"braviel":true,"crycode":true,"ga1989":true,"andr":true,"sopov":true,"mkrufky":true,"shuoshubao":true,"xtx1130":true,"xrush":true,"usex":true,"nbuchanan":true,"steel1990":true,"atesgoral":true,"abetomo":true,"nicknaso":true,"chaoliu":true,"faraoman":true,"semenovem":true,"debashish":true},"homepage":"https://github.com/nodejs/nan#readme","contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"https://github.com/TooTallNate"},{"name":"Brett Lawson","email":"brett19@gmail.com","url":"https://github.com/brett19"},{"name":"Ben Noordhuis","email":"info@bnoordhuis.nl","url":"https://github.com/bnoordhuis"},{"name":"David Siegel","email":"david@artcom.de","url":"https://github.com/agnat"},{"name":"Michael Ira Krufky","email":"mkrufky@gmail.com","url":"https://github.com/mkrufky"}],"bugs":{"url":"https://github.com/nodejs/nan/issues"},"license":"MIT","readmeFilename":"README.md"}
\ No newline at end of file diff --git a/cli/tests/testdata/npm/registry/safer-buffer/registry.json b/cli/tests/testdata/npm/registry/safer-buffer/registry.json new file mode 100644 index 000000000..a992a08a6 --- /dev/null +++ b/cli/tests/testdata/npm/registry/safer-buffer/registry.json @@ -0,0 +1 @@ +{"_id":"safer-buffer","_rev":"9-194c14f9664bd82349dfb53b880b0067","name":"safer-buffer","dist-tags":{"latest":"2.1.2"},"versions":{"2.0.0":{"name":"safer-buffer","version":"2.0.0","description":"Modern Buffer API polyfill without footguns","main":"safer.js","scripts":{"test":"standard && tape tests.js"},"author":{"name":"Nikita Skovoroda","email":"chalkerx@gmail.com","url":"https://github.com/ChALkeR"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/ChALkeR/safer-buffer.git"},"bugs":{"url":"https://github.com/ChALkeR/safer-buffer/issues"},"devDependencies":{"standard":"^11.0.1","tape":"^4.9.0"},"files":["tests.js","dangerous.js","safer.js"],"gitHead":"a9f897f4a3abfe6c6a2b657aec7b93ea26078e82","homepage":"https://github.com/ChALkeR/safer-buffer#readme","_id":"safer-buffer@2.0.0","_npmVersion":"5.7.1","_nodeVersion":"9.8.0","_npmUser":{"name":"chalker","email":"chalkerx@gmail.com"},"dist":{"integrity":"sha512-xfyC9tPVPALdc+v+iF5EgNWLq2tBaVLCqcwPjvZ6oNzzL/q4Bh0D+dFy90dVlX6RkCzqamJhBcxgG72DCmZ2XQ==","shasum":"a780a965ff6375210b360a969581ceaf60600193","tarball":"http://localhost:4545/npm/registry/safer-buffer/safer-buffer-2.0.0.tgz","fileCount":5,"unpackedSize":19297,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFq3qENzvih40is7AR5vN3RssckvKDNt8ZzfjhB+thY2AiBkTKjIy7w6zmZ7iABLc4iLg+Ts+7oTwzeQ0mUbU2NNYw=="}]},"maintainers":[{"name":"chalker","email":"chalkerx@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/safer-buffer_2.0.0_1521448517452_0.9654642196058854"},"_hasShrinkwrap":false},"2.0.1":{"name":"safer-buffer","version":"2.0.1","description":"Modern Buffer API polyfill without footguns","main":"safer.js","scripts":{"test":"standard && tape tests.js"},"author":{"name":"Nikita Skovoroda","email":"chalkerx@gmail.com","url":"https://github.com/ChALkeR"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/ChALkeR/safer-buffer.git"},"bugs":{"url":"https://github.com/ChALkeR/safer-buffer/issues"},"devDependencies":{"standard":"^11.0.1","tape":"^4.9.0"},"files":["tests.js","dangerous.js","safer.js"],"gitHead":"3e812676ce51ba04a3d58c4f1dc9a80907789234","homepage":"https://github.com/ChALkeR/safer-buffer#readme","_id":"safer-buffer@2.0.1","_npmVersion":"5.7.1","_nodeVersion":"9.8.0","_npmUser":{"name":"chalker","email":"chalkerx@gmail.com"},"dist":{"integrity":"sha512-3i2tOIUGJ6ZOIJ0FPTN+K/6iFBZUGB6fCee1PQGrLaioDFPLWQCaRJeBMMTpdSMCRAmuyu7FSJKnjriAmE/aQA==","shasum":"9b158aab695aa93d8259a038d9f7836c8fd7fabf","tarball":"http://localhost:4545/npm/registry/safer-buffer/safer-buffer-2.0.1.tgz","fileCount":6,"unpackedSize":21003,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCAVdCo0SCvwE3pIS0XcI0hAGmFH9QRMJ3UXmWZXlvIjAIgHY/wJdNV8J6TKpRZqn2NZ+C407PIrmp9JJ+lXWs9YyY="}]},"maintainers":[{"name":"chalker","email":"chalkerx@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/safer-buffer_2.0.1_1521458495616_0.06119043006489222"},"_hasShrinkwrap":false},"2.0.2":{"name":"safer-buffer","version":"2.0.2","description":"Modern Buffer API polyfill without footguns","main":"safer.js","scripts":{"test":"standard && tape tests.js"},"author":{"name":"Nikita Skovoroda","email":"chalkerx@gmail.com","url":"https://github.com/ChALkeR"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/ChALkeR/safer-buffer.git"},"bugs":{"url":"https://github.com/ChALkeR/safer-buffer/issues"},"devDependencies":{"standard":"^11.0.1","tape":"^4.9.0"},"files":["Porting-Buffer.md","Readme.md","tests.js","dangerous.js","safer.js"],"gitHead":"ba8472e414180be4e567c47789f8a20cb73affea","homepage":"https://github.com/ChALkeR/safer-buffer#readme","_id":"safer-buffer@2.0.2","_npmVersion":"5.7.1","_nodeVersion":"9.8.0","_npmUser":{"name":"chalker","email":"chalkerx@gmail.com"},"dist":{"integrity":"sha512-n7d2A1kx/NW7bow4A2jx111qpYsF0qDhvfHssl+FIuXY8skGswVCIXoo8AUt72d8vK6R3teMjHIV1Yt7Q/m08A==","shasum":"d5e5d219697d92d1c138e0037525fd99d0ebbdf0","tarball":"http://localhost:4545/npm/registry/safer-buffer/safer-buffer-2.0.2.tgz","fileCount":7,"unpackedSize":36955,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDF0kn9QhKIGa6/WtY75QJeh+S6hYvM1xt1GbQGzQvrqAiEAqBF8GMCJiuEOm73S0w2zKBZOXMREqaPjCG51GSGqNJ0="}]},"maintainers":[{"name":"chalker","email":"chalkerx@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/safer-buffer_2.0.2_1521545289647_0.7300470347310737"},"_hasShrinkwrap":false},"2.1.0":{"name":"safer-buffer","version":"2.1.0","description":"Modern Buffer API polyfill without footguns","main":"safer.js","scripts":{"test":"standard && tape tests.js"},"author":{"name":"Nikita Skovoroda","email":"chalkerx@gmail.com","url":"https://github.com/ChALkeR"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/ChALkeR/safer-buffer.git"},"bugs":{"url":"https://github.com/ChALkeR/safer-buffer/issues"},"devDependencies":{"standard":"^11.0.1","tape":"^4.9.0"},"files":["Porting-Buffer.md","Readme.md","tests.js","dangerous.js","safer.js"],"gitHead":"38d80d6be470a792126e42e5ee2c447c3da18b46","homepage":"https://github.com/ChALkeR/safer-buffer#readme","_id":"safer-buffer@2.1.0","_npmVersion":"5.7.1","_nodeVersion":"9.8.0","_npmUser":{"name":"chalker","email":"chalkerx@gmail.com"},"dist":{"integrity":"sha512-HQhCIIl7TrF1aa7d352EXG+xumPERvoIWxOqq2CagDId0FVGtlG/fuQ7kZT+wZ7ytyGiP3pnYUVni5otBzOVmA==","shasum":"d9f653a55538c8d7829cb1a92e90bbcbc5ff5d3b","tarball":"http://localhost:4545/npm/registry/safer-buffer/safer-buffer-2.1.0.tgz","fileCount":7,"unpackedSize":41366,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB2D+/HFpEgfBYn49RjSr7UHCFA6hnWJIzocP8ugHqLSAiA0jd/ECaWHOCmwsaPFb9xobv3RYtDihtylhQuY39ge1Q=="}]},"maintainers":[{"name":"chalker","email":"chalkerx@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/safer-buffer_2.1.0_1521659685140_0.5417942695599183"},"_hasShrinkwrap":false},"2.1.1":{"name":"safer-buffer","version":"2.1.1","description":"Modern Buffer API polyfill without footguns","main":"safer.js","scripts":{"test":"standard && tape tests.js"},"author":{"name":"Nikita Skovoroda","email":"chalkerx@gmail.com","url":"https://github.com/ChALkeR"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/ChALkeR/safer-buffer.git"},"bugs":{"url":"https://github.com/ChALkeR/safer-buffer/issues"},"devDependencies":{"standard":"^11.0.1","tape":"^4.9.0"},"files":["Porting-Buffer.md","Readme.md","tests.js","dangerous.js","safer.js"],"gitHead":"e87995376d301d7559064cfacdcbab918e7ad0fc","homepage":"https://github.com/ChALkeR/safer-buffer#readme","_id":"safer-buffer@2.1.1","_npmVersion":"5.8.0","_nodeVersion":"9.11.1","_npmUser":{"name":"chalker","email":"chalkerx@gmail.com"},"dist":{"integrity":"sha512-sSsAhyRw8mBRo96T6nsCCAQosFTc79+wYWbiECHP5P03a7wE76VAbbLysuJ8EEfBhElIsLZau+WNWES4Y/IQSA==","shasum":"2e945f82c9a380e8e3b7c1a1bc21c976bb49f3ea","tarball":"http://localhost:4545/npm/registry/safer-buffer/safer-buffer-2.1.1.tgz","fileCount":7,"unpackedSize":42153,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIATHETjE3ADsHMAt4kviihS+LZJesuXnc41E51YvdgHfAiANEXlkZe6mkA6UzcTcKU9SWbJlQOOa/KapOsfj3S8VJg=="}]},"maintainers":[{"name":"chalker","email":"chalkerx@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/safer-buffer_2.1.1_1523179067144_0.7766754431469289"},"_hasShrinkwrap":false},"2.1.2":{"name":"safer-buffer","version":"2.1.2","description":"Modern Buffer API polyfill without footguns","main":"safer.js","scripts":{"browserify-test":"browserify --external tape tests.js > browserify-tests.js && tape browserify-tests.js","test":"standard && tape tests.js"},"author":{"name":"Nikita Skovoroda","email":"chalkerx@gmail.com","url":"https://github.com/ChALkeR"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/ChALkeR/safer-buffer.git"},"bugs":{"url":"https://github.com/ChALkeR/safer-buffer/issues"},"devDependencies":{"standard":"^11.0.1","tape":"^4.9.0"},"files":["Porting-Buffer.md","Readme.md","tests.js","dangerous.js","safer.js"],"gitHead":"e8ac214944eda30e1e6c6b7d7e7f6a21cf7dce7c","homepage":"https://github.com/ChALkeR/safer-buffer#readme","_id":"safer-buffer@2.1.2","_npmVersion":"5.8.0","_nodeVersion":"9.11.1","_npmUser":{"name":"chalker","email":"chalkerx@gmail.com"},"dist":{"integrity":"sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==","shasum":"44fa161b0187b9549dd84bb91802f9bd8385cd6a","tarball":"http://localhost:4545/npm/registry/safer-buffer/safer-buffer-2.1.2.tgz","fileCount":7,"unpackedSize":42299,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCiWlmbOFsq/xKEX4UKFrw7JuXKDGPMQwhMUq5cAT6LggIhAIHQagK183Vhp/6SzFuUWxphk7AbQiAzPiOAMO7etVRH"}]},"maintainers":[{"name":"chalker","email":"chalkerx@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/safer-buffer_2.1.2_1523184162015_0.8333925439572323"},"_hasShrinkwrap":false}},"time":{"created":"2018-03-19T08:26:02.082Z","1.0.0":"2018-03-19T08:26:02.318Z","modified":"2022-05-16T10:23:00.724Z","2.0.0":"2018-03-19T08:35:17.564Z","2.0.1":"2018-03-19T11:21:35.766Z","2.0.2":"2018-03-20T11:28:09.716Z","2.1.0":"2018-03-21T19:14:45.213Z","2.1.1":"2018-04-08T09:17:47.195Z","2.1.2":"2018-04-08T10:42:42.130Z"},"maintainers":[{"name":"chalker","email":"chalkerx@gmail.com"}],"description":"Modern Buffer API polyfill without footguns","homepage":"https://github.com/ChALkeR/safer-buffer#readme","repository":{"type":"git","url":"git+https://github.com/ChALkeR/safer-buffer.git"},"author":{"name":"Nikita Skovoroda","email":"chalkerx@gmail.com","url":"https://github.com/ChALkeR"},"bugs":{"url":"https://github.com/ChALkeR/safer-buffer/issues"},"license":"MIT","readme":"# safer-buffer [![travis][travis-image]][travis-url] [![npm][npm-image]][npm-url] [![javascript style guide][standard-image]][standard-url] [![Security Responsible Disclosure][secuirty-image]][secuirty-url]\n\n[travis-image]: https://travis-ci.org/ChALkeR/safer-buffer.svg?branch=master\n[travis-url]: https://travis-ci.org/ChALkeR/safer-buffer\n[npm-image]: https://img.shields.io/npm/v/safer-buffer.svg\n[npm-url]: https://npmjs.org/package/safer-buffer\n[standard-image]: https://img.shields.io/badge/code_style-standard-brightgreen.svg\n[standard-url]: https://standardjs.com\n[secuirty-image]: https://img.shields.io/badge/Security-Responsible%20Disclosure-green.svg\n[secuirty-url]: https://github.com/nodejs/security-wg/blob/master/processes/responsible_disclosure_template.md\n\nModern Buffer API polyfill without footguns, working on Node.js from 0.8 to current.\n\n## How to use?\n\nFirst, port all `Buffer()` and `new Buffer()` calls to `Buffer.alloc()` and `Buffer.from()` API.\n\nThen, to achieve compatibility with outdated Node.js versions (`<4.5.0` and 5.x `<5.9.0`), use\n`const Buffer = require('safer-buffer').Buffer` in all files where you make calls to the new\nBuffer API. _Use `var` instead of `const` if you need that for your Node.js version range support._\n\nAlso, see the\n[porting Buffer](https://github.com/ChALkeR/safer-buffer/blob/master/Porting-Buffer.md) guide.\n\n## Do I need it?\n\nHopefully, not — dropping support for outdated Node.js versions should be fine nowdays, and that\nis the recommended path forward. You _do_ need to port to the `Buffer.alloc()` and `Buffer.from()`\nthough.\n\nSee the [porting guide](https://github.com/ChALkeR/safer-buffer/blob/master/Porting-Buffer.md)\nfor a better description.\n\n## Why not [safe-buffer](https://npmjs.com/safe-buffer)?\n\n_In short: while `safe-buffer` serves as a polyfill for the new API, it allows old API usage and\nitself contains footguns._\n\n`safe-buffer` could be used safely to get the new API while still keeping support for older\nNode.js versions (like this module), but while analyzing ecosystem usage of the old Buffer API\nI found out that `safe-buffer` is itself causing problems in some cases.\n\nFor example, consider the following snippet:\n\n```console\n$ cat example.unsafe.js\nconsole.log(Buffer(20))\n$ ./node-v6.13.0-linux-x64/bin/node example.unsafe.js\n<Buffer 0a 00 00 00 00 00 00 00 28 13 de 02 00 00 00 00 05 00 00 00>\n$ standard example.unsafe.js\nstandard: Use JavaScript Standard Style (https://standardjs.com)\n /home/chalker/repo/safer-buffer/example.unsafe.js:2:13: 'Buffer()' was deprecated since v6. Use 'Buffer.alloc()' or 'Buffer.from()' (use 'https://www.npmjs.com/package/safe-buffer' for '<4.5.0') instead.\n```\n\nThis is allocates and writes to console an uninitialized chunk of memory.\n[standard](https://www.npmjs.com/package/standard) linter (among others) catch that and warn people\nto avoid using unsafe API.\n\nLet's now throw in `safe-buffer`!\n\n```console\n$ cat example.safe-buffer.js\nconst Buffer = require('safe-buffer').Buffer\nconsole.log(Buffer(20))\n$ standard example.safe-buffer.js\n$ ./node-v6.13.0-linux-x64/bin/node example.safe-buffer.js\n<Buffer 08 00 00 00 00 00 00 00 28 58 01 82 fe 7f 00 00 00 00 00 00>\n```\n\nSee the problem? Adding in `safe-buffer` _magically removes the lint warning_, but the behavior\nremains identiсal to what we had before, and when launched on Node.js 6.x LTS — this dumps out\nchunks of uninitialized memory.\n_And this code will still emit runtime warnings on Node.js 10.x and above._\n\nThat was done by design. I first considered changing `safe-buffer`, prohibiting old API usage or\nemitting warnings on it, but that significantly diverges from `safe-buffer` design. After some\ndiscussion, it was decided to move my approach into a separate package, and _this is that separate\npackage_.\n\nThis footgun is not imaginary — I observed top-downloaded packages doing that kind of thing,\n«fixing» the lint warning by blindly including `safe-buffer` without any actual changes.\n\nAlso in some cases, even if the API _was_ migrated to use of safe Buffer API — a random pull request\ncan bring unsafe Buffer API usage back to the codebase by adding new calls — and that could go\nunnoticed even if you have a linter prohibiting that (becase of the reason stated above), and even\npass CI. _I also observed that being done in popular packages._\n\nSome examples:\n * [webdriverio](https://github.com/webdriverio/webdriverio/commit/05cbd3167c12e4930f09ef7cf93b127ba4effae4#diff-124380949022817b90b622871837d56cR31)\n (a module with 548 759 downloads/month),\n * [websocket-stream](https://github.com/maxogden/websocket-stream/commit/c9312bd24d08271687d76da0fe3c83493871cf61)\n (218 288 d/m, fix in [maxogden/websocket-stream#142](https://github.com/maxogden/websocket-stream/pull/142)),\n * [node-serialport](https://github.com/node-serialport/node-serialport/commit/e8d9d2b16c664224920ce1c895199b1ce2def48c)\n (113 138 d/m, fix in [node-serialport/node-serialport#1510](https://github.com/node-serialport/node-serialport/pull/1510)),\n * [karma](https://github.com/karma-runner/karma/commit/3d94b8cf18c695104ca195334dc75ff054c74eec)\n (3 973 193 d/m, fix in [karma-runner/karma#2947](https://github.com/karma-runner/karma/pull/2947)),\n * [spdy-transport](https://github.com/spdy-http2/spdy-transport/commit/5375ac33f4a62a4f65bcfc2827447d42a5dbe8b1)\n (5 970 727 d/m, fix in [spdy-http2/spdy-transport#53](https://github.com/spdy-http2/spdy-transport/pull/53)).\n * And there are a lot more over the ecosystem.\n\nI filed a PR at\n[mysticatea/eslint-plugin-node#110](https://github.com/mysticatea/eslint-plugin-node/pull/110) to\npartially fix that (for cases when that lint rule is used), but it is a semver-major change for\nlinter rules and presets, so it would take significant time for that to reach actual setups.\n_It also hasn't been released yet (2018-03-20)._\n\nAlso, `safer-buffer` discourages the usage of `.allocUnsafe()`, which is often done by a mistake.\nIt still supports it with an explicit concern barier, by placing it under\n`require('safer-buffer/dangereous')`.\n\n## But isn't throwing bad?\n\nNot really. It's an error that could be noticed and fixed early, instead of causing havoc later like\nunguarded `new Buffer()` calls that end up receiving user input can do.\n\nThis package affects only the files where `var Buffer = require('safer-buffer').Buffer` was done, so\nit is really simple to keep track of things and make sure that you don't mix old API usage with that.\nAlso, CI should hint anything that you might have missed.\n\nNew commits, if tested, won't land new usage of unsafe Buffer API this way.\n_Node.js 10.x also deals with that by printing a runtime depecation warning._\n\n### Would it affect third-party modules?\n\nNo, unless you explicitly do an awful thing like monkey-patching or overriding the built-in `Buffer`.\nDon't do that.\n\n### But I don't want throwing…\n\nThat is also fine!\n\nAlso, it could be better in some cases when you don't comprehensive enough test coverage.\n\nIn that case — just don't override `Buffer` and use\n`var SaferBuffer = require('safer-buffer').Buffer` instead.\n\nThat way, everything using `Buffer` natively would still work, but there would be two drawbacks:\n\n* `Buffer.from`/`Buffer.alloc` won't be polyfilled — use `SaferBuffer.from` and\n `SaferBuffer.alloc` instead.\n* You are still open to accidentally using the insecure deprecated API — use a linter to catch that.\n\nNote that using a linter to catch accidential `Buffer` constructor usage in this case is strongly\nrecommended. `Buffer` is not overriden in this usecase, so linters won't get confused.\n\n## «Without footguns»?\n\nWell, it is still possible to do _some_ things with `Buffer` API, e.g. accessing `.buffer` property\non older versions and duping things from there. You shouldn't do that in your code, probabably.\n\nThe intention is to remove the most significant footguns that affect lots of packages in the\necosystem, and to do it in the proper way.\n\nAlso, this package doesn't protect against security issues affecting some Node.js versions, so for\nusage in your own production code, it is still recommended to update to a Node.js version\n[supported by upstream](https://github.com/nodejs/release#release-schedule).\n","readmeFilename":"Readme.md"}
\ No newline at end of file diff --git a/cli/tests/testdata/npm/registry/safer-buffer/safer-buffer-2.1.2.tgz b/cli/tests/testdata/npm/registry/safer-buffer/safer-buffer-2.1.2.tgz Binary files differnew file mode 100644 index 000000000..ca15817bb --- /dev/null +++ b/cli/tests/testdata/npm/registry/safer-buffer/safer-buffer-2.1.2.tgz diff --git a/cli/tests/testdata/npm/registry/ssh2/registry.json b/cli/tests/testdata/npm/registry/ssh2/registry.json new file mode 100644 index 000000000..3c8a38c69 --- /dev/null +++ b/cli/tests/testdata/npm/registry/ssh2/registry.json @@ -0,0 +1 @@ +{"_id":"ssh2","_rev":"285-852c28192f144e29c7babaac38c94620","name":"ssh2","description":"SSH2 client and server modules written in pure JavaScript for node.js","dist-tags":{"latest":"1.11.0"},"versions":{"0.0.0":{"name":"ssh2","version":"0.0.0","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"An async libssh2 binding for node.js","main":"./index","scripts":{"preinstall":"node preconfig.js","install":"node-gyp rebuild"},"engines":{"node":">=0.8.0"},"keywords":["ssh","ssh2","sftp","secure","shell","scp"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"http://github.com/mscdex/ssh2.git"},"_id":"ssh2@0.0.0","dist":{"shasum":"8317e9c130d8f690c4432298cfe2e9a6c43cd750","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-0.0.0.tgz","integrity":"sha512-S49UPTCYiKfD7nGOzciowDM72fy090kvEZ5tW2+6aGJFk8FG4Vjr+2C/6dRp7OOd2CLSeFOYI8aAJWs70Y7r2w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIC9LC2xndb7eMtERoDPSJxGRZcyL4Bdn7nDLjv9Lk1BUAiEA664S1fFX5RBODa1oRYjdEALo8CUGOCeMhZW2ry4tMSU="}]},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"directories":{}},"0.0.1":{"name":"ssh2","version":"0.0.1","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"An SSH2 client module written in pure JavaScript for node.js","main":"./lib/Connection","engines":{"node":">=0.8.3"},"keywords":["ssh","ssh2","sftp","secure","shell","scp","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"http://github.com/mscdex/ssh2.git"},"_id":"ssh2@0.0.1","dist":{"shasum":"1869f996dea1362a000d97f6b1752cf67a68727b","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-0.0.1.tgz","integrity":"sha512-1FMi+lzfW5u3/mJV57MNkGnUojP745M0DYrECQsQR9UcZGtRPg4Atm4rCEjXDc4MG3+pZIDR+KUahM/980lIxg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHVE3qbbpD8Q6p1Wi7wxPoGvBz+pUuXcJWI+AmJrxOpaAiEAlLV9Nz0aF1PQwgO+RHN1Z29vZtP7kh3p+1YemznYxlU="}]},"scripts":{},"_npmVersion":"1.1.65","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"directories":{}},"0.0.2":{"name":"ssh2","version":"0.0.2","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"An SSH2 client module written in pure JavaScript for node.js","main":"./lib/Connection","engines":{"node":">=0.8.3"},"keywords":["ssh","ssh2","sftp","secure","shell","scp","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"http://github.com/mscdex/ssh2.git"},"_id":"ssh2@0.0.2","dist":{"shasum":"1b399bb135224fd2aecf5296f14f775f88a05ccb","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-0.0.2.tgz","integrity":"sha512-KuYjuq0atFIfzCs414vpcrdUtUIWV0yhDAwtG/IOQNEvVQg00g1v+Kn0qsvvNf6ERfChLHFnMXJMqLjRfPN2IA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDc6KpCTSSINb9Qz6ptBby+1S4UKnxtiegoMYCEveuplwIge1NFwBDlrJDKyHrw66mHiVnjKhQ7hlrqrwuHPqN8DVw="}]},"scripts":{},"_npmVersion":"1.1.65","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"directories":{}},"0.1.0":{"name":"ssh2","version":"0.1.0","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"An SSH2 client module written in pure JavaScript for node.js","main":"./lib/Connection","engines":{"node":">=0.8.3"},"keywords":["ssh","ssh2","sftp","secure","shell","scp","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"http://github.com/mscdex/ssh2.git"},"_id":"ssh2@0.1.0","dist":{"shasum":"b3ad7a4d707a17fa8829e4aaf317a5d61aa688fb","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-0.1.0.tgz","integrity":"sha512-pJYmn9ecwlJrEc13bAMVTROTq0wYvEh26YJwGvKoCT7jAEUEJUx2wIL5twlbkHaUCnMXRT91Qe+U5+9ffd4tTw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDBgIR9+8Rkt9VIedsOCvmjrXhqomM8S1iksgdD5KXDdAiAJ2idWEj3DW4bNU9KH5CqxiPApxwd1lRgLZi+pKNniJw=="}]},"scripts":{},"_npmVersion":"1.1.65","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"directories":{}},"0.1.1":{"name":"ssh2","version":"0.1.1","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"An SSH2 client module written in pure JavaScript for node.js","main":"./lib/Connection","engines":{"node":">=0.8.3"},"keywords":["ssh","ssh2","sftp","secure","shell","scp","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"http://github.com/mscdex/ssh2.git"},"_id":"ssh2@0.1.1","dist":{"shasum":"d43c9cb989103dc9e8993ba2e80e1fa95cd3c7ff","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-0.1.1.tgz","integrity":"sha512-1VeVCaogiaxlgI9iX1k+VcgNmb4suF6jsYAq1yCOI0BUS3v2ZuaW9655TYAuwRBIw5zPFLUoxXtL7sX6dqCvSA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID0PE6b8PTlc7clItRetQ5//z2blzENnKrfyre2Nc/0zAiEAzfhUZqtpFgiLf5OvlHdua8Nk8nvcZMD2/hFM9ezf17c="}]},"scripts":{},"_npmVersion":"1.1.65","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"directories":{}},"0.1.2":{"name":"ssh2","version":"0.1.2","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"An SSH2 client module written in pure JavaScript for node.js","main":"./lib/Connection","engines":{"node":">=0.8.3"},"keywords":["ssh","ssh2","sftp","secure","shell","scp","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"http://github.com/mscdex/ssh2.git"},"_id":"ssh2@0.1.2","dist":{"shasum":"1dc0a9971237fc32e674dbf50634a49ba7c0c9a8","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-0.1.2.tgz","integrity":"sha512-KFNSOpFmb4sXIWa8dspSyLMklmnOmZ3VKqsVrAIKAHoS6Ry8kr7wyfrQ88yznbJ3R5cHJRNVFwp/hXcRVOaxAA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBmVtLXs8VRfZrzu5F3jENEQKU8lRkRKwWePXdtrLteJAiAxejeXfMpdqIh6r0yYax2tTTk0SS6wqZqNcrmmCjLG3g=="}]},"scripts":{},"_npmVersion":"1.1.65","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"directories":{}},"0.1.3":{"name":"ssh2","version":"0.1.3","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"An SSH2 client module written in pure JavaScript for node.js","main":"./lib/Connection","engines":{"node":">=0.8.3"},"keywords":["ssh","ssh2","sftp","secure","shell","scp","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"http://github.com/mscdex/ssh2.git"},"_id":"ssh2@0.1.3","dist":{"shasum":"6a74d76b8a647ce0c429c6c923b523d530426692","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-0.1.3.tgz","integrity":"sha512-KeeTwnh1MB5fV4jlLO8DxRgu7HWQCJ7jP1yNuVCd7uVMRU2Jy6oRtZbkAYXTOvELL2/6HGKVGeAFPW5so14pvw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC9fGRYDoc1tgIXlPFB7Mfhdq+meQZ23hCF1uh/CGDLiQIhALm2dNTc8Pbl57ozzlKPW2JQ7Zgyne4J1ec++mmcYMbp"}]},"scripts":{},"_npmVersion":"1.1.66","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"directories":{}},"0.1.4":{"name":"ssh2","version":"0.1.4","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"An SSH2 client module written in pure JavaScript for node.js","main":"./lib/Connection","engines":{"node":">=0.8.3"},"keywords":["ssh","ssh2","sftp","secure","shell","scp","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"http://github.com/mscdex/ssh2.git"},"_id":"ssh2@0.1.4","dist":{"shasum":"12b24df9fce62bde521dcf5f5207e91d432a1423","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-0.1.4.tgz","integrity":"sha512-h0LbxJjZDPcRyOgUju6xJk9V4mJ+ihzQ42NqawkylwF8qL2fwwZECSUfDKm2Jjbh0MMkWAAbL2jWHPh8nWGEdw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAYtq8VFfAK/wWSd55HLps11JoIpA94l65knJlHCixArAiAr/pp+c8H49nHTpPLmy0ScnFDJ9ZO4oRVESgTp8GiZvQ=="}]},"scripts":{},"_npmVersion":"1.1.66","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"directories":{}},"0.1.5":{"name":"ssh2","version":"0.1.5","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"An SSH2 client module written in pure JavaScript for node.js","main":"./lib/Connection","engines":{"node":">=0.8.3"},"keywords":["ssh","ssh2","sftp","secure","shell","scp","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"http://github.com/mscdex/ssh2.git"},"_id":"ssh2@0.1.5","dist":{"shasum":"db63444ac2e0b918d484d24174799c7c5637d127","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-0.1.5.tgz","integrity":"sha512-XXs2B5kEEFt9PlQ9YkWvR/QYrgob/o94pcoag2BDCyoHMV9LFxzv7pWuuUJQPu1YPenzgbi9+GjimB8dEm37DQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDZ3eZtuL8rVkYsezMyvCNSQuWdM+AHDkCh1wp1WY6yzQIhAMwmIZRZ6wb5qcO5PgiSPgAi3Bm/Yql9aAXdZdFUwmI6"}]},"scripts":{},"_npmVersion":"1.1.66","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"directories":{}},"0.1.6":{"name":"ssh2","version":"0.1.6","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"An SSH2 client module written in pure JavaScript for node.js","main":"./lib/Connection","engines":{"node":">=0.8.3"},"keywords":["ssh","ssh2","sftp","secure","shell","scp","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"http://github.com/mscdex/ssh2.git"},"_id":"ssh2@0.1.6","dist":{"shasum":"c45abe766d4371a95353e12a51b2dbde74a2033a","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-0.1.6.tgz","integrity":"sha512-oTnlNC48cKFCjCji8/W8g4ExBTuJ5GHvV7xKGHom/XBPSvL+cuWzIkHEmfTO4hfQ//A7ncOnxFBWQNqqOyyV4g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCbnnuRS4L0d7PHvVQpjC+JxghSsK/qhsW69Q2TaqE++gIhAKSh5e0RPnb1qoKrs+lDMOPo4yMUEIGo+FUMOJyNwGUe"}]},"scripts":{},"_npmVersion":"1.1.66","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"directories":{}},"0.1.7":{"name":"ssh2","version":"0.1.7","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"An SSH2 client module written in pure JavaScript for node.js","main":"./lib/Connection","engines":{"node":">=0.8.7"},"keywords":["ssh","ssh2","sftp","secure","shell","ftp","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"http://github.com/mscdex/ssh2.git"},"_id":"ssh2@0.1.7","dist":{"shasum":"8790b504e0cc381e3fccb6d9e0ea06d181351882","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-0.1.7.tgz","integrity":"sha512-vCmk9H816Hs9+WAloWWX8AY8WVBbiUMbz6+zKlvt8PP53V8Kcg9oDqJvFFMSgqsbbfMDSaEQYHVICCvJQV/6+A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDXoBvCi1cyuvQY4QOfT11GtMfM/hEg1r5Ix0yJYhHsVAiBdBNnwhvGbaCd/dWp9pQGeJSr3++5BfeGsdVfNL3qb+A=="}]},"scripts":{},"_npmVersion":"1.1.66","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"directories":{}},"0.1.8":{"name":"ssh2","version":"0.1.8","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"An SSH2 client module written in pure JavaScript for node.js","main":"./lib/Connection","engines":{"node":">=0.8.7"},"keywords":["ssh","ssh2","sftp","secure","shell","ftp","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"http://github.com/mscdex/ssh2.git"},"_id":"ssh2@0.1.8","dist":{"shasum":"db5da024d5e7bfe1e20b23bc1e7b3e49d519a17c","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-0.1.8.tgz","integrity":"sha512-jcE6tvD828SNAnGsrepCdYBAA9JKSspkqAo14CapNodJAHO+esTScdHUdgfPqD+uq1e9sqfB58W72gJplkWsyA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEKbsxW2k0bmmgWzOcs08L3gJ9+445t4OLN+o+SsdFxwAiAdBkhmEUJ8l0GnELsfu6AgwsmK59M5ZBvUZCaEQFeJfQ=="}]},"scripts":{},"_npmVersion":"1.1.69","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"directories":{}},"0.1.9":{"name":"ssh2","version":"0.1.9","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"An SSH2 client module written in pure JavaScript for node.js","main":"./lib/Connection","engines":{"node":">=0.8.7"},"keywords":["ssh","ssh2","sftp","secure","shell","ftp","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"http://github.com/mscdex/ssh2.git"},"_id":"ssh2@0.1.9","dist":{"shasum":"838201044f3788880102e8a443817a99dd34301e","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-0.1.9.tgz","integrity":"sha512-Xu/lsKLAFeHBbgeMYqIRnepCepC7xIac4R/QUzK10Q+V3rQfCt2I7Od6E/dq2fWy8KnlX1BcKdyXpBARvEHpXg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDq3gCE0D3uU1syr3eDNKAeTf/HkkO2Bx6KZZV6/eqfOgIhALNCWdh2+hICNilDVQlBMk45dCB1pK/I+byontXgugNm"}]},"scripts":{},"_npmVersion":"1.1.69","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"directories":{}},"0.1.10":{"name":"ssh2","version":"0.1.10","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"An SSH2 client module written in pure JavaScript for node.js","main":"./lib/Connection","engines":{"node":">=0.8.7"},"keywords":["ssh","ssh2","sftp","secure","shell","ftp","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"http://github.com/mscdex/ssh2.git"},"_id":"ssh2@0.1.10","dist":{"shasum":"19103a5b6fd17d6aec8de3af66ec509029ff51f1","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-0.1.10.tgz","integrity":"sha512-Pdcj1nmYJMXNv2BbQ4vGIzkkByt1jR2XxCCSHjmWhvEWbNWlFHQmYLe9Sl0hCwrEvUAX+7yfclTUGkWtVroT4A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDP6zE/+ONg7eVfZ35ZKf0QFocQTyY8OwThS5fAK+k4mgIgJpcd4G0oQhTKNZFE2YfzIvcAwpcY1pmgCBNECF8oE/4="}]},"scripts":{},"_npmVersion":"1.2.0","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"directories":{}},"0.1.11":{"name":"ssh2","version":"0.1.11","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"An SSH2 client module written in pure JavaScript for node.js","main":"./lib/Connection","engines":{"node":">=0.8.7"},"keywords":["ssh","ssh2","sftp","secure","shell","ftp","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"http://github.com/mscdex/ssh2.git"},"_id":"ssh2@0.1.11","dist":{"shasum":"a9a95757a4b097148f67cc62ab11a17d235f2a2b","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-0.1.11.tgz","integrity":"sha512-FjgQ0iMocqWaArgFkxB6jOwFO8fKN/2X+Wi+AlEdySOiqI8eoNQmvdgqOG2TOa82v9x1LK3DTaZRT5y4sRMecQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFr1KalqWRWZvSJY9wqu8HgEKdcQbmkZnSVmHv7fBtiHAiEA5UFQ7aeu7G3JtqAjOqgy/WfRt1NrO+OBCkwe1w+JTO4="}]},"scripts":{},"_npmVersion":"1.2.0","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"directories":{}},"0.1.12":{"name":"ssh2","version":"0.1.12","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"An SSH2 client module written in pure JavaScript for node.js","main":"./lib/Connection","engines":{"node":">=0.8.7"},"keywords":["ssh","ssh2","sftp","secure","shell","ftp","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"http://github.com/mscdex/ssh2.git"},"_id":"ssh2@0.1.12","dist":{"shasum":"e1b6138227cae1cda149a01f1b492273e8a6f4ea","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-0.1.12.tgz","integrity":"sha512-86j13gu26BNFrc+Qp7p09XSZ7a3Buv1qFLokkwmAYpDu1aDEI0C3oSc9kvFPLPR9fddydOr/k8xQAwQxMOJQcw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEbZZfTNAfawbUck0fkVzie/H4x7OFWOrvKyIdFHrqWTAiEAsVNAGMW5WNhvT+pWGS6LPeSgO7m4ZeYWEZuvxchvZ2M="}]},"_from":"https://github.com/mscdex/ssh2/tarball/v0.1.12","_resolved":"https://github.com/mscdex/ssh2/tarball/v0.1.12","scripts":{},"_npmVersion":"1.2.2","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"directories":{}},"0.1.13":{"name":"ssh2","version":"0.1.13","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"An SSH2 client module written in pure JavaScript for node.js","main":"./lib/Connection","engines":{"node":">=0.8.7"},"keywords":["ssh","ssh2","sftp","secure","shell","ftp","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"http://github.com/mscdex/ssh2.git"},"_id":"ssh2@0.1.13","dist":{"shasum":"69adf0ef0b9cb78fa7f59bdc066c5154d62d7220","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-0.1.13.tgz","integrity":"sha512-LkiggJjp2isdW7JoXcBUySaq2uXYIZhZJcMcCuXZPWFMNw9rEyXNKwyF9EnjGAHtUnP5FiAIf2oAkeO147gVwQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHy8SzytCHOlDlTNVdF1MtnTTiwWBfrBHm7z6SacpvoTAiBw74+Crxnyf8LpzKWCI0AT6IUH5P5W/P3JJsHKY8qULw=="}]},"_from":"https://github.com/mscdex/ssh2/tarball/master","_resolved":"https://github.com/mscdex/ssh2/tarball/master","scripts":{},"_npmVersion":"1.2.10","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"directories":{}},"0.2.0":{"name":"ssh2","version":"0.2.0","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"An SSH2 client module written in pure JavaScript for node.js","main":"./lib/Connection","engines":{"node":">=0.8.7"},"keywords":["ssh","ssh2","sftp","secure","shell","ftp","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"http://github.com/mscdex/ssh2.git"},"_id":"ssh2@0.2.0","dist":{"shasum":"f814e40db86476e8cbe93d7c57c23dc279471417","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-0.2.0.tgz","integrity":"sha512-k2EmRxrjuHExCq3Zc1Prym0JRqogHiJimaXdE7cz18LsmUSJFYuTejdUG3uyyCKZ/QkEBf+CCP64lY1l3ZWXHg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIH5XLsqHHKs1ThrS7VninV2BI0emm1ZgFuXJ2/8QIciwAiBm9ZGZhr0LvUZz0q+GeOLvdBcIfAZpGht8lBkAMWuElQ=="}]},"_from":"https://github.com/mscdex/ssh2/tarball/v0.2.0","_resolved":"https://github.com/mscdex/ssh2/tarball/v0.2.0","scripts":{},"_npmVersion":"1.2.15","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"directories":{}},"0.2.1":{"name":"ssh2","version":"0.2.1","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"An SSH2 client module written in pure JavaScript for node.js","main":"./lib/Connection","engines":{"node":">=0.8.7"},"keywords":["ssh","ssh2","sftp","secure","shell","ftp","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"http://github.com/mscdex/ssh2.git"},"_id":"ssh2@0.2.1","dist":{"shasum":"4d8d878dc624572a64a02f944199dc2c2e957ebb","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-0.2.1.tgz","integrity":"sha512-g8X5Ddx6cW831S5GJ7dhDasn//Y25iumRSUuy9AiEevaJVfE91RWUywxrAM1hquTZObrtb+lutVm+xTCmplZJg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDBiLq0krxeUErjascSGu1XXv0xs0h7lNfYsdLPvyAqjgIgfvLyS2vj0ypJUFGDxyiUq+3gHAbIVLZ+nTt9/FMPdOc="}]},"_from":"https://github.com/mscdex/ssh2/tarball/v0.2.1","_resolved":"https://github.com/mscdex/ssh2/tarball/v0.2.1","scripts":{},"_npmVersion":"1.2.15","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"directories":{}},"0.2.2":{"name":"ssh2","version":"0.2.2","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"An SSH2 client module written in pure JavaScript for node.js","main":"./lib/Connection","engines":{"node":">=0.8.7"},"keywords":["ssh","ssh2","sftp","secure","shell","ftp","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"http://github.com/mscdex/ssh2.git"},"_id":"ssh2@0.2.2","dist":{"shasum":"373e81539ec758777c005a46f662562813f11402","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-0.2.2.tgz","integrity":"sha512-hVNxjj3en2P6RXL8r+aNl3GIOhsQebRV3lZSYMalriQF+8Nr5kGOiGmw7H5ZsGoe8h+y09r/lKTKIRIVPHHKjg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC6/mjjW2DulVLTGd5wHEbXSnf+z07o4Gf6Af+u1EiPXAiAENkQoVLIIL9DBaNEnR4TcV94bPnF04LDEXfdYMtrYCQ=="}]},"_from":"https://github.com/mscdex/ssh2/tarball/v0.2.2","_resolved":"https://github.com/mscdex/ssh2/tarball/v0.2.2","scripts":{},"_npmVersion":"1.2.15","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"directories":{}},"0.2.3":{"name":"ssh2","version":"0.2.3","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"An SSH2 client module written in pure JavaScript for node.js","main":"./lib/Connection","engines":{"node":">=0.8.7"},"keywords":["ssh","ssh2","sftp","secure","shell","ftp","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"http://github.com/mscdex/ssh2.git"},"_id":"ssh2@0.2.3","dist":{"shasum":"b670a0b026ed13cba9e229c175fd09362c273b54","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-0.2.3.tgz","integrity":"sha512-3JiNQW0K93hxmGpcfiNgmlAP+PsBJTFaa1lDWL09WchWcTtpuD99IUfSy2hMl9hwDgKw4Ush1G1IAzYLtSQQJA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGro298bjj8B6G2KeQoqilJZCCucswTkPEl8bbLnCTmbAiEA2oSgsPUD2ujYjAZ1hVTDNZtNpcyLwyIhDZlNDQDviMY="}]},"_from":"https://github.com/mscdex/ssh2/tarball/v0.2.3","_resolved":"https://github.com/mscdex/ssh2/tarball/v0.2.3","scripts":{},"_npmVersion":"1.2.17","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"directories":{}},"0.2.4":{"name":"ssh2","version":"0.2.4","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"An SSH2 client module written in pure JavaScript for node.js","main":"./lib/Connection","engines":{"node":">=0.8.7"},"keywords":["ssh","ssh2","sftp","secure","shell","ftp","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"http://github.com/mscdex/ssh2.git"},"_id":"ssh2@0.2.4","dist":{"shasum":"eeee95fd42ea3b7718edf3b05e97d465a3008b8a","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-0.2.4.tgz","integrity":"sha512-NJkPnpxjBasS7ptoRpptWg05zwOtVrWz/A1+fvqB28+ni0P4GDiIfw/ubjsJFqRs7z+chQ41GiyX30fEGp21+A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCMU8Xtzk756Cq92DhjYphKTaP+x8H8pQ/h1Yr0FEhRpwIhAPieaLPopCFSwSZQtRrGZJJS0mAdTRuUrzohizhUnfzE"}]},"_from":"https://github.com/mscdex/ssh2/tarball/v0.2.4","_resolved":"https://github.com/mscdex/ssh2/tarball/v0.2.4","scripts":{},"_npmVersion":"1.2.17","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"directories":{}},"0.2.5":{"name":"ssh2","version":"0.2.5","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"An SSH2 client module written in pure JavaScript for node.js","main":"./lib/Connection","engines":{"node":">=0.8.7"},"keywords":["ssh","ssh2","sftp","secure","shell","ftp","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"http://github.com/mscdex/ssh2.git"},"_id":"ssh2@0.2.5","dist":{"shasum":"5062060d8dd0464fa3211cf2e948cfc190b7b07e","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-0.2.5.tgz","integrity":"sha512-UgrevIFQqWNUgXCQZTx46cmi0BcTXKmHf4s4pdqzQnhyHmYiTQHWV5hN5eBIDTjK1auIQU58uO1CUOud/NNrww==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG1kSdFlgoxS9Xi9EqDFhM1rdoASdX9Zhk4BYmPSY6VHAiEAiwqQPIStCM5f2/F9Bzr69nc05J8UHgjADnBCXY4ZNc4="}]},"_from":"https://github.com/mscdex/ssh2/tarball/v0.2.5","_resolved":"https://github.com/mscdex/ssh2/tarball/v0.2.5","scripts":{},"_npmVersion":"1.2.18","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"directories":{}},"0.2.6":{"name":"ssh2","version":"0.2.6","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"An SSH2 client module written in pure JavaScript for node.js","main":"./lib/Connection","engines":{"node":">=0.8.7"},"dependencies":{"streamsearch":"*"},"keywords":["ssh","ssh2","sftp","secure","shell","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"http://github.com/mscdex/ssh2.git"},"bugs":{"url":"https://github.com/mscdex/ssh2/issues"},"_id":"ssh2@0.2.6","dist":{"shasum":"7c42fa27fe0dcfc993f24e366b212f6a99b32915","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-0.2.6.tgz","integrity":"sha512-9aeeLOwvdcSCFEPDp6ouYR04ZpJG+7AXQgNZJ18WlGVt2gSVWJE0E93Uum+pXUsEmn+neUNm2xn4QHblWTWujg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDz7ICe1pNX0yrmAXL8UaYrX2Jstij7Gt1h8H0tL2NWIQIhAMUp5AYYfeoL9/f+eYAL+AurQpEytEoXIOqw/di1YAGg"}]},"_from":"https://github.com/mscdex/ssh2/tarball/v0.2.6","_resolved":"https://github.com/mscdex/ssh2/tarball/v0.2.6","scripts":{},"_npmVersion":"1.2.23","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"directories":{}},"0.2.7":{"name":"ssh2","version":"0.2.7","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"An SSH2 client module written in pure JavaScript for node.js","main":"./lib/Connection","engines":{"node":">=0.8.7"},"dependencies":{"streamsearch":"0.1.2"},"keywords":["ssh","ssh2","sftp","secure","shell","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"http://github.com/mscdex/ssh2.git"},"bugs":{"url":"https://github.com/mscdex/ssh2/issues"},"_id":"ssh2@0.2.7","dist":{"shasum":"9f95baf7e244b5b1d4fc04c97fe274aeacca13af","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-0.2.7.tgz","integrity":"sha512-B6N3yBBbq20YzKOGRbCp59O9HbqiCLYc+rt+TbweoHfLU5W9uFjYd0jm7gEziKvWCfeQDv913d1hC1zFwC3MYg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGZC+fFny+beiSdjdgNNTu63+or127fSoGVHMg6owhEBAiBF5Q6fwkBvriOVKCv991AmnKTkP/sV+/eniH1qgmoMVQ=="}]},"_from":"https://github.com/mscdex/ssh2/tarball/v0.2.7","_resolved":"https://github.com/mscdex/ssh2/tarball/v0.2.7","scripts":{},"_npmVersion":"1.2.23","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"directories":{}},"0.2.8":{"name":"ssh2","version":"0.2.8","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"An SSH2 client module written in pure JavaScript for node.js","main":"./lib/Connection","engines":{"node":">=0.8.7"},"dependencies":{"streamsearch":"0.1.2"},"keywords":["ssh","ssh2","sftp","secure","shell","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"http://github.com/mscdex/ssh2.git"},"bugs":{"url":"https://github.com/mscdex/ssh2/issues"},"_id":"ssh2@0.2.8","dist":{"shasum":"50acd6d7a7fb4da18ef4364737bb9a5066bf689d","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-0.2.8.tgz","integrity":"sha512-sGIp1ELLodYCm/RnRK3qgnZnB3Q9d2cBKxAN4QsJYUK0MJ9T2lDtY7zuilOckWfbKD/uQPxTxDM92VlESd2mXg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDMkq8BLRstdxWoM2yYJa6Xwd10k/OTe626P4K7HRet+QIhAN6+4uf1Dq2BuPlznQ3/KJ2QmPI2nDwpwsna6+7giY5v"}]},"_from":"https://github.com/mscdex/ssh2/tarball/v0.2.8","_resolved":"https://github.com/mscdex/ssh2/tarball/v0.2.8","scripts":{},"_npmVersion":"1.2.24","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"directories":{}},"0.2.9":{"name":"ssh2","version":"0.2.9","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"An SSH2 client module written in pure JavaScript for node.js","main":"./lib/Connection","engines":{"node":">=0.8.7"},"dependencies":{"streamsearch":"0.1.2"},"keywords":["ssh","ssh2","sftp","secure","shell","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"http://github.com/mscdex/ssh2.git"},"bugs":{"url":"https://github.com/mscdex/ssh2/issues"},"_id":"ssh2@0.2.9","dist":{"shasum":"ab35e6ea94eaeb4eeec7fab12a67e6c28a323197","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-0.2.9.tgz","integrity":"sha512-Mqd4iZnzpeJkKVnxVZ/99F0WFdcxJ+tmVQS/2eISxncfLNaiiyCdd7l99zcVUYKSrJp9O3qdR+zfaFu9KcYQ+Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBXBLuiH5yDxyGi755I5WrI6ov3kfj1qgYVbLaBI5kfkAiEAi+JwOT8GCu/fxbchpD5VwaAx7dgV+P39Eezb5SdfD7k="}]},"_from":"https://github.com/mscdex/ssh2/tarball/v0.2.9","_resolved":"https://github.com/mscdex/ssh2/tarball/v0.2.9","scripts":{},"_npmVersion":"1.2.30","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"directories":{}},"0.2.10":{"name":"ssh2","version":"0.2.10","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"An SSH2 client module written in pure JavaScript for node.js","main":"./lib/Connection","engines":{"node":">=0.8.7"},"dependencies":{"streamsearch":"0.1.2"},"keywords":["ssh","ssh2","sftp","secure","shell","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"http://github.com/mscdex/ssh2.git"},"bugs":{"url":"https://github.com/mscdex/ssh2/issues"},"_id":"ssh2@0.2.10","dist":{"shasum":"c060b5263883c736e3b2ecea41a3b313cefa96b9","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-0.2.10.tgz","integrity":"sha512-6IcY+aNO4ysdp4THsOwDhy5GhWzD8FbzMhAZmyq0f9tyQqOffwqzyRL2y7REATxwQrEzeXuvNWT5WBSg9AzJkw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDraS4PJ92un1SCx2wre8ssDGHp038R/PGMJOEO9hTNSAIgU3LueED8lkpK0C90WOGL+pSIpBJWQ9JCZrerdl8iYD0="}]},"_from":"https://github.com/mscdex/ssh2/tarball/v0.2.10","_resolved":"https://github.com/mscdex/ssh2/tarball/v0.2.10","scripts":{},"_npmVersion":"1.3.2","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"directories":{}},"0.2.11":{"name":"ssh2","version":"0.2.11","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"An SSH2 client module written in pure JavaScript for node.js","main":"./lib/Connection","engines":{"node":">=0.8.7"},"dependencies":{"streamsearch":"0.1.2"},"keywords":["ssh","ssh2","sftp","secure","shell","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"http://github.com/mscdex/ssh2.git"},"bugs":{"url":"https://github.com/mscdex/ssh2/issues"},"_id":"ssh2@0.2.11","dist":{"shasum":"0ec8d91fe6042cba59a11abd9e444b27d45fcaaf","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-0.2.11.tgz","integrity":"sha512-qhMP+VpdiDrRwN8ahpDLML/KrmSMQke1t7xtgFmwWRha8n8ziyasqf/DpW5JUzgtUO/QoWqfhd7fAD9b1uPJ+A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGp/w1cui2lq7fnHYmby9Al+CUllFUHjuJBZ6Uab0QPJAiEArS9+h4KlgI2JQNrKqWkcnFQRnPZWmKvoGtpxhxeZjzE="}]},"_from":"https://github.com/mscdex/ssh2/tarball/v0.2.11","_resolved":"https://github.com/mscdex/ssh2/tarball/v0.2.11","scripts":{},"_npmVersion":"1.3.2","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"directories":{}},"0.2.12":{"name":"ssh2","version":"0.2.12","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"An SSH2 client module written in pure JavaScript for node.js","main":"./lib/Connection","engines":{"node":">=0.8.7"},"dependencies":{"streamsearch":"0.1.2","asn1":"0.1.11"},"keywords":["ssh","ssh2","sftp","secure","shell","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"http://github.com/mscdex/ssh2.git"},"bugs":{"url":"https://github.com/mscdex/ssh2/issues"},"_id":"ssh2@0.2.12","dist":{"shasum":"38ba81c58d6a3e9af1b27548f1819266b3a39c4a","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-0.2.12.tgz","integrity":"sha512-EP1sQDqRLfd6R18jewrERtK+rMz4THKElICyyBxyRLGLTgW0ESiZRaSnJ9mH1UsMGCzfioUjgN7pZL17RK0uXg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICJIT3/daU1nNv9iudPFPR5eKwkqWMPwTH31u+WAbwoYAiAi3eZqMxYlV66HuAd3/eR0j8o/wUG7UFAdhhKlHGfU7w=="}]},"_from":"https://github.com/mscdex/ssh2/tarball/v0.2.12","_resolved":"https://github.com/mscdex/ssh2/tarball/v0.2.12","scripts":{},"_npmVersion":"1.3.5","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"directories":{}},"0.2.13":{"name":"ssh2","version":"0.2.13","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"An SSH2 client module written in pure JavaScript for node.js","main":"./lib/Connection","engines":{"node":">=0.8.7"},"dependencies":{"streamsearch":"0.1.2","asn1":"0.1.11"},"keywords":["ssh","ssh2","sftp","secure","shell","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"http://github.com/mscdex/ssh2.git"},"bugs":{"url":"https://github.com/mscdex/ssh2/issues"},"_id":"ssh2@0.2.13","dist":{"shasum":"b4596d26b60651d4b764a40043c7781a2fbbf6a1","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-0.2.13.tgz","integrity":"sha512-P8Tk10XvKXdb8Vb4yxQUqStMW/9iztI4iMKbXxG+etTWDtlOaCfArMOyt94nyofHnlftuKdr1FLkrOpyW4kAnw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDfZuEEcimCt9xCOJHgQEXIOF0+qIl98LTpiexBOS2vfgIhAI0qASxVH7m0+E3fEYDf0Pyj8f48BekePhUP2q1T/6SP"}]},"_from":"https://github.com/mscdex/ssh2/tarball/v0.2.13","_resolved":"https://github.com/mscdex/ssh2/tarball/v0.2.13","scripts":{},"_npmVersion":"1.3.11","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"directories":{}},"0.2.14":{"name":"ssh2","version":"0.2.14","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"An SSH2 client module written in pure JavaScript for node.js","main":"./lib/Connection","engines":{"node":">=0.8.7"},"dependencies":{"streamsearch":"0.1.2","asn1":"0.1.11"},"keywords":["ssh","ssh2","sftp","secure","shell","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"http://github.com/mscdex/ssh2.git"},"bugs":{"url":"https://github.com/mscdex/ssh2/issues"},"_id":"ssh2@0.2.14","dist":{"shasum":"6f93df62f1475cbe5b45924da568643b9ac7388a","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-0.2.14.tgz","integrity":"sha512-32MCbeO1n6LR9Pk97FF3XmEh7p8c0oxITdye8030KOUiSE1+gDGf99aY2lQwHPhnN37dCJp0HBJIjQJ83iy8BQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEjnDwABFm61tUMjDhmBb4BnjJu+gze/jt4zxUX4vX7SAiBHrOOiQ2fJjn5K14+4UCmnhDSVXuzOSmZIZJhyZNHNiw=="}]},"_from":"https://github.com/mscdex/ssh2/tarball/v0.2.14","_resolved":"https://github.com/mscdex/ssh2/tarball/v0.2.14","scripts":{},"_npmVersion":"1.3.11","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"directories":{}},"0.2.15":{"name":"ssh2","version":"0.2.15","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"An SSH2 client module written in pure JavaScript for node.js","main":"./lib/Connection","engines":{"node":">=0.8.7"},"dependencies":{"streamsearch":"0.1.2","asn1":"0.1.11"},"keywords":["ssh","ssh2","sftp","secure","shell","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"http://github.com/mscdex/ssh2.git"},"bugs":{"url":"https://github.com/mscdex/ssh2/issues"},"homepage":"https://github.com/mscdex/ssh2","_id":"ssh2@0.2.15","dist":{"shasum":"4bdd245a6764ec3cf9689c08aa8467bdedfb3cb0","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-0.2.15.tgz","integrity":"sha512-4ke2mlCfJgNQiaGNa03omc9u8b2w9O9vbDpd4OWGC2TvyIRR1XZDeibJu4nPL9fMe/BavrWgd0OWiLwXEsajOg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD5qm/NJylHCdD0YjlLydaR7tjurnuE1QnNVSvqGd0DegIgUPS//2EMqYSsuchX10B/IHq7UTcqtLifT2Rne3hyflA="}]},"_from":"https://github.com/mscdex/ssh2/tarball/v0.2.15","_resolved":"https://github.com/mscdex/ssh2/tarball/v0.2.15","scripts":{},"_npmVersion":"1.3.14","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"directories":{}},"0.2.16":{"name":"ssh2","version":"0.2.16","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"An SSH2 client module written in pure JavaScript for node.js","main":"./lib/Connection","engines":{"node":">=0.8.7"},"dependencies":{"streamsearch":"0.1.2","asn1":"0.1.11"},"keywords":["ssh","ssh2","sftp","secure","shell","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"http://github.com/mscdex/ssh2.git"},"bugs":{"url":"https://github.com/mscdex/ssh2/issues"},"homepage":"https://github.com/mscdex/ssh2","_id":"ssh2@0.2.16","dist":{"shasum":"f0e2fe7f4e3223c74ddd430dac82506ed3d747c7","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-0.2.16.tgz","integrity":"sha512-4Smt18bZNZ7O9Ii2u6GcHZ+L+FAALgCA64nG91pCb9J4Yb0aCb5rwG8utYapeglU+oGmXdxmMNM2EcC4sIkNWg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCeRCLsXeSdaAeq1CbRrxSm8ciePaqAWVs+HAR78JCSRgIhAPxpKqdxGIRHHf8AkZNKhufNj0W7Fu0HzrYdxsLOxwYm"}]},"_from":"https://github.com/mscdex/ssh2/tarball/v0.2.16","_resolved":"https://github.com/mscdex/ssh2/tarball/v0.2.16","scripts":{},"_npmVersion":"1.3.14","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"directories":{}},"0.2.17":{"name":"ssh2","version":"0.2.17","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"An SSH2 client module written in pure JavaScript for node.js","main":"./lib/Connection","engines":{"node":">=0.8.7"},"dependencies":{"streamsearch":"0.1.2","asn1":"0.1.11"},"keywords":["ssh","ssh2","sftp","secure","shell","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"http://github.com/mscdex/ssh2.git"},"bugs":{"url":"https://github.com/mscdex/ssh2/issues"},"homepage":"https://github.com/mscdex/ssh2","_id":"ssh2@0.2.17","dist":{"shasum":"ce7773e4c7c4f78a8ab19227dcc3afae0b149291","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-0.2.17.tgz","integrity":"sha512-dgGlGFn+RAY+YdMSk0/KXmrlIVm6/8+v0KOsCiQoZEJY+xKne6+yobrpHv8VJEubbTmhur74bzhG1SGUBD530Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFaNdmyF3X3fTwn6fw2PPBc1CFBV3Wgah1t8gd4mRJPvAiB4EyVd48MzZqWyiZit6cwY+BYUMw+Y/U4mSehvcDu1MQ=="}]},"_from":"https://github.com/mscdex/ssh2/tarball/v0.2.17","_resolved":"https://github.com/mscdex/ssh2/tarball/v0.2.17","scripts":{},"_npmVersion":"1.3.21","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"directories":{}},"0.2.18":{"name":"ssh2","version":"0.2.18","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"An SSH2 client module written in pure JavaScript for node.js","main":"./lib/Connection","engines":{"node":">=0.8.7"},"dependencies":{"streamsearch":"0.1.2","asn1":"0.1.11"},"keywords":["ssh","ssh2","sftp","secure","shell","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"http://github.com/mscdex/ssh2.git"},"bugs":{"url":"https://github.com/mscdex/ssh2/issues"},"homepage":"https://github.com/mscdex/ssh2","_id":"ssh2@0.2.18","dist":{"shasum":"f0fb31119aaa8fe145ff45e693d65ceaa0e90cd0","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-0.2.18.tgz","integrity":"sha512-6dmrklkqJUd7C//4aTQsYNGladKDYgVD9ONZBhVEMCQ8CysETuP2Jms+VtrtRhi68t4BW1/EKaAHn7yOP646ZA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFQppKMbyLV/t/0Bdw4eQXC63G9trtGNDWjxYO4aFAErAiAvRfXwpbvPoKhSo+cQx4swVE5hLzGend9VdjPD/HqJpQ=="}]},"_from":"https://github.com/mscdex/ssh2/tarball/v0.2.18","_resolved":"https://github.com/mscdex/ssh2/tarball/v0.2.18","scripts":{},"_npmVersion":"1.4.3","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"directories":{}},"0.2.19":{"name":"ssh2","version":"0.2.19","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"An SSH2 client module written in pure JavaScript for node.js","main":"./lib/Connection","engines":{"node":">=0.8.7"},"dependencies":{"streamsearch":"0.1.2","asn1":"0.1.11"},"keywords":["ssh","ssh2","sftp","secure","shell","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"http://github.com/mscdex/ssh2.git"},"bugs":{"url":"https://github.com/mscdex/ssh2/issues"},"homepage":"https://github.com/mscdex/ssh2","_id":"ssh2@0.2.19","dist":{"shasum":"6c1decb2aa5b3baf37ca9360b47212b214b1c290","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-0.2.19.tgz","integrity":"sha512-yMPtZ7niFWV+qGv5g07gecX7vOlt4ezSVlFPhdjt+dgaFUi4hSr6gfk1znzU4dYPilRYxkjSMHjuokH4iYj/OQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGwEJ9/t8M75rFi0IrPuKw8H8xJICNIdTQaE+ofQ945pAiAmZvJH90LqStP+QrrkzxJs5NQBd2klXABJN7H7UCtIww=="}]},"_from":"https://github.com/mscdex/ssh2/tarball/v0.2.19","_resolved":"https://github.com/mscdex/ssh2/tarball/v0.2.19","scripts":{},"_npmVersion":"1.4.3","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"directories":{}},"0.2.20":{"name":"ssh2","version":"0.2.20","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"An SSH2 client module written in pure JavaScript for node.js","main":"./lib/Connection","engines":{"node":">=0.8.7"},"dependencies":{"streamsearch":"0.1.2","asn1":"0.1.11"},"keywords":["ssh","ssh2","sftp","secure","shell","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"http://github.com/mscdex/ssh2.git"},"bugs":{"url":"https://github.com/mscdex/ssh2/issues"},"homepage":"https://github.com/mscdex/ssh2","_id":"ssh2@0.2.20","dist":{"shasum":"d84c4a9a943be849040d25d70c6c310525107c0a","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-0.2.20.tgz","integrity":"sha512-RXewRsgisbt0CWP6DTAGRDsx76GuMVZh5pgnM0EeefQHfaxTrLLyM6wDogfR9hcG2WgsHGkqX1373ge9WBSpbA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC9URWKyRsMSfKamEySvTVNrJni8bZ/yEylKfzjkZ0JGQIhAIgUdw4tRMUbS0s0XeZdxXbG1ZPpL7TwqggJZsmOFHrd"}]},"_from":"https://github.com/mscdex/ssh2/tarball/v0.2.20","_resolved":"https://github.com/mscdex/ssh2/tarball/v0.2.20","scripts":{},"_npmVersion":"1.4.3","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"directories":{}},"0.2.21":{"name":"ssh2","version":"0.2.21","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"An SSH2 client module written in pure JavaScript for node.js","main":"./lib/Connection","engines":{"node":">=0.8.7"},"dependencies":{"streamsearch":"0.1.2","asn1":"0.1.11"},"keywords":["ssh","ssh2","sftp","secure","shell","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"http://github.com/mscdex/ssh2.git"},"bugs":{"url":"https://github.com/mscdex/ssh2/issues"},"homepage":"https://github.com/mscdex/ssh2","_id":"ssh2@0.2.21","dist":{"shasum":"afcf28eef6293fc336589928bdfbc6b32acabbb6","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-0.2.21.tgz","integrity":"sha512-px37Tvl8trVLPWVXz7Q02+vSYWm+ffZv4m8k5eLEyAwpdeJh3cQQlo4pX1Q0mA/q9WPHshqIQoLvlr+qzwNbqQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDAsAcIqPRswuM8Tub4ZQakrfw6t3TZBQmSKyRcK/mjwAiA6crMTqO1cfuvgw7IdIwbNXgYvdX+w574I0hA/uS/VyA=="}]},"_from":"https://github.com/mscdex/ssh2/tarball/v0.2.21","_resolved":"https://github.com/mscdex/ssh2/tarball/v0.2.21","scripts":{},"_npmVersion":"1.4.3","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"directories":{}},"0.2.22":{"name":"ssh2","version":"0.2.22","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"An SSH2 client module written in pure JavaScript for node.js","main":"./lib/Connection","engines":{"node":">=0.8.7"},"dependencies":{"streamsearch":"0.1.2","asn1":"0.1.11"},"keywords":["ssh","ssh2","sftp","secure","shell","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"http://github.com/mscdex/ssh2.git"},"bugs":{"url":"https://github.com/mscdex/ssh2/issues"},"homepage":"https://github.com/mscdex/ssh2","_id":"ssh2@0.2.22","dist":{"shasum":"453b890222ece23f58158473657352141dd19425","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-0.2.22.tgz","integrity":"sha512-Xa/HFMpEzqTEXaG1hMsaz5KPaywhc5Ny0g3duNod/G8E7qZuo45YDR2uucppe/InQnOBkp9gXHZZqwFDJRAgTA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHHMWD9Iwm1kDTJWVGssbopDFrln5VzXRkINGHxbGpynAiEAwvKA/9tETSh14D7pfCa3W7GXNNaWiZMaU+I8hw+D6Eo="}]},"_from":"https://github.com/mscdex/ssh2/tarball/v0.2.22","_resolved":"https://github.com/mscdex/ssh2/tarball/v0.2.22","scripts":{},"_npmVersion":"1.4.3","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"directories":{}},"0.2.23":{"name":"ssh2","version":"0.2.23","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"An SSH2 client module written in pure JavaScript for node.js","main":"./lib/Connection","engines":{"node":">=0.8.7"},"dependencies":{"streamsearch":"0.1.2","asn1":"0.1.11"},"keywords":["ssh","ssh2","sftp","secure","shell","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"http://github.com/mscdex/ssh2.git"},"bugs":{"url":"https://github.com/mscdex/ssh2/issues"},"homepage":"https://github.com/mscdex/ssh2","_id":"ssh2@0.2.23","dist":{"shasum":"a0543b4c4fa86096524d0d846171cb898ad8cd24","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-0.2.23.tgz","integrity":"sha512-l2uN18RO8zO/GlUGnNMf+1a9pIb6yUs24PzKbJxat0zhkCGLBe98fajEV/6JpYIIHxjM8eA+4KJ25vGOpsiN8w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDEaBWkSHopNUZ7u54M68LOOY8z6PBNYu0uXp8HWH6AEgIgNqqQ/vWDppePGOYaz10bhIyZhFrxxovaUvtXMon5sSQ="}]},"_from":"https://github.com/mscdex/ssh2/tarball/v0.2.23","_resolved":"https://github.com/mscdex/ssh2/tarball/v0.2.23","scripts":{},"_npmVersion":"1.4.3","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"directories":{}},"0.2.24":{"name":"ssh2","version":"0.2.24","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"An SSH2 client module written in pure JavaScript for node.js","main":"./lib/Connection","engines":{"node":">=0.8.7"},"dependencies":{"streamsearch":"0.1.2","asn1":"0.1.11"},"keywords":["ssh","ssh2","sftp","secure","shell","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"http://github.com/mscdex/ssh2.git"},"bugs":{"url":"https://github.com/mscdex/ssh2/issues"},"homepage":"https://github.com/mscdex/ssh2","_id":"ssh2@0.2.24","_shasum":"01aee6a936dc4233b8e1e65dd2cc2e60529dcf52","_from":"https://github.com/mscdex/ssh2/tarball/v0.2.24","_resolved":"https://github.com/mscdex/ssh2/tarball/v0.2.24","scripts":{},"_npmVersion":"1.4.9","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"dist":{"shasum":"01aee6a936dc4233b8e1e65dd2cc2e60529dcf52","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-0.2.24.tgz","integrity":"sha512-1ExSDlu+DwyDn1RFvG/bA+nylIINSnFQ49hVRjHFiS/jY2g2AzFZ4QLtrNG3ihAHosZ9r3SE2i2jnvrNnDv3QA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDcJ9Jo6ebV7iAXp7XFTsYfjp3fQ3K6yloKRZOBhDSbCwIhANJG8qc1ICLjOKNf00qS1y2yB/XjfXtxTHcPOf3fe2EY"}]},"directories":{}},"0.2.25":{"name":"ssh2","version":"0.2.25","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"An SSH2 client module written in pure JavaScript for node.js","main":"./lib/Connection","engines":{"node":">=0.8.7"},"dependencies":{"streamsearch":"0.1.2","asn1":"0.1.11"},"keywords":["ssh","ssh2","sftp","secure","shell","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"http://github.com/mscdex/ssh2.git"},"bugs":{"url":"https://github.com/mscdex/ssh2/issues"},"homepage":"https://github.com/mscdex/ssh2","_id":"ssh2@0.2.25","_shasum":"2ed344a85e1ffea4d83ab2de85265e84b81691e5","_from":"https://github.com/mscdex/ssh2/tarball/v0.2.25","_resolved":"https://github.com/mscdex/ssh2/tarball/v0.2.25","scripts":{},"_npmVersion":"1.4.9","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"dist":{"shasum":"2ed344a85e1ffea4d83ab2de85265e84b81691e5","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-0.2.25.tgz","integrity":"sha512-rP2quKAFillQrwqq53rGnGqKIKp+7ufwrcgWAwcDGK7vogN/9G3ZdY5HYUfqHoY8w2tWUZ6VAEl9ranxU2SPSg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDc7FSvEshYRju/Ees9A63NvGIiTHWDMf9teQgWujbwZgIgDeHzWoIOXY/HGCXiWwv1ZLz3PMDdZHv/RB0qRSvMnSs="}]},"directories":{}},"0.3.0":{"name":"ssh2","version":"0.3.0","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"An SSH2 client module written in pure JavaScript for node.js","main":"./lib/Connection","engines":{"node":">=0.8.7"},"dependencies":{"readable-stream":"1.0.27-1","streamsearch":"0.1.2","asn1":"0.2.1"},"scripts":{"test":"node test/test.js"},"keywords":["ssh","ssh2","sftp","secure","shell","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"http://github.com/mscdex/ssh2.git"},"bugs":{"url":"https://github.com/mscdex/ssh2/issues"},"homepage":"https://github.com/mscdex/ssh2","_id":"ssh2@0.3.0","_shasum":"d52bc9cff5c27045f639d65bdac279fdb29d8966","_from":"https://github.com/mscdex/ssh2/tarball/v0.3.0","_resolved":"https://github.com/mscdex/ssh2/tarball/v0.3.0","_npmVersion":"1.4.14","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"dist":{"shasum":"d52bc9cff5c27045f639d65bdac279fdb29d8966","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-0.3.0.tgz","integrity":"sha512-nBafAJOCbf8S6lSPr+r1Uav7TB5wHLr5kKRaRNDCB8nRFBhgH4Ir9+fJyaMwanrhuJi+oTQeZJWy14K/NxAUZg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCaCpFETUN97nVqMZ3BMF/OziZqRunL+NjJiIfMIYUj7AIhAM29AS3lI0Mc2ZkAu99UyV2TrVnGumugmu+9EELTeRD/"}]},"directories":{}},"0.3.1":{"name":"ssh2","version":"0.3.1","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"An SSH2 client module written in pure JavaScript for node.js","main":"./lib/Connection","engines":{"node":">=0.8.7"},"dependencies":{"readable-stream":"1.0.27-1","streamsearch":"0.1.2","asn1":"0.2.1"},"scripts":{"test":"node test/test.js"},"keywords":["ssh","ssh2","sftp","secure","shell","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"http://github.com/mscdex/ssh2.git"},"bugs":{"url":"https://github.com/mscdex/ssh2/issues"},"homepage":"https://github.com/mscdex/ssh2","_id":"ssh2@0.3.1","_shasum":"26ea1d371743f659f132955a2767e8885051f552","_from":"https://github.com/mscdex/ssh2/tarball/v0.3.1","_resolved":"https://github.com/mscdex/ssh2/tarball/v0.3.1","_npmVersion":"1.4.14","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"dist":{"shasum":"26ea1d371743f659f132955a2767e8885051f552","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-0.3.1.tgz","integrity":"sha512-v+7GJo2Tx6c8p74zew+G7aWYhAIzUrCvnuin0XzTT1256MwOtCZ2AKHK3TmfqwUaXb1jPLC5c2QaLQdg3JxA8A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHz0FF33xP7wCP5xUulVKs07D3bhHd72Id6xAW5Bnb0HAiEArpb65a4U54btIP7iv09iROECe7I/o1nDR/sVZgPo6Yg="}]},"directories":{}},"0.3.2":{"name":"ssh2","version":"0.3.2","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"An SSH2 client module written in pure JavaScript for node.js","main":"./lib/Connection","engines":{"node":">=0.8.7"},"dependencies":{"readable-stream":"1.0.27-1","streamsearch":"0.1.2","asn1":"0.2.1"},"scripts":{"test":"node test/test.js"},"keywords":["ssh","ssh2","sftp","secure","shell","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"http://github.com/mscdex/ssh2.git"},"bugs":{"url":"https://github.com/mscdex/ssh2/issues"},"homepage":"https://github.com/mscdex/ssh2","_id":"ssh2@0.3.2","_shasum":"a0a35396e1c1d37e871e7bbcc6e7e6f7a3d875dd","_from":"https://github.com/mscdex/ssh2/tarball/v0.3.2","_resolved":"https://github.com/mscdex/ssh2/tarball/v0.3.2","_npmVersion":"1.4.14","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"dist":{"shasum":"a0a35396e1c1d37e871e7bbcc6e7e6f7a3d875dd","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-0.3.2.tgz","integrity":"sha512-yb31x8IWriXxpeB6HHNhmcZOz3sgbJkf+rjkmRgAV5SsLyOUgSSyIAVcQBXmq5vh3arxR9YJiROWFgVCLuriRA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDrEIQfeo87vqE9krtUXUtj4RnEoYORdVY7mLVMaD8BKwIgDpW5ll1cLuExR2BSy9wG/jFcalW59EQONxtsInC2O+w="}]},"directories":{}},"0.3.3":{"name":"ssh2","version":"0.3.3","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"An SSH2 client module written in pure JavaScript for node.js","main":"./lib/Connection","engines":{"node":">=0.8.7"},"dependencies":{"readable-stream":"1.0.27-1","streamsearch":"0.1.2","asn1":"0.2.1"},"scripts":{"test":"node test/test.js"},"keywords":["ssh","ssh2","sftp","secure","shell","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"http://github.com/mscdex/ssh2.git"},"bugs":{"url":"https://github.com/mscdex/ssh2/issues"},"homepage":"https://github.com/mscdex/ssh2","_id":"ssh2@0.3.3","_shasum":"ae24a478cfd6be34a1dc8d927b938bef00d542f5","_from":"https://github.com/mscdex/ssh2/tarball/v0.3.3","_resolved":"https://github.com/mscdex/ssh2/tarball/v0.3.3","_npmVersion":"1.4.14","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"dist":{"shasum":"ae24a478cfd6be34a1dc8d927b938bef00d542f5","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-0.3.3.tgz","integrity":"sha512-N70hA21xvzLKd3vKV4gqR8x922Il0r0cEpwwtLihmZuFXGGpWMd8TaUn61sHsFtreZZVqQL6iZWFSy1Kse8vjw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEFDjcGeLJfcpAWA6qnoHf1V4Gz5wVGFkZsdTSGmRN/FAiBPhV0Pjs2b5uljSD300S+7NlCzReqG9pNxfVg6GeZ2tA=="}]},"directories":{}},"0.3.4":{"name":"ssh2","version":"0.3.4","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"An SSH2 client module written in pure JavaScript for node.js","main":"./lib/Connection","engines":{"node":">=0.8.7"},"dependencies":{"readable-stream":"1.0.27-1","streamsearch":"0.1.2","asn1":"0.2.1"},"scripts":{"test":"node test/test.js"},"keywords":["ssh","ssh2","sftp","secure","shell","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"http://github.com/mscdex/ssh2.git"},"bugs":{"url":"https://github.com/mscdex/ssh2/issues"},"homepage":"https://github.com/mscdex/ssh2","_id":"ssh2@0.3.4","_shasum":"9539531e8d3f8c6edec4db7789a94e35f9126812","_from":"https://github.com/mscdex/ssh2/tarball/v0.3.4","_resolved":"https://github.com/mscdex/ssh2/tarball/v0.3.4","_npmVersion":"1.4.14","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"dist":{"shasum":"9539531e8d3f8c6edec4db7789a94e35f9126812","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-0.3.4.tgz","integrity":"sha512-+CHJwPTWXHNrtBFZGqyY9EP8gRqQkKVfy86Io+zTXFKXhlxDdjJ6XxnS0EcRaWD3SbVx8UlX3jUZlgPfcEJXjw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICjr2fgnlOFHGW3VaDa3lYnOUkZEmxeSdlDMqzyXTlcBAiAbvpRjKYarcLh/WNIkgFe/RsKXrK4W2Filuc3WbcmOIg=="}]},"directories":{}},"0.3.5":{"name":"ssh2","version":"0.3.5","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"An SSH2 client module written in pure JavaScript for node.js","main":"./lib/Connection","engines":{"node":">=0.8.7"},"dependencies":{"readable-stream":"1.0.27-1","streamsearch":"0.1.2","asn1":"0.2.1"},"scripts":{"test":"node test/test.js"},"keywords":["ssh","ssh2","sftp","secure","shell","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"http://github.com/mscdex/ssh2.git"},"bugs":{"url":"https://github.com/mscdex/ssh2/issues"},"homepage":"https://github.com/mscdex/ssh2","_id":"ssh2@0.3.5","_shasum":"05419da2c30f0f54c79d58d325dd14a8ff44b8c1","_from":"https://github.com/mscdex/ssh2/tarball/v0.3.5","_resolved":"https://github.com/mscdex/ssh2/tarball/v0.3.5","_npmVersion":"1.4.21","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"dist":{"shasum":"05419da2c30f0f54c79d58d325dd14a8ff44b8c1","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-0.3.5.tgz","integrity":"sha512-ugsx1hv/FDk1Zk6EsXdxnWQsDLyioeP1bP3cryLvAMdpFJI+vN+JCv1MrS7i7oUt2CVorTkDsWJgr97gyVmJkg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD8lBjgwBPGqz0AMYx5LHvrQUhG0kzMgc5yZlemUwQEBQIhAPjuIHVHjewLKUs7T99gQIOeFb3ZCSyGmrEKxJn/n4Ka"}]},"directories":{}},"0.3.6":{"name":"ssh2","version":"0.3.6","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"An SSH2 client module written in pure JavaScript for node.js","main":"./lib/Connection","engines":{"node":">=0.8.7"},"dependencies":{"readable-stream":"1.0.27-1","streamsearch":"0.1.2","asn1":"0.2.1"},"scripts":{"test":"node test/test.js"},"keywords":["ssh","ssh2","sftp","secure","shell","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"http://github.com/mscdex/ssh2.git"},"bugs":{"url":"https://github.com/mscdex/ssh2/issues"},"homepage":"https://github.com/mscdex/ssh2","_id":"ssh2@0.3.6","_shasum":"49034434aee3821ee5fc22b952081e7801ff92ed","_from":"https://github.com/mscdex/ssh2/tarball/v0.3.6","_resolved":"https://github.com/mscdex/ssh2/tarball/v0.3.6","_npmVersion":"1.4.21","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"dist":{"shasum":"49034434aee3821ee5fc22b952081e7801ff92ed","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-0.3.6.tgz","integrity":"sha512-ZWmLjPmpM7eAlSjA34kHm+63RfZGHsWBQ+EbH8AYsOOhO3EsJcYyzr+htBo9Pgeo3EudtcXp8Jd1k4M5ug2Bvg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEkQEkMbimzP+wssClIPT9JEJ9u7UF/vGJxOv3GmKY9/AiAKFaNxwSKa1ILJpb/b/wur/wwBy4i8ac0IU+C8zsMRzA=="}]},"directories":{}},"0.4.0":{"name":"ssh2","version":"0.4.0","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"SSH2 client and server modules written in pure JavaScript for node.js","main":"./lib/client","engines":{"node":">=0.8.7"},"dependencies":{"readable-stream":"~1.0.0","ssh2-streams":"~0.0.2"},"scripts":{"test":"node test/test.js"},"keywords":["ssh","ssh2","sftp","secure","shell","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"http://github.com/mscdex/ssh2.git"},"bugs":{"url":"https://github.com/mscdex/ssh2/issues"},"homepage":"https://github.com/mscdex/ssh2","_id":"ssh2@0.4.0","_shasum":"12635a3e30a8c6065fe108638a262358f22d1ee1","_from":"https://github.com/mscdex/ssh2/tarball/v0.4.0","_resolved":"https://github.com/mscdex/ssh2/tarball/v0.4.0","_npmVersion":"1.4.28","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"dist":{"shasum":"12635a3e30a8c6065fe108638a262358f22d1ee1","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-0.4.0.tgz","integrity":"sha512-Nc8Zp7uL/rYMeM3xrW0frrI2uAHAwhCf3pXKZ2DGzzPomzYgewwftWhPRUtelbLgtqKtNT/vl9C+tZn/vboA/Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC3jeMd8QmcbDf3pWa9yWw1fLzvdntHQvg1BVFnBSyLiwIhAP8VIj6Ka/3FtmLZdnlNpKxBgNvpdlKYvLWVdJrz0I+G"}]},"directories":{}},"0.4.1":{"name":"ssh2","version":"0.4.1","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"SSH2 client and server modules written in pure JavaScript for node.js","main":"./lib/client","engines":{"node":">=0.8.7"},"dependencies":{"readable-stream":"~1.0.0","ssh2-streams":"~0.0.4"},"scripts":{"test":"node test/test.js"},"keywords":["ssh","ssh2","sftp","secure","shell","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"http://github.com/mscdex/ssh2.git"},"bugs":{"url":"https://github.com/mscdex/ssh2/issues"},"homepage":"https://github.com/mscdex/ssh2","_id":"ssh2@0.4.1","_shasum":"0fca7deeb456f098b36db6d2c22b6b85a4026360","_from":"https://github.com/mscdex/ssh2/tarball/v0.4.1","_resolved":"https://github.com/mscdex/ssh2/tarball/v0.4.1","_npmVersion":"1.4.28","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"dist":{"shasum":"0fca7deeb456f098b36db6d2c22b6b85a4026360","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-0.4.1.tgz","integrity":"sha512-rRxTNUBZ9Yw4WKsmuco9VQNuJRqTxSjmzAKsugdDD3CAOvRcCDdSwGuMp5RhnjF2uaTznCPmpssrs3ab0vP+GA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEXceJoGlOpjHdTee7ic1r+c9eUym9o2/jsD2D2r0AeGAiBNJGZudN/mptSsOqCtlQdwPpADsAtOmd9m755yw0x1sw=="}]},"directories":{}},"0.4.2":{"name":"ssh2","version":"0.4.2","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"SSH2 client and server modules written in pure JavaScript for node.js","main":"./lib/client","engines":{"node":">=0.8.7"},"dependencies":{"readable-stream":"~1.0.0","ssh2-streams":"~0.0.4"},"scripts":{"test":"node test/test.js"},"keywords":["ssh","ssh2","sftp","secure","shell","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"http://github.com/mscdex/ssh2.git"},"bugs":{"url":"https://github.com/mscdex/ssh2/issues"},"homepage":"https://github.com/mscdex/ssh2","_id":"ssh2@0.4.2","_shasum":"da09b6dcf5a8c6e0cb99a7d4c9ad2dcb59d959c4","_from":"https://github.com/mscdex/ssh2/tarball/v0.4.2","_resolved":"https://github.com/mscdex/ssh2/tarball/v0.4.2","_npmVersion":"1.4.28","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"dist":{"shasum":"da09b6dcf5a8c6e0cb99a7d4c9ad2dcb59d959c4","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-0.4.2.tgz","integrity":"sha512-3rc+4EcCbm4PwRVmx2d9/oimvbFv+uM6tISyqbCBJEjfQefNQ2PYMdyckjT1954zxA5Ubm7ln9VHX6br9wZsaw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDmIfnRvfvE7X/dV0TShrG4bhgQtZGMbz/qwQnHTaXJ1QIhAJZCVfEvCGCxLl/3Y3NcanTiLQO1qg3lSHJkeGQ0dUOe"}]},"directories":{}},"0.4.3":{"name":"ssh2","version":"0.4.3","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"SSH2 client and server modules written in pure JavaScript for node.js","main":"./lib/client","engines":{"node":">=0.8.7"},"dependencies":{"readable-stream":"~1.0.0","ssh2-streams":"~0.0.5"},"scripts":{"test":"node test/test.js"},"keywords":["ssh","ssh2","sftp","secure","shell","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"http://github.com/mscdex/ssh2.git"},"bugs":{"url":"https://github.com/mscdex/ssh2/issues"},"homepage":"https://github.com/mscdex/ssh2","_id":"ssh2@0.4.3","_shasum":"27881cb0b15de08114e55340957550ac350e6f92","_from":"https://github.com/mscdex/ssh2/tarball/v0.4.3","_resolved":"https://github.com/mscdex/ssh2/tarball/v0.4.3","_npmVersion":"1.4.28","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"dist":{"shasum":"27881cb0b15de08114e55340957550ac350e6f92","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-0.4.3.tgz","integrity":"sha512-aZk93WLnp+k82W/RmxdLRSnZu7i5OshfZtCp9/VEAhoGbix6hktM507aRLxOXph3U1m1HiHQWlMLZWAeVfLNGw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEmm5iem/zetW0ZqzO/6vjgx+rUCj8an6ZTav5ir9qTWAiBr3Cs4Pd8p8lU5My8jWRlgyCjWP0bTq+FP/DFjhPVK1g=="}]},"directories":{}},"0.4.4":{"name":"ssh2","version":"0.4.4","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"SSH2 client and server modules written in pure JavaScript for node.js","main":"./lib/client","engines":{"node":">=0.8.7"},"dependencies":{"readable-stream":"~1.0.0","ssh2-streams":"~0.0.5"},"scripts":{"test":"node test/test.js"},"keywords":["ssh","ssh2","sftp","secure","shell","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"http://github.com/mscdex/ssh2.git"},"bugs":{"url":"https://github.com/mscdex/ssh2/issues"},"homepage":"https://github.com/mscdex/ssh2","_id":"ssh2@0.4.4","_shasum":"680046d38874fcaa2acc33432b98a8ff16fe8db3","_from":"https://github.com/mscdex/ssh2/tarball/v0.4.4","_resolved":"https://github.com/mscdex/ssh2/tarball/v0.4.4","_npmVersion":"1.4.28","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"dist":{"shasum":"680046d38874fcaa2acc33432b98a8ff16fe8db3","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-0.4.4.tgz","integrity":"sha512-DDL/R2OILsiWVdeURJyT8tKujrIQfWrVc7/9d692M2K7yZ2Y2L+BivE9ifoBSHA21uXgEPy0f04FAJFcjOlrYA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCRQFIjMATOPcPvhqtXkg3qoAZMvoR062l21nZ+E2G8VAIgXC7TxLUE9IujDBLmWCAzudZyq/ggIdaTdl4j5auJ1IY="}]},"directories":{}},"0.4.5":{"name":"ssh2","version":"0.4.5","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"SSH2 client and server modules written in pure JavaScript for node.js","main":"./lib/client","engines":{"node":">=0.8.7"},"dependencies":{"readable-stream":"~1.0.0","ssh2-streams":"~0.0.5"},"scripts":{"test":"node test/test.js"},"keywords":["ssh","ssh2","sftp","secure","shell","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"http://github.com/mscdex/ssh2.git"},"bugs":{"url":"https://github.com/mscdex/ssh2/issues"},"homepage":"https://github.com/mscdex/ssh2","_id":"ssh2@0.4.5","_shasum":"136e570fa5ed43d398c9145deacccb71651eb752","_from":"https://github.com/mscdex/ssh2/tarball/v0.4.5","_resolved":"https://github.com/mscdex/ssh2/tarball/v0.4.5","_npmVersion":"1.4.28","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"dist":{"shasum":"136e570fa5ed43d398c9145deacccb71651eb752","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-0.4.5.tgz","integrity":"sha512-1JQbEoxizpFXhWwbHgyrNj/H+EJ1wr9L5kmoNSxQKaxlKtnQjmoVCDg+yrt+04ujCt4yXKwOHmEMTyyaorl0pA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBJJY5d14P/Cft1ghYSB9fDkijBe6Qr7zfz0DS61xJoZAiAMe1H1ezlI1V/vokK3FT5U908Gg69m02CBZIUWIu7kPw=="}]},"directories":{}},"0.4.6":{"name":"ssh2","version":"0.4.6","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"SSH2 client and server modules written in pure JavaScript for node.js","main":"./lib/client","engines":{"node":">=0.8.7"},"dependencies":{"readable-stream":"~1.0.0","ssh2-streams":"~0.0.5"},"scripts":{"test":"node test/test.js"},"keywords":["ssh","ssh2","sftp","secure","shell","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"http://github.com/mscdex/ssh2.git"},"bugs":{"url":"https://github.com/mscdex/ssh2/issues"},"homepage":"https://github.com/mscdex/ssh2","_id":"ssh2@0.4.6","_shasum":"d0d2cc372aac610bf4a65545fe0162331e26509d","_from":"https://github.com/mscdex/ssh2/tarball/v0.4.6","_resolved":"https://github.com/mscdex/ssh2/tarball/v0.4.6","_npmVersion":"1.4.28","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"dist":{"shasum":"d0d2cc372aac610bf4a65545fe0162331e26509d","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-0.4.6.tgz","integrity":"sha512-RWDRveFpXzrmz2v54y8mlN7rKHRKNeBKtrZRrOtWhVCpEF925PwMBMZ6uUbUvbbr5tKUYN86FPloXCuRO3VvwA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC45ZtR21HfTygl1vEnPEJiXjgx8KDYMfUdCdsGpHAIKAiBvtEZyV5wO7o98kzqkslVImVoyVx6Wsahk8Pp4BNFmrQ=="}]},"directories":{}},"0.4.7":{"name":"ssh2","version":"0.4.7","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"SSH2 client and server modules written in pure JavaScript for node.js","main":"./lib/client","engines":{"node":">=0.8.7"},"dependencies":{"readable-stream":"~1.0.0","ssh2-streams":"~0.0.5"},"scripts":{"test":"node test/test.js"},"keywords":["ssh","ssh2","sftp","secure","shell","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"http://github.com/mscdex/ssh2.git"},"bugs":{"url":"https://github.com/mscdex/ssh2/issues"},"homepage":"https://github.com/mscdex/ssh2","_id":"ssh2@0.4.7","_shasum":"12825fb37c7d869156caf9fa0a7914d0b318715f","_from":"https://github.com/mscdex/ssh2/tarball/v0.4.7","_resolved":"https://github.com/mscdex/ssh2/tarball/v0.4.7","_npmVersion":"1.4.28","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"dist":{"shasum":"12825fb37c7d869156caf9fa0a7914d0b318715f","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-0.4.7.tgz","integrity":"sha512-zMV78c+nvk0f9t3aweqxhAsjKWcpNU9XsMxetHcFaAHEYnD6tO4Cpa+KYaldLOggrNSwTEjoGiROUGDzvh5RiA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFfkogU74BZ7MQs1KLPZkGmdDMdNj7L2+i1zyy4mUPKMAiEAgxCGQSv4Y0HwpiGEnJwTMXeYpzMm7dPcxoWDMapLq/Y="}]},"directories":{}},"0.4.8":{"name":"ssh2","version":"0.4.8","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"SSH2 client and server modules written in pure JavaScript for node.js","main":"./lib/client","engines":{"node":">=0.8.7"},"dependencies":{"readable-stream":"~1.0.0","ssh2-streams":"~0.0.5"},"scripts":{"test":"node test/test.js"},"keywords":["ssh","ssh2","sftp","secure","shell","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"http://github.com/mscdex/ssh2.git"},"bugs":{"url":"https://github.com/mscdex/ssh2/issues"},"homepage":"https://github.com/mscdex/ssh2","_id":"ssh2@0.4.8","_shasum":"4460bb92d89c8a4da43c8bd83d3a7259aae59539","_from":"https://github.com/mscdex/ssh2/tarball/v0.4.8","_resolved":"https://github.com/mscdex/ssh2/tarball/v0.4.8","_npmVersion":"1.4.28","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"dist":{"shasum":"4460bb92d89c8a4da43c8bd83d3a7259aae59539","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-0.4.8.tgz","integrity":"sha512-QMp1NAoI8mREfuIqR8adAL4UvAyL21wnnRfNLsVnAPOgzhQQrzac4rJRr7BWumFDvrUSqA25U3o87mkSImHJ6A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGrhboi0OjKbWDYqK5CbKcMCTNV6hDG3TENBlAB7mLPYAiEAz9XpX73brxO3DmwtQlP7iEE0+JBYqJx63S5H4ENvICI="}]},"directories":{}},"0.4.9":{"name":"ssh2","version":"0.4.9","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"SSH2 client and server modules written in pure JavaScript for node.js","main":"./lib/client","engines":{"node":">=0.8.7"},"dependencies":{"readable-stream":"~1.0.0","ssh2-streams":"~0.0.5"},"scripts":{"test":"node test/test.js"},"keywords":["ssh","ssh2","sftp","secure","shell","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"git+ssh://git@github.com/mscdex/ssh2.git"},"bugs":{"url":"https://github.com/mscdex/ssh2/issues"},"homepage":"https://github.com/mscdex/ssh2#readme","_id":"ssh2@0.4.9","_shasum":"188a052574f5c50186ac2ff2c2ec833bd45dc11a","_resolved":"https://github.com/mscdex/ssh2/tarball/v0.4.9","_from":"https://github.com/mscdex/ssh2/tarball/v0.4.9","_npmVersion":"2.11.2","_nodeVersion":"0.10.38","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"dist":{"shasum":"188a052574f5c50186ac2ff2c2ec833bd45dc11a","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-0.4.9.tgz","integrity":"sha512-YOvJ7pL2HuLVaXklMO4+exe4/KFb26Lvk5SewcJ0r5Q2lOZJmCkMwx52iyIuzvQjgoqR5bU+qjDsaagFEfUeLQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCF8Ke51Jyvg+jEAtVERIuLkFVWkaLgWIiP0QcJX116rAIgZMJvYYvscly2kWx/siGDUsTisZydEVdbHFbfR77+sl4="}]},"directories":{}},"0.4.10":{"name":"ssh2","version":"0.4.10","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"SSH2 client and server modules written in pure JavaScript for node.js","main":"./lib/client","engines":{"node":">=0.8.7"},"dependencies":{"readable-stream":"~1.0.0","ssh2-streams":"~0.0.5"},"scripts":{"test":"node test/test.js"},"keywords":["ssh","ssh2","sftp","secure","shell","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"git+ssh://git@github.com/mscdex/ssh2.git"},"bugs":{"url":"https://github.com/mscdex/ssh2/issues"},"homepage":"https://github.com/mscdex/ssh2#readme","_id":"ssh2@0.4.10","_shasum":"2d4abebd871b9ef9eddb43358b7918447aa4aa9f","_resolved":"https://github.com/mscdex/ssh2/tarball/v0.4.10","_from":"https://github.com/mscdex/ssh2/tarball/v0.4.10","_npmVersion":"2.11.2","_nodeVersion":"0.10.38","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"dist":{"shasum":"2d4abebd871b9ef9eddb43358b7918447aa4aa9f","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-0.4.10.tgz","integrity":"sha512-GpdXcXQqzB3FdSlbq0qiKqitk5sPt9itcu5KidglztX3gGaguGaQ2YaZROBclPn3H0eaA7ezKWSNCtmB5pcxCA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCnnxJ546FmXmQXm/NUDiutG2uqzvvT9k97oJA9GyPozgIhANmpFmvye/7TjGj4lnVefJXmJk/u/3ejSUW3eejaJpFr"}]},"directories":{}},"0.4.11":{"name":"ssh2","version":"0.4.11","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"SSH2 client and server modules written in pure JavaScript for node.js","main":"./lib/client","engines":{"node":">=0.8.7"},"dependencies":{"readable-stream":"~1.0.0","ssh2-streams":"~0.0.5"},"scripts":{"test":"node test/test.js"},"keywords":["ssh","ssh2","sftp","secure","shell","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"git+ssh://git@github.com/mscdex/ssh2.git"},"bugs":{"url":"https://github.com/mscdex/ssh2/issues"},"homepage":"https://github.com/mscdex/ssh2#readme","_id":"ssh2@0.4.11","_shasum":"0c71090e14596f79a4c67d830f9fbc2987495db7","_resolved":"https://github.com/mscdex/ssh2/tarball/v0.4.11","_from":"https://github.com/mscdex/ssh2/tarball/v0.4.11","_npmVersion":"2.11.2","_nodeVersion":"0.10.38","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"dist":{"shasum":"0c71090e14596f79a4c67d830f9fbc2987495db7","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-0.4.11.tgz","integrity":"sha512-CDsNkGB8pCxbqUWEsVPI5kOX2uYGCTus2AmVt82pG8bNCg2FFi+JEEN+UJ2gRwEYvmUjWIdDpZwOFix5Fa/mTQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCQIcSecapP9H7+eSSVb+SiyVQ+0LagY6Ofnu7XcyVt4wIgNMoYlYx3JjDbV0gHfCrJpELCt6b2vNKn2QoFN+y2XXY="}]},"directories":{}},"0.4.12":{"name":"ssh2","version":"0.4.12","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"SSH2 client and server modules written in pure JavaScript for node.js","main":"./lib/client","engines":{"node":">=0.8.7"},"dependencies":{"readable-stream":"~1.0.0","ssh2-streams":"~0.0.5"},"scripts":{"test":"node test/test.js"},"keywords":["ssh","ssh2","sftp","secure","shell","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"git+ssh://git@github.com/mscdex/ssh2.git"},"bugs":{"url":"https://github.com/mscdex/ssh2/issues"},"homepage":"https://github.com/mscdex/ssh2#readme","_id":"ssh2@0.4.12","_shasum":"626f9e87d01cfe044dff359dfd7240f50851d65b","_resolved":"https://github.com/mscdex/ssh2/tarball/v0.4.12","_from":"https://github.com/mscdex/ssh2/tarball/v0.4.12","_npmVersion":"2.14.1","_nodeVersion":"0.10.40","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"dist":{"shasum":"626f9e87d01cfe044dff359dfd7240f50851d65b","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-0.4.12.tgz","integrity":"sha512-zWShcDSCPEY8RRAFqIvCURG4F6uV01Ozno23F2JIbuO0DaxIWOtQNEJsFw5TVM7xx6I4Atu1SNocw98Es/eofg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICFV3E37WS7cYc8B8M2f3j44k3SS7523y3aJcwXEvIc2AiAHJwqIfkzlMcGQ5QYC9rwCqVYg9pk/VI/Yf5cNidCZLA=="}]},"directories":{}},"0.4.13":{"name":"ssh2","version":"0.4.13","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"SSH2 client and server modules written in pure JavaScript for node.js","main":"./lib/client","engines":{"node":">=0.8.7"},"dependencies":{"readable-stream":"~1.0.0","ssh2-streams":"~0.0.5"},"scripts":{"test":"node test/test.js"},"keywords":["ssh","ssh2","sftp","secure","shell","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"git+ssh://git@github.com/mscdex/ssh2.git"},"bugs":{"url":"https://github.com/mscdex/ssh2/issues"},"homepage":"https://github.com/mscdex/ssh2#readme","_id":"ssh2@0.4.13","_shasum":"3c6d469e9753ba5ec2bf1a48128419a2db1bc2f9","_resolved":"https://github.com/mscdex/ssh2/tarball/v0.4.13","_from":"https://github.com/mscdex/ssh2/tarball/v0.4.13","_npmVersion":"3.3.12","_nodeVersion":"5.3.0","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"dist":{"shasum":"3c6d469e9753ba5ec2bf1a48128419a2db1bc2f9","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-0.4.13.tgz","integrity":"sha512-HEeT2WEqKr/0vI2WlgVQCmerFAzcvLEzU8LBHguLCqkNsJcT0qS0rRZPJbnkMxG7OOjMY2wre44pw5ds69v/vg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIH+5bqP8yBe8lSwqLCNpqWjA9OT8PMhziSYJPXaGJ75eAiBP8iTQXKU0uDVYzINiRd9I/8BVLCCJ4wyvbMa/uAVU9Q=="}]},"directories":{}},"0.4.14":{"name":"ssh2","version":"0.4.14","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"SSH2 client and server modules written in pure JavaScript for node.js","main":"./lib/client","engines":{"node":">=0.8.7"},"dependencies":{"readable-stream":"~1.0.0","ssh2-streams":"~0.0.22"},"scripts":{"test":"node test/test.js"},"keywords":["ssh","ssh2","sftp","secure","shell","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"git+ssh://git@github.com/mscdex/ssh2.git"},"bugs":{"url":"https://github.com/mscdex/ssh2/issues"},"homepage":"https://github.com/mscdex/ssh2#readme","_id":"ssh2@0.4.14","_shasum":"058c36dee520c9d1c23885827b97d79e85336fcb","_resolved":"https://github.com/mscdex/ssh2/tarball/v0.4.14","_from":"https://github.com/mscdex/ssh2/tarball/v0.4.14","_npmVersion":"3.6.0","_nodeVersion":"5.7.1","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"dist":{"shasum":"058c36dee520c9d1c23885827b97d79e85336fcb","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-0.4.14.tgz","integrity":"sha512-fmd8bpoWLi0OvCE8tW/cYqZeEkTi7fpZdWdRiQ0jD755fatG3GVORAsspvTlM2uu2oAF0tow0gqxrRa7isv5hA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBXdYY3PpZC1LsckPSDjCRMJuLgEJsUP7y6Cz45Xy8j3AiAS0VwDU5JlgsaxnqOg4IxWSd9EmfZiCCFHH9q/39RdsQ=="}]},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/ssh2-0.4.14.tgz_1457177073369_0.9413387449458241"},"directories":{}},"0.4.15":{"name":"ssh2","version":"0.4.15","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"SSH2 client and server modules written in pure JavaScript for node.js","main":"./lib/client","engines":{"node":">=0.8.7"},"dependencies":{"readable-stream":"~1.0.0","ssh2-streams":"~0.0.22"},"scripts":{"test":"node test/test.js"},"keywords":["ssh","ssh2","sftp","secure","shell","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"git+ssh://git@github.com/mscdex/ssh2.git"},"bugs":{"url":"https://github.com/mscdex/ssh2/issues"},"homepage":"https://github.com/mscdex/ssh2#readme","_id":"ssh2@0.4.15","_shasum":"07c6f4106d9f7b6ea6e4df636c6c53f1f9817ff8","_resolved":"https://github.com/mscdex/ssh2/tarball/v0.4.15","_from":"https://github.com/mscdex/ssh2/tarball/v0.4.15","_npmVersion":"3.7.3","_nodeVersion":"5.8.0","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"dist":{"shasum":"07c6f4106d9f7b6ea6e4df636c6c53f1f9817ff8","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-0.4.15.tgz","integrity":"sha512-/KEtwbNly4LtP92bBfgY4RCj8YAvKaXg89nLaCINNMu1X5d++W5DOZz+yX2xwjlSmdw8we7AC9LYnAzBkA4OwA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDUvjC03lIjHhWTtrP8UMYWXLo+xbzWvoc8s2cNwDw39QIgCOekwBXvfAtEropo5hr47Mxtlo861A91BdX8excOnUg="}]},"_npmOperationalInternal":{"host":"packages-13-west.internal.npmjs.com","tmp":"tmp/ssh2-0.4.15.tgz_1458121130797_0.21531312121078372"},"directories":{}},"0.5.0":{"name":"ssh2","version":"0.5.0","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"SSH2 client and server modules written in pure JavaScript for node.js","main":"./lib/client","engines":{"node":">=0.10.0"},"dependencies":{"ssh2-streams":"~0.1.0"},"devDependencies":{"semver":"^5.1.0"},"scripts":{"test":"node test/test.js"},"keywords":["ssh","ssh2","sftp","secure","shell","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"git+ssh://git@github.com/mscdex/ssh2.git"},"bugs":{"url":"https://github.com/mscdex/ssh2/issues"},"homepage":"https://github.com/mscdex/ssh2#readme","_id":"ssh2@0.5.0","_shasum":"8e501f95c16337e21fae2ac0c6e5e77354b00799","_resolved":"https://github.com/mscdex/ssh2/tarball/v0.5.0","_from":"https://github.com/mscdex/ssh2/tarball/v0.5.0","_npmVersion":"3.7.3","_nodeVersion":"5.8.0","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"dist":{"shasum":"8e501f95c16337e21fae2ac0c6e5e77354b00799","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-0.5.0.tgz","integrity":"sha512-lQ7AGO7+WuLj54Ltjt1u4Yx5xj/sJZiIQfuWhOTWYRFo5iFTodyErAjzEDFtcbpKPjZWAPQsCi3IstJtBIdwCw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAZFjpy+Rl+Lcjq5bim40F9bRT8r0rak9pduWvxeLCZAAiEAl/MGXHCF2RsfPehBihKbNtLplkS5FhH/nxoOLVHEMOk="}]},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/ssh2-0.5.0.tgz_1458275551614_0.2526255340781063"},"directories":{}},"0.5.1":{"name":"ssh2","version":"0.5.1","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"SSH2 client and server modules written in pure JavaScript for node.js","main":"./lib/client","engines":{"node":">=0.10.0"},"dependencies":{"ssh2-streams":"~0.1.0"},"devDependencies":{"semver":"^5.1.0"},"scripts":{"test":"node test/test.js"},"keywords":["ssh","ssh2","sftp","secure","shell","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"git+ssh://git@github.com/mscdex/ssh2.git"},"bugs":{"url":"https://github.com/mscdex/ssh2/issues"},"homepage":"https://github.com/mscdex/ssh2#readme","_id":"ssh2@0.5.1","_shasum":"c06291fa328b594815a16b1ac058f3b18407917b","_resolved":"https://github.com/mscdex/ssh2/tarball/v0.5.1","_from":"https://github.com/mscdex/ssh2/tarball/v0.5.1","_npmVersion":"3.10.3","_nodeVersion":"6.3.1","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"dist":{"shasum":"c06291fa328b594815a16b1ac058f3b18407917b","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-0.5.1.tgz","integrity":"sha512-aWjJoBoXJhMxiM61Lk4YTEDtEbwhdFJDMvVZHTPsrXgVm95bUgUsO3CLp/VMeG6ii5UXN4cMWbepYpP/lsSjug==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCwKDNMdJI0MVSpPy8eO2J1u7XxV2VORUOaQVydxJKIHwIgcdKk+v7qhHC81tnHWRwzIpkIFK56iPxYdHlMaPpH1vQ="}]},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/ssh2-0.5.1.tgz_1472369786565_0.3318631579168141"},"directories":{}},"0.5.2":{"name":"ssh2","version":"0.5.2","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"SSH2 client and server modules written in pure JavaScript for node.js","main":"./lib/client","engines":{"node":">=0.10.0"},"dependencies":{"ssh2-streams":"~0.1.9"},"devDependencies":{"semver":"^5.1.0"},"scripts":{"test":"node test/test.js"},"keywords":["ssh","ssh2","sftp","secure","shell","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"git+ssh://git@github.com/mscdex/ssh2.git"},"bugs":{"url":"https://github.com/mscdex/ssh2/issues"},"homepage":"https://github.com/mscdex/ssh2#readme","_id":"ssh2@0.5.2","_shasum":"58ab2aaa96b796e28858f1de676054121607b69d","_resolved":"https://github.com/mscdex/ssh2/tarball/v0.5.2","_from":"https://github.com/mscdex/ssh2/tarball/v0.5.2","_npmVersion":"3.10.3","_nodeVersion":"6.5.0","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"dist":{"shasum":"58ab2aaa96b796e28858f1de676054121607b69d","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-0.5.2.tgz","integrity":"sha512-vqqxMbLZyM5YZBy+m8BgbYHENiyGWobS05UQowc97NdGLLKUxa99wUooK9CiUdvQe5MS2MMCiYjPBNgM0AlwKA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBSPFqCbzFL27+RZTd76bm/6maPtYHkTNrkbwYqzVZ34AiEAzLgDXV/HWjk7vdjJOK+Jg1Qy1hLGM2BlT3a1uPEDEjw="}]},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/ssh2-0.5.2.tgz_1473889895320_0.9029133394360542"},"directories":{}},"0.5.3":{"name":"ssh2","version":"0.5.3","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"SSH2 client and server modules written in pure JavaScript for node.js","main":"./lib/client","engines":{"node":">=0.10.0"},"dependencies":{"ssh2-streams":"~0.1.13"},"devDependencies":{"semver":"^5.1.0"},"scripts":{"test":"node test/test.js"},"keywords":["ssh","ssh2","sftp","secure","shell","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"git+ssh://git@github.com/mscdex/ssh2.git"},"bugs":{"url":"https://github.com/mscdex/ssh2/issues"},"homepage":"https://github.com/mscdex/ssh2#readme","_id":"ssh2@0.5.3","_shasum":"7220c8db24f0603e4ea393fe5b62f938185a2d4c","_resolved":"https://github.com/mscdex/ssh2/tarball/v0.5.3","_from":"https://github.com/mscdex/ssh2/tarball/v0.5.3","_npmVersion":"3.10.8","_nodeVersion":"6.9.1","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"dist":{"shasum":"7220c8db24f0603e4ea393fe5b62f938185a2d4c","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-0.5.3.tgz","integrity":"sha512-2GrQTqDL41J/N0yzCbVCXUqfiGGtwVnaad7bnQdzVsfjo8vOzdUf+x7I5lZyICQRIleKLDA+Gpp5aIGZmAWCig==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDjP1Y0+O8cn7gaFdS79EI+/c1H8rNLT8GtLA9LySOmmQIhAO0S3d4yk9wIiFTqnyRgq8JQhHVMx1jZf4Uze9WJw0/b"}]},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/ssh2-0.5.3.tgz_1478336270903_0.7270167176611722"},"directories":{}},"0.5.4":{"name":"ssh2","version":"0.5.4","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"SSH2 client and server modules written in pure JavaScript for node.js","main":"./lib/client","engines":{"node":">=0.10.0"},"dependencies":{"ssh2-streams":"~0.1.15"},"devDependencies":{"semver":"^5.1.0"},"scripts":{"test":"node test/test.js"},"keywords":["ssh","ssh2","sftp","secure","shell","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"git+ssh://git@github.com/mscdex/ssh2.git"},"bugs":{"url":"https://github.com/mscdex/ssh2/issues"},"homepage":"https://github.com/mscdex/ssh2#readme","_id":"ssh2@0.5.4","_shasum":"1bf6b6b28c96eaef267f4d6c46a5a2517a599e27","_resolved":"https://github.com/mscdex/ssh2/tarball/v0.5.4","_from":"https://github.com/mscdex/ssh2/tarball/v0.5.4","_npmVersion":"3.10.8","_nodeVersion":"6.9.1","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"dist":{"shasum":"1bf6b6b28c96eaef267f4d6c46a5a2517a599e27","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-0.5.4.tgz","integrity":"sha512-ZnC+u9CRgg0BKkYrpygna2723zhRxOtsEcrjsSCwJCZvj95fbE5qdCEndqQtbzA3IgftlmAgNafyy20kh9tbqw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE56IVoa40/AXpByg1+S4wjfQ3201DwUC/cL9XF8yMkYAiEAogfxZdpKFCJVaZ523d54J5OF6ORdR2tqIFzO/cpv7T8="}]},"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/ssh2-0.5.4.tgz_1478644008315_0.4939819877035916"},"directories":{}},"0.5.5":{"name":"ssh2","version":"0.5.5","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"SSH2 client and server modules written in pure JavaScript for node.js","main":"./lib/client","engines":{"node":">=0.10.0"},"dependencies":{"ssh2-streams":"~0.1.18"},"devDependencies":{"semver":"^5.1.0"},"scripts":{"test":"node test/test.js"},"keywords":["ssh","ssh2","sftp","secure","shell","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"git+ssh://git@github.com/mscdex/ssh2.git"},"bugs":{"url":"https://github.com/mscdex/ssh2/issues"},"homepage":"https://github.com/mscdex/ssh2#readme","_id":"ssh2@0.5.5","_shasum":"c7781ecd2ece7304a253cf620fab5a5c22bb2235","_resolved":"https://github.com/mscdex/ssh2/tarball/v0.5.5","_from":"https://github.com/mscdex/ssh2/tarball/v0.5.5","_npmVersion":"3.10.8","_nodeVersion":"6.9.1","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"dist":{"shasum":"c7781ecd2ece7304a253cf620fab5a5c22bb2235","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-0.5.5.tgz","integrity":"sha512-FF+j7szpg7oegbs6anQEgBU3S+GXvTYYGBpPuKUZd306rpsY2qHxwpaK1hc+6AIBr5uIl2gt1pYVjvdo+C67Hw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCcK5PczTIDdy4cUCAlCWz0FhGSmkqpm9/ccxqOEkoZtwIgN3FUKIVjWuVnSpFbgvDYBhKmDYevYRXGHBKHOKnGJ3s="}]},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssh2-0.5.5.tgz_1496022263266_0.4106363251339644"},"directories":{}},"0.6.0":{"name":"ssh2","version":"0.6.0","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"SSH2 client and server modules written in pure JavaScript for node.js","main":"./lib/client","engines":{"node":">=4.5.0"},"dependencies":{"ssh2-streams":"~0.2.0"},"devDependencies":{"semver":"^5.1.0"},"scripts":{"test":"node test/test.js"},"keywords":["ssh","ssh2","sftp","secure","shell","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"git+ssh://git@github.com/mscdex/ssh2.git"},"bugs":{"url":"https://github.com/mscdex/ssh2/issues"},"homepage":"https://github.com/mscdex/ssh2#readme","_id":"ssh2@0.6.0","_npmVersion":"5.6.0","_nodeVersion":"9.5.0","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"dist":{"integrity":"sha512-TEHSJhmEo14cgVuqse54GE4hcfC7i+o/JSDjWm4RoCV4Ys4JpBOpcGkNtdN22ON8WO+2X8XpeiZ0yI9crDvHpA==","shasum":"e472f27dfeb1b5ad892d346135bdf7532734bb6a","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-0.6.0.tgz","fileCount":35,"unpackedSize":319687,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIH+VlO1FKBJUaxDQSOF5Y8sQU+mlJUgm8q4pN301BVtpAiAktTWXyi5tPs2JfAPaYcE5zDF1W2QxsIWWmRWRf3yitw=="}]},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssh2_0.6.0_1520809038049_0.3939460738543379"},"_hasShrinkwrap":false},"0.6.1":{"name":"ssh2","version":"0.6.1","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"SSH2 client and server modules written in pure JavaScript for node.js","main":"./lib/client","engines":{"node":">=4.5.0"},"dependencies":{"ssh2-streams":"~0.2.0"},"devDependencies":{"semver":"^5.1.0"},"scripts":{"test":"node test/test.js"},"keywords":["ssh","ssh2","sftp","secure","shell","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"git+ssh://git@github.com/mscdex/ssh2.git"},"bugs":{"url":"https://github.com/mscdex/ssh2/issues"},"homepage":"https://github.com/mscdex/ssh2#readme","_id":"ssh2@0.6.1","_npmVersion":"5.6.0","_nodeVersion":"10.1.0","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"dist":{"integrity":"sha512-fNvocq+xetsaAZtBG/9Vhh0GDjw1jQeW7Uq/DPh4fVrJd0XxSfXAqBjOGVk4o2jyWHvyC6HiaPFpfHlR12coDw==","shasum":"5dde1a7394bb978b1f9c2f014affee2f5493bd40","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-0.6.1.tgz","fileCount":35,"unpackedSize":319686,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa9DPFCRA9TVsSAnZWagAA+P4P/A3jCFwURmsLUuPcr985\nGXtzZrHnkGWZViE0jYo594XZEJe2sU1dfGBaUGxjyq6NERRS9jO2DGnb7pA0\n8vkb+I79cIblVXjuUOmYbhbeWH+mLBGy1zz0/5iKZb4Hyo6FaKdMHhAwgBjQ\n7Qy3c/pCJjmy3cdg/5dfX7eRY6zvbdpsmCIVgx3+cibEfZpgk3DERJUPmI9e\npSzvWG0sk5lr/KYlZ20FXToRq8vhlFGYLGibirRcsVT/Gnh5hck4TtXUFdbB\nzg9G9eqVZEIv07kbs2iu3eNy39Du/eyPteZk7lP2wTlkcA7kkutu/IbtSQPg\nkc5lCgBk71Wm7StMHEBCQ1wTBpqXMVwegoLTEnicT6zIE+xFVLjnIsjNKZTX\nOlhx5SoieeNFnoxuP+yPy0HBinffRL2xh7q05FUjRnPPRkV0ojpeH+c4HrLY\nzbFQlFMXP5nWM62fq4miqs4s/ysXV3FzqIS5k8XZoCV0tveEgtfVnVQyUybi\nbQ5fzNDD5cbKxnByqhWkFYyYKLuO6iuI4rWaPs9VN1G2L/bzFOK3viO6hKdK\ncjVfO9f833RvZAqO4yC7yiDUi0SluhGGsj+009t6FrRZsj5BoAXEUizt/+1K\nJwGQMKNfEG+w9127S5frV0rj65JOU4XAyYjW9ccmTSGgN2FLxGKY5dya5Gzm\nLl0i\r\n=u8J1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDo/SA+Zql6cvLolMBa7+oUVxTLmbY5vcASjNFs0EdsaAIhAOKEtrw9D+C1Xj62XsoDkm98g9ZXokR3u68nGED9JlXZ"}]},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssh2_0.6.1_1525953474379_0.3414062560782549"},"_hasShrinkwrap":false},"0.6.2":{"name":"ssh2","version":"0.6.2","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"SSH2 client and server modules written in pure JavaScript for node.js","main":"./lib/client","engines":{"node":">=4.5.0"},"dependencies":{"ssh2-streams":"~0.2.0"},"devDependencies":{"semver":"^5.1.0"},"scripts":{"test":"node test/test.js"},"keywords":["ssh","ssh2","sftp","secure","shell","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"git+ssh://git@github.com/mscdex/ssh2.git"},"_resolved":"","_integrity":"","_from":"https://github.com/mscdex/ssh2/tarball/v0.6.2","bugs":{"url":"https://github.com/mscdex/ssh2/issues"},"homepage":"https://github.com/mscdex/ssh2#readme","_id":"ssh2@0.6.2","_npmVersion":"6.4.1","_nodeVersion":"10.15.0","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"dist":{"integrity":"sha512-DJ+dOhXEEsmNpcQTI0x69FS++JH6qqL/ltEHf01pI1SSLMAcmD+hL4jRwvHjPwynPsmSUbHJ/WIZYzROfqZWjA==","shasum":"b065d6e2133a2d4b557447d613b3511cb15e3a2e","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-0.6.2.tgz","fileCount":34,"unpackedSize":319747,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcK+YoCRA9TVsSAnZWagAAMnsP/j9EiGpepUUqEbRvZ9I0\nr4zVwwYZBgcRWWfrWLqGnG6dNLL112xtgYnIvIuycX0NRtndxrikkO+qHLqb\nNMkFImj9mZJhrqzl8m9yofoKg0OlcLLyu5PgPb8to1iLX4u4WrdsU37Sa4EW\n1iPDsOsc3Cw12x+dTQEvxrvwcZonE9Ese89NgaYrNe7iST8U8lTpP5fOB5rL\n+Jmi4tMclM8yvh1zMBEgy5SrrkZSf+eDIdKjk3dS3mD/EzA5/Z/Zt1IHPSpG\nOTC3kZY3xzghQ93JYNCJN8y9p/TOnXyQOGA44aojoYAmAl9V+qFVOr9ccCcp\nQo25YupBxZ9W+ZCQJkHlKuKg52oTk1BG7Zrf1KdLb1h8Uqd2kqqn04wxVWNw\nJtUrllX8MrVm9gNeLTEKPTwFjtoXDZAqr6X2fA6bhYBEI1Ufce4hzImCIiDd\nLtLXhNROUY46xTgHP6Mg5+Vykds/turvLV09Eeq68zYv3LMVNdTzaWkoqf/6\nvpL6fyvNlkZQEp8DP7F5bq1uuJQVteD4QHZ/ZVNof7IFwDzIbLzDIl2N4ZL0\nO9tbdQtZuviGMExxWzwUjzPtuqrozD9fxjrMCiXTxA3gXHDaudKwlrV3/RbI\nnM++1U4H4wGxBWCkdDb8C2oGwCprNhdcIOv/2YYgT6FuKtn7VvuTO2vsI7EL\n+dE1\r\n=ggG1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDRHaHyt90SrgsMUVwxFfRINdaIv9S/4KBiWUPLnyKq6QIgM90vMpFnDS0xUbupjec8zn1SNEIC83R6G3+zKrt2FTg="}]},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssh2_0.6.2_1546380839257_0.18192105056930274"},"_hasShrinkwrap":false},"0.7.0":{"name":"ssh2","version":"0.7.0","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"SSH2 client and server modules written in pure JavaScript for node.js","main":"./lib/client","engines":{"node":">=5.2.0"},"dependencies":{"ssh2-streams":"~0.3.0"},"scripts":{"test":"node test/test.js"},"keywords":["ssh","ssh2","sftp","secure","shell","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"git+ssh://git@github.com/mscdex/ssh2.git"},"_resolved":"","_integrity":"","_from":"https://github.com/mscdex/ssh2/tarball/v0.7.0","bugs":{"url":"https://github.com/mscdex/ssh2/issues"},"homepage":"https://github.com/mscdex/ssh2#readme","_id":"ssh2@0.7.0","_npmVersion":"6.4.1","_nodeVersion":"10.15.0","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"dist":{"integrity":"sha512-1K1kEhsc/lhDVrnyHR3kpuR5DO+aE5Ql/xCqtgrpxNS7lexkvnzz4VPWDGPCIDEmTc6Vla3s3d9wzJ81ofMVoA==","shasum":"f91bf702bce8d48d82e4ea81eb3269498c98501c","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-0.7.0.tgz","fileCount":34,"unpackedSize":315912,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcMY27CRA9TVsSAnZWagAA4gQP/21h/M4GTonPXjDgzUJ9\naoXuNlq/4NxMg5YdTKplqszQFQX6CKOnpujV+Vez/wmAu+ojVfUcSGsj3rj6\nWe2Bts4hFzTAnDeb9iXVPoeSSdAj9vtNqLwzrO3tfQ3FgwlZILAvp+nF+rFW\nBOk6/u0aquMSfbUG53T5g+fRN0OiEiqgTppTmrh7FqNnEWVeqcW/uajfIonZ\nWNV+fzi5/69B8l3JIL6r0R2rpW7P2D9CyEL4gPFxc4ijRundAHG5d5+wOzjd\nNwMvcyvWMnPFVzxJLg66IvQq6UIYcTbdVxjSLYlrsTLvSUBFUPPLSRn9ymHl\nLSczUSRuYCZfkTXdpzEaBkCdNIc8z57Infs+yZ1DfWNUYODtORrisKm0cJIM\nWjZLpNtYtAZRvlfbMn+7qVJVfrFkIdtr+46cdQHY5/iJiyz4PJkcu7XWHx5r\n+a9QkWqcbxsW4OamkwLQEhW0PyrYrNfW+G0w7ZjimotJLe4FQUBeTMmkdniR\nPtL3a+qA3ZV1VGjJK3V0nx6xyOtZrRQCxyMWRp1GgBu9+biQHGJ2TMlWBIgC\nb6wFKRi4welx6QWkisUHM2qe74SRxuN1ws/Sio4iRkMVkk644y6wdQQAUjZw\nKFLlcrA5CwxmUUtM0F8zXTGVrKipd9PJcJoNYI/NCoVrGWhneJYP2fCAi3dj\nPe6S\r\n=yse4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGrJuZpQyQ9tgJaPtXJfFNIrR51sEl8rsLdiFlGs+johAiAB19OXbNYxO3UQVvWq7Z6gTCPrfguypiQi0pJqjMij9w=="}]},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssh2_0.7.0_1546751418516_0.20711082482206278"},"_hasShrinkwrap":false},"0.7.1":{"name":"ssh2","version":"0.7.1","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"SSH2 client and server modules written in pure JavaScript for node.js","main":"./lib/client","engines":{"node":">=5.2.0"},"dependencies":{"ssh2-streams":"~0.3.1"},"scripts":{"test":"node test/test.js"},"keywords":["ssh","ssh2","sftp","secure","shell","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"git+ssh://git@github.com/mscdex/ssh2.git"},"_resolved":"","_integrity":"","_from":"https://github.com/mscdex/ssh2/tarball/v0.7.1","bugs":{"url":"https://github.com/mscdex/ssh2/issues"},"homepage":"https://github.com/mscdex/ssh2#readme","_id":"ssh2@0.7.1","_npmVersion":"6.4.1","_nodeVersion":"10.15.0","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"dist":{"integrity":"sha512-+ZFoxMXMXq/OyDbE7AwJjsYwk300PD4N1xphYrUttsSzqchWz/3BF7X+La8Jq29Y2QTanojuV/vPFjRsyUGaoA==","shasum":"0dcafd75c4e30606d380d0bd57448e8c0efdd718","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-0.7.1.tgz","fileCount":35,"unpackedSize":326954,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcNXgUCRA9TVsSAnZWagAAansP/jIWbQotvOMNMDnknLgv\noDG3lLrGueVfVGfPFc8PkxpLmrViEZ/uHnxiMfJnq/kwsy+USgRDkDi8mveE\nX7rqV2ejxygqOoA0p8GDOH3yzIAVZTG84qijbHilvYy5wd2cxdTeGN9nj1nA\nhv+NArndid+ylE9dUKCmc2URuEX+SBEm4OHWZVePr+NLoAg0awFggNcl66Ei\nD+7MK2IkTqc/3/IZp7hilLm5dX6WnEofSvIr9J+oMnfYYc7cagNdW22tvblb\n51nB/6vj2EEymKFLMewjmVXmmp+dLch6puaMT9aB/UvWjhtarp+fnrq9DEa/\njrzzVe1zcYOHCq9kx2JCR1fnp8lm/naJldk9N7dxPxxihXgn1rSAC7UW04oe\nymz5aZJj9jPB54h2thjpt0ZoiUFJejokU0BltCo1Wkey01QAD2H6g790niZL\nkrCPEr3xBakeYSTdKOdp9K6DeJXD+K3ghHtYc0shGLBu+43qcniijk8MXmn+\n93UzK8+fVnOY29tyoATMOHSjwvSlEQF5LrH1CUU/uUn/+foMbNR6nE15NhcB\nwYZxX4ZFOruoM0mJvHWEktjyvbZ96vcAauIfgOIbD8/JnptljMW23CZCYaHU\nQZqzJ5WeJtWRLCAnN9GhPcVF1jzqAHxwvhqdoyWH7OqRp6Wb1WeG7ei4qMBq\nrLIu\r\n=YU0J\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCBoptpaw8fBUUk/wWelE/2OYDL8LHF/Drex5GAhYNu2gIgI8yd6vI6aciaUaWT2Puiqv0Mr6buTmBIcqGe+fX5Ul0="}]},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssh2_0.7.1_1547008019872_0.7219195398034337"},"_hasShrinkwrap":false},"0.7.2":{"name":"ssh2","version":"0.7.2","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"SSH2 client and server modules written in pure JavaScript for node.js","main":"./lib/client","engines":{"node":">=5.2.0"},"dependencies":{"ssh2-streams":"~0.3.2"},"scripts":{"test":"node test/test.js"},"keywords":["ssh","ssh2","sftp","secure","shell","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"git+ssh://git@github.com/mscdex/ssh2.git"},"_resolved":"","_integrity":"","_from":"https://github.com/mscdex/ssh2/tarball/v0.7.2","bugs":{"url":"https://github.com/mscdex/ssh2/issues"},"homepage":"https://github.com/mscdex/ssh2#readme","_id":"ssh2@0.7.2","_npmVersion":"6.4.1","_nodeVersion":"10.15.0","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"dist":{"integrity":"sha512-AMyU8RoEHVC6YLnXUdqmctViCJ5NYMGbKCNwzmAUvw7OlfFfkTB/j/PL/6CuwP1lBKUdtuVavi/mseHMAEm4dg==","shasum":"09fe321810315a7f0d8debc87ab9ae4ca36b04a9","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-0.7.2.tgz","fileCount":35,"unpackedSize":327685,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcO3RCCRA9TVsSAnZWagAAZEgP/j2TRBwnjDc5y3CwhQZR\n3nPTqRB27aFj3pqZaDxogwENlTQ5bkdYMENYsf1FR/xI69DNXNgXl20JZKeZ\nE2jaA8rPqoVi/XmR5+br/W9+df0pR4wglgjYdK/sojlBCZHlbJaSZtgyTugt\nu6UEDWeMqsiqDfmbrj5X3tL0Bvs4mrDOAWu2gLSbok0jNgMxr2mgZ7ZwxSJR\nEmPgbCquTjB8RZ03TEZ1KQwdAU7DmXT+ZEft0jL3vSIk3yT6D+jANvPbR2s/\n+LQEPpkZv9FGO1d3Os438r1Rn7oquYwmFH3seGnC6ogZwGpUNexQLp10jpfb\nhcLi3lU6sGLLi4LSbHbzAsUZRKOu4AG+KAFd6OWala2ibmXOTTO0rTnQHbgZ\nEf7xe/rkhpneItozr2nlPqukUeiTUC0BjbXpwGkg6sy02Xmxcv4k5hoKHACy\noY+b64tFouwokKAOZ+sbp99JMd+A2EU5IHOh4apk0c7BJR9I4RduCG6wdm7m\nAS57QEO1FX6/YkqwrElfS+h4qtkC5cnoi9146R8dTHsy5/onw7XQ8MwM3lSp\nRxc5I9phmuTPjY1iSIkQWxSWG6+rmH3wefA8Oq143vfBYltPVhGwWi5X6yLG\nuLuIUDVc76HG2gZS+tFy9jBI42UAZH69ZxKXD2DBw+g0TnMvUgGh3TfHDY7e\n6kFV\r\n=CHDX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC8VW7Tz3rd3/3fGs8ms9JNpciHxDo/G1uFt/PAq6ByYAiBPfjakuKXKTTuow5o82fCWLM3hzo72KFDQl7HG80jspA=="}]},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssh2_0.7.2_1547400257196_0.29946165044027295"},"_hasShrinkwrap":false},"0.8.0":{"name":"ssh2","version":"0.8.0","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"SSH2 client and server modules written in pure JavaScript for node.js","main":"./lib/client","engines":{"node":">=5.2.0"},"dependencies":{"ssh2-streams":"~0.4.0"},"scripts":{"test":"node test/test.js"},"keywords":["ssh","ssh2","sftp","secure","shell","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"git+ssh://git@github.com/mscdex/ssh2.git"},"_resolved":"","_integrity":"","_from":"https://github.com/mscdex/ssh2/tarball/v0.8.0","bugs":{"url":"https://github.com/mscdex/ssh2/issues"},"homepage":"https://github.com/mscdex/ssh2#readme","_id":"ssh2@0.8.0","_npmVersion":"6.4.1","_nodeVersion":"10.15.0","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"dist":{"integrity":"sha512-mTJUZgFdWdtXVF+2u6C8rTr+VbOFB5SfmvRFZb0MCB5WQ9nRwTSVzn9ncfPRLlAFwbL7MxWDjnk4Mp7ceiaexw==","shasum":"d7d6a9bafd6eb8f637c6ed1efc21c9025b61ba7f","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-0.8.0.tgz","fileCount":35,"unpackedSize":334184,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcO9spCRA9TVsSAnZWagAAA+cP/14x8fSRdg8Xs0dgNKeB\n4revJzmTPmgwIgUofV26nl/AWOPvjsVfCJ+4vwgJchC1amNG0clZYS4LJJ6e\nTQqgrA7OfKV21pK9Ll1EOZehlKwBXMpIpV0oJn6XImslU7nmhLiQpmYsAwpg\n/eKCN+s2G8OV0qG0DbTzbl9Q4n2dt9HcnOw2xBYuvs998x8b3etwTc5vvnDU\nMPXUBY/OKTg61BGw2H1P7rPE+0XLwK/4Oj2v58RTKRHYNqttQepdO2lVJCAd\nfZJ7m3Z0JLUQ72o7EBmEg7EN/R8/8J+NlvLf0KA0HyPqbgCFfjpxvIS1WvsG\n8GgNZ82AbX8Jg1AotKZx1ejPwx3Iq9Sk65//sS3qr/HV9d+/EeuwOV8hJyWR\nZ/NVVytSLNt1Hz4mxVetuVkvxXZsOhdeT3U0dp3N2B8TIN3qODVm8leKEfIV\ndAGumSQ7qtjzgBCKvSNuhpSEU32qBcPdVPA0+UXs1EGw+5Z+zsPviudCrXh0\nQIynq0tYYVU7J86ySB2531AcAhXMfhwZEfzqWfweWaMsV/thPtUudj/X4JdS\nIsPsKwsOPsm2VuF/EGf8+jcrd3zoIwRsEL9Zjb8MlhP5Nza6MEoYoSpu/NEn\nfLonsEzwFfWy8vbH9hw0x1pi22TWWm5/4tMT7YgAFC6gCiLkmU7lC/UwY31c\ntdhX\r\n=DklT\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCEk4OAnzQtM1Mt4P7/5Umtkos1xqycpmputdeUd4ZmMgIhANHKDolNwWUTuH60jwllUD6krXOuCQXzUw+h6+NXu8CK"}]},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssh2_0.8.0_1547426600768_0.3871416403715513"},"_hasShrinkwrap":false},"0.8.1":{"name":"ssh2","version":"0.8.1","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"SSH2 client and server modules written in pure JavaScript for node.js","main":"./lib/client","engines":{"node":">=5.2.0"},"dependencies":{"ssh2-streams":"~0.4.1"},"scripts":{"test":"node test/test.js"},"keywords":["ssh","ssh2","sftp","secure","shell","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"git+ssh://git@github.com/mscdex/ssh2.git"},"_resolved":"","_integrity":"","_from":"https://github.com/mscdex/ssh2/tarball/v0.8.1","bugs":{"url":"https://github.com/mscdex/ssh2/issues"},"homepage":"https://github.com/mscdex/ssh2#readme","_id":"ssh2@0.8.1","_npmVersion":"6.4.1","_nodeVersion":"10.15.0","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"dist":{"integrity":"sha512-8lench+wNgZjJnAdP1oU+X2WtHsn6jLy+p5Z4WK7GbaXo1A85MbNSNUV++LeecXXy4K68utkS4NHwr8E+As+NQ==","shasum":"c54cc5724285693a6dae1a0dc12a0dcfe1cd0086","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-0.8.1.tgz","fileCount":35,"unpackedSize":334184,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcQVf4CRA9TVsSAnZWagAAdwwP/3D+3F62GqSqBZ0Y1R+J\ntC33WjKoWC3ex4juFBf/B7iUuYez6dD3tD2JSaECj0HBhJbmoZbtXG6oDLoF\nGvEbnv3iFM5Q+EVBxG7i59voFws+gn7wr5NloEoXLKggPv24MrCrfx3r+qTk\nCYXcyXCKA6lQNWEvBc/d0IRhzYNRfLw1vhMCIrooaj8khd+F82o18+dbcarE\n5gXo/ImZlMSV/I6p8MG92rvTuM+d8biy/X3zh54appHxcTEYkQbrwqmCWhJc\n5M8kYQUzCZFlJUkjbXhe19IjqV1HzbuTIsBaouaDbZExyHjzZnoKGJK+wG1D\nBa3GLraosYils5UDCh/ZAO1FYBXk1gmOPz5IFnw8POzm9AjB6nrI2rHlznz+\n7ke0hqYNyvU3TiADfXn4c9O//IeMCiSVjaEDFDV+57gq+32fdSxBPwjUvv/v\nzpMnbNMO6/f0Z7aPYFm8dK1T/Go7Z26JjeD6Xq6DsD5dZHSl+CDreKXbafhB\nnXLnPqaOn8IXvR8S3csEc5iyh7rWsa88gSgSsxyLknQXYIvx3/hRoBkRiRSm\n8fLnWNRwtDQTqljWZ9TU8fyJsLgjyyMItV3FK2+BifyR5dOOgSTrSFNnwYSR\nU2qOKSzerAN3UpO0VnGAV8l6JoPB1N8BcrqF8A83mh0yIuBwuAYdlQE9UPzo\nFHxN\r\n=YU8S\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID3E8DX67DGPjo3HQJmHEgpQqOZWIMr31VoU+jZfuoaOAiEAvqn2bUX1OyxfNaEo3dp01zussbtnH+SQpUtdnoyK3as="}]},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssh2_0.8.1_1547786231462_0.2561318374972523"},"_hasShrinkwrap":false},"0.8.2":{"name":"ssh2","version":"0.8.2","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"SSH2 client and server modules written in pure JavaScript for node.js","main":"./lib/client","engines":{"node":">=5.2.0"},"dependencies":{"ssh2-streams":"~0.4.2"},"scripts":{"test":"node test/test.js"},"keywords":["ssh","ssh2","sftp","secure","shell","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"git+ssh://git@github.com/mscdex/ssh2.git"},"_resolved":"","_integrity":"","_from":"https://github.com/mscdex/ssh2/tarball/v0.8.2","bugs":{"url":"https://github.com/mscdex/ssh2/issues"},"homepage":"https://github.com/mscdex/ssh2#readme","_id":"ssh2@0.8.2","_npmVersion":"6.4.1","_nodeVersion":"10.15.0","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"dist":{"integrity":"sha512-oaXu7faddvPFGavnLBkk0RFwLXvIzCPq6KqAC3ExlnFPAVIE1uo7pWHe9xmhNHXm+nIe7yg9qsssOm+ip2jijw==","shasum":"f7a172458d3a7a13d520438264f90de8a3ee72af","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-0.8.2.tgz","fileCount":35,"unpackedSize":334184,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcQV8ICRA9TVsSAnZWagAA/nMP/AxnnYoCbYrRjROQvfDB\nhE3crPD/NBWiGZxcwdZYxxJp/CmY6S4sIJVVwEIWue0JQaTbS4SbBkEx6emE\nr8tlZiisBIaB9i8DLseofXNvHsaBHGpa+MFCWOQbKG9oQ//Q4MLy3HkSszIn\nZ6fO6MADvsoQ9JxWCbweWUhPnOZv8f9GXu25IqMTvoBuGURwxBoPp9/XGq7Y\nrQmaXHvttx/+K64IFN39lPGQ9bnLAW/J9/pmeqR7sUhUUbfjPqhS78ki5c9K\nOkgwWwIgOptj1pB3TovEjlp4h0C6/V1+ArgTGij01/lq65eMrhaML7CwuE5r\nOubX8IKeFTy8SgmnloAcKISF/BdcOE6XdIyRgnSCxZ8Ez19E62rgL0OUXpG2\nQjFoYFMtjRvB4tvrqPZuNBRk6LTmiUpbqW/dJP6dEUzjDfWL2Ev94yGtvisU\n/UJkCci+hJLBpagf34rji1q7neS7rDeMokb2k8xIAhXZIEmNk3zXLP7iAfcD\nEq89wHZpwgxlLrewAPtvRVJv+ZtDhVkUl8igsS3LyvDze7QOpXuQygTTlyBG\nvkjyXAtifZY0YKuuyiWiPsZfz7vqk8TMLpFJKljdz2bHABa+1y/KniQxKGb/\nSvh82MfCBVjk+X65rQbHPnMmtMlEmAkYbUwKI7KkNepSEr+qCYN0NXMK7eD6\nuSQ5\r\n=+42Z\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCzTWjFQmgvgt0aVH2JkEyRetxSEsIfFQIc2Bode4YU2QIhAOz5jLIdZ82gUoP7ItYSXZ8VSpaQT8njn4Oh5C1Co/ms"}]},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssh2_0.8.2_1547788039399_0.5633087077946313"},"_hasShrinkwrap":false},"0.8.3":{"name":"ssh2","version":"0.8.3","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"SSH2 client and server modules written in pure JavaScript for node.js","main":"./lib/client","engines":{"node":">=5.2.0"},"dependencies":{"ssh2-streams":"~0.4.3"},"scripts":{"test":"node test/test.js"},"keywords":["ssh","ssh2","sftp","secure","shell","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"git+ssh://git@github.com/mscdex/ssh2.git"},"_resolved":"","_integrity":"","_from":"https://github.com/mscdex/ssh2/tarball/v0.8.3","bugs":{"url":"https://github.com/mscdex/ssh2/issues"},"homepage":"https://github.com/mscdex/ssh2#readme","_id":"ssh2@0.8.3","_npmVersion":"6.4.1","_nodeVersion":"10.15.0","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"dist":{"integrity":"sha512-E+dcyMK9yMHeXyG8BkgQvNV7HX7dZ0WW01nZ9pkLnHtdQKhzOE5TbP+seFuun6/rK8LeGc+rPkhX6wbMSyRqpw==","shasum":"d21edf1dd3000411d4752c98d1494ed67e56ef50","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-0.8.3.tgz","fileCount":35,"unpackedSize":334652,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcwTBvCRA9TVsSAnZWagAAmgEQAIeF8+OIkThKaYqrF7gR\npe2S86hzB/3aSdUvCVPlipa0QfRxvNMT/szA6/Ib6cS0bW9gvzOIzD/qtO4i\nVTM1zuBPBqU9K09CntYzcAqT8DB0Yd/MEJK79iFtaiNIk+V94odU+c7si6PN\n17NQSWQXiVEZ/6pA7m2Qd9CWCu3805SrkqGgnO+jHmcFE7+eCirY1ICM/Vba\n2aABlhwqyCc863fyNSjd8fxpGy0gEBMRFpkcvbcBt1DmyuIGgHxSSu2Jj5RV\nAYFvMYeiYtGhsSVSmnizcx8/JBb1ol925uLLbXGTMeccm1jU2vH5fmUx7JRr\nxGfV2d+DMNO106aatXCkFRvcITsDKKIUmRD5JSDUeawkvQiW33gvf7sR+byW\nbSRD5vEd+F0sn714QW/2A15yUAy5F8holJI0rkgP3Tl9vwd3Vx97cFWPV/hc\n61qRYU8Z2FtU3N2bKtVX42mAfWR4AE0IPjPF+KJ5+/v2AykcO/nqsewMWXOe\nnzzCGFLl1IrQyKSPxsS3rSXhYncBRFWQlsUT+pcFasSjLw1cHiUSPeyU0Bq9\n1Ds1XjYIdpngKFQG+I0Yf7HGOh6Ta6VkloO3ir66PJlhqfoGwYOTFv8O6How\nmyhs3NsPotA+8omhOysUtE3RCjmX/L498t6w3CdnDad4fUhTcV7yuC+Mx/rp\ngHq6\r\n=oUI7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFl8JprErjOnWeoO3i4slq6sgWcG6s2J71ER/77dOcLbAiAGBnxIqkEpdaQ1/D/PKGZbtNKlrXEvrhARIztSn/QZlg=="}]},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssh2_0.8.3_1556164718656_0.4239011172873379"},"_hasShrinkwrap":false},"0.8.4":{"name":"ssh2","version":"0.8.4","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"SSH2 client and server modules written in pure JavaScript for node.js","main":"./lib/client","engines":{"node":">=5.2.0"},"dependencies":{"ssh2-streams":"~0.4.4"},"scripts":{"test":"node test/test.js"},"keywords":["ssh","ssh2","sftp","secure","shell","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"git+ssh://git@github.com/mscdex/ssh2.git"},"_resolved":"","_integrity":"","_from":"https://github.com/mscdex/ssh2/tarball/v0.8.4","bugs":{"url":"https://github.com/mscdex/ssh2/issues"},"homepage":"https://github.com/mscdex/ssh2#readme","_id":"ssh2@0.8.4","_npmVersion":"6.4.1","_nodeVersion":"10.15.0","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"dist":{"integrity":"sha512-qztb9t4b34wJSiWVpeTMVVN/5KCuBoyctBc2BcSe/Uq4NRnF0gB16Iu5p72ILhdYATcMNwB5WppzPIEs/3wB8Q==","shasum":"0a657d9371c1fe9f9e349bcff6144febee256aa6","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-0.8.4.tgz","fileCount":35,"unpackedSize":334652,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcyF3gCRA9TVsSAnZWagAAFG8P/1KYkQRfO8nc+nBcoVRc\nEx1MMgEZychCOZEdDiY3jZ3t41zeSFKjn3lKgWU+5bcOKdJVyYJlZs6DzadH\nSJhJ3AliFDReLO1LLgeZagnv3cM2e3WRkCVLVXPjUxdsT0ol5BLaOj+zNtHU\nKhaYak+uq2HVQtAV35D0JkXPC59tKsapqa/W13V3LNT/TNAw/dq5yryeVeh8\nzW8Oun0l1nVVGzg7BcyMy9ZWD04qF0VQL0kT4KwylApz/5gPWsz8akouNo72\nupx1dXitfUY3GKFfD0LkIZFvJ99WbmnqJfM9phjBMnAA+v2nUY7wHwPghzuw\nLxfIUDxPOKi19uxRzKevd06T7auSh0M5esrSe44dAQgaucBbeTqBfALqNJrV\nsB4cuy7RxRT4SbianM4o3WwSuREtqdGdIFOmaSNFSpu2kEHb24yhyzQoeGng\nw7WFooBKj89G21k9K0HKtKoLvRwZYelWDeTLwV5pBZprczaR2JDeU2bFp19K\nxiNzYfP4cEZUqvanKxnJDlVPQNxMlv49oYlnpBgDZhhGD0fTtC5CsohSjhqx\n9wtp0BXduN0pRMf9gigZCMttLv7kcO3WD4uS5+rZbI1Qqw+M/0MHSHnUv0K5\n68snD/u1Kui8Etv7o2IbbdfLJTDaGBj+aNzRozYZ5iaqqxKtqZAbI+TFHf7D\nrDUL\r\n=oKbk\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD+9Bq5eyIRrIag7/coiujyV3AUxa+NzgzjD7PllG0WqgIgNu0wb6UpHGh4aFMprPhjtr1fnLolAI4XZKvjnvFq0io="}]},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssh2_0.8.4_1556635103147_0.6343317164874578"},"_hasShrinkwrap":false},"0.8.5":{"name":"ssh2","version":"0.8.5","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"SSH2 client and server modules written in pure JavaScript for node.js","main":"./lib/client","engines":{"node":">=5.2.0"},"dependencies":{"ssh2-streams":"~0.4.4"},"scripts":{"test":"node test/test.js"},"keywords":["ssh","ssh2","sftp","secure","shell","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"git+ssh://git@github.com/mscdex/ssh2.git"},"_resolved":"","_integrity":"","_from":"https://github.com/mscdex/ssh2/tarball/v0.8.5","bugs":{"url":"https://github.com/mscdex/ssh2/issues"},"homepage":"https://github.com/mscdex/ssh2#readme","_id":"ssh2@0.8.5","_npmVersion":"6.4.1","_nodeVersion":"10.15.0","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"dist":{"integrity":"sha512-TkvzxSYYUSQ8jb//HbHnJVui4fVEW7yu/zwBxwro/QaK2EGYtwB+8gdEChwHHuj142c5+250poMC74aJiwApPw==","shasum":"9144cdd6c104aa81b2b16ce647c109f4bd138b57","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-0.8.5.tgz","fileCount":36,"unpackedSize":338600,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdKE42CRA9TVsSAnZWagAA+ykP+wbGm4CjEXZuc8VzIKID\njhwIaoRUlusDuY4QKIW6/IghSvpyZBsAKstmf6RUamJ1rKCCUUs58NuN/phW\nJ3tHxwHVFX3QhgCmkYLNpy+NOZ85smMGkKg5ZrghcbKJeGvjqTRG8RbORtw+\nX9o11Opts1tBi0J7hPRzyBMhDvwo2tOv8znytsV5nGa7NLEY+hW4qfjRViPo\nMQjlBYMNr3hMwwk8UFABRaqoaSGvDqedRWVd+vzIRvrlb4kF27xhP8eXFCSI\n8xB0eHg82VYDZ/m13tT1u1pY/16hNvL8nFQ74a3vA57o1IHYrDQGNKAiTuuo\nc8mWzFieHQwqH99PaEOnsMw3NAvmWLSBtc9wg3p5p3JvvXPR8ENb2he/v++j\nwBsg7DtVl6G/tNXWmMCm0DGDSBUh3gWz8Abwag7ZGdByyVHVP3tXhswsmTnq\nvsYUpyMLYosWlTVhI4IYeLqZMBbjlRzsKjz4vm5XicOhVQZ4ztOYznKmylrI\nGQ18On9Zff5vonvHQw6kc5FXxe7+Eiz+85Jzxc611onFUc9tfAXPm11sbAUt\nH8ohNmIYHgxGHz8Xl9vEmb08iB9ZDv719hlXCEnx+a2qrOCWF409/Dpge6SF\n2LCEBYnrWUm2AX52NiaoE0TwpDToOQDjpIAO3s6yEtvN8fkCk3ABdvTPzMz4\nZpUg\r\n=Sd6D\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDVWrpi2PdsoXuktrNzQjm0/K5HBMW5EF1tI1NUCv9UpQIgJj5vsbsJGgyiNZTvTlbDgTeIFtOyIsH6QHmHCVDT7w8="}]},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssh2_0.8.5_1562922549386_0.23946168850645"},"_hasShrinkwrap":false},"0.8.6":{"name":"ssh2","version":"0.8.6","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"SSH2 client and server modules written in pure JavaScript for node.js","main":"./lib/client","engines":{"node":">=5.2.0"},"dependencies":{"ssh2-streams":"~0.4.7"},"scripts":{"test":"node test/test.js"},"keywords":["ssh","ssh2","sftp","secure","shell","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"git+ssh://git@github.com/mscdex/ssh2.git"},"_resolved":"","_integrity":"","_from":"https://github.com/mscdex/ssh2/tarball/v0.8.6","bugs":{"url":"https://github.com/mscdex/ssh2/issues"},"homepage":"https://github.com/mscdex/ssh2#readme","_id":"ssh2@0.8.6","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-T0cPmEtmtC8WxSupicFDjx3vVUdNXO8xu2a/D5bjt8ixOUCe387AgvxU3mJgEHpu7+Sq1ZYx4d3P2pl/yxMH+w==","shasum":"dcc62e1d3b9e58a21f711f5186f043e4e792e6da","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-0.8.6.tgz","fileCount":36,"unpackedSize":338458,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdxN8HCRA9TVsSAnZWagAAaFIP/3lCpaJq32rs6RbZVE0D\nb8XAv4HME5SrE5Lo5mHQy6ouKMRnDd0tBt/RBFYqjIc3O47e7lQnSW/wo6LT\nKTQIZTp1gsuUCO1poUV5qYZi8eUcJOZ6Ijk2xMW4aZDfY28BgaLfDavnx+5P\nUCePP6IrI3NsrS5mIZZcpKpI9pLHsUM4kwPDrPUgY9TZB7sqkXdDcrh/D+eo\ne/pfokcj78xmUhn3Y5YkRtyc9H6JokyMCPAWLkqLL6Uzq5wUDNRQJWOreH6x\nNPiR5Ov5+va5mXs83JedQbq6AqRJvb/MLIlA8pcqTEeVqfNpYTR8GCD6+2nm\n9AKr5fRYfewGHnlp7A0uem8Z+jg7qMLmibE28KVeUx2OWAeeCswQY8wf7qwn\nVRh5CvL2LnlHPE3yVHVPNUHj4bzbc0s/z2OxIR1vdwnE20l+N8A+efI9QOlk\nblUrrKMCDucP1wJ2DMGvyvwBt3c1ohNDfIagcgEwHKZdPqYWtLOIkmspx3fG\nv7Hkkr0iUaJtGE9FW4QvC/HvD6DicujFmeBcefv4ji6eP+Ns9YEXUWq/Z8As\njtQpm3A3RPtO14vTWzGFMz5RnEFXOWg5vQFlFkmf7JXI7aUP3T2hMOjtifHJ\nlOK+RmAbNlRHjHj117wUkC0Ri6yaPbFAfr0h44Qz4LNSEJ5e7h0YEGkhpync\nJLjR\r\n=EI/2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDFoYHDpegB30O3KvZh07106MRLkfdvqZRfvMbUdusksAiACUkJRrQnAhrnv682t0f1cuuy5fvPxcJtbkXSvU4C8Yg=="}]},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssh2_0.8.6_1573183239265_0.002551598065212657"},"_hasShrinkwrap":false},"0.8.7":{"name":"ssh2","version":"0.8.7","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"SSH2 client and server modules written in pure JavaScript for node.js","main":"./lib/client","engines":{"node":">=5.2.0"},"dependencies":{"ssh2-streams":"~0.4.8"},"scripts":{"test":"node test/test.js"},"keywords":["ssh","ssh2","sftp","secure","shell","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"git+ssh://git@github.com/mscdex/ssh2.git"},"_resolved":"","_integrity":"","_from":"https://github.com/mscdex/ssh2/tarball/v0.8.7","bugs":{"url":"https://github.com/mscdex/ssh2/issues"},"homepage":"https://github.com/mscdex/ssh2#readme","_id":"ssh2@0.8.7","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-/u1BO12kb0lDVxJXejWB9pxyF3/ncgRqI9vPCZuPzo05pdNDzqUeQRavScwSPsfMGK+5H/VRqp1IierIx0Bcxw==","shasum":"2dc15206f493010b98027201cf399b90bab79c89","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-0.8.7.tgz","fileCount":36,"unpackedSize":340658,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd5qGCCRA9TVsSAnZWagAAhrUP/107BPFFmuH+jLog4+AW\nJEUxObHy+XnHxqthouJYs0HcGvCJlJ631+Lhx7f7K9t0ic8vO2gIPkLuMlw3\neLoT5nJmXvcI6nQcQI8pEsc837gJ6rPKIHAZA38HRqmZm/aOv2DyDlO945g0\nK/5KNqFVVmod1/XjwPlj1p3DoI995+KgY/TMuMajziB2V4cICtA+zXfWagk4\nhUdYK5YYy/IaXNo7A33b+JkhNQP6+nCc9k7rMvcAXmzHhXJIQ1IMm4sbv37G\nhe3OQdjPMvZzNITVon1cSAJax8eSc5n41pz1Op6JGuxaZDQ7GfeTrI3zpJCU\nPzSVG/tIr8Y7GGlqKdnD6LsZnS2OUTw1MrUAGvo/29JYyvpLuKduZP+ycFZM\nQDUWb5SbjLP19sDiIGWgn+uqGEQPZ0oOhur+gmJi989+ARYTWPthZKmFX04O\nuV869X7cw6TsG6DUx/WYAAUTYB2IIdKWdJ9Wvu+yxJj3UooJcsfJlAGkzz6K\nThQsMq8Efby5ULHUKKJQ4E3dJ54U6M3cpEWqb4iRJDalqI6GeN0CgpmQ9itz\nK9jORYTiEre/rphc5+BKyrdcsrZEDWiF9qSw7h0MlOAMc4nCjNptvOWpuHag\nmWAXmILYN0jw28Dt8FRcTk4oMKgwXWBqzJ9O4veLlATcPKuhqi15sGEZTBXW\n329X\r\n=Nvx7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDZgUmzBP/f/qRDhrwXRcWb8DhzK/yTUFVpBm0Cr4FhSgIhAPb7+6blwmWxWxrUlvP8wLLzScaLYvz38+vlT2fSC7Xa"}]},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssh2_0.8.7_1575395713483_0.3284909589666689"},"_hasShrinkwrap":false},"0.8.8":{"name":"ssh2","version":"0.8.8","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"SSH2 client and server modules written in pure JavaScript for node.js","main":"./lib/client","engines":{"node":">=5.2.0"},"dependencies":{"ssh2-streams":"~0.4.9"},"scripts":{"test":"node test/test.js"},"keywords":["ssh","ssh2","sftp","secure","shell","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"git+ssh://git@github.com/mscdex/ssh2.git"},"_resolved":"","_integrity":"","_from":"https://github.com/mscdex/ssh2/tarball/v0.8.8","bugs":{"url":"https://github.com/mscdex/ssh2/issues"},"homepage":"https://github.com/mscdex/ssh2#readme","_id":"ssh2@0.8.8","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-egJVQkf3sbjECTY6rCeg8rgV/fab6S/7E5kpYqHT3Fe/YpfJbLYeA1qTcB2d+LRUUAjqKi7rlbfWkaP66YdpAQ==","shasum":"1d9815e287faef623ae2b7db32e674dadbef4664","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-0.8.8.tgz","fileCount":36,"unpackedSize":340768,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeU/MnCRA9TVsSAnZWagAAOiYP/ROk8RvIMcCv3mgIUKAp\nmqwz3ktCzsxeJ3RbUrpfjh18dHjBOtGhhzjm0ZA3ZWcuez7bGhitrl6T4ALe\nnZTLnT/BAnJVcMbPhvzeLw7ImVHP6PrIYYu+6ab3oa87HU7bXTbkFs4FGdEg\nzxOaqFje9VagMbXpheuxdr0JumIruGHuB5LSRH3lvuB56eork99xxTc3efmx\ndoY3C+Naj6g7YF4jo4+z8a5wCBeikx2Pwe2+YSHYx7M/Pg1aBKuxGEdI/hvF\nVCm9lhxUQDSv1luxWRjwihkfmzUc9KEcOruYyTjHWZnNw1s6pZCf6qynQk+w\nF0Va4l5EEdsWGM+NuPL9UosTYhpMXfbWijZYK8/d1b14B0pgzOJZH3a/xyqO\nuwxe94656hs8qF5YqYrVuxodTIdqAlE4QW7AUbBP4O2x+SCaaWjtzLwbZjw0\nKKm6+15UDoe3HSz2os1cERetfE9U8R6zRWahMcn7+unXnr5mlxmkUyTGZ02X\nsmK79Of7qnQrxLZckwmh/enCky9zRs+p2LyhGfBAEs8z39Tc3JMecBc6JyvF\n4Dd1EfWEj0aKoJVZzIogZDW6Y/RB5ylG5EkShMNoLRLDK+UqkOKUdV1BTsxG\nm6kgtwN4z0BV52ofd/UsVcR9aD7QHJxObMTnAPiZm05MypUw/6qI2hBfgGnY\nJBnM\r\n=DSIw\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDdXRHTpq/mEFZSm54pJZzOV/eBN+ieVnMu+4Olpt51OAiEA4lSXgB9GIGnGYZ8X+jYa1Vn3II5B0WXT7MfZnTugyEA="}]},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssh2_0.8.8_1582560038969_0.73828150628871"},"_hasShrinkwrap":false},"0.8.9":{"name":"ssh2","version":"0.8.9","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"SSH2 client and server modules written in pure JavaScript for node.js","main":"./lib/client","engines":{"node":">=5.2.0"},"dependencies":{"ssh2-streams":"~0.4.10"},"scripts":{"test":"node test/test.js"},"keywords":["ssh","ssh2","sftp","secure","shell","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"git+ssh://git@github.com/mscdex/ssh2.git"},"_resolved":"","_integrity":"","_from":"https://github.com/mscdex/ssh2/tarball/v0.8.9","bugs":{"url":"https://github.com/mscdex/ssh2/issues"},"homepage":"https://github.com/mscdex/ssh2#readme","_id":"ssh2@0.8.9","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-GmoNPxWDMkVpMFa9LVVzQZHF6EW3WKmBwL+4/GeILf2hFmix5Isxm7Amamo8o7bHiU0tC+wXsGcUXOxp8ChPaw==","shasum":"54da3a6c4ba3daf0d8477a538a481326091815f3","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-0.8.9.tgz","fileCount":36,"unpackedSize":340769,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeb47hCRA9TVsSAnZWagAAbUgQAIxh+U90W4G/XrK5XsP5\nRCw80zi7XG1Ub0YzWH7dxEh7+ANwKgSBIBqrIuYVU9er0/MEVUAP2UN0QaFD\nrhPEkbAONutfm7V48ZTvPJl1yCgNRl8qsAQ3/JX0tClZan0e8x4PVzpW1bJt\nlvfcd/ZlXf6JXEpCjqI8c7C9x24VPt7kONroO8oAATQQYbA4qjwTfQQLkgQS\nWRrCsHmw/fiDkvt/wwnsR7jT28l//v0/Aj2iJkLZ7x3252KJ2yTVfNeV3U/p\nGq2OXXtrfG7TgDwZ68uCfC0Ho2ABYVRvQtmaOqP9J9GdITtS0e2WSq1Gzz4c\ny+ZeBAYBu/k2k4J5mWjvPARbKUFZygDwA62zkQSMqb1IcI8xftW9uf38Vn/Y\na7hEp06qDw2RHTYqXfcjGZ8XwPj+EYlsSuprtDtIglZzQCOVaJMvmTddUk+V\n/gmuCEoRtu79Vx6qACTDwFM1junUepOxmKPCeE8xhtiCm6/lzjT7zlsvcaQi\nTUmliRwCGZ5Qy/Q2m5iabkY4+TIT0xEdGogfjW+oK81oCYu96ferGVF0JseK\nG/TH1zsSri5SGVACz0f6nlCu3dO7ENViYFkD8wZP6DWWRb0vNEkkyIbTes6G\n/GRUewYNuKjZC9D3eq3omLUqOS8Ij/BpH4mRHckCnOmQ3dCNff/Ce8Er0Nt7\nq8jl\r\n=OHmd\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHilNGGCfNcQdl6QW4HeMkKVT2QXuQ8jD6RmI3jWIoJxAiAX/UFJTVUfnUxCvoSxM8l97ohsjmZyX5aGNpt0gI6+dA=="}]},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssh2_0.8.9_1584369377205_0.7484256273307992"},"_hasShrinkwrap":false},"1.0.0":{"name":"ssh2","version":"1.0.0","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"SSH2 client and server modules written in pure JavaScript for node.js","main":"./lib/index.js","engines":{"node":">=10.16.0"},"dependencies":{"asn1":"^0.2.4","bcrypt-pbkdf":"^1.0.2","cpu-features":"0.0.2","nan":"^2.14.2"},"devDependencies":{"@mscdex/eslint-config":"^1.0.0","eslint":"^7.0.0"},"optionalDependencies":{"cpu-features":"0.0.2","nan":"^2.14.2"},"scripts":{"install":"node install.js","rebuild":"node install.js","test":"node test/test.js","lint":"eslint --cache --report-unused-disable-directives --ext=.js .eslintrc.js examples lib test","lint:fix":"npm run lint -- --fix"},"keywords":["ssh","ssh2","sftp","secure","shell","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"git+ssh://git@github.com/mscdex/ssh2.git"},"_resolved":"","_integrity":"","_from":"https://github.com/mscdex/ssh2/tarball/v1.0.0","bugs":{"url":"https://github.com/mscdex/ssh2/issues"},"homepage":"https://github.com/mscdex/ssh2#readme","_id":"ssh2@1.0.0","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-p3fH+3a8yB9f7r87OnPgTl2qu7BW7dOSSLG4gb41DxCNwlL+XJ0OBjBJWa2hDqrxJceL0LjB02l/0byey3OHlw==","shasum":"f6fa11366afebfaa005e7097fb63dab8aa6f970f","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-1.0.0.tgz","fileCount":159,"unpackedSize":1039778,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgsddTCRA9TVsSAnZWagAAD6MQAJM1F2r+M9L4NhDKdOe0\nYa3PTuB/9dh4AbfOeVe+k7D7JXhFVM6cWp7aL5neOxIUnzUCFCuhQSJjyrCP\nLgHv/BecsqAECoy/aZ22TWWRx8zgkpw201blZE8wdPf/ixUloX6GxzTvomgD\nj7h6JvU4KMdUp5gMeoUN6jLKcvZxtw+bK3W1PROC2uhyuj3afQNYCW0iHE6z\ndAuz0u+rWJCMqVLrMVJgIHxkwdZ0tJUstFBoHVXhCJ0v7gWzo8tWlGrl92Ie\n+teDm/R0C0c1krAIwtBbKP7uz2UOcVhZ+YBybtd7tStosEkIwcG+OmaofNjf\nOhH1rNr6cGX/CuQs1uSEYiobGyTYzmulOZnWyrkpKSAlHGCF55QjqUZeubBs\nZg/+dKlgX63SIpapjA3iy0onbYFh+Fl+pMdm88TYwZsYSfOkr64V5Gus2ZjL\np1puWXggOYx3WZ42+8hrXxZ3+ejsukik4Bb8WcCXa9GxVgZb+AZRGtTOH6XW\nAsUJGAB0snM5UekHH0Rb4dipUasN6G8pTMpvMaM34ohO6dP7YXz4GZ+Re3gJ\nT4admVHoMOsTi12Tfm4qL3ZJeJQiNfoYZ9EWzrF0nQ+0siejw4cFm/aNsMgG\n5dEuNPnytbMmnwn3AIysdzGWolOGxLsAugOEWTI0mZBtL3RA4n81ygX59hcq\nWekv\r\n=giZ5\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBHQ92YOF7Ro3oqf1m/xGC7M2ybPIFIKun1v3dl6/L/TAiBjq5cySL/8jGgJIcxezCANGj9TUJLdz6HW+eBkeJmCag=="}]},"_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"directories":{},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssh2_1.0.0_1622267730289_0.7859755563692441"},"_hasShrinkwrap":false},"1.1.0":{"name":"ssh2","version":"1.1.0","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"SSH2 client and server modules written in pure JavaScript for node.js","main":"./lib/index.js","engines":{"node":">=10.16.0"},"dependencies":{"asn1":"^0.2.4","bcrypt-pbkdf":"^1.0.2","cpu-features":"0.0.2","nan":"^2.14.2"},"devDependencies":{"@mscdex/eslint-config":"^1.0.0","eslint":"^7.0.0"},"optionalDependencies":{"cpu-features":"0.0.2","nan":"^2.14.2"},"scripts":{"install":"node install.js","rebuild":"node install.js","test":"node test/test.js","lint":"eslint --cache --report-unused-disable-directives --ext=.js .eslintrc.js examples lib test","lint:fix":"npm run lint -- --fix"},"keywords":["ssh","ssh2","sftp","secure","shell","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"git+ssh://git@github.com/mscdex/ssh2.git"},"_resolved":"","_integrity":"","_from":"https://github.com/mscdex/ssh2/tarball/v1.1.0","bugs":{"url":"https://github.com/mscdex/ssh2/issues"},"homepage":"https://github.com/mscdex/ssh2#readme","_id":"ssh2@1.1.0","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-CidQLG2ZacoT0Z7O6dOyisj4JdrOrLVJ4KbHjVNz9yI1vO08FAYQPcnkXY9BP8zeYo+J/nBgY6Gg4R7w4WFWtg==","shasum":"43dd24930e15e317687f519d6b40270d9cd00d00","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-1.1.0.tgz","fileCount":159,"unpackedSize":1044218,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgswXHCRA9TVsSAnZWagAA0yAQAJN+V5EvVa6nNx8k16qU\nnF8i/CCqUhPJqhSStCz6FaQTe4DaPqDLPtZZ/xSzf5ttC4reJPBMCf3oH4fm\nAkKg9OOOjscMUIccIQ08Hv6dr/xUoEVHRuBbMyd2V7qztVVL1oZrwG+S47Cd\nJwSJFIqERKGEXvcSWpzvei7Z+xdMMH057fGQnVNxqCSs3KVOnGvDbXyHoXzU\nnhLZaZ2BH0zp+3ENGkhAAzd4hEKTaU6ZfZD2F7nCPFjt/NvH/ORF0ulHidjL\nKWgARWMnkgPiVTXdFxV8jdr1a/wzgM+l3qWoQK0Um/RNYzu8xKxh9dXI01QA\naTVEdm4Ol17xXfhiex8WD5izj0FnaTvPB66mWCeqhjlQEjidfyYuGMqtjyA3\nyKOdXuZlceq0fNOEiMP2ZLKABqMJMIO7ItN5+DpKkCGnyCc8CqeMUFZTLefn\nLHUAo6D+kqsFZg83s8vq0P7Jo4aozNmGXoQO6IIMLuh3h282rjR1APs2iLDF\nOsVNnVQ7aHVu/NiULSySUYndKoGML12uYsVF92L0urFiUQJicHF8/rmxGw9o\noeHQauAfVvk/x2/zBhfK01UkkCnehVmzf0DwbP1lRxJ0l2aBr6KkRO6HVTUZ\nNvr87rj9mb7pxtu+VRr2l/ckYeeBn/jPwRRNLdITHXzziJPu4KVfDSUajr65\nW8He\r\n=l7Wj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDZo+9wQHBxVB9MMCNxZdcFWphWe61UJ8JcvylA3wdLdwIhAIz8XaaW94cnXtwzrhV9lmcNKs6ngFVzYyYAZ3TDJFet"}]},"_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"directories":{},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssh2_1.1.0_1622345158697_0.2902640186948071"},"_hasShrinkwrap":false},"1.2.0":{"name":"ssh2","version":"1.2.0","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"SSH2 client and server modules written in pure JavaScript for node.js","main":"./lib/index.js","engines":{"node":">=10.16.0"},"dependencies":{"asn1":"^0.2.4","bcrypt-pbkdf":"^1.0.2","cpu-features":"0.0.2","nan":"^2.14.2"},"devDependencies":{"@mscdex/eslint-config":"^1.0.0","eslint":"^7.0.0"},"optionalDependencies":{"cpu-features":"0.0.2","nan":"^2.14.2"},"scripts":{"install":"node install.js","rebuild":"node install.js","test":"node test/test.js","lint":"eslint --cache --report-unused-disable-directives --ext=.js .eslintrc.js examples lib test","lint:fix":"npm run lint -- --fix"},"keywords":["ssh","ssh2","sftp","secure","shell","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"git+ssh://git@github.com/mscdex/ssh2.git"},"_resolved":"","_integrity":"","_from":"https://github.com/mscdex/ssh2/tarball/v1.2.0","bugs":{"url":"https://github.com/mscdex/ssh2/issues"},"homepage":"https://github.com/mscdex/ssh2#readme","_id":"ssh2@1.2.0","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-vklfVRyylayGV/zMwVEkTC9kBhA3t264hoUHV/yGuunBJh6uBGP1VlzhOp8EsqxpKnG0xkLE1qHZlU0+t8Vh6Q==","shasum":"177a46bb12b7ef2b7bce28bdcbd7eae3cbc50045","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-1.2.0.tgz","fileCount":159,"unpackedSize":1050503,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhBpx9CRA9TVsSAnZWagAAbHMP+gIDynNStb9ponS9Xs7t\n/0EgChnVKR63O8JNDeRoJR12OImCstfSF/QdFFN0Dd8v1dgrKzenlhGyATPK\nHu+OwB3//CC+cOoLIlgm32VzM6gxDha922CPJ0du6hXPnmV+Ksd1P0CE5Kld\nqIxbYnt1sre+SJ8GH22rUxqKWFl0BuUGYL21U6Q47G1oIhCVA+yZB091VSnk\nRaf+CF22vexz+x+42ENQfmqyDO6QaFRKA8iFP9JzS37PZx7G04Q55r/kIR4A\n3Do6zt+ZIfLeFiUEpRSV3kShSviTE1fri5O5Rzl2db3eGIcAi2uNcIoe93Is\nYDSrwIU1xnrCUm5U7bX4A90uceMWQTSmJ8JD5MsEHtu5itRFWGIzBoLJQWdM\nGaJiProlWWbcY86JTXSWvVPLm59NRRCr18wnY3erx6br3Ja6DOQSTuqT1owb\n0rzWZul4FVsiYp1/0IWeOa0svkOHRZuspiMaPn64jMRtPr2EGT5TlgyX6YvP\n8KwaJ+tKOAYiWam+7mAsFL29n7fPbxf0MBX1pOBjXPBrXZsu7k2qq3PvhnEd\njoG3BR0yQcRPM417fzxU6sM3r9JiBct5oxNKYqEAFA7QMlOKz3GvVHUEVgSd\nTaEek3pOGWRqyUTHfKBGJSTbSQsd8l17wdAK/yI3oHMrnXZRqhgPt9Kp06jg\nXKd7\r\n=FHRc\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDXjd1UMWZpvFZ1/jPmzmddhKv6/qYerduZ7Y0odNOKHAIhALdJyZMoE6AQzIj/2TXka7hgeqcZZEJPyDOF+d4H975I"}]},"_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"directories":{},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssh2_1.2.0_1627823229324_0.44986426858580586"},"_hasShrinkwrap":false},"1.3.0":{"name":"ssh2","version":"1.3.0","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"SSH2 client and server modules written in pure JavaScript for node.js","main":"./lib/index.js","engines":{"node":">=10.16.0"},"dependencies":{"asn1":"^0.2.4","bcrypt-pbkdf":"^1.0.2","cpu-features":"0.0.2","nan":"^2.15.0"},"devDependencies":{"@mscdex/eslint-config":"^1.0.0","eslint":"^7.0.0"},"optionalDependencies":{"cpu-features":"0.0.2","nan":"^2.15.0"},"scripts":{"install":"node install.js","rebuild":"node install.js","test":"node test/test.js","lint":"eslint --cache --report-unused-disable-directives --ext=.js .eslintrc.js examples lib test","lint:fix":"npm run lint -- --fix"},"keywords":["ssh","ssh2","sftp","secure","shell","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"git+ssh://git@github.com/mscdex/ssh2.git"},"_resolved":"","_integrity":"","_from":"https://github.com/mscdex/ssh2/tarball/v1.3.0","bugs":{"url":"https://github.com/mscdex/ssh2/issues"},"homepage":"https://github.com/mscdex/ssh2#readme","_id":"ssh2@1.3.0","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-OjBQ5FR+ClYav3fRnvkhycmd5co5qEfofBaZEqVO3I4tKJLZqu+Ku4LN4nJSckjhqQnomqBqlCdvD3iGV+6isA==","shasum":"bcd42ef7796250268b6ff6b0bbff2697029e91b9","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-1.3.0.tgz","fileCount":159,"unpackedSize":1051759,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhHEjuCRA9TVsSAnZWagAAPFMP/Rt5hNgz8qs9cZ1eEy2G\nXed1mfzvLKvNY9m+rKj7k49MhPRU62Y8P4t56y2QvFqzDNE6BnOOLCV/RJm3\nxS5yY8CFWEKHfxMaNh39PRJp+dfk9NgZYaFhvpbiGQnQ++7nCj0xIDEO0OQB\ntm8pGyTqujbF3r01VV30d5AIit3Qy9eC+EfquIw+btOumOZi4xxsQBm/gQPa\nipF0klhuyj2ke+a2/7EqleCtKs6P+T0seNalZjLDYbuw1D0q1gBPIUlSJG8g\n6nj1KcJbgzoc9EDF1zgFOh4KoneBO3s5rfBrc0cyRx9gVL77ScQ5nVAhY6Fl\nOUtMvgutwfrajTTe9Vb14m3vttkItklwwNElMf7rc6U4KY8j3WTHETfE2inT\nuHIh89CbnxI7N/rBOSX3geSmnAHcqNYOBUM5R8HEzdHrx/R2FvVvez8BISrK\nEodmP0ftGh+kdFcnHzFVyBFoNBzHLR0Fttrh6NXE52YoxhKsa2AGfIil+d8z\nnwYEUPTrzD+I1fGARO3nZYV8G/Gjb7YNEoZ8o8kvMdteQ+7eHpxRLJfycwFV\nL+J9Nj4fSpln5ToeOfwayoRgZpRzyLgC8FhpZSkoMp5HGO2xYk1Q8O6G41kk\nI2dQq8VOE5j0KEVmErtaF7AkbAlZtugtwdUXwsDnv8x7/vG3X4o+gbXKQ09X\nPfU4\r\n=WbHA\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGe+PQb1gQEgro76CSbXjhQvXzN92tpoGUS0VPuzdGFuAiBjEfHxAeVmmMOqAx8p0z+CREx/u2QmCUw3R76hv6QNow=="}]},"_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"directories":{},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssh2_1.3.0_1629243630713_0.32143611968949415"},"_hasShrinkwrap":false},"1.4.0":{"name":"ssh2","version":"1.4.0","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"SSH2 client and server modules written in pure JavaScript for node.js","main":"./lib/index.js","engines":{"node":">=10.16.0"},"dependencies":{"asn1":"^0.2.4","bcrypt-pbkdf":"^1.0.2","cpu-features":"0.0.2","nan":"^2.15.0"},"devDependencies":{"@mscdex/eslint-config":"^1.0.0","eslint":"^7.0.0"},"optionalDependencies":{"cpu-features":"0.0.2","nan":"^2.15.0"},"scripts":{"install":"node install.js","rebuild":"node install.js","test":"node test/test.js","lint":"eslint --cache --report-unused-disable-directives --ext=.js .eslintrc.js examples lib test","lint:fix":"npm run lint -- --fix"},"keywords":["ssh","ssh2","sftp","secure","shell","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"git+ssh://git@github.com/mscdex/ssh2.git"},"_resolved":"","_integrity":"","_from":"https://github.com/mscdex/ssh2/tarball/v1.4.0","bugs":{"url":"https://github.com/mscdex/ssh2/issues"},"homepage":"https://github.com/mscdex/ssh2#readme","_id":"ssh2@1.4.0","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-XvXwcXKvS452DyQvCa6Ct+chpucwc/UyxgliYz+rWXJ3jDHdtBb9xgmxJdMmnIn5bpgGAEV3KaEsH98ZGPHqwg==","shasum":"e32e8343394364c922bad915a5a7fecd67d0f5c5","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-1.4.0.tgz","fileCount":159,"unpackedSize":1056952,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhM5HKCRA9TVsSAnZWagAAvyIQAJpSF1p2suc+1kpQ07zP\n7PFJulTl/59fcWyeJ5kiMvk1xSjOOmM9wk1lgWfYuXuCf0XtlWInDTQ7AhpQ\nJW8OxWpJ3XR1ru3IVOBH/b/qwaIhJEmPoBDUfExJp1noW7Jcg/9W0C+aisle\npPw32QiHNoVYzilfSHTKWXLe7PLGzcAaxcOUYnjf+j8fw3ivu0BJSLsY2CbK\ngYE59TcsL33Y1kR8/AoPvJzeqxmawLN9t6CNc6e5WOFSW/mBTSka3AQA0r6K\n5QGv2NRgjXRs3bauLuRNiTl477TgXN4GZiIFgfUt+Kz7/ZvyEi9O97otPk41\nQGS2qmBOZdkdEmBjCviSQ5eGLXfJ20RYR8gyYNBqSZsXe0uZJGxQTExbeK5F\nk6090PKQ//a+XdTKaEfhdiK0Ci2dY4Sn0UpakdO9hdX/mbVowS2G2OX3rnnw\n1AfQJp/A/Gq/He0+5Lpk38OtqNOyMs+bVnwcKDsSehIWkY54yQVQ6o6x/RYb\nrcFQm0+wqf/VIamVknqEkkVg1Zv7T/8u2wKiVap/+G+GgJyisiw3U6p/CMvT\nSjpLT5mt78CPECtm/Mo9OVhivDCzX1IrzzAZ/Q10fmxpXXMhOCtPJynwLgeC\nIhGkEeXcIPVivOl3M9DnanjOc6QbkdSoGzJzYV0nRmyv4AhG737tKsewFK2G\nihj0\r\n=yu2z\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAjbAnH/5yCrg++/q2JvBoV9ExZwaX/uiUcfl4ug/XXkAiA71ZhsR5zWAf2FWggEkZOtxJYcq/85KtN1MTVaHllU0w=="}]},"_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"directories":{},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssh2_1.4.0_1630769610678_0.6607701362985858"},"_hasShrinkwrap":false},"1.5.0":{"name":"ssh2","version":"1.5.0","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"SSH2 client and server modules written in pure JavaScript for node.js","main":"./lib/index.js","engines":{"node":">=10.16.0"},"dependencies":{"asn1":"^0.2.4","bcrypt-pbkdf":"^1.0.2","cpu-features":"0.0.2","nan":"^2.15.0"},"devDependencies":{"@mscdex/eslint-config":"^1.0.0","eslint":"^7.0.0"},"optionalDependencies":{"cpu-features":"0.0.2","nan":"^2.15.0"},"scripts":{"install":"node install.js","rebuild":"node install.js","test":"node test/test.js","lint":"eslint --cache --report-unused-disable-directives --ext=.js .eslintrc.js examples lib test","lint:fix":"npm run lint -- --fix"},"keywords":["ssh","ssh2","sftp","secure","shell","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"git+ssh://git@github.com/mscdex/ssh2.git"},"_resolved":"","_integrity":"","_from":"https://github.com/mscdex/ssh2/tarball/v1.5.0","bugs":{"url":"https://github.com/mscdex/ssh2/issues"},"homepage":"https://github.com/mscdex/ssh2#readme","_id":"ssh2@1.5.0","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-iUmRkhH9KGeszQwDW7YyyqjsMTf4z+0o48Cp4xOwlY5LjtbIAvyd3fwnsoUZW/hXmTCRA3yt7S/Jb9uVjErVlA==","shasum":"4dc559ba98a1cbb420e8d42998dfe35d0eda92bc","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-1.5.0.tgz","fileCount":159,"unpackedSize":1058096,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh275kCRA9TVsSAnZWagAAxUYP/isfZAZz7gwYe2diMnyV\nYJrfqGCmsyLUh5l8MVBuAR57tOMB17waEi1CHxUDA5zzau1O7H2nOzUeezMa\nYk3ljc1tk/7Mn4wxAkDLLwHrDUc4Cu6R/al/wUYpF2ro1xBsRvQco2YSjXrk\ntQ3TXl+rtVyFhQI9rt14fmgx4qzlneX0g7ZmOwtb5hA5E+6AXaclG0sSNdSP\nebFfqlL83KTMInrXhLgb62Mqg6OzatxRirhYb5kxqJ4bOZDnL0qduYe4GGIN\nUTAiHsdbYUS9IM4qKQ+nKcgQJABDYYoBWqxeFbgiNytL8CNi/zcngvkhRU31\ni0ONKjOlbdm0kVAAIMeXndkRlRJU130QcabRQaH7Kco5YiwSc6lO2k4AWZv1\nLVLp/YIKhQ9CyhbYtZ5bIrCm7B7ZqZBqGHMLkSFslgcgTsxkUAV9+fFpvRpK\npjN53I6YFacUjEAk7m4mrI5B8rxLmgEV8ZGtuGKRdfcG0xUKYq1bSUMjGHRA\nsJiiXm37NQi4cZPtZ2+T9sfk9soYovr4flpnu0Ea01k8UAoMiDJCabDfQMDG\nXY9tY4Z8AGRG16qOGsJVSdbo5NfVZO9aW6qrhXnzLpHnfnYViGIQ37AqYfEg\nTLRh2bVhSymmrgg/CoPDGCwzHyHh4D3KBp6CsWqf80BsIZeBU0UYt/zJhlbm\na/7u\r\n=SMeB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDC/ysoyeWctpOVN1+/NIMLyXVtSf4FZagC4WfhHGqdsgIgAPLzrOLZDdCXt3VvAU+1NGatGIKKkl2D7qVOB51VqYw="}]},"_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"directories":{},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssh2_1.5.0_1633901882373_0.4285623791413713"},"_hasShrinkwrap":false},"1.6.0":{"name":"ssh2","version":"1.6.0","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"SSH2 client and server modules written in pure JavaScript for node.js","main":"./lib/index.js","engines":{"node":">=10.16.0"},"dependencies":{"asn1":"^0.2.4","bcrypt-pbkdf":"^1.0.2","cpu-features":"0.0.2","nan":"^2.15.0"},"devDependencies":{"@mscdex/eslint-config":"^1.0.0","eslint":"^7.0.0"},"optionalDependencies":{"cpu-features":"0.0.2","nan":"^2.15.0"},"scripts":{"install":"node install.js","rebuild":"node install.js","test":"node test/test.js","lint":"eslint --cache --report-unused-disable-directives --ext=.js .eslintrc.js examples lib test","lint:fix":"npm run lint -- --fix"},"keywords":["ssh","ssh2","sftp","secure","shell","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"git+ssh://git@github.com/mscdex/ssh2.git"},"_resolved":"","_integrity":"","_from":"https://github.com/mscdex/ssh2/tarball/v1.6.0","bugs":{"url":"https://github.com/mscdex/ssh2/issues"},"homepage":"https://github.com/mscdex/ssh2#readme","_id":"ssh2@1.6.0","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-lxc+uvXqOxyQ99N2M7k5o4pkYDO5GptOTYduWw7hIM41icxvoBcCNHcj+LTKrjkL0vFcAl+qfZekthoSFRJn2Q==","shasum":"61aebc3a6910fe488f9c85cd8355bdf8d4724e05","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-1.6.0.tgz","fileCount":159,"unpackedSize":1058925,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh92SQCRA9TVsSAnZWagAAojYQAIviTzS9+wxkMC28Bdg9\npXYe8Q63tvt2576aWrzEbtq75w39CFBHkxct3QBSNjSJzVjD8WCLG2fy0PUX\nFDF8y9CGMU7CPYRye6EJrO37/3LcTGfX/kAfmpmdMr90MDzcxAxJGCYewZa7\nkr/0U2QTr1vo4NlJelmVc+pGEU8o58rI2XrjmhCX7YH2xJmKwJ5RC4/V+KOB\nrbLHI6DSWsKby2PtsUC+gSjOAqNULmQBe19hcw+5wAyDuENkuyKxkWd9QBS+\nskbyd12Q26CxxvmWTS5pJZXAhDs9BHAFrRb5XSI27W1sZZN/LwsUAKNTYKyx\nLDOVleysLAeAcsBob4jsiq3JR8FkuePYbwv4nQQp7LDzH/S3pm3Wdhv+l6aT\nC8woZZ/1zj4LJ2d87NZt0IcaMOuH5V2MWM+yoQsdGk4ar3LZnkM8oi0PVIBh\nP9KrMtAmAtzgiDQ6sy6b5PBQYG1fCzEbAVwgwyuAO0NOlvWoQxXfJqIuyw7P\nmSQy2BhNRp/UP8o0DxH3Q6Kzzrq0wpBXcVTMZm9ZgDdHf+D3SS6IJCxpQ3ld\nsxtbk9zLm+LurNEQTM4kfQLM618blingSOsWDO2Ol6m36UmPUyNrkkJS5uvP\nzoJItW7XOV/5252Mek6tBdyZsgYAnn4Svu+QU07XilcVcnMYHZPtb7sxAPOu\nYK9K\r\n=XNYK\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBS65PWLXJVmTFMtm4XNfSQfnhx3oAgvSS1rk/yf2zd/AiEA5GUw/wR2q6OS5iCwfDLPOIGEm4i/ft3X/isMwGyN+GI="}]},"_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"directories":{},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssh2_1.6.0_1643603088276_0.9868542586418392"},"_hasShrinkwrap":false},"1.7.0":{"name":"ssh2","version":"1.7.0","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"SSH2 client and server modules written in pure JavaScript for node.js","main":"./lib/index.js","engines":{"node":">=10.16.0"},"dependencies":{"asn1":"^0.2.4","bcrypt-pbkdf":"^1.0.2","cpu-features":"0.0.2","nan":"^2.15.0"},"devDependencies":{"@mscdex/eslint-config":"^1.0.0","eslint":"^7.0.0"},"optionalDependencies":{"cpu-features":"0.0.2","nan":"^2.15.0"},"scripts":{"install":"node install.js","rebuild":"node install.js","test":"node test/test.js","lint":"eslint --cache --report-unused-disable-directives --ext=.js .eslintrc.js examples lib test","lint:fix":"npm run lint -- --fix"},"keywords":["ssh","ssh2","sftp","secure","shell","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"git+ssh://git@github.com/mscdex/ssh2.git"},"_resolved":"","_integrity":"","_from":"https://github.com/mscdex/ssh2/tarball/v1.7.0","bugs":{"url":"https://github.com/mscdex/ssh2/issues"},"homepage":"https://github.com/mscdex/ssh2#readme","_id":"ssh2@1.7.0","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-u1gdFfqKV1PTGR2szS5FImhFii40o+8FOUpg1M//iimNaS4BkTyUVfVdoydXS93M1SquOU02Z4KFhYDBNqQO+g==","shasum":"7aa30f2a5266f0ffd93944621b4eb1f403330fd4","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-1.7.0.tgz","fileCount":159,"unpackedSize":1062246,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiI5BHACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrIkQ//aw1CRwK01d4AfGEswMMjfNohX9ElGQMaMmAipxegmMq3WYzw\r\njk2jqyv7Ubzrs3qsX4ECA6OLj/dUOGVs/dh9VPBlYX5guReNSbTuSMZ0PeeV\r\nQ8iDPD1sLnTYtKJfTfpG23G7VTOg/s70fTcePazia15ZyHfJnf8scD4NKor3\r\niLT0GwEOStkuldcf0xUDJyCl4ZmAlVqg5Bw2Ver8evsFISeu22kMscgWp3Fh\r\ncRXUuXF55JN/1v8iMfaJGYw2ZeQQx3sH10Hmac9jRUtJI95Ubv4vF0zex8Jg\r\n0i/TQKTg45T6vG5ballyTDfkKZpEshJZj3o8I6m4gVeZ/Om8R9vn0x0gMCYj\r\nqUgHqbrFX7en+mHo3MSKU+TpkmNAPS4g+pDj5FfuOQgqZDH1nq5sVZypQWsB\r\ngJ4SOfgupAuSMvnsHl2V5FrUsVAKcXJzi9lJAFmpdvEqdmQZM7N0Uu8tp/GS\r\nQcfMVXmh1oUBHtZW7/9edLry7z0swvwr/ccFoNbA60cmjlu6cT9RXbW+6hj/\r\ncWBhv/vxcw1PptdqIaFCy1vtbg5Ip7j2ZitkFp18dSKUzM29Djs0LUv38CM4\r\n6DBwlEKFTB4fqjHVWL04NagtNbcwEY6lV2gHjy1Oqz9RtyaUozKLxKKXH9UM\r\nHsF9Uhhc1c4u1W1Z44MBeIbnlJWjaZTERYg=\r\n=aDvO\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDQLVonTvdXRKbYydb77QMeqVfM9zEUsMEzE3wKbQvfPAIgSqpNJ63cY9aL66nTu76oIgxNOE5/Cev4MJGheUhD0lw="}]},"_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"directories":{},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssh2_1.7.0_1646497863319_0.09499012197728773"},"_hasShrinkwrap":false},"1.8.0":{"name":"ssh2","version":"1.8.0","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"SSH2 client and server modules written in pure JavaScript for node.js","main":"./lib/index.js","engines":{"node":">=10.16.0"},"dependencies":{"asn1":"^0.2.4","bcrypt-pbkdf":"^1.0.2","cpu-features":"0.0.3","nan":"^2.15.0"},"devDependencies":{"@mscdex/eslint-config":"^1.0.0","eslint":"^7.0.0"},"optionalDependencies":{"cpu-features":"0.0.3","nan":"^2.15.0"},"scripts":{"install":"node install.js","rebuild":"node install.js","test":"node test/test.js","lint":"eslint --cache --report-unused-disable-directives --ext=.js .eslintrc.js examples lib test","lint:fix":"npm run lint -- --fix"},"keywords":["ssh","ssh2","sftp","secure","shell","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"git+ssh://git@github.com/mscdex/ssh2.git"},"_resolved":"","_integrity":"","_from":"https://github.com/mscdex/ssh2/tarball/v1.8.0","bugs":{"url":"https://github.com/mscdex/ssh2/issues"},"homepage":"https://github.com/mscdex/ssh2#readme","_id":"ssh2@1.8.0","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-NVIRkIwJvWl+mcRozp+EBzHMVCcbDKBea64ToPdZEk43yAVGwmfqYZRPFRnnvGjsKC34wYCmiupTcKgCVNVNNg==","shasum":"97a9bfa3348412a2ed266265ddb351746b6edfc8","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-1.8.0.tgz","fileCount":159,"unpackedSize":1065574,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiO/aAACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp6Kw/8D3CzeI4yJuj+qPDYzjynoUgSXh+k2Q81OuXGCh1BFmaWKs7c\r\nGmfAyHkGXNwVQ0PuaX4T7cvs8UTOkfE0/rotNGI9n0BJNEcr1lO8ZBGGlLEp\r\nus3NAZbdeNmgB0BG7LPUPUNmTEaOCxZfXRBDFKsIf5D+O9jiLi45X76k2v/S\r\nis83RjwioVydseXSyE728BKG4BObrRWwl4d6q9bLmERf6q8zKAcxNIshm00e\r\nQocpPDVL+vcCOZ8bHZuQQ5CZqdk8mtSVYfmazKVoITZeHneYY66oSBPFlNhd\r\nNbvZ4Cf78czlu/r1Krxzjbfvl8xvGOXDbAQdNtlgXhRMxVhtxXKEhR9RRZ43\r\ndTvlLPN1atj7iN9V5X65lCNuPbT0BZxbKoJfEo2a9QtPSPid+nqVp0oit9HU\r\nljpO+/1nVEkA5qKnPL25Axxssfhie5oC5A3HtslKjBi4YD4Bt3J9h2rzhw5n\r\nJ1zjcsSHgEappuDNkhwVYSkHqYQ2Yj7N5Ruh1BBBW0Qql9Chex77/BdFeYOL\r\nuWW71N3saWO/TjEfo8PV8tTgC5wOu/8g50L0j9AuLnpZE+Z8nJfjwuM5OGYP\r\ncL3JyNEyc9muqTyE00GPhFS+sBa6AWA459KWkYibiammlGBNwt5/QME0f/An\r\nhp4Bc1givIB7fkLtl+hHg6sSYnJHdGvIUXI=\r\n=9ksI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDw5n2KhaJELculBdOR/wkcdOKUf+qHk7vopxJfNUD1vgIgN+0SEvRRmvq6cHFNIAKIlMS0SC0eb02V44A5e/0wlnw="}]},"_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"directories":{},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssh2_1.8.0_1648096896001_0.9659134407135976"},"_hasShrinkwrap":false},"1.9.0":{"name":"ssh2","version":"1.9.0","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"SSH2 client and server modules written in pure JavaScript for node.js","main":"./lib/index.js","engines":{"node":">=10.16.0"},"dependencies":{"asn1":"^0.2.4","bcrypt-pbkdf":"^1.0.2","cpu-features":"~0.0.4","nan":"^2.15.0"},"devDependencies":{"@mscdex/eslint-config":"^1.0.0","eslint":"^7.0.0"},"optionalDependencies":{"cpu-features":"~0.0.4","nan":"^2.15.0"},"scripts":{"install":"node install.js","rebuild":"node install.js","test":"node test/test.js","lint":"eslint --cache --report-unused-disable-directives --ext=.js .eslintrc.js examples lib test","lint:fix":"npm run lint -- --fix"},"keywords":["ssh","ssh2","sftp","secure","shell","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"git+ssh://git@github.com/mscdex/ssh2.git"},"_resolved":"","_integrity":"","_from":"https://github.com/mscdex/ssh2/tarball/v1.9.0","bugs":{"url":"https://github.com/mscdex/ssh2/issues"},"homepage":"https://github.com/mscdex/ssh2#readme","_id":"ssh2@1.9.0","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-rhhIZT0eMPvCBSOG8CpqZZ7gre2vgXaIqmb3Jb83t88rjsxIsFzDanqBJM9Ns8BmP1835A5IbQ199io4EUZwOA==","shasum":"3ab8330cec2bb6ba3061052fefb25bc19e36f176","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-1.9.0.tgz","fileCount":159,"unpackedSize":1065575,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEYQmOAIZiJnPYNFLEmAAmR0L/S1q110U+mU6L8Z/RhAAiEA81d7An+A0+l1P3I6blA8lKhTDcoP8+tFdXLDmdH/XSE="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiRyEaACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr7Wg//YzsgmsEQpAksna+lTKc1l9IyqWtzY6ec1QyEqL8CpBthIf4x\r\nvI+h02PXCyk/oXRlcUC8JtGu6hFksdIG1HkLJcXHmFlzWMgz8PYl+9kPyhXp\r\nfryBUZnbUanEb2CrEzPykFrKb1FvL9Ak7jSlYAst4q9nFS9bBh0BeBp6M+Ge\r\nlS9Ayy/tzAWQCZCuGZ81BKztlFplZwudCKnYwGCyldaOlgkDjSW7hIhJ4j+z\r\nX5L4VxGFvbdk4tTp9pen2Csa0kxC5Xt3EwBNpr1FE2GbUod3oVcXYC01SGhh\r\nDeSFsZI6MSoHqUH7mh2qVpoYp+7FC45eFOFCJJUn3yJctOPov5J7gnXgI359\r\nYb5D3JJz5te1Ec7y0xrq7pLnRuJ0TWDp7Z00J4B6YQyrPugScbF0+Rrf+m3z\r\nwimWIzQnSFLOt3ftFwHkFl0XuxMlC5lBltE3UcViAPgnH4WvFZuarWT+3OSm\r\nliv04nXbeuDGWWGCLVIpkhSEJWpNDlo87i+MrvocGbc6PH4ad49Dr83SNdx1\r\nAKXUCx7kRyPlsjpUhjMG8jtCe0e9Q20YObKsfmku0zwBV8Kt4Q++X2VwZZBE\r\n7sOTNXCdcEQZ/Rkn5U89ZRQjiMGTVmXLfgjf24VR1CbARmttFFQfCgAvOG5J\r\ntUF18r0tbIzuHsupQQP9ac9MNfyMckvlMw8=\r\n=OnR9\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"directories":{},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssh2_1.9.0_1648828698439_0.28437911164362073"},"_hasShrinkwrap":false},"1.10.0":{"name":"ssh2","version":"1.10.0","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"SSH2 client and server modules written in pure JavaScript for node.js","main":"./lib/index.js","engines":{"node":">=10.16.0"},"dependencies":{"asn1":"^0.2.4","bcrypt-pbkdf":"^1.0.2","cpu-features":"~0.0.4","nan":"^2.15.0"},"devDependencies":{"@mscdex/eslint-config":"^1.0.0","eslint":"^7.0.0"},"optionalDependencies":{"cpu-features":"~0.0.4","nan":"^2.15.0"},"scripts":{"install":"node install.js","rebuild":"node install.js","test":"node test/test.js","lint":"eslint --cache --report-unused-disable-directives --ext=.js .eslintrc.js examples lib test","lint:fix":"npm run lint -- --fix"},"keywords":["ssh","ssh2","sftp","secure","shell","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"git+ssh://git@github.com/mscdex/ssh2.git"},"_resolved":"","_integrity":"","_from":"https://github.com/mscdex/ssh2/tarball/v1.10.0","bugs":{"url":"https://github.com/mscdex/ssh2/issues"},"homepage":"https://github.com/mscdex/ssh2#readme","_id":"ssh2@1.10.0","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-OnKAAmf4j8wCRrXXZv3Tp5lCZkLJZtgZbn45ELiShCg27djDQ3XFGvIzuGsIsf4hdHslP+VdhA9BhUQdTdfd9w==","shasum":"e05d870dfc8e83bc918a2ffb3dcbd4d523472dee","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-1.10.0.tgz","fileCount":159,"unpackedSize":1071730,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDbgcjTNbm2ELvZJ+I4/IeqXfIorhcHPi+qmOFduSRcDgIhAOAUEK+JdRd/QydGFAziZjTlvXGdPPLaQb4ynLkKTxY6"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiadmTACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq+gQ/6AjWZpHm1Y3ybNH6apfKEtvDg1tNCucvQIWSz1yO2T7GyWgeY\r\nNbc0NY63UBg4fSe1o0NX2AIVyeV1oc06gvIjghxyPwIYvctwFiIps5WnJz7D\r\njWOgGK8UOp/E1/SHNEpqrhRtntBNVths0fvyje5qL1CfztfpIDPgupsAm1ZO\r\ndsVyWuPOQTHuBsRHZDXD9779zAeW2hP9UVnW57OdNSmMxIS/ZQWyoXpPB5P5\r\nu1al4gt6Fw1nNq5Ky523Hu+E2IN5hWiMlxj5R2zPXBcSo8k6P2qY/OSx7Cd8\r\n9pijFts3e4rieifFPmuAFS/kme0nrmglTAoAV9OLfyLZAmISdhsJHItbRL78\r\nBA6bj0hW0eeQ9YfaBt6KyL8XNbgV+pQ6tNTUAoFY59IS5ZHAzwaJ5XcrGUxn\r\nOHcYRHrydxRMjfwlvNt1kzFugII3KYX/zsIUdfQxPEj1ynufV3iHZrFgzTq+\r\nTsyfJkQ+Mq/KdKauRwkUi4wG/L98F8W4MObfpRuhChPAq6wCno+sopdmIOPa\r\nTokYEkxzSBXybi3lBe/dtX+pC+A1IC/6G0OXsvhOvi3qDOslCKpQvGMRlYJE\r\nqN7wkdtfM+wAdsZORZImjZrKplvHs612m8DEwuTkJlo0fxG0eHrqYHrK6mpQ\r\ne3StyYcdKMt+fGEOyFNcli26YQKlpdyLEgE=\r\n=ZcD7\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"directories":{},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssh2_1.10.0_1651104147309_0.27157462884885253"},"_hasShrinkwrap":false},"1.11.0":{"name":"ssh2","version":"1.11.0","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"SSH2 client and server modules written in pure JavaScript for node.js","main":"./lib/index.js","engines":{"node":">=10.16.0"},"dependencies":{"asn1":"^0.2.4","bcrypt-pbkdf":"^1.0.2","cpu-features":"~0.0.4","nan":"^2.16.0"},"devDependencies":{"@mscdex/eslint-config":"^1.1.0","eslint":"^7.0.0"},"optionalDependencies":{"cpu-features":"~0.0.4","nan":"^2.16.0"},"scripts":{"install":"node install.js","rebuild":"node install.js","test":"node test/test.js","lint":"eslint --cache --report-unused-disable-directives --ext=.js .eslintrc.js examples lib test","lint:fix":"npm run lint -- --fix"},"keywords":["ssh","ssh2","sftp","secure","shell","exec","remote","client"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],"repository":{"type":"git","url":"git+ssh://git@github.com/mscdex/ssh2.git"},"_resolved":"","_integrity":"","_from":"https://github.com/mscdex/ssh2/tarball/v1.11.0","bugs":{"url":"https://github.com/mscdex/ssh2/issues"},"homepage":"https://github.com/mscdex/ssh2#readme","_id":"ssh2@1.11.0","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-nfg0wZWGSsfUe/IBJkXVll3PEZ//YH2guww+mP88gTpuSU4FtZN7zu9JoeTGOyCNx2dTDtT9fOpWwlzyj4uOOw==","shasum":"ce60186216971e12f6deb553dcf82322498fe2e4","tarball":"http://localhost:4545/npm/registry/ssh2/ssh2-1.11.0.tgz","fileCount":159,"unpackedSize":1071730,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIF4xMF2El19Bs0L2ZuH8xFLnAnpo2sbd9UThHPmOGIsoAiBN6qaStAf9FIoBkpdFpzBo54xSpo+S2CBeJfKaqMrskw=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJipNBaACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqnkBAAmYu3GLZaDnQpRUn0om5QTbNgTCulnodk7WXymxcglvMxDh9w\r\nyCV0hizUEOcoQ3ODm8rUihm+R1PyNQy2ud0nrSdZW7fjAiyaKDaRbicSD18r\r\nC5QDNRVIApAEYHT8Nh9WlPcWr/TcQITjqtp7CYI5DEw+Co7vVV8Q4f3DAL6X\r\niEtiQ0+QoxeeLu+kMKn08LLsYAKyeeRNj/AzV+VkiPn5eNOO9HUtDKaYtbH8\r\nFuUDUg2Y+eQnwZfNa62pYPfnJpTjeoQY38YQ7QzjG2w9S+GgCdWM6OUnyLzt\r\nuzt3sycY48739pMn7/J3TRyLhnMrxEB6QNlaL5FNPgFAaRiJWr7r9ePYCQ+E\r\n5QVm5EJX0YVpo1bZUFFWz/DXHYOsYXDFh8mrUHw7C2JPxrxPozS/vAPb4aaK\r\n9j+ST1QNZOBuG6L18PXqqJhx3MZzEI159IwYwx7VhyMz81TkkO8/96sRrRdt\r\nPACHnh+bRgS0mjCYYnedcZtXTj/TMFupa/tyTTp5FK2WSDLPkS7YyrUaiZM5\r\nWw7e4jAqf3G/tZXWHHCpl6om1Kt5NwhUz36eEhLYOG9wGf9PYcLBCA8LtYMM\r\nt618PT3k2tiuVT4dW5ceX8TcJ18IrrWenJ3dlatjHFuDObTMDJ2ueUjfv+rr\r\n3JhFmVNvBvENZ20k5tDIF/JluxsXAXesnc0=\r\n=U5q5\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"directories":{},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssh2_1.11.0_1654968410446_0.7339176239726213"},"_hasShrinkwrap":false}},"readme":"# Description\n\nSSH2 client and server modules written in pure JavaScript for [node.js](http://nodejs.org/).\n\nDevelopment/testing is done against OpenSSH (8.7 currently).\n\nChanges (breaking or otherwise) in v1.0.0 can be found [here](https://github.com/mscdex/ssh2/issues/935).\n\n# Table of Contents\n\n* [Requirements](#requirements)\n* [Installation](#installation)\n* [Client Examples](#client-examples)\n * [Execute 'uptime' on a server](#execute-uptime-on-a-server)\n * [Start an interactive shell session](#start-an-interactive-shell-session)\n * [Send a raw HTTP request to port 80 on the server](#send-a-raw-http-request-to-port-80-on-the-server)\n * [Forward local connections to port 8000 on the server to us](#forward-local-connections-to-port-8000-on-the-server-to-us)\n * [Get a directory listing via SFTP](#get-a-directory-listing-via-sftp)\n * [Connection hopping](#connection-hopping)\n * [Forward remote X11 connections](#forward-remote-x11-connections)\n * [Dynamic (1:1) port forwarding using a SOCKSv5 proxy (using `socksv5`)](#dynamic-11-port-forwarding-using-a-socksv5-proxy-using-socksv5)\n * [Make HTTP(S) connections easily using a custom http(s).Agent](#make-https-connections-easily-using-a-custom-httpsagent)\n * [Invoke an arbitrary subsystem (e.g. netconf)](#invoke-an-arbitrary-subsystem)\n* [Server Examples](#server-examples)\n * [Password and public key authentication and non-interactive (exec) command execution](#password-and-public-key-authentication-and-non-interactive-exec-command-execution)\n * [SFTP-only server](#sftp-only-server)\n* [API](#api)\n * [Client](#client)\n * [Client events](#client-events)\n * [Client methods](#client-methods)\n * [Server](#server)\n * [Server events](#server-events)\n * [Server methods](#server-methods)\n * [Connection events](#connection-events)\n * [Connection methods](#connection-methods)\n * [Session events](#session-events)\n * [Channel](#channel)\n * [Pseudo-TTY settings](#pseudo-tty-settings)\n * [Terminal modes](#terminal-modes)\n * [HTTPAgent](#httpagent)\n * [HTTPAgent methods](#httpagent-methods)\n * [HTTPSAgent](#httpsagent)\n * [HTTPSAgent methods](#httpsagent-methods)\n * [Utilities](#utilities)\n\n## Requirements\n\n* [node.js](http://nodejs.org/) -- v10.16.0 or newer\n * node v12.0.0 or newer for Ed25519 key support\n* (Optional) [`cpu-features`](https://github.com/mscdex/cpu-features) is set as an optional package dependency (you do not need to install it explicitly/separately from `ssh2`) that will be automatically built and used if possible. See the project's documentation for its own requirements.\n * This addon is currently used to help generate an optimal default cipher list\n\n## Installation\n\n npm install ssh2\n\n## Client Examples\n\n### Execute 'uptime' on a server\n\n```js\nconst { readFileSync } = require('fs');\n\nconst { Client } = require('ssh2');\n\nconst conn = new Client();\nconn.on('ready', () => {\n console.log('Client :: ready');\n conn.exec('uptime', (err, stream) => {\n if (err) throw err;\n stream.on('close', (code, signal) => {\n console.log('Stream :: close :: code: ' + code + ', signal: ' + signal);\n conn.end();\n }).on('data', (data) => {\n console.log('STDOUT: ' + data);\n }).stderr.on('data', (data) => {\n console.log('STDERR: ' + data);\n });\n });\n}).connect({\n host: '192.168.100.100',\n port: 22,\n username: 'frylock',\n privateKey: readFileSync('/path/to/my/key')\n});\n\n// example output:\n// Client :: ready\n// STDOUT: 17:41:15 up 22 days, 18:09, 1 user, load average: 0.00, 0.01, 0.05\n//\n// Stream :: exit :: code: 0, signal: undefined\n// Stream :: close\n```\n\n### Start an interactive shell session\n\n```js\nconst { readFileSync } = require('fs');\n\nconst { Client } = require('ssh2');\n\nconst conn = new Client();\nconn.on('ready', () => {\n console.log('Client :: ready');\n conn.shell((err, stream) => {\n if (err) throw err;\n stream.on('close', () => {\n console.log('Stream :: close');\n conn.end();\n }).on('data', (data) => {\n console.log('OUTPUT: ' + data);\n });\n stream.end('ls -l\\nexit\\n');\n });\n}).connect({\n host: '192.168.100.100',\n port: 22,\n username: 'frylock',\n privateKey: readFileSync('/path/to/my/key')\n});\n\n// example output:\n// Client :: ready\n// STDOUT: Last login: Sun Jun 15 09:37:21 2014 from 192.168.100.100\n//\n// STDOUT: ls -l\n// exit\n//\n// STDOUT: frylock@athf:~$ ls -l\n//\n// STDOUT: total 8\n//\n// STDOUT: drwxr-xr-x 2 frylock frylock 4096 Nov 18 2012 mydir\n//\n// STDOUT: -rw-r--r-- 1 frylock frylock 25 Apr 11 2013 test.txt\n//\n// STDOUT: frylock@athf:~$ exit\n//\n// STDOUT: logout\n//\n// Stream :: close\n```\n\n### Send a raw HTTP request to port 80 on the server\n\n```js\nconst { Client } = require('ssh2');\n\nconst conn = new Client();\nconn.on('ready', () => {\n console.log('Client :: ready');\n conn.forwardOut('192.168.100.102', 8000, '127.0.0.1', 80, (err, stream) => {\n if (err) throw err;\n stream.on('close', () => {\n console.log('TCP :: CLOSED');\n conn.end();\n }).on('data', (data) => {\n console.log('TCP :: DATA: ' + data);\n }).end([\n 'HEAD / HTTP/1.1',\n 'User-Agent: curl/7.27.0',\n 'Host: 127.0.0.1',\n 'Accept: */*',\n 'Connection: close',\n '',\n ''\n ].join('\\r\\n'));\n });\n}).connect({\n host: '192.168.100.100',\n port: 22,\n username: 'frylock',\n password: 'nodejsrules'\n});\n\n// example output:\n// Client :: ready\n// TCP :: DATA: HTTP/1.1 200 OK\n// Date: Thu, 15 Nov 2012 13:52:58 GMT\n// Server: Apache/2.2.22 (Ubuntu)\n// X-Powered-By: PHP/5.4.6-1ubuntu1\n// Last-Modified: Thu, 01 Jan 1970 00:00:00 GMT\n// Content-Encoding: gzip\n// Vary: Accept-Encoding\n// Connection: close\n// Content-Type: text/html; charset=UTF-8\n//\n//\n// TCP :: CLOSED\n```\n\n### Forward local connections to port 8000 on the server to us\n\n```js\nconst { Client } = require('ssh2');\n\nconst conn = new Client();\nconn.on('ready', () => {\n console.log('Client :: ready');\n conn.forwardIn('127.0.0.1', 8000, (err) => {\n if (err) throw err;\n console.log('Listening for connections on server on port 8000!');\n });\n}).on('tcp connection', (info, accept, reject) => {\n console.log('TCP :: INCOMING CONNECTION:');\n console.dir(info);\n accept().on('close', () => {\n console.log('TCP :: CLOSED');\n }).on('data', (data) => {\n console.log('TCP :: DATA: ' + data);\n }).end([\n 'HTTP/1.1 404 Not Found',\n 'Date: Thu, 15 Nov 2012 02:07:58 GMT',\n 'Server: ForwardedConnection',\n 'Content-Length: 0',\n 'Connection: close',\n '',\n ''\n ].join('\\r\\n'));\n}).connect({\n host: '192.168.100.100',\n port: 22,\n username: 'frylock',\n password: 'nodejsrules'\n});\n\n// example output:\n// Client :: ready\n// Listening for connections on server on port 8000!\n// (.... then from another terminal on the server: `curl -I http://127.0.0.1:8000`)\n// TCP :: INCOMING CONNECTION: { destIP: '127.0.0.1',\n// destPort: 8000,\n// srcIP: '127.0.0.1',\n// srcPort: 41969 }\n// TCP DATA: HEAD / HTTP/1.1\n// User-Agent: curl/7.27.0\n// Host: 127.0.0.1:8000\n// Accept: */*\n//\n//\n// TCP :: CLOSED\n```\n\n### Get a directory listing via SFTP\n\n```js\nconst { Client } = require('ssh2');\n\nconst conn = new Client();\nconn.on('ready', () => {\n console.log('Client :: ready');\n conn.sftp((err, sftp) => {\n if (err) throw err;\n sftp.readdir('foo', (err, list) => {\n if (err) throw err;\n console.dir(list);\n conn.end();\n });\n });\n}).connect({\n host: '192.168.100.100',\n port: 22,\n username: 'frylock',\n password: 'nodejsrules'\n});\n\n// example output:\n// Client :: ready\n// [ { filename: 'test.txt',\n// longname: '-rw-r--r-- 1 frylock frylock 12 Nov 18 11:05 test.txt',\n// attrs:\n// { size: 12,\n// uid: 1000,\n// gid: 1000,\n// mode: 33188,\n// atime: 1353254750,\n// mtime: 1353254744 } },\n// { filename: 'mydir',\n// longname: 'drwxr-xr-x 2 frylock frylock 4096 Nov 18 15:03 mydir',\n// attrs:\n// { size: 1048576,\n// uid: 1000,\n// gid: 1000,\n// mode: 16877,\n// atime: 1353269007,\n// mtime: 1353269007 } } ]\n```\n\n### Connection hopping\n\n```js\nconst { Client } = require('ssh2');\n\nconst conn1 = new Client();\nconst conn2 = new Client();\n\n// Checks uptime on 10.1.1.40 via 192.168.1.1\n\nconn1.on('ready', () => {\n console.log('FIRST :: connection ready');\n // Alternatively, you could use something like netcat or socat with exec()\n // instead of forwardOut(), depending on what the server allows\n conn1.forwardOut('127.0.0.1', 12345, '10.1.1.40', 22, (err, stream) => {\n if (err) {\n console.log('FIRST :: forwardOut error: ' + err);\n return conn1.end();\n }\n conn2.connect({\n sock: stream,\n username: 'user2',\n password: 'password2',\n });\n });\n}).connect({\n host: '192.168.1.1',\n username: 'user1',\n password: 'password1',\n});\n\nconn2.on('ready', () => {\n // This connection is the one to 10.1.1.40\n\n console.log('SECOND :: connection ready');\n conn2.exec('uptime', (err, stream) => {\n if (err) {\n console.log('SECOND :: exec error: ' + err);\n return conn1.end();\n }\n stream.on('close', () => {\n conn1.end(); // close parent (and this) connection\n }).on('data', (data) => {\n console.log(data.toString());\n });\n });\n});\n```\n\n### Forward remote X11 connections\n\n```js\nconst { Socket } = require('net');\n\nconst { Client } = require('ssh2');\n\nconst conn = new Client();\n\nconn.on('x11', (info, accept, reject) => {\n const xserversock = new net.Socket();\n xserversock.on('connect', () => {\n const xclientsock = accept();\n xclientsock.pipe(xserversock).pipe(xclientsock);\n });\n // connects to localhost:0.0\n xserversock.connect(6000, 'localhost');\n});\n\nconn.on('ready', () => {\n conn.exec('xeyes', { x11: true }, (err, stream) => {\n if (err) throw err;\n let code = 0;\n stream.on('close', () => {\n if (code !== 0)\n console.log('Do you have X11 forwarding enabled on your SSH server?');\n conn.end();\n }).on('exit', (exitcode) => {\n code = exitcode;\n });\n });\n}).connect({\n host: '192.168.1.1',\n username: 'foo',\n password: 'bar'\n});\n```\n\n### Dynamic (1:1) port forwarding using a SOCKSv5 proxy (using [socksv5](https://github.com/mscdex/socksv5))\n\n```js\nconst socks = require('socksv5');\nconst { Client } = require('ssh2');\n\nconst sshConfig = {\n host: '192.168.100.1',\n port: 22,\n username: 'nodejs',\n password: 'rules'\n};\n\nsocks.createServer((info, accept, deny) => {\n // NOTE: you could just use one ssh2 client connection for all forwards, but\n // you could run into server-imposed limits if you have too many forwards open\n // at any given time\n const conn = new Client();\n conn.on('ready', () => {\n conn.forwardOut(info.srcAddr,\n info.srcPort,\n info.dstAddr,\n info.dstPort,\n (err, stream) => {\n if (err) {\n conn.end();\n return deny();\n }\n\n const clientSocket = accept(true);\n if (clientSocket) {\n stream.pipe(clientSocket).pipe(stream).on('close', () => {\n conn.end();\n });\n } else {\n conn.end();\n }\n });\n }).on('error', (err) => {\n deny();\n }).connect(sshConfig);\n}).listen(1080, 'localhost', () => {\n console.log('SOCKSv5 proxy server started on port 1080');\n}).useAuth(socks.auth.None());\n\n// test with cURL:\n// curl -i --socks5 localhost:1080 google.com\n```\n\n### Make HTTP(S) connections easily using a custom http(s).Agent\n\n```js\nconst http = require('http');\n\nconst { Client, HTTPAgent, HTTPSAgent } = require('ssh2');\n\nconst sshConfig = {\n host: '192.168.100.1',\n port: 22,\n username: 'nodejs',\n password: 'rules'\n};\n\n// Use `HTTPSAgent` instead for an HTTPS request\nconst agent = new HTTPAgent(sshConfig);\nhttp.get({\n host: '192.168.200.1',\n agent,\n headers: { Connection: 'close' }\n}, (res) => {\n console.log(res.statusCode);\n console.dir(res.headers);\n res.resume();\n});\n```\n\n\n### Invoke an arbitrary subsystem\n\n```js\nconst { Client } = require('ssh2');\n\nconst xmlhello = `\n <?xml version=\"1.0\" encoding=\"UTF-8\"?>\n <hello xmlns=\"urn:ietf:params:xml:ns:netconf:base:1.0\">\n <capabilities>\n <capability>urn:ietf:params:netconf:base:1.0</capability>\n </capabilities>\n </hello>]]>]]>`;\n\nconst conn = new Client();\n\nconn.on('ready', () => {\n console.log('Client :: ready');\n conn.subsys('netconf', (err, stream) => {\n if (err) throw err;\n stream.on('data', (data) => {\n console.log(data);\n }).write(xmlhello);\n });\n}).connect({\n host: '1.2.3.4',\n port: 22,\n username: 'blargh',\n password: 'honk'\n});\n```\n\n## Server Examples\n\n### Password and public key authentication and non-interactive (exec) command execution\n\n```js\nconst { timingSafeEqual } = require('crypto');\nconst { readFileSync } = require('fs');\nconst { inspect } = require('util');\n\nconst { utils: { parseKey }, Server } = require('ssh2');\n\nconst allowedUser = Buffer.from('foo');\nconst allowedPassword = Buffer.from('bar');\nconst allowedPubKey = parseKey(readFileSync('foo.pub'));\n\nfunction checkValue(input, allowed) {\n const autoReject = (input.length !== allowed.length);\n if (autoReject) {\n // Prevent leaking length information by always making a comparison with the\n // same input when lengths don't match what we expect ...\n allowed = input;\n }\n const isMatch = timingSafeEqual(input, allowed);\n return (!autoReject && isMatch);\n}\n\nnew Server({\n hostKeys: [readFileSync('host.key')]\n}, (client) => {\n console.log('Client connected!');\n\n client.on('authentication', (ctx) => {\n let allowed = true;\n if (!checkValue(Buffer.from(ctx.username), allowedUser))\n allowed = false;\n\n switch (ctx.method) {\n case 'password':\n if (!checkValue(Buffer.from(ctx.password), allowedPassword))\n return ctx.reject();\n break;\n case 'publickey':\n if (ctx.key.algo !== allowedPubKey.type\n || !checkValue(ctx.key.data, allowedPubKey.getPublicSSH())\n || (ctx.signature && allowedPubKey.verify(ctx.blob, ctx.signature) !== true)) {\n return ctx.reject();\n }\n break;\n default:\n return ctx.reject();\n }\n\n if (allowed)\n ctx.accept();\n else\n ctx.reject();\n }).on('ready', () => {\n console.log('Client authenticated!');\n\n client.on('session', (accept, reject) => {\n const session = accept();\n session.once('exec', (accept, reject, info) => {\n console.log('Client wants to execute: ' + inspect(info.command));\n const stream = accept();\n stream.stderr.write('Oh no, the dreaded errors!\\n');\n stream.write('Just kidding about the errors!\\n');\n stream.exit(0);\n stream.end();\n });\n });\n }).on('close', () => {\n console.log('Client disconnected');\n });\n}).listen(0, '127.0.0.1', function() {\n console.log('Listening on port ' + this.address().port);\n});\n```\n\n### SFTP-only server\n\n```js\nconst { timingSafeEqual } = require('crypto');\nconst { readFileSync } = require('fs');\nconst { inspect } = require('util');\n\nconst {\n Server,\n sftp: {\n OPEN_MODE,\n STATUS_CODE,\n },\n} = require('ssh2');\n\nconst allowedUser = Buffer.from('foo');\nconst allowedPassword = Buffer.from('bar');\n\nfunction checkValue(input, allowed) {\n const autoReject = (input.length !== allowed.length);\n if (autoReject) {\n // Prevent leaking length information by always making a comparison with the\n // same input when lengths don't match what we expect ...\n allowed = input;\n }\n const isMatch = timingSafeEqual(input, allowed);\n return (!autoReject && isMatch);\n}\n\n// This simple SFTP server implements file uploading where the contents get\n// ignored ...\n\nnew ssh2.Server({\n hostKeys: [readFileSync('host.key')]\n}, (client) => {\n console.log('Client connected!');\n\n client.on('authentication', (ctx) => {\n let allowed = true;\n if (!checkValue(Buffer.from(ctx.username), allowedUser))\n allowed = false;\n\n switch (ctx.method) {\n case 'password':\n if (!checkValue(Buffer.from(ctx.password), allowedPassword))\n return ctx.reject();\n break;\n default:\n return ctx.reject();\n }\n\n if (allowed)\n ctx.accept();\n else\n ctx.reject();\n }).on('ready', () => {\n console.log('Client authenticated!');\n\n client.on('session', (accept, reject) => {\n const session = accept();\n session.on('sftp', (accept, reject) => {\n console.log('Client SFTP session');\n const openFiles = new Map();\n let handleCount = 0;\n const sftp = accept();\n sftp.on('OPEN', (reqid, filename, flags, attrs) => {\n // Only allow opening /tmp/foo.txt for writing\n if (filename !== '/tmp/foo.txt' || !(flags & OPEN_MODE.WRITE))\n return sftp.status(reqid, STATUS_CODE.FAILURE);\n\n // Create a fake handle to return to the client, this could easily\n // be a real file descriptor number for example if actually opening\n // a file on disk\n const handle = Buffer.alloc(4);\n openFiles.set(handleCount, true);\n handle.writeUInt32BE(handleCount++, 0);\n\n console.log('Opening file for write')\n sftp.handle(reqid, handle);\n }).on('WRITE', (reqid, handle, offset, data) => {\n if (handle.length !== 4\n || !openFiles.has(handle.readUInt32BE(0))) {\n return sftp.status(reqid, STATUS_CODE.FAILURE);\n }\n\n // Fake the write operation\n sftp.status(reqid, STATUS_CODE.OK);\n\n console.log('Write to file at offset ${offset}: ${inspect(data)}');\n }).on('CLOSE', (reqid, handle) => {\n let fnum;\n if (handle.length !== 4\n || !openFiles.has(fnum = handle.readUInt32BE(0))) {\n return sftp.status(reqid, STATUS_CODE.FAILURE);\n }\n\n console.log('Closing file');\n openFiles.delete(fnum);\n\n sftp.status(reqid, STATUS_CODE.OK);\n });\n });\n });\n }).on('close', () => {\n console.log('Client disconnected');\n });\n}).listen(0, '127.0.0.1', function() {\n console.log('Listening on port ' + this.address().port);\n});\n```\n\nYou can find more examples in the `examples` directory of this repository.\n\n## API\n\n`require('ssh2').Client` is the **_Client_** constructor.\n\n`require('ssh2').Server` is the **_Server_** constructor.\n\n`require('ssh2').utils` is an object containing some useful [utilities](#utilities).\n\n`require('ssh2').HTTPAgent` is an [`http.Agent`](https://nodejs.org/docs/latest/api/http.html#http_class_http_agent) constructor.\n\n`require('ssh2').HTTPSAgent` is an [`https.Agent`](https://nodejs.org/docs/latest/api/https.html#https_class_https_agent) constructor. Its API is the same as `HTTPAgent` except it's for HTTPS connections.\n\n### Agent-related\n\n`require('ssh2').AgentProtocol` is a Duplex stream [class](#agentprotocol) that aids in communicating over the OpenSSH agent protocol.\n\n`require('ssh2').BaseAgent` is a base [class](#baseagent) for creating custom authentication agents.\n\n`require('ssh2').createAgent` is a helper [function](#createagent) that creates a new agent instance using the same logic as the `agent` configuration option: if the platform is Windows and it's the value \"pageant\", it creates a `PageantAgent`, otherwise if it's not a path to a Windows pipe it creates a `CygwinAgent`. In all other cases, it creates an `OpenSSHAgent`.\n\n`require('ssh2').CygwinAgent` is an agent [class](#cygwinagent) implementation that communicates with agents in a Cygwin environment.\n\n`require('ssh2').OpenSSHAgent` is an agent [class](#opensshagent) implementation that communicates with OpenSSH agents over a UNIX socket.\n\n`require('ssh2').PageantAgent` is an agent [class](#pageantagent) implementation that communicates with Pageant agent processes.\n\n### Client\n\n#### Client events\n\n* **banner**(< _string_ >message, < _string_ >language) - A notice was sent by the server upon connection.\n\n* **change password**(< _string_ >prompt, < _function_ >done) - If using password-based user authentication, the server has requested that the user's password be changed. Call `done` with the new password.\n\n* **close**() - The socket was closed.\n\n* **end**() - The socket was disconnected.\n\n* **error**(< _Error_ >err) - An error occurred. A 'level' property indicates 'client-socket' for socket-level errors and 'client-ssh' for SSH disconnection messages. In the case of 'client-ssh' messages, there may be a 'description' property that provides more detail.\n\n* **handshake**(< _object_ >negotiated) - Emitted when a handshake has completed (either initial or rekey). `negotiated` contains the negotiated details of the handshake and is of the form:\n\n```js\n // In this particular case `mac` is empty because there is no separate MAC\n // because it's integrated into AES in GCM mode\n { kex: 'ecdh-sha2-nistp256',\n srvHostKey: 'rsa-sha2-512',\n cs: { // Client to server algorithms\n cipher: 'aes128-gcm',\n mac: '',\n compress: 'none',\n lang: ''\n },\n sc: { // Server to client algorithms\n cipher: 'aes128-gcm',\n mac: '',\n compress: 'none',\n lang: ''\n }\n }\n```\n\n* **hostkeys**(< _array_ >keys) - Emitted when the server announces its available host keys. `keys` is the list of parsed (using [`parseKey()`](#utilities)) host public keys.\n\n* **keyboard-interactive**(< _string_ >name, < _string_ >instructions, < _string_ >instructionsLang, < _array_ >prompts, < _function_ >finish) - The server is asking for replies to the given `prompts` for keyboard-interactive user authentication. `name` is generally what you'd use as a window title (for GUI apps). `prompts` is an array of `{ prompt: 'Password: ', echo: false }` style objects (here `echo` indicates whether user input should be displayed on the screen). The answers for all prompts must be provided as an array of strings and passed to `finish` when you are ready to continue. Note: It's possible for the server to come back and ask more questions.\n\n* **ready**() - Authentication was successful.\n\n* **rekey**() - Emitted when a rekeying operation has completed (either client or server-initiated).\n\n* **tcp connection**(< _object_ >details, < _function_ >accept, < _function_ >reject) - An incoming forwarded TCP connection is being requested. Calling `accept` accepts the connection and returns a `Channel` object. Calling `reject` rejects the connection and no further action is needed. `details` contains:\n\n * **destIP** - _string_ - The remote IP the connection was received on (given in earlier call to `forwardIn()`).\n\n * **destPort** - _integer_ - The remote port the connection was received on (given in earlier call to `forwardIn()`).\n\n * **srcIP** - _string_ - The originating IP of the connection.\n\n * **srcPort** - _integer_ - The originating port of the connection.\n\n* **unix connection**(< _object_ >details, < _function_ >accept, < _function_ >reject) - An incoming forwarded UNIX socket connection is being requested. Calling `accept` accepts the connection and returns a `Channel` object. Calling `reject` rejects the connection and no further action is needed. `details` contains:\n\n * **socketPath** - _string_ - The originating UNIX socket path of the connection.\n\n* **x11**(< _object_ >details, < _function_ >accept, < _function_ >reject) - An incoming X11 connection is being requested. Calling `accept` accepts the connection and returns a `Channel` object. Calling `reject` rejects the connection and no further action is needed. `details` contains:\n\n * **srcIP** - _string_ - The originating IP of the connection.\n\n * **srcPort** - _integer_ - The originating port of the connection.\n\n#### Client methods\n\n* **(constructor)**() - Creates and returns a new Client instance.\n\n* **connect**(< _object_ >config) - _(void)_ - Attempts a connection to a server using the information given in `config`:\n\n * **agent** - _string_ - Path to ssh-agent's UNIX socket for ssh-agent-based user authentication. **Windows users: set to 'pageant' for authenticating with Pageant or (actual) path to a cygwin \"UNIX socket.\"** **Default:** (none)\n\n * **agentForward** - _boolean_ - Set to `true` to use OpenSSH agent forwarding (`auth-agent@openssh.com`) for the life of the connection. `agent` must also be set to use this feature. **Default:** `false`\n\n * **algorithms** - _object_ - This option allows you to explicitly override the default transport layer algorithms used for the connection. The value for each category must either be an array of valid algorithm names to set an exact list (with the most preferable first) or an object containing `append`, `prepend`, and/or `remove` properties that each contain an _array_ of algorithm names or RegExps to match to adjust default lists for each category. Valid keys:\n\n * **cipher** - _mixed_ - Ciphers.\n * Default list (in order from most to least preferable):\n * `chacha20-poly1305@openssh.com` (priority of chacha20-poly1305 may vary depending upon CPU and/or optional binding availability)\n * `aes128-gcm`\n * `aes128-gcm@openssh.com`\n * `aes256-gcm`\n * `aes256-gcm@openssh.com`\n * `aes128-ctr`\n * `aes192-ctr`\n * `aes256-ctr`\n * Other supported names:\n * `3des-cbc`\n * `aes256-cbc`\n * `aes192-cbc`\n * `aes128-cbc`\n * `arcfour256`\n * `arcfour128`\n * `arcfour`\n * `blowfish-cbc`\n * `cast128-cbc`\n\n * **compress** - _mixed_ - Compression algorithms.\n * Default list (in order from most to least preferable):\n * `none`\n * `zlib@openssh.com`\n * `zlib`\n * Other supported names:\n\n * **hmac** - _mixed_ - (H)MAC algorithms.\n * Default list (in order from most to least preferable):\n * `hmac-sha2-256-etm@openssh.com`\n * `hmac-sha2-512-etm@openssh.com`\n * `hmac-sha1-etm@openssh.com`\n * `hmac-sha2-256`\n * `hmac-sha2-512`\n * `hmac-sha1`\n * Other supported names:\n * `hmac-md5`\n * `hmac-sha2-256-96`\n * `hmac-sha2-512-96`\n * `hmac-ripemd160`\n * `hmac-sha1-96`\n * `hmac-md5-96`\n\n * **kex** - _mixed_ - Key exchange algorithms.\n * Default list (in order from most to least preferable):\n * `curve25519-sha256` (node v14.0.0+)\n * `curve25519-sha256@libssh.org` (node v14.0.0+)\n * `ecdh-sha2-nistp256`\n * `ecdh-sha2-nistp384`\n * `ecdh-sha2-nistp521`\n * `diffie-hellman-group-exchange-sha256`\n * `diffie-hellman-group14-sha256`\n * `diffie-hellman-group15-sha512`\n * `diffie-hellman-group16-sha512`\n * `diffie-hellman-group17-sha512`\n * `diffie-hellman-group18-sha512`\n * Other supported names:\n * `diffie-hellman-group-exchange-sha1`\n * `diffie-hellman-group14-sha1`\n * `diffie-hellman-group1-sha1`\n\n * **serverHostKey** - _mixed_ - Server host key formats.\n * Default list (in order from most to least preferable):\n * `ssh-ed25519` (node v12.0.0+)\n * `ecdsa-sha2-nistp256`\n * `ecdsa-sha2-nistp384`\n * `ecdsa-sha2-nistp521`\n * `rsa-sha2-512`\n * `rsa-sha2-256`\n * `ssh-rsa`\n * Other supported names:\n * `ssh-dss`\n\n * **authHandler** - _mixed_ - Either an array of objects as described below or a function with parameters `(methodsLeft, partialSuccess, callback)` where `methodsLeft` and `partialSuccess` are `null` on the first authentication attempt, otherwise are an array and boolean respectively. Return or call `callback()` with either the name of the authentication method or an object containing the method name along with method-specific details to try next (return/pass `false` to signal no more methods to try). Valid method names are: `'none', 'password', 'publickey', 'agent', 'keyboard-interactive', 'hostbased'`. **Default:** function that follows a set method order: None -> Password -> Private Key -> Agent (-> keyboard-interactive if `tryKeyboard` is `true`) -> Hostbased\n\n * When returning or calling `callback()` with an object, it can take one of the following forms:\n\n ```js\n {\n type: 'none',\n username: 'foo',\n }\n ```\n\n ```js\n {\n type: 'password'\n username: 'foo',\n password: 'bar',\n }\n ```\n\n ```js\n {\n type: 'publickey'\n username: 'foo',\n // Can be a string, Buffer, or parsed key containing a private key\n key: ...,\n // `passphrase` only required for encrypted keys\n passphrase: ...,\n }\n ```\n\n ```js\n {\n type: 'hostbased'\n username: 'foo',\n localHostname: 'baz',\n localUsername: 'quux',\n // Can be a string, Buffer, or parsed key containing a private key\n key: ...,\n // `passphrase` only required for encrypted keys\n passphrase: ...,\n }\n ```\n\n ```js\n {\n type: 'agent'\n username: 'foo',\n // Can be a string that is interpreted exactly like the `agent`\n // connection config option or can be a custom agent\n // object/instance that extends and implements `BaseAgent`\n agent: ...,\n }\n ```\n\n ```js\n {\n type: 'keyboard-interactive'\n username: 'foo',\n // This works exactly the same way as a 'keyboard-interactive'\n // Client event handler\n prompt: (name, instructions, instructionsLang, prompts, finish) => {\n // ...\n },\n }\n ```\n\n * **debug** - _function_ - Set this to a function that receives a single string argument to get detailed (local) debug information. **Default:** (none)\n\n * **forceIPv4** - _boolean_ - Only connect via resolved IPv4 address for `host`. **Default:** `false`\n\n * **forceIPv6** - _boolean_ - Only connect via resolved IPv6 address for `host`. **Default:** `false`\n\n * **host** - _string_ - Hostname or IP address of the server. **Default:** `'localhost'`\n\n * **hostHash** - _string_ - Any valid hash algorithm supported by node. The host's key is hashed using this algorithm and passed to the **hostVerifier** function as a hex string. **Default:** (none)\n\n * **hostVerifier** - _function_ - Function with parameters `(hashedKey[, callback])` where `hashedKey` is a string hex hash of the host's key for verification purposes. Return `true` to continue with the handshake or `false` to reject and disconnect, or call `callback()` with `true` or `false` if you need to perform asynchronous verification. **Default:** (auto-accept if `hostVerifier` is not set)\n\n * **keepaliveCountMax** - _integer_ - How many consecutive, unanswered SSH-level keepalive packets that can be sent to the server before disconnection (similar to OpenSSH's ServerAliveCountMax config option). **Default:** `3`\n\n * **keepaliveInterval** - _integer_ - How often (in milliseconds) to send SSH-level keepalive packets to the server (in a similar way as OpenSSH's ServerAliveInterval config option). Set to 0 to disable. **Default:** `0`\n\n * **localAddress** - _string_ - IP address of the network interface to use to connect to the server. **Default:** (none -- determined by OS)\n\n * **localHostname** - _string_ - Along with **localUsername** and **privateKey**, set this to a non-empty string for hostbased user authentication. **Default:** (none)\n\n * **localPort** - _string_ - The local port number to connect from. **Default:** (none -- determined by OS)\n\n * **localUsername** - _string_ - Along with **localHostname** and **privateKey**, set this to a non-empty string for hostbased user authentication. **Default:** (none)\n\n * **passphrase** - _string_ - For an encrypted `privateKey`, this is the passphrase used to decrypt it. **Default:** (none)\n\n * **password** - _string_ - Password for password-based user authentication. **Default:** (none)\n\n * **port** - _integer_ - Port number of the server. **Default:** `22`\n\n * **privateKey** - _mixed_ - _Buffer_ or _string_ that contains a private key for either key-based or hostbased user authentication (OpenSSH format). **Default:** (none)\n\n * **readyTimeout** - _integer_ - How long (in milliseconds) to wait for the SSH handshake to complete. **Default:** `20000`\n\n * **sock** - _ReadableStream_ - A _ReadableStream_ to use for communicating with the server instead of creating and using a new TCP connection (useful for connection hopping).\n\n * **strictVendor** - _boolean_ - Performs a strict server vendor check before sending vendor-specific requests, etc. (e.g. check for OpenSSH server when using `openssh_noMoreSessions()`) **Default:** `true`\n\n * **tryKeyboard** - _boolean_ - Try keyboard-interactive user authentication if primary user authentication method fails. If you set this to `true`, you need to handle the `keyboard-interactive` event. **Default:** `false`\n\n * **username** - _string_ - Username for authentication. **Default:** (none)\n\n* **end**() - _(void)_ - Disconnects the socket.\n\n* **exec**(< _string_ >command[, < _object_ >options], < _function_ >callback) - _(void)_ - Executes `command` on the server. `callback` has 2 parameters: < _Error_ >err, < _Channel_ >stream. Valid `options` properties are:\n\n * **env** - _object_ - An environment to use for the execution of the command.\n\n * **pty** - _mixed_ - Set to `true` to allocate a pseudo-tty with defaults, or an object containing specific pseudo-tty settings (see 'Pseudo-TTY settings'). Setting up a pseudo-tty can be useful when working with remote processes that expect input from an actual terminal (e.g. sudo's password prompt).\n\n * **x11** - _mixed_ - Set to `true` to use defaults below, set to a number to specify a specific screen number, or an object with the following valid properties:\n\n * **cookie** - _mixed_ - The authentication cookie. Can be a hex _string_ or a _Buffer_ containing the raw cookie value (which will be converted to a hex string). **Default:** (random 16 byte value)\n\n * **protocol** - _string_ - The authentication protocol name. **Default:** `'MIT-MAGIC-COOKIE-1'`\n\n * **screen** - _number_ - Screen number to use **Default:** `0`\n\n * **single** - _boolean_ - Allow just a single connection? **Default:** `false`\n\n* **forwardIn**(< _string_ >remoteAddr, < _integer_ >remotePort, < _function_ >callback) - _(void)_ - Bind to `remoteAddr` on `remotePort` on the server and forward incoming TCP connections. `callback` has 2 parameters: < _Error_ >err, < _integer_ >port (`port` is the assigned port number if `remotePort` was 0). Here are some special values for `remoteAddr` and their associated binding behaviors:\n\n * '' - Connections are to be accepted on all protocol families supported by the server.\n\n * '0.0.0.0' - Listen on all IPv4 addresses.\n\n * '::' - Listen on all IPv6 addresses.\n\n * 'localhost' - Listen on all protocol families supported by the server on loopback addresses only.\n\n * '127.0.0.1' and '::1' - Listen on the loopback interfaces for IPv4 and IPv6, respectively.\n\n* **forwardOut**(< _string_ >srcIP, < _integer_ >srcPort, < _string_ >dstIP, < _integer_ >dstPort, < _function_ >callback) - _(void)_ - Open a connection with `srcIP` and `srcPort` as the originating address and port and `dstIP` and `dstPort` as the remote destination address and port. `callback` has 2 parameters: < _Error_ >err, < _Channel_ >stream.\n\n* **openssh_forwardInStreamLocal**(< _string_ >socketPath, < _function_ >callback) - _(void)_ - OpenSSH extension that binds to a UNIX domain socket at `socketPath` on the server and forwards incoming connections. `callback` has 1 parameter: < _Error_ >err.\n\n* **openssh_forwardOutStreamLocal**(< _string_ >socketPath, < _function_ >callback) - _(void)_ - OpenSSH extension that opens a connection to a UNIX domain socket at `socketPath` on the server. `callback` has 2 parameters: < _Error_ >err, < _Channel_ >stream.\n\n* **openssh_noMoreSessions**(< _function_ >callback) - _(void)_ - OpenSSH extension that sends a request to reject any new sessions (e.g. exec, shell, sftp, subsys) for this connection. `callback` has 1 parameter: < _Error_ >err.\n\n* **openssh_unforwardInStreamLocal**(< _string_ >socketPath, < _function_ >callback) - _(void)_ - OpenSSH extension that unbinds from a UNIX domain socket at `socketPath` on the server and stops forwarding incoming connections. `callback` has 1 parameter: < _Error_ >err.\n\n* **rekey**([< _function_ >callback]) - _(void)_ - Initiates a rekey with the server. If `callback` is supplied, it is added as a one-time handler for the `rekey` event.\n\n* **sftp**(< _function_ >callback) - _(void)_ - Starts an SFTP session. `callback` has 2 parameters: < _Error_ >err, < _SFTP_ >sftp. For methods available on `sftp`, see the [`SFTP` client documentation](https://github.com/mscdex/ssh2/blob/master/SFTP.md).\n\n* **shell**([[< _mixed_ >window,] < _object_ >options]< _function_ >callback) - _(void)_ - Starts an interactive shell session on the server, with an optional `window` object containing pseudo-tty settings (see 'Pseudo-TTY settings'). If `window === false`, then no pseudo-tty is allocated. `options` supports the `x11` and `env` options as described in `exec()`. `callback` has 2 parameters: < _Error_ >err, < _Channel_ >stream.\n\n* **subsys**(< _string_ >subsystem, < _function_ >callback) - _(void)_ - Invokes `subsystem` on the server. `callback` has 2 parameters: < _Error_ >err, < _Channel_ >stream.\n\n* **unforwardIn**(< _string_ >remoteAddr, < _integer_ >remotePort, < _function_ >callback) - _(void)_ - Unbind from `remoteAddr` on `remotePort` on the server and stop forwarding incoming TCP connections. Until `callback` is called, more connections may still come in. `callback` has 1 parameter: < _Error_ >err.\n\n### Server\n\n#### Server events\n\n* **connection**(< _Connection_ >client, < _object_ >info) - A new client has connected. `info` contains the following properties:\n\n * **family** - _string_ - The `remoteFamily` of the connection.\n\n * **header** - _object_ - Information about the client's header:\n\n * **identRaw** - _string_ - The raw client identification string.\n\n * **versions** - _object_ - Various version information:\n\n * **protocol** - _string_ - The SSH protocol version (always `1.99` or `2.0`).\n\n * **software** - _string_ - The software name and version of the client.\n\n * **comments** - _string_ - Any text that comes after the software name/version.\n\n Example: the identification string `SSH-2.0-OpenSSH_6.6.1p1 Ubuntu-2ubuntu2` would be parsed as:\n\n```js\n { identRaw: 'SSH-2.0-OpenSSH_6.6.1p1 Ubuntu-2ubuntu2',\n version: {\n protocol: '2.0',\n software: 'OpenSSH_6.6.1p1'\n },\n comments: 'Ubuntu-2ubuntu2' }\n```\n\n * **ip** - _string_ - The `remoteAddress` of the connection.\n\n * **port** - _integer_ - The `remotePort` of the connection.\n\n#### Server methods\n\n* **(constructor)**(< _object_ >config[, < _function_ >connectionListener]) - Creates and returns a new Server instance. Server instances also have the same methods/properties/events as [`net.Server`](http://nodejs.org/docs/latest/api/net.html#net_class_net_server). `connectionListener` if supplied, is added as a `connection` listener. Valid `config` properties:\n\n * **algorithms** - _object_ - This option allows you to explicitly override the default transport layer algorithms used for incoming client connections. Each value must be an array of valid algorithms for that category. The order of the algorithms in the arrays are important, with the most favorable being first. For a list of valid and default algorithm names, please review the documentation for the version of `ssh2` used by this module. Valid keys:\n\n * **cipher** - _array_ - Ciphers.\n\n * **compress** - _array_ - Compression algorithms.\n\n * **hmac** - _array_ - (H)MAC algorithms.\n\n * **kex** - _array_ - Key exchange algorithms.\n\n * **serverHostKey** - _array_ - Server host key formats.\n\n * **banner** - _string_ - A message that is sent to clients once, right before authentication begins. **Default:** (none)\n\n * **debug** - _function_ - Set this to a function that receives a single string argument to get detailed (local) debug information. **Default:** (none)\n\n * **greeting** - _string_ - A message that is sent to clients immediately upon connection, before handshaking begins. **Note:** Most clients usually ignore this. **Default:** (none)\n\n * **highWaterMark** - _integer_ - This is the `highWaterMark` to use for the parser stream. **Default:** `32 * 1024`\n\n * **hostKeys** - _array_ - An array of either Buffers/strings that contain host private keys or objects in the format of `{ key: <Buffer/string>, passphrase: <string> }` for encrypted private keys. (**Required**) **Default:** (none)\n\n * **ident** - _string_ - A custom server software name/version identifier. **Default:** `'ssh2js' + moduleVersion + 'srv'`\n\n* **injectSocket**(< _DuplexStream_ >socket) - Injects a bidirectional stream as though it were a TCP socket connection. Additionally, `socket` should include `net.Socket`-like properties to ensure the best compatibility (e.g. `socket.remoteAddress`, `socket.remotePort`, `socket.remoteFamily`).\n\n#### Connection events\n\n* **authentication**(< _AuthContext_ >ctx) - The client has requested authentication. `ctx.username` contains the client username, `ctx.method` contains the requested authentication method, and `ctx.accept()` and `ctx.reject([< Array >authMethodsLeft[, < Boolean >isPartialSuccess]])` are used to accept or reject the authentication request respectively. `abort` is emitted if the client aborts the authentication request. Other properties/methods available on `ctx` depends on the `ctx.method` of authentication the client has requested:\n\n * `hostbased`:\n\n * **blob** - _Buffer_ - This contains the data to be verified that is passed to (along with the signature) `key.verify()` where `key` is a public key parsed with [`parseKey()`](#utilities).\n\n * **key** - _object_ - Contains information about the public key sent by the client:\n\n * **algo** - _string_ - The name of the key algorithm (e.g. `ssh-rsa`).\n\n * **data** - _Buffer_ - The actual key data.\n\n * **localHostname** - _string_ - The local hostname provided by the client.\n\n * **localUsername** - _string_ - The local username provided by the client.\n\n * **signature** - _Buffer_ - This contains a signature to be verified that is passed to (along with the blob) `key.verify()` where `key` is a public key parsed with [`parseKey()`](#utilities).\n\n * `keyboard-interactive`:\n\n * **prompt**(< _array_ >prompts[, < _string_ >title[, < _string_ >instructions]], < _function_ >callback) - _(void)_ - Send prompts to the client. `prompts` is an array of `{ prompt: 'Prompt text', echo: true }` objects (`prompt` being the prompt text and `echo` indicating whether the client's response to the prompt should be echoed to their display). `callback` is called with `(responses)`, where `responses` is an array of string responses matching up to the `prompts`.\n\n * **submethods** - _array_ - A list of preferred authentication \"sub-methods\" sent by the client. This may be used to determine what (if any) prompts to send to the client.\n\n * `password`:\n\n * **password** - _string_ - This is the password sent by the client.\n\n * **requestChange**(< _string_ >prompt, < _function_ >callback) - _(void)_ - Sends a password change request to the client. `callback` is called with `(newPassword)`, where `newPassword` is the new password supplied by the client. You may accept, reject, or prompt for another password change after `callback` is called.\n\n * `publickey`:\n\n * **blob** - _mixed_ - If the value is `undefined`, the client is only checking the validity of the `key`. If the value is a _Buffer_, then this contains the data to be verified that is passed to (along with the signature) `key.verify()` where `key` is a public key parsed with [`parseKey()`](#utilities).\n\n * **key** - _object_ - Contains information about the public key sent by the client:\n\n * **algo** - _string_ - The name of the key algorithm (e.g. `ssh-rsa`).\n\n * **data** - _Buffer_ - The actual key data.\n\n * **signature** - _mixed_ - If the value is `undefined`, the client is only checking the validity of the `key`. If the value is a _Buffer_, then this contains a signature to be verified that is passed to (along with the blob) `key.verify()` where `key` is a public key parsed with [`parseKey()`](#utilities).\n\n* **close**() - The client socket was closed.\n\n* **end**() - The client socket disconnected.\n\n* **error**(< _Error_ >err) - An error occurred.\n\n* **handshake**(< _object_ >negotiated) - Emitted when a handshake has completed (either initial or rekey). `negotiated` contains the negotiated details of the handshake and is of the form:\n\n```js\n // In this particular case `mac` is empty because there is no separate MAC\n // because it's integrated into AES in GCM mode\n { kex: 'ecdh-sha2-nistp256',\n srvHostKey: 'rsa-sha2-512',\n cs: { // Client to server algorithms\n cipher: 'aes128-gcm',\n mac: '',\n compress: 'none',\n lang: ''\n },\n sc: { // Server to client algorithms\n cipher: 'aes128-gcm',\n mac: '',\n compress: 'none',\n lang: ''\n }\n }\n```\n\n* **openssh.streamlocal**(< _function_ >accept, < _function_ >reject, < _object_ >info) - Emitted when the client has requested a connection to a UNIX domain socket. `accept()` returns a new _Channel_ instance representing the connection. `info` contains:\n\n * **socketPath** - _string_ - Destination socket path of outgoing connection.\n\n* **ready**() - Emitted when the client has been successfully authenticated.\n\n* **rekey**() - Emitted when a rekeying operation has completed (either client or server-initiated).\n\n* **request**(< _mixed_ >accept, < _mixed_ >reject, < _string_ >name, < _object_ >info) - Emitted when the client has sent a global request for `name` (e.g. `tcpip-forward` or `cancel-tcpip-forward`). `accept` and `reject` are functions if the client requested a response. If `bindPort === 0`, you should pass the chosen port to `accept()` so that the client will know what port was bound. `info` contains additional details about the request:\n\n * `cancel-tcpip-forward` and `tcpip-forward`:\n\n * **bindAddr** - _string_ - The IP address to start/stop binding to.\n\n * **bindPort** - _integer_ - The port to start/stop binding to.\n\n * `cancel-streamlocal-forward@openssh.com` and `streamlocal-forward@openssh.com`:\n\n * **socketPath** - _string_ - The socket path to start/stop binding to.\n\n* **session**(< _function_ >accept, < _function_ >reject) - Emitted when the client has requested a new session. Sessions are used to start interactive shells, execute commands, request X11 forwarding, etc. `accept()` returns a new _Session_ instance.\n\n* **tcpip**(< _function_ >accept, < _function_ >reject, < _object_ >info) - Emitted when the client has requested an outbound (TCP) connection. `accept()` returns a new _Channel_ instance representing the connection. `info` contains:\n\n * **destIP** - _string_ - Destination IP address of outgoing connection.\n\n * **destPort** - _string_ - Destination port of outgoing connection.\n\n * **srcIP** - _string_ - Source IP address of outgoing connection.\n\n * **srcPort** - _string_ - Source port of outgoing connection.\n\n#### Connection methods\n\n* **end**() - _(void)_ - Closes the client connection.\n\n* **forwardOut**(< _string_ >boundAddr, < _integer_ >boundPort, < _string_ >remoteAddr, < _integer_ >remotePort, < _function_ >callback) - _(void)_ - Alert the client of an incoming TCP connection on `boundAddr` on port `boundPort` from `remoteAddr` on port `remotePort`. `callback` has 2 parameters: < _Error_ >err, < _Channel_ >stream.\n\n* **openssh_forwardOutStreamLocal**(< _string_ >socketPath, < _function_ >callback) - _(void)_ - Alert the client of an incoming UNIX domain socket connection on `socketPath`. `callback` has 2 parameters: < _Error_ >err, < _Channel_ >stream.\n\n* **rekey**([< _function_ >callback]) - _(void)_ - Initiates a rekey with the client. If `callback` is supplied, it is added as a one-time handler for the `rekey` event.\n\n* **x11**(< _string_ >originAddr, < _integer_ >originPort, < _function_ >callback) - _(void)_ - Alert the client of an incoming X11 client connection from `originAddr` on port `originPort`. `callback` has 2 parameters: < _Error_ >err, < _Channel_ >stream.\n\n#### Session events\n\n* **auth-agent**(< _mixed_ >accept, < _mixed_ >reject) - The client has requested incoming ssh-agent requests be forwarded to them. `accept` and `reject` are functions if the client requested a response.\n\n* **close**() - The session was closed.\n\n* **env**(< _mixed_ >accept, < _mixed_ >reject, < _object_ >info) - The client requested an environment variable to be set for this session. `accept` and `reject` are functions if the client requested a response. `info` has these properties:\n\n * **key** - _string_ - The environment variable's name.\n\n * **value** - _string_ - The environment variable's value.\n\n* **exec**(< _mixed_ >accept, < _mixed_ >reject, < _object_ >info) - The client has requested execution of a command string. `accept` and `reject` are functions if the client requested a response. `accept()` returns a _Channel_ for the command execution. `info` has these properties:\n\n * **command** - _string_ - The command line to be executed.\n\n* **pty**(< _mixed_ >accept, < _mixed_ >reject, < _object_ >info) - The client requested allocation of a pseudo-TTY for this session. `accept` and `reject` are functions if the client requested a response. `info` has these properties:\n\n * **cols** - _integer_ - The number of columns for the pseudo-TTY.\n\n * **height** - _integer_ - The height of the pseudo-TTY in pixels.\n\n * **modes** - _object_ - Contains the requested terminal modes of the pseudo-TTY keyed on the mode name with the value being the mode argument. (See the table at the end for valid names).\n\n * **rows** - _integer_ - The number of rows for the pseudo-TTY.\n\n * **width** - _integer_ - The width of the pseudo-TTY in pixels.\n\n* **sftp**(< _mixed_ >accept, < _mixed_ >reject) - The client has requested the SFTP subsystem. `accept` and `reject` are functions if the client requested a response. `accept()` returns an _SFTP_ instance in server mode (see the [`SFTP` documentation](https://github.com/mscdex/ssh2/blob/master/SFTP.md) for details). `info` has these properties:\n\n* **shell**(< _mixed_ >accept, < _mixed_ >reject) - The client has requested an interactive shell. `accept` and `reject` are functions if the client requested a response. `accept()` returns a _Channel_ for the interactive shell.\n\n* **signal**(< _mixed_ >accept, < _mixed_ >reject, < _object_ >info) - The client has sent a signal. `accept` and `reject` are functions if the client requested a response. `info` has these properties:\n\n * **name** - _string_ - The signal name (e.g. `SIGUSR1`).\n\n* **subsystem**(< _mixed_ >accept, < _mixed_ >reject, < _object_ >info) - The client has requested an arbitrary subsystem. `accept` and `reject` are functions if the client requested a response. `accept()` returns a _Channel_ for the subsystem. `info` has these properties:\n\n * **name** - _string_ - The name of the subsystem.\n\n* **window-change**(< _mixed_ >accept, < _mixed_ >reject, < _object_ >info) - The client reported a change in window dimensions during this session. `accept` and `reject` are functions if the client requested a response. `info` has these properties:\n\n * **cols** - _integer_ - The new number of columns for the client window.\n\n * **height** - _integer_ - The new height of the client window in pixels.\n\n * **rows** - _integer_ - The new number of rows for the client window.\n\n * **width** - _integer_ - The new width of the client window in pixels.\n\n* **x11**(< _mixed_ >accept, < _mixed_ >reject, < _object_ >info) - The client requested X11 forwarding. `accept` and `reject` are functions if the client requested a response. `info` has these properties:\n\n * **cookie** - _string_ - The X11 authentication cookie encoded in hexadecimal.\n\n * **protocol** - _string_ - The name of the X11 authentication method used (e.g. `MIT-MAGIC-COOKIE-1`).\n\n * **screen** - _integer_ - The screen number to forward X11 connections for.\n\n * **single** - _boolean_ - `true` if only a single connection should be forwarded.\n\n### Channel\n\nThis is a normal **streams2** Duplex Stream (used both by clients and servers), with the following changes:\n\n* A boolean property `allowHalfOpen` exists and behaves similarly to the property of the same name for `net.Socket`. When the stream's end() is called, if `allowHalfOpen` is `true`, only EOF will be sent (the server can still send data if they have not already sent EOF). The default value for this property is `true`.\n\n* A `close` event is emitted once the channel is completely closed on both the client and server.\n\n* Client-specific:\n\n * For exec():\n\n * An `exit` event *may* (the SSH2 spec says it is optional) be emitted when the process finishes. If the process finished normally, the process's return value is passed to the `exit` callback. If the process was interrupted by a signal, the following are passed to the `exit` callback: null, < _string_ >signalName, < _boolean_ >didCoreDump, < _string_ >description.\n\n * If there was an `exit` event, the `close` event will be passed the same arguments for convenience.\n\n * A `stderr` property contains a Readable stream that represents output from stderr.\n\n * For exec() and shell():\n\n * The readable side represents stdout and the writable side represents stdin.\n\n * **setWindow**(< _integer_ >rows, < _integer_ >cols, < _integer_ >height, < _integer_ >width) - _(void)_ - Lets the server know that the local terminal window has been resized. The meaning of these arguments are described in the 'Pseudo-TTY settings' section.\n\n * **signal**(< _string_ >signalName) - _(void)_ - Sends a POSIX signal to the current process on the server. Valid signal names are: 'ABRT', 'ALRM', 'FPE', 'HUP', 'ILL', 'INT', 'KILL', 'PIPE', 'QUIT', 'SEGV', 'TERM', 'USR1', and 'USR2'. Some server implementations may ignore this request if they do not support signals. Note: If you are trying to send SIGINT and you find `signal()` doesn't work, try writing `'\\x03'` to the Channel stream instead.\n\n\n* Server-specific:\n\n * For exec-enabled channel instances there is an additional method available that may be called right before you close the channel. It has two different signatures:\n\n * **exit**(< _integer_ >exitCode) - _(void)_ - Sends an exit status code to the client.\n\n * **exit**(< _string_ >signalName[, < _boolean_ >coreDumped[, < _string_ >errorMsg]]) - _(void)_ - Sends an exit status code to the client.\n\n * For exec and shell-enabled channel instances, `channel.stderr` is a writable stream.\n\n### Pseudo-TTY settings\n\n* **cols** - < _integer_ > - Number of columns. **Default:** `80`\n\n* **height** - < _integer_ > - Height in pixels. **Default:** `480`\n\n* **modes** - < _object_ > - An object containing [Terminal Modes](#terminal-modes) as keys, with each value set to each mode argument. **Default:** `null`\n\n* **rows** - < _integer_ > - Number of rows. **Default:** `24`\n\n* **term** - < _string_ > - The value to use for $TERM. **Default:** `'vt100'`\n\n* **width** - < _integer_ > - Width in pixels. **Default:** `640`\n\n`rows` and `cols` override `width` and `height` when `rows` and `cols` are non-zero.\n\nPixel dimensions refer to the drawable area of the window.\n\nZero dimension parameters are ignored.\n\n### Terminal modes\n\nName | Description\n-------------- | ------------\nCS7 | 7 bit mode.\nCS8 | 8 bit mode.\nECHOCTL | Echo control characters as ^(Char).\nECHO | Enable echoing.\nECHOE | Visually erase chars.\nECHOKE | Visual erase for line kill.\nECHOK | Kill character discards current line.\nECHONL | Echo NL even if ECHO is off.\nICANON | Canonicalize input lines.\nICRNL | Map CR to NL on input.\nIEXTEN | Enable extensions.\nIGNCR | Ignore CR on input.\nIGNPAR | The ignore parity flag. The parameter SHOULD be 0 if this flag is FALSE, and 1 if it is TRUE.\nIMAXBEL | Ring bell on input queue full.\nINLCR | Map NL into CR on input.\nINPCK | Enable checking of parity errors.\nISIG | Enable signals INTR, QUIT, [D]SUSP.\nISTRIP | Strip 8th bit off characters.\nIUCLC | Translate uppercase characters to lowercase.\nIXANY | Any char will restart after stop.\nIXOFF | Enable input flow control.\nIXON | Enable output flow control.\nNOFLSH | Don't flush after interrupt.\nOCRNL | Translate carriage return to newline (output).\nOLCUC | Convert lowercase to uppercase.\nONLCR | Map NL to CR-NL.\nONLRET | Newline performs a carriage return (output).\nONOCR | Translate newline to carriage return-newline (output).\nOPOST | Enable output processing.\nPARENB | Parity enable.\nPARMRK | Mark parity and framing errors.\nPARODD | Odd parity, else even.\nPENDIN | Retype pending input.\nTOSTOP | Stop background jobs from output.\nTTY_OP_ISPEED | Specifies the input baud rate in bits per second.\nTTY_OP_OSPEED | Specifies the output baud rate in bits per second.\nVDISCARD | Toggles the flushing of terminal output.\nVDSUSP | Another suspend character.\nVEOF | End-of-file character (sends EOF from the terminal).\nVEOL2 | Additional end-of-line character.\nVEOL | End-of-line character in addition to carriage return and/or linefeed.\nVERASE | Erase the character to left of the cursor.\nVFLUSH | Character to flush output.\nVINTR | Interrupt character; 255 if none. Similarly for the other characters. Not all of these characters are supported on all systems.\nVKILL | Kill the current input line.\nVLNEXT | Enter the next character typed literally, even if it is a special character\nVQUIT | The quit character (sends SIGQUIT signal on POSIX systems).\nVREPRINT | Reprints the current input line.\nVSTART | Continues paused output (normally control-Q).\nVSTATUS | Prints system status line (load, command, pid, etc).\nVSTOP | Pauses output (normally control-S).\nVSUSP | Suspends the current program.\nVSWTCH | Switch to a different shell layer.\nVWERASE | Erases a word left of cursor.\nXCASE | Enable input and output of uppercase characters by preceding their lowercase equivalents with \"\\\".\n\n### HTTPAgent\n\n#### HTTPAgent methods\n\n* **(constructor)**(< _object_ >sshConfig[, < _object_ >agentConfig]) - Creates and returns a new `http.Agent` instance used to tunnel an HTTP connection over SSH. `sshConfig` is what is passed to `client.connect()` and `agentOptions` is passed to the `http.Agent` constructor.\n\n### HTTPSAgent\n\n#### HTTPSAgent methods\n\n* **(constructor)**(< _object_ >sshConfig[, < _object_ >agentConfig]) - Creates and returns a new `https.Agent` instance used to tunnel an HTTP connection over SSH. `sshConfig` is what is passed to `client.connect()` and `agentOptions` is passed to the `https.Agent` constructor.\n\n### Utilities\n\n* **parseKey**(< _mixed_ >keyData[, < _string_ >passphrase]) - _mixed_ - Parses a private/public key in OpenSSH, RFC4716, or PPK format. For encrypted private keys, the key will be decrypted with the given `passphrase`. `keyData` can be a _Buffer_ or _string_ value containing the key contents. The returned value will be an array of objects (currently in the case of modern OpenSSH keys) or an object with these properties and methods:\n\n * **comment** - _string_ - The comment for the key\n\n * **equals**(< _mixed_ >otherKey) - _boolean_ - This returns `true` if `otherKey` (a parsed or parseable key) is the same as this key. This method does not compare the keys' comments\n\n * **getPrivatePEM**() - _string_ - This returns the PEM version of a private key\n\n * **getPublicPEM**() - _string_ - This returns the PEM version of a public key (for either public key or derived from a private key)\n\n * **getPublicSSH**() - _string_ - This returns the SSH version of a public key (for either public key or derived from a private key)\n\n * **isPrivateKey**() - _boolean_ - This returns `true` if the key is a private key or not\n\n * **sign**(< _mixed_ >data) - _mixed_ - This signs the given `data` using this key and returns a _Buffer_ containing the signature on success. On failure, an _Error_ will be returned. `data` can be anything accepted by node's [`sign.update()`](https://nodejs.org/docs/latest/api/crypto.html#crypto_sign_update_data_inputencoding).\n\n * **type** - _string_ - The full key type (e.g. `'ssh-rsa'`)\n\n * **verify**(< _mixed_ >data, < _Buffer_ >signature) - _mixed_ - This verifies a `signature` of the given `data` using this key and returns `true` if the signature could be verified. On failure, either `false` will be returned or an _Error_ will be returned upon a more critical failure. `data` can be anything accepted by node's [`verify.update()`](https://nodejs.org/docs/latest/api/crypto.html#crypto_verify_update_data_inputencoding).\n\n* **sftp.OPEN_MODE** - [`OPEN_MODE`](https://github.com/mscdex/ssh2/blob/master/SFTP.md#useful-standalone-data-structures)\n\n* **sftp.STATUS_CODE** - [`STATUS_CODE`](https://github.com/mscdex/ssh2/blob/master/SFTP.md#useful-standalone-data-structures)\n\n* **sftp.flagsToString** - [`flagsToString()`](https://github.com/mscdex/ssh2/blob/master/SFTP.md#useful-standalone-methods)\n\n* **sftp.stringToFlags** - [`stringToFlags()`](https://github.com/mscdex/ssh2/blob/master/SFTP.md#useful-standalone-methods)\n\n### AgentProtocol\n\n#### AgentProtocol events\n\n* **identities**(< _opaque_ >request) - **(Server mode only)** The client has requested a list of public keys stored in the agent. Use `failureReply()` or `getIdentitiesReply()` to reply appropriately.\n\n* **sign**(< _opaque_ >request, < _mixed_ >pubKey, < _Buffer_ >data, < _object_ >options) - **(Server mode only)** The client has requested `data` to be signed using the key identified by `pubKey`. Use `failureReply()` or `signReply()` to reply appropriately. `options` may contain any of:\n\n * **hash** - _string_ - The explicitly desired hash to use when computing the signature. Currently if set, this may be either `'sha256'` or `'sha512'` for RSA keys.\n\n#### AgentProtocol methods\n\n* **(constructor)**(< _boolean_ >isClient) - Creates and returns a new AgentProtocol instance. `isClient` determines whether the instance operates in client or server mode.\n\n* **failureReply**(< _opaque_ >request) - _(void)_ - **(Server mode only)** Replies to the given `request` with a failure response.\n\n* **getIdentities**(< _function_ >callback) - _(void)_ - **(Client mode only)** Requests a list of public keys from the agent. `callback` is passed `(err, keys)` where `keys` is a possible array of public keys for authentication.\n\n* **getIdentitiesReply**(< _opaque_ >request, < _array_ >keys) - _(void)_ - **(Server mode only)** Responds to a identities list `request` with the given array of keys in `keys`.\n\n* **sign**(< _mixed_ >pubKey, < _Buffer_ >data, < _object_ >options, < _function_ >callback) - _(void)_ - **(Client mode only)** Requests that the agent sign `data` using the key identified by `pubKey`. `pubKey` can be any parsed (using `utils.parseKey()`) or parseable key value. `callback` is passed `(err, signature)` where `signature` is a possible _Buffer_ containing the signature for the `data`. `options` may contain any of:\n\n * **hash** - _string_ - The explicitly desired hash to use when computing the signature. Currently if set, this may be either `'sha256'` or `'sha512'` for RSA keys.\n\n* **signReply**(< _opaque_ >request, < _Buffer_ >signature) - _(void)_ - **(Server mode only)** Responds to a sign `request` with the given signature in `signature`.\n\n### BaseAgent\n\nIn order to create a custom agent, your cl","maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"time":{"modified":"2022-06-26T23:32:11.385Z","created":"2012-08-03T08:52:48.451Z","0.0.0":"2012-08-03T08:52:49.865Z","0.0.1":"2012-11-11T23:02:53.683Z","0.0.2":"2012-11-15T14:16:59.564Z","0.1.0":"2012-11-18T22:36:12.032Z","0.1.1":"2012-11-25T10:44:30.588Z","0.1.2":"2012-11-25T18:12:20.112Z","0.1.3":"2012-11-26T23:53:56.829Z","0.1.4":"2012-12-01T04:47:31.977Z","0.1.5":"2012-12-01T21:40:18.780Z","0.1.6":"2012-12-02T02:01:27.147Z","0.1.7":"2012-12-04T17:24:42.688Z","0.1.8":"2012-12-13T17:52:37.504Z","0.1.9":"2013-01-01T00:58:05.215Z","0.1.10":"2013-01-11T20:28:00.915Z","0.1.11":"2013-01-12T06:33:37.081Z","0.1.12":"2013-01-24T14:15:02.059Z","0.1.13":"2013-02-09T14:57:28.204Z","0.2.0":"2013-03-27T13:31:00.729Z","0.2.1":"2013-03-29T05:36:39.186Z","0.2.2":"2013-04-02T14:04:46.910Z","0.2.3":"2013-04-04T01:07:09.840Z","0.2.4":"2013-04-12T15:34:23.235Z","0.2.5":"2013-04-12T23:32:48.777Z","0.2.6":"2013-05-28T19:40:40.168Z","0.2.7":"2013-05-30T16:02:03.881Z","0.2.8":"2013-06-11T19:29:12.323Z","0.2.9":"2013-06-14T16:52:39.718Z","0.2.10":"2013-07-14T03:22:09.442Z","0.2.11":"2013-07-23T14:03:46.126Z","0.2.12":"2013-08-08T18:04:56.227Z","0.2.13":"2013-11-07T14:12:42.833Z","0.2.14":"2013-11-13T03:17:18.397Z","0.2.15":"2013-12-31T20:15:26.121Z","0.2.16":"2014-01-07T15:07:39.769Z","0.2.17":"2014-01-23T19:26:22.121Z","0.2.18":"2014-02-25T21:59:25.440Z","0.2.19":"2014-03-04T16:58:16.834Z","0.2.20":"2014-03-18T03:47:52.586Z","0.2.21":"2014-03-29T05:02:27.343Z","0.2.22":"2014-04-17T03:53:44.813Z","0.2.23":"2014-05-06T12:24:35.057Z","0.2.24":"2014-05-24T18:24:43.601Z","0.2.25":"2014-05-27T13:35:42.811Z","0.3.0":"2014-06-18T20:25:16.945Z","0.3.1":"2014-06-26T13:50:37.233Z","0.3.2":"2014-06-26T14:18:00.015Z","0.3.3":"2014-07-02T14:33:30.709Z","0.3.4":"2014-07-16T13:11:48.906Z","0.3.5":"2014-08-17T17:10:28.048Z","0.3.6":"2014-08-27T23:54:45.525Z","0.4.0":"2015-02-01T04:11:57.905Z","0.4.1":"2015-02-01T23:04:11.930Z","0.4.2":"2015-02-03T03:07:09.984Z","0.4.3":"2015-02-08T17:36:55.150Z","0.4.4":"2015-02-10T05:21:47.117Z","0.4.5":"2015-03-31T16:40:14.221Z","0.4.6":"2015-04-01T02:32:55.730Z","0.4.7":"2015-04-29T02:20:29.048Z","0.4.8":"2015-05-02T21:43:08.049Z","0.4.9":"2015-06-24T15:38:54.057Z","0.4.10":"2015-07-09T04:14:46.610Z","0.4.11":"2015-08-28T15:57:07.856Z","0.4.12":"2015-10-27T19:58:34.703Z","0.4.13":"2015-12-22T05:11:59.468Z","0.4.14":"2016-03-05T11:24:36.714Z","0.4.15":"2016-03-16T09:38:53.344Z","0.5.0":"2016-03-18T04:32:34.274Z","0.5.1":"2016-08-28T07:36:28.772Z","0.5.2":"2016-09-14T21:51:37.339Z","0.5.3":"2016-11-05T08:57:52.903Z","0.5.4":"2016-11-08T22:26:49.119Z","0.5.5":"2017-05-29T01:44:24.839Z","0.6.0":"2018-03-11T22:57:18.261Z","0.6.1":"2018-05-10T11:57:54.471Z","0.6.2":"2019-01-01T22:13:59.417Z","0.7.0":"2019-01-06T05:10:18.669Z","0.7.1":"2019-01-09T04:27:00.022Z","0.7.2":"2019-01-13T17:24:17.344Z","0.8.0":"2019-01-14T00:43:20.910Z","0.8.1":"2019-01-18T04:37:11.570Z","0.8.2":"2019-01-18T05:07:19.550Z","0.8.3":"2019-04-25T03:58:38.805Z","0.8.4":"2019-04-30T14:38:23.380Z","0.8.5":"2019-07-12T09:09:09.498Z","0.8.6":"2019-11-08T03:20:39.513Z","0.8.7":"2019-12-03T17:55:13.670Z","0.8.8":"2020-02-24T16:00:39.119Z","0.8.9":"2020-03-16T14:36:17.313Z","1.0.0":"2021-05-29T05:55:30.561Z","1.1.0":"2021-05-30T03:25:58.898Z","1.2.0":"2021-08-01T13:07:09.491Z","1.3.0":"2021-08-17T23:40:30.937Z","1.4.0":"2021-09-04T15:33:30.859Z","1.5.0":"2021-10-10T21:38:02.622Z","1.6.0":"2022-01-31T04:24:48.430Z","1.7.0":"2022-03-05T16:31:03.793Z","1.8.0":"2022-03-24T04:41:36.165Z","1.9.0":"2022-04-01T15:58:18.702Z","1.10.0":"2022-04-28T00:02:27.490Z","1.11.0":"2022-06-11T17:26:50.636Z"},"author":{"name":"Brian White","email":"mscdex@mscdex.net"},"repository":{"type":"git","url":"git+ssh://git@github.com/mscdex/ssh2.git"},"users":{"285858315":true,"werle":true,"parroit":true,"knownasilya":true,"zheref":true,"villadora":true,"tunderdomb":true,"sdolard":true,"brugnara":true,"dotnil":true,"learn2reid":true,"ryanthejuggler":true,"cmp-202":true,"heschong":true,"gdbtek":true,"iamdb":true,"kevinhikaruevans":true,"prabhash1785":true,"kulakowka":true,"iamveen":true,"seldo":true,"lherediawoodward":true,"qqqppp9998":true,"mjwilliams":true,"mastayoda":true,"brandouellette":true,"corintho":true,"moimikey":true,"aslezak":true,"arielabreu":true,"cliff":true,"ftornik":true,"fedor":true,"sopepos":true,"m80126colin":true,"atef":true,"stany":true,"itsananderson":true,"philkunz":true,"sqrtthree":true,"vamakoda":true,"antanst":true,"mnew":true,"shanewholloway":true,"almccann":true,"s3than":true,"f124275809":true,"jerrywu":true,"lgh06":true,"jtrh":true,"mccoyjordan":true,"scottfreecode":true,"abdihaikal":true,"ahme-t":true,"honingwon":true,"nickeljew":true,"tudo75":true,"nickeltobias":true,"hanq":true,"comandan":true,"insomniaqc":true,"alanerzhao":true,"roccomuso":true,"jedaviata":true,"nicknaso":true,"nelak":true,"hexcola":true,"nuer":true,"rocket0191":true,"yuch4n":true,"alexreg90":true,"alexreg":true,"sunhua":true,"jarvism":true,"arcticicestudio":true,"yinfxs":true,"wkronmiller":true,"onlyjohnlystm":true,"alexdreptu":true,"losymear":true},"readmeFilename":"README.md","homepage":"https://github.com/mscdex/ssh2#readme","keywords":["ssh","ssh2","sftp","secure","shell","exec","remote","client"],"bugs":{"url":"https://github.com/mscdex/ssh2/issues"}}
\ No newline at end of file diff --git a/cli/tests/testdata/npm/registry/ssh2/ssh2-1.11.0.tgz b/cli/tests/testdata/npm/registry/ssh2/ssh2-1.11.0.tgz Binary files differnew file mode 100644 index 000000000..661eb6b3d --- /dev/null +++ b/cli/tests/testdata/npm/registry/ssh2/ssh2-1.11.0.tgz diff --git a/cli/tests/testdata/npm/registry/tweetnacl/registry.json b/cli/tests/testdata/npm/registry/tweetnacl/registry.json new file mode 100644 index 000000000..7ab22ff73 --- /dev/null +++ b/cli/tests/testdata/npm/registry/tweetnacl/registry.json @@ -0,0 +1 @@ +{"_id":"tweetnacl","_rev":"51-c4c363eb930affa63433c61c7a0d567e","name":"tweetnacl","time":{"modified":"2022-06-27T23:59:41.029Z","created":"2014-07-08T17:17:59.887Z","0.9.0":"2014-07-08T17:17:59.887Z","0.9.1":"2014-07-08T17:27:03.089Z","0.9.2":"2014-07-22T11:51:50.399Z","0.10.0":"2014-07-26T14:13:21.181Z","0.10.1":"2014-07-31T08:56:22.521Z","0.11.0":"2014-08-03T12:57:58.614Z","0.11.1":"2014-08-06T09:51:16.595Z","0.11.2":"2014-08-08T11:33:58.342Z","0.12.0":"2014-09-03T12:53:37.141Z","0.12.1":"2014-09-09T19:10:37.958Z","0.12.2":"2014-09-18T16:07:52.210Z","0.13.0":"2014-12-26T16:18:57.757Z","0.13.1":"2015-04-15T16:16:46.594Z","0.13.2":"2015-09-17T14:24:35.137Z","0.13.3":"2016-01-06T23:08:59.717Z","0.14.0":"2016-02-20T16:07:29.491Z","0.14.1":"2016-02-25T00:35:25.704Z","0.14.2":"2016-03-28T17:49:52.954Z","0.14.3":"2016-03-29T04:15:52.637Z","0.14.4":"2016-12-02T18:10:24.264Z","0.14.5":"2016-12-13T11:11:56.945Z","1.0.0-rc.1":"2017-02-22T11:39:29.982Z","1.0.0":"2017-05-22T18:43:50.045Z","1.0.1":"2019-01-24T14:52:36.909Z","1.0.2":"2020-01-16T19:28:56.851Z","1.0.3":"2020-02-10T19:49:05.829Z"},"maintainers":[{"name":"dchest","email":"dmitry@codingrobots.com"}],"dist-tags":{"latest":"1.0.3"},"description":"Port of TweetNaCl cryptographic library to JavaScript","readme":"TweetNaCl.js\n============\n\nPort of [TweetNaCl](http://tweetnacl.cr.yp.to) / [NaCl](http://nacl.cr.yp.to/)\nto JavaScript for modern browsers and Node.js. Public domain.\n\n[\n](https://travis-ci.org/dchest/tweetnacl-js)\n\nDemo: <https://dchest.github.io/tweetnacl-js/>\n\nDocumentation\n=============\n\n* [Overview](#overview)\n* [Audits](#audits)\n* [Installation](#installation)\n* [Examples](#examples)\n* [Usage](#usage)\n * [Public-key authenticated encryption (box)](#public-key-authenticated-encryption-box)\n * [Secret-key authenticated encryption (secretbox)](#secret-key-authenticated-encryption-secretbox)\n * [Scalar multiplication](#scalar-multiplication)\n * [Signatures](#signatures)\n * [Hashing](#hashing)\n * [Random bytes generation](#random-bytes-generation)\n * [Constant-time comparison](#constant-time-comparison)\n* [System requirements](#system-requirements)\n* [Development and testing](#development-and-testing)\n* [Benchmarks](#benchmarks)\n* [Contributors](#contributors)\n* [Who uses it](#who-uses-it)\n\n\nOverview\n--------\n\nThe primary goal of this project is to produce a translation of TweetNaCl to\nJavaScript which is as close as possible to the original C implementation, plus\na thin layer of idiomatic high-level API on top of it.\n\nThere are two versions, you can use either of them:\n\n* `nacl.js` is the port of TweetNaCl with minimum differences from the\n original + high-level API.\n\n* `nacl-fast.js` is like `nacl.js`, but with some functions replaced with\n faster versions. (Used by default when importing NPM package.)\n\n\nAudits\n------\n\nTweetNaCl.js has been audited by [Cure53](https://cure53.de/) in January-February\n2017 (audit was sponsored by [Deletype](https://deletype.com)):\n\n> The overall outcome of this audit signals a particularly positive assessment\n> for TweetNaCl-js, as the testing team was unable to find any security\n> problems in the library. It has to be noted that this is an exceptionally\n> rare result of a source code audit for any project and must be seen as a true\n> testament to a development proceeding with security at its core.\n>\n> To reiterate, the TweetNaCl-js project, the source code was found to be\n> bug-free at this point.\n>\n> [...]\n>\n> In sum, the testing team is happy to recommend the TweetNaCl-js project as\n> likely one of the safer and more secure cryptographic tools among its\n> competition.\n\n[Read full audit report](https://cure53.de/tweetnacl.pdf)\n\n\nInstallation\n------------\n\nYou can install TweetNaCl.js via a package manager:\n\n[Yarn](https://yarnpkg.com/):\n\n $ yarn add tweetnacl\n\n[NPM](https://www.npmjs.org/):\n\n $ npm install tweetnacl\n\nor [download source code](https://github.com/dchest/tweetnacl-js/releases).\n\n\nExamples\n--------\nYou can find usage examples in our [wiki](https://github.com/dchest/tweetnacl-js/wiki/Examples).\n\n\nUsage\n-----\n\nAll API functions accept and return bytes as `Uint8Array`s. If you need to\nencode or decode strings, use functions from\n<https://github.com/dchest/tweetnacl-util-js> or one of the more robust codec\npackages.\n\nIn Node.js v4 and later `Buffer` objects are backed by `Uint8Array`s, so you\ncan freely pass them to TweetNaCl.js functions as arguments. The returned\nobjects are still `Uint8Array`s, so if you need `Buffer`s, you'll have to\nconvert them manually; make sure to convert using copying: `Buffer.from(array)`\n(or `new Buffer(array)` in Node.js v4 or earlier), instead of sharing:\n`Buffer.from(array.buffer)` (or `new Buffer(array.buffer)` Node 4 or earlier),\nbecause some functions return subarrays of their buffers.\n\n\n### Public-key authenticated encryption (box)\n\nImplements *x25519-xsalsa20-poly1305*.\n\n#### nacl.box.keyPair()\n\nGenerates a new random key pair for box and returns it as an object with\n`publicKey` and `secretKey` members:\n\n {\n publicKey: ..., // Uint8Array with 32-byte public key\n secretKey: ... // Uint8Array with 32-byte secret key\n }\n\n\n#### nacl.box.keyPair.fromSecretKey(secretKey)\n\nReturns a key pair for box with public key corresponding to the given secret\nkey.\n\n#### nacl.box(message, nonce, theirPublicKey, mySecretKey)\n\nEncrypts and authenticates message using peer's public key, our secret key, and\nthe given nonce, which must be unique for each distinct message for a key pair.\n\nReturns an encrypted and authenticated message, which is\n`nacl.box.overheadLength` longer than the original message.\n\n#### nacl.box.open(box, nonce, theirPublicKey, mySecretKey)\n\nAuthenticates and decrypts the given box with peer's public key, our secret\nkey, and the given nonce.\n\nReturns the original message, or `null` if authentication fails.\n\n#### nacl.box.before(theirPublicKey, mySecretKey)\n\nReturns a precomputed shared key which can be used in `nacl.box.after` and\n`nacl.box.open.after`.\n\n#### nacl.box.after(message, nonce, sharedKey)\n\nSame as `nacl.box`, but uses a shared key precomputed with `nacl.box.before`.\n\n#### nacl.box.open.after(box, nonce, sharedKey)\n\nSame as `nacl.box.open`, but uses a shared key precomputed with `nacl.box.before`.\n\n#### Constants\n\n##### nacl.box.publicKeyLength = 32\n\nLength of public key in bytes.\n\n##### nacl.box.secretKeyLength = 32\n\nLength of secret key in bytes.\n\n##### nacl.box.sharedKeyLength = 32\n\nLength of precomputed shared key in bytes.\n\n##### nacl.box.nonceLength = 24\n\nLength of nonce in bytes.\n\n##### nacl.box.overheadLength = 16\n\nLength of overhead added to box compared to original message.\n\n\n### Secret-key authenticated encryption (secretbox)\n\nImplements *xsalsa20-poly1305*.\n\n#### nacl.secretbox(message, nonce, key)\n\nEncrypts and authenticates message using the key and the nonce. The nonce must\nbe unique for each distinct message for this key.\n\nReturns an encrypted and authenticated message, which is\n`nacl.secretbox.overheadLength` longer than the original message.\n\n#### nacl.secretbox.open(box, nonce, key)\n\nAuthenticates and decrypts the given secret box using the key and the nonce.\n\nReturns the original message, or `null` if authentication fails.\n\n#### Constants\n\n##### nacl.secretbox.keyLength = 32\n\nLength of key in bytes.\n\n##### nacl.secretbox.nonceLength = 24\n\nLength of nonce in bytes.\n\n##### nacl.secretbox.overheadLength = 16\n\nLength of overhead added to secret box compared to original message.\n\n\n### Scalar multiplication\n\nImplements *x25519*.\n\n#### nacl.scalarMult(n, p)\n\nMultiplies an integer `n` by a group element `p` and returns the resulting\ngroup element.\n\n#### nacl.scalarMult.base(n)\n\nMultiplies an integer `n` by a standard group element and returns the resulting\ngroup element.\n\n#### Constants\n\n##### nacl.scalarMult.scalarLength = 32\n\nLength of scalar in bytes.\n\n##### nacl.scalarMult.groupElementLength = 32\n\nLength of group element in bytes.\n\n\n### Signatures\n\nImplements [ed25519](http://ed25519.cr.yp.to).\n\n#### nacl.sign.keyPair()\n\nGenerates new random key pair for signing and returns it as an object with\n`publicKey` and `secretKey` members:\n\n {\n publicKey: ..., // Uint8Array with 32-byte public key\n secretKey: ... // Uint8Array with 64-byte secret key\n }\n\n#### nacl.sign.keyPair.fromSecretKey(secretKey)\n\nReturns a signing key pair with public key corresponding to the given\n64-byte secret key. The secret key must have been generated by\n`nacl.sign.keyPair` or `nacl.sign.keyPair.fromSeed`.\n\n#### nacl.sign.keyPair.fromSeed(seed)\n\nReturns a new signing key pair generated deterministically from a 32-byte seed.\nThe seed must contain enough entropy to be secure. This method is not\nrecommended for general use: instead, use `nacl.sign.keyPair` to generate a new\nkey pair from a random seed.\n\n#### nacl.sign(message, secretKey)\n\nSigns the message using the secret key and returns a signed message.\n\n#### nacl.sign.open(signedMessage, publicKey)\n\nVerifies the signed message and returns the message without signature.\n\nReturns `null` if verification failed.\n\n#### nacl.sign.detached(message, secretKey)\n\nSigns the message using the secret key and returns a signature.\n\n#### nacl.sign.detached.verify(message, signature, publicKey)\n\nVerifies the signature for the message and returns `true` if verification\nsucceeded or `false` if it failed.\n\n#### Constants\n\n##### nacl.sign.publicKeyLength = 32\n\nLength of signing public key in bytes.\n\n##### nacl.sign.secretKeyLength = 64\n\nLength of signing secret key in bytes.\n\n##### nacl.sign.seedLength = 32\n\nLength of seed for `nacl.sign.keyPair.fromSeed` in bytes.\n\n##### nacl.sign.signatureLength = 64\n\nLength of signature in bytes.\n\n\n### Hashing\n\nImplements *SHA-512*.\n\n#### nacl.hash(message)\n\nReturns SHA-512 hash of the message.\n\n#### Constants\n\n##### nacl.hash.hashLength = 64\n\nLength of hash in bytes.\n\n\n### Random bytes generation\n\n#### nacl.randomBytes(length)\n\nReturns a `Uint8Array` of the given length containing random bytes of\ncryptographic quality.\n\n**Implementation note**\n\nTweetNaCl.js uses the following methods to generate random bytes,\ndepending on the platform it runs on:\n\n* `window.crypto.getRandomValues` (WebCrypto standard)\n* `window.msCrypto.getRandomValues` (Internet Explorer 11)\n* `crypto.randomBytes` (Node.js)\n\nIf the platform doesn't provide a suitable PRNG, the following functions,\nwhich require random numbers, will throw exception:\n\n* `nacl.randomBytes`\n* `nacl.box.keyPair`\n* `nacl.sign.keyPair`\n\nOther functions are deterministic and will continue working.\n\nIf a platform you are targeting doesn't implement secure random number\ngenerator, but you somehow have a cryptographically-strong source of entropy\n(not `Math.random`!), and you know what you are doing, you can plug it into\nTweetNaCl.js like this:\n\n nacl.setPRNG(function(x, n) {\n // ... copy n random bytes into x ...\n });\n\nNote that `nacl.setPRNG` *completely replaces* internal random byte generator\nwith the one provided.\n\n\n### Constant-time comparison\n\n#### nacl.verify(x, y)\n\nCompares `x` and `y` in constant time and returns `true` if their lengths are\nnon-zero and equal, and their contents are equal.\n\nReturns `false` if either of the arguments has zero length, or arguments have\ndifferent lengths, or their contents differ.\n\n\nSystem requirements\n-------------------\n\nTweetNaCl.js supports modern browsers that have a cryptographically secure\npseudorandom number generator and typed arrays, including the latest versions\nof:\n\n* Chrome\n* Firefox\n* Safari (Mac, iOS)\n* Internet Explorer 11\n\nOther systems:\n\n* Node.js\n\n\nDevelopment and testing\n------------------------\n\nInstall NPM modules needed for development:\n\n $ npm install\n\nTo build minified versions:\n\n $ npm run build\n\nTests use minified version, so make sure to rebuild it every time you change\n`nacl.js` or `nacl-fast.js`.\n\n### Testing\n\nTo run tests in Node.js:\n\n $ npm run test-node\n\nBy default all tests described here work on `nacl.min.js`. To test other\nversions, set environment variable `NACL_SRC` to the file name you want to test.\nFor example, the following command will test fast minified version:\n\n $ NACL_SRC=nacl-fast.min.js npm run test-node\n\nTo run full suite of tests in Node.js, including comparing outputs of\nJavaScript port to outputs of the original C version:\n\n $ npm run test-node-all\n\nTo prepare tests for browsers:\n\n $ npm run build-test-browser\n\nand then open `test/browser/test.html` (or `test/browser/test-fast.html`) to\nrun them.\n\nTo run tests in both Node and Electron:\n\n $ npm test\n\n### Benchmarking\n\nTo run benchmarks in Node.js:\n\n $ npm run bench\n $ NACL_SRC=nacl-fast.min.js npm run bench\n\nTo run benchmarks in a browser, open `test/benchmark/bench.html` (or\n`test/benchmark/bench-fast.html`).\n\n\nBenchmarks\n----------\n\nFor reference, here are benchmarks from MacBook Pro (Retina, 13-inch, Mid 2014)\nlaptop with 2.6 GHz Intel Core i5 CPU (Intel) in Chrome 53/OS X and Xiaomi Redmi\nNote 3 smartphone with 1.8 GHz Qualcomm Snapdragon 650 64-bit CPU (ARM) in\nChrome 52/Android:\n\n| | nacl.js Intel | nacl-fast.js Intel | nacl.js ARM | nacl-fast.js ARM |\n| ------------- |:-------------:|:-------------------:|:-------------:|:-----------------:|\n| salsa20 | 1.3 MB/s | 128 MB/s | 0.4 MB/s | 43 MB/s |\n| poly1305 | 13 MB/s | 171 MB/s | 4 MB/s | 52 MB/s |\n| hash | 4 MB/s | 34 MB/s | 0.9 MB/s | 12 MB/s |\n| secretbox 1K | 1113 op/s | 57583 op/s | 334 op/s | 14227 op/s |\n| box 1K | 145 op/s | 718 op/s | 37 op/s | 368 op/s |\n| scalarMult | 171 op/s | 733 op/s | 56 op/s | 380 op/s |\n| sign | 77 op/s | 200 op/s | 20 op/s | 61 op/s |\n| sign.open | 39 op/s | 102 op/s | 11 op/s | 31 op/s |\n\n(You can run benchmarks on your devices by clicking on the links at the bottom\nof the [home page](https://tweetnacl.js.org)).\n\nIn short, with *nacl-fast.js* and 1024-byte messages you can expect to encrypt and\nauthenticate more than 57000 messages per second on a typical laptop or more than\n14000 messages per second on a $170 smartphone, sign about 200 and verify 100\nmessages per second on a laptop or 60 and 30 messages per second on a smartphone,\nper CPU core (with Web Workers you can do these operations in parallel),\nwhich is good enough for most applications.\n\n\nContributors\n------------\n\nSee AUTHORS.md file.\n\n\nThird-party libraries based on TweetNaCl.js\n-------------------------------------------\n\n* [forward-secrecy](https://github.com/alax/forward-secrecy) — Axolotl ratchet implementation\n* [nacl-stream](https://github.com/dchest/nacl-stream-js) - streaming encryption\n* [tweetnacl-auth-js](https://github.com/dchest/tweetnacl-auth-js) — implementation of [`crypto_auth`](http://nacl.cr.yp.to/auth.html)\n* [tweetnacl-sealed-box](https://github.com/whs/tweetnacl-sealed-box) — implementation of [`sealed boxes`](https://download.libsodium.org/doc/public-key_cryptography/sealed_boxes.html)\n* [chloride](https://github.com/dominictarr/chloride) - unified API for various NaCl modules\n\n\nWho uses it\n-----------\n\nSome notable users of TweetNaCl.js:\n\n* [GitHub](https://github.com)\n* [MEGA](https://github.com/meganz/webclient)\n* [Stellar](https://www.stellar.org/)\n* [miniLock](https://github.com/kaepora/miniLock)\n","versions":{"0.9.1":{"name":"tweetnacl","version":"0.9.1","description":"Port of TweetNaCl cryptographic library to JavaScript","main":"nacl.js","directories":{"test":"test"},"scripts":{"build":"uglifyjs nacl.js -c -m -o nacl.min.js && uglifyjs nacl-fast.js -c -m -o nacl-fast.min.js","test":"tape test/*.js | faucet","testall":"make -C test/c && tape test/*.js test/c/*.js | faucet","browser":"browserify test/browser/init.js test/*.js | uglifyjs -c -m -o test/browser/_bundle.js 2>/dev/null","browser-quick":"browserify test/browser/init.js test/*.quick.js | uglifyjs -c -m -o test/browser/_bundle-quick.js 2>/dev/null","testling":"browserify test/browser/testling_init.js test/*.js | testling | faucet","firefox":"browserify test/browser/testling_init.js test/*.js | testling -x firefox | faucet","chrome":"browserify test/browser/testling_init.js test/*.js | testling -x google-chrome | faucet","bench":"node test/benchmark/bench.js"},"testling":{"files":"test/*.js","browsers":["ie/11..latest","chrome/22..latest","firefox/16..latest","safari/latest","opera/11.0..latest","iphone/6..latest","ipad/6..latest","android-browser/latest"]},"repository":{"type":"git","url":"https://github.com/dchest/tweetnacl-js.git"},"keywords":["crypto","cryptography","curve25519","ed25519","encrypt","hash","key","nacl","poly1305","public","salsa20","signatures"],"author":{"name":"TweetNaCl-js contributors"},"license":"Public domain","bugs":{"url":"https://github.com/dchest/tweetnacl-js/issues"},"homepage":"https://dchest.github.io/tweetnacl-js","devDependencies":{"browserify":"^4.2.0","faucet":"0.0.1","tap-browser-color":"^0.1.2","tape":"^2.13.3","testling":"^1.7.0","uglify-js":"^2.4.14"},"gitHead":"84a604351a03eca9a9737594cf5b45b31122183f","_id":"tweetnacl@0.9.1","_shasum":"061d781c759b0f4ba6f8c93e71b9cba6d3e61db7","_from":".","_npmVersion":"1.4.14","_npmUser":{"name":"dchest","email":"dmitry@codingrobots.com"},"maintainers":[{"name":"dchest","email":"dmitry@codingrobots.com"}],"dist":{"shasum":"061d781c759b0f4ba6f8c93e71b9cba6d3e61db7","tarball":"http://localhost:4545/npm/registry/tweetnacl/tweetnacl-0.9.1.tgz","integrity":"sha512-q2T8LwkQiCw4LdrNBQiCwCgfeH+7jF4BQO06vJla6WMy9t7rfHQedyE4X1i4fFLz4hVG9T2GSOOsNX65KzNNLQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDRV90oSzuG0wkTrw/bD4RnLvF/yKNLSgWxGqQHS71bqwIhAIvufGLFjis9my4Mzd+tL6ik8Po+K9JXFAOlkVX4lapl"}]}},"0.9.2":{"name":"tweetnacl","version":"0.9.2","description":"Port of TweetNaCl cryptographic library to JavaScript","main":"nacl.js","directories":{"test":"test"},"scripts":{"build":"uglifyjs nacl.js -c -m -o nacl.min.js && uglifyjs nacl-fast.js -c -m -o nacl-fast.min.js","test":"tape test/*.js | faucet","testall":"make -C test/c && tape test/*.js test/c/*.js | faucet","browser":"browserify test/browser/init.js test/*.js | uglifyjs -c -m -o test/browser/_bundle.js 2>/dev/null","browser-quick":"browserify test/browser/init.js test/*.quick.js | uglifyjs -c -m -o test/browser/_bundle-quick.js 2>/dev/null","testling":"browserify test/browser/testling_init.js test/*.js | testling | faucet","firefox":"browserify test/browser/testling_init.js test/*.js | testling -x firefox | faucet","chrome":"browserify test/browser/testling_init.js test/*.js | testling -x google-chrome | faucet","bench":"node test/benchmark/bench.js"},"testling":{"files":"test/*.js","browsers":["ie/11..latest","chrome/22..latest","firefox/16..latest","safari/latest","opera/11.0..latest","iphone/6..latest","ipad/6..latest","android-browser/latest"]},"repository":{"type":"git","url":"https://github.com/dchest/tweetnacl-js.git"},"keywords":["crypto","cryptography","curve25519","ed25519","encrypt","hash","key","nacl","poly1305","public","salsa20","signatures"],"author":{"name":"TweetNaCl-js contributors"},"license":"Public domain","bugs":{"url":"https://github.com/dchest/tweetnacl-js/issues"},"homepage":"https://dchest.github.io/tweetnacl-js","devDependencies":{"browserify":"^4.2.0","faucet":"0.0.1","tap-browser-color":"^0.1.2","tape":"^2.13.3","testling":"^1.7.0","uglify-js":"^2.4.14"},"gitHead":"4389a049194c4bd557f17c7910b278aaf6bbe43f","_id":"tweetnacl@0.9.2","_shasum":"ce6690698ccfa0bb0fe0b12997ec0211900add38","_from":".","_npmVersion":"1.4.14","_npmUser":{"name":"dchest","email":"dmitry@codingrobots.com"},"maintainers":[{"name":"dchest","email":"dmitry@codingrobots.com"}],"dist":{"shasum":"ce6690698ccfa0bb0fe0b12997ec0211900add38","tarball":"http://localhost:4545/npm/registry/tweetnacl/tweetnacl-0.9.2.tgz","integrity":"sha512-/CE4y3TM7nM3uPs4AtsjR9mCRJ6WIZlZO7XyzuBtknbjj45acC/bEAqws51yKUrofXWM7MuZHJzM8nYUgb7NJg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDnm6bIArwde9RYnycO6suT7y1FVWOFwM3Wd9jJASJl8QIgTK9b/EB++phwZiNyurk6FlwuJFh4R17IFrHqSTL6pv8="}]}},"0.10.0":{"name":"tweetnacl","version":"0.10.0","description":"Port of TweetNaCl cryptographic library to JavaScript","main":"nacl.js","directories":{"test":"test"},"scripts":{"build":"uglifyjs nacl.js -c -m -o nacl.min.js && uglifyjs nacl-fast.js -c -m -o nacl-fast.min.js","test":"tape test/*.js | faucet","testall":"make -C test/c && tape test/*.js test/c/*.js | faucet","browser":"browserify test/browser/init.js test/*.js | uglifyjs -c -m -o test/browser/_bundle.js 2>/dev/null","browser-quick":"browserify test/browser/init.js test/*.quick.js | uglifyjs -c -m -o test/browser/_bundle-quick.js 2>/dev/null","testling":"browserify test/browser/testling_init.js test/*.js | testling | faucet","firefox":"browserify test/browser/testling_init.js test/*.js | testling -x firefox | faucet","chrome":"browserify test/browser/testling_init.js test/*.js | testling -x google-chrome | faucet","bench":"node test/benchmark/bench.js"},"testling":{"files":"test/*.js","browsers":["ie/11..latest","chrome/22..latest","firefox/16..latest","safari/latest","opera/11.0..latest","iphone/6..latest","ipad/6..latest","android-browser/latest"]},"repository":{"type":"git","url":"https://github.com/dchest/tweetnacl-js.git"},"keywords":["crypto","cryptography","curve25519","ed25519","encrypt","hash","key","nacl","poly1305","public","salsa20","signatures"],"author":{"name":"TweetNaCl-js contributors"},"license":"Public domain","bugs":{"url":"https://github.com/dchest/tweetnacl-js/issues"},"homepage":"https://dchest.github.io/tweetnacl-js","devDependencies":{"browserify":"^4.2.0","faucet":"0.0.1","tap-browser-color":"^0.1.2","tape":"^2.13.3","testling":"^1.7.0","uglify-js":"^2.4.14"},"gitHead":"4e193660e644b3fcd23eb9404dafc4a143b07fa2","_id":"tweetnacl@0.10.0","_shasum":"4d202f18aa36f1290e09a56150776072310aeec2","_from":".","_npmVersion":"1.4.14","_npmUser":{"name":"dchest","email":"dmitry@codingrobots.com"},"maintainers":[{"name":"dchest","email":"dmitry@codingrobots.com"}],"dist":{"shasum":"4d202f18aa36f1290e09a56150776072310aeec2","tarball":"http://localhost:4545/npm/registry/tweetnacl/tweetnacl-0.10.0.tgz","integrity":"sha512-qBW2B4bsqa1cGWQZGiIDT8SP5/U8Qn1XRAMArRQ7oiOCz7kk5pLInVRZIcvNdy4HA6V0g+p8EAK1HD+XfBqvsw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDpbSTLhRrxvfJjoHGxUqcRr8F3cxO682N1PIkJdQR6egIhALK2yHMcwQMt6NRsd2l//mpY1CbVQGQryNozfAN8X0i+"}]}},"0.10.1":{"name":"tweetnacl","version":"0.10.1","description":"Port of TweetNaCl cryptographic library to JavaScript","main":"nacl.js","directories":{"test":"test"},"scripts":{"build":"uglifyjs nacl.js -c -m -o nacl.min.js && uglifyjs nacl-fast.js -c -m -o nacl-fast.min.js","test":"tape test/*.js | faucet","testall":"make -C test/c && tape test/*.js test/c/*.js | faucet","browser":"browserify test/browser/init.js test/*.js | uglifyjs -c -m -o test/browser/_bundle.js 2>/dev/null","browser-quick":"browserify test/browser/init.js test/*.quick.js | uglifyjs -c -m -o test/browser/_bundle-quick.js 2>/dev/null","testling":"browserify test/browser/testling_init.js test/*.js | testling | faucet","firefox":"browserify test/browser/testling_init.js test/*.js | testling -x firefox | faucet","chrome":"browserify test/browser/testling_init.js test/*.js | testling -x google-chrome | faucet","bench":"node test/benchmark/bench.js"},"testling":{"files":"test/*.js","browsers":["ie/11..latest","chrome/22..latest","firefox/16..latest","safari/latest","opera/11.0..latest","iphone/6..latest","ipad/6..latest","android-browser/latest"]},"repository":{"type":"git","url":"https://github.com/dchest/tweetnacl-js.git"},"keywords":["crypto","cryptography","curve25519","ed25519","encrypt","hash","key","nacl","poly1305","public","salsa20","signatures"],"author":{"name":"TweetNaCl-js contributors"},"license":"Public domain","bugs":{"url":"https://github.com/dchest/tweetnacl-js/issues"},"homepage":"https://dchest.github.io/tweetnacl-js","devDependencies":{"browserify":"^4.2.0","faucet":"0.0.1","tap-browser-color":"^0.1.2","tape":"^2.13.3","testling":"^1.7.0","uglify-js":"^2.4.14"},"gitHead":"decc137b6c651bb4123fddf8c8afe34e86bb3701","_id":"tweetnacl@0.10.1","_shasum":"d0cb2f3d62977b1b9a9ec4060644e99419644d6d","_from":".","_npmVersion":"1.4.14","_npmUser":{"name":"dchest","email":"dmitry@codingrobots.com"},"maintainers":[{"name":"dchest","email":"dmitry@codingrobots.com"}],"dist":{"shasum":"d0cb2f3d62977b1b9a9ec4060644e99419644d6d","tarball":"http://localhost:4545/npm/registry/tweetnacl/tweetnacl-0.10.1.tgz","integrity":"sha512-crt/YvtJXoS8uZMDOUB9fBtYvqa4hBlq+rvjugqTupZM0WwML73rubhURGze2MJPyIxIoXvx83nhbw0ybHorkw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCU0GgHn7QjXk0UO0+Uf/Kv1KXXKmlr5k1Bd2eCcAU6lgIhAJPEi+xhK+6qEVnFflCc1g0VWcMD1WJljW5GTWmd2BOg"}]}},"0.11.0":{"name":"tweetnacl","version":"0.11.0","description":"Port of TweetNaCl cryptographic library to JavaScript","main":"nacl.js","directories":{"test":"test"},"scripts":{"build":"uglifyjs nacl.js -c -m -o nacl.min.js && uglifyjs nacl-fast.js -c -m -o nacl-fast.min.js","test":"tape test/*.js | faucet","testall":"make -C test/c && tape test/*.js test/c/*.js | faucet","browser":"browserify test/browser/init.js test/*.js | uglifyjs -c -m -o test/browser/_bundle.js 2>/dev/null","browser-quick":"browserify test/browser/init.js test/*.quick.js | uglifyjs -c -m -o test/browser/_bundle-quick.js 2>/dev/null","testling":"browserify test/browser/testling_init.js test/*.js | testling | faucet","firefox":"browserify test/browser/testling_init.js test/*.js | testling -x firefox | faucet","chrome":"browserify test/browser/testling_init.js test/*.js | testling -x google-chrome | faucet","bench":"node test/benchmark/bench.js"},"testling":{"files":"test/*.js","browsers":["ie/11..latest","chrome/22..latest","firefox/16..latest","safari/latest","opera/11.0..latest","iphone/6..latest","ipad/6..latest","android-browser/latest"]},"repository":{"type":"git","url":"https://github.com/dchest/tweetnacl-js.git"},"keywords":["crypto","cryptography","curve25519","ed25519","encrypt","hash","key","nacl","poly1305","public","salsa20","signatures"],"author":{"name":"TweetNaCl-js contributors"},"license":"Public domain","bugs":{"url":"https://github.com/dchest/tweetnacl-js/issues"},"homepage":"https://dchest.github.io/tweetnacl-js","devDependencies":{"browserify":"^4.2.0","faucet":"0.0.1","tap-browser-color":"^0.1.2","tape":"^2.13.3","testling":"^1.7.0","uglify-js":"^2.4.14"},"gitHead":"111adafd548a97d729ae32f27d709457adddb250","_id":"tweetnacl@0.11.0","_shasum":"80e2c0f6cd02a4cd877551647957bd66dead4d8f","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dchest","email":"dmitry@codingrobots.com"},"maintainers":[{"name":"dchest","email":"dmitry@codingrobots.com"}],"dist":{"shasum":"80e2c0f6cd02a4cd877551647957bd66dead4d8f","tarball":"http://localhost:4545/npm/registry/tweetnacl/tweetnacl-0.11.0.tgz","integrity":"sha512-k1Iuvk/Dx8D+aZI0I3fRz+xRx5Xv8A9BNPyHRm1MMSJI6OOXKQRGtLMyEiGHrKPeAJdqtavkK7H6higeRsK0lA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD4M6N7whxXd9NsA24F7yb4Z7HtQfsEXbNgcbxNkwpC9AIgB5eJwIu6WicI4+rWlhW8sUaJxtBlKsepUi5wRP1g5Eg="}]}},"0.11.1":{"name":"tweetnacl","version":"0.11.1","description":"Port of TweetNaCl cryptographic library to JavaScript","main":"nacl.js","directories":{"test":"test"},"scripts":{"build":"uglifyjs nacl.js -c -m -o nacl.min.js && uglifyjs nacl-fast.js -c -m -o nacl-fast.min.js","test":"tape test/*.js | faucet","testall":"make -C test/c && tape test/*.js test/c/*.js | faucet","browser":"browserify test/browser/init.js test/*.js | uglifyjs -c -m -o test/browser/_bundle.js 2>/dev/null","browser-quick":"browserify test/browser/init.js test/*.quick.js | uglifyjs -c -m -o test/browser/_bundle-quick.js 2>/dev/null","testling":"browserify test/browser/testling_init.js test/*.js | testling | faucet","firefox":"browserify test/browser/testling_init.js test/*.js | testling -x firefox | faucet","chrome":"browserify test/browser/testling_init.js test/*.js | testling -x google-chrome | faucet","bench":"node test/benchmark/bench.js"},"testling":{"files":"test/*.js","browsers":["ie/11..latest","chrome/22..latest","firefox/16..latest","safari/latest","opera/11.0..latest","iphone/6..latest","ipad/6..latest","android-browser/latest"]},"repository":{"type":"git","url":"https://github.com/dchest/tweetnacl-js.git"},"keywords":["crypto","cryptography","curve25519","ed25519","encrypt","hash","key","nacl","poly1305","public","salsa20","signatures"],"author":{"name":"TweetNaCl-js contributors"},"license":"Public domain","bugs":{"url":"https://github.com/dchest/tweetnacl-js/issues"},"homepage":"https://dchest.github.io/tweetnacl-js","devDependencies":{"browserify":"^4.2.0","faucet":"0.0.1","tap-browser-color":"^0.1.2","tape":"^2.13.3","testling":"^1.7.0","uglify-js":"^2.4.14"},"gitHead":"255f22b2f91b295b47e0980d7af52db0e5c3ee03","_id":"tweetnacl@0.11.1","_shasum":"c79336c9e5b37858a05e541a7f94861ead96e2e9","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dchest","email":"dmitry@codingrobots.com"},"maintainers":[{"name":"dchest","email":"dmitry@codingrobots.com"}],"dist":{"shasum":"c79336c9e5b37858a05e541a7f94861ead96e2e9","tarball":"http://localhost:4545/npm/registry/tweetnacl/tweetnacl-0.11.1.tgz","integrity":"sha512-4pkPxsZZKVkfMR6DlLhnUvI+ZNgZAvCQNxImYwcj3lA/QG0Qq/0VQwJYJGO876zqHQjVMzD1HTwRh7PjKxTpVQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAqmSaa5YunmHxvYZmPeMfQt6Xkpw2E62kURoCBajSm/AiBWLUqZA/EeSHGQYUlawU93gAIsWmt3ugz8c/PbQV6VoA=="}]}},"0.11.2":{"name":"tweetnacl","version":"0.11.2","description":"Port of TweetNaCl cryptographic library to JavaScript","main":"nacl.js","directories":{"test":"test"},"scripts":{"build":"uglifyjs nacl.js -c -m -o nacl.min.js && uglifyjs nacl-fast.js -c -m -o nacl-fast.min.js","test":"tape test/*.js | faucet","testall":"make -C test/c && tape test/*.js test/c/*.js | faucet","browser":"browserify test/browser/init.js test/*.js | uglifyjs -c -m -o test/browser/_bundle.js 2>/dev/null","browser-quick":"browserify test/browser/init.js test/*.quick.js | uglifyjs -c -m -o test/browser/_bundle-quick.js 2>/dev/null","testling":"browserify test/browser/testling_init.js test/*.js | testling | faucet","firefox":"browserify test/browser/testling_init.js test/*.js | testling -x firefox | faucet","chrome":"browserify test/browser/testling_init.js test/*.js | testling -x google-chrome | faucet","bench":"node test/benchmark/bench.js"},"testling":{"files":"test/*.js","browsers":["ie/11..latest","chrome/22..latest","firefox/16..latest","safari/latest","opera/11.0..latest","iphone/6..latest","ipad/6..latest","android-browser/latest"]},"repository":{"type":"git","url":"https://github.com/dchest/tweetnacl-js.git"},"keywords":["crypto","cryptography","curve25519","ed25519","encrypt","hash","key","nacl","poly1305","public","salsa20","signatures"],"author":{"name":"TweetNaCl-js contributors"},"license":"Public domain","bugs":{"url":"https://github.com/dchest/tweetnacl-js/issues"},"homepage":"https://dchest.github.io/tweetnacl-js","devDependencies":{"browserify":"^4.2.0","faucet":"0.0.1","tap-browser-color":"^0.1.2","tape":"^2.13.3","testling":"^1.7.0","uglify-js":"^2.4.14"},"gitHead":"d3597da76ed0141d08565ed329bcda7076fccfcd","_id":"tweetnacl@0.11.2","_shasum":"ed4bce52d1ddbceea3a2c504cd17d364a34f414b","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dchest","email":"dmitry@codingrobots.com"},"maintainers":[{"name":"dchest","email":"dmitry@codingrobots.com"}],"dist":{"shasum":"ed4bce52d1ddbceea3a2c504cd17d364a34f414b","tarball":"http://localhost:4545/npm/registry/tweetnacl/tweetnacl-0.11.2.tgz","integrity":"sha512-o0pZa42jygNGW2Mnu9xhuOI/o0PpDIpKfTLD/nzK2c982C9U8fXwmr3J70Rcueh3aYfm56dNi+uTUZU2Ad/8Eg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIC6E3uUpqlwFHZksANd4IPPvjPYk6KmHWfzCm7bGiu1GAiEA5dzIwKqXWqby5RWyRTUjWZbaDdhDBJDeIXz77e29pfc="}]}},"0.12.0":{"name":"tweetnacl","version":"0.12.0","description":"Port of TweetNaCl cryptographic library to JavaScript","main":"nacl.js","directories":{"test":"test"},"scripts":{"build":"uglifyjs nacl.js -c -m -o nacl.min.js && uglifyjs nacl-fast.js -c -m -o nacl-fast.min.js","test":"tape test/*.js | faucet","testall":"make -C test/c && tape test/*.js test/c/*.js | faucet","browser":"browserify test/browser/init.js test/*.js | uglifyjs -c -m -o test/browser/_bundle.js 2>/dev/null","browser-quick":"browserify test/browser/init.js test/*.quick.js | uglifyjs -c -m -o test/browser/_bundle-quick.js 2>/dev/null","testling":"browserify test/browser/testling_init.js test/*.js | testling | faucet","firefox":"browserify test/browser/testling_init.js test/*.js | testling -x firefox | faucet","chrome":"browserify test/browser/testling_init.js test/*.js | testling -x google-chrome | faucet","bench":"node test/benchmark/bench.js"},"testling":{"files":"test/*.js","browsers":["ie/11..latest","chrome/22..latest","firefox/16..latest","safari/latest","opera/11.0..latest","iphone/6..latest","ipad/6..latest","android-browser/latest"]},"repository":{"type":"git","url":"https://github.com/dchest/tweetnacl-js.git"},"keywords":["crypto","cryptography","curve25519","ed25519","encrypt","hash","key","nacl","poly1305","public","salsa20","signatures"],"author":{"name":"TweetNaCl-js contributors"},"license":"Public domain","bugs":{"url":"https://github.com/dchest/tweetnacl-js/issues"},"homepage":"https://dchest.github.io/tweetnacl-js","devDependencies":{"browserify":"4.x.x","faucet":"0.x.x","tap-browser-color":"0.x.x","tape":"2.x.x","testling":"1.x.x","uglify-js":"2.x.x"},"gitHead":"defcf332adb945e5659d34bf3ee13e2d325a6bce","_id":"tweetnacl@0.12.0","_shasum":"2a23aee15925799bd627fc586642d7feaea37bbf","_from":".","_npmVersion":"2.0.0-beta.0","_npmUser":{"name":"dchest","email":"dmitry@codingrobots.com"},"maintainers":[{"name":"dchest","email":"dmitry@codingrobots.com"}],"dist":{"shasum":"2a23aee15925799bd627fc586642d7feaea37bbf","tarball":"http://localhost:4545/npm/registry/tweetnacl/tweetnacl-0.12.0.tgz","integrity":"sha512-NWh/vV2Asa2V24qLfHSS3SRK4tz/h9jpGaWaWZPC/rVX+YF46S+YVFnbWo7KXUgMWYZhyc3YC/irXdmZZA6sqg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEb3+z9KLPrE4qSfYCJpRS99t7clGRNkvWx/ygZFCuqAAiBWdlSVE4+lDaIi0Xo2qvsgYyRbz8y7AdSW7D5nrz9tpg=="}]}},"0.12.1":{"name":"tweetnacl","version":"0.12.1","description":"Port of TweetNaCl cryptographic library to JavaScript","main":"nacl.js","directories":{"test":"test"},"scripts":{"build":"uglifyjs nacl.js -c -m -o nacl.min.js && uglifyjs nacl-fast.js -c -m -o nacl-fast.min.js","test":"tape test/*.js | faucet","testall":"make -C test/c && tape test/*.js test/c/*.js | faucet","browser":"browserify test/browser/init.js test/*.js | uglifyjs -c -m -o test/browser/_bundle.js 2>/dev/null","browser-quick":"browserify test/browser/init.js test/*.quick.js | uglifyjs -c -m -o test/browser/_bundle-quick.js 2>/dev/null","testling":"browserify test/browser/testling_init.js test/*.js | testling | faucet","firefox":"browserify test/browser/testling_init.js test/*.js | testling -x firefox | faucet","chrome":"browserify test/browser/testling_init.js test/*.js | testling -x google-chrome | faucet","bench":"node test/benchmark/bench.js"},"testling":{"files":"test/*.js","browsers":["ie/11..latest","chrome/22..latest","firefox/16..latest","safari/latest","opera/11.0..latest","iphone/6..latest","ipad/6..latest","android-browser/latest"]},"repository":{"type":"git","url":"https://github.com/dchest/tweetnacl-js.git"},"keywords":["crypto","cryptography","curve25519","ed25519","encrypt","hash","key","nacl","poly1305","public","salsa20","signatures"],"author":{"name":"TweetNaCl-js contributors"},"license":"Public domain","bugs":{"url":"https://github.com/dchest/tweetnacl-js/issues"},"homepage":"https://dchest.github.io/tweetnacl-js","devDependencies":{"browserify":"4.x.x","faucet":"0.x.x","tap-browser-color":"0.x.x","tape":"2.x.x","testling":"1.x.x","uglify-js":"2.x.x"},"gitHead":"a811228a7c40929a76ff17fc4a8da39bcc064dd6","_id":"tweetnacl@0.12.1","_shasum":"11231bac11b56f88e2dd594f283ef14d47b943e0","_from":".","_npmVersion":"2.0.0-beta.0","_npmUser":{"name":"dchest","email":"dmitry@codingrobots.com"},"maintainers":[{"name":"dchest","email":"dmitry@codingrobots.com"}],"dist":{"shasum":"11231bac11b56f88e2dd594f283ef14d47b943e0","tarball":"http://localhost:4545/npm/registry/tweetnacl/tweetnacl-0.12.1.tgz","integrity":"sha512-An9aguC+043ncSoir3Igo7lGvpWD7SuLQqHmuNiwp2wMQus8ha9s8f7XOxFEocbmk6bPM4/J7lilzF7f0DkYjA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIF2qOiEFcNAxwYc2Wwco4dDbBerDpbo1H0ARLOMlgZpEAiEAhCYFk8GFinoy4aGquO9YgGA5WKXoWJ5HwsyHBUctbyg="}]}},"0.12.2":{"name":"tweetnacl","version":"0.12.2","description":"Port of TweetNaCl cryptographic library to JavaScript","main":"nacl.js","directories":{"test":"test"},"scripts":{"build":"uglifyjs nacl.js -c -m -o nacl.min.js && uglifyjs nacl-fast.js -c -m -o nacl-fast.min.js","test":"tape test/*.js | faucet","testall":"make -C test/c && tape test/*.js test/c/*.js | faucet","browser":"browserify test/browser/init.js test/*.js | uglifyjs -c -m -o test/browser/_bundle.js 2>/dev/null","browser-quick":"browserify test/browser/init.js test/*.quick.js | uglifyjs -c -m -o test/browser/_bundle-quick.js 2>/dev/null","testling":"browserify test/browser/testling_init.js test/*.js | testling | faucet","firefox":"browserify test/browser/testling_init.js test/*.js | testling -x firefox | faucet","chrome":"browserify test/browser/testling_init.js test/*.js | testling -x google-chrome | faucet","bench":"node test/benchmark/bench.js"},"testling":{"files":"test/*.js","browsers":["ie/11..latest","chrome/22..latest","firefox/16..latest","safari/latest","opera/11.0..latest","iphone/6..latest","ipad/6..latest","android-browser/latest"]},"repository":{"type":"git","url":"https://github.com/dchest/tweetnacl-js.git"},"keywords":["crypto","cryptography","curve25519","ed25519","encrypt","hash","key","nacl","poly1305","public","salsa20","signatures"],"author":{"name":"TweetNaCl-js contributors"},"license":"Public domain","bugs":{"url":"https://github.com/dchest/tweetnacl-js/issues"},"homepage":"https://dchest.github.io/tweetnacl-js","devDependencies":{"browserify":"4.x.x","faucet":"0.x.x","tap-browser-color":"0.x.x","tape":"2.x.x","testling":"1.x.x","uglify-js":"2.x.x"},"gitHead":"8a21381d696acdc4e99c9f706f1ad23285795f79","_id":"tweetnacl@0.12.2","_shasum":"bd59f890507856fb0a1136acc3a8b44547e29ddb","_from":".","_npmVersion":"2.0.0-beta.0","_npmUser":{"name":"dchest","email":"dmitry@codingrobots.com"},"maintainers":[{"name":"dchest","email":"dmitry@codingrobots.com"}],"dist":{"shasum":"bd59f890507856fb0a1136acc3a8b44547e29ddb","tarball":"http://localhost:4545/npm/registry/tweetnacl/tweetnacl-0.12.2.tgz","integrity":"sha512-daw2PNhLZNN5sqvT7NfRcI2uH25gHpbaHxzWJMrF8IiWRW+RkFnD3tr3N5F2tXw1vj7VHI54Hyed5WKgU6I58g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDPxnzqgUzHkkSiuoenviWDJe48hUrTD9fZQSph6TEIUwIhAPvaNpBmUHf0B7WwtTcqmrB6mhcvBUHeRmUeaAb9gYeA"}]}},"0.13.0":{"name":"tweetnacl","version":"0.13.0","description":"Port of TweetNaCl cryptographic library to JavaScript","main":"nacl-fast.js","directories":{"test":"test"},"scripts":{"build":"uglifyjs nacl.js -c -m -o nacl.min.js && uglifyjs nacl-fast.js -c -m -o nacl-fast.min.js","test":"tape test/*.js | faucet","testall":"make -C test/c && tape test/*.js test/c/*.js | faucet","browser":"browserify test/browser/init.js test/*.js | uglifyjs -c -m -o test/browser/_bundle.js 2>/dev/null","browser-quick":"browserify test/browser/init.js test/*.quick.js | uglifyjs -c -m -o test/browser/_bundle-quick.js 2>/dev/null","testling":"browserify test/browser/testling_init.js test/*.js | testling | faucet","firefox":"browserify test/browser/testling_init.js test/*.js | testling -x firefox | faucet","chrome":"browserify test/browser/testling_init.js test/*.js | testling -x google-chrome | faucet","bench":"node test/benchmark/bench.js"},"testling":{"files":"test/*.js","browsers":["chrome/22..latest","firefox/16..latest","safari/latest","opera/11.0..latest","iphone/6..latest","ipad/6..latest","android-browser/latest"]},"repository":{"type":"git","url":"https://github.com/dchest/tweetnacl-js.git"},"keywords":["crypto","cryptography","curve25519","ed25519","encrypt","hash","key","nacl","poly1305","public","salsa20","signatures"],"author":{"name":"TweetNaCl-js contributors"},"license":"Public domain","bugs":{"url":"https://github.com/dchest/tweetnacl-js/issues"},"homepage":"https://dchest.github.io/tweetnacl-js","devDependencies":{"browserify":"4.x.x","faucet":"0.x.x","tap-browser-color":"0.x.x","tape":"2.x.x","testling":"1.x.x","uglify-js":"2.x.x"},"gitHead":"b40db2cad07ceb9285ca616afc84318b9b751770","_id":"tweetnacl@0.13.0","_shasum":"884ce855c8f2bb03bfcbe9c7e82d854229fbee67","_from":".","_npmVersion":"2.1.14","_nodeVersion":"0.10.35","_npmUser":{"name":"dchest","email":"dmitry@codingrobots.com"},"maintainers":[{"name":"dchest","email":"dmitry@codingrobots.com"}],"dist":{"shasum":"884ce855c8f2bb03bfcbe9c7e82d854229fbee67","tarball":"http://localhost:4545/npm/registry/tweetnacl/tweetnacl-0.13.0.tgz","integrity":"sha512-lssn34Avxz7qAK8ykc9sW/dCFyic/Ts2mKcrykO5g6j+3/096qdzreypQLzVCUMxrZeJPWWe4tLZZufilge+9w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGSU1mBk7gh0WTnTV3Nb5wQR+snBuqNxrnmUkp9or1ISAiEAsGnuJ7RlF3xW2rvMlG2MTTIvCB+cMy6q/YZDH0dSIuM="}]}},"0.13.1":{"name":"tweetnacl","version":"0.13.1","description":"Port of TweetNaCl cryptographic library to JavaScript","main":"nacl-fast.js","directories":{"test":"test"},"scripts":{"build":"uglifyjs nacl.js -c -m -o nacl.min.js && uglifyjs nacl-fast.js -c -m -o nacl-fast.min.js","test":"tape test/*.js | faucet","testall":"make -C test/c && tape test/*.js test/c/*.js | faucet","browser":"browserify test/browser/init.js test/*.js | uglifyjs -c -m -o test/browser/_bundle.js 2>/dev/null","browser-quick":"browserify test/browser/init.js test/*.quick.js | uglifyjs -c -m -o test/browser/_bundle-quick.js 2>/dev/null","testling":"browserify test/browser/testling_init.js test/*.js | testling | faucet","firefox":"browserify test/browser/testling_init.js test/*.js | testling -x firefox | faucet","chrome":"browserify test/browser/testling_init.js test/*.js | testling -x google-chrome | faucet","bench":"node test/benchmark/bench.js"},"testling":{"files":"test/*.js","browsers":["chrome/22..latest","firefox/16..latest","safari/latest","opera/11.0..latest","iphone/6..latest","ipad/6..latest","android-browser/latest"]},"repository":{"type":"git","url":"https://github.com/dchest/tweetnacl-js.git"},"keywords":["crypto","cryptography","curve25519","ed25519","encrypt","hash","key","nacl","poly1305","public","salsa20","signatures"],"author":{"name":"TweetNaCl-js contributors"},"license":"Public domain","bugs":{"url":"https://github.com/dchest/tweetnacl-js/issues"},"homepage":"https://dchest.github.io/tweetnacl-js","devDependencies":{"browserify":"4.x.x","faucet":"0.x.x","tap-browser-color":"0.x.x","tape":"2.x.x","testling":"1.x.x","uglify-js":"2.x.x"},"browser":{"buffer":false,"crypto":false},"gitHead":"abfbce7c68c8ad0b3b8a90b769e1f67885237aac","_id":"tweetnacl@0.13.1","_shasum":"568d436b13aeb7e32adba6e16df9173008a581ad","_from":".","_npmVersion":"2.7.6","_nodeVersion":"0.12.1","_npmUser":{"name":"dchest","email":"dmitry@codingrobots.com"},"dist":{"shasum":"568d436b13aeb7e32adba6e16df9173008a581ad","tarball":"http://localhost:4545/npm/registry/tweetnacl/tweetnacl-0.13.1.tgz","integrity":"sha512-ttOOE2Rj8zynAlplICrHt4p/w7HB5SyKTn2x/Fr+9bBef0HD1yZK1lnyeWDX8ltHbq6y/tFj351s5ahvUxtufg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEKxnbEE/57HK1QBXxiSouMVTlpMGnQZyX03FJ45ZU6nAiAlgLNGVv3Q5TwQ5eNOiWb2XrJdUbYoskvWjt7/gF9dwg=="}]},"maintainers":[{"name":"dchest","email":"dmitry@codingrobots.com"}]},"0.13.2":{"name":"tweetnacl","version":"0.13.2","description":"Port of TweetNaCl cryptographic library to JavaScript","main":"nacl-fast.js","directories":{"test":"test"},"scripts":{"build":"uglifyjs nacl.js -c -m -o nacl.min.js && uglifyjs nacl-fast.js -c -m -o nacl-fast.min.js","test":"tape test/*.js | faucet","testall":"make -C test/c && tape test/*.js test/c/*.js | faucet","browser":"browserify test/browser/init.js test/*.js | uglifyjs -c -m -o test/browser/_bundle.js 2>/dev/null","browser-quick":"browserify test/browser/init.js test/*.quick.js | uglifyjs -c -m -o test/browser/_bundle-quick.js 2>/dev/null","testling":"browserify test/browser/testling_init.js test/*.js | testling | faucet","firefox":"browserify test/browser/testling_init.js test/*.js | testling -x firefox | faucet","chrome":"browserify test/browser/testling_init.js test/*.js | testling -x google-chrome | faucet","bench":"node test/benchmark/bench.js","lint":"eslint nacl.js nacl-fast.js test/*.js test/benchmark/*.js"},"testling":{"files":"test/*.js","browsers":["chrome/22..latest","firefox/16..latest","safari/latest","opera/11.0..latest","iphone/6..latest","ipad/6..latest","android-browser/latest"]},"repository":{"type":"git","url":"git+https://github.com/dchest/tweetnacl-js.git"},"keywords":["crypto","cryptography","curve25519","ed25519","encrypt","hash","key","nacl","poly1305","public","salsa20","signatures"],"author":{"name":"TweetNaCl-js contributors"},"license":"CC0-1.0","bugs":{"url":"https://github.com/dchest/tweetnacl-js/issues"},"homepage":"https://dchest.github.io/tweetnacl-js","devDependencies":{"browserify":"^10.1.3","eslint":"^1.4.3","faucet":"0.0.1","tap-browser-color":"^0.1.2","tape":"^4.0.0","testling":"^1.7.1","uglify-js":"^2.4.21"},"browser":{"buffer":false,"crypto":false},"gitHead":"f093f0c34fbab5caf51f3ed9a48149c37041abb3","_id":"tweetnacl@0.13.2","_shasum":"453161770469d45cd266c36404e2bc99a8fa9944","_from":".","_npmVersion":"2.12.1","_nodeVersion":"0.12.7","_npmUser":{"name":"dchest","email":"dmitry@codingrobots.com"},"dist":{"shasum":"453161770469d45cd266c36404e2bc99a8fa9944","tarball":"http://localhost:4545/npm/registry/tweetnacl/tweetnacl-0.13.2.tgz","integrity":"sha512-0GNqTnmku6EA6waS9inyln37bhdSJFGZsusHB4OEN+qew6uAwqx9fQEujTzM1CIQUWJlAESNlEtqdJdl2sa13Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHaVf3Z2dVYsLcpTg7mJXFi9PQ9WIBHWEW4yrT0bhh76AiEA9Z0NpdefJR+24fLBgNW8jvKKVXeXpBvqFqck4C/XLS4="}]},"maintainers":[{"name":"dchest","email":"dmitry@codingrobots.com"}]},"0.13.3":{"name":"tweetnacl","version":"0.13.3","description":"Port of TweetNaCl cryptographic library to JavaScript","main":"nacl-fast.js","directories":{"test":"test"},"scripts":{"build":"uglifyjs nacl.js -c -m -o nacl.min.js && uglifyjs nacl-fast.js -c -m -o nacl-fast.min.js","test":"tape test/*.js | faucet","testall":"make -C test/c && tape test/*.js test/c/*.js | faucet","browser":"browserify test/browser/init.js test/*.js | uglifyjs -c -m -o test/browser/_bundle.js 2>/dev/null","browser-quick":"browserify test/browser/init.js test/*.quick.js | uglifyjs -c -m -o test/browser/_bundle-quick.js 2>/dev/null","testling":"browserify test/browser/testling_init.js test/*.js | testling | faucet","firefox":"browserify test/browser/testling_init.js test/*.js | testling -x firefox | faucet","chrome":"browserify test/browser/testling_init.js test/*.js | testling -x google-chrome | faucet","bench":"node test/benchmark/bench.js","lint":"eslint nacl.js nacl-fast.js test/*.js test/benchmark/*.js"},"testling":{"files":"test/*.js","browsers":["chrome/22..latest","firefox/16..latest","safari/latest","opera/11.0..latest","iphone/6..latest","ipad/6..latest","android-browser/latest"]},"repository":{"type":"git","url":"git+https://github.com/dchest/tweetnacl-js.git"},"keywords":["crypto","cryptography","curve25519","ed25519","encrypt","hash","key","nacl","poly1305","public","salsa20","signatures"],"author":{"name":"TweetNaCl-js contributors"},"license":"Public domain","bugs":{"url":"https://github.com/dchest/tweetnacl-js/issues"},"homepage":"https://dchest.github.io/tweetnacl-js","devDependencies":{"browserify":"^10.1.3","eslint":"^1.4.3","faucet":"0.0.1","tap-browser-color":"^0.1.2","tape":"^4.0.0","testling":"^1.7.1","uglify-js":"^2.4.21"},"browser":{"buffer":false,"crypto":false},"gitHead":"2bb422cb707fba4a5ec9654688564a4fb861b068","_id":"tweetnacl@0.13.3","_shasum":"d628b56f3bcc3d5ae74ba9d4c1a704def5ab4b56","_from":".","_npmVersion":"2.14.7","_nodeVersion":"4.2.3","_npmUser":{"name":"dchest","email":"dmitry@codingrobots.com"},"dist":{"shasum":"d628b56f3bcc3d5ae74ba9d4c1a704def5ab4b56","tarball":"http://localhost:4545/npm/registry/tweetnacl/tweetnacl-0.13.3.tgz","integrity":"sha512-iNWodk4oBsZ03Qfw/Yvv0KB90uYrJqvL4Je7Gy4C5t/GS3sCXPRmIT1lxmId4RzvUp0XG62bcxJ2CBu/3L5DSg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGRbAOBkCDIQbCmxIDQtLeQ0mDdMFSzDVcG75BFc7RksAiBb7hE/vjmmqlZHMJgfHIlpXEnxLSW2gFGqEt17Li017w=="}]},"maintainers":[{"name":"dchest","email":"dmitry@codingrobots.com"}]},"0.14.0":{"name":"tweetnacl","version":"0.14.0","description":"Port of TweetNaCl cryptographic library to JavaScript","main":"nacl-fast.js","directories":{"test":"test"},"scripts":{"build":"uglifyjs nacl.js -c -m -o nacl.min.js && uglifyjs nacl-fast.js -c -m -o nacl-fast.min.js","test-node":"tape test/*.js | faucet","test-node-all":"make -C test/c && tape test/*.js test/c/*.js | faucet","test-browser":"NACL_SRC=${NACL_SRC:='nacl.min.js'} && npm run build-test-browser && cat $NACL_SRC test/browser/_bundle.js | tape-run | faucet","build-test-browser":"browserify test/browser/init.js test/*.js | uglifyjs -c -m -o test/browser/_bundle.js 2>/dev/null && browserify test/browser/init.js test/*.quick.js | uglifyjs -c -m -o test/browser/_bundle-quick.js 2>/dev/null","test":"npm run test-node-all && npm run test-browser","bench":"node test/benchmark/bench.js","lint":"eslint nacl.js nacl-fast.js test/*.js test/benchmark/*.js"},"repository":{"type":"git","url":"git+https://github.com/dchest/tweetnacl-js.git"},"keywords":["crypto","cryptography","curve25519","ed25519","encrypt","hash","key","nacl","poly1305","public","salsa20","signatures"],"author":{"name":"TweetNaCl-js contributors"},"license":"Public domain","bugs":{"url":"https://github.com/dchest/tweetnacl-js/issues"},"homepage":"https://tweetnacl.js.org","devDependencies":{"browserify":"^13.0.0","eslint":"^2.2.0","faucet":"^0.0.1","tap-browser-color":"^0.1.2","tape":"^4.4.0","tape-run":"^2.1.3","tweetnacl-util":"^0.13.3","uglify-js":"^2.6.1"},"browser":{"buffer":false,"crypto":false},"gitHead":"eff9ede198032894b29065e486f34de8b892b428","_id":"tweetnacl@0.14.0","_shasum":"59e665d00089311259954eac16cfb35d1c7eb130","_from":".","_npmVersion":"3.6.0","_nodeVersion":"5.6.0","_npmUser":{"name":"dchest","email":"dmitry@codingrobots.com"},"dist":{"shasum":"59e665d00089311259954eac16cfb35d1c7eb130","tarball":"http://localhost:4545/npm/registry/tweetnacl/tweetnacl-0.14.0.tgz","integrity":"sha512-N8+mQV47WUS0j6oXMMzYnteQfyotAUyPXaXlz6t80mlaZYVHz/bSTiRpkNReD949gfbLK6B/gcP6nZRXV7RRDw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEj65yMT0aaRm/A14qX7443NhkU4lSflCZ6DaDiS3MWGAiEAj9emnABk9goklS1knYJQtgpOlycI24L7mhzD8vP4Mbw="}]},"maintainers":[{"name":"dchest","email":"dmitry@codingrobots.com"}],"_npmOperationalInternal":{"host":"packages-9-west.internal.npmjs.com","tmp":"tmp/tweetnacl-0.14.0.tgz_1455984444410_0.7439826326444745"}},"0.14.1":{"name":"tweetnacl","version":"0.14.1","description":"Port of TweetNaCl cryptographic library to JavaScript","main":"nacl-fast.js","directories":{"test":"test"},"scripts":{"build":"uglifyjs nacl.js -c -m -o nacl.min.js && uglifyjs nacl-fast.js -c -m -o nacl-fast.min.js","test-node":"tape test/*.js | faucet","test-node-all":"make -C test/c && tape test/*.js test/c/*.js | faucet","test-browser":"NACL_SRC=${NACL_SRC:='nacl.min.js'} && npm run build-test-browser && cat $NACL_SRC test/browser/_bundle.js | tape-run | faucet","build-test-browser":"browserify test/browser/init.js test/*.js | uglifyjs -c -m -o test/browser/_bundle.js 2>/dev/null && browserify test/browser/init.js test/*.quick.js | uglifyjs -c -m -o test/browser/_bundle-quick.js 2>/dev/null","test":"npm run test-node-all && npm run test-browser","bench":"node test/benchmark/bench.js","lint":"eslint nacl.js nacl-fast.js test/*.js test/benchmark/*.js"},"repository":{"type":"git","url":"git+https://github.com/dchest/tweetnacl-js.git"},"keywords":["crypto","cryptography","curve25519","ed25519","encrypt","hash","key","nacl","poly1305","public","salsa20","signatures"],"author":{"name":"TweetNaCl-js contributors"},"license":"SEE LICENSE IN COPYING.txt","bugs":{"url":"https://github.com/dchest/tweetnacl-js/issues"},"homepage":"https://tweetnacl.js.org","devDependencies":{"browserify":"^13.0.0","eslint":"^2.2.0","faucet":"^0.0.1","tap-browser-color":"^0.1.2","tape":"^4.4.0","tape-run":"^2.1.3","tweetnacl-util":"^0.13.3","uglify-js":"^2.6.1"},"browser":{"buffer":false,"crypto":false},"gitHead":"e4e8b4d8c882f5de3bcfc4262ea15d86f7f482d5","_id":"tweetnacl@0.14.1","_shasum":"37c6a1fb5cd4b63b7acee450d8419d9c0024cc03","_from":".","_npmVersion":"3.6.0","_nodeVersion":"5.6.0","_npmUser":{"name":"dchest","email":"dmitry@codingrobots.com"},"dist":{"shasum":"37c6a1fb5cd4b63b7acee450d8419d9c0024cc03","tarball":"http://localhost:4545/npm/registry/tweetnacl/tweetnacl-0.14.1.tgz","integrity":"sha512-MqNwu8ZaZ54O1L7Ow61WcfqqqKYXruYacRkAH1GYBiXSP4Rq2PXBzP37Xh5iE6vn06/tCmo5pUZhSTW8ccUYuA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAPQRrBz8LJmA3lyy5HSuQOQJVmyLy8fHVJ1Md4cbcIeAiBkEUkL9ugvmg93wcQPpOzYvMkSLU/Kb/2H6ACnz0MnGQ=="}]},"maintainers":[{"name":"dchest","email":"dmitry@codingrobots.com"}],"_npmOperationalInternal":{"host":"packages-9-west.internal.npmjs.com","tmp":"tmp/tweetnacl-0.14.1.tgz_1456360522655_0.3124228978995234"}},"0.14.2":{"name":"tweetnacl","version":"0.14.2","description":"Port of TweetNaCl cryptographic library to JavaScript","main":"nacl-fast.js","directories":{"test":"test"},"scripts":{"build":"uglifyjs nacl.js -c -m -o nacl.min.js && uglifyjs nacl-fast.js -c -m -o nacl-fast.min.js","test-node":"tape test/*.js | faucet","test-node-all":"make -C test/c && tape test/*.js test/c/*.js | faucet","test-browser":"NACL_SRC=${NACL_SRC:='nacl.min.js'} && npm run build-test-browser && cat $NACL_SRC test/browser/_bundle.js | tape-run | faucet","build-test-browser":"browserify test/browser/init.js test/*.js | uglifyjs -c -m -o test/browser/_bundle.js 2>/dev/null && browserify test/browser/init.js test/*.quick.js | uglifyjs -c -m -o test/browser/_bundle-quick.js 2>/dev/null","test":"npm run test-node-all && npm run test-browser","bench":"node test/benchmark/bench.js","lint":"eslint nacl.js nacl-fast.js test/*.js test/benchmark/*.js"},"repository":{"type":"git","url":"git+https://github.com/dchest/tweetnacl-js.git"},"keywords":["crypto","cryptography","curve25519","ed25519","encrypt","hash","key","nacl","poly1305","public","salsa20","signatures"],"author":{"name":"TweetNaCl-js contributors"},"license":"SEE LICENSE IN COPYING.txt","bugs":{"url":"https://github.com/dchest/tweetnacl-js/issues"},"homepage":"https://tweetnacl.js.org","devDependencies":{"browserify":"^13.0.0","eslint":"^2.2.0","faucet":"^0.0.1","tap-browser-color":"^0.1.2","tape":"^4.4.0","tape-run":"^2.1.3","tweetnacl-util":"^0.13.3","uglify-js":"^2.6.1"},"browser":{"buffer":false,"crypto":false},"gitHead":"5869cd970287971fd4ebeb3e80093e382014c0ec","_id":"tweetnacl@0.14.2","_shasum":"79f38003a8be74757846ff6479f2152034808134","_from":".","_npmVersion":"3.7.3","_nodeVersion":"5.6.0","_npmUser":{"name":"dchest","email":"dmitry@codingrobots.com"},"dist":{"shasum":"79f38003a8be74757846ff6479f2152034808134","tarball":"http://localhost:4545/npm/registry/tweetnacl/tweetnacl-0.14.2.tgz","integrity":"sha512-cS2P0drHOGRMmFRiVcG280112+oUY0yms1HQPfOl2yUXXO5o2QjjxHJCyNikr8ccLdZJqd9LJZivM+vSyxI9Kg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBCNeNkY7XvM0lWetT1AbshdhjiUEu07R4PvMrTOFJcfAiAS9Sg+ScmnPbn6HJISsCThpIwKGfPWaorqK/HL3HuVyw=="}]},"maintainers":[{"name":"dchest","email":"dmitry@codingrobots.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/tweetnacl-0.14.2.tgz_1459187390463_0.6325501962564886"}},"0.14.3":{"name":"tweetnacl","version":"0.14.3","description":"Port of TweetNaCl cryptographic library to JavaScript","main":"nacl-fast.js","directories":{"test":"test"},"scripts":{"build":"uglifyjs nacl.js -c -m -o nacl.min.js && uglifyjs nacl-fast.js -c -m -o nacl-fast.min.js","test-node":"tape test/*.js | faucet","test-node-all":"make -C test/c && tape test/*.js test/c/*.js | faucet","test-browser":"NACL_SRC=${NACL_SRC:='nacl.min.js'} && npm run build-test-browser && cat $NACL_SRC test/browser/_bundle.js | tape-run | faucet","build-test-browser":"browserify test/browser/init.js test/*.js | uglifyjs -c -m -o test/browser/_bundle.js 2>/dev/null && browserify test/browser/init.js test/*.quick.js | uglifyjs -c -m -o test/browser/_bundle-quick.js 2>/dev/null","test":"npm run test-node-all && npm run test-browser","bench":"node test/benchmark/bench.js","lint":"eslint nacl.js nacl-fast.js test/*.js test/benchmark/*.js"},"repository":{"type":"git","url":"git+https://github.com/dchest/tweetnacl-js.git"},"keywords":["crypto","cryptography","curve25519","ed25519","encrypt","hash","key","nacl","poly1305","public","salsa20","signatures"],"author":{"name":"TweetNaCl-js contributors"},"license":"SEE LICENSE IN COPYING.txt","bugs":{"url":"https://github.com/dchest/tweetnacl-js/issues"},"homepage":"https://tweetnacl.js.org","devDependencies":{"browserify":"^13.0.0","eslint":"^2.2.0","faucet":"^0.0.1","tap-browser-color":"^0.1.2","tape":"^4.4.0","tape-run":"^2.1.3","tweetnacl-util":"^0.13.3","uglify-js":"^2.6.1"},"browser":{"buffer":false,"crypto":false},"gitHead":"3eb4fc544a2a1d6c0a41b98b9906288ca8b087e4","_id":"tweetnacl@0.14.3","_shasum":"3da382f670f25ded78d7b3d1792119bca0b7132d","_from":".","_npmVersion":"3.7.3","_nodeVersion":"5.6.0","_npmUser":{"name":"dchest","email":"dmitry@codingrobots.com"},"dist":{"shasum":"3da382f670f25ded78d7b3d1792119bca0b7132d","tarball":"http://localhost:4545/npm/registry/tweetnacl/tweetnacl-0.14.3.tgz","integrity":"sha512-wv+W579MMQ7iwO2XcHk72RPnBwAyRFMjizSdncxpyCHgA3jzbe8VQ5yGY5HEejR3AyywFaGIo5cJRR6ENdzFIA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDIAqfZRj1n+TMiv4wZuEYf0QWZ5eW2sbwkpyhJoDu4QgIgCHueNuirXC6baR4UaMCEzUYvAqAzcq9fxGOBtzCGDRA="}]},"maintainers":[{"name":"dchest","email":"dmitry@codingrobots.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/tweetnacl-0.14.3.tgz_1459224951636_0.7403244483284652"}},"0.14.4":{"name":"tweetnacl","version":"0.14.4","description":"Port of TweetNaCl cryptographic library to JavaScript","main":"nacl-fast.js","types":"nacl.d.ts","directories":{"test":"test"},"scripts":{"build":"uglifyjs nacl.js -c -m -o nacl.min.js && uglifyjs nacl-fast.js -c -m -o nacl-fast.min.js","test-node":"tape test/*.js | faucet","test-node-all":"make -C test/c && tape test/*.js test/c/*.js | faucet","test-browser":"NACL_SRC=${NACL_SRC:='nacl.min.js'} && npm run build-test-browser && cat $NACL_SRC test/browser/_bundle.js | tape-run | faucet","build-test-browser":"browserify test/browser/init.js test/*.js | uglifyjs -c -m -o test/browser/_bundle.js 2>/dev/null && browserify test/browser/init.js test/*.quick.js | uglifyjs -c -m -o test/browser/_bundle-quick.js 2>/dev/null","test":"npm run test-node-all && npm run test-browser","bench":"node test/benchmark/bench.js","lint":"eslint nacl.js nacl-fast.js test/*.js test/benchmark/*.js"},"repository":{"type":"git","url":"git+https://github.com/dchest/tweetnacl-js.git"},"keywords":["crypto","cryptography","curve25519","ed25519","encrypt","hash","key","nacl","poly1305","public","salsa20","signatures"],"author":{"name":"TweetNaCl-js contributors"},"license":"SEE LICENSE IN COPYING.txt","bugs":{"url":"https://github.com/dchest/tweetnacl-js/issues"},"homepage":"https://tweetnacl.js.org","devDependencies":{"browserify":"^13.0.0","eslint":"^2.2.0","faucet":"^0.0.1","tap-browser-color":"^0.1.2","tape":"^4.4.0","tape-run":"^2.1.3","tweetnacl-util":"^0.13.3","uglify-js":"^2.6.1"},"browser":{"buffer":false,"crypto":false},"gitHead":"53024cf517ead075666dd430295bd0992dd2a48d","_id":"tweetnacl@0.14.4","_shasum":"8c9dbfb52795686f166cd2023794bcf103d13c2b","_from":".","_npmVersion":"3.10.8","_nodeVersion":"7.0.0","_npmUser":{"name":"dchest","email":"dmitry@codingrobots.com"},"dist":{"shasum":"8c9dbfb52795686f166cd2023794bcf103d13c2b","tarball":"http://localhost:4545/npm/registry/tweetnacl/tweetnacl-0.14.4.tgz","integrity":"sha512-yW3BDg8BqldPyxqXj3HYWU2ZC3OF21KEyP1ISf0Q6QyCEb1/qJpU9nACEHfgn4zK40Py/yxi9vIdwu2n20CMxg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCCrHNGrl/lcGZZmY0WWVvrWiy8k4p9HQ9OL57pbu/rCQIgRcsGWwCy1+XFD7Bf+xA9fVbwZnwfHm8Wi5RM65elujk="}]},"maintainers":[{"name":"dchest","email":"dmitry@codingrobots.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/tweetnacl-0.14.4.tgz_1480702221977_0.6762865034397691"}},"0.14.5":{"name":"tweetnacl","version":"0.14.5","description":"Port of TweetNaCl cryptographic library to JavaScript","main":"nacl-fast.js","types":"nacl.d.ts","directories":{"test":"test"},"scripts":{"build":"uglifyjs nacl.js -c -m -o nacl.min.js && uglifyjs nacl-fast.js -c -m -o nacl-fast.min.js","test-node":"tape test/*.js | faucet","test-node-all":"make -C test/c && tape test/*.js test/c/*.js | faucet","test-browser":"NACL_SRC=${NACL_SRC:='nacl.min.js'} && npm run build-test-browser && cat $NACL_SRC test/browser/_bundle.js | tape-run | faucet","build-test-browser":"browserify test/browser/init.js test/*.js | uglifyjs -c -m -o test/browser/_bundle.js 2>/dev/null && browserify test/browser/init.js test/*.quick.js | uglifyjs -c -m -o test/browser/_bundle-quick.js 2>/dev/null","test":"npm run test-node-all && npm run test-browser","bench":"node test/benchmark/bench.js","lint":"eslint nacl.js nacl-fast.js test/*.js test/benchmark/*.js"},"repository":{"type":"git","url":"git+https://github.com/dchest/tweetnacl-js.git"},"keywords":["crypto","cryptography","curve25519","ed25519","encrypt","hash","key","nacl","poly1305","public","salsa20","signatures"],"author":{"name":"TweetNaCl-js contributors"},"license":"Unlicense","bugs":{"url":"https://github.com/dchest/tweetnacl-js/issues"},"homepage":"https://tweetnacl.js.org","devDependencies":{"browserify":"^13.0.0","eslint":"^2.2.0","faucet":"^0.0.1","tap-browser-color":"^0.1.2","tape":"^4.4.0","tape-run":"^2.1.3","tweetnacl-util":"^0.13.3","uglify-js":"^2.6.1"},"browser":{"buffer":false,"crypto":false},"gitHead":"cce829e473b1ae299a9373b5140c713ee88f577f","_id":"tweetnacl@0.14.5","_shasum":"5ae68177f192d4456269d108afa93ff8743f4f64","_from":".","_npmVersion":"3.10.8","_nodeVersion":"7.0.0","_npmUser":{"name":"dchest","email":"dmitry@codingrobots.com"},"dist":{"shasum":"5ae68177f192d4456269d108afa93ff8743f4f64","tarball":"http://localhost:4545/npm/registry/tweetnacl/tweetnacl-0.14.5.tgz","integrity":"sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDHhdkxfW1hN14i/xMCWfhygkl+52bR+DkNVmdARtwc6wIgPxfsfj8jgtNcMyBXTnqqri0hI2MhOcZniVHZ8VDCcFk="}]},"maintainers":[{"name":"dchest","email":"dmitry@codingrobots.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/tweetnacl-0.14.5.tgz_1481627515097_0.015130913350731134"}},"1.0.0-rc.1":{"name":"tweetnacl","version":"1.0.0-rc.1","description":"Port of TweetNaCl cryptographic library to JavaScript","main":"nacl-fast.js","types":"nacl.d.ts","directories":{"test":"test"},"scripts":{"build":"uglifyjs nacl.js -c -m -o nacl.min.js && uglifyjs nacl-fast.js -c -m -o nacl-fast.min.js","test-node":"tape test/*.js | faucet","test-node-all":"make -C test/c && tape test/*.js test/c/*.js | faucet","test-browser":"NACL_SRC=${NACL_SRC:='nacl.min.js'} && npm run build-test-browser && cat $NACL_SRC test/browser/_bundle.js | tape-run | faucet","build-test-browser":"browserify test/browser/init.js test/*.js | uglifyjs -c -m -o test/browser/_bundle.js 2>/dev/null && browserify test/browser/init.js test/*.quick.js | uglifyjs -c -m -o test/browser/_bundle-quick.js 2>/dev/null","test":"npm run test-node-all && npm run test-browser","bench":"node test/benchmark/bench.js","lint":"eslint nacl.js nacl-fast.js test/*.js test/benchmark/*.js"},"repository":{"type":"git","url":"git+https://github.com/dchest/tweetnacl-js.git"},"keywords":["crypto","cryptography","curve25519","ed25519","encrypt","hash","key","nacl","poly1305","public","salsa20","signatures"],"author":{"name":"TweetNaCl-js contributors"},"license":"Unlicense","bugs":{"url":"https://github.com/dchest/tweetnacl-js/issues"},"homepage":"https://tweetnacl.js.org","devDependencies":{"browserify":"^13.1.1","electron":"^1.4.12","eslint":"^3.12.1","faucet":"^0.0.1","tap-browser-color":"^0.1.2","tape":"^4.6.3","tape-run":"^2.1.4","tweetnacl-util":"^0.13.5","uglify-js":"^2.7.5"},"browser":{"buffer":false,"crypto":false},"gitHead":"88b8ea49b771f15d9e447bfc3eaba260bed2daff","_id":"tweetnacl@1.0.0-rc.1","_shasum":"1198f1dfccb24859a4091c82787d5882425f0cde","_from":".","_npmVersion":"4.0.5","_nodeVersion":"7.4.0","_npmUser":{"name":"dchest","email":"dmitry@codingrobots.com"},"dist":{"shasum":"1198f1dfccb24859a4091c82787d5882425f0cde","tarball":"http://localhost:4545/npm/registry/tweetnacl/tweetnacl-1.0.0-rc.1.tgz","integrity":"sha512-XpmupDGsLWOcAFjfNRm8wyYGQOhWR0R42X+VMMMqB6g1V/heXvP4NQfvBkK6XTlQp8KMvcOo7xCTDTQXtJmAWg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAUBb5lQzA5/gqkyG/d2fZaL1OBWMOWBGwUNA4USk04mAiBjVGsIXzyo51FWy/rZHJXraeFV6DSwHdLhOC88446MAw=="}]},"maintainers":[{"name":"dchest","email":"dmitry@codingrobots.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/tweetnacl-1.0.0-rc.1.tgz_1487763567946_0.9748900488484651"}},"1.0.0":{"name":"tweetnacl","version":"1.0.0","description":"Port of TweetNaCl cryptographic library to JavaScript","main":"nacl-fast.js","types":"nacl.d.ts","directories":{"test":"test"},"scripts":{"build":"uglifyjs nacl.js -c -m -o nacl.min.js && uglifyjs nacl-fast.js -c -m -o nacl-fast.min.js","test-node":"tape test/*.js | faucet","test-node-all":"make -C test/c && tape test/*.js test/c/*.js | faucet","test-browser":"NACL_SRC=${NACL_SRC:='nacl.min.js'} && npm run build-test-browser && cat $NACL_SRC test/browser/_bundle.js | tape-run | faucet","build-test-browser":"browserify test/browser/init.js test/*.js | uglifyjs -c -m -o test/browser/_bundle.js 2>/dev/null && browserify test/browser/init.js test/*.quick.js | uglifyjs -c -m -o test/browser/_bundle-quick.js 2>/dev/null","test":"npm run test-node-all && npm run test-browser","bench":"node test/benchmark/bench.js","lint":"eslint nacl.js nacl-fast.js test/*.js test/benchmark/*.js"},"repository":{"type":"git","url":"git+https://github.com/dchest/tweetnacl-js.git"},"keywords":["crypto","cryptography","curve25519","ed25519","encrypt","hash","key","nacl","poly1305","public","salsa20","signatures"],"author":{"name":"TweetNaCl-js contributors"},"license":"Unlicense","bugs":{"url":"https://github.com/dchest/tweetnacl-js/issues"},"homepage":"https://tweetnacl.js.org","devDependencies":{"browserify":"^13.1.1","electron":"^1.4.12","eslint":"^3.12.1","faucet":"^0.0.1","tap-browser-color":"^0.1.2","tape":"^4.6.3","tape-run":"^2.1.4","tweetnacl-util":"^0.13.5","uglify-js":"^2.7.5"},"browser":{"buffer":false,"crypto":false},"gitHead":"988c41917199cd33a93896c52fcad29fb96833d8","_id":"tweetnacl@1.0.0","_shasum":"713d8b818da42068740bf68386d0479e66fc8a7b","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.7.1","_npmUser":{"name":"dchest","email":"dmitry@codingrobots.com"},"dist":{"shasum":"713d8b818da42068740bf68386d0479e66fc8a7b","tarball":"http://localhost:4545/npm/registry/tweetnacl/tweetnacl-1.0.0.tgz","integrity":"sha512-Nvl4Z9G3mH2/OBrODQlNhZ2T+ZaNe3AQoBHn0IxH2Klv9J45QYUY5trS/Dsk+Psmn3kCxUNPjsLtgwrofpFASA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICVhY79wZZWqhLNjofB6XhR1N8/D7CreHXNkXhiK45+6AiBCGPWcFksm5DPNnaWWR9BoGzzkHsWuhi4wBsw2xJw26Q=="}]},"maintainers":[{"name":"dchest","email":"dmitry@codingrobots.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tweetnacl-1.0.0.tgz_1495478628926_0.32991178915835917"}},"1.0.1":{"name":"tweetnacl","version":"1.0.1","description":"Port of TweetNaCl cryptographic library to JavaScript","main":"nacl-fast.js","types":"nacl.d.ts","directories":{"test":"test"},"scripts":{"build":"uglifyjs nacl.js -c -m -o nacl.min.js && uglifyjs nacl-fast.js -c -m -o nacl-fast.min.js","test-node":"tape test/*.js | faucet","test-node-all":"make -C test/c && tape test/*.js test/c/*.js | faucet","build-test-browser":"browserify test/browser/init.js test/*.js | uglifyjs -c -m -o test/browser/_bundle.js 2>/dev/null && browserify test/browser/init.js test/*.quick.js | uglifyjs -c -m -o test/browser/_bundle-quick.js 2>/dev/null","test":"npm run test-node-all","bench":"node test/benchmark/bench.js","lint":"eslint nacl.js nacl-fast.js test/*.js test/benchmark/*.js"},"repository":{"type":"git","url":"git+https://github.com/dchest/tweetnacl-js.git"},"keywords":["crypto","cryptography","curve25519","ed25519","encrypt","hash","key","nacl","poly1305","public","salsa20","signatures"],"author":{"name":"TweetNaCl-js contributors"},"license":"Unlicense","bugs":{"url":"https://github.com/dchest/tweetnacl-js/issues"},"homepage":"https://tweetnacl.js.org","devDependencies":{"browserify":"^13.1.1","eslint":"^3.12.1","faucet":"^0.0.1","tap-browser-color":"^0.1.2","tape":"^4.6.3","tweetnacl-util":"^0.13.5","uglify-js":"^2.7.5"},"browser":{"buffer":false,"crypto":false},"gitHead":"acab4d4883e7a0be0b230df7b42c0bbd25210d39","_id":"tweetnacl@1.0.1","_npmVersion":"6.5.0","_nodeVersion":"11.6.0","_npmUser":{"name":"dchest","email":"dmitry@codingrobots.com"},"dist":{"integrity":"sha512-kcoMoKTPYnoeS50tzoqjPY3Uv9axeuuFAZY9M/9zFnhoVvRfxz9K29IMPD7jGmt2c8SW7i3gT9WqDl2+nV7p4A==","shasum":"2594d42da73cd036bd0d2a54683dd35a6b55ca17","tarball":"http://localhost:4545/npm/registry/tweetnacl/tweetnacl-1.0.1.tgz","fileCount":11,"unpackedSize":174133,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcSdE1CRA9TVsSAnZWagAAMd4P/jpUtuLLm3oh5982OTgS\nAKBPCOMPJ1ueiNwFIgvfHTpt1mSRg5NFnVZELLkks9apvaiuGUbL47DXIacn\nA+EHYf2uhmWbQltjQvxb5APr8C4VDJDyjdu9ixAmoN3mqSYgva1BEuxz/4LN\nvnABgNxO6jNiM3pZbJ2LRDbe1N0Bnjjv7mYbcmfAK8ittPkEXiXMbKyZBLay\nhZal8Ih+oZP1MhyyBrjLJvTpJu2WrT48gUUUZk9gXhMtFL4QaViufOW3CLy3\nOSlug2DYTY9CkouUxaLibYQN+fTIATinJoq0NDXg+97SKEplS1I/J9Atv54W\nvt5ZYt8goUAg+tpyC8zYHXNZp5XPLqT3aVbmTn6xMYUtCVkW+IeqwUQpT+Y3\nYwraC0qVVTWEp5tEmXI07+FJAH6aF8dJ8hyT4AxtL0ndoNOo6iyhPpp2+LYH\nUgY1orXVbxAr5Roz5wk4ej10SvqjFVrETJeR6Avtm6d9bkytLsrJr6N8Q2MK\n2xy7Ik1PA1S7yNkCVhDn9AocdhmcAXRWtV2qib4ySqtQ6vevJtKndJOVMFlP\nue4qSieg2vH1S9K+qwzLSil8Y3gMWrXpmaQ2YmR6S1uxfA1aHDRFHHHt5WFQ\n+AtJe9l5Q/N7FTw+w3YJvOmVLl+RZRKicKlZOMMwEwWFKKrbHFEQnW06A1TW\nAyz5\r\n=dIRt\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGa++eVgGLtCz/lsJSZ7X7p8cQnhVQoivQRHOnKx+4nNAiEAkmUpZuSjZANfK+cVoH+tRqeifUH4FWT25hkaRYOSP2E="}]},"maintainers":[{"name":"dchest","email":"dmitry@codingrobots.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tweetnacl_1.0.1_1548341556828_0.49747684050344443"},"_hasShrinkwrap":false},"1.0.2":{"name":"tweetnacl","version":"1.0.2","description":"Port of TweetNaCl cryptographic library to JavaScript","main":"nacl-fast.js","types":"nacl.d.ts","directories":{"test":"test"},"scripts":{"build":"uglifyjs nacl.js -c -m -o nacl.min.js && uglifyjs nacl-fast.js -c -m -o nacl-fast.min.js","test-node":"tape test/*.js | faucet","test-node-all":"make -C test/c && tape test/*.js test/c/*.js | faucet","build-test-browser":"browserify test/browser/init.js test/*.js | uglifyjs -c -m -o test/browser/_bundle.js 2>/dev/null && browserify test/browser/init.js test/*.quick.js | uglifyjs -c -m -o test/browser/_bundle-quick.js 2>/dev/null","test":"npm run test-node-all","bench":"node test/benchmark/bench.js","lint":"eslint nacl.js nacl-fast.js test/*.js test/benchmark/*.js"},"repository":{"type":"git","url":"git+https://github.com/dchest/tweetnacl-js.git"},"keywords":["crypto","cryptography","curve25519","ed25519","encrypt","hash","key","nacl","poly1305","public","salsa20","signatures"],"author":{"name":"TweetNaCl-js contributors"},"license":"Unlicense","bugs":{"url":"https://github.com/dchest/tweetnacl-js/issues"},"homepage":"https://tweetnacl.js.org","devDependencies":{"browserify":"^16.2.3","eslint":"^6.8.0","faucet":"^0.0.1","tap-browser-color":"^0.1.2","tape":"^4.13.0","tweetnacl-util":"^0.15.0","uglify-js":"^3.7.5"},"browser":{"buffer":false,"crypto":false},"gitHead":"73a94a24306d7a195b4c756e0ccf1c89c742f64f","_id":"tweetnacl@1.0.2","_nodeVersion":"13.6.0","_npmVersion":"6.13.4","_npmUser":{"name":"dchest","email":"dmitry@codingrobots.com"},"dist":{"integrity":"sha512-+8aPRjmXgf1VqvyxSlBUzKzeYqVS9Ai8vZ28g+mL7dNQl1jlUTCMDZnvNQdAS1xTywMkIXwJsfipsR/6s2+syw==","shasum":"39fba8d1f7a34706a3fc1fd8c04afcad7bb9e689","tarball":"http://localhost:4545/npm/registry/tweetnacl/tweetnacl-1.0.2.tgz","fileCount":11,"unpackedSize":174513,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeILl5CRA9TVsSAnZWagAAtXwQAIzLkk1dQ17wF7XbKkaK\net9jGjgZ+GQIOaWKUhgIHLTTEZvL+xsxZt2yuzdtVRkmNYDxEmzTvXIlpOmM\nPkyc7SDj4NhQ72L9XG61I4A+SZZQEFzm+CFSDwzPSnUA2+LFp9t3TUSSUpma\nMItZk3dhRpE4ruLAGckYSOGlFs9wbKLTZuPHo3Z60klIxCILWVlFSh0P+vs0\nbXEqhWFp5rsVDiVoGI31rE65fSA1KM07Y0noNW5tDcsMl/9MMjYS2F0PrwWj\n0K/sdmwPGCH9gGQCPWNeqdtqaHobOiNCVPVRnmy7f1EZoFQufJoYDPHK/KA1\nGkrXzj0PHm+ehTbCBNlDTRfXd/ty8QFj1tfkwmlBk2jCQJihQgtIpSOfyrkd\n1t71Sf5S3FzHSQhSCkbjr7gq7R+KBftdZYnoJ9n5+fcUqwQOjBXHc9xn1rr8\nNYvJfv9bDQApIA5m2KBhymot8AmqoLvxjhydFiRDNf7ytrg9BrrczVCaaRe5\nzRXOG7lOzOWR/ezLYKqep3AryI99ilddUJrVVU86B4vkaXlD5PkQIqYsXIcA\n7JIYu0DmKMPeSLUxM3KVwzy4l9NisBI0sgnq/HaapQWN0PUnjevwp5RA/vKA\nGNKEfJAl3QuOOMV7YOUYKvhHq7k/91iYnTGbG/yo+yXuWQOrVUkxB8JmVaNR\nErNf\r\n=6YoX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDiq8TCYn3ZQwwHYGW29cf5Kkn2bt6F5hhr5979CNOgjQIhAPmvVaa/OfotYvPObOxuclpKlGx5iIIZ59NxJdIdaEyG"}]},"maintainers":[{"name":"dchest","email":"dmitry@codingrobots.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tweetnacl_1.0.2_1579202936724_0.9972577727428134"},"_hasShrinkwrap":false},"1.0.3":{"name":"tweetnacl","version":"1.0.3","description":"Port of TweetNaCl cryptographic library to JavaScript","main":"nacl-fast.js","types":"nacl.d.ts","directories":{"test":"test"},"scripts":{"build":"uglifyjs nacl.js -c -m -o nacl.min.js && uglifyjs nacl-fast.js -c -m -o nacl-fast.min.js","test-node":"tape test/*.js | faucet","test-node-all":"make -C test/c && tape test/*.js test/c/*.js | faucet","build-test-browser":"browserify test/browser/init.js test/*.js | uglifyjs -c -m -o test/browser/_bundle.js 2>/dev/null && browserify test/browser/init.js test/*.quick.js | uglifyjs -c -m -o test/browser/_bundle-quick.js 2>/dev/null","test":"npm run test-node-all","bench":"node test/benchmark/bench.js","lint":"eslint nacl.js nacl-fast.js test/*.js test/benchmark/*.js"},"repository":{"type":"git","url":"git+https://github.com/dchest/tweetnacl-js.git"},"keywords":["crypto","cryptography","curve25519","ed25519","encrypt","hash","key","nacl","poly1305","public","salsa20","signatures"],"author":{"name":"TweetNaCl-js contributors"},"license":"Unlicense","bugs":{"url":"https://github.com/dchest/tweetnacl-js/issues"},"homepage":"https://tweetnacl.js.org","devDependencies":{"browserify":"^16.2.3","eslint":"^6.8.0","faucet":"^0.0.1","tap-browser-color":"^0.1.2","tape":"^4.13.0","tweetnacl-util":"^0.15.0","uglify-js":"^3.7.5"},"browser":{"buffer":false,"crypto":false},"gitHead":"5bf1ff5fa15e89ae249401b0d5aa54c5c5955041","_id":"tweetnacl@1.0.3","_nodeVersion":"13.8.0","_npmVersion":"6.13.7","_npmUser":{"name":"dchest","email":"dmitry@codingrobots.com"},"dist":{"integrity":"sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==","shasum":"ac0af71680458d8a6378d0d0d050ab1407d35596","tarball":"http://localhost:4545/npm/registry/tweetnacl/tweetnacl-1.0.3.tgz","fileCount":11,"unpackedSize":174912,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeQbOyCRA9TVsSAnZWagAAzkUP/2YF9RSZ+Z1ybmfA4rtG\nCbDALyjdbYfsja/u90GhcXRVL0b2q5kQMUBpRjhkqUG5l8OisnmugsyBeYn6\n6HQje44Kbtf1cB9ZC2Wv/du1s5wu+TPGRTopL5eUrQcAC0i9pI7g+DGYqJvq\nIL2MjIMzWJWSNgYhgiZ/3+Jn6CqQLZwsZzTnNTF4zBuYX62U6V0ByhWmc/Le\nz/aBKlW0nlphH6yTW2ayP2JPPoJGmIzPAetd4LfmlZp2gQZMejjJUWX9SWBW\nTB++QrDNGMJ7aEEN/2+O3CD5+UXH8cFIzgBPgF1MWcUCWJsRpULKz+55yA0x\n/SN9nWzwo8LQCdPRmxYUpOS4wLZYH6zCUwwTq66BhBG1SklnB2fWH+D9MSvm\nNH242Y3nU4uokxQo0mJgdBszBZQJT98FpvCM/zzU44WjeGPwXoYhoYw/FbYo\n78zou/vA6EV8VeGhVEBU7njwr4/MtgCNuD9hpOfp+e/Fhk80Do9v/1ZJ70de\n0R423mABDo67sHQ7zV+bCNRfu675GWgLCQnUCf+czwxFreDb5f5BQWrDCCTz\nZMRJTrgwmGSOrjppWSji51J0Zx4Qu3wAFmfN6nZD4jgnSvvZdkiUHhLxGLfO\n522xA9hSPqQiWsKAyTQ/cvRyd9kabjqV45YBIFEBU3MTb4vvtKk59Zay/Qy+\ngELA\r\n=D+R+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHawD1xgYWQsk1QfWs8/CS2AL/8v9okSMlqK5x/Jrpm1AiAO64ieSTtN9pGcYYlLmKGw5naX/t0TIujwMeWir8uT2Q=="}]},"maintainers":[{"name":"dchest","email":"dmitry@codingrobots.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tweetnacl_1.0.3_1581364145675_0.799665616296863"},"_hasShrinkwrap":false}},"homepage":"https://tweetnacl.js.org","keywords":["crypto","cryptography","curve25519","ed25519","encrypt","hash","key","nacl","poly1305","public","salsa20","signatures"],"repository":{"type":"git","url":"git+https://github.com/dchest/tweetnacl-js.git"},"author":{"name":"TweetNaCl-js contributors"},"bugs":{"url":"https://github.com/dchest/tweetnacl-js/issues"},"license":"Unlicense","readmeFilename":"README.md","users":{"dchest":true,"tcrowe":true,"antanst":true,"kerwyn":true,"mojaray2k":true,"anoubis":true,"meeh":true,"dogun098":true,"aditya_1806":true}}
\ No newline at end of file diff --git a/cli/tests/testdata/npm/registry/tweetnacl/tweetnacl-0.14.5.tgz b/cli/tests/testdata/npm/registry/tweetnacl/tweetnacl-0.14.5.tgz Binary files differnew file mode 100644 index 000000000..c2955148e --- /dev/null +++ b/cli/tests/testdata/npm/registry/tweetnacl/tweetnacl-0.14.5.tgz diff --git a/cli/tests/testdata/npm/tarball_with_global_header/main.js b/cli/tests/testdata/npm/tarball_with_global_header/main.js new file mode 100644 index 000000000..d1bb40fbc --- /dev/null +++ b/cli/tests/testdata/npm/tarball_with_global_header/main.js @@ -0,0 +1,3 @@ +import { Client } from "npm:ssh2"; + +console.log(Client); diff --git a/cli/tests/testdata/npm/tarball_with_global_header/main.out b/cli/tests/testdata/npm/tarball_with_global_header/main.out new file mode 100644 index 000000000..c8016c362 --- /dev/null +++ b/cli/tests/testdata/npm/tarball_with_global_header/main.out @@ -0,0 +1 @@ +[Function: bound Client] |