@revolist/revogrid 4.9.21 → 4.9.23

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.
Files changed (169) hide show
  1. package/dist/cjs/{column.drag.plugin-9841e68f.js → column.drag.plugin-eb1db875.js} +48 -53
  2. package/dist/cjs/column.drag.plugin-eb1db875.js.map +1 -0
  3. package/dist/cjs/{column.service-2471e4f3.js → column.service-6089b047.js} +9 -19
  4. package/dist/cjs/column.service-6089b047.js.map +1 -0
  5. package/dist/{esm/debounce-e8e9464a.js → cjs/debounce-ec7a04b4.js} +36 -78
  6. package/dist/cjs/debounce-ec7a04b4.js.map +1 -0
  7. package/dist/cjs/{edit.utils-eef92df0.js → edit.utils-093fe9cd.js} +2 -2
  8. package/dist/cjs/{edit.utils-eef92df0.js.map → edit.utils-093fe9cd.js.map} +1 -1
  9. package/dist/cjs/{header-cell-renderer-751067c0.js → header-cell-renderer-2d56e8f5.js} +2 -2
  10. package/dist/cjs/{header-cell-renderer-751067c0.js.map → header-cell-renderer-2d56e8f5.js.map} +1 -1
  11. package/dist/cjs/{index-8bceed03.js → index-a9ee8eef.js} +289 -853
  12. package/dist/cjs/index-a9ee8eef.js.map +1 -0
  13. package/dist/cjs/index.cjs.js +8 -8
  14. package/dist/cjs/{key.utils-f548f37c.js → key.utils-1438f2ac.js} +2 -2
  15. package/dist/cjs/{key.utils-f548f37c.js.map → key.utils-1438f2ac.js.map} +1 -1
  16. package/dist/cjs/revo-grid.cjs.entry.js +41 -72
  17. package/dist/cjs/revo-grid.cjs.entry.js.map +1 -1
  18. package/dist/cjs/revogr-attribution_6.cjs.entry.js +9 -9
  19. package/dist/cjs/revogr-attribution_6.cjs.entry.js.map +1 -1
  20. package/dist/cjs/revogr-clipboard_3.cjs.entry.js +6 -6
  21. package/dist/cjs/revogr-clipboard_3.cjs.entry.js.map +1 -1
  22. package/dist/cjs/revogr-data_4.cjs.entry.js +21 -44
  23. package/dist/cjs/revogr-data_4.cjs.entry.js.map +1 -1
  24. package/dist/cjs/revogr-filter-panel.cjs.entry.js +2 -2
  25. package/dist/cjs/revogr-filter-panel.cjs.entry.js.map +1 -1
  26. package/dist/cjs/{row-header-utils-5d0d3fab.js → row-header-utils-eb5949b3.js} +7 -9
  27. package/dist/cjs/row-header-utils-eb5949b3.js.map +1 -0
  28. package/dist/cjs/{text-editor-f066d388.js → text-editor-ea3badef.js} +3 -3
  29. package/dist/cjs/{text-editor-f066d388.js.map → text-editor-ea3badef.js.map} +1 -1
  30. package/dist/cjs/{throttle-216690f1.js → throttle-6fecba1e.js} +6 -11
  31. package/dist/cjs/throttle-6fecba1e.js.map +1 -0
  32. package/dist/collection/components/revoGrid/revo-grid.js +9 -13
  33. package/dist/collection/components/revoGrid/revo-grid.js.map +1 -1
  34. package/dist/collection/services/dimension.provider.js +4 -3
  35. package/dist/collection/services/dimension.provider.js.map +1 -1
  36. package/dist/collection/store/dimension/dimension.store.js +19 -6
  37. package/dist/collection/store/dimension/dimension.store.js.map +1 -1
  38. package/dist/collection/store/vp/viewport.store.js +5 -7
  39. package/dist/collection/store/vp/viewport.store.js.map +1 -1
  40. package/dist/esm/{column.drag.plugin-c9787a50.js → column.drag.plugin-cb25a5e1.js} +45 -50
  41. package/dist/esm/column.drag.plugin-cb25a5e1.js.map +1 -0
  42. package/dist/esm/{column.service-a6682d9d.js → column.service-407956dd.js} +6 -16
  43. package/dist/esm/column.service-407956dd.js.map +1 -0
  44. package/dist/{cjs/debounce-cb5f4e35.js → esm/debounce-7b511afc.js} +26 -88
  45. package/dist/esm/debounce-7b511afc.js.map +1 -0
  46. package/dist/esm/{edit.utils-c358c970.js → edit.utils-1eeabeab.js} +2 -2
  47. package/dist/esm/{edit.utils-c358c970.js.map → edit.utils-1eeabeab.js.map} +1 -1
  48. package/dist/esm/{header-cell-renderer-52d9d6ba.js → header-cell-renderer-da468bd2.js} +2 -2
  49. package/dist/esm/{header-cell-renderer-52d9d6ba.js.map → header-cell-renderer-da468bd2.js.map} +1 -1
  50. package/dist/esm/{index-6c437a0d.js → index-b6586f9b.js} +269 -833
  51. package/dist/esm/index-b6586f9b.js.map +1 -0
  52. package/dist/esm/index.js +8 -8
  53. package/dist/esm/{key.utils-5a827d12.js → key.utils-562c749e.js} +2 -2
  54. package/dist/esm/{key.utils-5a827d12.js.map → key.utils-562c749e.js.map} +1 -1
  55. package/dist/esm/revo-grid.entry.js +37 -68
  56. package/dist/esm/revo-grid.entry.js.map +1 -1
  57. package/dist/esm/revogr-attribution_6.entry.js +9 -9
  58. package/dist/esm/revogr-attribution_6.entry.js.map +1 -1
  59. package/dist/esm/revogr-clipboard_3.entry.js +6 -6
  60. package/dist/esm/revogr-clipboard_3.entry.js.map +1 -1
  61. package/dist/esm/revogr-data_4.entry.js +17 -40
  62. package/dist/esm/revogr-data_4.entry.js.map +1 -1
  63. package/dist/esm/revogr-filter-panel.entry.js +2 -2
  64. package/dist/esm/revogr-filter-panel.entry.js.map +1 -1
  65. package/dist/esm/{row-header-utils-f5b04d1a.js → row-header-utils-e043f744.js} +7 -9
  66. package/dist/esm/row-header-utils-e043f744.js.map +1 -0
  67. package/dist/esm/{text-editor-79a617b5.js → text-editor-654f5d53.js} +3 -3
  68. package/dist/esm/{text-editor-79a617b5.js.map → text-editor-654f5d53.js.map} +1 -1
  69. package/dist/esm/{throttle-b94844de.js → throttle-bb3169c7.js} +4 -9
  70. package/dist/esm/throttle-bb3169c7.js.map +1 -0
  71. package/dist/revo-grid/column.drag.plugin-cb25a5e1.js +5 -0
  72. package/dist/revo-grid/column.drag.plugin-cb25a5e1.js.map +1 -0
  73. package/dist/revo-grid/column.service-407956dd.js +5 -0
  74. package/dist/revo-grid/column.service-407956dd.js.map +1 -0
  75. package/dist/revo-grid/debounce-7b511afc.js +5 -0
  76. package/dist/revo-grid/debounce-7b511afc.js.map +1 -0
  77. package/dist/revo-grid/{edit.utils-c358c970.js → edit.utils-1eeabeab.js} +2 -2
  78. package/dist/revo-grid/{header-cell-renderer-52d9d6ba.js → header-cell-renderer-da468bd2.js} +2 -2
  79. package/dist/revo-grid/index-b6586f9b.js +5 -0
  80. package/dist/revo-grid/index-b6586f9b.js.map +1 -0
  81. package/dist/revo-grid/index.esm.js +1 -1
  82. package/dist/revo-grid/{key.utils-5a827d12.js → key.utils-562c749e.js} +2 -2
  83. package/dist/revo-grid/revo-grid.entry.js +1 -1
  84. package/dist/revo-grid/revo-grid.entry.js.map +1 -1
  85. package/dist/revo-grid/revogr-attribution_6.entry.js +1 -1
  86. package/dist/revo-grid/revogr-clipboard_3.entry.js +1 -1
  87. package/dist/revo-grid/revogr-data_4.entry.js +1 -1
  88. package/dist/revo-grid/revogr-data_4.entry.js.map +1 -1
  89. package/dist/revo-grid/revogr-filter-panel.entry.js +1 -1
  90. package/dist/revo-grid/row-header-utils-e043f744.js +5 -0
  91. package/dist/revo-grid/row-header-utils-e043f744.js.map +1 -0
  92. package/dist/revo-grid/{text-editor-79a617b5.js → text-editor-654f5d53.js} +2 -2
  93. package/dist/revo-grid/throttle-bb3169c7.js +5 -0
  94. package/dist/revo-grid/throttle-bb3169c7.js.map +1 -0
  95. package/dist/types/store/dimension/dimension.store.d.ts +2 -1
  96. package/dist/types/store/vp/viewport.store.d.ts +0 -1
  97. package/hydrate/index.js +412 -1103
  98. package/hydrate/index.mjs +412 -1103
  99. package/package.json +3 -3
  100. package/standalone/column.service.js +5 -16
  101. package/standalone/column.service.js.map +1 -1
  102. package/standalone/debounce.js +7 -16
  103. package/standalone/debounce.js.map +1 -1
  104. package/standalone/dimension.helpers.js +15 -45
  105. package/standalone/dimension.helpers.js.map +1 -1
  106. package/standalone/index.js +0 -2
  107. package/standalone/index.js.map +1 -1
  108. package/standalone/index2.js +0 -2
  109. package/standalone/index2.js.map +1 -1
  110. package/standalone/reduce.js +1319 -474
  111. package/standalone/reduce.js.map +1 -1
  112. package/standalone/revo-grid.js +74 -111
  113. package/standalone/revo-grid.js.map +1 -1
  114. package/standalone/revogr-data2.js +0 -2
  115. package/standalone/revogr-data2.js.map +1 -1
  116. package/standalone/revogr-filter-panel.js +2 -2
  117. package/standalone/revogr-filter-panel.js.map +1 -1
  118. package/standalone/revogr-focus2.js +0 -2
  119. package/standalone/revogr-focus2.js.map +1 -1
  120. package/standalone/revogr-header2.js +12 -37
  121. package/standalone/revogr-header2.js.map +1 -1
  122. package/standalone/revogr-order-editor2.js +2 -4
  123. package/standalone/revogr-order-editor2.js.map +1 -1
  124. package/standalone/revogr-overlay-selection2.js +2 -4
  125. package/standalone/revogr-overlay-selection2.js.map +1 -1
  126. package/standalone/revogr-row-headers2.js +5 -9
  127. package/standalone/revogr-row-headers2.js.map +1 -1
  128. package/standalone/revogr-temp-range2.js +2 -2
  129. package/standalone/revogr-temp-range2.js.map +1 -1
  130. package/standalone/revogr-viewport-scroll2.js +2 -2
  131. package/standalone/revogr-viewport-scroll2.js.map +1 -1
  132. package/standalone/selection.utils.js +0 -2
  133. package/standalone/selection.utils.js.map +1 -1
  134. package/standalone/throttle.js +3 -8
  135. package/standalone/throttle.js.map +1 -1
  136. package/standalone/toNumber.js +165 -22
  137. package/standalone/toNumber.js.map +1 -1
  138. package/dist/cjs/column.drag.plugin-9841e68f.js.map +0 -1
  139. package/dist/cjs/column.service-2471e4f3.js.map +0 -1
  140. package/dist/cjs/debounce-cb5f4e35.js.map +0 -1
  141. package/dist/cjs/index-8bceed03.js.map +0 -1
  142. package/dist/cjs/row-header-utils-5d0d3fab.js.map +0 -1
  143. package/dist/cjs/throttle-216690f1.js.map +0 -1
  144. package/dist/esm/column.drag.plugin-c9787a50.js.map +0 -1
  145. package/dist/esm/column.service-a6682d9d.js.map +0 -1
  146. package/dist/esm/debounce-e8e9464a.js.map +0 -1
  147. package/dist/esm/index-6c437a0d.js.map +0 -1
  148. package/dist/esm/row-header-utils-f5b04d1a.js.map +0 -1
  149. package/dist/esm/throttle-b94844de.js.map +0 -1
  150. package/dist/revo-grid/column.drag.plugin-c9787a50.js +0 -5
  151. package/dist/revo-grid/column.drag.plugin-c9787a50.js.map +0 -1
  152. package/dist/revo-grid/column.service-a6682d9d.js +0 -5
  153. package/dist/revo-grid/column.service-a6682d9d.js.map +0 -1
  154. package/dist/revo-grid/debounce-e8e9464a.js +0 -5
  155. package/dist/revo-grid/debounce-e8e9464a.js.map +0 -1
  156. package/dist/revo-grid/index-6c437a0d.js +0 -5
  157. package/dist/revo-grid/index-6c437a0d.js.map +0 -1
  158. package/dist/revo-grid/row-header-utils-f5b04d1a.js +0 -5
  159. package/dist/revo-grid/row-header-utils-f5b04d1a.js.map +0 -1
  160. package/dist/revo-grid/throttle-b94844de.js +0 -5
  161. package/dist/revo-grid/throttle-b94844de.js.map +0 -1
  162. package/standalone/_stringToPath.js +0 -1389
  163. package/standalone/_stringToPath.js.map +0 -1
  164. package/standalone/isObjectLike.js +0 -195
  165. package/standalone/isObjectLike.js.map +0 -1
  166. /package/dist/revo-grid/{edit.utils-c358c970.js.map → edit.utils-1eeabeab.js.map} +0 -0
  167. /package/dist/revo-grid/{header-cell-renderer-52d9d6ba.js.map → header-cell-renderer-da468bd2.js.map} +0 -0
  168. /package/dist/revo-grid/{key.utils-5a827d12.js.map → key.utils-562c749e.js.map} +0 -0
  169. /package/dist/revo-grid/{text-editor-79a617b5.js.map → text-editor-654f5d53.js.map} +0 -0
@@ -1,9 +1,7 @@
1
1
  /*!
2
2
  * Built by Revolist OU ❤️
3
3
  */
4
- import { i as isSymbol_1, t as toNumber_1 } from './toNumber.js';
5
- import { b as _SetCache, e as eq_1, c as _baseIsTypedArray, d as _nodeUtil, i as isArguments_1, f as isBuffer$2, g as isFunction_1, h as isLength_1, j as _Stack, _ as _getTag, k as _stringToPath } from './_stringToPath.js';
6
- import { b as _root, d as _Symbol, i as isObjectLike_1, a as isObject_1 } from './isObjectLike.js';
4
+ import { a as isObject, b as baseGetTag, r as root, S as Symbol, i as isObjectLike, f as freeGlobal, c as isSymbol, t as toNumber } from './toNumber.js';
7
5
  import { getRenderingRef, forceUpdate } from '@stencil/core/internal/client';
8
6
 
9
7
  /**
@@ -52,8 +50,7 @@ function isProxy(k) {
52
50
  * @param {boolean} [fromRight] Specify iterating from right to left.
53
51
  * @returns {number} Returns the index of the matched value, else `-1`.
54
52
  */
