fluxxor-rails 1.4.0 → 1.4.1

Sign up to get free protection for your applications and to get access to all the features.
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;