{"version":3,"sources":["webpack:///webpack/bootstrap 66527a5c94ec11a76422","webpack:///./index.js","webpack:///./~/react/react.js","webpack:///./~/react/lib/React.js","webpack:///./~/react/lib/ReactDOM.js","webpack:///(webpack)/~/node-libs-browser/~/process/browser.js","webpack:///./~/react/lib/ReactCurrentOwner.js","webpack:///./~/react/lib/ReactDOMTextComponent.js","webpack:///./~/react/lib/DOMChildrenOperations.js","webpack:///./~/react/lib/Danger.js","webpack:///./~/react/~/fbjs/lib/ExecutionEnvironment.js","webpack:///./~/react/~/fbjs/lib/createNodesFromMarkup.js","webpack:///./~/react/~/fbjs/lib/createArrayFromMixed.js","webpack:///./~/react/~/fbjs/lib/toArray.js","webpack:///./~/react/~/fbjs/lib/invariant.js","webpack:///./~/react/~/fbjs/lib/getMarkupWrap.js","webpack:///./~/react/~/fbjs/lib/emptyFunction.js","webpack:///./~/react/lib/ReactMultiChildUpdateTypes.js","webpack:///./~/react/~/fbjs/lib/keyMirror.js","webpack:///./~/react/lib/ReactPerf.js","webpack:///./~/react/lib/setInnerHTML.js","webpack:///./~/react/lib/setTextContent.js","webpack:///./~/react/lib/escapeTextContentForBrowser.js","webpack:///./~/react/lib/DOMPropertyOperations.js","webpack:///./~/react/lib/DOMProperty.js","webpack:///./~/react/lib/quoteAttributeValueForBrowser.js","webpack:///./~/react/~/fbjs/lib/warning.js","webpack:///./~/react/lib/ReactComponentBrowserEnvironment.js","webpack:///./~/react/lib/ReactDOMIDOperations.js","webpack:///./~/react/lib/ReactMount.js","webpack:///./~/react/lib/ReactBrowserEventEmitter.js","webpack:///./~/react/lib/EventConstants.js","webpack:///./~/react/lib/EventPluginHub.js","webpack:///./~/react/lib/EventPluginRegistry.js","webpack:///./~/react/lib/EventPluginUtils.js","webpack:///./~/react/lib/ReactErrorUtils.js","webpack:///./~/react/lib/accumulateInto.js","webpack:///./~/react/lib/forEachAccumulated.js","webpack:///./~/react/lib/ReactEventEmitterMixin.js","webpack:///./~/react/lib/ViewportMetrics.js","webpack:///./~/react/lib/Object.assign.js","webpack:///./~/react/lib/isEventSupported.js","webpack:///./~/react/lib/ReactDOMFeatureFlags.js","webpack:///./~/react/lib/ReactElement.js","webpack:///./~/react/lib/ReactEmptyComponentRegistry.js","webpack:///./~/react/lib/ReactInstanceHandles.js","webpack:///./~/react/lib/ReactRootIndex.js","webpack:///./~/react/lib/ReactInstanceMap.js","webpack:///./~/react/lib/ReactMarkupChecksum.js","webpack:///./~/react/lib/adler32.js","webpack:///./~/react/lib/ReactReconciler.js","webpack:///./~/react/lib/ReactRef.js","webpack:///./~/react/lib/ReactOwner.js","webpack:///./~/react/lib/ReactUpdateQueue.js","webpack:///./~/react/lib/ReactUpdates.js","webpack:///./~/react/lib/CallbackQueue.js","webpack:///./~/react/lib/PooledClass.js","webpack:///./~/react/lib/Transaction.js","webpack:///./~/react/~/fbjs/lib/emptyObject.js","webpack:///./~/react/~/fbjs/lib/containsNode.js","webpack:///./~/react/~/fbjs/lib/isTextNode.js","webpack:///./~/react/~/fbjs/lib/isNode.js","webpack:///./~/react/lib/instantiateReactComponent.js","webpack:///./~/react/lib/ReactCompositeComponent.js","webpack:///./~/react/lib/ReactComponentEnvironment.js","webpack:///./~/react/lib/ReactPropTypeLocations.js","webpack:///./~/react/lib/ReactPropTypeLocationNames.js","webpack:///./~/react/lib/shouldUpdateReactComponent.js","webpack:///./~/react/lib/ReactEmptyComponent.js","webpack:///./~/react/lib/ReactNativeComponent.js","webpack:///./~/react/lib/validateDOMNesting.js","webpack:///./~/react/lib/ReactDefaultInjection.js","webpack:///./~/react/lib/BeforeInputEventPlugin.js","webpack:///./~/react/lib/EventPropagators.js","webpack:///./~/react/lib/FallbackCompositionState.js","webpack:///./~/react/lib/getTextContentAccessor.js","webpack:///./~/react/lib/SyntheticCompositionEvent.js","webpack:///./~/react/lib/SyntheticEvent.js","webpack:///./~/react/lib/SyntheticInputEvent.js","webpack:///./~/react/~/fbjs/lib/keyOf.js","webpack:///./~/react/lib/ChangeEventPlugin.js","webpack:///./~/react/lib/getEventTarget.js","webpack:///./~/react/lib/isTextInputElement.js","webpack:///./~/react/lib/ClientReactRootIndex.js","webpack:///./~/react/lib/DefaultEventPluginOrder.js","webpack:///./~/react/lib/EnterLeaveEventPlugin.js","webpack:///./~/react/lib/SyntheticMouseEvent.js","webpack:///./~/react/lib/SyntheticUIEvent.js","webpack:///./~/react/lib/getEventModifierState.js","webpack:///./~/react/lib/HTMLDOMPropertyConfig.js","webpack:///./~/react/lib/ReactBrowserComponentMixin.js","webpack:///./~/react/lib/findDOMNode.js","webpack:///./~/react/lib/ReactDefaultBatchingStrategy.js","webpack:///./~/react/lib/ReactDOMComponent.js","webpack:///./~/react/lib/AutoFocusUtils.js","webpack:///./~/react/~/fbjs/lib/focusNode.js","webpack:///./~/react/lib/CSSPropertyOperations.js","webpack:///./~/react/lib/CSSProperty.js","webpack:///./~/react/~/fbjs/lib/camelizeStyleName.js","webpack:///./~/react/~/fbjs/lib/camelize.js","webpack:///./~/react/lib/dangerousStyleValue.js","webpack:///./~/react/~/fbjs/lib/hyphenateStyleName.js","webpack:///./~/react/~/fbjs/lib/hyphenate.js","webpack:///./~/react/~/fbjs/lib/memoizeStringOnly.js","webpack:///./~/react/lib/ReactDOMButton.js","webpack:///./~/react/lib/ReactDOMInput.js","webpack:///./~/react/lib/LinkedValueUtils.js","webpack:///./~/react/lib/ReactPropTypes.js","webpack:///./~/react/lib/getIteratorFn.js","webpack:///./~/react/lib/ReactDOMOption.js","webpack:///./~/react/lib/ReactChildren.js","webpack:///./~/react/lib/traverseAllChildren.js","webpack:///./~/react/lib/ReactDOMSelect.js","webpack:///./~/react/lib/ReactDOMTextarea.js","webpack:///./~/react/lib/ReactMultiChild.js","webpack:///./~/react/lib/ReactChildReconciler.js","webpack:///./~/react/lib/flattenChildren.js","webpack:///./~/react/~/fbjs/lib/shallowEqual.js","webpack:///./~/react/lib/ReactEventListener.js","webpack:///./~/react/~/fbjs/lib/EventListener.js","webpack:///./~/react/~/fbjs/lib/getUnboundedScrollPosition.js","webpack:///./~/react/lib/ReactInjection.js","webpack:///./~/react/lib/ReactClass.js","webpack:///./~/react/lib/ReactComponent.js","webpack:///./~/react/lib/ReactNoopUpdateQueue.js","webpack:///./~/react/lib/ReactReconcileTransaction.js","webpack:///./~/react/lib/ReactInputSelection.js","webpack:///./~/react/lib/ReactDOMSelection.js","webpack:///./~/react/lib/getNodeForCharacterOffset.js","webpack:///./~/react/~/fbjs/lib/getActiveElement.js","webpack:///./~/react/lib/SelectEventPlugin.js","webpack:///./~/react/lib/ServerReactRootIndex.js","webpack:///./~/react/lib/SimpleEventPlugin.js","webpack:///./~/react/lib/SyntheticClipboardEvent.js","webpack:///./~/react/lib/SyntheticFocusEvent.js","webpack:///./~/react/lib/SyntheticKeyboardEvent.js","webpack:///./~/react/lib/getEventCharCode.js","webpack:///./~/react/lib/getEventKey.js","webpack:///./~/react/lib/SyntheticDragEvent.js","webpack:///./~/react/lib/SyntheticTouchEvent.js","webpack:///./~/react/lib/SyntheticWheelEvent.js","webpack:///./~/react/lib/SVGDOMPropertyConfig.js","webpack:///./~/react/lib/ReactDefaultPerf.js","webpack:///./~/react/lib/ReactDefaultPerfAnalysis.js","webpack:///./~/react/~/fbjs/lib/performanceNow.js","webpack:///./~/react/~/fbjs/lib/performance.js","webpack:///./~/react/lib/ReactVersion.js","webpack:///./~/react/lib/renderSubtreeIntoContainer.js","webpack:///./~/react/lib/ReactDOMServer.js","webpack:///./~/react/lib/ReactServerRendering.js","webpack:///./~/react/lib/ReactServerBatchingStrategy.js","webpack:///./~/react/lib/ReactServerRenderingTransaction.js","webpack:///./~/react/lib/ReactIsomorphic.js","webpack:///./~/react/lib/ReactDOMFactories.js","webpack:///./~/react/lib/ReactElementValidator.js","webpack:///./~/react/~/fbjs/lib/mapObject.js","webpack:///./~/react/lib/onlyChild.js","webpack:///./~/react/lib/deprecated.js","webpack:///./~/react-dom/index.js","webpack:///./Ticker.js","webpack:///./~/react-motion/lib/react-motion.js","webpack:///./~/react-motion/lib/components.js","webpack:///./~/react-motion/lib/noVelocity.js","webpack:///./~/react-motion/lib/hasReachedStyle.js","webpack:///./~/react-motion/lib/mergeDiff.js","webpack:///./~/react-motion/lib/animationLoop.js","webpack:///./~/react-motion/~/performance-now/lib/performance-now.js","webpack:///./~/react-motion/~/raf/index.js","webpack:///./~/react-motion/lib/zero.js","webpack:///./~/react-motion/lib/updateTree.js","webpack:///./~/react-motion/lib/stepper.js","webpack:///./~/react-motion/lib/spring.js","webpack:///./~/react-motion/lib/presets.js","webpack:///./~/react-motion/lib/deprecatedSprings.js","webpack:///./~/react-motion/lib/stripStyle.js","webpack:///./~/react-motion/lib/reorderKeys.js"],"names":[],"mappings":"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","file":"out.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap 66527a5c94ec11a76422\n **/","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport Ticker from './Ticker';\n\nconst data = [\n { id: 'a', text: 'Hello World!' },\n { id: 'b', text: 'Sweet component!' },\n { id: 'c', text: 'Foo bar' },\n { id: 'd', text: 'Longer text' },\n];\n\nconst root = document.getElementById('root');\n\nlet idx = -1;\nfunction render() {\n idx = (++idx) % data.length;\n ReactDOM.render(<Ticker item={data[idx]} />, root);\n}\n\nrender();\nsetInterval(render, 2000);\n\n\n\n/** WEBPACK FOOTER **\n ** ./index.js\n **/","'use strict';\n\nmodule.exports = require('./lib/React');\n\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/react.js\n **/","/**\n * Copyright 2013-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 * @providesModule React\n */\n\n'use strict';\n\nvar ReactDOM = require('./ReactDOM');\nvar ReactDOMServer = require('./ReactDOMServer');\nvar ReactIsomorphic = require('./ReactIsomorphic');\n\nvar assign = require('./Object.assign');\nvar deprecated = require('./deprecated');\n\n// `version` will be added here by ReactIsomorphic.\nvar React = {};\n\nassign(React, ReactIsomorphic);\n\nassign(React, {\n // ReactDOM\n findDOMNode: deprecated('findDOMNode', 'ReactDOM', 'react-dom', ReactDOM, ReactDOM.findDOMNode),\n render: deprecated('render', 'ReactDOM', 'react-dom', ReactDOM, ReactDOM.render),\n unmountComponentAtNode: deprecated('unmountComponentAtNode', 'ReactDOM', 'react-dom', ReactDOM, ReactDOM.unmountComponentAtNode),\n\n // ReactDOMServer\n renderToString: deprecated('renderToString', 'ReactDOMServer', 'react-dom/server', ReactDOMServer, ReactDOMServer.renderToString),\n renderToStaticMarkup: deprecated('renderToStaticMarkup', 'ReactDOMServer', 'react-dom/server', ReactDOMServer, ReactDOMServer.renderToStaticMarkup)\n});\n\nReact.__SECRET_DOM_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = ReactDOM;\n\nmodule.exports = React;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/React.js\n **/","/**\n * Copyright 2013-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 * @providesModule ReactDOM\n */\n\n/* globals __REACT_DEVTOOLS_GLOBAL_HOOK__*/\n\n'use strict';\n\nvar ReactCurrentOwner = require('./ReactCurrentOwner');\nvar ReactDOMTextComponent = require('./ReactDOMTextComponent');\nvar ReactDefaultInjection = require('./ReactDefaultInjection');\nvar ReactInstanceHandles = require('./ReactInstanceHandles');\nvar ReactMount = require('./ReactMount');\nvar ReactPerf = require('./ReactPerf');\nvar ReactReconciler = require('./ReactReconciler');\nvar ReactUpdates = require('./ReactUpdates');\nvar ReactVersion = require('./ReactVersion');\n\nvar findDOMNode = require('./findDOMNode');\nvar renderSubtreeIntoContainer = require('./renderSubtreeIntoContainer');\nvar warning = require('fbjs/lib/warning');\n\nReactDefaultInjection.inject();\n\nvar render = ReactPerf.measure('React', 'render', ReactMount.render);\n\nvar React = {\n findDOMNode: findDOMNode,\n render: render,\n unmountComponentAtNode: ReactMount.unmountComponentAtNode,\n version: ReactVersion,\n\n /* eslint-disable camelcase */\n unstable_batchedUpdates: ReactUpdates.batchedUpdates,\n unstable_renderSubtreeIntoContainer: renderSubtreeIntoContainer\n};\n\n// Inject the runtime into a devtools global hook regardless of browser.\n// Allows for debugging when the hook is injected on the page.\n/* eslint-enable camelcase */\nif (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.inject === 'function') {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.inject({\n CurrentOwner: ReactCurrentOwner,\n InstanceHandles: ReactInstanceHandles,\n Mount: ReactMount,\n Reconciler: ReactReconciler,\n TextComponent: ReactDOMTextComponent\n });\n}\n\nif (process.env.NODE_ENV !== 'production') {\n var ExecutionEnvironment = require('fbjs/lib/ExecutionEnvironment');\n if (ExecutionEnvironment.canUseDOM && window.top === window.self) {\n\n // First check if devtools is not installed\n if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined') {\n // If we're in Chrome or Firefox, provide a download link if not installed.\n if (navigator.userAgent.indexOf('Chrome') > -1 && navigator.userAgent.indexOf('Edge') === -1 || navigator.userAgent.indexOf('Firefox') > -1) {\n console.debug('Download the React DevTools for a better development experience: ' + 'https://fb.me/react-devtools');\n }\n }\n\n // If we're in IE8, check to see if we are in compatibility mode and provide\n // information on preventing compatibility mode\n var ieCompatibilityMode = document.documentMode && document.documentMode < 8;\n\n process.env.NODE_ENV !== 'production' ? warning(!ieCompatibilityMode, 'Internet Explorer is running in compatibility mode; please add the ' + 'following tag to your HTML to prevent this from happening: ' + '<meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\" />') : undefined;\n\n var expectedFeatures = [\n // shims\n Array.isArray, Array.prototype.every, Array.prototype.forEach, Array.prototype.indexOf, Array.prototype.map, Date.now, Function.prototype.bind, Object.keys, String.prototype.split, String.prototype.trim,\n\n // shams\n Object.create, Object.freeze];\n\n for (var i = 0; i < expectedFeatures.length; i++) {\n if (!expectedFeatures[i]) {\n console.error('One or more ES5 shim/shams expected by React are not available: ' + 'https://fb.me/react-warning-polyfills');\n break;\n }\n }\n }\n}\n\nmodule.exports = React;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/ReactDOM.js\n **/","// shim for using process in browser\n\nvar process = module.exports = {};\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = setTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n clearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n setTimeout(drainQueue, 0);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n\n/** WEBPACK FOOTER **\n ** (webpack)/~/node-libs-browser/~/process/browser.js\n **/","/**\n * Copyright 2013-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 * @providesModule ReactCurrentOwner\n */\n\n'use strict';\n\n/**\n * Keeps track of the current owner.\n *\n * The current owner is the component who should own any components that are\n * currently being constructed.\n */\nvar ReactCurrentOwner = {\n\n /**\n * @internal\n * @type {ReactComponent}\n */\n current: null\n\n};\n\nmodule.exports = ReactCurrentOwner;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/ReactCurrentOwner.js\n **/","/**\n * Copyright 2013-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 * @providesModule ReactDOMTextComponent\n * @typechecks static-only\n */\n\n'use strict';\n\nvar DOMChildrenOperations = require('./DOMChildrenOperations');\nvar DOMPropertyOperations = require('./DOMPropertyOperations');\nvar ReactComponentBrowserEnvironment = require('./ReactComponentBrowserEnvironment');\nvar ReactMount = require('./ReactMount');\n\nvar assign = require('./Object.assign');\nvar escapeTextContentForBrowser = require('./escapeTextContentForBrowser');\nvar setTextContent = require('./setTextContent');\nvar validateDOMNesting = require('./validateDOMNesting');\n\n/**\n * Text nodes violate a couple assumptions that React makes about components:\n *\n * - When mounting text into the DOM, adjacent text nodes are merged.\n * - Text nodes cannot be assigned a React root ID.\n *\n * This component is used to wrap strings in elements so that they can undergo\n * the same reconciliation that is applied to elements.\n *\n * TODO: Investigate representing React components in the DOM with text nodes.\n *\n * @class ReactDOMTextComponent\n * @extends ReactComponent\n * @internal\n */\nvar ReactDOMTextComponent = function (props) {\n // This constructor and its argument is currently used by mocks.\n};\n\nassign(ReactDOMTextComponent.prototype, {\n\n /**\n * @param {ReactText} text\n * @internal\n */\n construct: function (text) {\n // TODO: This is really a ReactText (ReactNode), not a ReactElement\n this._currentElement = text;\n this._stringText = '' + text;\n\n // Properties\n this._rootNodeID = null;\n this._mountIndex = 0;\n },\n\n /**\n * Creates the markup for this text node. This node is not intended to have\n * any features besides containing text content.\n *\n * @param {string} rootID DOM ID of the root node.\n * @param {ReactReconcileTransaction|ReactServerRenderingTransaction} transaction\n * @return {string} Markup for this text node.\n * @internal\n */\n mountComponent: function (rootID, transaction, context) {\n if (process.env.NODE_ENV !== 'production') {\n if (context[validateDOMNesting.ancestorInfoContextKey]) {\n validateDOMNesting('span', null, context[validateDOMNesting.ancestorInfoContextKey]);\n }\n }\n\n this._rootNodeID = rootID;\n if (transaction.useCreateElement) {\n var ownerDocument = context[ReactMount.ownerDocumentContextKey];\n var el = ownerDocument.createElement('span');\n DOMPropertyOperations.setAttributeForID(el, rootID);\n // Populate node cache\n ReactMount.getID(el);\n setTextContent(el, this._stringText);\n return el;\n } else {\n var escapedText = escapeTextContentForBrowser(this._stringText);\n\n if (transaction.renderToStaticMarkup) {\n // Normally we'd wrap this in a `span` for the reasons stated above, but\n // since this is a situation where React won't take over (static pages),\n // we can simply return the text as it is.\n return escapedText;\n }\n\n return '<span ' + DOMPropertyOperations.createMarkupForID(rootID) + '>' + escapedText + '</span>';\n }\n },\n\n /**\n * Updates this component by updating the text content.\n *\n * @param {ReactText} nextText The next text content\n * @param {ReactReconcileTransaction} transaction\n * @internal\n */\n receiveComponent: function (nextText, transaction) {\n if (nextText !== this._currentElement) {\n this._currentElement = nextText;\n var nextStringText = '' + nextText;\n if (nextStringText !== this._stringText) {\n // TODO: Save this as pending props and use performUpdateIfNecessary\n // and/or updateComponent to do the actual update for consistency with\n // other component types?\n this._stringText = nextStringText;\n var node = ReactMount.getNode(this._rootNodeID);\n DOMChildrenOperations.updateTextContent(node, nextStringText);\n }\n }\n },\n\n unmountComponent: function () {\n ReactComponentBrowserEnvironment.unmountIDFromEnvironment(this._rootNodeID);\n }\n\n});\n\nmodule.exports = ReactDOMTextComponent;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/ReactDOMTextComponent.js\n **/","/**\n * Copyright 2013-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 * @providesModule DOMChildrenOperations\n * @typechecks static-only\n */\n\n'use strict';\n\nvar Danger = require('./Danger');\nvar ReactMultiChildUpdateTypes = require('./ReactMultiChildUpdateTypes');\nvar ReactPerf = require('./ReactPerf');\n\nvar setInnerHTML = require('./setInnerHTML');\nvar setTextContent = require('./setTextContent');\nvar invariant = require('fbjs/lib/invariant');\n\n/**\n * Inserts `childNode` as a child of `parentNode` at the `index`.\n *\n * @param {DOMElement} parentNode Parent node in which to insert.\n * @param {DOMElement} childNode Child node to insert.\n * @param {number} index Index at which to insert the child.\n * @internal\n */\nfunction insertChildAt(parentNode, childNode, index) {\n // By exploiting arrays returning `undefined` for an undefined index, we can\n // rely exclusively on `insertBefore(node, null)` instead of also using\n // `appendChild(node)`. However, using `undefined` is not allowed by all\n // browsers so we must replace it with `null`.\n\n // fix render order error in safari\n // IE8 will throw error when index out of list size.\n var beforeChild = index >= parentNode.childNodes.length ? null : parentNode.childNodes.item(index);\n\n parentNode.insertBefore(childNode, beforeChild);\n}\n\n/**\n * Operations for updating with DOM children.\n */\nvar DOMChildrenOperations = {\n\n dangerouslyReplaceNodeWithMarkup: Danger.dangerouslyReplaceNodeWithMarkup,\n\n updateTextContent: setTextContent,\n\n /**\n * Updates a component's children by processing a series of updates. The\n * update configurations are each expected to have a `parentNode` property.\n *\n * @param {array<object>} updates List of update configurations.\n * @param {array<string>} markupList List of markup strings.\n * @internal\n */\n processUpdates: function (updates, markupList) {\n var update;\n // Mapping from parent IDs to initial child orderings.\n var initialChildren = null;\n // List of children that will be moved or removed.\n var updatedChildren = null;\n\n for (var i = 0; i < updates.length; i++) {\n update = updates[i];\n if (update.type === ReactMultiChildUpdateTypes.MOVE_EXISTING || update.type === ReactMultiChildUpdateTypes.REMOVE_NODE) {\n var updatedIndex = update.fromIndex;\n var updatedChild = update.parentNode.childNodes[updatedIndex];\n var parentID = update.parentID;\n\n !updatedChild ? process.env.NODE_ENV !== 'production' ? invariant(false, 'processUpdates(): Unable to find child %s of element. This ' + 'probably means the DOM was unexpectedly mutated (e.g., by the ' + 'browser), usually due to forgetting a <tbody> when using tables, ' + 'nesting tags like <form>, <p>, or <a>, or using non-SVG elements ' + 'in an <svg> parent. Try inspecting the child nodes of the element ' + 'with React ID `%s`.', updatedIndex, parentID) : invariant(false) : undefined;\n\n initialChildren = initialChildren || {};\n initialChildren[parentID] = initialChildren[parentID] || [];\n initialChildren[parentID][updatedIndex] = updatedChild;\n\n updatedChildren = updatedChildren || [];\n updatedChildren.push(updatedChild);\n }\n }\n\n var renderedMarkup;\n // markupList is either a list of markup or just a list of elements\n if (markupList.length && typeof markupList[0] === 'string') {\n renderedMarkup = Danger.dangerouslyRenderMarkup(markupList);\n } else {\n renderedMarkup = markupList;\n }\n\n // Remove updated children first so that `toIndex` is consistent.\n if (updatedChildren) {\n for (var j = 0; j < updatedChildren.length; j++) {\n updatedChildren[j].parentNode.removeChild(updatedChildren[j]);\n }\n }\n\n for (var k = 0; k < updates.length; k++) {\n update = updates[k];\n switch (update.type) {\n case ReactMultiChildUpdateTypes.INSERT_MARKUP:\n insertChildAt(update.parentNode, renderedMarkup[update.markupIndex], update.toIndex);\n break;\n case ReactMultiChildUpdateTypes.MOVE_EXISTING:\n insertChildAt(update.parentNode, initialChildren[update.parentID][update.fromIndex], update.toIndex);\n break;\n case ReactMultiChildUpdateTypes.SET_MARKUP:\n setInnerHTML(update.parentNode, update.content);\n break;\n case ReactMultiChildUpdateTypes.TEXT_CONTENT:\n setTextContent(update.parentNode, update.content);\n break;\n case ReactMultiChildUpdateTypes.REMOVE_NODE:\n // Already removed by the for-loop above.\n break;\n }\n }\n }\n\n};\n\nReactPerf.measureMethods(DOMChildrenOperations, 'DOMChildrenOperations', {\n updateTextContent: 'updateTextContent'\n});\n\nmodule.exports = DOMChildrenOperations;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/DOMChildrenOperations.js\n **/","/**\n * Copyright 2013-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 * @providesModule Danger\n * @typechecks static-only\n */\n\n'use strict';\n\nvar ExecutionEnvironment = require('fbjs/lib/ExecutionEnvironment');\n\nvar createNodesFromMarkup = require('fbjs/lib/createNodesFromMarkup');\nvar emptyFunction = require('fbjs/lib/emptyFunction');\nvar getMarkupWrap = require('fbjs/lib/getMarkupWrap');\nvar invariant = require('fbjs/lib/invariant');\n\nvar OPEN_TAG_NAME_EXP = /^(<[^ \\/>]+)/;\nvar RESULT_INDEX_ATTR = 'data-danger-index';\n\n/**\n * Extracts the `nodeName` from a string of markup.\n *\n * NOTE: Extracting the `nodeName` does not require a regular expression match\n * because we make assumptions about React-generated markup (i.e. there are no\n * spaces surrounding the opening tag and there is at least one attribute).\n *\n * @param {string} markup String of markup.\n * @return {string} Node name of the supplied markup.\n * @see http://jsperf.com/extract-nodename\n */\nfunction getNodeName(markup) {\n return markup.substring(1, markup.indexOf(' '));\n}\n\nvar Danger = {\n\n /**\n * Renders markup into an array of nodes. The markup is expected to render\n * into a list of root nodes. Also, the length of `resultList` and\n * `markupList` should be the same.\n *\n * @param {array<string>} markupList List of markup strings to render.\n * @return {array<DOMElement>} List of rendered nodes.\n * @internal\n */\n dangerouslyRenderMarkup: function (markupList) {\n !ExecutionEnvironment.canUseDOM ? process.env.NODE_ENV !== 'production' ? invariant(false, 'dangerouslyRenderMarkup(...): Cannot render markup in a worker ' + 'thread. Make sure `window` and `document` are available globally ' + 'before requiring React when unit testing or use ' + 'ReactDOMServer.renderToString for server rendering.') : invariant(false) : undefined;\n var nodeName;\n var markupByNodeName = {};\n // Group markup by `nodeName` if a wrap is necessary, else by '*'.\n for (var i = 0; i < markupList.length; i++) {\n !markupList[i] ? process.env.NODE_ENV !== 'production' ? invariant(false, 'dangerouslyRenderMarkup(...): Missing markup.') : invariant(false) : undefined;\n nodeName = getNodeName(markupList[i]);\n nodeName = getMarkupWrap(nodeName) ? nodeName : '*';\n markupByNodeName[nodeName] = markupByNodeName[nodeName] || [];\n markupByNodeName[nodeName][i] = markupList[i];\n }\n var resultList = [];\n var resultListAssignmentCount = 0;\n for (nodeName in markupByNodeName) {\n if (!markupByNodeName.hasOwnProperty(nodeName)) {\n continue;\n }\n var markupListByNodeName = markupByNodeName[nodeName];\n\n // This for-in loop skips the holes of the sparse array. The order of\n // iteration should follow the order of assignment, which happens to match\n // numerical index order, but we don't rely on that.\n var resultIndex;\n for (resultIndex in markupListByNodeName) {\n if (markupListByNodeName.hasOwnProperty(resultIndex)) {\n var markup = markupListByNodeName[resultIndex];\n\n // Push the requested markup with an additional RESULT_INDEX_ATTR\n // attribute. If the markup does not start with a < character, it\n // will be discarded below (with an appropriate console.error).\n markupListByNodeName[resultIndex] = markup.replace(OPEN_TAG_NAME_EXP,\n // This index will be parsed back out below.\n '$1 ' + RESULT_INDEX_ATTR + '=\"' + resultIndex + '\" ');\n }\n }\n\n // Render each group of markup with similar wrapping `nodeName`.\n var renderNodes = createNodesFromMarkup(markupListByNodeName.join(''), emptyFunction // Do nothing special with <script> tags.\n );\n\n for (var j = 0; j < renderNodes.length; ++j) {\n var renderNode = renderNodes[j];\n if (renderNode.hasAttribute && renderNode.hasAttribute(RESULT_INDEX_ATTR)) {\n\n resultIndex = +renderNode.getAttribute(RESULT_INDEX_ATTR);\n renderNode.removeAttribute(RESULT_INDEX_ATTR);\n\n !!resultList.hasOwnProperty(resultIndex) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Danger: Assigning to an already-occupied result index.') : invariant(false) : undefined;\n\n resultList[resultIndex] = renderNode;\n\n // This should match resultList.length and markupList.length when\n // we're done.\n resultListAssignmentCount += 1;\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('Danger: Discarding unexpected node:', renderNode);\n }\n }\n }\n\n // Although resultList was populated out of order, it should now be a dense\n // array.\n !(resultListAssignmentCount === resultList.length) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Danger: Did not assign to every index of resultList.') : invariant(false) : undefined;\n\n !(resultList.length === markupList.length) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Danger: Expected markup to render %s nodes, but rendered %s.', markupList.length, resultList.length) : invariant(false) : undefined;\n\n return resultList;\n },\n\n /**\n * Replaces a node with a string of markup at its current position within its\n * parent. The markup must render into a single root node.\n *\n * @param {DOMElement} oldChild Child node to replace.\n * @param {string} markup Markup to render in place of the child node.\n * @internal\n */\n dangerouslyReplaceNodeWithMarkup: function (oldChild, markup) {\n !ExecutionEnvironment.canUseDOM ? process.env.NODE_ENV !== 'production' ? invariant(false, 'dangerouslyReplaceNodeWithMarkup(...): Cannot render markup in a ' + 'worker thread. Make sure `window` and `document` are available ' + 'globally before requiring React when unit testing or use ' + 'ReactDOMServer.renderToString() for server rendering.') : invariant(false) : undefined;\n !markup ? process.env.NODE_ENV !== 'production' ? invariant(false, 'dangerouslyReplaceNodeWithMarkup(...): Missing markup.') : invariant(false) : undefined;\n !(oldChild.tagName.toLowerCase() !== 'html') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'dangerouslyReplaceNodeWithMarkup(...): Cannot replace markup of the ' + '<html> node. This is because browser quirks make this unreliable ' + 'and/or slow. If you want to render to the root you must use ' + 'server rendering. See ReactDOMServer.renderToString().') : invariant(false) : undefined;\n\n var newChild;\n if (typeof markup === 'string') {\n newChild = createNodesFromMarkup(markup, emptyFunction)[0];\n } else {\n newChild = markup;\n }\n oldChild.parentNode.replaceChild(newChild, oldChild);\n }\n\n};\n\nmodule.exports = Danger;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/Danger.js\n **/","/**\n * Copyright 2013-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 * @providesModule ExecutionEnvironment\n */\n\n'use strict';\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n\n/**\n * Simple, lightweight module assisting with the detection and context of\n * Worker. Helps avoid circular dependencies and allows code to reason about\n * whether or not they are in a Worker, even if they never include the main\n * `ReactWorker` dependency.\n */\nvar ExecutionEnvironment = {\n\n canUseDOM: canUseDOM,\n\n canUseWorkers: typeof Worker !== 'undefined',\n\n canUseEventListeners: canUseDOM && !!(window.addEventListener || window.attachEvent),\n\n canUseViewport: canUseDOM && !!window.screen,\n\n isInWorker: !canUseDOM // For now, this is true - might change in the future.\n\n};\n\nmodule.exports = ExecutionEnvironment;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/~/fbjs/lib/ExecutionEnvironment.js\n **/","/**\n * Copyright 2013-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 * @providesModule createNodesFromMarkup\n * @typechecks\n */\n\n/*eslint-disable fb-www/unsafe-html*/\n\n'use strict';\n\nvar ExecutionEnvironment = require('./ExecutionEnvironment');\n\nvar createArrayFromMixed = require('./createArrayFromMixed');\nvar getMarkupWrap = require('./getMarkupWrap');\nvar invariant = require('./invariant');\n\n/**\n * Dummy container used to render all markup.\n */\nvar dummyNode = ExecutionEnvironment.canUseDOM ? document.createElement('div') : null;\n\n/**\n * Pattern used by `getNodeName`.\n */\nvar nodeNamePattern = /^\\s*<(\\w+)/;\n\n/**\n * Extracts the `nodeName` of the first element in a string of markup.\n *\n * @param {string} markup String of markup.\n * @return {?string} Node name of the supplied markup.\n */\nfunction getNodeName(markup) {\n var nodeNameMatch = markup.match(nodeNamePattern);\n return nodeNameMatch && nodeNameMatch[1].toLowerCase();\n}\n\n/**\n * Creates an array containing the nodes rendered from the supplied markup. The\n * optionally supplied `handleScript` function will be invoked once for each\n * <script> element that is rendered. If no `handleScript` function is supplied,\n * an exception is thrown if any <script> elements are rendered.\n *\n * @param {string} markup A string of valid HTML markup.\n * @param {?function} handleScript Invoked once for each rendered <script>.\n * @return {array<DOMElement|DOMTextNode>} An array of rendered nodes.\n */\nfunction createNodesFromMarkup(markup, handleScript) {\n var node = dummyNode;\n !!!dummyNode ? process.env.NODE_ENV !== 'production' ? invariant(false, 'createNodesFromMarkup dummy not initialized') : invariant(false) : undefined;\n var nodeName = getNodeName(markup);\n\n var wrap = nodeName && getMarkupWrap(nodeName);\n if (wrap) {\n node.innerHTML = wrap[1] + markup + wrap[2];\n\n var wrapDepth = wrap[0];\n while (wrapDepth--) {\n node = node.lastChild;\n }\n } else {\n node.innerHTML = markup;\n }\n\n var scripts = node.getElementsByTagName('script');\n if (scripts.length) {\n !handleScript ? process.env.NODE_ENV !== 'production' ? invariant(false, 'createNodesFromMarkup(...): Unexpected <script> element rendered.') : invariant(false) : undefined;\n createArrayFromMixed(scripts).forEach(handleScript);\n }\n\n var nodes = createArrayFromMixed(node.childNodes);\n while (node.lastChild) {\n node.removeChild(node.lastChild);\n }\n return nodes;\n}\n\nmodule.exports = createNodesFromMarkup;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/~/fbjs/lib/createNodesFromMarkup.js\n **/","/**\n * Copyright 2013-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 * @providesModule createArrayFromMixed\n * @typechecks\n */\n\n'use strict';\n\nvar toArray = require('./toArray');\n\n/**\n * Perform a heuristic test to determine if an object is \"array-like\".\n *\n * A monk asked Joshu, a Zen master, \"Has a dog Buddha nature?\"\n * Joshu replied: \"Mu.\"\n *\n * This function determines if its argument has \"array nature\": it returns\n * true if the argument is an actual array, an `arguments' object, or an\n * HTMLCollection (e.g. node.childNodes or node.getElementsByTagName()).\n *\n * It will return false for other array-like objects like Filelist.\n *\n * @param {*} obj\n * @return {boolean}\n */\nfunction hasArrayNature(obj) {\n return(\n // not null/false\n !!obj && (\n // arrays are objects, NodeLists are functions in Safari\n typeof obj == 'object' || typeof obj == 'function') &&\n // quacks like an array\n 'length' in obj &&\n // not window\n !('setInterval' in obj) &&\n // no DOM node should be considered an array-like\n // a 'select' element has 'length' and 'item' properties on IE8\n typeof obj.nodeType != 'number' && (\n // a real array\n Array.isArray(obj) ||\n // arguments\n 'callee' in obj ||\n // HTMLCollection/NodeList\n 'item' in obj)\n );\n}\n\n/**\n * Ensure that the argument is an array by wrapping it in an array if it is not.\n * Creates a copy of the argument if it is already an array.\n *\n * This is mostly useful idiomatically:\n *\n * var createArrayFromMixed = require('createArrayFromMixed');\n *\n * function takesOneOrMoreThings(things) {\n * things = createArrayFromMixed(things);\n * ...\n * }\n *\n * This allows you to treat `things' as an array, but accept scalars in the API.\n *\n * If you need to convert an array-like object, like `arguments`, into an array\n * use toArray instead.\n *\n * @param {*} obj\n * @return {array}\n */\nfunction createArrayFromMixed(obj) {\n if (!hasArrayNature(obj)) {\n return [obj];\n } else if (Array.isArray(obj)) {\n return obj.slice();\n } else {\n return toArray(obj);\n }\n}\n\nmodule.exports = createArrayFromMixed;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/~/fbjs/lib/createArrayFromMixed.js\n **/","/**\n * Copyright 2013-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 * @providesModule toArray\n * @typechecks\n */\n\n'use strict';\n\nvar invariant = require('./invariant');\n\n/**\n * Convert array-like objects to arrays.\n *\n * This API assumes the caller knows the contents of the data type. For less\n * well defined inputs use createArrayFromMixed.\n *\n * @param {object|function|filelist} obj\n * @return {array}\n */\nfunction toArray(obj) {\n var length = obj.length;\n\n // Some browse builtin objects can report typeof 'function' (e.g. NodeList in\n // old versions of Safari).\n !(!Array.isArray(obj) && (typeof obj === 'object' || typeof obj === 'function')) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'toArray: Array-like object expected') : invariant(false) : undefined;\n\n !(typeof length === 'number') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'toArray: Object needs a length property') : invariant(false) : undefined;\n\n !(length === 0 || length - 1 in obj) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'toArray: Object should have keys for indices') : invariant(false) : undefined;\n\n // Old IE doesn't give collections access to hasOwnProperty. Assume inputs\n // without method will throw during the slice call and skip straight to the\n // fallback.\n if (obj.hasOwnProperty) {\n try {\n return Array.prototype.slice.call(obj);\n } catch (e) {\n // IE < 9 does not support Array#slice on collections objects\n }\n }\n\n // Fall back to copying key by key. This assumes all keys have a value,\n // so will not preserve sparsely populated inputs.\n var ret = Array(length);\n for (var ii = 0; ii < length; ii++) {\n ret[ii] = obj[ii];\n }\n return ret;\n}\n\nmodule.exports = toArray;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/~/fbjs/lib/toArray.js\n **/","/**\n * Copyright 2013-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 * @providesModule invariant\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('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error('Invariant Violation: ' + format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\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\n/** WEBPACK FOOTER **\n ** ./~/react/~/fbjs/lib/invariant.js\n **/","/**\n * Copyright 2013-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 * @providesModule getMarkupWrap\n */\n\n/*eslint-disable fb-www/unsafe-html */\n\n'use strict';\n\nvar ExecutionEnvironment = require('./ExecutionEnvironment');\n\nvar invariant = require('./invariant');\n\n/**\n * Dummy container used to detect which wraps are necessary.\n */\nvar dummyNode = ExecutionEnvironment.canUseDOM ? document.createElement('div') : null;\n\n/**\n * Some browsers cannot use `innerHTML` to render certain elements standalone,\n * so we wrap them, render the wrapped nodes, then extract the desired node.\n *\n * In IE8, certain elements cannot render alone, so wrap all elements ('*').\n */\n\nvar shouldWrap = {};\n\nvar selectWrap = [1, '<select multiple=\"true\">', '</select>'];\nvar tableWrap = [1, '<table>', '</table>'];\nvar trWrap = [3, '<table><tbody><tr>', '</tr></tbody></table>'];\n\nvar svgWrap = [1, '<svg xmlns=\"http://www.w3.org/2000/svg\">', '</svg>'];\n\nvar markupWrap = {\n '*': [1, '?<div>', '</div>'],\n\n 'area': [1, '<map>', '</map>'],\n 'col': [2, '<table><tbody></tbody><colgroup>', '</colgroup></table>'],\n 'legend': [1, '<fieldset>', '</fieldset>'],\n 'param': [1, '<object>', '</object>'],\n 'tr': [2, '<table><tbody>', '</tbody></table>'],\n\n 'optgroup': selectWrap,\n 'option': selectWrap,\n\n 'caption': tableWrap,\n 'colgroup': tableWrap,\n 'tbody': tableWrap,\n 'tfoot': tableWrap,\n 'thead': tableWrap,\n\n 'td': trWrap,\n 'th': trWrap\n};\n\n// Initialize the SVG elements since we know they'll always need to be wrapped\n// consistently. If they are created inside a <div> they will be initialized in\n// the wrong namespace (and will not display).\nvar svgElements = ['circle', 'clipPath', 'defs', 'ellipse', 'g', 'image', 'line', 'linearGradient', 'mask', 'path', 'pattern', 'polygon', 'polyline', 'radialGradient', 'rect', 'stop', 'text', 'tspan'];\nsvgElements.forEach(function (nodeName) {\n markupWrap[nodeName] = svgWrap;\n shouldWrap[nodeName] = true;\n});\n\n/**\n * Gets the markup wrap configuration for the supplied `nodeName`.\n *\n * NOTE: This lazily detects which wraps are necessary for the current browser.\n *\n * @param {string} nodeName Lowercase `nodeName`.\n * @return {?array} Markup wrap configuration, if applicable.\n */\nfunction getMarkupWrap(nodeName) {\n !!!dummyNode ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Markup wrapping node not initialized') : invariant(false) : undefined;\n if (!markupWrap.hasOwnProperty(nodeName)) {\n nodeName = '*';\n }\n if (!shouldWrap.hasOwnProperty(nodeName)) {\n if (nodeName === '*') {\n dummyNode.innerHTML = '<link />';\n } else {\n dummyNode.innerHTML = '<' + nodeName + '></' + nodeName + '>';\n }\n shouldWrap[nodeName] = !dummyNode.firstChild;\n }\n return shouldWrap[nodeName] ? markupWrap[nodeName] : null;\n}\n\nmodule.exports = getMarkupWrap;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/~/fbjs/lib/getMarkupWrap.js\n **/","/**\n * Copyright 2013-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 * @providesModule emptyFunction\n */\n\n\"use strict\";\n\nfunction makeEmptyFunction(arg) {\n return function () {\n return arg;\n };\n}\n\n/**\n * This function accepts and discards inputs; it has no side effects. This is\n * primarily useful idiomatically for overridable function endpoints which\n * always need to be callable, since JS lacks a null-call idiom ala Cocoa.\n */\nfunction emptyFunction() {}\n\nemptyFunction.thatReturns = makeEmptyFunction;\nemptyFunction.thatReturnsFalse = makeEmptyFunction(false);\nemptyFunction.thatReturnsTrue = makeEmptyFunction(true);\nemptyFunction.thatReturnsNull = makeEmptyFunction(null);\nemptyFunction.thatReturnsThis = function () {\n return this;\n};\nemptyFunction.thatReturnsArgument = function (arg) {\n return arg;\n};\n\nmodule.exports = emptyFunction;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/~/fbjs/lib/emptyFunction.js\n **/","/**\n * Copyright 2013-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 * @providesModule ReactMultiChildUpdateTypes\n */\n\n'use strict';\n\nvar keyMirror = require('fbjs/lib/keyMirror');\n\n/**\n * When a component's children are updated, a series of update configuration\n * objects are created in order to batch and serialize the required changes.\n *\n * Enumerates all the possible types of update configurations.\n *\n * @internal\n */\nvar ReactMultiChildUpdateTypes = keyMirror({\n INSERT_MARKUP: null,\n MOVE_EXISTING: null,\n REMOVE_NODE: null,\n SET_MARKUP: null,\n TEXT_CONTENT: null\n});\n\nmodule.exports = ReactMultiChildUpdateTypes;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/ReactMultiChildUpdateTypes.js\n **/","/**\n * Copyright 2013-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 * @providesModule keyMirror\n * @typechecks static-only\n */\n\n'use strict';\n\nvar invariant = require('./invariant');\n\n/**\n * Constructs an enumeration with keys equal to their value.\n *\n * For example:\n *\n * var COLORS = keyMirror({blue: null, red: null});\n * var myColor = COLORS.blue;\n * var isColorValid = !!COLORS[myColor];\n *\n * The last line could not be performed if the values of the generated enum were\n * not equal to their keys.\n *\n * Input: {key1: val1, key2: val2}\n * Output: {key1: key1, key2: key2}\n *\n * @param {object} obj\n * @return {object}\n */\nvar keyMirror = function (obj) {\n var ret = {};\n var key;\n !(obj instanceof Object && !Array.isArray(obj)) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'keyMirror(...): Argument must be an object.') : invariant(false) : undefined;\n for (key in obj) {\n if (!obj.hasOwnProperty(key)) {\n continue;\n }\n ret[key] = key;\n }\n return ret;\n};\n\nmodule.exports = keyMirror;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/~/fbjs/lib/keyMirror.js\n **/","/**\n * Copyright 2013-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 * @providesModule ReactPerf\n * @typechecks static-only\n */\n\n'use strict';\n\n/**\n * ReactPerf is a general AOP system designed to measure performance. This\n * module only has the hooks: see ReactDefaultPerf for the analysis tool.\n */\nvar ReactPerf = {\n /**\n * Boolean to enable/disable measurement. Set to false by default to prevent\n * accidental logging and perf loss.\n */\n enableMeasure: false,\n\n /**\n * Holds onto the measure function in use. By default, don't measure\n * anything, but we'll override this if we inject a measure function.\n */\n storedMeasure: _noMeasure,\n\n /**\n * @param {object} object\n * @param {string} objectName\n * @param {object<string>} methodNames\n */\n measureMethods: function (object, objectName, methodNames) {\n if (process.env.NODE_ENV !== 'production') {\n for (var key in methodNames) {\n if (!methodNames.hasOwnProperty(key)) {\n continue;\n }\n object[key] = ReactPerf.measure(objectName, methodNames[key], object[key]);\n }\n }\n },\n\n /**\n * Use this to wrap methods you want to measure. Zero overhead in production.\n *\n * @param {string} objName\n * @param {string} fnName\n * @param {function} func\n * @return {function}\n */\n measure: function (objName, fnName, func) {\n if (process.env.NODE_ENV !== 'production') {\n var measuredFunc = null;\n var wrapper = function () {\n if (ReactPerf.enableMeasure) {\n if (!measuredFunc) {\n measuredFunc = ReactPerf.storedMeasure(objName, fnName, func);\n }\n return measuredFunc.apply(this, arguments);\n }\n return func.apply(this, arguments);\n };\n wrapper.displayName = objName + '_' + fnName;\n return wrapper;\n }\n return func;\n },\n\n injection: {\n /**\n * @param {function} measure\n */\n injectMeasure: function (measure) {\n ReactPerf.storedMeasure = measure;\n }\n }\n};\n\n/**\n * Simply passes through the measured function, without measuring it.\n *\n * @param {string} objName\n * @param {string} fnName\n * @param {function} func\n * @return {function}\n */\nfunction _noMeasure(objName, fnName, func) {\n return func;\n}\n\nmodule.exports = ReactPerf;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/ReactPerf.js\n **/","/**\n * Copyright 2013-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 * @providesModule setInnerHTML\n */\n\n/* globals MSApp */\n\n'use strict';\n\nvar ExecutionEnvironment = require('fbjs/lib/ExecutionEnvironment');\n\nvar WHITESPACE_TEST = /^[ \\r\\n\\t\\f]/;\nvar NONVISIBLE_TEST = /<(!--|link|noscript|meta|script|style)[ \\r\\n\\t\\f\\/>]/;\n\n/**\n * Set the innerHTML property of a node, ensuring that whitespace is preserved\n * even in IE8.\n *\n * @param {DOMElement} node\n * @param {string} html\n * @internal\n */\nvar setInnerHTML = function (node, html) {\n node.innerHTML = html;\n};\n\n// Win8 apps: Allow all html to be inserted\nif (typeof MSApp !== 'undefined' && MSApp.execUnsafeLocalFunction) {\n setInnerHTML = function (node, html) {\n MSApp.execUnsafeLocalFunction(function () {\n node.innerHTML = html;\n });\n };\n}\n\nif (ExecutionEnvironment.canUseDOM) {\n // IE8: When updating a just created node with innerHTML only leading\n // whitespace is removed. When updating an existing node with innerHTML\n // whitespace in root TextNodes is also collapsed.\n // @see quirksmode.org/bugreports/archives/2004/11/innerhtml_and_t.html\n\n // Feature detection; only IE8 is known to behave improperly like this.\n var testElement = document.createElement('div');\n testElement.innerHTML = ' ';\n if (testElement.innerHTML === '') {\n setInnerHTML = function (node, html) {\n // Magic theory: IE8 supposedly differentiates between added and updated\n // nodes when processing innerHTML, innerHTML on updated nodes suffers\n // from worse whitespace behavior. Re-adding a node like this triggers\n // the initial and more favorable whitespace behavior.\n // TODO: What to do on a detached node?\n if (node.parentNode) {\n node.parentNode.replaceChild(node, node);\n }\n\n // We also implement a workaround for non-visible tags disappearing into\n // thin air on IE8, this only happens if there is no visible text\n // in-front of the non-visible tags. Piggyback on the whitespace fix\n // and simply check if any non-visible tags appear in the source.\n if (WHITESPACE_TEST.test(html) || html[0] === '<' && NONVISIBLE_TEST.test(html)) {\n // Recover leading whitespace by temporarily prepending any character.\n // \\uFEFF has the potential advantage of being zero-width/invisible.\n // UglifyJS drops U+FEFF chars when parsing, so use String.fromCharCode\n // in hopes that this is preserved even if \"\\uFEFF\" is transformed to\n // the actual Unicode character (by Babel, for example).\n // https://github.com/mishoo/UglifyJS2/blob/v2.4.20/lib/parse.js#L216\n node.innerHTML = String.fromCharCode(0xFEFF) + html;\n\n // deleteData leaves an empty `TextNode` which offsets the index of all\n // children. Definitely want to avoid this.\n var textNode = node.firstChild;\n if (textNode.data.length === 1) {\n node.removeChild(textNode);\n } else {\n textNode.deleteData(0, 1);\n }\n } else {\n node.innerHTML = html;\n }\n };\n }\n}\n\nmodule.exports = setInnerHTML;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/setInnerHTML.js\n **/","/**\n * Copyright 2013-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 * @providesModule setTextContent\n */\n\n'use strict';\n\nvar ExecutionEnvironment = require('fbjs/lib/ExecutionEnvironment');\nvar escapeTextContentForBrowser = require('./escapeTextContentForBrowser');\nvar setInnerHTML = require('./setInnerHTML');\n\n/**\n * Set the textContent property of a node, ensuring that whitespace is preserved\n * even in IE8. innerText is a poor substitute for textContent and, among many\n * issues, inserts <br> instead of the literal newline chars. innerHTML behaves\n * as it should.\n *\n * @param {DOMElement} node\n * @param {string} text\n * @internal\n */\nvar setTextContent = function (node, text) {\n node.textContent = text;\n};\n\nif (ExecutionEnvironment.canUseDOM) {\n if (!('textContent' in document.documentElement)) {\n setTextContent = function (node, text) {\n setInnerHTML(node, escapeTextContentForBrowser(text));\n };\n }\n}\n\nmodule.exports = setTextContent;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/setTextContent.js\n **/","/**\n * Copyright 2013-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 * @providesModule escapeTextContentForBrowser\n */\n\n'use strict';\n\nvar ESCAPE_LOOKUP = {\n '&': '&',\n '>': '>',\n '<': '<',\n '\"': '"',\n '\\'': '''\n};\n\nvar ESCAPE_REGEX = /[&><\"']/g;\n\nfunction escaper(match) {\n return ESCAPE_LOOKUP[match];\n}\n\n/**\n * Escapes text to prevent scripting attacks.\n *\n * @param {*} text Text value to escape.\n * @return {string} An escaped string.\n */\nfunction escapeTextContentForBrowser(text) {\n return ('' + text).replace(ESCAPE_REGEX, escaper);\n}\n\nmodule.exports = escapeTextContentForBrowser;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/escapeTextContentForBrowser.js\n **/","/**\n * Copyright 2013-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 * @providesModule DOMPropertyOperations\n * @typechecks static-only\n */\n\n'use strict';\n\nvar DOMProperty = require('./DOMProperty');\nvar ReactPerf = require('./ReactPerf');\n\nvar quoteAttributeValueForBrowser = require('./quoteAttributeValueForBrowser');\nvar warning = require('fbjs/lib/warning');\n\n// Simplified subset\nvar VALID_ATTRIBUTE_NAME_REGEX = /^[a-zA-Z_][\\w\\.\\-]*$/;\nvar illegalAttributeNameCache = {};\nvar validatedAttributeNameCache = {};\n\nfunction isAttributeNameSafe(attributeName) {\n if (validatedAttributeNameCache.hasOwnProperty(attributeName)) {\n return true;\n }\n if (illegalAttributeNameCache.hasOwnProperty(attributeName)) {\n return false;\n }\n if (VALID_ATTRIBUTE_NAME_REGEX.test(attributeName)) {\n validatedAttributeNameCache[attributeName] = true;\n return true;\n }\n illegalAttributeNameCache[attributeName] = true;\n process.env.NODE_ENV !== 'production' ? warning(false, 'Invalid attribute name: `%s`', attributeName) : undefined;\n return false;\n}\n\nfunction shouldIgnoreValue(propertyInfo, value) {\n return value == null || propertyInfo.hasBooleanValue && !value || propertyInfo.hasNumericValue && isNaN(value) || propertyInfo.hasPositiveNumericValue && value < 1 || propertyInfo.hasOverloadedBooleanValue && value === false;\n}\n\nif (process.env.NODE_ENV !== 'production') {\n var reactProps = {\n children: true,\n dangerouslySetInnerHTML: true,\n key: true,\n ref: true\n };\n var warnedProperties = {};\n\n var warnUnknownProperty = function (name) {\n if (reactProps.hasOwnProperty(name) && reactProps[name] || warnedProperties.hasOwnProperty(name) && warnedProperties[name]) {\n return;\n }\n\n warnedProperties[name] = true;\n var lowerCasedName = name.toLowerCase();\n\n // data-* attributes should be lowercase; suggest the lowercase version\n var standardName = DOMProperty.isCustomAttribute(lowerCasedName) ? lowerCasedName : DOMProperty.getPossibleStandardName.hasOwnProperty(lowerCasedName) ? DOMProperty.getPossibleStandardName[lowerCasedName] : null;\n\n // For now, only warn when we have a suggested correction. This prevents\n // logging too much when using transferPropsTo.\n process.env.NODE_ENV !== 'production' ? warning(standardName == null, 'Unknown DOM property %s. Did you mean %s?', name, standardName) : undefined;\n };\n}\n\n/**\n * Operations for dealing with DOM properties.\n */\nvar DOMPropertyOperations = {\n\n /**\n * Creates markup for the ID property.\n *\n * @param {string} id Unescaped ID.\n * @return {string} Markup string.\n */\n createMarkupForID: function (id) {\n return DOMProperty.ID_ATTRIBUTE_NAME + '=' + quoteAttributeValueForBrowser(id);\n },\n\n setAttributeForID: function (node, id) {\n node.setAttribute(DOMProperty.ID_ATTRIBUTE_NAME, id);\n },\n\n /**\n * Creates markup for a property.\n *\n * @param {string} name\n * @param {*} value\n * @return {?string} Markup string, or null if the property was invalid.\n */\n createMarkupForProperty: function (name, value) {\n var propertyInfo = DOMProperty.properties.hasOwnProperty(name) ? DOMProperty.properties[name] : null;\n if (propertyInfo) {\n if (shouldIgnoreValue(propertyInfo, value)) {\n return '';\n }\n var attributeName = propertyInfo.attributeName;\n if (propertyInfo.hasBooleanValue || propertyInfo.hasOverloadedBooleanValue && value === true) {\n return attributeName + '=\"\"';\n }\n return attributeName + '=' + quoteAttributeValueForBrowser(value);\n } else if (DOMProperty.isCustomAttribute(name)) {\n if (value == null) {\n return '';\n }\n return name + '=' + quoteAttributeValueForBrowser(value);\n } else if (process.env.NODE_ENV !== 'production') {\n warnUnknownProperty(name);\n }\n return null;\n },\n\n /**\n * Creates markup for a custom property.\n *\n * @param {string} name\n * @param {*} value\n * @return {string} Markup string, or empty string if the property was invalid.\n */\n createMarkupForCustomAttribute: function (name, value) {\n if (!isAttributeNameSafe(name) || value == null) {\n return '';\n }\n return name + '=' + quoteAttributeValueForBrowser(value);\n },\n\n /**\n * Sets the value for a property on a node.\n *\n * @param {DOMElement} node\n * @param {string} name\n * @param {*} value\n */\n setValueForProperty: function (node, name, value) {\n var propertyInfo = DOMProperty.properties.hasOwnProperty(name) ? DOMProperty.properties[name] : null;\n if (propertyInfo) {\n var mutationMethod = propertyInfo.mutationMethod;\n if (mutationMethod) {\n mutationMethod(node, value);\n } else if (shouldIgnoreValue(propertyInfo, value)) {\n this.deleteValueForProperty(node, name);\n } else if (propertyInfo.mustUseAttribute) {\n var attributeName = propertyInfo.attributeName;\n var namespace = propertyInfo.attributeNamespace;\n // `setAttribute` with objects becomes only `[object]` in IE8/9,\n // ('' + value) makes it output the correct toString()-value.\n if (namespace) {\n node.setAttributeNS(namespace, attributeName, '' + value);\n } else if (propertyInfo.hasBooleanValue || propertyInfo.hasOverloadedBooleanValue && value === true) {\n node.setAttribute(attributeName, '');\n } else {\n node.setAttribute(attributeName, '' + value);\n }\n } else {\n var propName = propertyInfo.propertyName;\n // Must explicitly cast values for HAS_SIDE_EFFECTS-properties to the\n // property type before comparing; only `value` does and is string.\n if (!propertyInfo.hasSideEffects || '' + node[propName] !== '' + value) {\n // Contrary to `setAttribute`, object properties are properly\n // `toString`ed by IE8/9.\n node[propName] = value;\n }\n }\n } else if (DOMProperty.isCustomAttribute(name)) {\n DOMPropertyOperations.setValueForAttribute(node, name, value);\n } else if (process.env.NODE_ENV !== 'production') {\n warnUnknownProperty(name);\n }\n },\n\n setValueForAttribute: function (node, name, value) {\n if (!isAttributeNameSafe(name)) {\n return;\n }\n if (value == null) {\n node.removeAttribute(name);\n } else {\n node.setAttribute(name, '' + value);\n }\n },\n\n /**\n * Deletes the value for a property on a node.\n *\n * @param {DOMElement} node\n * @param {string} name\n */\n deleteValueForProperty: function (node, name) {\n var propertyInfo = DOMProperty.properties.hasOwnProperty(name) ? DOMProperty.properties[name] : null;\n if (propertyInfo) {\n var mutationMethod = propertyInfo.mutationMethod;\n if (mutationMethod) {\n mutationMethod(node, undefined);\n } else if (propertyInfo.mustUseAttribute) {\n node.removeAttribute(propertyInfo.attributeName);\n } else {\n var propName = propertyInfo.propertyName;\n var defaultValue = DOMProperty.getDefaultValueForProperty(node.nodeName, propName);\n if (!propertyInfo.hasSideEffects || '' + node[propName] !== defaultValue) {\n node[propName] = defaultValue;\n }\n }\n } else if (DOMProperty.isCustomAttribute(name)) {\n node.removeAttribute(name);\n } else if (process.env.NODE_ENV !== 'production') {\n warnUnknownProperty(name);\n }\n }\n\n};\n\nReactPerf.measureMethods(DOMPropertyOperations, 'DOMPropertyOperations', {\n setValueForProperty: 'setValueForProperty',\n setValueForAttribute: 'setValueForAttribute',\n deleteValueForProperty: 'deleteValueForProperty'\n});\n\nmodule.exports = DOMPropertyOperations;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/DOMPropertyOperations.js\n **/","/**\n * Copyright 2013-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 * @providesModule DOMProperty\n * @typechecks static-only\n */\n\n'use strict';\n\nvar invariant = require('fbjs/lib/invariant');\n\nfunction checkMask(value, bitmask) {\n return (value & bitmask) === bitmask;\n}\n\nvar DOMPropertyInjection = {\n /**\n * Mapping from normalized, camelcased property names to a configuration that\n * specifies how the associated DOM property should be accessed or rendered.\n */\n MUST_USE_ATTRIBUTE: 0x1,\n MUST_USE_PROPERTY: 0x2,\n HAS_SIDE_EFFECTS: 0x4,\n HAS_BOOLEAN_VALUE: 0x8,\n HAS_NUMERIC_VALUE: 0x10,\n HAS_POSITIVE_NUMERIC_VALUE: 0x20 | 0x10,\n HAS_OVERLOADED_BOOLEAN_VALUE: 0x40,\n\n /**\n * Inject some specialized knowledge about the DOM. This takes a config object\n * with the following properties:\n *\n * isCustomAttribute: function that given an attribute name will return true\n * if it can be inserted into the DOM verbatim. Useful for data-* or aria-*\n * attributes where it's impossible to enumerate all of the possible\n * attribute names,\n *\n * Properties: object mapping DOM property name to one of the\n * DOMPropertyInjection constants or null. If your attribute isn't in here,\n * it won't get written to the DOM.\n *\n * DOMAttributeNames: object mapping React attribute name to the DOM\n * attribute name. Attribute names not specified use the **lowercase**\n * normalized name.\n *\n * DOMAttributeNamespaces: object mapping React attribute name to the DOM\n * attribute namespace URL. (Attribute names not specified use no namespace.)\n *\n * DOMPropertyNames: similar to DOMAttributeNames but for DOM properties.\n * Property names not specified use the normalized name.\n *\n * DOMMutationMethods: Properties that require special mutation methods. If\n * `value` is undefined, the mutation method should unset the property.\n *\n * @param {object} domPropertyConfig the config as described above.\n */\n injectDOMPropertyConfig: function (domPropertyConfig) {\n var Injection = DOMPropertyInjection;\n var Properties = domPropertyConfig.Properties || {};\n var DOMAttributeNamespaces = domPropertyConfig.DOMAttributeNamespaces || {};\n var DOMAttributeNames = domPropertyConfig.DOMAttributeNames || {};\n var DOMPropertyNames = domPropertyConfig.DOMPropertyNames || {};\n var DOMMutationMethods = domPropertyConfig.DOMMutationMethods || {};\n\n if (domPropertyConfig.isCustomAttribute) {\n DOMProperty._isCustomAttributeFunctions.push(domPropertyConfig.isCustomAttribute);\n }\n\n for (var propName in Properties) {\n !!DOMProperty.properties.hasOwnProperty(propName) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'injectDOMPropertyConfig(...): You\\'re trying to inject DOM property ' + '\\'%s\\' which has already been injected. You may be accidentally ' + 'injecting the same DOM property config twice, or you may be ' + 'injecting two configs that have conflicting property names.', propName) : invariant(false) : undefined;\n\n var lowerCased = propName.toLowerCase();\n var propConfig = Properties[propName];\n\n var propertyInfo = {\n attributeName: lowerCased,\n attributeNamespace: null,\n propertyName: propName,\n mutationMethod: null,\n\n mustUseAttribute: checkMask(propConfig, Injection.MUST_USE_ATTRIBUTE),\n mustUseProperty: checkMask(propConfig, Injection.MUST_USE_PROPERTY),\n hasSideEffects: checkMask(propConfig, Injection.HAS_SIDE_EFFECTS),\n hasBooleanValue: checkMask(propConfig, Injection.HAS_BOOLEAN_VALUE),\n hasNumericValue: checkMask(propConfig, Injection.HAS_NUMERIC_VALUE),\n hasPositiveNumericValue: checkMask(propConfig, Injection.HAS_POSITIVE_NUMERIC_VALUE),\n hasOverloadedBooleanValue: checkMask(propConfig, Injection.HAS_OVERLOADED_BOOLEAN_VALUE)\n };\n\n !(!propertyInfo.mustUseAttribute || !propertyInfo.mustUseProperty) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'DOMProperty: Cannot require using both attribute and property: %s', propName) : invariant(false) : undefined;\n !(propertyInfo.mustUseProperty || !propertyInfo.hasSideEffects) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'DOMProperty: Properties that have side effects must use property: %s', propName) : invariant(false) : undefined;\n !(propertyInfo.hasBooleanValue + propertyInfo.hasNumericValue + propertyInfo.hasOverloadedBooleanValue <= 1) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'DOMProperty: Value can be one of boolean, overloaded boolean, or ' + 'numeric value, but not a combination: %s', propName) : invariant(false) : undefined;\n\n if (process.env.NODE_ENV !== 'production') {\n DOMProperty.getPossibleStandardName[lowerCased] = propName;\n }\n\n if (DOMAttributeNames.hasOwnProperty(propName)) {\n var attributeName = DOMAttributeNames[propName];\n propertyInfo.attributeName = attributeName;\n if (process.env.NODE_ENV !== 'production') {\n DOMProperty.getPossibleStandardName[attributeName] = propName;\n }\n }\n\n if (DOMAttributeNamespaces.hasOwnProperty(propName)) {\n propertyInfo.attributeNamespace = DOMAttributeNamespaces[propName];\n }\n\n if (DOMPropertyNames.hasOwnProperty(propName)) {\n propertyInfo.propertyName = DOMPropertyNames[propName];\n }\n\n if (DOMMutationMethods.hasOwnProperty(propName)) {\n propertyInfo.mutationMethod = DOMMutationMethods[propName];\n }\n\n DOMProperty.properties[propName] = propertyInfo;\n }\n }\n};\nvar defaultValueCache = {};\n\n/**\n * DOMProperty exports lookup objects that can be used like functions:\n *\n * > DOMProperty.isValid['id']\n * true\n * > DOMProperty.isValid['foobar']\n * undefined\n *\n * Although this may be confusing, it performs better in general.\n *\n * @see http://jsperf.com/key-exists\n * @see http://jsperf.com/key-missing\n */\nvar DOMProperty = {\n\n ID_ATTRIBUTE_NAME: 'data-reactid',\n\n /**\n * Map from property \"standard name\" to an object with info about how to set\n * the property in the DOM. Each object contains:\n *\n * attributeName:\n * Used when rendering markup or with `*Attribute()`.\n * attributeNamespace\n * propertyName:\n * Used on DOM node instances. (This includes properties that mutate due to\n * external factors.)\n * mutationMethod:\n * If non-null, used instead of the property or `setAttribute()` after\n * initial render.\n * mustUseAttribute:\n * Whether the property must be accessed and mutated using `*Attribute()`.\n * (This includes anything that fails `<propName> in <element>`.)\n * mustUseProperty:\n * Whether the property must be accessed and mutated as an object property.\n * hasSideEffects:\n * Whether or not setting a value causes side effects such as triggering\n * resources to be loaded or text selection changes. If true, we read from\n * the DOM before updating to ensure that the value is only set if it has\n * changed.\n * hasBooleanValue:\n * Whether the property should be removed when set to a falsey value.\n * hasNumericValue:\n * Whether the property must be numeric or parse as a numeric and should be\n * removed when set to a falsey value.\n * hasPositiveNumericValue:\n * Whether the property must be positive numeric or parse as a positive\n * numeric and should be removed when set to a falsey value.\n * hasOverloadedBooleanValue:\n * Whether the property can be used as a flag as well as with a value.\n * Removed when strictly equal to false; present without a value when\n * strictly equal to true; present with a value otherwise.\n */\n properties: {},\n\n /**\n * Mapping from lowercase property names to the properly cased version, used\n * to warn in the case of missing properties. Available only in __DEV__.\n * @type {Object}\n */\n getPossibleStandardName: process.env.NODE_ENV !== 'production' ? {} : null,\n\n /**\n * All of the isCustomAttribute() functions that have been injected.\n */\n _isCustomAttributeFunctions: [],\n\n /**\n * Checks whether a property name is a custom attribute.\n * @method\n */\n isCustomAttribute: function (attributeName) {\n for (var i = 0; i < DOMProperty._isCustomAttributeFunctions.length; i++) {\n var isCustomAttributeFn = DOMProperty._isCustomAttributeFunctions[i];\n if (isCustomAttributeFn(attributeName)) {\n return true;\n }\n }\n return false;\n },\n\n /**\n * Returns the default property value for a DOM property (i.e., not an\n * attribute). Most default values are '' or false, but not all. Worse yet,\n * some (in particular, `type`) vary depending on the type of element.\n *\n * TODO: Is it better to grab all the possible properties when creating an\n * element to avoid having to create the same element twice?\n */\n getDefaultValueForProperty: function (nodeName, prop) {\n var nodeDefaults = defaultValueCache[nodeName];\n var testElement;\n if (!nodeDefaults) {\n defaultValueCache[nodeName] = nodeDefaults = {};\n }\n if (!(prop in nodeDefaults)) {\n testElement = document.createElement(nodeName);\n nodeDefaults[prop] = testElement[prop];\n }\n return nodeDefaults[prop];\n },\n\n injection: DOMPropertyInjection\n};\n\nmodule.exports = DOMProperty;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/DOMProperty.js\n **/","/**\n * Copyright 2013-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 * @providesModule quoteAttributeValueForBrowser\n */\n\n'use strict';\n\nvar escapeTextContentForBrowser = require('./escapeTextContentForBrowser');\n\n/**\n * Escapes attribute value to prevent scripting attacks.\n *\n * @param {*} value Value to escape.\n * @return {string} An escaped string.\n */\nfunction quoteAttributeValueForBrowser(value) {\n return '\"' + escapeTextContentForBrowser(value) + '\"';\n}\n\nmodule.exports = quoteAttributeValueForBrowser;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/quoteAttributeValueForBrowser.js\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 * @providesModule warning\n */\n\n'use strict';\n\nvar emptyFunction = require('./emptyFunction');\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 = emptyFunction;\n\nif (process.env.NODE_ENV !== 'production') {\n warning = function (condition, format) {\n for (var _len = arguments.length, args = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n\n if (format === undefined) {\n throw new Error('`warning(condition, format, ...args)` requires a warning ' + 'message argument');\n }\n\n if (format.indexOf('Failed Composite propType: ') === 0) {\n return; // Ignore CompositeComponent proptype check.\n }\n\n if (!condition) {\n var argIndex = 0;\n var message = 'Warning: ' + format.replace(/%s/g, function () {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\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\n\n/** WEBPACK FOOTER **\n ** ./~/react/~/fbjs/lib/warning.js\n **/","/**\n * Copyright 2013-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 * @providesModule ReactComponentBrowserEnvironment\n */\n\n'use strict';\n\nvar ReactDOMIDOperations = require('./ReactDOMIDOperations');\nvar ReactMount = require('./ReactMount');\n\n/**\n * Abstracts away all functionality of the reconciler that requires knowledge of\n * the browser context. TODO: These callers should be refactored to avoid the\n * need for this injection.\n */\nvar ReactComponentBrowserEnvironment = {\n\n processChildrenUpdates: ReactDOMIDOperations.dangerouslyProcessChildrenUpdates,\n\n replaceNodeWithMarkupByID: ReactDOMIDOperations.dangerouslyReplaceNodeWithMarkupByID,\n\n /**\n * If a particular environment requires that some resources be cleaned up,\n * specify this in the injected Mixin. In the DOM, we would likely want to\n * purge any cached node ID lookups.\n *\n * @private\n */\n unmountIDFromEnvironment: function (rootNodeID) {\n ReactMount.purgeID(rootNodeID);\n }\n\n};\n\nmodule.exports = ReactComponentBrowserEnvironment;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/ReactComponentBrowserEnvironment.js\n **/","/**\n * Copyright 2013-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 * @providesModule ReactDOMIDOperations\n * @typechecks static-only\n */\n\n'use strict';\n\nvar DOMChildrenOperations = require('./DOMChildrenOperations');\nvar DOMPropertyOperations = require('./DOMPropertyOperations');\nvar ReactMount = require('./ReactMount');\nvar ReactPerf = require('./ReactPerf');\n\nvar invariant = require('fbjs/lib/invariant');\n\n/**\n * Errors for properties that should not be updated with `updatePropertyByID()`.\n *\n * @type {object}\n * @private\n */\nvar INVALID_PROPERTY_ERRORS = {\n dangerouslySetInnerHTML: '`dangerouslySetInnerHTML` must be set using `updateInnerHTMLByID()`.',\n style: '`style` must be set using `updateStylesByID()`.'\n};\n\n/**\n * Operations used to process updates to DOM nodes.\n */\nvar ReactDOMIDOperations = {\n\n /**\n * Updates a DOM node with new property values. This should only be used to\n * update DOM properties in `DOMProperty`.\n *\n * @param {string} id ID of the node to update.\n * @param {string} name A valid property name, see `DOMProperty`.\n * @param {*} value New value of the property.\n * @internal\n */\n updatePropertyByID: function (id, name, value) {\n var node = ReactMount.getNode(id);\n !!INVALID_PROPERTY_ERRORS.hasOwnProperty(name) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'updatePropertyByID(...): %s', INVALID_PROPERTY_ERRORS[name]) : invariant(false) : undefined;\n\n // If we're updating to null or undefined, we should remove the property\n // from the DOM node instead of inadvertantly setting to a string. This\n // brings us in line with the same behavior we have on initial render.\n if (value != null) {\n DOMPropertyOperations.setValueForProperty(node, name, value);\n } else {\n DOMPropertyOperations.deleteValueForProperty(node, name);\n }\n },\n\n /**\n * Replaces a DOM node that exists in the document with markup.\n *\n * @param {string} id ID of child to be replaced.\n * @param {string} markup Dangerous markup to inject in place of child.\n * @internal\n * @see {Danger.dangerouslyReplaceNodeWithMarkup}\n */\n dangerouslyReplaceNodeWithMarkupByID: function (id, markup) {\n var node = ReactMount.getNode(id);\n DOMChildrenOperations.dangerouslyReplaceNodeWithMarkup(node, markup);\n },\n\n /**\n * Updates a component's children by processing a series of updates.\n *\n * @param {array<object>} updates List of update configurations.\n * @param {array<string>} markup List of markup strings.\n * @internal\n */\n dangerouslyProcessChildrenUpdates: function (updates, markup) {\n for (var i = 0; i < updates.length; i++) {\n updates[i].parentNode = ReactMount.getNode(updates[i].parentID);\n }\n DOMChildrenOperations.processUpdates(updates, markup);\n }\n};\n\nReactPerf.measureMethods(ReactDOMIDOperations, 'ReactDOMIDOperations', {\n dangerouslyReplaceNodeWithMarkupByID: 'dangerouslyReplaceNodeWithMarkupByID',\n dangerouslyProcessChildrenUpdates: 'dangerouslyProcessChildrenUpdates'\n});\n\nmodule.exports = ReactDOMIDOperations;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/ReactDOMIDOperations.js\n **/","/**\n * Copyright 2013-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 * @providesModule ReactMount\n */\n\n'use strict';\n\nvar DOMProperty = require('./DOMProperty');\nvar ReactBrowserEventEmitter = require('./ReactBrowserEventEmitter');\nvar ReactCurrentOwner = require('./ReactCurrentOwner');\nvar ReactDOMFeatureFlags = require('./ReactDOMFeatureFlags');\nvar ReactElement = require('./ReactElement');\nvar ReactEmptyComponentRegistry = require('./ReactEmptyComponentRegistry');\nvar ReactInstanceHandles = require('./ReactInstanceHandles');\nvar ReactInstanceMap = require('./ReactInstanceMap');\nvar ReactMarkupChecksum = require('./ReactMarkupChecksum');\nvar ReactPerf = require('./ReactPerf');\nvar ReactReconciler = require('./ReactReconciler');\nvar ReactUpdateQueue = require('./ReactUpdateQueue');\nvar ReactUpdates = require('./ReactUpdates');\n\nvar assign = require('./Object.assign');\nvar emptyObject = require('fbjs/lib/emptyObject');\nvar containsNode = require('fbjs/lib/containsNode');\nvar instantiateReactComponent = require('./instantiateReactComponent');\nvar invariant = require('fbjs/lib/invariant');\nvar setInnerHTML = require('./setInnerHTML');\nvar shouldUpdateReactComponent = require('./shouldUpdateReactComponent');\nvar validateDOMNesting = require('./validateDOMNesting');\nvar warning = require('fbjs/lib/warning');\n\nvar ATTR_NAME = DOMProperty.ID_ATTRIBUTE_NAME;\nvar nodeCache = {};\n\nvar ELEMENT_NODE_TYPE = 1;\nvar DOC_NODE_TYPE = 9;\nvar DOCUMENT_FRAGMENT_NODE_TYPE = 11;\n\nvar ownerDocumentContextKey = '__ReactMount_ownerDocument$' + Math.random().toString(36).slice(2);\n\n/** Mapping from reactRootID to React component instance. */\nvar instancesByReactRootID = {};\n\n/** Mapping from reactRootID to `container` nodes. */\nvar containersByReactRootID = {};\n\nif (process.env.NODE_ENV !== 'production') {\n /** __DEV__-only mapping from reactRootID to root elements. */\n var rootElementsByReactRootID = {};\n}\n\n// Used to store breadth-first search state in findComponentRoot.\nvar findComponentRootReusableArray = [];\n\n/**\n * Finds the index of the first character\n * that's not common between the two given strings.\n *\n * @return {number} the index of the character where the strings diverge\n */\nfunction firstDifferenceIndex(string1, string2) {\n var minLen = Math.min(string1.length, string2.length);\n for (var i = 0; i < minLen; i++) {\n if (string1.charAt(i) !== string2.charAt(i)) {\n return i;\n }\n }\n return string1.length === string2.length ? -1 : minLen;\n}\n\n/**\n * @param {DOMElement|DOMDocument} container DOM element that may contain\n * a React component\n * @return {?*} DOM element that may have the reactRoot ID, or null.\n */\nfunction getReactRootElementInContainer(container) {\n if (!container) {\n return null;\n }\n\n if (container.nodeType === DOC_NODE_TYPE) {\n return container.documentElement;\n } else {\n return container.firstChild;\n }\n}\n\n/**\n * @param {DOMElement} container DOM element that may contain a React component.\n * @return {?string} A \"reactRoot\" ID, if a React component is rendered.\n */\nfunction getReactRootID(container) {\n var rootElement = getReactRootElementInContainer(container);\n return rootElement && ReactMount.getID(rootElement);\n}\n\n/**\n * Accessing node[ATTR_NAME] or calling getAttribute(ATTR_NAME) on a form\n * element can return its control whose name or ID equals ATTR_NAME. All\n * DOM nodes support `getAttributeNode` but this can also get called on\n * other objects so just return '' if we're given something other than a\n * DOM node (such as window).\n *\n * @param {?DOMElement|DOMWindow|DOMDocument|DOMTextNode} node DOM node.\n * @return {string} ID of the supplied `domNode`.\n */\nfunction getID(node) {\n var id = internalGetID(node);\n if (id) {\n if (nodeCache.hasOwnProperty(id)) {\n var cached = nodeCache[id];\n if (cached !== node) {\n !!isValid(cached, id) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactMount: Two valid but unequal nodes with the same `%s`: %s', ATTR_NAME, id) : invariant(false) : undefined;\n\n nodeCache[id] = node;\n }\n } else {\n nodeCache[id] = node;\n }\n }\n\n return id;\n}\n\nfunction internalGetID(node) {\n // If node is something like a window, document, or text node, none of\n // which support attributes or a .getAttribute method, gracefully return\n // the empty string, as if the attribute were missing.\n return node && node.getAttribute && node.getAttribute(ATTR_NAME) || '';\n}\n\n/**\n * Sets the React-specific ID of the given node.\n *\n * @param {DOMElement} node The DOM node whose ID will be set.\n * @param {string} id The value of the ID attribute.\n */\nfunction setID(node, id) {\n var oldID = internalGetID(node);\n if (oldID !== id) {\n delete nodeCache[oldID];\n }\n node.setAttribute(ATTR_NAME, id);\n nodeCache[id] = node;\n}\n\n/**\n * Finds the node with the supplied React-generated DOM ID.\n *\n * @param {string} id A React-generated DOM ID.\n * @return {DOMElement} DOM node with the suppled `id`.\n * @internal\n */\nfunction getNode(id) {\n if (!nodeCache.hasOwnProperty(id) || !isValid(nodeCache[id], id)) {\n nodeCache[id] = ReactMount.findReactNodeByID(id);\n }\n return nodeCache[id];\n}\n\n/**\n * Finds the node with the supplied public React instance.\n *\n * @param {*} instance A public React instance.\n * @return {?DOMElement} DOM node with the suppled `id`.\n * @internal\n */\nfunction getNodeFromInstance(instance) {\n var id = ReactInstanceMap.get(instance)._rootNodeID;\n if (ReactEmptyComponentRegistry.isNullComponentID(id)) {\n return null;\n }\n if (!nodeCache.hasOwnProperty(id) || !isValid(nodeCache[id], id)) {\n nodeCache[id] = ReactMount.findReactNodeByID(id);\n }\n return nodeCache[id];\n}\n\n/**\n * A node is \"valid\" if it is contained by a currently mounted container.\n *\n * This means that the node does not have to be contained by a document in\n * order to be considered valid.\n *\n * @param {?DOMElement} node The candidate DOM node.\n * @param {string} id The expected ID of the node.\n * @return {boolean} Whether the node is contained by a mounted container.\n */\nfunction isValid(node, id) {\n if (node) {\n !(internalGetID(node) === id) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactMount: Unexpected modification of `%s`', ATTR_NAME) : invariant(false) : undefined;\n\n var container = ReactMount.findReactContainerForID(id);\n if (container && containsNode(container, node)) {\n return true;\n }\n }\n\n return false;\n}\n\n/**\n * Causes the cache to forget about one React-specific ID.\n *\n * @param {string} id The ID to forget.\n */\nfunction purgeID(id) {\n delete nodeCache[id];\n}\n\nvar deepestNodeSoFar = null;\nfunction findDeepestCachedAncestorImpl(ancestorID) {\n var ancestor = nodeCache[ancestorID];\n if (ancestor && isValid(ancestor, ancestorID)) {\n deepestNodeSoFar = ancestor;\n } else {\n // This node isn't populated in the cache, so presumably none of its\n // descendants are. Break out of the loop.\n return false;\n }\n}\n\n/**\n * Return the deepest cached node whose ID is a prefix of `targetID`.\n */\nfunction findDeepestCachedAncestor(targetID) {\n deepestNodeSoFar = null;\n ReactInstanceHandles.traverseAncestors(targetID, findDeepestCachedAncestorImpl);\n\n var foundNode = deepestNodeSoFar;\n deepestNodeSoFar = null;\n return foundNode;\n}\n\n/**\n * Mounts this component and inserts it into the DOM.\n *\n * @param {ReactComponent} componentInstance The instance to mount.\n * @param {string} rootID DOM ID of the root node.\n * @param {DOMElement} container DOM element to mount into.\n * @param {ReactReconcileTransaction} transaction\n * @param {boolean} shouldReuseMarkup If true, do not insert markup\n */\nfunction mountComponentIntoNode(componentInstance, rootID, container, transaction, shouldReuseMarkup, context) {\n if (ReactDOMFeatureFlags.useCreateElement) {\n context = assign({}, context);\n if (container.nodeType === DOC_NODE_TYPE) {\n context[ownerDocumentContextKey] = container;\n } else {\n context[ownerDocumentContextKey] = container.ownerDocument;\n }\n }\n if (process.env.NODE_ENV !== 'production') {\n if (context === emptyObject) {\n context = {};\n }\n var tag = container.nodeName.toLowerCase();\n context[validateDOMNesting.ancestorInfoContextKey] = validateDOMNesting.updatedAncestorInfo(null, tag, null);\n }\n var markup = ReactReconciler.mountComponent(componentInstance, rootID, transaction, context);\n componentInstance._renderedComponent._topLevelWrapper = componentInstance;\n ReactMount._mountImageIntoNode(markup, container, shouldReuseMarkup, transaction);\n}\n\n/**\n * Batched mount.\n *\n * @param {ReactComponent} componentInstance The instance to mount.\n * @param {string} rootID DOM ID of the root node.\n * @param {DOMElement} container DOM element to mount into.\n * @param {boolean} shouldReuseMarkup If true, do not insert markup\n */\nfunction batchedMountComponentIntoNode(componentInstance, rootID, container, shouldReuseMarkup, context) {\n var transaction = ReactUpdates.ReactReconcileTransaction.getPooled(\n /* forceHTML */shouldReuseMarkup);\n transaction.perform(mountComponentIntoNode, null, componentInstance, rootID, container, transaction, shouldReuseMarkup, context);\n ReactUpdates.ReactReconcileTransaction.release(transaction);\n}\n\n/**\n * Unmounts a component and removes it from the DOM.\n *\n * @param {ReactComponent} instance React component instance.\n * @param {DOMElement} container DOM element to unmount from.\n * @final\n * @internal\n * @see {ReactMount.unmountComponentAtNode}\n */\nfunction unmountComponentFromNode(instance, container) {\n ReactReconciler.unmountComponent(instance);\n\n if (container.nodeType === DOC_NODE_TYPE) {\n container = container.documentElement;\n }\n\n // http://jsperf.com/emptying-a-node\n while (container.lastChild) {\n container.removeChild(container.lastChild);\n }\n}\n\n/**\n * True if the supplied DOM node has a direct React-rendered child that is\n * not a React root element. Useful for warning in `render`,\n * `unmountComponentAtNode`, etc.\n *\n * @param {?DOMElement} node The candidate DOM node.\n * @return {boolean} True if the DOM element contains a direct child that was\n * rendered by React but is not a root element.\n * @internal\n */\nfunction hasNonRootReactChild(node) {\n var reactRootID = getReactRootID(node);\n return reactRootID ? reactRootID !== ReactInstanceHandles.getReactRootIDFromNodeID(reactRootID) : false;\n}\n\n/**\n * Returns the first (deepest) ancestor of a node which is rendered by this copy\n * of React.\n */\nfunction findFirstReactDOMImpl(node) {\n // This node might be from another React instance, so we make sure not to\n // examine the node cache here\n for (; node && node.parentNode !== node; node = node.parentNode) {\n if (node.nodeType !== 1) {\n // Not a DOMElement, therefore not a React component\n continue;\n }\n var nodeID = internalGetID(node);\n if (!nodeID) {\n continue;\n }\n var reactRootID = ReactInstanceHandles.getReactRootIDFromNodeID(nodeID);\n\n // If containersByReactRootID contains the container we find by crawling up\n // the tree, we know that this instance of React rendered the node.\n // nb. isValid's strategy (with containsNode) does not work because render\n // trees may be nested and we don't want a false positive in that case.\n var current = node;\n var lastID;\n do {\n lastID = internalGetID(current);\n current = current.parentNode;\n if (current == null) {\n // The passed-in node has been detached from the container it was\n // originally rendered into.\n return null;\n }\n } while (lastID !== reactRootID);\n\n if (current === containersByReactRootID[reactRootID]) {\n return node;\n }\n }\n return null;\n}\n\n/**\n * Temporary (?) hack so that we can store all top-level pending updates on\n * composites instead of having to worry about different types of components\n * here.\n */\nvar TopLevelWrapper = function () {};\nTopLevelWrapper.prototype.isReactComponent = {};\nif (process.env.NODE_ENV !== 'production') {\n TopLevelWrapper.displayName = 'TopLevelWrapper';\n}\nTopLevelWrapper.prototype.render = function () {\n // this.props is actually a ReactElement\n return this.props;\n};\n\n/**\n * Mounting is the process of initializing a React component by creating its\n * representative DOM elements and inserting them into a supplied `container`.\n * Any prior content inside `container` is destroyed in the process.\n *\n * ReactMount.render(\n * component,\n * document.getElementById('container')\n * );\n *\n * <div id=\"container\"> <-- Supplied `container`.\n * <div data-reactid=\".3\"> <-- Rendered reactRoot of React\n * // ... component.\n * </div>\n * </div>\n *\n * Inside of `container`, the first element rendered is the \"reactRoot\".\n */\nvar ReactMount = {\n\n TopLevelWrapper: TopLevelWrapper,\n\n /** Exposed for debugging purposes **/\n _instancesByReactRootID: instancesByReactRootID,\n\n /**\n * This is a hook provided to support rendering React components while\n * ensuring that the apparent scroll position of its `container` does not\n * change.\n *\n * @param {DOMElement} container The `container` being rendered into.\n * @param {function} renderCallback This must be called once to do the render.\n */\n scrollMonitor: function (container, renderCallback) {\n renderCallback();\n },\n\n /**\n * Take a component that's already mounted into the DOM and replace its props\n * @param {ReactComponent} prevComponent component instance already in the DOM\n * @param {ReactElement} nextElement component instance to render\n * @param {DOMElement} container container to render into\n * @param {?function} callback function triggered on completion\n */\n _updateRootComponent: function (prevComponent, nextElement, container, callback) {\n ReactMount.scrollMonitor(container, function () {\n ReactUpdateQueue.enqueueElementInternal(prevComponent, nextElement);\n if (callback) {\n ReactUpdateQueue.enqueueCallbackInternal(prevComponent, callback);\n }\n });\n\n if (process.env.NODE_ENV !== 'production') {\n // Record the root element in case it later gets transplanted.\n rootElementsByReactRootID[getReactRootID(container)] = getReactRootElementInContainer(container);\n }\n\n return prevComponent;\n },\n\n /**\n * Register a component into the instance map and starts scroll value\n * monitoring\n * @param {ReactComponent} nextComponent component instance to render\n * @param {DOMElement} container container to render into\n * @return {string} reactRoot ID prefix\n */\n _registerComponent: function (nextComponent, container) {\n !(container && (container.nodeType === ELEMENT_NODE_TYPE || container.nodeType === DOC_NODE_TYPE || container.nodeType === DOCUMENT_FRAGMENT_NODE_TYPE)) ? process.env.NODE_ENV !== 'production' ? invariant(false, '_registerComponent(...): Target container is not a DOM element.') : invariant(false) : undefined;\n\n ReactBrowserEventEmitter.ensureScrollValueMonitoring();\n\n var reactRootID = ReactMount.registerContainer(container);\n instancesByReactRootID[reactRootID] = nextComponent;\n return reactRootID;\n },\n\n /**\n * Render a new component into the DOM.\n * @param {ReactElement} nextElement element to render\n * @param {DOMElement} container container to render into\n * @param {boolean} shouldReuseMarkup if we should skip the markup insertion\n * @return {ReactComponent} nextComponent\n */\n _renderNewRootComponent: function (nextElement, container, shouldReuseMarkup, context) {\n // Various parts of our code (such as ReactCompositeComponent's\n // _renderValidatedComponent) assume that calls to render aren't nested;\n // verify that that's the case.\n process.env.NODE_ENV !== 'production' ? warning(ReactCurrentOwner.current == null, '_renderNewRootComponent(): Render methods should be a pure function ' + 'of props and state; triggering nested component updates from ' + 'render is not allowed. If necessary, trigger nested updates in ' + 'componentDidUpdate. Check the render method of %s.', ReactCurrentOwner.current && ReactCurrentOwner.current.getName() || 'ReactCompositeComponent') : undefined;\n\n var componentInstance = instantiateReactComponent(nextElement, null);\n var reactRootID = ReactMount._registerComponent(componentInstance, container);\n\n // The initial render is synchronous but any updates that happen during\n // rendering, in componentWillMount or componentDidMount, will be batched\n // according to the current batching strategy.\n\n ReactUpdates.batchedUpdates(batchedMountComponentIntoNode, componentInstance, reactRootID, container, shouldReuseMarkup, context);\n\n if (process.env.NODE_ENV !== 'production') {\n // Record the root element in case it later gets transplanted.\n rootElementsByReactRootID[reactRootID] = getReactRootElementInContainer(container);\n }\n\n return componentInstance;\n },\n\n /**\n * Renders a React component into the DOM in the supplied `container`.\n *\n * If the React component was previously rendered into `container`, this will\n * perform an update on it and only mutate the DOM as necessary to reflect the\n * latest React component.\n *\n * @param {ReactComponent} parentComponent The conceptual parent of this render tree.\n * @param {ReactElement} nextElement Component element to render.\n * @param {DOMElement} container DOM element to render into.\n * @param {?function} callback function triggered on completion\n * @return {ReactComponent} Component instance rendered in `container`.\n */\n renderSubtreeIntoContainer: function (parentComponent, nextElement, container, callback) {\n !(parentComponent != null && parentComponent._reactInternalInstance != null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'parentComponent must be a valid React Component') : invariant(false) : undefined;\n return ReactMount._renderSubtreeIntoContainer(parentComponent, nextElement, container, callback);\n },\n\n _renderSubtreeIntoContainer: function (parentComponent, nextElement, container, callback) {\n !ReactElement.isValidElement(nextElement) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactDOM.render(): Invalid component element.%s', typeof nextElement === 'string' ? ' Instead of passing an element string, make sure to instantiate ' + 'it by passing it to React.createElement.' : typeof nextElement === 'function' ? ' Instead of passing a component class, make sure to instantiate ' + 'it by passing it to React.createElement.' :\n // Check if it quacks like an element\n nextElement != null && nextElement.props !== undefined ? ' This may be caused by unintentionally loading two independent ' + 'copies of React.' : '') : invariant(false) : undefined;\n\n process.env.NODE_ENV !== 'production' ? warning(!container || !container.tagName || container.tagName.toUpperCase() !== 'BODY', 'render(): Rendering components directly into document.body is ' + 'discouraged, since its children are often manipulated by third-party ' + 'scripts and browser extensions. This may lead to subtle ' + 'reconciliation issues. Try rendering into a container element created ' + 'for your app.') : undefined;\n\n var nextWrappedElement = new ReactElement(TopLevelWrapper, null, null, null, null, null, nextElement);\n\n var prevComponent = instancesByReactRootID[getReactRootID(container)];\n\n if (prevComponent) {\n var prevWrappedElement = prevComponent._currentElement;\n var prevElement = prevWrappedElement.props;\n if (shouldUpdateReactComponent(prevElement, nextElement)) {\n return ReactMount._updateRootComponent(prevComponent, nextWrappedElement, container, callback)._renderedComponent.getPublicInstance();\n } else {\n ReactMount.unmountComponentAtNode(container);\n }\n }\n\n var reactRootElement = getReactRootElementInContainer(container);\n var containerHasReactMarkup = reactRootElement && !!internalGetID(reactRootElement);\n var containerHasNonRootReactChild = hasNonRootReactChild(container);\n\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== 'production' ? warning(!containerHasNonRootReactChild, 'render(...): Replacing React-rendered children with a new root ' + 'component. If you intended to update the children of this node, ' + 'you should instead have the existing children update their state ' + 'and render the new components instead of calling ReactDOM.render.') : undefined;\n\n if (!containerHasReactMarkup || reactRootElement.nextSibling) {\n var rootElementSibling = reactRootElement;\n while (rootElementSibling) {\n if (internalGetID(rootElementSibling)) {\n process.env.NODE_ENV !== 'production' ? warning(false, 'render(): Target node has markup rendered by React, but there ' + 'are unrelated nodes as well. This is most commonly caused by ' + 'white-space inserted around server-rendered markup.') : undefined;\n break;\n }\n rootElementSibling = rootElementSibling.nextSibling;\n }\n }\n }\n\n var shouldReuseMarkup = containerHasReactMarkup && !prevComponent && !containerHasNonRootReactChild;\n var component = ReactMount._renderNewRootComponent(nextWrappedElement, container, shouldReuseMarkup, parentComponent != null ? parentComponent._reactInternalInstance._processChildContext(parentComponent._reactInternalInstance._context) : emptyObject)._renderedComponent.getPublicInstance();\n if (callback) {\n callback.call(component);\n }\n return component;\n },\n\n /**\n * Renders a React component into the DOM in the supplied `container`.\n *\n * If the React component was previously rendered into `container`, this will\n * perform an update on it and only mutate the DOM as necessary to reflect the\n * latest React component.\n *\n * @param {ReactElement} nextElement Component element to render.\n * @param {DOMElement} container DOM element to render into.\n * @param {?function} callback function triggered on completion\n * @return {ReactComponent} Component instance rendered in `container`.\n */\n render: function (nextElement, container, callback) {\n return ReactMount._renderSubtreeIntoContainer(null, nextElement, container, callback);\n },\n\n /**\n * Registers a container node into which React components will be rendered.\n * This also creates the \"reactRoot\" ID that will be assigned to the element\n * rendered within.\n *\n * @param {DOMElement} container DOM element to register as a container.\n * @return {string} The \"reactRoot\" ID of elements rendered within.\n */\n registerContainer: function (container) {\n var reactRootID = getReactRootID(container);\n if (reactRootID) {\n // If one exists, make sure it is a valid \"reactRoot\" ID.\n reactRootID = ReactInstanceHandles.getReactRootIDFromNodeID(reactRootID);\n }\n if (!reactRootID) {\n // No valid \"reactRoot\" ID found, create one.\n reactRootID = ReactInstanceHandles.createReactRootID();\n }\n containersByReactRootID[reactRootID] = container;\n return reactRootID;\n },\n\n /**\n * Unmounts and destroys the React component rendered in the `container`.\n *\n * @param {DOMElement} container DOM element containing a React component.\n * @return {boolean} True if a component was found in and unmounted from\n * `container`\n */\n unmountComponentAtNode: function (container) {\n // Various parts of our code (such as ReactCompositeComponent's\n // _renderValidatedComponent) assume that calls to render aren't nested;\n // verify that that's the case. (Strictly speaking, unmounting won't cause a\n // render but we still don't expect to be in a render call here.)\n process.env.NODE_ENV !== 'production' ? warning(ReactCurrentOwner.current == null, 'unmountComponentAtNode(): Render methods should be a pure function ' + 'of props and state; triggering nested component updates from render ' + 'is not allowed. If necessary, trigger nested updates in ' + 'componentDidUpdate. Check the render method of %s.', ReactCurrentOwner.current && ReactCurrentOwner.current.getName() || 'ReactCompositeComponent') : undefined;\n\n !(container && (container.nodeType === ELEMENT_NODE_TYPE || container.nodeType === DOC_NODE_TYPE || container.nodeType === DOCUMENT_FRAGMENT_NODE_TYPE)) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'unmountComponentAtNode(...): Target container is not a DOM element.') : invariant(false) : undefined;\n\n var reactRootID = getReactRootID(container);\n var component = instancesByReactRootID[reactRootID];\n if (!component) {\n // Check if the node being unmounted was rendered by React, but isn't a\n // root node.\n var containerHasNonRootReactChild = hasNonRootReactChild(container);\n\n // Check if the container itself is a React root node.\n var containerID = internalGetID(container);\n var isContainerReactRoot = containerID && containerID === ReactInstanceHandles.getReactRootIDFromNodeID(containerID);\n\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== 'production' ? warning(!containerHasNonRootReactChild, 'unmountComponentAtNode(): The node you\\'re attempting to unmount ' + 'was rendered by React and is not a top-level container. %s', isContainerReactRoot ? 'You may have accidentally passed in a React root node instead ' + 'of its container.' : 'Instead, have the parent component update its state and ' + 'rerender in order to remove this component.') : undefined;\n }\n\n return false;\n }\n ReactUpdates.batchedUpdates(unmountComponentFromNode, component, container);\n delete instancesByReactRootID[reactRootID];\n delete containersByReactRootID[reactRootID];\n if (process.env.NODE_ENV !== 'production') {\n delete rootElementsByReactRootID[reactRootID];\n }\n return true;\n },\n\n /**\n * Finds the container DOM element that contains React component to which the\n * supplied DOM `id` belongs.\n *\n * @param {string} id The ID of an element rendered by a React component.\n * @return {?DOMElement} DOM element that contains the `id`.\n */\n findReactContainerForID: function (id) {\n var reactRootID = ReactInstanceHandles.getReactRootIDFromNodeID(id);\n var container = containersByReactRootID[reactRootID];\n\n if (process.env.NODE_ENV !== 'production') {\n var rootElement = rootElementsByReactRootID[reactRootID];\n if (rootElement && rootElement.parentNode !== container) {\n process.env.NODE_ENV !== 'production' ? warning(\n // Call internalGetID here because getID calls isValid which calls\n // findReactContainerForID (this function).\n internalGetID(rootElement) === reactRootID, 'ReactMount: Root element ID differed from reactRootID.') : undefined;\n var containerChild = container.firstChild;\n if (containerChild && reactRootID === internalGetID(containerChild)) {\n // If the container has a new child with the same ID as the old\n // root element, then rootElementsByReactRootID[reactRootID] is\n // just stale and needs to be updated. The case that deserves a\n // warning is when the container is empty.\n rootElementsByReactRootID[reactRootID] = containerChild;\n } else {\n process.env.NODE_ENV !== 'production' ? warning(false, 'ReactMount: Root element has been removed from its original ' + 'container. New container: %s', rootElement.parentNode) : undefined;\n }\n }\n }\n\n return container;\n },\n\n /**\n * Finds an element rendered by React with the supplied ID.\n *\n * @param {string} id ID of a DOM node in the React component.\n * @return {DOMElement} Root DOM node of the React component.\n */\n findReactNodeByID: function (id) {\n var reactRoot = ReactMount.findReactContainerForID(id);\n return ReactMount.findComponentRoot(reactRoot, id);\n },\n\n /**\n * Traverses up the ancestors of the supplied node to find a node that is a\n * DOM representation of a React component rendered by this copy of React.\n *\n * @param {*} node\n * @return {?DOMEventTarget}\n * @internal\n */\n getFirstReactDOM: function (node) {\n return findFirstReactDOMImpl(node);\n },\n\n /**\n * Finds a node with the supplied `targetID` inside of the supplied\n * `ancestorNode`. Exploits the ID naming scheme to perform the search\n * quickly.\n *\n * @param {DOMEventTarget} ancestorNode Search from this root.\n * @pararm {string} targetID ID of the DOM representation of the component.\n * @return {DOMEventTarget} DOM node with the supplied `targetID`.\n * @internal\n */\n findComponentRoot: function (ancestorNode, targetID) {\n var firstChildren = findComponentRootReusableArray;\n var childIndex = 0;\n\n var deepestAncestor = findDeepestCachedAncestor(targetID) || ancestorNode;\n\n if (process.env.NODE_ENV !== 'production') {\n // This will throw on the next line; give an early warning\n process.env.NODE_ENV !== 'production' ? warning(deepestAncestor != null, 'React can\\'t find the root component node for data-reactid value ' + '`%s`. If you\\'re seeing this message, it probably means that ' + 'you\\'ve loaded two copies of React on the page. At this time, only ' + 'a single copy of React can be loaded at a time.', targetID) : undefined;\n }\n\n firstChildren[0] = deepestAncestor.firstChild;\n firstChildren.length = 1;\n\n while (childIndex < firstChildren.length) {\n var child = firstChildren[childIndex++];\n var targetChild;\n\n while (child) {\n var childID = ReactMount.getID(child);\n if (childID) {\n // Even if we find the node we're looking for, we finish looping\n // through its siblings to ensure they're cached so that we don't have\n // to revisit this node again. Otherwise, we make n^2 calls to getID\n // when visiting the many children of a single node in order.\n\n if (targetID === childID) {\n targetChild = child;\n } else if (ReactInstanceHandles.isAncestorIDOf(childID, targetID)) {\n // If we find a child whose ID is an ancestor of the given ID,\n // then we can be sure that we only want to search the subtree\n // rooted at this child, so we can throw out the rest of the\n // search state.\n firstChildren.length = childIndex = 0;\n firstChildren.push(child.firstChild);\n }\n } else {\n // If this child had no ID, then there's a chance that it was\n // injected automatically by the browser, as when a `<table>`\n // element sprouts an extra `<tbody>` child as a side effect of\n // `.innerHTML` parsing. Optimistically continue down this\n // branch, but not before examining the other siblings.\n firstChildren.push(child.firstChild);\n }\n\n child = child.nextSibling;\n }\n\n if (targetChild) {\n // Emptying firstChildren/findComponentRootReusableArray is\n // not necessary for correctness, but it helps the GC reclaim\n // any nodes that were left at the end of the search.\n firstChildren.length = 0;\n\n return targetChild;\n }\n }\n\n firstChildren.length = 0;\n\n !false ? process.env.NODE_ENV !== 'production' ? invariant(false, 'findComponentRoot(..., %s): Unable to find element. This probably ' + 'means the DOM was unexpectedly mutated (e.g., by the browser), ' + 'usually due to forgetting a <tbody> when using tables, nesting tags ' + 'like <form>, <p>, or <a>, or using non-SVG elements in an <svg> ' + 'parent. ' + 'Try inspecting the child nodes of the element with React ID `%s`.', targetID, ReactMount.getID(ancestorNode)) : invariant(false) : undefined;\n },\n\n _mountImageIntoNode: function (markup, container, shouldReuseMarkup, transaction) {\n !(container && (container.nodeType === ELEMENT_NODE_TYPE || container.nodeType === DOC_NODE_TYPE || container.nodeType === DOCUMENT_FRAGMENT_NODE_TYPE)) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'mountComponentIntoNode(...): Target container is not valid.') : invariant(false) : undefined;\n\n if (shouldReuseMarkup) {\n var rootElement = getReactRootElementInContainer(container);\n if (ReactMarkupChecksum.canReuseMarkup(markup, rootElement)) {\n return;\n } else {\n var checksum = rootElement.getAttribute(ReactMarkupChecksum.CHECKSUM_ATTR_NAME);\n rootElement.removeAttribute(ReactMarkupChecksum.CHECKSUM_ATTR_NAME);\n\n var rootMarkup = rootElement.outerHTML;\n rootElement.setAttribute(ReactMarkupChecksum.CHECKSUM_ATTR_NAME, checksum);\n\n var normalizedMarkup = markup;\n if (process.env.NODE_ENV !== 'production') {\n // because rootMarkup is retrieved from the DOM, various normalizations\n // will have occurred which will not be present in `markup`. Here,\n // insert markup into a <div> or <iframe> depending on the container\n // type to perform the same normalizations before comparing.\n var normalizer;\n if (container.nodeType === ELEMENT_NODE_TYPE) {\n normalizer = document.createElement('div');\n normalizer.innerHTML = markup;\n normalizedMarkup = normalizer.innerHTML;\n } else {\n normalizer = document.createElement('iframe');\n document.body.appendChild(normalizer);\n normalizer.contentDocument.write(markup);\n normalizedMarkup = normalizer.contentDocument.documentElement.outerHTML;\n document.body.removeChild(normalizer);\n }\n }\n\n var diffIndex = firstDifferenceIndex(normalizedMarkup, rootMarkup);\n var difference = ' (client) ' + normalizedMarkup.substring(diffIndex - 20, diffIndex + 20) + '\\n (server) ' + rootMarkup.substring(diffIndex - 20, diffIndex + 20);\n\n !(container.nodeType !== DOC_NODE_TYPE) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'You\\'re trying to render a component to the document using ' + 'server rendering but the checksum was invalid. This usually ' + 'means you rendered a different component type or props on ' + 'the client from the one on the server, or your render() ' + 'methods are impure. React cannot handle this case due to ' + 'cross-browser quirks by rendering at the document root. You ' + 'should look for environment dependent code in your components ' + 'and ensure the props are the same client and server side:\\n%s', difference) : invariant(false) : undefined;\n\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== 'production' ? warning(false, 'React attempted to reuse markup in a container but the ' + 'checksum was invalid. This generally means that you are ' + 'using server rendering and the markup generated on the ' + 'server was not what the client was expecting. React injected ' + 'new markup to compensate which works but you have lost many ' + 'of the benefits of server rendering. Instead, figure out ' + 'why the markup being generated is different on the client ' + 'or server:\\n%s', difference) : undefined;\n }\n }\n }\n\n !(container.nodeType !== DOC_NODE_TYPE) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'You\\'re trying to render a component to the document but ' + 'you didn\\'t use server rendering. We can\\'t do this ' + 'without using server rendering due to cross-browser quirks. ' + 'See ReactDOMServer.renderToString() for server rendering.') : invariant(false) : undefined;\n\n if (transaction.useCreateElement) {\n while (container.lastChild) {\n container.removeChild(container.lastChild);\n }\n container.appendChild(markup);\n } else {\n setInnerHTML(container, markup);\n }\n },\n\n ownerDocumentContextKey: ownerDocumentContextKey,\n\n /**\n * React ID utilities.\n */\n\n getReactRootID: getReactRootID,\n\n getID: getID,\n\n setID: setID,\n\n getNode: getNode,\n\n getNodeFromInstance: getNodeFromInstance,\n\n isValid: isValid,\n\n purgeID: purgeID\n};\n\nReactPerf.measureMethods(ReactMount, 'ReactMount', {\n _renderNewRootComponent: '_renderNewRootComponent',\n _mountImageIntoNode: '_mountImageIntoNode'\n});\n\nmodule.exports = ReactMount;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/ReactMount.js\n **/","/**\n * Copyright 2013-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 * @providesModule ReactBrowserEventEmitter\n * @typechecks static-only\n */\n\n'use strict';\n\nvar EventConstants = require('./EventConstants');\nvar EventPluginHub = require('./EventPluginHub');\nvar EventPluginRegistry = require('./EventPluginRegistry');\nvar ReactEventEmitterMixin = require('./ReactEventEmitterMixin');\nvar ReactPerf = require('./ReactPerf');\nvar ViewportMetrics = require('./ViewportMetrics');\n\nvar assign = require('./Object.assign');\nvar isEventSupported = require('./isEventSupported');\n\n/**\n * Summary of `ReactBrowserEventEmitter` event handling:\n *\n * - Top-level delegation is used to trap most native browser events. This\n * may only occur in the main thread and is the responsibility of\n * ReactEventListener, which is injected and can therefore support pluggable\n * event sources. This is the only work that occurs in the main thread.\n *\n * - We normalize and de-duplicate events to account for browser quirks. This\n * may be done in the worker thread.\n *\n * - Forward these native events (with the associated top-level type used to\n * trap it) to `EventPluginHub`, which in turn will ask plugins if they want\n * to extract any synthetic events.\n *\n * - The `EventPluginHub` will then process each event by annotating them with\n * \"dispatches\", a sequence of listeners and IDs that care about that event.\n *\n * - The `EventPluginHub` then dispatches the events.\n *\n * Overview of React and the event system:\n *\n * +------------+ .\n * | DOM | .\n * +------------+ .\n * | .\n * v .\n * +------------+ .\n * | ReactEvent | .\n * | Listener | .\n * +------------+ . +-----------+\n * | . +--------+|SimpleEvent|\n * | . | |Plugin |\n * +-----|------+ . v +-----------+\n * | | | . +--------------+ +------------+\n * | +-----------.--->|EventPluginHub| | Event |\n * | | . | | +-----------+ | Propagators|\n * | ReactEvent | . | | |TapEvent | |------------|\n * | Emitter | . | |<---+|Plugin | |other plugin|\n * | | . | | +-----------+ | utilities |\n * | +-----------.--->| | +------------+\n * | | | . +--------------+\n * +-----|------+ . ^ +-----------+\n * | . | |Enter/Leave|\n * + . +-------+|Plugin |\n * +-------------+ . +-----------+\n * | application | .\n * |-------------| .\n * | | .\n * | | .\n * +-------------+ .\n * .\n * React Core . General Purpose Event Plugin System\n */\n\nvar alreadyListeningTo = {};\nvar isMonitoringScrollValue = false;\nvar reactTopListenersCounter = 0;\n\n// For events like 'submit' which don't consistently bubble (which we trap at a\n// lower node than `document`), binding at `document` would cause duplicate\n// events so we don't include them here\nvar topEventMapping = {\n topAbort: 'abort',\n topBlur: 'blur',\n topCanPlay: 'canplay',\n topCanPlayThrough: 'canplaythrough',\n topChange: 'change',\n topClick: 'click',\n topCompositionEnd: 'compositionend',\n topCompositionStart: 'compositionstart',\n topCompositionUpdate: 'compositionupdate',\n topContextMenu: 'contextmenu',\n topCopy: 'copy',\n topCut: 'cut',\n topDoubleClick: 'dblclick',\n topDrag: 'drag',\n topDragEnd: 'dragend',\n topDragEnter: 'dragenter',\n topDragExit: 'dragexit',\n topDragLeave: 'dragleave',\n topDragOver: 'dragover',\n topDragStart: 'dragstart',\n topDrop: 'drop',\n topDurationChange: 'durationchange',\n topEmptied: 'emptied',\n topEncrypted: 'encrypted',\n topEnded: 'ended',\n topError: 'error',\n topFocus: 'focus',\n topInput: 'input',\n topKeyDown: 'keydown',\n topKeyPress: 'keypress',\n topKeyUp: 'keyup',\n topLoadedData: 'loadeddata',\n topLoadedMetadata: 'loadedmetadata',\n topLoadStart: 'loadstart',\n topMouseDown: 'mousedown',\n topMouseMove: 'mousemove',\n topMouseOut: 'mouseout',\n topMouseOver: 'mouseover',\n topMouseUp: 'mouseup',\n topPaste: 'paste',\n topPause: 'pause',\n topPlay: 'play',\n topPlaying: 'playing',\n topProgress: 'progress',\n topRateChange: 'ratechange',\n topScroll: 'scroll',\n topSeeked: 'seeked',\n topSeeking: 'seeking',\n topSelectionChange: 'selectionchange',\n topStalled: 'stalled',\n topSuspend: 'suspend',\n topTextInput: 'textInput',\n topTimeUpdate: 'timeupdate',\n topTouchCancel: 'touchcancel',\n topTouchEnd: 'touchend',\n topTouchMove: 'touchmove',\n topTouchStart: 'touchstart',\n topVolumeChange: 'volumechange',\n topWaiting: 'waiting',\n topWheel: 'wheel'\n};\n\n/**\n * To ensure no conflicts with other potential React instances on the page\n */\nvar topListenersIDKey = '_reactListenersID' + String(Math.random()).slice(2);\n\nfunction getListeningForDocument(mountAt) {\n // In IE8, `mountAt` is a host object and doesn't have `hasOwnProperty`\n // directly.\n if (!Object.prototype.hasOwnProperty.call(mountAt, topListenersIDKey)) {\n mountAt[topListenersIDKey] = reactTopListenersCounter++;\n alreadyListeningTo[mountAt[topListenersIDKey]] = {};\n }\n return alreadyListeningTo[mountAt[topListenersIDKey]];\n}\n\n/**\n * `ReactBrowserEventEmitter` is used to attach top-level event listeners. For\n * example:\n *\n * ReactBrowserEventEmitter.putListener('myID', 'onClick', myFunction);\n *\n * This would allocate a \"registration\" of `('onClick', myFunction)` on 'myID'.\n *\n * @internal\n */\nvar ReactBrowserEventEmitter = assign({}, ReactEventEmitterMixin, {\n\n /**\n * Injectable event backend\n */\n ReactEventListener: null,\n\n injection: {\n /**\n * @param {object} ReactEventListener\n */\n injectReactEventListener: function (ReactEventListener) {\n ReactEventListener.setHandleTopLevel(ReactBrowserEventEmitter.handleTopLevel);\n ReactBrowserEventEmitter.ReactEventListener = ReactEventListener;\n }\n },\n\n /**\n * Sets whether or not any created callbacks should be enabled.\n *\n * @param {boolean} enabled True if callbacks should be enabled.\n */\n setEnabled: function (enabled) {\n if (ReactBrowserEventEmitter.ReactEventListener) {\n ReactBrowserEventEmitter.ReactEventListener.setEnabled(enabled);\n }\n },\n\n /**\n * @return {boolean} True if callbacks are enabled.\n */\n isEnabled: function () {\n return !!(ReactBrowserEventEmitter.ReactEventListener && ReactBrowserEventEmitter.ReactEventListener.isEnabled());\n },\n\n /**\n * We listen for bubbled touch events on the document object.\n *\n * Firefox v8.01 (and possibly others) exhibited strange behavior when\n * mounting `onmousemove` events at some node that was not the document\n * element. The symptoms were that if your mouse is not moving over something\n * contained within that mount point (for example on the background) the\n * top-level listeners for `onmousemove` won't be called. However, if you\n * register the `mousemove` on the document object, then it will of course\n * catch all `mousemove`s. This along with iOS quirks, justifies restricting\n * top-level listeners to the document object only, at least for these\n * movement types of events and possibly all events.\n *\n * @see http://www.quirksmode.org/blog/archives/2010/09/click_event_del.html\n *\n * Also, `keyup`/`keypress`/`keydown` do not bubble to the window on IE, but\n * they bubble to document.\n *\n * @param {string} registrationName Name of listener (e.g. `onClick`).\n * @param {object} contentDocumentHandle Document which owns the container\n */\n listenTo: function (registrationName, contentDocumentHandle) {\n var mountAt = contentDocumentHandle;\n var isListening = getListeningForDocument(mountAt);\n var dependencies = EventPluginRegistry.registrationNameDependencies[registrationName];\n\n var topLevelTypes = EventConstants.topLevelTypes;\n for (var i = 0; i < dependencies.length; i++) {\n var dependency = dependencies[i];\n if (!(isListening.hasOwnProperty(dependency) && isListening[dependency])) {\n if (dependency === topLevelTypes.topWheel) {\n if (isEventSupported('wheel')) {\n ReactBrowserEventEmitter.ReactEventListener.trapBubbledEvent(topLevelTypes.topWheel, 'wheel', mountAt);\n } else if (isEventSupported('mousewheel')) {\n ReactBrowserEventEmitter.ReactEventListener.trapBubbledEvent(topLevelTypes.topWheel, 'mousewheel', mountAt);\n } else {\n // Firefox needs to capture a different mouse scroll event.\n // @see http://www.quirksmode.org/dom/events/tests/scroll.html\n ReactBrowserEventEmitter.ReactEventListener.trapBubbledEvent(topLevelTypes.topWheel, 'DOMMouseScroll', mountAt);\n }\n } else if (dependency === topLevelTypes.topScroll) {\n\n if (isEventSupported('scroll', true)) {\n ReactBrowserEventEmitter.ReactEventListener.trapCapturedEvent(topLevelTypes.topScroll, 'scroll', mountAt);\n } else {\n ReactBrowserEventEmitter.ReactEventListener.trapBubbledEvent(topLevelTypes.topScroll, 'scroll', ReactBrowserEventEmitter.ReactEventListener.WINDOW_HANDLE);\n }\n } else if (dependency === topLevelTypes.topFocus || dependency === topLevelTypes.topBlur) {\n\n if (isEventSupported('focus', true)) {\n ReactBrowserEventEmitter.ReactEventListener.trapCapturedEvent(topLevelTypes.topFocus, 'focus', mountAt);\n ReactBrowserEventEmitter.ReactEventListener.trapCapturedEvent(topLevelTypes.topBlur, 'blur', mountAt);\n } else if (isEventSupported('focusin')) {\n // IE has `focusin` and `focusout` events which bubble.\n // @see http://www.quirksmode.org/blog/archives/2008/04/delegating_the.html\n ReactBrowserEventEmitter.ReactEventListener.trapBubbledEvent(topLevelTypes.topFocus, 'focusin', mountAt);\n ReactBrowserEventEmitter.ReactEventListener.trapBubbledEvent(topLevelTypes.topBlur, 'focusout', mountAt);\n }\n\n // to make sure blur and focus event listeners are only attached once\n isListening[topLevelTypes.topBlur] = true;\n isListening[topLevelTypes.topFocus] = true;\n } else if (topEventMapping.hasOwnProperty(dependency)) {\n ReactBrowserEventEmitter.ReactEventListener.trapBubbledEvent(dependency, topEventMapping[dependency], mountAt);\n }\n\n isListening[dependency] = true;\n }\n }\n },\n\n trapBubbledEvent: function (topLevelType, handlerBaseName, handle) {\n return ReactBrowserEventEmitter.ReactEventListener.trapBubbledEvent(topLevelType, handlerBaseName, handle);\n },\n\n trapCapturedEvent: function (topLevelType, handlerBaseName, handle) {\n return ReactBrowserEventEmitter.ReactEventListener.trapCapturedEvent(topLevelType, handlerBaseName, handle);\n },\n\n /**\n * Listens to window scroll and resize events. We cache scroll values so that\n * application code can access them without triggering reflows.\n *\n * NOTE: Scroll events do not bubble.\n *\n * @see http://www.quirksmode.org/dom/events/scroll.html\n */\n ensureScrollValueMonitoring: function () {\n if (!isMonitoringScrollValue) {\n var refresh = ViewportMetrics.refreshScrollValues;\n ReactBrowserEventEmitter.ReactEventListener.monitorScrollValue(refresh);\n isMonitoringScrollValue = true;\n }\n },\n\n eventNameDispatchConfigs: EventPluginHub.eventNameDispatchConfigs,\n\n registrationNameModules: EventPluginHub.registrationNameModules,\n\n putListener: EventPluginHub.putListener,\n\n getListener: EventPluginHub.getListener,\n\n deleteListener: EventPluginHub.deleteListener,\n\n deleteAllListeners: EventPluginHub.deleteAllListeners\n\n});\n\nReactPerf.measureMethods(ReactBrowserEventEmitter, 'ReactBrowserEventEmitter', {\n putListener: 'putListener',\n deleteListener: 'deleteListener'\n});\n\nmodule.exports = ReactBrowserEventEmitter;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/ReactBrowserEventEmitter.js\n **/","/**\n * Copyright 2013-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 * @providesModule EventConstants\n */\n\n'use strict';\n\nvar keyMirror = require('fbjs/lib/keyMirror');\n\nvar PropagationPhases = keyMirror({ bubbled: null, captured: null });\n\n/**\n * Types of raw signals from the browser caught at the top level.\n */\nvar topLevelTypes = keyMirror({\n topAbort: null,\n topBlur: null,\n topCanPlay: null,\n topCanPlayThrough: null,\n topChange: null,\n topClick: null,\n topCompositionEnd: null,\n topCompositionStart: null,\n topCompositionUpdate: null,\n topContextMenu: null,\n topCopy: null,\n topCut: null,\n topDoubleClick: null,\n topDrag: null,\n topDragEnd: null,\n topDragEnter: null,\n topDragExit: null,\n topDragLeave: null,\n topDragOver: null,\n topDragStart: null,\n topDrop: null,\n topDurationChange: null,\n topEmptied: null,\n topEncrypted: null,\n topEnded: null,\n topError: null,\n topFocus: null,\n topInput: null,\n topKeyDown: null,\n topKeyPress: null,\n topKeyUp: null,\n topLoad: null,\n topLoadedData: null,\n topLoadedMetadata: null,\n topLoadStart: null,\n topMouseDown: null,\n topMouseMove: null,\n topMouseOut: null,\n topMouseOver: null,\n topMouseUp: null,\n topPaste: null,\n topPause: null,\n topPlay: null,\n topPlaying: null,\n topProgress: null,\n topRateChange: null,\n topReset: null,\n topScroll: null,\n topSeeked: null,\n topSeeking: null,\n topSelectionChange: null,\n topStalled: null,\n topSubmit: null,\n topSuspend: null,\n topTextInput: null,\n topTimeUpdate: null,\n topTouchCancel: null,\n topTouchEnd: null,\n topTouchMove: null,\n topTouchStart: null,\n topVolumeChange: null,\n topWaiting: null,\n topWheel: null\n});\n\nvar EventConstants = {\n topLevelTypes: topLevelTypes,\n PropagationPhases: PropagationPhases\n};\n\nmodule.exports = EventConstants;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/EventConstants.js\n **/","/**\n * Copyright 2013-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 * @providesModule EventPluginHub\n */\n\n'use strict';\n\nvar EventPluginRegistry = require('./EventPluginRegistry');\nvar EventPluginUtils = require('./EventPluginUtils');\nvar ReactErrorUtils = require('./ReactErrorUtils');\n\nvar accumulateInto = require('./accumulateInto');\nvar forEachAccumulated = require('./forEachAccumulated');\nvar invariant = require('fbjs/lib/invariant');\nvar warning = require('fbjs/lib/warning');\n\n/**\n * Internal store for event listeners\n */\nvar listenerBank = {};\n\n/**\n * Internal queue of events that have accumulated their dispatches and are\n * waiting to have their dispatches executed.\n */\nvar eventQueue = null;\n\n/**\n * Dispatches an event and releases it back into the pool, unless persistent.\n *\n * @param {?object} event Synthetic event to be dispatched.\n * @param {boolean} simulated If the event is simulated (changes exn behavior)\n * @private\n */\nvar executeDispatchesAndRelease = function (event, simulated) {\n if (event) {\n EventPluginUtils.executeDispatchesInOrder(event, simulated);\n\n if (!event.isPersistent()) {\n event.constructor.release(event);\n }\n }\n};\nvar executeDispatchesAndReleaseSimulated = function (e) {\n return executeDispatchesAndRelease(e, true);\n};\nvar executeDispatchesAndReleaseTopLevel = function (e) {\n return executeDispatchesAndRelease(e, false);\n};\n\n/**\n * - `InstanceHandle`: [required] Module that performs logical traversals of DOM\n * hierarchy given ids of the logical DOM elements involved.\n */\nvar InstanceHandle = null;\n\nfunction validateInstanceHandle() {\n var valid = InstanceHandle && InstanceHandle.traverseTwoPhase && InstanceHandle.traverseEnterLeave;\n process.env.NODE_ENV !== 'production' ? warning(valid, 'InstanceHandle not injected before use!') : undefined;\n}\n\n/**\n * This is a unified interface for event plugins to be installed and configured.\n *\n * Event plugins can implement the following properties:\n *\n * `extractEvents` {function(string, DOMEventTarget, string, object): *}\n * Required. When a top-level event is fired, this method is expected to\n * extract synthetic events that will in turn be queued and dispatched.\n *\n * `eventTypes` {object}\n * Optional, plugins that fire events must publish a mapping of registration\n * names that are used to register listeners. Values of this mapping must\n * be objects that contain `registrationName` or `phasedRegistrationNames`.\n *\n * `executeDispatch` {function(object, function, string)}\n * Optional, allows plugins to override how an event gets dispatched. By\n * default, the listener is simply invoked.\n *\n * Each plugin that is injected into `EventsPluginHub` is immediately operable.\n *\n * @public\n */\nvar EventPluginHub = {\n\n /**\n * Methods for injecting dependencies.\n */\n injection: {\n\n /**\n * @param {object} InjectedMount\n * @public\n */\n injectMount: EventPluginUtils.injection.injectMount,\n\n /**\n * @param {object} InjectedInstanceHandle\n * @public\n */\n injectInstanceHandle: function (InjectedInstanceHandle) {\n InstanceHandle = InjectedInstanceHandle;\n if (process.env.NODE_ENV !== 'production') {\n validateInstanceHandle();\n }\n },\n\n getInstanceHandle: function () {\n if (process.env.NODE_ENV !== 'production') {\n validateInstanceHandle();\n }\n return InstanceHandle;\n },\n\n /**\n * @param {array} InjectedEventPluginOrder\n * @public\n */\n injectEventPluginOrder: EventPluginRegistry.injectEventPluginOrder,\n\n /**\n * @param {object} injectedNamesToPlugins Map from names to plugin modules.\n */\n injectEventPluginsByName: EventPluginRegistry.injectEventPluginsByName\n\n },\n\n eventNameDispatchConfigs: EventPluginRegistry.eventNameDispatchConfigs,\n\n registrationNameModules: EventPluginRegistry.registrationNameModules,\n\n /**\n * Stores `listener` at `listenerBank[registrationName][id]`. Is idempotent.\n *\n * @param {string} id ID of the DOM element.\n * @param {string} registrationName Name of listener (e.g. `onClick`).\n * @param {?function} listener The callback to store.\n */\n putListener: function (id, registrationName, listener) {\n !(typeof listener === 'function') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Expected %s listener to be a function, instead got type %s', registrationName, typeof listener) : invariant(false) : undefined;\n\n var bankForRegistrationName = listenerBank[registrationName] || (listenerBank[registrationName] = {});\n bankForRegistrationName[id] = listener;\n\n var PluginModule = EventPluginRegistry.registrationNameModules[registrationName];\n if (PluginModule && PluginModule.didPutListener) {\n PluginModule.didPutListener(id, registrationName, listener);\n }\n },\n\n /**\n * @param {string} id ID of the DOM element.\n * @param {string} registrationName Name of listener (e.g. `onClick`).\n * @return {?function} The stored callback.\n */\n getListener: function (id, registrationName) {\n var bankForRegistrationName = listenerBank[registrationName];\n return bankForRegistrationName && bankForRegistrationName[id];\n },\n\n /**\n * Deletes a listener from the registration bank.\n *\n * @param {string} id ID of the DOM element.\n * @param {string} registrationName Name of listener (e.g. `onClick`).\n */\n deleteListener: function (id, registrationName) {\n var PluginModule = EventPluginRegistry.registrationNameModules[registrationName];\n if (PluginModule && PluginModule.willDeleteListener) {\n PluginModule.willDeleteListener(id, registrationName);\n }\n\n var bankForRegistrationName = listenerBank[registrationName];\n // TODO: This should never be null -- when is it?\n if (bankForRegistrationName) {\n delete bankForRegistrationName[id];\n }\n },\n\n /**\n * Deletes all listeners for the DOM element with the supplied ID.\n *\n * @param {string} id ID of the DOM element.\n */\n deleteAllListeners: function (id) {\n for (var registrationName in listenerBank) {\n if (!listenerBank[registrationName][id]) {\n continue;\n }\n\n var PluginModule = EventPluginRegistry.registrationNameModules[registrationName];\n if (PluginModule && PluginModule.willDeleteListener) {\n PluginModule.willDeleteListener(id, registrationName);\n }\n\n delete listenerBank[registrationName][id];\n }\n },\n\n /**\n * Allows registered plugins an opportunity to extract events from top-level\n * native browser events.\n *\n * @param {string} topLevelType Record from `EventConstants`.\n * @param {DOMEventTarget} topLevelTarget The listening component root node.\n * @param {string} topLevelTargetID ID of `topLevelTarget`.\n * @param {object} nativeEvent Native browser event.\n * @return {*} An accumulation of synthetic events.\n * @internal\n */\n extractEvents: function (topLevelType, topLevelTarget, topLevelTargetID, nativeEvent, nativeEventTarget) {\n var events;\n var plugins = EventPluginRegistry.plugins;\n for (var i = 0; i < plugins.length; i++) {\n // Not every plugin in the ordering may be loaded at runtime.\n var possiblePlugin = plugins[i];\n if (possiblePlugin) {\n var extractedEvents = possiblePlugin.extractEvents(topLevelType, topLevelTarget, topLevelTargetID, nativeEvent, nativeEventTarget);\n if (extractedEvents) {\n events = accumulateInto(events, extractedEvents);\n }\n }\n }\n return events;\n },\n\n /**\n * Enqueues a synthetic event that should be dispatched when\n * `processEventQueue` is invoked.\n *\n * @param {*} events An accumulation of synthetic events.\n * @internal\n */\n enqueueEvents: function (events) {\n if (events) {\n eventQueue = accumulateInto(eventQueue, events);\n }\n },\n\n /**\n * Dispatches all synthetic events on the event queue.\n *\n * @internal\n */\n processEventQueue: function (simulated) {\n // Set `eventQueue` to null before processing it so that we can tell if more\n // events get enqueued while processing.\n var processingEventQueue = eventQueue;\n eventQueue = null;\n if (simulated) {\n forEachAccumulated(processingEventQueue, executeDispatchesAndReleaseSimulated);\n } else {\n forEachAccumulated(processingEventQueue, executeDispatchesAndReleaseTopLevel);\n }\n !!eventQueue ? process.env.NODE_ENV !== 'production' ? invariant(false, 'processEventQueue(): Additional events were enqueued while processing ' + 'an event queue. Support for this has not yet been implemented.') : invariant(false) : undefined;\n // This would be a good time to rethrow if any of the event handlers threw.\n ReactErrorUtils.rethrowCaughtError();\n },\n\n /**\n * These are needed for tests only. Do not use!\n */\n __purge: function () {\n listenerBank = {};\n },\n\n __getListenerBank: function () {\n return listenerBank;\n }\n\n};\n\nmodule.exports = EventPluginHub;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/EventPluginHub.js\n **/","/**\n * Copyright 2013-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 * @providesModule EventPluginRegistry\n * @typechecks static-only\n */\n\n'use strict';\n\nvar invariant = require('fbjs/lib/invariant');\n\n/**\n * Injectable ordering of event plugins.\n */\nvar EventPluginOrder = null;\n\n/**\n * Injectable mapping from names to event plugin modules.\n */\nvar namesToPlugins = {};\n\n/**\n * Recomputes the plugin list using the injected plugins and plugin ordering.\n *\n * @private\n */\nfunction recomputePluginOrdering() {\n if (!EventPluginOrder) {\n // Wait until an `EventPluginOrder` is injected.\n return;\n }\n for (var pluginName in namesToPlugins) {\n var PluginModule = namesToPlugins[pluginName];\n var pluginIndex = EventPluginOrder.indexOf(pluginName);\n !(pluginIndex > -1) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginRegistry: Cannot inject event plugins that do not exist in ' + 'the plugin ordering, `%s`.', pluginName) : invariant(false) : undefined;\n if (EventPluginRegistry.plugins[pluginIndex]) {\n continue;\n }\n !PluginModule.extractEvents ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginRegistry: Event plugins must implement an `extractEvents` ' + 'method, but `%s` does not.', pluginName) : invariant(false) : undefined;\n EventPluginRegistry.plugins[pluginIndex] = PluginModule;\n var publishedEvents = PluginModule.eventTypes;\n for (var eventName in publishedEvents) {\n !publishEventForPlugin(publishedEvents[eventName], PluginModule, eventName) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginRegistry: Failed to publish event `%s` for plugin `%s`.', eventName, pluginName) : invariant(false) : undefined;\n }\n }\n}\n\n/**\n * Publishes an event so that it can be dispatched by the supplied plugin.\n *\n * @param {object} dispatchConfig Dispatch configuration for the event.\n * @param {object} PluginModule Plugin publishing the event.\n * @return {boolean} True if the event was successfully published.\n * @private\n */\nfunction publishEventForPlugin(dispatchConfig, PluginModule, eventName) {\n !!EventPluginRegistry.eventNameDispatchConfigs.hasOwnProperty(eventName) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginHub: More than one plugin attempted to publish the same ' + 'event name, `%s`.', eventName) : invariant(false) : undefined;\n EventPluginRegistry.eventNameDispatchConfigs[eventName] = dispatchConfig;\n\n var phasedRegistrationNames = dispatchConfig.phasedRegistrationNames;\n if (phasedRegistrationNames) {\n for (var phaseName in phasedRegistrationNames) {\n if (phasedRegistrationNames.hasOwnProperty(phaseName)) {\n var phasedRegistrationName = phasedRegistrationNames[phaseName];\n publishRegistrationName(phasedRegistrationName, PluginModule, eventName);\n }\n }\n return true;\n } else if (dispatchConfig.registrationName) {\n publishRegistrationName(dispatchConfig.registrationName, PluginModule, eventName);\n return true;\n }\n return false;\n}\n\n/**\n * Publishes a registration name that is used to identify dispatched events and\n * can be used with `EventPluginHub.putListener` to register listeners.\n *\n * @param {string} registrationName Registration name to add.\n * @param {object} PluginModule Plugin publishing the event.\n * @private\n */\nfunction publishRegistrationName(registrationName, PluginModule, eventName) {\n !!EventPluginRegistry.registrationNameModules[registrationName] ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginHub: More than one plugin attempted to publish the same ' + 'registration name, `%s`.', registrationName) : invariant(false) : undefined;\n EventPluginRegistry.registrationNameModules[registrationName] = PluginModule;\n EventPluginRegistry.registrationNameDependencies[registrationName] = PluginModule.eventTypes[eventName].dependencies;\n}\n\n/**\n * Registers plugins so that they can extract and dispatch events.\n *\n * @see {EventPluginHub}\n */\nvar EventPluginRegistry = {\n\n /**\n * Ordered list of injected plugins.\n */\n plugins: [],\n\n /**\n * Mapping from event name to dispatch config\n */\n eventNameDispatchConfigs: {},\n\n /**\n * Mapping from registration name to plugin module\n */\n registrationNameModules: {},\n\n /**\n * Mapping from registration name to event name\n */\n registrationNameDependencies: {},\n\n /**\n * Injects an ordering of plugins (by plugin name). This allows the ordering\n * to be decoupled from injection of the actual plugins so that ordering is\n * always deterministic regardless of packaging, on-the-fly injection, etc.\n *\n * @param {array} InjectedEventPluginOrder\n * @internal\n * @see {EventPluginHub.injection.injectEventPluginOrder}\n */\n injectEventPluginOrder: function (InjectedEventPluginOrder) {\n !!EventPluginOrder ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginRegistry: Cannot inject event plugin ordering more than ' + 'once. You are likely trying to load more than one copy of React.') : invariant(false) : undefined;\n // Clone the ordering so it cannot be dynamically mutated.\n EventPluginOrder = Array.prototype.slice.call(InjectedEventPluginOrder);\n recomputePluginOrdering();\n },\n\n /**\n * Injects plugins to be used by `EventPluginHub`. The plugin names must be\n * in the ordering injected by `injectEventPluginOrder`.\n *\n * Plugins can be injected as part of page initialization or on-the-fly.\n *\n * @param {object} injectedNamesToPlugins Map from names to plugin modules.\n * @internal\n * @see {EventPluginHub.injection.injectEventPluginsByName}\n */\n injectEventPluginsByName: function (injectedNamesToPlugins) {\n var isOrderingDirty = false;\n for (var pluginName in injectedNamesToPlugins) {\n if (!injectedNamesToPlugins.hasOwnProperty(pluginName)) {\n continue;\n }\n var PluginModule = injectedNamesToPlugins[pluginName];\n if (!namesToPlugins.hasOwnProperty(pluginName) || namesToPlugins[pluginName] !== PluginModule) {\n !!namesToPlugins[pluginName] ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginRegistry: Cannot inject two different event plugins ' + 'using the same name, `%s`.', pluginName) : invariant(false) : undefined;\n namesToPlugins[pluginName] = PluginModule;\n isOrderingDirty = true;\n }\n }\n if (isOrderingDirty) {\n recomputePluginOrdering();\n }\n },\n\n /**\n * Looks up the plugin for the supplied event.\n *\n * @param {object} event A synthetic event.\n * @return {?object} The plugin that created the supplied event.\n * @internal\n */\n getPluginModuleForEvent: function (event) {\n var dispatchConfig = event.dispatchConfig;\n if (dispatchConfig.registrationName) {\n return EventPluginRegistry.registrationNameModules[dispatchConfig.registrationName] || null;\n }\n for (var phase in dispatchConfig.phasedRegistrationNames) {\n if (!dispatchConfig.phasedRegistrationNames.hasOwnProperty(phase)) {\n continue;\n }\n var PluginModule = EventPluginRegistry.registrationNameModules[dispatchConfig.phasedRegistrationNames[phase]];\n if (PluginModule) {\n return PluginModule;\n }\n }\n return null;\n },\n\n /**\n * Exposed for unit testing.\n * @private\n */\n _resetEventPlugins: function () {\n EventPluginOrder = null;\n for (var pluginName in namesToPlugins) {\n if (namesToPlugins.hasOwnProperty(pluginName)) {\n delete namesToPlugins[pluginName];\n }\n }\n EventPluginRegistry.plugins.length = 0;\n\n var eventNameDispatchConfigs = EventPluginRegistry.eventNameDispatchConfigs;\n for (var eventName in eventNameDispatchConfigs) {\n if (eventNameDispatchConfigs.hasOwnProperty(eventName)) {\n delete eventNameDispatchConfigs[eventName];\n }\n }\n\n var registrationNameModules = EventPluginRegistry.registrationNameModules;\n for (var registrationName in registrationNameModules) {\n if (registrationNameModules.hasOwnProperty(registrationName)) {\n delete registrationNameModules[registrationName];\n }\n }\n }\n\n};\n\nmodule.exports = EventPluginRegistry;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/EventPluginRegistry.js\n **/","/**\n * Copyright 2013-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 * @providesModule EventPluginUtils\n */\n\n'use strict';\n\nvar EventConstants = require('./EventConstants');\nvar ReactErrorUtils = require('./ReactErrorUtils');\n\nvar invariant = require('fbjs/lib/invariant');\nvar warning = require('fbjs/lib/warning');\n\n/**\n * Injected dependencies:\n */\n\n/**\n * - `Mount`: [required] Module that can convert between React dom IDs and\n * actual node references.\n */\nvar injection = {\n Mount: null,\n injectMount: function (InjectedMount) {\n injection.Mount = InjectedMount;\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== 'production' ? warning(InjectedMount && InjectedMount.getNode && InjectedMount.getID, 'EventPluginUtils.injection.injectMount(...): Injected Mount ' + 'module is missing getNode or getID.') : undefined;\n }\n }\n};\n\nvar topLevelTypes = EventConstants.topLevelTypes;\n\nfunction isEndish(topLevelType) {\n return topLevelType === topLevelTypes.topMouseUp || topLevelType === topLevelTypes.topTouchEnd || topLevelType === topLevelTypes.topTouchCancel;\n}\n\nfunction isMoveish(topLevelType) {\n return topLevelType === topLevelTypes.topMouseMove || topLevelType === topLevelTypes.topTouchMove;\n}\nfunction isStartish(topLevelType) {\n return topLevelType === topLevelTypes.topMouseDown || topLevelType === topLevelTypes.topTouchStart;\n}\n\nvar validateEventDispatches;\nif (process.env.NODE_ENV !== 'production') {\n validateEventDispatches = function (event) {\n var dispatchListeners = event._dispatchListeners;\n var dispatchIDs = event._dispatchIDs;\n\n var listenersIsArr = Array.isArray(dispatchListeners);\n var idsIsArr = Array.isArray(dispatchIDs);\n var IDsLen = idsIsArr ? dispatchIDs.length : dispatchIDs ? 1 : 0;\n var listenersLen = listenersIsArr ? dispatchListeners.length : dispatchListeners ? 1 : 0;\n\n process.env.NODE_ENV !== 'production' ? warning(idsIsArr === listenersIsArr && IDsLen === listenersLen, 'EventPluginUtils: Invalid `event`.') : undefined;\n };\n}\n\n/**\n * Dispatch the event to the listener.\n * @param {SyntheticEvent} event SyntheticEvent to handle\n * @param {boolean} simulated If the event is simulated (changes exn behavior)\n * @param {function} listener Application-level callback\n * @param {string} domID DOM id to pass to the callback.\n */\nfunction executeDispatch(event, simulated, listener, domID) {\n var type = event.type || 'unknown-event';\n event.currentTarget = injection.Mount.getNode(domID);\n if (simulated) {\n ReactErrorUtils.invokeGuardedCallbackWithCatch(type, listener, event, domID);\n } else {\n ReactErrorUtils.invokeGuardedCallback(type, listener, event, domID);\n }\n event.currentTarget = null;\n}\n\n/**\n * Standard/simple iteration through an event's collected dispatches.\n */\nfunction executeDispatchesInOrder(event, simulated) {\n var dispatchListeners = event._dispatchListeners;\n var dispatchIDs = event._dispatchIDs;\n if (process.env.NODE_ENV !== 'production') {\n validateEventDispatches(event);\n }\n if (Array.isArray(dispatchListeners)) {\n for (var i = 0; i < dispatchListeners.length; i++) {\n if (event.isPropagationStopped()) {\n break;\n }\n // Listeners and IDs are two parallel arrays that are always in sync.\n executeDispatch(event, simulated, dispatchListeners[i], dispatchIDs[i]);\n }\n } else if (dispatchListeners) {\n executeDispatch(event, simulated, dispatchListeners, dispatchIDs);\n }\n event._dispatchListeners = null;\n event._dispatchIDs = null;\n}\n\n/**\n * Standard/simple iteration through an event's collected dispatches, but stops\n * at the first dispatch execution returning true, and returns that id.\n *\n * @return {?string} id of the first dispatch execution who's listener returns\n * true, or null if no listener returned true.\n */\nfunction executeDispatchesInOrderStopAtTrueImpl(event) {\n var dispatchListeners = event._dispatchListeners;\n var dispatchIDs = event._dispatchIDs;\n if (process.env.NODE_ENV !== 'production') {\n validateEventDispatches(event);\n }\n if (Array.isArray(dispatchListeners)) {\n for (var i = 0; i < dispatchListeners.length; i++) {\n if (event.isPropagationStopped()) {\n break;\n }\n // Listeners and IDs are two parallel arrays that are always in sync.\n if (dispatchListeners[i](event, dispatchIDs[i])) {\n return dispatchIDs[i];\n }\n }\n } else if (dispatchListeners) {\n if (dispatchListeners(event, dispatchIDs)) {\n return dispatchIDs;\n }\n }\n return null;\n}\n\n/**\n * @see executeDispatchesInOrderStopAtTrueImpl\n */\nfunction executeDispatchesInOrderStopAtTrue(event) {\n var ret = executeDispatchesInOrderStopAtTrueImpl(event);\n event._dispatchIDs = null;\n event._dispatchListeners = null;\n return ret;\n}\n\n/**\n * Execution of a \"direct\" dispatch - there must be at most one dispatch\n * accumulated on the event or it is considered an error. It doesn't really make\n * sense for an event with multiple dispatches (bubbled) to keep track of the\n * return values at each dispatch execution, but it does tend to make sense when\n * dealing with \"direct\" dispatches.\n *\n * @return {*} The return value of executing the single dispatch.\n */\nfunction executeDirectDispatch(event) {\n if (process.env.NODE_ENV !== 'production') {\n validateEventDispatches(event);\n }\n var dispatchListener = event._dispatchListeners;\n var dispatchID = event._dispatchIDs;\n !!Array.isArray(dispatchListener) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'executeDirectDispatch(...): Invalid `event`.') : invariant(false) : undefined;\n var res = dispatchListener ? dispatchListener(event, dispatchID) : null;\n event._dispatchListeners = null;\n event._dispatchIDs = null;\n return res;\n}\n\n/**\n * @param {SyntheticEvent} event\n * @return {boolean} True iff number of dispatches accumulated is greater than 0.\n */\nfunction hasDispatches(event) {\n return !!event._dispatchListeners;\n}\n\n/**\n * General utilities that are useful in creating custom Event Plugins.\n */\nvar EventPluginUtils = {\n isEndish: isEndish,\n isMoveish: isMoveish,\n isStartish: isStartish,\n\n executeDirectDispatch: executeDirectDispatch,\n executeDispatchesInOrder: executeDispatchesInOrder,\n executeDispatchesInOrderStopAtTrue: executeDispatchesInOrderStopAtTrue,\n hasDispatches: hasDispatches,\n\n getNode: function (id) {\n return injection.Mount.getNode(id);\n },\n getID: function (node) {\n return injection.Mount.getID(node);\n },\n\n injection: injection\n};\n\nmodule.exports = EventPluginUtils;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/EventPluginUtils.js\n **/","/**\n * Copyright 2013-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 * @providesModule ReactErrorUtils\n * @typechecks\n */\n\n'use strict';\n\nvar caughtError = null;\n\n/**\n * Call a function while guarding against errors that happens within it.\n *\n * @param {?String} name of the guard to use for logging or debugging\n * @param {Function} func The function to invoke\n * @param {*} a First argument\n * @param {*} b Second argument\n */\nfunction invokeGuardedCallback(name, func, a, b) {\n try {\n return func(a, b);\n } catch (x) {\n if (caughtError === null) {\n caughtError = x;\n }\n return undefined;\n }\n}\n\nvar ReactErrorUtils = {\n invokeGuardedCallback: invokeGuardedCallback,\n\n /**\n * Invoked by ReactTestUtils.Simulate so that any errors thrown by the event\n * handler are sure to be rethrown by rethrowCaughtError.\n */\n invokeGuardedCallbackWithCatch: invokeGuardedCallback,\n\n /**\n * During execution of guarded functions we will capture the first error which\n * we will rethrow to be handled by the top level error handler.\n */\n rethrowCaughtError: function () {\n if (caughtError) {\n var error = caughtError;\n caughtError = null;\n throw error;\n }\n }\n};\n\nif (process.env.NODE_ENV !== 'production') {\n /**\n * To help development we can get better devtools integration by simulating a\n * real browser event.\n */\n if (typeof window !== 'undefined' && typeof window.dispatchEvent === 'function' && typeof Event === 'function') {\n var fakeNode = document.createElement('react');\n ReactErrorUtils.invokeGuardedCallback = function (name, func, a, b) {\n var boundFunc = func.bind(null, a, b);\n fakeNode.addEventListener(name, boundFunc, false);\n fakeNode.dispatchEvent(new Event(name));\n fakeNode.removeEventListener(name, boundFunc, false);\n };\n }\n}\n\nmodule.exports = ReactErrorUtils;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/ReactErrorUtils.js\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 * @providesModule accumulateInto\n */\n\n'use strict';\n\nvar invariant = require('fbjs/lib/invariant');\n\n/**\n *\n * Accumulates items that must not be null or undefined into the first one. This\n * is used to conserve memory by avoiding array allocations, and thus sacrifices\n * API cleanness. Since `current` can be null before being passed in and not\n * null after this function, make sure to assign it back to `current`:\n *\n * `a = accumulateInto(a, b);`\n *\n * This API should be sparingly used. Try `accumulate` for something cleaner.\n *\n * @return {*|array<*>} An accumulation of items.\n */\n\nfunction accumulateInto(current, next) {\n !(next != null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'accumulateInto(...): Accumulated items must not be null or undefined.') : invariant(false) : undefined;\n if (current == null) {\n return next;\n }\n\n // Both are not empty. Warning: Never call x.concat(y) when you are not\n // certain that x is an Array (x could be a string with concat method).\n var currentIsArray = Array.isArray(current);\n var nextIsArray = Array.isArray(next);\n\n if (currentIsArray && nextIsArray) {\n current.push.apply(current, next);\n return current;\n }\n\n if (currentIsArray) {\n current.push(next);\n return current;\n }\n\n if (nextIsArray) {\n // A bit too dangerous to mutate `next`.\n return [current].concat(next);\n }\n\n return [current, next];\n}\n\nmodule.exports = accumulateInto;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/accumulateInto.js\n **/","/**\n * Copyright 2013-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 * @providesModule forEachAccumulated\n */\n\n'use strict';\n\n/**\n * @param {array} arr an \"accumulation\" of items which is either an Array or\n * a single item. Useful when paired with the `accumulate` module. This is a\n * simple utility that allows us to reason about a collection of items, but\n * handling the case when there is exactly one item (and we do not need to\n * allocate an array).\n */\nvar forEachAccumulated = function (arr, cb, scope) {\n if (Array.isArray(arr)) {\n arr.forEach(cb, scope);\n } else if (arr) {\n cb.call(scope, arr);\n }\n};\n\nmodule.exports = forEachAccumulated;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/forEachAccumulated.js\n **/","/**\n * Copyright 2013-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 * @providesModule ReactEventEmitterMixin\n */\n\n'use strict';\n\nvar EventPluginHub = require('./EventPluginHub');\n\nfunction runEventQueueInBatch(events) {\n EventPluginHub.enqueueEvents(events);\n EventPluginHub.processEventQueue(false);\n}\n\nvar ReactEventEmitterMixin = {\n\n /**\n * Streams a fired top-level event to `EventPluginHub` where plugins have the\n * opportunity to create `ReactEvent`s to be dispatched.\n *\n * @param {string} topLevelType Record from `EventConstants`.\n * @param {object} topLevelTarget The listening component root node.\n * @param {string} topLevelTargetID ID of `topLevelTarget`.\n * @param {object} nativeEvent Native environment event.\n */\n handleTopLevel: function (topLevelType, topLevelTarget, topLevelTargetID, nativeEvent, nativeEventTarget) {\n var events = EventPluginHub.extractEvents(topLevelType, topLevelTarget, topLevelTargetID, nativeEvent, nativeEventTarget);\n runEventQueueInBatch(events);\n }\n};\n\nmodule.exports = ReactEventEmitterMixin;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/ReactEventEmitterMixin.js\n **/","/**\n * Copyright 2013-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 * @providesModule ViewportMetrics\n */\n\n'use strict';\n\nvar ViewportMetrics = {\n\n currentScrollLeft: 0,\n\n currentScrollTop: 0,\n\n refreshScrollValues: function (scrollPosition) {\n ViewportMetrics.currentScrollLeft = scrollPosition.x;\n ViewportMetrics.currentScrollTop = scrollPosition.y;\n }\n\n};\n\nmodule.exports = ViewportMetrics;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/ViewportMetrics.js\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 * @providesModule Object.assign\n */\n\n// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-object.assign\n\n'use strict';\n\nfunction assign(target, sources) {\n if (target == null) {\n throw new TypeError('Object.assign target cannot be null or undefined');\n }\n\n var to = Object(target);\n var hasOwnProperty = Object.prototype.hasOwnProperty;\n\n for (var nextIndex = 1; nextIndex < arguments.length; nextIndex++) {\n var nextSource = arguments[nextIndex];\n if (nextSource == null) {\n continue;\n }\n\n var from = Object(nextSource);\n\n // We don't currently support accessors nor proxies. Therefore this\n // copy cannot throw. If we ever supported this then we must handle\n // exceptions and side-effects. We don't support symbols so they won't\n // be transferred.\n\n for (var key in from) {\n if (hasOwnProperty.call(from, key)) {\n to[key] = from[key];\n }\n }\n }\n\n return to;\n}\n\nmodule.exports = assign;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/Object.assign.js\n **/","/**\n * Copyright 2013-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 * @providesModule isEventSupported\n */\n\n'use strict';\n\nvar ExecutionEnvironment = require('fbjs/lib/ExecutionEnvironment');\n\nvar useHasFeature;\nif (ExecutionEnvironment.canUseDOM) {\n useHasFeature = document.implementation && document.implementation.hasFeature &&\n // always returns true in newer browsers as per the standard.\n // @see http://dom.spec.whatwg.org/#dom-domimplementation-hasfeature\n document.implementation.hasFeature('', '') !== true;\n}\n\n/**\n * Checks if an event is supported in the current execution environment.\n *\n * NOTE: This will not work correctly for non-generic events such as `change`,\n * `reset`, `load`, `error`, and `select`.\n *\n * Borrows from Modernizr.\n *\n * @param {string} eventNameSuffix Event name, e.g. \"click\".\n * @param {?boolean} capture Check if the capture phase is supported.\n * @return {boolean} True if the event is supported.\n * @internal\n * @license Modernizr 3.0.0pre (Custom Build) | MIT\n */\nfunction isEventSupported(eventNameSuffix, capture) {\n if (!ExecutionEnvironment.canUseDOM || capture && !('addEventListener' in document)) {\n return false;\n }\n\n var eventName = 'on' + eventNameSuffix;\n var isSupported = (eventName in document);\n\n if (!isSupported) {\n var element = document.createElement('div');\n element.setAttribute(eventName, 'return;');\n isSupported = typeof element[eventName] === 'function';\n }\n\n if (!isSupported && useHasFeature && eventNameSuffix === 'wheel') {\n // This is the only way to test support for the `wheel` event in IE9+.\n isSupported = document.implementation.hasFeature('Events.wheel', '3.0');\n }\n\n return isSupported;\n}\n\nmodule.exports = isEventSupported;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/isEventSupported.js\n **/","/**\n * Copyright 2013-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 * @providesModule ReactDOMFeatureFlags\n */\n\n'use strict';\n\nvar ReactDOMFeatureFlags = {\n useCreateElement: false\n};\n\nmodule.exports = ReactDOMFeatureFlags;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/ReactDOMFeatureFlags.js\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 * @providesModule ReactElement\n */\n\n'use strict';\n\nvar ReactCurrentOwner = require('./ReactCurrentOwner');\n\nvar assign = require('./Object.assign');\n\n// The Symbol used to tag the ReactElement type. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar REACT_ELEMENT_TYPE = typeof Symbol === 'function' && Symbol['for'] && Symbol['for']('react.element') || 0xeac7;\n\nvar RESERVED_PROPS = {\n key: true,\n ref: true,\n __self: true,\n __source: true\n};\n\nvar canDefineProperty = false;\nif (process.env.NODE_ENV !== 'production') {\n try {\n Object.defineProperty({}, 'x', {});\n canDefineProperty = true;\n } catch (x) {\n // IE will fail on defineProperty\n }\n}\n\n/**\n * Base constructor for all React elements. This is only used to make this\n * work with a dynamic instanceof check. Nothing should live on this prototype.\n *\n * @param {*} type\n * @param {*} key\n * @param {string|object} ref\n * @param {*} self A *temporary* helper to detect places where `this` is\n * different from the `owner` when React.createElement is called, so that we\n * can warn. We want to get rid of owner and replace string `ref`s with arrow\n * functions, and as long as `this` and owner are the same, there will be no\n * change in behavior.\n * @param {*} source An annotation object (added by a transpiler or otherwise)\n * indicating filename, line number, and/or other information.\n * @param {*} owner\n * @param {*} props\n * @internal\n */\nvar ReactElement = function (type, key, ref, self, source, owner, props) {\n var element = {\n // This tag allow us to uniquely identify this as a React Element\n $$typeof: REACT_ELEMENT_TYPE,\n\n // Built-in properties that belong on the element\n type: type,\n key: key,\n ref: ref,\n props: props,\n\n // Record the component responsible for creating this element.\n _owner: owner\n };\n\n if (process.env.NODE_ENV !== 'production') {\n // The validation flag is currently mutative. We put it on\n // an external backing store so that we can freeze the whole object.\n // This can be replaced with a WeakMap once they are implemented in\n // commonly used development environments.\n element._store = {};\n\n // To make comparing ReactElements easier for testing purposes, we make\n // the validation flag non-enumerable (where possible, which should\n // include every environment we run tests in), so the test framework\n // ignores it.\n if (canDefineProperty) {\n Object.defineProperty(element._store, 'validated', {\n configurable: false,\n enumerable: false,\n writable: true,\n value: false\n });\n // self and source are DEV only properties.\n Object.defineProperty(element, '_self', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: self\n });\n // Two elements created in two different places should be considered\n // equal for testing purposes and therefore we hide it from enumeration.\n Object.defineProperty(element, '_source', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: source\n });\n } else {\n element._store.validated = false;\n element._self = self;\n element._source = source;\n }\n Object.freeze(element.props);\n Object.freeze(element);\n }\n\n return element;\n};\n\nReactElement.createElement = function (type, config, children) {\n var propName;\n\n // Reserved names are extracted\n var props = {};\n\n var key = null;\n var ref = null;\n var self = null;\n var source = null;\n\n if (config != null) {\n ref = config.ref === undefined ? null : config.ref;\n key = config.key === undefined ? null : '' + config.key;\n self = config.__self === undefined ? null : config.__self;\n source = config.__source === undefined ? null : config.__source;\n // Remaining properties are added to a new props object\n for (propName in config) {\n if (config.hasOwnProperty(propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n props[propName] = config[propName];\n }\n }\n }\n\n // Children can be more than one argument, and those are transferred onto\n // the newly allocated props object.\n var childrenLength = arguments.length - 2;\n if (childrenLength === 1) {\n props.children = children;\n } else if (childrenLength > 1) {\n var childArray = Array(childrenLength);\n for (var i = 0; i < childrenLength; i++) {\n childArray[i] = arguments[i + 2];\n }\n props.children = childArray;\n }\n\n // Resolve default props\n if (type && type.defaultProps) {\n var defaultProps = type.defaultProps;\n for (propName in defaultProps) {\n if (typeof props[propName] === 'undefined') {\n props[propName] = defaultProps[propName];\n }\n }\n }\n\n return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);\n};\n\nReactElement.createFactory = function (type) {\n var factory = ReactElement.createElement.bind(null, type);\n // Expose the type on the factory and the prototype so that it can be\n // easily accessed on elements. E.g. `<Foo />.type === Foo`.\n // This should not be named `constructor` since this may not be the function\n // that created the element, and it may not even be a constructor.\n // Legacy hook TODO: Warn if this is accessed\n factory.type = type;\n return factory;\n};\n\nReactElement.cloneAndReplaceKey = function (oldElement, newKey) {\n var newElement = ReactElement(oldElement.type, newKey, oldElement.ref, oldElement._self, oldElement._source, oldElement._owner, oldElement.props);\n\n return newElement;\n};\n\nReactElement.cloneAndReplaceProps = function (oldElement, newProps) {\n var newElement = ReactElement(oldElement.type, oldElement.key, oldElement.ref, oldElement._self, oldElement._source, oldElement._owner, newProps);\n\n if (process.env.NODE_ENV !== 'production') {\n // If the key on the original is valid, then the clone is valid\n newElement._store.validated = oldElement._store.validated;\n }\n\n return newElement;\n};\n\nReactElement.cloneElement = function (element, config, children) {\n var propName;\n\n // Original props are copied\n var props = assign({}, element.props);\n\n // Reserved names are extracted\n var key = element.key;\n var ref = element.ref;\n // Self is preserved since the owner is preserved.\n var self = element._self;\n // Source is preserved since cloneElement is unlikely to be targeted by a\n // transpiler, and the original source is probably a better indicator of the\n // true owner.\n var source = element._source;\n\n // Owner will be preserved, unless ref is overridden\n var owner = element._owner;\n\n if (config != null) {\n if (config.ref !== undefined) {\n // Silently steal the ref from the parent.\n ref = config.ref;\n owner = ReactCurrentOwner.current;\n }\n if (config.key !== undefined) {\n key = '' + config.key;\n }\n // Remaining properties override existing props\n for (propName in config) {\n if (config.hasOwnProperty(propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n props[propName] = config[propName];\n }\n }\n }\n\n // Children can be more than one argument, and those are transferred onto\n // the newly allocated props object.\n var childrenLength = arguments.length - 2;\n if (childrenLength === 1) {\n props.children = children;\n } else if (childrenLength > 1) {\n var childArray = Array(childrenLength);\n for (var i = 0; i < childrenLength; i++) {\n childArray[i] = arguments[i + 2];\n }\n props.children = childArray;\n }\n\n return ReactElement(element.type, key, ref, self, source, owner, props);\n};\n\n/**\n * @param {?object} object\n * @return {boolean} True if `object` is a valid component.\n * @final\n */\nReactElement.isValidElement = function (object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n};\n\nmodule.exports = ReactElement;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/ReactElement.js\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 * @providesModule ReactEmptyComponentRegistry\n */\n\n'use strict';\n\n// This registry keeps track of the React IDs of the components that rendered to\n// `null` (in reality a placeholder such as `noscript`)\nvar nullComponentIDsRegistry = {};\n\n/**\n * @param {string} id Component's `_rootNodeID`.\n * @return {boolean} True if the component is rendered to null.\n */\nfunction isNullComponentID(id) {\n return !!nullComponentIDsRegistry[id];\n}\n\n/**\n * Mark the component as having rendered to null.\n * @param {string} id Component's `_rootNodeID`.\n */\nfunction registerNullComponentID(id) {\n nullComponentIDsRegistry[id] = true;\n}\n\n/**\n * Unmark the component as having rendered to null: it renders to something now.\n * @param {string} id Component's `_rootNodeID`.\n */\nfunction deregisterNullComponentID(id) {\n delete nullComponentIDsRegistry[id];\n}\n\nvar ReactEmptyComponentRegistry = {\n isNullComponentID: isNullComponentID,\n registerNullComponentID: registerNullComponentID,\n deregisterNullComponentID: deregisterNullComponentID\n};\n\nmodule.exports = ReactEmptyComponentRegistry;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/ReactEmptyComponentRegistry.js\n **/","/**\n * Copyright 2013-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 * @providesModule ReactInstanceHandles\n * @typechecks static-only\n */\n\n'use strict';\n\nvar ReactRootIndex = require('./ReactRootIndex');\n\nvar invariant = require('fbjs/lib/invariant');\n\nvar SEPARATOR = '.';\nvar SEPARATOR_LENGTH = SEPARATOR.length;\n\n/**\n * Maximum depth of traversals before we consider the possibility of a bad ID.\n */\nvar MAX_TREE_DEPTH = 10000;\n\n/**\n * Creates a DOM ID prefix to use when mounting React components.\n *\n * @param {number} index A unique integer\n * @return {string} React root ID.\n * @internal\n */\nfunction getReactRootIDString(index) {\n return SEPARATOR + index.toString(36);\n}\n\n/**\n * Checks if a character in the supplied ID is a separator or the end.\n *\n * @param {string} id A React DOM ID.\n * @param {number} index Index of the character to check.\n * @return {boolean} True if the character is a separator or end of the ID.\n * @private\n */\nfunction isBoundary(id, index) {\n return id.charAt(index) === SEPARATOR || index === id.length;\n}\n\n/**\n * Checks if the supplied string is a valid React DOM ID.\n *\n * @param {string} id A React DOM ID, maybe.\n * @return {boolean} True if the string is a valid React DOM ID.\n * @private\n */\nfunction isValidID(id) {\n return id === '' || id.charAt(0) === SEPARATOR && id.charAt(id.length - 1) !== SEPARATOR;\n}\n\n/**\n * Checks if the first ID is an ancestor of or equal to the second ID.\n *\n * @param {string} ancestorID\n * @param {string} descendantID\n * @return {boolean} True if `ancestorID` is an ancestor of `descendantID`.\n * @internal\n */\nfunction isAncestorIDOf(ancestorID, descendantID) {\n return descendantID.indexOf(ancestorID) === 0 && isBoundary(descendantID, ancestorID.length);\n}\n\n/**\n * Gets the parent ID of the supplied React DOM ID, `id`.\n *\n * @param {string} id ID of a component.\n * @return {string} ID of the parent, or an empty string.\n * @private\n */\nfunction getParentID(id) {\n return id ? id.substr(0, id.lastIndexOf(SEPARATOR)) : '';\n}\n\n/**\n * Gets the next DOM ID on the tree path from the supplied `ancestorID` to the\n * supplied `destinationID`. If they are equal, the ID is returned.\n *\n * @param {string} ancestorID ID of an ancestor node of `destinationID`.\n * @param {string} destinationID ID of the destination node.\n * @return {string} Next ID on the path from `ancestorID` to `destinationID`.\n * @private\n */\nfunction getNextDescendantID(ancestorID, destinationID) {\n !(isValidID(ancestorID) && isValidID(destinationID)) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'getNextDescendantID(%s, %s): Received an invalid React DOM ID.', ancestorID, destinationID) : invariant(false) : undefined;\n !isAncestorIDOf(ancestorID, destinationID) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'getNextDescendantID(...): React has made an invalid assumption about ' + 'the DOM hierarchy. Expected `%s` to be an ancestor of `%s`.', ancestorID, destinationID) : invariant(false) : undefined;\n if (ancestorID === destinationID) {\n return ancestorID;\n }\n // Skip over the ancestor and the immediate separator. Traverse until we hit\n // another separator or we reach the end of `destinationID`.\n var start = ancestorID.length + SEPARATOR_LENGTH;\n var i;\n for (i = start; i < destinationID.length; i++) {\n if (isBoundary(destinationID, i)) {\n break;\n }\n }\n return destinationID.substr(0, i);\n}\n\n/**\n * Gets the nearest common ancestor ID of two IDs.\n *\n * Using this ID scheme, the nearest common ancestor ID is the longest common\n * prefix of the two IDs that immediately preceded a \"marker\" in both strings.\n *\n * @param {string} oneID\n * @param {string} twoID\n * @return {string} Nearest common ancestor ID, or the empty string if none.\n * @private\n */\nfunction getFirstCommonAncestorID(oneID, twoID) {\n var minLength = Math.min(oneID.length, twoID.length);\n if (minLength === 0) {\n return '';\n }\n var lastCommonMarkerIndex = 0;\n // Use `<=` to traverse until the \"EOL\" of the shorter string.\n for (var i = 0; i <= minLength; i++) {\n if (isBoundary(oneID, i) && isBoundary(twoID, i)) {\n lastCommonMarkerIndex = i;\n } else if (oneID.charAt(i) !== twoID.charAt(i)) {\n break;\n }\n }\n var longestCommonID = oneID.substr(0, lastCommonMarkerIndex);\n !isValidID(longestCommonID) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'getFirstCommonAncestorID(%s, %s): Expected a valid React DOM ID: %s', oneID, twoID, longestCommonID) : invariant(false) : undefined;\n return longestCommonID;\n}\n\n/**\n * Traverses the parent path between two IDs (either up or down). The IDs must\n * not be the same, and there must exist a parent path between them. If the\n * callback returns `false`, traversal is stopped.\n *\n * @param {?string} start ID at which to start traversal.\n * @param {?string} stop ID at which to end traversal.\n * @param {function} cb Callback to invoke each ID with.\n * @param {*} arg Argument to invoke the callback with.\n * @param {?boolean} skipFirst Whether or not to skip the first node.\n * @param {?boolean} skipLast Whether or not to skip the last node.\n * @private\n */\nfunction traverseParentPath(start, stop, cb, arg, skipFirst, skipLast) {\n start = start || '';\n stop = stop || '';\n !(start !== stop) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'traverseParentPath(...): Cannot traverse from and to the same ID, `%s`.', start) : invariant(false) : undefined;\n var traverseUp = isAncestorIDOf(stop, start);\n !(traverseUp || isAncestorIDOf(start, stop)) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'traverseParentPath(%s, %s, ...): Cannot traverse from two IDs that do ' + 'not have a parent path.', start, stop) : invariant(false) : undefined;\n // Traverse from `start` to `stop` one depth at a time.\n var depth = 0;\n var traverse = traverseUp ? getParentID : getNextDescendantID;\n for (var id = start;; /* until break */id = traverse(id, stop)) {\n var ret;\n if ((!skipFirst || id !== start) && (!skipLast || id !== stop)) {\n ret = cb(id, traverseUp, arg);\n }\n if (ret === false || id === stop) {\n // Only break //after// visiting `stop`.\n break;\n }\n !(depth++ < MAX_TREE_DEPTH) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'traverseParentPath(%s, %s, ...): Detected an infinite loop while ' + 'traversing the React DOM ID tree. This may be due to malformed IDs: %s', start, stop, id) : invariant(false) : undefined;\n }\n}\n\n/**\n * Manages the IDs assigned to DOM representations of React components. This\n * uses a specific scheme in order to traverse the DOM efficiently (e.g. in\n * order to simulate events).\n *\n * @internal\n */\nvar ReactInstanceHandles = {\n\n /**\n * Constructs a React root ID\n * @return {string} A React root ID.\n */\n createReactRootID: function () {\n return getReactRootIDString(ReactRootIndex.createReactRootIndex());\n },\n\n /**\n * Constructs a React ID by joining a root ID with a name.\n *\n * @param {string} rootID Root ID of a parent component.\n * @param {string} name A component's name (as flattened children).\n * @return {string} A React ID.\n * @internal\n */\n createReactID: function (rootID, name) {\n return rootID + name;\n },\n\n /**\n * Gets the DOM ID of the React component that is the root of the tree that\n * contains the React component with the supplied DOM ID.\n *\n * @param {string} id DOM ID of a React component.\n * @return {?string} DOM ID of the React component that is the root.\n * @internal\n */\n getReactRootIDFromNodeID: function (id) {\n if (id && id.charAt(0) === SEPARATOR && id.length > 1) {\n var index = id.indexOf(SEPARATOR, 1);\n return index > -1 ? id.substr(0, index) : id;\n }\n return null;\n },\n\n /**\n * Traverses the ID hierarchy and invokes the supplied `cb` on any IDs that\n * should would receive a `mouseEnter` or `mouseLeave` event.\n *\n * NOTE: Does not invoke the callback on the nearest common ancestor because\n * nothing \"entered\" or \"left\" that element.\n *\n * @param {string} leaveID ID being left.\n * @param {string} enterID ID being entered.\n * @param {function} cb Callback to invoke on each entered/left ID.\n * @param {*} upArg Argument to invoke the callback with on left IDs.\n * @param {*} downArg Argument to invoke the callback with on entered IDs.\n * @internal\n */\n traverseEnterLeave: function (leaveID, enterID, cb, upArg, downArg) {\n var ancestorID = getFirstCommonAncestorID(leaveID, enterID);\n if (ancestorID !== leaveID) {\n traverseParentPath(leaveID, ancestorID, cb, upArg, false, true);\n }\n if (ancestorID !== enterID) {\n traverseParentPath(ancestorID, enterID, cb, downArg, true, false);\n }\n },\n\n /**\n * Simulates the traversal of a two-phase, capture/bubble event dispatch.\n *\n * NOTE: This traversal happens on IDs without touching the DOM.\n *\n * @param {string} targetID ID of the target node.\n * @param {function} cb Callback to invoke.\n * @param {*} arg Argument to invoke the callback with.\n * @internal\n */\n traverseTwoPhase: function (targetID, cb, arg) {\n if (targetID) {\n traverseParentPath('', targetID, cb, arg, true, false);\n traverseParentPath(targetID, '', cb, arg, false, true);\n }\n },\n\n /**\n * Same as `traverseTwoPhase` but skips the `targetID`.\n */\n traverseTwoPhaseSkipTarget: function (targetID, cb, arg) {\n if (targetID) {\n traverseParentPath('', targetID, cb, arg, true, true);\n traverseParentPath(targetID, '', cb, arg, true, true);\n }\n },\n\n /**\n * Traverse a node ID, calling the supplied `cb` for each ancestor ID. For\n * example, passing `.0.$row-0.1` would result in `cb` getting called\n * with `.0`, `.0.$row-0`, and `.0.$row-0.1`.\n *\n * NOTE: This traversal happens on IDs without touching the DOM.\n *\n * @param {string} targetID ID of the target node.\n * @param {function} cb Callback to invoke.\n * @param {*} arg Argument to invoke the callback with.\n * @internal\n */\n traverseAncestors: function (targetID, cb, arg) {\n traverseParentPath('', targetID, cb, arg, true, false);\n },\n\n getFirstCommonAncestorID: getFirstCommonAncestorID,\n\n /**\n * Exposed for unit testing.\n * @private\n */\n _getNextDescendantID: getNextDescendantID,\n\n isAncestorIDOf: isAncestorIDOf,\n\n SEPARATOR: SEPARATOR\n\n};\n\nmodule.exports = ReactInstanceHandles;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/ReactInstanceHandles.js\n **/","/**\n * Copyright 2013-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 * @providesModule ReactRootIndex\n * @typechecks\n */\n\n'use strict';\n\nvar ReactRootIndexInjection = {\n /**\n * @param {function} _createReactRootIndex\n */\n injectCreateReactRootIndex: function (_createReactRootIndex) {\n ReactRootIndex.createReactRootIndex = _createReactRootIndex;\n }\n};\n\nvar ReactRootIndex = {\n createReactRootIndex: null,\n injection: ReactRootIndexInjection\n};\n\nmodule.exports = ReactRootIndex;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/ReactRootIndex.js\n **/","/**\n * Copyright 2013-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 * @providesModule ReactInstanceMap\n */\n\n'use strict';\n\n/**\n * `ReactInstanceMap` maintains a mapping from a public facing stateful\n * instance (key) and the internal representation (value). This allows public\n * methods to accept the user facing instance as an argument and map them back\n * to internal methods.\n */\n\n// TODO: Replace this with ES6: var ReactInstanceMap = new Map();\nvar ReactInstanceMap = {\n\n /**\n * This API should be called `delete` but we'd have to make sure to always\n * transform these to strings for IE support. When this transform is fully\n * supported we can rename it.\n */\n remove: function (key) {\n key._reactInternalInstance = undefined;\n },\n\n get: function (key) {\n return key._reactInternalInstance;\n },\n\n has: function (key) {\n return key._reactInternalInstance !== undefined;\n },\n\n set: function (key, value) {\n key._reactInternalInstance = value;\n }\n\n};\n\nmodule.exports = ReactInstanceMap;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/ReactInstanceMap.js\n **/","/**\n * Copyright 2013-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 * @providesModule ReactMarkupChecksum\n */\n\n'use strict';\n\nvar adler32 = require('./adler32');\n\nvar TAG_END = /\\/?>/;\n\nvar ReactMarkupChecksum = {\n CHECKSUM_ATTR_NAME: 'data-react-checksum',\n\n /**\n * @param {string} markup Markup string\n * @return {string} Markup string with checksum attribute attached\n */\n addChecksumToMarkup: function (markup) {\n var checksum = adler32(markup);\n\n // Add checksum (handle both parent tags and self-closing tags)\n return markup.replace(TAG_END, ' ' + ReactMarkupChecksum.CHECKSUM_ATTR_NAME + '=\"' + checksum + '\"$&');\n },\n\n /**\n * @param {string} markup to use\n * @param {DOMElement} element root React element\n * @returns {boolean} whether or not the markup is the same\n */\n canReuseMarkup: function (markup, element) {\n var existingChecksum = element.getAttribute(ReactMarkupChecksum.CHECKSUM_ATTR_NAME);\n existingChecksum = existingChecksum && parseInt(existingChecksum, 10);\n var markupChecksum = adler32(markup);\n return markupChecksum === existingChecksum;\n }\n};\n\nmodule.exports = ReactMarkupChecksum;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/ReactMarkupChecksum.js\n **/","/**\n * Copyright 2013-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 * @providesModule adler32\n */\n\n'use strict';\n\nvar MOD = 65521;\n\n// adler32 is not cryptographically strong, and is only used to sanity check that\n// markup generated on the server matches the markup generated on the client.\n// This implementation (a modified version of the SheetJS version) has been optimized\n// for our use case, at the expense of conforming to the adler32 specification\n// for non-ascii inputs.\nfunction adler32(data) {\n var a = 1;\n var b = 0;\n var i = 0;\n var l = data.length;\n var m = l & ~0x3;\n while (i < m) {\n for (; i < Math.min(i + 4096, m); i += 4) {\n b += (a += data.charCodeAt(i)) + (a += data.charCodeAt(i + 1)) + (a += data.charCodeAt(i + 2)) + (a += data.charCodeAt(i + 3));\n }\n a %= MOD;\n b %= MOD;\n }\n for (; i < l; i++) {\n b += a += data.charCodeAt(i);\n }\n a %= MOD;\n b %= MOD;\n return a | b << 16;\n}\n\nmodule.exports = adler32;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/adler32.js\n **/","/**\n * Copyright 2013-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 * @providesModule ReactReconciler\n */\n\n'use strict';\n\nvar ReactRef = require('./ReactRef');\n\n/**\n * Helper to call ReactRef.attachRefs with this composite component, split out\n * to avoid allocations in the transaction mount-ready queue.\n */\nfunction attachRefs() {\n ReactRef.attachRefs(this, this._currentElement);\n}\n\nvar ReactReconciler = {\n\n /**\n * Initializes the component, renders markup, and registers event listeners.\n *\n * @param {ReactComponent} internalInstance\n * @param {string} rootID DOM ID of the root node.\n * @param {ReactReconcileTransaction|ReactServerRenderingTransaction} transaction\n * @return {?string} Rendered markup to be inserted into the DOM.\n * @final\n * @internal\n */\n mountComponent: function (internalInstance, rootID, transaction, context) {\n var markup = internalInstance.mountComponent(rootID, transaction, context);\n if (internalInstance._currentElement && internalInstance._currentElement.ref != null) {\n transaction.getReactMountReady().enqueue(attachRefs, internalInstance);\n }\n return markup;\n },\n\n /**\n * Releases any resources allocated by `mountComponent`.\n *\n * @final\n * @internal\n */\n unmountComponent: function (internalInstance) {\n ReactRef.detachRefs(internalInstance, internalInstance._currentElement);\n internalInstance.unmountComponent();\n },\n\n /**\n * Update a component using a new element.\n *\n * @param {ReactComponent} internalInstance\n * @param {ReactElement} nextElement\n * @param {ReactReconcileTransaction} transaction\n * @param {object} context\n * @internal\n */\n receiveComponent: function (internalInstance, nextElement, transaction, context) {\n var prevElement = internalInstance._currentElement;\n\n if (nextElement === prevElement && context === internalInstance._context) {\n // Since elements are immutable after the owner is rendered,\n // we can do a cheap identity compare here to determine if this is a\n // superfluous reconcile. It's possible for state to be mutable but such\n // change should trigger an update of the owner which would recreate\n // the element. We explicitly check for the existence of an owner since\n // it's possible for an element created outside a composite to be\n // deeply mutated and reused.\n\n // TODO: Bailing out early is just a perf optimization right?\n // TODO: Removing the return statement should affect correctness?\n return;\n }\n\n var refsChanged = ReactRef.shouldUpdateRefs(prevElement, nextElement);\n\n if (refsChanged) {\n ReactRef.detachRefs(internalInstance, prevElement);\n }\n\n internalInstance.receiveComponent(nextElement, transaction, context);\n\n if (refsChanged && internalInstance._currentElement && internalInstance._currentElement.ref != null) {\n transaction.getReactMountReady().enqueue(attachRefs, internalInstance);\n }\n },\n\n /**\n * Flush any dirty changes in a component.\n *\n * @param {ReactComponent} internalInstance\n * @param {ReactReconcileTransaction} transaction\n * @internal\n */\n performUpdateIfNecessary: function (internalInstance, transaction) {\n internalInstance.performUpdateIfNecessary(transaction);\n }\n\n};\n\nmodule.exports = ReactReconciler;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/ReactReconciler.js\n **/","/**\n * Copyright 2013-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 * @providesModule ReactRef\n */\n\n'use strict';\n\nvar ReactOwner = require('./ReactOwner');\n\nvar ReactRef = {};\n\nfunction attachRef(ref, component, owner) {\n if (typeof ref === 'function') {\n ref(component.getPublicInstance());\n } else {\n // Legacy ref\n ReactOwner.addComponentAsRefTo(component, ref, owner);\n }\n}\n\nfunction detachRef(ref, component, owner) {\n if (typeof ref === 'function') {\n ref(null);\n } else {\n // Legacy ref\n ReactOwner.removeComponentAsRefFrom(component, ref, owner);\n }\n}\n\nReactRef.attachRefs = function (instance, element) {\n if (element === null || element === false) {\n return;\n }\n var ref = element.ref;\n if (ref != null) {\n attachRef(ref, instance, element._owner);\n }\n};\n\nReactRef.shouldUpdateRefs = function (prevElement, nextElement) {\n // If either the owner or a `ref` has changed, make sure the newest owner\n // has stored a reference to `this`, and the previous owner (if different)\n // has forgotten the reference to `this`. We use the element instead\n // of the public this.props because the post processing cannot determine\n // a ref. The ref conceptually lives on the element.\n\n // TODO: Should this even be possible? The owner cannot change because\n // it's forbidden by shouldUpdateReactComponent. The ref can change\n // if you swap the keys of but not the refs. Reconsider where this check\n // is made. It probably belongs where the key checking and\n // instantiateReactComponent is done.\n\n var prevEmpty = prevElement === null || prevElement === false;\n var nextEmpty = nextElement === null || nextElement === false;\n\n return(\n // This has a few false positives w/r/t empty components.\n prevEmpty || nextEmpty || nextElement._owner !== prevElement._owner || nextElement.ref !== prevElement.ref\n );\n};\n\nReactRef.detachRefs = function (instance, element) {\n if (element === null || element === false) {\n return;\n }\n var ref = element.ref;\n if (ref != null) {\n detachRef(ref, instance, element._owner);\n }\n};\n\nmodule.exports = ReactRef;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/ReactRef.js\n **/","/**\n * Copyright 2013-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 * @providesModule ReactOwner\n */\n\n'use strict';\n\nvar invariant = require('fbjs/lib/invariant');\n\n/**\n * ReactOwners are capable of storing references to owned components.\n *\n * All components are capable of //being// referenced by owner components, but\n * only ReactOwner components are capable of //referencing// owned components.\n * The named reference is known as a \"ref\".\n *\n * Refs are available when mounted and updated during reconciliation.\n *\n * var MyComponent = React.createClass({\n * render: function() {\n * return (\n * <div onClick={this.handleClick}>\n * <CustomComponent ref=\"custom\" />\n * </div>\n * );\n * },\n * handleClick: function() {\n * this.refs.custom.handleClick();\n * },\n * componentDidMount: function() {\n * this.refs.custom.initialize();\n * }\n * });\n *\n * Refs should rarely be used. When refs are used, they should only be done to\n * control data that is not handled by React's data flow.\n *\n * @class ReactOwner\n */\nvar ReactOwner = {\n\n /**\n * @param {?object} object\n * @return {boolean} True if `object` is a valid owner.\n * @final\n */\n isValidOwner: function (object) {\n return !!(object && typeof object.attachRef === 'function' && typeof object.detachRef === 'function');\n },\n\n /**\n * Adds a component by ref to an owner component.\n *\n * @param {ReactComponent} component Component to reference.\n * @param {string} ref Name by which to refer to the component.\n * @param {ReactOwner} owner Component on which to record the ref.\n * @final\n * @internal\n */\n addComponentAsRefTo: function (component, ref, owner) {\n !ReactOwner.isValidOwner(owner) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'addComponentAsRefTo(...): Only a ReactOwner can have refs. You might ' + 'be adding a ref to a component that was not created inside a component\\'s ' + '`render` method, or you have multiple copies of React loaded ' + '(details: https://fb.me/react-refs-must-have-owner).') : invariant(false) : undefined;\n owner.attachRef(ref, component);\n },\n\n /**\n * Removes a component by ref from an owner component.\n *\n * @param {ReactComponent} component Component to dereference.\n * @param {string} ref Name of the ref to remove.\n * @param {ReactOwner} owner Component on which the ref is recorded.\n * @final\n * @internal\n */\n removeComponentAsRefFrom: function (component, ref, owner) {\n !ReactOwner.isValidOwner(owner) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'removeComponentAsRefFrom(...): Only a ReactOwner can have refs. You might ' + 'be removing a ref to a component that was not created inside a component\\'s ' + '`render` method, or you have multiple copies of React loaded ' + '(details: https://fb.me/react-refs-must-have-owner).') : invariant(false) : undefined;\n // Check that `component` is still the current ref because we do not want to\n // detach the ref if another component stole it.\n if (owner.getPublicInstance().refs[ref] === component.getPublicInstance()) {\n owner.detachRef(ref);\n }\n }\n\n};\n\nmodule.exports = ReactOwner;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/ReactOwner.js\n **/","/**\n * Copyright 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 * @providesModule ReactUpdateQueue\n */\n\n'use strict';\n\nvar ReactCurrentOwner = require('./ReactCurrentOwner');\nvar ReactElement = require('./ReactElement');\nvar ReactInstanceMap = require('./ReactInstanceMap');\nvar ReactUpdates = require('./ReactUpdates');\n\nvar assign = require('./Object.assign');\nvar invariant = require('fbjs/lib/invariant');\nvar warning = require('fbjs/lib/warning');\n\nfunction enqueueUpdate(internalInstance) {\n ReactUpdates.enqueueUpdate(internalInstance);\n}\n\nfunction getInternalInstanceReadyForUpdate(publicInstance, callerName) {\n var internalInstance = ReactInstanceMap.get(publicInstance);\n if (!internalInstance) {\n if (process.env.NODE_ENV !== 'production') {\n // Only warn when we have a callerName. Otherwise we should be silent.\n // We're probably calling from enqueueCallback. We don't want to warn\n // there because we already warned for the corresponding lifecycle method.\n process.env.NODE_ENV !== 'production' ? warning(!callerName, '%s(...): Can only update a mounted or mounting component. ' + 'This usually means you called %s() on an unmounted component. ' + 'This is a no-op. Please check the code for the %s component.', callerName, callerName, publicInstance.constructor.displayName) : undefined;\n }\n return null;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== 'production' ? warning(ReactCurrentOwner.current == null, '%s(...): Cannot update during an existing state transition ' + '(such as within `render`). Render methods should be a pure function ' + 'of props and state.', callerName) : undefined;\n }\n\n return internalInstance;\n}\n\n/**\n * ReactUpdateQueue allows for state updates to be scheduled into a later\n * reconciliation step.\n */\nvar ReactUpdateQueue = {\n\n /**\n * Checks whether or not this composite component is mounted.\n * @param {ReactClass} publicInstance The instance we want to test.\n * @return {boolean} True if mounted, false otherwise.\n * @protected\n * @final\n */\n isMounted: function (publicInstance) {\n if (process.env.NODE_ENV !== 'production') {\n var owner = ReactCurrentOwner.current;\n if (owner !== null) {\n process.env.NODE_ENV !== 'production' ? warning(owner._warnedAboutRefsInRender, '%s is accessing isMounted inside its render() function. ' + 'render() should be a pure function of props and state. It should ' + 'never access something that requires stale data from the previous ' + 'render, such as refs. Move this logic to componentDidMount and ' + 'componentDidUpdate instead.', owner.getName() || 'A component') : undefined;\n owner._warnedAboutRefsInRender = true;\n }\n }\n var internalInstance = ReactInstanceMap.get(publicInstance);\n if (internalInstance) {\n // During componentWillMount and render this will still be null but after\n // that will always render to something. At least for now. So we can use\n // this hack.\n return !!internalInstance._renderedComponent;\n } else {\n return false;\n }\n },\n\n /**\n * Enqueue a callback that will be executed after all the pending updates\n * have processed.\n *\n * @param {ReactClass} publicInstance The instance to use as `this` context.\n * @param {?function} callback Called after state is updated.\n * @internal\n */\n enqueueCallback: function (publicInstance, callback) {\n !(typeof callback === 'function') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'enqueueCallback(...): You called `setProps`, `replaceProps`, ' + '`setState`, `replaceState`, or `forceUpdate` with a callback that ' + 'isn\\'t callable.') : invariant(false) : undefined;\n var internalInstance = getInternalInstanceReadyForUpdate(publicInstance);\n\n // Previously we would throw an error if we didn't have an internal\n // instance. Since we want to make it a no-op instead, we mirror the same\n // behavior we have in other enqueue* methods.\n // We also need to ignore callbacks in componentWillMount. See\n // enqueueUpdates.\n if (!internalInstance) {\n return null;\n }\n\n if (internalInstance._pendingCallbacks) {\n internalInstance._pendingCallbacks.push(callback);\n } else {\n internalInstance._pendingCallbacks = [callback];\n }\n // TODO: The callback here is ignored when setState is called from\n // componentWillMount. Either fix it or disallow doing so completely in\n // favor of getInitialState. Alternatively, we can disallow\n // componentWillMount during server-side rendering.\n enqueueUpdate(internalInstance);\n },\n\n enqueueCallbackInternal: function (internalInstance, callback) {\n !(typeof callback === 'function') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'enqueueCallback(...): You called `setProps`, `replaceProps`, ' + '`setState`, `replaceState`, or `forceUpdate` with a callback that ' + 'isn\\'t callable.') : invariant(false) : undefined;\n if (internalInstance._pendingCallbacks) {\n internalInstance._pendingCallbacks.push(callback);\n } else {\n internalInstance._pendingCallbacks = [callback];\n }\n enqueueUpdate(internalInstance);\n },\n\n /**\n * Forces an update. This should only be invoked when it is known with\n * certainty that we are **not** in a DOM transaction.\n *\n * You may want to call this when you know that some deeper aspect of the\n * component's state has changed but `setState` was not called.\n *\n * This will not invoke `shouldComponentUpdate`, but it will invoke\n * `componentWillUpdate` and `componentDidUpdate`.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @internal\n */\n enqueueForceUpdate: function (publicInstance) {\n var internalInstance = getInternalInstanceReadyForUpdate(publicInstance, 'forceUpdate');\n\n if (!internalInstance) {\n return;\n }\n\n internalInstance._pendingForceUpdate = true;\n\n enqueueUpdate(internalInstance);\n },\n\n /**\n * Replaces all of the state. Always use this or `setState` to mutate state.\n * You should treat `this.state` as immutable.\n *\n * There is no guarantee that `this.state` will be immediately updated, so\n * accessing `this.state` after calling this method may return the old value.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {object} completeState Next state.\n * @internal\n */\n enqueueReplaceState: function (publicInstance, completeState) {\n var internalInstance = getInternalInstanceReadyForUpdate(publicInstance, 'replaceState');\n\n if (!internalInstance) {\n return;\n }\n\n internalInstance._pendingStateQueue = [completeState];\n internalInstance._pendingReplaceState = true;\n\n enqueueUpdate(internalInstance);\n },\n\n /**\n * Sets a subset of the state. This only exists because _pendingState is\n * internal. This provides a merging strategy that is not available to deep\n * properties which is confusing. TODO: Expose pendingState or don't use it\n * during the merge.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {object} partialState Next partial state to be merged with state.\n * @internal\n */\n enqueueSetState: function (publicInstance, partialState) {\n var internalInstance = getInternalInstanceReadyForUpdate(publicInstance, 'setState');\n\n if (!internalInstance) {\n return;\n }\n\n var queue = internalInstance._pendingStateQueue || (internalInstance._pendingStateQueue = []);\n queue.push(partialState);\n\n enqueueUpdate(internalInstance);\n },\n\n /**\n * Sets a subset of the props.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {object} partialProps Subset of the next props.\n * @internal\n */\n enqueueSetProps: function (publicInstance, partialProps) {\n var internalInstance = getInternalInstanceReadyForUpdate(publicInstance, 'setProps');\n if (!internalInstance) {\n return;\n }\n ReactUpdateQueue.enqueueSetPropsInternal(internalInstance, partialProps);\n },\n\n enqueueSetPropsInternal: function (internalInstance, partialProps) {\n var topLevelWrapper = internalInstance._topLevelWrapper;\n !topLevelWrapper ? process.env.NODE_ENV !== 'production' ? invariant(false, 'setProps(...): You called `setProps` on a ' + 'component with a parent. This is an anti-pattern since props will ' + 'get reactively updated when rendered. Instead, change the owner\\'s ' + '`render` method to pass the correct value as props to the component ' + 'where it is created.') : invariant(false) : undefined;\n\n // Merge with the pending element if it exists, otherwise with existing\n // element props.\n var wrapElement = topLevelWrapper._pendingElement || topLevelWrapper._currentElement;\n var element = wrapElement.props;\n var props = assign({}, element.props, partialProps);\n topLevelWrapper._pendingElement = ReactElement.cloneAndReplaceProps(wrapElement, ReactElement.cloneAndReplaceProps(element, props));\n\n enqueueUpdate(topLevelWrapper);\n },\n\n /**\n * Replaces all of the props.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {object} props New props.\n * @internal\n */\n enqueueReplaceProps: function (publicInstance, props) {\n var internalInstance = getInternalInstanceReadyForUpdate(publicInstance, 'replaceProps');\n if (!internalInstance) {\n return;\n }\n ReactUpdateQueue.enqueueReplacePropsInternal(internalInstance, props);\n },\n\n enqueueReplacePropsInternal: function (internalInstance, props) {\n var topLevelWrapper = internalInstance._topLevelWrapper;\n !topLevelWrapper ? process.env.NODE_ENV !== 'production' ? invariant(false, 'replaceProps(...): You called `replaceProps` on a ' + 'component with a parent. This is an anti-pattern since props will ' + 'get reactively updated when rendered. Instead, change the owner\\'s ' + '`render` method to pass the correct value as props to the component ' + 'where it is created.') : invariant(false) : undefined;\n\n // Merge with the pending element if it exists, otherwise with existing\n // element props.\n var wrapElement = topLevelWrapper._pendingElement || topLevelWrapper._currentElement;\n var element = wrapElement.props;\n topLevelWrapper._pendingElement = ReactElement.cloneAndReplaceProps(wrapElement, ReactElement.cloneAndReplaceProps(element, props));\n\n enqueueUpdate(topLevelWrapper);\n },\n\n enqueueElementInternal: function (internalInstance, newElement) {\n internalInstance._pendingElement = newElement;\n enqueueUpdate(internalInstance);\n }\n\n};\n\nmodule.exports = ReactUpdateQueue;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/ReactUpdateQueue.js\n **/","/**\n * Copyright 2013-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 * @providesModule ReactUpdates\n */\n\n'use strict';\n\nvar CallbackQueue = require('./CallbackQueue');\nvar PooledClass = require('./PooledClass');\nvar ReactPerf = require('./ReactPerf');\nvar ReactReconciler = require('./ReactReconciler');\nvar Transaction = require('./Transaction');\n\nvar assign = require('./Object.assign');\nvar invariant = require('fbjs/lib/invariant');\n\nvar dirtyComponents = [];\nvar asapCallbackQueue = CallbackQueue.getPooled();\nvar asapEnqueued = false;\n\nvar batchingStrategy = null;\n\nfunction ensureInjected() {\n !(ReactUpdates.ReactReconcileTransaction && batchingStrategy) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates: must inject a reconcile transaction class and batching ' + 'strategy') : invariant(false) : undefined;\n}\n\nvar NESTED_UPDATES = {\n initialize: function () {\n this.dirtyComponentsLength = dirtyComponents.length;\n },\n close: function () {\n if (this.dirtyComponentsLength !== dirtyComponents.length) {\n // Additional updates were enqueued by componentDidUpdate handlers or\n // similar; before our own UPDATE_QUEUEING wrapper closes, we want to run\n // these new updates so that if A's componentDidUpdate calls setState on\n // B, B will update before the callback A's updater provided when calling\n // setState.\n dirtyComponents.splice(0, this.dirtyComponentsLength);\n flushBatchedUpdates();\n } else {\n dirtyComponents.length = 0;\n }\n }\n};\n\nvar UPDATE_QUEUEING = {\n initialize: function () {\n this.callbackQueue.reset();\n },\n close: function () {\n this.callbackQueue.notifyAll();\n }\n};\n\nvar TRANSACTION_WRAPPERS = [NESTED_UPDATES, UPDATE_QUEUEING];\n\nfunction ReactUpdatesFlushTransaction() {\n this.reinitializeTransaction();\n this.dirtyComponentsLength = null;\n this.callbackQueue = CallbackQueue.getPooled();\n this.reconcileTransaction = ReactUpdates.ReactReconcileTransaction.getPooled( /* forceHTML */false);\n}\n\nassign(ReactUpdatesFlushTransaction.prototype, Transaction.Mixin, {\n getTransactionWrappers: function () {\n return TRANSACTION_WRAPPERS;\n },\n\n destructor: function () {\n this.dirtyComponentsLength = null;\n CallbackQueue.release(this.callbackQueue);\n this.callbackQueue = null;\n ReactUpdates.ReactReconcileTransaction.release(this.reconcileTransaction);\n this.reconcileTransaction = null;\n },\n\n perform: function (method, scope, a) {\n // Essentially calls `this.reconcileTransaction.perform(method, scope, a)`\n // with this transaction's wrappers around it.\n return Transaction.Mixin.perform.call(this, this.reconcileTransaction.perform, this.reconcileTransaction, method, scope, a);\n }\n});\n\nPooledClass.addPoolingTo(ReactUpdatesFlushTransaction);\n\nfunction batchedUpdates(callback, a, b, c, d, e) {\n ensureInjected();\n batchingStrategy.batchedUpdates(callback, a, b, c, d, e);\n}\n\n/**\n * Array comparator for ReactComponents by mount ordering.\n *\n * @param {ReactComponent} c1 first component you're comparing\n * @param {ReactComponent} c2 second component you're comparing\n * @return {number} Return value usable by Array.prototype.sort().\n */\nfunction mountOrderComparator(c1, c2) {\n return c1._mountOrder - c2._mountOrder;\n}\n\nfunction runBatchedUpdates(transaction) {\n var len = transaction.dirtyComponentsLength;\n !(len === dirtyComponents.length) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Expected flush transaction\\'s stored dirty-components length (%s) to ' + 'match dirty-components array length (%s).', len, dirtyComponents.length) : invariant(false) : undefined;\n\n // Since reconciling a component higher in the owner hierarchy usually (not\n // always -- see shouldComponentUpdate()) will reconcile children, reconcile\n // them before their children by sorting the array.\n dirtyComponents.sort(mountOrderComparator);\n\n for (var i = 0; i < len; i++) {\n // If a component is unmounted before pending changes apply, it will still\n // be here, but we assume that it has cleared its _pendingCallbacks and\n // that performUpdateIfNecessary is a noop.\n var component = dirtyComponents[i];\n\n // If performUpdateIfNecessary happens to enqueue any new updates, we\n // shouldn't execute the callbacks until the next render happens, so\n // stash the callbacks first\n var callbacks = component._pendingCallbacks;\n component._pendingCallbacks = null;\n\n ReactReconciler.performUpdateIfNecessary(component, transaction.reconcileTransaction);\n\n if (callbacks) {\n for (var j = 0; j < callbacks.length; j++) {\n transaction.callbackQueue.enqueue(callbacks[j], component.getPublicInstance());\n }\n }\n }\n}\n\nvar flushBatchedUpdates = function () {\n // ReactUpdatesFlushTransaction's wrappers will clear the dirtyComponents\n // array and perform any updates enqueued by mount-ready handlers (i.e.,\n // componentDidUpdate) but we need to check here too in order to catch\n // updates enqueued by setState callbacks and asap calls.\n while (dirtyComponents.length || asapEnqueued) {\n if (dirtyComponents.length) {\n var transaction = ReactUpdatesFlushTransaction.getPooled();\n transaction.perform(runBatchedUpdates, null, transaction);\n ReactUpdatesFlushTransaction.release(transaction);\n }\n\n if (asapEnqueued) {\n asapEnqueued = false;\n var queue = asapCallbackQueue;\n asapCallbackQueue = CallbackQueue.getPooled();\n queue.notifyAll();\n CallbackQueue.release(queue);\n }\n }\n};\nflushBatchedUpdates = ReactPerf.measure('ReactUpdates', 'flushBatchedUpdates', flushBatchedUpdates);\n\n/**\n * Mark a component as needing a rerender, adding an optional callback to a\n * list of functions which will be executed once the rerender occurs.\n */\nfunction enqueueUpdate(component) {\n ensureInjected();\n\n // Various parts of our code (such as ReactCompositeComponent's\n // _renderValidatedComponent) assume that calls to render aren't nested;\n // verify that that's the case. (This is called by each top-level update\n // function, like setProps, setState, forceUpdate, etc.; creation and\n // destruction of top-level components is guarded in ReactMount.)\n\n if (!batchingStrategy.isBatchingUpdates) {\n batchingStrategy.batchedUpdates(enqueueUpdate, component);\n return;\n }\n\n dirtyComponents.push(component);\n}\n\n/**\n * Enqueue a callback to be run at the end of the current batching cycle. Throws\n * if no updates are currently being performed.\n */\nfunction asap(callback, context) {\n !batchingStrategy.isBatchingUpdates ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates.asap: Can\\'t enqueue an asap callback in a context where' + 'updates are not being batched.') : invariant(false) : undefined;\n asapCallbackQueue.enqueue(callback, context);\n asapEnqueued = true;\n}\n\nvar ReactUpdatesInjection = {\n injectReconcileTransaction: function (ReconcileTransaction) {\n !ReconcileTransaction ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates: must provide a reconcile transaction class') : invariant(false) : undefined;\n ReactUpdates.ReactReconcileTransaction = ReconcileTransaction;\n },\n\n injectBatchingStrategy: function (_batchingStrategy) {\n !_batchingStrategy ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates: must provide a batching strategy') : invariant(false) : undefined;\n !(typeof _batchingStrategy.batchedUpdates === 'function') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates: must provide a batchedUpdates() function') : invariant(false) : undefined;\n !(typeof _batchingStrategy.isBatchingUpdates === 'boolean') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates: must provide an isBatchingUpdates boolean attribute') : invariant(false) : undefined;\n batchingStrategy = _batchingStrategy;\n }\n};\n\nvar ReactUpdates = {\n /**\n * React references `ReactReconcileTransaction` using this property in order\n * to allow dependency injection.\n *\n * @internal\n */\n ReactReconcileTransaction: null,\n\n batchedUpdates: batchedUpdates,\n enqueueUpdate: enqueueUpdate,\n flushBatchedUpdates: flushBatchedUpdates,\n injection: ReactUpdatesInjection,\n asap: asap\n};\n\nmodule.exports = ReactUpdates;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/ReactUpdates.js\n **/","/**\n * Copyright 2013-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 * @providesModule CallbackQueue\n */\n\n'use strict';\n\nvar PooledClass = require('./PooledClass');\n\nvar assign = require('./Object.assign');\nvar invariant = require('fbjs/lib/invariant');\n\n/**\n * A specialized pseudo-event module to help keep track of components waiting to\n * be notified when their DOM representations are available for use.\n *\n * This implements `PooledClass`, so you should never need to instantiate this.\n * Instead, use `CallbackQueue.getPooled()`.\n *\n * @class ReactMountReady\n * @implements PooledClass\n * @internal\n */\nfunction CallbackQueue() {\n this._callbacks = null;\n this._contexts = null;\n}\n\nassign(CallbackQueue.prototype, {\n\n /**\n * Enqueues a callback to be invoked when `notifyAll` is invoked.\n *\n * @param {function} callback Invoked when `notifyAll` is invoked.\n * @param {?object} context Context to call `callback` with.\n * @internal\n */\n enqueue: function (callback, context) {\n this._callbacks = this._callbacks || [];\n this._contexts = this._contexts || [];\n this._callbacks.push(callback);\n this._contexts.push(context);\n },\n\n /**\n * Invokes all enqueued callbacks and clears the queue. This is invoked after\n * the DOM representation of a component has been created or updated.\n *\n * @internal\n */\n notifyAll: function () {\n var callbacks = this._callbacks;\n var contexts = this._contexts;\n if (callbacks) {\n !(callbacks.length === contexts.length) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Mismatched list of contexts in callback queue') : invariant(false) : undefined;\n this._callbacks = null;\n this._contexts = null;\n for (var i = 0; i < callbacks.length; i++) {\n callbacks[i].call(contexts[i]);\n }\n callbacks.length = 0;\n contexts.length = 0;\n }\n },\n\n /**\n * Resets the internal queue.\n *\n * @internal\n */\n reset: function () {\n this._callbacks = null;\n this._contexts = null;\n },\n\n /**\n * `PooledClass` looks for this.\n */\n destructor: function () {\n this.reset();\n }\n\n});\n\nPooledClass.addPoolingTo(CallbackQueue);\n\nmodule.exports = CallbackQueue;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/CallbackQueue.js\n **/","/**\n * Copyright 2013-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 * @providesModule PooledClass\n */\n\n'use strict';\n\nvar invariant = require('fbjs/lib/invariant');\n\n/**\n * Static poolers. Several custom versions for each potential number of\n * arguments. A completely generic pooler is easy to implement, but would\n * require accessing the `arguments` object. In each of these, `this` refers to\n * the Class itself, not an instance. If any others are needed, simply add them\n * here, or in their own files.\n */\nvar oneArgumentPooler = function (copyFieldsFrom) {\n var Klass = this;\n if (Klass.instancePool.length) {\n var instance = Klass.instancePool.pop();\n Klass.call(instance, copyFieldsFrom);\n return instance;\n } else {\n return new Klass(copyFieldsFrom);\n }\n};\n\nvar twoArgumentPooler = function (a1, a2) {\n var Klass = this;\n if (Klass.instancePool.length) {\n var instance = Klass.instancePool.pop();\n Klass.call(instance, a1, a2);\n return instance;\n } else {\n return new Klass(a1, a2);\n }\n};\n\nvar threeArgumentPooler = function (a1, a2, a3) {\n var Klass = this;\n if (Klass.instancePool.length) {\n var instance = Klass.instancePool.pop();\n Klass.call(instance, a1, a2, a3);\n return instance;\n } else {\n return new Klass(a1, a2, a3);\n }\n};\n\nvar fourArgumentPooler = function (a1, a2, a3, a4) {\n var Klass = this;\n if (Klass.instancePool.length) {\n var instance = Klass.instancePool.pop();\n Klass.call(instance, a1, a2, a3, a4);\n return instance;\n } else {\n return new Klass(a1, a2, a3, a4);\n }\n};\n\nvar fiveArgumentPooler = function (a1, a2, a3, a4, a5) {\n var Klass = this;\n if (Klass.instancePool.length) {\n var instance = Klass.instancePool.pop();\n Klass.call(instance, a1, a2, a3, a4, a5);\n return instance;\n } else {\n return new Klass(a1, a2, a3, a4, a5);\n }\n};\n\nvar standardReleaser = function (instance) {\n var Klass = this;\n !(instance instanceof Klass) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Trying to release an instance into a pool of a different type.') : invariant(false) : undefined;\n instance.destructor();\n if (Klass.instancePool.length < Klass.poolSize) {\n Klass.instancePool.push(instance);\n }\n};\n\nvar DEFAULT_POOL_SIZE = 10;\nvar DEFAULT_POOLER = oneArgumentPooler;\n\n/**\n * Augments `CopyConstructor` to be a poolable class, augmenting only the class\n * itself (statically) not adding any prototypical fields. Any CopyConstructor\n * you give this may have a `poolSize` property, and will look for a\n * prototypical `destructor` on instances (optional).\n *\n * @param {Function} CopyConstructor Constructor that can be used to reset.\n * @param {Function} pooler Customizable pooler.\n */\nvar addPoolingTo = function (CopyConstructor, pooler) {\n var NewKlass = CopyConstructor;\n NewKlass.instancePool = [];\n NewKlass.getPooled = pooler || DEFAULT_POOLER;\n if (!NewKlass.poolSize) {\n NewKlass.poolSize = DEFAULT_POOL_SIZE;\n }\n NewKlass.release = standardReleaser;\n return NewKlass;\n};\n\nvar PooledClass = {\n addPoolingTo: addPoolingTo,\n oneArgumentPooler: oneArgumentPooler,\n twoArgumentPooler: twoArgumentPooler,\n threeArgumentPooler: threeArgumentPooler,\n fourArgumentPooler: fourArgumentPooler,\n fiveArgumentPooler: fiveArgumentPooler\n};\n\nmodule.exports = PooledClass;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/PooledClass.js\n **/","/**\n * Copyright 2013-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 * @providesModule Transaction\n */\n\n'use strict';\n\nvar invariant = require('fbjs/lib/invariant');\n\n/**\n * `Transaction` creates a black box that is able to wrap any method such that\n * certain invariants are maintained before and after the method is invoked\n * (Even if an exception is thrown while invoking the wrapped method). Whoever\n * instantiates a transaction can provide enforcers of the invariants at\n * creation time. The `Transaction` class itself will supply one additional\n * automatic invariant for you - the invariant that any transaction instance\n * should not be run while it is already being run. You would typically create a\n * single instance of a `Transaction` for reuse multiple times, that potentially\n * is used to wrap several different methods. Wrappers are extremely simple -\n * they only require implementing two methods.\n *\n * <pre>\n * wrappers (injected at creation time)\n * + +\n * | |\n * +-----------------|--------|--------------+\n * | v | |\n * | +---------------+ | |\n * | +--| wrapper1 |---|----+ |\n * | | +---------------+ v | |\n * | | +-------------+ | |\n * | | +----| wrapper2 |--------+ |\n * | | | +-------------+ | | |\n * | | | | | |\n * | v v v v | wrapper\n * | +---+ +---+ +---------+ +---+ +---+ | invariants\n * perform(anyMethod) | | | | | | | | | | | | maintained\n * +----------------->|-|---|-|---|-->|anyMethod|---|---|-|---|-|-------->\n * | | | | | | | | | | | |\n * | | | | | | | | | | | |\n * | | | | | | | | | | | |\n * | +---+ +---+ +---------+ +---+ +---+ |\n * | initialize close |\n * +-----------------------------------------+\n * </pre>\n *\n * Use cases:\n * - Preserving the input selection ranges before/after reconciliation.\n * Restoring selection even in the event of an unexpected error.\n * - Deactivating events while rearranging the DOM, preventing blurs/focuses,\n * while guaranteeing that afterwards, the event system is reactivated.\n * - Flushing a queue of collected DOM mutations to the main UI thread after a\n * reconciliation takes place in a worker thread.\n * - Invoking any collected `componentDidUpdate` callbacks after rendering new\n * content.\n * - (Future use case): Wrapping particular flushes of the `ReactWorker` queue\n * to preserve the `scrollTop` (an automatic scroll aware DOM).\n * - (Future use case): Layout calculations before and after DOM updates.\n *\n * Transactional plugin API:\n * - A module that has an `initialize` method that returns any precomputation.\n * - and a `close` method that accepts the precomputation. `close` is invoked\n * when the wrapped process is completed, or has failed.\n *\n * @param {Array<TransactionalWrapper>} transactionWrapper Wrapper modules\n * that implement `initialize` and `close`.\n * @return {Transaction} Single transaction for reuse in thread.\n *\n * @class Transaction\n */\nvar Mixin = {\n /**\n * Sets up this instance so that it is prepared for collecting metrics. Does\n * so such that this setup method may be used on an instance that is already\n * initialized, in a way that does not consume additional memory upon reuse.\n * That can be useful if you decide to make your subclass of this mixin a\n * \"PooledClass\".\n */\n reinitializeTransaction: function () {\n this.transactionWrappers = this.getTransactionWrappers();\n if (this.wrapperInitData) {\n this.wrapperInitData.length = 0;\n } else {\n this.wrapperInitData = [];\n }\n this._isInTransaction = false;\n },\n\n _isInTransaction: false,\n\n /**\n * @abstract\n * @return {Array<TransactionWrapper>} Array of transaction wrappers.\n */\n getTransactionWrappers: null,\n\n isInTransaction: function () {\n return !!this._isInTransaction;\n },\n\n /**\n * Executes the function within a safety window. Use this for the top level\n * methods that result in large amounts of computation/mutations that would\n * need to be safety checked. The optional arguments helps prevent the need\n * to bind in many cases.\n *\n * @param {function} method Member of scope to call.\n * @param {Object} scope Scope to invoke from.\n * @param {Object?=} a Argument to pass to the method.\n * @param {Object?=} b Argument to pass to the method.\n * @param {Object?=} c Argument to pass to the method.\n * @param {Object?=} d Argument to pass to the method.\n * @param {Object?=} e Argument to pass to the method.\n * @param {Object?=} f Argument to pass to the method.\n *\n * @return {*} Return value from `method`.\n */\n perform: function (method, scope, a, b, c, d, e, f) {\n !!this.isInTransaction() ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Transaction.perform(...): Cannot initialize a transaction when there ' + 'is already an outstanding transaction.') : invariant(false) : undefined;\n var errorThrown;\n var ret;\n try {\n this._isInTransaction = true;\n // Catching errors makes debugging more difficult, so we start with\n // errorThrown set to true before setting it to false after calling\n // close -- if it's still set to true in the finally block, it means\n // one of these calls threw.\n errorThrown = true;\n this.initializeAll(0);\n ret = method.call(scope, a, b, c, d, e, f);\n errorThrown = false;\n } finally {\n try {\n if (errorThrown) {\n // If `method` throws, prefer to show that stack trace over any thrown\n // by invoking `closeAll`.\n try {\n this.closeAll(0);\n } catch (err) {}\n } else {\n // Since `method` didn't throw, we don't want to silence the exception\n // here.\n this.closeAll(0);\n }\n } finally {\n this._isInTransaction = false;\n }\n }\n return ret;\n },\n\n initializeAll: function (startIndex) {\n var transactionWrappers = this.transactionWrappers;\n for (var i = startIndex; i < transactionWrappers.length; i++) {\n var wrapper = transactionWrappers[i];\n try {\n // Catching errors makes debugging more difficult, so we start with the\n // OBSERVED_ERROR state before overwriting it with the real return value\n // of initialize -- if it's still set to OBSERVED_ERROR in the finally\n // block, it means wrapper.initialize threw.\n this.wrapperInitData[i] = Transaction.OBSERVED_ERROR;\n this.wrapperInitData[i] = wrapper.initialize ? wrapper.initialize.call(this) : null;\n } finally {\n if (this.wrapperInitData[i] === Transaction.OBSERVED_ERROR) {\n // The initializer for wrapper i threw an error; initialize the\n // remaining wrappers but silence any exceptions from them to ensure\n // that the first error is the one to bubble up.\n try {\n this.initializeAll(i + 1);\n } catch (err) {}\n }\n }\n }\n },\n\n /**\n * Invokes each of `this.transactionWrappers.close[i]` functions, passing into\n * them the respective return values of `this.transactionWrappers.init[i]`\n * (`close`rs that correspond to initializers that failed will not be\n * invoked).\n */\n closeAll: function (startIndex) {\n !this.isInTransaction() ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Transaction.closeAll(): Cannot close transaction when none are open.') : invariant(false) : undefined;\n var transactionWrappers = this.transactionWrappers;\n for (var i = startIndex; i < transactionWrappers.length; i++) {\n var wrapper = transactionWrappers[i];\n var initData = this.wrapperInitData[i];\n var errorThrown;\n try {\n // Catching errors makes debugging more difficult, so we start with\n // errorThrown set to true before setting it to false after calling\n // close -- if it's still set to true in the finally block, it means\n // wrapper.close threw.\n errorThrown = true;\n if (initData !== Transaction.OBSERVED_ERROR && wrapper.close) {\n wrapper.close.call(this, initData);\n }\n errorThrown = false;\n } finally {\n if (errorThrown) {\n // The closer for wrapper i threw an error; close the remaining\n // wrappers but silence any exceptions from them to ensure that the\n // first error is the one to bubble up.\n try {\n this.closeAll(i + 1);\n } catch (e) {}\n }\n }\n }\n this.wrapperInitData.length = 0;\n }\n};\n\nvar Transaction = {\n\n Mixin: Mixin,\n\n /**\n * Token to look for to determine if an error occurred.\n */\n OBSERVED_ERROR: {}\n\n};\n\nmodule.exports = Transaction;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/Transaction.js\n **/","/**\n * Copyright 2013-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 * @providesModule emptyObject\n */\n\n'use strict';\n\nvar emptyObject = {};\n\nif (process.env.NODE_ENV !== 'production') {\n Object.freeze(emptyObject);\n}\n\nmodule.exports = emptyObject;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/~/fbjs/lib/emptyObject.js\n **/","/**\n * Copyright 2013-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 * @providesModule containsNode\n * @typechecks\n */\n\n'use strict';\n\nvar isTextNode = require('./isTextNode');\n\n/*eslint-disable no-bitwise */\n\n/**\n * Checks if a given DOM node contains or is another DOM node.\n *\n * @param {?DOMNode} outerNode Outer DOM node.\n * @param {?DOMNode} innerNode Inner DOM node.\n * @return {boolean} True if `outerNode` contains or is `innerNode`.\n */\nfunction containsNode(_x, _x2) {\n var _again = true;\n\n _function: while (_again) {\n var outerNode = _x,\n innerNode = _x2;\n _again = false;\n\n if (!outerNode || !innerNode) {\n return false;\n } else if (outerNode === innerNode) {\n return true;\n } else if (isTextNode(outerNode)) {\n return false;\n } else if (isTextNode(innerNode)) {\n _x = outerNode;\n _x2 = innerNode.parentNode;\n _again = true;\n continue _function;\n } else if (outerNode.contains) {\n return outerNode.contains(innerNode);\n } else if (outerNode.compareDocumentPosition) {\n return !!(outerNode.compareDocumentPosition(innerNode) & 16);\n } else {\n return false;\n }\n }\n}\n\nmodule.exports = containsNode;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/~/fbjs/lib/containsNode.js\n **/","/**\n * Copyright 2013-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 * @providesModule isTextNode\n * @typechecks\n */\n\n'use strict';\n\nvar isNode = require('./isNode');\n\n/**\n * @param {*} object The object to check.\n * @return {boolean} Whether or not the object is a DOM text node.\n */\nfunction isTextNode(object) {\n return isNode(object) && object.nodeType == 3;\n}\n\nmodule.exports = isTextNode;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/~/fbjs/lib/isTextNode.js\n **/","/**\n * Copyright 2013-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 * @providesModule isNode\n * @typechecks\n */\n\n/**\n * @param {*} object The object to check.\n * @return {boolean} Whether or not the object is a DOM node.\n */\n'use strict';\n\nfunction isNode(object) {\n return !!(object && (typeof Node === 'function' ? object instanceof Node : typeof object === 'object' && typeof object.nodeType === 'number' && typeof object.nodeName === 'string'));\n}\n\nmodule.exports = isNode;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/~/fbjs/lib/isNode.js\n **/","/**\n * Copyright 2013-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 * @providesModule instantiateReactComponent\n * @typechecks static-only\n */\n\n'use strict';\n\nvar ReactCompositeComponent = require('./ReactCompositeComponent');\nvar ReactEmptyComponent = require('./ReactEmptyComponent');\nvar ReactNativeComponent = require('./ReactNativeComponent');\n\nvar assign = require('./Object.assign');\nvar invariant = require('fbjs/lib/invariant');\nvar warning = require('fbjs/lib/warning');\n\n// To avoid a cyclic dependency, we create the final class in this module\nvar ReactCompositeComponentWrapper = function () {};\nassign(ReactCompositeComponentWrapper.prototype, ReactCompositeComponent.Mixin, {\n _instantiateReactComponent: instantiateReactComponent\n});\n\nfunction getDeclarationErrorAddendum(owner) {\n if (owner) {\n var name = owner.getName();\n if (name) {\n return ' Check the render method of `' + name + '`.';\n }\n }\n return '';\n}\n\n/**\n * Check if the type reference is a known internal type. I.e. not a user\n * provided composite type.\n *\n * @param {function} type\n * @return {boolean} Returns true if this is a valid internal type.\n */\nfunction isInternalComponentType(type) {\n return typeof type === 'function' && typeof type.prototype !== 'undefined' && typeof type.prototype.mountComponent === 'function' && typeof type.prototype.receiveComponent === 'function';\n}\n\n/**\n * Given a ReactNode, create an instance that will actually be mounted.\n *\n * @param {ReactNode} node\n * @return {object} A new instance of the element's constructor.\n * @protected\n */\nfunction instantiateReactComponent(node) {\n var instance;\n\n if (node === null || node === false) {\n instance = new ReactEmptyComponent(instantiateReactComponent);\n } else if (typeof node === 'object') {\n var element = node;\n !(element && (typeof element.type === 'function' || typeof element.type === 'string')) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Element type is invalid: expected a string (for built-in components) ' + 'or a class/function (for composite components) but got: %s.%s', element.type == null ? element.type : typeof element.type, getDeclarationErrorAddendum(element._owner)) : invariant(false) : undefined;\n\n // Special case string values\n if (typeof element.type === 'string') {\n instance = ReactNativeComponent.createInternalComponent(element);\n } else if (isInternalComponentType(element.type)) {\n // This is temporarily available for custom components that are not string\n // representations. I.e. ART. Once those are updated to use the string\n // representation, we can drop this code path.\n instance = new element.type(element);\n } else {\n instance = new ReactCompositeComponentWrapper();\n }\n } else if (typeof node === 'string' || typeof node === 'number') {\n instance = ReactNativeComponent.createInstanceForText(node);\n } else {\n !false ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Encountered invalid React node of type %s', typeof node) : invariant(false) : undefined;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== 'production' ? warning(typeof instance.construct === 'function' && typeof instance.mountComponent === 'function' && typeof instance.receiveComponent === 'function' && typeof instance.unmountComponent === 'function', 'Only React Components can be mounted.') : undefined;\n }\n\n // Sets up the instance. This can probably just move into the constructor now.\n instance.construct(node);\n\n // These two fields are used by the DOM and ART diffing algorithms\n // respectively. Instead of using expandos on components, we should be\n // storing the state needed by the diffing algorithms elsewhere.\n instance._mountIndex = 0;\n instance._mountImage = null;\n\n if (process.env.NODE_ENV !== 'production') {\n instance._isOwnerNecessary = false;\n instance._warnedAboutRefsInRender = false;\n }\n\n // Internal instances should fully constructed at this point, so they should\n // not get any new fields added to them at this point.\n if (process.env.NODE_ENV !== 'production') {\n if (Object.preventExtensions) {\n Object.preventExtensions(instance);\n }\n }\n\n return instance;\n}\n\nmodule.exports = instantiateReactComponent;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/instantiateReactComponent.js\n **/","/**\n * Copyright 2013-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 * @providesModule ReactCompositeComponent\n */\n\n'use strict';\n\nvar ReactComponentEnvironment = require('./ReactComponentEnvironment');\nvar ReactCurrentOwner = require('./ReactCurrentOwner');\nvar ReactElement = require('./ReactElement');\nvar ReactInstanceMap = require('./ReactInstanceMap');\nvar ReactPerf = require('./ReactPerf');\nvar ReactPropTypeLocations = require('./ReactPropTypeLocations');\nvar ReactPropTypeLocationNames = require('./ReactPropTypeLocationNames');\nvar ReactReconciler = require('./ReactReconciler');\nvar ReactUpdateQueue = require('./ReactUpdateQueue');\n\nvar assign = require('./Object.assign');\nvar emptyObject = require('fbjs/lib/emptyObject');\nvar invariant = require('fbjs/lib/invariant');\nvar shouldUpdateReactComponent = require('./shouldUpdateReactComponent');\nvar warning = require('fbjs/lib/warning');\n\nfunction getDeclarationErrorAddendum(component) {\n var owner = component._currentElement._owner || null;\n if (owner) {\n var name = owner.getName();\n if (name) {\n return ' Check the render method of `' + name + '`.';\n }\n }\n return '';\n}\n\nfunction StatelessComponent(Component) {}\nStatelessComponent.prototype.render = function () {\n var Component = ReactInstanceMap.get(this)._currentElement.type;\n return Component(this.props, this.context, this.updater);\n};\n\n/**\n * ------------------ The Life-Cycle of a Composite Component ------------------\n *\n * - constructor: Initialization of state. The instance is now retained.\n * - componentWillMount\n * - render\n * - [children's constructors]\n * - [children's componentWillMount and render]\n * - [children's componentDidMount]\n * - componentDidMount\n *\n * Update Phases:\n * - componentWillReceiveProps (only called if parent updated)\n * - shouldComponentUpdate\n * - componentWillUpdate\n * - render\n * - [children's constructors or receive props phases]\n * - componentDidUpdate\n *\n * - componentWillUnmount\n * - [children's componentWillUnmount]\n * - [children destroyed]\n * - (destroyed): The instance is now blank, released by React and ready for GC.\n *\n * -----------------------------------------------------------------------------\n */\n\n/**\n * An incrementing ID assigned to each component when it is mounted. This is\n * used to enforce the order in which `ReactUpdates` updates dirty components.\n *\n * @private\n */\nvar nextMountID = 1;\n\n/**\n * @lends {ReactCompositeComponent.prototype}\n */\nvar ReactCompositeComponentMixin = {\n\n /**\n * Base constructor for all composite component.\n *\n * @param {ReactElement} element\n * @final\n * @internal\n */\n construct: function (element) {\n this._currentElement = element;\n this._rootNodeID = null;\n this._instance = null;\n\n // See ReactUpdateQueue\n this._pendingElement = null;\n this._pendingStateQueue = null;\n this._pendingReplaceState = false;\n this._pendingForceUpdate = false;\n\n this._renderedComponent = null;\n\n this._context = null;\n this._mountOrder = 0;\n this._topLevelWrapper = null;\n\n // See ReactUpdates and ReactUpdateQueue.\n this._pendingCallbacks = null;\n },\n\n /**\n * Initializes the component, renders markup, and registers event listeners.\n *\n * @param {string} rootID DOM ID of the root node.\n * @param {ReactReconcileTransaction|ReactServerRenderingTransaction} transaction\n * @return {?string} Rendered markup to be inserted into the DOM.\n * @final\n * @internal\n */\n mountComponent: function (rootID, transaction, context) {\n this._context = context;\n this._mountOrder = nextMountID++;\n this._rootNodeID = rootID;\n\n var publicProps = this._processProps(this._currentElement.props);\n var publicContext = this._processContext(context);\n\n var Component = this._currentElement.type;\n\n // Initialize the public class\n var inst;\n var renderedElement;\n\n // This is a way to detect if Component is a stateless arrow function\n // component, which is not newable. It might not be 100% reliable but is\n // something we can do until we start detecting that Component extends\n // React.Component. We already assume that typeof Component === 'function'.\n var canInstantiate = ('prototype' in Component);\n\n if (canInstantiate) {\n if (process.env.NODE_ENV !== 'production') {\n ReactCurrentOwner.current = this;\n try {\n inst = new Component(publicProps, publicContext, ReactUpdateQueue);\n } finally {\n ReactCurrentOwner.current = null;\n }\n } else {\n inst = new Component(publicProps, publicContext, ReactUpdateQueue);\n }\n }\n\n if (!canInstantiate || inst === null || inst === false || ReactElement.isValidElement(inst)) {\n renderedElement = inst;\n inst = new StatelessComponent(Component);\n }\n\n if (process.env.NODE_ENV !== 'production') {\n // This will throw later in _renderValidatedComponent, but add an early\n // warning now to help debugging\n if (inst.render == null) {\n process.env.NODE_ENV !== 'production' ? warning(false, '%s(...): No `render` method found on the returned component ' + 'instance: you may have forgotten to define `render`, returned ' + 'null/false from a stateless component, or tried to render an ' + 'element whose type is a function that isn\\'t a React component.', Component.displayName || Component.name || 'Component') : undefined;\n } else {\n // We support ES6 inheriting from React.Component, the module pattern,\n // and stateless components, but not ES6 classes that don't extend\n process.env.NODE_ENV !== 'production' ? warning(Component.prototype && Component.prototype.isReactComponent || !canInstantiate || !(inst instanceof Component), '%s(...): React component classes must extend React.Component.', Component.displayName || Component.name || 'Component') : undefined;\n }\n }\n\n // These should be set up in the constructor, but as a convenience for\n // simpler class abstractions, we set them up after the fact.\n inst.props = publicProps;\n inst.context = publicContext;\n inst.refs = emptyObject;\n inst.updater = ReactUpdateQueue;\n\n this._instance = inst;\n\n // Store a reference from the instance back to the internal representation\n ReactInstanceMap.set(inst, this);\n\n if (process.env.NODE_ENV !== 'production') {\n // Since plain JS classes are defined without any special initialization\n // logic, we can not catch common errors early. Therefore, we have to\n // catch them here, at initialization time, instead.\n process.env.NODE_ENV !== 'production' ? warning(!inst.getInitialState || inst.getInitialState.isReactClassApproved, 'getInitialState was defined on %s, a plain JavaScript class. ' + 'This is only supported for classes created using React.createClass. ' + 'Did you mean to define a state property instead?', this.getName() || 'a component') : undefined;\n process.env.NODE_ENV !== 'production' ? warning(!inst.getDefaultProps || inst.getDefaultProps.isReactClassApproved, 'getDefaultProps was defined on %s, a plain JavaScript class. ' + 'This is only supported for classes created using React.createClass. ' + 'Use a static property to define defaultProps instead.', this.getName() || 'a component') : undefined;\n process.env.NODE_ENV !== 'production' ? warning(!inst.propTypes, 'propTypes was defined as an instance property on %s. Use a static ' + 'property to define propTypes instead.', this.getName() || 'a component') : undefined;\n process.env.NODE_ENV !== 'production' ? warning(!inst.contextTypes, 'contextTypes was defined as an instance property on %s. Use a ' + 'static property to define contextTypes instead.', this.getName() || 'a component') : undefined;\n process.env.NODE_ENV !== 'production' ? warning(typeof inst.componentShouldUpdate !== 'function', '%s has a method called ' + 'componentShouldUpdate(). Did you mean shouldComponentUpdate()? ' + 'The name is phrased as a question because the function is ' + 'expected to return a value.', this.getName() || 'A component') : undefined;\n process.env.NODE_ENV !== 'production' ? warning(typeof inst.componentDidUnmount !== 'function', '%s has a method called ' + 'componentDidUnmount(). But there is no such lifecycle method. ' + 'Did you mean componentWillUnmount()?', this.getName() || 'A component') : undefined;\n process.env.NODE_ENV !== 'production' ? warning(typeof inst.componentWillRecieveProps !== 'function', '%s has a method called ' + 'componentWillRecieveProps(). Did you mean componentWillReceiveProps()?', this.getName() || 'A component') : undefined;\n }\n\n var initialState = inst.state;\n if (initialState === undefined) {\n inst.state = initialState = null;\n }\n !(typeof initialState === 'object' && !Array.isArray(initialState)) ? process.env.NODE_ENV !== 'production' ? invariant(false, '%s.state: must be set to an object or null', this.getName() || 'ReactCompositeComponent') : invariant(false) : undefined;\n\n this._pendingStateQueue = null;\n this._pendingReplaceState = false;\n this._pendingForceUpdate = false;\n\n if (inst.componentWillMount) {\n inst.componentWillMount();\n // When mounting, calls to `setState` by `componentWillMount` will set\n // `this._pendingStateQueue` without triggering a re-render.\n if (this._pendingStateQueue) {\n inst.state = this._processPendingState(inst.props, inst.context);\n }\n }\n\n // If not a stateless component, we now render\n if (renderedElement === undefined) {\n renderedElement = this._renderValidatedComponent();\n }\n\n this._renderedComponent = this._instantiateReactComponent(renderedElement);\n\n var markup = ReactReconciler.mountComponent(this._renderedComponent, rootID, transaction, this._processChildContext(context));\n if (inst.componentDidMount) {\n transaction.getReactMountReady().enqueue(inst.componentDidMount, inst);\n }\n\n return markup;\n },\n\n /**\n * Releases any resources allocated by `mountComponent`.\n *\n * @final\n * @internal\n */\n unmountComponent: function () {\n var inst = this._instance;\n\n if (inst.componentWillUnmount) {\n inst.componentWillUnmount();\n }\n\n ReactReconciler.unmountComponent(this._renderedComponent);\n this._renderedComponent = null;\n this._instance = null;\n\n // Reset pending fields\n // Even if this component is scheduled for another update in ReactUpdates,\n // it would still be ignored because these fields are reset.\n this._pendingStateQueue = null;\n this._pendingReplaceState = false;\n this._pendingForceUpdate = false;\n this._pendingCallbacks = null;\n this._pendingElement = null;\n\n // These fields do not really need to be reset since this object is no\n // longer accessible.\n this._context = null;\n this._rootNodeID = null;\n this._topLevelWrapper = null;\n\n // Delete the reference from the instance to this internal representation\n // which allow the internals to be properly cleaned up even if the user\n // leaks a reference to the public instance.\n ReactInstanceMap.remove(inst);\n\n // Some existing components rely on inst.props even after they've been\n // destroyed (in event handlers).\n // TODO: inst.props = null;\n // TODO: inst.state = null;\n // TODO: inst.context = null;\n },\n\n /**\n * Filters the context object to only contain keys specified in\n * `contextTypes`\n *\n * @param {object} context\n * @return {?object}\n * @private\n */\n _maskContext: function (context) {\n var maskedContext = null;\n var Component = this._currentElement.type;\n var contextTypes = Component.contextTypes;\n if (!contextTypes) {\n return emptyObject;\n }\n maskedContext = {};\n for (var contextName in contextTypes) {\n maskedContext[contextName] = context[contextName];\n }\n return maskedContext;\n },\n\n /**\n * Filters the context object to only contain keys specified in\n * `contextTypes`, and asserts that they are valid.\n *\n * @param {object} context\n * @return {?object}\n * @private\n */\n _processContext: function (context) {\n var maskedContext = this._maskContext(context);\n if (process.env.NODE_ENV !== 'production') {\n var Component = this._currentElement.type;\n if (Component.contextTypes) {\n this._checkPropTypes(Component.contextTypes, maskedContext, ReactPropTypeLocations.context);\n }\n }\n return maskedContext;\n },\n\n /**\n * @param {object} currentContext\n * @return {object}\n * @private\n */\n _processChildContext: function (currentContext) {\n var Component = this._currentElement.type;\n var inst = this._instance;\n var childContext = inst.getChildContext && inst.getChildContext();\n if (childContext) {\n !(typeof Component.childContextTypes === 'object') ? process.env.NODE_ENV !== 'production' ? invariant(false, '%s.getChildContext(): childContextTypes must be defined in order to ' + 'use getChildContext().', this.getName() || 'ReactCompositeComponent') : invariant(false) : undefined;\n if (process.env.NODE_ENV !== 'production') {\n this._checkPropTypes(Component.childContextTypes, childContext, ReactPropTypeLocations.childContext);\n }\n for (var name in childContext) {\n !(name in Component.childContextTypes) ? process.env.NODE_ENV !== 'production' ? invariant(false, '%s.getChildContext(): key \"%s\" is not defined in childContextTypes.', this.getName() || 'ReactCompositeComponent', name) : invariant(false) : undefined;\n }\n return assign({}, currentContext, childContext);\n }\n return currentContext;\n },\n\n /**\n * Processes props by setting default values for unspecified props and\n * asserting that the props are valid. Does not mutate its argument; returns\n * a new props object with defaults merged in.\n *\n * @param {object} newProps\n * @return {object}\n * @private\n */\n _processProps: function (newProps) {\n if (process.env.NODE_ENV !== 'production') {\n var Component = this._currentElement.type;\n if (Component.propTypes) {\n this._checkPropTypes(Component.propTypes, newProps, ReactPropTypeLocations.prop);\n }\n }\n return newProps;\n },\n\n /**\n * Assert that the props are valid\n *\n * @param {object} propTypes Map of prop name to a ReactPropType\n * @param {object} props\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @private\n */\n _checkPropTypes: function (propTypes, props, location) {\n // TODO: Stop validating prop types here and only use the element\n // validation.\n var componentName = this.getName();\n for (var propName in propTypes) {\n if (propTypes.hasOwnProperty(propName)) {\n var error;\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n !(typeof propTypes[propName] === 'function') ? process.env.NODE_ENV !== 'production' ? invariant(false, '%s: %s type `%s` is invalid; it must be a function, usually ' + 'from React.PropTypes.', componentName || 'React class', ReactPropTypeLocationNames[location], propName) : invariant(false) : undefined;\n error = propTypes[propName](props, propName, componentName, location);\n } catch (ex) {\n error = ex;\n }\n if (error instanceof Error) {\n // We may want to extend this logic for similar errors in\n // top-level render calls, so I'm abstracting it away into\n // a function to minimize refactoring in the future\n var addendum = getDeclarationErrorAddendum(this);\n\n if (location === ReactPropTypeLocations.prop) {\n // Preface gives us something to blacklist in warning module\n process.env.NODE_ENV !== 'production' ? warning(false, 'Failed Composite propType: %s%s', error.message, addendum) : undefined;\n } else {\n process.env.NODE_ENV !== 'production' ? warning(false, 'Failed Context Types: %s%s', error.message, addendum) : undefined;\n }\n }\n }\n }\n },\n\n receiveComponent: function (nextElement, transaction, nextContext) {\n var prevElement = this._currentElement;\n var prevContext = this._context;\n\n this._pendingElement = null;\n\n this.updateComponent(transaction, prevElement, nextElement, prevContext, nextContext);\n },\n\n /**\n * If any of `_pendingElement`, `_pendingStateQueue`, or `_pendingForceUpdate`\n * is set, update the component.\n *\n * @param {ReactReconcileTransaction} transaction\n * @internal\n */\n performUpdateIfNecessary: function (transaction) {\n if (this._pendingElement != null) {\n ReactReconciler.receiveComponent(this, this._pendingElement || this._currentElement, transaction, this._context);\n }\n\n if (this._pendingStateQueue !== null || this._pendingForceUpdate) {\n this.updateComponent(transaction, this._currentElement, this._currentElement, this._context, this._context);\n }\n },\n\n /**\n * Perform an update to a mounted component. The componentWillReceiveProps and\n * shouldComponentUpdate methods are called, then (assuming the update isn't\n * skipped) the remaining update lifecycle methods are called and the DOM\n * representation is updated.\n *\n * By default, this implements React's rendering and reconciliation algorithm.\n * Sophisticated clients may wish to override this.\n *\n * @param {ReactReconcileTransaction} transaction\n * @param {ReactElement} prevParentElement\n * @param {ReactElement} nextParentElement\n * @internal\n * @overridable\n */\n updateComponent: function (transaction, prevParentElement, nextParentElement, prevUnmaskedContext, nextUnmaskedContext) {\n var inst = this._instance;\n\n var nextContext = this._context === nextUnmaskedContext ? inst.context : this._processContext(nextUnmaskedContext);\n var nextProps;\n\n // Distinguish between a props update versus a simple state update\n if (prevParentElement === nextParentElement) {\n // Skip checking prop types again -- we don't read inst.props to avoid\n // warning for DOM component props in this upgrade\n nextProps = nextParentElement.props;\n } else {\n nextProps = this._processProps(nextParentElement.props);\n // An update here will schedule an update but immediately set\n // _pendingStateQueue which will ensure that any state updates gets\n // immediately reconciled instead of waiting for the next batch.\n\n if (inst.componentWillReceiveProps) {\n inst.componentWillReceiveProps(nextProps, nextContext);\n }\n }\n\n var nextState = this._processPendingState(nextProps, nextContext);\n\n var shouldUpdate = this._pendingForceUpdate || !inst.shouldComponentUpdate || inst.shouldComponentUpdate(nextProps, nextState, nextContext);\n\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== 'production' ? warning(typeof shouldUpdate !== 'undefined', '%s.shouldComponentUpdate(): Returned undefined instead of a ' + 'boolean value. Make sure to return true or false.', this.getName() || 'ReactCompositeComponent') : undefined;\n }\n\n if (shouldUpdate) {\n this._pendingForceUpdate = false;\n // Will set `this.props`, `this.state` and `this.context`.\n this._performComponentUpdate(nextParentElement, nextProps, nextState, nextContext, transaction, nextUnmaskedContext);\n } else {\n // If it's determined that a component should not update, we still want\n // to set props and state but we shortcut the rest of the update.\n this._currentElement = nextParentElement;\n this._context = nextUnmaskedContext;\n inst.props = nextProps;\n inst.state = nextState;\n inst.context = nextContext;\n }\n },\n\n _processPendingState: function (props, context) {\n var inst = this._instance;\n var queue = this._pendingStateQueue;\n var replace = this._pendingReplaceState;\n this._pendingReplaceState = false;\n this._pendingStateQueue = null;\n\n if (!queue) {\n return inst.state;\n }\n\n if (replace && queue.length === 1) {\n return queue[0];\n }\n\n var nextState = assign({}, replace ? queue[0] : inst.state);\n for (var i = replace ? 1 : 0; i < queue.length; i++) {\n var partial = queue[i];\n assign(nextState, typeof partial === 'function' ? partial.call(inst, nextState, props, context) : partial);\n }\n\n return nextState;\n },\n\n /**\n * Merges new props and state, notifies delegate methods of update and\n * performs update.\n *\n * @param {ReactElement} nextElement Next element\n * @param {object} nextProps Next public object to set as properties.\n * @param {?object} nextState Next object to set as state.\n * @param {?object} nextContext Next public object to set as context.\n * @param {ReactReconcileTransaction} transaction\n * @param {?object} unmaskedContext\n * @private\n */\n _performComponentUpdate: function (nextElement, nextProps, nextState, nextContext, transaction, unmaskedContext) {\n var inst = this._instance;\n\n var hasComponentDidUpdate = Boolean(inst.componentDidUpdate);\n var prevProps;\n var prevState;\n var prevContext;\n if (hasComponentDidUpdate) {\n prevProps = inst.props;\n prevState = inst.state;\n prevContext = inst.context;\n }\n\n if (inst.componentWillUpdate) {\n inst.componentWillUpdate(nextProps, nextState, nextContext);\n }\n\n this._currentElement = nextElement;\n this._context = unmaskedContext;\n inst.props = nextProps;\n inst.state = nextState;\n inst.context = nextContext;\n\n this._updateRenderedComponent(transaction, unmaskedContext);\n\n if (hasComponentDidUpdate) {\n transaction.getReactMountReady().enqueue(inst.componentDidUpdate.bind(inst, prevProps, prevState, prevContext), inst);\n }\n },\n\n /**\n * Call the component's `render` method and update the DOM accordingly.\n *\n * @param {ReactReconcileTransaction} transaction\n * @internal\n */\n _updateRenderedComponent: function (transaction, context) {\n var prevComponentInstance = this._renderedComponent;\n var prevRenderedElement = prevComponentInstance._currentElement;\n var nextRenderedElement = this._renderValidatedComponent();\n if (shouldUpdateReactComponent(prevRenderedElement, nextRenderedElement)) {\n ReactReconciler.receiveComponent(prevComponentInstance, nextRenderedElement, transaction, this._processChildContext(context));\n } else {\n // These two IDs are actually the same! But nothing should rely on that.\n var thisID = this._rootNodeID;\n var prevComponentID = prevComponentInstance._rootNodeID;\n ReactReconciler.unmountComponent(prevComponentInstance);\n\n this._renderedComponent = this._instantiateReactComponent(nextRenderedElement);\n var nextMarkup = ReactReconciler.mountComponent(this._renderedComponent, thisID, transaction, this._processChildContext(context));\n this._replaceNodeWithMarkupByID(prevComponentID, nextMarkup);\n }\n },\n\n /**\n * @protected\n */\n _replaceNodeWithMarkupByID: function (prevComponentID, nextMarkup) {\n ReactComponentEnvironment.replaceNodeWithMarkupByID(prevComponentID, nextMarkup);\n },\n\n /**\n * @protected\n */\n _renderValidatedComponentWithoutOwnerOrContext: function () {\n var inst = this._instance;\n var renderedComponent = inst.render();\n if (process.env.NODE_ENV !== 'production') {\n // We allow auto-mocks to proceed as if they're returning null.\n if (typeof renderedComponent === 'undefined' && inst.render._isMockFunction) {\n // This is probably bad practice. Consider warning here and\n // deprecating this convenience.\n renderedComponent = null;\n }\n }\n\n return renderedComponent;\n },\n\n /**\n * @private\n */\n _renderValidatedComponent: function () {\n var renderedComponent;\n ReactCurrentOwner.current = this;\n try {\n renderedComponent = this._renderValidatedComponentWithoutOwnerOrContext();\n } finally {\n ReactCurrentOwner.current = null;\n }\n !(\n // TODO: An `isValidNode` function would probably be more appropriate\n renderedComponent === null || renderedComponent === false || ReactElement.isValidElement(renderedComponent)) ? process.env.NODE_ENV !== 'production' ? invariant(false, '%s.render(): A valid ReactComponent must be returned. You may have ' + 'returned undefined, an array or some other invalid object.', this.getName() || 'ReactCompositeComponent') : invariant(false) : undefined;\n return renderedComponent;\n },\n\n /**\n * Lazily allocates the refs object and stores `component` as `ref`.\n *\n * @param {string} ref Reference name.\n * @param {component} component Component to store as `ref`.\n * @final\n * @private\n */\n attachRef: function (ref, component) {\n var inst = this.getPublicInstance();\n !(inst != null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Stateless function components cannot have refs.') : invariant(false) : undefined;\n var publicComponentInstance = component.getPublicInstance();\n if (process.env.NODE_ENV !== 'production') {\n var componentName = component && component.getName ? component.getName() : 'a component';\n process.env.NODE_ENV !== 'production' ? warning(publicComponentInstance != null, 'Stateless function components cannot be given refs ' + '(See ref \"%s\" in %s created by %s). ' + 'Attempts to access this ref will fail.', ref, componentName, this.getName()) : undefined;\n }\n var refs = inst.refs === emptyObject ? inst.refs = {} : inst.refs;\n refs[ref] = publicComponentInstance;\n },\n\n /**\n * Detaches a reference name.\n *\n * @param {string} ref Name to dereference.\n * @final\n * @private\n */\n detachRef: function (ref) {\n var refs = this.getPublicInstance().refs;\n delete refs[ref];\n },\n\n /**\n * Get a text description of the component that can be used to identify it\n * in error messages.\n * @return {string} The name or null.\n * @internal\n */\n getName: function () {\n var type = this._currentElement.type;\n var constructor = this._instance && this._instance.constructor;\n return type.displayName || constructor && constructor.displayName || type.name || constructor && constructor.name || null;\n },\n\n /**\n * Get the publicly accessible representation of this component - i.e. what\n * is exposed by refs and returned by render. Can be null for stateless\n * components.\n *\n * @return {ReactComponent} the public component instance.\n * @internal\n */\n getPublicInstance: function () {\n var inst = this._instance;\n if (inst instanceof StatelessComponent) {\n return null;\n }\n return inst;\n },\n\n // Stub\n _instantiateReactComponent: null\n\n};\n\nReactPerf.measureMethods(ReactCompositeComponentMixin, 'ReactCompositeComponent', {\n mountComponent: 'mountComponent',\n updateComponent: 'updateComponent',\n _renderValidatedComponent: '_renderValidatedComponent'\n});\n\nvar ReactCompositeComponent = {\n\n Mixin: ReactCompositeComponentMixin\n\n};\n\nmodule.exports = ReactCompositeComponent;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/ReactCompositeComponent.js\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 * @providesModule ReactComponentEnvironment\n */\n\n'use strict';\n\nvar invariant = require('fbjs/lib/invariant');\n\nvar injected = false;\n\nvar ReactComponentEnvironment = {\n\n /**\n * Optionally injectable environment dependent cleanup hook. (server vs.\n * browser etc). Example: A browser system caches DOM nodes based on component\n * ID and must remove that cache entry when this instance is unmounted.\n */\n unmountIDFromEnvironment: null,\n\n /**\n * Optionally injectable hook for swapping out mount images in the middle of\n * the tree.\n */\n replaceNodeWithMarkupByID: null,\n\n /**\n * Optionally injectable hook for processing a queue of child updates. Will\n * later move into MultiChildComponents.\n */\n processChildrenUpdates: null,\n\n injection: {\n injectEnvironment: function (environment) {\n !!injected ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactCompositeComponent: injectEnvironment() can only be called once.') : invariant(false) : undefined;\n ReactComponentEnvironment.unmountIDFromEnvironment = environment.unmountIDFromEnvironment;\n ReactComponentEnvironment.replaceNodeWithMarkupByID = environment.replaceNodeWithMarkupByID;\n ReactComponentEnvironment.processChildrenUpdates = environment.processChildrenUpdates;\n injected = true;\n }\n }\n\n};\n\nmodule.exports = ReactComponentEnvironment;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/ReactComponentEnvironment.js\n **/","/**\n * Copyright 2013-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 * @providesModule ReactPropTypeLocations\n */\n\n'use strict';\n\nvar keyMirror = require('fbjs/lib/keyMirror');\n\nvar ReactPropTypeLocations = keyMirror({\n prop: null,\n context: null,\n childContext: null\n});\n\nmodule.exports = ReactPropTypeLocations;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/ReactPropTypeLocations.js\n **/","/**\n * Copyright 2013-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 * @providesModule ReactPropTypeLocationNames\n */\n\n'use strict';\n\nvar ReactPropTypeLocationNames = {};\n\nif (process.env.NODE_ENV !== 'production') {\n ReactPropTypeLocationNames = {\n prop: 'prop',\n context: 'context',\n childContext: 'child context'\n };\n}\n\nmodule.exports = ReactPropTypeLocationNames;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/ReactPropTypeLocationNames.js\n **/","/**\n * Copyright 2013-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 * @providesModule shouldUpdateReactComponent\n * @typechecks static-only\n */\n\n'use strict';\n\n/**\n * Given a `prevElement` and `nextElement`, determines if the existing\n * instance should be updated as opposed to being destroyed or replaced by a new\n * instance. Both arguments are elements. This ensures that this logic can\n * operate on stateless trees without any backing instance.\n *\n * @param {?object} prevElement\n * @param {?object} nextElement\n * @return {boolean} True if the existing instance should be updated.\n * @protected\n */\nfunction shouldUpdateReactComponent(prevElement, nextElement) {\n var prevEmpty = prevElement === null || prevElement === false;\n var nextEmpty = nextElement === null || nextElement === false;\n if (prevEmpty || nextEmpty) {\n return prevEmpty === nextEmpty;\n }\n\n var prevType = typeof prevElement;\n var nextType = typeof nextElement;\n if (prevType === 'string' || prevType === 'number') {\n return nextType === 'string' || nextType === 'number';\n } else {\n return nextType === 'object' && prevElement.type === nextElement.type && prevElement.key === nextElement.key;\n }\n return false;\n}\n\nmodule.exports = shouldUpdateReactComponent;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/shouldUpdateReactComponent.js\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 * @providesModule ReactEmptyComponent\n */\n\n'use strict';\n\nvar ReactElement = require('./ReactElement');\nvar ReactEmptyComponentRegistry = require('./ReactEmptyComponentRegistry');\nvar ReactReconciler = require('./ReactReconciler');\n\nvar assign = require('./Object.assign');\n\nvar placeholderElement;\n\nvar ReactEmptyComponentInjection = {\n injectEmptyComponent: function (component) {\n placeholderElement = ReactElement.createElement(component);\n }\n};\n\nvar ReactEmptyComponent = function (instantiate) {\n this._currentElement = null;\n this._rootNodeID = null;\n this._renderedComponent = instantiate(placeholderElement);\n};\nassign(ReactEmptyComponent.prototype, {\n construct: function (element) {},\n mountComponent: function (rootID, transaction, context) {\n ReactEmptyComponentRegistry.registerNullComponentID(rootID);\n this._rootNodeID = rootID;\n return ReactReconciler.mountComponent(this._renderedComponent, rootID, transaction, context);\n },\n receiveComponent: function () {},\n unmountComponent: function (rootID, transaction, context) {\n ReactReconciler.unmountComponent(this._renderedComponent);\n ReactEmptyComponentRegistry.deregisterNullComponentID(this._rootNodeID);\n this._rootNodeID = null;\n this._renderedComponent = null;\n }\n});\n\nReactEmptyComponent.injection = ReactEmptyComponentInjection;\n\nmodule.exports = ReactEmptyComponent;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/ReactEmptyComponent.js\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 * @providesModule ReactNativeComponent\n */\n\n'use strict';\n\nvar assign = require('./Object.assign');\nvar invariant = require('fbjs/lib/invariant');\n\nvar autoGenerateWrapperClass = null;\nvar genericComponentClass = null;\n// This registry keeps track of wrapper classes around native tags.\nvar tagToComponentClass = {};\nvar textComponentClass = null;\n\nvar ReactNativeComponentInjection = {\n // This accepts a class that receives the tag string. This is a catch all\n // that can render any kind of tag.\n injectGenericComponentClass: function (componentClass) {\n genericComponentClass = componentClass;\n },\n // This accepts a text component class that takes the text string to be\n // rendered as props.\n injectTextComponentClass: function (componentClass) {\n textComponentClass = componentClass;\n },\n // This accepts a keyed object with classes as values. Each key represents a\n // tag. That particular tag will use this class instead of the generic one.\n injectComponentClasses: function (componentClasses) {\n assign(tagToComponentClass, componentClasses);\n }\n};\n\n/**\n * Get a composite component wrapper class for a specific tag.\n *\n * @param {ReactElement} element The tag for which to get the class.\n * @return {function} The React class constructor function.\n */\nfunction getComponentClassForElement(element) {\n if (typeof element.type === 'function') {\n return element.type;\n }\n var tag = element.type;\n var componentClass = tagToComponentClass[tag];\n if (componentClass == null) {\n tagToComponentClass[tag] = componentClass = autoGenerateWrapperClass(tag);\n }\n return componentClass;\n}\n\n/**\n * Get a native internal component class for a specific tag.\n *\n * @param {ReactElement} element The element to create.\n * @return {function} The internal class constructor function.\n */\nfunction createInternalComponent(element) {\n !genericComponentClass ? process.env.NODE_ENV !== 'production' ? invariant(false, 'There is no registered component for the tag %s', element.type) : invariant(false) : undefined;\n return new genericComponentClass(element.type, element.props);\n}\n\n/**\n * @param {ReactText} text\n * @return {ReactComponent}\n */\nfunction createInstanceForText(text) {\n return new textComponentClass(text);\n}\n\n/**\n * @param {ReactComponent} component\n * @return {boolean}\n */\nfunction isTextComponent(component) {\n return component instanceof textComponentClass;\n}\n\nvar ReactNativeComponent = {\n getComponentClassForElement: getComponentClassForElement,\n createInternalComponent: createInternalComponent,\n createInstanceForText: createInstanceForText,\n isTextComponent: isTextComponent,\n injection: ReactNativeComponentInjection\n};\n\nmodule.exports = ReactNativeComponent;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/ReactNativeComponent.js\n **/","/**\n * Copyright 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 * @providesModule validateDOMNesting\n */\n\n'use strict';\n\nvar assign = require('./Object.assign');\nvar emptyFunction = require('fbjs/lib/emptyFunction');\nvar warning = require('fbjs/lib/warning');\n\nvar validateDOMNesting = emptyFunction;\n\nif (process.env.NODE_ENV !== 'production') {\n // This validation code was written based on the HTML5 parsing spec:\n // https://html.spec.whatwg.org/multipage/syntax.html#has-an-element-in-scope\n //\n // Note: this does not catch all invalid nesting, nor does it try to (as it's\n // not clear what practical benefit doing so provides); instead, we warn only\n // for cases where the parser will give a parse tree differing from what React\n // intended. For example, <b><div></div></b> is invalid but we don't warn\n // because it still parses correctly; we do warn for other cases like nested\n // <p> tags where the beginning of the second element implicitly closes the\n // first, causing a confusing mess.\n\n // https://html.spec.whatwg.org/multipage/syntax.html#special\n var specialTags = ['address', 'applet', 'area', 'article', 'aside', 'base', 'basefont', 'bgsound', 'blockquote', 'body', 'br', 'button', 'caption', 'center', 'col', 'colgroup', 'dd', 'details', 'dir', 'div', 'dl', 'dt', 'embed', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'frame', 'frameset', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'iframe', 'img', 'input', 'isindex', 'li', 'link', 'listing', 'main', 'marquee', 'menu', 'menuitem', 'meta', 'nav', 'noembed', 'noframes', 'noscript', 'object', 'ol', 'p', 'param', 'plaintext', 'pre', 'script', 'section', 'select', 'source', 'style', 'summary', 'table', 'tbody', 'td', 'template', 'textarea', 'tfoot', 'th', 'thead', 'title', 'tr', 'track', 'ul', 'wbr', 'xmp'];\n\n // https://html.spec.whatwg.org/multipage/syntax.html#has-an-element-in-scope\n var inScopeTags = ['applet', 'caption', 'html', 'table', 'td', 'th', 'marquee', 'object', 'template',\n\n // https://html.spec.whatwg.org/multipage/syntax.html#html-integration-point\n // TODO: Distinguish by namespace here -- for <title>, including it here\n // errs on the side of fewer warnings\n 'foreignObject', 'desc', 'title'];\n\n // https://html.spec.whatwg.org/multipage/syntax.html#has-an-element-in-button-scope\n var buttonScopeTags = inScopeTags.concat(['button']);\n\n // https://html.spec.whatwg.org/multipage/syntax.html#generate-implied-end-tags\n var impliedEndTags = ['dd', 'dt', 'li', 'option', 'optgroup', 'p', 'rp', 'rt'];\n\n var emptyAncestorInfo = {\n parentTag: null,\n\n formTag: null,\n aTagInScope: null,\n buttonTagInScope: null,\n nobrTagInScope: null,\n pTagInButtonScope: null,\n\n listItemTagAutoclosing: null,\n dlItemTagAutoclosing: null\n };\n\n var updatedAncestorInfo = function (oldInfo, tag, instance) {\n var ancestorInfo = assign({}, oldInfo || emptyAncestorInfo);\n var info = { tag: tag, instance: instance };\n\n if (inScopeTags.indexOf(tag) !== -1) {\n ancestorInfo.aTagInScope = null;\n ancestorInfo.buttonTagInScope = null;\n ancestorInfo.nobrTagInScope = null;\n }\n if (buttonScopeTags.indexOf(tag) !== -1) {\n ancestorInfo.pTagInButtonScope = null;\n }\n\n // See rules for 'li', 'dd', 'dt' start tags in\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inbody\n if (specialTags.indexOf(tag) !== -1 && tag !== 'address' && tag !== 'div' && tag !== 'p') {\n ancestorInfo.listItemTagAutoclosing = null;\n ancestorInfo.dlItemTagAutoclosing = null;\n }\n\n ancestorInfo.parentTag = info;\n\n if (tag === 'form') {\n ancestorInfo.formTag = info;\n }\n if (tag === 'a') {\n ancestorInfo.aTagInScope = info;\n }\n if (tag === 'button') {\n ancestorInfo.buttonTagInScope = info;\n }\n if (tag === 'nobr') {\n ancestorInfo.nobrTagInScope = info;\n }\n if (tag === 'p') {\n ancestorInfo.pTagInButtonScope = info;\n }\n if (tag === 'li') {\n ancestorInfo.listItemTagAutoclosing = info;\n }\n if (tag === 'dd' || tag === 'dt') {\n ancestorInfo.dlItemTagAutoclosing = info;\n }\n\n return ancestorInfo;\n };\n\n /**\n * Returns whether\n */\n var isTagValidWithParent = function (tag, parentTag) {\n // First, let's check if we're in an unusual parsing mode...\n switch (parentTag) {\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inselect\n case 'select':\n return tag === 'option' || tag === 'optgroup' || tag === '#text';\n case 'optgroup':\n return tag === 'option' || tag === '#text';\n // Strictly speaking, seeing an <option> doesn't mean we're in a <select>\n // but\n case 'option':\n return tag === '#text';\n\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-intd\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-incaption\n // No special behavior since these rules fall back to \"in body\" mode for\n // all except special table nodes which cause bad parsing behavior anyway.\n\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-intr\n case 'tr':\n return tag === 'th' || tag === 'td' || tag === 'style' || tag === 'script' || tag === 'template';\n\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-intbody\n case 'tbody':\n case 'thead':\n case 'tfoot':\n return tag === 'tr' || tag === 'style' || tag === 'script' || tag === 'template';\n\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-incolgroup\n case 'colgroup':\n return tag === 'col' || tag === 'template';\n\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-intable\n case 'table':\n return tag === 'caption' || tag === 'colgroup' || tag === 'tbody' || tag === 'tfoot' || tag === 'thead' || tag === 'style' || tag === 'script' || tag === 'template';\n\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inhead\n case 'head':\n return tag === 'base' || tag === 'basefont' || tag === 'bgsound' || tag === 'link' || tag === 'meta' || tag === 'title' || tag === 'noscript' || tag === 'noframes' || tag === 'style' || tag === 'script' || tag === 'template';\n\n // https://html.spec.whatwg.org/multipage/semantics.html#the-html-element\n case 'html':\n return tag === 'head' || tag === 'body';\n }\n\n // Probably in the \"in body\" parsing mode, so we outlaw only tag combos\n // where the parsing rules cause implicit opens or closes to be added.\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inbody\n switch (tag) {\n case 'h1':\n case 'h2':\n case 'h3':\n case 'h4':\n case 'h5':\n case 'h6':\n return parentTag !== 'h1' && parentTag !== 'h2' && parentTag !== 'h3' && parentTag !== 'h4' && parentTag !== 'h5' && parentTag !== 'h6';\n\n case 'rp':\n case 'rt':\n return impliedEndTags.indexOf(parentTag) === -1;\n\n case 'caption':\n case 'col':\n case 'colgroup':\n case 'frame':\n case 'head':\n case 'tbody':\n case 'td':\n case 'tfoot':\n case 'th':\n case 'thead':\n case 'tr':\n // These tags are only valid with a few parents that have special child\n // parsing rules -- if we're down here, then none of those matched and\n // so we allow it only if we don't know what the parent is, as all other\n // cases are invalid.\n return parentTag == null;\n }\n\n return true;\n };\n\n /**\n * Returns whether\n */\n var findInvalidAncestorForTag = function (tag, ancestorInfo) {\n switch (tag) {\n case 'address':\n case 'article':\n case 'aside':\n case 'blockquote':\n case 'center':\n case 'details':\n case 'dialog':\n case 'dir':\n case 'div':\n case 'dl':\n case 'fieldset':\n case 'figcaption':\n case 'figure':\n case 'footer':\n case 'header':\n case 'hgroup':\n case 'main':\n case 'menu':\n case 'nav':\n case 'ol':\n case 'p':\n case 'section':\n case 'summary':\n case 'ul':\n\n case 'pre':\n case 'listing':\n\n case 'table':\n\n case 'hr':\n\n case 'xmp':\n\n case 'h1':\n case 'h2':\n case 'h3':\n case 'h4':\n case 'h5':\n case 'h6':\n return ancestorInfo.pTagInButtonScope;\n\n case 'form':\n return ancestorInfo.formTag || ancestorInfo.pTagInButtonScope;\n\n case 'li':\n return ancestorInfo.listItemTagAutoclosing;\n\n case 'dd':\n case 'dt':\n return ancestorInfo.dlItemTagAutoclosing;\n\n case 'button':\n return ancestorInfo.buttonTagInScope;\n\n case 'a':\n // Spec says something about storing a list of markers, but it sounds\n // equivalent to this check.\n return ancestorInfo.aTagInScope;\n\n case 'nobr':\n return ancestorInfo.nobrTagInScope;\n }\n\n return null;\n };\n\n /**\n * Given a ReactCompositeComponent instance, return a list of its recursive\n * owners, starting at the root and ending with the instance itself.\n */\n var findOwnerStack = function (instance) {\n if (!instance) {\n return [];\n }\n\n var stack = [];\n /*eslint-disable space-after-keywords */\n do {\n /*eslint-enable space-after-keywords */\n stack.push(instance);\n } while (instance = instance._currentElement._owner);\n stack.reverse();\n return stack;\n };\n\n var didWarn = {};\n\n validateDOMNesting = function (childTag, childInstance, ancestorInfo) {\n ancestorInfo = ancestorInfo || emptyAncestorInfo;\n var parentInfo = ancestorInfo.parentTag;\n var parentTag = parentInfo && parentInfo.tag;\n\n var invalidParent = isTagValidWithParent(childTag, parentTag) ? null : parentInfo;\n var invalidAncestor = invalidParent ? null : findInvalidAncestorForTag(childTag, ancestorInfo);\n var problematic = invalidParent || invalidAncestor;\n\n if (problematic) {\n var ancestorTag = problematic.tag;\n var ancestorInstance = problematic.instance;\n\n var childOwner = childInstance && childInstance._currentElement._owner;\n var ancestorOwner = ancestorInstance && ancestorInstance._currentElement._owner;\n\n var childOwners = findOwnerStack(childOwner);\n var ancestorOwners = findOwnerStack(ancestorOwner);\n\n var minStackLen = Math.min(childOwners.length, ancestorOwners.length);\n var i;\n\n var deepestCommon = -1;\n for (i = 0; i < minStackLen; i++) {\n if (childOwners[i] === ancestorOwners[i]) {\n deepestCommon = i;\n } else {\n break;\n }\n }\n\n var UNKNOWN = '(unknown)';\n var childOwnerNames = childOwners.slice(deepestCommon + 1).map(function (inst) {\n return inst.getName() || UNKNOWN;\n });\n var ancestorOwnerNames = ancestorOwners.slice(deepestCommon + 1).map(function (inst) {\n return inst.getName() || UNKNOWN;\n });\n var ownerInfo = [].concat(\n // If the parent and child instances have a common owner ancestor, start\n // with that -- otherwise we just start with the parent's owners.\n deepestCommon !== -1 ? childOwners[deepestCommon].getName() || UNKNOWN : [], ancestorOwnerNames, ancestorTag,\n // If we're warning about an invalid (non-parent) ancestry, add '...'\n invalidAncestor ? ['...'] : [], childOwnerNames, childTag).join(' > ');\n\n var warnKey = !!invalidParent + '|' + childTag + '|' + ancestorTag + '|' + ownerInfo;\n if (didWarn[warnKey]) {\n return;\n }\n didWarn[warnKey] = true;\n\n if (invalidParent) {\n var info = '';\n if (ancestorTag === 'table' && childTag === 'tr') {\n info += ' Add a <tbody> to your code to match the DOM tree generated by ' + 'the browser.';\n }\n process.env.NODE_ENV !== 'production' ? warning(false, 'validateDOMNesting(...): <%s> cannot appear as a child of <%s>. ' + 'See %s.%s', childTag, ancestorTag, ownerInfo, info) : undefined;\n } else {\n process.env.NODE_ENV !== 'production' ? warning(false, 'validateDOMNesting(...): <%s> cannot appear as a descendant of ' + '<%s>. See %s.', childTag, ancestorTag, ownerInfo) : undefined;\n }\n }\n };\n\n validateDOMNesting.ancestorInfoContextKey = '__validateDOMNesting_ancestorInfo$' + Math.random().toString(36).slice(2);\n\n validateDOMNesting.updatedAncestorInfo = updatedAncestorInfo;\n\n // For testing\n validateDOMNesting.isTagValidInContext = function (tag, ancestorInfo) {\n ancestorInfo = ancestorInfo || emptyAncestorInfo;\n var parentInfo = ancestorInfo.parentTag;\n var parentTag = parentInfo && parentInfo.tag;\n return isTagValidWithParent(tag, parentTag) && !findInvalidAncestorForTag(tag, ancestorInfo);\n };\n}\n\nmodule.exports = validateDOMNesting;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/validateDOMNesting.js\n **/","/**\n * Copyright 2013-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 * @providesModule ReactDefaultInjection\n */\n\n'use strict';\n\nvar BeforeInputEventPlugin = require('./BeforeInputEventPlugin');\nvar ChangeEventPlugin = require('./ChangeEventPlugin');\nvar ClientReactRootIndex = require('./ClientReactRootIndex');\nvar DefaultEventPluginOrder = require('./DefaultEventPluginOrder');\nvar EnterLeaveEventPlugin = require('./EnterLeaveEventPlugin');\nvar ExecutionEnvironment = require('fbjs/lib/ExecutionEnvironment');\nvar HTMLDOMPropertyConfig = require('./HTMLDOMPropertyConfig');\nvar ReactBrowserComponentMixin = require('./ReactBrowserComponentMixin');\nvar ReactComponentBrowserEnvironment = require('./ReactComponentBrowserEnvironment');\nvar ReactDefaultBatchingStrategy = require('./ReactDefaultBatchingStrategy');\nvar ReactDOMComponent = require('./ReactDOMComponent');\nvar ReactDOMTextComponent = require('./ReactDOMTextComponent');\nvar ReactEventListener = require('./ReactEventListener');\nvar ReactInjection = require('./ReactInjection');\nvar ReactInstanceHandles = require('./ReactInstanceHandles');\nvar ReactMount = require('./ReactMount');\nvar ReactReconcileTransaction = require('./ReactReconcileTransaction');\nvar SelectEventPlugin = require('./SelectEventPlugin');\nvar ServerReactRootIndex = require('./ServerReactRootIndex');\nvar SimpleEventPlugin = require('./SimpleEventPlugin');\nvar SVGDOMPropertyConfig = require('./SVGDOMPropertyConfig');\n\nvar alreadyInjected = false;\n\nfunction inject() {\n if (alreadyInjected) {\n // TODO: This is currently true because these injections are shared between\n // the client and the server package. They should be built independently\n // and not share any injection state. Then this problem will be solved.\n return;\n }\n alreadyInjected = true;\n\n ReactInjection.EventEmitter.injectReactEventListener(ReactEventListener);\n\n /**\n * Inject modules for resolving DOM hierarchy and plugin ordering.\n */\n ReactInjection.EventPluginHub.injectEventPluginOrder(DefaultEventPluginOrder);\n ReactInjection.EventPluginHub.injectInstanceHandle(ReactInstanceHandles);\n ReactInjection.EventPluginHub.injectMount(ReactMount);\n\n /**\n * Some important event plugins included by default (without having to require\n * them).\n */\n ReactInjection.EventPluginHub.injectEventPluginsByName({\n SimpleEventPlugin: SimpleEventPlugin,\n EnterLeaveEventPlugin: EnterLeaveEventPlugin,\n ChangeEventPlugin: ChangeEventPlugin,\n SelectEventPlugin: SelectEventPlugin,\n BeforeInputEventPlugin: BeforeInputEventPlugin\n });\n\n ReactInjection.NativeComponent.injectGenericComponentClass(ReactDOMComponent);\n\n ReactInjection.NativeComponent.injectTextComponentClass(ReactDOMTextComponent);\n\n ReactInjection.Class.injectMixin(ReactBrowserComponentMixin);\n\n ReactInjection.DOMProperty.injectDOMPropertyConfig(HTMLDOMPropertyConfig);\n ReactInjection.DOMProperty.injectDOMPropertyConfig(SVGDOMPropertyConfig);\n\n ReactInjection.EmptyComponent.injectEmptyComponent('noscript');\n\n ReactInjection.Updates.injectReconcileTransaction(ReactReconcileTransaction);\n ReactInjection.Updates.injectBatchingStrategy(ReactDefaultBatchingStrategy);\n\n ReactInjection.RootIndex.injectCreateReactRootIndex(ExecutionEnvironment.canUseDOM ? ClientReactRootIndex.createReactRootIndex : ServerReactRootIndex.createReactRootIndex);\n\n ReactInjection.Component.injectEnvironment(ReactComponentBrowserEnvironment);\n\n if (process.env.NODE_ENV !== 'production') {\n var url = ExecutionEnvironment.canUseDOM && window.location.href || '';\n if (/[?&]react_perf\\b/.test(url)) {\n var ReactDefaultPerf = require('./ReactDefaultPerf');\n ReactDefaultPerf.start();\n }\n }\n}\n\nmodule.exports = {\n inject: inject\n};\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/ReactDefaultInjection.js\n **/","/**\n * Copyright 2013-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 * @providesModule BeforeInputEventPlugin\n * @typechecks static-only\n */\n\n'use strict';\n\nvar EventConstants = require('./EventConstants');\nvar EventPropagators = require('./EventPropagators');\nvar ExecutionEnvironment = require('fbjs/lib/ExecutionEnvironment');\nvar FallbackCompositionState = require('./FallbackCompositionState');\nvar SyntheticCompositionEvent = require('./SyntheticCompositionEvent');\nvar SyntheticInputEvent = require('./SyntheticInputEvent');\n\nvar keyOf = require('fbjs/lib/keyOf');\n\nvar END_KEYCODES = [9, 13, 27, 32]; // Tab, Return, Esc, Space\nvar START_KEYCODE = 229;\n\nvar canUseCompositionEvent = ExecutionEnvironment.canUseDOM && 'CompositionEvent' in window;\n\nvar documentMode = null;\nif (ExecutionEnvironment.canUseDOM && 'documentMode' in document) {\n documentMode = document.documentMode;\n}\n\n// Webkit offers a very useful `textInput` event that can be used to\n// directly represent `beforeInput`. The IE `textinput` event is not as\n// useful, so we don't use it.\nvar canUseTextInputEvent = ExecutionEnvironment.canUseDOM && 'TextEvent' in window && !documentMode && !isPresto();\n\n// In IE9+, we have access to composition events, but the data supplied\n// by the native compositionend event may be incorrect. Japanese ideographic\n// spaces, for instance (\\u3000) are not recorded correctly.\nvar useFallbackCompositionData = ExecutionEnvironment.canUseDOM && (!canUseCompositionEvent || documentMode && documentMode > 8 && documentMode <= 11);\n\n/**\n * Opera <= 12 includes TextEvent in window, but does not fire\n * text input events. Rely on keypress instead.\n */\nfunction isPresto() {\n var opera = window.opera;\n return typeof opera === 'object' && typeof opera.version === 'function' && parseInt(opera.version(), 10) <= 12;\n}\n\nvar SPACEBAR_CODE = 32;\nvar SPACEBAR_CHAR = String.fromCharCode(SPACEBAR_CODE);\n\nvar topLevelTypes = EventConstants.topLevelTypes;\n\n// Events and their corresponding property names.\nvar eventTypes = {\n beforeInput: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onBeforeInput: null }),\n captured: keyOf({ onBeforeInputCapture: null })\n },\n dependencies: [topLevelTypes.topCompositionEnd, topLevelTypes.topKeyPress, topLevelTypes.topTextInput, topLevelTypes.topPaste]\n },\n compositionEnd: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onCompositionEnd: null }),\n captured: keyOf({ onCompositionEndCapture: null })\n },\n dependencies: [topLevelTypes.topBlur, topLevelTypes.topCompositionEnd, topLevelTypes.topKeyDown, topLevelTypes.topKeyPress, topLevelTypes.topKeyUp, topLevelTypes.topMouseDown]\n },\n compositionStart: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onCompositionStart: null }),\n captured: keyOf({ onCompositionStartCapture: null })\n },\n dependencies: [topLevelTypes.topBlur, topLevelTypes.topCompositionStart, topLevelTypes.topKeyDown, topLevelTypes.topKeyPress, topLevelTypes.topKeyUp, topLevelTypes.topMouseDown]\n },\n compositionUpdate: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onCompositionUpdate: null }),\n captured: keyOf({ onCompositionUpdateCapture: null })\n },\n dependencies: [topLevelTypes.topBlur, topLevelTypes.topCompositionUpdate, topLevelTypes.topKeyDown, topLevelTypes.topKeyPress, topLevelTypes.topKeyUp, topLevelTypes.topMouseDown]\n }\n};\n\n// Track whether we've ever handled a keypress on the space key.\nvar hasSpaceKeypress = false;\n\n/**\n * Return whether a native keypress event is assumed to be a command.\n * This is required because Firefox fires `keypress` events for key commands\n * (cut, copy, select-all, etc.) even though no character is inserted.\n */\nfunction isKeypressCommand(nativeEvent) {\n return (nativeEvent.ctrlKey || nativeEvent.altKey || nativeEvent.metaKey) &&\n // ctrlKey && altKey is equivalent to AltGr, and is not a command.\n !(nativeEvent.ctrlKey && nativeEvent.altKey);\n}\n\n/**\n * Translate native top level events into event types.\n *\n * @param {string} topLevelType\n * @return {object}\n */\nfunction getCompositionEventType(topLevelType) {\n switch (topLevelType) {\n case topLevelTypes.topCompositionStart:\n return eventTypes.compositionStart;\n case topLevelTypes.topCompositionEnd:\n return eventTypes.compositionEnd;\n case topLevelTypes.topCompositionUpdate:\n return eventTypes.compositionUpdate;\n }\n}\n\n/**\n * Does our fallback best-guess model think this event signifies that\n * composition has begun?\n *\n * @param {string} topLevelType\n * @param {object} nativeEvent\n * @return {boolean}\n */\nfunction isFallbackCompositionStart(topLevelType, nativeEvent) {\n return topLevelType === topLevelTypes.topKeyDown && nativeEvent.keyCode === START_KEYCODE;\n}\n\n/**\n * Does our fallback mode think that this event is the end of composition?\n *\n * @param {string} topLevelType\n * @param {object} nativeEvent\n * @return {boolean}\n */\nfunction isFallbackCompositionEnd(topLevelType, nativeEvent) {\n switch (topLevelType) {\n case topLevelTypes.topKeyUp:\n // Command keys insert or clear IME input.\n return END_KEYCODES.indexOf(nativeEvent.keyCode) !== -1;\n case topLevelTypes.topKeyDown:\n // Expect IME keyCode on each keydown. If we get any other\n // code we must have exited earlier.\n return nativeEvent.keyCode !== START_KEYCODE;\n case topLevelTypes.topKeyPress:\n case topLevelTypes.topMouseDown:\n case topLevelTypes.topBlur:\n // Events are not possible without cancelling IME.\n return true;\n default:\n return false;\n }\n}\n\n/**\n * Google Input Tools provides composition data via a CustomEvent,\n * with the `data` property populated in the `detail` object. If this\n * is available on the event object, use it. If not, this is a plain\n * composition event and we have nothing special to extract.\n *\n * @param {object} nativeEvent\n * @return {?string}\n */\nfunction getDataFromCustomEvent(nativeEvent) {\n var detail = nativeEvent.detail;\n if (typeof detail === 'object' && 'data' in detail) {\n return detail.data;\n }\n return null;\n}\n\n// Track the current IME composition fallback object, if any.\nvar currentComposition = null;\n\n/**\n * @param {string} topLevelType Record from `EventConstants`.\n * @param {DOMEventTarget} topLevelTarget The listening component root node.\n * @param {string} topLevelTargetID ID of `topLevelTarget`.\n * @param {object} nativeEvent Native browser event.\n * @return {?object} A SyntheticCompositionEvent.\n */\nfunction extractCompositionEvent(topLevelType, topLevelTarget, topLevelTargetID, nativeEvent, nativeEventTarget) {\n var eventType;\n var fallbackData;\n\n if (canUseCompositionEvent) {\n eventType = getCompositionEventType(topLevelType);\n } else if (!currentComposition) {\n if (isFallbackCompositionStart(topLevelType, nativeEvent)) {\n eventType = eventTypes.compositionStart;\n }\n } else if (isFallbackCompositionEnd(topLevelType, nativeEvent)) {\n eventType = eventTypes.compositionEnd;\n }\n\n if (!eventType) {\n return null;\n }\n\n if (useFallbackCompositionData) {\n // The current composition is stored statically and must not be\n // overwritten while composition continues.\n if (!currentComposition && eventType === eventTypes.compositionStart) {\n currentComposition = FallbackCompositionState.getPooled(topLevelTarget);\n } else if (eventType === eventTypes.compositionEnd) {\n if (currentComposition) {\n fallbackData = currentComposition.getData();\n }\n }\n }\n\n var event = SyntheticCompositionEvent.getPooled(eventType, topLevelTargetID, nativeEvent, nativeEventTarget);\n\n if (fallbackData) {\n // Inject data generated from fallback path into the synthetic event.\n // This matches the property of native CompositionEventInterface.\n event.data = fallbackData;\n } else {\n var customData = getDataFromCustomEvent(nativeEvent);\n if (customData !== null) {\n event.data = customData;\n }\n }\n\n EventPropagators.accumulateTwoPhaseDispatches(event);\n return event;\n}\n\n/**\n * @param {string} topLevelType Record from `EventConstants`.\n * @param {object} nativeEvent Native browser event.\n * @return {?string} The string corresponding to this `beforeInput` event.\n */\nfunction getNativeBeforeInputChars(topLevelType, nativeEvent) {\n switch (topLevelType) {\n case topLevelTypes.topCompositionEnd:\n return getDataFromCustomEvent(nativeEvent);\n case topLevelTypes.topKeyPress:\n /**\n * If native `textInput` events are available, our goal is to make\n * use of them. However, there is a special case: the spacebar key.\n * In Webkit, preventing default on a spacebar `textInput` event\n * cancels character insertion, but it *also* causes the browser\n * to fall back to its default spacebar behavior of scrolling the\n * page.\n *\n * Tracking at:\n * https://code.google.com/p/chromium/issues/detail?id=355103\n *\n * To avoid this issue, use the keypress event as if no `textInput`\n * event is available.\n */\n var which = nativeEvent.which;\n if (which !== SPACEBAR_CODE) {\n return null;\n }\n\n hasSpaceKeypress = true;\n return SPACEBAR_CHAR;\n\n case topLevelTypes.topTextInput:\n // Record the characters to be added to the DOM.\n var chars = nativeEvent.data;\n\n // If it's a spacebar character, assume that we have already handled\n // it at the keypress level and bail immediately. Android Chrome\n // doesn't give us keycodes, so we need to blacklist it.\n if (chars === SPACEBAR_CHAR && hasSpaceKeypress) {\n return null;\n }\n\n return chars;\n\n default:\n // For other native event types, do nothing.\n return null;\n }\n}\n\n/**\n * For browsers that do not provide the `textInput` event, extract the\n * appropriate string to use for SyntheticInputEvent.\n *\n * @param {string} topLevelType Record from `EventConstants`.\n * @param {object} nativeEvent Native browser event.\n * @return {?string} The fallback string for this `beforeInput` event.\n */\nfunction getFallbackBeforeInputChars(topLevelType, nativeEvent) {\n // If we are currently composing (IME) and using a fallback to do so,\n // try to extract the composed characters from the fallback object.\n if (currentComposition) {\n if (topLevelType === topLevelTypes.topCompositionEnd || isFallbackCompositionEnd(topLevelType, nativeEvent)) {\n var chars = currentComposition.getData();\n FallbackCompositionState.release(currentComposition);\n currentComposition = null;\n return chars;\n }\n return null;\n }\n\n switch (topLevelType) {\n case topLevelTypes.topPaste:\n // If a paste event occurs after a keypress, throw out the input\n // chars. Paste events should not lead to BeforeInput events.\n return null;\n case topLevelTypes.topKeyPress:\n /**\n * As of v27, Firefox may fire keypress events even when no character\n * will be inserted. A few possibilities:\n *\n * - `which` is `0`. Arrow keys, Esc key, etc.\n *\n * - `which` is the pressed key code, but no char is available.\n * Ex: 'AltGr + d` in Polish. There is no modified character for\n * this key combination and no character is inserted into the\n * document, but FF fires the keypress for char code `100` anyway.\n * No `input` event will occur.\n *\n * - `which` is the pressed key code, but a command combination is\n * being used. Ex: `Cmd+C`. No character is inserted, and no\n * `input` event will occur.\n */\n if (nativeEvent.which && !isKeypressCommand(nativeEvent)) {\n return String.fromCharCode(nativeEvent.which);\n }\n return null;\n case topLevelTypes.topCompositionEnd:\n return useFallbackCompositionData ? null : nativeEvent.data;\n default:\n return null;\n }\n}\n\n/**\n * Extract a SyntheticInputEvent for `beforeInput`, based on either native\n * `textInput` or fallback behavior.\n *\n * @param {string} topLevelType Record from `EventConstants`.\n * @param {DOMEventTarget} topLevelTarget The listening component root node.\n * @param {string} topLevelTargetID ID of `topLevelTarget`.\n * @param {object} nativeEvent Native browser event.\n * @return {?object} A SyntheticInputEvent.\n */\nfunction extractBeforeInputEvent(topLevelType, topLevelTarget, topLevelTargetID, nativeEvent, nativeEventTarget) {\n var chars;\n\n if (canUseTextInputEvent) {\n chars = getNativeBeforeInputChars(topLevelType, nativeEvent);\n } else {\n chars = getFallbackBeforeInputChars(topLevelType, nativeEvent);\n }\n\n // If no characters are being inserted, no BeforeInput event should\n // be fired.\n if (!chars) {\n return null;\n }\n\n var event = SyntheticInputEvent.getPooled(eventTypes.beforeInput, topLevelTargetID, nativeEvent, nativeEventTarget);\n\n event.data = chars;\n EventPropagators.accumulateTwoPhaseDispatches(event);\n return event;\n}\n\n/**\n * Create an `onBeforeInput` event to match\n * http://www.w3.org/TR/2013/WD-DOM-Level-3-Events-20131105/#events-inputevents.\n *\n * This event plugin is based on the native `textInput` event\n * available in Chrome, Safari, Opera, and IE. This event fires after\n * `onKeyPress` and `onCompositionEnd`, but before `onInput`.\n *\n * `beforeInput` is spec'd but not implemented in any browsers, and\n * the `input` event does not provide any useful information about what has\n * actually been added, contrary to the spec. Thus, `textInput` is the best\n * available event to identify the characters that have actually been inserted\n * into the target node.\n *\n * This plugin is also responsible for emitting `composition` events, thus\n * allowing us to share composition fallback code for both `beforeInput` and\n * `composition` event types.\n */\nvar BeforeInputEventPlugin = {\n\n eventTypes: eventTypes,\n\n /**\n * @param {string} topLevelType Record from `EventConstants`.\n * @param {DOMEventTarget} topLevelTarget The listening component root node.\n * @param {string} topLevelTargetID ID of `topLevelTarget`.\n * @param {object} nativeEvent Native browser event.\n * @return {*} An accumulation of synthetic events.\n * @see {EventPluginHub.extractEvents}\n */\n extractEvents: function (topLevelType, topLevelTarget, topLevelTargetID, nativeEvent, nativeEventTarget) {\n return [extractCompositionEvent(topLevelType, topLevelTarget, topLevelTargetID, nativeEvent, nativeEventTarget), extractBeforeInputEvent(topLevelType, topLevelTarget, topLevelTargetID, nativeEvent, nativeEventTarget)];\n }\n};\n\nmodule.exports = BeforeInputEventPlugin;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/BeforeInputEventPlugin.js\n **/","/**\n * Copyright 2013-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 * @providesModule EventPropagators\n */\n\n'use strict';\n\nvar EventConstants = require('./EventConstants');\nvar EventPluginHub = require('./EventPluginHub');\n\nvar warning = require('fbjs/lib/warning');\n\nvar accumulateInto = require('./accumulateInto');\nvar forEachAccumulated = require('./forEachAccumulated');\n\nvar PropagationPhases = EventConstants.PropagationPhases;\nvar getListener = EventPluginHub.getListener;\n\n/**\n * Some event types have a notion of different registration names for different\n * \"phases\" of propagation. This finds listeners by a given phase.\n */\nfunction listenerAtPhase(id, event, propagationPhase) {\n var registrationName = event.dispatchConfig.phasedRegistrationNames[propagationPhase];\n return getListener(id, registrationName);\n}\n\n/**\n * Tags a `SyntheticEvent` with dispatched listeners. Creating this function\n * here, allows us to not have to bind or create functions for each event.\n * Mutating the event's members allows us to not have to create a wrapping\n * \"dispatch\" object that pairs the event with the listener.\n */\nfunction accumulateDirectionalDispatches(domID, upwards, event) {\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== 'production' ? warning(domID, 'Dispatching id must not be null') : undefined;\n }\n var phase = upwards ? PropagationPhases.bubbled : PropagationPhases.captured;\n var listener = listenerAtPhase(domID, event, phase);\n if (listener) {\n event._dispatchListeners = accumulateInto(event._dispatchListeners, listener);\n event._dispatchIDs = accumulateInto(event._dispatchIDs, domID);\n }\n}\n\n/**\n * Collect dispatches (must be entirely collected before dispatching - see unit\n * tests). Lazily allocate the array to conserve memory. We must loop through\n * each event and perform the traversal for each one. We cannot perform a\n * single traversal for the entire collection of events because each event may\n * have a different target.\n */\nfunction accumulateTwoPhaseDispatchesSingle(event) {\n if (event && event.dispatchConfig.phasedRegistrationNames) {\n EventPluginHub.injection.getInstanceHandle().traverseTwoPhase(event.dispatchMarker, accumulateDirectionalDispatches, event);\n }\n}\n\n/**\n * Same as `accumulateTwoPhaseDispatchesSingle`, but skips over the targetID.\n */\nfunction accumulateTwoPhaseDispatchesSingleSkipTarget(event) {\n if (event && event.dispatchConfig.phasedRegistrationNames) {\n EventPluginHub.injection.getInstanceHandle().traverseTwoPhaseSkipTarget(event.dispatchMarker, accumulateDirectionalDispatches, event);\n }\n}\n\n/**\n * Accumulates without regard to direction, does not look for phased\n * registration names. Same as `accumulateDirectDispatchesSingle` but without\n * requiring that the `dispatchMarker` be the same as the dispatched ID.\n */\nfunction accumulateDispatches(id, ignoredDirection, event) {\n if (event && event.dispatchConfig.registrationName) {\n var registrationName = event.dispatchConfig.registrationName;\n var listener = getListener(id, registrationName);\n if (listener) {\n event._dispatchListeners = accumulateInto(event._dispatchListeners, listener);\n event._dispatchIDs = accumulateInto(event._dispatchIDs, id);\n }\n }\n}\n\n/**\n * Accumulates dispatches on an `SyntheticEvent`, but only for the\n * `dispatchMarker`.\n * @param {SyntheticEvent} event\n */\nfunction accumulateDirectDispatchesSingle(event) {\n if (event && event.dispatchConfig.registrationName) {\n accumulateDispatches(event.dispatchMarker, null, event);\n }\n}\n\nfunction accumulateTwoPhaseDispatches(events) {\n forEachAccumulated(events, accumulateTwoPhaseDispatchesSingle);\n}\n\nfunction accumulateTwoPhaseDispatchesSkipTarget(events) {\n forEachAccumulated(events, accumulateTwoPhaseDispatchesSingleSkipTarget);\n}\n\nfunction accumulateEnterLeaveDispatches(leave, enter, fromID, toID) {\n EventPluginHub.injection.getInstanceHandle().traverseEnterLeave(fromID, toID, accumulateDispatches, leave, enter);\n}\n\nfunction accumulateDirectDispatches(events) {\n forEachAccumulated(events, accumulateDirectDispatchesSingle);\n}\n\n/**\n * A small set of propagation patterns, each of which will accept a small amount\n * of information, and generate a set of \"dispatch ready event objects\" - which\n * are sets of events that have already been annotated with a set of dispatched\n * listener functions/ids. The API is designed this way to discourage these\n * propagation strategies from actually executing the dispatches, since we\n * always want to collect the entire set of dispatches before executing event a\n * single one.\n *\n * @constructor EventPropagators\n */\nvar EventPropagators = {\n accumulateTwoPhaseDispatches: accumulateTwoPhaseDispatches,\n accumulateTwoPhaseDispatchesSkipTarget: accumulateTwoPhaseDispatchesSkipTarget,\n accumulateDirectDispatches: accumulateDirectDispatches,\n accumulateEnterLeaveDispatches: accumulateEnterLeaveDispatches\n};\n\nmodule.exports = EventPropagators;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/EventPropagators.js\n **/","/**\n * Copyright 2013-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 * @providesModule FallbackCompositionState\n * @typechecks static-only\n */\n\n'use strict';\n\nvar PooledClass = require('./PooledClass');\n\nvar assign = require('./Object.assign');\nvar getTextContentAccessor = require('./getTextContentAccessor');\n\n/**\n * This helper class stores information about text content of a target node,\n * allowing comparison of content before and after a given event.\n *\n * Identify the node where selection currently begins, then observe\n * both its text content and its current position in the DOM. Since the\n * browser may natively replace the target node during composition, we can\n * use its position to find its replacement.\n *\n * @param {DOMEventTarget} root\n */\nfunction FallbackCompositionState(root) {\n this._root = root;\n this._startText = this.getText();\n this._fallbackText = null;\n}\n\nassign(FallbackCompositionState.prototype, {\n destructor: function () {\n this._root = null;\n this._startText = null;\n this._fallbackText = null;\n },\n\n /**\n * Get current text of input.\n *\n * @return {string}\n */\n getText: function () {\n if ('value' in this._root) {\n return this._root.value;\n }\n return this._root[getTextContentAccessor()];\n },\n\n /**\n * Determine the differing substring between the initially stored\n * text content and the current content.\n *\n * @return {string}\n */\n getData: function () {\n if (this._fallbackText) {\n return this._fallbackText;\n }\n\n var start;\n var startValue = this._startText;\n var startLength = startValue.length;\n var end;\n var endValue = this.getText();\n var endLength = endValue.length;\n\n for (start = 0; start < startLength; start++) {\n if (startValue[start] !== endValue[start]) {\n break;\n }\n }\n\n var minEnd = startLength - start;\n for (end = 1; end <= minEnd; end++) {\n if (startValue[startLength - end] !== endValue[endLength - end]) {\n break;\n }\n }\n\n var sliceTail = end > 1 ? 1 - end : undefined;\n this._fallbackText = endValue.slice(start, sliceTail);\n return this._fallbackText;\n }\n});\n\nPooledClass.addPoolingTo(FallbackCompositionState);\n\nmodule.exports = FallbackCompositionState;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/FallbackCompositionState.js\n **/","/**\n * Copyright 2013-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 * @providesModule getTextContentAccessor\n */\n\n'use strict';\n\nvar ExecutionEnvironment = require('fbjs/lib/ExecutionEnvironment');\n\nvar contentKey = null;\n\n/**\n * Gets the key used to access text content on a DOM node.\n *\n * @return {?string} Key used to access text content.\n * @internal\n */\nfunction getTextContentAccessor() {\n if (!contentKey && ExecutionEnvironment.canUseDOM) {\n // Prefer textContent to innerText because many browsers support both but\n // SVG <text> elements don't support innerText even when <div> does.\n contentKey = 'textContent' in document.documentElement ? 'textContent' : 'innerText';\n }\n return contentKey;\n}\n\nmodule.exports = getTextContentAccessor;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/getTextContentAccessor.js\n **/","/**\n * Copyright 2013-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 * @providesModule SyntheticCompositionEvent\n * @typechecks static-only\n */\n\n'use strict';\n\nvar SyntheticEvent = require('./SyntheticEvent');\n\n/**\n * @interface Event\n * @see http://www.w3.org/TR/DOM-Level-3-Events/#events-compositionevents\n */\nvar CompositionEventInterface = {\n data: null\n};\n\n/**\n * @param {object} dispatchConfig Configuration used to dispatch this event.\n * @param {string} dispatchMarker Marker identifying the event target.\n * @param {object} nativeEvent Native browser event.\n * @extends {SyntheticUIEvent}\n */\nfunction SyntheticCompositionEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) {\n SyntheticEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);\n}\n\nSyntheticEvent.augmentClass(SyntheticCompositionEvent, CompositionEventInterface);\n\nmodule.exports = SyntheticCompositionEvent;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/SyntheticCompositionEvent.js\n **/","/**\n * Copyright 2013-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 * @providesModule SyntheticEvent\n * @typechecks static-only\n */\n\n'use strict';\n\nvar PooledClass = require('./PooledClass');\n\nvar assign = require('./Object.assign');\nvar emptyFunction = require('fbjs/lib/emptyFunction');\nvar warning = require('fbjs/lib/warning');\n\n/**\n * @interface Event\n * @see http://www.w3.org/TR/DOM-Level-3-Events/\n */\nvar EventInterface = {\n type: null,\n // currentTarget is set when dispatching; no use in copying it here\n currentTarget: emptyFunction.thatReturnsNull,\n eventPhase: null,\n bubbles: null,\n cancelable: null,\n timeStamp: function (event) {\n return event.timeStamp || Date.now();\n },\n defaultPrevented: null,\n isTrusted: null\n};\n\n/**\n * Synthetic events are dispatched by event plugins, typically in response to a\n * top-level event delegation handler.\n *\n * These systems should generally use pooling to reduce the frequency of garbage\n * collection. The system should check `isPersistent` to determine whether the\n * event should be released into the pool after being dispatched. Users that\n * need a persisted event should invoke `persist`.\n *\n * Synthetic events (and subclasses) implement the DOM Level 3 Events API by\n * normalizing browser quirks. Subclasses do not necessarily have to implement a\n * DOM interface; custom application-specific events can also subclass this.\n *\n * @param {object} dispatchConfig Configuration used to dispatch this event.\n * @param {string} dispatchMarker Marker identifying the event target.\n * @param {object} nativeEvent Native browser event.\n */\nfunction SyntheticEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) {\n this.dispatchConfig = dispatchConfig;\n this.dispatchMarker = dispatchMarker;\n this.nativeEvent = nativeEvent;\n this.target = nativeEventTarget;\n this.currentTarget = nativeEventTarget;\n\n var Interface = this.constructor.Interface;\n for (var propName in Interface) {\n if (!Interface.hasOwnProperty(propName)) {\n continue;\n }\n var normalize = Interface[propName];\n if (normalize) {\n this[propName] = normalize(nativeEvent);\n } else {\n this[propName] = nativeEvent[propName];\n }\n }\n\n var defaultPrevented = nativeEvent.defaultPrevented != null ? nativeEvent.defaultPrevented : nativeEvent.returnValue === false;\n if (defaultPrevented) {\n this.isDefaultPrevented = emptyFunction.thatReturnsTrue;\n } else {\n this.isDefaultPrevented = emptyFunction.thatReturnsFalse;\n }\n this.isPropagationStopped = emptyFunction.thatReturnsFalse;\n}\n\nassign(SyntheticEvent.prototype, {\n\n preventDefault: function () {\n this.defaultPrevented = true;\n var event = this.nativeEvent;\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== 'production' ? warning(event, 'This synthetic event is reused for performance reasons. If you\\'re ' + 'seeing this, you\\'re calling `preventDefault` on a ' + 'released/nullified synthetic event. This is a no-op. See ' + 'https://fb.me/react-event-pooling for more information.') : undefined;\n }\n if (!event) {\n return;\n }\n\n if (event.preventDefault) {\n event.preventDefault();\n } else {\n event.returnValue = false;\n }\n this.isDefaultPrevented = emptyFunction.thatReturnsTrue;\n },\n\n stopPropagation: function () {\n var event = this.nativeEvent;\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== 'production' ? warning(event, 'This synthetic event is reused for performance reasons. If you\\'re ' + 'seeing this, you\\'re calling `stopPropagation` on a ' + 'released/nullified synthetic event. This is a no-op. See ' + 'https://fb.me/react-event-pooling for more information.') : undefined;\n }\n if (!event) {\n return;\n }\n\n if (event.stopPropagation) {\n event.stopPropagation();\n } else {\n event.cancelBubble = true;\n }\n this.isPropagationStopped = emptyFunction.thatReturnsTrue;\n },\n\n /**\n * We release all dispatched `SyntheticEvent`s after each event loop, adding\n * them back into the pool. This allows a way to hold onto a reference that\n * won't be added back into the pool.\n */\n persist: function () {\n this.isPersistent = emptyFunction.thatReturnsTrue;\n },\n\n /**\n * Checks if this event should be released back into the pool.\n *\n * @return {boolean} True if this should not be released, false otherwise.\n */\n isPersistent: emptyFunction.thatReturnsFalse,\n\n /**\n * `PooledClass` looks for `destructor` on each instance it releases.\n */\n destructor: function () {\n var Interface = this.constructor.Interface;\n for (var propName in Interface) {\n this[propName] = null;\n }\n this.dispatchConfig = null;\n this.dispatchMarker = null;\n this.nativeEvent = null;\n }\n\n});\n\nSyntheticEvent.Interface = EventInterface;\n\n/**\n * Helper to reduce boilerplate when creating subclasses.\n *\n * @param {function} Class\n * @param {?object} Interface\n */\nSyntheticEvent.augmentClass = function (Class, Interface) {\n var Super = this;\n\n var prototype = Object.create(Super.prototype);\n assign(prototype, Class.prototype);\n Class.prototype = prototype;\n Class.prototype.constructor = Class;\n\n Class.Interface = assign({}, Super.Interface, Interface);\n Class.augmentClass = Super.augmentClass;\n\n PooledClass.addPoolingTo(Class, PooledClass.fourArgumentPooler);\n};\n\nPooledClass.addPoolingTo(SyntheticEvent, PooledClass.fourArgumentPooler);\n\nmodule.exports = SyntheticEvent;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/SyntheticEvent.js\n **/","/**\n * Copyright 2013-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 * @providesModule SyntheticInputEvent\n * @typechecks static-only\n */\n\n'use strict';\n\nvar SyntheticEvent = require('./SyntheticEvent');\n\n/**\n * @interface Event\n * @see http://www.w3.org/TR/2013/WD-DOM-Level-3-Events-20131105\n * /#events-inputevents\n */\nvar InputEventInterface = {\n data: null\n};\n\n/**\n * @param {object} dispatchConfig Configuration used to dispatch this event.\n * @param {string} dispatchMarker Marker identifying the event target.\n * @param {object} nativeEvent Native browser event.\n * @extends {SyntheticUIEvent}\n */\nfunction SyntheticInputEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) {\n SyntheticEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);\n}\n\nSyntheticEvent.augmentClass(SyntheticInputEvent, InputEventInterface);\n\nmodule.exports = SyntheticInputEvent;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/SyntheticInputEvent.js\n **/","/**\n * Copyright 2013-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 * @providesModule keyOf\n */\n\n/**\n * Allows extraction of a minified key. Let's the build system minify keys\n * without losing the ability to dynamically use key strings as values\n * themselves. Pass in an object with a single key/val pair and it will return\n * you the string key of that single record. Suppose you want to grab the\n * value for a key 'className' inside of an object. Key/val minification may\n * have aliased that key to be 'xa12'. keyOf({className: null}) will return\n * 'xa12' in that case. Resolve keys you want to use once at startup time, then\n * reuse those resolutions.\n */\n\"use strict\";\n\nvar keyOf = function (oneKeyObj) {\n var key;\n for (key in oneKeyObj) {\n if (!oneKeyObj.hasOwnProperty(key)) {\n continue;\n }\n return key;\n }\n return null;\n};\n\nmodule.exports = keyOf;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/~/fbjs/lib/keyOf.js\n **/","/**\n * Copyright 2013-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 * @providesModule ChangeEventPlugin\n */\n\n'use strict';\n\nvar EventConstants = require('./EventConstants');\nvar EventPluginHub = require('./EventPluginHub');\nvar EventPropagators = require('./EventPropagators');\nvar ExecutionEnvironment = require('fbjs/lib/ExecutionEnvironment');\nvar ReactUpdates = require('./ReactUpdates');\nvar SyntheticEvent = require('./SyntheticEvent');\n\nvar getEventTarget = require('./getEventTarget');\nvar isEventSupported = require('./isEventSupported');\nvar isTextInputElement = require('./isTextInputElement');\nvar keyOf = require('fbjs/lib/keyOf');\n\nvar topLevelTypes = EventConstants.topLevelTypes;\n\nvar eventTypes = {\n change: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onChange: null }),\n captured: keyOf({ onChangeCapture: null })\n },\n dependencies: [topLevelTypes.topBlur, topLevelTypes.topChange, topLevelTypes.topClick, topLevelTypes.topFocus, topLevelTypes.topInput, topLevelTypes.topKeyDown, topLevelTypes.topKeyUp, topLevelTypes.topSelectionChange]\n }\n};\n\n/**\n * For IE shims\n */\nvar activeElement = null;\nvar activeElementID = null;\nvar activeElementValue = null;\nvar activeElementValueProp = null;\n\n/**\n * SECTION: handle `change` event\n */\nfunction shouldUseChangeEvent(elem) {\n var nodeName = elem.nodeName && elem.nodeName.toLowerCase();\n return nodeName === 'select' || nodeName === 'input' && elem.type === 'file';\n}\n\nvar doesChangeEventBubble = false;\nif (ExecutionEnvironment.canUseDOM) {\n // See `handleChange` comment below\n doesChangeEventBubble = isEventSupported('change') && (!('documentMode' in document) || document.documentMode > 8);\n}\n\nfunction manualDispatchChangeEvent(nativeEvent) {\n var event = SyntheticEvent.getPooled(eventTypes.change, activeElementID, nativeEvent, getEventTarget(nativeEvent));\n EventPropagators.accumulateTwoPhaseDispatches(event);\n\n // If change and propertychange bubbled, we'd just bind to it like all the\n // other events and have it go through ReactBrowserEventEmitter. Since it\n // doesn't, we manually listen for the events and so we have to enqueue and\n // process the abstract event manually.\n //\n // Batching is necessary here in order to ensure that all event handlers run\n // before the next rerender (including event handlers attached to ancestor\n // elements instead of directly on the input). Without this, controlled\n // components don't work properly in conjunction with event bubbling because\n // the component is rerendered and the value reverted before all the event\n // handlers can run. See https://github.com/facebook/react/issues/708.\n ReactUpdates.batchedUpdates(runEventInBatch, event);\n}\n\nfunction runEventInBatch(event) {\n EventPluginHub.enqueueEvents(event);\n EventPluginHub.processEventQueue(false);\n}\n\nfunction startWatchingForChangeEventIE8(target, targetID) {\n activeElement = target;\n activeElementID = targetID;\n activeElement.attachEvent('onchange', manualDispatchChangeEvent);\n}\n\nfunction stopWatchingForChangeEventIE8() {\n if (!activeElement) {\n return;\n }\n activeElement.detachEvent('onchange', manualDispatchChangeEvent);\n activeElement = null;\n activeElementID = null;\n}\n\nfunction getTargetIDForChangeEvent(topLevelType, topLevelTarget, topLevelTargetID) {\n if (topLevelType === topLevelTypes.topChange) {\n return topLevelTargetID;\n }\n}\nfunction handleEventsForChangeEventIE8(topLevelType, topLevelTarget, topLevelTargetID) {\n if (topLevelType === topLevelTypes.topFocus) {\n // stopWatching() should be a noop here but we call it just in case we\n // missed a blur event somehow.\n stopWatchingForChangeEventIE8();\n startWatchingForChangeEventIE8(topLevelTarget, topLevelTargetID);\n } else if (topLevelType === topLevelTypes.topBlur) {\n stopWatchingForChangeEventIE8();\n }\n}\n\n/**\n * SECTION: handle `input` event\n */\nvar isInputEventSupported = false;\nif (ExecutionEnvironment.canUseDOM) {\n // IE9 claims to support the input event but fails to trigger it when\n // deleting text, so we ignore its input events\n isInputEventSupported = isEventSupported('input') && (!('documentMode' in document) || document.documentMode > 9);\n}\n\n/**\n * (For old IE.) Replacement getter/setter for the `value` property that gets\n * set on the active element.\n */\nvar newValueProp = {\n get: function () {\n return activeElementValueProp.get.call(this);\n },\n set: function (val) {\n // Cast to a string so we can do equality checks.\n activeElementValue = '' + val;\n activeElementValueProp.set.call(this, val);\n }\n};\n\n/**\n * (For old IE.) Starts tracking propertychange events on the passed-in element\n * and override the value property so that we can distinguish user events from\n * value changes in JS.\n */\nfunction startWatchingForValueChange(target, targetID) {\n activeElement = target;\n activeElementID = targetID;\n activeElementValue = target.value;\n activeElementValueProp = Object.getOwnPropertyDescriptor(target.constructor.prototype, 'value');\n\n Object.defineProperty(activeElement, 'value', newValueProp);\n activeElement.attachEvent('onpropertychange', handlePropertyChange);\n}\n\n/**\n * (For old IE.) Removes the event listeners from the currently-tracked element,\n * if any exists.\n */\nfunction stopWatchingForValueChange() {\n if (!activeElement) {\n return;\n }\n\n // delete restores the original property definition\n delete activeElement.value;\n activeElement.detachEvent('onpropertychange', handlePropertyChange);\n\n activeElement = null;\n activeElementID = null;\n activeElementValue = null;\n activeElementValueProp = null;\n}\n\n/**\n * (For old IE.) Handles a propertychange event, sending a `change` event if\n * the value of the active element has changed.\n */\nfunction handlePropertyChange(nativeEvent) {\n if (nativeEvent.propertyName !== 'value') {\n return;\n }\n var value = nativeEvent.srcElement.value;\n if (value === activeElementValue) {\n return;\n }\n activeElementValue = value;\n\n manualDispatchChangeEvent(nativeEvent);\n}\n\n/**\n * If a `change` event should be fired, returns the target's ID.\n */\nfunction getTargetIDForInputEvent(topLevelType, topLevelTarget, topLevelTargetID) {\n if (topLevelType === topLevelTypes.topInput) {\n // In modern browsers (i.e., not IE8 or IE9), the input event is exactly\n // what we want so fall through here and trigger an abstract event\n return topLevelTargetID;\n }\n}\n\n// For IE8 and IE9.\nfunction handleEventsForInputEventIE(topLevelType, topLevelTarget, topLevelTargetID) {\n if (topLevelType === topLevelTypes.topFocus) {\n // In IE8, we can capture almost all .value changes by adding a\n // propertychange handler and looking for events with propertyName\n // equal to 'value'\n // In IE9, propertychange fires for most input events but is buggy and\n // doesn't fire when text is deleted, but conveniently, selectionchange\n // appears to fire in all of the remaining cases so we catch those and\n // forward the event if the value has changed\n // In either case, we don't want to call the event handler if the value\n // is changed from JS so we redefine a setter for `.value` that updates\n // our activeElementValue variable, allowing us to ignore those changes\n //\n // stopWatching() should be a noop here but we call it just in case we\n // missed a blur event somehow.\n stopWatchingForValueChange();\n startWatchingForValueChange(topLevelTarget, topLevelTargetID);\n } else if (topLevelType === topLevelTypes.topBlur) {\n stopWatchingForValueChange();\n }\n}\n\n// For IE8 and IE9.\nfunction getTargetIDForInputEventIE(topLevelType, topLevelTarget, topLevelTargetID) {\n if (topLevelType === topLevelTypes.topSelectionChange || topLevelType === topLevelTypes.topKeyUp || topLevelType === topLevelTypes.topKeyDown) {\n // On the selectionchange event, the target is just document which isn't\n // helpful for us so just check activeElement instead.\n //\n // 99% of the time, keydown and keyup aren't necessary. IE8 fails to fire\n // propertychange on the first input event after setting `value` from a\n // script and fires only keydown, keypress, keyup. Catching keyup usually\n // gets it and catching keydown lets us fire an event for the first\n // keystroke if user does a key repeat (it'll be a little delayed: right\n // before the second keystroke). Other input methods (e.g., paste) seem to\n // fire selectionchange normally.\n if (activeElement && activeElement.value !== activeElementValue) {\n activeElementValue = activeElement.value;\n return activeElementID;\n }\n }\n}\n\n/**\n * SECTION: handle `click` event\n */\nfunction shouldUseClickEvent(elem) {\n // Use the `click` event to detect changes to checkbox and radio inputs.\n // This approach works across all browsers, whereas `change` does not fire\n // until `blur` in IE8.\n return elem.nodeName && elem.nodeName.toLowerCase() === 'input' && (elem.type === 'checkbox' || elem.type === 'radio');\n}\n\nfunction getTargetIDForClickEvent(topLevelType, topLevelTarget, topLevelTargetID) {\n if (topLevelType === topLevelTypes.topClick) {\n return topLevelTargetID;\n }\n}\n\n/**\n * This plugin creates an `onChange` event that normalizes change events\n * across form elements. This event fires at a time when it's possible to\n * change the element's value without seeing a flicker.\n *\n * Supported elements are:\n * - input (see `isTextInputElement`)\n * - textarea\n * - select\n */\nvar ChangeEventPlugin = {\n\n eventTypes: eventTypes,\n\n /**\n * @param {string} topLevelType Record from `EventConstants`.\n * @param {DOMEventTarget} topLevelTarget The listening component root node.\n * @param {string} topLevelTargetID ID of `topLevelTarget`.\n * @param {object} nativeEvent Native browser event.\n * @return {*} An accumulation of synthetic events.\n * @see {EventPluginHub.extractEvents}\n */\n extractEvents: function (topLevelType, topLevelTarget, topLevelTargetID, nativeEvent, nativeEventTarget) {\n\n var getTargetIDFunc, handleEventFunc;\n if (shouldUseChangeEvent(topLevelTarget)) {\n if (doesChangeEventBubble) {\n getTargetIDFunc = getTargetIDForChangeEvent;\n } else {\n handleEventFunc = handleEventsForChangeEventIE8;\n }\n } else if (isTextInputElement(topLevelTarget)) {\n if (isInputEventSupported) {\n getTargetIDFunc = getTargetIDForInputEvent;\n } else {\n getTargetIDFunc = getTargetIDForInputEventIE;\n handleEventFunc = handleEventsForInputEventIE;\n }\n } else if (shouldUseClickEvent(topLevelTarget)) {\n getTargetIDFunc = getTargetIDForClickEvent;\n }\n\n if (getTargetIDFunc) {\n var targetID = getTargetIDFunc(topLevelType, topLevelTarget, topLevelTargetID);\n if (targetID) {\n var event = SyntheticEvent.getPooled(eventTypes.change, targetID, nativeEvent, nativeEventTarget);\n event.type = 'change';\n EventPropagators.accumulateTwoPhaseDispatches(event);\n return event;\n }\n }\n\n if (handleEventFunc) {\n handleEventFunc(topLevelType, topLevelTarget, topLevelTargetID);\n }\n }\n\n};\n\nmodule.exports = ChangeEventPlugin;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/ChangeEventPlugin.js\n **/","/**\n * Copyright 2013-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 * @providesModule getEventTarget\n * @typechecks static-only\n */\n\n'use strict';\n\n/**\n * Gets the target node from a native browser event by accounting for\n * inconsistencies in browser DOM APIs.\n *\n * @param {object} nativeEvent Native browser event.\n * @return {DOMEventTarget} Target node.\n */\nfunction getEventTarget(nativeEvent) {\n var target = nativeEvent.target || nativeEvent.srcElement || window;\n // Safari may fire events on text nodes (Node.TEXT_NODE is 3).\n // @see http://www.quirksmode.org/js/events_properties.html\n return target.nodeType === 3 ? target.parentNode : target;\n}\n\nmodule.exports = getEventTarget;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/getEventTarget.js\n **/","/**\n * Copyright 2013-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 * @providesModule isTextInputElement\n */\n\n'use strict';\n\n/**\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/the-input-element.html#input-type-attr-summary\n */\nvar supportedInputTypes = {\n 'color': true,\n 'date': true,\n 'datetime': true,\n 'datetime-local': true,\n 'email': true,\n 'month': true,\n 'number': true,\n 'password': true,\n 'range': true,\n 'search': true,\n 'tel': true,\n 'text': true,\n 'time': true,\n 'url': true,\n 'week': true\n};\n\nfunction isTextInputElement(elem) {\n var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase();\n return nodeName && (nodeName === 'input' && supportedInputTypes[elem.type] || nodeName === 'textarea');\n}\n\nmodule.exports = isTextInputElement;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/isTextInputElement.js\n **/","/**\n * Copyright 2013-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 * @providesModule ClientReactRootIndex\n * @typechecks\n */\n\n'use strict';\n\nvar nextReactRootIndex = 0;\n\nvar ClientReactRootIndex = {\n createReactRootIndex: function () {\n return nextReactRootIndex++;\n }\n};\n\nmodule.exports = ClientReactRootIndex;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/ClientReactRootIndex.js\n **/","/**\n * Copyright 2013-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 * @providesModule DefaultEventPluginOrder\n */\n\n'use strict';\n\nvar keyOf = require('fbjs/lib/keyOf');\n\n/**\n * Module that is injectable into `EventPluginHub`, that specifies a\n * deterministic ordering of `EventPlugin`s. A convenient way to reason about\n * plugins, without having to package every one of them. This is better than\n * having plugins be ordered in the same order that they are injected because\n * that ordering would be influenced by the packaging order.\n * `ResponderEventPlugin` must occur before `SimpleEventPlugin` so that\n * preventing default on events is convenient in `SimpleEventPlugin` handlers.\n */\nvar DefaultEventPluginOrder = [keyOf({ ResponderEventPlugin: null }), keyOf({ SimpleEventPlugin: null }), keyOf({ TapEventPlugin: null }), keyOf({ EnterLeaveEventPlugin: null }), keyOf({ ChangeEventPlugin: null }), keyOf({ SelectEventPlugin: null }), keyOf({ BeforeInputEventPlugin: null })];\n\nmodule.exports = DefaultEventPluginOrder;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/DefaultEventPluginOrder.js\n **/","/**\n * Copyright 2013-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 * @providesModule EnterLeaveEventPlugin\n * @typechecks static-only\n */\n\n'use strict';\n\nvar EventConstants = require('./EventConstants');\nvar EventPropagators = require('./EventPropagators');\nvar SyntheticMouseEvent = require('./SyntheticMouseEvent');\n\nvar ReactMount = require('./ReactMount');\nvar keyOf = require('fbjs/lib/keyOf');\n\nvar topLevelTypes = EventConstants.topLevelTypes;\nvar getFirstReactDOM = ReactMount.getFirstReactDOM;\n\nvar eventTypes = {\n mouseEnter: {\n registrationName: keyOf({ onMouseEnter: null }),\n dependencies: [topLevelTypes.topMouseOut, topLevelTypes.topMouseOver]\n },\n mouseLeave: {\n registrationName: keyOf({ onMouseLeave: null }),\n dependencies: [topLevelTypes.topMouseOut, topLevelTypes.topMouseOver]\n }\n};\n\nvar extractedEvents = [null, null];\n\nvar EnterLeaveEventPlugin = {\n\n eventTypes: eventTypes,\n\n /**\n * For almost every interaction we care about, there will be both a top-level\n * `mouseover` and `mouseout` event that occurs. Only use `mouseout` so that\n * we do not extract duplicate events. However, moving the mouse into the\n * browser from outside will not fire a `mouseout` event. In this case, we use\n * the `mouseover` top-level event.\n *\n * @param {string} topLevelType Record from `EventConstants`.\n * @param {DOMEventTarget} topLevelTarget The listening component root node.\n * @param {string} topLevelTargetID ID of `topLevelTarget`.\n * @param {object} nativeEvent Native browser event.\n * @return {*} An accumulation of synthetic events.\n * @see {EventPluginHub.extractEvents}\n */\n extractEvents: function (topLevelType, topLevelTarget, topLevelTargetID, nativeEvent, nativeEventTarget) {\n if (topLevelType === topLevelTypes.topMouseOver && (nativeEvent.relatedTarget || nativeEvent.fromElement)) {\n return null;\n }\n if (topLevelType !== topLevelTypes.topMouseOut && topLevelType !== topLevelTypes.topMouseOver) {\n // Must not be a mouse in or mouse out - ignoring.\n return null;\n }\n\n var win;\n if (topLevelTarget.window === topLevelTarget) {\n // `topLevelTarget` is probably a window object.\n win = topLevelTarget;\n } else {\n // TODO: Figure out why `ownerDocument` is sometimes undefined in IE8.\n var doc = topLevelTarget.ownerDocument;\n if (doc) {\n win = doc.defaultView || doc.parentWindow;\n } else {\n win = window;\n }\n }\n\n var from;\n var to;\n var fromID = '';\n var toID = '';\n if (topLevelType === topLevelTypes.topMouseOut) {\n from = topLevelTarget;\n fromID = topLevelTargetID;\n to = getFirstReactDOM(nativeEvent.relatedTarget || nativeEvent.toElement);\n if (to) {\n toID = ReactMount.getID(to);\n } else {\n to = win;\n }\n to = to || win;\n } else {\n from = win;\n to = topLevelTarget;\n toID = topLevelTargetID;\n }\n\n if (from === to) {\n // Nothing pertains to our managed components.\n return null;\n }\n\n var leave = SyntheticMouseEvent.getPooled(eventTypes.mouseLeave, fromID, nativeEvent, nativeEventTarget);\n leave.type = 'mouseleave';\n leave.target = from;\n leave.relatedTarget = to;\n\n var enter = SyntheticMouseEvent.getPooled(eventTypes.mouseEnter, toID, nativeEvent, nativeEventTarget);\n enter.type = 'mouseenter';\n enter.target = to;\n enter.relatedTarget = from;\n\n EventPropagators.accumulateEnterLeaveDispatches(leave, enter, fromID, toID);\n\n extractedEvents[0] = leave;\n extractedEvents[1] = enter;\n\n return extractedEvents;\n }\n\n};\n\nmodule.exports = EnterLeaveEventPlugin;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/EnterLeaveEventPlugin.js\n **/","/**\n * Copyright 2013-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 * @providesModule SyntheticMouseEvent\n * @typechecks static-only\n */\n\n'use strict';\n\nvar SyntheticUIEvent = require('./SyntheticUIEvent');\nvar ViewportMetrics = require('./ViewportMetrics');\n\nvar getEventModifierState = require('./getEventModifierState');\n\n/**\n * @interface MouseEvent\n * @see http://www.w3.org/TR/DOM-Level-3-Events/\n */\nvar MouseEventInterface = {\n screenX: null,\n screenY: null,\n clientX: null,\n clientY: null,\n ctrlKey: null,\n shiftKey: null,\n altKey: null,\n metaKey: null,\n getModifierState: getEventModifierState,\n button: function (event) {\n // Webkit, Firefox, IE9+\n // which: 1 2 3\n // button: 0 1 2 (standard)\n var button = event.button;\n if ('which' in event) {\n return button;\n }\n // IE<9\n // which: undefined\n // button: 0 0 0\n // button: 1 4 2 (onmouseup)\n return button === 2 ? 2 : button === 4 ? 1 : 0;\n },\n buttons: null,\n relatedTarget: function (event) {\n return event.relatedTarget || (event.fromElement === event.srcElement ? event.toElement : event.fromElement);\n },\n // \"Proprietary\" Interface.\n pageX: function (event) {\n return 'pageX' in event ? event.pageX : event.clientX + ViewportMetrics.currentScrollLeft;\n },\n pageY: function (event) {\n return 'pageY' in event ? event.pageY : event.clientY + ViewportMetrics.currentScrollTop;\n }\n};\n\n/**\n * @param {object} dispatchConfig Configuration used to dispatch this event.\n * @param {string} dispatchMarker Marker identifying the event target.\n * @param {object} nativeEvent Native browser event.\n * @extends {SyntheticUIEvent}\n */\nfunction SyntheticMouseEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) {\n SyntheticUIEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);\n}\n\nSyntheticUIEvent.augmentClass(SyntheticMouseEvent, MouseEventInterface);\n\nmodule.exports = SyntheticMouseEvent;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/SyntheticMouseEvent.js\n **/","/**\n * Copyright 2013-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 * @providesModule SyntheticUIEvent\n * @typechecks static-only\n */\n\n'use strict';\n\nvar SyntheticEvent = require('./SyntheticEvent');\n\nvar getEventTarget = require('./getEventTarget');\n\n/**\n * @interface UIEvent\n * @see http://www.w3.org/TR/DOM-Level-3-Events/\n */\nvar UIEventInterface = {\n view: function (event) {\n if (event.view) {\n return event.view;\n }\n\n var target = getEventTarget(event);\n if (target != null && target.window === target) {\n // target is a window object\n return target;\n }\n\n var doc = target.ownerDocument;\n // TODO: Figure out why `ownerDocument` is sometimes undefined in IE8.\n if (doc) {\n return doc.defaultView || doc.parentWindow;\n } else {\n return window;\n }\n },\n detail: function (event) {\n return event.detail || 0;\n }\n};\n\n/**\n * @param {object} dispatchConfig Configuration used to dispatch this event.\n * @param {string} dispatchMarker Marker identifying the event target.\n * @param {object} nativeEvent Native browser event.\n * @extends {SyntheticEvent}\n */\nfunction SyntheticUIEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) {\n SyntheticEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);\n}\n\nSyntheticEvent.augmentClass(SyntheticUIEvent, UIEventInterface);\n\nmodule.exports = SyntheticUIEvent;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/SyntheticUIEvent.js\n **/","/**\n * Copyright 2013-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 * @providesModule getEventModifierState\n * @typechecks static-only\n */\n\n'use strict';\n\n/**\n * Translation from modifier key to the associated property in the event.\n * @see http://www.w3.org/TR/DOM-Level-3-Events/#keys-Modifiers\n */\n\nvar modifierKeyToProp = {\n 'Alt': 'altKey',\n 'Control': 'ctrlKey',\n 'Meta': 'metaKey',\n 'Shift': 'shiftKey'\n};\n\n// IE8 does not implement getModifierState so we simply map it to the only\n// modifier keys exposed by the event itself, does not support Lock-keys.\n// Currently, all major browsers except Chrome seems to support Lock-keys.\nfunction modifierStateGetter(keyArg) {\n var syntheticEvent = this;\n var nativeEvent = syntheticEvent.nativeEvent;\n if (nativeEvent.getModifierState) {\n return nativeEvent.getModifierState(keyArg);\n }\n var keyProp = modifierKeyToProp[keyArg];\n return keyProp ? !!nativeEvent[keyProp] : false;\n}\n\nfunction getEventModifierState(nativeEvent) {\n return modifierStateGetter;\n}\n\nmodule.exports = getEventModifierState;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/getEventModifierState.js\n **/","/**\n * Copyright 2013-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 * @providesModule HTMLDOMPropertyConfig\n */\n\n'use strict';\n\nvar DOMProperty = require('./DOMProperty');\nvar ExecutionEnvironment = require('fbjs/lib/ExecutionEnvironment');\n\nvar MUST_USE_ATTRIBUTE = DOMProperty.injection.MUST_USE_ATTRIBUTE;\nvar MUST_USE_PROPERTY = DOMProperty.injection.MUST_USE_PROPERTY;\nvar HAS_BOOLEAN_VALUE = DOMProperty.injection.HAS_BOOLEAN_VALUE;\nvar HAS_SIDE_EFFECTS = DOMProperty.injection.HAS_SIDE_EFFECTS;\nvar HAS_NUMERIC_VALUE = DOMProperty.injection.HAS_NUMERIC_VALUE;\nvar HAS_POSITIVE_NUMERIC_VALUE = DOMProperty.injection.HAS_POSITIVE_NUMERIC_VALUE;\nvar HAS_OVERLOADED_BOOLEAN_VALUE = DOMProperty.injection.HAS_OVERLOADED_BOOLEAN_VALUE;\n\nvar hasSVG;\nif (ExecutionEnvironment.canUseDOM) {\n var implementation = document.implementation;\n hasSVG = implementation && implementation.hasFeature && implementation.hasFeature('http://www.w3.org/TR/SVG11/feature#BasicStructure', '1.1');\n}\n\nvar HTMLDOMPropertyConfig = {\n isCustomAttribute: RegExp.prototype.test.bind(/^(data|aria)-[a-z_][a-z\\d_.\\-]*$/),\n Properties: {\n /**\n * Standard Properties\n */\n accept: null,\n acceptCharset: null,\n accessKey: null,\n action: null,\n allowFullScreen: MUST_USE_ATTRIBUTE | HAS_BOOLEAN_VALUE,\n allowTransparency: MUST_USE_ATTRIBUTE,\n alt: null,\n async: HAS_BOOLEAN_VALUE,\n autoComplete: null,\n // autoFocus is polyfilled/normalized by AutoFocusUtils\n // autoFocus: HAS_BOOLEAN_VALUE,\n autoPlay: HAS_BOOLEAN_VALUE,\n capture: MUST_USE_ATTRIBUTE | HAS_BOOLEAN_VALUE,\n cellPadding: null,\n cellSpacing: null,\n charSet: MUST_USE_ATTRIBUTE,\n challenge: MUST_USE_ATTRIBUTE,\n checked: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE,\n classID: MUST_USE_ATTRIBUTE,\n // To set className on SVG elements, it's necessary to use .setAttribute;\n // this works on HTML elements too in all browsers except IE8. Conveniently,\n // IE8 doesn't support SVG and so we can simply use the attribute in\n // browsers that support SVG and the property in browsers that don't,\n // regardless of whether the element is HTML or SVG.\n className: hasSVG ? MUST_USE_ATTRIBUTE : MUST_USE_PROPERTY,\n cols: MUST_USE_ATTRIBUTE | HAS_POSITIVE_NUMERIC_VALUE,\n colSpan: null,\n content: null,\n contentEditable: null,\n contextMenu: MUST_USE_ATTRIBUTE,\n controls: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE,\n coords: null,\n crossOrigin: null,\n data: null, // For `<object />` acts as `src`.\n dateTime: MUST_USE_ATTRIBUTE,\n defer: HAS_BOOLEAN_VALUE,\n dir: null,\n disabled: MUST_USE_ATTRIBUTE | HAS_BOOLEAN_VALUE,\n download: HAS_OVERLOADED_BOOLEAN_VALUE,\n draggable: null,\n encType: null,\n form: MUST_USE_ATTRIBUTE,\n formAction: MUST_USE_ATTRIBUTE,\n formEncType: MUST_USE_ATTRIBUTE,\n formMethod: MUST_USE_ATTRIBUTE,\n formNoValidate: HAS_BOOLEAN_VALUE,\n formTarget: MUST_USE_ATTRIBUTE,\n frameBorder: MUST_USE_ATTRIBUTE,\n headers: null,\n height: MUST_USE_ATTRIBUTE,\n hidden: MUST_USE_ATTRIBUTE | HAS_BOOLEAN_VALUE,\n high: null,\n href: null,\n hrefLang: null,\n htmlFor: null,\n httpEquiv: null,\n icon: null,\n id: MUST_USE_PROPERTY,\n inputMode: MUST_USE_ATTRIBUTE,\n is: MUST_USE_ATTRIBUTE,\n keyParams: MUST_USE_ATTRIBUTE,\n keyType: MUST_USE_ATTRIBUTE,\n label: null,\n lang: null,\n list: MUST_USE_ATTRIBUTE,\n loop: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE,\n low: null,\n manifest: MUST_USE_ATTRIBUTE,\n marginHeight: null,\n marginWidth: null,\n max: null,\n maxLength: MUST_USE_ATTRIBUTE,\n media: MUST_USE_ATTRIBUTE,\n mediaGroup: null,\n method: null,\n min: null,\n minLength: MUST_USE_ATTRIBUTE,\n multiple: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE,\n muted: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE,\n name: null,\n noValidate: HAS_BOOLEAN_VALUE,\n open: HAS_BOOLEAN_VALUE,\n optimum: null,\n pattern: null,\n placeholder: null,\n poster: null,\n preload: null,\n radioGroup: null,\n readOnly: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE,\n rel: null,\n required: HAS_BOOLEAN_VALUE,\n role: MUST_USE_ATTRIBUTE,\n rows: MUST_USE_ATTRIBUTE | HAS_POSITIVE_NUMERIC_VALUE,\n rowSpan: null,\n sandbox: null,\n scope: null,\n scoped: HAS_BOOLEAN_VALUE,\n scrolling: null,\n seamless: MUST_USE_ATTRIBUTE | HAS_BOOLEAN_VALUE,\n selected: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE,\n shape: null,\n size: MUST_USE_ATTRIBUTE | HAS_POSITIVE_NUMERIC_VALUE,\n sizes: MUST_USE_ATTRIBUTE,\n span: HAS_POSITIVE_NUMERIC_VALUE,\n spellCheck: null,\n src: null,\n srcDoc: MUST_USE_PROPERTY,\n srcSet: MUST_USE_ATTRIBUTE,\n start: HAS_NUMERIC_VALUE,\n step: null,\n style: null,\n summary: null,\n tabIndex: null,\n target: null,\n title: null,\n type: null,\n useMap: null,\n value: MUST_USE_PROPERTY | HAS_SIDE_EFFECTS,\n width: MUST_USE_ATTRIBUTE,\n wmode: MUST_USE_ATTRIBUTE,\n wrap: null,\n\n /**\n * RDFa Properties\n */\n about: MUST_USE_ATTRIBUTE,\n datatype: MUST_USE_ATTRIBUTE,\n inlist: MUST_USE_ATTRIBUTE,\n prefix: MUST_USE_ATTRIBUTE,\n // property is also supported for OpenGraph in meta tags.\n property: MUST_USE_ATTRIBUTE,\n resource: MUST_USE_ATTRIBUTE,\n 'typeof': MUST_USE_ATTRIBUTE,\n vocab: MUST_USE_ATTRIBUTE,\n\n /**\n * Non-standard Properties\n */\n // autoCapitalize and autoCorrect are supported in Mobile Safari for\n // keyboard hints.\n autoCapitalize: null,\n autoCorrect: null,\n // autoSave allows WebKit/Blink to persist values of input fields on page reloads\n autoSave: null,\n // itemProp, itemScope, itemType are for\n // Microdata support. See http://schema.org/docs/gs.html\n itemProp: MUST_USE_ATTRIBUTE,\n itemScope: MUST_USE_ATTRIBUTE | HAS_BOOLEAN_VALUE,\n itemType: MUST_USE_ATTRIBUTE,\n // itemID and itemRef are for Microdata support as well but\n // only specified in the the WHATWG spec document. See\n // https://html.spec.whatwg.org/multipage/microdata.html#microdata-dom-api\n itemID: MUST_USE_ATTRIBUTE,\n itemRef: MUST_USE_ATTRIBUTE,\n // results show looking glass icon and recent searches on input\n // search fields in WebKit/Blink\n results: null,\n // IE-only attribute that specifies security restrictions on an iframe\n // as an alternative to the sandbox attribute on IE<10\n security: MUST_USE_ATTRIBUTE,\n // IE-only attribute that controls focus behavior\n unselectable: MUST_USE_ATTRIBUTE\n },\n DOMAttributeNames: {\n acceptCharset: 'accept-charset',\n className: 'class',\n htmlFor: 'for',\n httpEquiv: 'http-equiv'\n },\n DOMPropertyNames: {\n autoCapitalize: 'autocapitalize',\n autoComplete: 'autocomplete',\n autoCorrect: 'autocorrect',\n autoFocus: 'autofocus',\n autoPlay: 'autoplay',\n autoSave: 'autosave',\n // `encoding` is equivalent to `enctype`, IE8 lacks an `enctype` setter.\n // http://www.w3.org/TR/html5/forms.html#dom-fs-encoding\n encType: 'encoding',\n hrefLang: 'hreflang',\n radioGroup: 'radiogroup',\n spellCheck: 'spellcheck',\n srcDoc: 'srcdoc',\n srcSet: 'srcset'\n }\n};\n\nmodule.exports = HTMLDOMPropertyConfig;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/HTMLDOMPropertyConfig.js\n **/","/**\n * Copyright 2013-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 * @providesModule ReactBrowserComponentMixin\n */\n\n'use strict';\n\nvar ReactInstanceMap = require('./ReactInstanceMap');\n\nvar findDOMNode = require('./findDOMNode');\nvar warning = require('fbjs/lib/warning');\n\nvar didWarnKey = '_getDOMNodeDidWarn';\n\nvar ReactBrowserComponentMixin = {\n /**\n * Returns the DOM node rendered by this component.\n *\n * @return {DOMElement} The root node of this component.\n * @final\n * @protected\n */\n getDOMNode: function () {\n process.env.NODE_ENV !== 'production' ? warning(this.constructor[didWarnKey], '%s.getDOMNode(...) is deprecated. Please use ' + 'ReactDOM.findDOMNode(instance) instead.', ReactInstanceMap.get(this).getName() || this.tagName || 'Unknown') : undefined;\n this.constructor[didWarnKey] = true;\n return findDOMNode(this);\n }\n};\n\nmodule.exports = ReactBrowserComponentMixin;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/ReactBrowserComponentMixin.js\n **/","/**\n * Copyright 2013-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 * @providesModule findDOMNode\n * @typechecks static-only\n */\n\n'use strict';\n\nvar ReactCurrentOwner = require('./ReactCurrentOwner');\nvar ReactInstanceMap = require('./ReactInstanceMap');\nvar ReactMount = require('./ReactMount');\n\nvar invariant = require('fbjs/lib/invariant');\nvar warning = require('fbjs/lib/warning');\n\n/**\n * Returns the DOM node rendered by this element.\n *\n * @param {ReactComponent|DOMElement} componentOrElement\n * @return {?DOMElement} The root node of this element.\n */\nfunction findDOMNode(componentOrElement) {\n if (process.env.NODE_ENV !== 'production') {\n var owner = ReactCurrentOwner.current;\n if (owner !== null) {\n process.env.NODE_ENV !== 'production' ? warning(owner._warnedAboutRefsInRender, '%s is accessing getDOMNode or findDOMNode inside its render(). ' + 'render() should be a pure function of props and state. It should ' + 'never access something that requires stale data from the previous ' + 'render, such as refs. Move this logic to componentDidMount and ' + 'componentDidUpdate instead.', owner.getName() || 'A component') : undefined;\n owner._warnedAboutRefsInRender = true;\n }\n }\n if (componentOrElement == null) {\n return null;\n }\n if (componentOrElement.nodeType === 1) {\n return componentOrElement;\n }\n if (ReactInstanceMap.has(componentOrElement)) {\n return ReactMount.getNodeFromInstance(componentOrElement);\n }\n !(componentOrElement.render == null || typeof componentOrElement.render !== 'function') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'findDOMNode was called on an unmounted component.') : invariant(false) : undefined;\n !false ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Element appears to be neither ReactComponent nor DOMNode (keys: %s)', Object.keys(componentOrElement)) : invariant(false) : undefined;\n}\n\nmodule.exports = findDOMNode;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/findDOMNode.js\n **/","/**\n * Copyright 2013-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 * @providesModule ReactDefaultBatchingStrategy\n */\n\n'use strict';\n\nvar ReactUpdates = require('./ReactUpdates');\nvar Transaction = require('./Transaction');\n\nvar assign = require('./Object.assign');\nvar emptyFunction = require('fbjs/lib/emptyFunction');\n\nvar RESET_BATCHED_UPDATES = {\n initialize: emptyFunction,\n close: function () {\n ReactDefaultBatchingStrategy.isBatchingUpdates = false;\n }\n};\n\nvar FLUSH_BATCHED_UPDATES = {\n initialize: emptyFunction,\n close: ReactUpdates.flushBatchedUpdates.bind(ReactUpdates)\n};\n\nvar TRANSACTION_WRAPPERS = [FLUSH_BATCHED_UPDATES, RESET_BATCHED_UPDATES];\n\nfunction ReactDefaultBatchingStrategyTransaction() {\n this.reinitializeTransaction();\n}\n\nassign(ReactDefaultBatchingStrategyTransaction.prototype, Transaction.Mixin, {\n getTransactionWrappers: function () {\n return TRANSACTION_WRAPPERS;\n }\n});\n\nvar transaction = new ReactDefaultBatchingStrategyTransaction();\n\nvar ReactDefaultBatchingStrategy = {\n isBatchingUpdates: false,\n\n /**\n * Call the provided function in a context within which calls to `setState`\n * and friends are batched such that components aren't updated unnecessarily.\n */\n batchedUpdates: function (callback, a, b, c, d, e) {\n var alreadyBatchingUpdates = ReactDefaultBatchingStrategy.isBatchingUpdates;\n\n ReactDefaultBatchingStrategy.isBatchingUpdates = true;\n\n // The code is written this way to avoid extra allocations\n if (alreadyBatchingUpdates) {\n callback(a, b, c, d, e);\n } else {\n transaction.perform(callback, null, a, b, c, d, e);\n }\n }\n};\n\nmodule.exports = ReactDefaultBatchingStrategy;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/ReactDefaultBatchingStrategy.js\n **/","/**\n * Copyright 2013-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 * @providesModule ReactDOMComponent\n * @typechecks static-only\n */\n\n/* global hasOwnProperty:true */\n\n'use strict';\n\nvar AutoFocusUtils = require('./AutoFocusUtils');\nvar CSSPropertyOperations = require('./CSSPropertyOperations');\nvar DOMProperty = require('./DOMProperty');\nvar DOMPropertyOperations = require('./DOMPropertyOperations');\nvar EventConstants = require('./EventConstants');\nvar ReactBrowserEventEmitter = require('./ReactBrowserEventEmitter');\nvar ReactComponentBrowserEnvironment = require('./ReactComponentBrowserEnvironment');\nvar ReactDOMButton = require('./ReactDOMButton');\nvar ReactDOMInput = require('./ReactDOMInput');\nvar ReactDOMOption = require('./ReactDOMOption');\nvar ReactDOMSelect = require('./ReactDOMSelect');\nvar ReactDOMTextarea = require('./ReactDOMTextarea');\nvar ReactMount = require('./ReactMount');\nvar ReactMultiChild = require('./ReactMultiChild');\nvar ReactPerf = require('./ReactPerf');\nvar ReactUpdateQueue = require('./ReactUpdateQueue');\n\nvar assign = require('./Object.assign');\nvar escapeTextContentForBrowser = require('./escapeTextContentForBrowser');\nvar invariant = require('fbjs/lib/invariant');\nvar isEventSupported = require('./isEventSupported');\nvar keyOf = require('fbjs/lib/keyOf');\nvar setInnerHTML = require('./setInnerHTML');\nvar setTextContent = require('./setTextContent');\nvar shallowEqual = require('fbjs/lib/shallowEqual');\nvar validateDOMNesting = require('./validateDOMNesting');\nvar warning = require('fbjs/lib/warning');\n\nvar deleteListener = ReactBrowserEventEmitter.deleteListener;\nvar listenTo = ReactBrowserEventEmitter.listenTo;\nvar registrationNameModules = ReactBrowserEventEmitter.registrationNameModules;\n\n// For quickly matching children type, to test if can be treated as content.\nvar CONTENT_TYPES = { 'string': true, 'number': true };\n\nvar STYLE = keyOf({ style: null });\n\nvar ELEMENT_NODE_TYPE = 1;\n\nvar canDefineProperty = false;\ntry {\n Object.defineProperty({}, 'test', { get: function () {} });\n canDefineProperty = true;\n} catch (e) {}\n\nfunction getDeclarationErrorAddendum(internalInstance) {\n if (internalInstance) {\n var owner = internalInstance._currentElement._owner || null;\n if (owner) {\n var name = owner.getName();\n if (name) {\n return ' This DOM node was rendered by `' + name + '`.';\n }\n }\n }\n return '';\n}\n\nvar legacyPropsDescriptor;\nif (process.env.NODE_ENV !== 'production') {\n legacyPropsDescriptor = {\n props: {\n enumerable: false,\n get: function () {\n var component = this._reactInternalComponent;\n process.env.NODE_ENV !== 'production' ? warning(false, 'ReactDOMComponent: Do not access .props of a DOM node; instead, ' + 'recreate the props as `render` did originally or read the DOM ' + 'properties/attributes directly from this node (e.g., ' + 'this.refs.box.className).%s', getDeclarationErrorAddendum(component)) : undefined;\n return component._currentElement.props;\n }\n }\n };\n}\n\nfunction legacyGetDOMNode() {\n if (process.env.NODE_ENV !== 'production') {\n var component = this._reactInternalComponent;\n process.env.NODE_ENV !== 'production' ? warning(false, 'ReactDOMComponent: Do not access .getDOMNode() of a DOM node; ' + 'instead, use the node directly.%s', getDeclarationErrorAddendum(component)) : undefined;\n }\n return this;\n}\n\nfunction legacyIsMounted() {\n var component = this._reactInternalComponent;\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== 'production' ? warning(false, 'ReactDOMComponent: Do not access .isMounted() of a DOM node.%s', getDeclarationErrorAddendum(component)) : undefined;\n }\n return !!component;\n}\n\nfunction legacySetStateEtc() {\n if (process.env.NODE_ENV !== 'production') {\n var component = this._reactInternalComponent;\n process.env.NODE_ENV !== 'production' ? warning(false, 'ReactDOMComponent: Do not access .setState(), .replaceState(), or ' + '.forceUpdate() of a DOM node. This is a no-op.%s', getDeclarationErrorAddendum(component)) : undefined;\n }\n}\n\nfunction legacySetProps(partialProps, callback) {\n var component = this._reactInternalComponent;\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== 'production' ? warning(false, 'ReactDOMComponent: Do not access .setProps() of a DOM node. ' + 'Instead, call ReactDOM.render again at the top level.%s', getDeclarationErrorAddendum(component)) : undefined;\n }\n if (!component) {\n return;\n }\n ReactUpdateQueue.enqueueSetPropsInternal(component, partialProps);\n if (callback) {\n ReactUpdateQueue.enqueueCallbackInternal(component, callback);\n }\n}\n\nfunction legacyReplaceProps(partialProps, callback) {\n var component = this._reactInternalComponent;\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== 'production' ? warning(false, 'ReactDOMComponent: Do not access .replaceProps() of a DOM node. ' + 'Instead, call ReactDOM.render again at the top level.%s', getDeclarationErrorAddendum(component)) : undefined;\n }\n if (!component) {\n return;\n }\n ReactUpdateQueue.enqueueReplacePropsInternal(component, partialProps);\n if (callback) {\n ReactUpdateQueue.enqueueCallbackInternal(component, callback);\n }\n}\n\nfunction friendlyStringify(obj) {\n if (typeof obj === 'object') {\n if (Array.isArray(obj)) {\n return '[' + obj.map(friendlyStringify).join(', ') + ']';\n } else {\n var pairs = [];\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n var keyEscaped = /^[a-z$_][\\w$_]*$/i.test(key) ? key : JSON.stringify(key);\n pairs.push(keyEscaped + ': ' + friendlyStringify(obj[key]));\n }\n }\n return '{' + pairs.join(', ') + '}';\n }\n } else if (typeof obj === 'string') {\n return JSON.stringify(obj);\n } else if (typeof obj === 'function') {\n return '[function object]';\n }\n // Differs from JSON.stringify in that undefined becauses undefined and that\n // inf and nan don't become null\n return String(obj);\n}\n\nvar styleMutationWarning = {};\n\nfunction checkAndWarnForMutatedStyle(style1, style2, component) {\n if (style1 == null || style2 == null) {\n return;\n }\n if (shallowEqual(style1, style2)) {\n return;\n }\n\n var componentName = component._tag;\n var owner = component._currentElement._owner;\n var ownerName;\n if (owner) {\n ownerName = owner.getName();\n }\n\n var hash = ownerName + '|' + componentName;\n\n if (styleMutationWarning.hasOwnProperty(hash)) {\n return;\n }\n\n styleMutationWarning[hash] = true;\n\n process.env.NODE_ENV !== 'production' ? warning(false, '`%s` was passed a style object that has previously been mutated. ' + 'Mutating `style` is deprecated. Consider cloning it beforehand. Check ' + 'the `render` %s. Previous style: %s. Mutated style: %s.', componentName, owner ? 'of `' + ownerName + '`' : 'using <' + componentName + '>', friendlyStringify(style1), friendlyStringify(style2)) : undefined;\n}\n\n/**\n * @param {object} component\n * @param {?object} props\n */\nfunction assertValidProps(component, props) {\n if (!props) {\n return;\n }\n // Note the use of `==` which checks for null or undefined.\n if (process.env.NODE_ENV !== 'production') {\n if (voidElementTags[component._tag]) {\n process.env.NODE_ENV !== 'production' ? warning(props.children == null && props.dangerouslySetInnerHTML == null, '%s is a void element tag and must not have `children` or ' + 'use `props.dangerouslySetInnerHTML`.%s', component._tag, component._currentElement._owner ? ' Check the render method of ' + component._currentElement._owner.getName() + '.' : '') : undefined;\n }\n }\n if (props.dangerouslySetInnerHTML != null) {\n !(props.children == null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Can only set one of `children` or `props.dangerouslySetInnerHTML`.') : invariant(false) : undefined;\n !(typeof props.dangerouslySetInnerHTML === 'object' && '__html' in props.dangerouslySetInnerHTML) ? process.env.NODE_ENV !== 'production' ? invariant(false, '`props.dangerouslySetInnerHTML` must be in the form `{__html: ...}`. ' + 'Please visit https://fb.me/react-invariant-dangerously-set-inner-html ' + 'for more information.') : invariant(false) : undefined;\n }\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== 'production' ? warning(props.innerHTML == null, 'Directly setting property `innerHTML` is not permitted. ' + 'For more information, lookup documentation on `dangerouslySetInnerHTML`.') : undefined;\n process.env.NODE_ENV !== 'production' ? warning(!props.contentEditable || props.children == null, 'A component is `contentEditable` and contains `children` managed by ' + 'React. It is now your responsibility to guarantee that none of ' + 'those nodes are unexpectedly modified or duplicated. This is ' + 'probably not intentional.') : undefined;\n }\n !(props.style == null || typeof props.style === 'object') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'The `style` prop expects a mapping from style properties to values, ' + 'not a string. For example, style={{marginRight: spacing + \\'em\\'}} when ' + 'using JSX.%s', getDeclarationErrorAddendum(component)) : invariant(false) : undefined;\n}\n\nfunction enqueuePutListener(id, registrationName, listener, transaction) {\n if (process.env.NODE_ENV !== 'production') {\n // IE8 has no API for event capturing and the `onScroll` event doesn't\n // bubble.\n process.env.NODE_ENV !== 'production' ? warning(registrationName !== 'onScroll' || isEventSupported('scroll', true), 'This browser doesn\\'t support the `onScroll` event') : undefined;\n }\n var container = ReactMount.findReactContainerForID(id);\n if (container) {\n var doc = container.nodeType === ELEMENT_NODE_TYPE ? container.ownerDocument : container;\n listenTo(registrationName, doc);\n }\n transaction.getReactMountReady().enqueue(putListener, {\n id: id,\n registrationName: registrationName,\n listener: listener\n });\n}\n\nfunction putListener() {\n var listenerToPut = this;\n ReactBrowserEventEmitter.putListener(listenerToPut.id, listenerToPut.registrationName, listenerToPut.listener);\n}\n\n// There are so many media events, it makes sense to just\n// maintain a list rather than create a `trapBubbledEvent` for each\nvar mediaEvents = {\n topAbort: 'abort',\n topCanPlay: 'canplay',\n topCanPlayThrough: 'canplaythrough',\n topDurationChange: 'durationchange',\n topEmptied: 'emptied',\n topEncrypted: 'encrypted',\n topEnded: 'ended',\n topError: 'error',\n topLoadedData: 'loadeddata',\n topLoadedMetadata: 'loadedmetadata',\n topLoadStart: 'loadstart',\n topPause: 'pause',\n topPlay: 'play',\n topPlaying: 'playing',\n topProgress: 'progress',\n topRateChange: 'ratechange',\n topSeeked: 'seeked',\n topSeeking: 'seeking',\n topStalled: 'stalled',\n topSuspend: 'suspend',\n topTimeUpdate: 'timeupdate',\n topVolumeChange: 'volumechange',\n topWaiting: 'waiting'\n};\n\nfunction trapBubbledEventsLocal() {\n var inst = this;\n // If a component renders to null or if another component fatals and causes\n // the state of the tree to be corrupted, `node` here can be null.\n !inst._rootNodeID ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Must be mounted to trap events') : invariant(false) : undefined;\n var node = ReactMount.getNode(inst._rootNodeID);\n !node ? process.env.NODE_ENV !== 'production' ? invariant(false, 'trapBubbledEvent(...): Requires node to be rendered.') : invariant(false) : undefined;\n\n switch (inst._tag) {\n case 'iframe':\n inst._wrapperState.listeners = [ReactBrowserEventEmitter.trapBubbledEvent(EventConstants.topLevelTypes.topLoad, 'load', node)];\n break;\n case 'video':\n case 'audio':\n\n inst._wrapperState.listeners = [];\n // create listener for each media event\n for (var event in mediaEvents) {\n if (mediaEvents.hasOwnProperty(event)) {\n inst._wrapperState.listeners.push(ReactBrowserEventEmitter.trapBubbledEvent(EventConstants.topLevelTypes[event], mediaEvents[event], node));\n }\n }\n\n break;\n case 'img':\n inst._wrapperState.listeners = [ReactBrowserEventEmitter.trapBubbledEvent(EventConstants.topLevelTypes.topError, 'error', node), ReactBrowserEventEmitter.trapBubbledEvent(EventConstants.topLevelTypes.topLoad, 'load', node)];\n break;\n case 'form':\n inst._wrapperState.listeners = [ReactBrowserEventEmitter.trapBubbledEvent(EventConstants.topLevelTypes.topReset, 'reset', node), ReactBrowserEventEmitter.trapBubbledEvent(EventConstants.topLevelTypes.topSubmit, 'submit', node)];\n break;\n }\n}\n\nfunction mountReadyInputWrapper() {\n ReactDOMInput.mountReadyWrapper(this);\n}\n\nfunction postUpdateSelectWrapper() {\n ReactDOMSelect.postUpdateWrapper(this);\n}\n\n// For HTML, certain tags should omit their close tag. We keep a whitelist for\n// those special cased tags.\n\nvar omittedCloseTags = {\n 'area': true,\n 'base': true,\n 'br': true,\n 'col': true,\n 'embed': true,\n 'hr': true,\n 'img': true,\n 'input': true,\n 'keygen': true,\n 'link': true,\n 'meta': true,\n 'param': true,\n 'source': true,\n 'track': true,\n 'wbr': true\n};\n\n// NOTE: menuitem's close tag should be omitted, but that causes problems.\nvar newlineEatingTags = {\n 'listing': true,\n 'pre': true,\n 'textarea': true\n};\n\n// For HTML, certain tags cannot have children. This has the same purpose as\n// `omittedCloseTags` except that `menuitem` should still have its closing tag.\n\nvar voidElementTags = assign({\n 'menuitem': true\n}, omittedCloseTags);\n\n// We accept any tag to be rendered but since this gets injected into arbitrary\n// HTML, we want to make sure that it's a safe tag.\n// http://www.w3.org/TR/REC-xml/#NT-Name\n\nvar VALID_TAG_REGEX = /^[a-zA-Z][a-zA-Z:_\\.\\-\\d]*$/; // Simplified subset\nvar validatedTagCache = {};\nvar hasOwnProperty = ({}).hasOwnProperty;\n\nfunction validateDangerousTag(tag) {\n if (!hasOwnProperty.call(validatedTagCache, tag)) {\n !VALID_TAG_REGEX.test(tag) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Invalid tag: %s', tag) : invariant(false) : undefined;\n validatedTagCache[tag] = true;\n }\n}\n\nfunction processChildContextDev(context, inst) {\n // Pass down our tag name to child components for validation purposes\n context = assign({}, context);\n var info = context[validateDOMNesting.ancestorInfoContextKey];\n context[validateDOMNesting.ancestorInfoContextKey] = validateDOMNesting.updatedAncestorInfo(info, inst._tag, inst);\n return context;\n}\n\nfunction isCustomComponent(tagName, props) {\n return tagName.indexOf('-') >= 0 || props.is != null;\n}\n\n/**\n * Creates a new React class that is idempotent and capable of containing other\n * React components. It accepts event listeners and DOM properties that are\n * valid according to `DOMProperty`.\n *\n * - Event listeners: `onClick`, `onMouseDown`, etc.\n * - DOM properties: `className`, `name`, `title`, etc.\n *\n * The `style` property functions differently from the DOM API. It accepts an\n * object mapping of style properties to values.\n *\n * @constructor ReactDOMComponent\n * @extends ReactMultiChild\n */\nfunction ReactDOMComponent(tag) {\n validateDangerousTag(tag);\n this._tag = tag.toLowerCase();\n this._renderedChildren = null;\n this._previousStyle = null;\n this._previousStyleCopy = null;\n this._rootNodeID = null;\n this._wrapperState = null;\n this._topLevelWrapper = null;\n this._nodeWithLegacyProperties = null;\n if (process.env.NODE_ENV !== 'production') {\n this._unprocessedContextDev = null;\n this._processedContextDev = null;\n }\n}\n\nReactDOMComponent.displayName = 'ReactDOMComponent';\n\nReactDOMComponent.Mixin = {\n\n construct: function (element) {\n this._currentElement = element;\n },\n\n /**\n * Generates root tag markup then recurses. This method has side effects and\n * is not idempotent.\n *\n * @internal\n * @param {string} rootID The root DOM ID for this node.\n * @param {ReactReconcileTransaction|ReactServerRenderingTransaction} transaction\n * @param {object} context\n * @return {string} The computed markup.\n */\n mountComponent: function (rootID, transaction, context) {\n this._rootNodeID = rootID;\n\n var props = this._currentElement.props;\n\n switch (this._tag) {\n case 'iframe':\n case 'img':\n case 'form':\n case 'video':\n case 'audio':\n this._wrapperState = {\n listeners: null\n };\n transaction.getReactMountReady().enqueue(trapBubbledEventsLocal, this);\n break;\n case 'button':\n props = ReactDOMButton.getNativeProps(this, props, context);\n break;\n case 'input':\n ReactDOMInput.mountWrapper(this, props, context);\n props = ReactDOMInput.getNativeProps(this, props, context);\n break;\n case 'option':\n ReactDOMOption.mountWrapper(this, props, context);\n props = ReactDOMOption.getNativeProps(this, props, context);\n break;\n case 'select':\n ReactDOMSelect.mountWrapper(this, props, context);\n props = ReactDOMSelect.getNativeProps(this, props, context);\n context = ReactDOMSelect.processChildContext(this, props, context);\n break;\n case 'textarea':\n ReactDOMTextarea.mountWrapper(this, props, context);\n props = ReactDOMTextarea.getNativeProps(this, props, context);\n break;\n }\n\n assertValidProps(this, props);\n if (process.env.NODE_ENV !== 'production') {\n if (context[validateDOMNesting.ancestorInfoContextKey]) {\n validateDOMNesting(this._tag, this, context[validateDOMNesting.ancestorInfoContextKey]);\n }\n }\n\n if (process.env.NODE_ENV !== 'production') {\n this._unprocessedContextDev = context;\n this._processedContextDev = processChildContextDev(context, this);\n context = this._processedContextDev;\n }\n\n var mountImage;\n if (transaction.useCreateElement) {\n var ownerDocument = context[ReactMount.ownerDocumentContextKey];\n var el = ownerDocument.createElement(this._currentElement.type);\n DOMPropertyOperations.setAttributeForID(el, this._rootNodeID);\n // Populate node cache\n ReactMount.getID(el);\n this._updateDOMProperties({}, props, transaction, el);\n this._createInitialChildren(transaction, props, context, el);\n mountImage = el;\n } else {\n var tagOpen = this._createOpenTagMarkupAndPutListeners(transaction, props);\n var tagContent = this._createContentMarkup(transaction, props, context);\n if (!tagContent && omittedCloseTags[this._tag]) {\n mountImage = tagOpen + '/>';\n } else {\n mountImage = tagOpen + '>' + tagContent + '</' + this._currentElement.type + '>';\n }\n }\n\n switch (this._tag) {\n case 'input':\n transaction.getReactMountReady().enqueue(mountReadyInputWrapper, this);\n // falls through\n case 'button':\n case 'select':\n case 'textarea':\n if (props.autoFocus) {\n transaction.getReactMountReady().enqueue(AutoFocusUtils.focusDOMComponent, this);\n }\n break;\n }\n\n return mountImage;\n },\n\n /**\n * Creates markup for the open tag and all attributes.\n *\n * This method has side effects because events get registered.\n *\n * Iterating over object properties is faster than iterating over arrays.\n * @see http://jsperf.com/obj-vs-arr-iteration\n *\n * @private\n * @param {ReactReconcileTransaction|ReactServerRenderingTransaction} transaction\n * @param {object} props\n * @return {string} Markup of opening tag.\n */\n _createOpenTagMarkupAndPutListeners: function (transaction, props) {\n var ret = '<' + this._currentElement.type;\n\n for (var propKey in props) {\n if (!props.hasOwnProperty(propKey)) {\n continue;\n }\n var propValue = props[propKey];\n if (propValue == null) {\n continue;\n }\n if (registrationNameModules.hasOwnProperty(propKey)) {\n if (propValue) {\n enqueuePutListener(this._rootNodeID, propKey, propValue, transaction);\n }\n } else {\n if (propKey === STYLE) {\n if (propValue) {\n if (process.env.NODE_ENV !== 'production') {\n // See `_updateDOMProperties`. style block\n this._previousStyle = propValue;\n }\n propValue = this._previousStyleCopy = assign({}, props.style);\n }\n propValue = CSSPropertyOperations.createMarkupForStyles(propValue);\n }\n var markup = null;\n if (this._tag != null && isCustomComponent(this._tag, props)) {\n markup = DOMPropertyOperations.createMarkupForCustomAttribute(propKey, propValue);\n } else {\n markup = DOMPropertyOperations.createMarkupForProperty(propKey, propValue);\n }\n if (markup) {\n ret += ' ' + markup;\n }\n }\n }\n\n // For static pages, no need to put React ID and checksum. Saves lots of\n // bytes.\n if (transaction.renderToStaticMarkup) {\n return ret;\n }\n\n var markupForID = DOMPropertyOperations.createMarkupForID(this._rootNodeID);\n return ret + ' ' + markupForID;\n },\n\n /**\n * Creates markup for the content between the tags.\n *\n * @private\n * @param {ReactReconcileTransaction|ReactServerRenderingTransaction} transaction\n * @param {object} props\n * @param {object} context\n * @return {string} Content markup.\n */\n _createContentMarkup: function (transaction, props, context) {\n var ret = '';\n\n // Intentional use of != to avoid catching zero/false.\n var innerHTML = props.dangerouslySetInnerHTML;\n if (innerHTML != null) {\n if (innerHTML.__html != null) {\n ret = innerHTML.__html;\n }\n } else {\n var contentToUse = CONTENT_TYPES[typeof props.children] ? props.children : null;\n var childrenToUse = contentToUse != null ? null : props.children;\n if (contentToUse != null) {\n // TODO: Validate that text is allowed as a child of this node\n ret = escapeTextContentForBrowser(contentToUse);\n } else if (childrenToUse != null) {\n var mountImages = this.mountChildren(childrenToUse, transaction, context);\n ret = mountImages.join('');\n }\n }\n if (newlineEatingTags[this._tag] && ret.charAt(0) === '\\n') {\n // text/html ignores the first character in these tags if it's a newline\n // Prefer to break application/xml over text/html (for now) by adding\n // a newline specifically to get eaten by the parser. (Alternately for\n // textareas, replacing \"^\\n\" with \"\\r\\n\" doesn't get eaten, and the first\n // \\r is normalized out by HTMLTextAreaElement#value.)\n // See: <http://www.w3.org/TR/html-polyglot/#newlines-in-textarea-and-pre>\n // See: <http://www.w3.org/TR/html5/syntax.html#element-restrictions>\n // See: <http://www.w3.org/TR/html5/syntax.html#newlines>\n // See: Parsing of \"textarea\" \"listing\" and \"pre\" elements\n // from <http://www.w3.org/TR/html5/syntax.html#parsing-main-inbody>\n return '\\n' + ret;\n } else {\n return ret;\n }\n },\n\n _createInitialChildren: function (transaction, props, context, el) {\n // Intentional use of != to avoid catching zero/false.\n var innerHTML = props.dangerouslySetInnerHTML;\n if (innerHTML != null) {\n if (innerHTML.__html != null) {\n setInnerHTML(el, innerHTML.__html);\n }\n } else {\n var contentToUse = CONTENT_TYPES[typeof props.children] ? props.children : null;\n var childrenToUse = contentToUse != null ? null : props.children;\n if (contentToUse != null) {\n // TODO: Validate that text is allowed as a child of this node\n setTextContent(el, contentToUse);\n } else if (childrenToUse != null) {\n var mountImages = this.mountChildren(childrenToUse, transaction, context);\n for (var i = 0; i < mountImages.length; i++) {\n el.appendChild(mountImages[i]);\n }\n }\n }\n },\n\n /**\n * Receives a next element and updates the component.\n *\n * @internal\n * @param {ReactElement} nextElement\n * @param {ReactReconcileTransaction|ReactServerRenderingTransaction} transaction\n * @param {object} context\n */\n receiveComponent: function (nextElement, transaction, context) {\n var prevElement = this._currentElement;\n this._currentElement = nextElement;\n this.updateComponent(transaction, prevElement, nextElement, context);\n },\n\n /**\n * Updates a native DOM component after it has already been allocated and\n * attached to the DOM. Reconciles the root DOM node, then recurses.\n *\n * @param {ReactReconcileTransaction} transaction\n * @param {ReactElement} prevElement\n * @param {ReactElement} nextElement\n * @internal\n * @overridable\n */\n updateComponent: function (transaction, prevElement, nextElement, context) {\n var lastProps = prevElement.props;\n var nextProps = this._currentElement.props;\n\n switch (this._tag) {\n case 'button':\n lastProps = ReactDOMButton.getNativeProps(this, lastProps);\n nextProps = ReactDOMButton.getNativeProps(this, nextProps);\n break;\n case 'input':\n ReactDOMInput.updateWrapper(this);\n lastProps = ReactDOMInput.getNativeProps(this, lastProps);\n nextProps = ReactDOMInput.getNativeProps(this, nextProps);\n break;\n case 'option':\n lastProps = ReactDOMOption.getNativeProps(this, lastProps);\n nextProps = ReactDOMOption.getNativeProps(this, nextProps);\n break;\n case 'select':\n lastProps = ReactDOMSelect.getNativeProps(this, lastProps);\n nextProps = ReactDOMSelect.getNativeProps(this, nextProps);\n break;\n case 'textarea':\n ReactDOMTextarea.updateWrapper(this);\n lastProps = ReactDOMTextarea.getNativeProps(this, lastProps);\n nextProps = ReactDOMTextarea.getNativeProps(this, nextProps);\n break;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n // If the context is reference-equal to the old one, pass down the same\n // processed object so the update bailout in ReactReconciler behaves\n // correctly (and identically in dev and prod). See #5005.\n if (this._unprocessedContextDev !== context) {\n this._unprocessedContextDev = context;\n this._processedContextDev = processChildContextDev(context, this);\n }\n context = this._processedContextDev;\n }\n\n assertValidProps(this, nextProps);\n this._updateDOMProperties(lastProps, nextProps, transaction, null);\n this._updateDOMChildren(lastProps, nextProps, transaction, context);\n\n if (!canDefineProperty && this._nodeWithLegacyProperties) {\n this._nodeWithLegacyProperties.props = nextProps;\n }\n\n if (this._tag === 'select') {\n // <select> value update needs to occur after <option> children\n // reconciliation\n transaction.getReactMountReady().enqueue(postUpdateSelectWrapper, this);\n }\n },\n\n /**\n * Reconciles the properties by detecting differences in property values and\n * updating the DOM as necessary. This function is probably the single most\n * critical path for performance optimization.\n *\n * TODO: Benchmark whether checking for changed values in memory actually\n * improves performance (especially statically positioned elements).\n * TODO: Benchmark the effects of putting this at the top since 99% of props\n * do not change for a given reconciliation.\n * TODO: Benchmark areas that can be improved with caching.\n *\n * @private\n * @param {object} lastProps\n * @param {object} nextProps\n * @param {ReactReconcileTransaction} transaction\n * @param {?DOMElement} node\n */\n _updateDOMProperties: function (lastProps, nextProps, transaction, node) {\n var propKey;\n var styleName;\n var styleUpdates;\n for (propKey in lastProps) {\n if (nextProps.hasOwnProperty(propKey) || !lastProps.hasOwnProperty(propKey)) {\n continue;\n }\n if (propKey === STYLE) {\n var lastStyle = this._previousStyleCopy;\n for (styleName in lastStyle) {\n if (lastStyle.hasOwnProperty(styleName)) {\n styleUpdates = styleUpdates || {};\n styleUpdates[styleName] = '';\n }\n }\n this._previousStyleCopy = null;\n } else if (registrationNameModules.hasOwnProperty(propKey)) {\n if (lastProps[propKey]) {\n // Only call deleteListener if there was a listener previously or\n // else willDeleteListener gets called when there wasn't actually a\n // listener (e.g., onClick={null})\n deleteListener(this._rootNodeID, propKey);\n }\n } else if (DOMProperty.properties[propKey] || DOMProperty.isCustomAttribute(propKey)) {\n if (!node) {\n node = ReactMount.getNode(this._rootNodeID);\n }\n DOMPropertyOperations.deleteValueForProperty(node, propKey);\n }\n }\n for (propKey in nextProps) {\n var nextProp = nextProps[propKey];\n var lastProp = propKey === STYLE ? this._previousStyleCopy : lastProps[propKey];\n if (!nextProps.hasOwnProperty(propKey) || nextProp === lastProp) {\n continue;\n }\n if (propKey === STYLE) {\n if (nextProp) {\n if (process.env.NODE_ENV !== 'production') {\n checkAndWarnForMutatedStyle(this._previousStyleCopy, this._previousStyle, this);\n this._previousStyle = nextProp;\n }\n nextProp = this._previousStyleCopy = assign({}, nextProp);\n } else {\n this._previousStyleCopy = null;\n }\n if (lastProp) {\n // Unset styles on `lastProp` but not on `nextProp`.\n for (styleName in lastProp) {\n if (lastProp.hasOwnProperty(styleName) && (!nextProp || !nextProp.hasOwnProperty(styleName))) {\n styleUpdates = styleUpdates || {};\n styleUpdates[styleName] = '';\n }\n }\n // Update styles that changed since `lastProp`.\n for (styleName in nextProp) {\n if (nextProp.hasOwnProperty(styleName) && lastProp[styleName] !== nextProp[styleName]) {\n styleUpdates = styleUpdates || {};\n styleUpdates[styleName] = nextProp[styleName];\n }\n }\n } else {\n // Relies on `updateStylesByID` not mutating `styleUpdates`.\n styleUpdates = nextProp;\n }\n } else if (registrationNameModules.hasOwnProperty(propKey)) {\n if (nextProp) {\n enqueuePutListener(this._rootNodeID, propKey, nextProp, transaction);\n } else if (lastProp) {\n deleteListener(this._rootNodeID, propKey);\n }\n } else if (isCustomComponent(this._tag, nextProps)) {\n if (!node) {\n node = ReactMount.getNode(this._rootNodeID);\n }\n DOMPropertyOperations.setValueForAttribute(node, propKey, nextProp);\n } else if (DOMProperty.properties[propKey] || DOMProperty.isCustomAttribute(propKey)) {\n if (!node) {\n node = ReactMount.getNode(this._rootNodeID);\n }\n // If we're updating to null or undefined, we should remove the property\n // from the DOM node instead of inadvertantly setting to a string. This\n // brings us in line with the same behavior we have on initial render.\n if (nextProp != null) {\n DOMPropertyOperations.setValueForProperty(node, propKey, nextProp);\n } else {\n DOMPropertyOperations.deleteValueForProperty(node, propKey);\n }\n }\n }\n if (styleUpdates) {\n if (!node) {\n node = ReactMount.getNode(this._rootNodeID);\n }\n CSSPropertyOperations.setValueForStyles(node, styleUpdates);\n }\n },\n\n /**\n * Reconciles the children with the various properties that affect the\n * children content.\n *\n * @param {object} lastProps\n * @param {object} nextProps\n * @param {ReactReconcileTransaction} transaction\n * @param {object} context\n */\n _updateDOMChildren: function (lastProps, nextProps, transaction, context) {\n var lastContent = CONTENT_TYPES[typeof lastProps.children] ? lastProps.children : null;\n var nextContent = CONTENT_TYPES[typeof nextProps.children] ? nextProps.children : null;\n\n var lastHtml = lastProps.dangerouslySetInnerHTML && lastProps.dangerouslySetInnerHTML.__html;\n var nextHtml = nextProps.dangerouslySetInnerHTML && nextProps.dangerouslySetInnerHTML.__html;\n\n // Note the use of `!=` which checks for null or undefined.\n var lastChildren = lastContent != null ? null : lastProps.children;\n var nextChildren = nextContent != null ? null : nextProps.children;\n\n // If we're switching from children to content/html or vice versa, remove\n // the old content\n var lastHasContentOrHtml = lastContent != null || lastHtml != null;\n var nextHasContentOrHtml = nextContent != null || nextHtml != null;\n if (lastChildren != null && nextChildren == null) {\n this.updateChildren(null, transaction, context);\n } else if (lastHasContentOrHtml && !nextHasContentOrHtml) {\n this.updateTextContent('');\n }\n\n if (nextContent != null) {\n if (lastContent !== nextContent) {\n this.updateTextContent('' + nextContent);\n }\n } else if (nextHtml != null) {\n if (lastHtml !== nextHtml) {\n this.updateMarkup('' + nextHtml);\n }\n } else if (nextChildren != null) {\n this.updateChildren(nextChildren, transaction, context);\n }\n },\n\n /**\n * Destroys all event registrations for this instance. Does not remove from\n * the DOM. That must be done by the parent.\n *\n * @internal\n */\n unmountComponent: function () {\n switch (this._tag) {\n case 'iframe':\n case 'img':\n case 'form':\n case 'video':\n case 'audio':\n var listeners = this._wrapperState.listeners;\n if (listeners) {\n for (var i = 0; i < listeners.length; i++) {\n listeners[i].remove();\n }\n }\n break;\n case 'input':\n ReactDOMInput.unmountWrapper(this);\n break;\n case 'html':\n case 'head':\n case 'body':\n /**\n * Components like <html> <head> and <body> can't be removed or added\n * easily in a cross-browser way, however it's valuable to be able to\n * take advantage of React's reconciliation for styling and <title>\n * management. So we just document it and throw in dangerous cases.\n */\n !false ? process.env.NODE_ENV !== 'production' ? invariant(false, '<%s> tried to unmount. Because of cross-browser quirks it is ' + 'impossible to unmount some top-level components (eg <html>, ' + '<head>, and <body>) reliably and efficiently. To fix this, have a ' + 'single top-level component that never unmounts render these ' + 'elements.', this._tag) : invariant(false) : undefined;\n break;\n }\n\n this.unmountChildren();\n ReactBrowserEventEmitter.deleteAllListeners(this._rootNodeID);\n ReactComponentBrowserEnvironment.unmountIDFromEnvironment(this._rootNodeID);\n this._rootNodeID = null;\n this._wrapperState = null;\n if (this._nodeWithLegacyProperties) {\n var node = this._nodeWithLegacyProperties;\n node._reactInternalComponent = null;\n this._nodeWithLegacyProperties = null;\n }\n },\n\n getPublicInstance: function () {\n if (!this._nodeWithLegacyProperties) {\n var node = ReactMount.getNode(this._rootNodeID);\n\n node._reactInternalComponent = this;\n node.getDOMNode = legacyGetDOMNode;\n node.isMounted = legacyIsMounted;\n node.setState = legacySetStateEtc;\n node.replaceState = legacySetStateEtc;\n node.forceUpdate = legacySetStateEtc;\n node.setProps = legacySetProps;\n node.replaceProps = legacyReplaceProps;\n\n if (process.env.NODE_ENV !== 'production') {\n if (canDefineProperty) {\n Object.defineProperties(node, legacyPropsDescriptor);\n } else {\n // updateComponent will update this property on subsequent renders\n node.props = this._currentElement.props;\n }\n } else {\n // updateComponent will update this property on subsequent renders\n node.props = this._currentElement.props;\n }\n\n this._nodeWithLegacyProperties = node;\n }\n return this._nodeWithLegacyProperties;\n }\n\n};\n\nReactPerf.measureMethods(ReactDOMComponent, 'ReactDOMComponent', {\n mountComponent: 'mountComponent',\n updateComponent: 'updateComponent'\n});\n\nassign(ReactDOMComponent.prototype, ReactDOMComponent.Mixin, ReactMultiChild.Mixin);\n\nmodule.exports = ReactDOMComponent;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/ReactDOMComponent.js\n **/","/**\n * Copyright 2013-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 * @providesModule AutoFocusUtils\n * @typechecks static-only\n */\n\n'use strict';\n\nvar ReactMount = require('./ReactMount');\n\nvar findDOMNode = require('./findDOMNode');\nvar focusNode = require('fbjs/lib/focusNode');\n\nvar Mixin = {\n componentDidMount: function () {\n if (this.props.autoFocus) {\n focusNode(findDOMNode(this));\n }\n }\n};\n\nvar AutoFocusUtils = {\n Mixin: Mixin,\n\n focusDOMComponent: function () {\n focusNode(ReactMount.getNode(this._rootNodeID));\n }\n};\n\nmodule.exports = AutoFocusUtils;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/AutoFocusUtils.js\n **/","/**\n * Copyright 2013-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 * @providesModule focusNode\n */\n\n'use strict';\n\n/**\n * @param {DOMElement} node input/textarea to focus\n */\nfunction focusNode(node) {\n // IE8 can throw \"Can't move focus to the control because it is invisible,\n // not enabled, or of a type that does not accept the focus.\" for all kinds of\n // reasons that are too expensive and fragile to test.\n try {\n node.focus();\n } catch (e) {}\n}\n\nmodule.exports = focusNode;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/~/fbjs/lib/focusNode.js\n **/","/**\n * Copyright 2013-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 * @providesModule CSSPropertyOperations\n * @typechecks static-only\n */\n\n'use strict';\n\nvar CSSProperty = require('./CSSProperty');\nvar ExecutionEnvironment = require('fbjs/lib/ExecutionEnvironment');\nvar ReactPerf = require('./ReactPerf');\n\nvar camelizeStyleName = require('fbjs/lib/camelizeStyleName');\nvar dangerousStyleValue = require('./dangerousStyleValue');\nvar hyphenateStyleName = require('fbjs/lib/hyphenateStyleName');\nvar memoizeStringOnly = require('fbjs/lib/memoizeStringOnly');\nvar warning = require('fbjs/lib/warning');\n\nvar processStyleName = memoizeStringOnly(function (styleName) {\n return hyphenateStyleName(styleName);\n});\n\nvar hasShorthandPropertyBug = false;\nvar styleFloatAccessor = 'cssFloat';\nif (ExecutionEnvironment.canUseDOM) {\n var tempStyle = document.createElement('div').style;\n try {\n // IE8 throws \"Invalid argument.\" if resetting shorthand style properties.\n tempStyle.font = '';\n } catch (e) {\n hasShorthandPropertyBug = true;\n }\n // IE8 only supports accessing cssFloat (standard) as styleFloat\n if (document.documentElement.style.cssFloat === undefined) {\n styleFloatAccessor = 'styleFloat';\n }\n}\n\nif (process.env.NODE_ENV !== 'production') {\n // 'msTransform' is correct, but the other prefixes should be capitalized\n var badVendoredStyleNamePattern = /^(?:webkit|moz|o)[A-Z]/;\n\n // style values shouldn't contain a semicolon\n var badStyleValueWithSemicolonPattern = /;\\s*$/;\n\n var warnedStyleNames = {};\n var warnedStyleValues = {};\n\n var warnHyphenatedStyleName = function (name) {\n if (warnedStyleNames.hasOwnProperty(name) && warnedStyleNames[name]) {\n return;\n }\n\n warnedStyleNames[name] = true;\n process.env.NODE_ENV !== 'production' ? warning(false, 'Unsupported style property %s. Did you mean %s?', name, camelizeStyleName(name)) : undefined;\n };\n\n var warnBadVendoredStyleName = function (name) {\n if (warnedStyleNames.hasOwnProperty(name) && warnedStyleNames[name]) {\n return;\n }\n\n warnedStyleNames[name] = true;\n process.env.NODE_ENV !== 'production' ? warning(false, 'Unsupported vendor-prefixed style property %s. Did you mean %s?', name, name.charAt(0).toUpperCase() + name.slice(1)) : undefined;\n };\n\n var warnStyleValueWithSemicolon = function (name, value) {\n if (warnedStyleValues.hasOwnProperty(value) && warnedStyleValues[value]) {\n return;\n }\n\n warnedStyleValues[value] = true;\n process.env.NODE_ENV !== 'production' ? warning(false, 'Style property values shouldn\\'t contain a semicolon. ' + 'Try \"%s: %s\" instead.', name, value.replace(badStyleValueWithSemicolonPattern, '')) : undefined;\n };\n\n /**\n * @param {string} name\n * @param {*} value\n */\n var warnValidStyle = function (name, value) {\n if (name.indexOf('-') > -1) {\n warnHyphenatedStyleName(name);\n } else if (badVendoredStyleNamePattern.test(name)) {\n warnBadVendoredStyleName(name);\n } else if (badStyleValueWithSemicolonPattern.test(value)) {\n warnStyleValueWithSemicolon(name, value);\n }\n };\n}\n\n/**\n * Operations for dealing with CSS properties.\n */\nvar CSSPropertyOperations = {\n\n /**\n * Serializes a mapping of style properties for use as inline styles:\n *\n * > createMarkupForStyles({width: '200px', height: 0})\n * \"width:200px;height:0;\"\n *\n * Undefined values are ignored so that declarative programming is easier.\n * The result should be HTML-escaped before insertion into the DOM.\n *\n * @param {object} styles\n * @return {?string}\n */\n createMarkupForStyles: function (styles) {\n var serialized = '';\n for (var styleName in styles) {\n if (!styles.hasOwnProperty(styleName)) {\n continue;\n }\n var styleValue = styles[styleName];\n if (process.env.NODE_ENV !== 'production') {\n warnValidStyle(styleName, styleValue);\n }\n if (styleValue != null) {\n serialized += processStyleName(styleName) + ':';\n serialized += dangerousStyleValue(styleName, styleValue) + ';';\n }\n }\n return serialized || null;\n },\n\n /**\n * Sets the value for multiple styles on a node. If a value is specified as\n * '' (empty string), the corresponding style property will be unset.\n *\n * @param {DOMElement} node\n * @param {object} styles\n */\n setValueForStyles: function (node, styles) {\n var style = node.style;\n for (var styleName in styles) {\n if (!styles.hasOwnProperty(styleName)) {\n continue;\n }\n if (process.env.NODE_ENV !== 'production') {\n warnValidStyle(styleName, styles[styleName]);\n }\n var styleValue = dangerousStyleValue(styleName, styles[styleName]);\n if (styleName === 'float') {\n styleName = styleFloatAccessor;\n }\n if (styleValue) {\n style[styleName] = styleValue;\n } else {\n var expansion = hasShorthandPropertyBug && CSSProperty.shorthandPropertyExpansions[styleName];\n if (expansion) {\n // Shorthand property that IE8 won't like unsetting, so unset each\n // component to placate it\n for (var individualStyleName in expansion) {\n style[individualStyleName] = '';\n }\n } else {\n style[styleName] = '';\n }\n }\n }\n }\n\n};\n\nReactPerf.measureMethods(CSSPropertyOperations, 'CSSPropertyOperations', {\n setValueForStyles: 'setValueForStyles'\n});\n\nmodule.exports = CSSPropertyOperations;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/CSSPropertyOperations.js\n **/","/**\n * Copyright 2013-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 * @providesModule CSSProperty\n */\n\n'use strict';\n\n/**\n * CSS properties which accept numbers but are not in units of \"px\".\n */\nvar isUnitlessNumber = {\n animationIterationCount: true,\n boxFlex: true,\n boxFlexGroup: true,\n boxOrdinalGroup: true,\n columnCount: true,\n flex: true,\n flexGrow: true,\n flexPositive: true,\n flexShrink: true,\n flexNegative: true,\n flexOrder: true,\n fontWeight: true,\n lineClamp: true,\n lineHeight: true,\n opacity: true,\n order: true,\n orphans: true,\n tabSize: true,\n widows: true,\n zIndex: true,\n zoom: true,\n\n // SVG-related properties\n fillOpacity: true,\n stopOpacity: true,\n strokeDashoffset: true,\n strokeOpacity: true,\n strokeWidth: true\n};\n\n/**\n * @param {string} prefix vendor-specific prefix, eg: Webkit\n * @param {string} key style name, eg: transitionDuration\n * @return {string} style name prefixed with `prefix`, properly camelCased, eg:\n * WebkitTransitionDuration\n */\nfunction prefixKey(prefix, key) {\n return prefix + key.charAt(0).toUpperCase() + key.substring(1);\n}\n\n/**\n * Support style names that may come passed in prefixed by adding permutations\n * of vendor prefixes.\n */\nvar prefixes = ['Webkit', 'ms', 'Moz', 'O'];\n\n// Using Object.keys here, or else the vanilla for-in loop makes IE8 go into an\n// infinite loop, because it iterates over the newly added props too.\nObject.keys(isUnitlessNumber).forEach(function (prop) {\n prefixes.forEach(function (prefix) {\n isUnitlessNumber[prefixKey(prefix, prop)] = isUnitlessNumber[prop];\n });\n});\n\n/**\n * Most style properties can be unset by doing .style[prop] = '' but IE8\n * doesn't like doing that with shorthand properties so for the properties that\n * IE8 breaks on, which are listed here, we instead unset each of the\n * individual properties. See http://bugs.jquery.com/ticket/12385.\n * The 4-value 'clock' properties like margin, padding, border-width seem to\n * behave without any problems. Curiously, list-style works too without any\n * special prodding.\n */\nvar shorthandPropertyExpansions = {\n background: {\n backgroundAttachment: true,\n backgroundColor: true,\n backgroundImage: true,\n backgroundPositionX: true,\n backgroundPositionY: true,\n backgroundRepeat: true\n },\n backgroundPosition: {\n backgroundPositionX: true,\n backgroundPositionY: true\n },\n border: {\n borderWidth: true,\n borderStyle: true,\n borderColor: true\n },\n borderBottom: {\n borderBottomWidth: true,\n borderBottomStyle: true,\n borderBottomColor: true\n },\n borderLeft: {\n borderLeftWidth: true,\n borderLeftStyle: true,\n borderLeftColor: true\n },\n borderRight: {\n borderRightWidth: true,\n borderRightStyle: true,\n borderRightColor: true\n },\n borderTop: {\n borderTopWidth: true,\n borderTopStyle: true,\n borderTopColor: true\n },\n font: {\n fontStyle: true,\n fontVariant: true,\n fontWeight: true,\n fontSize: true,\n lineHeight: true,\n fontFamily: true\n },\n outline: {\n outlineWidth: true,\n outlineStyle: true,\n outlineColor: true\n }\n};\n\nvar CSSProperty = {\n isUnitlessNumber: isUnitlessNumber,\n shorthandPropertyExpansions: shorthandPropertyExpansions\n};\n\nmodule.exports = CSSProperty;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/CSSProperty.js\n **/","/**\n * Copyright 2013-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 * @providesModule camelizeStyleName\n * @typechecks\n */\n\n'use strict';\n\nvar camelize = require('./camelize');\n\nvar msPattern = /^-ms-/;\n\n/**\n * Camelcases a hyphenated CSS property name, for example:\n *\n * > camelizeStyleName('background-color')\n * < \"backgroundColor\"\n * > camelizeStyleName('-moz-transition')\n * < \"MozTransition\"\n * > camelizeStyleName('-ms-transition')\n * < \"msTransition\"\n *\n * As Andi Smith suggests\n * (http://www.andismith.com/blog/2012/02/modernizr-prefixed/), an `-ms` prefix\n * is converted to lowercase `ms`.\n *\n * @param {string} string\n * @return {string}\n */\nfunction camelizeStyleName(string) {\n return camelize(string.replace(msPattern, 'ms-'));\n}\n\nmodule.exports = camelizeStyleName;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/~/fbjs/lib/camelizeStyleName.js\n **/","/**\n * Copyright 2013-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 * @providesModule camelize\n * @typechecks\n */\n\n\"use strict\";\n\nvar _hyphenPattern = /-(.)/g;\n\n/**\n * Camelcases a hyphenated string, for example:\n *\n * > camelize('background-color')\n * < \"backgroundColor\"\n *\n * @param {string} string\n * @return {string}\n */\nfunction camelize(string) {\n return string.replace(_hyphenPattern, function (_, character) {\n return character.toUpperCase();\n });\n}\n\nmodule.exports = camelize;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/~/fbjs/lib/camelize.js\n **/","/**\n * Copyright 2013-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 * @providesModule dangerousStyleValue\n * @typechecks static-only\n */\n\n'use strict';\n\nvar CSSProperty = require('./CSSProperty');\n\nvar isUnitlessNumber = CSSProperty.isUnitlessNumber;\n\n/**\n * Convert a value into the proper css writable value. The style name `name`\n * should be logical (no hyphens), as specified\n * in `CSSProperty.isUnitlessNumber`.\n *\n * @param {string} name CSS property name such as `topMargin`.\n * @param {*} value CSS property value such as `10px`.\n * @return {string} Normalized style value with dimensions applied.\n */\nfunction dangerousStyleValue(name, value) {\n // Note that we've removed escapeTextForBrowser() calls here since the\n // whole string will be escaped when the attribute is injected into\n // the markup. If you provide unsafe user data here they can inject\n // arbitrary CSS which may be problematic (I couldn't repro this):\n // https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheet\n // http://www.thespanner.co.uk/2007/11/26/ultimate-xss-css-injection/\n // This is not an XSS hole but instead a potential CSS injection issue\n // which has lead to a greater discussion about how we're going to\n // trust URLs moving forward. See #2115901\n\n var isEmpty = value == null || typeof value === 'boolean' || value === '';\n if (isEmpty) {\n return '';\n }\n\n var isNonNumeric = isNaN(value);\n if (isNonNumeric || value === 0 || isUnitlessNumber.hasOwnProperty(name) && isUnitlessNumber[name]) {\n return '' + value; // cast to string\n }\n\n if (typeof value === 'string') {\n value = value.trim();\n }\n return value + 'px';\n}\n\nmodule.exports = dangerousStyleValue;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/dangerousStyleValue.js\n **/","/**\n * Copyright 2013-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 * @providesModule hyphenateStyleName\n * @typechecks\n */\n\n'use strict';\n\nvar hyphenate = require('./hyphenate');\n\nvar msPattern = /^ms-/;\n\n/**\n * Hyphenates a camelcased CSS property name, for example:\n *\n * > hyphenateStyleName('backgroundColor')\n * < \"background-color\"\n * > hyphenateStyleName('MozTransition')\n * < \"-moz-transition\"\n * > hyphenateStyleName('msTransition')\n * < \"-ms-transition\"\n *\n * As Modernizr suggests (http://modernizr.com/docs/#prefixed), an `ms` prefix\n * is converted to `-ms-`.\n *\n * @param {string} string\n * @return {string}\n */\nfunction hyphenateStyleName(string) {\n return hyphenate(string).replace(msPattern, '-ms-');\n}\n\nmodule.exports = hyphenateStyleName;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/~/fbjs/lib/hyphenateStyleName.js\n **/","/**\n * Copyright 2013-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 * @providesModule hyphenate\n * @typechecks\n */\n\n'use strict';\n\nvar _uppercasePattern = /([A-Z])/g;\n\n/**\n * Hyphenates a camelcased string, for example:\n *\n * > hyphenate('backgroundColor')\n * < \"background-color\"\n *\n * For CSS style names, use `hyphenateStyleName` instead which works properly\n * with all vendor prefixes, including `ms`.\n *\n * @param {string} string\n * @return {string}\n */\nfunction hyphenate(string) {\n return string.replace(_uppercasePattern, '-$1').toLowerCase();\n}\n\nmodule.exports = hyphenate;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/~/fbjs/lib/hyphenate.js\n **/","/**\n * Copyright 2013-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 * @providesModule memoizeStringOnly\n * @typechecks static-only\n */\n\n'use strict';\n\n/**\n * Memoizes the return value of a function that accepts one string argument.\n *\n * @param {function} callback\n * @return {function}\n */\nfunction memoizeStringOnly(callback) {\n var cache = {};\n return function (string) {\n if (!cache.hasOwnProperty(string)) {\n cache[string] = callback.call(this, string);\n }\n return cache[string];\n };\n}\n\nmodule.exports = memoizeStringOnly;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/~/fbjs/lib/memoizeStringOnly.js\n **/","/**\n * Copyright 2013-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 * @providesModule ReactDOMButton\n */\n\n'use strict';\n\nvar mouseListenerNames = {\n onClick: true,\n onDoubleClick: true,\n onMouseDown: true,\n onMouseMove: true,\n onMouseUp: true,\n\n onClickCapture: true,\n onDoubleClickCapture: true,\n onMouseDownCapture: true,\n onMouseMoveCapture: true,\n onMouseUpCapture: true\n};\n\n/**\n * Implements a <button> native component that does not receive mouse events\n * when `disabled` is set.\n */\nvar ReactDOMButton = {\n getNativeProps: function (inst, props, context) {\n if (!props.disabled) {\n return props;\n }\n\n // Copy the props, except the mouse listeners\n var nativeProps = {};\n for (var key in props) {\n if (props.hasOwnProperty(key) && !mouseListenerNames[key]) {\n nativeProps[key] = props[key];\n }\n }\n\n return nativeProps;\n }\n};\n\nmodule.exports = ReactDOMButton;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/ReactDOMButton.js\n **/","/**\n * Copyright 2013-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 * @providesModule ReactDOMInput\n */\n\n'use strict';\n\nvar ReactDOMIDOperations = require('./ReactDOMIDOperations');\nvar LinkedValueUtils = require('./LinkedValueUtils');\nvar ReactMount = require('./ReactMount');\nvar ReactUpdates = require('./ReactUpdates');\n\nvar assign = require('./Object.assign');\nvar invariant = require('fbjs/lib/invariant');\n\nvar instancesByReactID = {};\n\nfunction forceUpdateIfMounted() {\n if (this._rootNodeID) {\n // DOM component is still mounted; update\n ReactDOMInput.updateWrapper(this);\n }\n}\n\n/**\n * Implements an <input> native component that allows setting these optional\n * props: `checked`, `value`, `defaultChecked`, and `defaultValue`.\n *\n * If `checked` or `value` are not supplied (or null/undefined), user actions\n * that affect the checked state or value will trigger updates to the element.\n *\n * If they are supplied (and not null/undefined), the rendered element will not\n * trigger updates to the element. Instead, the props must change in order for\n * the rendered element to be updated.\n *\n * The rendered element will be initialized as unchecked (or `defaultChecked`)\n * with an empty value (or `defaultValue`).\n *\n * @see http://www.w3.org/TR/2012/WD-html5-20121025/the-input-element.html\n */\nvar ReactDOMInput = {\n getNativeProps: function (inst, props, context) {\n var value = LinkedValueUtils.getValue(props);\n var checked = LinkedValueUtils.getChecked(props);\n\n var nativeProps = assign({}, props, {\n defaultChecked: undefined,\n defaultValue: undefined,\n value: value != null ? value : inst._wrapperState.initialValue,\n checked: checked != null ? checked : inst._wrapperState.initialChecked,\n onChange: inst._wrapperState.onChange\n });\n\n return nativeProps;\n },\n\n mountWrapper: function (inst, props) {\n if (process.env.NODE_ENV !== 'production') {\n LinkedValueUtils.checkPropTypes('input', props, inst._currentElement._owner);\n }\n\n var defaultValue = props.defaultValue;\n inst._wrapperState = {\n initialChecked: props.defaultChecked || false,\n initialValue: defaultValue != null ? defaultValue : null,\n onChange: _handleChange.bind(inst)\n };\n },\n\n mountReadyWrapper: function (inst) {\n // Can't be in mountWrapper or else server rendering leaks.\n instancesByReactID[inst._rootNodeID] = inst;\n },\n\n unmountWrapper: function (inst) {\n delete instancesByReactID[inst._rootNodeID];\n },\n\n updateWrapper: function (inst) {\n var props = inst._currentElement.props;\n\n // TODO: Shouldn't this be getChecked(props)?\n var checked = props.checked;\n if (checked != null) {\n ReactDOMIDOperations.updatePropertyByID(inst._rootNodeID, 'checked', checked || false);\n }\n\n var value = LinkedValueUtils.getValue(props);\n if (value != null) {\n // Cast `value` to a string to ensure the value is set correctly. While\n // browsers typically do this as necessary, jsdom doesn't.\n ReactDOMIDOperations.updatePropertyByID(inst._rootNodeID, 'value', '' + value);\n }\n }\n};\n\nfunction _handleChange(event) {\n var props = this._currentElement.props;\n\n var returnValue = LinkedValueUtils.executeOnChange(props, event);\n\n // Here we use asap to wait until all updates have propagated, which\n // is important when using controlled components within layers:\n // https://github.com/facebook/react/issues/1698\n ReactUpdates.asap(forceUpdateIfMounted, this);\n\n var name = props.name;\n if (props.type === 'radio' && name != null) {\n var rootNode = ReactMount.getNode(this._rootNodeID);\n var queryRoot = rootNode;\n\n while (queryRoot.parentNode) {\n queryRoot = queryRoot.parentNode;\n }\n\n // If `rootNode.form` was non-null, then we could try `form.elements`,\n // but that sometimes behaves strangely in IE8. We could also try using\n // `form.getElementsByName`, but that will only return direct children\n // and won't include inputs that use the HTML5 `form=` attribute. Since\n // the input might not even be in a form, let's just use the global\n // `querySelectorAll` to ensure we don't miss anything.\n var group = queryRoot.querySelectorAll('input[name=' + JSON.stringify('' + name) + '][type=\"radio\"]');\n\n for (var i = 0; i < group.length; i++) {\n var otherNode = group[i];\n if (otherNode === rootNode || otherNode.form !== rootNode.form) {\n continue;\n }\n // This will throw if radio buttons rendered by different copies of React\n // and the same name are rendered into the same form (same as #1939).\n // That's probably okay; we don't support it just as we don't support\n // mixing React with non-React.\n var otherID = ReactMount.getID(otherNode);\n !otherID ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactDOMInput: Mixing React and non-React radio inputs with the ' + 'same `name` is not supported.') : invariant(false) : undefined;\n var otherInstance = instancesByReactID[otherID];\n !otherInstance ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactDOMInput: Unknown radio button ID %s.', otherID) : invariant(false) : undefined;\n // If this is a controlled radio button group, forcing the input that\n // was previously checked to update will cause it to be come re-checked\n // as appropriate.\n ReactUpdates.asap(forceUpdateIfMounted, otherInstance);\n }\n }\n\n return returnValue;\n}\n\nmodule.exports = ReactDOMInput;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/ReactDOMInput.js\n **/","/**\n * Copyright 2013-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 * @providesModule LinkedValueUtils\n * @typechecks static-only\n */\n\n'use strict';\n\nvar ReactPropTypes = require('./ReactPropTypes');\nvar ReactPropTypeLocations = require('./ReactPropTypeLocations');\n\nvar invariant = require('fbjs/lib/invariant');\nvar warning = require('fbjs/lib/warning');\n\nvar hasReadOnlyValue = {\n 'button': true,\n 'checkbox': true,\n 'image': true,\n 'hidden': true,\n 'radio': true,\n 'reset': true,\n 'submit': true\n};\n\nfunction _assertSingleLink(inputProps) {\n !(inputProps.checkedLink == null || inputProps.valueLink == null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Cannot provide a checkedLink and a valueLink. If you want to use ' + 'checkedLink, you probably don\\'t want to use valueLink and vice versa.') : invariant(false) : undefined;\n}\nfunction _assertValueLink(inputProps) {\n _assertSingleLink(inputProps);\n !(inputProps.value == null && inputProps.onChange == null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Cannot provide a valueLink and a value or onChange event. If you want ' + 'to use value or onChange, you probably don\\'t want to use valueLink.') : invariant(false) : undefined;\n}\n\nfunction _assertCheckedLink(inputProps) {\n _assertSingleLink(inputProps);\n !(inputProps.checked == null && inputProps.onChange == null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Cannot provide a checkedLink and a checked property or onChange event. ' + 'If you want to use checked or onChange, you probably don\\'t want to ' + 'use checkedLink') : invariant(false) : undefined;\n}\n\nvar propTypes = {\n value: function (props, propName, componentName) {\n if (!props[propName] || hasReadOnlyValue[props.type] || props.onChange || props.readOnly || props.disabled) {\n return null;\n }\n return new Error('You provided a `value` prop to a form field without an ' + '`onChange` handler. This will render a read-only field. If ' + 'the field should be mutable use `defaultValue`. Otherwise, ' + 'set either `onChange` or `readOnly`.');\n },\n checked: function (props, propName, componentName) {\n if (!props[propName] || props.onChange || props.readOnly || props.disabled) {\n return null;\n }\n return new Error('You provided a `checked` prop to a form field without an ' + '`onChange` handler. This will render a read-only field. If ' + 'the field should be mutable use `defaultChecked`. Otherwise, ' + 'set either `onChange` or `readOnly`.');\n },\n onChange: ReactPropTypes.func\n};\n\nvar loggedTypeFailures = {};\nfunction getDeclarationErrorAddendum(owner) {\n if (owner) {\n var name = owner.getName();\n if (name) {\n return ' Check the render method of `' + name + '`.';\n }\n }\n return '';\n}\n\n/**\n * Provide a linked `value` attribute for controlled forms. You should not use\n * this outside of the ReactDOM controlled form components.\n */\nvar LinkedValueUtils = {\n checkPropTypes: function (tagName, props, owner) {\n for (var propName in propTypes) {\n if (propTypes.hasOwnProperty(propName)) {\n var error = propTypes[propName](props, propName, tagName, ReactPropTypeLocations.prop);\n }\n if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error.message] = true;\n\n var addendum = getDeclarationErrorAddendum(owner);\n process.env.NODE_ENV !== 'production' ? warning(false, 'Failed form propType: %s%s', error.message, addendum) : undefined;\n }\n }\n },\n\n /**\n * @param {object} inputProps Props for form component\n * @return {*} current value of the input either from value prop or link.\n */\n getValue: function (inputProps) {\n if (inputProps.valueLink) {\n _assertValueLink(inputProps);\n return inputProps.valueLink.value;\n }\n return inputProps.value;\n },\n\n /**\n * @param {object} inputProps Props for form component\n * @return {*} current checked status of the input either from checked prop\n * or link.\n */\n getChecked: function (inputProps) {\n if (inputProps.checkedLink) {\n _assertCheckedLink(inputProps);\n return inputProps.checkedLink.value;\n }\n return inputProps.checked;\n },\n\n /**\n * @param {object} inputProps Props for form component\n * @param {SyntheticEvent} event change event to handle\n */\n executeOnChange: function (inputProps, event) {\n if (inputProps.valueLink) {\n _assertValueLink(inputProps);\n return inputProps.valueLink.requestChange(event.target.value);\n } else if (inputProps.checkedLink) {\n _assertCheckedLink(inputProps);\n return inputProps.checkedLink.requestChange(event.target.checked);\n } else if (inputProps.onChange) {\n return inputProps.onChange.call(undefined, event);\n }\n }\n};\n\nmodule.exports = LinkedValueUtils;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/LinkedValueUtils.js\n **/","/**\n * Copyright 2013-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 * @providesModule ReactPropTypes\n */\n\n'use strict';\n\nvar ReactElement = require('./ReactElement');\nvar ReactPropTypeLocationNames = require('./ReactPropTypeLocationNames');\n\nvar emptyFunction = require('fbjs/lib/emptyFunction');\nvar getIteratorFn = require('./getIteratorFn');\n\n/**\n * Collection of methods that allow declaration and validation of props that are\n * supplied to React components. Example usage:\n *\n * var Props = require('ReactPropTypes');\n * var MyArticle = React.createClass({\n * propTypes: {\n * // An optional string prop named \"description\".\n * description: Props.string,\n *\n * // A required enum prop named \"category\".\n * category: Props.oneOf(['News','Photos']).isRequired,\n *\n * // A prop named \"dialog\" that requires an instance of Dialog.\n * dialog: Props.instanceOf(Dialog).isRequired\n * },\n * render: function() { ... }\n * });\n *\n * A more formal specification of how these methods are used:\n *\n * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n * decl := ReactPropTypes.{type}(.isRequired)?\n *\n * Each and every declaration produces a function with the same signature. This\n * allows the creation of custom validation functions. For example:\n *\n * var MyLink = React.createClass({\n * propTypes: {\n * // An optional string or URI prop named \"href\".\n * href: function(props, propName, componentName) {\n * var propValue = props[propName];\n * if (propValue != null && typeof propValue !== 'string' &&\n * !(propValue instanceof URI)) {\n * return new Error(\n * 'Expected a string or an URI for ' + propName + ' in ' +\n * componentName\n * );\n * }\n * }\n * },\n * render: function() {...}\n * });\n *\n * @internal\n */\n\nvar ANONYMOUS = '<<anonymous>>';\n\nvar ReactPropTypes = {\n array: createPrimitiveTypeChecker('array'),\n bool: createPrimitiveTypeChecker('boolean'),\n func: createPrimitiveTypeChecker('function'),\n number: createPrimitiveTypeChecker('number'),\n object: createPrimitiveTypeChecker('object'),\n string: createPrimitiveTypeChecker('string'),\n\n any: createAnyTypeChecker(),\n arrayOf: createArrayOfTypeChecker,\n element: createElementTypeChecker(),\n instanceOf: createInstanceTypeChecker,\n node: createNodeChecker(),\n objectOf: createObjectOfTypeChecker,\n oneOf: createEnumTypeChecker,\n oneOfType: createUnionTypeChecker,\n shape: createShapeTypeChecker\n};\n\nfunction createChainableTypeChecker(validate) {\n function checkType(isRequired, props, propName, componentName, location, propFullName) {\n componentName = componentName || ANONYMOUS;\n propFullName = propFullName || propName;\n if (props[propName] == null) {\n var locationName = ReactPropTypeLocationNames[location];\n if (isRequired) {\n return new Error('Required ' + locationName + ' `' + propFullName + '` was not specified in ' + ('`' + componentName + '`.'));\n }\n return null;\n } else {\n return validate(props, propName, componentName, location, propFullName);\n }\n }\n\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n\n return chainedCheckType;\n}\n\nfunction createPrimitiveTypeChecker(expectedType) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== expectedType) {\n var locationName = ReactPropTypeLocationNames[location];\n // `propValue` being instance of, say, date/regexp, pass the 'object'\n // check, but we can offer a more precise error message here rather than\n // 'of type `object`'.\n var preciseType = getPreciseType(propValue);\n\n return new Error('Invalid ' + locationName + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n}\n\nfunction createAnyTypeChecker() {\n return createChainableTypeChecker(emptyFunction.thatReturns(null));\n}\n\nfunction createArrayOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!Array.isArray(propValue)) {\n var locationName = ReactPropTypeLocationNames[location];\n var propType = getPropType(propValue);\n return new Error('Invalid ' + locationName + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n }\n for (var i = 0; i < propValue.length; i++) {\n var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']');\n if (error instanceof Error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n}\n\nfunction createElementTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n if (!ReactElement.isValidElement(props[propName])) {\n var locationName = ReactPropTypeLocationNames[location];\n return new Error('Invalid ' + locationName + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a single ReactElement.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n}\n\nfunction createInstanceTypeChecker(expectedClass) {\n function validate(props, propName, componentName, location, propFullName) {\n if (!(props[propName] instanceof expectedClass)) {\n var locationName = ReactPropTypeLocationNames[location];\n var expectedClassName = expectedClass.name || ANONYMOUS;\n var actualClassName = getClassName(props[propName]);\n return new Error('Invalid ' + locationName + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n}\n\nfunction createEnumTypeChecker(expectedValues) {\n if (!Array.isArray(expectedValues)) {\n return createChainableTypeChecker(function () {\n return new Error('Invalid argument supplied to oneOf, expected an instance of array.');\n });\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n for (var i = 0; i < expectedValues.length; i++) {\n if (propValue === expectedValues[i]) {\n return null;\n }\n }\n\n var locationName = ReactPropTypeLocationNames[location];\n var valuesString = JSON.stringify(expectedValues);\n return new Error('Invalid ' + locationName + ' `' + propFullName + '` of value `' + propValue + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n }\n return createChainableTypeChecker(validate);\n}\n\nfunction createObjectOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n var locationName = ReactPropTypeLocationNames[location];\n return new Error('Invalid ' + locationName + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n }\n for (var key in propValue) {\n if (propValue.hasOwnProperty(key)) {\n var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key);\n if (error instanceof Error) {\n return error;\n }\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n}\n\nfunction createUnionTypeChecker(arrayOfTypeCheckers) {\n if (!Array.isArray(arrayOfTypeCheckers)) {\n return createChainableTypeChecker(function () {\n return new Error('Invalid argument supplied to oneOfType, expected an instance of array.');\n });\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (checker(props, propName, componentName, location, propFullName) == null) {\n return null;\n }\n }\n\n var locationName = ReactPropTypeLocationNames[location];\n return new Error('Invalid ' + locationName + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.'));\n }\n return createChainableTypeChecker(validate);\n}\n\nfunction createNodeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n if (!isNode(props[propName])) {\n var locationName = ReactPropTypeLocationNames[location];\n return new Error('Invalid ' + locationName + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n}\n\nfunction createShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n var locationName = ReactPropTypeLocationNames[location];\n return new Error('Invalid ' + locationName + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n for (var key in shapeTypes) {\n var checker = shapeTypes[key];\n if (!checker) {\n continue;\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key);\n if (error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n}\n\nfunction isNode(propValue) {\n switch (typeof propValue) {\n case 'number':\n case 'string':\n case 'undefined':\n return true;\n case 'boolean':\n return !propValue;\n case 'object':\n if (Array.isArray(propValue)) {\n return propValue.every(isNode);\n }\n if (propValue === null || ReactElement.isValidElement(propValue)) {\n return true;\n }\n\n var iteratorFn = getIteratorFn(propValue);\n if (iteratorFn) {\n var iterator = iteratorFn.call(propValue);\n var step;\n if (iteratorFn !== propValue.entries) {\n while (!(step = iterator.next()).done) {\n if (!isNode(step.value)) {\n return false;\n }\n }\n } else {\n // Iterator will provide entry [k,v] tuples rather than values.\n while (!(step = iterator.next()).done) {\n var entry = step.value;\n if (entry) {\n if (!isNode(entry[1])) {\n return false;\n }\n }\n }\n }\n } else {\n return false;\n }\n\n return true;\n default:\n return false;\n }\n}\n\n// Equivalent of `typeof` but with special handling for array and regexp.\nfunction getPropType(propValue) {\n var propType = typeof propValue;\n if (Array.isArray(propValue)) {\n return 'array';\n }\n if (propValue instanceof RegExp) {\n // Old webkits (at least until Android 4.0) return 'function' rather than\n // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n // passes PropTypes.object.\n return 'object';\n }\n return propType;\n}\n\n// This handles more types than `getPropType`. Only used for error messages.\n// See `createPrimitiveTypeChecker`.\nfunction getPreciseType(propValue) {\n var propType = getPropType(propValue);\n if (propType === 'object') {\n if (propValue instanceof Date) {\n return 'date';\n } else if (propValue instanceof RegExp) {\n return 'regexp';\n }\n }\n return propType;\n}\n\n// Returns class name of the object, if any.\nfunction getClassName(propValue) {\n if (!propValue.constructor || !propValue.constructor.name) {\n return '<<anonymous>>';\n }\n return propValue.constructor.name;\n}\n\nmodule.exports = ReactPropTypes;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/ReactPropTypes.js\n **/","/**\n * Copyright 2013-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 * @providesModule getIteratorFn\n * @typechecks static-only\n */\n\n'use strict';\n\n/* global Symbol */\nvar ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\nvar FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n/**\n * Returns the iterator method function contained on the iterable object.\n *\n * Be sure to invoke the function with the iterable as context:\n *\n * var iteratorFn = getIteratorFn(myIterable);\n * if (iteratorFn) {\n * var iterator = iteratorFn.call(myIterable);\n * ...\n * }\n *\n * @param {?object} maybeIterable\n * @return {?function}\n */\nfunction getIteratorFn(maybeIterable) {\n var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n}\n\nmodule.exports = getIteratorFn;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/getIteratorFn.js\n **/","/**\n * Copyright 2013-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 * @providesModule ReactDOMOption\n */\n\n'use strict';\n\nvar ReactChildren = require('./ReactChildren');\nvar ReactDOMSelect = require('./ReactDOMSelect');\n\nvar assign = require('./Object.assign');\nvar warning = require('fbjs/lib/warning');\n\nvar valueContextKey = ReactDOMSelect.valueContextKey;\n\n/**\n * Implements an <option> native component that warns when `selected` is set.\n */\nvar ReactDOMOption = {\n mountWrapper: function (inst, props, context) {\n // TODO (yungsters): Remove support for `selected` in <option>.\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== 'production' ? warning(props.selected == null, 'Use the `defaultValue` or `value` props on <select> instead of ' + 'setting `selected` on <option>.') : undefined;\n }\n\n // Look up whether this option is 'selected' via context\n var selectValue = context[valueContextKey];\n\n // If context key is null (e.g., no specified value or after initial mount)\n // or missing (e.g., for <datalist>), we don't change props.selected\n var selected = null;\n if (selectValue != null) {\n selected = false;\n if (Array.isArray(selectValue)) {\n // multiple\n for (var i = 0; i < selectValue.length; i++) {\n if ('' + selectValue[i] === '' + props.value) {\n selected = true;\n break;\n }\n }\n } else {\n selected = '' + selectValue === '' + props.value;\n }\n }\n\n inst._wrapperState = { selected: selected };\n },\n\n getNativeProps: function (inst, props, context) {\n var nativeProps = assign({ selected: undefined, children: undefined }, props);\n\n // Read state only from initial mount because <select> updates value\n // manually; we need the initial state only for server rendering\n if (inst._wrapperState.selected != null) {\n nativeProps.selected = inst._wrapperState.selected;\n }\n\n var content = '';\n\n // Flatten children and warn if they aren't strings or numbers;\n // invalid types are ignored.\n ReactChildren.forEach(props.children, function (child) {\n if (child == null) {\n return;\n }\n if (typeof child === 'string' || typeof child === 'number') {\n content += child;\n } else {\n process.env.NODE_ENV !== 'production' ? warning(false, 'Only strings and numbers are supported as <option> children.') : undefined;\n }\n });\n\n nativeProps.children = content;\n return nativeProps;\n }\n\n};\n\nmodule.exports = ReactDOMOption;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/ReactDOMOption.js\n **/","/**\n * Copyright 2013-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 * @providesModule ReactChildren\n */\n\n'use strict';\n\nvar PooledClass = require('./PooledClass');\nvar ReactElement = require('./ReactElement');\n\nvar emptyFunction = require('fbjs/lib/emptyFunction');\nvar traverseAllChildren = require('./traverseAllChildren');\n\nvar twoArgumentPooler = PooledClass.twoArgumentPooler;\nvar fourArgumentPooler = PooledClass.fourArgumentPooler;\n\nvar userProvidedKeyEscapeRegex = /\\/(?!\\/)/g;\nfunction escapeUserProvidedKey(text) {\n return ('' + text).replace(userProvidedKeyEscapeRegex, '//');\n}\n\n/**\n * PooledClass representing the bookkeeping associated with performing a child\n * traversal. Allows avoiding binding callbacks.\n *\n * @constructor ForEachBookKeeping\n * @param {!function} forEachFunction Function to perform traversal with.\n * @param {?*} forEachContext Context to perform context with.\n */\nfunction ForEachBookKeeping(forEachFunction, forEachContext) {\n this.func = forEachFunction;\n this.context = forEachContext;\n this.count = 0;\n}\nForEachBookKeeping.prototype.destructor = function () {\n this.func = null;\n this.context = null;\n this.count = 0;\n};\nPooledClass.addPoolingTo(ForEachBookKeeping, twoArgumentPooler);\n\nfunction forEachSingleChild(bookKeeping, child, name) {\n var func = bookKeeping.func;\n var context = bookKeeping.context;\n\n func.call(context, child, bookKeeping.count++);\n}\n\n/**\n * Iterates through children that are typically specified as `props.children`.\n *\n * The provided forEachFunc(child, index) will be called for each\n * leaf child.\n *\n * @param {?*} children Children tree container.\n * @param {function(*, int)} forEachFunc\n * @param {*} forEachContext Context for forEachContext.\n */\nfunction forEachChildren(children, forEachFunc, forEachContext) {\n if (children == null) {\n return children;\n }\n var traverseContext = ForEachBookKeeping.getPooled(forEachFunc, forEachContext);\n traverseAllChildren(children, forEachSingleChild, traverseContext);\n ForEachBookKeeping.release(traverseContext);\n}\n\n/**\n * PooledClass representing the bookkeeping associated with performing a child\n * mapping. Allows avoiding binding callbacks.\n *\n * @constructor MapBookKeeping\n * @param {!*} mapResult Object containing the ordered map of results.\n * @param {!function} mapFunction Function to perform mapping with.\n * @param {?*} mapContext Context to perform mapping with.\n */\nfunction MapBookKeeping(mapResult, keyPrefix, mapFunction, mapContext) {\n this.result = mapResult;\n this.keyPrefix = keyPrefix;\n this.func = mapFunction;\n this.context = mapContext;\n this.count = 0;\n}\nMapBookKeeping.prototype.destructor = function () {\n this.result = null;\n this.keyPrefix = null;\n this.func = null;\n this.context = null;\n this.count = 0;\n};\nPooledClass.addPoolingTo(MapBookKeeping, fourArgumentPooler);\n\nfunction mapSingleChildIntoContext(bookKeeping, child, childKey) {\n var result = bookKeeping.result;\n var keyPrefix = bookKeeping.keyPrefix;\n var func = bookKeeping.func;\n var context = bookKeeping.context;\n\n var mappedChild = func.call(context, child, bookKeeping.count++);\n if (Array.isArray(mappedChild)) {\n mapIntoWithKeyPrefixInternal(mappedChild, result, childKey, emptyFunction.thatReturnsArgument);\n } else if (mappedChild != null) {\n if (ReactElement.isValidElement(mappedChild)) {\n mappedChild = ReactElement.cloneAndReplaceKey(mappedChild,\n // Keep both the (mapped) and old keys if they differ, just as\n // traverseAllChildren used to do for objects as children\n keyPrefix + (mappedChild !== child ? escapeUserProvidedKey(mappedChild.key || '') + '/' : '') + childKey);\n }\n result.push(mappedChild);\n }\n}\n\nfunction mapIntoWithKeyPrefixInternal(children, array, prefix, func, context) {\n var escapedPrefix = '';\n if (prefix != null) {\n escapedPrefix = escapeUserProvidedKey(prefix) + '/';\n }\n var traverseContext = MapBookKeeping.getPooled(array, escapedPrefix, func, context);\n traverseAllChildren(children, mapSingleChildIntoContext, traverseContext);\n MapBookKeeping.release(traverseContext);\n}\n\n/**\n * Maps children that are typically specified as `props.children`.\n *\n * The provided mapFunction(child, key, index) will be called for each\n * leaf child.\n *\n * @param {?*} children Children tree container.\n * @param {function(*, int)} func The map function.\n * @param {*} context Context for mapFunction.\n * @return {object} Object containing the ordered map of results.\n */\nfunction mapChildren(children, func, context) {\n if (children == null) {\n return children;\n }\n var result = [];\n mapIntoWithKeyPrefixInternal(children, result, null, func, context);\n return result;\n}\n\nfunction forEachSingleChildDummy(traverseContext, child, name) {\n return null;\n}\n\n/**\n * Count the number of children that are typically specified as\n * `props.children`.\n *\n * @param {?*} children Children tree container.\n * @return {number} The number of children.\n */\nfunction countChildren(children, context) {\n return traverseAllChildren(children, forEachSingleChildDummy, null);\n}\n\n/**\n * Flatten a children object (typically specified as `props.children`) and\n * return an array with appropriately re-keyed children.\n */\nfunction toArray(children) {\n var result = [];\n mapIntoWithKeyPrefixInternal(children, result, null, emptyFunction.thatReturnsArgument);\n return result;\n}\n\nvar ReactChildren = {\n forEach: forEachChildren,\n map: mapChildren,\n mapIntoWithKeyPrefixInternal: mapIntoWithKeyPrefixInternal,\n count: countChildren,\n toArray: toArray\n};\n\nmodule.exports = ReactChildren;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/ReactChildren.js\n **/","/**\n * Copyright 2013-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 * @providesModule traverseAllChildren\n */\n\n'use strict';\n\nvar ReactCurrentOwner = require('./ReactCurrentOwner');\nvar ReactElement = require('./ReactElement');\nvar ReactInstanceHandles = require('./ReactInstanceHandles');\n\nvar getIteratorFn = require('./getIteratorFn');\nvar invariant = require('fbjs/lib/invariant');\nvar warning = require('fbjs/lib/warning');\n\nvar SEPARATOR = ReactInstanceHandles.SEPARATOR;\nvar SUBSEPARATOR = ':';\n\n/**\n * TODO: Test that a single child and an array with one item have the same key\n * pattern.\n */\n\nvar userProvidedKeyEscaperLookup = {\n '=': '=0',\n '.': '=1',\n ':': '=2'\n};\n\nvar userProvidedKeyEscapeRegex = /[=.:]/g;\n\nvar didWarnAboutMaps = false;\n\nfunction userProvidedKeyEscaper(match) {\n return userProvidedKeyEscaperLookup[match];\n}\n\n/**\n * Generate a key string that identifies a component within a set.\n *\n * @param {*} component A component that could contain a manual key.\n * @param {number} index Index that is used if a manual key is not provided.\n * @return {string}\n */\nfunction getComponentKey(component, index) {\n if (component && component.key != null) {\n // Explicit key\n return wrapUserProvidedKey(component.key);\n }\n // Implicit key determined by the index in the set\n return index.toString(36);\n}\n\n/**\n * Escape a component key so that it is safe to use in a reactid.\n *\n * @param {*} text Component key to be escaped.\n * @return {string} An escaped string.\n */\nfunction escapeUserProvidedKey(text) {\n return ('' + text).replace(userProvidedKeyEscapeRegex, userProvidedKeyEscaper);\n}\n\n/**\n * Wrap a `key` value explicitly provided by the user to distinguish it from\n * implicitly-generated keys generated by a component's index in its parent.\n *\n * @param {string} key Value of a user-provided `key` attribute\n * @return {string}\n */\nfunction wrapUserProvidedKey(key) {\n return '$' + escapeUserProvidedKey(key);\n}\n\n/**\n * @param {?*} children Children tree container.\n * @param {!string} nameSoFar Name of the key path so far.\n * @param {!function} callback Callback to invoke with each child found.\n * @param {?*} traverseContext Used to pass information throughout the traversal\n * process.\n * @return {!number} The number of children in this subtree.\n */\nfunction traverseAllChildrenImpl(children, nameSoFar, callback, traverseContext) {\n var type = typeof children;\n\n if (type === 'undefined' || type === 'boolean') {\n // All of the above are perceived as null.\n children = null;\n }\n\n if (children === null || type === 'string' || type === 'number' || ReactElement.isValidElement(children)) {\n callback(traverseContext, children,\n // If it's the only child, treat the name as if it was wrapped in an array\n // so that it's consistent if the number of children grows.\n nameSoFar === '' ? SEPARATOR + getComponentKey(children, 0) : nameSoFar);\n return 1;\n }\n\n var child;\n var nextName;\n var subtreeCount = 0; // Count of children found in the current subtree.\n var nextNamePrefix = nameSoFar === '' ? SEPARATOR : nameSoFar + SUBSEPARATOR;\n\n if (Array.isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n child = children[i];\n nextName = nextNamePrefix + getComponentKey(child, i);\n subtreeCount += traverseAllChildrenImpl(child, nextName, callback, traverseContext);\n }\n } else {\n var iteratorFn = getIteratorFn(children);\n if (iteratorFn) {\n var iterator = iteratorFn.call(children);\n var step;\n if (iteratorFn !== children.entries) {\n var ii = 0;\n while (!(step = iterator.next()).done) {\n child = step.value;\n nextName = nextNamePrefix + getComponentKey(child, ii++);\n subtreeCount += traverseAllChildrenImpl(child, nextName, callback, traverseContext);\n }\n } else {\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== 'production' ? warning(didWarnAboutMaps, 'Using Maps as children is not yet fully supported. It is an ' + 'experimental feature that might be removed. Convert it to a ' + 'sequence / iterable of keyed ReactElements instead.') : undefined;\n didWarnAboutMaps = true;\n }\n // Iterator will provide entry [k,v] tuples rather than values.\n while (!(step = iterator.next()).done) {\n var entry = step.value;\n if (entry) {\n child = entry[1];\n nextName = nextNamePrefix + wrapUserProvidedKey(entry[0]) + SUBSEPARATOR + getComponentKey(child, 0);\n subtreeCount += traverseAllChildrenImpl(child, nextName, callback, traverseContext);\n }\n }\n }\n } else if (type === 'object') {\n var addendum = '';\n if (process.env.NODE_ENV !== 'production') {\n addendum = ' If you meant to render a collection of children, use an array ' + 'instead or wrap the object using createFragment(object) from the ' + 'React add-ons.';\n if (children._isReactElement) {\n addendum = ' It looks like you\\'re using an element created by a different ' + 'version of React. Make sure to use only one copy of React.';\n }\n if (ReactCurrentOwner.current) {\n var name = ReactCurrentOwner.current.getName();\n if (name) {\n addendum += ' Check the render method of `' + name + '`.';\n }\n }\n }\n var childrenString = String(children);\n !false ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Objects are not valid as a React child (found: %s).%s', childrenString === '[object Object]' ? 'object with keys {' + Object.keys(children).join(', ') + '}' : childrenString, addendum) : invariant(false) : undefined;\n }\n }\n\n return subtreeCount;\n}\n\n/**\n * Traverses children that are typically specified as `props.children`, but\n * might also be specified through attributes:\n *\n * - `traverseAllChildren(this.props.children, ...)`\n * - `traverseAllChildren(this.props.leftPanelChildren, ...)`\n *\n * The `traverseContext` is an optional argument that is passed through the\n * entire traversal. It can be used to store accumulations or anything else that\n * the callback might find relevant.\n *\n * @param {?*} children Children tree object.\n * @param {!function} callback To invoke upon traversing each child.\n * @param {?*} traverseContext Context for traversal.\n * @return {!number} The number of children in this subtree.\n */\nfunction traverseAllChildren(children, callback, traverseContext) {\n if (children == null) {\n return 0;\n }\n\n return traverseAllChildrenImpl(children, '', callback, traverseContext);\n}\n\nmodule.exports = traverseAllChildren;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/traverseAllChildren.js\n **/","/**\n * Copyright 2013-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 * @providesModule ReactDOMSelect\n */\n\n'use strict';\n\nvar LinkedValueUtils = require('./LinkedValueUtils');\nvar ReactMount = require('./ReactMount');\nvar ReactUpdates = require('./ReactUpdates');\n\nvar assign = require('./Object.assign');\nvar warning = require('fbjs/lib/warning');\n\nvar valueContextKey = '__ReactDOMSelect_value$' + Math.random().toString(36).slice(2);\n\nfunction updateOptionsIfPendingUpdateAndMounted() {\n if (this._rootNodeID && this._wrapperState.pendingUpdate) {\n this._wrapperState.pendingUpdate = false;\n\n var props = this._currentElement.props;\n var value = LinkedValueUtils.getValue(props);\n\n if (value != null) {\n updateOptions(this, props, value);\n }\n }\n}\n\nfunction getDeclarationErrorAddendum(owner) {\n if (owner) {\n var name = owner.getName();\n if (name) {\n return ' Check the render method of `' + name + '`.';\n }\n }\n return '';\n}\n\nvar valuePropNames = ['value', 'defaultValue'];\n\n/**\n * Validation function for `value` and `defaultValue`.\n * @private\n */\nfunction checkSelectPropTypes(inst, props) {\n var owner = inst._currentElement._owner;\n LinkedValueUtils.checkPropTypes('select', props, owner);\n\n for (var i = 0; i < valuePropNames.length; i++) {\n var propName = valuePropNames[i];\n if (props[propName] == null) {\n continue;\n }\n if (props.multiple) {\n process.env.NODE_ENV !== 'production' ? warning(Array.isArray(props[propName]), 'The `%s` prop supplied to <select> must be an array if ' + '`multiple` is true.%s', propName, getDeclarationErrorAddendum(owner)) : undefined;\n } else {\n process.env.NODE_ENV !== 'production' ? warning(!Array.isArray(props[propName]), 'The `%s` prop supplied to <select> must be a scalar ' + 'value if `multiple` is false.%s', propName, getDeclarationErrorAddendum(owner)) : undefined;\n }\n }\n}\n\n/**\n * @param {ReactDOMComponent} inst\n * @param {boolean} multiple\n * @param {*} propValue A stringable (with `multiple`, a list of stringables).\n * @private\n */\nfunction updateOptions(inst, multiple, propValue) {\n var selectedValue, i;\n var options = ReactMount.getNode(inst._rootNodeID).options;\n\n if (multiple) {\n selectedValue = {};\n for (i = 0; i < propValue.length; i++) {\n selectedValue['' + propValue[i]] = true;\n }\n for (i = 0; i < options.length; i++) {\n var selected = selectedValue.hasOwnProperty(options[i].value);\n if (options[i].selected !== selected) {\n options[i].selected = selected;\n }\n }\n } else {\n // Do not set `select.value` as exact behavior isn't consistent across all\n // browsers for all cases.\n selectedValue = '' + propValue;\n for (i = 0; i < options.length; i++) {\n if (options[i].value === selectedValue) {\n options[i].selected = true;\n return;\n }\n }\n if (options.length) {\n options[0].selected = true;\n }\n }\n}\n\n/**\n * Implements a <select> native component that allows optionally setting the\n * props `value` and `defaultValue`. If `multiple` is false, the prop must be a\n * stringable. If `multiple` is true, the prop must be an array of stringables.\n *\n * If `value` is not supplied (or null/undefined), user actions that change the\n * selected option will trigger updates to the rendered options.\n *\n * If it is supplied (and not null/undefined), the rendered options will not\n * update in response to user actions. Instead, the `value` prop must change in\n * order for the rendered options to update.\n *\n * If `defaultValue` is provided, any options with the supplied values will be\n * selected.\n */\nvar ReactDOMSelect = {\n valueContextKey: valueContextKey,\n\n getNativeProps: function (inst, props, context) {\n return assign({}, props, {\n onChange: inst._wrapperState.onChange,\n value: undefined\n });\n },\n\n mountWrapper: function (inst, props) {\n if (process.env.NODE_ENV !== 'production') {\n checkSelectPropTypes(inst, props);\n }\n\n var value = LinkedValueUtils.getValue(props);\n inst._wrapperState = {\n pendingUpdate: false,\n initialValue: value != null ? value : props.defaultValue,\n onChange: _handleChange.bind(inst),\n wasMultiple: Boolean(props.multiple)\n };\n },\n\n processChildContext: function (inst, props, context) {\n // Pass down initial value so initial generated markup has correct\n // `selected` attributes\n var childContext = assign({}, context);\n childContext[valueContextKey] = inst._wrapperState.initialValue;\n return childContext;\n },\n\n postUpdateWrapper: function (inst) {\n var props = inst._currentElement.props;\n\n // After the initial mount, we control selected-ness manually so don't pass\n // the context value down\n inst._wrapperState.initialValue = undefined;\n\n var wasMultiple = inst._wrapperState.wasMultiple;\n inst._wrapperState.wasMultiple = Boolean(props.multiple);\n\n var value = LinkedValueUtils.getValue(props);\n if (value != null) {\n inst._wrapperState.pendingUpdate = false;\n updateOptions(inst, Boolean(props.multiple), value);\n } else if (wasMultiple !== Boolean(props.multiple)) {\n // For simplicity, reapply `defaultValue` if `multiple` is toggled.\n if (props.defaultValue != null) {\n updateOptions(inst, Boolean(props.multiple), props.defaultValue);\n } else {\n // Revert the select back to its default unselected state.\n updateOptions(inst, Boolean(props.multiple), props.multiple ? [] : '');\n }\n }\n }\n};\n\nfunction _handleChange(event) {\n var props = this._currentElement.props;\n var returnValue = LinkedValueUtils.executeOnChange(props, event);\n\n this._wrapperState.pendingUpdate = true;\n ReactUpdates.asap(updateOptionsIfPendingUpdateAndMounted, this);\n return returnValue;\n}\n\nmodule.exports = ReactDOMSelect;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/ReactDOMSelect.js\n **/","/**\n * Copyright 2013-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 * @providesModule ReactDOMTextarea\n */\n\n'use strict';\n\nvar LinkedValueUtils = require('./LinkedValueUtils');\nvar ReactDOMIDOperations = require('./ReactDOMIDOperations');\nvar ReactUpdates = require('./ReactUpdates');\n\nvar assign = require('./Object.assign');\nvar invariant = require('fbjs/lib/invariant');\nvar warning = require('fbjs/lib/warning');\n\nfunction forceUpdateIfMounted() {\n if (this._rootNodeID) {\n // DOM component is still mounted; update\n ReactDOMTextarea.updateWrapper(this);\n }\n}\n\n/**\n * Implements a <textarea> native component that allows setting `value`, and\n * `defaultValue`. This differs from the traditional DOM API because value is\n * usually set as PCDATA children.\n *\n * If `value` is not supplied (or null/undefined), user actions that affect the\n * value will trigger updates to the element.\n *\n * If `value` is supplied (and not null/undefined), the rendered element will\n * not trigger updates to the element. Instead, the `value` prop must change in\n * order for the rendered element to be updated.\n *\n * The rendered element will be initialized with an empty value, the prop\n * `defaultValue` if specified, or the children content (deprecated).\n */\nvar ReactDOMTextarea = {\n getNativeProps: function (inst, props, context) {\n !(props.dangerouslySetInnerHTML == null) ? process.env.NODE_ENV !== 'production' ? invariant(false, '`dangerouslySetInnerHTML` does not make sense on <textarea>.') : invariant(false) : undefined;\n\n // Always set children to the same thing. In IE9, the selection range will\n // get reset if `textContent` is mutated.\n var nativeProps = assign({}, props, {\n defaultValue: undefined,\n value: undefined,\n children: inst._wrapperState.initialValue,\n onChange: inst._wrapperState.onChange\n });\n\n return nativeProps;\n },\n\n mountWrapper: function (inst, props) {\n if (process.env.NODE_ENV !== 'production') {\n LinkedValueUtils.checkPropTypes('textarea', props, inst._currentElement._owner);\n }\n\n var defaultValue = props.defaultValue;\n // TODO (yungsters): Remove support for children content in <textarea>.\n var children = props.children;\n if (children != null) {\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== 'production' ? warning(false, 'Use the `defaultValue` or `value` props instead of setting ' + 'children on <textarea>.') : undefined;\n }\n !(defaultValue == null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'If you supply `defaultValue` on a <textarea>, do not pass children.') : invariant(false) : undefined;\n if (Array.isArray(children)) {\n !(children.length <= 1) ? process.env.NODE_ENV !== 'production' ? invariant(false, '<textarea> can only have at most one child.') : invariant(false) : undefined;\n children = children[0];\n }\n\n defaultValue = '' + children;\n }\n if (defaultValue == null) {\n defaultValue = '';\n }\n var value = LinkedValueUtils.getValue(props);\n\n inst._wrapperState = {\n // We save the initial value so that `ReactDOMComponent` doesn't update\n // `textContent` (unnecessary since we update value).\n // The initial value can be a boolean or object so that's why it's\n // forced to be a string.\n initialValue: '' + (value != null ? value : defaultValue),\n onChange: _handleChange.bind(inst)\n };\n },\n\n updateWrapper: function (inst) {\n var props = inst._currentElement.props;\n var value = LinkedValueUtils.getValue(props);\n if (value != null) {\n // Cast `value` to a string to ensure the value is set correctly. While\n // browsers typically do this as necessary, jsdom doesn't.\n ReactDOMIDOperations.updatePropertyByID(inst._rootNodeID, 'value', '' + value);\n }\n }\n};\n\nfunction _handleChange(event) {\n var props = this._currentElement.props;\n var returnValue = LinkedValueUtils.executeOnChange(props, event);\n ReactUpdates.asap(forceUpdateIfMounted, this);\n return returnValue;\n}\n\nmodule.exports = ReactDOMTextarea;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/ReactDOMTextarea.js\n **/","/**\n * Copyright 2013-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 * @providesModule ReactMultiChild\n * @typechecks static-only\n */\n\n'use strict';\n\nvar ReactComponentEnvironment = require('./ReactComponentEnvironment');\nvar ReactMultiChildUpdateTypes = require('./ReactMultiChildUpdateTypes');\n\nvar ReactCurrentOwner = require('./ReactCurrentOwner');\nvar ReactReconciler = require('./ReactReconciler');\nvar ReactChildReconciler = require('./ReactChildReconciler');\n\nvar flattenChildren = require('./flattenChildren');\n\n/**\n * Updating children of a component may trigger recursive updates. The depth is\n * used to batch recursive updates to render markup more efficiently.\n *\n * @type {number}\n * @private\n */\nvar updateDepth = 0;\n\n/**\n * Queue of update configuration objects.\n *\n * Each object has a `type` property that is in `ReactMultiChildUpdateTypes`.\n *\n * @type {array<object>}\n * @private\n */\nvar updateQueue = [];\n\n/**\n * Queue of markup to be rendered.\n *\n * @type {array<string>}\n * @private\n */\nvar markupQueue = [];\n\n/**\n * Enqueues markup to be rendered and inserted at a supplied index.\n *\n * @param {string} parentID ID of the parent component.\n * @param {string} markup Markup that renders into an element.\n * @param {number} toIndex Destination index.\n * @private\n */\nfunction enqueueInsertMarkup(parentID, markup, toIndex) {\n // NOTE: Null values reduce hidden classes.\n updateQueue.push({\n parentID: parentID,\n parentNode: null,\n type: ReactMultiChildUpdateTypes.INSERT_MARKUP,\n markupIndex: markupQueue.push(markup) - 1,\n content: null,\n fromIndex: null,\n toIndex: toIndex\n });\n}\n\n/**\n * Enqueues moving an existing element to another index.\n *\n * @param {string} parentID ID of the parent component.\n * @param {number} fromIndex Source index of the existing element.\n * @param {number} toIndex Destination index of the element.\n * @private\n */\nfunction enqueueMove(parentID, fromIndex, toIndex) {\n // NOTE: Null values reduce hidden classes.\n updateQueue.push({\n parentID: parentID,\n parentNode: null,\n type: ReactMultiChildUpdateTypes.MOVE_EXISTING,\n markupIndex: null,\n content: null,\n fromIndex: fromIndex,\n toIndex: toIndex\n });\n}\n\n/**\n * Enqueues removing an element at an index.\n *\n * @param {string} parentID ID of the parent component.\n * @param {number} fromIndex Index of the element to remove.\n * @private\n */\nfunction enqueueRemove(parentID, fromIndex) {\n // NOTE: Null values reduce hidden classes.\n updateQueue.push({\n parentID: parentID,\n parentNode: null,\n type: ReactMultiChildUpdateTypes.REMOVE_NODE,\n markupIndex: null,\n content: null,\n fromIndex: fromIndex,\n toIndex: null\n });\n}\n\n/**\n * Enqueues setting the markup of a node.\n *\n * @param {string} parentID ID of the parent component.\n * @param {string} markup Markup that renders into an element.\n * @private\n */\nfunction enqueueSetMarkup(parentID, markup) {\n // NOTE: Null values reduce hidden classes.\n updateQueue.push({\n parentID: parentID,\n parentNode: null,\n type: ReactMultiChildUpdateTypes.SET_MARKUP,\n markupIndex: null,\n content: markup,\n fromIndex: null,\n toIndex: null\n });\n}\n\n/**\n * Enqueues setting the text content.\n *\n * @param {string} parentID ID of the parent component.\n * @param {string} textContent Text content to set.\n * @private\n */\nfunction enqueueTextContent(parentID, textContent) {\n // NOTE: Null values reduce hidden classes.\n updateQueue.push({\n parentID: parentID,\n parentNode: null,\n type: ReactMultiChildUpdateTypes.TEXT_CONTENT,\n markupIndex: null,\n content: textContent,\n fromIndex: null,\n toIndex: null\n });\n}\n\n/**\n * Processes any enqueued updates.\n *\n * @private\n */\nfunction processQueue() {\n if (updateQueue.length) {\n ReactComponentEnvironment.processChildrenUpdates(updateQueue, markupQueue);\n clearQueue();\n }\n}\n\n/**\n * Clears any enqueued updates.\n *\n * @private\n */\nfunction clearQueue() {\n updateQueue.length = 0;\n markupQueue.length = 0;\n}\n\n/**\n * ReactMultiChild are capable of reconciling multiple children.\n *\n * @class ReactMultiChild\n * @internal\n */\nvar ReactMultiChild = {\n\n /**\n * Provides common functionality for components that must reconcile multiple\n * children. This is used by `ReactDOMComponent` to mount, update, and\n * unmount child components.\n *\n * @lends {ReactMultiChild.prototype}\n */\n Mixin: {\n\n _reconcilerInstantiateChildren: function (nestedChildren, transaction, context) {\n if (process.env.NODE_ENV !== 'production') {\n if (this._currentElement) {\n try {\n ReactCurrentOwner.current = this._currentElement._owner;\n return ReactChildReconciler.instantiateChildren(nestedChildren, transaction, context);\n } finally {\n ReactCurrentOwner.current = null;\n }\n }\n }\n return ReactChildReconciler.instantiateChildren(nestedChildren, transaction, context);\n },\n\n _reconcilerUpdateChildren: function (prevChildren, nextNestedChildrenElements, transaction, context) {\n var nextChildren;\n if (process.env.NODE_ENV !== 'production') {\n if (this._currentElement) {\n try {\n ReactCurrentOwner.current = this._currentElement._owner;\n nextChildren = flattenChildren(nextNestedChildrenElements);\n } finally {\n ReactCurrentOwner.current = null;\n }\n return ReactChildReconciler.updateChildren(prevChildren, nextChildren, transaction, context);\n }\n }\n nextChildren = flattenChildren(nextNestedChildrenElements);\n return ReactChildReconciler.updateChildren(prevChildren, nextChildren, transaction, context);\n },\n\n /**\n * Generates a \"mount image\" for each of the supplied children. In the case\n * of `ReactDOMComponent`, a mount image is a string of markup.\n *\n * @param {?object} nestedChildren Nested child maps.\n * @return {array} An array of mounted representations.\n * @internal\n */\n mountChildren: function (nestedChildren, transaction, context) {\n var children = this._reconcilerInstantiateChildren(nestedChildren, transaction, context);\n this._renderedChildren = children;\n var mountImages = [];\n var index = 0;\n for (var name in children) {\n if (children.hasOwnProperty(name)) {\n var child = children[name];\n // Inlined for performance, see `ReactInstanceHandles.createReactID`.\n var rootID = this._rootNodeID + name;\n var mountImage = ReactReconciler.mountComponent(child, rootID, transaction, context);\n child._mountIndex = index++;\n mountImages.push(mountImage);\n }\n }\n return mountImages;\n },\n\n /**\n * Replaces any rendered children with a text content string.\n *\n * @param {string} nextContent String of content.\n * @internal\n */\n updateTextContent: function (nextContent) {\n updateDepth++;\n var errorThrown = true;\n try {\n var prevChildren = this._renderedChildren;\n // Remove any rendered children.\n ReactChildReconciler.unmountChildren(prevChildren);\n // TODO: The setTextContent operation should be enough\n for (var name in prevChildren) {\n if (prevChildren.hasOwnProperty(name)) {\n this._unmountChild(prevChildren[name]);\n }\n }\n // Set new text content.\n this.setTextContent(nextContent);\n errorThrown = false;\n } finally {\n updateDepth--;\n if (!updateDepth) {\n if (errorThrown) {\n clearQueue();\n } else {\n processQueue();\n }\n }\n }\n },\n\n /**\n * Replaces any rendered children with a markup string.\n *\n * @param {string} nextMarkup String of markup.\n * @internal\n */\n updateMarkup: function (nextMarkup) {\n updateDepth++;\n var errorThrown = true;\n try {\n var prevChildren = this._renderedChildren;\n // Remove any rendered children.\n ReactChildReconciler.unmountChildren(prevChildren);\n for (var name in prevChildren) {\n if (prevChildren.hasOwnProperty(name)) {\n this._unmountChildByName(prevChildren[name], name);\n }\n }\n this.setMarkup(nextMarkup);\n errorThrown = false;\n } finally {\n updateDepth--;\n if (!updateDepth) {\n if (errorThrown) {\n clearQueue();\n } else {\n processQueue();\n }\n }\n }\n },\n\n /**\n * Updates the rendered children with new children.\n *\n * @param {?object} nextNestedChildrenElements Nested child element maps.\n * @param {ReactReconcileTransaction} transaction\n * @internal\n */\n updateChildren: function (nextNestedChildrenElements, transaction, context) {\n updateDepth++;\n var errorThrown = true;\n try {\n this._updateChildren(nextNestedChildrenElements, transaction, context);\n errorThrown = false;\n } finally {\n updateDepth--;\n if (!updateDepth) {\n if (errorThrown) {\n clearQueue();\n } else {\n processQueue();\n }\n }\n }\n },\n\n /**\n * Improve performance by isolating this hot code path from the try/catch\n * block in `updateChildren`.\n *\n * @param {?object} nextNestedChildrenElements Nested child element maps.\n * @param {ReactReconcileTransaction} transaction\n * @final\n * @protected\n */\n _updateChildren: function (nextNestedChildrenElements, transaction, context) {\n var prevChildren = this._renderedChildren;\n var nextChildren = this._reconcilerUpdateChildren(prevChildren, nextNestedChildrenElements, transaction, context);\n this._renderedChildren = nextChildren;\n if (!nextChildren && !prevChildren) {\n return;\n }\n var name;\n // `nextIndex` will increment for each child in `nextChildren`, but\n // `lastIndex` will be the last index visited in `prevChildren`.\n var lastIndex = 0;\n var nextIndex = 0;\n for (name in nextChildren) {\n if (!nextChildren.hasOwnProperty(name)) {\n continue;\n }\n var prevChild = prevChildren && prevChildren[name];\n var nextChild = nextChildren[name];\n if (prevChild === nextChild) {\n this.moveChild(prevChild, nextIndex, lastIndex);\n lastIndex = Math.max(prevChild._mountIndex, lastIndex);\n prevChild._mountIndex = nextIndex;\n } else {\n if (prevChild) {\n // Update `lastIndex` before `_mountIndex` gets unset by unmounting.\n lastIndex = Math.max(prevChild._mountIndex, lastIndex);\n this._unmountChild(prevChild);\n }\n // The child must be instantiated before it's mounted.\n this._mountChildByNameAtIndex(nextChild, name, nextIndex, transaction, context);\n }\n nextIndex++;\n }\n // Remove children that are no longer present.\n for (name in prevChildren) {\n if (prevChildren.hasOwnProperty(name) && !(nextChildren && nextChildren.hasOwnProperty(name))) {\n this._unmountChild(prevChildren[name]);\n }\n }\n },\n\n /**\n * Unmounts all rendered children. This should be used to clean up children\n * when this component is unmounted.\n *\n * @internal\n */\n unmountChildren: function () {\n var renderedChildren = this._renderedChildren;\n ReactChildReconciler.unmountChildren(renderedChildren);\n this._renderedChildren = null;\n },\n\n /**\n * Moves a child component to the supplied index.\n *\n * @param {ReactComponent} child Component to move.\n * @param {number} toIndex Destination index of the element.\n * @param {number} lastIndex Last index visited of the siblings of `child`.\n * @protected\n */\n moveChild: function (child, toIndex, lastIndex) {\n // If the index of `child` is less than `lastIndex`, then it needs to\n // be moved. Otherwise, we do not need to move it because a child will be\n // inserted or moved before `child`.\n if (child._mountIndex < lastIndex) {\n enqueueMove(this._rootNodeID, child._mountIndex, toIndex);\n }\n },\n\n /**\n * Creates a child component.\n *\n * @param {ReactComponent} child Component to create.\n * @param {string} mountImage Markup to insert.\n * @protected\n */\n createChild: function (child, mountImage) {\n enqueueInsertMarkup(this._rootNodeID, mountImage, child._mountIndex);\n },\n\n /**\n * Removes a child component.\n *\n * @param {ReactComponent} child Child to remove.\n * @protected\n */\n removeChild: function (child) {\n enqueueRemove(this._rootNodeID, child._mountIndex);\n },\n\n /**\n * Sets this text content string.\n *\n * @param {string} textContent Text content to set.\n * @protected\n */\n setTextContent: function (textContent) {\n enqueueTextContent(this._rootNodeID, textContent);\n },\n\n /**\n * Sets this markup string.\n *\n * @param {string} markup Markup to set.\n * @protected\n */\n setMarkup: function (markup) {\n enqueueSetMarkup(this._rootNodeID, markup);\n },\n\n /**\n * Mounts a child with the supplied name.\n *\n * NOTE: This is part of `updateChildren` and is here for readability.\n *\n * @param {ReactComponent} child Component to mount.\n * @param {string} name Name of the child.\n * @param {number} index Index at which to insert the child.\n * @param {ReactReconcileTransaction} transaction\n * @private\n */\n _mountChildByNameAtIndex: function (child, name, index, transaction, context) {\n // Inlined for performance, see `ReactInstanceHandles.createReactID`.\n var rootID = this._rootNodeID + name;\n var mountImage = ReactReconciler.mountComponent(child, rootID, transaction, context);\n child._mountIndex = index;\n this.createChild(child, mountImage);\n },\n\n /**\n * Unmounts a rendered child.\n *\n * NOTE: This is part of `updateChildren` and is here for readability.\n *\n * @param {ReactComponent} child Component to unmount.\n * @private\n */\n _unmountChild: function (child) {\n this.removeChild(child);\n child._mountIndex = null;\n }\n\n }\n\n};\n\nmodule.exports = ReactMultiChild;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/ReactMultiChild.js\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 * @providesModule ReactChildReconciler\n * @typechecks static-only\n */\n\n'use strict';\n\nvar ReactReconciler = require('./ReactReconciler');\n\nvar instantiateReactComponent = require('./instantiateReactComponent');\nvar shouldUpdateReactComponent = require('./shouldUpdateReactComponent');\nvar traverseAllChildren = require('./traverseAllChildren');\nvar warning = require('fbjs/lib/warning');\n\nfunction instantiateChild(childInstances, child, name) {\n // We found a component instance.\n var keyUnique = childInstances[name] === undefined;\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== 'production' ? warning(keyUnique, 'flattenChildren(...): Encountered two children with the same key, ' + '`%s`. Child keys must be unique; when two children share a key, only ' + 'the first child will be used.', name) : undefined;\n }\n if (child != null && keyUnique) {\n childInstances[name] = instantiateReactComponent(child, null);\n }\n}\n\n/**\n * ReactChildReconciler provides helpers for initializing or updating a set of\n * children. Its output is suitable for passing it onto ReactMultiChild which\n * does diffed reordering and insertion.\n */\nvar ReactChildReconciler = {\n /**\n * Generates a \"mount image\" for each of the supplied children. In the case\n * of `ReactDOMComponent`, a mount image is a string of markup.\n *\n * @param {?object} nestedChildNodes Nested child maps.\n * @return {?object} A set of child instances.\n * @internal\n */\n instantiateChildren: function (nestedChildNodes, transaction, context) {\n if (nestedChildNodes == null) {\n return null;\n }\n var childInstances = {};\n traverseAllChildren(nestedChildNodes, instantiateChild, childInstances);\n return childInstances;\n },\n\n /**\n * Updates the rendered children and returns a new set of children.\n *\n * @param {?object} prevChildren Previously initialized set of children.\n * @param {?object} nextChildren Flat child element maps.\n * @param {ReactReconcileTransaction} transaction\n * @param {object} context\n * @return {?object} A new set of child instances.\n * @internal\n */\n updateChildren: function (prevChildren, nextChildren, transaction, context) {\n // We currently don't have a way to track moves here but if we use iterators\n // instead of for..in we can zip the iterators and check if an item has\n // moved.\n // TODO: If nothing has changed, return the prevChildren object so that we\n // can quickly bailout if nothing has changed.\n if (!nextChildren && !prevChildren) {\n return null;\n }\n var name;\n for (name in nextChildren) {\n if (!nextChildren.hasOwnProperty(name)) {\n continue;\n }\n var prevChild = prevChildren && prevChildren[name];\n var prevElement = prevChild && prevChild._currentElement;\n var nextElement = nextChildren[name];\n if (prevChild != null && shouldUpdateReactComponent(prevElement, nextElement)) {\n ReactReconciler.receiveComponent(prevChild, nextElement, transaction, context);\n nextChildren[name] = prevChild;\n } else {\n if (prevChild) {\n ReactReconciler.unmountComponent(prevChild, name);\n }\n // The child must be instantiated before it's mounted.\n var nextChildInstance = instantiateReactComponent(nextElement, null);\n nextChildren[name] = nextChildInstance;\n }\n }\n // Unmount children that are no longer present.\n for (name in prevChildren) {\n if (prevChildren.hasOwnProperty(name) && !(nextChildren && nextChildren.hasOwnProperty(name))) {\n ReactReconciler.unmountComponent(prevChildren[name]);\n }\n }\n return nextChildren;\n },\n\n /**\n * Unmounts all rendered children. This should be used to clean up children\n * when this component is unmounted.\n *\n * @param {?object} renderedChildren Previously initialized set of children.\n * @internal\n */\n unmountChildren: function (renderedChildren) {\n for (var name in renderedChildren) {\n if (renderedChildren.hasOwnProperty(name)) {\n var renderedChild = renderedChildren[name];\n ReactReconciler.unmountComponent(renderedChild);\n }\n }\n }\n\n};\n\nmodule.exports = ReactChildReconciler;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/ReactChildReconciler.js\n **/","/**\n * Copyright 2013-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 * @providesModule flattenChildren\n */\n\n'use strict';\n\nvar traverseAllChildren = require('./traverseAllChildren');\nvar warning = require('fbjs/lib/warning');\n\n/**\n * @param {function} traverseContext Context passed through traversal.\n * @param {?ReactComponent} child React child component.\n * @param {!string} name String name of key path to child.\n */\nfunction flattenSingleChildIntoContext(traverseContext, child, name) {\n // We found a component instance.\n var result = traverseContext;\n var keyUnique = result[name] === undefined;\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== 'production' ? warning(keyUnique, 'flattenChildren(...): Encountered two children with the same key, ' + '`%s`. Child keys must be unique; when two children share a key, only ' + 'the first child will be used.', name) : undefined;\n }\n if (keyUnique && child != null) {\n result[name] = child;\n }\n}\n\n/**\n * Flattens children that are typically specified as `props.children`. Any null\n * children will not be included in the resulting object.\n * @return {!object} flattened children keyed by name.\n */\nfunction flattenChildren(children) {\n if (children == null) {\n return children;\n }\n var result = {};\n traverseAllChildren(children, flattenSingleChildIntoContext, result);\n return result;\n}\n\nmodule.exports = flattenChildren;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/flattenChildren.js\n **/","/**\n * Copyright 2013-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 * @providesModule shallowEqual\n * @typechecks\n * \n */\n\n'use strict';\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\n/**\n * Performs equality by iterating through keys on an object and returning false\n * when any key has values which are not strictly equal between the arguments.\n * Returns true when the values of all keys are strictly equal.\n */\nfunction shallowEqual(objA, objB) {\n if (objA === objB) {\n return true;\n }\n\n if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n // Test for A's keys different from B.\n var bHasOwnProperty = hasOwnProperty.bind(objB);\n for (var i = 0; i < keysA.length; i++) {\n if (!bHasOwnProperty(keysA[i]) || objA[keysA[i]] !== objB[keysA[i]]) {\n return false;\n }\n }\n\n return true;\n}\n\nmodule.exports = shallowEqual;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/~/fbjs/lib/shallowEqual.js\n **/","/**\n * Copyright 2013-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 * @providesModule ReactEventListener\n * @typechecks static-only\n */\n\n'use strict';\n\nvar EventListener = require('fbjs/lib/EventListener');\nvar ExecutionEnvironment = require('fbjs/lib/ExecutionEnvironment');\nvar PooledClass = require('./PooledClass');\nvar ReactInstanceHandles = require('./ReactInstanceHandles');\nvar ReactMount = require('./ReactMount');\nvar ReactUpdates = require('./ReactUpdates');\n\nvar assign = require('./Object.assign');\nvar getEventTarget = require('./getEventTarget');\nvar getUnboundedScrollPosition = require('fbjs/lib/getUnboundedScrollPosition');\n\nvar DOCUMENT_FRAGMENT_NODE_TYPE = 11;\n\n/**\n * Finds the parent React component of `node`.\n *\n * @param {*} node\n * @return {?DOMEventTarget} Parent container, or `null` if the specified node\n * is not nested.\n */\nfunction findParent(node) {\n // TODO: It may be a good idea to cache this to prevent unnecessary DOM\n // traversal, but caching is difficult to do correctly without using a\n // mutation observer to listen for all DOM changes.\n var nodeID = ReactMount.getID(node);\n var rootID = ReactInstanceHandles.getReactRootIDFromNodeID(nodeID);\n var container = ReactMount.findReactContainerForID(rootID);\n var parent = ReactMount.getFirstReactDOM(container);\n return parent;\n}\n\n// Used to store ancestor hierarchy in top level callback\nfunction TopLevelCallbackBookKeeping(topLevelType, nativeEvent) {\n this.topLevelType = topLevelType;\n this.nativeEvent = nativeEvent;\n this.ancestors = [];\n}\nassign(TopLevelCallbackBookKeeping.prototype, {\n destructor: function () {\n this.topLevelType = null;\n this.nativeEvent = null;\n this.ancestors.length = 0;\n }\n});\nPooledClass.addPoolingTo(TopLevelCallbackBookKeeping, PooledClass.twoArgumentPooler);\n\nfunction handleTopLevelImpl(bookKeeping) {\n // TODO: Re-enable event.path handling\n //\n // if (bookKeeping.nativeEvent.path && bookKeeping.nativeEvent.path.length > 1) {\n // // New browsers have a path attribute on native events\n // handleTopLevelWithPath(bookKeeping);\n // } else {\n // // Legacy browsers don't have a path attribute on native events\n // handleTopLevelWithoutPath(bookKeeping);\n // }\n\n void handleTopLevelWithPath; // temporarily unused\n handleTopLevelWithoutPath(bookKeeping);\n}\n\n// Legacy browsers don't have a path attribute on native events\nfunction handleTopLevelWithoutPath(bookKeeping) {\n var topLevelTarget = ReactMount.getFirstReactDOM(getEventTarget(bookKeeping.nativeEvent)) || window;\n\n // Loop through the hierarchy, in case there's any nested components.\n // It's important that we build the array of ancestors before calling any\n // event handlers, because event handlers can modify the DOM, leading to\n // inconsistencies with ReactMount's node cache. See #1105.\n var ancestor = topLevelTarget;\n while (ancestor) {\n bookKeeping.ancestors.push(ancestor);\n ancestor = findParent(ancestor);\n }\n\n for (var i = 0; i < bookKeeping.ancestors.length; i++) {\n topLevelTarget = bookKeeping.ancestors[i];\n var topLevelTargetID = ReactMount.getID(topLevelTarget) || '';\n ReactEventListener._handleTopLevel(bookKeeping.topLevelType, topLevelTarget, topLevelTargetID, bookKeeping.nativeEvent, getEventTarget(bookKeeping.nativeEvent));\n }\n}\n\n// New browsers have a path attribute on native events\nfunction handleTopLevelWithPath(bookKeeping) {\n var path = bookKeeping.nativeEvent.path;\n var currentNativeTarget = path[0];\n var eventsFired = 0;\n for (var i = 0; i < path.length; i++) {\n var currentPathElement = path[i];\n if (currentPathElement.nodeType === DOCUMENT_FRAGMENT_NODE_TYPE) {\n currentNativeTarget = path[i + 1];\n }\n // TODO: slow\n var reactParent = ReactMount.getFirstReactDOM(currentPathElement);\n if (reactParent === currentPathElement) {\n var currentPathElementID = ReactMount.getID(currentPathElement);\n var newRootID = ReactInstanceHandles.getReactRootIDFromNodeID(currentPathElementID);\n bookKeeping.ancestors.push(currentPathElement);\n\n var topLevelTargetID = ReactMount.getID(currentPathElement) || '';\n eventsFired++;\n ReactEventListener._handleTopLevel(bookKeeping.topLevelType, currentPathElement, topLevelTargetID, bookKeeping.nativeEvent, currentNativeTarget);\n\n // Jump to the root of this React render tree\n while (currentPathElementID !== newRootID) {\n i++;\n currentPathElement = path[i];\n currentPathElementID = ReactMount.getID(currentPathElement);\n }\n }\n }\n if (eventsFired === 0) {\n ReactEventListener._handleTopLevel(bookKeeping.topLevelType, window, '', bookKeeping.nativeEvent, getEventTarget(bookKeeping.nativeEvent));\n }\n}\n\nfunction scrollValueMonitor(cb) {\n var scrollPosition = getUnboundedScrollPosition(window);\n cb(scrollPosition);\n}\n\nvar ReactEventListener = {\n _enabled: true,\n _handleTopLevel: null,\n\n WINDOW_HANDLE: ExecutionEnvironment.canUseDOM ? window : null,\n\n setHandleTopLevel: function (handleTopLevel) {\n ReactEventListener._handleTopLevel = handleTopLevel;\n },\n\n setEnabled: function (enabled) {\n ReactEventListener._enabled = !!enabled;\n },\n\n isEnabled: function () {\n return ReactEventListener._enabled;\n },\n\n /**\n * Traps top-level events by using event bubbling.\n *\n * @param {string} topLevelType Record from `EventConstants`.\n * @param {string} handlerBaseName Event name (e.g. \"click\").\n * @param {object} handle Element on which to attach listener.\n * @return {?object} An object with a remove function which will forcefully\n * remove the listener.\n * @internal\n */\n trapBubbledEvent: function (topLevelType, handlerBaseName, handle) {\n var element = handle;\n if (!element) {\n return null;\n }\n return EventListener.listen(element, handlerBaseName, ReactEventListener.dispatchEvent.bind(null, topLevelType));\n },\n\n /**\n * Traps a top-level event by using event capturing.\n *\n * @param {string} topLevelType Record from `EventConstants`.\n * @param {string} handlerBaseName Event name (e.g. \"click\").\n * @param {object} handle Element on which to attach listener.\n * @return {?object} An object with a remove function which will forcefully\n * remove the listener.\n * @internal\n */\n trapCapturedEvent: function (topLevelType, handlerBaseName, handle) {\n var element = handle;\n if (!element) {\n return null;\n }\n return EventListener.capture(element, handlerBaseName, ReactEventListener.dispatchEvent.bind(null, topLevelType));\n },\n\n monitorScrollValue: function (refresh) {\n var callback = scrollValueMonitor.bind(null, refresh);\n EventListener.listen(window, 'scroll', callback);\n },\n\n dispatchEvent: function (topLevelType, nativeEvent) {\n if (!ReactEventListener._enabled) {\n return;\n }\n\n var bookKeeping = TopLevelCallbackBookKeeping.getPooled(topLevelType, nativeEvent);\n try {\n // Event queue being processed in the same cycle allows\n // `preventDefault`.\n ReactUpdates.batchedUpdates(handleTopLevelImpl, bookKeeping);\n } finally {\n TopLevelCallbackBookKeeping.release(bookKeeping);\n }\n }\n};\n\nmodule.exports = ReactEventListener;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/ReactEventListener.js\n **/","/**\n * Copyright 2013-2015, Facebook, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * @providesModule EventListener\n * @typechecks\n */\n\n'use strict';\n\nvar emptyFunction = require('./emptyFunction');\n\n/**\n * Upstream version of event listener. Does not take into account specific\n * nature of platform.\n */\nvar EventListener = {\n /**\n * Listen to DOM events during the bubble phase.\n *\n * @param {DOMEventTarget} target DOM element to register listener on.\n * @param {string} eventType Event type, e.g. 'click' or 'mouseover'.\n * @param {function} callback Callback function.\n * @return {object} Object with a `remove` method.\n */\n listen: function (target, eventType, callback) {\n if (target.addEventListener) {\n target.addEventListener(eventType, callback, false);\n return {\n remove: function () {\n target.removeEventListener(eventType, callback, false);\n }\n };\n } else if (target.attachEvent) {\n target.attachEvent('on' + eventType, callback);\n return {\n remove: function () {\n target.detachEvent('on' + eventType, callback);\n }\n };\n }\n },\n\n /**\n * Listen to DOM events during the capture phase.\n *\n * @param {DOMEventTarget} target DOM element to register listener on.\n * @param {string} eventType Event type, e.g. 'click' or 'mouseover'.\n * @param {function} callback Callback function.\n * @return {object} Object with a `remove` method.\n */\n capture: function (target, eventType, callback) {\n if (target.addEventListener) {\n target.addEventListener(eventType, callback, true);\n return {\n remove: function () {\n target.removeEventListener(eventType, callback, true);\n }\n };\n } else {\n if (process.env.NODE_ENV !== 'production') {\n console.error('Attempted to listen to events during the capture phase on a ' + 'browser that does not support the capture phase. Your application ' + 'will not receive some events.');\n }\n return {\n remove: emptyFunction\n };\n }\n },\n\n registerDefault: function () {}\n};\n\nmodule.exports = EventListener;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/~/fbjs/lib/EventListener.js\n **/","/**\n * Copyright 2013-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 * @providesModule getUnboundedScrollPosition\n * @typechecks\n */\n\n'use strict';\n\n/**\n * Gets the scroll position of the supplied element or window.\n *\n * The return values are unbounded, unlike `getScrollPosition`. This means they\n * may be negative or exceed the element boundaries (which is possible using\n * inertial scrolling).\n *\n * @param {DOMWindow|DOMElement} scrollable\n * @return {object} Map with `x` and `y` keys.\n */\nfunction getUnboundedScrollPosition(scrollable) {\n if (scrollable === window) {\n return {\n x: window.pageXOffset || document.documentElement.scrollLeft,\n y: window.pageYOffset || document.documentElement.scrollTop\n };\n }\n return {\n x: scrollable.scrollLeft,\n y: scrollable.scrollTop\n };\n}\n\nmodule.exports = getUnboundedScrollPosition;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/~/fbjs/lib/getUnboundedScrollPosition.js\n **/","/**\n * Copyright 2013-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 * @providesModule ReactInjection\n */\n\n'use strict';\n\nvar DOMProperty = require('./DOMProperty');\nvar EventPluginHub = require('./EventPluginHub');\nvar ReactComponentEnvironment = require('./ReactComponentEnvironment');\nvar ReactClass = require('./ReactClass');\nvar ReactEmptyComponent = require('./ReactEmptyComponent');\nvar ReactBrowserEventEmitter = require('./ReactBrowserEventEmitter');\nvar ReactNativeComponent = require('./ReactNativeComponent');\nvar ReactPerf = require('./ReactPerf');\nvar ReactRootIndex = require('./ReactRootIndex');\nvar ReactUpdates = require('./ReactUpdates');\n\nvar ReactInjection = {\n Component: ReactComponentEnvironment.injection,\n Class: ReactClass.injection,\n DOMProperty: DOMProperty.injection,\n EmptyComponent: ReactEmptyComponent.injection,\n EventPluginHub: EventPluginHub.injection,\n EventEmitter: ReactBrowserEventEmitter.injection,\n NativeComponent: ReactNativeComponent.injection,\n Perf: ReactPerf.injection,\n RootIndex: ReactRootIndex.injection,\n Updates: ReactUpdates.injection\n};\n\nmodule.exports = ReactInjection;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/ReactInjection.js\n **/","/**\n * Copyright 2013-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 * @providesModule ReactClass\n */\n\n'use strict';\n\nvar ReactComponent = require('./ReactComponent');\nvar ReactElement = require('./ReactElement');\nvar ReactPropTypeLocations = require('./ReactPropTypeLocations');\nvar ReactPropTypeLocationNames = require('./ReactPropTypeLocationNames');\nvar ReactNoopUpdateQueue = require('./ReactNoopUpdateQueue');\n\nvar assign = require('./Object.assign');\nvar emptyObject = require('fbjs/lib/emptyObject');\nvar invariant = require('fbjs/lib/invariant');\nvar keyMirror = require('fbjs/lib/keyMirror');\nvar keyOf = require('fbjs/lib/keyOf');\nvar warning = require('fbjs/lib/warning');\n\nvar MIXINS_KEY = keyOf({ mixins: null });\n\n/**\n * Policies that describe methods in `ReactClassInterface`.\n */\nvar SpecPolicy = keyMirror({\n /**\n * These methods may be defined only once by the class specification or mixin.\n */\n DEFINE_ONCE: null,\n /**\n * These methods may be defined by both the class specification and mixins.\n * Subsequent definitions will be chained. These methods must return void.\n */\n DEFINE_MANY: null,\n /**\n * These methods are overriding the base class.\n */\n OVERRIDE_BASE: null,\n /**\n * These methods are similar to DEFINE_MANY, except we assume they return\n * objects. We try to merge the keys of the return values of all the mixed in\n * functions. If there is a key conflict we throw.\n */\n DEFINE_MANY_MERGED: null\n});\n\nvar injectedMixins = [];\n\nvar warnedSetProps = false;\nfunction warnSetProps() {\n if (!warnedSetProps) {\n warnedSetProps = true;\n process.env.NODE_ENV !== 'production' ? warning(false, 'setProps(...) and replaceProps(...) are deprecated. ' + 'Instead, call render again at the top level.') : undefined;\n }\n}\n\n/**\n * Composite components are higher-level components that compose other composite\n * or native components.\n *\n * To create a new type of `ReactClass`, pass a specification of\n * your new class to `React.createClass`. The only requirement of your class\n * specification is that you implement a `render` method.\n *\n * var MyComponent = React.createClass({\n * render: function() {\n * return <div>Hello World</div>;\n * }\n * });\n *\n * The class specification supports a specific protocol of methods that have\n * special meaning (e.g. `render`). See `ReactClassInterface` for\n * more the comprehensive protocol. Any other properties and methods in the\n * class specification will be available on the prototype.\n *\n * @interface ReactClassInterface\n * @internal\n */\nvar ReactClassInterface = {\n\n /**\n * An array of Mixin objects to include when defining your component.\n *\n * @type {array}\n * @optional\n */\n mixins: SpecPolicy.DEFINE_MANY,\n\n /**\n * An object containing properties and methods that should be defined on\n * the component's constructor instead of its prototype (static methods).\n *\n * @type {object}\n * @optional\n */\n statics: SpecPolicy.DEFINE_MANY,\n\n /**\n * Definition of prop types for this component.\n *\n * @type {object}\n * @optional\n */\n propTypes: SpecPolicy.DEFINE_MANY,\n\n /**\n * Definition of context types for this component.\n *\n * @type {object}\n * @optional\n */\n contextTypes: SpecPolicy.DEFINE_MANY,\n\n /**\n * Definition of context types this component sets for its children.\n *\n * @type {object}\n * @optional\n */\n childContextTypes: SpecPolicy.DEFINE_MANY,\n\n // ==== Definition methods ====\n\n /**\n * Invoked when the component is mounted. Values in the mapping will be set on\n * `this.props` if that prop is not specified (i.e. using an `in` check).\n *\n * This method is invoked before `getInitialState` and therefore cannot rely\n * on `this.state` or use `this.setState`.\n *\n * @return {object}\n * @optional\n */\n getDefaultProps: SpecPolicy.DEFINE_MANY_MERGED,\n\n /**\n * Invoked once before the component is mounted. The return value will be used\n * as the initial value of `this.state`.\n *\n * getInitialState: function() {\n * return {\n * isOn: false,\n * fooBaz: new BazFoo()\n * }\n * }\n *\n * @return {object}\n * @optional\n */\n getInitialState: SpecPolicy.DEFINE_MANY_MERGED,\n\n /**\n * @return {object}\n * @optional\n */\n getChildContext: SpecPolicy.DEFINE_MANY_MERGED,\n\n /**\n * Uses props from `this.props` and state from `this.state` to render the\n * structure of the component.\n *\n * No guarantees are made about when or how often this method is invoked, so\n * it must not have side effects.\n *\n * render: function() {\n * var name = this.props.name;\n * return <div>Hello, {name}!</div>;\n * }\n *\n * @return {ReactComponent}\n * @nosideeffects\n * @required\n */\n render: SpecPolicy.DEFINE_ONCE,\n\n // ==== Delegate methods ====\n\n /**\n * Invoked when the component is initially created and about to be mounted.\n * This may have side effects, but any external subscriptions or data created\n * by this method must be cleaned up in `componentWillUnmount`.\n *\n * @optional\n */\n componentWillMount: SpecPolicy.DEFINE_MANY,\n\n /**\n * Invoked when the component has been mounted and has a DOM representation.\n * However, there is no guarantee that the DOM node is in the document.\n *\n * Use this as an opportunity to operate on the DOM when the component has\n * been mounted (initialized and rendered) for the first time.\n *\n * @param {DOMElement} rootNode DOM element representing the component.\n * @optional\n */\n componentDidMount: SpecPolicy.DEFINE_MANY,\n\n /**\n * Invoked before the component receives new props.\n *\n * Use this as an opportunity to react to a prop transition by updating the\n * state using `this.setState`. Current props are accessed via `this.props`.\n *\n * componentWillReceiveProps: function(nextProps, nextContext) {\n * this.setState({\n * likesIncreasing: nextProps.likeCount > this.props.likeCount\n * });\n * }\n *\n * NOTE: There is no equivalent `componentWillReceiveState`. An incoming prop\n * transition may cause a state change, but the opposite is not true. If you\n * need it, you are probably looking for `componentWillUpdate`.\n *\n * @param {object} nextProps\n * @optional\n */\n componentWillReceiveProps: SpecPolicy.DEFINE_MANY,\n\n /**\n * Invoked while deciding if the component should be updated as a result of\n * receiving new props, state and/or context.\n *\n * Use this as an opportunity to `return false` when you're certain that the\n * transition to the new props/state/context will not require a component\n * update.\n *\n * shouldComponentUpdate: function(nextProps, nextState, nextContext) {\n * return !equal(nextProps, this.props) ||\n * !equal(nextState, this.state) ||\n * !equal(nextContext, this.context);\n * }\n *\n * @param {object} nextProps\n * @param {?object} nextState\n * @param {?object} nextContext\n * @return {boolean} True if the component should update.\n * @optional\n */\n shouldComponentUpdate: SpecPolicy.DEFINE_ONCE,\n\n /**\n * Invoked when the component is about to update due to a transition from\n * `this.props`, `this.state` and `this.context` to `nextProps`, `nextState`\n * and `nextContext`.\n *\n * Use this as an opportunity to perform preparation before an update occurs.\n *\n * NOTE: You **cannot** use `this.setState()` in this method.\n *\n * @param {object} nextProps\n * @param {?object} nextState\n * @param {?object} nextContext\n * @param {ReactReconcileTransaction} transaction\n * @optional\n */\n componentWillUpdate: SpecPolicy.DEFINE_MANY,\n\n /**\n * Invoked when the component's DOM representation has been updated.\n *\n * Use this as an opportunity to operate on the DOM when the component has\n * been updated.\n *\n * @param {object} prevProps\n * @param {?object} prevState\n * @param {?object} prevContext\n * @param {DOMElement} rootNode DOM element representing the component.\n * @optional\n */\n componentDidUpdate: SpecPolicy.DEFINE_MANY,\n\n /**\n * Invoked when the component is about to be removed from its parent and have\n * its DOM representation destroyed.\n *\n * Use this as an opportunity to deallocate any external resources.\n *\n * NOTE: There is no `componentDidUnmount` since your component will have been\n * destroyed by that point.\n *\n * @optional\n */\n componentWillUnmount: SpecPolicy.DEFINE_MANY,\n\n // ==== Advanced methods ====\n\n /**\n * Updates the component's currently mounted DOM representation.\n *\n * By default, this implements React's rendering and reconciliation algorithm.\n * Sophisticated clients may wish to override this.\n *\n * @param {ReactReconcileTransaction} transaction\n * @internal\n * @overridable\n */\n updateComponent: SpecPolicy.OVERRIDE_BASE\n\n};\n\n/**\n * Mapping from class specification keys to special processing functions.\n *\n * Although these are declared like instance properties in the specification\n * when defining classes using `React.createClass`, they are actually static\n * and are accessible on the constructor instead of the prototype. Despite\n * being static, they must be defined outside of the \"statics\" key under\n * which all other static methods are defined.\n */\nvar RESERVED_SPEC_KEYS = {\n displayName: function (Constructor, displayName) {\n Constructor.displayName = displayName;\n },\n mixins: function (Constructor, mixins) {\n if (mixins) {\n for (var i = 0; i < mixins.length; i++) {\n mixSpecIntoComponent(Constructor, mixins[i]);\n }\n }\n },\n childContextTypes: function (Constructor, childContextTypes) {\n if (process.env.NODE_ENV !== 'production') {\n validateTypeDef(Constructor, childContextTypes, ReactPropTypeLocations.childContext);\n }\n Constructor.childContextTypes = assign({}, Constructor.childContextTypes, childContextTypes);\n },\n contextTypes: function (Constructor, contextTypes) {\n if (process.env.NODE_ENV !== 'production') {\n validateTypeDef(Constructor, contextTypes, ReactPropTypeLocations.context);\n }\n Constructor.contextTypes = assign({}, Constructor.contextTypes, contextTypes);\n },\n /**\n * Special case getDefaultProps which should move into statics but requires\n * automatic merging.\n */\n getDefaultProps: function (Constructor, getDefaultProps) {\n if (Constructor.getDefaultProps) {\n Constructor.getDefaultProps = createMergedResultFunction(Constructor.getDefaultProps, getDefaultProps);\n } else {\n Constructor.getDefaultProps = getDefaultProps;\n }\n },\n propTypes: function (Constructor, propTypes) {\n if (process.env.NODE_ENV !== 'production') {\n validateTypeDef(Constructor, propTypes, ReactPropTypeLocations.prop);\n }\n Constructor.propTypes = assign({}, Constructor.propTypes, propTypes);\n },\n statics: function (Constructor, statics) {\n mixStaticSpecIntoComponent(Constructor, statics);\n },\n autobind: function () {} };\n\n// noop\nfunction validateTypeDef(Constructor, typeDef, location) {\n for (var propName in typeDef) {\n if (typeDef.hasOwnProperty(propName)) {\n // use a warning instead of an invariant so components\n // don't show up in prod but not in __DEV__\n process.env.NODE_ENV !== 'production' ? warning(typeof typeDef[propName] === 'function', '%s: %s type `%s` is invalid; it must be a function, usually from ' + 'React.PropTypes.', Constructor.displayName || 'ReactClass', ReactPropTypeLocationNames[location], propName) : undefined;\n }\n }\n}\n\nfunction validateMethodOverride(proto, name) {\n var specPolicy = ReactClassInterface.hasOwnProperty(name) ? ReactClassInterface[name] : null;\n\n // Disallow overriding of base class methods unless explicitly allowed.\n if (ReactClassMixin.hasOwnProperty(name)) {\n !(specPolicy === SpecPolicy.OVERRIDE_BASE) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClassInterface: You are attempting to override ' + '`%s` from your class specification. Ensure that your method names ' + 'do not overlap with React methods.', name) : invariant(false) : undefined;\n }\n\n // Disallow defining methods more than once unless explicitly allowed.\n if (proto.hasOwnProperty(name)) {\n !(specPolicy === SpecPolicy.DEFINE_MANY || specPolicy === SpecPolicy.DEFINE_MANY_MERGED) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClassInterface: You are attempting to define ' + '`%s` on your component more than once. This conflict may be due ' + 'to a mixin.', name) : invariant(false) : undefined;\n }\n}\n\n/**\n * Mixin helper which handles policy validation and reserved\n * specification keys when building React classses.\n */\nfunction mixSpecIntoComponent(Constructor, spec) {\n if (!spec) {\n return;\n }\n\n !(typeof spec !== 'function') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClass: You\\'re attempting to ' + 'use a component class as a mixin. Instead, just use a regular object.') : invariant(false) : undefined;\n !!ReactElement.isValidElement(spec) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClass: You\\'re attempting to ' + 'use a component as a mixin. Instead, just use a regular object.') : invariant(false) : undefined;\n\n var proto = Constructor.prototype;\n\n // By handling mixins before any other properties, we ensure the same\n // chaining order is applied to methods with DEFINE_MANY policy, whether\n // mixins are listed before or after these methods in the spec.\n if (spec.hasOwnProperty(MIXINS_KEY)) {\n RESERVED_SPEC_KEYS.mixins(Constructor, spec.mixins);\n }\n\n for (var name in spec) {\n if (!spec.hasOwnProperty(name)) {\n continue;\n }\n\n if (name === MIXINS_KEY) {\n // We have already handled mixins in a special case above.\n continue;\n }\n\n var property = spec[name];\n validateMethodOverride(proto, name);\n\n if (RESERVED_SPEC_KEYS.hasOwnProperty(name)) {\n RESERVED_SPEC_KEYS[name](Constructor, property);\n } else {\n // Setup methods on prototype:\n // The following member methods should not be automatically bound:\n // 1. Expected ReactClass methods (in the \"interface\").\n // 2. Overridden methods (that were mixed in).\n var isReactClassMethod = ReactClassInterface.hasOwnProperty(name);\n var isAlreadyDefined = proto.hasOwnProperty(name);\n var isFunction = typeof property === 'function';\n var shouldAutoBind = isFunction && !isReactClassMethod && !isAlreadyDefined && spec.autobind !== false;\n\n if (shouldAutoBind) {\n if (!proto.__reactAutoBindMap) {\n proto.__reactAutoBindMap = {};\n }\n proto.__reactAutoBindMap[name] = property;\n proto[name] = property;\n } else {\n if (isAlreadyDefined) {\n var specPolicy = ReactClassInterface[name];\n\n // These cases should already be caught by validateMethodOverride.\n !(isReactClassMethod && (specPolicy === SpecPolicy.DEFINE_MANY_MERGED || specPolicy === SpecPolicy.DEFINE_MANY)) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClass: Unexpected spec policy %s for key %s ' + 'when mixing in component specs.', specPolicy, name) : invariant(false) : undefined;\n\n // For methods which are defined more than once, call the existing\n // methods before calling the new property, merging if appropriate.\n if (specPolicy === SpecPolicy.DEFINE_MANY_MERGED) {\n proto[name] = createMergedResultFunction(proto[name], property);\n } else if (specPolicy === SpecPolicy.DEFINE_MANY) {\n proto[name] = createChainedFunction(proto[name], property);\n }\n } else {\n proto[name] = property;\n if (process.env.NODE_ENV !== 'production') {\n // Add verbose displayName to the function, which helps when looking\n // at profiling tools.\n if (typeof property === 'function' && spec.displayName) {\n proto[name].displayName = spec.displayName + '_' + name;\n }\n }\n }\n }\n }\n }\n}\n\nfunction mixStaticSpecIntoComponent(Constructor, statics) {\n if (!statics) {\n return;\n }\n for (var name in statics) {\n var property = statics[name];\n if (!statics.hasOwnProperty(name)) {\n continue;\n }\n\n var isReserved = (name in RESERVED_SPEC_KEYS);\n !!isReserved ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClass: You are attempting to define a reserved ' + 'property, `%s`, that shouldn\\'t be on the \"statics\" key. Define it ' + 'as an instance property instead; it will still be accessible on the ' + 'constructor.', name) : invariant(false) : undefined;\n\n var isInherited = (name in Constructor);\n !!isInherited ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClass: You are attempting to define ' + '`%s` on your component more than once. This conflict may be ' + 'due to a mixin.', name) : invariant(false) : undefined;\n Constructor[name] = property;\n }\n}\n\n/**\n * Merge two objects, but throw if both contain the same key.\n *\n * @param {object} one The first object, which is mutated.\n * @param {object} two The second object\n * @return {object} one after it has been mutated to contain everything in two.\n */\nfunction mergeIntoWithNoDuplicateKeys(one, two) {\n !(one && two && typeof one === 'object' && typeof two === 'object') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'mergeIntoWithNoDuplicateKeys(): Cannot merge non-objects.') : invariant(false) : undefined;\n\n for (var key in two) {\n if (two.hasOwnProperty(key)) {\n !(one[key] === undefined) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'mergeIntoWithNoDuplicateKeys(): ' + 'Tried to merge two objects with the same key: `%s`. This conflict ' + 'may be due to a mixin; in particular, this may be caused by two ' + 'getInitialState() or getDefaultProps() methods returning objects ' + 'with clashing keys.', key) : invariant(false) : undefined;\n one[key] = two[key];\n }\n }\n return one;\n}\n\n/**\n * Creates a function that invokes two functions and merges their return values.\n *\n * @param {function} one Function to invoke first.\n * @param {function} two Function to invoke second.\n * @return {function} Function that invokes the two argument functions.\n * @private\n */\nfunction createMergedResultFunction(one, two) {\n return function mergedResult() {\n var a = one.apply(this, arguments);\n var b = two.apply(this, arguments);\n if (a == null) {\n return b;\n } else if (b == null) {\n return a;\n }\n var c = {};\n mergeIntoWithNoDuplicateKeys(c, a);\n mergeIntoWithNoDuplicateKeys(c, b);\n return c;\n };\n}\n\n/**\n * Creates a function that invokes two functions and ignores their return vales.\n *\n * @param {function} one Function to invoke first.\n * @param {function} two Function to invoke second.\n * @return {function} Function that invokes the two argument functions.\n * @private\n */\nfunction createChainedFunction(one, two) {\n return function chainedFunction() {\n one.apply(this, arguments);\n two.apply(this, arguments);\n };\n}\n\n/**\n * Binds a method to the component.\n *\n * @param {object} component Component whose method is going to be bound.\n * @param {function} method Method to be bound.\n * @return {function} The bound method.\n */\nfunction bindAutoBindMethod(component, method) {\n var boundMethod = method.bind(component);\n if (process.env.NODE_ENV !== 'production') {\n boundMethod.__reactBoundContext = component;\n boundMethod.__reactBoundMethod = method;\n boundMethod.__reactBoundArguments = null;\n var componentName = component.constructor.displayName;\n var _bind = boundMethod.bind;\n /* eslint-disable block-scoped-var, no-undef */\n boundMethod.bind = function (newThis) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n // User is trying to bind() an autobound method; we effectively will\n // ignore the value of \"this\" that the user is trying to use, so\n // let's warn.\n if (newThis !== component && newThis !== null) {\n process.env.NODE_ENV !== 'production' ? warning(false, 'bind(): React component methods may only be bound to the ' + 'component instance. See %s', componentName) : undefined;\n } else if (!args.length) {\n process.env.NODE_ENV !== 'production' ? warning(false, 'bind(): You are binding a component method to the component. ' + 'React does this for you automatically in a high-performance ' + 'way, so you can safely remove this call. See %s', componentName) : undefined;\n return boundMethod;\n }\n var reboundMethod = _bind.apply(boundMethod, arguments);\n reboundMethod.__reactBoundContext = component;\n reboundMethod.__reactBoundMethod = method;\n reboundMethod.__reactBoundArguments = args;\n return reboundMethod;\n /* eslint-enable */\n };\n }\n return boundMethod;\n}\n\n/**\n * Binds all auto-bound methods in a component.\n *\n * @param {object} component Component whose method is going to be bound.\n */\nfunction bindAutoBindMethods(component) {\n for (var autoBindKey in component.__reactAutoBindMap) {\n if (component.__reactAutoBindMap.hasOwnProperty(autoBindKey)) {\n var method = component.__reactAutoBindMap[autoBindKey];\n component[autoBindKey] = bindAutoBindMethod(component, method);\n }\n }\n}\n\n/**\n * Add more to the ReactClass base class. These are all legacy features and\n * therefore not already part of the modern ReactComponent.\n */\nvar ReactClassMixin = {\n\n /**\n * TODO: This will be deprecated because state should always keep a consistent\n * type signature and the only use case for this, is to avoid that.\n */\n replaceState: function (newState, callback) {\n this.updater.enqueueReplaceState(this, newState);\n if (callback) {\n this.updater.enqueueCallback(this, callback);\n }\n },\n\n /**\n * Checks whether or not this composite component is mounted.\n * @return {boolean} True if mounted, false otherwise.\n * @protected\n * @final\n */\n isMounted: function () {\n return this.updater.isMounted(this);\n },\n\n /**\n * Sets a subset of the props.\n *\n * @param {object} partialProps Subset of the next props.\n * @param {?function} callback Called after props are updated.\n * @final\n * @public\n * @deprecated\n */\n setProps: function (partialProps, callback) {\n if (process.env.NODE_ENV !== 'production') {\n warnSetProps();\n }\n this.updater.enqueueSetProps(this, partialProps);\n if (callback) {\n this.updater.enqueueCallback(this, callback);\n }\n },\n\n /**\n * Replace all the props.\n *\n * @param {object} newProps Subset of the next props.\n * @param {?function} callback Called after props are updated.\n * @final\n * @public\n * @deprecated\n */\n replaceProps: function (newProps, callback) {\n if (process.env.NODE_ENV !== 'production') {\n warnSetProps();\n }\n this.updater.enqueueReplaceProps(this, newProps);\n if (callback) {\n this.updater.enqueueCallback(this, callback);\n }\n }\n};\n\nvar ReactClassComponent = function () {};\nassign(ReactClassComponent.prototype, ReactComponent.prototype, ReactClassMixin);\n\n/**\n * Module for creating composite components.\n *\n * @class ReactClass\n */\nvar ReactClass = {\n\n /**\n * Creates a composite component class given a class specification.\n *\n * @param {object} spec Class specification (which must define `render`).\n * @return {function} Component constructor function.\n * @public\n */\n createClass: function (spec) {\n var Constructor = function (props, context, updater) {\n // This constructor is overridden by mocks. The argument is used\n // by mocks to assert on what gets mounted.\n\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== 'production' ? warning(this instanceof Constructor, 'Something is calling a React component directly. Use a factory or ' + 'JSX instead. See: https://fb.me/react-legacyfactory') : undefined;\n }\n\n // Wire up auto-binding\n if (this.__reactAutoBindMap) {\n bindAutoBindMethods(this);\n }\n\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n\n this.state = null;\n\n // ReactClasses doesn't have constructors. Instead, they use the\n // getInitialState and componentWillMount methods for initialization.\n\n var initialState = this.getInitialState ? this.getInitialState() : null;\n if (process.env.NODE_ENV !== 'production') {\n // We allow auto-mocks to proceed as if they're returning null.\n if (typeof initialState === 'undefined' && this.getInitialState._isMockFunction) {\n // This is probably bad practice. Consider warning here and\n // deprecating this convenience.\n initialState = null;\n }\n }\n !(typeof initialState === 'object' && !Array.isArray(initialState)) ? process.env.NODE_ENV !== 'production' ? invariant(false, '%s.getInitialState(): must return an object or null', Constructor.displayName || 'ReactCompositeComponent') : invariant(false) : undefined;\n\n this.state = initialState;\n };\n Constructor.prototype = new ReactClassComponent();\n Constructor.prototype.constructor = Constructor;\n\n injectedMixins.forEach(mixSpecIntoComponent.bind(null, Constructor));\n\n mixSpecIntoComponent(Constructor, spec);\n\n // Initialize the defaultProps property after all mixins have been merged.\n if (Constructor.getDefaultProps) {\n Constructor.defaultProps = Constructor.getDefaultProps();\n }\n\n if (process.env.NODE_ENV !== 'production') {\n // This is a tag to indicate that the use of these method names is ok,\n // since it's used with createClass. If it's not, then it's likely a\n // mistake so we'll warn you to use the static property, property\n // initializer or constructor respectively.\n if (Constructor.getDefaultProps) {\n Constructor.getDefaultProps.isReactClassApproved = {};\n }\n if (Constructor.prototype.getInitialState) {\n Constructor.prototype.getInitialState.isReactClassApproved = {};\n }\n }\n\n !Constructor.prototype.render ? process.env.NODE_ENV !== 'production' ? invariant(false, 'createClass(...): Class specification must implement a `render` method.') : invariant(false) : undefined;\n\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== 'production' ? warning(!Constructor.prototype.componentShouldUpdate, '%s has a method called ' + 'componentShouldUpdate(). Did you mean shouldComponentUpdate()? ' + 'The name is phrased as a question because the function is ' + 'expected to return a value.', spec.displayName || 'A component') : undefined;\n process.env.NODE_ENV !== 'production' ? warning(!Constructor.prototype.componentWillRecieveProps, '%s has a method called ' + 'componentWillRecieveProps(). Did you mean componentWillReceiveProps()?', spec.displayName || 'A component') : undefined;\n }\n\n // Reduce time spent doing lookups by setting these on the prototype.\n for (var methodName in ReactClassInterface) {\n if (!Constructor.prototype[methodName]) {\n Constructor.prototype[methodName] = null;\n }\n }\n\n return Constructor;\n },\n\n injection: {\n injectMixin: function (mixin) {\n injectedMixins.push(mixin);\n }\n }\n\n};\n\nmodule.exports = ReactClass;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/ReactClass.js\n **/","/**\n * Copyright 2013-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 * @providesModule ReactComponent\n */\n\n'use strict';\n\nvar ReactNoopUpdateQueue = require('./ReactNoopUpdateQueue');\n\nvar emptyObject = require('fbjs/lib/emptyObject');\nvar invariant = require('fbjs/lib/invariant');\nvar warning = require('fbjs/lib/warning');\n\n/**\n * Base class helpers for the updating state of a component.\n */\nfunction ReactComponent(props, context, updater) {\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n // We initialize the default updater but the real one gets injected by the\n // renderer.\n this.updater = updater || ReactNoopUpdateQueue;\n}\n\nReactComponent.prototype.isReactComponent = {};\n\n/**\n * Sets a subset of the state. Always use this to mutate\n * state. You should treat `this.state` as immutable.\n *\n * There is no guarantee that `this.state` will be immediately updated, so\n * accessing `this.state` after calling this method may return the old value.\n *\n * There is no guarantee that calls to `setState` will run synchronously,\n * as they may eventually be batched together. You can provide an optional\n * callback that will be executed when the call to setState is actually\n * completed.\n *\n * When a function is provided to setState, it will be called at some point in\n * the future (not synchronously). It will be called with the up to date\n * component arguments (state, props, context). These values can be different\n * from this.* because your function may be called after receiveProps but before\n * shouldComponentUpdate, and this new state, props, and context will not yet be\n * assigned to this.\n *\n * @param {object|function} partialState Next partial state or function to\n * produce next partial state to be merged with current state.\n * @param {?function} callback Called after state is updated.\n * @final\n * @protected\n */\nReactComponent.prototype.setState = function (partialState, callback) {\n !(typeof partialState === 'object' || typeof partialState === 'function' || partialState == null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'setState(...): takes an object of state variables to update or a ' + 'function which returns an object of state variables.') : invariant(false) : undefined;\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== 'production' ? warning(partialState != null, 'setState(...): You passed an undefined or null state object; ' + 'instead, use forceUpdate().') : undefined;\n }\n this.updater.enqueueSetState(this, partialState);\n if (callback) {\n this.updater.enqueueCallback(this, callback);\n }\n};\n\n/**\n * Forces an update. This should only be invoked when it is known with\n * certainty that we are **not** in a DOM transaction.\n *\n * You may want to call this when you know that some deeper aspect of the\n * component's state has changed but `setState` was not called.\n *\n * This will not invoke `shouldComponentUpdate`, but it will invoke\n * `componentWillUpdate` and `componentDidUpdate`.\n *\n * @param {?function} callback Called after update is complete.\n * @final\n * @protected\n */\nReactComponent.prototype.forceUpdate = function (callback) {\n this.updater.enqueueForceUpdate(this);\n if (callback) {\n this.updater.enqueueCallback(this, callback);\n }\n};\n\n/**\n * Deprecated APIs. These APIs used to exist on classic React classes but since\n * we would like to deprecate them, we're not going to move them over to this\n * modern base class. Instead, we define a getter that warns if it's accessed.\n */\nif (process.env.NODE_ENV !== 'production') {\n var deprecatedAPIs = {\n getDOMNode: ['getDOMNode', 'Use ReactDOM.findDOMNode(component) instead.'],\n isMounted: ['isMounted', 'Instead, make sure to clean up subscriptions and pending requests in ' + 'componentWillUnmount to prevent memory leaks.'],\n replaceProps: ['replaceProps', 'Instead, call render again at the top level.'],\n replaceState: ['replaceState', 'Refactor your code to use setState instead (see ' + 'https://github.com/facebook/react/issues/3236).'],\n setProps: ['setProps', 'Instead, call render again at the top level.']\n };\n var defineDeprecationWarning = function (methodName, info) {\n try {\n Object.defineProperty(ReactComponent.prototype, methodName, {\n get: function () {\n process.env.NODE_ENV !== 'production' ? warning(false, '%s(...) is deprecated in plain JavaScript React classes. %s', info[0], info[1]) : undefined;\n return undefined;\n }\n });\n } catch (x) {\n // IE will fail on defineProperty (es5-shim/sham too)\n }\n };\n for (var fnName in deprecatedAPIs) {\n if (deprecatedAPIs.hasOwnProperty(fnName)) {\n defineDeprecationWarning(fnName, deprecatedAPIs[fnName]);\n }\n }\n}\n\nmodule.exports = ReactComponent;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/ReactComponent.js\n **/","/**\n * Copyright 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 * @providesModule ReactNoopUpdateQueue\n */\n\n'use strict';\n\nvar warning = require('fbjs/lib/warning');\n\nfunction warnTDZ(publicInstance, callerName) {\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== 'production' ? warning(false, '%s(...): Can only update a mounted or mounting component. ' + 'This usually means you called %s() on an unmounted component. ' + 'This is a no-op. Please check the code for the %s component.', callerName, callerName, publicInstance.constructor && publicInstance.constructor.displayName || '') : undefined;\n }\n}\n\n/**\n * This is the abstract API for an update queue.\n */\nvar ReactNoopUpdateQueue = {\n\n /**\n * Checks whether or not this composite component is mounted.\n * @param {ReactClass} publicInstance The instance we want to test.\n * @return {boolean} True if mounted, false otherwise.\n * @protected\n * @final\n */\n isMounted: function (publicInstance) {\n return false;\n },\n\n /**\n * Enqueue a callback that will be executed after all the pending updates\n * have processed.\n *\n * @param {ReactClass} publicInstance The instance to use as `this` context.\n * @param {?function} callback Called after state is updated.\n * @internal\n */\n enqueueCallback: function (publicInstance, callback) {},\n\n /**\n * Forces an update. This should only be invoked when it is known with\n * certainty that we are **not** in a DOM transaction.\n *\n * You may want to call this when you know that some deeper aspect of the\n * component's state has changed but `setState` was not called.\n *\n * This will not invoke `shouldComponentUpdate`, but it will invoke\n * `componentWillUpdate` and `componentDidUpdate`.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @internal\n */\n enqueueForceUpdate: function (publicInstance) {\n warnTDZ(publicInstance, 'forceUpdate');\n },\n\n /**\n * Replaces all of the state. Always use this or `setState` to mutate state.\n * You should treat `this.state` as immutable.\n *\n * There is no guarantee that `this.state` will be immediately updated, so\n * accessing `this.state` after calling this method may return the old value.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {object} completeState Next state.\n * @internal\n */\n enqueueReplaceState: function (publicInstance, completeState) {\n warnTDZ(publicInstance, 'replaceState');\n },\n\n /**\n * Sets a subset of the state. This only exists because _pendingState is\n * internal. This provides a merging strategy that is not available to deep\n * properties which is confusing. TODO: Expose pendingState or don't use it\n * during the merge.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {object} partialState Next partial state to be merged with state.\n * @internal\n */\n enqueueSetState: function (publicInstance, partialState) {\n warnTDZ(publicInstance, 'setState');\n },\n\n /**\n * Sets a subset of the props.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {object} partialProps Subset of the next props.\n * @internal\n */\n enqueueSetProps: function (publicInstance, partialProps) {\n warnTDZ(publicInstance, 'setProps');\n },\n\n /**\n * Replaces all of the props.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {object} props New props.\n * @internal\n */\n enqueueReplaceProps: function (publicInstance, props) {\n warnTDZ(publicInstance, 'replaceProps');\n }\n\n};\n\nmodule.exports = ReactNoopUpdateQueue;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/ReactNoopUpdateQueue.js\n **/","/**\n * Copyright 2013-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 * @providesModule ReactReconcileTransaction\n * @typechecks static-only\n */\n\n'use strict';\n\nvar CallbackQueue = require('./CallbackQueue');\nvar PooledClass = require('./PooledClass');\nvar ReactBrowserEventEmitter = require('./ReactBrowserEventEmitter');\nvar ReactDOMFeatureFlags = require('./ReactDOMFeatureFlags');\nvar ReactInputSelection = require('./ReactInputSelection');\nvar Transaction = require('./Transaction');\n\nvar assign = require('./Object.assign');\n\n/**\n * Ensures that, when possible, the selection range (currently selected text\n * input) is not disturbed by performing the transaction.\n */\nvar SELECTION_RESTORATION = {\n /**\n * @return {Selection} Selection information.\n */\n initialize: ReactInputSelection.getSelectionInformation,\n /**\n * @param {Selection} sel Selection information returned from `initialize`.\n */\n close: ReactInputSelection.restoreSelection\n};\n\n/**\n * Suppresses events (blur/focus) that could be inadvertently dispatched due to\n * high level DOM manipulations (like temporarily removing a text input from the\n * DOM).\n */\nvar EVENT_SUPPRESSION = {\n /**\n * @return {boolean} The enabled status of `ReactBrowserEventEmitter` before\n * the reconciliation.\n */\n initialize: function () {\n var currentlyEnabled = ReactBrowserEventEmitter.isEnabled();\n ReactBrowserEventEmitter.setEnabled(false);\n return currentlyEnabled;\n },\n\n /**\n * @param {boolean} previouslyEnabled Enabled status of\n * `ReactBrowserEventEmitter` before the reconciliation occurred. `close`\n * restores the previous value.\n */\n close: function (previouslyEnabled) {\n ReactBrowserEventEmitter.setEnabled(previouslyEnabled);\n }\n};\n\n/**\n * Provides a queue for collecting `componentDidMount` and\n * `componentDidUpdate` callbacks during the the transaction.\n */\nvar ON_DOM_READY_QUEUEING = {\n /**\n * Initializes the internal `onDOMReady` queue.\n */\n initialize: function () {\n this.reactMountReady.reset();\n },\n\n /**\n * After DOM is flushed, invoke all registered `onDOMReady` callbacks.\n */\n close: function () {\n this.reactMountReady.notifyAll();\n }\n};\n\n/**\n * Executed within the scope of the `Transaction` instance. Consider these as\n * being member methods, but with an implied ordering while being isolated from\n * each other.\n */\nvar TRANSACTION_WRAPPERS = [SELECTION_RESTORATION, EVENT_SUPPRESSION, ON_DOM_READY_QUEUEING];\n\n/**\n * Currently:\n * - The order that these are listed in the transaction is critical:\n * - Suppresses events.\n * - Restores selection range.\n *\n * Future:\n * - Restore document/overflow scroll positions that were unintentionally\n * modified via DOM insertions above the top viewport boundary.\n * - Implement/integrate with customized constraint based layout system and keep\n * track of which dimensions must be remeasured.\n *\n * @class ReactReconcileTransaction\n */\nfunction ReactReconcileTransaction(forceHTML) {\n this.reinitializeTransaction();\n // Only server-side rendering really needs this option (see\n // `ReactServerRendering`), but server-side uses\n // `ReactServerRenderingTransaction` instead. This option is here so that it's\n // accessible and defaults to false when `ReactDOMComponent` and\n // `ReactTextComponent` checks it in `mountComponent`.`\n this.renderToStaticMarkup = false;\n this.reactMountReady = CallbackQueue.getPooled(null);\n this.useCreateElement = !forceHTML && ReactDOMFeatureFlags.useCreateElement;\n}\n\nvar Mixin = {\n /**\n * @see Transaction\n * @abstract\n * @final\n * @return {array<object>} List of operation wrap procedures.\n * TODO: convert to array<TransactionWrapper>\n */\n getTransactionWrappers: function () {\n return TRANSACTION_WRAPPERS;\n },\n\n /**\n * @return {object} The queue to collect `onDOMReady` callbacks with.\n */\n getReactMountReady: function () {\n return this.reactMountReady;\n },\n\n /**\n * `PooledClass` looks for this, and will invoke this before allowing this\n * instance to be reused.\n */\n destructor: function () {\n CallbackQueue.release(this.reactMountReady);\n this.reactMountReady = null;\n }\n};\n\nassign(ReactReconcileTransaction.prototype, Transaction.Mixin, Mixin);\n\nPooledClass.addPoolingTo(ReactReconcileTransaction);\n\nmodule.exports = ReactReconcileTransaction;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/ReactReconcileTransaction.js\n **/","/**\n * Copyright 2013-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 * @providesModule ReactInputSelection\n */\n\n'use strict';\n\nvar ReactDOMSelection = require('./ReactDOMSelection');\n\nvar containsNode = require('fbjs/lib/containsNode');\nvar focusNode = require('fbjs/lib/focusNode');\nvar getActiveElement = require('fbjs/lib/getActiveElement');\n\nfunction isInDocument(node) {\n return containsNode(document.documentElement, node);\n}\n\n/**\n * @ReactInputSelection: React input selection module. Based on Selection.js,\n * but modified to be suitable for react and has a couple of bug fixes (doesn't\n * assume buttons have range selections allowed).\n * Input selection module for React.\n */\nvar ReactInputSelection = {\n\n hasSelectionCapabilities: function (elem) {\n var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase();\n return nodeName && (nodeName === 'input' && elem.type === 'text' || nodeName === 'textarea' || elem.contentEditable === 'true');\n },\n\n getSelectionInformation: function () {\n var focusedElem = getActiveElement();\n return {\n focusedElem: focusedElem,\n selectionRange: ReactInputSelection.hasSelectionCapabilities(focusedElem) ? ReactInputSelection.getSelection(focusedElem) : null\n };\n },\n\n /**\n * @restoreSelection: If any selection information was potentially lost,\n * restore it. This is useful when performing operations that could remove dom\n * nodes and place them back in, resulting in focus being lost.\n */\n restoreSelection: function (priorSelectionInformation) {\n var curFocusedElem = getActiveElement();\n var priorFocusedElem = priorSelectionInformation.focusedElem;\n var priorSelectionRange = priorSelectionInformation.selectionRange;\n if (curFocusedElem !== priorFocusedElem && isInDocument(priorFocusedElem)) {\n if (ReactInputSelection.hasSelectionCapabilities(priorFocusedElem)) {\n ReactInputSelection.setSelection(priorFocusedElem, priorSelectionRange);\n }\n focusNode(priorFocusedElem);\n }\n },\n\n /**\n * @getSelection: Gets the selection bounds of a focused textarea, input or\n * contentEditable node.\n * -@input: Look up selection bounds of this input\n * -@return {start: selectionStart, end: selectionEnd}\n */\n getSelection: function (input) {\n var selection;\n\n if ('selectionStart' in input) {\n // Modern browser with input or textarea.\n selection = {\n start: input.selectionStart,\n end: input.selectionEnd\n };\n } else if (document.selection && (input.nodeName && input.nodeName.toLowerCase() === 'input')) {\n // IE8 input.\n var range = document.selection.createRange();\n // There can only be one selection per document in IE, so it must\n // be in our element.\n if (range.parentElement() === input) {\n selection = {\n start: -range.moveStart('character', -input.value.length),\n end: -range.moveEnd('character', -input.value.length)\n };\n }\n } else {\n // Content editable or old IE textarea.\n selection = ReactDOMSelection.getOffsets(input);\n }\n\n return selection || { start: 0, end: 0 };\n },\n\n /**\n * @setSelection: Sets the selection bounds of a textarea or input and focuses\n * the input.\n * -@input Set selection bounds of this input or textarea\n * -@offsets Object of same form that is returned from get*\n */\n setSelection: function (input, offsets) {\n var start = offsets.start;\n var end = offsets.end;\n if (typeof end === 'undefined') {\n end = start;\n }\n\n if ('selectionStart' in input) {\n input.selectionStart = start;\n input.selectionEnd = Math.min(end, input.value.length);\n } else if (document.selection && (input.nodeName && input.nodeName.toLowerCase() === 'input')) {\n var range = input.createTextRange();\n range.collapse(true);\n range.moveStart('character', start);\n range.moveEnd('character', end - start);\n range.select();\n } else {\n ReactDOMSelection.setOffsets(input, offsets);\n }\n }\n};\n\nmodule.exports = ReactInputSelection;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/ReactInputSelection.js\n **/","/**\n * Copyright 2013-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 * @providesModule ReactDOMSelection\n */\n\n'use strict';\n\nvar ExecutionEnvironment = require('fbjs/lib/ExecutionEnvironment');\n\nvar getNodeForCharacterOffset = require('./getNodeForCharacterOffset');\nvar getTextContentAccessor = require('./getTextContentAccessor');\n\n/**\n * While `isCollapsed` is available on the Selection object and `collapsed`\n * is available on the Range object, IE11 sometimes gets them wrong.\n * If the anchor/focus nodes and offsets are the same, the range is collapsed.\n */\nfunction isCollapsed(anchorNode, anchorOffset, focusNode, focusOffset) {\n return anchorNode === focusNode && anchorOffset === focusOffset;\n}\n\n/**\n * Get the appropriate anchor and focus node/offset pairs for IE.\n *\n * The catch here is that IE's selection API doesn't provide information\n * about whether the selection is forward or backward, so we have to\n * behave as though it's always forward.\n *\n * IE text differs from modern selection in that it behaves as though\n * block elements end with a new line. This means character offsets will\n * differ between the two APIs.\n *\n * @param {DOMElement} node\n * @return {object}\n */\nfunction getIEOffsets(node) {\n var selection = document.selection;\n var selectedRange = selection.createRange();\n var selectedLength = selectedRange.text.length;\n\n // Duplicate selection so we can move range without breaking user selection.\n var fromStart = selectedRange.duplicate();\n fromStart.moveToElementText(node);\n fromStart.setEndPoint('EndToStart', selectedRange);\n\n var startOffset = fromStart.text.length;\n var endOffset = startOffset + selectedLength;\n\n return {\n start: startOffset,\n end: endOffset\n };\n}\n\n/**\n * @param {DOMElement} node\n * @return {?object}\n */\nfunction getModernOffsets(node) {\n var selection = window.getSelection && window.getSelection();\n\n if (!selection || selection.rangeCount === 0) {\n return null;\n }\n\n var anchorNode = selection.anchorNode;\n var anchorOffset = selection.anchorOffset;\n var focusNode = selection.focusNode;\n var focusOffset = selection.focusOffset;\n\n var currentRange = selection.getRangeAt(0);\n\n // In Firefox, range.startContainer and range.endContainer can be \"anonymous\n // divs\", e.g. the up/down buttons on an <input type=\"number\">. Anonymous\n // divs do not seem to expose properties, triggering a \"Permission denied\n // error\" if any of its properties are accessed. The only seemingly possible\n // way to avoid erroring is to access a property that typically works for\n // non-anonymous divs and catch any error that may otherwise arise. See\n // https://bugzilla.mozilla.org/show_bug.cgi?id=208427\n try {\n /* eslint-disable no-unused-expressions */\n currentRange.startContainer.nodeType;\n currentRange.endContainer.nodeType;\n /* eslint-enable no-unused-expressions */\n } catch (e) {\n return null;\n }\n\n // If the node and offset values are the same, the selection is collapsed.\n // `Selection.isCollapsed` is available natively, but IE sometimes gets\n // this value wrong.\n var isSelectionCollapsed = isCollapsed(selection.anchorNode, selection.anchorOffset, selection.focusNode, selection.focusOffset);\n\n var rangeLength = isSelectionCollapsed ? 0 : currentRange.toString().length;\n\n var tempRange = currentRange.cloneRange();\n tempRange.selectNodeContents(node);\n tempRange.setEnd(currentRange.startContainer, currentRange.startOffset);\n\n var isTempRangeCollapsed = isCollapsed(tempRange.startContainer, tempRange.startOffset, tempRange.endContainer, tempRange.endOffset);\n\n var start = isTempRangeCollapsed ? 0 : tempRange.toString().length;\n var end = start + rangeLength;\n\n // Detect whether the selection is backward.\n var detectionRange = document.createRange();\n detectionRange.setStart(anchorNode, anchorOffset);\n detectionRange.setEnd(focusNode, focusOffset);\n var isBackward = detectionRange.collapsed;\n\n return {\n start: isBackward ? end : start,\n end: isBackward ? start : end\n };\n}\n\n/**\n * @param {DOMElement|DOMTextNode} node\n * @param {object} offsets\n */\nfunction setIEOffsets(node, offsets) {\n var range = document.selection.createRange().duplicate();\n var start, end;\n\n if (typeof offsets.end === 'undefined') {\n start = offsets.start;\n end = start;\n } else if (offsets.start > offsets.end) {\n start = offsets.end;\n end = offsets.start;\n } else {\n start = offsets.start;\n end = offsets.end;\n }\n\n range.moveToElementText(node);\n range.moveStart('character', start);\n range.setEndPoint('EndToStart', range);\n range.moveEnd('character', end - start);\n range.select();\n}\n\n/**\n * In modern non-IE browsers, we can support both forward and backward\n * selections.\n *\n * Note: IE10+ supports the Selection object, but it does not support\n * the `extend` method, which means that even in modern IE, it's not possible\n * to programatically create a backward selection. Thus, for all IE\n * versions, we use the old IE API to create our selections.\n *\n * @param {DOMElement|DOMTextNode} node\n * @param {object} offsets\n */\nfunction setModernOffsets(node, offsets) {\n if (!window.getSelection) {\n return;\n }\n\n var selection = window.getSelection();\n var length = node[getTextContentAccessor()].length;\n var start = Math.min(offsets.start, length);\n var end = typeof offsets.end === 'undefined' ? start : Math.min(offsets.end, length);\n\n // IE 11 uses modern selection, but doesn't support the extend method.\n // Flip backward selections, so we can set with a single range.\n if (!selection.extend && start > end) {\n var temp = end;\n end = start;\n start = temp;\n }\n\n var startMarker = getNodeForCharacterOffset(node, start);\n var endMarker = getNodeForCharacterOffset(node, end);\n\n if (startMarker && endMarker) {\n var range = document.createRange();\n range.setStart(startMarker.node, startMarker.offset);\n selection.removeAllRanges();\n\n if (start > end) {\n selection.addRange(range);\n selection.extend(endMarker.node, endMarker.offset);\n } else {\n range.setEnd(endMarker.node, endMarker.offset);\n selection.addRange(range);\n }\n }\n}\n\nvar useIEOffsets = ExecutionEnvironment.canUseDOM && 'selection' in document && !('getSelection' in window);\n\nvar ReactDOMSelection = {\n /**\n * @param {DOMElement} node\n */\n getOffsets: useIEOffsets ? getIEOffsets : getModernOffsets,\n\n /**\n * @param {DOMElement|DOMTextNode} node\n * @param {object} offsets\n */\n setOffsets: useIEOffsets ? setIEOffsets : setModernOffsets\n};\n\nmodule.exports = ReactDOMSelection;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/ReactDOMSelection.js\n **/","/**\n * Copyright 2013-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 * @providesModule getNodeForCharacterOffset\n */\n\n'use strict';\n\n/**\n * Given any node return the first leaf node without children.\n *\n * @param {DOMElement|DOMTextNode} node\n * @return {DOMElement|DOMTextNode}\n */\nfunction getLeafNode(node) {\n while (node && node.firstChild) {\n node = node.firstChild;\n }\n return node;\n}\n\n/**\n * Get the next sibling within a container. This will walk up the\n * DOM if a node's siblings have been exhausted.\n *\n * @param {DOMElement|DOMTextNode} node\n * @return {?DOMElement|DOMTextNode}\n */\nfunction getSiblingNode(node) {\n while (node) {\n if (node.nextSibling) {\n return node.nextSibling;\n }\n node = node.parentNode;\n }\n}\n\n/**\n * Get object describing the nodes which contain characters at offset.\n *\n * @param {DOMElement|DOMTextNode} root\n * @param {number} offset\n * @return {?object}\n */\nfunction getNodeForCharacterOffset(root, offset) {\n var node = getLeafNode(root);\n var nodeStart = 0;\n var nodeEnd = 0;\n\n while (node) {\n if (node.nodeType === 3) {\n nodeEnd = nodeStart + node.textContent.length;\n\n if (nodeStart <= offset && nodeEnd >= offset) {\n return {\n node: node,\n offset: offset - nodeStart\n };\n }\n\n nodeStart = nodeEnd;\n }\n\n node = getLeafNode(getSiblingNode(node));\n }\n}\n\nmodule.exports = getNodeForCharacterOffset;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/getNodeForCharacterOffset.js\n **/","/**\n * Copyright 2013-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 * @providesModule getActiveElement\n * @typechecks\n */\n\n/**\n * Same as document.activeElement but wraps in a try-catch block. In IE it is\n * not safe to call document.activeElement if there is nothing focused.\n *\n * The activeElement will be null only if the document or document body is not yet defined.\n */\n'use strict';\n\nfunction getActiveElement() /*?DOMElement*/{\n if (typeof document === 'undefined') {\n return null;\n }\n\n try {\n return document.activeElement || document.body;\n } catch (e) {\n return document.body;\n }\n}\n\nmodule.exports = getActiveElement;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/~/fbjs/lib/getActiveElement.js\n **/","/**\n * Copyright 2013-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 * @providesModule SelectEventPlugin\n */\n\n'use strict';\n\nvar EventConstants = require('./EventConstants');\nvar EventPropagators = require('./EventPropagators');\nvar ExecutionEnvironment = require('fbjs/lib/ExecutionEnvironment');\nvar ReactInputSelection = require('./ReactInputSelection');\nvar SyntheticEvent = require('./SyntheticEvent');\n\nvar getActiveElement = require('fbjs/lib/getActiveElement');\nvar isTextInputElement = require('./isTextInputElement');\nvar keyOf = require('fbjs/lib/keyOf');\nvar shallowEqual = require('fbjs/lib/shallowEqual');\n\nvar topLevelTypes = EventConstants.topLevelTypes;\n\nvar skipSelectionChangeEvent = ExecutionEnvironment.canUseDOM && 'documentMode' in document && document.documentMode <= 11;\n\nvar eventTypes = {\n select: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onSelect: null }),\n captured: keyOf({ onSelectCapture: null })\n },\n dependencies: [topLevelTypes.topBlur, topLevelTypes.topContextMenu, topLevelTypes.topFocus, topLevelTypes.topKeyDown, topLevelTypes.topMouseDown, topLevelTypes.topMouseUp, topLevelTypes.topSelectionChange]\n }\n};\n\nvar activeElement = null;\nvar activeElementID = null;\nvar lastSelection = null;\nvar mouseDown = false;\n\n// Track whether a listener exists for this plugin. If none exist, we do\n// not extract events.\nvar hasListener = false;\nvar ON_SELECT_KEY = keyOf({ onSelect: null });\n\n/**\n * Get an object which is a unique representation of the current selection.\n *\n * The return value will not be consistent across nodes or browsers, but\n * two identical selections on the same node will return identical objects.\n *\n * @param {DOMElement} node\n * @return {object}\n */\nfunction getSelection(node) {\n if ('selectionStart' in node && ReactInputSelection.hasSelectionCapabilities(node)) {\n return {\n start: node.selectionStart,\n end: node.selectionEnd\n };\n } else if (window.getSelection) {\n var selection = window.getSelection();\n return {\n anchorNode: selection.anchorNode,\n anchorOffset: selection.anchorOffset,\n focusNode: selection.focusNode,\n focusOffset: selection.focusOffset\n };\n } else if (document.selection) {\n var range = document.selection.createRange();\n return {\n parentElement: range.parentElement(),\n text: range.text,\n top: range.boundingTop,\n left: range.boundingLeft\n };\n }\n}\n\n/**\n * Poll selection to see whether it's changed.\n *\n * @param {object} nativeEvent\n * @return {?SyntheticEvent}\n */\nfunction constructSelectEvent(nativeEvent, nativeEventTarget) {\n // Ensure we have the right element, and that the user is not dragging a\n // selection (this matches native `select` event behavior). In HTML5, select\n // fires only on input and textarea thus if there's no focused element we\n // won't dispatch.\n if (mouseDown || activeElement == null || activeElement !== getActiveElement()) {\n return null;\n }\n\n // Only fire when selection has actually changed.\n var currentSelection = getSelection(activeElement);\n if (!lastSelection || !shallowEqual(lastSelection, currentSelection)) {\n lastSelection = currentSelection;\n\n var syntheticEvent = SyntheticEvent.getPooled(eventTypes.select, activeElementID, nativeEvent, nativeEventTarget);\n\n syntheticEvent.type = 'select';\n syntheticEvent.target = activeElement;\n\n EventPropagators.accumulateTwoPhaseDispatches(syntheticEvent);\n\n return syntheticEvent;\n }\n\n return null;\n}\n\n/**\n * This plugin creates an `onSelect` event that normalizes select events\n * across form elements.\n *\n * Supported elements are:\n * - input (see `isTextInputElement`)\n * - textarea\n * - contentEditable\n *\n * This differs from native browser implementations in the following ways:\n * - Fires on contentEditable fields as well as inputs.\n * - Fires for collapsed selection.\n * - Fires after user input.\n */\nvar SelectEventPlugin = {\n\n eventTypes: eventTypes,\n\n /**\n * @param {string} topLevelType Record from `EventConstants`.\n * @param {DOMEventTarget} topLevelTarget The listening component root node.\n * @param {string} topLevelTargetID ID of `topLevelTarget`.\n * @param {object} nativeEvent Native browser event.\n * @return {*} An accumulation of synthetic events.\n * @see {EventPluginHub.extractEvents}\n */\n extractEvents: function (topLevelType, topLevelTarget, topLevelTargetID, nativeEvent, nativeEventTarget) {\n if (!hasListener) {\n return null;\n }\n\n switch (topLevelType) {\n // Track the input node that has focus.\n case topLevelTypes.topFocus:\n if (isTextInputElement(topLevelTarget) || topLevelTarget.contentEditable === 'true') {\n activeElement = topLevelTarget;\n activeElementID = topLevelTargetID;\n lastSelection = null;\n }\n break;\n case topLevelTypes.topBlur:\n activeElement = null;\n activeElementID = null;\n lastSelection = null;\n break;\n\n // Don't fire the event while the user is dragging. This matches the\n // semantics of the native select event.\n case topLevelTypes.topMouseDown:\n mouseDown = true;\n break;\n case topLevelTypes.topContextMenu:\n case topLevelTypes.topMouseUp:\n mouseDown = false;\n return constructSelectEvent(nativeEvent, nativeEventTarget);\n\n // Chrome and IE fire non-standard event when selection is changed (and\n // sometimes when it hasn't). IE's event fires out of order with respect\n // to key and input events on deletion, so we discard it.\n //\n // Firefox doesn't support selectionchange, so check selection status\n // after each key entry. The selection changes after keydown and before\n // keyup, but we check on keydown as well in the case of holding down a\n // key, when multiple keydown events are fired but only one keyup is.\n // This is also our approach for IE handling, for the reason above.\n case topLevelTypes.topSelectionChange:\n if (skipSelectionChangeEvent) {\n break;\n }\n // falls through\n case topLevelTypes.topKeyDown:\n case topLevelTypes.topKeyUp:\n return constructSelectEvent(nativeEvent, nativeEventTarget);\n }\n\n return null;\n },\n\n didPutListener: function (id, registrationName, listener) {\n if (registrationName === ON_SELECT_KEY) {\n hasListener = true;\n }\n }\n};\n\nmodule.exports = SelectEventPlugin;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/SelectEventPlugin.js\n **/","/**\n * Copyright 2013-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 * @providesModule ServerReactRootIndex\n * @typechecks\n */\n\n'use strict';\n\n/**\n * Size of the reactRoot ID space. We generate random numbers for React root\n * IDs and if there's a collision the events and DOM update system will\n * get confused. In the future we need a way to generate GUIDs but for\n * now this will work on a smaller scale.\n */\nvar GLOBAL_MOUNT_POINT_MAX = Math.pow(2, 53);\n\nvar ServerReactRootIndex = {\n createReactRootIndex: function () {\n return Math.ceil(Math.random() * GLOBAL_MOUNT_POINT_MAX);\n }\n};\n\nmodule.exports = ServerReactRootIndex;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/ServerReactRootIndex.js\n **/","/**\n * Copyright 2013-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 * @providesModule SimpleEventPlugin\n */\n\n'use strict';\n\nvar EventConstants = require('./EventConstants');\nvar EventListener = require('fbjs/lib/EventListener');\nvar EventPropagators = require('./EventPropagators');\nvar ReactMount = require('./ReactMount');\nvar SyntheticClipboardEvent = require('./SyntheticClipboardEvent');\nvar SyntheticEvent = require('./SyntheticEvent');\nvar SyntheticFocusEvent = require('./SyntheticFocusEvent');\nvar SyntheticKeyboardEvent = require('./SyntheticKeyboardEvent');\nvar SyntheticMouseEvent = require('./SyntheticMouseEvent');\nvar SyntheticDragEvent = require('./SyntheticDragEvent');\nvar SyntheticTouchEvent = require('./SyntheticTouchEvent');\nvar SyntheticUIEvent = require('./SyntheticUIEvent');\nvar SyntheticWheelEvent = require('./SyntheticWheelEvent');\n\nvar emptyFunction = require('fbjs/lib/emptyFunction');\nvar getEventCharCode = require('./getEventCharCode');\nvar invariant = require('fbjs/lib/invariant');\nvar keyOf = require('fbjs/lib/keyOf');\n\nvar topLevelTypes = EventConstants.topLevelTypes;\n\nvar eventTypes = {\n abort: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onAbort: true }),\n captured: keyOf({ onAbortCapture: true })\n }\n },\n blur: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onBlur: true }),\n captured: keyOf({ onBlurCapture: true })\n }\n },\n canPlay: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onCanPlay: true }),\n captured: keyOf({ onCanPlayCapture: true })\n }\n },\n canPlayThrough: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onCanPlayThrough: true }),\n captured: keyOf({ onCanPlayThroughCapture: true })\n }\n },\n click: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onClick: true }),\n captured: keyOf({ onClickCapture: true })\n }\n },\n contextMenu: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onContextMenu: true }),\n captured: keyOf({ onContextMenuCapture: true })\n }\n },\n copy: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onCopy: true }),\n captured: keyOf({ onCopyCapture: true })\n }\n },\n cut: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onCut: true }),\n captured: keyOf({ onCutCapture: true })\n }\n },\n doubleClick: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onDoubleClick: true }),\n captured: keyOf({ onDoubleClickCapture: true })\n }\n },\n drag: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onDrag: true }),\n captured: keyOf({ onDragCapture: true })\n }\n },\n dragEnd: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onDragEnd: true }),\n captured: keyOf({ onDragEndCapture: true })\n }\n },\n dragEnter: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onDragEnter: true }),\n captured: keyOf({ onDragEnterCapture: true })\n }\n },\n dragExit: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onDragExit: true }),\n captured: keyOf({ onDragExitCapture: true })\n }\n },\n dragLeave: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onDragLeave: true }),\n captured: keyOf({ onDragLeaveCapture: true })\n }\n },\n dragOver: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onDragOver: true }),\n captured: keyOf({ onDragOverCapture: true })\n }\n },\n dragStart: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onDragStart: true }),\n captured: keyOf({ onDragStartCapture: true })\n }\n },\n drop: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onDrop: true }),\n captured: keyOf({ onDropCapture: true })\n }\n },\n durationChange: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onDurationChange: true }),\n captured: keyOf({ onDurationChangeCapture: true })\n }\n },\n emptied: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onEmptied: true }),\n captured: keyOf({ onEmptiedCapture: true })\n }\n },\n encrypted: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onEncrypted: true }),\n captured: keyOf({ onEncryptedCapture: true })\n }\n },\n ended: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onEnded: true }),\n captured: keyOf({ onEndedCapture: true })\n }\n },\n error: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onError: true }),\n captured: keyOf({ onErrorCapture: true })\n }\n },\n focus: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onFocus: true }),\n captured: keyOf({ onFocusCapture: true })\n }\n },\n input: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onInput: true }),\n captured: keyOf({ onInputCapture: true })\n }\n },\n keyDown: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onKeyDown: true }),\n captured: keyOf({ onKeyDownCapture: true })\n }\n },\n keyPress: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onKeyPress: true }),\n captured: keyOf({ onKeyPressCapture: true })\n }\n },\n keyUp: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onKeyUp: true }),\n captured: keyOf({ onKeyUpCapture: true })\n }\n },\n load: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onLoad: true }),\n captured: keyOf({ onLoadCapture: true })\n }\n },\n loadedData: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onLoadedData: true }),\n captured: keyOf({ onLoadedDataCapture: true })\n }\n },\n loadedMetadata: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onLoadedMetadata: true }),\n captured: keyOf({ onLoadedMetadataCapture: true })\n }\n },\n loadStart: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onLoadStart: true }),\n captured: keyOf({ onLoadStartCapture: true })\n }\n },\n // Note: We do not allow listening to mouseOver events. Instead, use the\n // onMouseEnter/onMouseLeave created by `EnterLeaveEventPlugin`.\n mouseDown: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onMouseDown: true }),\n captured: keyOf({ onMouseDownCapture: true })\n }\n },\n mouseMove: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onMouseMove: true }),\n captured: keyOf({ onMouseMoveCapture: true })\n }\n },\n mouseOut: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onMouseOut: true }),\n captured: keyOf({ onMouseOutCapture: true })\n }\n },\n mouseOver: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onMouseOver: true }),\n captured: keyOf({ onMouseOverCapture: true })\n }\n },\n mouseUp: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onMouseUp: true }),\n captured: keyOf({ onMouseUpCapture: true })\n }\n },\n paste: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onPaste: true }),\n captured: keyOf({ onPasteCapture: true })\n }\n },\n pause: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onPause: true }),\n captured: keyOf({ onPauseCapture: true })\n }\n },\n play: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onPlay: true }),\n captured: keyOf({ onPlayCapture: true })\n }\n },\n playing: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onPlaying: true }),\n captured: keyOf({ onPlayingCapture: true })\n }\n },\n progress: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onProgress: true }),\n captured: keyOf({ onProgressCapture: true })\n }\n },\n rateChange: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onRateChange: true }),\n captured: keyOf({ onRateChangeCapture: true })\n }\n },\n reset: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onReset: true }),\n captured: keyOf({ onResetCapture: true })\n }\n },\n scroll: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onScroll: true }),\n captured: keyOf({ onScrollCapture: true })\n }\n },\n seeked: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onSeeked: true }),\n captured: keyOf({ onSeekedCapture: true })\n }\n },\n seeking: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onSeeking: true }),\n captured: keyOf({ onSeekingCapture: true })\n }\n },\n stalled: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onStalled: true }),\n captured: keyOf({ onStalledCapture: true })\n }\n },\n submit: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onSubmit: true }),\n captured: keyOf({ onSubmitCapture: true })\n }\n },\n suspend: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onSuspend: true }),\n captured: keyOf({ onSuspendCapture: true })\n }\n },\n timeUpdate: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onTimeUpdate: true }),\n captured: keyOf({ onTimeUpdateCapture: true })\n }\n },\n touchCancel: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onTouchCancel: true }),\n captured: keyOf({ onTouchCancelCapture: true })\n }\n },\n touchEnd: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onTouchEnd: true }),\n captured: keyOf({ onTouchEndCapture: true })\n }\n },\n touchMove: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onTouchMove: true }),\n captured: keyOf({ onTouchMoveCapture: true })\n }\n },\n touchStart: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onTouchStart: true }),\n captured: keyOf({ onTouchStartCapture: true })\n }\n },\n volumeChange: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onVolumeChange: true }),\n captured: keyOf({ onVolumeChangeCapture: true })\n }\n },\n waiting: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onWaiting: true }),\n captured: keyOf({ onWaitingCapture: true })\n }\n },\n wheel: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onWheel: true }),\n captured: keyOf({ onWheelCapture: true })\n }\n }\n};\n\nvar topLevelEventsToDispatchConfig = {\n topAbort: eventTypes.abort,\n topBlur: eventTypes.blur,\n topCanPlay: eventTypes.canPlay,\n topCanPlayThrough: eventTypes.canPlayThrough,\n topClick: eventTypes.click,\n topContextMenu: eventTypes.contextMenu,\n topCopy: eventTypes.copy,\n topCut: eventTypes.cut,\n topDoubleClick: eventTypes.doubleClick,\n topDrag: eventTypes.drag,\n topDragEnd: eventTypes.dragEnd,\n topDragEnter: eventTypes.dragEnter,\n topDragExit: eventTypes.dragExit,\n topDragLeave: eventTypes.dragLeave,\n topDragOver: eventTypes.dragOver,\n topDragStart: eventTypes.dragStart,\n topDrop: eventTypes.drop,\n topDurationChange: eventTypes.durationChange,\n topEmptied: eventTypes.emptied,\n topEncrypted: eventTypes.encrypted,\n topEnded: eventTypes.ended,\n topError: eventTypes.error,\n topFocus: eventTypes.focus,\n topInput: eventTypes.input,\n topKeyDown: eventTypes.keyDown,\n topKeyPress: eventTypes.keyPress,\n topKeyUp: eventTypes.keyUp,\n topLoad: eventTypes.load,\n topLoadedData: eventTypes.loadedData,\n topLoadedMetadata: eventTypes.loadedMetadata,\n topLoadStart: eventTypes.loadStart,\n topMouseDown: eventTypes.mouseDown,\n topMouseMove: eventTypes.mouseMove,\n topMouseOut: eventTypes.mouseOut,\n topMouseOver: eventTypes.mouseOver,\n topMouseUp: eventTypes.mouseUp,\n topPaste: eventTypes.paste,\n topPause: eventTypes.pause,\n topPlay: eventTypes.play,\n topPlaying: eventTypes.playing,\n topProgress: eventTypes.progress,\n topRateChange: eventTypes.rateChange,\n topReset: eventTypes.reset,\n topScroll: eventTypes.scroll,\n topSeeked: eventTypes.seeked,\n topSeeking: eventTypes.seeking,\n topStalled: eventTypes.stalled,\n topSubmit: eventTypes.submit,\n topSuspend: eventTypes.suspend,\n topTimeUpdate: eventTypes.timeUpdate,\n topTouchCancel: eventTypes.touchCancel,\n topTouchEnd: eventTypes.touchEnd,\n topTouchMove: eventTypes.touchMove,\n topTouchStart: eventTypes.touchStart,\n topVolumeChange: eventTypes.volumeChange,\n topWaiting: eventTypes.waiting,\n topWheel: eventTypes.wheel\n};\n\nfor (var type in topLevelEventsToDispatchConfig) {\n topLevelEventsToDispatchConfig[type].dependencies = [type];\n}\n\nvar ON_CLICK_KEY = keyOf({ onClick: null });\nvar onClickListeners = {};\n\nvar SimpleEventPlugin = {\n\n eventTypes: eventTypes,\n\n /**\n * @param {string} topLevelType Record from `EventConstants`.\n * @param {DOMEventTarget} topLevelTarget The listening component root node.\n * @param {string} topLevelTargetID ID of `topLevelTarget`.\n * @param {object} nativeEvent Native browser event.\n * @return {*} An accumulation of synthetic events.\n * @see {EventPluginHub.extractEvents}\n */\n extractEvents: function (topLevelType, topLevelTarget, topLevelTargetID, nativeEvent, nativeEventTarget) {\n var dispatchConfig = topLevelEventsToDispatchConfig[topLevelType];\n if (!dispatchConfig) {\n return null;\n }\n var EventConstructor;\n switch (topLevelType) {\n case topLevelTypes.topAbort:\n case topLevelTypes.topCanPlay:\n case topLevelTypes.topCanPlayThrough:\n case topLevelTypes.topDurationChange:\n case topLevelTypes.topEmptied:\n case topLevelTypes.topEncrypted:\n case topLevelTypes.topEnded:\n case topLevelTypes.topError:\n case topLevelTypes.topInput:\n case topLevelTypes.topLoad:\n case topLevelTypes.topLoadedData:\n case topLevelTypes.topLoadedMetadata:\n case topLevelTypes.topLoadStart:\n case topLevelTypes.topPause:\n case topLevelTypes.topPlay:\n case topLevelTypes.topPlaying:\n case topLevelTypes.topProgress:\n case topLevelTypes.topRateChange:\n case topLevelTypes.topReset:\n case topLevelTypes.topSeeked:\n case topLevelTypes.topSeeking:\n case topLevelTypes.topStalled:\n case topLevelTypes.topSubmit:\n case topLevelTypes.topSuspend:\n case topLevelTypes.topTimeUpdate:\n case topLevelTypes.topVolumeChange:\n case topLevelTypes.topWaiting:\n // HTML Events\n // @see http://www.w3.org/TR/html5/index.html#events-0\n EventConstructor = SyntheticEvent;\n break;\n case topLevelTypes.topKeyPress:\n // FireFox creates a keypress event for function keys too. This removes\n // the unwanted keypress events. Enter is however both printable and\n // non-printable. One would expect Tab to be as well (but it isn't).\n if (getEventCharCode(nativeEvent) === 0) {\n return null;\n }\n /* falls through */\n case topLevelTypes.topKeyDown:\n case topLevelTypes.topKeyUp:\n EventConstructor = SyntheticKeyboardEvent;\n break;\n case topLevelTypes.topBlur:\n case topLevelTypes.topFocus:\n EventConstructor = SyntheticFocusEvent;\n break;\n case topLevelTypes.topClick:\n // Firefox creates a click event on right mouse clicks. This removes the\n // unwanted click events.\n if (nativeEvent.button === 2) {\n return null;\n }\n /* falls through */\n case topLevelTypes.topContextMenu:\n case topLevelTypes.topDoubleClick:\n case topLevelTypes.topMouseDown:\n case topLevelTypes.topMouseMove:\n case topLevelTypes.topMouseOut:\n case topLevelTypes.topMouseOver:\n case topLevelTypes.topMouseUp:\n EventConstructor = SyntheticMouseEvent;\n break;\n case topLevelTypes.topDrag:\n case topLevelTypes.topDragEnd:\n case topLevelTypes.topDragEnter:\n case topLevelTypes.topDragExit:\n case topLevelTypes.topDragLeave:\n case topLevelTypes.topDragOver:\n case topLevelTypes.topDragStart:\n case topLevelTypes.topDrop:\n EventConstructor = SyntheticDragEvent;\n break;\n case topLevelTypes.topTouchCancel:\n case topLevelTypes.topTouchEnd:\n case topLevelTypes.topTouchMove:\n case topLevelTypes.topTouchStart:\n EventConstructor = SyntheticTouchEvent;\n break;\n case topLevelTypes.topScroll:\n EventConstructor = SyntheticUIEvent;\n break;\n case topLevelTypes.topWheel:\n EventConstructor = SyntheticWheelEvent;\n break;\n case topLevelTypes.topCopy:\n case topLevelTypes.topCut:\n case topLevelTypes.topPaste:\n EventConstructor = SyntheticClipboardEvent;\n break;\n }\n !EventConstructor ? process.env.NODE_ENV !== 'production' ? invariant(false, 'SimpleEventPlugin: Unhandled event type, `%s`.', topLevelType) : invariant(false) : undefined;\n var event = EventConstructor.getPooled(dispatchConfig, topLevelTargetID, nativeEvent, nativeEventTarget);\n EventPropagators.accumulateTwoPhaseDispatches(event);\n return event;\n },\n\n didPutListener: function (id, registrationName, listener) {\n // Mobile Safari does not fire properly bubble click events on\n // non-interactive elements, which means delegated click listeners do not\n // fire. The workaround for this bug involves attaching an empty click\n // listener on the target node.\n if (registrationName === ON_CLICK_KEY) {\n var node = ReactMount.getNode(id);\n if (!onClickListeners[id]) {\n onClickListeners[id] = EventListener.listen(node, 'click', emptyFunction);\n }\n }\n },\n\n willDeleteListener: function (id, registrationName) {\n if (registrationName === ON_CLICK_KEY) {\n onClickListeners[id].remove();\n delete onClickListeners[id];\n }\n }\n\n};\n\nmodule.exports = SimpleEventPlugin;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/SimpleEventPlugin.js\n **/","/**\n * Copyright 2013-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 * @providesModule SyntheticClipboardEvent\n * @typechecks static-only\n */\n\n'use strict';\n\nvar SyntheticEvent = require('./SyntheticEvent');\n\n/**\n * @interface Event\n * @see http://www.w3.org/TR/clipboard-apis/\n */\nvar ClipboardEventInterface = {\n clipboardData: function (event) {\n return 'clipboardData' in event ? event.clipboardData : window.clipboardData;\n }\n};\n\n/**\n * @param {object} dispatchConfig Configuration used to dispatch this event.\n * @param {string} dispatchMarker Marker identifying the event target.\n * @param {object} nativeEvent Native browser event.\n * @extends {SyntheticUIEvent}\n */\nfunction SyntheticClipboardEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) {\n SyntheticEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);\n}\n\nSyntheticEvent.augmentClass(SyntheticClipboardEvent, ClipboardEventInterface);\n\nmodule.exports = SyntheticClipboardEvent;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/SyntheticClipboardEvent.js\n **/","/**\n * Copyright 2013-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 * @providesModule SyntheticFocusEvent\n * @typechecks static-only\n */\n\n'use strict';\n\nvar SyntheticUIEvent = require('./SyntheticUIEvent');\n\n/**\n * @interface FocusEvent\n * @see http://www.w3.org/TR/DOM-Level-3-Events/\n */\nvar FocusEventInterface = {\n relatedTarget: null\n};\n\n/**\n * @param {object} dispatchConfig Configuration used to dispatch this event.\n * @param {string} dispatchMarker Marker identifying the event target.\n * @param {object} nativeEvent Native browser event.\n * @extends {SyntheticUIEvent}\n */\nfunction SyntheticFocusEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) {\n SyntheticUIEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);\n}\n\nSyntheticUIEvent.augmentClass(SyntheticFocusEvent, FocusEventInterface);\n\nmodule.exports = SyntheticFocusEvent;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/SyntheticFocusEvent.js\n **/","/**\n * Copyright 2013-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 * @providesModule SyntheticKeyboardEvent\n * @typechecks static-only\n */\n\n'use strict';\n\nvar SyntheticUIEvent = require('./SyntheticUIEvent');\n\nvar getEventCharCode = require('./getEventCharCode');\nvar getEventKey = require('./getEventKey');\nvar getEventModifierState = require('./getEventModifierState');\n\n/**\n * @interface KeyboardEvent\n * @see http://www.w3.org/TR/DOM-Level-3-Events/\n */\nvar KeyboardEventInterface = {\n key: getEventKey,\n location: null,\n ctrlKey: null,\n shiftKey: null,\n altKey: null,\n metaKey: null,\n repeat: null,\n locale: null,\n getModifierState: getEventModifierState,\n // Legacy Interface\n charCode: function (event) {\n // `charCode` is the result of a KeyPress event and represents the value of\n // the actual printable character.\n\n // KeyPress is deprecated, but its replacement is not yet final and not\n // implemented in any major browser. Only KeyPress has charCode.\n if (event.type === 'keypress') {\n return getEventCharCode(event);\n }\n return 0;\n },\n keyCode: function (event) {\n // `keyCode` is the result of a KeyDown/Up event and represents the value of\n // physical keyboard key.\n\n // The actual meaning of the value depends on the users' keyboard layout\n // which cannot be detected. Assuming that it is a US keyboard layout\n // provides a surprisingly accurate mapping for US and European users.\n // Due to this, it is left to the user to implement at this time.\n if (event.type === 'keydown' || event.type === 'keyup') {\n return event.keyCode;\n }\n return 0;\n },\n which: function (event) {\n // `which` is an alias for either `keyCode` or `charCode` depending on the\n // type of the event.\n if (event.type === 'keypress') {\n return getEventCharCode(event);\n }\n if (event.type === 'keydown' || event.type === 'keyup') {\n return event.keyCode;\n }\n return 0;\n }\n};\n\n/**\n * @param {object} dispatchConfig Configuration used to dispatch this event.\n * @param {string} dispatchMarker Marker identifying the event target.\n * @param {object} nativeEvent Native browser event.\n * @extends {SyntheticUIEvent}\n */\nfunction SyntheticKeyboardEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) {\n SyntheticUIEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);\n}\n\nSyntheticUIEvent.augmentClass(SyntheticKeyboardEvent, KeyboardEventInterface);\n\nmodule.exports = SyntheticKeyboardEvent;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/SyntheticKeyboardEvent.js\n **/","/**\n * Copyright 2013-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 * @providesModule getEventCharCode\n * @typechecks static-only\n */\n\n'use strict';\n\n/**\n * `charCode` represents the actual \"character code\" and is safe to use with\n * `String.fromCharCode`. As such, only keys that correspond to printable\n * characters produce a valid `charCode`, the only exception to this is Enter.\n * The Tab-key is considered non-printable and does not have a `charCode`,\n * presumably because it does not produce a tab-character in browsers.\n *\n * @param {object} nativeEvent Native browser event.\n * @return {number} Normalized `charCode` property.\n */\nfunction getEventCharCode(nativeEvent) {\n var charCode;\n var keyCode = nativeEvent.keyCode;\n\n if ('charCode' in nativeEvent) {\n charCode = nativeEvent.charCode;\n\n // FF does not set `charCode` for the Enter-key, check against `keyCode`.\n if (charCode === 0 && keyCode === 13) {\n charCode = 13;\n }\n } else {\n // IE8 does not implement `charCode`, but `keyCode` has the correct value.\n charCode = keyCode;\n }\n\n // Some non-printable keys are reported in `charCode`/`keyCode`, discard them.\n // Must not discard the (non-)printable Enter-key.\n if (charCode >= 32 || charCode === 13) {\n return charCode;\n }\n\n return 0;\n}\n\nmodule.exports = getEventCharCode;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/getEventCharCode.js\n **/","/**\n * Copyright 2013-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 * @providesModule getEventKey\n * @typechecks static-only\n */\n\n'use strict';\n\nvar getEventCharCode = require('./getEventCharCode');\n\n/**\n * Normalization of deprecated HTML5 `key` values\n * @see https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent#Key_names\n */\nvar normalizeKey = {\n 'Esc': 'Escape',\n 'Spacebar': ' ',\n 'Left': 'ArrowLeft',\n 'Up': 'ArrowUp',\n 'Right': 'ArrowRight',\n 'Down': 'ArrowDown',\n 'Del': 'Delete',\n 'Win': 'OS',\n 'Menu': 'ContextMenu',\n 'Apps': 'ContextMenu',\n 'Scroll': 'ScrollLock',\n 'MozPrintableKey': 'Unidentified'\n};\n\n/**\n * Translation from legacy `keyCode` to HTML5 `key`\n * Only special keys supported, all others depend on keyboard layout or browser\n * @see https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent#Key_names\n */\nvar translateToKey = {\n 8: 'Backspace',\n 9: 'Tab',\n 12: 'Clear',\n 13: 'Enter',\n 16: 'Shift',\n 17: 'Control',\n 18: 'Alt',\n 19: 'Pause',\n 20: 'CapsLock',\n 27: 'Escape',\n 32: ' ',\n 33: 'PageUp',\n 34: 'PageDown',\n 35: 'End',\n 36: 'Home',\n 37: 'ArrowLeft',\n 38: 'ArrowUp',\n 39: 'ArrowRight',\n 40: 'ArrowDown',\n 45: 'Insert',\n 46: 'Delete',\n 112: 'F1', 113: 'F2', 114: 'F3', 115: 'F4', 116: 'F5', 117: 'F6',\n 118: 'F7', 119: 'F8', 120: 'F9', 121: 'F10', 122: 'F11', 123: 'F12',\n 144: 'NumLock',\n 145: 'ScrollLock',\n 224: 'Meta'\n};\n\n/**\n * @param {object} nativeEvent Native browser event.\n * @return {string} Normalized `key` property.\n */\nfunction getEventKey(nativeEvent) {\n if (nativeEvent.key) {\n // Normalize inconsistent values reported by browsers due to\n // implementations of a working draft specification.\n\n // FireFox implements `key` but returns `MozPrintableKey` for all\n // printable characters (normalized to `Unidentified`), ignore it.\n var key = normalizeKey[nativeEvent.key] || nativeEvent.key;\n if (key !== 'Unidentified') {\n return key;\n }\n }\n\n // Browser does not implement `key`, polyfill as much of it as we can.\n if (nativeEvent.type === 'keypress') {\n var charCode = getEventCharCode(nativeEvent);\n\n // The enter-key is technically both printable and non-printable and can\n // thus be captured by `keypress`, no other non-printable key should.\n return charCode === 13 ? 'Enter' : String.fromCharCode(charCode);\n }\n if (nativeEvent.type === 'keydown' || nativeEvent.type === 'keyup') {\n // While user keyboard layout determines the actual meaning of each\n // `keyCode` value, almost all function keys have a universal value.\n return translateToKey[nativeEvent.keyCode] || 'Unidentified';\n }\n return '';\n}\n\nmodule.exports = getEventKey;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/getEventKey.js\n **/","/**\n * Copyright 2013-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 * @providesModule SyntheticDragEvent\n * @typechecks static-only\n */\n\n'use strict';\n\nvar SyntheticMouseEvent = require('./SyntheticMouseEvent');\n\n/**\n * @interface DragEvent\n * @see http://www.w3.org/TR/DOM-Level-3-Events/\n */\nvar DragEventInterface = {\n dataTransfer: null\n};\n\n/**\n * @param {object} dispatchConfig Configuration used to dispatch this event.\n * @param {string} dispatchMarker Marker identifying the event target.\n * @param {object} nativeEvent Native browser event.\n * @extends {SyntheticUIEvent}\n */\nfunction SyntheticDragEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) {\n SyntheticMouseEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);\n}\n\nSyntheticMouseEvent.augmentClass(SyntheticDragEvent, DragEventInterface);\n\nmodule.exports = SyntheticDragEvent;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/SyntheticDragEvent.js\n **/","/**\n * Copyright 2013-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 * @providesModule SyntheticTouchEvent\n * @typechecks static-only\n */\n\n'use strict';\n\nvar SyntheticUIEvent = require('./SyntheticUIEvent');\n\nvar getEventModifierState = require('./getEventModifierState');\n\n/**\n * @interface TouchEvent\n * @see http://www.w3.org/TR/touch-events/\n */\nvar TouchEventInterface = {\n touches: null,\n targetTouches: null,\n changedTouches: null,\n altKey: null,\n metaKey: null,\n ctrlKey: null,\n shiftKey: null,\n getModifierState: getEventModifierState\n};\n\n/**\n * @param {object} dispatchConfig Configuration used to dispatch this event.\n * @param {string} dispatchMarker Marker identifying the event target.\n * @param {object} nativeEvent Native browser event.\n * @extends {SyntheticUIEvent}\n */\nfunction SyntheticTouchEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) {\n SyntheticUIEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);\n}\n\nSyntheticUIEvent.augmentClass(SyntheticTouchEvent, TouchEventInterface);\n\nmodule.exports = SyntheticTouchEvent;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/SyntheticTouchEvent.js\n **/","/**\n * Copyright 2013-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 * @providesModule SyntheticWheelEvent\n * @typechecks static-only\n */\n\n'use strict';\n\nvar SyntheticMouseEvent = require('./SyntheticMouseEvent');\n\n/**\n * @interface WheelEvent\n * @see http://www.w3.org/TR/DOM-Level-3-Events/\n */\nvar WheelEventInterface = {\n deltaX: function (event) {\n return 'deltaX' in event ? event.deltaX :\n // Fallback to `wheelDeltaX` for Webkit and normalize (right is positive).\n 'wheelDeltaX' in event ? -event.wheelDeltaX : 0;\n },\n deltaY: function (event) {\n return 'deltaY' in event ? event.deltaY :\n // Fallback to `wheelDeltaY` for Webkit and normalize (down is positive).\n 'wheelDeltaY' in event ? -event.wheelDeltaY :\n // Fallback to `wheelDelta` for IE<9 and normalize (down is positive).\n 'wheelDelta' in event ? -event.wheelDelta : 0;\n },\n deltaZ: null,\n\n // Browsers without \"deltaMode\" is reporting in raw wheel delta where one\n // notch on the scroll is always +/- 120, roughly equivalent to pixels.\n // A good approximation of DOM_DELTA_LINE (1) is 5% of viewport size or\n // ~40 pixels, for DOM_DELTA_SCREEN (2) it is 87.5% of viewport size.\n deltaMode: null\n};\n\n/**\n * @param {object} dispatchConfig Configuration used to dispatch this event.\n * @param {string} dispatchMarker Marker identifying the event target.\n * @param {object} nativeEvent Native browser event.\n * @extends {SyntheticMouseEvent}\n */\nfunction SyntheticWheelEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) {\n SyntheticMouseEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);\n}\n\nSyntheticMouseEvent.augmentClass(SyntheticWheelEvent, WheelEventInterface);\n\nmodule.exports = SyntheticWheelEvent;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/SyntheticWheelEvent.js\n **/","/**\n * Copyright 2013-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 * @providesModule SVGDOMPropertyConfig\n */\n\n'use strict';\n\nvar DOMProperty = require('./DOMProperty');\n\nvar MUST_USE_ATTRIBUTE = DOMProperty.injection.MUST_USE_ATTRIBUTE;\n\nvar NS = {\n xlink: 'http://www.w3.org/1999/xlink',\n xml: 'http://www.w3.org/XML/1998/namespace'\n};\n\nvar SVGDOMPropertyConfig = {\n Properties: {\n clipPath: MUST_USE_ATTRIBUTE,\n cx: MUST_USE_ATTRIBUTE,\n cy: MUST_USE_ATTRIBUTE,\n d: MUST_USE_ATTRIBUTE,\n dx: MUST_USE_ATTRIBUTE,\n dy: MUST_USE_ATTRIBUTE,\n fill: MUST_USE_ATTRIBUTE,\n fillOpacity: MUST_USE_ATTRIBUTE,\n fontFamily: MUST_USE_ATTRIBUTE,\n fontSize: MUST_USE_ATTRIBUTE,\n fx: MUST_USE_ATTRIBUTE,\n fy: MUST_USE_ATTRIBUTE,\n gradientTransform: MUST_USE_ATTRIBUTE,\n gradientUnits: MUST_USE_ATTRIBUTE,\n markerEnd: MUST_USE_ATTRIBUTE,\n markerMid: MUST_USE_ATTRIBUTE,\n markerStart: MUST_USE_ATTRIBUTE,\n offset: MUST_USE_ATTRIBUTE,\n opacity: MUST_USE_ATTRIBUTE,\n patternContentUnits: MUST_USE_ATTRIBUTE,\n patternUnits: MUST_USE_ATTRIBUTE,\n points: MUST_USE_ATTRIBUTE,\n preserveAspectRatio: MUST_USE_ATTRIBUTE,\n r: MUST_USE_ATTRIBUTE,\n rx: MUST_USE_ATTRIBUTE,\n ry: MUST_USE_ATTRIBUTE,\n spreadMethod: MUST_USE_ATTRIBUTE,\n stopColor: MUST_USE_ATTRIBUTE,\n stopOpacity: MUST_USE_ATTRIBUTE,\n stroke: MUST_USE_ATTRIBUTE,\n strokeDasharray: MUST_USE_ATTRIBUTE,\n strokeLinecap: MUST_USE_ATTRIBUTE,\n strokeOpacity: MUST_USE_ATTRIBUTE,\n strokeWidth: MUST_USE_ATTRIBUTE,\n textAnchor: MUST_USE_ATTRIBUTE,\n transform: MUST_USE_ATTRIBUTE,\n version: MUST_USE_ATTRIBUTE,\n viewBox: MUST_USE_ATTRIBUTE,\n x1: MUST_USE_ATTRIBUTE,\n x2: MUST_USE_ATTRIBUTE,\n x: MUST_USE_ATTRIBUTE,\n xlinkActuate: MUST_USE_ATTRIBUTE,\n xlinkArcrole: MUST_USE_ATTRIBUTE,\n xlinkHref: MUST_USE_ATTRIBUTE,\n xlinkRole: MUST_USE_ATTRIBUTE,\n xlinkShow: MUST_USE_ATTRIBUTE,\n xlinkTitle: MUST_USE_ATTRIBUTE,\n xlinkType: MUST_USE_ATTRIBUTE,\n xmlBase: MUST_USE_ATTRIBUTE,\n xmlLang: MUST_USE_ATTRIBUTE,\n xmlSpace: MUST_USE_ATTRIBUTE,\n y1: MUST_USE_ATTRIBUTE,\n y2: MUST_USE_ATTRIBUTE,\n y: MUST_USE_ATTRIBUTE\n },\n DOMAttributeNamespaces: {\n xlinkActuate: NS.xlink,\n xlinkArcrole: NS.xlink,\n xlinkHref: NS.xlink,\n xlinkRole: NS.xlink,\n xlinkShow: NS.xlink,\n xlinkTitle: NS.xlink,\n xlinkType: NS.xlink,\n xmlBase: NS.xml,\n xmlLang: NS.xml,\n xmlSpace: NS.xml\n },\n DOMAttributeNames: {\n clipPath: 'clip-path',\n fillOpacity: 'fill-opacity',\n fontFamily: 'font-family',\n fontSize: 'font-size',\n gradientTransform: 'gradientTransform',\n gradientUnits: 'gradientUnits',\n markerEnd: 'marker-end',\n markerMid: 'marker-mid',\n markerStart: 'marker-start',\n patternContentUnits: 'patternContentUnits',\n patternUnits: 'patternUnits',\n preserveAspectRatio: 'preserveAspectRatio',\n spreadMethod: 'spreadMethod',\n stopColor: 'stop-color',\n stopOpacity: 'stop-opacity',\n strokeDasharray: 'stroke-dasharray',\n strokeLinecap: 'stroke-linecap',\n strokeOpacity: 'stroke-opacity',\n strokeWidth: 'stroke-width',\n textAnchor: 'text-anchor',\n viewBox: 'viewBox',\n xlinkActuate: 'xlink:actuate',\n xlinkArcrole: 'xlink:arcrole',\n xlinkHref: 'xlink:href',\n xlinkRole: 'xlink:role',\n xlinkShow: 'xlink:show',\n xlinkTitle: 'xlink:title',\n xlinkType: 'xlink:type',\n xmlBase: 'xml:base',\n xmlLang: 'xml:lang',\n xmlSpace: 'xml:space'\n }\n};\n\nmodule.exports = SVGDOMPropertyConfig;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/SVGDOMPropertyConfig.js\n **/","/**\n * Copyright 2013-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 * @providesModule ReactDefaultPerf\n * @typechecks static-only\n */\n\n'use strict';\n\nvar DOMProperty = require('./DOMProperty');\nvar ReactDefaultPerfAnalysis = require('./ReactDefaultPerfAnalysis');\nvar ReactMount = require('./ReactMount');\nvar ReactPerf = require('./ReactPerf');\n\nvar performanceNow = require('fbjs/lib/performanceNow');\n\nfunction roundFloat(val) {\n return Math.floor(val * 100) / 100;\n}\n\nfunction addValue(obj, key, val) {\n obj[key] = (obj[key] || 0) + val;\n}\n\nvar ReactDefaultPerf = {\n _allMeasurements: [], // last item in the list is the current one\n _mountStack: [0],\n _injected: false,\n\n start: function () {\n if (!ReactDefaultPerf._injected) {\n ReactPerf.injection.injectMeasure(ReactDefaultPerf.measure);\n }\n\n ReactDefaultPerf._allMeasurements.length = 0;\n ReactPerf.enableMeasure = true;\n },\n\n stop: function () {\n ReactPerf.enableMeasure = false;\n },\n\n getLastMeasurements: function () {\n return ReactDefaultPerf._allMeasurements;\n },\n\n printExclusive: function (measurements) {\n measurements = measurements || ReactDefaultPerf._allMeasurements;\n var summary = ReactDefaultPerfAnalysis.getExclusiveSummary(measurements);\n console.table(summary.map(function (item) {\n return {\n 'Component class name': item.componentName,\n 'Total inclusive time (ms)': roundFloat(item.inclusive),\n 'Exclusive mount time (ms)': roundFloat(item.exclusive),\n 'Exclusive render time (ms)': roundFloat(item.render),\n 'Mount time per instance (ms)': roundFloat(item.exclusive / item.count),\n 'Render time per instance (ms)': roundFloat(item.render / item.count),\n 'Instances': item.count\n };\n }));\n // TODO: ReactDefaultPerfAnalysis.getTotalTime() does not return the correct\n // number.\n },\n\n printInclusive: function (measurements) {\n measurements = measurements || ReactDefaultPerf._allMeasurements;\n var summary = ReactDefaultPerfAnalysis.getInclusiveSummary(measurements);\n console.table(summary.map(function (item) {\n return {\n 'Owner > component': item.componentName,\n 'Inclusive time (ms)': roundFloat(item.time),\n 'Instances': item.count\n };\n }));\n console.log('Total time:', ReactDefaultPerfAnalysis.getTotalTime(measurements).toFixed(2) + ' ms');\n },\n\n getMeasurementsSummaryMap: function (measurements) {\n var summary = ReactDefaultPerfAnalysis.getInclusiveSummary(measurements, true);\n return summary.map(function (item) {\n return {\n 'Owner > component': item.componentName,\n 'Wasted time (ms)': item.time,\n 'Instances': item.count\n };\n });\n },\n\n printWasted: function (measurements) {\n measurements = measurements || ReactDefaultPerf._allMeasurements;\n console.table(ReactDefaultPerf.getMeasurementsSummaryMap(measurements));\n console.log('Total time:', ReactDefaultPerfAnalysis.getTotalTime(measurements).toFixed(2) + ' ms');\n },\n\n printDOM: function (measurements) {\n measurements = measurements || ReactDefaultPerf._allMeasurements;\n var summary = ReactDefaultPerfAnalysis.getDOMSummary(measurements);\n console.table(summary.map(function (item) {\n var result = {};\n result[DOMProperty.ID_ATTRIBUTE_NAME] = item.id;\n result.type = item.type;\n result.args = JSON.stringify(item.args);\n return result;\n }));\n console.log('Total time:', ReactDefaultPerfAnalysis.getTotalTime(measurements).toFixed(2) + ' ms');\n },\n\n _recordWrite: function (id, fnName, totalTime, args) {\n // TODO: totalTime isn't that useful since it doesn't count paints/reflows\n var writes = ReactDefaultPerf._allMeasurements[ReactDefaultPerf._allMeasurements.length - 1].writes;\n writes[id] = writes[id] || [];\n writes[id].push({\n type: fnName,\n time: totalTime,\n args: args\n });\n },\n\n measure: function (moduleName, fnName, func) {\n return function () {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var totalTime;\n var rv;\n var start;\n\n if (fnName === '_renderNewRootComponent' || fnName === 'flushBatchedUpdates') {\n // A \"measurement\" is a set of metrics recorded for each flush. We want\n // to group the metrics for a given flush together so we can look at the\n // components that rendered and the DOM operations that actually\n // happened to determine the amount of \"wasted work\" performed.\n ReactDefaultPerf._allMeasurements.push({\n exclusive: {},\n inclusive: {},\n render: {},\n counts: {},\n writes: {},\n displayNames: {},\n totalTime: 0,\n created: {}\n });\n start = performanceNow();\n rv = func.apply(this, args);\n ReactDefaultPerf._allMeasurements[ReactDefaultPerf._allMeasurements.length - 1].totalTime = performanceNow() - start;\n return rv;\n } else if (fnName === '_mountImageIntoNode' || moduleName === 'ReactBrowserEventEmitter' || moduleName === 'ReactDOMIDOperations' || moduleName === 'CSSPropertyOperations' || moduleName === 'DOMChildrenOperations' || moduleName === 'DOMPropertyOperations') {\n start = performanceNow();\n rv = func.apply(this, args);\n totalTime = performanceNow() - start;\n\n if (fnName === '_mountImageIntoNode') {\n var mountID = ReactMount.getID(args[1]);\n ReactDefaultPerf._recordWrite(mountID, fnName, totalTime, args[0]);\n } else if (fnName === 'dangerouslyProcessChildrenUpdates') {\n // special format\n args[0].forEach(function (update) {\n var writeArgs = {};\n if (update.fromIndex !== null) {\n writeArgs.fromIndex = update.fromIndex;\n }\n if (update.toIndex !== null) {\n writeArgs.toIndex = update.toIndex;\n }\n if (update.textContent !== null) {\n writeArgs.textContent = update.textContent;\n }\n if (update.markupIndex !== null) {\n writeArgs.markup = args[1][update.markupIndex];\n }\n ReactDefaultPerf._recordWrite(update.parentID, update.type, totalTime, writeArgs);\n });\n } else {\n // basic format\n var id = args[0];\n if (typeof id === 'object') {\n id = ReactMount.getID(args[0]);\n }\n ReactDefaultPerf._recordWrite(id, fnName, totalTime, Array.prototype.slice.call(args, 1));\n }\n return rv;\n } else if (moduleName === 'ReactCompositeComponent' && (fnName === 'mountComponent' || fnName === 'updateComponent' || // TODO: receiveComponent()?\n fnName === '_renderValidatedComponent')) {\n\n if (this._currentElement.type === ReactMount.TopLevelWrapper) {\n return func.apply(this, args);\n }\n\n var rootNodeID = fnName === 'mountComponent' ? args[0] : this._rootNodeID;\n var isRender = fnName === '_renderValidatedComponent';\n var isMount = fnName === 'mountComponent';\n\n var mountStack = ReactDefaultPerf._mountStack;\n var entry = ReactDefaultPerf._allMeasurements[ReactDefaultPerf._allMeasurements.length - 1];\n\n if (isRender) {\n addValue(entry.counts, rootNodeID, 1);\n } else if (isMount) {\n entry.created[rootNodeID] = true;\n mountStack.push(0);\n }\n\n start = performanceNow();\n rv = func.apply(this, args);\n totalTime = performanceNow() - start;\n\n if (isRender) {\n addValue(entry.render, rootNodeID, totalTime);\n } else if (isMount) {\n var subMountTime = mountStack.pop();\n mountStack[mountStack.length - 1] += totalTime;\n addValue(entry.exclusive, rootNodeID, totalTime - subMountTime);\n addValue(entry.inclusive, rootNodeID, totalTime);\n } else {\n addValue(entry.inclusive, rootNodeID, totalTime);\n }\n\n entry.displayNames[rootNodeID] = {\n current: this.getName(),\n owner: this._currentElement._owner ? this._currentElement._owner.getName() : '<root>'\n };\n\n return rv;\n } else {\n return func.apply(this, args);\n }\n };\n }\n};\n\nmodule.exports = ReactDefaultPerf;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/ReactDefaultPerf.js\n **/","/**\n * Copyright 2013-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 * @providesModule ReactDefaultPerfAnalysis\n */\n\n'use strict';\n\nvar assign = require('./Object.assign');\n\n// Don't try to save users less than 1.2ms (a number I made up)\nvar DONT_CARE_THRESHOLD = 1.2;\nvar DOM_OPERATION_TYPES = {\n '_mountImageIntoNode': 'set innerHTML',\n INSERT_MARKUP: 'set innerHTML',\n MOVE_EXISTING: 'move',\n REMOVE_NODE: 'remove',\n SET_MARKUP: 'set innerHTML',\n TEXT_CONTENT: 'set textContent',\n 'setValueForProperty': 'update attribute',\n 'setValueForAttribute': 'update attribute',\n 'deleteValueForProperty': 'remove attribute',\n 'dangerouslyReplaceNodeWithMarkupByID': 'replace'\n};\n\nfunction getTotalTime(measurements) {\n // TODO: return number of DOM ops? could be misleading.\n // TODO: measure dropped frames after reconcile?\n // TODO: log total time of each reconcile and the top-level component\n // class that triggered it.\n var totalTime = 0;\n for (var i = 0; i < measurements.length; i++) {\n var measurement = measurements[i];\n totalTime += measurement.totalTime;\n }\n return totalTime;\n}\n\nfunction getDOMSummary(measurements) {\n var items = [];\n measurements.forEach(function (measurement) {\n Object.keys(measurement.writes).forEach(function (id) {\n measurement.writes[id].forEach(function (write) {\n items.push({\n id: id,\n type: DOM_OPERATION_TYPES[write.type] || write.type,\n args: write.args\n });\n });\n });\n });\n return items;\n}\n\nfunction getExclusiveSummary(measurements) {\n var candidates = {};\n var displayName;\n\n for (var i = 0; i < measurements.length; i++) {\n var measurement = measurements[i];\n var allIDs = assign({}, measurement.exclusive, measurement.inclusive);\n\n for (var id in allIDs) {\n displayName = measurement.displayNames[id].current;\n\n candidates[displayName] = candidates[displayName] || {\n componentName: displayName,\n inclusive: 0,\n exclusive: 0,\n render: 0,\n count: 0\n };\n if (measurement.render[id]) {\n candidates[displayName].render += measurement.render[id];\n }\n if (measurement.exclusive[id]) {\n candidates[displayName].exclusive += measurement.exclusive[id];\n }\n if (measurement.inclusive[id]) {\n candidates[displayName].inclusive += measurement.inclusive[id];\n }\n if (measurement.counts[id]) {\n candidates[displayName].count += measurement.counts[id];\n }\n }\n }\n\n // Now make a sorted array with the results.\n var arr = [];\n for (displayName in candidates) {\n if (candidates[displayName].exclusive >= DONT_CARE_THRESHOLD) {\n arr.push(candidates[displayName]);\n }\n }\n\n arr.sort(function (a, b) {\n return b.exclusive - a.exclusive;\n });\n\n return arr;\n}\n\nfunction getInclusiveSummary(measurements, onlyClean) {\n var candidates = {};\n var inclusiveKey;\n\n for (var i = 0; i < measurements.length; i++) {\n var measurement = measurements[i];\n var allIDs = assign({}, measurement.exclusive, measurement.inclusive);\n var cleanComponents;\n\n if (onlyClean) {\n cleanComponents = getUnchangedComponents(measurement);\n }\n\n for (var id in allIDs) {\n if (onlyClean && !cleanComponents[id]) {\n continue;\n }\n\n var displayName = measurement.displayNames[id];\n\n // Inclusive time is not useful for many components without knowing where\n // they are instantiated. So we aggregate inclusive time with both the\n // owner and current displayName as the key.\n inclusiveKey = displayName.owner + ' > ' + displayName.current;\n\n candidates[inclusiveKey] = candidates[inclusiveKey] || {\n componentName: inclusiveKey,\n time: 0,\n count: 0\n };\n\n if (measurement.inclusive[id]) {\n candidates[inclusiveKey].time += measurement.inclusive[id];\n }\n if (measurement.counts[id]) {\n candidates[inclusiveKey].count += measurement.counts[id];\n }\n }\n }\n\n // Now make a sorted array with the results.\n var arr = [];\n for (inclusiveKey in candidates) {\n if (candidates[inclusiveKey].time >= DONT_CARE_THRESHOLD) {\n arr.push(candidates[inclusiveKey]);\n }\n }\n\n arr.sort(function (a, b) {\n return b.time - a.time;\n });\n\n return arr;\n}\n\nfunction getUnchangedComponents(measurement) {\n // For a given reconcile, look at which components did not actually\n // render anything to the DOM and return a mapping of their ID to\n // the amount of time it took to render the entire subtree.\n var cleanComponents = {};\n var dirtyLeafIDs = Object.keys(measurement.writes);\n var allIDs = assign({}, measurement.exclusive, measurement.inclusive);\n\n for (var id in allIDs) {\n var isDirty = false;\n // For each component that rendered, see if a component that triggered\n // a DOM op is in its subtree.\n for (var i = 0; i < dirtyLeafIDs.length; i++) {\n if (dirtyLeafIDs[i].indexOf(id) === 0) {\n isDirty = true;\n break;\n }\n }\n // check if component newly created\n if (measurement.created[id]) {\n isDirty = true;\n }\n if (!isDirty && measurement.counts[id] > 0) {\n cleanComponents[id] = true;\n }\n }\n return cleanComponents;\n}\n\nvar ReactDefaultPerfAnalysis = {\n getExclusiveSummary: getExclusiveSummary,\n getInclusiveSummary: getInclusiveSummary,\n getDOMSummary: getDOMSummary,\n getTotalTime: getTotalTime\n};\n\nmodule.exports = ReactDefaultPerfAnalysis;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/ReactDefaultPerfAnalysis.js\n **/","/**\n * Copyright 2013-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 * @providesModule performanceNow\n * @typechecks\n */\n\n'use strict';\n\nvar performance = require('./performance');\nvar curPerformance = performance;\n\n/**\n * Detect if we can use `window.performance.now()` and gracefully fallback to\n * `Date.now()` if it doesn't exist. We need to support Firefox < 15 for now\n * because of Facebook's testing infrastructure.\n */\nif (!curPerformance || !curPerformance.now) {\n curPerformance = Date;\n}\n\nvar performanceNow = curPerformance.now.bind(curPerformance);\n\nmodule.exports = performanceNow;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/~/fbjs/lib/performanceNow.js\n **/","/**\n * Copyright 2013-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 * @providesModule performance\n * @typechecks\n */\n\n'use strict';\n\nvar ExecutionEnvironment = require('./ExecutionEnvironment');\n\nvar performance;\n\nif (ExecutionEnvironment.canUseDOM) {\n performance = window.performance || window.msPerformance || window.webkitPerformance;\n}\n\nmodule.exports = performance || {};\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/~/fbjs/lib/performance.js\n **/","/**\n * Copyright 2013-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 * @providesModule ReactVersion\n */\n\n'use strict';\n\nmodule.exports = '0.14.0';\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/ReactVersion.js\n **/","/**\n * Copyright 2013-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* @providesModule renderSubtreeIntoContainer\n*/\n\n'use strict';\n\nvar ReactMount = require('./ReactMount');\n\nmodule.exports = ReactMount.renderSubtreeIntoContainer;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/renderSubtreeIntoContainer.js\n **/","/**\n * Copyright 2013-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 * @providesModule ReactDOMServer\n */\n\n'use strict';\n\nvar ReactDefaultInjection = require('./ReactDefaultInjection');\nvar ReactServerRendering = require('./ReactServerRendering');\nvar ReactVersion = require('./ReactVersion');\n\nReactDefaultInjection.inject();\n\nvar ReactDOMServer = {\n renderToString: ReactServerRendering.renderToString,\n renderToStaticMarkup: ReactServerRendering.renderToStaticMarkup,\n version: ReactVersion\n};\n\nmodule.exports = ReactDOMServer;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/ReactDOMServer.js\n **/","/**\n * Copyright 2013-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 * @typechecks static-only\n * @providesModule ReactServerRendering\n */\n'use strict';\n\nvar ReactDefaultBatchingStrategy = require('./ReactDefaultBatchingStrategy');\nvar ReactElement = require('./ReactElement');\nvar ReactInstanceHandles = require('./ReactInstanceHandles');\nvar ReactMarkupChecksum = require('./ReactMarkupChecksum');\nvar ReactServerBatchingStrategy = require('./ReactServerBatchingStrategy');\nvar ReactServerRenderingTransaction = require('./ReactServerRenderingTransaction');\nvar ReactUpdates = require('./ReactUpdates');\n\nvar emptyObject = require('fbjs/lib/emptyObject');\nvar instantiateReactComponent = require('./instantiateReactComponent');\nvar invariant = require('fbjs/lib/invariant');\n\n/**\n * @param {ReactElement} element\n * @return {string} the HTML markup\n */\nfunction renderToString(element) {\n !ReactElement.isValidElement(element) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'renderToString(): You must pass a valid ReactElement.') : invariant(false) : undefined;\n\n var transaction;\n try {\n ReactUpdates.injection.injectBatchingStrategy(ReactServerBatchingStrategy);\n\n var id = ReactInstanceHandles.createReactRootID();\n transaction = ReactServerRenderingTransaction.getPooled(false);\n\n return transaction.perform(function () {\n var componentInstance = instantiateReactComponent(element, null);\n var markup = componentInstance.mountComponent(id, transaction, emptyObject);\n return ReactMarkupChecksum.addChecksumToMarkup(markup);\n }, null);\n } finally {\n ReactServerRenderingTransaction.release(transaction);\n // Revert to the DOM batching strategy since these two renderers\n // currently share these stateful modules.\n ReactUpdates.injection.injectBatchingStrategy(ReactDefaultBatchingStrategy);\n }\n}\n\n/**\n * @param {ReactElement} element\n * @return {string} the HTML markup, without the extra React ID and checksum\n * (for generating static pages)\n */\nfunction renderToStaticMarkup(element) {\n !ReactElement.isValidElement(element) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'renderToStaticMarkup(): You must pass a valid ReactElement.') : invariant(false) : undefined;\n\n var transaction;\n try {\n ReactUpdates.injection.injectBatchingStrategy(ReactServerBatchingStrategy);\n\n var id = ReactInstanceHandles.createReactRootID();\n transaction = ReactServerRenderingTransaction.getPooled(true);\n\n return transaction.perform(function () {\n var componentInstance = instantiateReactComponent(element, null);\n return componentInstance.mountComponent(id, transaction, emptyObject);\n }, null);\n } finally {\n ReactServerRenderingTransaction.release(transaction);\n // Revert to the DOM batching strategy since these two renderers\n // currently share these stateful modules.\n ReactUpdates.injection.injectBatchingStrategy(ReactDefaultBatchingStrategy);\n }\n}\n\nmodule.exports = {\n renderToString: renderToString,\n renderToStaticMarkup: renderToStaticMarkup\n};\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/ReactServerRendering.js\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 * @providesModule ReactServerBatchingStrategy\n * @typechecks\n */\n\n'use strict';\n\nvar ReactServerBatchingStrategy = {\n isBatchingUpdates: false,\n batchedUpdates: function (callback) {\n // Don't do anything here. During the server rendering we don't want to\n // schedule any updates. We will simply ignore them.\n }\n};\n\nmodule.exports = ReactServerBatchingStrategy;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/ReactServerBatchingStrategy.js\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 * @providesModule ReactServerRenderingTransaction\n * @typechecks\n */\n\n'use strict';\n\nvar PooledClass = require('./PooledClass');\nvar CallbackQueue = require('./CallbackQueue');\nvar Transaction = require('./Transaction');\n\nvar assign = require('./Object.assign');\nvar emptyFunction = require('fbjs/lib/emptyFunction');\n\n/**\n * Provides a `CallbackQueue` queue for collecting `onDOMReady` callbacks\n * during the performing of the transaction.\n */\nvar ON_DOM_READY_QUEUEING = {\n /**\n * Initializes the internal `onDOMReady` queue.\n */\n initialize: function () {\n this.reactMountReady.reset();\n },\n\n close: emptyFunction\n};\n\n/**\n * Executed within the scope of the `Transaction` instance. Consider these as\n * being member methods, but with an implied ordering while being isolated from\n * each other.\n */\nvar TRANSACTION_WRAPPERS = [ON_DOM_READY_QUEUEING];\n\n/**\n * @class ReactServerRenderingTransaction\n * @param {boolean} renderToStaticMarkup\n */\nfunction ReactServerRenderingTransaction(renderToStaticMarkup) {\n this.reinitializeTransaction();\n this.renderToStaticMarkup = renderToStaticMarkup;\n this.reactMountReady = CallbackQueue.getPooled(null);\n this.useCreateElement = false;\n}\n\nvar Mixin = {\n /**\n * @see Transaction\n * @abstract\n * @final\n * @return {array} Empty list of operation wrap procedures.\n */\n getTransactionWrappers: function () {\n return TRANSACTION_WRAPPERS;\n },\n\n /**\n * @return {object} The queue to collect `onDOMReady` callbacks with.\n */\n getReactMountReady: function () {\n return this.reactMountReady;\n },\n\n /**\n * `PooledClass` looks for this, and will invoke this before allowing this\n * instance to be reused.\n */\n destructor: function () {\n CallbackQueue.release(this.reactMountReady);\n this.reactMountReady = null;\n }\n};\n\nassign(ReactServerRenderingTransaction.prototype, Transaction.Mixin, Mixin);\n\nPooledClass.addPoolingTo(ReactServerRenderingTransaction);\n\nmodule.exports = ReactServerRenderingTransaction;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/ReactServerRenderingTransaction.js\n **/","/**\n * Copyright 2013-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 * @providesModule ReactIsomorphic\n */\n\n'use strict';\n\nvar ReactChildren = require('./ReactChildren');\nvar ReactComponent = require('./ReactComponent');\nvar ReactClass = require('./ReactClass');\nvar ReactDOMFactories = require('./ReactDOMFactories');\nvar ReactElement = require('./ReactElement');\nvar ReactElementValidator = require('./ReactElementValidator');\nvar ReactPropTypes = require('./ReactPropTypes');\nvar ReactVersion = require('./ReactVersion');\n\nvar assign = require('./Object.assign');\nvar onlyChild = require('./onlyChild');\n\nvar createElement = ReactElement.createElement;\nvar createFactory = ReactElement.createFactory;\nvar cloneElement = ReactElement.cloneElement;\n\nif (process.env.NODE_ENV !== 'production') {\n createElement = ReactElementValidator.createElement;\n createFactory = ReactElementValidator.createFactory;\n cloneElement = ReactElementValidator.cloneElement;\n}\n\nvar React = {\n\n // Modern\n\n Children: {\n map: ReactChildren.map,\n forEach: ReactChildren.forEach,\n count: ReactChildren.count,\n toArray: ReactChildren.toArray,\n only: onlyChild\n },\n\n Component: ReactComponent,\n\n createElement: createElement,\n cloneElement: cloneElement,\n isValidElement: ReactElement.isValidElement,\n\n // Classic\n\n PropTypes: ReactPropTypes,\n createClass: ReactClass.createClass,\n createFactory: createFactory,\n createMixin: function (mixin) {\n // Currently a noop. Will be used to validate and trace mixins.\n return mixin;\n },\n\n // This looks DOM specific but these are actually isomorphic helpers\n // since they are just generating DOM strings.\n DOM: ReactDOMFactories,\n\n version: ReactVersion,\n\n // Hook for JSX spread, don't use this for anything else.\n __spread: assign\n};\n\nmodule.exports = React;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/ReactIsomorphic.js\n **/","/**\n * Copyright 2013-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 * @providesModule ReactDOMFactories\n * @typechecks static-only\n */\n\n'use strict';\n\nvar ReactElement = require('./ReactElement');\nvar ReactElementValidator = require('./ReactElementValidator');\n\nvar mapObject = require('fbjs/lib/mapObject');\n\n/**\n * Create a factory that creates HTML tag elements.\n *\n * @param {string} tag Tag name (e.g. `div`).\n * @private\n */\nfunction createDOMFactory(tag) {\n if (process.env.NODE_ENV !== 'production') {\n return ReactElementValidator.createFactory(tag);\n }\n return ReactElement.createFactory(tag);\n}\n\n/**\n * Creates a mapping from supported HTML tags to `ReactDOMComponent` classes.\n * This is also accessible via `React.DOM`.\n *\n * @public\n */\nvar ReactDOMFactories = mapObject({\n a: 'a',\n abbr: 'abbr',\n address: 'address',\n area: 'area',\n article: 'article',\n aside: 'aside',\n audio: 'audio',\n b: 'b',\n base: 'base',\n bdi: 'bdi',\n bdo: 'bdo',\n big: 'big',\n blockquote: 'blockquote',\n body: 'body',\n br: 'br',\n button: 'button',\n canvas: 'canvas',\n caption: 'caption',\n cite: 'cite',\n code: 'code',\n col: 'col',\n colgroup: 'colgroup',\n data: 'data',\n datalist: 'datalist',\n dd: 'dd',\n del: 'del',\n details: 'details',\n dfn: 'dfn',\n dialog: 'dialog',\n div: 'div',\n dl: 'dl',\n dt: 'dt',\n em: 'em',\n embed: 'embed',\n fieldset: 'fieldset',\n figcaption: 'figcaption',\n figure: 'figure',\n footer: 'footer',\n form: 'form',\n h1: 'h1',\n h2: 'h2',\n h3: 'h3',\n h4: 'h4',\n h5: 'h5',\n h6: 'h6',\n head: 'head',\n header: 'header',\n hgroup: 'hgroup',\n hr: 'hr',\n html: 'html',\n i: 'i',\n iframe: 'iframe',\n img: 'img',\n input: 'input',\n ins: 'ins',\n kbd: 'kbd',\n keygen: 'keygen',\n label: 'label',\n legend: 'legend',\n li: 'li',\n link: 'link',\n main: 'main',\n map: 'map',\n mark: 'mark',\n menu: 'menu',\n menuitem: 'menuitem',\n meta: 'meta',\n meter: 'meter',\n nav: 'nav',\n noscript: 'noscript',\n object: 'object',\n ol: 'ol',\n optgroup: 'optgroup',\n option: 'option',\n output: 'output',\n p: 'p',\n param: 'param',\n picture: 'picture',\n pre: 'pre',\n progress: 'progress',\n q: 'q',\n rp: 'rp',\n rt: 'rt',\n ruby: 'ruby',\n s: 's',\n samp: 'samp',\n script: 'script',\n section: 'section',\n select: 'select',\n small: 'small',\n source: 'source',\n span: 'span',\n strong: 'strong',\n style: 'style',\n sub: 'sub',\n summary: 'summary',\n sup: 'sup',\n table: 'table',\n tbody: 'tbody',\n td: 'td',\n textarea: 'textarea',\n tfoot: 'tfoot',\n th: 'th',\n thead: 'thead',\n time: 'time',\n title: 'title',\n tr: 'tr',\n track: 'track',\n u: 'u',\n ul: 'ul',\n 'var': 'var',\n video: 'video',\n wbr: 'wbr',\n\n // SVG\n circle: 'circle',\n clipPath: 'clipPath',\n defs: 'defs',\n ellipse: 'ellipse',\n g: 'g',\n image: 'image',\n line: 'line',\n linearGradient: 'linearGradient',\n mask: 'mask',\n path: 'path',\n pattern: 'pattern',\n polygon: 'polygon',\n polyline: 'polyline',\n radialGradient: 'radialGradient',\n rect: 'rect',\n stop: 'stop',\n svg: 'svg',\n text: 'text',\n tspan: 'tspan'\n\n}, createDOMFactory);\n\nmodule.exports = ReactDOMFactories;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/ReactDOMFactories.js\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 * @providesModule ReactElementValidator\n */\n\n/**\n * ReactElementValidator provides a wrapper around a element factory\n * which validates the props passed to the element. This is intended to be\n * used only in DEV and could be replaced by a static type checker for languages\n * that support it.\n */\n\n'use strict';\n\nvar ReactElement = require('./ReactElement');\nvar ReactPropTypeLocations = require('./ReactPropTypeLocations');\nvar ReactPropTypeLocationNames = require('./ReactPropTypeLocationNames');\nvar ReactCurrentOwner = require('./ReactCurrentOwner');\n\nvar getIteratorFn = require('./getIteratorFn');\nvar invariant = require('fbjs/lib/invariant');\nvar warning = require('fbjs/lib/warning');\n\nfunction getDeclarationErrorAddendum() {\n if (ReactCurrentOwner.current) {\n var name = ReactCurrentOwner.current.getName();\n if (name) {\n return ' Check the render method of `' + name + '`.';\n }\n }\n return '';\n}\n\n/**\n * Warn if there's no key explicitly set on dynamic arrays of children or\n * object keys are not valid. This allows us to keep track of children between\n * updates.\n */\nvar ownerHasKeyUseWarning = {};\n\nvar loggedTypeFailures = {};\n\n/**\n * Warn if the element doesn't have an explicit key assigned to it.\n * This element is in an array. The array could grow and shrink or be\n * reordered. All children that haven't already been validated are required to\n * have a \"key\" property assigned to it.\n *\n * @internal\n * @param {ReactElement} element Element that requires a key.\n * @param {*} parentType element's parent's type.\n */\nfunction validateExplicitKey(element, parentType) {\n if (!element._store || element._store.validated || element.key != null) {\n return;\n }\n element._store.validated = true;\n\n var addenda = getAddendaForKeyUse('uniqueKey', element, parentType);\n if (addenda === null) {\n // we already showed the warning\n return;\n }\n process.env.NODE_ENV !== 'production' ? warning(false, 'Each child in an array or iterator should have a unique \"key\" prop.' + '%s%s%s', addenda.parentOrOwner || '', addenda.childOwner || '', addenda.url || '') : undefined;\n}\n\n/**\n * Shared warning and monitoring code for the key warnings.\n *\n * @internal\n * @param {string} messageType A key used for de-duping warnings.\n * @param {ReactElement} element Component that requires a key.\n * @param {*} parentType element's parent's type.\n * @returns {?object} A set of addenda to use in the warning message, or null\n * if the warning has already been shown before (and shouldn't be shown again).\n */\nfunction getAddendaForKeyUse(messageType, element, parentType) {\n var addendum = getDeclarationErrorAddendum();\n if (!addendum) {\n var parentName = typeof parentType === 'string' ? parentType : parentType.displayName || parentType.name;\n if (parentName) {\n addendum = ' Check the top-level render call using <' + parentName + '>.';\n }\n }\n\n var memoizer = ownerHasKeyUseWarning[messageType] || (ownerHasKeyUseWarning[messageType] = {});\n if (memoizer[addendum]) {\n return null;\n }\n memoizer[addendum] = true;\n\n var addenda = {\n parentOrOwner: addendum,\n url: ' See https://fb.me/react-warning-keys for more information.',\n childOwner: null\n };\n\n // Usually the current owner is the offender, but if it accepts children as a\n // property, it may be the creator of the child that's responsible for\n // assigning it a key.\n if (element && element._owner && element._owner !== ReactCurrentOwner.current) {\n // Give the component that originally created this child.\n addenda.childOwner = ' It was passed a child from ' + element._owner.getName() + '.';\n }\n\n return addenda;\n}\n\n/**\n * Ensure that every element either is passed in a static location, in an\n * array with an explicit keys property defined, or in an object literal\n * with valid key property.\n *\n * @internal\n * @param {ReactNode} node Statically passed child of any type.\n * @param {*} parentType node's parent's type.\n */\nfunction validateChildKeys(node, parentType) {\n if (typeof node !== 'object') {\n return;\n }\n if (Array.isArray(node)) {\n for (var i = 0; i < node.length; i++) {\n var child = node[i];\n if (ReactElement.isValidElement(child)) {\n validateExplicitKey(child, parentType);\n }\n }\n } else if (ReactElement.isValidElement(node)) {\n // This element was passed in a valid location.\n if (node._store) {\n node._store.validated = true;\n }\n } else if (node) {\n var iteratorFn = getIteratorFn(node);\n // Entry iterators provide implicit keys.\n if (iteratorFn) {\n if (iteratorFn !== node.entries) {\n var iterator = iteratorFn.call(node);\n var step;\n while (!(step = iterator.next()).done) {\n if (ReactElement.isValidElement(step.value)) {\n validateExplicitKey(step.value, parentType);\n }\n }\n }\n }\n }\n}\n\n/**\n * Assert that the props are valid\n *\n * @param {string} componentName Name of the component for error messages.\n * @param {object} propTypes Map of prop name to a ReactPropType\n * @param {object} props\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @private\n */\nfunction checkPropTypes(componentName, propTypes, props, location) {\n for (var propName in propTypes) {\n if (propTypes.hasOwnProperty(propName)) {\n var error;\n // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n !(typeof propTypes[propName] === 'function') ? process.env.NODE_ENV !== 'production' ? invariant(false, '%s: %s type `%s` is invalid; it must be a function, usually from ' + 'React.PropTypes.', componentName || 'React class', ReactPropTypeLocationNames[location], propName) : invariant(false) : undefined;\n error = propTypes[propName](props, propName, componentName, location);\n } catch (ex) {\n error = ex;\n }\n process.env.NODE_ENV !== 'production' ? warning(!error || error instanceof Error, '%s: type specification of %s `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', ReactPropTypeLocationNames[location], propName, typeof error) : undefined;\n if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error.message] = true;\n\n var addendum = getDeclarationErrorAddendum();\n process.env.NODE_ENV !== 'production' ? warning(false, 'Failed propType: %s%s', error.message, addendum) : undefined;\n }\n }\n }\n}\n\n/**\n * Given an element, validate that its props follow the propTypes definition,\n * provided by the type.\n *\n * @param {ReactElement} element\n */\nfunction validatePropTypes(element) {\n var componentClass = element.type;\n if (typeof componentClass !== 'function') {\n return;\n }\n var name = componentClass.displayName || componentClass.name;\n if (componentClass.propTypes) {\n checkPropTypes(name, componentClass.propTypes, element.props, ReactPropTypeLocations.prop);\n }\n if (typeof componentClass.getDefaultProps === 'function') {\n process.env.NODE_ENV !== 'production' ? warning(componentClass.getDefaultProps.isReactClassApproved, 'getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.') : undefined;\n }\n}\n\nvar ReactElementValidator = {\n\n createElement: function (type, props, children) {\n var validType = typeof type === 'string' || typeof type === 'function';\n // We warn in this case but don't throw. We expect the element creation to\n // succeed and there will likely be errors in render.\n process.env.NODE_ENV !== 'production' ? warning(validType, 'React.createElement: type should not be null, undefined, boolean, or ' + 'number. It should be a string (for DOM elements) or a ReactClass ' + '(for composite components).%s', getDeclarationErrorAddendum()) : undefined;\n\n var element = ReactElement.createElement.apply(this, arguments);\n\n // The result can be nullish if a mock or a custom function is used.\n // TODO: Drop this when these are no longer allowed as the type argument.\n if (element == null) {\n return element;\n }\n\n // Skip key warning if the type isn't valid since our key validation logic\n // doesn't expect a non-string/function type and can throw confusing errors.\n // We don't want exception behavior to differ between dev and prod.\n // (Rendering will throw with a helpful message and as soon as the type is\n // fixed, the key warnings will appear.)\n if (validType) {\n for (var i = 2; i < arguments.length; i++) {\n validateChildKeys(arguments[i], type);\n }\n }\n\n validatePropTypes(element);\n\n return element;\n },\n\n createFactory: function (type) {\n var validatedFactory = ReactElementValidator.createElement.bind(null, type);\n // Legacy hook TODO: Warn if this is accessed\n validatedFactory.type = type;\n\n if (process.env.NODE_ENV !== 'production') {\n try {\n Object.defineProperty(validatedFactory, 'type', {\n enumerable: false,\n get: function () {\n process.env.NODE_ENV !== 'production' ? warning(false, 'Factory.type is deprecated. Access the class directly ' + 'before passing it to createFactory.') : undefined;\n Object.defineProperty(this, 'type', {\n value: type\n });\n return type;\n }\n });\n } catch (x) {\n // IE will fail on defineProperty (es5-shim/sham too)\n }\n }\n\n return validatedFactory;\n },\n\n cloneElement: function (element, props, children) {\n var newElement = ReactElement.cloneElement.apply(this, arguments);\n for (var i = 2; i < arguments.length; i++) {\n validateChildKeys(arguments[i], newElement.type);\n }\n validatePropTypes(newElement);\n return newElement;\n }\n\n};\n\nmodule.exports = ReactElementValidator;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/ReactElementValidator.js\n **/","/**\n * Copyright 2013-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 * @providesModule mapObject\n */\n\n'use strict';\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\n/**\n * Executes the provided `callback` once for each enumerable own property in the\n * object and constructs a new object from the results. The `callback` is\n * invoked with three arguments:\n *\n * - the property value\n * - the property name\n * - the object being traversed\n *\n * Properties that are added after the call to `mapObject` will not be visited\n * by `callback`. If the values of existing properties are changed, the value\n * passed to `callback` will be the value at the time `mapObject` visits them.\n * Properties that are deleted before being visited are not visited.\n *\n * @grep function objectMap()\n * @grep function objMap()\n *\n * @param {?object} object\n * @param {function} callback\n * @param {*} context\n * @return {?object}\n */\nfunction mapObject(object, callback, context) {\n if (!object) {\n return null;\n }\n var result = {};\n for (var name in object) {\n if (hasOwnProperty.call(object, name)) {\n result[name] = callback.call(context, object[name], name, object);\n }\n }\n return result;\n}\n\nmodule.exports = mapObject;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/~/fbjs/lib/mapObject.js\n **/","/**\n * Copyright 2013-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 * @providesModule onlyChild\n */\n'use strict';\n\nvar ReactElement = require('./ReactElement');\n\nvar invariant = require('fbjs/lib/invariant');\n\n/**\n * Returns the first child in a collection of children and verifies that there\n * is only one child in the collection. The current implementation of this\n * function assumes that a single child gets passed without a wrapper, but the\n * purpose of this helper function is to abstract away the particular structure\n * of children.\n *\n * @param {?object} children Child collection structure.\n * @return {ReactComponent} The first and only `ReactComponent` contained in the\n * structure.\n */\nfunction onlyChild(children) {\n !ReactElement.isValidElement(children) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'onlyChild must be passed a children with exactly one child.') : invariant(false) : undefined;\n return children;\n}\n\nmodule.exports = onlyChild;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/onlyChild.js\n **/","/**\n * Copyright 2013-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 * @providesModule deprecated\n */\n\n'use strict';\n\nvar assign = require('./Object.assign');\nvar warning = require('fbjs/lib/warning');\n\n/**\n * This will log a single deprecation notice per function and forward the call\n * on to the new API.\n *\n * @param {string} fnName The name of the function\n * @param {string} newModule The module that fn will exist in\n * @param {string} newPackage The module that fn will exist in\n * @param {*} ctx The context this forwarded call should run in\n * @param {function} fn The function to forward on to\n * @return {function} The function that will warn once and then call fn\n */\nfunction deprecated(fnName, newModule, newPackage, ctx, fn) {\n var warned = false;\n if (process.env.NODE_ENV !== 'production') {\n var newFn = function () {\n process.env.NODE_ENV !== 'production' ? warning(warned,\n // Require examples in this string must be split to prevent React's\n // build tools from mistaking them for real requires.\n // Otherwise the build tools will attempt to build a '%s' module.\n 'React.%s is deprecated. Please use %s.%s from require' + '(\\'%s\\') ' + 'instead.', fnName, newModule, fnName, newPackage) : undefined;\n warned = true;\n return fn.apply(ctx, arguments);\n };\n // We need to make sure all properties of the original fn are copied over.\n // In particular, this is needed to support PropTypes\n return assign(newFn, fn);\n }\n\n return fn;\n}\n\nmodule.exports = deprecated;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/deprecated.js\n **/","'use strict';\n\nmodule.exports = require('react/lib/ReactDOM');\n\n\n\n/** WEBPACK FOOTER **\n ** ./~/react-dom/index.js\n **/","import React from 'react';\nimport { TransitionMotion, spring } from 'react-motion';\n\nexport default function Ticker({item}) {\n return (\n <TransitionMotion\n willEnter={key => ({\n item,\n opacity: spring(0),\n y: spring(15),\n })}\n willLeave={(key, {item}) => ({\n item,\n leaving: true,\n opacity: spring(0),\n y: spring(-15),\n })}\n styles={{\n [item.id]: {\n item,\n opacity: spring(1),\n y: spring(0),\n },\n }}>\n {configs =>\n <div style={{\n position: 'relative',\n border: '1px solid #bbb',\n width: 300,\n padding: '20px 0',\n fontFamily: 'sans-serif',\n fontSize: 30,\n textAlign: 'center',\n }}>\n {Object.keys(configs).map(key =>\n <div key={key}\n style={{\n width: '100%',\n position: configs[key].leaving ? 'absolute' : 'static',\n opacity: configs[key].opacity,\n transform: `translateY(${configs[key].y}px)`,\n }}>\n {configs[key].item.text}\n </div>\n )}\n </div>\n }\n </TransitionMotion>\n );\n\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./Ticker.js\n **/","'use strict';\n\nexports.__esModule = true;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _components2 = require('./components');\n\nvar _components3 = _interopRequireDefault(_components2);\n\nvar _reorderKeys = require('./reorderKeys');\n\nvar _reorderKeys2 = _interopRequireDefault(_reorderKeys);\n\nvar _components = _components3['default'](_react2['default']);\n\nvar Spring = _components.Spring;\nvar TransitionSpring = _components.TransitionSpring;\nvar Motion = _components.Motion;\nvar StaggeredMotion = _components.StaggeredMotion;\nvar TransitionMotion = _components.TransitionMotion;\nexports.Spring = Spring;\nexports.TransitionSpring = TransitionSpring;\nexports.Motion = Motion;\nexports.StaggeredMotion = StaggeredMotion;\nexports.TransitionMotion = TransitionMotion;\n\nvar _spring2 = require('./spring');\n\nvar _spring3 = _interopRequireDefault(_spring2);\n\nexports.spring = _spring3['default'];\n\nvar _presets2 = require('./presets');\n\nvar _presets3 = _interopRequireDefault(_presets2);\n\nexports.presets = _presets3['default'];\nvar utils = {\n reorderKeys: _reorderKeys2['default']\n};\nexports.utils = utils;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react-motion/lib/react-motion.js\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\nexports['default'] = components;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _noVelocity = require('./noVelocity');\n\nvar _noVelocity2 = _interopRequireDefault(_noVelocity);\n\nvar _hasReachedStyle = require('./hasReachedStyle');\n\nvar _hasReachedStyle2 = _interopRequireDefault(_hasReachedStyle);\n\nvar _mergeDiff = require('./mergeDiff');\n\nvar _mergeDiff2 = _interopRequireDefault(_mergeDiff);\n\nvar _animationLoop = require('./animationLoop');\n\nvar _animationLoop2 = _interopRequireDefault(_animationLoop);\n\nvar _zero = require('./zero');\n\nvar _zero2 = _interopRequireDefault(_zero);\n\nvar _updateTree = require('./updateTree');\n\nvar _deprecatedSprings2 = require('./deprecatedSprings');\n\nvar _deprecatedSprings3 = _interopRequireDefault(_deprecatedSprings2);\n\nvar _stripStyle = require('./stripStyle');\n\nvar _stripStyle2 = _interopRequireDefault(_stripStyle);\n\nvar startAnimation = _animationLoop2['default']();\n\nfunction mapObject(f, obj) {\n var ret = {};\n for (var key in obj) {\n if (!obj.hasOwnProperty(key)) {\n continue;\n }\n ret[key] = f(obj[key], key);\n }\n return ret;\n}\n\nfunction everyObj(f, obj) {\n for (var key in obj) {\n if (!obj.hasOwnProperty(key)) {\n continue;\n }\n if (!f(obj[key], key)) {\n return false;\n }\n }\n return true;\n}\n\nfunction components(React) {\n var PropTypes = React.PropTypes;\n\n var Motion = React.createClass({\n displayName: 'Motion',\n\n propTypes: {\n // TOOD: warn against putting a config in here\n defaultValue: function defaultValue(prop, propName) {\n if (prop[propName]) {\n return new Error('Spring\\'s `defaultValue` has been changed to `defaultStyle`. ' + 'Its format received a few (easy to update!) changes as well.');\n }\n },\n endValue: function endValue(prop, propName) {\n if (prop[propName]) {\n return new Error('Spring\\'s `endValue` has been changed to `style`. Its format ' + 'received a few (easy to update!) changes as well.');\n }\n },\n defaultStyle: PropTypes.object,\n style: PropTypes.object.isRequired,\n children: PropTypes.func.isRequired\n },\n\n getInitialState: function getInitialState() {\n var _props = this.props;\n var defaultStyle = _props.defaultStyle;\n var style = _props.style;\n\n var currentStyle = defaultStyle || style;\n return {\n currentStyle: currentStyle,\n currentVelocity: mapObject(_zero2['default'], currentStyle)\n };\n },\n\n componentDidMount: function componentDidMount() {\n this.startAnimating();\n },\n\n componentWillReceiveProps: function componentWillReceiveProps() {\n this.startAnimating();\n },\n\n animationStep: function animationStep(timestep, state) {\n var currentStyle = state.currentStyle;\n var currentVelocity = state.currentVelocity;\n var style = this.props.style;\n\n var newCurrentStyle = _updateTree.updateCurrentStyle(timestep, currentStyle, currentVelocity, style);\n var newCurrentVelocity = _updateTree.updateCurrentVelocity(timestep, currentStyle, currentVelocity, style);\n\n // TOOD: this isn't necessary anymore. It was used only against endValue func\n if (_noVelocity2['default'](currentVelocity, newCurrentStyle) && _noVelocity2['default'](newCurrentVelocity, newCurrentStyle)) {\n // check explanation in `Motion.animationRender`\n this.stopAnimation(); // Nasty side effects....\n }\n\n return {\n currentStyle: newCurrentStyle,\n currentVelocity: newCurrentVelocity\n };\n },\n\n stopAnimation: null,\n\n // used in animationRender\n hasUnmounted: false,\n\n componentWillUnmount: function componentWillUnmount() {\n this.stopAnimation();\n this.hasUnmounted = true;\n },\n\n startAnimating: function startAnimating() {\n // Is smart enough to not start it twice\n this.stopAnimation = startAnimation(this.state, this.animationStep, this.animationRender);\n },\n\n animationRender: function animationRender(alpha, nextState, prevState) {\n // `this.hasUnmounted` might be true in the following condition:\n // user does some checks in `style` and calls an owner handler\n // owner sets state in the callback, triggering a re-render\n // unmounts Motion\n if (!this.hasUnmounted) {\n this.setState({\n currentStyle: _updateTree.interpolateValue(alpha, nextState.currentStyle, prevState.currentStyle),\n currentVelocity: nextState.currentVelocity\n });\n }\n },\n\n render: function render() {\n var strippedStyle = _stripStyle2['default'](this.state.currentStyle);\n var renderedChildren = this.props.children(strippedStyle);\n return renderedChildren && React.Children.only(renderedChildren);\n }\n });\n\n var StaggeredMotion = React.createClass({\n displayName: 'StaggeredMotion',\n\n propTypes: {\n defaultStyle: function defaultStyle(prop, propName) {\n if (prop[propName]) {\n return new Error('You forgot the \"s\" for `StaggeredMotion`\\'s `defaultStyles`.');\n }\n },\n style: function style(prop, propName) {\n if (prop[propName]) {\n return new Error('You forgot the \"s\" for `StaggeredMotion`\\'s `styles`.');\n }\n },\n // TOOD: warn against putting configs in here\n defaultStyles: PropTypes.arrayOf(PropTypes.object),\n styles: PropTypes.func.isRequired,\n children: PropTypes.func.isRequired\n },\n\n getInitialState: function getInitialState() {\n var _props2 = this.props;\n var styles = _props2.styles;\n var defaultStyles = _props2.defaultStyles;\n\n var currentStyles = defaultStyles ? defaultStyles : styles();\n return {\n currentStyles: currentStyles,\n currentVelocities: currentStyles.map(function (s) {\n return mapObject(_zero2['default'], s);\n })\n };\n },\n\n componentDidMount: function componentDidMount() {\n this.startAnimating();\n },\n\n componentWillReceiveProps: function componentWillReceiveProps() {\n this.startAnimating();\n },\n\n animationStep: function animationStep(timestep, state) {\n var currentStyles = state.currentStyles;\n var currentVelocities = state.currentVelocities;\n\n var styles = this.props.styles(currentStyles.map(_stripStyle2['default']));\n\n var newCurrentStyles = currentStyles.map(function (currentStyle, i) {\n return _updateTree.updateCurrentStyle(timestep, currentStyle, currentVelocities[i], styles[i]);\n });\n var newCurrentVelocities = currentStyles.map(function (currentStyle, i) {\n return _updateTree.updateCurrentVelocity(timestep, currentStyle, currentVelocities[i], styles[i]);\n });\n\n // TODO: is this right?\n if (currentVelocities.every(function (v, k) {\n return _noVelocity2['default'](v, currentStyles[k]);\n }) && newCurrentVelocities.every(function (v, k) {\n return _noVelocity2['default'](v, newCurrentStyles[k]);\n })) {\n this.stopAnimation();\n }\n\n return {\n currentStyles: newCurrentStyles,\n currentVelocities: newCurrentVelocities\n };\n },\n\n stopAnimation: null,\n\n // used in animationRender\n hasUnmounted: false,\n\n componentWillUnmount: function componentWillUnmount() {\n this.stopAnimation();\n this.hasUnmounted = true;\n },\n\n startAnimating: function startAnimating() {\n this.stopAnimation = startAnimation(this.state, this.animationStep, this.animationRender);\n },\n\n animationRender: function animationRender(alpha, nextState, prevState) {\n // See comment in Motion.\n if (!this.hasUnmounted) {\n var currentStyles = nextState.currentStyles.map(function (style, i) {\n return _updateTree.interpolateValue(alpha, style, prevState.currentStyles[i]);\n });\n this.setState({\n currentStyles: currentStyles,\n currentVelocities: nextState.currentVelocities\n });\n }\n },\n\n render: function render() {\n var strippedStyle = this.state.currentStyles.map(_stripStyle2['default']);\n var renderedChildren = this.props.children(strippedStyle);\n return renderedChildren && React.Children.only(renderedChildren);\n }\n });\n\n var TransitionMotion = React.createClass({\n displayName: 'TransitionMotion',\n\n propTypes: {\n defaultValue: function defaultValue(prop, propName) {\n if (prop[propName]) {\n return new Error('TransitionSpring\\'s `defaultValue` has been changed to ' + '`defaultStyles`. Its format received a few (easy to update!) ' + 'changes as well.');\n }\n },\n endValue: function endValue(prop, propName) {\n if (prop[propName]) {\n return new Error('TransitionSpring\\'s `endValue` has been changed to `styles`. ' + 'Its format received a few (easy to update!) changes as well.');\n }\n },\n defaultStyle: function defaultStyle(prop, propName) {\n if (prop[propName]) {\n return new Error('You forgot the \"s\" for `TransitionMotion`\\'s `defaultStyles`.');\n }\n },\n style: function style(prop, propName) {\n if (prop[propName]) {\n return new Error('You forgot the \"s\" for `TransitionMotion`\\'s `styles`.');\n }\n },\n // TOOD: warn against putting configs in here\n defaultStyles: PropTypes.objectOf(PropTypes.any),\n styles: PropTypes.oneOfType([PropTypes.func, PropTypes.objectOf(PropTypes.any.isRequired)]).isRequired,\n willLeave: PropTypes.oneOfType([PropTypes.func]),\n // TOOD: warn against putting configs in here\n willEnter: PropTypes.oneOfType([PropTypes.func]),\n children: PropTypes.func.isRequired\n },\n\n getDefaultProps: function getDefaultProps() {\n return {\n willEnter: function willEnter(key, value) {\n return value;\n },\n willLeave: function willLeave() {\n return null;\n }\n };\n },\n\n getInitialState: function getInitialState() {\n var _props3 = this.props;\n var styles = _props3.styles;\n var defaultStyles = _props3.defaultStyles;\n\n var currentStyles = undefined;\n if (defaultStyles == null) {\n if (typeof styles === 'function') {\n currentStyles = styles();\n } else {\n currentStyles = styles;\n }\n } else {\n currentStyles = defaultStyles;\n }\n return {\n currentStyles: currentStyles,\n currentVelocities: mapObject(function (s) {\n return mapObject(_zero2['default'], s);\n }, currentStyles)\n };\n },\n\n componentDidMount: function componentDidMount() {\n this.startAnimating();\n },\n\n componentWillReceiveProps: function componentWillReceiveProps() {\n this.startAnimating();\n },\n\n animationStep: function animationStep(timestep, state) {\n var currentStyles = state.currentStyles;\n var currentVelocities = state.currentVelocities;\n var _props4 = this.props;\n var styles = _props4.styles;\n var willEnter = _props4.willEnter;\n var willLeave = _props4.willLeave;\n\n if (typeof styles === 'function') {\n styles = styles(currentStyles);\n }\n\n // TODO: huh?\n var mergedStyles = styles; // set mergedStyles to styles as the default\n var hasNewKey = false;\n\n mergedStyles = _mergeDiff2['default'](currentStyles, styles,\n // TODO: stop allocating like crazy in this whole code path\n function (key) {\n var res = willLeave(key, currentStyles[key], styles, currentStyles, currentVelocities);\n if (res == null) {\n // For legacy reason. We won't allow returning null soon\n // TODO: remove, after next release\n return null;\n }\n\n if (_noVelocity2['default'](currentVelocities[key], currentStyles[key]) && _hasReachedStyle2['default'](currentStyles[key], res)) {\n return null;\n }\n return res;\n });\n\n Object.keys(mergedStyles).filter(function (key) {\n return !currentStyles.hasOwnProperty(key);\n }).forEach(function (key) {\n var _extends2, _extends3;\n\n hasNewKey = true;\n var enterStyle = willEnter(key, mergedStyles[key], styles, currentStyles, currentVelocities);\n\n // We can mutate this here because mergeDiff returns a new Obj\n mergedStyles[key] = enterStyle;\n\n currentStyles = _extends({}, currentStyles, (_extends2 = {}, _extends2[key] = enterStyle, _extends2));\n currentVelocities = _extends({}, currentVelocities, (_extends3 = {}, _extends3[key] = mapObject(_zero2['default'], enterStyle), _extends3));\n });\n\n var newCurrentStyles = mapObject(function (mergedStyle, key) {\n return _updateTree.updateCurrentStyle(timestep, currentStyles[key], currentVelocities[key], mergedStyle);\n }, mergedStyles);\n var newCurrentVelocities = mapObject(function (mergedStyle, key) {\n return _updateTree.updateCurrentVelocity(timestep, currentStyles[key], currentVelocities[key], mergedStyle);\n }, mergedStyles);\n\n if (!hasNewKey && everyObj(function (v, k) {\n return _noVelocity2['default'](v, currentStyles[k]);\n }, currentVelocities) && everyObj(function (v, k) {\n return _noVelocity2['default'](v, newCurrentStyles[k]);\n }, newCurrentVelocities)) {\n // check explanation in `Motion.animationRender`\n this.stopAnimation(); // Nasty side effects....\n }\n\n return {\n currentStyles: newCurrentStyles,\n currentVelocities: newCurrentVelocities\n };\n },\n\n stopAnimation: null,\n\n // used in animationRender\n hasUnmounted: false,\n\n componentWillUnmount: function componentWillUnmount() {\n this.stopAnimation();\n this.hasUnmounted = true;\n },\n\n startAnimating: function startAnimating() {\n this.stopAnimation = startAnimation(this.state, this.animationStep, this.animationRender);\n },\n\n animationRender: function animationRender(alpha, nextState, prevState) {\n // See comment in Motion.\n if (!this.hasUnmounted) {\n var currentStyles = mapObject(function (style, key) {\n return _updateTree.interpolateValue(alpha, style, prevState.currentStyles[key]);\n }, nextState.currentStyles);\n this.setState({\n currentStyles: currentStyles,\n currentVelocities: nextState.currentVelocities\n });\n }\n },\n\n render: function render() {\n var strippedStyle = mapObject(_stripStyle2['default'], this.state.currentStyles);\n var renderedChildren = this.props.children(strippedStyle);\n return renderedChildren && React.Children.only(renderedChildren);\n }\n });\n\n var _deprecatedSprings = _deprecatedSprings3['default'](React);\n\n var Spring = _deprecatedSprings.Spring;\n var TransitionSpring = _deprecatedSprings.TransitionSpring;\n\n return { Spring: Spring, TransitionSpring: TransitionSpring, Motion: Motion, StaggeredMotion: StaggeredMotion, TransitionMotion: TransitionMotion };\n}\n\nmodule.exports = exports['default'];\n\n\n/** WEBPACK FOOTER **\n ** ./~/react-motion/lib/components.js\n **/","\n// currentStyle keeps the info about whether a prop is configured as a spring\n// or if it's just a random prop that happens to be present on the style\n\n'use strict';\n\nexports.__esModule = true;\nexports['default'] = noVelocity;\n\nfunction noVelocity(currentVelocity, currentStyle) {\n for (var key in currentVelocity) {\n if (!currentVelocity.hasOwnProperty(key)) {\n continue;\n }\n if (currentStyle[key] != null && currentStyle[key].config && currentVelocity[key] !== 0) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = exports['default'];\n\n\n/** WEBPACK FOOTER **\n ** ./~/react-motion/lib/noVelocity.js\n **/","'use strict';\n\nexports.__esModule = true;\nexports['default'] = hasReachedStyle;\n\nfunction hasReachedStyle(currentStyle, style) {\n for (var key in style) {\n if (!style.hasOwnProperty(key)) {\n continue;\n }\n var currentValue = currentStyle[key];\n var destValue = style[key];\n if (destValue == null || !destValue.config) {\n // not a spring config\n continue;\n }\n if (currentValue.config && currentValue.val !== destValue.val) {\n return false;\n }\n if (!currentValue.config && currentValue !== destValue.val) {\n return false;\n }\n }\n\n return true;\n}\n\nmodule.exports = exports['default'];\n\n\n/** WEBPACK FOOTER **\n ** ./~/react-motion/lib/hasReachedStyle.js\n **/","\n\n// this function is allocation-less thanks to babel, which transforms the tail\n// calls into loops\n'use strict';\n\nexports.__esModule = true;\nexports['default'] = mergeDiff;\nfunction mergeDiffArr(_x, _x2, _x3, _x4, _x5, _x6, _x7) {\n var _again = true;\n\n _function: while (_again) {\n var arrA = _x,\n arrB = _x2,\n collB = _x3,\n indexA = _x4,\n indexB = _x5,\n onRemove = _x6,\n accum = _x7;\n endA = endB = keyA = keyB = fill = fill = undefined;\n _again = false;\n\n var endA = indexA === arrA.length;\n var endB = indexB === arrB.length;\n var keyA = arrA[indexA];\n var keyB = arrB[indexB];\n if (endA && endB) {\n // returning null here, otherwise lint complains that we're not expecting\n // a return value in subsequent calls. We know what we're doing.\n return null;\n }\n\n if (endA) {\n accum[keyB] = collB[keyB];\n _x = arrA;\n _x2 = arrB;\n _x3 = collB;\n _x4 = indexA;\n _x5 = indexB + 1;\n _x6 = onRemove;\n _x7 = accum;\n _again = true;\n continue _function;\n }\n\n if (endB) {\n var fill = onRemove(keyA);\n if (fill != null) {\n accum[keyA] = fill;\n }\n _x = arrA;\n _x2 = arrB;\n _x3 = collB;\n _x4 = indexA + 1;\n _x5 = indexB;\n _x6 = onRemove;\n _x7 = accum;\n _again = true;\n continue _function;\n }\n\n if (keyA === keyB) {\n accum[keyA] = collB[keyA];\n _x = arrA;\n _x2 = arrB;\n _x3 = collB;\n _x4 = indexA + 1;\n _x5 = indexB + 1;\n _x6 = onRemove;\n _x7 = accum;\n _again = true;\n continue _function;\n }\n\n if (!collB.hasOwnProperty(keyA)) {\n var fill = onRemove(keyA);\n if (fill != null) {\n accum[keyA] = fill;\n }\n _x = arrA;\n _x2 = arrB;\n _x3 = collB;\n _x4 = indexA + 1;\n _x5 = indexB;\n _x6 = onRemove;\n _x7 = accum;\n _again = true;\n continue _function;\n }\n\n _x = arrA;\n _x2 = arrB;\n _x3 = collB;\n _x4 = indexA + 1;\n _x5 = indexB;\n _x6 = onRemove;\n _x7 = accum;\n _again = true;\n continue _function;\n }\n}\n\nfunction mergeDiff(a, b, onRemove) {\n var ret = {};\n // if anyone can make this work without allocating the arrays here, we'll\n // give you a medal\n mergeDiffArr(Object.keys(a), Object.keys(b), b, 0, 0, onRemove, ret);\n return ret;\n}\n\nmodule.exports = exports['default'];\n\n\n/** WEBPACK FOOTER **\n ** ./~/react-motion/lib/mergeDiff.js\n **/","'use strict';\n\nexports.__esModule = true;\nexports['default'] = configAnimation;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _performanceNow = require('performance-now');\n\nvar _performanceNow2 = _interopRequireDefault(_performanceNow);\n\nvar _raf = require('raf');\n\nvar _raf2 = _interopRequireDefault(_raf);\n\nfunction configAnimation() {\n var config = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n var _config$timeStep = config.timeStep;\n var timeStep = _config$timeStep === undefined ? 1 / 60 * 1000 : _config$timeStep;\n var _config$timeScale = config.timeScale;\n var timeScale = _config$timeScale === undefined ? 1 : _config$timeScale;\n var _config$maxSteps = config.maxSteps;\n var maxSteps = _config$maxSteps === undefined ? 10 : _config$maxSteps;\n var _config$raf = config.raf;\n var raf = _config$raf === undefined ? _raf2['default'] : _config$raf;\n var _config$now = config.now;\n var now = _config$now === undefined ? _performanceNow2['default'] : _config$now;\n\n var animRunning = [];\n var running = false;\n var prevTime = 0;\n var accumulatedTime = 0;\n\n function loop() {\n var currentTime = now();\n var frameTime = currentTime - prevTime; // delta\n\n prevTime = currentTime;\n accumulatedTime += frameTime * timeScale;\n\n if (accumulatedTime > timeStep * maxSteps) {\n accumulatedTime = 0;\n }\n\n var frameNumber = Math.ceil(accumulatedTime / timeStep);\n for (var i = 0; i < animRunning.length; i++) {\n var _animRunning$i = animRunning[i];\n var active = _animRunning$i.active;\n var animationStep = _animRunning$i.animationStep;\n var prevPrevState = _animRunning$i.prevState;\n var prevNextState = animRunning[i].nextState;\n\n if (!active) {\n continue;\n }\n\n // Seems like because the TS sets destVals as enterVals for the first\n // tick, we might render that value twice. We render it once, currValue is\n // enterVal and destVal is enterVal. The next tick is faster than 16ms,\n // so accumulatedTime (which would be about -16ms from the previous tick)\n // is negative (-16ms + any number less than 16ms < 0). So we just render\n // part ways towards the nextState, but that's enterVal still. We render\n // say 75% between currValue (=== enterVal) and destValue (=== enterVal).\n // So we render the same value a second time.\n // The solution below is to recalculate the destination state even when\n // you're moving partially towards it.\n if (accumulatedTime <= 0) {\n animRunning[i].nextState = animationStep(timeStep / 1000, prevPrevState);\n } else {\n for (var j = 0; j < frameNumber; j++) {\n animRunning[i].nextState = animationStep(timeStep / 1000, prevNextState);\n var _ref = [prevNextState, animRunning[i].nextState];\n animRunning[i].prevState = _ref[0];\n prevNextState = _ref[1];\n }\n }\n }\n\n accumulatedTime = accumulatedTime - frameNumber * timeStep;\n\n // Render and filter in one iteration.\n var alpha = 1 + accumulatedTime / timeStep;\n for (var i = 0; i < animRunning.length; i++) {\n var _animRunning$i2 = animRunning[i];\n var animationRender = _animRunning$i2.animationRender;\n var nextState = _animRunning$i2.nextState;\n var prevState = _animRunning$i2.prevState;\n\n // Might mutate animRunning........\n animationRender(alpha, nextState, prevState);\n }\n\n animRunning = animRunning.filter(function (_ref2) {\n var active = _ref2.active;\n return active;\n });\n\n if (animRunning.length === 0) {\n running = false;\n } else {\n raf(loop);\n }\n }\n\n function start() {\n if (!running) {\n running = true;\n prevTime = now();\n accumulatedTime = 0;\n raf(loop);\n }\n }\n\n return function startAnimation(state, animationStep, animationRender) {\n for (var i = 0; i < animRunning.length; i++) {\n var val = animRunning[i];\n if (val.animationStep === animationStep) {\n val.active = true;\n val.prevState = state;\n start();\n return val.stop;\n }\n }\n\n var newAnim = {\n animationStep: animationStep,\n animationRender: animationRender,\n prevState: state,\n nextState: state,\n active: true\n };\n\n newAnim.stop = function () {\n return newAnim.active = false;\n };\n animRunning.push(newAnim);\n\n start();\n\n return newAnim.stop;\n };\n}\n\nmodule.exports = exports['default'];\n\n\n/** WEBPACK FOOTER **\n ** ./~/react-motion/lib/animationLoop.js\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\n\n\n/** WEBPACK FOOTER **\n ** ./~/react-motion/~/performance-now/lib/performance-now.js\n **/","var now = require('performance-now')\n , global = typeof window === 'undefined' ? {} : window\n , vendors = ['moz', 'webkit']\n , suffix = 'AnimationFrame'\n , raf = global['request' + suffix]\n , caf = global['cancel' + suffix] || global['cancelRequest' + suffix]\n\nfor(var i = 0; i < vendors.length && !raf; i++) {\n raf = global[vendors[i] + 'Request' + suffix]\n caf = global[vendors[i] + 'Cancel' + suffix]\n || global[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(global, fn)\n}\nmodule.exports.cancel = function() {\n caf.apply(global, arguments)\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./~/react-motion/~/raf/index.js\n **/","\n// used by the tree-walking updates and springs. Avoids some allocations\n\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = zero;\n\nfunction zero() {\n return 0;\n}\n\nmodule.exports = exports[\"default\"];\n\n\n/** WEBPACK FOOTER **\n ** ./~/react-motion/lib/zero.js\n **/","\n\n// TODO: refactor common logic with updateCurrValue and updateCurrVelocity\n'use strict';\n\nexports.__esModule = true;\nexports.interpolateValue = interpolateValue;\nexports.updateCurrentStyle = updateCurrentStyle;\nexports.updateCurrentVelocity = updateCurrentVelocity;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _stepper = require('./stepper');\n\nvar _stepper2 = _interopRequireDefault(_stepper);\n\nvar _spring = require('./spring');\n\nvar _spring2 = _interopRequireDefault(_spring);\n\nfunction interpolateValue(alpha, nextStyle, prevStyle) {\n // might be used by a TransitionMotion, where prevStyle might not exist anymore\n if (!prevStyle) {\n return nextStyle;\n }\n\n var ret = {};\n for (var key in nextStyle) {\n if (!nextStyle.hasOwnProperty(key)) {\n continue;\n }\n\n if (nextStyle[key] == null || !nextStyle[key].config) {\n ret[key] = nextStyle[key];\n // not a spring config, not something we want to interpolate\n continue;\n }\n var prevValue = prevStyle[key].config ? prevStyle[key].val : prevStyle[key];\n ret[key] = _spring2['default'](nextStyle[key].val * alpha + prevValue * (1 - alpha), nextStyle[key].config);\n }\n\n return ret;\n}\n\n// TODO: refactor common logic with updateCurrentVelocity\n\nfunction updateCurrentStyle(frameRate, currentStyle, currentVelocity, style) {\n var ret = {};\n for (var key in style) {\n if (!style.hasOwnProperty(key)) {\n continue;\n }\n if (style[key] == null || !style[key].config) {\n ret[key] = style[key];\n // not a spring config, not something we want to interpolate\n continue;\n }\n var _style$key$config = style[key].config;\n var k = _style$key$config[0];\n var b = _style$key$config[1];\n\n var val = _stepper2['default'](frameRate,\n // might have been a non-springed prop that just became one\n currentStyle[key].val == null ? currentStyle[key] : currentStyle[key].val, currentVelocity[key], style[key].val, k, b)[0];\n ret[key] = _spring2['default'](val, style[key].config);\n }\n return ret;\n}\n\nfunction updateCurrentVelocity(frameRate, currentStyle, currentVelocity, style) {\n var ret = {};\n for (var key in style) {\n if (!style.hasOwnProperty(key)) {\n continue;\n }\n if (style[key] == null || !style[key].config) {\n // not a spring config, not something we want to interpolate\n ret[key] = 0;\n continue;\n }\n var _style$key$config2 = style[key].config;\n var k = _style$key$config2[0];\n var b = _style$key$config2[1];\n\n var val = _stepper2['default'](frameRate,\n // might have been a non-springed prop that just became one\n currentStyle[key].val == null ? currentStyle[key] : currentStyle[key].val, currentVelocity[key], style[key].val, k, b)[1];\n ret[key] = val;\n }\n return ret;\n}\n\n\n/** WEBPACK FOOTER **\n ** ./~/react-motion/lib/updateTree.js\n **/","\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = stepper;\n\nvar errorMargin = 0.0001;\n\nfunction stepper(frameRate, x, v, destX, k, b) {\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 * frameRate;\n var newX = x + newV * frameRate;\n\n if (Math.abs(newV - v) < errorMargin && Math.abs(newX - x) < errorMargin) {\n return [destX, 0];\n }\n\n return [newX, newV];\n}\n\nmodule.exports = exports[\"default\"];\n\n\n/** WEBPACK FOOTER **\n ** ./~/react-motion/lib/stepper.js\n **/","'use strict';\n\nexports.__esModule = true;\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\nfunction spring(val) {\n var config = arguments.length <= 1 || arguments[1] === undefined ? _presets2['default'].noWobble : arguments[1];\n\n return { val: val, config: config };\n}\n\nmodule.exports = exports['default'];\n\n\n/** WEBPACK FOOTER **\n ** ./~/react-motion/lib/spring.js\n **/","\n// [stiffness, damping]\n\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = {\n noWobble: [170, 26], // the default\n gentle: [120, 14],\n wobbly: [180, 12],\n stiff: [210, 20]\n};\nmodule.exports = exports[\"default\"];\n\n\n/** WEBPACK FOOTER **\n ** ./~/react-motion/lib/presets.js\n **/","'use strict';\n\nexports.__esModule = true;\nexports['default'] = deprecatedSprings;\nvar hasWarnedForSpring = {};\nvar hasWarnedForTransitionSpring = {};\n\nfunction deprecatedSprings(React) {\n var Spring = React.createClass({\n displayName: 'Spring',\n\n componentWillMount: function componentWillMount() {\n if (process.env.NODE_ENV === 'development') {\n var ownerName = this._reactInternalInstance._currentElement._owner && this._reactInternalInstance._currentElement._owner.getName();\n if (!hasWarnedForSpring[ownerName]) {\n hasWarnedForSpring[ownerName] = true;\n console.error('Spring (used in %srender) has now been renamed to Motion. ' + 'Please see the release note for the upgrade path. Thank you!', ownerName ? ownerName + '\\'s ' : 'React.');\n }\n }\n },\n\n render: function render() {\n return null;\n }\n });\n\n var TransitionSpring = React.createClass({\n displayName: 'TransitionSpring',\n\n componentWillMount: function componentWillMount() {\n if (process.env.NODE_ENV === 'development') {\n var ownerName = this._reactInternalInstance._currentElement._owner && this._reactInternalInstance._currentElement._owner.getName();\n if (!hasWarnedForTransitionSpring[ownerName]) {\n hasWarnedForTransitionSpring[ownerName] = true;\n console.error('TransitionSpring (used in %srender) has now been renamed to ' + 'TransitionMotion. Please see the release note for the upgrade ' + 'path. Thank you!', ownerName ? ownerName + '\\'s ' : 'React.');\n }\n }\n },\n\n render: function render() {\n return null;\n }\n });\n\n return { Spring: Spring, TransitionSpring: TransitionSpring };\n}\n\nmodule.exports = exports['default'];\n\n\n/** WEBPACK FOOTER **\n ** ./~/react-motion/lib/deprecatedSprings.js\n **/","\n// turn {x: {val: 1, config: [1, 2]}, y: 2} generated by\n// `{x: spring(1, [1, 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 (!style.hasOwnProperty(key)) {\n continue;\n }\n ret[key] = style[key] == null || style[key].val == null ? style[key] : style[key].val;\n }\n return ret;\n}\n\nmodule.exports = exports['default'];\n\n\n/** WEBPACK FOOTER **\n ** ./~/react-motion/lib/stripStyle.js\n **/","\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = reorderKeys;\n\nfunction reorderKeys(obj, f) {\n var newKeys = f(Object.keys(obj));\n var ret = {};\n for (var i = 0; i < newKeys.length; i++) {\n var key = newKeys[i];\n ret[key] = obj[key];\n }\n\n return ret;\n}\n\nmodule.exports = exports[\"default\"];\n\n\n/** WEBPACK FOOTER **\n ** ./~/react-motion/lib/reorderKeys.js\n **/"],"sourceRoot":""}