{"_id":"qbp","_rev":"57-f45b1cf850ca528fa57ee318cb2ac99d","name":"qbp","description":"Tool to queue, batch, and process asynchronously with controlled threads.","dist-tags":{"latest":"3.1.2"},"versions":{"1.0.0":{"name":"qbp","version":"1.0.0","description":"Tool to queue, batch, and process asyncronously with controlled threads.","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/joshrouwhorst/qbp.git"},"keywords":["queue","batch","process","async","concurrent","thread"],"author":{"name":"Josh Rouwhorst","url":"http://joshrouwhorst.com"},"license":"MIT","bugs":{"url":"https://github.com/joshrouwhorst/qbp/issues"},"homepage":"https://github.com/joshrouwhorst/qbp#readme","gitHead":"fcdbedc14722f018904d41b67843d121ab0c25e4","_id":"qbp@1.0.0","_npmVersion":"5.3.0","_nodeVersion":"8.5.0","_npmUser":{"name":"joshrouwhorst","email":"jrouwhorst@springthrough.com"},"dist":{"integrity":"sha512-sWHJPeHNRTFic+fw9fDOVQG11jJdIuPov+ty66/PCh8AylqIwlrY7yaANZW0Gif8YNTF+A8d6ntrYYX8VNMshw==","shasum":"77a7b4e8a03669ecbc4358a33dd4aadfaad7c1a9","tarball":"https://registry.npmjs.org/qbp/-/qbp-1.0.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC5JZy9+LlnQUHAP0IVxgz1I6fxVWH1S3YeVQ4Oe6wmWAIhAIUxjJ27jx50y+eHOdgqJkWkx3PnYSUKSD7YI6Brm8pI"}]},"maintainers":[{"name":"joshrouwhorst","email":"jrouwhorst@springthrough.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/qbp-1.0.0.tgz_1505834051074_0.43315944517962635"},"directories":{}},"1.0.1":{"name":"qbp","version":"1.0.1","description":"Tool to queue, batch, and process asyncronously with controlled threads.","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/joshrouwhorst/qbp.git"},"keywords":["queue","batch","process","async","concurrent","thread"],"author":{"name":"Josh Rouwhorst","url":"http://joshrouwhorst.com"},"license":"MIT","types":"./qbp.d.ts","bugs":{"url":"https://github.com/joshrouwhorst/qbp/issues"},"homepage":"https://github.com/joshrouwhorst/qbp#readme","gitHead":"9717d44e135880786d1703e7142d5cde91adba5b","_id":"qbp@1.0.1","_npmVersion":"5.3.0","_nodeVersion":"8.5.0","_npmUser":{"name":"joshrouwhorst","email":"jrouwhorst@springthrough.com"},"dist":{"integrity":"sha512-YmrrnMmrd0liPCfuzoWcIXmcOSwOB+gkGZt5gWlLkrtsrh63C0uEcuURjQKIBZAU0GGYVv3sODcZHshBid9AKA==","shasum":"b8e778f52ec1d2b4f089bd5463307810c2459fe0","tarball":"https://registry.npmjs.org/qbp/-/qbp-1.0.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDTEWCzYAW140+VA9AnpKIH71vg3AWQNcKPOAdguWs1NAIhALztEsPDcDGkJu3+qLnN41uJk22M6In0GVzC8aFYu5d9"}]},"maintainers":[{"name":"joshrouwhorst","email":"jrouwhorst@springthrough.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/qbp-1.0.1.tgz_1505834805279_0.2340011380147189"},"directories":{}},"1.0.2":{"name":"qbp","version":"1.0.2","description":"Tool to queue, batch, and process asynchronously with controlled threads.","main":"qbp.js","types":"qbp.d.ts","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/joshrouwhorst/qbp.git"},"keywords":["queue","batch","process","async","concurrent","thread"],"author":{"name":"Josh Rouwhorst","url":"http://joshrouwhorst.com"},"license":"MIT","bugs":{"url":"https://github.com/joshrouwhorst/qbp/issues"},"homepage":"https://github.com/joshrouwhorst/qbp#readme","gitHead":"2f96f39a76dff50fd1038198a6c1aad17c6e7fe2","_id":"qbp@1.0.2","_npmVersion":"5.3.0","_nodeVersion":"8.5.0","_npmUser":{"name":"joshrouwhorst","email":"jrouwhorst@springthrough.com"},"dist":{"integrity":"sha512-/XNoPB/betfl7cOrU1V0OoaprWK1icjOpk3dfx1UgblA723UlJUWjqkVzBn8/IzkIcwoA4laTizk6lsGFFowIA==","shasum":"83d617c59f29c75c907b8ed8b107de132e6ac547","tarball":"https://registry.npmjs.org/qbp/-/qbp-1.0.2.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHTQsQkp6Tj7TFzskIph8Cxed21SiIRdYhSKBHmLrvyuAiAxyN8p2m15m2WDhA+xyUt4acbZv1ltVBfOpeM3NE6LJQ=="}]},"maintainers":[{"name":"joshrouwhorst","email":"jrouwhorst@springthrough.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/qbp-1.0.2.tgz_1505841098947_0.012578927911818027"},"directories":{}},"1.0.3":{"name":"qbp","version":"1.0.3","description":"Tool to queue, batch, and process asynchronously with controlled threads.","main":"qbp.js","types":"qbp.d.ts","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/joshrouwhorst/qbp.git"},"keywords":["queue","batch","process","async","concurrent","thread"],"author":{"name":"Josh Rouwhorst","url":"http://joshrouwhorst.com"},"license":"MIT","bugs":{"url":"https://github.com/joshrouwhorst/qbp/issues"},"homepage":"https://github.com/joshrouwhorst/qbp#readme","gitHead":"2f96f39a76dff50fd1038198a6c1aad17c6e7fe2","_id":"qbp@1.0.3","_npmVersion":"5.3.0","_nodeVersion":"8.5.0","_npmUser":{"name":"joshrouwhorst","email":"jrouwhorst@springthrough.com"},"dist":{"integrity":"sha512-euBbbyM1ZEp/XfMJDWqjfTRRvHinNNQZzCk4//D14PMPzku1UwuMTsvgpMWeH6dmPh71rbVa7rJM7f1LJZNZXg==","shasum":"7106e162727227d39aae29bbd1253f63738044e4","tarball":"https://registry.npmjs.org/qbp/-/qbp-1.0.3.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFWRj4pPExM+JwV4maI+VPBB+UJacSMGMEJ41YOR4uPMAiANqKj+B4Kkk/BN/p9k6dIHOxiXN0imAcseX3w2Fzu6LQ=="}]},"maintainers":[{"name":"joshrouwhorst","email":"jrouwhorst@springthrough.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/qbp-1.0.3.tgz_1505860992111_0.49143136851489544"},"directories":{}},"1.0.4":{"name":"qbp","version":"1.0.4","description":"Tool to queue, batch, and process asynchronously with controlled threads.","main":"qbp.js","types":"qbp.d.ts","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/joshrouwhorst/qbp.git"},"keywords":["queue","batch","process","async","concurrent","thread"],"author":{"name":"Josh Rouwhorst","url":"http://joshrouwhorst.com"},"license":"MIT","bugs":{"url":"https://github.com/joshrouwhorst/qbp/issues"},"homepage":"https://github.com/joshrouwhorst/qbp#readme","gitHead":"0be8186f42ec66e28b999cfe96f70c1706920e99","_id":"qbp@1.0.4","_npmVersion":"5.3.0","_nodeVersion":"8.5.0","_npmUser":{"name":"joshrouwhorst","email":"jrouwhorst@springthrough.com"},"dist":{"integrity":"sha512-1HTBNyGc3DrFyrtanYPLzR/UE7jRxIUS9gVO3kRQsHrS9QEJaiCfamaex1ZO9lY8hrQwMqT/UHbAOH42y+pqQQ==","shasum":"7e8cbabe1d00466a2d3c908a1621d2c115f568e1","tarball":"https://registry.npmjs.org/qbp/-/qbp-1.0.4.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC1CA3SBHbHkqiqFHWjPzlSTSOgU52qSWPrjb/IzNk1SwIhAJrJD8PqLtu6Hzh5eR0rvAXkh8xTi4eKENjLxeN93Bo9"}]},"maintainers":[{"name":"joshrouwhorst","email":"jrouwhorst@springthrough.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/qbp-1.0.4.tgz_1505867150773_0.9870541105046868"},"directories":{}},"1.0.5":{"name":"qbp","version":"1.0.5","description":"Tool to queue, batch, and process asynchronously with controlled threads.","main":"qbp.js","types":"qbp.d.ts","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/joshrouwhorst/qbp.git"},"keywords":["queue","batch","process","async","concurrent","thread"],"author":{"name":"Josh Rouwhorst","url":"http://joshrouwhorst.com"},"license":"MIT","bugs":{"url":"https://github.com/joshrouwhorst/qbp/issues"},"homepage":"https://github.com/joshrouwhorst/qbp#readme","gitHead":"9bb586cfc896446936204a5a1ab3cb50cc0dd3d1","_id":"qbp@1.0.5","_npmVersion":"5.3.0","_nodeVersion":"8.5.0","_npmUser":{"name":"joshrouwhorst","email":"jrouwhorst@springthrough.com"},"dist":{"integrity":"sha512-MIOEe+sfpcpVY8Iqyoi5wB4be6vemXoa2H7oO55znaJA+XxEP29R2SnKJhLBJuJrvm89MoPL/q1WbRRcGZc/WA==","shasum":"b801003e31e71f437bf1fa8bd36fe0fb242f35f1","tarball":"https://registry.npmjs.org/qbp/-/qbp-1.0.5.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCnrdU4Raok9g9cKjZlZKldSF4eCyWZw4JGZTKAUm2NfgIgF65Z3m5UwBgo6TI7JKocs9GukuL10ASSTBwR+/febi4="}]},"maintainers":[{"name":"joshrouwhorst","email":"jrouwhorst@springthrough.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/qbp-1.0.5.tgz_1505867639045_0.503275895724073"},"directories":{}},"1.0.6":{"name":"qbp","version":"1.0.6","description":"Tool to queue, batch, and process asynchronously with controlled threads.","main":"qbp.js","types":"qbp.d.ts","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/joshrouwhorst/qbp.git"},"keywords":["queue","batch","process","async","concurrent","thread"],"author":{"name":"Josh Rouwhorst","url":"http://joshrouwhorst.com"},"license":"MIT","bugs":{"url":"https://github.com/joshrouwhorst/qbp/issues"},"homepage":"https://github.com/joshrouwhorst/qbp#readme","gitHead":"9bb586cfc896446936204a5a1ab3cb50cc0dd3d1","_id":"qbp@1.0.6","_npmVersion":"5.3.0","_nodeVersion":"8.5.0","_npmUser":{"name":"joshrouwhorst","email":"jrouwhorst@springthrough.com"},"dist":{"integrity":"sha512-QadzxWS7euhQuT1ufOkPchBIKwUKSMrQpRzhktMBx6a5OlVpO9e2SvhtU7U1xE+tbT9pQQn4Q8ZIA4+DlNb25Q==","shasum":"32545e28c4793926aea5d6a739b54fdb3908c5f2","tarball":"https://registry.npmjs.org/qbp/-/qbp-1.0.6.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBE9Ztfdz3QG9Pd8cAqQ54pnQQ1ggZCuqMVUXN9B4fc3AiEAt/UJgEoz3tu2gYJzEsl2yOO4Gvx+lGc8wrHytwBVTVo="}]},"maintainers":[{"name":"joshrouwhorst","email":"jrouwhorst@springthrough.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/qbp-1.0.6.tgz_1505867833742_0.050838069058954716"},"directories":{}},"1.0.7":{"name":"qbp","version":"1.0.7","description":"Tool to queue, batch, and process asynchronously with controlled threads.","main":"qbp.js","types":"qbp.d.ts","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/joshrouwhorst/qbp.git"},"keywords":["queue","batch","process","async","concurrent","thread"],"author":{"name":"Josh Rouwhorst","url":"http://joshrouwhorst.com"},"license":"MIT","bugs":{"url":"https://github.com/joshrouwhorst/qbp/issues"},"homepage":"https://github.com/joshrouwhorst/qbp#readme","gitHead":"e279f5bc82a37584ee15921188c8ffb6793e75e3","_id":"qbp@1.0.7","_npmVersion":"5.3.0","_nodeVersion":"8.5.0","_npmUser":{"name":"joshrouwhorst","email":"jrouwhorst@springthrough.com"},"dist":{"integrity":"sha512-nrJNUibMLwDitPWkKbWSlhYHo8biV1ZvjtcYCOFR6nQj1B+qw1ZlW3qpIRt5V0RSIFUJXKvD3ioXsZrP0qRpVQ==","shasum":"25f87b82750feae1c2194a9c6641def5d60440f3","tarball":"https://registry.npmjs.org/qbp/-/qbp-1.0.7.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHW/KoxsMNrC9mpdFfxBfGvk/ASDPXPiTaANhoJtQoqrAiEAtxLOhb59jlQ0n+CnuCUWxERjoJnGeOKwLA8hfe4cDyg="}]},"maintainers":[{"name":"joshrouwhorst","email":"jrouwhorst@springthrough.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/qbp-1.0.7.tgz_1505915946081_0.712965510552749"},"directories":{}},"1.0.8":{"name":"qbp","version":"1.0.8","description":"Tool to queue, batch, and process asynchronously with controlled threads.","main":"qbp.js","types":"qbp.d.ts","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/joshrouwhorst/qbp.git"},"keywords":["queue","batch","process","async","concurrent","thread"],"author":{"name":"Josh Rouwhorst","url":"http://joshrouwhorst.com"},"license":"MIT","bugs":{"url":"https://github.com/joshrouwhorst/qbp/issues"},"homepage":"https://github.com/joshrouwhorst/qbp#readme","gitHead":"e279f5bc82a37584ee15921188c8ffb6793e75e3","_id":"qbp@1.0.8","_npmVersion":"5.3.0","_nodeVersion":"8.5.0","_npmUser":{"name":"joshrouwhorst","email":"jrouwhorst@springthrough.com"},"dist":{"integrity":"sha512-wretCJt5F6kvmgQco/AFnOtZuvqGXKF2znRQG8eJkYiSM6QZGQXaDGY9757wxQPA0Ty/RaX3gFwNIabZ66dZeA==","shasum":"a4191c6fd84b884b224824b62eaed4f0b4b178cf","tarball":"https://registry.npmjs.org/qbp/-/qbp-1.0.8.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCtURbMffD/7ukZaePN5yqDtjTqDKjzgm6D9M+kXkJUPwIgRod3wGAW4mCDIeguTz2Z6WDtV9TbRMdpMHK9iTcPWnM="}]},"maintainers":[{"name":"joshrouwhorst","email":"jrouwhorst@springthrough.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/qbp-1.0.8.tgz_1505916167179_0.9724613430444151"},"directories":{}},"1.0.9":{"name":"qbp","version":"1.0.9","description":"Tool to queue, batch, and process asynchronously with controlled threads.","main":"qbp.js","types":"qbp.d.ts","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/joshrouwhorst/qbp.git"},"keywords":["queue","batch","process","async","concurrent","thread"],"author":{"name":"Josh Rouwhorst","url":"http://joshrouwhorst.com"},"license":"MIT","bugs":{"url":"https://github.com/joshrouwhorst/qbp/issues"},"homepage":"https://github.com/joshrouwhorst/qbp#readme","gitHead":"e279f5bc82a37584ee15921188c8ffb6793e75e3","_id":"qbp@1.0.9","_npmVersion":"5.3.0","_nodeVersion":"8.5.0","_npmUser":{"name":"joshrouwhorst","email":"jrouwhorst@springthrough.com"},"dist":{"integrity":"sha512-w04lcZ6/TQuX3kpbex+9iiM/9ibZtLkFSXKT97v59+l44HpjVJhHZBDUCPgmWa621iixT7xJ+MiKvWUJwD193A==","shasum":"40e027444cc87a9845674342cfcb815534d6c81e","tarball":"https://registry.npmjs.org/qbp/-/qbp-1.0.9.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDXFF9oJA9GhqciVPGh6T1ZhaR/MH7CRjwSGNTen8rOEQIgRbdapEU9uWJTXSY6BUBmK0npaF204EEvqyOa+fJikF4="}]},"maintainers":[{"name":"joshrouwhorst","email":"jrouwhorst@springthrough.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/qbp-1.0.9.tgz_1505916294942_0.6890230448916554"},"directories":{}},"1.0.10":{"name":"qbp","version":"1.0.10","description":"Tool to queue, batch, and process asynchronously with controlled threads.","main":"qbp.js","types":"qbp.d.ts","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/joshrouwhorst/qbp.git"},"keywords":["queue","batch","process","async","concurrent","thread"],"author":{"name":"Josh Rouwhorst","url":"http://joshrouwhorst.com"},"license":"MIT","bugs":{"url":"https://github.com/joshrouwhorst/qbp/issues"},"homepage":"https://github.com/joshrouwhorst/qbp#readme","gitHead":"4c6bb275d9a73c421a9daaca2f5ae3f125ddad07","_id":"qbp@1.0.10","_npmVersion":"5.3.0","_nodeVersion":"8.5.0","_npmUser":{"name":"joshrouwhorst","email":"jrouwhorst@springthrough.com"},"dist":{"integrity":"sha512-IaTn8n+7tz9ooW0s/UBq1bv0xNu2zSaUPceb2Gv4+JeQhHcfEnSrxTsJCGaH9CWe6ZN2MIc8GhBe5A34zDLMzw==","shasum":"734fd4282bbdfc4aa87cda9b45e2a87cc2d83455","tarball":"https://registry.npmjs.org/qbp/-/qbp-1.0.10.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDosGMQ1fblMewIB7+RfZJBmh8CFjVK8wQnu/LcXDJ5nQIhAKzvcl9VT0+l8cwkqpguFxD7PJF4iFyL6jFd7yPNo3Dp"}]},"maintainers":[{"name":"joshrouwhorst","email":"jrouwhorst@springthrough.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/qbp-1.0.10.tgz_1505918740914_0.4522948150988668"},"directories":{}},"0.1.0":{"name":"qbp","version":"0.1.0","description":"Tool to queue, batch, and process asynchronously with controlled threads.","main":"qbp.js","types":"qbp.d.ts","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/joshrouwhorst/qbp.git"},"keywords":["queue","batch","process","async","concurrent","thread"],"author":{"name":"Josh Rouwhorst","url":"http://joshrouwhorst.com"},"license":"MIT","bugs":{"url":"https://github.com/joshrouwhorst/qbp/issues"},"homepage":"https://github.com/joshrouwhorst/qbp#readme","gitHead":"975b928fde80c5b9574e9cd12e33d156ce631fd4","_id":"qbp@0.1.0","_npmVersion":"5.3.0","_nodeVersion":"8.5.0","_npmUser":{"name":"joshrouwhorst","email":"jrouwhorst@springthrough.com"},"dist":{"integrity":"sha512-or8OQHVv5T7ZlzJKM0J+H2IbznoomzBkSB/D072Qv4iKQ7m97zWySCKM4J0/JrhS/oRiMn4OScHNZ2NvIJCarA==","shasum":"d33d4c4b26ba6535fb162e3258166fa85fe9a2aa","tarball":"https://registry.npmjs.org/qbp/-/qbp-0.1.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC56SOf4V2c9fjWNwSr9sb8zG9rt0OzjOgi8i2/jFfFdQIhAIaP3aXyIlMsNt+GVtzh+lWliWMQo7qPkgluJKCKtu16"}]},"maintainers":[{"name":"joshrouwhorst","email":"jrouwhorst@springthrough.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/qbp-0.1.0.tgz_1505931702807_0.4282253908459097"},"directories":{}},"0.1.2":{"name":"qbp","version":"0.1.2","description":"Tool to queue, batch, and process asynchronously with controlled threads.","main":"qbp.js","types":"qbp.d.ts","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/joshrouwhorst/qbp.git"},"keywords":["queue","batch","process","async","concurrent","thread"],"author":{"name":"Josh Rouwhorst","url":"http://joshrouwhorst.com"},"license":"MIT","bugs":{"url":"https://github.com/joshrouwhorst/qbp/issues"},"homepage":"https://github.com/joshrouwhorst/qbp#readme","gitHead":"975b928fde80c5b9574e9cd12e33d156ce631fd4","_id":"qbp@0.1.2","_npmVersion":"5.3.0","_nodeVersion":"8.5.0","_npmUser":{"name":"joshrouwhorst","email":"jrouwhorst@springthrough.com"},"dist":{"integrity":"sha512-Z/21SkM0Cme3/hPwIPgND84szK5qkmsE0vvMpUCeABPkypy5tUW/3PkyuGxxAQKm0Fjn50CNEnTBGaABjrgcrQ==","shasum":"90ab400d2a42cca7ac42dd87d1ca6afa382c2c06","tarball":"https://registry.npmjs.org/qbp/-/qbp-0.1.2.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC4ia788tgazcMVomCBsHdjTGdsVOv7shemAZQBrX48DQIgddIRxCKEML1O+Po1i8aRSnLWmUzKJo9BAN5K0AjI1Po="}]},"maintainers":[{"name":"joshrouwhorst","email":"jrouwhorst@springthrough.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/qbp-0.1.2.tgz_1505933361055_0.9142399528063834"},"directories":{}},"0.1.3":{"name":"qbp","version":"0.1.3","description":"Tool to queue, batch, and process asynchronously with controlled threads.","main":"qbp.js","types":"qbp.d.ts","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/joshrouwhorst/qbp.git"},"keywords":["queue","batch","process","async","concurrent","thread"],"author":{"name":"Josh Rouwhorst","url":"http://joshrouwhorst.com"},"license":"MIT","bugs":{"url":"https://github.com/joshrouwhorst/qbp/issues"},"homepage":"https://github.com/joshrouwhorst/qbp#readme","gitHead":"975b928fde80c5b9574e9cd12e33d156ce631fd4","_id":"qbp@0.1.3","_npmVersion":"5.3.0","_nodeVersion":"8.5.0","_npmUser":{"name":"joshrouwhorst","email":"jrouwhorst@springthrough.com"},"dist":{"integrity":"sha512-4ja4wAcu5oKpeY7hlHOIy3QYzXJQ6U3nvUsF2/KixKoKhIcI6EgxmUp0TyvKrAO7tsi49FQzie1fXbyOKG4zGA==","shasum":"dfbd8f1c1820c9d800ff55ef79fc4bfc02b6b1ad","tarball":"https://registry.npmjs.org/qbp/-/qbp-0.1.3.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDCFT1OVE8BnF8PUwbGpk6Fe3b7U8RpriHZdWgf6EMOeAIgZTp3+8IeX3VPtLkoqG62x3qNbgF8SO4JxhFStvqVbW8="}]},"maintainers":[{"name":"joshrouwhorst","email":"jrouwhorst@springthrough.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/qbp-0.1.3.tgz_1505935928646_0.564848879352212"},"directories":{}},"0.1.4":{"name":"qbp","version":"0.1.4","description":"Tool to queue, batch, and process asynchronously with controlled threads.","main":"qbp.js","types":"qbp.d.ts","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/joshrouwhorst/qbp.git"},"keywords":["queue","batch","process","async","concurrent","thread"],"author":{"name":"Josh Rouwhorst","url":"http://joshrouwhorst.com"},"license":"MIT","bugs":{"url":"https://github.com/joshrouwhorst/qbp/issues"},"homepage":"https://github.com/joshrouwhorst/qbp#readme","gitHead":"975b928fde80c5b9574e9cd12e33d156ce631fd4","_id":"qbp@0.1.4","_npmVersion":"5.3.0","_nodeVersion":"8.5.0","_npmUser":{"name":"joshrouwhorst","email":"jrouwhorst@springthrough.com"},"dist":{"integrity":"sha512-SSahFREoOZqXgXQN92GU0D6CWXp7EoQuHlySxEenTDBj1P0BO0SlOzvSsoKn/nEVIb4bSILsQW20d8EY6E4VsA==","shasum":"2175eddffad55dda968107775e2d1bd7d7ee3845","tarball":"https://registry.npmjs.org/qbp/-/qbp-0.1.4.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDdw1LBmhCKoPSV+UIPv5oMJ4d67FTv8Qg6KlYHU4wYKAIhAKfk89I2+WCrlgpmwsf8Fo/AyjpFgkEAvLpl0dWjNj/e"}]},"maintainers":[{"name":"joshrouwhorst","email":"jrouwhorst@springthrough.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/qbp-0.1.4.tgz_1505936372226_0.2946116563398391"},"directories":{}},"0.1.5":{"name":"qbp","version":"0.1.5","description":"Tool to queue, batch, and process asynchronously with controlled threads.","main":"qbp.js","types":"qbp.d.ts","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/joshrouwhorst/qbp.git"},"keywords":["queue","batch","process","async","concurrent","thread"],"author":{"name":"Josh Rouwhorst","url":"http://joshrouwhorst.com"},"license":"MIT","bugs":{"url":"https://github.com/joshrouwhorst/qbp/issues"},"homepage":"https://github.com/joshrouwhorst/qbp#readme","gitHead":"975b928fde80c5b9574e9cd12e33d156ce631fd4","_id":"qbp@0.1.5","_npmVersion":"5.3.0","_nodeVersion":"8.5.0","_npmUser":{"name":"joshrouwhorst","email":"jrouwhorst@springthrough.com"},"dist":{"integrity":"sha512-UWMP12fY0oIDft5baqJel53tqc9UJR3gK6oT2O2iQWgVpovmRO0TmwpYm5f7G6v33L5kirGfASzpDdEKDTR/aQ==","shasum":"887e11ff7660d96e073035f875da74f287047ed1","tarball":"https://registry.npmjs.org/qbp/-/qbp-0.1.5.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEdl00D10mCR/5lDHnDoLcbGT149xFarHBAkjtUC69czAiEAjotAmMPW62GV+dEH73hiiyeD0xbVsEL/rHRyC5DbfuE="}]},"maintainers":[{"name":"joshrouwhorst","email":"jrouwhorst@springthrough.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/qbp-0.1.5.tgz_1505937028518_0.2348845291417092"},"directories":{}},"0.1.6":{"name":"qbp","version":"0.1.6","description":"Tool to queue, batch, and process asynchronously with controlled threads.","main":"qbp.js","types":"qbp.d.ts","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/joshrouwhorst/qbp.git"},"keywords":["queue","batch","process","async","concurrent","thread"],"author":{"name":"Josh Rouwhorst","url":"http://joshrouwhorst.com"},"license":"MIT","bugs":{"url":"https://github.com/joshrouwhorst/qbp/issues"},"homepage":"https://github.com/joshrouwhorst/qbp#readme","gitHead":"975b928fde80c5b9574e9cd12e33d156ce631fd4","_id":"qbp@0.1.6","_npmVersion":"5.3.0","_nodeVersion":"8.5.0","_npmUser":{"name":"joshrouwhorst","email":"jrouwhorst@springthrough.com"},"dist":{"integrity":"sha512-TJgDDzrZ8jRi5qotuh4KVwvfqU+cDEtT+YRVE6vXSqp4t53RGDl0NUCQ0QXzn8bYZhqQ68q1AEsEVKkcDXBnSQ==","shasum":"243ca34dd3aff82743d4184d99bb80a776d2c2d5","tarball":"https://registry.npmjs.org/qbp/-/qbp-0.1.6.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCCnWkIBIWFtHFywrdEGIOw2FuMBCAUtJQKUVdxXycGcgIgByqsLRCmzI4k308HIAFdmYeOTB4duSwHHla010Wky9Q="}]},"maintainers":[{"name":"joshrouwhorst","email":"jrouwhorst@springthrough.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/qbp-0.1.6.tgz_1505937147293_0.8822545544244349"},"directories":{}},"0.1.7":{"name":"qbp","version":"0.1.7","description":"Tool to queue, batch, and process asynchronously with controlled threads.","main":"qbp.js","types":"qbp.d.ts","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/joshrouwhorst/qbp.git"},"keywords":["queue","batch","process","async","concurrent","thread"],"author":{"name":"Josh Rouwhorst","url":"http://joshrouwhorst.com"},"license":"MIT","bugs":{"url":"https://github.com/joshrouwhorst/qbp/issues"},"homepage":"https://github.com/joshrouwhorst/qbp#readme","gitHead":"975b928fde80c5b9574e9cd12e33d156ce631fd4","_id":"qbp@0.1.7","_npmVersion":"5.3.0","_nodeVersion":"8.5.0","_npmUser":{"name":"joshrouwhorst","email":"jrouwhorst@springthrough.com"},"dist":{"integrity":"sha512-jsfXfo/Zv2k3X26LwRLpUcTx4wAlT/GujWucc63xIsphDgCgVy0w2IMxDDbW1of3G0W6Ksu4aCEjEperWOuD0g==","shasum":"265409aac514e35916dd7b57a6eeccb0bcad0763","tarball":"https://registry.npmjs.org/qbp/-/qbp-0.1.7.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGmUeaSYMhEw4fFrNgSfcy6GwmC7fV9j9TkNOmFlRGTrAiAMdHErxqMRlb8FP5BfDVbnp7DfEnfWhcMSxnGy3rYAdQ=="}]},"maintainers":[{"name":"joshrouwhorst","email":"jrouwhorst@springthrough.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/qbp-0.1.7.tgz_1505962381751_0.8088470923248678"},"directories":{}},"0.1.8":{"name":"qbp","version":"0.1.8","description":"Tool to queue, batch, and process asynchronously with controlled threads.","main":"qbp.js","types":"qbp.d.ts","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/joshrouwhorst/qbp.git"},"keywords":["queue","batch","process","async","concurrent","thread"],"author":{"name":"Josh Rouwhorst","url":"http://joshrouwhorst.com"},"license":"MIT","bugs":{"url":"https://github.com/joshrouwhorst/qbp/issues"},"homepage":"https://github.com/joshrouwhorst/qbp#readme","gitHead":"975b928fde80c5b9574e9cd12e33d156ce631fd4","_id":"qbp@0.1.8","_npmVersion":"5.3.0","_nodeVersion":"8.5.0","_npmUser":{"name":"joshrouwhorst","email":"jrouwhorst@springthrough.com"},"dist":{"integrity":"sha512-3+fh7j5Nc6wdG9Os5F/LV9Tf4pJ/K7TJy0HpJ82pQA5mCXE2RXbykHdr0KnKuzAxZKaHnb4wVUrcmoo/60Od7g==","shasum":"ff14efa5ead43e2b9c5146db59964de95c7b4c5c","tarball":"https://registry.npmjs.org/qbp/-/qbp-0.1.8.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDgVwXfRA4EGHyQ3m+mTjwLBbDy/WwTXdxRDw+hx1bUZQIhANWYy3SDQiNQHazYaHSCgD7nlol3AMKe2UqwmsLFHw+I"}]},"maintainers":[{"name":"joshrouwhorst","email":"jrouwhorst@springthrough.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/qbp-0.1.8.tgz_1505962736999_0.5483808910939842"},"directories":{}},"0.1.9":{"name":"qbp","version":"0.1.9","description":"Tool to queue, batch, and process asynchronously with controlled threads.","main":"qbp.js","types":"qbp.d.ts","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/joshrouwhorst/qbp.git"},"keywords":["queue","batch","process","async","concurrent","thread"],"author":{"name":"Josh Rouwhorst","url":"http://joshrouwhorst.com"},"license":"MIT","bugs":{"url":"https://github.com/joshrouwhorst/qbp/issues"},"homepage":"https://github.com/joshrouwhorst/qbp#readme","gitHead":"4c5cc0b9900210cafefb47827fb5d9a14c40f9b1","_id":"qbp@0.1.9","_npmVersion":"5.3.0","_nodeVersion":"8.5.0","_npmUser":{"name":"joshrouwhorst","email":"jrouwhorst@springthrough.com"},"dist":{"integrity":"sha512-flDeil2UJijtcueSpbTirEoZedFAcv3LQ0laROyPtUEMZQJbrYNRb/WmXir72mkfPCpzDqpJdE50ZHOhylBVnA==","shasum":"3f021ae7c6e3afb9bc036629c3c73edbee4bb7ad","tarball":"https://registry.npmjs.org/qbp/-/qbp-0.1.9.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE3zaldsW8v8E/RFmgvkOnDxSRWMRmbb+/jd8F9KRfySAiBPM2ank+3oDzrHaiO5VyezDqWMaQs4Ni5vgIT8N3RPVw=="}]},"maintainers":[{"name":"joshrouwhorst","email":"jrouwhorst@springthrough.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/qbp-0.1.9.tgz_1506285087800_0.17803120194002986"},"directories":{}},"0.1.10":{"name":"qbp","version":"0.1.10","description":"Tool to queue, batch, and process asynchronously with controlled threads.","main":"qbp.js","types":"qbp.d.ts","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/joshrouwhorst/qbp.git"},"keywords":["queue","batch","process","async","concurrent","thread"],"author":{"name":"Josh Rouwhorst","url":"http://joshrouwhorst.com"},"license":"MIT","bugs":{"url":"https://github.com/joshrouwhorst/qbp/issues"},"homepage":"https://github.com/joshrouwhorst/qbp#readme","gitHead":"81577c5e8d75da633751ed28f3f8207c9b048cf1","_id":"qbp@0.1.10","_npmVersion":"5.3.0","_nodeVersion":"8.5.0","_npmUser":{"name":"joshrouwhorst","email":"jrouwhorst@springthrough.com"},"dist":{"integrity":"sha512-dHWBcqud3NlHCcDNHidMrwUgeFSoQWdUtPQxkIQWbLLugqxdLcK0hl8dU4YbkPs6Fb8N+gHZUidOupw1WHPJbQ==","shasum":"87547421373698bc22bd729ab0bb12f069b80853","tarball":"https://registry.npmjs.org/qbp/-/qbp-0.1.10.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCPFz+x+mRhkFgRB2eZYNsAq65zlYiBFChw8GCaSFoKjQIhALnPwNdRUmrHJ0bFKHaIBeou9mYCNah8jnx+6EPhH70s"}]},"maintainers":[{"name":"joshrouwhorst","email":"jrouwhorst@springthrough.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/qbp-0.1.10.tgz_1506353741607_0.2435141601599753"},"directories":{}},"0.1.11":{"name":"qbp","version":"0.1.11","description":"Tool to queue, batch, and process asynchronously with controlled threads.","main":"qbp.js","types":"qbp.d.ts","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/joshrouwhorst/qbp.git"},"keywords":["queue","batch","process","async","concurrent","thread"],"author":{"name":"Josh Rouwhorst","url":"http://joshrouwhorst.com"},"license":"MIT","bugs":{"url":"https://github.com/joshrouwhorst/qbp/issues"},"homepage":"https://github.com/joshrouwhorst/qbp#readme","gitHead":"1c91a3e3bcf8d8709e4e4b601586d9695aac8067","_id":"qbp@0.1.11","_npmVersion":"5.3.0","_nodeVersion":"8.5.0","_npmUser":{"name":"joshrouwhorst","email":"jrouwhorst@springthrough.com"},"dist":{"integrity":"sha512-Irs858f0JkBRNOu68WGVvx8OgmSjryBeDYHF/Bfxy/Mj3cWAKSxVLNonuHYQEoo8x4o+p7zUyS0CL0C96Db0IA==","shasum":"2d6d2cbeeab41f3e32f32f0f60e230eade8a5780","tarball":"https://registry.npmjs.org/qbp/-/qbp-0.1.11.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICZo5PCLmJzULto+6y0WbXNYAxUbprOUM7dTveXdK7RuAiBelOM1NbIPcaFzK1bNqM77FrHpvFwiXJaNG3ONRZFXuw=="}]},"maintainers":[{"name":"joshrouwhorst","email":"jrouwhorst@springthrough.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/qbp-0.1.11.tgz_1507572308386_0.6997788855805993"},"directories":{}},"0.1.12":{"name":"qbp","version":"0.1.12","description":"Tool to queue, batch, and process asynchronously with controlled threads.","main":"qbp.js","types":"qbp.d.ts","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/joshrouwhorst/qbp.git"},"keywords":["queue","batch","process","async","concurrent","thread"],"author":{"name":"Josh Rouwhorst","url":"http://joshrouwhorst.com"},"license":"MIT","bugs":{"url":"https://github.com/joshrouwhorst/qbp/issues"},"homepage":"https://github.com/joshrouwhorst/qbp#readme","gitHead":"fd70f26e7fa3c40be9ee1903e9ca7ce6b43b9cd2","_id":"qbp@0.1.12","_npmVersion":"5.3.0","_nodeVersion":"8.5.0","_npmUser":{"name":"joshrouwhorst","email":"jrouwhorst@springthrough.com"},"dist":{"integrity":"sha512-PmCWlTcpU8WodOV59HlcJekalmdHzXUgMHSN460huGGhMICk3at5hyGNMhh1Us2AF+qwRaEs/SjuPdQ19O+h8Q==","shasum":"faaca232d8f20736c4edc836b6c1dd32ed49c498","tarball":"https://registry.npmjs.org/qbp/-/qbp-0.1.12.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDx6Exj/ieDpfRn5TBpM/1ST3sNPhr9BnciXVOL6aD7IQIhAPcun1JZrS0gy+GQm8h5midQc9PxFzgw/WetMyPJ1QTg"}]},"maintainers":[{"name":"joshrouwhorst","email":"jrouwhorst@springthrough.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/qbp-0.1.12.tgz_1507572436437_0.3550952891819179"},"directories":{}},"0.1.13":{"name":"qbp","version":"0.1.13","description":"Tool to queue, batch, and process asynchronously with controlled threads.","main":"qbp.js","types":"qbp.d.ts","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/joshrouwhorst/qbp.git"},"keywords":["queue","batch","process","async","concurrent","thread"],"author":{"name":"Josh Rouwhorst","url":"http://joshrouwhorst.com"},"license":"MIT","bugs":{"url":"https://github.com/joshrouwhorst/qbp/issues"},"homepage":"https://github.com/joshrouwhorst/qbp#readme","gitHead":"3c0c9a6c68577a8abd895622435dc0ad51326239","_id":"qbp@0.1.13","_npmVersion":"5.3.0","_nodeVersion":"8.5.0","_npmUser":{"name":"joshrouwhorst","email":"jrouwhorst@springthrough.com"},"dist":{"integrity":"sha512-mB5rMB21awQxek5GFzxPqW05JaecYSkmKLWQ/aKHPMs66HdTIJznTVzPKz13YcRENizFigmbu1rH90NqOji9Ng==","shasum":"c6b7339960041c4b25bbf903e30a7940df1e6a55","tarball":"https://registry.npmjs.org/qbp/-/qbp-0.1.13.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDnA1C0g76GgM0y5/bP8sicwc/mXE3JWNzrr1V6Lz/X0gIhAKRE5O6DN5YqAURCL7lIxsn7uWe1FKPwVYwElAOPsQdN"}]},"maintainers":[{"name":"joshrouwhorst","email":"jrouwhorst@springthrough.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/qbp-0.1.13.tgz_1507576418372_0.7555428785271943"},"directories":{}},"0.1.14":{"name":"qbp","version":"0.1.14","description":"Tool to queue, batch, and process asynchronously with controlled threads.","main":"qbp.js","types":"qbp.d.ts","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/joshrouwhorst/qbp.git"},"keywords":["queue","batch","process","async","concurrent","thread"],"author":{"name":"Josh Rouwhorst","url":"http://joshrouwhorst.com"},"license":"MIT","bugs":{"url":"https://github.com/joshrouwhorst/qbp/issues"},"homepage":"https://github.com/joshrouwhorst/qbp#readme","gitHead":"e5919d0e05b63152e495d516e849829e7d1726da","_id":"qbp@0.1.14","_npmVersion":"5.3.0","_nodeVersion":"8.5.0","_npmUser":{"name":"joshrouwhorst","email":"jrouwhorst@springthrough.com"},"dist":{"integrity":"sha512-e39c2mhtN5jf/nFVKb/0JTjGSsQ9uCUjNtlRapE2xpwWPGwsGTin34D23LhCo71xO93Z9vVPnVKVfdbBUtgfyg==","shasum":"41ddfe51008d100a53efd54e425a9ec528397cea","tarball":"https://registry.npmjs.org/qbp/-/qbp-0.1.14.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAi9amgNWkz6gyO2CGyIlP+8ceJWAU5u4A8FaAXqBThtAiEAiQqLRxDxcMqpLzZcsQEX28WlkPXAEe2TSub/NdrDylo="}]},"maintainers":[{"name":"joshrouwhorst","email":"jrouwhorst@springthrough.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/qbp-0.1.14.tgz_1507581353291_0.11718945601023734"},"directories":{}},"0.1.15":{"name":"qbp","version":"0.1.15","description":"Tool to queue, batch, and process asynchronously with controlled threads.","main":"qbp.js","types":"qbp.d.ts","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/joshrouwhorst/qbp.git"},"keywords":["queue","batch","process","async","concurrent","thread"],"author":{"name":"Josh Rouwhorst","url":"http://joshrouwhorst.com"},"license":"MIT","bugs":{"url":"https://github.com/joshrouwhorst/qbp/issues"},"homepage":"https://github.com/joshrouwhorst/qbp#readme","gitHead":"c16b2ccd7ef47de4770726059970f2016e075891","_id":"qbp@0.1.15","_npmVersion":"5.3.0","_nodeVersion":"8.5.0","_npmUser":{"name":"joshrouwhorst","email":"jrouwhorst@springthrough.com"},"dist":{"integrity":"sha512-ON2jGAW5C6EB6UEJDVLwth6ygYEZ7bPczlz+FhHrfIglLETrNCr8/E3bgxHbB1j52S8Szlpcs7sA4RPBc3nTbw==","shasum":"2d78544cde1a2d271db5d05a29deba2d3dc20d59","tarball":"https://registry.npmjs.org/qbp/-/qbp-0.1.15.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCao0FV8ZUTHjf+rAFeA111IfUvgYf+hLYVMLdXxwULTAIgOiRoWEo9AEkCfdq+wUVmr6VufZUM0aAgFgBwsfqY3TM="}]},"maintainers":[{"name":"joshrouwhorst","email":"jrouwhorst@springthrough.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/qbp-0.1.15.tgz_1507582037503_0.9498899935279042"},"directories":{}},"1.1.0":{"name":"qbp","version":"1.1.0","description":"Tool to queue, batch, and process asynchronously with controlled threads.","main":"qbp.js","types":"qbp.d.ts","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/joshrouwhorst/qbp.git"},"keywords":["queue","batch","process","async","concurrent","thread"],"author":{"name":"Josh Rouwhorst","url":"http://joshrouwhorst.com"},"license":"MIT","bugs":{"url":"https://github.com/joshrouwhorst/qbp/issues"},"homepage":"https://github.com/joshrouwhorst/qbp#readme","gitHead":"c7a7033f23aa5bab37c2c3781db883071e14052f","_id":"qbp@1.1.0","_npmVersion":"5.3.0","_nodeVersion":"8.5.0","_npmUser":{"name":"joshrouwhorst","email":"jrouwhorst@springthrough.com"},"dist":{"integrity":"sha512-DSr4qFbJQfFuztK95WL5Z8HXQ757e0ghBoGUbw4yFN3sSTy+QrI1t1jFKwTWsAiudkgoLLoiqPbf50Y/TnheCQ==","shasum":"4d69ae8e50f88d6fe0547f63c337955e4f01272a","tarball":"https://registry.npmjs.org/qbp/-/qbp-1.1.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFInYb30oZ7wpeb6hEr2Ag9WiHSovGzIqvepXkDjIcsUAiEAmn2C8zSL5MIQ4gZJHA+W5GQi3hk6pznGNzovJ+y/Pwo="}]},"maintainers":[{"name":"joshrouwhorst","email":"jrouwhorst@springthrough.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/qbp-1.1.0.tgz_1507582899985_0.9055100965779275"},"directories":{}},"1.1.1":{"name":"qbp","version":"1.1.1","description":"Tool to queue, batch, and process asynchronously with controlled threads.","main":"qbp.js","types":"qbp.d.ts","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/joshrouwhorst/qbp.git"},"keywords":["queue","batch","process","async","concurrent","thread"],"author":{"name":"Josh Rouwhorst","url":"http://joshrouwhorst.com"},"license":"MIT","bugs":{"url":"https://github.com/joshrouwhorst/qbp/issues"},"homepage":"https://github.com/joshrouwhorst/qbp#readme","gitHead":"3d2e3f252e44737caedca2e8b1b0b2e497e7a5ae","_id":"qbp@1.1.1","_npmVersion":"5.3.0","_nodeVersion":"8.5.0","_npmUser":{"name":"joshrouwhorst","email":"jrouwhorst@springthrough.com"},"dist":{"integrity":"sha512-hM7/nDgB5AkK8QgUnqJ8LfeG7vMIlCe08IHjgtVBuXmjuzkqiwerdq89tyXR9X0mghqP6YOkCosWM4ztwxXdqQ==","shasum":"06830f3419f777023781ceb694257368f1ff32e0","tarball":"https://registry.npmjs.org/qbp/-/qbp-1.1.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDuBaNHQpy+L79qXB9DB/F2h4wXEBYp4vVgBH3to5XPFgIhAIhbnVDvxpDe/+ChKUFEOAQaIDTI060zCFo19BUZHlrq"}]},"maintainers":[{"name":"joshrouwhorst","email":"jrouwhorst@springthrough.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/qbp-1.1.1.tgz_1507583581413_0.7913991373497993"},"directories":{}},"1.1.2":{"name":"qbp","version":"1.1.2","description":"Tool to queue, batch, and process asynchronously with controlled threads.","main":"qbp.js","types":"qbp.d.ts","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/joshrouwhorst/qbp.git"},"keywords":["queue","batch","process","async","concurrent","thread"],"author":{"name":"Josh Rouwhorst","url":"http://joshrouwhorst.com"},"license":"MIT","bugs":{"url":"https://github.com/joshrouwhorst/qbp/issues"},"homepage":"https://github.com/joshrouwhorst/qbp#readme","gitHead":"383ce5b859abd0461a2cd7afca1e08a2668af98a","_id":"qbp@1.1.2","_npmVersion":"5.3.0","_nodeVersion":"8.5.0","_npmUser":{"name":"joshrouwhorst","email":"jrouwhorst0@gmail.com"},"dist":{"integrity":"sha512-kr3jPo/dUiBNw+c+hOU64PY9OytWGnzfu2AM4/wsRSngczUNCrgAImdxV3/5iGXrNJ07G9PtDLh/LPBs1Y/rvQ==","shasum":"aaedfbcacd2fb88f161f27fbb28ad9d643c50df2","tarball":"https://registry.npmjs.org/qbp/-/qbp-1.1.2.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC9VReAFl4J3gF22PuaW2qz/hhTsiMUII5AkbIbUyY26wIhAP+AohGhuJrnML9eO+JpeNlbew4TVBoLMfFpklBSQFoL"}]},"maintainers":[{"name":"joshrouwhorst","email":"jrouwhorst@springthrough.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/qbp-1.1.2.tgz_1507597383440_0.3137309248559177"},"directories":{}},"1.1.3":{"name":"qbp","version":"1.1.3","description":"Tool to queue, batch, and process asynchronously with controlled threads.","main":"qbp.js","types":"qbp.d.ts","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/joshrouwhorst/qbp.git"},"keywords":["queue","batch","process","async","concurrent","thread"],"author":{"name":"Josh Rouwhorst","url":"http://joshrouwhorst.com"},"license":"MIT","bugs":{"url":"https://github.com/joshrouwhorst/qbp/issues"},"homepage":"https://github.com/joshrouwhorst/qbp#readme","gitHead":"f3267e5142893cf0f9c328fddcce9861d6842a48","_id":"qbp@1.1.3","_npmVersion":"5.3.0","_nodeVersion":"8.5.0","_npmUser":{"name":"joshrouwhorst","email":"jrouwhorst0@gmail.com"},"dist":{"integrity":"sha512-NH8krmrgO89YmpCmfI7DGB8qsk9oq4LsZWyESjFkaAuDFDYKHpNeWbOFcIUU62av9PSZVaxuYHDf01ki0AU2CQ==","shasum":"b02395be86df19caad67131bf93f5f781f961545","tarball":"https://registry.npmjs.org/qbp/-/qbp-1.1.3.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEgqgvaoyC0Bii8AEcMlmD/J+0npvI4THYvjVXInPfY+AiAWG0SXoMRDjR4HyvcRR8Fmmg/N3c/wNXg6yymFwCuHDA=="}]},"maintainers":[{"name":"joshrouwhorst","email":"jrouwhorst@springthrough.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/qbp-1.1.3.tgz_1507822259330_0.6795572810806334"},"directories":{}},"1.1.4":{"name":"qbp","version":"1.1.4","description":"Tool to queue, batch, and process asynchronously with controlled threads.","main":"qbp.js","types":"qbp.d.ts","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/joshrouwhorst/qbp.git"},"keywords":["queue","batch","process","async","concurrent","thread"],"author":{"name":"Josh Rouwhorst","url":"http://joshrouwhorst.com"},"license":"MIT","bugs":{"url":"https://github.com/joshrouwhorst/qbp/issues"},"homepage":"https://github.com/joshrouwhorst/qbp#readme","gitHead":"c2238676244a71700284d19e3788bd86791a0211","_id":"qbp@1.1.4","_npmVersion":"5.3.0","_nodeVersion":"8.5.0","_npmUser":{"name":"joshrouwhorst","email":"jrouwhorst0@gmail.com"},"dist":{"integrity":"sha512-ehqFCM22DSkBIwoFRJVPa9ai6BchttHS9+QKnL+daduzwZ5CF0Qc3x162UGfDPi79A78NHqIMgWzfpIBNHQ3uQ==","shasum":"6469d91662229a617d122b5e8c95f5222d0891c7","tarball":"https://registry.npmjs.org/qbp/-/qbp-1.1.4.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCvqFaIHcOz7leyRoS4TyXWJ7th5rRPIhXfpcfqOEZ1ywIgCyqf0O8RGqWX2Ayf7rN4ObxHqkLByPyNohw4LkI+m7Q="}]},"maintainers":[{"name":"joshrouwhorst","email":"jrouwhorst@springthrough.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/qbp-1.1.4.tgz_1507824687883_0.04163740249350667"},"directories":{}},"1.1.5":{"name":"qbp","version":"1.1.5","description":"Tool to queue, batch, and process asynchronously with controlled threads.","main":"qbp.js","types":"qbp.d.ts","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/joshrouwhorst/qbp.git"},"keywords":["queue","batch","process","async","concurrent","thread"],"author":{"name":"Josh Rouwhorst","url":"http://joshrouwhorst.com"},"license":"MIT","bugs":{"url":"https://github.com/joshrouwhorst/qbp/issues"},"homepage":"https://github.com/joshrouwhorst/qbp#readme","gitHead":"b9388495e44821765a72706399468c9238927209","_id":"qbp@1.1.5","_npmVersion":"5.3.0","_nodeVersion":"8.5.0","_npmUser":{"name":"joshrouwhorst","email":"jrouwhorst0@gmail.com"},"dist":{"integrity":"sha512-ukVxzFJ4vPmoIwQ1m1wY35C9IwietXgQXK2fljMWe/Bi+M+M76gLkK1rSLXdNNje03dp2yviF6m9laZOnXOK9w==","shasum":"eeabbd07c9b229cf0b1d2a191b8fea139f7c6085","tarball":"https://registry.npmjs.org/qbp/-/qbp-1.1.5.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBzilrJXv1MDtE9DtWDYDac6yp72yH4tVi/IbVcQaJKOAiBVjwi4RsfMvNRWwDgXR6EAKQKy5biMrmRLvOj6s2FprA=="}]},"maintainers":[{"name":"joshrouwhorst","email":"jrouwhorst@springthrough.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/qbp-1.1.5.tgz_1507824953968_0.17705689813010395"},"directories":{}},"1.1.6":{"name":"qbp","version":"1.1.6","description":"Tool to queue, batch, and process asynchronously with controlled threads.","main":"qbp.js","types":"qbp.d.ts","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/joshrouwhorst/qbp.git"},"keywords":["queue","batch","process","async","concurrent","thread"],"author":{"name":"Josh Rouwhorst","url":"http://joshrouwhorst.com"},"license":"MIT","bugs":{"url":"https://github.com/joshrouwhorst/qbp/issues"},"homepage":"https://github.com/joshrouwhorst/qbp#readme","gitHead":"82dcd4b616899f764e6488d618a235cda7734484","_id":"qbp@1.1.6","_npmVersion":"5.3.0","_nodeVersion":"8.5.0","_npmUser":{"name":"joshrouwhorst","email":"jrouwhorst0@gmail.com"},"dist":{"integrity":"sha512-Qik+szn4OqqsOFEvdny3520ZzupUw9uHF8ovfJEIfIFTXsfoehqH+zP1F7BK5FteYj4GFd8MBuujxeqWA8xPIw==","shasum":"f04bd0615a12c10892db6f226dbd8c44b90af7ab","tarball":"https://registry.npmjs.org/qbp/-/qbp-1.1.6.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCtM0JhA0NnZK/PhF6nZbXtaXclVXSpjWCZSvsbnq1rYgIhAOl0crhXY2YWXfBZTbmU7tqMX6id6uXukJ+qygFwIx2J"}]},"maintainers":[{"name":"joshrouwhorst","email":"jrouwhorst@springthrough.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/qbp-1.1.6.tgz_1507927146932_0.3022392517887056"},"directories":{}},"1.1.8":{"name":"qbp","version":"1.1.8","description":"Tool to queue, batch, and process asynchronously with controlled threads.","main":"qbp.js","types":"qbp.d.ts","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/joshrouwhorst/qbp.git"},"keywords":["queue","batch","process","async","concurrent","thread"],"author":{"name":"Josh Rouwhorst","url":"http://joshrouwhorst.com"},"license":"MIT","bugs":{"url":"https://github.com/joshrouwhorst/qbp/issues"},"homepage":"https://github.com/joshrouwhorst/qbp#readme","gitHead":"ad37abb263c273e43cd0e656d10c98b2e0feca06","_id":"qbp@1.1.8","_npmVersion":"5.3.0","_nodeVersion":"8.5.0","_npmUser":{"name":"joshrouwhorst","email":"jrouwhorst0@gmail.com"},"dist":{"integrity":"sha512-WqvbsBU4JoQSR9T4YVn1Q6aabR8IKjpSKCghr2Rx99Ayd7fSXwVh/xlMz2hGK/t6MasLMxOYfB8l/FxzP5OcBg==","shasum":"6eccb47f170e168fd9d43706b3642eb46e32e5fc","tarball":"https://registry.npmjs.org/qbp/-/qbp-1.1.8.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDwT41JEbPFUltsxmCbvhu6/81BZYqG1B0acze6/tsUYAIgIQry3Dx/MQwdFLrhePL7FBajHSRpYL2kIRhZ3qaoGrA="}]},"maintainers":[{"name":"joshrouwhorst","email":"jrouwhorst@springthrough.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/qbp-1.1.8.tgz_1507935390795_0.6520967911928892"},"directories":{}},"1.1.9":{"name":"qbp","version":"1.1.9","description":"Tool to queue, batch, and process asynchronously with controlled threads.","main":"qbp.js","types":"qbp.d.ts","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/joshrouwhorst/qbp.git"},"keywords":["queue","batch","process","async","concurrent","thread"],"author":{"name":"Josh Rouwhorst","url":"http://joshrouwhorst.com"},"license":"MIT","bugs":{"url":"https://github.com/joshrouwhorst/qbp/issues"},"homepage":"https://github.com/joshrouwhorst/qbp#readme","gitHead":"49116327071f0aaa297cd7a77ddc138c3098c381","_id":"qbp@1.1.9","_npmVersion":"5.6.0","_nodeVersion":"9.4.0","_npmUser":{"name":"joshrouwhorst","email":"jrouwhorst0@gmail.com"},"dist":{"integrity":"sha512-h3F5tNvswgHhdgaa1kQ9mlF3p3l0pdn0ySbHDSJJvgFmEQIL6WnmQBFBXr+DIexThbd61ygSWwuiW7CSo/J7dA==","shasum":"24568e147e12e686a8e84bafde928788072d31a9","tarball":"https://registry.npmjs.org/qbp/-/qbp-1.1.9.tgz","fileCount":5,"unpackedSize":17266,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa4Iz9CRA9TVsSAnZWagAAAbAQAIxrl4VKMDTKy/Z8gVvN\nLxcrgBqYsaHiplQHVIotMgw9u5E37FAqFwek9XFPMPzb4e3sdonwr+GbVaBL\nZ3nVuINLSzNVkKskAdLAkA/qY0Ok0GMOwpj4/eNBA6cf/gc2nX+d3nawlKZm\nfz78/j1wMNc5HPAWhkAcOphi+DqnTxuNJjsGAoqVlOXYXnFTryILiUclolJI\nz1sXDfFj8MDZVIsf/frpWjt2dq4PwvXEAzxe19TLBMTx8SRoct9CTx4carM/\niVTkyCo03CE8atvi+YHu2gEZPyOpYb2A2E3V6W+E+cliOJRou+X/g8u0NP/r\n7EouabYJh4FD85BVXFZfkNGpxix9Ps6q+QNVwd+Ey56lhOZUGUzJGkF27o4V\nJZ9sdKKiG0C0puEeFnbRz8T7WY92+WZayzCSYSQIveMLHoBGFSq6AkNc+yvx\n7NtjYPAIZy43QF1NGhw1IYmP2ZEYwIojTizHOmfL6NcD46bk/6ZWw0Gkm9IB\nurUFmPILqcJQKH/qB8AN15ZbLvbcu0iB+/zjozMroPuNqngoakc9N97vGnZX\nu2m91t7t7he+gmvBfagoAedMBomLBU2JP3L9Cbe3e/mK2LlTlziu3pgISRdQ\n+VoBPbNVvO4gz7+Dl64nDGoXWvOFIOVKmzOnd3szaHoVkhK6Ju3v+7fueiZR\n8wDg\r\n=RhX4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIESvvNvVRoN0d2A6LidDLrnOuxhQiHOX8u+JdBRAjIvpAiAVq8g+mOEq6JHy1HSoGERKLzAXAA/WcqjPFEwP/Sjhhw=="}]},"maintainers":[{"name":"joshrouwhorst","email":"jrouwhorst@springthrough.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/qbp_1.1.9_1524665595448_0.9311278846971314"},"_hasShrinkwrap":false},"1.1.10":{"name":"qbp","version":"1.1.10","description":"Tool to queue, batch, and process asynchronously with controlled threads.","main":"qbp.js","types":"qbp.d.ts","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/joshrouwhorst/qbp.git"},"keywords":["queue","batch","process","async","concurrent","thread"],"author":{"name":"Josh Rouwhorst","url":"http://joshrouwhorst.com"},"license":"MIT","bugs":{"url":"https://github.com/joshrouwhorst/qbp/issues"},"homepage":"https://github.com/joshrouwhorst/qbp#readme","gitHead":"4872fd43915520bc6f53c745a3d01a04808abe00","_id":"qbp@1.1.10","_npmVersion":"6.4.1","_nodeVersion":"10.12.0","_npmUser":{"name":"joshrouwhorst","email":"jrouwhorst0@gmail.com"},"dist":{"integrity":"sha512-Q5Ui2qz4otlaDOAc0g5p2MqMki0m+/FGufHNbHUR7Y2Ity49Q/F/fexJMGtwHWP1i3ydbY0POUJ8Mp01fha5Sw==","shasum":"dadec8b33ddb03e4ffd15b68a1fac44c4cd69236","tarball":"https://registry.npmjs.org/qbp/-/qbp-1.1.10.tgz","fileCount":5,"unpackedSize":17241,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb8I1wCRA9TVsSAnZWagAAZPAQAJYU+8LDrR/T9dHSnEyf\n9ylZNVE62V6sOTyWq9f2RHfeakFpSQf/DpypWkwFd8mjBvyTfdLLBKOxybJz\nMbujcefWGD0ZPw0bIR/TdLdAkmV8aknkAZuGoMhAnU6frLU5QCcYLv3Ht8iV\nl0mtPakVMOQ131peRpsy1ZCslfq3MPMcUVq7BcNz4Z39QqEUTAQObv8sLX/Q\nOccym9gDLV1fSExx0DT+YP9W3qGBsYl1uc+Hduk8eg/UQssawjD07Sr40WHh\n3IrBCCVfprr7mMClFVqcM+uY2av8+VDNBAqDoJ0Rl66FSrrtbTWCVGZy2lu8\nFr7j/fDUBXXz3iXZTgGgr/vocCBLDnvfdNc2h4YB4b0WqGV/a/zH6rTqiRzn\nIjyg5vcTK1kqL6veIhguDQ//q2Sg3fCQaowJYFwDqcPkVR1Up8mD65CVMNSZ\nGQKQKECCTXWWAOk0xnvrn80rH5ZE/L8ZQyE7eJD33ljeGY0Ap4dZJNzAf+0l\nEMjj082OWfgXYmok2t+MZf3f3iaxgreOgnhFXeBHKYxzeD11XMBvEsmXtBfc\nHj2fllF5pNWp+WTvMb9dTst8/i7N7ARIttK08oVuJ+4UXs04bt3xma0FrYyM\noK/8pL5xlDoDW2lVK+VVlLc3BxVe3QxltKnE99lqkki8SAWM5Cq75wzMUzRz\nlTO7\r\n=bCZZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIA4Bp1jm3xcno3YUgg4cxib1on4mP0swYZjfFzhuyWsFAiEA9JQLXe54HdFxgMeNiXMT4JIvJ9kr7ySFmmhA37ZEhOA="}]},"maintainers":[{"name":"joshrouwhorst","email":"jrouwhorst@springthrough.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/qbp_1.1.10_1542491503995_0.2167469401456079"},"_hasShrinkwrap":false},"1.1.11":{"name":"qbp","version":"1.1.11","description":"Tool to queue, batch, and process asynchronously with controlled threads.","main":"qbp.js","types":"qbp.d.ts","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/joshrouwhorst/qbp.git"},"keywords":["queue","batch","process","async","concurrent","thread"],"author":{"name":"Josh Rouwhorst","url":"http://joshrouwhorst.com"},"license":"MIT","bugs":{"url":"https://github.com/joshrouwhorst/qbp/issues"},"homepage":"https://github.com/joshrouwhorst/qbp#readme","gitHead":"a8944df850a40cda78b1770d2e23279db5c2fdc0","_id":"qbp@1.1.11","_npmVersion":"6.4.1","_nodeVersion":"10.12.0","_npmUser":{"name":"joshrouwhorst","email":"jrouwhorst0@gmail.com"},"dist":{"integrity":"sha512-yvlreGttujgcpBCvaZUaZk9xcUE8bnY66uh6U5iAWR1UHj6NJlCxW6j+dbGf94l7xT9+c57S59Ogm1yZQJqhnw==","shasum":"65c71195295a9bc249ca9c938fd9da2721561d32","tarball":"https://registry.npmjs.org/qbp/-/qbp-1.1.11.tgz","fileCount":5,"unpackedSize":17295,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb9Dq+CRA9TVsSAnZWagAAIzAQAImasWz32itu2TGOHS4O\nVQs5cONRJ3siLr+s2dQ+HHF0mXdkEwKgN3fkQnfBxWGdnYF1rOX0t50v1sLU\n94qtaVIReJVePR3LU49XYf53TsNNIIdBotLDoEoMu/PAbPF3XTVX2YEsPgRR\nESAruQ7DNS9E0KTeM5e7xnO4jnTxDH9dROQ1hzBZiKS26qiCIKV2hvOhUXXq\nB0bJKACtXIyvSfHKNWqTabuKd6REgEzTNF5jlg+SIFP48xcYQbb+ZLFYPtfO\nOZpzlTPKDdfP1wKIYpDshTW8NXBTYohz5TtoqJFi2zNnwdNzt7q4HJ41xAaE\n1RwYkdcUnBtjo+IKa8zhyfBBNgYp/8jBCEwhNtPO3OJj5Mv080Ng1YVg2Xj6\nSqzKNqY8Mgx1ZLNIbKHep3W4cPO80Wp2DKpfHv/nx4ZslwRJv5IOW9AWOe/e\nChT7/9DELhcT/zBhNWSnvd8UMDy/oOWK2XBklR7awTsbCeVXuGoAe7sY3djG\n312RXEp3Q4NvEHixBBtst5rhBI2HGBtgc5cgz3XufYCOxtSVAyHYC60kYW+3\nEBVKsH9YdqUC8Lqub3K3FfiJEEAZm4kYT1Gl/FV4pFiBKlFoosB911FH8K7s\npaRQliM2nxHOp7Pwg2Cl/7oHEBTEZG5cA+J+W49TS8z9xoHYDEildEnhXhJB\nt6rq\r\n=2AUW\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCzc+Cih46vaTZEYvfk4hn5rCCRyNEZdfGYKt+jpm4HQAIgWIzPdEiTsT/491eqQIfv7M2onLg7hTUKffn3Udw42Mo="}]},"maintainers":[{"name":"joshrouwhorst","email":"jrouwhorst@springthrough.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/qbp_1.1.11_1542732477670_0.8332778518416557"},"_hasShrinkwrap":false},"1.1.12":{"name":"qbp","version":"1.1.12","description":"Tool to queue, batch, and process asynchronously with controlled threads.","main":"qbp.js","types":"qbp.d.ts","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/joshrouwhorst/qbp.git"},"keywords":["queue","batch","process","async","concurrent","thread"],"author":{"name":"Josh Rouwhorst","url":"http://joshrouwhorst.com"},"license":"MIT","bugs":{"url":"https://github.com/joshrouwhorst/qbp/issues"},"homepage":"https://github.com/joshrouwhorst/qbp#readme","gitHead":"459df19f289a3bddd5baa768e880102042c55ff5","_id":"qbp@1.1.12","_npmVersion":"6.4.1","_nodeVersion":"10.12.0","_npmUser":{"name":"joshrouwhorst","email":"jrouwhorst0@gmail.com"},"dist":{"integrity":"sha512-ICxu9Illrj6cYd6EL2EG/a+yExuYyqv3Ei3l53gAR+sDvktgKzDjSfh3Hk8cwzgQcNLdf2JyyD9ic5mQUVyNZA==","shasum":"c7d7157bb1b144257511e59c5018eccd39981bae","tarball":"https://registry.npmjs.org/qbp/-/qbp-1.1.12.tgz","fileCount":5,"unpackedSize":18651,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb9F3WCRA9TVsSAnZWagAAzkgP/R4SQG84DGzLi9j+V6OP\n2qJRTATafUxjTdhkcV1zN6Z0vzFkeC6U5xePghpsvnWVCmeMxFm5qO1JIkwK\n6jWzGb2DHpBx7NsGJ++DJEmMdgr2BUDX1uiH5CZngbeqdqAaJ4dAxgi/c2oe\nhQZAXqGfC7AJ3/9r7isKSAcIdP6BlKtnlKNFmaAJde3LYDdeR5yPIQcPXmRi\nsNXT8aTV7b9E+guictq2e0HLGXvlDKFZo79dPJRwg5ENmixYK5ZP/z6/f2Rh\n60/gouC6guwZzbRVleYUpCV8TWH1wZ1V7ks9ngnQ4MA+IMnM/gRzuF6VkZ80\nWcnQreKtT+Ipji4nwocH26HjI2ZMpw48P3J3DomM8Q80aYeOs/lHhXzBGfCr\nhs5zwd+9N282G5lzP/KNvga+/bwM4T6UBRPBjSVIzKA2Sj3EEPbhWJM8M2v9\nyhZ/V66sZ4XC5NXRdg7+HTxc/KXuxtUcrKsm8cefLe3YBJUJV9NnTCAJhnxf\n+XeZQHXxaU7Ul6LRzW2zRJPiN/1wAVqIWB+3N9JGYJcZfybxNjL5ss3KrbHg\niRQiMk+nVI9wgu688axDYjVebpoykNz5Qe8DJ01ohN8ChpfTPwEZdmKNgnp5\n18Ilzdal5l9PDi6JzuHYScmm+RTv96tKctyFJNWPOVOyHRNaHmPAJH0zq5vn\n4ykA\r\n=pPne\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIElbLXW1JPDqypf/pupGFfcSDPAjOrOK5J6kXXxQ3tIIAiEAmgMV1dr2WA8D2CoMSdKqygo38Ray00u+3ocp8XelZ5U="}]},"maintainers":[{"name":"joshrouwhorst","email":"jrouwhorst@springthrough.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/qbp_1.1.12_1542741461620_0.5159196847521434"},"_hasShrinkwrap":false},"2.0.0":{"name":"qbp","version":"2.0.0","description":"Tool to queue, batch, and process asynchronously with controlled threads.","main":"qbp.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/joshrouwhorst/qbp.git"},"keywords":["queue","batch","process","async","concurrent","thread","threading"],"author":{"name":"Josh Rouwhorst","url":"http://joshrouwhorst.com"},"license":"MIT","bugs":{"url":"https://github.com/joshrouwhorst/qbp/issues"},"homepage":"https://github.com/joshrouwhorst/qbp#readme","gitHead":"ca2bcc28bdeeef140eb8c98384012ef9422ca475","_id":"qbp@2.0.0","_nodeVersion":"13.10.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-JkF8+VbYDK/hGVeSL6Ss9qpCM4CrTzjzdSHsMUKjk8+4bnLLao377vIGM9vDmzMmsv5ly7OpdQdUVlzhkf0mJQ==","shasum":"e8fab1701b8f16fff7031b829b269a87a466807a","tarball":"https://registry.npmjs.org/qbp/-/qbp-2.0.0.tgz","fileCount":4,"unpackedSize":24099,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJemm3sCRA9TVsSAnZWagAA3lkP+QDWTCP2LdJIaba5HJ3Y\n2Czq0FKKBw40B1B5hfrGenwTGw+Rqd32g9mW/lpVbT2IRcTx6GMeiIHxLhLL\nrEbOcFfdGIJVuIfN1qQdSkGCN/3aaW2X3VfmcLeGWtUX8u+Cp2XDxmw5Yvu1\nFzWt4UEcbY/bBjKN8I68zeXqIhXct/bWiEP7NFGSt2G5NQZMCGYAs+UCaphu\n8GogJkYcby1MQHvixkOaRhxG/YcMz9AkwNkl5bwQ+5BMfnTMMLTgBQNyfhQy\nrgav4eycoAbE8/TYJ1YMFIWey0eUXIHttuxNR++43XsgwtZl50f+lBmK3eG0\n3Z1nYGP9shSDQBKn5Lt4SEUBpuVRiZjjktfkPfYcxxzpapc5ohRgR65Ahu2N\naep3WLu7uQIWT1O3mTmR5aI2B/UNN09EQxywQ3IQZ+Wawh5pqwCFKYgKThzA\nz2Xf0ZYbl8/w5q+5kuyk5K6K2Pc2YEsv23+DGMPe3BHZ+uS6uIK4nvhFko8G\njIZawPzjKjp1ysXSfgLoa9a5neZEYsOPrKJr4lU84WlPHx2YrqFVb3v9evXN\nC/3uihSoEs6asREDXgzry5UYHZ7SRE6A3sptxT/1W/HjLwG+rvG068OZvqfZ\nWsx1o+MJChxglDeCtLzD1Jptmt68nYQ/WP8/wK/UVqtMyhUGLKvroAbwn44A\n4+Nl\r\n=r9Z5\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICwRqqgsS+Z4E5CsfdPgjua/qCG+SjCaYtPn+sR3XmvyAiEAsY0LaYsrMg0SemSri4nF9iJswIq76tFJfGV/wkAUoyo="}]},"maintainers":[{"name":"joshrouwhorst","email":"jrouwhorst@springthrough.com"}],"_npmUser":{"name":"joshrouwhorst","email":"jrouwhorst0@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/qbp_2.0.0_1587178987532_0.38719977127473393"},"_hasShrinkwrap":false},"2.0.1":{"name":"qbp","version":"2.0.1","description":"Tool to queue, batch, and process asynchronously with controlled threads.","main":"qbp.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/joshrouwhorst/qbp.git"},"keywords":["queue","batch","process","async","concurrent","thread","threading"],"author":{"name":"Josh Rouwhorst","url":"http://joshrouwhorst.com"},"license":"MIT","bugs":{"url":"https://github.com/joshrouwhorst/qbp/issues"},"homepage":"https://github.com/joshrouwhorst/qbp#readme","gitHead":"86890b1d0d00abb0523a1a86753449aa0b2f6cc2","_id":"qbp@2.0.1","_nodeVersion":"13.10.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-5Dmg178ylad0Jsk7RNexNgTfNU940zi1FKmO+8rA1J/JbnPIKjt23w07vdjjfuTRK3nOSWkKkwzqK/Xi12TcaQ==","shasum":"a7bf8ec4050c14c5aced1469882efa323fe50e98","tarball":"https://registry.npmjs.org/qbp/-/qbp-2.0.1.tgz","fileCount":4,"unpackedSize":25585,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJemozhCRA9TVsSAnZWagAA0CMP/A0weA2/NMzQMGyjHRVX\nFHT+PvfH5sIcP1vpcD9uiG7hbDhEtKnGEeGK/5qXZA6ORmrVQOJYadlKAqqy\njPdB1XTKSXSlprFGa80SJrq9hS6S77nYN3d5J2F/7RBw0NKgm5UhZWPsHpRW\nfiriELfiqqc12hCi7WMI+3GD8O+UnpcdDktx6MefK46RDQgjM/wm8EL/w5tj\nFfGxoL+ysU6xI4F7qQNKeEjlX6DvFhS/69+zBx8yT8z3NcLhdGM999xR5LBH\nsyhY4BN1fQhRU10QGWRB4nIwhM/3AOT7hdsOnKe0RJm2te2KYPQqPAd6cKz0\nlElt5+Bxn23gSFCinGSbSaufAy+woIy3gdS9e91fzbYonpsrPcpKM+Jogy1N\n/OR6o3tYkAzlw5GcOVmFYHZuinP938SHjUf9HqBTx74k6jGAw6kKJiufsQTG\n01zy9QhTPj0ld/HHwFIn34dvkpa66HDvqcsKiHuMOCNEKBOKPmNgx6shnOXl\nMe90rdfHzttS0zLaomFRGL4D6Hzsh0aOdR2Xp1l+OVi2STAfJ/R6UXHuftDx\njl4v8NGfIjJlawhIhcPKZXv1Hrm2+XJBjXbhD8GWn8Vvhjc0sLgVtShoMrOE\n2H3Ho2fdnfCP6Fc48ceEc1aiZH4aNt+n00h2tUJfnkCjHT37fcZRQ5VgP2Eh\nhPz7\r\n=VJPg\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCn6DzuL0wVcZRIuE7VBGjgKJ83YkZHQsePsG6HKCsAfgIhAPduauhgGT4qPyQpDfwxy1fGNtxnxOM+Gw7FMyJWpv/z"}]},"maintainers":[{"name":"joshrouwhorst","email":"jrouwhorst@springthrough.com"}],"_npmUser":{"name":"joshrouwhorst","email":"jrouwhorst0@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/qbp_2.0.1_1587186912924_0.2797854824115029"},"_hasShrinkwrap":false},"2.0.2":{"name":"qbp","version":"2.0.2","description":"Tool to queue, batch, and process asynchronously with controlled threads.","main":"qbp.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/joshrouwhorst/qbp.git"},"keywords":["queue","batch","process","async","concurrent","thread","threading","multithreading","multi-threading","throttle","throttling","batching"],"author":{"name":"Josh Rouwhorst","url":"http://joshrouwhorst.com"},"license":"MIT","bugs":{"url":"https://github.com/joshrouwhorst/qbp/issues"},"homepage":"https://github.com/joshrouwhorst/qbp#readme","gitHead":"c44e5291a38b7cae86d2a05fcdb4799b73126c04","_id":"qbp@2.0.2","_nodeVersion":"13.10.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-JJDlLDtu4m9eheffhaeJzFoInhgwEaOIG/8tcajTlb15pL3IxhH5Y1LiKZ+Qe8adkdXOBgRzJacfT8S1L80Kvw==","shasum":"230d4cd1b8ab5801b9b0f5308821f1e5fe13773c","tarball":"https://registry.npmjs.org/qbp/-/qbp-2.0.2.tgz","fileCount":4,"unpackedSize":30887,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJem1kFCRA9TVsSAnZWagAANp4P/0pdAjyvZhVA6cgrs6+A\nV+s7qMKqgwfgfl77BMC0LANcH0rLKkEVmjYg8mLY/xOCeD9CdfkvVEEetEeZ\nNsZZ/h8dMWf7+99Jx4CIqh9OgoKlhREKl2ijkdOhjLRAXSZzsNT9uodE2D+j\nRF1kZRZSkCgjwmL/PcSxSWF5q4i5l9i8aYI6DSnpt6icoM3R2tRNdTkrXi0y\njyxt/fBmtTbR47OWdIq9zID6wrwhC9kiEaViehHm0guwN3S6EyNibK9TMb4v\nlKBmmUjztmOWoFG7nv4pqDi8NAUf6M9FhGFd4HMqbOWnqQn/4dUUnzpyv9fp\nd4PnGGeEu9432f9VgJEuizKNy8ifdNYy/z+XT1MrIyEOthHlEFkrsMOpE8Ee\n/M6H4OqeWv1AdfHkIuchSjAFXb2YkPJU2ocMcTXwL3pVOmlOKt2J21ZRgvsa\n0EY/NLoIeJnkNIhnnLJXhxhGsCbB97GUv1HxWEXcr8JxuMc3bV6xXnhFLfXO\nYKeYPjJR6s5lWwQWApMBdy65r65lMCnTOuNj+IxUJyao1JGDcz+lh/gYTgRv\nZQoJKqOEeRffYkamnaj4ogAfqwh2gZ8D7VJz/U8gtjtAYq4XkLPOzOslRxUt\nQWa42G2hDmyBYOXgRQwmxf+LQradXTorhzWZhRMiy3odJ/x21PBf9BMslkZm\nK9YW\r\n=lTEa\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIH8VQmOlpUCTuGeJSp8znDdGfaGJgC8m20varH8vXiTfAiBV0/scSUtgqQU5OcrHrhovdl7gkcX9ojH9iP+Fnf3hiA=="}]},"maintainers":[{"name":"joshrouwhorst","email":"jrouwhorst@springthrough.com"}],"_npmUser":{"name":"joshrouwhorst","email":"jrouwhorst0@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/qbp_2.0.2_1587239173222_0.007645540127529493"},"_hasShrinkwrap":false},"2.0.3":{"name":"qbp","version":"2.0.3","description":"Tool to queue, batch, and process asynchronously with controlled threads.","main":"qbp.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/joshrouwhorst/qbp.git"},"keywords":["queue","batch","process","async","concurrent","thread","threading","multithreading","multi-threading","throttle","throttling","batching"],"author":{"name":"Josh Rouwhorst","url":"http://joshrouwhorst.com"},"license":"MIT","bugs":{"url":"https://github.com/joshrouwhorst/qbp/issues"},"homepage":"https://github.com/joshrouwhorst/qbp#readme","gitHead":"e8eb4b212683eedd70338507276fffaff3cb3137","_id":"qbp@2.0.3","_nodeVersion":"13.10.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-n726RYW0v/ofUU54uZJ1/obsqwk3lt9BZsPDIJ27/nkwUhL5H18D9040aliBR3PFMzs6cetyXdpoICNj+wgzew==","shasum":"2ae7966c17fe8687b9142eb7160330e80c5cc61e","tarball":"https://registry.npmjs.org/qbp/-/qbp-2.0.3.tgz","fileCount":4,"unpackedSize":30888,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJem1k3CRA9TVsSAnZWagAA4CQP/2FtRmw73nb7kkmKhyjI\nsSFNuASNMxLmhM5rB5sDEhM+Jfz7Dy8Y0xjauLCyc9bWxtwPoud8x7l0ETAB\nctE68UlgI8umhKqiyZnFbZj5aFwERQkvTmR/CfEtf5VO4m7oYinx1RTp/xAg\nLM71MlsVUfKXhuaYrAQawupA8awxnchbhi2c7P5Tpe3riyQWvVEqLxv80z63\nn89CMxiVeV3cwE7u/AE6zPEsbB7zoILmvVHZohqFaCffC/rt5zSHWKCgfG1j\nnsa7T2VF2TA7UTPAwWZ2fmtw13PgGAK/7pXDSCTUaOD2dHk8WKgh+vj2zPn9\n2O83hNY/y5ibk57OXggmxuUUxHlNZGQeS7jjEip6N3pfZbLKuR5Y47kGJO7C\nvsX7cGBh5KLo3bPABZP+v2/f0Xv2AZA7PzbJowCNbnYfF8whX6ig8reOU9qe\nTV884abKXKTTf/6BMCWwBfbb3WXDIBWP3GOa+OozL/cecQFZMmTLOUyhL5fa\n8q7/JMbtQ9dUNid0NnXCBx+gvofgmHGICyHdCukU1bJEmL2VFfXpI+LFVEsd\nmHnlv0tx538t80nf3sfx1ioA6Z07NxwgL7NoGGbqm2BSU/mVKPteFbbJcUM8\ny3FD+m70PM99svDVwKzNoSMNIMcMPp+dxckICwGOS8EZJFnWE1rnBS7OvCk+\nT8Xh\r\n=Qcca\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGduj4bXGxxPP/JYItNLR+6stCop6RtEX9QZ8rPuH0oOAiAOAq32tYnkh/OeuWrR0TvkXSBtn+ex4rjG5A97PUZy5g=="}]},"maintainers":[{"name":"joshrouwhorst","email":"jrouwhorst@springthrough.com"}],"_npmUser":{"name":"joshrouwhorst","email":"jrouwhorst0@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/qbp_2.0.3_1587239222715_0.751789417629199"},"_hasShrinkwrap":false},"2.0.4":{"name":"qbp","version":"2.0.4","description":"Tool to queue, batch, and process asynchronously with controlled threads.","main":"qbp.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/joshrouwhorst/qbp.git"},"keywords":["queue","batch","process","async","concurrent","thread","threading","multithreading","multi-threading","throttle","throttling","batching"],"author":{"name":"Josh Rouwhorst","url":"http://joshrouwhorst.com"},"license":"MIT","bugs":{"url":"https://github.com/joshrouwhorst/qbp/issues"},"homepage":"https://github.com/joshrouwhorst/qbp#readme","gitHead":"1deee81aaf3fda3544b6042ab8575edaedd6d95b","_id":"qbp@2.0.4","_nodeVersion":"13.10.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-TXyY5t8htmqG/2b9dV3PLejfeeGI5z4Ij3cjJJouFyJImnX012019GCO6NJIzJJAQeu15dwzSM2RLAp4jGnIMA==","shasum":"1fbff46597b2f8e9e8ae129132447239aa7ad79f","tarball":"https://registry.npmjs.org/qbp/-/qbp-2.0.4.tgz","fileCount":4,"unpackedSize":30943,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJem13qCRA9TVsSAnZWagAAjmgQAI+JdZsRYoQpcMEv+rxu\nDif9ExhDL96SOvDPz/0wLutCIvJ6gm6cW2bsw64uQkA3X2Hww8AMdwtYvR7Q\nHXLJEjX18wQqzgpvJaZ9B5y4PAJiHo4OcN8fFwZkZBLHKu/qmAhyoKGzOliX\nbcbCj4sYYKRARW1eA58tVGAvAHdbP6BCspRtAi0nzVfeA66DZiznOIrcPxwY\nFsEss3C7RhDmgh9PGgFDIxQ+ugi703t4w93SKUfpkclhlOIvzku+Irsb1A96\n4BTMGAWbLV5yv8R2xX6K/TE2wS8PQvc2nmQk6yeDVzVP4C/5jY2S+vzlVwms\ntkrY3JU63RAf6ed63qhO3tlGPJNXSxnHcO1XwU1DX7hDYAEkIibeSsxY/QWC\naftDDwxTtK1sonU7EKCiSuM16NXM9qfVmYYTcDAq1KMKSwUouiiDF0m21dnQ\ndV1+Bsx1Dbj4rIAM/EIHT6PezDi7heMOvyv2NSwS/SJ3qxfyAfBYRIgfxFZf\nxoer78uOjbx2bQIxOxtVYX3fyoTJNMJNFJQ67DWLpsqUE3G2vgG0TOvbFV3V\npyNSQF7HZiNaFwbJr17dwFmn0dygmvjMZ1Jjyd4N64z17yzGszZyqeRSWWfX\nKXAT+Ed4ijrRzPYRIMNgk2yLyXHgsPU/vib8I6zesUvrsgOht8abl1p4Jdyt\nZoHl\r\n=7SmB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIH1co42xaS8QzyZKIpjyLtF/qlKasqt/gO25QJHQCMjmAiANTo9SaYW/U8UU7HLauBKgyBkh0R0Yq3DBRIvDoRGXxg=="}]},"maintainers":[{"name":"joshrouwhorst","email":"jrouwhorst@springthrough.com"}],"_npmUser":{"name":"joshrouwhorst","email":"jrouwhorst0@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/qbp_2.0.4_1587240426391_0.5048718902193985"},"_hasShrinkwrap":false},"2.0.5":{"name":"qbp","version":"2.0.5","description":"Tool to queue, batch, and process asynchronously with controlled threads.","main":"qbp.js","scripts":{"test":"mocha"},"repository":{"type":"git","url":"git+https://github.com/joshrouwhorst/qbp.git"},"keywords":["queue","batch","process","async","concurrent","thread","threading","multithreading","multi-threading","throttle","throttling","batching"],"author":{"name":"Josh Rouwhorst","url":"http://joshrouwhorst.com"},"license":"MIT","bugs":{"url":"https://github.com/joshrouwhorst/qbp/issues"},"homepage":"https://github.com/joshrouwhorst/qbp#readme","devDependencies":{"mocha":"^7.1.1"},"gitHead":"c170063d5e88b24ceb1caba2ae7a9052bc2c8eed","_id":"qbp@2.0.5","_nodeVersion":"13.10.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-yZtfxxyBI8jOHcAtc9++euDeS/gqV2EnKq+6coAyQPs71ZAi9LLm3+vHeaBFfv0mS+A0OH5THhf9hwmUMIYdwg==","shasum":"a60d4b953ae87f527ce6fa613e0705a55d40f26a","tarball":"https://registry.npmjs.org/qbp/-/qbp-2.0.5.tgz","fileCount":6,"unpackedSize":54167,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJenPcrCRA9TVsSAnZWagAA8cAP/AoyfYTjLPxhnkipLfl1\nFeDhUziR+6Z7+8mo2Tb2ySbfZPFmN1gHH2DfjlMnXHAf5G29gIP9E0ki5El2\n54njJ8TDsmSc90SWdICYfXeglvFFu4TbGGvhvbhZNV84xpj5fFmJSwAg0iF9\nCiAz+5KvlIoYtjDBv3xl4VBbBcS04QBNjBTFoYXuCYiSYo/y4NU/Io63sDyQ\n3/Xo4wKkiLouTA0Xcnvcvz9RxcCZP+JptC39py9k+d4SU9uWv6poJ1EXxGqf\nmBKnScdvUeNgLKUuylTdvwxD+SEOlboWVpGhE80jE8qOwrGODWGXIVuXUFmN\nuS5XeqE5d018kGIaPIBtBRILyVytI+vaFrPp5yJ4+d/GWnsN4engmrvTnZjJ\nsFjHmQod0gimSmQeSpOP5IoJEAwGSxmOHXRxanuv4q5KUA9bYh4MkGt2EKxU\ntNu+ojQu3d2mLkmO9jjoVmCtz6hW+y30s9ahx33ZE1yI8N3xs4UMLii3bcy/\nMqC1JMR+GcXcempM6FoHwLDbY5bBwyOWGgbwk0ki8UWFxj6lGN5/WucXg3cX\nNIQp8EwYfVE/+INNNPQ9mPv+a9JJFkbj8EFTnuJDMe8pGh9ynpdOfYPsh8AB\ns0RFgpa2vCOZm7A5TyQk91lfImRUuz6cJRSC2zdzuI240CEcGqGXyDHpz9Z9\nnyS6\r\n=/4rm\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCbRDQNSzZEmYISCRYY0E40gB43xbiD0NKrJNrbZlq1XQIhAJ25r/wYJSLyj0F+2KhgzT7U26a0+jjF5kS34cYiuwvv"}]},"maintainers":[{"name":"joshrouwhorst","email":"jrouwhorst@springthrough.com"}],"_npmUser":{"name":"joshrouwhorst","email":"jrouwhorst0@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/qbp_2.0.5_1587345195228_0.6076273498914564"},"_hasShrinkwrap":false},"2.0.6":{"name":"qbp","version":"2.0.6","description":"Tool to queue, batch, and process asynchronously with controlled threads.","main":"qbp.js","scripts":{"test":"mocha"},"repository":{"type":"git","url":"git+https://github.com/joshrouwhorst/qbp.git"},"keywords":["queue","batch","process","async","concurrent","thread","threading","multithreading","multi-threading","throttle","throttling","batching","rate limiting","rate limit"],"author":{"name":"Josh Rouwhorst","url":"http://joshrouwhorst.com"},"license":"MIT","bugs":{"url":"https://github.com/joshrouwhorst/qbp/issues"},"homepage":"https://github.com/joshrouwhorst/qbp#readme","devDependencies":{"eslint":"^6.8.0","eslint-config-standard":"^14.1.1","eslint-plugin-import":"^2.20.2","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^4.2.1","eslint-plugin-standard":"^4.0.1","mocha":"^7.1.1"},"gitHead":"8712affcdb803d9feea3a0af3fc311213d385d95","_id":"qbp@2.0.6","_nodeVersion":"13.10.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-LYneveSBjKliuFlO5eeA5X4izx2X2paHHE1BfM2smuY66kQHC+ItTk4+wwN2Zi2lrAqDfQumxTXPpPYJb622dA==","shasum":"dbea26a8e0e546f9f096a88342ecce51c24c52c2","tarball":"https://registry.npmjs.org/qbp/-/qbp-2.0.6.tgz","fileCount":7,"unpackedSize":78446,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeoKTuCRA9TVsSAnZWagAAc58P/j6TBUJ/hirUg0LISscW\n8WlKREGJOMneaOvVviD6plcurMDZG/GH9r6WVjgSEsZ/pg3SIIVMQzlQ5iDV\nKB3tdRKcapMZHaU7nIe5EtA8qLgMh3Aa3YtAMt8/wvUnpzdd6CoIv5G1DKMg\nSJh2hudUUgrSm3C1VXdbkSbmPpoe3m0onYKE3C1BOiC3By+wE1wGJOeoTmdw\nFUDwZsLJHDD/BSWX/+Z0IfTwKP6CMgXKdC+Uen/9Yd6A/gsANOtDto4llp12\neFeDQXrYYiFShhbRjzrvR+28Z1moFTk/75MInYHwsxx6vyjD8KGfDiDxOItr\nbLWwQPHFf/EX3fZNyddqswAKeMUaFNLfarhTfoeUPS6+TxI5omBBODUg0Jmq\nSeiWil6CCxIieXQdlJm1QjNg58XY/TTc1JcZNfBx9CkUS6xq/CDyJxFwhehO\ndgIIIanwulJjGh+a9ALnc6IoaKKCEl1gdIz6nIbTfpry0qx5RtTHTMW0QK6a\nS039dE1zyH1JRykXuENmsUMZ/72l9NeBfaV1dyjDGUh7MyDB/ri9NIZBghDx\njzR5BpnpuTgpZ6wtF+xdM8R+s7OR/pnyeUecSZZZY4KJdzynB8Wnb9xmMtjz\nz9sujIHy/b79NizBYcfMGSdPorHY7DuwgJzbijGC7axZNlE47jv6Hfvh81QF\nj4d+\r\n=R00L\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD2noKvgJ1cTUaGcnSXfkwL+9q2ca3tReXZaiOHZyy0fQIhAKNnQPu0dQHJYe96tms5xYq9PBN4tHzvEXKke1T17T8e"}]},"maintainers":[{"name":"joshrouwhorst","email":"jrouwhorst@springthrough.com"}],"_npmUser":{"name":"joshrouwhorst","email":"jrouwhorst0@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/qbp_2.0.6_1587586286094_0.9381456674508262"},"_hasShrinkwrap":false},"2.0.7":{"name":"qbp","version":"2.0.7","description":"Tool to queue, batch, and process asynchronously with controlled threads.","main":"qbp.js","scripts":{"test":"mocha"},"repository":{"type":"git","url":"git+https://github.com/joshrouwhorst/qbp.git"},"keywords":["queue","batch","process","async","concurrent","thread","threading","multithreading","multi-threading","throttle","throttling","batching","rate limiting","rate limit"],"author":{"name":"Josh Rouwhorst","url":"http://joshrouwhorst.com"},"license":"MIT","bugs":{"url":"https://github.com/joshrouwhorst/qbp/issues"},"homepage":"https://github.com/joshrouwhorst/qbp#readme","devDependencies":{"eslint":"^6.8.0","eslint-config-standard":"^14.1.1","eslint-plugin-import":"^2.20.2","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^4.2.1","eslint-plugin-standard":"^4.0.1","mocha":"^7.1.1"},"gitHead":"bedc6b238bc629bdfeef5b96093dcde122a4de84","_id":"qbp@2.0.7","_nodeVersion":"13.10.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-tYbfiXnvo5zfXSpp4XC503Ds7BJAaEAb/6I0einj/VKTO8UwOQ8YCCfS7hIFcMUrMKpTU8hUXW4hueZJDrys3A==","shasum":"a579a14742dba6aa524882157dfc6b7da042b1a1","tarball":"https://registry.npmjs.org/qbp/-/qbp-2.0.7.tgz","fileCount":7,"unpackedSize":78540,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeoPQKCRA9TVsSAnZWagAAy3sP/jlK8eH5Hsp5eAw0XB59\neYFHrL/ah2/SQbMhCqvLvaaudDsltrEocOjfidL4SXOqO7CrBQUxMT5FdAV3\n9cMtj4qsbiefmMw4v9ZqewmY+yliB3ypFU0nhW05nUIBsO4s7afHXEKUqggo\ndJRRoIan5GTFmnbfMJ8NKY4qrNtKeyQkCuxQqjwyw2L6JE+MatpoeEdsxqLj\nW0+jb75Np8UmnJFpU3Oy+DgFdHBa53HUP5eDDZX9+545+nyxBxjXV0V+/xD3\naChC9KOXgp81Vy0wM6FNj78JNIBIHewm1KV+2dfKnA/mCKG6XBbPjvYKl+KF\naNRhh3itJyq8FgDytX1YUq/xN/XWb0tIFlq2cSOBxeabsBvwKqhkQLwLXl8T\nY/AKlj+swnUw2ZFc7YW7Luyeex94qbGcfrAhCjg/6z7RBGNfpDRjEbtToBQ7\npJtXuPmbip88gJ9tqYLCsLedclBkIcMFOzq+WsLwKfIX+obrq0lIo5qHBHZ4\ni29ocYoX1b6HWS2C40CEyQYhoWpH4JXj3QuYQAymI79uFG+FNP6XDrPx2PMT\nvY60fZRhqw+c5XoNhCSYUjBBAB2l5spMl7TWCRR4ePtr4r0FadM741haWqcH\n5oedebD16fXWH2+otyhcEKOQdEke0SezdePd7JMqtvX+fGXz9r8K/zzhfXFC\nHAqx\r\n=LFtj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDERPH8C3mpbu5ITqHyyMevUcZc7OGGIKqzGGjiYDdX+gIgXctb1mL+LLM3Gez63f4N/irzVJNfTPeArh9xSPKxe/c="}]},"maintainers":[{"name":"joshrouwhorst","email":"jrouwhorst@springthrough.com"}],"_npmUser":{"name":"joshrouwhorst","email":"jrouwhorst0@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/qbp_2.0.7_1587606537839_0.648216919818543"},"_hasShrinkwrap":false},"2.0.8":{"name":"qbp","version":"2.0.8","description":"Tool to queue, batch, and process asynchronously with controlled threads.","main":"qbp.js","scripts":{"test":"mocha"},"repository":{"type":"git","url":"git+https://github.com/joshrouwhorst/qbp.git"},"keywords":["queue","batch","process","async","concurrent","thread","threading","multithreading","multi-threading","throttle","throttling","batching","rate limiting","rate limit"],"author":{"name":"Josh Rouwhorst","url":"http://joshrouwhorst.com"},"license":"MIT","bugs":{"url":"https://github.com/joshrouwhorst/qbp/issues"},"homepage":"https://github.com/joshrouwhorst/qbp#readme","devDependencies":{"eslint":"^6.8.0","eslint-config-standard":"^14.1.1","eslint-plugin-import":"^2.20.2","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^4.2.1","eslint-plugin-standard":"^4.0.1","mocha":"^7.1.1"},"gitHead":"2ef091ddaea3b663d96e8ae614422da6744c5c36","_id":"qbp@2.0.8","_nodeVersion":"13.10.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-o4dqR22dgL1/0Mu6bcxsbcmza25yrZHAsjMIVTwLUFXbsWl1SY25/EFNSVLo8nws7YI1znQxqJH3cb8SjRcq2A==","shasum":"064c5f4781d921530233ae5037344dddebe76eab","tarball":"https://registry.npmjs.org/qbp/-/qbp-2.0.8.tgz","fileCount":7,"unpackedSize":78543,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeoQ7QCRA9TVsSAnZWagAADWcP/0lSRIAjEhqWsqiqtUAX\nlbmsb22ZYmUwMosdfYMiM94I2H/OP+XCrIAsZ6dFz8MVdofb24uGaSr6RXBr\nxwRGNacoiKprZgP2I+NhYkDs1COySU354MmcSKCjkjLRFJohTwjjbIzR++WU\n2rDoTo2CTCJ95GU7l+CLFsemRqGvcSGl+PBtFspv1Owd7w/Wy3Ak6WIIMUVh\nfI91BE7b3AMNXcYjO3W/14fbl1KzIcUvHqLkoOgpke2xHnj2FY0ytaESlWWu\nZyPVxWXJzLtED55Z1DpRPygL+rnObLuQYwDiekQRb2g5I90EEf+T4Oq8z+Xd\njupH/ase1BS4+v+8M/40piDnK39KRphz3PGsvBiobb7FjwarwQSGDi0OiKCn\ntn6+WYwKiwOM4zAK84LrI65+08nhe3HzAvi1TeVCISQJyM/4VXxZoSwiZYA9\n8V/Aq4066aJA3hhSXriquax+icI4XkTlGWFbVxvC9vP0bERxSeYDldPiN922\nhiDAco5gxdccaxJg7e37ygG2dSGyYCxlNXA/jRizAC+KrIsO/EwDfAg8DWDb\nJguKww4+sCzWrT0FMR5+Z0JXQm2ge44OfbzxvaeA2y5IW7H85KGtqNFkKwf3\nB81G7ECl389+GKRdzXRAhOaW9Fbeq45057kvNNlddOdPQKL6m+9Ab+WUwO6D\nwHY8\r\n=Kr/r\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGlAnsAUy0UUmv0thY/7FWa8NaXyoHdbWN9BAjQFgYdGAiEA1w/JwfUjVb/0Zp2nEecA2jU7vFunE9qdF3BMOLv+FS8="}]},"maintainers":[{"name":"joshrouwhorst","email":"jrouwhorst@springthrough.com"}],"_npmUser":{"name":"joshrouwhorst","email":"jrouwhorst0@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/qbp_2.0.8_1587613392105_0.6431972962329144"},"_hasShrinkwrap":false},"2.1.0":{"name":"qbp","version":"2.1.0","description":"Tool to queue, batch, and process asynchronously with controlled threads.","main":"qbp.js","scripts":{"lint":"eslint qbp.js --fix","test":"mocha"},"repository":{"type":"git","url":"git+https://github.com/joshrouwhorst/qbp.git"},"keywords":["queue","batch","process","async","concurrent","thread","threading","multithreading","multi-threading","throttle","throttling","batching","rate limiting","rate limit"],"author":{"name":"Josh Rouwhorst","url":"https://github.com/joshrouwhorst"},"license":"MIT","bugs":{"url":"https://github.com/joshrouwhorst/qbp/issues"},"homepage":"https://github.com/joshrouwhorst/qbp#readme","devDependencies":{"eslint":"^6.8.0","eslint-config-standard":"^14.1.1","eslint-plugin-import":"^2.20.2","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^4.2.1","eslint-plugin-standard":"^4.0.1","mocha":"^7.1.1"},"gitHead":"15ecdb1ee375331b1adeaada630c66b777b15968","_id":"qbp@2.1.0","_nodeVersion":"13.10.1","_npmVersion":"6.14.5","dist":{"integrity":"sha512-T7A/L+OIbVaxMJ55rlDNT+z3ltaUsdwHQkCKqYXj/uSbV4LCYV6fRNWtc+nFXJzTZfM5WEqUnImBvX2fX0iuBQ==","shasum":"da35ff7ea56061354f6915c693e6f48434efce36","tarball":"https://registry.npmjs.org/qbp/-/qbp-2.1.0.tgz","fileCount":8,"unpackedSize":78815,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJesyWMCRA9TVsSAnZWagAAmCsP/3by8QSiPNN6zge2nFQF\n4AuU8MgUWCX/DrhHdM9d9FxNY9aUrk+eE1hN/wsU2D+5USgZD/J6ewA5j+mp\nnFK0BqkJCLfJMugqsNT+Rps2d+braSSj8oX6itRzE7f1Q+HnN87djAqiJtBx\nC30sqg40M8P+EF9COdes9DSTGRsxfXAVxut4Nri6pyt5ZGHiXpHpnjxDKsW/\nMKEXyuWrCXfiHSBDwj0rTnGBKR1uSOJ+CD94qoJpZjzjmdSoe/9NnhxA/ZDd\nunZePqgHykriJb+wKaifr9/97heCWBSzkM9Lqqn7p0e6vs3goM/acVQ+uQN4\n2Fp+Nh/8L7btxpPtAuEepw1ccrCqYRxy0RmJFGKBOQ9uRCwiX3DsT8tnNoez\nVVyfBL2NSGgQGN49uUwfJ4mQRy3UV15YfoeppOWTROG6tCTwCDzRzXbIBQ7m\n06fm7Kbu7uBiZqgJeWirand0Hai+Fm/tQrDEHp6GeBar7FA3hAyJAcmCgWcf\nYPRsHo1XN+Bf98hO9BKbbqNA4zu5p9fhBxnEUfZr/ey/VQDsN0c1+fTJ6wlh\ny978ic+69hM/n8mT8mcrTZBtNPpN2dpnur3oRdaCy02XRneaUBQN9JGhF6iu\npBmqe/Z3lSa1A2nTAZ2T/dOJkfJ2b/rMmoGZ4eLgqfEM7TlGwHl7RHs7hkgC\nD/Wk\r\n=Ia9M\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC4uzPuG1E3Lsw/MpWFKwaPK6XF9sq/H6x83W16JzFzKAIgTDHz2NNtO1C4xMPz9eWlpRXtMN2OlodM9Ls37EMoO9w="}]},"maintainers":[{"name":"joshrouwhorst","email":"jrouwhorst@springthrough.com"}],"_npmUser":{"name":"joshrouwhorst","email":"jrouwhorst0@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/qbp_2.1.0_1588798859566_0.06985115457250202"},"_hasShrinkwrap":false},"2.1.1":{"name":"qbp","version":"2.1.1","description":"Tool to queue, batch, and process asynchronously with controlled threads.","main":"qbp.js","scripts":{"lint":"eslint qbp.js --fix","test":"mocha"},"repository":{"type":"git","url":"git+https://github.com/joshrouwhorst/qbp.git"},"keywords":["queue","batch","process","async","concurrent","thread","threading","multithreading","multi-threading","throttle","throttling","batching","rate limiting","rate limit"],"author":{"name":"Josh Rouwhorst","url":"https://github.com/joshrouwhorst"},"license":"MIT","bugs":{"url":"https://github.com/joshrouwhorst/qbp/issues"},"homepage":"https://github.com/joshrouwhorst/qbp#readme","devDependencies":{"eslint":"^6.8.0","eslint-config-standard":"^14.1.1","eslint-plugin-import":"^2.20.2","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^4.2.1","eslint-plugin-standard":"^4.0.1","mocha":"^7.1.1"},"gitHead":"6a4d5663d2c00ed52296de79ecf2d0f295c03b8f","_id":"qbp@2.1.1","_nodeVersion":"13.10.1","_npmVersion":"6.14.5","dist":{"integrity":"sha512-fk/bFwz5BiAYL31Re8/UGnp9+wBn3qeWYGWg+JDqfH9YZelxiDbfc8d1NHpTK18KeuTGa9sUCj+KelDhANekAg==","shasum":"dcb7a6b38ebbc155ddc3300276eff3360e01b7eb","tarball":"https://registry.npmjs.org/qbp/-/qbp-2.1.1.tgz","fileCount":8,"unpackedSize":78732,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJesyzmCRA9TVsSAnZWagAA12cP/0/piY6t+B9AlVbmnZep\nQ5wfxBKepQ8dqB/cE/OAt69zLmi1vhmhCNu0Siy/zhjtreBBVYi6iCTYXqoQ\nklBAnwYm531SuuazZNF62GeQq3/S9L6H/ekrAoMOn8j2uohFZoZ0hqmWOQj2\nm194qihqOEeHtGVEn3AY0FTr7lmq9BMNcCTlk/sIzW47px/zgCQa4ljFRkNE\n5gnJABr1k7Xyhvfk3cchQ79w/gXK3acf5+DKnjggN7r/Mert7VLfaxy82y4a\nrhgx/po5rCNm3rL3kXeuW/C8W0T6mCwG2HVtaLTqlFTlxiWZZgu9sR4z8Zew\nQt6SoUB3fLJtA5m2mJp3mNENTMOUJSaVMoCq4IF6uLHV/QXAKhklA32DSs26\nr3HJKpUO7BlmHZwTKcnO/1GREbZ5cMcDOxpNCyZfkGLdzcNKHNbDdF+KxwhF\nQzt624/TeTRdkgNrsOOCMMJ+t7lM8ff9gGEruagKpQOZte/B4FIp/7FU7Xr6\na7rcKcfMnidj+ETvRGDjlM9mRi00oomXIQ3HaFuZGxXZbniYj0oVjaOhjTKW\nUm/PhSYlphFZk1hhoZQ/XW6WN+4RwY1toM++rhhRX0ftWTOVTgwxWyS5BqPa\nrit5tYr8W+VdpW6ceHxE1PK2wW3NGhwO2krWVPQy04ItQ8SbTuv/+BdYtFv1\nX3ov\r\n=WA1q\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDiS2HrNVeu3mXEo157FJFF4dHDLRRr+g/2ElgKYgx+HQIhAIbHKffqJh5zQNE9VL8GtuACsyuYU12CUdsuj5dkp4jn"}]},"maintainers":[{"name":"joshrouwhorst","email":"jrouwhorst@springthrough.com"}],"_npmUser":{"name":"joshrouwhorst","email":"jrouwhorst0@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/qbp_2.1.1_1588800741545_0.8003608538449127"},"_hasShrinkwrap":false},"2.1.2":{"name":"qbp","version":"2.1.2","description":"Tool to queue, batch, and process asynchronously with controlled threads.","main":"qbp.js","scripts":{"lint":"eslint qbp.js --fix","test":"mocha"},"repository":{"type":"git","url":"git+https://github.com/joshrouwhorst/qbp.git"},"keywords":["queue","batch","process","async","concurrent","thread","threading","multithreading","multi-threading","throttle","throttling","batching","rate limiting","rate limit"],"author":{"name":"Josh Rouwhorst","url":"https://github.com/joshrouwhorst"},"license":"MIT","bugs":{"url":"https://github.com/joshrouwhorst/qbp/issues"},"homepage":"https://github.com/joshrouwhorst/qbp#readme","devDependencies":{"eslint":"^6.8.0","eslint-config-standard":"^14.1.1","eslint-plugin-import":"^2.20.2","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^4.2.1","eslint-plugin-standard":"^4.0.1","mocha":"^7.1.1"},"gitHead":"d14e9557f8bb3c2768991f434fb7ccc46654f9b2","_id":"qbp@2.1.2","_nodeVersion":"13.10.1","_npmVersion":"6.14.5","dist":{"integrity":"sha512-07wlGjziF4Cdrkl6xTpdVUjmStCRYY6VIfeeaPH3FST2GDykBAdxvmk2PDUWMLWcmaWEsCRsZJFgxfxijcb53Q==","shasum":"0f93cfa6f4826de0eae7e52022e6a866b6ab3b1c","tarball":"https://registry.npmjs.org/qbp/-/qbp-2.1.2.tgz","fileCount":8,"unpackedSize":78852,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJes4SRCRA9TVsSAnZWagAAsm4P/ioS4E3gTMIAxf7aEjPz\nRsN+gymmNPe2kSYaiGm1kwswuFCH/VXC7ZBJTU0MxnEYLMKaRjU16CyiYzGW\n2YK6TS59rKiVcn1IpVXUxnuXprCpah4nnuqhu6+/tHERhkDgeNdj43tNJLGE\nWCwM3hYlE1zUETL7SGgl2f76RCCp1CTL09wrfsz0kcj3z7OQuBE7p3f06lda\nkv6P2JBKGNzBpRBM9UXO4rFzOApDfQFEKwUmISeZDWxE6pBa2m6yiX0Laain\n3pA2wwz5TjB3AdnUQH6ud9dX6S5K2XO6FC/dbYbONTu4/JM7ei8fSv69pzOR\nUuR3IKxN7kGrPLv0eSTTIXPnp/QvJPDjIJLtHj5L65dyH+tzvjagP39dhoYC\nD4q8D0+lYen1aTBLo+y1fAh3dO/BLL2voUitRNxUb/9fcw7MvnY0C1fmSj35\n/iFG+NmMBuRB6hhQx2ScrIJPfz+T0cKZr486Xopx58xlmEGW2IMXqb9UEbNj\nxkE2T7uGA+iOeBWVbxhrzSYQY8ERZMDMoTtHQlLBFq/aYozAn6fNZEqERmlS\nelR7ZvuG0kRxVhR0FfDeJZkn5NnNnzcqPb2Y/R4MiwFR1K+QVU+um5KdQnEI\nVsZbDAl0XFtMrUj/UBXHFhDO/ewSUjV7p0qkkAWpsMgXfpwIfDkc5J8Cumxg\n/ude\r\n=nvKk\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDLV2KmajlBdeRUQYyMTLeT6R59o9Rrl/eKnppclx8k3AiB/9+1WyAktnrBnhjRBL9QqzEDyG7CdGxCRYmk2/SLlvA=="}]},"maintainers":[{"name":"joshrouwhorst","email":"jrouwhorst@springthrough.com"}],"_npmUser":{"name":"joshrouwhorst","email":"jrouwhorst0@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/qbp_2.1.2_1588823184511_0.912715519387232"},"_hasShrinkwrap":false},"3.0.0":{"name":"qbp","version":"3.0.0","description":"Tool to queue, batch, and process asynchronously with controlled threads.","main":"qbp.js","scripts":{"lint":"eslint qbp.js --fix","test":"npm run lint && mocha --exit"},"repository":{"type":"git","url":"git+https://github.com/joshrouwhorst/qbp.git"},"keywords":["queue","batch","process","async","concurrent","thread","threading","multithreading","multi-threading","throttle","throttling","batching","rate limiting","rate limit"],"author":{"name":"Josh Rouwhorst","url":"https://github.com/joshrouwhorst"},"license":"MIT","bugs":{"url":"https://github.com/joshrouwhorst/qbp/issues"},"homepage":"https://github.com/joshrouwhorst/qbp#readme","devDependencies":{"eslint":"^7.1.0","eslint-config-standard":"^14.1.1","eslint-plugin-import":"^2.20.2","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^4.2.1","eslint-plugin-standard":"^4.0.1","mocha":"^7.1.1"},"gitHead":"0a85162e16843e60005abd0eca3accc251984ffb","_id":"qbp@3.0.0","_nodeVersion":"13.10.1","_npmVersion":"6.14.5","dist":{"integrity":"sha512-usmEEpZ7yb+a3XgmWEjWtPAekVgApdKBo2dOOSdvA5530MF/e+Dr+8rbLXn3AZrOa06fXeQty18nIlVI8dx5RA==","shasum":"dedd8736073d9dd2d78142cfdd4d0dedaac87650","tarball":"https://registry.npmjs.org/qbp/-/qbp-3.0.0.tgz","fileCount":9,"unpackedSize":67434,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJezWALCRA9TVsSAnZWagAAPJQP/Ai3fwmFeCTworMcy1sL\nA8Bfx+uCvFgKGm17wx8LiHX5cwW3Wo9QDtH4AhX/1wuIYA9+u+pEHq7zNnWS\ncTkNcLH0PAQlgZRgXrTIOfT0HaHoIv5lPWyn9HhipPYUUc3d+69EPojU3G0I\nuYX3hG8eunPgYikRg419EAkmHcH1eKOPZ0JP+2Xu86RPKOqcBtU/n3aUAtyS\nVOs07sbHBYABTf7j6P8bSWS4beW3gmCXWNOYU16G8eGbfM2oCyrpTU3XdpKY\nkEfYYhg8R0BPibhnb1H1ihz006s1ZoKH15qgbg7Rjm7RyzdVq1u5xtv11xWS\nbgPkl6hWq6eqlQanVZ4UlLUoWzGOLquEt3mE3zsGh28VK/nEBZB4I/TB64jy\n+lvNtHHcq25vazQmIDjjUggmVKmdypuHeAKbKLYJwRzcksO/LKPlYuWxNEqy\nJRZXZ+8TgBHp1kYh06zm7qxe2IkmqfrpsTCeOh/krY0SV0/XHO9mExlrJ/i2\nr7jndqdRjHRB+ibnsSFxeJCvei8nzgcmUm5fwHZrKz7kYEYYnYp9wfz8bB2S\ncizf7ileM1RfKyiPcgqX1hGSOysLGHworVTWIteqT06kd8/gyn44dF/BKY5M\nO/7BAN9cCet12LL4kR0etq4equ598xQDKRjvb/L1XwepwaDB96px87v44/+v\ng/pv\r\n=UQ+d\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE1nuoX7oTrdvA7Ia1MOT2QTkzUX9cilxYSDIVGLlWybAiAQSrAYOGUnhdl8r6x/QKgOBedHNHsx7I51EhPyb4AFOA=="}]},"maintainers":[{"name":"joshrouwhorst","email":"jrouwhorst@springthrough.com"}],"_npmUser":{"name":"joshrouwhorst","email":"public.email.3131@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/qbp_3.0.0_1590517770932_0.9997224242175848"},"_hasShrinkwrap":false},"3.0.1":{"name":"qbp","version":"3.0.1","description":"Tool to queue, batch, and process asynchronously with controlled threads.","main":"qbp.js","scripts":{"lint":"eslint qbp.js --fix","test":"npm run lint && mocha --exit"},"repository":{"type":"git","url":"git+https://github.com/joshrouwhorst/qbp.git"},"keywords":["queue","batch","process","async","concurrent","thread","threading","multithreading","multi-threading","throttle","throttling","batching","rate limiting","rate limit"],"author":{"name":"Josh Rouwhorst","url":"https://github.com/joshrouwhorst"},"license":"MIT","bugs":{"url":"https://github.com/joshrouwhorst/qbp/issues"},"homepage":"https://github.com/joshrouwhorst/qbp#readme","devDependencies":{"eslint":"^7.1.0","eslint-config-standard":"^14.1.1","eslint-plugin-import":"^2.20.2","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^4.2.1","eslint-plugin-standard":"^4.0.1","mocha":"^7.1.1"},"gitHead":"3da9aac65df49f1ec8f788256bcc10f14633e50a","_id":"qbp@3.0.1","_nodeVersion":"14.15.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-HDuSegb+3YL5Cfd7X5MGbIUxa2TZEgG36AZHkPc6q090JQTxEQPBWvRw2pUUhX4aKkr3rvesUD/hx8GpnMt3oQ==","shasum":"5453ed7b2eef9720b049e00402514d4628779ccc","tarball":"https://registry.npmjs.org/qbp/-/qbp-3.0.1.tgz","fileCount":9,"unpackedSize":68342,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf4QzLCRA9TVsSAnZWagAAzSEP/RBvvYhmIdYZGPT7HpHU\ndGZtvDklKIjtRf4Agzg4ueZdSJh14SfEJnY+jDHrjEjv/waSl1+1VGwlXY0M\n3/vAUccJlhLip5dVH/pMMlA1RxLI72wVZ0k8bDZvmKI94ViWnMetkK3VzK1d\n1ohYAaTH0tMuOrO1X8pP5X3t0icAI9AkFBrv8uqbKJ2n3wYj7yo+S3FxDp+k\nBsPP6SlSbAXGL3FaX0Qnxrk/pUYxYBoVBwerDA0GNrQWtnWAzFxtLkN8J8Gn\nVW8aW2uy6Gu//tvfiHOYp8SjZD4Wc5+4IcMXapQT5e07HfyRhDo9NAf8gRyV\nQNDNrHecTUO8fm2uYOuGKDuMC0ldmo/pirHpHMQnNewZlWrQhkk0knEzbbKQ\nw5XoWzeoVzv+8VzAlbrqLfwOAT1favWD25uF8K2x4FV8kXq1vJhtlhE+9zUf\nntr4ibQTQwPNkFsM30KvpXeYoXtze8pSb9quXPV85j0rJpsojAdMAn59aLtW\n0QZI0ppsS9gDNvl+NtXNe/iKT/LLss2NJBOneyffoTwgUtcbZzucg9PTyL04\nKJcLAcxwtDfeHmMflKgeB8fy40EwvghwTeMrp7CwjfdIM6QiOxL8HdQbvARt\ngLVbA1Lp5PMCg61CZqgg9wfHfNQLx1QTmU3qE/67q2NcdYjNfMFYWbi+jLVC\nLrV+\r\n=vwEl\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCA+QlXEtr73iSBfag51ECq4laH+VCu6wTNdpnNSl+O6gIhAIdTcUvmfdi0veeuDNEMfP/EXBO8Dqb26lFoAWU+jCnh"}]},"_npmUser":{"name":"joshrouwhorst","email":"public.email.3131@gmail.com"},"directories":{},"maintainers":[{"name":"joshrouwhorst","email":"public.email.3131@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/qbp_3.0.1_1608584395170_0.9258615995195658"},"_hasShrinkwrap":false},"3.0.2":{"name":"qbp","version":"3.0.2","description":"Tool to queue, batch, and process asynchronously with controlled threads.","main":"qbp.js","scripts":{"lint":"eslint qbp.js --fix","test":"npm run lint && mocha --exit"},"repository":{"type":"git","url":"git+https://github.com/joshrouwhorst/qbp.git"},"keywords":["queue","batch","process","async","concurrent","thread","threading","multithreading","multi-threading","throttle","throttling","batching","rate limiting","rate limit"],"author":{"name":"Josh Rouwhorst","url":"https://github.com/joshrouwhorst"},"license":"MIT","bugs":{"url":"https://github.com/joshrouwhorst/qbp/issues"},"homepage":"https://github.com/joshrouwhorst/qbp#readme","devDependencies":{"eslint":"^7.1.0","eslint-config-standard":"^14.1.1","eslint-plugin-import":"^2.20.2","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^4.2.1","eslint-plugin-standard":"^4.0.1","mocha":"^7.1.1"},"gitHead":"e80365bf4c47fbc7662606e5562452edd6eb855a","_id":"qbp@3.0.2","_nodeVersion":"14.15.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-tYsZwH7WTqD2UlFbQKOzV5cKnbgDQIifUvWAixNrqpnWFmvvQZKMqsjykgahwzR/v34QRwbntSTQOtbQGym5YQ==","shasum":"b48b73292230d4d9c7da83189fb1dd53049ffbb7","tarball":"https://registry.npmjs.org/qbp/-/qbp-3.0.2.tgz","fileCount":9,"unpackedSize":67523,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf4R6BCRA9TVsSAnZWagAA2SwP/0/8reDKdQRfZAQ9xFai\nUnCok2aHVwC10twEZtkmX0VMgERB5P6QuWYlnX9eCya2u6F3aB4KtjiBuD92\nPVTMZg/HlmDpOU8Hc7EhTF1J0A9ILxRFRqarkj1B0FJ9xYWwlfGSLtefZrQT\nlYB5KizhyY4eJkvy77cXjponkfi7L81Wtioe9MQ3jJrgDCIZ1+oBA0cWGN6R\nHK3ETnNabK5KA+08iFUBv62BmkPs4fHKpNo4xzauHZNpDQyEND+YknnNwWeM\nLynFSFer2tut+AokORzPp1wO0XyJwPCeC1g+Y2+ULOs2RLOIlAyuEggKMUkB\nKlQKSJ6a/NMMIDTjw3i38IWJWa27/C37ACnMAkRkEZNpe1Yv3Gacn4e7hrqw\nha2Dj94pJSj9RTt5DLIBP4cLqeJOdlhPBoPG/fa1TqmWMaHMpGawW4/Cbvy2\nTc37F3LYt8ax1BxKHNhPc3Zn+BzVXAFKmC/4Etknu1zQhqyK12N7ILSpjSdG\nHtSYpXqQ8DwZhtofpoz+qiaHroSwWZh/pIPuSBReCoQLJDdr/vJJ7GS+Abqc\nnQv+5ZdeIGU0EHZ1PdwzEfWtWWAWlNSd/tORAPs75JtTdAwIJdpTu1/4OPTI\ncpsaaTjicW/ws7uWigrKTYHZTtygzrWhIyeAfoP65rcuBkH1tM8cxGDMA82q\nCvgO\r\n=E7zV\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCPXFLOPW6VfzE9IQs8Xw343B9pybXjIz5Z96TAu4MUigIgUPBQY+rizqkaZ52xCxmJSLkKIYqE/W8GdLjdgJHec/k="}]},"_npmUser":{"name":"joshrouwhorst","email":"public.email.3131@gmail.com"},"directories":{},"maintainers":[{"name":"joshrouwhorst","email":"public.email.3131@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/qbp_3.0.2_1608588928568_0.7204629104616702"},"_hasShrinkwrap":false},"3.1.0":{"name":"qbp","version":"3.1.0","description":"Tool to queue, batch, and process asynchronously with controlled threads.","main":"qbp.js","scripts":{"lint":"eslint qbp.js --fix","test":"npm run lint && mocha --exit"},"repository":{"type":"git","url":"git+https://github.com/joshrouwhorst/qbp.git"},"keywords":["queue","batch","process","async","concurrent","thread","threading","multithreading","multi-threading","throttle","throttling","batching","rate limiting","rate limit"],"author":{"name":"Josh Rouwhorst","url":"https://github.com/joshrouwhorst"},"license":"MIT","bugs":{"url":"https://github.com/joshrouwhorst/qbp/issues"},"homepage":"https://github.com/joshrouwhorst/qbp#readme","devDependencies":{"eslint":"^7.1.0","eslint-config-standard":"^14.1.1","eslint-plugin-import":"^2.20.2","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^4.2.1","eslint-plugin-standard":"^4.0.1","mocha":"^7.1.1"},"gitHead":"0faef2ddba1d76b8a38de8990f679101cfb532c9","_id":"qbp@3.1.0","_nodeVersion":"14.15.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-ZZSQEtiFxSUfp8QY7WfYaiBNXGtCizp13+krxhwUt3pjbOjqAoz26K7uVVlCGeno/hTD7uEdeNKN7u7MA8yHCA==","shasum":"5361ea910f239cd98663c147dea32a7f84d185dd","tarball":"https://registry.npmjs.org/qbp/-/qbp-3.1.0.tgz","fileCount":9,"unpackedSize":67555,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf4kqOCRA9TVsSAnZWagAAPoYP/jwX+USbCG9adoC5JYgV\nV8qfE0Ocmgta7UZzhHL/D8YDGOIkBAUEPG3uSFNkf/TTNZpeT8UlRGpEw2Q7\n+fkcJZo2HfLg11mutNdaeD4m4HYoyNahZyeuxAFjlmLuLuxtPdu2W82WtmKZ\nO/W/x+5xzj31Cq+w/UoZMYE4m1BB3ZZP0eQ8S86OiiOemoALVZ9DoKhDDwdy\ntvZi85czjm89L1jkoEX8TpJ+KDAst3kokWNkYi8WmUsJZGKFVKi6DylufBlp\n6o0v7YmiuJ/qd5OQEAi8ZIQkmFSsFYQcAMkF1Z/PZgT05lXgyxtjzNvADUt1\nCzkOjHBQi4UEA9lLzJSsX/yl01M5twl/Kml8SJPfkthtbGCMQkIfOEmhucDK\nXLnlELij/UquENkDq6B9zYWU1DCDavULzs9oaa3VabfFrIcZRFd05AqucuaE\n+yQvd6ItfJrw7TzmMrO/vvDMt8+uqUwfohk1qlth6jhTyULAzH2ExGjnTRiy\n+2aUGhSdRZUoHv27t0ZzdBdB9Hwn8AooYTZFw0HUWP/jnkiobm/UoinEIfhs\nJYMbe8z6dYezPSh9D9wkoASu6w7n1RtoGtrwkyhPEPd+E3BJYR7j86ErjS5u\n03pV+b9rC95qXbHLyrxzFjw+TYfWEF9xwMhR6hQNvTMreGj7nVmWZxsc4lLS\nkL1d\r\n=BaNc\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHJtSukq9IunYjZm9m2+RkWByi7vn/v+9+Edo7c8sZIvAiByJHLNn0snmlQx41RfeZYmgEJ/c1o9lNE6+QoeIAEYaA=="}]},"_npmUser":{"name":"joshrouwhorst","email":"public.email.3131@gmail.com"},"directories":{},"maintainers":[{"name":"joshrouwhorst","email":"public.email.3131@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/qbp_3.1.0_1608665741689_0.8066810153408672"},"_hasShrinkwrap":false},"3.1.1":{"name":"qbp","version":"3.1.1","description":"Tool to queue, batch, and process asynchronously with controlled threads.","main":"qbp.js","scripts":{"lint":"eslint qbp.js --fix","test":"npm run lint && mocha --exit"},"repository":{"type":"git","url":"git+https://github.com/joshrouwhorst/qbp.git"},"keywords":["queue","batch","process","async","concurrent","thread","threading","multithreading","multi-threading","throttle","throttling","batching","rate limiting","rate limit"],"author":{"name":"Josh Rouwhorst","url":"https://github.com/joshrouwhorst"},"license":"MIT","bugs":{"url":"https://github.com/joshrouwhorst/qbp/issues"},"homepage":"https://github.com/joshrouwhorst/qbp#readme","devDependencies":{"eslint":"^7.1.0","eslint-config-standard":"^14.1.1","eslint-plugin-import":"^2.20.2","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^4.2.1","eslint-plugin-standard":"^4.0.1","mocha":"^7.1.1"},"gitHead":"45206ece3dddd0d5e6c5cabd4d882f0b50471c04","_id":"qbp@3.1.1","_nodeVersion":"14.15.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-QjWkFcvClavg6QuU/XDWUIM9OLIOvHauMNx0VFobIORpWLsOM6WpoOJSFljy+P52HUDiY7HJUktg75YCesl8hA==","shasum":"df6f0504951a81557c5b30dcbef5227541e36f0e","tarball":"https://registry.npmjs.org/qbp/-/qbp-3.1.1.tgz","fileCount":9,"unpackedSize":68860,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf5VfjCRA9TVsSAnZWagAAnxwP/12cF7vkLKt/+IZen00J\nj/ZhCYOsenCoiqHJiMB7WHM1hM8G3kDTsTYp277TxWO3HZA/9qGmhPugMwgs\n0lE4mv1QFfz0XdeLLOpwG4WvyeUGFyaFkLEnqfNqNKTVaXavxoqMMc9ekx+g\nTxXjbJhRQ9msyfXWxzZ9+BPCtZIz0Ytb7S9/NpISiBqzUJ9w5MBvFb100GHz\ngSEj9T5Gjj/X2yvcEuN+s0hSzLJxBZ6Zz6cWW4OjjsVMaFWMpG8WjJUYI+QK\njEt7ESY/I6By5eQNFQHAITglIAxlRicJ9BuIBILXqTN0XkiM86olZpnmX5K+\n0KQ8dO1yKo4vZdoQnsCQzGw0PhZufd2rshxSla+JUTJw0mc8YExcdBtEgwVt\n+0+amIKJZyA3UnpZs6HAbrmlJIhcowSI79lXrX7XZaT7/6J43WQGN6MNNhp1\nPgZvdaj//DprfNNvVkOqc6wpjBANnEjY88Xyf0V8OA2mcaSJsOJoqHu/Gm68\nZs8SvZiR/0XrZZQpFrWWHTNSEneWaWjYCqoNBuUIOJtpPgHQ+fZe++yL/8HP\nCIgs8gP2u4oP0woHvxg0HmVkw2pfqjJAJ+xp0065bMBMKb13DOzvpXgVBABm\n57Uvqchmr5zbnN2qsfnVUJvAjAQj4Ve+bhgTfEgm0/AjH3IcJlXJHPzkJk5E\nl8lw\r\n=ufLN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIF113TtCVgujw7Xx89XA6JAempNwtbdzlr0E3n56NLqAAiBY61FihAAH+59c5ys0unfCqTxBcdf+o6zlSPMbe2snDg=="}]},"_npmUser":{"name":"joshrouwhorst","email":"public.email.3131@gmail.com"},"directories":{},"maintainers":[{"name":"joshrouwhorst","email":"public.email.3131@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/qbp_3.1.1_1608865763131_0.8652398380039399"},"_hasShrinkwrap":false},"3.1.2":{"name":"qbp","version":"3.1.2","description":"Tool to queue, batch, and process asynchronously with controlled threads.","main":"qbp.js","scripts":{"lint":"eslint qbp.js --fix","test":"npm run lint && mocha --exit"},"repository":{"type":"git","url":"git+https://github.com/joshrouwhorst/qbp.git"},"keywords":["queue","batch","process","async","concurrent","thread","threading","multithreading","multi-threading","throttle","throttling","batching","rate limiting","rate limit"],"author":{"name":"Josh Rouwhorst","url":"https://github.com/joshrouwhorst"},"license":"MIT","bugs":{"url":"https://github.com/joshrouwhorst/qbp/issues"},"homepage":"https://github.com/joshrouwhorst/qbp#readme","devDependencies":{"eslint":"^7.1.0","eslint-config-standard":"^14.1.1","eslint-plugin-import":"^2.20.2","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^4.2.1","eslint-plugin-standard":"^4.0.1","mocha":"^7.1.1"},"gitHead":"99eecd739aa1e46f13e3e6e543a4a18f54baca84","_id":"qbp@3.1.2","_nodeVersion":"14.16.1","_npmVersion":"8.3.0","dist":{"integrity":"sha512-r/qXC88f4d0bCMwvNmWsB7nkagHr3dQRAWS7Jo2ytxDjeCdFtqumZo4tGofCBoCGvZLyaCSsqQVrlNB8JOV6gA==","shasum":"0f38f2685e7067775d7ad76e71d59102d01baaba","tarball":"https://registry.npmjs.org/qbp/-/qbp-3.1.2.tgz","fileCount":9,"unpackedSize":68859,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh6IVzCRA9TVsSAnZWagAA7z8QAI0jwyXMQUHOoPqp0DKC\ndFDYtzirCP/3WOJ0pl2abFE2ecNP1mbkSkFp9baxKUMb2d+F3gaL2WMrfec1\nWna6RojCN30rWvl7NCiIB6BuLyj5B82Z1epPBK3vc6aPbGpRZSyuugTWaRXG\nhMZdJ4OUiQJoW59/vTGzjEk49KAHC3RwXkrI+C+mOQ2Ml8jBuPQFoQq4g04l\nB/LBvtcAXDa2vMRhWHveK1t5opK0Xjdc+pM+TfnOcsXQx9HOATDOEHvCknn1\njYIEdWar74f+l9i0iyoYaDHy8ffdbpFn6SW68SDbL/DNT4SvCndOkqNvP0kK\nLSC5wfpNS/p2k4sNeUmZHot7C2B2SLlu/nLEIEoz1r+tDMovGqvavs3d1jmO\nMAFu+Gnq5fA09DN7jGRGMCjZ4rRdq+iny06hrfRktFtOsENRQMO/Hjdq4Ur3\nMK5wZsHJmMyVRHsEeT9j/Jg/u/2PIea79I9VSzU4/irnh6jwBDA9zYldfP8c\nhr4TNBP6OYkqVtxRzCe0P0ZLCx6TRbRK0OG9je753jNKzVjE1bAVL54rr21B\ny0u/F7g00cKD8ODtyBKHIUU5Hpxe9vnOTF3OFvwis6DJRaOzAnJmb1NCWklp\na3rSXTaIX2FlqTQXv0EiU7E51s0GYYfntFX4aMyVJh8MCjbPNqHnAdhvILEF\n2EgQ\r\n=jDCS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDGI22GeXtJm5sszzkMsq40mTUqfGOtIBhRwuAedZfMvgIhANMQbUUZt/QPsLowbJHfLbbtoN7HvQvvlk9FnWBKBABl"}]},"_npmUser":{"name":"joshrouwhorst","email":"public.email.3131@gmail.com"},"directories":{},"maintainers":[{"name":"joshrouwhorst","email":"public.email.3131@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/qbp_3.1.2_1642628467311_0.645113280547708"},"_hasShrinkwrap":false}},"readme":"# qbp - queue, batch, process\n\n[![npm version](https://badge.fury.io/js/qbp.svg)](https://badge.fury.io/js/qbp)\n[![MIT license](https://img.shields.io/badge/license-MIT-brightgreen.svg)](http://opensource.org/licenses/MIT)\n[![Build Status](https://travis-ci.com/joshrouwhorst/qbp.svg?branch=master)](https://travis-ci.com/joshrouwhorst/qbp)\n[![Downloads](https://img.shields.io/npm/dt/qbp?color=blue)](https://www.npmjs.com/package/qbp)\n\nqbp offers a lot of options and featues around asychronous processing.\n\nReach out on [Twitter](https://twitter.com/joshrouwhorst) or [GitHub](https://github.com/joshrouwhorst). Let me know if you like it or have questions.\n\n## Contents\n\n- [qbp - queue, batch, process](#qbp---queue-batch-process)\n  - [Contents](#contents)\n  - [Usage](#usage)\n    - [Basic Usage Example](#basic-usage-example)\n    - [Return Object](#return-object)\n  - [Queue Object](#queue-object)\n    - [queue.name](#queuename)\n    - [queue.empty()](#queueempty)\n    - [queue.pause()](#queuepause)\n    - [queue.resume()](#queueresume)\n    - [queue.add(item)](#queueadditem)\n    - [queue.each([function])](#queueeachfunction)\n    - [queue.threads([int])](#queuethreadsint)\n    - [queue.rateLimit([rateLimit, rateLimitSeconds, [rateFidelity]])](#queueratelimitratelimit-ratelimitseconds-ratefidelity)\n    - [queue.stopRateLimit()](#queuestopratelimit)\n    - [queue.counts](#queuecounts)\n  - [Progress Updates](#progress-updates)\n    - [Progress Updates Example](#progress-updates-example)\n  - [Throttling](#throttling)\n  - [Rate Limiting](#rate-limiting)\n  - [Batching](#batching)\n  - [Item Statuses](#item-statuses)\n    - [Statuses Example](#statuses-example)\n  - [Mixing](#mixing)\n    - [Mix Example](#mix-example)\n  - [Error Handling](#error-handling)\n  - [Empty Function](#empty-function)\n  - [Testing](#testing)\n\n## Usage\n\n``` js\nawait qbp(items, (item) => each(item));\n```\n\nThis is the core of qbp's functionality. It will loop through `items` and will concurrently pass every item to your `each` function and await its completion.\n\n### Basic Usage Example\n\n<div>\n    <a href=\"https://joshrouwhorst.github.io/qbp/examples/basic-usage.html\">\n        <img src=\"https://media.giphy.com/media/GB4mgLDKKCiqMkXW85/giphy.gif\" width=\"100%\" />\n    </a>\n</div>\n\n<a href=\"https://joshrouwhorst.github.io/qbp/examples/basic-usage.html\">\nClick here for a live example.\n</a>\n\n### Return Object\n\nqbp returns an object with a few attributes:\n\n- `queue` object (which is explained below)\n- `completed` which is an array of successfully completed items\n- `errors` which is an array of objects with an `error` attribute and an `item` attribute. \n  - These are items that threw an error in the `each` function. The `error` attribute is the error that was thrown.\n\n```js\nvar { queue, completed, errors } = await qbp(items, (item) => each(item));\n```\n\nYou can obviously forego `await` for `then()`.\n\n```js\nqbp(items, (item) => each(item))\n    .then(({ queue, completed, errors }) => nextStep());\n```\n\nThe constructor breaks down like this:\n\n```js\nqbp([array,] [function,] [options])\n```\n\n> **Pro Tip:** The way I'm parsing parameters allows you to enter these in any order.\n> It just looks for an array, a function, and an object. You can also choose not to add any of the parameters.\n\n## Queue Object\n\nThe queue object is returned by qbp as well as passed to all of the functions that qbp calls. The queue lets you interact with the process as it is running. Here are the attributes and functions of the queue object.\n\n### queue.name\n\nYou can set a `name` option when calling `qbp`. If you set the `name` option, this attribute will have that value. This can be useful when you have multiple queues you've created and maybe some of them are using the same `progress` function, for example.\n\n### queue.empty()\n\nYou can call this function if you want to remove all items yet to be processed from the queue.\n\n``` js\n\nqbp((...args) => each(...args), {\n    error: (...args) => handleError(...args)\n})\n\nfunction handleError(err, item, { queue, setStatus }) => {\n    // Maybe you want to end all processing when an error occurs.\n    queue.empty()\n}\n\n```\n\n### queue.pause()\n\nCall this function to halt processing without removing items from the queue like `queue.empty()` does.\n\n### queue.resume()\n\nStart processing the queue again after being paused.\n\n### queue.add([item][arrayOfItems])\n\nPass this function one or an array of items to add them to the queue. You can `await` this function to wait for the items to finish processing before continuing. Keep in mind that the function expects an array passed in to be an array of items to be processed. If the item you want processed is an array, you would want to wrap it in another array before adding it.\n\n```js\nvar { queue } = qbp((...args) => each(...args))\n\nasync function processNewItems(newItems) {\n    var { queue, completed, errors } = await queue.add(newItems)\n\n    for (var i = 0; i < completed.length; i++) {\n        var successfulItem = completed[i]\n        // The completed property returned has an array of items that were successfully processed.\n    }\n\n    for (var i = 0; i < errors.length; i++) {\n        var { error, item } = errors[i]\n        // The errors property returned has an array of objects with an error property and an item property. These items threw errors somewhere in the each function.\n    }\n}\n```\n\n### queue.each([function])\n\nYou can pass or even change the `each` function for the queue at any time by calling `queue.each()`.\n\n```js\nvar { queue } = qbp(items)\n\nvar { completed, errors } = await queue.each((item) => {\n    // Do something with the item\n})\n```\n\n### queue.threads([int])\n\nPass this function an integer to set how many threads you want the queue to process simultaneously.\n\n### queue.rateLimit([rateLimit, rateLimitSeconds, [rateFidelity]])\n\nYou can tell the queue to start rate limiting at any time by calling this function and passing in your rate limit options. See [Rate Limiting](#rate-limiting).\n\n### queue.stopRateLimit()\n\nCall this to stop rate limiting.\n\n### queue.counts\n\nThis is an object containing attributes: `items` for a total count of items added to the queue, `complete` for total number of items completed, `threads` for now many threads are currently running simultaenously, `queued` for how many items have yet to be processed, and `batch` which is the current batch size.\n\n## Progress Updates\n\nYou can setup a `progress` function to get called to inform your users how the processing is going.\n\n```js\nfunction start () {\n    await qbp(items, (...args) => each(...args), {\n        progress: (...args) => progressUpdate(...args)\n    })\n}\n\nfunction progressUpdate (update) {\n    var {\n        total, // Total number of items that have been added to the queue\n        complete, // Number of items have completed the queue.\n        queued, // Number of items currently in the queue.\n        percent, // Percentage of completion.\n        threads, // Number of threads currently running.\n        itemsPerSecond, // Average rate of items per second since the last time a progress update was sent.\n        secondsRemaining, // An estimate of how many seconds are left based on itemsPerSecond. This will be -1 if there is no current estimate.\n        batch, // The current batch size. (See Batching section below)\n        dateTime, // Date object for when this was sent out.\n        statuses, // The statuses of items being processed (see Item Statuses section below)\n        queue // The queue object\n    } = update\n}\n```\n\nWith this configuration the `progress` function will be called basically everytime there is a change. But if you would rather just get updates on a regular interval, you can set the `progressInterval` option.\n\n```js\nawait qbp(items, (...args) => each(...args), {\n    progress: (...args) => progressUpdate(...args),\n    progressInterval: 5000\n})\n```\n\nThis will have the progress function called every 5 seconds. It will also be called when the queue is empty regardless of the interval.\n\n### Progress Updates Example\n<div>\n<a href=\"https://joshrouwhorst.github.io/qbp/examples/progress.html\">\n<img src=\"https://media.giphy.com/media/hbZcLXbWm4k1GQbjch/giphy.gif\" width=\"100%\" />\n</a>\n</div>\n<a href=\"https://joshrouwhorst.github.io/qbp/examples/progress.html\">\nClick here for live example.\n</a>\n\n## Throttling\n\nThere are a few options for limiting how many items can be processed simultaenously. The simpliest is by limiting the number of threads that can run concurrently.\n\n```js\nawait qbp(items, (...args) => each(...args), {\n    threads: 2\n})\n```\n\nBy default, qbp will process all of your items concurrently. But if that's too much all at once, setting the `threads` option will limit how many items are processed concurrently, in this case only 2 items will be processed at the same time.\n\n## Rate Limiting\n\nIf you need to limit processing your items by a number of items within a timeframe then this should help. Rate limiting adjusts the number of threads running simultaneously and makes sure each item takes a minimum amount of time to process in order to meet limit expectations.\n\nIn the options object you pass to `qbp` you can set:\n\n- `rateLimit` which is the maximum number of items allowed to process within the a time frame.\n- `rateLimitSeconds` which is that timeframe in seconds.\n- `rateUpdate` which is a function that can get called with updates every time the rate limit check runs.\n- `rateFidelity` which is how often you want the rate limiting check to run within `rateLimitSeconds`.\n  - So a `rateFidelity` of 16 (which is the default value) with `rateLimitSeconds` set to 3600 would check and adjust the rate limiting every 225 seconds, running 16 times in 3600 seconds.\n\nAt any time **you can programmatically add rate limiting** to a queue by calling `queue.rateLimit()` and passing in the `rateLimit`, `rateLimitSeconds`, and `rateFidelity` values.\n\nAlso, at any time you can stop rate limiting by calling `queue.stopRateLimit()`.\n\n> **Important note!** Rate limiting hijacks your `threads` setting and automatically adjusts it to get the most items processed while remaining within your limits.\n\n```js\n// Create a queue with an each function, the maximum number of threads you want to run at a time, and an empty function.\nvar { queue } = qbp((item) => each(item), {\n        rateLimit: 500, // Need rateLimit and rateLimitSeconds for rate limiting to work, all other options are not necessary.\n        rateLimitSeconds: 100,\n        rateFidelity: 20,\n        rateLimitOnEmpty: true, // If you're expecting items to constantly be getting added to your queue and have it sporadically be empty then this is a good option to have on for accuracy.\n        rateUpdate: (update) => rateUpdate(upate),\n        empty: () => itemsEmpty() });\n\nasync function processNewItems(newItems) {\n    // Add the new items to be processed. It'll restart the queue if it's already been empty.\n    queue.add(newItems);\n}\n\nasync function each(item) {\n    // Do something with the item.\n}\n\nfunction rateUpdate(update) {\n    var {\n        queue, // The queue object.\n        projectedCount, // The number of items we're projecting to process at the current rate by next update.\n        projectedRate, // The items per second rate we're projecting by next process\n        minimumThreadTime, // The minimum amount of time a thread is allowed to run to meet rate limiting expectations, in milliseconds.\n        currentThreads, // The current number of threads running.\n        targetThreads, // The number of threads we're adjusting to.\n        currentRatePerSecond, // The number of items we processed per second since the last update.\n        currentThreadRate // The number of items per second each thread is averaging.\n    } = update\n}\n\nfunction itemsEmpty() {\n    // This gets called every time the queue runs out of items.\n}\n```\n\n## Batching\n\nNeed to get a few items at a time? Use the `batch` option.\n\n```js\nasync function start() {\n    var { queue } = await qbp(items, (batch) => each(batch), { batch: 5 }); // Set your batch size in the options.\n}\n\n// Instead of a single item, you recieve an array of items.\nasync function each(batch) {\n    var ids = [];\n    for (var i = 0; i < batch.length; i++) {\n        ids.push(batch[i].id);\n    }\n\n    await httpSvc.getDetails(ids);\n}\n```\n\n## Item Statuses\n\nThis is meant to be a system for easily creating a queued process that runs in the background but will provide updates as it progresses. Think of a resource intensive process, like crawling a website. You want to limit how many of these scans can happen simultaneously, and maybe you want to display a queue of the user's requests that updates as their requests progress.\n\n```js\nvar { queue } = qbp((...args) => handleItem(...args), {\n    threads: 5,\n    progress: (...args) => progressUpdates(...args)\n})\n\nasync function processItem (newItem) {\n    await queue.add(newItem)\n}\n\nasync function handleItem (item, { setStatus }) {\n    // You can give this item a status and make\n    // the status anything you want, object or string.\n    setStatus({\n        name: item.name,\n        process: 'Preparing',\n        percent: 0.33,\n        time: new Date()\n    })\n\n    await _db.insert(item)\n\n    if (checkSomething) {\n        await migrateItem(item, setStatus)\n    } else {\n        await doSomethingElse(item, setStatus)\n    }\n}\n\nasync function migrateItem (item, setStatus) {\n    // You can change that status throughout the process\n    setStatus({\n        name: item.name,\n        process: 'Migrating',\n        percent: 0.66,\n        time: new Date()\n    })\n\n    await _db.move(item)\n\n    setStatus({\n        name: item.name,\n        process: 'Complete',\n        percent: 1,\n        time: new Date()\n    })\n}\n\n// If you haven't defined a progressInterval option, calling setStatus will trigger a progress update.\nfunction progressUpdate ({ statuses }) {\n    console.log('Current Item Statuses:')\n\n    for (let i = 0; i < statuses.length; i++) {\n        const {\n            stage, // stage is set by qbp and will be 'queued', 'processing', 'complete', or 'error'.\n            status, // status is the status you set above. 'queued' items will not have a status set yet.\n            item // item is the actual item in the queue we're referring to.\n        } = statuses[i]\n\n        if (!status) continue\n\n        const {\n            name,\n            process,\n            percent,\n            time\n        } = status\n    }\n}\n\n```\n\n### Statuses Example\n\n<div>\n    <a href=\"https://joshrouwhorst.github.io/qbp/examples/statuses.html\">\n        <img src=\"https://media.giphy.com/media/DKsUsizLhUeKT2Lo7x/giphy.gif\" width=\"100%\">\n    </a>\n</div>\n\n<a href=\"https://joshrouwhorst.github.io/qbp/examples/statuses.html\">\n    Click for live example.\n</a>\n\n## Mixing\n\nI found myself nesting queues whenever I needed to loop through multiple arrays. So I added a `mix` function to help with this. Here's what I **was** doing.\n\n```js\n// Honestly, I'm not sure how you would effeciently cap threads on this.\nawait qbp(teachers, (teacher) => {\n    await qbp(classRooms, (classRoom) => {\n        await qbp(students, (student) => {\n            await addStudent(teacher, classRoom, student);\n        });\n    });\n});\n\nasync function addStudent(teacher, classRoom, student) {\n    // No one likes to nest stuff.\n}\n```\n\nSo instead, now we can use the `qbp.mix()` function.\n\n```js\n// Now we can definitely cap the threads if we want.\nawait qbp.mix([teachers, classRooms, students], (...args) => addStudent(...args), { threads: 5 });\n\nasync function addStudent(teacher, classRoom, student, { queue }) {\n    // The parameters mirror the same order you gave them to qbp.\n}\n```\n\n### Mix Example\n\n<div>\n    <a href=\"https://joshrouwhorst.github.io/qbp/examples/mix.html\">\n        <img src=\"https://media.giphy.com/media/6Ai2y8p3VyffbWaUkh/giphy.gif\" width=\"100%\">\n    </a>\n</div>\n\n<a href=\"https://joshrouwhorst.github.io/qbp/examples/mix.html\">\n    Click for live example.\n</a>\n\n> One thing to keep in mind. You only have one `queue` object using this. The `queue.add()` function won't perform the mixing functionality that you get when you pass it in to the `mix()` function. But if you don't need to add any more items while processing, then this works perfect.\n\n## Error Handling\n\nYou can provide an `error` function in qbp's options to be called if any items throw an error during their processing.\n\n```js\nawait qbp(items, (item) => each(item), {\n    error: (...errInfo) => onError(...errInfo) });\n\nfuncton onError(error, item, { queue, setStatus }) {\n    // If you're using qbp.mix() then you'll get arguments spread out, such as (error, item1, item2, item3, { queue, setStatus })\n}\n```\n\nWhenever you add items to the queue, whether it is when creating the queue or adding them with `queue.add()` you will recieve an array of items that completed succesfully and an array of items that had errors.\n\n```js\nvar { queue, completed, errors } = await qbp(items, (...args) => each(...args))\n\nfor (var i = 0; i < completed.length; i++) {\n    var successfulItem = completed[i]\n    // The completed property returned has an array of items that were successfully processed.\n}\n\nfor (var i = 0; i < errors.length; i++) {\n    var { error, item } = errors[i]\n    // The errors property returned has an array of objects with an error property and an item property. These items threw errors somewhere in the each function.\n}\n```\n\n## Empty Function\n\nYou can set an `empty` option as a function when calling qbp and it will get called whenever the queue has finished processing all of the items it has been given.\n\n```js\nvar { queue } = await qbp(items, (...args) => each(...args), {\n    empty: (...args) => onEmpty(...args)\n})\n\nfunction onEmpty (queue) {\n    // Do something when the queue is empty.\n}\n```\n\n## Testing\n\nRun unit testing with `npm run test`.\n","maintainers":[{"name":"joshrouwhorst","email":"public.email.3131@gmail.com"}],"time":{"modified":"2022-05-13T18:48:36.090Z","created":"2017-09-19T15:14:11.983Z","1.0.0":"2017-09-19T15:14:11.983Z","1.0.1":"2017-09-19T15:26:46.288Z","1.0.2":"2017-09-19T17:11:39.798Z","1.0.3":"2017-09-19T22:43:13.246Z","1.0.4":"2017-09-20T00:25:51.618Z","1.0.5":"2017-09-20T00:34:00.026Z","1.0.6":"2017-09-20T00:37:14.898Z","1.0.7":"2017-09-20T13:59:07.840Z","1.0.8":"2017-09-20T14:02:48.283Z","1.0.9":"2017-09-20T14:04:55.933Z","1.0.10":"2017-09-20T14:45:41.967Z","0.1.0":"2017-09-20T18:21:43.731Z","0.1.2":"2017-09-20T18:49:21.935Z","0.1.3":"2017-09-20T19:32:09.691Z","0.1.4":"2017-09-20T19:39:33.272Z","0.1.5":"2017-09-20T19:50:29.500Z","0.1.6":"2017-09-20T19:52:28.209Z","0.1.7":"2017-09-21T02:53:03.358Z","0.1.8":"2017-09-21T02:58:57.928Z","0.1.9":"2017-09-24T20:31:28.609Z","0.1.10":"2017-09-25T15:35:42.475Z","0.1.11":"2017-10-09T18:05:09.372Z","0.1.12":"2017-10-09T18:07:17.394Z","0.1.13":"2017-10-09T19:13:39.476Z","0.1.14":"2017-10-09T20:35:54.290Z","0.1.15":"2017-10-09T20:47:18.535Z","1.1.0":"2017-10-09T21:01:41.063Z","1.1.1":"2017-10-09T21:13:02.521Z","1.1.2":"2017-10-10T01:03:04.493Z","1.1.3":"2017-10-12T15:31:00.342Z","1.1.4":"2017-10-12T16:11:28.921Z","1.1.5":"2017-10-12T16:15:56.464Z","1.1.6":"2017-10-13T20:39:08.141Z","1.1.8":"2017-10-13T22:56:31.801Z","1.1.9":"2018-04-25T14:13:15.940Z","1.1.10":"2018-11-17T21:51:44.099Z","1.1.11":"2018-11-20T16:47:57.796Z","1.1.12":"2018-11-20T19:17:41.711Z","2.0.0":"2020-04-18T03:03:07.656Z","2.0.1":"2020-04-18T05:15:13.070Z","2.0.2":"2020-04-18T19:46:13.406Z","2.0.3":"2020-04-18T19:47:02.906Z","2.0.4":"2020-04-18T20:07:06.569Z","2.0.5":"2020-04-20T01:13:15.407Z","2.0.6":"2020-04-22T20:11:26.251Z","2.0.7":"2020-04-23T01:48:58.179Z","2.0.8":"2020-04-23T03:43:12.354Z","2.1.0":"2020-05-06T21:00:59.676Z","2.1.1":"2020-05-06T21:32:21.666Z","2.1.2":"2020-05-07T03:46:24.654Z","3.0.0":"2020-05-26T18:29:31.046Z","3.0.1":"2020-12-21T20:59:55.324Z","3.0.2":"2020-12-21T22:15:28.729Z","3.1.0":"2020-12-22T19:35:41.885Z","3.1.1":"2020-12-25T03:09:23.308Z","3.1.2":"2022-01-19T21:41:07.764Z"},"homepage":"https://github.com/joshrouwhorst/qbp#readme","keywords":["queue","batch","process","async","concurrent","thread","threading","multithreading","multi-threading","throttle","throttling","batching","rate limiting","rate limit"],"repository":{"type":"git","url":"git+https://github.com/joshrouwhorst/qbp.git"},"author":{"name":"Josh Rouwhorst","url":"https://github.com/joshrouwhorst"},"bugs":{"url":"https://github.com/joshrouwhorst/qbp/issues"},"license":"MIT","readmeFilename":"README.md","users":{"joshrouwhorst":true}}