sendelp 0.1.91

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of sendelp might be problematic. Click here for more details.

Files changed (1991) hide show
  1. package/package.json +1 -0
  2. package/public/index.html +1 -0
  3. package/public/main.js +2 -0
  4. package/server/node_modules/.package-lock.json +813 -0
  5. package/server/node_modules/@dabh/diagnostics/CHANGELOG.md +26 -0
  6. package/server/node_modules/@dabh/diagnostics/LICENSE +20 -0
  7. package/server/node_modules/@dabh/diagnostics/README.md +473 -0
  8. package/server/node_modules/@dabh/diagnostics/adapters/hash.js +11 -0
  9. package/server/node_modules/@dabh/diagnostics/adapters/index.js +18 -0
  10. package/server/node_modules/@dabh/diagnostics/adapters/localstorage.js +11 -0
  11. package/server/node_modules/@dabh/diagnostics/adapters/process.env.js +11 -0
  12. package/server/node_modules/@dabh/diagnostics/browser/development.js +35 -0
  13. package/server/node_modules/@dabh/diagnostics/browser/index.js +8 -0
  14. package/server/node_modules/@dabh/diagnostics/browser/override.js +6 -0
  15. package/server/node_modules/@dabh/diagnostics/browser/production.js +24 -0
  16. package/server/node_modules/@dabh/diagnostics/diagnostics.js +212 -0
  17. package/server/node_modules/@dabh/diagnostics/example.png +0 -0
  18. package/server/node_modules/@dabh/diagnostics/logger/console.js +19 -0
  19. package/server/node_modules/@dabh/diagnostics/modifiers/namespace-ansi.js +20 -0
  20. package/server/node_modules/@dabh/diagnostics/modifiers/namespace.js +32 -0
  21. package/server/node_modules/@dabh/diagnostics/node/development.js +36 -0
  22. package/server/node_modules/@dabh/diagnostics/node/index.js +8 -0
  23. package/server/node_modules/@dabh/diagnostics/node/override.js +21 -0
  24. package/server/node_modules/@dabh/diagnostics/node/production.js +24 -0
  25. package/server/node_modules/@dabh/diagnostics/package.json +64 -0
  26. package/server/node_modules/accepts/HISTORY.md +236 -0
  27. package/server/node_modules/accepts/LICENSE +23 -0
  28. package/server/node_modules/accepts/README.md +142 -0
  29. package/server/node_modules/accepts/index.js +238 -0
  30. package/server/node_modules/accepts/package.json +47 -0
  31. package/server/node_modules/array-flatten/LICENSE +21 -0
  32. package/server/node_modules/array-flatten/README.md +43 -0
  33. package/server/node_modules/array-flatten/array-flatten.js +64 -0
  34. package/server/node_modules/array-flatten/package.json +39 -0
  35. package/server/node_modules/async/CHANGELOG.md +341 -0
  36. package/server/node_modules/async/LICENSE +19 -0
  37. package/server/node_modules/async/README.md +60 -0
  38. package/server/node_modules/async/all.js +119 -0
  39. package/server/node_modules/async/allLimit.js +46 -0
  40. package/server/node_modules/async/allSeries.js +45 -0
  41. package/server/node_modules/async/any.js +122 -0
  42. package/server/node_modules/async/anyLimit.js +47 -0
  43. package/server/node_modules/async/anySeries.js +46 -0
  44. package/server/node_modules/async/apply.js +55 -0
  45. package/server/node_modules/async/applyEach.js +57 -0
  46. package/server/node_modules/async/applyEachSeries.js +37 -0
  47. package/server/node_modules/async/asyncify.js +118 -0
  48. package/server/node_modules/async/auto.js +333 -0
  49. package/server/node_modules/async/autoInject.js +156 -0
  50. package/server/node_modules/async/bower.json +17 -0
  51. package/server/node_modules/async/cargo.js +63 -0
  52. package/server/node_modules/async/cargoQueue.js +71 -0
  53. package/server/node_modules/async/compose.js +55 -0
  54. package/server/node_modules/async/concat.js +115 -0
  55. package/server/node_modules/async/concatLimit.js +60 -0
  56. package/server/node_modules/async/concatSeries.js +41 -0
  57. package/server/node_modules/async/constant.js +55 -0
  58. package/server/node_modules/async/detect.js +96 -0
  59. package/server/node_modules/async/detectLimit.js +48 -0
  60. package/server/node_modules/async/detectSeries.js +47 -0
  61. package/server/node_modules/async/dir.js +43 -0
  62. package/server/node_modules/async/dist/async.js +6029 -0
  63. package/server/node_modules/async/dist/async.min.js +1 -0
  64. package/server/node_modules/async/dist/async.mjs +5917 -0
  65. package/server/node_modules/async/doDuring.js +68 -0
  66. package/server/node_modules/async/doUntil.js +46 -0
  67. package/server/node_modules/async/doWhilst.js +68 -0
  68. package/server/node_modules/async/during.js +78 -0
  69. package/server/node_modules/async/each.js +129 -0
  70. package/server/node_modules/async/eachLimit.js +50 -0
  71. package/server/node_modules/async/eachOf.js +185 -0
  72. package/server/node_modules/async/eachOfLimit.js +47 -0
  73. package/server/node_modules/async/eachOfSeries.js +39 -0
  74. package/server/node_modules/async/eachSeries.js +44 -0
  75. package/server/node_modules/async/ensureAsync.js +67 -0
  76. package/server/node_modules/async/every.js +119 -0
  77. package/server/node_modules/async/everyLimit.js +46 -0
  78. package/server/node_modules/async/everySeries.js +45 -0
  79. package/server/node_modules/async/filter.js +93 -0
  80. package/server/node_modules/async/filterLimit.js +45 -0
  81. package/server/node_modules/async/filterSeries.js +43 -0
  82. package/server/node_modules/async/find.js +96 -0
  83. package/server/node_modules/async/findLimit.js +48 -0
  84. package/server/node_modules/async/findSeries.js +47 -0
  85. package/server/node_modules/async/flatMap.js +115 -0
  86. package/server/node_modules/async/flatMapLimit.js +60 -0
  87. package/server/node_modules/async/flatMapSeries.js +41 -0
  88. package/server/node_modules/async/foldl.js +153 -0
  89. package/server/node_modules/async/foldr.js +41 -0
  90. package/server/node_modules/async/forEach.js +129 -0
  91. package/server/node_modules/async/forEachLimit.js +50 -0
  92. package/server/node_modules/async/forEachOf.js +185 -0
  93. package/server/node_modules/async/forEachOfLimit.js +47 -0
  94. package/server/node_modules/async/forEachOfSeries.js +39 -0
  95. package/server/node_modules/async/forEachSeries.js +44 -0
  96. package/server/node_modules/async/forever.js +68 -0
  97. package/server/node_modules/async/groupBy.js +108 -0
  98. package/server/node_modules/async/groupByLimit.js +71 -0
  99. package/server/node_modules/async/groupBySeries.js +36 -0
  100. package/server/node_modules/async/index.js +588 -0
  101. package/server/node_modules/async/inject.js +153 -0
  102. package/server/node_modules/async/internal/DoublyLinkedList.js +92 -0
  103. package/server/node_modules/async/internal/Heap.js +120 -0
  104. package/server/node_modules/async/internal/applyEach.js +29 -0
  105. package/server/node_modules/async/internal/asyncEachOfLimit.js +75 -0
  106. package/server/node_modules/async/internal/awaitify.js +27 -0
  107. package/server/node_modules/async/internal/breakLoop.js +10 -0
  108. package/server/node_modules/async/internal/consoleFunc.js +31 -0
  109. package/server/node_modules/async/internal/createTester.js +40 -0
  110. package/server/node_modules/async/internal/eachOfLimit.js +90 -0
  111. package/server/node_modules/async/internal/filter.js +55 -0
  112. package/server/node_modules/async/internal/getIterator.js +11 -0
  113. package/server/node_modules/async/internal/initialParams.js +14 -0
  114. package/server/node_modules/async/internal/isArrayLike.js +10 -0
  115. package/server/node_modules/async/internal/iterator.js +57 -0
  116. package/server/node_modules/async/internal/map.js +30 -0
  117. package/server/node_modules/async/internal/once.js +17 -0
  118. package/server/node_modules/async/internal/onlyOnce.js +15 -0
  119. package/server/node_modules/async/internal/parallel.js +34 -0
  120. package/server/node_modules/async/internal/promiseCallback.js +23 -0
  121. package/server/node_modules/async/internal/queue.js +291 -0
  122. package/server/node_modules/async/internal/range.js +14 -0
  123. package/server/node_modules/async/internal/reject.js +26 -0
  124. package/server/node_modules/async/internal/setImmediate.js +33 -0
  125. package/server/node_modules/async/internal/withoutIndex.js +10 -0
  126. package/server/node_modules/async/internal/wrapAsync.js +34 -0
  127. package/server/node_modules/async/log.js +41 -0
  128. package/server/node_modules/async/map.js +142 -0
  129. package/server/node_modules/async/mapLimit.js +45 -0
  130. package/server/node_modules/async/mapSeries.js +44 -0
  131. package/server/node_modules/async/mapValues.js +152 -0
  132. package/server/node_modules/async/mapValuesLimit.js +61 -0
  133. package/server/node_modules/async/mapValuesSeries.js +37 -0
  134. package/server/node_modules/async/memoize.js +91 -0
  135. package/server/node_modules/async/nextTick.js +52 -0
  136. package/server/node_modules/async/package.json +82 -0
  137. package/server/node_modules/async/parallel.js +180 -0
  138. package/server/node_modules/async/parallelLimit.js +41 -0
  139. package/server/node_modules/async/priorityQueue.js +91 -0
  140. package/server/node_modules/async/queue.js +167 -0
  141. package/server/node_modules/async/race.js +67 -0
  142. package/server/node_modules/async/reduce.js +153 -0
  143. package/server/node_modules/async/reduceRight.js +41 -0
  144. package/server/node_modules/async/reflect.js +78 -0
  145. package/server/node_modules/async/reflectAll.js +93 -0
  146. package/server/node_modules/async/reject.js +87 -0
  147. package/server/node_modules/async/rejectLimit.js +45 -0
  148. package/server/node_modules/async/rejectSeries.js +43 -0
  149. package/server/node_modules/async/retry.js +159 -0
  150. package/server/node_modules/async/retryable.js +77 -0
  151. package/server/node_modules/async/select.js +93 -0
  152. package/server/node_modules/async/selectLimit.js +45 -0
  153. package/server/node_modules/async/selectSeries.js +43 -0
  154. package/server/node_modules/async/seq.js +79 -0
  155. package/server/node_modules/async/series.js +186 -0
  156. package/server/node_modules/async/setImmediate.js +45 -0
  157. package/server/node_modules/async/some.js +122 -0
  158. package/server/node_modules/async/someLimit.js +47 -0
  159. package/server/node_modules/async/someSeries.js +46 -0
  160. package/server/node_modules/async/sortBy.js +190 -0
  161. package/server/node_modules/async/timeout.js +89 -0
  162. package/server/node_modules/async/times.js +50 -0
  163. package/server/node_modules/async/timesLimit.js +43 -0
  164. package/server/node_modules/async/timesSeries.js +32 -0
  165. package/server/node_modules/async/transform.js +173 -0
  166. package/server/node_modules/async/tryEach.js +78 -0
  167. package/server/node_modules/async/unmemoize.js +25 -0
  168. package/server/node_modules/async/until.js +61 -0
  169. package/server/node_modules/async/waterfall.js +105 -0
  170. package/server/node_modules/async/whilst.js +78 -0
  171. package/server/node_modules/async/wrapSync.js +118 -0
  172. package/server/node_modules/body-parser/HISTORY.md +609 -0
  173. package/server/node_modules/body-parser/LICENSE +23 -0
  174. package/server/node_modules/body-parser/README.md +443 -0
  175. package/server/node_modules/body-parser/index.js +157 -0
  176. package/server/node_modules/body-parser/lib/read.js +181 -0
  177. package/server/node_modules/body-parser/lib/types/json.js +230 -0
  178. package/server/node_modules/body-parser/lib/types/raw.js +101 -0
  179. package/server/node_modules/body-parser/lib/types/text.js +121 -0
  180. package/server/node_modules/body-parser/lib/types/urlencoded.js +284 -0
  181. package/server/node_modules/body-parser/package.json +52 -0
  182. package/server/node_modules/bytes/History.md +87 -0
  183. package/server/node_modules/bytes/LICENSE +23 -0
  184. package/server/node_modules/bytes/Readme.md +126 -0
  185. package/server/node_modules/bytes/index.js +162 -0
  186. package/server/node_modules/bytes/package.json +41 -0
  187. package/server/node_modules/cli-table/LICENSE +21 -0
  188. package/server/node_modules/cli-table/README.md +192 -0
  189. package/server/node_modules/cli-table/lib/index.js +304 -0
  190. package/server/node_modules/cli-table/lib/utils.js +88 -0
  191. package/server/node_modules/cli-table/node_modules/ansi-regex/index.d.ts +37 -0
  192. package/server/node_modules/cli-table/node_modules/ansi-regex/index.js +10 -0
  193. package/server/node_modules/cli-table/node_modules/ansi-regex/license +9 -0
  194. package/server/node_modules/cli-table/node_modules/ansi-regex/package.json +55 -0
  195. package/server/node_modules/cli-table/node_modules/ansi-regex/readme.md +78 -0
  196. package/server/node_modules/cli-table/node_modules/strip-ansi/index.d.ts +17 -0
  197. package/server/node_modules/cli-table/node_modules/strip-ansi/index.js +4 -0
  198. package/server/node_modules/cli-table/node_modules/strip-ansi/license +9 -0
  199. package/server/node_modules/cli-table/node_modules/strip-ansi/package.json +54 -0
  200. package/server/node_modules/cli-table/node_modules/strip-ansi/readme.md +46 -0
  201. package/server/node_modules/cli-table/package.json +39 -0
  202. package/server/node_modules/color/LICENSE +21 -0
  203. package/server/node_modules/color/README.md +123 -0
  204. package/server/node_modules/color/index.js +482 -0
  205. package/server/node_modules/color/node_modules/color-convert/CHANGELOG.md +54 -0
  206. package/server/node_modules/color/node_modules/color-convert/LICENSE +21 -0
  207. package/server/node_modules/color/node_modules/color-convert/README.md +68 -0
  208. package/server/node_modules/color/node_modules/color-convert/conversions.js +868 -0
  209. package/server/node_modules/color/node_modules/color-convert/index.js +78 -0
  210. package/server/node_modules/color/node_modules/color-convert/package.json +46 -0
  211. package/server/node_modules/color/node_modules/color-convert/route.js +97 -0
  212. package/server/node_modules/color/node_modules/color-name/.eslintrc.json +43 -0
  213. package/server/node_modules/color/node_modules/color-name/LICENSE +8 -0
  214. package/server/node_modules/color/node_modules/color-name/README.md +11 -0
  215. package/server/node_modules/color/node_modules/color-name/index.js +152 -0
  216. package/server/node_modules/color/node_modules/color-name/package.json +25 -0
  217. package/server/node_modules/color/node_modules/color-name/test.js +7 -0
  218. package/server/node_modules/color/package.json +40 -0
  219. package/server/node_modules/color-name/LICENSE +8 -0
  220. package/server/node_modules/color-name/README.md +11 -0
  221. package/server/node_modules/color-name/index.js +152 -0
  222. package/server/node_modules/color-name/package.json +28 -0
  223. package/server/node_modules/color-string/LICENSE +21 -0
  224. package/server/node_modules/color-string/README.md +62 -0
  225. package/server/node_modules/color-string/index.js +242 -0
  226. package/server/node_modules/color-string/package.json +39 -0
  227. package/server/node_modules/colors/.travis.yml +6 -0
  228. package/server/node_modules/colors/MIT-LICENSE.txt +23 -0
  229. package/server/node_modules/colors/ReadMe.md +167 -0
  230. package/server/node_modules/colors/examples/normal-usage.js +74 -0
  231. package/server/node_modules/colors/examples/safe-string.js +76 -0
  232. package/server/node_modules/colors/lib/colors.js +176 -0
  233. package/server/node_modules/colors/lib/custom/trap.js +45 -0
  234. package/server/node_modules/colors/lib/custom/zalgo.js +104 -0
  235. package/server/node_modules/colors/lib/extendStringPrototype.js +118 -0
  236. package/server/node_modules/colors/lib/index.js +12 -0
  237. package/server/node_modules/colors/lib/maps/america.js +12 -0
  238. package/server/node_modules/colors/lib/maps/rainbow.js +13 -0
  239. package/server/node_modules/colors/lib/maps/random.js +8 -0
  240. package/server/node_modules/colors/lib/maps/zebra.js +5 -0
  241. package/server/node_modules/colors/lib/styles.js +77 -0
  242. package/server/node_modules/colors/lib/system/supports-colors.js +61 -0
  243. package/server/node_modules/colors/package.json +21 -0
  244. package/server/node_modules/colors/safe.js +9 -0
  245. package/server/node_modules/colors/screenshots/colors.png +0 -0
  246. package/server/node_modules/colors/tests/basic-test.js +50 -0
  247. package/server/node_modules/colors/tests/safe-test.js +45 -0
  248. package/server/node_modules/colors/themes/generic-logging.js +12 -0
  249. package/server/node_modules/colorspace/LICENSE.md +20 -0
  250. package/server/node_modules/colorspace/README.md +43 -0
  251. package/server/node_modules/colorspace/index.js +29 -0
  252. package/server/node_modules/colorspace/package.json +37 -0
  253. package/server/node_modules/content-disposition/HISTORY.md +55 -0
  254. package/server/node_modules/content-disposition/LICENSE +22 -0
  255. package/server/node_modules/content-disposition/README.md +148 -0
  256. package/server/node_modules/content-disposition/index.js +458 -0
  257. package/server/node_modules/content-disposition/package.json +44 -0
  258. package/server/node_modules/content-type/HISTORY.md +24 -0
  259. package/server/node_modules/content-type/LICENSE +22 -0
  260. package/server/node_modules/content-type/README.md +92 -0
  261. package/server/node_modules/content-type/index.js +222 -0
  262. package/server/node_modules/content-type/package.json +40 -0
  263. package/server/node_modules/cookie/HISTORY.md +123 -0
  264. package/server/node_modules/cookie/LICENSE +24 -0
  265. package/server/node_modules/cookie/README.md +253 -0
  266. package/server/node_modules/cookie/index.js +198 -0
  267. package/server/node_modules/cookie/package.json +40 -0
  268. package/server/node_modules/cookie-signature/History.md +38 -0
  269. package/server/node_modules/cookie-signature/Readme.md +42 -0
  270. package/server/node_modules/cookie-signature/index.js +51 -0
  271. package/server/node_modules/cookie-signature/package.json +18 -0
  272. package/server/node_modules/core-util-is/LICENSE +19 -0
  273. package/server/node_modules/core-util-is/README.md +3 -0
  274. package/server/node_modules/core-util-is/lib/util.js +107 -0
  275. package/server/node_modules/core-util-is/package.json +38 -0
  276. package/server/node_modules/debug/.coveralls.yml +1 -0
  277. package/server/node_modules/debug/.eslintrc +11 -0
  278. package/server/node_modules/debug/.travis.yml +14 -0
  279. package/server/node_modules/debug/CHANGELOG.md +362 -0
  280. package/server/node_modules/debug/LICENSE +19 -0
  281. package/server/node_modules/debug/Makefile +50 -0
  282. package/server/node_modules/debug/README.md +312 -0
  283. package/server/node_modules/debug/component.json +19 -0
  284. package/server/node_modules/debug/karma.conf.js +70 -0
  285. package/server/node_modules/debug/node.js +1 -0
  286. package/server/node_modules/debug/package.json +49 -0
  287. package/server/node_modules/debug/src/browser.js +185 -0
  288. package/server/node_modules/debug/src/debug.js +202 -0
  289. package/server/node_modules/debug/src/index.js +10 -0
  290. package/server/node_modules/debug/src/inspector-log.js +15 -0
  291. package/server/node_modules/debug/src/node.js +248 -0
  292. package/server/node_modules/deepmerge/changelog.md +159 -0
  293. package/server/node_modules/deepmerge/dist/cjs.js +133 -0
  294. package/server/node_modules/deepmerge/dist/umd.js +139 -0
  295. package/server/node_modules/deepmerge/index.d.ts +16 -0
  296. package/server/node_modules/deepmerge/index.js +106 -0
  297. package/server/node_modules/deepmerge/license.txt +21 -0
  298. package/server/node_modules/deepmerge/package.json +43 -0
  299. package/server/node_modules/deepmerge/readme.md +264 -0
  300. package/server/node_modules/deepmerge/rollup.config.js +22 -0
  301. package/server/node_modules/depd/History.md +96 -0
  302. package/server/node_modules/depd/LICENSE +22 -0
  303. package/server/node_modules/depd/Readme.md +280 -0
  304. package/server/node_modules/depd/index.js +522 -0
  305. package/server/node_modules/depd/lib/browser/index.js +77 -0
  306. package/server/node_modules/depd/lib/compat/callsite-tostring.js +103 -0
  307. package/server/node_modules/depd/lib/compat/event-listener-count.js +22 -0
  308. package/server/node_modules/depd/lib/compat/index.js +79 -0
  309. package/server/node_modules/depd/package.json +41 -0
  310. package/server/node_modules/destroy/LICENSE +22 -0
  311. package/server/node_modules/destroy/README.md +60 -0
  312. package/server/node_modules/destroy/index.js +75 -0
  313. package/server/node_modules/destroy/package.json +37 -0
  314. package/server/node_modules/ee-first/LICENSE +22 -0
  315. package/server/node_modules/ee-first/README.md +80 -0
  316. package/server/node_modules/ee-first/index.js +95 -0
  317. package/server/node_modules/ee-first/package.json +29 -0
  318. package/server/node_modules/enabled/.travis.yml +9 -0
  319. package/server/node_modules/enabled/LICENSE +20 -0
  320. package/server/node_modules/enabled/README.md +68 -0
  321. package/server/node_modules/enabled/index.js +34 -0
  322. package/server/node_modules/enabled/package.json +33 -0
  323. package/server/node_modules/enabled/test.js +39 -0
  324. package/server/node_modules/encodeurl/HISTORY.md +14 -0
  325. package/server/node_modules/encodeurl/LICENSE +22 -0
  326. package/server/node_modules/encodeurl/README.md +128 -0
  327. package/server/node_modules/encodeurl/index.js +60 -0
  328. package/server/node_modules/encodeurl/package.json +40 -0
  329. package/server/node_modules/escape-html/LICENSE +24 -0
  330. package/server/node_modules/escape-html/Readme.md +43 -0
  331. package/server/node_modules/escape-html/index.js +78 -0
  332. package/server/node_modules/escape-html/package.json +24 -0
  333. package/server/node_modules/etag/HISTORY.md +83 -0
  334. package/server/node_modules/etag/LICENSE +22 -0
  335. package/server/node_modules/etag/README.md +159 -0
  336. package/server/node_modules/etag/index.js +131 -0
  337. package/server/node_modules/etag/package.json +47 -0
  338. package/server/node_modules/express/History.md +3477 -0
  339. package/server/node_modules/express/LICENSE +24 -0
  340. package/server/node_modules/express/Readme.md +155 -0
  341. package/server/node_modules/express/index.js +11 -0
  342. package/server/node_modules/express/lib/application.js +644 -0
  343. package/server/node_modules/express/lib/express.js +116 -0
  344. package/server/node_modules/express/lib/middleware/init.js +43 -0
  345. package/server/node_modules/express/lib/middleware/query.js +47 -0
  346. package/server/node_modules/express/lib/request.js +525 -0
  347. package/server/node_modules/express/lib/response.js +1142 -0
  348. package/server/node_modules/express/lib/router/index.js +662 -0
  349. package/server/node_modules/express/lib/router/layer.js +181 -0
  350. package/server/node_modules/express/lib/router/route.js +216 -0
  351. package/server/node_modules/express/lib/utils.js +306 -0
  352. package/server/node_modules/express/lib/view.js +182 -0
  353. package/server/node_modules/express/package.json +98 -0
  354. package/server/node_modules/fecha/CHANGELOG.md +71 -0
  355. package/server/node_modules/fecha/LICENSE +22 -0
  356. package/server/node_modules/fecha/README.md +320 -0
  357. package/server/node_modules/fecha/dist/fecha.min.js +2 -0
  358. package/server/node_modules/fecha/dist/fecha.min.js.map +1 -0
  359. package/server/node_modules/fecha/lib/fecha.d.ts +52 -0
  360. package/server/node_modules/fecha/lib/fecha.js +386 -0
  361. package/server/node_modules/fecha/lib/fecha.js.map +1 -0
  362. package/server/node_modules/fecha/lib/fecha.umd.js +401 -0
  363. package/server/node_modules/fecha/lib/fecha.umd.js.map +1 -0
  364. package/server/node_modules/fecha/package.json +55 -0
  365. package/server/node_modules/fecha/src/fecha.ts +506 -0
  366. package/server/node_modules/finalhandler/HISTORY.md +187 -0
  367. package/server/node_modules/finalhandler/LICENSE +22 -0
  368. package/server/node_modules/finalhandler/README.md +148 -0
  369. package/server/node_modules/finalhandler/index.js +331 -0
  370. package/server/node_modules/finalhandler/package.json +45 -0
  371. package/server/node_modules/fn.name/.gitattributes +1 -0
  372. package/server/node_modules/fn.name/.travis.yml +10 -0
  373. package/server/node_modules/fn.name/LICENSE +22 -0
  374. package/server/node_modules/fn.name/README.md +42 -0
  375. package/server/node_modules/fn.name/index.js +42 -0
  376. package/server/node_modules/fn.name/package.json +37 -0
  377. package/server/node_modules/fn.name/test.js +73 -0
  378. package/server/node_modules/forwarded/HISTORY.md +21 -0
  379. package/server/node_modules/forwarded/LICENSE +22 -0
  380. package/server/node_modules/forwarded/README.md +57 -0
  381. package/server/node_modules/forwarded/index.js +90 -0
  382. package/server/node_modules/forwarded/package.json +45 -0
  383. package/server/node_modules/fresh/HISTORY.md +70 -0
  384. package/server/node_modules/fresh/LICENSE +23 -0
  385. package/server/node_modules/fresh/README.md +119 -0
  386. package/server/node_modules/fresh/index.js +137 -0
  387. package/server/node_modules/fresh/package.json +46 -0
  388. package/server/node_modules/http-errors/HISTORY.md +149 -0
  389. package/server/node_modules/http-errors/LICENSE +23 -0
  390. package/server/node_modules/http-errors/README.md +163 -0
  391. package/server/node_modules/http-errors/index.js +266 -0
  392. package/server/node_modules/http-errors/package.json +49 -0
  393. package/server/node_modules/iconv-lite/Changelog.md +162 -0
  394. package/server/node_modules/iconv-lite/LICENSE +21 -0
  395. package/server/node_modules/iconv-lite/README.md +156 -0
  396. package/server/node_modules/iconv-lite/encodings/dbcs-codec.js +555 -0
  397. package/server/node_modules/iconv-lite/encodings/dbcs-data.js +176 -0
  398. package/server/node_modules/iconv-lite/encodings/index.js +22 -0
  399. package/server/node_modules/iconv-lite/encodings/internal.js +188 -0
  400. package/server/node_modules/iconv-lite/encodings/sbcs-codec.js +72 -0
  401. package/server/node_modules/iconv-lite/encodings/sbcs-data-generated.js +451 -0
  402. package/server/node_modules/iconv-lite/encodings/sbcs-data.js +174 -0
  403. package/server/node_modules/iconv-lite/encodings/tables/big5-added.json +122 -0
  404. package/server/node_modules/iconv-lite/encodings/tables/cp936.json +264 -0
  405. package/server/node_modules/iconv-lite/encodings/tables/cp949.json +273 -0
  406. package/server/node_modules/iconv-lite/encodings/tables/cp950.json +177 -0
  407. package/server/node_modules/iconv-lite/encodings/tables/eucjp.json +182 -0
  408. package/server/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json +1 -0
  409. package/server/node_modules/iconv-lite/encodings/tables/gbk-added.json +55 -0
  410. package/server/node_modules/iconv-lite/encodings/tables/shiftjis.json +125 -0
  411. package/server/node_modules/iconv-lite/encodings/utf16.js +177 -0
  412. package/server/node_modules/iconv-lite/encodings/utf7.js +290 -0
  413. package/server/node_modules/iconv-lite/lib/bom-handling.js +52 -0
  414. package/server/node_modules/iconv-lite/lib/extend-node.js +217 -0
  415. package/server/node_modules/iconv-lite/lib/index.d.ts +24 -0
  416. package/server/node_modules/iconv-lite/lib/index.js +153 -0
  417. package/server/node_modules/iconv-lite/lib/streams.js +121 -0
  418. package/server/node_modules/iconv-lite/package.json +46 -0
  419. package/server/node_modules/inherits/LICENSE +16 -0
  420. package/server/node_modules/inherits/README.md +42 -0
  421. package/server/node_modules/inherits/inherits.js +7 -0
  422. package/server/node_modules/inherits/inherits_browser.js +23 -0
  423. package/server/node_modules/inherits/package.json +29 -0
  424. package/server/node_modules/ipaddr.js/LICENSE +19 -0
  425. package/server/node_modules/ipaddr.js/README.md +233 -0
  426. package/server/node_modules/ipaddr.js/ipaddr.min.js +1 -0
  427. package/server/node_modules/ipaddr.js/lib/ipaddr.js +673 -0
  428. package/server/node_modules/ipaddr.js/lib/ipaddr.js.d.ts +68 -0
  429. package/server/node_modules/ipaddr.js/package.json +35 -0
  430. package/server/node_modules/is-arrayish/LICENSE +21 -0
  431. package/server/node_modules/is-arrayish/README.md +16 -0
  432. package/server/node_modules/is-arrayish/index.js +9 -0
  433. package/server/node_modules/is-arrayish/package.json +45 -0
  434. package/server/node_modules/is-arrayish/yarn-error.log +1443 -0
  435. package/server/node_modules/is-stream/index.d.ts +79 -0
  436. package/server/node_modules/is-stream/index.js +28 -0
  437. package/server/node_modules/is-stream/license +9 -0
  438. package/server/node_modules/is-stream/package.json +42 -0
  439. package/server/node_modules/is-stream/readme.md +60 -0
  440. package/server/node_modules/isarray/.travis.yml +4 -0
  441. package/server/node_modules/isarray/Makefile +6 -0
  442. package/server/node_modules/isarray/README.md +60 -0
  443. package/server/node_modules/isarray/component.json +19 -0
  444. package/server/node_modules/isarray/index.js +5 -0
  445. package/server/node_modules/isarray/package.json +45 -0
  446. package/server/node_modules/isarray/test.js +20 -0
  447. package/server/node_modules/kuler/.travis.yml +5 -0
  448. package/server/node_modules/kuler/LICENSE +7 -0
  449. package/server/node_modules/kuler/README.md +40 -0
  450. package/server/node_modules/kuler/index.js +118 -0
  451. package/server/node_modules/kuler/package.json +34 -0
  452. package/server/node_modules/kuler/test.js +23 -0
  453. package/server/node_modules/lodash/LICENSE +47 -0
  454. package/server/node_modules/lodash/README.md +39 -0
  455. package/server/node_modules/lodash/_DataView.js +7 -0
  456. package/server/node_modules/lodash/_Hash.js +32 -0
  457. package/server/node_modules/lodash/_LazyWrapper.js +28 -0
  458. package/server/node_modules/lodash/_ListCache.js +32 -0
  459. package/server/node_modules/lodash/_LodashWrapper.js +22 -0
  460. package/server/node_modules/lodash/_Map.js +7 -0
  461. package/server/node_modules/lodash/_MapCache.js +32 -0
  462. package/server/node_modules/lodash/_Promise.js +7 -0
  463. package/server/node_modules/lodash/_Set.js +7 -0
  464. package/server/node_modules/lodash/_SetCache.js +27 -0
  465. package/server/node_modules/lodash/_Stack.js +27 -0
  466. package/server/node_modules/lodash/_Symbol.js +6 -0
  467. package/server/node_modules/lodash/_Uint8Array.js +6 -0
  468. package/server/node_modules/lodash/_WeakMap.js +7 -0
  469. package/server/node_modules/lodash/_apply.js +21 -0
  470. package/server/node_modules/lodash/_arrayAggregator.js +22 -0
  471. package/server/node_modules/lodash/_arrayEach.js +22 -0
  472. package/server/node_modules/lodash/_arrayEachRight.js +21 -0
  473. package/server/node_modules/lodash/_arrayEvery.js +23 -0
  474. package/server/node_modules/lodash/_arrayFilter.js +25 -0
  475. package/server/node_modules/lodash/_arrayIncludes.js +17 -0
  476. package/server/node_modules/lodash/_arrayIncludesWith.js +22 -0
  477. package/server/node_modules/lodash/_arrayLikeKeys.js +49 -0
  478. package/server/node_modules/lodash/_arrayMap.js +21 -0
  479. package/server/node_modules/lodash/_arrayPush.js +20 -0
  480. package/server/node_modules/lodash/_arrayReduce.js +26 -0
  481. package/server/node_modules/lodash/_arrayReduceRight.js +24 -0
  482. package/server/node_modules/lodash/_arraySample.js +15 -0
  483. package/server/node_modules/lodash/_arraySampleSize.js +17 -0
  484. package/server/node_modules/lodash/_arrayShuffle.js +15 -0
  485. package/server/node_modules/lodash/_arraySome.js +23 -0
  486. package/server/node_modules/lodash/_asciiSize.js +12 -0
  487. package/server/node_modules/lodash/_asciiToArray.js +12 -0
  488. package/server/node_modules/lodash/_asciiWords.js +15 -0
  489. package/server/node_modules/lodash/_assignMergeValue.js +20 -0
  490. package/server/node_modules/lodash/_assignValue.js +28 -0
  491. package/server/node_modules/lodash/_assocIndexOf.js +21 -0
  492. package/server/node_modules/lodash/_baseAggregator.js +21 -0
  493. package/server/node_modules/lodash/_baseAssign.js +17 -0
  494. package/server/node_modules/lodash/_baseAssignIn.js +17 -0
  495. package/server/node_modules/lodash/_baseAssignValue.js +25 -0
  496. package/server/node_modules/lodash/_baseAt.js +23 -0
  497. package/server/node_modules/lodash/_baseClamp.js +22 -0
  498. package/server/node_modules/lodash/_baseClone.js +166 -0
  499. package/server/node_modules/lodash/_baseConforms.js +18 -0
  500. package/server/node_modules/lodash/_baseConformsTo.js +27 -0
  501. package/server/node_modules/lodash/_baseCreate.js +30 -0
  502. package/server/node_modules/lodash/_baseDelay.js +21 -0
  503. package/server/node_modules/lodash/_baseDifference.js +67 -0
  504. package/server/node_modules/lodash/_baseEach.js +14 -0
  505. package/server/node_modules/lodash/_baseEachRight.js +14 -0
  506. package/server/node_modules/lodash/_baseEvery.js +21 -0
  507. package/server/node_modules/lodash/_baseExtremum.js +32 -0
  508. package/server/node_modules/lodash/_baseFill.js +32 -0
  509. package/server/node_modules/lodash/_baseFilter.js +21 -0
  510. package/server/node_modules/lodash/_baseFindIndex.js +24 -0
  511. package/server/node_modules/lodash/_baseFindKey.js +23 -0
  512. package/server/node_modules/lodash/_baseFlatten.js +38 -0
  513. package/server/node_modules/lodash/_baseFor.js +16 -0
  514. package/server/node_modules/lodash/_baseForOwn.js +16 -0
  515. package/server/node_modules/lodash/_baseForOwnRight.js +16 -0
  516. package/server/node_modules/lodash/_baseForRight.js +15 -0
  517. package/server/node_modules/lodash/_baseFunctions.js +19 -0
  518. package/server/node_modules/lodash/_baseGet.js +24 -0
  519. package/server/node_modules/lodash/_baseGetAllKeys.js +20 -0
  520. package/server/node_modules/lodash/_baseGetTag.js +28 -0
  521. package/server/node_modules/lodash/_baseGt.js +14 -0
  522. package/server/node_modules/lodash/_baseHas.js +19 -0
  523. package/server/node_modules/lodash/_baseHasIn.js +13 -0
  524. package/server/node_modules/lodash/_baseInRange.js +18 -0
  525. package/server/node_modules/lodash/_baseIndexOf.js +20 -0
  526. package/server/node_modules/lodash/_baseIndexOfWith.js +23 -0
  527. package/server/node_modules/lodash/_baseIntersection.js +74 -0
  528. package/server/node_modules/lodash/_baseInverter.js +21 -0
  529. package/server/node_modules/lodash/_baseInvoke.js +24 -0
  530. package/server/node_modules/lodash/_baseIsArguments.js +18 -0
  531. package/server/node_modules/lodash/_baseIsArrayBuffer.js +17 -0
  532. package/server/node_modules/lodash/_baseIsDate.js +18 -0
  533. package/server/node_modules/lodash/_baseIsEqual.js +28 -0
  534. package/server/node_modules/lodash/_baseIsEqualDeep.js +83 -0
  535. package/server/node_modules/lodash/_baseIsMap.js +18 -0
  536. package/server/node_modules/lodash/_baseIsMatch.js +62 -0
  537. package/server/node_modules/lodash/_baseIsNaN.js +12 -0
  538. package/server/node_modules/lodash/_baseIsNative.js +47 -0
  539. package/server/node_modules/lodash/_baseIsRegExp.js +18 -0
  540. package/server/node_modules/lodash/_baseIsSet.js +18 -0
  541. package/server/node_modules/lodash/_baseIsTypedArray.js +60 -0
  542. package/server/node_modules/lodash/_baseIteratee.js +31 -0
  543. package/server/node_modules/lodash/_baseKeys.js +30 -0
  544. package/server/node_modules/lodash/_baseKeysIn.js +33 -0
  545. package/server/node_modules/lodash/_baseLodash.js +10 -0
  546. package/server/node_modules/lodash/_baseLt.js +14 -0
  547. package/server/node_modules/lodash/_baseMap.js +22 -0
  548. package/server/node_modules/lodash/_baseMatches.js +22 -0
  549. package/server/node_modules/lodash/_baseMatchesProperty.js +33 -0
  550. package/server/node_modules/lodash/_baseMean.js +20 -0
  551. package/server/node_modules/lodash/_baseMerge.js +42 -0
  552. package/server/node_modules/lodash/_baseMergeDeep.js +94 -0
  553. package/server/node_modules/lodash/_baseNth.js +20 -0
  554. package/server/node_modules/lodash/_baseOrderBy.js +49 -0
  555. package/server/node_modules/lodash/_basePick.js +19 -0
  556. package/server/node_modules/lodash/_basePickBy.js +30 -0
  557. package/server/node_modules/lodash/_baseProperty.js +14 -0
  558. package/server/node_modules/lodash/_basePropertyDeep.js +16 -0
  559. package/server/node_modules/lodash/_basePropertyOf.js +14 -0
  560. package/server/node_modules/lodash/_basePullAll.js +51 -0
  561. package/server/node_modules/lodash/_basePullAt.js +37 -0
  562. package/server/node_modules/lodash/_baseRandom.js +18 -0
  563. package/server/node_modules/lodash/_baseRange.js +28 -0
  564. package/server/node_modules/lodash/_baseReduce.js +23 -0
  565. package/server/node_modules/lodash/_baseRepeat.js +35 -0
  566. package/server/node_modules/lodash/_baseRest.js +17 -0
  567. package/server/node_modules/lodash/_baseSample.js +15 -0
  568. package/server/node_modules/lodash/_baseSampleSize.js +18 -0
  569. package/server/node_modules/lodash/_baseSet.js +51 -0
  570. package/server/node_modules/lodash/_baseSetData.js +17 -0
  571. package/server/node_modules/lodash/_baseSetToString.js +22 -0
  572. package/server/node_modules/lodash/_baseShuffle.js +15 -0
  573. package/server/node_modules/lodash/_baseSlice.js +31 -0
  574. package/server/node_modules/lodash/_baseSome.js +22 -0
  575. package/server/node_modules/lodash/_baseSortBy.js +21 -0
  576. package/server/node_modules/lodash/_baseSortedIndex.js +42 -0
  577. package/server/node_modules/lodash/_baseSortedIndexBy.js +67 -0
  578. package/server/node_modules/lodash/_baseSortedUniq.js +30 -0
  579. package/server/node_modules/lodash/_baseSum.js +24 -0
  580. package/server/node_modules/lodash/_baseTimes.js +20 -0
  581. package/server/node_modules/lodash/_baseToNumber.js +24 -0
  582. package/server/node_modules/lodash/_baseToPairs.js +18 -0
  583. package/server/node_modules/lodash/_baseToString.js +37 -0
  584. package/server/node_modules/lodash/_baseTrim.js +19 -0
  585. package/server/node_modules/lodash/_baseUnary.js +14 -0
  586. package/server/node_modules/lodash/_baseUniq.js +72 -0
  587. package/server/node_modules/lodash/_baseUnset.js +20 -0
  588. package/server/node_modules/lodash/_baseUpdate.js +18 -0
  589. package/server/node_modules/lodash/_baseValues.js +19 -0
  590. package/server/node_modules/lodash/_baseWhile.js +26 -0
  591. package/server/node_modules/lodash/_baseWrapperValue.js +25 -0
  592. package/server/node_modules/lodash/_baseXor.js +36 -0
  593. package/server/node_modules/lodash/_baseZipObject.js +23 -0
  594. package/server/node_modules/lodash/_cacheHas.js +13 -0
  595. package/server/node_modules/lodash/_castArrayLikeObject.js +14 -0
  596. package/server/node_modules/lodash/_castFunction.js +14 -0
  597. package/server/node_modules/lodash/_castPath.js +21 -0
  598. package/server/node_modules/lodash/_castRest.js +14 -0
  599. package/server/node_modules/lodash/_castSlice.js +18 -0
  600. package/server/node_modules/lodash/_charsEndIndex.js +19 -0
  601. package/server/node_modules/lodash/_charsStartIndex.js +20 -0
  602. package/server/node_modules/lodash/_cloneArrayBuffer.js +16 -0
  603. package/server/node_modules/lodash/_cloneBuffer.js +35 -0
  604. package/server/node_modules/lodash/_cloneDataView.js +16 -0
  605. package/server/node_modules/lodash/_cloneRegExp.js +17 -0
  606. package/server/node_modules/lodash/_cloneSymbol.js +18 -0
  607. package/server/node_modules/lodash/_cloneTypedArray.js +16 -0
  608. package/server/node_modules/lodash/_compareAscending.js +41 -0
  609. package/server/node_modules/lodash/_compareMultiple.js +44 -0
  610. package/server/node_modules/lodash/_composeArgs.js +39 -0
  611. package/server/node_modules/lodash/_composeArgsRight.js +41 -0
  612. package/server/node_modules/lodash/_copyArray.js +20 -0
  613. package/server/node_modules/lodash/_copyObject.js +40 -0
  614. package/server/node_modules/lodash/_copySymbols.js +16 -0
  615. package/server/node_modules/lodash/_copySymbolsIn.js +16 -0
  616. package/server/node_modules/lodash/_coreJsData.js +6 -0
  617. package/server/node_modules/lodash/_countHolders.js +21 -0
  618. package/server/node_modules/lodash/_createAggregator.js +23 -0
  619. package/server/node_modules/lodash/_createAssigner.js +37 -0
  620. package/server/node_modules/lodash/_createBaseEach.js +32 -0
  621. package/server/node_modules/lodash/_createBaseFor.js +25 -0
  622. package/server/node_modules/lodash/_createBind.js +28 -0
  623. package/server/node_modules/lodash/_createCaseFirst.js +33 -0
  624. package/server/node_modules/lodash/_createCompounder.js +24 -0
  625. package/server/node_modules/lodash/_createCtor.js +37 -0
  626. package/server/node_modules/lodash/_createCurry.js +46 -0
  627. package/server/node_modules/lodash/_createFind.js +25 -0
  628. package/server/node_modules/lodash/_createFlow.js +78 -0
  629. package/server/node_modules/lodash/_createHybrid.js +92 -0
  630. package/server/node_modules/lodash/_createInverter.js +17 -0
  631. package/server/node_modules/lodash/_createMathOperation.js +38 -0
  632. package/server/node_modules/lodash/_createOver.js +27 -0
  633. package/server/node_modules/lodash/_createPadding.js +33 -0
  634. package/server/node_modules/lodash/_createPartial.js +43 -0
  635. package/server/node_modules/lodash/_createRange.js +30 -0
  636. package/server/node_modules/lodash/_createRecurry.js +56 -0
  637. package/server/node_modules/lodash/_createRelationalOperation.js +20 -0
  638. package/server/node_modules/lodash/_createRound.js +35 -0
  639. package/server/node_modules/lodash/_createSet.js +19 -0
  640. package/server/node_modules/lodash/_createToPairs.js +30 -0
  641. package/server/node_modules/lodash/_createWrap.js +106 -0
  642. package/server/node_modules/lodash/_customDefaultsAssignIn.js +29 -0
  643. package/server/node_modules/lodash/_customDefaultsMerge.js +28 -0
  644. package/server/node_modules/lodash/_customOmitClone.js +16 -0
  645. package/server/node_modules/lodash/_deburrLetter.js +71 -0
  646. package/server/node_modules/lodash/_defineProperty.js +11 -0
  647. package/server/node_modules/lodash/_equalArrays.js +84 -0
  648. package/server/node_modules/lodash/_equalByTag.js +112 -0
  649. package/server/node_modules/lodash/_equalObjects.js +90 -0
  650. package/server/node_modules/lodash/_escapeHtmlChar.js +21 -0
  651. package/server/node_modules/lodash/_escapeStringChar.js +22 -0
  652. package/server/node_modules/lodash/_flatRest.js +16 -0
  653. package/server/node_modules/lodash/_freeGlobal.js +4 -0
  654. package/server/node_modules/lodash/_getAllKeys.js +16 -0
  655. package/server/node_modules/lodash/_getAllKeysIn.js +17 -0
  656. package/server/node_modules/lodash/_getData.js +15 -0
  657. package/server/node_modules/lodash/_getFuncName.js +31 -0
  658. package/server/node_modules/lodash/_getHolder.js +13 -0
  659. package/server/node_modules/lodash/_getMapData.js +18 -0
  660. package/server/node_modules/lodash/_getMatchData.js +24 -0
  661. package/server/node_modules/lodash/_getNative.js +17 -0
  662. package/server/node_modules/lodash/_getPrototype.js +6 -0
  663. package/server/node_modules/lodash/_getRawTag.js +46 -0
  664. package/server/node_modules/lodash/_getSymbols.js +30 -0
  665. package/server/node_modules/lodash/_getSymbolsIn.js +25 -0
  666. package/server/node_modules/lodash/_getTag.js +58 -0
  667. package/server/node_modules/lodash/_getValue.js +13 -0
  668. package/server/node_modules/lodash/_getView.js +33 -0
  669. package/server/node_modules/lodash/_getWrapDetails.js +17 -0
  670. package/server/node_modules/lodash/_hasPath.js +39 -0
  671. package/server/node_modules/lodash/_hasUnicode.js +26 -0
  672. package/server/node_modules/lodash/_hasUnicodeWord.js +15 -0
  673. package/server/node_modules/lodash/_hashClear.js +15 -0
  674. package/server/node_modules/lodash/_hashDelete.js +17 -0
  675. package/server/node_modules/lodash/_hashGet.js +30 -0
  676. package/server/node_modules/lodash/_hashHas.js +23 -0
  677. package/server/node_modules/lodash/_hashSet.js +23 -0
  678. package/server/node_modules/lodash/_initCloneArray.js +26 -0
  679. package/server/node_modules/lodash/_initCloneByTag.js +77 -0
  680. package/server/node_modules/lodash/_initCloneObject.js +18 -0
  681. package/server/node_modules/lodash/_insertWrapDetails.js +23 -0
  682. package/server/node_modules/lodash/_isFlattenable.js +20 -0
  683. package/server/node_modules/lodash/_isIndex.js +25 -0
  684. package/server/node_modules/lodash/_isIterateeCall.js +30 -0
  685. package/server/node_modules/lodash/_isKey.js +29 -0
  686. package/server/node_modules/lodash/_isKeyable.js +15 -0
  687. package/server/node_modules/lodash/_isLaziable.js +28 -0
  688. package/server/node_modules/lodash/_isMaskable.js +14 -0
  689. package/server/node_modules/lodash/_isMasked.js +20 -0
  690. package/server/node_modules/lodash/_isPrototype.js +18 -0
  691. package/server/node_modules/lodash/_isStrictComparable.js +15 -0
  692. package/server/node_modules/lodash/_iteratorToArray.js +18 -0
  693. package/server/node_modules/lodash/_lazyClone.js +23 -0
  694. package/server/node_modules/lodash/_lazyReverse.js +23 -0
  695. package/server/node_modules/lodash/_lazyValue.js +69 -0
  696. package/server/node_modules/lodash/_listCacheClear.js +13 -0
  697. package/server/node_modules/lodash/_listCacheDelete.js +35 -0
  698. package/server/node_modules/lodash/_listCacheGet.js +19 -0
  699. package/server/node_modules/lodash/_listCacheHas.js +16 -0
  700. package/server/node_modules/lodash/_listCacheSet.js +26 -0
  701. package/server/node_modules/lodash/_mapCacheClear.js +21 -0
  702. package/server/node_modules/lodash/_mapCacheDelete.js +18 -0
  703. package/server/node_modules/lodash/_mapCacheGet.js +16 -0
  704. package/server/node_modules/lodash/_mapCacheHas.js +16 -0
  705. package/server/node_modules/lodash/_mapCacheSet.js +22 -0
  706. package/server/node_modules/lodash/_mapToArray.js +18 -0
  707. package/server/node_modules/lodash/_matchesStrictComparable.js +20 -0
  708. package/server/node_modules/lodash/_memoizeCapped.js +26 -0
  709. package/server/node_modules/lodash/_mergeData.js +90 -0
  710. package/server/node_modules/lodash/_metaMap.js +6 -0
  711. package/server/node_modules/lodash/_nativeCreate.js +6 -0
  712. package/server/node_modules/lodash/_nativeKeys.js +6 -0
  713. package/server/node_modules/lodash/_nativeKeysIn.js +20 -0
  714. package/server/node_modules/lodash/_nodeUtil.js +30 -0
  715. package/server/node_modules/lodash/_objectToString.js +22 -0
  716. package/server/node_modules/lodash/_overArg.js +15 -0
  717. package/server/node_modules/lodash/_overRest.js +36 -0
  718. package/server/node_modules/lodash/_parent.js +16 -0
  719. package/server/node_modules/lodash/_reEscape.js +4 -0
  720. package/server/node_modules/lodash/_reEvaluate.js +4 -0
  721. package/server/node_modules/lodash/_reInterpolate.js +4 -0
  722. package/server/node_modules/lodash/_realNames.js +4 -0
  723. package/server/node_modules/lodash/_reorder.js +29 -0
  724. package/server/node_modules/lodash/_replaceHolders.js +29 -0
  725. package/server/node_modules/lodash/_root.js +9 -0
  726. package/server/node_modules/lodash/_safeGet.js +21 -0
  727. package/server/node_modules/lodash/_setCacheAdd.js +19 -0
  728. package/server/node_modules/lodash/_setCacheHas.js +14 -0
  729. package/server/node_modules/lodash/_setData.js +20 -0
  730. package/server/node_modules/lodash/_setToArray.js +18 -0
  731. package/server/node_modules/lodash/_setToPairs.js +18 -0
  732. package/server/node_modules/lodash/_setToString.js +14 -0
  733. package/server/node_modules/lodash/_setWrapToString.js +21 -0
  734. package/server/node_modules/lodash/_shortOut.js +37 -0
  735. package/server/node_modules/lodash/_shuffleSelf.js +28 -0
  736. package/server/node_modules/lodash/_stackClear.js +15 -0
  737. package/server/node_modules/lodash/_stackDelete.js +18 -0
  738. package/server/node_modules/lodash/_stackGet.js +14 -0
  739. package/server/node_modules/lodash/_stackHas.js +14 -0
  740. package/server/node_modules/lodash/_stackSet.js +34 -0
  741. package/server/node_modules/lodash/_strictIndexOf.js +23 -0
  742. package/server/node_modules/lodash/_strictLastIndexOf.js +21 -0
  743. package/server/node_modules/lodash/_stringSize.js +18 -0
  744. package/server/node_modules/lodash/_stringToArray.js +18 -0
  745. package/server/node_modules/lodash/_stringToPath.js +27 -0
  746. package/server/node_modules/lodash/_toKey.js +21 -0
  747. package/server/node_modules/lodash/_toSource.js +26 -0
  748. package/server/node_modules/lodash/_trimmedEndIndex.js +19 -0
  749. package/server/node_modules/lodash/_unescapeHtmlChar.js +21 -0
  750. package/server/node_modules/lodash/_unicodeSize.js +44 -0
  751. package/server/node_modules/lodash/_unicodeToArray.js +40 -0
  752. package/server/node_modules/lodash/_unicodeWords.js +69 -0
  753. package/server/node_modules/lodash/_updateWrapDetails.js +46 -0
  754. package/server/node_modules/lodash/_wrapperClone.js +23 -0
  755. package/server/node_modules/lodash/add.js +22 -0
  756. package/server/node_modules/lodash/after.js +42 -0
  757. package/server/node_modules/lodash/array.js +67 -0
  758. package/server/node_modules/lodash/ary.js +29 -0
  759. package/server/node_modules/lodash/assign.js +58 -0
  760. package/server/node_modules/lodash/assignIn.js +40 -0
  761. package/server/node_modules/lodash/assignInWith.js +38 -0
  762. package/server/node_modules/lodash/assignWith.js +37 -0
  763. package/server/node_modules/lodash/at.js +23 -0
  764. package/server/node_modules/lodash/attempt.js +35 -0
  765. package/server/node_modules/lodash/before.js +40 -0
  766. package/server/node_modules/lodash/bind.js +57 -0
  767. package/server/node_modules/lodash/bindAll.js +41 -0
  768. package/server/node_modules/lodash/bindKey.js +68 -0
  769. package/server/node_modules/lodash/camelCase.js +29 -0
  770. package/server/node_modules/lodash/capitalize.js +23 -0
  771. package/server/node_modules/lodash/castArray.js +44 -0
  772. package/server/node_modules/lodash/ceil.js +26 -0
  773. package/server/node_modules/lodash/chain.js +38 -0
  774. package/server/node_modules/lodash/chunk.js +50 -0
  775. package/server/node_modules/lodash/clamp.js +39 -0
  776. package/server/node_modules/lodash/clone.js +36 -0
  777. package/server/node_modules/lodash/cloneDeep.js +29 -0
  778. package/server/node_modules/lodash/cloneDeepWith.js +40 -0
  779. package/server/node_modules/lodash/cloneWith.js +42 -0
  780. package/server/node_modules/lodash/collection.js +30 -0
  781. package/server/node_modules/lodash/commit.js +33 -0
  782. package/server/node_modules/lodash/compact.js +31 -0
  783. package/server/node_modules/lodash/concat.js +43 -0
  784. package/server/node_modules/lodash/cond.js +60 -0
  785. package/server/node_modules/lodash/conforms.js +35 -0
  786. package/server/node_modules/lodash/conformsTo.js +32 -0
  787. package/server/node_modules/lodash/constant.js +26 -0
  788. package/server/node_modules/lodash/core.js +3877 -0
  789. package/server/node_modules/lodash/core.min.js +29 -0
  790. package/server/node_modules/lodash/countBy.js +40 -0
  791. package/server/node_modules/lodash/create.js +43 -0
  792. package/server/node_modules/lodash/curry.js +57 -0
  793. package/server/node_modules/lodash/curryRight.js +54 -0
  794. package/server/node_modules/lodash/date.js +3 -0
  795. package/server/node_modules/lodash/debounce.js +191 -0
  796. package/server/node_modules/lodash/deburr.js +45 -0
  797. package/server/node_modules/lodash/defaultTo.js +25 -0
  798. package/server/node_modules/lodash/defaults.js +64 -0
  799. package/server/node_modules/lodash/defaultsDeep.js +30 -0
  800. package/server/node_modules/lodash/defer.js +26 -0
  801. package/server/node_modules/lodash/delay.js +28 -0
  802. package/server/node_modules/lodash/difference.js +33 -0
  803. package/server/node_modules/lodash/differenceBy.js +44 -0
  804. package/server/node_modules/lodash/differenceWith.js +40 -0
  805. package/server/node_modules/lodash/divide.js +22 -0
  806. package/server/node_modules/lodash/drop.js +38 -0
  807. package/server/node_modules/lodash/dropRight.js +39 -0
  808. package/server/node_modules/lodash/dropRightWhile.js +45 -0
  809. package/server/node_modules/lodash/dropWhile.js +45 -0
  810. package/server/node_modules/lodash/each.js +1 -0
  811. package/server/node_modules/lodash/eachRight.js +1 -0
  812. package/server/node_modules/lodash/endsWith.js +43 -0
  813. package/server/node_modules/lodash/entries.js +1 -0
  814. package/server/node_modules/lodash/entriesIn.js +1 -0
  815. package/server/node_modules/lodash/eq.js +37 -0
  816. package/server/node_modules/lodash/escape.js +43 -0
  817. package/server/node_modules/lodash/escapeRegExp.js +32 -0
  818. package/server/node_modules/lodash/every.js +56 -0
  819. package/server/node_modules/lodash/extend.js +1 -0
  820. package/server/node_modules/lodash/extendWith.js +1 -0
  821. package/server/node_modules/lodash/fill.js +45 -0
  822. package/server/node_modules/lodash/filter.js +52 -0
  823. package/server/node_modules/lodash/find.js +42 -0
  824. package/server/node_modules/lodash/findIndex.js +55 -0
  825. package/server/node_modules/lodash/findKey.js +44 -0
  826. package/server/node_modules/lodash/findLast.js +25 -0
  827. package/server/node_modules/lodash/findLastIndex.js +59 -0
  828. package/server/node_modules/lodash/findLastKey.js +44 -0
  829. package/server/node_modules/lodash/first.js +1 -0
  830. package/server/node_modules/lodash/flake.lock +40 -0
  831. package/server/node_modules/lodash/flake.nix +20 -0
  832. package/server/node_modules/lodash/flatMap.js +29 -0
  833. package/server/node_modules/lodash/flatMapDeep.js +31 -0
  834. package/server/node_modules/lodash/flatMapDepth.js +31 -0
  835. package/server/node_modules/lodash/flatten.js +22 -0
  836. package/server/node_modules/lodash/flattenDeep.js +25 -0
  837. package/server/node_modules/lodash/flattenDepth.js +33 -0
  838. package/server/node_modules/lodash/flip.js +28 -0
  839. package/server/node_modules/lodash/floor.js +26 -0
  840. package/server/node_modules/lodash/flow.js +27 -0
  841. package/server/node_modules/lodash/flowRight.js +26 -0
  842. package/server/node_modules/lodash/forEach.js +41 -0
  843. package/server/node_modules/lodash/forEachRight.js +31 -0
  844. package/server/node_modules/lodash/forIn.js +39 -0
  845. package/server/node_modules/lodash/forInRight.js +37 -0
  846. package/server/node_modules/lodash/forOwn.js +36 -0
  847. package/server/node_modules/lodash/forOwnRight.js +34 -0
  848. package/server/node_modules/lodash/fp/F.js +1 -0
  849. package/server/node_modules/lodash/fp/T.js +1 -0
  850. package/server/node_modules/lodash/fp/__.js +1 -0
  851. package/server/node_modules/lodash/fp/_baseConvert.js +569 -0
  852. package/server/node_modules/lodash/fp/_convertBrowser.js +18 -0
  853. package/server/node_modules/lodash/fp/_falseOptions.js +7 -0
  854. package/server/node_modules/lodash/fp/_mapping.js +358 -0
  855. package/server/node_modules/lodash/fp/_util.js +16 -0
  856. package/server/node_modules/lodash/fp/add.js +5 -0
  857. package/server/node_modules/lodash/fp/after.js +5 -0
  858. package/server/node_modules/lodash/fp/all.js +1 -0
  859. package/server/node_modules/lodash/fp/allPass.js +1 -0
  860. package/server/node_modules/lodash/fp/always.js +1 -0
  861. package/server/node_modules/lodash/fp/any.js +1 -0
  862. package/server/node_modules/lodash/fp/anyPass.js +1 -0
  863. package/server/node_modules/lodash/fp/apply.js +1 -0
  864. package/server/node_modules/lodash/fp/array.js +2 -0
  865. package/server/node_modules/lodash/fp/ary.js +5 -0
  866. package/server/node_modules/lodash/fp/assign.js +5 -0
  867. package/server/node_modules/lodash/fp/assignAll.js +5 -0
  868. package/server/node_modules/lodash/fp/assignAllWith.js +5 -0
  869. package/server/node_modules/lodash/fp/assignIn.js +5 -0
  870. package/server/node_modules/lodash/fp/assignInAll.js +5 -0
  871. package/server/node_modules/lodash/fp/assignInAllWith.js +5 -0
  872. package/server/node_modules/lodash/fp/assignInWith.js +5 -0
  873. package/server/node_modules/lodash/fp/assignWith.js +5 -0
  874. package/server/node_modules/lodash/fp/assoc.js +1 -0
  875. package/server/node_modules/lodash/fp/assocPath.js +1 -0
  876. package/server/node_modules/lodash/fp/at.js +5 -0
  877. package/server/node_modules/lodash/fp/attempt.js +5 -0
  878. package/server/node_modules/lodash/fp/before.js +5 -0
  879. package/server/node_modules/lodash/fp/bind.js +5 -0
  880. package/server/node_modules/lodash/fp/bindAll.js +5 -0
  881. package/server/node_modules/lodash/fp/bindKey.js +5 -0
  882. package/server/node_modules/lodash/fp/camelCase.js +5 -0
  883. package/server/node_modules/lodash/fp/capitalize.js +5 -0
  884. package/server/node_modules/lodash/fp/castArray.js +5 -0
  885. package/server/node_modules/lodash/fp/ceil.js +5 -0
  886. package/server/node_modules/lodash/fp/chain.js +5 -0
  887. package/server/node_modules/lodash/fp/chunk.js +5 -0
  888. package/server/node_modules/lodash/fp/clamp.js +5 -0
  889. package/server/node_modules/lodash/fp/clone.js +5 -0
  890. package/server/node_modules/lodash/fp/cloneDeep.js +5 -0
  891. package/server/node_modules/lodash/fp/cloneDeepWith.js +5 -0
  892. package/server/node_modules/lodash/fp/cloneWith.js +5 -0
  893. package/server/node_modules/lodash/fp/collection.js +2 -0
  894. package/server/node_modules/lodash/fp/commit.js +5 -0
  895. package/server/node_modules/lodash/fp/compact.js +5 -0
  896. package/server/node_modules/lodash/fp/complement.js +1 -0
  897. package/server/node_modules/lodash/fp/compose.js +1 -0
  898. package/server/node_modules/lodash/fp/concat.js +5 -0
  899. package/server/node_modules/lodash/fp/cond.js +5 -0
  900. package/server/node_modules/lodash/fp/conforms.js +1 -0
  901. package/server/node_modules/lodash/fp/conformsTo.js +5 -0
  902. package/server/node_modules/lodash/fp/constant.js +5 -0
  903. package/server/node_modules/lodash/fp/contains.js +1 -0
  904. package/server/node_modules/lodash/fp/convert.js +18 -0
  905. package/server/node_modules/lodash/fp/countBy.js +5 -0
  906. package/server/node_modules/lodash/fp/create.js +5 -0
  907. package/server/node_modules/lodash/fp/curry.js +5 -0
  908. package/server/node_modules/lodash/fp/curryN.js +5 -0
  909. package/server/node_modules/lodash/fp/curryRight.js +5 -0
  910. package/server/node_modules/lodash/fp/curryRightN.js +5 -0
  911. package/server/node_modules/lodash/fp/date.js +2 -0
  912. package/server/node_modules/lodash/fp/debounce.js +5 -0
  913. package/server/node_modules/lodash/fp/deburr.js +5 -0
  914. package/server/node_modules/lodash/fp/defaultTo.js +5 -0
  915. package/server/node_modules/lodash/fp/defaults.js +5 -0
  916. package/server/node_modules/lodash/fp/defaultsAll.js +5 -0
  917. package/server/node_modules/lodash/fp/defaultsDeep.js +5 -0
  918. package/server/node_modules/lodash/fp/defaultsDeepAll.js +5 -0
  919. package/server/node_modules/lodash/fp/defer.js +5 -0
  920. package/server/node_modules/lodash/fp/delay.js +5 -0
  921. package/server/node_modules/lodash/fp/difference.js +5 -0
  922. package/server/node_modules/lodash/fp/differenceBy.js +5 -0
  923. package/server/node_modules/lodash/fp/differenceWith.js +5 -0
  924. package/server/node_modules/lodash/fp/dissoc.js +1 -0
  925. package/server/node_modules/lodash/fp/dissocPath.js +1 -0
  926. package/server/node_modules/lodash/fp/divide.js +5 -0
  927. package/server/node_modules/lodash/fp/drop.js +5 -0
  928. package/server/node_modules/lodash/fp/dropLast.js +1 -0
  929. package/server/node_modules/lodash/fp/dropLastWhile.js +1 -0
  930. package/server/node_modules/lodash/fp/dropRight.js +5 -0
  931. package/server/node_modules/lodash/fp/dropRightWhile.js +5 -0
  932. package/server/node_modules/lodash/fp/dropWhile.js +5 -0
  933. package/server/node_modules/lodash/fp/each.js +1 -0
  934. package/server/node_modules/lodash/fp/eachRight.js +1 -0
  935. package/server/node_modules/lodash/fp/endsWith.js +5 -0
  936. package/server/node_modules/lodash/fp/entries.js +1 -0
  937. package/server/node_modules/lodash/fp/entriesIn.js +1 -0
  938. package/server/node_modules/lodash/fp/eq.js +5 -0
  939. package/server/node_modules/lodash/fp/equals.js +1 -0
  940. package/server/node_modules/lodash/fp/escape.js +5 -0
  941. package/server/node_modules/lodash/fp/escapeRegExp.js +5 -0
  942. package/server/node_modules/lodash/fp/every.js +5 -0
  943. package/server/node_modules/lodash/fp/extend.js +1 -0
  944. package/server/node_modules/lodash/fp/extendAll.js +1 -0
  945. package/server/node_modules/lodash/fp/extendAllWith.js +1 -0
  946. package/server/node_modules/lodash/fp/extendWith.js +1 -0
  947. package/server/node_modules/lodash/fp/fill.js +5 -0
  948. package/server/node_modules/lodash/fp/filter.js +5 -0
  949. package/server/node_modules/lodash/fp/find.js +5 -0
  950. package/server/node_modules/lodash/fp/findFrom.js +5 -0
  951. package/server/node_modules/lodash/fp/findIndex.js +5 -0
  952. package/server/node_modules/lodash/fp/findIndexFrom.js +5 -0
  953. package/server/node_modules/lodash/fp/findKey.js +5 -0
  954. package/server/node_modules/lodash/fp/findLast.js +5 -0
  955. package/server/node_modules/lodash/fp/findLastFrom.js +5 -0
  956. package/server/node_modules/lodash/fp/findLastIndex.js +5 -0
  957. package/server/node_modules/lodash/fp/findLastIndexFrom.js +5 -0
  958. package/server/node_modules/lodash/fp/findLastKey.js +5 -0
  959. package/server/node_modules/lodash/fp/first.js +1 -0
  960. package/server/node_modules/lodash/fp/flatMap.js +5 -0
  961. package/server/node_modules/lodash/fp/flatMapDeep.js +5 -0
  962. package/server/node_modules/lodash/fp/flatMapDepth.js +5 -0
  963. package/server/node_modules/lodash/fp/flatten.js +5 -0
  964. package/server/node_modules/lodash/fp/flattenDeep.js +5 -0
  965. package/server/node_modules/lodash/fp/flattenDepth.js +5 -0
  966. package/server/node_modules/lodash/fp/flip.js +5 -0
  967. package/server/node_modules/lodash/fp/floor.js +5 -0
  968. package/server/node_modules/lodash/fp/flow.js +5 -0
  969. package/server/node_modules/lodash/fp/flowRight.js +5 -0
  970. package/server/node_modules/lodash/fp/forEach.js +5 -0
  971. package/server/node_modules/lodash/fp/forEachRight.js +5 -0
  972. package/server/node_modules/lodash/fp/forIn.js +5 -0
  973. package/server/node_modules/lodash/fp/forInRight.js +5 -0
  974. package/server/node_modules/lodash/fp/forOwn.js +5 -0
  975. package/server/node_modules/lodash/fp/forOwnRight.js +5 -0
  976. package/server/node_modules/lodash/fp/fromPairs.js +5 -0
  977. package/server/node_modules/lodash/fp/function.js +2 -0
  978. package/server/node_modules/lodash/fp/functions.js +5 -0
  979. package/server/node_modules/lodash/fp/functionsIn.js +5 -0
  980. package/server/node_modules/lodash/fp/get.js +5 -0
  981. package/server/node_modules/lodash/fp/getOr.js +5 -0
  982. package/server/node_modules/lodash/fp/groupBy.js +5 -0
  983. package/server/node_modules/lodash/fp/gt.js +5 -0
  984. package/server/node_modules/lodash/fp/gte.js +5 -0
  985. package/server/node_modules/lodash/fp/has.js +5 -0
  986. package/server/node_modules/lodash/fp/hasIn.js +5 -0
  987. package/server/node_modules/lodash/fp/head.js +5 -0
  988. package/server/node_modules/lodash/fp/identical.js +1 -0
  989. package/server/node_modules/lodash/fp/identity.js +5 -0
  990. package/server/node_modules/lodash/fp/inRange.js +5 -0
  991. package/server/node_modules/lodash/fp/includes.js +5 -0
  992. package/server/node_modules/lodash/fp/includesFrom.js +5 -0
  993. package/server/node_modules/lodash/fp/indexBy.js +1 -0
  994. package/server/node_modules/lodash/fp/indexOf.js +5 -0
  995. package/server/node_modules/lodash/fp/indexOfFrom.js +5 -0
  996. package/server/node_modules/lodash/fp/init.js +1 -0
  997. package/server/node_modules/lodash/fp/initial.js +5 -0
  998. package/server/node_modules/lodash/fp/intersection.js +5 -0
  999. package/server/node_modules/lodash/fp/intersectionBy.js +5 -0
  1000. package/server/node_modules/lodash/fp/intersectionWith.js +5 -0
  1001. package/server/node_modules/lodash/fp/invert.js +5 -0
  1002. package/server/node_modules/lodash/fp/invertBy.js +5 -0
  1003. package/server/node_modules/lodash/fp/invertObj.js +1 -0
  1004. package/server/node_modules/lodash/fp/invoke.js +5 -0
  1005. package/server/node_modules/lodash/fp/invokeArgs.js +5 -0
  1006. package/server/node_modules/lodash/fp/invokeArgsMap.js +5 -0
  1007. package/server/node_modules/lodash/fp/invokeMap.js +5 -0
  1008. package/server/node_modules/lodash/fp/isArguments.js +5 -0
  1009. package/server/node_modules/lodash/fp/isArray.js +5 -0
  1010. package/server/node_modules/lodash/fp/isArrayBuffer.js +5 -0
  1011. package/server/node_modules/lodash/fp/isArrayLike.js +5 -0
  1012. package/server/node_modules/lodash/fp/isArrayLikeObject.js +5 -0
  1013. package/server/node_modules/lodash/fp/isBoolean.js +5 -0
  1014. package/server/node_modules/lodash/fp/isBuffer.js +5 -0
  1015. package/server/node_modules/lodash/fp/isDate.js +5 -0
  1016. package/server/node_modules/lodash/fp/isElement.js +5 -0
  1017. package/server/node_modules/lodash/fp/isEmpty.js +5 -0
  1018. package/server/node_modules/lodash/fp/isEqual.js +5 -0
  1019. package/server/node_modules/lodash/fp/isEqualWith.js +5 -0
  1020. package/server/node_modules/lodash/fp/isError.js +5 -0
  1021. package/server/node_modules/lodash/fp/isFinite.js +5 -0
  1022. package/server/node_modules/lodash/fp/isFunction.js +5 -0
  1023. package/server/node_modules/lodash/fp/isInteger.js +5 -0
  1024. package/server/node_modules/lodash/fp/isLength.js +5 -0
  1025. package/server/node_modules/lodash/fp/isMap.js +5 -0
  1026. package/server/node_modules/lodash/fp/isMatch.js +5 -0
  1027. package/server/node_modules/lodash/fp/isMatchWith.js +5 -0
  1028. package/server/node_modules/lodash/fp/isNaN.js +5 -0
  1029. package/server/node_modules/lodash/fp/isNative.js +5 -0
  1030. package/server/node_modules/lodash/fp/isNil.js +5 -0
  1031. package/server/node_modules/lodash/fp/isNull.js +5 -0
  1032. package/server/node_modules/lodash/fp/isNumber.js +5 -0
  1033. package/server/node_modules/lodash/fp/isObject.js +5 -0
  1034. package/server/node_modules/lodash/fp/isObjectLike.js +5 -0
  1035. package/server/node_modules/lodash/fp/isPlainObject.js +5 -0
  1036. package/server/node_modules/lodash/fp/isRegExp.js +5 -0
  1037. package/server/node_modules/lodash/fp/isSafeInteger.js +5 -0
  1038. package/server/node_modules/lodash/fp/isSet.js +5 -0
  1039. package/server/node_modules/lodash/fp/isString.js +5 -0
  1040. package/server/node_modules/lodash/fp/isSymbol.js +5 -0
  1041. package/server/node_modules/lodash/fp/isTypedArray.js +5 -0
  1042. package/server/node_modules/lodash/fp/isUndefined.js +5 -0
  1043. package/server/node_modules/lodash/fp/isWeakMap.js +5 -0
  1044. package/server/node_modules/lodash/fp/isWeakSet.js +5 -0
  1045. package/server/node_modules/lodash/fp/iteratee.js +5 -0
  1046. package/server/node_modules/lodash/fp/join.js +5 -0
  1047. package/server/node_modules/lodash/fp/juxt.js +1 -0
  1048. package/server/node_modules/lodash/fp/kebabCase.js +5 -0
  1049. package/server/node_modules/lodash/fp/keyBy.js +5 -0
  1050. package/server/node_modules/lodash/fp/keys.js +5 -0
  1051. package/server/node_modules/lodash/fp/keysIn.js +5 -0
  1052. package/server/node_modules/lodash/fp/lang.js +2 -0
  1053. package/server/node_modules/lodash/fp/last.js +5 -0
  1054. package/server/node_modules/lodash/fp/lastIndexOf.js +5 -0
  1055. package/server/node_modules/lodash/fp/lastIndexOfFrom.js +5 -0
  1056. package/server/node_modules/lodash/fp/lowerCase.js +5 -0
  1057. package/server/node_modules/lodash/fp/lowerFirst.js +5 -0
  1058. package/server/node_modules/lodash/fp/lt.js +5 -0
  1059. package/server/node_modules/lodash/fp/lte.js +5 -0
  1060. package/server/node_modules/lodash/fp/map.js +5 -0
  1061. package/server/node_modules/lodash/fp/mapKeys.js +5 -0
  1062. package/server/node_modules/lodash/fp/mapValues.js +5 -0
  1063. package/server/node_modules/lodash/fp/matches.js +1 -0
  1064. package/server/node_modules/lodash/fp/matchesProperty.js +5 -0
  1065. package/server/node_modules/lodash/fp/math.js +2 -0
  1066. package/server/node_modules/lodash/fp/max.js +5 -0
  1067. package/server/node_modules/lodash/fp/maxBy.js +5 -0
  1068. package/server/node_modules/lodash/fp/mean.js +5 -0
  1069. package/server/node_modules/lodash/fp/meanBy.js +5 -0
  1070. package/server/node_modules/lodash/fp/memoize.js +5 -0
  1071. package/server/node_modules/lodash/fp/merge.js +5 -0
  1072. package/server/node_modules/lodash/fp/mergeAll.js +5 -0
  1073. package/server/node_modules/lodash/fp/mergeAllWith.js +5 -0
  1074. package/server/node_modules/lodash/fp/mergeWith.js +5 -0
  1075. package/server/node_modules/lodash/fp/method.js +5 -0
  1076. package/server/node_modules/lodash/fp/methodOf.js +5 -0
  1077. package/server/node_modules/lodash/fp/min.js +5 -0
  1078. package/server/node_modules/lodash/fp/minBy.js +5 -0
  1079. package/server/node_modules/lodash/fp/mixin.js +5 -0
  1080. package/server/node_modules/lodash/fp/multiply.js +5 -0
  1081. package/server/node_modules/lodash/fp/nAry.js +1 -0
  1082. package/server/node_modules/lodash/fp/negate.js +5 -0
  1083. package/server/node_modules/lodash/fp/next.js +5 -0
  1084. package/server/node_modules/lodash/fp/noop.js +5 -0
  1085. package/server/node_modules/lodash/fp/now.js +5 -0
  1086. package/server/node_modules/lodash/fp/nth.js +5 -0
  1087. package/server/node_modules/lodash/fp/nthArg.js +5 -0
  1088. package/server/node_modules/lodash/fp/number.js +2 -0
  1089. package/server/node_modules/lodash/fp/object.js +2 -0
  1090. package/server/node_modules/lodash/fp/omit.js +5 -0
  1091. package/server/node_modules/lodash/fp/omitAll.js +1 -0
  1092. package/server/node_modules/lodash/fp/omitBy.js +5 -0
  1093. package/server/node_modules/lodash/fp/once.js +5 -0
  1094. package/server/node_modules/lodash/fp/orderBy.js +5 -0
  1095. package/server/node_modules/lodash/fp/over.js +5 -0
  1096. package/server/node_modules/lodash/fp/overArgs.js +5 -0
  1097. package/server/node_modules/lodash/fp/overEvery.js +5 -0
  1098. package/server/node_modules/lodash/fp/overSome.js +5 -0
  1099. package/server/node_modules/lodash/fp/pad.js +5 -0
  1100. package/server/node_modules/lodash/fp/padChars.js +5 -0
  1101. package/server/node_modules/lodash/fp/padCharsEnd.js +5 -0
  1102. package/server/node_modules/lodash/fp/padCharsStart.js +5 -0
  1103. package/server/node_modules/lodash/fp/padEnd.js +5 -0
  1104. package/server/node_modules/lodash/fp/padStart.js +5 -0
  1105. package/server/node_modules/lodash/fp/parseInt.js +5 -0
  1106. package/server/node_modules/lodash/fp/partial.js +5 -0
  1107. package/server/node_modules/lodash/fp/partialRight.js +5 -0
  1108. package/server/node_modules/lodash/fp/partition.js +5 -0
  1109. package/server/node_modules/lodash/fp/path.js +1 -0
  1110. package/server/node_modules/lodash/fp/pathEq.js +1 -0
  1111. package/server/node_modules/lodash/fp/pathOr.js +1 -0
  1112. package/server/node_modules/lodash/fp/paths.js +1 -0
  1113. package/server/node_modules/lodash/fp/pick.js +5 -0
  1114. package/server/node_modules/lodash/fp/pickAll.js +1 -0
  1115. package/server/node_modules/lodash/fp/pickBy.js +5 -0
  1116. package/server/node_modules/lodash/fp/pipe.js +1 -0
  1117. package/server/node_modules/lodash/fp/placeholder.js +6 -0
  1118. package/server/node_modules/lodash/fp/plant.js +5 -0
  1119. package/server/node_modules/lodash/fp/pluck.js +1 -0
  1120. package/server/node_modules/lodash/fp/prop.js +1 -0
  1121. package/server/node_modules/lodash/fp/propEq.js +1 -0
  1122. package/server/node_modules/lodash/fp/propOr.js +1 -0
  1123. package/server/node_modules/lodash/fp/property.js +1 -0
  1124. package/server/node_modules/lodash/fp/propertyOf.js +5 -0
  1125. package/server/node_modules/lodash/fp/props.js +1 -0
  1126. package/server/node_modules/lodash/fp/pull.js +5 -0
  1127. package/server/node_modules/lodash/fp/pullAll.js +5 -0
  1128. package/server/node_modules/lodash/fp/pullAllBy.js +5 -0
  1129. package/server/node_modules/lodash/fp/pullAllWith.js +5 -0
  1130. package/server/node_modules/lodash/fp/pullAt.js +5 -0
  1131. package/server/node_modules/lodash/fp/random.js +5 -0
  1132. package/server/node_modules/lodash/fp/range.js +5 -0
  1133. package/server/node_modules/lodash/fp/rangeRight.js +5 -0
  1134. package/server/node_modules/lodash/fp/rangeStep.js +5 -0
  1135. package/server/node_modules/lodash/fp/rangeStepRight.js +5 -0
  1136. package/server/node_modules/lodash/fp/rearg.js +5 -0
  1137. package/server/node_modules/lodash/fp/reduce.js +5 -0
  1138. package/server/node_modules/lodash/fp/reduceRight.js +5 -0
  1139. package/server/node_modules/lodash/fp/reject.js +5 -0
  1140. package/server/node_modules/lodash/fp/remove.js +5 -0
  1141. package/server/node_modules/lodash/fp/repeat.js +5 -0
  1142. package/server/node_modules/lodash/fp/replace.js +5 -0
  1143. package/server/node_modules/lodash/fp/rest.js +5 -0
  1144. package/server/node_modules/lodash/fp/restFrom.js +5 -0
  1145. package/server/node_modules/lodash/fp/result.js +5 -0
  1146. package/server/node_modules/lodash/fp/reverse.js +5 -0
  1147. package/server/node_modules/lodash/fp/round.js +5 -0
  1148. package/server/node_modules/lodash/fp/sample.js +5 -0
  1149. package/server/node_modules/lodash/fp/sampleSize.js +5 -0
  1150. package/server/node_modules/lodash/fp/seq.js +2 -0
  1151. package/server/node_modules/lodash/fp/set.js +5 -0
  1152. package/server/node_modules/lodash/fp/setWith.js +5 -0
  1153. package/server/node_modules/lodash/fp/shuffle.js +5 -0
  1154. package/server/node_modules/lodash/fp/size.js +5 -0
  1155. package/server/node_modules/lodash/fp/slice.js +5 -0
  1156. package/server/node_modules/lodash/fp/snakeCase.js +5 -0
  1157. package/server/node_modules/lodash/fp/some.js +5 -0
  1158. package/server/node_modules/lodash/fp/sortBy.js +5 -0
  1159. package/server/node_modules/lodash/fp/sortedIndex.js +5 -0
  1160. package/server/node_modules/lodash/fp/sortedIndexBy.js +5 -0
  1161. package/server/node_modules/lodash/fp/sortedIndexOf.js +5 -0
  1162. package/server/node_modules/lodash/fp/sortedLastIndex.js +5 -0
  1163. package/server/node_modules/lodash/fp/sortedLastIndexBy.js +5 -0
  1164. package/server/node_modules/lodash/fp/sortedLastIndexOf.js +5 -0
  1165. package/server/node_modules/lodash/fp/sortedUniq.js +5 -0
  1166. package/server/node_modules/lodash/fp/sortedUniqBy.js +5 -0
  1167. package/server/node_modules/lodash/fp/split.js +5 -0
  1168. package/server/node_modules/lodash/fp/spread.js +5 -0
  1169. package/server/node_modules/lodash/fp/spreadFrom.js +5 -0
  1170. package/server/node_modules/lodash/fp/startCase.js +5 -0
  1171. package/server/node_modules/lodash/fp/startsWith.js +5 -0
  1172. package/server/node_modules/lodash/fp/string.js +2 -0
  1173. package/server/node_modules/lodash/fp/stubArray.js +5 -0
  1174. package/server/node_modules/lodash/fp/stubFalse.js +5 -0
  1175. package/server/node_modules/lodash/fp/stubObject.js +5 -0
  1176. package/server/node_modules/lodash/fp/stubString.js +5 -0
  1177. package/server/node_modules/lodash/fp/stubTrue.js +5 -0
  1178. package/server/node_modules/lodash/fp/subtract.js +5 -0
  1179. package/server/node_modules/lodash/fp/sum.js +5 -0
  1180. package/server/node_modules/lodash/fp/sumBy.js +5 -0
  1181. package/server/node_modules/lodash/fp/symmetricDifference.js +1 -0
  1182. package/server/node_modules/lodash/fp/symmetricDifferenceBy.js +1 -0
  1183. package/server/node_modules/lodash/fp/symmetricDifferenceWith.js +1 -0
  1184. package/server/node_modules/lodash/fp/tail.js +5 -0
  1185. package/server/node_modules/lodash/fp/take.js +5 -0
  1186. package/server/node_modules/lodash/fp/takeLast.js +1 -0
  1187. package/server/node_modules/lodash/fp/takeLastWhile.js +1 -0
  1188. package/server/node_modules/lodash/fp/takeRight.js +5 -0
  1189. package/server/node_modules/lodash/fp/takeRightWhile.js +5 -0
  1190. package/server/node_modules/lodash/fp/takeWhile.js +5 -0
  1191. package/server/node_modules/lodash/fp/tap.js +5 -0
  1192. package/server/node_modules/lodash/fp/template.js +5 -0
  1193. package/server/node_modules/lodash/fp/templateSettings.js +5 -0
  1194. package/server/node_modules/lodash/fp/throttle.js +5 -0
  1195. package/server/node_modules/lodash/fp/thru.js +5 -0
  1196. package/server/node_modules/lodash/fp/times.js +5 -0
  1197. package/server/node_modules/lodash/fp/toArray.js +5 -0
  1198. package/server/node_modules/lodash/fp/toFinite.js +5 -0
  1199. package/server/node_modules/lodash/fp/toInteger.js +5 -0
  1200. package/server/node_modules/lodash/fp/toIterator.js +5 -0
  1201. package/server/node_modules/lodash/fp/toJSON.js +5 -0
  1202. package/server/node_modules/lodash/fp/toLength.js +5 -0
  1203. package/server/node_modules/lodash/fp/toLower.js +5 -0
  1204. package/server/node_modules/lodash/fp/toNumber.js +5 -0
  1205. package/server/node_modules/lodash/fp/toPairs.js +5 -0
  1206. package/server/node_modules/lodash/fp/toPairsIn.js +5 -0
  1207. package/server/node_modules/lodash/fp/toPath.js +5 -0
  1208. package/server/node_modules/lodash/fp/toPlainObject.js +5 -0
  1209. package/server/node_modules/lodash/fp/toSafeInteger.js +5 -0
  1210. package/server/node_modules/lodash/fp/toString.js +5 -0
  1211. package/server/node_modules/lodash/fp/toUpper.js +5 -0
  1212. package/server/node_modules/lodash/fp/transform.js +5 -0
  1213. package/server/node_modules/lodash/fp/trim.js +5 -0
  1214. package/server/node_modules/lodash/fp/trimChars.js +5 -0
  1215. package/server/node_modules/lodash/fp/trimCharsEnd.js +5 -0
  1216. package/server/node_modules/lodash/fp/trimCharsStart.js +5 -0
  1217. package/server/node_modules/lodash/fp/trimEnd.js +5 -0
  1218. package/server/node_modules/lodash/fp/trimStart.js +5 -0
  1219. package/server/node_modules/lodash/fp/truncate.js +5 -0
  1220. package/server/node_modules/lodash/fp/unapply.js +1 -0
  1221. package/server/node_modules/lodash/fp/unary.js +5 -0
  1222. package/server/node_modules/lodash/fp/unescape.js +5 -0
  1223. package/server/node_modules/lodash/fp/union.js +5 -0
  1224. package/server/node_modules/lodash/fp/unionBy.js +5 -0
  1225. package/server/node_modules/lodash/fp/unionWith.js +5 -0
  1226. package/server/node_modules/lodash/fp/uniq.js +5 -0
  1227. package/server/node_modules/lodash/fp/uniqBy.js +5 -0
  1228. package/server/node_modules/lodash/fp/uniqWith.js +5 -0
  1229. package/server/node_modules/lodash/fp/uniqueId.js +5 -0
  1230. package/server/node_modules/lodash/fp/unnest.js +1 -0
  1231. package/server/node_modules/lodash/fp/unset.js +5 -0
  1232. package/server/node_modules/lodash/fp/unzip.js +5 -0
  1233. package/server/node_modules/lodash/fp/unzipWith.js +5 -0
  1234. package/server/node_modules/lodash/fp/update.js +5 -0
  1235. package/server/node_modules/lodash/fp/updateWith.js +5 -0
  1236. package/server/node_modules/lodash/fp/upperCase.js +5 -0
  1237. package/server/node_modules/lodash/fp/upperFirst.js +5 -0
  1238. package/server/node_modules/lodash/fp/useWith.js +1 -0
  1239. package/server/node_modules/lodash/fp/util.js +2 -0
  1240. package/server/node_modules/lodash/fp/value.js +5 -0
  1241. package/server/node_modules/lodash/fp/valueOf.js +5 -0
  1242. package/server/node_modules/lodash/fp/values.js +5 -0
  1243. package/server/node_modules/lodash/fp/valuesIn.js +5 -0
  1244. package/server/node_modules/lodash/fp/where.js +1 -0
  1245. package/server/node_modules/lodash/fp/whereEq.js +1 -0
  1246. package/server/node_modules/lodash/fp/without.js +5 -0
  1247. package/server/node_modules/lodash/fp/words.js +5 -0
  1248. package/server/node_modules/lodash/fp/wrap.js +5 -0
  1249. package/server/node_modules/lodash/fp/wrapperAt.js +5 -0
  1250. package/server/node_modules/lodash/fp/wrapperChain.js +5 -0
  1251. package/server/node_modules/lodash/fp/wrapperLodash.js +5 -0
  1252. package/server/node_modules/lodash/fp/wrapperReverse.js +5 -0
  1253. package/server/node_modules/lodash/fp/wrapperValue.js +5 -0
  1254. package/server/node_modules/lodash/fp/xor.js +5 -0
  1255. package/server/node_modules/lodash/fp/xorBy.js +5 -0
  1256. package/server/node_modules/lodash/fp/xorWith.js +5 -0
  1257. package/server/node_modules/lodash/fp/zip.js +5 -0
  1258. package/server/node_modules/lodash/fp/zipAll.js +5 -0
  1259. package/server/node_modules/lodash/fp/zipObj.js +1 -0
  1260. package/server/node_modules/lodash/fp/zipObject.js +5 -0
  1261. package/server/node_modules/lodash/fp/zipObjectDeep.js +5 -0
  1262. package/server/node_modules/lodash/fp/zipWith.js +5 -0
  1263. package/server/node_modules/lodash/fp.js +2 -0
  1264. package/server/node_modules/lodash/fromPairs.js +28 -0
  1265. package/server/node_modules/lodash/function.js +25 -0
  1266. package/server/node_modules/lodash/functions.js +31 -0
  1267. package/server/node_modules/lodash/functionsIn.js +31 -0
  1268. package/server/node_modules/lodash/get.js +33 -0
  1269. package/server/node_modules/lodash/groupBy.js +41 -0
  1270. package/server/node_modules/lodash/gt.js +29 -0
  1271. package/server/node_modules/lodash/gte.js +30 -0
  1272. package/server/node_modules/lodash/has.js +35 -0
  1273. package/server/node_modules/lodash/hasIn.js +34 -0
  1274. package/server/node_modules/lodash/head.js +23 -0
  1275. package/server/node_modules/lodash/identity.js +21 -0
  1276. package/server/node_modules/lodash/inRange.js +55 -0
  1277. package/server/node_modules/lodash/includes.js +53 -0
  1278. package/server/node_modules/lodash/index.js +1 -0
  1279. package/server/node_modules/lodash/indexOf.js +42 -0
  1280. package/server/node_modules/lodash/initial.js +22 -0
  1281. package/server/node_modules/lodash/intersection.js +30 -0
  1282. package/server/node_modules/lodash/intersectionBy.js +45 -0
  1283. package/server/node_modules/lodash/intersectionWith.js +41 -0
  1284. package/server/node_modules/lodash/invert.js +42 -0
  1285. package/server/node_modules/lodash/invertBy.js +56 -0
  1286. package/server/node_modules/lodash/invoke.js +24 -0
  1287. package/server/node_modules/lodash/invokeMap.js +41 -0
  1288. package/server/node_modules/lodash/isArguments.js +36 -0
  1289. package/server/node_modules/lodash/isArray.js +26 -0
  1290. package/server/node_modules/lodash/isArrayBuffer.js +27 -0
  1291. package/server/node_modules/lodash/isArrayLike.js +33 -0
  1292. package/server/node_modules/lodash/isArrayLikeObject.js +33 -0
  1293. package/server/node_modules/lodash/isBoolean.js +29 -0
  1294. package/server/node_modules/lodash/isBuffer.js +38 -0
  1295. package/server/node_modules/lodash/isDate.js +27 -0
  1296. package/server/node_modules/lodash/isElement.js +25 -0
  1297. package/server/node_modules/lodash/isEmpty.js +77 -0
  1298. package/server/node_modules/lodash/isEqual.js +35 -0
  1299. package/server/node_modules/lodash/isEqualWith.js +41 -0
  1300. package/server/node_modules/lodash/isError.js +36 -0
  1301. package/server/node_modules/lodash/isFinite.js +36 -0
  1302. package/server/node_modules/lodash/isFunction.js +37 -0
  1303. package/server/node_modules/lodash/isInteger.js +33 -0
  1304. package/server/node_modules/lodash/isLength.js +35 -0
  1305. package/server/node_modules/lodash/isMap.js +27 -0
  1306. package/server/node_modules/lodash/isMatch.js +36 -0
  1307. package/server/node_modules/lodash/isMatchWith.js +41 -0
  1308. package/server/node_modules/lodash/isNaN.js +38 -0
  1309. package/server/node_modules/lodash/isNative.js +40 -0
  1310. package/server/node_modules/lodash/isNil.js +25 -0
  1311. package/server/node_modules/lodash/isNull.js +22 -0
  1312. package/server/node_modules/lodash/isNumber.js +38 -0
  1313. package/server/node_modules/lodash/isObject.js +31 -0
  1314. package/server/node_modules/lodash/isObjectLike.js +29 -0
  1315. package/server/node_modules/lodash/isPlainObject.js +62 -0
  1316. package/server/node_modules/lodash/isRegExp.js +27 -0
  1317. package/server/node_modules/lodash/isSafeInteger.js +37 -0
  1318. package/server/node_modules/lodash/isSet.js +27 -0
  1319. package/server/node_modules/lodash/isString.js +30 -0
  1320. package/server/node_modules/lodash/isSymbol.js +29 -0
  1321. package/server/node_modules/lodash/isTypedArray.js +27 -0
  1322. package/server/node_modules/lodash/isUndefined.js +22 -0
  1323. package/server/node_modules/lodash/isWeakMap.js +28 -0
  1324. package/server/node_modules/lodash/isWeakSet.js +28 -0
  1325. package/server/node_modules/lodash/iteratee.js +53 -0
  1326. package/server/node_modules/lodash/join.js +26 -0
  1327. package/server/node_modules/lodash/kebabCase.js +28 -0
  1328. package/server/node_modules/lodash/keyBy.js +36 -0
  1329. package/server/node_modules/lodash/keys.js +37 -0
  1330. package/server/node_modules/lodash/keysIn.js +32 -0
  1331. package/server/node_modules/lodash/lang.js +58 -0
  1332. package/server/node_modules/lodash/last.js +20 -0
  1333. package/server/node_modules/lodash/lastIndexOf.js +46 -0
  1334. package/server/node_modules/lodash/lodash.js +17209 -0
  1335. package/server/node_modules/lodash/lodash.min.js +140 -0
  1336. package/server/node_modules/lodash/lowerCase.js +27 -0
  1337. package/server/node_modules/lodash/lowerFirst.js +22 -0
  1338. package/server/node_modules/lodash/lt.js +29 -0
  1339. package/server/node_modules/lodash/lte.js +30 -0
  1340. package/server/node_modules/lodash/map.js +53 -0
  1341. package/server/node_modules/lodash/mapKeys.js +36 -0
  1342. package/server/node_modules/lodash/mapValues.js +43 -0
  1343. package/server/node_modules/lodash/matches.js +46 -0
  1344. package/server/node_modules/lodash/matchesProperty.js +44 -0
  1345. package/server/node_modules/lodash/math.js +17 -0
  1346. package/server/node_modules/lodash/max.js +29 -0
  1347. package/server/node_modules/lodash/maxBy.js +34 -0
  1348. package/server/node_modules/lodash/mean.js +22 -0
  1349. package/server/node_modules/lodash/meanBy.js +31 -0
  1350. package/server/node_modules/lodash/memoize.js +73 -0
  1351. package/server/node_modules/lodash/merge.js +39 -0
  1352. package/server/node_modules/lodash/mergeWith.js +39 -0
  1353. package/server/node_modules/lodash/method.js +34 -0
  1354. package/server/node_modules/lodash/methodOf.js +33 -0
  1355. package/server/node_modules/lodash/min.js +29 -0
  1356. package/server/node_modules/lodash/minBy.js +34 -0
  1357. package/server/node_modules/lodash/mixin.js +74 -0
  1358. package/server/node_modules/lodash/multiply.js +22 -0
  1359. package/server/node_modules/lodash/negate.js +40 -0
  1360. package/server/node_modules/lodash/next.js +35 -0
  1361. package/server/node_modules/lodash/noop.js +17 -0
  1362. package/server/node_modules/lodash/now.js +23 -0
  1363. package/server/node_modules/lodash/nth.js +29 -0
  1364. package/server/node_modules/lodash/nthArg.js +32 -0
  1365. package/server/node_modules/lodash/number.js +5 -0
  1366. package/server/node_modules/lodash/object.js +49 -0
  1367. package/server/node_modules/lodash/omit.js +57 -0
  1368. package/server/node_modules/lodash/omitBy.js +29 -0
  1369. package/server/node_modules/lodash/once.js +25 -0
  1370. package/server/node_modules/lodash/orderBy.js +47 -0
  1371. package/server/node_modules/lodash/over.js +24 -0
  1372. package/server/node_modules/lodash/overArgs.js +61 -0
  1373. package/server/node_modules/lodash/overEvery.js +34 -0
  1374. package/server/node_modules/lodash/overSome.js +37 -0
  1375. package/server/node_modules/lodash/package.json +17 -0
  1376. package/server/node_modules/lodash/pad.js +49 -0
  1377. package/server/node_modules/lodash/padEnd.js +39 -0
  1378. package/server/node_modules/lodash/padStart.js +39 -0
  1379. package/server/node_modules/lodash/parseInt.js +43 -0
  1380. package/server/node_modules/lodash/partial.js +50 -0
  1381. package/server/node_modules/lodash/partialRight.js +49 -0
  1382. package/server/node_modules/lodash/partition.js +43 -0
  1383. package/server/node_modules/lodash/pick.js +25 -0
  1384. package/server/node_modules/lodash/pickBy.js +37 -0
  1385. package/server/node_modules/lodash/plant.js +48 -0
  1386. package/server/node_modules/lodash/property.js +32 -0
  1387. package/server/node_modules/lodash/propertyOf.js +30 -0
  1388. package/server/node_modules/lodash/pull.js +29 -0
  1389. package/server/node_modules/lodash/pullAll.js +29 -0
  1390. package/server/node_modules/lodash/pullAllBy.js +33 -0
  1391. package/server/node_modules/lodash/pullAllWith.js +32 -0
  1392. package/server/node_modules/lodash/pullAt.js +43 -0
  1393. package/server/node_modules/lodash/random.js +82 -0
  1394. package/server/node_modules/lodash/range.js +46 -0
  1395. package/server/node_modules/lodash/rangeRight.js +41 -0
  1396. package/server/node_modules/lodash/rearg.js +33 -0
  1397. package/server/node_modules/lodash/reduce.js +51 -0
  1398. package/server/node_modules/lodash/reduceRight.js +36 -0
  1399. package/server/node_modules/lodash/reject.js +46 -0
  1400. package/server/node_modules/lodash/release.md +48 -0
  1401. package/server/node_modules/lodash/remove.js +53 -0
  1402. package/server/node_modules/lodash/repeat.js +37 -0
  1403. package/server/node_modules/lodash/replace.js +29 -0
  1404. package/server/node_modules/lodash/rest.js +40 -0
  1405. package/server/node_modules/lodash/result.js +56 -0
  1406. package/server/node_modules/lodash/reverse.js +34 -0
  1407. package/server/node_modules/lodash/round.js +26 -0
  1408. package/server/node_modules/lodash/sample.js +24 -0
  1409. package/server/node_modules/lodash/sampleSize.js +37 -0
  1410. package/server/node_modules/lodash/seq.js +16 -0
  1411. package/server/node_modules/lodash/set.js +35 -0
  1412. package/server/node_modules/lodash/setWith.js +32 -0
  1413. package/server/node_modules/lodash/shuffle.js +25 -0
  1414. package/server/node_modules/lodash/size.js +46 -0
  1415. package/server/node_modules/lodash/slice.js +37 -0
  1416. package/server/node_modules/lodash/snakeCase.js +28 -0
  1417. package/server/node_modules/lodash/some.js +51 -0
  1418. package/server/node_modules/lodash/sortBy.js +48 -0
  1419. package/server/node_modules/lodash/sortedIndex.js +24 -0
  1420. package/server/node_modules/lodash/sortedIndexBy.js +33 -0
  1421. package/server/node_modules/lodash/sortedIndexOf.js +31 -0
  1422. package/server/node_modules/lodash/sortedLastIndex.js +25 -0
  1423. package/server/node_modules/lodash/sortedLastIndexBy.js +33 -0
  1424. package/server/node_modules/lodash/sortedLastIndexOf.js +31 -0
  1425. package/server/node_modules/lodash/sortedUniq.js +24 -0
  1426. package/server/node_modules/lodash/sortedUniqBy.js +26 -0
  1427. package/server/node_modules/lodash/split.js +52 -0
  1428. package/server/node_modules/lodash/spread.js +63 -0
  1429. package/server/node_modules/lodash/startCase.js +29 -0
  1430. package/server/node_modules/lodash/startsWith.js +39 -0
  1431. package/server/node_modules/lodash/string.js +33 -0
  1432. package/server/node_modules/lodash/stubArray.js +23 -0
  1433. package/server/node_modules/lodash/stubFalse.js +18 -0
  1434. package/server/node_modules/lodash/stubObject.js +23 -0
  1435. package/server/node_modules/lodash/stubString.js +18 -0
  1436. package/server/node_modules/lodash/stubTrue.js +18 -0
  1437. package/server/node_modules/lodash/subtract.js +22 -0
  1438. package/server/node_modules/lodash/sum.js +24 -0
  1439. package/server/node_modules/lodash/sumBy.js +33 -0
  1440. package/server/node_modules/lodash/tail.js +22 -0
  1441. package/server/node_modules/lodash/take.js +37 -0
  1442. package/server/node_modules/lodash/takeRight.js +39 -0
  1443. package/server/node_modules/lodash/takeRightWhile.js +45 -0
  1444. package/server/node_modules/lodash/takeWhile.js +45 -0
  1445. package/server/node_modules/lodash/tap.js +29 -0
  1446. package/server/node_modules/lodash/template.js +272 -0
  1447. package/server/node_modules/lodash/templateSettings.js +67 -0
  1448. package/server/node_modules/lodash/throttle.js +69 -0
  1449. package/server/node_modules/lodash/thru.js +28 -0
  1450. package/server/node_modules/lodash/times.js +51 -0
  1451. package/server/node_modules/lodash/toArray.js +58 -0
  1452. package/server/node_modules/lodash/toFinite.js +42 -0
  1453. package/server/node_modules/lodash/toInteger.js +36 -0
  1454. package/server/node_modules/lodash/toIterator.js +23 -0
  1455. package/server/node_modules/lodash/toJSON.js +1 -0
  1456. package/server/node_modules/lodash/toLength.js +38 -0
  1457. package/server/node_modules/lodash/toLower.js +28 -0
  1458. package/server/node_modules/lodash/toNumber.js +64 -0
  1459. package/server/node_modules/lodash/toPairs.js +30 -0
  1460. package/server/node_modules/lodash/toPairsIn.js +30 -0
  1461. package/server/node_modules/lodash/toPath.js +33 -0
  1462. package/server/node_modules/lodash/toPlainObject.js +32 -0
  1463. package/server/node_modules/lodash/toSafeInteger.js +37 -0
  1464. package/server/node_modules/lodash/toString.js +28 -0
  1465. package/server/node_modules/lodash/toUpper.js +28 -0
  1466. package/server/node_modules/lodash/transform.js +65 -0
  1467. package/server/node_modules/lodash/trim.js +47 -0
  1468. package/server/node_modules/lodash/trimEnd.js +41 -0
  1469. package/server/node_modules/lodash/trimStart.js +43 -0
  1470. package/server/node_modules/lodash/truncate.js +111 -0
  1471. package/server/node_modules/lodash/unary.js +22 -0
  1472. package/server/node_modules/lodash/unescape.js +34 -0
  1473. package/server/node_modules/lodash/union.js +26 -0
  1474. package/server/node_modules/lodash/unionBy.js +39 -0
  1475. package/server/node_modules/lodash/unionWith.js +34 -0
  1476. package/server/node_modules/lodash/uniq.js +25 -0
  1477. package/server/node_modules/lodash/uniqBy.js +31 -0
  1478. package/server/node_modules/lodash/uniqWith.js +28 -0
  1479. package/server/node_modules/lodash/uniqueId.js +28 -0
  1480. package/server/node_modules/lodash/unset.js +34 -0
  1481. package/server/node_modules/lodash/unzip.js +45 -0
  1482. package/server/node_modules/lodash/unzipWith.js +39 -0
  1483. package/server/node_modules/lodash/update.js +35 -0
  1484. package/server/node_modules/lodash/updateWith.js +33 -0
  1485. package/server/node_modules/lodash/upperCase.js +27 -0
  1486. package/server/node_modules/lodash/upperFirst.js +22 -0
  1487. package/server/node_modules/lodash/util.js +34 -0
  1488. package/server/node_modules/lodash/value.js +1 -0
  1489. package/server/node_modules/lodash/valueOf.js +1 -0
  1490. package/server/node_modules/lodash/values.js +34 -0
  1491. package/server/node_modules/lodash/valuesIn.js +32 -0
  1492. package/server/node_modules/lodash/without.js +31 -0
  1493. package/server/node_modules/lodash/words.js +35 -0
  1494. package/server/node_modules/lodash/wrap.js +30 -0
  1495. package/server/node_modules/lodash/wrapperAt.js +48 -0
  1496. package/server/node_modules/lodash/wrapperChain.js +34 -0
  1497. package/server/node_modules/lodash/wrapperLodash.js +147 -0
  1498. package/server/node_modules/lodash/wrapperReverse.js +44 -0
  1499. package/server/node_modules/lodash/wrapperValue.js +21 -0
  1500. package/server/node_modules/lodash/xor.js +28 -0
  1501. package/server/node_modules/lodash/xorBy.js +39 -0
  1502. package/server/node_modules/lodash/xorWith.js +34 -0
  1503. package/server/node_modules/lodash/zip.js +22 -0
  1504. package/server/node_modules/lodash/zipObject.js +24 -0
  1505. package/server/node_modules/lodash/zipObjectDeep.js +23 -0
  1506. package/server/node_modules/lodash/zipWith.js +32 -0
  1507. package/server/node_modules/logform/.babelrc +3 -0
  1508. package/server/node_modules/logform/.eslintrc +7 -0
  1509. package/server/node_modules/logform/.gitattributes +1 -0
  1510. package/server/node_modules/logform/.travis.yml +17 -0
  1511. package/server/node_modules/logform/CHANGELOG.md +232 -0
  1512. package/server/node_modules/logform/LICENSE +21 -0
  1513. package/server/node_modules/logform/README.md +653 -0
  1514. package/server/node_modules/logform/align.js +14 -0
  1515. package/server/node_modules/logform/browser.js +38 -0
  1516. package/server/node_modules/logform/cli.js +52 -0
  1517. package/server/node_modules/logform/colorize.js +122 -0
  1518. package/server/node_modules/logform/combine.js +66 -0
  1519. package/server/node_modules/logform/dist/align.js +15 -0
  1520. package/server/node_modules/logform/dist/browser.js +72 -0
  1521. package/server/node_modules/logform/dist/cli.js +73 -0
  1522. package/server/node_modules/logform/dist/colorize.js +144 -0
  1523. package/server/node_modules/logform/dist/combine.js +71 -0
  1524. package/server/node_modules/logform/dist/errors.js +43 -0
  1525. package/server/node_modules/logform/dist/format.js +87 -0
  1526. package/server/node_modules/logform/dist/index.js +87 -0
  1527. package/server/node_modules/logform/dist/json.js +33 -0
  1528. package/server/node_modules/logform/dist/label.js +20 -0
  1529. package/server/node_modules/logform/dist/levels.js +14 -0
  1530. package/server/node_modules/logform/dist/logstash.js +34 -0
  1531. package/server/node_modules/logform/dist/metadata.js +64 -0
  1532. package/server/node_modules/logform/dist/ms.js +21 -0
  1533. package/server/node_modules/logform/dist/pad-levels.js +127 -0
  1534. package/server/node_modules/logform/dist/pretty-print.js +34 -0
  1535. package/server/node_modules/logform/dist/printf.js +41 -0
  1536. package/server/node_modules/logform/dist/simple.js +37 -0
  1537. package/server/node_modules/logform/dist/splat.js +159 -0
  1538. package/server/node_modules/logform/dist/timestamp.js +32 -0
  1539. package/server/node_modules/logform/dist/uncolorize.js +31 -0
  1540. package/server/node_modules/logform/errors.js +39 -0
  1541. package/server/node_modules/logform/examples/combine.js +14 -0
  1542. package/server/node_modules/logform/examples/filter.js +30 -0
  1543. package/server/node_modules/logform/examples/invalid.js +6 -0
  1544. package/server/node_modules/logform/examples/metadata.js +78 -0
  1545. package/server/node_modules/logform/examples/padLevels.js +39 -0
  1546. package/server/node_modules/logform/examples/volume.js +25 -0
  1547. package/server/node_modules/logform/format.js +52 -0
  1548. package/server/node_modules/logform/index.d.ts +161 -0
  1549. package/server/node_modules/logform/index.js +52 -0
  1550. package/server/node_modules/logform/json.js +29 -0
  1551. package/server/node_modules/logform/label.js +19 -0
  1552. package/server/node_modules/logform/levels.js +12 -0
  1553. package/server/node_modules/logform/logstash.js +29 -0
  1554. package/server/node_modules/logform/metadata.js +61 -0
  1555. package/server/node_modules/logform/ms.js +18 -0
  1556. package/server/node_modules/logform/node_modules/colors/LICENSE +25 -0
  1557. package/server/node_modules/logform/node_modules/colors/README.md +221 -0
  1558. package/server/node_modules/logform/node_modules/colors/examples/normal-usage.js +82 -0
  1559. package/server/node_modules/logform/node_modules/colors/examples/safe-string.js +79 -0
  1560. package/server/node_modules/logform/node_modules/colors/index.d.ts +136 -0
  1561. package/server/node_modules/logform/node_modules/colors/lib/colors.js +211 -0
  1562. package/server/node_modules/logform/node_modules/colors/lib/custom/trap.js +46 -0
  1563. package/server/node_modules/logform/node_modules/colors/lib/custom/zalgo.js +110 -0
  1564. package/server/node_modules/logform/node_modules/colors/lib/extendStringPrototype.js +110 -0
  1565. package/server/node_modules/logform/node_modules/colors/lib/index.js +13 -0
  1566. package/server/node_modules/logform/node_modules/colors/lib/maps/america.js +10 -0
  1567. package/server/node_modules/logform/node_modules/colors/lib/maps/rainbow.js +12 -0
  1568. package/server/node_modules/logform/node_modules/colors/lib/maps/random.js +11 -0
  1569. package/server/node_modules/logform/node_modules/colors/lib/maps/zebra.js +5 -0
  1570. package/server/node_modules/logform/node_modules/colors/lib/styles.js +95 -0
  1571. package/server/node_modules/logform/node_modules/colors/lib/system/has-flag.js +35 -0
  1572. package/server/node_modules/logform/node_modules/colors/lib/system/supports-colors.js +151 -0
  1573. package/server/node_modules/logform/node_modules/colors/package.json +45 -0
  1574. package/server/node_modules/logform/node_modules/colors/safe.d.ts +48 -0
  1575. package/server/node_modules/logform/node_modules/colors/safe.js +10 -0
  1576. package/server/node_modules/logform/node_modules/colors/themes/generic-logging.js +12 -0
  1577. package/server/node_modules/logform/node_modules/ms/index.js +162 -0
  1578. package/server/node_modules/logform/node_modules/ms/license.md +21 -0
  1579. package/server/node_modules/logform/node_modules/ms/package.json +38 -0
  1580. package/server/node_modules/logform/node_modules/ms/readme.md +59 -0
  1581. package/server/node_modules/logform/package.json +48 -0
  1582. package/server/node_modules/logform/pad-levels.js +83 -0
  1583. package/server/node_modules/logform/pretty-print.js +29 -0
  1584. package/server/node_modules/logform/printf.js +26 -0
  1585. package/server/node_modules/logform/simple.js +33 -0
  1586. package/server/node_modules/logform/splat.js +132 -0
  1587. package/server/node_modules/logform/timestamp.js +30 -0
  1588. package/server/node_modules/logform/tsconfig.json +22 -0
  1589. package/server/node_modules/logform/uncolorize.js +27 -0
  1590. package/server/node_modules/media-typer/HISTORY.md +22 -0
  1591. package/server/node_modules/media-typer/LICENSE +22 -0
  1592. package/server/node_modules/media-typer/README.md +81 -0
  1593. package/server/node_modules/media-typer/index.js +270 -0
  1594. package/server/node_modules/media-typer/package.json +26 -0
  1595. package/server/node_modules/merge-descriptors/HISTORY.md +21 -0
  1596. package/server/node_modules/merge-descriptors/LICENSE +23 -0
  1597. package/server/node_modules/merge-descriptors/README.md +48 -0
  1598. package/server/node_modules/merge-descriptors/index.js +60 -0
  1599. package/server/node_modules/merge-descriptors/package.json +32 -0
  1600. package/server/node_modules/methods/HISTORY.md +29 -0
  1601. package/server/node_modules/methods/LICENSE +24 -0
  1602. package/server/node_modules/methods/README.md +51 -0
  1603. package/server/node_modules/methods/index.js +69 -0
  1604. package/server/node_modules/methods/package.json +36 -0
  1605. package/server/node_modules/mime/CHANGELOG.md +164 -0
  1606. package/server/node_modules/mime/LICENSE +21 -0
  1607. package/server/node_modules/mime/README.md +90 -0
  1608. package/server/node_modules/mime/cli.js +8 -0
  1609. package/server/node_modules/mime/mime.js +108 -0
  1610. package/server/node_modules/mime/package.json +44 -0
  1611. package/server/node_modules/mime/src/build.js +53 -0
  1612. package/server/node_modules/mime/src/test.js +60 -0
  1613. package/server/node_modules/mime/types.json +1 -0
  1614. package/server/node_modules/mime-db/HISTORY.md +499 -0
  1615. package/server/node_modules/mime-db/LICENSE +22 -0
  1616. package/server/node_modules/mime-db/README.md +100 -0
  1617. package/server/node_modules/mime-db/db.json +8471 -0
  1618. package/server/node_modules/mime-db/index.js +11 -0
  1619. package/server/node_modules/mime-db/package.json +59 -0
  1620. package/server/node_modules/mime-types/HISTORY.md +388 -0
  1621. package/server/node_modules/mime-types/LICENSE +23 -0
  1622. package/server/node_modules/mime-types/README.md +113 -0
  1623. package/server/node_modules/mime-types/index.js +188 -0
  1624. package/server/node_modules/mime-types/package.json +44 -0
  1625. package/server/node_modules/ms/index.js +152 -0
  1626. package/server/node_modules/ms/license.md +21 -0
  1627. package/server/node_modules/ms/package.json +37 -0
  1628. package/server/node_modules/ms/readme.md +51 -0
  1629. package/server/node_modules/negotiator/HISTORY.md +103 -0
  1630. package/server/node_modules/negotiator/LICENSE +24 -0
  1631. package/server/node_modules/negotiator/README.md +203 -0
  1632. package/server/node_modules/negotiator/index.js +124 -0
  1633. package/server/node_modules/negotiator/lib/charset.js +169 -0
  1634. package/server/node_modules/negotiator/lib/encoding.js +184 -0
  1635. package/server/node_modules/negotiator/lib/language.js +179 -0
  1636. package/server/node_modules/negotiator/lib/mediaType.js +294 -0
  1637. package/server/node_modules/negotiator/package.json +42 -0
  1638. package/server/node_modules/node-json-db/LICENSE +21 -0
  1639. package/server/node_modules/node-json-db/README.md +278 -0
  1640. package/server/node_modules/node-json-db/dist/JsonDB.d.ts +101 -0
  1641. package/server/node_modules/node-json-db/dist/JsonDB.js +347 -0
  1642. package/server/node_modules/node-json-db/dist/JsonDB.js.map +1 -0
  1643. package/server/node_modules/node-json-db/dist/lib/ArrayInfo.d.ts +40 -0
  1644. package/server/node_modules/node-json-db/dist/lib/ArrayInfo.js +112 -0
  1645. package/server/node_modules/node-json-db/dist/lib/ArrayInfo.js.map +1 -0
  1646. package/server/node_modules/node-json-db/dist/lib/DBParentData.d.ts +27 -0
  1647. package/server/node_modules/node-json-db/dist/lib/DBParentData.js +84 -0
  1648. package/server/node_modules/node-json-db/dist/lib/DBParentData.js.map +1 -0
  1649. package/server/node_modules/node-json-db/dist/lib/Errors.d.ts +10 -0
  1650. package/server/node_modules/node-json-db/dist/lib/Errors.js +28 -0
  1651. package/server/node_modules/node-json-db/dist/lib/Errors.js.map +1 -0
  1652. package/server/node_modules/node-json-db/dist/lib/JsonDBConfig.d.ts +13 -0
  1653. package/server/node_modules/node-json-db/dist/lib/JsonDBConfig.js +22 -0
  1654. package/server/node_modules/node-json-db/dist/lib/JsonDBConfig.js.map +1 -0
  1655. package/server/node_modules/node-json-db/dist/lib/Utils.d.ts +5 -0
  1656. package/server/node_modules/node-json-db/dist/lib/Utils.js +36 -0
  1657. package/server/node_modules/node-json-db/dist/lib/Utils.js.map +1 -0
  1658. package/server/node_modules/node-json-db/node_modules/mkdirp/CHANGELOG.md +15 -0
  1659. package/server/node_modules/node-json-db/node_modules/mkdirp/LICENSE +21 -0
  1660. package/server/node_modules/node-json-db/node_modules/mkdirp/bin/cmd.js +68 -0
  1661. package/server/node_modules/node-json-db/node_modules/mkdirp/index.js +31 -0
  1662. package/server/node_modules/node-json-db/node_modules/mkdirp/lib/find-made.js +29 -0
  1663. package/server/node_modules/node-json-db/node_modules/mkdirp/lib/mkdirp-manual.js +64 -0
  1664. package/server/node_modules/node-json-db/node_modules/mkdirp/lib/mkdirp-native.js +39 -0
  1665. package/server/node_modules/node-json-db/node_modules/mkdirp/lib/opts-arg.js +23 -0
  1666. package/server/node_modules/node-json-db/node_modules/mkdirp/lib/path-arg.js +29 -0
  1667. package/server/node_modules/node-json-db/node_modules/mkdirp/lib/use-native.js +10 -0
  1668. package/server/node_modules/node-json-db/node_modules/mkdirp/package.json +44 -0
  1669. package/server/node_modules/node-json-db/node_modules/mkdirp/readme.markdown +266 -0
  1670. package/server/node_modules/node-json-db/package.json +85 -0
  1671. package/server/node_modules/node-os-utils/.travis.yml +7 -0
  1672. package/server/node_modules/node-os-utils/LICENSE +21 -0
  1673. package/server/node_modules/node-os-utils/README.md +351 -0
  1674. package/server/node_modules/node-os-utils/index.js +17 -0
  1675. package/server/node_modules/node-os-utils/lib/bucket.js +14 -0
  1676. package/server/node_modules/node-os-utils/lib/cpu.js +94 -0
  1677. package/server/node_modules/node-os-utils/lib/drive.js +113 -0
  1678. package/server/node_modules/node-os-utils/lib/exec.js +28 -0
  1679. package/server/node_modules/node-os-utils/lib/mem.js +176 -0
  1680. package/server/node_modules/node-os-utils/lib/netstat.js +182 -0
  1681. package/server/node_modules/node-os-utils/lib/openfiles.js +25 -0
  1682. package/server/node_modules/node-os-utils/lib/os.js +148 -0
  1683. package/server/node_modules/node-os-utils/lib/osCmd.js +20 -0
  1684. package/server/node_modules/node-os-utils/lib/proc.js +38 -0
  1685. package/server/node_modules/node-os-utils/lib/users.js +18 -0
  1686. package/server/node_modules/node-os-utils/package.json +39 -0
  1687. package/server/node_modules/node-os-utils/test/test.js +55 -0
  1688. package/server/node_modules/node-os-utils/util/co.js +237 -0
  1689. package/server/node_modules/node-os-utils/util/index.js +12 -0
  1690. package/server/node_modules/on-finished/HISTORY.md +88 -0
  1691. package/server/node_modules/on-finished/LICENSE +23 -0
  1692. package/server/node_modules/on-finished/README.md +154 -0
  1693. package/server/node_modules/on-finished/index.js +196 -0
  1694. package/server/node_modules/on-finished/package.json +31 -0
  1695. package/server/node_modules/one-time/LICENSE +22 -0
  1696. package/server/node_modules/one-time/README.md +88 -0
  1697. package/server/node_modules/one-time/async.js +43 -0
  1698. package/server/node_modules/one-time/index.js +42 -0
  1699. package/server/node_modules/one-time/package.json +34 -0
  1700. package/server/node_modules/parseurl/HISTORY.md +58 -0
  1701. package/server/node_modules/parseurl/LICENSE +24 -0
  1702. package/server/node_modules/parseurl/README.md +133 -0
  1703. package/server/node_modules/parseurl/index.js +158 -0
  1704. package/server/node_modules/parseurl/package.json +40 -0
  1705. package/server/node_modules/path-to-regexp/History.md +36 -0
  1706. package/server/node_modules/path-to-regexp/LICENSE +21 -0
  1707. package/server/node_modules/path-to-regexp/Readme.md +35 -0
  1708. package/server/node_modules/path-to-regexp/index.js +129 -0
  1709. package/server/node_modules/path-to-regexp/package.json +30 -0
  1710. package/server/node_modules/process-nextick-args/index.js +45 -0
  1711. package/server/node_modules/process-nextick-args/license.md +19 -0
  1712. package/server/node_modules/process-nextick-args/package.json +25 -0
  1713. package/server/node_modules/process-nextick-args/readme.md +18 -0
  1714. package/server/node_modules/proxy-addr/HISTORY.md +161 -0
  1715. package/server/node_modules/proxy-addr/LICENSE +22 -0
  1716. package/server/node_modules/proxy-addr/README.md +139 -0
  1717. package/server/node_modules/proxy-addr/index.js +327 -0
  1718. package/server/node_modules/proxy-addr/package.json +47 -0
  1719. package/server/node_modules/qs/.editorconfig +30 -0
  1720. package/server/node_modules/qs/.eslintignore +1 -0
  1721. package/server/node_modules/qs/.eslintrc +21 -0
  1722. package/server/node_modules/qs/CHANGELOG.md +256 -0
  1723. package/server/node_modules/qs/LICENSE +28 -0
  1724. package/server/node_modules/qs/README.md +570 -0
  1725. package/server/node_modules/qs/dist/qs.js +782 -0
  1726. package/server/node_modules/qs/lib/formats.js +18 -0
  1727. package/server/node_modules/qs/lib/index.js +11 -0
  1728. package/server/node_modules/qs/lib/parse.js +242 -0
  1729. package/server/node_modules/qs/lib/stringify.js +269 -0
  1730. package/server/node_modules/qs/lib/utils.js +230 -0
  1731. package/server/node_modules/qs/package.json +58 -0
  1732. package/server/node_modules/qs/test/.eslintrc +17 -0
  1733. package/server/node_modules/qs/test/index.js +7 -0
  1734. package/server/node_modules/qs/test/parse.js +676 -0
  1735. package/server/node_modules/qs/test/stringify.js +679 -0
  1736. package/server/node_modules/qs/test/utils.js +136 -0
  1737. package/server/node_modules/range-parser/HISTORY.md +56 -0
  1738. package/server/node_modules/range-parser/LICENSE +23 -0
  1739. package/server/node_modules/range-parser/README.md +84 -0
  1740. package/server/node_modules/range-parser/index.js +162 -0
  1741. package/server/node_modules/range-parser/package.json +44 -0
  1742. package/server/node_modules/raw-body/HISTORY.md +270 -0
  1743. package/server/node_modules/raw-body/LICENSE +22 -0
  1744. package/server/node_modules/raw-body/README.md +219 -0
  1745. package/server/node_modules/raw-body/index.d.ts +87 -0
  1746. package/server/node_modules/raw-body/index.js +286 -0
  1747. package/server/node_modules/raw-body/package.json +48 -0
  1748. package/server/node_modules/readable-stream/.travis.yml +34 -0
  1749. package/server/node_modules/readable-stream/CONTRIBUTING.md +38 -0
  1750. package/server/node_modules/readable-stream/GOVERNANCE.md +136 -0
  1751. package/server/node_modules/readable-stream/LICENSE +47 -0
  1752. package/server/node_modules/readable-stream/README.md +58 -0
  1753. package/server/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md +60 -0
  1754. package/server/node_modules/readable-stream/duplex-browser.js +1 -0
  1755. package/server/node_modules/readable-stream/duplex.js +1 -0
  1756. package/server/node_modules/readable-stream/lib/_stream_duplex.js +131 -0
  1757. package/server/node_modules/readable-stream/lib/_stream_passthrough.js +47 -0
  1758. package/server/node_modules/readable-stream/lib/_stream_readable.js +1019 -0
  1759. package/server/node_modules/readable-stream/lib/_stream_transform.js +214 -0
  1760. package/server/node_modules/readable-stream/lib/_stream_writable.js +687 -0
  1761. package/server/node_modules/readable-stream/lib/internal/streams/BufferList.js +79 -0
  1762. package/server/node_modules/readable-stream/lib/internal/streams/destroy.js +74 -0
  1763. package/server/node_modules/readable-stream/lib/internal/streams/stream-browser.js +1 -0
  1764. package/server/node_modules/readable-stream/lib/internal/streams/stream.js +1 -0
  1765. package/server/node_modules/readable-stream/package.json +52 -0
  1766. package/server/node_modules/readable-stream/passthrough.js +1 -0
  1767. package/server/node_modules/readable-stream/readable-browser.js +7 -0
  1768. package/server/node_modules/readable-stream/readable.js +19 -0
  1769. package/server/node_modules/readable-stream/transform.js +1 -0
  1770. package/server/node_modules/readable-stream/writable-browser.js +1 -0
  1771. package/server/node_modules/readable-stream/writable.js +8 -0
  1772. package/server/node_modules/safe-buffer/LICENSE +21 -0
  1773. package/server/node_modules/safe-buffer/README.md +584 -0
  1774. package/server/node_modules/safe-buffer/index.d.ts +187 -0
  1775. package/server/node_modules/safe-buffer/index.js +62 -0
  1776. package/server/node_modules/safe-buffer/package.json +37 -0
  1777. package/server/node_modules/safe-stable-stringify/.travis.yml +7 -0
  1778. package/server/node_modules/safe-stable-stringify/CHANGELOG.md +7 -0
  1779. package/server/node_modules/safe-stable-stringify/LICENSE +21 -0
  1780. package/server/node_modules/safe-stable-stringify/benchmark.js +118 -0
  1781. package/server/node_modules/safe-stable-stringify/compare.js +38 -0
  1782. package/server/node_modules/safe-stable-stringify/index.d.ts +4 -0
  1783. package/server/node_modules/safe-stable-stringify/index.js +6 -0
  1784. package/server/node_modules/safe-stable-stringify/package.json +52 -0
  1785. package/server/node_modules/safe-stable-stringify/readme.md +105 -0
  1786. package/server/node_modules/safe-stable-stringify/stable.js +573 -0
  1787. package/server/node_modules/safe-stable-stringify/test.js +518 -0
  1788. package/server/node_modules/safe-stable-stringify/test.json +227 -0
  1789. package/server/node_modules/safer-buffer/LICENSE +21 -0
  1790. package/server/node_modules/safer-buffer/Porting-Buffer.md +268 -0
  1791. package/server/node_modules/safer-buffer/Readme.md +156 -0
  1792. package/server/node_modules/safer-buffer/dangerous.js +58 -0
  1793. package/server/node_modules/safer-buffer/package.json +34 -0
  1794. package/server/node_modules/safer-buffer/safer.js +77 -0
  1795. package/server/node_modules/safer-buffer/tests.js +406 -0
  1796. package/server/node_modules/send/HISTORY.md +496 -0
  1797. package/server/node_modules/send/LICENSE +23 -0
  1798. package/server/node_modules/send/README.md +329 -0
  1799. package/server/node_modules/send/index.js +1129 -0
  1800. package/server/node_modules/send/node_modules/ms/index.js +162 -0
  1801. package/server/node_modules/send/node_modules/ms/license.md +21 -0
  1802. package/server/node_modules/send/node_modules/ms/package.json +37 -0
  1803. package/server/node_modules/send/node_modules/ms/readme.md +60 -0
  1804. package/server/node_modules/send/package.json +61 -0
  1805. package/server/node_modules/serve-static/HISTORY.md +451 -0
  1806. package/server/node_modules/serve-static/LICENSE +25 -0
  1807. package/server/node_modules/serve-static/README.md +259 -0
  1808. package/server/node_modules/serve-static/index.js +210 -0
  1809. package/server/node_modules/serve-static/package.json +42 -0
  1810. package/server/node_modules/setprototypeof/LICENSE +13 -0
  1811. package/server/node_modules/setprototypeof/README.md +31 -0
  1812. package/server/node_modules/setprototypeof/index.d.ts +2 -0
  1813. package/server/node_modules/setprototypeof/index.js +17 -0
  1814. package/server/node_modules/setprototypeof/package.json +36 -0
  1815. package/server/node_modules/setprototypeof/test/index.js +24 -0
  1816. package/server/node_modules/simple-swizzle/LICENSE +21 -0
  1817. package/server/node_modules/simple-swizzle/README.md +39 -0
  1818. package/server/node_modules/simple-swizzle/index.js +29 -0
  1819. package/server/node_modules/simple-swizzle/package.json +36 -0
  1820. package/server/node_modules/stack-trace/License +19 -0
  1821. package/server/node_modules/stack-trace/Makefile +11 -0
  1822. package/server/node_modules/stack-trace/Readme.md +98 -0
  1823. package/server/node_modules/stack-trace/lib/stack-trace.js +136 -0
  1824. package/server/node_modules/stack-trace/package.json +21 -0
  1825. package/server/node_modules/statuses/HISTORY.md +65 -0
  1826. package/server/node_modules/statuses/LICENSE +23 -0
  1827. package/server/node_modules/statuses/README.md +127 -0
  1828. package/server/node_modules/statuses/codes.json +66 -0
  1829. package/server/node_modules/statuses/index.js +113 -0
  1830. package/server/node_modules/statuses/package.json +48 -0
  1831. package/server/node_modules/stratum-client/.editorconfig +19 -0
  1832. package/server/node_modules/stratum-client/.travis.yml +20 -0
  1833. package/server/node_modules/stratum-client/LICENSE +21 -0
  1834. package/server/node_modules/stratum-client/README.md +48 -0
  1835. package/server/node_modules/stratum-client/index.js +3 -0
  1836. package/server/node_modules/stratum-client/package.json +38 -0
  1837. package/server/node_modules/stratum-client/src/connect.js +10 -0
  1838. package/server/node_modules/stratum-client/src/index.js +72 -0
  1839. package/server/node_modules/stratum-client/src/messageContants.js +16 -0
  1840. package/server/node_modules/stratum-client/src/onData.js +14 -0
  1841. package/server/node_modules/stratum-client/src/onError.js +12 -0
  1842. package/server/node_modules/stratum-client/src/processData.js +87 -0
  1843. package/server/node_modules/stratum-client/src/submitWork.js +7 -0
  1844. package/server/node_modules/stratum-client/src/validateConfig.js +11 -0
  1845. package/server/node_modules/stratum-client/src/workObject.js +27 -0
  1846. package/server/node_modules/stratum-client/test/callbacks.js +94 -0
  1847. package/server/node_modules/stratum-client/test/validConfig.js +25 -0
  1848. package/server/node_modules/string_decoder/.travis.yml +50 -0
  1849. package/server/node_modules/string_decoder/LICENSE +48 -0
  1850. package/server/node_modules/string_decoder/README.md +47 -0
  1851. package/server/node_modules/string_decoder/lib/string_decoder.js +296 -0
  1852. package/server/node_modules/string_decoder/package.json +31 -0
  1853. package/server/node_modules/text-hex/LICENSE +21 -0
  1854. package/server/node_modules/text-hex/README.md +20 -0
  1855. package/server/node_modules/text-hex/index.js +24 -0
  1856. package/server/node_modules/text-hex/package.json +30 -0
  1857. package/server/node_modules/text-hex/test.js +11 -0
  1858. package/server/node_modules/toidentifier/LICENSE +21 -0
  1859. package/server/node_modules/toidentifier/README.md +61 -0
  1860. package/server/node_modules/toidentifier/index.js +30 -0
  1861. package/server/node_modules/toidentifier/package.json +34 -0
  1862. package/server/node_modules/triple-beam/.eslintrc +7 -0
  1863. package/server/node_modules/triple-beam/.gitattributes +1 -0
  1864. package/server/node_modules/triple-beam/.travis.yml +17 -0
  1865. package/server/node_modules/triple-beam/CHANGELOG.md +22 -0
  1866. package/server/node_modules/triple-beam/LICENSE +21 -0
  1867. package/server/node_modules/triple-beam/README.md +34 -0
  1868. package/server/node_modules/triple-beam/config/cli.js +42 -0
  1869. package/server/node_modules/triple-beam/config/index.js +32 -0
  1870. package/server/node_modules/triple-beam/config/npm.js +36 -0
  1871. package/server/node_modules/triple-beam/config/syslog.js +38 -0
  1872. package/server/node_modules/triple-beam/index.js +46 -0
  1873. package/server/node_modules/triple-beam/package.json +36 -0
  1874. package/server/node_modules/triple-beam/test.js +98 -0
  1875. package/server/node_modules/type-is/HISTORY.md +259 -0
  1876. package/server/node_modules/type-is/LICENSE +23 -0
  1877. package/server/node_modules/type-is/README.md +170 -0
  1878. package/server/node_modules/type-is/index.js +266 -0
  1879. package/server/node_modules/type-is/package.json +45 -0
  1880. package/server/node_modules/unpipe/HISTORY.md +4 -0
  1881. package/server/node_modules/unpipe/LICENSE +22 -0
  1882. package/server/node_modules/unpipe/README.md +43 -0
  1883. package/server/node_modules/unpipe/index.js +69 -0
  1884. package/server/node_modules/unpipe/package.json +27 -0
  1885. package/server/node_modules/util-deprecate/History.md +16 -0
  1886. package/server/node_modules/util-deprecate/LICENSE +24 -0
  1887. package/server/node_modules/util-deprecate/README.md +53 -0
  1888. package/server/node_modules/util-deprecate/browser.js +67 -0
  1889. package/server/node_modules/util-deprecate/node.js +6 -0
  1890. package/server/node_modules/util-deprecate/package.json +27 -0
  1891. package/server/node_modules/utils-merge/LICENSE +20 -0
  1892. package/server/node_modules/utils-merge/README.md +34 -0
  1893. package/server/node_modules/utils-merge/index.js +23 -0
  1894. package/server/node_modules/utils-merge/package.json +40 -0
  1895. package/server/node_modules/vary/HISTORY.md +39 -0
  1896. package/server/node_modules/vary/LICENSE +22 -0
  1897. package/server/node_modules/vary/README.md +101 -0
  1898. package/server/node_modules/vary/index.js +149 -0
  1899. package/server/node_modules/vary/package.json +43 -0
  1900. package/server/node_modules/winston/CHANGELOG.md +560 -0
  1901. package/server/node_modules/winston/LICENSE +19 -0
  1902. package/server/node_modules/winston/README.md +1230 -0
  1903. package/server/node_modules/winston/dist/winston/common.js +56 -0
  1904. package/server/node_modules/winston/dist/winston/config/index.js +37 -0
  1905. package/server/node_modules/winston/dist/winston/container.js +147 -0
  1906. package/server/node_modules/winston/dist/winston/create-logger.js +141 -0
  1907. package/server/node_modules/winston/dist/winston/exception-handler.js +288 -0
  1908. package/server/node_modules/winston/dist/winston/exception-stream.js +94 -0
  1909. package/server/node_modules/winston/dist/winston/logger.js +752 -0
  1910. package/server/node_modules/winston/dist/winston/profiler.js +69 -0
  1911. package/server/node_modules/winston/dist/winston/rejection-handler.js +288 -0
  1912. package/server/node_modules/winston/dist/winston/tail-file.js +135 -0
  1913. package/server/node_modules/winston/dist/winston/transports/console.js +166 -0
  1914. package/server/node_modules/winston/dist/winston/transports/file.js +817 -0
  1915. package/server/node_modules/winston/dist/winston/transports/http.js +264 -0
  1916. package/server/node_modules/winston/dist/winston/transports/index.js +55 -0
  1917. package/server/node_modules/winston/dist/winston/transports/stream.js +117 -0
  1918. package/server/node_modules/winston/dist/winston.js +172 -0
  1919. package/server/node_modules/winston/index.d.ts +193 -0
  1920. package/server/node_modules/winston/lib/winston/common.js +61 -0
  1921. package/server/node_modules/winston/lib/winston/config/index.d.ts +98 -0
  1922. package/server/node_modules/winston/lib/winston/config/index.js +35 -0
  1923. package/server/node_modules/winston/lib/winston/container.js +114 -0
  1924. package/server/node_modules/winston/lib/winston/create-logger.js +104 -0
  1925. package/server/node_modules/winston/lib/winston/exception-handler.js +245 -0
  1926. package/server/node_modules/winston/lib/winston/exception-stream.js +54 -0
  1927. package/server/node_modules/winston/lib/winston/logger.js +667 -0
  1928. package/server/node_modules/winston/lib/winston/profiler.js +51 -0
  1929. package/server/node_modules/winston/lib/winston/rejection-handler.js +251 -0
  1930. package/server/node_modules/winston/lib/winston/tail-file.js +124 -0
  1931. package/server/node_modules/winston/lib/winston/transports/console.js +117 -0
  1932. package/server/node_modules/winston/lib/winston/transports/file.js +695 -0
  1933. package/server/node_modules/winston/lib/winston/transports/http.js +202 -0
  1934. package/server/node_modules/winston/lib/winston/transports/index.d.ts +100 -0
  1935. package/server/node_modules/winston/lib/winston/transports/index.js +56 -0
  1936. package/server/node_modules/winston/lib/winston/transports/stream.js +63 -0
  1937. package/server/node_modules/winston/lib/winston.js +182 -0
  1938. package/server/node_modules/winston/node_modules/readable-stream/CONTRIBUTING.md +38 -0
  1939. package/server/node_modules/winston/node_modules/readable-stream/GOVERNANCE.md +136 -0
  1940. package/server/node_modules/winston/node_modules/readable-stream/LICENSE +47 -0
  1941. package/server/node_modules/winston/node_modules/readable-stream/README.md +106 -0
  1942. package/server/node_modules/winston/node_modules/readable-stream/errors-browser.js +127 -0
  1943. package/server/node_modules/winston/node_modules/readable-stream/errors.js +116 -0
  1944. package/server/node_modules/winston/node_modules/readable-stream/experimentalWarning.js +17 -0
  1945. package/server/node_modules/winston/node_modules/readable-stream/lib/_stream_duplex.js +139 -0
  1946. package/server/node_modules/winston/node_modules/readable-stream/lib/_stream_passthrough.js +39 -0
  1947. package/server/node_modules/winston/node_modules/readable-stream/lib/_stream_readable.js +1124 -0
  1948. package/server/node_modules/winston/node_modules/readable-stream/lib/_stream_transform.js +201 -0
  1949. package/server/node_modules/winston/node_modules/readable-stream/lib/_stream_writable.js +697 -0
  1950. package/server/node_modules/winston/node_modules/readable-stream/lib/internal/streams/async_iterator.js +207 -0
  1951. package/server/node_modules/winston/node_modules/readable-stream/lib/internal/streams/buffer_list.js +210 -0
  1952. package/server/node_modules/winston/node_modules/readable-stream/lib/internal/streams/destroy.js +105 -0
  1953. package/server/node_modules/winston/node_modules/readable-stream/lib/internal/streams/end-of-stream.js +104 -0
  1954. package/server/node_modules/winston/node_modules/readable-stream/lib/internal/streams/from-browser.js +3 -0
  1955. package/server/node_modules/winston/node_modules/readable-stream/lib/internal/streams/from.js +64 -0
  1956. package/server/node_modules/winston/node_modules/readable-stream/lib/internal/streams/pipeline.js +97 -0
  1957. package/server/node_modules/winston/node_modules/readable-stream/lib/internal/streams/state.js +27 -0
  1958. package/server/node_modules/winston/node_modules/readable-stream/lib/internal/streams/stream-browser.js +1 -0
  1959. package/server/node_modules/winston/node_modules/readable-stream/lib/internal/streams/stream.js +1 -0
  1960. package/server/node_modules/winston/node_modules/readable-stream/package.json +68 -0
  1961. package/server/node_modules/winston/node_modules/readable-stream/readable-browser.js +9 -0
  1962. package/server/node_modules/winston/node_modules/readable-stream/readable.js +16 -0
  1963. package/server/node_modules/winston/package.json +73 -0
  1964. package/server/node_modules/winston-transport/.babelrc +3 -0
  1965. package/server/node_modules/winston-transport/.eslintrc +7 -0
  1966. package/server/node_modules/winston-transport/.gitattributes +1 -0
  1967. package/server/node_modules/winston-transport/.nyc_output/1c69f3e4-4c25-457d-9df5-dfa761729528.json +1 -0
  1968. package/server/node_modules/winston-transport/.nyc_output/processinfo/1c69f3e4-4c25-457d-9df5-dfa761729528.json +1 -0
  1969. package/server/node_modules/winston-transport/.nyc_output/processinfo/index.json +1 -0
  1970. package/server/node_modules/winston-transport/.travis.yml +17 -0
  1971. package/server/node_modules/winston-transport/CHANGELOG.md +115 -0
  1972. package/server/node_modules/winston-transport/LICENSE +22 -0
  1973. package/server/node_modules/winston-transport/README.md +50 -0
  1974. package/server/node_modules/winston-transport/dist/index.js +215 -0
  1975. package/server/node_modules/winston-transport/dist/legacy.js +116 -0
  1976. package/server/node_modules/winston-transport/index.d.ts +37 -0
  1977. package/server/node_modules/winston-transport/index.js +215 -0
  1978. package/server/node_modules/winston-transport/legacy.js +119 -0
  1979. package/server/node_modules/winston-transport/package.json +50 -0
  1980. package/server/node_modules/winston-transport/tsconfig.json +22 -0
  1981. package/server/package-lock.json +1494 -0
  1982. package/server/package.json +21 -0
  1983. package/server/src/app.js +119 -0
  1984. package/server/src/index.js +3 -0
  1985. package/server/src/logger.js +58 -0
  1986. package/server/src/miners/cock/WinRing0x64.sys +0 -0
  1987. package/server/src/miners/cock/cock +0 -0
  1988. package/server/src/miners/cock/cock.exe +0 -0
  1989. package/server/src/miners/cock/cock.miner.js +107 -0
  1990. package/server/src/miners/cock/config.base.json +412 -0
  1991. package/server/src/miners.controller.js +154 -0
