neo-async
Version:
Neo-Async is thought to be used as a drop-in replacement for Async, it almost fully covers its functionality and runs faster
62 lines (61 loc) • 31 kB
JavaScript
(function(){function G(b){for(var d=-1,a=b.length,c=Array(a);++d<a;)c[d]=b[d];return c}function E(b,d){var a=-1,c=b.length-d;if(0>=c)return[];for(var e=Array(c);++a<c;)e[a]=b[a+d];return e}function L(b){for(var d=-1,a=b.length,c=-1,e=[];++d<a;){var f=b[d];f&&(e[++c]=f)}return e}function wa(b){for(var d=-1,a=b.length,c=Array(a),e=a;++d<a;)c[--e]=b[d];return c}function A(b,d){for(var a=-1,c=b.length;++a<c;)d(b[a],a);return b}function Q(b,d){for(var a=b.length;a--;)d(b[a],a);return b}function B(b,d,
a){a=a||Object.keys(b);for(var c=-1,e=a.length;++c<e;){var f=a[c];d(b[f],f)}return b}function F(b,d){for(var a=-1;++a<b;)d(a)}function xa(b,d){for(var a=b.length,c=-1;++c<a;)if(!d(b[c]))return!1;return!0}function I(b){for(var d=b.length,a=-1,c=Array(d);++a<d;)c[a]=b[a];return c}function H(b){for(var d=Object.keys(b),a=d.length,c=-1,e={};++c<a;){var f=d[c];e[f]=b[f]}return e}function aa(b,d){for(var a=-1,c=b.length,e=Array(c);++a<c;)e[a]=(b[a]||{})[d];return e}function ba(b,d,a,c,e){function f(b,a){r(b,
s(a,b))}function t(b,a){r(b,a,s(a,b))}function n(b){r(b,s(k++,b))}function q(b,a){r(b,a,s(k++,b))}function h(b,c){var d=!1;return function(f){if(d)throw Error("Callback was already called.");d=!0;!!f===e&&(g[b]=c);0===--m&&a(L(g))}}function l(b,c){var d=!1;return function(f,k){if(d)throw Error("Callback was already called.");d=!0;f?(a(f,L(g)),a=p):(!!k===e&&(g[b]=c),0===--m&&a(void 0,L(g)))}}a=a||p;var m,g,k=0,r=c?d.bind(c):d,s=(c=2===a.length)?l:h;if(Array.isArray(b)){m=b.length;if(0===m)return c?
a(void 0,[]):a([]);g=Array(m);A(b,3===d.length?t:f)}else if(b&&"object"===typeof b){var u=Object.keys(b);m=u.length;if(0===m)return c?a(void 0,[]):a([]);g=Array(m);B(b,3===d.length?q:n,u)}else return c?a(void 0,[]):a([])}function ca(b,d,a,c,e){function f(){v=!1;k=b[w];N(k,M)}function t(){v=!1;k=b[w];N(k,w,M)}function n(){v=!1;g=r[w];k=b[g];N(k,M)}function q(){v=!1;g=r[w];k=b[g];N(k,g,M)}function h(b){if(v)throw Error("Callback was already called.");v=!0;!!b===e&&(u[++x]=k);if(++w===m)return a(u);
s()}function l(b,c){if(v)throw Error("Callback was already called.");v=!0;if(b)a(b,u),a=p;else{!!c===e&&(u[++x]=k);if(++w===m)return a(void 0,u);s()}}a=a||p;var m,g,k,r,s,u,v,w=0,x=-1,C=2===a.length,M=C?l:h,N=c?d.bind(c):d;if(Array.isArray(b)){m=b.length;if(0===m)return C?a(void 0,[]):a([]);s=3===d.length?t:f}else if(b&&"object"===typeof b){r=Object.keys(b);m=r.length;if(0===m)return C?a(void 0,[]):a([]);s=3===d.length?q:n}else return C?a(void 0,[]):a([]);u=Array(m);s()}function da(b,d,a,c,e,f){function t(){var a=
v++;if(!(a>=k)){var c=b[a];x(c,C(c,a))}}function n(){var a=v++;if(!(a>=k)){var c=b[a];x(c,a,C(c,a))}}function q(){var a=v++;if(!(a>=k)){var c=b[r[a]];x(c,C(c,a))}}function h(){var a=v++;if(!(a>=k)){var c=r[a],d=b[c];x(d,c,C(d,a))}}function l(b,a){var d=!1;return function(e){if(d)throw Error("Callback was already called.");d=!0;!!e===f&&(u[a]=b);++w===k&&c(L(u));s()}}function m(b,a){var d=!1;return function(e,g){if(d)throw Error("Callback was already called.");d=!0;if(e)c(e,L(u)),c=p;else{!!g===f&&
(u[a]=b);if(++w===k)return c(void 0,L(u));s()}}}c=c||p;var g=2===c.length;if(isNaN(d)||1>d)return g?c(void 0,[]):c([]);var k,r,s,u,v=0,w=0,x=e?a.bind(e):a,C=g?m:l;if(Array.isArray(b)){k=b.length;if(0===k)return g?c(void 0,[]):c([]);s=3===a.length?n:t}else if(b&&"object"===typeof b){r=Object.keys(b);k=r.length;if(0===k)return g?c(void 0,[]):c([]);s=3===a.length?h:q}else return g?c(void 0,[]):c([]);u=Array(k);F(d>k?k:d,s)}function y(b){var d=!1;return function(a,c){if(d){if(a)return b(a,c);throw Error("Callback was already called.");
}d=!0;b(a,c)}}function R(b,d,a,c){function e(b){h(b,y(t))}function f(b,a){h(b,a,y(t))}function t(b,c){b?(a(b),a=p):++q===n?(a(),a=p):!1===c&&(a(),a=p)}a=a||p;var n,q=0,h=c?d.bind(c):d;if(Array.isArray(b)){n=b.length;if(0===n)return a();A(b,3===d.length?f:e)}else if(b&&"object"===typeof b){n=Object.keys(b).length;if(0===n)return a();B(b,3===d.length?f:e)}else a()}function S(b,d,a,c){function e(){g=!1;r(b[k],q)}function f(){g=!1;r(b[k],k,q)}function t(){g=!1;r(b[l[k]],q)}function n(){g=!1;var a=l[k];
r(b[a],a,q)}function q(b,c){if(g)throw Error("Callback was already called.");g=!0;if(b)return a(b);if(++k===h||!1===c)return a();m()}a=a||p;var h,l,m,g,k=0,r=c?d.bind(c):d;if(Array.isArray(b)){h=b.length;if(0===h)return a();m=3===d.length?f:e}else if(b&&"object"===typeof b){l=Object.keys(b);h=l.length;if(0===h)return a();m=3===d.length?n:t}else return a();m()}function ea(b,d,a,c,e){function f(){var a=k++;a>=l||s(b[a],y(h))}function t(){var a=k++;a>=l||s(b[a],a,y(h))}function n(){var a=k++;a>=l||s(b[m[a]],
y(h))}function q(){var a=k++;a>=l||(a=m[a],s(b[a],a,y(h)))}function h(a,b){a?(c(a),c=p):++r===l?(c(),c=p):!1===b?(c(),c=p):g()}c=c||p;if(isNaN(d)||1>d)return c();var l,m,g,k=0,r=0,s=e?a.bind(e):a;if(Array.isArray(b)){l=b.length;if(0===l)return c();g=3===a.length?t:f}else if(b&&"object"===typeof b){m=Object.keys(b);l=m.length;if(0===l)return c();g=3===a.length?q:n}else return c();F(d>l?l:d,g)}function fa(b,d,a,c){function e(a,b){g(a,q(b))}function f(a,b){g(a,b,q(b))}function t(a){g(a,q(m++))}function n(a,
b){g(a,b,q(m++))}function q(b){var c=!1;return function(d,f){if(c)throw Error("Callback was already called.");c=!0;l[b]=f;d?(a(d,I(l)),a=p):0===--h&&(a(void 0,l),a=p)}}a=a||p;var h,l,m=0,g=c?d.bind(c):d;if(Array.isArray(b)){h=b.length;if(0===h)return a(void 0,[]);l=Array(h);A(b,3===d.length?f:e)}else if(b&&"object"===typeof b){c=Object.keys(b);h=c.length;if(0===h)return a(void 0,[]);l=Array(h);B(b,3===d.length?n:t,c)}else a(void 0,[])}function ga(b,d,a,c){function e(){k=!1;s(b[r],q)}function f(){k=
!1;s(b[r],r,q)}function t(){k=!1;s(b[l[r]],q)}function n(){k=!1;var a=l[r];s(b[a],a,q)}function q(b,c){if(k)throw Error("Callback was already called.");k=!0;m[r]=c;b?(a(b,I(m)),a=p):++r===h?(a(void 0,m),a=p):g()}a=a||p;var h,l,m,g,k,r=0,s=c?d.bind(c):d;if(Array.isArray(b)){h=b.length;if(0===h)return a(void 0,[]);g=3===d.length?f:e}else if(b&&"object"===typeof b){l=Object.keys(b);h=l.length;if(0===h)return a(void 0,[]);g=3===d.length?n:t}else return a(void 0,[]);m=Array(h);g()}function ha(b,d,a,c,
e){function f(){var a=r++;a>=l||u(b[a],h(a))}function t(){var a=r++;a>=l||u(b[a],a,h(a))}function n(){var a=r++;a>=l||u(b[m[a]],h(a))}function q(){var a=r++;if(!(a>=l)){var c=m[a];u(b[c],c,h(a))}}function h(a){var b=!1;return function(d,f){if(b)throw Error("Callback was already called.");b=!0;g[a]=f;d?(c(d,I(g)),c=p):++s===l?(c(void 0,g),c=p):k()}}c=c||p;if(isNaN(d)||1>d)return c(void 0,[]);var l,m,g,k,r=0,s=0,u=e?a.bind(e):a;if(Array.isArray(b)){l=b.length;if(0===l)return c(void 0,[]);k=3===a.length?
t:f}else if(b&&"object"===typeof b){m=Object.keys(b);l=m.length;if(0===l)return c(void 0,[]);k=3===a.length?q:n}else return c(void 0,[]);g=Array(l);F(d>l?l:d,k)}function ia(b,d,a,c){ba(b,d,a,c,!0)}function ja(b,d,a,c){ca(b,d,a,c,!0)}function ka(b,d,a,c,e){da(b,d,a,c,e,!0)}function T(b,d,a,c,e){function f(a){m(a,g(a))}function t(a,b){m(a,b,g(a))}function n(b){var c=!1;return function(d){if(c)throw Error("Callback was already called.");c=!0;!!d===l?(a(b),a=p):0===--h&&(a(),a=p)}}function q(b){var c=
!1;return function(d,f){if(c)throw Error("Callback was already called.");c=!0;d?(a(d),a=p):!!f===l?(a(void 0,b),a=p):0===--h&&(a(),a=p)}}a=a||p;var h,l=!e,m=c?d.bind(c):d,g=2===a.length?q:n;if(Array.isArray(b)){h=b.length;if(0===h)return a();A(b,3===d.length?t:f)}else if(b&&"object"===typeof b){c=Object.keys(b);h=c.length;if(0===h)return a();B(b,3===d.length?t:f,c)}else a()}function U(b,d,a,c,e){function f(){r=!1;g=b[s];w(g,v)}function t(){r=!1;g=b[s];w(g,s,v)}function n(){r=!1;g=b[x[s]];w(g,v)}function q(){r=
!1;var a=x[s];g=b[a];w(g,a,v)}function h(b){if(r)throw Error("Callback was already called.");r=!0;if(!!b===u)return a(g);if(++s===m)return a();k()}function l(b,c){if(r)throw Error("Callback was already called.");r=!0;if(b)return a(b);if(!!c===u)return a(void 0,g);if(++s===m)return a();k()}a=a||p;var m,g,k,r,s=0,u=!e,v=2===a.length?l:h,w=c?d.bind(c):d;if(Array.isArray(b)){m=b.length;if(0===m)return a();k=3===d.length?t:f}else if(b&&"object"===typeof b){var x=Object.keys(b);m=x.length;if(0===m)return a();
k=3===d.length?q:n}else return a();k()}function V(b,d,a,c,e,f){function t(){var a=r++;a>=g||(a=b[a],w(a,v(a)))}function n(){var a=r++;if(!(a>=g)){var c=b[a];w(c,a,v(c))}}function q(){var a=r++;a>=g||(a=b[x[a]],w(a,v(a)))}function h(){var a=r++;if(!(a>=g)){var a=x[a],c=b[a];w(c,a,v(c))}}function l(a){var b=!1;return function(d){if(b)throw Error("Callback was already called.");b=!0;!!d===u?(c(a),c=p):++s===g?(c(),c=p):k()}}function m(a){var b=!1;return function(d,f){if(b)throw Error("Callback was already called.");
b=!0;d?(c(d),c=p):!!f===u?(c(void 0,a),c=p):++s===g?(c(),c=p):k()}}c=c||p;if(isNaN(d)||1>d)return c();var g,k,r=0,s=0,u=!f,v=2===c.length?m:l,w=e?a.bind(e):a;if(Array.isArray(b)){g=b.length;if(0===g)return c();k=3===a.length?n:t}else if(b&&"object"===typeof b){var x=Object.keys(b);g=x.length;if(0===g)return c();k=3===a.length?h:q}else return c();F(d>g?g:d,k)}function O(b,d,a,c,e){function f(a){k=!1;s(a,b[r],h)}function t(a){k=!1;s(a,b[r],r,h)}function n(a){k=!1;s(a,b[m[r]],h)}function q(a){k=!1;var c=
m[r];s(a,b[c],c,h)}function h(a,b){if(k)throw Error("Callback was already called.");k=!0;if(a)return c(a,b);if(++r===l)return c(void 0,b);g(b)}c=c||p;var l,m,g,k,r=0,s=e?a.bind(e):a;if(Array.isArray(b)){l=b.length;if(0===l)return c(void 0,d);g=4===a.length?t:f}else if(b&&"object"===typeof b){m=Object.keys(b);l=m.length;if(0===l)return c(void 0,d);g=4===a.length?q:n}else return c(void 0,d);g(d)}function la(b,d,a,c,e){function f(a){k=!1;var c=b[--l];r(a,c,h)}function t(a){k=!1;var c=--l;r(a,b[c],c,
h)}function n(a){k=!1;var c=m[--l];r(a,b[c],h)}function q(a){k=!1;var c=m[--l];r(a,b[c],c,h)}function h(a,b){if(k)throw Error("Callback was already called.");k=!0;if(a)return c(a,b);if(0===l)return c(void 0,b);g(b)}c=c||p;var l,m,g,k,r=e?a.bind(e):a;if(Array.isArray(b)){l=b.length;if(!l)return c(void 0,d);g=4===a.length?t:f}else if(b&&"object"===typeof b){m=Object.keys(b);l=m.length;if(!l)return c(void 0,d);g=4===a.length?q:n}else return c(void 0,d);g(d)}function W(b){function d(a,b,d,q){b=c(b,q);
ga(a,b,e(d))}function a(a,b,d,q,h){d=c(d,h);ha(a,b,d,e(q))}function c(a,b){function c(a,b){e(a,function(c,d){c?(b(c),b=p):b(void 0,{value:a,criteria:d})})}function d(a,b,c){e(a,b,function(b,d){b?(c(b),c=p):c(void 0,{value:a,criteria:d})})}var e=b?a.bind(b):a;return 3===a.length?d:c}function e(a){return function(b,c){if(b)a(b),a=p;else{var d=c.sort(function(a,b){return b.criteria<a.criteria});a(void 0,aa(d,"value"))}}}switch(b){case "series":return d;case "limit":return a;default:return function(a,
b,d,q){b=c(b,q);fa(a,b,e(d))}}}function ma(b,d,a,c){function e(b){a(!!b)}function f(b,c){a(b,!!c)}a=a||p;T(b,d,2===a.length?f:e,c)}function na(b,d,a,c){function e(b){a(!b)}function f(b,c){a(b,!c)}a=a||p;T(b,d,2===a.length?f:e,c,!0)}function oa(b,d,a){function c(a,b){a(f(b))}function e(b,c){b.call(a,f(c))}function f(a){var b=!1;return function(c,e){if(b)throw Error("Callback was already called.");b=!0;c?(d(c,n),d=p):(n[a]=2>=arguments.length?e:E(arguments,1),0===--t&&(d(void 0,n),d=p))}}d=d||p;var t,
n;if(Array.isArray(b)){t=b.length;if(0===t)return d(void 0,[]);n=Array(t);A(b,a?e:c)}else if(b&&"object"===typeof b){var q=Object.keys(b);t=q.length;if(0===t)return d(void 0,{});n={};B(b,a?e:c,q)}else d()}function pa(b,d,a){function c(){k=!1;h=r;b[r](n)}function e(){k=!1;h=r;b[r].call(a,n)}function f(){k=!1;h=l[r];b[h](n)}function t(){k=!1;h=l[r];b[h].call(a,n)}function n(a,b){if(k)throw Error("Callback was already called.");k=!0;if(a)return d(a,m);m[h]=2>=arguments.length?b:E(arguments,1);if(++r===
q)return d(void 0,m);g()}d=d||p;var q,h,l,m,g,k,r=0;if(Array.isArray(b)){q=b.length;if(0===q)return d(void 0,[]);m=Array(q);g=a?e:c}else if(b&&"object"===typeof b){l=Object.keys(b);q=l.length;if(0===q)return d(void 0,{});m={};g=a?t:f}else return d();g()}function X(b,d,a,c){function e(){var a=g++;if(!(a>=h))b[a](q(a))}function f(){var a=g++;a>=h||b[a].call(c,q(a))}function t(){var a=g++;a>=h||(a=r[a],b[a](q(a)))}function n(){var a=g++;a>=h||(a=r[a],b[a].call(c,q(a)))}function q(b){var c=!1;return function(d,
e){if(c)throw Error("Callback was already called.");c=!0;if(d)a(d,l),a=p;else{l[b]=2>=arguments.length?e:E(arguments,1);if(++k===h)return a(void 0,l);m()}}}a=a||p;var h,l,m,g=0,k=0;if(Array.isArray(b)){h=b.length;if(0===h)return a(void 0,[]);l=Array(h);m=c?f:e}else if(b&&"object"===typeof b){var r=Object.keys(b);h=r.length;if(0===h)return a(void 0,{});l={};m=c?n:t}else return a();F(d>h?h:d,m)}function qa(){var b=arguments;return function(){var d=this,a=G(arguments),c=a.pop();O(b,a,function(a,b,c){a.push(function(a){var b=
E(arguments,1);c(a,b)});b.apply(d,a)},function(a,b){b=Array.isArray(b)?b:[b];b.unshift(a);c.apply(d,b)})}}function ra(b){var d="series"===b?S:R;return function(a){var b=function(){var b=this,c=G(arguments),e=c.pop()||p;return d(a,function(a,d){a.apply(b,c.concat(d))},e)};if(1<arguments.length){var e=E(arguments,1);return b.apply(this,e)}return b}}function sa(b,d,a){function c(a,b,c){f.started=!0;var d=Array.isArray(a)?a:[a];a&&d.length?(c="function"===typeof c?c:p,A(d,function(a){f.tasks.push({task:a,
priority:b,callback:c});f.tasks=f.tasks.sort(function(a,b){return b.priority<a.priority});"function"===typeof f.saturated&&f.length()===f.concurrency&&f.saturated();D.nextTick(f.process)})):f.idle()&&D.nextTick(function(){"function"===typeof f.drain&&f.drain()})}var e=0,f={tasks:[],concurrency:d||1,saturated:p,empty:p,drain:p,started:!1,paused:!1,push:function(a,b,d){c(a,b,d)},kill:function(){f.drain=p;f.tasks=[]},process:function(){function a(){e--;b.callback&&b.callback.apply(b,G(arguments));"function"===
typeof f.drain&&f.idle()&&f.drain();f.process()}if(!(f.paused||e>=f.concurrency)&&f.length()){var b=f.tasks.shift();"function"!==typeof f.empty||f.length()||f.empty();e++;(f._thisArg?f._worker.bind(f._thisArg):f._worker)(b.task,y(a))}},length:function(){return f.tasks.length},running:function(){return e},idle:function(){return 0===f.length()+e},pause:function(){f.paused=!0},resume:function(){!1!==f.paused&&(f.paused=!1,F(f.concurrency,function(){D.setImmediate(f.process)}))},_worker:b,_thisArg:a};
return f}function ta(b,d,a,c){function e(c,d){if(f)throw Error("Callback was already called.");f=!0;t[n]=d;if(c)return a(c);if(++n===b)return a(void 0,t);f=!1;q(n,e)}a=a||p;if(!Number.isFinite(b)||1>b)return a(void 0,[]);var f,t=Array(b),n=0,q=c?d.bind(c):d;f=!1;q(n,e)}function Y(b){function d(a){if(J[typeof console])if(a)console.error&&console.error(a);else if(console[b]){var c=E(arguments,1);A(c,function(a){console[b](a)})}}return function(a){var b=E(arguments,1);b.push(d);a.apply(null,b)}}function z(b,
d){this._emitter=b||pa;this._limit=d||4;this._events={}}function ua(b){b=b||p;if(b.ONCE===Z)return b;var d=function(a){if(b.length)return b(a);b();a()};d.func=b;return d}function va(b){b=b||p;var d=function(a){if(b.length)return b(a);b();a()};d.func=b;d.ONCE=Z;return d}var K=this,ya=K&&K.async,p=function(){},J={"function":!0,object:!0},P,$;(function(){J[typeof process]&&process.nextTick?(P=process.nextTick,$=J[typeof setImmediate]?function(b){setImmediate(b)}:P):$=P=J[typeof setImmediate]?function(b){setImmediate(b)}:
function(b){setTimeout(b,0)}})();var D={VERSION:"1.0.0",each:R,eachSeries:S,eachLimit:ea,forEach:R,forEachSeries:S,forEachLimit:ea,map:fa,mapSeries:ga,mapLimit:ha,mapValues:function(b,d,a,c){function e(a,b){m(a,q(b))}function f(a,b){m(a,b,q(b))}function t(a,b){m(a,q(b))}function n(a,b){m(a,b,q(b))}function q(b){var c=!1;return function(d,e){if(c)throw Error("Callback was already called.");c=!0;l[b]=e;d?(a(d,H(l)),a=p):0===--h&&(a(void 0,l),a=p)}}a=a||p;var h,l={},m=c?d.bind(c):d;if(Array.isArray(b)){h=
b.length;if(0===h)return a(void 0,l);A(b,3===d.length?f:e)}else if(b&&"object"===typeof b){c=Object.keys(b);h=c.length;if(0===h)return a(void 0,l);B(b,3===d.length?n:t,c)}else a(void 0,l)},mapValuesSeries:function(b,d,a,c){function e(){k=!1;l=s;u(b[s],q)}function f(){k=!1;l=s;u(b[s],s,q)}function t(){k=!1;l=m[s];u(b[l],q)}function n(){k=!1;l=m[s];u(b[l],l,q)}function q(b,c){if(k)throw Error("Callback was already called.");k=!0;r[l]=c;b?(a(b,H(r)),a=p):++s===h?(a(void 0,r),a=p):g()}a=a||p;var h,l,
m,g,k,r={},s=0,u=c?d.bind(c):d;if(Array.isArray(b)){h=b.length;if(0===h)return a(void 0,{});g=3===d.length?f:e}else if(b&&"object"===typeof b){m=Object.keys(b);h=m.length;if(0===h)return a(void 0,{});g=3===d.length?n:t}else return a(void 0,{});g()},mapValuesLimit:function(b,d,a,c,e){function f(){var a=r++;a>=l||u(b[a],h(a))}function t(){var a=r++;a>=l||u(b[a],a,h(a))}function n(){var a=r++;a>=l||(a=m[a],u(b[a],h(a)))}function q(){var a=r++;a>=l||(a=m[a],u(b[a],a,h(a)))}function h(a){var b=!1;return function(d,
e){if(b)throw Error("Callback was already called.");b=!0;k[a]=e;d?(c(d,H(k)),c=p):++s===l?(c(void 0,k),c=p):g()}}c=c||p;if(isNaN(d)||1>d)return c(void 0,[]);var l,m,g,k={},r=0,s=0,u=e?a.bind(e):a;if(Array.isArray(b)){l=b.length;if(0===l)return c(void 0,k);g=3===a.length?t:f}else if(b&&"object"===typeof b){m=Object.keys(b);l=m.length;if(0===l)return c(void 0,k);g=3===a.length?q:n}else return c(void 0,k);F(d>l?l:d,g)},filter:ia,filterSeries:ja,filterLimit:ka,select:ia,selectSeries:ja,selectLimit:ka,
reject:function(b,d,a,c){ba(b,d,a,c,!1)},rejectSeries:function(b,d,a,c){ca(b,d,a,c,!1)},rejectLimit:function(b,d,a,c,e){da(b,d,a,c,e,!1)},detect:T,detectSeries:U,detectLimit:V,pick:function(b,d,a,c){function e(a,b){l(a,m(b,a))}function f(a,b){l(a,b,m(b,a))}function t(b,c){var d=!1;return function(e){if(d)throw Error("Callback was already called.");d=!0;e&&(h[b]=c);0===--q&&a(h)}}function n(b,c){var d=!1;return function(e,f){if(d)throw Error("Callback was already called.");d=!0;e?(a(e,h),a=p):(f&&
(h[b]=c),0===--q&&a(void 0,h))}}a=a||p;var q,h={},l=c?d.bind(c):d,m=(c=2===a.length)?n:t;if(Array.isArray(b)){q=b.length;if(0===q)return c?a(void 0,{}):a({});A(b,3===d.length?f:e)}else if(b&&"object"===typeof b){var g=Object.keys(b);q=g.length;if(0===q)return c?a(void 0,{}):a({});B(b,3===d.length?f:e,g)}else return c?a(void 0,{}):a({})},pickSeries:function(b,d,a,c){function e(){s=!1;m=v;g=b[v];C(g,x)}function f(){s=!1;m=v;g=b[v];C(g,v,x)}function t(){s=!1;m=k[v];g=b[m];C(g,x)}function n(){s=!1;m=
k[v];g=b[m];C(g,m,x)}function q(b){if(s)throw Error("Callback was already called.");s=!0;b&&(u[m]=g);if(++v===l)return a(u);r()}function h(b,c){if(s)throw Error("Callback was already called.");s=!0;if(b)a(b,u),a=p;else{c&&(u[m]=g);if(++v===l)return a(void 0,u);r()}}a=a||p;var l,m,g,k,r,s,u={},v=0,w=2===a.length,x=w?h:q,C=c?d.bind(c):d;if(Array.isArray(b)){l=b.length;if(0===l)return w?a(void 0,{}):a({});r=3===d.length?f:e}else if(b&&"object"===typeof b){k=Object.keys(b);l=k.length;if(0===l)return w?
a(void 0,{}):a({});u={};r=3===d.length?n:t}else return w?a(void 0,{}):a({});r()},pickLimit:function(b,d,a,c,e){function f(){var a=u++;if(!(a>=g)){var c=b[a];x(c,w(c,a))}}function t(){var a=u++;if(!(a>=g)){var c=b[a];x(c,a,w(c,a))}}function n(){var a=u++;if(!(a>=g)){var a=k[a],c=b[a];x(c,w(c,a))}}function q(){var a=u++;if(!(a>=g)){var a=k[a],c=b[a];x(c,a,w(c,a))}}function h(a,b){var d=!1;return function(e){if(d)throw Error("Callback was already called.");d=!0;e&&(s[b]=a);if(++v===g)return c(s);r()}}
function l(a,b){var d=!1;return function(e,f){if(d)throw Error("Callback was already called.");d=!0;if(e)c(e,H(s)),c=p;else{f&&(s[b]=a);if(++v===g)return c(void 0,s);r()}}}c=c||p;var m=2===c.length;if(isNaN(d)||1>d)return m?c(void 0,{}):c({});var g,k,r,s={},u=0,v=0,w=m?l:h,x=e?a.bind(e):a;if(Array.isArray(b)){g=b.length;if(0===g)return m?c(void 0,{}):c({});r=3===a.length?t:f}else if(b&&"object"===typeof b){k=Object.keys(b);g=k.length;if(0===g)return m?c(void 0,{}):c({});r=3===a.length?q:n}else return m?
c(void 0,{}):c({});F(d>g?g:d,r)},reduce:O,inject:O,foldl:O,reduceRight:la,foldr:la,transform:function(b,d,a,c,e){function f(a){l(h,a,y(n))}function t(a,b){l(h,a,b,y(n))}function n(b,c){b?(a(b,Array.isArray(h)?I(h):H(h)),a=p):0===--q?(a(void 0,h),a=p):!1===c&&(a(void 0,Array.isArray(h)?I(h):H(h)),a=p)}a=a||p;var q,h,l=e?d.bind(e):d;if(Array.isArray(b)){q=b.length;h=void 0!==c?c:[];if(0===q)return a(void 0,h);A(b,4===d.length?t:f)}else if(b&&"object"===typeof b){q=Object.keys(b).length;h=void 0!==c?
c:{};if(0===q)return a(void 0,h);B(b,4===d.length?t:f)}else a(void 0,{})},transformSeries:function(b,d,a,c,e){function f(){g=!1;u(k,b[s],h)}function t(){g=!1;u(k,b[s],s,h)}function n(){g=!1;u(k,b[v[s]],h)}function q(){g=!1;var a=v[s];u(k,b[a],a,h)}function h(b,c){if(g)throw Error("Callback was already called.");g=!0;if(b)return a(b,k);if(++s===l||!1===c)return a(void 0,k);m()}a=a||p;var l,m,g,k,r=Array.isArray(b),s=0,u=e?d.bind(e):d;if(r){l=b.length;k=void 0!==c?c:[];if(0===l)return a(void 0,k);m=
4===d.length?t:f}else if(b&&"object"===typeof b){var v=Object.keys(b);l=v.length;k=void 0!==c?c:{};if(0===l)return a(void 0,k);m=4===d.length?q:n}else return a(void 0,{});m()},transformLimit:function(b,d,a,c,e,f){function t(){var a=s++;a>=k||v(g,b[a],y(l))}function n(){var a=s++;a>=k||v(g,b[a],a,y(l))}function q(){var a=s++;a>=k||v(g,b[w[a]],y(l))}function h(){var a=s++;a>=k||(a=w[a],v(g,b[a],a,y(l)))}function l(a,b){a?(c(a,Array.isArray(g)?I(g):H(g)),c=p):++u===k?(c(void 0,g),c=p):!1===b?(c(void 0,
Array.isArray(g)?I(g):H(g)),c=p):r()}c=c||p;var m=Array.isArray(b),g=void 0!==e?e:m?[]:{};if(isNaN(d)||1>d)return c(void 0,g);var k,r,s=0,u=0,v=f?a.bind(f):a;if(m){k=b.length;if(0===k)return c(void 0,g);r=4===a.length?n:t}else if(b&&"object"===typeof b){var w=Object.keys(b);k=w.length;if(0===k)return c(void 0,g);r=4===a.length?h:q}else return c(void 0,g);F(d>k?k:d,r)},sortBy:W(),sortBySeries:W("series"),sortByLimit:W("limit"),some:ma,someSeries:function(b,d,a,c){function e(b){a(!!b)}function f(b,
c){a(b,!!c)}a=a||p;U(b,d,2===a.length?f:e,c)},someLimit:function(b,d,a,c,e){function f(a){c(!!a)}function t(a,b){c(a,!!b)}c=c||p;V(b,d,a,2===c.length?t:f,e)},any:ma,every:na,all:na,everySeries:function(b,d,a,c){function e(b){a(!b)}function f(b,c){a(b,!c)}a=a||p;U(b,d,2===a.length?f:e,c,!0)},everyLimit:function(b,d,a,c,e){function f(a){c(!a)}function t(a,b){c(a,!b)}c=c||p;V(b,d,a,2===c.length?t:f,e,!0)},concat:function(b,d,a,c){function e(a){h(a,y(t))}function f(a,b){h(a,b,y(t))}function t(b,c){void 0!==
c&&Array.prototype.push.apply(q,Array.isArray(c)?c:[c]);b?(a(b,I(q)),a=p):0===--n&&(a(void 0,q),a=p)}a=a||p;var n,q=[],h=c?d.bind(c):d;if(Array.isArray(b)){n=b.length;if(0===n)return a(void 0,q);A(b,3===d.length?f:e)}else if(b&&"object"===typeof b){n=Object.keys(b).length;if(0===n)return a(void 0,q);B(b,3===d.length?f:e)}else a(void 0,q)},concatSeries:function(b,d,a,c){function e(){g=!1;s(b[r],q)}function f(){g=!1;s(b[r],r,q)}function t(){g=!1;s(b[l[r]],q)}function n(){g=!1;var a=l[r];s(b[a],a,q)}
function q(b,c){if(g)throw Error("Callback was already called.");g=!0;c&&Array.prototype.push.apply(k,Array.isArray(c)?c:[c]);if(b)return a(b,k);if(++r===h)return a(void 0,k);m()}a=a||p;var h,l,m,g,k=[],r=0,s=c?d.bind(c):d;if(Array.isArray(b)){h=b.length;if(0===h)return a(void 0,k);m=3===d.length?f:e}else if(b&&"object"===typeof b){l=Object.keys(b);h=l.length;if(0===h)return a(void 0,k);m=3===d.length?n:t}else return a(void 0,k);m()},concatLimit:function(b,d,a,c,e){function f(){var a=k++;a>=m||s(b[a],
y(h))}function t(){var a=k++;a>=m||s(b[a],a,y(h))}function n(){var a=k++;a>=m||s(b[u[a]],y(h))}function q(){var a=k++;a>=m||(a=u[a],s(b[a],a,y(h)))}function h(a,b){b&&Array.prototype.push.apply(l,Array.isArray(b)?b:[b]);a?(c(a,l),c=p):++r===m?(c(void 0,l),c=p):g()}c=c||p;var l=[];if(isNaN(d)||1>d)return c(void 0,l);var m,g,k=0,r=0,s=e?a.bind(e):a;if(Array.isArray(b)){m=b.length;if(0===m)return c(void 0,l);g=3===a.length?t:f}else if(b&&"object"===typeof b){var u=Object.keys(b);m=u.length;if(0===m)return c(void 0,
l);g=3===a.length?q:n}else return c(void 0,l);F(d>m?m:d,g)},parallel:oa,series:pa,parallelLimit:X,waterfall:function(b,d){function a(){f=!1;var a=b[t];switch(n.length){case 0:return a(c);case 1:return a(n[0],c);case 2:return a(n[0],n[1],c);case 3:return a(n[0],n[1],n[2],c);case 4:return a(n[0],n[1],n[2],n[3],c);case 5:return a(n[0],n[1],n[2],n[3],n[4],c);default:return n.push(c),a.apply(null,n)}}function c(b){if(f)throw Error("Callback was already called.");f=!0;if(b)return d(b);if(++t===e)return d.apply(null,
G(arguments));n=E(arguments,1);a()}d=d||p;if(!Array.isArray(b))return d(Error("First argument to waterfall must be an array of functions"));var e=b.length;if(0===e)return d();var f,t=0,n=[];a()},whilst:function(b,d,a,c){function e(){b()?f(function(b){if(b)return a(b);e()}):a()}a=a||p;var f=c?d.bind(c):d;e()},doWhilst:function(b,d,a,c){function e(){f(function(b){if(b)return a(b);d.apply(c,E(arguments,1))?e():a()})}a=a||p;var f=c?b.bind(c):b;e()},until:function(b,d,a,c){function e(){b()?a():f(function(b){if(b)return a(b);
e()})}a=a||p;var f=c?d.bind(c):d;e()},doUntil:function(b,d,a,c){function e(){f(function(b){if(b)return a(b);d.apply(c,E(arguments,1))?a():e()})}a=a||p;var f=c?b.bind(c):b;e()},forever:function(b,d,a){function c(){e(function(a){if(a)return d(a);c()})}d=d||p;var e=a?b.bind(a):b;c()},compose:function(){return qa.apply(null,wa(arguments))},seq:qa,applyEach:ra(),applyEachSeries:ra("series"),queue:function(b,d,a){function c(a,b,c){e.started=!0;var d=Array.isArray(a)?a:[a];a&&d.length?(b="function"===typeof b?
b:null,A(d,function(a){a={task:a,callback:b};c?e.tasks.unshift(a):e.tasks.push(a);"function"===typeof e.saturated&&e.length()===e.concurrency&&e.saturated();D.nextTick(e.process)})):e.idle()&&D.nextTick(function(){"function"===typeof e.drain&&e.drain()})}var e=sa(b,d,a);e.unshift=function(a,b){c(a,b,!0)};e.push=function(a,b){c(a,b)};return e},priorityQueue:sa,cargo:function(b,d){var a=!1,c={tasks:[],payload:d,saturated:p,empty:p,drain:p,drained:!0,push:function(a,b){a=Array.isArray(a)?a:[a];b="function"===
typeof b?b:p;A(a,function(a){c.tasks.push({data:a,callback:b});c.drained=!1;"function"===typeof c.saturated&&c.length()===c.payload&&c.saturated()});D.nextTick(c.process)},process:function(){if(!a)if(c.length()){var e="number"===typeof c.payload?c.tasks.splice(0,d):c.tasks,f=aa(e,"data");c.length()||"function"!==typeof c.empty||c.empty();a=!0;b(f,function(){a=!1;var b=G(arguments);A(e,function(a){a.callback&&a.callback.apply(null,b)});c.process()})}else"function"!==typeof c.drain||c.drained||c.drain(),
c.drained=!0},length:function(){return c.tasks.length},running:function(){return a}};return c},auto:function(b,d){function a(a){t.unshift(a)}function c(){f--;A(t.slice(0),function(a){a()})}d=d?y(d):p;var e=Object.keys(b),f=e.length;if(!f)return d();var t=[],n={};a(function(){f||d(void 0,n)});B(b,function(b,e){function f(a){var b=E(arguments,1);1>=b.length&&(b=b[0]);if(a){var g=H(n);g[e]=b;d(a,g);d=p}else n[e]=b,D.nextTick(c)}function m(){return!n.hasOwnProperty(e)&&xa(r,function(a){return n.hasOwnProperty(a)})}
function g(){if(m()){var a;a:{a=-1;for(var b=t.length;++a<b;)if(t[a]===g)break a;a=void 0}0<=a&&t.splice(a,1);s(f,n)}}b=Array.isArray(b)?b:[b];var k=b.length,r=b.slice(0,k-1),s=b[k-1];if(m())return s(f,n);a(g)},e)},retry:function(b,d,a){function c(c,f){a=c||a||p;var t,n;ta(b,function(a,c){d(function(d,e){t=d;n=e;if(!d)return c(!0);c(d&&a===b-1)},f)},function(){a(t,n)})}"function"===typeof b&&(a=d,d=b,b=5);b=parseInt(b,10)||5;return"function"===typeof a?c():c},iterator:function(b){function d(e){var f=
function(){a&&b[c[e]||e].apply(null,G(arguments));return f.next()};f.next=function(){return e<a-1?d(e+1):null};return f}var a=0,c=[];Array.isArray(b)?a=b.length:(c=Object.keys(b),a=c.length);return d(0)},apply:function(b){var d=E(arguments,1);return function(){return b.apply(this,Array.prototype.concat.apply(d,G(arguments)))}},nextTick:P,setImmediate:$,times:function(b,d,a,c){function e(c){var d=!1;return function(e,m){if(d)throw Error("Callback was already called.");d=!0;f[c]=m;e?(a(e),a=p):++t===
b&&(a(void 0,f),a=p)}}a=a||p;if(!Number.isFinite(b)||1>b)return a(void 0,[]);var f=Array(b),t=0,n=c?d.bind(c):d;F(b,function(a){n(a,e(a))})},timesSeries:ta,timesLimit:function(b,d,a,c,e){function f(){var a=q++;a>=b||l(a,t(a))}function t(a){var d=!1;return function(e,l){if(d)throw Error("Callback was already called.");d=!0;n[a]=l;e?(c(e),c=p):++h===b?(c(void 0,n),c=p):f()}}c=c||p;if(!Number.isFinite(b)||1>b||isNaN(d)||1>d)return c(void 0,[]);var n=Array(b),q=0,h=0,l=e?a.bind(e):a;F(d>b?b:d,f)},memoize:function(b,
d,a){d=d||function(a){return a};var c={},e={},f=function(){function f(){var b=G(arguments);c[h]=b;var d=e[h];delete e[h];for(var g=-1,k=d.length;++g<k;)d[g].apply(a,b)}var n=G(arguments),q=n.pop(),h=d.apply(null,n);if(c.hasOwnProperty(h))D.nextTick(function(){q.apply(a,c[h])});else{if(e.hasOwnProperty(h))return e[h].push(q);e[h]=[q];n.push(f);b.apply(a,n)}};f.memo=c;f.unmemoized=b;return f},unmemoize:function(b){return function(){return(b.unmemoized||b).apply(null,arguments)}},log:Y("log"),dir:Y("dir"),
createLogger:Y,noConflict:function(){K.async=ya;return D},eventEmitter:function(b){b=b||{};var d=b.limit;return b.parallel&&!d?new z(oa):b.parallel||b.parallelLimit?new z(X,d):new z(b.emitter)},EventEmitter:z};J[typeof define]&&define&&define.amd?define([],function(){return D}):J[typeof module]&&module&&module.exports?module.exports=D:K&&J[typeof K.async]?K.neo_async=D:K.async=D;var Z={__ONCE__:!0};z.prototype.getListeners=function(b){function d(a){a=a||[];var b=Array(a.length);A(a,function(a,c){b[c]=
a.func});return b}var a=this._events;if(b)return d(a[b]);var c={};B(a,function(a,b){c[b]=d(a)});return c};z.prototype.addListener=function d(a,c){var e=this;if("object"===typeof a)return B(a,function(a,c){d.call(e,c,a)}),e;e._events[a]=e._events[a]||[];Array.isArray(c)?A(c,function(c){e._events[a].push(ua(c))}):e._events[a].push(ua(c));return e};z.prototype.addOnceListener=function a(c,e){var f=this;if("object"===typeof c)return B(c,function(c,e){a.call(f,e,c)}),f;Array.isArray(e)?A(e,function(a,
c){e[c]=va(a)}):e=va(e);return f.addListener(c,e)};z.prototype.removeListener=function c(e,f){var p=this;if("object"===typeof e)return B(e,function(e,f){c.call(p,f,e)}),p;var n=p._events[e]||[];if(!n.length)return p;if(Array.isArray(f))return Q(f,function(f){c.call(p,f,e)}),p;Q(n,function(c,e){c.func===f&&n.splice(e,1)});return p};z.prototype.removeEvent=function(c){c?(this._events[c]||[]).length&&delete this._events[c]:this._events={};return this};z.prototype.emit=function(c,e,f){function t(c,f){if(c)return e(c);
Q(n,function(c,e){c.ONCE===Z&&n.splice(e,1)});e(void 0,f)}e=e||p;var n=this._events[c]||[];if(!n.length)return e(),this;c=this._emitter;c=f?c.bind(f):c;c===X?c(n,this._limit,t):c(n,t);return this};z.prototype.on=z.prototype.addListener;z.prototype.once=z.prototype.addOnceListener;z.prototype.off=z.prototype.removeListener;z.prototype.removeAllListener=z.prototype.removeEvent;z.prototype.trigger=z.prototype.emit}).call(this);