{"version":3,"sources":["webpack:///./src/js/components/Component.js","webpack:///./src/js/components/ProductsGallery.js","webpack:///./node_modules/lodash/isObjectLike.js","webpack:///./node_modules/lodash/_baseGetTag.js","webpack:///./node_modules/lodash/_root.js","webpack:///./node_modules/lodash/isObject.js","webpack:///./node_modules/lodash/_Symbol.js","webpack:///./node_modules/lodash/isSymbol.js","webpack:///./node_modules/lodash/isArray.js","webpack:///./node_modules/lodash/_freeGlobal.js","webpack:///./node_modules/lodash/isArrayLike.js","webpack:///./node_modules/lodash/_getNative.js","webpack:///./node_modules/lodash/_getRawTag.js","webpack:///./node_modules/lodash/_objectToString.js","webpack:///./node_modules/lodash/isLength.js","webpack:///./node_modules/lodash/isFunction.js","webpack:///(webpack)/buildin/module.js","webpack:///./node_modules/lodash/_isPrototype.js","webpack:///./node_modules/lodash/_overArg.js","webpack:///./node_modules/lodash/_baseUnary.js","webpack:///./node_modules/lodash/isArguments.js","webpack:///./node_modules/lodash/toNumber.js","webpack:///./node_modules/lodash/_toSource.js","webpack:///./node_modules/lodash/_baseTrim.js","webpack:///./node_modules/lodash/_trimmedEndIndex.js","webpack:///./node_modules/lodash/isBuffer.js","webpack:///./node_modules/lodash/isTypedArray.js","webpack:///./node_modules/lodash/debounce.js","webpack:///./node_modules/lodash/now.js","webpack:///./node_modules/lodash/_baseIsArguments.js","webpack:///./node_modules/lodash/_baseIsNative.js","webpack:///./node_modules/lodash/_isMasked.js","webpack:///./node_modules/lodash/_coreJsData.js","webpack:///./node_modules/lodash/_getValue.js","webpack:///./node_modules/lodash/stubFalse.js","webpack:///./node_modules/lodash/_baseIsTypedArray.js","webpack:///./node_modules/lodash/_nodeUtil.js","webpack:///./node_modules/lodash/_baseKeys.js","webpack:///./node_modules/lodash/_nativeKeys.js","webpack:///./node_modules/lodash/_Map.js","webpack:///./node_modules/lodash/_Set.js","webpack:///./src/js/helpers/jumpToTarget.js","webpack:///./node_modules/lodash/_getTag.js","webpack:///./node_modules/lodash/_DataView.js","webpack:///./node_modules/lodash/_Promise.js","webpack:///./node_modules/lodash/_WeakMap.js","webpack:///./node_modules/imagesloaded/imagesloaded.js","webpack:///./node_modules/ev-emitter/ev-emitter.js","webpack:///./node_modules/lodash/isEmpty.js"],"names":["domTree","WeakMap","configuration","Component","el","config","arguments","length","undefined","_classCallCheck","this","Error","$el","jQuery","$","set","hasOwnProperty","dom","setupDefaults","addListeners","get","elements","__webpack_require__","_index","_jumpToTarget","ProductsGallery","_this","_possibleConstructorReturn","__proto__","Object","getPrototypeOf","call","initMainSlick","checkHash","$slider","find","$sliderContainer","on","onAlignElements","bind","window","_debounce3","default","onResize","event","$slick","$prodSlider","slick","mediaAdjustments","_this2","infinite","accessibility","dots","slidesToShow","slidesToScroll","waitForAnimate","prevArrow","nextArrow","firstImg","_imagesloaded2","$dots","matchMedia","BREAKPOINT","tablet","matches","show","hide","location","hash","slideId","substr","$selectedSlide","first","slideIndex","data","closest","parseInt","jumpToTarget","module","exports","value","Symbol","getRawTag","objectToString","nullTag","undefinedTag","symToStringTag","toStringTag","freeGlobal","freeSelf","self","root","Function","type","baseGetTag","isObjectLike","symbolTag","isArray","Array","global","isFunction","isLength","baseIsNative","getValue","object","key","objectProto","prototype","nativeObjectToString","toString","isOwn","tag","unmasked","e","result","MAX_SAFE_INTEGER","isObject","asyncTag","funcTag","genTag","proxyTag","webpackPolyfill","deprecate","paths","children","defineProperty","enumerable","l","i","Ctor","constructor","func","transform","arg","baseIsArguments","propertyIsEnumerable","isArguments","baseTrim","isSymbol","NAN","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","other","valueOf","isBinary","test","slice","funcToString","trimmedEndIndex","reTrimStart","string","replace","reWhitespace","index","charAt","stubFalse","freeExports","nodeType","freeModule","Buffer","isBuffer","baseIsTypedArray","baseUnary","nodeUtil","nodeIsTypedArray","isTypedArray","now","toNumber","FUNC_ERROR_TEXT","nativeMax","Math","max","nativeMin","min","wait","options","lastArgs","lastThis","maxWait","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","TypeError","invokeFunc","time","args","thisArg","apply","shouldInvoke","timeSinceLastCall","timerExpired","trailingEdge","setTimeout","timeWaiting","remainingWait","debounced","isInvoking","leadingEdge","clearTimeout","cancel","flush","Date","argsTag","isMasked","toSource","reIsHostCtor","funcProto","reIsNative","RegExp","uid","coreJsData","maskSrcKey","exec","keys","IE_PROTO","typedArrayTags","freeProcess","process","types","require","binding","isPrototype","nativeKeys","push","overArg","Map","getNative","Set","target","$target","headerHeight","outerHeight","scrollDistance","offset","top","stop","animate","scrollTop","duration","easing","step","fx","newOffset","end","DataView","Promise","dataViewCtorString","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","getTag","ArrayBuffer","resolve","ctorString","factory","imagesLoaded","EvEmitter","console","ImagesLoaded","elem","onAlways","queryElem","obj","document","querySelectorAll","assign","getImages","jqDeferred","Deferred","check","error","create","images","forEach","addElementImages","elementNodeTypes","nodeName","addImage","background","addElementBackgroundImages","includes","childImgs","img","child","reURL","LoadingImage","Background","url","element","Image","style","getComputedStyle","backgroundImage","addBackground","loadingImage","progressedCount","hasAnyBroken","complete","onProgress","image","message","progress","once","isLoaded","emitEvent","notify","debug","log","eventName","isComplete","jqMethod","getIsImageComplete","confirm","naturalWidth","proxyImage","crossOrigin","addEventListener","src","currentSrc","parentNode","handleEvent","method","onload","unbindEvents","onerror","removeEventListener","makeJQueryPlugin","fn","promise","proto","listener","events","_events","listeners","onceEvents","_onceEvents","off","indexOf","splice","onceListeners","allOff","baseKeys","isArrayLike","mapTag","setTag","size"],"mappings":"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","file":"9.3fec2e2fbdb1f4e6f444.js","sourcesContent":["const domTree = new WeakMap();\r\nconst configuration = new WeakMap();\r\n\r\n/**\r\n * Component is a class that should be extended for every component that's being made. It\r\n * is a helper class to keep the code uniform.\r\n *\r\n * __PLEASE NOTE__: This is only to be extended, not instantiated.\r\n *\r\n * @example\r\n * import Component from 'component';\r\n *\r\n * class Foo extends Component {\r\n *   construction(el){\r\n *     super(el);\r\n *   }\r\n *\r\n *   setupDefaults(){\r\n *     // ...defaults go here\r\n *   }\r\n *\r\n *   addListeners(){\r\n *     // ...listeners go here\r\n *   }\r\n * }\r\n *\r\n * // Create a new Foo component\r\n * new Foo('.foo');\r\n */\r\nclass Component {\r\n  /**\r\n   * Component constructor - see {@link config} on how to pass in additional configuration to the constructor\r\n   *\r\n   * @param {string|Object} el - Main DOM element, you can pass a string such as `'.foo'` __or__ a jQuery object such as `$('.foo')`\r\n   * @param {Object} [config={ }] - Additional component configuration; reachable with `this.config`\r\n   */\r\n  constructor(el, config = {}){\r\n    if (typeof el === 'undefined') {\r\n      throw new Error('You must provide an element as a String type or a jQuery object type');\r\n    }\r\n\r\n    /**\r\n     * Main class element, this will be a jQuery instance\r\n     * This can be reachable at any time in your superclass with `this.$el`\r\n     *\r\n     * @type {Object}\r\n     */\r\n    this.$el = el instanceof jQuery ? el : $(el);\r\n\r\n    if (this.$el.length === 0) return;\r\n\r\n    domTree.set(this, {});\r\n    configuration.set(this, config);\r\n\r\n    if (this.config.hasOwnProperty('dom')) {\r\n      this.dom = this.config.dom;\r\n    }\r\n\r\n    this.setupDefaults();\r\n    this.addListeners();\r\n  }\r\n\r\n  /**\r\n   * This method is used for override;\r\n   * It's called directly after the element and configuration have been set up\r\n   * @abstract\r\n   */\r\n  setupDefaults(){}\r\n\r\n  /**\r\n   * This method is used for override;\r\n   * It's called directly after `setupDefaults()`, so everything is ready and setup at this point.\r\n   * @abstract\r\n   */\r\n  addListeners(){}\r\n\r\n  /**\r\n   * Get component configuration\r\n   *\r\n   * @example\r\n   * class Foo extends Component {\r\n   *   construction(el, config){\r\n   *     super(el, config);\r\n   *   }\r\n   *\r\n   *   setupDefaults(){\r\n   *     console.log(this.config.name); // Outputs \"Foo\"\r\n   *   }\r\n   * }\r\n   *\r\n   * // Create a new Foo component with some configuration\r\n   * new Foo('.foo', {\r\n   *   name: 'Foo'\r\n   * });\r\n   *\r\n   * @type {Object}\r\n   */\r\n  get config(){\r\n    return configuration.get(this);\r\n  }\r\n\r\n  /**\r\n   * Set DOM object\r\n   *\r\n   * @example\r\n   * class Foo extends Component {\r\n   *   construction(el){\r\n   *     super(el);\r\n   *   }\r\n   *\r\n   *   setupDefaults(){\r\n   *     this.dom = {\r\n   *       $container: this.$el.find('.container')\r\n   *     }\r\n   *   }\r\n   *\r\n   *   addListeners(){\r\n   *     //DOM object is available\r\n   *     console.log(this.dom.$container);\r\n   *   }\r\n   * }\r\n   *\r\n   * // Create a new Foo component\r\n   * new Foo('.foo');\r\n   *\r\n   * @type {Object}\r\n   */\r\n  set dom(elements){\r\n    elements = {\r\n      ...this.dom,\r\n      ...elements\r\n    };\r\n\r\n    domTree.set(this, elements);\r\n  }\r\n\r\n  /**\r\n   * Get DOM object\r\n   *\r\n   * @example\r\n   * this.dom\r\n   *\r\n   * @type {Object}\r\n   */\r\n  get dom(){\r\n    return domTree.get(this);\r\n  }\r\n}\r\n\r\nexport default Component;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/components/Component.js","import Component from 'component';\r\nimport imagesLoaded from 'imagesloaded';\r\nimport _isEmpty from 'lodash/isEmpty';\r\nimport _debounce from 'lodash/debounce';\r\nimport { BREAKPOINT } from '../constants/index';\r\nimport { jumpToTarget } from '../helpers/jumpToTarget';\r\n\r\nclass ProductsGallery extends Component {\r\n  constructor(el) {\r\n    super(el);\r\n    this.initMainSlick();\r\n    this.checkHash();\r\n  }\r\n\r\n  setupDefaults() {\r\n    this.dom = {\r\n      $slider: this.$el.find('.js-prod-gallery'),\r\n      $sliderContainer: this.$el.find('.prod-gallery__inner')\r\n    };\r\n  }\r\n\r\n  addListeners() {\r\n    this.dom.$slider.on(\r\n      'init reinit breakpoint afterChange',\r\n      ::this.onAlignElements\r\n    );\r\n    $(window).on('resize', _debounce(::this.onAlignElements, 250));\r\n    $(window).on('resize', ::this.onResize);\r\n  }\r\n\r\n  onAlignElements(event, $slick) {\r\n    let $prodSlider;\r\n\r\n    if (typeof $slick === 'undefined') {\r\n      $prodSlider = this.dom.$slider;\r\n      $slick = $prodSlider.slick('getSlick');\r\n    } else {\r\n      $prodSlider = $slick.$slider;\r\n    }\r\n\r\n    this.mediaAdjustments($prodSlider);\r\n  }\r\n\r\n  onResize() {\r\n    this.dom.$slider.slick('setPosition');\r\n  }\r\n  initMainSlick() {\r\n    const _that = this;\r\n    //Main Carousel\r\n    this.dom.$slider.slick({\r\n      infinite: true,\r\n      accessibility: true,\r\n      dots: true,\r\n      slidesToShow: 1,\r\n      slidesToScroll: 1,\r\n      waitForAnimate: false,\r\n      prevArrow:\r\n        '<img class=\"slick-prev slick-arrow\" src=\"/images/contentManaged/icons/icon-arrow-left-shadow.svg\" alt=\"prev slide\">',\r\n      nextArrow:\r\n        '<img class=\"slick-next slick-arrow\" src=\"/images/contentManaged/icons/icon-arrow-right-shadow.svg\" alt=\"next slide\">'\r\n    });\r\n    // Because Safari does not work reliably with the slick LazyLoaded event, we are using afterChange.\r\n    // But, afterChange does not fire until a slide changes causing the first slide arrows and social icons to be misaligned.\r\n    // The below code will quickly change to the next slide and then back to the first on page load.\r\n    // This should be unnoticable to the user.\r\n    const firstImg = $(this.dom.$slider).find(\r\n      '.prod-gallery__slide-img-wrapper'\r\n    )[1];\r\n    const imgLoad = imagesLoaded(firstImg, () => {\r\n      this.mediaAdjustments(this.dom.$slider);\r\n      this.dom.$slider.slick('slickNext').slick('slickPrev');\r\n      this.mediaAdjustments(this.dom.$slider);\r\n    });\r\n  }\r\n  mediaAdjustments($prodSlider) {\r\n    const $dots = $prodSlider.find('.slick-dots');\r\n    if (\r\n      !window.matchMedia(`screen and (min-width: ${BREAKPOINT.tablet}px)`)\r\n        .matches\r\n    ) {\r\n      $dots.hide();\r\n    } else {\r\n      $dots.show();\r\n    }\r\n  }\r\n  checkHash() {\r\n    if (window.location.hash) {\r\n      const slideId = window.location.hash.substr(1);\r\n      const $selectedSlide = this.$el.find(`[data-guid=\"${slideId}\"]`).first();\r\n      const slideIndex = $selectedSlide.data('slick-index');\r\n\r\n      if ($selectedSlide.length > 0) {\r\n        const $parentSlider = $selectedSlide.closest('.slick-slider');\r\n        $parentSlider.slick('slickGoTo', parseInt(slideIndex), true);\r\n        jumpToTarget(this.dom.$slider);\r\n      }\r\n    }\r\n  }\r\n}\r\n\r\nexport default ProductsGallery;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/components/ProductsGallery.js","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n  return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/isObjectLike.js\n// module id = 387\n// module chunks = 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16","var Symbol = require('./_Symbol'),\n    getRawTag = require('./_getRawTag'),\n    objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n    undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n  if (value == null) {\n    return value === undefined ? undefinedTag : nullTag;\n  }\n  return (symToStringTag && symToStringTag in Object(value))\n    ? getRawTag(value)\n    : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_baseGetTag.js\n// module id = 388\n// module chunks = 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_root.js\n// module id = 389\n// module chunks = 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n  var type = typeof value;\n  return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/isObject.js\n// module id = 390\n// module chunks = 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_Symbol.js\n// module id = 391\n// module chunks = 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16","var baseGetTag = require('./_baseGetTag'),\n    isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n  return typeof value == 'symbol' ||\n    (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/isSymbol.js\n// module id = 393\n// module chunks = 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/isArray.js\n// module id = 395\n// module chunks = 0 1 2 3 4 5 6 7 8 9","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_freeGlobal.js\n// module id = 397\n// module chunks = 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16","var isFunction = require('./isFunction'),\n    isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n  return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/isArrayLike.js\n// module id = 398\n// module chunks = 0 1 2 3 4 5 6 7 8 9","var baseIsNative = require('./_baseIsNative'),\n    getValue = require('./_getValue');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n  var value = getValue(object, key);\n  return baseIsNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_getNative.js\n// module id = 400\n// module chunks = 0 1 2 3 4 5 6 7 8 9","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n  var isOwn = hasOwnProperty.call(value, symToStringTag),\n      tag = value[symToStringTag];\n\n  try {\n    value[symToStringTag] = undefined;\n    var unmasked = true;\n  } catch (e) {}\n\n  var result = nativeObjectToString.call(value);\n  if (unmasked) {\n    if (isOwn) {\n      value[symToStringTag] = tag;\n    } else {\n      delete value[symToStringTag];\n    }\n  }\n  return result;\n}\n\nmodule.exports = getRawTag;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_getRawTag.js\n// module id = 401\n// module chunks = 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n  return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_objectToString.js\n// module id = 402\n// module chunks = 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n  return typeof value == 'number' &&\n    value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/isLength.js\n// module id = 405\n// module chunks = 0 1 2 3 4 5 6 7 8 9","var baseGetTag = require('./_baseGetTag'),\n    isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n    funcTag = '[object Function]',\n    genTag = '[object GeneratorFunction]',\n    proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n  if (!isObject(value)) {\n    return false;\n  }\n  // The use of `Object#toString` avoids issues with the `typeof` operator\n  // in Safari 9 which returns 'object' for typed arrays and other constructors.\n  var tag = baseGetTag(value);\n  return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nmodule.exports = isFunction;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/isFunction.js\n// module id = 407\n// module chunks = 0 1 2 3 4 5 6 7 8 9","module.exports = function(module) {\n\tif(!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif(!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/module.js\n// module id = 409\n// module chunks = 0 1 2 3 4 5 6 7 8 9","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n  var Ctor = value && value.constructor,\n      proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n  return value === proto;\n}\n\nmodule.exports = isPrototype;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_isPrototype.js\n// module id = 410\n// module chunks = 0 1 2 3 4 5 6 7 8 9","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n  return function(arg) {\n    return func(transform(arg));\n  };\n}\n\nmodule.exports = overArg;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_overArg.js\n// module id = 412\n// module chunks = 0 1 2 3 4 5 6 7 8 9","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n  return function(value) {\n    return func(value);\n  };\n}\n\nmodule.exports = baseUnary;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_baseUnary.js\n// module id = 419\n// module chunks = 0 1 2 3 4 5 6 7 8 9","var baseIsArguments = require('./_baseIsArguments'),\n    isObjectLike = require('./isObjectLike');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n *  else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n  return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n    !propertyIsEnumerable.call(value, 'callee');\n};\n\nmodule.exports = isArguments;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/isArguments.js\n// module id = 422\n// module chunks = 0 1 2 3 4 5 6 7 8 9","var baseTrim = require('./_baseTrim'),\n    isObject = require('./isObject'),\n    isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n  if (typeof value == 'number') {\n    return value;\n  }\n  if (isSymbol(value)) {\n    return NAN;\n  }\n  if (isObject(value)) {\n    var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n    value = isObject(other) ? (other + '') : other;\n  }\n  if (typeof value != 'string') {\n    return value === 0 ? value : +value;\n  }\n  value = baseTrim(value);\n  var isBinary = reIsBinary.test(value);\n  return (isBinary || reIsOctal.test(value))\n    ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n    : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = toNumber;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/toNumber.js\n// module id = 423\n// module chunks = 0 1 2 9 10 11 12 13 14 15 16","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n  if (func != null) {\n    try {\n      return funcToString.call(func);\n    } catch (e) {}\n    try {\n      return (func + '');\n    } catch (e) {}\n  }\n  return '';\n}\n\nmodule.exports = toSource;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_toSource.js\n// module id = 424\n// module chunks = 0 1 2 3 4 5 6 7 8 9","var trimmedEndIndex = require('./_trimmedEndIndex');\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n  return string\n    ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n    : string;\n}\n\nmodule.exports = baseTrim;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_baseTrim.js\n// module id = 425\n// module chunks = 0 1 2 9 10 11 12 13 14 15 16","/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n  var index = string.length;\n\n  while (index-- && reWhitespace.test(string.charAt(index))) {}\n  return index;\n}\n\nmodule.exports = trimmedEndIndex;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_trimmedEndIndex.js\n// module id = 426\n// module chunks = 0 1 2 9 10 11 12 13 14 15 16","var root = require('./_root'),\n    stubFalse = require('./stubFalse');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nmodule.exports = isBuffer;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/isBuffer.js\n// module id = 429\n// module chunks = 0 1 2 3 4 5 6 7 8 9","var baseIsTypedArray = require('./_baseIsTypedArray'),\n    baseUnary = require('./_baseUnary'),\n    nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nmodule.exports = isTypedArray;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/isTypedArray.js\n// module id = 430\n// module chunks = 0 1 2 3 4 5 6 7 8 9","var isObject = require('./isObject'),\n    now = require('./now'),\n    toNumber = require('./toNumber');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n    nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n *  Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n *  The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n *  Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n *   'leading': true,\n *   'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n  var lastArgs,\n      lastThis,\n      maxWait,\n      result,\n      timerId,\n      lastCallTime,\n      lastInvokeTime = 0,\n      leading = false,\n      maxing = false,\n      trailing = true;\n\n  if (typeof func != 'function') {\n    throw new TypeError(FUNC_ERROR_TEXT);\n  }\n  wait = toNumber(wait) || 0;\n  if (isObject(options)) {\n    leading = !!options.leading;\n    maxing = 'maxWait' in options;\n    maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n    trailing = 'trailing' in options ? !!options.trailing : trailing;\n  }\n\n  function invokeFunc(time) {\n    var args = lastArgs,\n        thisArg = lastThis;\n\n    lastArgs = lastThis = undefined;\n    lastInvokeTime = time;\n    result = func.apply(thisArg, args);\n    return result;\n  }\n\n  function leadingEdge(time) {\n    // Reset any `maxWait` timer.\n    lastInvokeTime = time;\n    // Start the timer for the trailing edge.\n    timerId = setTimeout(timerExpired, wait);\n    // Invoke the leading edge.\n    return leading ? invokeFunc(time) : result;\n  }\n\n  function remainingWait(time) {\n    var timeSinceLastCall = time - lastCallTime,\n        timeSinceLastInvoke = time - lastInvokeTime,\n        timeWaiting = wait - timeSinceLastCall;\n\n    return maxing\n      ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n      : timeWaiting;\n  }\n\n  function shouldInvoke(time) {\n    var timeSinceLastCall = time - lastCallTime,\n        timeSinceLastInvoke = time - lastInvokeTime;\n\n    // Either this is the first call, activity has stopped and we're at the\n    // trailing edge, the system time has gone backwards and we're treating\n    // it as the trailing edge, or we've hit the `maxWait` limit.\n    return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n      (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n  }\n\n  function timerExpired() {\n    var time = now();\n    if (shouldInvoke(time)) {\n      return trailingEdge(time);\n    }\n    // Restart the timer.\n    timerId = setTimeout(timerExpired, remainingWait(time));\n  }\n\n  function trailingEdge(time) {\n    timerId = undefined;\n\n    // Only invoke if we have `lastArgs` which means `func` has been\n    // debounced at least once.\n    if (trailing && lastArgs) {\n      return invokeFunc(time);\n    }\n    lastArgs = lastThis = undefined;\n    return result;\n  }\n\n  function cancel() {\n    if (timerId !== undefined) {\n      clearTimeout(timerId);\n    }\n    lastInvokeTime = 0;\n    lastArgs = lastCallTime = lastThis = timerId = undefined;\n  }\n\n  function flush() {\n    return timerId === undefined ? result : trailingEdge(now());\n  }\n\n  function debounced() {\n    var time = now(),\n        isInvoking = shouldInvoke(time);\n\n    lastArgs = arguments;\n    lastThis = this;\n    lastCallTime = time;\n\n    if (isInvoking) {\n      if (timerId === undefined) {\n        return leadingEdge(lastCallTime);\n      }\n      if (maxing) {\n        // Handle invocations in a tight loop.\n        clearTimeout(timerId);\n        timerId = setTimeout(timerExpired, wait);\n        return invokeFunc(lastCallTime);\n      }\n    }\n    if (timerId === undefined) {\n      timerId = setTimeout(timerExpired, wait);\n    }\n    return result;\n  }\n  debounced.cancel = cancel;\n  debounced.flush = flush;\n  return debounced;\n}\n\nmodule.exports = debounce;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/debounce.js\n// module id = 434\n// module chunks = 1 2 9 10 11 12 13 14 15 16","var root = require('./_root');\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n *   console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n  return root.Date.now();\n};\n\nmodule.exports = now;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/now.js\n// module id = 435\n// module chunks = 1 2 9 10 11 12 13 14 15 16","var baseGetTag = require('./_baseGetTag'),\n    isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n  return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nmodule.exports = baseIsArguments;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_baseIsArguments.js\n// module id = 436\n// module chunks = 0 1 2 3 4 5 6 7 8 9","var isFunction = require('./isFunction'),\n    isMasked = require('./_isMasked'),\n    isObject = require('./isObject'),\n    toSource = require('./_toSource');\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n    objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n  funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n  .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n *  else `false`.\n */\nfunction baseIsNative(value) {\n  if (!isObject(value) || isMasked(value)) {\n    return false;\n  }\n  var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n  return pattern.test(toSource(value));\n}\n\nmodule.exports = baseIsNative;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_baseIsNative.js\n// module id = 437\n// module chunks = 0 1 2 3 4 5 6 7 8 9","var coreJsData = require('./_coreJsData');\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n  var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n  return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n  return !!maskSrcKey && (maskSrcKey in func);\n}\n\nmodule.exports = isMasked;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_isMasked.js\n// module id = 438\n// module chunks = 0 1 2 3 4 5 6 7 8 9","var root = require('./_root');\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nmodule.exports = coreJsData;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_coreJsData.js\n// module id = 439\n// module chunks = 0 1 2 3 4 5 6 7 8 9","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n  return object == null ? undefined : object[key];\n}\n\nmodule.exports = getValue;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_getValue.js\n// module id = 440\n// module chunks = 0 1 2 3 4 5 6 7 8 9","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n  return false;\n}\n\nmodule.exports = stubFalse;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/stubFalse.js\n// module id = 444\n// module chunks = 0 1 2 3 4 5 6 7 8 9","var baseGetTag = require('./_baseGetTag'),\n    isLength = require('./isLength'),\n    isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n    arrayTag = '[object Array]',\n    boolTag = '[object Boolean]',\n    dateTag = '[object Date]',\n    errorTag = '[object Error]',\n    funcTag = '[object Function]',\n    mapTag = '[object Map]',\n    numberTag = '[object Number]',\n    objectTag = '[object Object]',\n    regexpTag = '[object RegExp]',\n    setTag = '[object Set]',\n    stringTag = '[object String]',\n    weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n    dataViewTag = '[object DataView]',\n    float32Tag = '[object Float32Array]',\n    float64Tag = '[object Float64Array]',\n    int8Tag = '[object Int8Array]',\n    int16Tag = '[object Int16Array]',\n    int32Tag = '[object Int32Array]',\n    uint8Tag = '[object Uint8Array]',\n    uint8ClampedTag = '[object Uint8ClampedArray]',\n    uint16Tag = '[object Uint16Array]',\n    uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n  return isObjectLike(value) &&\n    isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nmodule.exports = baseIsTypedArray;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_baseIsTypedArray.js\n// module id = 445\n// module chunks = 0 1 2 3 4 5 6 7 8 9","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n  try {\n    // Use `util.types` for Node.js 10+.\n    var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n    if (types) {\n      return types;\n    }\n\n    // Legacy `process.binding('util')` for Node.js < 10.\n    return freeProcess && freeProcess.binding && freeProcess.binding('util');\n  } catch (e) {}\n}());\n\nmodule.exports = nodeUtil;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_nodeUtil.js\n// module id = 446\n// module chunks = 0 1 2 3 4 5 6 7 8 9","var isPrototype = require('./_isPrototype'),\n    nativeKeys = require('./_nativeKeys');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n  if (!isPrototype(object)) {\n    return nativeKeys(object);\n  }\n  var result = [];\n  for (var key in Object(object)) {\n    if (hasOwnProperty.call(object, key) && key != 'constructor') {\n      result.push(key);\n    }\n  }\n  return result;\n}\n\nmodule.exports = baseKeys;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_baseKeys.js\n// module id = 447\n// module chunks = 0 1 2 3 4 5 6 7 8 9","var overArg = require('./_overArg');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nmodule.exports = nativeKeys;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_nativeKeys.js\n// module id = 448\n// module chunks = 0 1 2 3 4 5 6 7 8 9","var getNative = require('./_getNative'),\n    root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nmodule.exports = Map;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_Map.js\n// module id = 479\n// module chunks = 0 1 9","var getNative = require('./_getNative'),\n    root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nmodule.exports = Set;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_Set.js\n// module id = 494\n// module chunks = 0 1 9","export const jumpToTarget = target => {\r\n  const $target = $(target);\r\n  const headerHeight = $('#siteHeader').outerHeight();\r\n  const scrollDistance = $target.offset().top - headerHeight;\r\n  // console.log('scrollDistance', scrollDistance);\r\n  $('html, body').stop().animate(\r\n    { scrollTop: scrollDistance },\r\n    {\r\n      duration: 900,\r\n      easing: 'swing',\r\n      step: (now, fx) => {\r\n        // Where is the target now located on the page?\r\n        // i.e. its location will change as images etc. are lazy loaded\r\n        const newOffset = $target.offset().top - headerHeight;\r\n        if (fx.end !== newOffset) {\r\n          fx.end = newOffset;\r\n        }\r\n      }\r\n    }\r\n  );\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/helpers/jumpToTarget.js","var DataView = require('./_DataView'),\n    Map = require('./_Map'),\n    Promise = require('./_Promise'),\n    Set = require('./_Set'),\n    WeakMap = require('./_WeakMap'),\n    baseGetTag = require('./_baseGetTag'),\n    toSource = require('./_toSource');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n    objectTag = '[object Object]',\n    promiseTag = '[object Promise]',\n    setTag = '[object Set]',\n    weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n    mapCtorString = toSource(Map),\n    promiseCtorString = toSource(Promise),\n    setCtorString = toSource(Set),\n    weakMapCtorString = toSource(WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n    (Map && getTag(new Map) != mapTag) ||\n    (Promise && getTag(Promise.resolve()) != promiseTag) ||\n    (Set && getTag(new Set) != setTag) ||\n    (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n  getTag = function(value) {\n    var result = baseGetTag(value),\n        Ctor = result == objectTag ? value.constructor : undefined,\n        ctorString = Ctor ? toSource(Ctor) : '';\n\n    if (ctorString) {\n      switch (ctorString) {\n        case dataViewCtorString: return dataViewTag;\n        case mapCtorString: return mapTag;\n        case promiseCtorString: return promiseTag;\n        case setCtorString: return setTag;\n        case weakMapCtorString: return weakMapTag;\n      }\n    }\n    return result;\n  };\n}\n\nmodule.exports = getTag;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_getTag.js\n// module id = 510\n// module chunks = 0 1 9","var getNative = require('./_getNative'),\n    root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nmodule.exports = DataView;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_DataView.js\n// module id = 511\n// module chunks = 0 1 9","var getNative = require('./_getNative'),\n    root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nmodule.exports = Promise;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_Promise.js\n// module id = 512\n// module chunks = 0 1 9","var getNative = require('./_getNative'),\n    root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nmodule.exports = WeakMap;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_WeakMap.js\n// module id = 513\n// module chunks = 0 1 9","/*!\n * imagesLoaded v5.0.0\n * JavaScript is all like \"You images are done yet or what?\"\n * MIT License\n */\n\n( function( window, factory ) {\n  // universal module definition\n  if ( typeof module == 'object' && module.exports ) {\n    // CommonJS\n    module.exports = factory( window, require('ev-emitter') );\n  } else {\n    // browser global\n    window.imagesLoaded = factory( window, window.EvEmitter );\n  }\n\n} )( typeof window !== 'undefined' ? window : this,\n    function factory( window, EvEmitter ) {\n\nlet $ = window.jQuery;\nlet console = window.console;\n\n// -------------------------- helpers -------------------------- //\n\n// turn element or nodeList into an array\nfunction makeArray( obj ) {\n  // use object if already an array\n  if ( Array.isArray( obj ) ) return obj;\n\n  let isArrayLike = typeof obj == 'object' && typeof obj.length == 'number';\n  // convert nodeList to array\n  if ( isArrayLike ) return [ ...obj ];\n\n  // array of single index\n  return [ obj ];\n}\n\n// -------------------------- imagesLoaded -------------------------- //\n\n/**\n * @param {[Array, Element, NodeList, String]} elem\n * @param {[Object, Function]} options - if function, use as callback\n * @param {Function} onAlways - callback function\n * @returns {ImagesLoaded}\n */\nfunction ImagesLoaded( elem, options, onAlways ) {\n  // coerce ImagesLoaded() without new, to be new ImagesLoaded()\n  if ( !( this instanceof ImagesLoaded ) ) {\n    return new ImagesLoaded( elem, options, onAlways );\n  }\n  // use elem as selector string\n  let queryElem = elem;\n  if ( typeof elem == 'string' ) {\n    queryElem = document.querySelectorAll( elem );\n  }\n  // bail if bad element\n  if ( !queryElem ) {\n    console.error(`Bad element for imagesLoaded ${queryElem || elem}`);\n    return;\n  }\n\n  this.elements = makeArray( queryElem );\n  this.options = {};\n  // shift arguments if no options set\n  if ( typeof options == 'function' ) {\n    onAlways = options;\n  } else {\n    Object.assign( this.options, options );\n  }\n\n  if ( onAlways ) this.on( 'always', onAlways );\n\n  this.getImages();\n  // add jQuery Deferred object\n  if ( $ ) this.jqDeferred = new $.Deferred();\n\n  // HACK check async to allow time to bind listeners\n  setTimeout( this.check.bind( this ) );\n}\n\nImagesLoaded.prototype = Object.create( EvEmitter.prototype );\n\nImagesLoaded.prototype.getImages = function() {\n  this.images = [];\n\n  // filter & find items if we have an item selector\n  this.elements.forEach( this.addElementImages, this );\n};\n\nconst elementNodeTypes = [ 1, 9, 11 ];\n\n/**\n * @param {Node} elem\n */\nImagesLoaded.prototype.addElementImages = function( elem ) {\n  // filter siblings\n  if ( elem.nodeName === 'IMG' ) {\n    this.addImage( elem );\n  }\n  // get background image on element\n  if ( this.options.background === true ) {\n    this.addElementBackgroundImages( elem );\n  }\n\n  // find children\n  // no non-element nodes, #143\n  let { nodeType } = elem;\n  if ( !nodeType || !elementNodeTypes.includes( nodeType ) ) return;\n\n  let childImgs = elem.querySelectorAll('img');\n  // concat childElems to filterFound array\n  for ( let img of childImgs ) {\n    this.addImage( img );\n  }\n\n  // get child background images\n  if ( typeof this.options.background == 'string' ) {\n    let children = elem.querySelectorAll( this.options.background );\n    for ( let child of children ) {\n      this.addElementBackgroundImages( child );\n    }\n  }\n};\n\nconst reURL = /url\\((['\"])?(.*?)\\1\\)/gi;\n\nImagesLoaded.prototype.addElementBackgroundImages = function( elem ) {\n  let style = getComputedStyle( elem );\n  // Firefox returns null if in a hidden iframe https://bugzil.la/548397\n  if ( !style ) return;\n\n  // get url inside url(\"...\")\n  let matches = reURL.exec( style.backgroundImage );\n  while ( matches !== null ) {\n    let url = matches && matches[2];\n    if ( url ) {\n      this.addBackground( url, elem );\n    }\n    matches = reURL.exec( style.backgroundImage );\n  }\n};\n\n/**\n * @param {Image} img\n */\nImagesLoaded.prototype.addImage = function( img ) {\n  let loadingImage = new LoadingImage( img );\n  this.images.push( loadingImage );\n};\n\nImagesLoaded.prototype.addBackground = function( url, elem ) {\n  let background = new Background( url, elem );\n  this.images.push( background );\n};\n\nImagesLoaded.prototype.check = function() {\n  this.progressedCount = 0;\n  this.hasAnyBroken = false;\n  // complete if no images\n  if ( !this.images.length ) {\n    this.complete();\n    return;\n  }\n\n  /* eslint-disable-next-line func-style */\n  let onProgress = ( image, elem, message ) => {\n    // HACK - Chrome triggers event before object properties have changed. #83\n    setTimeout( () => {\n      this.progress( image, elem, message );\n    } );\n  };\n\n  this.images.forEach( function( loadingImage ) {\n    loadingImage.once( 'progress', onProgress );\n    loadingImage.check();\n  } );\n};\n\nImagesLoaded.prototype.progress = function( image, elem, message ) {\n  this.progressedCount++;\n  this.hasAnyBroken = this.hasAnyBroken || !image.isLoaded;\n  // progress event\n  this.emitEvent( 'progress', [ this, image, elem ] );\n  if ( this.jqDeferred && this.jqDeferred.notify ) {\n    this.jqDeferred.notify( this, image );\n  }\n  // check if completed\n  if ( this.progressedCount === this.images.length ) {\n    this.complete();\n  }\n\n  if ( this.options.debug && console ) {\n    console.log( `progress: ${message}`, image, elem );\n  }\n};\n\nImagesLoaded.prototype.complete = function() {\n  let eventName = this.hasAnyBroken ? 'fail' : 'done';\n  this.isComplete = true;\n  this.emitEvent( eventName, [ this ] );\n  this.emitEvent( 'always', [ this ] );\n  if ( this.jqDeferred ) {\n    let jqMethod = this.hasAnyBroken ? 'reject' : 'resolve';\n    this.jqDeferred[ jqMethod ]( this );\n  }\n};\n\n// --------------------------  -------------------------- //\n\nfunction LoadingImage( img ) {\n  this.img = img;\n}\n\nLoadingImage.prototype = Object.create( EvEmitter.prototype );\n\nLoadingImage.prototype.check = function() {\n  // If complete is true and browser supports natural sizes,\n  // try to check for image status manually.\n  let isComplete = this.getIsImageComplete();\n  if ( isComplete ) {\n    // report based on naturalWidth\n    this.confirm( this.img.naturalWidth !== 0, 'naturalWidth' );\n    return;\n  }\n\n  // If none of the checks above matched, simulate loading on detached element.\n  this.proxyImage = new Image();\n  // add crossOrigin attribute. #204\n  if ( this.img.crossOrigin ) {\n    this.proxyImage.crossOrigin = this.img.crossOrigin;\n  }\n  this.proxyImage.addEventListener( 'load', this );\n  this.proxyImage.addEventListener( 'error', this );\n  // bind to image as well for Firefox. #191\n  this.img.addEventListener( 'load', this );\n  this.img.addEventListener( 'error', this );\n  this.proxyImage.src = this.img.currentSrc || this.img.src;\n};\n\nLoadingImage.prototype.getIsImageComplete = function() {\n  // check for non-zero, non-undefined naturalWidth\n  // fixes Safari+InfiniteScroll+Masonry bug infinite-scroll#671\n  return this.img.complete && this.img.naturalWidth;\n};\n\nLoadingImage.prototype.confirm = function( isLoaded, message ) {\n  this.isLoaded = isLoaded;\n  let { parentNode } = this.img;\n  // emit progress with parent <picture> or self <img>\n  let elem = parentNode.nodeName === 'PICTURE' ? parentNode : this.img;\n  this.emitEvent( 'progress', [ this, elem, message ] );\n};\n\n// ----- events ----- //\n\n// trigger specified handler for event type\nLoadingImage.prototype.handleEvent = function( event ) {\n  let method = 'on' + event.type;\n  if ( this[ method ] ) {\n    this[ method ]( event );\n  }\n};\n\nLoadingImage.prototype.onload = function() {\n  this.confirm( true, 'onload' );\n  this.unbindEvents();\n};\n\nLoadingImage.prototype.onerror = function() {\n  this.confirm( false, 'onerror' );\n  this.unbindEvents();\n};\n\nLoadingImage.prototype.unbindEvents = function() {\n  this.proxyImage.removeEventListener( 'load', this );\n  this.proxyImage.removeEventListener( 'error', this );\n  this.img.removeEventListener( 'load', this );\n  this.img.removeEventListener( 'error', this );\n};\n\n// -------------------------- Background -------------------------- //\n\nfunction Background( url, element ) {\n  this.url = url;\n  this.element = element;\n  this.img = new Image();\n}\n\n// inherit LoadingImage prototype\nBackground.prototype = Object.create( LoadingImage.prototype );\n\nBackground.prototype.check = function() {\n  this.img.addEventListener( 'load', this );\n  this.img.addEventListener( 'error', this );\n  this.img.src = this.url;\n  // check if image is already complete\n  let isComplete = this.getIsImageComplete();\n  if ( isComplete ) {\n    this.confirm( this.img.naturalWidth !== 0, 'naturalWidth' );\n    this.unbindEvents();\n  }\n};\n\nBackground.prototype.unbindEvents = function() {\n  this.img.removeEventListener( 'load', this );\n  this.img.removeEventListener( 'error', this );\n};\n\nBackground.prototype.confirm = function( isLoaded, message ) {\n  this.isLoaded = isLoaded;\n  this.emitEvent( 'progress', [ this, this.element, message ] );\n};\n\n// -------------------------- jQuery -------------------------- //\n\nImagesLoaded.makeJQueryPlugin = function( jQuery ) {\n  jQuery = jQuery || window.jQuery;\n  if ( !jQuery ) return;\n\n  // set local variable\n  $ = jQuery;\n  // $().imagesLoaded()\n  $.fn.imagesLoaded = function( options, onAlways ) {\n    let instance = new ImagesLoaded( this, options, onAlways );\n    return instance.jqDeferred.promise( $( this ) );\n  };\n};\n// try making plugin\nImagesLoaded.makeJQueryPlugin();\n\n// --------------------------  -------------------------- //\n\nreturn ImagesLoaded;\n\n} );\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/imagesloaded/imagesloaded.js\n// module id = 658\n// module chunks = 0 9","/**\n * EvEmitter v2.1.1\n * Lil' event emitter\n * MIT License\n */\n\n( function( global, factory ) {\n  // universal module definition\n  if ( typeof module == 'object' && module.exports ) {\n    // CommonJS - Browserify, Webpack\n    module.exports = factory();\n  } else {\n    // Browser globals\n    global.EvEmitter = factory();\n  }\n\n}( typeof window != 'undefined' ? window : this, function() {\n\nfunction EvEmitter() {}\n\nlet proto = EvEmitter.prototype;\n\nproto.on = function( eventName, listener ) {\n  if ( !eventName || !listener ) return this;\n\n  // set events hash\n  let events = this._events = this._events || {};\n  // set listeners array\n  let listeners = events[ eventName ] = events[ eventName ] || [];\n  // only add once\n  if ( !listeners.includes( listener ) ) {\n    listeners.push( listener );\n  }\n\n  return this;\n};\n\nproto.once = function( eventName, listener ) {\n  if ( !eventName || !listener ) return this;\n\n  // add event\n  this.on( eventName, listener );\n  // set once flag\n  // set onceEvents hash\n  let onceEvents = this._onceEvents = this._onceEvents || {};\n  // set onceListeners object\n  let onceListeners = onceEvents[ eventName ] = onceEvents[ eventName ] || {};\n  // set flag\n  onceListeners[ listener ] = true;\n\n  return this;\n};\n\nproto.off = function( eventName, listener ) {\n  let listeners = this._events && this._events[ eventName ];\n  if ( !listeners || !listeners.length ) return this;\n\n  let index = listeners.indexOf( listener );\n  if ( index != -1 ) {\n    listeners.splice( index, 1 );\n  }\n\n  return this;\n};\n\nproto.emitEvent = function( eventName, args ) {\n  let listeners = this._events && this._events[ eventName ];\n  if ( !listeners || !listeners.length ) return this;\n\n  // copy over to avoid interference if .off() in listener\n  listeners = listeners.slice( 0 );\n  args = args || [];\n  // once stuff\n  let onceListeners = this._onceEvents && this._onceEvents[ eventName ];\n\n  for ( let listener of listeners ) {\n    let isOnce = onceListeners && onceListeners[ listener ];\n    if ( isOnce ) {\n      // remove listener\n      // remove before trigger to prevent recursion\n      this.off( eventName, listener );\n      // unset once flag\n      delete onceListeners[ listener ];\n    }\n    // trigger listener\n    listener.apply( this, args );\n  }\n\n  return this;\n};\n\nproto.allOff = function() {\n  delete this._events;\n  delete this._onceEvents;\n  return this;\n};\n\nreturn EvEmitter;\n\n} ) );\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/ev-emitter/ev-emitter.js\n// module id = 659\n// module chunks = 0 9","var baseKeys = require('./_baseKeys'),\n    getTag = require('./_getTag'),\n    isArguments = require('./isArguments'),\n    isArray = require('./isArray'),\n    isArrayLike = require('./isArrayLike'),\n    isBuffer = require('./isBuffer'),\n    isPrototype = require('./_isPrototype'),\n    isTypedArray = require('./isTypedArray');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n    setTag = '[object Set]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if `value` is an empty object, collection, map, or set.\n *\n * Objects are considered empty if they have no own enumerable string keyed\n * properties.\n *\n * Array-like values such as `arguments` objects, arrays, buffers, strings, or\n * jQuery-like collections are considered empty if they have a `length` of `0`.\n * Similarly, maps and sets are considered empty if they have a `size` of `0`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is empty, else `false`.\n * @example\n *\n * _.isEmpty(null);\n * // => true\n *\n * _.isEmpty(true);\n * // => true\n *\n * _.isEmpty(1);\n * // => true\n *\n * _.isEmpty([1, 2, 3]);\n * // => false\n *\n * _.isEmpty({ 'a': 1 });\n * // => false\n */\nfunction isEmpty(value) {\n  if (value == null) {\n    return true;\n  }\n  if (isArrayLike(value) &&\n      (isArray(value) || typeof value == 'string' || typeof value.splice == 'function' ||\n        isBuffer(value) || isTypedArray(value) || isArguments(value))) {\n    return !value.length;\n  }\n  var tag = getTag(value);\n  if (tag == mapTag || tag == setTag) {\n    return !value.size;\n  }\n  if (isPrototype(value)) {\n    return !baseKeys(value).length;\n  }\n  for (var key in value) {\n    if (hasOwnProperty.call(value, key)) {\n      return false;\n    }\n  }\n  return true;\n}\n\nmodule.exports = isEmpty;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/isEmpty.js\n// module id = 670\n// module chunks = 9"],"sourceRoot":""}