diff --git a/build.js b/build.js index ccd74f3b2..fe986ff7e 100644 --- a/build.js +++ b/build.js @@ -1728,11 +1728,9 @@ // remove `__bindData__` logic and `setBindData` function calls from `createBound` source = source.replace(matchFunction(source, 'createBound'), function(match) { return match - .replace(/(?:\s*\/\/.*)*\n( *)var args *=[\s\S]+?\n\1}/, '') - .replace(/(?:\s*\/\/.*)*\n.+args *= *nativeSlice.+/, '') - .replace(/(?:\s*\/\/.*)*\n.+?setBindData.+/, '') - .replace(/^( *)(args *=)/m, '$1var $2') - + .replace(/(?:\s*\/\/.*)*\n( *)var bindData *=[\s\S]+?\n\1}/, '') + .replace(/(?:\s*\/\/.*)*\n.+bindData *= *nativeSlice.+/, '') + .replace(/(?:\s*\/\/.*)*\n.+?setBindData.+/, ''); }); // remove `__bindData__` logic and `setBindData` function calls from `baseCreateCallback` @@ -3109,8 +3107,12 @@ source = replaceSupportProp(source, 'argsClass', 'false'); // remove native `Function#bind` branch in `_.bind` - source = source.replace(matchFunction(source, 'bind'), function(match) { - return match.replace(/(?:\s*\/\/.*)*\n( *)if *\([^{]+?nativeBind[\s\S]+?\n\1}/, ''); + source = source.replace(matchFunction(source, 'createBound'), function(match) { + return match.replace(/(?:\s*\/\/.*)*\n( *)if *\([^{]+?nativeBind[\s\S]+?\n\1else *\{([\s\S]+?)\n\1}/, function(match, indent, snippet) { + return snippet + .replace(/^ /gm, '') + .replace(/^( *)bound(?= *=)/m, '$1var bound'); + }); }); // remove native `Array.isArray` branch in `_.isArray` diff --git a/dist/lodash.compat.js b/dist/lodash.compat.js index 198536fe4..258091068 100644 --- a/dist/lodash.compat.js +++ b/dist/lodash.compat.js @@ -498,7 +498,8 @@ setImmediate = context.setImmediate, setTimeout = context.setTimeout, splice = arrayRef.splice, - toString = objectProto.toString; + toString = objectProto.toString, + unshift = arrayRef.unshift; /* Native method shortcuts for methods with the same name as other `lodash` methods */ var nativeBind = reNative.test(nativeBind = toString.bind) && nativeBind, @@ -1417,30 +1418,47 @@ if (!isBindKey && !isFunction(func)) { throw new TypeError; } - var bindData = func && func.__bindData__; - if (bindData) { - if (isBind && !(bindData[1] & 1)) { - bindData[4] = thisArg; - } - if (isCurry && !(bindData[1] & 4)) { - bindData[5] = arity; - } - if (partialArgs) { - push.apply(bindData[2] || (bindData[2] = []), partialArgs); - } - if (partialRightArgs) { - push.apply(bindData[3] || (bindData[3] = []), partialRightArgs); - } - bindData[1] |= bitmask; - return createBound.apply(null, bindData); - } // use `Function#bind` if it exists and is fast // (in V8 `Function#bind` is slower except when partially applied) if (isBind && !(isBindKey || isCurry || isPartialRight) && - (support.fastBind || (nativeBind && partialArgs.length))) {; + (support.fastBind || (nativeBind && partialArgs.length))) { + var args = [func, thisArg]; + push.apply(args, partialArgs); + var bound = nativeBind.call.apply(nativeBind, args); + } + else { + bound = function() { + // `Function#bind` spec + // http://es5.github.io/#x15.3.4.5 + var args = arguments, + thisBinding = isBind ? thisArg : this; + + if (partialArgs) { + unshift.apply(args, partialArgs); + } + if (partialRightArgs) { + push.apply(args, partialRightArgs); + } + if (isCurry && args.length < arity) { + bindData[2] = args; + bindData[3] = null; + return createBound(bound, bitmask & ~8 & ~16); + } + if (isBindKey) { + func = thisBinding[key]; + } + if (this instanceof bound) { + // ensure `new bound` is an instance of `func` + thisBinding = createObject(func.prototype); + + // mimic the constructor's `return` behavior + // http://es5.github.io/#x13.2.2 + var result = func.apply(thisBinding, args); + return isObject(result) ? result : thisBinding; + } + return func.apply(thisBinding, args); + }; } - // take a snapshot of `arguments` before juggling - bindData = nativeSlice.call(arguments); if (isBindKey) { var key = thisArg; thisArg = func; diff --git a/dist/lodash.compat.min.js b/dist/lodash.compat.min.js index c530b57d9..d2558bf8a 100644 --- a/dist/lodash.compat.min.js +++ b/dist/lodash.compat.min.js @@ -5,50 +5,50 @@ */ ;!function(n){function t(n,t,r){r=(r||0)-1;for(var e=n?n.length:0;++rt||typeof n=="undefined")return 1;if(ne?1:0}function a(n){var t=-1,r=n.length,u=n[0],o=n[r-1];if(u&&typeof u=="object"&&o&&typeof o=="object")return b;for(u=c(),u["false"]=u["null"]=u["true"]=u.undefined=b,o=c(),o.b=n,o.k=u,o.push=e;++tr?0:r);++er?0:r);++e=E&&i===t,h=u||p?f():l; -if(p){var v=a(h);v?(i=r,h=v):(p=b,h=u?h:(s(h),l))}for(;++oi(h,y))&&((u||p)&&h.push(y),l.push(v))}return p?(s(h.b),g(h)):u&&s(h),l}function ot(n){return function(t,r,e){var u={};return r=_.createCallback(r,e,3),Et(t,function(t,e,o){e=tr(r(t,e,o)),n(u,t,e,o)}),u}}function at(n,t,r,e,u,o){var a=1&t,i=2&t,f=4&t;if(!i&&!mt(n))throw new rr;var c=n&&n.__bindData__;return c?(a&&!(1&c[1])&&(c[4]=u),f&&!(4&c[1])&&(c[5]=o),r&&vr.apply(c[2]||(c[2]=[]),r),e&&vr.apply(c[3]||(c[3]=[]),e),c[1]|=t,at.apply(d,c)):(Br.call(arguments),i&&(u=n),bound) -}function it(){var n=c();n.h=L,n.b=n.c=n.g=n.i="",n.e="t",n.j=m;for(var t,r=0;t=arguments[r];r++)for(var e in t)n[e]=t[e];r=n.a,n.d=/^[^,]+/.exec(r)[0],t=Qt,r="return function("+r+"){",e="var n,t="+n.d+",E="+n.e+";if(!t)return E;"+n.i+";",n.b?(e+="var u=t.length;n=-1;if("+n.b+"){",Rr.unindexedChars&&(e+="if(s(t)){t=t.split('')}"),e+="while(++nk;k++)e+="n='"+n.h[k]+"';if((!(r&&x[n])&&m.call(t,n))",n.j||(e+="||(!x[n]&&t[n]!==A[n])"),e+="){"+n.g+"}"; -e+="}"}return(n.b||Rr.nonEnumArgs)&&(e+="}"),e+=n.c+";return E",t=t("d,j,k,m,o,p,q,s,v,A,B,y,I,J,L",r+e+"}"),g(n),t(Y,G,ur,hr,x,gt,$r,_t,n.f,or,X,Fr,V,ar,_r)}function ft(n){return dt(n)?jr(n):{}}function ct(n){return Wr[n]}function lt(){var n=(n=_.indexOf)===Ft?t:n;return n}function pt(n){var t,r;return!n||_r.call(n)!=H||(t=n.constructor,mt(t)&&!(t instanceof t))||!Rr.argsClass&>(n)||!Rr.nodeClass&&l(n)?b:Rr.ownLast?(Qr(n,function(n,t,e){return r=hr.call(e,t),b}),r!==false):(Qr(n,function(n,t){r=t -}),r===y||hr.call(n,r))}function st(n){return Gr[n]}function gt(n){return n&&typeof n=="object"?_r.call(n)==T:b}function ht(n,t,r){var e=Lr(n),u=e.length;for(t=Y(t,r,3);u--&&(r=e[u],!(t(n[r],r,n)===false)););return n}function vt(n){var t=[];return Qr(n,function(n,r){mt(n)&&t.push(r)}),t.sort()}function yt(n){for(var t=-1,r=Lr(n),e=r.length,u={};++tr?Or(0,o+r):r)||0,o&&typeof o=="number"?a=-1<(_t(n)?n.indexOf(t,r):u(n,t,r)):Hr(n,function(n){return++eo&&(o=i) -}}else t=!t&&_t(n)?u:_.createCallback(t,r,3),Hr(n,function(n,r,u){r=t(n,r,u),r>e&&(e=r,o=n)});return o}function It(n,t,r,e){var u=3>arguments.length;if(t=Y(t,e,4),$r(n)){var o=-1,a=n.length;for(u&&(r=n[++o]);++oarguments.length;return t=Y(t,e,4),Ot(n,function(n,e,o){r=u?(u=b,n):t(r,n,e,o)}),r}function Pt(n,t,r){var e;if(t=_.createCallback(t,r,3),$r(n)){r=-1;for(var u=n.length;++r=E&&u===t;if(c){var l=a(i);l?(u=r,i=l):c=b}for(;++eu(i,l)&&f.push(l);return c&&g(i),f}function Dt(n,t,r){if(n){var e=0,u=n.length;if(typeof t!="number"&&t!=d){var o=-1;for(t=_.createCallback(t,r,3);++oe?Or(0,u+e):e||0}else if(e)return e=$t(n,r),n[e]===r?e:-1; -return n?t(n,r,e):-1}function Rt(n,t,r){if(typeof t!="number"&&t!=d){var e=0,u=-1,o=n?n.length:0;for(t=_.createCallback(t,r,3);++u>>1,r(n[e])r?0:r);++tc&&(i=n.apply(f,a));else{var r=new Vt;!s&&!v&&(l=r);var o=p-(r-l);0/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:D,variable:"",imports:{_:_}},jr||(ft=function(n){if(dt(n)){p.prototype=n;var t=new p;p.prototype=d}return t||{}}),Rr.argsClass||(gt=function(n){return n&&typeof n=="object"?hr.call(n,"callee"):b});var $r=kr||function(n){return n&&typeof n=="object"?_r.call(n)==q:b},zr=it({a:"z",e:"[]",i:"if(!(B[typeof z]))return E",g:"E.push(n)"}),Lr=Er?function(n){return dt(n)?Rr.enumPrototypes&&typeof n=="function"||Rr.nonEnumArgs&&n.length&>(n)?zr(n):Er(n):[] -}:zr,Tr={a:"g,e,K",i:"e=e&&typeof K=='undefined'?e:d(e,K,3)",b:"typeof u=='number'",v:Lr,g:"if(e(t[n],n,g)===false)return E"},qr={a:"z,H,l",i:"var a=arguments,b=0,c=typeof l=='number'?2:a.length;while(++b":">",'"':""","'":"'"},Gr=yt(Wr),Jr=nr("("+Lr(Gr).join("|")+")","g"),Mr=nr("["+Lr(Wr).join("")+"]","g"),Hr=it(Tr),Ur=it(qr,{i:qr.i.replace(";",";if(c>3&&typeof a[c-2]=='function'){var e=d(a[--c-1],a[c--],2)}else if(c>2&&typeof a[c-1]=='function'){e=a[--c]}"),g:"E[n]=e?e(E[n],t[n]):t[n]"}),Vr=it(qr),Qr=it(Tr,Kr,{j:b}),Xr=it(Tr,Kr); -mt(/x/)&&(mt=function(n){return typeof n=="function"&&_r.call(n)==J});var Yr=gr?function(n){if(!n||_r.call(n)!=H||!Rr.argsClass&>(n))return b;var t=n.valueOf,r=typeof t=="function"&&(r=gr(t))&&gr(r);return r?n==r||gr(n)==r:pt(n)}:pt,Zr=ot(function(n,t,r){hr.call(n,r)?n[r]++:n[r]=1}),ne=ot(function(n,t,r){(hr.call(n,r)?n[r]:n[r]=[]).push(t)}),te=ot(function(n,t,r){n[r]=t}),re=St;Nr&&nt&&typeof mr=="function"&&(Wt=function(n){if(!mt(n))throw new rr;return mr.apply(e,arguments)});var ee=8==Ar(S+"08")?Ar:function(n,t){return Ar(_t(n)?n.replace(F,""):n,t||0) -};return _.after=function(n,t){if(!mt(t))throw new rr;return function(){return 1>--n?t.apply(this,arguments):void 0}},_.assign=Ur,_.at=function(n){var t=-1,r=Z(arguments,m,b,1),e=r.length,u=Ht(e);for(Rr.unindexedChars&&_t(n)&&(n=n.split(""));++t=E&&a(o?e[o]:v) -}n:for(;++c(m?r(m,y):l(v,y))){for(o=u,(m||v).push(y);--o;)if(m=i[o],0>(m?r(m,y):l(e[o],y)))continue n;h.push(y)}}for(;u--;)(m=i[u])&&g(m);return s(i),s(v),h},_.invert=yt,_.invoke=function(n,t){var r=Br.call(arguments,2),e=-1,u=typeof t=="function",o=n?n.length:0,a=Ht(typeof o=="number"?o:0);return Et(n,function(n){a[++e]=(u?t:n[t]).apply(n,r)}),a},_.keys=Lr,_.map=St,_.max=At,_.memoize=function(n,t){function r(){var e=r.cache,u=C+(t?t.apply(this,arguments):arguments[0]); -return hr.call(e,u)?e[u]:e[u]=n.apply(this,arguments)}if(!mt(n))throw new rr;return r.cache={},r},_.merge=function(n){var t=arguments,r=2;if(!dt(n))return n;if("number"!=typeof t[2]&&(r=t.length),3e(a,r))&&(o[r]=n)}),o},_.once=function(n){var t,r;if(!mt(n))throw new rr;return function(){return t?r:(t=m,r=n.apply(this,arguments),n=d,r)}},_.pairs=function(n){for(var t=-1,r=Lr(n),e=r.length,u=Ht(e);++tr?Or(0,e+r):Sr(r,e-1))+1);e--;)if(n[e]===t)return e;return-1},_.mixin=Jt,_.noConflict=function(){return e._=ir,this},_.parseInt=ee,_.random=function(n,t){n==d&&t==d&&(t=1),n=+n||0,t==d?(t=n,n=0):t=+t||0;var r=Ir();return n%1||t%1?n+Sr(r*(t-n+parseFloat("1e-"+((r+"").length-1))),t):n+sr(r*(t-n+1))},_.reduce=It,_.reduceRight=Bt,_.result=function(n,t){var r=n?n[t]:y; -return mt(r)?n[t]():r},_.runInContext=v,_.size=function(n){var t=n?n.length:0;return typeof t=="number"?t:Lr(n).length},_.some=Pt,_.sortedIndex=$t,_.template=function(n,t,r){var e=_.templateSettings;n||(n=""),r=Vr({},r,e);var u,o=Vr({},r.imports,e.imports),e=Lr(o),o=wt(o),a=0,f=r.interpolate||R,c="__p+='",f=nr((r.escape||R).source+"|"+f.source+"|"+(f===D?P:R).source+"|"+(r.evaluate||R).source+"|$","g");n.replace(f,function(t,r,e,o,f,l){return e||(e=o),c+=n.slice(a,l).replace($,i),r&&(c+="'+__e("+r+")+'"),f&&(u=m,c+="';"+f+";__p+='"),e&&(c+="'+((__t=("+e+"))==null?'':__t)+'"),a=l+t.length,t -}),c+="';\n",f=r=r.variable,f||(r="obj",c="with("+r+"){"+c+"}"),c=(u?c.replace(A,""):c).replace(I,"$1").replace(B,"$1;"),c="function("+r+"){"+(f?"":r+"||("+r+"={});")+"var __t,__p='',__e=_.escape"+(u?",__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}":";")+c+"return __p}";try{var l=Qt(e,"return "+c).apply(y,o)}catch(p){throw p.source=c,p}return t?l(t):(l.source=c,l)},_.unescape=function(n){return n==d?"":tr(n).replace(Jr,st)},_.uniqueId=function(n){var t=++j;return tr(n==d?"":n)+t -},_.all=kt,_.any=Pt,_.detect=Ct,_.findWhere=Ct,_.foldl=It,_.foldr=Bt,_.include=jt,_.inject=It,Xr(_,function(n,t){_.prototype[t]||(_.prototype[t]=function(){var t=[this.__wrapped__],r=this.__chain__;return vr.apply(t,arguments),t=n.apply(_,t),r?new w(t,r):t})}),_.first=Dt,_.last=function(n,t,r){if(n){var e=0,u=n.length;if(typeof t!="number"&&t!=d){var o=u;for(t=_.createCallback(t,r,3);o--&&t(n[o],o,n);)e++}else if(e=t,e==d||r)return n[u-1];return h(n,Or(0,u-e))}},_.take=Dt,_.head=Dt,Xr(_,function(n,t){_.prototype[t]||(_.prototype[t]=function(t,r){var e=this.__chain__,u=n(this.__wrapped__,t,r); -return!e&&(t==d||r&&typeof t!="function")?u:new w(u,e)})}),_.VERSION="1.3.1",_.prototype.chain=function(){return this.__chain__=m,this},_.prototype.toString=function(){return tr(this.__wrapped__)},_.prototype.value=Mt,_.prototype.valueOf=Mt,Hr(["join","pop","shift"],function(n){var t=er[n];_.prototype[n]=function(){var n=this.__chain__,r=t.apply(this.__wrapped__,arguments);return n?new w(r,n):r}}),Hr(["push","reverse","sort","unshift"],function(n){var t=er[n];_.prototype[n]=function(){return t.apply(this.__wrapped__,arguments),this -}}),Hr(["concat","slice","splice"],function(n){var t=er[n];_.prototype[n]=function(){return new w(t.apply(this.__wrapped__,arguments),this.__chain__)}}),Rr.spliceObjects||Hr(["pop","shift","splice"],function(n){var t=er[n],r="splice"==n;_.prototype[n]=function(){var n=this.__chain__,e=this.__wrapped__,u=t.apply(e,arguments);return 0===e.length&&delete e[0],n||r?new w(u,n):u}}),_}var y,m=!0,d=null,b=!1,_=[],w=[],j=0,x={},C=+new Date+"",E=75,O=40,S=" \t\x0B\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000",A=/\b__p\+='';/g,I=/\b(__p\+=)''\+/g,B=/(__e\(.*?\)|\b__t\))\+'';/g,P=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,N=/\w*$/,D=/<%=([\s\S]+?)%>/g,F=RegExp("^["+S+"]*0+(?=.$)"),R=/($^)/,$=/['\n\r\t\u2028\u2029\\]/g,z="Array Boolean Date Error Function Math Number Object RegExp String _ attachEvent clearTimeout isFinite isNaN parseInt setImmediate setTimeout".split(" "),L="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" "),T="[object Arguments]",q="[object Array]",K="[object Boolean]",W="[object Date]",G="[object Error]",J="[object Function]",M="[object Number]",H="[object Object]",U="[object RegExp]",V="[object String]",Q={}; +if(i!=H||!$r.nodeClass&&(l(n)||l(t)))return b;var i=!$r.argsObject&>(n)?Zt:n.constructor,p=!$r.argsObject&>(t)?Zt:t.constructor;if(i!=p&&(!mt(i)||!(i instanceof i&&mt(p)&&p instanceof p)))return b}for(p=!u,u||(u=f()),o||(o=f()),i=u.length;i--;)if(u[i]==n)return o[i]==t;var g=0,a=m;if(u.push(n),o.push(t),c){if(i=n.length,g=t.length,a=g==n.length,!a&&!e)return a;for(;g--;)if(c=i,p=t[g],e)for(;c--&&!(a=tt(n[c],p,r,e,u,o)););else if(!(a=tt(n[g],p,r,e,u,o)))break;return a}return Xr(t,function(t,i,f){return hr.call(f,i)?(g++,a=hr.call(n,i)&&tt(n[i],t,r,e,u,o)):void 0 +}),a&&!e&&Xr(n,function(n,t,r){return hr.call(r,t)?a=-1<--g:void 0}),p&&(s(u),s(o)),a}function et(n,t,r,e,u){(zr(t)?Et:Yr)(t,function(t,o){var a,i,f=t,c=n[o];if(t&&((i=zr(t))||Zr(t))){for(f=e.length;f--;)if(a=e[f]==t){c=u[f];break}if(!a){var l;r&&(f=r(c,t),l=typeof f!="undefined")&&(c=f),l||(c=i?zr(c)?c:[]:Zr(c)?c:{}),e.push(t),u.push(c),l||et(c,t,r,e,u)}}else r&&(f=r(c,t),typeof f=="undefined"&&(f=t)),typeof f!="undefined"&&(c=f);n[o]=c})}function ut(n,e,u){var o=-1,i=lt(),c=n?n.length:0,l=[],p=!e&&c>=E&&i===t,h=u||p?f():l; +if(p){var v=a(h);v?(i=r,h=v):(p=b,h=u?h:(s(h),l))}for(;++oi(h,y))&&((u||p)&&h.push(y),l.push(v))}return p?(s(h.b),g(h)):u&&s(h),l}function ot(n){return function(t,r,e){var u={};return r=_.createCallback(r,e,3),Et(t,function(t,e,o){e=tr(r(t,e,o)),n(u,t,e,o)}),u}}function at(n,t,r,e,u,o){var a=1&t,i=2&t,f=4&t,c=16&t;if(!i&&!mt(n))throw new rr;if(!a||i||f||c||!($r.fastBind||jr&&r.length))l=function(){var c=arguments,s=a?u:this;return r&&wr.apply(c,r),e&&vr.apply(c,e),f&&c.lengthk;k++)e+="n='"+n.h[k]+"';if((!(r&&x[n])&&m.call(t,n))",n.j||(e+="||(!x[n]&&t[n]!==A[n])"),e+="){"+n.g+"}"; +e+="}"}return(n.b||$r.nonEnumArgs)&&(e+="}"),e+=n.c+";return E",t=t("d,j,k,m,o,p,q,s,v,A,B,y,I,J,L",r+e+"}"),g(n),t(Y,G,ur,hr,x,gt,zr,_t,n.f,or,X,Rr,V,ar,_r)}function ft(n){return dt(n)?kr(n):{}}function ct(n){return Gr[n]}function lt(){var n=(n=_.indexOf)===Ft?t:n;return n}function pt(n){var t,r;return!n||_r.call(n)!=H||(t=n.constructor,mt(t)&&!(t instanceof t))||!$r.argsClass&>(n)||!$r.nodeClass&&l(n)?b:$r.ownLast?(Xr(n,function(n,t,e){return r=hr.call(e,t),b}),r!==false):(Xr(n,function(n,t){r=t +}),r===y||hr.call(n,r))}function st(n){return Jr[n]}function gt(n){return n&&typeof n=="object"?_r.call(n)==T:b}function ht(n,t,r){var e=Tr(n),u=e.length;for(t=Y(t,r,3);u--&&(r=e[u],!(t(n[r],r,n)===false)););return n}function vt(n){var t=[];return Xr(n,function(n,r){mt(n)&&t.push(r)}),t.sort()}function yt(n){for(var t=-1,r=Tr(n),e=r.length,u={};++tr?Sr(0,o+r):r)||0,o&&typeof o=="number"?a=-1<(_t(n)?n.indexOf(t,r):u(n,t,r)):Ur(n,function(n){return++eo&&(o=i) +}}else t=!t&&_t(n)?u:_.createCallback(t,r,3),Ur(n,function(n,r,u){r=t(n,r,u),r>e&&(e=r,o=n)});return o}function It(n,t,r,e){var u=3>arguments.length;if(t=Y(t,e,4),zr(n)){var o=-1,a=n.length;for(u&&(r=n[++o]);++oarguments.length;return t=Y(t,e,4),Ot(n,function(n,e,o){r=u?(u=b,n):t(r,n,e,o)}),r}function Pt(n,t,r){var e;if(t=_.createCallback(t,r,3),zr(n)){r=-1;for(var u=n.length;++r=E&&u===t;if(c){var l=a(i);l?(u=r,i=l):c=b}for(;++eu(i,l)&&f.push(l);return c&&g(i),f}function Nt(n,t,r){if(n){var e=0,u=n.length;if(typeof t!="number"&&t!=d){var o=-1;for(t=_.createCallback(t,r,3);++oe?Sr(0,u+e):e||0}else if(e)return e=$t(n,r),n[e]===r?e:-1; +return n?t(n,r,e):-1}function Rt(n,t,r){if(typeof t!="number"&&t!=d){var e=0,u=-1,o=n?n.length:0;for(t=_.createCallback(t,r,3);++u>>1,r(n[e])r?0:r);++tc&&(i=n.apply(f,a));else{var r=new Vt;!s&&!v&&(l=r);var o=p-(r-l);0/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:N,variable:"",imports:{_:_}},kr||(ft=function(n){if(dt(n)){p.prototype=n;var t=new p;p.prototype=d}return t||{}}),$r.argsClass||(gt=function(n){return n&&typeof n=="object"?hr.call(n,"callee"):b});var zr=xr||function(n){return n&&typeof n=="object"?_r.call(n)==q:b},Lr=it({a:"z",e:"[]",i:"if(!(B[typeof z]))return E",g:"E.push(n)"}),Tr=Or?function(n){return dt(n)?$r.enumPrototypes&&typeof n=="function"||$r.nonEnumArgs&&n.length&>(n)?Lr(n):Or(n):[] +}:Lr,qr={a:"g,e,K",i:"e=e&&typeof K=='undefined'?e:d(e,K,3)",b:"typeof u=='number'",v:Tr,g:"if(e(t[n],n,g)===false)return E"},Kr={a:"z,H,l",i:"var a=arguments,b=0,c=typeof l=='number'?2:a.length;while(++b":">",'"':""","'":"'"},Jr=yt(Gr),Mr=nr("("+Tr(Jr).join("|")+")","g"),Hr=nr("["+Tr(Gr).join("")+"]","g"),Ur=it(qr),Vr=it(Kr,{i:Kr.i.replace(";",";if(c>3&&typeof a[c-2]=='function'){var e=d(a[--c-1],a[c--],2)}else if(c>2&&typeof a[c-1]=='function'){e=a[--c]}"),g:"E[n]=e?e(E[n],t[n]):t[n]"}),Qr=it(Kr),Xr=it(qr,Wr,{j:b}),Yr=it(qr,Wr); +mt(/x/)&&(mt=function(n){return typeof n=="function"&&_r.call(n)==J});var Zr=gr?function(n){if(!n||_r.call(n)!=H||!$r.argsClass&>(n))return b;var t=n.valueOf,r=typeof t=="function"&&(r=gr(t))&&gr(r);return r?n==r||gr(n)==r:pt(n)}:pt,ne=ot(function(n,t,r){hr.call(n,r)?n[r]++:n[r]=1}),te=ot(function(n,t,r){(hr.call(n,r)?n[r]:n[r]=[]).push(t)}),re=ot(function(n,t,r){n[r]=t}),ee=St;Nr&&nt&&typeof mr=="function"&&(Wt=function(n){if(!mt(n))throw new rr;return mr.apply(e,arguments)});var ue=8==Ir(S+"08")?Ir:function(n,t){return Ir(_t(n)?n.replace(F,""):n,t||0) +};return _.after=function(n,t){if(!mt(t))throw new rr;return function(){return 1>--n?t.apply(this,arguments):void 0}},_.assign=Vr,_.at=function(n){var t=-1,r=Z(arguments,m,b,1),e=r.length,u=Ht(e);for($r.unindexedChars&&_t(n)&&(n=n.split(""));++t=E&&a(o?e[o]:v) +}n:for(;++c(m?r(m,y):l(v,y))){for(o=u,(m||v).push(y);--o;)if(m=i[o],0>(m?r(m,y):l(e[o],y)))continue n;h.push(y)}}for(;u--;)(m=i[u])&&g(m);return s(i),s(v),h},_.invert=yt,_.invoke=function(n,t){var r=Pr.call(arguments,2),e=-1,u=typeof t=="function",o=n?n.length:0,a=Ht(typeof o=="number"?o:0);return Et(n,function(n){a[++e]=(u?t:n[t]).apply(n,r)}),a},_.keys=Tr,_.map=St,_.max=At,_.memoize=function(n,t){function r(){var e=r.cache,u=C+(t?t.apply(this,arguments):arguments[0]); +return hr.call(e,u)?e[u]:e[u]=n.apply(this,arguments)}if(!mt(n))throw new rr;return r.cache={},r},_.merge=function(n){var t=arguments,r=2;if(!dt(n))return n;if("number"!=typeof t[2]&&(r=t.length),3e(a,r))&&(o[r]=n)}),o},_.once=function(n){var t,r;if(!mt(n))throw new rr;return function(){return t?r:(t=m,r=n.apply(this,arguments),n=d,r)}},_.pairs=function(n){for(var t=-1,r=Tr(n),e=r.length,u=Ht(e);++tr?Sr(0,e+r):Ar(r,e-1))+1);e--;)if(n[e]===t)return e;return-1},_.mixin=Jt,_.noConflict=function(){return e._=ir,this},_.parseInt=ue,_.random=function(n,t){n==d&&t==d&&(t=1),n=+n||0,t==d?(t=n,n=0):t=+t||0;var r=Br();return n%1||t%1?n+Ar(r*(t-n+parseFloat("1e-"+((r+"").length-1))),t):n+sr(r*(t-n+1))},_.reduce=It,_.reduceRight=Bt,_.result=function(n,t){var r=n?n[t]:y; +return mt(r)?n[t]():r},_.runInContext=v,_.size=function(n){var t=n?n.length:0;return typeof t=="number"?t:Tr(n).length},_.some=Pt,_.sortedIndex=$t,_.template=function(n,t,r){var e=_.templateSettings;n||(n=""),r=Qr({},r,e);var u,o=Qr({},r.imports,e.imports),e=Tr(o),o=wt(o),a=0,f=r.interpolate||R,c="__p+='",f=nr((r.escape||R).source+"|"+f.source+"|"+(f===N?P:R).source+"|"+(r.evaluate||R).source+"|$","g");n.replace(f,function(t,r,e,o,f,l){return e||(e=o),c+=n.slice(a,l).replace($,i),r&&(c+="'+__e("+r+")+'"),f&&(u=m,c+="';"+f+";__p+='"),e&&(c+="'+((__t=("+e+"))==null?'':__t)+'"),a=l+t.length,t +}),c+="';\n",f=r=r.variable,f||(r="obj",c="with("+r+"){"+c+"}"),c=(u?c.replace(A,""):c).replace(I,"$1").replace(B,"$1;"),c="function("+r+"){"+(f?"":r+"||("+r+"={});")+"var __t,__p='',__e=_.escape"+(u?",__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}":";")+c+"return __p}";try{var l=Qt(e,"return "+c).apply(y,o)}catch(p){throw p.source=c,p}return t?l(t):(l.source=c,l)},_.unescape=function(n){return n==d?"":tr(n).replace(Mr,st)},_.uniqueId=function(n){var t=++j;return tr(n==d?"":n)+t +},_.all=kt,_.any=Pt,_.detect=Ct,_.findWhere=Ct,_.foldl=It,_.foldr=Bt,_.include=jt,_.inject=It,Yr(_,function(n,t){_.prototype[t]||(_.prototype[t]=function(){var t=[this.__wrapped__],r=this.__chain__;return vr.apply(t,arguments),t=n.apply(_,t),r?new w(t,r):t})}),_.first=Nt,_.last=function(n,t,r){if(n){var e=0,u=n.length;if(typeof t!="number"&&t!=d){var o=u;for(t=_.createCallback(t,r,3);o--&&t(n[o],o,n);)e++}else if(e=t,e==d||r)return n[u-1];return h(n,Sr(0,u-e))}},_.take=Nt,_.head=Nt,Yr(_,function(n,t){_.prototype[t]||(_.prototype[t]=function(t,r){var e=this.__chain__,u=n(this.__wrapped__,t,r); +return!e&&(t==d||r&&typeof t!="function")?u:new w(u,e)})}),_.VERSION="1.3.1",_.prototype.chain=function(){return this.__chain__=m,this},_.prototype.toString=function(){return tr(this.__wrapped__)},_.prototype.value=Mt,_.prototype.valueOf=Mt,Ur(["join","pop","shift"],function(n){var t=er[n];_.prototype[n]=function(){var n=this.__chain__,r=t.apply(this.__wrapped__,arguments);return n?new w(r,n):r}}),Ur(["push","reverse","sort","unshift"],function(n){var t=er[n];_.prototype[n]=function(){return t.apply(this.__wrapped__,arguments),this +}}),Ur(["concat","slice","splice"],function(n){var t=er[n];_.prototype[n]=function(){return new w(t.apply(this.__wrapped__,arguments),this.__chain__)}}),$r.spliceObjects||Ur(["pop","shift","splice"],function(n){var t=er[n],r="splice"==n;_.prototype[n]=function(){var n=this.__chain__,e=this.__wrapped__,u=t.apply(e,arguments);return 0===e.length&&delete e[0],n||r?new w(u,n):u}}),_}var y,m=!0,d=null,b=!1,_=[],w=[],j=0,x={},C=+new Date+"",E=75,O=40,S=" \t\x0B\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000",A=/\b__p\+='';/g,I=/\b(__p\+=)''\+/g,B=/(__e\(.*?\)|\b__t\))\+'';/g,P=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,D=/\w*$/,N=/<%=([\s\S]+?)%>/g,F=RegExp("^["+S+"]*0+(?=.$)"),R=/($^)/,$=/['\n\r\t\u2028\u2029\\]/g,z="Array Boolean Date Error Function Math Number Object RegExp String _ attachEvent clearTimeout isFinite isNaN parseInt setImmediate setTimeout".split(" "),L="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" "),T="[object Arguments]",q="[object Array]",K="[object Boolean]",W="[object Date]",G="[object Error]",J="[object Function]",M="[object Number]",H="[object Object]",U="[object RegExp]",V="[object String]",Q={}; Q[J]=b,Q[T]=Q[q]=Q[K]=Q[W]=Q[M]=Q[H]=Q[U]=Q[V]=m;var X={"boolean":b,"function":m,object:m,number:b,string:b,undefined:b},Y={"\\":"\\","'":"'","\n":"n","\r":"r","\t":"t","\u2028":"u2028","\u2029":"u2029"},Z=X[typeof exports]&&exports,nt=X[typeof module]&&module&&module.exports==Z&&module,tt=X[typeof global]&&global;!tt||tt.global!==tt&&tt.window!==tt||(n=tt);var rt=v();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(n._=rt, define(function(){return rt})):Z&&!Z.nodeType?nt?(nt.exports=rt)._=rt:Z._=rt:n._=rt }(this); \ No newline at end of file diff --git a/dist/lodash.underscore.js b/dist/lodash.underscore.js index f2b666df8..e525b60d0 100644 --- a/dist/lodash.underscore.js +++ b/dist/lodash.underscore.js @@ -180,7 +180,8 @@ floor = Math.floor, hasOwnProperty = objectProto.hasOwnProperty, push = arrayRef.push, - toString = objectProto.toString; + toString = objectProto.toString, + unshift = arrayRef.unshift; /* Native method shortcuts for methods with the same name as other `lodash` methods */ var nativeBind = reNative.test(nativeBind = toString.bind) && nativeBind, @@ -622,30 +623,47 @@ if (!isBindKey && !isFunction(func)) { throw new TypeError; } - var bindData = func && func.__bindData__; - if (bindData) { - if (isBind && !(bindData[1] & 1)) { - bindData[4] = thisArg; - } - if (isCurry && !(bindData[1] & 4)) { - bindData[5] = arity; - } - if (partialArgs) { - push.apply(bindData[2] || (bindData[2] = []), partialArgs); - } - if (partialRightArgs) { - push.apply(bindData[3] || (bindData[3] = []), partialRightArgs); - } - bindData[1] |= bitmask; - return createBound.apply(null, bindData); - } // use `Function#bind` if it exists and is fast // (in V8 `Function#bind` is slower except when partially applied) if (isBind && !(isBindKey || isCurry || isPartialRight) && - (support.fastBind || (nativeBind && partialArgs.length))) {; + (support.fastBind || (nativeBind && partialArgs.length))) { + var args = [func, thisArg]; + push.apply(args, partialArgs); + var bound = nativeBind.call.apply(nativeBind, args); + } + else { + bound = function() { + // `Function#bind` spec + // http://es5.github.io/#x15.3.4.5 + var args = arguments, + thisBinding = isBind ? thisArg : this; + + if (partialArgs) { + unshift.apply(args, partialArgs); + } + if (partialRightArgs) { + push.apply(args, partialRightArgs); + } + if (isCurry && args.length < arity) { + bindData[2] = args; + bindData[3] = null; + return createBound(bound, bitmask & ~8 & ~16); + } + if (isBindKey) { + func = thisBinding[key]; + } + if (this instanceof bound) { + // ensure `new bound` is an instance of `func` + thisBinding = createObject(func.prototype); + + // mimic the constructor's `return` behavior + // http://es5.github.io/#x13.2.2 + var result = func.apply(thisBinding, args); + return isObject(result) ? result : thisBinding; + } + return func.apply(thisBinding, args); + }; } - // take a snapshot of `arguments` before juggling - bindData = nativeSlice.call(arguments); if (isBindKey) { var key = thisArg; thisArg = func; diff --git a/dist/lodash.underscore.min.js b/dist/lodash.underscore.min.js index 4af7bfd97..2ab70f206 100644 --- a/dist/lodash.underscore.min.js +++ b/dist/lodash.underscore.min.js @@ -3,34 +3,35 @@ * Lo-Dash 1.3.1 (Custom Build) lodash.com/license | Underscore.js 1.5.1 underscorejs.org/LICENSE * Build: `lodash underscore exports="amd,commonjs,global,node" -o ./dist/lodash.underscore.js` */ -;!function(n){function r(n,r,t){t=(t||0)-1;for(var e=n?n.length:0;++tr||typeof n=="undefined")return 1;if(ne?1:0}function e(n){return"\\"+pr[n]}function u(n){return n instanceof u?n:new i(n)}function i(n,r){this.__chain__=!!r,this.__wrapped__=n}function o(n,r,t){if(typeof n!="function")return K;if(typeof r=="undefined")return n;switch(t){case 1:return function(t){return n.call(r,t) -};case 2:return function(t,e){return n.call(r,t,e)};case 3:return function(t,e,u){return n.call(r,t,e,u)};case 4:return function(t,e,u,i){return n.call(r,t,e,u,i)}}return G(n,r)}function a(n,r,t,e){e=(e||0)-1;for(var u=n?n.length:0,i=[];++eu(a,l))&&(t&&a.push(l),o.push(f))}return o}function c(n){return function(r,t,e){var u={};return t=H(t,e,3),N(r,function(r,e,i){e=t(r,e,i)+"",n(u,r,e,i)}),u}}function p(n,r,t,e,u,i){var o=1&r,a=2&r,f=4&r;if(!a&&!w(n))throw new TypeError; -var l=n&&n.__bindData__;return l?(o&&!(1&l[1])&&(l[4]=u),f&&!(4&l[1])&&(l[5]=i),t&&jr.apply(l[2]||(l[2]=[]),t),e&&jr.apply(l[3]||(l[3]=[]),e),l[1]|=r,p.apply(null,l)):(kr.call(arguments),a&&(u=n),bound)}function s(n){return zr[n]}function v(){var n=(n=u.indexOf)===C?r:n;return n}function h(n){return Cr[n]}function g(n){return n&&typeof n=="object"?xr.call(n)==tr:!1}function y(n){if(!n)return n;for(var r=1,t=arguments.length;re&&(e=t,u=n)});else for(;++iu&&(u=t);return u}function B(n,r){var t=-1,e=n?n.length:0;if(typeof e=="number")for(var u=Array(e);++targuments.length;r=o(r,e,4);var i=-1,a=n.length;if(typeof a=="number")for(u&&(t=n[++i]);++iarguments.length;return r=o(r,e,4),R(n,function(n,e,i){t=u?(u=!1,n):r(t,n,e,i)}),t}function $(n,r,t){var e;r=H(r,t,3),t=-1;var u=n?n.length:0;if(typeof u=="number")for(;++tt(u,o)&&i.push(o)}return i}function z(n,r,t){if(n){var e=0,u=n.length;if(typeof r!="number"&&null!=r){var i=-1;for(r=H(r,t,3);++ie?Nr(0,u+e):e||0}else if(e)return e=U(n,t),n[e]===t?e:-1;return n?r(n,t,e):-1 -}function P(n,r,t){if(typeof r!="number"&&null!=r){var e=0,u=-1,i=n?n.length:0;for(r=H(r,t,3);++u>>1,t(n[e])o&&(u=n.apply(i,e));else{var t=new Date;!l&&!s&&(a=t);var p=f-(t-a);0/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,variable:""},g(arguments)||(g=function(n){return n&&typeof n=="object"?wr.call(n,"callee"):!1});var $r=Tr||function(n){return n&&typeof n=="object"?xr.call(n)==er:!1},Ir=function(n){var r,t=[];if(!n||!cr[typeof n])return t;for(r in n)wr.call(n,r)&&t.push(r);return t -},Wr=Fr?function(n){return j(n)?Fr(n):[]}:Ir,zr={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"},Cr=d(zr),Pr=RegExp("("+Wr(Cr).join("|")+")","g"),Ur=RegExp("["+Wr(zr).join("")+"]","g"),Vr=function(n,r){var t;if(!n||!cr[typeof n])return n;for(t in n)if(r(n[t],t,n)===Y)break;return n},Gr=function(n,r){var t;if(!n||!cr[typeof n])return n;for(t in n)if(wr.call(n,t)&&r(n[t],t,n)===Y)break;return n};w(/x/)&&(w=function(n){return typeof n=="function"&&"[object Function]"==xr.call(n) -});var Hr=c(function(n,r,t){wr.call(n,t)?n[t]++:n[t]=1}),Jr=c(function(n,r,t){(wr.call(n,t)?n[t]:n[t]=[]).push(r)});u.after=function(n,r){if(!w(r))throw new TypeError;return function(){return 1>--n?r.apply(this,arguments):void 0}},u.bind=G,u.bindAll=function(n){for(var r=1u(o,a)){for(var f=t;--f;)if(0>u(r[f],a))continue n;o.push(a)}}return o},u.invert=d,u.invoke=function(n,r){var t=kr.call(arguments,2),e=-1,u=typeof r=="function",i=n?n.length:0,o=Array(typeof i=="number"?i:0); -return N(n,function(n){o[++e]=(u?r:n[r]).apply(n,t)}),o},u.keys=Wr,u.map=D,u.max=k,u.memoize=function(n,r){var t={};return function(){var e=Z+(r?r.apply(this,arguments):arguments[0]);return wr.call(t,e)?t[e]:t[e]=n.apply(this,arguments)}},u.min=function(n,r,t){var e=1/0,u=e,i=-1,o=n?n.length:0;if(r||typeof o!="number")r=H(r,t,3),N(n,function(n,t,i){t=r(n,t,i),tr(t,u)&&(e[u]=n) -}),e},u.once=function(n){var r,t;if(!w(n))throw new TypeError;return function(){return r?t:(r=!0,t=n.apply(this,arguments),n=null,t)}},u.pairs=function(n){for(var r=-1,t=Wr(n),e=t.length,u=Array(e);++rr?0:r);++nt?Nr(0,e+t):Rr(t,e-1))+1);e--;)if(n[e]===r)return e;return-1},u.mixin=L,u.noConflict=function(){return n._=mr,this},u.random=function(n,r){null==n&&null==r&&(r=1),n=+n||0,null==r?(r=n,n=0):r=+r||0;var t=Dr();return n%1||r%1?n+Rr(t*(r-n+parseFloat("1e-"+((t+"").length-1))),r):n+br(t*(r-n+1)) -},u.reduce=q,u.reduceRight=M,u.result=function(n,r){var t=n?n[r]:Q;return w(t)?n[r]():t},u.size=function(n){var r=n?n.length:0;return typeof r=="number"?r:Wr(n).length},u.some=$,u.sortedIndex=U,u.template=function(n,r,t){var i=u,o=i.templateSettings;n||(n=""),t=m({},t,o);var a=0,f="__p+='",o=t.variable;n.replace(RegExp((t.escape||nr).source+"|"+(t.interpolate||nr).source+"|"+(t.evaluate||nr).source+"|$","g"),function(r,t,u,i,o){return f+=n.slice(a,o).replace(rr,e),t&&(f+="'+_.escape("+t+")+'"),i&&(f+="';"+i+";__p+='"),u&&(f+="'+((__t=("+u+"))==null?'':__t)+'"),a=o+r.length,r -}),f+="';\n",o||(o="obj",f="with("+o+"||{}){"+f+"}"),f="function("+o+"){var __t,__p='',__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}"+f+"return __p}";try{var l=Function("_","return "+f)(i)}catch(c){throw c.source=f,c}return r?l(r):(l.source=f,l)},u.unescape=function(n){return null==n?"":(n+"").replace(Pr,h)},u.uniqueId=function(n){var r=++X+"";return n?n+r:r},u.all=O,u.any=$,u.detect=F,u.findWhere=function(n,r){return I(n,r,!0)},u.foldl=q,u.foldr=M,u.include=T,u.inject=q,u.first=z,u.last=function(n,r,t){if(n){var e=0,u=n.length; -if(typeof r!="number"&&null!=r){var i=u;for(r=H(r,t,3);i--&&r(n[i],i,n);)e++}else if(e=r,null==e||t)return n[u-1];return kr.call(n,Nr(0,u-e))}},u.take=z,u.head=z,L(u),u.VERSION="1.3.1",u.prototype.chain=function(){return this.__chain__=!0,this},u.prototype.value=function(){return this.__wrapped__},N("pop push reverse shift sort splice unshift".split(" "),function(n){var r=gr[n];u.prototype[n]=function(){var n=this.__wrapped__;return r.apply(n,arguments),!Mr.spliceObjects&&0===n.length&&delete n[0],this -}}),N(["concat","join","slice"],function(n){var r=gr[n];u.prototype[n]=function(){var n=r.apply(this.__wrapped__,arguments);return this.__chain__&&(n=new i(n),n.__chain__=!0),n}}),typeof define=="function"&&typeof define.amd=="object"&&define.amd?(n._=u, define(function(){return u})):sr&&!sr.nodeType?vr?(vr.exports=u)._=u:sr._=u:n._=u}(this); \ No newline at end of file +;!function(n){function r(n,r,t){t=(t||0)-1;for(var e=n?n.length:0;++tr||typeof n=="undefined")return 1;if(ne?1:0}function e(n){return"\\"+vr[n]}function u(){}function i(n){return n instanceof i?n:new o(n)}function o(n,r){this.__chain__=!!r,this.__wrapped__=n}function a(n,r,t){if(typeof n!="function")return Q;if(typeof r=="undefined")return n;switch(t){case 1:return function(t){return n.call(r,t) +};case 2:return function(t,e){return n.call(r,t,e)};case 3:return function(t,e,u){return n.call(r,t,e,u)};case 4:return function(t,e,u,i){return n.call(r,t,e,u,i)}}return J(n,r)}function f(n,r,t,e){e=(e||0)-1;for(var u=n?n.length:0,i=[];++eu(a,l))&&(t&&a.push(l),o.push(f))}return o}function p(n){return function(r,t,e){var u={};return t=K(t,e,3),R(r,function(r,e,i){e=t(r,e,i)+"",n(u,r,e,i)}),u}}function s(n,r,t,e,u,i){var o=1&r,a=2&r,f=4&r,l=16&r; +if(!a&&!x(n))throw new TypeError;if(!o||a||f||l||!(Wr.fastBind||Or&&t.length))c=function(){var l=arguments,h=o?u:this;return t&&Tr.apply(l,t),e&&Er.apply(l,e),f&&l.lengthe&&(e=t,u=n)});else for(;++iu&&(u=t);return u}function M(n,r){var t=-1,e=n?n.length:0;if(typeof e=="number")for(var u=Array(e);++targuments.length;r=a(r,e,4);var i=-1,o=n.length;if(typeof o=="number")for(u&&(t=n[++i]);++iarguments.length;return r=a(r,e,4),B(n,function(n,e,i){t=u?(u=!1,n):r(t,n,e,i)}),t}function W(n,r,t){var e;r=K(r,t,3),t=-1;var u=n?n.length:0;if(typeof u=="number")for(;++tt(u,o)&&i.push(o)}return i}function P(n,r,t){if(n){var e=0,u=n.length; +if(typeof r!="number"&&null!=r){var i=-1;for(r=K(r,t,3);++ie?Br(0,u+e):e||0}else if(e)return e=G(n,t),n[e]===t?e:-1;return n?r(n,t,e):-1}function V(n,r,t){if(typeof r!="number"&&null!=r){var e=0,u=-1,i=n?n.length:0;for(r=K(r,t,3);++u>>1,t(n[e])o&&(u=n.apply(i,e));else{var t=new Date;!l&&!s&&(a=t);var p=f-(t-a);0/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,variable:""},Sr||(v=function(n){if(E(n)){u.prototype=n;var r=new u;u.prototype=null}return r||{}}),m(arguments)||(m=function(n){return n&&typeof n=="object"?xr.call(n,"callee"):!1});var zr=Dr||function(n){return n&&typeof n=="object"?Ar.call(n)==ir:!1},Cr=function(n){var r,t=[]; +if(!n||!sr[typeof n])return t;for(r in n)xr.call(n,r)&&t.push(r);return t},Pr=Rr?function(n){return E(n)?Rr(n):[]}:Cr,Ur={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"},Vr=w(Ur),Gr=RegExp("("+Pr(Vr).join("|")+")","g"),Hr=RegExp("["+Pr(Ur).join("")+"]","g"),Jr=function(n,r){var t;if(!n||!sr[typeof n])return n;for(t in n)if(r(n[t],t,n)===nr)break;return n},Kr=function(n,r){var t;if(!n||!sr[typeof n])return n;for(t in n)if(xr.call(n,t)&&r(n[t],t,n)===nr)break;return n};x(/x/)&&(x=function(n){return typeof n=="function"&&"[object Function]"==Ar.call(n) +});var Lr=p(function(n,r,t){xr.call(n,t)?n[t]++:n[t]=1}),Qr=p(function(n,r,t){(xr.call(n,t)?n[t]:n[t]=[]).push(r)});i.after=function(n,r){if(!x(r))throw new TypeError;return function(){return 1>--n?r.apply(this,arguments):void 0}},i.bind=J,i.bindAll=function(n){for(var r=1u(o,a)){for(var f=t;--f;)if(0>u(r[f],a))continue n;o.push(a)}}return o},i.invert=w,i.invoke=function(n,r){var t=Mr.call(arguments,2),e=-1,u=typeof r=="function",i=n?n.length:0,o=Array(typeof i=="number"?i:0); +return R(n,function(n){o[++e]=(u?r:n[r]).apply(n,t)}),o},i.keys=Pr,i.map=k,i.max=q,i.memoize=function(n,r){var t={};return function(){var e=rr+(r?r.apply(this,arguments):arguments[0]);return xr.call(t,e)?t[e]:t[e]=n.apply(this,arguments)}},i.min=function(n,r,t){var e=1/0,u=e,i=-1,o=n?n.length:0;if(r||typeof o!="number")r=K(r,t,3),R(n,function(n,t,i){t=r(n,t,i),tr(t,u)&&(e[u]=n) +}),e},i.once=function(n){var r,t;if(!x(n))throw new TypeError;return function(){return r?t:(r=!0,t=n.apply(this,arguments),n=null,t)}},i.pairs=function(n){for(var r=-1,t=Pr(n),e=t.length,u=Array(e);++rr?0:r);++nt?Br(0,e+t):kr(t,e-1))+1);e--;)if(n[e]===r)return e;return-1},i.mixin=X,i.noConflict=function(){return n._=dr,this},i.random=function(n,r){null==n&&null==r&&(r=1),n=+n||0,null==r?(r=n,n=0):r=+r||0;var t=qr();return n%1||r%1?n+kr(t*(r-n+parseFloat("1e-"+((t+"").length-1))),r):n+jr(t*(r-n+1)) +},i.reduce=$,i.reduceRight=I,i.result=function(n,r){var t=n?n[r]:Y;return x(t)?n[r]():t},i.size=function(n){var r=n?n.length:0;return typeof r=="number"?r:Pr(n).length},i.some=W,i.sortedIndex=G,i.template=function(n,r,t){var u=i,o=u.templateSettings;n||(n=""),t=d({},t,o);var a=0,f="__p+='",o=t.variable;n.replace(RegExp((t.escape||tr).source+"|"+(t.interpolate||tr).source+"|"+(t.evaluate||tr).source+"|$","g"),function(r,t,u,i,o){return f+=n.slice(a,o).replace(er,e),t&&(f+="'+_.escape("+t+")+'"),i&&(f+="';"+i+";__p+='"),u&&(f+="'+((__t=("+u+"))==null?'':__t)+'"),a=o+r.length,r +}),f+="';\n",o||(o="obj",f="with("+o+"||{}){"+f+"}"),f="function("+o+"){var __t,__p='',__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}"+f+"return __p}";try{var l=Function("_","return "+f)(u)}catch(c){throw c.source=f,c}return r?l(r):(l.source=f,l)},i.unescape=function(n){return null==n?"":(n+"").replace(Gr,y)},i.uniqueId=function(n){var r=++Z+"";return n?n+r:r},i.all=D,i.any=W,i.detect=N,i.findWhere=function(n,r){return z(n,r,!0)},i.foldl=$,i.foldr=I,i.include=S,i.inject=$,i.first=P,i.last=function(n,r,t){if(n){var e=0,u=n.length; +if(typeof r!="number"&&null!=r){var i=u;for(r=K(r,t,3);i--&&r(n[i],i,n);)e++}else if(e=r,null==e||t)return n[u-1];return Mr.call(n,Br(0,u-e))}},i.take=P,i.head=P,X(i),i.VERSION="1.3.1",i.prototype.chain=function(){return this.__chain__=!0,this},i.prototype.value=function(){return this.__wrapped__},R("pop push reverse shift sort splice unshift".split(" "),function(n){var r=mr[n];i.prototype[n]=function(){var n=this.__wrapped__;return r.apply(n,arguments),!Wr.spliceObjects&&0===n.length&&delete n[0],this +}}),R(["concat","join","slice"],function(n){var r=mr[n];i.prototype[n]=function(){var n=r.apply(this.__wrapped__,arguments);return this.__chain__&&(n=new o(n),n.__chain__=!0),n}}),typeof define=="function"&&typeof define.amd=="object"&&define.amd?(n._=i, define(function(){return i})):hr&&!hr.nodeType?gr?(gr.exports=i)._=i:hr._=i:n._=i}(this); \ No newline at end of file