fluxxor-rails 1.4.0 → 1.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 293edc0a1aafb930f600c6572256b4497290c931
4
- data.tar.gz: 813526f79678e0424c8d07f7ff99569e5da18e81
3
+ metadata.gz: 57bf6f0d6b4975159ff69efffe5a2d0cca624ab9
4
+ data.tar.gz: c76b764c92a8ea1d89145eec792a387fac8b3311
5
5
  SHA512:
6
- metadata.gz: 217bf6eee10ebd99bd0ecacf32e45c56711b61c4c7ea71f9339d103cca98f6fbaa95bcacc00b67419f6c99f971c3148b19a7f68d0842a200ecfdc63a20e6ce32
7
- data.tar.gz: e1f9ca2729e3cb00a1d7622e77088b9d6a19be7553eaa40234dc3d194ef4dc90be270aea1514deea347d67ac97ebda8d15e964f821c53f1406d5416313a8e075
6
+ metadata.gz: 6f0e47defb5d9864c34a37e0acd4a2ef65322b91363b812df59c1cd92616e909be9f788de74db6e75eba33f60478c8d7c644b71b324cd37e0c7d2e5e70ba51a5
7
+ data.tar.gz: 9d87a56bc2769ca24d975533dbad409c5e860f0897cbc4bf88cea0a09f2bb6dac3bdbcd91f40c3858590f557f2207b6f7acd63775704530aa37352e7dc2fc4bc
@@ -1,5 +1,5 @@
1
1
  module Fluxxor
2
2
  module Rails
3
- VERSION = '1.4.0'
3
+ VERSION = '1.4.1'
4
4
  end
5
5
  end
@@ -85,3 +85,12 @@ Compiled fluxxor.js (1ms) (pid 17644)
85
85
  Served asset /fluxxor.js - 200 OK (7ms)
86
86
  Started GET "/assets/fluxxor.js" for 127.0.0.1 at 2015-09-23 13:51:46 -0500
87
87
  Served asset /fluxxor.js - 200 OK (0ms)
88
+ Started GET "/assets/fluxxor.js" for 127.0.0.1 at 2015-09-23 13:52:17 -0500
89
+ Compiled fluxxor.js (1ms) (pid 18219)
90
+ Served asset /fluxxor.js - 200 OK (8ms)
91
+ Started GET "/assets/fluxxor.js" for 127.0.0.1 at 2015-09-23 13:52:17 -0500
92
+ Served asset /fluxxor.js - 200 OK (0ms)
93
+ Started GET "/assets/fluxxor.js" for 127.0.0.1 at 2015-09-23 13:52:53 -0500
94
+ Served asset /fluxxor.js - 200 OK (2ms)
95
+ Started GET "/assets/fluxxor.js" for 127.0.0.1 at 2015-09-23 13:52:53 -0500
96
+ Served asset /fluxxor.js - 200 OK (0ms)
@@ -8,6 +8,6 @@ class NavigationTest < ActionDispatch::IntegrationTest
8
8
 
9
9
  test 'fluxxor response is for the expected version' do
10
10
  get '/assets/fluxxor.js'
11
- assert_match("\"name\":\"fluxxor\",\"version\":\"#{Fluxxor::Rails::VERSION}\"", @response.body)
11
+ assert_match("module.exports = \"#{Fluxxor::Rails::VERSION}\"", @response.body)
12
12
  end
13
13
  end