55
-
56
- function baseFindIndex$1(array, predicate, fromIndex, fromRight) {
53
+ function baseFindIndex(array, predicate, fromIndex, fromRight) {
57
54
  var length = array.length,
58
55
  index = fromIndex + (fromRight ? 1 : -1);
59
56
 
@@ -65,7 +62,742 @@ function baseFindIndex$1(array, predicate, fromIndex, fromRight) {
65
62
  return -1;
66
63
  }
67
64
 
68
- var _baseFindIndex = baseFindIndex$1;
65
+ /**
66
+ * Removes all key-value entries from the list cache.
67
+ *
68
+ * @private
69
+ * @name clear
70
+ * @memberOf ListCache
71
+ */
72
+ function listCacheClear() {
73
+ this.__data__ = [];
74
+ this.size = 0;
75
+ }
76
+
77
+ /**
78
+ * Performs a
79
+ * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
80
+ * comparison between two values to determine if they are equivalent.
81
+ *
82
+ * @static
83
+ * @memberOf _
84
+ * @since 4.0.0
85
+ * @category Lang
86
+ * @param {*} value The value to compare.
87
+ * @param {*} other The other value to compare.
88
+ * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
89
+ * @example
90
+ *
91
+ * var object = { 'a': 1 };
92
+ * var other = { 'a': 1 };
93
+ *
94
+ * _.eq(object, object);
95
+ * // => true
96
+ *
97
+ * _.eq(object, other);
98
+ * // => false
99
+ *
100
+ * _.eq('a', 'a');
101
+ * // => true
102
+ *
103
+ * _.eq('a', Object('a'));
104
+ * // => false
105
+ *
106
+ * _.eq(NaN, NaN);
107
+ * // => true
108
+ */
109
+ function eq(value, other) {
110
+ return value === other || (value !== value && other !== other);
111
+ }
112
+
113
+ /**
114
+ * Gets the index at which the `key` is found in `array` of key-value pairs.
115
+ *
116
+ * @private
117
+ * @param {Array} array The array to inspect.
118
+ * @param {*} key The key to search for.
119
+ * @returns {number} Returns the index of the matched value, else `-1`.
120
+ */
121
+ function assocIndexOf(array, key) {
122
+ var length = array.length;
123
+ while (length--) {
124
+ if (eq(array[length][0], key)) {
125
+ return length;
126
+ }
127
+ }
128
+ return -1;
129
+ }
130
+
131
+ /** Used for built-in method references. */
132
+ var arrayProto = Array.prototype;
133
+
134
+ /** Built-in value references. */
135
+ var splice = arrayProto.splice;
136
+
137
+ /**
138
+ * Removes `key` and its value from the list cache.
139
+ *
140
+ * @private
141
+ * @name delete
142
+ * @memberOf ListCache
143
+ * @param {string} key The key of the value to remove.
144
+ * @returns {boolean} Returns `true` if the entry was removed, else `false`.
145
+ */
146
+ function listCacheDelete(key) {
147
+ var data = this.__data__,
148
+ index = assocIndexOf(data, key);
149
+
150
+ if (index < 0) {
151
+ return false;
152
+ }
153
+ var lastIndex = data.length - 1;
154
+ if (index == lastIndex) {
155
+ data.pop();
156
+ } else {
157
+ splice.call(data, index, 1);
158
+ }
159
+ --this.size;
160
+ return true;
161
+ }
162
+
163
+ /**
164
+ * Gets the list cache value for `key`.
165
+ *
166
+ * @private
167
+ * @name get
168
+ * @memberOf ListCache
169
+ * @param {string} key The key of the value to get.
170
+ * @returns {*} Returns the entry value.
171
+ */
172
+ function listCacheGet(key) {
173
+ var data = this.__data__,
174
+ index = assocIndexOf(data, key);
175
+
176
+ return index < 0 ? undefined : data[index][1];
177
+ }
178
+
179
+ /**
180
+ * Checks if a list cache value for `key` exists.
181
+ *
182
+ * @private
183
+ * @name has
184
+ * @memberOf ListCache
185
+ * @param {string} key The key of the entry to check.
186
+ * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
187
+ */
188
+ function listCacheHas(key) {
189
+ return assocIndexOf(this.__data__, key) > -1;
190
+ }
191
+
192
+ /**
193
+ * Sets the list cache `key` to `value`.
194
+ *
195
+ * @private
196
+ * @name set
197
+ * @memberOf ListCache
198
+ * @param {string} key The key of the value to set.
199
+ * @param {*} value The value to set.
200
+ * @returns {Object} Returns the list cache instance.
201
+ */
202
+ function listCacheSet(key, value) {
203
+ var data = this.__data__,
204
+ index = assocIndexOf(data, key);
205
+
206
+ if (index < 0) {
207
+ ++this.size;
208
+ data.push([key, value]);
209
+ } else {
210
+ data[index][1] = value;
211
+ }
212
+ return this;
213
+ }
214
+
215
+ /**
216
+ * Creates an list cache object.
217
+ *
218
+ * @private
219
+ * @constructor
220
+ * @param {Array} [entries] The key-value pairs to cache.
221
+ */
222
+ function ListCache(entries) {
223
+ var index = -1,
224
+ length = entries == null ? 0 : entries.length;
225
+
226
+ this.clear();
227
+ while (++index < length) {
228
+ var entry = entries[index];
229
+ this.set(entry[0], entry[1]);
230
+ }
231
+ }
232
+
233
+ // Add methods to `ListCache`.
234
+ ListCache.prototype.clear = listCacheClear;
235
+ ListCache.prototype['delete'] = listCacheDelete;
236
+ ListCache.prototype.get = listCacheGet;
237
+ ListCache.prototype.has = listCacheHas;
238
+ ListCache.prototype.set = listCacheSet;
239
+
240
+ /**
241
+ * Removes all key-value entries from the stack.
242
+ *
243
+ * @private
244
+ * @name clear
245
+ * @memberOf Stack
246
+ */
247
+ function stackClear() {
248
+ this.__data__ = new ListCache;
249
+ this.size = 0;
250
+ }
251
+
252
+ /**
253
+ * Removes `key` and its value from the stack.
254
+ *
255
+ * @private
256
+ * @name delete
257
+ * @memberOf Stack
258
+ * @param {string} key The key of the value to remove.
259
+ * @returns {boolean} Returns `true` if the entry was removed, else `false`.
260
+ */
261
+ function stackDelete(key) {
262
+ var data = this.__data__,
263
+ result = data['delete'](key);
264
+
265
+ this.size = data.size;
266
+ return result;
267
+ }
268
+
269
+ /**
270
+ * Gets the stack value for `key`.
271
+ *
272
+ * @private
273
+ * @name get
274
+ * @memberOf Stack
275
+ * @param {string} key The key of the value to get.
276
+ * @returns {*} Returns the entry value.
277
+ */
278
+ function stackGet(key) {
279
+ return this.__data__.get(key);
280
+ }
281
+
282
+ /**
283
+ * Checks if a stack value for `key` exists.
284
+ *
285
+ * @private
286
+ * @name has
287
+ * @memberOf Stack
288
+ * @param {string} key The key of the entry to check.
289
+ * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
290
+ */
291
+ function stackHas(key) {
292
+ return this.__data__.has(key);
293
+ }
294
+
295
+ /** `Object#toString` result references. */
296
+ var asyncTag = '[object AsyncFunction]',
297
+ funcTag$1 = '[object Function]',
298
+ genTag = '[object GeneratorFunction]',
299
+ proxyTag = '[object Proxy]';
300
+
301
+ /**
302
+ * Checks if `value` is classified as a `Function` object.
303
+ *
304
+ * @static
305
+ * @memberOf _
306
+ * @since 0.1.0
307
+ * @category Lang
308
+ * @param {*} value The value to check.
309
+ * @returns {boolean} Returns `true` if `value` is a function, else `false`.
310
+ * @example
311
+ *
312
+ * _.isFunction(_);
313
+ * // => true
314
+ *
315
+ * _.isFunction(/abc/);
316
+ * // => false
317
+ */
318
+ function isFunction(value) {
319
+ if (!isObject(value)) {
320
+ return false;
321
+ }
322
+ // The use of `Object#toString` avoids issues with the `typeof` operator
323
+ // in Safari 9 which returns 'object' for typed arrays and other constructors.
324
+ var tag = baseGetTag(value);
325
+ return tag == funcTag$1 || tag == genTag || tag == asyncTag || tag == proxyTag;
326
+ }
327
+
328
+ /** Used to detect overreaching core-js shims. */
329
+ var coreJsData = root['__core-js_shared__'];
330
+
331
+ const coreJsData$1 = coreJsData;
332
+
333
+ /** Used to detect methods masquerading as native. */
334
+ var maskSrcKey = (function() {
335
+ var uid = /[^.]+$/.exec(coreJsData$1 && coreJsData$1.keys && coreJsData$1.keys.IE_PROTO || '');
336
+ return uid ? ('Symbol(src)_1.' + uid) : '';
337
+ }());
338
+
339
+ /**
340
+ * Checks if `func` has its source masked.
341
+ *
342
+ * @private
343
+ * @param {Function} func The function to check.
344
+ * @returns {boolean} Returns `true` if `func` is masked, else `false`.
345
+ */
346
+ function isMasked(func) {
347
+ return !!maskSrcKey && (maskSrcKey in func);
348
+ }
349
+
350
+ /** Used for built-in method references. */
351
+ var funcProto$1 = Function.prototype;
352
+
353
+ /** Used to resolve the decompiled source of functions. */
354
+ var funcToString$1 = funcProto$1.toString;
355
+
356
+ /**
357
+ * Converts `func` to its source code.
358
+ *
359
+ * @private
360
+ * @param {Function} func The function to convert.
361
+ * @returns {string} Returns the source code.
362
+ */
363
+ function toSource(func) {
364
+ if (func != null) {
365
+ try {
366
+ return funcToString$1.call(func);
367
+ } catch (e) {}
368
+ try {
369
+ return (func + '');
370
+ } catch (e) {}
371
+ }
372
+ return '';
373
+ }
374
+
375
+ /**
376
+ * Used to match `RegExp`
377
+ * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).
378
+ */
379
+ var reRegExpChar = /[\\^$.*+?()[\]{}|]/g;
380
+
381
+ /** Used to detect host constructors (Safari). */
382
+ var reIsHostCtor = /^\[object .+?Constructor\]$/;
383
+
384
+ /** Used for built-in method references. */
385
+ var funcProto = Function.prototype,
386
+ objectProto$9 = Object.prototype;
387
+
388
+ /** Used to resolve the decompiled source of functions. */
389
+ var funcToString = funcProto.toString;
390
+
391
+ /** Used to check objects for own properties. */
392
+ var hasOwnProperty$7 = objectProto$9.hasOwnProperty;
393
+
394
+ /** Used to detect if a method is native. */
395
+ var reIsNative = RegExp('^' +
396
+ funcToString.call(hasOwnProperty$7).replace(reRegExpChar, '\\$&')
397
+ .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$'
398
+ );
399
+
400
+ /**
401
+ * The base implementation of `_.isNative` without bad shim checks.
402
+ *
403
+ * @private
404
+ * @param {*} value The value to check.
405
+ * @returns {boolean} Returns `true` if `value` is a native function,
406
+ * else `false`.
407
+ */
408
+ function baseIsNative(value) {
409
+ if (!isObject(value) || isMasked(value)) {
410
+ return false;
411
+ }
412
+ var pattern = isFunction(value) ? reIsNative : reIsHostCtor;
413
+ return pattern.test(toSource(value));
414
+ }
415
+
416
+ /**
417
+ * Gets the value at `key` of `object`.
418
+ *
419
+ * @private
420
+ * @param {Object} [object] The object to query.
421
+ * @param {string} key The key of the property to get.
422
+ * @returns {*} Returns the property value.
423
+ */
424
+ function getValue(object, key) {
425
+ return object == null ? undefined : object[key];
426
+ }
427
+
428
+ /**
429
+ * Gets the native function at `key` of `object`.
430
+ *
431
+ * @private
432
+ * @param {Object} object The object to query.
433
+ * @param {string} key The key of the method to get.
434
+ * @returns {*} Returns the function if it's native, else `undefined`.
435
+ */
436
+ function getNative(object, key) {
437
+ var value = getValue(object, key);
438
+ return baseIsNative(value) ? value : undefined;
439
+ }
440
+
441
+ /* Built-in method references that are verified to be native. */
442
+ var Map$1 = getNative(root, 'Map');
443
+
444
+ const Map$2 = Map$1;
445
+
446
+ /* Built-in method references that are verified to be native. */
447
+ var nativeCreate = getNative(Object, 'create');
448
+
449
+ const nativeCreate$1 = nativeCreate;
450
+
451
+ /**
452
+ * Removes all key-value entries from the hash.
453
+ *
454
+ * @private
455
+ * @name clear
456
+ * @memberOf Hash
457
+ */
458
+ function hashClear() {
459
+ this.__data__ = nativeCreate$1 ? nativeCreate$1(null) : {};
460
+ this.size = 0;
461
+ }
462
+
463
+ /**
464
+ * Removes `key` and its value from the hash.
465
+ *
466
+ * @private
467
+ * @name delete
468
+ * @memberOf Hash
469
+ * @param {Object} hash The hash to modify.
470
+ * @param {string} key The key of the value to remove.
471
+ * @returns {boolean} Returns `true` if the entry was removed, else `false`.
472
+ */
473
+ function hashDelete(key) {
474
+ var result = this.has(key) && delete this.__data__[key];
475
+ this.size -= result ? 1 : 0;
476
+ return result;
477
+ }
478
+
479
+ /** Used to stand-in for `undefined` hash values. */
480
+ var HASH_UNDEFINED$2 = '__lodash_hash_undefined__';
481
+
482
+ /** Used for built-in method references. */
483
+ var objectProto$8 = Object.prototype;
484
+
485
+ /** Used to check objects for own properties. */
486
+ var hasOwnProperty$6 = objectProto$8.hasOwnProperty;
487
+
488
+ /**
489
+ * Gets the hash value for `key`.
490
+ *
491
+ * @private
492
+ * @name get
493
+ * @memberOf Hash
494
+ * @param {string} key The key of the value to get.
495
+ * @returns {*} Returns the entry value.
496
+ */
497
+ function hashGet(key) {
498
+ var data = this.__data__;
499
+ if (nativeCreate$1) {
500
+ var result = data[key];
501
+ return result === HASH_UNDEFINED$2 ? undefined : result;
502
+ }
503
+ return hasOwnProperty$6.call(data, key) ? data[key] : undefined;
504
+ }
505
+
506
+ /** Used for built-in method references. */
507
+ var objectProto$7 = Object.prototype;
508
+
509
+ /** Used to check objects for own properties. */
510
+ var hasOwnProperty$5 = objectProto$7.hasOwnProperty;
511
+
512
+ /**
513
+ * Checks if a hash value for `key` exists.
514
+ *
515
+ * @private
516
+ * @name has
517
+ * @memberOf Hash
518
+ * @param {string} key The key of the entry to check.
519
+ * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
520
+ */
521
+ function hashHas(key) {
522
+ var data = this.__data__;
523
+ return nativeCreate$1 ? (data[key] !== undefined) : hasOwnProperty$5.call(data, key);
524
+ }
525
+
526
+ /** Used to stand-in for `undefined` hash values. */
527
+ var HASH_UNDEFINED$1 = '__lodash_hash_undefined__';
528
+
529
+ /**
530
+ * Sets the hash `key` to `value`.
531
+ *
532
+ * @private
533
+ * @name set
534
+ * @memberOf Hash
535
+ * @param {string} key The key of the value to set.
536
+ * @param {*} value The value to set.
537
+ * @returns {Object} Returns the hash instance.
538
+ */
539
+ function hashSet(key, value) {
540
+ var data = this.__data__;
541
+ this.size += this.has(key) ? 0 : 1;
542
+ data[key] = (nativeCreate$1 && value === undefined) ? HASH_UNDEFINED$1 : value;
543
+ return this;
544
+ }
545
+
546
+ /**
547
+ * Creates a hash object.
548
+ *
549
+ * @private
550
+ * @constructor
551
+ * @param {Array} [entries] The key-value pairs to cache.
552
+ */
553
+ function Hash(entries) {
554
+ var index = -1,
555
+ length = entries == null ? 0 : entries.length;
556
+
557
+ this.clear();
558
+ while (++index < length) {
559
+ var entry = entries[index];
560
+ this.set(entry[0], entry[1]);
561
+ }
562
+ }
563
+
564
+ // Add methods to `Hash`.
565
+ Hash.prototype.clear = hashClear;
566
+ Hash.prototype['delete'] = hashDelete;
567
+ Hash.prototype.get = hashGet;
568
+ Hash.prototype.has = hashHas;
569
+ Hash.prototype.set = hashSet;
570
+
571
+ /**
572
+ * Removes all key-value entries from the map.
573
+ *
574
+ * @private
575
+ * @name clear
576
+ * @memberOf MapCache
577
+ */
578
+ function mapCacheClear() {
579
+ this.size = 0;
580
+ this.__data__ = {
581
+ 'hash': new Hash,
582
+ 'map': new (Map$2 || ListCache),
583
+ 'string': new Hash
584
+ };
585
+ }
586
+
587
+ /**
588
+ * Checks if `value` is suitable for use as unique object key.
589
+ *
590
+ * @private
591
+ * @param {*} value The value to check.
592
+ * @returns {boolean} Returns `true` if `value` is suitable, else `false`.
593
+ */
594
+ function isKeyable(value) {
595
+ var type = typeof value;
596
+ return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')
597
+ ? (value !== '__proto__')
598
+ : (value === null);
599
+ }
600
+
601
+ /**
602
+ * Gets the data for `map`.
603
+ *
604
+ * @private
605
+ * @param {Object} map The map to query.
606
+ * @param {string} key The reference key.
607
+ * @returns {*} Returns the map data.
608
+ */
609
+ function getMapData(map, key) {
610
+ var data = map.__data__;
611
+ return isKeyable(key)
612
+ ? data[typeof key == 'string' ? 'string' : 'hash']
613
+ : data.map;
614
+ }
615
+
616
+ /**
617
+ * Removes `key` and its value from the map.
618
+ *
619
+ * @private
620
+ * @name delete
621
+ * @memberOf MapCache
622
+ * @param {string} key The key of the value to remove.
623
+ * @returns {boolean} Returns `true` if the entry was removed, else `false`.
624
+ */
625
+ function mapCacheDelete(key) {
626
+ var result = getMapData(this, key)['delete'](key);
627
+ this.size -= result ? 1 : 0;
628
+ return result;
629
+ }
630
+
631
+ /**
632
+ * Gets the map value for `key`.
633
+ *
634
+ * @private
635
+ * @name get
636
+ * @memberOf MapCache
637
+ * @param {string} key The key of the value to get.
638
+ * @returns {*} Returns the entry value.
639
+ */
640
+ function mapCacheGet(key) {
641
+ return getMapData(this, key).get(key);
642
+ }
643
+
644
+ /**
645
+ * Checks if a map value for `key` exists.
646
+ *
647
+ * @private
648
+ * @name has
649
+ * @memberOf MapCache
650
+ * @param {string} key The key of the entry to check.
651
+ * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
652
+ */
653
+ function mapCacheHas(key) {
654
+ return getMapData(this, key).has(key);
655
+ }
656
+
657
+ /**
658
+ * Sets the map `key` to `value`.
659
+ *
660
+ * @private
661
+ * @name set
662
+ * @memberOf MapCache
663
+ * @param {string} key The key of the value to set.
664
+ * @param {*} value The value to set.
665
+ * @returns {Object} Returns the map cache instance.
666
+ */
667
+ function mapCacheSet(key, value) {
668
+ var data = getMapData(this, key),
669
+ size = data.size;
670
+
671
+ data.set(key, value);
672
+ this.size += data.size == size ? 0 : 1;
673
+ return this;
674
+ }
675
+
676
+ /**
677
+ * Creates a map cache object to store key-value pairs.
678
+ *
679
+ * @private
680
+ * @constructor
681
+ * @param {Array} [entries] The key-value pairs to cache.
682
+ */
683
+ function MapCache(entries) {
684
+ var index = -1,
685
+ length = entries == null ? 0 : entries.length;
686
+
687
+ this.clear();
688
+ while (++index < length) {
689
+ var entry = entries[index];
690
+ this.set(entry[0], entry[1]);
691
+ }
692
+ }
693
+
694
+ // Add methods to `MapCache`.
695
+ MapCache.prototype.clear = mapCacheClear;
696
+ MapCache.prototype['delete'] = mapCacheDelete;
697
+ MapCache.prototype.get = mapCacheGet;
698
+ MapCache.prototype.has = mapCacheHas;
699
+ MapCache.prototype.set = mapCacheSet;
700
+
701
+ /** Used as the size to enable large array optimizations. */
702
+ var LARGE_ARRAY_SIZE = 200;
703
+
704
+ /**
705
+ * Sets the stack `key` to `value`.
706
+ *
707
+ * @private
708
+ * @name set
709
+ * @memberOf Stack
710
+ * @param {string} key The key of the value to set.
711
+ * @param {*} value The value to set.
712
+ * @returns {Object} Returns the stack cache instance.
713
+ */
714
+ function stackSet(key, value) {
715
+ var data = this.__data__;
716
+ if (data instanceof ListCache) {
717
+ var pairs = data.__data__;
718
+ if (!Map$2 || (pairs.length < LARGE_ARRAY_SIZE - 1)) {
719
+ pairs.push([key, value]);
720
+ this.size = ++data.size;
721
+ return this;
722
+ }
723
+ data = this.__data__ = new MapCache(pairs);
724
+ }
725
+ data.set(key, value);
726
+ this.size = data.size;
727
+ return this;
728
+ }
729
+
730
+ /**
731
+ * Creates a stack cache object to store key-value pairs.
732
+ *
733
+ * @private
734
+ * @constructor
735
+ * @param {Array} [entries] The key-value pairs to cache.
736
+ */
737
+ function Stack(entries) {
738
+ var data = this.__data__ = new ListCache(entries);
739
+ this.size = data.size;
740
+ }
741
+
742
+ // Add methods to `Stack`.
743
+ Stack.prototype.clear = stackClear;
744
+ Stack.prototype['delete'] = stackDelete;
745
+ Stack.prototype.get = stackGet;
746
+ Stack.prototype.has = stackHas;
747
+ Stack.prototype.set = stackSet;
748
+
749
+ /** Used to stand-in for `undefined` hash values. */
750
+ var HASH_UNDEFINED = '__lodash_hash_undefined__';
751
+
752
+ /**
753
+ * Adds `value` to the array cache.
754
+ *
755
+ * @private
756
+ * @name add
757
+ * @memberOf SetCache
758
+ * @alias push
759
+ * @param {*} value The value to cache.
760
+ * @returns {Object} Returns the cache instance.
761
+ */
762
+ function setCacheAdd(value) {
763
+ this.__data__.set(value, HASH_UNDEFINED);
764
+ return this;
765
+ }
766
+
767
+ /**
768
+ * Checks if `value` is in the array cache.
769
+ *
770
+ * @private
771
+ * @name has
772
+ * @memberOf SetCache
773
+ * @param {*} value The value to search for.
774
+ * @returns {number} Returns `true` if `value` is found, else `false`.
775
+ */
776
+ function setCacheHas(value) {
777
+ return this.__data__.has(value);
778
+ }
779
+
780
+ /**
781
+ *
782
+ * Creates an array cache object to store unique values.
783
+ *
784
+ * @private
785
+ * @constructor
786
+ * @param {Array} [values] The values to cache.
787
+ */
788
+ function SetCache(values) {
789
+ var index = -1,
790
+ length = values == null ? 0 : values.length;
791
+
792
+ this.__data__ = new MapCache;
793
+ while (++index < length) {
794
+ this.add(values[index]);
795
+ }
796
+ }
797
+
798
+ // Add methods to `SetCache`.
799
+ SetCache.prototype.add = SetCache.prototype.push = setCacheAdd;
800
+ SetCache.prototype.has = setCacheHas;
69
801
 
70
802
  /**
71
803
  * A specialized version of `_.some` for arrays without support for iteratee
@@ -77,8 +809,7 @@ var _baseFindIndex = baseFindIndex$1;
77
809
  * @returns {boolean} Returns `true` if any element passes the predicate check,
78
810
  * else `false`.
79
811
  */
80
-
81
- function arraySome$1(array, predicate) {
812
+ function arraySome(array, predicate) {
82
813
  var index = -1,
83
814
  length = array == null ? 0 : array.length;
84
815
 
@@ -90,8 +821,6 @@ function arraySome$1(array, predicate) {
90
821
  return false;
91
822
  }
92
823
 
93
- var _arraySome = arraySome$1;
94
-
95
824
  /**
96
825
  * Checks if a `cache` value for `key` exists.
97
826
  *
@@ -100,17 +829,10 @@ var _arraySome = arraySome$1;
100
829
  * @param {string} key The key of the entry to check.
101
830
  * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
102
831
  */
103
-
104
- function cacheHas$1(cache, key) {
832
+ function cacheHas(cache, key) {
105
833
  return cache.has(key);
106
834
  }
107
835
 
108
- var _cacheHas = cacheHas$1;
109
-
110
- var SetCache = _SetCache,
111
- arraySome = _arraySome,
112
- cacheHas = _cacheHas;
113
-
114
836
  /** Used to compose bitmasks for value comparisons. */
115
837
  var COMPARE_PARTIAL_FLAG$5 = 1,
116
838
  COMPARE_UNORDERED_FLAG$3 = 2;
@@ -128,7 +850,7 @@ var COMPARE_PARTIAL_FLAG$5 = 1,
128
850
  * @param {Object} stack Tracks traversed `array` and `other` objects.
129
851
  * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.
130
852
  */
131
- function equalArrays$2(array, other, bitmask, customizer, equalFunc, stack) {
853
+ function equalArrays(array, other, bitmask, customizer, equalFunc, stack) {
132
854
  var isPartial = bitmask & COMPARE_PARTIAL_FLAG$5,
133
855
  arrLength = array.length,
134
856
  othLength = other.length;
@@ -190,14 +912,10 @@ function equalArrays$2(array, other, bitmask, customizer, equalFunc, stack) {
190
912
  return result;
191
913
  }
192
914
 
193
- var _equalArrays = equalArrays$2;
194
-
195
- var root = _root;
196
-
197
915
  /** Built-in value references. */
198
- var Uint8Array$1 = root.Uint8Array;
916
+ var Uint8Array = root.Uint8Array;
199
917
 
200
- var _Uint8Array = Uint8Array$1;
918
+ const Uint8Array$1 = Uint8Array;
201
919
 
202
920
  /**
203
921
  * Converts `map` to its key-value pairs.
@@ -206,8 +924,7 @@ var _Uint8Array = Uint8Array$1;
206
924
  * @param {Object} map The map to convert.
207
925
  * @returns {Array} Returns the key-value pairs.
208
926
  */
209
-
210
- function mapToArray$1(map) {
927
+ function mapToArray(map) {
211
928
  var index = -1,
212
929
  result = Array(map.size);
213
930
 
@@ -217,8 +934,6 @@ function mapToArray$1(map) {
217
934
  return result;
218
935
  }
219
936
 
220
- var _mapToArray = mapToArray$1;
221
-
222
937
  /**
223
938
  * Converts `set` to an array of its values.
224
939
  *
@@ -226,8 +941,7 @@ var _mapToArray = mapToArray$1;
226
941
  * @param {Object} set The set to convert.
227
942
  * @returns {Array} Returns the values.
228
943
  */
229
-
230
- function setToArray$1(set) {
944
+ function setToArray(set) {
231
945
  var index = -1,
232
946
  result = Array(set.size);
233
947
 
@@ -237,35 +951,26 @@ function setToArray$1(set) {
237
951
  return result;
238
952
  }
239
953
 
240
- var _setToArray = setToArray$1;
241
-
242
- var Symbol$1 = _Symbol,
243
- Uint8Array = _Uint8Array,
244
- eq$1 = eq_1,
245
- equalArrays$1 = _equalArrays,
246
- mapToArray = _mapToArray,
247
- setToArray = _setToArray;
248
-
249
954
  /** Used to compose bitmasks for value comparisons. */
250
955
  var COMPARE_PARTIAL_FLAG$4 = 1,
251
956
  COMPARE_UNORDERED_FLAG$2 = 2;
252
957
 
253
958
  /** `Object#toString` result references. */
254
- var boolTag = '[object Boolean]',
255
- dateTag = '[object Date]',
256
- errorTag = '[object Error]',
257
- mapTag = '[object Map]',
258
- numberTag = '[object Number]',
259
- regexpTag = '[object RegExp]',
260
- setTag = '[object Set]',
261
- stringTag = '[object String]',
959
+ var boolTag$1 = '[object Boolean]',
960
+ dateTag$1 = '[object Date]',
961
+ errorTag$1 = '[object Error]',
962
+ mapTag$2 = '[object Map]',
963
+ numberTag$1 = '[object Number]',
964
+ regexpTag$1 = '[object RegExp]',
965
+ setTag$2 = '[object Set]',
966
+ stringTag$1 = '[object String]',
262
967
  symbolTag = '[object Symbol]';
263
968
 
264
- var arrayBufferTag = '[object ArrayBuffer]',
265
- dataViewTag = '[object DataView]';
969
+ var arrayBufferTag$1 = '[object ArrayBuffer]',
970
+ dataViewTag$2 = '[object DataView]';
266
971
 
267
972
  /** Used to convert symbols to primitives and strings. */
268
- var symbolProto$1 = Symbol$1 ? Symbol$1.prototype : undefined,
973
+ var symbolProto$1 = Symbol ? Symbol.prototype : undefined,
269
974
  symbolValueOf = symbolProto$1 ? symbolProto$1.valueOf : undefined;
270
975
 
271
976
  /**
@@ -285,9 +990,9 @@ var symbolProto$1 = Symbol$1 ? Symbol$1.prototype : undefined,
285
990
  * @param {Object} stack Tracks traversed `object` and `other` objects.
286
991
  * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
287
992
  */
288
- function equalByTag$1(object, other, tag, bitmask, customizer, equalFunc, stack) {
993
+ function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {
289
994
  switch (tag) {
290
- case dataViewTag:
995
+ case dataViewTag$2:
291
996
  if ((object.byteLength != other.byteLength) ||
292
997
  (object.byteOffset != other.byteOffset)) {
293
998
  return false;
@@ -295,34 +1000,34 @@ function equalByTag$1(object, other, tag, bitmask, customizer, equalFunc, stack)
295
1000
  object = object.buffer;
296
1001
  other = other.buffer;
297
1002
 
298
- case arrayBufferTag:
1003
+ case arrayBufferTag$1:
299
1004
  if ((object.byteLength != other.byteLength) ||
300
- !equalFunc(new Uint8Array(object), new Uint8Array(other))) {
1005
+ !equalFunc(new Uint8Array$1(object), new Uint8Array$1(other))) {
301
1006
  return false;
302
1007
  }
303
1008
  return true;
304
1009
 
305
- case boolTag:
306
- case dateTag:
307
- case numberTag:
1010
+ case boolTag$1:
1011
+ case dateTag$1:
1012
+ case numberTag$1:
308
1013
  // Coerce booleans to `1` or `0` and dates to milliseconds.
309
1014
  // Invalid dates are coerced to `NaN`.
310
- return eq$1(+object, +other);
1015
+ return eq(+object, +other);
311
1016
 
312
- case errorTag:
1017
+ case errorTag$1:
313
1018
  return object.name == other.name && object.message == other.message;
314
1019
 
315
- case regexpTag:
316
- case stringTag:
1020
+ case regexpTag$1:
1021
+ case stringTag$1:
317
1022
  // Coerce regexes to strings and treat strings, primitives and objects,
318
1023
  // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring
319
1024
  // for more details.
320
1025
  return object == (other + '');
321
1026
 
322
- case mapTag:
1027
+ case mapTag$2:
323
1028
  var convert = mapToArray;
324
1029
 
325
- case setTag:
1030
+ case setTag$2:
326
1031
  var isPartial = bitmask & COMPARE_PARTIAL_FLAG$4;
327
1032
  convert || (convert = setToArray);
328
1033
 
@@ -338,7 +1043,7 @@ function equalByTag$1(object, other, tag, bitmask, customizer, equalFunc, stack)
338
1043
 
339
1044
  // Recursively compare objects (susceptible to call stack limits).
340
1045
  stack.set(object, other);
341
- var result = equalArrays$1(convert(object), convert(other), bitmask, customizer, equalFunc, stack);
1046
+ var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);
342
1047
  stack['delete'](object);
343
1048
  return result;
344
1049
 
@@ -350,8 +1055,6 @@ function equalByTag$1(object, other, tag, bitmask, customizer, equalFunc, stack)
350
1055
  return false;
351
1056
  }
352
1057
 
353
- var _equalByTag = equalByTag$1;
354
-
355
1058
  /**
356
1059
  * Appends the elements of `values` to `array`.
357
1060
  *
@@ -360,8 +1063,7 @@ var _equalByTag = equalByTag$1;
360
1063
  * @param {Array} values The values to append.
361
1064
  * @returns {Array} Returns `array`.
362
1065
  */
363
-
364
- function arrayPush$1(array, values) {
1066
+ function arrayPush(array, values) {
365
1067
  var index = -1,
366
1068
  length = values.length,
367
1069
  offset = array.length;
@@ -372,8 +1074,6 @@ function arrayPush$1(array, values) {
372
1074
  return array;
373
1075
  }
374
1076
 
375
- var _arrayPush = arrayPush$1;
376
-
377
1077
  /**
378
1078
  * Checks if `value` is classified as an `Array` object.
379
1079
  *
@@ -397,13 +1097,9 @@ var _arrayPush = arrayPush$1;
397
1097
  * _.isArray(_.noop);
398
1098
  * // => false
399
1099
  */
1100
+ var isArray = Array.isArray;
400
1101
 
401
- var isArray$9 = Array.isArray;
402
-
403
- var isArray_1 = isArray$9;
404
-
405
- var arrayPush = _arrayPush,
406
- isArray$8 = isArray_1;
1102
+ const isArray$1 = isArray;
407
1103
 
408
1104
  /**
409
1105
  * The base implementation of `getAllKeys` and `getAllKeysIn` which uses
@@ -416,13 +1112,11 @@ var arrayPush = _arrayPush,
416
1112
  * @param {Function} symbolsFunc The function to get the symbols of `object`.
417
1113
  * @returns {Array} Returns the array of property names and symbols.
418
1114
  */
419
- function baseGetAllKeys$1(object, keysFunc, symbolsFunc) {
1115
+ function baseGetAllKeys(object, keysFunc, symbolsFunc) {
420
1116
  var result = keysFunc(object);
421
- return isArray$8(object) ? result : arrayPush(result, symbolsFunc(object));
1117
+ return isArray$1(object) ? result : arrayPush(result, symbolsFunc(object));
422
1118
  }
423
1119
 
424
- var _baseGetAllKeys = baseGetAllKeys$1;
425
-
426
1120
  /**
427
1121
  * A specialized version of `_.filter` for arrays without support for
428
1122
  * iteratee shorthands.
@@ -432,8 +1126,7 @@ var _baseGetAllKeys = baseGetAllKeys$1;
432
1126
  * @param {Function} predicate The function invoked per iteration.
433
1127
  * @returns {Array} Returns the new filtered array.
434
1128
  */
435
-
436
- function arrayFilter$1(array, predicate) {
1129
+ function arrayFilter(array, predicate) {
437
1130
  var index = -1,
438
1131
  length = array == null ? 0 : array.length,
439
1132
  resIndex = 0,
@@ -448,8 +1141,6 @@ function arrayFilter$1(array, predicate) {
448
1141
  return result;
449
1142
  }
450
1143
 
451
- var _arrayFilter = arrayFilter$1;
452
-
453
1144
  /**
454
1145
  * This method returns a new empty array.
455
1146
  *
@@ -465,72 +1156,163 @@ var _arrayFilter = arrayFilter$1;
465
1156
  * console.log(arrays);
466
1157
  * // => [[], []]
467
1158
  *
468
- * console.log(arrays[0] === arrays[1]);
469
- * // => false
1159
+ * console.log(arrays[0] === arrays[1]);
1160
+ * // => false
1161
+ */
1162
+ function stubArray() {
1163
+ return [];
1164
+ }
1165
+
1166
+ /** Used for built-in method references. */
1167
+ var objectProto$6 = Object.prototype;
1168
+
1169
+ /** Built-in value references. */
1170
+ var propertyIsEnumerable$1 = objectProto$6.propertyIsEnumerable;
1171
+
1172
+ /* Built-in method references for those with the same name as other `lodash` methods. */
1173
+ var nativeGetSymbols = Object.getOwnPropertySymbols;
1174
+
1175
+ /**
1176
+ * Creates an array of the own enumerable symbols of `object`.
1177
+ *
1178
+ * @private
1179
+ * @param {Object} object The object to query.
1180
+ * @returns {Array} Returns the array of symbols.
1181
+ */
1182
+ var getSymbols = !nativeGetSymbols ? stubArray : function(object) {
1183
+ if (object == null) {
1184
+ return [];
1185
+ }
1186
+ object = Object(object);
1187
+ return arrayFilter(nativeGetSymbols(object), function(symbol) {
1188
+ return propertyIsEnumerable$1.call(object, symbol);
1189
+ });
1190
+ };
1191
+
1192
+ const getSymbols$1 = getSymbols;
1193
+
1194
+ /**
1195
+ * The base implementation of `_.times` without support for iteratee shorthands
1196
+ * or max array length checks.
1197
+ *
1198
+ * @private
1199
+ * @param {number} n The number of times to invoke `iteratee`.
1200
+ * @param {Function} iteratee The function invoked per iteration.
1201
+ * @returns {Array} Returns the array of results.
1202
+ */
1203
+ function baseTimes(n, iteratee) {
1204
+ var index = -1,
1205
+ result = Array(n);
1206
+
1207
+ while (++index < n) {
1208
+ result[index] = iteratee(index);
1209
+ }
1210
+ return result;
1211
+ }
1212
+
1213
+ /** `Object#toString` result references. */
1214
+ var argsTag$2 = '[object Arguments]';
1215
+
1216
+ /**
1217
+ * The base implementation of `_.isArguments`.
1218
+ *
1219
+ * @private
1220
+ * @param {*} value The value to check.
1221
+ * @returns {boolean} Returns `true` if `value` is an `arguments` object,
1222
+ */
1223
+ function baseIsArguments(value) {
1224
+ return isObjectLike(value) && baseGetTag(value) == argsTag$2;
1225
+ }
1226
+
1227
+ /** Used for built-in method references. */
1228
+ var objectProto$5 = Object.prototype;
1229
+
1230
+ /** Used to check objects for own properties. */
1231
+ var hasOwnProperty$4 = objectProto$5.hasOwnProperty;
1232
+
1233
+ /** Built-in value references. */
1234
+ var propertyIsEnumerable = objectProto$5.propertyIsEnumerable;
1235
+
1236
+ /**
1237
+ * Checks if `value` is likely an `arguments` object.
1238
+ *
1239
+ * @static
1240
+ * @memberOf _
1241
+ * @since 0.1.0
1242
+ * @category Lang
1243
+ * @param {*} value The value to check.
1244
+ * @returns {boolean} Returns `true` if `value` is an `arguments` object,
1245
+ * else `false`.
1246
+ * @example
1247
+ *
1248
+ * _.isArguments(function() { return arguments; }());
1249
+ * // => true
1250
+ *
1251
+ * _.isArguments([1, 2, 3]);
1252
+ * // => false
1253
+ */
1254
+ var isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {
1255
+ return isObjectLike(value) && hasOwnProperty$4.call(value, 'callee') &&
1256
+ !propertyIsEnumerable.call(value, 'callee');
1257
+ };
1258
+
1259
+ const isArguments$1 = isArguments;
1260
+
1261
+ /**
1262
+ * This method returns `false`.
1263
+ *
1264
+ * @static
1265
+ * @memberOf _
1266
+ * @since 4.13.0
1267
+ * @category Util
1268
+ * @returns {boolean} Returns `false`.
1269
+ * @example
1270
+ *
1271
+ * _.times(2, _.stubFalse);
1272
+ * // => [false, false]
470
1273
  */
471
-
472
- function stubArray$1() {
473
- return [];
1274
+ function stubFalse() {
1275
+ return false;
474
1276
  }
475
1277
 
476
- var stubArray_1 = stubArray$1;
1278
+ /** Detect free variable `exports`. */
1279
+ var freeExports$1 = typeof exports == 'object' && exports && !exports.nodeType && exports;
477
1280
 
478
- var arrayFilter = _arrayFilter,
479
- stubArray = stubArray_1;
1281
+ /** Detect free variable `module`. */
1282
+ var freeModule$1 = freeExports$1 && typeof module == 'object' && module && !module.nodeType && module;
480
1283
 
481
- /** Used for built-in method references. */
482
- var objectProto$5 = Object.prototype;
1284
+ /** Detect the popular CommonJS extension `module.exports`. */
1285
+ var moduleExports$1 = freeModule$1 && freeModule$1.exports === freeExports$1;
483
1286
 
484
1287
  /** Built-in value references. */
485
- var propertyIsEnumerable = objectProto$5.propertyIsEnumerable;
1288
+ var Buffer = moduleExports$1 ? root.Buffer : undefined;
486
1289
 
487
1290
  /* Built-in method references for those with the same name as other `lodash` methods. */
488
- var nativeGetSymbols = Object.getOwnPropertySymbols;
1291
+ var nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;
489
1292
 
490
1293
  /**
491
- * Creates an array of the own enumerable symbols of `object`.
1294
+ * Checks if `value` is a buffer.
492
1295
  *
493
- * @private
494
- * @param {Object} object The object to query.
495
- * @returns {Array} Returns the array of symbols.
496
- */
497
- var getSymbols$1 = !nativeGetSymbols ? stubArray : function(object) {
498
- if (object == null) {
499
- return [];
500
- }
501
- object = Object(object);
502
- return arrayFilter(nativeGetSymbols(object), function(symbol) {
503
- return propertyIsEnumerable.call(object, symbol);
504
- });
505
- };
506
-
507
- var _getSymbols = getSymbols$1;
508
-
509
- /**
510
- * The base implementation of `_.times` without support for iteratee shorthands
511
- * or max array length checks.
1296
+ * @static
1297
+ * @memberOf _
1298
+ * @since 4.3.0
1299
+ * @category Lang
1300
+ * @param {*} value The value to check.
1301
+ * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.
1302
+ * @example
512
1303
  *
513
- * @private
514
- * @param {number} n The number of times to invoke `iteratee`.
515
- * @param {Function} iteratee The function invoked per iteration.
516
- * @returns {Array} Returns the array of results.
1304
+ * _.isBuffer(new Buffer(2));
1305
+ * // => true
1306
+ *
1307
+ * _.isBuffer(new Uint8Array(2));
1308
+ * // => false
517
1309
  */
1310
+ var isBuffer = nativeIsBuffer || stubFalse;
518
1311
 
519
- function baseTimes$1(n, iteratee) {
520
- var index = -1,
521
- result = Array(n);
522
-
523
- while (++index < n) {
524
- result[index] = iteratee(index);
525
- }
526
- return result;
527
- }
528
-
529
- var _baseTimes = baseTimes$1;
1312
+ const isBuffer$1 = isBuffer;
530
1313
 
531
1314
  /** Used as references for various `Number` constants. */
532
-
533
- var MAX_SAFE_INTEGER = 9007199254740991;
1315
+ var MAX_SAFE_INTEGER$1 = 9007199254740991;
534
1316
 
535
1317
  /** Used to detect unsigned integer values. */
536
1318
  var reIsUint = /^(?:0|[1-9]\d*)$/;
@@ -543,9 +1325,9 @@ var reIsUint = /^(?:0|[1-9]\d*)$/;
543
1325
  * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.
544
1326
  * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.
545
1327
  */
546
- function isIndex$3(value, length) {
1328
+ function isIndex(value, length) {
547
1329
  var type = typeof value;
548
- length = length == null ? MAX_SAFE_INTEGER : length;
1330
+ length = length == null ? MAX_SAFE_INTEGER$1 : length;
549
1331
 
550
1332
  return !!length &&
551
1333
  (type == 'number' ||
@@ -553,7 +1335,94 @@ function isIndex$3(value, length) {
553
1335
  (value > -1 && value % 1 == 0 && value < length);
554
1336
  }
555
1337
 
556
- var _isIndex = isIndex$3;
1338
+ /** Used as references for various `Number` constants. */
1339
+ var MAX_SAFE_INTEGER = 9007199254740991;
1340
+
1341
+ /**
1342
+ * Checks if `value` is a valid array-like length.
1343
+ *
1344
+ * **Note:** This method is loosely based on
1345
+ * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).
1346
+ *
1347
+ * @static
1348
+ * @memberOf _
1349
+ * @since 4.0.0
1350
+ * @category Lang
1351
+ * @param {*} value The value to check.
1352
+ * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.
1353
+ * @example
1354
+ *
1355
+ * _.isLength(3);
1356
+ * // => true
1357
+ *
1358
+ * _.isLength(Number.MIN_VALUE);
1359
+ * // => false
1360
+ *
1361
+ * _.isLength(Infinity);
1362
+ * // => false
1363
+ *
1364
+ * _.isLength('3');
1365
+ * // => false
1366
+ */
1367
+ function isLength(value) {
1368
+ return typeof value == 'number' &&
1369
+ value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
1370
+ }
1371
+
1372
+ /** `Object#toString` result references. */
1373
+ var argsTag$1 = '[object Arguments]',
1374
+ arrayTag$1 = '[object Array]',
1375
+ boolTag = '[object Boolean]',
1376
+ dateTag = '[object Date]',
1377
+ errorTag = '[object Error]',
1378
+ funcTag = '[object Function]',
1379
+ mapTag$1 = '[object Map]',
1380
+ numberTag = '[object Number]',
1381
+ objectTag$2 = '[object Object]',
1382
+ regexpTag = '[object RegExp]',
1383
+ setTag$1 = '[object Set]',
1384
+ stringTag = '[object String]',
1385
+ weakMapTag$1 = '[object WeakMap]';
1386
+
1387
+ var arrayBufferTag = '[object ArrayBuffer]',
1388
+ dataViewTag$1 = '[object DataView]',
1389
+ float32Tag = '[object Float32Array]',
1390
+ float64Tag = '[object Float64Array]',
1391
+ int8Tag = '[object Int8Array]',
1392
+ int16Tag = '[object Int16Array]',
1393
+ int32Tag = '[object Int32Array]',
1394
+ uint8Tag = '[object Uint8Array]',
1395
+ uint8ClampedTag = '[object Uint8ClampedArray]',
1396
+ uint16Tag = '[object Uint16Array]',
1397
+ uint32Tag = '[object Uint32Array]';
1398
+
1399
+ /** Used to identify `toStringTag` values of typed arrays. */
1400
+ var typedArrayTags = {};
1401
+ typedArrayTags[float32Tag] = typedArrayTags[float64Tag] =
1402
+ typedArrayTags[int8Tag] = typedArrayTags[int16Tag] =
1403
+ typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =
1404
+ typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =
1405
+ typedArrayTags[uint32Tag] = true;
1406
+ typedArrayTags[argsTag$1] = typedArrayTags[arrayTag$1] =
1407
+ typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =
1408
+ typedArrayTags[dataViewTag$1] = typedArrayTags[dateTag] =
1409
+ typedArrayTags[errorTag] = typedArrayTags[funcTag] =
1410
+ typedArrayTags[mapTag$1] = typedArrayTags[numberTag] =
1411
+ typedArrayTags[objectTag$2] = typedArrayTags[regexpTag] =
1412
+ typedArrayTags[setTag$1] = typedArrayTags[stringTag] =
1413
+ typedArrayTags[weakMapTag$1] = false;
1414
+
1415
+ /**
1416
+ * The base implementation of `_.isTypedArray` without Node.js optimizations.
1417
+ *
1418
+ * @private
1419
+ * @param {*} value The value to check.
1420
+ * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.
1421
+ */
1422
+ function baseIsTypedArray(value) {
1423
+ return isObjectLike(value) &&
1424
+ isLength(value.length) && !!typedArrayTags[baseGetTag(value)];
1425
+ }
557
1426
 
558
1427
  /**
559
1428
  * The base implementation of `_.unary` without support for storing metadata.
@@ -562,21 +1431,43 @@ var _isIndex = isIndex$3;
562
1431
  * @param {Function} func The function to cap arguments for.
563
1432
  * @returns {Function} Returns the new capped function.
564
1433
  */
565
-
566
- function baseUnary$1(func) {
1434
+ function baseUnary(func) {
567
1435
  return function(value) {
568
1436
  return func(value);
569
1437
  };
570
1438
  }
571
1439
 
572
- var _baseUnary = baseUnary$1;
1440
+ /** Detect free variable `exports`. */
1441
+ var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;
573
1442
 
574
- var baseIsTypedArray = _baseIsTypedArray,
575
- baseUnary = _baseUnary,
576
- nodeUtil = _nodeUtil.exports;
1443
+ /** Detect free variable `module`. */
1444
+ var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;
1445
+
1446
+ /** Detect the popular CommonJS extension `module.exports`. */
1447
+ var moduleExports = freeModule && freeModule.exports === freeExports;
1448
+
1449
+ /** Detect free variable `process` from Node.js. */
1450
+ var freeProcess = moduleExports && freeGlobal.process;
1451
+
1452
+ /** Used to access faster Node.js helpers. */
1453
+ var nodeUtil = (function() {
1454
+ try {
1455
+ // Use `util.types` for Node.js 10+.
1456
+ var types = freeModule && freeModule.require && freeModule.require('util').types;
1457
+
1458
+ if (types) {
1459
+ return types;
1460
+ }
1461
+
1462
+ // Legacy `process.binding('util')` for Node.js < 10.
1463
+ return freeProcess && freeProcess.binding && freeProcess.binding('util');
1464
+ } catch (e) {}
1465
+ }());
1466
+
1467
+ const nodeUtil$1 = nodeUtil;
577
1468
 
578
1469
  /* Node.js helper references. */
579
- var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;
1470
+ var nodeIsTypedArray = nodeUtil$1 && nodeUtil$1.isTypedArray;
580
1471
 
581
1472
  /**
582
1473
  * Checks if `value` is classified as a typed array.
@@ -595,16 +1486,9 @@ var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;
595
1486
  * _.isTypedArray([]);
596
1487
  * // => false
597
1488
  */
598
- var isTypedArray$2 = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;
599
-
600
- var isTypedArray_1 = isTypedArray$2;
1489
+ var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;
601
1490
 
602
- var baseTimes = _baseTimes,
603
- isArguments$1 = isArguments_1,
604
- isArray$7 = isArray_1,
605
- isBuffer$1 = isBuffer$2.exports,
606
- isIndex$2 = _isIndex,
607
- isTypedArray$1 = isTypedArray_1;
1491
+ const isTypedArray$1 = isTypedArray;
608
1492
 
609
1493
  /** Used for built-in method references. */
610
1494
  var objectProto$4 = Object.prototype;
@@ -620,8 +1504,8 @@ var hasOwnProperty$3 = objectProto$4.hasOwnProperty;
620
1504
  * @param {boolean} inherited Specify returning inherited property names.
621
1505
  * @returns {Array} Returns the array of property names.
622
1506
  */
623
- function arrayLikeKeys$1(value, inherited) {
624
- var isArr = isArray$7(value),
1507
+ function arrayLikeKeys(value, inherited) {
1508
+ var isArr = isArray$1(value),
625
1509
  isArg = !isArr && isArguments$1(value),
626
1510
  isBuff = !isArr && !isArg && isBuffer$1(value),
627
1511
  isType = !isArr && !isArg && !isBuff && isTypedArray$1(value),
@@ -639,7 +1523,7 @@ function arrayLikeKeys$1(value, inherited) {
639
1523
  // PhantomJS 2 has enumerable non-index properties on typed arrays.
640
1524
  (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||
641
1525
  // Skip index properties.
642
- isIndex$2(key, length)
1526
+ isIndex(key, length)
643
1527
  ))) {
644
1528
  result.push(key);
645
1529
  }
@@ -647,10 +1531,7 @@ function arrayLikeKeys$1(value, inherited) {
647
1531
  return result;
648
1532
  }
649
1533
 
650
- var _arrayLikeKeys = arrayLikeKeys$1;
651
-
652
1534
  /** Used for built-in method references. */
653
-
654
1535
  var objectProto$3 = Object.prototype;
655
1536
 
656
1537
  /**
@@ -660,15 +1541,13 @@ var objectProto$3 = Object.prototype;
660
1541
  * @param {*} value The value to check.
661
1542
  * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.
662
1543
  */
663
- function isPrototype$1(value) {
1544
+ function isPrototype(value) {
664
1545
  var Ctor = value && value.constructor,
665
1546
  proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto$3;
666
1547
 
667
1548
  return value === proto;
668
1549
  }
669
1550
 
670
- var _isPrototype = isPrototype$1;
671
-
672
1551
  /**
673
1552
  * Creates a unary function that invokes `func` with its argument transformed.
674
1553
  *
@@ -677,24 +1556,16 @@ var _isPrototype = isPrototype$1;
677
1556
  * @param {Function} transform The argument transform.
678
1557
  * @returns {Function} Returns the new function.
679
1558
  */
680
-
681
- function overArg$1(func, transform) {
1559
+ function overArg(func, transform) {
682
1560
  return function(arg) {
683
1561
  return func(transform(arg));
684
1562
  };
685
1563
  }
686
1564
 
687
- var _overArg = overArg$1;
688
-
689
- var overArg = _overArg;
690
-
691
1565
  /* Built-in method references for those with the same name as other `lodash` methods. */
692
- var nativeKeys$1 = overArg(Object.keys, Object);
1566
+ var nativeKeys = overArg(Object.keys, Object);
693
1567
 
694
- var _nativeKeys = nativeKeys$1;
695
-
696
- var isPrototype = _isPrototype,
697
- nativeKeys = _nativeKeys;
1568
+ const nativeKeys$1 = nativeKeys;
698
1569
 
699
1570
  /** Used for built-in method references. */
700
1571
  var objectProto$2 = Object.prototype;
@@ -709,9 +1580,9 @@ var hasOwnProperty$2 = objectProto$2.hasOwnProperty;
709
1580
  * @param {Object} object The object to query.
710
1581
  * @returns {Array} Returns the array of property names.
711
1582
  */
712
- function baseKeys$1(object) {
1583
+ function baseKeys(object) {
713
1584
  if (!isPrototype(object)) {
714
- return nativeKeys(object);
1585
+ return nativeKeys$1(object);
715
1586
  }
716
1587
  var result = [];
717
1588
  for (var key in Object(object)) {
@@ -722,11 +1593,6 @@ function baseKeys$1(object) {
722
1593
  return result;
723
1594
  }
724
1595
 
725
- var _baseKeys = baseKeys$1;
726
-
727
- var isFunction = isFunction_1,
728
- isLength$1 = isLength_1;
729
-
730
1596
  /**
731
1597
  * Checks if `value` is array-like. A value is considered array-like if it's
732
1598
  * not a function and has a `value.length` that's an integer greater than or
@@ -752,16 +1618,10 @@ var isFunction = isFunction_1,
752
1618
  * _.isArrayLike(_.noop);
753
1619
  * // => false
754
1620
  */
755
- function isArrayLike$3(value) {
756
- return value != null && isLength$1(value.length) && !isFunction(value);
1621
+ function isArrayLike(value) {
1622
+ return value != null && isLength(value.length) && !isFunction(value);
757
1623
  }
758
1624
 
759
- var isArrayLike_1 = isArrayLike$3;
760
-
761
- var arrayLikeKeys = _arrayLikeKeys,
762
- baseKeys = _baseKeys,
763
- isArrayLike$2 = isArrayLike_1;
764
-
765
1625
  /**
766
1626
  * Creates an array of the own enumerable property names of `object`.
767
1627
  *
@@ -790,16 +1650,10 @@ var arrayLikeKeys = _arrayLikeKeys,
790
1650
  * _.keys('hi');
791
1651
  * // => ['0', '1']
792
1652
  */
793
- function keys$3(object) {
794
- return isArrayLike$2(object) ? arrayLikeKeys(object) : baseKeys(object);
1653
+ function keys(object) {
1654
+ return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);
795
1655
  }
796
1656
 
797
- var keys_1 = keys$3;
798
-
799
- var baseGetAllKeys = _baseGetAllKeys,
800
- getSymbols = _getSymbols,
801
- keys$2 = keys_1;
802
-
803
1657
  /**
804
1658
  * Creates an array of own enumerable property names and symbols of `object`.
805
1659
  *
@@ -807,14 +1661,10 @@ var baseGetAllKeys = _baseGetAllKeys,
807
1661
  * @param {Object} object The object to query.
808
1662
  * @returns {Array} Returns the array of property names and symbols.
809
1663
  */
810
- function getAllKeys$1(object) {
811
- return baseGetAllKeys(object, keys$2, getSymbols);
1664
+ function getAllKeys(object) {
1665
+ return baseGetAllKeys(object, keys, getSymbols$1);
812
1666
  }
813
1667
 
814
- var _getAllKeys = getAllKeys$1;
815
-
816
- var getAllKeys = _getAllKeys;
817
-
818
1668
  /** Used to compose bitmasks for value comparisons. */
819
1669
  var COMPARE_PARTIAL_FLAG$3 = 1;
820
1670
 
@@ -837,7 +1687,7 @@ var hasOwnProperty$1 = objectProto$1.hasOwnProperty;
837
1687
  * @param {Object} stack Tracks traversed `object` and `other` objects.
838
1688
  * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
839
1689
  */
840
- function equalObjects$1(object, other, bitmask, customizer, equalFunc, stack) {
1690
+ function equalObjects(object, other, bitmask, customizer, equalFunc, stack) {
841
1691
  var isPartial = bitmask & COMPARE_PARTIAL_FLAG$3,
842
1692
  objProps = getAllKeys(object),
843
1693
  objLength = objProps.length,
@@ -902,16 +1752,76 @@ function equalObjects$1(object, other, bitmask, customizer, equalFunc, stack) {
902
1752
  return result;
903
1753
  }
904
1754
 
905
- var _equalObjects = equalObjects$1;
1755
+ /* Built-in method references that are verified to be native. */
1756
+ var DataView = getNative(root, 'DataView');
1757
+
1758
+ const DataView$1 = DataView;
1759
+
1760
+ /* Built-in method references that are verified to be native. */
1761
+ var Promise$1 = getNative(root, 'Promise');
1762
+
1763
+ const Promise$2 = Promise$1;
1764
+
1765
+ /* Built-in method references that are verified to be native. */
1766
+ var Set = getNative(root, 'Set');
1767
+
1768
+ const Set$1 = Set;
1769
+
1770
+ /* Built-in method references that are verified to be native. */
1771
+ var WeakMap = getNative(root, 'WeakMap');
1772
+
1773
+ const WeakMap$1 = WeakMap;
1774
+
1775
+ /** `Object#toString` result references. */
1776
+ var mapTag = '[object Map]',
1777
+ objectTag$1 = '[object Object]',
1778
+ promiseTag = '[object Promise]',
1779
+ setTag = '[object Set]',
1780
+ weakMapTag = '[object WeakMap]';
1781
+
1782
+ var dataViewTag = '[object DataView]';
1783
+
1784
+ /** Used to detect maps, sets, and weakmaps. */
1785
+ var dataViewCtorString = toSource(DataView$1),
1786
+ mapCtorString = toSource(Map$2),
1787
+ promiseCtorString = toSource(Promise$2),
1788
+ setCtorString = toSource(Set$1),
1789
+ weakMapCtorString = toSource(WeakMap$1);
1790
+
1791
+ /**
1792
+ * Gets the `toStringTag` of `value`.
1793
+ *
1794
+ * @private
1795
+ * @param {*} value The value to query.
1796
+ * @returns {string} Returns the `toStringTag`.
1797
+ */
1798
+ var getTag = baseGetTag;
1799
+
1800
+ // Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.
1801
+ if ((DataView$1 && getTag(new DataView$1(new ArrayBuffer(1))) != dataViewTag) ||
1802
+ (Map$2 && getTag(new Map$2) != mapTag) ||
1803
+ (Promise$2 && getTag(Promise$2.resolve()) != promiseTag) ||
1804
+ (Set$1 && getTag(new Set$1) != setTag) ||
1805
+ (WeakMap$1 && getTag(new WeakMap$1) != weakMapTag)) {
1806
+ getTag = function(value) {
1807
+ var result = baseGetTag(value),
1808
+ Ctor = result == objectTag$1 ? value.constructor : undefined,
1809
+ ctorString = Ctor ? toSource(Ctor) : '';
1810
+
1811
+ if (ctorString) {
1812
+ switch (ctorString) {
1813
+ case dataViewCtorString: return dataViewTag;
1814
+ case mapCtorString: return mapTag;
1815
+ case promiseCtorString: return promiseTag;
1816
+ case setCtorString: return setTag;
1817
+ case weakMapCtorString: return weakMapTag;
1818
+ }
1819
+ }
1820
+ return result;
1821
+ };
1822
+ }
906
1823
 
907
- var Stack$1 = _Stack,
908
- equalArrays = _equalArrays,
909
- equalByTag = _equalByTag,
910
- equalObjects = _equalObjects,
911
- getTag = _getTag,
912
- isArray$6 = isArray_1,
913
- isBuffer = isBuffer$2.exports,
914
- isTypedArray = isTypedArray_1;
1824
+ const getTag$1 = getTag;
915
1825
 
916
1826
  /** Used to compose bitmasks for value comparisons. */
917
1827
  var COMPARE_PARTIAL_FLAG$2 = 1;
@@ -941,11 +1851,11 @@ var hasOwnProperty = objectProto.hasOwnProperty;
941
1851
  * @param {Object} [stack] Tracks traversed `object` and `other` objects.
942
1852
  * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
943
1853
  */
944
- function baseIsEqualDeep$1(object, other, bitmask, customizer, equalFunc, stack) {
945
- var objIsArr = isArray$6(object),
946
- othIsArr = isArray$6(other),
947
- objTag = objIsArr ? arrayTag : getTag(object),
948
- othTag = othIsArr ? arrayTag : getTag(other);
1854
+ function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {
1855
+ var objIsArr = isArray$1(object),
1856
+ othIsArr = isArray$1(other),
1857
+ objTag = objIsArr ? arrayTag : getTag$1(object),
1858
+ othTag = othIsArr ? arrayTag : getTag$1(other);
949
1859
 
950
1860
  objTag = objTag == argsTag ? objectTag : objTag;
951
1861
  othTag = othTag == argsTag ? objectTag : othTag;
@@ -954,16 +1864,16 @@ function baseIsEqualDeep$1(object, other, bitmask, customizer, equalFunc, stack)
954
1864
  othIsObj = othTag == objectTag,
955
1865
  isSameTag = objTag == othTag;
956
1866
 
957
- if (isSameTag && isBuffer(object)) {
958
- if (!isBuffer(other)) {
1867
+ if (isSameTag && isBuffer$1(object)) {
1868
+ if (!isBuffer$1(other)) {
959
1869
  return false;
960
1870
  }
961
1871
  objIsArr = true;
962
1872
  objIsObj = false;
963
1873
  }
964
1874
  if (isSameTag && !objIsObj) {
965
- stack || (stack = new Stack$1);
966
- return (objIsArr || isTypedArray(object))
1875
+ stack || (stack = new Stack);
1876
+ return (objIsArr || isTypedArray$1(object))
967
1877
  ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)
968
1878
  : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);
969
1879
  }
@@ -975,22 +1885,17 @@ function baseIsEqualDeep$1(object, other, bitmask, customizer, equalFunc, stack)
975
1885
  var objUnwrapped = objIsWrapped ? object.value() : object,
976
1886
  othUnwrapped = othIsWrapped ? other.value() : other;
977
1887
 
978
- stack || (stack = new Stack$1);
1888
+ stack || (stack = new Stack);
979
1889
  return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);
980
1890
  }
981
1891
  }
982
1892
  if (!isSameTag) {
983
1893
  return false;
984
1894
  }
985
- stack || (stack = new Stack$1);
1895
+ stack || (stack = new Stack);
986
1896
  return equalObjects(object, other, bitmask, customizer, equalFunc, stack);
987
1897
  }
988
1898
 
989
- var _baseIsEqualDeep = baseIsEqualDeep$1;
990
-
991
- var baseIsEqualDeep = _baseIsEqualDeep,
992
- isObjectLike = isObjectLike_1;
993
-
994
1899
  /**
995
1900
  * The base implementation of `_.isEqual` which supports partial comparisons
996
1901
  * and tracks traversed objects.
@@ -1005,21 +1910,16 @@ var baseIsEqualDeep = _baseIsEqualDeep,
1005
1910
  * @param {Object} [stack] Tracks traversed `value` and `other` objects.
1006
1911
  * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
1007
1912
  */
1008
- function baseIsEqual$2(value, other, bitmask, customizer, stack) {
1913
+ function baseIsEqual(value, other, bitmask, customizer, stack) {
1009
1914
  if (value === other) {
1010
1915
  return true;
1011
1916
  }
1012
1917
  if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {
1013
1918
  return value !== value && other !== other;
1014
1919
  }
1015
- return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual$2, stack);
1920
+ return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);
1016
1921
  }
1017
1922
 
1018
- var _baseIsEqual = baseIsEqual$2;
1019
-
1020
- var Stack = _Stack,
1021
- baseIsEqual$1 = _baseIsEqual;
1022
-
1023
1923
  /** Used to compose bitmasks for value comparisons. */
1024
1924
  var COMPARE_PARTIAL_FLAG$1 = 1,
1025
1925
  COMPARE_UNORDERED_FLAG$1 = 2;
@@ -1034,7 +1934,7 @@ var COMPARE_PARTIAL_FLAG$1 = 1,
1034
1934
  * @param {Function} [customizer] The function to customize comparisons.
1035
1935
  * @returns {boolean} Returns `true` if `object` is a match, else `false`.
1036
1936
  */
1037
- function baseIsMatch$1(object, source, matchData, customizer) {
1937
+ function baseIsMatch(object, source, matchData, customizer) {
1038
1938
  var index = matchData.length,
1039
1939
  length = index,
1040
1940
  noCustomizer = !customizer;
@@ -1068,7 +1968,7 @@ function baseIsMatch$1(object, source, matchData, customizer) {
1068
1968
  var result = customizer(objValue, srcValue, key, object, source, stack);
1069
1969
  }
1070
1970
  if (!(result === undefined
1071
- ? baseIsEqual$1(srcValue, objValue, COMPARE_PARTIAL_FLAG$1 | COMPARE_UNORDERED_FLAG$1, customizer, stack)
1971
+ ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG$1 | COMPARE_UNORDERED_FLAG$1, customizer, stack)
1072
1972
  : result
1073
1973
  )) {
1074
1974
  return false;
@@ -1078,10 +1978,6 @@ function baseIsMatch$1(object, source, matchData, customizer) {
1078
1978
  return true;
1079
1979
  }
1080
1980
 
1081
- var _baseIsMatch = baseIsMatch$1;
1082
-
1083
- var isObject$1 = isObject_1;
1084
-
1085
1981
  /**
1086
1982
  * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.
1087
1983
  *
@@ -1090,15 +1986,10 @@ var isObject$1 = isObject_1;
1090
1986
  * @returns {boolean} Returns `true` if `value` if suitable for strict
1091
1987
  * equality comparisons, else `false`.
1092
1988
  */
1093
- function isStrictComparable$2(value) {
1094
- return value === value && !isObject$1(value);
1989
+ function isStrictComparable(value) {
1990
+ return value === value && !isObject(value);
1095
1991
  }
1096
1992
 
1097
- var _isStrictComparable = isStrictComparable$2;
1098
-
1099
- var isStrictComparable$1 = _isStrictComparable,
1100
- keys$1 = keys_1;
1101
-
1102
1993
  /**
1103
1994
  * Gets the property names, values, and compare flags of `object`.
1104
1995
  *
@@ -1106,21 +1997,19 @@ var isStrictComparable$1 = _isStrictComparable,
1106
1997
  * @param {Object} object The object to query.
1107
1998
  * @returns {Array} Returns the match data of `object`.
1108
1999
  */
1109
- function getMatchData$1(object) {
1110
- var result = keys$1(object),
2000
+ function getMatchData(object) {
2001
+ var result = keys(object),
1111
2002
  length = result.length;
1112
2003
 
1113
2004
  while (length--) {
1114
2005
  var key = result[length],
1115
2006
  value = object[key];
1116
2007
 
1117
- result[length] = [key, value, isStrictComparable$1(value)];
2008
+ result[length] = [key, value, isStrictComparable(value)];
1118
2009
  }
1119
2010
  return result;
1120
2011
  }
1121
2012
 
1122
- var _getMatchData = getMatchData$1;
1123
-
1124
2013
  /**
1125
2014
  * A specialized version of `matchesProperty` for source values suitable
1126
2015
  * for strict equality comparisons, i.e. `===`.
@@ -1130,8 +2019,7 @@ var _getMatchData = getMatchData$1;
1130
2019
  * @param {*} srcValue The value to match.
1131
2020
  * @returns {Function} Returns the new spec function.
1132
2021
  */
1133
-
1134
- function matchesStrictComparable$2(key, srcValue) {
2022
+ function matchesStrictComparable(key, srcValue) {
1135
2023
  return function(object) {
1136
2024
  if (object == null) {
1137
2025
  return false;
@@ -1141,12 +2029,6 @@ function matchesStrictComparable$2(key, srcValue) {
1141
2029
  };
1142
2030
  }
1143
2031
 
1144
- var _matchesStrictComparable = matchesStrictComparable$2;
1145
-
1146
- var baseIsMatch = _baseIsMatch,
1147
- getMatchData = _getMatchData,
1148
- matchesStrictComparable$1 = _matchesStrictComparable;
1149
-
1150
2032
  /**
1151
2033
  * The base implementation of `_.matches` which doesn't clone `source`.
1152
2034
  *
@@ -1154,21 +2036,16 @@ var baseIsMatch = _baseIsMatch,
1154
2036
  * @param {Object} source The object of property values to match.
1155
2037
  * @returns {Function} Returns the new spec function.
1156
2038
  */
1157
- function baseMatches$1(source) {
2039
+ function baseMatches(source) {
1158
2040
  var matchData = getMatchData(source);
1159
2041
  if (matchData.length == 1 && matchData[0][2]) {
1160
- return matchesStrictComparable$1(matchData[0][0], matchData[0][1]);
2042
+ return matchesStrictComparable(matchData[0][0], matchData[0][1]);
1161
2043
  }
1162
2044
  return function(object) {
1163
2045
  return object === source || baseIsMatch(object, source, matchData);
1164
2046
  };
1165
2047
  }
1166
2048
 
1167
- var _baseMatches = baseMatches$1;
1168
-
1169
- var isArray$5 = isArray_1,
1170
- isSymbol$2 = isSymbol_1;
1171
-
1172
2049
  /** Used to match property names within property paths. */
1173
2050
  var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,
1174
2051
  reIsPlainProp = /^\w*$/;
@@ -1181,20 +2058,137 @@ var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,
1181
2058
  * @param {Object} [object] The object to query keys on.
1182
2059
  * @returns {boolean} Returns `true` if `value` is a property name, else `false`.
1183
2060
  */
1184
- function isKey$3(value, object) {
1185
- if (isArray$5(value)) {
2061
+ function isKey(value, object) {
2062
+ if (isArray$1(value)) {
1186
2063
  return false;
1187
2064
  }
1188
2065
  var type = typeof value;
1189
2066
  if (type == 'number' || type == 'symbol' || type == 'boolean' ||
1190
- value == null || isSymbol$2(value)) {
2067
+ value == null || isSymbol(value)) {
1191
2068
  return true;
1192
2069
  }
1193
2070
  return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||
1194
2071
  (object != null && value in Object(object));
1195
2072
  }
1196
2073
 
1197
- var _isKey = isKey$3;
2074
+ /** Error message constants. */
2075
+ var FUNC_ERROR_TEXT = 'Expected a function';
2076
+
2077
+ /**
2078
+ * Creates a function that memoizes the result of `func`. If `resolver` is
2079
+ * provided, it determines the cache key for storing the result based on the
2080
+ * arguments provided to the memoized function. By default, the first argument
2081
+ * provided to the memoized function is used as the map cache key. The `func`
2082
+ * is invoked with the `this` binding of the memoized function.
2083
+ *
2084
+ * **Note:** The cache is exposed as the `cache` property on the memoized
2085
+ * function. Its creation may be customized by replacing the `_.memoize.Cache`
2086
+ * constructor with one whose instances implement the
2087
+ * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)
2088
+ * method interface of `clear`, `delete`, `get`, `has`, and `set`.
2089
+ *
2090
+ * @static
2091
+ * @memberOf _
2092
+ * @since 0.1.0
2093
+ * @category Function
2094
+ * @param {Function} func The function to have its output memoized.
2095
+ * @param {Function} [resolver] The function to resolve the cache key.
2096
+ * @returns {Function} Returns the new memoized function.
2097
+ * @example
2098
+ *
2099
+ * var object = { 'a': 1, 'b': 2 };
2100
+ * var other = { 'c': 3, 'd': 4 };
2101
+ *
2102
+ * var values = _.memoize(_.values);
2103
+ * values(object);
2104
+ * // => [1, 2]
2105
+ *
2106
+ * values(other);
2107
+ * // => [3, 4]
2108
+ *
2109
+ * object.a = 2;
2110
+ * values(object);
2111
+ * // => [1, 2]
2112
+ *
2113
+ * // Modify the result cache.
2114
+ * values.cache.set(object, ['a', 'b']);
2115
+ * values(object);
2116
+ * // => ['a', 'b']
2117
+ *
2118
+ * // Replace `_.memoize.Cache`.
2119
+ * _.memoize.Cache = WeakMap;
2120
+ */
2121
+ function memoize(func, resolver) {
2122
+ if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {
2123
+ throw new TypeError(FUNC_ERROR_TEXT);
2124
+ }
2125
+ var memoized = function() {
2126
+ var args = arguments,
2127
+ key = resolver ? resolver.apply(this, args) : args[0],
2128
+ cache = memoized.cache;
2129
+
2130
+ if (cache.has(key)) {
2131
+ return cache.get(key);
2132
+ }
2133
+ var result = func.apply(this, args);
2134
+ memoized.cache = cache.set(key, result) || cache;
2135
+ return result;
2136
+ };
2137
+ memoized.cache = new (memoize.Cache || MapCache);
2138
+ return memoized;
2139
+ }
2140
+
2141
+ // Expose `MapCache`.
2142
+ memoize.Cache = MapCache;
2143
+
2144
+ /** Used as the maximum memoize cache size. */
2145
+ var MAX_MEMOIZE_SIZE = 500;
2146
+
2147
+ /**
2148
+ * A specialized version of `_.memoize` which clears the memoized function's
2149
+ * cache when it exceeds `MAX_MEMOIZE_SIZE`.
2150
+ *
2151
+ * @private
2152
+ * @param {Function} func The function to have its output memoized.
2153
+ * @returns {Function} Returns the new memoized function.
2154
+ */
2155
+ function memoizeCapped(func) {
2156
+ var result = memoize(func, function(key) {
2157
+ if (cache.size === MAX_MEMOIZE_SIZE) {
2158
+ cache.clear();
2159
+ }
2160
+ return key;
2161
+ });
2162
+
2163
+ var cache = result.cache;
2164
+ return result;
2165
+ }
2166
+
2167
+ /** Used to match property names within property paths. */
2168
+ var rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;
2169
+
2170
+ /** Used to match backslashes in property paths. */
2171
+ var reEscapeChar = /\\(\\)?/g;
2172
+
2173
+ /**
2174
+ * Converts `string` to a property path array.
2175
+ *
2176
+ * @private
2177
+ * @param {string} string The string to convert.
2178
+ * @returns {Array} Returns the property path array.
2179
+ */
2180
+ var stringToPath = memoizeCapped(function(string) {
2181
+ var result = [];
2182
+ if (string.charCodeAt(0) === 46 /* . */) {
2183
+ result.push('');
2184
+ }
2185
+ string.replace(rePropName, function(match, number, quote, subString) {
2186
+ result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));
2187
+ });
2188
+ return result;
2189
+ });
2190
+
2191
+ const stringToPath$1 = stringToPath;
1198
2192
 
1199
2193
  /**
1200
2194
  * A specialized version of `_.map` for arrays without support for iteratee
@@ -1205,8 +2199,7 @@ var _isKey = isKey$3;
1205
2199
  * @param {Function} iteratee The function invoked per iteration.
1206
2200
  * @returns {Array} Returns the new mapped array.
1207
2201
  */
1208
-
1209
- function arrayMap$1(array, iteratee) {
2202
+ function arrayMap(array, iteratee) {
1210
2203
  var index = -1,
1211
2204
  length = array == null ? 0 : array.length,
1212
2205
  result = Array(length);
@@ -1217,13 +2210,6 @@ function arrayMap$1(array, iteratee) {
1217
2210
  return result;
1218
2211
  }
1219
2212
 
1220
- var _arrayMap = arrayMap$1;
1221
-
1222
- var Symbol = _Symbol,
1223
- arrayMap = _arrayMap,
1224
- isArray$4 = isArray_1,
1225
- isSymbol$1 = isSymbol_1;
1226
-
1227
2213
  /** Used as references for various `Number` constants. */
1228
2214
  var INFINITY$2 = 1 / 0;
1229
2215
 
@@ -1239,26 +2225,22 @@ var symbolProto = Symbol ? Symbol.prototype : undefined,
1239
2225
  * @param {*} value The value to process.
1240
2226
  * @returns {string} Returns the string.
1241
2227
  */
1242
- function baseToString$1(value) {
2228
+ function baseToString(value) {
1243
2229
  // Exit early for strings to avoid a performance hit in some environments.
1244
2230
  if (typeof value == 'string') {
1245
2231
  return value;
1246
2232
  }
1247
- if (isArray$4(value)) {
2233
+ if (isArray$1(value)) {
1248
2234
  // Recursively convert values (susceptible to call stack limits).
1249
- return arrayMap(value, baseToString$1) + '';
2235
+ return arrayMap(value, baseToString) + '';
1250
2236
  }
1251
- if (isSymbol$1(value)) {
2237
+ if (isSymbol(value)) {
1252
2238
  return symbolToString ? symbolToString.call(value) : '';
1253
2239
  }
1254
2240
  var result = (value + '');
1255
2241
  return (result == '0' && (1 / value) == -INFINITY$2) ? '-0' : result;
1256
2242
  }
1257
2243
 
1258
- var _baseToString = baseToString$1;
1259
-
1260
- var baseToString = _baseToString;
1261
-
1262
2244
  /**
1263
2245
  * Converts `value` to a string. An empty string is returned for `null`
1264
2246
  * and `undefined` values. The sign of `-0` is preserved.
@@ -1280,17 +2262,10 @@ var baseToString = _baseToString;
1280
2262
  * _.toString([1, 2, 3]);
1281
2263
  * // => '1,2,3'
1282
2264
  */
1283
- function toString$1(value) {
2265
+ function toString(value) {
1284
2266
  return value == null ? '' : baseToString(value);
1285
2267
  }
1286
2268
 
1287
- var toString_1 = toString$1;
1288
-
1289
- var isArray$3 = isArray_1,
1290
- isKey$2 = _isKey,
1291
- stringToPath = _stringToPath,
1292
- toString = toString_1;
1293
-
1294
2269
  /**
1295
2270
  * Casts `value` to a path array if it's not one.
1296
2271
  *
@@ -1299,17 +2274,13 @@ var isArray$3 = isArray_1,
1299
2274
  * @param {Object} [object] The object to query keys on.
1300
2275
  * @returns {Array} Returns the cast property path array.
1301
2276
  */
1302
- function castPath$2(value, object) {
1303
- if (isArray$3(value)) {
2277
+ function castPath(value, object) {
2278
+ if (isArray$1(value)) {
1304
2279
  return value;
1305
2280
  }
1306
- return isKey$2(value, object) ? [value] : stringToPath(toString(value));
2281
+ return isKey(value, object) ? [value] : stringToPath$1(toString(value));
1307
2282
  }
1308
2283
 
1309
- var _castPath = castPath$2;
1310
-
1311
- var isSymbol = isSymbol_1;
1312
-
1313
2284
  /** Used as references for various `Number` constants. */
1314
2285
  var INFINITY$1 = 1 / 0;
1315
2286
 
@@ -1320,7 +2291,7 @@ var INFINITY$1 = 1 / 0;
1320
2291
  * @param {*} value The value to inspect.
1321
2292
  * @returns {string|symbol} Returns the key.
1322
2293
  */
1323
- function toKey$4(value) {
2294
+ function toKey(value) {
1324
2295
  if (typeof value == 'string' || isSymbol(value)) {
1325
2296
  return value;
1326
2297
  }
@@ -1328,11 +2299,6 @@ function toKey$4(value) {
1328
2299
  return (result == '0' && (1 / value) == -INFINITY$1) ? '-0' : result;
1329
2300
  }
1330
2301
 
1331
- var _toKey = toKey$4;
1332
-
1333
- var castPath$1 = _castPath,
1334
- toKey$3 = _toKey;
1335
-
1336
2302
  /**
1337
2303
  * The base implementation of `_.get` without support for default values.
1338
2304
  *
@@ -1341,22 +2307,18 @@ var castPath$1 = _castPath,
1341
2307
  * @param {Array|string} path The path of the property to get.
1342
2308
  * @returns {*} Returns the resolved value.
1343
2309
  */
1344
- function baseGet$2(object, path) {
1345
- path = castPath$1(path, object);
2310
+ function baseGet(object, path) {
2311
+ path = castPath(path, object);
1346
2312
 
1347
2313
  var index = 0,
1348
2314
  length = path.length;
1349
2315
 
1350
2316
  while (object != null && index < length) {
1351
- object = object[toKey$3(path[index++])];
2317
+ object = object[toKey(path[index++])];
1352
2318
  }
1353
2319
  return (index && index == length) ? object : undefined;
1354
2320
  }
1355
2321
 
1356
- var _baseGet = baseGet$2;
1357
-
1358
- var baseGet$1 = _baseGet;
1359
-
1360
2322
  /**
1361
2323
  * Gets the value at `path` of `object`. If the resolved value is
1362
2324
  * `undefined`, the `defaultValue` is returned in its place.
@@ -1382,13 +2344,11 @@ var baseGet$1 = _baseGet;
1382
2344
  * _.get(object, 'a.b.c', 'default');
1383
2345
  * // => 'default'
1384
2346
  */
1385
- function get$1(object, path, defaultValue) {
1386
- var result = object == null ? undefined : baseGet$1(object, path);
2347
+ function get(object, path, defaultValue) {
2348
+ var result = object == null ? undefined : baseGet(object, path);
1387
2349
  return result === undefined ? defaultValue : result;
1388
2350
  }
1389
2351
 
1390
- var get_1 = get$1;
1391
-
1392
2352
  /**
1393
2353
  * The base implementation of `_.hasIn` without support for deep paths.
1394
2354
  *
@@ -1397,20 +2357,10 @@ var get_1 = get$1;
1397
2357
  * @param {Array|string} key The key to check.
1398
2358
  * @returns {boolean} Returns `true` if `key` exists, else `false`.
1399
2359
  */
1400
-
1401
- function baseHasIn$1(object, key) {
2360
+ function baseHasIn(object, key) {
1402
2361
  return object != null && key in Object(object);
1403
2362
  }
1404
2363
 
1405
- var _baseHasIn = baseHasIn$1;
1406
-
1407
- var castPath = _castPath,
1408
- isArguments = isArguments_1,
1409
- isArray$2 = isArray_1,
1410
- isIndex$1 = _isIndex,
1411
- isLength = isLength_1,
1412
- toKey$2 = _toKey;
1413
-
1414
2364
  /**
1415
2365
  * Checks if `path` exists on `object`.
1416
2366
  *
@@ -1420,7 +2370,7 @@ var castPath = _castPath,
1420
2370
  * @param {Function} hasFunc The function to check properties.
1421
2371
  * @returns {boolean} Returns `true` if `path` exists, else `false`.
1422
2372
  */
1423
- function hasPath$1(object, path, hasFunc) {
2373
+ function hasPath(object, path, hasFunc) {
1424
2374
  path = castPath(path, object);
1425
2375
 
1426
2376
  var index = -1,
@@ -1428,7 +2378,7 @@ function hasPath$1(object, path, hasFunc) {
1428
2378
  result = false;
1429
2379
 
1430
2380
  while (++index < length) {
1431
- var key = toKey$2(path[index]);
2381
+ var key = toKey(path[index]);
1432
2382
  if (!(result = object != null && hasFunc(object, key))) {
1433
2383
  break;
1434
2384
  }
@@ -1438,15 +2388,10 @@ function hasPath$1(object, path, hasFunc) {
1438
2388
  return result;
1439
2389
  }
1440
2390
  length = object == null ? 0 : object.length;
1441
- return !!length && isLength(length) && isIndex$1(key, length) &&
1442
- (isArray$2(object) || isArguments(object));
2391
+ return !!length && isLength(length) && isIndex(key, length) &&
2392
+ (isArray$1(object) || isArguments$1(object));
1443
2393
  }
1444
2394
 
1445
- var _hasPath = hasPath$1;
1446
-
1447
- var baseHasIn = _baseHasIn,
1448
- hasPath = _hasPath;
1449
-
1450
2395
  /**
1451
2396
  * Checks if `path` is a direct or inherited property of `object`.
1452
2397
  *
@@ -1473,20 +2418,10 @@ var baseHasIn = _baseHasIn,
1473
2418
  * _.hasIn(object, 'b');
1474
2419
  * // => false
1475
2420
  */
1476
- function hasIn$1(object, path) {
2421
+ function hasIn(object, path) {
1477
2422
  return object != null && hasPath(object, path, baseHasIn);
1478
2423
  }
1479
2424
 
1480
- var hasIn_1 = hasIn$1;
1481
-
1482
- var baseIsEqual = _baseIsEqual,
1483
- get = get_1,
1484
- hasIn = hasIn_1,
1485
- isKey$1 = _isKey,
1486
- isStrictComparable = _isStrictComparable,
1487
- matchesStrictComparable = _matchesStrictComparable,
1488
- toKey$1 = _toKey;
1489
-
1490
2425
  /** Used to compose bitmasks for value comparisons. */
1491
2426
  var COMPARE_PARTIAL_FLAG = 1,
1492
2427
  COMPARE_UNORDERED_FLAG = 2;
@@ -1499,9 +2434,9 @@ var COMPARE_PARTIAL_FLAG = 1,
1499
2434
  * @param {*} srcValue The value to match.
1500
2435
  * @returns {Function} Returns the new spec function.
1501
2436
  */
1502
- function baseMatchesProperty$1(path, srcValue) {
1503
- if (isKey$1(path) && isStrictComparable(srcValue)) {
1504
- return matchesStrictComparable(toKey$1(path), srcValue);
2437
+ function baseMatchesProperty(path, srcValue) {
2438
+ if (isKey(path) && isStrictComparable(srcValue)) {
2439
+ return matchesStrictComparable(toKey(path), srcValue);
1505
2440
  }
1506
2441
  return function(object) {
1507
2442
  var objValue = get(object, path);
@@ -1511,8 +2446,6 @@ function baseMatchesProperty$1(path, srcValue) {
1511
2446
  };
1512
2447
  }
1513
2448
 
1514
- var _baseMatchesProperty = baseMatchesProperty$1;
1515
-
1516
2449
  /**
1517
2450
  * This method returns the first argument it receives.
1518
2451
  *
@@ -1529,13 +2462,10 @@ var _baseMatchesProperty = baseMatchesProperty$1;
1529
2462
  * console.log(_.identity(object) === object);
1530
2463
  * // => true
1531
2464
  */
1532
-
1533
- function identity$1(value) {
2465
+ function identity(value) {
1534
2466
  return value;
1535
2467
  }
1536
2468
 
1537
- var identity_1 = identity$1;
1538
-
1539
2469
  /**
1540
2470
  * The base implementation of `_.property` without support for deep paths.
1541
2471
  *
@@ -1543,17 +2473,12 @@ var identity_1 = identity$1;
1543
2473
  * @param {string} key The key of the property to get.
1544
2474
  * @returns {Function} Returns the new accessor function.
1545
2475
  */
1546
-
1547
- function baseProperty$1(key) {
2476
+ function baseProperty(key) {
1548
2477
  return function(object) {
1549
2478
  return object == null ? undefined : object[key];
1550
2479
  };
1551
2480
  }
1552
2481
 
1553
- var _baseProperty = baseProperty$1;
1554
-
1555
- var baseGet = _baseGet;
1556
-
1557
2482
  /**
1558
2483
  * A specialized version of `baseProperty` which supports deep paths.
1559
2484
  *
@@ -1561,19 +2486,12 @@ var baseGet = _baseGet;
1561
2486
  * @param {Array|string} path The path of the property to get.
1562
2487
  * @returns {Function} Returns the new accessor function.
1563
2488
  */
1564
- function basePropertyDeep$1(path) {
2489
+ function basePropertyDeep(path) {
1565
2490
  return function(object) {
1566
2491
  return baseGet(object, path);
1567
2492
  };
1568
2493
  }
1569
2494
 
1570
- var _basePropertyDeep = basePropertyDeep$1;
1571
-
1572
- var baseProperty = _baseProperty,
1573
- basePropertyDeep = _basePropertyDeep,
1574
- isKey = _isKey,
1575
- toKey = _toKey;
1576
-
1577
2495
  /**
1578
2496
  * Creates a function that returns the value at `path` of a given object.
1579
2497
  *
@@ -1596,18 +2514,10 @@ var baseProperty = _baseProperty,
1596
2514
  * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');
1597
2515
  * // => [1, 2]
1598
2516
  */
1599
- function property$1(path) {
2517
+ function property(path) {
1600
2518
  return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);
1601
2519
  }
1602
2520
 
1603
- var property_1 = property$1;
1604
-
1605
- var baseMatches = _baseMatches,
1606
- baseMatchesProperty = _baseMatchesProperty,
1607
- identity = identity_1,
1608
- isArray$1 = isArray_1,
1609
- property = property_1;
1610
-
1611
2521
  /**
1612
2522
  * The base implementation of `_.iteratee`.
1613
2523
  *
@@ -1615,7 +2525,7 @@ var baseMatches = _baseMatches,
1615
2525
  * @param {*} [value=_.identity] The value to convert to an iteratee.
1616
2526
  * @returns {Function} Returns the iteratee.
1617
2527
  */
1618
- function baseIteratee$2(value) {
2528
+ function baseIteratee(value) {
1619
2529
  // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.
1620
2530
  // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.
1621
2531
  if (typeof value == 'function') {
@@ -1632,10 +2542,6 @@ function baseIteratee$2(value) {
1632
2542
  return property(value);
1633
2543
  }
1634
2544
 
1635
- var _baseIteratee = baseIteratee$2;
1636
-
1637
- var toNumber = toNumber_1;
1638
-
1639
2545
  /** Used as references for various `Number` constants. */
1640
2546
  var INFINITY = 1 / 0,
1641
2547
  MAX_INTEGER = 1.7976931348623157e+308;
@@ -1663,7 +2569,7 @@ var INFINITY = 1 / 0,
1663
2569
  * _.toFinite('3.2');
1664
2570
  * // => 3.2
1665
2571
  */
1666
- function toFinite$2(value) {
2572
+ function toFinite(value) {
1667
2573
  if (!value) {
1668
2574
  return value === 0 ? value : 0;
1669
2575
  }
@@ -1675,10 +2581,6 @@ function toFinite$2(value) {
1675
2581
  return value === value ? value : 0;
1676
2582
  }
1677
2583
 
1678
- var toFinite_1 = toFinite$2;
1679
-
1680
- var toFinite$1 = toFinite_1;
1681
-
1682
2584
  /**
1683
2585
  * Converts `value` to an integer.
1684
2586
  *
@@ -1705,19 +2607,13 @@ var toFinite$1 = toFinite_1;
1705
2607
  * _.toInteger('3.2');
1706
2608
  * // => 3
1707
2609
  */
1708
- function toInteger$1(value) {
1709
- var result = toFinite$1(value),
2610
+ function toInteger(value) {
2611
+ var result = toFinite(value),
1710
2612
  remainder = result % 1;
1711
2613
 
1712
2614
  return result === result ? (remainder ? result - remainder : result) : 0;
1713
2615
  }
1714
2616
 
1715
- var toInteger_1 = toInteger$1;
1716
-
1717
- var baseFindIndex = _baseFindIndex,
1718
- baseIteratee$1 = _baseIteratee,
1719
- toInteger = toInteger_1;
1720
-
1721
2617
  /* Built-in method references for those with the same name as other `lodash` methods. */
1722
2618
  var nativeMax$1 = Math.max;
1723
2619
 
@@ -1765,13 +2661,10 @@ function findIndex(array, predicate, fromIndex) {
1765
2661
  if (index < 0) {
1766
2662
  index = nativeMax$1(length + index, 0);
1767
2663
  }
1768
- return baseFindIndex(array, baseIteratee$1(predicate), index);
2664
+ return baseFindIndex(array, baseIteratee(predicate), index);
1769
2665
  }
1770
2666
 
1771
- var findIndex_1 = findIndex;
1772
-
1773
2667
  /* Built-in method references for those with the same name as other `lodash` methods. */
1774
-
1775
2668
  var nativeCeil = Math.ceil,
1776
2669
  nativeMax = Math.max;
1777
2670
 
@@ -1786,7 +2679,7 @@ var nativeCeil = Math.ceil,
1786
2679
  * @param {boolean} [fromRight] Specify iterating from right to left.
1787
2680
  * @returns {Array} Returns the range of numbers.
1788
2681
  */
1789
- function baseRange$1(start, end, step, fromRight) {
2682
+ function baseRange(start, end, step, fromRight) {
1790
2683
  var index = -1,
1791
2684
  length = nativeMax(nativeCeil((end - start) / (step || 1)), 0),
1792
2685
  result = Array(length);
@@ -1798,13 +2691,6 @@ function baseRange$1(start, end, step, fromRight) {
1798
2691
  return result;
1799
2692
  }
1800
2693
 
1801
- var _baseRange = baseRange$1;
1802
-
1803
- var eq = eq_1,
1804
- isArrayLike$1 = isArrayLike_1,
1805
- isIndex = _isIndex,
1806
- isObject = isObject_1;
1807
-
1808
2694
  /**
1809
2695
  * Checks if the given arguments are from an iteratee call.
1810
2696
  *
@@ -1815,13 +2701,13 @@ var eq = eq_1,
1815
2701
  * @returns {boolean} Returns `true` if the arguments are from an iteratee call,
1816
2702
  * else `false`.
1817
2703
  */
1818
- function isIterateeCall$1(value, index, object) {
2704
+ function isIterateeCall(value, index, object) {
1819
2705
  if (!isObject(object)) {
1820
2706
  return false;
1821
2707
  }
1822
2708
  var type = typeof index;
1823
2709
  if (type == 'number'
1824
- ? (isArrayLike$1(object) && isIndex(index, object.length))
2710
+ ? (isArrayLike(object) && isIndex(index, object.length))
1825
2711
  : (type == 'string' && index in object)
1826
2712
  ) {
1827
2713
  return eq(object[index], value);
@@ -1829,12 +2715,6 @@ function isIterateeCall$1(value, index, object) {
1829
2715
  return false;
1830
2716
  }
1831
2717
 
1832
- var _isIterateeCall = isIterateeCall$1;
1833
-
1834
- var baseRange = _baseRange,
1835
- isIterateeCall = _isIterateeCall,
1836
- toFinite = toFinite_1;
1837
-
1838
2718
  /**
1839
2719
  * Creates a `_.range` or `_.rangeRight` function.
1840
2720
  *
@@ -1842,7 +2722,7 @@ var baseRange = _baseRange,
1842
2722
  * @param {boolean} [fromRight] Specify iterating from right to left.
1843
2723
  * @returns {Function} Returns the new range function.
1844
2724
  */
1845
- function createRange$1(fromRight) {
2725
+ function createRange(fromRight) {
1846
2726
  return function(start, end, step) {
1847
2727
  if (step && typeof step != 'number' && isIterateeCall(start, end, step)) {
1848
2728
  end = step = undefined;
@@ -1860,10 +2740,6 @@ function createRange$1(fromRight) {
1860
2740
  };
1861
2741
  }
1862
2742
 
1863
- var _createRange = createRange$1;
1864
-
1865
- var createRange = _createRange;
1866
-
1867
2743
  /**
1868
2744
  * Creates an array of numbers (positive and/or negative) progressing from
1869
2745
  * `start` up to, but not including, `end`. A step of `-1` is used if a negative
@@ -1907,7 +2783,7 @@ var createRange = _createRange;
1907
2783
  */
1908
2784
  var range = createRange();
1909
2785
 
1910
- var range_1 = range;
2786
+ const range$1 = range;
1911
2787
 
1912
2788
  const appendToMap = (map, propName, value) => {
1913
2789
  const items = map.get(propName);
@@ -2170,7 +3046,7 @@ class DataStore {
2170
3046
  }
2171
3047
  // clear items
2172
3048
  this.store.set('items', []);
2173
- const items = range_1(0, (source === null || source === void 0 ? void 0 : source.length) || 0);
3049
+ const items = range$1(0, (source === null || source === void 0 ? void 0 : source.length) || 0);
2174
3050
  // set proxy first
2175
3051
  setStore(this.store, {
2176
3052
  source,
@@ -2267,7 +3143,7 @@ function setItems(store, items) {
2267
3143
  function getSourceItemVirtualIndexByProp(store, prop) {
2268
3144
  const items = store.get('items');
2269
3145
  const source = store.get('source');
2270
- const physicalIndex = findIndex_1(source, { prop });
3146
+ const physicalIndex = findIndex(source, { prop });
2271
3147
  return items.indexOf(physicalIndex);
2272
3148
  }
2273
3149
 
@@ -2283,8 +3159,7 @@ function getSourceItemVirtualIndexByProp(store, prop) {
2283
3159
  * the initial value.
2284
3160
  * @returns {*} Returns the accumulated value.
2285
3161
  */
2286
-
2287
- function arrayReduce$1(array, iteratee, accumulator, initAccum) {
3162
+ function arrayReduce(array, iteratee, accumulator, initAccum) {
2288
3163
  var index = -1,
2289
3164
  length = array == null ? 0 : array.length;
2290
3165
 
@@ -2297,8 +3172,6 @@ function arrayReduce$1(array, iteratee, accumulator, initAccum) {
2297
3172
  return accumulator;
2298
3173
  }
2299
3174
 
2300
- var _arrayReduce = arrayReduce$1;
2301
-
2302
3175
  /**
2303
3176
  * Creates a base function for methods like `_.forIn` and `_.forOwn`.
2304
3177
  *
@@ -2306,8 +3179,7 @@ var _arrayReduce = arrayReduce$1;
2306
3179
  * @param {boolean} [fromRight] Specify iterating from right to left.
2307
3180
  * @returns {Function} Returns the new base function.
2308
3181
  */
2309
-
2310
- function createBaseFor$1(fromRight) {
3182
+ function createBaseFor(fromRight) {
2311
3183
  return function(object, iteratee, keysFunc) {
2312
3184
  var index = -1,
2313
3185
  iterable = Object(object),
@@ -2324,10 +3196,6 @@ function createBaseFor$1(fromRight) {
2324
3196
  };
2325
3197
  }
2326
3198
 
2327
- var _createBaseFor = createBaseFor$1;
2328
-
2329
- var createBaseFor = _createBaseFor;
2330
-
2331
3199
  /**
2332
3200
  * The base implementation of `baseForOwn` which iterates over `object`
2333
3201
  * properties returned by `keysFunc` and invokes `iteratee` for each property.
@@ -2339,12 +3207,9 @@ var createBaseFor = _createBaseFor;
2339
3207
  * @param {Function} keysFunc The function to get the keys of `object`.
2340
3208
  * @returns {Object} Returns `object`.
2341
3209
  */
2342
- var baseFor$1 = createBaseFor();
2343
-
2344
- var _baseFor = baseFor$1;
3210
+ var baseFor = createBaseFor();
2345
3211
 
2346
- var baseFor = _baseFor,
2347
- keys = keys_1;
3212
+ const baseFor$1 = baseFor;
2348
3213
 
2349
3214
  /**
2350
3215
  * The base implementation of `_.forOwn` without support for iteratee shorthands.
@@ -2354,14 +3219,10 @@ var baseFor = _baseFor,
2354
3219
  * @param {Function} iteratee The function invoked per iteration.
2355
3220
  * @returns {Object} Returns `object`.
2356
3221
  */
2357
- function baseForOwn$1(object, iteratee) {
2358
- return object && baseFor(object, iteratee, keys);
3222
+ function baseForOwn(object, iteratee) {
3223
+ return object && baseFor$1(object, iteratee, keys);
2359
3224
  }
2360
3225
 
2361
- var _baseForOwn = baseForOwn$1;
2362
-
2363
- var isArrayLike = isArrayLike_1;
2364
-
2365
3226
  /**
2366
3227
  * Creates a `baseEach` or `baseEachRight` function.
2367
3228
  *
@@ -2370,7 +3231,7 @@ var isArrayLike = isArrayLike_1;
2370
3231
  * @param {boolean} [fromRight] Specify iterating from right to left.
2371
3232
  * @returns {Function} Returns the new base function.
2372
3233
  */
2373
- function createBaseEach$1(eachFunc, fromRight) {
3234
+ function createBaseEach(eachFunc, fromRight) {
2374
3235
  return function(collection, iteratee) {
2375
3236
  if (collection == null) {
2376
3237
  return collection;
@@ -2391,11 +3252,6 @@ function createBaseEach$1(eachFunc, fromRight) {
2391
3252
  };
2392
3253
  }
2393
3254
 
2394
- var _createBaseEach = createBaseEach$1;
2395
-
2396
- var baseForOwn = _baseForOwn,
2397
- createBaseEach = _createBaseEach;
2398
-
2399
3255
  /**
2400
3256
  * The base implementation of `_.forEach` without support for iteratee shorthands.
2401
3257
  *
@@ -2404,9 +3260,9 @@ var baseForOwn = _baseForOwn,
2404
3260
  * @param {Function} iteratee The function invoked per iteration.
2405
3261
  * @returns {Array|Object} Returns `collection`.
2406
3262
  */
2407
- var baseEach$1 = createBaseEach(baseForOwn);
3263
+ var baseEach = createBaseEach(baseForOwn);
2408
3264
 
2409
- var _baseEach = baseEach$1;
3265
+ const baseEach$1 = baseEach;
2410
3266
 
2411
3267
  /**
2412
3268
  * The base implementation of `_.reduce` and `_.reduceRight`, without support
@@ -2421,8 +3277,7 @@ var _baseEach = baseEach$1;
2421
3277
  * @param {Function} eachFunc The function to iterate over `collection`.
2422
3278
  * @returns {*} Returns the accumulated value.
2423
3279
  */
2424
-
2425
- function baseReduce$1(collection, iteratee, accumulator, initAccum, eachFunc) {
3280
+ function baseReduce(collection, iteratee, accumulator, initAccum, eachFunc) {
2426
3281
  eachFunc(collection, function(value, index, collection) {
2427
3282
  accumulator = initAccum
2428
3283
  ? (initAccum = false, value)
@@ -2431,14 +3286,6 @@ function baseReduce$1(collection, iteratee, accumulator, initAccum, eachFunc) {
2431
3286
  return accumulator;
2432
3287
  }
2433
3288
 
2434
- var _baseReduce = baseReduce$1;
2435
-
2436
- var arrayReduce = _arrayReduce,
2437
- baseEach = _baseEach,
2438
- baseIteratee = _baseIteratee,
2439
- baseReduce = _baseReduce,
2440
- isArray = isArray_1;
2441
-
2442
3289
  /**
2443
3290
  * Reduces `collection` to a value which is the accumulated result of running
2444
3291
  * each element in `collection` thru `iteratee`, where each successive
@@ -2477,14 +3324,12 @@ var arrayReduce = _arrayReduce,
2477
3324
  * // => { '1': ['a', 'c'], '2': ['b'] } (iteration order is not guaranteed)
2478
3325
  */
2479
3326
  function reduce(collection, iteratee, accumulator) {
2480
- var func = isArray(collection) ? arrayReduce : baseReduce,
3327
+ var func = isArray$1(collection) ? arrayReduce : baseReduce,
2481
3328
  initAccum = arguments.length < 3;
2482
3329
 
2483
- return func(collection, baseIteratee(iteratee), accumulator, initAccum, baseEach);
3330
+ return func(collection, baseIteratee(iteratee), accumulator, initAccum, baseEach$1);
2484
3331
  }
2485
3332
 
2486
- var reduce_1 = reduce;
2487
-
2488
- export { DataStore as D, _isIterateeCall as _, getVisibleSourceItem as a, getSourceItem as b, setSourceByPhysicalIndex as c, setItems as d, getSourceItemVirtualIndexByProp as e, gatherTrimmedItems as f, getPhysical as g, setStore as h, createStore as i, toInteger_1 as j, isArray_1 as k, _baseProperty as l, _baseKeys as m, isArrayLike_1 as n, range_1 as o, proxyPlugin as p, findIndex_1 as q, reduce_1 as r, setSourceByVirtualIndex as s, trimmedPlugin as t, _baseEach as u, _baseIteratee as v, identity_1 as w };
3333
+ export { DataStore as D, getVisibleSourceItem as a, getSourceItem as b, setSourceByPhysicalIndex as c, setItems as d, getSourceItemVirtualIndexByProp as e, gatherTrimmedItems as f, getPhysical as g, setStore as h, createStore as i, toInteger as j, isIterateeCall as k, isArray$1 as l, baseProperty as m, isArrayLike as n, getTag$1 as o, proxyPlugin as p, baseKeys as q, reduce as r, setSourceByVirtualIndex as s, trimmedPlugin as t, range$1 as u, findIndex as v, getNative as w, baseEach$1 as x, baseIteratee as y, identity as z };
2489
3334
 
2490
3335
  //# sourceMappingURL=reduce.js.map