Simplify baseUniq.

This commit is contained in:
John-David Dalton
2014-02-21 09:45:27 -08:00
parent 40e32daabe
commit 24240bfba4
7 changed files with 74 additions and 75 deletions

19
dist/lodash.compat.js vendored
View File

@@ -1770,16 +1770,18 @@
var seen = createCache();
indexOf = cacheIndexOf;
} else {
seen = callback ? getArray() : result;
seen = (!isSorted && callback) ? getArray() : result;
}
while (++index < length) {
var value = array[index],
computed = callback ? callback(value, index, array) : value;
if (isSorted
? !index || seen[seen.length - 1] !== computed
: indexOf(seen, computed) < 0
) {
if (isSorted) {
if (!index || seen !== computed) {
seen = computed;
result.push(value);
}
} else if (indexOf(seen, computed) < 0) {
if (callback || isLarge) {
seen.push(computed);
}
@@ -2498,7 +2500,7 @@
function indexOf(array, value, fromIndex) {
var length = array ? array.length : 0;
if (typeof fromIndex == 'number') {
fromIndex = (fromIndex < 0 ? nativeMax(0, length + fromIndex) : fromIndex || 0);
fromIndex = fromIndex < 0 ? nativeMax(0, length + fromIndex) : (fromIndex || 0);
} else if (fromIndex) {
var index = sortedIndex(array, value);
return (length && array[index] === value) ? index : -1;
@@ -6788,10 +6790,7 @@
* // => 'hello barney!'
*
* // using a custom template delimiters
* _.templateSettings = {
* 'interpolate': /{{([\s\S]+?)}}/g
* };
*
* _.templateSettings.interpolate = /{{([\s\S]+?)}}/g;
* _.template('hello {{ name }}!', { 'name': 'mustache' });
* // => 'hello mustache!'
*

View File

@@ -14,7 +14,7 @@ for(pe&&e&&o===t&&e.length>=S&&(o=r,e=pe(e));++u<a;){var l=n[u];0>o(e,l)&&i.push
var i=-1,l=a.length,f=o.length;for(o.length+=l;++i<l;)o[f++]=a[i]}else r||o.push(a)}return o}function dt(n,t){for(var r=-1,e=je(n),u=e.length;++r<u;){var o=e[r];if(false===t(n[o],o,n))break}return n}function _t(n,t){for(var r=je(n),e=r.length;e--;){var u=r[e];if(false===t(n[u],u,n))break}return n}function wt(n,t,r,e,u,o){if(r){var a=r(n,t);if(typeof a!="undefined")return!!a}if(n===t)return 0!==n||1/n==1/t;var i=typeof n,l=typeof t;if(n===n&&(!n||"function"!=i&&"object"!=i)&&(!t||"function"!=l&&"object"!=l))return false;
if(null==n||null==t)return n===t;if(l=Tr.call(n),i=Tr.call(t),l==Z&&(l=at),i==Z&&(i=at),l!=i)return false;switch(l){case tt:case rt:return+n==+t;case ot:return n!=+n?t!=+t:0==n?1/n==1/t:n==+t;case it:case lt:return n==kr(t)}if(i=l==nt,!i){var f=Dr.call(n,"__wrapped__"),g=Dr.call(t,"__wrapped__");if(f||g)return wt(f?n.__wrapped__:n,g?t.__wrapped__:t,r,e,u,o);if(l!=at||!ce.nodeClass&&(p(n)||p(t)))return false;if(l=!ce.argsObject&&Rt(n)?xr:n.constructor,f=!ce.argsObject&&Rt(t)?xr:t.constructor,l!=f&&!(Dr.call(n,"constructor")&&Dr.call(t,"constructor")||ar(l)&&l instanceof l&&ar(f)&&f instanceof f)&&"constructor"in n&&"constructor"in t)return false
}for(l=!u,u||(u=c()),o||(o=c()),f=u.length;f--;)if(u[f]==n)return o[f]==t;var h=0,a=true;if(u.push(n),o.push(t),i){if(f=n.length,h=t.length,(a=h==f)||e)for(;h--;)if(i=f,g=t[h],e)for(;i--&&!(a=wt(n[i],g,r,e,u,o)););else if(!(a=wt(n[h],g,r,e,u,o)))break}else ge(t,function(t,i,l){return Dr.call(l,i)?(h++,a=Dr.call(n,i)&&wt(n[i],t,r,e,u,o)):void 0}),a&&!e&&ge(n,function(n,t,r){return Dr.call(r,t)?a=-1<--h:void 0});return u.pop(),o.pop(),l&&(s(u),s(o)),a}function jt(n,t,r,e,u){(_e(t)?ht:dt)(t,function(t,o){var a,i,l=t,f=n[o];
if(t&&((i=_e(t))||we(t))){for(l=e.length;l--;)if(a=e[l]==t){f=u[l];break}if(!a){var c;r&&(l=r(f,t),c=typeof l!="undefined")&&(f=l),c||(f=i?_e(f)?f:[]:we(f)?f:{}),e.push(t),u.push(f),c||jt(f,t,r,e,u)}}else r&&(l=r(f,t),typeof l=="undefined"&&(l=t)),typeof l!="undefined"&&(f=l);n[o]=f})}function xt(n,t){return n+$r(ue()*(t-n+1))}function Ct(n,e,u){var o=-1,a=At(),i=n?n.length:0,l=pe&&!e&&a===t&&i>=S,f=[];if(l)var p=pe(),a=r;else p=u?c():f;for(;++o<i;){var g=n[o],h=u?u(g,o,n):g;(e?!o||p[p.length-1]!==h:0>a(p,h))&&((u||l)&&p.push(h),f.push(g))
if(t&&((i=_e(t))||we(t))){for(l=e.length;l--;)if(a=e[l]==t){f=u[l];break}if(!a){var c;r&&(l=r(f,t),c=typeof l!="undefined")&&(f=l),c||(f=i?_e(f)?f:[]:we(f)?f:{}),e.push(t),u.push(f),c||jt(f,t,r,e,u)}}else r&&(l=r(f,t),typeof l=="undefined"&&(l=t)),typeof l!="undefined"&&(f=l);n[o]=f})}function xt(n,t){return n+$r(ue()*(t-n+1))}function Ct(n,e,u){var o=-1,a=At(),i=n?n.length:0,l=pe&&!e&&a===t&&i>=S,f=[];if(l)var p=pe(),a=r;else p=!e&&u?c():f;for(;++o<i;){var g=n[o],h=u?u(g,o,n):g;e?o&&p===h||(p=h,f.push(g)):0>a(p,h)&&((u||l)&&p.push(h),f.push(g))
}return!l&&u&&s(p),f}function kt(n,t,r){for(var e=t.length,u=-1,o=ne(r.length-e,0),a=-1,i=n.length,l=mr(o+i);++a<i;)l[a]=n[a];for(;++u<e;)l[t[u]]=r[u];for(;o--;)l[a++]=r[u++];return l}function Ot(n,t){return function(r,e,o){var a=t?[[],[]]:{};if(e=u.createCallback(e,o,3),_e(r)){o=-1;for(var i=r.length;++o<i;){var l=r[o];n(a,l,e(l,o,r),r)}}else ht(r,function(t,r,u){n(a,t,e(t,r,u),u)});return a}}function Et(n,t,r,e,u,o,a,i){var l=t&j,f=t&x,c=t&O,p=t&E;if(!f&&!ar(n))throw new Or;c&&!u.length&&(t&=~O,c=u=false),p&&!o.length&&(t&=~E,p=o=false);
var s=!f&&n[N];return s&&true!==s?(s=Ft(s),s[4]&&(s[4]=Ft(s[4])),s[5]&&(s[5]=Ft(s[5])),typeof r=="number"&&(s[2]=r),n=s[1]&j,l&&!n&&(s[3]=e),!l&&n&&(t|=k),c&&(s[4]?Wr.apply(s[4],u):s[4]=u),p&&(s[5]?Vr.apply(s[5],o):s[5]=o),s[1]|=t,Et.apply(null,s)):(null==r?r=f?0:n.length:0>r&&(r=0),c&&(a=[]),p&&(i=[]),s=[n,t,r,e,u,o,a,i],t==j||t==(j|O)?m(s):st(s))}function St(n){n.d=Y;var t=_r,r="return function("+n.a+"){",e="var r="+n.b+";if(!j(p)){return r}";ce.nonEnumArgs&&(e+="var m=p.length;if(m&&i(p)){l=-1;while(++l<m){l+='';"+n.c+";}return r}"),ce.enumPrototypes&&(e+="var t=typeof p=='function';"),ce.enumErrorProps&&(e+="var s=p===f||p instanceof Error;");
var u=[];if(ce.enumPrototypes&&u.push("!(t&&l=='prototype')"),ce.enumErrorProps&&u.push("!(s&&(l=='message'||l=='name'))"),e+="for(var l in p){",n.e&&u.push("g.call(p,l)"),u.length&&(e+="if("+u.join("&&")+"){"),e+=n.c+";",u.length&&(e+="}"),e+="}",ce.nonEnumShadows){for(e+="if(p!==q){var d=p.constructor,k=p===(d&&d.prototype),b=p===v?u:p===f?e:w.call(p),n=o[b];",u=0;7>u;u++)e+="l='"+n.d[u]+"';if((!(k&&n[l])&&g.call(p,l))",n.e||(e+="||(!n[l]&&p[l]!==q[l])"),e+="){"+n.c+"}";e+="}"}return t("e,f,g,i,j,q,o,u,v,w",r+(e+"return r;")+"}")(et,Sr,Dr,Rt,ir,Ar,fe,lt,Ir,Tr)

19
dist/lodash.js vendored
View File

@@ -1542,16 +1542,18 @@
var seen = createCache();
indexOf = cacheIndexOf;
} else {
seen = callback ? getArray() : result;
seen = (!isSorted && callback) ? getArray() : result;
}
while (++index < length) {
var value = array[index],
computed = callback ? callback(value, index, array) : value;
if (isSorted
? !index || seen[seen.length - 1] !== computed
: indexOf(seen, computed) < 0
) {
if (isSorted) {
if (!index || seen !== computed) {
seen = computed;
result.push(value);
}
} else if (indexOf(seen, computed) < 0) {
if (callback || isLarge) {
seen.push(computed);
}
@@ -2235,7 +2237,7 @@
function indexOf(array, value, fromIndex) {
var length = array ? array.length : 0;
if (typeof fromIndex == 'number') {
fromIndex = (fromIndex < 0 ? nativeMax(0, length + fromIndex) : fromIndex || 0);
fromIndex = fromIndex < 0 ? nativeMax(0, length + fromIndex) : (fromIndex || 0);
} else if (fromIndex) {
var index = sortedIndex(array, value);
return (length && array[index] === value) ? index : -1;
@@ -6509,10 +6511,7 @@
* // => 'hello barney!'
*
* // using a custom template delimiters
* _.templateSettings = {
* 'interpolate': /{{([\s\S]+?)}}/g
* };
*
* _.templateSettings.interpolate = /{{([\s\S]+?)}}/g;
* _.template('hello {{ name }}!', { 'name': 'mustache' });
* // => 'hello mustache!'
*

2
dist/lodash.min.js vendored
View File

@@ -14,7 +14,7 @@ return fe(t,n),t}function G(n,t,r,e,u){if(r){var o=r(n);if(typeof o!="undefined"
if(i&&typeof i=="object"&&typeof i.length=="number"&&(he(i)||Nt(i))){t||(i=mt(i,t,r));var a=-1,f=i.length,l=o.length;for(o.length+=f;++a<f;)o[l++]=i[a]}else r||o.push(i)}return o}function bt(n,t){for(var r=-1,e=ye(n),u=e.length;++r<u;){var o=e[r];if(false===t(n[o],o,n))break}return n}function dt(n,t){for(var r=ye(n),e=r.length;e--;){var u=r[e];if(false===t(n[u],u,n))break}}function _t(n,t,r,e,u,i){if(r){var a=r(n,t);if(typeof a!="undefined")return!!a}if(n===t)return 0!==n||1/n==1/t;var f=typeof n,l=typeof t;
if(n===n&&(!n||"function"!=f&&"object"!=f)&&(!t||"function"!=l&&"object"!=l))return false;if(null==n||null==t)return n===t;if(l=Nr.call(n),f=Nr.call(t),l==Q&&(l=et),f==Q&&(f=et),l!=f)return false;switch(l){case Z:case nt:return+n==+t;case rt:return n!=+n?t!=+t:0==n?1/n==1/t:n==+t;case ut:case ot:return n==kr(t)}if(f=l==Y,!f){var s=Dr.call(n,"__wrapped__"),g=Dr.call(t,"__wrapped__");if(s||g)return _t(s?n.__wrapped__:n,g?t.__wrapped__:t,r,e,u,i);if(l!=et)return false;if(l=n.constructor,s=t.constructor,l!=s&&!(Dr.call(n,"constructor")&&Dr.call(t,"constructor")||ur(l)&&l instanceof l&&ur(s)&&s instanceof s)&&"constructor"in n&&"constructor"in t)return false
}for(l=!u,u||(u=c()),i||(i=c()),s=u.length;s--;)if(u[s]==n)return i[s]==t;var h=0,a=true;if(u.push(n),i.push(t),f){if(s=n.length,h=t.length,(a=h==s)||e)for(;h--;)if(f=s,g=t[h],e)for(;f--&&!(a=_t(n[f],g,r,e,u,i)););else if(!(a=_t(n[h],g,r,e,u,i)))break}else o(t,function(t,o,f){return Dr.call(f,o)?(h++,a=Dr.call(n,o)&&_t(n[o],t,r,e,u,i)):void 0}),a&&!e&&o(n,function(n,t,r){return Dr.call(r,t)?a=-1<--h:void 0});return u.pop(),i.pop(),l&&(p(u),p(i)),a}function wt(n,t,r,e,u){(he(t)?ht:bt)(t,function(t,o){var i,a,f=t,l=n[o];
if(t&&((a=he(t))||ve(t))){for(f=e.length;f--;)if(i=e[f]==t){l=u[f];break}if(!i){var c;r&&(f=r(l,t),c=typeof f!="undefined")&&(l=f),c||(l=a?he(l)?l:[]:ve(l)?l:{}),e.push(t),u.push(l),c||wt(l,t,r,e,u)}}else r&&(f=r(l,t),typeof f=="undefined"&&(f=t)),typeof f!="undefined"&&(l=f);n[o]=l})}function jt(n,t){return n+Fr(ne()*(t-n+1))}function kt(n,e,u){var o=-1,i=At(),a=n?n.length:0,f=ae&&!e&&i===t&&a>=A,l=[];if(f)var s=ae(),i=r;else s=u?c():l;for(;++o<a;){var g=n[o],h=u?u(g,o,n):g;(e?!o||s[s.length-1]!==h:0>i(s,h))&&((u||f)&&s.push(h),l.push(g))
if(t&&((a=he(t))||ve(t))){for(f=e.length;f--;)if(i=e[f]==t){l=u[f];break}if(!i){var c;r&&(f=r(l,t),c=typeof f!="undefined")&&(l=f),c||(l=a?he(l)?l:[]:ve(l)?l:{}),e.push(t),u.push(l),c||wt(l,t,r,e,u)}}else r&&(f=r(l,t),typeof f=="undefined"&&(f=t)),typeof f!="undefined"&&(l=f);n[o]=l})}function jt(n,t){return n+Fr(ne()*(t-n+1))}function kt(n,e,u){var o=-1,i=At(),a=n?n.length:0,f=ae&&!e&&i===t&&a>=A,l=[];if(f)var s=ae(),i=r;else s=!e&&u?c():l;for(;++o<a;){var g=n[o],h=u?u(g,o,n):g;e?o&&s===h||(s=h,l.push(g)):0>i(s,h)&&((u||f)&&s.push(h),l.push(g))
}return!f&&u&&p(s),l}function xt(n,t,r){for(var e=t.length,u=-1,o=Jr(r.length-e,0),i=-1,a=n.length,f=vr(o+a);++i<a;)f[i]=n[i];for(;++u<e;)f[t[u]]=r[u];for(;o--;)f[i++]=r[u++];return f}function Ct(n,t){return function(r,e,u){var o=t?[[],[]]:{};e=y.createCallback(e,u,3),u=-1;var i=r?r.length:0;if(typeof i=="number")for(;++u<i;){var a=r[u];n(o,a,e(a,u,r),r)}else ht(r,function(t,r,u){n(o,t,e(t,r,u),u)});return o}}function Ot(n,t,r,e,u,o,i,a){var f=t&w,l=t&j,c=t&C,p=t&O;if(!l&&!ur(n))throw new xr;c&&!u.length&&(t&=~C,c=u=false),p&&!o.length&&(t&=~O,p=o=false);
var s=!l&&n[N];return s&&true!==s?(s=Ft(s),s[4]&&(s[4]=Ft(s[4])),s[5]&&(s[5]=Ft(s[5])),typeof r=="number"&&(s[2]=r),n=s[1]&w,f&&!n&&(s[3]=e),!f&&n&&(t|=x),c&&(s[4]?qr.apply(s[4],u):s[4]=u),p&&(s[5]?Pr.apply(s[5],o):s[5]=o),s[1]|=t,Ot.apply(null,s)):(null==r?r=l?0:n.length:0>r&&(r=0),c&&(i=[]),p&&(a=[]),s=[n,t,r,e,u,o,i,a],t==w||t==(w|C)?S(s):pt(s))}function At(){var n=(n=y.indexOf)===It?t:n;return n}function St(n){return typeof n=="function"&&Rr.test($r.call(n))}function Et(n){var t,r;return n&&Nr.call(n)==et&&(Dr.call(n,"constructor")||(t=n.constructor,!ur(t)||t instanceof t))?(o(n,function(n,t){r=t
}),typeof r=="undefined"||Dr.call(n,r)):false}function Nt(n){return n&&typeof n=="object"&&typeof n.length=="number"&&Nr.call(n)==Q||false}function Rt(n,t,r){var e=0,u=n?n.length:0;if(typeof t!="number"&&null!=t){var o=-1;for(t=y.createCallback(t,r,3);++o<u&&t(n[o],o,n);)e++}else if(e=t,null==e||r)return n?n[0]:_;return Ft(n,0,0<e?e:0)}function It(n,r,e){var u=n?n.length:0;if(typeof e=="number")e=0>e?Jr(0,u+e):e||0;else if(e)return e=$t(n,r),u&&n[e]===r?e:-1;return t(n,r,e)}function Tt(n,t,r){if(typeof t!="number"&&null!=t){var e=0,u=-1,o=n?n.length:0;

View File

@@ -889,16 +889,19 @@
indexOf = getIndexOf(),
length = array ? array.length : 0,
result = [],
seen = callback ? [] : result;
seen = (!isSorted && callback) ? [] : result;
while (++index < length) {
var value = array[index],
computed = callback ? callback(value, index, array) : value;
if (isSorted
? !index || seen[seen.length - 1] !== computed
: indexOf(seen, computed) < 0
) {
if (isSorted) {
if (!index || seen !== computed) {
seen = computed;
result.push(value);
}
} else if (indexOf(seen, computed) < 0) {
if (callback) {
seen.push(computed);
}
@@ -1382,7 +1385,7 @@
function indexOf(array, value, fromIndex) {
var length = array ? array.length : 0;
if (typeof fromIndex == 'number') {
fromIndex = (fromIndex < 0 ? nativeMax(0, length + fromIndex) : fromIndex || 0);
fromIndex = fromIndex < 0 ? nativeMax(0, length + fromIndex) : (fromIndex || 0);
} else if (fromIndex) {
var index = sortedIndex(array, value);
return (length && array[index] === value) ? index : -1;
@@ -4632,10 +4635,7 @@
* // => 'hello barney!'
*
* // using a custom template delimiters
* _.templateSettings = {
* 'interpolate': /{{([\s\S]+?)}}/g
* };
*
* _.templateSettings.interpolate = /{{([\s\S]+?)}}/g;
* _.template('hello {{ name }}!', { 'name': 'mustache' });
* // => 'hello mustache!'
*

View File

@@ -3,40 +3,39 @@
* Lo-Dash 2.4.1 (Custom Build) lodash.com/license | Underscore.js 1.6.0 underscorejs.org/LICENSE
* Build: `lodash underscore -o ./dist/lodash.underscore.js`
*/
;(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){for(var n=-1,i=arguments.length,f=Array(i);++n<i;)f[n]=arguments[n];f=_(u,o,f)}return this instanceof r?(n=c(t.prototype),f=t.apply(n,f||arguments),L(f)?f:n):t.apply(e,f||arguments)}var t=n[0],e=n[3],u=n[4],o=n[6];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 U(n,r)}function s(n){function r(){for(var n=-1,m=arguments.length,b=Array(m);++n<m;)b[n]=arguments[n];if(i&&(b=_(i,a,b)),f){for(var n=f,d=l,w=-1,j=d.length,x=-1,A=Yr(b.length-j,0),T=-1,E=n.length,O=Array(A+E);++x<A;)O[x]=b[x];for(A=x;++T<E;)O[A+T]=n[T];for(;++w<j;)O[A+d[w]]=b[x++];b=O}return h&&m<u?(e|=lr,e&=~cr,v||(e&=~(or|ir)),m=Yr(0,u-m),s([t,e,m,o,b,null,[]])):(m=p?o:this,g&&(t=m[y]),this instanceof r?(m=c(t.prototype),n=t.apply(m,b),L(n)?n:m):t.apply(m,b))
}var t=n[0],e=n[1],u=n[2],o=n[3],i=n[4],f=n[5],a=n[6],l=n[7],p=e&or,g=e&ir,h=e&fr,v=e&ar,y=t;return r}function g(n,r){for(var t=-1,e=x(),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=ct(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=ct(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"&&(lt(i)||T(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 Ar:case Tr: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=x(),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,r,t){for(var e=r.length,u=-1,o=Yr(t.length-e,0),i=-1,f=n.length,a=Array(o+f);++i<f;)a[i]=n[i];
for(;++u<e;)a[r[u]]=t[u];for(;o--;)a[i++]=t[u++];return a}function d(n,r){return function(t,e,u){var o=r?[[],[]]:{};e=Z(e,u,3),u=-1;var i=t?t.length:0;if(typeof i=="number")for(;++u<i;){var f=t[u];n(o,f,e(f,u,t),t)}else h(t,function(r,t,u){n(o,r,e(r,t,u),u)});return o}}function w(n,r,t,e,u){var o,i,f,a=r&ir,c=r&lr,p=r&cr;if(!a&&!K(n))throw new TypeError;return c&&!u.length&&(r&=~lr,c=u=false),p&&!o.length&&(r&=~cr,p=o=false),null==t?t=a?0:n.length:0>t&&(t=0),c&&(i=j(u)),p&&(f=j(o)),n=[n,r,t,e,u,o,i,f],r==or||r==(or|lr)?l(n):s(n)
}function j(n){for(var r=-1,t=n.length,e=[];++r<t;)n[r]===f&&e.push(r);return e}function x(){var n=(n=f.indexOf)===O?t:n;return n}function A(n){return typeof n=="function"&&Wr.test(Pr.call(n))}function T(n){return n&&typeof n=="object"&&typeof n.length=="number"&&Dr.call(n)==br||false}function E(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 S(n,0,0<e?e:0)}function O(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=N(n,r),u&&n[e]===r?e:-1;return t(n,r,e)}function k(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 S(n,e)}function S(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 N(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 q(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 F(n,r){var t=x(),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 B(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;)if(!r(n[t],t,n))return false}else h(n,function(n,t,u){return!(e=!!r(n,t,u))&&sr
});return e}function R(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 $(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 I(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);
return n}function M(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 D(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 W(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 z(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 C(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 P(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;)if(r(n[t],t,n))return true
}else h(n,function(n,t,u){return(e=r(n,t,u))&&sr});return!!e}function U(n,r){if(3>arguments.length)return w(n,or,null,r);if(n)var t=n[pr]?n[pr][2]:n.length,e=S(arguments,2),t=t-e.length;return w(n,or|lr,t,r,e)}function V(n,r,t){function e(){c&&clearTimeout(c),i=c=p=ur,(h||g!==r)&&(s=pt(),f=n.apply(l,o),c||i||(o=l=null))}function u(){var t=r-(pt()-a);0>=t||t>r?(i&&clearTimeout(i),t=p,i=c=p=ur,t&&(s=pt(),f=n.apply(l,o),c||i||(o=l=null))):c=setTimeout(u,t)}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=pt(),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||y>g;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 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)n[f]=r[f];return n}function H(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 J(n){var t=[];return r(n,function(n,r){K(n)&&t.push(r)}),t.sort()}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)==Tr||false}function Y(n){for(var r=-1,t=ct(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"function"==e||null==n?(typeof r=="undefined"||!("prototype"in n))&&n||p(n,r,t):"object"!=e?er(n):rr(n)}function nr(n){return n}function rr(n){n||(n={});var r=ct(n);return function(t){for(var e=r.length,u=true;e--&&(u=r[e],u=Ur.call(t,u)&&t[u]===n[u]););return u
}}function tr(n){for(var r=-1,t=J(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]",Ar="[object RegExp]",Tr="[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=A(Jr=Object.create)&&Jr,Kr=A(Kr=Array.isArray)&&Kr,Lr=Nr.isFinite,Qr=Nr.isNaN,Xr=A(Xr=Object.keys)&&Xr,Yr=Math.max,Zr=Math.min,nt=A(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()}}()),T(arguments)||(T=function(n){return n&&typeof n=="object"&&typeof n.length=="number"&&Ur.call(n,"callee")&&!Gr.call(n,"callee")||false});var et=d(function(n,r,t){Ur.call(n,t)?n[t]++:n[t]=1
}),ut=d(function(n,r,t){Ur.call(n,t)?n[t].push(r):n[t]=[r]}),ot=d(function(n,r,t){n[t]=r}),it=d(function(n,r,t){n[t?0:1].push(r)},true),ft=M,at=R,lt=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 ct=Xr?function(n){return L(n)?Xr(n):[]}:n,pt=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=U,f.bindAll=function(n){for(var r=1<arguments.length?y(arguments,true,false,1):J(n),t=-1,e=r.length;++t<e;){var u=r[t];n[u]=w(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.constant=function(n){return function(){return n}},f.countBy=et,f.debounce=V,f.defaults=H,f.defer=function(n){if(!K(n))throw new TypeError;var r=S(arguments,1);return setTimeout(function(){n.apply(ur,r)},1)},f.delay=function(n,r){if(!K(n))throw new TypeError;var t=S(arguments,2);return setTimeout(function(){n.apply(ur,t)},r)},f.difference=function(n){return g(n,y(arguments,true,true,1))},f.filter=R,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=I,f.functions=J,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,S(n,0,0<e?e:0)},f.intersection=function(){for(var n=[],r=-1,t=arguments.length;++r<t;){var e=arguments[r];(lt(e)||T(e))&&n.push(e)}var u=n[0],o=-1,i=x(),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=ct(n),e=t.length,u={};++r<e;){var o=t[r];
u[n[o]]=o}return u},f.invoke=function(n,r){var t=-1,e=typeof r=="function",u=n?n.length:0,o=Array(typeof u=="number"?u:0);if(3>arguments.length&&typeof u=="number")for(;++t<u;){var i=n[t];o[t]=e?r.call(i):i[r]()}else{var f=S(arguments,2);h(n,function(n){o[++t]=(e?r:n[r]).apply(n,f)})}return o},f.keys=ct,f.map=M,f.matches=rr,f.max=D,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){for(var t=y(arguments,true,false,1),e=t.length,u={};e--;)t[e]=t[e]+"";var o=[];r(n,function(n,r){o.push(r)});for(var i=-1,o=g(o,t),e=o.length;++i<e;)t=o[i],u[t]=n[t];return u},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=ct(n),e=t.length,u=Array(e);++r<e;){var o=t[r];u[r]=[o,n[o]]}return u},f.partial=function(n){if(n)var r=n[pr]?n[pr][2]:n.length,t=S(arguments,1),r=r-t.length;return w(n,lr,r,null,t)},f.partition=it,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=ft,f.property=er,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),R(n,function(n,t,e){return!r(n,t,e)})},f.rest=k,f.shuffle=C,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,V(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 lt(n)?S(n):n&&typeof n.length=="number"?M(n):Y(n)},f.union=function(){return b(y(arguments,true,true))},f.uniq=q,f.values=Y,f.where=at,f.without=function(n){return g(n,S(arguments,1))},f.wrap=function(n,r){return w(r,lr,null,null,[n])},f.zip=function(){for(var n=-1,r=D(ft(arguments,"length")),t=Array(0>r?0:r);++n<r;)t[n]=ft(arguments,n);return t},f.collect=M,f.drop=k,f.each=I,f.extend=G,f.methods=J,f.object=function(n,r){var t=-1,e=n?n.length:0,u={};
for(r||!e||lt(n[0])||(r=[]);++t<e;){var o=n[t];r?u[o]=r[t]:o&&(u[o[0]]=o[1])}return u},f.select=R,f.tail=k,f.unique=q,f.clone=function(n){return L(n)?lt(n)?S(n):G({},n):n},f.contains=F,f.escape=function(n){return null==n?"":(n+"").replace(vr,u)},f.every=B,f.find=$,f.has=function(n,r){return n?Ur.call(n,r):false},f.identity=nr,f.indexOf=O,f.isArguments=T,f.isArray=lt,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=function(n){if(!n)return true;if(lt(n)||X(n))return!n.length;for(var r in n)if(Ur.call(n,r))return false;return true},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)==Ar||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.now=pt,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=W,f.reduceRight=z,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:ct(n).length},f.some=P,f.sortedIndex=N,f.template=function(n,r,t){var e=f,u=e.templateSettings;
n=(n||"")+"",t=H({},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||(a="with(obj||{}){"+a+"}"),a="function("+(u||"obj")+"){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=B,f.any=P,f.detect=$,f.findWhere=$,f.foldl=W,f.foldr=z,f.include=F,f.inject=W,f.first=E,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,S(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=C(n),n.length=Zr(Yr(0,r),n.length),n)},f.take=E,f.head=E,tr(G({},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("underscore",function(){return f})):qr&&Fr?Rr?(Fr.exports=f)._=f:qr._=f:Nr._=f}).call(this);
;(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 Ar[n]}function e(n){return"\\"+Or[n]}function u(n){return Tr[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){for(var n=-1,i=arguments.length,f=Array(i);++n<i;)f[n]=arguments[n];
f=m(u,o,f)}return this instanceof r?(n=a(t.prototype),f=t.apply(n,f||arguments),J(f)?f:n):t.apply(e,f||arguments)}var t=n[0],e=n[3],u=n[4],o=n[6];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 C(n,r)}function c(n){function r(){for(var n=-1,b=arguments.length,_=Array(b);++n<b;)_[n]=arguments[n];if(i&&(_=m(i,l,_)),f){for(var n=f,d=p,w=-1,j=d.length,x=-1,A=Qr(_.length-j,0),T=-1,E=n.length,O=Array(A+E);++x<A;)O[x]=_[x];for(A=x;++T<E;)O[A+T]=n[T];for(;++w<j;)O[A+d[w]]=_[x++];_=O}return h&&b<u?(e|=fr,e&=~ar,v||(e&=~(er|ur)),b=Qr(0,u-b),c([t,e,b,o,_,null,[]])):(b=s?o:this,g&&(t=b[y]),this instanceof r?(b=a(t.prototype),n=t.apply(b,_),J(n)?n:b):t.apply(b,_))}var t=n[0],e=n[1],u=n[2],o=n[3],i=n[4],f=n[5],l=n[6],p=n[7],s=e&er,g=e&ur,h=e&or,v=e&ir,y=t;
return r}function p(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 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=ct(n),u=e.length;++t<u;){var o=e[t];if(r(n[o],o,n)===cr)break}return n}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=ct(n),e=t.length;e--;){var u=t[e];if(r(n[u],u,n)===cr)break}return n}function h(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"&&(lt(i)||x(i))){r||(i=h(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 v(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 v(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=v(n[c],r[c],t,e)););}else rt(r,function(r,u,o){return Cr.call(o,u)?(c++,!(l=Cr.call(n,u)&&v(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=w(),o=n?n.length:0,i=[],f=!r&&t?[]:i;++e<o;){var a=n[e],l=t?t(a,e,n):a;r?e&&f===l||(f=l,i.push(a)):0>u(f,l)&&(t&&f.push(l),i.push(a))}return i}function m(n,r,t){for(var e=r.length,u=-1,o=Qr(t.length-e,0),i=-1,f=n.length,a=Array(o+f);++i<f;)a[i]=n[i];for(;++u<e;)a[r[u]]=t[u];for(;o--;)a[i++]=t[u++];return a}function b(n,r){return function(t,e,u){var o=r?[[],[]]:{};e=X(e,u,3),u=-1;
var i=t?t.length:0;if(typeof i=="number")for(;++u<i;){var f=t[u];n(o,f,e(f,u,t),t)}else s(t,function(r,t,u){n(o,r,e(r,t,u),u)});return o}}function _(n,r,t,e,u,o,i,a){var l=r&ur,p=r&fr,s=r&ar;if(!l&&!H(n))throw new TypeError;return p&&!u.length&&(r&=~fr,p=u=false),s&&!o.length&&(r&=~ar,s=o=false),null==t?t=l?0:n.length:0>t&&(t=0),p&&(i=d(u)),s&&(a=d(o)),n=[n,r,t,e,u,o,i,a],r==er||r==(er|fr)?f(n):c(n)}function d(n){for(var r=-1,t=n.length,e=[];++r<t;)n[r]===o&&e.push(r);return e}function w(){var r=(r=o.indexOf)===T?n:r;
return r}function j(n){return typeof n=="function"&&Mr.test(zr.call(n))}function x(n){return n&&typeof n=="object"&&typeof n.length=="number"&&Ir.call(n)==yr||false}function A(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 O(n,0,0<e?e:0)}function T(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=S(r,t),u&&r[e]===t?e:-1;return n(r,t,e)}function E(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 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=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 S(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 k(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 N(n,r){var t=w(),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 q(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;)if(!r(n[t],t,n))return false}else s(n,function(n,t,u){return!(e=!!r(n,t,u))&&cr});return e}function F(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 B(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 R(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);return n}function $(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 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=X(r,t,3),s(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=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 D(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 W(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 z(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;)if(r(n[t],t,n))return true}else s(n,function(n,t,u){return(e=r(n,t,u))&&cr});return!!e}function C(n,r){if(3>arguments.length)return _(n,er,null,r);if(n)var t=n[lr]?n[lr][2]:n.length,e=O(arguments,2),t=t-e.length;return _(n,er|fr,t,r,e)}function P(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 h=function(){var t=r-(pt()-i);0>=t||t>r?(u&&clearTimeout(u),t=l,u=a=l=tr,t&&(c=pt(),o=n.apply(f,e),a||u||(e=f=null))):a=setTimeout(h,t)},v=function(){a&&clearTimeout(a),u=a=l=tr,(s||p!==r)&&(c=pt(),o=n.apply(f,e),a||u||(e=f=null))};return function(){if(e=arguments,i=pt(),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||y>p;
m?(u&&(u=clearTimeout(u)),c=i,o=n.apply(f,e)):u||(u=setTimeout(v,y))}return m&&a?a=clearTimeout(a):a||r===p||(a=setTimeout(h,r)),t&&(m=true,o=n.apply(f,e)),!m||a||u||(e=f=null),o}}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)n[f]=r[f];return n}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)"undefined"==typeof n[f]&&(n[f]=r[f]);
return n}function G(n){var r=[];return rt(n,function(n,t){H(n)&&r.push(t)}),r.sort()}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=ct(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"function"==e||null==n?(typeof r=="undefined"||!("prototype"in n))&&n||l(n,r,t):"object"!=e?rr(n):Z(n)
}function Y(n){return n}function Z(n){n||(n={});var r=ct(n);return function(t){for(var e=r.length,u=true;e--&&(u=r[e],u=Cr.call(t,u)&&t[u]===n[u]););return u}}function nr(n){for(var r=-1,t=G(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,hr=/($^)/,vr=/['\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]",Ar={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;"},Tr={"&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=j(Gr=Object.create)&&Gr,Hr=j(Hr=Array.isArray)&&Hr,Jr=Sr.isFinite,Kr=Sr.isNaN,Lr=j(Lr=Object.keys)&&Lr,Qr=Math.max,Xr=Math.min,Yr=j(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()}}()),x(arguments)||(x=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=b(function(n,r,t){Cr.call(n,t)?n[t]++:n[t]=1}),ut=b(function(n,r,t){Cr.call(n,t)?n[t].push(r):n[t]=[r]}),ot=b(function(n,r,t){n[t]=r}),it=b(function(n,r,t){n[t?0:1].push(r)},true),ft=$,at=F,lt=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 ct=Lr?function(n){return J(n)?Lr(n):[]}:tt,pt=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=C,o.bindAll=function(n){for(var r=1<arguments.length?h(arguments,true,false,1):G(n),t=-1,e=r.length;++t<e;){var u=r[t];n[u]=_(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.constant=function(n){return function(){return n}},o.countBy=et,o.debounce=P,o.defaults=V,o.defer=function(n){if(!H(n))throw new TypeError;var r=O(arguments,1);return setTimeout(function(){n.apply(tr,r)},1)},o.delay=function(n,r){if(!H(n))throw new TypeError;var t=O(arguments,2);return setTimeout(function(){n.apply(tr,t)
},r)},o.difference=function(n){return p(n,h(arguments,true,true,1))},o.filter=F,o.flatten=function(n,r,t){var e=typeof r;return"number"!=e&&"string"!=e||!t||t[r]!==n||(r=false),h(n,r)},o.forEach=R,o.functions=G,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,O(n,0,0<e?e:0)},o.intersection=function(){for(var n=[],r=-1,t=arguments.length;++r<t;){var e=arguments[r];(lt(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},o.invert=function(n){for(var r=-1,t=ct(n),e=t.length,u={};++r<e;){var o=t[r];u[n[o]]=o}return u},o.invoke=function(n,r){var t=-1,e=typeof r=="function",u=n?n.length:0,o=Array(typeof u=="number"?u:0);if(3>arguments.length&&typeof u=="number")for(;++t<u;){var i=n[t];o[t]=e?r.call(i):i[r]()}else{var f=O(arguments,2);s(n,function(n){o[++t]=(e?r:n[r]).apply(n,f)})}return o
},o.keys=ct,o.map=$,o.matches=Z,o.max=I,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){for(var r=h(arguments,true,false,1),t=r.length,e={};t--;)r[t]=r[t]+"";
var u=[];rt(n,function(n,r){u.push(r)});for(var o=-1,u=p(u,r),t=u.length;++o<t;)r=u[o],e[r]=n[r];return e},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=ct(n),e=t.length,u=Array(e);++r<e;){var o=t[r];u[r]=[o,n[o]]}return u},o.partial=function(n){if(n)var r=n[lr]?n[lr][2]:n.length,t=O(arguments,1),r=r-t.length;return _(n,fr,r,null,t)},o.partition=it,o.pick=function(n){for(var r=-1,t=h(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=ft,o.property=rr,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),F(n,function(n,t,e){return!r(n,t,e)})},o.rest=E,o.shuffle=W,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,P(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 lt(n)?O(n):n&&typeof n.length=="number"?$(n):Q(n)},o.union=function(){return y(h(arguments,true,true))},o.uniq=k,o.values=Q,o.where=at,o.without=function(n){return p(n,O(arguments,1))
},o.wrap=function(n,r){return _(r,fr,null,null,[n])},o.zip=function(){for(var n=-1,r=I(ft(arguments,"length")),t=Array(0>r?0:r);++n<r;)t[n]=ft(arguments,n);return t},o.collect=$,o.drop=E,o.each=R,o.extend=U,o.methods=G,o.object=function(n,r){var t=-1,e=n?n.length:0,u={};for(r||!e||lt(n[0])||(r=[]);++t<e;){var o=n[t];r?u[o]=r[t]:o&&(u[o[0]]=o[1])}return u},o.select=F,o.tail=E,o.unique=k,o.clone=function(n){return J(n)?lt(n)?O(n):U({},n):n},o.contains=N,o.escape=function(n){return null==n?"":(n+"").replace(gr,t)
},o.every=q,o.find=B,o.has=function(n,r){return n?Cr.call(n,r):false},o.identity=Y,o.indexOf=T,o.isArguments=x,o.isArray=lt,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=function(n){if(!n)return true;if(lt(n)||L(n))return!n.length;for(var r in n)if(Cr.call(n,r))return false;return true},o.isEqual=function(n,r){return v(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.now=pt,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=M,o.reduceRight=D,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:ct(n).length},o.some=z,o.sortedIndex=S,o.template=function(n,r,t){var u=o,i=u.templateSettings;n=(n||"")+"",t=V({},t,i);var f=0,a="__p+='",i=t.variable;n.replace(RegExp((t.escape||hr).source+"|"+(t.interpolate||hr).source+"|"+(t.evaluate||hr).source+"|$","g"),function(r,t,u,o,i){return a+=n.slice(f,i).replace(vr,e),t&&(a+="'+_.escape("+t+")+'"),o&&(a+="';"+o+";\n__p+='"),u&&(a+="'+((__t=("+u+"))==null?'':__t)+'"),f=i+r.length,r
}),a+="';",i||(a="with(obj||{}){"+a+"}"),a="function("+(i||"obj")+"){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=q,o.any=z,o.detect=B,o.findWhere=B,o.foldl=M,o.foldr=D,o.include=N,o.inject=M,o.first=A,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,O(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=W(n),n.length=Xr(Qr(0,r),n.length),n)},o.take=A,o.head=A,nr(U({},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("underscore",function(){return o})):kr&&Nr?Fr?(Nr.exports=o)._=o:kr._=o:Sr._=o}).call(this);

View File

@@ -1784,16 +1784,18 @@
var seen = createCache();
indexOf = cacheIndexOf;
} else {
seen = callback ? getArray() : result;
seen = (!isSorted && callback) ? getArray() : result;
}
while (++index < length) {
var value = array[index],
computed = callback ? callback(value, index, array) : value;
if (isSorted
? !index || seen[seen.length - 1] !== computed
: indexOf(seen, computed) < 0
) {
if (isSorted) {
if (!index || seen !== computed) {
seen = computed;
result.push(value);
}
} else if (indexOf(seen, computed) < 0) {
if (callback || isLarge) {
seen.push(computed);
}
@@ -2533,7 +2535,7 @@
function indexOf(array, value, fromIndex) {
var length = array ? array.length : 0;
if (typeof fromIndex == 'number') {
fromIndex = (fromIndex < 0 ? nativeMax(0, length + fromIndex) : fromIndex || 0);
fromIndex = fromIndex < 0 ? nativeMax(0, length + fromIndex) : (fromIndex || 0);
} else if (fromIndex) {
var index = sortedIndex(array, value);
return (length && array[index] === value) ? index : -1;