{"_id":"elgato-stream-deck","_rev":"38-7e8ca5767020939e4d90ff552fd2cc37","name":"elgato-stream-deck","description":"An npm module for interfacing with the Elgato Stream Deck","dist-tags":{"latest":"4.3.0","3-x":"3.4.0"},"versions":{"1.0.0":{"name":"elgato-stream-deck","version":"1.0.0","description":"A npm module for interfacing with the Elgato Stream Deck","main":"index.js","dependencies":{"node-hid":"^0.5.4"},"devDependencies":{"eslint":"^3.19.0","eslint-config-xo":"^0.18.2","weallbehave":"^1.2.0","weallcontribute":"^1.0.8"},"scripts":{"test":"npm run static","static":"eslint .","update-coc":"weallbehave -o . && git add CODE_OF_CONDUCT.md && git commit -m 'docs(coc): updated CODE_OF_CONDUCT.md'","update-contrib":"weallcontribute -o . && git add CONTRIBUTING.md && git commit -m 'docs(contributing): updated CONTRIBUTING.md'"},"repository":{"type":"git","url":"git+https://github.com/Lange/node-elgato-stream-deck.git"},"keywords":["elgato","stream","deck","hid","usb","hardware","interface","controller"],"author":{"name":"Alex Van Camp","email":"email@alexvan.camp","url":"https://alexvan.camp/"},"license":"MIT","bugs":{"url":"https://github.com/Lange/node-elgato-stream-deck/issues"},"homepage":"https://github.com/Lange/node-elgato-stream-deck#readme","eslintConfig":{"extends":"xo/esnext"},"files":["*.js","lib"],"gitHead":"0618958b8974bbdcadd8da80e03ab2cc44a00c8d","_id":"elgato-stream-deck@1.0.0","_shasum":"14797289217290e1225f008fddb1fe542657c070","_from":".","_npmVersion":"4.2.0","_nodeVersion":"7.8.0","_npmUser":{"name":"lange","email":"email@alexvan.camp"},"dist":{"shasum":"14797289217290e1225f008fddb1fe542657c070","tarball":"https://registry.npmjs.org/elgato-stream-deck/-/elgato-stream-deck-1.0.0.tgz","integrity":"sha512-FoY30ubVfxWIkrAM+xJaHQek9CEvLKTZFZyYPbdI9m0qfzlVuRxzamrs389FXCf7EZ5oKcmDLV2QG4nF/hmZXQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDNLHFN/p7M/vp7Fr9liQD4oFbTewdwN4UPniGSG46owwIgHLV+EXQP32Yh+59FxZni5Nh3Yak4TsUGkZJlV6qxC4Y="}]},"maintainers":[{"name":"lange","email":"email@alexvan.camp"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/elgato-stream-deck-1.0.0.tgz_1495058110938_0.41811050847172737"},"directories":{},"deprecated":"This library has been renamed to @elgato-stream-deck/node. The new version provides a promise based api, with better names as well as a webhid version at @elgato-stream-deck/webhid"},"1.1.0":{"name":"elgato-stream-deck","version":"1.1.0","description":"A npm module for interfacing with the Elgato Stream Deck","main":"index.js","dependencies":{"node-hid":"^0.5.4"},"devDependencies":{"eslint":"^3.19.0","eslint-config-xo":"^0.18.2","sharp":"^0.17.3","weallbehave":"^1.2.0","weallcontribute":"^1.0.8"},"scripts":{"test":"npm run static","static":"eslint .","update-coc":"weallbehave -o . && git add CODE_OF_CONDUCT.md && git commit -m 'docs(coc): updated CODE_OF_CONDUCT.md'","update-contrib":"weallcontribute -o . && git add CONTRIBUTING.md && git commit -m 'docs(contributing): updated CONTRIBUTING.md'"},"repository":{"type":"git","url":"git+https://github.com/Lange/node-elgato-stream-deck.git"},"keywords":["elgato","stream","deck","hid","usb","hardware","interface","controller"],"author":{"name":"Alex Van Camp","email":"email@alexvan.camp","url":"https://alexvan.camp/"},"contributors":[{"name":"Richard Fox"},{"name":"Chris Hanel","email":"chrishanel@gmail.com","url":"http://www.chrishanel.com/"}],"license":"MIT","bugs":{"url":"https://github.com/Lange/node-elgato-stream-deck/issues"},"homepage":"https://github.com/Lange/node-elgato-stream-deck#readme","eslintConfig":{"extends":"xo/esnext"},"files":["*.js","lib"],"gitHead":"e9fab1734c3fc0a4b5f24196471a57990b946f82","_id":"elgato-stream-deck@1.1.0","_shasum":"71b3d73b5fe9f7cf50545c01079a9da6162d80b1","_from":".","_npmVersion":"4.2.0","_nodeVersion":"7.8.0","_npmUser":{"name":"lange","email":"email@alexvan.camp"},"dist":{"shasum":"71b3d73b5fe9f7cf50545c01079a9da6162d80b1","tarball":"https://registry.npmjs.org/elgato-stream-deck/-/elgato-stream-deck-1.1.0.tgz","integrity":"sha512-YgXgnSPyptMS/JnrBVvxPzDkGxwZtuOPZEPkIRi/16N7AXqs2wmirS5CmhlaM6er6Pim77n8DPFpWwIx/R9NKA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEvLPxJ2F0HvcM7yw3exs1xeN6BfWaxF7gKYEgZgiAG5AiB3DTCN9kcOtFQ6M+2/KXMHUWNE6EXYE1T8A05lQD6YAQ=="}]},"maintainers":[{"name":"lange","email":"email@alexvan.camp"},{"name":"probableprime","email":"prime@ahref.co.uk"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/elgato-stream-deck-1.1.0.tgz_1495122132870_0.32083873357623816"},"directories":{},"deprecated":"This library has been renamed to @elgato-stream-deck/node. The new version provides a promise based api, with better names as well as a webhid version at @elgato-stream-deck/webhid"},"1.2.0":{"name":"elgato-stream-deck","version":"1.2.0","description":"An npm module for interfacing with the Elgato Stream Deck","main":"index.js","typings":"typings.d.ts","dependencies":{"node-hid":"^0.5.4"},"devDependencies":{"ava":"^0.19.1","coveralls":"^2.13.1","eslint":"^3.19.0","eslint-config-xo":"^0.18.2","eslint-plugin-ava":"^4.2.0","mockery":"^2.0.0","nyc":"^10.3.2","pureimage":"0.0.21","sharp":"^0.17.3","sinon":"^2.2.0","stream-buffers":"^3.0.1","weallbehave":"^1.2.0","weallcontribute":"^1.0.8"},"scripts":{"pretest":"npm run static","test":"nyc ava","report":"nyc report --reporter=html","coverage":"nyc report --reporter=text-lcov | coveralls","static":"eslint .","update-coc":"weallbehave -o . && git add CODE_OF_CONDUCT.md && git commit -m 'docs(coc): updated CODE_OF_CONDUCT.md'","update-contrib":"weallcontribute -o . && git add CONTRIBUTING.md && git commit -m 'docs(contributing): updated CONTRIBUTING.md'"},"repository":{"type":"git","url":"git+https://github.com/Lange/node-elgato-stream-deck.git"},"keywords":["elgato","stream","deck","streamdeck","hid","usb","hardware","interface","controller"],"author":{"name":"Alex Van Camp","email":"email@alexvan.camp","url":"https://alexvan.camp/"},"contributors":[{"name":"Richard Fox"},{"name":"Chris Hanel","email":"chrishanel@gmail.com","url":"http://www.chrishanel.com/"}],"license":"MIT","bugs":{"url":"https://github.com/Lange/node-elgato-stream-deck/issues"},"homepage":"https://github.com/Lange/node-elgato-stream-deck#readme","eslintConfig":{"extends":"xo/esnext"},"files":["*.js","lib"],"engines":{"node":">=4"},"gitHead":"e5ce7b48c053b23d28cb11fed175aba469980707","_id":"elgato-stream-deck@1.2.0","_shasum":"79bc5f33b327262ce33383cb485a5fa230056b0f","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.9.4","_npmUser":{"name":"probableprime","email":"prime@ahref.co.uk"},"dist":{"shasum":"79bc5f33b327262ce33383cb485a5fa230056b0f","tarball":"https://registry.npmjs.org/elgato-stream-deck/-/elgato-stream-deck-1.2.0.tgz","integrity":"sha512-tXSft+uNMt6+4euCmXMRfgbgjySj/jaXzGAqYnNcOkl6vP8YlcBUrchJsvfkMgN+F4XGXNXDpbrwlsZ6NSzp3g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD48aemqtie35xvy2EWpRkAh6D8YcQ0WZQCPhFESRBGOwIgNnkjTSy7Z88UCOOX9T5GK8+ZxgXIj/5OxmRxe1/OEYM="}]},"maintainers":[{"name":"lange","email":"email@alexvan.camp"},{"name":"probableprime","email":"prime@ahref.co.uk"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/elgato-stream-deck-1.2.0.tgz_1498225506891_0.503736121347174"},"directories":{},"deprecated":"This library has been renamed to @elgato-stream-deck/node. The new version provides a promise based api, with better names as well as a webhid version at @elgato-stream-deck/webhid"},"2.0.0":{"name":"elgato-stream-deck","version":"2.0.0","description":"An npm module for interfacing with the Elgato Stream Deck","main":"index.js","typings":"typings.d.ts","dependencies":{"node-hid":"^0.5.7","sharp":"^0.18.4"},"devDependencies":{"ava":"^0.23.0","coveralls":"^3.0.0","eslint":"^4.11.0","eslint-config-xo":"^0.19.0","eslint-plugin-ava":"^4.2.2","mockery":"^2.1.0","nyc":"^11.3.0","pureimage":"0.1.3","sinon":"^4.1.2","standard-version":"^4.2.0","stream-buffers":"^3.0.1","weallbehave":"^1.2.0","weallcontribute":"^1.0.8"},"scripts":{"prerelease":"npm t","release":"standard-version","postrelease":"npm publish && git push --follow-tags","pretest":"npm run static","test":"nyc ava","report":"nyc report --reporter=html","coverage":"nyc report --reporter=text-lcov | coveralls","static":"eslint .","update-coc":"weallbehave -o . && git add CODE_OF_CONDUCT.md && git commit -m 'docs(coc): updated CODE_OF_CONDUCT.md'","update-contrib":"weallcontribute -o . && git add CONTRIBUTING.md && git commit -m 'docs(contributing): updated CONTRIBUTING.md'"},"repository":{"type":"git","url":"git+https://github.com/Lange/node-elgato-stream-deck.git"},"keywords":["elgato","stream","deck","streamdeck","hid","usb","hardware","interface","controller"],"author":{"name":"Alex Van Camp","email":"email@alexvan.camp","url":"https://alexvan.camp/"},"contributors":[{"name":"Richard Fox"},{"name":"Chris Hanel","email":"chrishanel@gmail.com","url":"http://www.chrishanel.com/"}],"license":"MIT","bugs":{"url":"https://github.com/Lange/node-elgato-stream-deck/issues"},"homepage":"https://github.com/Lange/node-elgato-stream-deck#readme","eslintConfig":{"extends":"xo/esnext"},"files":["*.js","lib"],"engines":{"node":">=7.6"},"gitHead":"16fe63d6207c9dee3930b2ba0e29f9b77ee28100","_id":"elgato-stream-deck@2.0.0","_npmVersion":"5.5.1","_nodeVersion":"8.2.1","_npmUser":{"name":"lange","email":"email@alexvan.camp"},"dist":{"integrity":"sha512-dTO1RwkqkaM9RnMvN71y9DRsyb/LZdg0n5WC8j71glpt2yxpxYAi7K8VTlr6Vp1LnKwOdNbcRXxtCL9iSmQvkA==","shasum":"be7668dff4e7214aa2e0338b63c61080d8f731db","tarball":"https://registry.npmjs.org/elgato-stream-deck/-/elgato-stream-deck-2.0.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD41CrMdnyLJ0ThgD0Fq1xACwTYbjLBKbIBAETjMrq7BwIgWEAG8gcxFhnuYwHK2Tm6K+M2DL2lFsmrju4+sVeHF1E="}]},"maintainers":[{"name":"lange","email":"email@alexvan.camp"},{"name":"probableprime","email":"prime@ahref.co.uk"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/elgato-stream-deck-2.0.0.tgz_1511893407800_0.1160349384881556"},"directories":{},"deprecated":"This library has been renamed to @elgato-stream-deck/node. The new version provides a promise based api, with better names as well as a webhid version at @elgato-stream-deck/webhid"},"2.1.0":{"name":"elgato-stream-deck","version":"2.1.0","description":"An npm module for interfacing with the Elgato Stream Deck","main":"index.js","typings":"typings.d.ts","dependencies":{"node-hid":"^0.7.2","sharp":"^0.20.0"},"devDependencies":{"ava":"^0.23.0","coveralls":"^3.0.0","eslint":"^4.11.0","eslint-config-xo":"^0.19.0","eslint-plugin-ava":"^4.2.2","mockery":"^2.1.0","nyc":"^11.3.0","pureimage":"0.1.3","sinon":"^4.1.2","standard-version":"^4.2.0","stream-buffers":"^3.0.1","weallbehave":"^1.2.0","weallcontribute":"^1.0.8"},"scripts":{"prerelease":"npm t","release":"standard-version","postrelease":"npm publish && git push --follow-tags","pretest":"npm run static","test":"nyc ava","report":"nyc report --reporter=html","coverage":"nyc report --reporter=text-lcov | coveralls","static":"eslint .","update-coc":"weallbehave -o . && git add CODE_OF_CONDUCT.md && git commit -m 'docs(coc): updated CODE_OF_CONDUCT.md'","update-contrib":"weallcontribute -o . && git add CONTRIBUTING.md && git commit -m 'docs(contributing): updated CONTRIBUTING.md'"},"repository":{"type":"git","url":"git+https://github.com/Lange/node-elgato-stream-deck.git"},"keywords":["elgato","stream","deck","streamdeck","hid","usb","hardware","interface","controller"],"author":{"name":"Alex Van Camp","email":"email@alexvan.camp","url":"https://alexvan.camp/"},"contributors":[{"name":"Richard Fox"},{"name":"Chris Hanel","email":"chrishanel@gmail.com","url":"http://www.chrishanel.com/"}],"license":"MIT","bugs":{"url":"https://github.com/Lange/node-elgato-stream-deck/issues"},"homepage":"https://github.com/Lange/node-elgato-stream-deck#readme","eslintConfig":{"extends":"xo/esnext"},"files":["*.js","lib"],"engines":{"node":">=7.6"},"gitHead":"ca7b0cf5537d2a72c04fa90bd0cd6e71398cdf40","_id":"elgato-stream-deck@2.1.0","_npmVersion":"5.7.1","_nodeVersion":"8.9.4","_npmUser":{"name":"lange","email":"email@alexvan.camp"},"dist":{"integrity":"sha512-rtOp1gmFRlL6Xw43ofReWk5oCe6J7d+gUxpe+qpHcAwDO8LrEdRMXgq3t3C+jhdfWA6iWWcfO3V+y4y5fHcw3Q==","shasum":"ca60abed0de3b350616f28cd1c8bddb8ae57972a","tarball":"https://registry.npmjs.org/elgato-stream-deck/-/elgato-stream-deck-2.1.0.tgz","fileCount":6,"unpackedSize":27578,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCMDUgq0B7rL6FWvhWlJyIZbIjR8cRUFjlY91b21XByTQIhAN7gMoIlSf/TbQsufKQWyqYI2P0/lv51WjIiadWS26Zg"}]},"maintainers":[{"name":"lange","email":"email@alexvan.camp"},{"name":"probableprime","email":"prime@ahref.co.uk"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/elgato-stream-deck_2.1.0_1520282831684_0.27254792679171724"},"_hasShrinkwrap":false,"deprecated":"This library has been renamed to @elgato-stream-deck/node. The new version provides a promise based api, with better names as well as a webhid version at @elgato-stream-deck/webhid"},"2.1.1":{"name":"elgato-stream-deck","version":"2.1.1","description":"An npm module for interfacing with the Elgato Stream Deck","main":"index.js","typings":"typings.d.ts","dependencies":{"node-hid":"^0.6.0","sharp":"^0.20.0"},"devDependencies":{"ava":"^0.23.0","coveralls":"^3.0.0","eslint":"^4.11.0","eslint-config-xo":"^0.19.0","eslint-plugin-ava":"^4.2.2","mockery":"^2.1.0","nyc":"^11.3.0","pureimage":"0.1.3","sinon":"^4.1.2","standard-version":"^4.2.0","stream-buffers":"^3.0.1","weallbehave":"^1.2.0","weallcontribute":"^1.0.8"},"scripts":{"prerelease":"npm t","release":"standard-version","postrelease":"npm publish && git push --follow-tags","pretest":"npm run static","test":"nyc ava","report":"nyc report --reporter=html","coverage":"nyc report --reporter=text-lcov | coveralls","static":"eslint .","update-coc":"weallbehave -o . && git add CODE_OF_CONDUCT.md && git commit -m 'docs(coc): updated CODE_OF_CONDUCT.md'","update-contrib":"weallcontribute -o . && git add CONTRIBUTING.md && git commit -m 'docs(contributing): updated CONTRIBUTING.md'"},"repository":{"type":"git","url":"git+https://github.com/Lange/node-elgato-stream-deck.git"},"keywords":["elgato","stream","deck","streamdeck","hid","usb","hardware","interface","controller"],"author":{"name":"Alex Van Camp","email":"email@alexvan.camp","url":"https://alexvan.camp/"},"contributors":[{"name":"Richard Fox"},{"name":"Chris Hanel","email":"chrishanel@gmail.com","url":"http://www.chrishanel.com/"}],"license":"MIT","bugs":{"url":"https://github.com/Lange/node-elgato-stream-deck/issues"},"homepage":"https://github.com/Lange/node-elgato-stream-deck#readme","eslintConfig":{"extends":"xo/esnext"},"files":["*.js","lib"],"engines":{"node":">=7.6"},"gitHead":"ae25ecd38f4baec40ef94926fb0670ce596d44f9","_id":"elgato-stream-deck@2.1.1","_npmVersion":"5.7.1","_nodeVersion":"8.9.4","_npmUser":{"name":"lange","email":"email@alexvan.camp"},"dist":{"integrity":"sha512-eQC8HQFQUbVjKfSGfeGp3CylRbwtuTkql8E1XFY9X4JrIy9Sp6L7XPDud+agXzKsVzpgLTJDRiLZMK5xmBgY3A==","shasum":"4834d2294b47135cfe898108b3447a305c5f7bc4","tarball":"https://registry.npmjs.org/elgato-stream-deck/-/elgato-stream-deck-2.1.1.tgz","fileCount":6,"unpackedSize":28337,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICCdfrQciKLcN7Mdn6fBTfgte7+s21xKBun3p5WaH/sfAiAaT55aAjPVVDl1M0m3+z+tlB6d+TdA5hgARN2Tuyr56w=="}]},"maintainers":[{"name":"lange","email":"email@alexvan.camp"},{"name":"probableprime","email":"prime@ahref.co.uk"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/elgato-stream-deck_2.1.1_1522887523255_0.4007409697546891"},"_hasShrinkwrap":false,"deprecated":"This library has been renamed to @elgato-stream-deck/node. The new version provides a promise based api, with better names as well as a webhid version at @elgato-stream-deck/webhid"},"3.0.0":{"name":"elgato-stream-deck","version":"3.0.0","description":"An npm module for interfacing with the Elgato Stream Deck","main":"dist/index.js","typings":"dist/index.d.ts","license":"MIT","homepage":"https://github.com/lange/node-elgato-stream-deck#readme","repository":{"type":"git","url":"git+https://github.com/lange/node-elgato-stream-deck.git"},"bugs":{"url":"https://github.com/lange/node-elgato-stream-deck/issues"},"author":{"name":"Alex Van Camp","email":"email@alexvan.camp","url":"https://alexvan.camp/"},"contributors":[{"name":"Håkon Nessjøen","email":"haakon@bitfocus.io"},{"name":"Richard Fox"},{"name":"Chris Hanel","email":"chrishanel@gmail.com","url":"http://www.chrishanel.com/"},{"name":"Julian Waller","email":"git@julusian.co.uk"}],"keywords":["elgato","stream","deck","streamdeck","hid","usb","hardware","interface","controller"],"scripts":{"build":"trash dist && yarn build:main","build:main":"tsc -p tsconfig.build.json","release":"standard-version","test":"yarn lint && yarn build && yarn unit","watch":"jest --watch","cov":"jest --coverage; open-cli coverage/lcov-report/index.html","cov-open":"open-cli coverage/lcov-report/index.html","testci":"yarn lint && jest --coverage && cat ./coverage/lcov.info | coveralls","unit":"jest","update-coc":"weallbehave -o . && git add CODE_OF_CONDUCT.md && git commit -m 'docs(coc): updated CODE_OF_CONDUCT.md'","update-contrib":"weallcontribute -o . && git add CONTRIBUTING.md && git commit -m 'docs(contributing): updated CONTRIBUTING.md'","lint":"tslint --project tsconfig.json --config tslint.json && yarn prettier --check \"src/**/*.ts\"","lint-fix":"tslint --project tsconfig.json --config tslint.json --fix && yarn prettier --write \"src/**/*.ts\"","tslint-check":"tslint-config-prettier-check ./tslint.json","validate:dependencies":"yarn audit && yarn license-validate","license-validate":"node-license-validator -p -d --allow-licenses MIT BSD BSD-3-Clause ISC Apache Unlicense WTFPL"},"engines":{"node":">=7.6"},"dependencies":{"jpeg-js":"^0.3.5","node-hid":"^0.7.9"},"devDependencies":{"@julusian/jpeg-turbo":"^0.5.1","@types/jest":"^24.0.11","@types/jpeg-js":"^0.3.0","@types/node":"^12.0.4","@types/node-hid":"^0.7.0","@types/sharp":"^0.22.2","coveralls":"^3.0.3","jest":"^24.7.1","jest-haste-map":"^24.7.1","jest-resolve":"^24.7.1","node-license-validator":"^1.3.0","open-cli":"^5.0.0","prettier":"^1.17.1","pureimage":"^0.1.3","sharp":"^0.22.1","standard-version":"^6.0.1","stream-buffers":"^3.0.1","trash-cli":"^3.0.0","ts-jest":"^24.0.2","ts-loader":"^6.0.0","ts-node":"^8.1.0","tslint":"^5.16.0","tslint-config-prettier":"^1.18.0","typescript":"^3.4.2","usb-detection":"^4.3.0","weallbehave":"^1.2.0","weallcontribute":"^1.0.8"},"gitHead":"17ee8ebbf7172671693aa06d43f89d9055fe1167","_id":"elgato-stream-deck@3.0.0","_npmVersion":"6.4.1","_nodeVersion":"8.16.0","_npmUser":{"name":"julusian","email":"git@julusian.co.uk"},"dist":{"integrity":"sha512-locpDVnE1Hu3mU+z/GWA+h44c8e7B7VtQE5ASE2kqJfyRTAfj7a9g7+m9YtX4mNfpOCNRBfNPxn01KGhqG8fig==","shasum":"5347441a8bea38dae08c4eb8212718f215dc14e0","tarball":"https://registry.npmjs.org/elgato-stream-deck/-/elgato-stream-deck-3.0.0.tgz","fileCount":22,"unpackedSize":54453,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc9UE9CRA9TVsSAnZWagAAJgoP/0/3DcjvYNA0Pp4sGVIe\nDoCmBNr9CK4tV3+1/Ys8/OSvT6pOTmCMHUm/OWxBcpIDpTy/GnOhpBxVHLjl\ngEHJDnhbot3SJcyPR0M4bTLDzKAw0fnugZ6hJvhQlraY7nftfVIEtC2xdZBo\nxiOucMGArymwwWRCU7PtJ5ozEr9P+3cXADGgNcGyJZBq071opFeBiFWjqoYC\nFU9i7JnuFsv6paAwuioMJ/23BJkX2TF4eHRaoLPuIqhPW4nuII4Zw/1QKris\nd5/BdVT0YgT8Kw+t/yx+sx8ldJgnyQ4P6GHVxppnGLUvNlvqPtzEJm7b0sjp\nKUUL+wR1sSNX9ump/oE7JvmKwzVy9TcTRbUl5B7aozeNc9WtQ3W2Z+wTVdvu\nhmJJYOtWzCZvR2LGYnCOLpswLh0OOEmUECLGISMoyBd79Jyalxg/pyxyL6IW\n1ZymH88NyE8GW1Ah5/aiUfqci5rlCnLk5K9BnuVrPWaMffYK6xM/TuXYtLq1\nOC0YqnxszC6IaGhKEstF0em4MNUiYvw7AuL1B0BxaiNg8BAAYL1bXK4Op/W/\n6wsapWcd7PXLM5VtvkWWw+BNBhZdgiSqC8zahuTg/j1BgB24vRRIk1qGx4xm\nVDzA6KWXzESYcL1oPaAv0vij2ptDFoZc9/NBtZmbwStL50C/ykqkG+WEpMe7\nDMCS\r\n=aJpY\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBZl/AogqjN4AJ3nAHbp47I97DlxxqU2u/LrwHQhnWykAiEA8SSZafjSUSZLw6khDnRntw52fMcG1vQWpUvJqsoPLb4="}]},"maintainers":[{"email":"git@julusian.co.uk","name":"julusian"},{"email":"email@alexvan.camp","name":"lange"},{"email":"prime@ahref.co.uk","name":"probableprime"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/elgato-stream-deck_3.0.0_1559576892813_0.5421587237893721"},"_hasShrinkwrap":false,"deprecated":"This library has been renamed to @elgato-stream-deck/node. The new version provides a promise based api, with better names as well as a webhid version at @elgato-stream-deck/webhid"},"3.1.0":{"name":"elgato-stream-deck","version":"3.1.0","description":"An npm module for interfacing with the Elgato Stream Deck","main":"dist/index.js","typings":"dist/index.d.ts","license":"MIT","homepage":"https://github.com/lange/node-elgato-stream-deck#readme","repository":{"type":"git","url":"git+https://github.com/lange/node-elgato-stream-deck.git"},"bugs":{"url":"https://github.com/lange/node-elgato-stream-deck/issues"},"author":{"name":"Alex Van Camp","email":"email@alexvan.camp","url":"https://alexvan.camp/"},"contributors":[{"name":"Håkon Nessjøen","email":"haakon@bitfocus.io"},{"name":"Richard Fox"},{"name":"Chris Hanel","email":"chrishanel@gmail.com","url":"http://www.chrishanel.com/"},{"name":"Julian Waller","email":"git@julusian.co.uk"}],"keywords":["elgato","stream","deck","streamdeck","hid","usb","hardware","interface","controller"],"scripts":{"build":"trash dist && yarn build:main","build:main":"tsc -p tsconfig.build.json","release":"standard-version","test":"yarn lint && yarn build && yarn unit","watch":"jest --watch","cov":"jest --coverage; open-cli coverage/lcov-report/index.html","cov-open":"open-cli coverage/lcov-report/index.html","testci":"yarn lint && jest --coverage && cat ./coverage/lcov.info | coveralls","unit":"jest","update-coc":"weallbehave -o . && git add CODE_OF_CONDUCT.md && git commit -m 'docs(coc): updated CODE_OF_CONDUCT.md'","update-contrib":"weallcontribute -o . && git add CONTRIBUTING.md && git commit -m 'docs(contributing): updated CONTRIBUTING.md'","lint":"tslint --project tsconfig.json --config tslint.json && yarn prettier --check \"src/**/*.ts\"","lint-fix":"tslint --project tsconfig.json --config tslint.json --fix && yarn prettier --write \"src/**/*.ts\"","tslint-check":"tslint-config-prettier-check ./tslint.json","validate:dependencies":"yarn audit && yarn license-validate","license-validate":"node-license-validator -p -d --allow-licenses MIT BSD BSD-3-Clause ISC Apache Unlicense WTFPL"},"engines":{"node":">=7.6"},"dependencies":{"jpeg-js":"^0.3.5","node-hid":"^0.7.9"},"devDependencies":{"@julusian/jpeg-turbo":"^0.5.1","@types/jest":"^24.0.11","@types/jpeg-js":"^0.3.0","@types/node":"^12.0.4","@types/node-hid":"^0.7.0","@types/sharp":"^0.22.2","coveralls":"^3.0.3","jest":"^24.7.1","jest-haste-map":"^24.7.1","jest-resolve":"^24.7.1","node-license-validator":"^1.3.0","open-cli":"^5.0.0","prettier":"^1.17.1","pureimage":"^0.1.3","sharp":"^0.23.1","standard-version":"^7.0.0","stream-buffers":"^3.0.1","trash-cli":"^3.0.0","ts-jest":"^24.0.2","ts-loader":"^6.0.0","ts-node":"^8.1.0","tslint":"^5.16.0","tslint-config-prettier":"^1.18.0","typescript":"^3.4.2","usb-detection":"^4.3.0","weallbehave":"^1.2.0","weallcontribute":"^1.0.8"},"licenseText":"MIT License\n\nCopyright (c) 2017 Alex Van Camp\nCopyright (c) 2018 Bitfocus AS\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"elgato-stream-deck@3.1.0","dist":{"shasum":"e39539d7500d1006bf1acde2d984279012fc2533","integrity":"sha512-JKcMgzsCCUTdEpUhQ1rGDS4tQALXBvqL/a9gduaS2wCbKQTU9bMBa8Q3uyUIguMmpps+L46FTFVxGVU2fLfa/g==","tarball":"https://registry.npmjs.org/elgato-stream-deck/-/elgato-stream-deck-3.1.0.tgz","fileCount":25,"unpackedSize":55252,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdkJRmCRA9TVsSAnZWagAAQWMQAIPZ13snz2Bq2toU1Qxc\n3697Ax0A20q9gS6nNZu7E04PuPMMvCgCpUENQrYggnNGoi9HS5o+18OioTSc\nYPPGxxRW7Xr0ryEeWf7O3YUBUzQ6GZA9Fv6vR6+TG5OsTVNSfwX/g+vplBc0\nJeFup7bg7JJd3bZxTzyH3u0CEdBTB7lcVLW0BKb9/u9DZ+PPHzXcZvvgMtaL\nR4m9FJ4sQgCRmjsMlZ0xina18VLozzwfXGVLDp+Fk6ybYagFxEOuMfMjv7iA\naupg0airafPmKJSPwwp+KizxqCUaOn8K6plJ6K+D0TX8QJWmdzG0y4+M2EWv\n3dD3x4A/hMwUABLBRUFF/qfIXVSKFy5wK7Kkn2Ao6HeTTF8wko+sFvIprDg6\nNIYCkjwM4uZgka0hatGGO5WBveXdrNxJqU0YcRL7c1igPWih32yBtmnzVWxS\n4DVXSaEk+BEdCgGRCzjyGZ0Db5h/XcHNvG/Ax0KhxPrHjsUyZTT2RaSEfA/n\n+6yeLEKIwh2fXKaOcqfYTBGUHCvOLvKL467x1ZDeX+3ftpoBOOHpidTCTv6f\nXW50Ld9NOjB2tVqFQfVmgpbEqTR5jMyKxEp2jXWqmOCF1b91exs5TfNKr0tn\n40pkAXvF8VF++TBRzdyz1kF7fsL0r5mmlrHOSW8AwDjQtCg3sZF8iRXlYw9V\n5nrU\r\n=V40U\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHoOJIggCet0PmkT7P9/TBZQqkszqymZFOye9y/eIf72AiEAnMaUJOZ+X8NDwpf0FJBGoPdl9fF0/m8UeWUrUaAweu0="}]},"maintainers":[{"email":"git@julusian.co.uk","name":"julusian"},{"email":"email@alexvan.camp","name":"lange"},{"email":"prime@ahref.co.uk","name":"probableprime"}],"_npmUser":{"name":"julusian","email":"git@julusian.co.uk"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/elgato-stream-deck_3.1.0_1569756261993_0.311445873148247"},"_hasShrinkwrap":false,"deprecated":"This library has been renamed to @elgato-stream-deck/node. The new version provides a promise based api, with better names as well as a webhid version at @elgato-stream-deck/webhid"},"3.2.0":{"name":"elgato-stream-deck","version":"3.2.0","description":"An npm module for interfacing with the Elgato Stream Deck","main":"dist/index.js","typings":"dist/index.d.ts","license":"MIT","homepage":"https://github.com/lange/node-elgato-stream-deck#readme","repository":{"type":"git","url":"git+https://github.com/lange/node-elgato-stream-deck.git"},"bugs":{"url":"https://github.com/lange/node-elgato-stream-deck/issues"},"author":{"name":"Alex Van Camp","email":"email@alexvan.camp","url":"https://alexvan.camp/"},"contributors":[{"name":"Håkon Nessjøen","email":"haakon@bitfocus.io"},{"name":"Richard Fox"},{"name":"Chris Hanel","email":"chrishanel@gmail.com","url":"http://www.chrishanel.com/"},{"name":"Julian Waller","email":"git@julusian.co.uk"}],"keywords":["elgato","stream","deck","streamdeck","hid","usb","hardware","interface","controller"],"scripts":{"build":"trash dist && yarn build:main","build:main":"tsc -p tsconfig.build.json","release":"standard-version","test":"yarn lint && yarn build && yarn unit","watch":"jest --watch","cov":"jest --coverage; open-cli coverage/lcov-report/index.html","cov-open":"open-cli coverage/lcov-report/index.html","testci":"yarn lint && jest --coverage && cat ./coverage/lcov.info | coveralls","unit":"jest","update-coc":"weallbehave -o . && git add CODE_OF_CONDUCT.md && git commit -m 'docs(coc): updated CODE_OF_CONDUCT.md'","update-contrib":"weallcontribute -o . && git add CONTRIBUTING.md && git commit -m 'docs(contributing): updated CONTRIBUTING.md'","lint":"tslint --project tsconfig.json --config tslint.json","tslint-check":"tslint-config-prettier-check ./tslint.json","validate:dependencies":"yarn audit && yarn license-validate","license-validate":"node-license-validator -p -d --allow-licenses MIT BSD BSD-3-Clause ISC Apache Unlicense WTFPL"},"engines":{"node":">=7.6"},"dependencies":{"exit-hook":"^2.2.0","jpeg-js":"^0.3.5","node-hid":"^0.7.9"},"devDependencies":{"@julusian/jpeg-turbo":"^0.5.1","@types/jest":"^24.0.11","@types/jpeg-js":"^0.3.0","@types/node":"^12.0.4","@types/node-hid":"^0.7.0","@types/sharp":"^0.23.0","coveralls":"^3.0.3","jest":"^24.7.1","jest-haste-map":"^24.7.1","jest-resolve":"^24.7.1","node-license-validator":"^1.3.0","open-cli":"^5.0.0","prettier":"^1.17.1","pureimage":"^0.1.3","sharp":"^0.23.1","standard-version":"^7.0.0","stream-buffers":"^3.0.1","trash-cli":"^3.0.0","ts-jest":"^24.0.2","ts-loader":"^6.0.0","ts-node":"^8.1.0","tslint":"^5.16.0","tslint-config-prettier":"^1.18.0","tslint-plugin-prettier":"^2.0.1","typescript":"~3.6.4","usb-detection":"^4.3.0","weallbehave":"^1.2.0","weallcontribute":"^1.0.8"},"licenseText":"MIT License\n\nCopyright (c) 2017 Alex Van Camp\nCopyright (c) 2018 Bitfocus AS\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"elgato-stream-deck@3.2.0","dist":{"shasum":"ddba2b08c1937e5bb442ef7290f4748472c86b5c","integrity":"sha512-HmmDA2f0NQbRgUEiXilZI5+T5kXNharU4cS+aVo+rYP/Vi8YOR7ipKn5AC6SRKgEAfIK0Mg/JbIFdSpGYjCoHw==","tarball":"https://registry.npmjs.org/elgato-stream-deck/-/elgato-stream-deck-3.2.0.tgz","fileCount":29,"unpackedSize":59082,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdzTADCRA9TVsSAnZWagAATu4P/2C8TiPXMwsF0V8WHFoC\nh30AsE7zz014BRZ6Ced0DTq4uYKteoJiK1ZprBk8K4/11RfGHM5Z0/gE0q6+\nBg6LZp18m9peM2XDPSpPjx7mte/WwR7yxli5IhUXjndKdPX0Yr3e/VyYc116\nAHtiutSe24uPBbeUdFboBKwkO5IGmKr21sf2BlgMI9xwcfvYCdHhAjYwqXrb\noM0PBubTKOf14LsyiICBis/10qlStO4zE8tBhdtJxVPLm6A4k9NQeQLCflWZ\nox8whJJp79tpcHgbkfXmK+ySGaiv0uxMLTIfj2W6SDjxB+UIwvvteD+jgcUO\nkq+U1d7Hvk1GVIrYF2t0Ymj28TFRNxkn0g/ZFNZuosHH2rEVYmDYVDNSIx5Q\nPQa9xM+wRjDWXqItPemi3K7z/JKsoW2KqcTgcyCjzYs9SvWpQTfvmZkB5L+i\n7OxK1dxR+JvC7TlsCiZHse/dGT5lzruMj6z+MYyQ4cC/mmYIOkjA09IuQSkM\neCZGxN4MqmfzOyQs7tsNtkyxFna+1DCMohbW3/lXIHmoWtM0FXo6B0B3mE9a\n19Z0iwrZkwIwqU5jE00LGoljI6o5EN8L+KvvaVAIKPvW93TPb9Ym9UWsa72x\nihggMnPTiiVi+99EPEUsQLIb/tjDmRKxZbigsJLOW6eVAWiK9eETbJdoFTVe\nNBkg\r\n=/tLx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDMMJD+oUw0jbevoBO9pX+DtmbV1Yke3hR9uqtssQByEgIgfLAN2nNuqVVmtmH8pHCbnUtnVB61fkQ2S0HkPrkLgmY="}]},"maintainers":[{"email":"git@julusian.co.uk","name":"julusian"},{"email":"email@alexvan.camp","name":"lange"},{"email":"prime@ahref.co.uk","name":"probableprime"}],"_npmUser":{"name":"julusian","email":"git@julusian.co.uk"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/elgato-stream-deck_3.2.0_1573728259365_0.002228180542914737"},"_hasShrinkwrap":false,"deprecated":"This library has been renamed to @elgato-stream-deck/node. The new version provides a promise based api, with better names as well as a webhid version at @elgato-stream-deck/webhid"},"3.3.0":{"name":"elgato-stream-deck","version":"3.3.0","description":"An npm module for interfacing with the Elgato Stream Deck","main":"dist/index.js","typings":"dist/index.d.ts","license":"MIT","homepage":"https://github.com/lange/node-elgato-stream-deck#readme","repository":{"type":"git","url":"git+https://github.com/lange/node-elgato-stream-deck.git"},"bugs":{"url":"https://github.com/lange/node-elgato-stream-deck/issues"},"author":{"name":"Alex Van Camp","email":"email@alexvan.camp","url":"https://alexvan.camp/"},"contributors":[{"name":"Håkon Nessjøen","email":"haakon@bitfocus.io"},{"name":"Richard Fox"},{"name":"Chris Hanel","email":"chrishanel@gmail.com","url":"http://www.chrishanel.com/"},{"name":"Julian Waller","email":"git@julusian.co.uk"}],"keywords":["elgato","stream","deck","streamdeck","hid","usb","hardware","interface","controller"],"scripts":{"build":"trash dist && yarn build:main","build:main":"tsc -p tsconfig.build.json","release":"standard-version","test":"yarn lint && yarn build && yarn unit","watch":"jest --watch","cov":"jest --coverage; open-cli coverage/lcov-report/index.html","cov-open":"open-cli coverage/lcov-report/index.html","testci":"yarn lint && jest --coverage","send-coverage":"cat ./coverage/lcov.info | coveralls","unit":"jest","update-coc":"weallbehave -o . && git add CODE_OF_CONDUCT.md && git commit -m 'docs(coc): updated CODE_OF_CONDUCT.md'","update-contrib":"weallcontribute -o . && git add CONTRIBUTING.md && git commit -m 'docs(contributing): updated CONTRIBUTING.md'","lint":"tslint --project tsconfig.json --config tslint.json","tslint-check":"tslint-config-prettier-check ./tslint.json","validate:dependencies":"yarn audit && yarn license-validate","license-validate":"node-license-validator -p -d --allow-licenses MIT BSD BSD-3-Clause ISC Apache Unlicense WTFPL"},"engines":{"node":">=7.6"},"dependencies":{"exit-hook":"^2.2.0","jpeg-js":"^0.3.5","node-hid":"^1.2.0"},"devDependencies":{"@julusian/jpeg-turbo":"^0.5.3","@types/jest":"^24.0.11","@types/jpeg-js":"^0.3.0","@types/node":"^12.0.4","@types/node-hid":"^1.2.0","@types/sharp":"^0.23.0","coveralls":"^3.0.3","jest":"^24.7.1","jest-haste-map":"^24.7.1","jest-resolve":"^24.7.1","node-license-validator":"^1.3.0","open-cli":"^5.0.0","prettier":"^1.17.1","pureimage":"^0.1.3","sharp":"^0.23.1","standard-version":"^7.0.0","stream-buffers":"^3.0.1","trash-cli":"^3.0.0","ts-jest":"^24.0.2","ts-loader":"^6.0.0","ts-node":"^8.1.0","tslint":"^5.16.0","tslint-config-prettier":"^1.18.0","tslint-plugin-prettier":"^2.0.1","typescript":"~3.6.4","usb-detection":"^4.3.0","weallbehave":"^1.2.0","weallcontribute":"^1.0.8"},"licenseText":"MIT License\n\nCopyright (c) 2017 Alex Van Camp\nCopyright (c) 2018 Bitfocus AS\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"elgato-stream-deck@3.3.0","dist":{"shasum":"f5cfc36bb16e0a43618a39da90e27948802c2e16","integrity":"sha512-ByPgRTjiL4x0wD2qFUuzknox1+uPte5nl8wUmjllp+1G3Zs/bnbv+THHouktwg5EEPl6xxcq8C5FOtuC6WpCDQ==","tarball":"https://registry.npmjs.org/elgato-stream-deck/-/elgato-stream-deck-3.3.0.tgz","fileCount":29,"unpackedSize":60562,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeSa6HCRA9TVsSAnZWagAAvqMQAJYoVIvqYclOZStnKUlo\nT4YbHhmF1Bj4ZYttaUyHUt4p+jDX0WWg857+C5LGmaJ1Y4A2uDXDHzGfLKbc\nkZ1u69jsDjf2OEvsUZ4rnjh5bsR/J2WwedaRZ3UYgaYk2ysW1r8mGkpF4OTg\nJbRFh8aGhPwzIQIHzOqfFnMM6hfBLCRndStq5YwHnJ+7foHs0VGhgR/Tfaxu\nU8l1qNqZT2SEYs9R2mtrlA+eQ1XctWLMHToEAFcb4dixA+Ct4onk5a/5s5j+\nPBSTAPXXsI0uZNcmWtcOuG08kVEz/36XZoZm5z3P//w2SiaadeJOu2py+CV+\nAOt6yM+MShhp8aXf2az+oGuAgkvPUyYF7baZ7mrRoJ1X34cofY7eVKV2p6LO\n/seOdzUboEcBRmD5kESc7DVCMgGtxnVw5vQdCNYw+q/3rN8CDurDETzyyqCi\nUuDC2iA5XWIb9RGW4Mn/2qZQambbPGGia4kF0otCF49OoZuxAaglkqjJbT7Z\n6vV1H2WbRAHbH2GRrhbdneud5NfFCOipX4bnb0gyaVm61iNFLR29ADBSC4lj\nYJnY+4HhCfhdz1ZiddKvdQZg/yiPn8XUOIN6nCvjGtkljj0msr/s80sgNPTe\nlPji1Crpli+YV4R6ePRsHQFNgdyUDyT2A/+onkz4A1w1Kepd9XEY9PPNfhuk\nIsEI\r\n=8u6p\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEkY/gUk4l18Ii3RO6pRE3JHV10njYFGLnLTkIFkoY8RAiEAiGrYTdBlDN39zhxBgISVfwdczLVN4X5VmTSrMVvOKGE="}]},"maintainers":[{"email":"git@julusian.co.uk","name":"julusian"},{"email":"email@alexvan.camp","name":"lange"},{"email":"prime@ahref.co.uk","name":"probableprime"}],"_npmUser":{"name":"julusian","email":"git@julusian.co.uk"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/elgato-stream-deck_3.3.0_1581887110747_0.8854920852916337"},"_hasShrinkwrap":false,"deprecated":"This library has been renamed to @elgato-stream-deck/node. The new version provides a promise based api, with better names as well as a webhid version at @elgato-stream-deck/webhid"},"3.3.1":{"name":"elgato-stream-deck","version":"3.3.1","description":"An npm module for interfacing with the Elgato Stream Deck","main":"dist/index.js","typings":"dist/index.d.ts","license":"MIT","homepage":"https://github.com/lange/node-elgato-stream-deck#readme","repository":{"type":"git","url":"git+https://github.com/lange/node-elgato-stream-deck.git"},"bugs":{"url":"https://github.com/lange/node-elgato-stream-deck/issues"},"author":{"name":"Alex Van Camp","email":"email@alexvan.camp","url":"https://alexvan.camp/"},"contributors":[{"name":"Håkon Nessjøen","email":"haakon@bitfocus.io"},{"name":"Richard Fox"},{"name":"Chris Hanel","email":"chrishanel@gmail.com","url":"http://www.chrishanel.com/"},{"name":"Julian Waller","email":"git@julusian.co.uk"}],"keywords":["elgato","stream","deck","streamdeck","hid","usb","hardware","interface","controller"],"scripts":{"build":"trash dist && yarn build:main","build:main":"tsc -p tsconfig.build.json","release":"standard-version","test":"yarn lint && yarn build && yarn unit","watch":"jest --watch","cov":"jest --coverage; open-cli coverage/lcov-report/index.html","cov-open":"open-cli coverage/lcov-report/index.html","testci":"yarn lint && jest --coverage","send-coverage":"cat ./coverage/lcov.info | coveralls","unit":"jest","update-coc":"weallbehave -o . && git add CODE_OF_CONDUCT.md && git commit -m 'docs(coc): updated CODE_OF_CONDUCT.md'","update-contrib":"weallcontribute -o . && git add CONTRIBUTING.md && git commit -m 'docs(contributing): updated CONTRIBUTING.md'","lint":"tslint --project tsconfig.json --config tslint.json","tslint-check":"tslint-config-prettier-check ./tslint.json","validate:dependencies":"yarn audit --groups dependencies && yarn license-validate","license-validate":"node-license-validator -p -d --allow-licenses MIT 0BSD BSD BSD-3-Clause ISC Apache Unlicense WTFPL"},"engines":{"node":">=7.6"},"dependencies":{"exit-hook":"^2.2.0","jpeg-js":"^0.3.5","node-hid":"^1.2.0"},"devDependencies":{"@julusian/jpeg-turbo":"^0.5.3","@types/jest":"^25.1.4","@types/jpeg-js":"^0.3.0","@types/node":"^12.0.4","@types/node-hid":"^1.2.0","@types/sharp":"^0.24.0","coveralls":"^3.0.3","jest":"^25.1.0","jest-haste-map":"^25.1.0","jest-resolve":"^25.1.0","node-license-validator":"^1.3.0","open-cli":"^5.0.0","prettier":"^1.17.1","pureimage":"^0.1.3","sharp":"~0.23.3","standard-version":"^7.0.0","stream-buffers":"^3.0.1","trash-cli":"^3.0.0","ts-jest":"^25.2.1","ts-loader":"^6.0.0","ts-node":"^8.1.0","tslint":"^6.1.0","tslint-config-prettier":"^1.18.0","tslint-plugin-prettier":"^2.0.1","typescript":"~3.6.4","usb-detection":"^4.3.0","weallbehave":"^1.2.0","weallcontribute":"^1.0.8"},"resolutions":{"**/conventional-changelog-angular":"5.0.6","**/conventional-changelog-atom":"2.0.3","**/conventional-changelog-codemirror":"2.0.3","**/conventional-changelog-core":"4.1.3","**/conventional-changelog-conventionalcommits":"4.2.3","**/conventional-changelog-ember":"2.0.4","**/conventional-changelog-eslint":"3.0.4","**/conventional-changelog-express":"2.0.1","**/conventional-changelog-jshint":"2.0.3","**/conventional-changelog-preset-loader":"2.3.0","**/conventional-changelog-writer":"4.0.11","**/conventional-commits-filter":"2.0.2","**/conventional-commits-parser":"3.0.8"},"licenseText":"MIT License\n\nCopyright (c) 2017 Alex Van Camp\nCopyright (c) 2018 Bitfocus AS\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"elgato-stream-deck@3.3.1","dist":{"shasum":"5f861e7a5908aed9533bc26ec5182dddd7a3fcd5","integrity":"sha512-0WR8Ge3O1uHMxkZnB/q7/lcGmN8NJtSuWACEOwF5zz36JROdM79/iX4MKoErIq5XPQhV4CtKrPL0Wea/YOsEmA==","tarball":"https://registry.npmjs.org/elgato-stream-deck/-/elgato-stream-deck-3.3.1.tgz","fileCount":29,"unpackedSize":62020,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfEx1yCRA9TVsSAnZWagAACbMP/jzu/6tLgf0fFT3kc/zO\nBDQfkXHj8GZLYCV5ejTRv9EqqhrZLaZz3a2ELi7N+4GhQUBNBwmr95nvpgb6\n8hmWFmnNqjH9bHqwabnGl1K+EbNeS7XAABVzqL2nNw9UEZ9jZfUFky7gtBc5\nvhFQ/1I9v79Bg87d/3KymcpvWd9hNp20plsRrqGVBsOtQr7ZBtNM0DbRYW9I\nKyo7KRQ+sk2O5tonuWaNmflZafeushz6y7BxuYLuV0BkuqctKQEIvQDlK9aj\nZYFiyv2btj6lsRU9PjKtHIVfRp/v+EaEfE46Dx5UPVAqV0FRYfHhs0aLfmsr\nt+izwqVj/dVOejb1raM0pPZKPNc/7II/D4wXhmKaj4HzRZm3hjs2Y3kt28rh\nERSll9MVFjWrLUrvUs+c6epw2xGw08V4rjOJiFosm+UmwSDNxnYlQNXCGY69\nWCp3mAGo+xSPeQi6JsOR12/712/1T4UgO4xYuhsEv5GY+SJehYq2+MYouh8U\neaB1jGcNJTKGBhqOuEC2mGFDLlFJx5QKvksr9eupDLja2M6wbHCO7i8Nh4zo\nb+kWXtcP7QFDLNz+S/TSEl8oDGsPEJZWUnCQEb8M89u7gHvV21LX+ZDaHGiP\n95GiXgla9Il2U/dUGUIbu2FfI9onJyM5tTcBr4xRtFvNNUUkZQhYN2rUJ5jt\n7fOm\r\n=em8I\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHM7AjsDhkhIuUQPHLTgqdwuwiN8kV88772AjTlAWRvEAiEAppEuLz+dprUEfeEBkKBuPeNrMhakD8bwSKZ5ZMFbaTs="}]},"maintainers":[{"email":"git@julusian.co.uk","name":"julusian"},{"email":"email@alexvan.camp","name":"lange"},{"email":"prime@ahref.co.uk","name":"probableprime"}],"_npmUser":{"name":"julusian","email":"git@julusian.co.uk"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/elgato-stream-deck_3.3.1_1595088242399_0.5139612142603951"},"_hasShrinkwrap":false,"deprecated":"This library has been renamed to @elgato-stream-deck/node. The new version provides a promise based api, with better names as well as a webhid version at @elgato-stream-deck/webhid"},"3.3.2":{"name":"elgato-stream-deck","version":"3.3.2","description":"An npm module for interfacing with the Elgato Stream Deck","main":"dist/index.js","typings":"dist/index.d.ts","license":"MIT","homepage":"https://github.com/lange/node-elgato-stream-deck#readme","repository":{"type":"git","url":"git+https://github.com/lange/node-elgato-stream-deck.git"},"bugs":{"url":"https://github.com/lange/node-elgato-stream-deck/issues"},"author":{"name":"Alex Van Camp","email":"email@alexvan.camp","url":"https://alexvan.camp/"},"contributors":[{"name":"Håkon Nessjøen","email":"haakon@bitfocus.io"},{"name":"Richard Fox"},{"name":"Chris Hanel","email":"chrishanel@gmail.com","url":"http://www.chrishanel.com/"},{"name":"Julian Waller","email":"git@julusian.co.uk"}],"keywords":["elgato","stream","deck","streamdeck","hid","usb","hardware","interface","controller"],"scripts":{"build":"trash dist && yarn build:main","build:main":"tsc -p tsconfig.build.json","release":"standard-version","test":"yarn lint && yarn build && yarn unit","watch":"jest --watch","cov":"jest --coverage; open-cli coverage/lcov-report/index.html","cov-open":"open-cli coverage/lcov-report/index.html","testci":"yarn lint && jest --coverage","send-coverage":"cat ./coverage/lcov.info | coveralls","unit":"jest","update-coc":"weallbehave -o . && git add CODE_OF_CONDUCT.md && git commit -m 'docs(coc): updated CODE_OF_CONDUCT.md'","update-contrib":"weallcontribute -o . && git add CONTRIBUTING.md && git commit -m 'docs(contributing): updated CONTRIBUTING.md'","lint":"eslint . --ext .ts","validate:dependencies":"yarn audit --groups dependencies && yarn license-validate","license-validate":"node-license-validator -p -d --allow-licenses MIT 0BSD BSD BSD-3-Clause ISC Apache Unlicense WTFPL"},"engines":{"node":">=7.6"},"dependencies":{"exit-hook":"^2.2.0","jpeg-js":"^0.4.2","node-hid":"^1.2.0"},"devDependencies":{"@julusian/jpeg-turbo":"^0.5.3","@types/jest":"^25.1.4","@types/jpeg-js":"^0.3.0","@types/node":"^12.0.4","@types/node-hid":"^1.2.0","@types/sharp":"^0.24.0","@typescript-eslint/eslint-plugin":"^2.30.0","@typescript-eslint/parser":"^2.30.0","coveralls":"^3.0.3","eslint":"^6.8.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.3","jest":"^25.1.0","jest-haste-map":"^25.1.0","jest-resolve":"^25.1.0","node-license-validator":"^1.3.0","open-cli":"^5.0.0","prettier":"^1.17.1","pureimage":"^0.2.5","sharp":"~0.23.3","standard-version":"^7.0.0","stream-buffers":"^3.0.1","trash-cli":"^3.0.0","ts-jest":"^25.2.1","ts-loader":"^6.0.0","ts-node":"^8.1.0","typescript":"~3.6.4","usb-detection":"^4.3.0","weallbehave":"^1.2.0","weallcontribute":"^1.0.8"},"resolutions":{"**/conventional-changelog-angular":"5.0.6","**/conventional-changelog-atom":"2.0.3","**/conventional-changelog-codemirror":"2.0.3","**/conventional-changelog-core":"4.1.3","**/conventional-changelog-conventionalcommits":"4.2.3","**/conventional-changelog-ember":"2.0.4","**/conventional-changelog-eslint":"3.0.4","**/conventional-changelog-express":"2.0.1","**/conventional-changelog-jshint":"2.0.3","**/conventional-changelog-preset-loader":"2.3.0","**/conventional-changelog-writer":"4.0.11","**/conventional-commits-filter":"2.0.2","**/conventional-commits-parser":"3.0.8"},"licenseText":"MIT License\n\nCopyright (c) 2017 Alex Van Camp\nCopyright (c) 2018 Bitfocus AS\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"elgato-stream-deck@3.3.2","dist":{"shasum":"99f5c9dfbbb3d45d6fc80a314c4ad8f00aabce53","integrity":"sha512-NIrL2wFSXGsi/5ZNmBGNO/5fJGP64IhzeY1rc9e06CGoTw57+Hi6XFB4vjyUbnbnxGwbKl+aZMmO43eRAIPgRQ==","tarball":"https://registry.npmjs.org/elgato-stream-deck/-/elgato-stream-deck-3.3.2.tgz","fileCount":29,"unpackedSize":62122,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfSW97CRA9TVsSAnZWagAAl8QP/i7Lkg38yfg7Ahk3WOAF\n1N1B3RPyb9Ywtnn6klM13KhWdiiwv+Zv7+xK614S5GkTg0BDjwAEE+hpqfi+\njnjzYCuwPNT8aQNRqvXImSgt3N6T//5BZitq00Aib+Z97b01OV8G431hwowm\nkogSIsGlRjeSSnFV6u9KEHNu6LRkwGUzkKqWbRigiBW+2kGptXfygS99hNpi\nPmiULAQ2Mf9NTrNcAXmMNLjCg90SyUSZtL9WEfTWKHoJ4YLiWPnowsu/i3z1\n6ZbQyV4m1qXKV13p+HEcScjjoCESYUzykcYqwh7HEV4smn8sxZSt9CW7i/+Z\nBvrT53yBMSvFTsklk6y4AmJ3ere1oAOr0QPrAk217LyeeYc3a4N92uWPM54J\nvuXgBGLUcJbH5iLowIEJ9g50cuRXno2QB+JqQDv/jFODakRkAlDIUriGngFN\n+vwTKXv2pjgTKOTLEJfBsXJegb7mCYdVeyPh2xFaGC4fJx5tshXzHB32lfh0\n4vq3alrRiD6uZYISuIWIfXA35rMv82HNufINqFwD8VHtKfrnQ8L90VvMcWNk\nyls35n9CY5Ys7gzpgWK6rHBm4982nhZrJVwQMfLsVp22IoyBAMk1dRLm3giO\nF6f/aJwm5xotYgjPEqUJbOaKEPzUtExkxWb3qfaSFtZyYZamnSA6Ggg3TFwM\nhmCG\r\n=M06s\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIF8BsRjP1zAr0b4hSZqXENlWgUjt3bjUpa/cmKni+I4IAiAHomq8Jt057on9gdWWMWe9DRjoNcLBaV+o/YxaX7R4Jw=="}]},"maintainers":[{"email":"git@julusian.co.uk","name":"julusian"},{"email":"email@alexvan.camp","name":"lange"},{"email":"prime@ahref.co.uk","name":"probableprime"}],"_npmUser":{"name":"julusian","email":"git@julusian.co.uk"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/elgato-stream-deck_3.3.2_1598648187212_0.7525619639050896"},"_hasShrinkwrap":false,"deprecated":"This library has been renamed to @elgato-stream-deck/node. The new version provides a promise based api, with better names as well as a webhid version at @elgato-stream-deck/webhid"},"3.3.3":{"name":"elgato-stream-deck","version":"3.3.3","description":"An npm module for interfacing with the Elgato Stream Deck","main":"dist/index.js","typings":"dist/index.d.ts","license":"MIT","homepage":"https://github.com/julusian/node-elgato-stream-deck#readme","repository":{"type":"git","url":"git+https://github.com/julusian/node-elgato-stream-deck.git"},"bugs":{"url":"https://github.com/julusian/node-elgato-stream-deck/issues"},"author":{"name":"Alex Van Camp","email":"email@alexvan.camp","url":"https://alexvan.camp/"},"contributors":[{"name":"Håkon Nessjøen","email":"haakon@bitfocus.io"},{"name":"Richard Fox"},{"name":"Chris Hanel","email":"chrishanel@gmail.com","url":"http://www.chrishanel.com/"},{"name":"Julian Waller","email":"git@julusian.co.uk"}],"keywords":["elgato","stream","deck","streamdeck","hid","usb","hardware","interface","controller"],"scripts":{"build":"trash dist && yarn build:main","build:main":"tsc -p tsconfig.build.json","release":"standard-version","test":"yarn lint && yarn build && yarn unit","watch":"jest --watch","cov":"jest --coverage; open-cli coverage/lcov-report/index.html","cov-open":"open-cli coverage/lcov-report/index.html","testci":"yarn lint && jest --coverage","send-coverage":"cat ./coverage/lcov.info | coveralls","unit":"jest","update-coc":"weallbehave -o . && git add CODE_OF_CONDUCT.md && git commit -m 'docs(coc): updated CODE_OF_CONDUCT.md'","update-contrib":"weallcontribute -o . && git add CONTRIBUTING.md && git commit -m 'docs(contributing): updated CONTRIBUTING.md'","lint":"eslint . --ext .ts","validate:dependencies":"yarn audit --groups dependencies && yarn license-validate","license-validate":"node-license-validator -p -d --allow-licenses MIT 0BSD BSD BSD-3-Clause ISC Apache Unlicense WTFPL"},"engines":{"node":">=7.6"},"dependencies":{"exit-hook":"^2.2.0","jpeg-js":"^0.4.2","node-hid":"^1.2.0"},"devDependencies":{"@julusian/jpeg-turbo":"^0.5.3","@types/jest":"^25.1.4","@types/jpeg-js":"^0.3.0","@types/node":"^12.0.4","@types/node-hid":"^1.2.0","@types/sharp":"^0.24.0","@typescript-eslint/eslint-plugin":"^2.30.0","@typescript-eslint/parser":"^2.30.0","coveralls":"^3.0.3","eslint":"^6.8.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.3","jest":"^25.1.0","jest-haste-map":"^25.1.0","jest-resolve":"^25.1.0","node-license-validator":"^1.3.0","open-cli":"^5.0.0","prettier":"^1.17.1","pureimage":"^0.2.5","sharp":"~0.23.3","standard-version":"^7.0.0","stream-buffers":"^3.0.1","trash-cli":"^3.0.0","ts-jest":"^25.2.1","ts-loader":"^6.0.0","ts-node":"^8.1.0","typescript":"~3.6.4","usb-detection":"^4.3.0","weallbehave":"^1.2.0","weallcontribute":"^1.0.8"},"resolutions":{"**/conventional-changelog-angular":"5.0.6","**/conventional-changelog-atom":"2.0.3","**/conventional-changelog-codemirror":"2.0.3","**/conventional-changelog-core":"4.1.3","**/conventional-changelog-conventionalcommits":"4.2.3","**/conventional-changelog-ember":"2.0.4","**/conventional-changelog-eslint":"3.0.4","**/conventional-changelog-express":"2.0.1","**/conventional-changelog-jshint":"2.0.3","**/conventional-changelog-preset-loader":"2.3.0","**/conventional-changelog-writer":"4.0.11","**/conventional-commits-filter":"2.0.2","**/conventional-commits-parser":"3.0.8"},"licenseText":"MIT License\n\nCopyright (c) 2017 Alex Van Camp\nCopyright (c) 2018 Bitfocus AS\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"elgato-stream-deck@3.3.3","dist":{"shasum":"8771e14cb25a2a98bef89fa091a4a7e894f887f8","integrity":"sha512-Knc/xM+/Q8YEZzb3lyua5fjB1YWOPVM7xRIuoT5OnQbT2Ba91dhZN3zviqdjKydY0rqolzpR+lN6rPd4adnOBg==","tarball":"https://registry.npmjs.org/elgato-stream-deck/-/elgato-stream-deck-3.3.3.tgz","fileCount":29,"unpackedSize":62557,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfyr6+CRA9TVsSAnZWagAA9QEP/Aq9pfJ+cdEajb9QoKqU\nDlqz7IGl1KA94rolfaNLlRBB4QvNmXNxR+9D8m0boW9kC4uxjFuvRwsZ+EMN\nBk6Obb6j+R1C3ULheNjFMNIsk3GQydkVB/VNSp5YkQ8TJEUlMaXtIe3U2cus\n9IJVVAYnR+wF43nPI6Hndc9TWIlUGpRK/d+jCfIgfKp0A21STZ/zHqB5MB/b\nj9jTPGWmYsijymlUCLI3Jkcx2+HpdhekxOKiE9FjHFQb72QOy9KDSeW0hAjR\nKzsiJBxd8XbhNeVfREmedCw8LWpzhEbsEzcplwudH9TWQzWXOMHpNTX0gWxj\nWJou+Agt7QK7UvKHKNLpwq0N6ToMcwIY02ZLdCu8Yg/MrNSuzmCwMRKv91MA\nASKoMl/HVzNgn0w4pqVkAMlOxt9XvmJn2pCGEDDbfI5XJj8Zas96lpR4PSgi\ntP/zm4ZErl9ZwcjIcD2OCFmcjReqnCBiyoSvRyNZZLTR4qqeJgRuhxC4qOLw\n0QT3E0WwemKC9ZPx6Xlmzq2qWZNmAeGkU7YSDGuTPhyw7L0zqPyffnjVfcZf\nNPYvgRCxtX8Xl2Pf3+d3JES0VMkF6NVOFhE4lcXQxQp1oa/oaksQJnVEnHLL\neUUqELEqnk+4QhEDZdYgmDfVfzHcDmSdrWty0H/sePRAnV4vMsI/qwiiBnhH\nD0Kf\r\n=766K\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCG5tX5Ed8TmjDKK8rYRXq1M+a36mWhmndbySB55kYiwAIhAKKzZFgPE8OLSpUnWM82iM6HvbZrZHqy7U4eAh0/XCIG"}]},"_npmUser":{"name":"julusian","email":"git@julusian.co.uk"},"directories":{},"maintainers":[{"name":"lange","email":"email@alexvan.camp"},{"name":"julusian","email":"git@julusian.co.uk"},{"name":"probableprime","email":"prime@ahref.co.uk"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/elgato-stream-deck_3.3.3_1607122621996_0.32520735772063736"},"_hasShrinkwrap":false,"deprecated":"This library has been renamed to @elgato-stream-deck/node. The new version provides a promise based api, with better names as well as a webhid version at @elgato-stream-deck/webhid"},"3.3.4":{"name":"elgato-stream-deck","version":"3.3.4","description":"An npm module for interfacing with the Elgato Stream Deck","main":"dist/index.js","typings":"dist/index.d.ts","license":"MIT","homepage":"https://github.com/julusian/node-elgato-stream-deck#readme","repository":{"type":"git","url":"git+https://github.com/julusian/node-elgato-stream-deck.git"},"bugs":{"url":"https://github.com/julusian/node-elgato-stream-deck/issues"},"author":{"name":"Julian Waller","email":"git@julusian.co.uk"},"contributors":[{"name":"Håkon Nessjøen","email":"haakon@bitfocus.io"},{"name":"Richard Fox"},{"name":"Chris Hanel","email":"chrishanel@gmail.com","url":"http://www.chrishanel.com/"}],"keywords":["elgato","stream","deck","streamdeck","hid","usb","hardware","interface","controller"],"scripts":{"build":"trash dist && yarn build:main","build:main":"tsc -p tsconfig.build.json","release":"standard-version","test":"yarn lint && yarn build && yarn unit","watch":"jest --watch","cov":"jest --coverage; open-cli coverage/lcov-report/index.html","cov-open":"open-cli coverage/lcov-report/index.html","testci":"yarn lint && jest --coverage","send-coverage":"cat ./coverage/lcov.info | coveralls","unit":"jest","lint":"eslint . --ext .ts","validate:dependencies":"yarn audit --groups dependencies && yarn license-validate","license-validate":"node-license-validator -p -d --allow-licenses MIT 0BSD BSD BSD-3-Clause ISC Apache Unlicense WTFPL"},"engines":{"node":">=7.6"},"dependencies":{"exit-hook":"^2.2.0","jpeg-js":"^0.4.2","node-hid":"^1.2.0"},"devDependencies":{"@julusian/jpeg-turbo":"^0.5.3","@types/jest":"^25.1.4","@types/jpeg-js":"^0.3.0","@types/node":"^12.0.4","@types/node-hid":"^1.2.0","@types/sharp":"^0.24.0","@typescript-eslint/eslint-plugin":"^2.30.0","@typescript-eslint/parser":"^2.30.0","coveralls":"^3.0.3","eslint":"^6.8.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.3","jest":"^25.1.0","jest-haste-map":"^25.1.0","jest-resolve":"^25.1.0","node-license-validator":"^1.3.0","open-cli":"^5.0.0","prettier":"^1.17.1","pureimage":"^0.2.5","sharp":"~0.23.3","standard-version":"^7.0.0","stream-buffers":"^3.0.1","trash-cli":"^3.0.0","ts-jest":"^25.2.1","ts-loader":"^6.0.0","ts-node":"^8.1.0","typescript":"~3.6.4","usb-detection":"^4.3.0"},"resolutions":{"**/conventional-changelog-angular":"5.0.6","**/conventional-changelog-atom":"2.0.3","**/conventional-changelog-codemirror":"2.0.3","**/conventional-changelog-core":"4.1.3","**/conventional-changelog-conventionalcommits":"4.2.3","**/conventional-changelog-ember":"2.0.4","**/conventional-changelog-eslint":"3.0.4","**/conventional-changelog-express":"2.0.1","**/conventional-changelog-jshint":"2.0.3","**/conventional-changelog-preset-loader":"2.3.0","**/conventional-changelog-writer":"4.0.11","**/conventional-commits-filter":"2.0.2","**/conventional-commits-parser":"3.0.8"},"licenseText":"MIT License\n\nCopyright (c) 2020 Julian Waller\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"elgato-stream-deck@3.3.4","dist":{"shasum":"009faa13fdfb257c38deaaff43d022eedec3c0a8","integrity":"sha512-ArkBrugk9ENNTx72VVmNqKzOHymm9obgyxk5qZbBK43m98h/lN9Uky3vOYV5BlHmryqJ6y+I6SnxLaT/Ndu49g==","tarball":"https://registry.npmjs.org/elgato-stream-deck/-/elgato-stream-deck-3.3.4.tgz","fileCount":29,"unpackedSize":61864,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf0OBuCRA9TVsSAnZWagAAs+UQAKH8MbsDPjv6hmj+imMx\nkFiPeAMHOpBQqsEt19YgfiyW+rwoMWVQUgGUVQM39CYQlXTHVgRcHkcRaQfG\nsbM4a3riX/RIffrB/5C8UUv+BKJ3Hy1XsuXk5U+E1cnOVRV2G8vtCzwliG3S\nmwEKEcngvEuf5yIhvDrC1pcR06X4e3fiSmfWoTPzxGLzSkBQsd1Byx2MAMgt\nKt7msTnE7b0oIFf6DTOt/ycni6MTWbXBS39mp4Y4HDOtY4V32zVqSvOKTh2Y\nXE0jmgp38JMVwm6ORmVsB51d4+whiKkVk2j5ev9oSwRRh5j8798nSGCwh2Gl\nDsTuWC37QGd5iRNSkaFE8WXqoYtpeCB5/tsSyzIhsCfx3hEEjhQ0mFgYm7Xa\nzMYQ4pGURL0GW+74YQGpaBkxC8dyJ5Bh086bm00DwU7r4mDt14E/P5oDorCi\ndiayD1MpblDGWr5LGbhjCHy+3ERhKqAlBeMhc4h4b9N3l0r9JZlDcogrNuPY\nD/bfRAhxT48uq+2pKzO3bO5gsdL29uqA2WvVRWjy5EVWyxLoR+JsoVHdXAyf\nIBzys71QepwdRDjGU+46c6qgYuS+qaVXt5CNLlGbCJxMsTBJ9B56k9bPY+SP\nSLBTnqWbXUnHTePk3785Kx6rNXW5tijzah6DNagIVjocr05rs2MCilX38Cio\nfZRt\r\n=WCzm\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGjUhTUrssutw2FKNs0lc4yqEoZy4FreGgUMyzpv+fQCAiAyoN0EWHv4wMx6E5k/YHjAdF6DVIy4r4AqQ6Xc28NBcg=="}]},"_npmUser":{"name":"julusian","email":"git@julusian.co.uk"},"directories":{},"maintainers":[{"name":"julusian","email":"git@julusian.co.uk"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/elgato-stream-deck_3.3.4_1607524461778_0.6335209214875308"},"_hasShrinkwrap":false,"deprecated":"This library has been renamed to @elgato-stream-deck/node. The new version provides a promise based api, with better names as well as a webhid version at @elgato-stream-deck/webhid"},"3.3.5":{"name":"elgato-stream-deck","version":"3.3.5","description":"An npm module for interfacing with the Elgato Stream Deck","main":"dist/index.js","typings":"dist/index.d.ts","license":"MIT","homepage":"https://github.com/julusian/node-elgato-stream-deck#readme","repository":{"type":"git","url":"git+https://github.com/julusian/node-elgato-stream-deck.git"},"bugs":{"url":"https://github.com/julusian/node-elgato-stream-deck/issues"},"author":{"name":"Julian Waller","email":"git@julusian.co.uk"},"contributors":[{"name":"Håkon Nessjøen","email":"haakon@bitfocus.io"},{"name":"Richard Fox"},{"name":"Chris Hanel","email":"chrishanel@gmail.com","url":"http://www.chrishanel.com/"}],"keywords":["elgato","stream","deck","streamdeck","hid","usb","hardware","interface","controller"],"scripts":{"build":"trash dist && yarn build:main","build:main":"tsc -p tsconfig.build.json","release":"standard-version","test":"yarn lint && yarn build && yarn unit","watch":"jest --watch","cov":"jest --coverage; open-cli coverage/lcov-report/index.html","cov-open":"open-cli coverage/lcov-report/index.html","testci":"yarn lint && jest --coverage","send-coverage":"cat ./coverage/lcov.info | coveralls","unit":"jest","lint":"eslint . --ext .ts","validate:dependencies":"yarn audit --groups dependencies && yarn license-validate","license-validate":"node-license-validator -p -d --allow-licenses MIT 0BSD BSD BSD-3-Clause ISC Apache Unlicense WTFPL"},"engines":{"node":">=7.6"},"dependencies":{"exit-hook":"^2.2.0","jpeg-js":"^0.4.2","node-hid":"^1.2.0"},"devDependencies":{"@julusian/jpeg-turbo":"^0.5.3","@types/jest":"^25.1.4","@types/jpeg-js":"^0.3.0","@types/node":"^12.0.4","@types/node-hid":"^1.2.0","@types/sharp":"^0.24.0","@typescript-eslint/eslint-plugin":"^2.30.0","@typescript-eslint/parser":"^2.30.0","coveralls":"^3.0.3","eslint":"^6.8.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.3","jest":"^25.1.0","jest-haste-map":"^25.1.0","jest-resolve":"^25.1.0","node-license-validator":"^1.3.0","open-cli":"^5.0.0","prettier":"^1.17.1","pureimage":"^0.2.5","sharp":"~0.23.3","standard-version":"^7.0.0","stream-buffers":"^3.0.1","trash-cli":"^3.0.0","ts-jest":"^25.2.1","ts-loader":"^6.0.0","ts-node":"^8.1.0","typescript":"~3.6.4","usb-detection":"^4.3.0"},"resolutions":{"**/conventional-changelog-angular":"5.0.6","**/conventional-changelog-atom":"2.0.3","**/conventional-changelog-codemirror":"2.0.3","**/conventional-changelog-core":"4.1.3","**/conventional-changelog-conventionalcommits":"4.2.3","**/conventional-changelog-ember":"2.0.4","**/conventional-changelog-eslint":"3.0.4","**/conventional-changelog-express":"2.0.1","**/conventional-changelog-jshint":"2.0.3","**/conventional-changelog-preset-loader":"2.3.0","**/conventional-changelog-writer":"4.0.11","**/conventional-commits-filter":"2.0.2","**/conventional-commits-parser":"3.0.8"},"licenseText":"MIT License\n\nCopyright (c) 2020 Julian Waller\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"elgato-stream-deck@3.3.5","dist":{"shasum":"5c0c24fc5b2d78d72f3252b9aab410e0221731f4","integrity":"sha512-z2sgwBrCWBcrExdUQ4tlTM3UvjKkvmCG2WvlS9VPGHc18ZgxU2M8rnBxuKyp70vcviK8uSUbDG2OgmNaDjsbOg==","tarball":"https://registry.npmjs.org/elgato-stream-deck/-/elgato-stream-deck-3.3.5.tgz","fileCount":29,"unpackedSize":61864,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf0OCPCRA9TVsSAnZWagAAX+UP/371/8iSnE/4uP8JRZFR\niRL41cI65atdxJie+dtKQjXOAL86B6/q8XvEmX7gsMsd2HP7MACOy2yEXctk\nGNXmh5M8xTocZTnIfUNHlUkmO0JfhkumY8WHT4kY1RzgwLDZA7qQQkXhlQ78\n5m8GhHWnInPSeOuojgeWGSBIOc3CxFjxtLPxn/arIY9pt7j9BErIEzn1Clnk\nuYsYUEASmJlA7gKrh0qwffFTSU0P7Y5MiiPuvpr32NBz9B8z2lxNhXgZVVdX\nQhcxE6hBxCrmB4pE5YQ5IXs/k3mwUfEFUE9R6NeTYnKW5LmVxOxSScpScsIy\nfZn5TMpZ+5El4SYeV/gM3QsFeeMBdgRMILeTFBkEXGQzVjwqhzWPavNlR9uC\nehA9rLCEZRTjqcLI9yFiQqtvovt0V7JdrEN850SUssA8559rd11fGPOnLfDL\n21SAgObxeB+Wak+vUIWl66SpNly7+HCuBx9eKLVbqfTtu+UkwtcTuqfhuqRj\nvrKnmRCYllqKWVE+2sfTxsI2xfASjAeiKOb1XYOxNgC4DbZdSZrJg/FhYZuG\nNYtVvMRnxIphbzmCVbXu1C0qZFjgOpluLK8WS68HprnvgPy58qcxinojd5al\nTVH6Vbt3oGSpDNaRRfxW6Fu/qSlpmY+qt0kjGvyh1/HQvdChEdxRjzl7kbKd\nFhM9\r\n=3YqG\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEI4+eUvEcWTlL7L11jAaXauPNhMuBE/BYHCNeUyHi9BAiEAlSNGfuYtTxApTdL3pUV+ZYig5+hhexdgKpVTzEKCQKQ="}]},"_npmUser":{"name":"julusian","email":"git@julusian.co.uk"},"directories":{},"maintainers":[{"name":"julusian","email":"git@julusian.co.uk"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/elgato-stream-deck_3.3.5_1607524494639_0.46539889909268406"},"_hasShrinkwrap":false,"deprecated":"This library has been renamed to @elgato-stream-deck/node. The new version provides a promise based api, with better names as well as a webhid version at @elgato-stream-deck/webhid"},"4.0.0":{"name":"elgato-stream-deck","version":"4.0.0","description":"An npm module for interfacing with the Elgato Stream Deck","main":"dist/index.js","typings":"dist/index.d.ts","license":"MIT","homepage":"https://github.com/julusian/node-elgato-stream-deck#readme","repository":{"type":"git","url":"git+https://github.com/julusian/node-elgato-stream-deck.git"},"bugs":{"url":"https://github.com/julusian/node-elgato-stream-deck/issues"},"author":{"name":"Julian Waller","email":"git@julusian.co.uk"},"contributors":[{"name":"Håkon Nessjøen","email":"haakon@bitfocus.io"},{"name":"Richard Fox"},{"name":"Chris Hanel","email":"chrishanel@gmail.com","url":"http://www.chrishanel.com/"}],"keywords":["elgato","stream","deck","streamdeck","hid","usb","hardware","interface","controller"],"scripts":{"build":"rimraf dist && yarn build:main","build:main":"tsc -p tsconfig.build.json","release":"standard-version","test":"yarn lint && yarn unit","watch":"jest --watch","cov":"jest --coverage; open-cli coverage/lcov-report/index.html","cov-open":"open-cli coverage/lcov-report/index.html","testci":"yarn lint && jest --coverage","send-coverage":"codecov","unit":"jest","lint":"eslint . --ext .ts --ext .js --ignore-pattern dist","validate:dependencies":"yarn audit --groups dependencies && yarn license-validate","license-validate":"yarn sofie-licensecheck --allowPackages buffers@0.1.1"},"engines":{"node":">=10.10"},"dependencies":{"exit-hook":"^2.2.0","jpeg-js":"^0.4.2","node-hid":"^2.1.1"},"prettier":"@sofie-automation/code-standard-preset/.prettierrc.json","husky":{"hooks":{"pre-commit":"lint-staged"}},"lint-staged":{"*.{js,css,json,md,scss}":["prettier --write"],"*.{ts,tsx}":["yarn lint --fix"]},"devDependencies":{"@julusian/jpeg-turbo":"^1.0.0","@sofie-automation/code-standard-preset":"^0.2.1","@types/jest":"^26.0.19","@types/jpeg-js":"^0.3.0","@types/node":"^14.14.14","@types/node-hid":"^1.3.0","@types/sharp":"^0.26.1","codecov":"^3.8.1","jest":"^26.6.3","jest-haste-map":"^26.6.2","jest-resolve":"^26.6.2","jimp":"^0.16.1","open-cli":"^6.0.1","pureimage":"^0.2.5","rimraf":"^3.0.2","sharp":"~0.27.0","standard-version":"^9.0.0","stream-buffers":"^3.0.1","ts-jest":"^26.4.4","ts-node":"^9.1.1","typescript":"~4.1.3","usb-detection":"^4.10.0"},"licenseText":"MIT License\n\nCopyright (c) 2020 Julian Waller\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"elgato-stream-deck@4.0.0","dist":{"shasum":"7945565287c48f020e0bf1aea90d8ad2dd59ef23","integrity":"sha512-crZb/7GZAiDBx/mOLJRzFluBKOKoEdR3kCWFV3AYf6IBgWfXMRiDz7EQ7XUlXWBpmxzlAQvZZRqUShBYnpb/sA==","tarball":"https://registry.npmjs.org/elgato-stream-deck/-/elgato-stream-deck-4.0.0.tgz","fileCount":40,"unpackedSize":85919,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf473wCRA9TVsSAnZWagAAYdIP/2cn2sygm6IbfQyjfzdc\nnq+ytVOwApbbsp+Cu6++p0fxHK2qoeI77p37zyG7npirHxM6hWWsfSyirWEf\njQ3ZR+yCukjI3kYAlTq5J5GQSAyPKeQxxZ8pOwfchheMjz+4ukP0REqDHRXu\nn6vMdy1Lox4ZB0/0kOlkCt4AK7vrjlPnx73IhrUN6lQF+KnyElLAEKUnVjhS\nXXdbiTDH1D4z+Hq0BP5T4THGv5HqUsXEtpb5t7iKl8dbR0bsOherOSHlGQ1r\n9Tb28vKcRq9CVT+JB5tJaNsvONzQcArCc4TZUmi8r3t3/TxrXjWVg0pNk+Eo\nOPSaI0Lud852Gn4jpxUnzDC6x81qXzgtk0Ybh58Joep2frVbFhfe2kElrhwX\nwxDtNxN4SOp5MILWbTyvLje4XG521WKjCqMwJIsi20GsHpFPDxZdLysOY+kn\nIZa6lO7cZT4hsMNqQE/Z8sfVZP8mRuoV3UZ2pCD+XVa14UeuajRbvC4Hixd4\n4xGEFIcWzidi9Zpm040hrrOTc4Cf1dFT8b0Y2ZsNIuslvEJ2KIpH4FXFhU3u\n12iTiiZEq16pDYyLN6uMQ10dwZdsxczqhhm50KfaO23S7I90mmACVQDmxX30\nY9Z8Swe8nxFypb3JIsUrYBTgGZDZRscJJGMmzv88WdV3yDht1mPLsZFXaIT4\nJnEo\r\n=O8iQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCAqaiIvqiuom81drlunx5tfE63gwaWDjzruRecqT4+IwIgAf2/jqM1q4ZBUbJsxHAEL3CtLofixCgveqjZNN/N8kM="}]},"_npmUser":{"name":"julusian","email":"git@julusian.co.uk"},"directories":{},"maintainers":[{"name":"julusian","email":"git@julusian.co.uk"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/elgato-stream-deck_4.0.0_1608760816497_0.29723030153921104"},"_hasShrinkwrap":false,"deprecated":"This library has been renamed to @elgato-stream-deck/node. The new version provides a promise based api, with better names as well as a webhid version at @elgato-stream-deck/webhid"},"4.0.1":{"name":"elgato-stream-deck","version":"4.0.1","description":"An npm module for interfacing with the Elgato Stream Deck","main":"dist/index.js","typings":"dist/index.d.ts","license":"MIT","homepage":"https://github.com/julusian/node-elgato-stream-deck#readme","repository":{"type":"git","url":"git+https://github.com/julusian/node-elgato-stream-deck.git"},"bugs":{"url":"https://github.com/julusian/node-elgato-stream-deck/issues"},"author":{"name":"Julian Waller","email":"git@julusian.co.uk"},"contributors":[{"name":"Håkon Nessjøen","email":"haakon@bitfocus.io"},{"name":"Richard Fox"},{"name":"Chris Hanel","email":"chrishanel@gmail.com","url":"http://www.chrishanel.com/"}],"keywords":["elgato","stream","deck","streamdeck","hid","usb","hardware","interface","controller"],"scripts":{"build":"rimraf dist && yarn build:main","build:main":"tsc -p tsconfig.build.json","release":"standard-version","test":"yarn lint && yarn unit","watch":"jest --watch","cov":"jest --coverage; open-cli coverage/lcov-report/index.html","cov-open":"open-cli coverage/lcov-report/index.html","testci":"yarn lint && jest --coverage","send-coverage":"codecov","unit":"jest","lint":"eslint . --ext .ts --ext .js --ignore-pattern dist","validate:dependencies":"yarn audit --groups dependencies && yarn license-validate","license-validate":"yarn sofie-licensecheck --allowPackages buffers@0.1.1"},"engines":{"node":">=10.10"},"dependencies":{"exit-hook":"^2.2.0","jpeg-js":"^0.4.2","node-hid":"^2.1.1"},"prettier":"@sofie-automation/code-standard-preset/.prettierrc.json","husky":{"hooks":{"pre-commit":"lint-staged"}},"lint-staged":{"*.{js,css,json,md,scss}":["prettier --write"],"*.{ts,tsx}":["yarn lint --fix"]},"devDependencies":{"@julusian/jpeg-turbo":"^1.0.1","@sofie-automation/code-standard-preset":"^0.2.1","@types/jest":"^26.0.20","@types/jpeg-js":"^0.3.0","@types/node":"^14.14.20","@types/node-hid":"^1.3.0","@types/sharp":"^0.27.1","codecov":"^3.8.1","jest":"^26.6.3","jest-haste-map":"^26.6.2","jest-resolve":"^26.6.2","jimp":"^0.16.1","open-cli":"^6.0.1","pureimage":"^0.2.5","rimraf":"^3.0.2","sharp":"~0.27.0","standard-version":"^9.1.0","stream-buffers":"^3.0.1","ts-jest":"^26.4.4","ts-node":"^9.1.1","typescript":"~4.1.3","usb-detection":"^4.10.0"},"gitHead":"60a80794d116badb23257f57dce4b9945ce2cafd","_id":"elgato-stream-deck@4.0.1","_nodeVersion":"14.15.4","_npmVersion":"6.14.10","dist":{"integrity":"sha512-HYCzw4dulQqS3Wi7dmasfdQKKsRkCTjfMMAv4cI0heyJ6hmYTOAvN/iWegewNDBN9FRr8TMVNKk5LdVCkww5Tg==","shasum":"dc9485fbed24850f85485809b58e409542773368","tarball":"https://registry.npmjs.org/elgato-stream-deck/-/elgato-stream-deck-4.0.1.tgz","fileCount":37,"unpackedSize":86671,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf/f+ACRA9TVsSAnZWagAAI4gQAJ5xCJfwFKZl/+Mpcuz9\n1lakyd1QTt3J04LyrvrFBtkvAj68w3JK2B5jLPwKgnfLQssOC6GkYFlMgRCD\nzj5ssDxSfDWd2iKyPozRaXvs+YnOxoZClarY/eeEFK4vqlHRKyZYJSLFbFxy\nJHGNkQZSpUnw8J3f/AeZk6P4cpYoWUsTo9Gw+U61G64goOSnayHRvfCai5HH\nR/eK8yKzJAlpH4Mz6gOkkW0u6BKKsVWy13iocXcPgOT0KAtJTsKtbb6sUm+w\nZCpZauHCPXw1n1O6d3rqgdC/EyO5nVMGOUdbgfsOKt2uCZIoIUcvTCN7myfg\nWvJxd/kg7UNmguGmAf+ObiM+Zea7FZYRZx7EU6aohw8nP2W0L1YDX3lSo38J\nx/5Wo/SKYLN8/4BB0Lv8ibb4g0UenFQctgcEk6+TxGCJhmHL2Bva9p5Rsk1P\nB2scnOzP/EiSxMk7mLXdZTckCoPP5i+/OxFyp3DVLIYglUkiZFwfkVWafGXe\nOeB4mNi/X2EZGUpMWENazAZBMqNj9UPVnc66m3qhW1aU60thke/eG/QspF/9\n9kpUlIP1eLfQPNy9HdE5ybF3V4k7x7RVkVU0SvX75bEs9P4HixJmMtKlMNOA\nUft8NfBG2gjVsIT5BTuFWMysvErQL7QHPsWOyBkAAe3HDJYEIKkT63fjeWWC\n7/xQ\r\n=Ys3b\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCNqvbft57YQj1B1bDUu07UNV516IBvGORpnBKxd/SA5gIgA5q6zUvjJavPeYHZoESvBVBQ3XEMDQ2oAKO81OIIFXk="}]},"_npmUser":{"name":"julusian","email":"git@julusian.co.uk"},"directories":{},"maintainers":[{"name":"julusian","email":"git@julusian.co.uk"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/elgato-stream-deck_4.0.1_1610481536354_0.8333067017443605"},"_hasShrinkwrap":false,"deprecated":"This library has been renamed to @elgato-stream-deck/node. The new version provides a promise based api, with better names as well as a webhid version at @elgato-stream-deck/webhid"},"4.1.0":{"name":"elgato-stream-deck","version":"4.1.0","description":"An npm module for interfacing with the Elgato Stream Deck","main":"dist/index.js","typings":"dist/index.d.ts","license":"MIT","homepage":"https://github.com/julusian/node-elgato-stream-deck#readme","repository":{"type":"git","url":"git+https://github.com/julusian/node-elgato-stream-deck.git"},"bugs":{"url":"https://github.com/julusian/node-elgato-stream-deck/issues"},"author":{"name":"Julian Waller","email":"git@julusian.co.uk"},"contributors":[{"name":"Håkon Nessjøen","email":"haakon@bitfocus.io"},{"name":"Richard Fox"},{"name":"Chris Hanel","email":"chrishanel@gmail.com","url":"http://www.chrishanel.com/"}],"keywords":["elgato","stream","deck","streamdeck","hid","usb","hardware","interface","controller"],"scripts":{"build":"rimraf dist && yarn build:main","build:main":"tsc -p tsconfig.build.json","release":"standard-version","test":"yarn lint && yarn unit","watch":"jest --watch","cov":"jest --coverage; open-cli coverage/lcov-report/index.html","cov-open":"open-cli coverage/lcov-report/index.html","testci":"yarn lint && jest --coverage","send-coverage":"codecov","unit":"jest","lint":"eslint . --ext .ts --ext .js --ignore-pattern dist","validate:dependencies":"yarn audit --groups dependencies && yarn license-validate","license-validate":"yarn sofie-licensecheck --allowPackages buffers@0.1.1"},"engines":{"node":">=10.10"},"dependencies":{"exit-hook":"^2.2.0","jpeg-js":"^0.4.2","node-hid":"^2.1.1"},"prettier":"@sofie-automation/code-standard-preset/.prettierrc.json","husky":{"hooks":{"pre-commit":"lint-staged"}},"lint-staged":{"*.{js,css,json,md,scss}":["prettier --write"],"*.{ts,tsx}":["yarn lint --fix"]},"devDependencies":{"@julusian/jpeg-turbo":"^1.0.1","@sofie-automation/code-standard-preset":"^0.2.1","@types/jest":"^26.0.20","@types/jpeg-js":"^0.3.0","@types/node":"^14.14.20","@types/node-hid":"^1.3.0","@types/sharp":"^0.27.1","codecov":"^3.8.1","jest":"^26.6.3","jest-haste-map":"^26.6.2","jest-resolve":"^26.6.2","jimp":"^0.16.1","open-cli":"^6.0.1","pureimage":"^0.2.5","rimraf":"^3.0.2","sharp":"~0.27.0","standard-version":"^9.1.0","stream-buffers":"^3.0.1","ts-jest":"^26.4.4","ts-node":"^9.1.1","typescript":"~4.1.3","usb-detection":"^4.10.0"},"gitHead":"25484a788e8bd2bc1d9d25b23dc719c0ffabd393","_id":"elgato-stream-deck@4.1.0","_nodeVersion":"14.17.2","_npmVersion":"6.14.13","dist":{"integrity":"sha512-TH9oBJTxs32QpK/XzjGWV82OFYf8+A3Yb/DGLQEzpJDvTdCfcpl3vtBchJ+n76x7GqlSFaHqLtJlIc4HzOmUvw==","shasum":"2a6cdac09faa39cb450cf87ec2f0a73c13d823b7","tarball":"https://registry.npmjs.org/elgato-stream-deck/-/elgato-stream-deck-4.1.0.tgz","fileCount":40,"unpackedSize":89149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh2pdICRA9TVsSAnZWagAAAdAP/3Z95ThsCtfzScJ/AgNI\njLDItLqbCpRYBPKDx/PHSxAJFWbwB1yopsl71VMGAJIq2HM2XV1OG4YEDzzF\nkTLC17qfO8/M/VWzpy+vz9bLdODbnVloQ1xUPD4KSyhGqwNfV3EAVejUyhix\ntPf8moiyWR1gM3PygR8H/jHxo0pKgjwfRnkV1hAc/0lUIRpkQGfu4FrdDCg3\n7ckOxxQEyPYDC3cBbUGJ/sLA0/h2a8qi1VgkSfuR8To31LOnfvoAblGiXbqU\ngdEaMBdpb7QKd/4LzqKJT/pHQpe09Ndo3LsRquVlRT7uKAccHbtYVmEvRD/x\nj3c2Ff+EGlavSot3x/83LcrPpYL2pDCQCichvoatofMFeObPcqr1ke+7DoIx\n3jwPbzLoBjTHao4x+Mj96utaZZyya7M4umkRfFGYX0jTZ418MB26OlJ+xWWh\n0cPZ2DN1NR34W1I1z66lGBw6EtUtus2qRjWNTwtnPAHV8hr+hLHgEfXnq2DK\nN9Alj2f8LgJoqkto7ecbvRL7S55/O4TDX9pQ33TfihZtbWZyMNUUJUBSHNU2\nHOmg9eNWENqtgkPNp4pN7ppZwGMu0ha7KwrbjjRfFfFjDnxRT19DdIhkoy4j\nsLsRqPxMaHMfHxZCU2+v3LqwspfxGnxb1Q/Z67vL6P+VogVgeYevtBe1Gg/R\n/MDi\r\n=zIWt\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDuKl4yaPNUZjCmF1aPkvyoalKFMsPmAZkup2K/unlzdwIhAMc8c0msiJMbmmM3Kp5BgETyd6olSc2VwlFl7LaMZ5sc"}]},"_npmUser":{"name":"julusian","email":"git@julusian.co.uk"},"directories":{},"maintainers":[{"name":"julusian","email":"git@julusian.co.uk"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/elgato-stream-deck_4.1.0_1626699920594_0.8356111749630879"},"_hasShrinkwrap":false,"deprecated":"This library has been renamed to @elgato-stream-deck/node. The new version provides a promise based api, with better names as well as a webhid version at @elgato-stream-deck/webhid"},"3.4.0":{"name":"elgato-stream-deck","version":"3.4.0","description":"An npm module for interfacing with the Elgato Stream Deck","main":"dist/index.js","typings":"dist/index.d.ts","license":"MIT","homepage":"https://github.com/julusian/node-elgato-stream-deck#readme","repository":{"type":"git","url":"git+https://github.com/julusian/node-elgato-stream-deck.git"},"bugs":{"url":"https://github.com/julusian/node-elgato-stream-deck/issues"},"author":{"name":"Julian Waller","email":"git@julusian.co.uk"},"contributors":[{"name":"Håkon Nessjøen","email":"haakon@bitfocus.io"},{"name":"Richard Fox"},{"name":"Chris Hanel","email":"chrishanel@gmail.com","url":"http://www.chrishanel.com/"}],"keywords":["elgato","stream","deck","streamdeck","hid","usb","hardware","interface","controller"],"scripts":{"build":"trash dist && yarn build:main","build:main":"tsc -p tsconfig.build.json","release":"standard-version","test":"yarn lint && yarn build && yarn unit","watch":"jest --watch","cov":"jest --coverage; open-cli coverage/lcov-report/index.html","cov-open":"open-cli coverage/lcov-report/index.html","testci":"yarn lint && jest --coverage","send-coverage":"cat ./coverage/lcov.info | coveralls","unit":"jest","lint":"eslint . --ext .ts","validate:dependencies":"yarn audit --groups dependencies && yarn license-validate","license-validate":"node-license-validator -p -d --allow-licenses MIT 0BSD BSD BSD-3-Clause ISC Apache Unlicense WTFPL"},"engines":{"node":">=7.6"},"dependencies":{"exit-hook":"^2.2.0","jpeg-js":"^0.4.2","node-hid":"^1.2.0"},"devDependencies":{"@julusian/jpeg-turbo":"^0.5.3","@types/jest":"^25.1.4","@types/jpeg-js":"^0.3.0","@types/node":"^12.0.4","@types/node-hid":"^1.2.0","@types/sharp":"^0.24.0","@typescript-eslint/eslint-plugin":"^2.30.0","@typescript-eslint/parser":"^2.30.0","coveralls":"^3.0.3","eslint":"^6.8.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.3","jest":"^25.1.0","jest-haste-map":"^25.1.0","jest-resolve":"^25.1.0","node-license-validator":"^1.3.0","open-cli":"^5.0.0","prettier":"^1.17.1","pureimage":"^0.2.5","sharp":"~0.23.3","standard-version":"^7.0.0","stream-buffers":"^3.0.1","trash-cli":"^3.0.0","ts-jest":"^25.2.1","ts-loader":"^6.0.0","ts-node":"^8.1.0","typescript":"~3.6.4","usb-detection":"^4.3.0"},"resolutions":{"**/conventional-changelog-angular":"5.0.6","**/conventional-changelog-atom":"2.0.3","**/conventional-changelog-codemirror":"2.0.3","**/conventional-changelog-core":"4.1.3","**/conventional-changelog-conventionalcommits":"4.2.3","**/conventional-changelog-ember":"2.0.4","**/conventional-changelog-eslint":"3.0.4","**/conventional-changelog-express":"2.0.1","**/conventional-changelog-jshint":"2.0.3","**/conventional-changelog-preset-loader":"2.3.0","**/conventional-changelog-writer":"4.0.11","**/conventional-commits-filter":"2.0.2","**/conventional-commits-parser":"3.0.8"},"readme":"# elgato-stream-deck\n\n[![npm version](https://img.shields.io/npm/v/elgato-stream-deck.svg)](https://npm.im/elgato-stream-deck)\n[![license](https://img.shields.io/npm/l/elgato-stream-deck.svg)](https://npm.im/elgato-stream-deck)\n![Node CI](https://github.com/Julusian/node-elgato-stream-deck/workflows/Node%20CI/badge.svg)\n[![Coverage Status](https://coveralls.io/repos/github/Julusian/node-elgato-stream-deck/badge.svg?branch=master)](https://coveralls.io/github/Julusian/node-elgato-stream-deck?branch=master)\n\n![alt text](media/streamdeck_ui.png 'elgato-stream-deck')\n\n[`elgato-stream-deck`](https://github.com/julusian/elgato-stream-deck) is a Node.js library for interfacing\nwith the various models of the [Elgato Stream Deck](https://www.elgato.com/en/gaming/stream-deck).\n\n> ❗ Please note that `node-elgato-stream-deck` is **NOT a standalone application**. It is not something you download and run on its own. It is not an alternative to the [official Stream Deck program provided by Elgato](https://www.elgato.com/en/gaming/downloads). Instead, `node-elgato-stream-deck` is a code library which provides an API to the Stream Deck. Developers can use this API to make their own applications which interface with the Stream Deck.\n>\n> To further clarify: **this is not an installable program**. There is no user interface, and you cannot do anything with this library on its own. Out of the box, this library does nothing. It's purpose is to provide tools for programmers to **build** programs from the ground up which interact with a Stream Deck.\n>\n> This is a tool for developers to use. It is not a program for end users. It cannot and will not replace the official Stream Deck program. That is not its goal. However, it does enable someone to more easily write a program which _does_ do that.\n\n## Install\n\n`$ npm install --save elgato-stream-deck`\n\n`$ npm install --save @julusian/jpeg-turbo@^0.5.3` (Optional)\n\nIt is recommended to install `@julusian/jpeg-turbo@^0.5.3` to greatly improve performance for writing images to the StreamDeck XL or the Original-v2. Without doing so `jpeg-js` will be used instead, but image transfers will be noticably more cpu intensive and slower. `jpeg-turbo` has prebuilt binaries, but is not installed by default to ensure installation time is kept to a minimum for users who do not need the performance or the XL or the Original-v2.\n\n### Linux\n\nOn linux, the udev subsystem blocks access to the StreamDeck without some special configuration.\nSave the following to `/etc/udev/rules.d/50-elgato.rules` and reload the rules with `sudo udevadm control --reload-rules`\n\n```\nSUBSYSTEM==\"input\", GROUP=\"input\", MODE=\"0666\"\nSUBSYSTEM==\"usb\", ATTRS{idVendor}==\"0fd9\", ATTRS{idProduct}==\"0060\", MODE:=\"666\", GROUP=\"plugdev\"\nSUBSYSTEM==\"usb\", ATTRS{idVendor}==\"0fd9\", ATTRS{idProduct}==\"0063\", MODE:=\"666\", GROUP=\"plugdev\"\nSUBSYSTEM==\"usb\", ATTRS{idVendor}==\"0fd9\", ATTRS{idProduct}==\"006c\", MODE:=\"666\", GROUP=\"plugdev\"\nSUBSYSTEM==\"usb\", ATTRS{idVendor}==\"0fd9\", ATTRS{idProduct}==\"006d\", MODE:=\"666\", GROUP=\"plugdev\"\n```\n\nUnplug and replug the device and it should be usable\n\n### Native dependencies\n\nAll of this library's native dependencies ship with prebuilt binaries, so having a full compiler toolchain should not be necessary to install `node-elgato-stream-deck`.\n\nHowever, in the event that installation _does_ fail (**or if you are on a platform that our dependencies don't provide prebuilt binaries for, such as a Raspberry Pi**), you will need to install a compiler toolchain to enable npm to build some of `node-elgato-stream-deck`'s dependencies from source. Expand the details block below for full instructions on how to do so.\n\n<details>\n\t<summary>Compiling dependencies from source</summary>\n\t\n* Windows\n  * Install [`windows-build-tools`](https://github.com/felixrieseberg/windows-build-tools):\n  ```bash\n  npm install --global windows-build-tools\n  ```\n* MacOS\n  * Install the Xcode Command Line Tools:\n  ```bash\n  xcode-select --install\n  ```\n* Linux (**including Raspberry Pi**)\n  * Follow the instructions for Linux in the [\"Compiling from source\"](https://github.com/node-hid/node-hid#compiling-from-source) steps for `node-hid`:\n\t```bash\n\tsudo apt-get install build-essential git\n\tsudo apt-get install gcc-4.8 g++-4.8 && export CXX=g++-4.8\n\tsudo apt-get install sudo apt install libusb-1.0-0 libusb-1.0-0-dev\n\t```\n  * Install a recent version of Node.js.:\n\t```bash\n\tcurl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -\n\tsudo apt-get install -y nodejs \n\t```\n  * Try installing `node-elgato-stream-deck`\n  * If you still have issues, ensure everything is updated and try again:\n\t```bash\n\tsudo apt-get update && sudo apt-get upgrade\n\t```\n</details>\n\n## Table of Contents\n\n-   [Features](#features)\n-   [Example](#example)\n-   [API](#api)\n    -   [`openStreamDeck`](#open-streamdeck)\n    -   [`listStreamDecks`](#list-streamdecks)\n    -   [`getStreamDeckInfo`](#get-streamdeck-info)\n    -   [`fillColor`](#fill-color)\n    -   [`fillImage`](#fill-image)\n    -   [`fillPanel`](#fill-panel)\n    -   [`clearKey`](#clear-key)\n    -   [`clearAllKeys`](#clear-all-keys)\n    -   [`setBrightness`](#set-brightness)\n    -   [`resetToLogo`](#reset-to-logo)\n    -   [`getFirmwareVersion`](#get-firmware-version)\n    -   [`getSerialNumber`](#get-serial-number)\n-   [Events](#events)\n    -   [`down`](#down)\n    -   [`up`](#up)\n    -   [`error`](#error)\n-   [Contributing](#contributing)\n-   [Protocol Notes](#protocol-notes)\n\n### Features\n\n-   Multiplatform support: Windows 7-10, MacOS, Linux, and even Raspberry Pi!\n-   Support for every StreamDeck model (Original, Mini & XL)\n-   Key `down` and key `up` events\n-   Fill keys with images or solid RGB colors\n-   Fill the entire panel with a single image, spread across all keys\n-   Set the Stream Deck brightness\n-   TypeScript support\n\n### Example\n\n#### JavaScript\n\n```javascript\nconst path = require('path')\nconst { openStreamDeck } = require('elgato-stream-deck')\n\n// Automatically discovers connected Stream Decks, and attaches to the first one.\n// Throws if there are no connected stream decks.\n// You also have the option of providing the devicePath yourself as the first argument to the constructor.\n// For example: const myStreamDeck = new StreamDeck('\\\\\\\\?\\\\hid#vid_05f3&pid_0405&mi_00#7&56cf813&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}')\n// On linux the equivalent would be: const myStreamDeck = new StreamDeck('0001:0021:00')\n// Available devices can be found with listStreamDecks()\nconst myStreamDeck = openStreamDeck()\n\nmyStreamDeck.on('down', keyIndex => {\n\tconsole.log('key %d down', keyIndex)\n})\n\nmyStreamDeck.on('up', keyIndex => {\n\tconsole.log('key %d up', keyIndex)\n})\n\n// Fired whenever an error is detected by the `node-hid` library.\n// Always add a listener for this event! If you don't, errors will be silently dropped.\nmyStreamDeck.on('error', error => {\n\tconsole.error(error)\n})\n\n// Fill the first button form the left in the first row with a solid red color. This is synchronous.\nmyStreamDeck.fillColor(4, 255, 0, 0)\nconsole.log('Successfully wrote a red square to key 4.')\n```\n\n#### TypeScript\n\n```typescript\nimport { openStreamDeck } = require('elgato-stream-deck')\nconst myStreamDeck = openStreamDeck() // Will throw an error if no Stream Decks are connected.\n\nmyStreamDeck.on('down', keyIndex => {\n\tconsole.log('key %d down', keyIndex)\n})\n\nmyStreamDeck.on('up', keyIndex => {\n\tconsole.log('key %d up', keyIndex)\n})\n\n// Fired whenever an error is detected by the `node-hid` library.\n// Always add a listener for this event! If you don't, errors will be silently dropped.\nmyStreamDeck.on('error', error => {\n\tconsole.error(error)\n})\n```\n\n### API\n\n#### <a name=\"open-streamdeck\"></a> `> openStreamDeck(path?: string, options?: OpenStreamDeckOptions) -> StreamDeckDeviceInfo | undefined`\n\nOpens a StreamDeck.\n\nIf a path is provided, then a specific device will be opened, otherwise the first found device will be used. See [listDevices](#list-devices) for info on how to discover devices.\n\nSome device types have additional options, as part of the options object. This is not required to be provided.\n\nOptions:\n\n-   useOriginalKeyOrder: This restores the right-to-left key order for the Original StreamDeck. Since v3.0.0 the default key order has been changed to make sense and be consistent with the other models\n\n```javascript\nconst streamDeck = openStreamDeck()\n\n// Or\n\nconst streamDeck = openStreamDeck('0001:0021:00')\n\n// Or\n\nconst streamDeck = openStreamDeck('0001:0021:00', {\n\tuseOriginalKeyOrder: true\n})\n```\n\n#### <a name=\"list-streamdecks\"></a> `> listStreamDecks() -> Array<StreamDeckDeviceInfo>`\n\nThis will scan for and list all detected StreamDeck devices on the system along with their model. The path property can be passed into the constructor to open a specific device.\n\n```javascript\nconsole.log('Devices: ', listStreamDecks())\n/**\n * Devices: [\n *   {\n *     model: 'original',\n *     path: '0001:0023:00',\n *     serialNumber: 'AL37G1A02840'\n *   },\n *   {\n *     model: 'xl',\n *     path: '0001:0021:00',\n *     serialNumber: 'CL18I1A00913'\n *   }\n * ]\n */\n```\n\n#### <a name=\"get-streamdeck-info\"></a> `> getStreamDeckInfo(path: string) -> StreamDeckDeviceInfo | undefined`\n\nGet the info for a given device. Returns `undefined` if the path is not a valid StreamDeck\n\n```javascript\nconsole.log('Info: ', getStreamDeckInfo('0001:0021:00'))\n/**\n * Info: {\n *   model: 'xl',\n *   path: '0001:0021:00',\n *   serialNumber: 'CL18I1A00913'\n * }\n */\n```\n\n#### <a name=\"fill-color\"></a> `> streamDeck.fillColor(keyIndex, r, g, b) -> undefined`\n\nSynchronously sets the given `keyIndex`'s screen to a solid RGB color.\nAn error will be thrown if the keyIndex is not valid, of a colour component is outside of the range 0-255\n\n##### Example\n\n```javascript\n// Turn key 4 (the top left key) solid red.\nstreamDeck.fillColor(4, 255, 0, 0)\n```\n\n#### <a name=\"fill-image\"></a> `> streamDeck.fillImage(keyIndex, buffer) -> undefined`\n\nSynchronously writes a buffer of RGB image data to the given `keyIndex`'s screen.\nThe required size of the buffer varies by device, and must be the exact length. Any other length will result in an error being thrown.\n\nThe expected sizes are:\n\n-   Original: 15552 (72px)\n-   Mini: 19200 (80px)\n-   XL: 27648 (96px)\n\n##### Example\n\n```javascript\n// Fill the third button from the left in the first row with an image of the GitHub logo.\nconst sharp = require('sharp') // See http://sharp.dimens.io/en/stable/ for full docs on this great library!\nsharp(path.resolve(__dirname, 'github_logo.png'))\n\t.flatten() // Eliminate alpha channel, if any.\n\t.resize(streamDeck.ICON_SIZE, streamDeck.ICON_SIZE) // Scale up/down to the right size, cropping if necessary.\n\t.raw() // Give us uncompressed RGB.\n\t.toBuffer()\n\t.then(buffer => {\n\t\tstreamDeck.fillImage(2, buffer)\n\t})\n\t.catch(err => {\n\t\tconsole.error(err)\n\t})\n```\n\n#### <a name=\"fill-panel\"></a> `> streamDeck.fillPanel(buffer) -> undefined`\n\nApplies an image to the entire panel, spreading it over all keys. The image must be exactly the correct resolution for your device. Any other size will result in an error being thrown.\n\n##### Example\n\n```javascript\n// Fill the entire panel with a photo of a sunny field.\nconst sharp = require('sharp') // See http://sharp.dimens.io/en/stable/ for full docs on this great library!\nsharp(path.resolve(__dirname, 'github_logo.png'))\n\t.flatten() // Eliminate alpha channel, if any.\n\t.resize(streamDeck.ICON_SIZE * streamDeck.KEY_COLUMNS, streamDeck.ICON_SIZE * streamDeck.KEY_ROWS) // Scale up/down to the right size, cropping if necessary.\n\t.raw() // Give us uncompressed RGB.\n\t.toBuffer()\n\t.then(buffer => {\n\t\tstreamDeck.fillPanel(buffer)\n\t})\n\t.catch(err => {\n\t\tconsole.error(err)\n\t})\n```\n\n#### <a name=\"clear-key\"></a> `> streamDeck.clearKey(keyIndex) -> undefined`\n\nSynchronously clears the given `keyIndex`'s screen.\nAn error will be thrown if the keyIndex is not valid\n\n##### Example\n\n```javascript\n// Clear the third button from the left in the first row.\nstreamDeck.clearKey(2)\n```\n\n#### <a name=\"clear-all-keys\"></a> `> streamDeck.clearAllKeys() -> undefined`\n\nSynchronously clears all keys on the device.\n\n##### Example\n\n```javascript\n// Clear all keys.\nstreamDeck.clearAllKeys()\n```\n\n#### <a name=\"set-brightness\"></a> `> streamDeck.setBrightness(percentage) -> undefined`\n\nSynchronously set the brightness of the Stream Deck. This affects all keys at once. The brightness of individual keys cannot be controlled.\nAn error will be thrown if the brightness is not in the range 0-100\n\n##### Example\n\n```javascript\n// Set the Stream Deck to maximum brightness\nstreamDeck.setBrightness(100)\n```\n\n#### <a name=\"reset-to-logo\"></a> `> streamDeck.resetToLogo() -> undefined`\n\nResets the device back to the startup Elgato logo.\n\n##### Example\n\n```javascript\n// Set the Stream Deck back to the Elgato logo\nstreamDeck.resetToLogo()\n```\n\n#### <a name=\"get-firmware-version\"></a> `> streamDeck.getFirmwareVersion() -> string`\n\nGets the firmware version number.\n\n##### Example\n\n```javascript\nconsole.log(streamDeck.getFirmwareVersion())\n```\n\n#### <a name=\"get-serial-number\"></a> `> streamDeck.getSerialNumber() -> string`\n\nGets the serial number of the device.\n\n##### Example\n\n```javascript\nconsole.log(streamDeck.getSerialNumber())\n```\n\n### Events\n\n#### <a name=\"down\"></a> `> down`\n\nFired whenever a key is pressed. `keyIndex` is the index of that key.\n\n##### Example\n\n```javascript\nstreamDeck.on('down', keyIndex => {\n\tconsole.log('key %d down', keyIndex)\n})\n```\n\n#### <a name=\"up\"></a> `> up`\n\nFired whenever a key is released. `keyIndex` is the index of that key.\n\n##### Example\n\n```javascript\nstreamDeck.on('up', keyIndex => {\n\tconsole.log('key %d up', keyIndex)\n})\n```\n\n#### <a name=\"error\"></a> `> error`\n\nFired whenever an error is detected by the `node-hid` library.\n**Always** add a listener for this event! If you don't, errors will be silently dropped.\n\n##### Example\n\n```javascript\nstreamDeck.on('error', error => {\n\tconsole.error(error)\n})\n```\n\n### Contributing\n\nThe elgato-stream-deck team enthusiastically welcomes contributions and project participation! There's a bunch of things you can do if you want to contribute! Please don't hesitate to jump in if you'd like to, or even ask us questions if something isn't clear.\n\nPlease refer to the [Changelog](CHANGELOG.md) for project history details, too.\n\n### Protocol Notes\n\nRaw protocol notes can be found in [NOTES.md](NOTES.md). These detail the protocol and method for interacting with the Stream Deck which this module implements.\n","readmeFilename":"README.md","gitHead":"e0f6568fae50c46b6e089979294cdc2d88093149","_id":"elgato-stream-deck@3.4.0","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-RO0VeOvmwmQehRbFNzVC/ig0bVeYphpykHHe45D0SSs6+AzNCzxaOvewhwoGnaA8ZkLArHu/1mF4aphLiLHnAQ==","shasum":"3f4030e33d684161eb8caee0e3792a03ba2c9535","tarball":"https://registry.npmjs.org/elgato-stream-deck/-/elgato-stream-deck-3.4.0.tgz","fileCount":28,"unpackedSize":63541,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGA5B8CASlLCFVthFJ5KudcD/TjB0GL2SSeNn1XzD1yAAiBwHUjO9re3dlhIbYRR4M9sVqsS7bkCym2azv2Qfcy/3Q=="}]},"_npmUser":{"name":"julusian","email":"git@julusian.co.uk"},"directories":{},"maintainers":[{"name":"julusian","email":"git@julusian.co.uk"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/elgato-stream-deck_3.4.0_1634236985899_0.5889885251372531"},"_hasShrinkwrap":false,"deprecated":"This library has been renamed to @elgato-stream-deck/node. The new version provides a promise based api, with better names as well as a webhid version at @elgato-stream-deck/webhid"},"4.2.0":{"name":"elgato-stream-deck","version":"4.2.0","description":"An npm module for interfacing with the Elgato Stream Deck","main":"dist/index.js","typings":"dist/index.d.ts","license":"MIT","homepage":"https://github.com/julusian/node-elgato-stream-deck#readme","repository":{"type":"git","url":"git+https://github.com/julusian/node-elgato-stream-deck.git"},"bugs":{"url":"https://github.com/julusian/node-elgato-stream-deck/issues"},"author":{"name":"Julian Waller","email":"git@julusian.co.uk"},"contributors":[{"name":"Håkon Nessjøen","email":"haakon@bitfocus.io"},{"name":"Richard Fox"},{"name":"Chris Hanel","email":"chrishanel@gmail.com","url":"http://www.chrishanel.com/"}],"keywords":["elgato","stream","deck","streamdeck","hid","usb","hardware","interface","controller"],"scripts":{"build":"rimraf dist && yarn build:main","build:main":"tsc -p tsconfig.build.json","release":"standard-version","test":"yarn lint && yarn unit","watch":"jest --watch","cov":"jest --coverage; open-cli coverage/lcov-report/index.html","cov-open":"open-cli coverage/lcov-report/index.html","testci":"yarn lint && jest --coverage","send-coverage":"codecov","unit":"jest","lint":"eslint . --ext .ts --ext .js --ignore-pattern dist","validate:dependencies":"yarn audit --groups dependencies && yarn license-validate","license-validate":"yarn sofie-licensecheck --allowPackages buffers@0.1.1"},"engines":{"node":">=10.10"},"dependencies":{"exit-hook":"^2.2.0","jpeg-js":"^0.4.2","node-hid":"^2.1.1"},"prettier":"@sofie-automation/code-standard-preset/.prettierrc.json","husky":{"hooks":{"pre-commit":"lint-staged"}},"lint-staged":{"*.{js,css,json,md,scss}":["prettier --write"],"*.{ts,tsx}":["yarn lint --fix"]},"devDependencies":{"@julusian/jpeg-turbo":"^1.0.1","@sofie-automation/code-standard-preset":"^0.2.1","@types/jest":"^26.0.20","@types/jpeg-js":"^0.3.0","@types/node":"^14.14.20","@types/node-hid":"^1.3.0","@types/sharp":"^0.27.1","codecov":"^3.8.1","jest":"^26.6.3","jest-haste-map":"^26.6.2","jest-resolve":"^26.6.2","jimp":"^0.16.1","open-cli":"^6.0.1","pureimage":"^0.2.5","rimraf":"^3.0.2","sharp":"~0.27.0","standard-version":"^9.1.0","stream-buffers":"^3.0.1","ts-jest":"^26.4.4","ts-node":"^9.1.1","typescript":"~4.1.3","usb-detection":"^4.10.0"},"licenseText":"MIT License\n\nCopyright (c) 2020 Julian Waller\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"elgato-stream-deck@4.2.0","dist":{"shasum":"12fb6b039b48028515d4d8d3d64032aa14123548","integrity":"sha512-5FAgxKLKUYp4pw5UO6SPcYYun2Mj71QwSQ5g/tLRea/9M8O9LjsUoGpfcf0uiulPUNIkAfIazUFoiKg4zCGWow==","tarball":"https://registry.npmjs.org/elgato-stream-deck/-/elgato-stream-deck-4.2.0.tgz","fileCount":46,"unpackedSize":91303,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCfBIU4jGD+sWKiqqBAyin7QBtusyAASYdd0AeYII2nVwIgEdnajXRbCbnKek2zcNHdBXoiIMgLclU+5x/3hPFXnj8="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiyJeWACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoZYw/+OHo2/Y1T8+PVei4td8BvpRiwUrLubEJ/RXisTf4cVb/o1ALM\r\ndN3sA0bJ5WpsABcXSojAKynaLy3aQEvOwN81lIN8T5V4h+IJ0i1Bkvt6xRT7\r\n3GOE75u0pqoBBLca1kO/Cx5ZtL6PKIDsco7T0DyfO5QXVrGbaxA2x8H0NzUX\r\n9NQP8wWBOk4p5KDOQtn/q91oGutpzfVJ1ev2CDFUbVUaqbSH0d80TAB7U7OD\r\nMGO65q9rwcKxqRxzjZ5gObMg45wuVaNWN464IWbP4CcS3Sc2MuI6ZVUAuKJx\r\nWdKn3uSv9D+2348eoAtYxOvedVMfyIJTV2RQ9QwdP7c047YHD8U7049EOh7u\r\nNcYksNLuw++6RodlwP33Rp/OePzhzFsJRC5cZ2cHQB/puH9GPzMouu5yeCA2\r\nrLOsmdIYUqW3OCwXldRXhu2Yith/epkz18+cRC688uBCM50d1v1q8M1emp2B\r\nzr2x5tOgRIRDdgur4/e2bdoGgRfo0CcSr3IBihhOAiKiTUDLzopv9iEJHDF8\r\nlSJkRnvSyaP9cRtgU7r3QQk0SAJnK5HenUJtr0jxm2QOSPbtB3TG6j0dkCpd\r\n7/AWiWIgBVAdxeKIZPwtGyZkyNOz/M/Jx0JL+beQBQENJQ7ee4FWzpumEWfJ\r\ni5BGuO46mujUDZ723+LBzaSabpzUjyygUmI=\r\n=ATU/\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"julusian","email":"git@julusian.co.uk"},"directories":{},"maintainers":[{"name":"julusian","email":"git@julusian.co.uk"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/elgato-stream-deck_4.2.0_1657313173812_0.3087016324791634"},"_hasShrinkwrap":false,"deprecated":"This library has been renamed to @elgato-stream-deck/node. The new version provides a promise based api, with better names as well as a webhid version at @elgato-stream-deck/webhid"},"4.2.1":{"name":"elgato-stream-deck","version":"4.2.1","description":"An npm module for interfacing with the Elgato Stream Deck","main":"dist/index.js","typings":"dist/index.d.ts","license":"MIT","homepage":"https://github.com/julusian/node-elgato-stream-deck#readme","repository":{"type":"git","url":"git+https://github.com/julusian/node-elgato-stream-deck.git"},"bugs":{"url":"https://github.com/julusian/node-elgato-stream-deck/issues"},"author":{"name":"Julian Waller","email":"git@julusian.co.uk"},"contributors":[{"name":"Håkon Nessjøen","email":"haakon@bitfocus.io"},{"name":"Richard Fox"},{"name":"Chris Hanel","email":"chrishanel@gmail.com","url":"http://www.chrishanel.com/"}],"keywords":["elgato","stream","deck","streamdeck","hid","usb","hardware","interface","controller"],"scripts":{"build":"rimraf dist && yarn build:main","build:main":"tsc -p tsconfig.build.json","release":"standard-version","test":"yarn lint && yarn unit","watch":"jest --watch","cov":"jest --coverage; open-cli coverage/lcov-report/index.html","cov-open":"open-cli coverage/lcov-report/index.html","testci":"yarn lint && jest --coverage","send-coverage":"codecov","unit":"jest","lint":"eslint . --ext .ts --ext .js --ignore-pattern dist","validate:dependencies":"yarn audit --groups dependencies && yarn license-validate","license-validate":"yarn sofie-licensecheck --allowPackages buffers@0.1.1"},"engines":{"node":">=10.10"},"dependencies":{"exit-hook":"^2.2.0","jpeg-js":"^0.4.2","node-hid":"^2.1.1"},"prettier":"@sofie-automation/code-standard-preset/.prettierrc.json","husky":{"hooks":{"pre-commit":"lint-staged"}},"lint-staged":{"*.{js,css,json,md,scss}":["prettier --write"],"*.{ts,tsx}":["yarn lint --fix"]},"devDependencies":{"@julusian/jpeg-turbo":"^1.0.1","@sofie-automation/code-standard-preset":"^0.2.1","@types/jest":"^26.0.20","@types/jpeg-js":"^0.3.0","@types/node":"^14.14.20","@types/node-hid":"^1.3.0","@types/sharp":"^0.27.1","codecov":"^3.8.1","jest":"^26.6.3","jest-haste-map":"^26.6.2","jest-resolve":"^26.6.2","jimp":"^0.16.1","open-cli":"^6.0.1","pureimage":"^0.2.5","rimraf":"^3.0.2","sharp":"~0.27.0","standard-version":"^9.1.0","stream-buffers":"^3.0.1","ts-jest":"^26.4.4","ts-node":"^9.1.1","typescript":"~4.1.3","usb-detection":"^4.10.0"},"gitHead":"3464b6a7291804546ffcbdc0a02eb142c8624401","_id":"elgato-stream-deck@4.2.1","_nodeVersion":"14.19.2","_npmVersion":"6.14.17","dist":{"integrity":"sha512-SuZQsaNVk3qwBQSEqrz4qj00xBpk79shaQS/pyNIFTJtxwBicWXa1eGGrzxwo+vJRKs1NDze9vqd5wwW8dRvqg==","shasum":"528562ddb5e14ee9f35cc342442652e38315f56b","tarball":"https://registry.npmjs.org/elgato-stream-deck/-/elgato-stream-deck-4.2.1.tgz","fileCount":43,"unpackedSize":93206,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDKcTcXPZ+wgra+/WqcjSxI5o6jkm/8fscx2EbguxWVlwIgPLuCeIleHO1JqmsAi1XueyLomcMFxR44rbOk3sN7m/0="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi3o7tACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqJgBAAoGvwImEgstEmFIrhvJCL2ccgFs6Hz2CIF0xffsgKp/dqgB++\r\nUAY3gK3t7IusyuCWzv7ZpQmICOILiE5VQfhEaeWYpa1u/isACriE7Zt+aNV7\r\ndiavoSj07JkOKbqpzA3VQDv6iPChhNr0fVMZKBWOFRkd6YEkqO6i9yU+Izpg\r\nHyotfXAH+YsSE2SRY0wcOXITgUfkzOE5dNEge6p6DCM7mC4kZ4HsfCn/y6aR\r\nrGyHGnS2XU9r78/wuocBrlCT/Snsxf19g8+9+wxE9O5vTQUQZNBFIYVo/2Xs\r\n1ksuK6KQrXcSgLMv/ExRWSw52y+xf5V+DQqUIPZWyBFOqEeL7La+fj9U8Qtu\r\nvEKHy5GN6FIQVtno86458WF6qv6nHaP1yI2v95g6bEGB2d+eB7HV9O5/qW8M\r\nrdABVK+eeg4sJpI9FwP+zxPP/xjqVeWCVgjZkJNIQc5IcipcBcLs2wFSBZjq\r\nxs4I/5GQVYGyH1pXIM96OSFvsWKzPlGflYq2E8ORHAY/d+q0Rj9QZ/5qBurf\r\n6j/XteLQxz1mSuFFhrm8R5Krmc+OLVBZ6qrkauaGDHVsw2/+9LLXSSn+Ry6r\r\no/TT8QMMbonFMchPmzklKaggznDisDFw5AstB+9cfG8OWOTtJwjgVLynnuXK\r\n60144w9Cg4KRhOagiKCBINPG9f0CidBVNeY=\r\n=h3tp\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"julusian","email":"git@julusian.co.uk"},"directories":{},"maintainers":[{"name":"julusian","email":"git@julusian.co.uk"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/elgato-stream-deck_4.2.1_1658752749322_0.3263638119896983"},"_hasShrinkwrap":false,"deprecated":"This library has been renamed to @elgato-stream-deck/node. The new version provides a promise based api, with better names as well as a webhid version at @elgato-stream-deck/webhid"},"4.3.0":{"name":"elgato-stream-deck","version":"4.3.0","description":"An npm module for interfacing with the Elgato Stream Deck","main":"dist/index.js","typings":"dist/index.d.ts","license":"MIT","homepage":"https://github.com/julusian/node-elgato-stream-deck#readme","repository":{"type":"git","url":"git+https://github.com/julusian/node-elgato-stream-deck.git"},"bugs":{"url":"https://github.com/julusian/node-elgato-stream-deck/issues"},"author":{"name":"Julian Waller","email":"git@julusian.co.uk"},"contributors":[{"name":"Håkon Nessjøen","email":"haakon@bitfocus.io"},{"name":"Richard Fox"},{"name":"Chris Hanel","email":"chrishanel@gmail.com","url":"http://www.chrishanel.com/"}],"keywords":["elgato","stream","deck","streamdeck","hid","usb","hardware","interface","controller"],"scripts":{"build":"rimraf dist && yarn build:main","build:main":"tsc -p tsconfig.build.json","release":"standard-version","test":"yarn lint && yarn unit","watch":"jest --watch","cov":"jest --coverage; open-cli coverage/lcov-report/index.html","cov-open":"open-cli coverage/lcov-report/index.html","testci":"yarn lint && jest --coverage","send-coverage":"codecov","unit":"jest","lint":"eslint . --ext .ts --ext .js --ignore-pattern dist","validate:dependencies":"yarn audit --groups dependencies && yarn license-validate","license-validate":"yarn sofie-licensecheck --allowPackages buffers@0.1.1"},"engines":{"node":">=10.10"},"dependencies":{"exit-hook":"^2.2.0","jpeg-js":"^0.4.2","node-hid":"^2.1.1"},"prettier":"@sofie-automation/code-standard-preset/.prettierrc.json","husky":{"hooks":{"pre-commit":"lint-staged"}},"lint-staged":{"*.{js,css,json,md,scss}":["prettier --write"],"*.{ts,tsx}":["yarn lint --fix"]},"devDependencies":{"@julusian/jpeg-turbo":"^1.0.1","@sofie-automation/code-standard-preset":"^0.2.1","@types/jest":"^26.0.20","@types/jpeg-js":"^0.3.0","@types/node":"^14.14.20","@types/node-hid":"^1.3.0","@types/sharp":"^0.27.1","codecov":"^3.8.1","jest":"^26.6.3","jest-haste-map":"^26.6.2","jest-resolve":"^26.6.2","jimp":"^0.16.1","open-cli":"^6.0.1","pureimage":"^0.2.5","rimraf":"^3.0.2","sharp":"~0.27.0","standard-version":"^9.1.0","stream-buffers":"^3.0.1","ts-jest":"^26.4.4","ts-node":"^9.1.1","typescript":"~4.1.3","usb-detection":"^4.10.0"},"licenseText":"MIT License\n\nCopyright (c) 2020 Julian Waller\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"elgato-stream-deck@4.3.0","dist":{"shasum":"f096fea0cc6db3639b8df05547be3887d3b9a3e6","integrity":"sha512-uGZzdBkIKYUnxYFtmwKOFXcwrYDSpycLjrnCJ0kVOnmeftuPL5fkJ7uk4JxRh0oamWTDMuZA32obS0YCoR8EJA==","tarball":"https://registry.npmjs.org/elgato-stream-deck/-/elgato-stream-deck-4.3.0.tgz","fileCount":49,"unpackedSize":95295,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDqbXC1Q/ZzwZHSyDPx+A7HMWG8B12RK4ibiPnehWAOdAIhAMNdVzmni2v1IVksdDB0wQ6wJlhfSLnhdCfE29ulqVsp"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjN0ynACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrgHQ/9HX3VjF1klxi5BN0cOjqVKz4dNQmPxWenf77z0DkcFFVQqOUy\r\nYGrg/xnZjWdogmMx+nTA4MEOrYqCSnrsPF+16BPmcG/OGL8xcoZPGQYRYI9Q\r\nvLOB1tLZ830KBs6IPi9MQK2Xy9aKWmUplPy85iE9healI3Smec1EVU/XVX29\r\nJ29AaTUUXppUh79B7x557SYYZsaghCcCjZoaOZwZjnfxHBdpLFUwkx4OV//t\r\n5EYFnSeIkSKHT6TBE3ddmo5bFnvApoAYCICgpoy7Uc+h12p7TDCIH2/YcwAJ\r\nl/bXUNjq2GsNIIgX/2eqROV0le7saLuSCADKokuN1XToCj/uYJxxSnA+oCYj\r\nVOxM14n8rW3vTzVkCWNBkjw+JwAAoL1SQDDyIUnbuT/miidPGHvE9MkLP7wA\r\n8VDDfScyP3IfYWG6mAVu0mHLLaShUt609iM3OWkBSrjAuyjMwUnAhX37pWU7\r\nXSdqwixKUyBqZ4yClncDtTuIZ3D1iUg5diP8GStkzaEQWNsxPposmpMW3WMQ\r\nAdq9PwGA04QBArkuZ6lslLXQZQxTtQhlpag9YWbYfdK78niGTbb1YI0a6SpA\r\n1v2V7HPPpSG/PmHPphii7ZN+oVQ2ild5fJS/yS5QyZp8tQTGrwDVdv8r8AfL\r\nySMspJLLD2rcnwQA9n0oeykecAmPAB1s0Mg=\r\n=9P85\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"julusian","email":"git@julusian.co.uk"},"directories":{},"maintainers":[{"name":"julusian","email":"git@julusian.co.uk"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/elgato-stream-deck_4.3.0_1664568487696_0.8525960306192797"},"_hasShrinkwrap":false,"deprecated":"This library has been renamed to @elgato-stream-deck/node. The new version provides a promise based api, with better names as well as a webhid version at @elgato-stream-deck/webhid"}},"readme":"# elgato-stream-deck\n\n[![npm version](https://img.shields.io/npm/v/elgato-stream-deck.svg)](https://npm.im/elgato-stream-deck)\n[![license](https://img.shields.io/npm/l/elgato-stream-deck.svg)](https://npm.im/elgato-stream-deck)\n![Node CI](https://github.com/Julusian/node-elgato-stream-deck/workflows/Node%20CI/badge.svg)\n\n[`elgato-stream-deck`](https://github.com/julusian/elgato-stream-deck) is a Node.js library for interfacing\nwith the various models of the [Elgato Stream Deck](https://www.elgato.com/en/gaming/stream-deck).\n\n> ❗ Please note that `node-elgato-stream-deck` is **NOT a standalone application**. It is not something you download and run on its own. It is not an alternative to the [official Stream Deck program provided by Elgato](https://www.elgato.com/en/gaming/downloads). Instead, `node-elgato-stream-deck` is a code library which provides an API to the Stream Deck. Developers can use this API to make their own applications which interface with the Stream Deck.\n>\n> To further clarify: **this is not an installable program**. There is no user interface, and you cannot do anything with this library on its own. Out of the box, this library does nothing. It's purpose is to provide tools for programmers to **build** programs from the ground up which interact with a Stream Deck.\n>\n> This is a tool for developers to use. It is not a program for end users. It cannot and will not replace the official Stream Deck program. That is not its goal. However, it does enable someone to more easily write a program which _does_ do that.\n\n## Install\n\n`$ npm install --save elgato-stream-deck`\n\n`$ npm install --save @julusian/jpeg-turbo@^1.0.0` (Optional)\n\nIt is recommended to install `@julusian/jpeg-turbo` to greatly improve performance for writing images to the StreamDeck XL or the Original-v2. Without doing so `jpeg-js` will be used instead, but image transfers will be noticably more cpu intensive and slower. `jpeg-turbo` has prebuilt binaries, but is not installed by default to ensure installation is easy for users who do not need the performance or the XL or the Original-v2.\n\n### Linux\n\nOn linux, the udev subsystem blocks access to the StreamDeck without some special configuration.\nSave the following to `/etc/udev/rules.d/50-elgato.rules` and reload the rules with `sudo udevadm control --reload-rules`\n\n```\nSUBSYSTEM==\"input\", GROUP=\"input\", MODE=\"0666\"\nSUBSYSTEM==\"usb\", ATTRS{idVendor}==\"0fd9\", ATTRS{idProduct}==\"0060\", MODE:=\"666\", GROUP=\"plugdev\"\nSUBSYSTEM==\"usb\", ATTRS{idVendor}==\"0fd9\", ATTRS{idProduct}==\"0063\", MODE:=\"666\", GROUP=\"plugdev\"\nSUBSYSTEM==\"usb\", ATTRS{idVendor}==\"0fd9\", ATTRS{idProduct}==\"006c\", MODE:=\"666\", GROUP=\"plugdev\"\nSUBSYSTEM==\"usb\", ATTRS{idVendor}==\"0fd9\", ATTRS{idProduct}==\"006d\", MODE:=\"666\", GROUP=\"plugdev\"\n```\n\nUnplug and replug the device and it should be usable\n\n### Native dependencies\n\nAll of this library's native dependencies ship with prebuilt binaries, so having a full compiler toolchain should not be necessary to install `node-elgato-stream-deck`.\n\nHowever, in the event that installation _does_ fail (**or if you are on a platform that our dependencies don't provide prebuilt binaries for, such as a Raspberry Pi**), you will need to install a compiler toolchain to enable npm to build some of `node-elgato-stream-deck`'s dependencies from source. Expand the details block below for full instructions on how to do so.\n\n<details>\n\t<summary>Compiling dependencies from source</summary>\n\t\n* Windows\n  * Install [`windows-build-tools`](https://github.com/felixrieseberg/windows-build-tools):\n  ```bash\n  npm install --global windows-build-tools\n  ```\n* MacOS\n  * Install the Xcode Command Line Tools:\n  ```bash\n  xcode-select --install\n  ```\n* Linux (**including Raspberry Pi**)\n  * Follow the instructions for Linux in the [\"Compiling from source\"](https://github.com/node-hid/node-hid#compiling-from-source) steps for \n  * Try installing `node-elgato-stream-deck`\n  * If you still have issues, ensure everything is updated and try again:\n\t```bash\n\tsudo apt-get update && sudo apt-get upgrade\n\t```\n</details>\n\n## Table of Contents\n\n-   [Features](#features)\n-   [Example](#example)\n-   [API](#api)\n    -   [`openStreamDeck`](#open-streamdeck)\n    -   [`listStreamDecks`](#list-streamdecks)\n    -   [`getStreamDeckInfo`](#get-streamdeck-info)\n    -   [`fillColor`](#fill-color)\n    -   [`fillImage`](#fill-image)\n    -   [`fillPanel`](#fill-panel)\n    -   [`clearKey`](#clear-key)\n    -   [`clearAllKeys`](#clear-all-keys)\n    -   [`setBrightness`](#set-brightness)\n    -   [`resetToLogo`](#reset-to-logo)\n    -   [`getFirmwareVersion`](#get-firmware-version)\n    -   [`getSerialNumber`](#get-serial-number)\n-   [Events](#events)\n    -   [`down`](#down)\n    -   [`up`](#up)\n    -   [`error`](#error)\n-   [Contributing](#contributing)\n-   [Protocol Notes](#protocol-notes)\n\n### Features\n\n-   Multiplatform support: Windows 7-10, MacOS, Linux, and even Raspberry Pi!\n-   Support for every StreamDeck model (Original, Mini & XL)\n-   Key `down` and key `up` events\n-   Fill keys with images or solid RGB colors\n-   Fill the entire panel with a single image, spread across all keys\n-   Set the Stream Deck brightness\n-   TypeScript support\n\n### Example\n\n#### JavaScript\n\n```javascript\nconst path = require('path')\nconst { openStreamDeck } = require('elgato-stream-deck')\n\n// Automatically discovers connected Stream Decks, and attaches to the first one.\n// Throws if there are no connected stream decks.\n// You also have the option of providing the devicePath yourself as the first argument to the constructor.\n// For example: const myStreamDeck = new StreamDeck('\\\\\\\\?\\\\hid#vid_05f3&pid_0405&mi_00#7&56cf813&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}')\n// On linux the equivalent would be: const myStreamDeck = new StreamDeck('0001:0021:00')\n// Available devices can be found with listStreamDecks()\nconst myStreamDeck = openStreamDeck()\n\nmyStreamDeck.on('down', (keyIndex) => {\n\tconsole.log('key %d down', keyIndex)\n})\n\nmyStreamDeck.on('up', (keyIndex) => {\n\tconsole.log('key %d up', keyIndex)\n})\n\n// Fired whenever an error is detected by the `node-hid` library.\n// Always add a listener for this event! If you don't, errors will be silently dropped.\nmyStreamDeck.on('error', (error) => {\n\tconsole.error(error)\n})\n\n// Fill the first button form the left in the first row with a solid red color. This is synchronous.\nmyStreamDeck.fillColor(4, 255, 0, 0)\nconsole.log('Successfully wrote a red square to key 4.')\n```\n\n#### TypeScript\n\n```typescript\nimport { openStreamDeck } = require('elgato-stream-deck')\nconst myStreamDeck = openStreamDeck() // Will throw an error if no Stream Decks are connected.\n\nmyStreamDeck.on('down', keyIndex => {\n\tconsole.log('key %d down', keyIndex)\n})\n\nmyStreamDeck.on('up', keyIndex => {\n\tconsole.log('key %d up', keyIndex)\n})\n\n// Fired whenever an error is detected by the `node-hid` library.\n// Always add a listener for this event! If you don't, errors will be silently dropped.\nmyStreamDeck.on('error', error => {\n\tconsole.error(error)\n})\n```\n\n### API\n\n#### <a name=\"open-streamdeck\"></a> `> openStreamDeck(path?: string, options?: OpenStreamDeckOptions) -> StreamDeckDeviceInfo | undefined`\n\nOpens a StreamDeck.\n\nIf a path is provided, then a specific device will be opened, otherwise the first found device will be used. See [listDevices](#list-devices) for info on how to discover devices.\n\nSome device types have additional options, as part of the options object. This is not required to be provided.\n\nOptions:\n\n-   useOriginalKeyOrder: This restores the right-to-left key order for the Original StreamDeck. Since v3.0.0 the default key order has been changed to make sense and be consistent with the other models\n\n```javascript\nconst streamDeck = openStreamDeck()\n\n// Or\n\nconst streamDeck = openStreamDeck('0001:0021:00')\n\n// Or\n\nconst streamDeck = openStreamDeck('0001:0021:00', {\n\tuseOriginalKeyOrder: true,\n})\n```\n\n#### <a name=\"list-streamdecks\"></a> `> listStreamDecks() -> Array<StreamDeckDeviceInfo>`\n\nThis will scan for and list all detected StreamDeck devices on the system along with their model. The path property can be passed into the constructor to open a specific device.\n\n```javascript\nconsole.log('Devices: ', listStreamDecks())\n/**\n * Devices: [\n *   {\n *     model: 'original',\n *     path: '0001:0023:00',\n *     serialNumber: 'AL37G1A02840'\n *   },\n *   {\n *     model: 'xl',\n *     path: '0001:0021:00',\n *     serialNumber: 'CL18I1A00913'\n *   }\n * ]\n */\n```\n\n#### <a name=\"get-streamdeck-info\"></a> `> getStreamDeckInfo(path: string) -> StreamDeckDeviceInfo | undefined`\n\nGet the info for a given device. Returns `undefined` if the path is not a valid StreamDeck\n\n```javascript\nconsole.log('Info: ', getStreamDeckInfo('0001:0021:00'))\n/**\n * Info: {\n *   model: 'xl',\n *   path: '0001:0021:00',\n *   serialNumber: 'CL18I1A00913'\n * }\n */\n```\n\n#### <a name=\"fill-color\"></a> `> streamDeck.fillColor(keyIndex, r, g, b) -> undefined`\n\nSynchronously sets the given `keyIndex`'s screen to a solid RGB color.\nAn error will be thrown if the keyIndex is not valid, of a colour component is outside of the range 0-255\n\n##### Example\n\n```javascript\n// Turn key 4 (the top left key) solid red.\nstreamDeck.fillColor(4, 255, 0, 0)\n```\n\n#### <a name=\"fill-image\"></a> `> streamDeck.fillImage(keyIndex, buffer) -> undefined`\n\nSynchronously writes a buffer of RGB image data to the given `keyIndex`'s screen.\nThe required size of the buffer varies by device, and must be the exact length. Any other length will result in an error being thrown.\n\nThe expected sizes are:\n\n-   Original: 15552 (72px)\n-   Mini: 19200 (80px)\n-   XL: 27648 (96px)\n\n##### Example\n\n```javascript\n// Fill the third button from the left in the first row with an image of the GitHub logo.\nconst sharp = require('sharp') // See http://sharp.dimens.io/en/stable/ for full docs on this great library!\nsharp(path.resolve(__dirname, 'github_logo.png'))\n\t.flatten() // Eliminate alpha channel, if any.\n\t.resize(streamDeck.ICON_SIZE, streamDeck.ICON_SIZE) // Scale up/down to the right size, cropping if necessary.\n\t.raw() // Give us uncompressed RGB.\n\t.toBuffer()\n\t.then((buffer) => {\n\t\tstreamDeck.fillImage(2, buffer)\n\t})\n\t.catch((err) => {\n\t\tconsole.error(err)\n\t})\n```\n\n#### <a name=\"fill-panel\"></a> `> streamDeck.fillPanel(buffer) -> undefined`\n\nApplies an image to the entire panel, spreading it over all keys. The image must be exactly the correct resolution for your device. Any other size will result in an error being thrown.\n\n##### Example\n\n```javascript\n// Fill the entire panel with a photo of a sunny field.\nconst sharp = require('sharp') // See http://sharp.dimens.io/en/stable/ for full docs on this great library!\nsharp(path.resolve(__dirname, 'github_logo.png'))\n\t.flatten() // Eliminate alpha channel, if any.\n\t.resize(streamDeck.ICON_SIZE * streamDeck.KEY_COLUMNS, streamDeck.ICON_SIZE * streamDeck.KEY_ROWS) // Scale up/down to the right size, cropping if necessary.\n\t.raw() // Give us uncompressed RGB.\n\t.toBuffer()\n\t.then((buffer) => {\n\t\tstreamDeck.fillPanel(buffer)\n\t})\n\t.catch((err) => {\n\t\tconsole.error(err)\n\t})\n```\n\n#### <a name=\"clear-key\"></a> `> streamDeck.clearKey(keyIndex) -> undefined`\n\nSynchronously clears the given `keyIndex`'s screen.\nAn error will be thrown if the keyIndex is not valid\n\n##### Example\n\n```javascript\n// Clear the third button from the left in the first row.\nstreamDeck.clearKey(2)\n```\n\n#### <a name=\"clear-all-keys\"></a> `> streamDeck.clearAllKeys() -> undefined`\n\nSynchronously clears all keys on the device.\n\n##### Example\n\n```javascript\n// Clear all keys.\nstreamDeck.clearAllKeys()\n```\n\n#### <a name=\"set-brightness\"></a> `> streamDeck.setBrightness(percentage) -> undefined`\n\nSynchronously set the brightness of the Stream Deck. This affects all keys at once. The brightness of individual keys cannot be controlled.\nAn error will be thrown if the brightness is not in the range 0-100\n\n##### Example\n\n```javascript\n// Set the Stream Deck to maximum brightness\nstreamDeck.setBrightness(100)\n```\n\n#### <a name=\"reset-to-logo\"></a> `> streamDeck.resetToLogo() -> undefined`\n\nResets the device back to the startup Elgato logo.\n\n##### Example\n\n```javascript\n// Set the Stream Deck back to the Elgato logo\nstreamDeck.resetToLogo()\n```\n\n#### <a name=\"get-firmware-version\"></a> `> streamDeck.getFirmwareVersion() -> string`\n\nGets the firmware version number.\n\n##### Example\n\n```javascript\nconsole.log(streamDeck.getFirmwareVersion())\n```\n\n#### <a name=\"get-serial-number\"></a> `> streamDeck.getSerialNumber() -> string`\n\nGets the serial number of the device.\n\n##### Example\n\n```javascript\nconsole.log(streamDeck.getSerialNumber())\n```\n\n### Events\n\n#### <a name=\"down\"></a> `> down`\n\nFired whenever a key is pressed. `keyIndex` is the index of that key.\n\n##### Example\n\n```javascript\nstreamDeck.on('down', (keyIndex) => {\n\tconsole.log('key %d down', keyIndex)\n})\n```\n\n#### <a name=\"up\"></a> `> up`\n\nFired whenever a key is released. `keyIndex` is the index of that key.\n\n##### Example\n\n```javascript\nstreamDeck.on('up', (keyIndex) => {\n\tconsole.log('key %d up', keyIndex)\n})\n```\n\n#### <a name=\"error\"></a> `> error`\n\nFired whenever an error is detected by the `node-hid` library.\n**Always** add a listener for this event! If you don't, errors will be silently dropped.\n\n##### Example\n\n```javascript\nstreamDeck.on('error', (error) => {\n\tconsole.error(error)\n})\n```\n\n### Contributing\n\nThe elgato-stream-deck team enthusiastically welcomes contributions and project participation! There's a bunch of things you can do if you want to contribute! Please don't hesitate to jump in if you'd like to, or even ask us questions if something isn't clear.\n\nPlease refer to the [Changelog](CHANGELOG.md) for project history details, too.\n\n### Protocol Notes\n\nRaw protocol notes can be found in [NOTES.md](NOTES.md). These detail the protocol and method for interacting with the Stream Deck which this module implements.\n","maintainers":[{"name":"julusian","email":"git@julusian.co.uk"}],"time":{"modified":"2022-09-30T20:08:51.335Z","created":"2017-05-17T21:55:12.609Z","1.0.0":"2017-05-17T21:55:12.609Z","1.1.0":"2017-05-18T15:42:14.699Z","1.2.0":"2017-06-23T13:45:07.908Z","2.0.0":"2017-11-28T18:23:28.776Z","2.1.0":"2018-03-05T20:47:11.758Z","2.1.1":"2018-04-05T00:18:43.885Z","3.0.0":"2019-06-03T15:48:13.002Z","3.1.0":"2019-09-29T11:24:22.105Z","3.2.0":"2019-11-14T10:44:19.496Z","3.3.0":"2020-02-16T21:05:10.841Z","3.3.1":"2020-07-18T16:04:02.529Z","3.3.2":"2020-08-28T20:56:27.341Z","3.3.3":"2020-12-04T22:57:02.177Z","3.3.4":"2020-12-09T14:34:21.922Z","3.3.5":"2020-12-09T14:34:54.780Z","4.0.0":"2020-12-23T22:00:16.673Z","4.0.1":"2021-01-12T19:58:56.495Z","4.1.0":"2021-07-19T13:05:21.036Z","3.4.0":"2021-10-14T18:43:06.080Z","4.2.0":"2022-07-08T20:46:13.976Z","4.2.1":"2022-07-25T12:39:09.512Z","4.3.0":"2022-09-30T20:08:07.964Z"},"homepage":"https://github.com/julusian/node-elgato-stream-deck#readme","keywords":["elgato","stream","deck","streamdeck","hid","usb","hardware","interface","controller"],"repository":{"type":"git","url":"git+https://github.com/julusian/node-elgato-stream-deck.git"},"author":{"name":"Julian Waller","email":"git@julusian.co.uk"},"bugs":{"url":"https://github.com/julusian/node-elgato-stream-deck/issues"},"license":"MIT","readmeFilename":"README.md","contributors":[{"name":"Håkon Nessjøen","email":"haakon@bitfocus.io"},{"name":"Richard Fox"},{"name":"Chris Hanel","email":"chrishanel@gmail.com","url":"http://www.chrishanel.com/"}]}