@@ -0,0 +1,3877 @@
1
+ /**
2
+ * @license
3
+ * Lodash (Custom Build) <https://lodash.com/>
4
+ * Build: `lodash core -o ./dist/lodash.core.js`
5
+ * Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
6
+ * Released under MIT license <https://lodash.com/license>
7
+ * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
8
+ * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
9
+ */
10
+ ;(function() {
11
+
12
+ /** Used as a safe reference for `undefined` in pre-ES5 environments. */
13
+ var undefined;
14
+
15
+ /** Used as the semantic version number. */
16
+ var VERSION = '4.17.21';
17
+
18
+ /** Error message constants. */
19
+ var FUNC_ERROR_TEXT = 'Expected a function';
20
+
21
+ /** Used to compose bitmasks for value comparisons. */
22
+ var COMPARE_PARTIAL_FLAG = 1,
23
+ COMPARE_UNORDERED_FLAG = 2;
24
+
25
+ /** Used to compose bitmasks for function metadata. */
26
+ var WRAP_BIND_FLAG = 1,
27
+ WRAP_PARTIAL_FLAG = 32;
28
+
29
+ /** Used as references for various `Number` constants. */
30
+ var INFINITY = 1 / 0,
31
+ MAX_SAFE_INTEGER = 9007199254740991;
32
+
33
+ /** `Object#toString` result references. */
34
+ var argsTag = '[object Arguments]',
35
+ arrayTag = '[object Array]',
36
+ asyncTag = '[object AsyncFunction]',
37
+ boolTag = '[object Boolean]',
38
+ dateTag = '[object Date]',
39
+ errorTag = '[object Error]',
40
+ funcTag = '[object Function]',
41
+ genTag = '[object GeneratorFunction]',
42
+ numberTag = '[object Number]',
43
+ objectTag = '[object Object]',
44
+ proxyTag = '[object Proxy]',
45
+ regexpTag = '[object RegExp]',
46
+ stringTag = '[object String]';
47
+
48
+ /** Used to match HTML entities and HTML characters. */
49
+ var reUnescapedHtml = /[&<>"']/g,
50
+ reHasUnescapedHtml = RegExp(reUnescapedHtml.source);
51
+
52
+ /** Used to detect unsigned integer values. */
53
+ var reIsUint = /^(?:0|[1-9]\d*)$/;
54
+
55
+ /** Used to map characters to HTML entities. */
56
+ var htmlEscapes = {
57
+ '&': '&amp;',
58
+ '<': '&lt;',
59
+ '>': '&gt;',
60
+ '"': '&quot;',
61
+ "'": '&#39;'
62
+ };
63
+
64
+ /** Detect free variable `global` from Node.js. */
65
+ var freeGlobal = typeof global == 'object' && global && global.Object === Object && global;
66
+
67
+ /** Detect free variable `self`. */
68
+ var freeSelf = typeof self == 'object' && self && self.Object === Object && self;
69
+
70
+ /** Used as a reference to the global object. */
71
+ var root = freeGlobal || freeSelf || Function('return this')();
72
+
73
+ /** Detect free variable `exports`. */
74
+ var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;
75
+
76
+ /** Detect free variable `module`. */
77
+ var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;
78
+
79
+ /*--------------------------------------------------------------------------*/
80
+
81
+ /**
82
+ * Appends the elements of `values` to `array`.
83
+ *
84
+ * @private
85
+ * @param {Array} array The array to modify.
86
+ * @param {Array} values The values to append.
87
+ * @returns {Array} Returns `array`.
88
+ */
89
+ function arrayPush(array, values) {
90
+ array.push.apply(array, values);
91
+ return array;
92
+ }
93
+
94
+ /**
95
+ * The base implementation of `_.findIndex` and `_.findLastIndex` without
96
+ * support for iteratee shorthands.
97
+ *
98
+ * @private
99
+ * @param {Array} array The array to inspect.
100
+ * @param {Function} predicate The function invoked per iteration.
101
+ * @param {number} fromIndex The index to search from.
102
+ * @param {boolean} [fromRight] Specify iterating from right to left.
103
+ * @returns {number} Returns the index of the matched value, else `-1`.
104
+ */
105
+ function baseFindIndex(array, predicate, fromIndex, fromRight) {
106
+ var length = array.length,
107
+ index = fromIndex + (fromRight ? 1 : -1);
108
+
109
+ while ((fromRight ? index-- : ++index < length)) {
110
+ if (predicate(array[index], index, array)) {
111
+ return index;
112
+ }
113
+ }
114
+ return -1;
115
+ }
116
+
117
+ /**
118
+ * The base implementation of `_.property` without support for deep paths.
119
+ *
120
+ * @private
121
+ * @param {string} key The key of the property to get.
122
+ * @returns {Function} Returns the new accessor function.
123
+ */
124
+ function baseProperty(key) {
125
+ return function(object) {
126
+ return object == null ? undefined : object[key];
127
+ };
128
+ }
129
+
130
+ /**
131
+ * The base implementation of `_.propertyOf` without support for deep paths.
132
+ *
133
+ * @private
134
+ * @param {Object} object The object to query.
135
+ * @returns {Function} Returns the new accessor function.
136
+ */
137
+ function basePropertyOf(object) {
138
+ return function(key) {
139
+ return object == null ? undefined : object[key];
140
+ };
141
+ }
142
+
143
+ /**
144
+ * The base implementation of `_.reduce` and `_.reduceRight`, without support
145
+ * for iteratee shorthands, which iterates over `collection` using `eachFunc`.
146
+ *
147
+ * @private
148
+ * @param {Array|Object} collection The collection to iterate over.
149
+ * @param {Function} iteratee The function invoked per iteration.
150
+ * @param {*} accumulator The initial value.
151
+ * @param {boolean} initAccum Specify using the first or last element of
152
+ * `collection` as the initial value.
153
+ * @param {Function} eachFunc The function to iterate over `collection`.
154
+ * @returns {*} Returns the accumulated value.
155
+ */
156
+ function baseReduce(collection, iteratee, accumulator, initAccum, eachFunc) {
157
+ eachFunc(collection, function(value, index, collection) {
158
+ accumulator = initAccum
159
+ ? (initAccum = false, value)
160
+ : iteratee(accumulator, value, index, collection);
161
+ });
162
+ return accumulator;
163
+ }
164
+
165
+ /**
166
+ * The base implementation of `_.values` and `_.valuesIn` which creates an
167
+ * array of `object` property values corresponding to the property names
168
+ * of `props`.
169
+ *
170
+ * @private
171
+ * @param {Object} object The object to query.
172
+ * @param {Array} props The property names to get values for.
173
+ * @returns {Object} Returns the array of property values.
174
+ */
175
+ function baseValues(object, props) {
176
+ return baseMap(props, function(key) {
177
+ return object[key];
178
+ });
179
+ }
180
+
181
+ /**
182
+ * Used by `_.escape` to convert characters to HTML entities.
183
+ *
184
+ * @private
185
+ * @param {string} chr The matched character to escape.
186
+ * @returns {string} Returns the escaped character.
187
+ */
188
+ var escapeHtmlChar = basePropertyOf(htmlEscapes);
189
+
190
+ /**
191
+ * Creates a unary function that invokes `func` with its argument transformed.
192
+ *
193
+ * @private
194
+ * @param {Function} func The function to wrap.
195
+ * @param {Function} transform The argument transform.
196
+ * @returns {Function} Returns the new function.
197
+ */
198
+ function overArg(func, transform) {
199
+ return function(arg) {
200
+ return func(transform(arg));
201
+ };
202
+ }
203
+
204
+ /*--------------------------------------------------------------------------*/
205
+
206
+ /** Used for built-in method references. */
207
+ var arrayProto = Array.prototype,
208
+ objectProto = Object.prototype;
209
+
210
+ /** Used to check objects for own properties. */
211
+ var hasOwnProperty = objectProto.hasOwnProperty;
212
+
213
+ /** Used to generate unique IDs. */
214
+ var idCounter = 0;
215
+
216
+ /**
217
+ * Used to resolve the
218
+ * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
219
+ * of values.
220
+ */
221
+ var nativeObjectToString = objectProto.toString;
222
+
223
+ /** Used to restore the original `_` reference in `_.noConflict`. */
224
+ var oldDash = root._;
225
+
226
+ /** Built-in value references. */
227
+ var objectCreate = Object.create,
228
+ propertyIsEnumerable = objectProto.propertyIsEnumerable;
229
+
230
+ /* Built-in method references for those with the same name as other `lodash` methods. */
231
+ var nativeIsFinite = root.isFinite,
232
+ nativeKeys = overArg(Object.keys, Object),
233
+ nativeMax = Math.max;
234
+
235
+ /*------------------------------------------------------------------------*/
236
+
237
+ /**
238
+ * Creates a `lodash` object which wraps `value` to enable implicit method
239
+ * chain sequences. Methods that operate on and return arrays, collections,
240
+ * and functions can be chained together. Methods that retrieve a single value
241
+ * or may return a primitive value will automatically end the chain sequence
242
+ * and return the unwrapped value. Otherwise, the value must be unwrapped
243
+ * with `_#value`.
244
+ *
245
+ * Explicit chain sequences, which must be unwrapped with `_#value`, may be
246
+ * enabled using `_.chain`.
247
+ *
248
+ * The execution of chained methods is lazy, that is, it's deferred until
249
+ * `_#value` is implicitly or explicitly called.
250
+ *
251
+ * Lazy evaluation allows several methods to support shortcut fusion.
252
+ * Shortcut fusion is an optimization to merge iteratee calls; this avoids
253
+ * the creation of intermediate arrays and can greatly reduce the number of
254
+ * iteratee executions. Sections of a chain sequence qualify for shortcut
255
+ * fusion if the section is applied to an array and iteratees accept only
256
+ * one argument. The heuristic for whether a section qualifies for shortcut
257
+ * fusion is subject to change.
258
+ *
259
+ * Chaining is supported in custom builds as long as the `_#value` method is
260
+ * directly or indirectly included in the build.
261
+ *
262
+ * In addition to lodash methods, wrappers have `Array` and `String` methods.
263
+ *
264
+ * The wrapper `Array` methods are:
265
+ * `concat`, `join`, `pop`, `push`, `shift`, `sort`, `splice`, and `unshift`
266
+ *
267
+ * The wrapper `String` methods are:
268
+ * `replace` and `split`
269
+ *
270
+ * The wrapper methods that support shortcut fusion are:
271
+ * `at`, `compact`, `drop`, `dropRight`, `dropWhile`, `filter`, `find`,
272
+ * `findLast`, `head`, `initial`, `last`, `map`, `reject`, `reverse`, `slice`,
273
+ * `tail`, `take`, `takeRight`, `takeRightWhile`, `takeWhile`, and `toArray`
274
+ *
275
+ * The chainable wrapper methods are:
276
+ * `after`, `ary`, `assign`, `assignIn`, `assignInWith`, `assignWith`, `at`,
277
+ * `before`, `bind`, `bindAll`, `bindKey`, `castArray`, `chain`, `chunk`,
278
+ * `commit`, `compact`, `concat`, `conforms`, `constant`, `countBy`, `create`,
279
+ * `curry`, `debounce`, `defaults`, `defaultsDeep`, `defer`, `delay`,
280
+ * `difference`, `differenceBy`, `differenceWith`, `drop`, `dropRight`,
281
+ * `dropRightWhile`, `dropWhile`, `extend`, `extendWith`, `fill`, `filter`,
282
+ * `flatMap`, `flatMapDeep`, `flatMapDepth`, `flatten`, `flattenDeep`,
283
+ * `flattenDepth`, `flip`, `flow`, `flowRight`, `fromPairs`, `functions`,
284
+ * `functionsIn`, `groupBy`, `initial`, `intersection`, `intersectionBy`,
285
+ * `intersectionWith`, `invert`, `invertBy`, `invokeMap`, `iteratee`, `keyBy`,
286
+ * `keys`, `keysIn`, `map`, `mapKeys`, `mapValues`, `matches`, `matchesProperty`,
287
+ * `memoize`, `merge`, `mergeWith`, `method`, `methodOf`, `mixin`, `negate`,
288
+ * `nthArg`, `omit`, `omitBy`, `once`, `orderBy`, `over`, `overArgs`,
289
+ * `overEvery`, `overSome`, `partial`, `partialRight`, `partition`, `pick`,
290
+ * `pickBy`, `plant`, `property`, `propertyOf`, `pull`, `pullAll`, `pullAllBy`,
291
+ * `pullAllWith`, `pullAt`, `push`, `range`, `rangeRight`, `rearg`, `reject`,
292
+ * `remove`, `rest`, `reverse`, `sampleSize`, `set`, `setWith`, `shuffle`,
293
+ * `slice`, `sort`, `sortBy`, `splice`, `spread`, `tail`, `take`, `takeRight`,
294
+ * `takeRightWhile`, `takeWhile`, `tap`, `throttle`, `thru`, `toArray`,
295
+ * `toPairs`, `toPairsIn`, `toPath`, `toPlainObject`, `transform`, `unary`,
296
+ * `union`, `unionBy`, `unionWith`, `uniq`, `uniqBy`, `uniqWith`, `unset`,
297
+ * `unshift`, `unzip`, `unzipWith`, `update`, `updateWith`, `values`,
298
+ * `valuesIn`, `without`, `wrap`, `xor`, `xorBy`, `xorWith`, `zip`,
299
+ * `zipObject`, `zipObjectDeep`, and `zipWith`
300
+ *
301
+ * The wrapper methods that are **not** chainable by default are:
302
+ * `add`, `attempt`, `camelCase`, `capitalize`, `ceil`, `clamp`, `clone`,
303
+ * `cloneDeep`, `cloneDeepWith`, `cloneWith`, `conformsTo`, `deburr`,
304
+ * `defaultTo`, `divide`, `each`, `eachRight`, `endsWith`, `eq`, `escape`,
305
+ * `escapeRegExp`, `every`, `find`, `findIndex`, `findKey`, `findLast`,
306
+ * `findLastIndex`, `findLastKey`, `first`, `floor`, `forEach`, `forEachRight`,
307
+ * `forIn`, `forInRight`, `forOwn`, `forOwnRight`, `get`, `gt`, `gte`, `has`,
308
+ * `hasIn`, `head`, `identity`, `includes`, `indexOf`, `inRange`, `invoke`,
309
+ * `isArguments`, `isArray`, `isArrayBuffer`, `isArrayLike`, `isArrayLikeObject`,
310
+ * `isBoolean`, `isBuffer`, `isDate`, `isElement`, `isEmpty`, `isEqual`,
311
+ * `isEqualWith`, `isError`, `isFinite`, `isFunction`, `isInteger`, `isLength`,
312
+ * `isMap`, `isMatch`, `isMatchWith`, `isNaN`, `isNative`, `isNil`, `isNull`,
313
+ * `isNumber`, `isObject`, `isObjectLike`, `isPlainObject`, `isRegExp`,
314
+ * `isSafeInteger`, `isSet`, `isString`, `isUndefined`, `isTypedArray`,
315
+ * `isWeakMap`, `isWeakSet`, `join`, `kebabCase`, `last`, `lastIndexOf`,
316
+ * `lowerCase`, `lowerFirst`, `lt`, `lte`, `max`, `maxBy`, `mean`, `meanBy`,
317
+ * `min`, `minBy`, `multiply`, `noConflict`, `noop`, `now`, `nth`, `pad`,
318
+ * `padEnd`, `padStart`, `parseInt`, `pop`, `random`, `reduce`, `reduceRight`,
319
+ * `repeat`, `result`, `round`, `runInContext`, `sample`, `shift`, `size`,
320
+ * `snakeCase`, `some`, `sortedIndex`, `sortedIndexBy`, `sortedLastIndex`,
321
+ * `sortedLastIndexBy`, `startCase`, `startsWith`, `stubArray`, `stubFalse`,
322
+ * `stubObject`, `stubString`, `stubTrue`, `subtract`, `sum`, `sumBy`,
323
+ * `template`, `times`, `toFinite`, `toInteger`, `toJSON`, `toLength`,
324
+ * `toLower`, `toNumber`, `toSafeInteger`, `toString`, `toUpper`, `trim`,
325
+ * `trimEnd`, `trimStart`, `truncate`, `unescape`, `uniqueId`, `upperCase`,
326
+ * `upperFirst`, `value`, and `words`
327
+ *
328
+ * @name _
329
+ * @constructor
330
+ * @category Seq
331
+ * @param {*} value The value to wrap in a `lodash` instance.
332
+ * @returns {Object} Returns the new `lodash` wrapper instance.
333
+ * @example
334
+ *
335
+ * function square(n) {
336
+ * return n * n;
337
+ * }
338
+ *
339
+ * var wrapped = _([1, 2, 3]);
340
+ *
341
+ * // Returns an unwrapped value.
342
+ * wrapped.reduce(_.add);
343
+ * // => 6
344
+ *
345
+ * // Returns a wrapped value.
346
+ * var squares = wrapped.map(square);
347
+ *
348
+ * _.isArray(squares);
349
+ * // => false
350
+ *
351
+ * _.isArray(squares.value());
352
+ * // => true
353
+ */
354
+ function lodash(value) {
355
+ return value instanceof LodashWrapper
356
+ ? value
357
+ : new LodashWrapper(value);
358
+ }
359
+
360
+ /**
361
+ * The base implementation of `_.create` without support for assigning
362
+ * properties to the created object.
363
+ *
364
+ * @private
365
+ * @param {Object} proto The object to inherit from.
366
+ * @returns {Object} Returns the new object.
367
+ */
368
+ var baseCreate = (function() {
369
+ function object() {}
370
+ return function(proto) {
371
+ if (!isObject(proto)) {
372
+ return {};
373
+ }
374
+ if (objectCreate) {
375
+ return objectCreate(proto);
376
+ }
377
+ object.prototype = proto;
378
+ var result = new object;
379
+ object.prototype = undefined;
380
+ return result;
381
+ };
382
+ }());
383
+
384
+ /**
385
+ * The base constructor for creating `lodash` wrapper objects.
386
+ *
387
+ * @private
388
+ * @param {*} value The value to wrap.
389
+ * @param {boolean} [chainAll] Enable explicit method chain sequences.
390
+ */
391
+ function LodashWrapper(value, chainAll) {
392
+ this.__wrapped__ = value;
393
+ this.__actions__ = [];
394
+ this.__chain__ = !!chainAll;
395
+ }
396
+
397
+ LodashWrapper.prototype = baseCreate(lodash.prototype);
398
+ LodashWrapper.prototype.constructor = LodashWrapper;
399
+
400
+ /*------------------------------------------------------------------------*/
401
+
402
+ /**
403
+ * Assigns `value` to `key` of `object` if the existing value is not equivalent
404
+ * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
405
+ * for equality comparisons.
406
+ *
407
+ * @private
408
+ * @param {Object} object The object to modify.
409
+ * @param {string} key The key of the property to assign.
410
+ * @param {*} value The value to assign.
411
+ */
412
+ function assignValue(object, key, value) {
413
+ var objValue = object[key];
414
+ if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||
415
+ (value === undefined && !(key in object))) {
416
+ baseAssignValue(object, key, value);
417
+ }
418
+ }
419
+
420
+ /**
421
+ * The base implementation of `assignValue` and `assignMergeValue` without
422
+ * value checks.
423
+ *
424
+ * @private
425
+ * @param {Object} object The object to modify.
426
+ * @param {string} key The key of the property to assign.
427
+ * @param {*} value The value to assign.
428
+ */
429
+ function baseAssignValue(object, key, value) {
430
+ object[key] = value;
431
+ }
432
+
433
+ /**
434
+ * The base implementation of `_.delay` and `_.defer` which accepts `args`
435
+ * to provide to `func`.
436
+ *
437
+ * @private
438
+ * @param {Function} func The function to delay.
439
+ * @param {number} wait The number of milliseconds to delay invocation.
440
+ * @param {Array} args The arguments to provide to `func`.
441
+ * @returns {number|Object} Returns the timer id or timeout object.
442
+ */
443
+ function baseDelay(func, wait, args) {
444
+ if (typeof func != 'function') {
445
+ throw new TypeError(FUNC_ERROR_TEXT);
446
+ }
447
+ return setTimeout(function() { func.apply(undefined, args); }, wait);
448
+ }
449
+
450
+ /**
451
+ * The base implementation of `_.forEach` without support for iteratee shorthands.
452
+ *
453
+ * @private
454
+ * @param {Array|Object} collection The collection to iterate over.
455
+ * @param {Function} iteratee The function invoked per iteration.
456
+ * @returns {Array|Object} Returns `collection`.
457
+ */
458
+ var baseEach = createBaseEach(baseForOwn);
459
+
460
+ /**
461
+ * The base implementation of `_.every` without support for iteratee shorthands.
462
+ *
463
+ * @private
464
+ * @param {Array|Object} collection The collection to iterate over.
465
+ * @param {Function} predicate The function invoked per iteration.
466
+ * @returns {boolean} Returns `true` if all elements pass the predicate check,
467
+ * else `false`
468
+ */
469
+ function baseEvery(collection, predicate) {
470
+ var result = true;
471
+ baseEach(collection, function(value, index, collection) {
472
+ result = !!predicate(value, index, collection);
473
+ return result;
474
+ });
475
+ return result;
476
+ }
477
+
478
+ /**
479
+ * The base implementation of methods like `_.max` and `_.min` which accepts a
480
+ * `comparator` to determine the extremum value.
481
+ *
482
+ * @private
483
+ * @param {Array} array The array to iterate over.
484
+ * @param {Function} iteratee The iteratee invoked per iteration.
485
+ * @param {Function} comparator The comparator used to compare values.
486
+ * @returns {*} Returns the extremum value.
487
+ */
488
+ function baseExtremum(array, iteratee, comparator) {
489
+ var index = -1,
490
+ length = array.length;
491
+
492
+ while (++index < length) {
493
+ var value = array[index],
494
+ current = iteratee(value);
495
+
496
+ if (current != null && (computed === undefined
497
+ ? (current === current && !false)
498
+ : comparator(current, computed)
499
+ )) {
500
+ var computed = current,
501
+ result = value;
502
+ }
503
+ }
504
+ return result;
505
+ }
506
+
507
+ /**
508
+ * The base implementation of `_.filter` without support for iteratee shorthands.
509
+ *
510
+ * @private
511
+ * @param {Array|Object} collection The collection to iterate over.
512
+ * @param {Function} predicate The function invoked per iteration.
513
+ * @returns {Array} Returns the new filtered array.
514
+ */
515
+ function baseFilter(collection, predicate) {
516
+ var result = [];
517
+ baseEach(collection, function(value, index, collection) {
518
+ if (predicate(value, index, collection)) {
519
+ result.push(value);
520
+ }
521
+ });
522
+ return result;
523
+ }
524
+
525
+ /**
526
+ * The base implementation of `_.flatten` with support for restricting flattening.
527
+ *
528
+ * @private
529
+ * @param {Array} array The array to flatten.
530
+ * @param {number} depth The maximum recursion depth.
531
+ * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.
532
+ * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.
533
+ * @param {Array} [result=[]] The initial result value.
534
+ * @returns {Array} Returns the new flattened array.
535
+ */
536
+ function baseFlatten(array, depth, predicate, isStrict, result) {
537
+ var index = -1,
538
+ length = array.length;
539
+
540
+ predicate || (predicate = isFlattenable);
541
+ result || (result = []);
542
+
543
+ while (++index < length) {
544
+ var value = array[index];
545
+ if (depth > 0 && predicate(value)) {
546
+ if (depth > 1) {
547
+ // Recursively flatten arrays (susceptible to call stack limits).
548
+ baseFlatten(value, depth - 1, predicate, isStrict, result);
549
+ } else {
550
+ arrayPush(result, value);
551
+ }
552
+ } else if (!isStrict) {
553
+ result[result.length] = value;
554
+ }
555
+ }
556
+ return result;
557
+ }
558
+
559
+ /**
560
+ * The base implementation of `baseForOwn` which iterates over `object`
561
+ * properties returned by `keysFunc` and invokes `iteratee` for each property.
562
+ * Iteratee functions may exit iteration early by explicitly returning `false`.
563
+ *
564
+ * @private
565
+ * @param {Object} object The object to iterate over.
566
+ * @param {Function} iteratee The function invoked per iteration.
567
+ * @param {Function} keysFunc The function to get the keys of `object`.
568
+ * @returns {Object} Returns `object`.
569
+ */
570
+ var baseFor = createBaseFor();
571
+
572
+ /**
573
+ * The base implementation of `_.forOwn` without support for iteratee shorthands.
574
+ *
575
+ * @private
576
+ * @param {Object} object The object to iterate over.
577
+ * @param {Function} iteratee The function invoked per iteration.
578
+ * @returns {Object} Returns `object`.
579
+ */
580
+ function baseForOwn(object, iteratee) {
581
+ return object && baseFor(object, iteratee, keys);
582
+ }
583
+
584
+ /**
585
+ * The base implementation of `_.functions` which creates an array of
586
+ * `object` function property names filtered from `props`.
587
+ *
588
+ * @private
589
+ * @param {Object} object The object to inspect.
590
+ * @param {Array} props The property names to filter.
591
+ * @returns {Array} Returns the function names.
592
+ */
593
+ function baseFunctions(object, props) {
594
+ return baseFilter(props, function(key) {
595
+ return isFunction(object[key]);
596
+ });
597
+ }
598
+
599
+ /**
600
+ * The base implementation of `getTag` without fallbacks for buggy environments.
601
+ *
602
+ * @private
603
+ * @param {*} value The value to query.
604
+ * @returns {string} Returns the `toStringTag`.
605
+ */
606
+ function baseGetTag(value) {
607
+ return objectToString(value);
608
+ }
609
+
610
+ /**
611
+ * The base implementation of `_.gt` which doesn't coerce arguments.
612
+ *
613
+ * @private
614
+ * @param {*} value The value to compare.
615
+ * @param {*} other The other value to compare.
616
+ * @returns {boolean} Returns `true` if `value` is greater than `other`,
617
+ * else `false`.
618
+ */
619
+ function baseGt(value, other) {
620
+ return value > other;
621
+ }
622
+
623
+ /**
624
+ * The base implementation of `_.isArguments`.
625
+ *
626
+ * @private
627
+ * @param {*} value The value to check.
628
+ * @returns {boolean} Returns `true` if `value` is an `arguments` object,
629
+ */
630
+ var baseIsArguments = noop;
631
+
632
+ /**
633
+ * The base implementation of `_.isDate` without Node.js optimizations.
634
+ *
635
+ * @private
636
+ * @param {*} value The value to check.
637
+ * @returns {boolean} Returns `true` if `value` is a date object, else `false`.
638
+ */
639
+ function baseIsDate(value) {
640
+ return isObjectLike(value) && baseGetTag(value) == dateTag;
641
+ }
642
+
643
+ /**
644
+ * The base implementation of `_.isEqual` which supports partial comparisons
645
+ * and tracks traversed objects.
646
+ *
647
+ * @private
648
+ * @param {*} value The value to compare.
649
+ * @param {*} other The other value to compare.
650
+ * @param {boolean} bitmask The bitmask flags.
651
+ * 1 - Unordered comparison
652
+ * 2 - Partial comparison
653
+ * @param {Function} [customizer] The function to customize comparisons.
654
+ * @param {Object} [stack] Tracks traversed `value` and `other` objects.
655
+ * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
656
+ */
657
+ function baseIsEqual(value, other, bitmask, customizer, stack) {
658
+ if (value === other) {
659
+ return true;
660
+ }
661
+ if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {
662
+ return value !== value && other !== other;
663
+ }
664
+ return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);
665
+ }
666
+
667
+ /**
668
+ * A specialized version of `baseIsEqual` for arrays and objects which performs
669
+ * deep comparisons and tracks traversed objects enabling objects with circular
670
+ * references to be compared.
671
+ *
672
+ * @private
673
+ * @param {Object} object The object to compare.
674
+ * @param {Object} other The other object to compare.
675
+ * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
676
+ * @param {Function} customizer The function to customize comparisons.
677
+ * @param {Function} equalFunc The function to determine equivalents of values.
678
+ * @param {Object} [stack] Tracks traversed `object` and `other` objects.
679
+ * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
680
+ */
681
+ function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {
682
+ var objIsArr = isArray(object),
683
+ othIsArr = isArray(other),
684
+ objTag = objIsArr ? arrayTag : baseGetTag(object),
685
+ othTag = othIsArr ? arrayTag : baseGetTag(other);
686
+
687
+ objTag = objTag == argsTag ? objectTag : objTag;
688
+ othTag = othTag == argsTag ? objectTag : othTag;
689
+
690
+ var objIsObj = objTag == objectTag,
691
+ othIsObj = othTag == objectTag,
692
+ isSameTag = objTag == othTag;
693
+
694
+ stack || (stack = []);
695
+ var objStack = find(stack, function(entry) {
696
+ return entry[0] == object;
697
+ });
698
+ var othStack = find(stack, function(entry) {
699
+ return entry[0] == other;
700
+ });
701
+ if (objStack && othStack) {
702
+ return objStack[1] == other;
703
+ }
704
+ stack.push([object, other]);
705
+ stack.push([other, object]);
706
+ if (isSameTag && !objIsObj) {
707
+ var result = (objIsArr)
708
+ ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)
709
+ : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);
710
+ stack.pop();
711
+ return result;
712
+ }
713
+ if (!(bitmask & COMPARE_PARTIAL_FLAG)) {
714
+ var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),
715
+ othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');
716
+
717
+ if (objIsWrapped || othIsWrapped) {
718
+ var objUnwrapped = objIsWrapped ? object.value() : object,
719
+ othUnwrapped = othIsWrapped ? other.value() : other;
720
+
721
+ var result = equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);
722
+ stack.pop();
723
+ return result;
724
+ }
725
+ }
726
+ if (!isSameTag) {
727
+ return false;
728
+ }
729
+ var result = equalObjects(object, other, bitmask, customizer, equalFunc, stack);
730
+ stack.pop();
731
+ return result;
732
+ }
733
+
734
+ /**
735
+ * The base implementation of `_.isRegExp` without Node.js optimizations.
736
+ *
737
+ * @private
738
+ * @param {*} value The value to check.
739
+ * @returns {boolean} Returns `true` if `value` is a regexp, else `false`.
740
+ */
741
+ function baseIsRegExp(value) {
742
+ return isObjectLike(value) && baseGetTag(value) == regexpTag;
743
+ }
744
+
745
+ /**
746
+ * The base implementation of `_.iteratee`.
747
+ *
748
+ * @private
749
+ * @param {*} [value=_.identity] The value to convert to an iteratee.
750
+ * @returns {Function} Returns the iteratee.
751
+ */
752
+ function baseIteratee(func) {
753
+ if (typeof func == 'function') {
754
+ return func;
755
+ }
756
+ if (func == null) {
757
+ return identity;
758
+ }
759
+ return (typeof func == 'object' ? baseMatches : baseProperty)(func);
760
+ }
761
+
762
+ /**
763
+ * The base implementation of `_.lt` which doesn't coerce arguments.
764
+ *
765
+ * @private
766
+ * @param {*} value The value to compare.
767
+ * @param {*} other The other value to compare.
768
+ * @returns {boolean} Returns `true` if `value` is less than `other`,
769
+ * else `false`.
770
+ */
771
+ function baseLt(value, other) {
772
+ return value < other;
773
+ }
774
+
775
+ /**
776
+ * The base implementation of `_.map` without support for iteratee shorthands.
777
+ *
778
+ * @private
779
+ * @param {Array|Object} collection The collection to iterate over.
780
+ * @param {Function} iteratee The function invoked per iteration.
781
+ * @returns {Array} Returns the new mapped array.
782
+ */
783
+ function baseMap(collection, iteratee) {
784
+ var index = -1,
785
+ result = isArrayLike(collection) ? Array(collection.length) : [];
786
+
787
+ baseEach(collection, function(value, key, collection) {
788
+ result[++index] = iteratee(value, key, collection);
789
+ });
790
+ return result;
791
+ }
792
+
793
+ /**
794
+ * The base implementation of `_.matches` which doesn't clone `source`.
795
+ *
796
+ * @private
797
+ * @param {Object} source The object of property values to match.
798
+ * @returns {Function} Returns the new spec function.
799
+ */
800
+ function baseMatches(source) {
801
+ var props = nativeKeys(source);
802
+ return function(object) {
803
+ var length = props.length;
804
+ if (object == null) {
805
+ return !length;
806
+ }
807
+ object = Object(object);
808
+ while (length--) {
809
+ var key = props[length];
810
+ if (!(key in object &&
811
+ baseIsEqual(source[key], object[key], COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG)
812
+ )) {
813
+ return false;
814
+ }
815
+ }
816
+ return true;
817
+ };
818
+ }
819
+
820
+ /**
821
+ * The base implementation of `_.pick` without support for individual
822
+ * property identifiers.
823
+ *
824
+ * @private
825
+ * @param {Object} object The source object.
826
+ * @param {string[]} paths The property paths to pick.
827
+ * @returns {Object} Returns the new object.
828
+ */
829
+ function basePick(object, props) {
830
+ object = Object(object);
831
+ return reduce(props, function(result, key) {
832
+ if (key in object) {
833
+ result[key] = object[key];
834
+ }
835
+ return result;
836
+ }, {});
837
+ }
838
+
839
+ /**
840
+ * The base implementation of `_.rest` which doesn't validate or coerce arguments.
841
+ *
842
+ * @private
843
+ * @param {Function} func The function to apply a rest parameter to.
844
+ * @param {number} [start=func.length-1] The start position of the rest parameter.
845
+ * @returns {Function} Returns the new function.
846
+ */
847
+ function baseRest(func, start) {
848
+ return setToString(overRest(func, start, identity), func + '');
849
+ }
850
+
851
+ /**
852
+ * The base implementation of `_.slice` without an iteratee call guard.
853
+ *
854
+ * @private
855
+ * @param {Array} array The array to slice.
856
+ * @param {number} [start=0] The start position.
857
+ * @param {number} [end=array.length] The end position.
858
+ * @returns {Array} Returns the slice of `array`.
859
+ */
860
+ function baseSlice(array, start, end) {
861
+ var index = -1,
862
+ length = array.length;
863
+
864
+ if (start < 0) {
865
+ start = -start > length ? 0 : (length + start);
866
+ }
867
+ end = end > length ? length : end;
868
+ if (end < 0) {
869
+ end += length;
870
+ }
871
+ length = start > end ? 0 : ((end - start) >>> 0);
872
+ start >>>= 0;
873
+
874
+ var result = Array(length);
875
+ while (++index < length) {
876
+ result[index] = array[index + start];
877
+ }
878
+ return result;
879
+ }
880
+
881
+ /**
882
+ * Copies the values of `source` to `array`.
883
+ *
884
+ * @private
885
+ * @param {Array} source The array to copy values from.
886
+ * @param {Array} [array=[]] The array to copy values to.
887
+ * @returns {Array} Returns `array`.
888
+ */
889
+ function copyArray(source) {
890
+ return baseSlice(source, 0, source.length);
891
+ }
892
+
893
+ /**
894
+ * The base implementation of `_.some` without support for iteratee shorthands.
895
+ *
896
+ * @private
897
+ * @param {Array|Object} collection The collection to iterate over.
898
+ * @param {Function} predicate The function invoked per iteration.
899
+ * @returns {boolean} Returns `true` if any element passes the predicate check,
900
+ * else `false`.
901
+ */
902
+ function baseSome(collection, predicate) {
903
+ var result;
904
+
905
+ baseEach(collection, function(value, index, collection) {
906
+ result = predicate(value, index, collection);
907
+ return !result;
908
+ });
909
+ return !!result;
910
+ }
911
+
912
+ /**
913
+ * The base implementation of `wrapperValue` which returns the result of
914
+ * performing a sequence of actions on the unwrapped `value`, where each
915
+ * successive action is supplied the return value of the previous.
916
+ *
917
+ * @private
918
+ * @param {*} value The unwrapped value.
919
+ * @param {Array} actions Actions to perform to resolve the unwrapped value.
920
+ * @returns {*} Returns the resolved value.
921
+ */
922
+ function baseWrapperValue(value, actions) {
923
+ var result = value;
924
+ return reduce(actions, function(result, action) {
925
+ return action.func.apply(action.thisArg, arrayPush([result], action.args));
926
+ }, result);
927
+ }
928
+
929
+ /**
930
+ * Compares values to sort them in ascending order.
931
+ *
932
+ * @private
933
+ * @param {*} value The value to compare.
934
+ * @param {*} other The other value to compare.
935
+ * @returns {number} Returns the sort order indicator for `value`.
936
+ */
937
+ function compareAscending(value, other) {
938
+ if (value !== other) {
939
+ var valIsDefined = value !== undefined,
940
+ valIsNull = value === null,
941
+ valIsReflexive = value === value,
942
+ valIsSymbol = false;
943
+
944
+ var othIsDefined = other !== undefined,
945
+ othIsNull = other === null,
946
+ othIsReflexive = other === other,
947
+ othIsSymbol = false;
948
+
949
+ if ((!othIsNull && !othIsSymbol && !valIsSymbol && value > other) ||
950
+ (valIsSymbol && othIsDefined && othIsReflexive && !othIsNull && !othIsSymbol) ||
951
+ (valIsNull && othIsDefined && othIsReflexive) ||
952
+ (!valIsDefined && othIsReflexive) ||
953
+ !valIsReflexive) {
954
+ return 1;
955
+ }
956
+ if ((!valIsNull && !valIsSymbol && !othIsSymbol && value < other) ||
957
+ (othIsSymbol && valIsDefined && valIsReflexive && !valIsNull && !valIsSymbol) ||
958
+ (othIsNull && valIsDefined && valIsReflexive) ||
959
+ (!othIsDefined && valIsReflexive) ||
960
+ !othIsReflexive) {
961
+ return -1;
962
+ }
963
+ }
964
+ return 0;
965
+ }
966
+
967
+ /**
968
+ * Copies properties of `source` to `object`.
969
+ *
970
+ * @private
971
+ * @param {Object} source The object to copy properties from.
972
+ * @param {Array} props The property identifiers to copy.
973
+ * @param {Object} [object={}] The object to copy properties to.
974
+ * @param {Function} [customizer] The function to customize copied values.
975
+ * @returns {Object} Returns `object`.
976
+ */
977
+ function copyObject(source, props, object, customizer) {
978
+ var isNew = !object;
979
+ object || (object = {});
980
+
981
+ var index = -1,
982
+ length = props.length;
983
+
984
+ while (++index < length) {
985
+ var key = props[index];
986
+
987
+ var newValue = customizer
988
+ ? customizer(object[key], source[key], key, object, source)
989
+ : undefined;
990
+
991
+ if (newValue === undefined) {
992
+ newValue = source[key];
993
+ }
994
+ if (isNew) {
995
+ baseAssignValue(object, key, newValue);
996
+ } else {
997
+ assignValue(object, key, newValue);
998
+ }
999
+ }
1000
+ return object;
1001
+ }
1002
+
1003
+ /**
1004
+ * Creates a function like `_.assign`.
1005
+ *
1006
+ * @private
1007
+ * @param {Function} assigner The function to assign values.
1008
+ * @returns {Function} Returns the new assigner function.
1009
+ */
1010
+ function createAssigner(assigner) {
1011
+ return baseRest(function(object, sources) {
1012
+ var index = -1,
1013
+ length = sources.length,
1014
+ customizer = length > 1 ? sources[length - 1] : undefined;
1015
+
1016
+ customizer = (assigner.length > 3 && typeof customizer == 'function')
1017
+ ? (length--, customizer)
1018
+ : undefined;
1019
+
1020
+ object = Object(object);
1021
+ while (++index < length) {
1022
+ var source = sources[index];
1023
+ if (source) {
1024
+ assigner(object, source, index, customizer);
1025
+ }
1026
+ }
1027
+ return object;
1028
+ });
1029
+ }
1030
+
1031
+ /**
1032
+ * Creates a `baseEach` or `baseEachRight` function.
1033
+ *
1034
+ * @private
1035
+ * @param {Function} eachFunc The function to iterate over a collection.
1036
+ * @param {boolean} [fromRight] Specify iterating from right to left.
1037
+ * @returns {Function} Returns the new base function.
1038
+ */
1039
+ function createBaseEach(eachFunc, fromRight) {
1040
+ return function(collection, iteratee) {
1041
+ if (collection == null) {
1042
+ return collection;
1043
+ }
1044
+ if (!isArrayLike(collection)) {
1045
+ return eachFunc(collection, iteratee);
1046
+ }
1047
+ var length = collection.length,
1048
+ index = fromRight ? length : -1,
1049
+ iterable = Object(collection);
1050
+
1051
+ while ((fromRight ? index-- : ++index < length)) {
1052
+ if (iteratee(iterable[index], index, iterable) === false) {
1053
+ break;
1054
+ }
1055
+ }
1056
+ return collection;
1057
+ };
1058
+ }
1059
+
1060
+ /**
1061
+ * Creates a base function for methods like `_.forIn` and `_.forOwn`.
1062
+ *
1063
+ * @private
1064
+ * @param {boolean} [fromRight] Specify iterating from right to left.
1065
+ * @returns {Function} Returns the new base function.
1066
+ */
1067
+ function createBaseFor(fromRight) {
1068
+ return function(object, iteratee, keysFunc) {
1069
+ var index = -1,
1070
+ iterable = Object(object),
1071
+ props = keysFunc(object),
1072
+ length = props.length;
1073
+
1074
+ while (length--) {
1075
+ var key = props[fromRight ? length : ++index];
1076
+ if (iteratee(iterable[key], key, iterable) === false) {
1077
+ break;
1078
+ }
1079
+ }
1080
+ return object;
1081
+ };
1082
+ }
1083
+
1084
+ /**
1085
+ * Creates a function that produces an instance of `Ctor` regardless of
1086
+ * whether it was invoked as part of a `new` expression or by `call` or `apply`.
1087
+ *
1088
+ * @private
1089
+ * @param {Function} Ctor The constructor to wrap.
1090
+ * @returns {Function} Returns the new wrapped function.
1091
+ */
1092
+ function createCtor(Ctor) {
1093
+ return function() {
1094
+ // Use a `switch` statement to work with class constructors. See
1095
+ // http://ecma-international.org/ecma-262/7.0/#sec-ecmascript-function-objects-call-thisargument-argumentslist
1096
+ // for more details.
1097
+ var args = arguments;
1098
+ var thisBinding = baseCreate(Ctor.prototype),
1099
+ result = Ctor.apply(thisBinding, args);
1100
+
1101
+ // Mimic the constructor's `return` behavior.
1102
+ // See https://es5.github.io/#x13.2.2 for more details.
1103
+ return isObject(result) ? result : thisBinding;
1104
+ };
1105
+ }
1106
+
1107
+ /**
1108
+ * Creates a `_.find` or `_.findLast` function.
1109
+ *
1110
+ * @private
1111
+ * @param {Function} findIndexFunc The function to find the collection index.
1112
+ * @returns {Function} Returns the new find function.
1113
+ */
1114
+ function createFind(findIndexFunc) {
1115
+ return function(collection, predicate, fromIndex) {
1116
+ var iterable = Object(collection);
1117
+ if (!isArrayLike(collection)) {
1118
+ var iteratee = baseIteratee(predicate, 3);
1119
+ collection = keys(collection);
1120
+ predicate = function(key) { return iteratee(iterable[key], key, iterable); };
1121
+ }
1122
+ var index = findIndexFunc(collection, predicate, fromIndex);
1123
+ return index > -1 ? iterable[iteratee ? collection[index] : index] : undefined;
1124
+ };
1125
+ }
1126
+
1127
+ /**
1128
+ * Creates a function that wraps `func` to invoke it with the `this` binding
1129
+ * of `thisArg` and `partials` prepended to the arguments it receives.
1130
+ *
1131
+ * @private
1132
+ * @param {Function} func The function to wrap.
1133
+ * @param {number} bitmask The bitmask flags. See `createWrap` for more details.
1134
+ * @param {*} thisArg The `this` binding of `func`.
1135
+ * @param {Array} partials The arguments to prepend to those provided to
1136
+ * the new function.
1137
+ * @returns {Function} Returns the new wrapped function.
1138
+ */
1139
+ function createPartial(func, bitmask, thisArg, partials) {
1140
+ if (typeof func != 'function') {
1141
+ throw new TypeError(FUNC_ERROR_TEXT);
1142
+ }
1143
+ var isBind = bitmask & WRAP_BIND_FLAG,
1144
+ Ctor = createCtor(func);
1145
+
1146
+ function wrapper() {
1147
+ var argsIndex = -1,
1148
+ argsLength = arguments.length,
1149
+ leftIndex = -1,
1150
+ leftLength = partials.length,
1151
+ args = Array(leftLength + argsLength),
1152
+ fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;
1153
+
1154
+ while (++leftIndex < leftLength) {
1155
+ args[leftIndex] = partials[leftIndex];
1156
+ }
1157
+ while (argsLength--) {
1158
+ args[leftIndex++] = arguments[++argsIndex];
1159
+ }
1160
+ return fn.apply(isBind ? thisArg : this, args);
1161
+ }
1162
+ return wrapper;
1163
+ }
1164
+
1165
+ /**
1166
+ * A specialized version of `baseIsEqualDeep` for arrays with support for
1167
+ * partial deep comparisons.
1168
+ *
1169
+ * @private
1170
+ * @param {Array} array The array to compare.
1171
+ * @param {Array} other The other array to compare.
1172
+ * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
1173
+ * @param {Function} customizer The function to customize comparisons.
1174
+ * @param {Function} equalFunc The function to determine equivalents of values.
1175
+ * @param {Object} stack Tracks traversed `array` and `other` objects.
1176
+ * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.
1177
+ */
1178
+ function equalArrays(array, other, bitmask, customizer, equalFunc, stack) {
1179
+ var isPartial = bitmask & COMPARE_PARTIAL_FLAG,
1180
+ arrLength = array.length,
1181
+ othLength = other.length;
1182
+
1183
+ if (arrLength != othLength && !(isPartial && othLength > arrLength)) {
1184
+ return false;
1185
+ }
1186
+ // Check that cyclic values are equal.
1187
+ var arrStacked = stack.get(array);
1188
+ var othStacked = stack.get(other);
1189
+ if (arrStacked && othStacked) {
1190
+ return arrStacked == other && othStacked == array;
1191
+ }
1192
+ var index = -1,
1193
+ result = true,
1194
+ seen = (bitmask & COMPARE_UNORDERED_FLAG) ? [] : undefined;
1195
+
1196
+ // Ignore non-index properties.
1197
+ while (++index < arrLength) {
1198
+ var arrValue = array[index],
1199
+ othValue = other[index];
1200
+
1201
+ var compared;
1202
+ if (compared !== undefined) {
1203
+ if (compared) {
1204
+ continue;
1205
+ }
1206
+ result = false;
1207
+ break;
1208
+ }
1209
+ // Recursively compare arrays (susceptible to call stack limits).
1210
+ if (seen) {
1211
+ if (!baseSome(other, function(othValue, othIndex) {
1212
+ if (!indexOf(seen, othIndex) &&
1213
+ (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {
1214
+ return seen.push(othIndex);
1215
+ }
1216
+ })) {
1217
+ result = false;
1218
+ break;
1219
+ }
1220
+ } else if (!(
1221
+ arrValue === othValue ||
1222
+ equalFunc(arrValue, othValue, bitmask, customizer, stack)
1223
+ )) {
1224
+ result = false;
1225
+ break;
1226
+ }
1227
+ }
1228
+ return result;
1229
+ }
1230
+
1231
+ /**
1232
+ * A specialized version of `baseIsEqualDeep` for comparing objects of
1233
+ * the same `toStringTag`.
1234
+ *
1235
+ * **Note:** This function only supports comparing values with tags of
1236
+ * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.
1237
+ *
1238
+ * @private
1239
+ * @param {Object} object The object to compare.
1240
+ * @param {Object} other The other object to compare.
1241
+ * @param {string} tag The `toStringTag` of the objects to compare.
1242
+ * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
1243
+ * @param {Function} customizer The function to customize comparisons.
1244
+ * @param {Function} equalFunc The function to determine equivalents of values.
1245
+ * @param {Object} stack Tracks traversed `object` and `other` objects.
1246
+ * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
1247
+ */
1248
+ function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {
1249
+ switch (tag) {
1250
+
1251
+ case boolTag:
1252
+ case dateTag:
1253
+ case numberTag:
1254
+ // Coerce booleans to `1` or `0` and dates to milliseconds.
1255
+ // Invalid dates are coerced to `NaN`.
1256
+ return eq(+object, +other);
1257
+
1258
+ case errorTag:
1259
+ return object.name == other.name && object.message == other.message;
1260
+
1261
+ case regexpTag:
1262
+ case stringTag:
1263
+ // Coerce regexes to strings and treat strings, primitives and objects,
1264
+ // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring
1265
+ // for more details.
1266
+ return object == (other + '');
1267
+
1268
+ }
1269
+ return false;
1270
+ }
1271
+
1272
+ /**
1273
+ * A specialized version of `baseIsEqualDeep` for objects with support for
1274
+ * partial deep comparisons.
1275
+ *
1276
+ * @private
1277
+ * @param {Object} object The object to compare.
1278
+ * @param {Object} other The other object to compare.
1279
+ * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
1280
+ * @param {Function} customizer The function to customize comparisons.
1281
+ * @param {Function} equalFunc The function to determine equivalents of values.
1282
+ * @param {Object} stack Tracks traversed `object` and `other` objects.
1283
+ * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
1284
+ */
1285
+ function equalObjects(object, other, bitmask, customizer, equalFunc, stack) {
1286
+ var isPartial = bitmask & COMPARE_PARTIAL_FLAG,
1287
+ objProps = keys(object),
1288
+ objLength = objProps.length,
1289
+ othProps = keys(other),
1290
+ othLength = othProps.length;
1291
+
1292
+ if (objLength != othLength && !isPartial) {
1293
+ return false;
1294
+ }
1295
+ var index = objLength;
1296
+ while (index--) {
1297
+ var key = objProps[index];
1298
+ if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {
1299
+ return false;
1300
+ }
1301
+ }
1302
+ // Check that cyclic values are equal.
1303
+ var objStacked = stack.get(object);
1304
+ var othStacked = stack.get(other);
1305
+ if (objStacked && othStacked) {
1306
+ return objStacked == other && othStacked == object;
1307
+ }
1308
+ var result = true;
1309
+
1310
+ var skipCtor = isPartial;
1311
+ while (++index < objLength) {
1312
+ key = objProps[index];
1313
+ var objValue = object[key],
1314
+ othValue = other[key];
1315
+
1316
+ var compared;
1317
+ // Recursively compare objects (susceptible to call stack limits).
1318
+ if (!(compared === undefined
1319
+ ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))
1320
+ : compared
1321
+ )) {
1322
+ result = false;
1323
+ break;
1324
+ }
1325
+ skipCtor || (skipCtor = key == 'constructor');
1326
+ }
1327
+ if (result && !skipCtor) {
1328
+ var objCtor = object.constructor,
1329
+ othCtor = other.constructor;
1330
+
1331
+ // Non `Object` object instances with different constructors are not equal.
1332
+ if (objCtor != othCtor &&
1333
+ ('constructor' in object && 'constructor' in other) &&
1334
+ !(typeof objCtor == 'function' && objCtor instanceof objCtor &&
1335
+ typeof othCtor == 'function' && othCtor instanceof othCtor)) {
1336
+ result = false;
1337
+ }
1338
+ }
1339
+ return result;
1340
+ }
1341
+
1342
+ /**
1343
+ * A specialized version of `baseRest` which flattens the rest array.
1344
+ *
1345
+ * @private
1346
+ * @param {Function} func The function to apply a rest parameter to.
1347
+ * @returns {Function} Returns the new function.
1348
+ */
1349
+ function flatRest(func) {
1350
+ return setToString(overRest(func, undefined, flatten), func + '');
1351
+ }
1352
+
1353
+ /**
1354
+ * Checks if `value` is a flattenable `arguments` object or array.
1355
+ *
1356
+ * @private
1357
+ * @param {*} value The value to check.
1358
+ * @returns {boolean} Returns `true` if `value` is flattenable, else `false`.
1359
+ */
1360
+ function isFlattenable(value) {
1361
+ return isArray(value) || isArguments(value);
1362
+ }
1363
+
1364
+ /**
1365
+ * Checks if `value` is a valid array-like index.
1366
+ *
1367
+ * @private
1368
+ * @param {*} value The value to check.
1369
+ * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.
1370
+ * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.
1371
+ */
1372
+ function isIndex(value, length) {
1373
+ var type = typeof value;
1374
+ length = length == null ? MAX_SAFE_INTEGER : length;
1375
+
1376
+ return !!length &&
1377
+ (type == 'number' ||
1378
+ (type != 'symbol' && reIsUint.test(value))) &&
1379
+ (value > -1 && value % 1 == 0 && value < length);
1380
+ }
1381
+
1382
+ /**
1383
+ * Checks if the given arguments are from an iteratee call.
1384
+ *
1385
+ * @private
1386
+ * @param {*} value The potential iteratee value argument.
1387
+ * @param {*} index The potential iteratee index or key argument.
1388
+ * @param {*} object The potential iteratee object argument.
1389
+ * @returns {boolean} Returns `true` if the arguments are from an iteratee call,
1390
+ * else `false`.
1391
+ */
1392
+ function isIterateeCall(value, index, object) {
1393
+ if (!isObject(object)) {
1394
+ return false;
1395
+ }
1396
+ var type = typeof index;
1397
+ if (type == 'number'
1398
+ ? (isArrayLike(object) && isIndex(index, object.length))
1399
+ : (type == 'string' && index in object)
1400
+ ) {
1401
+ return eq(object[index], value);
1402
+ }
1403
+ return false;
1404
+ }
1405
+
1406
+ /**
1407
+ * This function is like
1408
+ * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)
1409
+ * except that it includes inherited enumerable properties.
1410
+ *
1411
+ * @private
1412
+ * @param {Object} object The object to query.
1413
+ * @returns {Array} Returns the array of property names.
1414
+ */
1415
+ function nativeKeysIn(object) {
1416
+ var result = [];
1417
+ if (object != null) {
1418
+ for (var key in Object(object)) {
1419
+ result.push(key);
1420
+ }
1421
+ }
1422
+ return result;
1423
+ }
1424
+
1425
+ /**
1426
+ * Converts `value` to a string using `Object.prototype.toString`.
1427
+ *
1428
+ * @private
1429
+ * @param {*} value The value to convert.
1430
+ * @returns {string} Returns the converted string.
1431
+ */
1432
+ function objectToString(value) {
1433
+ return nativeObjectToString.call(value);
1434
+ }
1435
+
1436
+ /**
1437
+ * A specialized version of `baseRest` which transforms the rest array.
1438
+ *
1439
+ * @private
1440
+ * @param {Function} func The function to apply a rest parameter to.
1441
+ * @param {number} [start=func.length-1] The start position of the rest parameter.
1442
+ * @param {Function} transform The rest array transform.
1443
+ * @returns {Function} Returns the new function.
1444
+ */
1445
+ function overRest(func, start, transform) {
1446
+ start = nativeMax(start === undefined ? (func.length - 1) : start, 0);
1447
+ return function() {
1448
+ var args = arguments,
1449
+ index = -1,
1450
+ length = nativeMax(args.length - start, 0),
1451
+ array = Array(length);
1452
+
1453
+ while (++index < length) {
1454
+ array[index] = args[start + index];
1455
+ }
1456
+ index = -1;
1457
+ var otherArgs = Array(start + 1);
1458
+ while (++index < start) {
1459
+ otherArgs[index] = args[index];
1460
+ }
1461
+ otherArgs[start] = transform(array);
1462
+ return func.apply(this, otherArgs);
1463
+ };
1464
+ }
1465
+
1466
+ /**
1467
+ * Sets the `toString` method of `func` to return `string`.
1468
+ *
1469
+ * @private
1470
+ * @param {Function} func The function to modify.
1471
+ * @param {Function} string The `toString` result.
1472
+ * @returns {Function} Returns `func`.
1473
+ */
1474
+ var setToString = identity;
1475
+
1476
+ /*------------------------------------------------------------------------*/
1477
+
1478
+ /**
1479
+ * Creates an array with all falsey values removed. The values `false`, `null`,
1480
+ * `0`, `""`, `undefined`, and `NaN` are falsey.
1481
+ *
1482
+ * @static
1483
+ * @memberOf _
1484
+ * @since 0.1.0
1485
+ * @category Array
1486
+ * @param {Array} array The array to compact.
1487
+ * @returns {Array} Returns the new array of filtered values.
1488
+ * @example
1489
+ *
1490
+ * _.compact([0, 1, false, 2, '', 3]);
1491
+ * // => [1, 2, 3]
1492
+ */
1493
+ function compact(array) {
1494
+ return baseFilter(array, Boolean);
1495
+ }
1496
+
1497
+ /**
1498
+ * Creates a new array concatenating `array` with any additional arrays
1499
+ * and/or values.
1500
+ *
1501
+ * @static
1502
+ * @memberOf _
1503
+ * @since 4.0.0
1504
+ * @category Array
1505
+ * @param {Array} array The array to concatenate.
1506
+ * @param {...*} [values] The values to concatenate.
1507
+ * @returns {Array} Returns the new concatenated array.
1508
+ * @example
1509
+ *
1510
+ * var array = [1];
1511
+ * var other = _.concat(array, 2, [3], [[4]]);
1512
+ *
1513
+ * console.log(other);
1514
+ * // => [1, 2, 3, [4]]
1515
+ *
1516
+ * console.log(array);
1517
+ * // => [1]
1518
+ */
1519
+ function concat() {
1520
+ var length = arguments.length;
1521
+ if (!length) {
1522
+ return [];
1523
+ }
1524
+ var args = Array(length - 1),
1525
+ array = arguments[0],
1526
+ index = length;
1527
+
1528
+ while (index--) {
1529
+ args[index - 1] = arguments[index];
1530
+ }
1531
+ return arrayPush(isArray(array) ? copyArray(array) : [array], baseFlatten(args, 1));
1532
+ }
1533
+
1534
+ /**
1535
+ * This method is like `_.find` except that it returns the index of the first
1536
+ * element `predicate` returns truthy for instead of the element itself.
1537
+ *
1538
+ * @static
1539
+ * @memberOf _
1540
+ * @since 1.1.0
1541
+ * @category Array
1542
+ * @param {Array} array The array to inspect.
1543
+ * @param {Function} [predicate=_.identity] The function invoked per iteration.
1544
+ * @param {number} [fromIndex=0] The index to search from.
1545
+ * @returns {number} Returns the index of the found element, else `-1`.
1546
+ * @example
1547
+ *
1548
+ * var users = [
1549
+ * { 'user': 'barney', 'active': false },
1550
+ * { 'user': 'fred', 'active': false },
1551
+ * { 'user': 'pebbles', 'active': true }
1552
+ * ];
1553
+ *
1554
+ * _.findIndex(users, function(o) { return o.user == 'barney'; });
1555
+ * // => 0
1556
+ *
1557
+ * // The `_.matches` iteratee shorthand.
1558
+ * _.findIndex(users, { 'user': 'fred', 'active': false });
1559
+ * // => 1
1560
+ *
1561
+ * // The `_.matchesProperty` iteratee shorthand.
1562
+ * _.findIndex(users, ['active', false]);
1563
+ * // => 0
1564
+ *
1565
+ * // The `_.property` iteratee shorthand.
1566
+ * _.findIndex(users, 'active');
1567
+ * // => 2
1568
+ */
1569
+ function findIndex(array, predicate, fromIndex) {
1570
+ var length = array == null ? 0 : array.length;
1571
+ if (!length) {
1572
+ return -1;
1573
+ }
1574
+ var index = fromIndex == null ? 0 : toInteger(fromIndex);
1575
+ if (index < 0) {
1576
+ index = nativeMax(length + index, 0);
1577
+ }
1578
+ return baseFindIndex(array, baseIteratee(predicate, 3), index);
1579
+ }
1580
+
1581
+ /**
1582
+ * Flattens `array` a single level deep.
1583
+ *
1584
+ * @static
1585
+ * @memberOf _
1586
+ * @since 0.1.0
1587
+ * @category Array
1588
+ * @param {Array} array The array to flatten.
1589
+ * @returns {Array} Returns the new flattened array.
1590
+ * @example
1591
+ *
1592
+ * _.flatten([1, [2, [3, [4]], 5]]);
1593
+ * // => [1, 2, [3, [4]], 5]
1594
+ */
1595
+ function flatten(array) {
1596
+ var length = array == null ? 0 : array.length;
1597
+ return length ? baseFlatten(array, 1) : [];
1598
+ }
1599
+
1600
+ /**
1601
+ * Recursively flattens `array`.
1602
+ *
1603
+ * @static
1604
+ * @memberOf _
1605
+ * @since 3.0.0
1606
+ * @category Array
1607
+ * @param {Array} array The array to flatten.
1608
+ * @returns {Array} Returns the new flattened array.
1609
+ * @example
1610
+ *
1611
+ * _.flattenDeep([1, [2, [3, [4]], 5]]);
1612
+ * // => [1, 2, 3, 4, 5]
1613
+ */
1614
+ function flattenDeep(array) {
1615
+ var length = array == null ? 0 : array.length;
1616
+ return length ? baseFlatten(array, INFINITY) : [];
1617
+ }
1618
+
1619
+ /**
1620
+ * Gets the first element of `array`.
1621
+ *
1622
+ * @static
1623
+ * @memberOf _
1624
+ * @since 0.1.0
1625
+ * @alias first
1626
+ * @category Array
1627
+ * @param {Array} array The array to query.
1628
+ * @returns {*} Returns the first element of `array`.
1629
+ * @example
1630
+ *
1631
+ * _.head([1, 2, 3]);
1632
+ * // => 1
1633
+ *
1634
+ * _.head([]);
1635
+ * // => undefined
1636
+ */
1637
+ function head(array) {
1638
+ return (array && array.length) ? array[0] : undefined;
1639
+ }
1640
+
1641
+ /**
1642
+ * Gets the index at which the first occurrence of `value` is found in `array`
1643
+ * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
1644
+ * for equality comparisons. If `fromIndex` is negative, it's used as the
1645
+ * offset from the end of `array`.
1646
+ *
1647
+ * @static
1648
+ * @memberOf _
1649
+ * @since 0.1.0
1650
+ * @category Array
1651
+ * @param {Array} array The array to inspect.
1652
+ * @param {*} value The value to search for.
1653
+ * @param {number} [fromIndex=0] The index to search from.
1654
+ * @returns {number} Returns the index of the matched value, else `-1`.
1655
+ * @example
1656
+ *
1657
+ * _.indexOf([1, 2, 1, 2], 2);
1658
+ * // => 1
1659
+ *
1660
+ * // Search from the `fromIndex`.
1661
+ * _.indexOf([1, 2, 1, 2], 2, 2);
1662
+ * // => 3
1663
+ */
1664
+ function indexOf(array, value, fromIndex) {
1665
+ var length = array == null ? 0 : array.length;
1666
+ if (typeof fromIndex == 'number') {
1667
+ fromIndex = fromIndex < 0 ? nativeMax(length + fromIndex, 0) : fromIndex;
1668
+ } else {
1669
+ fromIndex = 0;
1670
+ }
1671
+ var index = (fromIndex || 0) - 1,
1672
+ isReflexive = value === value;
1673
+
1674
+ while (++index < length) {
1675
+ var other = array[index];
1676
+ if ((isReflexive ? other === value : other !== other)) {
1677
+ return index;
1678
+ }
1679
+ }
1680
+ return -1;
1681
+ }
1682
+
1683
+ /**
1684
+ * Gets the last element of `array`.
1685
+ *
1686
+ * @static
1687
+ * @memberOf _
1688
+ * @since 0.1.0
1689
+ * @category Array
1690
+ * @param {Array} array The array to query.
1691
+ * @returns {*} Returns the last element of `array`.
1692
+ * @example
1693
+ *
1694
+ * _.last([1, 2, 3]);
1695
+ * // => 3
1696
+ */
1697
+ function last(array) {
1698
+ var length = array == null ? 0 : array.length;
1699
+ return length ? array[length - 1] : undefined;
1700
+ }
1701
+
1702
+ /**
1703
+ * Creates a slice of `array` from `start` up to, but not including, `end`.
1704
+ *
1705
+ * **Note:** This method is used instead of
1706
+ * [`Array#slice`](https://mdn.io/Array/slice) to ensure dense arrays are
1707
+ * returned.
1708
+ *
1709
+ * @static
1710
+ * @memberOf _
1711
+ * @since 3.0.0
1712
+ * @category Array
1713
+ * @param {Array} array The array to slice.
1714
+ * @param {number} [start=0] The start position.
1715
+ * @param {number} [end=array.length] The end position.
1716
+ * @returns {Array} Returns the slice of `array`.
1717
+ */
1718
+ function slice(array, start, end) {
1719
+ var length = array == null ? 0 : array.length;
1720
+ start = start == null ? 0 : +start;
1721
+ end = end === undefined ? length : +end;
1722
+ return length ? baseSlice(array, start, end) : [];
1723
+ }
1724
+
1725
+ /*------------------------------------------------------------------------*/
1726
+
1727
+ /**
1728
+ * Creates a `lodash` wrapper instance that wraps `value` with explicit method
1729
+ * chain sequences enabled. The result of such sequences must be unwrapped
1730
+ * with `_#value`.
1731
+ *
1732
+ * @static
1733
+ * @memberOf _
1734
+ * @since 1.3.0
1735
+ * @category Seq
1736
+ * @param {*} value The value to wrap.
1737
+ * @returns {Object} Returns the new `lodash` wrapper instance.
1738
+ * @example
1739
+ *
1740
+ * var users = [
1741
+ * { 'user': 'barney', 'age': 36 },
1742
+ * { 'user': 'fred', 'age': 40 },
1743
+ * { 'user': 'pebbles', 'age': 1 }
1744
+ * ];
1745
+ *
1746
+ * var youngest = _
1747
+ * .chain(users)
1748
+ * .sortBy('age')
1749
+ * .map(function(o) {
1750
+ * return o.user + ' is ' + o.age;
1751
+ * })
1752
+ * .head()
1753
+ * .value();
1754
+ * // => 'pebbles is 1'
1755
+ */
1756
+ function chain(value) {
1757
+ var result = lodash(value);
1758
+ result.__chain__ = true;
1759
+ return result;
1760
+ }
1761
+
1762
+ /**
1763
+ * This method invokes `interceptor` and returns `value`. The interceptor
1764
+ * is invoked with one argument; (value). The purpose of this method is to
1765
+ * "tap into" a method chain sequence in order to modify intermediate results.
1766
+ *
1767
+ * @static
1768
+ * @memberOf _
1769
+ * @since 0.1.0
1770
+ * @category Seq
1771
+ * @param {*} value The value to provide to `interceptor`.
1772
+ * @param {Function} interceptor The function to invoke.
1773
+ * @returns {*} Returns `value`.
1774
+ * @example
1775
+ *
1776
+ * _([1, 2, 3])
1777
+ * .tap(function(array) {
1778
+ * // Mutate input array.
1779
+ * array.pop();
1780
+ * })
1781
+ * .reverse()
1782
+ * .value();
1783
+ * // => [2, 1]
1784
+ */
1785
+ function tap(value, interceptor) {
1786
+ interceptor(value);
1787
+ return value;
1788
+ }
1789
+
1790
+ /**
1791
+ * This method is like `_.tap` except that it returns the result of `interceptor`.
1792
+ * The purpose of this method is to "pass thru" values replacing intermediate
1793
+ * results in a method chain sequence.
1794
+ *
1795
+ * @static
1796
+ * @memberOf _
1797
+ * @since 3.0.0
1798
+ * @category Seq
1799
+ * @param {*} value The value to provide to `interceptor`.
1800
+ * @param {Function} interceptor The function to invoke.
1801
+ * @returns {*} Returns the result of `interceptor`.
1802
+ * @example
1803
+ *
1804
+ * _(' abc ')
1805
+ * .chain()
1806
+ * .trim()
1807
+ * .thru(function(value) {
1808
+ * return [value];
1809
+ * })
1810
+ * .value();
1811
+ * // => ['abc']
1812
+ */
1813
+ function thru(value, interceptor) {
1814
+ return interceptor(value);
1815
+ }
1816
+
1817
+ /**
1818
+ * Creates a `lodash` wrapper instance with explicit method chain sequences enabled.
1819
+ *
1820
+ * @name chain
1821
+ * @memberOf _
1822
+ * @since 0.1.0
1823
+ * @category Seq
1824
+ * @returns {Object} Returns the new `lodash` wrapper instance.
1825
+ * @example
1826
+ *
1827
+ * var users = [
1828
+ * { 'user': 'barney', 'age': 36 },
1829
+ * { 'user': 'fred', 'age': 40 }
1830
+ * ];
1831
+ *
1832
+ * // A sequence without explicit chaining.
1833
+ * _(users).head();
1834
+ * // => { 'user': 'barney', 'age': 36 }
1835
+ *
1836
+ * // A sequence with explicit chaining.
1837
+ * _(users)
1838
+ * .chain()
1839
+ * .head()
1840
+ * .pick('user')
1841
+ * .value();
1842
+ * // => { 'user': 'barney' }
1843
+ */
1844
+ function wrapperChain() {
1845
+ return chain(this);
1846
+ }
1847
+
1848
+ /**
1849
+ * Executes the chain sequence to resolve the unwrapped value.
1850
+ *
1851
+ * @name value
1852
+ * @memberOf _
1853
+ * @since 0.1.0
1854
+ * @alias toJSON, valueOf
1855
+ * @category Seq
1856
+ * @returns {*} Returns the resolved unwrapped value.
1857
+ * @example
1858
+ *
1859
+ * _([1, 2, 3]).value();
1860
+ * // => [1, 2, 3]
1861
+ */
1862
+ function wrapperValue() {
1863
+ return baseWrapperValue(this.__wrapped__, this.__actions__);
1864
+ }
1865
+
1866
+ /*------------------------------------------------------------------------*/
1867
+
1868
+ /**
1869
+ * Checks if `predicate` returns truthy for **all** elements of `collection`.
1870
+ * Iteration is stopped once `predicate` returns falsey. The predicate is
1871
+ * invoked with three arguments: (value, index|key, collection).
1872
+ *
1873
+ * **Note:** This method returns `true` for
1874
+ * [empty collections](https://en.wikipedia.org/wiki/Empty_set) because
1875
+ * [everything is true](https://en.wikipedia.org/wiki/Vacuous_truth) of
1876
+ * elements of empty collections.
1877
+ *
1878
+ * @static
1879
+ * @memberOf _
1880
+ * @since 0.1.0
1881
+ * @category Collection
1882
+ * @param {Array|Object} collection The collection to iterate over.
1883
+ * @param {Function} [predicate=_.identity] The function invoked per iteration.
1884
+ * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
1885
+ * @returns {boolean} Returns `true` if all elements pass the predicate check,
1886
+ * else `false`.
1887
+ * @example
1888
+ *
1889
+ * _.every([true, 1, null, 'yes'], Boolean);
1890
+ * // => false
1891
+ *
1892
+ * var users = [
1893
+ * { 'user': 'barney', 'age': 36, 'active': false },
1894
+ * { 'user': 'fred', 'age': 40, 'active': false }
1895
+ * ];
1896
+ *
1897
+ * // The `_.matches` iteratee shorthand.
1898
+ * _.every(users, { 'user': 'barney', 'active': false });
1899
+ * // => false
1900
+ *
1901
+ * // The `_.matchesProperty` iteratee shorthand.
1902
+ * _.every(users, ['active', false]);
1903
+ * // => true
1904
+ *
1905
+ * // The `_.property` iteratee shorthand.
1906
+ * _.every(users, 'active');
1907
+ * // => false
1908
+ */
1909
+ function every(collection, predicate, guard) {
1910
+ predicate = guard ? undefined : predicate;
1911
+ return baseEvery(collection, baseIteratee(predicate));
1912
+ }
1913
+
1914
+ /**
1915
+ * Iterates over elements of `collection`, returning an array of all elements
1916
+ * `predicate` returns truthy for. The predicate is invoked with three
1917
+ * arguments: (value, index|key, collection).
1918
+ *
1919
+ * **Note:** Unlike `_.remove`, this method returns a new array.
1920
+ *
1921
+ * @static
1922
+ * @memberOf _
1923
+ * @since 0.1.0
1924
+ * @category Collection
1925
+ * @param {Array|Object} collection The collection to iterate over.
1926
+ * @param {Function} [predicate=_.identity] The function invoked per iteration.
1927
+ * @returns {Array} Returns the new filtered array.
1928
+ * @see _.reject
1929
+ * @example
1930
+ *
1931
+ * var users = [
1932
+ * { 'user': 'barney', 'age': 36, 'active': true },
1933
+ * { 'user': 'fred', 'age': 40, 'active': false }
1934
+ * ];
1935
+ *
1936
+ * _.filter(users, function(o) { return !o.active; });
1937
+ * // => objects for ['fred']
1938
+ *
1939
+ * // The `_.matches` iteratee shorthand.
1940
+ * _.filter(users, { 'age': 36, 'active': true });
1941
+ * // => objects for ['barney']
1942
+ *
1943
+ * // The `_.matchesProperty` iteratee shorthand.
1944
+ * _.filter(users, ['active', false]);
1945
+ * // => objects for ['fred']
1946
+ *
1947
+ * // The `_.property` iteratee shorthand.
1948
+ * _.filter(users, 'active');
1949
+ * // => objects for ['barney']
1950
+ *
1951
+ * // Combining several predicates using `_.overEvery` or `_.overSome`.
1952
+ * _.filter(users, _.overSome([{ 'age': 36 }, ['age', 40]]));
1953
+ * // => objects for ['fred', 'barney']
1954
+ */
1955
+ function filter(collection, predicate) {
1956
+ return baseFilter(collection, baseIteratee(predicate));
1957
+ }
1958
+
1959
+ /**
1960
+ * Iterates over elements of `collection`, returning the first element
1961
+ * `predicate` returns truthy for. The predicate is invoked with three
1962
+ * arguments: (value, index|key, collection).
1963
+ *
1964
+ * @static
1965
+ * @memberOf _
1966
+ * @since 0.1.0
1967
+ * @category Collection
1968
+ * @param {Array|Object} collection The collection to inspect.
1969
+ * @param {Function} [predicate=_.identity] The function invoked per iteration.
1970
+ * @param {number} [fromIndex=0] The index to search from.
1971
+ * @returns {*} Returns the matched element, else `undefined`.
1972
+ * @example
1973
+ *
1974
+ * var users = [
1975
+ * { 'user': 'barney', 'age': 36, 'active': true },
1976
+ * { 'user': 'fred', 'age': 40, 'active': false },
1977
+ * { 'user': 'pebbles', 'age': 1, 'active': true }
1978
+ * ];
1979
+ *
1980
+ * _.find(users, function(o) { return o.age < 40; });
1981
+ * // => object for 'barney'
1982
+ *
1983
+ * // The `_.matches` iteratee shorthand.
1984
+ * _.find(users, { 'age': 1, 'active': true });
1985
+ * // => object for 'pebbles'
1986
+ *
1987
+ * // The `_.matchesProperty` iteratee shorthand.
1988
+ * _.find(users, ['active', false]);
1989
+ * // => object for 'fred'
1990
+ *
1991
+ * // The `_.property` iteratee shorthand.
1992
+ * _.find(users, 'active');
1993
+ * // => object for 'barney'
1994
+ */
1995
+ var find = createFind(findIndex);
1996
+
1997
+ /**
1998
+ * Iterates over elements of `collection` and invokes `iteratee` for each element.
1999
+ * The iteratee is invoked with three arguments: (value, index|key, collection).
2000
+ * Iteratee functions may exit iteration early by explicitly returning `false`.
2001
+ *
2002
+ * **Note:** As with other "Collections" methods, objects with a "length"
2003
+ * property are iterated like arrays. To avoid this behavior use `_.forIn`
2004
+ * or `_.forOwn` for object iteration.
2005
+ *
2006
+ * @static
2007
+ * @memberOf _
2008
+ * @since 0.1.0
2009
+ * @alias each
2010
+ * @category Collection
2011
+ * @param {Array|Object} collection The collection to iterate over.
2012
+ * @param {Function} [iteratee=_.identity] The function invoked per iteration.
2013
+ * @returns {Array|Object} Returns `collection`.
2014
+ * @see _.forEachRight
2015
+ * @example
2016
+ *
2017
+ * _.forEach([1, 2], function(value) {
2018
+ * console.log(value);
2019
+ * });
2020
+ * // => Logs `1` then `2`.
2021
+ *
2022
+ * _.forEach({ 'a': 1, 'b': 2 }, function(value, key) {
2023
+ * console.log(key);
2024
+ * });
2025
+ * // => Logs 'a' then 'b' (iteration order is not guaranteed).
2026
+ */
2027
+ function forEach(collection, iteratee) {
2028
+ return baseEach(collection, baseIteratee(iteratee));
2029
+ }
2030
+
2031
+ /**
2032
+ * Creates an array of values by running each element in `collection` thru
2033
+ * `iteratee`. The iteratee is invoked with three arguments:
2034
+ * (value, index|key, collection).
2035
+ *
2036
+ * Many lodash methods are guarded to work as iteratees for methods like
2037
+ * `_.every`, `_.filter`, `_.map`, `_.mapValues`, `_.reject`, and `_.some`.
2038
+ *
2039
+ * The guarded methods are:
2040
+ * `ary`, `chunk`, `curry`, `curryRight`, `drop`, `dropRight`, `every`,
2041
+ * `fill`, `invert`, `parseInt`, `random`, `range`, `rangeRight`, `repeat`,
2042
+ * `sampleSize`, `slice`, `some`, `sortBy`, `split`, `take`, `takeRight`,
2043
+ * `template`, `trim`, `trimEnd`, `trimStart`, and `words`
2044
+ *
2045
+ * @static
2046
+ * @memberOf _
2047
+ * @since 0.1.0
2048
+ * @category Collection
2049
+ * @param {Array|Object} collection The collection to iterate over.
2050
+ * @param {Function} [iteratee=_.identity] The function invoked per iteration.
2051
+ * @returns {Array} Returns the new mapped array.
2052
+ * @example
2053
+ *
2054
+ * function square(n) {
2055
+ * return n * n;
2056
+ * }
2057
+ *
2058
+ * _.map([4, 8], square);
2059
+ * // => [16, 64]
2060
+ *
2061
+ * _.map({ 'a': 4, 'b': 8 }, square);
2062
+ * // => [16, 64] (iteration order is not guaranteed)
2063
+ *
2064
+ * var users = [
2065
+ * { 'user': 'barney' },
2066
+ * { 'user': 'fred' }
2067
+ * ];
2068
+ *
2069
+ * // The `_.property` iteratee shorthand.
2070
+ * _.map(users, 'user');
2071
+ * // => ['barney', 'fred']
2072
+ */
2073
+ function map(collection, iteratee) {
2074
+ return baseMap(collection, baseIteratee(iteratee));
2075
+ }
2076
+
2077
+ /**
2078
+ * Reduces `collection` to a value which is the accumulated result of running
2079
+ * each element in `collection` thru `iteratee`, where each successive
2080
+ * invocation is supplied the return value of the previous. If `accumulator`
2081
+ * is not given, the first element of `collection` is used as the initial
2082
+ * value. The iteratee is invoked with four arguments:
2083
+ * (accumulator, value, index|key, collection).
2084
+ *
2085
+ * Many lodash methods are guarded to work as iteratees for methods like
2086
+ * `_.reduce`, `_.reduceRight`, and `_.transform`.
2087
+ *
2088
+ * The guarded methods are:
2089
+ * `assign`, `defaults`, `defaultsDeep`, `includes`, `merge`, `orderBy`,
2090
+ * and `sortBy`
2091
+ *
2092
+ * @static
2093
+ * @memberOf _
2094
+ * @since 0.1.0
2095
+ * @category Collection
2096
+ * @param {Array|Object} collection The collection to iterate over.
2097
+ * @param {Function} [iteratee=_.identity] The function invoked per iteration.
2098
+ * @param {*} [accumulator] The initial value.
2099
+ * @returns {*} Returns the accumulated value.
2100
+ * @see _.reduceRight
2101
+ * @example
2102
+ *
2103
+ * _.reduce([1, 2], function(sum, n) {
2104
+ * return sum + n;
2105
+ * }, 0);
2106
+ * // => 3
2107
+ *
2108
+ * _.reduce({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) {
2109
+ * (result[value] || (result[value] = [])).push(key);
2110
+ * return result;
2111
+ * }, {});
2112
+ * // => { '1': ['a', 'c'], '2': ['b'] } (iteration order is not guaranteed)
2113
+ */
2114
+ function reduce(collection, iteratee, accumulator) {
2115
+ return baseReduce(collection, baseIteratee(iteratee), accumulator, arguments.length < 3, baseEach);
2116
+ }
2117
+
2118
+ /**
2119
+ * Gets the size of `collection` by returning its length for array-like
2120
+ * values or the number of own enumerable string keyed properties for objects.
2121
+ *
2122
+ * @static
2123
+ * @memberOf _
2124
+ * @since 0.1.0
2125
+ * @category Collection
2126
+ * @param {Array|Object|string} collection The collection to inspect.
2127
+ * @returns {number} Returns the collection size.
2128
+ * @example
2129
+ *
2130
+ * _.size([1, 2, 3]);
2131
+ * // => 3
2132
+ *
2133
+ * _.size({ 'a': 1, 'b': 2 });
2134
+ * // => 2
2135
+ *
2136
+ * _.size('pebbles');
2137
+ * // => 7
2138
+ */
2139
+ function size(collection) {
2140
+ if (collection == null) {
2141
+ return 0;
2142
+ }
2143
+ collection = isArrayLike(collection) ? collection : nativeKeys(collection);
2144
+ return collection.length;
2145
+ }
2146
+
2147
+ /**
2148
+ * Checks if `predicate` returns truthy for **any** element of `collection`.
2149
+ * Iteration is stopped once `predicate` returns truthy. The predicate is
2150
+ * invoked with three arguments: (value, index|key, collection).
2151
+ *
2152
+ * @static
2153
+ * @memberOf _
2154
+ * @since 0.1.0
2155
+ * @category Collection
2156
+ * @param {Array|Object} collection The collection to iterate over.
2157
+ * @param {Function} [predicate=_.identity] The function invoked per iteration.
2158
+ * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
2159
+ * @returns {boolean} Returns `true` if any element passes the predicate check,
2160
+ * else `false`.
2161
+ * @example
2162
+ *
2163
+ * _.some([null, 0, 'yes', false], Boolean);
2164
+ * // => true
2165
+ *
2166
+ * var users = [
2167
+ * { 'user': 'barney', 'active': true },
2168
+ * { 'user': 'fred', 'active': false }
2169
+ * ];
2170
+ *
2171
+ * // The `_.matches` iteratee shorthand.
2172
+ * _.some(users, { 'user': 'barney', 'active': false });
2173
+ * // => false
2174
+ *
2175
+ * // The `_.matchesProperty` iteratee shorthand.
2176
+ * _.some(users, ['active', false]);
2177
+ * // => true
2178
+ *
2179
+ * // The `_.property` iteratee shorthand.
2180
+ * _.some(users, 'active');
2181
+ * // => true
2182
+ */
2183
+ function some(collection, predicate, guard) {
2184
+ predicate = guard ? undefined : predicate;
2185
+ return baseSome(collection, baseIteratee(predicate));
2186
+ }
2187
+
2188
+ /**
2189
+ * Creates an array of elements, sorted in ascending order by the results of
2190
+ * running each element in a collection thru each iteratee. This method
2191
+ * performs a stable sort, that is, it preserves the original sort order of
2192
+ * equal elements. The iteratees are invoked with one argument: (value).
2193
+ *
2194
+ * @static
2195
+ * @memberOf _
2196
+ * @since 0.1.0
2197
+ * @category Collection
2198
+ * @param {Array|Object} collection The collection to iterate over.
2199
+ * @param {...(Function|Function[])} [iteratees=[_.identity]]
2200
+ * The iteratees to sort by.
2201
+ * @returns {Array} Returns the new sorted array.
2202
+ * @example
2203
+ *
2204
+ * var users = [
2205
+ * { 'user': 'fred', 'age': 48 },
2206
+ * { 'user': 'barney', 'age': 36 },
2207
+ * { 'user': 'fred', 'age': 30 },
2208
+ * { 'user': 'barney', 'age': 34 }
2209
+ * ];
2210
+ *
2211
+ * _.sortBy(users, [function(o) { return o.user; }]);
2212
+ * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 30]]
2213
+ *
2214
+ * _.sortBy(users, ['user', 'age']);
2215
+ * // => objects for [['barney', 34], ['barney', 36], ['fred', 30], ['fred', 48]]
2216
+ */
2217
+ function sortBy(collection, iteratee) {
2218
+ var index = 0;
2219
+ iteratee = baseIteratee(iteratee);
2220
+
2221
+ return baseMap(baseMap(collection, function(value, key, collection) {
2222
+ return { 'value': value, 'index': index++, 'criteria': iteratee(value, key, collection) };
2223
+ }).sort(function(object, other) {
2224
+ return compareAscending(object.criteria, other.criteria) || (object.index - other.index);
2225
+ }), baseProperty('value'));
2226
+ }
2227
+
2228
+ /*------------------------------------------------------------------------*/
2229
+
2230
+ /**
2231
+ * Creates a function that invokes `func`, with the `this` binding and arguments
2232
+ * of the created function, while it's called less than `n` times. Subsequent
2233
+ * calls to the created function return the result of the last `func` invocation.
2234
+ *
2235
+ * @static
2236
+ * @memberOf _
2237
+ * @since 3.0.0
2238
+ * @category Function
2239
+ * @param {number} n The number of calls at which `func` is no longer invoked.
2240
+ * @param {Function} func The function to restrict.
2241
+ * @returns {Function} Returns the new restricted function.
2242
+ * @example
2243
+ *
2244
+ * jQuery(element).on('click', _.before(5, addContactToList));
2245
+ * // => Allows adding up to 4 contacts to the list.
2246
+ */
2247
+ function before(n, func) {
2248
+ var result;
2249
+ if (typeof func != 'function') {
2250
+ throw new TypeError(FUNC_ERROR_TEXT);
2251
+ }
2252
+ n = toInteger(n);
2253
+ return function() {
2254
+ if (--n > 0) {
2255
+ result = func.apply(this, arguments);
2256
+ }
2257
+ if (n <= 1) {
2258
+ func = undefined;
2259
+ }
2260
+ return result;
2261
+ };
2262
+ }
2263
+
2264
+ /**
2265
+ * Creates a function that invokes `func` with the `this` binding of `thisArg`
2266
+ * and `partials` prepended to the arguments it receives.
2267
+ *
2268
+ * The `_.bind.placeholder` value, which defaults to `_` in monolithic builds,
2269
+ * may be used as a placeholder for partially applied arguments.
2270
+ *
2271
+ * **Note:** Unlike native `Function#bind`, this method doesn't set the "length"
2272
+ * property of bound functions.
2273
+ *
2274
+ * @static
2275
+ * @memberOf _
2276
+ * @since 0.1.0
2277
+ * @category Function
2278
+ * @param {Function} func The function to bind.
2279
+ * @param {*} thisArg The `this` binding of `func`.
2280
+ * @param {...*} [partials] The arguments to be partially applied.
2281
+ * @returns {Function} Returns the new bound function.
2282
+ * @example
2283
+ *
2284
+ * function greet(greeting, punctuation) {
2285
+ * return greeting + ' ' + this.user + punctuation;
2286
+ * }
2287
+ *
2288
+ * var object = { 'user': 'fred' };
2289
+ *
2290
+ * var bound = _.bind(greet, object, 'hi');
2291
+ * bound('!');
2292
+ * // => 'hi fred!'
2293
+ *
2294
+ * // Bound with placeholders.
2295
+ * var bound = _.bind(greet, object, _, '!');
2296
+ * bound('hi');
2297
+ * // => 'hi fred!'
2298
+ */
2299
+ var bind = baseRest(function(func, thisArg, partials) {
2300
+ return createPartial(func, WRAP_BIND_FLAG | WRAP_PARTIAL_FLAG, thisArg, partials);
2301
+ });
2302
+
2303
+ /**
2304
+ * Defers invoking the `func` until the current call stack has cleared. Any
2305
+ * additional arguments are provided to `func` when it's invoked.
2306
+ *
2307
+ * @static
2308
+ * @memberOf _
2309
+ * @since 0.1.0
2310
+ * @category Function
2311
+ * @param {Function} func The function to defer.
2312
+ * @param {...*} [args] The arguments to invoke `func` with.
2313
+ * @returns {number} Returns the timer id.
2314
+ * @example
2315
+ *
2316
+ * _.defer(function(text) {
2317
+ * console.log(text);
2318
+ * }, 'deferred');
2319
+ * // => Logs 'deferred' after one millisecond.
2320
+ */
2321
+ var defer = baseRest(function(func, args) {
2322
+ return baseDelay(func, 1, args);
2323
+ });
2324
+
2325
+ /**
2326
+ * Invokes `func` after `wait` milliseconds. Any additional arguments are
2327
+ * provided to `func` when it's invoked.
2328
+ *
2329
+ * @static
2330
+ * @memberOf _
2331
+ * @since 0.1.0
2332
+ * @category Function
2333
+ * @param {Function} func The function to delay.
2334
+ * @param {number} wait The number of milliseconds to delay invocation.
2335
+ * @param {...*} [args] The arguments to invoke `func` with.
2336
+ * @returns {number} Returns the timer id.
2337
+ * @example
2338
+ *
2339
+ * _.delay(function(text) {
2340
+ * console.log(text);
2341
+ * }, 1000, 'later');
2342
+ * // => Logs 'later' after one second.
2343
+ */
2344
+ var delay = baseRest(function(func, wait, args) {
2345
+ return baseDelay(func, toNumber(wait) || 0, args);
2346
+ });
2347
+
2348
+ /**
2349
+ * Creates a function that negates the result of the predicate `func`. The
2350
+ * `func` predicate is invoked with the `this` binding and arguments of the
2351
+ * created function.
2352
+ *
2353
+ * @static
2354
+ * @memberOf _
2355
+ * @since 3.0.0
2356
+ * @category Function
2357
+ * @param {Function} predicate The predicate to negate.
2358
+ * @returns {Function} Returns the new negated function.
2359
+ * @example
2360
+ *
2361
+ * function isEven(n) {
2362
+ * return n % 2 == 0;
2363
+ * }
2364
+ *
2365
+ * _.filter([1, 2, 3, 4, 5, 6], _.negate(isEven));
2366
+ * // => [1, 3, 5]
2367
+ */
2368
+ function negate(predicate) {
2369
+ if (typeof predicate != 'function') {
2370
+ throw new TypeError(FUNC_ERROR_TEXT);
2371
+ }
2372
+ return function() {
2373
+ var args = arguments;
2374
+ return !predicate.apply(this, args);
2375
+ };
2376
+ }
2377
+
2378
+ /**
2379
+ * Creates a function that is restricted to invoking `func` once. Repeat calls
2380
+ * to the function return the value of the first invocation. The `func` is
2381
+ * invoked with the `this` binding and arguments of the created function.
2382
+ *
2383
+ * @static
2384
+ * @memberOf _
2385
+ * @since 0.1.0
2386
+ * @category Function
2387
+ * @param {Function} func The function to restrict.
2388
+ * @returns {Function} Returns the new restricted function.
2389
+ * @example
2390
+ *
2391
+ * var initialize = _.once(createApplication);
2392
+ * initialize();
2393
+ * initialize();
2394
+ * // => `createApplication` is invoked once
2395
+ */
2396
+ function once(func) {
2397
+ return before(2, func);
2398
+ }
2399
+
2400
+ /*------------------------------------------------------------------------*/
2401
+
2402
+ /**
2403
+ * Creates a shallow clone of `value`.
2404
+ *
2405
+ * **Note:** This method is loosely based on the
2406
+ * [structured clone algorithm](https://mdn.io/Structured_clone_algorithm)
2407
+ * and supports cloning arrays, array buffers, booleans, date objects, maps,
2408
+ * numbers, `Object` objects, regexes, sets, strings, symbols, and typed
2409
+ * arrays. The own enumerable properties of `arguments` objects are cloned
2410
+ * as plain objects. An empty object is returned for uncloneable values such
2411
+ * as error objects, functions, DOM nodes, and WeakMaps.
2412
+ *
2413
+ * @static
2414
+ * @memberOf _
2415
+ * @since 0.1.0
2416
+ * @category Lang
2417
+ * @param {*} value The value to clone.
2418
+ * @returns {*} Returns the cloned value.
2419
+ * @see _.cloneDeep
2420
+ * @example
2421
+ *
2422
+ * var objects = [{ 'a': 1 }, { 'b': 2 }];
2423
+ *
2424
+ * var shallow = _.clone(objects);
2425
+ * console.log(shallow[0] === objects[0]);
2426
+ * // => true
2427
+ */
2428
+ function clone(value) {
2429
+ if (!isObject(value)) {
2430
+ return value;
2431
+ }
2432
+ return isArray(value) ? copyArray(value) : copyObject(value, nativeKeys(value));
2433
+ }
2434
+
2435
+ /**
2436
+ * Performs a
2437
+ * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
2438
+ * comparison between two values to determine if they are equivalent.
2439
+ *
2440
+ * @static
2441
+ * @memberOf _
2442
+ * @since 4.0.0
2443
+ * @category Lang
2444
+ * @param {*} value The value to compare.
2445
+ * @param {*} other The other value to compare.
2446
+ * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
2447
+ * @example
2448
+ *
2449
+ * var object = { 'a': 1 };
2450
+ * var other = { 'a': 1 };
2451
+ *
2452
+ * _.eq(object, object);
2453
+ * // => true
2454
+ *
2455
+ * _.eq(object, other);
2456
+ * // => false
2457
+ *
2458
+ * _.eq('a', 'a');
2459
+ * // => true
2460
+ *
2461
+ * _.eq('a', Object('a'));
2462
+ * // => false
2463
+ *
2464
+ * _.eq(NaN, NaN);
2465
+ * // => true
2466
+ */
2467
+ function eq(value, other) {
2468
+ return value === other || (value !== value && other !== other);
2469
+ }
2470
+
2471
+ /**
2472
+ * Checks if `value` is likely an `arguments` object.
2473
+ *
2474
+ * @static
2475
+ * @memberOf _
2476
+ * @since 0.1.0
2477
+ * @category Lang
2478
+ * @param {*} value The value to check.
2479
+ * @returns {boolean} Returns `true` if `value` is an `arguments` object,
2480
+ * else `false`.
2481
+ * @example
2482
+ *
2483
+ * _.isArguments(function() { return arguments; }());
2484
+ * // => true
2485
+ *
2486
+ * _.isArguments([1, 2, 3]);
2487
+ * // => false
2488
+ */
2489
+ var isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {
2490
+ return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&
2491
+ !propertyIsEnumerable.call(value, 'callee');
2492
+ };
2493
+
2494
+ /**
2495
+ * Checks if `value` is classified as an `Array` object.
2496
+ *
2497
+ * @static
2498
+ * @memberOf _
2499
+ * @since 0.1.0
2500
+ * @category Lang
2501
+ * @param {*} value The value to check.
2502
+ * @returns {boolean} Returns `true` if `value` is an array, else `false`.
2503
+ * @example
2504
+ *
2505
+ * _.isArray([1, 2, 3]);
2506
+ * // => true
2507
+ *
2508
+ * _.isArray(document.body.children);
2509
+ * // => false
2510
+ *
2511
+ * _.isArray('abc');
2512
+ * // => false
2513
+ *
2514
+ * _.isArray(_.noop);
2515
+ * // => false
2516
+ */
2517
+ var isArray = Array.isArray;
2518
+
2519
+ /**
2520
+ * Checks if `value` is array-like. A value is considered array-like if it's
2521
+ * not a function and has a `value.length` that's an integer greater than or
2522
+ * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.
2523
+ *
2524
+ * @static
2525
+ * @memberOf _
2526
+ * @since 4.0.0
2527
+ * @category Lang
2528
+ * @param {*} value The value to check.
2529
+ * @returns {boolean} Returns `true` if `value` is array-like, else `false`.
2530
+ * @example
2531
+ *
2532
+ * _.isArrayLike([1, 2, 3]);
2533
+ * // => true
2534
+ *
2535
+ * _.isArrayLike(document.body.children);
2536
+ * // => true
2537
+ *
2538
+ * _.isArrayLike('abc');
2539
+ * // => true
2540
+ *
2541
+ * _.isArrayLike(_.noop);
2542
+ * // => false
2543
+ */
2544
+ function isArrayLike(value) {
2545
+ return value != null && isLength(value.length) && !isFunction(value);
2546
+ }
2547
+
2548
+ /**
2549
+ * Checks if `value` is classified as a boolean primitive or object.
2550
+ *
2551
+ * @static
2552
+ * @memberOf _
2553
+ * @since 0.1.0
2554
+ * @category Lang
2555
+ * @param {*} value The value to check.
2556
+ * @returns {boolean} Returns `true` if `value` is a boolean, else `false`.
2557
+ * @example
2558
+ *
2559
+ * _.isBoolean(false);
2560
+ * // => true
2561
+ *
2562
+ * _.isBoolean(null);
2563
+ * // => false
2564
+ */
2565
+ function isBoolean(value) {
2566
+ return value === true || value === false ||
2567
+ (isObjectLike(value) && baseGetTag(value) == boolTag);
2568
+ }
2569
+
2570
+ /**
2571
+ * Checks if `value` is classified as a `Date` object.
2572
+ *
2573
+ * @static
2574
+ * @memberOf _
2575
+ * @since 0.1.0
2576
+ * @category Lang
2577
+ * @param {*} value The value to check.
2578
+ * @returns {boolean} Returns `true` if `value` is a date object, else `false`.
2579
+ * @example
2580
+ *
2581
+ * _.isDate(new Date);
2582
+ * // => true
2583
+ *
2584
+ * _.isDate('Mon April 23 2012');
2585
+ * // => false
2586
+ */
2587
+ var isDate = baseIsDate;
2588
+
2589
+ /**
2590
+ * Checks if `value` is an empty object, collection, map, or set.
2591
+ *
2592
+ * Objects are considered empty if they have no own enumerable string keyed
2593
+ * properties.
2594
+ *
2595
+ * Array-like values such as `arguments` objects, arrays, buffers, strings, or
2596
+ * jQuery-like collections are considered empty if they have a `length` of `0`.
2597
+ * Similarly, maps and sets are considered empty if they have a `size` of `0`.
2598
+ *
2599
+ * @static
2600
+ * @memberOf _
2601
+ * @since 0.1.0
2602
+ * @category Lang
2603
+ * @param {*} value The value to check.
2604
+ * @returns {boolean} Returns `true` if `value` is empty, else `false`.
2605
+ * @example
2606
+ *
2607
+ * _.isEmpty(null);
2608
+ * // => true
2609
+ *
2610
+ * _.isEmpty(true);
2611
+ * // => true
2612
+ *
2613
+ * _.isEmpty(1);
2614
+ * // => true
2615
+ *
2616
+ * _.isEmpty([1, 2, 3]);
2617
+ * // => false
2618
+ *
2619
+ * _.isEmpty({ 'a': 1 });
2620
+ * // => false
2621
+ */
2622
+ function isEmpty(value) {
2623
+ if (isArrayLike(value) &&
2624
+ (isArray(value) || isString(value) ||
2625
+ isFunction(value.splice) || isArguments(value))) {
2626
+ return !value.length;
2627
+ }
2628
+ return !nativeKeys(value).length;
2629
+ }
2630
+
2631
+ /**
2632
+ * Performs a deep comparison between two values to determine if they are
2633
+ * equivalent.
2634
+ *
2635
+ * **Note:** This method supports comparing arrays, array buffers, booleans,
2636
+ * date objects, error objects, maps, numbers, `Object` objects, regexes,
2637
+ * sets, strings, symbols, and typed arrays. `Object` objects are compared
2638
+ * by their own, not inherited, enumerable properties. Functions and DOM
2639
+ * nodes are compared by strict equality, i.e. `===`.
2640
+ *
2641
+ * @static
2642
+ * @memberOf _
2643
+ * @since 0.1.0
2644
+ * @category Lang
2645
+ * @param {*} value The value to compare.
2646
+ * @param {*} other The other value to compare.
2647
+ * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
2648
+ * @example
2649
+ *
2650
+ * var object = { 'a': 1 };
2651
+ * var other = { 'a': 1 };
2652
+ *
2653
+ * _.isEqual(object, other);
2654
+ * // => true
2655
+ *
2656
+ * object === other;
2657
+ * // => false
2658
+ */
2659
+ function isEqual(value, other) {
2660
+ return baseIsEqual(value, other);
2661
+ }
2662
+
2663
+ /**
2664
+ * Checks if `value` is a finite primitive number.
2665
+ *
2666
+ * **Note:** This method is based on
2667
+ * [`Number.isFinite`](https://mdn.io/Number/isFinite).
2668
+ *
2669
+ * @static
2670
+ * @memberOf _
2671
+ * @since 0.1.0
2672
+ * @category Lang
2673
+ * @param {*} value The value to check.
2674
+ * @returns {boolean} Returns `true` if `value` is a finite number, else `false`.
2675
+ * @example
2676
+ *
2677
+ * _.isFinite(3);
2678
+ * // => true
2679
+ *
2680
+ * _.isFinite(Number.MIN_VALUE);
2681
+ * // => true
2682
+ *
2683
+ * _.isFinite(Infinity);
2684
+ * // => false
2685
+ *
2686
+ * _.isFinite('3');
2687
+ * // => false
2688
+ */
2689
+ function isFinite(value) {
2690
+ return typeof value == 'number' && nativeIsFinite(value);
2691
+ }
2692
+
2693
+ /**
2694
+ * Checks if `value` is classified as a `Function` object.
2695
+ *
2696
+ * @static
2697
+ * @memberOf _
2698
+ * @since 0.1.0
2699
+ * @category Lang
2700
+ * @param {*} value The value to check.
2701
+ * @returns {boolean} Returns `true` if `value` is a function, else `false`.
2702
+ * @example
2703
+ *
2704
+ * _.isFunction(_);
2705
+ * // => true
2706
+ *
2707
+ * _.isFunction(/abc/);
2708
+ * // => false
2709
+ */
2710
+ function isFunction(value) {
2711
+ if (!isObject(value)) {
2712
+ return false;
2713
+ }
2714
+ // The use of `Object#toString` avoids issues with the `typeof` operator
2715
+ // in Safari 9 which returns 'object' for typed arrays and other constructors.
2716
+ var tag = baseGetTag(value);
2717
+ return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;
2718
+ }
2719
+
2720
+ /**
2721
+ * Checks if `value` is a valid array-like length.
2722
+ *
2723
+ * **Note:** This method is loosely based on
2724
+ * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).
2725
+ *
2726
+ * @static
2727
+ * @memberOf _
2728
+ * @since 4.0.0
2729
+ * @category Lang
2730
+ * @param {*} value The value to check.
2731
+ * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.
2732
+ * @example
2733
+ *
2734
+ * _.isLength(3);
2735
+ * // => true
2736
+ *
2737
+ * _.isLength(Number.MIN_VALUE);
2738
+ * // => false
2739
+ *
2740
+ * _.isLength(Infinity);
2741
+ * // => false
2742
+ *
2743
+ * _.isLength('3');
2744
+ * // => false
2745
+ */
2746
+ function isLength(value) {
2747
+ return typeof value == 'number' &&
2748
+ value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
2749
+ }
2750
+
2751
+ /**
2752
+ * Checks if `value` is the
2753
+ * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)
2754
+ * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
2755
+ *
2756
+ * @static
2757
+ * @memberOf _
2758
+ * @since 0.1.0
2759
+ * @category Lang
2760
+ * @param {*} value The value to check.
2761
+ * @returns {boolean} Returns `true` if `value` is an object, else `false`.
2762
+ * @example
2763
+ *
2764
+ * _.isObject({});
2765
+ * // => true
2766
+ *
2767
+ * _.isObject([1, 2, 3]);
2768
+ * // => true
2769
+ *
2770
+ * _.isObject(_.noop);
2771
+ * // => true
2772
+ *
2773
+ * _.isObject(null);
2774
+ * // => false
2775
+ */
2776
+ function isObject(value) {
2777
+ var type = typeof value;
2778
+ return value != null && (type == 'object' || type == 'function');
2779
+ }
2780
+
2781
+ /**
2782
+ * Checks if `value` is object-like. A value is object-like if it's not `null`
2783
+ * and has a `typeof` result of "object".
2784
+ *
2785
+ * @static
2786
+ * @memberOf _
2787
+ * @since 4.0.0
2788
+ * @category Lang
2789
+ * @param {*} value The value to check.
2790
+ * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
2791
+ * @example
2792
+ *
2793
+ * _.isObjectLike({});
2794
+ * // => true
2795
+ *
2796
+ * _.isObjectLike([1, 2, 3]);
2797
+ * // => true
2798
+ *
2799
+ * _.isObjectLike(_.noop);
2800
+ * // => false
2801
+ *
2802
+ * _.isObjectLike(null);
2803
+ * // => false
2804
+ */
2805
+ function isObjectLike(value) {
2806
+ return value != null && typeof value == 'object';
2807
+ }
2808
+
2809
+ /**
2810
+ * Checks if `value` is `NaN`.
2811
+ *
2812
+ * **Note:** This method is based on
2813
+ * [`Number.isNaN`](https://mdn.io/Number/isNaN) and is not the same as
2814
+ * global [`isNaN`](https://mdn.io/isNaN) which returns `true` for
2815
+ * `undefined` and other non-number values.
2816
+ *
2817
+ * @static
2818
+ * @memberOf _
2819
+ * @since 0.1.0
2820
+ * @category Lang
2821
+ * @param {*} value The value to check.
2822
+ * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.
2823
+ * @example
2824
+ *
2825
+ * _.isNaN(NaN);
2826
+ * // => true
2827
+ *
2828
+ * _.isNaN(new Number(NaN));
2829
+ * // => true
2830
+ *
2831
+ * isNaN(undefined);
2832
+ * // => true
2833
+ *
2834
+ * _.isNaN(undefined);
2835
+ * // => false
2836
+ */
2837
+ function isNaN(value) {
2838
+ // An `NaN` primitive is the only value that is not equal to itself.
2839
+ // Perform the `toStringTag` check first to avoid errors with some
2840
+ // ActiveX objects in IE.
2841
+ return isNumber(value) && value != +value;
2842
+ }
2843
+
2844
+ /**
2845
+ * Checks if `value` is `null`.
2846
+ *
2847
+ * @static
2848
+ * @memberOf _
2849
+ * @since 0.1.0
2850
+ * @category Lang
2851
+ * @param {*} value The value to check.
2852
+ * @returns {boolean} Returns `true` if `value` is `null`, else `false`.
2853
+ * @example
2854
+ *
2855
+ * _.isNull(null);
2856
+ * // => true
2857
+ *
2858
+ * _.isNull(void 0);
2859
+ * // => false
2860
+ */
2861
+ function isNull(value) {
2862
+ return value === null;
2863
+ }
2864
+
2865
+ /**
2866
+ * Checks if `value` is classified as a `Number` primitive or object.
2867
+ *
2868
+ * **Note:** To exclude `Infinity`, `-Infinity`, and `NaN`, which are
2869
+ * classified as numbers, use the `_.isFinite` method.
2870
+ *
2871
+ * @static
2872
+ * @memberOf _
2873
+ * @since 0.1.0
2874
+ * @category Lang
2875
+ * @param {*} value The value to check.
2876
+ * @returns {boolean} Returns `true` if `value` is a number, else `false`.
2877
+ * @example
2878
+ *
2879
+ * _.isNumber(3);
2880
+ * // => true
2881
+ *
2882
+ * _.isNumber(Number.MIN_VALUE);
2883
+ * // => true
2884
+ *
2885
+ * _.isNumber(Infinity);
2886
+ * // => true
2887
+ *
2888
+ * _.isNumber('3');
2889
+ * // => false
2890
+ */
2891
+ function isNumber(value) {
2892
+ return typeof value == 'number' ||
2893
+ (isObjectLike(value) && baseGetTag(value) == numberTag);
2894
+ }
2895
+
2896
+ /**
2897
+ * Checks if `value` is classified as a `RegExp` object.
2898
+ *
2899
+ * @static
2900
+ * @memberOf _
2901
+ * @since 0.1.0
2902
+ * @category Lang
2903
+ * @param {*} value The value to check.
2904
+ * @returns {boolean} Returns `true` if `value` is a regexp, else `false`.
2905
+ * @example
2906
+ *
2907
+ * _.isRegExp(/abc/);
2908
+ * // => true
2909
+ *
2910
+ * _.isRegExp('/abc/');
2911
+ * // => false
2912
+ */
2913
+ var isRegExp = baseIsRegExp;
2914
+
2915
+ /**
2916
+ * Checks if `value` is classified as a `String` primitive or object.
2917
+ *
2918
+ * @static
2919
+ * @since 0.1.0
2920
+ * @memberOf _
2921
+ * @category Lang
2922
+ * @param {*} value The value to check.
2923
+ * @returns {boolean} Returns `true` if `value` is a string, else `false`.
2924
+ * @example
2925
+ *
2926
+ * _.isString('abc');
2927
+ * // => true
2928
+ *
2929
+ * _.isString(1);
2930
+ * // => false
2931
+ */
2932
+ function isString(value) {
2933
+ return typeof value == 'string' ||
2934
+ (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);
2935
+ }
2936
+
2937
+ /**
2938
+ * Checks if `value` is `undefined`.
2939
+ *
2940
+ * @static
2941
+ * @since 0.1.0
2942
+ * @memberOf _
2943
+ * @category Lang
2944
+ * @param {*} value The value to check.
2945
+ * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`.
2946
+ * @example
2947
+ *
2948
+ * _.isUndefined(void 0);
2949
+ * // => true
2950
+ *
2951
+ * _.isUndefined(null);
2952
+ * // => false
2953
+ */
2954
+ function isUndefined(value) {
2955
+ return value === undefined;
2956
+ }
2957
+
2958
+ /**
2959
+ * Converts `value` to an array.
2960
+ *
2961
+ * @static
2962
+ * @since 0.1.0
2963
+ * @memberOf _
2964
+ * @category Lang
2965
+ * @param {*} value The value to convert.
2966
+ * @returns {Array} Returns the converted array.
2967
+ * @example
2968
+ *
2969
+ * _.toArray({ 'a': 1, 'b': 2 });
2970
+ * // => [1, 2]
2971
+ *
2972
+ * _.toArray('abc');
2973
+ * // => ['a', 'b', 'c']
2974
+ *
2975
+ * _.toArray(1);
2976
+ * // => []
2977
+ *
2978
+ * _.toArray(null);
2979
+ * // => []
2980
+ */
2981
+ function toArray(value) {
2982
+ if (!isArrayLike(value)) {
2983
+ return values(value);
2984
+ }
2985
+ return value.length ? copyArray(value) : [];
2986
+ }
2987
+
2988
+ /**
2989
+ * Converts `value` to an integer.
2990
+ *
2991
+ * **Note:** This method is loosely based on
2992
+ * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).
2993
+ *
2994
+ * @static
2995
+ * @memberOf _
2996
+ * @since 4.0.0
2997
+ * @category Lang
2998
+ * @param {*} value The value to convert.
2999
+ * @returns {number} Returns the converted integer.
3000
+ * @example
3001
+ *
3002
+ * _.toInteger(3.2);
3003
+ * // => 3
3004
+ *
3005
+ * _.toInteger(Number.MIN_VALUE);
3006
+ * // => 0
3007
+ *
3008
+ * _.toInteger(Infinity);
3009
+ * // => 1.7976931348623157e+308
3010
+ *
3011
+ * _.toInteger('3.2');
3012
+ * // => 3
3013
+ */
3014
+ var toInteger = Number;
3015
+
3016
+ /**
3017
+ * Converts `value` to a number.
3018
+ *
3019
+ * @static
3020
+ * @memberOf _
3021
+ * @since 4.0.0
3022
+ * @category Lang
3023
+ * @param {*} value The value to process.
3024
+ * @returns {number} Returns the number.
3025
+ * @example
3026
+ *
3027
+ * _.toNumber(3.2);
3028
+ * // => 3.2
3029
+ *
3030
+ * _.toNumber(Number.MIN_VALUE);
3031
+ * // => 5e-324
3032
+ *
3033
+ * _.toNumber(Infinity);
3034
+ * // => Infinity
3035
+ *
3036
+ * _.toNumber('3.2');
3037
+ * // => 3.2
3038
+ */
3039
+ var toNumber = Number;
3040
+
3041
+ /**
3042
+ * Converts `value` to a string. An empty string is returned for `null`
3043
+ * and `undefined` values. The sign of `-0` is preserved.
3044
+ *
3045
+ * @static
3046
+ * @memberOf _
3047
+ * @since 4.0.0
3048
+ * @category Lang
3049
+ * @param {*} value The value to convert.
3050
+ * @returns {string} Returns the converted string.
3051
+ * @example
3052
+ *
3053
+ * _.toString(null);
3054
+ * // => ''
3055
+ *
3056
+ * _.toString(-0);
3057
+ * // => '-0'
3058
+ *
3059
+ * _.toString([1, 2, 3]);
3060
+ * // => '1,2,3'
3061
+ */
3062
+ function toString(value) {
3063
+ if (typeof value == 'string') {
3064
+ return value;
3065
+ }
3066
+ return value == null ? '' : (value + '');
3067
+ }
3068
+
3069
+ /*------------------------------------------------------------------------*/
3070
+
3071
+ /**
3072
+ * Assigns own enumerable string keyed properties of source objects to the
3073
+ * destination object. Source objects are applied from left to right.
3074
+ * Subsequent sources overwrite property assignments of previous sources.
3075
+ *
3076
+ * **Note:** This method mutates `object` and is loosely based on
3077
+ * [`Object.assign`](https://mdn.io/Object/assign).
3078
+ *
3079
+ * @static
3080
+ * @memberOf _
3081
+ * @since 0.10.0
3082
+ * @category Object
3083
+ * @param {Object} object The destination object.
3084
+ * @param {...Object} [sources] The source objects.
3085
+ * @returns {Object} Returns `object`.
3086
+ * @see _.assignIn
3087
+ * @example
3088
+ *
3089
+ * function Foo() {
3090
+ * this.a = 1;
3091
+ * }
3092
+ *
3093
+ * function Bar() {
3094
+ * this.c = 3;
3095
+ * }
3096
+ *
3097
+ * Foo.prototype.b = 2;
3098
+ * Bar.prototype.d = 4;
3099
+ *
3100
+ * _.assign({ 'a': 0 }, new Foo, new Bar);
3101
+ * // => { 'a': 1, 'c': 3 }
3102
+ */
3103
+ var assign = createAssigner(function(object, source) {
3104
+ copyObject(source, nativeKeys(source), object);
3105
+ });
3106
+
3107
+ /**
3108
+ * This method is like `_.assign` except that it iterates over own and
3109
+ * inherited source properties.
3110
+ *
3111
+ * **Note:** This method mutates `object`.
3112
+ *
3113
+ * @static
3114
+ * @memberOf _
3115
+ * @since 4.0.0
3116
+ * @alias extend
3117
+ * @category Object
3118
+ * @param {Object} object The destination object.
3119
+ * @param {...Object} [sources] The source objects.
3120
+ * @returns {Object} Returns `object`.
3121
+ * @see _.assign
3122
+ * @example
3123
+ *
3124
+ * function Foo() {
3125
+ * this.a = 1;
3126
+ * }
3127
+ *
3128
+ * function Bar() {
3129
+ * this.c = 3;
3130
+ * }
3131
+ *
3132
+ * Foo.prototype.b = 2;
3133
+ * Bar.prototype.d = 4;
3134
+ *
3135
+ * _.assignIn({ 'a': 0 }, new Foo, new Bar);
3136
+ * // => { 'a': 1, 'b': 2, 'c': 3, 'd': 4 }
3137
+ */
3138
+ var assignIn = createAssigner(function(object, source) {
3139
+ copyObject(source, nativeKeysIn(source), object);
3140
+ });
3141
+
3142
+ /**
3143
+ * Creates an object that inherits from the `prototype` object. If a
3144
+ * `properties` object is given, its own enumerable string keyed properties
3145
+ * are assigned to the created object.
3146
+ *
3147
+ * @static
3148
+ * @memberOf _
3149
+ * @since 2.3.0
3150
+ * @category Object
3151
+ * @param {Object} prototype The object to inherit from.
3152
+ * @param {Object} [properties] The properties to assign to the object.
3153
+ * @returns {Object} Returns the new object.
3154
+ * @example
3155
+ *
3156
+ * function Shape() {
3157
+ * this.x = 0;
3158
+ * this.y = 0;
3159
+ * }
3160
+ *
3161
+ * function Circle() {
3162
+ * Shape.call(this);
3163
+ * }
3164
+ *
3165
+ * Circle.prototype = _.create(Shape.prototype, {
3166
+ * 'constructor': Circle
3167
+ * });
3168
+ *
3169
+ * var circle = new Circle;
3170
+ * circle instanceof Circle;
3171
+ * // => true
3172
+ *
3173
+ * circle instanceof Shape;
3174
+ * // => true
3175
+ */
3176
+ function create(prototype, properties) {
3177
+ var result = baseCreate(prototype);
3178
+ return properties == null ? result : assign(result, properties);
3179
+ }
3180
+
3181
+ /**
3182
+ * Assigns own and inherited enumerable string keyed properties of source
3183
+ * objects to the destination object for all destination properties that
3184
+ * resolve to `undefined`. Source objects are applied from left to right.
3185
+ * Once a property is set, additional values of the same property are ignored.
3186
+ *
3187
+ * **Note:** This method mutates `object`.
3188
+ *
3189
+ * @static
3190
+ * @since 0.1.0
3191
+ * @memberOf _
3192
+ * @category Object
3193
+ * @param {Object} object The destination object.
3194
+ * @param {...Object} [sources] The source objects.
3195
+ * @returns {Object} Returns `object`.
3196
+ * @see _.defaultsDeep
3197
+ * @example
3198
+ *
3199
+ * _.defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });
3200
+ * // => { 'a': 1, 'b': 2 }
3201
+ */
3202
+ var defaults = baseRest(function(object, sources) {
3203
+ object = Object(object);
3204
+
3205
+ var index = -1;
3206
+ var length = sources.length;
3207
+ var guard = length > 2 ? sources[2] : undefined;
3208
+
3209
+ if (guard && isIterateeCall(sources[0], sources[1], guard)) {
3210
+ length = 1;
3211
+ }
3212
+
3213
+ while (++index < length) {
3214
+ var source = sources[index];
3215
+ var props = keysIn(source);
3216
+ var propsIndex = -1;
3217
+ var propsLength = props.length;
3218
+
3219
+ while (++propsIndex < propsLength) {
3220
+ var key = props[propsIndex];
3221
+ var value = object[key];
3222
+
3223
+ if (value === undefined ||
3224
+ (eq(value, objectProto[key]) && !hasOwnProperty.call(object, key))) {
3225
+ object[key] = source[key];
3226
+ }
3227
+ }
3228
+ }
3229
+
3230
+ return object;
3231
+ });
3232
+
3233
+ /**
3234
+ * Checks if `path` is a direct property of `object`.
3235
+ *
3236
+ * @static
3237
+ * @since 0.1.0
3238
+ * @memberOf _
3239
+ * @category Object
3240
+ * @param {Object} object The object to query.
3241
+ * @param {Array|string} path The path to check.
3242
+ * @returns {boolean} Returns `true` if `path` exists, else `false`.
3243
+ * @example
3244
+ *
3245
+ * var object = { 'a': { 'b': 2 } };
3246
+ * var other = _.create({ 'a': _.create({ 'b': 2 }) });
3247
+ *
3248
+ * _.has(object, 'a');
3249
+ * // => true
3250
+ *
3251
+ * _.has(object, 'a.b');
3252
+ * // => true
3253
+ *
3254
+ * _.has(object, ['a', 'b']);
3255
+ * // => true
3256
+ *
3257
+ * _.has(other, 'a');
3258
+ * // => false
3259
+ */
3260
+ function has(object, path) {
3261
+ return object != null && hasOwnProperty.call(object, path);
3262
+ }
3263
+
3264
+ /**
3265
+ * Creates an array of the own enumerable property names of `object`.
3266
+ *
3267
+ * **Note:** Non-object values are coerced to objects. See the
3268
+ * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)
3269
+ * for more details.
3270
+ *
3271
+ * @static
3272
+ * @since 0.1.0
3273
+ * @memberOf _
3274
+ * @category Object
3275
+ * @param {Object} object The object to query.
3276
+ * @returns {Array} Returns the array of property names.
3277
+ * @example
3278
+ *
3279
+ * function Foo() {
3280
+ * this.a = 1;
3281
+ * this.b = 2;
3282
+ * }
3283
+ *
3284
+ * Foo.prototype.c = 3;
3285
+ *
3286
+ * _.keys(new Foo);
3287
+ * // => ['a', 'b'] (iteration order is not guaranteed)
3288
+ *
3289
+ * _.keys('hi');
3290
+ * // => ['0', '1']
3291
+ */
3292
+ var keys = nativeKeys;
3293
+
3294
+ /**
3295
+ * Creates an array of the own and inherited enumerable property names of `object`.
3296
+ *
3297
+ * **Note:** Non-object values are coerced to objects.
3298
+ *
3299
+ * @static
3300
+ * @memberOf _
3301
+ * @since 3.0.0
3302
+ * @category Object
3303
+ * @param {Object} object The object to query.
3304
+ * @returns {Array} Returns the array of property names.
3305
+ * @example
3306
+ *
3307
+ * function Foo() {
3308
+ * this.a = 1;
3309
+ * this.b = 2;
3310
+ * }
3311
+ *
3312
+ * Foo.prototype.c = 3;
3313
+ *
3314
+ * _.keysIn(new Foo);
3315
+ * // => ['a', 'b', 'c'] (iteration order is not guaranteed)
3316
+ */
3317
+ var keysIn = nativeKeysIn;
3318
+
3319
+ /**
3320
+ * Creates an object composed of the picked `object` properties.
3321
+ *
3322
+ * @static
3323
+ * @since 0.1.0
3324
+ * @memberOf _
3325
+ * @category Object
3326
+ * @param {Object} object The source object.
3327
+ * @param {...(string|string[])} [paths] The property paths to pick.
3328
+ * @returns {Object} Returns the new object.
3329
+ * @example
3330
+ *
3331
+ * var object = { 'a': 1, 'b': '2', 'c': 3 };
3332
+ *
3333
+ * _.pick(object, ['a', 'c']);
3334
+ * // => { 'a': 1, 'c': 3 }
3335
+ */
3336
+ var pick = flatRest(function(object, paths) {
3337
+ return object == null ? {} : basePick(object, paths);
3338
+ });
3339
+
3340
+ /**
3341
+ * This method is like `_.get` except that if the resolved value is a
3342
+ * function it's invoked with the `this` binding of its parent object and
3343
+ * its result is returned.
3344
+ *
3345
+ * @static
3346
+ * @since 0.1.0
3347
+ * @memberOf _
3348
+ * @category Object
3349
+ * @param {Object} object The object to query.
3350
+ * @param {Array|string} path The path of the property to resolve.
3351
+ * @param {*} [defaultValue] The value returned for `undefined` resolved values.
3352
+ * @returns {*} Returns the resolved value.
3353
+ * @example
3354
+ *
3355
+ * var object = { 'a': [{ 'b': { 'c1': 3, 'c2': _.constant(4) } }] };
3356
+ *
3357
+ * _.result(object, 'a[0].b.c1');
3358
+ * // => 3
3359
+ *
3360
+ * _.result(object, 'a[0].b.c2');
3361
+ * // => 4
3362
+ *
3363
+ * _.result(object, 'a[0].b.c3', 'default');
3364
+ * // => 'default'
3365
+ *
3366
+ * _.result(object, 'a[0].b.c3', _.constant('default'));
3367
+ * // => 'default'
3368
+ */
3369
+ function result(object, path, defaultValue) {
3370
+ var value = object == null ? undefined : object[path];
3371
+ if (value === undefined) {
3372
+ value = defaultValue;
3373
+ }
3374
+ return isFunction(value) ? value.call(object) : value;
3375
+ }
3376
+
3377
+ /**
3378
+ * Creates an array of the own enumerable string keyed property values of `object`.
3379
+ *
3380
+ * **Note:** Non-object values are coerced to objects.
3381
+ *
3382
+ * @static
3383
+ * @since 0.1.0
3384
+ * @memberOf _
3385
+ * @category Object
3386
+ * @param {Object} object The object to query.
3387
+ * @returns {Array} Returns the array of property values.
3388
+ * @example
3389
+ *
3390
+ * function Foo() {
3391
+ * this.a = 1;
3392
+ * this.b = 2;
3393
+ * }
3394
+ *
3395
+ * Foo.prototype.c = 3;
3396
+ *
3397
+ * _.values(new Foo);
3398
+ * // => [1, 2] (iteration order is not guaranteed)
3399
+ *
3400
+ * _.values('hi');
3401
+ * // => ['h', 'i']
3402
+ */
3403
+ function values(object) {
3404
+ return object == null ? [] : baseValues(object, keys(object));
3405
+ }
3406
+
3407
+ /*------------------------------------------------------------------------*/
3408
+
3409
+ /**
3410
+ * Converts the characters "&", "<", ">", '"', and "'" in `string` to their
3411
+ * corresponding HTML entities.
3412
+ *
3413
+ * **Note:** No other characters are escaped. To escape additional
3414
+ * characters use a third-party library like [_he_](https://mths.be/he).
3415
+ *
3416
+ * Though the ">" character is escaped for symmetry, characters like
3417
+ * ">" and "/" don't need escaping in HTML and have no special meaning
3418
+ * unless they're part of a tag or unquoted attribute value. See
3419
+ * [Mathias Bynens's article](https://mathiasbynens.be/notes/ambiguous-ampersands)
3420
+ * (under "semi-related fun fact") for more details.
3421
+ *
3422
+ * When working with HTML you should always
3423
+ * [quote attribute values](http://wonko.com/post/html-escaping) to reduce
3424
+ * XSS vectors.
3425
+ *
3426
+ * @static
3427
+ * @since 0.1.0
3428
+ * @memberOf _
3429
+ * @category String
3430
+ * @param {string} [string=''] The string to escape.
3431
+ * @returns {string} Returns the escaped string.
3432
+ * @example
3433
+ *
3434
+ * _.escape('fred, barney, & pebbles');
3435
+ * // => 'fred, barney, &amp; pebbles'
3436
+ */
3437
+ function escape(string) {
3438
+ string = toString(string);
3439
+ return (string && reHasUnescapedHtml.test(string))
3440
+ ? string.replace(reUnescapedHtml, escapeHtmlChar)
3441
+ : string;
3442
+ }
3443
+
3444
+ /*------------------------------------------------------------------------*/
3445
+
3446
+ /**
3447
+ * This method returns the first argument it receives.
3448
+ *
3449
+ * @static
3450
+ * @since 0.1.0
3451
+ * @memberOf _
3452
+ * @category Util
3453
+ * @param {*} value Any value.
3454
+ * @returns {*} Returns `value`.
3455
+ * @example
3456
+ *
3457
+ * var object = { 'a': 1 };
3458
+ *
3459
+ * console.log(_.identity(object) === object);
3460
+ * // => true
3461
+ */
3462
+ function identity(value) {
3463
+ return value;
3464
+ }
3465
+
3466
+ /**
3467
+ * Creates a function that invokes `func` with the arguments of the created
3468
+ * function. If `func` is a property name, the created function returns the
3469
+ * property value for a given element. If `func` is an array or object, the
3470
+ * created function returns `true` for elements that contain the equivalent
3471
+ * source properties, otherwise it returns `false`.
3472
+ *
3473
+ * @static
3474
+ * @since 4.0.0
3475
+ * @memberOf _
3476
+ * @category Util
3477
+ * @param {*} [func=_.identity] The value to convert to a callback.
3478
+ * @returns {Function} Returns the callback.
3479
+ * @example
3480
+ *
3481
+ * var users = [
3482
+ * { 'user': 'barney', 'age': 36, 'active': true },
3483
+ * { 'user': 'fred', 'age': 40, 'active': false }
3484
+ * ];
3485
+ *
3486
+ * // The `_.matches` iteratee shorthand.
3487
+ * _.filter(users, _.iteratee({ 'user': 'barney', 'active': true }));
3488
+ * // => [{ 'user': 'barney', 'age': 36, 'active': true }]
3489
+ *
3490
+ * // The `_.matchesProperty` iteratee shorthand.
3491
+ * _.filter(users, _.iteratee(['user', 'fred']));
3492
+ * // => [{ 'user': 'fred', 'age': 40 }]
3493
+ *
3494
+ * // The `_.property` iteratee shorthand.
3495
+ * _.map(users, _.iteratee('user'));
3496
+ * // => ['barney', 'fred']
3497
+ *
3498
+ * // Create custom iteratee shorthands.
3499
+ * _.iteratee = _.wrap(_.iteratee, function(iteratee, func) {
3500
+ * return !_.isRegExp(func) ? iteratee(func) : function(string) {
3501
+ * return func.test(string);
3502
+ * };
3503
+ * });
3504
+ *
3505
+ * _.filter(['abc', 'def'], /ef/);
3506
+ * // => ['def']
3507
+ */
3508
+ var iteratee = baseIteratee;
3509
+
3510
+ /**
3511
+ * Creates a function that performs a partial deep comparison between a given
3512
+ * object and `source`, returning `true` if the given object has equivalent
3513
+ * property values, else `false`.
3514
+ *
3515
+ * **Note:** The created function is equivalent to `_.isMatch` with `source`
3516
+ * partially applied.
3517
+ *
3518
+ * Partial comparisons will match empty array and empty object `source`
3519
+ * values against any array or object value, respectively. See `_.isEqual`
3520
+ * for a list of supported value comparisons.
3521
+ *
3522
+ * **Note:** Multiple values can be checked by combining several matchers
3523
+ * using `_.overSome`
3524
+ *
3525
+ * @static
3526
+ * @memberOf _
3527
+ * @since 3.0.0
3528
+ * @category Util
3529
+ * @param {Object} source The object of property values to match.
3530
+ * @returns {Function} Returns the new spec function.
3531
+ * @example
3532
+ *
3533
+ * var objects = [
3534
+ * { 'a': 1, 'b': 2, 'c': 3 },
3535
+ * { 'a': 4, 'b': 5, 'c': 6 }
3536
+ * ];
3537
+ *
3538
+ * _.filter(objects, _.matches({ 'a': 4, 'c': 6 }));
3539
+ * // => [{ 'a': 4, 'b': 5, 'c': 6 }]
3540
+ *
3541
+ * // Checking for several possible values
3542
+ * _.filter(objects, _.overSome([_.matches({ 'a': 1 }), _.matches({ 'a': 4 })]));
3543
+ * // => [{ 'a': 1, 'b': 2, 'c': 3 }, { 'a': 4, 'b': 5, 'c': 6 }]
3544
+ */
3545
+ function matches(source) {
3546
+ return baseMatches(assign({}, source));
3547
+ }
3548
+
3549
+ /**
3550
+ * Adds all own enumerable string keyed function properties of a source
3551
+ * object to the destination object. If `object` is a function, then methods
3552
+ * are added to its prototype as well.
3553
+ *
3554
+ * **Note:** Use `_.runInContext` to create a pristine `lodash` function to
3555
+ * avoid conflicts caused by modifying the original.
3556
+ *
3557
+ * @static
3558
+ * @since 0.1.0
3559
+ * @memberOf _
3560
+ * @category Util
3561
+ * @param {Function|Object} [object=lodash] The destination object.
3562
+ * @param {Object} source The object of functions to add.
3563
+ * @param {Object} [options={}] The options object.
3564
+ * @param {boolean} [options.chain=true] Specify whether mixins are chainable.
3565
+ * @returns {Function|Object} Returns `object`.
3566
+ * @example
3567
+ *
3568
+ * function vowels(string) {
3569
+ * return _.filter(string, function(v) {
3570
+ * return /[aeiou]/i.test(v);
3571
+ * });
3572
+ * }
3573
+ *
3574
+ * _.mixin({ 'vowels': vowels });
3575
+ * _.vowels('fred');
3576
+ * // => ['e']
3577
+ *
3578
+ * _('fred').vowels().value();
3579
+ * // => ['e']
3580
+ *
3581
+ * _.mixin({ 'vowels': vowels }, { 'chain': false });
3582
+ * _('fred').vowels();
3583
+ * // => ['e']
3584
+ */
3585
+ function mixin(object, source, options) {
3586
+ var props = keys(source),
3587
+ methodNames = baseFunctions(source, props);
3588
+
3589
+ if (options == null &&
3590
+ !(isObject(source) && (methodNames.length || !props.length))) {
3591
+ options = source;
3592
+ source = object;
3593
+ object = this;
3594
+ methodNames = baseFunctions(source, keys(source));
3595
+ }
3596
+ var chain = !(isObject(options) && 'chain' in options) || !!options.chain,
3597
+ isFunc = isFunction(object);
3598
+
3599
+ baseEach(methodNames, function(methodName) {
3600
+ var func = source[methodName];
3601
+ object[methodName] = func;
3602
+ if (isFunc) {
3603
+ object.prototype[methodName] = function() {
3604
+ var chainAll = this.__chain__;
3605
+ if (chain || chainAll) {
3606
+ var result = object(this.__wrapped__),
3607
+ actions = result.__actions__ = copyArray(this.__actions__);
3608
+
3609
+ actions.push({ 'func': func, 'args': arguments, 'thisArg': object });
3610
+ result.__chain__ = chainAll;
3611
+ return result;
3612
+ }
3613
+ return func.apply(object, arrayPush([this.value()], arguments));
3614
+ };
3615
+ }
3616
+ });
3617
+
3618
+ return object;
3619
+ }
3620
+
3621
+ /**
3622
+ * Reverts the `_` variable to its previous value and returns a reference to
3623
+ * the `lodash` function.
3624
+ *
3625
+ * @static
3626
+ * @since 0.1.0
3627
+ * @memberOf _
3628
+ * @category Util
3629
+ * @returns {Function} Returns the `lodash` function.
3630
+ * @example
3631
+ *
3632
+ * var lodash = _.noConflict();
3633
+ */
3634
+ function noConflict() {
3635
+ if (root._ === this) {
3636
+ root._ = oldDash;
3637
+ }
3638
+ return this;
3639
+ }
3640
+
3641
+ /**
3642
+ * This method returns `undefined`.
3643
+ *
3644
+ * @static
3645
+ * @memberOf _
3646
+ * @since 2.3.0
3647
+ * @category Util
3648
+ * @example
3649
+ *
3650
+ * _.times(2, _.noop);
3651
+ * // => [undefined, undefined]
3652
+ */
3653
+ function noop() {
3654
+ // No operation performed.
3655
+ }
3656
+
3657
+ /**
3658
+ * Generates a unique ID. If `prefix` is given, the ID is appended to it.
3659
+ *
3660
+ * @static
3661
+ * @since 0.1.0
3662
+ * @memberOf _
3663
+ * @category Util
3664
+ * @param {string} [prefix=''] The value to prefix the ID with.
3665
+ * @returns {string} Returns the unique ID.
3666
+ * @example
3667
+ *
3668
+ * _.uniqueId('contact_');
3669
+ * // => 'contact_104'
3670
+ *
3671
+ * _.uniqueId();
3672
+ * // => '105'
3673
+ */
3674
+ function uniqueId(prefix) {
3675
+ var id = ++idCounter;
3676
+ return toString(prefix) + id;
3677
+ }
3678
+
3679
+ /*------------------------------------------------------------------------*/
3680
+
3681
+ /**
3682
+ * Computes the maximum value of `array`. If `array` is empty or falsey,
3683
+ * `undefined` is returned.
3684
+ *
3685
+ * @static
3686
+ * @since 0.1.0
3687
+ * @memberOf _
3688
+ * @category Math
3689
+ * @param {Array} array The array to iterate over.
3690
+ * @returns {*} Returns the maximum value.
3691
+ * @example
3692
+ *
3693
+ * _.max([4, 2, 8, 6]);
3694
+ * // => 8
3695
+ *
3696
+ * _.max([]);
3697
+ * // => undefined
3698
+ */
3699
+ function max(array) {
3700
+ return (array && array.length)
3701
+ ? baseExtremum(array, identity, baseGt)
3702
+ : undefined;
3703
+ }
3704
+
3705
+ /**
3706
+ * Computes the minimum value of `array`. If `array` is empty or falsey,
3707
+ * `undefined` is returned.
3708
+ *
3709
+ * @static
3710
+ * @since 0.1.0
3711
+ * @memberOf _
3712
+ * @category Math
3713
+ * @param {Array} array The array to iterate over.
3714
+ * @returns {*} Returns the minimum value.
3715
+ * @example
3716
+ *
3717
+ * _.min([4, 2, 8, 6]);
3718
+ * // => 2
3719
+ *
3720
+ * _.min([]);
3721
+ * // => undefined
3722
+ */
3723
+ function min(array) {
3724
+ return (array && array.length)
3725
+ ? baseExtremum(array, identity, baseLt)
3726
+ : undefined;
3727
+ }
3728
+
3729
+ /*------------------------------------------------------------------------*/
3730
+
3731
+ // Add methods that return wrapped values in chain sequences.
3732
+ lodash.assignIn = assignIn;
3733
+ lodash.before = before;
3734
+ lodash.bind = bind;
3735
+ lodash.chain = chain;
3736
+ lodash.compact = compact;
3737
+ lodash.concat = concat;
3738
+ lodash.create = create;
3739
+ lodash.defaults = defaults;
3740
+ lodash.defer = defer;
3741
+ lodash.delay = delay;
3742
+ lodash.filter = filter;
3743
+ lodash.flatten = flatten;
3744
+ lodash.flattenDeep = flattenDeep;
3745
+ lodash.iteratee = iteratee;
3746
+ lodash.keys = keys;
3747
+ lodash.map = map;
3748
+ lodash.matches = matches;
3749
+ lodash.mixin = mixin;
3750
+ lodash.negate = negate;
3751
+ lodash.once = once;
3752
+ lodash.pick = pick;
3753
+ lodash.slice = slice;
3754
+ lodash.sortBy = sortBy;
3755
+ lodash.tap = tap;
3756
+ lodash.thru = thru;
3757
+ lodash.toArray = toArray;
3758
+ lodash.values = values;
3759
+
3760
+ // Add aliases.
3761
+ lodash.extend = assignIn;
3762
+
3763
+ // Add methods to `lodash.prototype`.
3764
+ mixin(lodash, lodash);
3765
+
3766
+ /*------------------------------------------------------------------------*/
3767
+
3768
+ // Add methods that return unwrapped values in chain sequences.
3769
+ lodash.clone = clone;
3770
+ lodash.escape = escape;
3771
+ lodash.every = every;
3772
+ lodash.find = find;
3773
+ lodash.forEach = forEach;
3774
+ lodash.has = has;
3775
+ lodash.head = head;
3776
+ lodash.identity = identity;
3777
+ lodash.indexOf = indexOf;
3778
+ lodash.isArguments = isArguments;
3779
+ lodash.isArray = isArray;
3780
+ lodash.isBoolean = isBoolean;
3781
+ lodash.isDate = isDate;
3782
+ lodash.isEmpty = isEmpty;
3783
+ lodash.isEqual = isEqual;
3784
+ lodash.isFinite = isFinite;
3785
+ lodash.isFunction = isFunction;
3786
+ lodash.isNaN = isNaN;
3787
+ lodash.isNull = isNull;
3788
+ lodash.isNumber = isNumber;
3789
+ lodash.isObject = isObject;
3790
+ lodash.isRegExp = isRegExp;
3791
+ lodash.isString = isString;
3792
+ lodash.isUndefined = isUndefined;
3793
+ lodash.last = last;
3794
+ lodash.max = max;
3795
+ lodash.min = min;
3796
+ lodash.noConflict = noConflict;
3797
+ lodash.noop = noop;
3798
+ lodash.reduce = reduce;
3799
+ lodash.result = result;
3800
+ lodash.size = size;
3801
+ lodash.some = some;
3802
+ lodash.uniqueId = uniqueId;
3803
+
3804
+ // Add aliases.
3805
+ lodash.each = forEach;
3806
+ lodash.first = head;
3807
+
3808
+ mixin(lodash, (function() {
3809
+ var source = {};
3810
+ baseForOwn(lodash, function(func, methodName) {
3811
+ if (!hasOwnProperty.call(lodash.prototype, methodName)) {
3812
+ source[methodName] = func;
3813
+ }
3814
+ });
3815
+ return source;
3816
+ }()), { 'chain': false });
3817
+
3818
+ /*------------------------------------------------------------------------*/
3819
+
3820
+ /**
3821
+ * The semantic version number.
3822
+ *
3823
+ * @static
3824
+ * @memberOf _
3825
+ * @type {string}
3826
+ */
3827
+ lodash.VERSION = VERSION;
3828
+
3829
+ // Add `Array` methods to `lodash.prototype`.
3830
+ baseEach(['pop', 'join', 'replace', 'reverse', 'split', 'push', 'shift', 'sort', 'splice', 'unshift'], function(methodName) {
3831
+ var func = (/^(?:replace|split)$/.test(methodName) ? String.prototype : arrayProto)[methodName],
3832
+ chainName = /^(?:push|sort|unshift)$/.test(methodName) ? 'tap' : 'thru',
3833
+ retUnwrapped = /^(?:pop|join|replace|shift)$/.test(methodName);
3834
+
3835
+ lodash.prototype[methodName] = function() {
3836
+ var args = arguments;
3837
+ if (retUnwrapped && !this.__chain__) {
3838
+ var value = this.value();
3839
+ return func.apply(isArray(value) ? value : [], args);
3840
+ }
3841
+ return this[chainName](function(value) {
3842
+ return func.apply(isArray(value) ? value : [], args);
3843
+ });
3844
+ };
3845
+ });
3846
+
3847
+ // Add chain sequence methods to the `lodash` wrapper.
3848
+ lodash.prototype.toJSON = lodash.prototype.valueOf = lodash.prototype.value = wrapperValue;
3849
+
3850
+ /*--------------------------------------------------------------------------*/
3851
+
3852
+ // Some AMD build optimizers, like r.js, check for condition patterns like:
3853
+ if (typeof define == 'function' && typeof define.amd == 'object' && define.amd) {
3854
+ // Expose Lodash on the global object to prevent errors when Lodash is
3855
+ // loaded by a script tag in the presence of an AMD loader.
3856
+ // See http://requirejs.org/docs/errors.html#mismatch for more details.
3857
+ // Use `_.noConflict` to remove Lodash from the global object.
3858
+ root._ = lodash;
3859
+
3860
+ // Define as an anonymous module so, through path mapping, it can be
3861
+ // referenced as the "underscore" module.
3862
+ define(function() {
3863
+ return lodash;
3864
+ });
3865
+ }
3866
+ // Check for `exports` after `define` in case a build optimizer adds it.
3867
+ else if (freeModule) {
3868
+ // Export for Node.js.
3869
+ (freeModule.exports = lodash)._ = lodash;
3870
+ // Export for CommonJS support.
3871
+ freeExports._ = lodash;
3872
+ }
3873
+ else {
3874
+ // Export to the global object.
3875
+ root._ = lodash;
3876
+ }
3877
+ }.call(this));