{"version":3,"sources":["webpack:///../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack:///../node_modules/@babel/runtime/node_modules/regenerator-runtime/runtime.js","webpack:///../node_modules/@babel/runtime/regenerator/index.js","webpack:///../node_modules/performance-now/lib/performance-now.js","webpack:///../node_modules/raf/index.js","webpack:///../node_modules/raf/node_modules/performance-now/lib/performance-now.js","webpack:///../node_modules/react-motion/lib/TransitionMotion.js","webpack:///../node_modules/react-motion/lib/mapToZero.js","webpack:///../node_modules/react-motion/lib/mergeDiff.js","webpack:///../node_modules/react-motion/lib/presets.js","webpack:///../node_modules/react-motion/lib/shouldStopAnimation.js","webpack:///../node_modules/react-motion/lib/spring.js","webpack:///../node_modules/react-motion/lib/stepper.js","webpack:///../node_modules/react-motion/lib/stripStyle.js","webpack:///../node_modules/react-router-dom/es/matchPath.js","webpack:///../node_modules/react-router-transition/es/ensureSpring.js","webpack:///../node_modules/react-router-transition/es/RouteTransition.js","webpack:///../node_modules/react-router-transition/es/AnimatedRoute.js","webpack:///../node_modules/react-router-transition/es/AnimatedSwitch.js","webpack:///../node_modules/react-router-transition/es/index.js"],"names":["asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","_asyncToGenerator","fn","self","this","args","arguments","apply","err","undefined","runtime","exports","Op","Object","prototype","hasOwn","hasOwnProperty","$Symbol","Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","obj","defineProperty","enumerable","configurable","writable","wrap","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","create","context","Context","_invoke","state","method","Error","doneResult","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","sent","_sent","dispatchException","abrupt","record","tryCatch","type","makeInvokeMethod","call","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","forEach","AsyncIterator","PromiseImpl","previousPromise","callInvokeWithMethodAndArg","invoke","result","__await","unwrapped","TypeError","resultName","next","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","length","i","constructor","displayName","isGeneratorFunction","genFun","ctor","name","mark","setPrototypeOf","__proto__","awrap","async","iter","toString","keys","object","reverse","pop","skipTempReset","prev","charAt","slice","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","module","regeneratorRuntime","accidentalStrictMode","Function","getNanoSeconds","hrtime","loadTime","performance","now","process","hr","Date","getTime","root","window","global","vendors","suffix","raf","caf","last","id","queue","callback","_now","Math","max","setTimeout","cp","cancelled","e","round","cancel","polyfill","requestAnimationFrame","cancelAnimationFrame","moduleLoadTime","nodeLoadTime","upTime","uptime","__esModule","_extends","assign","target","source","_createClass","defineProperties","props","descriptor","Constructor","protoProps","staticProps","_interopRequireDefault","_mapToZero2","_stripStyle2","_stepper4","_mergeDiff2","_performanceNow2","_raf2","_shouldStopAnimation2","_react2","_propTypes2","rehydrateStyles","mergedPropsStyles","unreadPropStyles","plainStyles","cUnreadPropStyles","map","mergedPropsStyle","data","style","j","mergeAndSync","willEnter","willLeave","didLeave","oldMergedPropsStyles","destStyles","oldCurrentStyles","oldCurrentVelocities","oldLastIdealStyles","oldLastIdealVelocities","newMergedPropsStyles","oldIndex","oldMergedPropsStyle","leavingStyle","newCurrentStyles","newCurrentVelocities","newLastIdealStyles","newLastIdealVelocities","newMergedPropsStyleCell","foundOldIndex","plainStyle","velocity","TransitionMotion","_React$Component","_this","instance","_classCallCheck","unmounting","animationID","prevTime","accumulatedTime","clearUnreadPropStyle","_mergeAndSync","currentStyles","currentVelocities","lastIdealStyles","lastIdealVelocities","unreadPropStyle","dirty","styleValue","setState","startAnimationIfNecessary","timestamp","propStyles","styles","shouldStopAnimationAll","currentTime","timeDelta","currentFrameCompletion","floor","framesToCatchUp","_mergeAndSync2","newMergedPropsStyle","newCurrentStyle","newCurrentVelocity","newLastIdealStyle","newLastIdealVelocity","newLastIdealStyleValue","newLastIdealVelocityValue","_stepper","val","stiffness","damping","precision","_stepper2","nextIdealX","nextIdealV","defaultState","subClass","superClass","_inherits","defaultStyles","arrayOf","shape","string","isRequired","any","objectOf","number","oneOfType","func","children","styleThatEntered","_props","defaultStyleCell","s","_mergeAndSync3","componentDidMount","componentWillReceiveProps","componentWillUnmount","render","hydratedStyles","renderedChildren","Children","only","Component","ret","onRemove","prevKeyIndex","nextKeyIndex","fill","sort","a","b","nextOrderA","nextOrderB","prevOrderA","prevOrderB","pivot","noWobble","gentle","wobbly","stiff","currentStyle","currentVelocity","config","defaultConfig","_presets","_presets2","secondPerFrame","x","v","destX","k","newV","newX","abs","reusedTuple","ensureSpring","reduce","acc","_possibleConstructorReturn","ReferenceError","_Component","RouteTransition","_ref","_temp","_len","Array","_key","concat","atEnter","atLeave","styleThatLeft","renderRoute","mapStyles","wrapperComponent","renderRoutes","interpolatedStyles","createElement","className","runOnMount","atActive","getDefaultStyles","getStyles","defaultProps","propTypes","bool","element","NO_MATCH","getLocationKey","location","getMatchedRoute","pathname","toArray","find","child","exact","path","AnimatedSwitch","match","matches","nextProps","nextMatch","routeTransitionProps","indexOf","Switch","Route","_ref2"],"mappings":"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","file":"vendors~ppme-shared.bundle.js","sourcesContent":["function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}","/**\n * Copyright (c) 2014-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\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n","module.exports = require(\"regenerator-runtime\");\n","// Generated by CoffeeScript 1.7.1\n(function() {\n var getNanoSeconds, hrtime, loadTime;\n\n if ((typeof performance !== \"undefined\" && performance !== null) && performance.now) {\n module.exports = function() {\n return performance.now();\n };\n } else if ((typeof process !== \"undefined\" && process !== null) && process.hrtime) {\n module.exports = function() {\n return (getNanoSeconds() - loadTime) / 1e6;\n };\n hrtime = process.hrtime;\n getNanoSeconds = function() {\n var hr;\n hr = hrtime();\n return hr[0] * 1e9 + hr[1];\n };\n loadTime = getNanoSeconds();\n } else if (Date.now) {\n module.exports = function() {\n return Date.now() - loadTime;\n };\n loadTime = Date.now();\n } else {\n module.exports = function() {\n return new Date().getTime() - loadTime;\n };\n loadTime = new Date().getTime();\n }\n\n}).call(this);\n","var now = require('performance-now')\n , root = typeof window === 'undefined' ? global : window\n , vendors = ['moz', 'webkit']\n , suffix = 'AnimationFrame'\n , raf = root['request' + suffix]\n , caf = root['cancel' + suffix] || root['cancelRequest' + suffix]\n\nfor(var i = 0; !raf && i < vendors.length; i++) {\n raf = root[vendors[i] + 'Request' + suffix]\n caf = root[vendors[i] + 'Cancel' + suffix]\n || root[vendors[i] + 'CancelRequest' + suffix]\n}\n\n// Some versions of FF have rAF but not cAF\nif(!raf || !caf) {\n var last = 0\n , id = 0\n , queue = []\n , frameDuration = 1000 / 60\n\n raf = function(callback) {\n if(queue.length === 0) {\n var _now = now()\n , next = Math.max(0, frameDuration - (_now - last))\n last = next + _now\n setTimeout(function() {\n var cp = queue.slice(0)\n // Clear queue here to prevent\n // callbacks from appending listeners\n // to the current frame's queue\n queue.length = 0\n for(var i = 0; i < cp.length; i++) {\n if(!cp[i].cancelled) {\n try{\n cp[i].callback(last)\n } catch(e) {\n setTimeout(function() { throw e }, 0)\n }\n }\n }\n }, Math.round(next))\n }\n queue.push({\n handle: ++id,\n callback: callback,\n cancelled: false\n })\n return id\n }\n\n caf = function(handle) {\n for(var i = 0; i < queue.length; i++) {\n if(queue[i].handle === handle) {\n queue[i].cancelled = true\n }\n }\n }\n}\n\nmodule.exports = function(fn) {\n // Wrap in a new function to prevent\n // `cancel` potentially being assigned\n // to the native rAF function\n return raf.call(root, fn)\n}\nmodule.exports.cancel = function() {\n caf.apply(root, arguments)\n}\nmodule.exports.polyfill = function(object) {\n if (!object) {\n object = root;\n }\n object.requestAnimationFrame = raf\n object.cancelAnimationFrame = caf\n}\n","// Generated by CoffeeScript 1.12.2\n(function() {\n var getNanoSeconds, hrtime, loadTime, moduleLoadTime, nodeLoadTime, upTime;\n\n if ((typeof performance !== \"undefined\" && performance !== null) && performance.now) {\n module.exports = function() {\n return performance.now();\n };\n } else if ((typeof process !== \"undefined\" && process !== null) && process.hrtime) {\n module.exports = function() {\n return (getNanoSeconds() - nodeLoadTime) / 1e6;\n };\n hrtime = process.hrtime;\n getNanoSeconds = function() {\n var hr;\n hr = hrtime();\n return hr[0] * 1e9 + hr[1];\n };\n moduleLoadTime = getNanoSeconds();\n upTime = process.uptime() * 1e9;\n nodeLoadTime = moduleLoadTime - upTime;\n } else if (Date.now) {\n module.exports = function() {\n return Date.now() - loadTime;\n };\n loadTime = Date.now();\n } else {\n module.exports = function() {\n return new Date().getTime() - loadTime;\n };\n loadTime = new Date().getTime();\n }\n\n}).call(this);\n\n//# sourceMappingURL=performance-now.js.map\n","'use strict';\n\nexports.__esModule = true;\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\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\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 _mapToZero = require('./mapToZero');\n\nvar _mapToZero2 = _interopRequireDefault(_mapToZero);\n\nvar _stripStyle = require('./stripStyle');\n\nvar _stripStyle2 = _interopRequireDefault(_stripStyle);\n\nvar _stepper3 = require('./stepper');\n\nvar _stepper4 = _interopRequireDefault(_stepper3);\n\nvar _mergeDiff = require('./mergeDiff');\n\nvar _mergeDiff2 = _interopRequireDefault(_mergeDiff);\n\nvar _performanceNow = require('performance-now');\n\nvar _performanceNow2 = _interopRequireDefault(_performanceNow);\n\nvar _raf = require('raf');\n\nvar _raf2 = _interopRequireDefault(_raf);\n\nvar _shouldStopAnimation = require('./shouldStopAnimation');\n\nvar _shouldStopAnimation2 = _interopRequireDefault(_shouldStopAnimation);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar msPerFrame = 1000 / 60;\n\n// the children function & (potential) styles function asks as param an\n// Array, where each TransitionPlainStyle is of the format\n// {key: string, data?: any, style: PlainStyle}. However, the way we keep\n// internal states doesn't contain such a data structure (check the state and\n// TransitionMotionState). So when children function and others ask for such\n// data we need to generate them on the fly by combining mergedPropsStyles and\n// currentStyles/lastIdealStyles\nfunction rehydrateStyles(mergedPropsStyles, unreadPropStyles, plainStyles) {\n // Copy the value to a `const` so that Flow understands that the const won't\n // change and will be non-nullable in the callback below.\n var cUnreadPropStyles = unreadPropStyles;\n if (cUnreadPropStyles == null) {\n return mergedPropsStyles.map(function (mergedPropsStyle, i) {\n return {\n key: mergedPropsStyle.key,\n data: mergedPropsStyle.data,\n style: plainStyles[i]\n };\n });\n }\n return mergedPropsStyles.map(function (mergedPropsStyle, i) {\n for (var j = 0; j < cUnreadPropStyles.length; j++) {\n if (cUnreadPropStyles[j].key === mergedPropsStyle.key) {\n return {\n key: cUnreadPropStyles[j].key,\n data: cUnreadPropStyles[j].data,\n style: plainStyles[i]\n };\n }\n }\n return { key: mergedPropsStyle.key, data: mergedPropsStyle.data, style: plainStyles[i] };\n });\n}\n\nfunction shouldStopAnimationAll(currentStyles, destStyles, currentVelocities, mergedPropsStyles) {\n if (mergedPropsStyles.length !== destStyles.length) {\n return false;\n }\n\n for (var i = 0; i < mergedPropsStyles.length; i++) {\n if (mergedPropsStyles[i].key !== destStyles[i].key) {\n return false;\n }\n }\n\n // we have the invariant that mergedPropsStyles and\n // currentStyles/currentVelocities/last* are synced in terms of cells, see\n // mergeAndSync comment for more info\n for (var i = 0; i < mergedPropsStyles.length; i++) {\n if (!_shouldStopAnimation2['default'](currentStyles[i], destStyles[i].style, currentVelocities[i])) {\n return false;\n }\n }\n\n return true;\n}\n\n// core key merging logic\n\n// things to do: say previously merged style is {a, b}, dest style (prop) is {b,\n// c}, previous current (interpolating) style is {a, b}\n// **invariant**: current[i] corresponds to merged[i] in terms of key\n\n// steps:\n// turn merged style into {a?, b, c}\n// add c, value of c is destStyles.c\n// maybe remove a, aka call willLeave(a), then merged is either {b, c} or {a, b, c}\n// turn current (interpolating) style from {a, b} into {a?, b, c}\n// maybe remove a\n// certainly add c, value of c is willEnter(c)\n// loop over merged and construct new current\n// dest doesn't change, that's owner's\nfunction mergeAndSync(willEnter, willLeave, didLeave, oldMergedPropsStyles, destStyles, oldCurrentStyles, oldCurrentVelocities, oldLastIdealStyles, oldLastIdealVelocities) {\n var newMergedPropsStyles = _mergeDiff2['default'](oldMergedPropsStyles, destStyles, function (oldIndex, oldMergedPropsStyle) {\n var leavingStyle = willLeave(oldMergedPropsStyle);\n if (leavingStyle == null) {\n didLeave({ key: oldMergedPropsStyle.key, data: oldMergedPropsStyle.data });\n return null;\n }\n if (_shouldStopAnimation2['default'](oldCurrentStyles[oldIndex], leavingStyle, oldCurrentVelocities[oldIndex])) {\n didLeave({ key: oldMergedPropsStyle.key, data: oldMergedPropsStyle.data });\n return null;\n }\n return { key: oldMergedPropsStyle.key, data: oldMergedPropsStyle.data, style: leavingStyle };\n });\n\n var newCurrentStyles = [];\n var newCurrentVelocities = [];\n var newLastIdealStyles = [];\n var newLastIdealVelocities = [];\n for (var i = 0; i < newMergedPropsStyles.length; i++) {\n var newMergedPropsStyleCell = newMergedPropsStyles[i];\n var foundOldIndex = null;\n for (var j = 0; j < oldMergedPropsStyles.length; j++) {\n if (oldMergedPropsStyles[j].key === newMergedPropsStyleCell.key) {\n foundOldIndex = j;\n break;\n }\n }\n // TODO: key search code\n if (foundOldIndex == null) {\n var plainStyle = willEnter(newMergedPropsStyleCell);\n newCurrentStyles[i] = plainStyle;\n newLastIdealStyles[i] = plainStyle;\n\n var velocity = _mapToZero2['default'](newMergedPropsStyleCell.style);\n newCurrentVelocities[i] = velocity;\n newLastIdealVelocities[i] = velocity;\n } else {\n newCurrentStyles[i] = oldCurrentStyles[foundOldIndex];\n newLastIdealStyles[i] = oldLastIdealStyles[foundOldIndex];\n newCurrentVelocities[i] = oldCurrentVelocities[foundOldIndex];\n newLastIdealVelocities[i] = oldLastIdealVelocities[foundOldIndex];\n }\n }\n\n return [newMergedPropsStyles, newCurrentStyles, newCurrentVelocities, newLastIdealStyles, newLastIdealVelocities];\n}\n\nvar TransitionMotion = (function (_React$Component) {\n _inherits(TransitionMotion, _React$Component);\n\n _createClass(TransitionMotion, null, [{\n key: 'propTypes',\n value: {\n defaultStyles: _propTypes2['default'].arrayOf(_propTypes2['default'].shape({\n key: _propTypes2['default'].string.isRequired,\n data: _propTypes2['default'].any,\n style: _propTypes2['default'].objectOf(_propTypes2['default'].number).isRequired\n })),\n styles: _propTypes2['default'].oneOfType([_propTypes2['default'].func, _propTypes2['default'].arrayOf(_propTypes2['default'].shape({\n key: _propTypes2['default'].string.isRequired,\n data: _propTypes2['default'].any,\n style: _propTypes2['default'].objectOf(_propTypes2['default'].oneOfType([_propTypes2['default'].number, _propTypes2['default'].object])).isRequired\n }))]).isRequired,\n children: _propTypes2['default'].func.isRequired,\n willEnter: _propTypes2['default'].func,\n willLeave: _propTypes2['default'].func,\n didLeave: _propTypes2['default'].func\n },\n enumerable: true\n }, {\n key: 'defaultProps',\n value: {\n willEnter: function willEnter(styleThatEntered) {\n return _stripStyle2['default'](styleThatEntered.style);\n },\n // recall: returning null makes the current unmounting TransitionStyle\n // disappear immediately\n willLeave: function willLeave() {\n return null;\n },\n didLeave: function didLeave() {}\n },\n enumerable: true\n }]);\n\n function TransitionMotion(props) {\n var _this = this;\n\n _classCallCheck(this, TransitionMotion);\n\n _React$Component.call(this, props);\n this.unmounting = false;\n this.animationID = null;\n this.prevTime = 0;\n this.accumulatedTime = 0;\n this.unreadPropStyles = null;\n\n this.clearUnreadPropStyle = function (unreadPropStyles) {\n var _mergeAndSync = mergeAndSync(_this.props.willEnter, _this.props.willLeave, _this.props.didLeave, _this.state.mergedPropsStyles, unreadPropStyles, _this.state.currentStyles, _this.state.currentVelocities, _this.state.lastIdealStyles, _this.state.lastIdealVelocities);\n\n var mergedPropsStyles = _mergeAndSync[0];\n var currentStyles = _mergeAndSync[1];\n var currentVelocities = _mergeAndSync[2];\n var lastIdealStyles = _mergeAndSync[3];\n var lastIdealVelocities = _mergeAndSync[4];\n\n for (var i = 0; i < unreadPropStyles.length; i++) {\n var unreadPropStyle = unreadPropStyles[i].style;\n var dirty = false;\n\n for (var key in unreadPropStyle) {\n if (!Object.prototype.hasOwnProperty.call(unreadPropStyle, key)) {\n continue;\n }\n\n var styleValue = unreadPropStyle[key];\n if (typeof styleValue === 'number') {\n if (!dirty) {\n dirty = true;\n currentStyles[i] = _extends({}, currentStyles[i]);\n currentVelocities[i] = _extends({}, currentVelocities[i]);\n lastIdealStyles[i] = _extends({}, lastIdealStyles[i]);\n lastIdealVelocities[i] = _extends({}, lastIdealVelocities[i]);\n mergedPropsStyles[i] = {\n key: mergedPropsStyles[i].key,\n data: mergedPropsStyles[i].data,\n style: _extends({}, mergedPropsStyles[i].style)\n };\n }\n currentStyles[i][key] = styleValue;\n currentVelocities[i][key] = 0;\n lastIdealStyles[i][key] = styleValue;\n lastIdealVelocities[i][key] = 0;\n mergedPropsStyles[i].style[key] = styleValue;\n }\n }\n }\n\n // unlike the other 2 components, we can't detect staleness and optionally\n // opt out of setState here. each style object's data might contain new\n // stuff we're not/cannot compare\n _this.setState({\n currentStyles: currentStyles,\n currentVelocities: currentVelocities,\n mergedPropsStyles: mergedPropsStyles,\n lastIdealStyles: lastIdealStyles,\n lastIdealVelocities: lastIdealVelocities\n });\n };\n\n this.startAnimationIfNecessary = function () {\n if (_this.unmounting) {\n return;\n }\n\n // TODO: when config is {a: 10} and dest is {a: 10} do we raf once and\n // call cb? No, otherwise accidental parent rerender causes cb trigger\n _this.animationID = _raf2['default'](function (timestamp) {\n // https://github.com/chenglou/react-motion/pull/420\n // > if execution passes the conditional if (this.unmounting), then\n // executes async defaultRaf and after that component unmounts and after\n // that the callback of defaultRaf is called, then setState will be called\n // on unmounted component.\n if (_this.unmounting) {\n return;\n }\n\n var propStyles = _this.props.styles;\n var destStyles = typeof propStyles === 'function' ? propStyles(rehydrateStyles(_this.state.mergedPropsStyles, _this.unreadPropStyles, _this.state.lastIdealStyles)) : propStyles;\n\n // check if we need to animate in the first place\n if (shouldStopAnimationAll(_this.state.currentStyles, destStyles, _this.state.currentVelocities, _this.state.mergedPropsStyles)) {\n // no need to cancel animationID here; shouldn't have any in flight\n _this.animationID = null;\n _this.accumulatedTime = 0;\n return;\n }\n\n var currentTime = timestamp || _performanceNow2['default']();\n var timeDelta = currentTime - _this.prevTime;\n _this.prevTime = currentTime;\n _this.accumulatedTime = _this.accumulatedTime + timeDelta;\n // more than 10 frames? prolly switched browser tab. Restart\n if (_this.accumulatedTime > msPerFrame * 10) {\n _this.accumulatedTime = 0;\n }\n\n if (_this.accumulatedTime === 0) {\n // no need to cancel animationID here; shouldn't have any in flight\n _this.animationID = null;\n _this.startAnimationIfNecessary();\n return;\n }\n\n var currentFrameCompletion = (_this.accumulatedTime - Math.floor(_this.accumulatedTime / msPerFrame) * msPerFrame) / msPerFrame;\n var framesToCatchUp = Math.floor(_this.accumulatedTime / msPerFrame);\n\n var _mergeAndSync2 = mergeAndSync(_this.props.willEnter, _this.props.willLeave, _this.props.didLeave, _this.state.mergedPropsStyles, destStyles, _this.state.currentStyles, _this.state.currentVelocities, _this.state.lastIdealStyles, _this.state.lastIdealVelocities);\n\n var newMergedPropsStyles = _mergeAndSync2[0];\n var newCurrentStyles = _mergeAndSync2[1];\n var newCurrentVelocities = _mergeAndSync2[2];\n var newLastIdealStyles = _mergeAndSync2[3];\n var newLastIdealVelocities = _mergeAndSync2[4];\n\n for (var i = 0; i < newMergedPropsStyles.length; i++) {\n var newMergedPropsStyle = newMergedPropsStyles[i].style;\n var newCurrentStyle = {};\n var newCurrentVelocity = {};\n var newLastIdealStyle = {};\n var newLastIdealVelocity = {};\n\n for (var key in newMergedPropsStyle) {\n if (!Object.prototype.hasOwnProperty.call(newMergedPropsStyle, key)) {\n continue;\n }\n\n var styleValue = newMergedPropsStyle[key];\n if (typeof styleValue === 'number') {\n newCurrentStyle[key] = styleValue;\n newCurrentVelocity[key] = 0;\n newLastIdealStyle[key] = styleValue;\n newLastIdealVelocity[key] = 0;\n } else {\n var newLastIdealStyleValue = newLastIdealStyles[i][key];\n var newLastIdealVelocityValue = newLastIdealVelocities[i][key];\n for (var j = 0; j < framesToCatchUp; j++) {\n var _stepper = _stepper4['default'](msPerFrame / 1000, newLastIdealStyleValue, newLastIdealVelocityValue, styleValue.val, styleValue.stiffness, styleValue.damping, styleValue.precision);\n\n newLastIdealStyleValue = _stepper[0];\n newLastIdealVelocityValue = _stepper[1];\n }\n\n var _stepper2 = _stepper4['default'](msPerFrame / 1000, newLastIdealStyleValue, newLastIdealVelocityValue, styleValue.val, styleValue.stiffness, styleValue.damping, styleValue.precision);\n\n var nextIdealX = _stepper2[0];\n var nextIdealV = _stepper2[1];\n\n newCurrentStyle[key] = newLastIdealStyleValue + (nextIdealX - newLastIdealStyleValue) * currentFrameCompletion;\n newCurrentVelocity[key] = newLastIdealVelocityValue + (nextIdealV - newLastIdealVelocityValue) * currentFrameCompletion;\n newLastIdealStyle[key] = newLastIdealStyleValue;\n newLastIdealVelocity[key] = newLastIdealVelocityValue;\n }\n }\n\n newLastIdealStyles[i] = newLastIdealStyle;\n newLastIdealVelocities[i] = newLastIdealVelocity;\n newCurrentStyles[i] = newCurrentStyle;\n newCurrentVelocities[i] = newCurrentVelocity;\n }\n\n _this.animationID = null;\n // the amount we're looped over above\n _this.accumulatedTime -= framesToCatchUp * msPerFrame;\n\n _this.setState({\n currentStyles: newCurrentStyles,\n currentVelocities: newCurrentVelocities,\n lastIdealStyles: newLastIdealStyles,\n lastIdealVelocities: newLastIdealVelocities,\n mergedPropsStyles: newMergedPropsStyles\n });\n\n _this.unreadPropStyles = null;\n\n _this.startAnimationIfNecessary();\n });\n };\n\n this.state = this.defaultState();\n }\n\n TransitionMotion.prototype.defaultState = function defaultState() {\n var _props = this.props;\n var defaultStyles = _props.defaultStyles;\n var styles = _props.styles;\n var willEnter = _props.willEnter;\n var willLeave = _props.willLeave;\n var didLeave = _props.didLeave;\n\n var destStyles = typeof styles === 'function' ? styles(defaultStyles) : styles;\n\n // this is special. for the first time around, we don't have a comparison\n // between last (no last) and current merged props. we'll compute last so:\n // say default is {a, b} and styles (dest style) is {b, c}, we'll\n // fabricate last as {a, b}\n var oldMergedPropsStyles = undefined;\n if (defaultStyles == null) {\n oldMergedPropsStyles = destStyles;\n } else {\n oldMergedPropsStyles = defaultStyles.map(function (defaultStyleCell) {\n // TODO: key search code\n for (var i = 0; i < destStyles.length; i++) {\n if (destStyles[i].key === defaultStyleCell.key) {\n return destStyles[i];\n }\n }\n return defaultStyleCell;\n });\n }\n var oldCurrentStyles = defaultStyles == null ? destStyles.map(function (s) {\n return _stripStyle2['default'](s.style);\n }) : defaultStyles.map(function (s) {\n return _stripStyle2['default'](s.style);\n });\n var oldCurrentVelocities = defaultStyles == null ? destStyles.map(function (s) {\n return _mapToZero2['default'](s.style);\n }) : defaultStyles.map(function (s) {\n return _mapToZero2['default'](s.style);\n });\n\n var _mergeAndSync3 = mergeAndSync(\n // Because this is an old-style createReactClass component, Flow doesn't\n // understand that the willEnter and willLeave props have default values\n // and will always be present.\n willEnter, willLeave, didLeave, oldMergedPropsStyles, destStyles, oldCurrentStyles, oldCurrentVelocities, oldCurrentStyles, // oldLastIdealStyles really\n oldCurrentVelocities);\n\n var mergedPropsStyles = _mergeAndSync3[0];\n var currentStyles = _mergeAndSync3[1];\n var currentVelocities = _mergeAndSync3[2];\n var lastIdealStyles = _mergeAndSync3[3];\n var lastIdealVelocities = _mergeAndSync3[4];\n // oldLastIdealVelocities really\n\n return {\n currentStyles: currentStyles,\n currentVelocities: currentVelocities,\n lastIdealStyles: lastIdealStyles,\n lastIdealVelocities: lastIdealVelocities,\n mergedPropsStyles: mergedPropsStyles\n };\n };\n\n // after checking for unreadPropStyles != null, we manually go set the\n // non-interpolating values (those that are a number, without a spring\n // config)\n\n TransitionMotion.prototype.componentDidMount = function componentDidMount() {\n this.prevTime = _performanceNow2['default']();\n this.startAnimationIfNecessary();\n };\n\n TransitionMotion.prototype.componentWillReceiveProps = function componentWillReceiveProps(props) {\n if (this.unreadPropStyles) {\n // previous props haven't had the chance to be set yet; set them here\n this.clearUnreadPropStyle(this.unreadPropStyles);\n }\n\n var styles = props.styles;\n if (typeof styles === 'function') {\n this.unreadPropStyles = styles(rehydrateStyles(this.state.mergedPropsStyles, this.unreadPropStyles, this.state.lastIdealStyles));\n } else {\n this.unreadPropStyles = styles;\n }\n\n if (this.animationID == null) {\n this.prevTime = _performanceNow2['default']();\n this.startAnimationIfNecessary();\n }\n };\n\n TransitionMotion.prototype.componentWillUnmount = function componentWillUnmount() {\n this.unmounting = true;\n if (this.animationID != null) {\n _raf2['default'].cancel(this.animationID);\n this.animationID = null;\n }\n };\n\n TransitionMotion.prototype.render = function render() {\n var hydratedStyles = rehydrateStyles(this.state.mergedPropsStyles, this.unreadPropStyles, this.state.currentStyles);\n var renderedChildren = this.props.children(hydratedStyles);\n return renderedChildren && _react2['default'].Children.only(renderedChildren);\n };\n\n return TransitionMotion;\n})(_react2['default'].Component);\n\nexports['default'] = TransitionMotion;\nmodule.exports = exports['default'];\n\n// list of styles, each containing interpolating values. Part of what's passed\n// to children function. Notice that this is\n// Array, without the wrapper that is {key: ...,\n// data: ... style: ActualInterpolatingStyleObject}. Only mergedPropsStyles\n// contains the key & data info (so that we only have a single source of truth\n// for these, and to save space). Check the comment for `rehydrateStyles` to\n// see how we regenerate the entirety of what's passed to children function\n\n// the array that keeps track of currently rendered stuff! Including stuff\n// that you've unmounted but that's still animating. This is where it lives\n\n// it's possible that currentStyle's value is stale: if props is immediately\n// changed from 0 to 400 to spring(0) again, the async currentStyle is still\n// at 0 (didn't have time to tick and interpolate even once). If we naively\n// compare currentStyle with destVal it'll be 0 === 0 (no animation, stop).\n// In reality currentStyle should be 400","\n\n// currently used to initiate the velocity style object to 0\n'use strict';\n\nexports.__esModule = true;\nexports['default'] = mapToZero;\n\nfunction mapToZero(obj) {\n var ret = {};\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n ret[key] = 0;\n }\n }\n return ret;\n}\n\nmodule.exports = exports['default'];","\n\n// core keys merging algorithm. If previous render's keys are [a, b], and the\n// next render's [c, b, d], what's the final merged keys and ordering?\n\n// - c and a must both be before b\n// - b before d\n// - ordering between a and c ambiguous\n\n// this reduces to merging two partially ordered lists (e.g. lists where not\n// every item has a definite ordering, like comparing a and c above). For the\n// ambiguous ordering we deterministically choose to place the next render's\n// item after the previous'; so c after a\n\n// this is called a topological sorting. Except the existing algorithms don't\n// work well with js bc of the amount of allocation, and isn't optimized for our\n// current use-case bc the runtime is linear in terms of edges (see wiki for\n// meaning), which is huge when two lists have many common elements\n'use strict';\n\nexports.__esModule = true;\nexports['default'] = mergeDiff;\n\nfunction mergeDiff(prev, next, onRemove) {\n // bookkeeping for easier access of a key's index below. This is 2 allocations +\n // potentially triggering chrome hash map mode for objs (so it might be faster\n\n var prevKeyIndex = {};\n for (var i = 0; i < prev.length; i++) {\n prevKeyIndex[prev[i].key] = i;\n }\n var nextKeyIndex = {};\n for (var i = 0; i < next.length; i++) {\n nextKeyIndex[next[i].key] = i;\n }\n\n // first, an overly elaborate way of merging prev and next, eliminating\n // duplicates (in terms of keys). If there's dupe, keep the item in next).\n // This way of writing it saves allocations\n var ret = [];\n for (var i = 0; i < next.length; i++) {\n ret[i] = next[i];\n }\n for (var i = 0; i < prev.length; i++) {\n if (!Object.prototype.hasOwnProperty.call(nextKeyIndex, prev[i].key)) {\n // this is called my TM's `mergeAndSync`, which calls willLeave. We don't\n // merge in keys that the user desires to kill\n var fill = onRemove(i, prev[i]);\n if (fill != null) {\n ret.push(fill);\n }\n }\n }\n\n // now all the items all present. Core sorting logic to have the right order\n return ret.sort(function (a, b) {\n var nextOrderA = nextKeyIndex[a.key];\n var nextOrderB = nextKeyIndex[b.key];\n var prevOrderA = prevKeyIndex[a.key];\n var prevOrderB = prevKeyIndex[b.key];\n\n if (nextOrderA != null && nextOrderB != null) {\n // both keys in next\n return nextKeyIndex[a.key] - nextKeyIndex[b.key];\n } else if (prevOrderA != null && prevOrderB != null) {\n // both keys in prev\n return prevKeyIndex[a.key] - prevKeyIndex[b.key];\n } else if (nextOrderA != null) {\n // key a in next, key b in prev\n\n // how to determine the order between a and b? We find a \"pivot\" (term\n // abuse), a key present in both prev and next, that is sandwiched between\n // a and b. In the context of our above example, if we're comparing a and\n // d, b's (the only) pivot\n for (var i = 0; i < next.length; i++) {\n var pivot = next[i].key;\n if (!Object.prototype.hasOwnProperty.call(prevKeyIndex, pivot)) {\n continue;\n }\n\n if (nextOrderA < nextKeyIndex[pivot] && prevOrderB > prevKeyIndex[pivot]) {\n return -1;\n } else if (nextOrderA > nextKeyIndex[pivot] && prevOrderB < prevKeyIndex[pivot]) {\n return 1;\n }\n }\n // pluggable. default to: next bigger than prev\n return 1;\n }\n // prevOrderA, nextOrderB\n for (var i = 0; i < next.length; i++) {\n var pivot = next[i].key;\n if (!Object.prototype.hasOwnProperty.call(prevKeyIndex, pivot)) {\n continue;\n }\n if (nextOrderB < nextKeyIndex[pivot] && prevOrderA > prevKeyIndex[pivot]) {\n return 1;\n } else if (nextOrderB > nextKeyIndex[pivot] && prevOrderA < prevKeyIndex[pivot]) {\n return -1;\n }\n }\n // pluggable. default to: next bigger than prev\n return -1;\n });\n}\n\nmodule.exports = exports['default'];\n// to loop through and find a key's index each time), but I no longer care","\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = {\n noWobble: { stiffness: 170, damping: 26 }, // the default, if nothing provided\n gentle: { stiffness: 120, damping: 14 },\n wobbly: { stiffness: 180, damping: 12 },\n stiff: { stiffness: 210, damping: 20 }\n};\nmodule.exports = exports[\"default\"];","\n\n// usage assumption: currentStyle values have already been rendered but it says\n// nothing of whether currentStyle is stale (see unreadPropStyle)\n'use strict';\n\nexports.__esModule = true;\nexports['default'] = shouldStopAnimation;\n\nfunction shouldStopAnimation(currentStyle, style, currentVelocity) {\n for (var key in style) {\n if (!Object.prototype.hasOwnProperty.call(style, key)) {\n continue;\n }\n\n if (currentVelocity[key] !== 0) {\n return false;\n }\n\n var styleValue = typeof style[key] === 'number' ? style[key] : style[key].val;\n // stepper will have already taken care of rounding precision errors, so\n // won't have such thing as 0.9999 !=== 1\n if (currentStyle[key] !== styleValue) {\n return false;\n }\n }\n\n return true;\n}\n\nmodule.exports = exports['default'];","'use strict';\n\nexports.__esModule = true;\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\nexports['default'] = spring;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _presets = require('./presets');\n\nvar _presets2 = _interopRequireDefault(_presets);\n\nvar defaultConfig = _extends({}, _presets2['default'].noWobble, {\n precision: 0.01\n});\n\nfunction spring(val, config) {\n return _extends({}, defaultConfig, config, { val: val });\n}\n\nmodule.exports = exports['default'];","\n\n// stepper is used a lot. Saves allocation to return the same array wrapper.\n// This is fine and danger-free against mutations because the callsite\n// immediately destructures it and gets the numbers inside without passing the\n\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = stepper;\n\nvar reusedTuple = [0, 0];\n\nfunction stepper(secondPerFrame, x, v, destX, k, b, precision) {\n // Spring stiffness, in kg / s^2\n\n // for animations, destX is really spring length (spring at rest). initial\n // position is considered as the stretched/compressed position of a spring\n var Fspring = -k * (x - destX);\n\n // Damping, in kg / s\n var Fdamper = -b * v;\n\n // usually we put mass here, but for animation purposes, specifying mass is a\n // bit redundant. you could simply adjust k and b accordingly\n // let a = (Fspring + Fdamper) / mass;\n var a = Fspring + Fdamper;\n\n var newV = v + a * secondPerFrame;\n var newX = x + newV * secondPerFrame;\n\n if (Math.abs(newV) < precision && Math.abs(newX - destX) < precision) {\n reusedTuple[0] = destX;\n reusedTuple[1] = 0;\n return reusedTuple;\n }\n\n reusedTuple[0] = newX;\n reusedTuple[1] = newV;\n return reusedTuple;\n}\n\nmodule.exports = exports[\"default\"];\n// array reference around.","\n// turn {x: {val: 1, stiffness: 1, damping: 2}, y: 2} generated by\n// `{x: spring(1, {stiffness: 1, damping: 2}), y: 2}` into {x: 1, y: 2}\n\n'use strict';\n\nexports.__esModule = true;\nexports['default'] = stripStyle;\n\nfunction stripStyle(style) {\n var ret = {};\n for (var key in style) {\n if (!Object.prototype.hasOwnProperty.call(style, key)) {\n continue;\n }\n ret[key] = typeof style[key] === 'number' ? style[key] : style[key].val;\n }\n return ret;\n}\n\nmodule.exports = exports['default'];","// Written in this round about way for babel-transform-imports\nimport matchPath from \"react-router/es/matchPath\";\n\nexport default matchPath;","import spring from './spring';\n\nexport default function ensureSpring(styles) {\n return Object.keys(styles).reduce(function (acc, key) {\n var value = styles[key];\n acc[key] = typeof value === 'number' ? spring(value) : value;\n return acc;\n }, {});\n}","var _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\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\nimport React, { cloneElement, createElement, Component } from 'react';\nimport TransitionMotion from 'react-motion/lib/TransitionMotion';\nimport PropTypes from 'prop-types';\n\nimport ensureSpring from './ensureSpring';\n\nvar identity = function identity(val) {\n return val;\n};\n\nvar RouteTransition = function (_Component) {\n _inherits(RouteTransition, _Component);\n\n function RouteTransition() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, RouteTransition);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = RouteTransition.__proto__ || Object.getPrototypeOf(RouteTransition)).call.apply(_ref, [this].concat(args))), _this), _this.willEnter = function () {\n return _this.props.atEnter;\n }, _this.willLeave = function () {\n return ensureSpring(_this.props.atLeave);\n }, _this.didLeave = function (styleThatLeft) {\n if (_this.props.didLeave) {\n _this.props.didLeave(styleThatLeft);\n }\n }, _this.renderRoute = function (config) {\n var props = {\n style: _this.props.mapStyles(config.style),\n key: config.key\n };\n\n return _this.props.wrapperComponent !== false ? createElement(_this.props.wrapperComponent, props, config.data) : cloneElement(config.data, props);\n }, _this.renderRoutes = function (interpolatedStyles) {\n return React.createElement(\n 'div',\n { className: _this.props.className },\n interpolatedStyles.map(_this.renderRoute)\n );\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(RouteTransition, [{\n key: 'getDefaultStyles',\n value: function getDefaultStyles() {\n if (!this.props.runOnMount) {\n return null;\n }\n\n if (!this.props.children) {\n return [];\n }\n\n return [{\n key: this.props.children.key,\n data: this.props.children,\n style: this.props.atEnter\n }];\n }\n\n // there's only ever one route mounted at a time,\n // so just return the current match\n\n }, {\n key: 'getStyles',\n value: function getStyles() {\n if (!this.props.children) {\n return [];\n }\n\n return [{\n key: this.props.children.key,\n data: this.props.children,\n style: ensureSpring(this.props.atActive)\n }];\n }\n }, {\n key: 'render',\n value: function render() {\n return React.createElement(\n TransitionMotion,\n {\n defaultStyles: this.getDefaultStyles(),\n styles: this.getStyles(),\n willEnter: this.willEnter,\n willLeave: this.willLeave,\n didLeave: this.didLeave\n },\n this.renderRoutes\n );\n }\n }]);\n\n return RouteTransition;\n}(Component);\n\nRouteTransition.defaultProps = {\n wrapperComponent: 'div',\n runOnMount: false,\n mapStyles: identity\n};\nRouteTransition.propTypes = {\n className: PropTypes.string,\n wrapperComponent: PropTypes.oneOfType([PropTypes.bool, PropTypes.element, PropTypes.string]),\n atEnter: PropTypes.object.isRequired,\n atActive: PropTypes.object.isRequired,\n atLeave: PropTypes.object.isRequired,\n didLeave: PropTypes.func,\n mapStyles: PropTypes.func.isRequired,\n runOnMount: PropTypes.bool.isRequired\n};\n\n\nexport default RouteTransition;","function _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\nimport React from 'react';\nimport { Route, matchPath } from 'react-router-dom';\n\nimport RouteTransition from './RouteTransition';\n\n/**\n * Here we only care about whether or not the pathname matches. If so,\n * we'll use the route's path as the key, otherwise we'll default it\n * to a string signifying no match.\n */\nfunction getKey(_ref, path, exact) {\n var pathname = _ref.pathname;\n\n return matchPath(pathname, { exact: exact, path: path }) ? 'match' : 'no-match';\n}\n\nvar AnimatedRoute = function AnimatedRoute(_ref2) {\n var _render = _ref2.render,\n component = _ref2.component,\n path = _ref2.path,\n exact = _ref2.exact,\n routeTransitionProps = _objectWithoutProperties(_ref2, ['render', 'component', 'path', 'exact']);\n\n return React.createElement(Route, {\n render: function render(_ref3) {\n var location = _ref3.location,\n match = _ref3.match;\n return React.createElement(\n RouteTransition,\n routeTransitionProps,\n React.createElement(Route, {\n key: getKey(location, path, exact),\n path: path,\n exact: exact,\n location: location,\n component: component,\n render: _render\n })\n );\n }\n });\n};\n\nexport default AnimatedRoute;","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\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\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\nimport React from 'react';\nimport { Route, Switch, matchPath } from 'react-router-dom';\nimport PropTypes from 'prop-types';\n\nimport RouteTransition from './RouteTransition';\n\nvar NO_MATCH = {\n key: 'no-match'\n};\n\n/**\n * Not every location object has a `key` property (e.g. HashHistory).\n */\nfunction getLocationKey(location) {\n return typeof location.key === 'string' ? location.key : '';\n}\n\n/**\n * Some superfluous work, but something we need to do in order\n * to persist matches/allow for nesting/etc.\n */\nfunction getMatchedRoute(children, pathname) {\n return React.Children.toArray(children).find(function (child) {\n return matchPath(pathname, {\n exact: child.props.exact,\n path: child.props.path\n });\n }) || NO_MATCH;\n}\n\nvar AnimatedSwitch = function (_React$Component) {\n _inherits(AnimatedSwitch, _React$Component);\n\n function AnimatedSwitch() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, AnimatedSwitch);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = AnimatedSwitch.__proto__ || Object.getPrototypeOf(AnimatedSwitch)).call.apply(_ref, [this].concat(args))), _this), _this.state = {\n key: getLocationKey(_this.props.location),\n match: getMatchedRoute(_this.props.children, _this.props.location.pathname)\n }, _this.matches = 0, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(AnimatedSwitch, [{\n key: 'componentWillReceiveProps',\n value: function componentWillReceiveProps(nextProps) {\n var nextMatch = getMatchedRoute(nextProps.children, nextProps.location.pathname);\n\n if (this.state.match.key !== nextMatch.key) {\n this.setState({\n match: nextMatch,\n key: getLocationKey(nextProps.location) + ++this.matches\n });\n }\n }\n }, {\n key: 'render',\n value: function render() {\n var _props = this.props,\n children = _props.children,\n location = _props.location,\n match = _props.match,\n routeTransitionProps = _objectWithoutProperties(_props, ['children', 'location', 'match']);\n\n return React.createElement(\n RouteTransition,\n routeTransitionProps,\n React.createElement(\n Switch,\n { key: this.state.key, location: location },\n children\n )\n );\n }\n }]);\n\n return AnimatedSwitch;\n}(React.Component);\n\n// inject location as a prop so we can listen for changes\n\n\nAnimatedSwitch.propTypes = {\n location: PropTypes.shape({\n key: PropTypes.string,\n pathname: PropTypes.string\n })\n};\nvar RouteWrapper = function RouteWrapper(props) {\n return React.createElement(Route, {\n children: function children(_ref2) {\n var location = _ref2.location;\n return React.createElement(AnimatedSwitch, _extends({ location: location }, props));\n }\n });\n};\n\nexport default RouteWrapper;","export { default as AnimatedRoute } from './AnimatedRoute';\nexport { default as AnimatedSwitch } from './AnimatedSwitch';\nexport { default as RouteTransition } from './RouteTransition';\nexport { default as spring } from './spring';"],"sourceRoot":""}