-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathcomponent---src-layouts-index-js-5865b978c9770554479f.js.map
1 lines (1 loc) · 169 KB
/
component---src-layouts-index-js-5865b978c9770554479f.js.map
1
{"version":3,"sources":["webpack:///component---src-layouts-index-js-5865b978c9770554479f.js","webpack:///./.cache/json/layout-index.json?2af0","webpack:///./.cache/layouts/index.js","webpack:///./~/babel-runtime/core-js/object/assign.js","webpack:///./~/babel-runtime/core-js/object/keys.js","webpack:///./~/babel-runtime/helpers/extends.js","webpack:///./~/babel-runtime/helpers/objectWithoutProperties.js","webpack:///./~/core-js/library/fn/object/assign.js","webpack:///./~/core-js/library/fn/object/keys.js","webpack:///./~/core-js/library/modules/_object-assign.js","webpack:///./~/core-js/library/modules/_object-sap.js","webpack:///./~/core-js/library/modules/es6.object.assign.js","webpack:///./~/core-js/library/modules/es6.object.keys.js","webpack:///./~/deep-equal/index.js","webpack:///./~/deep-equal/lib/is_arguments.js","webpack:///./~/deep-equal/lib/keys.js","webpack:///./~/exenv/index.js","webpack:///./~/gatsby-link/index.js","webpack:///./~/react-helmet/lib/Helmet.js","webpack:///./~/react-helmet/lib/HelmetConstants.js","webpack:///./~/react-helmet/lib/HelmetUtils.js","webpack:///./~/react-side-effect/lib/index.js","webpack:///./~/shallowequal/index.js","webpack:///./src/components/header.js","webpack:///./src/layouts/index.js"],"names":["webpackJsonp","103","module","exports","data","site","siteMetadata","title","layoutContext","196","__webpack_require__","_interopRequireDefault","obj","__esModule","default","_extends","Object","assign","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","_react","_react2","_index","_index2","_layoutIndex","_layoutIndex2","props","createElement","205","207","211","_assign","_assign2","212","keys","indexOf","215","217","230","getKeys","gOPS","pIE","toObject","IObject","$assign","A","B","S","Symbol","K","split","forEach","k","join","T","aLen","index","getSymbols","f","isEnum","concat","j","234","$export","core","fails","KEY","exec","fn","exp","F","240","242","$keys","it","282","isUndefinedOrNull","value","undefined","isBuffer","x","copy","slice","objEquiv","a","b","opts","isArguments","pSlice","deepEqual","ka","objectKeys","kb","e","sort","Array","actual","expected","Date","getTime","strict","283","supported","object","toString","unsupported","propertyIsEnumerable","supportsArgumentsClass","284","shim","push","291","__WEBPACK_AMD_DEFINE_RESULT__","canUseDOM","window","document","ExecutionEnvironment","canUseWorkers","Worker","canUseEventListeners","addEventListener","attachEvent","canUseViewport","screen","153","withPrefix","path","normalizePath","pathPrefix","replace","createLocation","history","location","_history","pathname","navigateTo","_extends2","_extends3","_keys","_keys2","_objectWithoutProperties2","_objectWithoutProperties3","_classCallCheck2","_classCallCheck3","_possibleConstructorReturn2","_possibleConstructorReturn3","_inherits2","_inherits3","_reactRouterDom","_propTypes","_propTypes2","NavLinkPropTypes","activeClassName","string","activeStyle","exact","bool","isActive","func","handleIntersection","el","cb","io","IntersectionObserver","entries","entry","isIntersecting","intersectionRatio","unobserve","disconnect","observe","GatsbyLink","_React$Component","context","this","_this","IOSupported","router","to","state","createPath","handleRef","bind","componentWillReceiveProps","nextProps","setState","___loader","enqueue","componentDidMount","ref","_this2","innerRef","render","_this3","_props","_onClick","onClick","rest","El","some","propName","NavLink","Link","button","defaultPrevented","metaKey","altKey","ctrlKey","shiftKey","hashFragment","element","getElementById","scrollIntoView","scrollTo","preventDefault","___push","Component","propTypes","oneOfType","isRequired","contextTypes","___replace","426","_objectWithoutProperties","_classCallCheck","instance","Constructor","TypeError","_possibleConstructorReturn","self","ReferenceError","_inherits","subClass","superClass","create","constructor","enumerable","writable","configurable","setPrototypeOf","__proto__","Helmet","_createClass","defineProperties","descriptor","defineProperty","protoProps","staticProps","_reactSideEffect","_reactSideEffect2","_deepEqual","_deepEqual2","_HelmetUtils","_HelmetConstants","_class","_temp","HelmetWrapper","apply","shouldComponentUpdate","mapNestedChildrenToProps","child","nestedChildren","type","TAG_NAMES","SCRIPT","NOSCRIPT","innerHTML","STYLE","cssText","Error","flattenArrayTypeChildren","_ref","arrayTypeChildren","newChildProps","mapObjectTypeChildren","_ref2","_extends4","newProps","TITLE","titleAttributes","BODY","bodyAttributes","HTML","htmlAttributes","mapArrayTypeChildrenToProps","newFlattenedProps","arrayChildName","_extends5","warnOnInvalidChildren","mapChildrenToProps","children","Children","_child$props","childProps","convertReactPropstoHtmlAttributes","LINK","META","set","base","arrayOf","node","defaultTitle","defer","encodeSpecialCharacters","link","meta","noscript","onChangeClientState","script","style","titleTemplate","defaultProps","peek","rewind","mappedState","mapStateOnServer","baseTag","linkTags","metaTags","noscriptTags","scriptTags","styleTags","NullComponent","HelmetSideEffects","reducePropsToState","handleClientStateChange","HelmetExport","renderStatic","180","ATTRIBUTE_NAMES","BASE","HEAD","REACT_TAG_MAP","VALID_TAG_NAMES","map","name","TAG_PROPERTIES","CHARSET","CSS_TEXT","HREF","HTTPEQUIV","INNER_HTML","ITEM_PROP","NAME","PROPERTY","REL","SRC","accesskey","charset","class","contenteditable","contextmenu","http-equiv","itemprop","tabindex","HELMET_PROPS","DEFAULT_TITLE","DEFER","ENCODE_SPECIAL_CHARACTERS","ON_CHANGE_CLIENT_STATE","TITLE_TEMPLATE","HTML_TAG_MAP","reduce","SELF_CLOSING_TAGS","HELMET_ATTRIBUTE","427","global","warn","requestAnimationFrame","_typeof","iterator","_objectAssign","_objectAssign2","str","encode","String","getTitleFromPropsList","propsList","innermostTitle","getInnermostProperty","innermostTemplate","innermostDefaultTitle","getOnChangeClientState","getAttributesFromPropsList","tagType","filter","tagAttrs","current","getBaseTagFromPropsList","primaryAttributes","reverse","innermostBaseTag","tag","attributeKey","lowerCaseAttributeKey","toLowerCase","getTagsFromPropsList","tagName","approvedSeenTags","isArray","approvedTags","instanceTags","instanceSeenTags","primaryAttributeKey","tagUnion","property","rafPolyfill","clock","now","callback","currentTime","setTimeout","cafPolyfill","id","clearTimeout","webkitRequestAnimationFrame","mozRequestAnimationFrame","cancelAnimationFrame","webkitCancelAnimationFrame","mozCancelAnimationFrame","msg","console","_helmetCallback","newState","commitTagChanges","updateAttributes","updateTitle","tagUpdates","updateTags","addedTags","removedTags","_tagUpdates$tagType","newTags","oldTags","flattenArray","possibleArray","attributes","elementTag","getElementsByTagName","helmetAttributeString","getAttribute","helmetAttributes","attributesToRemove","attributeKeys","attribute","setAttribute","indexToSave","splice","_i","removeAttribute","tags","headElement","head","querySelector","tagNodes","querySelectorAll","indexToDelete","newElement","styleSheet","appendChild","createTextNode","existingTag","isEqualNode","parentNode","removeChild","generateElementAttributesAsString","attr","generateTitleAsString","attributeString","flattenedTitle","generateTagsAsString","attributeHtml","tagContent","isSelfClosing","convertElementAttributestoReactProps","initProps","initAttributes","generateTitleAsReactComponent","_initProps","generateTagsAsReactComponent","_mappedTag","mappedTag","mappedAttribute","content","dangerouslySetInnerHTML","__html","getMethodsForTag","toComponent","_ref$title","445","_interopDefault","ex","withSideEffect","handleStateChangeOnClient","getDisplayName","WrappedComponent","displayName","emitChange","mountedInstances","SideEffect","_Component","recordedState","shallowEqual","componentWillMount","componentDidUpdate","componentWillUnmount","React__default","React","462","objA","objB","compare","compareContext","ret","keysA","keysB","bHasOwnProperty","idx","valueA","valueB","199","_gatsbyLink","_gatsbyLink2","Header","siteTitle","className","margin","292","200","query","_reactHelmet","_reactHelmet2","_header","_header2","Layout","PropTypes"],"mappings":"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","file":"component---src-layouts-index-js-5865b978c9770554479f.js","sourcesContent":["webpackJsonp([114276838955818,60335399758886],{\n\n/***/ 103:\n/***/ (function(module, exports) {\n\n\tmodule.exports = {\"data\":{\"site\":{\"siteMetadata\":{\"title\":\"Software Engineering I (CS 361) - Fall 2018\"}}},\"layoutContext\":{}}\n\n/***/ }),\n\n/***/ 196:\n/***/ (function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\texports.__esModule = true;\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\tvar _react = __webpack_require__(5);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _index = __webpack_require__(200);\n\t\n\tvar _index2 = _interopRequireDefault(_index);\n\t\n\tvar _layoutIndex = __webpack_require__(103);\n\t\n\tvar _layoutIndex2 = _interopRequireDefault(_layoutIndex);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\texports.default = function (props) {\n\t return _react2.default.createElement(_index2.default, _extends({}, props, _layoutIndex2.default));\n\t};\n\t\n\tmodule.exports = exports[\"default\"];\n\n/***/ }),\n\n/***/ 205:\n/***/ (function(module, exports, __webpack_require__) {\n\n\tmodule.exports = { \"default\": __webpack_require__(215), __esModule: true };\n\n/***/ }),\n\n/***/ 207:\n/***/ (function(module, exports, __webpack_require__) {\n\n\tmodule.exports = { \"default\": __webpack_require__(217), __esModule: true };\n\n/***/ }),\n\n/***/ 211:\n/***/ (function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\texports.__esModule = true;\n\t\n\tvar _assign = __webpack_require__(205);\n\t\n\tvar _assign2 = _interopRequireDefault(_assign);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\texports.default = _assign2.default || function (target) {\n\t for (var i = 1; i < arguments.length; i++) {\n\t var source = arguments[i];\n\t\n\t for (var key in source) {\n\t if (Object.prototype.hasOwnProperty.call(source, key)) {\n\t target[key] = source[key];\n\t }\n\t }\n\t }\n\t\n\t return target;\n\t};\n\n/***/ }),\n\n/***/ 212:\n/***/ (function(module, exports) {\n\n\t\"use strict\";\n\t\n\texports.__esModule = true;\n\t\n\texports.default = function (obj, keys) {\n\t var target = {};\n\t\n\t for (var i in obj) {\n\t if (keys.indexOf(i) >= 0) continue;\n\t if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n\t target[i] = obj[i];\n\t }\n\t\n\t return target;\n\t};\n\n/***/ }),\n\n/***/ 215:\n/***/ (function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(240);\n\tmodule.exports = __webpack_require__(13).Object.assign;\n\n\n/***/ }),\n\n/***/ 217:\n/***/ (function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(242);\n\tmodule.exports = __webpack_require__(13).Object.keys;\n\n\n/***/ }),\n\n/***/ 230:\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t// 19.1.2.1 Object.assign(target, source, ...)\n\tvar getKeys = __webpack_require__(42);\n\tvar gOPS = __webpack_require__(80);\n\tvar pIE = __webpack_require__(57);\n\tvar toObject = __webpack_require__(85);\n\tvar IObject = __webpack_require__(131);\n\tvar $assign = Object.assign;\n\t\n\t// should work with symbols and should have deterministic property order (V8 bug)\n\tmodule.exports = !$assign || __webpack_require__(27)(function () {\n\t var A = {};\n\t var B = {};\n\t // eslint-disable-next-line no-undef\n\t var S = Symbol();\n\t var K = 'abcdefghijklmnopqrst';\n\t A[S] = 7;\n\t K.split('').forEach(function (k) { B[k] = k; });\n\t return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n\t}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n\t var T = toObject(target);\n\t var aLen = arguments.length;\n\t var index = 1;\n\t var getSymbols = gOPS.f;\n\t var isEnum = pIE.f;\n\t while (aLen > index) {\n\t var S = IObject(arguments[index++]);\n\t var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n\t var length = keys.length;\n\t var j = 0;\n\t var key;\n\t while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key];\n\t } return T;\n\t} : $assign;\n\n\n/***/ }),\n\n/***/ 234:\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// most Object methods by ES6 should accept primitives\n\tvar $export = __webpack_require__(26);\n\tvar core = __webpack_require__(13);\n\tvar fails = __webpack_require__(27);\n\tmodule.exports = function (KEY, exec) {\n\t var fn = (core.Object || {})[KEY] || Object[KEY];\n\t var exp = {};\n\t exp[KEY] = exec(fn);\n\t $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n\t};\n\n\n/***/ }),\n\n/***/ 240:\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// 19.1.3.1 Object.assign(target, source)\n\tvar $export = __webpack_require__(26);\n\t\n\t$export($export.S + $export.F, 'Object', { assign: __webpack_require__(230) });\n\n\n/***/ }),\n\n/***/ 242:\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// 19.1.2.14 Object.keys(O)\n\tvar toObject = __webpack_require__(85);\n\tvar $keys = __webpack_require__(42);\n\t\n\t__webpack_require__(234)('keys', function () {\n\t return function keys(it) {\n\t return $keys(toObject(it));\n\t };\n\t});\n\n\n/***/ }),\n\n/***/ 282:\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar pSlice = Array.prototype.slice;\n\tvar objectKeys = __webpack_require__(284);\n\tvar isArguments = __webpack_require__(283);\n\t\n\tvar deepEqual = module.exports = function (actual, expected, opts) {\n\t if (!opts) opts = {};\n\t // 7.1. All identical values are equivalent, as determined by ===.\n\t if (actual === expected) {\n\t return true;\n\t\n\t } else if (actual instanceof Date && expected instanceof Date) {\n\t return actual.getTime() === expected.getTime();\n\t\n\t // 7.3. Other pairs that do not both pass typeof value == 'object',\n\t // equivalence is determined by ==.\n\t } else if (!actual || !expected || typeof actual != 'object' && typeof expected != 'object') {\n\t return opts.strict ? actual === expected : actual == expected;\n\t\n\t // 7.4. For all other Object pairs, including Array objects, equivalence is\n\t // determined by having the same number of owned properties (as verified\n\t // with Object.prototype.hasOwnProperty.call), the same set of keys\n\t // (although not necessarily the same order), equivalent values for every\n\t // corresponding key, and an identical 'prototype' property. Note: this\n\t // accounts for both named and indexed properties on Arrays.\n\t } else {\n\t return objEquiv(actual, expected, opts);\n\t }\n\t}\n\t\n\tfunction isUndefinedOrNull(value) {\n\t return value === null || value === undefined;\n\t}\n\t\n\tfunction isBuffer (x) {\n\t if (!x || typeof x !== 'object' || typeof x.length !== 'number') return false;\n\t if (typeof x.copy !== 'function' || typeof x.slice !== 'function') {\n\t return false;\n\t }\n\t if (x.length > 0 && typeof x[0] !== 'number') return false;\n\t return true;\n\t}\n\t\n\tfunction objEquiv(a, b, opts) {\n\t var i, key;\n\t if (isUndefinedOrNull(a) || isUndefinedOrNull(b))\n\t return false;\n\t // an identical 'prototype' property.\n\t if (a.prototype !== b.prototype) return false;\n\t //~~~I've managed to break Object.keys through screwy arguments passing.\n\t // Converting to array solves the problem.\n\t if (isArguments(a)) {\n\t if (!isArguments(b)) {\n\t return false;\n\t }\n\t a = pSlice.call(a);\n\t b = pSlice.call(b);\n\t return deepEqual(a, b, opts);\n\t }\n\t if (isBuffer(a)) {\n\t if (!isBuffer(b)) {\n\t return false;\n\t }\n\t if (a.length !== b.length) return false;\n\t for (i = 0; i < a.length; i++) {\n\t if (a[i] !== b[i]) return false;\n\t }\n\t return true;\n\t }\n\t try {\n\t var ka = objectKeys(a),\n\t kb = objectKeys(b);\n\t } catch (e) {//happens when one is a string literal and the other isn't\n\t return false;\n\t }\n\t // having the same number of owned properties (keys incorporates\n\t // hasOwnProperty)\n\t if (ka.length != kb.length)\n\t return false;\n\t //the same set of keys (although not necessarily the same order),\n\t ka.sort();\n\t kb.sort();\n\t //~~~cheap key test\n\t for (i = ka.length - 1; i >= 0; i--) {\n\t if (ka[i] != kb[i])\n\t return false;\n\t }\n\t //equivalent values for every corresponding key, and\n\t //~~~possibly expensive deep test\n\t for (i = ka.length - 1; i >= 0; i--) {\n\t key = ka[i];\n\t if (!deepEqual(a[key], b[key], opts)) return false;\n\t }\n\t return typeof a === typeof b;\n\t}\n\n\n/***/ }),\n\n/***/ 283:\n/***/ (function(module, exports) {\n\n\tvar supportsArgumentsClass = (function(){\n\t return Object.prototype.toString.call(arguments)\n\t})() == '[object Arguments]';\n\t\n\texports = module.exports = supportsArgumentsClass ? supported : unsupported;\n\t\n\texports.supported = supported;\n\tfunction supported(object) {\n\t return Object.prototype.toString.call(object) == '[object Arguments]';\n\t};\n\t\n\texports.unsupported = unsupported;\n\tfunction unsupported(object){\n\t return object &&\n\t typeof object == 'object' &&\n\t typeof object.length == 'number' &&\n\t Object.prototype.hasOwnProperty.call(object, 'callee') &&\n\t !Object.prototype.propertyIsEnumerable.call(object, 'callee') ||\n\t false;\n\t};\n\n\n/***/ }),\n\n/***/ 284:\n/***/ (function(module, exports) {\n\n\texports = module.exports = typeof Object.keys === 'function'\n\t ? Object.keys : shim;\n\t\n\texports.shim = shim;\n\tfunction shim (obj) {\n\t var keys = [];\n\t for (var key in obj) keys.push(key);\n\t return keys;\n\t}\n\n\n/***/ }),\n\n/***/ 291:\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_RESULT__;/*!\n\t Copyright (c) 2015 Jed Watson.\n\t Based on code that is Copyright 2013-2015, Facebook, Inc.\n\t All rights reserved.\n\t*/\n\t/* global define */\n\t\n\t(function () {\n\t\t'use strict';\n\t\n\t\tvar canUseDOM = !!(\n\t\t\ttypeof window !== 'undefined' &&\n\t\t\twindow.document &&\n\t\t\twindow.document.createElement\n\t\t);\n\t\n\t\tvar ExecutionEnvironment = {\n\t\n\t\t\tcanUseDOM: canUseDOM,\n\t\n\t\t\tcanUseWorkers: typeof Worker !== 'undefined',\n\t\n\t\t\tcanUseEventListeners:\n\t\t\t\tcanUseDOM && !!(window.addEventListener || window.attachEvent),\n\t\n\t\t\tcanUseViewport: canUseDOM && !!window.screen\n\t\n\t\t};\n\t\n\t\tif (true) {\n\t\t\t!(__WEBPACK_AMD_DEFINE_RESULT__ = function () {\n\t\t\t\treturn ExecutionEnvironment;\n\t\t\t}.call(exports, __webpack_require__, exports, module), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t\t} else if (typeof module !== 'undefined' && module.exports) {\n\t\t\tmodule.exports = ExecutionEnvironment;\n\t\t} else {\n\t\t\twindow.ExecutionEnvironment = ExecutionEnvironment;\n\t\t}\n\t\n\t}());\n\n\n/***/ }),\n\n/***/ 153:\n/***/ (function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\texports.__esModule = true;\n\texports.navigateTo = exports.replace = exports.push = undefined;\n\t\n\tvar _extends2 = __webpack_require__(211);\n\t\n\tvar _extends3 = _interopRequireDefault(_extends2);\n\t\n\tvar _keys = __webpack_require__(207);\n\t\n\tvar _keys2 = _interopRequireDefault(_keys);\n\t\n\tvar _objectWithoutProperties2 = __webpack_require__(212);\n\t\n\tvar _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);\n\t\n\tvar _classCallCheck2 = __webpack_require__(55);\n\t\n\tvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\t\n\tvar _possibleConstructorReturn2 = __webpack_require__(75);\n\t\n\tvar _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);\n\t\n\tvar _inherits2 = __webpack_require__(74);\n\t\n\tvar _inherits3 = _interopRequireDefault(_inherits2);\n\t\n\texports.withPrefix = withPrefix;\n\t\n\tvar _react = __webpack_require__(5);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactRouterDom = __webpack_require__(72);\n\t\n\tvar _propTypes = __webpack_require__(8);\n\t\n\tvar _propTypes2 = _interopRequireDefault(_propTypes);\n\t\n\tvar _history = __webpack_require__(20);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\t/*global __PREFIX_PATHS__, __PATH_PREFIX__ */\n\tvar pathPrefix = \"/\";\n\tif (false) {\n\t pathPrefix = __PATH_PREFIX__;\n\t}\n\t\n\tfunction withPrefix(path) {\n\t return normalizePath(pathPrefix + path);\n\t}\n\t\n\tfunction normalizePath(path) {\n\t return path.replace(/^\\/\\//g, \"/\");\n\t}\n\t\n\tfunction createLocation(path, history) {\n\t var location = (0, _history.createLocation)(path, null, null, history.location);\n\t location.pathname = withPrefix(location.pathname);\n\t return location;\n\t}\n\t\n\tvar NavLinkPropTypes = {\n\t activeClassName: _propTypes2.default.string,\n\t activeStyle: _propTypes2.default.object,\n\t exact: _propTypes2.default.bool,\n\t strict: _propTypes2.default.bool,\n\t isActive: _propTypes2.default.func,\n\t location: _propTypes2.default.object\n\t\n\t // Set up IntersectionObserver\n\t};var handleIntersection = function handleIntersection(el, cb) {\n\t var io = new window.IntersectionObserver(function (entries) {\n\t entries.forEach(function (entry) {\n\t if (el === entry.target) {\n\t // Check if element is within viewport, remove listener, destroy observer, and run link callback.\n\t // MSEdge doesn't currently support isIntersecting, so also test for an intersectionRatio > 0\n\t if (entry.isIntersecting || entry.intersectionRatio > 0) {\n\t io.unobserve(el);\n\t io.disconnect();\n\t cb();\n\t }\n\t }\n\t });\n\t });\n\t // Add element to the observer\n\t io.observe(el);\n\t};\n\t\n\t/* eslint-disable react/no-deprecated */\n\t\n\tvar GatsbyLink = function (_React$Component) {\n\t (0, _inherits3.default)(GatsbyLink, _React$Component);\n\t\n\t function GatsbyLink(props, context) {\n\t (0, _classCallCheck3.default)(this, GatsbyLink);\n\t\n\t // Default to no support for IntersectionObserver\n\t var _this = (0, _possibleConstructorReturn3.default)(this, _React$Component.call(this));\n\t\n\t var IOSupported = false;\n\t if (typeof window !== \"undefined\" && window.IntersectionObserver) {\n\t IOSupported = true;\n\t }\n\t\n\t var history = context.router.history;\n\t\n\t var to = createLocation(props.to, history);\n\t\n\t _this.state = {\n\t path: (0, _history.createPath)(to),\n\t to: to,\n\t IOSupported: IOSupported\n\t };\n\t _this.handleRef = _this.handleRef.bind(_this);\n\t return _this;\n\t }\n\t\n\t GatsbyLink.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n\t if (this.props.to !== nextProps.to) {\n\t var to = createLocation(nextProps.to, history);\n\t this.setState({\n\t path: (0, _history.createPath)(to),\n\t to: to\n\t });\n\t // Preserve non IO functionality if no support\n\t if (!this.state.IOSupported) {\n\t ___loader.enqueue(this.state.to.pathname);\n\t }\n\t }\n\t };\n\t\n\t GatsbyLink.prototype.componentDidMount = function componentDidMount() {\n\t // Preserve non IO functionality if no support\n\t if (!this.state.IOSupported) {\n\t ___loader.enqueue(this.state.to.pathname);\n\t }\n\t };\n\t\n\t GatsbyLink.prototype.handleRef = function handleRef(ref) {\n\t var _this2 = this;\n\t\n\t this.props.innerRef && this.props.innerRef(ref);\n\t\n\t if (this.state.IOSupported && ref) {\n\t // If IO supported and element reference found, setup Observer functionality\n\t handleIntersection(ref, function () {\n\t ___loader.enqueue(_this2.state.to.pathname);\n\t });\n\t }\n\t };\n\t\n\t GatsbyLink.prototype.render = function render() {\n\t var _this3 = this;\n\t\n\t var _props = this.props,\n\t _onClick = _props.onClick,\n\t rest = (0, _objectWithoutProperties3.default)(_props, [\"onClick\"]);\n\t\n\t var El = void 0;\n\t if ((0, _keys2.default)(NavLinkPropTypes).some(function (propName) {\n\t return _this3.props[propName];\n\t })) {\n\t El = _reactRouterDom.NavLink;\n\t } else {\n\t El = _reactRouterDom.Link;\n\t }\n\t\n\t return _react2.default.createElement(El, (0, _extends3.default)({\n\t onClick: function onClick(e) {\n\t // eslint-disable-line\n\t _onClick && _onClick(e);\n\t\n\t if (e.button === 0 && // ignore right clicks\n\t !_this3.props.target && // let browser handle \"target=_blank\"\n\t !e.defaultPrevented && // onClick prevented default\n\t !e.metaKey && // ignore clicks with modifier keys...\n\t !e.altKey && !e.ctrlKey && !e.shiftKey) {\n\t // Is this link pointing to a hash on the same page? If so,\n\t // just scroll there.\n\t var pathname = _this3.state.path;\n\t if (pathname.split(\"#\").length > 1) {\n\t pathname = pathname.split(\"#\").slice(0, -1).join(\"\");\n\t }\n\t if (pathname === window.location.pathname) {\n\t var hashFragment = _this3.state.path.split(\"#\").slice(1).join(\"#\");\n\t var element = document.getElementById(hashFragment);\n\t if (element !== null) {\n\t element.scrollIntoView();\n\t return true;\n\t } else {\n\t // This is just a normal link to the current page so let's emulate default\n\t // browser behavior by scrolling now to the top of the page.\n\t window.scrollTo(0, 0);\n\t return true;\n\t }\n\t }\n\t\n\t // In production, make sure the necessary scripts are\n\t // loaded before continuing.\n\t if (true) {\n\t e.preventDefault();\n\t window.___push(_this3.state.to);\n\t }\n\t }\n\t\n\t return true;\n\t }\n\t }, rest, {\n\t to: this.state.to,\n\t innerRef: this.handleRef\n\t }));\n\t };\n\t\n\t return GatsbyLink;\n\t}(_react2.default.Component);\n\t/* eslint-enable */\n\t\n\tGatsbyLink.propTypes = (0, _extends3.default)({}, NavLinkPropTypes, {\n\t innerRef: _propTypes2.default.func,\n\t onClick: _propTypes2.default.func,\n\t to: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.object]).isRequired\n\t});\n\t\n\tGatsbyLink.contextTypes = {\n\t router: _propTypes2.default.object\n\t};\n\t\n\texports.default = GatsbyLink;\n\tvar push = exports.push = function push(to) {\n\t window.___push(to);\n\t};\n\t\n\tvar replace = exports.replace = function replace(to) {\n\t window.___replace(to);\n\t};\n\t\n\tvar navigateTo = exports.navigateTo = push;\n\n/***/ }),\n\n/***/ 426:\n/***/ (function(module, exports, __webpack_require__) {\n\n\texports.__esModule = true;\n\texports.Helmet = undefined;\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _react = __webpack_require__(5);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _propTypes = __webpack_require__(8);\n\t\n\tvar _propTypes2 = _interopRequireDefault(_propTypes);\n\t\n\tvar _reactSideEffect = __webpack_require__(445);\n\t\n\tvar _reactSideEffect2 = _interopRequireDefault(_reactSideEffect);\n\t\n\tvar _deepEqual = __webpack_require__(282);\n\t\n\tvar _deepEqual2 = _interopRequireDefault(_deepEqual);\n\t\n\tvar _HelmetUtils = __webpack_require__(427);\n\t\n\tvar _HelmetConstants = __webpack_require__(180);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar Helmet = function Helmet(Component) {\n\t var _class, _temp;\n\t\n\t return _temp = _class = function (_React$Component) {\n\t _inherits(HelmetWrapper, _React$Component);\n\t\n\t function HelmetWrapper() {\n\t _classCallCheck(this, HelmetWrapper);\n\t\n\t return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));\n\t }\n\t\n\t HelmetWrapper.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {\n\t return !(0, _deepEqual2.default)(this.props, nextProps);\n\t };\n\t\n\t HelmetWrapper.prototype.mapNestedChildrenToProps = function mapNestedChildrenToProps(child, nestedChildren) {\n\t if (!nestedChildren) {\n\t return null;\n\t }\n\t\n\t switch (child.type) {\n\t case _HelmetConstants.TAG_NAMES.SCRIPT:\n\t case _HelmetConstants.TAG_NAMES.NOSCRIPT:\n\t return {\n\t innerHTML: nestedChildren\n\t };\n\t\n\t case _HelmetConstants.TAG_NAMES.STYLE:\n\t return {\n\t cssText: nestedChildren\n\t };\n\t }\n\t\n\t throw new Error(\"<\" + child.type + \" /> elements are self-closing and can not contain children. Refer to our API for more information.\");\n\t };\n\t\n\t HelmetWrapper.prototype.flattenArrayTypeChildren = function flattenArrayTypeChildren(_ref) {\n\t var _extends2;\n\t\n\t var child = _ref.child,\n\t arrayTypeChildren = _ref.arrayTypeChildren,\n\t newChildProps = _ref.newChildProps,\n\t nestedChildren = _ref.nestedChildren;\n\t\n\t return _extends({}, arrayTypeChildren, (_extends2 = {}, _extends2[child.type] = [].concat(arrayTypeChildren[child.type] || [], [_extends({}, newChildProps, this.mapNestedChildrenToProps(child, nestedChildren))]), _extends2));\n\t };\n\t\n\t HelmetWrapper.prototype.mapObjectTypeChildren = function mapObjectTypeChildren(_ref2) {\n\t var _extends3, _extends4;\n\t\n\t var child = _ref2.child,\n\t newProps = _ref2.newProps,\n\t newChildProps = _ref2.newChildProps,\n\t nestedChildren = _ref2.nestedChildren;\n\t\n\t switch (child.type) {\n\t case _HelmetConstants.TAG_NAMES.TITLE:\n\t return _extends({}, newProps, (_extends3 = {}, _extends3[child.type] = nestedChildren, _extends3.titleAttributes = _extends({}, newChildProps), _extends3));\n\t\n\t case _HelmetConstants.TAG_NAMES.BODY:\n\t return _extends({}, newProps, {\n\t bodyAttributes: _extends({}, newChildProps)\n\t });\n\t\n\t case _HelmetConstants.TAG_NAMES.HTML:\n\t return _extends({}, newProps, {\n\t htmlAttributes: _extends({}, newChildProps)\n\t });\n\t }\n\t\n\t return _extends({}, newProps, (_extends4 = {}, _extends4[child.type] = _extends({}, newChildProps), _extends4));\n\t };\n\t\n\t HelmetWrapper.prototype.mapArrayTypeChildrenToProps = function mapArrayTypeChildrenToProps(arrayTypeChildren, newProps) {\n\t var newFlattenedProps = _extends({}, newProps);\n\t\n\t Object.keys(arrayTypeChildren).forEach(function (arrayChildName) {\n\t var _extends5;\n\t\n\t newFlattenedProps = _extends({}, newFlattenedProps, (_extends5 = {}, _extends5[arrayChildName] = arrayTypeChildren[arrayChildName], _extends5));\n\t });\n\t\n\t return newFlattenedProps;\n\t };\n\t\n\t HelmetWrapper.prototype.warnOnInvalidChildren = function warnOnInvalidChildren(child, nestedChildren) {\n\t if (false) {\n\t if (!_HelmetConstants.VALID_TAG_NAMES.some(function (name) {\n\t return child.type === name;\n\t })) {\n\t if (typeof child.type === \"function\") {\n\t return (0, _HelmetUtils.warn)(\"You may be attempting to nest <Helmet> components within each other, which is not allowed. Refer to our API for more information.\");\n\t }\n\t\n\t return (0, _HelmetUtils.warn)(\"Only elements types \" + _HelmetConstants.VALID_TAG_NAMES.join(\", \") + \" are allowed. Helmet does not support rendering <\" + child.type + \"> elements. Refer to our API for more information.\");\n\t }\n\t\n\t if (nestedChildren && typeof nestedChildren !== \"string\" && (!Array.isArray(nestedChildren) || nestedChildren.some(function (nestedChild) {\n\t return typeof nestedChild !== \"string\";\n\t }))) {\n\t throw new Error(\"Helmet expects a string as a child of <\" + child.type + \">. Did you forget to wrap your children in braces? ( <\" + child.type + \">{``}</\" + child.type + \"> ) Refer to our API for more information.\");\n\t }\n\t }\n\t\n\t return true;\n\t };\n\t\n\t HelmetWrapper.prototype.mapChildrenToProps = function mapChildrenToProps(children, newProps) {\n\t var _this2 = this;\n\t\n\t var arrayTypeChildren = {};\n\t\n\t _react2.default.Children.forEach(children, function (child) {\n\t if (!child || !child.props) {\n\t return;\n\t }\n\t\n\t var _child$props = child.props,\n\t nestedChildren = _child$props.children,\n\t childProps = _objectWithoutProperties(_child$props, [\"children\"]);\n\t\n\t var newChildProps = (0, _HelmetUtils.convertReactPropstoHtmlAttributes)(childProps);\n\t\n\t _this2.warnOnInvalidChildren(child, nestedChildren);\n\t\n\t switch (child.type) {\n\t case _HelmetConstants.TAG_NAMES.LINK:\n\t case _HelmetConstants.TAG_NAMES.META:\n\t case _HelmetConstants.TAG_NAMES.NOSCRIPT:\n\t case _HelmetConstants.TAG_NAMES.SCRIPT:\n\t case _HelmetConstants.TAG_NAMES.STYLE:\n\t arrayTypeChildren = _this2.flattenArrayTypeChildren({\n\t child: child,\n\t arrayTypeChildren: arrayTypeChildren,\n\t newChildProps: newChildProps,\n\t nestedChildren: nestedChildren\n\t });\n\t break;\n\t\n\t default:\n\t newProps = _this2.mapObjectTypeChildren({\n\t child: child,\n\t newProps: newProps,\n\t newChildProps: newChildProps,\n\t nestedChildren: nestedChildren\n\t });\n\t break;\n\t }\n\t });\n\t\n\t newProps = this.mapArrayTypeChildrenToProps(arrayTypeChildren, newProps);\n\t return newProps;\n\t };\n\t\n\t HelmetWrapper.prototype.render = function render() {\n\t var _props = this.props,\n\t children = _props.children,\n\t props = _objectWithoutProperties(_props, [\"children\"]);\n\t\n\t var newProps = _extends({}, props);\n\t\n\t if (children) {\n\t newProps = this.mapChildrenToProps(children, newProps);\n\t }\n\t\n\t return _react2.default.createElement(Component, newProps);\n\t };\n\t\n\t _createClass(HelmetWrapper, null, [{\n\t key: \"canUseDOM\",\n\t\n\t\n\t // Component.peek comes from react-side-effect:\n\t // For testing, you may use a static peek() method available on the returned component.\n\t // It lets you get the current state without resetting the mounted instance stack.\n\t // Don’t use it for anything other than testing.\n\t\n\t /**\n\t * @param {Object} base: {\"target\": \"_blank\", \"href\": \"http://mysite.com/\"}\n\t * @param {Object} bodyAttributes: {\"className\": \"root\"}\n\t * @param {String} defaultTitle: \"Default Title\"\n\t * @param {Boolean} defer: true\n\t * @param {Boolean} encodeSpecialCharacters: true\n\t * @param {Object} htmlAttributes: {\"lang\": \"en\", \"amp\": undefined}\n\t * @param {Array} link: [{\"rel\": \"canonical\", \"href\": \"http://mysite.com/example\"}]\n\t * @param {Array} meta: [{\"name\": \"description\", \"content\": \"Test description\"}]\n\t * @param {Array} noscript: [{\"innerHTML\": \"<img src='http://mysite.com/js/test.js'\"}]\n\t * @param {Function} onChangeClientState: \"(newState) => console.log(newState)\"\n\t * @param {Array} script: [{\"type\": \"text/javascript\", \"src\": \"http://mysite.com/js/test.js\"}]\n\t * @param {Array} style: [{\"type\": \"text/css\", \"cssText\": \"div { display: block; color: blue; }\"}]\n\t * @param {String} title: \"Title\"\n\t * @param {Object} titleAttributes: {\"itemprop\": \"name\"}\n\t * @param {String} titleTemplate: \"MySite.com - %s\"\n\t */\n\t set: function set(canUseDOM) {\n\t Component.canUseDOM = canUseDOM;\n\t }\n\t }]);\n\t\n\t return HelmetWrapper;\n\t }(_react2.default.Component), _class.propTypes = {\n\t base: _propTypes2.default.object,\n\t bodyAttributes: _propTypes2.default.object,\n\t children: _propTypes2.default.oneOfType([_propTypes2.default.arrayOf(_propTypes2.default.node), _propTypes2.default.node]),\n\t defaultTitle: _propTypes2.default.string,\n\t defer: _propTypes2.default.bool,\n\t encodeSpecialCharacters: _propTypes2.default.bool,\n\t htmlAttributes: _propTypes2.default.object,\n\t link: _propTypes2.default.arrayOf(_propTypes2.default.object),\n\t meta: _propTypes2.default.arrayOf(_propTypes2.default.object),\n\t noscript: _propTypes2.default.arrayOf(_propTypes2.default.object),\n\t onChangeClientState: _propTypes2.default.func,\n\t script: _propTypes2.default.arrayOf(_propTypes2.default.object),\n\t style: _propTypes2.default.arrayOf(_propTypes2.default.object),\n\t title: _propTypes2.default.string,\n\t titleAttributes: _propTypes2.default.object,\n\t titleTemplate: _propTypes2.default.string\n\t }, _class.defaultProps = {\n\t defer: true,\n\t encodeSpecialCharacters: true\n\t }, _class.peek = Component.peek, _class.rewind = function () {\n\t var mappedState = Component.rewind();\n\t if (!mappedState) {\n\t // provide fallback if mappedState is undefined\n\t mappedState = (0, _HelmetUtils.mapStateOnServer)({\n\t baseTag: [],\n\t bodyAttributes: {},\n\t encodeSpecialCharacters: true,\n\t htmlAttributes: {},\n\t linkTags: [],\n\t metaTags: [],\n\t noscriptTags: [],\n\t scriptTags: [],\n\t styleTags: [],\n\t title: \"\",\n\t titleAttributes: {}\n\t });\n\t }\n\t\n\t return mappedState;\n\t }, _temp;\n\t};\n\t\n\tvar NullComponent = function NullComponent() {\n\t return null;\n\t};\n\t\n\tvar HelmetSideEffects = (0, _reactSideEffect2.default)(_HelmetUtils.reducePropsToState, _HelmetUtils.handleClientStateChange, _HelmetUtils.mapStateOnServer)(NullComponent);\n\t\n\tvar HelmetExport = Helmet(HelmetSideEffects);\n\tHelmetExport.renderStatic = HelmetExport.rewind;\n\t\n\texports.Helmet = HelmetExport;\n\texports.default = HelmetExport;\n\n/***/ }),\n\n/***/ 180:\n/***/ (function(module, exports) {\n\n\texports.__esModule = true;\n\tvar ATTRIBUTE_NAMES = exports.ATTRIBUTE_NAMES = {\n\t BODY: \"bodyAttributes\",\n\t HTML: \"htmlAttributes\",\n\t TITLE: \"titleAttributes\"\n\t};\n\t\n\tvar TAG_NAMES = exports.TAG_NAMES = {\n\t BASE: \"base\",\n\t BODY: \"body\",\n\t HEAD: \"head\",\n\t HTML: \"html\",\n\t LINK: \"link\",\n\t META: \"meta\",\n\t NOSCRIPT: \"noscript\",\n\t SCRIPT: \"script\",\n\t STYLE: \"style\",\n\t TITLE: \"title\"\n\t};\n\t\n\tvar VALID_TAG_NAMES = exports.VALID_TAG_NAMES = Object.keys(TAG_NAMES).map(function (name) {\n\t return TAG_NAMES[name];\n\t});\n\t\n\tvar TAG_PROPERTIES = exports.TAG_PROPERTIES = {\n\t CHARSET: \"charset\",\n\t CSS_TEXT: \"cssText\",\n\t HREF: \"href\",\n\t HTTPEQUIV: \"http-equiv\",\n\t INNER_HTML: \"innerHTML\",\n\t ITEM_PROP: \"itemprop\",\n\t NAME: \"name\",\n\t PROPERTY: \"property\",\n\t REL: \"rel\",\n\t SRC: \"src\"\n\t};\n\t\n\tvar REACT_TAG_MAP = exports.REACT_TAG_MAP = {\n\t accesskey: \"accessKey\",\n\t charset: \"charSet\",\n\t class: \"className\",\n\t contenteditable: \"contentEditable\",\n\t contextmenu: \"contextMenu\",\n\t \"http-equiv\": \"httpEquiv\",\n\t itemprop: \"itemProp\",\n\t tabindex: \"tabIndex\"\n\t};\n\t\n\tvar HELMET_PROPS = exports.HELMET_PROPS = {\n\t DEFAULT_TITLE: \"defaultTitle\",\n\t DEFER: \"defer\",\n\t ENCODE_SPECIAL_CHARACTERS: \"encodeSpecialCharacters\",\n\t ON_CHANGE_CLIENT_STATE: \"onChangeClientState\",\n\t TITLE_TEMPLATE: \"titleTemplate\"\n\t};\n\t\n\tvar HTML_TAG_MAP = exports.HTML_TAG_MAP = Object.keys(REACT_TAG_MAP).reduce(function (obj, key) {\n\t obj[REACT_TAG_MAP[key]] = key;\n\t return obj;\n\t}, {});\n\t\n\tvar SELF_CLOSING_TAGS = exports.SELF_CLOSING_TAGS = [TAG_NAMES.NOSCRIPT, TAG_NAMES.SCRIPT, TAG_NAMES.STYLE];\n\t\n\tvar HELMET_ATTRIBUTE = exports.HELMET_ATTRIBUTE = \"data-react-helmet\";\n\n/***/ }),\n\n/***/ 427:\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(global) {exports.__esModule = true;\n\texports.warn = exports.requestAnimationFrame = exports.reducePropsToState = exports.mapStateOnServer = exports.handleClientStateChange = exports.convertReactPropstoHtmlAttributes = undefined;\n\t\n\tvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\tvar _react = __webpack_require__(5);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _objectAssign = __webpack_require__(4);\n\t\n\tvar _objectAssign2 = _interopRequireDefault(_objectAssign);\n\t\n\tvar _HelmetConstants = __webpack_require__(180);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar encodeSpecialCharacters = function encodeSpecialCharacters(str) {\n\t var encode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\t\n\t if (encode === false) {\n\t return String(str);\n\t }\n\t\n\t return String(str).replace(/&/g, \"&\").replace(/</g, \"<\").replace(/>/g, \">\").replace(/\"/g, \""\").replace(/'/g, \"'\");\n\t};\n\t\n\tvar getTitleFromPropsList = function getTitleFromPropsList(propsList) {\n\t var innermostTitle = getInnermostProperty(propsList, _HelmetConstants.TAG_NAMES.TITLE);\n\t var innermostTemplate = getInnermostProperty(propsList, _HelmetConstants.HELMET_PROPS.TITLE_TEMPLATE);\n\t\n\t if (innermostTemplate && innermostTitle) {\n\t // use function arg to avoid need to escape $ characters\n\t return innermostTemplate.replace(/%s/g, function () {\n\t return innermostTitle;\n\t });\n\t }\n\t\n\t var innermostDefaultTitle = getInnermostProperty(propsList, _HelmetConstants.HELMET_PROPS.DEFAULT_TITLE);\n\t\n\t return innermostTitle || innermostDefaultTitle || undefined;\n\t};\n\t\n\tvar getOnChangeClientState = function getOnChangeClientState(propsList) {\n\t return getInnermostProperty(propsList, _HelmetConstants.HELMET_PROPS.ON_CHANGE_CLIENT_STATE) || function () {};\n\t};\n\t\n\tvar getAttributesFromPropsList = function getAttributesFromPropsList(tagType, propsList) {\n\t return propsList.filter(function (props) {\n\t return typeof props[tagType] !== \"undefined\";\n\t }).map(function (props) {\n\t return props[tagType];\n\t }).reduce(function (tagAttrs, current) {\n\t return _extends({}, tagAttrs, current);\n\t }, {});\n\t};\n\t\n\tvar getBaseTagFromPropsList = function getBaseTagFromPropsList(primaryAttributes, propsList) {\n\t return propsList.filter(function (props) {\n\t return typeof props[_HelmetConstants.TAG_NAMES.BASE] !== \"undefined\";\n\t }).map(function (props) {\n\t return props[_HelmetConstants.TAG_NAMES.BASE];\n\t }).reverse().reduce(function (innermostBaseTag, tag) {\n\t if (!innermostBaseTag.length) {\n\t var keys = Object.keys(tag);\n\t\n\t for (var i = 0; i < keys.length; i++) {\n\t var attributeKey = keys[i];\n\t var lowerCaseAttributeKey = attributeKey.toLowerCase();\n\t\n\t if (primaryAttributes.indexOf(lowerCaseAttributeKey) !== -1 && tag[lowerCaseAttributeKey]) {\n\t return innermostBaseTag.concat(tag);\n\t }\n\t }\n\t }\n\t\n\t return innermostBaseTag;\n\t }, []);\n\t};\n\t\n\tvar getTagsFromPropsList = function getTagsFromPropsList(tagName, primaryAttributes, propsList) {\n\t // Calculate list of tags, giving priority innermost component (end of the propslist)\n\t var approvedSeenTags = {};\n\t\n\t return propsList.filter(function (props) {\n\t if (Array.isArray(props[tagName])) {\n\t return true;\n\t }\n\t if (typeof props[tagName] !== \"undefined\") {\n\t warn(\"Helmet: \" + tagName + \" should be of type \\\"Array\\\". Instead found type \\\"\" + _typeof(props[tagName]) + \"\\\"\");\n\t }\n\t return false;\n\t }).map(function (props) {\n\t return props[tagName];\n\t }).reverse().reduce(function (approvedTags, instanceTags) {\n\t var instanceSeenTags = {};\n\t\n\t instanceTags.filter(function (tag) {\n\t var primaryAttributeKey = void 0;\n\t var keys = Object.keys(tag);\n\t for (var i = 0; i < keys.length; i++) {\n\t var attributeKey = keys[i];\n\t var lowerCaseAttributeKey = attributeKey.toLowerCase();\n\t\n\t // Special rule with link tags, since rel and href are both primary tags, rel takes priority\n\t if (primaryAttributes.indexOf(lowerCaseAttributeKey) !== -1 && !(primaryAttributeKey === _HelmetConstants.TAG_PROPERTIES.REL && tag[primaryAttributeKey].toLowerCase() === \"canonical\") && !(lowerCaseAttributeKey === _HelmetConstants.TAG_PROPERTIES.REL && tag[lowerCaseAttributeKey].toLowerCase() === \"stylesheet\")) {\n\t primaryAttributeKey = lowerCaseAttributeKey;\n\t }\n\t // Special case for innerHTML which doesn't work lowercased\n\t if (primaryAttributes.indexOf(attributeKey) !== -1 && (attributeKey === _HelmetConstants.TAG_PROPERTIES.INNER_HTML || attributeKey === _HelmetConstants.TAG_PROPERTIES.CSS_TEXT || attributeKey === _HelmetConstants.TAG_PROPERTIES.ITEM_PROP)) {\n\t primaryAttributeKey = attributeKey;\n\t }\n\t }\n\t\n\t if (!primaryAttributeKey || !tag[primaryAttributeKey]) {\n\t return false;\n\t }\n\t\n\t var value = tag[primaryAttributeKey].toLowerCase();\n\t\n\t if (!approvedSeenTags[primaryAttributeKey]) {\n\t approvedSeenTags[primaryAttributeKey] = {};\n\t }\n\t\n\t if (!instanceSeenTags[primaryAttributeKey]) {\n\t instanceSeenTags[primaryAttributeKey] = {};\n\t }\n\t\n\t if (!approvedSeenTags[primaryAttributeKey][value]) {\n\t instanceSeenTags[primaryAttributeKey][value] = true;\n\t return true;\n\t }\n\t\n\t return false;\n\t }).reverse().forEach(function (tag) {\n\t return approvedTags.push(tag);\n\t });\n\t\n\t // Update seen tags with tags from this instance\n\t var keys = Object.keys(instanceSeenTags);\n\t for (var i = 0; i < keys.length; i++) {\n\t var attributeKey = keys[i];\n\t var tagUnion = (0, _objectAssign2.default)({}, approvedSeenTags[attributeKey], instanceSeenTags[attributeKey]);\n\t\n\t approvedSeenTags[attributeKey] = tagUnion;\n\t }\n\t\n\t return approvedTags;\n\t }, []).reverse();\n\t};\n\t\n\tvar getInnermostProperty = function getInnermostProperty(propsList, property) {\n\t for (var i = propsList.length - 1; i >= 0; i--) {\n\t var props = propsList[i];\n\t\n\t if (props.hasOwnProperty(property)) {\n\t return props[property];\n\t }\n\t }\n\t\n\t return null;\n\t};\n\t\n\tvar reducePropsToState = function reducePropsToState(propsList) {\n\t return {\n\t baseTag: getBaseTagFromPropsList([_HelmetConstants.TAG_PROPERTIES.HREF], propsList),\n\t bodyAttributes: getAttributesFromPropsList(_HelmetConstants.ATTRIBUTE_NAMES.BODY, propsList),\n\t defer: getInnermostProperty(propsList, _HelmetConstants.HELMET_PROPS.DEFER),\n\t encode: getInnermostProperty(propsList, _HelmetConstants.HELMET_PROPS.ENCODE_SPECIAL_CHARACTERS),\n\t htmlAttributes: getAttributesFromPropsList(_HelmetConstants.ATTRIBUTE_NAMES.HTML, propsList),\n\t linkTags: getTagsFromPropsList(_HelmetConstants.TAG_NAMES.LINK, [_HelmetConstants.TAG_PROPERTIES.REL, _HelmetConstants.TAG_PROPERTIES.HREF], propsList),\n\t metaTags: getTagsFromPropsList(_HelmetConstants.TAG_NAMES.META, [_HelmetConstants.TAG_PROPERTIES.NAME, _HelmetConstants.TAG_PROPERTIES.CHARSET, _HelmetConstants.TAG_PROPERTIES.HTTPEQUIV, _HelmetConstants.TAG_PROPERTIES.PROPERTY, _HelmetConstants.TAG_PROPERTIES.ITEM_PROP], propsList),\n\t noscriptTags: getTagsFromPropsList(_HelmetConstants.TAG_NAMES.NOSCRIPT, [_HelmetConstants.TAG_PROPERTIES.INNER_HTML], propsList),\n\t onChangeClientState: getOnChangeClientState(propsList),\n\t scriptTags: getTagsFromPropsList(_HelmetConstants.TAG_NAMES.SCRIPT, [_HelmetConstants.TAG_PROPERTIES.SRC, _HelmetConstants.TAG_PROPERTIES.INNER_HTML], propsList),\n\t styleTags: getTagsFromPropsList(_HelmetConstants.TAG_NAMES.STYLE, [_HelmetConstants.TAG_PROPERTIES.CSS_TEXT], propsList),\n\t title: getTitleFromPropsList(propsList),\n\t titleAttributes: getAttributesFromPropsList(_HelmetConstants.ATTRIBUTE_NAMES.TITLE, propsList)\n\t };\n\t};\n\t\n\tvar rafPolyfill = function () {\n\t var clock = Date.now();\n\t\n\t return function (callback) {\n\t var currentTime = Date.now();\n\t\n\t if (currentTime - clock > 16) {\n\t clock = currentTime;\n\t callback(currentTime);\n\t } else {\n\t setTimeout(function () {\n\t rafPolyfill(callback);\n\t }, 0);\n\t }\n\t };\n\t}();\n\t\n\tvar cafPolyfill = function cafPolyfill(id) {\n\t return clearTimeout(id);\n\t};\n\t\n\tvar requestAnimationFrame = typeof window !== \"undefined\" ? window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || rafPolyfill : global.requestAnimationFrame || rafPolyfill;\n\t\n\tvar cancelAnimationFrame = typeof window !== \"undefined\" ? window.cancelAnimationFrame || window.webkitCancelAnimationFrame || window.mozCancelAnimationFrame || cafPolyfill : global.cancelAnimationFrame || cafPolyfill;\n\t\n\tvar warn = function warn(msg) {\n\t return console && typeof console.warn === \"function\" && console.warn(msg);\n\t};\n\t\n\tvar _helmetCallback = null;\n\t\n\tvar handleClientStateChange = function handleClientStateChange(newState) {\n\t if (_helmetCallback) {\n\t cancelAnimationFrame(_helmetCallback);\n\t }\n\t\n\t if (newState.defer) {\n\t _helmetCallback = requestAnimationFrame(function () {\n\t commitTagChanges(newState, function () {\n\t _helmetCallback = null;\n\t });\n\t });\n\t } else {\n\t commitTagChanges(newState);\n\t _helmetCallback = null;\n\t }\n\t};\n\t\n\tvar commitTagChanges = function commitTagChanges(newState, cb) {\n\t var baseTag = newState.baseTag,\n\t bodyAttributes = newState.bodyAttributes,\n\t htmlAttributes = newState.htmlAttributes,\n\t linkTags = newState.linkTags,\n\t metaTags = newState.metaTags,\n\t noscriptTags = newState.noscriptTags,\n\t onChangeClientState = newState.onChangeClientState,\n\t scriptTags = newState.scriptTags,\n\t styleTags = newState.styleTags,\n\t title = newState.title,\n\t titleAttributes = newState.titleAttributes;\n\t\n\t updateAttributes(_HelmetConstants.TAG_NAMES.BODY, bodyAttributes);\n\t updateAttributes(_HelmetConstants.TAG_NAMES.HTML, htmlAttributes);\n\t\n\t updateTitle(title, titleAttributes);\n\t\n\t var tagUpdates = {\n\t baseTag: updateTags(_HelmetConstants.TAG_NAMES.BASE, baseTag),\n\t linkTags: updateTags(_HelmetConstants.TAG_NAMES.LINK, linkTags),\n\t metaTags: updateTags(_HelmetConstants.TAG_NAMES.META, metaTags),\n\t noscriptTags: updateTags(_HelmetConstants.TAG_NAMES.NOSCRIPT, noscriptTags),\n\t scriptTags: updateTags(_HelmetConstants.TAG_NAMES.SCRIPT, scriptTags),\n\t styleTags: updateTags(_HelmetConstants.TAG_NAMES.STYLE, styleTags)\n\t };\n\t\n\t var addedTags = {};\n\t var removedTags = {};\n\t\n\t Object.keys(tagUpdates).forEach(function (tagType) {\n\t var _tagUpdates$tagType = tagUpdates[tagType],\n\t newTags = _tagUpdates$tagType.newTags,\n\t oldTags = _tagUpdates$tagType.oldTags;\n\t\n\t\n\t if (newTags.length) {\n\t addedTags[tagType] = newTags;\n\t }\n\t if (oldTags.length) {\n\t removedTags[tagType] = tagUpdates[tagType].oldTags;\n\t }\n\t });\n\t\n\t cb && cb();\n\t\n\t onChangeClientState(newState, addedTags, removedTags);\n\t};\n\t\n\tvar flattenArray = function flattenArray(possibleArray) {\n\t return Array.isArray(possibleArray) ? possibleArray.join(\"\") : possibleArray;\n\t};\n\t\n\tvar updateTitle = function updateTitle(title, attributes) {\n\t if (typeof title !== \"undefined\" && document.title !== title) {\n\t document.title = flattenArray(title);\n\t }\n\t\n\t updateAttributes(_HelmetConstants.TAG_NAMES.TITLE, attributes);\n\t};\n\t\n\tvar updateAttributes = function updateAttributes(tagName, attributes) {\n\t var elementTag = document.getElementsByTagName(tagName)[0];\n\t\n\t if (!elementTag) {\n\t return;\n\t }\n\t\n\t var helmetAttributeString = elementTag.getAttribute(_HelmetConstants.HELMET_ATTRIBUTE);\n\t var helmetAttributes = helmetAttributeString ? helmetAttributeString.split(\",\") : [];\n\t var attributesToRemove = [].concat(helmetAttributes);\n\t var attributeKeys = Object.keys(attributes);\n\t\n\t for (var i = 0; i < attributeKeys.length; i++) {\n\t var attribute = attributeKeys[i];\n\t var value = attributes[attribute] || \"\";\n\t\n\t if (elementTag.getAttribute(attribute) !== value) {\n\t elementTag.setAttribute(attribute, value);\n\t }\n\t\n\t if (helmetAttributes.indexOf(attribute) === -1) {\n\t helmetAttributes.push(attribute);\n\t }\n\t\n\t var indexToSave = attributesToRemove.indexOf(attribute);\n\t if (indexToSave !== -1) {\n\t attributesToRemove.splice(indexToSave, 1);\n\t }\n\t }\n\t\n\t for (var _i = attributesToRemove.length - 1; _i >= 0; _i--) {\n\t elementTag.removeAttribute(attributesToRemove[_i]);\n\t }\n\t\n\t if (helmetAttributes.length === attributesToRemove.length) {\n\t elementTag.removeAttribute(_HelmetConstants.HELMET_ATTRIBUTE);\n\t } else if (elementTag.getAttribute(_HelmetConstants.HELMET_ATTRIBUTE) !== attributeKeys.join(\",\")) {\n\t elementTag.setAttribute(_HelmetConstants.HELMET_ATTRIBUTE, attributeKeys.join(\",\"));\n\t }\n\t};\n\t\n\tvar updateTags = function updateTags(type, tags) {\n\t var headElement = document.head || document.querySelector(_HelmetConstants.TAG_NAMES.HEAD);\n\t var tagNodes = headElement.querySelectorAll(type + \"[\" + _HelmetConstants.HELMET_ATTRIBUTE + \"]\");\n\t var oldTags = Array.prototype.slice.call(tagNodes);\n\t var newTags = [];\n\t var indexToDelete = void 0;\n\t\n\t if (tags && tags.length) {\n\t tags.forEach(function (tag) {\n\t var newElement = document.createElement(type);\n\t\n\t for (var attribute in tag) {\n\t if (tag.hasOwnProperty(attribute)) {\n\t if (attribute === _HelmetConstants.TAG_PROPERTIES.INNER_HTML) {\n\t newElement.innerHTML = tag.innerHTML;\n\t } else if (attribute === _HelmetConstants.TAG_PROPERTIES.CSS_TEXT) {\n\t if (newElement.styleSheet) {\n\t newElement.styleSheet.cssText = tag.cssText;\n\t } else {\n\t newElement.appendChild(document.createTextNode(tag.cssText));\n\t }\n\t } else {\n\t var value = typeof tag[attribute] === \"undefined\" ? \"\" : tag[attribute];\n\t newElement.setAttribute(attribute, value);\n\t }\n\t }\n\t }\n\t\n\t newElement.setAttribute(_HelmetConstants.HELMET_ATTRIBUTE, \"true\");\n\t\n\t // Remove a duplicate tag from domTagstoRemove, so it isn't cleared.\n\t if (oldTags.some(function (existingTag, index) {\n\t indexToDelete = index;\n\t return newElement.isEqualNode(existingTag);\n\t })) {\n\t oldTags.splice(indexToDelete, 1);\n\t } else {\n\t newTags.push(newElement);\n\t }\n\t });\n\t }\n\t\n\t oldTags.forEach(function (tag) {\n\t return tag.parentNode.removeChild(tag);\n\t });\n\t newTags.forEach(function (tag) {\n\t return headElement.appendChild(tag);\n\t });\n\t\n\t return {\n\t oldTags: oldTags,\n\t newTags: newTags\n\t };\n\t};\n\t\n\tvar generateElementAttributesAsString = function generateElementAttributesAsString(attributes) {\n\t return Object.keys(attributes).reduce(function (str, key) {\n\t var attr = typeof attributes[key] !== \"undefined\" ? key + \"=\\\"\" + attributes[key] + \"\\\"\" : \"\" + key;\n\t return str ? str + \" \" + attr : attr;\n\t }, \"\");\n\t};\n\t\n\tvar generateTitleAsString = function generateTitleAsString(type, title, attributes, encode) {\n\t var attributeString = generateElementAttributesAsString(attributes);\n\t var flattenedTitle = flattenArray(title);\n\t return attributeString ? \"<\" + type + \" \" + _HelmetConstants.HELMET_ATTRIBUTE + \"=\\\"true\\\" \" + attributeString + \">\" + encodeSpecialCharacters(flattenedTitle, encode) + \"</\" + type + \">\" : \"<\" + type + \" \" + _HelmetConstants.HELMET_ATTRIBUTE + \"=\\\"true\\\">\" + encodeSpecialCharacters(flattenedTitle, encode) + \"</\" + type + \">\";\n\t};\n\t\n\tvar generateTagsAsString = function generateTagsAsString(type, tags, encode) {\n\t return tags.reduce(function (str, tag) {\n\t var attributeHtml = Object.keys(tag).filter(function (attribute) {\n\t return !(attribute === _HelmetConstants.TAG_PROPERTIES.INNER_HTML || attribute === _HelmetConstants.TAG_PROPERTIES.CSS_TEXT);\n\t }).reduce(function (string, attribute) {\n\t var attr = typeof tag[attribute] === \"undefined\" ? attribute : attribute + \"=\\\"\" + encodeSpecialCharacters(tag[attribute], encode) + \"\\\"\";\n\t return string ? string + \" \" + attr : attr;\n\t }, \"\");\n\t\n\t var tagContent = tag.innerHTML || tag.cssText || \"\";\n\t\n\t var isSelfClosing = _HelmetConstants.SELF_CLOSING_TAGS.indexOf(type) === -1;\n\t\n\t return str + \"<\" + type + \" \" + _HelmetConstants.HELMET_ATTRIBUTE + \"=\\\"true\\\" \" + attributeHtml + (isSelfClosing ? \"/>\" : \">\" + tagContent + \"</\" + type + \">\");\n\t }, \"\");\n\t};\n\t\n\tvar convertElementAttributestoReactProps = function convertElementAttributestoReactProps(attributes) {\n\t var initProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\t\n\t return Object.keys(attributes).reduce(function (obj, key) {\n\t obj[_HelmetConstants.REACT_TAG_MAP[key] || key] = attributes[key];\n\t return obj;\n\t }, initProps);\n\t};\n\t\n\tvar convertReactPropstoHtmlAttributes = function convertReactPropstoHtmlAttributes(props) {\n\t var initAttributes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\t\n\t return Object.keys(props).reduce(function (obj, key) {\n\t obj[_HelmetConstants.HTML_TAG_MAP[key] || key] = props[key];\n\t return obj;\n\t }, initAttributes);\n\t};\n\t\n\tvar generateTitleAsReactComponent = function generateTitleAsReactComponent(type, title, attributes) {\n\t var _initProps;\n\t\n\t // assigning into an array to define toString function on it\n\t var initProps = (_initProps = {\n\t key: title\n\t }, _initProps[_HelmetConstants.HELMET_ATTRIBUTE] = true, _initProps);\n\t var props = convertElementAttributestoReactProps(attributes, initProps);\n\t\n\t return [_react2.default.createElement(_HelmetConstants.TAG_NAMES.TITLE, props, title)];\n\t};\n\t\n\tvar generateTagsAsReactComponent = function generateTagsAsReactComponent(type, tags) {\n\t return tags.map(function (tag, i) {\n\t var _mappedTag;\n\t\n\t var mappedTag = (_mappedTag = {\n\t key: i\n\t }, _mappedTag[_HelmetConstants.HELMET_ATTRIBUTE] = true, _mappedTag);\n\t\n\t Object.keys(tag).forEach(function (attribute) {\n\t var mappedAttribute = _HelmetConstants.REACT_TAG_MAP[attribute] || attribute;\n\t\n\t if (mappedAttribute === _HelmetConstants.TAG_PROPERTIES.INNER_HTML || mappedAttribute === _HelmetConstants.TAG_PROPERTIES.CSS_TEXT) {\n\t var content = tag.innerHTML || tag.cssText;\n\t mappedTag.dangerouslySetInnerHTML = { __html: content };\n\t } else {\n\t mappedTag[mappedAttribute] = tag[attribute];\n\t }\n\t });\n\t\n\t return _react2.default.createElement(type, mappedTag);\n\t });\n\t};\n\t\n\tvar getMethodsForTag = function getMethodsForTag(type, tags, encode) {\n\t switch (type) {\n\t case _HelmetConstants.TAG_NAMES.TITLE:\n\t return {\n\t toComponent: function toComponent() {\n\t return generateTitleAsReactComponent(type, tags.title, tags.titleAttributes, encode);\n\t },\n\t toString: function toString() {\n\t return generateTitleAsString(type, tags.title, tags.titleAttributes, encode);\n\t }\n\t };\n\t case _HelmetConstants.ATTRIBUTE_NAMES.BODY:\n\t case _HelmetConstants.ATTRIBUTE_NAMES.HTML:\n\t return {\n\t toComponent: function toComponent() {\n\t return convertElementAttributestoReactProps(tags);\n\t },\n\t toString: function toString() {\n\t return generateElementAttributesAsString(tags);\n\t }\n\t };\n\t default:\n\t return {\n\t toComponent: function toComponent() {\n\t return generateTagsAsReactComponent(type, tags);\n\t },\n\t toString: function toString() {\n\t return generateTagsAsString(type, tags, encode);\n\t }\n\t };\n\t }\n\t};\n\t\n\tvar mapStateOnServer = function mapStateOnServer(_ref) {\n\t var baseTag = _ref.baseTag,\n\t bodyAttributes = _ref.bodyAttributes,\n\t encode = _ref.encode,\n\t htmlAttributes = _ref.htmlAttributes,\n\t linkTags = _ref.linkTags,\n\t metaTags = _ref.metaTags,\n\t noscriptTags = _ref.noscriptTags,\n\t scriptTags = _ref.scriptTags,\n\t styleTags = _ref.styleTags,\n\t _ref$title = _ref.title,\n\t title = _ref$title === undefined ? \"\" : _ref$title,\n\t titleAttributes = _ref.titleAttributes;\n\t return {\n\t base: getMethodsForTag(_HelmetConstants.TAG_NAMES.BASE, baseTag, encode),\n\t bodyAttributes: getMethodsForTag(_HelmetConstants.ATTRIBUTE_NAMES.BODY, bodyAttributes, encode),\n\t htmlAttributes: getMethodsForTag(_HelmetConstants.ATTRIBUTE_NAMES.HTML, htmlAttributes, encode),\n\t link: getMethodsForTag(_HelmetConstants.TAG_NAMES.LINK, linkTags, encode),\n\t meta: getMethodsForTag(_HelmetConstants.TAG_NAMES.META, metaTags, encode),\n\t noscript: getMethodsForTag(_HelmetConstants.TAG_NAMES.NOSCRIPT, noscriptTags, encode),\n\t script: getMethodsForTag(_HelmetConstants.TAG_NAMES.SCRIPT, scriptTags, encode),\n\t style: getMethodsForTag(_HelmetConstants.TAG_NAMES.STYLE, styleTags, encode),\n\t title: getMethodsForTag(_HelmetConstants.TAG_NAMES.TITLE, { title: title, titleAttributes: titleAttributes }, encode)\n\t };\n\t};\n\t\n\texports.convertReactPropstoHtmlAttributes = convertReactPropstoHtmlAttributes;\n\texports.handleClientStateChange = handleClientStateChange;\n\texports.mapStateOnServer = mapStateOnServer;\n\texports.reducePropsToState = reducePropsToState;\n\texports.requestAnimationFrame = requestAnimationFrame;\n\texports.warn = warn;\n\t/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))\n\n/***/ }),\n\n/***/ 445:\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\t\n\tvar React = __webpack_require__(5);\n\tvar React__default = _interopDefault(React);\n\tvar ExecutionEnvironment = _interopDefault(__webpack_require__(291));\n\tvar shallowEqual = _interopDefault(__webpack_require__(462));\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tfunction withSideEffect(reducePropsToState, handleStateChangeOnClient, mapStateOnServer) {\n\t if (typeof reducePropsToState !== 'function') {\n\t throw new Error('Expected reducePropsToState to be a function.');\n\t }\n\t if (typeof handleStateChangeOnClient !== 'function') {\n\t throw new Error('Expected handleStateChangeOnClient to be a function.');\n\t }\n\t if (typeof mapStateOnServer !== 'undefined' && typeof mapStateOnServer !== 'function') {\n\t throw new Error('Expected mapStateOnServer to either be undefined or a function.');\n\t }\n\t\n\t function getDisplayName(WrappedComponent) {\n\t return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n\t }\n\t\n\t return function wrap(WrappedComponent) {\n\t if (typeof WrappedComponent !== 'function') {\n\t throw new Error('Expected WrappedComponent to be a React component.');\n\t }\n\t\n\t var mountedInstances = [];\n\t var state = void 0;\n\t\n\t function emitChange() {\n\t state = reducePropsToState(mountedInstances.map(function (instance) {\n\t return instance.props;\n\t }));\n\t\n\t if (SideEffect.canUseDOM) {\n\t handleStateChangeOnClient(state);\n\t } else if (mapStateOnServer) {\n\t state = mapStateOnServer(state);\n\t }\n\t }\n\t\n\t var SideEffect = function (_Component) {\n\t _inherits(SideEffect, _Component);\n\t\n\t function SideEffect() {\n\t _classCallCheck(this, SideEffect);\n\t\n\t return _possibleConstructorReturn(this, _Component.apply(this, arguments));\n\t }\n\t\n\t // Try to use displayName of wrapped component\n\t SideEffect.peek = function peek() {\n\t return state;\n\t };\n\t\n\t // Expose canUseDOM so tests can monkeypatch it\n\t\n\t\n\t SideEffect.rewind = function rewind() {\n\t if (SideEffect.canUseDOM) {\n\t throw new Error('You may only call rewind() on the server. Call peek() to read the current state.');\n\t }\n\t\n\t var recordedState = state;\n\t state = undefined;\n\t mountedInstances = [];\n\t return recordedState;\n\t };\n\t\n\t SideEffect.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {\n\t return !shallowEqual(nextProps, this.props);\n\t };\n\t\n\t SideEffect.prototype.componentWillMount = function componentWillMount() {\n\t mountedInstances.push(this);\n\t emitChange();\n\t };\n\t\n\t SideEffect.prototype.componentDidUpdate = function componentDidUpdate() {\n\t emitChange();\n\t };\n\t\n\t SideEffect.prototype.componentWillUnmount = function componentWillUnmount() {\n\t var index = mountedInstances.indexOf(this);\n\t mountedInstances.splice(index, 1);\n\t emitChange();\n\t };\n\t\n\t SideEffect.prototype.render = function render() {\n\t return React__default.createElement(WrappedComponent, this.props);\n\t };\n\t\n\t return SideEffect;\n\t }(React.Component);\n\t\n\t SideEffect.displayName = 'SideEffect(' + getDisplayName(WrappedComponent) + ')';\n\t SideEffect.canUseDOM = ExecutionEnvironment.canUseDOM;\n\t\n\t\n\t return SideEffect;\n\t };\n\t}\n\t\n\tmodule.exports = withSideEffect;\n\n\n/***/ }),\n\n/***/ 462:\n/***/ (function(module, exports) {\n\n\t//\n\t\n\tmodule.exports = function shallowEqual(objA, objB, compare, compareContext) {\n\t var ret = compare ? compare.call(compareContext, objA, objB) : void 0;\n\t\n\t if (ret !== void 0) {\n\t return !!ret;\n\t }\n\t\n\t if (objA === objB) {\n\t return true;\n\t }\n\t\n\t if (typeof objA !== \"object\" || !objA || typeof objB !== \"object\" || !objB) {\n\t return false;\n\t }\n\t\n\t var keysA = Object.keys(objA);\n\t var keysB = Object.keys(objB);\n\t\n\t if (keysA.length !== keysB.length) {\n\t return false;\n\t }\n\t\n\t var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB);\n\t\n\t // Test for A's keys different from B.\n\t for (var idx = 0; idx < keysA.length; idx++) {\n\t var key = keysA[idx];\n\t\n\t if (!bHasOwnProperty(key)) {\n\t return false;\n\t }\n\t\n\t var valueA = objA[key];\n\t var valueB = objB[key];\n\t\n\t ret = compare ? compare.call(compareContext, valueA, valueB, key) : void 0;\n\t\n\t if (ret === false || (ret === void 0 && valueA !== valueB)) {\n\t return false;\n\t }\n\t }\n\t\n\t return true;\n\t};\n\n\n/***/ }),\n\n/***/ 199:\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _react = __webpack_require__(5);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _gatsbyLink = __webpack_require__(153);\n\t\n\tvar _gatsbyLink2 = _interopRequireDefault(_gatsbyLink);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar Header = function Header(_ref) {\n\t var siteTitle = _ref.siteTitle;\n\t return _react2.default.createElement(\n\t 'div',\n\t null,\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'header-background' },\n\t _react2.default.createElement(\n\t 'h1',\n\t { style: { margin: 0 } },\n\t _react2.default.createElement(\n\t _gatsbyLink2.default,\n\t {\n\t to: '/',\n\t className: 'header-text'\n\t },\n\t siteTitle\n\t )\n\t )\n\t )\n\t );\n\t};\n\t\n\texports.default = Header;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n\n/***/ 292:\n/***/ (function(module, exports) {\n\n\t// removed by extract-text-webpack-plugin\n\n/***/ }),\n\n/***/ 200:\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports.query = undefined;\n\t\n\tvar _react = __webpack_require__(5);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _propTypes = __webpack_require__(8);\n\t\n\tvar _propTypes2 = _interopRequireDefault(_propTypes);\n\t\n\tvar _reactHelmet = __webpack_require__(426);\n\t\n\tvar _reactHelmet2 = _interopRequireDefault(_reactHelmet);\n\t\n\tvar _gatsbyLink = __webpack_require__(153);\n\t\n\tvar _gatsbyLink2 = _interopRequireDefault(_gatsbyLink);\n\t\n\tvar _header = __webpack_require__(199);\n\t\n\tvar _header2 = _interopRequireDefault(_header);\n\t\n\t__webpack_require__(292);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar Layout = function Layout(_ref) {\n\t var children = _ref.children,\n\t data = _ref.data;\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: 'container' },\n\t _react2.default.createElement(_reactHelmet2.default, {\n\t title: data.site.siteMetadata.title,\n\t meta: [{ name: 'description', content: 'CS 361 Fall 2018 Class Website' }, { name: 'keywords', content: 'cs, 361, oregon state, software engineering' }]\n\t }),\n\t _react2.default.createElement(_header2.default, { siteTitle: data.site.siteMetadata.title }),\n\t _react2.default.createElement(\n\t 'div',\n\t null,\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'nav' },\n\t _react2.default.createElement(\n\t _gatsbyLink2.default,\n\t { to: '/schedule' },\n\t 'Schedule'\n\t ),\n\t _react2.default.createElement(\n\t _gatsbyLink2.default,\n\t { to: '/syllabus' },\n\t 'Syllabus'\n\t ),\n\t _react2.default.createElement(\n\t _gatsbyLink2.default,\n\t { to: '/assignments' },\n\t 'Assignments'\n\t ),\n\t _react2.default.createElement(\n\t _gatsbyLink2.default,\n\t { to: '/positive-community' },\n\t 'Establishing a ',\n\t _react2.default.createElement('br', null),\n\t 'positive community'\n\t ),\n\t _react2.default.createElement(\n\t _gatsbyLink2.default,\n\t { to: '/resources' },\n\t 'Resources'\n\t )\n\t ),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'main' },\n\t children()\n\t )\n\t )\n\t );\n\t};\n\t\n\tLayout.propTypes = {\n\t children: _propTypes2.default.func\n\t};\n\t\n\texports.default = Layout;\n\tvar query = exports.query = '** extracted graphql fragment **';\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// component---src-layouts-index-js-5865b978c9770554479f.js","module.exports = {\"data\":{\"site\":{\"siteMetadata\":{\"title\":\"Software Engineering I (CS 361) - Fall 2018\"}}},\"layoutContext\":{}}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/json-loader!./.cache/json/layout-index.json\n// module id = 103\n// module chunks = 60335399758886 114276838955818","\n import React from \"react\"\n import Component from \"/home/travis/build/cs361fall2018/cs361fall2018.github.io/src/layouts/index.js\"\n import data from \"/home/travis/build/cs361fall2018/cs361fall2018.github.io/.cache/json/layout-index.json\"\n\n export default (props) => <Component {...props} {...data} />\n \n\n\n// WEBPACK FOOTER //\n// ./.cache/layouts/index.js","module.exports = { \"default\": require(\"core-js/library/fn/object/assign\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/babel-runtime/core-js/object/assign.js\n// module id = 205\n// module chunks = 114276838955818","module.exports = { \"default\": require(\"core-js/library/fn/object/keys\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/babel-runtime/core-js/object/keys.js\n// module id = 207\n// module chunks = 114276838955818","\"use strict\";\n\nexports.__esModule = true;\n\nvar _assign = require(\"../core-js/object/assign\");\n\nvar _assign2 = _interopRequireDefault(_assign);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _assign2.default || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/babel-runtime/helpers/extends.js\n// module id = 211\n// module chunks = 114276838955818","\"use strict\";\n\nexports.__esModule = true;\n\nexports.default = function (obj, keys) {\n var target = {};\n\n for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n\n return target;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/babel-runtime/helpers/objectWithoutProperties.js\n// module id = 212\n// module chunks = 114276838955818","require('../../modules/es6.object.assign');\nmodule.exports = require('../../modules/_core').Object.assign;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/fn/object/assign.js\n// module id = 215\n// module chunks = 114276838955818","require('../../modules/es6.object.keys');\nmodule.exports = require('../../modules/_core').Object.keys;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/fn/object/keys.js\n// module id = 217\n// module chunks = 114276838955818","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) { B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key];\n } return T;\n} : $assign;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-assign.js\n// module id = 230\n// module chunks = 114276838955818","// most Object methods by ES6 should accept primitives\nvar $export = require('./_export');\nvar core = require('./_core');\nvar fails = require('./_fails');\nmodule.exports = function (KEY, exec) {\n var fn = (core.Object || {})[KEY] || Object[KEY];\n var exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-sap.js\n// module id = 234\n// module chunks = 114276838955818","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/es6.object.assign.js\n// module id = 240\n// module chunks = 114276838955818","// 19.1.2.14 Object.keys(O)\nvar toObject = require('./_to-object');\nvar $keys = require('./_object-keys');\n\nrequire('./_object-sap')('keys', function () {\n return function keys(it) {\n return $keys(toObject(it));\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/es6.object.keys.js\n// module id = 242\n// module chunks = 114276838955818","var pSlice = Array.prototype.slice;\nvar objectKeys = require('./lib/keys.js');\nvar isArguments = require('./lib/is_arguments.js');\n\nvar deepEqual = module.exports = function (actual, expected, opts) {\n if (!opts) opts = {};\n // 7.1. All identical values are equivalent, as determined by ===.\n if (actual === expected) {\n return true;\n\n } else if (actual instanceof Date && expected instanceof Date) {\n return actual.getTime() === expected.getTime();\n\n // 7.3. Other pairs that do not both pass typeof value == 'object',\n // equivalence is determined by ==.\n } else if (!actual || !expected || typeof actual != 'object' && typeof expected != 'object') {\n return opts.strict ? actual === expected : actual == expected;\n\n // 7.4. For all other Object pairs, including Array objects, equivalence is\n // determined by having the same number of owned properties (as verified\n // with Object.prototype.hasOwnProperty.call), the same set of keys\n // (although not necessarily the same order), equivalent values for every\n // corresponding key, and an identical 'prototype' property. Note: this\n // accounts for both named and indexed properties on Arrays.\n } else {\n return objEquiv(actual, expected, opts);\n }\n}\n\nfunction isUndefinedOrNull(value) {\n return value === null || value === undefined;\n}\n\nfunction isBuffer (x) {\n if (!x || typeof x !== 'object' || typeof x.length !== 'number') return false;\n if (typeof x.copy !== 'function' || typeof x.slice !== 'function') {\n return false;\n }\n if (x.length > 0 && typeof x[0] !== 'number') return false;\n return true;\n}\n\nfunction objEquiv(a, b, opts) {\n var i, key;\n if (isUndefinedOrNull(a) || isUndefinedOrNull(b))\n return false;\n // an identical 'prototype' property.\n if (a.prototype !== b.prototype) return false;\n //~~~I've managed to break Object.keys through screwy arguments passing.\n // Converting to array solves the problem.\n if (isArguments(a)) {\n if (!isArguments(b)) {\n return false;\n }\n a = pSlice.call(a);\n b = pSlice.call(b);\n return deepEqual(a, b, opts);\n }\n if (isBuffer(a)) {\n if (!isBuffer(b)) {\n return false;\n }\n if (a.length !== b.length) return false;\n for (i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) return false;\n }\n return true;\n }\n try {\n var ka = objectKeys(a),\n kb = objectKeys(b);\n } catch (e) {//happens when one is a string literal and the other isn't\n return false;\n }\n // having the same number of owned properties (keys incorporates\n // hasOwnProperty)\n if (ka.length != kb.length)\n return false;\n //the same set of keys (although not necessarily the same order),\n ka.sort();\n kb.sort();\n //~~~cheap key test\n for (i = ka.length - 1; i >= 0; i--) {\n if (ka[i] != kb[i])\n return false;\n }\n //equivalent values for every corresponding key, and\n //~~~possibly expensive deep test\n for (i = ka.length - 1; i >= 0; i--) {\n key = ka[i];\n if (!deepEqual(a[key], b[key], opts)) return false;\n }\n return typeof a === typeof b;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/deep-equal/index.js\n// module id = 282\n// module chunks = 114276838955818","var supportsArgumentsClass = (function(){\n return Object.prototype.toString.call(arguments)\n})() == '[object Arguments]';\n\nexports = module.exports = supportsArgumentsClass ? supported : unsupported;\n\nexports.supported = supported;\nfunction supported(object) {\n return Object.prototype.toString.call(object) == '[object Arguments]';\n};\n\nexports.unsupported = unsupported;\nfunction unsupported(object){\n return object &&\n typeof object == 'object' &&\n typeof object.length == 'number' &&\n Object.prototype.hasOwnProperty.call(object, 'callee') &&\n !Object.prototype.propertyIsEnumerable.call(object, 'callee') ||\n false;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/deep-equal/lib/is_arguments.js\n// module id = 283\n// module chunks = 114276838955818","exports = module.exports = typeof Object.keys === 'function'\n ? Object.keys : shim;\n\nexports.shim = shim;\nfunction shim (obj) {\n var keys = [];\n for (var key in obj) keys.push(key);\n return keys;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/deep-equal/lib/keys.js\n// module id = 284\n// module chunks = 114276838955818","/*!\n Copyright (c) 2015 Jed Watson.\n Based on code that is Copyright 2013-2015, Facebook, Inc.\n All rights reserved.\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar canUseDOM = !!(\n\t\ttypeof window !== 'undefined' &&\n\t\twindow.document &&\n\t\twindow.document.createElement\n\t);\n\n\tvar ExecutionEnvironment = {\n\n\t\tcanUseDOM: canUseDOM,\n\n\t\tcanUseWorkers: typeof Worker !== 'undefined',\n\n\t\tcanUseEventListeners:\n\t\t\tcanUseDOM && !!(window.addEventListener || window.attachEvent),\n\n\t\tcanUseViewport: canUseDOM && !!window.screen\n\n\t};\n\n\tif (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\tdefine(function () {\n\t\t\treturn ExecutionEnvironment;\n\t\t});\n\t} else if (typeof module !== 'undefined' && module.exports) {\n\t\tmodule.exports = ExecutionEnvironment;\n\t} else {\n\t\twindow.ExecutionEnvironment = ExecutionEnvironment;\n\t}\n\n}());\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/exenv/index.js\n// module id = 291\n// module chunks = 114276838955818","\"use strict\";\n\nexports.__esModule = true;\nexports.navigateTo = exports.replace = exports.push = undefined;\n\nvar _extends2 = require(\"babel-runtime/helpers/extends\");\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _keys = require(\"babel-runtime/core-js/object/keys\");\n\nvar _keys2 = _interopRequireDefault(_keys);\n\nvar _objectWithoutProperties2 = require(\"babel-runtime/helpers/objectWithoutProperties\");\n\nvar _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);\n\nvar _classCallCheck2 = require(\"babel-runtime/helpers/classCallCheck\");\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _possibleConstructorReturn2 = require(\"babel-runtime/helpers/possibleConstructorReturn\");\n\nvar _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);\n\nvar _inherits2 = require(\"babel-runtime/helpers/inherits\");\n\nvar _inherits3 = _interopRequireDefault(_inherits2);\n\nexports.withPrefix = withPrefix;\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactRouterDom = require(\"react-router-dom\");\n\nvar _propTypes = require(\"prop-types\");\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _history = require(\"history\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/*global __PREFIX_PATHS__, __PATH_PREFIX__ */\nvar pathPrefix = \"/\";\nif (typeof __PREFIX_PATHS__ !== \"undefined\" && __PREFIX_PATHS__) {\n pathPrefix = __PATH_PREFIX__;\n}\n\nfunction withPrefix(path) {\n return normalizePath(pathPrefix + path);\n}\n\nfunction normalizePath(path) {\n return path.replace(/^\\/\\//g, \"/\");\n}\n\nfunction createLocation(path, history) {\n var location = (0, _history.createLocation)(path, null, null, history.location);\n location.pathname = withPrefix(location.pathname);\n return location;\n}\n\nvar NavLinkPropTypes = {\n activeClassName: _propTypes2.default.string,\n activeStyle: _propTypes2.default.object,\n exact: _propTypes2.default.bool,\n strict: _propTypes2.default.bool,\n isActive: _propTypes2.default.func,\n location: _propTypes2.default.object\n\n // Set up IntersectionObserver\n};var handleIntersection = function handleIntersection(el, cb) {\n var io = new window.IntersectionObserver(function (entries) {\n entries.forEach(function (entry) {\n if (el === entry.target) {\n // Check if element is within viewport, remove listener, destroy observer, and run link callback.\n // MSEdge doesn't currently support isIntersecting, so also test for an intersectionRatio > 0\n if (entry.isIntersecting || entry.intersectionRatio > 0) {\n io.unobserve(el);\n io.disconnect();\n cb();\n }\n }\n });\n });\n // Add element to the observer\n io.observe(el);\n};\n\n/* eslint-disable react/no-deprecated */\n\nvar GatsbyLink = function (_React$Component) {\n (0, _inherits3.default)(GatsbyLink, _React$Component);\n\n function GatsbyLink(props, context) {\n (0, _classCallCheck3.default)(this, GatsbyLink);\n\n // Default to no support for IntersectionObserver\n var _this = (0, _possibleConstructorReturn3.default)(this, _React$Component.call(this));\n\n var IOSupported = false;\n if (typeof window !== \"undefined\" && window.IntersectionObserver) {\n IOSupported = true;\n }\n\n var history = context.router.history;\n\n var to = createLocation(props.to, history);\n\n _this.state = {\n path: (0, _history.createPath)(to),\n to: to,\n IOSupported: IOSupported\n };\n _this.handleRef = _this.handleRef.bind(_this);\n return _this;\n }\n\n GatsbyLink.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (this.props.to !== nextProps.to) {\n var to = createLocation(nextProps.to, history);\n this.setState({\n path: (0, _history.createPath)(to),\n to: to\n });\n // Preserve non IO functionality if no support\n if (!this.state.IOSupported) {\n ___loader.enqueue(this.state.to.pathname);\n }\n }\n };\n\n GatsbyLink.prototype.componentDidMount = function componentDidMount() {\n // Preserve non IO functionality if no support\n if (!this.state.IOSupported) {\n ___loader.enqueue(this.state.to.pathname);\n }\n };\n\n GatsbyLink.prototype.handleRef = function handleRef(ref) {\n var _this2 = this;\n\n this.props.innerRef && this.props.innerRef(ref);\n\n if (this.state.IOSupported && ref) {\n // If IO supported and element reference found, setup Observer functionality\n handleIntersection(ref, function () {\n ___loader.enqueue(_this2.state.to.pathname);\n });\n }\n };\n\n GatsbyLink.prototype.render = function render() {\n var _this3 = this;\n\n var _props = this.props,\n _onClick = _props.onClick,\n rest = (0, _objectWithoutProperties3.default)(_props, [\"onClick\"]);\n\n var El = void 0;\n if ((0, _keys2.default)(NavLinkPropTypes).some(function (propName) {\n return _this3.props[propName];\n })) {\n El = _reactRouterDom.NavLink;\n } else {\n El = _reactRouterDom.Link;\n }\n\n return _react2.default.createElement(El, (0, _extends3.default)({\n onClick: function onClick(e) {\n // eslint-disable-line\n _onClick && _onClick(e);\n\n if (e.button === 0 && // ignore right clicks\n !_this3.props.target && // let browser handle \"target=_blank\"\n !e.defaultPrevented && // onClick prevented default\n !e.metaKey && // ignore clicks with modifier keys...\n !e.altKey && !e.ctrlKey && !e.shiftKey) {\n // Is this link pointing to a hash on the same page? If so,\n // just scroll there.\n var pathname = _this3.state.path;\n if (pathname.split(\"#\").length > 1) {\n pathname = pathname.split(\"#\").slice(0, -1).join(\"\");\n }\n if (pathname === window.location.pathname) {\n var hashFragment = _this3.state.path.split(\"#\").slice(1).join(\"#\");\n var element = document.getElementById(hashFragment);\n if (element !== null) {\n element.scrollIntoView();\n return true;\n } else {\n // This is just a normal link to the current page so let's emulate default\n // browser behavior by scrolling now to the top of the page.\n window.scrollTo(0, 0);\n return true;\n }\n }\n\n // In production, make sure the necessary scripts are\n // loaded before continuing.\n if (process.env.NODE_ENV === \"production\") {\n e.preventDefault();\n window.___push(_this3.state.to);\n }\n }\n\n return true;\n }\n }, rest, {\n to: this.state.to,\n innerRef: this.handleRef\n }));\n };\n\n return GatsbyLink;\n}(_react2.default.Component);\n/* eslint-enable */\n\nGatsbyLink.propTypes = (0, _extends3.default)({}, NavLinkPropTypes, {\n innerRef: _propTypes2.default.func,\n onClick: _propTypes2.default.func,\n to: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.object]).isRequired\n});\n\nGatsbyLink.contextTypes = {\n router: _propTypes2.default.object\n};\n\nexports.default = GatsbyLink;\nvar push = exports.push = function push(to) {\n window.___push(to);\n};\n\nvar replace = exports.replace = function replace(to) {\n window.___replace(to);\n};\n\nvar navigateTo = exports.navigateTo = push;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/gatsby-link/index.js\n// module id = 153\n// module chunks = 114276838955818","exports.__esModule = true;\nexports.Helmet = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require(\"prop-types\");\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _reactSideEffect = require(\"react-side-effect\");\n\nvar _reactSideEffect2 = _interopRequireDefault(_reactSideEffect);\n\nvar _deepEqual = require(\"deep-equal\");\n\nvar _deepEqual2 = _interopRequireDefault(_deepEqual);\n\nvar _HelmetUtils = require(\"./HelmetUtils.js\");\n\nvar _HelmetConstants = require(\"./HelmetConstants.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Helmet = function Helmet(Component) {\n var _class, _temp;\n\n return _temp = _class = function (_React$Component) {\n _inherits(HelmetWrapper, _React$Component);\n\n function HelmetWrapper() {\n _classCallCheck(this, HelmetWrapper);\n\n return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));\n }\n\n HelmetWrapper.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {\n return !(0, _deepEqual2.default)(this.props, nextProps);\n };\n\n HelmetWrapper.prototype.mapNestedChildrenToProps = function mapNestedChildrenToProps(child, nestedChildren) {\n if (!nestedChildren) {\n return null;\n }\n\n switch (child.type) {\n case _HelmetConstants.TAG_NAMES.SCRIPT:\n case _HelmetConstants.TAG_NAMES.NOSCRIPT:\n return {\n innerHTML: nestedChildren\n };\n\n case _HelmetConstants.TAG_NAMES.STYLE:\n return {\n cssText: nestedChildren\n };\n }\n\n throw new Error(\"<\" + child.type + \" /> elements are self-closing and can not contain children. Refer to our API for more information.\");\n };\n\n HelmetWrapper.prototype.flattenArrayTypeChildren = function flattenArrayTypeChildren(_ref) {\n var _extends2;\n\n var child = _ref.child,\n arrayTypeChildren = _ref.arrayTypeChildren,\n newChildProps = _ref.newChildProps,\n nestedChildren = _ref.nestedChildren;\n\n return _extends({}, arrayTypeChildren, (_extends2 = {}, _extends2[child.type] = [].concat(arrayTypeChildren[child.type] || [], [_extends({}, newChildProps, this.mapNestedChildrenToProps(child, nestedChildren))]), _extends2));\n };\n\n HelmetWrapper.prototype.mapObjectTypeChildren = function mapObjectTypeChildren(_ref2) {\n var _extends3, _extends4;\n\n var child = _ref2.child,\n newProps = _ref2.newProps,\n newChildProps = _ref2.newChildProps,\n nestedChildren = _ref2.nestedChildren;\n\n switch (child.type) {\n case _HelmetConstants.TAG_NAMES.TITLE:\n return _extends({}, newProps, (_extends3 = {}, _extends3[child.type] = nestedChildren, _extends3.titleAttributes = _extends({}, newChildProps), _extends3));\n\n case _HelmetConstants.TAG_NAMES.BODY:\n return _extends({}, newProps, {\n bodyAttributes: _extends({}, newChildProps)\n });\n\n case _HelmetConstants.TAG_NAMES.HTML:\n return _extends({}, newProps, {\n htmlAttributes: _extends({}, newChildProps)\n });\n }\n\n return _extends({}, newProps, (_extends4 = {}, _extends4[child.type] = _extends({}, newChildProps), _extends4));\n };\n\n HelmetWrapper.prototype.mapArrayTypeChildrenToProps = function mapArrayTypeChildrenToProps(arrayTypeChildren, newProps) {\n var newFlattenedProps = _extends({}, newProps);\n\n Object.keys(arrayTypeChildren).forEach(function (arrayChildName) {\n var _extends5;\n\n newFlattenedProps = _extends({}, newFlattenedProps, (_extends5 = {}, _extends5[arrayChildName] = arrayTypeChildren[arrayChildName], _extends5));\n });\n\n return newFlattenedProps;\n };\n\n HelmetWrapper.prototype.warnOnInvalidChildren = function warnOnInvalidChildren(child, nestedChildren) {\n if (process.env.NODE_ENV !== \"production\") {\n if (!_HelmetConstants.VALID_TAG_NAMES.some(function (name) {\n return child.type === name;\n })) {\n if (typeof child.type === \"function\") {\n return (0, _HelmetUtils.warn)(\"You may be attempting to nest <Helmet> components within each other, which is not allowed. Refer to our API for more information.\");\n }\n\n return (0, _HelmetUtils.warn)(\"Only elements types \" + _HelmetConstants.VALID_TAG_NAMES.join(\", \") + \" are allowed. Helmet does not support rendering <\" + child.type + \"> elements. Refer to our API for more information.\");\n }\n\n if (nestedChildren && typeof nestedChildren !== \"string\" && (!Array.isArray(nestedChildren) || nestedChildren.some(function (nestedChild) {\n return typeof nestedChild !== \"string\";\n }))) {\n throw new Error(\"Helmet expects a string as a child of <\" + child.type + \">. Did you forget to wrap your children in braces? ( <\" + child.type + \">{``}</\" + child.type + \"> ) Refer to our API for more information.\");\n }\n }\n\n return true;\n };\n\n HelmetWrapper.prototype.mapChildrenToProps = function mapChildrenToProps(children, newProps) {\n var _this2 = this;\n\n var arrayTypeChildren = {};\n\n _react2.default.Children.forEach(children, function (child) {\n if (!child || !child.props) {\n return;\n }\n\n var _child$props = child.props,\n nestedChildren = _child$props.children,\n childProps = _objectWithoutProperties(_child$props, [\"children\"]);\n\n var newChildProps = (0, _HelmetUtils.convertReactPropstoHtmlAttributes)(childProps);\n\n _this2.warnOnInvalidChildren(child, nestedChildren);\n\n switch (child.type) {\n case _HelmetConstants.TAG_NAMES.LINK:\n case _HelmetConstants.TAG_NAMES.META:\n case _HelmetConstants.TAG_NAMES.NOSCRIPT:\n case _HelmetConstants.TAG_NAMES.SCRIPT:\n case _HelmetConstants.TAG_NAMES.STYLE:\n arrayTypeChildren = _this2.flattenArrayTypeChildren({\n child: child,\n arrayTypeChildren: arrayTypeChildren,\n newChildProps: newChildProps,\n nestedChildren: nestedChildren\n });\n break;\n\n default:\n newProps = _this2.mapObjectTypeChildren({\n child: child,\n newProps: newProps,\n newChildProps: newChildProps,\n nestedChildren: nestedChildren\n });\n break;\n }\n });\n\n newProps = this.mapArrayTypeChildrenToProps(arrayTypeChildren, newProps);\n return newProps;\n };\n\n HelmetWrapper.prototype.render = function render() {\n var _props = this.props,\n children = _props.children,\n props = _objectWithoutProperties(_props, [\"children\"]);\n\n var newProps = _extends({}, props);\n\n if (children) {\n newProps = this.mapChildrenToProps(children, newProps);\n }\n\n return _react2.default.createElement(Component, newProps);\n };\n\n _createClass(HelmetWrapper, null, [{\n key: \"canUseDOM\",\n\n\n // Component.peek comes from react-side-effect:\n // For testing, you may use a static peek() method available on the returned component.\n // It lets you get the current state without resetting the mounted instance stack.\n // Don’t use it for anything other than testing.\n\n /**\n * @param {Object} base: {\"target\": \"_blank\", \"href\": \"http://mysite.com/\"}\n * @param {Object} bodyAttributes: {\"className\": \"root\"}\n * @param {String} defaultTitle: \"Default Title\"\n * @param {Boolean} defer: true\n * @param {Boolean} encodeSpecialCharacters: true\n * @param {Object} htmlAttributes: {\"lang\": \"en\", \"amp\": undefined}\n * @param {Array} link: [{\"rel\": \"canonical\", \"href\": \"http://mysite.com/example\"}]\n * @param {Array} meta: [{\"name\": \"description\", \"content\": \"Test description\"}]\n * @param {Array} noscript: [{\"innerHTML\": \"<img src='http://mysite.com/js/test.js'\"}]\n * @param {Function} onChangeClientState: \"(newState) => console.log(newState)\"\n * @param {Array} script: [{\"type\": \"text/javascript\", \"src\": \"http://mysite.com/js/test.js\"}]\n * @param {Array} style: [{\"type\": \"text/css\", \"cssText\": \"div { display: block; color: blue; }\"}]\n * @param {String} title: \"Title\"\n * @param {Object} titleAttributes: {\"itemprop\": \"name\"}\n * @param {String} titleTemplate: \"MySite.com - %s\"\n */\n set: function set(canUseDOM) {\n Component.canUseDOM = canUseDOM;\n }\n }]);\n\n return HelmetWrapper;\n }(_react2.default.Component), _class.propTypes = {\n base: _propTypes2.default.object,\n bodyAttributes: _propTypes2.default.object,\n children: _propTypes2.default.oneOfType([_propTypes2.default.arrayOf(_propTypes2.default.node), _propTypes2.default.node]),\n defaultTitle: _propTypes2.default.string,\n defer: _propTypes2.default.bool,\n encodeSpecialCharacters: _propTypes2.default.bool,\n htmlAttributes: _propTypes2.default.object,\n link: _propTypes2.default.arrayOf(_propTypes2.default.object),\n meta: _propTypes2.default.arrayOf(_propTypes2.default.object),\n noscript: _propTypes2.default.arrayOf(_propTypes2.default.object),\n onChangeClientState: _propTypes2.default.func,\n script: _propTypes2.default.arrayOf(_propTypes2.default.object),\n style: _propTypes2.default.arrayOf(_propTypes2.default.object),\n title: _propTypes2.default.string,\n titleAttributes: _propTypes2.default.object,\n titleTemplate: _propTypes2.default.string\n }, _class.defaultProps = {\n defer: true,\n encodeSpecialCharacters: true\n }, _class.peek = Component.peek, _class.rewind = function () {\n var mappedState = Component.rewind();\n if (!mappedState) {\n // provide fallback if mappedState is undefined\n mappedState = (0, _HelmetUtils.mapStateOnServer)({\n baseTag: [],\n bodyAttributes: {},\n encodeSpecialCharacters: true,\n htmlAttributes: {},\n linkTags: [],\n metaTags: [],\n noscriptTags: [],\n scriptTags: [],\n styleTags: [],\n title: \"\",\n titleAttributes: {}\n });\n }\n\n return mappedState;\n }, _temp;\n};\n\nvar NullComponent = function NullComponent() {\n return null;\n};\n\nvar HelmetSideEffects = (0, _reactSideEffect2.default)(_HelmetUtils.reducePropsToState, _HelmetUtils.handleClientStateChange, _HelmetUtils.mapStateOnServer)(NullComponent);\n\nvar HelmetExport = Helmet(HelmetSideEffects);\nHelmetExport.renderStatic = HelmetExport.rewind;\n\nexports.Helmet = HelmetExport;\nexports.default = HelmetExport;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-helmet/lib/Helmet.js\n// module id = 426\n// module chunks = 114276838955818","exports.__esModule = true;\nvar ATTRIBUTE_NAMES = exports.ATTRIBUTE_NAMES = {\n BODY: \"bodyAttributes\",\n HTML: \"htmlAttributes\",\n TITLE: \"titleAttributes\"\n};\n\nvar TAG_NAMES = exports.TAG_NAMES = {\n BASE: \"base\",\n BODY: \"body\",\n HEAD: \"head\",\n HTML: \"html\",\n LINK: \"link\",\n META: \"meta\",\n NOSCRIPT: \"noscript\",\n SCRIPT: \"script\",\n STYLE: \"style\",\n TITLE: \"title\"\n};\n\nvar VALID_TAG_NAMES = exports.VALID_TAG_NAMES = Object.keys(TAG_NAMES).map(function (name) {\n return TAG_NAMES[name];\n});\n\nvar TAG_PROPERTIES = exports.TAG_PROPERTIES = {\n CHARSET: \"charset\",\n CSS_TEXT: \"cssText\",\n HREF: \"href\",\n HTTPEQUIV: \"http-equiv\",\n INNER_HTML: \"innerHTML\",\n ITEM_PROP: \"itemprop\",\n NAME: \"name\",\n PROPERTY: \"property\",\n REL: \"rel\",\n SRC: \"src\"\n};\n\nvar REACT_TAG_MAP = exports.REACT_TAG_MAP = {\n accesskey: \"accessKey\",\n charset: \"charSet\",\n class: \"className\",\n contenteditable: \"contentEditable\",\n contextmenu: \"contextMenu\",\n \"http-equiv\": \"httpEquiv\",\n itemprop: \"itemProp\",\n tabindex: \"tabIndex\"\n};\n\nvar HELMET_PROPS = exports.HELMET_PROPS = {\n DEFAULT_TITLE: \"defaultTitle\",\n DEFER: \"defer\",\n ENCODE_SPECIAL_CHARACTERS: \"encodeSpecialCharacters\",\n ON_CHANGE_CLIENT_STATE: \"onChangeClientState\",\n TITLE_TEMPLATE: \"titleTemplate\"\n};\n\nvar HTML_TAG_MAP = exports.HTML_TAG_MAP = Object.keys(REACT_TAG_MAP).reduce(function (obj, key) {\n obj[REACT_TAG_MAP[key]] = key;\n return obj;\n}, {});\n\nvar SELF_CLOSING_TAGS = exports.SELF_CLOSING_TAGS = [TAG_NAMES.NOSCRIPT, TAG_NAMES.SCRIPT, TAG_NAMES.STYLE];\n\nvar HELMET_ATTRIBUTE = exports.HELMET_ATTRIBUTE = \"data-react-helmet\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-helmet/lib/HelmetConstants.js\n// module id = 180\n// module chunks = 114276838955818","exports.__esModule = true;\nexports.warn = exports.requestAnimationFrame = exports.reducePropsToState = exports.mapStateOnServer = exports.handleClientStateChange = exports.convertReactPropstoHtmlAttributes = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _objectAssign = require(\"object-assign\");\n\nvar _objectAssign2 = _interopRequireDefault(_objectAssign);\n\nvar _HelmetConstants = require(\"./HelmetConstants.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar encodeSpecialCharacters = function encodeSpecialCharacters(str) {\n var encode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n if (encode === false) {\n return String(str);\n }\n\n return String(str).replace(/&/g, \"&\").replace(/</g, \"<\").replace(/>/g, \">\").replace(/\"/g, \""\").replace(/'/g, \"'\");\n};\n\nvar getTitleFromPropsList = function getTitleFromPropsList(propsList) {\n var innermostTitle = getInnermostProperty(propsList, _HelmetConstants.TAG_NAMES.TITLE);\n var innermostTemplate = getInnermostProperty(propsList, _HelmetConstants.HELMET_PROPS.TITLE_TEMPLATE);\n\n if (innermostTemplate && innermostTitle) {\n // use function arg to avoid need to escape $ characters\n return innermostTemplate.replace(/%s/g, function () {\n return innermostTitle;\n });\n }\n\n var innermostDefaultTitle = getInnermostProperty(propsList, _HelmetConstants.HELMET_PROPS.DEFAULT_TITLE);\n\n return innermostTitle || innermostDefaultTitle || undefined;\n};\n\nvar getOnChangeClientState = function getOnChangeClientState(propsList) {\n return getInnermostProperty(propsList, _HelmetConstants.HELMET_PROPS.ON_CHANGE_CLIENT_STATE) || function () {};\n};\n\nvar getAttributesFromPropsList = function getAttributesFromPropsList(tagType, propsList) {\n return propsList.filter(function (props) {\n return typeof props[tagType] !== \"undefined\";\n }).map(function (props) {\n return props[tagType];\n }).reduce(function (tagAttrs, current) {\n return _extends({}, tagAttrs, current);\n }, {});\n};\n\nvar getBaseTagFromPropsList = function getBaseTagFromPropsList(primaryAttributes, propsList) {\n return propsList.filter(function (props) {\n return typeof props[_HelmetConstants.TAG_NAMES.BASE] !== \"undefined\";\n }).map(function (props) {\n return props[_HelmetConstants.TAG_NAMES.BASE];\n }).reverse().reduce(function (innermostBaseTag, tag) {\n if (!innermostBaseTag.length) {\n var keys = Object.keys(tag);\n\n for (var i = 0; i < keys.length; i++) {\n var attributeKey = keys[i];\n var lowerCaseAttributeKey = attributeKey.toLowerCase();\n\n if (primaryAttributes.indexOf(lowerCaseAttributeKey) !== -1 && tag[lowerCaseAttributeKey]) {\n return innermostBaseTag.concat(tag);\n }\n }\n }\n\n return innermostBaseTag;\n }, []);\n};\n\nvar getTagsFromPropsList = function getTagsFromPropsList(tagName, primaryAttributes, propsList) {\n // Calculate list of tags, giving priority innermost component (end of the propslist)\n var approvedSeenTags = {};\n\n return propsList.filter(function (props) {\n if (Array.isArray(props[tagName])) {\n return true;\n }\n if (typeof props[tagName] !== \"undefined\") {\n warn(\"Helmet: \" + tagName + \" should be of type \\\"Array\\\". Instead found type \\\"\" + _typeof(props[tagName]) + \"\\\"\");\n }\n return false;\n }).map(function (props) {\n return props[tagName];\n }).reverse().reduce(function (approvedTags, instanceTags) {\n var instanceSeenTags = {};\n\n instanceTags.filter(function (tag) {\n var primaryAttributeKey = void 0;\n var keys = Object.keys(tag);\n for (var i = 0; i < keys.length; i++) {\n var attributeKey = keys[i];\n var lowerCaseAttributeKey = attributeKey.toLowerCase();\n\n // Special rule with link tags, since rel and href are both primary tags, rel takes priority\n if (primaryAttributes.indexOf(lowerCaseAttributeKey) !== -1 && !(primaryAttributeKey === _HelmetConstants.TAG_PROPERTIES.REL && tag[primaryAttributeKey].toLowerCase() === \"canonical\") && !(lowerCaseAttributeKey === _HelmetConstants.TAG_PROPERTIES.REL && tag[lowerCaseAttributeKey].toLowerCase() === \"stylesheet\")) {\n primaryAttributeKey = lowerCaseAttributeKey;\n }\n // Special case for innerHTML which doesn't work lowercased\n if (primaryAttributes.indexOf(attributeKey) !== -1 && (attributeKey === _HelmetConstants.TAG_PROPERTIES.INNER_HTML || attributeKey === _HelmetConstants.TAG_PROPERTIES.CSS_TEXT || attributeKey === _HelmetConstants.TAG_PROPERTIES.ITEM_PROP)) {\n primaryAttributeKey = attributeKey;\n }\n }\n\n if (!primaryAttributeKey || !tag[primaryAttributeKey]) {\n return false;\n }\n\n var value = tag[primaryAttributeKey].toLowerCase();\n\n if (!approvedSeenTags[primaryAttributeKey]) {\n approvedSeenTags[primaryAttributeKey] = {};\n }\n\n if (!instanceSeenTags[primaryAttributeKey]) {\n instanceSeenTags[primaryAttributeKey] = {};\n }\n\n if (!approvedSeenTags[primaryAttributeKey][value]) {\n instanceSeenTags[primaryAttributeKey][value] = true;\n return true;\n }\n\n return false;\n }).reverse().forEach(function (tag) {\n return approvedTags.push(tag);\n });\n\n // Update seen tags with tags from this instance\n var keys = Object.keys(instanceSeenTags);\n for (var i = 0; i < keys.length; i++) {\n var attributeKey = keys[i];\n var tagUnion = (0, _objectAssign2.default)({}, approvedSeenTags[attributeKey], instanceSeenTags[attributeKey]);\n\n approvedSeenTags[attributeKey] = tagUnion;\n }\n\n return approvedTags;\n }, []).reverse();\n};\n\nvar getInnermostProperty = function getInnermostProperty(propsList, property) {\n for (var i = propsList.length - 1; i >= 0; i--) {\n var props = propsList[i];\n\n if (props.hasOwnProperty(property)) {\n return props[property];\n }\n }\n\n return null;\n};\n\nvar reducePropsToState = function reducePropsToState(propsList) {\n return {\n baseTag: getBaseTagFromPropsList([_HelmetConstants.TAG_PROPERTIES.HREF], propsList),\n bodyAttributes: getAttributesFromPropsList(_HelmetConstants.ATTRIBUTE_NAMES.BODY, propsList),\n defer: getInnermostProperty(propsList, _HelmetConstants.HELMET_PROPS.DEFER),\n encode: getInnermostProperty(propsList, _HelmetConstants.HELMET_PROPS.ENCODE_SPECIAL_CHARACTERS),\n htmlAttributes: getAttributesFromPropsList(_HelmetConstants.ATTRIBUTE_NAMES.HTML, propsList),\n linkTags: getTagsFromPropsList(_HelmetConstants.TAG_NAMES.LINK, [_HelmetConstants.TAG_PROPERTIES.REL, _HelmetConstants.TAG_PROPERTIES.HREF], propsList),\n metaTags: getTagsFromPropsList(_HelmetConstants.TAG_NAMES.META, [_HelmetConstants.TAG_PROPERTIES.NAME, _HelmetConstants.TAG_PROPERTIES.CHARSET, _HelmetConstants.TAG_PROPERTIES.HTTPEQUIV, _HelmetConstants.TAG_PROPERTIES.PROPERTY, _HelmetConstants.TAG_PROPERTIES.ITEM_PROP], propsList),\n noscriptTags: getTagsFromPropsList(_HelmetConstants.TAG_NAMES.NOSCRIPT, [_HelmetConstants.TAG_PROPERTIES.INNER_HTML], propsList),\n onChangeClientState: getOnChangeClientState(propsList),\n scriptTags: getTagsFromPropsList(_HelmetConstants.TAG_NAMES.SCRIPT, [_HelmetConstants.TAG_PROPERTIES.SRC, _HelmetConstants.TAG_PROPERTIES.INNER_HTML], propsList),\n styleTags: getTagsFromPropsList(_HelmetConstants.TAG_NAMES.STYLE, [_HelmetConstants.TAG_PROPERTIES.CSS_TEXT], propsList),\n title: getTitleFromPropsList(propsList),\n titleAttributes: getAttributesFromPropsList(_HelmetConstants.ATTRIBUTE_NAMES.TITLE, propsList)\n };\n};\n\nvar rafPolyfill = function () {\n var clock = Date.now();\n\n return function (callback) {\n var currentTime = Date.now();\n\n if (currentTime - clock > 16) {\n clock = currentTime;\n callback(currentTime);\n } else {\n setTimeout(function () {\n rafPolyfill(callback);\n }, 0);\n }\n };\n}();\n\nvar cafPolyfill = function cafPolyfill(id) {\n return clearTimeout(id);\n};\n\nvar requestAnimationFrame = typeof window !== \"undefined\" ? window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || rafPolyfill : global.requestAnimationFrame || rafPolyfill;\n\nvar cancelAnimationFrame = typeof window !== \"undefined\" ? window.cancelAnimationFrame || window.webkitCancelAnimationFrame || window.mozCancelAnimationFrame || cafPolyfill : global.cancelAnimationFrame || cafPolyfill;\n\nvar warn = function warn(msg) {\n return console && typeof console.warn === \"function\" && console.warn(msg);\n};\n\nvar _helmetCallback = null;\n\nvar handleClientStateChange = function handleClientStateChange(newState) {\n if (_helmetCallback) {\n cancelAnimationFrame(_helmetCallback);\n }\n\n if (newState.defer) {\n _helmetCallback = requestAnimationFrame(function () {\n commitTagChanges(newState, function () {\n _helmetCallback = null;\n });\n });\n } else {\n commitTagChanges(newState);\n _helmetCallback = null;\n }\n};\n\nvar commitTagChanges = function commitTagChanges(newState, cb) {\n var baseTag = newState.baseTag,\n bodyAttributes = newState.bodyAttributes,\n htmlAttributes = newState.htmlAttributes,\n linkTags = newState.linkTags,\n metaTags = newState.metaTags,\n noscriptTags = newState.noscriptTags,\n onChangeClientState = newState.onChangeClientState,\n scriptTags = newState.scriptTags,\n styleTags = newState.styleTags,\n title = newState.title,\n titleAttributes = newState.titleAttributes;\n\n updateAttributes(_HelmetConstants.TAG_NAMES.BODY, bodyAttributes);\n updateAttributes(_HelmetConstants.TAG_NAMES.HTML, htmlAttributes);\n\n updateTitle(title, titleAttributes);\n\n var tagUpdates = {\n baseTag: updateTags(_HelmetConstants.TAG_NAMES.BASE, baseTag),\n linkTags: updateTags(_HelmetConstants.TAG_NAMES.LINK, linkTags),\n metaTags: updateTags(_HelmetConstants.TAG_NAMES.META, metaTags),\n noscriptTags: updateTags(_HelmetConstants.TAG_NAMES.NOSCRIPT, noscriptTags),\n scriptTags: updateTags(_HelmetConstants.TAG_NAMES.SCRIPT, scriptTags),\n styleTags: updateTags(_HelmetConstants.TAG_NAMES.STYLE, styleTags)\n };\n\n var addedTags = {};\n var removedTags = {};\n\n Object.keys(tagUpdates).forEach(function (tagType) {\n var _tagUpdates$tagType = tagUpdates[tagType],\n newTags = _tagUpdates$tagType.newTags,\n oldTags = _tagUpdates$tagType.oldTags;\n\n\n if (newTags.length) {\n addedTags[tagType] = newTags;\n }\n if (oldTags.length) {\n removedTags[tagType] = tagUpdates[tagType].oldTags;\n }\n });\n\n cb && cb();\n\n onChangeClientState(newState, addedTags, removedTags);\n};\n\nvar flattenArray = function flattenArray(possibleArray) {\n return Array.isArray(possibleArray) ? possibleArray.join(\"\") : possibleArray;\n};\n\nvar updateTitle = function updateTitle(title, attributes) {\n if (typeof title !== \"undefined\" && document.title !== title) {\n document.title = flattenArray(title);\n }\n\n updateAttributes(_HelmetConstants.TAG_NAMES.TITLE, attributes);\n};\n\nvar updateAttributes = function updateAttributes(tagName, attributes) {\n var elementTag = document.getElementsByTagName(tagName)[0];\n\n if (!elementTag) {\n return;\n }\n\n var helmetAttributeString = elementTag.getAttribute(_HelmetConstants.HELMET_ATTRIBUTE);\n var helmetAttributes = helmetAttributeString ? helmetAttributeString.split(\",\") : [];\n var attributesToRemove = [].concat(helmetAttributes);\n var attributeKeys = Object.keys(attributes);\n\n for (var i = 0; i < attributeKeys.length; i++) {\n var attribute = attributeKeys[i];\n var value = attributes[attribute] || \"\";\n\n if (elementTag.getAttribute(attribute) !== value) {\n elementTag.setAttribute(attribute, value);\n }\n\n if (helmetAttributes.indexOf(attribute) === -1) {\n helmetAttributes.push(attribute);\n }\n\n var indexToSave = attributesToRemove.indexOf(attribute);\n if (indexToSave !== -1) {\n attributesToRemove.splice(indexToSave, 1);\n }\n }\n\n for (var _i = attributesToRemove.length - 1; _i >= 0; _i--) {\n elementTag.removeAttribute(attributesToRemove[_i]);\n }\n\n if (helmetAttributes.length === attributesToRemove.length) {\n elementTag.removeAttribute(_HelmetConstants.HELMET_ATTRIBUTE);\n } else if (elementTag.getAttribute(_HelmetConstants.HELMET_ATTRIBUTE) !== attributeKeys.join(\",\")) {\n elementTag.setAttribute(_HelmetConstants.HELMET_ATTRIBUTE, attributeKeys.join(\",\"));\n }\n};\n\nvar updateTags = function updateTags(type, tags) {\n var headElement = document.head || document.querySelector(_HelmetConstants.TAG_NAMES.HEAD);\n var tagNodes = headElement.querySelectorAll(type + \"[\" + _HelmetConstants.HELMET_ATTRIBUTE + \"]\");\n var oldTags = Array.prototype.slice.call(tagNodes);\n var newTags = [];\n var indexToDelete = void 0;\n\n if (tags && tags.length) {\n tags.forEach(function (tag) {\n var newElement = document.createElement(type);\n\n for (var attribute in tag) {\n if (tag.hasOwnProperty(attribute)) {\n if (attribute === _HelmetConstants.TAG_PROPERTIES.INNER_HTML) {\n newElement.innerHTML = tag.innerHTML;\n } else if (attribute === _HelmetConstants.TAG_PROPERTIES.CSS_TEXT) {\n if (newElement.styleSheet) {\n newElement.styleSheet.cssText = tag.cssText;\n } else {\n newElement.appendChild(document.createTextNode(tag.cssText));\n }\n } else {\n var value = typeof tag[attribute] === \"undefined\" ? \"\" : tag[attribute];\n newElement.setAttribute(attribute, value);\n }\n }\n }\n\n newElement.setAttribute(_HelmetConstants.HELMET_ATTRIBUTE, \"true\");\n\n // Remove a duplicate tag from domTagstoRemove, so it isn't cleared.\n if (oldTags.some(function (existingTag, index) {\n indexToDelete = index;\n return newElement.isEqualNode(existingTag);\n })) {\n oldTags.splice(indexToDelete, 1);\n } else {\n newTags.push(newElement);\n }\n });\n }\n\n oldTags.forEach(function (tag) {\n return tag.parentNode.removeChild(tag);\n });\n newTags.forEach(function (tag) {\n return headElement.appendChild(tag);\n });\n\n return {\n oldTags: oldTags,\n newTags: newTags\n };\n};\n\nvar generateElementAttributesAsString = function generateElementAttributesAsString(attributes) {\n return Object.keys(attributes).reduce(function (str, key) {\n var attr = typeof attributes[key] !== \"undefined\" ? key + \"=\\\"\" + attributes[key] + \"\\\"\" : \"\" + key;\n return str ? str + \" \" + attr : attr;\n }, \"\");\n};\n\nvar generateTitleAsString = function generateTitleAsString(type, title, attributes, encode) {\n var attributeString = generateElementAttributesAsString(attributes);\n var flattenedTitle = flattenArray(title);\n return attributeString ? \"<\" + type + \" \" + _HelmetConstants.HELMET_ATTRIBUTE + \"=\\\"true\\\" \" + attributeString + \">\" + encodeSpecialCharacters(flattenedTitle, encode) + \"</\" + type + \">\" : \"<\" + type + \" \" + _HelmetConstants.HELMET_ATTRIBUTE + \"=\\\"true\\\">\" + encodeSpecialCharacters(flattenedTitle, encode) + \"</\" + type + \">\";\n};\n\nvar generateTagsAsString = function generateTagsAsString(type, tags, encode) {\n return tags.reduce(function (str, tag) {\n var attributeHtml = Object.keys(tag).filter(function (attribute) {\n return !(attribute === _HelmetConstants.TAG_PROPERTIES.INNER_HTML || attribute === _HelmetConstants.TAG_PROPERTIES.CSS_TEXT);\n }).reduce(function (string, attribute) {\n var attr = typeof tag[attribute] === \"undefined\" ? attribute : attribute + \"=\\\"\" + encodeSpecialCharacters(tag[attribute], encode) + \"\\\"\";\n return string ? string + \" \" + attr : attr;\n }, \"\");\n\n var tagContent = tag.innerHTML || tag.cssText || \"\";\n\n var isSelfClosing = _HelmetConstants.SELF_CLOSING_TAGS.indexOf(type) === -1;\n\n return str + \"<\" + type + \" \" + _HelmetConstants.HELMET_ATTRIBUTE + \"=\\\"true\\\" \" + attributeHtml + (isSelfClosing ? \"/>\" : \">\" + tagContent + \"</\" + type + \">\");\n }, \"\");\n};\n\nvar convertElementAttributestoReactProps = function convertElementAttributestoReactProps(attributes) {\n var initProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n return Object.keys(attributes).reduce(function (obj, key) {\n obj[_HelmetConstants.REACT_TAG_MAP[key] || key] = attributes[key];\n return obj;\n }, initProps);\n};\n\nvar convertReactPropstoHtmlAttributes = function convertReactPropstoHtmlAttributes(props) {\n var initAttributes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n return Object.keys(props).reduce(function (obj, key) {\n obj[_HelmetConstants.HTML_TAG_MAP[key] || key] = props[key];\n return obj;\n }, initAttributes);\n};\n\nvar generateTitleAsReactComponent = function generateTitleAsReactComponent(type, title, attributes) {\n var _initProps;\n\n // assigning into an array to define toString function on it\n var initProps = (_initProps = {\n key: title\n }, _initProps[_HelmetConstants.HELMET_ATTRIBUTE] = true, _initProps);\n var props = convertElementAttributestoReactProps(attributes, initProps);\n\n return [_react2.default.createElement(_HelmetConstants.TAG_NAMES.TITLE, props, title)];\n};\n\nvar generateTagsAsReactComponent = function generateTagsAsReactComponent(type, tags) {\n return tags.map(function (tag, i) {\n var _mappedTag;\n\n var mappedTag = (_mappedTag = {\n key: i\n }, _mappedTag[_HelmetConstants.HELMET_ATTRIBUTE] = true, _mappedTag);\n\n Object.keys(tag).forEach(function (attribute) {\n var mappedAttribute = _HelmetConstants.REACT_TAG_MAP[attribute] || attribute;\n\n if (mappedAttribute === _HelmetConstants.TAG_PROPERTIES.INNER_HTML || mappedAttribute === _HelmetConstants.TAG_PROPERTIES.CSS_TEXT) {\n var content = tag.innerHTML || tag.cssText;\n mappedTag.dangerouslySetInnerHTML = { __html: content };\n } else {\n mappedTag[mappedAttribute] = tag[attribute];\n }\n });\n\n return _react2.default.createElement(type, mappedTag);\n });\n};\n\nvar getMethodsForTag = function getMethodsForTag(type, tags, encode) {\n switch (type) {\n case _HelmetConstants.TAG_NAMES.TITLE:\n return {\n toComponent: function toComponent() {\n return generateTitleAsReactComponent(type, tags.title, tags.titleAttributes, encode);\n },\n toString: function toString() {\n return generateTitleAsString(type, tags.title, tags.titleAttributes, encode);\n }\n };\n case _HelmetConstants.ATTRIBUTE_NAMES.BODY:\n case _HelmetConstants.ATTRIBUTE_NAMES.HTML:\n return {\n toComponent: function toComponent() {\n return convertElementAttributestoReactProps(tags);\n },\n toString: function toString() {\n return generateElementAttributesAsString(tags);\n }\n };\n default:\n return {\n toComponent: function toComponent() {\n return generateTagsAsReactComponent(type, tags);\n },\n toString: function toString() {\n return generateTagsAsString(type, tags, encode);\n }\n };\n }\n};\n\nvar mapStateOnServer = function mapStateOnServer(_ref) {\n var baseTag = _ref.baseTag,\n bodyAttributes = _ref.bodyAttributes,\n encode = _ref.encode,\n htmlAttributes = _ref.htmlAttributes,\n linkTags = _ref.linkTags,\n metaTags = _ref.metaTags,\n noscriptTags = _ref.noscriptTags,\n scriptTags = _ref.scriptTags,\n styleTags = _ref.styleTags,\n _ref$title = _ref.title,\n title = _ref$title === undefined ? \"\" : _ref$title,\n titleAttributes = _ref.titleAttributes;\n return {\n base: getMethodsForTag(_HelmetConstants.TAG_NAMES.BASE, baseTag, encode),\n bodyAttributes: getMethodsForTag(_HelmetConstants.ATTRIBUTE_NAMES.BODY, bodyAttributes, encode),\n htmlAttributes: getMethodsForTag(_HelmetConstants.ATTRIBUTE_NAMES.HTML, htmlAttributes, encode),\n link: getMethodsForTag(_HelmetConstants.TAG_NAMES.LINK, linkTags, encode),\n meta: getMethodsForTag(_HelmetConstants.TAG_NAMES.META, metaTags, encode),\n noscript: getMethodsForTag(_HelmetConstants.TAG_NAMES.NOSCRIPT, noscriptTags, encode),\n script: getMethodsForTag(_HelmetConstants.TAG_NAMES.SCRIPT, scriptTags, encode),\n style: getMethodsForTag(_HelmetConstants.TAG_NAMES.STYLE, styleTags, encode),\n title: getMethodsForTag(_HelmetConstants.TAG_NAMES.TITLE, { title: title, titleAttributes: titleAttributes }, encode)\n };\n};\n\nexports.convertReactPropstoHtmlAttributes = convertReactPropstoHtmlAttributes;\nexports.handleClientStateChange = handleClientStateChange;\nexports.mapStateOnServer = mapStateOnServer;\nexports.reducePropsToState = reducePropsToState;\nexports.requestAnimationFrame = requestAnimationFrame;\nexports.warn = warn;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-helmet/lib/HelmetUtils.js\n// module id = 427\n// module chunks = 114276838955818","'use strict';\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar React = require('react');\nvar React__default = _interopDefault(React);\nvar ExecutionEnvironment = _interopDefault(require('exenv'));\nvar shallowEqual = _interopDefault(require('shallowequal'));\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nfunction withSideEffect(reducePropsToState, handleStateChangeOnClient, mapStateOnServer) {\n if (typeof reducePropsToState !== 'function') {\n throw new Error('Expected reducePropsToState to be a function.');\n }\n if (typeof handleStateChangeOnClient !== 'function') {\n throw new Error('Expected handleStateChangeOnClient to be a function.');\n }\n if (typeof mapStateOnServer !== 'undefined' && typeof mapStateOnServer !== 'function') {\n throw new Error('Expected mapStateOnServer to either be undefined or a function.');\n }\n\n function getDisplayName(WrappedComponent) {\n return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n }\n\n return function wrap(WrappedComponent) {\n if (typeof WrappedComponent !== 'function') {\n throw new Error('Expected WrappedComponent to be a React component.');\n }\n\n var mountedInstances = [];\n var state = void 0;\n\n function emitChange() {\n state = reducePropsToState(mountedInstances.map(function (instance) {\n return instance.props;\n }));\n\n if (SideEffect.canUseDOM) {\n handleStateChangeOnClient(state);\n } else if (mapStateOnServer) {\n state = mapStateOnServer(state);\n }\n }\n\n var SideEffect = function (_Component) {\n _inherits(SideEffect, _Component);\n\n function SideEffect() {\n _classCallCheck(this, SideEffect);\n\n return _possibleConstructorReturn(this, _Component.apply(this, arguments));\n }\n\n // Try to use displayName of wrapped component\n SideEffect.peek = function peek() {\n return state;\n };\n\n // Expose canUseDOM so tests can monkeypatch it\n\n\n SideEffect.rewind = function rewind() {\n if (SideEffect.canUseDOM) {\n throw new Error('You may only call rewind() on the server. Call peek() to read the current state.');\n }\n\n var recordedState = state;\n state = undefined;\n mountedInstances = [];\n return recordedState;\n };\n\n SideEffect.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {\n return !shallowEqual(nextProps, this.props);\n };\n\n SideEffect.prototype.componentWillMount = function componentWillMount() {\n mountedInstances.push(this);\n emitChange();\n };\n\n SideEffect.prototype.componentDidUpdate = function componentDidUpdate() {\n emitChange();\n };\n\n SideEffect.prototype.componentWillUnmount = function componentWillUnmount() {\n var index = mountedInstances.indexOf(this);\n mountedInstances.splice(index, 1);\n emitChange();\n };\n\n SideEffect.prototype.render = function render() {\n return React__default.createElement(WrappedComponent, this.props);\n };\n\n return SideEffect;\n }(React.Component);\n\n SideEffect.displayName = 'SideEffect(' + getDisplayName(WrappedComponent) + ')';\n SideEffect.canUseDOM = ExecutionEnvironment.canUseDOM;\n\n\n return SideEffect;\n };\n}\n\nmodule.exports = withSideEffect;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-side-effect/lib/index.js\n// module id = 445\n// module chunks = 114276838955818","//\n\nmodule.exports = function shallowEqual(objA, objB, compare, compareContext) {\n var ret = compare ? compare.call(compareContext, objA, objB) : void 0;\n\n if (ret !== void 0) {\n return !!ret;\n }\n\n if (objA === objB) {\n return true;\n }\n\n if (typeof objA !== \"object\" || !objA || typeof objB !== \"object\" || !objB) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB);\n\n // Test for A's keys different from B.\n for (var idx = 0; idx < keysA.length; idx++) {\n var key = keysA[idx];\n\n if (!bHasOwnProperty(key)) {\n return false;\n }\n\n var valueA = objA[key];\n var valueB = objB[key];\n\n ret = compare ? compare.call(compareContext, valueA, valueB, key) : void 0;\n\n if (ret === false || (ret === void 0 && valueA !== valueB)) {\n return false;\n }\n }\n\n return true;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/shallowequal/index.js\n// module id = 462\n// module chunks = 114276838955818","import React from 'react'\nimport Link from 'gatsby-link'\n\nconst Header = ({ siteTitle }) => (\n <div>\n <div className=\"header-background\">\n <h1 style={{ margin: 0 }}>\n <Link\n to=\"/\"\n className=\"header-text\"\n >\n {siteTitle}\n </Link>\n </h1>\n </div>\n </div>\n)\n\nexport default Header\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/header.js","import React from 'react'\nimport PropTypes from 'prop-types'\nimport Helmet from 'react-helmet'\nimport Link from 'gatsby-link'\n\nimport Header from '../components/header'\nimport './index.css'\n\nconst Layout = ({ children, data }) => (\n <div className=\"container\">\n <Helmet\n title={data.site.siteMetadata.title}\n meta={[\n { name: 'description', content: 'CS 361 Fall 2018 Class Website' },\n { name: 'keywords', content: 'cs, 361, oregon state, software engineering' },\n ]}\n />\n <Header siteTitle={data.site.siteMetadata.title} />\n\n <div>\n <div className=\"nav\">\n <Link to=\"/schedule\">Schedule</Link>\n <Link to=\"/syllabus\">Syllabus</Link>\n <Link to=\"/assignments\">Assignments</Link>\n <Link to=\"/positive-community\">Establishing a <br />positive community</Link>\n <Link to=\"/resources\">Resources</Link>\n </div>\n <div className=\"main\">\n {children()}\n </div>\n </div>\n </div>\n)\n\nLayout.propTypes = {\n children: PropTypes.func,\n}\n\nexport default Layout;\n\nexport const query = graphql`\n query SiteTitleQuery {\n site {\n siteMetadata {\n title\n }\n }\n }\n`\n\n\n\n// WEBPACK FOOTER //\n// ./src/layouts/index.js"],"sourceRoot":""}