Reduce the complexity of a minor Underscore build optimization.

This commit is contained in:
John-David Dalton
2014-01-31 09:12:50 -08:00
parent 733da570c8
commit 6779c9eb36
2 changed files with 37 additions and 35 deletions

View File

@@ -614,6 +614,7 @@
} else {
baseForOwn(collection, callback);
}
return collection;
}
/**
@@ -638,6 +639,7 @@
} else {
baseForOwnRight(collection, callback);
}
return collection;
}
/**

View File

@@ -3,38 +3,38 @@
* Lo-Dash 2.4.1 (Custom Build) lodash.com/license | Underscore.js 1.5.2 underscorejs.org/LICENSE
* Build: `lodash underscore exports="amd,commonjs,global,node" -o ./dist/lodash.underscore.js`
*/
;(function(){function n(n,r,t){t=(t||0)-1;for(var e=n?n.length:0;++t<e;)if(n[t]===r)return t;return-1}function r(n,r){var t;n:{t=n.f;var e=r.f;if(t!==e){if(t>e||typeof t=="undefined"){t=1;break n}if(t<e||typeof e=="undefined"){t=-1;break n}}t=0}return t||n.g-r.g}function t(n){return Tr[n]}function e(n){return"\\"+Or[n]}function u(n){return Ar[n]}function o(n){return n instanceof o?n:new i(n)}function i(n,r){this.__chain__=!!r,this.__wrapped__=n}function f(n){function r(){if(u){var n=A(u);Pr.apply(n,arguments)
}if(this instanceof r){var o=a(t.prototype),n=t.apply(o,n||arguments);return J(n)?n:o}return t.apply(e,n||arguments)}var t=n[0],e=n[3],u=n[4];return r}function a(n){return J(n)?Gr(n):{}}function l(n,r,t){if(typeof n!="function")return Y;if(typeof r=="undefined"||!("prototype"in n))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,o){return n.call(r,t,e,u,o)
}}return z(n,r)}function c(n){function r(){var n=l?o:this;if(i){var h=A(i);Pr.apply(h,arguments)}if(f||s){h||(h=A(arguments)),f&&Pr.apply(h,f);var y=arguments.length;if(s&&y<u)return e|=fr,e&=~ar,g||(e&=~(er|ur)),n=Qr(0,u-y),c([t,e,n,o,h])}return h||(h=arguments),p&&(t=n[v]),this instanceof r?(n=a(t.prototype),h=t.apply(n,h),J(h)?h:n):t.apply(n,h)}var t=n[0],e=n[1],u=n[2],o=n[3],i=n[4],f=n[5],l=e&er,p=e&ur,s=e&or,g=e&ir,v=t;return r}function p(n,r){for(var t=-1,e=_(),u=n?n.length:0,o=[];++t<u;){var i=n[t];
0>e(r,i)&&o.push(i)}return o}function s(n,r){var t=-1,e=n?n.length:0;if(typeof e=="number")for(;++t<e&&r(n[t],t,n)!==cr;);else for(var t=-1,e=at(n),u=e.length;++t<u;){var o=e[t];if(r(n[o],o,n)===cr)break}}function g(n,r){var t=n?n.length:0;if(typeof t=="number")for(;t--&&r(n[t],t,n)!==cr;);else for(var t=at(n),e=t.length;e--;){var u=t[e];if(r(n[u],u,n)===cr)break}}function v(n,r,t,e){e=(e||0)-1;for(var u=n?n.length:0,o=[];++e<u;){var i=n[e];if(i&&typeof i=="object"&&typeof i.length=="number"&&(ft(i)||w(i))){r||(i=v(i,r,t));
var f=-1,a=i.length,l=o.length;for(o.length+=a;++f<a;)o[l++]=i[f]}else t||o.push(i)}return o}function h(n,r,t,e){if(n===r)return 0!==n||1/n==1/r;var u=typeof n,i=typeof r;if(n===n&&(!n||"function"!=u&&"object"!=u)&&(!r||"function"!=i&&"object"!=i))return false;if(null==n||null==r)return n===r;if(i=Ir.call(n),u=Ir.call(r),i!=u)return false;switch(i){case br:case _r:return+n==+r;case dr:return n!=+n?r!=+r:0==n?1/n==1/r:n==+r;case jr:case xr:return n==r+""}if(u=i==mr,!u){var f=n instanceof o,a=r instanceof o;
if(f||a)return h(f?n.__wrapped__:n,a?r.__wrapped__:r,t,e);if(i!=wr)return false;if(i=Cr.call(n,"constructor"),f=Cr.call(r,"constructor"),i!==f||!i&&(i=n.constructor,f=r.constructor,i!=f&&!(H(i)&&i instanceof i&&H(f)&&f instanceof f)&&"constructor"in n&&"constructor"in r))return false}for(t||(t=[]),e||(e=[]),i=t.length;i--;)if(t[i]==n)return e[i]==r;var l=true,c=0;if(t.push(n),e.push(r),u){if(c=r.length,l=c==n.length)for(;c--&&(l=h(n[c],r[c],t,e)););}else rt(r,function(r,u,o){return Cr.call(o,u)?(c++,!(l=Cr.call(n,u)&&h(n[u],r,t,e))&&cr):void 0
}),l&&rt(n,function(n,r,t){return Cr.call(t,r)?!(l=-1<--c)&&cr:void 0});return t.pop(),e.pop(),l}function y(n,r,t){for(var e=-1,u=_(),o=n?n.length:0,i=[],f=t?[]:i;++e<o;){var a=n[e],l=t?t(a,e,n):a;(r?!e||f[f.length-1]!==l:0>u(f,l))&&(t&&f.push(l),i.push(a))}return i}function m(n){return function(r,t,e){var u={};t=X(t,e,3),e=-1;var o=r?r.length:0;if(typeof o=="number")for(;++e<o;){var i=r[e];n(u,i,t(i,e,r),r)}else s(r,function(r,e,o){n(u,r,t(r,e,o),o)});return u}}function b(n,r,t,e,u,o){var i=r&ur,a=r&fr,l=r&ar;
if(!i&&!H(n))throw new TypeError;return a&&!u.length&&(r&=~fr,u=false),l&&!o.length&&(r&=~ar,o=false),null==t?t=i?0:n.length:0>t&&(t=0),n=[n,r,t,e,u,o],r==er||r==(er|fr)?f(n):c(n)}function _(){var r=(r=o.indexOf)===x?n:r;return r}function d(n){return typeof n=="function"&&Mr.test(zr.call(n))}function w(n){return n&&typeof n=="object"&&typeof n.length=="number"&&Ir.call(n)==yr||false}function j(n,r,t){var e=0,u=n?n.length:0;if(typeof r!="number"&&null!=r){var o=-1;for(r=X(r,t,3);++o<u&&r(n[o],o,n);)e++}else if(e=r,null==e||t)return n?n[0]:tr;
return A(n,0,0<e?e:0)}function x(r,t,e){var u=r?r.length:0;if(typeof e=="number")e=0>e?Qr(0,u+e):e||0;else if(e)return e=E(r,t),u&&r[e]===t?e:-1;return n(r,t,e)}function T(n,r,t){if(typeof r!="number"&&null!=r){var e=0,u=-1,o=n?n.length:0;for(r=X(r,t,3);++u<o&&r(n[u],u,n);)e++}else e=null==r||t?1:0<r?r:0;return A(n,e)}function A(n,r,t){var e=-1,u=n?n.length:0;for(typeof r=="undefined"?r=0:0>r?r=Qr(u+r,0):r>u&&(r=u),typeof t=="undefined"?t=u:0>t?t=Qr(u+t,0):t>u&&(t=u),u=t-r||0,t=Array(u);++e<u;)t[e]=n[r+e];
return t}function E(n,r,t,e){var u=0,o=n?n.length:u;for(t=t?X(t,e,1):Y,r=t(r);u<o;)e=u+o>>>1,t(n[e])<r?u=e+1:o=e;return u}function O(n,r,t,e){var u=typeof r;return"boolean"!=u&&null!=r&&(e=t,t=r,r=false,"number"!=u&&"string"!=u||!e||e[t]!==n||(t=null)),null!=t&&(t=X(t,e,3)),y(n,r,t)}function S(n,r){var t=_(),e=n?n.length:0,u=false;return e&&typeof e=="number"?u=-1<t(n,r):s(n,function(n){return(u=n===r)&&cr}),u}function k(n,r,t){var e=true;r=X(r,t,3),t=-1;var u=n?n.length:0;if(typeof u=="number")for(;++t<u&&(e=!!r(n[t],t,n)););else s(n,function(n,t,u){return!(e=!!r(n,t,u))&&cr
});return e}function N(n,r,t){var e=[];r=X(r,t,3),t=-1;var u=n?n.length:0;if(typeof u=="number")for(;++t<u;){var o=n[t];r(o,t,n)&&e.push(o)}else s(n,function(n,t,u){r(n,t,u)&&e.push(n)});return e}function q(n,r,t){r=X(r,t,3),t=-1;var e=n?n.length:0;if(typeof e!="number"){var u;return s(n,function(n,t,e){return r(n,t,e)?(u=n,cr):void 0}),u}for(;++t<e;){var o=n[t];if(r(o,t,n))return o}}function F(n,r,t){var e=-1,u=n?n.length:0;if(r=r&&typeof t=="undefined"?r:l(r,t,3),typeof u=="number")for(;++e<u&&r(n[e],e,n)!==cr;);else s(n,r)
}function B(n,r,t){var e=-1,u=n?n.length:0;if(r=X(r,t,3),typeof u=="number")for(var o=Array(u);++e<u;)o[e]=r(n[e],e,n);else o=[],s(n,function(n,t,u){o[++e]=r(n,t,u)});return o}function R(n,r,t){var e=-1/0,u=e,o=typeof r;"number"!=o&&"string"!=o||!t||t[r]!==n||(r=null);var o=-1,i=n?n.length:0;if(null==r&&typeof i=="number")for(;++o<i;)t=n[o],t>u&&(u=t);else r=X(r,t,3),s(n,function(n,t,o){t=r(n,t,o),t>e&&(e=t,u=n)});return u}function $(n,r,t,e){var u=3>arguments.length;r=X(r,e,4);var o=-1,i=n?n.length:0;
if(typeof i=="number")for(u&&i&&(t=n[++o]);++o<i;)t=r(t,n[o],o,n);else s(n,function(n,e,o){t=u?(u=false,n):r(t,n,e,o)});return t}function I(n,r,t,e){var u=3>arguments.length;return r=X(r,e,4),g(n,function(n,e,o){t=u?(u=false,n):r(t,n,e,o)}),t}function M(n){var r=-1,t=n?n.length:0,e=Array(typeof t=="number"?t:0);return s(n,function(n){var t;t=++r,t=0+Wr(Zr()*(t-0+1)),e[r]=e[t],e[t]=n}),e}function D(n,r,t){var e;r=X(r,t,3),t=-1;var u=n?n.length:0;if(typeof u=="number")for(;++t<u&&!(e=r(n[t],t,n)););else s(n,function(n,t,u){return(e=r(n,t,u))&&cr
});return!!e}function W(n,r,t){return t&&G(r)?tr:(t?q:N)(n,r)}function z(n,r){if(3>arguments.length)return b(n,er,null,r);var t=n&&(n[lr]?n[lr][2]:n.length),e=A(arguments,2),t=t-e.length;return b(n,er|fr,t,r,e)}function C(n,r,t){var e,u,o,i,f,a,l,c=0,p=false,s=true;if(!H(n))throw new TypeError;if(r=Qr(0,r)||0,true===t)var g=true,s=false;else J(t)&&(g=t.leading,p="maxWait"in t&&(Qr(r,t.maxWait)||0),s="trailing"in t?t.trailing:s);var v=function(){var t=r-(lt()-i);0<t?a=setTimeout(v,t):(u&&clearTimeout(u),t=l,u=a=l=tr,t&&(c=lt(),o=n.apply(f,e),a||u||(e=f=null)))
},h=function(){a&&clearTimeout(a),u=a=l=tr,(s||p!==r)&&(c=lt(),o=n.apply(f,e),a||u||(e=f=null))};return function(){if(e=arguments,i=lt(),f=this,l=s&&(a||!g),false===p)var t=g&&!a;else{u||g||(c=i);var y=p-(i-c),m=0>=y;m?(u&&(u=clearTimeout(u)),c=i,o=n.apply(f,e)):u||(u=setTimeout(h,y))}return m&&a?a=clearTimeout(a):a||r===p||(a=setTimeout(v,r)),t&&(m=true,o=n.apply(f,e)),!m||a||u||(e=f=null),o}}function P(n,r,t){if(!n)return n;var e=arguments,u=0,o=e.length,i=typeof t;for("number"!=i&&"string"!=i||!e[3]||e[3][t]!==r||(o=2);++u<o;)if(r=e[u])for(var f in r)n[f]=r[f];
return n}function U(n,r,t){if(!n)return n;var e=arguments,u=0,o=e.length,i=typeof t;for("number"!=i&&"string"!=i||!e[3]||e[3][t]!==r||(o=2);++u<o;)if(r=e[u])for(var f in r)"undefined"==typeof n[f]&&(n[f]=r[f]);return n}function V(n){var r=[];return rt(n,function(n,t){H(n)&&r.push(t)}),r.sort()}function G(n){if(!n)return true;if(ft(n)||L(n))return!n.length;for(var r in n)if(Cr.call(n,r))return false;return true}function H(n){return typeof n=="function"}function J(n){var r=typeof n;return n&&("function"==r||"object"==r)||false
}function K(n){var r=typeof n;return"number"==r||n&&"object"==r&&Ir.call(n)==dr||false}function L(n){return typeof n=="string"||n&&typeof n=="object"&&Ir.call(n)==xr||false}function Q(n){for(var r=-1,t=at(n),e=t.length,u=Array(e);++r<e;)u[r]=n[t[r]];return u}function X(n,r,t){var e=typeof n;return null==n||"function"==e?l(n,r,t):"object"!=e?rr(n):Z(n)}function Y(n){return n}function Z(n){n||(n={});var r=at(n);return function(t){for(var e=r.length,u=false;e--&&(u=r[e],u=Cr.call(t,u)&&t[u]===n[u]););return u
}}function nr(n){for(var r=-1,t=V(n),e=t.length;++r<e;){var u=t[r];o.prototype[u]=function(){var r=o[u]=n[u];return function(){var n=[this.__wrapped__];return Pr.apply(n,arguments),n=r.apply(o,n),this.__chain__?new i(n,true):n}}()}}function rr(n){return function(r){return r[n]}}var tr,er=1,ur=2,or=4,ir=8,fr=16,ar=32,lr="__lodash@2.4.1__",cr=lr+"breaker__",pr=0,sr=/&(?:amp|lt|gt|quot|#x27);/g,gr=/[&<>"']/g,vr=/($^)/,hr=/['\n\r\t\u2028\u2029\\]/g,yr="[object Arguments]",mr="[object Array]",br="[object Boolean]",_r="[object Date]",dr="[object Number]",wr="[object Object]",jr="[object RegExp]",xr="[object String]",Tr={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;"},Ar={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#x27;":"'"},Er={"function":true,object:true},Or={"\\":"\\","'":"'","\n":"n","\r":"r","\t":"t","\u2028":"u2028","\u2029":"u2029"},Sr=Er[typeof window]&&window||this,kr=Er[typeof exports]&&exports&&!exports.nodeType&&exports,Nr=Er[typeof module]&&module&&!module.nodeType&&module,qr=kr&&Nr&&typeof global=="object"&&global;
!qr||qr.global!==qr&&qr.window!==qr&&qr.self!==qr||(Sr=qr);var Fr=Nr&&Nr.exports===kr&&kr,Br=Array.prototype,Rr=Object.prototype,$r=Sr._,Ir=Rr.toString,Mr=RegExp("^"+(Ir+"").replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Dr=Math.ceil,Wr=Math.floor,zr=Function.prototype.toString,Cr=Rr.hasOwnProperty,Pr=Br.push,Ur=Rr.propertyIsEnumerable,Vr=Br.splice,Gr=d(Gr=Object.create)&&Gr,Hr=d(Hr=Array.isArray)&&Hr,Jr=Sr.isFinite,Kr=Sr.isNaN,Lr=d(Lr=Object.keys)&&Lr,Qr=Math.max,Xr=Math.min,Yr=d(Yr=Date.now)&&Yr,Zr=Math.random;
i.prototype=o.prototype;var nt={};!function(){var n={0:1,length:1};nt.spliceObjects=(Vr.call(n,0,1),!n[0])}(1),o.templateSettings={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,variable:""},Gr||(a=function(){function n(){}return function(r){if(J(r)){n.prototype=r;var t=new n;n.prototype=null}return t||Sr.Object()}}()),w(arguments)||(w=function(n){return n&&typeof n=="object"&&typeof n.length=="number"&&Cr.call(n,"callee")&&!Ur.call(n,"callee")||false});var rt=function(n,r){if(!J(n))return n;
for(var t in n)if(r(n[t],t,n)===cr)break;return n},tt=function(n){var r=[];if(!J(n))return r;for(var t in n)Cr.call(n,t)&&r.push(t);return r},et=m(function(n,r,t){Cr.call(n,t)?n[t]++:n[t]=1}),ut=m(function(n,r,t){Cr.call(n,t)?n[t].push(r):n[t]=[r]}),ot=m(function(n,r,t){n[t]=r}),it=B,ft=Hr||function(n){return n&&typeof n=="object"&&typeof n.length=="number"&&Ir.call(n)==mr||false};H(/x/)&&(H=function(n){return typeof n=="function"&&"[object Function]"==Ir.call(n)});var at=Lr?function(n){return J(n)?Lr(n):[]
}:tt,lt=Yr||function(){return(new Date).getTime()};o.after=function(n,r){if(!H(r))throw new TypeError;return function(){return 1>--n?r.apply(this,arguments):void 0}},o.bind=z,o.bindAll=function(n){for(var r=1<arguments.length?v(arguments,true,false,1):V(n),t=-1,e=r.length;++t<e;){var u=r[t];n[u]=b(n[u],er,null,n)}return n},o.chain=function(n){return n=new i(n),n.__chain__=true,n},o.compact=function(n){for(var r=-1,t=n?n.length:0,e=0,u=[];++r<t;){var o=n[r];o&&(u[e++]=o)}return u},o.compose=function(){for(var n=arguments,r=n.length,t=r;t--;)if(!H(n[t]))throw new TypeError;
return function(){for(var t=r-1,e=n[t].apply(this,arguments);t--;)e=n[t].call(this,e);return e}},o.countBy=et,o.debounce=C,o.defaults=U,o.defer=function(n){if(!H(n))throw new TypeError;var r=A(arguments,1);return setTimeout(function(){n.apply(tr,r)},1)},o.delay=function(n,r){if(!H(n))throw new TypeError;var t=A(arguments,2);return setTimeout(function(){n.apply(tr,t)},r)},o.difference=function(n){return p(n,v(arguments,true,true,1))},o.filter=N,o.flatten=function(n,r,t){var e=typeof r;return"number"!=e&&"string"!=e||!t||t[r]!==n||(r=false),v(n,r)
},o.forEach=F,o.functions=V,o.groupBy=ut,o.indexBy=ot,o.initial=function(n,r,t){var e=0,u=n?n.length:0;if(typeof r!="number"&&null!=r){var o=u;for(r=X(r,t,3);o--&&r(n[o],o,n);)e++}else e=null==r||t?1:r||e;return e=u-e,A(n,0,0<e?e:0)},o.intersection=function(){for(var n=[],r=-1,t=arguments.length;++r<t;){var e=arguments[r];(ft(e)||w(e))&&n.push(e)}var u=n[0],o=-1,i=_(),f=u?u.length:0,a=[];n:for(;++o<f;)if(e=u[o],0>i(a,e)){for(r=t;--r;)if(0>i(n[r],e))continue n;a.push(e)}return a},o.invert=function(n){for(var r=-1,t=at(n),e=t.length,u={};++r<e;){var o=t[r];
u[n[o]]=o}return u},o.invoke=function(n,r){var t=A(arguments,2),e=-1,u=typeof r=="function",o=n?n.length:0,i=Array(typeof o=="number"?o:0);return s(n,function(n){i[++e]=(u?r:n[r]).apply(n,t)}),i},o.keys=at,o.map=B,o.max=R,o.memoize=function(n,r){var t={};return function(){var e=r?r.apply(this,arguments):"_"+arguments[0];return Cr.call(t,e)?t[e]:t[e]=n.apply(this,arguments)}},o.min=function(n,r,t){var e=1/0,u=e,o=typeof r;"number"!=o&&"string"!=o||!t||t[r]!==n||(r=null);var o=-1,i=n?n.length:0;if(null==r&&typeof i=="number")for(;++o<i;)t=n[o],t<u&&(u=t);
else r=X(r,t,3),s(n,function(n,t,o){t=r(n,t,o),t<e&&(e=t,u=n)});return u},o.omit=function(n){var r=[];rt(n,function(n,t){r.push(t)});for(var r=p(r,v(arguments,true,false,1)),t=-1,e=r.length,u={};++t<e;){var o=r[t];u[o]=n[o]}return u},o.once=function(n){var r,t;if(!H(n))throw new TypeError;return function(){return r?t:(r=true,t=n.apply(this,arguments),n=null,t)}},o.pairs=function(n){for(var r=-1,t=at(n),e=t.length,u=Array(e);++r<e;){var o=t[r];u[r]=[o,n[o]]}return u},o.partial=function(n){var r=n&&(n[lr]?n[lr][2]:n.length),t=A(arguments,1),r=r-t.length;
return b(n,fr,r,null,t)},o.pick=function(n){for(var r=-1,t=v(arguments,true,false,1),e=t.length,u={};++r<e;){var o=t[r];o in n&&(u[o]=n[o])}return u},o.pluck=it,o.range=function(n,r,t){n=+n||0,t=+t||1,null==r&&(r=n,n=0);var e=-1;r=Qr(0,Dr((r-n)/t));for(var u=Array(r);++e<r;)u[e]=n,n+=t;return u},o.reject=function(n,r,t){return r=X(r,t,3),N(n,function(n,t,e){return!r(n,t,e)})},o.rest=T,o.shuffle=M,o.sortBy=function(n,t,e){var u=-1,o=n?n.length:0,i=Array(typeof o=="number"?o:0);for(t=X(t,e,3),s(n,function(n,r,e){i[++u]={f:t(n,r,e),g:u,h:n}
}),o=i.length,i.sort(r);o--;)i[o]=i[o].h;return i},o.tap=function(n,r){return r(n),n},o.throttle=function(n,r,t){var e=true,u=true;if(!H(n))throw new TypeError;return false===t?e=false:J(t)&&(e="leading"in t?t.leading:e,u="trailing"in t?t.trailing:u),t={},t.leading=e,t.maxWait=r,t.trailing=u,C(n,r,t)},o.times=function(n,r,t){n=-1<(n=+n)?n:0;var e=-1,u=Array(n);for(r=l(r,t,1);++e<n;)u[e]=r(e);return u},o.toArray=function(n){return ft(n)?A(n):n&&typeof n.length=="number"?B(n):Q(n)},o.union=function(){return y(v(arguments,true,true))
},o.uniq=O,o.values=Q,o.where=W,o.without=function(n){return p(n,A(arguments,1))},o.wrap=function(n,r){return b(r,fr,null,null,[n])},o.zip=function(){for(var n=-1,r=R(it(arguments,"length")),t=Array(0>r?0:r);++n<r;)t[n]=it(arguments,n);return t},o.collect=B,o.drop=T,o.each=F,o.extend=P,o.methods=V,o.object=function(n,r){var t=-1,e=n?n.length:0,u={};for(r||!e||ft(n[0])||(r=[]);++t<e;){var o=n[t];r?u[o]=r[t]:o&&(u[o[0]]=o[1])}return u},o.select=N,o.tail=T,o.unique=O,o.clone=function(n){return J(n)?ft(n)?A(n):P({},n):n
},o.contains=S,o.escape=function(n){return null==n?"":(n+"").replace(gr,t)},o.every=k,o.find=q,o.has=function(n,r){return n?Cr.call(n,r):false},o.identity=Y,o.indexOf=x,o.isArguments=w,o.isArray=ft,o.isBoolean=function(n){return true===n||false===n||n&&typeof n=="object"&&Ir.call(n)==br||false},o.isDate=function(n){return n&&typeof n=="object"&&Ir.call(n)==_r||false},o.isElement=function(n){return n&&1===n.nodeType||false},o.isEmpty=G,o.isEqual=function(n,r){return h(n,r)},o.isFinite=function(n){return Jr(n)&&!Kr(parseFloat(n))
},o.isFunction=H,o.isNaN=function(n){return K(n)&&n!=+n},o.isNull=function(n){return null===n},o.isNumber=K,o.isObject=J,o.isRegExp=function(n){var r=typeof n;return n&&("function"==r||"object"==r)&&Ir.call(n)==jr||false},o.isString=L,o.isUndefined=function(n){return typeof n=="undefined"},o.lastIndexOf=function(n,r,t){var e=n?n.length:0;for(typeof t=="number"&&(e=(0>t?Qr(0,e+t):Xr(t,e-1))+1);e--;)if(n[e]===r)return e;return-1},o.mixin=nr,o.noConflict=function(){return Sr._=$r,this},o.random=function(n,r){return null==n&&null==r&&(r=1),n=+n||0,null==r?(r=n,n=0):r=+r||0,n+Wr(Zr()*(r-n+1))
},o.reduce=$,o.reduceRight=I,o.result=function(n,r){if(null!=n){var t=n[r];return H(t)?n[r]():t}},o.size=function(n){var r=n?n.length:0;return typeof r=="number"?r:at(n).length},o.some=D,o.sortedIndex=E,o.template=function(n,r,t){var u=o,i=u.templateSettings;n=(n||"")+"",t=U({},t,i);var f=0,a="__p+='",i=t.variable;n.replace(RegExp((t.escape||vr).source+"|"+(t.interpolate||vr).source+"|"+(t.evaluate||vr).source+"|$","g"),function(r,t,u,o,i){return a+=n.slice(f,i).replace(hr,e),t&&(a+="'+_.escape("+t+")+'"),o&&(a+="';"+o+";\n__p+='"),u&&(a+="'+((__t=("+u+"))==null?'':__t)+'"),f=i+r.length,r
}),a+="';",i||(i="obj",a="with("+i+"||{}){"+a+"}"),a="function("+i+"){var __t,__p='',__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}"+a+"return __p}";try{var l=Function("_","return "+a)(u)}catch(c){throw c.source=a,c}return r?l(r):(l.source=a,l)},o.unescape=function(n){return null==n?"":(n+="",0>n.indexOf(";")?n:n.replace(sr,u))},o.uniqueId=function(n){var r=++pr+"";return n?n+r:r},o.all=k,o.any=D,o.detect=q,o.findWhere=function(n,r){return W(n,r,true)},o.foldl=$,o.foldr=I,o.include=S,o.inject=$,o.first=j,o.last=function(n,r,t){var e=0,u=n?n.length:0;
if(typeof r!="number"&&null!=r){var o=u;for(r=X(r,t,3);o--&&r(n[o],o,n);)e++}else if(e=r,null==e||t)return n?n[u-1]:tr;return e=u-e,A(n,0<e?e:0)},o.sample=function(n,r,t){return n&&typeof n.length!="number"&&(n=Q(n)),null==r||t?n?n[0+Wr(Zr()*(n.length-1-0+1))]:tr:(n=M(n),n.length=Xr(Qr(0,r),n.length),n)},o.take=j,o.head=j,nr(P({},o)),o.VERSION="2.4.1",o.prototype.chain=function(){return this.__chain__=true,this},o.prototype.value=function(){return this.__wrapped__},s("pop push reverse shift sort splice unshift".split(" "),function(n){var r=Br[n];
o.prototype[n]=function(){var n=this.__wrapped__;return r.apply(n,arguments),nt.spliceObjects||0!==n.length||delete n[0],this}}),s(["concat","join","slice"],function(n){var r=Br[n];o.prototype[n]=function(){var n=r.apply(this.__wrapped__,arguments);return this.__chain__&&(n=new i(n),n.__chain__=true),n}}),typeof define=="function"&&typeof define.amd=="object"&&define.amd?(Sr._=o, define(function(){return o})):kr&&Nr?Fr?(Nr.exports=o)._=o:kr._=o:Sr._=o}).call(this);
;(function(){function n(n){var r=[];if(!L(n))return r;for(var t in n)Ur.call(n,t)&&r.push(t);return r}function r(n,r){if(L(n))for(var t in n)if(r(n[t],t,n)===sr)break}function t(n,r,t){t=(t||0)-1;for(var e=n?n.length:0;++t<e;)if(n[t]===r)return t;return-1}function e(n,r){var t;n:{t=n.f;var e=r.f;if(t!==e){if(t>e||typeof t=="undefined"){t=1;break n}if(t<e||typeof e=="undefined"){t=-1;break n}}t=0}return t||n.g-r.g}function u(n){return Er[n]}function o(n){return"\\"+Sr[n]}function i(n){return Or[n]}function f(n){return n instanceof f?n:new a(n)
}function a(n,r){this.__chain__=!!r,this.__wrapped__=n}function l(n){function r(){if(u){var n=O(u);Vr.apply(n,arguments)}if(this instanceof r){var o=c(t.prototype),n=t.apply(o,n||arguments);return L(n)?n:o}return t.apply(e,n||arguments)}var t=n[0],e=n[3],u=n[4];return r}function c(n){return L(n)?Jr(n):{}}function p(n,r,t){if(typeof n!="function")return nr;if(typeof r=="undefined"||!("prototype"in n))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,o){return n.call(r,t,e,u,o)}}return P(n,r)}function s(n){function r(){var n=a?o:this;if(i){var v=O(i);Vr.apply(v,arguments)}if(f||p){v||(v=O(arguments)),f&&Vr.apply(v,f);var y=arguments.length;if(p&&y<u)return e|=lr,e&=~cr,g||(e&=~(or|ir)),n=Yr(0,u-y),s([t,e,n,o,v])}return v||(v=arguments),l&&(t=n[h]),this instanceof r?(n=c(t.prototype),v=t.apply(n,v),L(v)?v:n):t.apply(n,v)}var t=n[0],e=n[1],u=n[2],o=n[3],i=n[4],f=n[5],a=e&or,l=e&ir,p=e&fr,g=e&ar,h=t;
return r}function g(n,r){for(var t=-1,e=w(),u=n?n.length:0,o=[];++t<u;){var i=n[t];0>e(r,i)&&o.push(i)}return o}function h(n,r){var t=-1,e=n?n.length:0;if(typeof e=="number")for(;++t<e&&r(n[t],t,n)!==sr;);else for(var t=-1,e=at(n),u=e.length;++t<u;){var o=e[t];if(r(n[o],o,n)===sr)break}}function v(n,r){var t=n?n.length:0;if(typeof t=="number")for(;t--&&r(n[t],t,n)!==sr;);else for(var t=at(n),e=t.length;e--;){var u=t[e];if(r(n[u],u,n)===sr)break}}function y(n,r,t,e){e=(e||0)-1;for(var u=n?n.length:0,o=[];++e<u;){var i=n[e];
if(i&&typeof i=="object"&&typeof i.length=="number"&&(ft(i)||x(i))){r||(i=y(i,r,t));var f=-1,a=i.length,l=o.length;for(o.length+=a;++f<a;)o[l++]=i[f]}else t||o.push(i)}return o}function m(n,t,e,u){if(n===t)return 0!==n||1/n==1/t;var o=typeof n,i=typeof t;if(n===n&&(!n||"function"!=o&&"object"!=o)&&(!t||"function"!=i&&"object"!=i))return false;if(null==n||null==t)return n===t;if(i=Dr.call(n),o=Dr.call(t),i!=o)return false;switch(i){case dr:case wr:return+n==+t;case jr:return n!=+n?t!=+t:0==n?1/n==1/t:n==+t;
case Tr:case Ar:return n==t+""}if(o=i==_r,!o){var a=n instanceof f,l=t instanceof f;if(a||l)return m(a?n.__wrapped__:n,l?t.__wrapped__:t,e,u);if(i!=xr)return false;if(i=Ur.call(n,"constructor"),a=Ur.call(t,"constructor"),i!==a||!i&&(i=n.constructor,a=t.constructor,i!=a&&!(K(i)&&i instanceof i&&K(a)&&a instanceof a)&&"constructor"in n&&"constructor"in t))return false}for(e||(e=[]),u||(u=[]),i=e.length;i--;)if(e[i]==n)return u[i]==t;var c=true,p=0;if(e.push(n),u.push(t),o){if(p=t.length,c=p==n.length)for(;p--&&(c=m(n[p],t[p],e,u)););}else r(t,function(r,t,o){return Ur.call(o,t)?(p++,!(c=Ur.call(n,t)&&m(n[t],r,e,u))&&sr):void 0
}),c&&r(n,function(n,r,t){return Ur.call(t,r)?!(c=-1<--p)&&sr:void 0});return e.pop(),u.pop(),c}function b(n,r,t){for(var e=-1,u=w(),o=n?n.length:0,i=[],f=t?[]:i;++e<o;){var a=n[e],l=t?t(a,e,n):a;(r?!e||f[f.length-1]!==l:0>u(f,l))&&(t&&f.push(l),i.push(a))}return i}function _(n){return function(r,t,e){var u={};t=Z(t,e,3),e=-1;var o=r?r.length:0;if(typeof o=="number")for(;++e<o;){var i=r[e];n(u,i,t(i,e,r),r)}else h(r,function(r,e,o){n(u,r,t(r,e,o),o)});return u}}function d(n,r,t,e,u){var o,i=r&ir,f=r&lr,a=r&cr;
if(!i&&!K(n))throw new TypeError;return f&&!u.length&&(r&=~lr,u=false),a&&!o.length&&(r&=~cr,o=false),null==t?t=i?0:n.length:0>t&&(t=0),n=[n,r,t,e,u,o],r==or||r==(or|lr)?l(n):s(n)}function w(){var n=(n=f.indexOf)===A?t:n;return n}function j(n){return typeof n=="function"&&Wr.test(Pr.call(n))}function x(n){return n&&typeof n=="object"&&typeof n.length=="number"&&Dr.call(n)==br||false}function T(n,r,t){var e=0,u=n?n.length:0;if(typeof r!="number"&&null!=r){var o=-1;for(r=Z(r,t,3);++o<u&&r(n[o],o,n);)e++}else if(e=r,null==e||t)return n?n[0]:ur;
return O(n,0,0<e?e:0)}function A(n,r,e){var u=n?n.length:0;if(typeof e=="number")e=0>e?Yr(0,u+e):e||0;else if(e)return e=k(n,r),u&&n[e]===r?e:-1;return t(n,r,e)}function E(n,r,t){if(typeof r!="number"&&null!=r){var e=0,u=-1,o=n?n.length:0;for(r=Z(r,t,3);++u<o&&r(n[u],u,n);)e++}else e=null==r||t?1:0<r?r:0;return O(n,e)}function O(n,r,t){var e=-1,u=n?n.length:0;for(typeof r=="undefined"?r=0:0>r?r=Yr(u+r,0):r>u&&(r=u),typeof t=="undefined"?t=u:0>t?t=Yr(u+t,0):t>u&&(t=u),u=t-r||0,t=Array(u);++e<u;)t[e]=n[r+e];
return t}function k(n,r,t,e){var u=0,o=n?n.length:u;for(t=t?Z(t,e,1):nr,r=t(r);u<o;)e=u+o>>>1,t(n[e])<r?u=e+1:o=e;return u}function S(n,r,t,e){var u=typeof r;return"boolean"!=u&&null!=r&&(e=t,t=r,r=false,"number"!=u&&"string"!=u||!e||e[t]!==n||(t=null)),null!=t&&(t=Z(t,e,3)),b(n,r,t)}function N(n,r){var t=w(),e=n?n.length:0,u=false;return e&&typeof e=="number"?u=-1<t(n,r):h(n,function(n){return(u=n===r)&&sr}),u}function q(n,r,t){var e=true;r=Z(r,t,3),t=-1;var u=n?n.length:0;if(typeof u=="number")for(;++t<u&&(e=!!r(n[t],t,n)););else h(n,function(n,t,u){return!(e=!!r(n,t,u))&&sr
});return e}function F(n,r,t){var e=[];r=Z(r,t,3),t=-1;var u=n?n.length:0;if(typeof u=="number")for(;++t<u;){var o=n[t];r(o,t,n)&&e.push(o)}else h(n,function(n,t,u){r(n,t,u)&&e.push(n)});return e}function B(n,r,t){r=Z(r,t,3),t=-1;var e=n?n.length:0;if(typeof e!="number"){var u;return h(n,function(n,t,e){return r(n,t,e)?(u=n,sr):void 0}),u}for(;++t<e;){var o=n[t];if(r(o,t,n))return o}}function R(n,r,t){var e=-1,u=n?n.length:0;if(r=r&&typeof t=="undefined"?r:p(r,t,3),typeof u=="number")for(;++e<u&&r(n[e],e,n)!==sr;);else h(n,r)
}function $(n,r,t){var e=-1,u=n?n.length:0;if(r=Z(r,t,3),typeof u=="number")for(var o=Array(u);++e<u;)o[e]=r(n[e],e,n);else o=[],h(n,function(n,t,u){o[++e]=r(n,t,u)});return o}function I(n,r,t){var e=-1/0,u=e,o=typeof r;"number"!=o&&"string"!=o||!t||t[r]!==n||(r=null);var o=-1,i=n?n.length:0;if(null==r&&typeof i=="number")for(;++o<i;)t=n[o],t>u&&(u=t);else r=Z(r,t,3),h(n,function(n,t,o){t=r(n,t,o),t>e&&(e=t,u=n)});return u}function M(n,r,t,e){var u=3>arguments.length;r=Z(r,e,4);var o=-1,i=n?n.length:0;
if(typeof i=="number")for(u&&i&&(t=n[++o]);++o<i;)t=r(t,n[o],o,n);else h(n,function(n,e,o){t=u?(u=false,n):r(t,n,e,o)});return t}function D(n,r,t,e){var u=3>arguments.length;return r=Z(r,e,4),v(n,function(n,e,o){t=u?(u=false,n):r(t,n,e,o)}),t}function W(n){var r=-1,t=n?n.length:0,e=Array(typeof t=="number"?t:0);return h(n,function(n){var t;t=++r,t=0+Cr(rt()*(t-0+1)),e[r]=e[t],e[t]=n}),e}function z(n,r,t){var e;r=Z(r,t,3),t=-1;var u=n?n.length:0;if(typeof u=="number")for(;++t<u&&!(e=r(n[t],t,n)););else h(n,function(n,t,u){return(e=r(n,t,u))&&sr
});return!!e}function C(n,r,t){return t&&J(r)?ur:(t?B:F)(n,r)}function P(n,r){if(3>arguments.length)return d(n,or,null,r);var t=n&&(n[pr]?n[pr][2]:n.length),e=O(arguments,2),t=t-e.length;return d(n,or|lr,t,r,e)}function U(n,r,t){function e(){c&&clearTimeout(c),i=c=p=ur,(h||g!==r)&&(s=lt(),f=n.apply(l,o),c||i||(o=l=null))}function u(){var t=r-(lt()-a);0<t?c=setTimeout(u,t):(i&&clearTimeout(i),t=p,i=c=p=ur,t&&(s=lt(),f=n.apply(l,o),c||i||(o=l=null)))}var o,i,f,a,l,c,p,s=0,g=false,h=true;if(!K(n))throw new TypeError;
if(r=Yr(0,r)||0,true===t)var v=true,h=false;else L(t)&&(v=t.leading,g="maxWait"in t&&(Yr(r,t.maxWait)||0),h="trailing"in t?t.trailing:h);return function(){if(o=arguments,a=lt(),l=this,p=h&&(c||!v),false===g)var t=v&&!c;else{i||v||(s=a);var y=g-(a-s),m=0>=y;m?(i&&(i=clearTimeout(i)),s=a,f=n.apply(l,o)):i||(i=setTimeout(e,y))}return m&&c?c=clearTimeout(c):c||r===g||(c=setTimeout(u,r)),t&&(m=true,f=n.apply(l,o)),!m||c||i||(o=l=null),f}}function V(n,r,t){if(!n)return n;var e=arguments,u=0,o=e.length,i=typeof t;for("number"!=i&&"string"!=i||!e[3]||e[3][t]!==r||(o=2);++u<o;)if(r=e[u])for(var f in r)n[f]=r[f];
return n}function G(n,r,t){if(!n)return n;var e=arguments,u=0,o=e.length,i=typeof t;for("number"!=i&&"string"!=i||!e[3]||e[3][t]!==r||(o=2);++u<o;)if(r=e[u])for(var f in r)"undefined"==typeof n[f]&&(n[f]=r[f]);return n}function H(n){var t=[];return r(n,function(n,r){K(n)&&t.push(r)}),t.sort()}function J(n){if(!n)return true;if(ft(n)||X(n))return!n.length;for(var r in n)if(Ur.call(n,r))return false;return true}function K(n){return typeof n=="function"}function L(n){var r=typeof n;return n&&("function"==r||"object"==r)||false
}function Q(n){var r=typeof n;return"number"==r||n&&"object"==r&&Dr.call(n)==jr||false}function X(n){return typeof n=="string"||n&&typeof n=="object"&&Dr.call(n)==Ar||false}function Y(n){for(var r=-1,t=at(n),e=t.length,u=Array(e);++r<e;)u[r]=n[t[r]];return u}function Z(n,r,t){var e=typeof n;return null==n||"function"==e?p(n,r,t):"object"!=e?er(n):rr(n)}function nr(n){return n}function rr(n){n||(n={});var r=at(n);return function(t){for(var e=r.length,u=false;e--&&(u=r[e],u=Ur.call(t,u)&&t[u]===n[u]););return u
}}function tr(n){for(var r=-1,t=H(n),e=t.length;++r<e;){var u=t[r];f.prototype[u]=function(){var r=f[u]=n[u];return function(){var n=[this.__wrapped__];return Vr.apply(n,arguments),n=r.apply(f,n),this.__chain__?new a(n,true):n}}()}}function er(n){return function(r){return r[n]}}var ur,or=1,ir=2,fr=4,ar=8,lr=16,cr=32,pr="__lodash@2.4.1__",sr=pr+"breaker__",gr=0,hr=/&(?:amp|lt|gt|quot|#x27);/g,vr=/[&<>"']/g,yr=/($^)/,mr=/['\n\r\t\u2028\u2029\\]/g,br="[object Arguments]",_r="[object Array]",dr="[object Boolean]",wr="[object Date]",jr="[object Number]",xr="[object Object]",Tr="[object RegExp]",Ar="[object String]",Er={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;"},Or={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#x27;":"'"},kr={"function":true,object:true},Sr={"\\":"\\","'":"'","\n":"n","\r":"r","\t":"t","\u2028":"u2028","\u2029":"u2029"},Nr=kr[typeof window]&&window||this,qr=kr[typeof exports]&&exports&&!exports.nodeType&&exports,Fr=kr[typeof module]&&module&&!module.nodeType&&module,Br=qr&&Fr&&typeof global=="object"&&global;
!Br||Br.global!==Br&&Br.window!==Br&&Br.self!==Br||(Nr=Br);var Rr=Fr&&Fr.exports===qr&&qr,$r=Array.prototype,Ir=Object.prototype,Mr=Nr._,Dr=Ir.toString,Wr=RegExp("^"+(Dr+"").replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),zr=Math.ceil,Cr=Math.floor,Pr=Function.prototype.toString,Ur=Ir.hasOwnProperty,Vr=$r.push,Gr=Ir.propertyIsEnumerable,Hr=$r.splice,Jr=j(Jr=Object.create)&&Jr,Kr=j(Kr=Array.isArray)&&Kr,Lr=Nr.isFinite,Qr=Nr.isNaN,Xr=j(Xr=Object.keys)&&Xr,Yr=Math.max,Zr=Math.min,nt=j(nt=Date.now)&&nt,rt=Math.random;
a.prototype=f.prototype;var tt={};!function(){var n={0:1,length:1};tt.spliceObjects=(Hr.call(n,0,1),!n[0])}(1),f.templateSettings={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,variable:""},Jr||(c=function(){function n(){}return function(r){if(L(r)){n.prototype=r;var t=new n;n.prototype=null}return t||Nr.Object()}}()),x(arguments)||(x=function(n){return n&&typeof n=="object"&&typeof n.length=="number"&&Ur.call(n,"callee")&&!Gr.call(n,"callee")||false});var et=_(function(n,r,t){Ur.call(n,t)?n[t]++:n[t]=1
}),ut=_(function(n,r,t){Ur.call(n,t)?n[t].push(r):n[t]=[r]}),ot=_(function(n,r,t){n[t]=r}),it=$,ft=Kr||function(n){return n&&typeof n=="object"&&typeof n.length=="number"&&Dr.call(n)==_r||false};K(/x/)&&(K=function(n){return typeof n=="function"&&"[object Function]"==Dr.call(n)});var at=Xr?function(n){return L(n)?Xr(n):[]}:n,lt=nt||function(){return(new Date).getTime()};f.after=function(n,r){if(!K(r))throw new TypeError;return function(){return 1>--n?r.apply(this,arguments):void 0}},f.bind=P,f.bindAll=function(n){for(var r=1<arguments.length?y(arguments,true,false,1):H(n),t=-1,e=r.length;++t<e;){var u=r[t];
n[u]=d(n[u],or,null,n)}return n},f.chain=function(n){return n=new a(n),n.__chain__=true,n},f.compact=function(n){for(var r=-1,t=n?n.length:0,e=0,u=[];++r<t;){var o=n[r];o&&(u[e++]=o)}return u},f.compose=function(){for(var n=arguments,r=n.length,t=r;t--;)if(!K(n[t]))throw new TypeError;return function(){for(var t=r-1,e=n[t].apply(this,arguments);t--;)e=n[t].call(this,e);return e}},f.countBy=et,f.debounce=U,f.defaults=G,f.defer=function(n){if(!K(n))throw new TypeError;var r=O(arguments,1);return setTimeout(function(){n.apply(ur,r)
},1)},f.delay=function(n,r){if(!K(n))throw new TypeError;var t=O(arguments,2);return setTimeout(function(){n.apply(ur,t)},r)},f.difference=function(n){return g(n,y(arguments,true,true,1))},f.filter=F,f.flatten=function(n,r,t){var e=typeof r;return"number"!=e&&"string"!=e||!t||t[r]!==n||(r=false),y(n,r)},f.forEach=R,f.functions=H,f.groupBy=ut,f.indexBy=ot,f.initial=function(n,r,t){var e=0,u=n?n.length:0;if(typeof r!="number"&&null!=r){var o=u;for(r=Z(r,t,3);o--&&r(n[o],o,n);)e++}else e=null==r||t?1:r||e;
return e=u-e,O(n,0,0<e?e:0)},f.intersection=function(){for(var n=[],r=-1,t=arguments.length;++r<t;){var e=arguments[r];(ft(e)||x(e))&&n.push(e)}var u=n[0],o=-1,i=w(),f=u?u.length:0,a=[];n:for(;++o<f;)if(e=u[o],0>i(a,e)){for(r=t;--r;)if(0>i(n[r],e))continue n;a.push(e)}return a},f.invert=function(n){for(var r=-1,t=at(n),e=t.length,u={};++r<e;){var o=t[r];u[n[o]]=o}return u},f.invoke=function(n,r){var t=O(arguments,2),e=-1,u=typeof r=="function",o=n?n.length:0,i=Array(typeof o=="number"?o:0);return h(n,function(n){i[++e]=(u?r:n[r]).apply(n,t)
}),i},f.keys=at,f.map=$,f.max=I,f.memoize=function(n,r){var t={};return function(){var e=r?r.apply(this,arguments):"_"+arguments[0];return Ur.call(t,e)?t[e]:t[e]=n.apply(this,arguments)}},f.min=function(n,r,t){var e=1/0,u=e,o=typeof r;"number"!=o&&"string"!=o||!t||t[r]!==n||(r=null);var o=-1,i=n?n.length:0;if(null==r&&typeof i=="number")for(;++o<i;)t=n[o],t<u&&(u=t);else r=Z(r,t,3),h(n,function(n,t,o){t=r(n,t,o),t<e&&(e=t,u=n)});return u},f.omit=function(n){var t=[];r(n,function(n,r){t.push(r)});
for(var t=g(t,y(arguments,true,false,1)),e=-1,u=t.length,o={};++e<u;){var i=t[e];o[i]=n[i]}return o},f.once=function(n){var r,t;if(!K(n))throw new TypeError;return function(){return r?t:(r=true,t=n.apply(this,arguments),n=null,t)}},f.pairs=function(n){for(var r=-1,t=at(n),e=t.length,u=Array(e);++r<e;){var o=t[r];u[r]=[o,n[o]]}return u},f.partial=function(n){var r=n&&(n[pr]?n[pr][2]:n.length),t=O(arguments,1),r=r-t.length;return d(n,lr,r,null,t)},f.pick=function(n){for(var r=-1,t=y(arguments,true,false,1),e=t.length,u={};++r<e;){var o=t[r];
o in n&&(u[o]=n[o])}return u},f.pluck=it,f.range=function(n,r,t){n=+n||0,t=+t||1,null==r&&(r=n,n=0);var e=-1;r=Yr(0,zr((r-n)/t));for(var u=Array(r);++e<r;)u[e]=n,n+=t;return u},f.reject=function(n,r,t){return r=Z(r,t,3),F(n,function(n,t,e){return!r(n,t,e)})},f.rest=E,f.shuffle=W,f.sortBy=function(n,r,t){var u=-1,o=n?n.length:0,i=Array(typeof o=="number"?o:0);for(r=Z(r,t,3),h(n,function(n,t,e){i[++u]={f:r(n,t,e),g:u,h:n}}),o=i.length,i.sort(e);o--;)i[o]=i[o].h;return i},f.tap=function(n,r){return r(n),n
},f.throttle=function(n,r,t){var e=true,u=true;if(!K(n))throw new TypeError;return false===t?e=false:L(t)&&(e="leading"in t?t.leading:e,u="trailing"in t?t.trailing:u),t={},t.leading=e,t.maxWait=r,t.trailing=u,U(n,r,t)},f.times=function(n,r,t){n=-1<(n=+n)?n:0;var e=-1,u=Array(n);for(r=p(r,t,1);++e<n;)u[e]=r(e);return u},f.toArray=function(n){return ft(n)?O(n):n&&typeof n.length=="number"?$(n):Y(n)},f.union=function(){return b(y(arguments,true,true))},f.uniq=S,f.values=Y,f.where=C,f.without=function(n){return g(n,O(arguments,1))
},f.wrap=function(n,r){return d(r,lr,null,null,[n])},f.zip=function(){for(var n=-1,r=I(it(arguments,"length")),t=Array(0>r?0:r);++n<r;)t[n]=it(arguments,n);return t},f.collect=$,f.drop=E,f.each=R,f.extend=V,f.methods=H,f.object=function(n,r){var t=-1,e=n?n.length:0,u={};for(r||!e||ft(n[0])||(r=[]);++t<e;){var o=n[t];r?u[o]=r[t]:o&&(u[o[0]]=o[1])}return u},f.select=F,f.tail=E,f.unique=S,f.clone=function(n){return L(n)?ft(n)?O(n):V({},n):n},f.contains=N,f.escape=function(n){return null==n?"":(n+"").replace(vr,u)
},f.every=q,f.find=B,f.has=function(n,r){return n?Ur.call(n,r):false},f.identity=nr,f.indexOf=A,f.isArguments=x,f.isArray=ft,f.isBoolean=function(n){return true===n||false===n||n&&typeof n=="object"&&Dr.call(n)==dr||false},f.isDate=function(n){return n&&typeof n=="object"&&Dr.call(n)==wr||false},f.isElement=function(n){return n&&1===n.nodeType||false},f.isEmpty=J,f.isEqual=function(n,r){return m(n,r)},f.isFinite=function(n){return Lr(n)&&!Qr(parseFloat(n))},f.isFunction=K,f.isNaN=function(n){return Q(n)&&n!=+n},f.isNull=function(n){return null===n
},f.isNumber=Q,f.isObject=L,f.isRegExp=function(n){var r=typeof n;return n&&("function"==r||"object"==r)&&Dr.call(n)==Tr||false},f.isString=X,f.isUndefined=function(n){return typeof n=="undefined"},f.lastIndexOf=function(n,r,t){var e=n?n.length:0;for(typeof t=="number"&&(e=(0>t?Yr(0,e+t):Zr(t,e-1))+1);e--;)if(n[e]===r)return e;return-1},f.mixin=tr,f.noConflict=function(){return Nr._=Mr,this},f.random=function(n,r){return null==n&&null==r&&(r=1),n=+n||0,null==r?(r=n,n=0):r=+r||0,n+Cr(rt()*(r-n+1))},f.reduce=M,f.reduceRight=D,f.result=function(n,r){if(null!=n){var t=n[r];
return K(t)?n[r]():t}},f.size=function(n){var r=n?n.length:0;return typeof r=="number"?r:at(n).length},f.some=z,f.sortedIndex=k,f.template=function(n,r,t){var e=f,u=e.templateSettings;n=(n||"")+"",t=G({},t,u);var i=0,a="__p+='",u=t.variable;n.replace(RegExp((t.escape||yr).source+"|"+(t.interpolate||yr).source+"|"+(t.evaluate||yr).source+"|$","g"),function(r,t,e,u,f){return a+=n.slice(i,f).replace(mr,o),t&&(a+="'+_.escape("+t+")+'"),u&&(a+="';"+u+";\n__p+='"),e&&(a+="'+((__t=("+e+"))==null?'':__t)+'"),i=f+r.length,r
}),a+="';",u||(u="obj",a="with("+u+"||{}){"+a+"}"),a="function("+u+"){var __t,__p='',__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}"+a+"return __p}";try{var l=Function("_","return "+a)(e)}catch(c){throw c.source=a,c}return r?l(r):(l.source=a,l)},f.unescape=function(n){return null==n?"":(n+="",0>n.indexOf(";")?n:n.replace(hr,i))},f.uniqueId=function(n){var r=++gr+"";return n?n+r:r},f.all=q,f.any=z,f.detect=B,f.findWhere=function(n,r){return C(n,r,true)},f.foldl=M,f.foldr=D,f.include=N,f.inject=M,f.first=T,f.last=function(n,r,t){var e=0,u=n?n.length:0;
if(typeof r!="number"&&null!=r){var o=u;for(r=Z(r,t,3);o--&&r(n[o],o,n);)e++}else if(e=r,null==e||t)return n?n[u-1]:ur;return e=u-e,O(n,0<e?e:0)},f.sample=function(n,r,t){return n&&typeof n.length!="number"&&(n=Y(n)),null==r||t?n?n[0+Cr(rt()*(n.length-1-0+1))]:ur:(n=W(n),n.length=Zr(Yr(0,r),n.length),n)},f.take=T,f.head=T,tr(V({},f)),f.VERSION="2.4.1",f.prototype.chain=function(){return this.__chain__=true,this},f.prototype.value=function(){return this.__wrapped__},h("pop push reverse shift sort splice unshift".split(" "),function(n){var r=$r[n];
f.prototype[n]=function(){var n=this.__wrapped__;return r.apply(n,arguments),tt.spliceObjects||0!==n.length||delete n[0],this}}),h(["concat","join","slice"],function(n){var r=$r[n];f.prototype[n]=function(){var n=r.apply(this.__wrapped__,arguments);return this.__chain__&&(n=new a(n),n.__chain__=true),n}}),typeof define=="function"&&typeof define.amd=="object"&&define.amd?(Nr._=f, define(function(){return f})):qr&&Fr?Rr?(Fr.exports=f)._=f:qr._=f:Nr._=f}).call(this);