@@ -69,7 +69,7 @@ return /******/ (function(modules) { // webpackBootstrap
69
69
  FluxChildMixin: FluxChildMixin,
70
70
  StoreWatchMixin: StoreWatchMixin,
71
71
  createStore: createStore,
72
- version: __webpack_require__(1).version
72
+ version: __webpack_require__(1)
73
73
  };
74
74
 
75
75
  module.exports = Fluxxor;
@@ -79,22 +79,22 @@ return /******/ (function(modules) { // webpackBootstrap
79
79
  /* 1 */
80
80
  /***/ function(module, exports, __webpack_require__) {
81
81
 
82
- module.exports = {"name":"fluxxor","version":"1.4.0","description":"Flux architecture tools for React","repository":{"type":"git","url":"https://github.com/BinaryMuse/fluxxor.git"},"main":"index.js","scripts":{"test":"npm run jshint && mocha --recursive","jshint":"jsxhint lib/ test/","build":"./script/build-fluxxor && ./script/build-examples","preview-site":"wintersmith preview -C site","build-site":"wintersmith build -C site"},"keywords":["react","flux"],"author":"Brandon Tilley <brandon@brandontilley.com>","license":"MIT","devDependencies":{"chai":"^1.9.1","css-loader":"^0.6.12","envify":"^1.2.1","jsdom":"^0.10.5","json-loader":"^0.5.0","jsx-loader":"^0.10.2","jsxhint":"^0.4.9","less":"^1.7.0","less-loader":"^0.7.3","mocha":"^1.18.2","react":"^0.11.0 >0.11.0-rc1","sinon":"^1.9.1","sinon-chai":"^2.5.0","style-loader":"^0.6.3","webpack":"^1.1.11","webpack-dev-server":"^1.2.7","wintersmith":"^2.0.10","wintersmith-ejs":"^0.1.4","wintersmith-less":"^0.2.2"},"dependencies":{"lodash-node":"^2.4.1"},"jshintConfig":{"camelcase":true,"curly":true,"eqeqeq":true,"forin":true,"latedef":true,"newcap":false,"undef":true,"unused":true,"trailing":true,"node":true,"browser":true,"predef":["it","describe","beforeEach","afterEach"]}}
82
+ module.exports = "1.4.1"
83
83
 
84
84
  /***/ },
85
85
  /* 2 */
86
86
  /***/ function(module, exports, __webpack_require__) {
87
87
 
88
- var _clone = __webpack_require__(11),
89
- _mapValues = __webpack_require__(12),
90
- _forOwn = __webpack_require__(13),
91
- _intersection = __webpack_require__(16),
92
- _keys = __webpack_require__(14),
93
- _map = __webpack_require__(18),
94
- _each = __webpack_require__(19),
95
- _size = __webpack_require__(20),
96
- _findKey = __webpack_require__(15),
97
- _uniq = __webpack_require__(17);
88
+ var _clone = __webpack_require__(10),
89
+ _mapValues = __webpack_require__(11),
90
+ _forOwn = __webpack_require__(12),
91
+ _intersection = __webpack_require__(15),
92
+ _keys = __webpack_require__(13),
93
+ _map = __webpack_require__(17),
94
+ _each = __webpack_require__(18),
95
+ _size = __webpack_require__(19),
96
+ _findKey = __webpack_require__(14),
97
+ _uniq = __webpack_require__(16);
98
98
 
99
99
  var Dispatcher = function(stores) {
100
100
  this.stores = stores;
@@ -322,7 +322,7 @@ return /******/ (function(modules) { // webpackBootstrap
322
322
  /* 6 */
323
323
  /***/ function(module, exports, __webpack_require__) {
324
324
 
325
- var _each = __webpack_require__(19);
325
+ var _each = __webpack_require__(18);
326
326
 
327
327
  var StoreWatchMixin = function() {
328
328
  var storeNames = Array.prototype.slice.call(arguments);
@@ -366,9 +366,9 @@ return /******/ (function(modules) { // webpackBootstrap
366
366
  /* 7 */
367
367
  /***/ function(module, exports, __webpack_require__) {
368
368
 
369
- var _each = __webpack_require__(19),
369
+ var _each = __webpack_require__(18),
370
370
  Store = __webpack_require__(8),
371
- util = __webpack_require__(9);
371
+ inherits = __webpack_require__(9);
372
372
 
373
373
  var RESERVED_KEYS = ["flux", "waitFor"];
374
374
 
@@ -400,7 +400,7 @@ return /******/ (function(modules) { // webpackBootstrap
400
400
  }
401
401
  };
402
402
 
403
- util.inherits(constructor, Store);
403
+ inherits(constructor, Store);
404
404
  return constructor;
405
405
  };
406
406
 
@@ -411,8 +411,8 @@ return /******/ (function(modules) { // webpackBootstrap
411
411
  /* 8 */
412
412
  /***/ function(module, exports, __webpack_require__) {
413
413
 
414
- var EventEmitter = __webpack_require__(10).EventEmitter,
415
- util = __webpack_require__(9);
414
+ var EventEmitter = __webpack_require__(20).EventEmitter,
415
+ inherits = __webpack_require__(9);
416
416
 
417
417
  function Store(dispatcher) {
418
418
  this.dispatcher = dispatcher;
@@ -420,7 +420,7 @@ return /******/ (function(modules) { // webpackBootstrap
420
420
  EventEmitter.call(this);
421
421
  }
422
422
 
423
- util.inherits(Store, EventEmitter);
423
+ inherits(Store, EventEmitter);
424
424
 
425
425
  Store.prototype.__handleAction__ = function(action) {
426
426
  var handler;
@@ -458,597 +458,678 @@ return /******/ (function(modules) { // webpackBootstrap
458
458
  /* 9 */
459
459
  /***/ function(module, exports, __webpack_require__) {
460
460
 
461
- /* WEBPACK VAR INJECTION */(function(global, process) {// Copyright Joyent, Inc. and other Node contributors.
462
- //
463
- // Permission is hereby granted, free of charge, to any person obtaining a
464
- // copy of this software and associated documentation files (the
465
- // "Software"), to deal in the Software without restriction, including
466
- // without limitation the rights to use, copy, modify, merge, publish,
467
- // distribute, sublicense, and/or sell copies of the Software, and to permit
468
- // persons to whom the Software is furnished to do so, subject to the
469
- // following conditions:
470
- //
471
- // The above copyright notice and this permission notice shall be included
472
- // in all copies or substantial portions of the Software.
473
- //
474
- // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
475
- // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
476
- // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
477
- // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
478
- // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
479
- // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
480
- // USE OR OTHER DEALINGS IN THE SOFTWARE.
481
-
482
- var formatRegExp = /%[sdj%]/g;
483
- exports.format = function(f) {
484
- if (!isString(f)) {
485
- var objects = [];
486
- for (var i = 0; i < arguments.length; i++) {
487
- objects.push(inspect(arguments[i]));
488
- }
489
- return objects.join(' ');
490
- }
491
-
492
- var i = 1;
493
- var args = arguments;
494
- var len = args.length;
495
- var str = String(f).replace(formatRegExp, function(x) {
496
- if (x === '%%') return '%';
497
- if (i >= len) return x;
498
- switch (x) {
499
- case '%s': return String(args[i++]);
500
- case '%d': return Number(args[i++]);
501
- case '%j':
502
- try {
503
- return JSON.stringify(args[i++]);
504
- } catch (_) {
505
- return '[Circular]';
506
- }
507
- default:
508
- return x;
509
- }
510
- });
511
- for (var x = args[i]; i < len; x = args[++i]) {
512
- if (isNull(x) || !isObject(x)) {
513
- str += ' ' + x;
514
- } else {
515
- str += ' ' + inspect(x);
516
- }
517
- }
518
- return str;
519
- };
520
-
521
-
522
- // Mark that a method should not be used.
523
- // Returns a modified function which warns once by default.
524
- // If --no-deprecation is set, then it is a no-op.
525
- exports.deprecate = function(fn, msg) {
526
- // Allow for deprecating things in the process of starting up.
527
- if (isUndefined(global.process)) {
528
- return function() {
529
- return exports.deprecate(fn, msg).apply(this, arguments);
530
- };
531
- }
532
-
533
- if (process.noDeprecation === true) {
534
- return fn;
535
- }
536
-
537
- var warned = false;
538
- function deprecated() {
539
- if (!warned) {
540
- if (process.throwDeprecation) {
541
- throw new Error(msg);
542
- } else if (process.traceDeprecation) {
543
- console.trace(msg);
544
- } else {
545
- console.error(msg);
461
+ if (typeof Object.create === 'function') {
462
+ // implementation from standard node.js 'util' module
463
+ module.exports = function inherits(ctor, superCtor) {
464
+ ctor.super_ = superCtor
465
+ ctor.prototype = Object.create(superCtor.prototype, {
466
+ constructor: {
467
+ value: ctor,
468
+ enumerable: false,
469
+ writable: true,
470
+ configurable: true
546
471
  }
547
- warned = true;
548
- }
549
- return fn.apply(this, arguments);
550
- }
551
-
552
- return deprecated;
553
- };
554
-
555
-
556
- var debugs = {};
557
- var debugEnviron;
558
- exports.debuglog = function(set) {
559
- if (isUndefined(debugEnviron))
560
- debugEnviron = process.env.NODE_DEBUG || '';
561
- set = set.toUpperCase();
562
- if (!debugs[set]) {
563
- if (new RegExp('\\b' + set + '\\b', 'i').test(debugEnviron)) {
564
- var pid = process.pid;
565
- debugs[set] = function() {
566
- var msg = exports.format.apply(exports, arguments);
567
- console.error('%s %d: %s', set, pid, msg);
568
- };
569
- } else {
570
- debugs[set] = function() {};
571
- }
472
+ });
473
+ };
474
+ } else {
475
+ // old school shim for old browsers
476
+ module.exports = function inherits(ctor, superCtor) {
477
+ ctor.super_ = superCtor
478
+ var TempCtor = function () {}
479
+ TempCtor.prototype = superCtor.prototype
480
+ ctor.prototype = new TempCtor()
481
+ ctor.prototype.constructor = ctor
572
482
  }
573
- return debugs[set];
574
- };
575
-
483
+ }
484
+
485
+
486
+ /***/ },
487
+ /* 10 */
488
+ /***/ function(module, exports, __webpack_require__) {
489
+
490
+ /**
491
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
492
+ * Build: `lodash modularize modern exports="node" -o ./modern/`
493
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
494
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
495
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
496
+ * Available under MIT license <http://lodash.com/license>
497
+ */
498
+ var baseClone = __webpack_require__(24),
499
+ baseCreateCallback = __webpack_require__(25);
576
500
 
577
501
  /**
578
- * Echos the value of a value. Trys to print the value out
579
- * in the best way possible given the different types.
502
+ * Creates a clone of `value`. If `isDeep` is `true` nested objects will also
503
+ * be cloned, otherwise they will be assigned by reference. If a callback
504
+ * is provided it will be executed to produce the cloned values. If the
505
+ * callback returns `undefined` cloning will be handled by the method instead.
506
+ * The callback is bound to `thisArg` and invoked with one argument; (value).
507
+ *
508
+ * @static
509
+ * @memberOf _
510
+ * @category Objects
511
+ * @param {*} value The value to clone.
512
+ * @param {boolean} [isDeep=false] Specify a deep clone.
513
+ * @param {Function} [callback] The function to customize cloning values.
514
+ * @param {*} [thisArg] The `this` binding of `callback`.
515
+ * @returns {*} Returns the cloned value.
516
+ * @example
517
+ *
518
+ * var characters = [
519
+ * { 'name': 'barney', 'age': 36 },
520
+ * { 'name': 'fred', 'age': 40 }
521
+ * ];
522
+ *
523
+ * var shallow = _.clone(characters);
524
+ * shallow[0] === characters[0];
525
+ * // => true
526
+ *
527
+ * var deep = _.clone(characters, true);
528
+ * deep[0] === characters[0];
529
+ * // => false
530
+ *
531
+ * _.mixin({
532
+ * 'clone': _.partialRight(_.clone, function(value) {
533
+ * return _.isElement(value) ? value.cloneNode(false) : undefined;
534
+ * })
535
+ * });
580
536
  *
581
- * @param {Object} obj The object to print out.
582
- * @param {Object} opts Optional options object that alters the output.
537
+ * var clone = _.clone(document.body);
538
+ * clone.childNodes.length;
539
+ * // => 0
583
540
  */
584
- /* legacy: obj, showHidden, depth, colors*/
585
- function inspect(obj, opts) {
586
- // default options
587
- var ctx = {
588
- seen: [],
589
- stylize: stylizeNoColor
590
- };
591
- // legacy...
592
- if (arguments.length >= 3) ctx.depth = arguments[2];
593
- if (arguments.length >= 4) ctx.colors = arguments[3];
594
- if (isBoolean(opts)) {
595
- // legacy...
596
- ctx.showHidden = opts;
597
- } else if (opts) {
598
- // got an "options" object
599
- exports._extend(ctx, opts);
600
- }
601
- // set default options
602
- if (isUndefined(ctx.showHidden)) ctx.showHidden = false;
603
- if (isUndefined(ctx.depth)) ctx.depth = 2;
604
- if (isUndefined(ctx.colors)) ctx.colors = false;
605
- if (isUndefined(ctx.customInspect)) ctx.customInspect = true;
606
- if (ctx.colors) ctx.stylize = stylizeWithColor;
607
- return formatValue(ctx, obj, ctx.depth);
608
- }
609
- exports.inspect = inspect;
610
-
611
-
612
- // http://en.wikipedia.org/wiki/ANSI_escape_code#graphics
613
- inspect.colors = {
614
- 'bold' : [1, 22],
615
- 'italic' : [3, 23],
616
- 'underline' : [4, 24],
617
- 'inverse' : [7, 27],
618
- 'white' : [37, 39],
619
- 'grey' : [90, 39],
620
- 'black' : [30, 39],
621
- 'blue' : [34, 39],
622
- 'cyan' : [36, 39],
623
- 'green' : [32, 39],
624
- 'magenta' : [35, 39],
625
- 'red' : [31, 39],
626
- 'yellow' : [33, 39]
627
- };
628
-
629
- // Don't use 'blue' not visible on cmd.exe
630
- inspect.styles = {
631
- 'special': 'cyan',
632
- 'number': 'yellow',
633
- 'boolean': 'yellow',
634
- 'undefined': 'grey',
635
- 'null': 'bold',
636
- 'string': 'green',
637
- 'date': 'magenta',
638
- // "name": intentionally not styling
639
- 'regexp': 'red'
640
- };
641
-
642
-
643
- function stylizeWithColor(str, styleType) {
644
- var style = inspect.styles[styleType];
645
-
646
- if (style) {
647
- return '\u001b[' + inspect.colors[style][0] + 'm' + str +
648
- '\u001b[' + inspect.colors[style][1] + 'm';
649
- } else {
650
- return str;
541
+ function clone(value, isDeep, callback, thisArg) {
542
+ // allows working with "Collections" methods without using their `index`
543
+ // and `collection` arguments for `isDeep` and `callback`
544
+ if (typeof isDeep != 'boolean' && isDeep != null) {
545
+ thisArg = callback;
546
+ callback = isDeep;
547
+ isDeep = false;
651
548
  }
549
+ return baseClone(value, isDeep, typeof callback == 'function' && baseCreateCallback(callback, thisArg, 1));
652
550
  }
653
551
 
552
+ module.exports = clone;
553
+
554
+
555
+ /***/ },
556
+ /* 11 */
557
+ /***/ function(module, exports, __webpack_require__) {
558
+
559
+ /**
560
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
561
+ * Build: `lodash modularize modern exports="node" -o ./modern/`
562
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
563
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
564
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
565
+ * Available under MIT license <http://lodash.com/license>
566
+ */
567
+ var createCallback = __webpack_require__(37),
568
+ forOwn = __webpack_require__(12);
654
569
 
655
- function stylizeNoColor(str, styleType) {
656
- return str;
657
- }
658
-
659
-
660
- function arrayToHash(array) {
661
- var hash = {};
570
+ /**
571
+ * Creates an object with the same keys as `object` and values generated by
572
+ * running each own enumerable property of `object` through the callback.
573
+ * The callback is bound to `thisArg` and invoked with three arguments;
574
+ * (value, key, object).
575
+ *
576
+ * If a property name is provided for `callback` the created "_.pluck" style
577
+ * callback will return the property value of the given element.
578
+ *
579
+ * If an object is provided for `callback` the created "_.where" style callback
580
+ * will return `true` for elements that have the properties of the given object,
581
+ * else `false`.
582
+ *
583
+ * @static
584
+ * @memberOf _
585
+ * @category Objects
586
+ * @param {Object} object The object to iterate over.
587
+ * @param {Function|Object|string} [callback=identity] The function called
588
+ * per iteration. If a property name or object is provided it will be used
589
+ * to create a "_.pluck" or "_.where" style callback, respectively.
590
+ * @param {*} [thisArg] The `this` binding of `callback`.
591
+ * @returns {Array} Returns a new object with values of the results of each `callback` execution.
592
+ * @example
593
+ *
594
+ * _.mapValues({ 'a': 1, 'b': 2, 'c': 3} , function(num) { return num * 3; });
595
+ * // => { 'a': 3, 'b': 6, 'c': 9 }
596
+ *
597
+ * var characters = {
598
+ * 'fred': { 'name': 'fred', 'age': 40 },
599
+ * 'pebbles': { 'name': 'pebbles', 'age': 1 }
600
+ * };
601
+ *
602
+ * // using "_.pluck" callback shorthand
603
+ * _.mapValues(characters, 'age');
604
+ * // => { 'fred': 40, 'pebbles': 1 }
605
+ */
606
+ function mapValues(object, callback, thisArg) {
607
+ var result = {};
608
+ callback = createCallback(callback, thisArg, 3);
662
609
 
663
- array.forEach(function(val, idx) {
664
- hash[val] = true;
610
+ forOwn(object, function(value, key, object) {
611
+ result[key] = callback(value, key, object);
665
612
  });
666
-
667
- return hash;
613
+ return result;
668
614
  }
669
615
 
616
+ module.exports = mapValues;
617
+
618
+
619
+ /***/ },
620
+ /* 12 */
621
+ /***/ function(module, exports, __webpack_require__) {
622
+
623
+ /**
624
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
625
+ * Build: `lodash modularize modern exports="node" -o ./modern/`
626
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
627
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
628
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
629
+ * Available under MIT license <http://lodash.com/license>
630
+ */
631
+ var baseCreateCallback = __webpack_require__(25),
632
+ keys = __webpack_require__(13),
633
+ objectTypes = __webpack_require__(26);
670
634
 
671
- function formatValue(ctx, value, recurseTimes) {
672
- // Provide a hook for user-specified inspect functions.
673
- // Check that value is an object with an inspect function on it
674
- if (ctx.customInspect &&
675
- value &&
676
- isFunction(value.inspect) &&
677
- // Filter out the util module, it's inspect function is special
678
- value.inspect !== exports.inspect &&
679
- // Also filter out any prototype objects using the circular check.
680
- !(value.constructor && value.constructor.prototype === value)) {
681
- var ret = value.inspect(recurseTimes, ctx);
682
- if (!isString(ret)) {
683
- ret = formatValue(ctx, ret, recurseTimes);
684
- }
685
- return ret;
686
- }
687
-
688
- // Primitive types cannot have properties
689
- var primitive = formatPrimitive(ctx, value);
690
- if (primitive) {
691
- return primitive;
692
- }
635
+ /**
636
+ * Iterates over own enumerable properties of an object, executing the callback
637
+ * for each property. The callback is bound to `thisArg` and invoked with three
638
+ * arguments; (value, key, object). Callbacks may exit iteration early by
639
+ * explicitly returning `false`.
640
+ *
641
+ * @static
642
+ * @memberOf _
643
+ * @type Function
644
+ * @category Objects
645
+ * @param {Object} object The object to iterate over.
646
+ * @param {Function} [callback=identity] The function called per iteration.
647
+ * @param {*} [thisArg] The `this` binding of `callback`.
648
+ * @returns {Object} Returns `object`.
649
+ * @example
650
+ *
651
+ * _.forOwn({ '0': 'zero', '1': 'one', 'length': 2 }, function(num, key) {
652
+ * console.log(key);
653
+ * });
654
+ * // => logs '0', '1', and 'length' (property order is not guaranteed across environments)
655
+ */
656
+ var forOwn = function(collection, callback, thisArg) {
657
+ var index, iterable = collection, result = iterable;
658
+ if (!iterable) return result;
659
+ if (!objectTypes[typeof iterable]) return result;
660
+ callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3);
661
+ var ownIndex = -1,
662
+ ownProps = objectTypes[typeof iterable] && keys(iterable),
663
+ length = ownProps ? ownProps.length : 0;
693
664
 
694
- // Look up the keys of the object.
695
- var keys = Object.keys(value);
696
- var visibleKeys = arrayToHash(keys);
665
+ while (++ownIndex < length) {
666
+ index = ownProps[ownIndex];
667
+ if (callback(iterable[index], index, collection) === false) return result;
668
+ }
669
+ return result
670
+ };
697
671
 
698
- if (ctx.showHidden) {
699
- keys = Object.getOwnPropertyNames(value);
700
- }
701
-
702
- // IE doesn't make error fields non-enumerable
703
- // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx
704
- if (isError(value)
705
- && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) {
706
- return formatError(value);
707
- }
708
-
709
- // Some type of object without properties can be shortcutted.
710
- if (keys.length === 0) {
711
- if (isFunction(value)) {
712
- var name = value.name ? ': ' + value.name : '';
713
- return ctx.stylize('[Function' + name + ']', 'special');
714
- }
715
- if (isRegExp(value)) {
716
- return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');
717
- }
718
- if (isDate(value)) {
719
- return ctx.stylize(Date.prototype.toString.call(value), 'date');
720
- }
721
- if (isError(value)) {
722
- return formatError(value);
723
- }
724
- }
725
-
726
- var base = '', array = false, braces = ['{', '}'];
727
-
728
- // Make Array say that they are Array
729
- if (isArray(value)) {
730
- array = true;
731
- braces = ['[', ']'];
732
- }
733
-
734
- // Make functions say that they are functions
735
- if (isFunction(value)) {
736
- var n = value.name ? ': ' + value.name : '';
737
- base = ' [Function' + n + ']';
738
- }
739
-
740
- // Make RegExps say that they are RegExps
741
- if (isRegExp(value)) {
742
- base = ' ' + RegExp.prototype.toString.call(value);
743
- }
672
+ module.exports = forOwn;
673
+
674
+
675
+ /***/ },
676
+ /* 13 */
677
+ /***/ function(module, exports, __webpack_require__) {
678
+
679
+ /**
680
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
681
+ * Build: `lodash modularize modern exports="node" -o ./modern/`
682
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
683
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
684
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
685
+ * Available under MIT license <http://lodash.com/license>
686
+ */
687
+ var isNative = __webpack_require__(27),
688
+ isObject = __webpack_require__(21),
689
+ shimKeys = __webpack_require__(28);
744
690
 
745
- // Make dates with properties first say the date
746
- if (isDate(value)) {
747
- base = ' ' + Date.prototype.toUTCString.call(value);
748
- }
691
+ /* Native method shortcuts for methods with the same name as other `lodash` methods */
692
+ var nativeKeys = isNative(nativeKeys = Object.keys) && nativeKeys;
749
693
 
750
- // Make error with message first say the error
751
- if (isError(value)) {
752
- base = ' ' + formatError(value);
694
+ /**
695
+ * Creates an array composed of the own enumerable property names of an object.
696
+ *
697
+ * @static
698
+ * @memberOf _
699
+ * @category Objects
700
+ * @param {Object} object The object to inspect.
701
+ * @returns {Array} Returns an array of property names.
702
+ * @example
703
+ *
704
+ * _.keys({ 'one': 1, 'two': 2, 'three': 3 });
705
+ * // => ['one', 'two', 'three'] (property order is not guaranteed across environments)
706
+ */
707
+ var keys = !nativeKeys ? shimKeys : function(object) {
708
+ if (!isObject(object)) {
709
+ return [];
753
710
  }
711
+ return nativeKeys(object);
712
+ };
754
713
 
755
- if (keys.length === 0 && (!array || value.length == 0)) {
756
- return braces[0] + base + braces[1];
757
- }
714
+ module.exports = keys;
715
+
716
+
717
+ /***/ },
718
+ /* 14 */
719
+ /***/ function(module, exports, __webpack_require__) {
720
+
721
+ /**
722
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
723
+ * Build: `lodash modularize modern exports="node" -o ./modern/`
724
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
725
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
726
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
727
+ * Available under MIT license <http://lodash.com/license>
728
+ */
729
+ var createCallback = __webpack_require__(37),
730
+ forOwn = __webpack_require__(12);
758
731
 
759
- if (recurseTimes < 0) {
760
- if (isRegExp(value)) {
761
- return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');
762
- } else {
763
- return ctx.stylize('[Object]', 'special');
732
+ /**
733
+ * This method is like `_.findIndex` except that it returns the key of the
734
+ * first element that passes the callback check, instead of the element itself.
735
+ *
736
+ * If a property name is provided for `callback` the created "_.pluck" style
737
+ * callback will return the property value of the given element.
738
+ *
739
+ * If an object is provided for `callback` the created "_.where" style callback
740
+ * will return `true` for elements that have the properties of the given object,
741
+ * else `false`.
742
+ *
743
+ * @static
744
+ * @memberOf _
745
+ * @category Objects
746
+ * @param {Object} object The object to search.
747
+ * @param {Function|Object|string} [callback=identity] The function called per
748
+ * iteration. If a property name or object is provided it will be used to
749
+ * create a "_.pluck" or "_.where" style callback, respectively.
750
+ * @param {*} [thisArg] The `this` binding of `callback`.
751
+ * @returns {string|undefined} Returns the key of the found element, else `undefined`.
752
+ * @example
753
+ *
754
+ * var characters = {
755
+ * 'barney': { 'age': 36, 'blocked': false },
756
+ * 'fred': { 'age': 40, 'blocked': true },
757
+ * 'pebbles': { 'age': 1, 'blocked': false }
758
+ * };
759
+ *
760
+ * _.findKey(characters, function(chr) {
761
+ * return chr.age < 40;
762
+ * });
763
+ * // => 'barney' (property order is not guaranteed across environments)
764
+ *
765
+ * // using "_.where" callback shorthand
766
+ * _.findKey(characters, { 'age': 1 });
767
+ * // => 'pebbles'
768
+ *
769
+ * // using "_.pluck" callback shorthand
770
+ * _.findKey(characters, 'blocked');
771
+ * // => 'fred'
772
+ */
773
+ function findKey(object, callback, thisArg) {
774
+ var result;
775
+ callback = createCallback(callback, thisArg, 3);
776
+ forOwn(object, function(value, key, object) {
777
+ if (callback(value, key, object)) {
778
+ result = key;
779
+ return false;
764
780
  }
765
- }
766
-
767
- ctx.seen.push(value);
768
-
769
- var output;
770
- if (array) {
771
- output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);
772
- } else {
773
- output = keys.map(function(key) {
774
- return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);
775
- });
776
- }
777
-
778
- ctx.seen.pop();
779
-
780
- return reduceToSingleString(output, base, braces);
781
- }
782
-
783
-
784
- function formatPrimitive(ctx, value) {
785
- if (isUndefined(value))
786
- return ctx.stylize('undefined', 'undefined');
787
- if (isString(value)) {
788
- var simple = '\'' + JSON.stringify(value).replace(/^"|"$/g, '')
789
- .replace(/'/g, "\\'")
790
- .replace(/\\"/g, '"') + '\'';
791
- return ctx.stylize(simple, 'string');
792
- }
793
- if (isNumber(value))
794
- return ctx.stylize('' + value, 'number');
795
- if (isBoolean(value))
796
- return ctx.stylize('' + value, 'boolean');
797
- // For some reason typeof null is "object", so special case here.
798
- if (isNull(value))
799
- return ctx.stylize('null', 'null');
781
+ });
782
+ return result;
800
783
  }
801
784
 
785
+ module.exports = findKey;
786
+
787
+
788
+ /***/ },
789
+ /* 15 */
790
+ /***/ function(module, exports, __webpack_require__) {
791
+
792
+ /**
793
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
794
+ * Build: `lodash modularize modern exports="node" -o ./modern/`
795
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
796
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
797
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
798
+ * Available under MIT license <http://lodash.com/license>
799
+ */
800
+ var baseIndexOf = __webpack_require__(29),
801
+ cacheIndexOf = __webpack_require__(30),
802
+ createCache = __webpack_require__(31),
803
+ getArray = __webpack_require__(32),
804
+ isArguments = __webpack_require__(22),
805
+ isArray = __webpack_require__(23),
806
+ largeArraySize = __webpack_require__(33),
807
+ releaseArray = __webpack_require__(34),
808
+ releaseObject = __webpack_require__(35);
802
809
 
803
- function formatError(value) {
804
- return '[' + Error.prototype.toString.call(value) + ']';
805
- }
806
-
810
+ /**
811
+ * Creates an array of unique values present in all provided arrays using
812
+ * strict equality for comparisons, i.e. `===`.
813
+ *
814
+ * @static
815
+ * @memberOf _
816
+ * @category Arrays
817
+ * @param {...Array} [array] The arrays to inspect.
818
+ * @returns {Array} Returns an array of shared values.
819
+ * @example
820
+ *
821
+ * _.intersection([1, 2, 3], [5, 2, 1, 4], [2, 1]);
822
+ * // => [1, 2]
823
+ */
824
+ function intersection() {
825
+ var args = [],
826
+ argsIndex = -1,
827
+ argsLength = arguments.length,
828
+ caches = getArray(),
829
+ indexOf = baseIndexOf,
830
+ trustIndexOf = indexOf === baseIndexOf,
831
+ seen = getArray();
807
832
 
808
- function formatArray(ctx, value, recurseTimes, visibleKeys, keys) {
809
- var output = [];
810
- for (var i = 0, l = value.length; i < l; ++i) {
811
- if (hasOwnProperty(value, String(i))) {
812
- output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,
813
- String(i), true));
814
- } else {
815
- output.push('');
833
+ while (++argsIndex < argsLength) {
834
+ var value = arguments[argsIndex];
835
+ if (isArray(value) || isArguments(value)) {
836
+ args.push(value);
837
+ caches.push(trustIndexOf && value.length >= largeArraySize &&
838
+ createCache(argsIndex ? args[argsIndex] : seen));
816
839
  }
817
840
  }
818
- keys.forEach(function(key) {
819
- if (!key.match(/^\d+$/)) {
820
- output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,
821
- key, true));
822
- }
823
- });
824
- return output;
825
- }
841
+ var array = args[0],
842
+ index = -1,
843
+ length = array ? array.length : 0,
844
+ result = [];
826
845
 
846
+ outer:
847
+ while (++index < length) {
848
+ var cache = caches[0];
849
+ value = array[index];
827
850
 
828
- function formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {
829
- var name, str, desc;
830
- desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] };
831
- if (desc.get) {
832
- if (desc.set) {
833
- str = ctx.stylize('[Getter/Setter]', 'special');
834
- } else {
835
- str = ctx.stylize('[Getter]', 'special');
836
- }
837
- } else {
838
- if (desc.set) {
839
- str = ctx.stylize('[Setter]', 'special');
840
- }
841
- }
842
- if (!hasOwnProperty(visibleKeys, key)) {
843
- name = '[' + key + ']';
844
- }
845
- if (!str) {
846
- if (ctx.seen.indexOf(desc.value) < 0) {
847
- if (isNull(recurseTimes)) {
848
- str = formatValue(ctx, desc.value, null);
849
- } else {
850
- str = formatValue(ctx, desc.value, recurseTimes - 1);
851
- }
852
- if (str.indexOf('\n') > -1) {
853
- if (array) {
854
- str = str.split('\n').map(function(line) {
855
- return ' ' + line;
856
- }).join('\n').substr(2);
857
- } else {
858
- str = '\n' + str.split('\n').map(function(line) {
859
- return ' ' + line;
860
- }).join('\n');
851
+ if ((cache ? cacheIndexOf(cache, value) : indexOf(seen, value)) < 0) {
852
+ argsIndex = argsLength;
853
+ (cache || seen).push(value);
854
+ while (--argsIndex) {
855
+ cache = caches[argsIndex];
856
+ if ((cache ? cacheIndexOf(cache, value) : indexOf(args[argsIndex], value)) < 0) {
857
+ continue outer;
861
858
  }
862
859
  }
863
- } else {
864
- str = ctx.stylize('[Circular]', 'special');
860
+ result.push(value);
865
861
  }
866
862
  }
867
- if (isUndefined(name)) {
868
- if (array && key.match(/^\d+$/)) {
869
- return str;
870
- }
871
- name = JSON.stringify('' + key);
872
- if (name.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)) {
873
- name = name.substr(1, name.length - 2);
874
- name = ctx.stylize(name, 'name');
875
- } else {
876
- name = name.replace(/'/g, "\\'")
877
- .replace(/\\"/g, '"')
878
- .replace(/(^"|"$)/g, "'");
879
- name = ctx.stylize(name, 'string');
863
+ while (argsLength--) {
864
+ cache = caches[argsLength];
865
+ if (cache) {
866
+ releaseObject(cache);
880
867
  }
881
868
  }
882
-
883
- return name + ': ' + str;
884
- }
885
-
886
-
887
- function reduceToSingleString(output, base, braces) {
888
- var numLinesEst = 0;
889
- var length = output.reduce(function(prev, cur) {
890
- numLinesEst++;
891
- if (cur.indexOf('\n') >= 0) numLinesEst++;
892
- return prev + cur.replace(/\u001b\[\d\d?m/g, '').length + 1;
893
- }, 0);
894
-
895
- if (length > 60) {
896
- return braces[0] +
897
- (base === '' ? '' : base + '\n ') +
898
- ' ' +
899
- output.join(',\n ') +
900
- ' ' +
901
- braces[1];
902
- }
903
-
904
- return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];
905
- }
906
-
907
-
908
- // NOTE: These type checking functions intentionally don't use `instanceof`
909
- // because it is fragile and can be easily faked with `Object.create()`.
910
- function isArray(ar) {
911
- return Array.isArray(ar);
912
- }
913
- exports.isArray = isArray;
914
-
915
- function isBoolean(arg) {
916
- return typeof arg === 'boolean';
917
- }
918
- exports.isBoolean = isBoolean;
919
-
920
- function isNull(arg) {
921
- return arg === null;
922
- }
923
- exports.isNull = isNull;
924
-
925
- function isNullOrUndefined(arg) {
926
- return arg == null;
927
- }
928
- exports.isNullOrUndefined = isNullOrUndefined;
929
-
930
- function isNumber(arg) {
931
- return typeof arg === 'number';
932
- }
933
- exports.isNumber = isNumber;
934
-
935
- function isString(arg) {
936
- return typeof arg === 'string';
937
- }
938
- exports.isString = isString;
939
-
940
- function isSymbol(arg) {
941
- return typeof arg === 'symbol';
942
- }
943
- exports.isSymbol = isSymbol;
944
-
945
- function isUndefined(arg) {
946
- return arg === void 0;
869
+ releaseArray(caches);
870
+ releaseArray(seen);
871
+ return result;
947
872
  }
948
- exports.isUndefined = isUndefined;
949
873
 
950
- function isRegExp(re) {
951
- return isObject(re) && objectToString(re) === '[object RegExp]';
952
- }
953
- exports.isRegExp = isRegExp;
874
+ module.exports = intersection;
875
+
876
+
877
+ /***/ },
878
+ /* 16 */
879
+ /***/ function(module, exports, __webpack_require__) {
880
+
881
+ /**
882
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
883
+ * Build: `lodash modularize modern exports="node" -o ./modern/`
884
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
885
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
886
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
887
+ * Available under MIT license <http://lodash.com/license>
888
+ */
889
+ var baseUniq = __webpack_require__(36),
890
+ createCallback = __webpack_require__(37);
954
891
 
955
- function isObject(arg) {
956
- return typeof arg === 'object' && arg !== null;
957
- }
958
- exports.isObject = isObject;
959
-
960
- function isDate(d) {
961
- return isObject(d) && objectToString(d) === '[object Date]';
962
- }
963
- exports.isDate = isDate;
964
-
965
- function isError(e) {
966
- return isObject(e) &&
967
- (objectToString(e) === '[object Error]' || e instanceof Error);
968
- }
969
- exports.isError = isError;
970
-
971
- function isFunction(arg) {
972
- return typeof arg === 'function';
973
- }
974
- exports.isFunction = isFunction;
975
-
976
- function isPrimitive(arg) {
977
- return arg === null ||
978
- typeof arg === 'boolean' ||
979
- typeof arg === 'number' ||
980
- typeof arg === 'string' ||
981
- typeof arg === 'symbol' || // ES6 symbol
982
- typeof arg === 'undefined';
892
+ /**
893
+ * Creates a duplicate-value-free version of an array using strict equality
894
+ * for comparisons, i.e. `===`. If the array is sorted, providing
895
+ * `true` for `isSorted` will use a faster algorithm. If a callback is provided
896
+ * each element of `array` is passed through the callback before uniqueness
897
+ * is computed. The callback is bound to `thisArg` and invoked with three
898
+ * arguments; (value, index, array).
899
+ *
900
+ * If a property name is provided for `callback` the created "_.pluck" style
901
+ * callback will return the property value of the given element.
902
+ *
903
+ * If an object is provided for `callback` the created "_.where" style callback
904
+ * will return `true` for elements that have the properties of the given object,
905
+ * else `false`.
906
+ *
907
+ * @static
908
+ * @memberOf _
909
+ * @alias unique
910
+ * @category Arrays
911
+ * @param {Array} array The array to process.
912
+ * @param {boolean} [isSorted=false] A flag to indicate that `array` is sorted.
913
+ * @param {Function|Object|string} [callback=identity] The function called
914
+ * per iteration. If a property name or object is provided it will be used
915
+ * to create a "_.pluck" or "_.where" style callback, respectively.
916
+ * @param {*} [thisArg] The `this` binding of `callback`.
917
+ * @returns {Array} Returns a duplicate-value-free array.
918
+ * @example
919
+ *
920
+ * _.uniq([1, 2, 1, 3, 1]);
921
+ * // => [1, 2, 3]
922
+ *
923
+ * _.uniq([1, 1, 2, 2, 3], true);
924
+ * // => [1, 2, 3]
925
+ *
926
+ * _.uniq(['A', 'b', 'C', 'a', 'B', 'c'], function(letter) { return letter.toLowerCase(); });
927
+ * // => ['A', 'b', 'C']
928
+ *
929
+ * _.uniq([1, 2.5, 3, 1.5, 2, 3.5], function(num) { return this.floor(num); }, Math);
930
+ * // => [1, 2.5, 3]
931
+ *
932
+ * // using "_.pluck" callback shorthand
933
+ * _.uniq([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x');
934
+ * // => [{ 'x': 1 }, { 'x': 2 }]
935
+ */
936
+ function uniq(array, isSorted, callback, thisArg) {
937
+ // juggle arguments
938
+ if (typeof isSorted != 'boolean' && isSorted != null) {
939
+ thisArg = callback;
940
+ callback = (typeof isSorted != 'function' && thisArg && thisArg[isSorted] === array) ? null : isSorted;
941
+ isSorted = false;
942
+ }
943
+ if (callback != null) {
944
+ callback = createCallback(callback, thisArg, 3);
945
+ }
946
+ return baseUniq(array, isSorted, callback);
983
947
  }
984
- exports.isPrimitive = isPrimitive;
985
948
 
986
- exports.isBuffer = __webpack_require__(21);
987
-
988
- function objectToString(o) {
989
- return Object.prototype.toString.call(o);
990
- }
949
+ module.exports = uniq;
950
+
951
+
952
+ /***/ },
953
+ /* 17 */
954
+ /***/ function(module, exports, __webpack_require__) {
955
+
956
+ /**
957
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
958
+ * Build: `lodash modularize modern exports="node" -o ./modern/`
959
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
960
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
961
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
962
+ * Available under MIT license <http://lodash.com/license>
963
+ */
964
+ var createCallback = __webpack_require__(37),
965
+ forOwn = __webpack_require__(12);
991
966
 
967
+ /**
968
+ * Creates an array of values by running each element in the collection
969
+ * through the callback. The callback is bound to `thisArg` and invoked with
970
+ * three arguments; (value, index|key, collection).
971
+ *
972
+ * If a property name is provided for `callback` the created "_.pluck" style
973
+ * callback will return the property value of the given element.
974
+ *
975
+ * If an object is provided for `callback` the created "_.where" style callback
976
+ * will return `true` for elements that have the properties of the given object,
977
+ * else `false`.
978
+ *
979
+ * @static
980
+ * @memberOf _
981
+ * @alias collect
982
+ * @category Collections
983
+ * @param {Array|Object|string} collection The collection to iterate over.
984
+ * @param {Function|Object|string} [callback=identity] The function called
985
+ * per iteration. If a property name or object is provided it will be used
986
+ * to create a "_.pluck" or "_.where" style callback, respectively.
987
+ * @param {*} [thisArg] The `this` binding of `callback`.
988
+ * @returns {Array} Returns a new array of the results of each `callback` execution.
989
+ * @example
990
+ *
991
+ * _.map([1, 2, 3], function(num) { return num * 3; });
992
+ * // => [3, 6, 9]
993
+ *
994
+ * _.map({ 'one': 1, 'two': 2, 'three': 3 }, function(num) { return num * 3; });
995
+ * // => [3, 6, 9] (property order is not guaranteed across environments)
996
+ *
997
+ * var characters = [
998
+ * { 'name': 'barney', 'age': 36 },
999
+ * { 'name': 'fred', 'age': 40 }
1000
+ * ];
1001
+ *
1002
+ * // using "_.pluck" callback shorthand
1003
+ * _.map(characters, 'name');
1004
+ * // => ['barney', 'fred']
1005
+ */
1006
+ function map(collection, callback, thisArg) {
1007
+ var index = -1,
1008
+ length = collection ? collection.length : 0;
992
1009
 
993
- function pad(n) {
994
- return n < 10 ? '0' + n.toString(10) : n.toString(10);
1010
+ callback = createCallback(callback, thisArg, 3);
1011
+ if (typeof length == 'number') {
1012
+ var result = Array(length);
1013
+ while (++index < length) {
1014
+ result[index] = callback(collection[index], index, collection);
1015
+ }
1016
+ } else {
1017
+ result = [];
1018
+ forOwn(collection, function(value, key, collection) {
1019
+ result[++index] = callback(value, key, collection);
1020
+ });
1021
+ }
1022
+ return result;
995
1023
  }
996
1024
 
1025
+ module.exports = map;
1026
+
1027
+
1028
+ /***/ },
1029
+ /* 18 */
1030
+ /***/ function(module, exports, __webpack_require__) {
1031
+
1032
+ /**
1033
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
1034
+ * Build: `lodash modularize modern exports="node" -o ./modern/`
1035
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
1036
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
1037
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
1038
+ * Available under MIT license <http://lodash.com/license>
1039
+ */
1040
+ var baseCreateCallback = __webpack_require__(25),
1041
+ forOwn = __webpack_require__(12);
997
1042
 
998
- var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep',
999
- 'Oct', 'Nov', 'Dec'];
1043
+ /**
1044
+ * Iterates over elements of a collection, executing the callback for each
1045
+ * element. The callback is bound to `thisArg` and invoked with three arguments;
1046
+ * (value, index|key, collection). Callbacks may exit iteration early by
1047
+ * explicitly returning `false`.
1048
+ *
1049
+ * Note: As with other "Collections" methods, objects with a `length` property
1050
+ * are iterated like arrays. To avoid this behavior `_.forIn` or `_.forOwn`
1051
+ * may be used for object iteration.
1052
+ *
1053
+ * @static
1054
+ * @memberOf _
1055
+ * @alias each
1056
+ * @category Collections
1057
+ * @param {Array|Object|string} collection The collection to iterate over.
1058
+ * @param {Function} [callback=identity] The function called per iteration.
1059
+ * @param {*} [thisArg] The `this` binding of `callback`.
1060
+ * @returns {Array|Object|string} Returns `collection`.
1061
+ * @example
1062
+ *
1063
+ * _([1, 2, 3]).forEach(function(num) { console.log(num); }).join(',');
1064
+ * // => logs each number and returns '1,2,3'
1065
+ *
1066
+ * _.forEach({ 'one': 1, 'two': 2, 'three': 3 }, function(num) { console.log(num); });
1067
+ * // => logs each number and returns the object (property order is not guaranteed across environments)
1068
+ */
1069
+ function forEach(collection, callback, thisArg) {
1070
+ var index = -1,
1071
+ length = collection ? collection.length : 0;
1000
1072
 
1001
- // 26 Feb 16:19:34
1002
- function timestamp() {
1003
- var d = new Date();
1004
- var time = [pad(d.getHours()),
1005
- pad(d.getMinutes()),
1006
- pad(d.getSeconds())].join(':');
1007
- return [d.getDate(), months[d.getMonth()], time].join(' ');
1073
+ callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3);
1074
+ if (typeof length == 'number') {
1075
+ while (++index < length) {
1076
+ if (callback(collection[index], index, collection) === false) {
1077
+ break;
1078
+ }
1079
+ }
1080
+ } else {
1081
+ forOwn(collection, callback);
1082
+ }
1083
+ return collection;
1008
1084
  }
1009
1085
 
1010
-
1011
- // log is just a thin wrapper to console.log that prepends a timestamp
1012
- exports.log = function() {
1013
- console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));
1014
- };
1015
-
1086
+ module.exports = forEach;
1087
+
1088
+
1089
+ /***/ },
1090
+ /* 19 */
1091
+ /***/ function(module, exports, __webpack_require__) {
1092
+
1093
+ /**
1094
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
1095
+ * Build: `lodash modularize modern exports="node" -o ./modern/`
1096
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
1097
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
1098
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
1099
+ * Available under MIT license <http://lodash.com/license>
1100
+ */
1101
+ var keys = __webpack_require__(13);
1016
1102
 
1017
1103
  /**
1018
- * Inherit the prototype methods from one constructor into another.
1104
+ * Gets the size of the `collection` by returning `collection.length` for arrays
1105
+ * and array-like objects or the number of own enumerable properties for objects.
1106
+ *
1107
+ * @static
1108
+ * @memberOf _
1109
+ * @category Collections
1110
+ * @param {Array|Object|string} collection The collection to inspect.
1111
+ * @returns {number} Returns `collection.length` or number of own enumerable properties.
1112
+ * @example
1019
1113
  *
1020
- * The Function.prototype.inherits from lang.js rewritten as a standalone
1021
- * function (not on Function.prototype). NOTE: If this file is to be loaded
1022
- * during bootstrapping this function needs to be rewritten using some native
1023
- * functions as prototype setup using normal JavaScript does not work as
1024
- * expected during bootstrapping (see mirror.js in r114903).
1114
+ * _.size([1, 2]);
1115
+ * // => 2
1116
+ *
1117
+ * _.size({ 'one': 1, 'two': 2, 'three': 3 });
1118
+ * // => 3
1025
1119
  *
1026
- * @param {function} ctor Constructor function which needs to inherit the
1027
- * prototype.
1028
- * @param {function} superCtor Constructor function to inherit prototype from.
1120
+ * _.size('pebbles');
1121
+ * // => 7
1029
1122
  */
1030
- exports.inherits = __webpack_require__(40);
1031
-
1032
- exports._extend = function(origin, add) {
1033
- // Don't do anything if add isn't an object
1034
- if (!add || !isObject(add)) return origin;
1035
-
1036
- var keys = Object.keys(add);
1037
- var i = keys.length;
1038
- while (i--) {
1039
- origin[keys[i]] = add[keys[i]];
1040
- }
1041
- return origin;
1042
- };
1043
-
1044
- function hasOwnProperty(obj, prop) {
1045
- return Object.prototype.hasOwnProperty.call(obj, prop);
1123
+ function size(collection) {
1124
+ var length = collection ? collection.length : 0;
1125
+ return typeof length == 'number' ? length : keys(collection).length;
1046
1126
  }
1047
1127
 
1048
- /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()), __webpack_require__(25)))
1128
+ module.exports = size;
1129
+
1049
1130
 
1050
1131
  /***/ },
1051
- /* 10 */
1132
+ /* 20 */
1052
1133
  /***/ function(module, exports, __webpack_require__) {
1053
1134
 
1054
1135
  // Copyright Joyent, Inc. and other Node contributors.
@@ -1265,755 +1346,99 @@ return /******/ (function(modules) { // webpackBootstrap
1265
1346
 
1266
1347
  if (list.length === 1) {
1267
1348
  list.length = 0;
1268
- delete this._events[type];
1269
- } else {
1270
- list.splice(position, 1);
1271
- }
1272
-
1273
- if (this._events.removeListener)
1274
- this.emit('removeListener', type, listener);
1275
- }
1276
-
1277
- return this;
1278
- };
1279
-
1280
- EventEmitter.prototype.removeAllListeners = function(type) {
1281
- var key, listeners;
1282
-
1283
- if (!this._events)
1284
- return this;
1285
-
1286
- // not listening for removeListener, no need to emit
1287
- if (!this._events.removeListener) {
1288
- if (arguments.length === 0)
1289
- this._events = {};
1290
- else if (this._events[type])
1291
- delete this._events[type];
1292
- return this;
1293
- }
1294
-
1295
- // emit removeListener for all listeners on all events
1296
- if (arguments.length === 0) {
1297
- for (key in this._events) {
1298
- if (key === 'removeListener') continue;
1299
- this.removeAllListeners(key);
1300
- }
1301
- this.removeAllListeners('removeListener');
1302
- this._events = {};
1303
- return this;
1304
- }
1305
-
1306
- listeners = this._events[type];
1307
-
1308
- if (isFunction(listeners)) {
1309
- this.removeListener(type, listeners);
1310
- } else {
1311
- // LIFO order
1312
- while (listeners.length)
1313
- this.removeListener(type, listeners[listeners.length - 1]);
1314
- }
1315
- delete this._events[type];
1316
-
1317
- return this;
1318
- };
1319
-
1320
- EventEmitter.prototype.listeners = function(type) {
1321
- var ret;
1322
- if (!this._events || !this._events[type])
1323
- ret = [];
1324
- else if (isFunction(this._events[type]))
1325
- ret = [this._events[type]];
1326
- else
1327
- ret = this._events[type].slice();
1328
- return ret;
1329
- };
1330
-
1331
- EventEmitter.listenerCount = function(emitter, type) {
1332
- var ret;
1333
- if (!emitter._events || !emitter._events[type])
1334
- ret = 0;
1335
- else if (isFunction(emitter._events[type]))
1336
- ret = 1;
1337
- else
1338
- ret = emitter._events[type].length;
1339
- return ret;
1340
- };
1341
-
1342
- function isFunction(arg) {
1343
- return typeof arg === 'function';
1344
- }
1345
-
1346
- function isNumber(arg) {
1347
- return typeof arg === 'number';
1348
- }
1349
-
1350
- function isObject(arg) {
1351
- return typeof arg === 'object' && arg !== null;
1352
- }
1353
-
1354
- function isUndefined(arg) {
1355
- return arg === void 0;
1356
- }
1357
-
1358
-
1359
- /***/ },
1360
- /* 11 */
1361
- /***/ function(module, exports, __webpack_require__) {
1362
-
1363
- /**
1364
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
1365
- * Build: `lodash modularize modern exports="node" -o ./modern/`
1366
- * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
1367
- * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
1368
- * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
1369
- * Available under MIT license <http://lodash.com/license>
1370
- */
1371
- var baseClone = __webpack_require__(26),
1372
- baseCreateCallback = __webpack_require__(27);
1373
-
1374
- /**
1375
- * Creates a clone of `value`. If `isDeep` is `true` nested objects will also
1376
- * be cloned, otherwise they will be assigned by reference. If a callback
1377
- * is provided it will be executed to produce the cloned values. If the
1378
- * callback returns `undefined` cloning will be handled by the method instead.
1379
- * The callback is bound to `thisArg` and invoked with one argument; (value).
1380
- *
1381
- * @static
1382
- * @memberOf _
1383
- * @category Objects
1384
- * @param {*} value The value to clone.
1385
- * @param {boolean} [isDeep=false] Specify a deep clone.
1386
- * @param {Function} [callback] The function to customize cloning values.
1387
- * @param {*} [thisArg] The `this` binding of `callback`.
1388
- * @returns {*} Returns the cloned value.
1389
- * @example
1390
- *
1391
- * var characters = [
1392
- * { 'name': 'barney', 'age': 36 },
1393
- * { 'name': 'fred', 'age': 40 }
1394
- * ];
1395
- *
1396
- * var shallow = _.clone(characters);
1397
- * shallow[0] === characters[0];
1398
- * // => true
1399
- *
1400
- * var deep = _.clone(characters, true);
1401
- * deep[0] === characters[0];
1402
- * // => false
1403
- *
1404
- * _.mixin({
1405
- * 'clone': _.partialRight(_.clone, function(value) {
1406
- * return _.isElement(value) ? value.cloneNode(false) : undefined;
1407
- * })
1408
- * });
1409
- *
1410
- * var clone = _.clone(document.body);
1411
- * clone.childNodes.length;
1412
- * // => 0
1413
- */
1414
- function clone(value, isDeep, callback, thisArg) {
1415
- // allows working with "Collections" methods without using their `index`
1416
- // and `collection` arguments for `isDeep` and `callback`
1417
- if (typeof isDeep != 'boolean' && isDeep != null) {
1418
- thisArg = callback;
1419
- callback = isDeep;
1420
- isDeep = false;
1421
- }
1422
- return baseClone(value, isDeep, typeof callback == 'function' && baseCreateCallback(callback, thisArg, 1));
1423
- }
1424
-
1425
- module.exports = clone;
1426
-
1427
-
1428
- /***/ },
1429
- /* 12 */
1430
- /***/ function(module, exports, __webpack_require__) {
1431
-
1432
- /**
1433
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
1434
- * Build: `lodash modularize modern exports="node" -o ./modern/`
1435
- * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
1436
- * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
1437
- * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
1438
- * Available under MIT license <http://lodash.com/license>
1439
- */
1440
- var createCallback = __webpack_require__(39),
1441
- forOwn = __webpack_require__(13);
1442
-
1443
- /**
1444
- * Creates an object with the same keys as `object` and values generated by
1445
- * running each own enumerable property of `object` through the callback.
1446
- * The callback is bound to `thisArg` and invoked with three arguments;
1447
- * (value, key, object).
1448
- *
1449
- * If a property name is provided for `callback` the created "_.pluck" style
1450
- * callback will return the property value of the given element.
1451
- *
1452
- * If an object is provided for `callback` the created "_.where" style callback
1453
- * will return `true` for elements that have the properties of the given object,
1454
- * else `false`.
1455
- *
1456
- * @static
1457
- * @memberOf _
1458
- * @category Objects
1459
- * @param {Object} object The object to iterate over.
1460
- * @param {Function|Object|string} [callback=identity] The function called
1461
- * per iteration. If a property name or object is provided it will be used
1462
- * to create a "_.pluck" or "_.where" style callback, respectively.
1463
- * @param {*} [thisArg] The `this` binding of `callback`.
1464
- * @returns {Array} Returns a new object with values of the results of each `callback` execution.
1465
- * @example
1466
- *
1467
- * _.mapValues({ 'a': 1, 'b': 2, 'c': 3} , function(num) { return num * 3; });
1468
- * // => { 'a': 3, 'b': 6, 'c': 9 }
1469
- *
1470
- * var characters = {
1471
- * 'fred': { 'name': 'fred', 'age': 40 },
1472
- * 'pebbles': { 'name': 'pebbles', 'age': 1 }
1473
- * };
1474
- *
1475
- * // using "_.pluck" callback shorthand
1476
- * _.mapValues(characters, 'age');
1477
- * // => { 'fred': 40, 'pebbles': 1 }
1478
- */
1479
- function mapValues(object, callback, thisArg) {
1480
- var result = {};
1481
- callback = createCallback(callback, thisArg, 3);
1482
-
1483
- forOwn(object, function(value, key, object) {
1484
- result[key] = callback(value, key, object);
1485
- });
1486
- return result;
1487
- }
1488
-
1489
- module.exports = mapValues;
1490
-
1491
-
1492
- /***/ },
1493
- /* 13 */
1494
- /***/ function(module, exports, __webpack_require__) {
1495
-
1496
- /**
1497
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
1498
- * Build: `lodash modularize modern exports="node" -o ./modern/`
1499
- * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
1500
- * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
1501
- * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
1502
- * Available under MIT license <http://lodash.com/license>
1503
- */
1504
- var baseCreateCallback = __webpack_require__(27),
1505
- keys = __webpack_require__(14),
1506
- objectTypes = __webpack_require__(28);
1507
-
1508
- /**
1509
- * Iterates over own enumerable properties of an object, executing the callback
1510
- * for each property. The callback is bound to `thisArg` and invoked with three
1511
- * arguments; (value, key, object). Callbacks may exit iteration early by
1512
- * explicitly returning `false`.
1513
- *
1514
- * @static
1515
- * @memberOf _
1516
- * @type Function
1517
- * @category Objects
1518
- * @param {Object} object The object to iterate over.
1519
- * @param {Function} [callback=identity] The function called per iteration.
1520
- * @param {*} [thisArg] The `this` binding of `callback`.
1521
- * @returns {Object} Returns `object`.
1522
- * @example
1523
- *
1524
- * _.forOwn({ '0': 'zero', '1': 'one', 'length': 2 }, function(num, key) {
1525
- * console.log(key);
1526
- * });
1527
- * // => logs '0', '1', and 'length' (property order is not guaranteed across environments)
1528
- */
1529
- var forOwn = function(collection, callback, thisArg) {
1530
- var index, iterable = collection, result = iterable;
1531
- if (!iterable) return result;
1532
- if (!objectTypes[typeof iterable]) return result;
1533
- callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3);
1534
- var ownIndex = -1,
1535
- ownProps = objectTypes[typeof iterable] && keys(iterable),
1536
- length = ownProps ? ownProps.length : 0;
1537
-
1538
- while (++ownIndex < length) {
1539
- index = ownProps[ownIndex];
1540
- if (callback(iterable[index], index, collection) === false) return result;
1541
- }
1542
- return result
1543
- };
1544
-
1545
- module.exports = forOwn;
1546
-
1547
-
1548
- /***/ },
1549
- /* 14 */
1550
- /***/ function(module, exports, __webpack_require__) {
1551
-
1552
- /**
1553
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
1554
- * Build: `lodash modularize modern exports="node" -o ./modern/`
1555
- * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
1556
- * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
1557
- * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
1558
- * Available under MIT license <http://lodash.com/license>
1559
- */
1560
- var isNative = __webpack_require__(29),
1561
- isObject = __webpack_require__(22),
1562
- shimKeys = __webpack_require__(30);
1563
-
1564
- /* Native method shortcuts for methods with the same name as other `lodash` methods */
1565
- var nativeKeys = isNative(nativeKeys = Object.keys) && nativeKeys;
1566
-
1567
- /**
1568
- * Creates an array composed of the own enumerable property names of an object.
1569
- *
1570
- * @static
1571
- * @memberOf _
1572
- * @category Objects
1573
- * @param {Object} object The object to inspect.
1574
- * @returns {Array} Returns an array of property names.
1575
- * @example
1576
- *
1577
- * _.keys({ 'one': 1, 'two': 2, 'three': 3 });
1578
- * // => ['one', 'two', 'three'] (property order is not guaranteed across environments)
1579
- */
1580
- var keys = !nativeKeys ? shimKeys : function(object) {
1581
- if (!isObject(object)) {
1582
- return [];
1583
- }
1584
- return nativeKeys(object);
1585
- };
1586
-
1587
- module.exports = keys;
1588
-
1589
-
1590
- /***/ },
1591
- /* 15 */
1592
- /***/ function(module, exports, __webpack_require__) {
1593
-
1594
- /**
1595
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
1596
- * Build: `lodash modularize modern exports="node" -o ./modern/`
1597
- * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
1598
- * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
1599
- * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
1600
- * Available under MIT license <http://lodash.com/license>
1601
- */
1602
- var createCallback = __webpack_require__(39),
1603
- forOwn = __webpack_require__(13);
1604
-
1605
- /**
1606
- * This method is like `_.findIndex` except that it returns the key of the
1607
- * first element that passes the callback check, instead of the element itself.
1608
- *
1609
- * If a property name is provided for `callback` the created "_.pluck" style
1610
- * callback will return the property value of the given element.
1611
- *
1612
- * If an object is provided for `callback` the created "_.where" style callback
1613
- * will return `true` for elements that have the properties of the given object,
1614
- * else `false`.
1615
- *
1616
- * @static
1617
- * @memberOf _
1618
- * @category Objects
1619
- * @param {Object} object The object to search.
1620
- * @param {Function|Object|string} [callback=identity] The function called per
1621
- * iteration. If a property name or object is provided it will be used to
1622
- * create a "_.pluck" or "_.where" style callback, respectively.
1623
- * @param {*} [thisArg] The `this` binding of `callback`.
1624
- * @returns {string|undefined} Returns the key of the found element, else `undefined`.
1625
- * @example
1626
- *
1627
- * var characters = {
1628
- * 'barney': { 'age': 36, 'blocked': false },
1629
- * 'fred': { 'age': 40, 'blocked': true },
1630
- * 'pebbles': { 'age': 1, 'blocked': false }
1631
- * };
1632
- *
1633
- * _.findKey(characters, function(chr) {
1634
- * return chr.age < 40;
1635
- * });
1636
- * // => 'barney' (property order is not guaranteed across environments)
1637
- *
1638
- * // using "_.where" callback shorthand
1639
- * _.findKey(characters, { 'age': 1 });
1640
- * // => 'pebbles'
1641
- *
1642
- * // using "_.pluck" callback shorthand
1643
- * _.findKey(characters, 'blocked');
1644
- * // => 'fred'
1645
- */
1646
- function findKey(object, callback, thisArg) {
1647
- var result;
1648
- callback = createCallback(callback, thisArg, 3);
1649
- forOwn(object, function(value, key, object) {
1650
- if (callback(value, key, object)) {
1651
- result = key;
1652
- return false;
1653
- }
1654
- });
1655
- return result;
1656
- }
1657
-
1658
- module.exports = findKey;
1659
-
1660
-
1661
- /***/ },
1662
- /* 16 */
1663
- /***/ function(module, exports, __webpack_require__) {
1664
-
1665
- /**
1666
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
1667
- * Build: `lodash modularize modern exports="node" -o ./modern/`
1668
- * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
1669
- * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
1670
- * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
1671
- * Available under MIT license <http://lodash.com/license>
1672
- */
1673
- var baseIndexOf = __webpack_require__(31),
1674
- cacheIndexOf = __webpack_require__(32),
1675
- createCache = __webpack_require__(33),
1676
- getArray = __webpack_require__(34),
1677
- isArguments = __webpack_require__(23),
1678
- isArray = __webpack_require__(24),
1679
- largeArraySize = __webpack_require__(35),
1680
- releaseArray = __webpack_require__(36),
1681
- releaseObject = __webpack_require__(37);
1682
-
1683
- /**
1684
- * Creates an array of unique values present in all provided arrays using
1685
- * strict equality for comparisons, i.e. `===`.
1686
- *
1687
- * @static
1688
- * @memberOf _
1689
- * @category Arrays
1690
- * @param {...Array} [array] The arrays to inspect.
1691
- * @returns {Array} Returns an array of shared values.
1692
- * @example
1693
- *
1694
- * _.intersection([1, 2, 3], [5, 2, 1, 4], [2, 1]);
1695
- * // => [1, 2]
1696
- */
1697
- function intersection() {
1698
- var args = [],
1699
- argsIndex = -1,
1700
- argsLength = arguments.length,
1701
- caches = getArray(),
1702
- indexOf = baseIndexOf,
1703
- trustIndexOf = indexOf === baseIndexOf,
1704
- seen = getArray();
1705
-
1706
- while (++argsIndex < argsLength) {
1707
- var value = arguments[argsIndex];
1708
- if (isArray(value) || isArguments(value)) {
1709
- args.push(value);
1710
- caches.push(trustIndexOf && value.length >= largeArraySize &&
1711
- createCache(argsIndex ? args[argsIndex] : seen));
1712
- }
1713
- }
1714
- var array = args[0],
1715
- index = -1,
1716
- length = array ? array.length : 0,
1717
- result = [];
1718
-
1719
- outer:
1720
- while (++index < length) {
1721
- var cache = caches[0];
1722
- value = array[index];
1723
-
1724
- if ((cache ? cacheIndexOf(cache, value) : indexOf(seen, value)) < 0) {
1725
- argsIndex = argsLength;
1726
- (cache || seen).push(value);
1727
- while (--argsIndex) {
1728
- cache = caches[argsIndex];
1729
- if ((cache ? cacheIndexOf(cache, value) : indexOf(args[argsIndex], value)) < 0) {
1730
- continue outer;
1731
- }
1732
- }
1733
- result.push(value);
1734
- }
1735
- }
1736
- while (argsLength--) {
1737
- cache = caches[argsLength];
1738
- if (cache) {
1739
- releaseObject(cache);
1740
- }
1741
- }
1742
- releaseArray(caches);
1743
- releaseArray(seen);
1744
- return result;
1745
- }
1746
-
1747
- module.exports = intersection;
1748
-
1749
-
1750
- /***/ },
1751
- /* 17 */
1752
- /***/ function(module, exports, __webpack_require__) {
1753
-
1754
- /**
1755
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
1756
- * Build: `lodash modularize modern exports="node" -o ./modern/`
1757
- * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
1758
- * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
1759
- * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
1760
- * Available under MIT license <http://lodash.com/license>
1761
- */
1762
- var baseUniq = __webpack_require__(38),
1763
- createCallback = __webpack_require__(39);
1764
-
1765
- /**
1766
- * Creates a duplicate-value-free version of an array using strict equality
1767
- * for comparisons, i.e. `===`. If the array is sorted, providing
1768
- * `true` for `isSorted` will use a faster algorithm. If a callback is provided
1769
- * each element of `array` is passed through the callback before uniqueness
1770
- * is computed. The callback is bound to `thisArg` and invoked with three
1771
- * arguments; (value, index, array).
1772
- *
1773
- * If a property name is provided for `callback` the created "_.pluck" style
1774
- * callback will return the property value of the given element.
1775
- *
1776
- * If an object is provided for `callback` the created "_.where" style callback
1777
- * will return `true` for elements that have the properties of the given object,
1778
- * else `false`.
1779
- *
1780
- * @static
1781
- * @memberOf _
1782
- * @alias unique
1783
- * @category Arrays
1784
- * @param {Array} array The array to process.
1785
- * @param {boolean} [isSorted=false] A flag to indicate that `array` is sorted.
1786
- * @param {Function|Object|string} [callback=identity] The function called
1787
- * per iteration. If a property name or object is provided it will be used
1788
- * to create a "_.pluck" or "_.where" style callback, respectively.
1789
- * @param {*} [thisArg] The `this` binding of `callback`.
1790
- * @returns {Array} Returns a duplicate-value-free array.
1791
- * @example
1792
- *
1793
- * _.uniq([1, 2, 1, 3, 1]);
1794
- * // => [1, 2, 3]
1795
- *
1796
- * _.uniq([1, 1, 2, 2, 3], true);
1797
- * // => [1, 2, 3]
1798
- *
1799
- * _.uniq(['A', 'b', 'C', 'a', 'B', 'c'], function(letter) { return letter.toLowerCase(); });
1800
- * // => ['A', 'b', 'C']
1801
- *
1802
- * _.uniq([1, 2.5, 3, 1.5, 2, 3.5], function(num) { return this.floor(num); }, Math);
1803
- * // => [1, 2.5, 3]
1804
- *
1805
- * // using "_.pluck" callback shorthand
1806
- * _.uniq([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x');
1807
- * // => [{ 'x': 1 }, { 'x': 2 }]
1808
- */
1809
- function uniq(array, isSorted, callback, thisArg) {
1810
- // juggle arguments
1811
- if (typeof isSorted != 'boolean' && isSorted != null) {
1812
- thisArg = callback;
1813
- callback = (typeof isSorted != 'function' && thisArg && thisArg[isSorted] === array) ? null : isSorted;
1814
- isSorted = false;
1815
- }
1816
- if (callback != null) {
1817
- callback = createCallback(callback, thisArg, 3);
1818
- }
1819
- return baseUniq(array, isSorted, callback);
1820
- }
1821
-
1822
- module.exports = uniq;
1823
-
1824
-
1825
- /***/ },
1826
- /* 18 */
1827
- /***/ function(module, exports, __webpack_require__) {
1828
-
1829
- /**
1830
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
1831
- * Build: `lodash modularize modern exports="node" -o ./modern/`
1832
- * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
1833
- * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
1834
- * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
1835
- * Available under MIT license <http://lodash.com/license>
1836
- */
1837
- var createCallback = __webpack_require__(39),
1838
- forOwn = __webpack_require__(13);
1839
-
1840
- /**
1841
- * Creates an array of values by running each element in the collection
1842
- * through the callback. The callback is bound to `thisArg` and invoked with
1843
- * three arguments; (value, index|key, collection).
1844
- *
1845
- * If a property name is provided for `callback` the created "_.pluck" style
1846
- * callback will return the property value of the given element.
1847
- *
1848
- * If an object is provided for `callback` the created "_.where" style callback
1849
- * will return `true` for elements that have the properties of the given object,
1850
- * else `false`.
1851
- *
1852
- * @static
1853
- * @memberOf _
1854
- * @alias collect
1855
- * @category Collections
1856
- * @param {Array|Object|string} collection The collection to iterate over.
1857
- * @param {Function|Object|string} [callback=identity] The function called
1858
- * per iteration. If a property name or object is provided it will be used
1859
- * to create a "_.pluck" or "_.where" style callback, respectively.
1860
- * @param {*} [thisArg] The `this` binding of `callback`.
1861
- * @returns {Array} Returns a new array of the results of each `callback` execution.
1862
- * @example
1863
- *
1864
- * _.map([1, 2, 3], function(num) { return num * 3; });
1865
- * // => [3, 6, 9]
1866
- *
1867
- * _.map({ 'one': 1, 'two': 2, 'three': 3 }, function(num) { return num * 3; });
1868
- * // => [3, 6, 9] (property order is not guaranteed across environments)
1869
- *
1870
- * var characters = [
1871
- * { 'name': 'barney', 'age': 36 },
1872
- * { 'name': 'fred', 'age': 40 }
1873
- * ];
1874
- *
1875
- * // using "_.pluck" callback shorthand
1876
- * _.map(characters, 'name');
1877
- * // => ['barney', 'fred']
1878
- */
1879
- function map(collection, callback, thisArg) {
1880
- var index = -1,
1881
- length = collection ? collection.length : 0;
1882
-
1883
- callback = createCallback(callback, thisArg, 3);
1884
- if (typeof length == 'number') {
1885
- var result = Array(length);
1886
- while (++index < length) {
1887
- result[index] = callback(collection[index], index, collection);
1888
- }
1889
- } else {
1890
- result = [];
1891
- forOwn(collection, function(value, key, collection) {
1892
- result[++index] = callback(value, key, collection);
1893
- });
1894
- }
1895
- return result;
1896
- }
1897
-
1898
- module.exports = map;
1899
-
1900
-
1901
- /***/ },
1902
- /* 19 */
1903
- /***/ function(module, exports, __webpack_require__) {
1904
-
1905
- /**
1906
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
1907
- * Build: `lodash modularize modern exports="node" -o ./modern/`
1908
- * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
1909
- * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
1910
- * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
1911
- * Available under MIT license <http://lodash.com/license>
1912
- */
1913
- var baseCreateCallback = __webpack_require__(27),
1914
- forOwn = __webpack_require__(13);
1915
-
1916
- /**
1917
- * Iterates over elements of a collection, executing the callback for each
1918
- * element. The callback is bound to `thisArg` and invoked with three arguments;
1919
- * (value, index|key, collection). Callbacks may exit iteration early by
1920
- * explicitly returning `false`.
1921
- *
1922
- * Note: As with other "Collections" methods, objects with a `length` property
1923
- * are iterated like arrays. To avoid this behavior `_.forIn` or `_.forOwn`
1924
- * may be used for object iteration.
1925
- *
1926
- * @static
1927
- * @memberOf _
1928
- * @alias each
1929
- * @category Collections
1930
- * @param {Array|Object|string} collection The collection to iterate over.
1931
- * @param {Function} [callback=identity] The function called per iteration.
1932
- * @param {*} [thisArg] The `this` binding of `callback`.
1933
- * @returns {Array|Object|string} Returns `collection`.
1934
- * @example
1935
- *
1936
- * _([1, 2, 3]).forEach(function(num) { console.log(num); }).join(',');
1937
- * // => logs each number and returns '1,2,3'
1938
- *
1939
- * _.forEach({ 'one': 1, 'two': 2, 'three': 3 }, function(num) { console.log(num); });
1940
- * // => logs each number and returns the object (property order is not guaranteed across environments)
1941
- */
1942
- function forEach(collection, callback, thisArg) {
1943
- var index = -1,
1944
- length = collection ? collection.length : 0;
1349
+ delete this._events[type];
1350
+ } else {
1351
+ list.splice(position, 1);
1352
+ }
1945
1353
 
1946
- callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3);
1947
- if (typeof length == 'number') {
1948
- while (++index < length) {
1949
- if (callback(collection[index], index, collection) === false) {
1950
- break;
1951
- }
1354
+ if (this._events.removeListener)
1355
+ this.emit('removeListener', type, listener);
1356
+ }
1357
+
1358
+ return this;
1359
+ };
1360
+
1361
+ EventEmitter.prototype.removeAllListeners = function(type) {
1362
+ var key, listeners;
1363
+
1364
+ if (!this._events)
1365
+ return this;
1366
+
1367
+ // not listening for removeListener, no need to emit
1368
+ if (!this._events.removeListener) {
1369
+ if (arguments.length === 0)
1370
+ this._events = {};
1371
+ else if (this._events[type])
1372
+ delete this._events[type];
1373
+ return this;
1374
+ }
1375
+
1376
+ // emit removeListener for all listeners on all events
1377
+ if (arguments.length === 0) {
1378
+ for (key in this._events) {
1379
+ if (key === 'removeListener') continue;
1380
+ this.removeAllListeners(key);
1952
1381
  }
1382
+ this.removeAllListeners('removeListener');
1383
+ this._events = {};
1384
+ return this;
1385
+ }
1386
+
1387
+ listeners = this._events[type];
1388
+
1389
+ if (isFunction(listeners)) {
1390
+ this.removeListener(type, listeners);
1953
1391
  } else {
1954
- forOwn(collection, callback);
1392
+ // LIFO order
1393
+ while (listeners.length)
1394
+ this.removeListener(type, listeners[listeners.length - 1]);
1955
1395
  }
1956
- return collection;
1396
+ delete this._events[type];
1397
+
1398
+ return this;
1399
+ };
1400
+
1401
+ EventEmitter.prototype.listeners = function(type) {
1402
+ var ret;
1403
+ if (!this._events || !this._events[type])
1404
+ ret = [];
1405
+ else if (isFunction(this._events[type]))
1406
+ ret = [this._events[type]];
1407
+ else
1408
+ ret = this._events[type].slice();
1409
+ return ret;
1410
+ };
1411
+
1412
+ EventEmitter.listenerCount = function(emitter, type) {
1413
+ var ret;
1414
+ if (!emitter._events || !emitter._events[type])
1415
+ ret = 0;
1416
+ else if (isFunction(emitter._events[type]))
1417
+ ret = 1;
1418
+ else
1419
+ ret = emitter._events[type].length;
1420
+ return ret;
1421
+ };
1422
+
1423
+ function isFunction(arg) {
1424
+ return typeof arg === 'function';
1957
1425
  }
1958
1426
 
1959
- module.exports = forEach;
1960
-
1961
-
1962
- /***/ },
1963
- /* 20 */
1964
- /***/ function(module, exports, __webpack_require__) {
1965
-
1966
- /**
1967
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
1968
- * Build: `lodash modularize modern exports="node" -o ./modern/`
1969
- * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
1970
- * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
1971
- * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
1972
- * Available under MIT license <http://lodash.com/license>
1973
- */
1974
- var keys = __webpack_require__(14);
1427
+ function isNumber(arg) {
1428
+ return typeof arg === 'number';
1429
+ }
1975
1430
 
1976
- /**
1977
- * Gets the size of the `collection` by returning `collection.length` for arrays
1978
- * and array-like objects or the number of own enumerable properties for objects.
1979
- *
1980
- * @static
1981
- * @memberOf _
1982
- * @category Collections
1983
- * @param {Array|Object|string} collection The collection to inspect.
1984
- * @returns {number} Returns `collection.length` or number of own enumerable properties.
1985
- * @example
1986
- *
1987
- * _.size([1, 2]);
1988
- * // => 2
1989
- *
1990
- * _.size({ 'one': 1, 'two': 2, 'three': 3 });
1991
- * // => 3
1992
- *
1993
- * _.size('pebbles');
1994
- * // => 7
1995
- */
1996
- function size(collection) {
1997
- var length = collection ? collection.length : 0;
1998
- return typeof length == 'number' ? length : keys(collection).length;
1431
+ function isObject(arg) {
1432
+ return typeof arg === 'object' && arg !== null;
1999
1433
  }
2000
1434
 
2001
- module.exports = size;
1435
+ function isUndefined(arg) {
1436
+ return arg === void 0;
1437
+ }
2002
1438
 
2003
1439
 
2004
1440
  /***/ },
2005
1441
  /* 21 */
2006
- /***/ function(module, exports, __webpack_require__) {
2007
-
2008
- module.exports = function isBuffer(arg) {
2009
- return arg && typeof arg === 'object'
2010
- && typeof arg.copy === 'function'
2011
- && typeof arg.fill === 'function'
2012
- && typeof arg.readUInt8 === 'function';
2013
- }
2014
-
2015
- /***/ },
2016
- /* 22 */
2017
1442
  /***/ function(module, exports, __webpack_require__) {
2018
1443
 
2019
1444
  /**
@@ -2024,7 +1449,7 @@ return /******/ (function(modules) { // webpackBootstrap
2024
1449
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
2025
1450
  * Available under MIT license <http://lodash.com/license>
2026
1451
  */
2027
- var objectTypes = __webpack_require__(28);
1452
+ var objectTypes = __webpack_require__(26);
2028
1453
 
2029
1454
  /**
2030
1455
  * Checks if `value` is the language type of Object.
@@ -2058,7 +1483,7 @@ return /******/ (function(modules) { // webpackBootstrap
2058
1483
 
2059
1484
 
2060
1485
  /***/ },
2061
- /* 23 */
1486
+ /* 22 */
2062
1487
  /***/ function(module, exports, __webpack_require__) {
2063
1488
 
2064
1489
  /**
@@ -2104,7 +1529,7 @@ return /******/ (function(modules) { // webpackBootstrap
2104
1529
 
2105
1530
 
2106
1531
  /***/ },
2107
- /* 24 */
1532
+ /* 23 */
2108
1533
  /***/ function(module, exports, __webpack_require__) {
2109
1534
 
2110
1535
  /**
@@ -2115,7 +1540,7 @@ return /******/ (function(modules) { // webpackBootstrap
2115
1540
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
2116
1541
  * Available under MIT license <http://lodash.com/license>
2117
1542
  */
2118
- var isNative = __webpack_require__(29);
1543
+ var isNative = __webpack_require__(27);
2119
1544
 
2120
1545
  /** `Object#toString` result shortcuts */
2121
1546
  var arrayClass = '[object Array]';
@@ -2155,73 +1580,7 @@ return /******/ (function(modules) { // webpackBootstrap
2155
1580
 
2156
1581
 
2157
1582
  /***/ },
2158
- /* 25 */
2159
- /***/ function(module, exports, __webpack_require__) {
2160
-
2161
- // shim for using process in browser
2162
-
2163
- var process = module.exports = {};
2164
-
2165
- process.nextTick = (function () {
2166
- var canSetImmediate = typeof window !== 'undefined'
2167
- && window.setImmediate;
2168
- var canPost = typeof window !== 'undefined'
2169
- && window.postMessage && window.addEventListener
2170
- ;
2171
-
2172
- if (canSetImmediate) {
2173
- return function (f) { return window.setImmediate(f) };
2174
- }
2175
-
2176
- if (canPost) {
2177
- var queue = [];
2178
- window.addEventListener('message', function (ev) {
2179
- var source = ev.source;
2180
- if ((source === window || source === null) && ev.data === 'process-tick') {
2181
- ev.stopPropagation();
2182
- if (queue.length > 0) {
2183
- var fn = queue.shift();
2184
- fn();
2185
- }
2186
- }
2187
- }, true);
2188
-
2189
- return function nextTick(fn) {
2190
- queue.push(fn);
2191
- window.postMessage('process-tick', '*');
2192
- };
2193
- }
2194
-
2195
- return function nextTick(fn) {
2196
- setTimeout(fn, 0);
2197
- };
2198
- })();
2199
-
2200
- process.title = 'browser';
2201
- process.browser = true;
2202
- process.env = {};
2203
- process.argv = [];
2204
-
2205
- function noop() {}
2206
-
2207
- process.on = noop;
2208
- process.once = noop;
2209
- process.off = noop;
2210
- process.emit = noop;
2211
-
2212
- process.binding = function (name) {
2213
- throw new Error('process.binding is not supported');
2214
- }
2215
-
2216
- // TODO(shtylman)
2217
- process.cwd = function () { return '/' };
2218
- process.chdir = function (dir) {
2219
- throw new Error('process.chdir is not supported');
2220
- };
2221
-
2222
-
2223
- /***/ },
2224
- /* 26 */
1583
+ /* 24 */
2225
1584
  /***/ function(module, exports, __webpack_require__) {
2226
1585
 
2227
1586
  /**
@@ -2232,14 +1591,14 @@ return /******/ (function(modules) { // webpackBootstrap
2232
1591
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
2233
1592
  * Available under MIT license <http://lodash.com/license>
2234
1593
  */
2235
- var assign = __webpack_require__(41),
2236
- forEach = __webpack_require__(19),
2237
- forOwn = __webpack_require__(13),
2238
- getArray = __webpack_require__(34),
2239
- isArray = __webpack_require__(24),
2240
- isObject = __webpack_require__(22),
2241
- releaseArray = __webpack_require__(36),
2242
- slice = __webpack_require__(42);
1594
+ var assign = __webpack_require__(38),
1595
+ forEach = __webpack_require__(18),
1596
+ forOwn = __webpack_require__(12),
1597
+ getArray = __webpack_require__(32),
1598
+ isArray = __webpack_require__(23),
1599
+ isObject = __webpack_require__(21),
1600
+ releaseArray = __webpack_require__(34),
1601
+ slice = __webpack_require__(39);
2243
1602
 
2244
1603
  /** Used to match regexp flags from their coerced string values */
2245
1604
  var reFlags = /\w*$/;
@@ -2379,7 +1738,7 @@ return /******/ (function(modules) { // webpackBootstrap
2379
1738
 
2380
1739
 
2381
1740
  /***/ },
2382
- /* 27 */
1741
+ /* 25 */
2383
1742
  /***/ function(module, exports, __webpack_require__) {
2384
1743
 
2385
1744
  /**
@@ -2390,10 +1749,10 @@ return /******/ (function(modules) { // webpackBootstrap
2390
1749
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
2391
1750
  * Available under MIT license <http://lodash.com/license>
2392
1751
  */
2393
- var bind = __webpack_require__(43),
2394
- identity = __webpack_require__(53),
2395
- setBindData = __webpack_require__(44),
2396
- support = __webpack_require__(45);
1752
+ var bind = __webpack_require__(40),
1753
+ identity = __webpack_require__(50),
1754
+ setBindData = __webpack_require__(41),
1755
+ support = __webpack_require__(42);
2397
1756
 
2398
1757
  /** Used to detected named functions */
2399
1758
  var reFuncName = /^\s*function[ \n\r\t]+\w/;
@@ -2465,7 +1824,7 @@ return /******/ (function(modules) { // webpackBootstrap
2465
1824
 
2466
1825
 
2467
1826
  /***/ },
2468
- /* 28 */
1827
+ /* 26 */
2469
1828
  /***/ function(module, exports, __webpack_require__) {
2470
1829
 
2471
1830
  /**
@@ -2491,7 +1850,7 @@ return /******/ (function(modules) { // webpackBootstrap
2491
1850
 
2492
1851
 
2493
1852
  /***/ },
2494
- /* 29 */
1853
+ /* 27 */
2495
1854
  /***/ function(module, exports, __webpack_require__) {
2496
1855
 
2497
1856
  /**
@@ -2531,7 +1890,7 @@ return /******/ (function(modules) { // webpackBootstrap
2531
1890
 
2532
1891
 
2533
1892
  /***/ },
2534
- /* 30 */
1893
+ /* 28 */
2535
1894
  /***/ function(module, exports, __webpack_require__) {
2536
1895
 
2537
1896
  /**
@@ -2542,7 +1901,7 @@ return /******/ (function(modules) { // webpackBootstrap
2542
1901
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
2543
1902
  * Available under MIT license <http://lodash.com/license>
2544
1903
  */
2545
- var objectTypes = __webpack_require__(28);
1904
+ var objectTypes = __webpack_require__(26);
2546
1905
 
2547
1906
  /** Used for native method references */
2548
1907
  var objectProto = Object.prototype;
@@ -2575,7 +1934,7 @@ return /******/ (function(modules) { // webpackBootstrap
2575
1934
 
2576
1935
 
2577
1936
  /***/ },
2578
- /* 31 */
1937
+ /* 29 */
2579
1938
  /***/ function(module, exports, __webpack_require__) {
2580
1939
 
2581
1940
  /**
@@ -2613,7 +1972,7 @@ return /******/ (function(modules) { // webpackBootstrap
2613
1972
 
2614
1973
 
2615
1974
  /***/ },
2616
- /* 32 */
1975
+ /* 30 */
2617
1976
  /***/ function(module, exports, __webpack_require__) {
2618
1977
 
2619
1978
  /**
@@ -2624,8 +1983,8 @@ return /******/ (function(modules) { // webpackBootstrap
2624
1983
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
2625
1984
  * Available under MIT license <http://lodash.com/license>
2626
1985
  */
2627
- var baseIndexOf = __webpack_require__(31),
2628
- keyPrefix = __webpack_require__(46);
1986
+ var baseIndexOf = __webpack_require__(29),
1987
+ keyPrefix = __webpack_require__(43);
2629
1988
 
2630
1989
  /**
2631
1990
  * An implementation of `_.contains` for cache objects that mimics the return
@@ -2658,7 +2017,7 @@ return /******/ (function(modules) { // webpackBootstrap
2658
2017
 
2659
2018
 
2660
2019
  /***/ },
2661
- /* 33 */
2020
+ /* 31 */
2662
2021
  /***/ function(module, exports, __webpack_require__) {
2663
2022
 
2664
2023
  /**
@@ -2669,9 +2028,9 @@ return /******/ (function(modules) { // webpackBootstrap
2669
2028
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
2670
2029
  * Available under MIT license <http://lodash.com/license>
2671
2030
  */
2672
- var cachePush = __webpack_require__(47),
2673
- getObject = __webpack_require__(48),
2674
- releaseObject = __webpack_require__(37);
2031
+ var cachePush = __webpack_require__(44),
2032
+ getObject = __webpack_require__(45),
2033
+ releaseObject = __webpack_require__(35);
2675
2034
 
2676
2035
  /**
2677
2036
  * Creates a cache object to optimize linear searches of large arrays.
@@ -2709,7 +2068,7 @@ return /******/ (function(modules) { // webpackBootstrap
2709
2068
 
2710
2069
 
2711
2070
  /***/ },
2712
- /* 34 */
2071
+ /* 32 */
2713
2072
  /***/ function(module, exports, __webpack_require__) {
2714
2073
 
2715
2074
  /**
@@ -2720,7 +2079,7 @@ return /******/ (function(modules) { // webpackBootstrap
2720
2079
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
2721
2080
  * Available under MIT license <http://lodash.com/license>
2722
2081
  */
2723
- var arrayPool = __webpack_require__(49);
2082
+ var arrayPool = __webpack_require__(46);
2724
2083
 
2725
2084
  /**
2726
2085
  * Gets an array from the array pool or creates a new one if the pool is empty.
@@ -2736,7 +2095,7 @@ return /******/ (function(modules) { // webpackBootstrap
2736
2095
 
2737
2096
 
2738
2097
  /***/ },
2739
- /* 35 */
2098
+ /* 33 */
2740
2099
  /***/ function(module, exports, __webpack_require__) {
2741
2100
 
2742
2101
  /**
@@ -2755,7 +2114,7 @@ return /******/ (function(modules) { // webpackBootstrap
2755
2114
 
2756
2115
 
2757
2116
  /***/ },
2758
- /* 36 */
2117
+ /* 34 */
2759
2118
  /***/ function(module, exports, __webpack_require__) {
2760
2119
 
2761
2120
  /**
@@ -2766,8 +2125,8 @@ return /******/ (function(modules) { // webpackBootstrap
2766
2125
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
2767
2126
  * Available under MIT license <http://lodash.com/license>
2768
2127
  */
2769
- var arrayPool = __webpack_require__(49),
2770
- maxPoolSize = __webpack_require__(50);
2128
+ var arrayPool = __webpack_require__(46),
2129
+ maxPoolSize = __webpack_require__(47);
2771
2130
 
2772
2131
  /**
2773
2132
  * Releases the given array back to the array pool.
@@ -2786,7 +2145,7 @@ return /******/ (function(modules) { // webpackBootstrap
2786
2145
 
2787
2146
 
2788
2147
  /***/ },
2789
- /* 37 */
2148
+ /* 35 */
2790
2149
  /***/ function(module, exports, __webpack_require__) {
2791
2150
 
2792
2151
  /**
@@ -2797,8 +2156,8 @@ return /******/ (function(modules) { // webpackBootstrap
2797
2156
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
2798
2157
  * Available under MIT license <http://lodash.com/license>
2799
2158
  */
2800
- var maxPoolSize = __webpack_require__(50),
2801
- objectPool = __webpack_require__(51);
2159
+ var maxPoolSize = __webpack_require__(47),
2160
+ objectPool = __webpack_require__(48);
2802
2161
 
2803
2162
  /**
2804
2163
  * Releases the given object back to the object pool.
@@ -2821,7 +2180,7 @@ return /******/ (function(modules) { // webpackBootstrap
2821
2180
 
2822
2181
 
2823
2182
  /***/ },
2824
- /* 38 */
2183
+ /* 36 */
2825
2184
  /***/ function(module, exports, __webpack_require__) {
2826
2185
 
2827
2186
  /**
@@ -2832,13 +2191,13 @@ return /******/ (function(modules) { // webpackBootstrap
2832
2191
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
2833
2192
  * Available under MIT license <http://lodash.com/license>
2834
2193
  */
2835
- var baseIndexOf = __webpack_require__(31),
2836
- cacheIndexOf = __webpack_require__(32),
2837
- createCache = __webpack_require__(33),
2838
- getArray = __webpack_require__(34),
2839
- largeArraySize = __webpack_require__(35),
2840
- releaseArray = __webpack_require__(36),
2841
- releaseObject = __webpack_require__(37);
2194
+ var baseIndexOf = __webpack_require__(29),
2195
+ cacheIndexOf = __webpack_require__(30),
2196
+ createCache = __webpack_require__(31),
2197
+ getArray = __webpack_require__(32),
2198
+ largeArraySize = __webpack_require__(33),
2199
+ releaseArray = __webpack_require__(34),
2200
+ releaseObject = __webpack_require__(35);
2842
2201
 
2843
2202
  /**
2844
2203
  * The base implementation of `_.uniq` without support for callback shorthands
@@ -2891,7 +2250,7 @@ return /******/ (function(modules) { // webpackBootstrap
2891
2250
 
2892
2251
 
2893
2252
  /***/ },
2894
- /* 39 */
2253
+ /* 37 */
2895
2254
  /***/ function(module, exports, __webpack_require__) {
2896
2255
 
2897
2256
  /**
@@ -2902,11 +2261,11 @@ return /******/ (function(modules) { // webpackBootstrap
2902
2261
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
2903
2262
  * Available under MIT license <http://lodash.com/license>
2904
2263
  */
2905
- var baseCreateCallback = __webpack_require__(27),
2906
- baseIsEqual = __webpack_require__(52),
2907
- isObject = __webpack_require__(22),
2908
- keys = __webpack_require__(14),
2909
- property = __webpack_require__(54);
2264
+ var baseCreateCallback = __webpack_require__(25),
2265
+ baseIsEqual = __webpack_require__(49),
2266
+ isObject = __webpack_require__(21),
2267
+ keys = __webpack_require__(13),
2268
+ property = __webpack_require__(51);
2910
2269
 
2911
2270
  /**
2912
2271
  * Produces a callback bound to an optional `thisArg`. If `func` is a property
@@ -2978,36 +2337,7 @@ return /******/ (function(modules) { // webpackBootstrap
2978
2337
 
2979
2338
 
2980
2339
  /***/ },
2981
- /* 40 */
2982
- /***/ function(module, exports, __webpack_require__) {
2983
-
2984
- if (typeof Object.create === 'function') {
2985
- // implementation from standard node.js 'util' module
2986
- module.exports = function inherits(ctor, superCtor) {
2987
- ctor.super_ = superCtor
2988
- ctor.prototype = Object.create(superCtor.prototype, {
2989
- constructor: {
2990
- value: ctor,
2991
- enumerable: false,
2992
- writable: true,
2993
- configurable: true
2994
- }
2995
- });
2996
- };
2997
- } else {
2998
- // old school shim for old browsers
2999
- module.exports = function inherits(ctor, superCtor) {
3000
- ctor.super_ = superCtor
3001
- var TempCtor = function () {}
3002
- TempCtor.prototype = superCtor.prototype
3003
- ctor.prototype = new TempCtor()
3004
- ctor.prototype.constructor = ctor
3005
- }
3006
- }
3007
-
3008
-
3009
- /***/ },
3010
- /* 41 */
2340
+ /* 38 */
3011
2341
  /***/ function(module, exports, __webpack_require__) {
3012
2342
 
3013
2343
  /**
@@ -3018,9 +2348,9 @@ return /******/ (function(modules) { // webpackBootstrap
3018
2348
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
3019
2349
  * Available under MIT license <http://lodash.com/license>
3020
2350
  */
3021
- var baseCreateCallback = __webpack_require__(27),
3022
- keys = __webpack_require__(14),
3023
- objectTypes = __webpack_require__(28);
2351
+ var baseCreateCallback = __webpack_require__(25),
2352
+ keys = __webpack_require__(13),
2353
+ objectTypes = __webpack_require__(26);
3024
2354
 
3025
2355
  /**
3026
2356
  * Assigns own enumerable properties of source object(s) to the destination
@@ -3083,7 +2413,7 @@ return /******/ (function(modules) { // webpackBootstrap
3083
2413
 
3084
2414
 
3085
2415
  /***/ },
3086
- /* 42 */
2416
+ /* 39 */
3087
2417
  /***/ function(module, exports, __webpack_require__) {
3088
2418
 
3089
2419
  /**
@@ -3127,7 +2457,7 @@ return /******/ (function(modules) { // webpackBootstrap
3127
2457
 
3128
2458
 
3129
2459
  /***/ },
3130
- /* 43 */
2460
+ /* 40 */
3131
2461
  /***/ function(module, exports, __webpack_require__) {
3132
2462
 
3133
2463
  /**
@@ -3138,8 +2468,8 @@ return /******/ (function(modules) { // webpackBootstrap
3138
2468
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
3139
2469
  * Available under MIT license <http://lodash.com/license>
3140
2470
  */
3141
- var createWrapper = __webpack_require__(55),
3142
- slice = __webpack_require__(42);
2471
+ var createWrapper = __webpack_require__(52),
2472
+ slice = __webpack_require__(39);
3143
2473
 
3144
2474
  /**
3145
2475
  * Creates a function that, when called, invokes `func` with the `this`
@@ -3173,7 +2503,7 @@ return /******/ (function(modules) { // webpackBootstrap
3173
2503
 
3174
2504
 
3175
2505
  /***/ },
3176
- /* 44 */
2506
+ /* 41 */
3177
2507
  /***/ function(module, exports, __webpack_require__) {
3178
2508
 
3179
2509
  /**
@@ -3184,8 +2514,8 @@ return /******/ (function(modules) { // webpackBootstrap
3184
2514
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
3185
2515
  * Available under MIT license <http://lodash.com/license>
3186
2516
  */
3187
- var isNative = __webpack_require__(29),
3188
- noop = __webpack_require__(56);
2517
+ var isNative = __webpack_require__(27),
2518
+ noop = __webpack_require__(53);
3189
2519
 
3190
2520
  /** Used as the property descriptor for `__bindData__` */
3191
2521
  var descriptor = {
@@ -3222,7 +2552,7 @@ return /******/ (function(modules) { // webpackBootstrap
3222
2552
 
3223
2553
 
3224
2554
  /***/ },
3225
- /* 45 */
2555
+ /* 42 */
3226
2556
  /***/ function(module, exports, __webpack_require__) {
3227
2557
 
3228
2558
  /* WEBPACK VAR INJECTION */(function(global) {/**
@@ -3233,7 +2563,7 @@ return /******/ (function(modules) { // webpackBootstrap
3233
2563
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
3234
2564
  * Available under MIT license <http://lodash.com/license>
3235
2565
  */
3236
- var isNative = __webpack_require__(29);
2566
+ var isNative = __webpack_require__(27);
3237
2567
 
3238
2568
  /** Used to detect functions containing a `this` reference */
3239
2569
  var reThis = /\bthis\b/;
@@ -3269,7 +2599,7 @@ return /******/ (function(modules) { // webpackBootstrap
3269
2599
  /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))
3270
2600
 
3271
2601
  /***/ },
3272
- /* 46 */
2602
+ /* 43 */
3273
2603
  /***/ function(module, exports, __webpack_require__) {
3274
2604
 
3275
2605
  /**
@@ -3288,7 +2618,7 @@ return /******/ (function(modules) { // webpackBootstrap
3288
2618
 
3289
2619
 
3290
2620
  /***/ },
3291
- /* 47 */
2621
+ /* 44 */
3292
2622
  /***/ function(module, exports, __webpack_require__) {
3293
2623
 
3294
2624
  /**
@@ -3299,7 +2629,7 @@ return /******/ (function(modules) { // webpackBootstrap
3299
2629
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
3300
2630
  * Available under MIT license <http://lodash.com/license>
3301
2631
  */
3302
- var keyPrefix = __webpack_require__(46);
2632
+ var keyPrefix = __webpack_require__(43);
3303
2633
 
3304
2634
  /**
3305
2635
  * Adds a given value to the corresponding cache object.
@@ -3332,7 +2662,7 @@ return /******/ (function(modules) { // webpackBootstrap
3332
2662
 
3333
2663
 
3334
2664
  /***/ },
3335
- /* 48 */
2665
+ /* 45 */
3336
2666
  /***/ function(module, exports, __webpack_require__) {
3337
2667
 
3338
2668
  /**
@@ -3343,7 +2673,7 @@ return /******/ (function(modules) { // webpackBootstrap
3343
2673
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
3344
2674
  * Available under MIT license <http://lodash.com/license>
3345
2675
  */
3346
- var objectPool = __webpack_require__(51);
2676
+ var objectPool = __webpack_require__(48);
3347
2677
 
3348
2678
  /**
3349
2679
  * Gets an object from the object pool or creates a new one if the pool is empty.
@@ -3373,7 +2703,7 @@ return /******/ (function(modules) { // webpackBootstrap
3373
2703
 
3374
2704
 
3375
2705
  /***/ },
3376
- /* 49 */
2706
+ /* 46 */
3377
2707
  /***/ function(module, exports, __webpack_require__) {
3378
2708
 
3379
2709
  /**
@@ -3392,7 +2722,7 @@ return /******/ (function(modules) { // webpackBootstrap
3392
2722
 
3393
2723
 
3394
2724
  /***/ },
3395
- /* 50 */
2725
+ /* 47 */
3396
2726
  /***/ function(module, exports, __webpack_require__) {
3397
2727
 
3398
2728
  /**
@@ -3411,7 +2741,7 @@ return /******/ (function(modules) { // webpackBootstrap
3411
2741
 
3412
2742
 
3413
2743
  /***/ },
3414
- /* 51 */
2744
+ /* 48 */
3415
2745
  /***/ function(module, exports, __webpack_require__) {
3416
2746
 
3417
2747
  /**
@@ -3430,7 +2760,7 @@ return /******/ (function(modules) { // webpackBootstrap
3430
2760
 
3431
2761
 
3432
2762
  /***/ },
3433
- /* 52 */
2763
+ /* 49 */
3434
2764
  /***/ function(module, exports, __webpack_require__) {
3435
2765
 
3436
2766
  /**
@@ -3441,11 +2771,11 @@ return /******/ (function(modules) { // webpackBootstrap
3441
2771
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
3442
2772
  * Available under MIT license <http://lodash.com/license>
3443
2773
  */
3444
- var forIn = __webpack_require__(57),
3445
- getArray = __webpack_require__(34),
3446
- isFunction = __webpack_require__(58),
3447
- objectTypes = __webpack_require__(28),
3448
- releaseArray = __webpack_require__(36);
2774
+ var forIn = __webpack_require__(54),
2775
+ getArray = __webpack_require__(32),
2776
+ isFunction = __webpack_require__(55),
2777
+ objectTypes = __webpack_require__(26),
2778
+ releaseArray = __webpack_require__(34);
3449
2779
 
3450
2780
  /** `Object#toString` result shortcuts */
3451
2781
  var argsClass = '[object Arguments]',
@@ -3645,7 +2975,7 @@ return /******/ (function(modules) { // webpackBootstrap
3645
2975
 
3646
2976
 
3647
2977
  /***/ },
3648
- /* 53 */
2978
+ /* 50 */
3649
2979
  /***/ function(module, exports, __webpack_require__) {
3650
2980
 
3651
2981
  /**
@@ -3679,7 +3009,7 @@ return /******/ (function(modules) { // webpackBootstrap
3679
3009
 
3680
3010
 
3681
3011
  /***/ },
3682
- /* 54 */
3012
+ /* 51 */
3683
3013
  /***/ function(module, exports, __webpack_require__) {
3684
3014
 
3685
3015
  /**
@@ -3725,7 +3055,7 @@ return /******/ (function(modules) { // webpackBootstrap
3725
3055
 
3726
3056
 
3727
3057
  /***/ },
3728
- /* 55 */
3058
+ /* 52 */
3729
3059
  /***/ function(module, exports, __webpack_require__) {
3730
3060
 
3731
3061
  /**
@@ -3736,10 +3066,10 @@ return /******/ (function(modules) { // webpackBootstrap
3736
3066
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
3737
3067
  * Available under MIT license <http://lodash.com/license>
3738
3068
  */
3739
- var baseBind = __webpack_require__(59),
3740
- baseCreateWrapper = __webpack_require__(60),
3741
- isFunction = __webpack_require__(58),
3742
- slice = __webpack_require__(42);
3069
+ var baseBind = __webpack_require__(56),
3070
+ baseCreateWrapper = __webpack_require__(57),
3071
+ isFunction = __webpack_require__(55),
3072
+ slice = __webpack_require__(39);
3743
3073
 
3744
3074
  /**
3745
3075
  * Used for `Array` method references.
@@ -3837,7 +3167,7 @@ return /******/ (function(modules) { // webpackBootstrap
3837
3167
 
3838
3168
 
3839
3169
  /***/ },
3840
- /* 56 */
3170
+ /* 53 */
3841
3171
  /***/ function(module, exports, __webpack_require__) {
3842
3172
 
3843
3173
  /**
@@ -3869,7 +3199,7 @@ return /******/ (function(modules) { // webpackBootstrap
3869
3199
 
3870
3200
 
3871
3201
  /***/ },
3872
- /* 57 */
3202
+ /* 54 */
3873
3203
  /***/ function(module, exports, __webpack_require__) {
3874
3204
 
3875
3205
  /**
@@ -3880,8 +3210,8 @@ return /******/ (function(modules) { // webpackBootstrap
3880
3210
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
3881
3211
  * Available under MIT license <http://lodash.com/license>
3882
3212
  */
3883
- var baseCreateCallback = __webpack_require__(27),
3884
- objectTypes = __webpack_require__(28);
3213
+ var baseCreateCallback = __webpack_require__(25),
3214
+ objectTypes = __webpack_require__(26);
3885
3215
 
3886
3216
  /**
3887
3217
  * Iterates over own and inherited enumerable properties of an object,
@@ -3929,7 +3259,7 @@ return /******/ (function(modules) { // webpackBootstrap
3929
3259
 
3930
3260
 
3931
3261
  /***/ },
3932
- /* 58 */
3262
+ /* 55 */
3933
3263
  /***/ function(module, exports, __webpack_require__) {
3934
3264
 
3935
3265
  /**
@@ -3962,7 +3292,7 @@ return /******/ (function(modules) { // webpackBootstrap
3962
3292
 
3963
3293
 
3964
3294
  /***/ },
3965
- /* 59 */
3295
+ /* 56 */
3966
3296
  /***/ function(module, exports, __webpack_require__) {
3967
3297
 
3968
3298
  /**
@@ -3973,10 +3303,10 @@ return /******/ (function(modules) { // webpackBootstrap
3973
3303
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
3974
3304
  * Available under MIT license <http://lodash.com/license>
3975
3305
  */
3976
- var baseCreate = __webpack_require__(61),
3977
- isObject = __webpack_require__(22),
3978
- setBindData = __webpack_require__(44),
3979
- slice = __webpack_require__(42);
3306
+ var baseCreate = __webpack_require__(58),
3307
+ isObject = __webpack_require__(21),
3308
+ setBindData = __webpack_require__(41),
3309
+ slice = __webpack_require__(39);
3980
3310
 
3981
3311
  /**
3982
3312
  * Used for `Array` method references.
@@ -4030,7 +3360,7 @@ return /******/ (function(modules) { // webpackBootstrap
4030
3360
 
4031
3361
 
4032
3362
  /***/ },
4033
- /* 60 */
3363
+ /* 57 */
4034
3364
  /***/ function(module, exports, __webpack_require__) {
4035
3365
 
4036
3366
  /**
@@ -4041,10 +3371,10 @@ return /******/ (function(modules) { // webpackBootstrap
4041
3371
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
4042
3372
  * Available under MIT license <http://lodash.com/license>
4043
3373
  */
4044
- var baseCreate = __webpack_require__(61),
4045
- isObject = __webpack_require__(22),
4046
- setBindData = __webpack_require__(44),
4047
- slice = __webpack_require__(42);
3374
+ var baseCreate = __webpack_require__(58),
3375
+ isObject = __webpack_require__(21),
3376
+ setBindData = __webpack_require__(41),
3377
+ slice = __webpack_require__(39);
4048
3378
 
4049
3379
  /**
4050
3380
  * Used for `Array` method references.
@@ -4114,7 +3444,7 @@ return /******/ (function(modules) { // webpackBootstrap
4114
3444
 
4115
3445
 
4116
3446
  /***/ },
4117
- /* 61 */
3447
+ /* 58 */
4118
3448
  /***/ function(module, exports, __webpack_require__) {
4119
3449
 
4120
3450
  /* WEBPACK VAR INJECTION */(function(global) {/**
@@ -4125,9 +3455,9 @@ return /******/ (function(modules) { // webpackBootstrap
4125
3455
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
4126
3456
  * Available under MIT license <http://lodash.com/license>
4127
3457
  */
4128
- var isNative = __webpack_require__(29),
4129
- isObject = __webpack_require__(22),
4130
- noop = __webpack_require__(56);
3458
+ var isNative = __webpack_require__(27),
3459
+ isObject = __webpack_require__(21),
3460
+ noop = __webpack_require__(53);
4131
3461
 
4132
3462
  /* Native method shortcuts for methods with the same name as other `lodash` methods */
4133
3463
  var nativeCreate = isNative(nativeCreate = Object.create) && nativeCreate;