{"version":3,"file":"2121-0da72.js","mappings":"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","sources":["/home/vsts/work/1/s/node_modules/resolve-pathname/index.js","/home/vsts/work/1/s/node_modules/value-equal/index.js","/home/vsts/work/1/s/node_modules/history/es/PathUtils.js","/home/vsts/work/1/s/node_modules/history/es/LocationUtils.js","/home/vsts/work/1/s/node_modules/history/es/createTransitionManager.js","/home/vsts/work/1/s/node_modules/history/es/DOMUtils.js","/home/vsts/work/1/s/node_modules/history/es/createBrowserHistory.js","/home/vsts/work/1/s/node_modules/history/es/createHashHistory.js","/home/vsts/work/1/s/node_modules/history/es/createMemoryHistory.js","/home/vsts/work/1/s/node_modules/invariant/browser.js","/home/vsts/work/1/s/node_modules/warning/browser.js"],"sourcesContent":["function isAbsolute(pathname) {\n return pathname.charAt(0) === '/';\n}\n\n// About 1.5x faster than the two-arg version of Array#splice()\nfunction spliceOne(list, index) {\n for (var i = index, k = i + 1, n = list.length; k < n; i += 1, k += 1) {\n list[i] = list[k];\n }\n\n list.pop();\n}\n\n// This implementation is based heavily on node's url.parse\nfunction resolvePathname(to) {\n var from = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n\n var toParts = to && to.split('/') || [];\n var fromParts = from && from.split('/') || [];\n\n var isToAbs = to && isAbsolute(to);\n var isFromAbs = from && isAbsolute(from);\n var mustEndAbs = isToAbs || isFromAbs;\n\n if (to && isAbsolute(to)) {\n // to is absolute\n fromParts = toParts;\n } else if (toParts.length) {\n // to is relative, drop the filename\n fromParts.pop();\n fromParts = fromParts.concat(toParts);\n }\n\n if (!fromParts.length) return '/';\n\n var hasTrailingSlash = void 0;\n if (fromParts.length) {\n var last = fromParts[fromParts.length - 1];\n hasTrailingSlash = last === '.' || last === '..' || last === '';\n } else {\n hasTrailingSlash = false;\n }\n\n var up = 0;\n for (var i = fromParts.length; i >= 0; i--) {\n var part = fromParts[i];\n\n if (part === '.') {\n spliceOne(fromParts, i);\n } else if (part === '..') {\n spliceOne(fromParts, i);\n up++;\n } else if (up) {\n spliceOne(fromParts, i);\n up--;\n }\n }\n\n if (!mustEndAbs) for (; up--; up) {\n fromParts.unshift('..');\n }if (mustEndAbs && fromParts[0] !== '' && (!fromParts[0] || !isAbsolute(fromParts[0]))) fromParts.unshift('');\n\n var result = fromParts.join('/');\n\n if (hasTrailingSlash && result.substr(-1) !== '/') result += '/';\n\n return result;\n}\n\nexport default resolvePathname;","var _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\nfunction valueEqual(a, b) {\n if (a === b) return true;\n\n if (a == null || b == null) return false;\n\n if (Array.isArray(a)) {\n return Array.isArray(b) && a.length === b.length && a.every(function (item, index) {\n return valueEqual(item, b[index]);\n });\n }\n\n var aType = typeof a === 'undefined' ? 'undefined' : _typeof(a);\n var bType = typeof b === 'undefined' ? 'undefined' : _typeof(b);\n\n if (aType !== bType) return false;\n\n if (aType === 'object') {\n var aValue = a.valueOf();\n var bValue = b.valueOf();\n\n if (aValue !== a || bValue !== b) return valueEqual(aValue, bValue);\n\n var aKeys = Object.keys(a);\n var bKeys = Object.keys(b);\n\n if (aKeys.length !== bKeys.length) return false;\n\n return aKeys.every(function (key) {\n return valueEqual(a[key], b[key]);\n });\n }\n\n return false;\n}\n\nexport default valueEqual;","export var addLeadingSlash = function addLeadingSlash(path) {\n return path.charAt(0) === '/' ? path : '/' + path;\n};\n\nexport var stripLeadingSlash = function stripLeadingSlash(path) {\n return path.charAt(0) === '/' ? path.substr(1) : path;\n};\n\nexport var hasBasename = function hasBasename(path, prefix) {\n return new RegExp('^' + prefix + '(\\\\/|\\\\?|#|$)', 'i').test(path);\n};\n\nexport var stripBasename = function stripBasename(path, prefix) {\n return hasBasename(path, prefix) ? path.substr(prefix.length) : path;\n};\n\nexport var stripTrailingSlash = function stripTrailingSlash(path) {\n return path.charAt(path.length - 1) === '/' ? path.slice(0, -1) : path;\n};\n\nexport var parsePath = function parsePath(path) {\n var pathname = path || '/';\n var search = '';\n var hash = '';\n\n var hashIndex = pathname.indexOf('#');\n if (hashIndex !== -1) {\n hash = pathname.substr(hashIndex);\n pathname = pathname.substr(0, hashIndex);\n }\n\n var searchIndex = pathname.indexOf('?');\n if (searchIndex !== -1) {\n search = pathname.substr(searchIndex);\n pathname = pathname.substr(0, searchIndex);\n }\n\n return {\n pathname: pathname,\n search: search === '?' ? '' : search,\n hash: hash === '#' ? '' : hash\n };\n};\n\nexport var createPath = function createPath(location) {\n var pathname = location.pathname,\n search = location.search,\n hash = location.hash;\n\n\n var path = pathname || '/';\n\n if (search && search !== '?') path += search.charAt(0) === '?' ? search : '?' + search;\n\n if (hash && hash !== '#') path += hash.charAt(0) === '#' ? hash : '#' + hash;\n\n return path;\n};","var _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\nimport resolvePathname from 'resolve-pathname';\nimport valueEqual from 'value-equal';\nimport { parsePath } from './PathUtils';\n\nexport var createLocation = function createLocation(path, state, key, currentLocation) {\n var location = void 0;\n if (typeof path === 'string') {\n // Two-arg form: push(path, state)\n location = parsePath(path);\n location.state = state;\n } else {\n // One-arg form: push(location)\n location = _extends({}, path);\n\n if (location.pathname === undefined) location.pathname = '';\n\n if (location.search) {\n if (location.search.charAt(0) !== '?') location.search = '?' + location.search;\n } else {\n location.search = '';\n }\n\n if (location.hash) {\n if (location.hash.charAt(0) !== '#') location.hash = '#' + location.hash;\n } else {\n location.hash = '';\n }\n\n if (state !== undefined && location.state === undefined) location.state = state;\n }\n\n try {\n location.pathname = decodeURI(location.pathname);\n } catch (e) {\n if (e instanceof URIError) {\n throw new URIError('Pathname \"' + location.pathname + '\" could not be decoded. ' + 'This is likely caused by an invalid percent-encoding.');\n } else {\n throw e;\n }\n }\n\n if (key) location.key = key;\n\n if (currentLocation) {\n // Resolve incomplete/relative pathname relative to current location.\n if (!location.pathname) {\n location.pathname = currentLocation.pathname;\n } else if (location.pathname.charAt(0) !== '/') {\n location.pathname = resolvePathname(location.pathname, currentLocation.pathname);\n }\n } else {\n // When there is no prior location and pathname is empty, set it to /\n if (!location.pathname) {\n location.pathname = '/';\n }\n }\n\n return location;\n};\n\nexport var locationsAreEqual = function locationsAreEqual(a, b) {\n return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash && a.key === b.key && valueEqual(a.state, b.state);\n};","import warning from 'warning';\n\nvar createTransitionManager = function createTransitionManager() {\n var prompt = null;\n\n var setPrompt = function setPrompt(nextPrompt) {\n warning(prompt == null, 'A history supports only one prompt at a time');\n\n prompt = nextPrompt;\n\n return function () {\n if (prompt === nextPrompt) prompt = null;\n };\n };\n\n var confirmTransitionTo = function confirmTransitionTo(location, action, getUserConfirmation, callback) {\n // TODO: If another transition starts while we're still confirming\n // the previous one, we may end up in a weird state. Figure out the\n // best way to handle this.\n if (prompt != null) {\n var result = typeof prompt === 'function' ? prompt(location, action) : prompt;\n\n if (typeof result === 'string') {\n if (typeof getUserConfirmation === 'function') {\n getUserConfirmation(result, callback);\n } else {\n warning(false, 'A history needs a getUserConfirmation function in order to use a prompt message');\n\n callback(true);\n }\n } else {\n // Return false from a transition hook to cancel the transition.\n callback(result !== false);\n }\n } else {\n callback(true);\n }\n };\n\n var listeners = [];\n\n var appendListener = function appendListener(fn) {\n var isActive = true;\n\n var listener = function listener() {\n if (isActive) fn.apply(undefined, arguments);\n };\n\n listeners.push(listener);\n\n return function () {\n isActive = false;\n listeners = listeners.filter(function (item) {\n return item !== listener;\n });\n };\n };\n\n var notifyListeners = function notifyListeners() {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n listeners.forEach(function (listener) {\n return listener.apply(undefined, args);\n });\n };\n\n return {\n setPrompt: setPrompt,\n confirmTransitionTo: confirmTransitionTo,\n appendListener: appendListener,\n notifyListeners: notifyListeners\n };\n};\n\nexport default createTransitionManager;","export var canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n\nexport var addEventListener = function addEventListener(node, event, listener) {\n return node.addEventListener ? node.addEventListener(event, listener, false) : node.attachEvent('on' + event, listener);\n};\n\nexport var removeEventListener = function removeEventListener(node, event, listener) {\n return node.removeEventListener ? node.removeEventListener(event, listener, false) : node.detachEvent('on' + event, listener);\n};\n\nexport var getConfirmation = function getConfirmation(message, callback) {\n return callback(window.confirm(message));\n}; // eslint-disable-line no-alert\n\n/**\n * Returns true if the HTML5 history API is supported. Taken from Modernizr.\n *\n * https://github.com/Modernizr/Modernizr/blob/master/LICENSE\n * https://github.com/Modernizr/Modernizr/blob/master/feature-detects/history.js\n * changed to avoid false negatives for Windows Phones: https://github.com/reactjs/react-router/issues/586\n */\nexport var supportsHistory = function supportsHistory() {\n var ua = window.navigator.userAgent;\n\n if ((ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) && ua.indexOf('Mobile Safari') !== -1 && ua.indexOf('Chrome') === -1 && ua.indexOf('Windows Phone') === -1) return false;\n\n return window.history && 'pushState' in window.history;\n};\n\n/**\n * Returns true if browser fires popstate on hash change.\n * IE10 and IE11 do not.\n */\nexport var supportsPopStateOnHashChange = function supportsPopStateOnHashChange() {\n return window.navigator.userAgent.indexOf('Trident') === -1;\n};\n\n/**\n * Returns false if using go(n) with hash history causes a full page reload.\n */\nexport var supportsGoWithoutReloadUsingHash = function supportsGoWithoutReloadUsingHash() {\n return window.navigator.userAgent.indexOf('Firefox') === -1;\n};\n\n/**\n * Returns true if a given popstate event is an extraneous WebKit event.\n * Accounts for the fact that Chrome on iOS fires real popstate events\n * containing undefined state when pressing the back button.\n */\nexport var isExtraneousPopstateEvent = function isExtraneousPopstateEvent(event) {\n return event.state === undefined && navigator.userAgent.indexOf('CriOS') === -1;\n};","var _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\nimport warning from 'warning';\nimport invariant from 'invariant';\nimport { createLocation } from './LocationUtils';\nimport { addLeadingSlash, stripTrailingSlash, hasBasename, stripBasename, createPath } from './PathUtils';\nimport createTransitionManager from './createTransitionManager';\nimport { canUseDOM, addEventListener, removeEventListener, getConfirmation, supportsHistory, supportsPopStateOnHashChange, isExtraneousPopstateEvent } from './DOMUtils';\n\nvar PopStateEvent = 'popstate';\nvar HashChangeEvent = 'hashchange';\n\nvar getHistoryState = function getHistoryState() {\n try {\n return window.history.state || {};\n } catch (e) {\n // IE 11 sometimes throws when accessing window.history.state\n // See https://github.com/ReactTraining/history/pull/289\n return {};\n }\n};\n\n/**\n * Creates a history object that uses the HTML5 history API including\n * pushState, replaceState, and the popstate event.\n */\nvar createBrowserHistory = function createBrowserHistory() {\n var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n invariant(canUseDOM, 'Browser history needs a DOM');\n\n var globalHistory = window.history;\n var canUseHistory = supportsHistory();\n var needsHashChangeListener = !supportsPopStateOnHashChange();\n\n var _props$forceRefresh = props.forceRefresh,\n forceRefresh = _props$forceRefresh === undefined ? false : _props$forceRefresh,\n _props$getUserConfirm = props.getUserConfirmation,\n getUserConfirmation = _props$getUserConfirm === undefined ? getConfirmation : _props$getUserConfirm,\n _props$keyLength = props.keyLength,\n keyLength = _props$keyLength === undefined ? 6 : _props$keyLength;\n\n var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : '';\n\n var getDOMLocation = function getDOMLocation(historyState) {\n var _ref = historyState || {},\n key = _ref.key,\n state = _ref.state;\n\n var _window$location = window.location,\n pathname = _window$location.pathname,\n search = _window$location.search,\n hash = _window$location.hash;\n\n\n var path = pathname + search + hash;\n\n warning(!basename || hasBasename(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path \"' + path + '\" to begin with \"' + basename + '\".');\n\n if (basename) path = stripBasename(path, basename);\n\n return createLocation(path, state, key);\n };\n\n var createKey = function createKey() {\n return Math.random().toString(36).substr(2, keyLength);\n };\n\n var transitionManager = createTransitionManager();\n\n var setState = function setState(nextState) {\n _extends(history, nextState);\n\n history.length = globalHistory.length;\n\n transitionManager.notifyListeners(history.location, history.action);\n };\n\n var handlePopState = function handlePopState(event) {\n // Ignore extraneous popstate events in WebKit.\n if (isExtraneousPopstateEvent(event)) return;\n\n handlePop(getDOMLocation(event.state));\n };\n\n var handleHashChange = function handleHashChange() {\n handlePop(getDOMLocation(getHistoryState()));\n };\n\n var forceNextPop = false;\n\n var handlePop = function handlePop(location) {\n if (forceNextPop) {\n forceNextPop = false;\n setState();\n } else {\n var action = 'POP';\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({ action: action, location: location });\n } else {\n revertPop(location);\n }\n });\n }\n };\n\n var revertPop = function revertPop(fromLocation) {\n var toLocation = history.location;\n\n // TODO: We could probably make this more reliable by\n // keeping a list of keys we've seen in sessionStorage.\n // Instead, we just default to 0 for keys we don't know.\n\n var toIndex = allKeys.indexOf(toLocation.key);\n\n if (toIndex === -1) toIndex = 0;\n\n var fromIndex = allKeys.indexOf(fromLocation.key);\n\n if (fromIndex === -1) fromIndex = 0;\n\n var delta = toIndex - fromIndex;\n\n if (delta) {\n forceNextPop = true;\n go(delta);\n }\n };\n\n var initialLocation = getDOMLocation(getHistoryState());\n var allKeys = [initialLocation.key];\n\n // Public interface\n\n var createHref = function createHref(location) {\n return basename + createPath(location);\n };\n\n var push = function push(path, state) {\n warning(!((typeof path === 'undefined' ? 'undefined' : _typeof(path)) === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored');\n\n var action = 'PUSH';\n var location = createLocation(path, state, createKey(), history.location);\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n\n var href = createHref(location);\n var key = location.key,\n state = location.state;\n\n\n if (canUseHistory) {\n globalHistory.pushState({ key: key, state: state }, null, href);\n\n if (forceRefresh) {\n window.location.href = href;\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n var nextKeys = allKeys.slice(0, prevIndex === -1 ? 0 : prevIndex + 1);\n\n nextKeys.push(location.key);\n allKeys = nextKeys;\n\n setState({ action: action, location: location });\n }\n } else {\n warning(state === undefined, 'Browser history cannot push state in browsers that do not support HTML5 history');\n\n window.location.href = href;\n }\n });\n };\n\n var replace = function replace(path, state) {\n warning(!((typeof path === 'undefined' ? 'undefined' : _typeof(path)) === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored');\n\n var action = 'REPLACE';\n var location = createLocation(path, state, createKey(), history.location);\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n\n var href = createHref(location);\n var key = location.key,\n state = location.state;\n\n\n if (canUseHistory) {\n globalHistory.replaceState({ key: key, state: state }, null, href);\n\n if (forceRefresh) {\n window.location.replace(href);\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n\n if (prevIndex !== -1) allKeys[prevIndex] = location.key;\n\n setState({ action: action, location: location });\n }\n } else {\n warning(state === undefined, 'Browser history cannot replace state in browsers that do not support HTML5 history');\n\n window.location.replace(href);\n }\n });\n };\n\n var go = function go(n) {\n globalHistory.go(n);\n };\n\n var goBack = function goBack() {\n return go(-1);\n };\n\n var goForward = function goForward() {\n return go(1);\n };\n\n var listenerCount = 0;\n\n var checkDOMListeners = function checkDOMListeners(delta) {\n listenerCount += delta;\n\n if (listenerCount === 1) {\n addEventListener(window, PopStateEvent, handlePopState);\n\n if (needsHashChangeListener) addEventListener(window, HashChangeEvent, handleHashChange);\n } else if (listenerCount === 0) {\n removeEventListener(window, PopStateEvent, handlePopState);\n\n if (needsHashChangeListener) removeEventListener(window, HashChangeEvent, handleHashChange);\n }\n };\n\n var isBlocked = false;\n\n var block = function block() {\n var prompt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n var unblock = transitionManager.setPrompt(prompt);\n\n if (!isBlocked) {\n checkDOMListeners(1);\n isBlocked = true;\n }\n\n return function () {\n if (isBlocked) {\n isBlocked = false;\n checkDOMListeners(-1);\n }\n\n return unblock();\n };\n };\n\n var listen = function listen(listener) {\n var unlisten = transitionManager.appendListener(listener);\n checkDOMListeners(1);\n\n return function () {\n checkDOMListeners(-1);\n unlisten();\n };\n };\n\n var history = {\n length: globalHistory.length,\n action: 'POP',\n location: initialLocation,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n block: block,\n listen: listen\n };\n\n return history;\n};\n\nexport default createBrowserHistory;","var _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\nimport warning from 'warning';\nimport invariant from 'invariant';\nimport { createLocation, locationsAreEqual } from './LocationUtils';\nimport { addLeadingSlash, stripLeadingSlash, stripTrailingSlash, hasBasename, stripBasename, createPath } from './PathUtils';\nimport createTransitionManager from './createTransitionManager';\nimport { canUseDOM, addEventListener, removeEventListener, getConfirmation, supportsGoWithoutReloadUsingHash } from './DOMUtils';\n\nvar HashChangeEvent = 'hashchange';\n\nvar HashPathCoders = {\n hashbang: {\n encodePath: function encodePath(path) {\n return path.charAt(0) === '!' ? path : '!/' + stripLeadingSlash(path);\n },\n decodePath: function decodePath(path) {\n return path.charAt(0) === '!' ? path.substr(1) : path;\n }\n },\n noslash: {\n encodePath: stripLeadingSlash,\n decodePath: addLeadingSlash\n },\n slash: {\n encodePath: addLeadingSlash,\n decodePath: addLeadingSlash\n }\n};\n\nvar getHashPath = function getHashPath() {\n // We can't use window.location.hash here because it's not\n // consistent across browsers - Firefox will pre-decode it!\n var href = window.location.href;\n var hashIndex = href.indexOf('#');\n return hashIndex === -1 ? '' : href.substring(hashIndex + 1);\n};\n\nvar pushHashPath = function pushHashPath(path) {\n return window.location.hash = path;\n};\n\nvar replaceHashPath = function replaceHashPath(path) {\n var hashIndex = window.location.href.indexOf('#');\n\n window.location.replace(window.location.href.slice(0, hashIndex >= 0 ? hashIndex : 0) + '#' + path);\n};\n\nvar createHashHistory = function createHashHistory() {\n var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n invariant(canUseDOM, 'Hash history needs a DOM');\n\n var globalHistory = window.history;\n var canGoWithoutReload = supportsGoWithoutReloadUsingHash();\n\n var _props$getUserConfirm = props.getUserConfirmation,\n getUserConfirmation = _props$getUserConfirm === undefined ? getConfirmation : _props$getUserConfirm,\n _props$hashType = props.hashType,\n hashType = _props$hashType === undefined ? 'slash' : _props$hashType;\n\n var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : '';\n\n var _HashPathCoders$hashT = HashPathCoders[hashType],\n encodePath = _HashPathCoders$hashT.encodePath,\n decodePath = _HashPathCoders$hashT.decodePath;\n\n\n var getDOMLocation = function getDOMLocation() {\n var path = decodePath(getHashPath());\n\n warning(!basename || hasBasename(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path \"' + path + '\" to begin with \"' + basename + '\".');\n\n if (basename) path = stripBasename(path, basename);\n\n return createLocation(path);\n };\n\n var transitionManager = createTransitionManager();\n\n var setState = function setState(nextState) {\n _extends(history, nextState);\n\n history.length = globalHistory.length;\n\n transitionManager.notifyListeners(history.location, history.action);\n };\n\n var forceNextPop = false;\n var ignorePath = null;\n\n var handleHashChange = function handleHashChange() {\n var path = getHashPath();\n var encodedPath = encodePath(path);\n\n if (path !== encodedPath) {\n // Ensure we always have a properly-encoded hash.\n replaceHashPath(encodedPath);\n } else {\n var location = getDOMLocation();\n var prevLocation = history.location;\n\n if (!forceNextPop && locationsAreEqual(prevLocation, location)) return; // A hashchange doesn't always == location change.\n\n if (ignorePath === createPath(location)) return; // Ignore this change; we already setState in push/replace.\n\n ignorePath = null;\n\n handlePop(location);\n }\n };\n\n var handlePop = function handlePop(location) {\n if (forceNextPop) {\n forceNextPop = false;\n setState();\n } else {\n var action = 'POP';\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({ action: action, location: location });\n } else {\n revertPop(location);\n }\n });\n }\n };\n\n var revertPop = function revertPop(fromLocation) {\n var toLocation = history.location;\n\n // TODO: We could probably make this more reliable by\n // keeping a list of paths we've seen in sessionStorage.\n // Instead, we just default to 0 for paths we don't know.\n\n var toIndex = allPaths.lastIndexOf(createPath(toLocation));\n\n if (toIndex === -1) toIndex = 0;\n\n var fromIndex = allPaths.lastIndexOf(createPath(fromLocation));\n\n if (fromIndex === -1) fromIndex = 0;\n\n var delta = toIndex - fromIndex;\n\n if (delta) {\n forceNextPop = true;\n go(delta);\n }\n };\n\n // Ensure the hash is encoded properly before doing anything else.\n var path = getHashPath();\n var encodedPath = encodePath(path);\n\n if (path !== encodedPath) replaceHashPath(encodedPath);\n\n var initialLocation = getDOMLocation();\n var allPaths = [createPath(initialLocation)];\n\n // Public interface\n\n var createHref = function createHref(location) {\n return '#' + encodePath(basename + createPath(location));\n };\n\n var push = function push(path, state) {\n warning(state === undefined, 'Hash history cannot push state; it is ignored');\n\n var action = 'PUSH';\n var location = createLocation(path, undefined, undefined, history.location);\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n\n var path = createPath(location);\n var encodedPath = encodePath(basename + path);\n var hashChanged = getHashPath() !== encodedPath;\n\n if (hashChanged) {\n // We cannot tell if a hashchange was caused by a PUSH, so we'd\n // rather setState here and ignore the hashchange. The caveat here\n // is that other hash histories in the page will consider it a POP.\n ignorePath = path;\n pushHashPath(encodedPath);\n\n var prevIndex = allPaths.lastIndexOf(createPath(history.location));\n var nextPaths = allPaths.slice(0, prevIndex === -1 ? 0 : prevIndex + 1);\n\n nextPaths.push(path);\n allPaths = nextPaths;\n\n setState({ action: action, location: location });\n } else {\n warning(false, 'Hash history cannot PUSH the same path; a new entry will not be added to the history stack');\n\n setState();\n }\n });\n };\n\n var replace = function replace(path, state) {\n warning(state === undefined, 'Hash history cannot replace state; it is ignored');\n\n var action = 'REPLACE';\n var location = createLocation(path, undefined, undefined, history.location);\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n\n var path = createPath(location);\n var encodedPath = encodePath(basename + path);\n var hashChanged = getHashPath() !== encodedPath;\n\n if (hashChanged) {\n // We cannot tell if a hashchange was caused by a REPLACE, so we'd\n // rather setState here and ignore the hashchange. The caveat here\n // is that other hash histories in the page will consider it a POP.\n ignorePath = path;\n replaceHashPath(encodedPath);\n }\n\n var prevIndex = allPaths.indexOf(createPath(history.location));\n\n if (prevIndex !== -1) allPaths[prevIndex] = path;\n\n setState({ action: action, location: location });\n });\n };\n\n var go = function go(n) {\n warning(canGoWithoutReload, 'Hash history go(n) causes a full page reload in this browser');\n\n globalHistory.go(n);\n };\n\n var goBack = function goBack() {\n return go(-1);\n };\n\n var goForward = function goForward() {\n return go(1);\n };\n\n var listenerCount = 0;\n\n var checkDOMListeners = function checkDOMListeners(delta) {\n listenerCount += delta;\n\n if (listenerCount === 1) {\n addEventListener(window, HashChangeEvent, handleHashChange);\n } else if (listenerCount === 0) {\n removeEventListener(window, HashChangeEvent, handleHashChange);\n }\n };\n\n var isBlocked = false;\n\n var block = function block() {\n var prompt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n var unblock = transitionManager.setPrompt(prompt);\n\n if (!isBlocked) {\n checkDOMListeners(1);\n isBlocked = true;\n }\n\n return function () {\n if (isBlocked) {\n isBlocked = false;\n checkDOMListeners(-1);\n }\n\n return unblock();\n };\n };\n\n var listen = function listen(listener) {\n var unlisten = transitionManager.appendListener(listener);\n checkDOMListeners(1);\n\n return function () {\n checkDOMListeners(-1);\n unlisten();\n };\n };\n\n var history = {\n length: globalHistory.length,\n action: 'POP',\n location: initialLocation,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n block: block,\n listen: listen\n };\n\n return history;\n};\n\nexport default createHashHistory;","var _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\nimport warning from 'warning';\nimport { createPath } from './PathUtils';\nimport { createLocation } from './LocationUtils';\nimport createTransitionManager from './createTransitionManager';\n\nvar clamp = function clamp(n, lowerBound, upperBound) {\n return Math.min(Math.max(n, lowerBound), upperBound);\n};\n\n/**\n * Creates a history object that stores locations in memory.\n */\nvar createMemoryHistory = function createMemoryHistory() {\n var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var getUserConfirmation = props.getUserConfirmation,\n _props$initialEntries = props.initialEntries,\n initialEntries = _props$initialEntries === undefined ? ['/'] : _props$initialEntries,\n _props$initialIndex = props.initialIndex,\n initialIndex = _props$initialIndex === undefined ? 0 : _props$initialIndex,\n _props$keyLength = props.keyLength,\n keyLength = _props$keyLength === undefined ? 6 : _props$keyLength;\n\n\n var transitionManager = createTransitionManager();\n\n var setState = function setState(nextState) {\n _extends(history, nextState);\n\n history.length = history.entries.length;\n\n transitionManager.notifyListeners(history.location, history.action);\n };\n\n var createKey = function createKey() {\n return Math.random().toString(36).substr(2, keyLength);\n };\n\n var index = clamp(initialIndex, 0, initialEntries.length - 1);\n var entries = initialEntries.map(function (entry) {\n return typeof entry === 'string' ? createLocation(entry, undefined, createKey()) : createLocation(entry, undefined, entry.key || createKey());\n });\n\n // Public interface\n\n var createHref = createPath;\n\n var push = function push(path, state) {\n warning(!((typeof path === 'undefined' ? 'undefined' : _typeof(path)) === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored');\n\n var action = 'PUSH';\n var location = createLocation(path, state, createKey(), history.location);\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n\n var prevIndex = history.index;\n var nextIndex = prevIndex + 1;\n\n var nextEntries = history.entries.slice(0);\n if (nextEntries.length > nextIndex) {\n nextEntries.splice(nextIndex, nextEntries.length - nextIndex, location);\n } else {\n nextEntries.push(location);\n }\n\n setState({\n action: action,\n location: location,\n index: nextIndex,\n entries: nextEntries\n });\n });\n };\n\n var replace = function replace(path, state) {\n warning(!((typeof path === 'undefined' ? 'undefined' : _typeof(path)) === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored');\n\n var action = 'REPLACE';\n var location = createLocation(path, state, createKey(), history.location);\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n\n history.entries[history.index] = location;\n\n setState({ action: action, location: location });\n });\n };\n\n var go = function go(n) {\n var nextIndex = clamp(history.index + n, 0, history.entries.length - 1);\n\n var action = 'POP';\n var location = history.entries[nextIndex];\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location,\n index: nextIndex\n });\n } else {\n // Mimic the behavior of DOM histories by\n // causing a render after a cancelled POP.\n setState();\n }\n });\n };\n\n var goBack = function goBack() {\n return go(-1);\n };\n\n var goForward = function goForward() {\n return go(1);\n };\n\n var canGo = function canGo(n) {\n var nextIndex = history.index + n;\n return nextIndex >= 0 && nextIndex < history.entries.length;\n };\n\n var block = function block() {\n var prompt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n return transitionManager.setPrompt(prompt);\n };\n\n var listen = function listen(listener) {\n return transitionManager.appendListener(listener);\n };\n\n var history = {\n length: entries.length,\n action: 'POP',\n location: entries[index],\n index: index,\n entries: entries,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n canGo: canGo,\n block: block,\n listen: listen\n };\n\n return history;\n};\n\nexport default createMemoryHistory;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar invariant = function(condition, format, a, b, c, d, e, f) {\n if (process.env.NODE_ENV !== 'production') {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n }\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error(\n 'Minified exception occurred; use the non-minified dev environment ' +\n 'for the full error message and additional helpful warnings.'\n );\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(\n format.replace(/%s/g, function() { return args[argIndex++]; })\n );\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n};\n\nmodule.exports = invariant;\n","/**\n * Copyright 2014-2015, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\n'use strict';\n\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar warning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n warning = function(condition, format, args) {\n var len = arguments.length;\n args = new Array(len > 2 ? len - 2 : 0);\n for (var key = 2; key < len; key++) {\n args[key - 2] = arguments[key];\n }\n if (format === undefined) {\n throw new Error(\n '`warning(condition, format, ...args)` requires a warning ' +\n 'message argument'\n );\n }\n\n if (format.length < 10 || (/^[s\\W]*$/).test(format)) {\n throw new Error(\n 'The warning format should be able to uniquely identify this ' +\n 'warning. Please, use a more descriptive format than: ' + format\n );\n }\n\n if (!condition) {\n var argIndex = 0;\n var message = 'Warning: ' +\n format.replace(/%s/g, function() {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch(x) {}\n }\n };\n}\n\nmodule.exports = warning;\n"],"names":["isAbsolute","pathname","charAt","spliceOne","list","index","i","k","n","length","pop","_typeof","Symbol","iterator","obj","constructor","prototype","valueEqual","a","b","Array","isArray","every","item","aType","aValue","valueOf","bValue","aKeys","Object","keys","bKeys","key","addLeadingSlash","path","stripLeadingSlash","substr","hasBasename","prefix","RegExp","test","stripBasename","stripTrailingSlash","slice","parsePath","search","hash","hashIndex","indexOf","searchIndex","createPath","location","_extends","assign","target","arguments","source","hasOwnProperty","call","createLocation","state","currentLocation","undefined","decodeURI","e","URIError","to","from","toParts","split","fromParts","isToAbs","isFromAbs","mustEndAbs","concat","hasTrailingSlash","last","up","part","unshift","result","join","locationsAreEqual","prompt","listeners","setPrompt","nextPrompt","confirmTransitionTo","action","getUserConfirmation","callback","appendListener","fn","isActive","listener","apply","push","filter","notifyListeners","_len","args","_key","forEach","canUseDOM","window","document","createElement","addEventListener","node","event","attachEvent","removeEventListener","detachEvent","getConfirmation","message","confirm","supportsHistory","ua","navigator","userAgent","history","supportsPopStateOnHashChange","supportsGoWithoutReloadUsingHash","isExtraneousPopstateEvent","PopStateEvent","HashChangeEvent","getHistoryState","props","globalHistory","canUseHistory","needsHashChangeListener","_props$forceRefresh","forceRefresh","_props$getUserConfirm","_props$keyLength","keyLength","basename","getDOMLocation","historyState","_ref","_window$location","createKey","Math","random","toString","transitionManager","setState","nextState","handlePopState","handlePop","handleHashChange","forceNextPop","ok","revertPop","fromLocation","toLocation","toIndex","allKeys","fromIndex","delta","go","initialLocation","createHref","href","pushState","prevIndex","nextKeys","replace","replaceState","goBack","goForward","listenerCount","checkDOMListeners","isBlocked","block","unblock","listen","unlisten","HashPathCoders","hashbang","encodePath","decodePath","noslash","slash","getHashPath","substring","pushHashPath","replaceHashPath","canGoWithoutReload","_props$hashType","hashType","_HashPathCoders$hashT","ignorePath","encodedPath","prevLocation","allPaths","lastIndexOf","nextPaths","clamp","lowerBound","upperBound","min","max","_props$initialEntries","initialEntries","_props$initialIndex","initialIndex","entries","map","entry","nextIndex","nextEntries","splice","canGo","module","exports","condition","format","c","d","f","error","Error","argIndex","name","framesToPop"],"sourceRoot":""}