├── .babelrc
├── .gitignore
├── LICENSE
├── README.md
├── package.json
├── src
├── App.js
├── bundle.js
├── index.html
├── main.js
└── vendors.js
└── webpack.config.js
/.babelrc:
--------------------------------------------------------------------------------
1 | {
2 | "presets": [
3 | "es2015",
4 | "react"
5 | ]
6 | }
7 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | dist/*
2 | .DS_Store
3 |
4 | # Logs
5 | logs
6 | *.log
7 | npm-debug.log*
8 |
9 | # Runtime data
10 | pids
11 | *.pid
12 | *.seed
13 |
14 | # Directory for instrumented libs generated by jscoverage/JSCover
15 | lib-cov
16 |
17 | # Coverage directory used by tools like istanbul
18 | coverage
19 |
20 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
21 | .grunt
22 |
23 | # node-waf configuration
24 | .lock-wscript
25 |
26 | # Compiled binary addons (http://nodejs.org/api/addons.html)
27 | build/Release
28 |
29 | # Dependency directory
30 | node_modules
31 |
32 | # Optional npm cache directory
33 | .npm
34 |
35 | # Optional REPL history
36 | .node_repl_history
37 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2016 Tim Arney
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | #Update
2 | This information is still relevant but, just use -> Create React App (get back to coding) it handles all of this for you. https://github.com/facebookincubator/create-react-app.
3 |
4 | #TL;DR
5 |
6 | Do at least this
7 |
8 | ```
9 | new webpack.DefinePlugin({
10 | 'process.env': {
11 | 'NODE_ENV': '"production"'
12 | }
13 | })
14 | ```
15 | That's a 77 KB win -> because by default, React is in development mode.
16 |
17 | Facebook also recommends UglifyJS to completely remove the extra code present in development mode.
18 |
19 | https://twitter.com/timarney/status/715614327911395328
20 |
21 | #Note
22 | Check the Webpack 2 version here https://github.com/timarney/react-setup/tree/webpack2
23 |
24 | #What is this?
25 | I started this as an experiment to see **how big** React is for a production build via Webpack (without gzip etc...)
26 |
27 | React and React Dom are split out into a **vendors.js** file (standalone).
28 |
29 |
30 | *Note this isn't a React Starter boilerplate.* It's an experiment to test Webpack settings.
31 |
32 |
33 | #Tips / Ideas?
34 | Feel free to send a pull request or add to the dicussion using Issues i.e -> https://github.com/timarney/react-setup/issues/1
35 |
36 | #Production Output
37 | ```
38 | +-- dist
39 | | +-- bundle.js (495 bytes)
40 | | +-- index.html (219 bytes)
41 | | +-- vendors.js (141 kB) 👍
42 | ```
43 |
44 | #Build
45 | npm run build (output to production dir)
46 |
47 | #What about GZIP sizes?
48 | Checkout http://minime.stephan-brumme.com/react/15.2.1 (40.9 kB)
49 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "react-setup",
3 | "version": "1.0.1",
4 | "description": "",
5 | "main": "index.js",
6 | "scripts": {
7 | "start": "webpack-dev-server",
8 | "test": "echo \"Error: no test specified\" && exit 1",
9 | "build": "NODE_ENV=production webpack -p && cp src/index.html dist/index.html"
10 | },
11 | "author": "Tim Arney",
12 | "license": "MIT",
13 | "dependencies": {
14 | "react": "15.2.1",
15 | "react-dom": "15.2.1"
16 | },
17 | "devDependencies": {
18 | "babel-core": "6.10.4",
19 | "babel-loader": "6.2.4",
20 | "babel-preset-es2015": "6.9.0",
21 | "babel-preset-react": "6.11.1",
22 | "webpack": "1.13.1",
23 | "webpack-dev-server": "1.14.1"
24 | },
25 | "repository": {
26 | "type": "git",
27 | "url": "https://github.com/timarney/react-setup"
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/src/App.js:
--------------------------------------------------------------------------------
1 | import React from 'react'
2 |
3 | const App = () =>
Hello World!
4 |
5 | export default App
6 |
--------------------------------------------------------------------------------
/src/bundle.js:
--------------------------------------------------------------------------------
1 | webpackJsonp([1],{0:function(e,t,u){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}var l=u(54),r=n(l),d=u(59),a=n(d),f=u(90),o=n(f);a["default"].render(r["default"].createElement(o["default"],null),document.getElementById("app"))},90:function(e,t,u){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var l=u(54),r=n(l),d=function(){return r["default"].createElement("h1",null,"Hello World!")};t["default"]=d}});
--------------------------------------------------------------------------------
/src/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | React
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/src/main.js:
--------------------------------------------------------------------------------
1 | import React from 'react'
2 | import ReactDom from 'react-dom'
3 | import App from './App'
4 | ReactDom.render( , document.getElementById('app'))
5 |
--------------------------------------------------------------------------------
/src/vendors.js:
--------------------------------------------------------------------------------
1 | !function(e){function t(n){if(o[n])return o[n].exports;var r=o[n]={exports:{},id:n,loaded:!1};return e[n].call(r.exports,r,r.exports,t),r.loaded=!0,r.exports}var n=window.webpackJsonp;window.webpackJsonp=function(i,a){for(var u,s,c=0,l=[];c1)for(var n=1;n2?n-2:0),r=2;r1){for(var _=Array(b),N=0;N1){for(var _=Array(b),N=0;N-1?void 0:"production"!==t.env.NODE_ENV?u(!1,"EventPluginRegistry: Cannot inject event plugins that do not exist in the plugin ordering, `%s`.",e):a("96",e),!l.plugins[o]){n.extractEvents?void 0:"production"!==t.env.NODE_ENV?u(!1,"EventPluginRegistry: Event plugins must implement an `extractEvents` method, but `%s` does not.",e):a("97",e),l.plugins[o]=n;var i=n.eventTypes;for(var p in i)r(i[p],n,p)?void 0:"production"!==t.env.NODE_ENV?u(!1,"EventPluginRegistry: Failed to publish event `%s` for plugin `%s`.",p,e):a("98",p,e)}}}function r(e,n,o){l.eventNameDispatchConfigs.hasOwnProperty(o)?"production"!==t.env.NODE_ENV?u(!1,"EventPluginHub: More than one plugin attempted to publish the same event name, `%s`.",o):a("99",o):void 0,l.eventNameDispatchConfigs[o]=e;var r=e.phasedRegistrationNames;if(r){for(var s in r)if(r.hasOwnProperty(s)){var c=r[s];i(c,n,o)}return!0}return!!e.registrationName&&(i(e.registrationName,n,o),!0)}function i(e,n,o){if(l.registrationNameModules[e]?"production"!==t.env.NODE_ENV?u(!1,"EventPluginHub: More than one plugin attempted to publish the same registration name, `%s`.",e):a("100",e):void 0,l.registrationNameModules[e]=n,l.registrationNameDependencies[e]=n.eventTypes[o].dependencies,"production"!==t.env.NODE_ENV){var r=e.toLowerCase();l.possibleRegistrationNames[r]=e,"onDoubleClick"===e&&(l.possibleRegistrationNames.ondblclick=e)}}var a=n(4),u=n(2),s=null,c={},l={plugins:[],eventNameDispatchConfigs:{},registrationNameModules:{},registrationNameDependencies:{},possibleRegistrationNames:"production"!==t.env.NODE_ENV?{}:null,injectEventPluginOrder:function(e){s?"production"!==t.env.NODE_ENV?u(!1,"EventPluginRegistry: Cannot inject event plugin ordering more than once. You are likely trying to load more than one copy of React."):a("101"):void 0,s=Array.prototype.slice.call(e),o()},injectEventPluginsByName:function(e){var n=!1;for(var r in e)if(e.hasOwnProperty(r)){var i=e[r];c.hasOwnProperty(r)&&c[r]===i||(c[r]?"production"!==t.env.NODE_ENV?u(!1,"EventPluginRegistry: Cannot inject two different event plugins using the same name, `%s`.",r):a("102",r):void 0,c[r]=i,n=!0)}n&&o()},getPluginModuleForEvent:function(e){var t=e.dispatchConfig;if(t.registrationName)return l.registrationNameModules[t.registrationName]||null;for(var n in t.phasedRegistrationNames)if(t.phasedRegistrationNames.hasOwnProperty(n)){var o=l.registrationNameModules[t.phasedRegistrationNames[n]];if(o)return o}return null},_resetEventPlugins:function(){s=null;for(var e in c)c.hasOwnProperty(e)&&delete c[e];l.plugins.length=0;var n=l.eventNameDispatchConfigs;for(var o in n)n.hasOwnProperty(o)&&delete n[o];var r=l.registrationNameModules;for(var i in r)r.hasOwnProperty(i)&&delete r[i];if("production"!==t.env.NODE_ENV){var a=l.possibleRegistrationNames;for(var u in a)a.hasOwnProperty(u)&&delete a[u]}}};e.exports=l}).call(t,n(1))},function(e,t,n){"use strict";function o(e){return Object.prototype.hasOwnProperty.call(e,v)||(e[v]=h++,d[e[v]]={}),d[e[v]]}var r,i=n(5),a=n(12),u=n(29),s=n(138),c=n(81),l=n(169),p=n(50),d={},f=!1,h=0,m={topAbort:"abort",topAnimationEnd:l("animationend")||"animationend",topAnimationIteration:l("animationiteration")||"animationiteration",topAnimationStart:l("animationstart")||"animationstart",topBlur:"blur",topCanPlay:"canplay",topCanPlayThrough:"canplaythrough",topChange:"change",topClick:"click",topCompositionEnd:"compositionend",topCompositionStart:"compositionstart",topCompositionUpdate:"compositionupdate",topContextMenu:"contextmenu",topCopy:"copy",topCut:"cut",topDoubleClick:"dblclick",topDrag:"drag",topDragEnd:"dragend",topDragEnter:"dragenter",topDragExit:"dragexit",topDragLeave:"dragleave",topDragOver:"dragover",topDragStart:"dragstart",topDrop:"drop",topDurationChange:"durationchange",topEmptied:"emptied",topEncrypted:"encrypted",topEnded:"ended",topError:"error",topFocus:"focus",topInput:"input",topKeyDown:"keydown",topKeyPress:"keypress",topKeyUp:"keyup",topLoadedData:"loadeddata",topLoadedMetadata:"loadedmetadata",topLoadStart:"loadstart",topMouseDown:"mousedown",topMouseMove:"mousemove",topMouseOut:"mouseout",topMouseOver:"mouseover",topMouseUp:"mouseup",topPaste:"paste",topPause:"pause",topPlay:"play",topPlaying:"playing",topProgress:"progress",topRateChange:"ratechange",topScroll:"scroll",topSeeked:"seeked",topSeeking:"seeking",topSelectionChange:"selectionchange",topStalled:"stalled",topSuspend:"suspend",topTextInput:"textInput",topTimeUpdate:"timeupdate",topTouchCancel:"touchcancel",topTouchEnd:"touchend",topTouchMove:"touchmove",topTouchStart:"touchstart",topTransitionEnd:l("transitionend")||"transitionend",topVolumeChange:"volumechange",topWaiting:"waiting",topWheel:"wheel"},v="_reactListenersID"+String(Math.random()).slice(2),g=i({},s,{ReactEventListener:null,injection:{injectReactEventListener:function(e){e.setHandleTopLevel(g.handleTopLevel),g.ReactEventListener=e}},setEnabled:function(e){g.ReactEventListener&&g.ReactEventListener.setEnabled(e)},isEnabled:function(){return!(!g.ReactEventListener||!g.ReactEventListener.isEnabled())},listenTo:function(e,t){for(var n=t,r=o(n),i=u.registrationNameDependencies[e],s=a.topLevelTypes,c=0;c]/;e.exports=o},function(e,t,n){"use strict";var o,r=n(7),i=n(36),a=/^[ \r\n\t\f]/,u=/<(!--|link|noscript|meta|script|style)[ \r\n\t\f\/>]/,s=n(45),c=s(function(e,t){if(e.namespaceURI!==i.svg||"innerHTML"in e)e.innerHTML=t;else{o=o||document.createElement("div"),o.innerHTML=""+t+" ";for(var n=o.firstChild.childNodes,r=0;r0&&o.length<20?n+" (keys: "+o.join(", ")+")":n}function i(e,n){var o=s.get(e);return o?("production"!==t.env.NODE_ENV&&("production"!==t.env.NODE_ENV?d(null==u.current,"%s(...): Cannot update during an existing state transition (such as within `render` or another component's constructor). Render methods should be a pure function of props and state; constructor side-effects are an anti-pattern, but can be moved to `componentWillMount`.",n):void 0),o):("production"!==t.env.NODE_ENV&&("production"!==t.env.NODE_ENV?d(!n,"%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.",n,n,e.constructor.displayName):void 0),null)}var a=n(4),u=n(13),s=n(23),c=n(8),l=n(11),p=n(2),d=n(3),f={isMounted:function(e){if("production"!==t.env.NODE_ENV){var n=u.current;null!==n&&("production"!==t.env.NODE_ENV?d(n._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.",n.getName()||"A component"):void 0,n._warnedAboutRefsInRender=!0)}var o=s.get(e);return!!o&&!!o._renderedComponent},enqueueCallback:function(e,t,n){f.validateCallback(t,n);var r=i(e);return r?(r._pendingCallbacks?r._pendingCallbacks.push(t):r._pendingCallbacks=[t],void o(r)):null},enqueueCallbackInternal:function(e,t){e._pendingCallbacks?e._pendingCallbacks.push(t):e._pendingCallbacks=[t],o(e)},enqueueForceUpdate:function(e){var t=i(e,"forceUpdate");t&&(t._pendingForceUpdate=!0,o(t))},enqueueReplaceState:function(e,t){var n=i(e,"replaceState");n&&(n._pendingStateQueue=[t],n._pendingReplaceState=!0,o(n))},enqueueSetState:function(e,n){"production"!==t.env.NODE_ENV&&(c.debugTool.onSetState(),"production"!==t.env.NODE_ENV?d(null!=n,"setState(...): You passed an undefined or null state object; instead, use forceUpdate()."):void 0);var r=i(e,"setState");if(r){var a=r._pendingStateQueue||(r._pendingStateQueue=[]);a.push(n),o(r)}},enqueueElementInternal:function(e,t,n){e._pendingElement=t,e._context=n,o(e)},validateCallback:function(e,n){e&&"function"!=typeof e?"production"!==t.env.NODE_ENV?p(!1,"%s(...): Expected the last optional `callback` argument to be a function. Instead received: %s.",n,r(e)):a("122",n,r(e)):void 0}};e.exports=f}).call(t,n(1))},function(e,t,n){(function(t){"use strict";var n=!1;if("production"!==t.env.NODE_ENV)try{Object.defineProperty({},"x",{get:function(){}}),n=!0}catch(o){}e.exports=n}).call(t,n(1))},function(e,t){"use strict";var n=function(e){return"undefined"!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(t,n,o,r){MSApp.execUnsafeLocalFunction(function(){return e(t,n,o,r)})}:e};e.exports=n},function(e,t){"use strict";function n(e){var t,n=e.keyCode;return"charCode"in e?(t=e.charCode,0===t&&13===n&&(t=13)):t=n,t>=32||13===t?t:0}e.exports=n},function(e,t){"use strict";function n(e){var t=this,n=t.nativeEvent;if(n.getModifierState)return n.getModifierState(e);var o=r[e];return!!o&&!!n[o]}function o(e){return n}var r={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};e.exports=o},function(e,t){"use strict";function n(e){var t=e.target||e.srcElement||window;return t.correspondingUseElement&&(t=t.correspondingUseElement),3===t.nodeType?t.parentNode:t}e.exports=n},function(e,t){"use strict";function n(e){var t=e&&(o&&e[o]||e[r]);if("function"==typeof t)return t}var o="function"==typeof Symbol&&Symbol.iterator,r="@@iterator";e.exports=n},function(e,t,n){"use strict";/**
3 | * Checks if an event is supported in the current execution environment.
4 | *
5 | * NOTE: This will not work correctly for non-generic events such as `change`,
6 | * `reset`, `load`, `error`, and `select`.
7 | *
8 | * Borrows from Modernizr.
9 | *
10 | * @param {string} eventNameSuffix Event name, e.g. "click".
11 | * @param {?boolean} capture Check if the capture phase is supported.
12 | * @return {boolean} True if the event is supported.
13 | * @internal
14 | * @license Modernizr 3.0.0pre (Custom Build) | MIT
15 | */
16 | function o(e,t){if(!i.canUseDOM||t&&!("addEventListener"in document))return!1;var n="on"+e,o=n in document;if(!o){var a=document.createElement("div");a.setAttribute(n,"return;"),o="function"==typeof a[n]}return!o&&r&&"wheel"===e&&(o=document.implementation.hasFeature("Events.wheel","3.0")),o}var r,i=n(7);i.canUseDOM&&(r=document.implementation&&document.implementation.hasFeature&&document.implementation.hasFeature("","")!==!0),e.exports=o},function(e,t){"use strict";function n(e,t){var n=null===e||e===!1,o=null===t||t===!1;if(n||o)return n===o;var r=typeof e,i=typeof t;return"string"===r||"number"===r?"string"===i||"number"===i:"object"===i&&e.type===t.type&&e.key===t.key}e.exports=n},function(e,t,n){(function(t){"use strict";function o(e,t){return e&&"object"==typeof e&&null!=e.key?p.escape(e.key):t.toString(36)}function r(e,n,i,v){var g=typeof e;if("undefined"!==g&&"boolean"!==g||(e=null),null===e||"string"===g||"number"===g||s.isValidElement(e))return i(v,e,""===n?f+o(e,0):n),1;var y,E,b=0,_=""===n?f:n+h;if(Array.isArray(e))for(var N=0;N "),x=!!u+"|"+e+"|"+d+"|"+w;if(v[x])return;v[x]=!0;var I=e;if("#text"!==e&&(I="<"+e+">"),u){var k="";"table"===d&&"tr"===e&&(k+=" Add a to your code to match the DOM tree generated by the browser."),"production"!==t.env.NODE_ENV?i(!1,"validateDOMNesting(...): %s cannot appear as a child of <%s>. See %s.%s",I,d,w,k):void 0}else"production"!==t.env.NODE_ENV?i(!1,"validateDOMNesting(...): %s cannot appear as a descendant of <%s>. See %s.",I,d,w):void 0}},a.updatedAncestorInfo=d,a.isTagValidInContext=function(e,t){t=t||p;var n=t.current,o=n&&n.tag;return f(e,o)&&!h(e,t)}}e.exports=a}).call(t,n(1))},function(e,t,n){"use strict";e.exports=n(115)},function(e,t,n){(function(t){"use strict";var o=n(9),r={listen:function(e,t,n){return e.addEventListener?(e.addEventListener(t,n,!1),{remove:function(){e.removeEventListener(t,n,!1)}}):e.attachEvent?(e.attachEvent("on"+t,n),{remove:function(){e.detachEvent("on"+t,n)}}):void 0},capture:function(e,n,r){return e.addEventListener?(e.addEventListener(n,r,!0),{remove:function(){e.removeEventListener(n,r,!0)}}):("production"!==t.env.NODE_ENV&&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."),{remove:o})},registerDefault:function(){}};e.exports=r}).call(t,n(1))},function(e,t){"use strict";function n(e){try{e.focus()}catch(t){}}e.exports=n},function(e,t){"use strict";function n(){if("undefined"==typeof document)return null;try{return document.activeElement||document.body}catch(e){return document.body}}e.exports=n},function(e,t){"use strict";function n(e,t){return e===t?0!==e||1/e===1/t:e!==e&&t!==t}function o(e,t){if(n(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var o=Object.keys(e),i=Object.keys(t);if(o.length!==i.length)return!1;for(var a=0;a1?u-1:0),c=1;c must be an array if `multiple` is true.%s",a,r(o)):void 0:"production"!==t.env.NODE_ENV?f(!Array.isArray(n[a]),"The `%s` prop supplied to must be a scalar value if `multiple` is false.%s",a,r(o)):void 0)}}function a(e,t,n){var o,r,i=p.getNodeFromInstance(e).options;if(t){for(o={},r=0;r.")}return t}function i(e,n){if(e._store&&!e._store.validated&&null==e.key){e._store.validated=!0;var o=v.uniqueKey||(v.uniqueKey={}),i=r(n);if(!o[i]){o[i]=!0;var a="";e&&e._owner&&e._owner!==s.current&&(a=" It was passed a child from "+e._owner.getName()+"."),"production"!==t.env.NODE_ENV?m(!1,'Each child in an array or iterator should have a unique "key" prop.%s%s See https://fb.me/react-warning-keys for more information.%s',i,a,c.getCurrentStackAddendum(e)):void 0}}}function a(e,t){if("object"==typeof e)if(Array.isArray(e))for(var n=0;n .":"function"==typeof n?" Instead of passing a class like Foo, pass React.createElement(Foo) or .":null!=n&&void 0!==n.props?" This may be caused by unintentionally loading two independent copies of React.":""):d("39","string"==typeof n?" Instead of passing a string like 'div', pass React.createElement('div') or
.":"function"==typeof n?" Instead of passing a class like Foo, pass React.createElement(Foo) or .":null!=n&&void 0!==n.props?" This may be caused by unintentionally loading two independent copies of React.":""),"production"!==t.env.NODE_ENV?R(!o||!o.tagName||"BODY"!==o.tagName.toUpperCase(),"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."):void 0;var u,s=b(B,null,null,null,null,null,n);if(e){var l=N.get(e);u=l._processChildContext(l._context)}else u=x;var f=p(o);if(f){var h=f._currentElement,m=h.props;if(S(m,n)){var v=f._renderedComponent.getPublicInstance(),g=a&&function(){a.call(v)};return H._updateRootComponent(f,s,u,o,g),v}H.unmountComponentAtNode(o)}var y=r(o),E=y&&!!i(y),_=c(o);if("production"!==t.env.NODE_ENV&&("production"!==t.env.NODE_ENV?R(!_,"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."):void 0,!E||y.nextSibling))for(var C=y;C;){if(i(C)){"production"!==t.env.NODE_ENV?R(!1,"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."):void 0;break}C=C.nextSibling}var D=E&&!f&&!_,O=H._renderNewRootComponent(s,o,D,u)._renderedComponent.getPublicInstance();return a&&a.call(O),O},render:function(e,t,n){return H._renderSubtreeIntoContainer(null,e,t,n)},unmountComponentAtNode:function(e){"production"!==t.env.NODE_ENV?R(null==v.current,"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.",v.current&&v.current.getName()||"ReactCompositeComponent"):void 0,!e||e.nodeType!==A&&e.nodeType!==U&&e.nodeType!==L?"production"!==t.env.NODE_ENV?k(!1,"unmountComponentAtNode(...): Target container is not a DOM element."):d("40"):void 0;var n=p(e);if(!n){var o=c(e),r=1===e.nodeType&&e.hasAttribute(V);return"production"!==t.env.NODE_ENV&&("production"!==t.env.NODE_ENV?R(!o,"unmountComponentAtNode(): The node you're attempting to unmount was rendered by React and is not a top-level container. %s",r?"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."):void 0),!1}return delete F[n._instance.rootID],w.batchedUpdates(s,n,e,!1),!0},_mountImageIntoNode:function(e,n,i,a,u){if(!n||n.nodeType!==A&&n.nodeType!==U&&n.nodeType!==L?"production"!==t.env.NODE_ENV?k(!1,"mountComponentIntoNode(...): Target container is not valid."):d("41"):void 0,a){var s=r(n);if(D.canReuseMarkup(e,s))return void g.precacheNode(i,s);var c=s.getAttribute(D.CHECKSUM_ATTR_NAME);s.removeAttribute(D.CHECKSUM_ATTR_NAME);var l=s.outerHTML;s.setAttribute(D.CHECKSUM_ATTR_NAME,c);var p=e;if("production"!==t.env.NODE_ENV){var h;n.nodeType===A?(h=document.createElement("div"),h.innerHTML=e,p=h.innerHTML):(h=document.createElement("iframe"),document.body.appendChild(h),h.contentDocument.write(e),p=h.contentDocument.documentElement.outerHTML,document.body.removeChild(h))}var m=o(p,l),v=" (client) "+p.substring(m-20,m+20)+"\n (server) "+l.substring(m-20,m+20);n.nodeType===U?"production"!==t.env.NODE_ENV?k(!1,"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",v):d("42",v):void 0,"production"!==t.env.NODE_ENV&&("production"!==t.env.NODE_ENV?R(!1,"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",v):void 0)}if(n.nodeType===U?"production"!==t.env.NODE_ENV?k(!1,"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."):d("43"):void 0,u.useCreateElement){for(;n.lastChild;)n.removeChild(n.lastChild);f.insertTreeBefore(n,e,null)}else P(n,e),g.precacheNode(i,n.firstChild);if("production"!==t.env.NODE_ENV){var y=g.getInstanceFromNode(n.firstChild);0!==y._debugID&&C.debugTool.onHostOperation(y._debugID,"mount",e.toString())}}};e.exports=H}).call(t,n(1))},function(e,t,n){"use strict";var o=n(27),r=o({INSERT_MARKUP:null,MOVE_EXISTING:null,REMOVE_NODE:null,SET_MARKUP:null,TEXT_CONTENT:null});e.exports=r},function(e,t,n){(function(t){"use strict";var o=n(4),r=n(10),i=n(2),a={HOST:0,COMPOSITE:1,EMPTY:2,getType:function(e){return null===e||e===!1?a.EMPTY:r.isValidElement(e)?"function"==typeof e.type?a.COMPOSITE:a.HOST:void("production"!==t.env.NODE_ENV?i(!1,"Unexpected node: %s",e):o("26",e))}};e.exports=a}).call(t,n(1))},function(e,t,n){(function(t){"use strict";function o(e,n){if("production"!==t.env.NODE_ENV){var o=e.constructor;"production"!==t.env.NODE_ENV?r(!1,"%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.",n,n,o&&(o.displayName||o.name)||"ReactClass"):void 0}}var r=n(3),i={isMounted:function(e){return!1},enqueueCallback:function(e,t){},enqueueForceUpdate:function(e){o(e,"forceUpdate")},enqueueReplaceState:function(e,t){o(e,"replaceState")},enqueueSetState:function(e,t){o(e,"setState")}};e.exports=i}).call(t,n(1))},function(e,t,n){"use strict";function o(e,t){return e===t?0!==e||1/e===1/t:e!==e&&t!==t}function r(e){function t(t,n,o,r,i,a){if(r=r||D,a=a||o,null==n[o]){var u=_[i];return t?new Error("Required "+u+" `"+a+"` was not specified in "+("`"+r+"`.")):null}return e(n,o,r,i,a)}var n=t.bind(null,!1);return n.isRequired=t.bind(null,!0),n}function i(e){function t(t,n,o,r,i){var a=t[n],u=g(a);if(u!==e){var s=_[r],c=y(a);return new Error("Invalid "+s+" `"+i+"` of type "+("`"+c+"` supplied to `"+o+"`, expected ")+("`"+e+"`."))}return null}return r(t)}function a(){return r(N.thatReturns(null))}function u(e){function t(t,n,o,r,i){if("function"!=typeof e)return new Error("Property `"+i+"` of component `"+o+"` has invalid PropType notation inside arrayOf.");var a=t[n];if(!Array.isArray(a)){var u=_[r],s=g(a);return new Error("Invalid "+u+" `"+i+"` of type "+("`"+s+"` supplied to `"+o+"`, expected an array."))}for(var c=0;c>",O={array:i("array"),bool:i("boolean"),func:i("function"),number:i("number"),object:i("object"),string:i("string"),symbol:i("symbol"),any:a(),arrayOf:u,element:s(),instanceOf:c,node:f(),objectOf:p,oneOf:l,oneOfType:d,shape:h};e.exports=O},function(e,t){"use strict";e.exports="15.2.1"},function(e,t){"use strict";var n={currentScrollLeft:0,currentScrollTop:0,refreshScrollValues:function(e){n.currentScrollLeft=e.x,n.currentScrollTop=e.y}};e.exports=n},function(e,t,n){(function(t){"use strict";function o(e,n){return null==n?"production"!==t.env.NODE_ENV?i(!1,"accumulateInto(...): Accumulated items must not be null or undefined."):r("30"):void 0,null==e?n:Array.isArray(e)?Array.isArray(n)?(e.push.apply(e,n),e):(e.push(n),e):Array.isArray(n)?[e].concat(n):[e,n]}var r=n(4),i=n(2);e.exports=o}).call(t,n(1))},function(e,t,n){(function(t){"use strict";function o(e,o,c,l,p,d){for(var f in e)if(e.hasOwnProperty(f)){var h;try{"function"!=typeof e[f]?"production"!==t.env.NODE_ENV?a(!1,"%s: %s type `%s` is invalid; it must be a function, usually from React.PropTypes.",l||"React class",i[c],f):r("84",l||"React class",i[c],f):void 0,h=e[f](o,f,l,c)}catch(m){h=m}if("production"!==t.env.NODE_ENV?u(!h||h 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).",l||"React class",i[c],f,typeof h):void 0,h instanceof Error&&!(h.message in s)){s[h.message]=!0;var v="";if("production"!==t.env.NODE_ENV){var g=n(18);null!==d?v=g.getStackAddendumByID(d):null!==p&&(v=g.getCurrentStackAddendum(p))}"production"!==t.env.NODE_ENV?u(!1,"Failed %s type: %s%s",c,h.message,v):void 0}}}var r=n(4),i=n(42),a=n(2),u=n(3),s={};e.exports=o}).call(t,n(1))},function(e,t){"use strict";function n(e,t,n){Array.isArray(e)?e.forEach(t,n):e&&t.call(n,e)}e.exports=n},function(e,t,n){"use strict";function o(e){for(var t;(t=e._renderedNodeType)===r.COMPOSITE;)e=e._renderedComponent;return t===r.HOST?e._renderedComponent:t===r.EMPTY?null:void 0}var r=n(77);e.exports=o},function(e,t,n){"use strict";function o(){return!i&&r.canUseDOM&&(i="textContent"in document.documentElement?"textContent":"innerText"),i}var r=n(7),i=null;e.exports=o},function(e,t,n){(function(t){"use strict";function o(e){if(e){var t=e.getName();if(t)return" Check the render method of `"+t+"`."}return""}function r(e){var t=e._currentElement;return null==t?"#empty":"string"==typeof t||"number"==typeof t?"#text":"string"==typeof t.type?t.type:e.getName?e.getName()||"Unknown":t.type.displayName||t.type.name||"Unknown"}function i(e){return"function"==typeof e&&"undefined"!=typeof e.prototype&&"function"==typeof e.prototype.mountComponent&&"function"==typeof e.prototype.receiveComponent}function a(e,n){var s;if(null===e||e===!1)s=l.create(a);else if("object"==typeof e){var c=e;!c||"function"!=typeof c.type&&"string"!=typeof c.type?"production"!==t.env.NODE_ENV?f(!1,"Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",null==c.type?c.type:typeof c.type,o(c._owner)):u("130",null==c.type?c.type:typeof c.type,o(c._owner)):void 0,"string"==typeof c.type?s=p.createInternalComponent(c):i(c.type)?(s=new c.type(c),s.getHostNode||(s.getHostNode=s.getNativeNode)):s=new m(c)}else"string"==typeof e||"number"==typeof e?s=p.createInstanceForText(e):"production"!==t.env.NODE_ENV?f(!1,"Encountered invalid React node of type %s",typeof e):u("131",typeof e);if("production"!==t.env.NODE_ENV&&("production"!==t.env.NODE_ENV?h("function"==typeof s.mountComponent&&"function"==typeof s.receiveComponent&&"function"==typeof s.getHostNode&&"function"==typeof s.unmountComponent,"Only React Components can be mounted."):void 0),s._mountIndex=0,s._mountImage=null,"production"!==t.env.NODE_ENV)if(n){var g=v++;s._debugID=g;var y=r(s);d.debugTool.onSetDisplayName(g,y);var E=e&&e._owner;E&&d.debugTool.onSetOwner(g,E._debugID)}else s._debugID=0;return"production"!==t.env.NODE_ENV&&Object.preventExtensions&&Object.preventExtensions(s),s}var u=n(4),s=n(5),c=n(117),l=n(71),p=n(73),d=n(8),f=n(2),h=n(3),m=function(e){this.construct(e)};s(m.prototype,c.Mixin,{_instantiateReactComponent:a});var v=1;e.exports=a}).call(t,n(1))},function(e,t){"use strict";function n(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!o[e.type]:"textarea"===t}var o={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};e.exports=n},function(e,t,n){"use strict";var o=n(7),r=n(33),i=n(34),a=function(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t};o.canUseDOM&&("textContent"in document.documentElement||(a=function(e,t){i(e,r(t))})),e.exports=a},,function(e,t){"use strict";function n(e){return e.replace(o,function(e,t){return t.toUpperCase()})}var o=/-(.)/g;e.exports=n},function(e,t,n){"use strict";function o(e){return r(e.replace(i,"ms-"))}var r=n(91),i=/^-ms-/;e.exports=o},function(e,t,n){"use strict";function o(e,t){return!(!e||!t)&&(e===t||!r(e)&&(r(t)?o(e,t.parentNode):"contains"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}var r=n(101);e.exports=o},function(e,t,n){(function(t){"use strict";function o(e){var n=e.length;if(Array.isArray(e)||"object"!=typeof e&&"function"!=typeof e?"production"!==t.env.NODE_ENV?a(!1,"toArray: Array-like object expected"):a(!1):void 0,"number"!=typeof n?"production"!==t.env.NODE_ENV?a(!1,"toArray: Object needs a length property"):a(!1):void 0,0===n||n-1 in e?void 0:"production"!==t.env.NODE_ENV?a(!1,"toArray: Object should have keys for indices"):a(!1),"function"==typeof e.callee?"production"!==t.env.NODE_ENV?a(!1,"toArray: Object can't be `arguments`. Use rest params (function(...args) {}) or Array.from() instead."):a(!1):void 0,e.hasOwnProperty)try{return Array.prototype.slice.call(e)}catch(o){}for(var r=Array(n),i=0;i element rendered."):s(!1),a(d).forEach(n));for(var f=Array.from(r.childNodes);r.lastChild;)r.removeChild(r.lastChild);return f}var i=n(7),a=n(94),u=n(96),s=n(2),c=i.canUseDOM?document.createElement("div"):null,l=/^\s*<(\w+)/;e.exports=r}).call(t,n(1))},function(e,t,n){(function(t){"use strict";function o(e){return a?void 0:"production"!==t.env.NODE_ENV?i(!1,"Markup wrapping node not initialized"):i(!1),d.hasOwnProperty(e)||(e="*"),u.hasOwnProperty(e)||("*"===e?a.innerHTML=" ":a.innerHTML="<"+e+">"+e+">",u[e]=!a.firstChild),u[e]?d[e]:null}var r=n(7),i=n(2),a=r.canUseDOM?document.createElement("div"):null,u={},s=[1,''," "],c=[1,""],l=[3,""],p=[1,''," "],d={"*":[1,"?","
"],area:[1,""," "],col:[2,""],legend:[1,""," "],param:[1,""," "],tr:[2,""],optgroup:s,option:s,caption:c,colgroup:c,tbody:c,tfoot:c,thead:c,td:l,th:l},f=["circle","clipPath","defs","ellipse","g","image","line","linearGradient","mask","path","pattern","polygon","polyline","radialGradient","rect","stop","text","tspan"];f.forEach(function(e){d[e]=p,u[e]=!0}),e.exports=o}).call(t,n(1))},function(e,t){"use strict";function n(e){return e===window?{x:window.pageXOffset||document.documentElement.scrollLeft,y:window.pageYOffset||document.documentElement.scrollTop}:{x:e.scrollLeft,y:e.scrollTop}}e.exports=n},function(e,t){"use strict";function n(e){return e.replace(o,"-$1").toLowerCase()}var o=/([A-Z])/g;e.exports=n},function(e,t,n){"use strict";function o(e){return r(e).replace(i,"-ms-")}var r=n(98),i=/^ms-/;e.exports=o},function(e,t){"use strict";function n(e){return!(!e||!("function"==typeof Node?e instanceof Node:"object"==typeof e&&"number"==typeof e.nodeType&&"string"==typeof e.nodeName))}e.exports=n},function(e,t,n){"use strict";function o(e){return r(e)&&3==e.nodeType}var r=n(100);e.exports=o},function(e,t){"use strict";function n(e,t,n){if(!e)return null;var r={};for(var i in e)o.call(e,i)&&(r[i]=t.call(n,e[i],i,e));return r}var o=Object.prototype.hasOwnProperty;e.exports=n},function(e,t){"use strict";function n(e){var t={};return function(n){return t.hasOwnProperty(n)||(t[n]=e.call(this,n)),t[n]}}e.exports=n},function(e,t,n){"use strict";var o,r=n(7);r.canUseDOM&&(o=window.performance||window.msPerformance||window.webkitPerformance),e.exports=o||{}},function(e,t,n){"use strict";var o,r=n(104);o=r.now?function(){return r.now()}:function(){return Date.now()},e.exports=o},function(e,t,n){"use strict";var o=n(6),r=n(56),i={focusDOMComponent:function(){r(o.getNodeFromInstance(this))}};e.exports=i},function(e,t,n){"use strict";function o(){var e=window.opera;return"object"==typeof e&&"function"==typeof e.version&&parseInt(e.version(),10)<=12}function r(e){return(e.ctrlKey||e.altKey||e.metaKey)&&!(e.ctrlKey&&e.altKey)}function i(e){switch(e){case x.topCompositionStart:return I.compositionStart;case x.topCompositionEnd:return I.compositionEnd;case x.topCompositionUpdate:return I.compositionUpdate}}function a(e,t){return e===x.topKeyDown&&t.keyCode===_}function u(e,t){switch(e){case x.topKeyUp:return b.indexOf(t.keyCode)!==-1;case x.topKeyDown:return t.keyCode!==_;case x.topKeyPress:case x.topMouseDown:case x.topBlur:return!0;default:return!1}}function s(e){var t=e.detail;return"object"==typeof t&&"data"in t?t.data:null}function c(e,t,n,o){var r,c;if(N?r=i(e):P?u(e,n)&&(r=I.compositionEnd):a(e,n)&&(r=I.compositionStart),!r)return null;O&&(P||r!==I.compositionStart?r===I.compositionEnd&&P&&(c=P.getData()):P=v.getPooled(o));var l=g.getPooled(r,t,n,o);if(c)l.data=c;else{var p=s(n);null!==p&&(l.data=p)}return h.accumulateTwoPhaseDispatches(l),l}function l(e,t){switch(e){case x.topCompositionEnd:return s(t);case x.topKeyPress:var n=t.which;return n!==T?null:(k=!0,w);case x.topTextInput:var o=t.data;return o===w&&k?null:o;default:return null}}function p(e,t){if(P){if(e===x.topCompositionEnd||u(e,t)){var n=P.getData();return v.release(P),P=null,n}return null}switch(e){case x.topPaste:return null;case x.topKeyPress:return t.which&&!r(t)?String.fromCharCode(t.which):null;case x.topCompositionEnd:return O?null:t.data;default:return null}}function d(e,t,n,o){var r;if(r=D?l(e,n):p(e,n),!r)return null;var i=y.getPooled(I.beforeInput,t,n,o);return i.data=r,h.accumulateTwoPhaseDispatches(i),i}var f=n(12),h=n(22),m=n(7),v=n(113),g=n(155),y=n(158),E=n(15),b=[9,13,27,32],_=229,N=m.canUseDOM&&"CompositionEvent"in window,C=null;m.canUseDOM&&"documentMode"in document&&(C=document.documentMode);var D=m.canUseDOM&&"TextEvent"in window&&!C&&!o(),O=m.canUseDOM&&(!N||C&&C>8&&C<=11),T=32,w=String.fromCharCode(T),x=f.topLevelTypes,I={beforeInput:{phasedRegistrationNames:{bubbled:E({onBeforeInput:null}),captured:E({onBeforeInputCapture:null})},dependencies:[x.topCompositionEnd,x.topKeyPress,x.topTextInput,x.topPaste]},compositionEnd:{phasedRegistrationNames:{bubbled:E({onCompositionEnd:null}),captured:E({onCompositionEndCapture:null})},dependencies:[x.topBlur,x.topCompositionEnd,x.topKeyDown,x.topKeyPress,x.topKeyUp,x.topMouseDown]},compositionStart:{phasedRegistrationNames:{bubbled:E({onCompositionStart:null}),captured:E({onCompositionStartCapture:null})},dependencies:[x.topBlur,x.topCompositionStart,x.topKeyDown,x.topKeyPress,x.topKeyUp,x.topMouseDown]},compositionUpdate:{phasedRegistrationNames:{bubbled:E({onCompositionUpdate:null}),captured:E({onCompositionUpdateCapture:null})},dependencies:[x.topBlur,x.topCompositionUpdate,x.topKeyDown,x.topKeyPress,x.topKeyUp,x.topMouseDown]}},k=!1,P=null,S={eventTypes:I,extractEvents:function(e,t,n,o){return[c(e,t,n,o),d(e,t,n,o)]}};e.exports=S},function(e,t,n){(function(t){"use strict";var o=n(60),r=n(7),i=n(8),a=n(92),u=n(164),s=n(99),c=n(103),l=n(3),p=c(function(e){return s(e)}),d=!1,f="cssFloat";if(r.canUseDOM){var h=document.createElement("div").style;try{h.font=""}catch(m){d=!0}void 0===document.documentElement.style.cssFloat&&(f="styleFloat")}if("production"!==t.env.NODE_ENV)var v=/^(?:webkit|moz|o)[A-Z]/,g=/;\s*$/,y={},E={},b=!1,_=function(e,n){y.hasOwnProperty(e)&&y[e]||(y[e]=!0,"production"!==t.env.NODE_ENV?l(!1,"Unsupported style property %s. Did you mean %s?%s",e,a(e),O(n)):void 0)},N=function(e,n){y.hasOwnProperty(e)&&y[e]||(y[e]=!0,"production"!==t.env.NODE_ENV?l(!1,"Unsupported vendor-prefixed style property %s. Did you mean %s?%s",e,e.charAt(0).toUpperCase()+e.slice(1),O(n)):void 0)},C=function(e,n,o){E.hasOwnProperty(n)&&E[n]||(E[n]=!0,"production"!==t.env.NODE_ENV?l(!1,'Style property values shouldn\'t contain a semicolon.%s Try "%s: %s" instead.',O(o),e,n.replace(g,"")):void 0)},D=function(e,n,o){b||(b=!0,"production"!==t.env.NODE_ENV?l(!1,"`NaN` is an invalid value for the `%s` css style property.%s",e,O(o)):void 0)},O=function(e){if(e){var t=e.getName();if(t)return" Check the render method of `"+t+"`."}return""},T=function(e,t,n){var o;n&&(o=n._currentElement._owner),e.indexOf("-")>-1?_(e,o):v.test(e)?N(e,o):g.test(t)&&C(e,t,o),"number"==typeof t&&isNaN(t)&&D(e,t,o)};var w={createMarkupForStyles:function(e,n){var o="";for(var r in e)if(e.hasOwnProperty(r)){var i=e[r];"production"!==t.env.NODE_ENV&&T(r,i,n),null!=i&&(o+=p(r)+":",o+=u(r,i,n)+";")}return o||null},setValueForStyles:function(e,n,r){"production"!==t.env.NODE_ENV&&i.debugTool.onHostOperation(r._debugID,"update styles",n);var a=e.style;for(var s in n)if(n.hasOwnProperty(s)){"production"!==t.env.NODE_ENV&&T(s,n[s],r);var c=u(s,n[s],r);if("float"!==s&&"cssFloat"!==s||(s=f),c)a[s]=c;else{var l=d&&o.shorthandPropertyExpansions[s];if(l)for(var p in l)a[p]="";else a[s]=""}}}};e.exports=w}).call(t,n(1))},function(e,t,n){"use strict";function o(e){var t=e.nodeName&&e.nodeName.toLowerCase();
18 | return"select"===t||"input"===t&&"file"===e.type}function r(e){var t=D.getPooled(k.change,S,e,O(e));b.accumulateTwoPhaseDispatches(t),C.batchedUpdates(i,t)}function i(e){E.enqueueEvents(e),E.processEventQueue(!1)}function a(e,t){P=e,S=t,P.attachEvent("onchange",r)}function u(){P&&(P.detachEvent("onchange",r),P=null,S=null)}function s(e,t){if(e===I.topChange)return t}function c(e,t,n){e===I.topFocus?(u(),a(t,n)):e===I.topBlur&&u()}function l(e,t){P=e,S=t,R=e.value,M=Object.getOwnPropertyDescriptor(e.constructor.prototype,"value"),Object.defineProperty(P,"value",U),P.attachEvent?P.attachEvent("onpropertychange",d):P.addEventListener("propertychange",d,!1)}function p(){P&&(delete P.value,P.detachEvent?P.detachEvent("onpropertychange",d):P.removeEventListener("propertychange",d,!1),P=null,S=null,R=null,M=null)}function d(e){if("value"===e.propertyName){var t=e.srcElement.value;t!==R&&(R=t,r(e))}}function f(e,t){if(e===I.topInput)return t}function h(e,t,n){e===I.topFocus?(p(),l(t,n)):e===I.topBlur&&p()}function m(e,t){if((e===I.topSelectionChange||e===I.topKeyUp||e===I.topKeyDown)&&P&&P.value!==R)return R=P.value,S}function v(e){return e.nodeName&&"input"===e.nodeName.toLowerCase()&&("checkbox"===e.type||"radio"===e.type)}function g(e,t){if(e===I.topClick)return t}var y=n(12),E=n(21),b=n(22),_=n(7),N=n(6),C=n(11),D=n(14),O=n(48),T=n(50),w=n(88),x=n(15),I=y.topLevelTypes,k={change:{phasedRegistrationNames:{bubbled:x({onChange:null}),captured:x({onChangeCapture:null})},dependencies:[I.topBlur,I.topChange,I.topClick,I.topFocus,I.topInput,I.topKeyDown,I.topKeyUp,I.topSelectionChange]}},P=null,S=null,R=null,M=null,V=!1;_.canUseDOM&&(V=T("change")&&(!("documentMode"in document)||document.documentMode>8));var A=!1;_.canUseDOM&&(A=T("input")&&(!("documentMode"in document)||document.documentMode>11));var U={get:function(){return M.get.call(this)},set:function(e){R=""+e,M.set.call(this,e)}},L={eventTypes:k,extractEvents:function(e,t,n,r){var i,a,u=t?N.getNodeFromInstance(t):window;if(o(u)?V?i=s:a=c:w(u)?A?i=f:(i=m,a=h):v(u)&&(i=g),i){var l=i(e,t);if(l){var p=D.getPooled(k.change,l,n,r);return p.type="change",b.accumulateTwoPhaseDispatches(p),p}}a&&a(e,u,t)}};e.exports=L},function(e,t,n){(function(t){"use strict";var o=n(4),r=n(19),i=n(7),a=n(95),u=n(9),s=n(2),c={dangerouslyReplaceNodeWithMarkup:function(e,n){if(i.canUseDOM?void 0:"production"!==t.env.NODE_ENV?s(!1,"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."):o("56"),n?void 0:"production"!==t.env.NODE_ENV?s(!1,"dangerouslyReplaceNodeWithMarkup(...): Missing markup."):o("57"),"HTML"===e.nodeName?"production"!==t.env.NODE_ENV?s(!1,"dangerouslyReplaceNodeWithMarkup(...): Cannot replace markup of the 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()."):o("58"):void 0,"string"==typeof n){var c=a(n,u)[0];e.parentNode.replaceChild(c,e)}else r.replaceChildWithTree(e,n)}};e.exports=c}).call(t,n(1))},function(e,t,n){"use strict";var o=n(15),r=[o({ResponderEventPlugin:null}),o({SimpleEventPlugin:null}),o({TapEventPlugin:null}),o({EnterLeaveEventPlugin:null}),o({ChangeEventPlugin:null}),o({SelectEventPlugin:null}),o({BeforeInputEventPlugin:null})];e.exports=r},function(e,t,n){"use strict";var o=n(12),r=n(22),i=n(6),a=n(32),u=n(15),s=o.topLevelTypes,c={mouseEnter:{registrationName:u({onMouseEnter:null}),dependencies:[s.topMouseOut,s.topMouseOver]},mouseLeave:{registrationName:u({onMouseLeave:null}),dependencies:[s.topMouseOut,s.topMouseOver]}},l={eventTypes:c,extractEvents:function(e,t,n,o){if(e===s.topMouseOver&&(n.relatedTarget||n.fromElement))return null;if(e!==s.topMouseOut&&e!==s.topMouseOver)return null;var u;if(o.window===o)u=o;else{var l=o.ownerDocument;u=l?l.defaultView||l.parentWindow:window}var p,d;if(e===s.topMouseOut){p=t;var f=n.relatedTarget||n.toElement;d=f?i.getClosestInstanceFromNode(f):null}else p=null,d=t;if(p===d)return null;var h=null==p?u:i.getNodeFromInstance(p),m=null==d?u:i.getNodeFromInstance(d),v=a.getPooled(c.mouseLeave,p,n,o);v.type="mouseleave",v.target=h,v.relatedTarget=m;var g=a.getPooled(c.mouseEnter,d,n,o);return g.type="mouseenter",g.target=m,g.relatedTarget=h,r.accumulateEnterLeaveDispatches(v,g,p,d),[v,g]}};e.exports=l},function(e,t,n){"use strict";function o(e){this._root=e,this._startText=this.getText(),this._fallbackText=null}var r=n(5),i=n(16),a=n(86);r(o.prototype,{destructor:function(){this._root=null,this._startText=null,this._fallbackText=null},getText:function(){return"value"in this._root?this._root.value:this._root[a()]},getData:function(){if(this._fallbackText)return this._fallbackText;var e,t,n=this._startText,o=n.length,r=this.getText(),i=r.length;for(e=0;e1?1-t:void 0;return this._fallbackText=r.slice(e,u),this._fallbackText}}),i.addPoolingTo(o),e.exports=o},function(e,t,n){"use strict";var o=n(17),r=o.injection.MUST_USE_PROPERTY,i=o.injection.HAS_BOOLEAN_VALUE,a=o.injection.HAS_NUMERIC_VALUE,u=o.injection.HAS_POSITIVE_NUMERIC_VALUE,s=o.injection.HAS_OVERLOADED_BOOLEAN_VALUE,c={isCustomAttribute:RegExp.prototype.test.bind(new RegExp("^(data|aria)-["+o.ATTRIBUTE_NAME_CHAR+"]*$")),Properties:{accept:0,acceptCharset:0,accessKey:0,action:0,allowFullScreen:i,allowTransparency:0,alt:0,async:i,autoComplete:0,autoPlay:i,capture:i,cellPadding:0,cellSpacing:0,charSet:0,challenge:0,checked:r|i,cite:0,classID:0,className:0,cols:u,colSpan:0,content:0,contentEditable:0,contextMenu:0,controls:i,coords:0,crossOrigin:0,data:0,dateTime:0,"default":i,defer:i,dir:0,disabled:i,download:s,draggable:0,encType:0,form:0,formAction:0,formEncType:0,formMethod:0,formNoValidate:i,formTarget:0,frameBorder:0,headers:0,height:0,hidden:i,high:0,href:0,hrefLang:0,htmlFor:0,httpEquiv:0,icon:0,id:0,inputMode:0,integrity:0,is:0,keyParams:0,keyType:0,kind:0,label:0,lang:0,list:0,loop:i,low:0,manifest:0,marginHeight:0,marginWidth:0,max:0,maxLength:0,media:0,mediaGroup:0,method:0,min:0,minLength:0,multiple:r|i,muted:r|i,name:0,nonce:0,noValidate:i,open:i,optimum:0,pattern:0,placeholder:0,poster:0,preload:0,profile:0,radioGroup:0,readOnly:i,rel:0,required:i,reversed:i,role:0,rows:u,rowSpan:a,sandbox:0,scope:0,scoped:i,scrolling:0,seamless:i,selected:r|i,shape:0,size:u,sizes:0,span:u,spellCheck:0,src:0,srcDoc:0,srcLang:0,srcSet:0,start:a,step:0,style:0,summary:0,tabIndex:0,target:0,title:0,type:0,useMap:0,value:0,width:0,wmode:0,wrap:0,about:0,datatype:0,inlist:0,prefix:0,property:0,resource:0,"typeof":0,vocab:0,autoCapitalize:0,autoCorrect:0,autoSave:0,color:0,itemProp:0,itemScope:i,itemType:0,itemID:0,itemRef:0,results:0,security:0,unselectable:0},DOMAttributeNames:{acceptCharset:"accept-charset",className:"class",htmlFor:"for",httpEquiv:"http-equiv"},DOMPropertyNames:{}};e.exports=c},function(e,t,n){(function(t){"use strict";var o=n(5),r=n(63),i=n(65),a=n(64),u=n(124),s=n(10),c=n(79),l=n(80),p=n(170),d=n(3),f=s.createElement,h=s.createFactory,m=s.cloneElement;if("production"!==t.env.NODE_ENV){var v=n(70);f=v.createElement,h=v.createFactory,m=v.cloneElement}var g=o;if("production"!==t.env.NODE_ENV){var y=!1;g=function(){return"production"!==t.env.NODE_ENV?d(y,"React.__spread is deprecated and should not be used. Use Object.assign directly or another helper function with similar semantics. You may be seeing this warning due to your compiler. See https://fb.me/react-spread-deprecation for more details."):void 0,y=!0,o.apply(null,arguments)}}var E={Children:{map:r.map,forEach:r.forEach,count:r.count,toArray:r.toArray,only:p},Component:i,createElement:f,cloneElement:m,isValidElement:s.isValidElement,PropTypes:c,createClass:a.createClass,createFactory:h,createMixin:function(e){return e},DOM:u,version:l,__spread:g};e.exports=E}).call(t,n(1))},function(e,t,n){(function(t){"use strict";function o(e,o,r,u){var s=void 0===e[r];if("production"!==t.env.NODE_ENV){var l=n(18);"production"!==t.env.NODE_ENV?c(s,"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.%s",a.unescape(r),l.getStackAddendumByID(u)):void 0}null!=o&&s&&(e[r]=i(o,!0))}var r=n(20),i=n(87),a=n(38),u=n(51),s=n(52),c=n(3),l={instantiateChildren:function(e,n,r,i){if(null==e)return null;var a={};return"production"!==t.env.NODE_ENV?s(e,function(e,t,n){return o(e,t,n,i)},a):s(e,o,a),a},updateChildren:function(e,t,n,o,a){if(t||e){var s,c;for(s in t)if(t.hasOwnProperty(s)){c=e&&e[s];var l=c&&c._currentElement,p=t[s];if(null!=c&&u(l,p))r.receiveComponent(c,p,o,a),t[s]=c;else{c&&(n[s]=r.getHostNode(c),r.unmountComponent(c,!1));var d=i(p,!0);t[s]=d}}for(s in e)!e.hasOwnProperty(s)||t&&t.hasOwnProperty(s)||(c=e[s],n[s]=r.getHostNode(c),r.unmountComponent(c,!1))}},unmountChildren:function(e,t){for(var n in e)if(e.hasOwnProperty(n)){var o=e[n];r.unmountComponent(o,t)}}};e.exports=l}).call(t,n(1))},function(e,t,n){(function(t){"use strict";function o(e){}function r(e,n){"production"!==t.env.NODE_ENV&&("production"!==t.env.NODE_ENV?C(null===n||n===!1||d.isValidElement(n),"%s(...): A valid React element (or null) must be returned. You may have returned undefined, an array or some other invalid object.",e.displayName||e.name||"Component"):void 0,"production"!==t.env.NODE_ENV?C(!e.childContextTypes,"%s(...): childContextTypes cannot be defined on a functional component.",e.displayName||e.name||"Component"):void 0)}function i(){var e=this._instance;0!==this._debugID&&m.debugTool.onBeginLifeCycleTimer(this._debugID,"componentDidMount"),e.componentDidMount(),0!==this._debugID&&m.debugTool.onEndLifeCycleTimer(this._debugID,"componentDidMount")}function a(e,t,n){var o=this._instance;0!==this._debugID&&m.debugTool.onBeginLifeCycleTimer(this._debugID,"componentDidUpdate"),o.componentDidUpdate(e,t,n),0!==this._debugID&&m.debugTool.onEndLifeCycleTimer(this._debugID,"componentDidUpdate")}function u(e){return e.prototype&&e.prototype.isReactComponent}var s=n(4),c=n(5),l=n(40),p=n(13),d=n(10),f=n(41),h=n(23),m=n(8),v=n(77),g=n(31),y=n(20),E=n(83),b=n(26),_=n(2),N=n(51),C=n(3);o.prototype.render=function(){var e=h.get(this)._currentElement.type,t=e(this.props,this.context,this.updater);return r(e,t),t};var D=1,O={construct:function(e){this._currentElement=e,this._rootNodeID=null,this._instance=null,this._hostParent=null,this._hostContainerInfo=null,this._updateBatchNumber=null,this._pendingElement=null,this._pendingStateQueue=null,this._pendingReplaceState=!1,this._pendingForceUpdate=!1,this._renderedNodeType=null,this._renderedComponent=null,this._context=null,this._mountOrder=0,this._topLevelWrapper=null,this._pendingCallbacks=null,this._calledComponentWillUnmount=!1,"production"!==t.env.NODE_ENV&&(this._warnedAboutRefsInRender=!1)},mountComponent:function(e,n,a,c){this._context=c,this._mountOrder=D++,this._hostParent=n,this._hostContainerInfo=a;var l,p=this._currentElement.props,f=this._processContext(c),m=this._currentElement.type,v=e.getUpdateQueue(),g=this._constructComponent(p,f,v);if(u(m)||null!=g&&null!=g.render||(l=g,r(m,l),null===g||g===!1||d.isValidElement(g)?void 0:"production"!==t.env.NODE_ENV?_(!1,"%s(...): A valid React element (or null) must be returned. You may have returned undefined, an array or some other invalid object.",m.displayName||m.name||"Component"):s("105",m.displayName||m.name||"Component"),g=new o(m)),"production"!==t.env.NODE_ENV){null==g.render&&("production"!==t.env.NODE_ENV?C(!1,"%s(...): No `render` method found on the returned component instance: you may have forgotten to define `render`.",m.displayName||m.name||"Component"):void 0);var y=g.props!==p,E=m.displayName||m.name||"Component";"production"!==t.env.NODE_ENV?C(void 0===g.props||!y,"%s(...): When calling super() in `%s`, make sure to pass up the same props that your component's constructor was passed.",E,E):void 0}g.props=p,g.context=f,g.refs=b,g.updater=v,this._instance=g,h.set(g,this),"production"!==t.env.NODE_ENV&&("production"!==t.env.NODE_ENV?C(!g.getInitialState||g.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"):void 0,"production"!==t.env.NODE_ENV?C(!g.getDefaultProps||g.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"):void 0,"production"!==t.env.NODE_ENV?C(!g.propTypes,"propTypes was defined as an instance property on %s. Use a static property to define propTypes instead.",this.getName()||"a component"):void 0,"production"!==t.env.NODE_ENV?C(!g.contextTypes,"contextTypes was defined as an instance property on %s. Use a static property to define contextTypes instead.",this.getName()||"a component"):void 0,"production"!==t.env.NODE_ENV?C("function"!=typeof g.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.",this.getName()||"A component"):void 0,"production"!==t.env.NODE_ENV?C("function"!=typeof g.componentDidUnmount,"%s has a method called componentDidUnmount(). But there is no such lifecycle method. Did you mean componentWillUnmount()?",this.getName()||"A component"):void 0,"production"!==t.env.NODE_ENV?C("function"!=typeof g.componentWillRecieveProps,"%s has a method called componentWillRecieveProps(). Did you mean componentWillReceiveProps()?",this.getName()||"A component"):void 0);var N=g.state;void 0===N&&(g.state=N=null),"object"!=typeof N||Array.isArray(N)?"production"!==t.env.NODE_ENV?_(!1,"%s.state: must be set to an object or null",this.getName()||"ReactCompositeComponent"):s("106",this.getName()||"ReactCompositeComponent"):void 0,this._pendingStateQueue=null,this._pendingReplaceState=!1,this._pendingForceUpdate=!1;var O;return O=g.unstable_handleError?this.performInitialMountWithErrorHandling(l,n,a,e,c):this.performInitialMount(l,n,a,e,c),g.componentDidMount&&("production"!==t.env.NODE_ENV?e.getReactMountReady().enqueue(i,this):e.getReactMountReady().enqueue(g.componentDidMount,g)),O},_constructComponent:function(e,n,o){if("production"===t.env.NODE_ENV)return this._constructComponentWithoutOwner(e,n,o);p.current=this;try{return this._constructComponentWithoutOwner(e,n,o)}finally{p.current=null}},_constructComponentWithoutOwner:function(e,n,o){var r,i=this._currentElement.type;return u(i)?("production"!==t.env.NODE_ENV&&0!==this._debugID&&m.debugTool.onBeginLifeCycleTimer(this._debugID,"ctor"),r=new i(e,n,o),"production"!==t.env.NODE_ENV&&0!==this._debugID&&m.debugTool.onEndLifeCycleTimer(this._debugID,"ctor")):("production"!==t.env.NODE_ENV&&0!==this._debugID&&m.debugTool.onBeginLifeCycleTimer(this._debugID,"render"),r=i(e,n,o),"production"!==t.env.NODE_ENV&&0!==this._debugID&&m.debugTool.onEndLifeCycleTimer(this._debugID,"render")),r},performInitialMountWithErrorHandling:function(e,n,o,r,i){var a,u=r.checkpoint();try{a=this.performInitialMount(e,n,o,r,i)}catch(s){"production"!==t.env.NODE_ENV&&0!==this._debugID&&m.debugTool.onError(),r.rollback(u),this._instance.unstable_handleError(s),this._pendingStateQueue&&(this._instance.state=this._processPendingState(this._instance.props,this._instance.context)),u=r.checkpoint(),this._renderedComponent.unmountComponent(!0),r.rollback(u),a=this.performInitialMount(e,n,o,r,i)}return a},performInitialMount:function(e,n,o,r,i){var a=this._instance;a.componentWillMount&&("production"!==t.env.NODE_ENV&&0!==this._debugID&&m.debugTool.onBeginLifeCycleTimer(this._debugID,"componentWillMount"),a.componentWillMount(),"production"!==t.env.NODE_ENV&&0!==this._debugID&&m.debugTool.onEndLifeCycleTimer(this._debugID,"componentWillMount"),this._pendingStateQueue&&(a.state=this._processPendingState(a.props,a.context))),void 0===e&&(e=this._renderValidatedComponent());var u=v.getType(e);this._renderedNodeType=u;var s=this._instantiateReactComponent(e,u!==v.EMPTY);this._renderedComponent=s,"production"!==t.env.NODE_ENV&&0!==s._debugID&&0!==this._debugID&&m.debugTool.onSetParent(s._debugID,this._debugID);var c=y.mountComponent(s,r,n,o,this._processChildContext(i));return"production"!==t.env.NODE_ENV&&0!==this._debugID&&m.debugTool.onSetChildren(this._debugID,0!==s._debugID?[s._debugID]:[]),c},getHostNode:function(){return y.getHostNode(this._renderedComponent)},unmountComponent:function(e){if(this._renderedComponent){var n=this._instance;if(n.componentWillUnmount&&!n._calledComponentWillUnmount){if(n._calledComponentWillUnmount=!0,"production"!==t.env.NODE_ENV&&0!==this._debugID&&m.debugTool.onBeginLifeCycleTimer(this._debugID,"componentWillUnmount"),e){var o=this.getName()+".componentWillUnmount()";f.invokeGuardedCallback(o,n.componentWillUnmount.bind(n))}else n.componentWillUnmount();"production"!==t.env.NODE_ENV&&0!==this._debugID&&m.debugTool.onEndLifeCycleTimer(this._debugID,"componentWillUnmount")}this._renderedComponent&&(y.unmountComponent(this._renderedComponent,e),this._renderedNodeType=null,this._renderedComponent=null,this._instance=null),this._pendingStateQueue=null,this._pendingReplaceState=!1,this._pendingForceUpdate=!1,this._pendingCallbacks=null,this._pendingElement=null,this._context=null,this._rootNodeID=null,this._topLevelWrapper=null,h.remove(n)}},_maskContext:function(e){var t=this._currentElement.type,n=t.contextTypes;if(!n)return b;var o={};for(var r in n)o[r]=e[r];return o},_processContext:function(e){var n=this._maskContext(e);if("production"!==t.env.NODE_ENV){var o=this._currentElement.type;o.contextTypes&&this._checkContextTypes(o.contextTypes,n,g.context)}return n},_processChildContext:function(e){var n=this._currentElement.type,o=this._instance;"production"!==t.env.NODE_ENV&&m.debugTool.onBeginProcessingChildContext();var r=o.getChildContext&&o.getChildContext();if("production"!==t.env.NODE_ENV&&m.debugTool.onEndProcessingChildContext(),r){"object"!=typeof n.childContextTypes?"production"!==t.env.NODE_ENV?_(!1,"%s.getChildContext(): childContextTypes must be defined in order to use getChildContext().",this.getName()||"ReactCompositeComponent"):s("107",this.getName()||"ReactCompositeComponent"):void 0,"production"!==t.env.NODE_ENV&&this._checkContextTypes(n.childContextTypes,r,g.childContext);for(var i in r)i in n.childContextTypes?void 0:"production"!==t.env.NODE_ENV?_(!1,'%s.getChildContext(): key "%s" is not defined in childContextTypes.',this.getName()||"ReactCompositeComponent",i):s("108",this.getName()||"ReactCompositeComponent",i);return c({},e,r)}return e},_checkContextTypes:function(e,t,n){E(e,t,n,this.getName(),null,this._debugID)},receiveComponent:function(e,t,n){var o=this._currentElement,r=this._context;this._pendingElement=null,this.updateComponent(t,o,e,r,n)},performUpdateIfNecessary:function(e){null!=this._pendingElement?y.receiveComponent(this,this._pendingElement,e,this._context):null!==this._pendingStateQueue||this._pendingForceUpdate?this.updateComponent(e,this._currentElement,this._currentElement,this._context,this._context):this._updateBatchNumber=null},updateComponent:function(e,n,o,r,i){var a=this._instance;null==a?"production"!==t.env.NODE_ENV?_(!1,"Attempted to update component `%s` that has already been unmounted (or failed to mount).",this.getName()||"ReactCompositeComponent"):s("136",this.getName()||"ReactCompositeComponent"):void 0;var u,c,l=!1;this._context===i?u=a.context:(u=this._processContext(i),l=!0),c=o.props,n!==o&&(l=!0),l&&a.componentWillReceiveProps&&("production"!==t.env.NODE_ENV&&0!==this._debugID&&m.debugTool.onBeginLifeCycleTimer(this._debugID,"componentWillReceiveProps"),a.componentWillReceiveProps(c,u),"production"!==t.env.NODE_ENV&&0!==this._debugID&&m.debugTool.onEndLifeCycleTimer(this._debugID,"componentWillReceiveProps"));var p=this._processPendingState(c,u),d=!0;!this._pendingForceUpdate&&a.shouldComponentUpdate&&("production"!==t.env.NODE_ENV&&0!==this._debugID&&m.debugTool.onBeginLifeCycleTimer(this._debugID,"shouldComponentUpdate"),d=a.shouldComponentUpdate(c,p,u),"production"!==t.env.NODE_ENV&&0!==this._debugID&&m.debugTool.onEndLifeCycleTimer(this._debugID,"shouldComponentUpdate")),"production"!==t.env.NODE_ENV&&("production"!==t.env.NODE_ENV?C(void 0!==d,"%s.shouldComponentUpdate(): Returned undefined instead of a boolean value. Make sure to return true or false.",this.getName()||"ReactCompositeComponent"):void 0),this._updateBatchNumber=null,d?(this._pendingForceUpdate=!1,this._performComponentUpdate(o,c,p,u,e,i)):(this._currentElement=o,this._context=i,a.props=c,a.state=p,a.context=u)},_processPendingState:function(e,t){var n=this._instance,o=this._pendingStateQueue,r=this._pendingReplaceState;if(this._pendingReplaceState=!1,this._pendingStateQueue=null,!o)return n.state;if(r&&1===o.length)return o[0];for(var i=c({},r?o[0]:n.state),a=r?1:0;a-1&&navigator.userAgent.indexOf("Edge")===-1||navigator.userAgent.indexOf("Firefox")>-1)){var m=window.location.protocol.indexOf("http")===-1&&navigator.userAgent.indexOf("Firefox")===-1;console.debug("Download the React DevTools "+(m?"and use an HTTP server (instead of a file: URL) ":"")+"for a better development experience: https://fb.me/react-devtools")}var v=function(){};"production"!==t.env.NODE_ENV?d((v.name||v.toString()).indexOf("testFn")!==-1,"It looks like you're using a minified copy of the development build of React. When deploying React apps to production, make sure to use the production build which skips development warnings and is faster. See https://fb.me/react-minification for more details."):void 0;var g=document.documentMode&&document.documentMode<8;"production"!==t.env.NODE_ENV?d(!g,'Internet Explorer is running in compatibility mode; please add the following tag to your HTML to prevent this from happening: '):void 0;for(var y=[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],E=0;E",r(e),r(n)):void 0)}}function a(e,n){n&&(ce[e._tag]&&(null!=n.children||null!=n.dangerouslySetInnerHTML?"production"!==t.env.NODE_ENV?H(!1,"%s is a void element tag and must neither have `children` nor use `dangerouslySetInnerHTML`.%s",e._tag,e._currentElement._owner?" Check the render method of "+e._currentElement._owner.getName()+".":""):g("137",e._tag,e._currentElement._owner?" Check the render method of "+e._currentElement._owner.getName()+".":""):void 0),null!=n.dangerouslySetInnerHTML&&(null!=n.children?"production"!==t.env.NODE_ENV?H(!1,"Can only set one of `children` or `props.dangerouslySetInnerHTML`."):g("60"):void 0,"object"==typeof n.dangerouslySetInnerHTML&&te in n.dangerouslySetInnerHTML?void 0:"production"!==t.env.NODE_ENV?H(!1,"`props.dangerouslySetInnerHTML` must be in the form `{__html: ...}`. Please visit https://fb.me/react-invariant-dangerously-set-inner-html for more information."):g("61")),"production"!==t.env.NODE_ENV&&("production"!==t.env.NODE_ENV?z(null==n.innerHTML,"Directly setting property `innerHTML` is not permitted. For more information, lookup documentation on `dangerouslySetInnerHTML`."):void 0,"production"!==t.env.NODE_ENV?z(n.suppressContentEditableWarning||!n.contentEditable||null==n.children,"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."):void 0,"production"!==t.env.NODE_ENV?z(null==n.onFocusIn&&null==n.onFocusOut,"React uses onFocus and onBlur instead of onFocusIn and onFocusOut. All React events are normalized to bubble, so onFocusIn and onFocusOut are not needed/supported by React."):void 0),null!=n.style&&"object"!=typeof n.style?"production"!==t.env.NODE_ENV?H(!1,"The `style` prop expects a mapping from style properties to values, not a string. For example, style={{marginRight: spacing + 'em'}} when using JSX.%s",o(e)):g("62",o(e)):void 0)}function u(e,n,o,r){if(!(r instanceof F)){"production"!==t.env.NODE_ENV&&("production"!==t.env.NODE_ENV?z("onScroll"!==n||W("scroll",!0),"This browser doesn't support the `onScroll` event"):void 0);var i=e._hostContainerInfo,a=i._node&&i._node.nodeType===oe,u=a?i._node:i._ownerDocument;$(n,u),r.getReactMountReady().enqueue(s,{inst:e,registrationName:n,listener:o})}}function s(){var e=this;T.putListener(e.inst,e.registrationName,e.listener)}function c(){var e=this;R.postMountWrapper(e)}function l(){var e=this;A.postMountWrapper(e)}function p(){var e=this;M.postMountWrapper(e)}function d(){var e=this;e._rootNodeID?void 0:"production"!==t.env.NODE_ENV?H(!1,"Must be mounted to trap events"):g("63");var n=Q(e);switch(n?void 0:"production"!==t.env.NODE_ENV?H(!1,"trapBubbledEvent(...): Requires node to be rendered."):g("64"),e._tag){case"iframe":case"object":e._wrapperState.listeners=[x.trapBubbledEvent(O.topLevelTypes.topLoad,"load",n)];break;case"video":case"audio":e._wrapperState.listeners=[];for(var o in ae)ae.hasOwnProperty(o)&&e._wrapperState.listeners.push(x.trapBubbledEvent(O.topLevelTypes[o],ae[o],n));break;case"source":e._wrapperState.listeners=[x.trapBubbledEvent(O.topLevelTypes.topError,"error",n)];break;case"img":e._wrapperState.listeners=[x.trapBubbledEvent(O.topLevelTypes.topError,"error",n),x.trapBubbledEvent(O.topLevelTypes.topLoad,"load",n)];break;case"form":e._wrapperState.listeners=[x.trapBubbledEvent(O.topLevelTypes.topReset,"reset",n),x.trapBubbledEvent(O.topLevelTypes.topSubmit,"submit",n)];break;case"input":case"select":case"textarea":e._wrapperState.listeners=[x.trapBubbledEvent(O.topLevelTypes.topInvalid,"invalid",n)]}}function f(){V.postUpdateWrapper(this)}function h(e){de.call(pe,e)||(le.test(e)?void 0:"production"!==t.env.NODE_ENV?H(!1,"Invalid tag: %s",e):g("65",e),pe[e]=!0)}function m(e,t){return e.indexOf("-")>=0||null!=t.is}function v(e){var n=e.type;h(n),this._currentElement=e,this._tag=n.toLowerCase(),this._namespaceURI=null,this._renderedChildren=null,this._previousStyle=null,this._previousStyleCopy=null,this._hostNode=null,this._hostParent=null,
19 | this._rootNodeID=null,this._domID=null,this._hostContainerInfo=null,this._wrapperState=null,this._topLevelWrapper=null,this._flags=0,"production"!==t.env.NODE_ENV&&(this._ancestorInfo=null,ie.call(this,null))}var g=n(4),y=n(5),E=n(106),b=n(108),_=n(19),N=n(36),C=n(17),D=n(62),O=n(12),T=n(21),w=n(29),x=n(30),I=n(66),k=n(119),P=n(67),S=n(6),R=n(127),M=n(130),V=n(68),A=n(133),U=n(8),L=n(144),F=n(148),j=n(9),B=n(33),H=n(2),W=n(50),q=n(15),K=n(58),Y=n(53),z=n(3),X=P,G=T.deleteListener,Q=S.getNodeFromInstance,$=x.listenTo,J=w.registrationNameModules,Z={string:!0,number:!0},ee=q({style:null}),te=q({__html:null}),ne={children:null,dangerouslySetInnerHTML:null,suppressContentEditableWarning:null},oe=11,re={},ie=j;"production"!==t.env.NODE_ENV&&(ie=function(e){var t=null!=this._contentDebugID,n=this._debugID,o=n+"#text";if(null==e)return t&&U.debugTool.onUnmountComponent(this._contentDebugID),void(this._contentDebugID=null);this._contentDebugID=o;var r=""+e;U.debugTool.onSetDisplayName(o,"#text"),U.debugTool.onSetParent(o,n),U.debugTool.onSetText(o,r),t?(U.debugTool.onBeforeUpdateComponent(o,e),U.debugTool.onUpdateComponent(o)):(U.debugTool.onBeforeMountComponent(o,e),U.debugTool.onMountComponent(o),U.debugTool.onSetChildren(n,[o]))});var ae={topAbort:"abort",topCanPlay:"canplay",topCanPlayThrough:"canplaythrough",topDurationChange:"durationchange",topEmptied:"emptied",topEncrypted:"encrypted",topEnded:"ended",topError:"error",topLoadedData:"loadeddata",topLoadedMetadata:"loadedmetadata",topLoadStart:"loadstart",topPause:"pause",topPlay:"play",topPlaying:"playing",topProgress:"progress",topRateChange:"ratechange",topSeeked:"seeked",topSeeking:"seeking",topStalled:"stalled",topSuspend:"suspend",topTimeUpdate:"timeupdate",topVolumeChange:"volumechange",topWaiting:"waiting"},ue={area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0},se={listing:!0,pre:!0,textarea:!0},ce=y({menuitem:!0},ue),le=/^[a-zA-Z][a-zA-Z:_\.\-\d]*$/,pe={},de={}.hasOwnProperty,fe=1;v.displayName="ReactDOMComponent",v.Mixin={mountComponent:function(e,n,o,r){this._rootNodeID=fe++,this._domID=o._idCounter++,this._hostParent=n,this._hostContainerInfo=o;var i=this._currentElement.props;switch(this._tag){case"audio":case"form":case"iframe":case"img":case"link":case"object":case"source":case"video":this._wrapperState={listeners:null},e.getReactMountReady().enqueue(d,this);break;case"button":i=k.getHostProps(this,i,n);break;case"input":R.mountWrapper(this,i,n),i=R.getHostProps(this,i),e.getReactMountReady().enqueue(d,this);break;case"option":M.mountWrapper(this,i,n),i=M.getHostProps(this,i);break;case"select":V.mountWrapper(this,i,n),i=V.getHostProps(this,i),e.getReactMountReady().enqueue(d,this);break;case"textarea":A.mountWrapper(this,i,n),i=A.getHostProps(this,i),e.getReactMountReady().enqueue(d,this)}a(this,i);var u,s;if(null!=n?(u=n._namespaceURI,s=n._tag):o._tag&&(u=o._namespaceURI,s=o._tag),(null==u||u===N.svg&&"foreignobject"===s)&&(u=N.html),u===N.html&&("svg"===this._tag?u=N.svg:"math"===this._tag&&(u=N.mathml)),this._namespaceURI=u,"production"!==t.env.NODE_ENV){var f;null!=n?f=n._ancestorInfo:o._tag&&(f=o._ancestorInfo),f&&Y(this._tag,this,f),this._ancestorInfo=Y.updatedAncestorInfo(f,this._tag,this)}var h;if(e.useCreateElement){var m,v=o._ownerDocument;if(u===N.html)if("script"===this._tag){var g=v.createElement("div"),y=this._currentElement.type;g.innerHTML="<"+y+">"+y+">",m=g.removeChild(g.firstChild)}else m=i.is?v.createElement(this._currentElement.type,i.is):v.createElement(this._currentElement.type);else m=v.createElementNS(u,this._currentElement.type);S.precacheNode(this,m),this._flags|=X.hasCachedChildNodes,this._hostParent||D.setAttributeForRoot(m),this._updateDOMProperties(null,i,e);var b=_(m);this._createInitialChildren(e,i,r,b),h=b}else{var C=this._createOpenTagMarkupAndPutListeners(e,i),O=this._createContentMarkup(e,i,r);h=!O&&ue[this._tag]?C+"/>":C+">"+O+""+this._currentElement.type+">"}switch(this._tag){case"input":e.getReactMountReady().enqueue(c,this),i.autoFocus&&e.getReactMountReady().enqueue(E.focusDOMComponent,this);break;case"textarea":e.getReactMountReady().enqueue(l,this),i.autoFocus&&e.getReactMountReady().enqueue(E.focusDOMComponent,this);break;case"select":i.autoFocus&&e.getReactMountReady().enqueue(E.focusDOMComponent,this);break;case"button":i.autoFocus&&e.getReactMountReady().enqueue(E.focusDOMComponent,this);break;case"option":e.getReactMountReady().enqueue(p,this)}return h},_createOpenTagMarkupAndPutListeners:function(e,n){var o="<"+this._currentElement.type;for(var r in n)if(n.hasOwnProperty(r)){var i=n[r];if(null!=i)if(J.hasOwnProperty(r))i&&u(this,r,i,e);else{r===ee&&(i&&("production"!==t.env.NODE_ENV&&(this._previousStyle=i),i=this._previousStyleCopy=y({},n.style)),i=b.createMarkupForStyles(i,this));var a=null;null!=this._tag&&m(this._tag,n)?ne.hasOwnProperty(r)||(a=D.createMarkupForCustomAttribute(r,i)):a=D.createMarkupForProperty(r,i),a&&(o+=" "+a)}}return e.renderToStaticMarkup?o:(this._hostParent||(o+=" "+D.createMarkupForRoot()),o+=" "+D.createMarkupForID(this._domID))},_createContentMarkup:function(e,n,o){var r="",i=n.dangerouslySetInnerHTML;if(null!=i)null!=i.__html&&(r=i.__html);else{var a=Z[typeof n.children]?n.children:null,u=null!=a?null:n.children;if(null!=a)r=B(a),"production"!==t.env.NODE_ENV&&ie.call(this,a);else if(null!=u){var s=this.mountChildren(u,e,o);r=s.join("")}}return se[this._tag]&&"\n"===r.charAt(0)?"\n"+r:r},_createInitialChildren:function(e,n,o,r){var i=n.dangerouslySetInnerHTML;if(null!=i)null!=i.__html&&_.queueHTML(r,i.__html);else{var a=Z[typeof n.children]?n.children:null,u=null!=a?null:n.children;if(null!=a)"production"!==t.env.NODE_ENV&&ie.call(this,a),_.queueText(r,a);else if(null!=u)for(var s=this.mountChildren(u,e,o),c=0;c tried to unmount. Because of cross-browser quirks it is impossible to unmount some top-level components (eg , , and ) reliably and efficiently. To fix this, have a single top-level component that never unmounts render these elements.",this._tag):g("66",this._tag)}this.unmountChildren(e),S.uncacheNode(this),T.deleteAllListeners(this),I.unmountIDFromEnvironment(this._rootNodeID),this._rootNodeID=null,this._domID=null,this._wrapperState=null,"production"!==t.env.NODE_ENV&&ie.call(this,null)},getPublicInstance:function(){return Q(this)}},y(v.prototype,v.Mixin,L.Mixin),e.exports=v}).call(t,n(1))},function(e,t,n){(function(t){"use strict";function o(e,n){var o={_topLevelWrapper:e,_idCounter:1,_ownerDocument:n?n.nodeType===i?n:n.ownerDocument:null,_node:n,_tag:n?n.nodeName.toLowerCase():null,_namespaceURI:n?n.namespaceURI:null};return"production"!==t.env.NODE_ENV&&(o._ancestorInfo=n?r.updatedAncestorInfo(null,o._tag,null):null),o}var r=n(53),i=9;e.exports=o}).call(t,n(1))},function(e,t,n){(function(t){"use strict";function o(e,n,o,r,i,a){s.forEach(function(s){try{s[e]&&s[e](n,o,r,i,a)}catch(l){"production"!==t.env.NODE_ENV?u(c[e],"exception thrown by devtool while handling %s: %s",e,l+"\n"+l.stack):void 0,c[e]=!0}})}var r=n(129),i=n(135),a=n(69),u=n(3),s=[],c={},l={addDevtool:function(e){a.addDevtool(e),s.push(e)},removeDevtool:function(e){a.removeDevtool(e);for(var t=0;t"},receiveComponent:function(){},getHostNode:function(){return i.getNodeFromInstance(this)},unmountComponent:function(){i.uncacheNode(this)}}),e.exports=a},function(e,t,n){(function(t){"use strict";function o(e){if("production"!==t.env.NODE_ENV){var o=n(70);return o.createFactory(e)}return r.createFactory(e)}var r=n(10),i=n(102),a=i({a:"a",abbr:"abbr",address:"address",area:"area",article:"article",aside:"aside",audio:"audio",b:"b",base:"base",bdi:"bdi",bdo:"bdo",big:"big",blockquote:"blockquote",body:"body",br:"br",button:"button",canvas:"canvas",caption:"caption",cite:"cite",code:"code",col:"col",colgroup:"colgroup",data:"data",datalist:"datalist",dd:"dd",del:"del",details:"details",dfn:"dfn",dialog:"dialog",div:"div",dl:"dl",dt:"dt",em:"em",embed:"embed",fieldset:"fieldset",figcaption:"figcaption",figure:"figure",footer:"footer",form:"form",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",h6:"h6",head:"head",header:"header",hgroup:"hgroup",hr:"hr",html:"html",i:"i",iframe:"iframe",img:"img",input:"input",ins:"ins",kbd:"kbd",keygen:"keygen",label:"label",legend:"legend",li:"li",link:"link",main:"main",map:"map",mark:"mark",menu:"menu",menuitem:"menuitem",meta:"meta",meter:"meter",nav:"nav",noscript:"noscript",object:"object",ol:"ol",optgroup:"optgroup",option:"option",output:"output",p:"p",param:"param",picture:"picture",pre:"pre",progress:"progress",q:"q",rp:"rp",rt:"rt",ruby:"ruby",s:"s",samp:"samp",script:"script",section:"section",select:"select",small:"small",source:"source",span:"span",strong:"strong",style:"style",sub:"sub",summary:"summary",sup:"sup",table:"table",tbody:"tbody",td:"td",textarea:"textarea",tfoot:"tfoot",th:"th",thead:"thead",time:"time",title:"title",tr:"tr",track:"track",u:"u",ul:"ul","var":"var",video:"video",wbr:"wbr",circle:"circle",clipPath:"clipPath",defs:"defs",ellipse:"ellipse",g:"g",image:"image",line:"line",linearGradient:"linearGradient",mask:"mask",path:"path",pattern:"pattern",polygon:"polygon",polyline:"polyline",radialGradient:"radialGradient",rect:"rect",stop:"stop",svg:"svg",text:"text",tspan:"tspan"},o);e.exports=a}).call(t,n(1))},function(e,t){"use strict";var n={useCreateElement:!0};e.exports=n},function(e,t,n){"use strict";var o=n(35),r=n(6),i={dangerouslyProcessChildrenUpdates:function(e,t){var n=r.getNodeFromInstance(e);o.processUpdates(n,t)}};e.exports=i},function(e,t,n){(function(t){"use strict";function o(){this._rootNodeID&&_.updateWrapper(this)}function r(e){var t="checkbox"===e.type||"radio"===e.type;return t?void 0!==e.checked:void 0!==e.value}function i(e){var n=this._currentElement.props,r=l.executeOnChange(n,e);d.asap(o,this);var i=n.name;if("radio"===n.type&&null!=i){for(var u=p.getNodeFromInstance(this),s=u;s.parentNode;)s=s.parentNode;for(var c=s.querySelectorAll("input[name="+JSON.stringify(""+i)+'][type="radio"]'),h=0;h children."):void 0))}),n}var r=n(5),i=n(63),a=n(6),u=n(68),s=n(3),c=!1,l={mountWrapper:function(e,n,r){"production"!==t.env.NODE_ENV&&("production"!==t.env.NODE_ENV?s(null==n.selected,"Use the `defaultValue` or `value` props on instead of setting `selected` on ."):void 0);var i=null;if(null!=r){var a=r;"optgroup"===a._tag&&(a=a._hostParent),null!=a&&"select"===a._tag&&(i=u.getSelectValueContext(a))}var c=null;if(null!=i){var l;if(l=null!=n.value?n.value+"":o(n.children),c=!1,Array.isArray(i)){for(var p=0;pt.end?(n=t.end,o=t.start):(n=t.start,o=t.end),r.moveToElementText(e),r.moveStart("character",n),r.setEndPoint("EndToStart",r),r.moveEnd("character",o-n),r.select()}function u(e,t){if(window.getSelection){var n=window.getSelection(),o=e[l()].length,r=Math.min(t.start,o),i=void 0===t.end?r:Math.min(t.end,o);if(!n.extend&&r>i){var a=i;i=r,r=a}var u=c(e,r),s=c(e,i);if(u&&s){var p=document.createRange();p.setStart(u.node,u.offset),n.removeAllRanges(),r>i?(n.addRange(p),n.extend(s.node,s.offset)):(p.setEnd(s.node,s.offset),n.addRange(p))}}}var s=n(7),c=n(168),l=n(86),p=s.canUseDOM&&"selection"in document&&!("getSelection"in window),d={getOffsets:p?r:i,setOffsets:p?a:u};e.exports=d},function(e,t,n){(function(t){"use strict";var o=n(4),r=n(5),i=n(35),a=n(19),u=n(6),s=n(8),c=n(33),l=n(2),p=n(53),d=function(e){this._currentElement=e,this._stringText=""+e,this._hostNode=null,this._hostParent=null,this._domID=null,this._mountIndex=0,this._closingComment=null,this._commentNodes=null};r(d.prototype,{mountComponent:function(e,n,o,r){if("production"!==t.env.NODE_ENV){s.debugTool.onSetText(this._debugID,this._stringText);var i;null!=n?i=n._ancestorInfo:null!=o&&(i=o._ancestorInfo),i&&p("#text",this,i)}var l=o._idCounter++,d=" react-text: "+l+" ",f=" /react-text ";if(this._domID=l,this._hostParent=n,e.useCreateElement){var h=o._ownerDocument,m=h.createComment(d),v=h.createComment(f),g=a(h.createDocumentFragment());return a.queueChild(g,a(m)),this._stringText&&a.queueChild(g,a(h.createTextNode(this._stringText))),a.queueChild(g,a(v)),u.precacheNode(this,m),this._closingComment=v,g}var y=c(this._stringText);return e.renderToStaticMarkup?y:""+y+""},receiveComponent:function(e,n){if(e!==this._currentElement){this._currentElement=e;var o=""+e;if(o!==this._stringText){this._stringText=o;var r=this.getHostNode();i.replaceDelimitedText(r[0],r[1],o),"production"!==t.env.NODE_ENV&&s.debugTool.onSetText(this._debugID,o)}}},getHostNode:function(){var e=this._commentNodes;if(e)return e;if(!this._closingComment)for(var n=u.getNodeFromInstance(this),r=n.nextSibling;;){if(null==r?"production"!==t.env.NODE_ENV?l(!1,"Missing closing comment for text component %s",this._domID):o("67",this._domID):void 0,8===r.nodeType&&" /react-text "===r.nodeValue){this._closingComment=r;break}r=r.nextSibling}return e=[this._hostNode,this._closingComment],this._commentNodes=e,e},unmountComponent:function(){this._closingComment=null,this._commentNodes=null,u.uncacheNode(this)}}),e.exports=d}).call(t,n(1))},function(e,t,n){(function(t){"use strict";function o(){this._rootNodeID&&m.updateWrapper(this)}function r(e){var t=this._currentElement.props,n=s.executeOnChange(t,e);return l.asap(o,this),n}var i=n(4),a=n(5),u=n(28),s=n(39),c=n(6),l=n(11),p=n(2),d=n(3),f=!1,h=!1,m={getHostProps:function(e,n){null!=n.dangerouslySetInnerHTML?"production"!==t.env.NODE_ENV?p(!1,"`dangerouslySetInnerHTML` does not make sense on