lodash-rails 4.17.4 → 4.17.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 5bdc40792066ab364d12216be61344b8f7deb2a7
4
- data.tar.gz: 47c9e188cdf326b5247f2afd0475df06de377261
2
+ SHA256:
3
+ metadata.gz: 56bc581a04b5a81ce6412cb669a1e077f1f8f9e9b261393ec0f2ed0aefff2ddf
4
+ data.tar.gz: b77d6e509b3eb0bebb4a52f87e0020f77502a890801c458a6002d8dc9f94f536
5
5
  SHA512:
6
- metadata.gz: 22760c7fa4a3bb929293df5d016b251c2ea838d68a3a8e889f092ec020e65b640f90ba9c32e7418c6248e77089d499abda87f29e0f2a0437409d08cafc3bee92
7
- data.tar.gz: 9f1eb0f8f8c2596fc36980ea4759d3a994f58d6675aa0583c7f28b621578e8cc085af48620d513d6cd69555e54611f8ac95de5de178f0c9e6fb2014f5a23e88b
6
+ metadata.gz: fb0915d94c2e6b2866035e34fb6b2f67e20397a374a7c1f1c83dbe51acb00e80dda93a1195dd4cf2b693c7bfd6e5365542177884767798708d95e4c12dbfa763
7
+ data.tar.gz: c09545e7314cbe21ed20a2384d8ece93198a70ea10b855a44e887045750a433adf4d70ca70230278491a766e3263a66a7a5a8fcf08cd5e29c84346290d5ea6c7
data/README.md CHANGED
@@ -18,7 +18,7 @@ Add the necessary library to `app/assets/javascripts/application.js`:
18
18
 
19
19
  ## What's included?
20
20
 
21
- lodash 4.17.4:
21
+ lodash 4.17.5:
22
22
 
23
23
  * lodash.core.js
24
24
  * lodash.core.min.js
@@ -1,5 +1,5 @@
1
1
  module LoDash
2
2
  module Rails
3
- VERSION = "4.17.4"
3
+ VERSION = "4.17.5"
4
4
  end
5
5
  end
@@ -13,7 +13,7 @@
13
13
  var undefined;
14
14
 
15
15
  /** Used as the semantic version number. */
16
- var VERSION = '4.17.4';
16
+ var VERSION = '4.17.5';
17
17
 
18
18
  /** Error message constants. */
19
19
  var FUNC_ERROR_TEXT = 'Expected a function';
@@ -49,6 +49,9 @@
49
49
  var reUnescapedHtml = /[&<>"']/g,
50
50
  reHasUnescapedHtml = RegExp(reUnescapedHtml.source);
51
51
 
52
+ /** Used to detect unsigned integer values. */
53
+ var reIsUint = /^(?:0|[1-9]\d*)$/;
54
+
52
55
  /** Used to map characters to HTML entities. */
53
56
  var htmlEscapes = {
54
57
  '&': '&amp;',
@@ -1159,26 +1162,6 @@
1159
1162
  return wrapper;
1160
1163
  }
1161
1164
 
1162
- /**
1163
- * Used by `_.defaults` to customize its `_.assignIn` use to assign properties
1164
- * of source objects to the destination object for all destination properties
1165
- * that resolve to `undefined`.
1166
- *
1167
- * @private
1168
- * @param {*} objValue The destination value.
1169
- * @param {*} srcValue The source value.
1170
- * @param {string} key The key of the property to assign.
1171
- * @param {Object} object The parent object of `objValue`.
1172
- * @returns {*} Returns the value to assign.
1173
- */
1174
- function customDefaultsAssignIn(objValue, srcValue, key, object) {
1175
- if (objValue === undefined ||
1176
- (eq(objValue, objectProto[key]) && !hasOwnProperty.call(object, key))) {
1177
- return srcValue;
1178
- }
1179
- return objValue;
1180
- }
1181
-
1182
1165
  /**
1183
1166
  * A specialized version of `baseIsEqualDeep` for arrays with support for
1184
1167
  * partial deep comparisons.
@@ -1366,6 +1349,48 @@
1366
1349
  return isArray(value) || isArguments(value);
1367
1350
  }
1368
1351
 
1352
+ /**
1353
+ * Checks if `value` is a valid array-like index.
1354
+ *
1355
+ * @private
1356
+ * @param {*} value The value to check.
1357
+ * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.
1358
+ * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.
1359
+ */
1360
+ function isIndex(value, length) {
1361
+ var type = typeof value;
1362
+ length = length == null ? MAX_SAFE_INTEGER : length;
1363
+
1364
+ return !!length &&
1365
+ (type == 'number' ||
1366
+ (type != 'symbol' && reIsUint.test(value))) &&
1367
+ (value > -1 && value % 1 == 0 && value < length);
1368
+ }
1369
+
1370
+ /**
1371
+ * Checks if the given arguments are from an iteratee call.
1372
+ *
1373
+ * @private
1374
+ * @param {*} value The potential iteratee value argument.
1375
+ * @param {*} index The potential iteratee index or key argument.
1376
+ * @param {*} object The potential iteratee object argument.
1377
+ * @returns {boolean} Returns `true` if the arguments are from an iteratee call,
1378
+ * else `false`.
1379
+ */
1380
+ function isIterateeCall(value, index, object) {
1381
+ if (!isObject(object)) {
1382
+ return false;
1383
+ }
1384
+ var type = typeof index;
1385
+ if (type == 'number'
1386
+ ? (isArrayLike(object) && isIndex(index, object.length))
1387
+ : (type == 'string' && index in object)
1388
+ ) {
1389
+ return eq(object[index], value);
1390
+ }
1391
+ return false;
1392
+ }
1393
+
1369
1394
  /**
1370
1395
  * This function is like
1371
1396
  * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)
@@ -3098,39 +3123,6 @@
3098
3123
  copyObject(source, nativeKeysIn(source), object);
3099
3124
  });
3100
3125
 
3101
- /**
3102
- * This method is like `_.assignIn` except that it accepts `customizer`
3103
- * which is invoked to produce the assigned values. If `customizer` returns
3104
- * `undefined`, assignment is handled by the method instead. The `customizer`
3105
- * is invoked with five arguments: (objValue, srcValue, key, object, source).
3106
- *
3107
- * **Note:** This method mutates `object`.
3108
- *
3109
- * @static
3110
- * @memberOf _
3111
- * @since 4.0.0
3112
- * @alias extendWith
3113
- * @category Object
3114
- * @param {Object} object The destination object.
3115
- * @param {...Object} sources The source objects.
3116
- * @param {Function} [customizer] The function to customize assigned values.
3117
- * @returns {Object} Returns `object`.
3118
- * @see _.assignWith
3119
- * @example
3120
- *
3121
- * function customizer(objValue, srcValue) {
3122
- * return _.isUndefined(objValue) ? srcValue : objValue;
3123
- * }
3124
- *
3125
- * var defaults = _.partialRight(_.assignInWith, customizer);
3126
- *
3127
- * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });
3128
- * // => { 'a': 1, 'b': 2 }
3129
- */
3130
- var assignInWith = createAssigner(function(object, source, srcIndex, customizer) {
3131
- copyObject(source, keysIn(source), object, customizer);
3132
- });
3133
-
3134
3126
  /**
3135
3127
  * Creates an object that inherits from the `prototype` object. If a
3136
3128
  * `properties` object is given, its own enumerable string keyed properties
@@ -3191,9 +3183,35 @@
3191
3183
  * _.defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });
3192
3184
  * // => { 'a': 1, 'b': 2 }
3193
3185
  */
3194
- var defaults = baseRest(function(args) {
3195
- args.push(undefined, customDefaultsAssignIn);
3196
- return assignInWith.apply(undefined, args);
3186
+ var defaults = baseRest(function(object, sources) {
3187
+ object = Object(object);
3188
+
3189
+ var index = -1;
3190
+ var length = sources.length;
3191
+ var guard = length > 2 ? sources[2] : undefined;
3192
+
3193
+ if (guard && isIterateeCall(sources[0], sources[1], guard)) {
3194
+ length = 1;
3195
+ }
3196
+
3197
+ while (++index < length) {
3198
+ var source = sources[index];
3199
+ var props = keysIn(source);
3200
+ var propsIndex = -1;
3201
+ var propsLength = props.length;
3202
+
3203
+ while (++propsIndex < propsLength) {
3204
+ var key = props[propsIndex];
3205
+ var value = object[key];
3206
+
3207
+ if (value === undefined ||
3208
+ (eq(value, objectProto[key]) && !hasOwnProperty.call(object, key))) {
3209
+ object[key] = source[key];
3210
+ }
3211
+ }
3212
+ }
3213
+
3214
+ return object;
3197
3215
  });
3198
3216
 
3199
3217
  /**
@@ -3,27 +3,27 @@
3
3
  * Lodash (Custom Build) lodash.com/license | Underscore.js 1.8.3 underscorejs.org/LICENSE
4
4
  * Build: `lodash core -o ./dist/lodash.core.js`
5
5
  */
6
- ;(function(){function n(n){return K(n)&&pn.call(n,"callee")&&!bn.call(n,"callee")}function t(n,t){return n.push.apply(n,t),n}function r(n){return function(t){return null==t?nn:t[n]}}function e(n,t,r,e,u){return u(n,function(n,u,o){r=e?(e=false,n):t(r,n,u,o)}),r}function u(n,t){return j(t,function(t){return n[t]})}function o(n){return n instanceof i?n:new i(n)}function i(n,t){this.__wrapped__=n,this.__actions__=[],this.__chain__=!!t}function c(n,t,r){if(typeof n!="function")throw new TypeError("Expected a function");
7
- return setTimeout(function(){n.apply(nn,r)},t)}function f(n,t){var r=true;return mn(n,function(n,e,u){return r=!!t(n,e,u)}),r}function a(n,t,r){for(var e=-1,u=n.length;++e<u;){var o=n[e],i=t(o);if(null!=i&&(c===nn?i===i:r(i,c)))var c=i,f=o}return f}function l(n,t){var r=[];return mn(n,function(n,e,u){t(n,e,u)&&r.push(n)}),r}function p(n,r,e,u,o){var i=-1,c=n.length;for(e||(e=D),o||(o=[]);++i<c;){var f=n[i];0<r&&e(f)?1<r?p(f,r-1,e,u,o):t(o,f):u||(o[o.length]=f)}return o}function s(n,t){return n&&On(n,t,In);
8
- }function h(n,t){return l(t,function(t){return V(n[t])})}function v(n,t){return n>t}function y(n,t,r,e,u){return n===t||(null==n||null==t||!K(n)&&!K(t)?n!==n&&t!==t:b(n,t,r,e,y,u))}function b(n,t,r,e,u,o){var i=Nn(n),c=Nn(t),f=i?"[object Array]":hn.call(n),a=c?"[object Array]":hn.call(t),f="[object Arguments]"==f?"[object Object]":f,a="[object Arguments]"==a?"[object Object]":a,l="[object Object]"==f,c="[object Object]"==a,a=f==a;o||(o=[]);var p=An(o,function(t){return t[0]==n}),s=An(o,function(n){
9
- return n[0]==t});if(p&&s)return p[1]==t;if(o.push([n,t]),o.push([t,n]),a&&!l){if(i)r=B(n,t,r,e,u,o);else n:{switch(f){case"[object Boolean]":case"[object Date]":case"[object Number]":r=M(+n,+t);break n;case"[object Error]":r=n.name==t.name&&n.message==t.message;break n;case"[object RegExp]":case"[object String]":r=n==t+"";break n}r=false}return o.pop(),r}return 1&r||(i=l&&pn.call(n,"__wrapped__"),f=c&&pn.call(t,"__wrapped__"),!i&&!f)?!!a&&(r=R(n,t,r,e,u,o),o.pop(),r):(i=i?n.value():n,f=f?t.value():t,
10
- r=u(i,f,r,e,o),o.pop(),r)}function g(n){return typeof n=="function"?n:null==n?Y:(typeof n=="object"?d:r)(n)}function _(n,t){return n<t}function j(n,t){var r=-1,e=U(n)?Array(n.length):[];return mn(n,function(n,u,o){e[++r]=t(n,u,o)}),e}function d(n){var t=_n(n);return function(r){var e=t.length;if(null==r)return!e;for(r=Object(r);e--;){var u=t[e];if(!(u in r&&y(n[u],r[u],3)))return false}return true}}function m(n,t){return n=Object(n),G(t,function(t,r){return r in n&&(t[r]=n[r]),t},{})}function O(n){return xn(q(n,void 0,Y),n+"");
11
- }function x(n,t,r){var e=-1,u=n.length;for(0>t&&(t=-t>u?0:u+t),r=r>u?u:r,0>r&&(r+=u),u=t>r?0:r-t>>>0,t>>>=0,r=Array(u);++e<u;)r[e]=n[e+t];return r}function A(n){return x(n,0,n.length)}function E(n,t){var r;return mn(n,function(n,e,u){return r=t(n,e,u),!r}),!!r}function w(n,r){return G(r,function(n,r){return r.func.apply(r.thisArg,t([n],r.args))},n)}function k(n,t,r,e){var u=!r;r||(r={});for(var o=-1,i=t.length;++o<i;){var c=t[o],f=e?e(r[c],n[c],c,r,n):nn;if(f===nn&&(f=n[c]),u)r[c]=f;else{var a=r,l=a[c];
12
- pn.call(a,c)&&M(l,f)&&(f!==nn||c in a)||(a[c]=f)}}return r}function N(n){return O(function(t,r){var e=-1,u=r.length,o=1<u?r[u-1]:nn,o=3<n.length&&typeof o=="function"?(u--,o):nn;for(t=Object(t);++e<u;){var i=r[e];i&&n(t,i,e,o)}return t})}function F(n){return function(){var t=arguments,r=dn(n.prototype),t=n.apply(r,t);return H(t)?t:r}}function S(n,t,r){function e(){for(var o=-1,i=arguments.length,c=-1,f=r.length,a=Array(f+i),l=this&&this!==on&&this instanceof e?u:n;++c<f;)a[c]=r[c];for(;i--;)a[c++]=arguments[++o];
13
- return l.apply(t,a)}if(typeof n!="function")throw new TypeError("Expected a function");var u=F(n);return e}function T(n,t,r,e){return n===nn||M(n,ln[r])&&!pn.call(e,r)?t:n}function B(n,t,r,e,u,o){var i=n.length,c=t.length;if(i!=c&&!(1&r&&c>i))return false;for(var c=-1,f=true,a=2&r?[]:nn;++c<i;){var l=n[c],p=t[c];if(void 0!==nn){f=false;break}if(a){if(!E(t,function(n,t){if(!z(a,t)&&(l===n||u(l,n,r,e,o)))return a.push(t)})){f=false;break}}else if(l!==p&&!u(l,p,r,e,o)){f=false;break}}return f}function R(n,t,r,e,u,o){
14
- var i=1&r,c=In(n),f=c.length,a=In(t).length;if(f!=a&&!i)return false;for(var l=f;l--;){var p=c[l];if(!(i?p in t:pn.call(t,p)))return false}for(a=true;++l<f;){var p=c[l],s=n[p],h=t[p];if(void 0!==nn||s!==h&&!u(s,h,r,e,o)){a=false;break}i||(i="constructor"==p)}return a&&!i&&(r=n.constructor,e=t.constructor,r!=e&&"constructor"in n&&"constructor"in t&&!(typeof r=="function"&&r instanceof r&&typeof e=="function"&&e instanceof e)&&(a=false)),a}function D(t){return Nn(t)||n(t)}function I(n){var t=[];if(null!=n)for(var r in Object(n))t.push(r);
15
- return t}function q(n,t,r){return t=jn(t===nn?n.length-1:t,0),function(){for(var e=arguments,u=-1,o=jn(e.length-t,0),i=Array(o);++u<o;)i[u]=e[t+u];for(u=-1,o=Array(t+1);++u<t;)o[u]=e[u];return o[t]=r(i),n.apply(this,o)}}function $(n){return(null==n?0:n.length)?p(n,1):[]}function P(n){return n&&n.length?n[0]:nn}function z(n,t,r){var e=null==n?0:n.length;r=typeof r=="number"?0>r?jn(e+r,0):r:0,r=(r||0)-1;for(var u=t===t;++r<e;){var o=n[r];if(u?o===t:o!==o)return r}return-1}function C(n,t){return mn(n,g(t));
16
- }function G(n,t,r){return e(n,g(t),r,3>arguments.length,mn)}function J(n,t){var r;if(typeof t!="function")throw new TypeError("Expected a function");return n=Fn(n),function(){return 0<--n&&(r=t.apply(this,arguments)),1>=n&&(t=nn),r}}function M(n,t){return n===t||n!==n&&t!==t}function U(n){var t;return(t=null!=n)&&(t=n.length,t=typeof t=="number"&&-1<t&&0==t%1&&9007199254740991>=t),t&&!V(n)}function V(n){return!!H(n)&&(n=hn.call(n),"[object Function]"==n||"[object GeneratorFunction]"==n||"[object AsyncFunction]"==n||"[object Proxy]"==n);
17
- }function H(n){var t=typeof n;return null!=n&&("object"==t||"function"==t)}function K(n){return null!=n&&typeof n=="object"}function L(n){return typeof n=="number"||K(n)&&"[object Number]"==hn.call(n)}function Q(n){return typeof n=="string"||!Nn(n)&&K(n)&&"[object String]"==hn.call(n)}function W(n){return typeof n=="string"?n:null==n?"":n+""}function X(n){return null==n?[]:u(n,In(n))}function Y(n){return n}function Z(n,r,e){var u=In(r),o=h(r,u);null!=e||H(r)&&(o.length||!u.length)||(e=r,r=n,n=this,o=h(r,In(r)));
18
- var i=!(H(e)&&"chain"in e&&!e.chain),c=V(n);return mn(o,function(e){var u=r[e];n[e]=u,c&&(n.prototype[e]=function(){var r=this.__chain__;if(i||r){var e=n(this.__wrapped__);return(e.__actions__=A(this.__actions__)).push({func:u,args:arguments,thisArg:n}),e.__chain__=r,e}return u.apply(n,t([this.value()],arguments))})}),n}var nn,tn=1/0,rn=/[&<>"']/g,en=RegExp(rn.source),un=typeof self=="object"&&self&&self.Object===Object&&self,on=typeof global=="object"&&global&&global.Object===Object&&global||un||Function("return this")(),cn=(un=typeof exports=="object"&&exports&&!exports.nodeType&&exports)&&typeof module=="object"&&module&&!module.nodeType&&module,fn=function(n){
19
- return function(t){return null==n?nn:n[t]}}({"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"}),an=Array.prototype,ln=Object.prototype,pn=ln.hasOwnProperty,sn=0,hn=ln.toString,vn=on._,yn=Object.create,bn=ln.propertyIsEnumerable,gn=on.isFinite,_n=function(n,t){return function(r){return n(t(r))}}(Object.keys,Object),jn=Math.max,dn=function(){function n(){}return function(t){return H(t)?yn?yn(t):(n.prototype=t,t=new n,n.prototype=nn,t):{}}}();i.prototype=dn(o.prototype),i.prototype.constructor=i;
20
- var mn=function(n,t){return function(r,e){if(null==r)return r;if(!U(r))return n(r,e);for(var u=r.length,o=t?u:-1,i=Object(r);(t?o--:++o<u)&&false!==e(i[o],o,i););return r}}(s),On=function(n){return function(t,r,e){var u=-1,o=Object(t);e=e(t);for(var i=e.length;i--;){var c=e[n?i:++u];if(false===r(o[c],c,o))break}return t}}(),xn=Y,An=function(n){return function(t,r,e){var u=Object(t);if(!U(t)){var o=g(r);t=In(t),r=function(n){return o(u[n],n,u)}}return r=n(t,r,e),-1<r?u[o?t[r]:r]:nn}}(function(n,t,r){var e=null==n?0:n.length;
21
- if(!e)return-1;r=null==r?0:Fn(r),0>r&&(r=jn(e+r,0));n:{for(t=g(t),e=n.length,r+=-1;++r<e;)if(t(n[r],r,n)){n=r;break n}n=-1}return n}),En=O(function(n,t,r){return S(n,t,r)}),wn=O(function(n,t){return c(n,1,t)}),kn=O(function(n,t,r){return c(n,Sn(t)||0,r)}),Nn=Array.isArray,Fn=Number,Sn=Number,Tn=N(function(n,t){k(t,_n(t),n)}),Bn=N(function(n,t){k(t,I(t),n)}),Rn=N(function(n,t,r,e){k(t,qn(t),n,e)}),Dn=O(function(n){return n.push(nn,T),Rn.apply(nn,n)}),In=_n,qn=I,$n=function(n){return xn(q(n,nn,$),n+"");
22
- }(function(n,t){return null==n?{}:m(n,t)});o.assignIn=Bn,o.before=J,o.bind=En,o.chain=function(n){return n=o(n),n.__chain__=true,n},o.compact=function(n){return l(n,Boolean)},o.concat=function(){var n=arguments.length;if(!n)return[];for(var r=Array(n-1),e=arguments[0];n--;)r[n-1]=arguments[n];return t(Nn(e)?A(e):[e],p(r,1))},o.create=function(n,t){var r=dn(n);return null==t?r:Tn(r,t)},o.defaults=Dn,o.defer=wn,o.delay=kn,o.filter=function(n,t){return l(n,g(t))},o.flatten=$,o.flattenDeep=function(n){
23
- return(null==n?0:n.length)?p(n,tn):[]},o.iteratee=g,o.keys=In,o.map=function(n,t){return j(n,g(t))},o.matches=function(n){return d(Tn({},n))},o.mixin=Z,o.negate=function(n){if(typeof n!="function")throw new TypeError("Expected a function");return function(){return!n.apply(this,arguments)}},o.once=function(n){return J(2,n)},o.pick=$n,o.slice=function(n,t,r){var e=null==n?0:n.length;return r=r===nn?e:+r,e?x(n,null==t?0:+t,r):[]},o.sortBy=function(n,t){var e=0;return t=g(t),j(j(n,function(n,r,u){return{
24
- value:n,index:e++,criteria:t(n,r,u)}}).sort(function(n,t){var r;n:{r=n.criteria;var e=t.criteria;if(r!==e){var u=r!==nn,o=null===r,i=r===r,c=e!==nn,f=null===e,a=e===e;if(!f&&r>e||o&&c&&a||!u&&a||!i){r=1;break n}if(!o&&r<e||f&&u&&i||!c&&i||!a){r=-1;break n}}r=0}return r||n.index-t.index}),r("value"))},o.tap=function(n,t){return t(n),n},o.thru=function(n,t){return t(n)},o.toArray=function(n){return U(n)?n.length?A(n):[]:X(n)},o.values=X,o.extend=Bn,Z(o,o),o.clone=function(n){return H(n)?Nn(n)?A(n):k(n,_n(n)):n;
25
- },o.escape=function(n){return(n=W(n))&&en.test(n)?n.replace(rn,fn):n},o.every=function(n,t,r){return t=r?nn:t,f(n,g(t))},o.find=An,o.forEach=C,o.has=function(n,t){return null!=n&&pn.call(n,t)},o.head=P,o.identity=Y,o.indexOf=z,o.isArguments=n,o.isArray=Nn,o.isBoolean=function(n){return true===n||false===n||K(n)&&"[object Boolean]"==hn.call(n)},o.isDate=function(n){return K(n)&&"[object Date]"==hn.call(n)},o.isEmpty=function(t){return U(t)&&(Nn(t)||Q(t)||V(t.splice)||n(t))?!t.length:!_n(t).length},o.isEqual=function(n,t){
26
- return y(n,t)},o.isFinite=function(n){return typeof n=="number"&&gn(n)},o.isFunction=V,o.isNaN=function(n){return L(n)&&n!=+n},o.isNull=function(n){return null===n},o.isNumber=L,o.isObject=H,o.isRegExp=function(n){return K(n)&&"[object RegExp]"==hn.call(n)},o.isString=Q,o.isUndefined=function(n){return n===nn},o.last=function(n){var t=null==n?0:n.length;return t?n[t-1]:nn},o.max=function(n){return n&&n.length?a(n,Y,v):nn},o.min=function(n){return n&&n.length?a(n,Y,_):nn},o.noConflict=function(){return on._===this&&(on._=vn),
27
- this},o.noop=function(){},o.reduce=G,o.result=function(n,t,r){return t=null==n?nn:n[t],t===nn&&(t=r),V(t)?t.call(n):t},o.size=function(n){return null==n?0:(n=U(n)?n:_n(n),n.length)},o.some=function(n,t,r){return t=r?nn:t,E(n,g(t))},o.uniqueId=function(n){var t=++sn;return W(n)+t},o.each=C,o.first=P,Z(o,function(){var n={};return s(o,function(t,r){pn.call(o.prototype,r)||(n[r]=t)}),n}(),{chain:false}),o.VERSION="4.17.4",mn("pop join replace reverse split push shift sort splice unshift".split(" "),function(n){
28
- var t=(/^(?:replace|split)$/.test(n)?String.prototype:an)[n],r=/^(?:push|sort|unshift)$/.test(n)?"tap":"thru",e=/^(?:pop|join|replace|shift)$/.test(n);o.prototype[n]=function(){var n=arguments;if(e&&!this.__chain__){var u=this.value();return t.apply(Nn(u)?u:[],n)}return this[r](function(r){return t.apply(Nn(r)?r:[],n)})}}),o.prototype.toJSON=o.prototype.valueOf=o.prototype.value=function(){return w(this.__wrapped__,this.__actions__)},typeof define=="function"&&typeof define.amd=="object"&&define.amd?(on._=o,
29
- define(function(){return o})):cn?((cn.exports=o)._=o,un._=o):on._=o}).call(this);
6
+ ;(function(){function n(n){return H(n)&&pn.call(n,"callee")&&!yn.call(n,"callee")}function t(n,t){return n.push.apply(n,t),n}function r(n){return function(t){return null==t?Z:t[n]}}function e(n,t,r,e,u){return u(n,function(n,u,o){r=e?(e=false,n):t(r,n,u,o)}),r}function u(n,t){return j(t,function(t){return n[t]})}function o(n){return n instanceof i?n:new i(n)}function i(n,t){this.__wrapped__=n,this.__actions__=[],this.__chain__=!!t}function c(n,t,r){if(typeof n!="function")throw new TypeError("Expected a function");
7
+ return setTimeout(function(){n.apply(Z,r)},t)}function f(n,t){var r=true;return mn(n,function(n,e,u){return r=!!t(n,e,u)}),r}function a(n,t,r){for(var e=-1,u=n.length;++e<u;){var o=n[e],i=t(o);if(null!=i&&(c===Z?i===i:r(i,c)))var c=i,f=o}return f}function l(n,t){var r=[];return mn(n,function(n,e,u){t(n,e,u)&&r.push(n)}),r}function p(n,r,e,u,o){var i=-1,c=n.length;for(e||(e=R),o||(o=[]);++i<c;){var f=n[i];0<r&&e(f)?1<r?p(f,r-1,e,u,o):t(o,f):u||(o[o.length]=f)}return o}function s(n,t){return n&&On(n,t,Dn);
8
+ }function h(n,t){return l(t,function(t){return U(n[t])})}function v(n,t){return n>t}function b(n,t,r,e,u){return n===t||(null==n||null==t||!H(n)&&!H(t)?n!==n&&t!==t:y(n,t,r,e,b,u))}function y(n,t,r,e,u,o){var i=Nn(n),c=Nn(t),f=i?"[object Array]":hn.call(n),a=c?"[object Array]":hn.call(t),f="[object Arguments]"==f?"[object Object]":f,a="[object Arguments]"==a?"[object Object]":a,l="[object Object]"==f,c="[object Object]"==a,a=f==a;o||(o=[]);var p=An(o,function(t){return t[0]==n}),s=An(o,function(n){
9
+ return n[0]==t});if(p&&s)return p[1]==t;if(o.push([n,t]),o.push([t,n]),a&&!l){if(i)r=T(n,t,r,e,u,o);else n:{switch(f){case"[object Boolean]":case"[object Date]":case"[object Number]":r=J(+n,+t);break n;case"[object Error]":r=n.name==t.name&&n.message==t.message;break n;case"[object RegExp]":case"[object String]":r=n==t+"";break n}r=false}return o.pop(),r}return 1&r||(i=l&&pn.call(n,"__wrapped__"),f=c&&pn.call(t,"__wrapped__"),!i&&!f)?!!a&&(r=B(n,t,r,e,u,o),o.pop(),r):(i=i?n.value():n,f=f?t.value():t,
10
+ r=u(i,f,r,e,o),o.pop(),r)}function g(n){return typeof n=="function"?n:null==n?X:(typeof n=="object"?d:r)(n)}function _(n,t){return n<t}function j(n,t){var r=-1,e=M(n)?Array(n.length):[];return mn(n,function(n,u,o){e[++r]=t(n,u,o)}),e}function d(n){var t=_n(n);return function(r){var e=t.length;if(null==r)return!e;for(r=Object(r);e--;){var u=t[e];if(!(u in r&&b(n[u],r[u],3)))return false}return true}}function m(n,t){return n=Object(n),C(t,function(t,r){return r in n&&(t[r]=n[r]),t},{})}function O(n){return xn(I(n,void 0,X),n+"");
11
+ }function x(n,t,r){var e=-1,u=n.length;for(0>t&&(t=-t>u?0:u+t),r=r>u?u:r,0>r&&(r+=u),u=t>r?0:r-t>>>0,t>>>=0,r=Array(u);++e<u;)r[e]=n[e+t];return r}function A(n){return x(n,0,n.length)}function E(n,t){var r;return mn(n,function(n,e,u){return r=t(n,e,u),!r}),!!r}function w(n,r){return C(r,function(n,r){return r.func.apply(r.thisArg,t([n],r.args))},n)}function k(n,t,r){var e=!r;r||(r={});for(var u=-1,o=t.length;++u<o;){var i=t[u],c=Z;if(c===Z&&(c=n[i]),e)r[i]=c;else{var f=r,a=f[i];pn.call(f,i)&&J(a,c)&&(c!==Z||i in f)||(f[i]=c);
12
+ }}return r}function N(n){return O(function(t,r){var e=-1,u=r.length,o=1<u?r[u-1]:Z,o=3<n.length&&typeof o=="function"?(u--,o):Z;for(t=Object(t);++e<u;){var i=r[e];i&&n(t,i,e,o)}return t})}function F(n){return function(){var t=arguments,r=dn(n.prototype),t=n.apply(r,t);return V(t)?t:r}}function S(n,t,r){function e(){for(var o=-1,i=arguments.length,c=-1,f=r.length,a=Array(f+i),l=this&&this!==on&&this instanceof e?u:n;++c<f;)a[c]=r[c];for(;i--;)a[c++]=arguments[++o];return l.apply(t,a)}if(typeof n!="function")throw new TypeError("Expected a function");
13
+ var u=F(n);return e}function T(n,t,r,e,u,o){var i=n.length,c=t.length;if(i!=c&&!(1&r&&c>i))return false;for(var c=-1,f=true,a=2&r?[]:Z;++c<i;){var l=n[c],p=t[c];if(void 0!==Z){f=false;break}if(a){if(!E(t,function(n,t){if(!P(a,t)&&(l===n||u(l,n,r,e,o)))return a.push(t)})){f=false;break}}else if(l!==p&&!u(l,p,r,e,o)){f=false;break}}return f}function B(n,t,r,e,u,o){var i=1&r,c=Dn(n),f=c.length,a=Dn(t).length;if(f!=a&&!i)return false;for(var l=f;l--;){var p=c[l];if(!(i?p in t:pn.call(t,p)))return false}for(a=true;++l<f;){var p=c[l],s=n[p],h=t[p];
14
+ if(void 0!==Z||s!==h&&!u(s,h,r,e,o)){a=false;break}i||(i="constructor"==p)}return a&&!i&&(r=n.constructor,e=t.constructor,r!=e&&"constructor"in n&&"constructor"in t&&!(typeof r=="function"&&r instanceof r&&typeof e=="function"&&e instanceof e)&&(a=false)),a}function R(t){return Nn(t)||n(t)}function D(n){var t=[];if(null!=n)for(var r in Object(n))t.push(r);return t}function I(n,t,r){return t=jn(t===Z?n.length-1:t,0),function(){for(var e=arguments,u=-1,o=jn(e.length-t,0),i=Array(o);++u<o;)i[u]=e[t+u];for(u=-1,
15
+ o=Array(t+1);++u<t;)o[u]=e[u];return o[t]=r(i),n.apply(this,o)}}function $(n){return(null==n?0:n.length)?p(n,1):[]}function q(n){return n&&n.length?n[0]:Z}function P(n,t,r){var e=null==n?0:n.length;r=typeof r=="number"?0>r?jn(e+r,0):r:0,r=(r||0)-1;for(var u=t===t;++r<e;){var o=n[r];if(u?o===t:o!==o)return r}return-1}function z(n,t){return mn(n,g(t))}function C(n,t,r){return e(n,g(t),r,3>arguments.length,mn)}function G(n,t){var r;if(typeof t!="function")throw new TypeError("Expected a function");return n=Fn(n),
16
+ function(){return 0<--n&&(r=t.apply(this,arguments)),1>=n&&(t=Z),r}}function J(n,t){return n===t||n!==n&&t!==t}function M(n){var t;return(t=null!=n)&&(t=n.length,t=typeof t=="number"&&-1<t&&0==t%1&&9007199254740991>=t),t&&!U(n)}function U(n){return!!V(n)&&(n=hn.call(n),"[object Function]"==n||"[object GeneratorFunction]"==n||"[object AsyncFunction]"==n||"[object Proxy]"==n)}function V(n){var t=typeof n;return null!=n&&("object"==t||"function"==t)}function H(n){return null!=n&&typeof n=="object"}function K(n){
17
+ return typeof n=="number"||H(n)&&"[object Number]"==hn.call(n)}function L(n){return typeof n=="string"||!Nn(n)&&H(n)&&"[object String]"==hn.call(n)}function Q(n){return typeof n=="string"?n:null==n?"":n+""}function W(n){return null==n?[]:u(n,Dn(n))}function X(n){return n}function Y(n,r,e){var u=Dn(r),o=h(r,u);null!=e||V(r)&&(o.length||!u.length)||(e=r,r=n,n=this,o=h(r,Dn(r)));var i=!(V(e)&&"chain"in e&&!e.chain),c=U(n);return mn(o,function(e){var u=r[e];n[e]=u,c&&(n.prototype[e]=function(){var r=this.__chain__;
18
+ if(i||r){var e=n(this.__wrapped__);return(e.__actions__=A(this.__actions__)).push({func:u,args:arguments,thisArg:n}),e.__chain__=r,e}return u.apply(n,t([this.value()],arguments))})}),n}var Z,nn=1/0,tn=/[&<>"']/g,rn=RegExp(tn.source),en=/^(?:0|[1-9]\d*)$/,un=typeof self=="object"&&self&&self.Object===Object&&self,on=typeof global=="object"&&global&&global.Object===Object&&global||un||Function("return this")(),cn=(un=typeof exports=="object"&&exports&&!exports.nodeType&&exports)&&typeof module=="object"&&module&&!module.nodeType&&module,fn=function(n){
19
+ return function(t){return null==n?Z:n[t]}}({"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"}),an=Array.prototype,ln=Object.prototype,pn=ln.hasOwnProperty,sn=0,hn=ln.toString,vn=on._,bn=Object.create,yn=ln.propertyIsEnumerable,gn=on.isFinite,_n=function(n,t){return function(r){return n(t(r))}}(Object.keys,Object),jn=Math.max,dn=function(){function n(){}return function(t){return V(t)?bn?bn(t):(n.prototype=t,t=new n,n.prototype=Z,t):{}}}();i.prototype=dn(o.prototype),i.prototype.constructor=i;
20
+ var mn=function(n,t){return function(r,e){if(null==r)return r;if(!M(r))return n(r,e);for(var u=r.length,o=t?u:-1,i=Object(r);(t?o--:++o<u)&&false!==e(i[o],o,i););return r}}(s),On=function(n){return function(t,r,e){var u=-1,o=Object(t);e=e(t);for(var i=e.length;i--;){var c=e[n?i:++u];if(false===r(o[c],c,o))break}return t}}(),xn=X,An=function(n){return function(t,r,e){var u=Object(t);if(!M(t)){var o=g(r);t=Dn(t),r=function(n){return o(u[n],n,u)}}return r=n(t,r,e),-1<r?u[o?t[r]:r]:Z}}(function(n,t,r){var e=null==n?0:n.length;
21
+ if(!e)return-1;r=null==r?0:Fn(r),0>r&&(r=jn(e+r,0));n:{for(t=g(t),e=n.length,r+=-1;++r<e;)if(t(n[r],r,n)){n=r;break n}n=-1}return n}),En=O(function(n,t,r){return S(n,t,r)}),wn=O(function(n,t){return c(n,1,t)}),kn=O(function(n,t,r){return c(n,Sn(t)||0,r)}),Nn=Array.isArray,Fn=Number,Sn=Number,Tn=N(function(n,t){k(t,_n(t),n)}),Bn=N(function(n,t){k(t,D(t),n)}),Rn=O(function(n,t){n=Object(n);var r,e=-1,u=t.length,o=2<u?t[2]:Z;if(r=o){r=t[0];var i=t[1];if(V(o)){var c=typeof i;if("number"==c){if(c=M(o))var c=o.length,f=typeof i,c=null==c?9007199254740991:c,c=!!c&&("number"==f||"symbol"!=f&&en.test(i))&&-1<i&&0==i%1&&i<c;
22
+ }else c="string"==c&&i in o;r=!!c&&J(o[i],r)}else r=false}for(r&&(u=1);++e<u;)for(o=t[e],r=In(o),i=-1,c=r.length;++i<c;){var f=r[i],a=n[f];(a===Z||J(a,ln[f])&&!pn.call(n,f))&&(n[f]=o[f])}return n}),Dn=_n,In=D,$n=function(n){return xn(I(n,Z,$),n+"")}(function(n,t){return null==n?{}:m(n,t)});o.assignIn=Bn,o.before=G,o.bind=En,o.chain=function(n){return n=o(n),n.__chain__=true,n},o.compact=function(n){return l(n,Boolean)},o.concat=function(){var n=arguments.length;if(!n)return[];for(var r=Array(n-1),e=arguments[0];n--;)r[n-1]=arguments[n];
23
+ return t(Nn(e)?A(e):[e],p(r,1))},o.create=function(n,t){var r=dn(n);return null==t?r:Tn(r,t)},o.defaults=Rn,o.defer=wn,o.delay=kn,o.filter=function(n,t){return l(n,g(t))},o.flatten=$,o.flattenDeep=function(n){return(null==n?0:n.length)?p(n,nn):[]},o.iteratee=g,o.keys=Dn,o.map=function(n,t){return j(n,g(t))},o.matches=function(n){return d(Tn({},n))},o.mixin=Y,o.negate=function(n){if(typeof n!="function")throw new TypeError("Expected a function");return function(){return!n.apply(this,arguments)}},o.once=function(n){
24
+ return G(2,n)},o.pick=$n,o.slice=function(n,t,r){var e=null==n?0:n.length;return r=r===Z?e:+r,e?x(n,null==t?0:+t,r):[]},o.sortBy=function(n,t){var e=0;return t=g(t),j(j(n,function(n,r,u){return{value:n,index:e++,criteria:t(n,r,u)}}).sort(function(n,t){var r;n:{r=n.criteria;var e=t.criteria;if(r!==e){var u=r!==Z,o=null===r,i=r===r,c=e!==Z,f=null===e,a=e===e;if(!f&&r>e||o&&c&&a||!u&&a||!i){r=1;break n}if(!o&&r<e||f&&u&&i||!c&&i||!a){r=-1;break n}}r=0}return r||n.index-t.index}),r("value"))},o.tap=function(n,t){
25
+ return t(n),n},o.thru=function(n,t){return t(n)},o.toArray=function(n){return M(n)?n.length?A(n):[]:W(n)},o.values=W,o.extend=Bn,Y(o,o),o.clone=function(n){return V(n)?Nn(n)?A(n):k(n,_n(n)):n},o.escape=function(n){return(n=Q(n))&&rn.test(n)?n.replace(tn,fn):n},o.every=function(n,t,r){return t=r?Z:t,f(n,g(t))},o.find=An,o.forEach=z,o.has=function(n,t){return null!=n&&pn.call(n,t)},o.head=q,o.identity=X,o.indexOf=P,o.isArguments=n,o.isArray=Nn,o.isBoolean=function(n){return true===n||false===n||H(n)&&"[object Boolean]"==hn.call(n);
26
+ },o.isDate=function(n){return H(n)&&"[object Date]"==hn.call(n)},o.isEmpty=function(t){return M(t)&&(Nn(t)||L(t)||U(t.splice)||n(t))?!t.length:!_n(t).length},o.isEqual=function(n,t){return b(n,t)},o.isFinite=function(n){return typeof n=="number"&&gn(n)},o.isFunction=U,o.isNaN=function(n){return K(n)&&n!=+n},o.isNull=function(n){return null===n},o.isNumber=K,o.isObject=V,o.isRegExp=function(n){return H(n)&&"[object RegExp]"==hn.call(n)},o.isString=L,o.isUndefined=function(n){return n===Z},o.last=function(n){
27
+ var t=null==n?0:n.length;return t?n[t-1]:Z},o.max=function(n){return n&&n.length?a(n,X,v):Z},o.min=function(n){return n&&n.length?a(n,X,_):Z},o.noConflict=function(){return on._===this&&(on._=vn),this},o.noop=function(){},o.reduce=C,o.result=function(n,t,r){return t=null==n?Z:n[t],t===Z&&(t=r),U(t)?t.call(n):t},o.size=function(n){return null==n?0:(n=M(n)?n:_n(n),n.length)},o.some=function(n,t,r){return t=r?Z:t,E(n,g(t))},o.uniqueId=function(n){var t=++sn;return Q(n)+t},o.each=z,o.first=q,Y(o,function(){
28
+ var n={};return s(o,function(t,r){pn.call(o.prototype,r)||(n[r]=t)}),n}(),{chain:false}),o.VERSION="4.17.5",mn("pop join replace reverse split push shift sort splice unshift".split(" "),function(n){var t=(/^(?:replace|split)$/.test(n)?String.prototype:an)[n],r=/^(?:push|sort|unshift)$/.test(n)?"tap":"thru",e=/^(?:pop|join|replace|shift)$/.test(n);o.prototype[n]=function(){var n=arguments;if(e&&!this.__chain__){var u=this.value();return t.apply(Nn(u)?u:[],n)}return this[r](function(r){return t.apply(Nn(r)?r:[],n);
29
+ })}}),o.prototype.toJSON=o.prototype.valueOf=o.prototype.value=function(){return w(this.__wrapped__,this.__actions__)},typeof define=="function"&&typeof define.amd=="object"&&define.amd?(on._=o, define(function(){return o})):cn?((cn.exports=o)._=o,un._=o):on._=o}).call(this);
@@ -12,7 +12,7 @@
12
12
  var undefined;
13
13
 
14
14
  /** Used as the semantic version number. */
15
- var VERSION = '4.17.4';
15
+ var VERSION = '4.17.5';
16
16
 
17
17
  /** Used as the size to enable large array optimizations. */
18
18
  var LARGE_ARRAY_SIZE = 200;
@@ -143,7 +143,6 @@
143
143
  /** Used to match property names within property paths. */
144
144
  var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,
145
145
  reIsPlainProp = /^\w*$/,
146
- reLeadingDot = /^\./,
147
146
  rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;
148
147
 
149
148
  /**
@@ -243,8 +242,8 @@
243
242
  reOptMod = rsModifier + '?',
244
243
  rsOptVar = '[' + rsVarRange + ']?',
245
244
  rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',
246
- rsOrdLower = '\\d*(?:(?:1st|2nd|3rd|(?![123])\\dth)\\b)',
247
- rsOrdUpper = '\\d*(?:(?:1ST|2ND|3RD|(?![123])\\dTH)\\b)',
245
+ rsOrdLower = '\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])',
246
+ rsOrdUpper = '\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])',
248
247
  rsSeq = rsOptVar + reOptMod + rsOptJoin,
249
248
  rsEmoji = '(?:' + [rsDingbat, rsRegional, rsSurrPair].join('|') + ')' + rsSeq,
250
249
  rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')';
@@ -451,34 +450,6 @@
451
450
 
452
451
  /*--------------------------------------------------------------------------*/
453
452
 
454
- /**
455
- * Adds the key-value `pair` to `map`.
456
- *
457
- * @private
458
- * @param {Object} map The map to modify.
459
- * @param {Array} pair The key-value pair to add.
460
- * @returns {Object} Returns `map`.
461
- */
462
- function addMapEntry(map, pair) {
463
- // Don't return `map.set` because it's not chainable in IE 11.
464
- map.set(pair[0], pair[1]);
465
- return map;
466
- }
467
-
468
- /**
469
- * Adds `value` to `set`.
470
- *
471
- * @private
472
- * @param {Object} set The set to modify.
473
- * @param {*} value The value to add.
474
- * @returns {Object} Returns `set`.
475
- */
476
- function addSetEntry(set, value) {
477
- // Don't return `set.add` because it's not chainable in IE 11.
478
- set.add(value);
479
- return set;
480
- }
481
-
482
453
  /**
483
454
  * A faster alternative to `Function#apply`, this function invokes `func`
484
455
  * with the `this` binding of `thisArg` and the arguments of `args`.
@@ -1245,6 +1216,20 @@
1245
1216
  return result;
1246
1217
  }
1247
1218
 
1219
+ /**
1220
+ * Gets the value at `key`, unless `key` is "__proto__".
1221
+ *
1222
+ * @private
1223
+ * @param {Object} object The object to query.
1224
+ * @param {string} key The key of the property to get.
1225
+ * @returns {*} Returns the property value.
1226
+ */
1227
+ function safeGet(object, key) {
1228
+ return key == '__proto__'
1229
+ ? undefined
1230
+ : object[key];
1231
+ }
1232
+
1248
1233
  /**
1249
1234
  * Converts `set` to an array of its values.
1250
1235
  *
@@ -2677,7 +2662,7 @@
2677
2662
  if (!cloneableTags[tag]) {
2678
2663
  return object ? value : {};
2679
2664
  }
2680
- result = initCloneByTag(value, tag, baseClone, isDeep);
2665
+ result = initCloneByTag(value, tag, isDeep);
2681
2666
  }
2682
2667
  }
2683
2668
  // Check for circular references and return its corresponding clone.
@@ -2688,6 +2673,22 @@
2688
2673
  }
2689
2674
  stack.set(value, result);
2690
2675
 
2676
+ if (isSet(value)) {
2677
+ value.forEach(function(subValue) {
2678
+ result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));
2679
+ });
2680
+
2681
+ return result;
2682
+ }
2683
+
2684
+ if (isMap(value)) {
2685
+ value.forEach(function(subValue, key) {
2686
+ result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack));
2687
+ });
2688
+
2689
+ return result;
2690
+ }
2691
+
2691
2692
  var keysFunc = isFull
2692
2693
  ? (isFlat ? getAllKeysIn : getAllKeys)
2693
2694
  : (isFlat ? keysIn : keys);
@@ -3615,7 +3616,7 @@
3615
3616
  }
3616
3617
  else {
3617
3618
  var newValue = customizer
3618
- ? customizer(object[key], srcValue, (key + ''), object, source, stack)
3619
+ ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)
3619
3620
  : undefined;
3620
3621
 
3621
3622
  if (newValue === undefined) {
@@ -3642,8 +3643,8 @@
3642
3643
  * counterparts.
3643
3644
  */
3644
3645
  function baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {
3645
- var objValue = object[key],
3646
- srcValue = source[key],
3646
+ var objValue = safeGet(object, key),
3647
+ srcValue = safeGet(source, key),
3647
3648
  stacked = stack.get(srcValue);
3648
3649
 
3649
3650
  if (stacked) {
@@ -4551,20 +4552,6 @@
4551
4552
  return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);
4552
4553
  }
4553
4554
 
4554
- /**
4555
- * Creates a clone of `map`.
4556
- *
4557
- * @private
4558
- * @param {Object} map The map to clone.
4559
- * @param {Function} cloneFunc The function to clone values.
4560
- * @param {boolean} [isDeep] Specify a deep clone.
4561
- * @returns {Object} Returns the cloned map.
4562
- */
4563
- function cloneMap(map, isDeep, cloneFunc) {
4564
- var array = isDeep ? cloneFunc(mapToArray(map), CLONE_DEEP_FLAG) : mapToArray(map);
4565
- return arrayReduce(array, addMapEntry, new map.constructor);
4566
- }
4567
-
4568
4555
  /**
4569
4556
  * Creates a clone of `regexp`.
4570
4557
  *
@@ -4578,20 +4565,6 @@
4578
4565
  return result;
4579
4566
  }
4580
4567
 
4581
- /**
4582
- * Creates a clone of `set`.
4583
- *
4584
- * @private
4585
- * @param {Object} set The set to clone.
4586
- * @param {Function} cloneFunc The function to clone values.
4587
- * @param {boolean} [isDeep] Specify a deep clone.
4588
- * @returns {Object} Returns the cloned set.
4589
- */
4590
- function cloneSet(set, isDeep, cloneFunc) {
4591
- var array = isDeep ? cloneFunc(setToArray(set), CLONE_DEEP_FLAG) : setToArray(set);
4592
- return arrayReduce(array, addSetEntry, new set.constructor);
4593
- }
4594
-
4595
4568
  /**
4596
4569
  * Creates a clone of the `symbol` object.
4597
4570
  *
@@ -6186,7 +6159,7 @@
6186
6159
  */
6187
6160
  function initCloneArray(array) {
6188
6161
  var length = array.length,
6189
- result = array.constructor(length);
6162
+ result = new array.constructor(length);
6190
6163
 
6191
6164
  // Add properties assigned by `RegExp#exec`.
6192
6165
  if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {
@@ -6213,16 +6186,15 @@
6213
6186
  * Initializes an object clone based on its `toStringTag`.
6214
6187
  *
6215
6188
  * **Note:** This function only supports cloning values with tags of
6216
- * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.
6189
+ * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`.
6217
6190
  *
6218
6191
  * @private
6219
6192
  * @param {Object} object The object to clone.
6220
6193
  * @param {string} tag The `toStringTag` of the object to clone.
6221
- * @param {Function} cloneFunc The function to clone values.
6222
6194
  * @param {boolean} [isDeep] Specify a deep clone.
6223
6195
  * @returns {Object} Returns the initialized clone.
6224
6196
  */
6225
- function initCloneByTag(object, tag, cloneFunc, isDeep) {
6197
+ function initCloneByTag(object, tag, isDeep) {
6226
6198
  var Ctor = object.constructor;
6227
6199
  switch (tag) {
6228
6200
  case arrayBufferTag:
@@ -6241,7 +6213,7 @@
6241
6213
  return cloneTypedArray(object, isDeep);
6242
6214
 
6243
6215
  case mapTag:
6244
- return cloneMap(object, isDeep, cloneFunc);
6216
+ return new Ctor;
6245
6217
 
6246
6218
  case numberTag:
6247
6219
  case stringTag:
@@ -6251,7 +6223,7 @@
6251
6223
  return cloneRegExp(object);
6252
6224
 
6253
6225
  case setTag:
6254
- return cloneSet(object, isDeep, cloneFunc);
6226
+ return new Ctor;
6255
6227
 
6256
6228
  case symbolTag:
6257
6229
  return cloneSymbol(object);
@@ -6298,10 +6270,13 @@
6298
6270
  * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.
6299
6271
  */
6300
6272
  function isIndex(value, length) {
6273
+ var type = typeof value;
6301
6274
  length = length == null ? MAX_SAFE_INTEGER : length;
6275
+
6302
6276
  return !!length &&
6303
- (typeof value == 'number' || reIsUint.test(value)) &&
6304
- (value > -1 && value % 1 == 0 && value < length);
6277
+ (type == 'number' ||
6278
+ (type != 'symbol' && reIsUint.test(value))) &&
6279
+ (value > -1 && value % 1 == 0 && value < length);
6305
6280
  }
6306
6281
 
6307
6282
  /**
@@ -6751,11 +6726,11 @@
6751
6726
  */
6752
6727
  var stringToPath = memoizeCapped(function(string) {
6753
6728
  var result = [];
6754
- if (reLeadingDot.test(string)) {
6729
+ if (string.charCodeAt(0) === 46 /* . */) {
6755
6730
  result.push('');
6756
6731
  }
6757
- string.replace(rePropName, function(match, number, quote, string) {
6758
- result.push(quote ? string.replace(reEscapeChar, '$1') : (number || match));
6732
+ string.replace(rePropName, function(match, number, quote, subString) {
6733
+ result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));
6759
6734
  });
6760
6735
  return result;
6761
6736
  });
@@ -10363,9 +10338,11 @@
10363
10338
  function remainingWait(time) {
10364
10339
  var timeSinceLastCall = time - lastCallTime,
10365
10340
  timeSinceLastInvoke = time - lastInvokeTime,
10366
- result = wait - timeSinceLastCall;
10341
+ timeWaiting = wait - timeSinceLastCall;
10367
10342
 
10368
- return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;
10343
+ return maxing
10344
+ ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)
10345
+ : timeWaiting;
10369
10346
  }
10370
10347
 
10371
10348
  function shouldInvoke(time) {
@@ -12797,9 +12774,35 @@
12797
12774
  * _.defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });
12798
12775
  * // => { 'a': 1, 'b': 2 }
12799
12776
  */
12800
- var defaults = baseRest(function(args) {
12801
- args.push(undefined, customDefaultsAssignIn);
12802
- return apply(assignInWith, undefined, args);
12777
+ var defaults = baseRest(function(object, sources) {
12778
+ object = Object(object);
12779
+
12780
+ var index = -1;
12781
+ var length = sources.length;
12782
+ var guard = length > 2 ? sources[2] : undefined;
12783
+
12784
+ if (guard && isIterateeCall(sources[0], sources[1], guard)) {
12785
+ length = 1;
12786
+ }
12787
+
12788
+ while (++index < length) {
12789
+ var source = sources[index];
12790
+ var props = keysIn(source);
12791
+ var propsIndex = -1;
12792
+ var propsLength = props.length;
12793
+
12794
+ while (++propsIndex < propsLength) {
12795
+ var key = props[propsIndex];
12796
+ var value = object[key];
12797
+
12798
+ if (value === undefined ||
12799
+ (eq(value, objectProto[key]) && !hasOwnProperty.call(object, key))) {
12800
+ object[key] = source[key];
12801
+ }
12802
+ }
12803
+ }
12804
+
12805
+ return object;
12803
12806
  });
12804
12807
 
12805
12808
  /**
@@ -13196,6 +13199,11 @@
13196
13199
  * // => { '1': 'c', '2': 'b' }
13197
13200
  */
13198
13201
  var invert = createInverter(function(result, value, key) {
13202
+ if (value != null &&
13203
+ typeof value.toString != 'function') {
13204
+ value = nativeObjectToString.call(value);
13205
+ }
13206
+
13199
13207
  result[value] = key;
13200
13208
  }, constant(identity));
13201
13209
 
@@ -13226,6 +13234,11 @@
13226
13234
  * // => { 'group1': ['a', 'c'], 'group2': ['b'] }
13227
13235
  */
13228
13236
  var invertBy = createInverter(function(result, value, key) {
13237
+ if (value != null &&
13238
+ typeof value.toString != 'function') {
13239
+ value = nativeObjectToString.call(value);
13240
+ }
13241
+
13229
13242
  if (hasOwnProperty.call(result, value)) {
13230
13243
  result[value].push(key);
13231
13244
  } else {